COPYRIGHT (C) 1984-2024 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES ALL
=========================MEMBER=CHANGE42================================
/* COPYRIGHT (C) 1984-2024 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG VERSION 42.03 is dated Sep 15, 2024, thru Change 42.072
MXG VERSION 42.02 was dated Jun 22, 2024, thru Change 42.048.
MXG VERSION 42.01 was dated Mar 15, 2024, thru Change 42.022.
ANNUAL MXG VERSION 41.41 was dated Jan 10, 2024, thru Change 41.122.
New TECHNOTES previously in NEWSLTRS are now in CHANGESS.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 42.03' is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 42.03'.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains old Technical Notes. many of which are still
valid, but the last was in 2018. Now, TECHNOTES and FLASHes are in
CHANGES/CHANGESS. which are also online.
Member CHANGES contains the changes made in this current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
CHANGESS and NEWSLTRS are also online at http://www.mxg.com,
========================================================================
I. MXG VERSION 42.03 DATED Sep 15, 2024, THRU CHANGE 42.072
==MAJOR CHANGES ADDED IN MXG 42.03, DATED Sep 15, 2024 THRU 42.072.====
ERRORS CORRECTED
VMACRMFV 42.069 z/.OS 3.1 ERROR Array Subscript out of range.
VMAC80A 42.052 TYPE80A INPUT EXCEEDED, long TOKXUGROUPS.field.
VMAC119 42.049 Support for TYP11938 Subtype 38 dataset EXCEEDED.
VMAC102 42.054 SMF 102 IFCID 196 misaligned, IBM stored zero.
VMAC119 42.071 Correction to dataset TYP11906 & TYP11945 variables.
VMAC119 42.065 Only first segment SMF 119 Subtype 44 was output.
NEW SUPPORT
VMAC113 42.064 IBM changed z/16 RNI coeff from 4.3 to 4.2
VMAC7072 42.070 Support for Martin Packers Home Address blog post.
VMAC122A 42.037 Support SMF 122 Subtype 2 IBM Dependency.
VMAC1415 42.063 z/OS 3.1 new variables in TYPE1415.
VMAC30 42.062 Variables IOUNITS IOCOEFF MSOUNITS MSOCOEFF zeroed.
ENHANCEMENT
==MAJOR CHANGES ADDED IN MXG 42.02, DATED Jun 22, 2024 THRU 42.048.====
ERRORS CORRECTED
VMXG70PR 42.048 OBS count wrong in ASUMCEC, MSUHR Values wrong.
VMAC102 42.041 TYPE102 IFCID 365 INPUT EXCEEDED REDORD LENGTH.
VMAC82 42.042 CPU LOOP with SMF 82 SUBTYPE 40.SMF82_Tag increased
NEW SUPPORT
VMAC119 42.047 Support for new variables in TYP11912 TLS.
VMAC102 42.037 Support for new ZPARMS in T102S106
VMAC80A 42.025 Support for RACF APAR OA61951 PHRASEINT.
VMAC99 42.022 Support for APAR OA65652 new variables TYPE99Q2.
VMAC122A 42.037 Support SMF 122 Subtype 2 IBM Dependency.
VMAC80A 42.025 Support for APAR OA61951 RACF PHRASEINT
VMAC80A 42.038 Support for new Tokens TOKDBV2 and TOKOWNERS
ENHANCEMENT
VMAC119 42.045 ZERT TYP11912DN missing observations
==MAJOR CHANGES ADDED IN MXG 42.01, DATED MAR 15, 2024 THRU 42.022.====
ERRORS CORRECTED
VMAC102 42.001 Records with QWHSNSDA GT 4 had missing values.
UCICSCNT 42.002 Utility INPUT STATEMENT EXCEEDED CICS subtype 2.
VMAC102 42.001 Many Missing Values in Many TYPE102 datasets.
VMAC102 42.013 DB2 SMF 102 IFCID 172 INPUT EXCEEDED LENGTH ZERO
VMAC102 42.019 DB2 SMF 102 IFCID 365 INPUT EXCEEDED LENGTH ZERO
VMAC112 42.006 Omegamon for CICS ONDV SUPRA INPUT EXCEEDED.
VMAC119 42.017 ZERT SMF 119 Subtype 12 TYP1192SUM corrections
CICSIFUE 42.020 CICSIFUE Decompression U4038LE Abend with WPS.
ENHANCEMENT
ANAL115 42.004 Major overhaul of report/analyusis member for MQ.
VMAC30 42.008 Support for APAR OA65055 TYPE30 JAVA CPU ZIP SU
VMAC99 42.009 Support for APAR OA65055 TYPE99SL JAVA CPU ZIP SU
VMAC99 42.022 Support for APAR OA65652 SMF 99 Subtype 2
VMACRACF 42.016 Support for RACF IRRDBU00 RACTYPE=0161 records.
VMXGSUM 42.007 New Parameter NOMXGECHO suppress print of parms.
========================================================================
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M8 (9.4M8),
"M8", or with options VERSIONLONG;
"SAS 9.4 (9.04.01M8P080520)" on z/OS
9.4 (TS04.01M8P08052020)" on ASCII.
SAS V9.4 M8 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.
SAS V9.4.M7 and M8 for ASCII executiion require SAS HOT FIX 69871.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.128 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL B support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 causes JCLTEST9/TESSOTHR to ABEND, TOO MANY ARGUMENTS
FOR COUNTW() requires SAS Version 9.2 so 9.1.3 can NOT
safely be used for MXG. See CHANGE 41.046, Jun 21, 2023.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But CONFIMXG is required for sites with NLS issues, and you must
use JCLCONFI to create/update the MXG.FORMATS catalog if you use
CONFIG='MXG.SOURCLIB(CONFIMXG)'.
For no NLS, you can use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 42.03 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 was STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 4.04 (04.04.01.00.005305 has been tested.
DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
Error was introduced in 4.03.01 and 4.04.00. See Change 39.171.
Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/
WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
WPS Version 4.0 reportedly fixed version 3 problems.
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
-Support for z/16 processor data.
MXG 38.07 or later is needed, but 40.01 will ABEND, see below
SMF: Only SMF 113 records were incompatibly changed, but there is no
execution error as only counter labels and values were changed,
causing coefficients for the calculated variables (RMI,etc) to
also be changed and default coefficients are changed to z/16,
You should use separate SAS steps for each processor type; MXG
will OUTPUT only the processor type you requested in //SYSIN,
and will skip other processor type records, so you do NOT need
to pre-process SMF records to select processor type. You will
want to rename one pair of datasets if you want to put them in
the same PDB Data Library.
For z/15 you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA11F %
%INCLUDE SOURCLIB(TYPS113,ASUM113);
and for z/16 you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA11G %
%INCLUDE SOURCLIB(TYPS113,ASUM113);
to get correct values in TYPE1131 and ASUM1131 datasets.
MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
40.03 for zVM.
MXG 40.01 will ABEND due to a TYPE30 error exposed by the z/16.
with z/OS 2.5 or APAR OA61511. You can correct by changing the
line 1812 in VMAC30 from 192 to 220, or ask support for the
current VMAC30 member with Change 40.050.
Many other SMF and Data Gatherer records were updated in 40.04.
RMF ASMRMFV processes RMF III data with no errors, Change 40.068
added some new fields. New DNG3 table support was in 40.05.
-Support for z/15 processor data.
The z/15 and z/15 T02 processors INCOMPATIBLY changed the SMF 113
records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
Support for counter changes for both models was in MXG 37.08.
If you use MIPS in reports, the format $MGRMIPS provides the
MIPS/MSU value for each processor; the z15 values were updated
in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
GRAFWRKX and TYPERMFV (RMF III).
The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs. Change 38.048.
The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
(which are written if you have zIIP engines AND have enabled the new
PROCVIEW CORE option for Multi-Threading, even if only one thread is
enabled).
SMF Back Levels: MXG 37.08 or later is required for both z15 & z/16
SMF 113 change, but those back level versions could fail due
to other records changed by subsystem updates you made for the
z/16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
exist when that back=level was created..
The new zEDC/EADM compression hardware requires MXG 38.05 to support
new metrics.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166 37.07.
z/OS 2.4 Compatible from SMF Manual May 2020 38.105 38.05.
z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075 39.03.
z/OS 2.4 Compatible RMF III PGMR Apr 1 2021 39.074 39.03.
z/OS 2.5 Compatible from SMF Aug 12,2021 39.06.
z/OS 2.5 Compatible RMF III Aug 12,2021 39.08.
z/OS 2.5 RMF III 4 new tables Aug 12,2021 39.08.
z/OS 2.5 Protects Possible New 72.3 fields (40.078) 40.04.
z/OS 3.1 Support in MXG 39.08 New vars in 41.05 CH 41.092.
z/OS 3.1 Support is in MXG 41.05+ :
Change 41.092 Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2 We and several customers have tested z/OS 3.1 records
VMAC30 with back levels of MXG that support z/OS 2.5 (39.08)
VMAC7072 with no errors reported, and we expect no issues.
VMAC79 Change 41.096 added the new AI data in TYPE99 and
Oct 26, 2023 there were other APARs in 3.1, but we expect no issues.
New variables were added, see Change 41.092 full text.
This change was in MXG 41.05.
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
z15 New SMF 113 fields INCOMPAT Nov 18, 2020 37.08
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
z15 ANAL9914 Support CH 39.006 Jan 14, 2021 39.01
z/16 NEW SMF113 values, NO ABEND See CHANGE 40.070 40.03
z/16 MXG 38.07 OR LATER IS NEEDED. 38.07
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS/TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS/TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS/TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS/TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS/TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS/TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS/TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS/TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS/TS 3.2 Compressed Records Nov 3, 2007 25.11
CICS/TS 4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS/TS 4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS/TS 4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS/TS 4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS/TS 4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS/TS 5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS/TS 5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS/TS 5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS/TS 5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS/TS 5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS/TS 5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS/TS 5.3 GA date Dec 11, 2015 33.33
CICS/TS 5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS/TS 5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS/TS 5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS/TS 5.4 GA Jun 17, 2017 35.03
CICS/TS 5.5 GA (INCOMPAT) Jan 29, 2018 36.11
CICS/TS 5.6 GA (INCOMPAT) Jun 1, 2020 38.07
CICS/TS 5.6 NEW DATA (COMPAT) Oct 5, 2020 38.09
CICS/TS 6.1 ONE NEW (INCOMPAT) Jan 11, 2020 40.01
CICS/TS 6.1 ONE NEW (INCOMPAT) Sep 20, 2020 40.02
CICS/TS 6.1 UTILEXCL/IMACEXCL OK Aug 15, 2022 40.05
CICS/TS 6.1 VMAC110 NO IMACEXCL May 31, 2023 41.02
CICS/TS 6.2 INCOMPATIBLE BETA16 Sep 20, 2023 41.04
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DB2 13.1 NEW DATA NO ERRORS Jan 2017 40.40
DB2 13.1 IDAA/NETEZZZ ONLY ABEND Mar 19, 2013 41.01
DB2 13.1 ABEND 41.06/41.41 102 Jan 12, 2024 42.01
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
z/VM 6.40061802 ABEND Jan 22, 2019 37.02
z/VM 7.1 INCOMPAT ABEND Feb 14, 2019 37.02
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
IMS log 15.4 NO CHANGES Mar 1, 2018 35.07
IMS log 15.4 Minor Chg 42.033 May 8, 2024 42.02
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA-BROADCOM
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2, 5.3, 5.4 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 42.03.
1. Incompatibilities introduced in MXG 42.03:
a. Changes in MXG architecture made between 42.03 and prior versions
that can introduce known incompatibilities.
IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
The error before this correction will be:
ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 42.03:
Dataset/
Member Change Description
ANAL115 42.004 Major overhaul of report/analyusis member for MQ.
BUILDPDB 42.021 New variable MAXWKSET MAXIMUM*WORKING*SET added.
CICSIFUE 42.020 CICSIFUE Decompression U4038LE Abend with WPS.
UCICSCNT 42.002 Utility INPUT STATEMENT EXCEEDED CICS subtype 2.
VMAC102 42.001 Many Missing Values in Many TYPE102 datasets.
VMAC102 42.013 DB2 SMF 102 IFCID 172 INPUT EXCEEDED LENGTH ZERO
VMAC102 42.019 DB2 SMF 102 IFCID 365 INPUT EXCEEDED LENGTH ZERO
VMAC102 42.037 Support for new ZPARMS in T102S106
VMAC102 42.041 TYPE102 IFCID 365 INPUT EXCEEDED REDORD LENGTH.
VMAC112 42.006 Omegamon for CICS ONDV SUPRA INPUT EXCEEDED.
VMAC119 42.017 ZERT SMF 119 Subtype 12 TYP1192SUM corrections
VMAC119 42.045 ZERT TYP11912DN missing observations
VMAC122A 42.037 Support SMF 122 Subtype 2 IBM Dependency.
VMAC80A 42.025 Support for APAR OA61951 RACF PHRASEINT
VMAC80A 42.038 Support for new Tokens TOKDBV2 and TOKOWNERS
VMAC82 42.042 CPU LOOP with SMF 82 SUBTYPE 40.SMF82_Tag increased
VMAC30 42.008 Support for APAR OA65055 TYPE30 JAVA CPU ZIP SU
VMAC99 42.009 Support for APAR OA65055 TYPE99SL JAVA CPU ZIP SU
VMAC99 42.022 Support for APAR OA65652 SMF 99 Subtype 2
VMACRACF 42.016 Support for RACF IRRDBU00 RACTYPE=0161 records.
VMXG70PR 42.048 OBS count wrong in ASUMCEC, MSU Values wrong.
VMXGSUM 42.007 New Parameter NOMXGECHO suppress print of parms.
VMAC119 42.071 Correction to dataset TYP11906 & TYP11945 variables.
VMAC7072 42.070 Support for MartinPackers Home Address blog post.
VMACRMFV 42.069 z/.OS 3.1 ERROR Array Subscript out of range.
VMAC119 42.049 Support for TYP11938 Subtype 38 dataset EXCEEDED.
VMAC119 42.065 Only first segment SMF 119 Subtype 44 was output.
VMAC113 42.064 IBM changed z/16 RNI coeff from 4.3 to 4.2
VMAC1415 42.063 z/OS 3.1 new variables in TYPE1415.
VMAC30 42.062 Variables IOUNITS IOCOEFF MSOUNITS MSOCOEFF zeroed.
VMAC102 42.054 SMF 102 IFCID 196 misaligned, IBM stored zero.
VMAC80A 42.052 TYPE80A INPUT EXCEEDED, long TOKXUGROUPS.field.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at https://www.mxg.com.
Inverse chronological list of all Changes in MXG Version 42.03
NEXTCHANGE:
====== CHANGES THRU 42.072 ARE IN MXG 42.03 DATED Sep 15, 2024 =========
Change 42.072 You can now send MQ data to a separate database with
BLDSMPDB different numbers of pseudo-GDGs on ASCII.
VMXGALOC To use you must either use the reroutex options in
Sep 13, 2024 BLDSMPDB or override the _L****** macro in MACKEEP.
Change 42.071 -Dataset TYP11906 variables IFINBITRT/IFOUBITRT/IFBITRATE
VMAC119 could have missing values because they were calculated
Sep 6, 2024 before DURATM had been correctly populated from IFDURTM.
-Dataset TYP11945 variable DM_ISDURATION incorrectly input
as datetime instead of duration.
Thanks to Karl Lasecki,CAS, USA.
Change 42.070 -Support for Martin Packer's RMF Processing Home Address
VMAC7072 Fields in his blog https://mainframeperformancetopics.com
VMAC74 /2024/06/14/engineering-part-7-rmf-processor-home-address
Aug 31, 2024 fields/
-Dataset TYPE74CF from SMF 74 Subtype 4 Segment PO:
Labels added for CFPBGS01-16 and CFPCCT01-16.
Numeric variables CFPTLE01-16 are set to missing values;
they were incorrectly created as numeric variables and
are replaced by $HEX32 Character variables CFPTLECH01-16.
-Dataset TYPE70PR from SMF 70 Logical Processor Section
Labels for SMF70CORTn (which should have been SMF70CORDn)
provide additional decoding of their contents.
SMF70CORT1='DISPATCH*LOC*TOPO NESTING*LEVEL1*ZERO'
SMF70CORT2='DISPATCH*LOC*TOPO NESTING*LEVEL2*CHIP'
SMF70CORT3='DISPATCH*LOC*TOPO NESTING*LEVEL3*DCM'
SMF70CORT4='DISPATCH*LOC*TOPO NESTING*LEVEL4*DRAWER'
SMF70CORT5='DISPATCH*LOC*TOPO NESTING*LEVEL5*ZERO'
SMF70CORT6='DISPATCH*LOC*TOPO NESTING*LEVEL6*ZERO'
Format MG070NL for SMF70MAXNL='MAXIMUM*TOPOLOGY*NESTING'
decodes these values:
0='0:NO INFORMATION'
1='1:NO NESTING STRUCTURE'
2='2:NESTING LEVELS AVAILABLE'
3='3:NESTING LEVELS AVAILABLE'
4='4:NESTING LEVELS AVAILABLE'
5='5:NESTING LEVELS AVAILABLE'
6='6:NESTING LEVELS AVAILABLE'
Thanks to Martin Packer,IBM, UK.
Change 42.069 VMACRMFV experiencing two issues with zoS 3.1
VMACRMFV -ERROR: Array subscript out of range at line 22512
Sug 22, 2024 -Incorrect navigation to service/report class data zos 3.1
Failing instruction (ACTTIME=RTSTHR) occurs when all
buckets in RCDDEN are zero and the DO loop sweeping the
array exits with the implied array element pointer left
at 15 (beyond the array boundary).
With 3.1 the Resource collection data entry added
RCDSRVFLG and a two byte reserved field that triggered
mis-aligning the class data input statement. Navigation
to the class data now makes use of the RCDSCOF/RCDRCOF
plus RCDCLX fields to locate the class data.
Thanks to Kurt Gramling, TSYS, USA.
Change 42.068 Variable RACF263 path name has been increased to maximum
VMAC80a length 1024 from the arbitrary length 255 definition of
Aug 21, 2024 the pathname.
Thanks to David Obernoder, DATEV eG, GERMANY.
Change 42.067 -Corrections/additions in TYP11938 Subtype 38 dataset.
VMAC119 Only first segment was outputis corrected.
Aug 17, 2024 Variable DM_LSDURATION formatted TIME12.2..
Variable DM_LSPNETID was not Kept.
Two new variables added.
DM_LSRMTHOSTNAME.
DM_LSEID ='SMC-D*ENTERISE*ID*EID'
Variables input as $CHAR format $HEX corrections
DM_LSLCLGID DM_LSRMTGID $HEX16.
Thanks to Karl Lasecki,CAS, USA.
Change 42.066 The label for IECZSTC3='ZSORT*PH1*TCB TIME is corrected
VMAC16 to 'ZSORT*PH3*TCB TIME'.
Aug 5, 2024
Thanks to John Donoghue, AIB, IRELAND>
Change 42.065 Only the first segment of SMF 119 Subtype 44 was output..
VMAC119
Aug 5, 2024
Thanks to Svend Zaunick, F-I, GERMANY.
Thanks to Fynn Schoelzel, F-I, GERMANY.
Change 42.064 IBM Changed the z/16 coefficient for RNI from 4.3 to 4.1.
ASUM113 Doc is at https://www.ibm.com/support/pages/node/6354583.
VMAC113
Aug 5, 2024
Thanks to John Burg, IBM, USA.
Change 42.063 Updates in z/OS 3.1 SMF Manual dated Jul 23, 2024;
TYPE1415 -TYPE1415 new variables
Jul 29, 2024 DSENCRYP='DSENCRYP*TOK'
DSENHKEY='DSENCARC*HKEY'
DSENCREJ='DSENCREJ'
-TYPE99Q2 Support for APAR OA65652 added by Change 42.022.
Change 42.062 Variables IOUNITS IOCOEFF MSOUNITS MSOCOEFF are zero.in
TYPE30 TYPE30xx and TYPE72GO datasets starting in z/OS 2.5/3.1.
TYPE7072 IBM fields R723CIOC R723MIOC R723CMSO R723MMSO are listed
Jul 29, 2024 "always zero" in the SMF Manual for 2.5 dated May 24,2022
and SMF03LOC SMF30MSC coefficients are "always zero" in
the SMF manual for z/OS 3.1 dated Apr 19, 2024. And the
variable EXCPRMF in TYPE30xx is also zero as it was based
on IOUNITS. I've not found any IBM notes on when/why.
Change 42.061 Variables SMF70PMU='AVG BLKED*DISPATCH*UNITS*PROMOTED' in
TYPE7072 dataset TYPE70 was incorrectly calculated.
Jul 24, 2024
Thanks to Jan Tielemans, KBC, BELGIUM
Change 42.060 MXG TYPExxxx members normally output dataset to WORK,
TYPE99 while TYPSxxxx members sort and output to PDB, but if all
Jul 18, 2024 dataset's have accumulated data, the _Sxxxx Product Sort
macro is added in the TYPExxxx member, or if only some of
the datasets are accumulated, the _Sdddddd Data Set Sort
macro is added so that the DIF() functions are invoked to
deaccumulate and output the correct data to PDB.
These SMF datasets have accumulated data:
all datasets 99 103 113 79
some datasets MQM NPM TPX WECR.
The _S99 was missing in MXG 42.01 and 42.02 in TYPE99.
Thanks to Keith C. Shaffer, Evernorth, USA.
Thanks to Altino Pimentel, Evernorth, USA.
Change 42.059 Dataset ASUM70GL the Group Capacity LPAR detail, variable
VMXG70PR MINENTIT, the Minimum Entitlement of an LPAR in a
Jul 17, 2024 capacity group, was incorrectly calculated as the LPARs
group weighted share of the total complex MSU (which,
among other thjngs, is greater than the complex weighted
share of the total complex MSUs). MINENTIT incorrectly
was greater than theMAXENTIT.
Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA
Change 42.058 New variables added to DCOLLECT DCOLMIGS Data Set
VMACDCOL UM_CLOUD_NAME_LENGTH='CLOUD*CONNECTION*NAME*LENGTH'
Jul 16, 2024 UM_CLOUD_NAME='CLOUD*NETWORK*CONNECTION*NAME'
UM_CONTAINER_NAME='CLOUD*NETWORK*CONNECTION*NAME'
UM_OBJ_NUMBER= 'NUMBER*OF OBJECTS*STORED'
UM_CLD_COMP_PERCENT='PERCENT*SAVED BY*TCT COMPRESSION'
Thanks to Raj C. Xavier, FMR, USA.
Thanks to Kulvinder Makkar,FMR,USA.
Change 42.057 If you run CICINTRV and look at the log you would see a
UTILDUR bogus MXGWARN message. It can be ignored as it is a
VMXGCICI result of VMXGSUM printing the code it generates. UTILDUR
Jul 15, 2024 now checks the durations in the data and if it is larger
than the requested interval produces an MXGWARN message.
Tkanks to John Roderick, DC GOV, USA.
Change 42,056 Example 4 failed. Doc was corrected and member
UTILBLDP TYPEJOBS was created.
TYPEJOBS
JCLPDBJB
Jul 4, 2024
Change 42.055 New variables added to ASUM1131 dataset by Martin show
ASUM113 the components of MEMP, the Percent Sourced from Memory:
VMAC113 MEMLP ='PERCENT*SOURCED*SAME*DRAWER'
Jul 4, 2024 MEMRP ='PERCENT*SOURCED*OTHER*DRAWER'
The calculations are for z/16 and exposed MXG values for
MEMP used the z/15 equations.
Thanks to Michael.Fleissig, Huk-Coburg, Germany
Thanks to Martin Packer, IBM, ENGLAND.
Change 42.054 SMF 102 IFCID 196 dataset T102S196 was misaligned because
VMAC102 the undocumented IBM change to store zero in the triplet
Jul 3, 2024 length field and store the length value in the first two
bytes of the segment was not correctly handled in MXG.
Thanks to James Lieser, Optum, USA.
Thanks to Peter Vikeras, Optum,USA
Change 42.053 If you used SPINSTC, you could get 0 obs in pdb.jobs
BUILD005 because of faulty logic. The code checked the value of
BUIL3005 SPINSTC and entered a DO loop that then checked the
Jul 2, 2024 typetask for STC and prevented the ELSE DO from from
being executed and setting OKFLAG from being set to 1
which causes jobs to be output. The check for STC was
added to check for SPINSTC and ELSE DO removed.
Thanks to Shivang Sharma,ENSONO, USA.
Thanks to Dana A Mccreary, UPS, USA
Thanks to Arnold Kim, UPS, USA.
Thanks to D. Barry, UPS, USA.
Change 42.052 -TYPE80A INPUT EXCEEDED due to unexpected short length 7
VMAC80A for TOKXUGROUPS field, now using $VARYING INFORMAT.
Jun 29, 2024 -Support for TYPE80Z TOKXRGROUPS field also using VARYING.
Thanks to Swapna Gavini, Kyndryl, AUSTRALIA.
Change 42.051 Utility program IMACDSCK finds all DSNAMES.is enhanced to
EXDCODSN look at datasets created by DCOLLECT.
EXDCOCLU
EXDCOMIG
EXDCOBKP
IMACDSCK
Jun 28, 2024
Thanks to Scott Barry, SBBTechLLC, USA.
Change 42.050 Format $MGCICDS for variables SMDDSAIN in dataset CICSMD
FORMATS and variable SMSDSAIN in dataset CICSMDSA values 0Ax-0Dx.
Jun 25, 2024 were added.
Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA
Change 42.049 SMF 119 Subtype 38 INPUT STATEMENT EXCEEDED INVALID DATA
VMAC119 for PIB4 because lines 4035-4040 were missing the period
Jun 24, 2024 at the end of the &PIB.4. INFORMAT. SAS Only detects the
error when that code is executed, i.e. for a subtype=38.
Thanks to Janet Harris, NTRS, USA.
Thanks to Leopoldo E. Esparza, NTRS, USA.
Thanks to Suresh Upputuri, NTRS, USA.
====== CHANGES THRU 42.048 ARE IN MXG 42.02 DATED Jun 22, 2024 =========
Change 42.048 -IFLMSUHR was calculated incorrectly and additional OBS
VMXG70PR were output because a SET was used instead of a MERGE.
Jun 22, 2024 This caused incorrect ASUMCEC observation counts and
some incorrect duration values.that were introduced in
MXG Version 42.01.
-MSUHR totals were wrong (ZIPMSUHR ICFMSUHR IFLMSUHR
IFAMSUHR)
-ASUM70GC dataset was incorrectly summarized at the
LPAR level instead of capacity group.
Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA
Change 42.047 New variables added to TYP11912TLS dataset:
FORMATS S11912SS_TLS_SRV_HS_SM /*SERVER*HS_SIG_METHOD*/
VMAC119 S11912SS_TLS_CLI_HS_SM /*CLIENT*HS_SIG_METHOD*/
Jun 20, 2024 S11912SS_TLS_NEG_KEY_SH /*NEGOTIATED*KEY_SHARE*/
Thanks to Luis Mendoza, ICE, USA.
Change 42.046 Modified to check FMTSEARCH for values other than (WORK
VMXGINIT LIBRARY) or to see if you are using WPS; then the check
Jun 15, 2024 for old or non-existent formats is bypassed. Using
IMACFMTS and keeping formats in LIBRARY rather than
using FMTSEARCH is recommended. NOTE: on z/OS, those
ddnames must have DISP=NEW or OLD if you plan to add or'
modify formats.
Change 42.045 ZERT dataset TYP11912DN and TYP11912SUM were missing obs
VMAC119 because the triplet count fields NUM11906 and NUM11907
Jun 14, 2024 in Subtype 12 records were always one, but IBM never
documented that one segment could contain many obs and
never provided the actual count. The DO to NUM11906/07
was replaced with DO WHILE LENLEFT logic to determine the
actual number of observations that are in the segment.
Thanks to Jorge Fong, City of New York, USA.
Change 42.044 Now allows you to specify how many LPARS to keep in
VMXG70PR ASUMCEC/70pr New parameter LPARS2KEEP= lets you specify
Jun 7, 2024 the number of LPARS to keep. This can significantly
reduce the size of the resulting dataset. In one test
using 20 the size of ASUMCEC was reduced by 61%! In order
to simplify the logic 5 10 20 or 30 LPARS are kept so if
you specify 4 5 are kept. If you specify a number smaller
than the number of LPARS found in the data a WARNING
message is created and LPARS2KEEP is set to a null
string.
Change 42.043 If you added a PROC COPY after CICINTRV it failed since
CICINTRV the datsets had been deleted by VMXGCICI. Deletion was
VMXGCICI removed from VMXGCICI and left inside of comments in
JUN 3, 2024 CICINTRV.
Thanks to Keith C. Shaffer, Evernorth, USA.
Change 42.042 CPU LOOP with SMF 82 SUBTYPE 40. SMF82_TAG '010F'x was
VMAC82 increased to 16 bytes.
Jun 3, 2024
Thanks to Jan Tielemans, KBC, BELGIUM
Change 42.041 TYPE102 IFCID 365 INPUT EXCEEDED RECORD MXG 42.01.
VMAC102 New fields added that exposed issues with QLSTLEN not
May 27, 2024 matching actual length of data.
QLSTNTPLH='TERMINATED*HIGH*PERFORMANCE'
QLSTNTILS='TERMINATED*TOP*SOCKET*CLOSED'
Thanks to John Kim, Morgan Stanley, USA
Change 42.040 The TYPE70 dataset has 18 Arrays with 255 variables that
VMAC7072 have suffix M0-M8,MA-MZ,YA-YC,ZA-ZZ.102-255 & start with
May 27, 2024 CPUEDT CPUPAT CPUPDT CPUWAI IFATYP IFAWAI
IORATE MVSWAI PCTCPB PCTIFB PCTONL PCTTPI
PCTZIB ZIPWAI LCPUDE LCPUWA PCTCIB CAI
that contain the metrics for each CPU.
It's highly likely that you have never used any of these
per-CPU variables in this poor design, because each array
is summed into the actual metric of interest that you
have been using, for example CPUEDTTM is the Effective
Dispatch Time for the interval and theren't any knobs
to turn for each of the individual CPUs. But there might
be a need to examine some of those individual CPU metrics
when SMT is active, which is why the TYPE70EN per-engine
dataset was created with a single set of variables and an
observation per engine per thread per interval so those
unwieldy array variables in TYPE70 are not really needed.
And that's good, because with SMT, they are incorrectly
stored in the wrong array entry. For example, the IORATEx
variables for CPU 0,1,2,and 3 are not in the expected
IORATE0/IORATE1/IORATE2/IORATE3 variables, but are found
in IORATE0/IORATE2/IORATE4 with missing values in those
IORATE1/3/5 variables: MXG confused CPUID with THREAD.
But as those individual rates are summed into the IORATE
variable which is the interval value, no data was lost.
Only a single MXG user has reported this error, and this
code was implemented in the Spring of 2015. With no other
reported issues with these unlikely-to-be-needed TYPE70
variables, and with the availability of TYPE70EN dataset,
and the exposure of creating a new problem in the very
complex support for the SMF 70 record, this error can not
be corrected safely.
Change 42.039 TYPE 119 formats $MG119CF and $MG119KA were corrected.
FORMATS
May 20, 2024
Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA
Change 42.038 Support new tokens TOKDB2 and TOKOWNERS in TYPE80TK.
VMAC80A
May 19, 2024
Thanks to Bruce Henson, CITIGROUP, ENGLAND
Thanks to Harald Seifert. HUK-COLBURG, GERMANY.
Change 42.037 New DB2 Zparms added to dataset T102S106.
VMAC102 MXG Variable IBM ZPARM
May 19, 2024 QWP4AUDIWU ALLOW_UPD_DEL_INS_WITH_UR
QWP4DSSAR DISALLOW_SSARAUTH
QWP4FCXC FLASHCOPY*XCXC
QWP4LSSIC LA_SINGLESEL_ISOCS_CDY
QWP4LIRO LOAD_RO_OBJECTS
QWP4MXUDF MAX_UDF
QWP4MXAIDC MAX_MEMORY_FOR_AI_DATA_CACHING
QWP4PKGDEPLVL PACKAGE_DEPENDENCY_LEVEL
QWP4RTNP REORG_TS_NOPAD_DEFAULT
QWP4LTMX SPREG_LOCK_TIMEOUT_MAX
QWP1STIMM STATIME_MAIN
QWP4STPGS STATPGSAMP
QWP4TCNE TABLE_COL_NAME_EXPANSION
QWP4TSCT TS_COMPRESSION_TYPE
QWP4UTHIST UTILITY_HISTORY
QWP4UBCDC UTILS_BLOCK_FOR_CDC
Thanks to Lai Fai Wong, Bank of America, USA.
Change 42.036 Support for TOKDANAM values XUHSTORY XUTIMING XUGROUPS in
VMAC80A TYPE80TK.
May 15, 2024 Support for EV44VAL length greater than 80 error messages
RACF EV(44) ERROR. INVALID RACFDLNN and INPUT EXCEEDED.
Thanks to Bheema Linga Prasad Kammara, NAB, AUSTRALIA.
Thanks to Bhuvaneshwari Shanmugam, NAB, AUSTRALIA.
Change 42.035 Change 41.085 opens the format library to check and be
VMXGINIT sure it is current. That means that if you use fmtsearch
May 15, 2024 to point at user formats you must specify disp=old on
the dd statement if you want to update it (zOS only).
Note: This Change was doc only. See Change 42.046.
Thanks to Raymond Smith, OPTUM, USA.
Change 42.034 -Using a TAPE (SEQUENTIAL) data library for the PDB data
VMXGSUM library has NEVER been wise due to the restrictions that
May 15, 2024 only one dataset can be open at a time, which required
protection in BUILDPDB logic, and, in the past, the time
needed for rewinds, now nonexistent with virtual tape,
but also the loss of datasets after an existing dataset
if that existing dataset is updated. MXG has protected
the BUILDPDB process to allow use of tape, but a change
to VMXGSUM is needed to permit that process. There has
always been a warning message for SEQUENTIAL PDB DD.
Change 42.033 -IMS LOG ENQFLAG=0CX and FLAG2=41X is output to IMS35P.
VMACIMS -Variable LG50RTKN kept in IMS5950 and TPCPRTKN kept in
May 9, 2024 IMS56FA.
Thanks to Oscar Curero, NTTDATA, SPAIN
Change 42.032 Documentation only, note that only one DEST will be set.
VGETDEST
May 1, 2024
Change 42.031 -New variable MAXWKSET 'MAXIMUM*WORKING*SET (K BYTES)' is
BUILD005 created in PDB.JOBS with the maximum value of any step.
BUIL3005 -Using a TAPE (SEQUENTIAL) data library for the PDB data
SPUNJOBS library has NEVER been wise due to all of the rewinds
May 13, 2024 needed to retrieve PDB datasets, MXG has protected the
BUILDPDB process to support it, but a change to VMXGSUM
is needed to protect that process. And, virtual tape has
mitigated those concerns.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 42.030 -The TYPE30_6 Early Address Space SMF 30 subtype 6 records
VMAC30 variables SRVSRBTM and SRVTCBTM and CPUTOTTM were wrong
Apr 25, 2024 when BOOST was active because they were calculated prior
to the DIF() deaccumulate logic. These three variables
are not the standard CPUTCBTM CPUSRBTM and CPUTM times
that are in the SMF 30 records. The three variables are
calculated from Service Units and added when it was
claimed that they were more accurate than TIME fields.
-Variable BOOSTCLASS was wrong if BOOSTACTIVE was missing
value in the TYPE30xx datasets, when it should have been
blank.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 42.028 DELTATM in PDB.VXINTUSR was incorrectly divided by the
VMACVMXA number of configured engines ENGCONFG; that division is
Apr 18, 2024 removed.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 42.027 Support for IBM Dependency Based Build SMF 122 Subtype 2.
VMAC122A Note the product suffix is 122A because there was an
Apr 18, 2024 earlier Tivoli SMF 122 record.
Thanks to Jan Tielemans, KBC, BELGIUM
Change 42.026 DCB Attributes RECFM=F LRECL=660 are added to the INFILE
VMACCTLT CONTROLT so that file can be read from a pipe. Normally,
Apr 9, 2024 the FILENAME statement is used to supply attributes but
those attributes are not available with a pipe.
Since the CONTROL-T file is unlikely to ever be changed,
there was no need to use macro variables for them.
Change 42.025 Support for APAR OA61951 which added RACF PHRASEINT, the
FORMATS PASSWORD PHRASE CHANGE INTERVAL for both PASSWORD and for
VMAC80A SETROPTS with these added changes:
Apr 3, 2024 -Added new KW18 vars for PHRASEINT.
-Commented out the references to KW24S102 to KW24S109,
these were created from an IBM reserved field in error.
The correct values are in the following byte and already
decoded as KW24SP70- KW24SP77. Unfortunately the
subsequent keyword specified and keyword ignored flag
numbers are now out of sync as a result.
-Removed newly added KW24PA00-KW24PA01 as KW24PALG turned
out not to be a bit masked field.
https://www.ibm.com/docs/en/zos/3.1.0?topic=records-reco
rd-type-80-racf-processing-record incorrectly shows
these values as bits 0 and 1 but data had a value of 01X
for KDFAES. KW24PALG is now formatted to display values.
ftp://public.dhe.ibm.com/s390/zos/racf/pdf/oa43999.pdf
shows the correct definition (0=existing algorithm,
1=KDFAES).
-Flags KW24I108, KW24I109, KW24S116, KW24S117 (originally
for EIMREGISTRY and NOEIMREGISTRY) have been repurposed,
I108/S116 is now ENHANCEDGENERICOWNER and I109/S117 is a
reserved bit. This changed in the manuals in z/OS V2R3.
-Corrected XMBALLRACF to XBMALLRACF in two labels.
-KW24SCLV label has been changed from
"SECURITY*AUDIT*VALUE" to "SECLABEL*AUDIT*VALUE"
-KW24SP40 fixed typo in label
-Added KW24MLSO KW24POPT KW24PWSR to $HEX formats and to
&MXGNOTRA.
-Fixed CHGINTRV to set missing when 0FFX, not 0FFFFFFFFX.
Confirmed this with a PASSWORD USER(xxx) NOINTERVAL.
-Dataset TYPE8018 new variables CHGINTRV PHRINTRV.
-Dataset TYPE8024 new variables KW24PALG KW24PHRI.
-Variables USRSEKTN KW24PWSR are $HEX formatted.
Thanks to Matthew T Chappell, Queensland Government, AUSTRALIA.
Change 42.024 Variable SIISPCT for z16 in SMF 113 datasets, using E164
ASUM1134 counter instead of E170.
VMAC113
Mar 21, 2024
Thanks to Jan Tielemans, KBC, BELGIUM
Change 42.023 ANAL9914 report CECTYPE test did not include Z16 so no
ANAL9914 REPORT=JIM was produced, even though there is no change
Mar 19, 2024 for the 16.
Thanks to Marvin L. Silverman, Bank of America, USA.
====== CHANGES THRU 42.022 ARE IN MXG 42.01 DATED MAR 15, 2024 =========
Change 42.022 Support for APAR OA65652 which adds variables to TYPE99Q2
VMAC99 PQAVQREQ='AVERAGE*QUEUED*REQUESTS'
Mar 12, 2024 PQBATQTM='BATCH*QUEUE*TIME'
PQBATSEL='BATCH*JOBS*SELECTED'
Change 42.021 INVALID REFERBACK IN THE COND FIELD in JCLASMXG example
JCLASMXG that assembles all MXG ASM members due to ASMRMFX in the
Mar 9, 2024 COND instead of ASMRMFI.
Thanks to MP Welch, Bank of America, USA.
Change 42.020 Using CICSIFUE under WPS results in U4038 LE abend with
CICSIFUE the following error message:
Mar 12, 2024 CEE3194E An attempt was made to initialize an AMODE24
program when the XPLINK(ON) run-time option was in
effect. AMODE24 programs are not supported in an
XPLINK environment.
So AMODE 31 and RMODE 31 statements were added to each
CSECT in CICSIFUE. CICSIFUE is the z/OS Exit to
decompress CICS and DB2 SMF records; see EXITCICS to
install the exit, which saves significant CPU Time
processing those data records.
Change 42.019 DB2 SMF 102 IFCID 365 now has the Length QWT02R2L zero
VMAC102 requiring revision to read the Length at the Offset.
Mar 6, 2024 I can find no documentation when individual IFCIDS are
being changed, I fear maybe every time an IFCID is to
be updated. The advantage of the header zero length
is that the individual segments can be different lengths.
Thanks to Harald Seifert, HUK-COLBURG, GERMANY.
Change 42.018 When I/O velocity is not enabled, the VELOCCPU was not
VMAC7072 correct; it should have been set to VELOCITY. Observed
Mar 6, 2024 that R723CTOU contains both GP and IIP usage but R723CCUS
only contains GP usage.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 42.017 ZERT SMF 119 Subtype 12 dataset TYP11912SUM (ZERT COMMON)
VMAC119 2024 observations were not output if there was a sixth triplet
Mar 1, 2024 (Certificate DN) segment, causing S11912SASECPROTOS to
only contain 0 (NO CRYPTO) and S11912SASESSIONID only C
so none of the observations were for encrypted sessions..
Thanks to Richard A Warren, USBank, USA.
Thanks to ???, IBM SMF 119 Support, USA.
Change 42.016 Support for RACF IRRDBU00 Unload RACTYPE=0151 creates new
EXRAC151 RACF0151 dataset 'Group CSDATA Custom Fields'.
IMACRACF GPCSD_NAME ='GROUP*NAME'
VMACRACF GPCSD_TYPE ='DATA*TYPE*FOR*CUSTOM*FIELD'
VMXGINIT GPCSD_KEY ='CUSTOM*FIELD*KEYWORD'
Mar 1, 2024 GPCSD_VALUE='CUSTOM*FIELD*VALUE'
Thanks to Nathan Battles, Navy Federal, USA.
Change 42.015 -SMF70CSF was missing for ICF IFL LPARS. Now added as
VMXG70PR the MAX value for all LPARS. ICF/IFL MSU values were
Feb 25, 2024 added to ASUMCELP. Count of ICF LPARS added to ASUMCEC.
Mar 9, 2024 -Unrelated, could have a SORT ERROR on GMTOFFTM and the
Mar 15, 2024 variable was not carried forward into ASUMCELP dataset.
Thanks to Scott Barry, SBBTechLLC, USA.
Thanks to Perry Metzel, Alight, USA.
Change 42.014 NOTE: INVALID NUMERIC DATA "xxxxxxxx'x for some datetime
VMACBETA variables in BETA30 and BETA31 datasets due to typo were
Feb 20, 2024 present since last update in 2021. No ABEND, just NOTES.
Thanks to Tino Buschmann, ITZBund, GERMANY.
Change 42.013 -INPUT EXCEDED SMF 102 IFCID 172 when QWT02R2L NOT ZERO.
VMAC102 Change 41.112 supported the undocumented case when the
Feb 20, 2024 length field was zero, but records with zero length were
not correctly decoded.
-ZERO OBSERVATIONS in T102S196 due to debugging statement
IF QWTR22L=196 THEN DELETE. But the 196 has similar
length issues as the preceding 172 structure. Code was
revised and tested for QWT02R2N=1 records, but records
with QWT02R2N=2 are needed to verify.
Thanks to John Milne, Kyndryl, AUSTRALIA.
Change 42.012 LINUX ONLY. ASCII IEBUPDTE to build directory of files
IEBUPDTE would have build directories with a backslash \ rather
Feb 19, 2024 than a forwardslash / if the last character was not /.
Change 42.011 Testing corrections. S031PSTP had missing period in the
VMACBETA $EBCDIC8 informat, but subtype 30 and 31 are misaligned
Feb 19, 2024 and doc is needed to investigate.
Thanks to Tino Buschmann, ITZBund, GERMANY
Change 42.010 Variable CRYIAES='AVG BYTES*PER AES ENCRYPT*SERVICE CALL'
VMAC7072 was incorrectly formatted as a time when it is just a
Feb 18, 2024 numeric value.
Thanks to Graham Harris, Natwest, ENGLAND.
Change 42.009 Support for APAR OA65055 which adds JAVA CP and zIIP
VMAC99 service units to dataset TYPE99SL:
Feb 15, 2024 S99RTCAPLEADTIME ='RTCAP*LEAD*TIME*MINUTES'
S99TIME_TO_CAP ='TIME*TO*CAP*SECONDS'
S99TIME_TO_CAP_GROUP='TIME*TO*CAP*GROUP*SECONDS'
S99SUS_ZIIP ='ZIIP*ELIG*UNWEIGH*SU ON*ZIIP'
S99SUS_ZIIP_ON_CP ='ZIIP*ELIG*UNWEIGH*SU ONCP'
S99SUS_JAVA_ON_ZIIP ='ZIIP*ELIG*UNWEIGH*JAVA SU*ON ZIIP'
S99SUS_JAVA_ON_CP ='ZIIP*ELIG*UNWEIGH*JAVA SU*ON CP'
Thanks to Jan Tielemans, KBC, BELGIUM
Change 42.008 Support for APAR OA65055 which adds JAVA CP and zIIP time
VMAC30 to TYPE30_V, TYPE30_4, TYPE30_5, PDB.SMFINTRV datasets:
Feb 8, 2024 SMF30_TIME_JAVA_ON_ZIIP ='JAVA*WORK*ON ZIP'
SMF30_ENCLAVE_TIME_JAVA_ON_ZIIP ='JAVA*ENCLAVE*ON ZIP'
SMF30_DEPENC_TIME_JAVA_ON_ZIIP ='JAVA*DEPENC*ON*ZIP'
SMF30_TIME_JAVA_ON_CP ='JAVA*WORK*ON*CP'
SMF30_ENCLAVE_TIME_JAVA_ON_CP ='JAVA*ENCLAVE*ON*CP'
SMF30_DEPENC_TIME_JAVA_ON_CP ='JAVA*DEPENC*ON*CP'
Thanks to Jan Tielemans, KBC, BELGIUM
Change 42.007 Added VMXGSUM parameter MXGNOECHO= to suppress printing
VMXGSUM all of the VMXGSUM parameters, enabled by specifying YES
Feb 8, 2024 in your VMXGSUM invocation. Added %GLOBAL macro variable
NOMXGECHO which can be externally set before VMXGSUM is
invoked, with %LET NOMXGECHO=YES; to suppress listing.
Thanks to Harald Seifert, HUK-COLBURG, GERMANY.
Change 42.006 INPUT STATEMENT EXCEEDED for Omegamon for CICS ONDV
VMAC112 for SUPRA records. The MXG TEST for FOCVER GE 'V560'
Feb 6, 2024 should have been for V550 to INPUT SATTACH since that
field was present in the V550 record and its INPUT
then aligned SUSEDF and SRECLEN correctly.
Thanks to Gaetan Martel, Intact, CANADA
Change 42.005 -JCL examples added and comments revised to show how to
GRAFCEC use ODS for reports instead of the MXGODSxxxx arguments
Feb 7, 2024 that should not have been created.
-Corrected duplicate BY statement missed by SAS.
Thanks to Tom Maccabe, Dominion Energy, USA.
Change 42.004 Sgnifcant overhaul of this report/analysis member for MQ:
ANAL115 New parameters added to simplify report criteria.
Jan 31, 2024 INCODECFS=code to limit CFS report
INCODEBUF=COde to limit buffer report
INCODELOG=code to limit LOG report
INCODEMSG=code to limit db2 REPORTS
Parameters were put in alpha order.
TY115201 ADDED as input to LOG report
TY115215 ADDED as input to buffer report
Change 42.003 If you run with RUNWEEK=NO and FIRSTRUN=YES option OBS=0
BLDSMPDB was set to copy PDB to days of week but 0 OBS was not
Jan 18, 2024 reset so anything after BUILDPDB had 0 OBS. Statement was
moved so that it will always be run.
Thanks to Jim Poletti, Edward Jones, USA.
Change 42.002 INPUT STATEMENT EXCEEDED reading subtype 2 Statistics
UCICSCNT records which are not compressed because MXGDECOM was
Jan 17, 2024 incorrectly invoked for subtypes one and two.
Thanks to Raymond Smith, OPTUM, USA.
Thanks to Ronald W. Bassett, OPTUM, USA.
Change 42.001 MXG 41.06 and 41.41. Change 41.112 accidentally changed
VMAC102 the INPUT names for QWT02R4L-QWT02R9L to QWT02R4LX-R9LX
Jan 12, 2024 so the correct named variables were missing values and
those segments were not input, causing missing values for
all of the variables that should have been input.
Impacted all IFCIDS with QWHSNSDA GT 4.
Thanks to Jan Tielemans, KBC, BELGIUM
LASTCHANGE: Version 42.
=========================MEMBER=CHANGE41================================
/* COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG VERSION 41.41 was dated Jan 10, 2024, thru Change 41.122.
MXG VERSION 41.06 was dated Dec 15, 2023, thru Change 41.117.
MXG VERSION 41.05 was dated Nov 16, 2023, thru Change 41.108.
MXG VERSION 41.04 was dated Sep 20, 2023, thru Change 41.086.
MXG VERSION 41.03 was dated Aug 11, 2023, thru Change 41.069.
MXG VERSION 41.02 was dated Jun 5, 2023, thru Change 41.038.
MXG VERSION 41.01 was dated Mar 24, 2023, thru Change 41.015.
ANNUAL MXG VERSION 40.40 was dated Feb 3, 2023, thru Change 40.162.
New TECHNOTES previously in NEWSLTRS are now in CHANGESS.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 41.41 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 41.41.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains old Technical Notes. many of which are still
valid, but the last was in 2018. Now, TECHNOTES and FLASHes are in
CHANGES/CHANGESS. which are also online.
Member CHANGES contains the changes made in this current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
CHANGESS and NEWSLTRS are also online at http://www.mxg.com,
========================================================================
I. MXG ANNUAL VERSION 41.41 DATED Jan 12, 2024, THRU CHANGE 41.112.
==MAJOR CHANGES ADDED IN MXG 41.41, DATED Jan 12, 2024 THRU 41.112.====
NONE
==MAJOR CHANGES ADDED IN MXG 41.06, DATED Dec 15, 2023 THRU 41.117.====
VMXG70PR 41.107 ASUMCELP MSU variables for each CPU type added.
UCICSCNT 41.106 CICS Utility INPUT STATEMENT EXCEEDED MNSEGCL 5
ANALCEC 41.105 CEC Analysis new SORTBYADDS to control reports.
VMACDB2H 41.102 ASUMUOW merge of CICSTRAN and DB2ACCT fewer SPUN.
==MAJOR CHANGES ADDED IN MXG 41.05, DATED Nov 16, 2023 THRU 41.108.====
NEW SUPPORT
Change 41.092 Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2 We and several customers have tested z/OS 3.1 records
VMAC30 with back levels of MXG that support z/OS 2.5 (39.08)
VMAC7072 with no errors reported, and we expect no issues.
VMAC79 Change 41.096 added the new AI data in TYPE99 and
Oct 26, 2023 there were other APARs in 3.1, but we expect no issues.
New variables were added, see Change 41.092 full text.
This change was in MXG Version 41.05.
VMAC123A 41.094 Support for z/OS Connect V3.0.74.0 new variables.
VMAC26J2 41.092 Support for z/OS 3.1 SMF Manual Changes COMPATIBLE
VMAC110 41.081 Support for CICS/TS 6.2 BETA16 INCOMPATIBLE inserts.
VMACVIRS 41.080 Support for VIRTEL/VIRSTAT versions 640/641.
VMAC99 41.096 Support for AI Data Section WLM AI Batch INITs.
ERRORS CORRECTED
UCICSCNT 41.106 CICS Utility INPUT STATEMENT EXCEEDED MNSEGCL 5
ENHANCEMENT
VMACMARS 41.099 Corrections to Hitachi Mainframe Analysis Recorder
VMAC110 41.095 CICSTRAN variable WBURISCN spelled WBIRISCN.
VMAC99 41.090 TYPE99_6 variables SERVER01-05 SERVPN01-05 wrong.
VMXG70PR 41.107 ASUMCELP MSU variables for each CPU type added.
ANALCEC 41.105 CEC Analysis new SORTBYADDS to control reports.
VMACDB2H 41.102 ASUMUOW merge of CICSTRAN and DB2ACCT fewer SPUN.
CICINTRV 41.087 CICINTRV now supports a ONEMINUTE value for _CICINTV
ANALAVAI 41.098 Availability report can now grouped on program name
JAVA 41.091 Two JAVA memory options were found needed in z/OS.
FORMATS 41.097 CICS 6.1 dynamic storage areas not in $MGCICLO.
==MAJOR CHANGES ADDED IN MXG 41.04, DATED Sep 20, 2023 THRU 41.086.====
NEW SUPPORT
VMAC110 41.081 Support for CICS/TS 6.2 BETA 16 INCOMPATIBLE
New field inserted in SMF CICSTRAN record.
ERROR CORRECTED:
UTILEXCL 41.075 UTILEXCL error in Change 41.063 ABCODE (MXG 41.03).
Caused CPUTM GT ELAPSED Msgs if both ABCODEs kept.
ENHANCEMENTS
VMACSARR 41.073 SARR/CAVIEW Subtype 36 datasets now populated
TYPE7072 41.071 Variable CECSER6 is added to TYPE70/70PR/RMFINTRV
TYPEXAN 41.071 Variable CECSER6 is added to XAMSYS
TYPE119 41.070 TYP11906 added 5th Home Address variables.
==MAJOR CHANGES ADDED IN MXG 41.03, DATED Aug 11, 2023 THRU 41.069.====
ABENDS CORRECTED:
VMAC99 41.066 SMF 99 Subtype 9 INPUT EXCEEDED, ERROR IN SMF MANUAL
VMAC74 41.052 BMC CMF Only Subtype 9 INPUT STATEMENT EXCEEDED.
VMAC98 41.049 SMF 98 CICS Subtype 1024 ABEND, only ST 1 supported
ERRORS CORRECTED:
UTILBLDP 41.068 %CLEARDB2 addition caused VARIABLE STARTHR errors.
VMAC116 41.067 DB2H Header Variables QWHCAID/QWHCOPID in TYPE116.
VMACDB2 41.065 DB2 IDAA variables Q8STINSC-Q8STVLCS shifted, wrong.
VMAC119 41.064 Dataset TYP11910 UCLIPV6 was wrong, had blanks.
VMAC74 41.064 TYPE74CA storage variables CSCONF+ are GB not MB.
VMAC71 41.041 Correction to CSTORE which was too small.
ENHANCEMENTS
UTILEXCL 41.063 Protection for EXCLUDEd CICS Field 114 ABCODEC.
VMAC30 41.053 Support for APAR OA62355 new TYPE30 Containers.
VMACRMFV 41.043 Support for z/OS 3.1 RMF III variables in ZRBASI/GEI
VMAC71 41.042 Support for z/OS 3.1 Dedicated memory variables.
==MAJOR CHANGES ADDED IN MXG 41.02, DATED Jun 5, 2023 THRU 41.038.====
ERRORS CORRECTED:
Change 41.038 -Support for CICS/TS 6.2 INCOMPATIBLE, FIELDS INSERTED,
UTILEXCL MANY WRONG VALUES (Neg TASZIPTM, MAXTASKS 3.2 Billion)
VMAC110 but no error messages. Tested now with OPEN BETA BUILD12.
May 31, 2023 -CORRECTION for CICS/TS 6.1 with default VMAC110 but was
ok if UTILEXCL was used to create an IMACEXCL for 6.1.
Default VMAC110 in 41.01 and earlier was misaligned, with
possible error message "CPUTM 10X LARGER THAN ELAPSED".
This change is in MXG 41.02 dated Jun 5, 2023.
VMAC7072 41.025 LARGE VALUE FOR LCPUPDTM IBM Error protected.
VMACXAM 41.021 zVPS VSICPU misaligned, floating point error.
VMAC102 41.016 SMF 102 IFCID 389 INPUT STATEMENT EXCEEDED error.
ENHANCEMENTS
TYPE83 41.019 Support for TYPE 83 Subtype 7 Multi-Factor record
TYPE113 41.033 Support for HIS SMF 113 MT Diagnostic Counters
VMAC80A 41.036 Support new TOKDANAM values and EV944 ERROR fixed.
VMAC102 41.035 Support for DB2 TRACE IFCIDS 411 and 412
VMACEREP 41.034 JCL Examples to create EREP History File.
VMAC113 41.033 Support for HIS SMF 113 MT Diagnostic Counters
VMACNDM 41.029 Dataset NDMRT enhanced with Parameter values.
ASMRMFI 41.028 Version 2 of ASMRMFI for SPLIT70 processing
VMACTRMS 41.026 Support for TRMS Version 7.02 subtypes 6 and 7
VMAC90A 41.023 Support for SMF 90 Subtype 42 BOOT VALIDATION.
VMACRACF 41.020 New RACF Unload IRRDBU00 datasets.
VMAC93 41.019 Support for TYPE83MF Multi Factor Authentication
==MAJOR CHANGES ADDED IN MXG 41.01, DATED Mar 24, 2023 THRU 41.015.====
ERRORS CORRECTED:
VMACDB2 41.013 DB2 Subtype 1 EXCEEDED LENGTH if Q8STNAME length LT 8
SASHOTFIX 41.012 SAS HOTFIX 69871 ASCII PLATFORMS REQUIRED SPLIT70.
TYPE113 41.005 TYPE1131 for z/15 L2P variable was wrong
TYPE89 41.004 TYPE89 variable SMF89SOLUTION ID off by 1 byte.
TYPE99 41.001 SMF 99 Subtype 1 INPUT EXCEEDED, S99SLLN=80 not doc.
ASMRMFX 41.003 Revision to Change 40.140 SPLIT70 and CICSIFUE.
VMAC71 41.008 TYPE71 CSFRLSAV missing value
ENHANCEMENTS
SPLIT70 41.011 New ASMRMFI using IBM GRBSMFR z/OS 2.5 SPLIT70
VMACDB2 41.010 Support for DB2 V13 100/101 (COMPATIBLE, New Vars)
VMAC102 41.010 Support for DB2 V13 102 (New IFCID 396)
FORMATS 41.007 $MGRMIPS format updated for z/16 processor types.
SPLIT70 41.011 New ASMRMFI using IBM GRBSMFR z/OS 2.5 SPLIT70
ASMRMFX 41.003 Revision to Change 40.140 SPLIT 70s and CICSIFUE.
VMAC30 41.015 More new Direct Memory (z/OS 3.1) variables added.
SPLIT70 41.012 SAS HOT FIX 69871 on ASCII for LRECL GT 32756.
SPLIT70 41.011 ASMRMFI using IBM BRBSMFR for LRECL GT 32756.
VMACRMFV 41.009 New RMF III variables added Data Gatherer Pgmr Guide
TYPE113 41.005 TYPE1131 for z/15 L2P variable was wrong
TYPE89 41.004 TYPE89 variable SMF89SOLUTION ID off by 1 byte.
ASMRMFX 41.003 Revision to Change 40.140 SPLIT 70s and CICSIFUE.
TYPE99 41.001 SMF 99 Subtype 1 INPUT EXCEEDED, S99SLLN=80 not doc.
FORMATS 41.007 MIPS values for z/16 Processor Format $MGRMIPS.
========================================================================
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M8 (9.4M8),
"M8", or with options VERSIONLONG;
"SAS 9.4 (9.04.01M8P080520)" on z/OS
9.4 (TS04.01M8P08052020)" on ASCII.
SAS V9.4 M8 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.128 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 causes JCLTEST9/TESSOTHR to ABEND, TOO MANY ARGUMENTS
FOR COUNTW() requires SAS Version 9.2 so 9.1.3 can NOT
safely be used for MXG. See CHANGE 41.046, Jun 21, 2023.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But CONFIMXG is required for sites with NLS issues, and you must
use JCLCONFI to create/update the MXG.FORMATS catalog if you use
CONFIG='MXG.SOURCLIB(CONFIMXG)'.
For no NLS, you can use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 41.41 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 was STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 4.04 (04.04.01.00.005305 has been tested.
DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
Error was introduced in 4.03.01 and 4.04.00. See Change 39.171.
Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/
WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
WPS Version 4.0 reportedly fixed version 3 problems.
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
-Support for z16 processor data.
SMF: Only SMF 113 records were incompatibly changed, but there is no
execution error as only counter labels and values were changed,
causing coefficients for the calculated variables (RMI,etc) to
also be changed and default coefficients are changed to z16,
You should use separate SAS steps for each processor type; MXG
will OUTPUT only the processor type you requested in //SYSIN,
and will skip other processor type records, so you do NOT need
to pre-process SMF records to select processor type. You will
want to rename one pair of datasets if you want to put them in
the same PDB Data Library.
For z/15 you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA11F %
%INCLUDE SOURCLIB(TYPS113,ASUM113);
and for z/16 you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA11G %
%INCLUDE SOURCLIB(TYPS113,ASUM113);
to get correct values in TYPE1131 and ASUM1131 datasets.
MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
40.03 for zVM.
MXG 40.01 will ABEND due to a TYPE30 error exposed by the z16.
with z/OS 2.5 or APAR61511. You can correct by changing the
line 1812 in VMAC30 from 192 to 220, or ask support for the
current VMAC30 member with Change 40.050.
Many other SMF and Data Gatherer records were updated in 40.04.
RMF ASMRMFV processes RMF III data with no errors, Change 40.068
added some new fields. New DNG3 table support was in 40.05.
-Support for z15 processor data.
The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
Support for counter changes for both models was in MXG 37.08.
If you use MIPS in reports, the format $MGRMIPS provides the
MIPS/MSU value for each processor; the z15 values were updated
in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
GRAFWRKX and TYPERMFV (RMF III).
The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs. Change 38.048.
The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
(which are written if you have zIIP engines AND have enabled the new
PROCVIEW CORE option for Multi-Threading, even if only one thread is
enabled).
SMF Back Levels: MXG 37.08 or later is required for both z15 & z16
SMF 113 change, but those back level versions could fail due
to other records changed by subsystem updates you made for the
z16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
exist when that back=level was created..
The new zEDC/EADM compression hardware requires MXG 38.05 to support
new metrics.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166 37.07.
z/OS 2.4 Compatible from SMF Manual May 2020 38.105 38.05.
z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075 39.03.
z/OS 2.4 Compatible RMF III PGMR Apr 1 2021 39.074 39.03.
z/OS 2.5 Compatible from SMF Aug 12,2021 39.06.
z/OS 2.5 Compatible RMF III Aug 12,2021 39.08.
z/OS 2.5 RMF III 4 new tables Aug 12,2021 39.08.
z/OS 2.5 Protects Possible New 72.3 fields (40.078) 40.04.
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
z15 New SMF 113 fields INCOMPAT Nov 18, 2020 37.08
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
z15 ANAL9914 Support CH 39.006 Jan 14, 2021 39.01
z16 NEW SMF113 values, NO ABEND See CHANGE 40.070 40.03
z16 MXG 38.07 OR LATER IS NEEDED.
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS/TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS/TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS/TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS/TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS/TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS/TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS/TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS/TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS/TS 3.2 Compressed Records Nov 3, 2007 25.11
CICS/TS 4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS/TS 4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS/TS 4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS/TS 4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS/TS 4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS/TS 5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS/TS 5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS/TS 5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS/TS 5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS/TS 5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS/TS 5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS/TS 5.3 GA date Dec 11, 2015 33.33
CICS/TS 5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS/TS 5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS/TS 5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS/TS 5.4 GA Jun 17, 2017 35.03
CICS/TS 5.5 GA (INCOMPAT) Jan 29, 2018 36.11
CICS/TS 5.6 GA (INCOMPAT) Jun 1, 2020 38.07
CICS/TS 5.6 NEW DATA (COMPAT) Oct 5, 2020 38.09
CICS/TS 6.1 ONE NEW (INCOMPAT) Jan 11, 2020 40.01
CICS/TS 6.1 ONE NEW (INCOMPAT) Sep 20, 2020 40.02
CICS/TS 6.1 UTILEXCL/IMACEXCL OK Aug 15, 2022 40.05
CICS/TS 6.1 VMAC110 NO IMACEXCL May 31, 2023 41.02
CICS/TS 6.2 INCOMPATIBLE BETA16 Sep 20, 2023 41.04
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
z/VM 6.40061802 ABEND Jan 22, 2019 37.02
z/VM 7.1 INCOMPAT ABEND Feb 14, 2019 37.02
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA-BROADCOM
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2, 5.3, 5.4 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 41.41.
1. Incompatibilities introduced in MXG 41.41:
a. Changes in MXG architecture made between 41.41 and prior versions
that can introduce known incompatibilities.
IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
The error before this correction will be:
ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 41.41:
Dataset/
Member Change Description
ANALAVAI 41.098 Availability report can now grouped on program name
ANALCEC 41.105 CEC Analysis new SORTBYADDS to control reports.
ASMRMFI 41.028 Version 2 of ASMRMFI for SPLIT70 processing
ASMRMFX 41.003 Revision to Change 40.140 SPLIT 70s and CICSIFUE.
CICINTRV 41.087 CICINTRV now supports a ONEMINUTE value for _CICINTV
FORMATS 41.007 MIPS values for z/16 Processor Format $MGRMIPS.
FORMATS 41.097 CICS 6.1 dynamic storage areas not in $MGCICLO.
JAVA 41.091 Two JAVA memory options were found needed in z/OS.
SASHOTFIX 41.012 SAS HOTFIX 69871 ASCII PLATFORMS REQUIRED SPLIT70.
SPLIT70 41.011 ASMRMFI using IBM BRBSMFR for LRECL GT 32756.
SPLIT70 41.011 New ASMRMFI using IBM GRBSMFR z/OS 2.5 SPLIT70
SPLIT70 41.012 SAS HOT FIX 69871 on ASCII for LRECL GT 32756.
TYPE113 41.005 TYPE1131 for z/15 L2P variable was wrong
TYPE119 41.079 TYP11906 added 5th Home Address variables.
TYPE7072 41.071 Variable CECSER6 is added to TYPE70 and TYPE70PR
TYPE89 41.004 TYPE89 variable SMF89SOLUTION ID off by 1 byte.
TYPE99 41.001 SMF 99 Subtype 1 INPUT EXCEEDED, S99SLLN=80 not doc.
UCICSCNT 41.106 CICS Utility INPUT STATEMENT EXCEEDED MNSEGCL 5
UTILBLDP 41.068 %CLEARDB2 addition caused VARIABLE STARTHR errors.
UTILEXCL 41.063 Protection for EXCLUDEd CICS Field 114 ABCODEC.
UTILEXCL 41.075 UTILEXCL error introduced in Change 41.063 ABCODE
VGETOBS 41.088 %VGETOBS sets &VGETOBS=1 if lib is on tape.
VMAC102 41.010 Support for DB2 V13 102 (New IFCID 396)
VMAC102 41.016 SMF 102 IFCID 389 INPUT STATEMENT EXCEEDED error.
VMAC102 41.035 Support for DB2 TRACE IFCIDS 411 and 412
VMAC102 41.112 DB2 SMF 102 IFCID 172 no obs, Length field zero.
VMAC110 41.081 Support for CICS/TS 6.2 BETA16 INCOMPATIBLE inserts.
VMAC110 41.095 CICSTRAN variable WBURISCN spelled WBIRISCN.
VMAC110 41.113 CICS 110 SUBTYPE 1 MNSEGCL 5 INPUT EXCEEDED.
VMAC113 41.033 Support for HIS SMF 113 MT Diagnostic Counters
VMAC113 41.115 Updates to the CPU MF formulas for z14 and z15.
VMAC116 41.067 DB2H Header Variables QWHCAID/QWHCOPID in TYPE116.
VMAC119 41.064 Dataset TYP11910 UCLIPV6 was wrong, had blanks.
VMAC123A 41.094 Support for z/OS Connect V3.0.74.0 new variables.
VMAC26J2 41.092 Support for z/OS 3.1 SMF Manual Changes COMPATIBLE
VMAC30 41.015 More new Direct Memory (z/OS 3.1) variables added.
VMAC30 41.053 Support for APAR OA62355 new TYPE30 Containers.
VMAC7072 41.025 LARGE VALUE FOR LCPUPDTM IBM Error protected.
VMAC7072 41.111 Support for APAR OA64781 TYPE70 Variable capacity
VMAC71 41.008 TYPE71 CSFRLSAV missing value.
VMAC71 41.041 Correction to CSTORE which was too small.
VMAC71 41.042 Support for z/OS 3.1 Dedicated memory variables.
VMAC74 41.052 BMC CMF Only Subtype 9 INPUT STATEMENT EXCEEDED.
VMAC74 41.064 TYPE74CA storage variables CSCONF+ are GB not MB.
VMAC80A 41.036 Support for TOKDANAM values and EV944 ERROR fixed.
VMAC90A 41.023 Support for SMF 90 Subtype 42 BOOT VALIDATION.
VMAC93 41.019 Support for TYPE83MF Multi Factor Authentication
VMAC98 41.049 SMF 98 CICS Subtype 1024 ABEND, only ST 1 supported
VMAC99 41.066 SMF 99 Subtype 9 INPUT EXCEEDED, ERROR IN SMF MANUAL
VMAC99 41.090 TYPE99_6 variables SERVER01-05 SERVPN01-05 wrong.
VMAC99 41.096 Support for AI Data Section WLM AI Batch INITs.
VMACDB2 41.010 Support for DB2 V13 100/101 (COMPATIBLE, New Vars)
VMACDB2 41.010 Support for DB2 V13 new variables COMPATIBLY ADDED
VMACDB2 41.013 DB2 Subtype 1 EXCEEDED LENGTH if Q8STNAME length LT
VMACDB2 41.065 DB2 IDAA variables Q8STINSC-Q8STVLCS shifted, wrong.
VMACDB2H 41.102 ASUMUOW merge of CICSTRAN and DB2ACCT fewer SPUN.
VMACEREP 41.034 JCL Examples to create EREP History File.
VMACMARS 41.099 Corrections to Hitachi Mainframe Analysis Recorder
VMACNDM 41.029 Dataset NDMRT enhanced with Parameter values.
VMACRACF 41.020 New RACF Unload IRRDBU00 datasets.
VMACRACF 41.109 Support for RACF TYPEs 0141/0209/0290/02C9/0509.
VMACRMFV 41.009 New RMF III variables added Data Gatherer Pgmr Guide
VMACRMFV 41.043 Support for z/OS 3.1 RMF III variables in ZRBASI/GEI
VMACSARR 41.073 SARR/CAVIEW Subtype 36 datasets now populated.
VMACTRMS 41.026 Support for TRMS Version 7.02 subtypes 6 and 7
VMACVIRS 41.080 Support for VIRTEL/VIRSTAT versions 640/641.
VMACXAM 41.021 zVPS VSICPU misaligned, floating point error.
VMXG70PR 41.107 ASUMCELP MSU variables for each CPU type added.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at https://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE:
====== CHANGES THRU 41.122 ARE IN MXG 41.41 DATED Jan 10, 2024 =========
Change 41.122 WPS ABENDs reading ID=79 SUBTYPE=15 RMF record which does
VMACSMF not have an RMF Product Segment, which caused OFFRMFP to
VMACSMFL be a missing value, and WPS failed on INPUT @OFFRMFP+40
Jan 8, 2024 due to that offset's missing value. (SAS does NOT fail.)
The code with that INPUT statement was not in the prior
block that executed IF NOT (ID=79 AND SUBTYPE=15) so it
is relocated into that code block to not INPUT @OFFRMFP
for the 79 subtype 15, while WPS investigates why they
failed. The error message with the USER 999 ABEND is
"ERROR: The input record was not long enough for INPUT."
There are thousands of INPUT @offset statements in MXG,
where offset could be a missing value, but they are all
protected with a test for IF NRTRIPLET GT 0 so the INPUT
isn't executed when there is no segment. But while the
SMF manual states the subtype 15 does NOT have a Product
Segment, there actually is one, and the count in SMF70PRN
is 1, so SAS tolerated the missing offset value and the
INPUT @OFFRMFP was executed, but with incorrect alignment
causing a large value in SMF70RAN and incorrect values in
MVSLEVEL and PRODVERSION in the _SMF Header variables.
Those _SMF variables are now correctly missing values.
(Those variables are/were correct in the VMAC79 code and
in the TYPE7915 ILRM dataset built by SAS.)
Change 41.121 During QA testing we found that sometimes a VMXGSUM with
ASUMDBDS NEWSHIFT=Y failed looking for a variable SHIF rather than
ASUMMWNT SHIFT if the DATETIME= var was also in the by list.
ASUMSTC These members were all exposed, DATETIME was corrected.
ASUMVMON From VMXGSUM documentation in comments:
TRNDVDEV The variable "DATETIME" was never intended to be in
Dec 28, 2023 the output data set, but early on it was kept by
accident, and users wrote code expecting it, so it has
to be kept by default, but you can and should use the
DROPDT=YES, option to tell VMXGSUM to drop the variable
named "DATETIME", as it is not needed, is not a
descriptive name and can be confusing. ASUMDBDS
summarizes MONIDBDS dataset.
Change 41.120 Support for CICS Optional CMR segment variable CMDUDAT2.
IMACICMX Note: for new variables in optional segments supported in
UTILEXCL IMACICxx members, the new variable does not need to be in
Dec 28, 2023 VMAC110. UTILEXCL must be run to create the new IMACEXCL,
and it is updated to add the new variable to the _VCICTRN
macro, which is the list of all variables to be kept.
Thanks to Ankush Dudhbavare, Ensono, USA.
Thanks to Bob Olah, Ensono, USA.
Thanks to Shantanu Gupta, Ensono, USA.
Thanks to Sashank Samarth, Ensono, USA.
Thanks to Rahul Raj, Ensono, USA.
Change 41.119 DB2 IDAA variable Q8ACTWDP was not divided by 4096 and
IMACDBNZ was not FORMATed to TIME13.3. Q8ACNWDP was incorrectly
Dec 27, 2023 divided by 4096.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 41.118 The new code to check for backlevel FORMATS caused error
VMXGINIT message "MGFMTVR 484" if the FORMATS library did not
Dec 27, 2023 exist even though the NOFMTERR option was enabled. This
error message had no impact, but the message is removed.
Thanks to Steve Estle, Peraton, USA.
====== CHANGES THRU 41.117 ARE IN MXG 41.06 DATED Dec 15, 2023 =========
Change 41.117 Failed if no libname.memnames matching the specified
VMXGCOPY parameters with an invalid DO loop. NOw detects and shuts
Dec 13, 2023 down.
Change 41.116 New z/OS 3.1 variable is added to RACF0200 dataset:
VMACRACF USBD_PHR_INTERVAL='DAYS*PASSWORD*CAN BE*USED'.
Dec 12, 2023
Thanks to Gaetan Martel, INTACT, CANADA.
Change 41.115 Updates to the CPU MF formulas for the z14 and z15 are
ASUM113 made because the z16 algorithm was improved in capturing
VMAC113 Finite Time so the z14 and z15 metrics are adjusted for
Dec 8, 2023 consistency. The website http://www.ibm.com/support/
Dec 28, 2023 techdocs/atsmastr.nsf/Webindex/TC000066 has the details.
Variables ESTFINCP & ESTSCP1M calculations were changed.
This change was wrong in 41.06, corrected in 41.41. The
test for version was misspelled SMF113VN2 vs SM113VN2.
Thanks to John Burg, IBM, USA.
Change 41.114 Variable SV36RID was not kept.
VMACSARR
Dec 1, 2023
Thanks to Steven W. Erkkila, USBANK, USA.
Change 41.113 SMF 110 SUBTYPE 1 MNSEGCL 5 RESOURCE (NOT CICSTRAN) ABEND
VMAC110 INPUT STATEMENT EXCEEDED due to 2 typos for MNR5OFFU that
Nov 29, 2023 should have been MNR5OFFW. Error introduced in 38.114,
Thanks to Robin van Westendorp, Standard Bank of South Africa, S.A.
Thanks to Jorge J. Quintela, Standard Bank of South Africa, S.A.
Change 41.112 DB2 SMF 102 IFCID 172 no obs because QWT02R2L length is
VMAC102 zero, now a flag that the length is in the first two
Nov 30, 2023 bytes pointed to by the QWT02R2O offset, an undocumented
change for SMF 102 records, although previously observed
in other DB2 SMF records.
Thanks to Jan Tielemans, KBS, BELGIUM.
Change 41.111 Support for APAR OA64781 and OA65494 TYPE70 dataset adds
VMAC7072 SMF70MDL_VAR='MODEL*VARIABLE*CAPACITY*IDENTIFIER'
Nov 21, 2023 SMF70MVCR ='MODEL*VARIABLE*CAPACITY*RATING'
SMF70NVCR ='MODEL*VARIABLE*CAPACITY*NOMINAL'
SMF70ZSU_ON_ZIIP='UNWEI ZIIP*ELIGIBLE*SU*ON ZIIP'
SMF70ZSU_ON_CP ='UNWEI ZIIP*ELIGIBLE*SU*ON CP'
SMF70JSU_ON_ZIIP='UNWEI ZIIP*ELIGIBLE*JAVA SU*ON ZIIP'
SMF70JSU_ON_CP ='UNWEI ZIIP*ELIGIBLE*JAVA SU*ON CP'
SMF70CPE_LO ='LOW*CPENABLE*THRESHOLD*VALUE'
SMF70CPE_HI ='HI*CPENABLE*THRESHOLD*VALUE'
Change 41.110 Variable T103ERIP, Remote IP Address, in TYPE103E dataset
VMAC103 was incorrectly input, the +1 should have been +4.
Nov 21, 2023
Thanks to Niels Oksholm, FDC, DENMARK.
Change 41.109 Support for RACF TYPE 0141/0209/0290/02C9/0509 creates
EXRAC141 five new datasets.
EXRAC209
EXRAC290
EXRAC2C0
EXRAC509
FORMATS
IMACRACF
VMACRACF
VMXGINIT
Nov 21, 2023
Thanks to Ervin Claxon, CSX, USA.
====== CHANGES THRU 41.108 ARE IN MXG 41.05 DATED Nov 16, 2023 =========
Change 41.108 Variable SV36MED was incorrectly input as numeric but
VMACSARR changing it to character would expose compatibility
Nov 15, 2023 issues, so now SV30MED is INPUT and kept in SARRU36.
Thanks to Steven W. Erkkila, USBANK, USA.
Change 41.107 Dataset ASUMCELP adds variables ICFMSU IFAMSU IFLMSU
VMXG70PR ZIPMSU and ZIPMSUHR to ASUMCELP with MSU totals for
Nov 14, 2023 each CPU Type.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 41.106 UCICSCNT utility INPUT STATEMENT EXCEEDED for MNSEGCL=5
UCICSCNT SUBTYPE=1 Resource Record, URIMAP and WEBSVC were not
Nov 14, 2023 decoded causing misalignment, and MXGDECOM code to
decompress SMF 110 records was not in this old utility.
Thanks to Raymond J Smith, OPTUM, USA.
Change 41.105 New parameter SORTBYADDS lets you add variables to the
ANALCEC by list.
Nov 6, 2023
Change 41.104 Option STOPOVER added to INFILE statements so bad record
VMXGHSM will be identified; without STOPOVER option SAS reports
Nov 6, 2023 LOST CARD that doesn't identify the problem record.
Change 41.103 If you changed times for Daylight Savings on an active
VMXG70PR system, a PROC MEANS could fail creating GRCAPS3 due to
Nov 6, 2023 GMTOFFTM out of order. This change moves GMTOFFTM
to an ID statement.
Thanks to Gennady.Katsnelson, Kyndryl, USA.
Change 41.102 ASUMUOW merge of CICSTRAN and DB2ACCT could have many obs
VMACDB2H sent to SPINUOW because the CICSTRAN SMFTIME resolution is
Nov 2, 2023 .01 seconds and QWHSSTCK resolution is .000001 seconds and
the DELTAGMT included fractional seconds where the GMT
offset must be in whole seconds. Changing the DELTAGMT
derivation, using DELTAGMT=ROUND(SMFTIME-QWHSSTCK); gives
the correct whole seconds, also populating the blank value
in TRANNAME in PDB.ASUMUOW, and providing the correct DB2
event order with or without ASUMUOW.
Change 41.101 TYPE80xx Resource Name variables RESNAME, RESNAMEx and
VMAC80A RES25MEx were INPUT as $VARYING64 but they can be $245
Nov 3, 2023 so are now increased in TYPE8001/8009/8024/8025/8033
datasets..
Thanks to Bill Arrowsmith, Euroclear, BELGIUM
Thanks to Geoff Moverley, Euroclear, BELGIUM
Change 41.100 Dataset TYPE3804 reread the first segment because OFFTHREE
VMAC38 was not updated, and the _ETY3804 statement was not inside
Oct 31, 2023 the DO loop so many observations were not output.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND
Thanks to Mark Tomlinson, Lloyds Banking, ENGLAND
Change 41.099 Corrections to Hitachi Mainframe Analysis Recorder MAR SMF
VMACMAR Variables MARS3CSWO MARS3CRFO now kept in MARST03 dataset
Oct 25, 2023 Dataset MARST03 variables MARS3CSWO MARS3CRFO now kept.
Dataset MARST03 BY List added MARSSN.
-Dataset MARST05 byte variables were not converted from KB
-Dataset MARST05 time variables were incorrect informat and
not multiplied by 128.
Thanks to Jan Tielemans, KBC, BELGIUM
Change 41.098 Availability reporting can now be grouped on program name
ANALAVAI rather than job name to specify application groups.
Oct 24, 2023
Thanks to Laszlo Horvath, Kyndryl, Germany
Thanks to Thomas Tesche, Intergo, Germany
Thanks to Attila Halacsy, Lumdru, Germany
Change 41.097 CICS 6.1 dynamic storage areas PCDSA PUDSA EPCDSA EPUDSA
FORMATS were not included in the $MGCICLO format.
Oct 23, 2023
Thanks to David Price, NatWest, ENGLAND.
Change 41.096 Support for AI Data Section which exists only for periods
EXTY99AI participating in WLM AI batch initiator management.
FORMATS Added in z/OS 3.1, creates new TYPE99AI dataset:
IMAC99 SM992AIMODELNAME ='MODEL*NAME*IDENTIFIER'
VMAC99 SM992AIMODELVERSION='MODEL*VERSION'
VMXGINIT SM992AIMODELUSECASE='MODEL*USECASE'
Oct 18, 2023 SM992AIFLAGS ='AI*FLAGS*SEE AIPRED*AISIMU'
SM992AIINFTIME ='LAST*INFERENCE*DURATION'
SM992AIDATA0 ='LAST*INFERENCE*RESULT'
SM992AIDATA1 ='ACTIVE*SERVER*PREDICTION'
SM992AIDATA2 ='ACTIVE*SERVER*PREDICTION*ERROR'
SM992AIDATA3 ='CP*SERVICE*PREDICTION'
SM992AIDATA4 ='CP*SERVICE*PREDICTION*ERROR'
SM992AIDATA5 ='ZIIP*SERVICE*PREDICTION'
SM992AIDATA6 ='ZIIP*SERVICE*PREDICTION*ERROR'
SM992AIDATA7 ='MODEL*DATA*FETCH*TIME'
SM992AIDATA8 ='MODEL*PROCESSING*TIME'
SM992AIPRED='AI*PREDICTIONS*ENABLED*THIS SRVCLASS?'
SM992AISIMU='AI*PREDICTIONS*IN SIMULATION*MODE?'
-AI-powered WLM batch initiator management augments WLM
with AI to optimize the management of IBM Z workloads.
These iteratively delivered capabilities will allow z/OS
to intelligently predict upcoming batch workload and
react by allocating an appropriate number of initiators.
This is designed to optimize system resources and batch
management, thus eliminating overhead from manual fine-
tuning and trial-and-error approaches. AI-powered WLM
batch management is the initial use case leveraging the
AI Framework for IBM z/OS.
Change 41.095 CICSTRAN variable WBURISCN was incorrectly spelled as
UTILEXCL WBIRISCN, now corrected.
VMAC110
Oct 17, 2023
Thanks to Scott Barry, SBBTechLLC, USA.
Change 41.094 Support for z/OS Connect V3.0.74.0 adds two variables to
VMAC123A SM123MAJOR='CONNECT*FEATURE*MAJOR*VERSION'
Oct 16, 2023 SM123MINOR='CONNECT*FEATURE*MINOR*VERSION'
Change 41.093 Variable NAMENODE was input $24 but is $64, and this
VMACXAM caused variables LOCATION MAP and TCPRELEASE to be
Oct 12, 2023 misaligned in XMTCPSYS dataset.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 41.092 Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2 We and several customers have tested z/OS 3.1 records
VMAC30 with back levels that support z/OS 2.5 (MXG 39.08).
VMAC7072 Change 41.096 added the new AI data in TYPE99 and
VMAC79 there were other APARs in 3.1, but we expect no issues.
Oct 26, 2023 -Dataset TYPE26J2 new variables:
SMF26UNL='SYS_HOLDUNTIL*DATETIME'
SMF26DNL='SYS_DEADLINE='DATETIME
SMF26JTK='SYS_JOBTOKEN*SIGNATURE'
SMF26JT1='LOCAL*JOB*SIGNATURE*ONE'
SMF26JT2='LOCAL*JOB*SIGNATURE*TWO'
SMF26TZO='GMT*OFFSET'
The GMT Offset is NOT exact, with values that follow the
SMFTIME, producing values of 09:29:59.28 .03 .05 .01
for South Australia which should be 9:30:00.00.
SMF26UNL and SMF26DNL haven't been tested with non=zero
and SMF26TSO is not added to them until validated.
-Dataset TYPE30_4 TYPE30_5 TYPE30_V new variables
SMF30JCLID1='LOCAL*JOB8SIGNATURE*ONE'
SMF30JCLID2='LOCAL*JOB8SIGNATURE*TWO'
SMF30JCLTOKEN='IDENTIFIER*FOR THE*JOB'
SMF30HOLDUNTIL'HOLDUNTIL*DATETIME'
SMF30DEADLINE='DEADLINE*DATETIME'
-The two changes for 26 and 30 were added by APAR OA64643.
-Dataset TYPE72GO new variable:
R723CPUCRIT='SERVICE*CLASS*IMPLICITLY*CPU CRITICAL'
Comment added for bit 7 R723MFLG WLMBATCH AI INFUSED
-Comment added for bit 7 for R791FLG3 in dataset TYPE791
and R792FLG3 in dataset TYPE792.
Change 41.091 Two JAVA memory options are found needed in z/OS CONFIGxx
ANALMSUS for graphs with ANALMSUS and may be needed for other uses
CONFIMXG of JAVA, even though REGION=0M was specified. JAVA
CONFIGxx required those min and max sizes to be at least 512m,
Oct 8, 2023 or the JAVA JVM failed to load.
JREOPTIONS=(
-Xmx512m
-Xms512m
-Dsun.java2d.fontpath=append:&SASHOME./
ReportFontsforClients/9.4
-With the above name for the FONTs directory, SAS messaged
that something in the fontpath was not a directory and
failed in the ODS and EXCELDEST statements. That error
was because the site had changed the SAS Default value of
NOCAPS to CAPS, which translates INPUT characters to
upper case. MXG hadn't previously had an issue with CAPS
so MXG does NOT force NOCAPS.
-However, the option NOCAPSOUT, SAS Default, z/OS only was
forced by Change 39.144 because ODS, USS, & Linux command
text in SASLOG messages needs to be printed in mixed case
so support can see the exact text that was used. That
change overlooked CONFIMXG, which is now corrected.
Thanks to Gene Pate, Hawaii Government, USA.
Change 41.090 TYPE99_6 dataset variables SERVER01-05 & SERVPN01-05 were
VMAC99 incorrect due to misalignment.
Oct 7, 2023
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 41.089 Cosmetic. INVALID DATA FOR RMFSTART SMF 79 SUBTYPE 15 has
VMACSMF no impact other than that message and a hex dump of the
VMACSMFL SMF record and possibly 4000+ lines of a PUT _ALL_ even
Oct 4, 2023 when NOT processing type 79 subtype 15 records. The _SMF
macro decodes the SMF Header and many Product Headers
and it expected all RMF records have a Product segment,
but the RMF 79.15 is documented that it doesn't, and the
MXG logic in VMAC79 for the actual decode of the full
79.15 record knows there isn't one, skipping that INPUT.
Now, the _SMF Header logic also skips that INPUT.
Thanks to Brian Sanger, Barclays, ENGLAND.
Thanks to Lalit Patil, Barclays, ENGLAND.
Thanks to Heimir Hauksson, Barclays, ENGLAND
Thanks to IBM Support whose time I wasted as this was an MXG error.
Change 41.088 For CICS CMF 110 SUBTYPE=1 MNSEGCL=1 Dictionary Records,
ASMDICTS ASMDICTS is a USER2 EXIT to IBM's IFASMFDP or IFASMFDL
ADOCDICT "SMF DUMP" programs that selects only the Dictionary
JCLDICTS records, skipping the other 110 records.
Oct 3, 2023
Change 41.087 CICINTRV now supports a ONEMINUTE value for _CICINTV for
VMXGCICI one minute statistics interval in CICINTRV dataset.
Sep 22, 2023
Thanks to Naveed Jeddy, ATOS, INDIA.
====== CHANGES THRU 41.086 ARE IN MXG 41.04 DATED Sep 20, 2023 =========
Change 41.086 %VGETOBS sets these values for &VGETOBS macro variable:
VGETOBS If the dataset does not exist, VGETOBS=0
Sep 19, 2023 If the dataset does exist, on DISK, VGETOBS= obs count,
so VGETOBS=0 if zero or the actual count of obs.
If the dataset does exist, on TAPE, and has two+ obs,
VGETOBS=1.
If the dataset does exist, on TAPE, zero obs, VGETOBS-0.
Note that finding the size of a dataset on a tape data
library requires reading the full tape until SAS finds
the dataset of interest, so this change to find that a
tape data set actually has observations can increase the
elapsed runtime significantly, and we have no solution.
And this also applies if the access method is SEQ to
read a SEQ dataset on disk, i.e LIBNAME PDB V9SEQ;
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 41.085 IBM confirms the Interval Duration in Subtype 6 and 7 of
TECHNOTE the TYPE 119 records can be either less than or greater
TYPE119 than the actual SMF Interval and they will not fix it.
Sep 19, 2023 The problem is that the STARTIME calculation depends on
the correct DURATM, and when the duration is less than,
the STARTIME is in a different 15 minute interval.
STARTIME=900*FLOOR((STARTIME+1)/900); WILL CORRECT.
but MXG won't use that and will preserve original values.
Thanks to Jorge Fong, City of New York, USA.
Change 41.084 Syntax error, single % where double %% is needed.
ASUMMSUS
Sep 19, 2023
Thanks to Gene Pate, Hawaii Government, USA.
Change 41.083 ARRAY RANGE EXCEEDED error with more than 256 SYSTEMs in
VMAC7072 the SMF file. Limit increased to 1024.
Sep 17, 2023
Thanks to Robert Olah, Ensono, USA.
Change 41.082 New initialization messages if the FORMATS library had
VMXGINIT not been created or if the FORMATS were not created by
Sep 16, 2023 the current version.
Change 41.081 Support for CICS/TS 6.2 BETA 16 INCOMPATIBLE. Inserted
VMAC110 new variable TCLSTSKS='ACTIVE +*QUEUED TASKS IN TRANCLASS
UTILEXCL
Sep 15, 2023
Change 41.080 Support for VIRTEL/VIRSTAT records, incompatibly changed
VMACVIRS in version 640/641.
Sep 14, 2023
Thanks to Ervin Claxon, CSX, USA.
Change 41.079 Variable GEIFLG22 could be wrong, typo lost end comment.
VMACRMFV Format CPUPHYAD CAN NOT BE FOUND when ZRBCPU has 0 obs?
Sep 14, 2023 Add ZRBCPU to ASMRMFV selection and/or Contact Support.
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 41.078 ERROR: FOLLOWING COLUMNS WERE NOT FOUND: FILEREF XENGINE
VMACSMF in the PROC SQL in %MACRO SMFFTP execution in VMACSMF was
Sep 14, 2023 found ONLY because there was an innocuous SAS Note
THE SAS OPTION CATCACHE WAS SET TO 0 BECAUSE SAS OPTION
MINSTG (MINIMUM STORAGE IS ON) that prevented those
columns from being created in the PROC SQL view of
DICTIONARY.EXTFILES.
Change 41.077 Corrected MIPS calculations. Only a problem if the LPAR
ANALCEC was not capped and the available MSU/MIPS were missing
Sep 12, 2023 values.
Change 41.076 Dataset Label TYPE71 corrected to 'RMF PAGING ACTIVITY'.
VMAC71 Starting in MXG 37.37, when TYPE71 was sorted, label was
Sep 8, 2023 TY71: deaccumulated dataset label.
Thanks to Raymond Smith, OPTUM, USA.
Thanks to Ronald W Bassett, OPTUM, USA.
Change 41.075 Change 41.063 corrected error in created IMACEXCL when
UTILEXCL ABCODEC (second ABEND CODE) was excluded but created new
Sep 6, 2023 CPUTM 10X LARGER THAN ELAPSED error when it wasn't.
Thanks to Daniel D. Hamiel, Nedbank, SOUTH AFRICA.
Thanks to Graeme G. Smeda, Nedbank, SOUTH AFRICA.
Change 41.074 On WINDOWS if you are installing a new release of SAS
TECHNOTE with STUDIO installed, you MUST disable some STUDIO
Aug 31, 2023 services. You will get an errors trying to create the
private java runtime directory because services have a
lock on the directory. From Windows Command Box, enter
SERVICES.MSC and scroll to find SAS and stop these tasks:
SASStudioSpawner
SASStudioWebAppServer
Change 41.073 Support for Subtype 36 SARR (CAVIEW) SMF Record populates
VMACSARR SARRU36 SARRT36 and SARRI36 datasets which previously had
Aug 29, 2023 zero observations.
Thanks to Steven W. Erkkila, USBank, USA.
Thanks to Troy Wegener, USBank, USA.
Change 41.072 CICS/TS 6.2 will suppress SMF records with zero-counting
TECHNOTE fields in these type of statistics (SMF 110 Subtype 2):
Aug 23, 2023 Interval Stata
Perform Stats (CEMT PERFORM STAT)
Perform Reset (CEMT PERFORM STAT RESET)
These types of statistics are NOT suppressed to reflect
there was a change in stats.
End of day statistics
(so zero-count ones will appear in SMF once a day).
Unsolicited statistics
In other types of statistics records just after the
resource is being created in CICS (to reflect the
change in stats.
This suppression is automatically enabled with no toggle.
-One region, 500,000 transactions, 97% not being used.
-75.8 MiB SMF data for transaction statistics DFHXMRDS
-saved per day.
-One region, 500,000 programs with 70% not used.
-40 MiB SMF data for Program Usage stats (DFHLDRDS)
savings per interval
Change 41.071 Variable CECSER6 is added to TYPE70/TYPE70PR/RMFINTRV for
VMAC7072 z/OS and to XAMSYS for Velocity.
VMACXAM CECSER ='CEC 4 DIGIT*SERIAL NUMBER*OF THE CEC'
VMXGRMFI CECSER6 ='CPC 6 DIGIT*SERIAL NUMBER*OF THE CPC'
Sep 12, 2023
Thanks to Douglas C Walter, CITIGROUP, USA.
Change 41.070 Dataset TYP11906 arbitrarily kept only 4 Home Address but
VMAC119 site has 5 so two new variables (IFADDLIx5) are added.
Aug 15, 2023
Thanks to Karl Lasecki, Chemical Abstracts, USA.
====== CHANGES THRU 41.069 ARE IN MXG 41.03 DATED Aug 11, 2023 =========
Change 41.069 MXG 41.03 Early Adopter ONLY. Missing asterisk caused
UTILEXCL errors in the created IMACEXCL.
Aug 9, 2023
Thanks to John Compton, Altair, UK
Change 41.068 %CLEARDB2 inserted by prior (unreleased) change 41.062
UTILBLDP caused STARTHR NOT FOUND in MOBWRK02.
Aug 7, 2023
Change 41.067 DB2H Header variables QWHCAID and QWHCOPID were increased
VMAC116 to $128 but VMAC116 also inputs both variables, but only
Aug 2, 2023 length $8. If DB2 and 116 are processed together and the
first reference is 116 - UTILBLDP(USERADD=116 DB2) - then
the DB2 variables were truncated. Both variables are now
set to $128 length in VMAC116 to protect the DB2 values.
Thanks to Harald Seifert, HUK-COBURG, GERMANY
Change 41.066 SMF 99 Subtype 9 INPUT STATEMENT EXCEEDED because the SMF
VMAC99 manual showed length of 5 for field at offset 91 in the
Jul 28, 2023 channel path data entry section but length is only one as
the next offset in the manual is 92. There was also an
INVALID DATA FOR S999CHNR because it's PIB.1. was missing
the second period, and the INPUT statement was missing
S999FLG1 AND S999FLGS, which are now added to the dataset
TYPE999I. The record also looks invalid as all fields
after S999FLGS are hex zeros.
Thanks to Mayank Vyas, ATOS, ???
Change 41.065 MXG 41.01 and 41.02, IDAA variables Q8STINSC to Q8STVLCS
VMACDB2 in lines 12303 to 12334 were shifted right beyond column
Jul 28, 2023 72, truncating the */ end of comment, which caused wrong
values but no error.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 41.064 Dataset TYP11910 variable UCLIPV6 was wrong, containing
VMAC119 blanks ('20'x or '40'x) for the first five segments for
Jul 27, 2023 Local IP addresses that were not IPV6 because the wrong
"High" bits variable was used in its calculation.
Thanks to Miguel Fco. Monferrer Carvajal, ITNOW, SPAIN.
Change 41.063 REPLACED BY CHANGE 41.075.
UTILEXCL If CICS field 114 ABCODEC is EXCLUDEd but 113 ABCODEO is
Jul 26, 2023 not, IMACEXCL wasn't aligned and you will likely get
ERROR.VMAC110 CPUTM 10X LARGER THAN ELAPSED and the
value in MCTSSDRL in that message is 4 less than
COL-SEGSTART. Change 38.113 originally circumvented.
This change detects the EXCLUDEd ABCODEC and sets macro
variable MXGCICSABCODELN=4 to correct the MXG error.
By default, UTILEXCL creates variable ABCODE $EBCDIC8.
from the two 4-byte fields ABCODEO and ABCODEC 113/114,
but if only ABCODEO 113 exists, that INPUT statement
needed to be ABCODE $EBCDIC4.
Thanks to Paul Beesley, ATOS, UK.
Change 41.062 Modified to check the value of LRGLRECL and if gt 32760
UTILBLDP and you have asked for BUILDPDB with CICS DB2 or you are
Jul 22, 2023 using USERADD to read 110 or DB2 data without the CICS
INFILE exit on zOS LRGLRECL is set to 32760 with:
MXGNOTE: LRGLRECL MODIFIED FROM &LRGLRECL TO 32760;
If DB2 data is being processed issues %cleardb2 before
reading data.
Change 41.061 Previously, use of ENCODING=EBCDIC1047 could cause wrong
VMXGINIT values and ENCODING=OPEN_ED-1047 was required to resolve,
Jul 18, 2023 as was documented in Change 37.267, but that is no longer
true, the same values are created with either ENCODING.
This change removes the ERROR message for EBCDIC1047 and
only prints the ENCODING value when MXGDEBUG is enabled.
Change 41.060 SORTS added to correct ERROR: BY VARIABLES WORK.GETCPA,
ANALMSUS that only occurred when multiple CECs data was analyzed.
Jul 17, 2023
Thanks to Robert Hamilton, Fifth Third Bank, USA.
Change 41.059 Total lines added to reports 7 and 8 and new report 9
UTILRMFI added that compares control and report class CPU times.
Jul 13, 2023 If total line on report 9 does not match between control
and report classes you cannot use report class to define
workloads.
Change 41.058 Blank or missing values for QWHCxxxx variables in the DB2
VMAC102 T102Snnn trace datasets can be due to the absence of the
Jul 14, 2023 Correlation Header, which is optional:
The DB2 manual on "start trace", specifies:
If you omit the TDATA option, correlation headers and
distributed headers (if present) are included by
default. However, I changed my command from:
START TRACE(STAT) DEST(SMF) IFCID(412) CLASS(11)
To:
-START TRACE(STAT) DEST(SMF) IFCID(412) CLASS(11) TDATA(COR)
And I am getting the data I expect.
Thanks to Robert Hagle, State Farm, USA.
Change 41.057 Variable QBACSYIT was not divided by 1E6 in the DB2ACCTP
VMACDB2 dataset.
Jul 11, 2023
Thanks to Scott Barry, SBBTechLLC, USA.
Change 41.056 Variable PCTMVSBY was not created in PDB.ASUMCELP.
VMXG70PR ANALCEC now recognizes the system is under z/VM.
Jul 5, 2023
Jul 17, 2023
Thanks to Naveed Jeddy, ATOS,
Change 41.055 No code change, example added:
UTILBLDP EXAMPLE 24.
Jul 4, 2023 BUILDPDB suppresses DB2 and CICS. Add 38, LLA, X37,
FTP, and TCP. Defer PDBAUDIT. Run ASUNSMFI ASUMJOBS.
After UTILBLDP run ASUMMIPS and %INCLUDE YOUR OWN CODE.
Finally, run PDBAUDIT.
Change 41.064 TYPE74CA storage variables CSCONF CSAVAIL CSPINNED CSOFFL
VMAC74 CNCONF and CNPINNED were displayed as MB but they are GB.
Aug 1, 2023 Originally documented in KB when R745SFT=1, now IBM sets
R745SFT=2 but the values are still in KB with either 1/2.
MXG now multiplies by 1024 for either value in R745SFT.
Thanks to Shivang Sharma, ENSONO, USA.
Change 41.053 Support for APAR OA62355 which adds new TYPE 30 Container
BUILD005 section, adding these variables to TYPE30_4 TYPE30_5
BUIL3005 and PDB.STEPS:
VMAC30 SMF30_CONTAINER_ID $EBCDIC64. /*CONTAINER*ID*/
Jul 1, 2023 SMF30_CONTAINER_QUAL $EBCDIC32. /*CONTAINER*QUALIFIER*
SMF30_POD_ID $EBCDIC64. /*POD*ID*/
Change 41.052 BMC CMF, TYPE 74 SUBTYPE 9 INPUT STATEMENT EXCEEDED only
VMAC74 if a PCIE Function was CONFIGURED online or offline.
Jun 29, 2023 Corrected by BMC APAR BQM1865 (available in May 2023).
The reconfiguration record created a PCIE Function ID
segment that did not have a matching Sync I/O segment but
R749SION was not a zero.
Thanks to Raymond J. Smith, OPTUM, USA.
Change 41.051 Variable WBIRISCN was misspelled in UTILEXCL as WBURISCN.
UTILEXCL Variable WBJSNRPL was misspelled in VMAC110 as WBJBNRPL.
Jun 29, 2023
Change 41.050 Previously, only ID=102 SMF records had Subtype GT 255,
FORMATS and MXG protected that ID, but now, SMF 98 records with
VMACSMF subtype 1024 & 1025 exposed an ancient circumvention for
Jul 2, 2023 for a bad MIM record that had only a one byte subtype.
That MXG fix input only MIM's first byte, but that one
byte input now, with subtype GT 255, incorrectly makes
the subtype value wrong, to a 4 for 1024/1025 or to 127
for a subtype of 32767. This change removes that code
and now, subtypes 0 to 32767 are now correctly input.
HOWEVER, the large subtypes impact the calculated value
of the ANALID reporting variable SMFIDSUB that has only
three subtype positions (098.001), creating an unexpected
value of 99.024 for the ID 98 Subtype 1024 record!
Fortunately, all of the ANALID reports use the $MGSMFID
format for printing SMFIDSUB, so adding an entry for
' 99.024'='098.1024' now displays the expected value,
avoiding a risky revision of the SMFIDSUB creation logic.
Change 41.049 -WIC SMF 98 CICS Subtype 1024 ABEND, INPUT STATEMENT WAS
EXTY98B1 EXCEEDED because only the Subtype 1 was documented in the
EXTY98B2 SMF Manual. Now, the z/OS Workload Interaction Correlator
EXTY98EX CICS 1024 WIC (an IBM Priced Product) is documented in
EXTY98JB HTTPS://WWW.IBM.COM/DOCS/EN/CICS-TS/5.6?TOPIC=CAEZWIC-
IMAC98 DATA-FIELDS-SMF-TYPE-98-SUBTYPE-1024-RECORDS
VMAC98 and this change creates four new datasets from the 1024.
VMXGINIT DDDDDD DATASET DESCRIPTIONS
Jun 26, 2023 TY98B1 TYPE98B1 CICS BUCKET 1
Jun 26, 2023 TY98B2 TYPE98B2 CICS BUCKET 2
Jul 2, 2023 TY98EX TYPE98EX CICS EXCEPTIONAL INDEX
TY98JB TYPE98JB CICS EXCEPTIONAL JOB
Thanks to Harald Seifert, HUK-COBURG, GERMANY
Change 41.048 -Cleanup of datasets that were left in //WORK after SORTs:
ANALID VMAC7072:
ASUMMIPS Delete WORK.TYPE70PR in _STY70.
BUILDPDB Delete WORK.TYPE70 WORK.TYPE72GO in _STY72GO
BUILDPD3 ASUMMIPS:
VMAC7072 Delete RMF70SUM RMF72SUM SMFSUM.
Jun 25, 2023 ASUMMIPS is now defined as a %MACRO so that you can
invoke only %ASUMMIPS; instead of having to specify
_RMFMIPS and _SMFMIPS. There is a single parameter
REPORTS= with a default of ALL which will run both.
REPORTS=RMF will run _RMF and REPORTS=SMF _SMF.
ANALID:
Delete SMFRECST.
-New TYPE30CP and TYPE30NP output to PDB in BUILDPDB/PD3.
-MXG 41.01 Only. SMF70MTTT wasn't DIF()'d missed semicolon
Change 41.047 The selection order for //SOURCLIB DD is from the FIRST
TECHNOTE DSNAME in the concatenation, but the selection order for
Jun 23, 2023 //CONFIG DD is the LAST DSNAME in the concatenation.
Change 41.046 ERROR 72-185 COUNTW HAS TOO MANY ARGUMENTS with SAS 9.1.3
TECHNOTE signals the death of that ancient version for MXG use.
Jun 20, 2023 The third argument was not added until SAS Version 9.2.
Fortunately, only six ancient (2013) Websphere Flat File
processing members VMACXD-fg/ns/sp/ss/ti/ts have the 3rd
argument, but they do cause JCLTEST9/TESSOTHR to ABEND.
Change 41.045 CICSEXCE Exception Records are only written for ABENDING
TECHNOTE tasks, so transactions that have long wait delays, but do
Jun 20, 2023 run (i.e., socket wait that eventually clears) won't have
observations.
Change 41.044 SMF Type 30s with SRVCLASS=SYSOTHER can be created by the
TECHNOTE Veloci-Raptor product documented in their note:
Jun 14, 2023 There is a very brief period of time during mode switch
or during a policy activation where SRM and WLM control
blocks are still being created. If SMF writes type 30
records during this time when the control blocks are
not present, it will record the address space as being
associated with service class SYSOTHER. So even if an
installation fully classifies all work, that site might
see an occasional job associated with SYSOTHER in 30s.
Change 41.043 Ten Dedicated Memory variables are added to ZRBASI.
VMACRMFV Four Dedicated Memory variables are added to ZRBGEI.
Jun 12, 2023 Thes fields are new in z/OS 3.1.
Change 41.042 Twelve sets of MIN/MAX/AVG Dedicated Memory variables are
VMAC71 added (new in z/OS 3.1) to TYPE71 dataset.
Jun 10, 2023
Change 41.041 SMF71GFX (MAX TOTAL 2GB FRAMES CAN BE USED) is added into
VMAC71 CSTORE replacing incorrect SMF71GRX (MAX 2GB PAGES FIXED)
Jun 7, 2023 which caused CSTORE to be too small.
Thanks to Ann Knapik, Progressive, USA.
Change 41.040 Dino Software's Veloci-Raptor subtype 5-6 and 16-21 have
EXVELO00 only the header thru DSNAME decoded so all are output in
IMACVELO new VELOST00 dataset with VELBUBTY format
VMACVELO
VMXGINIT
FORMATS
Jun 7, 2023
Thanks to Philip E. Barchat, Broadridge, USA.
Change 41.039 MXGDEBUG new option MACRO sets MPRINT SYMBOLGEN MLOGIC
VMXGINIT options and will display the ENCODING OPTION in effect of
Jun 6, 2023 MXGDEBUG is non-blank.
====== CHANGES THRU 41.038 ARE IN MXG 41.02 DATED Jun 5, 2023 =========
Change 41.038 -Support for CICS/TS 6.2 INCOMPATIBLE, FIELDS INSERTED,
UTILEXCL MANY WRONG VALUES (Neg TASZIPTM, MAXTASKS 3.2 Billion)
VMAC110 but no error messages. Tested now with OPEN BETA BUILD12.
May 31, 2023 -CORRECTION for CICS/TS 6.1 with default VMAC110 but was
Jun 4, 2023 ok if UTILEXCL was used to create an IMACEXCL for 6.1.
Default VMAC110 in 41.01 and earlier was misaligned, with
possible error message "CPUTM 10X LARGER THAN ELAPSED".
This change is in MXG 41.02 dated Jun 5, 2023.
June 4 "cosmetic" updates previously overlooked:
Variables now KEPT in CICSTRAN:
WBJSNRPL
Variables added to compiler faker (only to prevent an
"uninitialized variable" note if excluded):
ASFTCHTM=.; ASRMATTM=.; WMQASRTM=.;
ASFTCHCN=.; ASRMATCN=.; WMQASRCN=.;
WBJSNRPL=.;
Variables formatted TIME16.6:
ASFTCHTM ASRMATTM WBSVINTM WBURIOTM WBURIRTM
WBURISTM WMQASRTM
Change 41.037 Dino Software's Veloci-Raptor datasets were misaligned
VMACVELO after the header DSNAME field due to a 3 byte reserved
May 30, 2023 field that was not skipped. Only subtypes 1, 2, 3 & 4
have data fields described in the DSECT so only those
subtypes are processed, with subtype 3 and 4 both output
in VELOST04 pending documentation from the vendor.
Thanks to Phillip Barchat, Broadridge, USA.
Change 41.036 Support for TOKDANAM values XUHSTORY XUTIMING XUGROUPS in
VMAC80A TYPE80TK.
May 22, 2023 Support for EV44VAL length greater than 80 error messages
RACF EV(44) ERROR. INVALID RACFDLNN and INPUT EXCEEDED.
Thanks to Bheema Linga Prasad Kammara, NAB, AUSTRALIA.
Thanks to Bhuvaneshwari Shanmugam, NAB, AUSTRALIA.
Change 41.035 Support for DB2 TRACE IFCIDs 411 and 412 creates two new
EX102411 datasets:
EX102412 DDDDDD DATASET DESCRIPTION
FORMATS 102411 T102S411 APPLICATION STATISTICS
IMAC102 102412 T102S412 USER STATISTICS
VMAC102
VMXGINIT
May 19, 2023
Thanks to Rohini Bachina, FMR, USA
Change 41.034 JCL example creates EREP History File that MXG can read
VMACEREP //UNLTAP EXEC PGM=IFCEREP1,PARM='ACC=Y,PRINT=NO,ZERO=N'
May 16, 2023 //SERLOG DD DISP=OLD,DSN=SYS1.LOGREC
//ACCDEV DD DISP=(MOD,KEEP),DSN=EREP.HISTORY(0)
//TOURIST DD SYSOUT=*
//SYSIN DD DUMMY
//EREP EXEC MXGSAS
//SYSIN DD *
//EREP DD DSN=EREP.HISTORY(0),DISP=SHR
//PDB DD DSN=EREP.PDB(0),DISP=SHR
//SYSIN DD *
%INCLUDE SOURCLIB(TYPSEREP);
Thanks to Tom Medland, Kyndryl, USA.
CHANGE 41.033 Support for HIS SMF 113 MT Diagnostic Counters in dataset
ASUM113 TYPE1131 and ASUM1131 for z/OS.
VMAC113
May 12, 2023
Thanks to David Cogar, Wells Fargo, USA.
CHANGE 41.032 Format MG099PT created for variable S99CCCCPT to identify
FORMATS the processor type, CP or ZIIP. Labels changed to
VMAC99 S99CPUA ='MVS*CP*PERCENT*BUSY'
May 9, 2023 SMF99_SUPA='MVS*ZIIP*PERCENT*BUSY'
and format for SUPA now matches CPUA 5.1.
Thanks to Joe Faska, DTCC, USA.
CHANGE 41.031 Some tests for FOCVER=560 for VSAM records were found to
VMAC112 apply to FOCVER=550, causing UNKNOWN SUBSUBTYPE FFFF
May 5, 2023 message and no output.
Thanks to Murikipudi Devanand, ALLSTATE, USA.
CHANGE 41.030 If you did not execute the _SUOWSPN macro you got a
VMXGUOW DATASET NOT FOUND error for SPIN.SPINUOW. NODSNFERR and
May 5, 2023 NOVNFERR are now set at top of VMXGUOW and reset at end.
Thanks to Andy Mashburn, Trustmark, USA.
Thanks to Laura Bridges, Trustmark, USA.
CHANGE 41.029 Dataset NDMRT enhanced with 9 Parameter Value variables,
VMACNDM and 9 length of parameter values:
May 3, 2023 NDMRTPAR1='PARM*ONE'
Jul 27, 2023 NDMRTPAR2='PARM*TWO'
... ...
NDMRTPAR9='PARM*NINE'
NDMRTPARLEN1='LENGTH*OF*PARM*ONE'
NDMRTPARLEN2='LENGTH*OF*PARM*TWO'
... ...
NDMRTPARLEN9='LENGTH*OF*PARM*NINE'
NDMRTPARCT='COUNT*OF*PARMS'
Thanks to Kerry L. Turk, FMR, USA.
Change 41.028 -Version 2 of ASMRMFI for SPLIT70 processing.
ASMRMFI -GRBSMFR found to be leaving the reassembly area from
JCLRMFI the RSQ=1 "broken" (split) record of the set of records
JCLRMFIL used to reassemble long record. To prevent the long
May 7, 2023 record from being detected as a "broken" record, the
reassembly triplet will now be zeroed out for 7x
records longer than 32767 bytes.
-SYSPRINT added with identification and maintenance
levels and summary statistics showing basic counts of
records processed and actions performed.
-Return/reason code detection for records not converted
to "current" added.
-For Diagnostic S0C1 abends R15 now points to GRBSMFR
answer area.
-JCLRMFIL had invalid refer-back.
CHANGE 41.027 The _SMF header macro now populates VMSYSTEM, CPUTYPE,
VMACSMF PRODCMF and RMFSTART, to enhance the use of _SMF for the
VMACSMFL selection of SMF records to be read and reported, using
May 15 2023 %LET MACFILE= %QUOTE ( IF whatever ) ; for selection.
CHANGE 41.026 Support for Seasoft TRMS Version 7.02 new subtype 6 and 7
EXTRMS06 and new variables including decoding S05KEY. Datasets:
EXTRMS07 DDDDDD DATASET DESCRIPTION
FORMATS TRMS06 TRMS06 TRMS REPORT RESTORE
IMACTRMS TRMS07 TRMS07 TRMS REPORT TRANSFORMATION
VMACTRMS
VMXGINIT
Apr 29, 2023
Thanks to Tom Welch, ???, ???
Thanks to Larry Dinwiddie, Seasoft, USA.
Thanks to Randall Evans, Seasoft, USA.
Thanks to Hector Torres Aguilar, ATOS, MEXICO.
Thanks to Naveed Jeddy, ATOS, INDIA.
CHANGE 41.025 LARGE VALUE FOR LCPUPDTM message revised and LCPUPDTM is
VMAC7072 set to zero when LCPUPDTM GT DURATM+60 DETECTED. Problem
Apr 25, 2023 is under investigation, found only with LPARNAME=PHYSICAL
in ten cases in 12,000 type 70 subtype 1 records from 40
systems at z/OS 2.3 2.4 and 2.5.
CHANGE 41.024 CPCMSU was not carried into GROUP level datasets and
VMXG70PR caused an unitialized message. If you had multiple
Apr 25, 2023 systems with different GMT offsets it could fail with
data out of order because BY list was different for
the PROC SORT than the following PROC MEANS for the
GRCAPS2.
Change 41.023 Support for SMF 90 Subtype 42 BOOT VALIATION records
VMAC90A creates three datasets
IMAC90A DDDDDD DATASET DESCRIPTION
FORMATS T9042A TYP9042A BOOT VALIDATION AUDIT
VMXGINIT T9042B TYP9042B BAD BOOT CERTIFICATE
EXT9042A T9042C TYP9042C BOOT VALID CERT EXTRACT
EXT9042B APARs OA62783 and OA63507 create the new subtype.
EXT9042C
Apr 25, 2023
Change 41.022 Variable SMFTIME is not kept in TYPE30_1, TYPE30_4, and
TECNOTE TYPE30_5 datasets because it is stored in the variables
Apr 15, 2023 JINTTIME in 30_1, TERMTIME in 30_4 and JTRMTIME in 30_5.
Thanks to Phil J. Grasser, NSCORP, USA.
Change 41.021 MXG code to process Velocity Software zVPS VSICPU data
VMACXAM was misaligned causing very large (E75) values that were
Apr 14, 2023 not detected when the dataset was created, but caused
Floating Point errors when a PROC COMPARE was used to
read that dataset.
Thanks to Raymond J. Smith, Optum, USA.
Thanks to Ralph J. Romano, Optum, USA
Change 41.020 -Support for RACF Unload IRRDBU00 utility creates three
EXRA1210 new datasets
EXRAC20A TYPE DDDDDD DATASET DESCRIPTION
EXRAC2F0 02F0 RAC2F0 RACF02F0 EIM LDAPBIND PROFILE NAME
EXRAC530 020A RAC20A RACF020A MFA FACTOR
EXRAC5E0 1210 RA1210 RACF1210 MFA FACTOR TAGS
EXRAC5H0 05E0 RAC5E0 RACF05E0 CFDEF
FORMATS 05H0 RAC5H0 RACF05H0 MFA FACTOR DEFINITION
IMACRACF 0530 RAC530 RACF0530 GEN RES SSIGNON
VMACRACF -Record Types 0130 0208 0280 02B0 0508 are decoded into
VMXGINIT existing datasets.
Apr 14, 2023 -Dataset RACFID now has undecoded Record Types.
Their existing datasets had only header variables.
Thanks to Gaetan Martel, Intact, CANADA.
Thanks to Serge-TI Belanger, Intact, CANADA.
Change 41.019 -Support for new TYPE83MF Multi Factor Authentication
EXTY83MF dataset from SMF 83 Subtype 7.
IMAC83 -MG080SE format (IBM ICHRUTKN) new decimal value 21 added.
VMAC83
VMXGINIT
FORMATS
Apr 3, 2023
Thanks to Andre Gustavo Moretto, Kyndryl, USA.
Change 41.018 If you want to see/use the actual byte values for MGBYTES
FORMATS formatted variables, for example to download to a CSV and
Mar 31, 2023 plot with EXCEL, you can create this temporary format:
PROC FORMAT; VALUE MGBYTES;
to replace MXG's MGBYTES format. The temporary format
will only be used for the step/session with PROC FORMAT.
Change 41.017 If you wanted a report of INITs by SYSTEM, it failed
ANALINIT because JOBCLASS was hardcoded in some &SORTBY code.
Mar 30, 2023 Code was revised to support multiple &SORTBY values.
Thanks to Jim S. Horne, Lowe's, USA.
Change 41.016 DB2 SMF 102 IFCID 389 variable QW0389FF added causing MXG
VMAC102 INPUT STATEMENT EXCEEDED error. Now alignment corrected.
Mar 30, 2023
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
====== CHANGES THRU 41.015 ARE IN MXG 41.01 DATED Mar 24, 2023 =========
Change 41.015 More new Direct Memory (z/OS 3.1) variables were added to
VMAC30 the initial list in Change 40.087. The full set of new
Mar 21, 2023 variables are these:
S30DMREQUESTED2G S30DMMINREQUESTED2G S30DMASSIGNED2G
S30DMINUSEAS2G S30DMINUSEASFIXED1M
S30DMINUSEASPAGEABLE1M S30DMINUSEAS4K
S30DMINUSEASDATTABLES S30DMINUSEAS4KHWM
S30DMINUSEASPAGEABLE1MHWM S30DMINUSEASFIXED1MHWM
S30DMINUSEASDM2GHWM S30DMINUSEASDATTABLESHWM
S30DMINUSEHWM S30DM2GFAILED S30DM1MFAILED S30DM4KFAILED
S30NUMINUSEAS2GHWM S30NUM2GFAILED S30DMINUSEAS2GHWM
S30DM2GNOTAVAIL S30OBTAINSHOMESPACE
S30IARV64OBTAINHOMESPACE S30FRAMESFIRSTREFERENCEBACK
S30SUMREAL1M S30SUMSQUARESREAL1M S30NUMSAMPLES
S30HWMHVREAL1M
Change 41.014 -Variables P0RCDI and P1RCDI are now correctly FORMATTED
VMACBVIR as HEX4 instead of MGBYTES and removed from &MXGBYLN.
Mar 21, 2023 -Variable MAXAHCT was INPUT one byte too soon, +1 added.
Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.
Change 41.013 INPUT STATEMENT EXCEEDED for DB2NETZA Q8ST IDAA SMF 100
VMACDB2 SUBTYPE 1 DB2NETZA records, due to MXG error in heuristic
Mar 19, 2023 calculation of the offset to the next segment, BUT ONLY
if variable length field Q8STNAME is Less than 8 bytes.
This is not new MXG code and only one site so far has
seen the error and all prior test data did have 8 bytes.
You can circumvent the error with
%LET MACFILE= %QUOTE(IF ID=100 AND SUBTYPE=1) THEN DELETE;
in your SYSIN, or ask MXG Support to email the VMACDB2.
The site with this error is not actually using NETEZZA
and I'm asking IBM for help in understanding why the Q8ST
segment is created, can it be disabled, and where the
installation defines that character field and its length.
The LENQ8ST length of segment field is INPUT before the
loop so it is not updated for each instance of the Q8ST
segments. It was 897 for all three segments, but the hex
dump shows that they are 897, 900 and 900 bytes long.
Those wrong LENQ8ST values and the Q8STNAMELEN length of
QBSTNAME were used in MXG's heuristic calculation of the
location of the next segment, but that code was WRONG if
QBSTNAMELEN was NOT 8 bytes, causing the OFFQ8ST location
of next segment to be mis-aligned; the MXG calculation
logic error was also assisted by the undocumented 2-byte
field found after the Q8STNAME field.
That undocumented 2-field after the QBSTNAME field may
have been an IBM attempt to provide the actual LENQ8ST
for each segment, but its value is wrong, containing 898
(+2=900) in the first two segments when it should have
been 895 (+2=897) and 898 (+2=900). It has a value of 116
in the last segment, but that is not used as there is no
next segment, and there are 133 undocumented bytes after
it, and none of the other triplets point to that area.
Q8STNAME is the Accelerator Server Identifier and you can
verify the non-8 value in QBSTNAMELEN variable in the log
in the PUT _ALL_ after the hex dump if you get the ABEND.
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
Change 41.012 -SAS Support for SPLIT70 LRECL GT 32760 Windows and Unix.
SASTECH Changes 40.140 40.150 150A 150B 41.003 and 40.011 require
SPLIT70 SAS HOT FIXES in SAS Note 69871 for ASCII Platforms.
Mar 10, 2023 A fix for this issue for Base SAS 9.4_M8 is available at
https://tshf.sas.com/techsup/download/hotfix/HF2/L8X.html#69871
A fix for this issue for Base SAS 9.4_M7 is available at
https://tshf.sas.com/techsup/download/hotfix/HF2/I9R.html#69871
-MXG (i.e. SAS) can read VBS records with LRECL greater
than 32K. However, IBM reassembly architecture of RMF
records (introduced in 2015 with z/OS 2.2) resulted in
splitting the data in the original long LRECL records
(have seen 3.7M) into records
smaller than 32k. This splitting resulted in related
triplet sections assumed by MXG coding to all to be in
the same record to no longer be a valid assumption. To
resolve the issue, reassembly of the original long
record was developed on z/OS, but during testing of the
reassembly process on SAS/PC, it was found that using
RECFM=S370VBS for the output LARGE LRECL, those files
were not being properly created. This hotfix addresses
that issue with SAS/PC.
Change 41.011 -Addition of ASMRMFI program using IBM GRBSMFR service
ADOCRMFI to reassemble "broken" (split) RMF (7x) long records
ASMRMFI (where the LRECL is greater than 32756 bytes)
JCLASMXG -Revision of ADOCRMFX to include reference to ASMRMFI
JCLRMFI - Addition of JCLRMFI assemble/link of ASMRMFI
SPLIT70 - ASMRMFI added to JCLASMXG
Mar 10, 2023
Change 41.010 Support for DB2 V13 new variables (COMPATIBLY ADDED).
FORMATS -New IFCID 396 creates new T102S396 dataset which is a low
EX102396 overhead trace record for index page splits, low overhead
IMAC102 as it's only generated when elapsed time of index page
VMXGINIT split is unusually high (GT 1 second) and provides both
FORMATS the UR ID and data sharing member number.
VMACDB2 -Variables added to DB2ACCT AND DB2STAT5 (IFCID 369):
VMAC102 QWAC_AIDB_FNS_ELAP='ELAP TIME*SQL DATA*INSIGHTS'
Mar 6, 2023 QWAC_AIDB_FNS_CP ='CPU TIME*SQL DATA*INSIGHTS'
QWAC_AIDB_FNS_ZIIP='ZIIP TIME*SQL DATA*INSIGHTS'
QWAC_AIDB_COUNT ='SQL DATA*INSIGHTS*EVENTS'
-Variables added to DB2STAT0 and DB2STATS:
Q9STCTDM='CMD*DIS*ML'
Q9STCTSM='CMD*START*ML'
Q9STCTPM='CMD*STOP*ML'
Q9STCTDR='CMD*DISPLAY*SERVICE'
Q9STCTSR='CMD*START*SERVICE'
Q9STCTPR='CMD*STOP*SERVICE'
Q9STCTS1='CMD*START*CDDS'
Q9STCTS2='CMD*STOP*CDDS'
Q9STCTBL='CMD*DISPLAY*BLOCKERS'
Q9STCTX6='CMD*RUN*MLUTIL'
Q9STCTX7='CMD*DISPLAY*STATS'
QSSTDISYES='64-BIT DISCARDDATA*KEEPREAL'
QDSTNLSC='ILOS*CANCELS*CPU*CONTENTION'
QDSTNAKD='CURR DBATS*ACTIVE*KEEPDYNAMIC*YES'
QDSTMAKD='MAX DBATS*ACTIVE*KEEPDYNAMIC*YES'
QDSTNDBT='DBATS*TERMINATED*SINCE DDF*STARTED'
QDSTNTPL='DBATS*TERMINATED*IN POOL GT*POOLINAC'
QDSTNTRU='DBATS*TERMINATED*REUSED*LIMIT'
QDSTDBPQ='CURR DBATS*SUSPENCED*PROFILE*EXCEPTION'
QDSTMDPQ='MAX DBATS*SUSPENDED*PROFILE*EXCEPTION'
-Variables added to DB2ACCT DB2STAT1 and DB2STATS
QXSTTIMEFROMAPPL='SET*CURRENT*LOCK*SQL8TIMEOUTS'
QXSTTIMEFROMPROF='SET*CURRENT*LOCK*PROFILE*TIMEOUTS'
-Variables added to DB2STAT1 and DB2STATS
QTPCGBP ='INFREQUENT*ACCESSED DS*PHYSICALLY CLOSED'
QTPCUT ='UTIL-ACCESS-ONLY*PHYSICALLY*CLOSED'
QTAUCNOT='PLANAUTH*CHECKS*NOT USE*PLAN AUTH CACHE'
QTAUCOW1='OVERWRITES*AUTHID*IN PLAN*AUTH CACHE'
QISTCONDLKF='FAILED*COND LOCK*DURING*INSERT'
QISTRETRYLK='FAILED*COND LOCK*RETRY*UNCOND'
-Variables added to DB2GBPST
QBGLWX='IXLCACHE*REQ WITH*ASYNC XI'
QBGLSU='IXLAXISN*SYNCH-UP*CALLS'
QBGLAS='IXLAXISN*SUSPENDS*AWAIT XI*TO COMPLETE'
-Variables added to DB2GBPAT
QBGBART ='DATA*AREA*RESIDENCY*TIME'
QBGBERT ='DIRECTORY*ENTRY*RESIDENCY*TIME'
Change 41.009 RMF Monitor III new data Data Gatherer Programmer Guide
VMACRMFV GC31-5701-50 dated Feb 20, 2023
Mar 2, 2023 -Dataset ZRBLCP New Variables
LCPUHPPW='HDW*PROC*PMA*WEIGHT'
LCPUMTNL='MAX*TOPOLOGY*NESTING*LEVELS'
LCPUCRD1='COORDINATE*NESTING*LEVEL*1'
LCPUCRD2='COORDINATE*NESTING*LEVEL*2'
LCPUCRD3='COORDINATE*NESTING*LEVEL*3'
LCPUCRD4='COORDINATE*NESTING*LEVEL*4'
LCPUCRD5='COORDINATE*NESTING*LEVEL*5'
LCPUCRD6='COORDINATE*NESTING*LEVEL*6'
-Dataset ZRBCPD new variables
CPDCCMC ='CHARACTERISTICS*PART'
CPDCCMD ='MEASUREMENT*PART'
CPDCCMX ='EXTENDED*CHAN*GROUP*DATA'
CPDPNETID1='PNETID*ACCESS*FROM*FIRST PORT'
CPDPNETID2='PNETID*ACCESS*FROM*SECOND PORT'
Change 41.008 Change 40.108 caused CSFRLSAV to be missing. CSTORE was
VMAC71 revised to include SMF71GRX, and relocated after GRX had
Mar 2, 2023 been input, but CSFRLSAV was not moved and depends on the
the value in CSTORE. CSFRLSAV moved to after CSTORE calc.
Thanks to Bradley Leis, TELUS, CANADA.
Change 41.007 The MIPS values for the z/16 processor types were added
FORMATS to the $MGRMIPS format.
Mar 1, 2023
Thanks to Arnold Kim, UPS, USA.
Thanks to Aylee ??, UPS, USA.
Thanks to Ggail??, UPS, USA.
Thanks to Jessica Sanchez, UPS, USA.
Thanks to dlicamara ??, UPS, USA.
Thanks to jrivera ??, UPS, USA.
Thanks to Dana A McCreary, UPS, USA.
Change 41.006 The variables in dataset ZRBASI added in Change 40.085
VMACRMFV ASI_EJST ASI_SRBT ASICPUTA_CP ASI_CP_PHTM
Feb 28, 2023 were 1000 times too small as they were incorrectly input
with &PIB.4.6 when they should have used &PIB.4.3.
Thanks to Graham Harris, NatWest, ENGLAND.
Change 41.005 The test in line 1996 was corrected to SM113VN2 IN (5,6)
VMAC113 because the calculated L2P sourced-from variable was
Feb 26, 2023 non-zero in TYPE1131. Values in ASUM1131 were correct.
Thanks to Graham Harris, NatWest, ENGLAND.
Change 41.004 TYPE89 variables SMF89ZNV SMF89SNF SMF80SEQ and
VMAC89 SMF89SOLUTIONID were off by one byte because a one byte
Feb 17, 2023 reserved field was not skipped.
Thanks to Joe Faska, DTCC, USA.
Thanks to Madison Harris, DTCC, USA.
Change 41.003 -Revisions to existing programs to reassemble "broken"
ADOCRMFX (split) RMF records into the original long (greater
ASMMACS than 32756 bytes) records
ASMRMFX -Addition of two new reassembly routines:
EXITRMFX RMFXIFUE an updated version of CICSIFUE to reassemble
JCLASMXG "broken" RMF records as well as decompress
JCLRMFXA CICS 110.1/112 and DB2 100/101/102 records for
JCLRMFXL 110.1 decompression, RMFXIFUE now checks for
JCLRMFXS records too short to contain the full length
RMFXE35 of the CICS product section and now chains
RMFXIFUE through the CICS product section to locate the
Feb 20, 2023 CRL field that indicates whether the record is
Mar 6, 2023 compressed. The 112 record mapping is now also
separate from the original single DSECT with
hardcoded offsets.
RMFXE35 a replacement for ERBPPE35 in the sample
RMF post-processing sort example that
front-ends ERBPPE35 to restore the swapped
fields from ERBPPE15 processing, then uses the
restored records to reassemble the "broken"
RMF records. All RMF records are written to
DDNAME LONGVBS to retain the processing
sequence while avoiding sort's record length
limitations.
-Addition of assemble and link steps for RMFXE35 and
RMFXIFUE in JCLASMXG
-Revision of ADOCRMFX to reflect current status of RMFX
members
-$CHGLOG member added to ASMMACS for tracking changes
-Revision to ASMRMFX to remove IBM RMF macros and replace
them with custom coding of the RMF product section data
structures
-Addition of program structure documentation to ASMRMFX
-Addition of EXITRMFX JCl to assemble and link RMFXIFUE
-Addition of JCLRMFXA example of ASMRMFX use
-Addition of JCLRMFXL example of ASMRMFX assemble/link
-Addition of JCLRMFXS example of RMFXE35 use
Change 41.002 Dataset TYPE123C variable SM123S2_API_REQ_NAME is the
VMAC123A same as variable SM123APISN in TYPE123A and TYPE1232 and
Feb 6, 2023 is needed for MERGEs, so variable SM123APISN is now added
to dataset TYPE123C.
Thanks to Wayne A. Schumack, USBank, USA.
Change 41.001 SMF 99 Subtype 1 INPUT EXCEEDED, unexpected S99SLLN=80
VMAC99 segment length when S99SLLN=104 was expected.
Feb 4. 2023
Thanks to Naveed Jeddy, ATOS, USA
Thanks to Vinod Kumar Panatula, ATOS, USA.
Thanks to Ashutosh Purohit, ATOS, USA.
Thanks to Mayank Vyas, ATOS, USA
Thanks to PURNENDU JOSHI, ATOS, USA.
LASTCHANGE: Version 41.
=========================MEMBER=CHANGE40================================
/* COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG VERSION 40.40 is dated Feb 3, 2023, thru Change 40.162.
MXG VERSION 40.07 was dated Jan 16, 2023, thru Change 40.154.
MXG VERSION 40.06 was dated Oct 23, 2022, thru Change 40.134.
MXG VERSION 40.05 was dated Aug 15, 2022, thru Change 40.101.
MXG VERSION 40.04 was dated Jun 29, 2022, thru Change 40.078.
MXG VERSION 40.03 was dated Jun 23, 2022, thru Change 40.077.
First MXG VERSION 40.03 was dated Jun 15, 2022, thru Change 40.073.
MXG VERSION 40.02 was dated May 5, 2022, thru Change 40.055.
MXG VERSION 40.01 was dated Mar 5, 2022, thru Change 40.032.
First MXG VERSION 40.01 was dated Mar 4, 2022, thru Change 40.031.
ANNUAL MXG VERSION 39.39 was dated Jan 5, 2022, thru Change 39.227.
New TECHNOTES previously in NEWSLTRS are now in CHANGESS.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 40.40 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 40.40.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains old Technical Notes. many of which are still
valid, but the last was in 2018. Now, TECHNOTES and FLASHes are in
CHANGES/CHANGESS. which are also online.
Member CHANGES contains the changes made in this current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
CHANGESS and NEWSLTRS are also online at http://www.mxg.com,
========================================================================
I. MXG VERSION 40.40 DATED Feb 3, 2023, THRU CHANGE 40.162.
==MAJOR CHANGES ADDED IN MXG 40.40, DATED Feb 3, 2023 THRU 40.162.====
ENHANCEMENTS
VMAC113 40.162 Support for z16 AI WAIUCPU/CAIUCPU/AIUCPU/AIUCPI
VMAC1154 40.158 Initial Support 4 subtypes of SMF 1154 Compliance
==MAJOR CHANGES ADDED IN MXG 40.07, DATED Jan 16, 2023 THRU 40.154.====
INCOMPATIBILITY SUPPORTED
TYPERMFX 40.150 IBM change to SMF 70.1 SPLIT records, TYPE70PR IMPACT
Requires REASSEMBLY of SPLIT into VBS LRECL GT 32760
Only sites with many LPARS & ENGINES have 70.1 splits
USE RMFSPLIT program to see if you have SPLIT 70.1.
See Change 40.150 and 40.150A for reassembly support.
ERRORS CORRECTED
VMXGGETM 40.147 UTILGETM utility Memory Failure SAS Hot Fix 66883.
VMACVMXA 40.141 OUT OF ORDER error sorting VXUSEACT, BY list wrong.
VMACVMXA 40.140 RNI in VXPRCMFC was always zero, ++ syntax accepted.
VMACCIMS 40.139 UOWTIME in CIMSTRAN wrong prevented CICSTRAN merge.
VMACDB2H 40.138 QWHCCTKN QWHCEUID QWHCEUTX QWHCEUWN not %U Unicode.
VMAC7072 40.137 BOOSTACTIVE=2 /*BOTH*/ was never tested.
VMXGINIT 40.136 SAS VIYA error, blank needed after close paren.
ENHANCEMENTS
VMAC115 40.154 Support for SMF 115 Subtype 216 creates TY115216.
ZMAC110 40.149 Possible Update for CICS/TS 6.2, not data tested yet.
VMAC99 40.148 Support for TYPE 99 Subtypes 9 and 10.
ASUM70PR 40.146 ICF LPARs can be output in ASUMCELP and ASUM70LP.
ANALCEC 40.145 New report on how LPARs on your CEC
VMAC102 40.135 DB2 Function Level 501 revised labels new fields.
==MAJOR CHANGES ADDED IN MXG 40.06, DATED Oct 23, 2022 THRU 40.134.====
ENHANCEMENTS
TYPE113 40.121 TYPE113 can only validly process one CPU type.
TYPE110 40.129 Support for CICS/TS 6.1 Stat variables in CICWBG.
TYPE110 40.129 Support for CICS/TS 6.1 new CICTLS Stat dataset.
GRAFCEC 40.126 Support for TREND data restored.
SMFMANUL 40.125 Updates from Sep 26, 2022 SMF Manual Refresh.
ERRORS CORRECTED
TYPE0 40.127 Zero obs in PDB.IPL dataset for some IPLs.
TYPE90A 40.107 Correction for TYPE9040 Boost variable SMF9040T.
TYPE30 40.105 INTBTIME/INTETIME Missing in SMFINTRV corrected.
TYPE7072 40.104 Variable SMF70TYP in TYPE70PR always 2:IIP.
UTILEXCL 40.100 CICS/TS 6.1 ERROR 22-322, comma should be period.
IBM APARS
TYPE7072 40.102 IBM APAR OA62064 corrects CPUSER/SMF70SER '5555'X.
==MAJOR CHANGES ADDED IN MXG 40.05, DATED Aug 15, 2022 THRU 40.101.====
ERRORS CORRECTED
UTILEXCL 40.100 CICS/TS 6.1 SOFLAG SYNTAX ERROR IN CREATED IMACEXCL.
TYPE30 40.098 MXG 40.01 only INPUT EXCEEDED,SMF30CONFOLOW invalid.
TYPE74 40.096 TYPE749 PCIE Statistics only first bucket was output.
VMAC119 40.086 TYP11911 variables corrected, formats updated.
VMAC73 40.084 Invalid counters SMF73CMG=2 when CHPID was Varied.
ENHANCEMENTS
VMXGHSM 40.099 z/OS 2.5 dataset SFSMSHSM new variables added.
VMACVMXA 40.095 Support for z/VM 7.2 MONWRITE VXPRCMFC HIS counters.
TECHNOTE 40.090 MXG Variables/Datasets that include RUCSA metrics.
VMACSVIE 40.089 New variables added to SV34TRAN and SV35TRAN.
VMAC42 40.088 Support for APAR OA59611 adds S42DS2MV
VMAC30 40.087 Dedicated Memory variables added.
VMACRMFV 40.085 New ZRBASI time variables added in z/OS 2.4 & 2.5.
BUILD005 40.082 Sixty variables added to TYPE30_4 now in PDB.STEPS.
==MAJOR CHANGES ADDED IN MXG 40.04, DATED Jun 29, 2022 THRU 40.078.====
Change 40.078 MXG 39.09 and earlier fail with APAR OA61811/OA62502.
VMAC7072 due to an MXG error for SMF 72 Subtype 3 TYPE72GO that
Jun 25, 2022 failed to test for new fields after the last segment,
which caused INPUT mis-alignment and invalid data values.
-WE STRONGLY SUGGEST YOU INSTALL THE CURRENT MXG 40.04
WHICH AVOIDS THE COMPLEXITY OF THE BELOW CIRCUMVENTION
AND PROVIDES SIGNIFICANT OTHER ENHANCEMENTS AFTER YOUR .
BACKLEVEL VERSION. PLEASE USE THE FORM AT
HTTPS://WWW.MXG.COM/SOFTWARE_DOWNLOAD_REQUEST
You can circumvent this MXG error by:
-Download files at http://www.mxg.com/downloads/
The APAR inserted new fields in SMF 72 Subtype 3 TYPE72GO
that exposed an MXG coding error that failed to test for
new added fields after the last new segment, causing the
INPUT misalignment and invalid data values to be created.
There MAY be INVALID DATA FOR R723IFAT messages or other
fields printed, but those are accidental and there might
not be ANY log messages that the error occurred. And even
if there are INVALID DATA messages, they do not set a
CONDITION CODE, so there may be no clue on the log that
the error occurred.
MXG 39.39 thru MXG 40.03 correctly input the new data.
but only this change or MXG 40.04 has the protection for
additional new fields in any future IBM updates..
PTFs: z/OS 2.3 UJ07991
PTFs: z/OS 2.4 UJ07990
PTFs: z/OS 2.5 UJ07989
==MAJOR CHANGES ADDED IN MXG 40.03, DATED Jun 23, 2022 THRU 40.077.====
ERRORS CORRECTED
VGETDDS 40.075 MEMBER FROM 40.02 REPLACED FIRST 40.03 MEMBER
VMXGSET 40.075 MEMBER FROM 40.02 REPLACED FIRST 40.03 MEMBER
VMAC42 40.076 ERROR: SHORT 42 SUBTYPE 6 ACCESS METHOD SECTION.
ENHANCEMENTS
VMACNDM 40.074 NDMCT new TLSVERSION variable (1.1,1.2,1.3) added.
==MAJOR CHANGES ADDED IN MXG 40.03, DATED Jun 15, 2022 THRU 40.073.====
ERRORS CORRECTED
VMAC110 40.063 CICSTRAN variables DSAPTHTM JVMTHDTM MAXHTDTM wrong.
VMACBVIR 40.056 Dataset BVIR302 had only half the observations.
ENHANCEMENTS
FORMATS 40.062 TYPE119SSH KEX_METHOD and KEX_ALG $MG119KX updated.
VMACEDGR 40.061 Datasets EDGRDEXT and EDGRXEXT updates.
VMACRMFV 40.060 RMF III updates for ZRBRED, and FORMATS.
BUILD005 40.057 Protection for DUPLICATE TYPE30 SUBTYPE 1 message.
NEW SUPPORT
VMAC80A 40.059 Support for SMF 80 RACFTYPE=67 updated TYPE8081.
VMAC90A 40.058 Support for APAR OA60660 for TYPE9040 BOOST.
==MAJOR CHANGES ADDED IN MXG 40.02, DATED May 5,2022 THRU 40.055.
CHANGE 40.042 in MXG 40.02 is REQUIRED for CICS/TS 6.1 BETA 25+
which removed fields from CICS 110 Records (May 2022)..
Change 40.001 in MXG 40.01 was required for CICS/TS 6.1 BETA 22
(March 2022) which also incompatibly changed the CICS 110 records.
TYPE30 ABEND with MXG 40.01 with z/OS 2.5 or APAR OA61511 that
is corrected by Change 40.050 in MXG 40.02.
ERRORS CORRECTED
ASMRMFV 40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax (CC=08)
ASMRMFV 40.036 Logic for ZEROLP option corrected for CPCDB.
TECHNOTE 40.040 IBM APAR PH40410 corrects negative DB2 QPACZITM.
TYPE0 40.039 z/OS 2.5 TYPE 0 IPL lengths 78/83 not in table.
TYPE30 40.050 Support for OA61511 Crypto/NNPI counts in SMF 0 & 30.
TYPE7072 40.034 TYPE70 vars SMF70PMT/SMF70PMU were corrected.
TYPEDCOM 40.038 Reserved fields overlooked, misalignment.
TYPERMFV 40.029 ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT
VMXG70PR 40.035 Vars SMF70GMU/SMF70CPA/SMF70WLA missing in ASUMCELP.
VMXGUOW 40.041 LIBNAME PDB NOT FOUND if did not ask for MQ data.
==MAJOR CHANGES ADDED IN MXG 40.01, DATED Mar 5, 2022 THRU 40.032.
NEW MXG VERSION 40.01 REQUIRED FOR CICS/TS 6.1 BETA 22.
TYPE110 40.001 CICS/TS 6.1 BETA 22 INSERT NEW FIELD, INCOMPATIBLE.
ERRORS CORRECTED
TYPE74 40.005 R742PUTx variables in TYPE74PA divided by 1E-6 twice.
TYPE16 40.014 BAD SMF 16 DFSORT, JOB had S222, INPUT EXCEEDED
TYPEVMXA 40.010 Broken Control Record ABEND z/VM 7.2.21.02.
TYPERMFV 40.029 ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT
TYPERMFV 40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax (CC=08).
ENHANCEMENTS
ASUM115 40.002 Summarization/Trending for MQ SMF 115 and 116.
All of these enhancements are described in the Change Log, below.
========================================================================
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M7 (9.4M7),
"M7", or with options VERSIONLONG;
"SAS 9.4 (9.04.01M7P080520)" on z/OS
9.4 (TS04.01M7P08052020)" on ASCII.
SAS V9.4 M7 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.128 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But CONFIMXG is required for sites with NLS issues, and you must
use JCLCONFI to create/update the MXG.FORMATS catalog if you use
CONFIG='MXG.SOURCLIB(CONFIMXG)'.
For no NLS, you can use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 36.11 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 4.04 (04.04.01.00.005305 has been tested.
DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
Error was introduced in 4.03.01 and 4.04.00. See Change 39.171.
Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/
WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
WPS Version 4.0 reportedly fixed version 3 problems.
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
-Support for z16 processor data.
SMF: Only SMF 113 records were incompatibly changed, but there is no
execution error as only counter labels and values were changed,
causing coefficients for the calculated variables (RMI,etc) to
also be changed and default coefficients are changed to z16,
You must use separate SAS steps for each processor type and
read only SMF 113 from that processor type.
For z/15 you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA11F %
%INCLUDE SOURCLIB(TYPS113,ASUM113);
and for z/16 you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA11G %
%INCLUDE SOURCLIB(TYPS113,ASUM113);
to get correct values in ASUM1131 dataset.
MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
40.03 for zVM.
MXG 40.01 will ABEND due to a TYPE30 error exposed by the z16.
Change line 1812 in VMAC30 from 192 to 220 or ask support for
the current VMAC30 member with Change 40.050.
Many other SMF and Data Gatherer records were updated in 40.04.
RMF ASMRMFV processes RMF III data with no errors, Change 40.068
added some new fields. New DNG3 table support was in 40.05.
-Support for z15 processor data.
The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
Support for counter changes for both models was in MXG 37.08.
If you use MIPS in reports, the format $MGRMIPS provides the
MIPS/MSU value for each processor; the z15 values were updated
in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
GRAFWRKX and TYPERMFV (RMF III).
The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs. Change 38.048.
The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
(which are written if you have zIIP engines AND have enabled the new
PROCVIEW CORE option for Multi-Threading, even if only one thread is
enabled).
SMF Back Levels: MXG 37.08 or later is required for both z15 & z16
SMF 113 change, but those back level versions could fail due
to other records changed by subsystem updates you made for the
z16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
exist when that back=level was created..
The new zEDC/EADM compression hardware requires MXG 38.05 to support
new metrics.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166 37.07.
z/OS 2.4 Compatible from SMF Manual May 2020 38.105 38.05.
z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075 39.03.
z/OS 2.4 Compatible RMF III PGMR Apr 1 2021 39.074 39.03.
z/OS 2.5 Compatible from SMF Aug 12,2021 39.06.
z/OS 2.5 Compatible RMF III Aug 12,2021 39.08.
z/OS 2.5 RMF III 4 new tables Aug 12,2021 39.08.
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
z15 New SMF 113 fields INCOMPAT Nov 18, 2020 37.08
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
z15 ANAL9914 Support CH 39.006 Jan 14, 2021 39.01
z16 NEW SMF113 values, NO ABEND See CHANGE 40.070 40.03
z16 MXG 38.07 OR LATER IS NEEDED.
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS/TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS/TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS/TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS/TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS/TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS/TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS/TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS/TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS/TS 3.2 Compressed Records Nov 3, 2007 25.11
CICS/TS 4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS/TS 4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS/TS 4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS/TS 4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS/TS 4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS/TS 5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS/TS 5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS/TS 5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS/TS 5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS/TS 5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS/TS 5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS/TS 5.3 GA date Dec 11, 2015 33.33
CICS/TS 5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS/TS 5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS/TS 5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS/TS 5.4 GA Jun 17, 2017 35.03
CICS/TS 5.5 GA (INCOMPAT) Jan 29, 2018 36.11
CICS/TS 5.6 GA (INCOMPAT) Jun 1, 2020 38.07
CICS/TS 5.6 NEW DATA (COMPAT) Oct 5, 2020 38.09
CICS/TS 6.1 ONE NEW (INCOMPAT) Jan 11, 2020 40.01
CICS/TS 6.1 ONE NEW (INCOMPAT) Sep 20, 2020 40.02
CICS/TS 6.1 UTILEXCL SOFLAG Aug 15, 2022 40.05
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
z/VM 6.40061802 ABEND Jan 22, 2019 37.02
z/VM 7.1 INCOMPAT ABEND Feb 14, 2019 37.02
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA-BROADCOM
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2, 5.3, 5.4 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 40.40.
1. Incompatibilities introduced in MXG 40.40:
a. Changes in MXG architecture made between 40.40 and prior versions
that can introduce known incompatibilities.
IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
The error before this correction will be:
ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 40.40:
Dataset/
Member Change Description
ANALCEC 40.145 New report on how LPARs on your CEC
ASMRMFV 40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax (CC=08)
ASMRMFV 40.036 Logic for ZEROLP option corrected for CPCDB.
ASUM115 40.002 Summarization/Trending for MQ SMF 115 and 116.
ASUM70PR 40.146 ICF LPARs can be output in ASUMCELP and ASUM70LP.
BUILD005 40.057 Protection for DUPLICATE TYPE30 SUBTYPE 1 message.
BUILD005 40.082 Sixty variables added to TYPE30_4 now in PDB.STEPS.
FORMATS 40.062 TYPE119SSH KEX_METHOD and KEX_ALG $MG119KX updated.
GRAFCEC 40.126 Support for TREND data restored.
JCLRMFX 40.150 Support for IBM INCOMPATIBLE CHANGE RMF 70 ST 1.
SMFMANUL 40.125 Updates from Sep 26, 2022 SMF Manual Refresh.
TECHNOTE 40.040 IBM APAR PH40410 corrects negative DB2 QPACZITM.
TECHNOTE 40.090 MXG Variables/Datasets that include RUCSA metrics.
TYPE0 40.039 z/OS 2.5 TYPE 0 IPL lengths 78/83 not in table.
TYPE0 40.127 Zero obs in PDB.IPL dataset for some IPLs.
TYPE110 40.001 CICS/TS 6.1 BETA 22 INSERT NEW FIELD, INCOMPATIBLE.
TYPE110 40.001 CICS/TS 6.1 OPEN BETA 22 REQUIRES MXG 40.01 INCOMPAT.
TYPE110 40.042 -CICS/TS 6.1 BETA 25 removed fields, INCOMPATIBLE.
TYPE110 40.129 Support for CICS/TS 6.1 Stat variables in CICWBG.
TYPE113 40.070 -Support for z16 SMF 113 Labels and Equations INCOMPT
TYPE113 40.121 TYPE113 can only validly process one CPU type.
TYPE113 40.128 Code block for LSPRWKLD missing in TYPE1131/TYPE113.
TYPE16 40.014 TRUNCATED SMF 16 DFSORT record, INPUT EXCEEDED
TYPE30 40.017 TYPE30_4/30_5 EXCPTOTL wrong for MULTIDD='Y'
TYPE30 40.025 Support or OA61511 Crypto/NNPI counters ABEND 40.01
TYPE30 40.098 MXG 40.01 only INPUT EXCEEDED,SMF30CONFOLOW invalid.
TYPE30 40.105 INTBTIME/INTETIME Missing in SMFINTRV corrected.
TYPE7072 40.034 TYPE70 vars SMF70PMT/SMF70PMU were corrected.
TYPE7072 40.102 IBM APAR OA62064 corrects CPUSER/SMF70SER '5555'X.
TYPE7072 40.104 Variable SMF70TYP in TYPE70PR always 2:IIP.
TYPE74 40.005 R742PUTx variables in TYPE74PA divided by 1E-6 twice.
TYPE74 40.096 TYPE749 PCIE Statistics only first bucket was output.
TYPE90A 40.107 Correction for TYPE9040 Boost variable SMF9040T.
TYPEDCOM 40.038 Reserved fields overlooked, misalignment.
TYPERMFV 40.029 ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT
TYPEVMXA 40.010 Broken Control Record ABEND z/VM 7.2.21.02.
TYPEZCOS 40.037 New ZCOS01TI='ZCOS*DATETIME' created.
UTILEXCL 40.100 CICS/TS 6.1 ERROR 22-322, comma should be period.
VMAC102 40.135 DB2 Function Level 501 revised labels new fields.
VMAC110 40.063 CICSTRAN variables DSAPTHTM JVMTHDTM MAXHTDTM wrong.
VMAC110 40.129 New dataset CICTLS (CICS TLS CIPHER) STID=151.
VMAC115 40.154 Support for SMF 115 Subtype 216 dataset TY115216.
VMAC119 40.086 TYP11911 variables corrected, formats updated.
VMAC1154 40.158 Initial Support 4 subtypes of SMF 1154 Compliance
VMAC30 40.087 Dedicated Memory variables added.
VMAC42 40.088 Support for APAR OA59611 adds S42DS2MV
VMAC7072 40.137 BOOSTACTIVE=2 /*BOTH*/ was never tested.
VMAC73 40.084 Invalid counters SMF73CMG=2 when CHPID was Varied.
VMAC80A 40.059 Support for SMF 80 RACFTYPE=67 updated TYPE8081.
VMAC90A 40.058 Support for APAR OA60660 for TYPE9040 BOOST.
VMAC99 40.148 Support for TYPE 99 Subtypes 9 and 10.
VMACBVIR 40.056 Dataset BVIR302 had only half the observations.
VMACCIMS 40.139 UOWTIME in CIMSTRAN wrong prevented CICSTRAN merge.
VMACDB2H 40.138 QWHCCTKN QWHCEUID QWHCEUTX QWHCEUWN not %U Unicode.
VMACEDGR 40.061 Datasets EDGRDEXT and EDGRXEXT updates.
VMACRMFV 40.060 RMF III updates for ZRBRED, and FORMATS.
VMACRMFV 40.085 New ZRBASI time variables added in z/OS 2.4 & 2.5.
VMACSVIE 40.089 New variables added to SV34TRAN and SV35TRAN.
VMACVMXA 40.095 Support for z/VM 7.2 MONWRITE VXPRCMFC HIS counters.
VMACVMXA 40.140 RNI in VXPRCMFC was always zero, ++ syntax accepted.
VMACVMXA 40.141 OUT OF ORDER error sorting VXUSEACT, BY list wrong.
VMXG70PR 40.035 Vars SMF70GMU/SMF70CPA/SMF70WLA missing in ASUMCELP.
VMXGGETM 40.147 UTILGETM utility Memory Failure SAS Hot Fix 66883.
VMXGHSM 40.099 z/OS 2.5 dataset SFSMSHSM new variables added.
VMXGINIT 40.136 SAS VIYA error, blank needed after close paren.
VMXGUOW 40.041 LIBNAME PDB NOT FOUND if did not ask for MQ data.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at https://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== CHANGES THRU 40.162 ARE IN MXG 40.40 DATED Feb 3, 2023 =========
Change 40.162 New z/16 AI variables in TYPE1131 and ASUM1131 are added:
ASUM113 WAIUCPU='WAITING*FOR ACCESS*TO AIU'
VMAC113 CAIUCPU='EXECUTING*AIU'
Feb 2, 2023 AIUCPU='TOTAL*AIU*CPU'
AIUCPI='AIU*EXECUTING*CYCLES PER*INSTRUCTION'
These values and other z16 enhancements are in John
Burg's paper "How To Measure Those New z16 Capabilities"
from the IBM WSC Tech Bytes Conference, available at:
https://www.ibm.com/support/pages/wsc-tech-bytes-
conference-proceedings
Change 40.161 Format MG030NP for variable SMF30_NNPICTRS_ENTRY_ID in
VMAC30 dataset TYPE30NP decodes the 27 NNPA AIU Entry IDs.
Jan 29, 2023 Format MG030CP for variable SMF30_CRYPTRS_ENTRY_ID in
dataset TYPE30CP decodes the 156 Crypto Entry IDs.
Thanks to Mark C. Smith, IRS, USA.
Thanks to Mike R. Deneseus, IRS, USA.
Change 40.160 Variable S11912SS_SSH_SKEY_LEN in dataset TYPE11912SSH's
VMAC119 label was corrected from CLIENT to SERVER. The slash in
Jan 26, 2023 label for variable SMF119SC_SSH_CKEY_TYPE was removed.
Thanks to John Milne, Kyndryl, AUSTRALIA
Change 40.159 TYPE74ST variable R744QFLG was incorrectly formatted as a
VMAC74 one-byte $HEX2 value variable, but it is a bit-value and
Jan 27, 2023 these new variables decode the individual bits:
R744QFLG0='NORMAL*ACTIVE*INSTANCE*OF STRUCTURE'
R744QFLG1='NEW*INSTANCE*DURING*REBUILD'
R744QFLG2='OLD*INSTANCE*DURING*REBUILD'
R744QFLG3='JUST*ADDED OR*DELETED*INSTANCE'
R744QFLG4='IN HOLD*DELETION*NOT*FINISHED'
R744QFLG5='DUMP*INITIATED*FOR STRUCTURE'
R744QFLG6='STRUCTURE*REBUILD*IN*PROGRESS'
R744QFLG7='IN PROGRESS*REBUILD*IS DUPLEXING'
Thanks to Keith C. Shaffer, Cigna, USA.
Change 40.158 Initial support for 4 subtypes of SMF 1154 Compliance
EXB5401A-I Monitoring data. These are the 23 datasets created from
EXB5402A-B Subtype 01-04 and there are another 19 subtypes so this
EXB5403A-H will take some time to complete.
EXB5404A-D dddddd datasetE description subtype
FORMATS B5401A TYB5401A TCP/IP STACK 01
IMAC1154 B5401B TYB5401B IPV4 CONFIG 01
TYPE1154 B5401C TYB5401C IPV6 CONFIG 01
TYPS1154 B5401D TYB5401D TCP CONFIG 01
VMAC1154 B5401A TYB5401A TCP/IP STACK 01
VMXGINIT B5401B TYB5401B IPV4 CONFIG 01
Jan 24, 2023 B5401C TYB5401C IPV6 CONFIG 01
B5401D TYB5401D TCP CONFIG 01
B5401E TYB5401E UDP CONFIG 01
B5401F TYB5401F GLOBAL CONFIG 01
B5401G TYB5401G PORT CONFIG 01
B5401H TYB5401H MANAGEMENT CONFIG 01
B5401I TYB5401I NETWORK CONFIG 01
B5402A TYB5402A FTP DAEMON GENERAL 02
B5402B TYB5402B FTP DAEMON DATA 02
B5403A TYB5403A TN3270 TELNET GENERAL 03
B5403B TYB5403B TM3270 TELNET GLOBAL 03
B5403C TYB5403C TN3270 TELNET PARMS 03
B5403D TYB5403D TN3270 PARMS GROUPS 03
B5403E TYB5403E TN3270 PARMS MAP 03
B5403F TYB5403F TN3270 LUMAP 03
B5403G TYB5403G TN3270 PRTMAP 03
B5403H TYB5403H TN3270 RESTRICT APPL 03
B5404A TYB5404A CSSMTP IDENTIFICATION 04
B5404B TYB5404B CSSMTP CONFIGURATION 04
B5404C TYB5404C CSSMTP TARGET SERVER 04
B5404D TYB5404D CSSMTP CONFIGURATION DA 04
Change 40.157 New variables in XMSYTCUV dataset:
VMACXAM LCXHGPCP='LPAR*GROUP*CAPACITY'
Jan 20, 2023 CALGCAPV='LPAR*GROUP*CAPPING'
LCUCWCPL='WAIT*COMPLETION*FLAG?'
LCUCCAPP='ON*PARTITION*CAPPING?'
LCXCCON ='CPU*ONLINE*FLAG?'
LCXPOLTP='CORE*POLARIZATION'
Change 40.156 Change 40.105 failed to remove the IF SUBSTEP GT 0 test,
SMFINTRV causing INTBTIME and INTETIME in PDB.SMFINTRV to still be
VMAC30 missing values. The corrected member was not moved from
Jan 20, 2023 the test to production sourclib.
Thanks to Peter A. Vikeras, OPTUM, USA.
Thanks to Raymond J. Smith, OPTUM, USA.
Thanks to Ralph J. Romano, OPTUM, USA.
Change 40.155 TYPE74 variables AVGIOQMS, DEVIOQTM and AVGRSPMS were
VMAC74 incorrect because they used NRREQENQ instead of SMF74IOS
Jan 20, 2023 for the duration. Variable AVGENQUE could also be missing
because it tested a "no longer used" bit in DEVIND that
is sometimes used!
Thanks to Jan Tielemans, KBC, BELGIUM.
====== CHANGES THRU 40.154 ARE IN MXG 40.07 DATED Jan 16, 2023 =========
Change 40.154 Support for SMF 115 Subtype 216 creates TY115216 dataset.
VMAC115
Jan 16, 2023
Change 40.153 TYPE8500 variables R850RC and R850RS labels incorrectly
VMAC85 had "TIME" but they are not time variables.
Jan 12, 2023
Thanks to Scott Rowe, SSA, USA.
Change 40.152 -TYPE71 variables SMF71S3A/SMF713S3M/SMF713S3X labels
VMAC71 were corrected from "ON SCM" to "IN CSTORE".
Jan 11, 2023
Thanks to Rick Southby, IAG, AUSTRALIA.
Change 40.151 -Variables added to SYSVIEW dataset SV34TRAN:
VMACSVIE IMTR_CLK_OPNCLS_ELAP='APPLICATION*OPEN/CLOSE*TIME'
Jan 3, 2023 IMTR_CNT_BYTES_IN ='TOTAL*INPUT*BYTES'
IMTR_CNT_BYTES_OUT ='TOTAL*OUTPUT*BYTES'
-Variables added to SYSVIEW dataset SV35TRAN:
IMRA_APPL_ELAPSED ='APPLICATION*ELAPSED*TIME'
IMRA_CNT_BYTES_IN ='AVERAGE*I/P*MESSAGE*BYTES'
IMRA_CNT_BYTES_OUT ='AVERAGE*O/P*MESSAGE*BYTES'
Change 40.150B Updates for Change 40.150 Split RMF 70 Subtype 1:
ASMRMFX ASMRMFX - ASM CODE FOR REASSEMBLY (USE IN JCLRMFX1)
JCLRMFXA JCLRMFXA- JCL TO ASSEMBLE ASMRMFX FOR REASSEMBLY
JCLASMXG JCLASMXG- Assemble all SEVEN MXG ASM MEMBERS
JCLRMFX JCLRMFX - Three STEP SAS REASSEMBLY JOB (TYPERMFX)
JCLRMFX1 JCLRMFX1- Three Step ASM REASSEMBLY JOB (ASMRMFX)
TYPERMFX TYPERMFX- SAS CODE FOR REASSEMBLY (USE IN JCLRMFX)
ASMMACS ASMMACS - MACROS FOR ASM PROGRAMS
ADOCRMFX ADOCRMFX- DOCUMENT REASSEMBLY PROGRAMS/JOBS
Jan 30, 2023 SEE CHANGE 41.012 for REQUIRED SAS HOT FIXES.
Change 40.150A Updates for Change 40.150 Split RMF 70 Subtype 1 were
JCLRMFX made. Only SMF 70 subtype 1 records are processed, the
TYPS7001 RMF 73 was included only because split 73s were available
Jan 15, 2023 for testing the reassembly and there is no need for any
other Split records to be reassembled at this time.
The TYPS7073 program was renamed to TYPS7001.
The TYPERMFX reassembly program works on z/OS with both
SAS and WPS, but does not currently work on ASCII; so we
are developing an ASMRMFX for ASCII sites.
Reassembled large LRECL records can be processed on ASCII
directly with the FTP ACCESS method using SITE RDW and
S370VS. or downloaded with RECFM=U,BLKSIZE=32760 and then
using S370VBS on the ASCII INFILE statement.
SEE CHANGE 41.012 FOR REQUIRED SAS HOT FIXES.
Thanks to Thomas D Foster, SSA, USA.
Thanks to Mark London, SSA, USA
Thanks to Ashley Klunk, SSA, USA
Thanks to Jaipal Nimmala, SSA, USA.
CHANGES THRU 40.150 WERE IN MXG 40.07 DATED Jan 16, 2023 Early Adopters
Change 40.150 -INCOMPATIBLE CHANGE TO SMF 70.1 FOR SITES CREATING SPLIT
ADOCRMFX SMF records. ONLY IMPACTS MXG TYPE70PR PR/SM DATASET.
FORMATS -ONLY SITES WITH LOTS OF ENGINES AND LPARS CREATE THEM.
JCLRMFX This program will tell you if you have split records:
RMFSPLIT //SPLITS EXEC MXGSAS94 (your SAS JCL Procedure)
TYPERMFX //SMF DD DSN=YOUR.SMF,DISP=SHR
TYPS7001 %INCLUDE SOURCLIB(VMACSMF);
VMAC7072 DATA;_SMF;IF ID=70 AND SUBTYPE=1;
VMACSMF INPUT @OFFSMF+47 NRCPUD &PIB.2.
VMACSMFL @OFFRMFP+74 SMF70RAN &PIB.2.
VMXGINIT @OFFRMFP+104 SMF70RBR &PIB.2.
Jan 16, 2023 @;
PUTLOG _N_= SYSTEM= SMFTIME= RMFSRCL= HEX2.
SMF70RAN= SMF70RBR= LENGTH= NRCPUD=;
IF NRCPUD=0, that SYSTEM uses the alternate algorithm and
its SMF 70.1 records must be reassembled, with MXG 40.07.
You can also use the 40.07 RMFSPLIT program report.
-SPLIT records are created when the length of data for an
interval exceeds 32760 bytes and multiple 32760 byte
blocks are created. If LPAR COUNT*ENGINE COUNT*88 is GT
26,000 you have split records (10 LPARS and 30 ENGINES).
APARs OA62064 and OA63108 changed IBM's "old" breaking
algorithm to the "new" breaking algorithm but with no
mention of that change!!!
-The good news with the new SPLIT records is that the
TYPE70 dataset is CORRECTLY created. It is ONLY the
TYPE70PR PR/SM dataset that has missing or incorrect
values that were previously populated from those
now-non-existent segments. Fortunately, there is no
execution error, just bad data in TYPE70PR and in the
ASUMxxxx datasets created from TYPE70PR.
-Previously, for the SMF70 Subtype 1 record, each SPLIT
record repeated the CPU Data Sections and the Logical
Core Sections, so the TYPE70PR PR/SM dataset could be
created, since some fields from CPUD and CORE segments
are needed, but the new algorithm no longer writes those
sections in the 2nd and subsequent SPLIT records, and
this broke the back of the MXG PR/SM implementation,
which had been designed to match the record contents.
-IBM Claims the change was NOT INCOMPATIBLE, stating that
it has ALWAYS BEEN A REQUIREMENT TO SORT and Reassemble
the split records into a single VBS Record with the
larger LRECL, (77,000 in this case), using the fields in
the Reassembly Area fields, but IBM does NOT provide a
utility to create those records, and neither IFASMFDP nor
DFSORT can process records with LRECL greater than 32760.
-The alternate splitting logic was already implemented
with z/OS 2.2 but with APAR OA62064 (which introduces
record level x'8F' for SMF 70 subtype 1) additional
fields were added to the CPU data section so that in
case of large LPARs with many processors it becomes more
likely that the alternate splitting is used.
-If the alternate algorithm is used, the value of NRCPUD,
the count of CPU Detail Sections, will be zero in the
second and subsequent split records, RMFSPLIT provides
that reporting, and NRCPUD is available in _SMF. header.
-In z/OS 2.5 IBM does offer the GRBRMFR service that can
be called to assist with the reassembly, but that service
will NOT be provided for z/OS 2.4 or earlier releases.
-The MXG Solution is the new TYPERMFX SAS program and the
example JCLRMFX whose first step Selects and SORTS the
70.1 and 73 SMF records (the SORT ensures split records
are in the correct order required for reassembly). The
second step uses the SAS TYPERMFX program to reassemble
and write out the Large LRECL records, which are then
read by the SAS TYPS7001 program in the third step to
create the TYPE70 TYPE70EN TYPE70PR and TYPE73 datasets,
and which %includes ASUM70PR to create these datasets
ASUM70GC ASUM70GL ASUM70LP ASUMCELP ASUMCEC
in the output PDB Data Library, which can then be used
for reports, and/or copied into the daily PDB library.
Changes made:
-JCLRMFX is the three step reassembly & PDB create job.
-TYPERMFX SAS program to reassemble into Large LRECL recs
-TYPS7001 reads LRECL SMF and creates the PDB.
-VMACSMFL replaces _SMF to use &LRGLRECL for SMF to input
the Large LRECLs and should only be used with JCLRMFX.
-VMACSMF and VMACSMFL were updated to decode SMF70RAN and
other RMF reassembly variables available for _SMF..
-FORMATS set RMFSRCL HEX2. so '8F'x is printed.
-VMXGINIT GLOBALs &LRGLRECL and sets it to 264000; the
largest reassembled LRECL was 77000 bytes.
-VMAC7072 was updated to add SMF70RAN/RBR/RSQ reassembly
variables to TYPE70.
-New RMFSPLIT program reads today's SMF data and alert
you if you have split records and whether data is lost.
-New member ADOCRMFX has detail documentation on the
Reassembly program TYPERMFX and the JCLRMFX example.
-SAS and WPS both work correctly with a download LRGLRECL
reassembled file with RECFM=U on the download.
-SEE CHANGE 41.012 FOR REQUIRED SAS HOT FIXES.
Change 40.149 -Support for CICS/TS 6.2 new fields added. New fields:
ZMAC110 XSNLNACT - DFHTASK 048 - FAILED AUOR NOLOG NOTAUTH
ZTILEXCL XSNLNFCT - DFHTASK 049 - FAILED AUOR NOLOG NOTFIND
FORMATS -SMFPSRVR is 75 for CICS/TS 6.2 so formats were updated:
Jan 8, 2023 MGVERCIC $MGVERCIC $MGSYIL
-The two members ZMAC110 and ZTILEXCL (ONLY in 40.40 with
BUILTBY= JAN 26, 2023 Change 40.149) are the updated code
for the CICS/TS 6.2, but they have not been tested with
6.2 Records. You can copy/rename them to UTILEXCL and
VMAC110 in your "USERID.SOURCLIB" to test and validate
this change, and advise of your success to support.
Thanks to Todd Gagle, Broadcom, USA.
Change 40.148 Support for TYPE 99 Subtypes 9 and 10.
VMAC99
Dec 2, 2022
Change 40.147 Array size of 2047,33165 required 550MB Region and caused
VMXGGETM Memory Failure errors if SAS Hot Fix 66883 for z/OS was
Dec 1, 2022 not applied. The array was much larger than was needed.
The first size (2047) is the number of possible SMF IDs
(2047) and 33165 was set to the number of combinations,
but it only needs to be the number of possible subtypes
for an ID. Current maximum subtype is 499 for the DB2
DB2 101 trace records, but 4096 was chosen since that
only requires a 110 MB REGION size. And, VMXGGETM is only
used to create a test file of two of your SMF records so
it's not routinely executed by UTILGETM.
Thanks to Allana Jacob, Kyndryl, CANADA.
Thanks to Pranav Yader, Kyndryl, CANADA.
Thanks to Amha Tsegaye, Kyndryl, CANADA.
Change 40.146 -Corrections to ASUMCELP dataset. SMF70LAC is now the MAX
ASUM70PR value to more accurately match SCRT reports, and GMTOFFTM
VMXG70PR and SMF70CPA are now populated.
Nov 28, 2022 -The ICF LPARS observations can now be created in ASUMCELP
Dec 3, 2022 and ASUM70LP datasets if you specify %LET ICFLPARS=YES;
before your %INCLUDE SOURCLIB(ASUM70PR) statement.
That will increase the number of obs in ASUMCELP/ASUM70PR
and most of the current LPAR variables will have missing
values, as only the ICF metrics are populated in the ICF
observations and the ICF metrics are missing values in
other LPAR observations. The ICF observations will have
LPARICFS NE 0.
Thanks to Joseph Montana, BKFS, USA.
Change 40.145 A report program that will show you in spreadsheet form
ANALCEC how the LPARs on your CEC are defined. It will tell you
Nov 21, 2022 how many MSU/MIPS are available to MVS based on the
Dec 25, 2022 lowest of cap values and CPUs assigned to LPAR.
Thanks to Miguel Fernandez, BNYMellon, USA.
CHANGE 40.144 The last line of MDIZERO was an unclosed comment causing
MDIZERO SLP to abend. MDIZERO now creates the OUT_DIR if it does
IEBUPDTE not exist. IEBUPDTE cosmetic updates with PUTLOGS.
Nov 21. 2022
Change 40.143 Change 40.103 was still incorrect, RECFM=VBS is needed to
VMACDCOL support any BLKSIZE value in the dumped DCOLLECT or IMS
VMACIMS VB records.
Nov 21, 2022
Thanks to Richard Egan, Westpac, AUSTRALIA.
Change 40.142 Uninitialized S30DM2GFAILED variable corrected, variable
BUILD005 D30DMINUSEADM2GHWM now output, and some labels for these
BUIL3005 new Dedicated Memory metrics were corrected.
VMAC30
Nov 18, 2022
Change 40.141 Variable CALTODON was incorrectly in the MACRO _BUSEACT
VMACVMXA sort list for VXUSEACT, causing an OUT OF ORDER error.
Nov 15, 2022 triggered by the Daylight Savings Time Change.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 40.140 -z/VM VXPRCMFC (SMF113 equivalent) RNI was always zero due
VMACVMXA to a typo that caused L3P to always be a missing value.
Nov 16, 2022 -Lines 6310 (z14/15) and 6375 (z16) creating L4RP both had
++ but the SAS Compiler did not flag that error, which
did not impact the value in L4RP for the z16, as all of
the EXTND counts in that statement were zero on this box
which only had one drawer. L4RP is non zero in others.
Thanks to Graham Harris, NatWest, ENGLAND
Change 40.139 Change 37.095 incorrectly decoded UOWTIME which prevented
VMACCIMS merging CIMSTRAN and CICSTRAN datasets.
Nov 14, 2022
Thanks to Charles Piggott, R+V Allgemeine Versicherung AG, GERMANY.
Change 40.138 DB2 variables QWHCCTKN QWHCEUID QWHCEUTX QWHCEUWN are not
VMACDB2H %U Unicode fields, but MXG incorrectly converted them
Nov 3, 2022 with $ASCII128 informat (when they were "truncated" with
offset). Now they are converted with $EBCDIC128.
Thanks to Paul Weissman, UBS, USA.
Change 40.137 Bit test to set BOOSTACTIVE=2 /*BOTH*/ was never tested
VMAC7072 if either ZIP or SPEED boost was active.
Oct 26, 2022
Thanks to Peter J. Gray, ANZ DXC, AUSTRALIA.
Change 40.136 SAS VIYA error %SUBSTR(&SYSVER,1,1)EQ V needed a blank
VMXGINIT between the ) and the V.
Oct 26, 2022
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 40.135 DB2 ZPARM ADDED by Function Level 501 replacing FL 100.
FORMATS -T102S106 labels revised:
VMAC102 QWP4TSCT='COMPRESSION*TYPE*F=FIXED*H=HUFFMAN'
Oct 27, 2022 QWP4ENKL='ENCRYPTION*KEYLABEL'
Nov 14, 2022 QWP4AUTCSU='AUTH*COMPATIBILITY*SELECT FOR UNLOAD'
QWP4CDSTL='CACHDYN*BOTH*CAPTURE*LOAD*NONE'
QWP4CDRL='COMPRESS*DIRLOB?'
QWP4SFPR='STATFDBK*PROFILE?'
QWP4DDLM='DDL*MATERIALIZATION*IMMEDIATE*PENDING'
QWP4DINA='DEFAULT*INSERT*ALGORITHM'
QWP4PSPN='PAGESET*PAGENUM*ABSOLUTE*RELATIVE?'
-T102S106 new variables:
QWP4DSSAR='DISALLOW*SSARAUTH?'
QWP4UBCDC/*UTILS*BLOCK*FOR*CDC?*/
QWP4LIRO /*LOAD*RO*OBJECTS?*/
QWP4UZS /*UTIL*USE*ZSORT?*/
QWP4RINSU/*REORG*INDEX*NOSYSUT1?*/
QWP4RICLD/*REORG*IC LIMIT*DASD*/
QWP4RICLT/*REORG*IC LIMIT*TAPE*/
QWP4LDISCALE/*LOAD*DEL*IMPLICIT*SCALE*/
QWP4SUBSTRCP='SUBSTR*COMPATABILITY*P=PREV*C=CURR'
Thanks to Lai Fai Wong, Bank of America, USA.
====== CHANGES THRU 40.134 ARE IN MXG 40.06 DATED Oct 23, 2022 =========
Change 40.134 BMC CMF MXGWARN:IMPOSSIBLE VALUE DETECTED TYPE70PR CPU
VMAC7072 LCPUPDTM Dispatch Time z/16 Data under z/OS 2.4, not RMF.
Oct 21, 2022 MANY of those messages were printed, now limited to ten.
Nov 2, 2022 Some LCPUADDR engines had hundreds of hours of LCPUPDTM
Nov 14, 2022 Partition Dispatch Time for PHYSICAL LPAR. This message
has always and continues to set LCPUPDTM to zero,
Nov 2: BMC reports their error was introduced in BQM1809,
workaround is to back out BQM1809 and a circumvention is
given in that Case if you can't back it out.
Nov 14: BMC APAR BQM1868 will correct when available.
Change 40.133 New parameter added and now listed in alphabetic order.
ANALDB2R New LISTIDS=NO (DEFAULT) suppresses the reports from
ANALDBTR VFMT102 that listed all of the OBID DBIDs found and used
READDB2 in the PROC FORMAT. Generally only useful for debugging.
VFMT102
Oct 23, 2022
Change 40.132 DB2ACCTP variables QBACSYI QBACSYIT and QBACIOC were
VMACDB2 missing values because they were missing in the revised
Oct 19, 2022 INPUT statement.
Thanks to Raymond J. Smith, OPTUM, USA.
Thanks to Ralph J. Romano, OPTUM, USA.
Change 40.131 Support for new TYPE7 variable SMF7DTYPX to report flood
VMAC7 filtered SMF records for all types (0-2047), to replace
Oct 11, 2022 SMF7DTYP which was only one byte for only 0-255 records.
If the dropped record is greater than 255, SMF7DTYP will
contain 126, which is the extended type indicator value.
Change 40.130 Support for SMF 106, updated and validated with all four
VMAC106 records creating these four datasets:
Oct 11, 2022 (LABEL='TY1061: BCPII HWISET API CALLS'
(LABEL='TY1062: BCPII HWICMD API CALLS'
(LABEL='TY1063: BCPII HWIREST NO OPS API CALLS'
(LABEL='TY1064: BCPII HWIREST OPS API CALLS'
Thanks to Hans Langeveld, KLM, THE NETHERLANDS.
Thanks to Mark Duifs, KLM, THE NETHERLANDS.
Change 40.129 Support for CICS/TS 6.1 (COMPATIBLE) new vars/dataset:
EXCICTLS -New variables in CICWBG (CICS URIMAPS) STID=101.
FORMATS WBGENRFC='ENTRYPOINT*REF*COUNT'
SCICSORT WBGDIUTA='DIRECT*USER*TRAN*ATT'
VMAC110 WBGSJMSR='SCHEME*JMS*REQUEST'
VMXGINIT WBGSIIOR='SCHJEME*IIOP*REQUEST'
Oct 12, 2022 WBGPIPEL='PIPELINE*REQUESTS'
-New variables in CICSJS (JVMSERVER) STID=116.
SJSCOCAU='CODE*CACHE*USED'
SJSCOCAA='CODE*CACHE*ALLOCATED'
SJSDACAU='DATA*CACHE*USED'
SJSDACAA='DATA*CACHE*ALLOCATED'
SJSCLSTU='CLASS*STORAGE*USED'
SJSCLSTA='CLASS*STORAGE*ALLOCATED'
SJSCLCAS='CLASSCACHE*SIZE'
SJSCLCAF='CLASSCACHE*FREE'
-Cosmetic. CICS/TS 6.1 WARNING about SKIPPED FIELDS for
STID's 48 is now skipped, as the new fields are
reserved fields.
-New dataset CICTLS (CICS TLS CIPHER) STID=151.
OCCIPHER='TLS*CIPHER*CODE'
OCTLSINB='INB CICS*CONFIG*TLS*CIPHERS'
OCTLSOUT='OUT CICS*CONFIG*TLS*CIPHERS'
OCATTINB='INB ATTLS*CIPHERS'
OCATTOUT='OUT ATTLS*CIPHERS'
OCDATETM='TLS*DATETIME'
-This should be the last update to CICS/TS 6.1 SMF data.
Thanks to Rob D'Andrea, NATWEST, ENGLAND.
Change 40.128 The Code Block to create variable LSPRWKLD was missing in
VMAC113 TYPE1131/TYPE113 datasets, but only TYPE1131/ASUM1131 is
Oct 6, 2022 used, as IBM no longer updates the subtype 2.
Thanks to Ronald W. Basset, OPTUM, USA.
Change 40.127 -WARNING SMF 90-10 WITHOUT PRECEEDING TYPE0 message and/or
VMAC0 zero observations in PDB.IPL dataset. DOWNTM calculation
VMAC90A revised and used to confirm ID=0 IPL SMF was found before
Oct 7, 2022 ID=90.10 IPL SRM.
-Blank LABELs in VMAC90A updated.
Thanks to Karthick Bojjireddy, HSBC, USA.
Change 40.126 A prior change dropped support for the TREND data. That
GRAFCEC is now restored and ODS PROCLIB added to make indices
Oct 4, 2022 more meaningful.
Thanks to Tom S. MacCabe, Dominion Energy Services, Inc., USA.
Change 40.125 Updates from Sep 26, 2022 SMF Manual Refresh.
VMAC74 TYPE74CA Variables R745INCR/BYTR/BYTW/RTIR/RTIW Reserved.
Oct 3, 2022 TYPE74CA Variables CSDS/CSIM reserved.
TYPE74DU Variable R744RFLG='STATUS*FLAGS'
TYPE75 Doc updated: UCBTYPE is only valid if Page Space
Type is not SCM, i.e., SCMPGTYP NE 'Y'.
Change 40.124 ERROR: UNABLE TO RESTORE 'BASE.FREQ.ONEWAYFREQA' FROM
PROC FREQ TEMPLATE STORE! is due to back level SAS at 9.1.3 and
Oct 2, 2022 issuing ODS commands in VMXGINIT. Install Current SAS.
Change 40.123 If a DB2 subsystem is restarted during the period covered
VFMT102 by the input SMF data, it is possible to get duplicate
Oct 1, 2022 values for a given DBID OBID. This change detects that
and flags the problem with an MXGWARN message and keeps
only the last OBS found when there is more than one.
Change 40.122 Typo, LENGT(& should be LENGTH(&
GRAFCEC
Sep 30, 2022
Thanks to Tom S. MacCabe, Dominion Energy Services, Inc., USA.
Change 40.121 TYPE113 can only validly process one CPU type at a time,
ASUM113 but prior to this change, all CPU types were incorrectly
VMAC113 output, and only observations from the default CPU type
Sep 30, 2022 (z15 in 40.02- SM113VN2=6, z16 in 40.03+ SM113VN2=7) or
the requested CPU type (if you reset MACRO _XLA113 per
Change 40.095) contained valid data values and correct
variable's labels. This change detects the value in MACRO
_XLA113 and only outputs those observations, printing an
MXGWARN message if other types were found in SMF data,
and creating 0 obs in TYPE113/TYPE1131 if no requested
CPU type records were found.
Note that if you have multiple CPU Types, z16 and z15,
you would use the default z16 in your normal BUILDPDB and
output the TYPE1131 and ASUM1131 datasets to your normal
PDB data library, and would run a second step, changing
changing _XLA113 to _XLA113F for the z15 and changing the
//PDB DD to a DIFFERENT DATA LIBRARY as the two datasets
TYPE1131/ASUM1131 CAN NOT BE COMBINED and they must be
separately analyzed. The simplest job is
// EXEC MXGSASV9
//SMF DD DSN=YOUR.SMF113.DATA,DISP=SHR
//PDB DD DSN=YOUR.Z15.TYPE113.PDB,DISP=OLD
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA113F % ;
%INCLUDE SOURCLIB(TYPS113,ASUM113);
but the more complete job which enhances the ASUM1131
data set with TYPE70PR data would be
// EXEC MXGSASV9
//SMF DD DSN=YOUR.SMF113.SMF70.DATA,DISP=SHR
//PDB DD DSN=YOUR.Z15.TYPE113.PDB,DISP=OLD
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA113F % ;
%UTILBLDP(BUILDPDB=NO,USERADD=7072 113,
OUTFILE=INSTREAM,
WANTSMF=70.1 113.1,
INCLAFTR=ASUM70PR ASUM113);
%INCLUDE INSTREAM; RUN;
You could tailor your BUILDPDB to create an SMF file with
only the needed SMF records for the second job adding the
//SMFOUT DD DSN=YOUR.SMF113.SMF70.DATA,DISP=(,CATLG). . .
and using
//SYSIN DD *
%LET MACFILE=
%QUOTE(
FILE SMFOUT DCB=SMF;
IF (ID=70 AND SUBTYPE=1) OR (ID=113 AND SUBTYPE=1)
THEN PUT _INFILE;
FILE LOG; );
-ASUM113 was corrected to CRYPTO83 instead of CRYPTO70.
Thanks to Ralph J. Romano, OPTUM, USA.
Change 40.120 Flag variables added to TYPE16:
VMAC16 ICETOOL ='CALLED*BY*ICETOOL?'
Sep 28, 2022 APFAUTH ='RUNNING*APF*AUTHORIZED?'
MOBJWORK='MEMORY*OBJECTS*USED FOR*WORK?'
JOINKEY1='INVOKED*JOINKEYS*SUBTASK 1?'
JOINKEY2='INVOKED*JOINKEYS*SUBTASK 2?'
Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.
Change 40.119 If you add type120 data to the PDB you could get an array
VGETSORT subscript out of range message in a weekly or monthly
Sep 27, 2022 job. VGETSORT is used to build a list of the datasets
that could possibly be added to the week or month and
includes the variables in the SORTEDBY list. This was
kept in an array that was 20 deep but some some of the
type 120 datasets have very long _B lists and exceeded
the array size. Array was expanded to 50.
Change 40.118 Unused Change Number
Sep 22, 2022
Change 40.117 Format MGXAMPO is created to map values of PFXPOLAR for
FORMATS the Polarization and PFXPOLAR is now a numeric value.
VMACXAM
Sep 21, 2022
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 40.116 New DB2 V12 variables added in DB2STAT0/DB2STATS:
VMACDB2 QTGSLCAIC QTGSDGBL QTGSLICNT QTGSGICNT QTGSGCONT
Sep 20, 2022 QTGSFCONT QTGSCPLOK QTGSCNOTY
New DB2 V12 variables added in DB2STAT1/DB2STATS and
DB2ACCTP and DB2ACCT:
QTXALCMM QTXALCMU QTXALCSM QTXACRLK QTXACWLK
QTXACRUK QTXACWUK QTXACRCH QTXACWCH QTXACRNT
QTXACNNT QTXACRCP QTXACWCP QTXACRAL QTXACWAL
QTXACWSY QTXASRCL QTXAUCNT QTXALCCP QTXACGEN
QTXACRQF QTXACWQF QTXADLCL QTXATOUT QTXARTRY
QTXANRTY QTXASUSP QTXARSUM QTXASTAT QTXADEAD
QTXATIME
Thanks to Scott Barry, SBBTechLLC, USA.
Change 40.115 Support for DB2 IFCID 314.
FORMATS Format MGD314R added.
VMAC102
Oct 11, 2022
Thanks to Lai Fai Wong, Bank of America, USA.
Change 40.114 UTILGETM/VMXGGETM ERROR: Array Subscript out of range.
VMXGGETM This utility, used only in JCLTESx program to create the
SMFSMALL file, still had the old limit of SMF Type values
of 256, but now the maximum TYPE is 2047, with 0-127 and
1152-2047 for IBM with 128-1151 available for users.
The actual record type in the record is 126, which tells
MXG this is an Extended SMF Header record with the true
ID in that header. The specific record was TYPE=1153,
the JES2 Monitor record.
Thanks to Jim S. Horne, Lowe's, USA.
Thanks to Saddam Hussain, Lowe's, USA
Change 40.113 Updates from Aug 23, 2022 SMF Manual:
VMAC7072 -TYPE70 new variable:
VMAC73 ALTVMMACHINE='RUNNING*UNDER*ALTERNATE*VM MACHINE'
Sep 10, 2022 -TYPE73 new variables:
Oct 17, 2022 SMF73NT1='PNET ID OF*ETHERNET*NETWORK*1ST PORT'
SMF73NT2='PNET ID OF*ETHERNET*NETWORK*2ND PORT'
-Note that no SMF 78 Subtype 3 records are written if your
system is running under an Alternate Virtual Machine.
-Oct 17: VMAC73 Early Adopter's 40.06 STOPOVER corrected.
Change 40.112 CICS TS/6.1 is SMFPSRVR 74 but FORMATs printed TS5.7.
FORMATS No impact on code as all tests are for 74.
Aug 6, 2022
Change 40.111 -The CICS Resource & Identity records, 110 subtype 1 with
TYPE110 MNSEGCL=5 or 6 create these seldom needed datasets that
UTILBLDP can take a lot of disk space and they compress poorly:
Sep 2. 2022 MNSEGCL=5 RESOURCE
COUNTER SEG DATASET
MNR5NUMI CICSRDS CICS RESOURCE DATA CLASS
MNR5NUMF CICSRDFI CICS RESOURCE FILE DETAIL
MNR5NUMT CICSRDQU CICS RESOURCE TSQUEUE DETAIL
MNR5NUMD CICSRDPL CICS RESOURCE DPL DETAIL
MNR5NUMU CICSRDUR CICS RESOURCE URIMAP DETAIL
MNR5NUMW CICSRDWB CICS RESOURCE WEBSVC DETAIL
MNSEGCL=6 IDENTITY
COUNTER DATASET
MNI6NUMI CICSIDNT CICS IDENTITY TRANSACTION INFO
MNI6NUMD CICSIDND CICS IDENTITY REALM/DISTING
They can be made zero obs dataset using
%LET MACFILE=
%QUOTE(
IF ID=110 AND SUBTYPE=1 AND MNSEGCL IN (5,6)
THEN DELETE; );
in your SYSIN, or with UTILBLDP by adding MNSEGCL5
and/or MNSEGCL6 or MNSEGCL to the SUPPRESS= parameter.
In addition, when TYPS110 is used, they are never sorted
nor written to the PDB data library, in VMAC110 comments:
MACRO S110:
/* SUBTYPE=1, CICS MONITOR DATASETS: */
/* _SCICTRN - CICSTRAN IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICRDS - CICSRDS IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICRDD - CICSRDPL IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICRDF - CICSRDFI IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICRDQ - CICSRDQU IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICRDU - CICSRDUR IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICRDW - CICSRDQB IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICIDN - CICIDNTY IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICIDD - CICIDNDD IS NOT SORTED TO PDB, HIGH VOLUME.*/
/* _SCICACC - CICSACCT NOT SORTED, PRE-CICS/ESA ONLY. */
/* _SCICSYS - CICSYSTM NOT SORTED, PRE-CICS/ESA ONLY. */
Change 40.110 -If you specified FIRSTRUN=YES and RUNWEEK=NO the SAS
BLDSMPDB OPTION OBS=0 was still in effect, causing all subsequent
Sep 2, 2022 datasets to have 0 OBS which could also cause an ERROR.
Thanks to Doug Medland, Kyndryl, CANADA
Change 40.109 ERROR 557-185:Variable SETPDB is not an object because
ANAL307X SET&PDBMXG..TYPExxxx was missing the blank between SET
Aug 30, 2022 and &PDBMXG.
Thanks to Karl Lasecki, American Chemical Society, USA.
Change 40.108 The LFAAREA was introduced in 2017 but no one noticed in
VMAC71 those 5 years that it was not included in the CSTORE size
Aug 30, 2022 which suggest memory is not the critical resource it once
was! Variable CSTORE is updated to include SMF71GRX,
the maximum frame size of the LFA, converted to bytes to
match CSTORE UNITS.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 40.107 Correction for TYPE9040 BOOST dataset SMF9040T/IBM _ETOD,
VMAC90A which is valid in both START and END event records, but
Aug 27, 2022 in the START record is the projected END of BOOST time.
and was incorrectly compared with SMFTIME to create the
GMTOFF9040 offset value. New variables:.
SMF9040STR the SMFTIME of the START event.
SMF9040EGMT the SMF9040T before GMTOFFSET in END
SMF9040SGMT the SMF9040T before GMTOFFSET in START
SMF9040TE the SMF9040T after GMTOFFSET in END
The last three variables are needed for the GMTOFF9040
calculation (by descending sort and retained from END.)
You must use %INCLUDE SOURCLIB(TYPS9040) or
%INCLUDE SOURCLIB(TYPE9040); _STY9040
because the GMT correction is in the dataset SORT.
-Note that the CAPTURAT in RMFINTRV can be over 100% in
Boosted intervals, and IBM says that is correct and will
eventually provide a documentation update.
Thanks to Peter Relson, IBM z/OS Core Design, USA.
Thanks to Jim S. Horne, Lowe's, USA.
Change 40.106 Support for new variables in MONITASK dataset, added by:
VMACTMO2 PTF TH04514 in V4.2 for CICS/TS 5 AND 6.
Aug 25, 2022 TAHWMRUL='RULE*RECORD'
TARECSEQ='RECORD*SEQUENCE*FLAG'
TAABNCD2='ABEND*CODE'
Thanks to Daniel D. Hamiel, NEDBANK, SOUTH AFRICA.
Change 40.105 Variables INTBTIME/INTETIME were missing if the first 30
VMAC30 was a subtype 2/3 for an OMVS (SUBSTEP GT 0) record.
SMFINTRV Change 25.089 set SMF30IST to missing IF SUBSTEP GT 0
Aug 24, 2022 because in 2007 it contained the original INITTIME and
not the current interval's start time, and could not be
used to create the GMTOFF30 (that MXG must calculate
because IBM has never put it in the 30 records!).
Now, the value in SMF30IST for OMVS jobs is valid and
no longer set missing and the INTBTIME/INTETIME are
now valid in that first 30 record.
See Change 40.156 correction.
Thanks to Ronald W. Bassett, OPTUM, USA.
Change 40.104 Variable SMF70TYP in TYPE70PR was always 2:IIP, while in
VMAC7072 TYPE70EN, it correctly mapped 0:CP 1:IFA 2:IIP, which are
Aug 22, 2022 the only engine types in TYPE70EN. But in TYPE70PR, the
Dec 10, 2022 correct variable is SMF70CIX which maps all five engines:
1:CP 3:IFA 4:IFL 5:ICF and 5:ZIIP. But now SMF70TYP does
correctly map it's three engine types in TYPE70PR.
Thanks to Pat Perreca, Wakefern, USA.
Change 40.103 The INFILE statement for IMSLOG didn't supply attributes
VMACDCOL LRECL and RECFM for the execution system, needed if they
VMACIMS are not supplied in the FILENAME IMSLOG statement. There
Aug 22, 2022 was also a logic error in both VMACIMS/VMACDCOL INFILEs.
Thanks to Ervin Claxon, CSX, USA.
Thanks to David Feimer, Luminex, USA.
Change 40.102 APAR OA62064 corrects invalid CPUSER/SMF70SER '5555'x
VMAC7072 values, although that is not stated in the text, which
Aug 18, 2022 notes that APAR introduces z16 support. IBM says the
bad serial number is also addresses in that APAR.
No change was made to MXG code.
Thanks to Rob D'Andrea, NATWEST, ENGLAND
====== CHANGES THRU 40.101 ARE IN MXG 40.05 DATED Aug 15,2022 ==========
Change 40.101 TYPE6 ESS segments with GEPARNLN=0 are valid null values,
IMAC6ESS so the MXGERROR INVALID IMAC6ESS RECORD SKIPPED is now
Aug 8, 2022 only written if GEPARMNL GT LENGTH.
Change 40.100 CICS/TS 6.1 ERROR 22-322 using UTILEXCL -SOFLAG $CHAR4,
UTILEXCL the comma after CHAR4 should be a period.
Aug 8, 2022
Thanks to Gennady Katsnelson, Kyndryl, USA
Change 40.099 -Support for VMXGHSM DFSMSHSM Data Areas z/OS 2.5 Chap 15,
VMXGHSM DVL-Dump Volume Record adds these variables to HSMDVL:
Aug 6, 2022 DVLDEVT='SOURCE VOL*UCB TYPE'
DVLFVALD='VOLUME HAS*VALID COPIES'
DVLMEDIA='MEDIA*TYPE'
DVLSEQNR='SEQUENCE*NUMBER'
DVLSTACK='NUMBER*OF DUMPS*STACKED'
Thanks to Lindsay Oxenham, Defense, AUSTRALIA
Change 40.098 MXG 40.01 only. INPUT STATEMENT EXCEDED, INVALID data for
VMAC30 SMF30CONFOLOW because the INFORMAT &PIB.2 was missing the
Aug 4, 2022 final period, It should have been &PIB.2. with period.
Thanks to Mary Kay Pettengill, Sirius, USA.
Change 40.097 If you are using Luminex MDI you could get a S013 ABEND
MDIZERO in your z/OS job, if it did not produce any output in
Aug 4, 2022 SASLIST. This change adds a data step that creates a
single page of output to prevent the ABEND, You may want
to add this datastep to your tailored IMACINIT or to
every job you submit to the MDI from z/OS.
data _null_;
file print;
put 'page output to prevent s013 abend. Change 40;097';
run;
Change 40.096 Dataset TYPE749, PCIE Statistics, only output the first
VMAC74 SYNC I/O Response Distributions buckets. Sets of 10 FLG,
Aug 4, 2022 Read, and Write Range and Sample Counts are created.
Thanks to Raymond J. Smith, OPTUM, USA.
Thanks to Ralph J. Romano, OPTUM, USA.
Change 40.095 -Support for z/16 MONWRITE VXPRCMFC Hardware HIS data with
FORMATS z/VM Release 7.2.21.2 and new CRYPTO types in VXPRCAPM.
VMAC113 The z16 changed labels and uses different variables and
VMACVMXA coefficients in the RNI and other metrics calculations.
Aug 3 2022 The calculations/coefficients are correct for each CPU,
but the variable labels default to those for the z16.
To process z15 and get correct labels you must use:
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA113F %
Thanks to Graham Harris, NatWest, ENGLAND.
Change 40.094 If you don't want to run a week but do want to run a
VMXGALOC month-to-date, both members had problems. VMXGALOC
BLDSMPDB did not create the MONTH directories and BLDSMPDB did
Aug 1, 2022 not execute the MTD code and tried to initialize the
non-existent week directories when FIRSTRUN=YES was
used.
Thanks to Doug Medland, Kyndryl, CANADA;
Change 40.093 Using the SAS FTP ACCESS method, the ftp process can hang
TECHNOTE if HSM is migrating the SMF data file either from disk to
Jul 26, 2022 or tape back to disk. Writing SMF data to tape will
eliminate the exposure.
Change 40.092 ANALMQ and ANALAVAI were not honoring the PDB= parameter,
ANALMQ instead always looked in DDNAME of PDB. Now, the PDB=
ANALAVAI argument is honored for the LIBNAME.
Jul 26, 2022
Change 40.091 The first step in moving MXG to a LUMINEX MDI is to copy
MDIZERO USERID.SOURCLIB from z/OS to LINUX. This JCL uses the
Jul 26, 2022 PROC SOURCE on ZOS to create an IEBUPDTE input file that
is then decoded and reconstructed on LINUX using the
IEBUPDTE.SAS program in the MXG Sourclib.
Change 40.090 MXG Variables/Datasets that contain/include RUCSA metrics
TECHNOTE Dataset TYPE78VS
Jul 26, 2022 R782FLG='RUCSA*IS*DEFINED?'
R782RUCA='RUCSA*ADDRESS*BELOW*16M'
R782RUCS='RUCSA*SIZE*BELOW*16M'
R782ERUCA='RUCSA*ADDRESS*ABOVE*16M'
R782ERUCS='RUCSA*SIZE*ABOVE*16M'
From IBM FIELD R782CSAU:
CSAUSED0='CSA*USED*MIN BELOW'
CSAUSED1='CSA*USED*MIN BELOW TIME'
CSAUSED2='CSA*USED*MAX BELOW'
CSAUSED3='CSA*USED*MAX BELOW TIME'
CSAUSED4='CSA*USED*AVERAGE BELOW'
CSAUSED5='CSA*USED*MIN ABOVE'
CSAUSED6='CSA*USED*MIN ABOVE TIME'
CSAUSED7='CSA*USED*MAX ABOVE'
CSAUSED8='CSA*USED*MAX ABOVE TIME'
CSAUSED9='CSA*USED*AVERAGE ABOVE'
From IBM FIELD R782CSAF:
CSAFREE0='CSA*FREE*MIN BELOW'
CSAFREE1='CSA*FREE*MIN BELOW TIME'
CSAFREE2='CSA*FREE*MAX BELOW'
CSAFREE3='CSA*FREE*MAX BELOW TIME'
CSAFREE4='CSA*FREE*AVERAGE BELOW'
CSAFREE5='CSA*FREE*MIN ABOVE'
CSAFREE6='CSA*FREE*MIN ABOVE TIME'
CSAFREE7='CSA*FREE*MAX ABOVE'
CSAFREE8='CSA*FREE*MAX ABOVE TIME'
CSAFREE9='CSA*FREE*AVERAGE ABOVE'
From IBM FIELD R782CSLF:
CSALARG0='CSA*LARGEST*FREE*MIN BELOW'
CSALARG1='CSA*LARGEST*FREE*MIN BELOW TIME'
CSALARG2='CSA*LARGEST*FREE*MAX BELOW'
CSALARG3='CSA*LARGEST*FREE*MAX BELOW TIME'
CSALARG4='CSA*LARGEST*FREE*AVERAGE BELOW'
CSALARG5='CSA*LARGEST*FREE*MIN ABOVE'
CSALARG6='CSA*LARGEST*FREE*MIN ABOVE TIME'
CSALARG7='CSA*LARGEST*FREE*MAX ABOVE'
CSALARG8='CSA*LARGEST*FREE*MAX ABOVE TIME'
CSALARG9='CSA*LARGEST*FREE*AVERAGE ABOVE'
From IBM FIELD R782CSAL:
CSAALOC0='CSA*ALLOC*MIN BELOW'
CSAALOC1='CSA*ALLOC*MIN BELOW TIME'
CSAALOC2='CSA*ALLOC*MAX BELOW'
CSAALOC3='CSA*ALLOC*MAX BELOW TIME'
CSAALOC4='CSA*ALLOC*AVERAGE BELOW'
CSAALOC5='CSA*ALLOC*MIN ABOVE'
CSAALOC6='CSA*ALLOC*MIN ABOVE TIME'
CSAALOC7='CSA*ALLOC*MAX ABOVE'
CSAALOC8='CSA*ALLOC*MAX ABOVE TIME'
CSAALOC9='CSA*ALLOC*AVERAGE ABOVE'
Dataset TYPE71 IBM NAME
CSAPGAV ='CSA TOTAL*CSTORE*FRAMES*AVERAGE' SMF71AVP
CSAPGMN ='CSA TOTAL*CSTORE*FRAMES*MINIMUM' SMF71MNP
CSAPGMX ='CSA TOTAL*CSTORE*FRAMES*MAXIMUM' SMF71MXP
CSLPFXAV='CSA FIXED*CSTORE*FRAMES*AVERAGE' SMF71AVC
CSLPFXMN='CSA FIXED*CSTORE*FRAMES*MINIMUM' SMF71MNC
CSLPFXMX='CSA FIXED*CSTORE*FRAMES*MAXIMUM' SMF71MXC
Change 40.089 New variables added to dataset SV34TRAN:
VMACSVIE IMTR_CNT_SYNCPOINT='TOTAL*SYNCPOINT*COUNT'
Jul 26, 2022 IMTR_CLK_SYNC_ELAPSED='SYNCPOINT*ELAPSED*TIME'
IMTR_CLK_OSAM_SYNC ='OSAM*SYNCPOINT*TIME'
IMTR_CLK_VSAM_SYNC ='VSAM*SYNCPOINT*TIME'
IMTR_CLK_APPL_ELAPSED='APPLICATION*ELAPSED*TIME'
New variables added to dataset SV35TRAN:
IMRA_SYNC_ELAPSED ='TOTAL*SYNCPOINT*ELAPSED*TIME'
IMRA_DB2_ELAPSED ='TOTAL*DB2*ELAPSED*TIME'
IMRA_MQ_ELAPSED ='TOTAL*MQ*ELAPSED*TIME'
IMRA_DB2_SQL ='TOTAL*DB2*SQL*CALLS'
IMRA_SYNCPOINT ='TOTAL*SYNCPOINT*COUNT'
IMRA_OSAM_SYNC ='TOTAL*OSAM*SYNCPOINT*TIME'
IMRA_VSAM_SYNC ='TOTAL*VSAM*SYNCPOINT*TIME'
IMRA_APPL_ELAPSED ='APPLICATION*ELAPSED*TIME'
Change 40.088 Dataset TYPE42DS variable S42DS2DL is labeled and new
VMAC42 variable S42DS2MV is created. APAR OA59611.
Jul 18, 2022.
Change 40.087 Dedicated Memory variables added to TYPE30_4 (PDB.STEPS),
BUILD005 and TYPE30_V (PDB.SMFINTRV).
BUIL3005 S30DMREQUESTED2G S30DMMINREQUESTED2G S30DMASSIGNED2G
VMAC30 S30DMINUSEAS2G S30DMINUSEASFIXED1M
Jul 18, 2022 S30DMINUSEASPAGEABLE1M S30DMINUSEAS4K
S30DMINUSEASDATTABLES S30DMINUSEAS4KHWM
S30DMINUSEASPAGEABLE1MHWM S30DMINUSEASFIXED1MHWM
S30DMINUSEAS2GHWM S30DMINUSEASDATTABLESHWM
S30DMINUSEHWM S30DM2GFAILED S30DM1MFAILED S30DM4KFAILED
S30DMINUSEAS2GHWM S30DM2GFAILED
Change 40.086 -Dataset TYP11911 Variable SMF119SC_SSH_KEX_METHOD is now
FORMATS created and the incorrect spelled SMF119SC_SSH_KEX_ALG is
VMAC119 set to '0000'X and LABELed 'DO NOT USE'.
Jul 15, 2022 -Format $MG119KX METHOD and $MG119KA ALGORITHM updated to
match the z/OS 2.5 IP Programmer's Guide values.
Thanks to Joe Faska, DTCC, USA.
Change 40.085 New ZRBASI time variables added in z/OS 2.4 and 2.5
VMACRMFV ASI_EJST='TCP*PROCESSOR*TIME*ALL TYPES'
Jul 12, 2022 ASI_SRBT='NON-PREMPT*SRB TIME*ALL TYPES'
ASICPUTA_CP='ALL*NONENCLAVE*TIME*ON CP'
ASI_CP_PHTM='PREEMPT*CLASS SRB*TIME*ON CP'
Change 40.084 TYPE73 data for SMF73CMG=2 Channel Measurement Group has
VMAC73 counters with invalid counts if the CHPID was VARIED in
Jul 11, 2022 the interval. These variables are now set missing for
those intervals CHFACTV/DFER/RATE/XACTV/XDFER/CHFXRATE
PBUSBY PCHANBY PNCHANBY SMF73EOC/EOD/EOS/ETC/ETD/ETS/PUC
TBC/SMF73TUC.
The three Channel Measurement Groups are described as:
1 - Channels like CNC or CTC
2 - Ficon or OSA Express
3 - Hypersockets
Thanks to Vance Breckenridge, FMR, USA.
Change 40.083 If you specified PATHLIST=YES to get a report of the
PDBAUDIT active LIBNAMES there were duplicate lines (SAS only)
Jul 8, 2022 caused by the return of 4 lines per LIBNAME from the PROC
SQL. A sort was added with NODUP to eliminate the extra
lines.
Change 40.082 There are 60 variables added by IBM to the TYPE30_4 data
BUILD005 that were not also added to the PDB.STEPS BUILDPDB data
BUIL3005 set, that are now added for completeness:
Jul 6, 2022 ASID CPUZIPTM_CPUIFATM_INST ENCLACTM ENCLCPSU
ENQTIME EXCPERR EXSRMERR IARVAPIN IARVEPIN IARVPSEC
IEFUSICH IEFUSIME SMF30ACB SMF30ACR SMF30CAI SMF30CCR
SMF30CHC SMF30CONFLAG1 SMF30CONFLAG2 SMF30CONFLAG3
SMF30CONFOLOW SMF30CR SMF30CRM SMF30DAS SMF30DSCC
SMF30HQT SMF30INV SMF30JF1 SMF30JQT SMF30NCR
SMF30NRDS SMF30PCF SMF30PF1 SMF30PF2 SMF30PFF
SMF30PFL SMF30PIN SMF30PRJ SMF30RQT SMF30RTR SMF30SCF
SMF30SLM SMF30SME SMF30SQT SMF30T32 SMF30T33 SMF30TF2
SMF30TIH SMF30TIS SMF30TIU SMF30_INCOMPLETE_DATA
SMF30_INSTCAPTDISRUPTION SMF30_INST_FLGS1_MRS
SMF30_RAXFLAG5 SMF30_RAXFLAG6 SMF30_RCMTADJN SRBCOEFF
SRMNODAT SUBSTEP WLMNAME
Change 40.081 If you did not have an SMF DD or FILENAME statement and
VMACSMF your program tried to read SMF data you got a very odd
Jul 5, 2022 failure caused by the failure to create the SMFENG macro
variable. The variable is now initialised to NO SMF
INFILE FOUND and will be set to DISK or FTP with SAS or
a blank value with WPS.
Change 40.080 In the process of debugging the problem for which 40.006
VMXGSUM was the fix we added an UPCASE function as well as a
Jul 5, 2022 COMPBL function against the incode. Since all character
compares in SAS are case sensitive this can cause an
invalid compare if you are trying to compare values in
the INCODE and are expecting a lower case value. This
change removes the UPCASE but leaves the COMPBL which was
really the solution to the problem.
Thanks to Matthew I. Chappell, Queensland Government, AUSTERALIA
Change 40.079 NOTE: "Variable LENTYP50 may not be initialized" had no
VMAC50 real impact, as that variable was only to be kept and was
Jun 30, 2022 not actually used. Now, correctly set to LENGTH.
Thanks to Randy Schlueter, Fiserv, USA.
====== CHANGES THRU 40.078 ARE IN MXG 40.04 DATED Jun 29,2022 ==========
Change 40.078 MXG 39.09 and earlier fail with APAR OA61811/OA62502,
VMAC7072 due to an MXG error for SMF 72 Subtype 3 TYPE72GO that
Jun 25, 2022 failed to test for new fields after the last segment,
which caused INPUT mis-alignment and invalid data values.
PTFs: z/OS 2.3 UJ07991
PTFs: z/OS 2.4 UJ07990
PTFs: z/OS 2.5 UJ07989
-WE STRONGLY SUGGEST YOU INSTALL THE CURRENT MXG 40.04
WHICH AVOIDS THE COMPLEXITY OF THE BELOW CIRCUMVENTION
AND PROVIDES SIGNIFICANT OTHER ENHANCEMENTS AFTER YOUR .
BACKLEVEL VERSION. PLEASE USE THE FORM AT
HTTPS://WWW.MXG.COM/SOFTWARE_DOWNLOAD_REQUEST
You can circumvent this MXG error by:
-Downloading files at http://www.mxg.com/downloads/
The APAR inserted new fields in SMF 72 Subtype 3 TYPE72GO
that exposed an MXG coding error that failed to test for
new added fields after the last new segment, causing the
INPUT misalignment and invalid data values to be created.
There MAY be INVALID DATA FOR R723IFAT messages or other
fields printed, but those are accidental and there might
not be ANY log messages that the error occurred. And even
if there are INVALID DATA messages, they do not set a
CONDITION CODE, so there may be no clue on the log that
the error occurred.
MXG 39.39 thru MXG 40.03 correctly input the new data.
but only this change or MXG 40.04 has the protection for
additional new fields.
Change 40.077 -Variables SYNCNCIN SYNCNCON SYNCKEXN are added and they
FORMATS are decoded by format $MGSYNNG. Format $MGSYNEQ updated
VMACSYNC for 'C9'X for SORTL.
Jun 24, 2022 -Format $MGSYNNG for Reason Code is missing values of
Nov 14, 2022 '06'x '07'x '0F' '10'x '11'x '13'x '18'x
Nov 21, 2022 -Variable SYNCEQLS is a multi-bit flag variable that is
correctly decoded, but to identify SORTL was used, you
must test the values of '08'x or 'C9'x so now there are
eight one=byte variables for each bit for simpler tests:
SYNSOTRP='SORTOUT*DATA*STRIPING?'
SYNSITRP='SORTIN*DATA*STRIPING?'
SYNBPSI ='BATCHPIPES*MVS*DATASET*SORTIN?'
SYNBPDS ='BATCHPIPES*MVS*DATASET*PRESENT?'
SYNEQUON='EQUALS*ON?'
SYNCMPO ='COMPRESSED*SORTOUT*WITH*STARTIO?'
SYNCMPI ='COMPRESSED*SORTOUT*WITH*STARTIO?'
SYNSORTL='SORTL*ALGORITHM*USED?'
Thanks to Jan Tielemans, KBC, BELGIUM.
====== CHANGES THRU 40.076 ARE IN MXG 40.03 DATED Jun 23,2022 =========
Change 40.076 ERROR: SHORT 42 SUBTYPE 6 ACCESS METHOD SECTION due to
VMAC42 a reserved field that was overlooked.
Jun 23, 2022
Thanks to Robert Chavez, Florida Power & Light, USA.
Change 40.075 Members VGETDDS and VMXGSET in First MXG 40.03 were
VGETDDS replaced with those members from 40.02, Change 40.072
VMXGSET "enhanced" those members to support more than 99 DDs, but
Jun 23, 2022 the enhancement could fail (only one report).
Change 40.074 Variable TLSLEVEL 1.1/1.2/1.3 is added to NDMCT dataset.
VMACNDM
Jun 21, 2022
Thanks to Luis Mendoza, BKFS, USA.
====== CHANGES THRU 40.073 ARE IN MXG 40.03 DATED Jun 15,2022 =========
Change 40.073 S11912SAFLAGX40,20,10,08,04 were byte-tested ('80'X) so
VMAC119 only one bit was tested, but the field can have multiple
Jun 14, 2022 bits so the fields now are bit-tested ('1.......'B).
Thanks to Tom White, Bank of America, USA.
Thanks to Charlie Carlson, Bank of America, USA.
Change 40.072 Hardcoded limit of 99 DDs in VMXGSET limited VGETDDS.
VGETDDS Limit replaced by better logic with no limit; IBM has
VMXGSET increased the maximum number of generations to 999.
Jun 10, 2022
Thanks to Scott Barry, SBBTechLLC, USA.
Change 40.071 Explanation of DB2 differences with PROC COMPARE.
VMACDB2 -DB2ACCT QB1C/QB2C/QB3C/QB4C suffix HPG/HRE/HRF/HWF/HWR
VMACDB2H and SWU are always missing values after Change 39.200,
Jun 5, 2022 they were replaced by SYIT/SYI/IOC/RSV3/RSV2/RSV1.
All other DB2ACCT variables matched.
-Datetime variables QWHSSTCK BEGTIME ENDTIME MXG 39.04+
(Change 39.099) were 26 seconds early due to MXG logic
that creates DB2GMTDB GMT Offset (IBM does not provide)
which incorrectly thought leap seconds were included in
the TODSTAMP fields. The subtraction was removed.
BUT: No site ever reported that 26 second delta!
-DB2STAT4 QW0225 variables are larger; were 4 bytes now 8,
and _REAL now includes _AUX & _DPAGE. (and AUX is 12288).
Variable QW0225_WARN is corrected to bytes from blocks.
-Datasets DB2ACCTR DB2ACCTW DB2STAT1 and DB2STAT2 match.
-Dataset DB2ACCTB variables QBACCIOD/SYI/SYIT are also
missing after Change 39.200 which reused their slots..
-All Q8ACxxxx and Q8STxxxx variables are only populated
with DB2NETEZZA.
Change 40.071 SMF42 Subtype 6 enhanced with new TYPE42DS variables:
VMAC42 S42JDVER='VERSION*NUMBER'
Jun 2, 2022 S42JDST1='STEP*NUMBER'
S42JDSTN='STEP*NAME'
Change 40.070 Support for z16 HIS SMF 113 data.
VMAC113 -Many labels are changed, and different counters are used
ASUM113 for RNI and the other metrics so the default support in
Jun 2, 2022 40.03 is only for the z16 metrics. You will need to use
separate jobs/steps to process each hardware platform.
For the z/15 SMF you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA113F %
and for the z/16 SMF you would use
//SYSIN DD *
%LET MACKEEP= MACRO _XLA113 _XLA113G %
(or just use the default without a %LET statement.
Change 40.069 Updates from May 22, 2022 SMF Manual:
VMAC30 -TYPE30_4 TYPE30_5 TYPE30_6 TYPE30_V datasets
VMAC7072 New variables:
VMAC74 SMF30CONFOLOW SMF30CONFLAG1-SMF30CONFLAG3
VMAC90A
May 31, 2022
Change 40.068 Updates from May 24, 2022 Data Gatherer Manual:
VMACRMFV -ZRBASI dataset
May 31, 2022 New flag variables:
ASITRGRP='TENANT*RESOURCE*GROUP?'
ASIRCVBO='RECOVERY*BOOST?'
-ZRBLCP dataset
New variable
LCPUTOPC='TOPOLOGY*HAS*CHANGED'
-ZRBDNG NEW Dataset:
Await Test Data to update ASMRMFV and then VMACRMFV.
Change 40.067 -Service policy selection correction post-IPL checking to
ASMRMFV enable sample set BEG/END time to coincide policy's.
May 30, 2022 -Cosmetic: correct RMFV008 DSORG alignment
-Cosmetic: match ASM field names to match VMACRMFV
-Restored REDID type variables to correct type
-Errors processing UWDG3 record corrected.
-Two sites have received CC=4 due to the BEG/END & REDIT
change, because IBM Data Gatherer Support has been unable
to replicate the warning, and we need to know if other
sites have the issue. If so, please use SENDVSAM to send
your VSAM RMF III file so we can get it to IBM support.
-It is also possible to get CC=4 for "WARNING:DEAD SPACE"
but we are examining if that should be INFORMATIONAL for
the next iteration of ASMRMFV.
Change 40.066. Variable ECMTSTMP in z/VM dataset VXSYTEPM was wrong; it
VMACVMXA was not scaled by 128 microseconds.
May 27, 2022
Thanks to Scott Barry, SBBTechLLC, USA.
Change 40.065. TYPS103 ERROR: Attempt to open two sequential members
VMAC103 if //PDB was on tape. The _STY1032 sort macro had //PDB
May 27, 2022 library for both the INPUT and OUTPUT.
Thanks to Cesar V. Cocco, JPMorgan Chase, USA.
Change 40.064. Reserved Change.
May 31, 2022
Change 40.063. Variables DSAPTHTM JVMTHDTM MAXHTDTM in CICSTRAN are
VMAC110 correct if UTILEXCL was used to create your IMACEXCL,
May 24, 2022 but those variables were NOT divided by 4096 (for STCK)
if you didn't use UTILEXCL and didn't have an IMACEXCL.
This change adds the missing /4096 for those variables.
And WTOTIOTM was also wrong because it includes DSAPTHTM
Thanks to Lorena Ortenzi, Kyndryl, ITALY.
Thanks to Alessandro Cappobianco, Kyndryl, ITALY.
Change 40.062. Dataset TYP11912SSH variable S11912SS_SSH_KEX_METHOD and
FORMATS S11912SS_SSH_KEX_ALG that are formatted with $MG119KX did
May 20, 2022 not decode new values added by z/OS 2.4. Now values are:
VALUE $MG119KX
'0000'X='UNKNOWN'
'0001'X='NONE'
'0002'X='DIFFIE-HELLMAN-GROUPEXCHANGESHA256'
'0003'X='DIFFIE-HELLMAN-GROUPEXCHANGESHA1'
'0004'X='DIFFIE-HELLMAN-GROUP14-SHA1'
'0005'X='DIFFIE-HELLMAN-GROUP1-SHA1'
'0006'X='ECDH-SHA2-NISTP256'
'0007'X='ECDH-SHA2-NISTP384'
'0008'X='ECDH-SHA2-NISTP521'
'0009'X='GSS-GROUP1-SHA1'
'000A'X='GSS-GROUP14-SHA1'
'000B'X='GSS-GEX-SHA1'
'000C'X= 'DIFFIE-HELLMAN-GROUP14-SHA256'
'000D'X= 'DIFFIE-HELLMAN-GROUP16-SHA512'
'000E'X= 'DIFFIE-HELLMAN-GROUP19-SHA512'
'000F'X= 'CURVE25519-SHA256'
'1002'X= 'DIFFIE-HELLMAN-GROUP19-EXCHANGESHA256(ICSF)'
'1003'X= 'DIFFIE-HELLMAN-GROUP19-SHA1(ICSF)'
'1004'X= 'DIFFIE-HELLMAN-GROUP14-SHA1(ICSF)'
'1005'X= 'DIFFIE-HELLMAN-GROUP1-SHA1(ICSF)'
'1006'X= 'ECDH-SHA2-NISTP256(ICSF)'
'1007'X= 'ECDH-SHA2-NISTP256(ICSF)'
'1008'X= 'ECDH-SHA2-NISTP521(ICSF)'
'1009'X= 'GSS-GROUP1-SHA1(ICSF)'
'100A'X= 'GSS-GROUP14-SHA1(ICSF)'
'100B'X= 'GSS-GEX-SHA1(ICSF)'
;
Thanks to Eviatar Farchy, DTCC, USA.
Change 40.061.-RMM Extract Dataset EDGRDEXT new variables added:
VMACEDGR RDLRED ='LASTREF*EXTRA DAYS'
May 20, 2022 RDWHILECATON='WHILE*CATALOG=ON*Y,N?'
RDWHILECATUX='WHILE*CAGALOG*UNTIL*EXPIRED*Y?'
-RMM Extract Dataset EDGRXEXT new variables added:
XVKEYLABEL1='ENCRYPTION*KEY*LABEL 1'
XVKEYENCOD1='ENCRYPTION*ENCODING*METHOD 1'
XVKEYLABEL2='ENCRYPTION*KEY*LABEL 2'
XVKEYENCOD2='ENCRYPTION*ENCODING*METHOD 2'
XVMEDINF ='MEDIA*INFORMATION'
XVIRMMUSE ='IRRM*USED?'
XVWORM ='WORM*USED?'
XVHOLD ='VOLUME*HOLD?'
XVESB ='EXPD*SET BY*VOLUME'
XDESB ='VEXPDT*SET BY*DATASET'
XVUCDATE ='VOLUME*LAST*USER*CHANGE*DATE'
XVUCTIME ='VOLUME*LAST*USER*CHANGE*TIME'
XDUCDATE ='DATASET*LAST*USER*CHANGE*DATE'
XDUCTIME ='DATASET*LAST*USER*CHANGE*TIME'
XDVEX ='VRSEL*EXCLUDE?'
XVRETMET ='RETENTION*METHOD'
XVRMSB ='RETENTION*SET*BY'
XVCOMP_RAT ='COMPRESSION*RATIO*FOR VOLUME'
XVPHYS_USED='ACTUAL*SPACE*USED*ALL FILES'
XDCOMP_RAT ='COMPRESSION*RATIO*FOR FILE'
XDPHYS_SIZE='DATA ON*TAPE*AFTER*COMPRESSION'
XDLRED ='LASTREF*EXTRA*DAYS'
XVEXRB ='EXPDT*RETAINBY'
XVEDM ='VOLUME*EDM?'
XDWHILECATON='DSN*WHILECATALOG*ON?'
XDWHILECATUX='DSN*WHILECATALOG*UX?'
Thanks to John E. Benik, Optum, USA.
Change 40.060. RMF III update for ZRBRED dataset, and for FORMATS.
FORMATS
VMACRMFV
May 16, 2022
Change 40.059 -Support for SMF 80 RACFTYPE=67 records adds variables to.
VMAC80A RACF dataset TYPE8081:
May 12, 2022 RA67BITS='PASSTICKET*EVAL*HEX'
RA67RTRN='PASSTICKET*RETURN*CODE*HEX'
RA67REAS='PASSTICKET*REASON*CODE*HEX'
RA67NAME='PASSTICKET*APPLICATION*NAME'
-Only 5 UNKNOWN RACFTYPE messages are printed.
Thanks to Craig S. Bigler, Progressive, USA.
Thanks to Martha A. Knapik, Progressive, USA.
Change 40.058 Support for APAR OA60660 for TYPE9040 BOOST.
FORMATS -New values for Formats MG090ID for SMF9040IDNR and
VMAC90A MG090EV for SMF9040E.
May 23, 2022 -New variables
BOOSTLEVEL='BOOST*LEVEL'
RPBDISABLE='RPB*DISABLED?'
SMF9040RPBDU='RPB*DURATION*DELTA'
SMF9040RPBPO='RPB*DURATION*POTENTIAL'
SMF9040RPBPD='RPB*DURATION*POT DELTA'
SMF9040RPBPE='RPB*DURATION*POT E'
SMF9040RPBED='RPB*DURATION*POT E DELTA'
Change 40.057 BUILDPDB CRITICAL ERROR DUPLICATE TYPE30 SUBTYPE 1 FOUND
BUILD005 can result when testing BUILDPDB jobs that ABENDED or if
BUIL3005 the same SMF file was read in multiple BUILDPDB jobs.
May 9, 2022 This enhancement inserts a PROC SORT NODUPKEY to remove
any duplicates, printing log notes if any were found.
Thanks to John Barnes, Zions Bank Corp.
Change 40.056 Dataset BVIR302 had only half the number of observations
VMACBVIR it should have had starting in MXG 39.04 thru MXG 40.02.
May 6, 2022 due to a 2 byte misalignment for the second of the pair.
====== CHANGES THRU 40.055 ARE IN MXG 40.02 DATED May 5,2022 =========
Change 40.055 -Variable ZCOS01TI corrected.
VMACZCOS -Support for subtype 5 in progress, text will be updated
Apr 29, 2022 if/when subtype 5 data with populated triplets received.
Thanks to Virginie Peigney, CA-GIP, FRANCE.
Thanks to Claude Tetard, CA-GIP, FRANCE.
Change 40.054 Variables added to TYPE122A dataset:
VMAC122A SMF122T1S3F_VUON ='CLIENT*ACTIVATION CODE*PROVIDED?'
Apr 28, 2022 SMF122T1S4_UUID ='UUID'
SMF122T1S1_SYSPLEX='SYSPLEX*NAME'
ZEXPLAPIVERSIONCLIENT='ZEXPLAPI*VERSION*CLIENT'
ZEXPLAPIVERSIONHOST='ZEXPLAPI*VERSION*HOST'
PRODUCTAPIVERSIONHOST='PRODUCTAPI*VERSION*HOST'
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 40.053 -Variables SMF92WID added to all datasets.
VMAC92 -Subtype 11 and 16 records are both output in TYPE9211;
Apr 26, 2022 the value in SMF92STP identifies the subtype.
Dataset TYPE9216 will always have zero observations.
-New variables in Dataset TYPE9211:
SMF92CF4='Y';/*FILE*WAS*CACHED?*/
SMF92CF5='Y';/*FILE*HAD*DENY*READ?*/
SMF92CF6='Y';/*FILE*HAD*DENY*WRITE?*/
-Tests for length SMF92ILN changed to GE 72 or 32 vs EQ.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 40.052 Variables TVCSIZE and TVCSIZE8 are now correct.
VMACBVIR
Apr 26, 2022
Thanks to Maria Paola Bramosi, Kyndryl, ITALY
Thanks to Lorena Ortenzi,Kyndryl, ITALY
Thanks to Valeria Consiglio, Kyndryl, ITALY.
Change 40.051 -Clean-up of ZRBASM dataset corrected alignments and added
VMACRMFV new variables
Apr 26, 2022 ASMZLP='OUTPUT*ZERO*LP*LPARS?'
ASMIFE='IF=*KEY*WORD*ERRORS?;
ASMSLSIZ='EXECUTION*STEP LVL*PGM SIZE'
ASMDCPCRX='MAXIMUM*CPCNAME*RANGES'
ASMDCPCPX='MAXIMUM*CPCNAME*PATTERNS'
ASMDLPRRX='MAXIMUM*LPARNAME*RANGES'
ASMDLPRPX='MAXIMUM*LPARNAME*PATTERNS'
-These variables were retained from ZRBSSHG3 and output in
ZRBBDSIH and the six ZRBSVCx datasets, but they are now
removed because they are either missing or have wrong
values, retained from from a prior sample set when there:
are multiple sample sets input:
GMTOFF SSHGOSYN SHIFT CPC_CECNAME LPARNAME SSHTIBEG
SSHTIEND SSHRMFVN SSHMPRNR SSHGOMNT
-If you use PROC APPEND, you MUST specify FORCE and NOWARN
when there are changes between DATA= and BASE= datasets,
to allow the APPEND and to prevent the WARNING MESSAGE
and to prevent the CONDITION CODE 4.
Change 40.050 -MXG 40.01, SMF30 ABEND with z/16 SMF or APAR OA61511 due
VMAC30 to MXG coding error for new Crypto counters. Line 1812
Apr 22, 2022 IF OFFPROD GE 193 THEN DO; in VMAC30 needs to be GE 220
to circumvent this error. That APAR was in RSU2301.
Change 40.049 An extra paren in the Dataset Label for IFCID 100 and 101
VMAC102 did not impact their creation, but VMXGPRAL died when it
Apr 20, 2022 tried to print those dataset labels.
Change 40.048 -ASUM70PR Hardware Capping variables SMF70HWGRNAME,
VMXG70PR SMF70HWGR_CAP_LIMIT and SMF70HW_CAP_LIMIT are added to
Apr 25, 2022 dataset ASUMCELP.
-TYPE70PR variable SMF70HWGR_CAP_LIMIT LABEL statement
updated to 'IN NR ENGINES'.
-CODE WARNING Message YES or not NO suppresses report.
Thanks to Shantanu Gupta, ENSONO, USA.
Change 40.047 Support for IBM CL/SuperSession V3.1 found undocumented
VMACNAF bytes and incorrect record lengths and invalid SMFSTAMP
Apr 16, 2022 values that had '20'x instead of '01'x for century bit.
Thanks to Linda S. Berkley, DISA, USA.
Change 40.046 HSMFSRBO and HSMFSRST dataset variable FSR2_UNAM was
VMACHSM INPUT as VARYING1024 but INPUT(FSR2_UNAM,$EBCDIC128.).
Apr 12, 2022 kept only the first 128 bytes. Now all 1024 are kept.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 40.045 Support for APAR OA61609 for TYPE82 records.
FORMATS -FORMAT $MG082AL updated for STAT_ENG_ALG_NAM in SMF8231.
VMAC82 -FORMAT $MG082LA updated for SMF82_TAG_KEY_ALG in SMF8241.
Apr 7, 2022 -Variable STAT_ENG_CARD_ID is now readable in SMF8231.
-These Subtypes have changes in this APAR but I don't have
test data: 1,41,42,45,46,48
-Support for Z16 Hardware ICSM-CEX8S for Dilithium 6-5 R3,
and 8-7 R3 Support in CCA and PKCS, Kyber in CCA/PKCS.
Thanks to Luis Mendoza, BKFS, USA.
Change 40.044 No impact, but three TYPE70 variables are now reserved:
VMAC7072 SMF70MDL_CBP SMF70MCR_CBP and SMF70NCR_CBP were intended
Apr 7, 2022 to be populated for the CBP (Container Based Processor)
engine which was never implemented, and IBM confirms
there is no plan to do so going forward. The CBP fields
replaced the discontinued zAAP fields. MXG was updated to
support the ESP sites that also never happened. All zAAP
variable's names were unchanged, but CBP was added to all
labels; I don't intend to remove the CBP text..
Change 40.043 Replaced with Change 40.067.
Change 40.042 CICS/TS 6.1 BETA 25 removed fields 291 (SOCPSCT) and 293
VMAC110 (SOPSHWM) from CICSTRAN records. INCOMPATIBLE.
Apr 4, 2022
Change 40.041 If you ran VMXGUOW in a SAS session without a PDB DDNAME,
VMXGUOW and you did not ask for MQ data (MXGMQAdd=yes) you could
Apr 4, 2022 get an error LIBREF PDB NOT FOUND.
Thanks to Roger Lowe, NT Government, AUSTRALIA
Change 40.040 In May 2021 negative values in DB2 QPACZITM Package Ziip
TECHNOTE time was reported to IBM. The error is addressed by APAR
Mar 31, 2022 PH40410 with PTF UI79705 for DB2 V12.1. This error
impacts users of external stored procedures and UDFs when
a stored procedure or UDF is cancelled in the middle of
its processing. The SP/UDF recovery processing will get
control, and in that recovery processing, code is missing
or incorrect to record the times for the DB2 Accounting
Record. Code was added or fixed in the cancel thread
scenario.
Thanks to Glenn Bowman, Wakefern, USA.
Change 40.039 z/OS 2.5 TYPE 0 IPL record lengths 78 and 83 were not in
VMAC0 the list of valid record lengths causing ***VMAC0.ERROR
Mar 31, 2022 messages and those records were not input. For a true IPL
the ERROR message is followed by a 90-10 PUTLOG which is
the confirmation the type 0 was for an IPL.
Thanks to Andreas Menne, Finanz Informatik, GERMANY
Change 40.038 DATACOM INPUT missed reserved field causing misalignment
VMACDCOM and incorrect values. New variables added..
Mar 30, 2022
Thanks to Linda S. Berkley, DISA, USA.
Change 40.037 New variable ZCOS01TI is created as a datetime value from
VMACZCOS character variable ZCOS01TM. Missing values are created
Mar 25, 2022 for values of 00.000.00-00:00 or all zeroes.
Thanks to Pier-Pascal Jouilin, SOCGEN, FRANCE
Change 40.036 -ASMRMFV ZEROLP logic has been corrected to properly build
ASMRMFV CPCDB records. With 39.227, the logical processor
ADOCRMFV sections were padded with binary zeros which tripped up
Mar 22, 2022 VMACRMFV analysis of the CPCDB records.
CHANGE 40.035 Variables SMF70GMU, SMF70CPA, and SMF70WLA were missing
VMXG70PR values in dataset ASUMCELP.
Apr 23, 2022 This is not yet implemented. Contact Support.
CHANGE 40.034 TYPE 70 BLOCKED WORKLOAD variables SMF70PMT and SMF70PMU
VMAC7072 were corrected. SMF70PMU is rounded up to next 1% in the
Mar 21, 2022 RMF Report, but MXG has left the actual value.
Thanks to Flavio Lima, Kyndryl, USA.
CHANGE 40.033 VM Accounting VMID='C0'x and USER='RCSC' INVALID DATA FOR
TYPEVM CPUMODEL because the format of the record changes and the
Mar 30, 2022 C0 record for RSCS has not yet been found. CPUMODEL is
protected.
Thanks to Linda Berkley, DISA, USA.
====== CHANGES THRU 40.032 ARE IN MXG 40.01 DATED Mar 4, 2022 =========
CHANGE 40.032 -If you ran VMXGUOW in a different SAS session than the
ASUMUOW one that created the input data sets, VMACDB2,VMAC110 and
VMXGUOW VMAC116 members are needed to resolve MACROs, but MXG
Mar 17, 2022 39.39 and earlier did not include VMAC116, causing zero
obs in the MQ data since the step would try to use the
_LTY116 and _LTY1161 which do not exist without VMAC116.
-ASUMUOW example in comments was updated.
Thanks to Nagaraj Pudukotai,
====== CHANGES THRU 40.031 ARE IN MXG 40.01 DATED Mar 4, 2022 =========
CHANGE 40.031 Replaced by Change 40.032.
Change 40.030 IMTR_TRN_ fields after STEPNAME were misaligned; the four
VMACSVIE UNDOC bytes after IMTR_TRN_CLASS1 should be after USERID.
Mar 2, 2022 Select WHEN statements had underscore in text that should
be dashes. Variable IMTR_DAC_DBDLET was added to KEEP and
to MACRO _DR3ADA
Thanks to James Robbins, Broadcom, USA.
Thanks to Don Cleveland, KYNDRYL, USA
Change 40.029 ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT.
VMACRMFV The default array size of 50 lock holders was too small;
Mar 2, 2022 the temporary arrays were increased to 500 taking only
2Mib virtual storage to eliminate any exposure.
Thanks to Randy Schlueter, Fiserv, USA.
Change 40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax which caused
ASMRMFV CC=8 in 39.39 (and EA 40.01) due to Change 39.100.
Mar 2, 2022 Syntax of PARM='FROM=FROM,TO=Y' will work with 39.39.
Thanks to Len Shenfield, ADP, USA.
Thanks to David Dittmar, ADP, USA.
Change 40.027 $MGSMFID Format for ANALID new 90.040 (BOOST INFORMATION)
FORMATS and 90.41 (CVTLSO CHANGE). values added.
Feb 25, 2022
Change 40.026 TYPE72GO variables RDCENDxx were not input, because the
VMAC7072 test for LENSCS GE 815 should have been 813.
Feb 25, 2022
Change 40.025 Support for OA61511 Crypto/NNPI counts in SMF 0 and 30
EXTY30CP ABENDS SMF 30 in MXG 40.01, See Change 40.050 in 40.02.
EXTY30NP -New variables added to TYPE0 dataset.
IMAC30 SMF0_NUM_CRYPCTRS='CRYPTO*COUNTERS*SUPPORTED'
VMAC30 SMF0_NUM_NNPICTRS='NNPI*COUNTERS*SUPPORTED'
VMAC0 SMF0_FLAGS='SMF0*FLAGS'
VMXGINIT -New TYPE30CP and TYPE30NP datasets Crypto/NNPI counts.
Feb 25, 2022 TYPE30CP - CRYPTO COUNTERS
SMF30CONFLAG1='FIRSTREC*SET OF*TWO OR*MORE'
SMF30CONFLAG2='SECOND*NOT*LAST'
SMF30CONFLAG3='LAST OF*TWO OR*MORE'
SMF30_CRYPCTRS_ENTRY_ID='CRYPTO*COUNTER ENT ID'
SMF30_CRYPCTRS_VALUE ='CRYPTO*COUNTER*VALUE'
SMF30CPA='SMF30CPA SECTIONS SUBSEQUENT'
TYPE30NP - NNPI COUNTERS
SMF30CONFLAG1='FIRSTREC*SET OF*TWO OR*MORE'
SMF30CONFLAG2='SECOND*NOT*LAST'
SMF30CONFLAG3='LAST OF*TWO OR*MORE'
SMF30_CRYPCTRS_ENTRY_ID='CRYPTO*COUNTER ENT ID'
SMF30_CRYPCTRS_VALUE ='CRYPTO*COUNTER*VALUE'
SMF30NPA='SMF30NPA SECTIONS SUBSEQUENT'
Change 40.024 Macro variables MXGALERT MXGMAILFROM MXGMAILTO added for
VMXGINIT a future enhancement.
Feb 25, 2022
Change 40.023 SMF 102 IFCID 220 Argument to function MDY IS INVALID
VMAC102 was caused by +4 misalignment of the INPUT statement.
Feb 23, 2022
Thanks to Randall Schlueter, FISERV, USA.
Change 40.022 Format $MGRMFRE decodes variable REDREDID in ZRBRED
FORMATS
VMACRMFV
Feb 13, 2022
Change 40.021 TYPETPMX variable JCLJJR was not decoded because TOKFIELD
VMACTPMX contains a lower case character that was not expected.
Feb 9, 2022
Thanks to Ralph J. Romano, OPTUM, USA.
Change 40.020 Added second TESTSTRING2 to delete invalid records that
VMACCTLC have a blank in byte 9.
Feb 9, 2022
Thanks to Craig Collins, State of Wisconsin, USA.
Thanks to Maggie Buday, State of Wisconsin, USA.
Change 40.019 Format MGKILO was extended to decode EXABYTE VALUES.
FORMATS
Feb 8, 2022
Thanks to Jorge Fong, DOITT.NYC.
Change 40.018 Dataset TYPE115S was misaligned because 8 bytes were
VMAC115 added to the SM1152NQ segments.
Feb 8, 2022
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 40.017 The TYPE30_4/TYPE30_5 dataset variables EXCPTOTL/EXCPNODD
VMAC30 IOTMTOTL/IOTMNODD counts are wrong for jobs/steps that
Feb 7, 2022 have MULTIDD='Y' records. These are additional SMF 30
records created when there are more DDs than will fit in
one 32K record and they contain the extra TODD counts.
The "real" step record that contains the address space
EXCPTOTL/IOTMTOTL counts has MULTIDD=' ' with some TODD
counts, but NODD=TOTL-TODD can't be calculated in that
MULTIDD=' ' record because of the TODD counts that are in
those other MULTIDD='Y' records. And NODD can't be
calculated in those records that don't have the TOTLs.
The logic to combine those MULTIDD='Y' records and to
create a single TYPE30_4/TYPE30_5 obs with correct counts
is in the BUILDPDB logic, and you can use this example to
create only the PDB.STEPS and PDB.JOBS datasets and use
them in place of TYPE30_4 and TYPE30_5:
%LET MXGANALID=NO;
%LET MACFILE= %QUOTE (
IF ID=6 OR ID=26 OR (ID=30 AND SUBTYPE IN (1,4,5) ); );
%INCLUDE SOURCLIB(BUILD001,BUILD005);
PROC DATASETS LIB=PDB;
DELETE
DB2ACCT DB2ACCTB DB2ACCTG DB2ACCTP DB2ACCTR DB2ACCTW
DB2GBPAT DB2GBPST DB2NETZA DB2ST225 DB2STAT0 DB2STAT1
DB2STAT2 DB2STAT4 DB2STAT5 DB2STATB DB2STATR DB2STATS
DB2STSBP NJEPURGE PRINT SMFINTRV SPIN26 SPIN30TD
SPIN30_1 SPIN30_4 SPIN30_5 SPIN6 SPUNJOBS;
Thanks to Jeffrey S. Britton, IRS, USA.
Thanks to Mark C. Smith, IRS, USA.
Thanks to Twanna G. Wiley, IRS, USA.
Change 40.016 z/OS 1.12 and 1.13 write SMF 42 Subtype 5 with LENSR=96
VMAC42 that MXG detected and deleted with a warning message, but
Feb 2, 2022 APAR OA53110 (2017) that added the new zHPF fields and
set LENSR=160 is not available for these back-levals.
However the records are valid for those 96 bytes and are
now output with no message.
Thanks to Jeffrey Fracas, ENSONO. USA.
Change 40.015 ASCII execution. If you use VMXGALOC and choose to send
VMXGALOC DB2 or CICS to a different location than the BASEDIR=
Jan 28, 2022 directory, the aging of directories failed because it was
looking for that directory. Now, BASEDB2 and BASECICS are
used.
NOTE: VMXGALOC only deletes the directory indicated by
the KEEP&&&&- parameters so if you have been running for
a while you may need to do a manual cleanup. Assume today
is Jan 28 and you used CICSKEEP=3. CICS220127 would be
created and CICS220124 would be deleted leaving
220125-220127 but any prior to 220124 would remain and
would need to be manually deleted
Thanks to Jose Rivera, UPS, USA.
Change 40.014 TYPE 16 SORT records can have offsets that point beyond
VMAC16 the record length causing INPUT STATEMENT EXCEEDED error.
Jan 28, 2022 Now prints TRUNCATED SMF 16 RECORD INDS or OTDS log
message that identifies the job that created the record,
and the record is deleted. One bad record was created
by a job using PGM=ICETOOL that had an ABEND S222.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 40.013 Format $MGSYNEQ decodes variable SYNEQULS.
FORMATS
VMACSYNC
Jan 31, 2022
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 40.012 Variable R742PUSE in dataset TYPE74PA is changed from the
VMAC74 count of 1K blocks to the number of bytes and formatted
Jan 28, 2022 MGBYTES so it can be directly compared with R742PMXM.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 40.011 -Variable TPCRELEASE added to dataset XMTCPSYS.
EXVSIDIA -Support for VSIDIA Segment with Linux Diagnose Codes
FORMATS creates XMVSIDIA dataset.
VMACXAM
VMXGINIT
Jan 31, 2022
Thanks to Douglas C. Walter, CITIGROUP, USA.
Thanks to Arthur Koerner, CITIGROUP, USA
Change 40.010 z/VM 7.2.21.02 ABEND with Broken Control Record corrected
VMACVMXA
Jan 27, 2022
Thanks to Rob D'Andrea, NATWEST, ENGLAND.
Change 40.009 Variables QCSTSLSN/QCSTSLCN/QCSTSLCS are added to dataset
TYPE116 MQCHININ.
Jan 26, 2022
Thanks to Gennady Katsnelson, Kyndryl, USA.
Change 40.008 The DCB Attributes were incorrectly added to VMACBVIR in
TYPEBVIR line 55 in VMACBVIR. They are now removed and only the
Jan 24, 2022 JFCB=BVIRJFCB is set for z/OS execution.
Thanks to Jorge Fong, DOITT.NYC.
Change 40.007 -If you did not specify an offset for a system 0 was used
TIMEBILD and if you did not specify a GMT offset 0 was used again.
VMAC30 Now both produce MXGNOTEs and the offset is still set to
Jan 31, 2022 0 and the GMT offset is to the same value as the offset.
-Variable INTBTIME was corrected for TIMEBILD.
Thanks to Rob G. Hollingum, HSBC,
Change 40.006 Very odd problem from an ASCII user. It appears that
VMXGSUM their IMACSHFT member may have been created using a
VMXGRMFI TEXT EDITOR that leaves out the CRLF at the end of each
Jan 23, 2022 line creating a long string. When that string hit the
incode logic it choked and probably broke a line in the
middle or a word. THere were two solutions and both are
implemented. First VMXGSUM was modified and the COMPBL
function is used to get rid of blanks. Second the
redundant IMACSHFT call in the first TYPE75 summary was
removed. Error surfaced as INDEX VALUE error on log.
Change 40.005 R742PUTx variables in TYPE74PA were divided by 1E-6 after
VMAC74 being INPUT with INFORMAT &PIB.8.6 which also divides the
Jan 19, 2022 PIB8 value by one million.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 40.004 Hard-coded DATA FINL70PR1/VIEW=FINL70PR1 was overlooked
VMXG70PR and its VIEW could not be disabled with %LET MXGVIEW=NO.
VMXGINIT Now, macro variable &VWTY70PR is used. Early WPS did not
Jan 14, 2022 support VIEWS.
Thanks to John Compton, World Programming, ENGLAND.
Thanks to Chris Hill, World Programming, ENGLAND.
Change 40.003 PDB.RMFINTRV new variable MSUSCRT=CPUEFFTM*SMF70CPA/1E6
VMXGRMFI estimates the MSU reported by IBM's SCRT.
Jan 12, 2022
Thanks to Thomas Heitlinger, Atruvia, GERMANY
Change 40.002 Summarization and Trending for MQ SMF 115 data. MXG 39.39
ASUM115X had added ASUMMQAC and TRNDMQAC for MQ SMF 116 data.
TRND115X
VMXGINIT
Jan 11, 2022
Change 40.001 CICS/TS 6.1 OPEN BETA 22 Jan 22, 2022 REQUIRES MXG 40.01
TYPE110 because a second new field was inserted in the CICSTRAN
UTILEXCL record. The first was added/supported in MXG 39.07.
Jan 11, 2022
LASTCHANGE: Version 40.
=========================MEMBER=CHANGE39================================
/* COPYRIGHT (C) 1984-2022 MERRILL CONSULTANTS DALLAS TEXAS USA */
E.A. MXG VERSION 39.39 is dated Dec 30, 2021, thru Change 39.225..
MXG VERSION 39.09 was dated Dec 2, 2021, thru Change 39.213.
MXG VERSION 39.08 was dated Oct 15, 2021, thru Change 39.199.
MXG VERSION 39.07 was dated Sep 20, 2021, thru Change 39.190.
MXG VERSION 39.06 was dated Aug 12, 2021, thru Change 39.167.
MXG VERSION 39.05 was dated Jul 16, 2021, thru Change 39.149.
MXG VERSION 39.04 was dated Jun 1, 2021, thru Change 39.116.
MXG VERSION 39.03 was dated May 3, 2021, thru Change 39.092.
MXG VERSION 39.02 was dated Apr 4, 2021, thru Change 39.066.
First MXG VERSION 39.02 was dated Apr 1, 2021, thru Change 39.063.
MXG VERSION 39.01 was dated Feb 17, 2021, thru Change 39.028.
First MXG VERSION 39.01 was dated Feb 16, 2021, thru Change 39.026.
ANNUAL MXG VERSION 38.38 was dated Jan 4, 2021, thru Change 38.234.
New TECHNOTES previously in NEWSLTRS are now in CHANGESS.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 39.39 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 39.39.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains old Technical Notes. many of which are still
valid, but the last was in 2018. Now, TECHNOTES and FLASHes are in
CHANGES/CHANGESS. which are also online.
The Final MXG Newsletter SIXTY-NINE was dated Jan 3, 2018.
Member CHANGES contains the changes made in this current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
CHANGESS and NEWSLTRS are also online at http://www.mxg.com,
========================================================================
I. MXG VERSION 39.39 DATED Jan 5, 2022 THRU CHANGE 39.225.
==MAJOR CHANGES ADDED IN MXG 39.39, DATED Jan 5, 2022 THRU 39.225.
NEW SUPPORT
ASUMMQAC 39.220 Summarization of MQMACCT (SMF116).
TRNDMQAC 39.220 Trending of MQMACCT (SMF116).
UTILWORK 39.219 Create Workload Definitions for RMFINTRV
VMXGINIT 39.214 Support for SAS Viya INCOMPAT Version Format Change
==MAJOR CHANGES ADDED IN MXG 39.09, DATED Dec 2, 2021 THRU 39.213.
NEW SUPPORT
TYPEDB2 39.200 Support for DB2 zHyperlink new data.
TYPE90A 39.206 FORMAT MG090CM for CMDMVS new values decoded.
TYPESVIE 39.207 Sysview SV27DB2/SV27PROG/SV27TRAN updated.
FNDMXGJB 39.210 Find probable MXG Job execution SAS/SOURCLIB/LIBRARY.
TYPERACF 39.212 Support for RACF Unload 0207 and 05B0 records.
ENHANCEMENTS
ANALDB2R 39.209 DB2 DBID/OBID Decoded if there is an IFCID 105.
TYPEDB2 39.208 DB2STATB/S variables AGET/ASGE/ASSE/ASYN deaccumed.
DODSCRDT 39.204 CREATEDATE Year 1772 in 2028 corrected.
ERRORS CORRECTED
TYPE82 39.203 SMF 82 Subtype 24 INPUT STATEMENT EXCEEDED corrected.
TYPETLC 39.202 Protect BMC Control-D CSV invalid quotes protected.
TYPE50 39.201 MXG 39.08-39.08 Error if no //INSTREAM DD.
TYPE6156 39.213 Protection for TYPE6156 record with short segment.
==MAJOR CHANGES ADDED IN MXG 39.08, DATED Oct 15, 2021 THRU 39.199.
ERROR CORRECTED:
TYPE6156 39.196 MXG 39.07 INPUT EXCEEDED, SMF6XSTCKE incorrect..
TYPE30 39.194 AVGWKSET,CPUTOTTM,CPUUNITS could be too large.
TYPE50 39.198 TYPE50 OSA Express Accel TY50PKAC misspelled.
NEW SUPPORT:
TYPESVIE 39.199 Support for MainView IMS Updates/Enhancements
FORMATS 39.197 SMF 119 $MG119CF NEG-CIPHER decoded for ZERT.
TYPERMFV 39.192 RMF III for z/OS 2.5 plus new tables supported.
ENHANCEMENTS
BLDSMPDB 39.195 USEVMXGSET adds OPEN=DEFER for z/OS save drives.
SELSMF 39.192 Select and write SMF records from each system.
ICETOOL 39.191 Select records on z/OS for ASCII execution example.
==MAJOR CHANGES ADDED IN MXG 39.07, DATED Sep 20, 2021 THRU 39.190.
FLASH
WPS ONLY 39.171 WPS Errors in 4.3.1 fixed in 4.3.3.
NEW SUPPORT:
TYPE110 39.176 Support for CICS/TS 6.1 CICSTRAN/UTILEXCL.
TYPEDB2 39.188 Support for CICS-DB2 ATTACH APAR PH31440 fields.
TYPEVELO 39.179 Support for Dino VelociRaptor SMF records.
TYPEPRF 39.178 Support for Dell PRF Monitor MFE SMF records.
TYPECTLC 39.175 Support for BMC CONTROL-D CSV audit file.
TYPE1415 39.173 Support for SMF14DSENCARCHKEY encrypted flat.
TYPERMFV 39.168 Support for RMF III z/OS 2.5 existing tables.
TYPE30 39.186 Support for APAR OA61368 new RAXFLAGS bits.
ENHANCEMENTS
TYPE110 39.180 Enhanced MXGABND can set Condition Code.
BUILD005 39.181 Variables BOOSTACTIVE/BOOSTCLASS in PDB.STEPS.
IMACABND 39.180 MXGABND can set a condition code instead of ABEND.
TYPENDM 39.173 New format $MGNDMCP decodes NDMCPEA Cipher values.
ERRORS CORRECTED
TYPE90A 39.170 Conflict with variable SMF9040ID, char vs numeric.
==MAJOR CHANGES ADDED IN MXG 39.06, DATED Aug 12, 2021 THRU 39.167.
NEW SUPPORT:
TYPE1153 39.163 Support for SMF ID=1153 JES 2 Monitor.
TYPEQSEL 39.158 Support for Quick Select product's SMF records.
TYPEVIRS 39.154 Support for VIRTEL AUDIT VIRSTATA SMF records.
TYPE83 39.153 Support for new datasets and variables.
==MAJOR CHANGES ADDED IN MXG 39.05, DATED Jul 16, 2021 THRU 39.153.
ERRORS CORRECTED
VMAC110 39.145 SMF 110 Subtype 1 MNSEGCL=5 (NOT CICSTRAN) ABEND 5.3.
VMXGALOC 39.148 ERROR: Libref TREND not assigned.
ANALMSUS 39.140 Using READSMF=YES and PDBOUT=WORK ERRORed
VFMT102 39.139 ANALDB2R failed FORMAT NOT FOUND if no subtype 104.
VMXGRMFI 39.136 Special Characters in Class Names not supported
ANALDB2R 39.135 Superfluous %END z/OS only ABEND after Change 39.080
VMACNDM 39.133 NDM HW/H2 records do not match DSECT, IBM SR open.
UTILBLDP 39.129 ERROR: Old-style macro name _ID102 xxx must contain.
VMAC71 39.128 Variables PAGBLAV and PAGEBLMX were reversed.
VMAC16 39.123 INVALID ENDTIME in TYPE16 z/SORT records.
ASMRMFV 39.122 ASMRMFV failed with back-level ASM UI60362 (2020).
VMXGALOC 39.120 MXGERRORs if FIRSTRUN=YES was not used first time.
UTILCPLG 39.118 ASCII Copy Log to File utility doesn't if blanks.
VMAC30 39.117 JOBCLAS8='STC' erroneously set one byte JOBCLASS='S'.
IBM ERRORS CORRECTED
VMAC7072 39.138 If Configuration changed NRCPUs LCPUPDTM invalid.
VMAC92 39.125 STCKE GMTOFF92 wrong, IBM date was +60 years 2081!
ENHANCEMENTS
VMACSVIE 39.141 Updates to SYSVIEW IMS datasets SV34TRAN & SV35TRAN
MONTHPDB 39.146 New generic example for Monthly PDB.
VMAC110 39.147 CICSTRAN OADATA1X created for SMF 123A merge.
FORMATS 39.132 FORMAT values added for Recovery Boost Start/End.
VMAC50 39.131 Updates and Corrections for VTAM Tuning.
VMAC123A 39.127 Liberty SMF 123 SYSNAME was CVTSNAME.
VGETALOC 39.124 Enhanced support and Linux example in the member.
VMACHSM 39.119 Support for HSM ZEDC Compression in HSMFSRST.
==MAJOR CHANGES ADDED IN MXG 39.04, DATED Jun 1, 2021 THRU 39.116.
ERRORS CORRECTED
TYPEDCOL 39.093 Correction to sizes in DCOLLECT DATASETS.DATASETS.
VMACDB2H 39.099 Correction of DB2 GMT Offset to include Leap Seconds.
NEW SUPPORT
VMAC123A 39.102 Support for z/OS Connect EE SMF 123 Subtype 2 record.
VMACBVIR 39.108 Support for BVIR Version R5.x 8.50.x.x
VMAC0 39.103 Support for more than 4TB of Real Storage.
VMACDB2 39.099 Support for DB2 Netezza/IDAA Accelerator new data.
ASMRMFV 39.100 ASMRMFV Field Data Filter for CRYG3 Crypto table.
ENHANCMENTS
TYPE89 39.096 New SMF89SOLUTIONID for Tailored Fit Pricing SOLUT.
ASUM70PR 39.097 New NOTALLLPARS=YES suppresses missing LPAR message.
VMAC110 39.104 New %LET MACEXCL=IMACEXCL supports multiple IMACEXCL.
VMACSMF 39.109 More examples using _SMF for record selection.
==MAJOR CHANGES ADDED IN MXG 39.03, DATED May 3, 2021 THRU 39.092.
ERRORS CORRECTED
ASUMUOW 39.085 Variable TRANNAME in PDB.ASUMUOW only one character.
ANALDB2R 39.080 ANALDB2R can fail if PMAUD02 requested but no data.
VMXGRMFI 39.077 VMXGRMFI(PDB=SMF) could fail, UTILBLDP now used.
UTILEXCL 39.078 MXG 39.02. EXCLUDED FIELDS ERROR typo $CHAR54 vs 64.
NEW SUPPORT
TYPEHSM 39.086 Support for HSM UNIX CLOUD statistics variables.
TYPERMFV 39.079 Support for RMF III CRYG3 Cryptographic Hdw Table.
TYPERMFV 39.071 RMF III Percents in System Info and CPC Summary.
TYPE102 39.091 Support for new variables in IFCID=402.
TYPE80A 39.090 Support for RACF Pass Ticked Eval, TYPE8081 PTEVAL.
TYPE84 39.076 Support for Phoenix JES3plus SMF 84 subt correction.
TYPE106 39.075 Support for new SMF 106 subtypes HWIREST API data.
TYPERMRV 39.074 Support for RMF III Feb 2021 Updates, BOOST, etc.
TYPEDB2 39.070 Support for DB2 APAR PH31684 zSORT and NETEZZA.
TYPE42 39.075 SMF Manual update new variable in TYPE42DS.
VMXGALOC 39.068 New parm to leave WORK uncompressed, PDB compressed.
TYPEXAM 39.089 Velocity XAM storage variables MXGBYTE formatted.
ASUM70PR 39.072 ZIPOVHTM and PCTZIPOV added to four outputs datasets.
==MAJOR CHANGES ADDED IN MXG 39.02, DATED Apr 4, 2021 THRU 39.066.
ABEND CORRECTED
TYPE16 39.057 INPUT EXCEEDED SMF 16 ZSORT APAR PH32395 cannot use
Sort Exits E15/E35 with zSORT. Also caused 0C4 in
Broadcom's CA7 SASSHISS program. See Change text.
ASMRMFV 39.060 HLASM UI73933 worked, UI60352 didn't, corrected.
TYPECDC 39.023 Short Infosphere records caused INPUT EXCEEDED.
NEW SUPPORT
TYPENDCD 39.033 Support for NDM-CDI SMF (default 133) APAR PH35087.
TYPE90A 39.028 Support for SMF 90 subtype 41, CVTLOS value changed.
TYPECLTA 39.026 Support for IBM TAPE CLOUD CONNECTOR SMF record.
ENHANCEMENT
ASMRMFV 39.039 Field Data Filter can reduce size of RMFBSAM file.
VMACSMF 39.025 Example _SMF for selection, CICS Dictionary records.
TYPE110 39.053 z/OS EE Connect CICSTRAN vars OADATA1/2/3 decoded.
CORRECTIONS
TYPE120 39.036 Negative CPU WebSphere SMF 120 TYP120BL APAR PH35442.
TYPEBETA 39.031 BETA 93 subtype 5 shortened, many variables gone.
TYPE0 39.059 GMT Offset CVTTZ in TYPE0 was off by 1 second.
==MAJOR CHANGES ADDED IN MXG 39.01, DATED Feb 17, 2021 THRU 39.028.
ABEND CORRECTED:
ANAL9914 39.018 Some ANAL9914 invocations mismatched %DO-%END logic.
VMACDB2 39.017 DB2 NETEZZA IDAA 100-1 INPUT STATEMENT EXCEEDED.
ASMRMFV 39.013 MXG 34.06-38.38 ABEND if STOREGROUP GT 1361 vols.
CORRECTIONS
UTILWORK 39.020 UTILWORK creates RMFINTRV code member, enhanced.
VMXG70PR 39.021 Override PSU70PR/LP/GC/GL DD's may not work.
VGETJESN 39.002 WARNING TYPETASK NOT DECODED SUBSYS=SAR
VMACXAM 39.022 Variables missing values in XAMSYS corrected.
VMXGPRNT 39.019 SP_REMV='Y' truncated some labels.
ANALMSUS 39.015 The JOB report now includes all TASKTYPEs.
ANALID 39.004 ANALID did not identify CICS Compressed Records.
VMAC102 38.010 DB2 IFCID 172 dataset T102s172 variables corrected
VMAC80A 39.003 TYPE80TK observation count is smaller now.
VGETJESN 39.002 TYPETASK not decoded for SUBSYS='SAR'.
TECHNOTES
TECHNOTE 39.012 z/OS SAS ODS may need to increase MEMLEAVE option.
TECHNOTE 39.008 z/OS SAS ODS can use zIIPs, Java error may prevent.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M7 (9.4M7),
"M7", or with options VERSIONLONG;
"SAS 9.4 (9.04.01M7P080520)" on z/OS
9.4 (TS04.01M7P08052020)" on ASCII.
SAS V9.4 M7 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.128 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But CONFIMXG is required for sites with NLS issues, and you must
use JCLCONFI to create/update the MXG.FORMATS catalog if you use
CONFIG='MXG.SOURCLIB(CONFIMXG)'.
For no NLS, you can use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 36.11 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
Error was introduced in 4.03.01 and 4.04.00. See Change 39.171.
Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/
WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
WPS Version 4.0 reportedly fixed version 3 problems.
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
Support for counter changes for both models was in MXG 37.08.
If you use MIPS in reports, the format $MGRMIPS provides the
MIPS/MSU value for each processor; the z15 values were updated
in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
GRAFWRKX and TYPERMFV (RMF III).
The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs. Change 38.048.
The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
(which are written if you have zIIP engines AND have enabled the new
PROCVIEW CORE option for Multi-Threading, even if only one thread is
enabled).
The new zEDC/EADM compression hardware requires MXG 38.05 to support
new metrics.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166 37.07.
z/OS 2.4 Compatible from SMF Manual May 2020 38.105 38.05.
z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075 39.03.
z/OS 2.4 Compatible RMF III PGMR Apr 1 2021 39.074 39.03.
z/OS 2.5 Compatible from SMF Aug 12,2021 39.06.
z/OS 2.5 Compatible RMF III Aug 12,2021 39.08.
z/OS 2.5 RMF III 4 new tables Aug 12,2021 39.08.
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
z15 New SMF 113 fields INCOMPAT Nov 18, 2020 37.08
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
z15 ANAL9914 Support CH 39.006 Jan 14, 2021 39.01
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS/TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS/TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS/TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS/TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS/TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS/TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS/TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS/TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS/TS 3.2 Compressed Records Nov 3, 2007 25.11
CICS/TS 4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS/TS 4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS/TS 4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS/TS 4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS/TS 4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS/TS 5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS/TS 5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS/TS 5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS/TS 5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS/TS 5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS/TS 5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS/TS 5.3 GA date Dec 11, 2015 33.33
CICS/TS 5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS/TS 5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS/TS 5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS/TS 5.4 GA Jun 17, 2017 35.03
CICS/TS 5.5 GA (INCOMPAT) Jan 29, 2018 36.11
CICS/TS 5.6 GA (INCOMPAT) Jun 1, 2020 38.07
CICS/TS 5.6 NEW DATA (COMPAT) Oct 5, 2020 38.09
CICS/TS 6.1 INSERTS (INCOMPAT) Sep 20, 2020 39.07
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
z/VM 6.40061802 ABEND Jan 17, 2019 37.02
z/VM 7.1 INCOMPAT ABEND Feb 14, 2019 37.02
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2, 5.3, 5.4 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 39.39.
1. Incompatibilities introduced in MXG 39.39:
a. Changes in MXG architecture made between 39.39 and prior versions
that can introduce known incompatibilities.
IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
The error before this correction will be:
ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 39.39:
Dataset/
Member Change Description
ANAL9914 39.018 Some ANAL9914 invocations mismatched %DO-%END logic.
ANALDB2R 39.135 Superfluous %END z/OS only ABEND after Change 39.080
ANALDB2R 39.209 DB2 DBID/OBID Decoded if there is an IFCID 105.
ANALID 39.004 ANALID did not identify CICS Compressed Records.
ANALMSUS 39.015 The JOB report now includes all TASKTYPEs.
ANALMSUS 39.140 Using READSMF=YES and PDBOUT=WORK ERRORed
ASMRMFV 39.013 MXG 34,06-38.38 ABEND if storegrop 1361 vols.
ASMRMFV 39.039 Field Data Filter can reduce size of RMFBSAM file.
ASMRMFV 39.060 HLASM at UI73933 works, UI60352 doesn't assemble.
ASMRMFV 39.100 ASMRMFV Field Data Filter for CRYGE Crypto table.
ASMRMFV 39.122 ASMRMFV failed with back-level ASM UI60362 (2020).
ASUM70PR 39.097 New NOTALLLPARS=YES suppresses missing LPAR message.
ASUMMQAC 39.220 Summarization of MQMACCT (SMF116).
BUILD005 39.181 Variables BOOSTACTIVE/BOOSTCLASS in PDB.STEPS.
DODSCRDT 39.204 CREATEDATE Year 1772 in 2028 corrected.
FNDMXGJB 39.210 Find probable MXG Job executionsSAS/SOURCLIB/LIBRARY.
FORMATS 39.132 FORMAT values added for Recovery Boost Start/End.
IMACABND 39.180 MXGABND can set a condition code instead of ABEND.
MONTHPDB 39.146 New generic example for Monthly PDB.
TECHNOTE 39.012 z/OS SAS ODS may need to increase MEMLEAVE option.
TRNDMQAC 39.220 Trending of MQMACCT (SMF116).
TYPE0 39.059 GMT Offset CVTTZ in TYPE0 was off by one second.
TYPE0 39.103 Support for more than 4TB of Real Storage.
TYPE102 38.010 DB2 IFCID 172 dataset T102s172 variables corrected
TYPE110 39.053 z/OS EE Connect CICSTRAN vars OADATA1/2/3 decoded.
TYPE110 39.104 New %LET MACEXCL=IMACEXCL supports multiple IMACEXCL.
TYPE110 39.145 INPUT STATEMENT EXCEEDED MNSEGCL=5 CICS 5.3.
TYPE110 39.147 CICSTRAN OADATA1X created for SMF 123A merge.
TYPE110 39.176 Support for CICS/TS 6.1 CICSTRAN/UTILEXCL.
TYPE1153 39.163 Support for SMF ID=1153 JES 2 Monitor.
TYPE120 39.036 Negative CPU WebSphere SMF 120 TYP120BL APAR PH35442.
TYPE123A 39.102 Support for z/OS Connect EE SMF 123 Subtype 2 record.
TYPE123A 39.127 Liberty SMF 123 SYSNAME was CVTSNAME.
TYPE1415 39.173 Support for SMF14DSENCARCHKEY encrypted flat.
TYPE16 39.057 Protection for truncat SMF 16, ZSORT triplet no data.
TYPE16 39.123 INVALID ENDTIME in TYPE16 z/SORT records.
TYPE30 39.117 JOBCLAS8='STC' erroneously set one byte JOBCLASS='S'.
TYPE30 39.186 Support for APAR OA61368 new RAXFLAGS bits.
TYPE50 39.131 Updates and Corrections for VTAM Tuning.
TYPE50 39.201 MXG 39.08-39.08 Error if no //INSTREAM DD.
TYPE71 39.128 Variables PAGBLAV and PAGEBLMX were reversed.
TYPE80A 39.003 TYPE80TK observation count is smaller now.
TYPE82 39.203 SMF 82 Subtype 24 INPUT STATEMENT EXCEEDED corrected.
TYPE83 39.153 Support for new datasets and variables.
TYPE89 39.096 New SMF89SOLUTIONID for Tailored Fit Pricing SOLUT.
TYPE90A 39.028 Support for SMF 90 subtype 41, CVTLOS value changed.
TYPE90A 39.170 Conflict with variable SMF9040ID, char vs numeric.
TYPE90A 39.206 FORMAT MG090CM for CMDMVS new values decoded.
TYPE92 39.125 STCKE GMTOFF92 wrong, IBM date was +60 years 2081!
TYPEBETA 39.031 BETA 93 subtype 5 shortened, many variables gone.
TYPEBVIR 39.108 Support for BVIR Version R5.x 8.50.x.x
TYPECDC 39.023 Short Infosphere records caused INPUT EXCEEDED.
TYPECLTA 39.026 Support for IBM TAPE CLOUD CONNECTOR SMF record.
TYPECTLC 39.175 Support for BMC CONTROL-D CSV audit file.
TYPEDB2 39.017 DB2 NETEZZA IDAA 100-1 INPUT STATEMENT EXCEEDED.
TYPEDB2 39.099 Support for DB2 Netezza/IDAA Accelerator new data.
TYPEDB2 39.200 Support for DB2 zHyperlink new data.
TYPEDB2 39.208 DB2STATB/S variables AGET/ASGE/ASSE/ASYN deaccumed.
TYPEDB2H 39.099 Correction of DB2 GMT Offset to include Leap Seconds.
TYPEDCOL 39.093 Correction to sizes in DCOLLECT DATASETS.DATASETS.
TYPEHSM 39.119 Support for HSM ZEDC Compression in HSMFSRST.
TYPENDCD 39.033 Support for NDM-CDI SMF (default 133) APAR PH35087.
TYPENDM 39.133 NDM HW/H2 records do not match DSECT, IBM SR open.
TYPENDM 39.173 New format $MGNDMCP decodes NDMCPEA Cipher values.
TYPEPRF 39.178 Support for Dell PRF Monitor MFE SMF records.
TYPEQSEL 39.158 Support for Quick Select product's SMF records.
TYPERMFV 39.168 Support for RMF III z/OS 2.5 existing tables.
TYPESMF 39.025 Example _SMF for selection, CICS Dictionary records.
TYPESMF 39.109 More examples using _SMF for record selection.
TYPESVIE 39.141 Updates to SYSVIEW IMS datasets SV34TRAN & SV35TRAN
TYPESVIE 39.207 Sysview SV27DB2/SV27PROG/SV27TRAN updated.
TYPETLC 39.202 Protect BMC Control-D CSV invalid quotes protected.
TYPEVELO 39.179 Support for Dino VelociRaptor SMF records.
TYPEVIRS 39.154 Support for VIRTEL AUDIT VIRSTATA SMF records.
TYPEXAM 39.022 Variables missing values in XAMSYS corrected.
UTILBLDP 39.129 ERROR: Old-style macro name _ID102 xxx must contain.
UTILCPLG 39.118 ASCII Copy Log to File utility doesn't if blanks.
UTILWORK 39.020 UTILWORK creates RMFINTRV code member, enhanced.
UTILWORK 39.219 Create Workload Definitions for RMFINTRV
VFMT102 39.139 ANALDB2R failed FORMAT NOT FOUND if no subtype 104.
VGETALOC 39.124 Enhanced support and Linux example in the member.
VGETJESN 39.002 WARNING TYPETASK NOT DECODED SUBSYS=SAR
VMXG70PR 39.021 Override PSU70PR/LP/GC/GL DD's may not work.
VMXGALOC 39.120 MXGERRORs if FIRSTRUN=YES was not used first time.
VMXGALOC 39.148 ERROR: Libref TREND not assigned.
VMXGINIT 39.214 Support for SAS Viya INCOMPAT Version Format Change
VMXGPRNT 39.019 SP_REMV='Y' truncated some labels.
VMXGRMFI 39.136 Special Characters in Class Names not supported
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at https://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== CHANGES THRU 39.225 ARE IN MXG 39.39 DATED Dec 30, 2021 =========
Change 39.225 Correction to TY50HIPP, TY50HIPB and TY50PKCN overflow
VMAC50 additions.
Dec 30, 2021
Thanks to Tom White, Bank of America, USA.
Change 39.224 -Support for RMF III APAR OA61811 (SMF) OA62502 (RMF) new
VMACRMFV ERBRCDG3 variables in ZRBRCDS and TYPE72GO datasets:
VMAC7072 RCDENCTRXNUM='TRANS*PROCESSED*WITHIN*ENCLAVES'
Dec 27, 2021 RCDENCTRXCALLS='TIMES*REPORTED*WHEN*DELETING'
May 16, 2022 RCDENCTRXET='EXECUTION*TIME FOR*RCDENCTRXNUM'
RCDENCTRXETS='SUM OF*SQUARED*FOR*RCDENCTRXNUM'
-Variable R723CETSX corrected in May;; it has been
twice prior to this change MXG 39.39.
Thanks to Ralph J. Romano, OPTUM, USA.
Change 39.223 Support for SMF TYPE 42 APARS OA61495 OA61393 OA31392
VMAC42 adds new bit flags to the SUBTYPE=27 TYPE4227 dataset:
Dec 27, 2021 SMF42REOS2'='EOS*OVERWRITE*SUCCESSFUL'
SMF42REOS3'='DADSM*UNMAP*ATTEMPTED'
SMF42REOS4'='DADSM*UNMAP*SUCCESSFUL'
Change 39.222 Support for Axway AMPLIFY Transfer CFT 3.6 V24 SMF data..
VMACAXWY
Dec 24, 2021
Thanks to Steve McKee, Fidelity, USA.
Change 39.221 -Support for Velocity TYPEXAM new MDISK2 segment which is
VMACXAM output to XAMDMINI dataset with some fields larger than
Dec 29, 2021 the original MDISK segment (still supported).
-Support for Velocity TYPEXAM new SEKSE2 segment which is
output to XMSEKSEK dataset.
Thanks to Arthur Koerner, CITIBANK,USA.
Change 39.220 ASUM and TRND members for MQMACCT (SMF116) dataset.
ASUMMQAC QWHSSTCK is used to set the interval, but is a UTC/GMT
TRNDMQAC value. See the comments in the members.
Dec 17, 2021
Change 39.219 UTILWORK creates RMFINTRV workload definitions from your
UTILWORK TYPE72GO data, with a Workload for each Service Class.
Dec 17, 2021 You can use Reporting Class, but UTILWORK will detect
if the sum of Reporting Class CPUTM is less than the
sum of Service Class CPUTM (which happens when not all
of your workloads are in a Reporting Class), and UTILWORK
will revert to using Service Classes.
Read the extensive comments in UTILWORK.
Change 39.218 Correction for DBID/OBID update
ANALDB2R
VFMT102
Dec 16, 2021
Change 39.217 If you suppressed DB2ACCT the sometimes large datasets
UTILBLDP went to work. Now all DB2ACC datasets and their sorts
Dec 15, 2021 are suppressed with SUPPRESS=DB2ACCT.
Change 39.216 Typo OUTEETAL corrected to OUTDETAL.
ANALTAPE
Dec 15, 2021
Change 39.215 SAS Version 9.3 TS3M1,"ERROR 71-185 MAX function call
VMACSVIE does not have enough arguments" for this statement that
Dec 10, 2021 was introduced in MXG 39.04
MAXTIME=MAX(IMTR_ESS_REQ_MAX);
but SAS 9.4 does NOT raise that error! Correct statement
MAXTIME=MAX(MAXTIME,IMTR_ESS_REQ_MAX);
This error occurred in TESTUSR1.
Thanks to Pete Osborne, HSBC, ENGLAND.
Change 39.214 -Support for SAS Viya INCOMPATIBLE Version format change
GRAFDB2B from '9.4' to 'V.03.05', i.e., from numeric to character.
RMFINTRV ERROR:"A character operand . . . in the %EVAL function
VGETENG where a numeric operand is required, condition was V."
VMXGINIT MXG uses the &SYSVER macro variable to determine the SAS
VMXGODSC version, which always has been a numeric value. Because
VMXGRMFI &SYSVER is a Read-Only macro variable, new &SSYSVER is
VMXGSUM created in VMXGINIT and set to 9.4 for Viya and set to
VMXGUOW &SYSVER for the rest. All references to &SYSVER were
Dec 15, 2021 changed to &SSYSVER (54 members).
-VGETENG, the %EVAL was removed.
RMFINTRV/VMXGRMFI workload names permit 32 characters.
-VMXGSUM had code to set the length of variable names to 8
to be in KEEP list for V6 compatibility, but there are
many long length variables that could have been truncated
and causing Variable Not Found errors, length is now 32.
-We do not test MXG under SAS Viya, but so far, this is
the sole problem that has been encountered.
SAS Viya provides a CAS Server (Cloud Analytic Server)
which automatically multi-threads across as many
servers as you define, but some SAS statements can NOT
be multi-threaded, and that includes both INFILE and
INPUT statements, which are re-directed to a single-
threaded workspace server, and which limits the value
of Viya to MXG.
Thanks to Christian Lechtenberg, CONCORDIA, GERMANY
====== CHANGES THRU 39.213 ARE IN MXG 39.09 DATED Dec 2, 2021 ========
Change 39.213 Protection for TYPE6156 Catalog record segment with the
VMAC6156 2 byte length field populated but no data following,
Dec 2, 2021 causing an INPUT STATEMENT EXCEEDED ERROR.
Thanks to Bruce Hewson, CITIBANK, SINGAPORE.
Change 39.212 Support for RACF Unload Record Types 0207 and 05B0 are
VMACRACF now populated; previously only the header was output.
Dec 1, 2021
Thanks to Karl Laseki, American Chemical Society, USA.
Change 39.211 The TMS warning message DENSITY IS MISSING is removed and
VMACTMS5 variable DEN=0 is set when it is not available.
Nov 30, 2021
Change 39.210 Find probably MXG job executions, i.e., PROGRAM=:'SAS'
FNDMXGJB and both SOURCLIB and LIBRARY DDnames.
Nov 22, 2021
Change 39.209 The decoding of DB2 DBID/OBID from SMF 102 IFCID 105
VFMT102 has been a long time challenge, with mostly partial
ANALDB2R success, but now, all IDs are correctly decoded if there
Nov 17, 2021 is an IFCID 105 record. New parameter PRINTFMTS=YES will
PROC PRINT the input values to the $MGDB2DB and $MGDB2OB
formats.
Thanks to Chuck Hopf, Independent MXG Consultant, USA.
Change 39.208 DB2STATB variables QBSTAGET/QBSTASGE/QBSTASSE/QBSTASYN
VMACDB2 were not deaccumulated, causing the DB2STATS variables
Nov 17, 2021 QBnAGET/QBnASGE/QBnASSE/QBnASYN for the four sets of
buffer pool counters to also be incorrect.
Thanks to Johnny Meek, Fidelity FMR, USA.
Change 39.207 -Sysview dataset SV27DB2 variable PROGRAM (Package name)
FORMATS was changed from ASCII to EBCDIC, at least in V16. New
VMACSVIE variable PROGRAM_EB will contain the EBCDIC value.
Nov 23, 2021 -FORMAT MGD145S was updated for new values and applied
to variable STATETYPE_DB2 in SV27DB2 dataset.
-Variables TRANNUM,OTRANNUM,LASTTRANNUM are correctly
now INPUT as &PD.4 in SV27TRAN dataset.
-Forty pairs of _TIME, _COUNT variables added to SV27TRAN
dataset and alignment corrected.
-New fields were added to SV27PROG dataset.
Thanks to Martyn Jones, CPTGLOBAL, ENGLAND.
Change 39.206 FORMAT MG090CM for TYPE90A variable CMDMVS (SUBTYPE) is
FORMATS updated for CMDMVS values 35-41 to describe why each
Nov 15, 2021 record is created.
Thanks to Jim S. Horne, Lowe's, USA.
Change 39.205 Cosmetic. Variable BPHITRAT was correctly added to the
VMACDB2 PDB.DB2STATB in Change 39.160, created in the _SDB2STB
Nov 3, 2021 deacccumlate DATA step, but it was incorrectly added to
the _VDB2STB list of variables created in the SMF pass,
where is not is created. The only impact was a note
on the log, and only if your AUTOEXEC/CONFIGxx options
did not contain the MXG default OPTIONS DKROCOND=NOWARN,
which overrides the SAS WARN default. The variable was
removed from that KEEP= list. MXG exploits DKROCOND to
allow variables to exist in the KEEP= list even when they
are not created, for example for the optional CICSTRAN
variables, so they can be added when you tailor IMACICxx
members and not have to touch the KEEP= list..
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 39.204 The %MACRO DODSCRDT creates CREATEDATE from INFILEs but
DODSCRDT YEAR=INPUT(SUBSTR(&DSCB,10,1),?? IB1.)+1900;
Nov 2, 2021 will create YEAR=1772 in 2028 because the IB1. input will
see '80'x with the sign bit on. INPUT PIB1. corrects, and
the ?? was not required, since any byte value is valid.
Thanks to Declan Vibert, Worldprogramming, ENGLAND.
Change 39.203 SMF 82 Subtype 24 INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC82 because MXG expected label length of 64, but at least
Nov 2, 2021 since 2019, the length is shown as 72. This update
protects both lengths.
Thanks to Nick Varley, Precisely, USA.
Change 39.202 Protection for invalid BMC Control-D CSV records that
VMACCTLC did not have a pair of double quotes, and subsequent
Oct 23, 2021 records that did not have a valid datetime.
Change 39.201 MXG 39.06-39.08, ERROR: PHYSICAL FILE DOES NOT EXIST if
VMAC50 you have added SMF 50 (VTAM) processing to your BUILDPDB,
Oct 22, 2021 AND if your JCL does NOT have an //INSTREAM DD. Full text
ERROR: PHYSICAL FILE DOES NOT EXIST userid.INSTREAM.DATA
Debugging statement referencing INSTREAM was not removed.
The //INSTREAM DD is in all of the MXGSASxx JCL examples:
//INSTREAM DD UNIT=SYSDA,SPACE=(CYL,(1,20)),
// RECFM=FB,LRECL=80,BLKSIZE=0
and it is used in several MXG programs when MXG creates
SAS code "in stream" and then %INCLUDE INSREAM; is used
to execute that code.
Thanks to Wayne A. Schumack, USBank, USA.
Change 39.200 Support for DB2 zHyperlink new data.
VMACDB2 -Dataset DB2ACCTB and DB2ACCTP new variables.
Oct 21, 2021 QBACIOC ='READS*WITH DISK*CACHE HITS'
QBACSYI ='SYNC I/O*READS WITH*ZHIPERLINK'
QBACSYIT='CPU TIME*FOR SUCCESS*ZHYPERLINK*READS'
QBACSWU, QBACHRE, QBACHRF, QBACHWR, QBACHWF Reserved
-Dataset DB2ACCT new variables
QB1CIOC/SYI/SYIT QB2CIOC/SYI/SYIT QB3CIOC/SYI/SYIT
QB4CIOC/SYI/SYIT
-Dataset DB2STATB new variables.
QBSTNSG ='FAILED*CONDITIONAL*SEQUENTIAL*GETPAGE'
QBSTSYIO='SUCCESS*READ I/O*USING*ZHYPERLINK'
QBSTSIOC='READ I/O*DISK CACHE*NO ZHL'
-Dataset DB23STATS
QB1TNSG/SYIO/SYC QB2TNSG/SYIO/SYC QB3TNSG/SYIO/SYC
QB4TNSG/SYIO/SYC
Thanks to Scott Barry, SBBTechLLC, USA.
====== CHANGES THRU 39.199 ARE IN MXG 39.08 DATED Oct 15, 2021 ========
Change 39.199 Support for Broadcom SYSVIEW 16.0 and PTF LU02954.
VMACSVIE -IMS SV34TRAN variables IMTR_TRN_ENQPCB/ABCODE/CPUTIME are
Oct 12, 2021 now always INPUT; previously they were erroneously input
only for Fast Path Transactions. And new variables are
added in SV34TRAN:
IMTR_CNT_LOCK_HWM/LOCK_TOTAO/DB2SQL IMTR_CLK_IFP_CPU
IMTR_CLK_UNKN IMTR_CLK_DB2 IMTR_CLK_MQ IMTR_CLK_WOLA
IMTR_CLK_LAST_DLI
and added in SV35TRAN:
IMRA_DB_CALL_TIME IMRA_MSG_CALL_TIME
IMRA_IFP_ROUTECODE IMRA_IFP_TRANCODE
IMRA_IFP_TRANCOUNT IMRA_IFP_MSGIWAIT
IMRA_RGN_OCCUPYRATIO IMRA_RGN_STARTSQ6
IMRA_RGN_ACCUMSQ6 IMRA_LOCK_HWM IMRA_LOCK_TOTAL
IMRA_LAST_DLI IMRA_MAX_DLI_DB IMRA_MAX_DLI_DC
IMRA_MAX_ESS
In addition, the variables output in dataset SV34DAC now
create a set of variables in SV34TRAN, one per DLI call
type:
IMTR_DAC_DBGU IMTR_DAC_DBGN IMTR_DAC_DBGNP
IMTR_DAC_DBGHU IMTR_DAC_DBGHN IMTR_DAC_DBGHNP
IMTR_DAC_DBISRT IMTR_DAC_DB IMTR_DAC_DBREPL
IMTR_DAC_TOTDB_CALLS IMTR_DAC_MSGGU IMTR_DAC_MSGGN
IMTR_DAC_MSGISRT IMTR_DAC_MSGPURGE IMTR_DAC_TEST_ENQ
IMTR_DAC_TEST_ENQ_WT IMTR_DAC_TEST_DEQ
IMTR_DAC_QCMD_ENQ IMTR_DAC_QCMD_ENQ_WT
IMTR_DAC_QCMD_DEQ IMTR_DAC_UPDT_ENQ
IMTR_DAC_UPDT_ENQ_WT IMTR_DAC_UPDT_DEQ
IMTR_DAC_EXCL_ENQ IMTR_DAC_EXCL_ENQ_WT
IMTR_DAC_EXCL_DEQ IMTR_DAC_MSG_CMD IMTR_DAC_MSG_GCMD
IMTR_DAC_MSG_CHNG IMTR_DAC_MSG_AUTH IMTR_DAC_MSG_SETO
IMTR_DAC_APSB_CALLS IMTR_DAC_DPSB_CALLS
IMTR_DAC_GMSG_CALLS IMTR_DAC_ICMD_CALLS
IMTR_DAC_RCMD_CALLS IMTR_DAC_CHKP_CALLS
IMTR_DAC_XRST_CALLS IMTR_DAC_ROLB_CALLS
IMTR_DAC_ROLS_CALLS IMTR_DAC_SETS_CALLS
IMTR_DAC_SETU_CALLS IMTR_DAC_INIT_CALLS
IMTR_DAC_INQY_CALLS IMTR_DAC_LOG_CALLS
IMTR_DAC_DLI_DB_DEQ IMTR_DAC_VSAM_READS
IMTR_DAC_VSAM_WRITES IMTR_DAC_OSAM_READS
IMTR_DAC_OSAM_WRITES IMTR_DAC_TOTAL_IO
IMTR_DAC_ESAF_NORM IMTR_DAC_FLD_CALLS
IMTR_DAC_POS_CALLS IMTR_DAC_RLSE_CALLS
IMTR_DAC_SAVE_CALLS IMTR_DAC_RSTR_CALLS
IMTR_DAC_COPY_CALLS IMTR_DAC_ICAL_CALLS SYSTEM SMFTIME
In addition, the variables output in dataset SV34SUMM now
create a set of three IMTR variables in SV34TRAN, one set
for each DC Monitor Event type, and variables output in
dataset SV35EVNT create a set of three IMRA variables in
SV35TRAN one for each DC Monitor Event type:
IMTR_EVNT_BALG_DEQUEUE_COUNT
IMTR_EVNT_BALG_DEQUEUE_MTIME
IMTR_EVNT_BALG_DEQUEUE_TTIME
IMTR_EVNT_CHECKPOINT_COUNT IMTR_EVNT_CHECKPOINT_MTIME
IMTR_EVNT_CHECKPOINT_TTIME
IMTR_EVNT_DEDB_LOCK_IWAIT_COUNT
IMTR_EVNT_DEDB_LOCK_IWAIT_MTIME
IMTR_EVNT_DEDB_LOCK_IWAIT_TTIME
IMTR_EVNT_DEDB_OTHRD_IWAIT_COUNT
IMTR_EVNT_DEDB_OTHRD_IWAIT_MTIME
IMTR_EVNT_DEDB_OTHRD_IWAIT_TTIME
IMTR_EVNT_DEDB_READ_IWAIT_COUNT
IMTR_EVNT_DEDB_READ_IWAIT_MTIME
IMTR_EVNT_DEDB_READ_IWAIT_TTIME
IMTR_EVNT_DLA_DB_COUNT IMTR_EVNT_DLA_DB_MTIME
IMTR_EVNT_DLA_DB_TTIME IMTR_EVNT_DLA_MSG_COUNT
IMTR_EVNT_DLA_MSG_MTIME IMTR_EVNT_DLA_MSG_TTIME
IMTR_EVNT_DMB_LOAD_IWAIT_COUNT
IMTR_EVNT_DMB_LOAD_IWAIT_MTIME
IMTR_EVNT_DMB_LOAD_IWAIT_TTIME
IMTR_EVNT_DMB64_LOAD_IWAIT_COUNT
IMTR_EVNT_DMB64_LOAD_IWAIT_MTIME
IMTR_EVNT_DMB64_LOAD_IWAIT_TTIME
IMTR_EVNT_ESS_CALL_COUNT IMTR_EVNT_ESS_CALL_MTIME
IMTR_EVNT_ESS_CALL_TTIME IMTR_EVNT_IFP_ACTIVITY_COUNT
IMTR_EVNT_IFP_ACTIVITY_MTIME
IMTR_EVNT_IFP_ACTIVITY_TTIME
IMTR_EVNT_IFP_BUFFER_ACT_COUNT
IMTR_EVNT_IFP_BUFFER_ACT_MTIME
IMTR_EVNT_IFP_BUFFER_ACT_TTIME
IMTR_EVNT_IFP_MSG_IWAIT_COUNT
IMTR_EVNT_IFP_MSG_IWAIT_MTIME
IMTR_EVNT_IFP_MSG_IWAIT_TTIME
IMTR_EVNT_HSAM_IWAIT_COUNT IMTR_EVNT_HSAM_IWAIT_MTIME
IMTR_EVNT_HSAM_IWAIT_TTIME
IMTR_EVNT_ICAL_DLI_CALLS_COUNT
IMTR_EVNT_ICAL_DLI_CALLS_MTIME
IMTR_EVNT_ICAL_DLI_CALLS_TTIME
IMTR_EVNT_MSDB_WRITE_IWAIT_COUNT
IMTR_EVNT_MSDB_WRITE_IWAIT_MTIME
IMTR_EVNT_MSDB_WRITE_IWAIT_TTIME
IMTR_EVNT_OSAM_IWAIT_COUNT IMTR_EVNT_OSAM_IWAIT_MTIME
IMTR_EVNT_OSAM_IWAIT_TTIME
IMTR_EVNT_PI_ENQUEUE_IWAIT_COUNT
IMTR_EVNT_PI_ENQUEUE_IWAIT_MTIME
IMTR_EVNT_PI_ENQUEUE_IWAIT_TTIME
IMTR_EVNT_PSB_LOAD_IWAIT_COUNT
IMTR_EVNT_PSB_LOAD_IWAIT_MTIME
IMTR_EVNT_PSB_LOAD_IWAIT_TTIME
IMTR_EVNT_PSB64_LOAD_IWAIT_COUNT
IMTR_EVNT_PSB64_LOAD_IWAIT_MTIME
IMTR_EVNT_PSB64_LOAD_IWAIT_TTIME
IMTR_EVNT_QMGR_IWAIT_COUNT IMTR_EVNT_QMGR_IWAIT_MTIME
IMTR_EVNT_QMGR_IWAIT_TTIME
IMTR_EVNT_SCHEDULER_IWAIT_COUNT
IMTR_EVNT_SCHEDULER_IWAIT_MTIME
IMTR_EVNT_SCHEDULER_IWAIT_TTIME
IMTR_EVNT_STORAGE_IWAIT_COUNT
IMTR_EVNT_STORAGE_IWAIT_MTIME
IMTR_EVNT_STORAGE_IWAIT_TTIME
IMTR_EVNT_SYNC_CALLOUT_COUNT
IMTR_EVNT_SYNC_CALLOUT_MTIME
IMTR_EVNT_SYNC_CALLOUT_TTIME
IMTR_EVNT_VSAM_IWAIT_COUNT IMTR_EVNT_VSAM_IWAIT_MTIME
IMTR_EVNT_VSAM_IWAIT_TTIME
IMTR_EVNT_VSO_AREA_CASTOUT_COUNT
IMTR_EVNT_VSO_AREA_CASTOUT_MTIME
IMTR_EVNT_VSO_AREA_CASTOUT_TTIME
IMTR_EVNT_VSO_PRELOAD_COUNT
IMTR_EVNT_VSO_PRELOAD_MTIME
IMTR_EVNT_VSO_PRELOAD_TTIME
Adding IMTR_DAC and IMTR_EVNT and IMRA_EVNT variables
will DOUBLE the size of the SV34TRAN (1658 per obs vs
812) and of the SV35TRAN (1147 vs 661), and they are
still available in the much smaller SV34DAC/SV34SUMM
and SV35EVNT datasets. Typically only a handful of
those variables will be populated in the transaction
observations, but they still take space. They can be
removed and only the IMS datasets written to //PDB with
%LET MACKEEP=
MACRO _IDSVIE 255 %
MACRO _KSV34TR DROP= _DR34DA _DR34EV %
MACRO _KSV35TR DROP= _DR35EV %
_NSVIE
MACRO _WSV34TR SV34TRAN %
MACRO _WSV34DA SV34DAC %
MACRO _WSV34DL SV34DLI %
MACRO _WSV34SU SV34SUMM %
MACRO _WSV34ES SV34ESS %
MACRO _WSV35TR SV35TRAN %
MACRO _WSV35EV SV35EVNT %
MACRO _SSVIE
_SSV34TR _SSV34DA _SSV34DL _SSV34SU _SSV34ES
_SSV35TR _SSV35EV
%
;
%INCLUDE SOURCLIB(TYPSSVIE);RUN;
If you do not want to sort any of the datasets, and
want the two TRAN datasets written to separate DDs
with the smaller datasets going to PDB, you can use:
%LET MACKEEP=
MACRO _IDSVIE 255 %
MACRO _KSV34TR DROP= _DR34DA _DR34EV %
MACRO _KSV35TR DROP= _DR35EV %
;
%LET WSV34TR=SV34TRAN;
%LET WSV35TR=SV35TRAN;
%LET WSV34DA=PDB;
%LET WSV34DL=PDB;
%LET WSV34SU=PDB;
%LET WSV34ES=PDB;
%LET WSV35EV=PDB;
%INCLUDE SOURCLIB(TYPESVIE);RUN;
Thanks to Don Cleveland, Anthem BCBS, USA.
Thanks to James Robbins, Broadcom, USA.
Change 39.198 TYPE50 OSA Express Accelerated Packets was added by
VMAC50 Change 39.198, but was incorrectly spelled. The correct
Oct 8, 2021 spelling is TY50PKAC.
Thanks to Tom White, Bank of America, USA.
Thanks to Jim Sherpey, Bank of America, USA.
Change 39.197 Format $MG119CF only decoded a handful of the 357 Hex
FORMATS values, many for ZERT, for dataset TYP119111 variable
Oct 7, 2021 S11912SC_TLS_NEG_CIPHER and S119SS_TLS_NEG_CIPHER in
TYP11912TLS dataset. The doc is located in the TLS Cipher
Suite registry at http://www.iana.org/assignments/
tls-parameters/tlsparameters.xhtml
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 39.196 MXG 39.07. Change 39.183 added SMF6XSTCKE to TYPE6156,
VMAC6156 but the insert caused an INPUT STATEMENT EXCEEDED. The
Oct 7, 2021 code is bypassed until test data is received. You can use
%LET MACFILE= %QUOTE(IF ID IN (61,65,66)) THEN DELETE;
to circumvent, but request the new VMAC6156 from Support
Thanks to Jim S. Horne, Lowe's, USA.
Change 39.195 New parameters USEVMXGSET=YES & DEFER=YES adds OPEN=DEFER
BLDSMPDB to the SET statement when building weekly PDB. Use only
VSETMNTH when running on zOS and tape drives are at a premium and
Nov 26, 2021 daily PDBs are on tape. As always when using OPEN=DEFER
only variables that exist in the first dataset are
carried forward, so the first DDNAME should be the day of
the week pointed to by the WEEKSTART argument.
Thanks to Robert Olah, ENSONO, USA.
Change 39.194 Change 39.137 MXG39.05 CPUTOTTM incorrectly higher than
VMAC30 CPUTM because the calculation of SRVTCBTM which affects
Sep 30, 2021 CPUTOTTM was being done before the removal of ZIPUNITS.
Variables AVGWKSET CPUTOTTM CPUUNITS were corrected, but
the CPUTM, which is a direct value in the SMF record, has
always been correct. The CPUTOTTM based on Service Units
was created because at one time some folks incorrectly
thought the service unit based metric was significantly
more accurate than the recorded time.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND
Thanks to Mark Tomlinson, Lloydsbanking, ENGLAND.
Change 39.193 SELSMF program is similar to UTILGETM/VMXGGETM, to select
SELSMF and write SMF records of each type, but it adds SYSTEM
Oct 6, 2021 and for DB2 and CICS, the RELEASE to the criteria, and
writes the first 50 records for each selection. You can
also use MACFILE to choose which IDs you want to select;
see the example in comments.
Thanks to John Donoghue, AIB, IRELAND.
Change 39.192 -Dataset ZRBRCD added wait fields RCDWTY1-RCDWT15.
ADOCRMFV -Dataset ZRBSCL added R741Dxxx variables originally added
ASMRMFV to TYPE 74 Subtype 10 Monitor I by Change 38.089.
IMACRMFV -z/OS 2.5 MXG RMF Monitor III support.
VMACRMFV -New MXG Support for 4 more RMF III tables:
Oct 8, 2021 CPUDB IQDG3 LOKG3 VRIG3
*** New Support ***
-Support for the RMF Monitor III CPU Data Block Table
(CPUDB) recently documented with z/OS 2.5 . The CPUDB
table has existed at least since z/OS 2.1.
-The CPUDB selection option is CPV (alias N). The CPUDB
filtering option is NOCPV (aliases -CPV, -N). CPUDB is
also selected if the BASIC select group option is used.
-The CPUDB is a companion table to the CPCDB and CPUG3
tables. If any one is selected all 3 are selected. If
any one is filtered all 3 are filtered.
-Support for the RMF Monitor III I/O Queuing Performance
Data Table (IQDG3) table recently documented with z/OS
2.5 . The IQDG3 table has existed at least since z/OS
2.1.
-The IQDG3 selection option is IQD (alias Q). The IQDG3
filtering option is NOIQD (aliases -IQD, -Q). IQDG3 is
also selected if the MOST group selection option is used.
-The IOQ parameter in the RMF III startup member defaults
to IOQ(DASD). Other device classes are also supported
for IOQ by RMF III. See the RMF User's Guide (z/OS 2.3
and earlier) or the Data Gatherer User's Guide (z/OS 2.4
and up) for more details. NOIOQ will suppress the
generation of IQDG3 table.
-Support for the RMF Monitor III Lock Performance Data
Table (LOKG3) table recently documented with z/OS 2.5 .
The LOKG3 table has existed at least since z/OS 2.1.
-The LOKG3 selection option is LOK (alias #). The LOKG3
filtering option is NOLOK (aliases -LOK, -#). LOKG3 is
also selected if the MOST group selection option is used.
-The LOCK parameter in the RMF III startup member defaults
to NOLOCK. NOLOCK will suppress the generation of LOKG3
table and related MXG data sets. Specify LOCK to
generate the LOKG3 table.
-Support for the RMF Monitor III VSAM RLS Information
Data Table (VRIG3) table recently documented with z/OS
2.5 .
-The VRIG3 selection option is VRI (alias $). The VRIG3
filtering option is NOVRI (aliases -VRI, -$). VRIG3 is
also selected if the MOST group selection option is used.
-The VRIG3 collection parameter in the RMF III startup
member defaults to VSAMRLS and data is grouped by storage
class. In addition, up to 50 VSAM data set sphere masks
may be specified. See the RMF User's Guide (z/OS 2.3 and
earlier) or the Data Gatherer User's Guide (z/OS 2.4 and
up) for more details. NOVSAMRLS will suppress the
generation of VRIG3 table and related MXG data sets.
*** Enhancements ***
-Auto Selection of any field in the CPCDB and CPUG3 table
when using an IF= expression for FDF will now Auto Select
all 3 CPU companion tables (CPCDB/CPUDB/CPUG3). Auto
Selection occurs when an IF= expression references a
field name in a table that has not been explicitly
selected.
-These documentation sections in member ADOCRMFV are all
updated:
2 Terminology
4 RMF III Table Selection Parameters
12 Messages
13 Filtered Records
15 Program and IBM Limitations
23 RMF III Options That Effect Data
26 ASMRMFV and MXG PDB Data Relationship
31 Field Data Filtering (FDF)
32 Data Dictionary Descriptions
57 Summary
58 Bibliography
Change 39.191 An example z/OS ICETOOL job that selects MVIMS xF9 & xFA
ICETOOL log records to reduce the size of the IMSLOG file to be
Sep 21, 2021 read with the ftp access method for ASCII MXG execution.
Thanks to Sir Hari Kolusu, IBM DFSORT, USA.
====== CHANGES THRU 39.190 ARE IN MXG 39.07 DATED Sep 20, 2021 =======
Change 39.190 -ASMRMFV Field Data Filter (FDF) support for the RMF III
ADOCRMFV CPC data control block (CPCDB) and the Processor Data
ASMRMFV Control Block (CPUG3).
VMACRMFV -The Field Data Filter (FDF) feature of RMF III was added
Sep 19, 2021 in MXG Change 37.089 and supports filtering of raw or MXG
derived RMF data values when ASMRMFV reads the RMF III
VSAM file, reducing the size of the created RMFBSAM file
and the size of the result MXG PDB.
-RMF III table entries can be filtered by FDF based on one
or more numeric/character/bit fields using AND/OR logic.
FDF is intended for advanced MXG users building ad hoc
PDBs of RMF III data for studies and investigations.
-A z/OS LPAR is a z/VM guest if this message appears in
the ASMRMFV log:
RMFV009I ORIGIN : CPCNAME=VMGUEST
-NOTE: For LPARs running as z/VM guests the CPC LPAR and
Logical Processor Sections in the CPCDB table are created
by RMF III as binary zeros and cannot be filtered with
FDF. MXG PDB variables sourced from the CPC LPAR and
Logical Processor sections will have SAS missing values
in the result PDB.
In this case only the sparse CPCDB header will be written
to RMFBSAM. Any FDF filters for fields in either of
these two sections will be bypassed. They are NOT
counted as IGNORE in message RMFV080I.
-NOTE: For z/OS LPARs running as z/VM guests RMF III
creates the Home LPAR section in the CPCDB table as all
binary zeros and these fields cannot be filtered with
FDF. MXG PDB variables sourced from the Home LPAR
section will have SAS missing values in the result PDB.
In this case any FDF filters for fields in the Home LPAR
section will be counted as IGNORE in message RMFV080I.
-FDF VNT (Variable Name Table) derived floating point
variables with ASISASSC as a divisor were using a fixed
point binary divisor instead of a short floating point
divisor.
- FDF VNT entry for derived variable R745IORATE had
incorrect data type of FP instead of FPAVG.
-Further reduction of ASMRMFV assembly output with
NODXREF, NOESD, NORLD, USING(NOMAP) added to *PROCESS
statements.
-Expand RMFV092E table error message from 2 to 4 lines to
show more RMF III information at time of the error.
-FDF calculations for CRYG3 table MXG derived variables
CRYTIME0-CRYTIME5 were incorrect.
-FDF calculations for CRYG3 table MXG derived variables
CRYUTIL0-CRYUTIL5 were incorrect.
-FDF calculations for DVTG3 table for 6 MXG derived
variables DVTAVG* were incorrect. These were being
handled as floating point while the source fields are
fixed binary.
-FDF IF evaluation code not correctly checking for PCI
format code when comparing a variable that has one.
-FDF IF evaluation code tests for STOP/NOSTOP and
SYNC/NOSYNC for FDF SSHG3 table were incorrect.
-XCFSTAT variable was missing from XCFG3 FDF VNT table.
-Message RMFV017I now displays z/OS 2.5 when processing
RMF Monitor III data from that release.
-New filter options ZEROLP/NOZEROLP added for CPCDB table
processing. The default is NOZEROLP.
- ZEROLP says to output to RMFBSAM all LPAR sections and
their respective Logical Processors Sections from the
CPCDB table even if zero Logical Processors were defined
for an LPAR. This was the behavior of prior ASMRMFV
versions.
-NOZEROLP says to only output to RMFBSAM LPAR sections
from the CPCDB table that have a non-zero number of
Logical Processors defined. NOZEROLP is the default.
-ZEROLP/NOZEROLP option added to message RMFV006I.
-ASMRMFV no longer outputs zero Logical Processor Sections
to RMFBSAM for those undefined for a specific LPAR. The
CPCDB table reserves 240 Logical Processor Sections for
each LPAR. The actual number defined will be far less.
-In a test using a single RMF III VSAM data set with the
default NOZEROLP in effect output to RMFBSAM for the
CPCDB table was reduced by 8MB. Actual results may vary.
-In ASMRMFV detail and summary reports TOTAL BYTES OUTPUT
in message RMFV104I did not match ALL total of detail or
summary lines in message RMFV105I by a consistent value
of 3400 bytes less.
-First RMF and Z/OS Version numbers added to MXG01 record.
-Last RMF and Z/OS Version numbers added to MXG02 record.
-Data Dictionaries in the ADOCRMFV member have been
updated or added for all FDF supported RMF III tables.
-Many Data Dictionary entries now have additional notes
describing the entry in addition to similar text already
present in the corresponding section documentation.
-Following Sections are updated or added in the ADOCRMFV
documentation member:
Section Contents
------- --------
0 Contents
7 Output Data Control Parameters
12 Messages
15 Program and IBM Limitations
26 ASMRMFV and MXG PDB Data Relationships
31 Field Data Filtering (FDF)
32 Data Dictionary Descriptions
33 Filtering The ASIG3 Table
34 Filtering The CATG3 Table
35 Filtering The CFIG3 Table
36 Filtering The CPCDB Table
37 Filtering The CPDG3 Table
38 Filtering The CPUG3 Table
39 Filtering The CRYG3 Table
40 Filtering The CSRG3 Table
41 Filtering The DSIG3 Table
42 Filtering The DVTG3 Table
43 Filtering The ENCG3 Table
44 Filtering The ENTG3 Table
45 Filtering The GEIG3 Table
46 Filtering The OPDG3 Table
47 Filtering The PCIG3 Table
48 Filtering The SCMG3 Table
49 Filtering The SPGG3 Table
50 Filtering The SSHG3 Table
51 Filtering The XCFG3 Table
52 Filtering The ZFXG3 Table
57 Summary
58 Bibliography
Change 39.189 Variable SMF70TYP is now KEPT in TYPE70PR, eliminating an
VMAC7072 UNINITIALIZED variable message that had no impact but was
Sep 16, 2021 un-needed.
Change 39.188 Support for CICS-DB2 ATTACH APAR PH31440 "accounting"
FORMATS fields to DB2ACCT dataset:
VMACDB2 QMDAAEYE $EBCDIC36. /*QMDAAEYE*EYE*CATCHER*/
Sep 16, 2021 QMDAADT1 $EBCDIC64. /*QMDAADT1*1ST*ADAPTER*/
QMDAADG2 $EBCDIC64. /*QMDAADT1*2ND*ADAPTER*/
QMDAADG3 $EBCDIC64. /*QMDAADT1*3RD*ADAPTER*/
Note: LENQMDA=260,24 undoc bytes after DG3 PH31447.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 39.187 New TYPE80TK values create new variables
VMAC80A TOKHUKID TOKCRITIC TOKZERTI TOKTECHNIK TOKORGA
Sep 15, 2021 TOKMASTERID TOKBMKS TOKCREATED TOKABPFZ TOKINTERVAL
TOKINFO TOKVERANTW1-TOKVERANTW4
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 39.186 Support for APAR OA61368 which populates two bits in the
VMAC30 RAXFLAGS which are new variables in TYPE30 datasets:
Sep 13, 2021 SMF30_RAXFLAG5='RAX5*ATTEMPT*EARLY*RUCSA?'
SMF30_RAXFLAG6='RAX6*ALLOW*EARLY*RUCSA?'
Change 39.185 IMACKEEP included so that you can customize and tailor
ASUMCICS without touching the ASUM member.
Sep 8, 2021
Change 39.184 -Support for NDM-CDI PTF UI76063 that sets a flag bit if
VMACNDM NDMNODEF='S' (CDZ was acting as SNODE) the PNODE/SNODE
Sep 4,2021 values were wrong and had been corrected for Version 6 or
for Version 5.2, if the bit is NOT on, then MXG has made
the correction. MXG sets NDMFLAG'N' for the NDM change
or NDMFLAGX='M' if MXG reversed the PNODE and SNODE, in.
the CT, FI, and MC records.
-Support for PTF UI76043 which corrects the NDMCPU Time
("TIMEUSED" field) which was wrong (too large) in 6.0.
Thanks to Tom White, Bank of America, USA.
Change 39.183 New variable SMF6XSTCKE, the SMF datatime in STCKE is
VMAC6156 added to TYPE6156 dataset.
Sep 4, 2021 See Change 39.196.
Change 39.182 The UTILEXCL tailoring MACRO _ECICDIC contained a LABEL
UTILEXCL statement that restricted the use of that exit; the LABEL
Sep 3, 2021 variables were moved to the existing LABEL statement at
the top of the code block.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.181 Variables BOOSTACTIVE and BOOSTCLASS are added to the
BUILD005 PDB.STEPS dataset, and BOOSTCLASS is only populated if
BUIL3005 BOOSTACTIVE is populated in SMF 30 and SMF 89 records.
FORMATS Format MG090EV was expanded and typo corrected.
VMAC30
VMAC89
Aug 30, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.180 Enhanced MXGABND can set Condition Code instead of ABEND,
IMACABND The use of %LET MXGABND=nnn in your tailoring was added
VMAC110 and documented in Change 23.184 to cause an ABEND for
Aug 28, 2021 some error messages, but this caused BUILDPDB to ABEND
due to an SMF 110 EXCLUDED fields errors. This change
lets you choose to set a Condition/Return Code so that
you can identify there was a problem, but BUILDPDB will
complete and you can find the ERROR message in the log.
You can test for the Condition Code in a new step and
send a message that a change was detected.
In addition, the ABEND will only occur on z/OS; on ASCII
the ABEND kills the current session which is nasty to
debug! Currently the IMACABND is only implemented in
the SMF 110 processing. To change, you would tailor
IMACABND per its comments into your "USERID" PDS.
Thanks to Dawn Clarke, ENSONO, USA.
Change 39.179 Support for Dino VelociRaptor SMF records,
EXVELO01 DDDDDD DATASET DESCRIPTION
EXVELO02 VELO01 VELOST01 VSAM OPTIMIXATION
EXVELO04 VELO02 VELOST02 QSAM BUFFER OPTIMIZATION
FORMATS VELO04 VELOST04 QSAM BLOCKSIZE OPTIMIZATION
IMACVELO
TYPEVELO
TYPSVELO
VMACVELO
VMXGINIT
Aug 27, 2021
Thanks to Kihun Cha, Navy Federal, USA
Change 39.178 Support for Dell PRF Monitor MFE Version 8.5 SMF data.
EXPRFDBK DDDDDD DATASET DESCRIPTION
EXPRFDEV PRFSYM PRFSYMME SYMMETRIX
EXPRFDMF PRFDBK PRFDBKEN BACKEND
EXPRFDOP PRFDOP PRFDOPEN OPEN SYSTEM
EXPRFDPO PRFDMF PRFDMFRA MAINFRAME
EXPRFDSR PRFDSR PRFDSRDF SRDF
EXPRFSYM PRFDPO PRFDPORT PORTS
EXPRFTDV PRFDEV PRFDEVIC DEVICE
FORMATS PRFTDV PRFTTDAT TDAT DEVICE
IMACPRF
TYPEPRF
TYPSPRF
VMACPRF
VMXGINIT
Sep 1, 2021
Change 39.177 JES3 ONLY, and only if you tailored UTILBLDP BUILDPDB=NO
VMAC110 and USERADD=25 26J3 with INCLAFTR=BUIL3005. The 25 caused
Aug 24, 2021 the WORK.TYPE25 data set to be created and sorted to the
PDB.TYPE25 (done for all USERADD=) but also WORK.TYPE25
was deleted, but BUIL3005 expected WORK.TYPE25, causing
ERROR: DATA SET WORK.TYPE25 WAS NOT FOUND. Removing the
%VMXGDEL in _S25 macro leaves WORK.TYPE25 to correct.
Change 39.176 Support for CICS/TS 6.1 (INCOMPATIBLE, field inserted).
VMAC110 One new field, SOTLSLVL='INBOUND*TLS*LEVEL*SELECTED'
UTILEXCL is added to dataset CICSTRAN. Because the CICSTRAN
Aug 23, 2021 record is a concatenation of control blocks, when IBM
adds a field at the end of a control block, it still
shifts all subsequent fields, requiring an MXG Update.
This change is only for CICSTRAN; other new fields for
other datasets will be added when test data is available.
Change 39.175 Support for BMC CONTROL-D CSV FILE, a log for audit of
EXCTLCSV the webserver. The INFOLE name is BMCCSVIN to create:
IMACCTLC DDDDDD DATASET DESCRIPTION
TYPECTLC CTLCSV CTLDCSV CONTROL-D CSV
TYPSCTLC
VMACCTLC
VMXGINIT
Aug 22, 2021
Thanks To Craig Collins, State of Wisconsin, USA.
Thanks to Maggie Buday, State of Wisconsin, USA.
Change 39.174 TYPE41VF dataset, variables SMF41YAG and SMF41MAG contain
VMAC41 "high" values of 0FFFFFFFF which indicate that no
Aug 19, 2021 trimming occurred, but confused calculations, so those
values are now set to a missing value.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.173 New Format $MGNDMCP for variable NDMCPEA decodes the
FORMATS CIPHER Suite values.
VMACNDM VALUE $MGNDMCP
Aug 19, 2021 '01'X='01X:NULL_MD5'
'02'X='02X:NULL_SHA'
'03'X='03X:RC4_MD5_EXPORT'
'04'X='04X:RC4_MD5_US'
'05'X='05X:RC4_SHA_US'
'06'X='06X:RC2_MD5_EXPORT'
'09'X='09X:DES_SHA'
'0A'X='0AX:TRIPLE_DES_SHA_US'
'2F'X='2FX:AES_128_SHA'
'3C'X='3CX:???????????'
'3D'X='3DX:???????????'
'35'X='35X:AES_256_SHA'
'9C'X='9CX:???????????'
'9D'X='9DX:???????????'
'E7'X='E7X:???????????'
'EF'X='EFX:???????????'
OTHER=?< $HEX2. ?>
Change 39.172 Support for SMF14DSENCARCHKEY flag that indicates that
VMAC1415 the encrypted dataset is being accessed with an archived
VMAC62 key that only supports decrypt operations in TYPE1415.
Aug 18, 2021 Support for SMF62ARCKEY flag that encrypted data set is
being accessed with an archive key that only supports
decryption.
Change 39.171 WPS ONLY. A problem has been found with the use of the
FLASH INPUT statement reading values into temporary array
Aug 18, 2021 members with informats, resulting with incorrect values
(zero or a missing value) for these "TYPE70" variables:
NRZIPCPU NRPHYCPS AVCPSCPU AVICFCPU
AVIFACPU AVIFLCPU AVZIPCPU NRCPSCPU
PLATBUSY PLATCPUS PLATZIPBUSY PLATZIPCPUS
PLATIFLBUSY PLATIFLCPUS PLATICFBUSY PLATICFCPUS
PARTNCPU PARTNICF PARTNIFL PARTNZIP
as their INPUT includes S70CTN(_I_) &PIB.2. array syntax.
The error was introduced in wps-4.03.01, but earlier
versions (4.00, 4.01, 4.02, and 4.03.00 are unaffected.
The error was fixed in these releases:
WPS 4.04.00.03.3277 15-Aug-2021 (MB)
First maintenance version of WPS 4.4 containing the fix
WPS 4.04.00.03.3369 7-Sep-2021 (EA3)
Current EA version of 4.4, containing the fix.
WPS 4.03.02.00.8569 13-Aug-2021 (MB)
First maintenance version of WPS 4.3 containing the fix
WPS 4.03.03.00.8595 2-Sep-2021 (GA)
Current GA version of WPS 4.3, containing the fix.
Change 39.170 Variable SMF9040ID was defined as a character thru 39.03,
VMAC90A but was decoded as numeric in 39.05, so combining old and
Aug 11, 2021 new TYPE9040 data sets raised a conflict. Now, SMF9040ID
is no longer created and TYPE9040IDNR is numeric and is
decoded. You may need to copy your old TYPE9040 dataset
and drop variable TYPE9040ID before you run that WEEKBLD.
Thanks to Jim S. Horne, Lowe's, USA.
Change 39.169 Unused Change Number.
Change 39.168 -Improvements and corrections to PROCSVP subroutine
ASMRMFV segmentation of SVPG3 table when longer than 32756 bytes.
VMACRMFV -PROCSVP subroutine always moves 32760 bytes to output
EXZRBV15 buffer for unsegmented SVPG3 tables even if not needed.
EXZRBV16 -ZOSTABLE updated to 797 for RMF version for z/OS 2.5.
EXZRBIQD -Debugging PUTLOGs (added in 39.06) for SVP removed.
IMACRMFV -ASMRMFVF and ASMZOSVF fields added to MXG01 record with
VMXGINIT first RMF and first z/OS version in each RMF III VSAM
Aug 22,2021 file, and ASMRMFVL and ASMZOSVL fields added to MXG02
record with last RMF and last z/OS version. Those fields
and the ASMRMFV Version and Create Date are printed on
the log of the TYPERMFV execution.
-There are three new RMF III tables added by z/OS 2.5,
IODG3, LOKG3, VRIG3, and old table CPUDB is documented,
to be supported when we have we have an interested user
with those tables enabled.
-MXG 39.06 supports all existing tables in z/OS 2.5.
-New variables in /OS 2.5 manual added to ZRBRCDS dataset.
RCDTETX='TOTAL*TRANSACTION*ELAPSED'
RCDXETX='TOTAL*TRANSACTION*EXECUTION'
RCDQDTX='QUEUE*DELAY*TIME'
RCDADTX='RESOURCE*AFFINITY*DELAY*TIME'
RCDCVTX='JCL*CONVERSION*DELAY'
RCDIQTX='INELIGIBLE*QUEUE*TIME'
RCDRTDM='MIDPOINT*OF RESPONSE*TIME'
RCDPRS ='PAGE*RESIDENCY*TIME'
RCDCIOU='TOTAL*I/O*USINGS'
RCDCIOD='DASD*I/O*DELAY*SAMPLES'
RCDCIDL='IDLE*SAMPLES'
RCDCUNK='UNKNOWN*SAMPLES'
RCDPADJSCF='SCALING*FACTOR*FOR*RCDPADJ'
RCDPADJ='PHYSICAL*CPU*ADJUST*FACTOR*FOR CP'
====== CHANGES THRU 39.167 WERE IN MXG 39.06 DATED Aug 12, 2021 ========
Change 39.167 PDBOUT= parameter added so that you can retain the
ANALINIT datasets created.
Aug 10, 2021
Change 39.166 COMPALL is a test programs that compiles all MXG programs
TECHNOTE that process SMF records in a single step, to detect any
COMPALL cases where temporary variables (not kept) in products
COMPIBM have conflicting attributes (especially NUM and CHAR).
Aug 10, 2021 It also reports the resources needed for this irrational
program. Windows 10 required 3693 MiB, but failed on
z/OS where only 1588 MiB was available. The 940,00
lines of code required 3 minutes elapsed, 30 CPU seconds.
COMPIBM tests only the IBM created SMF records, and that
program did complete on z/OS where it needed 903 MiB.
Change 39.165 Format $MGSMFID is updated for SMF ID=1153 and 1154 types
FORMATS and comments in IMACSMFF revised since IBM owns 0-127 and
IMACSMFF 1152-2047 and 128-1151 are now the available USER types.
Aug 9, 2021
Thanks to MP Welch, BOA, USA.
Change 39.164 NMONUARG records containing only the PID and FULLCOMD
VMACNMON were previously deleted, but now THCOUNT=1 is set so the
Aug 2, 2021 record is output.
Change 39.163 Support for JES2 Monitor SMF Type 1153 record replacement
EX1153J2 for Type 84 Subtype 21 JES2 Monitor in z/OS 2.5. Three
EX1153JM data sets are created:
EX1153JR DDDDDD DATASET LABEL SUBTYPE
IMAC1153 11532 J11532 JES2 PRODUCT + GENERAL n/a
TYPE1153 1153JM J1153JM JES2 MEMORY 1
TYPS1153 1153JR J1153JR JES2 RESOURCES 1
VMAC1153 This is the first IBM record with Extended SMF Header
VMACSMF which has the "normal" SMF ID=126 in original header,
VMXGINIT and the real ID in the extended header. IBM owns the
Aug 9, 2021 IDs 0-127 & 1152-2047 while 128-1151 are for users.
Change 39.162 Some variables had a length of 8 that should have been
VMXGRMFI set to 5 on zOS or 6 on ASCII.
Aug 1, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.161 INHERIT KEEPLEN are now always invoked in PROC MEANS in
VMXGSUM VMXGSUM to preserve input variable attributes.
Aug 1, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.160 Data set DB2STATB now has BPHITRAT kept and the equation
VMACDB2 was revised based on IBM DB2 12 Performance Guide.
Jul 30, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.159 New variable in RMF III dataset ZRBGEI added:
VMACRMFV GEIFLG22='RUCSA*IS*DEFINED?'
Jul 30, 2021
Change 39.158 Support for Quick Select SMF records creates 5 datasets:
EXQSEL00 dddddd dataset description
EXQSEL01 QSEL00 QSELSM00 QSELSM START
EXQSEL02 QSEL01 QSELSM01 QSELSM THREAD
EXQSEL03 QSEL02 QSELSM02 QSELSM QSEL STOP
EXQSELPG QSEL03 QSELSM03 CACHE DEALLOCATION
FORMATS QSELPG QSELSMPG PROGRAMS
IMACQSEL
TYPEQSEL
TYPSQSEL
VMACQSEL
VMXGINIT
Jul 29, 2021
Change 39.157 ONLY if you installed MXG's IEFU84 SMF Exit to put the
IEFU84 INITNUMB and INITNAME fields in the SMF 30 records,
Jul 28, 2021 WPS did not correctly handle 'NOT IN' when the (...)
text had both character and hex strings, causing blank
in INITNAME and bad INITNUMB. The WPS Error was fixed
in WPS version 4.3.2 Build 8525
("wps-4.3.2.0.8525-ga-maintenance-zos").
Change 22.136 describes MXG's IEFU84 SMF Exit.
Thanks to Steve Bagshaw, ITMetrics, ENGLAND.
Change 39.156 WPS does not yet support compress on a LIBNAME statement.
VMXGALOC Now, if compress=yes is specified, it is set to null.
Jul 28, 2021
Change 39.155 DB2 removed Hiperpools and Buffer Pools in DATA SPACES in
VMACDB2 DB2 V8.1, but QDBPHPSZ appears to be reused by IBM, so it
Jul 28, 2021 is now set missing for 8.1 or later.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.154 Support for VIRTEL AUDIT VIRSTAT SMF record creates:
EXVIRSTB DDDDDD DATASET DESCRIPTION
EXVIRSTC VIRSTB VIRSBIN VIRTEL BINARY HTTP INBOUND
EXVIRSTH VIRSTC VIRSTAT VIRTEL VIRSTAT CLASSIC FORMAT
IMACVIRS VIRSTH VIRSHTTP VIRTEL HTTP INBOUND.
TYPEVIRS -VIRSTIME and VIRSDURCALL corrected Aug 17, 2021.
TYPSVIRS
VMACVIRS
VMXGINIT
Jul 28, 2021
Aug 17, 2021
Thanks to Maggie Buday, State of Wisconsin, USA.
Thanks to Craid Collins, State of Wisconsin, USA.
Change 39.153 -New variables in TYPE83LD dataset:
EXTY8308 LDAP_TARGET_MESSAGE_ID LDAP_DISCONNECT_CAUSE
EXTY8311 -Five Relocate Segments have multiple observations that
EXTY8312 create these new datasets with the list of attributes:
EXTY8313 TYP83208 LDAP ADD ATTR
EXTY8320 TYP83211 LDAP MOD ATTR DEL
IMAC83 TYP83212 LDAP MOD ATTR ADD
VMAC83 TYP83213 LDAP MOD ATTR REP
VMAC83 TYP83220 LDAP SEARCH ATTRS
VMXGINIT -Those datasets may not be useful and they can be quite
Jul 26, 2021 large. If you determine you don't need them, insert
this statement in //SYSIN and they will all have zero
observations and will take no space.
%LET MACKEEP=
MACRO _ETY8308 %
MACRO _ETY8311 %
MACRO _ETY8312 %
MACRO _ETY8313 %
MACRO _ETY8320 %;
Thanks to Nathan Loewenthal, CITIGROUP, USA.
Change 39.152 New parameter TRNDOUTCODE allows you to insert SAS code
VMXGRMFI before the OUTPUT TRNDRMFI is executed.
Jul 22, 2021
Change 39.151 New variables that were not kept in CIMSTRAN now are:
VMACCIMS TRNMISCH TRNOTEIP TRNOVHD TRNW5GSP
Jul 22, 2021
Thanks to Sieghart Seith, FICUCIA, GERMANY.
Change 39.150 The read and write bucket count pairs are now correctly
VMACRMFV read in a pair of 4-byte READ PCIRDREADVARnn and 4-byte
Jul 19,2021 WRITE PCIRDWRITCNTnn for each of the 15 counters pair.
====== CHANGES THRU 39.149 ARE IN MXG 39.05 DATED Jul 16, 2021 ========
Change 39.149 The rarely used DB2STATB DB2 Buffer Pool dataset has been
VMACDB2 wrong for some time for 8-byte DIF()d counters, just now
Jul 15, 2021 reported.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.148 A missing ; on the LIBNAME TREND statement caused this
VMXGALOC ERROR: Libref TREND is not assigned.
Jul 16, 2021 -If you invoked VMXGALOC from IMACINIT with READONLY
set to NO a CC=8 was generated and a scary sounding
message was on the log. Now no CC is set, the
message is suppressed unless MXGDEBUG=VMXGALOC is
used and READONLY is set to YES.
Thanks to Ervin Claxon, CSX, USA
Change 39.148 A missing ; on the LIBNAME statement caused this error:
VMXGALOC ERROR: Libref TREND is not assigned.
Jul 15, 2021 -If you invoked VMXGALOC from IMACINIT with READONLY
set to NO a CC=8 was generated and a scary sounding
message was on the log. Now no CC is set, the
message is suppressed unless MXGDEBUG=VMXGALOC is
used and READONLY us set to YES.
-If you dont want to run weekly and/or monthly, WEEKKEEP=0
and MNTHKEEP=0 will suppress the creation and allocation
of WEEKS and MONTHS.
Change 39.147 -CICSTRAN variable OADATA1 is decoded into datetime+text,
VMAC110 but the hex value is needed to match TYPE123A records so
Jul 15, 2021 new variable ADATA1X is the $CHAR64 input $HEX128 format,
-If you have an tailored IMACEXCL in USERID.SOURCLIB, you
need to find MACRO _VCICTRN ABCODE and add OADATA1X:
MACRO _VCICTRN KEEP= ABCODE OADATA1X
A later change will add OADATA1X when UTILEXCL creates a
new IMACEXCL.
Variable ISIOWTTM is now correctly formated TIME12.2
Thanks to Al Hirst, Wells Fargo, USA.
Change 39.146 -MONTHBL3 the JES3 monthly for BUILDPD3, had two instances
MONTHBL3 of _MNTHBLD and the second was missing an IF statement
MONTHPDB that dropped OBS where ZDATE was less than the start of
Jul 12, 2021 the last week, resulting in some duplicate OBS in
monthly datasets.
-New MONTHPDB member is an example generic monthly job
that is easier to tailor since you can specify what
datasets to keep and which to drop. It is also simpler to
rerun if needed without the need to edit MXG MACROS.
Change 39.145 SMF 110 Subtype 1 MNSEGCL=5 (NOT CICSTRAN) ABEND CICS 5.3
VMAC110 INPUT STATEMENT EXCEEDED if CICSRDPL Resource DPL Detail
Jul 11, 2021 optional dataset is enabled with CICS/TS 5.3. The CICRDD
segment in this back-level CICS was only 32 bytes but MXG
expected 40, and apparently no other 5.3 site had turned
on the optional DPL segment. The circumvention is to put
%LET MACFILE=
%QUOTE(IF ID=110 AND SUBTYPE=1 AND MNSEGCL=5
THEN DELETE; ) ;
in your //SYSIN.
And if you are unable to easily EDIT your job's SYSIN,
you can override the //SYSIN in your JCL with:
// EXEC MXGSASxx
//SYSIN DD *
%LET MACFILE=
%QUOTE(IF ID=110 AND SUBTYPE=1 AND MNSEGCL=5
THEN DELETE; ) ;
// DD DSN=YOUR.NORMAL SYSIN,DISP=SHR
Thanks to Bryan Willers, Sirius, USA.
Thanks to Ned Day, Sirius, USA
Change 39.144 The z/OS NOCAPSOUT option prints SASLOG messages in mixed
CONFIGXX case, which we need for debugging. With ODS, USS, LINUX
Jul 9, 2021 commands in SYSLOG messages, we need to see the exact
text that was executed Even though it is the default,
it is set in CONFIGs to override a SAS CAPSOUT option.
Change 39.143 Format $MGSMFID did not describe SMF 123 Subtype 2,
FORMATS Liberty z/OS Connect Endpt.
Jul 9, 2021
Thanks to MP Welch, Bank of America, USA.
Change 39.142 Model 204 requires a separate SMF record ID for each3of
VMACM204 the four macros defined in VMACM204 lines 26-37.
Jul 8, 2021 Some character hex variables are now formatted $HEX.
Thanks to Linda Berkeley, DISA Mainframe, USA.
Change 39.141 Updates to SYSVIEW IMS datasets SV34TRAN and SV35TRAN.
VMACSVIE Many new fields have been added, with some corrections.
Jul 14, 2021
Change 39.140 If you specified READSMF=YES and PDBOUT=WORK an error
ANALMSUS resulted:
Jul 8, 2021 ERROR: UPDATE VIEWS ARE NOT SUPPORTED.
caused by using the same name on output and on input in a
data step where a VIEW was specified.
Thanks to Roger Lowe, NT.GOV, AUSTRALIA.
Change 39.139 Change 39.092 erroneously bypassed the creation of the
VFMT102 FORMAT and QA failed with a FORMAT NOT FOUND. Now the
Jul 6, 2021 FORMAT is created even when zero OBS are detected.
Change 39.138 A new RMF Interval is started when the processor speed is
VMAC7072 changed, but changing only the number of CPUs does NOT,
Jul 7, 2021 and the TYPE70 had a negative value for LCPUPDTM in the
PHYSICAL LPARNAME, but when read as a positive binary.
those leading 'FFFF...'x became 256E09 corrupting all of
the CPU reporting for PHYSICAL. MXG now protects by
detecting the LCPUPDTM is greater than the DURATM and
setting it to zero. A service report is open with IBM
RMF Data Gathering and an APAR is expected.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 39.137 Change 29.025 dealt with small negative CPUUNITS and set
VMAC30 CPUUNITS=0 if CPUTCBTM was 0, and AVGWKSET was only
Jul 1, 2021 calculated if CPUUNITS were non-zero. By relocating the
SRVTCBTM to use the original CPUUNITS, and then using
MAX(CPUTCBTM,SRVTCBTM) for the AVGWKSET more obs were
populated.
Thanks to Stephen Hoar, LLoyds Banking, ENGLAND.
Change 39.136 SAS does not permit special characters in variable names,
RMFINTRV except for the underscore. If you have service classes
UTILWORK names with a special character and use UTILWORK to build
VMXGRMFI your RMFINTRV code, VMXGRMFI fails with syntax errors.
Jul 1, 2021 because the service class/report class name is used as
the first part of the variable name; class BAT#PROD
becomes BAT#PRODCPU etc. MXG now detects the bad names
flags them with error messages, and changes them to a
name of BADNAMEx where x is the number of bad names that
were detected. RMFINTRV file is created, but CC=5 is
set as a warning.
Thanks to Miguel Fernandez, BNYMELLON, USA.
Change 39.135 Change 39.080 caused an ABEND on zOS, but not on ASCII,
ANALDB2R because of a superfluous %END statement error, even
PMAUD02 though the error message said the statement would be
Jun 29, 2021 ignored. This behavior was due to the differing values
for ERRORABEND, which is NOT enabled in ASCII AUTOEXECs,
but is enabled in the z/OS CONFIG members.
Specifying NOERORRABEND the same job ran with CC=8.
Thanks to Wayne A. Schumack, USBank, USA.
Change 39.134 Unused Change Number
Change 39.133 Support for Record 'DB' created new NDMDB dataset.
EXNDMDB NDMRTYPE "HW" and "H2" records do not match the DSECT; at
VMACNDM present these records are skipped until documentation
VMXGINIT matches data. NDMRTYPE "SF" is also skipped as it
Jun 25, 2021 only contains a timestamp of no value.
Jul 16, 2021 -Updated Jul 16 and DB record validated.
-Since version 26, NDM has a truncated NDMCERT field that
no one has complained about, so I have suppressed the
ERROR message until a user actually needs NDMCERT and
wants to pursue with NDM Support.
Thanks to Robert Chavez, Florida Power and Light, USA.
Thanks to Rob D'Andrea, NATWEST, ENGLAND.
Change 39.132 Support for Recovery Boost Start/End values in MG090EV
FORMATS format for variable SMF9040E, and and Requestor_ID values
VMAC90A 2021 in MG090ID format for variable SMF9040ID.
Jun 22, 2021 In Error, SMF9040ID was changed to numeric from char.
Aug 16, 2021 in dataset TYPE9040. See Change 39.170.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 39.131 Updates and corrections for SMF TYPE 50 VTAM Tuning.
VMAC50 New variables in dataset TYPE502R and TYPE502W
Jun 22, 2021 INPIOS ='INBOUND*PIUS*(IPIU)'
OUTPIOS ='INBOUND*PIUS*(OPIU)'
TSWEEP ='TIMER*SWEEPS*(TSWEEP'
QSWEEP ='QUEUE*SWEEPS*(QSWEEP)'
NRWRIREC ='NUMBER*OF WRITE*RECORDS'
NRREAREC ='NUMBER*OF READ*RECORDS'
Change 39.130 If you did not specify PDBOUT= or used PDBOUT=WORK a
READDB2 message was generated telling you that the output would
Jun 21, 2021 go to WORK. Message is now suppressed if PDBOUT=WORK.
Change 39.129 If you asked for 102.xxx or ID you could get this error
UTILBLDP when UTILBLDP built the code to clear the substitution
Jun 21, 2021 macros
ERROR: Old-style macro name _ID102.xxx must contain...
Change 39.128 TYPE71 variables PAGBLAV and PAGBLMX were reversed.
VMAC71
Jun 16, 2021
Thanks to Greg Goshia, Westfield, USA.
Change 39.127 The Liberty SMF Type 123 Subtype 2 4-byte variable SYSTEM
VMAC123A INPUT from the SMF Header was overwritten by the 8-byte
Jun 17, 2021 SYSNAME/CVTSNAME field that I had incorrectly also INPUT
into SYSTEM. Now the SYSTEM and SYSNAME are correct.
Thanks to Al Hirst, Wells Fargo, USA.
Change 39.126 The PRINT=YES option only printed 20 observations instead
VMXGFIND of printing all observations of each datasets.
Jun 15, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.125 The STCKE GMTOFF92 was wrong; the STCKE returned value
VMAC92 is 60 years larger than current, causing invalid times
Jun 14, 2021 for those datetime variables.
Change 39.124 Enhanced to support specification of multiple basedirs.
VGETALOC See the Linux example in the member.
Jun 11, 2021
Change 39.123 -INVALID DATA FOR ENDTIME in TYPE16 record had only the
VMAC16 the time part populated. IBM support pointed out that the
Jun 21, 2021 ICERSUB=3 is a "Short Record Unsuccessful Execution" and
"Depending on the severity of an unsuccessful run,
information might not be provided in some fields in the
SMF record. There were 17 records with 3, but only one
with invalid ENDTIME, and now the dump and error message
are suppressed if that variable is invalid.
-IBM variable ICESZRNU identifies why zSORT was NOT USED,
and a zero value is supposed to mean zSORT WAS used, but
these records with a zero also have ICEFLBY5='N' flag
that zSORT was NOT used. Now, MXG sets IZESZRNU=-1 for
these records that did NOT use zSORT. But only one site
had this issue, a second site only had ICESZRNU=0 only
for zSORT use.
-The zSORT segments were never being INPUT because the
variable LENLEFT was not populated. Variable
Thanks to Rob D'Andrea, NATWEST, ENGLAND.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.122 -ASMRMFV VAR macro code was inadvertently regressed, still
ASMRMFV using the ISHEX macro function that is not supported for
VMACRMFV back level ASM Assembly program. UI47658 is current,
Jun 11, 2021 failure was with UI60352 Dec 18, 2020.
-INPUT STATEMENT EXCEEDED on CPUG3 record, CPCUDBOFF was
a missing value which was only set for CPUVERG=6.
-Additional ASMRMFV validation checks for RMF III SSHG3
table for SSHTIBEG LT SSHTIEND and SSHSMPNR (number of
MINTIME samples) non zero, and will delete the interval
if not satisfied. We have seen only one instance.
Change 39.121 A rerun within the same SESSION failed because we did not
UTILBLDP reset the MACRO _IDs, with ERROR: Old-style macro name
Jun 6, 2021 must contain only letters, digits and underscores.
Change 39.120 VMXGALOC is only for ASCII execution where it allocates
VMXGALOC and manages all of the MXG SAS PDB Data Libraries. IF
Jun 4, 2021 you did not specify FIRSTRUN=YES the first time you ran
it, many libraries were not allocated causing MXGERRORs.
The FIRSTRUN=YES logic should have been used only for
the copy functions and should not have been used to
control the allocation of new PDBs. Now the directory's
existence is tested and allocated if doesn't exist.
Change 39.119 -Support for HSM ZEDC Compression adds variables to the
FORMATS HSMFSRST dataset.
VMACHSM FSR_ZEDC_COMPRESS_PPRCNT='PERCENT*SAVED*BY ZEDC'
Jun 8, 2021 FSR_USER_DATASIZE='FSR*USER*UNCOMPRESSED*DATASIZE'
FSR_COMP_DATASIZE='FSR*COMP*COMPRESSED*DATASIZE'
FSR_COMP='ZEDC*OMPRESSED*BEFORE*MIGRATION?
FSR_ZEDC='ZEDC*COMPRESSED*DURING*MIGRATION?'
FSRFMB='FSRBYTR*AND*FSRBYTW*CONVERTED*TO BYTES?'
-USER_DATASIZE/COMP_DATASIZE are valid when FSR_COMP='Y'.
and the PRCNT is valid when FSR_ZEDC='Y'
Thanks to Michael Friske, FMR, USA.
Change 39.118 UTILCPLG utility will copy the SAS log to a file, when
UTILCPLG MXG executes as a batch job, but the log was not copied
Jun 3, 2021 if there were spaces in the directory names. Wrapping
the names in " resolved the error.
Change 39.117 If the eight byte JOBCLAS8 is populated and the one-byte
BUIL3005 JOBCLASS is blank, MXG moved the first byte of JOBCLAS8
VMAC30 into JOBCLASS. But IBM now sets JOBCLAS8='STC' causing
Jun 1, 2021 MXG to set JOBCLASS='S' when there was no such job class.
Now, the original one-byte JOBCLASS is not changed.
Thanks to Robert Chavez, Florida Power and Light, USA.
====== CHANGES THRU 39.116 ARE IN MXG 39.04 DATED Jun 1, 2021 ========
Change 39.116 Support for z/OS 2.5 SMF Manual Changes are all included
May 28, 2021 in MXG 39.04 and there were no INCOMPATIBLE changes.
Change 39.115 If USEBANDS=YES, an annoying note that STAGGERTHIN was
GRAFCEC not valid and THIN was used. STAGGERTHIN was removed.
May 25, 2021
Change 39.114 An INVALID IMAC6ESS GEPARMKY 0027x caused message that
IMAC6ESS the segment was invalid, but the reporting site does not
May 24 2021 use those TYPE6 ESS variables and was unwilling to pursue
with IBM Support. New message ask for you to contact MXG
Support.
Change 39.113 TYPE6 variable SMF6URI is added to the PDB.PRINT
BUILD005 dataset.
BUIL3005
May 21 2021
Thanks to Ervin Claxon, CSX, USA.
Change 39.112 Formats $MGIBMPR and $MGIBMIM add new product name
FORMATS 5655-TM4. These formats are used in SCRT in TYPE89 and
May 26, 2021 and caused NO MWP for IMS Workload.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 39.111 If you are moving from zOS to ASCII and had a hard-coded
VMACSMF SMFEXIT=CICS in an IMAC**** member you could get:
May 23, 2021 NOTE 138-205:
Line generated by the macro variable "SMFEXIT".
82249 cics
----
23
ERROR 23-2: Invalid option name CICS.
when reading SMF data. The SMFEXIT only works on z/OS.
-Remove the %LET SMFEXIT=CICS; statement from the IMAC.
-Documentation Only, VMACSMF was not changed.
Change 39.110 Documentation update for SUPPRESS.
UTILBLDP
May 19, 2021
Change 39.109 More Details for SMF Record Selections, Change 39.025.
VMACSMF showed how _SMF and %LET MACFILE can be used for SMF
May 18, 2021 record selection with a CICS Dictionary example, but the
also creates these "PRODUCT" variables that can be used
for selection, You must set %LET MXGDECOMP=DB2; in SYSIN
to decode Compressed DB2 records using _SMF.
DB2: SUBSYSTEM COMPRESSFLAG ACCUMACFLAG DB2IFCID
QWHSRELN
CICS: SMFPSRVR SUBSYSTEM MNSEGCL MCTSSDCN MCTSSDRL
COMPRESSFLAG
30: SUBSYSTEM
RMF: PRODCMF MVSLEVEL PRODVERSION
80: SUBTYPE=RACFEVNT
MQ: SUBSYSTEM SM115REL PRODVERSION
6: SUBSYSTEM
26: SUBSYSTEM
Change 39.108 Support for BVIR Version R5.x, 8.50.x.x:
VMACBVIR -New variables in BVIR30 for BVIRVERS GE 8:
May 24, 2021 TMPTHROT='TEMP*PREMIG*THROTTLE*THRESHOLD'
TMPPRIOR='TEMP*PREMIG*PRIORITY*THRESHOLD'
Eight Byte input for TVCSIZE USDCACHE USDFLASH
-New variables in BVIR302 for BVIRVERS GE 7:
EHSMRECA='DATA*RESIDENT*IN CACHE'
EHSMNOTY='DATA*UNPREMIGRATED'
EHSMAWRE='DATA*AWAITING*REPLICATION'
EHWMSZPK='DATA*TOTAL SIZE*PREFER*KEEP'
EHWMSZPR='DATA*TOTAL SIZE*PREFER*REMOVE'
EHWMSZPV='DATA*TOTAL SIZE*PINNED*VOLUMES'
EHWMSZRV='DATA*TOTAL SIZE*RESIDENT*WAITING'
EHWMSOBI='OBJECTS*IN TVC*ASSIGNED*PREFGROUP'
-New variables in BVIR11 for BVIRVERS GE 7:
ATMDLCQA='AVERAGE*TIME*DELAYED*COPY*QUEUE*AGE'
ATMDTOCA='DATA XFER*TO THIS*CACHE*FROM DS8K'
ATMDTODI='DATA XFERYFROM THIS*CACHE*TO DS8K'
-New EXTENDED GRID CONTAINER awaits data to decode.
-New PARTSIZE/MIGRSIZE array awaits data to decode
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.107 Long ago there was a 32K limit to the size of macro
VMXGSUM variables and VMXGSUM flagged a warning if INCODE
May 14, 2021 exceeded 30000 bytes (spaces count). Now if SAS is V9 or
higher the limit is 65534.
Change 39.106 This error occurs if you have an old VMAC7072 in USERID
VMAC7072 from MXG Versions 36 or 37. You must always remove any:
May 14, 2021 VMACxxxx or VMXGyyyy members from your USERID tailoring
because your old member will prevent the current member
from being used:
NOTE: Line generated by the macro variable "WTY70".
186016 WORK
____
455
ERROR 455-185: Data set was not specified on the DATA statement
Change 39.105 Infile options EOV=BVIREOV and JFCB=BVIRJFCB are added to
VMACBVIR the BVIRHIST infile to permit creation of the variable
May 12, 2021 SYSTEM. Option END=ENDOFINP already exists.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.104 VMXGINIT sets new macro variable %LET MACEXCL=IMACEXCL;
VMAC110 and VMAC110 is now %INCLUDE SOURCLIB(&MACEXCL); so that
VMXGINIT you can have multiple IMACEXCx member names if needed.
May 13, 2021
Change 39.103 Support for more than 4TB of Real Storage. MXG Variable
VMAC0 REALSIZE (SMF0RST) 1K Blocks is only valid up to 4T-1 and
May 11, 2021 new variable SMF0RS4K counts 4K blocks online at IPL.
z/OS 2.5 plans to allow up to 16 Terabytes of memory.
Change 39.102 Support for z/OS Connect EE SMF 123 Subtype 2 record adds
VMAC123A new variable SM123S2_TRACKING_TOKEN in dataset TYPE1232.
May 11, 2021
Change 39.101 Unused Change Number.
May 11, 2021
Change 39.100 -New ASMRMFV Field Data Filter (FDF) support for the RMF
ADOCRMFV III Cryptographic Hardware Data Table (CRYG3}.
ASMRMFV -The Field Data Filter (FDF) feature of RMF III was added
VMACRMFV in MXG Change 37.089 and supports filtering of raw or MXG
May 11, 2021 derived RMF data values when ASMRMFV reads the RMF III
VSAM file, reducing the size of the created RMFBSAM file
and the result MXG PDB.
-RMF III table entries can be filtered by FDF based on one
or more numeric/character/bit fields using AND/OR logic.
FDF is intended for advanced MXG users building ad hoc
PDBs of RMF III data for studies and investigations.
-The minimum hardware level required to run ASMRMFV is
raised from a z9 to a z10 machine. IBM end of support
for the z10 was December 2019. This allows ASMRMFV to
use more efficient and fewer machine instructions.
-MXG can provide an archival stabilized ASMRMFV level for
continuing z9 users if needed. This level does NOT have
FDF CRYG3 support and will NOT be further enhanced.
-ADOCRMFV now contains ASMRMFV support status information
for all IBM processor families.
-Improved Table Error Diagnostics (ITED) are added for all
supported RMF III tables. When an RMF III table error
is detected (which should be rare) instead of only
counting the table skip, a dynamically tailored RMFV092E
message will also be issued with further details.
Return Code 0008 will result for RMF III table errors
rather than Return Code 0004 as previously. These merit
contact with MXG Technical Support to resolve the
problem.
-There is an internal ASMRMFV limit of 10 RMFV092E
messages for each RMF III VSAM data set processed. If
reached new message RMV093I is issued and further
RMFV092E messages are suppressed for that data set.
-When AUTOSEL (default) is in effect ASMRMFV now shows the
field name that trigged that automatic RMF III table
selection in message RMFV082I.
Example:
RMFV002I SYSIN : IF=(ASIJOBNA EQ 'MXGJU')
RMFV082I -->NOTE : RMF III ASI TABLE AUTO SELECTED BY
ASIJOBNA <--
-When AUTOSEL (default) in in effect use of any of the
following additional ASMRMFV parameters (and their
respective aliases) will now cause the corresponding RMF
III table to be selected without having to also
explicitly code the corresponding table selection:
Parameter Auto Selects
--------- ---------------
ASIAND ASIG3
ASIOR ASIG3
CSRAND CSRG3
CSROR CSRG3
DVTAND DVTG3
DVTOR DVTG3
OPDAND OPDG3
OPDOR OPDG3
SPGAND SPGG3
SPGOR SPGG3
DEVTYPE= DVTG3
CPCSYSTEM= CPCDB CPUG3
CPUSYSTEM= CPUG3 CPCDB
-Data Dictionaries in the ADOCRMFV member have been
updated or added for these FDF supported RMF III tables:
ASIG3 CFIG3 CRYG3 GEIG3.
-Many tables and charts in ADOCRMFV have been converted to
boxed figures for improved legibility.
-Following Sections are updated or added in the ADOCRMFV
documentation member:
Section Contents
------- --------
0 Contents
2 Terminology
3 Execution JCL
4 RMF III Table Selection Parameters
5 Input Data Selection Parameters
8 Error Handling Parameters
9 JCL and SYSIN Parameter Usage
12 Messages
13 Filtered Records
32 Data Dictionary Descriptions
33 Filtering The ASIG3 Table
34 Filtering The CFIG3 Table
39 Filtering The CRYG3 Table
40 Filtering The GEIG3 Table
53 ASMRMFV Execution and Methods Overview
54 PDB Build Examples With Direct JCL Method
55 PDB Build Examples With TSO Clist Method
56 PDB Build Examples With Dynamic Method
57 Summary
58 Bibliography
-Variable LCPUHWLW='HDW*GROUP*CAPACITY*LIMIT' in ZRBLCP
dataset was misspelled as LCPUHWCA in the INPUT.
-Dataset ZRBCPU variable CPCVALAVL added and CPCABSMSU
is correctly labeled:
CPCABSMSU='ABSMSU*CAPPING*OPTION*SET?'
CPCVALAVL='CAPACITY*VALUES*AVAILABLE?'
-The 96 CPUSTAnn variables in dataset ZRBCPU have been
reserved since z/OS 1.2. They are removed.
Change 39.099 Support for DB2 Netezza/IDAA Accelerator new data fields,
VMACDB2 and correction to DB2 GMT Offset calculation . DB2 does
VMACDB2H not provide a GMT Offset, forcing MXG to use the delta
VMACSMF between SMFTIME-TODSTAMP with fuzzy logic, because SMF is
May 23, 2021 in hundredths while TODSTAMPs are in microseconds, but
MXG logic did NOT account for the 26 leap seconds that
are in all TODSTAMPs, but not in SMFTIMEs, that made the
converted local time 26 seconds later than actual. Now,
the 26 seconds are subtracted from QWHSSTCK before the
GMT corrected calculation and QWHSSTCK is correctly
converted to local time zone to match SMF, and the
GMT Offset is now integer hours.
-Leap Seconds are periodically added (6 since 1997) and
when the next one is scheduled, I'll use the date to
subtract the 27th.
-I've discovered both TODSTAMP and MSEC variables can show
8 decimal digits, with DATATIME28.8 or TIME20.8 formats,
but SAS Support says both only have 6 decimals are valid.
-Protection for invalid offset added in VMACSMF.
Thanks to Marc Di Edwardo, Memorial Sloan Kettering, USA.
Change 39.098 With PDB=SMF the display of VMXGRMFI options was
VMXGRMFI suppressed.
May 11, 2021 -If you specified imacwork=no in lower case it
was not recognized and you could get the out of
balance message. Now IMACWORK USECNTRL USEREPRT
are upcased before any compares are made.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 39.097 New parameter NOTALLLPARS=NO defaults to running the PROC
VMXG70PR FREQ that tells you which LPARs are missing from the PDB.
May 7, 2021 Specifying NOTALLLPARS=YES suppresses these messages for
when you don't have the RMF data from all LPAR's.
Change 39.096 New variable SMF89SOLUTIONID, the SOLUT= system parameter
VMAC89 is added to datasets TYPE89 and TYPE892. This is the
May 6, 2021 Tailored Fit Pricing Solution ID.
Change 39.095 Typos in comments. For CMODIDNT='393' DEC=394 corrected
UTILEXCL to DEC=393, and WBURIRND corrected to WBURIRCV.
May 6, 2021
Thanks to Charles Piggott, RUV, GERMANY.
Change 39.094 Debugging macro variable DCOLEXIT is defined in VMXGINIT
VMACDCOL and &DCOLEXIT is added to the INFILE so that you can use
VMXGINIT %LET DCOLEXIT=FIRSTOBS=250 OBS=300;
May 5, 2021 to control what records are read. If you instead used
OPTIONS FIRSTOBS=250 OBS=300;
the DATA step will correctly read those selected records,
but the following SORTs and STEPs will fail because they
FIRSTOBS=1 OBS=MAX.
Change 39.093 -DCOLLECT DAILYDSN/VMXGDSN creation of DATASETS.DATASETS
VMXGDSN has been wrong since Change 37.065 in MXG 37.03. In the
May 5, 2021 creation of DATASETS, the original code output the pair
of DATA/INDX obs from DCOLDSET for VSAM files, setting
SPACE1=DCDALLSP (Allocated Space) for each obs.
-That change replaced that pair of obs with one obs from
DCOLCLUS, DSNAME=Cluster Name and with SPACE1=DCAHARBA
as the size of each VSAM cluster, But the total DASD
space is significantly smaller after that change.
-This change follows IBM recommendation to use DCAHARBC,
instead of DCAHARBA and to continue to discard the VSAM
DATA/INDX space from DCOLDSET.
-After this change, the obs count in DATASETS is smaller,
and the VSAM sizes increased to pre-37.065 change.
DASD Space is DCDALLSP - VSAM-DCDALLSP + DCAHARBC
-See also Change 15.108.
Thanks to Terry Chao, Office of Chief Technology Officer, USA.
====== CHANGES THRU 39.092 ARE IN MXG 39.03 DATED May 3, 2021 ========
Change 39.092 Some ANALDB2R reports attempt to map database and object
VFMT102 names using this format but if there were no subtype 105
Apr 29, 2021 records the format could could not be built and a format
not found error could result. Now tells you there was no
data and sets NOFMTERR.
Change 39.091 Support for new variables DB2 IFCID 402 T102S402 dataset:
VMAC102 QW0402OW ='IDLE*THREAD*THRESHOLD*EXCEEDED'
May 2, 2021 QW0402TC ='CURRENT*ACTIVE*THREAD*COUNTER'
QW0402TS ='CURRENT SUSPENDED THREAD COUNTER.
QW0402TH ='HWM*THREAD*COUNTER*SINCE*DDF START'
QW0402CC ='CURRENT*CONNECTIONS*COUNTER'
QW0402CH ='HWM*CONNECTIONS*COUNTER*SINCE START'
QW0402TN1_OFF ='OFFSET*TO FIRST*TOKEN*VALUE'
QW0402TN2_OFF ='OFFSET*TO SECOND*TOKEN*VALUE'
QW0402TN1_LEN ='LENGTH OF FIRST*TOKEN FIELD'
QW0402TN1_VAR ='FIRST*TOKEN*VALUE'
QW0402TN2_LEN ='LENGTH OF*SECOND*TOKEN*FIELD'
QW0402TN2_VAR ='SECOND*TOKEN*VALUE'
-QWHCEUTX='END*USER*TRANSACTION*NAME was added _V102CMN
so it will be kept in ALL T102Snnn Trace Datasets.
Thanks to Manoel DeSouza, FMR, USA.
Thanks to Jonathan D. Brown, FMR, USA
Change 39.090 Support for RACF Pass Ticket Evaluation (8081 PTEVAL)
EXTY8081 creates new TYPE8081 dataset.
FORMATS
IMAC80A
VMAC80A
VMXGINIT
Apr 28, 2021
Thanks to Jim Guzlecki, REFINITIV, USA.
Change 39.089 Velocity XAM storage variables are in pages, but were not
VMACXAM converted to bytes nor formatted with the MGBYTES format.
Apr 27, 2021 These are now internally in bytes, MGBYTES formatted:
RSASTORE SYSTORS SYSVRSZ SYSVRFRE SYSTRCPC
HCPMM1S HCPMM4S RSAPGABL RSANONPG RSAOFFLN
RSARIOSZ CALSCMAX SYSSCMEX RSAGSTOR RSAGOFFL
RSALGFRM SXSSIZE PFXSTLEN PFXFTLEN RSAFNOTI
FIXEDSTO SYSGSTBY SYSGSTRS RSACKMB2G RSACKMA2G
RSAPIN0B RSAPIN0A RSAPIN1B RSAPIN1A RSAPINWP
RSAPINFP
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 39.088 Report to Count Character Variables with FREQ=FREQ did
ANALJOBN not print anything because there was no TABLES statement,
Apr 27, 2021 causing VMXGPRAL to fail, exposing Change 39.087.
Change 39.087 If there were no variables not in the BYLIST a syntax
VMXGPRAL error occurred pointing at /MISSING.
Apr 27, 2021
Thanks to Rahul Raj, ENSONO, USA.
Change 39.086 Support for HSM UNIX CLOUD Statistics variables added to
FORMATS HSMFSRST dataset for FSRTYPE 25 and 26.
VMACHSM FSRUNIXF='UNIX*SEGMENT*PRESENT?'
Apr 29, 2021 FSRTYPE ='FSR*FUNCTION*TYPE'
FSRCLNML='CLOUD*CONNECTION*NAME*LENGTH'
FSRCLNR ='CLOUD*NETWORK*CONNECTION*NAME'
FSRCLCNT='DFHSMHSM*CONTAINER*NAME*USED'
FSRCLOBN='OBJECTS*CREATED'
FSRPFXNM='PREFIX*OF*OBJECT'
FSR2_UNML/*UNIX*FILENAME*LENGTH'
FSR2_FLGS/*UNIX*FILENAME*FLAGS'
FSR2_UNAM/*UNIX*FILENAME'
FSRFMB ='FSRBYTR*AND*FSRBYTW*WERE IN*MB?'
FSRFXPLC='EXPIRED*FROM*CLOUD?'
-HSM Variable FSRTYPE has additional values that are now
decoded by format MGMSMFU:
24='24:CLASS TRANSITION'
25='25:MIGRATION TO CLOUD'
26='26:RECALL FROM CLOUD'
-Records with FSRTYPE=24 are not output until test data
is available to validate it's contents.
Thanks to Macarena Alonso Alvar, Silk Aplicaciones SLU, SPAIN.
Change 39.085 PDB.ASUMUOW variable TRANNAME should have LENGTH $4 but
VMXGUOW contained only 1 character if MQ data records preceded
Apr 24, 2021 the other records, and SPIN.SPINUOW had observation(s).
Thanks to John Holiday, Queensland Government, AUSTRALIA
Change 39.084 We all know that IO delays can be a problem but we may
TECHNOTE not consider terminal delays to be part of the problem.
Apr 23, 2021 Now that everyone is working from home running SAS in
the foreground (interactive) can be profoundly affected.
Working with a customer on a Linux install we noticed
that SAS initialization took over 1 minute for 1 user
but only 45 seconds for another and locally on my PC a
couple of seconds. Running BUILDPDB against a 6GB SMF
dataset in the foreground took 13 minutes but running
in the background (a batch job) the same program and
the same SMF data ran in 90 seconds. The moral of the
story is IO still matters and LOGS and OUTPUTs back
to your online session are IO and matter.
Change 39.083 Format $MGSMFID did not describe SMF 83 Subtype 7, MFA,
FORMATS Multi-Factor Authentication
Apr 23, 2021
Thanks to MP Welch, Bank of America, USA.
Change 39.082 Variable QDSTNCQC was misspelled as QDSTNQWC.
VMACDB2
Apr 23, 2021
Thanks to R. Indumathy, FMR, USA.
Change 39.081 A few non-impacting %PUT "DEBUG" messages were replaced
READDB2 with a conditional test that &MXGDEBUG was enabled.
Apr 21, 2021
Change 39.080 ANALDB2R could fail if PMAUD02 report was requested and
ANALDB2R there were no observations, due to misplaced GOTO.
Apr 20, 2021
Change 39.079 Support for RMF III CRYG3 Cryptographic Hardware Table
EXZRBCRY creates new dataset ZRBCRY.
FORMATS
IMACRMFV
VMACRMFV
VMXGINIT
Apr 28, 2021
Thanks to MP Welch, Bank of America, USA.
Change 39.078 -MXG 39.02. ERRORs EXCLUDED FIELDS - SECOND RECORD error
UTILEXCL using the IMACEXCL created by UTILEXCL; there was a typo
IMACICCU $CHAR54 instead of $CHAR64 that caused misalignment.
Apr 15, 2021 -The %INCLUDE inside IMACICCU should be IMACICCD.
Thanks to Negri Gianvittorio, SAS, ITALY
Thanks to Mark Wittie, FMR, USA.
Thanks to Kelly Ballamis, Zions Bank, USA.
Change 39.077 Changes in TYPE70 processing caused PDB=SMF to fail.
VMXGRMFI Logic to read the RMF SMF data needed for RMFINTRV was
Apr 15, 2021 replaced with a %UTILBLDP invocation.
Thanks to Michael Friske, FMR, USA.
Change 39.076 Support for Phoenix JES3plus SMF 84 error correction that
VMACSMF was reported in APAR OA58963 but not corrected by IBM.
VMAC84 The 84 subtype was not in 19-20 so IBM SMF utilities
Apr 15, 2021 could not use SUBTYPE for record selection, The APAR was
closed as a permanent restriction for JES3, but JES2 will
write a new record with ID=126 and four-digit ID=1153
that has subtype in the expected location. For JES3,
JES3plus relocates the subtype to expected location.
This MXG update correctly inputs the SUBTYPE in the
_SMF header macro for all possibilities.
Change 39.075 Updates from SMF Manual dated Apr 5, 2021.
VMAC42 -TYPE42DS New variable: (APAR OA59611)
Apr 12, 2021 S42SNTWJ='SYNC ZHL*WRITES*DISABLED*NEW LAYER'
-TYPE106 New Datasets
TY1063 TYPE1063 BCP ST-1 HWIREST API
TY1064 TYPE1064 BCP ST-2 HWIREST API
Change 39.074 RMF III z/OS 2.4 Updates from Feb 2021 Programmer Guide:
VMACRMFV -Dataset ZRBLCP new variables:
Apr 11, 2021 CPC_BOOSTACTIVE='BOOST*ACTIVE*INTERVAL'
CPC_BOOSTCLASS ='BOOST*CLASS'
-Dataset ZRBCFI new variables
CFISTSC1='INDEX OF*FIRST CFICONNS'
CFISTMRC='NUMBER OF*CFICONNS*ENTRIES'
CFISTMTM='SUMMED*QUEUE*TIME'
-Dataset ZRBASI new variables
ASIORMP ='STORE/OUTR*DELAY*SAMPLES*SR7'
ASIRUCSAA ='RUCSA*ALLOCATION'
ASIERUCSAA ='ERUCSA*ALLOCATION'
-Dataset ZRBGEI new variables
GEIGLUSE='1GB FRAMES*IN USE*MEM OBJECTS'
GEIGLTOT='1GB FRAMES*IN CENTRAL*STORAGE'
Thanks to MP Welch, Bank of America, USA.
Change 39.073 Format $MGMARET for TYPEMAR printed 3990 instead of 3390.
FORMATS
Apr 12, 2021
Thanks to Lloyd Christensen, Hitachi Vantara, USA.
Change 39.072 ZIPOVHTM and PCTZIPOV variables added to ASUMCELP ASUMCEC
VMXG70PR ASUM70PR and ASUM70LP datasets.
Apr 13, 2021
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 39.071 RMF III percentages on System Information and CPC Summary
VMACRMFV reports are identified/revised/created:
Apr 8, 2021 -Dataset ZRBCPU.
These variables are on RMF System Information report.
PCTCPUBY='AVG CPU*PHYSICAL*PERCENT*BUSY';
PCTLOGBY='AVG CPU*LOGICAL*PERCENT*BUSY';
PCTLOGBY/CPUG3_LOGITI. MVS view of logical processor
utilization based on wait time for the processor.
This is "Avg CPU UTIL%" on System Information report.
PCTCPUBY/CPUG3_PHYSTI PR/SM view of physical processor
utilization based on dispatch times.
This is "Avg MVS UTIL%" on System Information report.
-Dataset ZRBLCPLPARS new variables; you must use TYPSRMFV
or invoke _SRMFV to create dataset PDB.ZRBLCPLPARS.
These variables are on the CPC Summary report;
CPUPCTEF='PHYSICAL*EFFECTIVE*PERCENT*BUSY'
CPUPCTBY='PHYSICAL*TOTAL*PERCENT*BUSY'
LOGPCTEF='LOGICAL*EFFECTIVE*PERCENT*BUSY'
LOGPCTBY='LOGICAL*TOTAL*PERCENT*BUSY'
and ZRBLCPLPARS has an observation for each CPU TYPE.
Thanks to Ervin Claxon, CSX, USA.
Change 39.070 Support for DB2 APAR PH31684, SORT usage counters in
IMACDBNZ three datasets, sort sizes for zSORT in IFCID=96, and
VMAC102 these two new NETEZZA variables in DB2ACCT;
VMACDB2 Q8ACTWDP='TIME*WAITED*FOR DELAY*PROTOCOL'
Apr 6, 2021 Q8ACNWDP='STATEMENTS*WITH*EXPIRED*PROTOCOL'
New variables added to DB2STAT1 DB2STATS DB2ACCT
QXSTSRT ='TIMES*RDS SORT*PERFORMED'
QXSTSRTL='TIMES*RDS SORT*USED SORTL'
QXSTMLSRT='TIMES*SORT*FEEDBACK*USED'
QXSTMLSDFND='PREPARE*STABILIZED'
New variables added to T102S096 for IFCID=96:
QW0096RU='QW0096RU*SERVICEABILITY'
QW0096PN_OFF='OFFSET TO PROGRAM NAME'
QW0096PC_OFF='OFFSET TO PACKAGE COLLECTION ID'
QW0096DZ='SORT*DATA AREA*SIZE WITH*SORTL'
QW0096KZ='SORT KEY*SIZE WITH*SORTL'
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 39.069 Some XAMSYS variables were in the KEEP= list for XAMUSR
VMACXAM but they should have been kept in XAMSYT.
Apr 5, 2021
Change 39.068 -Some users have found savings of time using COMPRESS=NO
VMXGALOC as datasets in work have to be repeatedly compressed and
Apr 5, 2021 decompressed. A parameter was added to allow the PDBs
Apr 9, 2021 being created to be compressed while leaving work at the
value specified in your AUTOEXEC. COMPRESS=YES is now the
default value added to every LIBNAME statement issued by
VMXGALOC. Specify COMPRESS=blank or anything other than
YES to disable.
-On Linux only, if you did not specify a BASEYEAR you
could get a SUBSTR OUT OF RANGE error.
Thanks to Arnold Kim, UPS, USA.
Change 39.067 New value '20X:REMOUNT' added to $MG092FM format for
FORMATS variable SMF92MFG in dataset TYPE9201 and SMF92UFG in the
Apr 5, 2021 dataset TYPE9205. ICN 1830.
====== CHANGES THRU 39.066 ARE IN MXG 39.02 DATED Apr 4, 2021 ========
Change 39.066 New parameter USEBANDS= added with a default of NO, will
GRAFCEC creates 'band' charts rather than bar charts.
Apr 4, 2021
Change 39.065 Change 39.029 incorrectly coded PROC FORMAT for the
GRAFWRKX formats $TMPSUEC and $TMPNRCPI that set SU/Sec and NRCPU.
Apr 4, 2021
Change 39.064 The Apr 1 Change 39.060 for HLASM back level protection
ASMRMFV was revised. USE ONLY ASMRMFV DATED APR 2 IN LINE2.
Apr 2, 2021
Thanks to Otto Burgess, OPM.GOV, USA.
Thanks to Robert Richards, OPM.GOV, USA.
====== CHANGES THRU 39.063 ARE IN MXG 39.02 DATED Apr 1, 2021 ========
Change 39.063 Dataset IMS56FA variable DLRDMR is now kept, DLRSMR typo.
VMACIMS
Apr 1, 2021
Thanks to Nick Varley, Precisely, ENGLAND.
Change 39.062 JCL and source to run BUILPDB creating the PDB on a tape
JCLTAPDB and at the same time sending CICSTRAN to tape and all of
BLDTAPDB the DB2 accounting datasets to a third tape dataset.
Mar 31, 2021
Change 39.061 Change 37.260 added JOB_IDENTIFIER but MXG did not change
VMACIDMS the +50 to +42 to preserve alignment.
Mar 30, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.060 Some versions of the HLASM Assembly program fail on the
ASMRMFV ISHEX function, with error message ASMA089E when the
Apr 2, 2021 function appears in a macro definition. Single character
parsing is now used to validate hex characters.
UI73993 Feb 17, 2021 works, UI60352 Dec 19, 2018) failed.
Thanks to Otto Burgess, OPM, USA.
Thanks to
Change 39.059 The GMT Offset in CVTTRZ in TYPE0 was off by one second;
VMAC0 the CEIL and FLOOR functions were reversed.
Mar 30, 2021
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 39.058 Second period for DATA=&PDBMXG..STEPS was missing.
ANALABND
Mar 28, 2021
Change 39.057 INPUT EXCEEDED for defective SMF 16 record with ZSORT
VMAC16 triplet populated, but no ZSORT data, APAR PH32395:
Apr 1, 2021 UI90068 WHEN ZSORT=Y IS IN EFFECT. ERROR DESCRIPTION:
The ZSORT feature does not support SORTs that are program
invoked and using E15 and/or E35 EXITS for input and
output. In this case ZSORT needs to be disabled and use
the traditional sorting techniques, otherwise program
failures like ABEND0C4 may occur. This APAR will improve
this check. One site's data populated ICEFLBY5='Y' that
ZFSORT was invoked, but the offset pointed to the end
of the record where there was no data. A second site
had ten-digit decimal offsets in the ZSORT triplet but
ICEFLBY5 was not y.
-The BroadCom CA-7 SASSHISS program ABENDED with 0C4 as
noted in this document:
https://knowledge.broadcom.com/external/article/209582/
sasshis5-c0c4-abend-was-issued.html
Thanks to Rob D'Andrea, NATWEST. ENGLAND.
Change 39.056 New parameters WEEKINCODE= MNTHINCODE= let you insert
BLDSMPDB code just after the SET statements for weekly and monthly
Mar 28, 2021 processing. An example was added to the comments using
WEEKINCODE to validate the data using ZDATE and to
determine using RMFINTRV if data is not complete (less
than 24 hours in a day) or outside the bounds of the
week. Will issue a WARNING message if problems are found,
print a report of what was found for each day of the
week, and optionally can set cc=4;
Thanks to Denise Willers, ENSONO, USA.
Change 39.055 AUDITAFTER= default value changed to YES. This means that
UTILBLDP PDBAUDIT will run after everything in your INCLAFTR
Mar 28, 2021 parameter rather than after BUILDPDB. The first time you
run you will see a lot of new datasets that are not
really new but were created by MXGINCL and INCLAFTR
members after BUILDPDB ran.
Change 39.054 Variable LOSTRECS/SMF7NROX was conditionally input but
VMAC7 the field is always present, and subsequent variables
Mar 26, 2021 (SMF7LSN,SMF7TBLS) were not input.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 39.053 The CICSTRAN data for z/OS EE Connect Adapter and for MQ
VMAC110 related tasks create variables OADATA1/OADATA2/OADATA3
Mar 31, 2021 with these different values:
For MQ Related Task
OADATA1=QMGR=MSQ1
OADATA2=INITQ=CICSS001.INITQ
OADATA3=QNAME=MQS1.MQIN.TEST.REPORT
OADID =ID=IBM WebSphere MQ for z/OS V9
For z/OS Connect Related Task
OADATA1 BAQvllPLXTNKX A580 TODSTAMP.
The v field contains 01x= a version number?,
the ll field contains length of data following,
PLXTNKX is the SYSPLEX and A580 is the SYSTEM and
the TODSTAMP (converted with MCTMNTAD to LOCAL)
is always earlier than the SMF time.
But those binary values in the z/OS Connect OADATA1
cause problems if you try to move the data to EXCEL.
So the z/OS Connect record is decoded and the datetime
is now a text field:
OADATA1='BAQ PLXTNKX A580 15MAR2021:11:10:54.217948.
Thanks to Simon Foley, CPT Global, AUSTRALIA.
Thanks to Martyn Jones, CPT Global, ENGLAND.
Change 39.052 TABULATEs consolidated so that for each category you get
ANALINIT one page rather than a page per jobclass. Formats added
Mar 26, 2021 to PROC PRINTs.
Change 39.051 JCLSPGDG example creates GDGs for all MXG "PDB" datasets.
JCLSPGDG The limit for the number of generations in a GDG was 255,
Mar 21, 2021 but in z/OS 2.2, the new EXTENDED option allows up to 999
generations. So you can start a Daily PDB with GDG=1 on
Jan 1, with a limit of 366 and have the GDG number
match the julian date!
Thanks to MP Welch, Bank of America, USA.
Change 39.050 Error Messages from PROC PLOT for all values missing were
JCLPDB94 caused by incorrect OR/AND logic. JCL94PDB now executes
ANALRMFI with CC=0.
ANALMPL
Mar 20, 2021
Thanks to MP Welch, Bank of America, USA.
Change 39.049 Format $MGSMFID describes SMF record type and subtype for
FORMATS ANALID reports; the format was missing 116.010.
Mar 18, 2021
Thanks to MP Welch, Bank of America, USA.
Change 39.048 The example PDS allocation for MXG.SOURLIB had only 1199
JCLINSTT directory blocks. Without PDS Statistics, 459 blocks are
JCLINSTL used, with PDS statistics, 1607 are needed so examples
Mar 17, 2021 now allocate 1999 blocks so you can have statistics.
Thanks to Jerry Terpstra, Bank of Montreal, CANADA.
Change 39.047 If you tried to run without running _SUOWSPN you got
VMXGUOW errors with SPUNCNT undefined and if you set _LASCICS
ASUMUOW to CICSTRAN.CICSTRAN and bypassed _SUOWCIC you got an
Mar 17, 2021 undefined macro reference. Both problems are fixed.
_SUOWSPN is not needed since the data has to be in the
correct order when it is created. It is commented out
in both the examples and the executable code. It will
not hurt to run it but it will save some time to skip
this sort.
Change 39.046 If you asked for 106 records and did not add T102106=YES
READDB2 the T102S106 dataset was not created. Now if 106 is in
Mar 14, 2021 the IFCIDS and T102106 NE NO it will be built and sorted
into the PDBOUT= LIBNAME.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.045 If all values to be charted were missing, a blank page
GRAFWRKX was created and if all were 0 a meaningless chart of a
Mar 13, 2021 flat line at 0 on the Y-axis was created. Now charts only
values GT 0.
Change 39.044 Since the second part of the WORKX= was set to SRVCLASS,
UTILWORK which is then used as the label for variables created by
Mar 14, 2021 VMXGRMFI, unless you wrote the WLM policy SRVCLASS may
not be sufficient to identify what the workload
represents. Now, UTILWORK uses the first 20 bytes of the
service class description, except when the service class
is SYSTEM SYSSTC or SYSOTHER.
Change 39.043 Support for z/OS Connect SMF 123 Subtype 2 record creates
ANAL123A New Data Set:
EXTY123C DDDDDD DATASET DESCRIPTION
IMAC123A TY123C TYPE123C z/OS CONNECT API REQUEST
VMAC123A Member ANAL123A will merge the TYPE123C REQUEST dataset
VMXGINIT observation with the corresponding CICSTRAN obs to create
Mar 23, 2021 dataset PDB.CICS123.
Change 39.042 CICS optional CMODHEAD=USER AND CMODNAME=USER incorrectly
IMACICXA pointed to IMACICDU but that should be IMACICXA.
UTILEXCL
Mar 10, 2021
Thanks to Mark Wittie, FMR, USA.
Change 39.041 -If you want to change the destination library to other
ASUM70PR than PDB, VMXG70PR failed with error messages that your
VMXG70PR TYPE70 and TYPE70PR datasets were not found. Now, it
Mar 24, 2021 uses VMXGWORL to try to find it, or if you specify
PDB=yourdd, that will be used.
-If you specified PDB=PDB and the datasets did not exist
a dataset not found error resulted. PDB=libname always
overrides the results of VMXGWORL.
Change 39.040 Defective SMF 1415 records with NUCB=6 but only 5 UCBs
VMAC1415 have invalid SMF14STY values due to that misalignment,
Mar 9, 2021 causing blank values for STEPNAME PROGRAM JCTJOBID and
JESNR is a missing value. All of these records are for
DSNAME='SYS1.HASPACE' and new SMFSTY14='1234567890' is
created to list the subtypes in each record; the value
0 at the end are those with invalid subtypes.
A CASE/PMR is in progress with IBM to correct.
Change 39.039 -The Field Data Filter (FDF) feature of RMF III was added
ASMRMFV in MXG Change 37.089 and allows you to filter raw RMF
ADOCRMFV data values when ASMRMFV reads the RMF III VSAM file,
Mar 8, 2021 reducing the size of the created RMFBSAM file and the
result PDB.
-You can filter RMF III table entries based on one or more
numeric, character, or bit string fields using AND/OR
logic. This feature is intended for advanced MXG users
building ad hoc data PDBs of RMF III data.
-ASMRMFV now supports some MXG Derived Variables from bit
string settings. This relieves some of the cumbersome
lookup and error prone use of bit strings in FDF IF
expressions. Not all bit settings are assigned to a PDB
variable when an MXG PDB build is run. ASMRMFV mimics the
derivation that occurs during the build.
-Bit string MXG Derived Variables are added for RMF III
tables: ASIG3, CATG3, DVTG3, ENCG3, GEIG3, SCMG3, SPGG3.
Other tables supported by FDF do not have bit string
related variables.
-Example: Select Address Spaces using the CPU Protection
bit from the ASIG3 table:
Rather than code the IF bit string expression:
IF=(ASIMSTS EQ B'..1.....')
Now this user friendly alternative is possible:
IF=(ASICPUPR EQ 'Y')
-Data Dictionaries have been updated for all 17 FDF
supported RMF III tables. Derived Variable support is
available where the characters "MASK" appear in a Data
Dictionary entry.
-Many Data Dictionary entries now include one or two NOTEs
to add further information about a Fieldname.
-DEV is now valid as a prefix for some Fieldnames for the
RMF III DVTG3 table. This shortens some long Fieldnames
that formerly all required a DVT prefix.
-Error message RMFV092S is now issued with an error code
should a rare table validation error occur for either the
CATG3 table or SMF 74.5 record within the CATG3 table.
-New Section 32 Data Dictionary Descriptions is added to
the ADOCRMFV member. This provides a central reference
location for this information rather than repeating it
for every FDF supported RMF III table.
-New Section 34 Filtering The Cache Data Information Table
(CATG3) is added to the ADOCRMFV member for the new
support.
-TIP:
When filtering with FDF on the first n characters of a
character field there are two ways to accomplish this
as shown in the examples below:
1) Use a pattern match (* in compare value string)
IF=(ASIJOBNA EQ 'PROD*')
2) Use a shortened compare length (: after operator)
IF=(ASIJOBNA EQ: 'PROD')
Either method will select jobs starting with 'PROD' for
output to the RMFBSAM file.
However, the SECOND method is MUCH MORE efficient.
With Method 1 ASMRMFV must call the internal MATCH
subroutine for EVERY job to evaluate the pattern. With
Method 2 ASMRMFV sets the compare length ONCE (in this
case to a value of 4) for all job name comparisons.
TUTORIAL:
MXG Derived Variable ASICX for the RMF III ASIG3 table
can be useful with ASMRMFV for data selection by Address
Space Type when building a filtered PDB.
Possible ASICX values are:
A ASCH Task AO ASCH Task OMVS Related
B Batch Job BO Batch Job OMVS Related
S Started Task SO Started Task OMVS Related
T TSO User TO TSO User OMVS Related
O OMVS Task
To select Started Tasks only use:
IF=(ASICX EQ 'S') or IF=(ASICX = 'S')
To select OMVS related Started Tasks only use:
IF=(ASICX EQ 'SO') or IF=(ASICX = 'SO')
To select all Started Tasks use:
IF=(ASICX EQ: 'S') or IF=(ASICX =: 'S')
Note that 2 IF expressions are NOT needed.
To select all Started Tasks and all Batch Jobs use:
IF=(ASICX EQ: 'S') or IF=(ASICX =: 'S')
IF=(ASICX EQ: 'B') or IF=(ASICX =: 'B')
Note in this case 2 IF expressions are needed.
-Following Sections are updated or added in the ADOCRMFV
documentation member:
Section Contents
------- --------
0 Contents
2 Terminology
12 Messages
13 Filtered Records
31 Field Data Filtering (FDF)
32 Data Dictionary Descriptions
33 Filtering The ASIG3 Table
34 Filtering The CATG3 Table
35 Filtering The CFIG3 Table
36 Filtering The CPDG3 Table
37 Filtering The CSRG3 Table
38 Filtering The DSIG3 Table
39 Filtering The DVTG3 Table
40 Filtering The ENCG3 Table
41 Filtering The ENTG3 Table
42 Filtering The GEIG3 Table
43 Filtering The OPDG3 Table
44 Filtering The PCIG3 Table
45 Filtering The SCMG3 Table
46 Filtering The SPGG3 Table
47 Filtering The SSHG3 Table
48 Filtering The XCFG3 Table
49 Filtering The ZFXG3 Table
51 PDB Build Examples With Direct JCL Method
52 PDB Build Examples With TSO Clist Method
53 PDB Build Examples With Dynamic Method
54 Summary
55 Bibliography
Change 39.038 Dataset TYPE74CA variable CSSCLN wasn't kept, variable
VMAC74 CSSCOPYST was not INPUT nor kept.
Mar 6, 2021
Change 39.037 Many variables containing percentages were not formatted
VMAC30 with 5.1.
VMAC7072
VMAC74
Mar 2, 2021
Change 39.036 APAR PH35442 corrects Negative CPU time in WebSphere SMF
VMAC120 120 TYP120BL dataset. There were many SMF 120 Subtype 11
Feb 28, 2021 records that had ZERO values for the GMT OFFSET
(SM120BBT), for the TOTAL CPU CLOCK AT REQUEST END
(SM120BCA1), for the CP ONLY CPU CLOCK AT REQUEST END
(SAM1230BCA2), and these zero values cause negative
values in the calculated delta start-to-end times.
Variables SM120BCPUTM SM120BCPCPUTM SM120BZIPCPU were
wrong. Note also that because the GMT OFFSET is 0 in
these records, while the other non-zero records actual
GMT OFFSET is 1, these zero records have their END
DATETIME (SM120BBX) one hour earlier than the SMFTIME!
Change 39.035 Variables ASICR and ASICX were not kept in ZRBASI.
VMACRMFV
Feb 28, 2021
Change 39.034 The LABELs for the pair of SINCE CREATION and SINCE OPEN
VMAC64 variables were reversed; the ACCxxxxx are SINCE CREATION.
Feb 24, 2021
Thanks to Jorge Fong, DOITT NYC GOVERNMENT, USA
Change 39.033 Support for new NDM-CDI SMF record (default 133) creates
EXNDCDHW new dataset:
IMACNDCD DDDDDD DATASET DESCRIPTION
TYPENDCD NDCDHW NDCDCDHW CDzOS High Water Mark
TYPSNDCD You will have to set the MACRO _IDNDCD to 133 or your
VMACNDCD chosen record type. APAR PH35087 is needed to correct
VMXGINIT errors in the initial record contents.
Feb 23, 2021
Thanks to Luis Mendoza, Black Knight, USA.
Change 39.032 No error has been reported with VMXG70PR in MXG 39.01 but
VMXG70PR the DROP/KEEP/INPUT exposure is eliminated.
Feb 22, 2021
Change 39.031 The BETA 93 subtype 50 record was shortened and many
VMACBETA variables no longer exist in dataset BETA50.
Feb 22, 2021
Thanks to Andreas Menne, Finanz Informatik, GERMANY
Change 39.030 Variables added to dataset TYPE3804:
FORMATS S38GMODE ='FUNCTION*STATUS'
VMAC38 S38GDOM ='NETVIEW*DOMAIN'
Feb 22, 2021 and new format MG038GM decodes variable S38GMODE.
Thanks to Stephen Hoar, LLoyds Banking, ENGLAND.
Change 39.029 The $TMPSUEC and $TMPNRCPI FORMATS were updated for all
GRAFWRKX z14 and z15 processors.
Feb 22, 2021
====== CHANGES THRU 39.028 ARE IN MXG 39.01 DATED Feb 17, 2021 ========
Change 39.028 Support for SMF 90 subtype 41 when CVTLSO is changed.
EXTY9041 DDDDDD DATASET DESCRIPTION
IMAC90A TY9041 TYPE9041 CVTLSO CHANGED
VMAC90A
VMXGINIT
Feb 17, 2021
Change 39.027 If you had sorted the CICS stats data to tape (this is
VMXGCICI strongly not recommended) VMXGCICI would first fail with
Feb 17, 2021 an undefined macro variable and when that was corrected
would fail with multiple datasets open in a sequential
data library. While this is NOT a recommended practice it
will now work.
Thanks to Lu Ming, CPF, SINGAPORE.
====== CHANGES THRU 39.026 ARE IN MXG 39.01 DATED Feb 16, 2021 ========
Change 39.026 Support for IBM TAPE CLOUD CONNECTOR SMF record creates;
VMACCLTA DDDDDD DATASET DESCRIPTION
EXCLTA01 CLTA01 CLOUTAP1 CLOUD TAPE STAGE TO DISK
EXCLTA02 CLTA02 CLOUTAP1 CLOUD TAPE COPY TO CLOUD
EXCLTA03 CLTA03 CLOUTAP1 CLOUD TAPE DELETE FROM CLOUD
EXCLTA04 CLTA04 CLOUTAP1 CLOUD TAPE DELETE PROFILE
EXCLTA05 CLTA05 CLOUTAP1 CLOUD TAPE RESTORE FROM CLOUD
IMACCLTA
TYPECLTA
TYPSCLTA
FORMATS
Feb 13, 2021
Change 39.025 Documentation and EXAMPLES for SMF record selections.
VMACSMF In _SMF, which process just the SMF Header, there are
Feb 12, 2021 these subsystem variables created and available in the
IMACFILE/&MACFILE exit to select only wanted records.
RMF 70-79 PRODCMF MVSLEVEL
RMF 78.2 VSTORE
DB2: 100 101 102 SUBSYSTEM COMPRESSFLAG QWHSRELN
PRODVERSION ACCUMACFLAG
SUBTYPE=IFCID FOR SMF 102.
CICS: 110 SMFPSRVR SUBSYSTEM MNSEGCL MCTSSDCN
MCTSSDRL
SMF 30 SUBSYSTEM
SMF 80 SUBTYPE=RACFEVENT
SMF 115,116 SUBSYSTEM SM115REL PRODVERSION
SMF 6 SUBSYSTEM
SMF 36 SUBSYSTEM
1. Duplicate RMF/CMF records CANNOT BE PROCESSED, YOU
MUST SELECT THE DESIRED RECORDS, AND YOU WOULD USE
//SYSIN DD
%LET MACFILE= %QUOTE(IF PRODCMF=:'RMF';); or
%LET MACFILE= %QUOTE(IF PRODCMF=:'CMF';);
This may be required with z/OS 2.5 with CMF, because
z/OS BASE will write RMF 70 records (so sites without
RMF will have 70s for SCRT reports).
2. To detect if you have records from both products,
//SMF DD
//SYSIN DD *
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_;
_SMF;
RETAIN CURRPROD;
IF CURRPROD=' ' THEN CURRPROD=PRODCMF;
ELSE IF PRODCMF NE CURRPROD THEN DO;
PUT / '***POTENTIAL ERROR. SEE CHANGE 39.025.'/
' CMF AND RMF RECORDS ARE BOTH FOUND. ' SMFTIME=
ID= SYSTEM=
/+2 PREVSYS= 'PREVPROD=' CURRPROD 'NEWPROD='
PRODCMF +1 PREVTIME= 'ID=' PREVID PREVSYS=;
CURRPROD=PRODCMF;
END;
3. You can create a file of only CICS dictionary records:
//SMF DD DSN=SMF,DISP=SHR
//SMFOUT DD DSN=NEWDICTS,DISP=(,CATLG). .
//SYSIN DD *
%INCLUDE SOURCLIB(VMACSMF);
%LET MACFILE= %QUOTE(
IF ID=110 AND SUBTYPE=1 AND MNSEGCL=1;
FILE SMFOUT DCB=SMF;
PUT _INFILE_;
FILE LOG;
);
RUN;
%INCLUDE SOURCLIB(VMACSMF);
RUN;
DATA _NULL_;
_SMF;
RUN;
4. You can create a file of 1000 CICSTRAN records from
CICS/TS 5.6 with:
//SMF DD DSN=SMF,DISP=SHR
//SMFOUT DD DSB=NEWTRAN,DISP=(,CATLG) . . ..
//SYSIN DD *
%INCLUDE SOURCLIB(VMACSMF);
%LET MACFILE= %QUOTE(
IF ID=110 AND SUBTYPE=1 AND MNSEGCL=3 AND
SMFPSRVR=73;;
FILE SMFOUT DCB=SMF;
PUT _INFILE_;
FILE LOG;
NFOUND+1;
IF NFOUND GT 1000 THEN STOP;
);
RUN;
%INCLUDE SOURCLIB(VMACSMF);
RUN;
DATA _NULL_;
_SMF;
RUN;
Change 39.024 Three new ESS (IEFDOKEY) variables are added to TYPE6:
IMAC6ESS ESSPAGEL='DPAGELBL'
VMAC6 ESSSYSAR='SYSAREA'
Feb 9, 2021 ESSDUPLX='DUPLEX'
Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 39.023 TYPECDC (Infosphere change data capture) records with
VMACCDC only the 92-byte header and no data caused INPUT
Feb 9, 2021 STATEMENT EXCEEDED error. Short records are deleted.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 39.022 Variables NCPCAPABIZE OVERCOMMIT STORAGESIZE XSTORESIZE
VMACXAM in dataset XAMSYS were misaligned and had missing values.
Feb 8, 2021
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 39.021 Override PSU70PR/LP/GC/GL DD's may not have worked.
VMXG70PR Depending on how you tried to change the destination,
Feb 12, 2021 with those macro variable DDnames with %LET may not
have been used, and those datasets could have been
written to &PDBMXG (normally PDB) instead of your %LET.
This change corrects to match the documentation.
Change 39.020 UTILWORK creates an RMFINTRV member with your Workloads.
IMACWORK New parameters enhance the useability of UTILWORK.
UTILWORK -IMACWORK=NO suppresses the use of IMACWORK.
Feb 6, 2021 With IMACWORK=YES, you can not have a WORKxx name that
matches an entry in IMACWORK; RMFINTRV will detect the
conflict and terminate.
SYSTEM= if you have multiple systems and you want to
define workloads differently SYSTEM=YES will add the
SYSTEM ID to each workload.
SYSPLEX= if you have multiple sysplex and you want to
define workloads differently, SYSPLEX=YES will add the
SYSPLEX ID to each workload.
In addition the first section of each workload (which
resolves to variable names) is now set to the SRVCLASS
since the restriction on 8 byte names is history.
Finally, the RMFINTRV member created is now printed
on the SASLOG.
Change 39.019 Using SP_REMV='Y', some labels were truncated because the
VMXGPRNT variable LABELR was not set to $80 nor blank padded.
Feb 2, 2021
Thanks to Scott Barry, SBBTechLLC, USA.
Change 39.018 -Some invocations of ANAL9914 caused mismatched %DO-%END
ANAL9914 errors because of a DO instead of a %DO statement. Logic
Feb 4, 2021 was rearranged, conditional execution of SGPANEL removed
and reordering of %VMXGOPTR executions.
-REPORT=JIM is not useable under WPS at this time; REPORT=
RAY is now forced for WPS.
Thanks to Virginie Peigney, CA-GIP, FRANCE.
Change 39.017 DB2 NETEZZA IDAA 100-1 INPUT STATEMENT EXCEEDED due to
VMACDB2 these new DB2 V12 fields and wrong LENREAD calculation.
Jan 31, 2021 You can use %LET MACKEEP= MACRO STOPOVER MISSOVER % ;
in SYSIN to circumvent the ABEND.
This change has not been tested with non-zero values;
only records with all values zero have been read so
none of the accumulated fields are deaccumed.
Please use member SENDDATA to send your SMF 100-1's.
-Variables added to DB2STAT1,DB2STATS,DB2NETZA:
Q8STTMUD='TOTAL MEM*AVAIL*USER DATA*IN MB'
Q8STTMPS='TOTAL MEM AVAIL*SQL/DML*IN MB'
Q8STCQLS='CURRENT*QUEUE*LENGTH'
Q8STOFLW='SORT*OVERFLOWS IN*ACCELERATOR*BACKEND'
Q8STABHR='ACCELERATOR*BUFFERPOOL*HIT RATIO'
Q8STANUI='CURRENT*IN RATE*ACCEL AND DB2*IN KB/S'
Q8STANUO='CURRENT*OUT RATE*ACCEL AND DB2*IN KB/S'
Q8STTSA ='DISK SPACE*IN MB FOR*TEMPORARY*DATA'
Q8STLSA ='DISK SPACE*IN MB FOR*LOG DATA'
Q8STTDPS='SUCCESSFUL*QUERY*REQUESTS*DELAY*PROTO'
Q8STEDPS='QUERY*REQUESTS*EXPIRED*DELAY*PROTOCOL'
Q8STTDPA='SUCCESSFUL*QUERY*REQUESTS*ALL DLYPRO'
Q8STEDPA='QUERY*REQUESTS*EXPIRED*WAITFORDATA'
Q8STVLCS='REPLICATION*VELOCITY*DB2 LOG SEC*PER SEC'
Q8STLRCP='CPU TIME*INT.S.S*ASYNC*LOG READER'
Q8STLRZI='ZIIP TIME*INT.S.S*ASYNC*LOG READER'
Q8STLRZE='ZIIP ELIGIBLE TIME*INT.S.S*ASYNC*LOG'
-Variables added to DB2STAT1,DB2STATS:
QISTLRCP='QISTLRCP*CPU*TIME'
QISTLRZI='QISTLRZI*ZIIP*TIME'
QISTLRZE='QISTLRZE*ZIIP*ELIGIBLE*TIME'
Thanks to Negri Gianvittorio, SAS, ITALY.
Thanks to Alberto Sturla, Banca Carige S.p.a, ITALY
Change 39.016 INCODE and OUTCODE parameters were not displayed with the
VMXGSUM other parameters, so logic that could cause zero obs was
Jan 30, 2021 not shown.
Change 39.015 Job report collected only TYPETASK=JOB so if the problem
ANALMSUS child was an STC it was missed. Now all OBS are used and
Jan 30, 2021 TYPETASK is added to the report.
Thanks to Mike Martin, NCSECU, USA.
Change 39.014 Parameters added to enhance flexibility and allow you to
EMAIL attach files rather than doing a PROC PRINT.
Jan 30, 2021 There are new examples in the member.
New parameters:
ATTACH- list of datasets to attach to email
BODY= text for body of email
the above only apply when attaching a file,
which is mutually exclusive with printing a
dataset. with printing a dataset,
These apply when printing a dataset:
LINESIZE=100
PAGESIZE=100
WHERE= a where clause for the PROC PRINT
Change 39.013 -MXG 34.06-38.38 ASMRMFV ABEND if a Storage Group has over
ASMRMFV 1,361 volumes. Change 34.191 introduced the potential 0C4
Jan 29, 2021 in subroutine PROCSPG when processing RMF III SPGG3 Table
(Storage Group and Volume Data) table, but we had no test
data with that large number of volumes.
Thanks to Victor Li, ATOS, HONG KONG
Thanks to Paul Leung, ATOS, HONG KONG
Change 39.012 z/OS SAS ODS may need an increase in the MEMLEAVE option
TECHNOTE (set in your CONFIGxx member) and MUST use REGION=0M. One
Jan 24, 2021 case SAS Tech Support recommended 1500M and that worked!
This note was originally to be Change 38.235.
Change 39.011 SAGANAL could fail when there unmatched RMF 70 and SMF 30
SAGANAL intervals, so data with SMFTIME GT the last 70 interval
Jan 30, 2021 are deleted.
Change 39.010 DB2 IFCID 172 T102S172 dataset variables QW0172Q4/Q8 are
VMAC102 INPUT $CHAR8 FORMAT $HEX16., QW0172HZ/WZ are INPUT &PIB.8
Jan 21, 2021 and Labels for QW0172HZ/WZ added Holder/Waiter.
Thanks to Jack Hyde, OPTUM, USA.
Thanks to Peter Vikeras, OPTUM, USA.
Change 39.009 TYPE70 PLATxxxxBUSY variables were incorrectly calculated
VMAC7072 adding the PHYSICAL LCPUPDTM to each calculation, but the
Jan 21, 2021 PLAT variables do NOT report this LPAR's utilization as
they calculate the utilization on ALL ENGINES IN THE CEC.
Thanks to Mark Tomlinson, Lloyds Bank, ENGLAND.
Change 39.008 zOS only. SAS ODS Graphics always uses Java, and Java can
TECHNOTE run on zIIP engines with significant CP CPU savings, but
Jan 18, 2021 a JVM file must be APF Authorized when your Java SYSPROG
installed Java. This z/OS message is printed in JOBLOG
(NOT SASLOG) and the JVM still executed correctly and
ended with CC=0, but the zIIP engines are not used:
JVMJ9VM082E Unable to switch to IFA processor
- issue "extattr +a 099 libj9ifa26.so"
"The JVM failed to switch to an IFA (Integrated Facility
for Applications) processor because the JVM library file
libj9ifa%s.so requires APF authorization."
One job running GRAFWRKX and GRAFCEC creating a PDF file
went from 484 CP secs to 107 CP + 146 ZIP = 253 secs.
The zIIP time is not reported by SAS, but the CPU time on
the SAS log is the sum of CP and zIIP can be much larger
than elapsed when zIIPs are used.
Change 39.007 Variable INTRVSYN (is RMF Sync with SMF?) was blank in
VMAC7072 datasets TYPE70xx and TYPE72xx, MXG38.05-38.38.
Jan 15, 2021
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 39.006 ANAL9914 Topology Report tests for &CECTYPE=Z15 added to
ANAL9914 support the z/15 processors, and the default is now Z15.
Jan 14, 2021
Thanks to Virginie Peigney, CA-GIP, FRANCE.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 39.005 Change 38.215 dropped these 4 variables from ASUMCELP.
VMXG70PR IFA70ACS IFA70BPS IFL70ACS IFL70BPS which are now kept.
Jan 8, 2021 IFA values will always be missing or 0.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 39.004 ANALID report did not identify CICS Compressed records;
VMACSMF VMACSMF incorrectly bypassed the test to set 'C'.
Jan 8, 2021
Thanks to MP Welch, Bank of America, USA.
Change 39.003 -Support for new variables TOKRABOID TOKKSTNPLTS in
VMAC80A dataset TYPE80TK.
Jan 10, 2021 -Dataset TYPE80TK will have fewer observations; each
token outputs an observation, but now there is a single
observation for each record with all tokens.
Thanks to Andreas von Imhof, RABOBANK, THE NETHERLANDS.
Change 39.002 ***WARNING - TYPETASK NOT DECODED SUBSYS=SAR. TYPE 6 SAR
VGETJESN records do not have a JCTJOBID which is used to create
Jan 5, 2021 TYPETASK. IF SUBSYS='SAR' THEN TYPETASK='SAR'; added.
Thanks to Joey TU, Los Angeles Department of Water and Power, USA
Thanks to Jon Hoang, Los Angeles Department of Water and Power, USA
Change 39.001 Cosmetic. DATEFMT=DATE7., was added to arguments.
VGETDDS
Jan 5, 2021
Thanks to Kenneth W. Pressley, Salt River Project, USA.
LASTCHANGE: Version 39.
=========================MEMBER=CHANGE38================================
/* COPYRIGHT (C) 1984-2020 MERRILL CONSULTANTS DALLAS TEXAS USA */
ANNUAL MXG VERSION 38.38 is dated Jan 4, 2021, thru Change 38.234.
MXG VERSION 38.10 was dated Nov 23, 2020, thru Change 38.213.
MXG VERSION 38.09 was dated Nov 4, 2020, thru Change 38.196.
First MXG VERSION 38.09 was dated Nov 2, 2020, thru Change 38.194.
MXG VERSION 38.08 was dated Sep 28, 2020, thru Change 38.163.
MXG VERSION 38.07 was dated Aug 22, 2020, thru Change 38.141.
MXG VERSION 38.06 was dated Jul 25, 2020, thru Change 38.123.
Second MXG VERSION 38.06 was dated Jul 25, 2020, thru Change 38.122.
First MXG VERSION 38.06 was dated Jul 24, 2020, thru Change 38.120.
MXG VERSION 38.05 was dated Jul 15, 2020, thru Change 38.112.
MXG VERSION 38.04 was dated May 25, 2020, thru Change 38.081.
MXG VERSION 38.03 was dated May 7, 2020, thru Change 38.071.
MXG VERSION 38.02 was dated Mar 23, 2020, thru Change 38.048.
MXG VERSION 38.01 was dated Feb 17, 2020, thru Change 38.027.
Annual MXG VERSION 37.37 was dated Jan 6, 2020, thru Change 37.272.
The Final MXG Newsletter SIXTY-NINE was dated Jan 3, 2018.
New TECHNOTES previously in NEWSLTRS are now in CHANGESS.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 38.38 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 38.38.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame, although there are
no new NEWSLTRS updates; they are now found in CHANGESS as TECHNOTEs.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG VERSION 38.38 DATED Jan 4, 2021, THRU CHANGE 38.234.
==MAJOR CHANGES ADDED IN MXG 38.38, DATED Jan 4, 2021 THRU 38.234.
ABEND CORRECTED:
TYPE90A 38.220 z/OS 2.2, MXG 38.09-10 SMF 90 ST 9 ABEND INPUT EXCEED
UTILBLDP 38.224 ERROR: OPTION NOT FOUND if UTILBLDP has SUPPRESS=ID
VMXGSUM 38.223 VMXGSUM ignored %LET MXGCLASSNWAY=YES, DSN NOT FOUND.
ASMRMFV 38.226 MXG 38.09-10. RMF III CFIG3 record error.
NEW SUPPORT:
TYPETMO2 38.228 Support for TMON/CICS 4.1 revisions, INSTREAM TMON.
TYPE92 38.222 Support for APAR OA60306, adds 8-byte memory fields.
TYPESY2K 38.221 Support for SYSTEM 2000 Flat File.
TYPE42 38.216 Support for APAR OA59581 new TYPE42DS SYNC fields.
TYPESYNC 38.214 New SYNCSORT zIIPSaver add-on variables.
CORRECTION:
TYPE70PR 38.215 TYPE70PR var CP70BPS/ZIP70BPS/CP70ACS/ZIP70ACS wrong.
==MAJOR CHANGES ADDED IN MXG 38.10, DATED Nov 23, 2020 THRU 38.213.
ABEND CORRECTED
TYPE110 38.205 SMF 110 ST 1 MNSEGCL=5 INPUT STATEMENT EXCEEDED.
TYPE42 38.204 TYPE 42 ST 5 incorrect MXG logic INPUT EXCEEDED.
NEW SUPPORT:
ASUM113 38.201 New z/15 EXTND256-EXTND287 were not kept in ASUM1131.
TYPEBETA 38.200 Support for BETA93 and BETA97 new data and updates.
TECHNOTE 38.199 Compressed SMF 110 expensive without EXITCICS on z/OS
ASMVVDS 38.197 Updates to read VVDS records and output to file/SMF.
==MAJOR CHANGES ADDED IN MXG 38.09, DATED Nov 4, 2020 THRU 38.196.
ABEND CORRECTED
UTILBLDP 38.195 UTILBLDP with SUPPRESS=110 and BUILDPDB NE 'NO'
ABENDED with ERROR:WORK.CICSEXCE.DATA not found.
==MAJOR CHANGES ADDED IN MXG 38.09, DATED Nov 2, 2020 THRU 38.194.
NEW SUPPORT:
TYPE110 38.168 Support for CICS/TS 5.6 STID=43, 46, and new STID=61.
TYPE16 38.164 Support for APAR PH03207 for DFSORT ZSORT stats.
ASMRMFV 38.188 Support for RMF III EXECVEL and PERFINDX variables.
ASMRMFV 38.181 New Field Data Filter support for CFIG3 table.
TYPE102 38.179 Support for DB2 ZPARM MFA_AUTHCACHE_UNUSED_TIME.
TYPE38 38.178 Support for z NetView 6.3 Subtype 4 Command stats.
ANALAVAI 38.183 Enhanced reporting on availability.
ERRORS CORRECTED:
UTILEXCL 38.180 Optional "Candle" CICS segment kept wrong variables.
TYPE50 38.177 VSAM Tuning data sets were misaligned.
==MAJOR CHANGES ADDED IN MXG 38.08, DATED Sep 28, 2020 THRU 38.163.
VMAC30 38.163 Support for APAR OA59813 for BOOSTCLASS='RECO'.
TYPE74 38.152 Support for APARs OA58724/58729 new Monopoly in ST=4.
UTILBLDP 38.157 BUILDMXG fails if you didn't specify OUTFILE=.
TYPE119 38.156 Tokens for TYP11924/11925 were not in _N119.
ANAL119 38.150 Errors corrected if you didn't have //IPHOSTS file.
ANALSIIS 38.149 SM113TM replaced by TIMESTMP for better match up.
READDB2 38.147 ACCTSORT=NO caused redirects to not be honored.
VMXGDUR 38.145 If interval LT actual duratm, warning is printed.
VMXG70PR 38.142 Support for ASUM70WK to keep full hours.
VMXGPRAL 38.159 MXG 38.07 only, 180 Syntax Error citing SP_NOBS.
TYPERMFV 38.124 Many dupes in ZRBXCG/XCP/XCS datasets.
TYPERMFV 38.162 Datasets ZRBCHP and ZRBSCM had zero observations.
PDBAUDIT 38.161 Value of PDBAUDIT incorrectly set, revised.
==MAJOR CHANGES ADDED IN MXG 38.07, DATED Aug 22, 2020 THRU 38.141.
TYPE26J2 38.137 Support for APAR OA57466 new TYPE26J2 compress data.
ASMRMFV 38.128 Field Data Filter FDF Support adds XCFG3, FDF fix.
TYPE7072 38.126 SMF sysplex data with SMF Logger INTERLEAVES ALL SMF.
TYPERMFV 38.124 Many dupes in ZRBXCG/XCP/XCS datasets.
==MAJOR CHANGES ADDED IN MXG 38.06, DATED Jul 25, 2020 THRU 38.123.
VMXGCICI 38.123 Tailored CICxxxxx statistics in PDB and WORK failed.
TYPE110 38.122 Some CICS Statistics datasets (CICxxxxx) were sorted
because %INCLUDE SOURCLIB(SCICSORT) after line 6281
was accidentally deleted.
==MAJOR CHANGES ADDED IN MXG 38.06, DATED Jul 24, 2020 THRU 38.120.
TYPE110 38.114 New CICSRDUR/URIMAP, CICSRDWB/WEBSVC datasets.
TYPEDB2 38.117 Support for DB2 APAR PH16111 IFCID 365 SMF 100.
TYPE102 38.117 Support for DB2 APAR PH16111 IFCID 365 SMF 102.
TYPEMVCI 38.116 Support for BMC Mainview for CICS 7.1 (COMPATIBLE).
==MAJOR CHANGES ADDED IN MXG 38.05, DATED Jul 15, 2020 THRU 38.112.
ABEND CORRECTED:
TYPE7072 38.103 MXG 38.03/38.04 TYPE7072 fails if //PDB on TAPE.
ASCII 38.091 MXG on Windows, AV Products, LOCK NOT AVAILABLE
SAS 38.087 ERROR: Utility File Open Failed PROC MEANS/SUMMARY.
TYPE83 38.090 SMF 83 ST 3 INPUT STATEMENT EXCEEDED.
NEW SUPPORT:
TYPE110 38.084 Support for CICS/TS 5.6 (INCOMPAT, FIELDS INSERTED).
TYPE7072 38.107 Support for APAR OA59330 new variables in TYPE7002.
MANY 38.105 Support for May 2020 SMF Manual Changes zOS 2.4.
TYPETPMX 38.102 Support for Thruput Manager TMT7123/TMT7124 Jul 2020.
TYPE85 38.100 Support for SMF 85 OAM Cloud Tier.
TYPE74 38.098 Support for SMF 74 CMF from BMC PTF BQM12658/59.
TYPE78 38.097 Support for APAR OA56684 TYPE78IO EADM/SCM variables.
TYPEDB2 38.096 Support for APAR PI98851 new variables DB2STATS.
TYPE30 38.093 Support for APAR OA59126, dataspaces variables.
TYPE74 38.089 Support for new EADM variables in TYPE7410.
TYPESARR 38.088 Support for CA View SARR SMF Subtypes 34 and 35.
ANALINIT 38.083 Enhanced JOB EXEC/QUEUED/HELD/etc analysis
TYPE110 38.099 CICS Statistics Records revisions.
ASMRMFV 38.082 ASMRMFV FDF Support for new tables.
CMF+RMF 38.095 Variable CMFPROD to select CMF vs SMF if both are on.
UCICSCNT 38.085 Enhanced counts/bytes for SMF 110 including STIDs.
==MAJOR CHANGES ADDED IN MXG 38.04, DATED MAY 25, 2020 THRU 38.081.
ABEND CORRECTED:
BLDSMPDB 38.081 MXG 38.03 only. BLDSMPDB WEEKLY JOB ABENDS, typo.
Line 667 has 1 %END; remove the "1".
Only on z/OS and only if WEEK is a GDG.
ERRORS CORRECTED:
TYPE30_6 38.072 Revised deaccumulate for accumulated subtype 6.
TYPEDB2 38.075 Support for APAR PH14037 DB2ACCTP QPACPKID truncated.
No MXG Change, IBM APAR corrected wrong offset.
ANAL119 38.073 Cleanup and removal of a typo.
NEW SUPPORT:
FORMATS 38.080 Support for z15 T02 values in $MGRMIPS format.
TYPE42 38.079 Support for APAR OA59541 for Type 42 Subtype 27.
TYPE102 38.077 SMF102 IFCID 143/144 increase length QW014xUR.
==MAJOR CHANGES ADDED IN MXG 38.03, DATED MAY 16, 2020 THRU 38.071.
EXPOSURE CORRECTED:
AUTOINST 38.054 ASCII Unique INSTREAM create for Concurrent Sessions.
-ALL ASCII SITES SHOULD PUT %AUTOINST IN IMACINIT.
ERRORS CORRECTED
TYPE123A 38.061 Datetime values were 2080 instead of 2020, MXG error.
TYPECMFV 38.063 CMF VSAM INVALID DATA messages, wrong informat.
TYPECIMS 38.058 CIMS/IMF CIMSDBD/DB2/MQ Zero Obs 37.37-38.02
VMXGOPTR 38.056 ANALHSM caused Error "SAS Option Name OPTIONS 1".
TYPE70 38.055 PCTMVSBY incorrect after 37.123. (NOT PCTCPUBY!!!).
ASMRMFV 38.064 Support for APAR OA58759, caused Condition Code 4.
TYPEXCOM 38.069 XCOM input did not skip the 461 bytes added in 12.0.
New Support
TYPE119 38.068 Support for Comm Server SMF 119 Subtype 11 ZERT data.
TYPE110 38.060 SET MONITOR FREQ hourly CICSTRAN for long runners.
UTILROLL 38.065 UTILROLL example to combine PDBs created every 4hr.
TYPEDB2 38.062 Support DB2 APAR PI92652,PI82191 and DPAGE support.
TYPESVIE 38.057 Support for SYSVIEW Subtype 2 record one min detail.
TYPEXAM 38.059 zVPS XAMCUV LCPUID=96 Totals records now deleted.
VMACSMF 38.051 SAS FTP Access Method &MXGABND=1 set to print errors.
TYPE42 38.067 Yet another TYPE42 invalid LENSR in subtype 5 42's.
==MAJOR CHANGES ADDED IN MXG 38.02, DATED MAR 23, 2020 THRU 38.048.
ERRORS CORRECTED
VMACSMF 38.033 SMF Signature Type 2 St 1/2 MANY BACK2BACK LOG msgs
TYPE112 38.040 OMEGAMON TEMS St 38 INVALID ARGUMENT LENGTH CHANGED.
TYPE73 38.038 Variable SHIFT was not populated.
New Product Support
TYPEVMXA 38.048 z/VM MONWRITE 6.4.19.1 z15 INCOMPATIBLE.
Many Log Messages, PRCMFC/PRCMFM empty, rest okay.
TYPE70 38.031 Support for APAR OA56683 SMFBOOST System Recovery
TYPE62 38.041 Support for APAR OA57105, adds JOBID SYSPLEX.
TYPE64 38.041 Support for APAR OA57105, adds JOBID SYSPLEX.
TYPETPMX 38.039 Support for new INREI and JCLJJ in TYPETPMX.
Enhancements
TYPE116 38.037 MQMACCTQ/MQMACCT/MQCFSTAT/MQMQUEUE/ revisions.
TYPE113 38.035 TYPE113 Counters EXTND247/252/264/265 now labeled.
TYPEVMXA 38.019 z/VM VXAPLSLM variable SHARERAM zero if not RHEL8.
TYPE89 38.034 APAR OA59002 corrects TYPE89 var SMF89UZT values.
==MAJOR CHANGES ADDED IN MXG 38.01, DATED Feb 17, 2020 THRU 38.027.
ERRORS CORRECTED
CONFIMXG 38.004 MXG 37.37 only, 1024 should be OPEN_ED=1047.
TYPE80A 38.017 INPUT EXCEEDED due to a HOME segment with no data.
ANALID 38.010 ERROR "OPTORG4" if you changed SMFAUDIT to NO.
UTILBLDP 38.008 Error after Change 37.149 if first USERADD is IDMS.
New Product Support
FORMATS 38.020 Support for SMF73CPT 33/34 connection types.
TYPE102 38.019 Support for DB2 APAR PH18739 var QW0389IT in T102S389
TYPEIMS 38.014 Support for APAR PH14569/PH21001 IMS 22 log record.
TYPEBETA 38.013 Support for BETA (93) and BETA97 Version 7.1.0
TYPEBE97 38.013 Support for BETA (93) and BETA97 Version 7.1.0
TYPE42 38.011 Support for APAR OA57718, zHyperLink TYPE42DS stats.
TYPEIAM 38.006 Support for IAM 9.3 Spin 3 INCOMPATIBLE inserts.
FORMATS 38.003A R744HOPM $MG074HO new '50x:CL5 10GBIT/S CEE ROCE'.
TYPEIDMS 38.003 IDMSTAS UOW/NETNAME added, TASUFLD1-3 corrected.
TYPETMS5 38.002 Variables BYTEPRC and BESKEY added to TMS/DSNBRECD.
BUILDIMS 38.001 All selections now work, new INPUTCLNR variable.
New Analysis/Reporting
ANAL95TH 38.018 PROC TABULATE 95th pct response stats CICSTRAN/JOBS.
ANALATNC 38.005 Report Code for Latent Demand analysis, examples of
reports: https://www.mxg.com/downloads/analatnc
DOCVLONG 38.012 Creates a DOCVLONG with all DOCVER data on one line.
ANALSIIS 38.009 Analysis of Store Into Instruction Stream enhanced.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M7 (9.4M7),
"M7", or with options VERSIONLONG;
"SAS 9.4 (9.04.01M7P080520)" on z/OS
9.4 (TS04.01M7P08052020)" on ASCII.
SAS V9.4 M7 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.128 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But CONFIMXG is required for sites with NLS issues, and you must
use JCLCONFI to create/update the MXG.FORMATS catalog if you use
CONFIG='MXG.SOURCLIB(CONFIMXG)'.
For no NLS, you can use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 36.11 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 4.1 USER 4037 ABEND, See Change 37.116.
WPS Version 4.0 reportedly fixed version 3 problems.
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
Support for counter changes for both models was in MXG 37.08.
If you use MIPS in reports, the format $MGRMIPS provides the
MIPS/MSU value for each processor; the z15 values were updated
in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
GRAFWRKX and TYPERMFV (RMF III).
The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs. Change 38.048.
The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
(which are written if you have zIIP engines AND have enabled the new
PROCVIEW CORE option for Multi-Threading, even if only one thread is
enabled).
The new zEDC/EADM compression hardware requires MXG 38.05 to support
new metrics.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166 37.07.
z/OS 2.4 Compatible from SMF Manual May 2020 38.105 38.05.
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
z15 New SMF 113 fields INCOMPAT Nov 18, 2020 37.08
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS-TS/5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS-TS/5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS-TS/5.3 GA date Dec 11, 2015 33.33
CICS-TS/5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS-TS/5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS-TS/5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS-TS/5.4 GA Jun 17, 2017 35.03
CICS-TS/5.5 GA (INCOMPAT) Jan 29, 2018 36.11
CICS-TS/5.6 GA (INCOMPAT) Jun 1, 2020 38.07
CICS-TS/5.6 NEW DATA (COMPAT) Oct 5, 2020 38.09
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
z/VM 6.40061802 ABEND Jan 17, 2019 37.02
z/VM 7.1 INCOMPAT ABEND Feb 14, 2019 37.02
z15 z/VM MFC counters, INCOMPAT Mar 23, 2020 38.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2, 5.3, 5.4 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 38.38.
1. Incompatibilities introduced in MXG 38.38:
a. Changes in MXG architecture made between 38.38 and prior versions
that can introduce known incompatibilities.
IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
The error before this correction will be:
ERROR: DATA SET "PDB.TYPE70" was not specified on the DATAA stmt.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 38.38:
Dataset/
Member Change Description
ANAL95TH 38.018 PROC TABULATE 95th pct response stats CICSTRAN/JOBS.
ANALATNC 38.005 Report Code for Latent Demand analysis, examples at
https://www.mxg.com/downloads/Latent_Demand
ANAL119 38.073 Cleanup and removal of a typo.
ANAL119 38.150 Errors corrected if you didn't have //IPHOSTS file.
ANALAVAI 38.183 Enhanced reporting on availability.
ANALID 38.010 ERROR "OPTORG4" if you changed SMFAUDIT to NO.
ANALINIT 38.083 Enhanced JOB EXEC/QUEUED/HELD/etc analysis
ANALSIIS 38.009 Analysis of Store Into Instruction Stream enhanced.
ANALSIIS 38.149 SM113TM replaced by TIMESTMP for better match up.
ASCII 38.091 MXG on Windows, AV Products, LOCK NOT AVAILABLE
ASMRMFV 38.064 Support for APAR OA58759, caused Condition Code 4.
ASMRMFV 38.082 ASMRMFV FDF Support for new tables.
ASMRMFV 38.128 Field Data Filter FDF Support adds XCFG3, FDF fix.
ASMRMFV 38.181 New Field Data Filter support for CFIG3 table.
ASMRMFV 38.226 MXG 38.09-10. RMF III CFIG3 record error.
ASMVVDS 38.197 Updates to read VVDS records and output to file/SMF.
ASUM113 38.201 New z/15 EXTND256-EXTND287 were not kept in ASUM1131.
AUTOINST 38.054 ASCII Unique INSTREAM needed for Concurrent Sessions.
BLDSMPDB 38.081 MXG 38.01 only. BLDSMPDB WEEKLY JOB ABENDS, typo.
BUILDIMS 38.001 All selections now work, new INPUTCLNR variable.
CMF+RMF 38.095 Variable CMFPROD to select CMF vs SMF if both are on.
CONFIMXG 38.004 MXG 37.37 only, 1024 should be OPEN_ED=1047.
DOCVLONG 38.012 Creates a DOCVLONG with all DOCVER data on one line.
FORMATS 38.003A R744HOPM $MG074HO new '50x:CL5 10GBIT/S CEE ROCE'.
FORMATS 38.020 Support for SMF73CPT 33/34 connection types.
FORMATS 38.080 Support for z15 T02 values in $MGRMIPS format.
MANY 38.105 Support for May 2020 SMF Manual Changes zOS 2.4.
READDB2 38.147 ACCTSORT=NO caused redirects to not be honored.
SAS 38.087 ERROR: Utility File Open Failed PROC MEANS/SUMMARY.
TECHNOTE 38.199 Compressed SMF 110 expensive without EXITCICS on z/OS
TYPE102 38.019 Support for DB2 APAR PH18739 var QW0389IT in T102S389
TYPE102 38.077 SMF102 IFCID 143/144 increase length QW014xUR.
TYPE102 38.117 Support for DB2 APAR PH15111 for IFCID 365. SMF 102.
TYPE102 38.179 Support for DB2 ZPARM MFA_AUTHCACHE_UNUSED_TIME.
TYPE110 38.060 Long Running CICS Trans, SMF 110 every hour.
TYPE110 38.060 SET MONITOR FREQ hourly CICSTRAN for long runners.
TYPE110 38.084 Support for CICS/TS 5.6 (INCOMPAT, FIELDS INSERTED).
TYPE110 38.099 CICS Statistics Records revisions.
TYPE110 38.114 New CICSRDUR/URIMAP, CICSRDWB/WEBSVC datasets.
TYPE110 38.114 New CICSRDUR/URIMAP, CICSRDWB/WEBSVC datasets.
TYPE110 38.168 Support for CICS/TS 5.6 STID=43, 46, and new STID=61.
TYPE110 38.205 SMF 110 ST 1 MNSEGCL=5 INPUT STATEMENT EXCEEDED.
TYPE112 38.040 OMEGAMON TEMS St 38 INVALID ARGUMENT LENGTH CHANGED.
TYPE113 38.035 TYPE113 Counters EXTND247/252/264/265 now labeled.
TYPE116 38.037 MQMACCTQ/MQMACCT/MQCFSTAT/MQMQUEUE/ revisions.
TYPE119 38.068 Support for Comm Server SMF 119 Subtype 11 ZERT data.
TYPE119 38.156 Tokens for TYP11924/11925 were not in _N119.
TYPE123A 38.061 Datetime values were 2080 instead of 2020, MXG error.
TYPE16 38.164 Support for APAR PH03207 for DFSORT ZSORT stats.
TYPE30 38.093 Support for APAR OA59126, dataspaces variables.
TYPE30_6 38.072 Revised deaccumulate for accumulated subtype 6.
TYPE38 38.178 Support for z NetView 6.3 Subtype 4 Command stats.
TYPE42 38.011 Support for APAR OA57718, zHyperLink TYPE42DS stats.
TYPE42 38.067 Yet another TYPE42 invalid LENSR in subtype 5 42's.
TYPE42 38.079 Support for APAR OA59541 for Type 42 Subtype 27.
TYPE42 38.204 TYPE 42 ST 5 incorrect MXG logic INPUT EXCEEDED.
TYPE42 38.216 Support for APAR OA59581 new TYPE42DS SYNC fields.
TYPE50 38.177 VSAM Tuning data sets were misaligned.
TYPE62 38.041 Support for APAR OA57105, adds JOBID SYSPLEX.
TYPE64 38.041 Support for APAR OA57105, adds JOBID SYSPLEX.
TYPE70 38.031 Support for APAR OA56683 SMFBOOST System Recovery
TYPE70 38.055 PCTMVSBY incorrect after 37.123. (NOT PCTCPUBY!!!).
TYPE7072 38.103 MXG 38.03/38.04 TYPE7072 fails if //PDB is on TAPE.
TYPE7072 38.106 Support for APAR OA59330 new variables in TYPE7002:
TYPE7072 38.126 SMF sysplex data with SMF Logger INTERLEAVES ALL SMF.
TYPE70PR 38.215 TYPE70PR vars CP70BPS/ZIP70BPS/CP70ACS/ZIP70ACS wrong
TYPE73 38.038 Variable SHIFT was not populated.
TYPE74 38.089 Support for new EADM variables in TYPE7410.
TYPE74 38.098 Support for SMF 74 CMF from BMC PTF BQM12658/59.
TYPE74 38.152 Support for APARs OA58724/58729 new Monopoly in ST=4.
TYPE78 38.097 Support for APAR OA56684 TYPE78IO EADM/SCM variables.
TYPE80A 38.017 INPUT EXCEEDED due to a HOME segment with no data.
TYPE83 38.090 SMF 83 ST 3 INPUT STATEMENT EXCEEDED.
TYPE85 38.100 Support for SMF 85 OAM Cloud Tier.
TYPE89 38.034 APAR OA59002 corrects TYPE89 var SMF89UZT values.
TYPE90A 38.220 z/OS 2.2, MXG 38.09-10 SMF 90 ST 9 ABEND INPUT EXCEED
TYPE92 38.222 Support for APAR OA60306, adds 8-byte memory fields.
TYPEBE97 38.036 Support for BETA (93) and BETA97 Version 7.1.0
TYPEBETA 38.036 Support for BETA (93) and BETA97 Version 7.1.0
TYPEBETA 38.200 Support for BETA93 and BETA97 new data and updates.
TYPECIMS 38.058 CIMS/IMF CIMSDBD/DB2/MQ Zero Obs 37.37-38.02
TYPECMFV 38.063 CMF VSAM INVALID DATA messages, wrong informat.
TYPEDB2 38.062 Support DB2 APAR PI92652,PI82191 and DPAGE support.
TYPEDB2 38.075 Support for APAR PH14037 DB2ACCTP QPACPKID truncated.
TYPEDB2 38.096 Support for APAR PI98851 new variables DB2STATS.
TYPEDB2 38.117 Support for DB2 APAR PH16111 SMF 100 Locations.
TYPEIAM 38.006 Support for IAM 9.3 Spin 3 INCOMPATIBLE inserts.
TYPEIDMS 38.003 IDMSTAS UOW/NETNAME added, TASUFLD1-3 corrected.
TYPEIMS 38.014 Support for APAR PH14569/PH21001 IMS 22 log record.
TYPEMVCI 38.116 Support for BMC Mainview for CICS 7.1 (COMPATIBLE).
TYPERMFV 38.124 Many dupes in ZRBXCG/XCP/XCS datasets.
TYPESARR 38.088 Support for CA View SARR SMF Subtypes 34 and 35.
TYPESVIE 38.057 Support for SYSVIEW Subtype 2 record one min detail.
TYPESY2K 38.221 Support for SYSTEM 2000 Flat File.
TYPESYNC 38.214 New SYNCSORT zIIPSaver add-on variables.
TYPETMO2 38.228 Support for TMON/CICS 4.1 revisions, INSTREAM TMON.
TYPETMS5 38.002 Variables BYTEPRC and BESKEY added to TMS/DSNBRECD.
TYPETPMX 38.039 Support for new INREI and JCLJJ in TYPETPMX.
TYPETPMX 38.102 Support for Thruput Manager TMT7123/TMT7124 Jul 2020.
TYPEVMXA 38.019 z/VM VXAPLSLM variable SHARERAM zero if not RHEL8.
TYPEVMXA 38.047 z/VM MONWRITE 6.4.19.1 z15 INCOMPATIBLE.
TYPEXAM 38.059 zVPS XAMCUV LCPUID=96 Totals records now deleted.
TYPEXCOM 38.069 XCOM input did not skip the 461 bytes added in 12.0.
UCICSCNT 38.085 Enhanced counts/bytes for SMF 110 including STIDs.
UTILBLDP 38.008 Error after Change 37.149 if first USERADD is IDMS.
UTILBLDP 38.157 BUILDMXG fails if you didn't specify OUTFILE=.
UTILBLDP 38.224 ERROR: OPTION NOT FOUND if UTILBLDP has SUPPRESS=ID
UTILEXCL 38.180 Optional "Candle" CICS segment kept wrong variables.
UTILROLL 38.065 UTILROLL example to combine PDBs created every 4hr.
VMACSMF 38.033 SMF Signature Type 2 St 1/2 MANY BACK2BACK LOG msgs
VMACSMF 38.051 SAS FTP Access Method &MXGABND=1 set to print errors.
VMXG70PR 38.142 Support for ASUM70WK and ASUM70P3 to keep full hours.
VMXGDUR 38.145 If interval LT actual duratm, warning printed.
VMXGINIT 38.046 SAS Option REUSE=YES is forced to REUSE=NO DEFAULT.
VMXGOPTR 38.056 ANALHSM caused Error "SAS Option Name OPTIONS 1".
VMXGSUM 38.223 VMXGSUM ignored %LET MXGCLASSNWAY=YES, DSN NOT FOUND.
TYPEXAM 38.234 zVPS/XAM datasets XAMIFLBY & XAMIFLTO have zero obs.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at https://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== CHANGES THRU 38.234 ARE IN MXG 38.38 DATED Jan 4, 2021 ========
Change 38.234 zVPS/XAM datasets XAMIFLBY & XAMIFLTO now have zero obs.
VMACXAM Dataset XAMCPUTO contains the CPID=TOTAL/GPs/IFLs types
Dec 29, 2020 (TOTAL is all engines, GPS GP engines IFLS IFL engines)
for each interval. (Previously only had TOTAL and GPS).
The individual CPnn engine values are in XAMCPUBY and the
PFXCPUTY variable identifies if the engine is GP or IFL.
-HEX format added for CALMNEST RCCTOPDS DSVASSOC DSVUNPRK
-CPID is UPCASED so GPs or IFLs values will be GPS/IFLS.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 38.233 Six variables added to TRNDRMFI:
VMXGRMFI MAXZIPBY - maximum PCTZIPBY
Dec 23, 2020 MAXZIPTM - maximum ZIP time
MAXZIETM - maximum ZIP eligible time
MAXCPUTM - maximum CPU time
CPCFNAME - processor type
LPARSHAR - initial LPAR share
to prevent UNINIT messages and missing values using
GRAFWRKX with PDB=TREND.
Change 38.232 ANAL119 report TNRPTS has TTTELUNA/APIREMOT UNINITIALIZED
ANAL119 if there is no //IPHOSTS file. Logic to read IPHOSTS was
Dec 21, 2020 revised to skip incomplete entries.
====== CHANGES THRU 38.231 WERE IN EARLY ADOPTER 38.38 Dec 23, 2020 ====
Change 38.231 GOUT is suppressed when running WPS since WPS does not
GRAFCEC support graphic catalogs. These members also did not
GRAFWRKX recognize PDB=TREND and printed blank pages when the
Dec 18, 2020 response variable was missing values in all OBS. Both
issues were corrected.
Change 38.230 -The UTILWORK report helps you set up RMFINTRV WORKLOADS.
UTILWORK If the sum of CPUTM from service classes is greater than
Dec 31, 2020 the sum for report classes that means not all workloads
have a report class defined and you may not use report
classes to define workloads. Now USERPRT is set to NO to
force using service class.
-If you have an environment with multiple plexes then the
WLM policies may be different. UTILWORK now adds SYSTEM
and SYSPLEX to the skeleton RMFINTRV member. These can be
removed in your editing of the member if they are not
needed in your environment.
Change 38.229 Four variables added to TRNDRMFI:
VMXGRMFI MAXZIPBY - maximum PCTZIPBY
Dec 18, 2020 MAXZIPTM - maximum ZIP time
MAXZIETM - maximum ZIP eligible time
MAXCPUTM - maximum CPU time
Change 38.228 Support for TMON/CICS changes to 4.1, INCOMPATIBLE
IMACTMO2 No ERROR Messages, but INVALID Values because fields were
VMACTMO2 increased from 4 to 8 bytes.
Dec 16, 2020 -MONIARQ dataset, TAARQRCN was increased to 8 bytes,
misaligning TAARQRTM,TAARQRCN,TAARQWTM TAARQTXT,TAARQICT
which were also increased to 8 bytes.
-MONISYS dataset. TIHDASSZ and TITERILG byte counts have
some negative values; they were 1E19 when INPUT as PIB8.
-MONITASK dataset PRIINCHR byte counts can be negative.
Variable FILEIOCN was increased to 8 bytes causing
FCDELCN,FCGETCN,FCBROCN,FCADDCN and FCUPDCN to be wrong
and those fields were also increased to 8 bytes.
-MONIEXT dataset. All EBCDIC64 variables translate '00'x
to a blank.
-MONIDBDS dataset, for DB2 the VOLSER starts with two null
bytes and only the last four bytes are populated.
-MONIAWT dataset. TAAWTTCN was increased to 8 bytes
misaligning TAAWTTTM TAAWTFLG TAAWTWRC TAAWTWRT variables
that were also increased to 8 bytes.
-MEMBER IMACTMO2 example enables TMON exit in SYSIN; using
the EXITMON6/TMON Infile Exit saves significant CPU time.
Thanks to MP Welch, Bank of America. USA.
Change 38.227 SMF 119 Subtype 3 FCBYTES with z/OS 2.1 is wrong; there
VMAC119 are two inputs, the original PIB8 64-bit binary field and
Dec 16, 2020 the RB8 float field added to support larger values. Data
records with valid binary (9.2 million) and invalid float
(1.16225) values are created, and that float value is the
one that is output. This change inputs float as FCBYTES2
IF FCBYTES2 GT FCBYTES THEN FCBYTES=FCBYTES2;
Thanks to Perry Lim, MUFG Union Bank, USA.
Change 38.226 -ASMRMFV when processing RMF III CFIG3 can issue a warning
ASMRMFV message: RMFV035W **WARNING: DETAIL nnn CFI TABLES
Dec 14, 2020 SKIPPED DUE TO VALIDATION ERRORS : ***PLEASE CONTACT
SUPPORT@MXG.COM***
-Change number 38.188 incorrectly altered CFIG3 table
processing when validating Connection entries.
-Affects only ASMRMFV at 38.188 level,MXG version 38.09-10
Thanks to MP Welch, Bank of America, USA.
Thanks to Gary Wyper, Natwest, ENGLAND
Thanks to Rob D'Andrea, Natwest, ENGLAND.
Change 38.225 WPS did not support Views so the MXG Defaults MXGVIEW=NO.
VMXGINIT Current WPS versions now support views. You can use
WPSVIEWS //SYSIN DD
Dec 12, 2020 %INCLUDE SOURCLIB(WPSVIEWS);
to enable their use to save CPU and I/O resources.
Change 38.224 ERROR: OPTION NOT FOUND if your UTILBLDP has SUPPRESS=ID
ANALID to prevent that dataset from being created. Originally in
UTILBLDP Change 38.056, and partially corrected in 38.174, this
Dec 12, 2020 change protects ANALID for DONEANALID case.
Change 38.223 If you used %LET MXGCLASSNWAY=YES in SYSIN for %VMXGSUM,
VMXGSUM to set CLASSNWAY=YES, VMXGSUM ignored it and it caused an
Dec 12, 2020 ERROR: DSNAME NOT FOUND trying to delete VMXGSUM1. See
Change 34.137 which introduced CLASSNWAY.
Change 38.222 Support for APAR OA60306 which adds 8-byte memory metrics
VMAC92 for more than 2GB in type 92 subtype 12 and 23 records:
Dec 10, 2020 TYPE9212: SMF92MLSZ='BYTES*BEING*MEMORY*MAPPED'
TYPE9213: SMF92MULSZ='BYTES*BEING*MEMORY*MAPPED'
Change 38.221 Support for SYSTEM 2000 Flat File, work in progress.
EXSY2KA
EXSY2KB
EXSY2KC
EXSY2KD
IMACSY2K
TYPESY2K
TYPSSY2K
VMACSY2K
VMXGINIT
Dec 9, 2020
Change 38.220 z/OS 2.2, MXG 38.09-.10 SMF 90 ST 9 ABEND INPUT EXCEEDED
VMAC90A RECORD LENGTH because MXG added INPUT of SMF90STE in MXG
Dec 5, 2020 Change 38.186 SMF Manual Update, but IBM added that field
in z/OS 2.3. Now, it is kept and INPUT if it exists.
Use this statement in //SYSIN to circumvent the ABEND:
%LET MACFILE= %QUOTE(IF ID=90 AND SUBTYPE=9 THEN DELETE;);
The subtype 9 is only written for an IPL SMF event,
Thanks to Randy Hewitt, DXC, USA.
Change 38.219 -Labels for S42DSGSR/S42DSLSR/S42DSRLS/S42DSNSR removed
VMAC42 "COMPRESSED"; only if S42DSEFC='Y' are they compressed.
Dec 10, 2020 Labels S42AMRIB/S42AMWIB are now VSAM*BYTES*read/write,
S42DSHWR label corrected to COUNT and S42DSIOS changed.
to S42DSIOS='TOTAL METRO*MIRROR*IO-S'.
Thanks to Michael Friske, FMR, USA.
Change 38.218 Change 36.049 added and extra / causing a failure to
VGETALOC communicate with the operating system and could result in
Dec 3, 2020 no allocations and a failure of a following VMXGSET. Now
there should be only 1.
Thanks to Ken Pressley, SRPNET, USA.
Change 38.217 -NOTRAN attribute support for WPS is added in VMXGINIT so
VMXGINIT that z/OS WPS datasets can be downloaded to ASCII and the
TESSOTHR $HEX formatted variables will not be translated. See
VMACXDFG Change 27.014 for the &MXGNOTRA/&MXGNOTRB addition.
VMACXDNS -TESSOTHR and the six VMACXDxx members were updated for
VMACXDSP WPS QA. A test for &SASVER prevented their WPS execution.
VMACXDSS
VMACXDTI
VMACXDTS
Dec 8, 2020
Change 38.216 Support for APAR OA59581, new TYPE42DS variables:
VMAC42 S42SNTWK='SYNC*WRITES*HYPERLINK*NOT PERFORMED'
Dec 10, 2020 S42SNTWV='SYNC*WRITES*RESERVED*DEVICE'
S42SNTWY='SYNC*WRITES*HYPER DISABLED*TOKEN ERROR'
S42SNTWU='SYNC*WRITES*HYPER DISABLED*COPY'
S42SNTWF='SYNC*WRITES*HYPER DISABLED*PAGE BOUNDARY'
S42SNTWQ='SYNC*WRITES*HYPER DISABLED*INVALID'
S42SNTWZ='SYNC*WRITES*HYPER DISABLED*ZHPF DISABLED'
S42SNTWW='SYNC*WRITES*HYPER DISABLED*INTERNAL ERR'
S42SNTWH='SYNC*WRITES*HYPER DISABLED*DUAL LOGGING'
S42SNTDR='SYNC*WRITES*DUAL*LOGGING'
S42SNTDX='SYNC*WRITES*HYPER DISABLED*ASYNC'
S42SNDWI='SYNC*WRITES*ASYNC*INVALID*TOKEN*/
S42SNDWK='SYNC*WRITES*ASYNC*ZHYPERLINK*/
S42SNDWV='SYNC*WRITES*ASYNC*RESERVED*DEVICE*/
Change 38.215 TYPE70PR variables CP70BPS/ZIP70BPS/CP70ACS/ZIP70ACS were
VMAC7072 sometimes incorrectly populated and were a missing value
VMXG70PR in ASUMCELP dataset. The variable labels were corrected.
Nov 27, 2020
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 38.214 New variables in dataset SYNCSORT by zIIPSaver add-on:
VMACSYNC SYNCMPIN $CHAR1. /**CMPI*NOGO*REASON*CODE*/
Dec 1, 2020 SYNCMPON $CHAR1. /**CMPO*NOGO*REASON*CODE*/
SYNCMPRT &PIB.2. /**COMPRESSION*RATIO*SORTOUT*/
Variables CPUZIPTM and CPUCPTM are now correctly located
and correctly input. The DSECT does not match the data.
Thanks to Glen Bowman, Wakefern, USA.
====== CHANGES THRU 38.213 ARE IN MXG 38.10 DATED Nov 23, 2020 ========
Change 38.213 New DB2STAT1 (IFCID=0002) APAR PH29098 variables:
VMACDB2 QISTINPR ='IAG2*PIPE*RENABLE*ATTEMPTS'
Nov 21, 2020 QISTINPE ='IAG2*PIPE*RENABLE*SUCCESS'
QISTCONDLKF='CONDITIONAL*LOCK*FAILURES'
QISTRETRYLK='UNCONDITIONAL*LOCK*RETRIES'
Change 38.212 In the TYPE70EN dataset, when the engine was parked for
VMAC7072 the full interval, PCTCPUBY and PCTMVSBY could be small
Nov 20, 2020 negative values due to resolution differences in DURATM
with 2 decimals and SMF70PAT with 6. Now, the negative
value is replaced with zero.
Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.
Change 38.211 New variables added in Oct 25, 2020 SMF Manual:
VMAC7072 -Dataset TYPE72TR new variables
VMAC89 R723GMLT='GGMN/GGMX*ARE IN*MSU/HR?'
VMAC78 R723GMLZ='ZIP*INCLUDED*GGMN*GGMX?'
Nov 20, 2020 -Dataset TYPE892 new variables
BOOSTACTIVE BOOSTCLASS (were in TYPE89 but not TYPE892)
-Dataset TYPE78VS new variables
R782FLG='RUCSA*IS*DEFINED?'
R782RUCA='RUCSA*ADDRESS*BELOW*16M'
R782RUCS='RUCSA*SIZE*BELOW*16M'
R782ERUCA='RUCSA*ADDRESS*ABOVE*16M'
R782ERUCS='RUCSA*SIZE*ABOVE*16M'
Change 38.210 New variables added to TYPE9040 dataset SMF 90 ST 40:
VMAC90A SMF9040ID='ID OF*START*REQUESTOR'
Nov 19, 2020 SMF9040DU='RECOVERY*PROCESS*BOOSTS*DURATION'
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.209 zERT variable SMF119SC_TLS_PROT_VER format $MG119PX now
FORMATS decodes '0304'x as TLSV1.3.
Nov 19, 2020
Thanks to Thomas Liu, ANZ, AUSTRALIA.
Change 38.208 Variable RESPAVG is added to ASUMCICS/ASUMCICT/TRNDCICS
ASUMCICS as it already existed in ASUMCICX. Variable IRESPTM is
ASUMCICT the SUM of all transaction response times.
TRNDCICS
Nov 18, 2020
CHANGE 38.207 If you are rolling up interval data to weeks and your
TECHNOTE week does not start on Monday you can use the STARTDAY
VMXGDUR macro variable to start weeks on the day of the week
TRND**** you choose by inserting this line in IMACINIT or any
Nov 18, 2020 code where you are using VMXGDUR to summarize data to
a week (all of the TRND**** members).
%LET STARTDAY=day 1 of MON TUE WED THU FRI SAT SUN
Change 38.206 Format MG116CT for TYPE116 variable QCSTCHTY in dataset
FORMATS MQCHININ had 9='9:DLUSSCR' typo, now is 9='9:CLUSSDR'.
Nov 18, 2020
Thanks to Rob Hollingum, HSBC, ENGLAND.
Thanks to Matt Crawford, HSBC, ENGLAND.
Change 38.205 SMF 110 St 1 MNSEGCL=5 Resource Record extra 14 bytes
VMAC110 caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Nov 18, 2020 WHILE (LENLEFT GT 0) changed to WHILE (LENLEFT GT 140).
You can circumvent with this added to your //SYSIN:
%LET IHDR110= %QUOTE(IF MNSEGCL=5 THEN DELETE;) ;
Thanks to Martha A. Knapik, Progressive, USA.
Thanks to Craig S. Bigler, Progressive, USA
Thanks to Diana L. Laskovich, Progressive, USA.
Change 38.204 Type 42 St 5 MXG logic to correctly calculate SRLEN was
VMAC42 exposed to INPUT STATEMENT EXCEEDED LENGTH error because
Nov 17, 2020 SRLEN=160 is valid, but the optional SYNC segment length
Nov 19, 2020 is included in SRLENGTH=OFFVOL-OFFSR which misled to
the incorrect recalculation, which is now bypassed.
Thanks to Andrew Petersen, DXC, AUSTRALIA.
Change 38.203 CHANGE 37.267 added an ERROR:INCORRECT ENCODING message
VMXGINIT on the log, but the code was inserted before &OPSYS was
Nov 17, 2020 populated, so the message was never printed.
Thanks to John Compton, World Programming, ENGLAND
Change 38.202 Variable DCDCTYPE='COMPRESSION*TYPE' was not kept in the
VMACDCOL DCOLDSET dataset.
Nov 16, 2020
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 38.201 The new z/15 TYPE 113 counters EXTND256-EXTND287 were not
ASUM113 kept in the PDB.ASUM1131 dataset. Only EXTND264/EXTND265
Nov 11, 2020 are described, and neither is used in any calculations.
but now, all will exist, and be populated if on z z/15.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 38.200 Support for BETA 93 and BETA 97 new data and corrections:
EXTYBETO -New variables added to dataset BETA50:
EXTYBETU BETAINDI='IP*ADDRESS*INDICATOR'
FORMATS BETAIFLGS='ADDRESS*TYPE*INDICATOR'
VMACBE97 BETAHOSTPORT='HOST*PORT'
VMACBETA BETASERVPORT='SENDING*PORT OF*SERVER'
VMXGINIT BETAIPHOST ='HOST*IP*ADDRESS'
Nov 17, 2020 BETAIPCLIENT='WEB*BROWSER*CLIENT*IP'
BETAIPSERV ='WEB*APP SERVER*IP'
BETAIPSERVI ='WEB*INTERNAL*FORMAT'
BETALUSED='LDD*TABLE*USED?'
BETALJOBN='MASK USED*JOB*NAME*FIELD'
BETALSTPD='MASK USED*STEP*NAME*FIELD'
-Two new BETA 93 datasets from subtype 43
DDDDDD DATASET DESCRIPTION
TYBETO BETA43 ST43 ARCHIVE DATE CHANGE
TYBETU BETA43DS ST43 CHANGE DATASETS
-Corrections to BETA93 subtypes 50 and 55.
-Corrections to BETA97 subtypes 0, 22, 51 and 55.
Thanks to Andreas Menne, Finanz Informatik, GERMANY
Change 38.199 Processing compressed SMF 110 Records without the INFILE
TECHNOTE decompression exit (EXITCICS) is VERY expensive on z/OS.
Nov 24, 2020 Each test processed the same 50000 110 records & created
668,652 OBS in CICSTRAN.
Uncompressed records were 7.4GB, compressed were 1.5GB.
STEPNR CPUTM SELAPSTM EXCP EXCP
3390 TAPE
zOS EXTRACT ONLY 110.1 0:03:23.39 0:05:04.72 5493 653324
zOS DFH$MOLS 0:00:12.84 0:00:55.97 2 93621 Xfer:
zOS READ COMP USE EXIT 0:00:20.56 0:00:20.56 42866 117MB/sec
zOS READ COMP NO EXIT 0:03:30.25 0:04:31.70 42870 3673KB/sec
zOS READ UNCOMPRESSED 0:00:12.12 0:00:17.20 63949 99MB/sec
Win FTP compressed 0:00:37.12 0:01:28.56 11MB/sec
Win FTP unpacked 0:00:43.45 0:02:03.78 12MB/sec
Win Read compressed FTP 0:03:32.10 0:03:36.68 3783KB/sec
Win Read unpacked FTP 0:00:56.40 0:02:06.41 12MB/sec
Win Read comp local 0:03:49.73 0:04:23.97 4590KB/sec
Win Read unpacked local 0:00:21.18 0:00:21.40 74MB/sec
Change 38.198 GOUT suppressed when running WPS since WPS does not
GRAFCEC support graphic catalogs.
GRAFWRKX
Nov 6, 2020
Change 38.197 -Updates to ASMVVDS program that reads VVDS records with
ASMVVDS output to a sequential flat file and/or output as SMF
JCLASMXG records.
Nov 4, 2020 -Default setting of 0 for @UCB31 (UCBs below 16MB) line
changed to a setting of 1 (UCBs above 16MB) which is more
appropriate for modern z/OS systems.
-Two assembly errors are also fixed.
-NOTE: ASMVVDS must be APF authorized. That requires parm
of AC(1) in program binder step and the load library must
also be authorized.
-See ASMVVDS source member for full installation and usage
instructions.
-Sample JCL for assembly and linkedit of ASMVVDS was added
to member JCLASMXG (which Assembles all MXG ASM program).
Thanks to Victor Li, Atos, Hong Kong
====== CHANGES THRU 38.196 ARE IN MXG 38.09 DATED Nov 4, 2020 ========
Change 38.196 New parameter COMPANY added with default of MXG to allow
GRAFWLM you to insert your COMPANY NAME in titles. The Parameter
NOV 4, 2020 list was sorted into alphabetic order..
Change 38.195 ERROR: WORK.CICSEXCE.DATA does not exist if SUPPRESS=110
UTILBLDP and BUILDPDB NE 'NO' were specified in your invocation;
Nov 4, 2020 the null _SCICEXC, _SCICSYS, _INTCICS macros were not
created, causing the ABEND.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== CHANGES THRU 38.194 ARE IN MXG 38.09 DATED Nov 2, 2020 ========
Change 38.194 Support for dataset TYPE80TK new variables:
VMAC80A TOKMACCOUNT TOKMP9ACTION TOKMTSSTATUS BUILDING TOKMDEPT
NOV 2, 2020 TOKMEMPNO TOKMLANG TOKMPRINTER TOKMPROVINCE
TOKMUSERTYPE TOKMLDAPPROF
Thanks to Gaetan Martel, INTACT, CANADA.
Thanks to Serte-TI Belanger, INTACT, CANADA.
Change 38.193 Correction for IDMSTAS variables TASUFLD1-TASUFLD3 input;
VMACIDMS the extra 8-bytes do not exist in TASTTYPE='40'x records.
OCT 31, 2020
Thanks to Dennis Jamiel, Travelport, USA.
Thanks to Marcos Villasenor, Travelport, USA.
Change 38.192 Support for ThruPut Manager TMT7124 update, which adds.
VMACTPMX these variables to dataset TYPETPMX:
OCT 30, 2020 TPMTMNOM='NUMBER*OF THIS*RECORD'
TPMTMNON='TOTAL*NUMBER OF*RECORDS'
TPMTMAPP='KNOWN APPLICATIONS'
TPMTMELR='ELAPSED*TIME ON*READER'
TPMTMCAC='CATALOG*CPU*TIME'
TPMTMCAE='CATALOG*ELAPSED*TIME'
TPMTMDJC='DAL/JAL*CPU TIME''
TPMTMDJE='DAL/JAL*ELAPSED*TIME''
TPMTMSSC='DTMSSREQ*CPU TIME'
TPMTMSSE='DTMSSREQ*ELAPSED*TIME'
TPMTMUXC='USER EXIT*CPU TIME'
TPMTMUXE='USER EXIT*ELAPSED*TIME'
TPMTMJ2C='JES2 INTERFACE*CPU TIME'
TPMTMJ2E='JES2 INTERFACE*ELAPSED*TIME'
TPMTMTLC='TAPE*LIBRARY*CPUT TIME'
TPMTMTLE='TAPE*LIBRARY*ELAPSED*TIME'
TPMTMANA='ANALYSER*START*DATETIME'
Change 38.191 Support for CICS optional HUMTRAN field INPUT $EBCDIC8.
UTILEXCL Change 38.115 had added support for $16 and $24 INPUTs.
OCT 29, 2020 Variable HUMTRAN is length $24 with either INPUT.
Thanks to Dave Baker, HCA Healthcare, USA.
Thanks to Lisa Gascoigne, HCA Healthcare, USA.
Change 38.190 The report of all job activity only printed the first 500
ANALJOBE lines of the report; now all lines are printed.
OCT 28, 2020
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 38.189 Format $MG119SP decodes variable SMF119SC_SASECPROTOS:
FORMATS VALUE $MG119SP /*$MG119SC FORMAT FOR VMAC119*/
VMAC119 '00'X='00X:NO PROTECTION'
Oct 28, 2020 '80'X='80X:TLS/SSL'
'40'X='40X:SSH'
'20'X='20X:IPSEC'
;
Thanks to Joe Faska, DTCC, USA.
Change 38.188 -New MXG variables EXECVEL (Execution Velocity) and
ADOCRMFV PERFINDX (Performance Index) are added to PDB data set
ASMRMFV ZRBRCDT (RMF III RESPTIME SERVICE CLASSES).
VMACRMFV -New MXG variable EXECVEL (Execution Velocity) added to
Oct 27, 2020 PDB data set ZRBRCDX (RMF III RESPTIME REPORTING
CLASSES).
-If for some reason a Response Time Distribution Array was
not present in the RCDG3 RMF III table the corresponding
Service Class or Report Class period would not be output
to the PDB.
-Rarely RMF III may generate an SSHG3 (Sample Set Header)
table where the sample begin datetime and sample end
datetime are the same. Effectively this is a null table
with zero samples. With this condition an Abend S002 in
ASMRMFV is possible.
-ASMRMFV will now detect this condition, then issue a new
RMFV023W message:
**WARNING: SAMPLE START/STOP DATE TIMES ARE IDENTICAL.
ENTIRE SAMPLE SET WILL BE SKIPPED***
and the entire SSHG3 table will be skipped and output to
the RMFSKIP DD file (if present).
-This condition may be due to the timing sequence in a
system shutdown process. Both RMFGAT and RMF Started
Tasks should be completely terminated before the process
continues.
-Warning message RMFV022W was not formatted correctly.
-Warning message RMFV023W was duplicated.
-Section 12 Messages in ADOCRMFV updated to include the
new RMFV023W message.
-TUTORIAL 1:
Execution Velocity is a WLM measurement based on system
states which are continuously collected by sampling.
System states describe when a work request uses a system
resource (a using state) and when it must wait for it
because it is used by other work (a delay state).
# Using Samples
Execution Velocity = --------------------------- * 100
# Using + # Delay Samples
Execution Velocities thus range from 0 to 100.
A value of 100 means the unit of work is running with no
WLM DETECTED delays. A value of 0 means the that unit of
work is not running at all either because it has no
access to the resources needed or it is idle.
The Execution Velocity formula does not include the
unknown state. This state includes delays not tracked by
WLM, such as locks or enqueues. So an Execution Velocity
of 100 does not necessarily mean the work unit is running
totally unencumbered.
-TUTORIAL 2:
Performance Index (PI) is a calculation of how well work
is meeting its WLM defined goal.
For work with response time goals, the Performance Index
is the actual response divided by the goal response.
For work with velocity goals, the Performance Index is
the goal velocity divided by actual velocity.
A Performance Index of 1.0 indicates the Service Class
period is exactly meeting its goal. A Performance Index
greater than 1 indicates the Service class period is
missing its goal. A Performance Index of less than 1.0
indicates the Service Class period is beating its goal.
Work with a Discretionary goal is defined to have a fixed
Performance Index of .81 . Service Classes for System
address space have no Performance Index as they do not
have goals.
Each Service Class period has a Sysplex and a Local
Performance Index.
The Sysplex Performance Index represents the performance
of a Service Class period across all systems in the
Sysplex. The RMF III SYSSUM report shows this assuming
it has access to all RMF III VSAM data sets for the
Sysplex in the time period being reported.
The Local Performance Index represents only the
performance on a single local system. PERFINDX in MXG
is a Local Performance Index.
Thanks to Rodger Foreman, Black Knight, Jacksonville, FL, USA
Thanks to Len Shenfield, ADP, Roseland, NJ, USA
Change 38.187 -If you suppressed CICSSTAT that also unintentionally
UTILBLDP suppressed ASUMUOW and ASUMCICX. Now if you want to
Oct 27, 2020 suppress ASUMUOW ASUMDBAA or ASUMDBSS you can add them to
the SUPPRESS= parameter by name. In the case of ASUMUOW
this also suppresses ASUMCICX but if you did not suppress
CICSTRAN then ASUMCICS is substituted. These four members
CICSSTAT ASUMUOW ASUMDBAA and ASUMDBSS are all resource
intensive, and if you don't use them you can save those
resources by suppressing them.
-If you suppressed ID and used BUILDPDB=JES3 you got an
error message that the type of VIEW could not be
determined. There were many other spots which looked only
for YES or NO that were fixed. The value of BUILDPDB is
now validated and if it is not blank, NO, YES, or JES3
UTILBLDP will end with error messages.
Change 38.186 MXG estimate of DOWNTM prior to an IPL used the PREVTIME
VMAC0 of the last record, but what was needed was the PREVTIME
VMAC90A of the ID=0 record, and the IPLTIME of the ID=0 is now
Oct 26, 2020 retained in TMP0TIME and used for the IPLTIME in the
DOWNTM calculation in the ID=90 ST=10 IPL SRM record.
-Processing ID=0 record, the GMTOFF was off by one second.
-Variable SMF90STE was INPUT, but see Change 38.220 ABEND.
Thanks to Tore Hansson, IBM Services, NORWAY.
Change 38.185 MXG 38.03 Change 38.051 set MXGABND=1 for missing SMFTIME
VMACSMF value when using the SAS FTP Access Method, because we
VMXGINIT have seen that associated with an FTP "hang" until it was
Oct 21, 2020 cancelled, and by forcing an ABEND you can avoid the hang
and if you've pointed the LOG option to a file, you can
see if there were other error conditions. But MXGABND is
is macro variable used in many members so you can choose
an ABEND instead of ERROR messages (like TYPE110, where
some sites want an ABEND alert when EXCLUDED FIELDS are
detected). In this case, the CPUTM GT ELAPSED condition
in TYPE110 tested MXGABND GT 0 and cause an unwanted
ABEND. Now, macro variable SMFMISS is created and can be
used to cause the abend when SMFTIME is missing using the
FTP access method, using %LET SMFMISS=NNN; in your SYSIN
to cause ABORT ABEND NNN instead of the ERROR and a hang.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 38.184 MXG 38.08. ERROR: File WORK.PDBTYPE70.DATA does not exist
VMXG70PR if you tailor and invoke %VMXG70PR with no PDB= argument.
Oct 19, 2020 We recommend you always use %INCLUDE SOURCLIB(ASUM70PR);
instead of putting a tailored VMXG70PR in USERID because
IBM changes may require incompatible changes in VMXG70PR,
but we can protect ASUM70PR from the need for change.
In general, if there is an ASUMxxxx that invokes VMXGxxxx
its always safer to use the ASUMxxxx member.
Thanks to Otto A. Burges, OPM, USA.
Change 38.183 -The detail report did not correctly report outages. The
ANALAVAI beginning was the beginning of the interval when it came
Oct 29, 2020 back up and the ending was the time when that interval
Nov 4, 2020 ended.
-A new month-to-date summary report was added and the
availability is now calculated as the
(uptime-outagetime + scheduledtime)/86400*100;
-Changed Parameter values:
CYCLE=M1 has not been changed but a null value will
let you accumulate many months of data.
- New Parameters:
MINOUTAGE=5 number of outage seconds to ignore
OUTCODE= a stub of code just after PCTAVAIL is
calculated
SCHEDULED= stub of code allowing you to specify
scheduled outages for each app.
see doc and examples in member.
Update in MXG 38.09 dated Nov 4, 2020:
If you were not very careful building schedules and
outages, duplicate obs could skew percentages. SORTS with
NDDUP added to eliminate duplicate obs. Also outages were
not carried into month totals resulting in availability GT
100%.
An Example of invoking %ANALAVAI:
When building schedules it is critical that you always
output either outages or scheduled for each app with a
schedule.
%ANALAVAI(
COMPANY=YOUR COMPANY,
SCHEDULED=
IF APP IN('SYSA','SYSB','SYSC')
AND WEEKDAY(DATE) = 1 THEN DO;
IF APP IN('SYSB','SYSA')
AND BEGSKED GE '03:00'T
AND ENDSKED LE '03:30'T
THEN OUTPUT SCHEDULED;
IF APP='SYSC'
AND BEGSKED GE '03:00'T
AND ENDSKED LE '04:00'T
THEN OUTPUT SCHEDULED;
ELSE OUTPUT OUTAGES; *critical statement;
END;
ELSE IF APP = 'PRODCICS' THEN DO;
IF WEEKDAY(DATE) NE 7
AND BEGSKED GE '23:15'T
AND ENDSKED LE '06:05'T
THEN OUTPUT SCHEDULED;
ELSE IF BEGSKED GE '23:15'T
AND ENDSKED LE '07:05'T
THEN OUTPUT SCHEDULED;
ELSE OUTPUT OUTAGES; *critical statement;
END;
ELSE IF APP = 'ADABAS' THEN DO;
IF WEEKDAY(DATE) EQ 1
AND BEGSKED GE '23:15'T
AND ENDSKED LE '02:05'T
THEN OUTPUT SCHEDULED;
ELSE OUTPUT OUTAGES; *critical statement;
END;
ELSE OUTPUT OUTAGES; *required final statement;
,
APP1=SYSB/SYSC IS UP/JES2,
APP2=SYSA/SYSA IS UP/JES2,
APP3=SYSC/SYSC IS UP/JES2,
APP4=SYSA/ADABAS/ADABAS,
APP5=SYSC/PRDCICS/CICSPTOR CICSPAOR CICCSPFOR,
DDIN=PDB,
ODSTYPE=,
TYPERUN=BUILDR
);
RUN;
Thanks to Shantanu.Gupta, ENSONO, USA.
Thanks to Ankush Dudhbavare, ENSONO, USA.
Thanks to Rahul Raj, ENSONO, USA.
Change 38.182 -If you specified BUILDPDB=NO with SUPPRESS=x you got an
UTILBLDP invalid compare on several FLAGxx macro variables used to
Oct 21, 2020 keep track of suppressed items for BUILDPDB. SUPPRESS= is
ignored when BUILDPDB is set to NO as the only records
read are those in USERADD=. Comments updated for MXGINCL.
-If you specified OUTFILE=XYZ and XYZ did not exist you
got an unresolved macro reference. On zOS you must have
a DD or a filename statement for the OUTFILE= parameter
unless you use the recommended INSTREAM.
-Comments added to handle products with multiple SMF IDs.
Thanks to Thomas Liu, ANZ. NEW ZEALAND.
Change 38.181 -New ASMRMFV Field Data Filter (FDF) support for the RMF
ADOCRMFV III Coupling Facility Information Table (CFIG3).
ASMRMFV -New Section 33 Filtering The CFIG3 Table added to
Oct 16, 2020 documentation member ADOCRMFV. Following section
numbers all incremented by 1.
-FDF filtering is supported for the Header, Coupling
Facility, Structure, and Structure Extension sections in
the RMF III CFIG3 table.
-After a Structure Extension section in CFIG3 with no
connections occurs, ASMRMFV did not output following
connection entries for subsequent Structure Extensions in
the same Coupling Facility to RMFBSAM.
-TUTORIAL:
The result of a FDF IF=/ORIF=/ANDIF= expression compare
is one of the following:
TRUE FALSE IGNORE
An expression is IGNOREd when:
1) The input RMF III data is for a release that does not
support the Fieldname. This is the most common reason.
IBM may have discontinued the Fieldname, moved it to
another offset with a different Fieldname, or added it in
a higher RMF release than the data being processed.
2) The RMF III table section containing the Fieldname is
absent. Not every section is always present in every RMF
III table. Some sections depend on RMF III startup
options.
NOTE: In the case of the CFIG3 table the Structure
Extension, Connections, and/or Storage Class Memory
sections may not exist. In some cases the Structure
and/or Channel Path sections may not exist. The CFIG3
does not exist at all for LPARs running as z/VM guests.
3) The known offset for Fieldname is beyond the length of
the table section being processed. This could be an
internal ASMRMFV or RMF III error.
4) ASMRMFV treats an IGNORE condition as a TRUE condition
and the data is NOT filtered.
-Example:
The Fieldname CFISTMAE is part of the Structure Extension
section in the CFIG3 table. But if NOCFDETAIL is in
effect in the RMF Monitor III start options, then the
Structure Extension section will not exist for that LPAR.
Assume there are 35,020 structures in the RMF III VSAM
file for the CFIG3 table. Recall that the table is
generated for each RMF III MINTIME interval.
The IF expression is:
RMFV002I SYSIN : IF=(CFISTMAE GT 0)
RMFV088I IF= : CFISTMAE GT 0 X'00000000'
The result will be:
RMFV080I COMPARES: TRUE= 0 FALSE= 0 IGNORE= 35,520
TOTAL= 35,520
Change 38.180 These optional "Candle" CICS segments' variables were not
UTILEXCL correctly kept in the _VCICTRN created by UTILEXCL:
Oct 14, 2020 CANFLAGS CANGMTOF CANUSRWK CANSUPRN CANSUPRT CANDCOMN
CANDCOMT CANRES01. The names in the "Link to IMACICxx:"
were in the wrong "xx:" labels.
Thanks to Shantanu Gupta, ENSONO, USA.
Change 38.179 Support for DB2 ZPARM MFA_AUTHCACHE_UNUSED_TIME value in
VMAC102 seconds in variable QWP4MFAT in T102S106 dataset.
Oct 14, 2020
Thanks to Lai Fai Wong, Bank of America, USA.
Change 38.178 Support for Z NetView 6.3 subtype 4 Command Statistics
EXTY3804 creates new dataset TYPE3804 which contains these
VMAC38 S38DCMDN ='COMMAND*NAME'
VMXGINIT S38DALTN ='COMMAND*ALTERNATE*NAME'
Oct 19, 2020 S38DPRNT ='PARENT*NAME'
S38DTSK ='NETVIEW*TASK*NAME'
S38DSTCK ='START*DATETIME'
S38DETCK ='END*DATETIME'
S38DSTCK ='CPU*TIME'
S38DSTG ='STORAGE*HWM'
S38DIOC ='TOTAL*I/O'
S38DAUSR ='AUTHORIZED*USER*NAME'
S38DELAP='ELAPSED*DURATION'
Thanks to Mark Tomlinson, Lloydsbanking, ENGLAND.
Change 38.177 VTAM Tuning SMF 50 record datasets 502R/502W/504R/504W
VMAC50 were misaligned.
Oct 16, 2020
Thanks to Thomas Doster, IBM, USA.
Thanks to Kristen Lamastr, IBM,USA.
Change 38.176 User tailoring %LET PDBMXG=yourdd; failed with PDB NOT
VMXG70PR FOUND if there was no PDB=LIBNAME argument, or ASUM70GC
Oct 9, 2020 and ASUM70GL were written to PDB instead of "yourdd" if
the PDB libname exists. MXG 38.08 only.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 38.175 MXG 38.08 only. Change 38.170 added support for suppress
UTILBLDP 115 and 116 records, but if you suppressed ID and did not
Oct 8, 2020 set VWVMACID to null you could get an error message from
SAS that the type of VIEW could not be determined, but
only with older SAS versions.
Change 38.174 The Change 38.056 "Error: Unrecognized SAS option name"
ANALID only occurred if ID was suppressed, now that's protected.
Oct 9, 2020
Change 38.173 The ANALID format for SMF 72.4 and 72.5 is changed from
FORMATS RMF I to RMF III because the data gatherer source for
Oct 6, 2020 both of those records written by RMF I is RMF III.
Thanks to Randy Hewitt, DXC Technology
Change 38.172 Variable ZCOSTIME is now numeric with DATETIME20. format.
VMACZCOS
Oct 6, 2020
Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.
Change 38.171 The title for the report for DEVMNTMX and DEVMNTAV was
ANALBVIR reversed and is now "INST MIN MAX AVG THRUPUT"/
Oct 5, 2020
Thanks to John Donoghue, AIB, IRELAND
Change 38.170 This utility to create tailored BUILDPDB input code adds
UTILBLDP MQ option to SUPPRESS= so both the 115 and 116 records
Oct 3, 2020 can be skipped.
Change 38.169 Corrected a JCL error in the IBM DFH$MOLS CICS program
DFH$MOLS that decompresses SMF 110 (SUBTYPE 1 ONLY) records.
Oct 2, 2020
Change 38.168 Support for new CICS/TS 5.6 Statistics Variables added to
EXCICXSG STID=43 (CICDQR), eliminate spurious message STID=46 that
SCICSORT new fields were added,and new CICXSG dataset from STID=61
VMAC110 SMF 110 Subtype 2 records.
VMXGINIT
Oct 5, 2020
Change 38.167 Labels for TYPE64 SINCE*OPEN and SINCE*CREATION were
VMAC64 reversed. Variables ACCLEVEL ACCNEXTS ACCNRECS ACCDELET
Oct 1, 2020 ACCINSRT ACCUPDAT ACCRETRV ACCUNUCI ACCISPLT ACCASPLT and
ACCEXCPS are SINCE*OPEN and variables INDXLVLS NREXTNTS
RECORDS DELETES INSERTS UPDATES RETRVALS UNUSEDCI
CISPLTS CASPLITS and EXCPS are SINCE CREATION.
Thanks to Michael Friske, FMR, USA.
Change 38.166 New utility that will help you decide if you should run
UTILUOW ASUMUOW and whether you should use CASE1 or CASE2 from
Oct 1, 2020 IMACUOW if you do decide to run it. ASUMUOW is used to
create the ASUMUOW observations for each UOW in an MRO
by combining the CICSTRAN observations from TOR/AOR/DOR
so you have the valid TRANNAME for the CSMI transactions.
If there is little use of MRO, then it is not worth the
CPU expense. And if there is MRO usage, you need to chose
CASE1 or CASE2 for your IMACUOW tailoring.
Change 38.165 Error "Attempt to open two sequential members" if PDBOUT
READDB2 is on tape (which we DO NOT RECOMMEND) and ACCTSORT=NO
Sep 30, 2020 is specified with READDB2. A circumvention that creates
only the below account datasets is to use TYPSDB2:
%cleardb2;
%let mackeep=%quote(
macro _sdb2acp data _lDb2acp; set _wdb2acp; %
macro _sdb2acr data _lDb2acr; set _wdb2acr; %
macro _sdb2acg data _lDb2acg; set _wdb2acg; %
macro _sdb2acw data _lDb2acw; set _wdb2acw; %
macro _sdb2pat data _lDb2pat; set _wdb2pat; %
);
%include sourclib(typsdb2);
But if your READDB2 did selection (like SSID), that PDB
could have a lot more observations, and any other IFCID
in the original READDB2 would not be created.
An alternative is to use READDB2 but point PDBOUT to a
temporary disk data library, and then PROC COPY to the
tape data library, so all selections are supported.
But the temp disk data library could be quite large,
and might require multi-volumes.
Change 38.164 Support for APAR PH03207 for DFSORT ZSORT statistics that
FORMATS are added to TYPE16 dataset:
VMAC16 ICECOLLK ='ACTIVE*COLLKEY*VALUE'
Sep 29, 2020 ICETCBT ='TOTAL*TCB*TIME'
ICEFLBY5 ='ZSORT*WAS*USED?'
ICEZSRNU ='ZSORT*NON*USAGE*CODE'
ICEZSFLG ='ZSORT*FLAGS'
ICEZSPH1 ='ZSORT*PH1*ELAPSED'
ICEZSPH3 ='ZSORT*PH3*ELAPSED'
ICESSTC1 ='ZSORT*PH1*TCB TIME'
ICESSTC3 ='ZSORT*PH3*TCB TIME'
ICEZSDIA ='ZSORT*DIAGNOSTIC*AREA'
ICEZSDIV ='ZSORT*DIAGNOSTIC*VERSION'
Note: you must specify DFSORT parameter SMF=FULL to
populate these ZSORT variables (Not SHORT).
Thanks to Sri H Kolusu, IBM DFSORT, USA.
====== CHANGES THRU 38.163 ARE IN MXG 38.08 DATED Sep 28, 2020 ========
Change 38.163 Support for APAR OA59813 which adds RECOVERY BOOST so new
VMAC30 value BOOSTCLASS='RECO' is added to IPL or SHUT values.
VMAC7072
VMAC89
VMAC90A
VMAC99
Sep 23, 2020
Change 38.162 Datasets ZRBCHP and ZRBSCM had zero observations because
VMACRMFV the test for valid length needed -1 subtracted
Sep 22, 2020
Change 38.161 Macro always looked for PDB rather than the value of
PDBAUDIT PDBAUDIT as it should have. Now it looks for PDBAUDIT and
Sep 21, 2020 if not found on zOS looks in EXTFILES and issues a
LIBNAME statement and if that is successful starts over.
On z/OS, if not successful, or if the LIBNAME's engine is
sequential, or on ASCII, if the LIBNAME is not found,
PDBAUDIT is set to WORK.
Thanks to MP Welch, Bank of America, USA.
Thanks to Randy Hewitt, DXC Technology, USA.
CHANGE 38.160 Initial support for dataset DB2NETZA new variables:
VMACDB2 Q8STTMUD='MEMORY*AVAILABLE*USER DATA*MB'
Sep 18, 2020 Q8STTMPS='MEMORY*AVAILABLE*FOR SQL REQ*MB'
Q8STCQLS='CURRENT*QUEUE*LENGTH'
Q8STOFLW='SORT*OVERFLOWS*IN*BACKEND8'
Q8STABHR='ACCELERATOR*BUFFER*HIT*RATIO'
Q8STANUI='INBOUND*TRANSFER*RATE*KB/SEC'
Q8STANUO='OUTBOUND*TRANSFER*RATE*KB/SEC'
Q8STSA ='DISK SPACE*TEMPORARY*DATA*MB'
Q8STLSA ='DISK SPACE*LOG DATA*MB'
Q8STTDPS='SUCCESSFUL*QUERY*REQUESTS*THIS DB2'
Q8STEDPS='QUERY*REQUESTS*EXPIRED*THIS DB2'
Q8STTDPA='SUCCESSFUL*QUERY*REQUESTS*ALL DB2'
Q8STEDPA='QUERY*REQUESTS*EXPIRED*ALL DB2'
Q8STVLCS='REPLICATION*VELOCITY*LOG SEC*PERSEC'
Q8STLRCP='CPU TIME*INTEGRATED*SYNC'
Q8STLRZI='ZIIP TIME*INTEGRATED*SYNC'
Q8STZRZE='ZIIP TIME*ELIGIBLE'
Please contact support@mxg.com before using, because only
test data with one record was available, so the fields
that are accumulated could not be identified/validated.
This update was NOT in MXG 38.08/09/10, need test data.
CHANGE 38.159 MXG 38.07 only, 180 Syntax Error citing SP_NOBS=&NOBS,
VMXGPRAL due to an incorrect and undocumented &VARLST change.
Sep 16, 2020
Thanks to MP Welch, Bank of America, USA.
CHANGE 38.158 Format $MGSMFID didn't map SMF 119 subtypes 11, 12, 81,
FORMATS and 101-104, but those records were already supported in
Sep 16, 2020 VMAC119, although 101-104 subtypes are not written and
are only available thru an API.
Thanks to MP Welch, Bank of America, USA.
CHANGE 38.157 OUTFILE= defaults to BUILDMXG though the more common
UTILBLDP usage is INSTREAM and INSTREAM exists in all of the MXG
Sep 14, 2020 PROCs and AUTOEXECs. But if you fail to specify an
OUTFILE or the one you specified does not exist your job
would fail with FILE NOT FOUND errors. Now it is detected
and tells you what the problem was but it will still
ABEND and cause errors in your job.
Thanks to Arnold Kim, UPS, USA.
Thanks to George Carlquist, UPS, USA
Change 38.156 Dataset tokens for datasets TYP11924 and TYP11945 were
VMAC119 not in the _N119 list of all datasets.
Sep 14, 2020
Change 38.155 Debugging Option DKROCOND=WARN found many non-references
ANALDB2R that were typo's and did cause some variables to not be
IMACICVH kept, This was a long time on my to-do-list, now done.
IMACICWV -VMAC71 DELTATM is not created in WORK.TYPE71 but is added
UTILEXCL in the _S71 Sort Step, removed from KEEP= list for WORK.
VMAC110 -VMACCMFV variables starting with PRRE_G in CMFV82.
VMAC116 -VMACMVAO variables HHMM and YYYYMMDD were typos.
VMAC120 -VMAC85 R850SUB was spelled R50SUB.
VMAC71 -VMAC89 variable PRODMOD was spelled PROCMOD.
VMAC85 -VMAC92 variable SMF92DTY in TYPE9217, typo, not kept.
VMAC89 -VMAC99 typos in S99EEHMxx, S99SLET, S99CVCM in TYPE99SL.
VMAC92 -VMAC110 variable SSMVSSTM typo for SMMVSSTM, now kept.
VMAC99 -VMAC110 WBJCNRPL typo in CICSTRAN.
VMACCMFV -IMACICVH was not in PRODTEST with comment removed.
VMACMVAO -IMACICWV still had comment block in PRODTEST.
VMXGUOW -UTILEXCL variable SSMVSSTM typo for SMMVSSTM, now kept.
Sep 13, 2020 -VMAC110 variable MNGAPPLS typo for MNGAPPNS, now kept.
VMAC112 -VMAC110 SORTCPIPSMAXPERSIST underscores removed.
VMACWSF -VMAC110 IMSTM NRIMS removed from KEEP.
VMACCTCP -VMAC112 T112JOB replaced OMCIJOB, T112NUMB/OBJTYPE gone.
-VMAC116 WTSAWQCT typo for WTASWQCT.
-VMAC120 GMTOFFDOM typo for SM120GMT.
-ANALDB2R Variable QWHSSSID not on S102S083.
-VMXGUOW SPURIOUS WARNs are printed if MXGEXIMSG=YES.
-VMACWSF ACCCHOST typo ACCHOS, S1ODS typo ACCS1ODS.
-VMACCTCP CTCP32CA/B/C/D gone, CTCPSUBS typo SUBSYS.
Change 38.154 Labels for variables D06xxxxx in VMACIMS and GAVxxxxx in
VMAC99 VMAC99 had unbalanced quotes, which cause no error but
VMACIMS labels were not correct.
Sep 11, 2020
Change 38.153 Syntax revisions to prevent spurious log messages about
ASUMPRTR ancient DATETIME syntax.
TRNDPRTR
Sep 11, 2020
Thanks to Wayne Bell, UNIGROUP, USA.
Change 38.152 Support for APARs OA58729/OA58724 which added these new
VMAC74 Resource Monopoly fields in dataset TYPE74ST subtype 4:
Sep 11, 2020 R744SMRC='REQUESTS*DELAYED*MONOPOLY'
R744SMTM='SUMMED*QUEUE*TIME*FOR*MONOPOLY'
R744SMSQ='SUMMED*SQ OF*QUEUE TIME*MONOPOLY'
R744SMTO='OPS*QUEUED*MONOPOLY*AVOID'
R744SMHT='HI OPS*QUEUED*MONOPOLY*AVOID'
R744SMMN='MIN OPS*QUEUED*MONOPOLY*AVOID'
R744SMMX='MAX OPS*QUEUED*MONOPOLY*AVOID'
R744SMHN='MIN HI OPS*QUEUED*MONOPOLY*AVOID'
R744SMHX='MAX HI OPS*QUEUED*MONOPOLY*AVOID'
Thanks to Kurt Gramling, T-SYS, USA.
Change 38.151 Unused Change Number.
Change 38.150 If you did not have a //IPHOSTS or FILENAME IPHOSTS,
ANAL119 errors including divide by zero occurred. Now, if it
Sep 6, 2020 doesn't exist, an MXGWARN message is printed and the
processing continues creating the zero obs dataset.
Change 38.149 TYPE113 SM113TM was not an interval time and this would
ANALSIIS only occasionally match to SMFINTRV records. Now a new
Sep 6, 2020 interval TIMESTMP is calculated. SYNC59=YES added to the
parameter list.
Thanks to Pierre Pascal Joulin, SocGen, FRANCE.
Change 38.148 VMXGSUM calls were added to prevent errors or warnings
VMXGSUM when deleting work files that do not always exist.
Sep 10, 2020
Change 38.147 ACCTSORT=NO was not suppressing SORTS and caused
READDB2 accounting datasets to be sorted to output libname
Sep 12, 2020 instead of being directly written to libname when
PDBOUT=libname, and any redirects of output (eg.
DB2ACCTP to libname DB2ACCTP) were not honored.
-IFCIDS=DB2GBPAT was not recognized; now is.
Change 38.146 After _N7072, MACRO _WTY70 TYPE70 % was added.
SAGANAL
Sep 4, 2020
Change 38.145 If you are rolling up interval data and specify an
VMXGDUR interval LT the actual duration in the data the results
Sep 10, 2020 may not be what is expected. VMXGDUR now detects this
when the input data contains a DURATM variable and puts
an MXGNOTE on the log.
Change 38.144 Line 55 had "SAAV" text that was accidentally found in
TESTIBM2 MXG 38.05-38.07.
Aug 31, 2020
Thanks to Altino Pimentel, Express-Scrips, USA.
Change 38.143 -Variable CFISCVER in ZRBSCM is replaced by CFISCVERCH as
VMACRMFV that variable should have been input as $CHAR8, but was
Aug 28,2020 incorrectly INPUT as a datetime, and name must be changed
to prevent errors if merging old and new ZRBSCM.
-Variables CFISCMAX,CFISCFAU,CFISCIAU,CFISIUS were not
multiplied by 4096 to store bytes instead of KB.
Change 38.142 -When creating PDB.ASUMCELP and PDB.ASUMCEC datasets with
ASUM70PR CECINTRV=HOUR, from PDB.TYPE70/PDB.TYPE70PR with QTRHOUR
ASUM70WK intervals, the ASUMCELP/ASUMCEC has 23 valid hourly obs,
VMXG70PR with two additional obs, one from the last interval of
Aug 25, 2020 yesterdaq with (DURATM 15 min) and one from the last hour
of today (DURATM 45 min). To report only full hours, you
can select obs with IF DURATM GT 3400; in your reports.
-This new ASUM70WK program reads your WEEK.TYPE70/70PR to
create two weekly hourly WEEK.ASUMCEHR and WEEK.ASUMLPHR
(like CEC/CELP) with all intervals one hour. The two
partial intervals are not output, but they are from the
SMFDUMP time on the weekends and presumably unimportant.
-Enhancements were needed in VMXG70PR.
-The PDB= argument for the libname of input datasets was
incorrectly ignored, and the &PTY70 and &PTY7072 tokens
were used. Now it will be used, but VMXG70PR checks for
the existence of TYPE70 & TYPE70PR if PDB= is nonblank,
and terminates if either has zero obs or isn't there.
-New PDBOUT= argument names the output LIBNAME for the
two new datasets, if argument is non-blank.
-OUTCODE70PR= Your SAS code that will let you control
what observations are output to ASUM70PR.
-OUTCODE70LP= Your SAS code that will let you control
what observations are output to ASUM70LP.
-OUTCODECEC = Your SAS code that will let you control
what observations are output to ASUMCEC/ASUMCEHR
-OUTCODECELP= Your SAS code that will let you control
what observations are output to ASUMCELP/ASUMLPHR
-OUTCODE70GL= Your SAS code that will let you control
what observations are output to ASUM70GL.
-OUTCODE70GC= Your SAS code that will let you control
what observations are output to ASUM70GC.
-The ASUM70WK defaults to PDB=WEEK, PDBOUT=WEEK, and
the two OUTCODEs use IF DURATM GT 3400; to only create
full hourly data for the week.
%VMXG70PR (PDB=WEEK,INTERVAL=QTRHOUR,CECINTRV=HOUR,
OUT70LP=WEEK.ASUMLPHR,
OUTCODE70PR=IF DURATM GT 3400;,
OUTCELP=WEEK.ASUMCEHR,
OUTCODECELP=IF DURATM GT 3400;,
OUTCEC=_NULL_,
OUT70PR=_NULL_,
OUT70GL=_NULL_,
OUT70GC=_NULL_
);
====== CHANGES THRU 38.141 ARE IN MXG 38.07 DATED Aug 22, 2020 ========
Change 38.141 -Processing CICS Statistics records in BUILDPDB can be
EXCICLDR very CPU/Elasped intensive for very little daily value.
EXCICSDR The SMF 110 Subtype 2 records are tactical data for the
EXCICSMD resolution of CICS problems, which happen so rarely that
EXCICSMT it would be better to only process them with TYPS110-2 if
EXCICTCR and when your CICS folks actually have need of that data.
EXCICXMR IBM CICINTRV dataset default 3 hour interval is also not
SCICSORT much use for tactical analysis. To suppress processing
VMXGCICI of the statistics records in BUILDPDB/TYPE110
Aug 21, 2020 you can insert this at the top of your //SYSIN
Aug 21, 2020 %LET MACFILE=
%QUOTE( IF ID=110 AND SUBTYPE=2 THEN DELETE;);
With UTILBLDP, SUPPRESS=CICSSTAT will suppress sorts and
CICINTRV and all of the Statistics datasets will have
obs so they take no space, but will exist so subsequent
reports won't fail.
And if you ONLY want CICSTRAN with no other account nor
statistics datasets, add this and the MACFILE to SYSIN.
%LET MACKEEP= %QUOTE
(_N110 _S110 MACRO _WCICTRN CICSTRAN.CICSTRAN % );
%INCLUDE SOURCLIB(TYPE110);
(and always have a blank between percent and paren).
-For sites that do use those data, there are large counts
of observations created during intervals of no activity
that increased CPU, elapsed time and disk space needed.
For example CICXMR created 1,173,518 obs in WORK.CICXMR
but only 4061 obs were output in PDB.CICXMR. With this
change, these seven datasets are only output in WORK if
there was activity: FCR LDR SDR SMD SMT TCR XMR, but that
test can be tailored to create all obs in the EXCICxxx.
-%INCLUDE SOURCLIB(UCICSCNT) will report how many obs were
written to SMF and not output for each STID. MXG member
IMAC110 documents the CICxxxxx dataset for each STID.
-This change significantly reduced the CPU and elapsed
time for a 5GB SMF file with lots of "idle" hours, with
lots of regions, ET from 17:24 to 6:21, CPU 517 to 258.
There were 104 Regions and the data was from a Monday.
Thanks to Vijay Singh, IBM, NEW ZEALAND.
Change 38.140 Variable CMM, CMM BALOON is added to XMUCDSYS dataset.
VMACXAM
Aug 20, 2020
Thanks to Raymond J. Smith, OPTUM, USA.
Change 38.139 Change 38.037, in MXG 38.02 MQMQUEUE these variables
VMAC116 QWHCNID QWHCOPID QWHCTASK QWHCTNO QWHCTRN
Aug 17, 2020 were in the Change text, but were dropped from the KEEP
list; the KEEP list now includes them.
Thanks to Pietro Rosella, Canadian National Railway, CANADA.
Change 38.138 Unused Change Number
Change 38.137 Support for APAR OA57466 which adds variables to TYPE26J2
VMAC26J2 SMF26BYU='TOTAL JOB*UNCOMPRESSED*BYTES'
Aug 15, 2020 SMF26BYC='TOTAL JOB*COMPRESSED*BYTES'
SMF26CCT='COMPRESSED*DATASETS'
SMF26ECT='ENCRYPTED*DATASETS'
Change 38.136 If you rerouted CICXMG to PDB all sorts of strangeness
VMXGCICI occurred since VMXGCICI was looking for CICXMR rather
Aug 13, 2020 than CICXMG.
Thanks to Nilton de Oliveira Mello Junior, IBM, Brazil.
Change 38.135 -Change 38.128 wasn't released, but a severe error message
ASMRMFV RMFV016S >>>SEVERE: RMF III TABLE ID MISMATCH -
Aug 13, 2020 EXPECTED: CPUG3 ACTUAL: CPUG3 (C3D7E4C7F3X)<<<
incorrectly appears. A table id validation test branch
was incorrect.
Change 38.134 -Example added to output ALL Service/Report Classes even
ASUMMIPS those with CPUTM=0, which are not normally output.
Aug 11, 2020
Thanks to Nestor D Rossi, BANCOGALICiA, ARGENTINA.
Change 38.133 -Support for IMS LOG Record 67D0 Subtype 6 creates new
BUILDIMS dataset IMS67D006.
EX67D006 -BUILDIMS requires REPORT=YES (to avoid a MAJOR rewrite)
IMACIMS so it is now always forced.
VMACIMS
VMXGINIT
Aug 14, 2020
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 38.132 DCOLLECT ABEND B37 (SPACE). New UNIX fields were added in
EXDCOBKU Change 38.102 (MXG 38.05), adding 1231 bytes to each obs,
IMACDCOL in DCOLBKUP, Unix or Not. The variables are now removed
VMACDCOL from DCOLBKUP and new DCOLBKUU dataset is now created for
VMXGINIT Unix dataset information.
Aug 7,2020
Thanks to Bill Davis, Transamerica, USA.
Change 38.131 Unused Change Number
Change 38.130 Support for Thruput Manager IZWS fields.
VMACTPMX
Aug 5, 2020
Thanks to Kurt Gramling, T-SYS, USA.
Change 38.129 -Writing SMF with SYNC=59 has NEVER BEEN RECOMMENDED, it
VMXG70PR was required with MICS, and while MXG summarization can
Jul 30, 2020 take it into account, there is intrinsic inaccuracy as
Aug 13, 2020 only SYNC=0 will provide exact 00,15:30:45 intervals.
The hourly summarization in VMXG70PR forces those exact
interval start to the exact value, but other RMF datasets
will still have 59:14:29:44 starts. This change creates
the new OUTCODE70PR argument for VMXG70PR, which you can
add in your ASUM70PR member's invocation of VMXG70PR:
%VMXG70PR (PDB=PDB,INTERVAL=QTRHOUR,CECINTRV=HOUR,
OUTCODE70PR= STARTIME=STARTIME-60;
SMF70GIE=SMF70GIE-60;);
-A blank TITLE was added at the end to prevent carry.
Thanks to Linda Berkeley, DISA Mainframe, USA.
Change 38.128 -ASMRMFV Field Data Filter (FDF) support for the RMF III
ADOCRMFV XCF Activity Data Table (XCFG3) and an IMPORTANT FDF FIX.
ASMRMFV -The Field Data Filter (FDF) feature of RMF III was added
Jul 30, 2020 in MXG Change 37.089 and allows you to filter raw RMF
reducing the size of the created RMFBSAM file. You can
filter table entries based on one or more numeric and/or
character fields, and is intended for advanced MXG users
building ad hoc data collection of RMF III data.
-ASMRMFV FDF can fail to correctly translate X'00'
characters to X'40' blank characters for RMF III field
names in FDF expressions that can contain nulls. This can
cause filter comparisons to be FALSE instead of TRUE.
-The example JCLRMFV/JCLCRMFV/JCLDRMFV members have been
integrated into Sections 48, 49, 50 in ADOCRMFV, with new
FDF examples; the old members are pointers to ADOCRMFV.
- J is now an alias for SCM table selection.
- -J is now an alias for SCM table exclusion.
-See Change 38.135 correction; 38.128 was never released.
-Following updated or added in the ADOCRMFV documentation
member:
Section Contents
------- -------------------------------
0 Contents
2 Terminology
3 Execution JCL
5 Input Data Selection Parameters
32 Filtering The ASIG3 Table
33 Filtering The CPDG3 Table
34 Filtering The CSRG3 Table
35 Filtering The DSIG3 Table
36 Filtering The DVTG3 Table
37 Filtering The ENCG3 Table
38 Filtering The ENTG3 Table
39 Filtering The GEIG3 Table
40 Filtering The OPDG3 Table
41 Filtering The PCIG3 Table
42 Filtering The SCMG3 Table
43 Filtering The SPGG3 Table
44 Filtering The SSHG3 Table
45 Filtering The XCFG3 Table
46 Filtering The ZFXG3 Table
47 ASMRMFV Execution and Methods Overview
48 PDB Build Examples With Direct JCL Method
49 PDB Build Examples With TSO Clist Method
50 PDB Build Examples With Dynamic Method
51 Summary
-TUTORIAL:
This level of ASMRMFV introduces the concept of
Independent Data Sections when using FDF.
An Independent Section is an ASMRMFV term for a RMF III
data section containing data unrelated to other sections
in the same RMF Monitor III table. Examples of this are
the Group Data, Path Data, and System Data Sections of
the XCFG3 table.
ASMRMFV does not support logical FDF ANDing of filters
from two different Independent Sections because the data
is not logically related.
ASMRMFV FDF processes each Independent Section
separately. If ANDIF= expressions for 2 fields in two
different Independent Sections occur FDF will bypass any
IF expressions for fields not contained in the section
being currently processed.
Data dictionary sections in ADOCRMFV for tables now
identify the Section when Independent Sections are
applicable an RMF III table.
Change 38.127 Using ANAL119 with PDB=SMF without a PDBOUT=, 0 OBS were
ANAL119 found for the FTP report. Now if PDBOUT= is null PDB is
Jul 30, 2020 set to &MXGWORK.
Thanks to Jennifer D. Ayers, West Virginia Government, USA.
Change 38.126 When SMF Logger outputs sysplex data for multiple systems
VMAC7072 records are interleaved, so it is no longer possible to
VMXGINIT retain TYPE70 variables like CECSER/CPCMODEL from the 70
Jul 29, 2020 into the TYPE72GO dataset, where they are frequently
missing values. This change revises the _STY72GO dataset
sort macro to sort and merge the two datasets to populate
CECSER and CPCMODEL whenever possible (if a 70 ends an
SMF dataset, the subsequent 72 read tomorrow won't have a
matching 70 even with the new sorting logic).
-All of the 7072 processing programs that sort and create
PDB datasets, like BUILDPDB/BLDSMPDB/UTILBLDP/TYPS7072
already invoke the _STY72GO macro so this change will be
transparent. However, if you use only TYPE7072 to write
only to //WORK, you will need to use this syntax to sort
and create the correctly populated TYPE72GO dataset:
%INCLUDE SOURCLIB(TYPE7072);
%LET PTY70=WORK;
%LET PTY72GO=WORK;
_STY72GO;
RUN;
-And new macro variable &SSTY72GO is added in _STY72GO so
you can insert code to create new variables from the
CECSER/CPCMODEL variables into your TYPE72GO dataset.
Thanks to Kurt Gramling, T-SYS, USA.
Change 38.125 Change 38.117 test for QLSTVRSN='000001' was changed to
VMACDB2 'F0F0F0F0F0F1'x to detect new data on EBCDIC or ASCII.
VMAC102
Jul 26, 2020
Change 38.124 -RMF III datasets ZRBXCG, ZRBXCP and ZRBXCS had many dupes
VMACRMFV because the offset was not updated and so only the first
Jul 26, 2020 segment was read and re-read and output XCFxDATN times.
Jul 30, 2020 Caused incorrect ZRBXCG INVALID TRIPLET messages.
-Dataset ZRBZFS variable ZFX_FS_AGGRREADKBYTES corrected.
====== CHANGES THRU 38.123 WERE IN MXG 38.06 DATED Jul 25, 2020 ========
Change 38.123 Change 38.121 overlooked one dataset causing the refresh
VMXGCICI on Saturday morning.
Jul 25, 2020
Change 38.122 Some CICS Statistics datasets (CICxxxxx) were incorrectly
VMAC110 sorted because the %INCLUDE SOURCLIB(SCICSORT) statement
Jul 25, 2020 was accidentally deleted.
Change 38.121 If you tailored CICS statistics datasets and some were in
VMXGCICI WORK and some were in PDB, a dataset not found error due
Jul 25, 2020 to MXG expecting all in one place. Individual locations
now are tested, and the sorts commented out.
====== CHANGES THRU 38.120 WERE IN MXG 38.06 DATED Jul 24, 2020 ========
Change 38.120 Variables decoded from SMF30SLM weren't kept in SMFINTRV:
VMAC30 SMF30SLMRB SMF30SLMRA SMF30SLMSB SMF30SLMSA SMF30SLMML
Jul 24, 2020 SMF30SLMBY
Thanks to Randy Hewitt, DXC Technology
Change 38.119 Type 92 subtype 16 records are the same as subtype 11 so
VMAC92 both subtypes are now output in TYPE9211 and SMF92STP is
Jul 23, 2020 kept to identity which subtype was output.
Thanks to Nathan Lowenthal, CITIGROUP, USA.
Change 38.118 -ASMRMFV FDF message RMFV088I can be incorrectly formatted
ASMRMFV showing the hex value of a number in an IF expression
JCLASM3 as zeros. Processing is not impacted. The message only
Jul 21, 2020 appears when FDF is used.
-After Change 38.082 to reduce SYSOUT output from an
ASMRMFV assembly condition code 0002 can occur after an
assembly. The XREF(SHORT) option in the JCLASM3 sample
member is no longer required. ASMRMFV will override this
value to NOXREF, so no JCL change is required.
Thanks to Randy Hewitt, DXC Technology
Change 38.117 Support for DB2 APAR PH16111 adds location variables to
VMACDB2 the QLST segment,in IFCID 365 in dataset T102S365 and in
VMAC102 SMF 100 Subtype 1 datasets DB2STAT0/DB2STATS/DB2STATR.
Jul 21, 2020
Thanks to Harald Seifert, Huk-Coberg, GERMANY.
Change 38.116 Support for BMC Mainview for CICS Version 7.1 (COMPAT).
VMACMVCI -New variables in dataset CMRDETL:
Jul 20, 2020 T6EXSVPT='TOTAL*PASSWORD*VERIFY*TIME'
T6EXSVPN='TOTAL*PASSWORD*VERIFY*COUNT'
T6EXSVPF='TOTAL*PASSWORD*VERIFY*FLAG'
T6EXSVBT='TOTAL*BASIC AUTH*VERIFY*TIME'
T6EXSVBN='TOTAL*BASIC AUTH*VERIFY*COUNT'
T6EXSVBF='TOTAL*BASIC AUTH*VERIFY*FLAG'
T6EXSVKT='TOTAL*KERBEROS*VERIFY*TIME'
T6EXSVKN='TOTAL*KERBEROS*VERIFY*COUNT'
T6EXSVKF='TOTAL*KERBEROS*VERIFY*FLAG'
T6EXSVJT='TOTAL*JSON JWT*VERIFY*TIME'
T6EXSVJN='TOTAL*JSON JWT*VERIFY*COUNT'
T6EXSVJF='TOTAL*JSON JWT*VERIFY*FLAG'
T6ESMMWT='TOTAL*Z/OS SOS*WAIT*TIME'
T6ESMMWN='TOTAL*Z/OS SOS*WAIT*COUNT'
T6ESMMWF='TOTAL*Z/OS SOS*WAIT*FLAG'
-Complete revision of MXG Code for CMRFPROG.
T6EPGTELCN='PROGRAM*ELAPSED*COUNT'
T6EPGTELTM='PROGRAM*ELAPSED*TIME'
T6EPGCNT='PROGRAM*SUMMARIZATION=1'
T6EPGNM ='PROGRAM*NAME1'
Change 38.115 Support for Optional CICS Field HUMTRAN with multiple
UTILEXCL INPUT lengths of $16 and $24. The length of variable
VMAC110 HUMTRAN is $24.
VMXGINIT
Jul 16, 2020
Change 38.114 New CICS datasets SMF 110 Subtype 1 MNSEGCL=5 Resource
EXCICRDU class datasets:
EXCICRDW DDDDD Dataset Description
IMAC110 CICRDU CICSRDUR URIMAP Resource
VMAC110 CICRDW CICSRDWB WEBSVC Resource
VMXGINIT
Jul 16, 2020
Change 38.113 SMF records that EXCLUDE ABCODEC, field 114, have a four
UTILEXCL byte misalignment when UTILEXCL is used, so this change
VMXGINIT created macro variable MXGCICSABCODELN which could be set
Jul 15, 2020 in UTILEXCL SYSIN to 4 to change INPUT ABCIDEO $EBCDIC8.
Jul 26, 2023 to EBCDIC4. But this change was replaced by Change 41.063
which detects the EXCLUDE for you and creates the correct
INPUT ABCODE $EBCDIC4. statement.
Thanks to Bradley Leis, TELUS, CANADA.
====== CHANGES THRU 38.112 WERE IN MXG 38.05 DATED Jul 15, 2020 ========
Change 38.112 Support for DFSMS APAR OA59510 OA59830 collects UNIX file
VMACDCOL Backup information in DCOLLECT, new DCOLBKUP variables
Jul 14, 2020 UBUNIX ='UNIX*FILE*BACKUP?'
UBUNIXDIR='UNIX*FILE OR*DIRECTORY?'
UBENCRYPTA='DATASET*ENCRYPTION'
UBENCRPT='ENCRYPTION*TYPE*0100-AES256*FFFF-NO'
UBENCRPL='ENCRYPTION*KEY*LABEL'
UBPATHL='LENGTH*OF THE*FILENAME'
UBUPATHN='UNIX*PATH*NAME'
Change 38.111 TYPE1415 Space Allocation Unit is set to SPACE='AVG' for
VMAC1415 AVGREC when JFCBCTRI='90'x and based on values in SMF
Jul 13, 2020 that matches the job's JCL. Previously these records had
SPACE='TRK' because the '80'x bit was detected.
Thanks to Bruce Sloss, PNC, USA.
Thanks to Walt Unterbrink, PNC, USA.
Change 38.110 -38.05 Early Adopter, test IF LENPDGS GE 2296 in line 2094
VMAC71 should be IF LENPDGS GE 2440. This could cause a STOPOVER
Jul 12, 2020 INPUT EXCEEDED RECORD LENGTH error.
Change 38.109 -38.05 Early Adopter, period missing in VMAC98 line 876.
VMAC98 Should be $CHAR16. (with the period).
Jul 12, 2020
Change 38.108 -RMF III dataset ZRBENC PROC SORT removed more duplicates
VMACRMFV than intended; the _BZRBENC sort list needed the two
Jul 16, 2020 added variables at the end:
MACRO _BZRBENC SYSPLEX SYSTEM SSHTIBEG EDEUSER ENCTOKEN%
-Variable SSHGOSYN='GATHERER*SYNC*OPTION?' is added to all
datasets.
-Data sets ZRBXCG, XRBXCP, ZRBSCS have added variables
SSHRMFVN SSHSMPNR
XCFVER XCFSID XCFPART XCFREL XCFSYSN CSFSTAT XCFESTAT
Thanks to Kurt Gramling, TSYS, USA.
Change 38.107 Some macro variables were unresolved because they needed
ANAL119 to %GLOBALed.
Jul 11, 2020
Thanks to Jennifer D. Ayers, West Virginia Government, USA.
TECHNOTE - z/OS ONLY
Jul 8, 2020
The PDB library written by BUILDPDB CAN'T BE ON TAPE, neither
REAL TAPE or VIRTUAL TAPE or V9SEQ libraries on DASD.
We have NEVER recommended the PDB be written directly to TAPE
because BUILDPDB reads and writes to and from //PDB, multiple
times, and since sequential datasets have no directory, each
action requires a rewind to the beginning of the dataset and a
read until it finds the desired dataset, increasing run time.
And PROC DATASETS fails with ERROR: Proc Datasets is not able
to process a sequential library. Consider using PROC CONTENTS
or PROC COPY instead.
If you want your PDB on TAPE, point //PDB to Temporary DASD,
then PROC COPY to TAPE dataset at the end.
The more insidious issue is the potential for lost data.
Assume that you want to create a SAS data library with
datasets A B C D and then find that you need to rewrite
dataset B to add a variable. You can do it but you would then
lose datasets C and D PERMANENTLY. If you try to access them
you will get a DATASET x NOT FOUND error.
SAS Technical Support documentation for sequential libraries:
Due to the nature of sequential devices, SAS allows only two
types of operations with members of a sequential bound
library:
-reading an existing member and writing a new copy
-writing a new copy of a member to the library.
The following types of operations are not
supported for sequential access bound libraries.
-Having multiple members in the library open at same time
-Updating the contents or attributes of a member of the
library
-Renaming or deleting a member of the library.
-Using BLKSIZE GT 32760 with SAS 9.4M1 or earlier which did
not support LBI. Error is ABEND 013 Return E1.
-PROC DATASETS is not able to process a sequential dataset.
CAUTION
SAS deletes all members of a sequential bound library that are
subsequent to the library member that you replace.
By default, when writing a member of a sequential bound
library, SAS scans the entire library from the beginning to
determine whether a member having the specified name already
exists in the library. If such a member already exists in the
library, then the new copy of the member is written starting
at the position in the library data set where the old copy of
the member began, and all subsequent members of the library
are deleted. If the specified member does not already exist in
the library, it is appended to the end of the library. This
behavior is not influenced by the REPLACE system option
because NOREPLACE is not supported by the TAPE engine.
When the FILEDISP=NEW data set option is specified for a
member to be written to a sequential access bound library, SAS
replaces all of the members that previously existed in the
library, even if they were protected by an ALTER password. The
ALTER password is not checked even for the member being
replaced.
When the COPY procedure is used to write members to a
sequential access bound library, the rules regarding member
replacement (discussed in the previous topic) apply only to
the first member being processed by a COPY statement or PROC
COPY invocation. All other members involved in the COPY
operation are appended to the end of the library data even if
they already exist in the library. Therefore, it is possible
to cause a library to contain two copies of the member, only
the first of which is recognized. You should plan all COPY
operations carefully so that you avoid this outcome.
Some specialized SAS procedures repeatedly process a group of
observations that have the same value for a specific variable.
This situation requires SAS to interrupt its sequential access
pattern and reposition to a previous location in the library
data set. However, SAS does not support repositioning to a
location on a previous volume of a multi-volume tape data set.
When this situation occurs, SAS issues the following error
message:
ERROR: A POINT operation was attempted on sequential library
SEQLIB.
A volume switch has occurred on this library since the last
NOTE operation, making the POINT results unpredictable.
Should this situation occur, you can avoid the limitation by
copying the member to a library on disk.
When using the LIBNAME statement to dynamically allocate SAS
libraries on tape, it is not possible to simultaneously
allocate multiple MVS data sets on the same tape volume.
Therefore, it is necessary to use the SAS LIBNAME CLEAR
statement to deassign the library before you attempt to assign
another MVS data set on the tape.
The mode in which SAS opens the library data set is primarily
governed by the type of access that is being performed. When
reading a member, listing the members in the library, or
retrieving information about the library, the library data set
is opened for INPUT. When writing a member, the library data
set is opened for INOUT (unless DISP=NEW and the data set has
not been previously opened. In that case, OUTIN is used). SAS
does not write to a library that is allocated with DISP=SHR or
LABEL=(,,,IN), issuing an ERROR message instead. Before
opening the library data set, SAS first checks the RACF
authorization, but only for libraries that reside on disk, and
only if NOFILEAUTHDEFER is in effect.
Thanks to Jill Ackerman, SAS Technical Support, USA.
Change 38.106 Support for APAR OA59330 new variables in TYPE7002:
VMAC7072 R702FPTI='INSTRUCTIONS*TO TRANSLATE*USING FPE'
Jul 7, 2020 R702FXEC='CALLS TO*ENCIPHER*USING*FFX'
R702FXEB='BYTES*ENCIPHERED*USING*FFX'
R702FXEI='INSTRUCTIONS*TO ENCIPHER*USING*FFX'
R702FXDC='CALLS TO*DECIPHER*USING*FFX'
R702FXDB='BYTES*DECIPHERED*USING*FFX'
R702FXDI='INSTRUCTIONS*TO DECIPHER*USING*FFX'
R702FXTC='CALLS TO*TRANSLATE*USING*FFX'
R702FXTB='BYTES*TRANSLATEED*USING*FFX'
R702FXTI='INSTRUCTIONS*TO TRANSLATE*USING*FFX'
R702DQGC='CALLS TO*GENERATE*QSA DIGITAL*SIGNATURE'
R702DQVC='CALLS TO*VERIFY*QSA DIGITAL*SIGNATURES'
Change 38.105 Support for May 2020 SMF Manual Changes (still-40).
EXTY9040 -TYPE02 Records
FORMATS -Subtype 1 new variables in TYPE0201
VMAC0203 SMFGFLG2='RESERVED?'
VMAC25 SMFGFLG2='APAR OA55526*APPLIED?'
VMAC30 SMFGFLG2='SELF*DEFINING*SECTION?'
VMAC42 There is a new Self Defining Section "triplet" for the
VMAC7072 new ARECSIGN section, I need data to decode.
VMAC71 -Subtype 2 new variables in TYPE0201
VMAC89 SMFIFLG24='RESERVED?'
VMAC90A SMFIFLG25='NOT DOCUMENTED?'
VMAC98 SMFIFLG26='APAR*OA55526*APPLIED'
VMAC99 SMFIFLG27='SELF*DEFINING*SEGMENT?'
VMAC106 There is a new Self Defining Section "triplet" for the
VMXGINIT new ARECSIGN section, I need data to decode.
Jul 3, 2020 -TYPE 25 SMF Records
-Label changed for TYPE25 SMF25NTF.
-TYPE 30 SMF Records
-ZEDC section
-z15 changes:
SMF30_US_COMPRREQ only counts authorized request
SMF30_US_DEF_COMPROUT, INF_DECOMPROUT, DEF_COMPRATIO
are now always zero.
-Variables added to TYPE30_V/_4,_5,_6:
BOOSTACTIVE='BOOST*ACTIVE*ZIP*SPEED*BOTH'
BOOSTCLASS='BOOST*CLASS*IPL*SHUTDOWN'
-TYPE 42 Records
Variable S42VTUNC count is zero with APAR OA55709.
There is no volume metrics section when there are no
SSCH instructions for this volume, and no system I/O
section when no system I/O to this volume, and no
background activity section when there no background
activity.
-TYPE 70 records
-Subtype 1
New variable SMF70CPC_TYPE (8561) to TYPE70 dataset.
-Subtype 2
New FORMATS value 0Dx:CEX7C for R7023CT/R7024CT/R7025CT
crypto type in TYPE7002/TYPE70X2/TYPE7Y3 datasets.
-TYPE 71 SMF Records
New variables in TYPE71 dataset:
SMF71M6C='MIN FRAMES*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71X6C='MAX FRAMES*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71A6C='AVG FRAMES*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71M6F='MIN FIXED*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71X6F='MAX FIXED*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71A6F='AVG FIXED*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71M6B='MIN 24-BIT*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71X6B='MAX 24-BIT*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71A6B='AVG 24-BIT*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71M6A='MIN AUXSLOTS*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71X6A='MAX AUXSLOTS*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71A6A='AVG AUXSLOTS*BACK*64-BIT*SHARED*PAGE GROUPS'
SMF71M6S='MIN SCM BLOCKS*BACK*64-BIT*SHARED*PAGE GROUPS
SMF71X6S='MAX SCM BLOCKS*BACK*64-BIT*SHARED*PAGE GROUPS
SMF71A6S='AVG SCM BLOCKS*BACK*64-BIT*SHARED*PAGE GROUPS
SMF71M6T='MIN 64-BIT*SHARED*PAGE GROUPS'
SMF71X6T='MAX 64-BIT*SHARED*PAGE GROUPS'
SMF71A6T='AVG 64-BIT*SHARED*PAGE GROUPS'
-TYPE 72 SMF RECORDS
-Variables BOOSTACTIVE and BOOSTCLASS added to TYPE72GO.
(In 70, BOOSTINFO flags partial boost, but there is no
field for partial boost in 72).
-TYPE 89 SMF Records
-Variables BOOSTACTIVE and BOOSTCLASS added to TYPE89,
but there are no bits for full boost, only partial.
-TYPE 90A SMF Records
- New subtype 40, SET BOOST, creates TYPE9040 dataset.
-TYPE 98 SMF Records (Last updated 2017!)
-Variables added to TYPE9801 dataset:
SMF98_CVTLSO= 'LEAP*SECOND*OFFSET'
SMF98_ECVTLDTOCH ='ETOD*LOCAL*OFFSET*CHAR'
SMF98_ECVTLSOCH ='ETOD*LEAP*SECOND*OFFSET*CHAR'
-The Workload Interaction Correlator WICDATA records
require more documentation from each exploiter and
won't be decoded without actual data records:
"These mappings are incomplete and depend on the
particular data to be recorded for each exploiter.
Use the mapping produced by the subtype holder."
-TYPE 99 SMF Records
-Variable added to TYPE99_1 - BOOSTINFO
-Variables TOD added to TYPE99EH subtype 14.
S99EVCMHWLEVEL='HW*LEVEL'
S99EEVCMDURRTOD='CURRTOPO_TOD'
-Await a USER with need+data for new subtypes 9 and 10
and updates to subtype 12.
-TYPE 106 SMF Records
-New FORMAT MG106CT values for SMF6ACTP=CONNECT*TYPE.
-TYPE 124 SMF Records
- Await a USER with need+data for new subtypes 2-5.
Change 38.104 Dataset XAMUSR variable USERTYPE='ACCT' is now set if the
VMACXAM value in the record was A.
Jun 30, 2020
Thanks to Randy Hewitt, DXC Technology, USA.
Change 38.103 -MXG 38.03/38.04 TYPE7072 fails if PDB is on TAPE, with
E2TY70 ERROR: DATASET PDB.TYPE70PR NOT FOUND (after it had been
VMAC7072 created, and there was no DELETE statement on the log).
Jun 30, 2020 -Changing from TAPE to DASD accidentally circumvents the
error that was introduced in Change 38.055.
-But this correction in VMAC7072 is INCOMPATIBLE requiring
you to see IF YOU HAVE MEMBER E2TY70 in your tailoring
'USERID.SOURCLIB' library, as you must change _LTY70 to
_WTY70 in that member. Fortunately, I doubt any site
has actually ever used that obscure exit member, and with
this change, the MXG default is _WTY70.
-But we have NEVER recommended the PDB library be on
tape for the BUILDPDB process for several reasons:
-tapes have no directory, so the full tape has to be
read from the start to find each dataset, and
-BUILDPDB has many datasets that are written to and
then read from the PDB library, causing many rewinds
which increases the job run time.
Thanks to Silambarasan Shanmugam, IBM, INDIA.
Change 38.102 Support for Thruput Manager TMT7123/TMT7124 JUL 2020.
VMACTPMX Compatible Changes:
Jun 26, 2020 -New variables in dataset TPM10:
TPMCMSTA='TENANT*4HRA*MSU PER*HOUR'
TPMCMSTI='TENANT*INT USE*MSU PER HOUR'
-New variables in dataset TPMSLM
TPMSLJF2='MISCELLANEOUS*FLAGS*2'
TPMSLJF3='MISCELLANEOUS*FLAGS*3'
TPMSLJFM='MISCELLANEOUS*FLAGS*M'
These flags are decoded in the comments.
-See Change 38.132 which creates DCOLBKUU for Unix.
Change 38.101 The TYPE42DS original default display FORMAT TIME13.3 for
VMAC42 duration variables to display milliseconds is changed to
Jun 26, 2020 TIME13.6 to display the full microsecond resolution that
has been in the stored values for decades (MVS/ESA?).
Thanks to John Burg, IBM, USA.
Thanks to Mark Rader, IBM, USA.
Thanks to Kathleen C McManus, Aetna, USA.
Change 38.100 Support for OAM Cloud Tier
EXTY8500 -New variables in TYPE85AC dataset:
FORMATS R85INST ='INSTANCE*ID'
IMAC85 R85CLDID='ID OF*ENTRY IN*CLOUDID*PROVIDER'
VMAC85 R85CINST='CLOUD*INSTANCE*ID'
VMXGINIT -Many new variables added to TYPE85ST:
Jun 23, 2020 R85PEWO R85PERO R85PEDO R85PDWB R85PDRB R85PDDB
Aug 14, 2020 R85POWB R85PORB R85PODB R85PTWB R85PTRB R85PTDB
R85BOWB R85BORB R85BODB R85BTWB R85BTRB R85BTDB
R85B2OWB R85B2ORB R85B2ODB R85B2TWB R85B2TRB R85B2TDB
R85RCLB R85PUWB R85PURB R85PUDB R85PEWB R85PERB
R85PEDB R85BOAO R85B2OAO R85BTAO R85B2TAO R85BOAB
R85B2OAB R85BTAB R85B2TAB R85PCWB R85PCRB R85PCDB
R85PCWO R85PCRO R85PCDO
-New variables in TYPE85SO dataset:
R85DSL ='DISK*SUBSYSTEM*RECOVERED*OBJECT'
R85TCLID='ID OF*ENTRY IN*CLOUDID*TABLE'
-New variable in TYPE85IB dataset:
R85SCLID='ID OF*ENTRY IN*CLOUDID*TABLE'
-New variable in TYPE85RE dataset:
R85CLDID='ID OF*ENTRY IN*CLOUDID*TABLE'
-New dataset TYPE8500 for new subtypes 100,101,102,103
dddddd dataset description
TY8500 TYPE8500 LCS CLOUD WRITE READ DELETE
with new cloud variables
R850CID ='ID OF*ENTRY IN*CLOUDID*TABLE'
R850SGN ='OBJECT*STORAGE*GROUP*NAME'
R850COLN='COLLECTION*NAME'
R850OBJN='OBJECT*NAME'
R850INST='INSTANCE*ID'
R850FLGS='PROCESSING*FLAGS'
R850OLEN='OBJECT*LENGTH'
R850OOFF='OBJECT*OFFSET'
R850LIQT='LCS*INPUT*WORK*QUEUE*TIME'
R850LDQT='LCS*DISPATCHER*QUEUE*TIME'
R850LEQT='LCS*EXECUTION*QUEUE*TIME'
R850LCLT='LCS*CLOUD*ACCESS*TIME'
R850RC ='LCS*RETURN*CODE*TIME'
R850RS ='LCS*REASON*CODE*TIME'
and R850SUB identifies the Subtype/Event
Thanks to Scott Rowe, SSA, USA.
Change 38.099 Sorts of CICS stats sometimes calculated negative DURATM
VMAC110 values for CICS statistics datasets. We also found that
SCICSORT some no longer needed to be deaccumulated. The sort order
UTILBLDP was changed to correct the DURATMs and the DIF logic was
VMXGCICI removed. In addition, only the records which contained
Jul 3, 2020 activity are now output. VMXGCICI was revised to remove
sorts and DIFs that were being done and many steps were
eliminated since it is now a single VMXGSUM execution.
-The CICLDR dataset was missing obs and incorrectly
and accidentally had a number of LDGxxxxx variables
that are now removed. Note that the new logic will
only output observations that had activity. For LDR,
there were 1,098,909 WORK.CICLDR observations but
only 2982 obs were in PDB.CICLDR that actually had
any activity.
-CICFCR dataset now only contains obs with activity,
with 15195 WORK.CICFCR and only 214 PDB.CICFCR.
-Protection for new MNSEGCL=5 5th and 6th triplets for
URIMAP and WEBSVC prevents a STOPOVER, but the two new
datasets were not created until Change 38.114.
Change 38.098 BMC SMF 74 CMF records variable R744STRC was zero, now
VMAC74 corrected by PTF BQM1658 for 6.1, BQM1659 for 6.2.
Jun 23, 2020 Note that MXG can not process both CMF and RMF records
in the same SMF Input file. See Change 38.095.
Change 38.097 Support for APAR OA56684 adds variables in TYPE78IO:
VMAC78 R783GFLX='ALIAS*MANAGEMENT*GROUPS*AVAILABLE?'
Jun 30, 2020 R783GFLX1='EADM*COMPRESSION*FACILITY*AVAILABLE?'
R783GFLX2='SCM*MEASUREMENT*AVAUILABLE?'
R783ISCB='TIMES*BUSY*SCM*OPERATIONS'
R783IECB='TIMES*BUSY*COMPRESS/DECOMPRESS'
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.096 Support for APAR PI98851 adds two variables to DB2STATS:
VMACDB2 QWOSREAL='REAL*STORAGE*ON LPAR*IN MB'
Jun 18, 2020 QWOSFLG1='80X IF*QWOSREAL*IS VALID'
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.095 Variable CMFPROD is now created for all SMF 70-79 records
VMACSMF and will be RMF or CMF-CPM or CMF-IPM and must be used
Jun 17, 2020 TO SELECT CMF or RMF if BOTH ARE WRITING SMF 70-79 data.
MXG can NOT correctly process that duplicated data in
one job. You would use this logic in //SYSIN:
%LET MACFILE= %QUOTE(IF CMFPROD=:'RMF';); or
%LET MACFILE= %QUOTE(IF CMFPROD=:'CMF';);
Change 38.094 SPINCOPY tests for macro variables were UPCASED to
BUILD005 protect for user typing LIBNAME in lower case.
BUIL3005
Jun 15, 2020
Change 38.093 Support for APAR OA59126 which adds two variables to
VMAC30 TYPE30_V,. TYPE30_4, and TYPE30_5 datasets:
Jun 12, 2020 SMF30NRDS='HWM*IN USE*DATA SPACES*DSPSERV'
SMF30DSCC='DATA*SPACES*CREATED*PROBLEM*STATE'
Change 38.092 Labels added.
VMACXAM
Jun 12, 2020
Change 38.091 Running MXG on Windows SAS, the Carbon Black AV product
TECHNOTE (and probably other Anti-Virus programs) caused Errors:
Jun 10, 2020 ERROR: Permanent copy of file Libref.Entity.UTILITY was
deleted. SAS Note 41488 notes show these messages:
WORK._tf000NN.UTILITY /*Where NN is a number. */
WORK.'SASTMP-000NN'n.UTILITY /*Where NN is a number.*/
WORK.ZFMMEM.UTILITY
WORK.SASMACR.CATALOG
and recommends these extensions be excluded:
sd7 sc7 sas7bdat sas7butl sas7bput sas7bcat
sas7bpgm sas7bndx sas7bvew sas7bacs sas7bmdb
sas7bfdb sas7bitm sas7baud sas7bbak sas7bdmd
sas7bods
-ERROR: A lock is not available for WORK.OPTVAR.DATA.
This is extremely random and can occur anywhere in the
SAS job. It may also occur with other anti-virus types
of software as noted in SAS NOTE 36803. SAS suggested
that the following types of datasets be excluded from
monitoring. Disabling Carbon Black resolved the error.
or updating the Anti-Virus program to exclude these file
suffixes is recommended by SAS,
SASWORK
.lck
.sd2
.sc2
.SPDS
.sas*
.utl
ERROR: A lock is not available for WORK.OPTVAR.DATA when
executing MXG on WINDOWS (could be another file name).
The SAS Support reply:
-The lock on the file means the file is locked by another
processes when SAS tries to lock it. That other process
is often a third party application. SAS opens data sets
to update them but closes them at the end of the PROC or
DATA STEP. It is when the data set is closed that the 3rd
party applications open the files (i.e. lock them) and
prevent the next PROC or DATA STEP from opening the data
set. In some cases for a fraction of a second.
-In most cases, a good workaround is to set FILELOCKWAIT
at the top of your sasv9.cfg.
-You can find the location of your sasv9.cfg with
PROC OPTIONS OPTION=CONFIG; RUN;
-How to edit the sasv9.cfg:
The default SAS configuration file(sasv9.cfg) on Windows
is almost always protected by User Account Control (UAC)
because it is in c:\program files. Run notepad (or other
plain text editor like Notepad++) as an administrator to
edit the configuration file so that you can save changes.
-Wikipedia has a good definition of UAC here:
http://en.wikipedia.org/wiki/User_Account_Control
-Click the start circle or go to the start screen so you
can search for notepad in white box type notepad to
search for it(do not open yet)
-Right click on notepad|notepad++ and choose "Run as
Administrator".
-In notepad click File | Open.
-Change the file type you are looking for to all files
*.*
-Browse to the configuration path referenced above and
open the sasv9.cfg
-Make the change and save the sasv9.cfg. (you can leave
it open)
-You do not need to restart your machine and you can do
this live on a system. Any SAS session already running
will not have the setting but all future SAS sessions
will have the setting(s).
-ONLY USE A PLAIN TEXT EDITOR, DO NOT USE MICROSOFT WORD
TO EDIT THE SASV9.CFG
-After you start a new session of SAS you can check
that you have the setting by submitting:
PROC OPTIONS OPTION=FILELOCKWAIT;RUN;
-An alternative: copy sasv9.cfg to another directory, and
add to your SAS startup command:
-config 'newdir\sas.cfg'
Thanks to Kelly Ballamis, Zions Bancorporation NA, USA.
BUT TEN YEARS AGO, MXG NEWSLETTER FIFTY-FIVE, Jan 20, 2010 Reported:
8. Exposure on Windows to FAIL/ABEND with LOCK NOT AVAILABLE ERROR.
SAS Technical Support confirms that execution of SAS under Windows
has ALWAYS been exposed to a LOCK NOT AVAILABLE error because any
file's lock can be "grabbed" by another process at any time, even
a SAS dataset file in the WORK data library! MXG creates a dataset
WORK.ZZdddddd with PROC SORT, reads it with SET ZZdddddd and then
PROC DELETE DATA=ZZdddddd. But in several QA runs under Windows 7,
SAS lost its file lock after the DATA step closed successfully,
causing the PROC DELETE to fail, terminating the QA job:
-"Lock held by another process" is probably caused by a backup
program, antivirus program, encryption, or an indexing
application like Google Desktop that is accessing or touching
the SAS temporary files while they are in use by SAS. If a
backup program or virus scan is running on an interval, that
would explain why the problem is intermittent.
-To fix the lock, add the file extensions used by SAS to the
exclude list of the interfering application; you should exclude
.lck , .sd2, .sc2 , .SPDS, and .Sas*
where the .SAS* wild card excludes these extensions:
.sas7bdat /* DATA */ .sas7bfdb /* FDB */
.sas7butl /* UTILITY */ .sas7bitm /* ITEMSTOR */
.sas7bput /* PUTILITY */ .sas7baud /* AUDIT */
.sas7bcat /* CATALOG */ .sas7bbak /* BACKUP */
.sas7bpgm /* PROGRAM */ .sas7bdmd /* DMDB */
.sas7bndx /* INDEX */ .sas7bods /* SASODS */
.sas7bvew /* VIEW */ .sas /* SAS program file */
.sas7bacs /* ACCESS */
.sas7bmdb /* MDDB */
Caution: careful when excluding non-temporary SAS data sets from
a backup. SAS Recommends that backups occur when SAS is not
running.
Caution two: other applications can use those suffixes:
SC2 - windows scheduler
SD2 - sound designer
LCK - database control
SPDS - ACROBAT
-If the problem application is not a backup program or virus scan
then the cause is still probably a third party program. A way to
determine which program(s) are causing the lock is to use
utility from Microsoft Sysinternals called Process Monitor. You
can download Process Monitor for free from Microsoft at
http://technet.microsoft.com/en-us/sysinternals/
bb896645.aspx?PHPSESSID=d926
Open Process Monitor, click filter and make these 3 changes:
1)Path "begins with" "%temp%\SAS Temporary Files"
(Click ADD) (use your work path name, if different).
2)Process Name is Sas.exe then Exclude (click Add)
3)Process Name is Explorer.exe then Exclude (click Add)
Click Apply and OK.
Then clear the log.
Then start SAS and run the SAS program that creates the lock
error. What Process Name(s) are listed in Process Monitor?
This particular filter doesn't always find the problem.
Usually the best advice is to ask your internal support team
for help using this tool to find the problem
We have not yet been able to identify what process grabbed the
file lock, because the lock conflict is intermittent.
BUT: The pathname of the WORK data library was NOT the
SAS Default, it did not contain the text "TEMP" nor "SAS
Temporary".
We have changed that pathname to the SAS default, and
there has not (YET!) been a lock conflict, so we
presume/assume that the process causing the conflict
automatically excluded scanning of directories with
"TEMP" in their name.
Change 38.090 -SMF 83 Subtype 3 INPUT STATEMENT EXCEEDED because RELO
VMAC83 218 length 1415 exceeded $VARYING1024 guess for maximum.
Jun 10, 2020 LDAP document still shows length 256 for 218.
-RELO segments 113/114 are now supported, new variables
LDAP_POLICY_UPDATED and LDAP_FLGS.
-User observed last update was in 2013, "I did notice the
code had a significant vintage!"
Thanks to Graham Harris, RBS, ENGLAND.
Change 38.089 -Variable R7410FLG (TYPE IS*VIRTUAL*FLASH*MEMORY?) was not
VMAC74 set to 'Y' when true ('80'x), due to typo R710FLG='Y'.
Jun 9, 2020 -Support for these new EADM variables in TYPE7410.
Jun 23, 2020 R7410DFLG='EADM*COMPRESSION*IS*AVAILABLE?'
R7410DOCC='COMPRESSION*OPERATIONS'
R7410DOCD='DECOMPRESSION*OPERATIONS'
R7410DISC='1MB*INPUT*BLOCKS*COMPRESSION'
R7410DOSC='1MB*OUTPUT*BLOCKS*COMPRESSION'
R7410DISD='1MB*INPUT*BLOCKS*DECOMPRESSION'
R7410DOSD='1MB*OUTPUT*BLOCKS*DECOMPRESSION'
This was added by APAR OA56684.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.088 Support for CA VIEW SARR SMF Subtypes 34 and 35 create
EXSARR36 four new datasets:
EXSARR35 DDDDDD Dataset Description
EXSARI36 SARR35 SARRU35 REPORT ARCHIVAL DATE CHANGE
EXSART36 SARR36 SARRU36 CHANGE ARCHIVAL DATE ACTIVITY
VMACSARR SART36 SARRT36 TAPES ACCESSED
VMXGINIT SARI36 SARRI36 INDEXEX ACCESSED
Jun 9, 2020
Thanks to Steven W. Erikkila, USBANK, USA
Change 38.087 ERROR: Utility file open failed using PROC MEANS/SUMMARY
AUTOEXEC with a CLASS statement that includes many variables.
AUTOEXEU -To circumvent the problem, include the NWAY option in the
AUTOEXQA PROC MEANS/ PROC SUMMARY statement. SAS Note 17594 notes:
AUTOEZOS -Without the NWAY option, the procedure tries to create
CONFIG94 with a CLASS statement that includes many variables.
CONFIGEZ being created. This results in the error message above.
CONFIGT9 -Other circumventions include adding the NOTHREADS option
CONFIGVM to the PROC MEANS or PROC SUMMARY statement and/or using
CONFIMXG a BY statement instead of a CLASS statement, or in your
TECHNOTE AUTOEXEC file or CONFIG file.
Jun 8, 2020 -NOTHREADS option was already in CONFIGV9/9N/V9/T9 due to
Change 22.207 and is added in CONFIMXG/CONFIG94/EZ/VM,
and to AUTOEXEC/EXQA/EZOS/EXEU, for the circumvention of
this error.
-NOTE: THE LISTED MEMBERS ARE EXAMPLES: YOUR AUTOEXxx
and/or CONFIGxx are likely changes and will be in your
USERID.SOURCLIB dataset.
Change 38.086 Unused Change Number.
Change 38.085 UCICSCNT analyzes counts and bytes written for SMF 110
FORMATS records by SUBTYPE, APPLID, STID. and MNSEGCL. PROC FREQ
UCICSCNT and DATA steps were replaced with PROC TABULATE, and
Jun 3, 2020 duration added to the final report to see the frequency
of records. Both the average and maximum values are
reported but the MAX is more likely to reflect the actual
DFHSIT record interval for CICS statistics records.
In addition the number of bytes in the subtype segments
and the percentage of the total bytes is included.
-FORMAT $MGCICVER was added to decode the CICS Version.
-An INCODE= exit is added for tailoring, and examples
were added.
-The four Resource Records and the two Identity records,
Subtype 1 MNSEGCL 5 and 6, were not counted, nor were
Subtype 4 Exception records.
CICS RECORD SUBTYPES AND CORRESPONDING MXG DATASETS CREATED:
0=JOURNAL SEGMENT
CICSJOUR (DEFAULT IF UNKNOWN JOURNAL).
CICSSAP (IF IMACICSA ENABLED FOR SAP).
CICSSMED (IF IMACICSM ENABLED FOR SHAREDMED).
1=MONITOR/TRANSACTION
MNSEGCL=1 DICTIONARY RECORD - USED ONLY BY UTILEXCL.
MNSEGCL=2 CICSACCT (NO LONGER, ONLY EXISTED PRE ESA)
MNSEGCL=3 PERFORMANCE CLASS: CICSBAD, CICSTRAN
MNSEGCL=4 EXCEPTION: CICSEXCE
MNSEGCL=5 RESOURCE
COUNTER DATASET
MNR5NUMI CICSRDS CICS RESOURCE DATA CLASS
MNR5NUMF CICSRDFI CICS RESOURCE FILE DETAIL
MNR5NUMT CICSRDQU CICS RESOURCE TSQUEUE DETAIL
MNR5NUMD CICSRDPL CICS RESOURCE DPL DETAIL
MNSEGCL=6 IDENTITY
COUNTER DATASET
MNI6NUMI CICSIDNT CICS IDENTITY TRANSACTION INFO
MNI6NUMD CICSIDND CICS IDENTITY REALM/DISTING
2=STATISTICS ALL OTHER CICXXXXX
3=TS DATA SHARING STATS: CICXQ1,CICXQ2,CICXQ3,CICXQ4
STID: 121 122 123 124
4=CF DATA TABLE STATS: CICFS6D,CICSF7D,CICFS8D,CICFS9D
STID: 126 127 128 129
5=NAMED COUNTER STATS: CICNS4D,CICNS5D
STID: 124 125
Thanks to Luis Mendoza, BKFS, USA.
Change 38.084 Support for CICS/TS 5.6 (INCOMPATIBLE, FIELDS INSERTED).
VMAC110 -New Variables in CICSTRAN:
UTILEXCL SMMVSSCN='SHORT ON*STORAGE*COUNT'
Jun 1, 2020 SMMVSSTM='SHORT ON*STORAGE*DELAY*TIME'
XZZFYPTM='PASSWORD*VERIFICATION*TIME'
XSVFYPCN='PASSWORD*VERIFICATION*COUNT'
XSVFYKTM='KERBEROS*VERIFICATION*TIME'
XSVFYKCN='KERBEROS*VERIFICATION*COUNT'
-New Variables IN CICMNG:
MNGRMI='RMI*OPTION?' (Y/N)
MNGAPPNS='APPLICATION*NAMING*SUPPORT?' (Y/N)
MNGFREQ='FREQUENCY*HHMMSS'
MNGMCTNM='MCT*PROGRAM*NAME'
Change 38.083 Updated and enhanced parameters allow you to select the
ANALINIT reports of interest. Substantial doc improvements, using
May 28, 2020 PDB.JOBS.
Change 38.082 -New ASMRMFV Field Data Filter (FDF) support for the RMF
ADOCRMFV III Enclave Data Table (ENCG3) and an IMPORTANT FIX.
ASMRMFV -The Field Data Filter (FDF) feature of RMF III was added
May 29, 2020 in MXG Change 37.089 and allows you to filter raw RMF
data values when ASMRMFV reads the RMF III VSAM file,
reducing the size of the created RMFBSAM file. You can
filter table entries based on one or more numeric and/or
character fields, and is intended for advanced MXG users
building ad hoc data collection of RMF III data.
Section 31 in ADOCRMFV documents the FDF implementation.
-ASMRMFV can issue incorrect error message RMFV086E FIELD
NAME IS INVALID for a FDF IF expression. Some Variable
Name Table (VNT) entries were missing a required flag
byte thus causing the search for the expression field
name to fail. But some expressions worked fine.
-This is a PERVASIVE problem with the FDF feature and any
MXG users needing to use FDF for RMF III data filtering
should use this version of ASMRMFV, as it impacts all use
of FDF with MXG 37.03 or later.
-ASMRMFV now supports RMF III table fields up to 512
characters in length such as the EDEACCT field in the
ENCG3 table.
-Message RMFV088I is upgraded to support to the new
extended field lengths. There can be several continuation
RMFV088I messages until all character data has been
displayed as well as the equivalent value as hex digits
(0-9, A-F).
-However, when EBCDIC characters are used in an IF
expression as the user provided value ASMRMFV has an
internal limit of 64 hex digits shown in the RMFV088I
message. This is to prevent long repetitive strings of
X'40' hex digits in RMFV088I. The character value is
displayed in full.
-TUTORIAL:
The ENCG3 Enclave Data Table contains some very large
character fields from 32 up to 512 bytes that have
bearing on how an IF expression for these is coded.
When a character string is used in an IF expression all
possible characters are shown in RMFV088I messages
including trailing blanks.
For large fields such as the 512 byte EDEACCT field this
can result in many RMFV088I continuation messages in the
ASMRMFV log showing only repetitive trailing blanks.
Use the ':' (colon) operator modifier in the IF
expression to control the number of RMFV088I messages and
improve the efficiency of the compare process as well.
In this case only the number of characters in the IF
expression are shown in RMFV088I and only those
characters are used in the compare process.
As an example in ASMRMFV SYSIN instead of coding:
IF=(EDEACCT EQ C'ABC') 512 characters shown in RMFV088I
and all 512 are compared.
Use:
IF=(EDEACCT EQ: C'ABC') 3 characters shown in RMFV088I
and only 3 characters compared.
-Assembler options NOXREF and NORXREF added internally to
reduce ASMRMFV assembly output by 41,000 lines or 22%.
-ASMRMFV now automatically uppercases user specified
values in IF expressions for:
Service Class Names
Report Class Names
Workload Names
Resource Group Names
For example:
IF=(ASICNM EQ 'hot batch')
becomes:
IF=(ASICNM EQ 'HOT BATCH')
The WLM ISPF application does not accept lower case
for these names and neither will ASMRMFV. Descriptions
for these names may be mixed case for WLM or ASMRMFV.
-PROCENC subroutine was outputting one less ENCG3 entry in
a RMFBSAM record when there was still room in the output
buffer for one more.
-ADOCRMFV member's documentation has been updated for:
Section Contents
------- --------
0 Contents
5 Input Data Selection Parameters
12 Messages
13 Filtered Records
26 ASMRMFV and MXG PDB Data Relationships
31 Field Data Filtering (FDF)
37 Filtering The ENCG3 Table
40 Filtering The OPDG3 Table
42 Filtering The SCMG3 Table
46 Summary
====== CHANGES THRU 38.081 WERE IN MXG 38.04 DATED MAY 25, 2020 ========
Change 38.081 MXG 3803 only. The WEEKLY BLDSMPDB failed due to a typo
BLDSMPDB in line 667, which has 1 %end;
May 25, 2020 Remove that 1.
The error only occurs if BLDSMPDB is run on z/OA AND only
if WEEK points to a GDG.
Thanks to Jim S. Horne, Lowe's, USA.
Change 38.080 Support for z15 T02 8562 processor's (156 models) values
FORMATS in $MGRMIPS format, used in ASUMMIPS,GRAFCEC,GRAFWLM,
May 24, 2020 GRAFWRKX and VMACRMFV(RMFIII) to map the MIPS per MSU.
If you use those programs to report MIPS, you need 38.04.
Change 38.079 Support for APAR OA59541 for TYPE42 Subtype 27, adds new
FORMATS variables;
VMAC42 SMF42REOS='ERASE*ON*SCRATCH?'
May 28, 2020 SMF42RZRTY='ZHPF*CHANNEL*PROGRAM*FAILED?'
SMF42RCTCAH='TRANSPORT*COMMAND*AREA*HEADER*7FX'
SMF42RCTCAL='TCA*LENGTH'
SMF42RCFDCW='FIRST*DEVICE*COMMAND*WORD'
SMF42RCDSCB='DSCBS*WRITTEN'
SMF42RCLRAB='LOCATE*RECORD*AUXILARY*BYTE'
SMF42RCLRIC='LOCATE*RECORD*IMBEDDED*OP CODE'
SMF42RCLRC ='LOCATE*RECORD*COUNT'
SMF42RCLROP='LOCATE*RECORD*OPERATION'
SMF42RCLROPOR='ORIENTATION'
SMF42RCLROPOB='OPERATION*CODE'
SMF42RCLRAB0='TRANSFER*LENGTH*FACTOR?'
SMF42RCLRAB7='READ* COUNT*CCW?'
SMF42RCLRIC='LOCATE*RECORD*IMBEDDED*OP CODE'
Format $MG042VT was updated for new values, and new
MG042OR and MXG042OB are created.
Change 38.078 zVPS PLSDSPCN LABEL contained an unintended & character.
VMACXAM
May 22, 2020
Change 38.077 DB2 SMF 102 IFCID 143/144 fields QW0143UR/QW0144UR were
ANALDB2R increased to 10 bytes, 6 reserved bytes and new QW0143SI
VMAC102 and QW0144SI were inserted before QW014xUR in VMAC102,
May 22, 2020 and the format for QW0143UR/144UR in ANALDB2R updated.
Thanks to Terry Chao, DC Government, USA.
Change 38.076 Comments revised for the MIPFACTR which is now set from
GRAFWRKX the CPFCNAME using the $MGRMIPS format.
May 20, 2020
Change 38.075 DB2 APAR PH14037/UI65711 corrects the offset in DB2ACCTP
VMACDB2 records for QPACLOCN/QPACCOLN/QPACPKID/QPACASCH/QPACAANM
May 20, 2020 variables, which caused them to still be truncated. The
error was introduced by APAR PH05989/UI61107. There was
no change to MXG code, the IBM APAR corrected the offset.
Change 38.074 PDBAUDIT in BUILDPDB audits the daily PDB size metrics,
PDBAUDIT including the SAS compression percent PCOMPRESS, which
May 19, 2020 can be a negative value, whenever compressing a dataset
would have increased its size, and is reported by SAS:
"Compressing dataset PDB.STCVSM15 increased by 11.43 pct"
These datasets always have a small number of variables.
Thanks to Randy Hewitt, DXC Technology, USA.
Change 38.073 Significant cleanup of ANAL119 after a typo was found in
ANAL119 37.37 version (extraneous 3 preceding a RUN.) IPHOSTS DD
May 16, 2020 is no longer required but will be used if it is present
and all data steps are skipped if the input datasets are
not found.
Thanks to Tom Kelman, ATOS, USA.
Change 38.072 Type 30 Subtype 6 records have accumulated values but not
VMAC30 all INST counts were deaccumulated, CPUASRTM correction
May 15, 2020 was subtracted from raw rather than DIF'd values causing
a spurious warning message, and minimum SMF time .01 sec
was only a few hundred CPUUNITS which caused some small
negative values when CPUASRTM was non-zero.
The subtype 6 interval records are written instead of 2/3
for Early ASIDs, STCs that start before JES is up, like
ALLOCAS CAMASTER CONSOLE GRS JES2AUX PCAUTH RASP
SMSPDSE SMSPDSE1 TRACE
Thanks to Harald Seifert, Huk-Coberg, GERMANY.
====== CHANGES THRU 38.071 WERE IN MXG 38.03 DATED MAY 7, 2020 ========
Change 38.071 SAGANAL option SYNC59 was incorrectly flooring ENDTIME,
SAGANAL but now uses VMXGDUR to set the Interval Started. SYNC59
May 6, 2020 adds 1 minute and uses that hour, so with 15 min interval
data written at SYNC59, these are the hour intervals into
which the 15 min interval data is assigned.
Original 15:59 16:14 16:29 16:44 16:59 17:14
SYNC 0 hour 15 16 16 16 16 17
SYNC 59 hour 16 16 16 16 17 17
Using SYNC59 for SYNC59 data matches common sense.
Change 38.070 CICS Statistics 110-2 with SMFSTRQT='EOD' End of Day data
VMAC110 have invalid large values, with the same value repeated
May 2, 2020 for dozens of unique events in time sequence that would
normally be accumulated values with zero deltas when they
are deaccumulated, BUT EOD are NOT accumulated data. Each
obs is a separate event, and most values are wrong. In
addition, when EOD obs go thru MXG deaccum, obs are lost.
Intervals of 24 hours are not very useful for analysis.
EOD was accidentally set, and you can sum INT data to get
daily totals if that's what you need.
So, I can not make a business case that the EOD interval;
is needed, and with a circumvention, I'm not going to
pursue a PMR that would waste IBM and Customer time.
-When EOD records go thru Deacculation, many observations
are lost; I experimented with CICXML to bypass deaccum
for EOD, which did preserve observations, but I'm not.
going to implement that for other statistics datasets.
DO NOT USE EOD FOR SMFSTRQT STATISTICS REQUEST TYPE.
Change 38.069 XCOM input did not skip the 461 bytes added in 12.0.
VMACXCOM
May 1, 2020
Thanks to Peter J. Gray, DXC, AUSTRALIA.
Change 38.068 Support for Comm Server SMF 119 Subtype 11 ZERT revised
EXT119ZE to create new TYP119ZE dataset for each Zert instance,
IMAC119 which can have more than one obs per record, and remove
VMAC119 those variables from TYP11911 which has only one obs per
VMXGINIT SMF 119 subtype 11 record.
Apr 30, 2020 Updates to 73/74 for ICN1762 for IKET are not done, may
need data.
Change 38.067 Yet another TYPE42 invalid LENSR in Subtype 5 records has
VMAC42 revised the logic to compare the delta between offsets
Apr 30, 2020 with NRSR*LENSR, and if they do not, recalculate length
by dividing the delta by the NRSR, and if the CALCSRLEN
is an integer, use the new length for LENSR, or delete.
This was from old customer data and may not be a current
value, but this should finally eliminate exposures.
Thanks to John Compton, World Programming, ENGLAND
Change 38.066 Dataset ASUMCAPT was not labeled.
VMXGCAPT
Apr 24, 2020
Thanks to Randy Hewitt, DXC, USA.
Change 38.065 UTILROLL will rollup all observations in all datasets in
UTILROLL a data library into all datasets in another data library.
Apr 29, 2020 New examples added to combine PDBs created every four
hours into a daily PDB library, and to copy multiple days
back to WORK for reporting. Modified to use PROC SQL to
get the engine of the output libname on z/OS so it works
for tape or sequential PDBs. Also added FORCE to the
PROC APPEND to prevent warnings and added SORTEDBY and
ALLDATA datasets created by the macro to ROLLDROP.
Change 38.064 -After New Function APAR OA58759 of 3/26/2020 for RMF the
ASMRMFV ERB3RDEC decompression load module does not contain an
Apr 24, 2020 expected FMID. As a result ASMRMFV issues warning message
RMFV091W that the module is not from IBM. Processing
continues normally, but Return Code 0004 is set.
-ASMRMFV will now also check for an 'IBM' character string
in ERB3RDEC before issuing RMFV091W. The RMFV091W message
was also incorrectly formatted.
Change 38.063 Variables WKRSENCP/WKRSENCV/WKRIENCP/WKRIENCV caused
VMACCMFV INVALID DATA messages because they were INPUT as &RB.4.
Apr 24, 2020 (which worked fine when the fields were zeros) but they
are non-zero and are input with &PIB.4 informat.
Thanks to John Kim, TELUS, CANADA.
Change 38.062 -DB2STAT0 variable QW0225_WARN was incorrectly treated as
VMACDB2 bytes, and it is SERVICEABILITY.
Apr 22, 2020 -Support for APAR PI92652 that adds I/O Interrupt CPU time
variables QWSxIIPT variables in dataset DB2STAT4.
-Support for APAR PI82191 that adds 3 _DPAGE variables to
dataset DB2STAT4, which per the APAR text, are now also
subtracted to correct the three _REAL variables. The
APAR text listed a fourth PVTSTG_DPAGE field, but it
does NOT exist in the records with segment length 320.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.061 Support for z/OS Connect EE SMF 123 Version 2 Subtype 1
EXTY1232 records create new TYPE1232 dataset:
IMAC123A DDDDDD DATASET Description SUBTYPE
VMAC123A TY123A TYPE123A Z/OS CONNECT EE AUDIT V1 1
VMXGINIT TY1232 TYPE1232 z/OS CONNECT EE AUDIT V2 1
Apr 30, 2020 TY123C TYPE123C z/OS CONNECT EE API REQUEST 2
Jul 15, 2020 The subtype 1 new version 2 record created new TYPE1232
Feb 2, 2024 to replace TYPE123A because of many new variables.
-Member TYPE123A creates TYPE123A and TYPE1232 for EE
from subtype 1 and added TYPE123C from subtype 2
in Change 39.043 in 2021.
-Member TYPE123 is archaic, for the S/390 Parallel Query
Server SPQS SMF 123 Record datasets DB2SPQS/DB2SPQAB.
-Jul 15 typo spelling SM123SORRCVD corrected.
-Feb 2: no code change, this text was clarified.
Thanks to Adam Banbury, PNC, USA.
Thanks to Robert Carter, PNC, USA.
Thanks to Robert Richards, PNC, USA.
Change 38.060 CICSTRAN observations are written at task termination,
VMAC110 so long running transactions won't have observations,
Apr 9, 2020 but the CICS SET MONITOR command FREQUENCY argument will
create interval CICSTRAN observations, which can be
identified with RTYPE='F'. RTYPE formatted values:
'C'='C:TERMINAL CONVERSE'
'D'='D:USER EMP DELIVER REQUEST'
'F'='F:FREQUENCY REQUEST'
'M'='M:SEMI-PERMANENT MIRROR SUSPEND'
'S'='S:SYNCPOINT'
'T'='T:TASK TERMINATION'
Thanks to Rob Hollingum, HSBC, ENGLAND
Thanks to Renata Hoyland, HSBC, ENGLAND
Change 38.059 -zVPS XAMCUV records with LPARNAME='TOTAL' weren't output
EXXAMCUV because they duplicate the detail record's values. zVPS
FORMATS now sets LCUCPUID=96 for all total records, so the test
VMACXAM to NOT output in EXXAMCUV now tests to skip the 96's.
Apr 8, 2020 This test is located in the Data Set Exit member so that
you can always override my decision to not OUTPUT them.
-Variables LCUCPUID LCXCPTYP are added to the _BXAMCUV BY
list for dataset XAMCUV.
-XAMCUV records have LCXCPTYP=1 for CP/GP engine instead
of zero, so the MGXAMTY format now maps that value also.
Thanks to John Holiday, Queensland Government, AUSTRALIA.
Change 38.058 CIMS/IMF datasets CIMSDBD,CIMSDB2,CIMSMQ had zero obs
VMXGINIT in 37.37-38.02 because the three SELECTDBD/DB2/SELECTMQ
Apr 21, 2020 macro variables added for BUILDIMS were only %GLOBALed
in VMXGINIT where they should have been %LET to defaults.
The three statements have been added to VMXGINIT, but you
can insert these three statements in your //SYSIN for
your CIMS/IMF processing jobs and they will be populated.
%LET SELECTDBD=%STR(OUTPUT _WIMFDBD;) ;
%LET SELECTDB2=%STR(OUTPUT _WIMFDB2;) ;
%LET SELECTMQ =%STR(OUTPUT _WIMFMQ;) ;
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 38.057 Support for SYSVIEW Subtype 2 record creates new datasets
IMACSVIE PDB.SV02INT - Interval Data - One Obs per Minute.
VMACSVIE Merge of 263 datasets, 1440 Obs daily.
VMXGINIT PDB.SV02MQ - MQ Interval Data - One obs per MQ Subsys
Apr 20, 2020 Merge of 25 datasets, 2880 Obs daily.
PDB.SV02LP - LPAR Interval Data - one per ARGEIGHT,
individual LCPUADDR 0000-000B, and ALL
CP,IFA,IIP,SP, 24480 obs THIS LPAR.
PDB.SV02CP - CPUPLPAR for all LPARs, 47520 obs.
PDB.SV02WL - WLM Service/Reporting Class 250560 obs.
PDB.SV02PLOT - Control Variables, one obs/record.
Thanks to Nagaraj Pudokotia, ATOS, INDIA.
Thanks to Martyn Jones, CPTGLOBAL, ENGLAND.
Change 38.056 -If you tried to reset an option with VMXGOPTR to ORIGINAL
ANALHSM that hadn't previously been set using VMXGOPTR, the code
VMXGOPTR generated here was "OPTIONS 1;" which caused ERROR 13-12:
Apr 6, 2020 Unrecognized SAS option name 1, and execution terminated.
-Now: VMXGOPTR detects that that option had not been set,
stores the current value and does not execute OPTIONS.
-ANALHSM was the culprit that exposed the error and was
corrected.
Thanks to Jack Hyde, OPTUM, USA.
Change 38.055 Change 37.123 (MXG 37.04) incorrectly changed variable
VMAC7072 PCTMVSBY which impacted PLCPRDYQ and SHORTCPS in datasets
VMXGRMFI PDB.TYPE70 and PDB.RMFINTRV.
Apr 30, 2020
Thanks to Paul Naddeo, Fiserv, USA.
Thanks to David Bixler, Fiserv, USA
Thanks to Robin Hanley, Fiserv, USA
Thanks to Bernie Ethridge, Fiserv, USA.
Change 38.054 -ALL ASCII SITES SHOULD ENABLE %AUTOINST IN IMACINIT.
AUTOINST -Concurrent ASCII SAS sessions can error due to INSTREAM
IMACINIT file sharing. The same INSTREAM.SAS file is used on ASCII
May 3, 2020 for every session, so multiple concurrent sessions error
because of the unintended file sharing. The new &AUTOINST
%MACRO creates the temporary INSTREAM file in the session
WORK libname, which is not sharable with other sessions.
FILENAME INSTREAM CATALOG 'WORK.TEMP.INSTREAM.SOURCE';
a. Put the %AUTOINST; statement in the member IMACINIT
in your "USERID.SOURCLIB" tailoring library and the
unique file name will always be allocated.
b. Put the %AUTOINST; in AUTOEXEC, replacing the
INFILE INSTREAM statement.
c. Issue the %AUTOINST; in your SYSIN at start.
-ALL ASCII SITES SHOULD PUT %AUTOINST IN IMACINIT.
-z/OS sites can enable %AUTOINST in IMACINIT and then the
INSTREAM filename will always be created if it was not
already allocated.
Change 38.053 Typo, variable not found, QHSSSID should be QWHSSSID.
ANALDB2T
Mar 30, 2020
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 38.052 Spurious WARNING: MISSING %MEND Statement for VMXG344 is
BUILDPDB sometimes printed after prior error conditions; adding
BUILDPD3 the name of the %MACRO to the %MEND eliminates message.
BUILD001
BUIL3001
Mar 29, 2020
Change 38.051 Using the SAS FTP Access Method, &MXGABND=1 is now set so
VMACSMF that errors (e.g. the SMF file is in use) that can cause
Mar 27, 2020 the SAS Session to hang doing nothing, instead will now
terminate with USER ABEND 69.
If the session still hangs, and you have access to the
directory where the SAS log is being written by that
active session, you should be able to get read access to
the active session's log to see if there are messages
before you kill the session.
Thanks to Richard Way, Office Depot, USA.
Thanks to Amlan Mitra, Office Depot, USA.
Change 38.050 Variable QBSTPCO in dataset DB2STATB was always a
VMACDB2 missing value after DB2 Version 9 due to MXG logic
Mar 24, 2020 error for its INPUT.
Thanks to Flavio Lima, US.IBM.COM, USA.
Change 38.049 -New parameter ROLLWEEKS=5 added to let you keep more
BLDSMPDB weeks than the 5 needed to build a month. NOTE: this
Mar 24, 2020 only applies on zOS or ASCII with STATIC libnames.
With GDGs on zOS or AUTOALOC on ASCII ROLLWEEK is
disabled.
-So if you want to keep 6 weeks of rolling weekly
data specify rollweeks=6. If the WEEK6 LIBNAME is
not found an error message is generated.
Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.
====== CHANGES THRU 38.048 WERE IN MXG 38.02 DATED Mar 23, 2020 ========
Change 38.048 Support for z15 INCOMPATIBLE z/VM MONWRITE 6.4.19.1 due
VMACVMXA to insertion of new EXTND256-EXTND287 counters in dataset
Mar 20, 2020 VXPRCMFC and new variables CORCTLMT CORTLSEQ in VXPRCMFM.
Many ERROR. PRCMFC HARDWARE COUNTER UNEXPECTED messages,
and datasets VXPRCMFC/VXPRCMFM have no observations, but
all the other z/VM MONWRITE datasets are not impacted
Thanks to David Campbell, SunTrust, USA.
Change 38.047 Variables R7023DID/R7024DID, Domain ID, are added to the
VMAC7072 end of the BY List for datasets TYPE7002 and TYPE70X, and
Mar 18, 2020 R7023DID is kept in TYPE7002.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 38.046 Data Set Labels were revised:
VMACDB2 DB2PST: DB2 STATS GLOBAL BUFF POOL
Mar 17, 2020 DB2PAT: DB2 GLOBAL BUFF POOL ATTRIBS
Change 38.045 MXG sets option REUSE=NO to prevent a User change to YES
VMXGINIT in this just-discovered obscure option, that controls how
Mar 17, 2020 free-space is used when new observations are added to an
existing compressed SAS dataset, i.e., whether new obs
are inserted in free space or added at the end, but with
REUSE=YES, and COMPRESS=YES, the POINT= dataset option
ABENDs because it cannot open compressed SAS datasets.
MXG uses POINT= and sets COMPRESS=YES default value.
PROC APPEND disregards REUSE=YES, adding new obs at the
end of the dataset. REUSE is an attribute of the dataset
and cannot be changed for that dataset.
Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.
Change 38.044 VSAM Extended Addressability datasets values for sizes
VMAC60 VVRDSHA VVRDSHU VVRHARBA VVRHURBA must be multiplied by
Mar 15, 2020 VVRAMCIV, the CISIZE. New variable VVREXTAD='Y' if this
is an Extended Addressability dataset (not to be confused
with Extended Format datasets).
Thanks to Michael Friske, FMR, USA.
Change 38.043 Documentation only. Example 10 show ways to select or
READDB2 exclude data by QWHSSSID SubSystem ID.
Mar 14, 2020
Change 38.042 Your USER SMF record type descriptions are in IMACSMFF in
IMACSMFF your tailoring, which adds them to $MGSMFID when FORMATS
Mar 13, 2020 is run, but the MXG syntax - an eight-character VALUE,
with a leading blank if TYPE is LT 1000 - was not stated.
A seven-character value without blank caused no error,
but those types had no description in ANALID reports.
Thanks to Jeff Harder, Indiana Farm Bureau Insurance, USA.
Change 38.041 Support for APAR OA57105, adds to TYPE62/64
VMAC62 Dataset TYPE62 New Variables
VMAC64 SMF62JOBID ='JOB*ID'
Mar 12, 2020 SMF62SYSPLEX='SYSPLEX'
Variable SMF62DEF removed, did not exist and caused
variables SMF62DET and SMF62DKL to be missing/blank.
Dataset TYPE64 New Variables
SMF64JOBID ='JOB*ID'
SMF64SYSPLEX='SYSPLEX'
Change 38.040 OMEGAMON TEMS Subtype 35 INVALID ARGUMENT THREE because
VMAC112 the text length was increased from MXG's original guess
Mar 14, 2020 of 256 with a length of 261, so the lengths are now 512.
Thanks to Jim Czechanski, Northwestern Mutual, USA.
Change 38.039 Support for new variables INREI and JCLJJ in TYPETPMX.
VMACTPMX
Mar 5, 2020
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.038 Dataset TYPE73 variable SHIFT was not populated; the code
VMAC73 for IMACSHFT was only in the code blocks for TYPE73P/L.
Mar 4, 2020
Thanks to Mark Hiltbruner, State of South Dakota, USA.
Change 38.037 -MQM Header/Correlation variables that are now kept:
VMAC116 Dataset MQMACCTQ
Mar 11, 2020 QWHCAID QWHCCVMQ QWHCCN
QWHCPSB QWHCPST QWHCTASK QWHCTNO QWHCTRN QWHCXTYP
QWHSACE QWHSIDMQ QWHSISEQ QWHSMTN QWHSRN QWHSSTCK
QWHSWSEQ WTCORREL
Dataset MQMACCT
QWHCAID QWHCCN QWHCCVMQ QWHCNID QWHCOPID QWHCPSB
QWHCPST QWHCTASK QWHCTNO QWHCTRN QWHCXTYP QWHSACE
QWHSIDMQ QWHSISEQ QWHSRN QWHSSTCK QWHSWSEQ
Dataset MQCFSTAT
DSECT WTCORREL WTASINTE WQBASENA
Dataset MQCHININ
QWHSACE QWHSIDMQ QWHSISEQ QWHSMTN QWHSRN QWHSSTCK
QWHSWSEQ
Dataset MQMQUEUE
QWHCAID QWHCCCMQ QWHCCN
QWHCPSB QWHCPST QWHCTASK QWHCTNO QWHCTRN QWHCXTYP
QWHSACE QWHSIDMQ QWHSISEQ QWHSMTN QWHSRN QWHSSTCK
QWHSWSEQ
-Alignment of the WTAS INPUT now populates WTAS variables.
-The code segment for SUBTYPE=2 was relocated.
-Dataset MQMACCTQ is only output for SUBTYPE=1.
Thanks to Richard Simpson, CPTGLOBAL, AUSTRALIA.
Thanks to Martyn Jones, CPTGLOBAL, ENGLAND.
Change 38.036 -TYPEBETA variables L030SRCJCSY/JCUS, S055IPSERVI were
VMACBETA incorrectly spelled in the KEEP= list and are now kept
VMACBE97 as L030SRCJCSYS/L030SRCRCUSR/S055IPSEVI.
Mar 1, 2020 -TYPEBE97 variables B9759STY_1HEX B9759STY_2HEX were also
corrected to B9759STY_1_HEX andB975STY_2_HEX.
Change 38.035 TYPE1131 vars EXTND247/252/264/265 now KNOWN COUNTERs.
VMAC113
Feb 28, 2020
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 38.034 APAR OA59002 corrects invalid values in SMF89UZT in the
TECHNOTE TYPE89 dataset.
Feb 27, 2020
Thanks to Nick Varley, SYNCSORT, USA.
Change 38.033 -SMF Signature Type 2 Subtype 1 and 2 can print MANY log
VMACSMF "BACK2BACK HEADER" messages, if you have changed the
Feb 28, 2020 IFASMFDL program default option SIGSTRIP to NOSIGSTRIP.
IFASMFDL is the "SMFDUMP" program for SMF LogStreams, and
that SIGSTRIP default is to "Strip", i.e. NOT WRITE the
SMF Type 2 Subtype 1/2 records to the Output SMF file.
-The MXG _SMF Record Processing logic that writes those
Header/Trailer/First/Last diagnostics messages was not
updated when the VMAC0203 was updated in 2017, and these
new type 2 records caused spurious log messages. Datasets
TYPE0201/TYPE0202/TYPE0203 were correct as the messages
have no impact on output datasets. You can use
==> TO SUPPRESS PRINTING OF ALL SMF DIAGNOSTIC MESSAGES, USE:
==> //SYSIN DD *
==> %LET SMFPUTHD=NO;
or you can restore your IFASMFDL JOB to SIGSTRIP default,
or you can use VMACSMF with Change 38.033+ (MXG 38.02).
-If you are back-level at MXG 36.04, then you will also
also need the DODSCRDT/READRATE/VMXGINIT members.
Macro variable SMFPUTHD was added in MXG 31.31.
-This _SMF header code is ALWAYS USED WHEN MXG READS SMF,
so you will see those diagnostic messages, when TYPE 2,
subtype 1 or 2 records are present, in the SMF file,
even if you didn't request Type 02 record processing.
Change 35.266 notes "Even After OA?????, SYSTEM='DUMY'
Type 02 14 byte records were still found." and they
still are; the first SMF Header Message with NOSIGSTRIP
has "DUMY' and not the actual system, but the "FIRST"
message that follows will have the actual SYSTEM name.
(The APAR number in that APAR change is lost.)
-There were fifty ID=2 ST 1/2 messages per minute, or
about 288,000 SYSOUT print lines per day, which could
could cause a 722 SYSTEM ABEND.
How did I miss this in 2017 when subtype support was
added? The original customer could not ftp SMF data, so
LIST; was used to print a hex dump of each subtype,
which UTILBHEX converted to readable records, so there
were (only) two back to back (expected) ID=2 records.
You must be at MXG 37.06 or later to use this VMACSMF.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 38.032 Many missing values in WSFAUDIT dataset from TYPEWSF are
VMACWSF valid as the record only contains nulls starting in byte
Feb 26, 2020 153. Vendor is to be contacted.
Change 38.031 Support for APAR OA56683 adds SMFBOOST variables (System
FORMATS Recovery Boost) to dataset TYPE70:
VMAC7072 BOOSTACTIVE='BOOST*ACTIVE*FULL*INTERVAL'
Feb 20, 2020 BOOSTINFO ='BOOST*INFO*PARTIAL*INTERVAL'
BOOSTCLASS ='BOOST*CLASS'
and FORMAT MG070SB decodes BOOSTACTIVE and BOOSTINFO as
ZIP or SPEED or BOTH. CLASS is either IPL or SHUTdown.
Thanks to Martin Packer, IBM, EUROPE!
Change 38.030 The example user tailoring for multiple TMS catalogs in
ADOCTMS5 ADOCTMS5 (that you EDIT into your IHDRTMS5) ABEND 992 if
Feb 20. 2020 the CRDDD days value was greater than 366; now an error
message and hex dump of the first 5 eliminates the ABEND.
Change 38.029 z/VM MONWRITE dataset VXAPLSLM (Z/VM LINUX MEMORY)
VMACVMXA variable SHARERAM is zero if Linux is not RHEL8.
Feb 14. 2020
Change 38.028 -FDF (Field Data Filter) support added for the RMF Monitor
ADOCRMFV III ZFXG3 (zFS Performance Data Table). General ASMRMFV
ASMRMFV support for this table already existed.
VMACRMFV -Sysout output lines from ASMRMFV assembly reduced.
Feb 21, 2020 ** IMPORTANT **
Feb 28, 2020 -National character (@#$) pattern filter is now the '^'
caret character NOT the '.' period character. There was
a conflict when an RMF III table field contained a
DSNAME. The caret character may not print with some
SYSOUT character sets.
-This documentation section in member ADOCRMFV is added
for new FDF support:
44 Filtering The ZFXG3 Table
Remaining existing section numbers are incremented by 1.
-FDF GOVAT macro call for ZFXG3 table was incomplete.
Table selection would not occur when needed if ZFXG3 was
not explicitly selected when using FDF.
-VMACRMFV did not populate variable ENCCFL2 in ZRBENC.
====== CHANGES THRU 38.027 WERE IN MXG 38.01 DATED Feb 17, 2020 ========
Change 38.027 -TYPE42D3 and TYPE42D4 datasets had the below variables
VMAC42 incorrectly INPUT as SMF42Gxx instead of SMFA2Gxx so they
Feb 13, 2020 were not kept nor labeled.
Dataset TYPE42D3
SMFA2GUA SMFA2GUB SMFA2GUD SMFA2GUE SMFA2GUF SMFA2GUG
SMFA2GSH SMFA2GSI SMFA2GSJ SMFA2GSK
Dataset TYPE42D3
SMFA2GVA SMFA2GVB SMFA2GVD SMFA2GVE SMFA2GVF SMFA2GVG
SMFA2GTH SMFA2GTI SMFA2GTJ SMFA2GTK
Some SMF42Gxx and SMFA2Gxx variable's label incorrectly
had "*DASD" which was removed.
Thanks to Michael Friske, FMR, USA.
Change 38.026 -New variables STC28CTP and STC28FLG are now INPUT and
VMACSTC kept in dataset STCVSM28, variables STC19CTP and STC28CTP
Feb 13, 2020 are formatted $MGSTCCT to display Cartridge Type.
Thanks to Randy Hewitt, DXC, USA.
Change 38.025 Support for CICSTRAN Optional CPICAOR/CPICAOR user field
IMACICXC that populates USERCHAR.
UTILEXCL
Feb 12, 2020
Change 38.024 -Support for zVM VXPRCAPM dataset Crypto Types 11,12,13
VMACVMXA CEX5S/CEX6S/CEX7S, which printed "UNDECODED CRYPTO TYPE".
Feb 10, 2020 -Variable IODSSCH in VXIODDEV dataset is incorrect for
intervals with more than 65K I/Os, short by 65K counts,
but RDEVSKCT captures all I/Os, so MXG now sets variable
IODSSCH=RDEVSKCT for those intervals.
Thanks to Graham Harris, RBS, ENGLAND.
Change 38.023 RMF ZFX variables ZFX_IO_WAIT_TIME, ZFX_LOCK_WAIT_TIME
VMACRMFV and ZFX_MONITORED_SLEEP_TIME in dataset ZRBZFX can be
Feb 10, 2020 negative values because the ZfS interface bases average
response times on requests since last statistics reset,
which can be very long. zFS development is aware of their
design flaw but have not yet responded with a correction.
Change 38.022 Label for EXTEND164 was changed for the z14 and z15 to:
VMAC113 EXTND164='DIRWRIT*TO L1-I*ON CHIP*L3 INTVNT'
Feb 10, 2020
Thanks to George A. Frey, PNC, USA.
Change 38.021 PROC TIMEPLOT example to show concurrent job executions
ANALJOBS and SGPLOTS of ANALCNCR statistics for all jobs or for
Feb 9, 2020 selected jobs.
%ANALJOBS(PDB=PDB,INCODE=if JOB I: ('SYS','PAY'));
Change 38.020 Support for TYPE73 variable SMF73CPD Connection Types are
FORMATS added to $MG073CD format.
Feb 7, 2020 '33'X='33X:COUPLING EXPRESS SR' /*OSM*
'34'X='34X:COUPLING EXPRESS LR' /*OSM*
Thanks to Ehren Bailey, Progressive Insurance, USA.
Change 38.019 Support for DB2 APAR PH18739 EPIC 1016 that adds a new
VMAC102 variable QW0389IT='NUMBER*OF INDEX*TRANSVERSALS' to
Feb 6, 2020 dataset T102S389, COMPATIBLE, using a reserved field.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 38.018 SAS levels prior to TS1M6 for ODS PDF should avoid use
TECHNOTE of CONTENTS on the ODS statement. There are several
Feb 5, 2020 errors that can be caused and any graphs may overlay
the contents. For details see:
http://support.sas.com/kb/20/666.html
Change 38.017 -TYPE80A INPUT EXCEEDED ERROR due to a HOME segment that
VMAC80A had no data following, now protected.
Feb 11, 2020 -Support for TYPE80TK fields TOKMARCHIDE,TOKMSISEMAIL,
TOKMARCSISID TOKMIRRDAUTO.
-SMF 80 SHORT EXTENDED RELOCATE FOUND messages were caused
when a field input with $VARYINGnn LEN was increased with
the actual data length LEN that is greater than the nn.
-The TYPE80TOK segments with TOKSUBSY='CSDATA' are "user"
or "customer" fields added by vendors or installations.
One CSDATA record where TOKDANAM=SISLAST was the last in
the record was truncated, with length 16 with only 14
bytes followed. Other SISxxxx segments were the last in
the record and were not truncated. An MXGNOTES is printed
when truncation is detected and protected.
Thanks to Joe Faska, DTCC, USA.
Change 38.016A ANAL95TH uses PROC TABULATE to create 95th percentile,
ANAL95TH mean and max response and resource statistics, with
Feb 5, 2020 two examples of CICSTRAN.CICSTRAN by TRANNAME, one
across all executions and one by TRANNAME for 15 min
intervals, and one for PDB.JOBS by JOBCLASS for hour
intervals, but the syntax can be used for any data.
Thanks to Robert Barth Cross, IBM, USA.
Change 38.016 SGPLOTS referenced &PDBMXG..NATADAPCT which did not
ANALNATR exist. Changed to PDBOUT.NATADAPCT.
Feb 5, 2020
Thanks to Mark Hiltbruner, State of South Dakota, USA.
CHANGE 38.015 See Change 38.061.
CHANGE 38.014A ASCII Execution ERROR: Template 'Styles.MXGxxxx' was
TECHNOTE unable to write to template store when attempting to
Jan 29, 2020 update the FORMAT directory, because a separate SAS
Windows session was using the LIBRARY catalog.
CHANGE 38.014 Support for IMS APAR PH14569(v14) and PH21001 (V15)
VMACIMS which populates the USERID field in IMS 22 log record.
Jan 29, 2020
CHANGE 38.013 Support for BETA93 and BETA97 Version 7.1.
FORMATS -Variables added to BETA9749 dataset:
VMACBETA B9749PGM B9749VER B9749PTF B9749CDT B9749CTM B9749RC
VMACBE97 B9749IC B9749STIME B9749ETIME B9749INFO B9749SELPTM
EXTYB97T B9749SCPUTM B9749SGETIO B9749SPUTIO
EXTYB97U and the accounting fields are correctly aligned now.
EXTYB97V -New dataset BETA9755 variables:
VMXGINIT B9755INDICAT B9755USER B9755IPCLN B9755IPSEV
Feb 13, 2020 B9755IFLGS B9755HOSTIPORT B9755SERVPORT B9755IPHOST
B9755IPCLIENT B9755IPSERV B9755IPSERVI
-New dataset BETA9759 variables:
B9759MAXSUBT B9759CURSUBT B9759STBYTE B9759RQUST
B9759VERSION B9759INTERCNT B9759INTERTIME B9759NTAB1
B9759NTAB2 B9759STY_1 B9759STY_2 B9759ALLCNTW
B9759ALLCNTN B9759ALLCNTS B9759ALLCNTB
-New dataset BETA9759SFF variables:
B9759MJRCPU B9759MJRCPUN B9759MJRSRB B9759MJRSRBN
B9759MJRZIIP B9759MJRZIIPN B9759MJRCPU B9759MJRCPUN
B9759MJRSRB B9759MJRSRBN B9759MJRZIIP B9759MJRZIIPN
-New dataset BETA9759SFF variables:
B9759MNRCPUN B9759MNRSRB B9759MNRSRBN B9759MNRZIIP
B9759MNRZIIPN B9759MNRCPU B9759MNRCPUN B9759MNRSRB
B9759MNRSRBN B9759MNRZIIP B9759MNRZIIPN
-Datasets BETA0, BETA1, BETA55, BETA59 also have new
variables; they are listed in DOCVER38.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
CHANGE 38.012 The MXG member DOCVER documents all variables in all MXG
DOCVLONG datasets, originally one line per variable, but the long
Jan 25, 2020 variable names and MXG's 72-character z/OS limit caused
two lines to be needed. The DOCVLONG program creates the
"DOCVLONG.TXT" file with one line per variable with new
LRECL=94 to contain all the information. This change
corrected an ERROR if the variable name ended in NUM and
was 13 characters long.
ON Z/OS:
// EXEC MXGSASV9
//INDOCVER DD DSN='MXG.SOURCLIB(DOCVER),DISP=SHR
//DOCVLONG DD DSN='MXG.DOCVLONG,TXT,DISP=(,CATLG),
// DD RECFM=FB LRECL=94 BLKSIZE=34500.
// DD SPACE=(CYL,(40,4))
//SYSIN DD *
%INCLUDE SOURCLIB(DOCVLONG);
ON ASCII:
FILENAME INDOCVER 'D:\MXG\SOURCLIB\DOCVER.SAS';
FILENAME DOCVLONG 'D:\MXG\USERID\DOCVLONG.TXT';
%INCLUDE SOURCLIB(DOCVLONG);
CHANGE 38.011 Support for APAR OA57718 that adds new zHyperlink write
VMAC42 statistics to TYPE42DS dataset.
Jan 23, 2020
Change 38.010 If you changed the default SMFAUDIT=YES option to NO,
ANALID to suppress the SMF Audit Report (BUILDPDB,ANALID),
Jan 24, 2020 inside ANALID, the VMXGOPTR utility could fail
MXGNOTE: END OF ANALID
NOTE: Line generated by the macro variable "OPTORG4".
Change 37.245's setting options with VMXGOPTR in ANALID
were mis-located inside SMFAUDIT=YES block in MXG 37.08,
now relocated in MXG 38.01.
Thanks to John Milne, IBM, AUSTRALIA
Change 38.009 If you specified GRAPHS=YES and your system is old and
ANALSIIS not have the option SYSODSGRAPHICS or you are on z/OS
READRATE where it is 0 until an ODS GRAPHICS command is issued,
Jan 24, 2020 the code defaulted to using PROC PLOT where XAXIS is not
supported. ANALSIIS and READRATE were both modified to
use the version executing to choose SGPLOT vs PLOT, and
XAXIS was removed from the PROC PLOT.
Thanks to Mike Martin, North Carolina NCSECU, USA.
CHANGE 38.008 Change 37.149 was in error if first USERADD= was IDMS.
UTILBLDP
Jan 22, 2020
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.007 The BY LIST for PROC MEANS DATA=_LVMAINT inside INTVBLD
VMACVMXA is changed to BY CECSER SYSTEM, removing BEGINMTR, which
Jan 21, 2020 caused tens of thousands of useless statistics.
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.006 Support for IAM 9.3 Spin 3 INCOMPATIBLE due to relocation
VMACIAM and insertion of fields; many new variables in TYPEIAM.
Feb 5, 2020
Thanks to Mike Jacques, BBandT, USA.
Change 38.005 "Expressing Latent Demand as a Single Number" report code
ANALATNC starts by graphing a latency number for all systems by
Feb 5, 2020 interval on a single graph and drills down to individual
systems from there, displaying SMF70U00-15 variables in a
stacked bar graph with the latency number and MVS Busy
for each systems as lines on top of the bar. Latency is a
number based on bucket sizes of the SMF70U: (or SMF70Q:
for older OSes), designed to compress all the buckets to
a single number and allow multiple systems on a single
graph. While interesting, it takes interpretation to make
sense of it, especially since it is logarithmic. I think
IBM may have done this deliberately because the SMF70Q:
variables worked out to exactly 9 using the obvious max
bucket value. I fudged the max bucket value when I went
to SMF70U: variables to make it come out to 10. The main
purpose though is to allow the drill down from a common
start to the system details.
Jim's full paper, and report examples are found at:
https://www.mxg.com/downloads/Latent_Demand
Thanks to Jim S. Horne, Lowe's, USA.
Change 38.004 MXG 37.37 ERROR: INVALID VALUE FOR OPTION ENCODING is
CONFIMXG due to 1024 in CONFIGMXG should be OPEN_ED-1047.
Jan 15, 2020 The JOB fails with 999 ABEND and NO SASLOG is created.
Thanks to Jeff.Harder, Indiana Farm Bureau Insurance, USA.
Change 38.003A FORMAT $MG074OM for dataset TYPE74HO variable R744HOPM
FORMATS has new value '50'x='50x:CL5 10 GBIT/S CEE ROCE'
Jan 15, 2020
Thanks to Scott Barry, SBBTechLLC, USA.
Change 38.003 IDMSTAS dataset now contains UOW and NETNAME variables:
VMACIDMS TASCUOWI='CICS*UOW*ID'
Jan 24, 2020 TASCUOWS='CICS*UOW*SEQ'
TASCNETN='CICS*NETWORK*UOW*ID'
-Variables TASUFLD1-TASUFLD3 are now correctly input for
CICS records (IDM6623 corrected IDM6618).
Thanks to Scott Barry, SBBTechLLC, USA.
Thanks to Paola Rosero, Centre de services partages du Quebec, CANADA
Change 38.002 Variable BYTEPRC='PCT OF*BYTES*WRITTEN' is added to both
VMACTMS5 TMS.TMS and variable BESKEY='TAPE*ENCRYPTION*KEY*INDEX
Feb 7, 2020 is added to TMS.DSNBRECD.
Thanks to Umamaheswara Reddy, JPMCHASE, USA.
Change 38.001 BUILDIMS now works correctly with all selection options.
BUILDIMS See Change 37.221 for details
FORMATS -Variable LTERM in CIMSTRAN dataset from IMF records can
VMACCIMS contain '00'x, which are now translated to blanks.
VMACIMS -New variable INPUTCLNR in dataset CIMSTRAN and LASTCLNR
VMXGINIT in dataset CIMSPROG are created with the decimal class
Jan 20, 2020 number. INPUTCL2 and LASTCLA2 have the HEX values.
====== CHANGES THRU 37.275 WERE IN MXG 38.01 DATED Jan 20, 2020 ========
Change 37.275 SYNCSORT SMF WRKDVTYP and STWKSDEV device type variables
FORMATS values were changed some time in the way past 3350 era,
Jan 9, 2020 but MXG Format MGSYNDV was not updated until now.
Thanks to Randy Hewitt, DXC. USA.
Change 37.274 TYPE1415 Harmless NOTE: DUPLICATE BY VARIABLES, because
VMAC1415 OPENTIME was repeated in _BTY1415 was supposedly fixed
Jan 7, 2020 but wasn't until 38.01.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 37.273 Using TYPE26J2 incorrectly to read JES 3 records caused
VMAC26J2 INPUT STATEMENT EXCEEDED. Change 37.026 had added logic
Jan 7, 2020 to delete those JES3 records when using TYPE26J2/BUILDPDB
but tested for SUBS=3, when SUBS=5 is the JES3 SUBSYS.
LASTCHANGE: Version 38.
=========================MEMBER=CHANGE37================================
/* COPYRIGHT (C) 1984-2020 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG VERSION 37.37 is dated Jan 6, 2020, thru Change 37.272.
MXG VERSION 37.09 was dated Dec 20, 2019, thru Change 37.268.
EarlyA MXG VERSION 37.09 was dated Dec 20, 2019, thru Change 37.267.
MXG VERSION 37.08 was dated Nov 26, 2019, thru Change 37.256.
MXG VERSION 37.07 was dated Oct 22, 2019, thru Change 37.239.
Third MXG VERSION 37.07 was dated Oct 14, 2019, thru Change 37.236.
Second MXG VERSION 37.07 was dated Oct 12, 2019, thru Change 37.235.
First MXG VERSION 37.07 was dated Oct 9, 2019, thru Change 37.234.
MXG VERSION 37.06 was dated Aug 30, 2019, thru Change 37.190.
First MXG VERSION 37.06 was dated Aug 22, 2019, thru Change 37.184.
MXG VERSION 37.05 was dated Jul 8, 2019, thru Change 37.154.
Second MXG VERSION 37.05 was dated Jul 6, 2019, thru Change 37.153.
First MXG VERSION 37.05 was dated Jul 5, 2019, thru Change 37.152.
MXG VERSION 37.04 was dated Jun 5, 2019, thru Change 37.124.
MXG VERSION 37.03 was dated Apr 19, 2019, thru Change 37.091.
MXG VERSION 37.02 was dated Mar 11, 2019, thru Change 37.057.
Updated MXG VERSION 37.01 was dated Feb 3, 2019, thru Change 37.031.
First MXG VERSION 37.01 was dated Feb 1, 2019, thru Change 37.029.
Annual MXG Version 36.36 was dated Jan 4, 2019, thru Change 36.255.
The Last MXG Newsletter SIXTY-NINE was dated Jan 3, 2018.
New TECHNOTES for NEWSLTRS are now in CHANGESS.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 37.37 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 37.37.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame, although there are
no new NEWSLTRS updates; they are now found in CHANGESS as TECHNOTEs.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG VERSION 37.37 DATED Jan 6, 2020, THRU CHANGE 37.272.
==MAJOR CHANGES ADDED IN MXG 37.37, DATED Jan 6, 2020 THRU 37.272.
BUILDIMS 37.271 %BUILDIMS creates all possible IMS data plus report.
CONFIMXG 37.267 DO NOT USE ENCODING=EBCDIC1047, use OPEN_ED-1047.
Data values are corrupted with EBCDIC1047.
ADOCABND 37.270 A TECHNOTE documenting recovery from MXG ABENDS,
TYPE71 37.269 TYPE71 variables SMF72PIS/POS now deaccumulated.,
==MAJOR CHANGES ADDED IN MXG 37.09, DATED Dec 20, 2019 THRU 37.268.
SAS OPTION ISSUE FOR Z/OS ONLY, FOR NONLSCOMPATMODE ISSUES:
which is the z/OS default. EBCDIC1047 corrupts output SAS dataset.
ABENDS CORRECTED
TYPE42 37.261 SMF 42 Subtype 1 TYPE42DS INPUT STATEMENT EXCEEDED.
ASUMMSUS 37.265 ERROR PARM OPTNE NOT DEFINED, typo.
NEW SUPPORT
TYPE99 37.264 SMF 99 Subtype 2 TYPE99_2 new variables added.
TYPEIMS 37.259 IMS SYNCPOINT Log Records IMS5937/5938 keeps all vars
TYPEIDMS 37.260 IDMS dataset IDMSTAS USER Fields were misaligned.
==MAJOR CHANGES ADDED IN MXG 37.08, DATED Nov 26, 2019 THRU 37.256.
TYPE42 37.250 SMF 42 ABEND due to SRLEN=208, now all protected.
VMACSMF 37.249 Using FTP ACCESS from z/OS fails with JFCB issue.
ERRORs CORRECTED
TYPERMFV 37.246 Variables PCIFTET/PCIFTQT in ZRBPCI incorrect.
VMXGSUM 37.245 KEEPALL=NO with INCODE= could cause UNINIT message.
TYPE82 37.241 Several MG082xx formats had wrong hex value.
TYPE102 37.240 Variable QWP4STPGS=STASTPGSAMP/N/Y/S is now INPUT.
NEW SUPPORT
TYPE79 37.242 Support for BMC SMF 70 Subtype 255 creates TYPE70FF.
TYPE70PR 37.243 Vars SMF70LACM/LACA/LACB are now kept in TYPE70PR.
ASMRMFV 37.255 RMF III FDF support for PCIE and SCMG3 tables.
ENHANCEMENT
TECHNOTE 37.247 Example RACF analysis, why USERID was revoked.
TYPE119 37.244 Subtype 3 SMF 119 not written, USERID no SMF access.
DIFFROSC 37.256 New ROSCOE dataset ROSCOMON with all MONITORS.
==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 22, 2019 THRU 37.239.
ERROR CORRECTED
TYPE113 37.239 Support for new SMF 113 CRYPTO17-20 for z/15,
caused ABEND: ARRAY SUBSCRIPT OUT OF RANGE,
only if HIS CRYPTO counters are enabled, and.
only on z/15.
==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 14, 2019 THRU 37.236.
ERROR CORRECTED
TYPE113 37.236 Support for new SMF 113 EXTND255-287 for z/15.
Caused ABEND: ARRAY SUBSCRIPT OUT OF RANGE,
only on z/15.
==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 12, 2019 THRU 37.235.
ERROR:
BLDSMPDB 37.235 CRITICAL ERROR if BLDSMPDB and VMXGALOC are used,
(only on ASCII) due to an extra comma in line 949.
"ERROR:All positional parameters must precede ..."
LIBNAME PDB NOT FOUND.
Remove that comma on line 949 in BLDSMPDB.
==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 9, 2019 THRU 37.234.
ERROR
ASUMMIPS 37.228 Warning message DURATM=INTERVAL conflict.
ANALMSUS 37.217 EXCELDEST not protected for length 0 Warning.
CICINTRV 37.210 Warning if CICINTRV INTERVAL requested can't be used.
IMACICDB 37.200 Optional CICS DBCTL var STATCTM1 too large.
ASUMDB2A 37.199 Correct count of THREADS in DB2 ASUMDB2A/B/G/P/R.
TYPEBETA 37.198 BETA 93 Subtypes 12/17/30/31/55 are now output.
TYPEBE97 37.197 BETA 97 Subtype 51 did not input "New Area" fields.
BUILD005 37.195 PDB.PRINT only populated ACCOUNTn in first obs.
VMXGDSN 37.191 RMM/EDGR in VMXDSN had zero obs for TAPES/TAPEDSNS.
VMACEDGR 37.225 RMM/EDGR dataset EDGRXEXT RDPHYSIZE too small.
NEW SUPPORT
TYPESAPZ 37.222 Support for SAP Z Connector USER SMF record.
TYPE123A 37.221 Support for z/OS Connect EE SMF 123 Version 2.
TYPECADK 37.219 Support for CA-DISK/Sterling DMS DSINDEX file.
TYPEFOCU 37.215 Support for FOCUS Version 7.7 USER SMF Record.
TYPE80A 37.213 Support for RACF TYPE80TK TOKDANAM=AUTOLOGIN.
TYPE113 37.212 Support for z15 Processor SMF 113 RNI equation.
ASMRMFV 37.204 Support for RMF III CRYG3 and XCFG3 and more FDF.
TYPETLMS 37.192 Support for TLMS creates two new datasets.
TYPE0203 37.216 Support SMF Type 2 ST 1/2 GSIG/ISIG variable length.
ENHANCEMENT
TYPE42 37.194 TYPE42DS variables S42DSENT/DSCMT identify zEDC.
ANAL82AU 37.214 ANAL82AU combines SERV and USER obs for TYPE82AU.
VMXGALOC 37.224 Note if you added VMXGALOC to your IMACINIT.
==MAJOR CHANGES ADDED IN MXG 37.06, DATED AUG 30, 2019 THRU 37.190.
TYPEAAM 37.186 Support for IBM Tivoli Advanced Allocation SMF
DODSCRDT 37.189 Spurious INVALID VALUE FOR INPUT FUNCTION message
==MAJOR CHANGES ADDED IN MXG 37.06, DATED AUG 22, 2019 THRU 37.184.
ERROR
ASMRMFV 37.178 Possible S0C4 (37.05) or S0C7 (using FDF)
TYPE82 37.165 TYPE8201 variables SMF82ITE/CKD/LML/USR/PKD wrong.
TYPEBETA 37.160 BETA 93 610 (back level) subtype 40/49 wrong.
TYPE72GO 37.179 Variables METGOAL and PCTMETGOL were wrong.
NEW SUPPORT
TYPERMFV 37.167 z/OS 2.4 Updates for RMF MONITOR III datasets
TYPE74 37.166 z/OS 2.4 Updates for TYPE7402 dataset.
TYPE82 37.183 Support for SMF 82 new Audit TYPE82AU & subtypes.
TYPEMAR 37.181 Support for Hitachi MAR Mainframe Analytics 9.1
TYPEIMS 37.176 Support for IMS LOG TYPE '02'x.
ENHANCEMENT
TYPE1131 37.175 New SIISPCT=STORE INTO*INSTRUCTION*STREAM*PERCENT.
TYPE1415 37.172 Variable SMF14DEF='Y' if dataset is encrypted.
TYPE110 37.168 CICS "identity" variables not kept with UTILEXCL.
DODSCRDT 37.161 New z/OS-ONLY CREATDATE variable can be created.
ANALMSUS 37.157 MSU Consumption from TYPE89 and TYPE30 charts etc.
==MAJOR CHANGES ADDED IN MXG 37.05, DATED Jul 8, 2019 THRU 37.154.
ERROR
TYPE110 37.154 SMF 110 Subtype 1 MNSEGCL=5 INPUT EXCEEDED error.
==MAJOR CHANGES ADDED IN MXG 37.05, DATED Jul 6, 2019 THRU 37.153.
ERROR
TYPE120 37.153 SMF 120 Subtype 3 INPUT STATEMENT EXCEEDED error.
==MAJOR CHANGES ADDED IN MXG 37.05, DATED Jul 5, 2019 THRU 37.153.
FLASH: 37.144: MISSING PERIOD 2/3 OBS IN TYPE72GO MXG 36.07 or prior
after IBM RMF Maintenance for SCM and CRYPTO are applied.
There is NO ERROR with MXG 36.08 (Oct 2018) or later. See Text.
NEW SUPPORT
ANALMSUS 37.157 Powerful set of reports of SOFTWARE MSUs consumption.
READRATE 37.142 New analysis of Read Rate MB/Sec reading SMF data.
TYPEVM 37.130 New VM Account datasets supported.
TYPE42 37.135 Eight more invalid LENSR= TYPE42 subtype 5.
TYPE119 37.127 New variables in datasets TYP11902/TYP11994/TYP11995.
TYPE123A 37.125 Variable/format changes z/OS Connect EE 3.0 SMF 123.
ENHANCEMENT
MXGSTEP 37.152 MXGSTEP tailoring identifies MXG executions.
==MAJOR CHANGES ADDED IN MXG 37.04, DATED Jun 5, 2019 THRU 37.124.
ERRORS CORRECTED
TYPE1415 37.116 WPS 4.1 ONLY, U4087 ABEND,OPTIONS NOWPSSCATTERCOMP.
TYPENDM 37.113 NDM-CDI 24 byte short record INPUT EXCEEDED.
TYPETPX 37.107 Misaligned TPXETIME reported as 8a Oct 27, 1935.
TYPE102 37.100 DB2 zPARM T106S102 variables misaligned.
NEW SUPPORT
TYPEBETA 37.114 Support for updated BETA 93 V6R2 (INCOMPATIBLE).
TYPE7072 37.109 Support for z/OS 2.4 SMF Manual 04Mar19 changes.
TYPE120 37.105 Support for SMF 120 WAS and LIBERTY (COMPATIBLE).
TYPEIMS 37.103 Support for IMS Log Records 5607/5610/5904/5950.
TYPE110 37.102 Support for CICS/TS 5.5 new Statistics (COMPAT).
TYPE110 37.102 All _SCICxxx Statistic SORTS deaccumulate.
TYPE29 37.093 Support for IMS ODBM Accounting SMF 29 Subtype 1.
TYPETMPX 37.121 Support for ThruPut Manager Release 18.02 v7r1.0.
ENHANCEMENTS
TYPEWSF 37.111 Final revisions for WSF/EOS WSFAUDIT AUDACT/OBJN.
BLDSMPDB 37.106 Updated features and documentation.
TYPE7072 37.104 Variables CECSER/CPCMODEL added to TYPE72GO.
TYPECIMS 37.095 New variables in TYPEDBDS (IMF from BMC).
TECHNOTES
TECHNOTE 37.110 Difference between TYPExxxx and TYPSxxxx.
TECHNOTE 37.097 APAR OA65762 NEGATIVE SMF30_TIME z/OS 2.2 only.
==MAJOR CHANGES ADDED IN MXG 37.03, DATED Apr 19, 2019 THRU 37.091.
ERRORS CORRECTED
TYPE92 37.085 SMF 92 Subtype 52 INPUT EXCEEDED, TRSN doc 52 bytes.
TYPEVMXA 37.084 z/VM VXPRCAPM dataset vars CMB10C0-X4 wrong values.
TYPEBE97 37.080A Datasets BETA9706/BETA9706D were not output to PDB.
TYPE74 37.078 TYPE748S var R748SIID fmt $HEX4, no dupes now.
TYPE125 37.075 INPUT STATEMENT EXCEEDED, period missing.
TYPEDB2 37.074 QBSTBPIN always incorrectly calculated before DIF.
VMAC82 37.060 INPUT EXCEEDED SMF 82 ST 31, incorrect length.
NEW SUPPORT
TYPERMFV 37.067 Support for RMF III PCI/SCM/ZFX segments 4 datasets.
TYPEHSM 37.076 Support for HSM FSR Record, Unix filename added.
TYPE99 37.082 SMF 99 ST 12 Capacity Incr/Decr individual decodes.
ANALRMF3 37.068 CF Activity Report, Structure Level, in ANALRMF3.
TYPEDCOL 37.069 zEDC Compression type values revised DCOLDSET/DCOLDC.
TYPE102 37.059 Final corrections for IFCIC 319 support.
ENHANCEMENTS
TYPEXAM 37.081 Analyzing VPS USER dataset, must use INTORSUM='SU'.
TYPEWSF 37.083 Logic revised to use OBJT/ACT for Input choice.
TYPERMFV 37.080 SVPCNM and RPRTCLAS added to all RCD datasets.
TYPEBBMQ 37.073 UNEXPECTED RTIN messages, BBMQ Version 5.4 no change.
ANALID 37.063 Report now shows 26.002 or 26.003 for JES2/JES3.
GRAFWLM 37.061 Bar charts of ZIP and ZIP Eligible added.
TYPE30 37.058 Cosmetic: Uninitialized variable CBPERROR no impact.
TECHNOTE 37.072 ODS Stat graphics procs use JAVA, memory intensive.
==MAJOR CHANGES ADDED IN MXG 37.02, DATED Mar 11, 2019 THRU 37.057.
ERRORS CORRECTED
TYPENDM 37.047 NDM-CDI dataset NDMCT var NDMCPU 256 times too large.
READDB2 37.042 MXG 37.01. Blank WANTONLY Cosmetic %SYSFUNC message
TYPE74 37.040 TYPE749 variable R7491DEFCOMPRATIO wrong value.
TYPE42 37.034 Two more ABENDS invalid SMF 42 LENSR 520/592 protect.
TYPE74 37.032 TYPE749 z/EDC Divide by ZERO protection failed.
TYPE7072 37.044 BMC CMF VERSNRMF values 792 and 794 for z/OS 2.3.
NEW SUPPORT
TYPEDCOL 37.041 Support for APAR OA54897, DCDEXFLG not used FOR zEDC.
MANY 37.037 Support for SMF Manual Changes in Jan 14, 2019 Doc.
TYPEAXW 37.033 Support for Axway V3.3.2 2018/06/27 restructure.
UTILMISS 37.053 Utility to remove all variables that are all missing.
TYPEDB2 37.035 DB2 V12 overlooked Package variables in DB2ACCTP.
TYPE102 37.051 IFCID 319 new variables created and kept.
ENHANCEMENT
JCLPDBJB 37.048 Example "BUIDPDB" creates only JOB-related datasets.
TYPERMFV 37.055 CFACT Coupling Facility Structure Activity Report.
ANALMQ 37.039 MQ Reports replicating IBM's MQSMF program.
ANALHSM1 37.038 Combined TYPE6156+HSMFSRST report, thrashing pri-mig?
TYPE70PR 37.046 SMF70BPS/SMF70ACS expanded for each engine type.
TECHNOTE 37.043 Executing MXG on ASCII, WORK needs to be local.
==MAJOR CHANGES ADDED IN MXG 37.01, DATED Feb 3, 2019 THRU 37.030.
ASMRMFV 37.030 ASMRMFV 36.12-37.01 NOZEROCPU filter didn't.
Caused out of space condition. Typically, NOZEROCPU
filters out 3/4 of the ZRBASI records.
==MAJOR CHANGES ADDED IN MXG 37.01, DATED Feb 1, 2019 THRU 37.030.
ABEND Avoidance
TYPEDB2 37:014 ABEND: DB2 SMF 100 ST 1 NETEAZZA/IDAA DB2STATS.
TYPEVMXA 37.012 ABEND: ZVM MONWRITE NEW 40061802 Service Level.
TYPEVMXA 37.028 ABEND: ZVM MONWRITE new z/VM 7.1 (INCOMPAT).
ERRORS CORRECTED
TYPE92 37.002 TYPE9208 INPUT STATEMENT EXCEEDED, manual wrong.
TYPERMFV 37.001 Some RMF III ZRBASI fields blank/wrong in 36.36.
TYPE119 37.003 TYP11952 SMF119ML_IP_IPV4 wrongly compressed TIRIP.
VMXGPRAL 37.006 Unbalanced parens in variable label, non fatal.
TYPE92 37.017 Many non-fatal corrections were made to type 92.
TYPEEDGR 37.015 RMM variable EDGRTIME had missing values.
ANALCNCR 37.013 New Concurrency example counts steps and tapes.
NEW SUPPORT
TYPEBETA 37.007 Support for Beta93 V6.2 Subtypes 1-3.
TYPE102 37.005 Support for DB2 102 Trace IFCID 404.
TYPESTC 37.018 Support for STC HSC Subtype 32 and 33 new datasets.
TYPE26J2 37.026 Local SubSystem TYPE26J2 not output, SMF6SBS NE 2.
VMXGALOC 37.021 New parms YR2KEEP and BASEYEAR for Yearly PDB.
ENHANCEMENT
EMAIL 37.027 Example added to email SAS CondCode from ASCII SAS.
ANALID 37.016 New report showing total/min/max for each SYSTEM.
VMXGUOW 37.011 Enhanced for easy CICSTRAN-only PDB.ASUMUOW.
ANAL89 37.029 Reference line SMF70LAC (4HRAV) added to MSU plots.
TECHNOTES
TECHNOTE 37.004 Reading z/OS DATA with SAS FTP Access needs RCMD
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M6 (9.4M6), "M6",
or "SAS 9.4 (9.04.01M6P110718)" if the OPTION VERSIONLONG is
enabled.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M6 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.128 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But CONFIMXG is required for sites with NLS issues, and you must
use JCLCONFI to create/update the MXG.FORMATS catalog if you use
CONFIG='MXG.SOURCLIB(CONFIMXG)'.
For no NLS, you can use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 36.11 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
The z15 did INCOMPATIBLY change the SMF 113 records by adding 32
new EXTEND and 4 CRYPTO counters, and those fields were supported
in MXG 37.07 dated Oct 22, 2019. The z/14 also INCOMPATIBLY changed
the SMF 113 record, and that was supported way back in MXG 36.07.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
MXG 37.07 supports the new z/OS 2.4 SMF manual fields, COMPATIBLY.
The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
(which are written if you have zIIP engines AND have enabled the new
PROCVIEW CORE option for Multi-Threading, even if only one thread is
enabled).
The new zEDC compression hardware requires MXG 33.07 to support the
new metrics.
For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166 37.07.
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
z15 New SMF fields (COMPAT) Oct 22, 2018 37.07
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS-TS/5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS-TS/5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS-TS/5.3 GA date Dec 11, 2015 33.33
CICS-TS/5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS-TS/5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS-TS/5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS-TS/5.4 GA Jun 17, 2017 35.03
CICS-TS/5.5 GA (COMPAT) Jan 29, 2018 37.01
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
z/VM 6.40061802 ABEND Jan 17, 2019 37.02
z/VM 7.1 ABEND Feb 14, 2019 37.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2, 5.3, 5.4 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 37.37.
1. Incompatibilities introduced in MXG 37.37:
a- Changes in MXG architecture made between 37.37 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 37.08 after MXG 36.36:
Dataset/
Member Change Description
ANAL82AU 37.214 ANAL82AU combines SERV and USER obs for TYPE82AU.
ANALCNCR 37.013 New Concurrency example counts steps and tapes.
ANALHSM1 37.038 Combined TYPE6156+HSMFSRST report, thrashing pri-mig?
ANALID 37.016 New report showing total/min/max for each SYSTEM.
ANALID 37.063 Report now shows 26.002 or 26.003 for JES2/JES3.
ANALMQ 37.039 MQ Reports replicating IBM's MQSMF program.
ANALMSUS 37.136 Powerful set of reports of SOFTWARE MSUs consumption.
ANALMSUS 37.157 MSU Consumption from TYPE89 and TYPE30 charts etc.
ANALMSUS 37.217 EXCELDEST not protected for length 0 Warning.
ANALRMF3 37.068 CF Activity Report, Structure Level, in ANALRMF3.
ASMRMFV 37.030 ASMRMFV 36.12-37.01 NOZEROCPU filter didn't.
ASMRMFV 37.178 Possible S0C4 (37.05) or S0C7 (using FDF)
ASMRMFV 37.204 Support for RMF III CRYG3 and XCFG3 and more FDF.
ASMRMFV 37.254 MXG 37.05-37.07 CPC parameter PARMS KEYWORD NULL
ASMRMFV 37.255 RMF III FDF support for PCIE and SCMG3 tables.
ASUMDB2A 37.199 Correct count of THREADS in DB2 ASUMDB2A/B/G/P/R.
ASUMMIPS 37.228 Warning message DURATM=INTERVAL conflict.
BLDSMPDB 37.106 Updated features and documentation.
BUILD005 37.195 PDB.PRINT only populated ACCOUNTn in first obs.
CICINTRV 37.210 Warning if CICINTRV INTERVAL requested can't be used.
DIFFROSC 37.256 New ROSCOE dataset ROSCOMON with all MONITORS.
DODSCRDT 37.161 New z/OS-ONLY CREATDATE variable can be created.
DODSCRDT 37.189 Spurious INVALID VALUE FOR INPUT FUNCTION
EMAIL 37.027 Example added to email SAS CondCode from ASCII SAS.
GRAFWLM 37.061 Bar charts of ZIP and ZIP eligible added.
IMACICDB 37.200 Optional CICS DBCTL var STATCTM1 too large.
JCLPDBJB 37.048 Example "BUIDPDB" creates only JOB-related datasets.
MANY 37.037 Support for SMF Manual Changes in Jan 14, 2019 Doc.
READDB2 37.042 MXG 37.01. Blank WANTONLY Cosmetic %SYSFUNC message
READDB2 37.185 APPARENT SYMBOLIC REFERENCE LDB LDB@ACT, no impact.
TECHNOTE 37.004 Reading z/OS DATA with SAS FTP Access needs RCMD
TECHNOTE 37.043 Executing MXG on ASCII, WORK needs to be local.
TECHNOTE 37.072 ODS Stat graphics procs use JAVA, memory intensive.
TECHNOTE 37.097 APAR OA65762 NEGATIVE SMF30_TIME z/OS 2.2 only.
TECHNOTE 37.110 Difference between TYPExxxx and TYPSxxxx.
TECHNOTE 37.247 Example RACF analysis, why USERID was revoked.
TYPE0203 37.216 SMF Type 2 Subtypes 1/2 GSIG/ISIG variable length.
TYPE102 37.005 Support for DB2 102 Trace IFCID 404.
TYPE102 37.051 IFCID 319 new variables created and kept.
TYPE102 37.059 Final corrections for IFCIC 319 support.
TYPE102 37.100 DB2 zPARM T106S102 variables misaligned.
TYPE102 37.240 Variable QWP4STPGS='STASTPGSAMP/N/Y/S is now INPUT.
TYPE110 37.102 All _SCICxxx Statistic SORTS deaccumulate.
TYPE110 37.102 Support for CICS/TS 5.5 new Statistics (COMPAT).
TYPE110 37.168 CICS "identity" variables not kept with UTILEXCL.
TYPE113 37.212 Support for z15 Processor SMF 113 RNI equation.
TYPE1131 37.175 New SIISPCT=STORE INTO*INSTRUCTION*STREAM*PERCENT.
TYPE119 37.003 TYP11952 SMF119ML_IP_IPV4 wrongly compressed TIRIP.
TYPE119 37.127 New variables in datasets TYP11902/TYP11994/TYP11995.
TYPE119 37.244 Subtype 3 SMF 119 not written, USERID no SMF access.
TYPE120 37.105 Support for SMF 120 WAS and LIBERTY (COMPATIBLE).
TYPE123A 37.125 Variable/format changes z/OS Connect EE 3.0 SMF 123.
TYPE123A 37.221 Support for z/OS Connect EE SMF 123 Version 2.
TYPE125 37.075 INPUT STATEMENT EXCEEDED, period missing.
TYPE1415 37.116 WPS 4.1 ONLY, U4087 ABEND,OPTIONS NOWPSSCATTERCOMP.
TYPE1415 37.172 Variable SMF14DEF='Y' if dataset is encrypted.
TYPE26J2 37.026 Local SubSystem TYPE26J2 not output, SMF6SBS NE 2.
TYPE29 37.093 Support for IMS ODBM Accounting SMF 29 Subtype 1.
TYPE30 37.058 Cosmetic: Uninitialized variable CBPERROR no impact.
TYPE42 37.034 Two more invalid SMF 42 LENSR 520 and 592 added.
TYPE42 37.135 Eight more invalid LENSR= TYPE42 subtype 5.
TYPE42 37.194 TYPE42DS variables S42DSENT/DSCMT identify zEDC.
TYPE42 37.250 SMF 42 ABEND due to SRLEN=208, now all protected.
TYPE7072 37.044 BMC CMF VERSNRMF values 792 and 794 for z/OS 2.3.
TYPE7072 37.104 Variables CECSER/CPCMODEL added to TYPE72GO.
TYPE7072 37.109 Support for z/OS 2.4 SMF Manual 04Mar19 changes.
TYPE70PR 37.046 SMF70BPS/SMF70ACS expanded for each engine type.
TYPE70PR 37.243 Vars SMF70LACM/LACA/LACB are now kept in TYPE70PR.
TYPE72GO 37.179 Variables METGOAL and PCTMETGOL were wrong.
TYPE74 37.032 TYPE749 z/EDC Divide by ZERO protection failed.
TYPE74 37.040 TYPE749 variable R7491DEFCOMPRATIO wrong value.
TYPE74 37.078 TYPE748S var R748SIID fmt $HEX4, no dupes now.
TYPE74 37.166 z/OS 2.4 Updates for TYPE7402 dataset.
TYPE79 37.242 Support for BMC SMF 70 Subtype 255 creates TYPE70FF.
TYPE80A 37.213 Support for RACF TYPE80TK TOKDANAM=AUTOLOGIN.
TYPE82 37.060 INPUT EXCEEDED SMF 82 ST 31, incorrect length.
TYPE82 37.165 TYPE8201 variables SMF82ITE/CKD/LML/USR/PKD wrong.
TYPE82 37.183 Support for SMF 82 new Audit TYPE82AU dataset.
TYPE82 37.241 Several MG082xx formats had wrong hex value.
TYPE92 37.002 TYPE9208 INPUT STATEMENT EXCEEDED, manual wrong.
TYPE92 37.017 Many non-fatal corrections were made to type 92.
TYPE92 37.085 SMF 92 Subtype 52 INPUT EXCEEDED, TRSN doc 52 bytes.
TYPE99 37.082 SMF 99 ST 12 Capacity Incr/Decr individual decodes.
TYPEAAM 37.186 Support for IBM Tivoli Advanced Allocation SMF
TYPEAXW 37.033 Support for Axway V3.3.2 2018/06/27 restructure.
TYPEBBMQ 37.073 UNEXPECTED RTIN messages, BBMQ Version 5.4 no change.
TYPEBE97 37.080A Datasets BETA9706/BETA9706D were not output to PDB.
TYPEBE97 37.197 BETA 97 Subtype 51 did not input "New Area" fields.
TYPEBETA 37.007 Support for Beta93 V6.2 Subtypes 1-3.
TYPEBETA 37.007 Support for Beta93 Version 6.2 subtypes 2 and 3.
TYPEBETA 37.114 Support for updated BETA 93 V6R2 (INCOMPATIBLE).
TYPEBETA 37.160 BETA 93 610 (back level) subtype 40/49 wrong.
TYPEBETA 37.198 BETA 93 Subtypes 12/17/30/31/55 are now output.
TYPECADK 37.219 Support for CA-DISK/Sterling DMS DSINDEX file.
TYPECIMS 37.095 New variables in TYPEDBDS (IMF from BMC).
TYPEDB2 37.035 DB2 V12 overlooked Package variables in DB2ACCTP.
TYPEDB2 37.074 QBSTBPIN always incorrectly calculated before DIF.
TYPEDB2 37.251 DB2 Storage Contraction new vars DELTAAV0/AVA/AVB.
TYPEDB2 37:014 ABEND: DB2 SMF 100 ST 1 NETEAZZA/IDAA DB2STATS.
TYPEDCOL 37.041 Support for APAR OA54879, DCDEXFLG not used FOR zEDC.
TYPEDCOL 37.069 zEDC Compression type values revised DCOLDSET/DCOLDC.
TYPEEDGR 37.015 RMM variable EDGRTIME had missing values.
TYPEFOCU 37.215 Support for FOCUS Version 7.7 USER SMF Record.
TYPEHSM 37.076 Support for HSM FSR Record Unix filename added.
TYPEIMS 37.103 Support for IMS Log Records 5607/5610/5904/5950.
TYPEIMS 37.176 Support for IMS LOG TYPE '02'x.
TYPEMAR 37.181 Support for Hitachi MAR Mainframe Analytics 9.1
TYPEMDM 37.015 RMM variable EDGRTIME had missing values.
TYPENDM 37.047 NDM-CDI dataset NDMCT var NDMCPU 256 times too large.
TYPENDM 37.113 NDM-CDI 24 byte short record INPUT EXCEEDED.
TYPERMFV 37.001 Some RMF III ZRBASI fields blank/wrong in 36.36.
TYPERMFV 37.055 CFACT Coupling Facility Structure Activity Report.
TYPERMFV 37.067 Support for RMF III PCI/SCM/ZFX segments 4 datasets.
TYPERMFV 37.080 SVPCNM and RPRTCLAS added to all RCD datasets.
TYPERMFV 37.167 z/OS 2.4 Updates for RMF MONITOR III datasets
TYPERMFV 37.246 Variables PCIFTET/PCIFTQT in ZRBPCI incorrect.
TYPESAPZ 37.222 Support for SAP Z Connector USER SMF record.
TYPESTC 37.018 Support for STC HSC Subtype 32 and 33 new datasets.
TYPETLMS 37.192 Support for TLMS creates two new datasets.
TYPETPX 37.107 Misaligned TPXETIME reported as 8a Oct 27, 1935.
TYPEVM 37.130 New VM Account datasets supported.
TYPEVMXA 37.012 ABEND: ZVM MONWRITE NEW 40061802 Service Level.
TYPEVMXA 37.028 Support for z/VM 7.1 (INCOMPAT, BROKEN CONTROL).
TYPEVMXA 37.084 z/VM VXPRCAPM dataset vars CMB10C0-X4 wrong values.
TYPEWSF 37.083 Logic revised to use OBJT/ACT for Input choice.
TYPEWSF 37.111 Final revisions for WSF/EOS WSFAUDIT AUDACT/OBJN.
TYPEXAM 37.081 Analyzing VPS USER dataset, must use INTORSUM='SU'.
UTILMISS 37.053 Utility to remove all variables that are all missing.
VMACEDGR 37.225 RMM/EDGR dataset EDGRXEXT RDPHYSIZE too small.
VMACSMF 37.249 Using FTP ACCESS from z/OS fails with JFCB Issue.
VMXGALOC 37.021 New parms YR2KEEP and BASEYEAR for Yearly PDB.
VMXGALOC 37.224 Note if you added VMXGALOC to your IMACINIT.
VMXGDSN 37.191 RMM/EDGR in VMXDSN had zero obs for TAPES/TAPEDSNS.
VMXGOPTR 37.252 Restores ORIGINAL, used to always reset if changed.
VMXGPRAL 37.006 Unbalanced parens in variable label, non fatal.
VMXGSUM 37.245 KEEPALL=NO with INCODE= could cause UNINIT message.
VMXGUOW 37.011 Enhanced for each CICSTRAN-only PDB.ASUMUOW.
CONFIMXG 37.267 DO NOT USE ENCODING=EBCDIC1047, use OPEN_ED-1047.
ASUMMSUS 37.265 ERROR PARM OPTNE NOT DEFINED, typo.
TYPE99 37.264 SMF 99 Subtype 2 TYPE99_2 new variables added.
TYPE42 37.261 SMF 42 Subtype 1 TYPE42DS INPUT STATEMENT EXCEEDED.
TYPEIDMS 37.260 IDMS dataset IDMSTAS USER Fields were misaligned.
TYPEIMS 37.259 IMS SYNCPOINT Log Records IMS5937/5938 keeps all vars
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== CHANGES THRU 37.272 WERE IN MXG 37.37 DATED Jan 6, 2020 ========
Change 37.272 If you did not specify EXCELDEST you could get WARNINGs:
ANALMSUS Argument 2 to macro function %SUBSTR is out of range
Jan 5, 2020 Argument 3 to macro function %SUBSTR is out of range
Change 37.271 %BUILDIMS can create all current MXG IMSLOG datasets and
BUILDIMS REPORT=YES (default) prints counts of bytes/records for
FORMATS each LSUBCODE; REPORT=ONLY will produce only the report.
VMACCIMS Not all IMS Log Records create MXG datasets; many records
VMACIMS are for database recovery with no performance metrics,
VMXGINIT but support will be added upon request and test data.
Jan 5, 2020 // EXEC MXGSASV9
//IMSLOG DD DSN=YOUR.IMS.LOG.DATA,DISP=SHR
//PDB DD DSN=YOUR.IMS.PDB,DISP=(,CATLG),SPACE=....
//SYSIN DD *
%BUILDIMS(REPORT=YES,
WANT= F9 FA 56FA,
IMSVER=14.1,
START= '01JAN2020:08:00:00'DT,
END = '01JAN2020:10:00:00'DT);
Note: REPORT=YES reports all IMS Log Records in input and
is not impacted with WANT/START/END/IMSSYSTEM selections.
See comments in member BUILDIMS for documentation.
Thanks to Randy Hewitt, DXC. USA.
Change 37.270 A TECHNOTE documenting how to recover from MXG ABENDS.
ADOCABND
Jan 1, 2020
Change 37.269 TYPE71 variables SMF71PIS/SMF71POS, 4K TO/FROM SCM are
VMAC71 accumulated fields, so they are correct only when TYPS71
Dec 23, 2019 (or BUILDPDB) is used, since the deaccumulation is done
in the _STY71 Data Set Sort Macro, and will always be
missing values in the first obs from each SYSTEM.
Thanks to Graham Harris, RBS, ENGLAND.
====== CHANGES THRU 37.268 WERE IN MXG 37.09 DATED Dec 20, 2019 ========
Change 37.268 Variable SM116EVT in MQMACCTQ and MQMQUEUE datasets was
VMAC116 not set for Task Terminated; test for '21'x was wrong and
Dec 20,2019 changed to four byte test for '200800000'x for Terminate
and '00080000'x for Initiate.
Thanks to Scott Barry, SBBWORKS, INC, USA.
====== CHANGES THRU 37.267 IN EARLY ADOPTER MXG 37.09 DATED Dec 20, 2019
Change 37.267 z/OS: ENCODING=EBCDIC1047 corrupts data; OPEN_ED-1047 is
CONFIMXG and has been REQUIRED for MXG, and is the z/OS Default.
VMXGINIT With ENCODING=EBCDIC1047 character variables with '15'x
Dec 12, 2019 byte value are changed to '25'x, and byte values of '25'x
are changed to '15'x! Those are the New Line & Line Feed
characters that swap. You can display your options with:
PROC OPTIONS OPTION=ENCODING;
PROC OPTIONS OPTION=LOCALE;
PROC OPTIONS OPTION=NLSCOMPATMODE;
-You can add an ENCODING=OPEN_ED-1047 statement in your
CONFIGV9/CONFIMXG/CONFIGxx tailoring member, or you can
set with // EXEC SAS94,OPTIONS='ENCODING=OPEN_ED-1047'
-Not only can character bit tests and formatted values be
wrong, some numeric TODSTAMP datetime fields are created
from character variables when shorter than 8-bytes, using
DATETIME=INPUT(CHAR6!!'0000'x),TODSTAMP8.);
Changing the second byte from '15'x to '25'x is 30 days.
-VMXGINIT is enhanced to print error message if ENCODING
option is not OPEN_ED-1047.
-And, OPEN_ED-1047 does work with NONLSCOMPATMODE, And SAS
in 2016 without documenting it, said they were NOT going
to remove NLSCOMPATMODE nor NONLSCOMPATMODE options.
-If you depend on NLS characters, the CONFIMXG option was
created by SAS to support NLS sites, see that member.
Thanks to Andrew Gadsby, SAS UK, ENGLAND.
Thanks to Andy Knight, SAS UK, ENGLAND.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Thanks to Mark Tomlinson, Lloyds, ENGLAND
Change 37.266 Parameters DATETIME= and INTERVAL= were not specified in
TRNDDB2P VMXGSUM invocation, causing little or no summarization.
TRNDDB2R
Dec 11, 2019
Thanks to Marybeth Delphia, CPA.TEXAS.GOV, USA.
Change 37.265 If you did not specify PDBOUT the correct dataset(s)
ANALMSUS names were not generated.
Dec 11, 2019 -The use of substitution macros in IMACKEEP made ANALMSUS
fail if you tried to run it twice in a single SAS
session. Those affected macros are now nulled out.
-OPTIONS NOBYLINE was set but there were no BY values
in the TITLE statements - there are now.
-MXG 37.09 ONLY. ERROR KEYWORD PARM OPTNME NOT DEFINED,
now correctly spelled as OPTNAME.
-Eliminated a WARNING about SUBSTR out of range when
EXCELDEST was NULL.
Thanks to Jan Tielemans, KBC, BELGIUM
Change 37.264 SMF 99 Subtype 2 TYPE99_2 dataset did not input the many
VMAC99 variables that had been added in z/OS 2.3.
Dec 15, 2019
Thanks to Betty Wong, Bank of America, USA.
Change 37.263 READDB2 didn't create the T102SSSS and T102S000 datasets
READDB2 when a numeric IFCID was in the IFCIDS= parameter. Now,
Dec 10, 2019 it does unless T102SSS/T102000 are set to NO.
Logic to parse strings for each dataset was simplified
and relocated to a separate macro to simplify ongoing
maintenance.
Change 37.262 Replaced by Change 37.271.
BUILDIMS
Jan 1, 2020
Change 37.261 TYPE42 INPUT STATEMENT EXCEEDED subtype 6 due to a short
VMAC42 S42DSSNL=72 segment when SMF manual had 80, probably due
Dec 7, 2019 one of the APARs in Change 37.250.
-Subtype 5, LENSR=208 records were deleted (Change 37.260)
with log message, but now they are output and the extra
48 bytes are skipped.
Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.
Change 37.260 IDMS dataset IDMSTAS fields were misaligned because the
VMACIDMS new variable TASBJBID was inserted in the record.
Dec 6, 2019
Thanks to Paola Rosero, Government of Quebec, CANADA
Change 37.259 IMS SYNCPOINT Log Records IMS5937 and IMS5938 only kept a
VMACIMS small number of variables, now all fields in the record
Dec 16, 2019 are kept.
Thanks to Randy Hewitt, DXC. USA.
Change 37.258 Earlier releases of the %SCAN function of the %MACRO
READDB2 COMPILER returned the input string if there was only
Dec 1, 2019 a single string for the delimiter that was used, which
required extra MXG logic to correct, and which could fail
if AAAA was used, with no BBBB, and there was a CCCC but
no space between the two slashes, causing CCCC to be seen
as the BBBB argument, raising a WORD2 macro error. Now,
SAS returns the string correctly so the excess MXG logic
could be removed along with this (rare) exposure.
-If all you requested with WANTONLY was DB2ACCT DB2ACCTW
was also produced.
Thanks to Ervin Claxon, CSX, USA.
Change 37.257 This member will work but is obsolete and has been
TRNDRMFN replaced by TRNDRMFI. The biggest difference is in the
Nov 29, 2019 input dataset. This member uses PDB.RMFINTRV which would
only get a single days PDB as input while the TRNDRMFI
member uses WEEK.RMFINTRV which would be all of the days
of the week.
Thanks to Wayne Bell, UNIGROUP, USA.
====== CHANGES THRU 37.256 WERE IN MXG 37.08 DATED Nov 26, 2019 ========
Change 37.256 ROSCOE new dataset PDB.ROSCOMON contains an observation
DIFFROSC for each of these MONITOR values:
Nov 19, 2019 ALL AMS ATT CON CPL DIS DSF ETS HEX IMP
JCL LIB LOO OTH OUT PUR SOR UTI VTO ZAP
and variable MONITOR contains the monitor acronym.
The Monitors AUD AWS RPS SHU STA VPE are not included,
as they have always had a separate ROSCOxxx dataset.
Thanks to Linda S. Berkley, DISA, USA.
Change 37.255 -FDF support added for the RMF Monitor III PCIG3 (PCIE
ADOCRMFV Activity Data Table) and SCMG3 (Storage Class Memory Data
ASMRMFV Table). General ASMRMFV support for these tables already
Nov 19, 2019 existed.
-Improved ASMRMFV FDF handling of 16 byte binary
Fields using Extended Floating Point arithmetic.
-Minor corrections made to ASI, CPD, GEI, OPD, SPG, and
SSHG3 FDF Variable Name Tables.
-Main storage reduction made for FDF Alias and True
Name entries in Variable Name Tables.
-FDF now uses only 1 pattern table for all character
Fieldnames instead of a pattern table for every character
Fieldname when a user character pattern compare occurs.
-Message RMFV088I now shows XFP (Extended Floating Point)
tag for 16 byte quadword fields during FDF processing.
-Floating point fields were not always scaled by FDF
when required prior to comparisons to a user value.
-When the maximum 32K LRECL output length to RMFBSAM would
be exceeded in PROCCPU, PROCCFI, and PROCRCD subroutines
the entire RMF III table will now be skipped. This should
be a very rare event.
-Section 12 Messages updated in ADOCRMFV.
-These documentation sections in member ADOCRMFV are
added for new FDF support:
40 Filtering The PCIG3 Table
41 Filtering The SCMG3 Table
Remaining existing section numbers are incremented by 2.
Change 37.254 -MXG 37.05-37.07. When CPC parameter was specified,
ASMRMFV Message RMFV057I PARMS KEYWORD VALUE IS NULL printed
Nov 16, 2019 and neither CPCDB nor CPUG3 tables were selected.
-PCIG3 table support was not checking the z/OS release.
Only z/OS 2.3 and higher releases are supported.
Inputting a PCI table from a lower release results in an
MXG build failure. PCIG3 tables from older releases will
now be ignored. Applies to MXG Releases 37.03 and up.
Change 37.253 Cosmetic. Labels were blank for these variables/datasets
ASUM70PR STCVSM32 variable SMLSSMF32
VMAC102 ASUMCEC variable CPUICFTM
VMAC113 TYPE1131 EXTND22x variables had COUNTER 225 UNDEFINED
VMAC120 FOCUSMSO variables FOCUMEMA,FOCUMEMB
VMAC26J2 TYPE26J2 variable SUBS
VMAC82 TYPE82 variable SMF82_TAK_KEY_EVENT
VMACSTC TYPE120 variable SMF1209HW
Nov 18, 2019 T102S106 variable QWO4ADM2-QWO4SADM
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 37.252 During QA testing we found that 250 members changed a
VMXGOPTR SAS system option but did not return that option to its
MANY original value, which could impact subsequent programs
Nov 18, 2019 in that SAS job step or SAS Session. Previously, with
NEWVALUE=ORIGINAL, VMXGOPTR reset the option to its
value PRIOR to the LAST VMXGOPTR invocation, but now
it is restored to the original value of the SAS Session
or batch STEP, and all 250 members now have pairs of
VMXGOPTR to change and to then reset options to their
ORIGINAL value.
Example of use of VMXGOPTR with this change with the
original option DSNFERR having value DSNFERR:
%VMXGOPTR(OPTNAME=DSNFERR,NEWVALUE=NODSNFERR);
this code executes with NODSNFERR
%VMXGOPTR(OPTNAME=DSNFERR,NEWVALUE=NODSNFERR);
this code executes with NODSNFERR
%VMXGOPTR(OPTNAME=DSNFERR,NEWVALUE=ORIGINAL);
subsequent code executes with DSNFERR.
With the original VMXGOPTR, the subsequent code was
executed with NODSNFERR, which was wrong.
-The report members also set TITLE and FOOTNOTEs to null
to prevent carry-forward for following program reports.
Change 37.251 New DB2STATS variables DELTAAV0/AVA/ACB are negative when
VMACDB2 storage contraction starts, and the value is the number
Nov 7, 2019 of pages needed. Values for Available, DBM1 and DIST are
created. IBM reports, with this ZPARM (xxxxxxxx) "AUTO",
contraction will begin when paging is detected and DB2
will try to bring a system to a point where paging is
minimal or non-existent. DB2 will enter a full
contraction mode if 100% of REALSTORAGE_MAX is hit, when
message DSNS0003I is issued, and the discard will start,
if PM99575 is applied. DB2STATS variable QSST_RSMAX_WARN
counts the number of times the REALSTORAGE_MAX Warning
was reached in each interval.
Thanks to Sieghart Seith, FICUCIA, GERMANY.
Change 37.250 SMF 42 Subtype 5 APAR OA52133 causes ABEND with LENSR=208
VMAC42 in SMF42SRL and a 208 byte segment, APAR OA54663 corrects
Nov 7, 2019 setting SMF42SRL=160 with only a 160 byte segment. New
length was introduced by the usermod ++APAR for OA52133,
when it was still in development, and before OA54663.
-Below Change Text was insufficient to protect for 208,
and logic was completely revised in Change 37.261, 37.09.
To protect for future invalid lengths to avoid ABENDs,
MXG logic first tests for a delta of 160 bytes between
Storage Class Name fields and uses LENSR=160 if true,
or the SMF42SRL value is tested for a valid delta, and
uses that value if true. Otherwise, the record is
skipped with an MXGNOTE on the log.
Thanks to Hiroshige Koshigoe, FTB CA, USA.
Thanks to Sarel Swanepoel, SARS, SOUTH AFRICA.
Change 37.249A The FTP ACCESS method executing on z/OS to read z/OS data
CHCK4FTP fails because the expected JFCB/DSCB tokens do not exist
Nov 22, 2019 with the SAS FTP Access method.
-Most MXG use of the FTP ACCESS method executes on ASCII
to read z/OS SMF data, which does not have this exposure.
-There are two ways to use z/OS to z/OS ftp:
Using SMF as an example DDNAME/INFILE name:
FILENAME SMF FTP "'MYSMFDATA'" HOST='IP ADDRESS'
USER='USERNAME' PASS='PASSWORD' S370VBS LRECL=32760
RCMD='SITE RDW';
%LET MXGJFCB=;
%LET MXGDSCB=;
%INCLUDE SOURCLIB(BUILDPDB);
or
FILENAME SMF FTP "'MYSMFDATA'" HOST='IP ADDRESS'
USER='USERNAME' PASS='PASSWORD' S370VBS LRECL=32760
RCMD='SITE RDW';
%CHCK4FTP(DDNAME=SMF);
%INCLUDE SOURCLIB(BUILDPDB);
-The %CHCK4FTP(DDNAME=yourdd); in example two validates
that that DDNAME is allocated and then detects the engine
type, and for FTP, MXGJFCB and MXGDSCB macro variables
are blanked to prevent the JFCB/DSCB error.
Thanks to Mike Martin, NC State Employee's Credit Union, USA.
Change 37.249 %DSCRDT now defaults to a null value and is enabled by
DODSCRDT using %INCLUDE SOURCLIB(DODSCRDT); in your //SYSIN.
VMXGINIT -These INFILE names can be enabled for these TYPExxxx:
Nov 26, 2019 TYPExxxx: TYPECTLT TYPEDCOL TYPEEDGR TYPERMFV
INFILE: CONTROLT DCOLLECT EDGHSKP RMFBSAM
TYPExxxx TYPETMS5 TYPEIMS
INFILE: TMC IMSLOG
See change 37.161 for the original addition.
Change 37.248 Unused Change Number.
Nov 4, 2019
Change 37.247 Example analysis to track down why USERID was revoked.
TECHNOTE
Nov 4, 2019
SUMMARY: Userid for an inbound FTP process had the wrong password,
eventually userid was revoked, but the MVS RACF SYSLOG message was
misleading, as it was expected to be a VTAM LU, but it is the value
"A86CF325" in message that matches the RACFTERM:
MVS SYSLOG excerpt
ICH408I USER(FCADOU4 ) GROUP(ADOFTP ) NAME(FTPS ID CDS T4) 546
LOGON/JOB INITIATION - INVALID PASSWORD ENTERED AT TERMINAL A86CF325
IRR013I VERIFICATION FAILED. INVALID PASSWORD GIVEN.
MXG TYPE8001
RACF*USER*NAME [RACFUSER] FCADOU4
EVENT*CODE*QUALIFIER [RACFQUAL] 101:INVALID PASSWORD
RACF/VTAM*TERMINAL*NAME USED [RACFTERM] A86CF325
MXG VMAC80A: INPUT RACFTERM $EBCDIC8. /*@43 SMF80TRM*/
RACF MACROS and INTERFACES Documentation
SMF80TRM 8 EBCDIC Terminal ID of foreground user (zero if not avail)
MXG TYP11902
CONNECTION*ESTABLISHMENT [TTSTIME] 26OCT2019:09:03:17.99
TIMEWAIT OR*LASTACK [TTETIME] 26OCT2019:09:03:18.22
REMOTE*IPV6*ADDRESS [TTRIPV6] 0000:0000:0000:0000:0000:FFFF:A86C:F325
(matches RACFTERM from Type 80, and the MVS RACF ICH408I message)
Change 37.246 Dataset ZRBPCI variables PCIFTET and PCIFTQT were input
VMACRMFV incorrectly as milliseconds (PIB8.3) units, but they are
Oct 31, 2019 both microseconds (PIB8.6), with TIME13.3 print format.
Change 37.245 If you KEEPALL=NO or %LET MXGKEEP=NO and your VMXGSUM
VMXGSUM invocation had an INCODE= you might have gotten an
Oct 30, 2019 UNINIT message on one or more variables in the INCODE
that were not also referenced in one of the parameters.
This change modifies KEEPALL to YES if INCODE is used.
Change 37.244 Observations from Subtype 3 SMF 119 records were not
VMAC119 output because some of the Production UserIds did not
Oct 30, 2019 have read access to the SMF unix Facility, which is
required for SMF record to be written.
Thanks to Aslyona Bertneski, Express-Scripts, USA.
Change 37.243 Variables SMF70LACM SMF70LACA and SMF70LACB are now kept
VMAC7072 in TYPE70PR dataset to aid in SCRT comparisons. They
Oct 28, 2019 have been in TYPE70 since Version 33.
Thanks to Ken Deering, Compuware, USA.
Change 37.242 Support for BMC SMF79 Subtype 255 creates new dataset:
EXTY79FF DDDDDD Dataset Description
FORMATS TY79FF TYPE79FF BMC SMF 79 SUBTYPE 255
IMAC79
VMAC79
VMXGINIT
Oct 28, 2019
Thanks to Randy Hewitt, DXC, USA.
Change 37.241 Several MG082xx format for SMF 82 records had wrong hex
FORMATS value displayed, but the text description was correct.
Oct 27, 2019
Thanks to Ron Rust, Worldpay, USA.
Change 37.240 DB2 Variable QWP4STPGS='STATPGSAMP/N/Y/S' was not INPUT
VMAC102 in T102S106 dataset.
Oct 24, 2019
Thanks to Lai Fai Wong, Bank of America, USA.
====== CHANGES THRU 37.239 WERE IN MXG 37.07 DATED Oct 22, 2019 ========
Change 37.239 Support for z/15 SMF113 records new CRYPTO17-CRYPTO20
VMAC113 counters (ERROR: ARRAY SUBSCRIPT OUT OF RANGE ABEND),
Oct 22, 2019 only if you had enabled the HIS CRYPTO counters.
Thanks to Steven W Erkkila, USBANK, USA.
Change 37.238 Support for NDM-CDI 'S#' record type is now output in
VMACNDM existing NDMAE dataset.
Oct 16, 2019
Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.
Change 37.237 Cosmetic. STARTIME syntax modified to eliminate notes
ASUM42DS from VMXGSUM internal invocation.
Oct 15, 2019
====== CHANGES THRU 37.236 WERE IN MXG 37.07 DATED Oct 14, 2019 ========
Change 37.236 Support for z/15 SMF 113 records new EXTEND256-EXTEND287
ANALSIIS counters, with corresponding ARRAY size increases, CAUSED
VMAC113 ERROR:ARRAY SUBSCRIPT OUT OF RANGE ABEND. In ANALSIIS,
Oct 14, 2019 SORT order was corrected.
Thanks to Tony Curry, BMC, USA.
====== CHANGES THRU 37.235 WERE IN MXG 37.07 DATED Oct 12, 2019 ========
Change 37.235 CRITICAL ERROR if BLDSMPDB+VMXGALOC is used on ASCII.
BLDSMPDB An ending comma in line 949 of BLDSMPDB caused
Oct 12, 2019 ERROR: All positional parameters must precede keyword.
Remove the comma in line 949 of BLDSMPDB.
====== CHANGES THRU 37.234 WERE IN MXG 37.07 DATED Oct 9, 2019 ========
Change 37.234 DB2 variables added to DB2ACCT and DB2STATS datasets:
VMACDB2 QXSTEHLST='EXECUTION*HISTORY.LOST'
Oct 8, 2019 QXSTHVLST='HV*RECORDING*HISTORY*LOST'
QXRFMIAP='RID*LIST*PROCESSING*NOT USED'
Thanks to Warren Cravey, Fidelity, USA.
Change 37.233 CICS variable ABCODE created by UTILEXCL was the concat
UTILEXCL of ABCODE113!!ABCODE114, but using INPUT ABCODE $EBCDIC8.
Oct 8, 2019 eliminated the need for that statement, which caused
ERROR: The name ABCOD113§§ABCOD114 is not a valid SAS name
when UTILEXCL was run on Linux. A track with SAS will be
opened to resolve that error, because double exclamation
points are used 6900 times in MXG for concatenation, but
this code matches the VMAC110 code and should have been
there some time ago, just for consistency, but now for
circumvention.
Change 37.232 -If CICS Dynamic Transaction Routing, DTR is used, the
VMAC110 CICSTRAN has PROGRAM='########' which historically was
VMXGINIT ONLY used when there was an invalid transaction name
Oct 9, 2019 typed in by the user, which caused many fields to be
missing values, so MXG instead output the transaction
to the CICSBAD dataset. But now, if you enable DTR,
the observation count in CICSTRAN may drop dramatically
by the number of obs output in CICSBAD. There does not
appear to be a flag that identifies DTR was used.
You will need to set
%LET MXGCICSDTR=YES;
to cause MXG to output ALL transactions with '########'
values to CICSTRAN instead of to CICSBAD.
-The original test for CICSBAD also tested TRANFLAG for
a bit that indicated invalid times in the record, but
IBM removed that bit, so that bit test was removed.
-Changes 23.312 and 24.155 document PROGRAM='########';
Thanks to Scott Barry, SBBWORKS, INC, USA.
Change 37.231 z/VM 6.4.18.2 BROKEN CONTROL RECORD in IODVSW extended
VMACVMXA INPUT for SKIP GE 20 was missing the @ at the end.
Oct 7, 2019
Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.
Change 37.230 If you specified DURATM=INTERVAL with INTERVAL= values of
VMXGSUM TWOMIN THREEMIN or TWENTYMIN the DURATM was not created.
Oct 6, 2019
Change 37.229 Doc only change - corrected spelling and syntax.
ANALCAPD
Oct 5, 2019
Change 37.228 -Format $MGRMIPS is updated for the z/15 processor type
ASUMMIPS 8561 to map the CPCFNAME ('8561-401') to the MIPS per MSU
FORMATS value (267), used in ASUMMIPS and other 'MIPS' calcs.
Oct 5, 2019 -Protection for CPCFNAME not found in $MGRMIPS format now
gracefully terminates with a message from ASUMMIPS.
Change 37.227 QLACRLNU was not added to DB2ACCTB nor DB2ACCTG causing
VMACDB2 UNINIT messages in ASUMDB2B and ASUMDB2G.
Oct 4, 2019
Change 37.226 TYPE 120 dataset TY120100 variables SM120RULEXCALLS (was
VMAC120 always -1) and SM120RULEXFSUM were in the wrong order in
Oct 3, 2019 the INPUT statement.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 37.225 RMM/EDGR dataset EDGRXEXT variable RDPHYSIZE was not
VMACEDGR multiplied by the RDFACTOR(KB/MB/GB) so it was too small.
Oct 1, 2019 The value was correct in the other EDGR datasets.
Thanks to Bradley Leis, TELUS, CANADA.
Change 37.224 If you correctly added VMXGALOC to your IMACINIT so that
VMXGALOC you would always have the current PDBs allocated to each
BLDSMPDB SAS/MXG session and changed the number of PDBs (daily,
Oct 1, 2019 weekly, monthly, etc.) in BLDSMPDB you could possibly
wipe out old directories unintentionally. VMXGALOC now
detects that it has already run and unless the new
INVOKEBY= parameter is set to bldsmpdb sets the READONLY
parameter to YES to prevent deletion of old directories.
VMXGALOC in IMACINIT should always specify READONLY=YES
so this is only insurance that will produce and MXGWARN
message and set condition code 8.
Change 37.223 DB2 IFCID 376 variable QW0376SINR (statement count) was
VMAC102 not kept in 8 bytes, causing small differences in the
Sep 30, 2019 MXG value (222986880) vs IBM (222986962) = 82 smaller.
With stored length of 8 bytes, the values match.
Thanks to Warren Cravy, FMR, USA.
Change 37.222 Support for SAP Z Connector USER SMF Record creates
EXSAPZCO DDDDDD DATASET DESCRIPTION
IMACSAPZ SAPZCO SAPXCO SAP Z CONNECTOR
TYPESAPZ
TYPSSAPZ
VMACSAPZ
VMXGINIT
Sep 30, 2019
Thanks to Nestor D Rossi, BancoGalica, ARGENTINA.
Change 37.221 Reserved Change.
Change 37.220 If you specified SYNC59=NO (the default) the intervals
VMXGDUR always landed (for example with INTERVAL=QTRHOUR) on the
Sep 26, 2019 quarter at 0 15 30 45 minutes. If you wanted to keep the
actual intervals you would have needed to subtract 1
minute. VMXGDUR will now do that for you with the new
USE59 parameter. YES will subtract 60 seconds from the
calculated value and get the QTRHOUR back to 59 14 29 44
minutes. You can implement this globally be inserting in
IMACINIT: %LET SYNCTO59=YES;
The purpose of SYNC59 was always to put the start of
intervals on the hour since that usually makes more sense
on management reports and graphs. But if you choose to
use this on interval data without modifying the FLORCEIL
parameter to CEIL and you use SYNC59=NO you will be
getting the STARTIME of the prior interval rather than
the current interval since 12:59 with the FLORCEIL=FLOOR
set resolves to 12:45:
FLOOR('12:59't/900)*900;
Examples using default of SYNC59=NO
FLORCEIL=FLOOR
TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:12:45:00
FLORCEIL=FLOOR USE59=YES
TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:12:44:00
FLORCEIL=CEIL
TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:13:00:00
FLORCEIL=CEIL USE59=YES
TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:12:59:00
Thanks to Randy Hewitt, DXC, USA.
Change 37.219 Support for CA-DISK/Sterling DMS file DSNINDEX.
EXCAARCH INFILE is CADISK, creates two new dataset:
EXCADISK DDDDDD DATASET DESCRIPTION
FORMATS CADISK CADISK DSNINDEX ARCHIVED OR BACKED UP.
IMACCADK CAARCH CAARCH ARCHLOGS ARCHIVED DATASETS.
TYPECADK -Invalid LEAP YEAR dates (year 2025, day 366) can't be
TYPSCADK set to a numeric value, variable DSNDS1EDLEAP will now
VMACCADK have the invalid date as character (2026366).
VMXGINIT
OCT 2, 2019
OCT 30, 2019
Thanks to Pierre-Pascal Joulin, SOCGEN, FRANCE.
Change 37.218 DURATM=INTERVAL conflicted with DURATM in the SUM=
ASUMMIPS parameter which raised an MXGWARN message. DURATM
SEP 26, 2019 was removed from the SUM= list.
MXGWARN: DURATM=INTERVAL WAS SPECIFIED BUT THE DURATM
MXGWARN: VARIABLE CONTAINS NON-MISSING VALUES. THIS
MXGWARN: MAY BE AN ERROR CONDITION. VALUE OF DURATM
MXGWARN: IN THE OUTPUT DATA IS: 0:15:00.00
Change 37.217 A test of EXCELDEST was not protected for length of 0
ANALMSUS and generated a WARNING message but still ran albeit
Sep 26, 2019 with condition code 4.
Thanks to Robert Sample, TOMY, USA.
Change 37.216 SMF Type 2 Subtypes 1 and 2 fields SMF2GSIG and SMF1ISIG
TYPE0203 were documented as 512 bytes long, but IBM updated their
Sep 26, 2019 doc that they are variable length fields, so the INPUT
is revised to use the SMF2GSIGLEN and SMF2ISIGLEN fields
to input the variable length data.
Change 37.215 Updates for FOCUS USER SMF record changes version 7.7.
ADOCFOCU -VMACFOCU was changed to accommodate a change by IBI in
FORMATS their SMF records somewhere around version 7.7 of
VMACFOCU WebFOCUS (vendor support wasn't clear about when the
Sep 25, 2019 change happened).
Nov 14, 2019 -User ID fields were changed from 8 to 20 bytes and a
'security provider' value was prepended to each user ID
with a '\' as separator. These changes caused other
fields in the SMF record to be in different columns than
they were previously. Fields were also added for zIIP
time and zIIP-on-CP time.
-There is no version field in the SMF record, so this code
uses the record subtype and the length of the record to
determine which record format to use. There are four
subtypes - 1,2,4, and 5, which are Logon, Logoff, Begin
Query, and End Query, respectively. Old format records
are shorter than new format records, so the code checks
to see if a record is shorter than the new format, and if
it is, uses the old format. Older format records will
have missing or blank values for old variables that no
longer exist in the new records.
-Each user ID variable (Logon User ID, Security User ID,
Pooled User ID) now has a corresponding security provider
variable. The provider will be blank if an older format
record was used.
-zIIP time and zIIP-on-CP time variables are normalized,
according to the vendor. We are not sure of the accuracy
of these fields, and would not count on them for serious
reporting.
-Members ADOCFOCU and VMACFOCU were changed to reflect
these changes. Some labels were changed to reflect that
these records are produced by the vendor's WebFOCUS
product in addition to the FOCUS MSO (Multi-System
Option). In addition two new values are added in the
new MGFOCTY format to reflect subtypes 4 (Begin Query)
and 5 (End Query).
Thanks to Tim Hare, Hare Systems, USA.
Change 37.214 ANAL82AU combines the separate SERV and USER observations
ANAL82AU into one observation with two sets of variable names.
Sep 25, 2019
Thanks to Alexander Bitter, Worldpay, USA.
Thanks to Rib Rust, Worldpay, USA.
Thanks to Brian Bowling, Worldpay, USA.
Change 37.213 Support for RACF 80A TOKDANAM=AUTOLOGIN creates new
VMAC80A variable TOKAUTOLOGIN in TYPE80TK dataset.
Sep 24, 2019
Thanks to Andrew Krink, Northern Territory Government, AUSTRALIA.
Change 37.212 Support for z15 processor SMF 113 RNI equation changed to
ASUM113 RNI=2.9*(0.45*L3P+1.5*L4LP+3.2*L4RP+6.5*MEMP)/100;
VMAC113
Sep 23, 2019
Change 37.211 Updates to TYPERMFV.
IMACRMFV -Variable PCIFTYPHEX added to ZRBPCI dataset.
VMACRMFV -Support for XCFG3 segment creates three datasets
Oct 2, 2019 that contain the same data as RMF I XCF records:
DDDDDD DATASET DESCRIPTION SAME DATA
ZRBXCG ZRBXCG RMF III XCF GROUP TYPE74ME
ZRBXCP ZRBXCP RMF III XCF PATH TYPE74PA
ZRBXCS ZRBXCS RMF III XCF SYSTEM TYPE74SY
Change 37.210 If the default requested INTERVAL=_CICINTRV (HALFHOUR)
CICINTRV doesn't match your actual CICS Statistics interval, or
Sep 20, 2019 isn't an exact integer multiple, MXG printed a warning
that the resultant CICINTRV dataset was invalid, as it
built using your _CICINTRV value.
Now, your _CICINTRV value is compared with the maximum
DURATM in your data, and if your requested _CICINTRV can
be honored it will be; otherwise the interval of your
data is used, and a warning of the change is printed.
Change 37.209 Spurious log messages INVALID VALUE FOR INPUT FUNCTION
DODSCRDT that occur only if INFILE is on TAPE are harmless with no
Sep 19, 2019 impact on the output MXG datasets. Thought removed by the
Aug 30 MXG 37.06 Change 37.189, they weren't until this.
Thanks to Betty Wong, Bank of America, USA.
Change 37.208 ID & 89 added to the list of product suffix found in your
UTILBLDP USERADD= argument that are already in BUILDPDB=YES and
Sep 19, 2019 would have caused an error if honored.
Thanks to Randy Hewitt, DXC, USA.
Change 37.207 -New format MG110XL is created for UCICSCNT report so you
QA9464 can choose the display of the CICS STID variable:
UCICSCNT MG110XN - IBM Description: 2:Storage Manager DSA
UTILVREF MG110XD - MXG Dataset Name 2:CICSMDSA
FORMATS MG110XL - MXG Dataset + Label 2:CICSMDSA:SMS STATS
VMXGINIT The existing default MG110XN format is unchanged.
Sep 18, 2019 In your SYSIN %LET UCICSFMT=MG110XD.; sets your choice.
-New format $MGDSNLAB maps MXG Dataset Name to the Dataset
Label for all MXG datasets.
Thanks to MP Welch, Bank of America, USA.
Change 37.206 BUILDPDB PDB.STEPS & PDB.JOBS are enhanced with variable
BUILD005 CPUZIPTM_CPUIFATM_INST to count zIIP instructions; the
BUIL3005 CP instruction count is already in variable CPU_INST.
Sep 13, 2019
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 37.205 TYPE71 LFAREA 1Mb FRAMES can be broken up into smaller
VMAC71 pages, and the number of BrokenUP frames is in the new
Sep 13, 2019 variable SMF71BRKUP='PGBL 1MB*BREAKUP*FRAMES', calculated
as the delta between installed 1MB Pageable frames and
the used 1MB frames.
Thanks to Joe Faska, DTCC, USA.
Thanks to Toni Skrajnar, IBM Support, USA.
Change 37.204 -z/OS 2.4 MXG RMF Monitor III support.
ADOCRMFV -New MXG Support for RMF III XCRG3 table:
ASMRMFV -New ASMRMFV Field Data Filtering (FDF) support for
VMACRMFV 4 more RMF III tables: CPDG3 ENTG3 GEIG3 OPDG3.
Sep 12, 2019 -15 ASMRMFV corrections for conditions found during
Sep 20, 2019
Sep 26, 2019
Oct 3, 2019 *** New Support ***
Oct 8, 2019
-Support for the RMF Monitor III Cryptographic Hardware
Data table (CRYG3) table new with z/OS 2.4 . The CRYG3
table does not exist for prior z/OS releases.
-The CRYG3 selection option is CRY (alias K).
The CRYG3 filtering option is NOCRY (aliases -CRY, -K).
CRYG3 is also selected if the MOST option is used.
-Support for the RMF Monitor III XCF Activity Data table
(XCFG3) which has existed at least since z/OS 1.13 but
was undocumented.
-The XCFG3 selection option is XCF (alias X).
The XCFG3 filtering option is NOXCF (aliases -XCF, -X).
XCFG3 is also selected if the MOST option is used.
-FDF support added for the RMF III Channel Data table
CPDG3. Information on CPD FDF filtering appears in
Section 33 Filtering The CPD Table in the ADOCRMFV
documentation member. There is a data dictionary listing
all the CPDG3 field names supported by FDF.
-FDF support added for the RMF III Enqueue Name table
ENTG3. Information on ENT FDF filtering appears in
Section 37 Filtering The ENT Table in the ADOCRMFV
documentation member. There is a data dictionary listing
all the ENTG3 field names supported by FDF.
-FDF support added for the RMF III OMVS Process Data table
OPDG3. Information on OPD FDF filtering appears in
Section 39 Filtering The OPD Table in the ADOCRMFV
documentation member. There is a data dictionary listing
all the OPDG3 field names supported by FDF.
-FDF support added for the RMF III General Information
table GEIG3. Information on GEI FDF filtering appears in
Section 38 Filtering The GEI Table in the ADOCRMFV
documentation member. There is a data dictionary listing
all the GEIG3 field names supported by FDF.
-Support for new release z/OS 2.4 RMF III fields added to
existing FDF Variable Name Tables.
*** Enhancements ***
-FDF support expanded for up to 256 byte character fields
raised from 8 bytes. But FDF IF expressions for
character field filtering may still not exceed the actual
size of the field or an error is flagged.
-Pattern matching subroutine MATCH now supports up to 256
characters in a pattern.
-FDF now translates X'00' to blank X'40' for selected
character field source data fields similar to what the
VMACRMFV SAS member does during a PDB build.
-Messages RMFV080I and RMFV088I now support character
string displays up to 105 characters. Longer character
strings are either output as a separate message or a '+'
flag is shown in the last byte of the message to indicate
the message has been truncated.
-Messages RMFV080I and RMFV088I now show tags of 'SFP' for
short floating point fields or 'LFP' for long floating
point fields instead of only showing 'FP'.
-Messages RMFV080I and RMFV088I now show the full IF
expression used if space allows.
-The SHOWBYTE subroutine now supports formatting of
storage byte values in kibibytes (kilobytes) 1024 through
yobibytes (yottabytes) 1024**8 in message RMFV088I.
However, current implementation restrictions at this time
limit values to a maximum of 9,223,372,036,854,775,807 or
about 1.22 pebibytes (petabytes).
-These documentation sections in member ADOCRMFV are all
updated for new support, enhancements, z/OS 2.4 and
corrections:
2 Terminology
3 Execution JCL
4 RMF III Table Selection Parameters
5 Input Data Selection Parameters
6 Report Control Parameters
7 Output Data Control Parameters
8 Error Handling Parameters
9 JCL and SYSIN Parameter Usage
12 Messages
13 Filtered Records
15 Program and IBM Limitations
21 Extended ASIG3/ENCG3/RCDG3/UWDG3 Record Support
22 RMF III VSAM Data Set Index Usage and Sizing
23 RMF III Options That Effect Data
24 RMF III Sysplex Master Gatherer
25 Ranges and Patterns
26 ASMRMFV and MXG PDB Data Relationships
31 Field Data Filtering (FDF)
32 Filtering The ASI Table
33 Filtering The CPD Table
34 Filtering The CSR Table
35 Filtering The DSI Table
36 Filtering The DVT Table
37 Filtering The ENT Table
38 Filtering The GEI Table
39 Filtering The OPD Table
40 Filtering The SPG Table
41 Filtering The SSH Table
42 Summary
43 Bibliography
*** Corrections ***
-All of these possible corrections apply to ASMRMFV in
MXG Versions 37.03-37.06.
-The last character of the 3 character day name in message
RMFV041I was truncated.
-Hex characters used in IF expressions for character
fields were not handled correctly.
-FDF IF expression numeric values with both a fraction and
exponent were not correctly scaled in subroutine IFNUM.
-Possible S0C7 Abend with large IF expression numeric
value and a Scale Multiplier in FDF IFNUM subroutine.
-Possible S0C7 Abend in FDF IFNUM subroutine processing
short or long floating point values.
-Possible Abend S0C4 in FDF SETIF subroutine because VNT
extension length was not added to base VNT entry length
to determine when IF entry array expansion was required.
-Incorrect formatting for a fixed binary number with a
fraction in FDF RMFV088I message.
-Incorrect digit shifting for fixed binary numbers in FDF
IF expression coded with a fractional part.
-Abend S0C4 in FDF SETIF subroutine when NOSHOWARR option
(default) was in effect and an IF array expansion
occurred.
-Possible S0C4 Abend in FDF SETIF subroutine when the
fieldname in an FDF IF expression was an alias.
-Incorrect formatting of some fractional numbers by
SHOWDEC subroutine in RMFV088I messages.
-Message RMFV088I after a FDF floating point precision
loss is detected incorrectly showed the original user IF
expression value instead of the true floating point value
actually in effect for comparisons.
-FDF subroutine IFNUM did not shift out any fractions from
the original user value in the IF expression to create an
integer when determining whether a floating point
precision loss had occurred.
-Possible incorrect byte display in FDF RMFV088I message
from SHOWBYTE subroutine for large values.
-Possible S0C1 Abend if a Fieldname entry in a FDF
Variable Name Table incorrectly has an alias equal to
itself.
*** FDF Limits ***
These are the current FDF supported limits for Change
37.204 as FDF IF expression values.
In no case may the IF expression value exceed the size of
the RMF III source field whether numeric or character.
Field Type Value range
---------- -------------------------------------------
Fixed Binary
1 byte 0-255
X'00'-X'FF'
2 byte 0-65,535
X'0000'-X'FFFF'
4 byte 0-4,294,967,295
X'00000000'-X'FFFFFFFF'
8 byte 0-9,223,372,036,854,775,807 *
X'0000000000000000'-X'7FFFFFFFFFFFFFFF' *
* the limit for a 8 byte binary number is imposed by the
need for ASMRMFV to convert the input number to binary.
A grande 64-bit register only holds X'7FFFFFFFFFFFFFFF'
as a high order sign bit is required.
Floating Point **
4 byte 0-9,223,372,036,854,775,807
8 byte 0-9,223,372,036,854,775,807
** the limit for a floating point number is imposed by
the need for ASMRMFV to convert the input number to
binary before conversion to floating point. A grande
64-bit register only holds X'7FFFFFFFFFFFFFFF' as a high
order sign bit is required.
Bit String
1 byte 0-255
X'00'-X'FF' without don't cares
1 byte .......0-1111111. with don't cares
Percentage 0.0-100.0
Time of Day 01JAN2000:00:00:00-17SEP2042:23:53:46 ***
*** The of day limit is imposed by the 64 bit TOD clock
which wraps to all binary ones in September 2042. The
addition of leap seconds may affect this value.
Time ****
4 byte 0-4,294,967,295
X'00000000'-X'FFFFFFFF'
8 byte 0-9,223,372,036,854,775,807
X'0000000000000000'-X'7FFFFFFFFFFFFFFF'
**** Time units depend on the default time unit for the
RMF III field or the explicit time unit coded by the
user. They can range from microseconds to days.
TOD date only 01JAN2000-17SEP2042
TOD Time only 00:00:00-23:59:59
Change 37.203 Unused Change Number.
Sep 11, 2019
Change 37.202 Support for truncated SMF 61 catalog record from z/OS 2.3
VMAC6156 causing INPUT STATEMENT EXCEEDED error.
Sep 9, 2019
Thanks to Mike Jacques, BB&T, USA.
Change 37.201 The MGBYTES format is extended to decode storage units in
FORMATS zettabytes and yottabytes.
Sep 27, 2019
Change 37.200 Optional CICSTRAN DBCTL segment variable STATCTM1 was
IMACICDB 10 times too large (4 usec should be 0.4 usec) due to
Sep 9, 2019 incorrect STCK informat, corrected to TU4.
Thanks to Scott Barry, SBBWorks, INC., USA.
Change 37.199 -Variables QWACPCTT/QLACRLNU are used to get the correct
VMACDB2 count of THREADS when ROLLUPS (DB2PARTY=R) are in use:
ASUMDB2A DB2ACCT variable QWACPCTT is summed into THREADS in
ASUMDB2B ASUMDB2A unless QLACRLNU is GT 0 and used instead.
ASUMDB2G DB2ACCTP variable QPACRLNU is summed into PACKCNT in
ASUMDB2P ASUMDB2P
ASUMDB2R DB2ACCTB variable QWACPCTT is summed into THREADS in
Sep 7, 2019 ASUMDB2B unless QLACRLNU is GT 0 and used instead.
Sep 16, 2019 DB2ACCTG variable QLACPCTT is summed into THREADS in
ASUMDB2G unless QLACRLNU is GT 0 and used instead.
DB2ACCTR variable QLACRLNU is summed into THREADS
-Previously THREADS in DB2ACCT and COUNT in DB2ACCTP
counted each record; so counts will be larger and
correct in the ASUMs and in ANALDB2R which uses them,
unless the count is one, which does happen.
-This change means that the average values reported in
ANALDB2R will be more accurate but it still precludes
detail problem analysis from rolled up records since
the best you can get is an average value.
Variable QWACPCTT is now kept in DB2ACCTB/DB2ACCTG/
DB2ACCTR so it can be used in those ASUMs.
Change 37.198 BETA 93 Subtypes 12,17,30,31,55 were not input because
VMACBETA they weren't added to the IF SUBTYPE IN list of subtypes,
Sep 11, 2019 and they were not sorted to the PDB data library.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 37.197 BETA 97 Subtype 51 Dataset BETA9751D did not input the
VMACBE97 "New Area" fields for BETA9751REC='U', UPDATE records.
Sep 11, 2019 An undocumented test to skip U records was removed.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 37.196 Member IMACTIME and CHANGESS had references to "OKJOB"
IMACTIME that should be OKFLAG for consistency; no impact as the
CHANGESS member is optional and "OKJOB" is in comments.
Sep 5, 2019
Thanks to Scott Barry, SBBWorks, INC., USA.
Change 37.195 The PDB.PRINT dataset ACCOUNT variables were populated
BUILD005 only in the first observation for each job, and TYPETASK
Sep 5, 2019 had the SUBSYS6 value (PSF/VPS) instead of TYPETASK (JOB)
Thanks to Scott Barry, SBBWorks, INC., USA.
Change 37.194 Formats added for TYPE42DS variables S42DSENT/S42DSCMT to
FORMATS decode the Encryption Type and Compression TYPEs.
VMAC42 ET=AES-256,CT=None/Generic/Tailored/zEDC.
Sep 3, 2019
Thanks to Luis Mendoza, BKFS, USA.
Change 37.193 Format $MG110EX for dataset CICSEXCE variable EXCMNTYP
FORMATS did not map value '0004'X to 04:POLICY THRESHOLD instead
Sep 3, 2019 printing a confusing '00'X value.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 37.192 TLMS dataset TYPETLMS from the "B" record is updated and
EXTYTLMC two new TLMS datasets TYPETLMC/TYPETLMD are now created
EXTYTLMD from the "C" and "D" TLMS records:
IMACTLMS DDDDDD DATASET DESCRIPTION
VMACTLMS TYTLMC TYPETLMC MASTER FILE CONTROL RECORD
VMXGINIT TYTLMD TYPETLMD VOLUME MASTER FILE MULTI DATASET
Sep 25, 2019
Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.
Change 37.191 RMM/EDGR processing in VMXGDSN had zero obs for TAPES and
VMXGDSN TAPEDSNS MXG 37.03-MXG 37.06; the SORT input dataset was
Sep 2, 2019 incorrectly changed to EDGRDEXT instead of EDGRXEXT.
Thanks to Wayne Bell, UNIGROUP, USA.
Thanks to John Fulton, UNIGROUUP,USA
====== CHANGES THRU 37.190 ARE IN MXG 37.06 DATED AUG 30, 2019 =========
Change 37.190 New macro %MXGFINFO creates dataset EXTFILES with these
MXGFINFO variables for every external filename (INFILE)
Aug 30, 2019 -z/OS: FILEREF DSNAME DEVICE and CREATEDATE
-ASCII FILEREF XPATH and CREATEDATE.
CREATEDATE will be missing if the ftp access method is
used.
Change 37.189 Spurious INVALID VALUE FOR INPUT FUNCTION in first 37.06
DODSCRDT had no impact, except for lots of lines on the log. It
Aug 30, 2019 occurs when the INFILE is on TAPE, because the DSCB that
SAS returns is the VOL2HDR instead of the date-containing
DSCB, so the CREATEDATE variable is always missing for
INFILE on Tape.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 37.188 Example 2 had a Missing "END;" statement
IMACUOW
Aug 29, 2019
Change 37.187 Labels for Tennant TRG_SUCP,TRG_SUIFA,TRG_SUSP variables
VMAC7072 are changed from *MSU* to *HDW MSU* because those values
Aug 29, 2019 are NOT the Software MSU (4HR AV) we normally use when
discussing MSU. This link shows IBM uses the "Hardware"
SU_SEC value to convert those service units to engine
counts:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/
com.ibm.zos.v2r3.izsc100/cserbb200195.htm
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 37.186 Support for IBM Tivoli Advanced Allocation Management SMF
EXTYAAM1 record; this product replaces the old X37 product.
EXTYAAM3 DDDDDD DATASET DESCRIPTION
FORMATS TYAAM1 TYPEAAM1 SUBSYSTEM ACTIVITY
IMACAAM TYAAM3 TYPEAAM3 PROCESSING ACTIVITY
TYPEAAM Subtype 3 have been data tested; IBM provided additional
TYPSAAM bit values for DNV/DST/ADP and reported SPCF incorrectly
VMACAAM sets '80'x bit causing 'C0'x for TRACKS, to be corrected,
VMXGINIT but MXG's format maps both 'C0'x and '40'x to TRACKS.
Aug 28, 2019 Subtype 3 event records have only SMFTIME & JOB (AAMJBN),
Sep 24, 2019 no READTIME nor JCTJOBID/JESNR, so they can not be easily
interleaved/merged with other JOB-related records.
Thanks to Cha Kihun, Navy Federal, USA.
Thanks to Richard Champouillon, Navy Federal,USA
Change 37.185 Warning: APPARENT SYMBOLIC REFERENCE LDB and LDB@ACG has
READDB2 no impact on the results, DB2ACCTG is correctly sent to
Aug 23, 2019 your LDB2ACG= argument with correct message text.
Thanks to Douglas C. Walter, CITIGROUP,USA.
====== CHANGES THRU 37.184 ARE IN MXG 37.06 DATED AUG 22, 2019 =========
Change 37.184 Delete of temp dataset SRTIRC was relocated so it is
VMXGCICI always deleted (to free WORK space).
Aug 14, 2019
Change 37.183 Support for SMF 82 subtypes 30 and 40-48 new datasets
FORMATS DDDDDD DATASET DESCRIPTION
EXTY82AU TY8230 TYPE8230 KDS ARCHIVE/CRYPTOPERIOD
EXTY8248 TY8240 TYPE8240 CCA SYMMETRIC KEY LIFECYCLE
IMAC82 TY8241 TYPE8241 CCA ASYMMETRIC KEY LIFECYCLE
VMAC82 TY8242 TYPE8242 PKCS#11 KEY LIFECYCLE EVENT
VMXGINIT TY8243 TYPE8243 RCS CONFIGURATION CHANGE (not decoded)
Aug 21, 2019 TY8244 TYPE8244 CKDS KEY USAGE
Aug 27, 2019 TY8245 TYPE8245 PKDS KEY USAGE
Oct 30, 2019 TY8246 TYPE8246 PKCS#11 KEY USAGE
TY8247 TYPE8247 PKCS#11 NOKEY USAGE
TY8248 TYPE8248 WARN MODE
Subtype 43 is not decoded, pending test data records.
Subtypes 40,41,44,45,48 have been tested.
Subtypes 42,46,47 are decoded but not tested.
Thanks to Alexander Bitter, Worldpay, USA.
Thanks to Lethika Panicker, Worldpay, USA.
Thanks to Ron Rust, Worldpay, USA.
Change 37.182 Variable SMF74SCMR was incorrectly spelled SMF74SKCR.
VMAC74
Aug 14, 2019
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 37.181 Support for Hitachi MAR Mainframe Analytics Recorder 9.1
EXMAR07 creates new MARST07 PARM Section Dataset.
IMACMAR
VMACMAR
VMXGINIT
Aug 13, 2019
Change 37.180 MXG DB2 Formats $MGTMDOB, $MGTMDRM, $MGTMDRE, MGTMDRC are
FORMATS updated with new values.
Aug 13, 2019
Thanks to Randy Hewitt, DXC, USA.
Change 37.179 TYPE72GO variables METGOAL and PCTMETGO were wrong, now:
VMAC7072 IF TRANS GT 0 THEN DO M=1 TO 6;
Aug 9, 2019 METGOAL=SUM(METGOAL,RTSTRN(M));
PCTMETGO=100*METGOAL/TRANS;
END;
ELSE PCTMETGO=.;
Thanks to James Peddycord, Northern Trust, USA.
Thanks to Karl S. Huf, Northern Trust, USA.
Thanks to Arati Khodaskar, IBM Global Services, USA.
Change 37.178 -MXG 37.05 only, possible S0C4 Abend in ASMRMFV PROCSSH
ASMRMFV subroutine when comparing current RMF Version to a z/OS
Aug 9, 2019 2.3 Version number, after Change 37.140.
Aug 20, 2019 -That PROCSSH code was redundant with similar code in the
FINDPOL subroutine that is RMF Version independent and
has been removed to eliminate the S0C4 possibility.
-MXG 37.03-37.05, ONLY if you use FDF IF expressions.
ABEND S0C7 when a hex value is coded for a numeric field
in an FDF IF expression. For example: IF=(ASIDP EQ X'FF')
-Incorrect handling of exponents when coded for a numeric
field in an FDF IF expression causing an incorrect
compare value to be calculated.
For example: IF=(ASI1MBFF GT 1E2)
-Invalid hex value can be shown in RMFV080I and RMFV088I
messages.
Thanks to Kurt Gramling, GTS Tech-Support: CRM, USA
Change 37.177 Variables R745BYTR/BYTW/RTIR/RTIW were never populated by
VMAC74 IBM, as they were replaced by R7451CT1-R7451CT4, but they
Aug 8, 2019 are now populated by those replacement values rather than
being missing values. See Change 23.314.
Thanks to Otto Burgess, OPM, USA.
Change 37.176 Support for IMS LOG '02'x record creates IMS02 dataset or
EXIMS02 prints a message if a multi-segment command record is
VMACIMS found to send your IMSLOG so it can be supported.
VMXGINIT
Aug 7, 2019
Change 37.175 New metric, SIISPCT='STORE INTO*INSTRUCTION*STREAM*PCT'
ANALSIIS is added to TYPE1131 and ASUM1131 datasets, to identify
VMAC113 potential timeframes based on percent of certain I writes
Aug 6, 2019 vs D Writes sourced, to identify when it happens, but NOT
who is causing it.
-ANALSIIS identifies intervals with SIISPCT GT 10 percent
and identifies what programs were running in descending
CPUTM or CPUZIPTM depending on CPU type during that high
SIISPCT interval.
Thanks to Kathy Walsh, IBM zSystems, USA.
Thanks to John Burg, IBM zSystems, USA.
Change 37.174 Non-fatal Divide By Zero when QBSTVPL=0 was corrected.
VMACDB2
Aug 5, 2019
Ron van der Zande, KLM Information Systems, THE NETHERLANDS.
Change 37.173 Support for TPMX $JCL_JJR, variable JCLJJR in TYPETPMX.
VMACTPMX Only 9 lines of "new field" messages are now printed.
Aug 4, 2019
Thanks to Jack Hyde, Optum Technology, USA.
Change 37.172 Dataset Encryption Variable SMF14DEF='Y' identifies data
VMAC1415 sets that are encrypted, and SMF14DET='0100'x to indicate
Aug 4, 2019 AES ('01'x) and 256 Bits ('00'x). INPUT was corrected.
Change 37.171 Variables R723GGTI, R723GGTN, R723GGKY and R723MFLG are
VMAC7072 kept in dataset TYPE72GO, and variable R723GGKY is now
Aug 4, 2019 INPUT correctly as $EBCDIC64 instead of 32.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 37.170 Variable DESTNATN is added to PDB.TYPE6 dataset.
BUILD005
BUIL3005
Aug 2, 2019
Thanks to Scott Barry, SBBWorks, INC., USA.
Change 37.169 Variable INITTIME in dataset TYPE30_6 is created using
VMAC30 INITTIME=SMFTIME-ACTIVETM;
Aug 2, 2019 which can then be used to count unique step executions.
Thanks to Scott Barry, SBBWorks, INC., USA.
Change 37.168 Four CICS "identity" variables weren't kept in CICSTRAN
UTILEXCL when UTILEXCL was used: APPLID JOB SMFPSSPN SMFPSRVR, and
VMAC110 these new "identity" variables MVSLEVEL LOCLINFO MCTSSCRL
Aug 2, 2019 are added to CICSTRAN whether UTILEXCL is used or not.
All could be deleted with
%LET MACKEEP=
MACRO _KCICTRN
DROP=APPLID JOB SMFPSSPN SMFPSRVR
MVSLEVEL LOCLINFO MCTSSCRL
%
:
in your SYSIN.
Thanks to Scott Barry, SBBWorks, INC., USA.
Change 37.167 z/OS 2/4 updates for RMF MONITOR III:
VMACRMFV -VMACRMFV in MXG 37.05 (only) fails with z/OS 4.2 CSR data
Aug 2, 2019 and was corrected in 37.06 by this change (which changed
only line 6871, from /48 to /CSRENTLE).
-New RUCSA variables added to ZRBCSR dataset:
CSRRUCSA ='RUCSA*AMOUNT'
CSRERUCSA='ERUCSA*AMOUNT'
-New RUCSA variables added to ZRBGEI dataset:
GEIRUCSASZ='IPL SIZE*RU CSA*BELOW 16MB'
GEIERUCSAZ='IPL SIZE*RU CSA*ABOVE 16MB'
GEIRUCSAMX='MAX RUCSA*BELOW 16MB'
GEIERUCSAX='MAX RUCSA*ABOVE 16MB'
GEIRUCSASP='ALLOCATED RUCSA*BELOW 16MB'
GEIERUCSAP='ALLOCATED RUCSA*ABOVE 16MB'
GEIRUCSAAV='ACCUM RUCSA*BELOW 16MB'
GEIERUCSAV='ACCUM RUCSA*ABOVE 16MB'
GEIRUCSARE='UNALLOCATED*RUCSA BELOW 16MB'
GEIRUCSAAS='ACCUM RUCSA*BELOW 16MB*BY SYSTEM'
GEIERUCSAS='ACCUM RUCSA*ABOVE 16MB*BY SYSTEM'
GEIBATRUCSA='ACCUM RUCSA*BELOW 16MB*BY BATCH'
GEIBATERUCSA='ACCUM RUCSA*ABOVE 16MB*BY BATCH'
GEIASCRUCSA='ACCUM RUCSA*BELOW 16MB*BY ASCH'
GEIASCERUCSA='ACCUM RUCSA*ABOVE 16MB*BY ASCH'
GEIOMVRUCSA='ACCUM RUCSA*BELOW 16MB*BY OMVS'
GEIOMVERUCSA='ACCUM RUCSA*ABOVE 16MB*BY OMVS'
-New variables with time to LPAR/Group Capping in ZRBCPU:
CPC_TIME_TO_CAPL='TIME TO*LPAR*CAPPING'
CPC_TIME_TO_CAPG='TIME TO*GROUP*CAPPING'
Thanks to Kurt Gramling, TSYS, USA.
Change 37.166 z/OS 2/4 updates:
VMAC74 -Type 74 Subtype 2 additions to dataset TYPE74PA, virtual
VMAC78 storage for the optional Private Address Space data:
Aug 2, 2019 R742PUTM1 ='PATH1*TIME USED*AT PCT UTIL'
R742PUTMS1='PATH1*SQRD TIME USED*AT PCT UTIL'
R742PUCN1 ='PATH1*COUNT USED*AT PCT UTIL'
R742PUSCN1='PATH1*SIGNAL COUNT SENT'
R742PUPCT1='PATH1*PCT UTIL'
R742PUTM2 ='PATH2*TIME USED*AT PCT UTIL'
R742PUTMS2='PATH2*SQRD TIME USED*AT PCT UTIL'
R742PUCN2 ='PATH2*COUNT USED*AT PCT UTIL'
R742PUSCN2='PATH2*SIGNAL COUNT SENT'
R742PUPCT2='PATH2*PCT UTIL'
R742PUTM3 ='PATH3*TIME USED*AT PCT UTIL'
R742PUTMS3='PATH3*SQRD TIME USED*AT PCT UTIL'
R742PUCN3 ='PATH3*COUNT USED*AT PCT UTIL'
R742PUSCN3='PATH3*SIGNAL COUNT SENT'
R742PUPCT3='PATH3*PCT UTIL'
R742PUTM4 ='PATH4*TIME USED*AT PCT UTIL'
R742PUTMS4='PATH4*SQRD TIME USED*AT PCT UTIL'
R742PUCN4 ='PATH4*COUNT USED*AT PCT UTIL'
R742PUSCN4='PATH4*SIGNAL COUNT SENT'
R742PUPCT4='PATH4*PCT UTIL'
R742PNIBTM='PATH TOTAL TIME*NO INBOUND*BUFFER IMPACT'
R742PNIBTS='PATH SQUARED TIME*NO INBOUND*BUFFER IMPACT'
R742PNIBCN='PATH COUNT*NO INBOUND BUFFER'
/* XCFMGD */
-Type 78 subtype 2 dataset TYPE78VS Virtual Storage new:
R782RUCA ='RUCSA ADDRESS*BELOW 16MB'
R782RUCS ='RUCSA SIZE*BELOW 16MB'
R782ERUCA='RUCSA ADDRESS*ABOVE 16MB'
R782ERUCS='RUCSA SIZE*ABOVE 16MB'
Thanks to Kurt Gramling, TSYS, USA.
Change 37.165 Dataset TYPE8201 (Initialization) variables SMF82ITE/CKD/
VMAC82 IML/USR/PKD were misaligned by a one byte reserved field.
Jul 29, 2019
Thanks to Matthew T Chappel,CQueensland Dept Transport, AUSTRALIA
Change 37.164 Variable TTTTLSSP in dataset TYP11902 is decoded by new
FORMATS $MG119PT format:.
VMAC119 VALUE $MG119PT /*TTTTLSPP*/
Jul 28, 2019 '0200'X='0200X:SSL V2'
'0300'X='0300X:SSL V3'
'0301'X='0301X:TLS 1.0'
'0302'X='0302X:TLS 1.1'
'0303'X='0303X:TLS 1.2'
Variable TTTTLSNC documents '4X'x='USE TTTTLSNC4 instead'
but values of '0A'x '35'x and '6B'x are found in data
but are not documented.
Thanks to Joe Faska, DTCC, USA.
Change 37.163 Labels for these variables were made consistent
VMAC71
Aug 2, 2019 SMF71L4A='AVG*1MB*PAGEABLE*FRAMES*IN DREF'
SMF71L4M='MIN*1MB*PAGEABLE*FRAMES*IN DREF'
SMF71L4X='MAX*1MB*PAGEABLE*FRAMES*IN DREF'
SMF71L5A='AVG*1MB*AVAILABLE*FRAMES*IN DREF'
SMF71L5M='MIN*1MB*AVAILABLE*FRAMES*IN DREF'
SMF71L5X='MAX*1MB*AVAILABLE*FRAMES*IN DREF'
SMF71L6A='AVG*1MB*PAGEABLE*FRAMES*USED*IN DREF'
SMF71L6M='MIN*1MB*PAGEABLE*FRAMES*USED*IN DREF'
SMF71L6X='MAX*1MB*PAGEABLE*FRAMES*USED*IN DREF'
SMF71L8A='AVG 1MB*PAGEABLE*FRAMES*IN CSTORE'
SMF71L8M='MIN 1MB*PAGEABLE*FRAMES*IN CSTORE'
SMF71L8X='MAX 1MB*PAGEABLE*FRAMES*IN CSTORE'
SMF71L9A='AVG 1MB*AVAILABLE*FRAMES*IN CSTORE'
SMF71L9M='MIN 1MB*AVAILABLE*FRAMES*IN CSTORE'
SMF71L9X='MAX 1MB*AVAILABLE*FRAMES*IN CSTORE'
SMF71PLA='AVG*1MB*PAGEABLE*FRAMES*USED*IN CSTORE'
SMF71PLM='MIN*1MB*PAGEABLE*FRAMES*USED*IN CSTORE'
SMF71PLX='MAX*1MB*PAGEABLE*FRAMES*USED*IN CSTORE'
Aug 2, 2019
Thanks to Joe Faska, DTCC, USA.
Change 37.162 ANALSIZE failed due to a missing semicolon in VMXGSIZE.
VMXGSIZE
Jul 25, 2019
Thanks to Richard Haynes, BCBSKS, USA.
Change 37.161 -New z/OS-Only SAS Date Variable CREATEDATE can be created
DODSCRDT for INFILE names of SAS CONTROLT DCOLLECT RMFBSAM TMC
VMACCTLT EDGHSKP IMSLOG OPCLOG, and is that variable is available
VMACDCOL the IHDRxxxx exit for your selection criteria, and/or it
VMACEDGR can be kept using the _Kdddddd dataset KEEP macro.
IHDRTMS5 -You must enable its creation with %LET DSCRDT=YES; in the
VMACIMS SYSIN or %DSCRDT can be added for any z/OS INFILE by
VMACSMF adding JFCB=MXGJFCB DSCB=MXGDSCB to the INFILE statement
VMACRMFV and inserting %DSCRDT after the first INPUT statement:
VMACTMS5 DATA MYSTUFF;
VMXGINIT INFILE MYFILE JFCB=MXGJFCB DSCB=MXGDSCB;
Aug 7, 2019 INPUT ;
Aug 11, 2019 %DSCRDT(JFCB=MXGJFCB);
Nov 26, 2019 SAS automatically prints the Create Date on the SAS log
in its "INFILE IS " message, but DSCRDT can print its
own log message if you use %LET MXGEXIMSG=YES;
SEE CHANGE 37.249 FOR REVISION.
Thanks to Linda S. Berkley, DISA, USA
Change 37.160 Unused Change Number.
Change 37.159 BETA 93 610 Subtype 40 and 49 misaligned, INVALID DATA
VMACBETA messages for variables BETASTME and BETAETME in 49 and
Jul 18, 2019 BETAALT in subtype 40.
Change 37.158 BLDSMPDB adds SPIN: SPUN: to WEEKDROP MNTHDROP if they
BLDSMPDB are not present. New parameters added WEEKBASE MNTHBASE
Jul 15, 2019 that both default to blanks which will then become
yesterday and used to determine which datasets will be
included in the weekly and monthly PDBs. This ensures
that your most current PDB is used to build the
weekly/monthly datasets. So if you decided to add
something on the day before it will be propagated into
the weekly/monthly jobs. The fact that it may not exist
in all of the input PDBs is not a problem. These should
only be used if you wish to force a specific PDB to be
the basis for the weekly/monthly PDBs and if it does not
exist via either a LIBNAME or a DD the job will fail.
Change 37.157 A new macro that will drill down through MSU consumption
ANALMSUS from the TYPE89 records and the type 30 interval data. It
Jul 13, 2019 can produce bar charts, tabular reports, and EXCEL
Aug 27, 2019 spreadsheets as you choose.
Change 37.156 Variables ABEND CONDCODE added to PDB.SMFINTRV and the
VMAC30 TYPE30_V datasets. The values will only be populated from
Jul 13, 2019 the subtype 3 records.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 37.155 Support for CICS Optional field USER/AGENCY.
IMACAAAA
IMACICXB
UTILEXCL
VMAC110
Thanks to Mark Hiltbruner, State of South Dakota, USA.
====== CHANGES THRU 37.154 ARE IN MXG 37.05 DATED Jul 8, 2019 =========
Change 37.154 SMF 110 Subtype 1 MNSEGCL=5 INPUT EXCEEDED ERROR due to
VMAC110 8 byte reserved field inserted in DPL ENTRY segment. Skip
Jul 8, 2019 the records (causing zero obs in CICSRDPL dataset) with:
%LET MAC110H= %QUOTE(IF MNSEGCL=5 THEN DELETE; ) ;
This was added in CICS/TS 5.5 to these (seldom used) CICS
Resource segment.
Thanks to Jack Hyde, Optum Technology, USA.
====== CHANGES THRU 37.153 ARE IN MXG 37.05 DATED Jul 6, 2019 =========
Change 37.153 SMF 120 Subtype 3 INPUT STATEMENT EXCEEDED ERROR due to
VMAC120 incorrect MXG logic that has accidentally worked: there
Jul 6, 2019 were only three ABENDS since Dec 2018. One circumvention
which usually skips over the failing record was tried:
OPTIONS STOPOVER MISSOVER % but because the code error
was a loop on the same INPUT location, MXG created 500
million observations in TYP120SR filling fifteen WORK
volumes before dying with a B37 no more extents error.
The alternative circumvention was to skip that subtype:
%LET MACFILE=%QUOTE(IF ID=120 AND SUBTYPE=3;);
until this update corrected the MXG code error.
I think not related, but site had WebSphere 8.5.5 FP12.
====== CHANGES THRU 37.152 ARE IN MXG 37.05 DATED Jul 5, 2019 =========
Change 37.152 MXGSTEP populates new variable MXGSTEP='Y' in SMF 30's to
MXGSTEP identify job steps that execute MXG programs, populating
Jul 5, 2019 TYPE30_V and TYPE30_4 with (TYPE30) and in PDB.SMFINTRV
and PDB.STEPS with (BUILDPDB), or any MXG program that
processes SMF 30 records, if PROGRAM='SAS' and DDNAMES
SOURCLIB and LIBRARY are in this STEP, as both are
required for MXG Execution.
Thanks to Deepa Rajendran, DXC, SINGAPORE.
Change 37.151 ASUMMIPS now uses the $MGRMIPS format built from the IBM
ASUMMIPS LSPRITR table to lookup CPCFNAME (eg 3906-716) for the
VMXGINIT MIPSFACT (eg 8.34), the MIPS per MSU. Previously you
Jul 4, 2019 had to provide your own MIPSFACT.
Jul 5, 2019
Thanks to Randy Hewitt, DXC, USA.
Change 37.150 Support for DATACOM log file.
EXDCOM
IMACDCOM
TYPEDCOM
TYPSDCOM
VMACDCOM
VMXGINIT
Jul 2, 2019
Thanks to Linda S. Berkley, DISA, USA.
Change 37.149 If you add ID to USERADD it must be the last entry
UTILBLDP in the list. If you happened to make it first the
Jul 2, 2019 list will be adjusted.
Change 37.148 BLDSMPDB adds SPIN: SPUN: to WEEKDROP MNTHDROP if they
BLDSMPDB are not present. New parameters added WEEKBASE MNTHBASE
Jun 23, 2019 that both default to &WEEKDATE (yesterday) are used to
decide which datasets can be included in the weekly and
monthly PDBs. This ensures that your most current PDB is
used to build the weekly/monthly datasets. So if you
decided to add something on the day before it will be
propagated into the weekly/monthly jobs. The fact that it
may not exist in all of the input PDBs is not a problem.
Change 37.147 CICS Statistics datasets CICMPR and CICSJN were not in
VMAC110 the _N110_, _S110, and _S110ST optional tailoring macros.
Jul 1, 2019
Change 37.146 Macro variable &MACSPIN added to IMACSPIN for "instream"
IMACSPIN tailoring of SPINCNT.
VMXGINIT
Jul 1, 2019
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 37.145 The "PROC PRINT" output with Label and Name column heads
VMXGPRA1 VMXGPRA1 and VMXGPRAL utilities now protect if you have
VMXGPRAL changed the OBS option. Their temp dataset has one obs
Jun 28, 2019 per variable, but if your OBS was too small, some heads
were wrong and missing parens. Now the OBS value is held.
the print is accomplished and your original OBS restored.
Thanks to Scott Wiig, US Bank, USA.
Change 37.144 FLASH: MISSING PERIODS 2/3 TYPE72GO if MXG 36.07 or prior
VMAC7072 is used and IBM RMF APARs for SCM and Crypto are applied.
Jul 1, 2019
There is no error with MXG 36.08 (Sept 2018) or later.
One z/OS 2.3 site reported these were applied:
UA98434 APAR OA56461
UA98529 APAR OA56672
UA98759 APAR OA56826
UA98999 APAR OA56860
and one z/os 2.2 site reported this was applied
UA98433 APAR OA56747
but there may be other maintenance involved.
You can examine your SMF 72 Subtype 3 period data with
PROC FREQ DATA=PDB.TYPE72GO;
TABLES SYSTEM*PERIOD;
TITLE TABLE OF PERIOD VALUES IN SMF 72 SUBTYPE 3;
to see if you are missing values for your periods.
These missing periods will cause the system Capture
Ratio to decrease significantly, and the workload that
normally have period data will have reduced CPU time in
TYPE72GO and RMFINTRV datasets, and reports from them.
Change 37.143 Expanded Storage doesn't exist in all z/OS systems so the
IMAC71 56 ESTORE variables in TYPE71 can be dropped by removing
Jun 28, 2019 the comment block when you EDIT the IMAC71 tailoring
member into your "USERID.SOURCLIB" tailoring library.
You do need to examine any reporting programs that use
the TYPE71 dataset to see if those variables are used.
Thanks to Arnold Kim, UPS, USA.
Change 37.142 New READRATE %MACRO will measure the Read Rate (MiB/Sec)
READRATE of MXG processing SMF data records, printing an interval
VMACSMF trace on the log, a PLOT of READRATE vs RUNTIME, and PROC
VMXGINIT TABULATE report with 1 sec default interval. Additional
options are in the comments in READRATE. Syntax:
Jul 1, 2019 %READRATE(READRATE=1,RESULTS=BOTH);
%INCLUDE SOURCLIB(TYPE30); RUN;
&READRATEREPORT;
Change 37.141 Format MG119CD 17:UCP corrected to 17:UDP.
FORMATS
Jun 26, 2019
Thanks to Jenny Chen, DXC Technology, AUSTRALIA.
Change 37.140 -More RMF Monitor III tables are supported by FDF (Field
ADOCRMFV Data Filter) in ASMRMFV: DSI, SPG, SSH
ASMRMFV -New CDF (Character Data Filters) added for RMF III VSAM
Jun 26, 2019 data set level filtering:
CPCNAME= (aliases CPC=, CECNAME=, CEC=)
LPARNAME= (alias LPAR=)
-LPAR names and CPC names are validated for correct syntax
when these filters are used.
-FDF now supports character patterns for character fields.
Only Equal (= EQ) and Not Equal (^= =^ NE NEQ NOT NOTEQ
NOT=) operators may be used in an IF expression with a
character pattern. A pattern either matches or it does
not. Other FDF operators are flagged as an error.
-New DSIAND/DSIOR parameters which have the same function
as the prior SYSAND/SYSOR parameters which are now
respective aliases.
-RMFV014I message now shows counts for RMF III data sets
bypassed by CPCNAME= and/or LPARNAME= CDF keywords.
-Duplicate counts are no longer shown in RMFV014I message
if DUPDSN option is in effect (no duplicate checking).
-Space analysis messages RMFV030I, RMFV031I are no longer
issued for filtered RMF III VSAM data sets.
-MAXDSNS= added as a further alias of MAXDSNAMES=.
-Always force upper case for these CDF keyword values
because lower case letters are always invalid and
would be flagged as an error otherwise:
CPCNAME= SYSPLEX= LPARNAME= SYSTEM=
ASISUBSYS= ASIJOBCLASS= ASIJOBNAME= ASIJESID=
CSRJOBNAME= CSRJESID= DVTDEVNUM=
OPDJOBNAME= OPDPROCNAME= OPDUSERNAME=
-Support validation for all characters allowed for CDF
Workload Names, Service Classes, Report Classes, and
Resource Groups
-Field descriptions in data dictionary entries in ADOCRMFV
for FDF supported RMF III table expanded for better
clarity.
-TRUENAME Fieldnames in FDF data dictionary entries in
ADOCRMFV documentation now show all possible aliases.
-GMT offset value in Summary First Sample Begin Date/Time
selected message RMFV013I could be incorrect.
-RMFV013I selection messages were incorrectly displayed in
Summary report when all RMF III data sets were filtered.
-CDF keywords and aliases may now be used as Fieldnames
in FDF IF expressions (minus the = suffix).
-Message RMFV014I now includes a counter for FDF filters.
-Negative values are now supported in FDF, but only for
GMT offset fields xxxSTDIF and xxxGMTOFF where xxx is a 3
character RMF table id.
-For example this is a valid IF expression:
IF=(ASISTDIF EQ -5H)
-New second RMFV103I message is added to Detail and
Summary reports to display Sample Set filter reason
counts.
-New options AUTOSEL (alias AUTO) and NOAUTOSEL (alias
NOAUTO) added.
-AUTOSEL is the default and will result in the RMF III
table being automatically selected with any CDF or FDF
filter if the table was not already selected. This is a
convenience feature.
-New message RMFV082I appears when a table is auto
selected. In addition in message RMFV105I Y* will
appear in the SELECT column for auto selected tables.
-NOAUTOSEL provides the prior ASMRMFV behavior and the
unselected table condition generates an error. However,
it may be helpful if JCL with CDF and/or FDF filters is
routinely reused to avoid the PDB build overhead of
automatically selecting a table that is no longer wanted.
-For tables not referenced by CDF and/or FDF it is still
necessary to select the RMF III tables of interest.
-The SPGVOLSER= CDF filter could have incorrect results.
-Following documentation sections in ADOCRMFV are added or
updated:
Section Description
0 Contents
2 Terminology
3 Execution JCL
4 RMF III Table Selection Parameters
5 Input Data Selection Parameters
6 Report Control Parameters
8 Error Handling Parameters
9 JCL and SYSIN Parameter Usage
12 Messages
13 Filtered Records
16 Return Codes
20 FREE=CLOSE For VSAM Data Sets
21 Extended ASI/ENC/RCD/UWD Record Support
25 Ranges and Patterns
26 ASMRMFV and MXG PDB Data Relationships
31 Field Data Filtering (FDF)
32 Filtering The ASI Table
33 Filtering The CSR Table
34 Filtering The DSI Table
35 Filtering The DVT Table
36 Filtering The ENT Table (Future)
37 Filtering The GEI Table (Future)
38 Filtering The OPD Table (Future)
39 Filtering The SPG Table
40 Filtering The SSH Table
41 Summary
Change 37.139 Reserved Change.
Change 37.138 The label for variable QW0199TRS in DB2 102 IFCID 199 was
VMAC102 corrected to 'END TIME*OF*INTERVAL', which is strange as
Jun 24, 2019 the SMFTIME was available for the end time.
Thanks to Xing Su, DXC Technology, AUSTRALIA.
Thanks to Peter J. Gray, DXC Technology, AUSTRALIA.
Change 37.137 -Variables INDXUSEP and POLYUSEP percentages are created
VMACRMFV in dataset ZRBDISH to track index usage. The 1110 is the
Jun 21, 2019 maximum number of sample indexes in a 32K DSI table and
50 is the maximum number of policy indexes.
-Strange RMF III intervals can be created if the values
in SMFPRMxx don't match ERBRMFxx options. A site had
SMF INTVAL(10) SYNCVAL(59) with RMF MINTIME(300) SYNC(0)
for RMF III, which created a 4 minute interval (:55 -:59)
when the RMF III MINTIME expired, a one minute (:59-:00)
interval when the SMF Interval Expired, and a five minute
(:00-:05) when the RMF Interval Expired.
Change 37.136 ANALMSUS is a powerful set of reports of SOFTWARE MSUs
ANALMSUS from ASUMCELP, SMFINTRV, TYPE72GO, TYPE89 records, that
Jun 21, 2019 has many different bar charts, tabular reports, and EXCEL
spreadsheets as you choose, with report examples in the
comments, and with numerous report examples available
online at http://www.mxg.com/downloads/analmsus/
ANALMSUS.PDF
ASUMCELPMSU.XLSX
JOBSMSU.XLSX
MSU89.XLSX
REPORTCLASS.XLSX
SERVICECLASS.XLSX
TYPETASK.XLSX
(Don't be confused with archaic ASUMMSUS member.)
Change 37.135 Type 42 Subtype 5 Invalid LENSR values were individually
VMAC42 detected and LENSR=160 set, but now there are a total of
Jun 21, 2019 22 different values for records, because IBM populates
Jun 24, 2019 the total length and not the 160 first segment length.
But with 22 tests, I'm now forcing LENSR=160 always, as
that will ONLY fail if IBM actually changes that first
segment size in the future, you won't be ABENDing on
each new LENSR value. These are the known invalids:
IF LENSR IN (232,240,320,376,400,480,448,304,520,560,592,
720,640,1040,1120,1200,960,1360,1280,1440,880,800)
THEN LENSR=160;
Thanks to Robert Obee, Ensono, USA.
Change 37.134 CHART option changed to NONE because DSIG option is no
ANALACTM longer supported after SAS 9.3. The four coefficients
Jun 15, 2019 (CPU SRB MSO IOC) are added to WLM definitions report.
Change 37.133 TYPE42HI dataset, variables S42VSXST/S42VSXRT/S42VSXID
VMAC42 added in MXG 37.02 and MXG 37.03 incorrectly as character
Jun 17, 2019 variables with $EBCDIC8 informat. Change 37.019 in 37.04
corrected them to &PIB.4. numeric variables, but if you
build WEEKLY PDBs with some days created by 37.02/03 and
other days by 37.04 or later, you will need to either
DROP those variables from the 02/03 day's PDB, or just
remove the creation of TYPE42HI for that week.
It is always best if a new version of MXG is installed
to run on the first day of your week, so that all of
those daily PDBs will have identical structure.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 37.132 Addition of a semi-colon following &OUTCODEx argument in
ASUM4HRS %VMXGSUM invocations to prevent rare errors.
GRAFCEC
GRAFWLM
VMXGRMFI
VMXGSUM
VMXGSUM
VMXGUOTT
Jun 14, 2019
Change 37.131 ANALCNCR fails with multiple errors if there are 0 OBS in
ANALCNCR the input datasets. Now detected and ANALCNCR ends.
Jun 21, 2019
Change 37.130 -New VM Account datasets supported.
EXVMCAPD dddddd Dataset Description
EXVMCAPE CHGD VMCAPCHD CAPABILITY*CHANGED
IMACVM CHGE VMCAPCHE CAPABILITY*CONTINUATION
TYPEVM -Under investigation with IBM Support:
VMXGINIT -Records with blank RECID (bytes 79-80).
Jun 25, 2019 -VMSESSN records overlap, with ACCTTIME greater than the
STARTIME=ACCTTIME-CONECTTM of the next record for the
User TCPIP, trying to use this data for availability
measurement.
Thanks to William Marshall, Ensono, USA.
Change 37.129 Member INSTALL and the listed members were updated with
INSTALL more consistent names in the examples.
MXGWPSV4 -The WPS V4 JCL Procedure need a new DD for 4.1:
JCLINSTW //MAPS DD DSN=&WPSHLQ..MAPS,DISP=SHR
MXGWPSV3
MXGWPSV4
JCLINSTL
JCLINSTT
CONFIGW4
Jun 12, 2019
Change 37.128 SMF 82 ICSF updates from ICN1633 for a future release:
FORMATS -New variable SMF82CSF in TYPE8201 identifies source of
VMAC82 the startup member name, formatted MG082CS.
Jun 12, 2019 -Variable SMF82UCB, SMF82TKF bits are decoded in TYPE8209.
-Variable SMF82TKF bits are decoded in TYPE8209
-Variable SMF82BOT bits are decoded in TYPE8213.
Change 37.127 -Formats created for TYP11902 dataset variables TTTTLSCS,
FORMATS TTTLSPD, TTTERMCD, TTSMCSTATUS, and values updated in
VMAC119 format $MG119RE for variable T119REAS.
Jun 11, 2019 -New TYP11902 variables:
TTSMCSTATUS='SMC-R*STATUS'
TTIPSECFLAGS='IP*SECURITY*STATUS'
TTLCLSMCBUFSZ='LOCAL RMB*BUFFER*SIZE KB'
TTRMTSMCBUFSZ='REMOTE RMB*BUFFER*SIZE KB'
-New TYP11994/TYP11995 OPENSSH new variables.
SSH_FIPSMODE ='RUNNING*IN*FIPS*MODE?'
SSH_KEXMETHOD ='KEY*EXCHANGE*METIOD*USED'
Thanks to Randy Hewitt, DXC, USA.
Change 37.126 z/VM MONWRITE deaccumulated field deltas are sometimes a
VMACVMXA negative value, especially in user fields like VMDTTIME,
Jun 7, 2019 usually related to a VM system event, but the original
assumption was that the negative value was due to a wrap
of the 4-byte accumulated value, so 4294967296 is added,
a guess at the full word wrap value, but these negatives
are not due to a wrap, and you get a very large value.
This change now sets the variable to a MISSING VALUE when
a negative delta is found, so those spikes won't impact.
Thanks to Terry Chao, DC Government, USA.
Change 37.125 Reserved Change.
====== CHANGES THRU 37.124 ARE IN MXG 37.04 DATED Jun 5, 2019 =========
Change 37.124 Variable ID added to the TYPE60,TYPE6156,TYPE62,TYPE64,
VMAC60 TYPE6367,TYPE68,TYPE69 datasets so a direct merge can be
Jun 5, 2019 made without added data passes.
Thanks to Tony Curry, BMC, USA.
Change 37.123 MXG calculation of TYPE70 variable CPUMVSTM/PCTMVSBY was
VMAC7072 too small because Parked Time was incorrectly subtracted
Jun 5, 2019 from CPUUPTM which already has Parked Time removed.
Variables PLCPRDYQ (Ready Queue Delay Percent) and
SHORTCPS were also too small and corrected. Impact was
typically less than ten percent.
Thanks to Ken Deering, COMPUWARE, USA.
Thanks to Selby Shanly, COMPUWARE, USA.
Change 37.122 Support for two new variables in RACF OFFLOAD RACF0200
VMACRACF dataset, with values of YES or NO:
Jun 3, 2019 USBD_ROAUDIT ='USER*HAS*ROAUDIT*ATTRIBUTE?'
USBD_MFA_FALLBACK='USE*PASSWORD*MFA UNAVAIL?'
Thanks to Karl Laseki, American Chemical Society, USA.
Change 37.121 Support for ThruPut Manager Release 18.02 v7r1.0.
VMACTPMX -New variables added to TPM10 dataset:
May 30, 2019 TPMCMLFL='TPMCMLFL*FLAG*BYTE'
TPMCMLCL='SLM*CAPACITY*LEVEL*1-5'
TPMCMLCP='CAPPED*PERCENT*LAST 5*MINUTES'
TPMCMLCC='CEC*CAPACITY*MSU/HR'
TPMCMLAG='AVG GS*JOBS*LAST*5 MIN'
TPMCMLAP='AVG PCS*JOBS*LAST*5 MIN'
TPMCMLAT='AVG GS+PCS*JOBS*LAST*5 MIN'
TPMCMSNM='LPAR*SET*NAME'
TPMCMSLM='LPAR*SET*LIMIT*MSU/HR'
TPMCMSA4='LPAR*SET*4HRAV*MSU/HR'
TPMCMSI5='LPAR*SET*5MINAV*MSU/HR'
TPMCMSFL='TPMCMSFL*FLAG*BYTE'
TPMCMSCL='LPAR*SET*CMP LIMIT*MSU/HR'
TPMCMSC4='CMP-WIDE*4HRAV*MSU/HR'
TPMCMSCI='CMP-WIDE*5MINAV*MSU/HR'
TPMCMSMA='MOBILE*4HRAV*MSU/HR'
TPMCMSBA='CATEGORY A*4HRAV*MSU/HR'
TPMCMSMI='CATEGORY B*4HRAV*MSU/HR'
TPMCMSMI='MOBILE*INTERVAL*USAGE*MSU/HR'
TPMCMSAI='CATEGORY A*INTERVAL*MSU/HR'
TPMCMSBI='CATEGORY B*INTERVAL*MSU/HR'
-New variable added to TPMSLM dataset
TPMSCLVL='MAXIMUM*CAPACITY*LEVEL'
Change 37.120 Mobile Service Units on GP and IIP ARE included in the
VMAC7072 CPUTM and ZIPCPUTM variables in TYPE72GO and TYPE72TR.
May 28, 2019 The comments in Change 36.253 are wrong and the proposed
CPUTM_ALL=SUM(CPUTM,CPUMOBILCP) is now CPUTM_ALL-CPUTM
and labeled EQUAL*TO*CPUTM. Using a WLM Policy that
classified the entire workload for a service class as
MOBILE, the Service Units were the same in the sum of
R723CCPU and R723CSRB (CPUTCBTM and CPUSRBTM), and in
R723TSUCP and in R723MSUCP (Total GP and Total Mobile).
Thanks to Ken Deering, Compuware, USA.
Thanks to Selby Shanly, Compuware, USA.
Change 37.119 Label for PTECP2 is 'CPU TIME*ZIP*ELIGIBLE' instead of
VMACNDM "QUALIFIED".
May 28, 2019
Thanks to Joe Faska, DTC, USA.
Change 37.118 Sites with NLS issues must use CONFIMXG, but to build the
JCLCONFI new FORMATS catalog, you must use the JCLCONFI example.
May 27, 2019
Change 37.117 The optional CICS DBCTL SMF 110 segment can be 164 or 256
IMACICDB but the order was the 164 first, so if you opened both of
May 23, 2019 the comment blocks, the 256 segment was misaligned. Now,
the 256 segment is first and both blocks can be opened to
support both lengths.
Thanks to Steven W. Erkkila, USBank, USA.
Change 37.116 -WPS U4087 ABEND in WPS 4.1 but not in WPS 4.0 due to the
CONFIGW4 new data copier added in 4.1, can be circumvented with
AUTOEXEW OPTIONS NOWPSSCATTERCOMP; which turns off the facility.
May 22, 2019 -This correction also fixed a CPU Loop in WPS 4.1.
Jun 17, 2019 -CONFIGW4 for z/OS and AUTOEXEW for ASCII have the option
added, but commented out, and for WPS 4.1 you must remove
the comment block. That option did not exist in 4.0.
Jul 3: Corrected in WPS 4.1.2.0.17535.
Change 37.116A Variable OPENTIME was repeated in _BTY1415 By List macro,
VMAC1415 causing NOTE:DUPLICATE BY VARIABLES. Second OPENTIME was
May 22, 2019 removed. Change 35.166 revised the BY list.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 37.115 Wrong SMF record types for the example IFASMFDP step when
UTILBLDP BUILDJCL=YES was specified. 23 should have been 25 and
May 22, 2019 26J2/26J3 should be 26.
Change 37.114 Support for updated BETA 93 V6R2 (INCOMPATIBLE changes).
EXTYBET9 Offset to data was changed for some records.
EXTYBETP New subtypes create new datasets:
EXTYBETQ DDDDDD DATASET Description
EXTYBETR TYBET9 BETA9 RECORDS LIST/REPORT CVRTD
EXTYBETS TYBETP BETA12 PRINT HEADER PAGES
EXTYBETT TYBETQ BETA17 RECORDS MAILING OUTPUT
FORMATS TYBETR BETA30 DSC DATA CONVERTED LISTS
IMACBETA TYBETS BETA31 DSC RESRCS CVRTED LISTS
VMACBETA TYBETT BETA55 LOGOFF REQS WEB ENABLER
VMXGINIT Only BETA12 & BETA55 new datasets have been data tested.
May 22, 2019 Variable SYSUSRJOBCORR is INPUT and KEPT for subtypes
May 27, 2019 that contain it.
Thanks to Andreas Menne, Finanz Informatik-Sicherheitshinweis,GERMANY
Thanks to Martina Ruminski, Fin Informatik-Sicherheitshinweis,GERMANY
Change 37.113 NDM-CDI 24-byte record INPUT EXCEEDED ERROR; the header
VMACNDM length is 28 bytes, so a test for length is added and an
May 19, 2019 error message printed and the record deleted.
Thanks to Kurt Gramling, T-SYS, USA.
Change 37.112 New options CLEARALL=ONLY will clear any normal MXG
VMXGALOC associated LIBNAMEs allocated to your session without
May 19, 2019 trying to allocate new libnames.
Clears these libnames:
PDB SPIN MON TUE WED THU FRI SAT SUN WEEK
WEEK1-WEEK5 WTD MONTH MTD TREND
only if they are allocated.
Change 37.111 Final revisions for WSF/EOS WSFAUDIT variables AUDACT
FORMATS and AUDOBJN and their FORMATS, replaces Change 37.083.
VMACWSF -Dataset WSFACCT will always have zero observations; it
May 14, 2019 was never correct and is replaced by the four datasets
WSFDSN, WSFERD, WSFEVTSC, and WSFEVTPR.
Change 37.110 MXG Members TYPExxxx create output datasets in //WORK,
TECHNOTE MXG Members TYPSxxxx always SORT from WORK to PDB, and
May 11, 2019 the _Sxxxx sort macro all datasets for product xxxx and
deaccumulates those datasets with accumulated fields.
Exception: TYPEDB2 invokes the _SDB2 macro that sorts
all DB2 datasets except for DB2ACCT, and _SDB2
deaccumulates the DB2 datasets listed below
that need deaccumulation. They are also listed
in member DIFFDB2 lists sort/nonsort datasets.
NOTE: DB2ACCTP is sorted by _SDB2, but if you
only want Stats sorted, use _S100.
Exception: TYPE110/TYPE110S _S110 never sort these:
SUBTYPE=1, CICS MONITOR DATASETS:
_SCICTRN - CICSTRAN IS NOT SORTED, HIGH VOLUME
_SCICRDS - CICSRDS IS NOT SORTED, HIGH VOLUME
_SCICRDD - CICSRDPL IS NOT SORTED, HIGH VOLUME
_SCICRDF - CICSRDFI IS NOT SORTED, HIGH VOLUME
_SCICRDQ - CICSRDQU IS NOT SORTED, HIGH VOLUME
_SCICIDN - CICIDNTY IS NOT SORTED, HIGH VOLUME
_SCICIDD - CICIDNDD IS NOT SORTED, HIGH VOLUME
_SCICACC - CICSACCT NOT SORTED, PRE-CICS/ESA ONLY.
_SCICSYS - CICSYSTM NOT SORTED, PRE-CICS/ESA ONLY
PRODUCT DATASETS THAT ARE ACCUMULATED DDDDDD/DATASET
28 028IN7/NPMINPMT
30 TY30U6/TYPE30_6
50 DIF() ONLY FOR INTERVAL DELTA
79 TY791/TYPE791 TY792/TYPE792 TY799/TYPE799
TY79C/TYPE79C
99 TY99BG/TYPE99BG
102 102380/T102S380 102402/T102S402
103 TY1032/TYPE1032 TY103D/TYPE103D
108 TY1083/TYPE1083
110 INTTC/CICTC INTTSR/CICTSR INTDMG/CICDMG
INTVT/CICVT INTAUT/CICAUTO INTLDS/CICLDG
INTDTB/CICDTB INTTCR/CICTCR INTDQR/CICDQR
INTDQG/CICDQG INTTSQ/CICTSQ INTDS/CICDS
INTST/CICST INTFCR/CICFCR INTM/CICM
INTTDG/CICTDG INTSDG/CICSDG INTSMS/CICSMDSA
INTAUS/CICAUSS INTCO3/CICCONMR INTCO1/CICCONSR
INTDL3/CICDLIG INTDL1/CICDLIR INTDBU/CICDBUSS
INTPGG/CICPAUTO INTIRC/CICIRCB INTDMR/CICDMR
INTFEP/CICFEPIP INTFEC/CICREPIC INTFET/CICFEPIT
INTJCR/CICJCR INTLDR/CICLDR INTLS3/CICLSRFR
INTLS1/CICLSRR INTSDR/CICSDR INTSMD/CICSMD
INTSMT/CICSMT INTTC1/CICTCLR INTTDR/CICTDR
INTXMC/CICXMC INTUSG/CICUSG INTXMG/CICXMG
INTXMR/CICXMR
113 TY113/TYPE113 TY1131/TYPE1131
AIX ALL AIX Datasets
DB2 DB2PST/DB2PSTXX DB2NET/DB2NETXX DB2ST5/DB2STAT5
DB2ST0/DB2STAT0 DB2ST1/DB2STAT1 DB2STS/DB2STATS
DB2SBP/DB2STSBP DB2STB/DB2STATB DB2STR/DB2STATR
HSM HSMDSR/HSMDSRST HSMFST/HSMFSRTP HSMFUN/HSMDSRFU
HSMVSF/HSMVSRFU HSMVSR/HSMVSRST
IMS IMS452/4/6/7/8/9/C/D/E/F/O/P/G/H/I/J/K/L/M/N
UNS56B
MPLX MPLXIN/XSE/XGA/XRT/XPE/XPM/XPO
NDM NDMCT
ASI CPUTA_LF,TCBTA_LF,IOCNT_S,TRCA_S,TET,TRT
TCP TYTCPS/TYPETCPS
TPX TPXINT/TPXINTRV
VMXA SYTSYP/SYTPRP/SYTRSG/SYTRSP/SYTXSP/SYTASG/SYTSHS
SYTUSR/SYTCPC/SYTSCG/SYTCOM/SUTUWT/SYTSCP/SYTXSG
SYTCUG/SYTCUP/SYTCUM/SYTCPM/SYTSYG/SYTEPM/SYTLCK
SYTLCX/SCLADL/SCLDDL/SCLAEL/SCLSRM/SCLSTP/STORSG
STORSP/STOSHR/STOASP/STOBPG/STOXSG/STOXSU/STOASS
STOASI/STOSHD/STOVDK/USEDFC/USEATE/USEITE/PRCPRP
PRCIOP/PRCAPM/PRCMFC/PRCPUP/PRCMFM/IODDEV/IODMOF
IODVSW/VMDSES/ISFISA/ISFNOD/APLSRV/APLSLM/APLSLP
APLSL0/APLSLN/APLCMS/APLVMR/APLLXP/APLTC0/APLTC3
APLTC4/APLTC5/APLTC7/APLTC8/APLTC9/APLTCA/APLTCB
SSISCS/SSISMI/SSIXLK/SSIXDI
Change 37.109 Support for z/OS 2.4 SMF Manual 04MAR19 are already in
VMAC7072 place in MXG 37.02+, Change 37.037 from 14JAN19 Manual,
VMAC74 except for
May 10, 2019 -SMF70CPC_TYPE, listed in "Summary of Changes" page xxii,
but the field is not found in in the manual,query raised.
-New SMF70PRTCTV='SMF70OS*PRTCT*IS VALID?' flag in TYPE70.
compatibly added in this change.
Change 37.108 Bit mapping documentation for NDN-CDI CNF1/CNF2 fields:
VMACNDM NDMCNF1 $CHAR1. /*SECURE*COPY*FLAG1*/
May 9, 2019 /* BIT MAPPINGS FOR NDMCNF1 AND CISECNF1
PCEF EQU X'80' PNODE ENCRYPT.DATA
SCSI EQU X'40' SNODE SECURE.SIGNATURE
PCSI EQU X'20' PNODE SECURE.SIGNATURE
CCSI EQU X'10' COPY SECURE.SIGNATURE
SCEF EQU X'08' SNODE ENCRYPT.DATA
SSL EQU X'04' SSL.ENABLED=Y
TLS EQU X'02' TLS.ENABLED=Y
STS EQU X'01' STS.ENABLED=Y */
NDMCNF2 $CHAR1. /*SECURE*COPY*FLAG2*/
/* BIT MAPPINGS FOR NDMCNF2
CSIN EQU X'80' SIGNATURE = CURRENT KEY
PSIN EQU X'40' SIGNATURE = PREVIOUS KEY
TLS EQU X'20' TLSV10 ENABLED
STS EQU X'10' STS.ENABLED
IPV6 EQU X'08' IPV6 ADDRESS
TLS1 EQU X'04' TLSV11 ENABLED
TLS2 EQU X'02' TLSV12 ENABLED
ZFBA EQU X'01' ZFBA WAS USED */
NDMCPEA $CHAR1. /*MERGED*SECURE*ENCRYPT*NUMBER*/
Change 37.107 A change in the length of TPX05LEN misaligned TPXETIME &
VMACTPX TPXATIME; they incorrectly INPUT blanks, which TODSTAMP8
May 9, 2019 reported as 8am on Oct 27, 1935.
Thanks to Craig Bigler, Progressive, USA.
Thanks to Ann Knapik, Progressive, USA.
Change 37.106 A check of SYSFILRC that should have been inside a DO
BLDSMPDB loop checking SMFIN could cause a spurious critical error
May 8, 2019 saying that the allocation of the SMF file failed if some
May 13,2019 other earlier FILENAME statement had failed. FILENAME
May 19, 2019 statements don't tell us when they have a problem until
you try to use them unless you check the SYSFILRC macro
variable for a non-zero value.
-If you run a weekly job independently of a daily job and
are using AUTOALOC=YES and need to rerun the week using
FORCEDAY it pointed at the incorrect day and did not
recognize the start of the week. FORCEDAY should always
be the date of the data being processed so if your week
starts on Monday FORCEDAY should point at Sundays date.
If you are running a weekly or monthly job the code
validating parameters still looks at the value in
BUILDPDB and if it did not match what was expected could
cause a failure. Now you can either omit the parameter
and allow it to default or you can specify BUILDPDB=NO.
-If you run TREND daily and needed to rerun a WEEK, the
trending ran as if it were daily. If you are using
AUTOALOC this just repeats what was already done and
there will be no duplication of data. Now BLDSMPDB checks
to see that RUNDAY is NE NO.
-BLDSMPDB now sets SYSCC=16 if it detects any errors, and
displays that condition code value at the end.
Change 37.105 Support for SMF 120 WAS and LIBERTY COMPATIBLE new data:
VMAC120 -Subtype 11. TYP120BL. SM120BDL='ON IF*CVTZCBP*IS ON?'
May 6, 2019 -Subtype 09. TYP1209N. SM1209HW='ON IF*CVTZCBP*IS ON?'
SM1209HX='WORKER*THREADS*PRESENT'
-Subtype 12. TYP12012. SM120CEJ='ON IF*CVTZCBP*IS ON?'
Change 37.104 Variables CECSER and CPCMODEL are added to TYPE72GO data
VMAC7072 set, retained from prior 70. However, they are set blank
May 6, 2019 if the PREVVSYS system is not the SYSTEM of this record,
May 19, 2019 which could happen if the SMF data was sorted before MXG
or if an SMF Dump happens to start with type 72 records.
Thanks to Andrew Petersen, DXC Technology, AUSTRALIA.
Change 37.103 Support for IMS Log Records 5607/5610/5904/5950 creates
EXIMS567 new datasets:
EXIMS56A DDDDDD DATASET DESCRIPTION
EXIMS594 IMS567 IMS5607 MCS/PICOS
EXIMS595 IMS56A IMS5610 START PHASE 1 SYNCPOINT
IMACIMS IMS569 IMS5609 CCTL DISCONNECT FROM DBCTL
VMACIMS IMS56B IMS5611 END OF PHASE 1 SYNCPOINT
VMXGINIT IMS56F IMS5615 RRS RESTART DONE
May 15, 2019 IMS594 IMS5904 REGION OCCUPANCY RECORD
IMS595 IMS5950 DATA BASE LOG RECORD
Change 37.103A FORMAT $MGFSMFID updated for DB2 102 IFCIDS for ANALID.
ANALID
FORMATS
May 15, 2019
Change 37.102 Support for CICS/TS 5.5 new Statistics, COMPATIBLE, two
EXCICMPR new datasets, and all _SCICxxx sorts now deaccumulate.
EXCICSJN For 5.5, fields were inserted into reserved areas.
FORMATS -New Dataset CICMPR for STID=145 CICS Policy statistics.
IMAC110 MPR_POLICY_NAME ='POLICY*RESOURCE*NAME'
VMAC110 MPR_RULE_NAME ='POLICY*RULE*NAME'
VMXGINIT MPR_POLICY_USERTAG='POLICY*USERTAG'
May 6, 2019 MPR_BUNDLE_NAME ='POLICY*BUNDLE*NAME'
May 18, 2019 MPR_BUNDLE_DIR ='POLICY*BUNDLE*DIR'
Jun 2, 2019 MPR_RULE_TYPE ='RULE*TYPE'
MPR_RULE_SUBTYPE ='RULE*SUB*TYPE'
MPR_ACTION_TYPE ='ACTION*TYPE'
MPR_ACTION_COUNT ='RULE*ACTION*COUNT'
MPR_ACTION_TIME ='RULE*LAST*ACTION*TIME'
-New Dataset CICSJN for STID=150 NODEJSAPP statistics.
SJN_NAME ='NODEJSAPP*NAME'
SJN_LE_RUNOPTS ='NODEJSAPP*LE*RUNOPTS'
SJN_STATE ='NODEJSAPP STAT'/
SJN_DEFINE_SOURCE ='GROUP*INSTALLED*FROM'
SJN_CHANGE_TIME ='CHANGE*CREATE*TIME'
SJN_CHANGE_USERID ='CHANGE*USERID'
SJN_CHANGE_AGENT ='CHANGE*AGENT'
SJN_INSTALL_AGENT ='INSTALL*AGENT'
SJN_INSTALL_TIME ='INSTALL*CREATE*TIME'
SJN_INSTALL_USERID ='INSTALL*USERID'
SJN_CREATION_LCL ='CREATION*TIME*LOCAL'
SJN_PID ='NODEJSAPP*PID'
SJN_BUNDLE_NAME ='BUNDLE*NAME'
SJN_CPU ='TOTAL*CPU*TIME'
SJN_HEAP_CURRENT ='ALLOCATED*HEAP'
SJN_HEAP_RUNTIME ='HEAP*USED BY*RUNTIME'
SJN_HEAP_APP_DATA ='HEAP*USED FOR*DATA'
SJN_HEAP_MAX ='MAX*POSSIBLE*HEAP'
SJN_INVK ='COMPLETED*INVOKES'
SJN_INVK_ERR ='COMPLETED*INVOKES*IN ERROR'
SJN_INVK_CUR ='CURRENT*INVOKES*IN PROGRESS'
SJN_INVK_PEAK ='PEAK*INVOKES IN*PROGRESS'
SJN_NODEHOME ='NODEHOME*PROFILE*ENTRY'
SJN_PROFILE ='PROFILE'
SJN_STARTSCRIT ='ENTRY*JAVASCRIPT'
SJN_STDERR ='STDERR*FILE'
SJN_STDOUT ='STDOUT*FILE'
SJN_TRACE ='TRACE*FILE'
SJN_LOG ='LOG*FILE'
-Dataset CICDB2GL STID=102 new variable
D2GTCBPR='TCB*PROTECTED*CURRENT'
-Dataset CICCONSR STID=52 new variables.
A14EAHWM='MAX*AIDS'
A14EALL expanded to 4 bytes, used reserved area.
-Dataset CICMNG STID=81 new variables
MNGIR ='IDENTITY*RECORDS'
MNGIRS ='IDENTITY*RECORDS*SUPP BY EXIT'
MNGDPLRL='DPL*RESOURCE*LIMIT'
MNGURIRL='URIMAP*RESOURCE*LIMIT'
MNGWEBRL='WEBSVC*RESOURCE*LIMIT'
-Dataset CICXMR STID=11 variable
XMRAENDC='ABEND*COUNT'
-Previously _SCICddd Statistic Dataset Sort Macros only
PROC SORTed from WORK to PDB; there was no deaccumulation
so fields with accumulated values were wrong. Now, all
_SCICddd macros de-accumulate correctly into the PDB.
The _S110 macro sorts account and all statistics datasets
the _S110ST macro sorts only the statistics datasets.
-By DEFAULT, TYPE110 & BUILDPDB do NOT invoke _S110ST. All
datasets are left in work, where you can tailor EXPDBOUT
to sort all or individual datasets. You can use
%LET EPDBOUT= _S110ST ; in your SYSIN to sort the stats
datasets AND deaccumulate to correct errors in CICINTRV.
-But if UTILBLDP is used to create your tailored BUILDPDB,
and if CICS data was requested, then _S110 is invoked, so
your PDB.CICINTRV will be valid as soon as you use 37.04.
-TYPS110 invokes _S110, TYPE110 does not.
-Revised deaccumulation logic needed JOB READTIME added
to the BY list, and logic NOT FIRST.READTIME used to
eliminate large values created when back-to-back regions
had forward times.
-A new _SCICxxx sort macros option MXGCICRQTSORT can be
used to only read and use the SMFSTRQT='INT' interval
records with this statement in your //SYSIN:
%LET MXGCICRQTSORT=%QUOTE(WHERE SMFSTRQT='INT');
This needs testing when you have multiple RQTs.
The MXG default continues to use ALL record types.
-A new macro variable &MXGCICSORTED is set to YES in
_S110 and _S110ST macros so that the logic in VMXGCICI
knows to use the PDB deaccumulated data. You would only
need to set it to YES if you are building CICINTRV in
a separate job from the one that created the stats PDB.
Change 37.101 MXG 37.03, if you used USERADD=102.nnn syntax for DB2
UTILBLDP IFCID subtype, and used BUILDPDB=YES, the generated code
May 6, 2019 was wrong and failed with 455-185 W102nnn error.
Thanks to Tim Hare, Florida Department of Transportation, USA.
Change 37.100 DB2 zPARM T102S106 vars were wrong in V11/V12 because
VMAC102 QWP4CYR input $EBCDIC8 but it is only one byte:
May 3, 2019 QWP4CYFR QWP4DDLM QWP4CDSTL QWP4ZHYPL QWP4STACS
These zPARM variables in DB2 V12 are now supported:
QWP4RTNP ='REORG*TS_NOPAD*DEFAULT?'
QWP4DYNPFSW ='QWP4DYNPFSW'
QWP4PSPN ='PAGESET*PAGENUM*ABSOLUTE*RELATIVE?'
QWP4RDS_DM_BLKFI='QWP4RDS*DM*BLKFI'
QWP4NIDX ='QWP4NIDX'
QWP4IXMC ='INDEX_MEMORY_CONTROL'
QWP4UHMDH ='UTILS*HSM_MSGDS*HLQ'
QWP4DINA ='DEFAULT*INSERT*ALGORITHM'
QWP4MISD ='QWP4MISD'
QWP4FLT ='QWP4FLT'
QWP4IXMT ='QWP4IXMT'
QWP4AUTC ='AUTH*COMPATIBILITY'
QWP4TSCT ='QWP4TSCT'
QWP4ENKL_OFF ='OFFSET*FOR*ENCRYPTION*KEYLABEL'
QWP4CDRL='COMPRESS*DIRLOB'
QWP4SFPR='STATFDBK*PROFILE'
QWP4AUTCSU='SELECT*FOR*UNLOAD'
Thanks to Lai Fai Wong, Bank of America, USA.
Change 37.099 Two formats for CICS Version variable SMFPSRVR displayed
FORMATS 72 instead of 'TS5.5' or '5655-Y04 in MOBILE data.
May 2, 2019
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 37.098 -Possible Abend S0C7 when using the CDF Filter SYSPLEX=
ASMRMFV after ASMRMFV change 36.241. Affects MXG releases
May 1, 2019 36.12-37.03. HAS NOT OCCURRED, exposure was observed.
-Options message RMFV037I incorrectly shows SHOWASI,
but SHOWASI option is not actually in effect. Affects
MXG release 37.03 only.
Change 37.097 APAR OA56762 NEGATIVE SMF30_TIME_ZIIP_ON_CP zOS 2.2 only,
TECHNOTE FLASH caused LARGE CPU time of 42,949,672 seconds because MXG
Apr 30, 2019 input as PIB4 expecting positive values. The INVALID
DATA BIT in SMF30TF2 for this time field WAS NOT ON.
This is variable CPUZIETM='ZIP-ELIGIBLE*CPU TIME*ON CP'
in MXG TYPE30 datasets, and the defect was in eight
subtype 3 interval termination records in this SMF file
Thanks to Jutta Gleixner-Schmid, ALLIANZ. GERMANY.
Change 37.096 RMF III dataset ZRBASI variables ASIFRXB_LF,ASIFRXA_LF
VMACRMFV and ASIFRXH_LF are the sum variables that should have
Apr 26. 2019 been divided by ASISMPCT to report their average value.
The labels are also corrected. Variables CPC_CECNAME
and LPARNAME are added to dataset ZRBBDSIH.
Thanks to Karl Laseki, American Chemical Society, USA.
Change 37.095 New variables added to TYPEDBDS (IMF from BMC):
FORMATS -DBTRIOTM DBTWIOTM DBTFLAG2 DBTFLAG3
VMACCIMS DBTNOI DBTNOO DBTBFSTK DBTBFSTN
VMACIMS -Formats for DBTFLAG2 and DBTFLAG3 created.
Apr 25, 2019 -IMS07 ENDTIME could be missing due to 8 bytes
May 3, 2019 found but not documented; detection/protection
was added.
-Variable BHTOON is added to CIMSTRAN and CIMSDBDS;
it was already kept in CIMSPROG.
-Variable ALPCPTRN was incorrectly formatted $HEX8 and
incorrectly used to create UOWTIME.
-UOWTIME was incorrectly created like CICS UOWTIME with
only 6-bytes of datetime, but IMS UOWTIME is 8-bytes in
UOWTRANS, now used to create the IMS UOWTIME.
Thanks to Randy Hewitt, DXC, USA.
Change 37.094 CICS 110 Stats CICLSRR dataset accumulated variables that
VMAC110 end with BFF/CRF/CRS/CWF/CWS/FRD/UIW are now correctly
Apr 24. 2019 deaccumulated in _SCICLS1 sort macro when TYPS110 is used
Apr 26, 2019 or it can be added after TYPE110 is included.
See Change 37.102, all CICS Statistics are deaccumulated.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 37.093 Support for IMS ODBM Accounting SMF Type 29 Subtype 1
EXTY29OD record creates the new TY29ODBM dataset.
VMAC29
Apr 24, 2019
Thanks to Kurt Gramling, T-SYS, USA.
Change 37.092 TRENDINCODE= parameter added to both macros to allow you
VMXGRMFI to limit the trend datasets. You could limit the amount
VMXGDBSS of data retained by specifying (using VMXGDBSS here) by:
Apr 20, 2019 TRENDINCODE=IF DATEPART(BEGTIME) GE TODAY()-732;
to impose a 2 year limit on the data.
====== CHANGES THRU 37.091 ARE IN MXG 37.03 DATED Apr 19, 2019 =========
Change 37.091 -TYPE42 Subtype 5 INPUT EXCEEDED when new MCO/SYO/BGO data
VMAC42 segments exist, MXG miscoded the new segments, MXG 37.02.
VGETUTKN -Hex 00 protection for UTKNPOE/UTKNSCL/SMF42GAO/SMFA2GAO/
Apr 18, 2019 SMF42FAJ/SMF42FBN/SMFA2FAJ/SMFA2FBN/SMF42GAN/SMFA2GAN.
ST 5 Error caught by Early Adopter tester in MXG 37.03EA.
-Jun 17: Variables S42VSXST and S42VSXRT were created in
MXG 37.02-03 incorrectly with $EBCDIC8 informat. This
change corrected them to &PIB.4. numeric variables in
TYPE42HI dataset, but if you build WEEKLY PDBs with some
days 37.02/37.03, and some 37.04 or later, you will need
to DROP those variables from the 02/03-built PDB.
Change 37.090 When BUILDPDB=YES is used with %UTILBLDP, the SMF 113
UTILBLDP records are automatically processed, and ASUM113 is run
Apr 15, 2019 after BUILDPDB. Now, SUPPRESS=113 can be used if you
don't want those datasets.
Change 37.089 -Major enhancements to ASMRMFV and VMACRMFV.
ADOCRMFV -New Field Data Filter (FDF) feature supports field level
ASMRMFV data selection for the RMF III ASI, CSR, and DVT tables.
VMACRMFV -The ANDIF=, ORIF=, IF= keywords are used to specify a
Apr 16, 2019 FDF filter called an IF expression.
-FDF complements the existing Character Data Filter (CDF)
feature. CDF has no numeric data filtering capability.
-If both CDF and FDF filters are used, then CDF filtering
occurs first. Entries filtered by CDF are never passed
to FDF.
-FDF supports character, fixed point, floating point,
percent, bit string, hex string, time, and time of day
fields for filtering depending on the format and content
of each field.
-FDF uses IF expressions with 3 components enclosed in
required matched left/right parentheses in this order:
1. RMF III field name or MXG variable name when
supported
2. Comparison operator
3. Character, numeric, bit string, hex string, percent,
time, or time of day value as appropriate to the
field being filtered.
-See documentation Sections 31-34 for full details on the
use of FDF.
-New RMFV080I-RMFV088I messages added for FDF support.
-New options SHOWARR (alias SHARR) and NOSHOWARR (alias
NSHARR) added to display IF expression memory storage
array activity. Default is NOSHOWARR. see Section 6
Report Control Parameters for more details.
-New options SHOWIF (alias SHIF) and NOSHOWIF (alias
NOSHIF) added to display IF expression compare results
in both Detail and Summary reports in message RMFV080I.
Default is SHOWIF. see Section 6 Report Control
Parameters for more details.
-New option IFERR= controls handling of errors detected
while processing ANDIF=/IF=/ORIF= expressions. Possible
settings are ABEND, ERROR, WARN, IGNORE. Default is
IFERR=ERROR. See Section 8 Error Handling Parameters
For more details.
-Three recently documented RMF Monitor III tables are now
supported for PDB builds: PCI, SCM, and ZFS.
-The PCIE Activity Data Table may be selected with the
PCI, P, MOST, or ALL table select options.
-The Storage Class Memory Data Table may be selected with
the SCM, MOST, or ALL table select options.
-The ZFS Performance Data Table may be selected with the
ZFS, Z, MOST, or ALL table select options.
RMF III data set.
-ASMRMFV will now detect quoted strings and not apply any
translations regardless of UPCASE/NOUPCASE settings.
-ASMRMFV will no longer check for Control Unit Busy or
Switch Port Busy when filtering DVT entries with the
NOZEROIO option. These DVT fields became obsolete and
unused with z/OS 1.4 in September 2002.
-Almost all documentation for ASMRMFV now resides only
in the ADOCRMFV member.
-ADOCRMFV has been reformatted to take advantage of full
72 column width for better legibility.
-Message RMFV033* showed an incorrect value for index
count if an I/O error occurs reading the first or last
MINTIME interval.
-Many documentation sections have been updated and 4 new
sections are added:
Section 31 Field Data Filtering (FDF)
Section 32 Filtering The ASI Table
Section 33 Filtering The CSR Table
Section 34 Filtering The DVT Table
Change 37.088 DB2 102 IFCID 106 truncated variables longer lengths are
VMAC102 now supported:
Apr 15, 2019 QWP4SADM='INSTALLATION*SYSTEM*ADMIN*USERID'
QWP4DFID='SYSTEM*DEFAULT*USERID'
QWP4ADM2='SYSTEM*ADMIN*ID2'
QWP4OPR1='MVS*OPERATOR*ID'
QWP4OPR2='MVS*OPERATOR*ID2'
QWP4REGC='DDL*REG*TABLE*OWNER'
QWP4REGA='DDL*REG*ART*NAME'
QWP4REGO='DDL*REG*ORT*NAME'
QWP4OZUS='ONLINE*ZPARM*USERID*MONITOR'
QWP4FCCD='UTILS*FCCOPYDDN*PARM*DEFAULT'
Thanks to Lai Fai Wong, Bank of America, USA.
Change 37.087 SMF 50 VTAM Tuning record subtypes 02 and 05 don't match
VMAC50 the record documentation and IBM has acknowledged and
Apr 15, 2019 will revise their doc, when this text will be updated.
This change only reverses the order of RDUX/REDE.
Thanks to Svend Zaunick, Finanz Informatik, GERMANY.
Change 37.086 MXG Support for the new Japanese Reiwa era dates is in
TECHNOTE place as MXG does not use any Japanese informats, but
Apr 10, 2019 SAS Note 63973 reports an update is needed to provide
support in NENGO and JNENGO informats/formats.
Change 37.085 SMF 92 Subtype 52 INPUT EXCEEDED. because SMF92TRSN was
VMAC92 documented as 52 EBCDIC on page 846, but there are only
Apr 10, 2019 8 bytes at the end of the record for the name, and the
segment length is 48 to match a final 8-byte field.
But I believed the SMF manual and INPUT 52 without an
extra test to see if the bytes were there.
Thanks to Joe Faska, DTCC, USA.
Change 37.084 Variables CMB10C0-CMB10C4 in VXPRCAPM are wrong because
VMACVMXA their DIF() calls had the wrong variable.
Apr 10, 2019
Thanks to Graham Harris, RBS, ENGLAND.
Change 37.083 -Ignore the first two sections of this original text.
VMACWSF -WSF/EOS revisions corrected misalignment in WSFAUDIT
VMACWSF dataset, but AUDOBJT values of '6C'x and 'B4'x are not
Apr 10, 2019 documented, and the order of AUDACT and AUDOBJT is NOT
Apr 19, 2019 consistent with the documentation, which has always has
May 14, 2019 ACT then OBJT, but for ACT values of '60'x or higher,
I've observed OBJT is first, and the value of OBJT has
to be used to decode the multiple uses of the AUDOBJI
field into the correct variable.
-Also, OBJT values of '6C'x,'B4'x are found but not
documented in the DSECT.
-Dataset WSFACCT will always have zero observations; it
was never correct and is replaced by the four datasets
WSFDSN, WSFERD, WSFEVTSC, and WSFEVTPR.
-May 14, 2019. See Change 37.111.
Change 37.082 SMF 99 ST 12 dataset TYPE99CC Capacity Increase/Decrease
VMAC99 bit variables S99CCCCAPINCR/S99CCCCAPDECR/S99_VCM_D2-4
Apr 9, 2019 are decoded into individual variables:
S99CCCCAPINCR0='ADJUST*CAPACITY*INCREASE?'
S99CCCCAPINCR1='ADJUST*CAPACITY*INCREASE*BY UNPARK'
S99CCCCAPINCR2='UNPARK*REQUEST?'
S99CCCCAPINCR3='UNPARK*ALL*REQUEST?'
S99CCCCAPINCR4='RESERVED'
S99CCCCAPINCR5='UNPARK*CAPACITY*BELOW?'
S99CCCCAPINCR6='CAPPED*UNPARK*HIGH VH*UTILIZATION?'
S99CCCCAPINCR7='RESERVED'
S99CCCCAPDEC00='ADJUST*CAPACITY*DECREASE?'
S99CCCCAPDEC01='ADJUST*CAPACITY*DECREASE*BY UNPARK'
S99CCCCAPDEC02='PARK*REQUEST?'
S99CCCCAPDEC03='PARK*ALL*REQUEST?'
S99CCCCAPDEC04='MVSBUSY*TOO*LOW?'
S99CCCCAPDEC05='VL*EFFECT*TOO LOW?'
S99CCCCAPDEC06='SMALL*VM/VL*EFFECTIVENESS?'
S99CCCCAPDEC07='NO*VM/VL*EFFECTIVENESS?'
S99CCCCAPDEC08='IF*NO*VH*EXISTS?'
S99CCCCAPDEC09='NO DECREASE*LOW*CEC*UTILIZATION?'
S99CCCCAPDEC10='PR/SM*CAPPED*PARK ALL?'
S99CCCCAPDEC11='PR/SM*CAPPED*PARK ALL*HI CEC UTIL?'
S99CCCCAPDEC12='PR/SM*CAPPED*VH UTIL*LOW?'
S99CCCCAPDEC13='PR/SM*CAPPED*VL*EFFECT*TOO LOW?'
S99CCCCAPDEC14='PR/SM*CAPPED*MVS BUSY*TOO LOW?'
S99CCCCAPDEC15='PR/SM*CAPPED*ADJUST*CAPACITY*DECR?'
S99CCCCAPDEC16='PARK ALL*REQUEST*unpark*threshold?'
S99CCCCAPDEC17='PR/SM CAPPED*NO DECR*LOW CEC UTIL?'
Thanks to Jan Tielemans, KBC, BELGIUM
Change 37.081 Velocity VPS USER records are either Interval or Summary
VMACXAM but only the top ten users get Interval records, so when
Apr 5, 2019 analyzing the USER data,you MUST select IF INTORSUM='SU'
to see the total resource usage.
Thanks to Deeresh Naidoo, First Rand Bank of South Africa.
Change 37.080A Datasets BETA9706 and BETA9706D were not output to PDB
VMACBE97 when TYPSBE97 was used to sort from work to PDB.
Apr 4, 2019
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 37.080 Variables SVPCNM Service Class and RPRTCLAS Report class
VMACRMFV are added to all the RCD datasets.
Apr 4, 2019
Thanks to Claudio A. Rodriguez, BancoGFalicia, ARGENTINA
Change 37.079 New variables DBS_DD and DBS_D are created in TYPETPMX.
VMACTPMX Variables SYSTEM,SMFTIME added to ERROR messages.
Apr 2, 2019 Variable $JCL_S decoded and output, Apr 19.
Apr 19, 2019
Thanks to Jack Hyde, OPTUM, USA.
Change 37.078 BY variable R748SIID in dataset TYPE748 format is now
VMAC74 HEX4 (was HEX2), and there are no duplicate observations
Apr 2, 2019 in TYPE748S as R748SIID is unique to each record, due
to that too-short format, false duplicates could have
been deleted in the past.
Thanks to Douglas C. Walter, CITRIBANK, USA.
Change 37.077 Enhanced to sort and remove intervals where a SYSTEM is
SAGANAL on multiple CECs, as when it was moved from one CEC to
Apr 3, 2019 another. New time range report of input SMF 30/70s.
Thanks to Bob Berg, American Family, USA.
Change 37.076 Support for HSM FSR Record addition of Unix filename in
VMACHSM dataset HSMFSRBO variable FSR2_UNAM because FSRDSN is
Apr 2, 2019 only 44 bytes, When FSR2_UNML is greater than 44, FDRDSN
will contain the first part of the name, then ... and
then the last part of the name, while FSR2_UNAM will
contain the full name (up to 128 char).
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 37.075 INPUT STATEMENT EXCEEDED and INVALID DATA for SM125THA
VMAC125 because INFORMAT &PIB.2. was missing the final period.
Mar 30, 2019
Thanks to MP Welch, Bank of America, USA.
Change 37.074 QBSTBPIN was always incorrectly calculated before the
VMACDB2 variables used in the calculation had been DIF()'d
Mar 30, 2019 yielding unrealistically high values. The calculation is
now done in DIFFDB2 after the DIF() calls are done.
Thanks to Randy Hewitt, DXC, USA.
Change 37.073 BBMQ processing reported UNEXPECTED RTINs, when you have
VMACBBMQ multiple BMC products writing to a common history file.
Mar 29, 2019 MXG BBMQ now selects only E1x-E8x, skipping other values
eliminating those log messages. There were no changes
to BBMQ 5.3 records in 5.4.
Thanks to James Wajda, Credit-Suisse, USDA.
Change 37.072 ODS Statistical graphics procedures make extensive use
TECHNOTE of JAVA, which can be very memory intensive on zOS. This
Mar 28, 2019 is any procedure starting with SG or any ODS HTML or ODS
PDF outputs. SAS recommends REGION=512M minimum but the
MXG recommendation is always REGION=0M on the JOB card
on zOS. We have seen REGION usage as high as 900M+ for
jobs running the ANAL9914 Topology report with HTML.
Change 37.071 %MACRO variables INTIME70,INTIME70EN,INTIME70PR can be
VMXG70PR used by ASUM70PR to convert time zones of LPARs to a
VMXGINIT common timezone. This example shifts all times to GMT.
Mar 27, 2019
%LET INTIME70=
%QUOTE(
STARTIME=STARTIME-GMTOFFTM;
SMF70GIE=SMF70GIE-GMTOFFTM;
MACHTIME=MACHTIME-GMTOFFTM;
);
%LET INTIME70EN=
%QUOTE(
STARTIME=STARTIME-GMTOFFTM;
SMF70GIE=SMF70GIE-GMTOFFTM;
);
%LET INTIME70PR=
%QUOTE(
STARTIME=STARTIME-GMTOFFTM;
SMF70GIE=SMF70GIE-GMTOFFTM;
MACHTIME=MACHTIME-GMTOFFTM;
);
%INCLUDE SOURCLIB(ASUM70PR);
This is an initial design, which may be revised.
Thanks to Berthold Willing, AXA, GERMANY.
Change 37.070 Unused Change Number.
Mar 25, 2019
Change 37.069 zEDC Compression types for DCOLLECT datasets revised:
FORMATS Dataset DCOLDSET, variable DCDCTYPE formated values
VMACDCOL 0=0:Not Compressed
Mar 25, 2019 1=1:Generic
2=2:Tailored
3=3:ZEDC
DCDCTYPE replaced DCOLMTYP, now always missing.
Dataset DCOLDC, variable DDCCT format MGDCOCT:
0=0:Generic
1=1:Tailored
2=2:ZEDC
Change 37.068 CF Activity Report Structure Level is moved to ANALRMF3
ANALRMF3 from VMACRMFV. Additional RMF III report examples will
Mar 21, 2019 be added in ANALRMF3.
Change 37.067 Support for RMF III PCI, SCM, ZFX segments create four
EXZRBPCI datasets ZRBPCI, ZRBSCL, ZRBZFX (System Data) and
EXZRBSCL ZRBZFS (File Server Data). ZRBSCL was used for SCM
EXZRBZFX because there already is a ZRBSCM dataset (for CFISSCMS).
EXZRBZFS
IMACRMFV
VMACRMFV
VMXGINIT
Mar 29, 2019
Change 37.066 New TOKEN variables added to TYPE80TK dataset:
VMAC80A TOKMCTOKENKY TOKMCTOKENTM TOKMSISCCNO TOKMEMPLID
Mar 21, 2019
Thanks to Mark Kerr-Delworth, Express ICS, ENGLAND.
Change 37.065 Major rewrite of this macro to eliminate repeating the
VMXGDSN same logic 3 different times. New parameter added to ID
Mar 19, 2019 your HSM managed tape volumes with a default of HSM.
Labels on VOLUMES and TAPE variables corrected to show
that they are actually counts of datasets and not a
count of volumes.
Change 37.064 Doc ONLY. Examples add to suppress 110.1 or 101 or both
UTILBLDP when BUILDPDB=YES.
Mar 20, 2019
Change 37.063 -The ANALID report showed only IDANDSUM=26.000 for either
ANALID JES2 or JES3; now the SUBS (2 for JES2, 5 for JES3) is
VMACID stored in SUBTYPE to create 26.002:JES2 or 26.005:JES3.
Mar 16, 2019 -A non-impacting note about DELETE SMFREC01/02 removed.
Change 37.062 Faulty logic prevented creation of zip eligible chart.
GRAFWRKX
Mar 15, 2019
Change 37.061 Bar charts of ZIP and ZIP eligible added.
GRAFWLM
Mar 15, 2019
Change 37.060 SMF Type 82 subtype 31 INPUT STATEMENT EXCEEDED for
VMAC82 TAG='0204' because MXG incorrectly expected 8 bytes when
FORMATS that TAG only has 8 bytes. FORMAT MG082SN revised to
Mar 20, 2019 include SERVER name.
Thanks to Randy Springs, BB&T, USA.
Change 37.059 Further corrections for IFCID 319 support.
VMAC102
Mar 10, 2019
Change 37.058 Cosmetic: Uninitialized variable CBPERROR.
VMAC30
Mar 11, 2019
====== CHANGES THRU 37.057 ARE IN MXG 37.02 DATED Mar 11, 2019 ========
Change 37.057 Analysis of what your WLM Classification Rules do, using
ANALRULE SMF 30, 101 and 110 to produce three reports for where
Mar 10, 2019 work is sent by SYSTEM and TYPETASK, routing for CICS
transactions by SYSTEM and APPLID, and routing for DDF.
Change 37.056 Unused Change.
Change 37.055 RMF III dataset ZRBCFI, CFACT Coupling Facility Activity
FORMATS Report, which is actually a CF per-Structure report, is
VMACRMFV printed by invoking _CFACT after TYPSRMFV. Macro _CFACT
Mar 9, 2019 is defined at the bottom of VMACRMFV.
Mar 21: MOVED TO NEW ANALRMF3 Report Member. CH 37.068.
Thanks to Ervin Claxon, CSX, USA.
Change 37.054 Using report classes to define workloads in RMFINTRV is a
UTILWORK good way to group workloads but will only work if all
Mar 9, 2019 workloads have a default report class, UTILWORK now
detects this condition and warns that the use of report
classes should not be attempted until this can be
resolved
Change 37.053 New utility contribution, UTILMISS, will create a data
UTILMISS set from an existing dataset, removing all variables that
Mar 8, 2019 have all numeric missing values, and characters blank.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 37.052 Variable CPUERROR in TYPE30 datasets is a two-byte field
VMAC30 but was accidentally made length $4 some time ago due to
Mar 7, 2019 a blank that gave it $HEX8 format which forced length 4.
The correct $HEX4. format is now applied, but LENGTH $4
is also forced, since a change in length will cause PROC
APPEND to fail if the user didn't specify FORCE. These
TYPE30xx datasets are too critical to not protect.
-Flag variables SMF30T32 and SMF30T33 are now kept.
Change 37.051 -IFCID 319 variable QW0319FL is replaced by a variable
VMAC102 for each bit:
Mar 7, 2019 QW0319UR='CALLER*PASSED*USER*REG*NAME?'
QW0319AE='AES*ENCRYPTION*BEING*USED?'
QW0319SC='COMPATIBLE*WITH*TCPALVER?'
QW0319SE='SECURE*CONNECTION?'
-Variable QW0319RI is INPUT and Kept.
-Variables QW0319AE QW0319IY QW0319SC QW0319SE kept.
-New variable QW0319LU='LUNAME*IF*SNA' is created
Thanks to Warren Cravey, FMR, USA.
Change 37.050 UTILBLDP now accepts USERADD=100 or 101 or both, and
UTILBLDP invokes USERADD=DB2, but if only 100 or 101 alone are
Mar 6, 2019 requested, the other record's datasets are _NULL_ed.
UTILBLDP now accepts USERADD=CICS (to read SMF 110)
Change 37.049 Variable ASIQSCANREQ is kept in RMF III ZRBASI dataset.
VMACRMFV
Mar 6, 2019
Change 37.048 Example to "BUILDPDB" only JOB-related Datasets enhanced
JCLPDBJB to support both JES2 and JES3.
Mar 5, 2019
Change 37.047 NDM-CDI dataset NDMCT variable NDMCPU was 256 times too
VMACNDM large and character NDMRIUP6/NDMTYPFK shifted because of
Mar 1, 2019 a 1 byte misalignment in the MXG Input Statement.
Thanks to Mike Creech, BKFS, USA.
Thanks to Roger Foreman, BKFS, USA.
Thanks to Glenn Halligan, BKFS, USA.
Thanks to David Kelley, BKFS, USA.
Change 37.046 Variables SMF70BPS/SMF70ACS for each SMF70CIN engine
VMAC7072 type are variables CP70BPS/IFA70BPS/ZIP70BPS/IFL70BPS
Mar 5, 2019 and CP70ACS/IFA70ACS/ZIP70ACS/IFL70ACS in PDB.TYPE70PR.
and PDB.ASUMCELP (recommended LPAR analysis) and ASUM70LP
(which is BY SYSTEM and has duplicate data.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 37.045 The CTG Version, CTGRVN was added to each of the CTG
VMAC111 datasets created from SMF 111 Records and variables
Mar 5, 2019 CTGIALRQ CTGLCNFA are kept in dataset TY111CXI.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 37.044 The BMC CMF Product generally updates VERSNRMF only on a
VMAC7072 CMF Release Boundary; values of both 792 (2.2) and 794
VMAC71 (2.3) exist on z/OS 2.3. MXG does NOT use VERSNRMF for
VMAC73 any logic, but this correction for CMF records sets the
VMAC74 VERSNRMF=794 if it was 792 and RMFSRCL Record Level is
VMAC75 81 or 82 depending on subtype.
VMAC76
VMAC77
VMAC78
VMAC79
Mar 1, 2019
Thanks to Joe Faska, DTCC, USA.
Change 37.043 Executing MXG on ASCII under a VM product, or with WORK
TECHNOTE on a network drive, bad things can happen. We SRONGLY
Feb 21, 2019 recommend keeping the WORK file local to the system on
which you are executing SAS.
Two Known Errors:
-This error was found with WORK on a network drive:
ERROR: Unable to obtain valid utility file pathname.
-This error was found under VM with WORK on a network
drive:
ERROR: A lock is not available for WORK.OPTVAR.DATA.
This one can be circumvented by adding
-filelockwait 30
to your SAS command or as an OPTION in SAS.CFG file.
Change 37.042 Change 37.024 did not protect for a blank WANTONLY, but
READDB2 only generated a cosmetic error that %SYSFUNC did not
Feb 19,2019 have right number of arguments.
Change 37.041 DCOLLECT APAR OA54879 reports that DCDEXFLG is NOT USED
VMACDCOL for zEDC compression and is now "DATA SIZES NOT VALID'
Feb 19,2019 and is for non-VSAM Extended Format Data Sets.
Data set sizes that are not valid in either or both of
DCDUDSIZ or DCDCUDSZ variables, which might contain non
zero values, but should not be used.
Thanks to Robert Chavez, FPL, USA.
Change 37.040 Dataset TYPE749 variable R7491DEFCOMPRATIO wrong value
VMAC74 is corrected to
Feb 19,2019 IF R7491IOB GT 0 THEN
R7491INFCOMPRATIO=R7491IIB/R7491IOB;
ELSE R749INFCOMPRATIO=.;
Variables were reversed in the calculation.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 37.039 Three MQ reports matching IBM's MQSMF program. Currently
ANALMQ the reports are a queue summary, a detail report of PUTS,
Feb 14,2019 and a detail report of GETS. The GETS/PUTS reports can
be output to either or both SYSOUT or CSV files.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 37.038 Simple report that combines catalog records (TYPE6156)
ANALHSM1 with HSM activity (HSMFSRST) to generate a report of
Feb 14, 2019 datasets that may be thrashing between primary and
migration.
Thanks to Richard Way, Office Depot, USA.
Change 37.037 Updates found in the Jan 14, 2019 SMF Manual,
FORMATS with more changes to come in 37.03 when validated.
VMAC124 -New Datasets
VMAC41 TYPE42VO='PER-VOLUME STATISTICS'
VMAC42 TYPE42HI='HIGH RESPONSE TIME JOBS'
VMAC7072 -TYPE70 New variables
VMAC74 SMF70_IPL_TIME ='IPL*DATETIME*OF*PARTITION'
VMAC78 SMF70_TRG_M_COUNT='TRG*MEMORY*CONSUMPTION*SAMPLES'
Feb 19, 2019 -TYPE70TR New variable
TRG_MEM ='TENANT*MEMORY*CONSUMPTION*MGBYTES'
-TYPE7002 New variables
R7023SCOPE='80X=CPC SCOPE*40X=SYSTEM*SCOPE'
R7023DID='DOMAIN*ID'
-TYPE70X2 New variables
R7024SCOPE='80X=CPC SCOPE*40X=SYSTEM*SCOPE'
R7024DID='DOMAIN*ID'
-TYPE70Y3 New variables
R7025SCOPE='80X-CPC SCOPE*40X=SYSTEM*SCOPE'
R7025DID ='DOMAIN*ID'
-TYPE749 New Variables
R749LKID='SYNC*I/O*LINK*IDENTIFER'
-TYPE78IO Change
R783DSTX relocated.
-TYPE41 Change
SKIP LOGIC protection for future, no impact now.
-TYPE 42 SUBTYPE 5 New Variables
S42VRID1='DELAYS*TIME*1-10 MICROSEC'
S42VRID3='DELAYS*TIME*100-10000 MICROSEC'
S42VRID4='DELAYS*TIME*1-10 MILLISEC'
S42VRID5='DELAYS*TIME*10-100 MILLISEC'
S42VRID6='DELAYS*TIME*OVER*100 MILLISEC'
S42VRIDM='MAXIMUM*I/O*INTERRUPT*DELAY TIME'
S42VRIDT='DATETIME*OF THE*MAXIMUM'
S42VRIDA='AVERAGE*I/O*INTERRUPT*DELAY TIME'
S42VRBSY='TOTAL*BUSY*TIME'
S42VRRSP='COMMANDS*DELAYED*BASE*RESERVED'
S42VRRSN='CHANNEL*PROGRAMS*WITH*RESERVE'
S42VRRES='DURATION*WHEN*RESERVED'
S42VRREX='LONGEST*CONTINUOUS*RESERVED'
S42VRRSR='AVERAGE*RESPONSE*PROGS WITH*RESERVE'
-TYPE 42 SUBTYPE 6 New Variables
S42SNAVGARDELAY ='AVG APPLICATION*RESUME*DELAY'
S42SNARDELAYCOUNT='AVG APPLICATION*RESUME*DELAYS'
S42DXMXI ='STORAGE*SUBSYSID*FOR S42DSMXR'
-TYPE124 New variable
SM124S1WWPN='WORLDWIDE*PORT*NAME'
Change 37.036 Some IFA variables were not populated in the four output
VMAC7072 datasets created by ASUM70PR; all IFA variable names are
VMXG70PR unchanged, but all "ZAAP" text in labels is now "ZCBP".
Mar 5, 2019
Change 37.035 DB2 V12 overlooked Package Variables now INPUT and KEEP:
VMACDB2 QPACAWLH ='LATCH*WAIT*TIME'
Feb 7, 2019 QPACANLH ='WAITS*TRACE*EVENTS*LATCH'
Mar 5, 2019 QPACRLNU ='THREADS*TO ROLL DATA'
QPACAACC ='WAITS*TRACE*EVENTS*ACCELERATOR'
QPACAACW ='WAIT TIME*ACCELERATOR*REQUESTS'
QPAC_PQS_WAIT ='WAIT TIME*TO SYNC*PARALLEL*QUER'
QPAC_PQS_COUNT ='SUSPENDS*WAITING*SYNC*PARALLEL'
QPAC_PIPE_WAIT ='WAIT TIME*PIPE'
QPAC_PIPE_COUNT ='WAITS*FOR*PIPE'
QPAC_COPYID ='PACKAGE*COPY*ID'
-Macros _N100/N101/_S100/_S101 defined for UTILBLDP.
Change 37.034 Two more SMF 42 subtype 5 ABENDING invalid LENSR=520/592
VMAC42 length values added to the test. APAR OA54668 corrects.
Feb 7, 2019 LENSR IN(232,240,320,376,400,480,448,304,520,560,592,640)
Change 37.033 Support for Axway V3.3.2 2018/06/27 restructured User
VMACAXWY SMF record.
Feb 6, 2019
Thanks to Warren Cravey, FMR, USA.
Change 37.032 TYPE749 z/EDC data, DIVIDE BY ZERO protection failed if
VMAC74 both R7491DCT and R7491ICT were zero; R741BPS had been
Feb 5, 2019 included in the test, but it's always non-zero so the
test now is IF SUM(R7491DCT,R7491ICT) GT 0 THEN
R749FPGBPRT=(1048576*R7491BPC/((R7491DCT+R7491ICT)*R7491BPS));
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
====== CHANGES THRU 37.031 WERE IN MXG 37.01 DATED Feb 3, 2019=========
Change 37.031 Bar charts of MIPS and % CPU added to the analysis work
GRAFWLM by IMPORTANCE, originally based on Peter Enrico's paper.
Feb 3, 2019
Change 37.030 MXG 36.12-37.01 ASMRMFV ASI NOZEROCPU filter stopped
ASMRMFV filtering which could cause a significant increase in the
Feb 3, 2019 size of the RMFBSAM file and the PDB.ZRBASI dataset.
ASICPUTA_LF was added by Change 36.241 to that filter,
but it is an accumulated field that can not be used as it
is always non-zero. NOZEROCPU is supported for z/OS 2.2+
-Section 5 "Input Data Control Parameters" is updated.
====== CHANGES THRU 37.029 WERE IN MXG 37.01 DATED Feb 1, 2019=========
Change 37.029 A reference line of the values for SMF70LAC (overall
ANAL89 rolling 4 hour avg MSU) added to interval MSU charts.
Feb 1, 2019
Change 37.028 Support for z/VM 7.1 (INCOMPAT, BROKEN CONTROL RECORD)
VMACVMXA due to insert in VXPRCDHF plus the change in HCPCPEID
Jan 31, 2019 value for the Service Level test from '40061802 for 6.4
Feb 14, 2019 to '10071802' for 7.1 that failed when tested for 'GE'.
New variable ZVMVERS='07.1.18.1' is created so GE can be
used for IF ZVMVERS GE tests. There were 32 bytes added
to PRCDHF, but the 7.1 DSECT only shows on byte added.
-Heuristic (ZZQUCT+1) test revised, false positive caused
large VMDTTIME value.
Thanks to Graham Harris, RBS, ENGLAND.
Change 37.027 Example added to email the final condition code of a SAS
EMAIL job running in the background on ASCII.
Jan 31, 2019
Change 37.026 If you create your own SUBSYSTEM that handles JES2 output
VMAC26J2 the SUBS value in SMF 26 records is not the expected 0002
Jan 30, 2019 for JES2 (or 0003 for JES3), but instead is a two byte
character field. Previously, MXG TYPE26J2 only output
SUBS=2 execution purge records. Now, if the SUBS is 3,
the JES3 record is deleted with MXGERROR messages that
TYPE26J3/BUILDPD3 must be used for JES3. If the SUBS is
other than 2, the records are presumed to be valid JES2
records, but MXGWARN messages print the SUBSYSTEM name.
Thanks to Randy Hewitt, DXC, USA.
Change 37.025 CICS variable A11ACTCI in CICS Statistics dataset CICDQG
VMAC110 was INPUT but not KEPT.
Jan 29, 2019
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 37.024 Using READDB2 with WANTONLY arguments DB2ST/DB2PST caused
READDB2 ERROR: Char Operand in the %EVAL, due to a superfluous
Jan 29, 2019 AND in an %IF statement that also exposed that PDBOUT=YES
Feb 1, 2019 failed in the PROC SORT of the DB2STATx datasets.
The WANTONLY doc has been updated to note that
WANTONLY DOES NOT SUPPORT DB2STATS DB2STATR DB2GBPST
DB2STATB DB2SDTSBP AND DB2STAT5 DATASETS.
Thanks to Keith C. Shaffer, Cigna, USA.
Thanks to James Cyr. Cigna, USA.
Change 37.023 Unused Change Number.
Change 37.022 The new $MGRMIPS format that maps IBM processor model to
GRAFWRKX MSU and MIPS capacity (created in 37.001) is now used in
GRAFCEC these Graphs, which use PDB.ASUMCELP which has variable
Jan 28, 2019 CPCFNAME so MIPS can be calculated from percent busy:
MIPS=PCTBUSY/100*PUT(CPCFNAME,$MGRMIPS.);
The CPCFNAME is constructed from CPU TYPE and MODEL as
CPCFNAME=PUT(CPUTYPE,$HEX4.)!!'-'!!CPCMODEL;
programmatically, or manually as '3906-420' for that z14.
Thanks to Ervin Claxon, CSX, USA.
Change 37.021 If you run on ASCII with autoaloc=yes and did not put an
VMXGALOC execution of VMXGALOC in your IMACINIT (strongly our
Jan 28, 2019 recommendation) but added a second execution of VMXGALOC
and the parameters did not precisely match those you used
in BLDSMPDB and did not specify READONLY=YES to suppress
the aging off of old directories you could potentially
lose data as it deleted old directories. This change now
looks to see it you specified READONLY as NO and the
current days PDB has already been created it will
generate an MXGNOTE and set READONLY to YES.
-YR2KEEP and BASEYEAR parameters are added to let you
allocate a yearly PDB, Defaults to 0, so it won't be
created or allocated unless you enable it, and you will
need to update your BLDSMPDB to add the dataset names
you want created in the yearly directories. Contact
support@mxg.com if you need help.
Change 37.020 Unused Change Number.
Change 37.019 Documentation note for VMXGUOW/ASUMUOW. If you have a
VMXGUOW tailored CICSTRAN dataset and have dropped any variables,
Jan 25, 2019 you may get an UNITIALIZED message for those variables in
ASUMUOW. While this is an expected and non-critical error
you can remove the error by editing the _KUOWIDC _KUOWCIC
or _Kuowcix macros where the variables appear and simply
remove the variable(s) from the list.
Change 37.018 Support for STC HSC Subtype 32 & 33 create new datasets
EXSTCV32 STCVSM32='RESERVED,INTERNAL USE'
EXSTCV33 STCVSM33='MVCPOOL USAGE'
VMXGINIT
VMACSTC
Jan 27, 2019
Thanks to Randy Hewitt, DXC, USA.
Change 37.017 Many non-fatal corrections were made to type 92:
VMAC92 -Several 16-byte STCKE datetimes inputs were wrong:
Jan 24, 2019 SMF92CCT,SMF92MCT,SMF92CCT,SMF92FSMN
-GMT92OFF had to be relocated around the STCKE INPUT.
-Subtype 50+ have 72 byte data section, 32 for LT 50.
-Subtype 50 variables LRP-LRN only in SMF92EVENT=1,
and INPUT changed from &PIB.4.3 to &PIB.4.0.
-Subtype 50 variables OVS/OCH only in SMF92EVENT=4
-Poor Labels SMF92EVENT/SMF92VOL/SMF92CCHH/SMF92VCN
were enrichened.
-Subtype 50 SMF92OCH corrected format to HEX for CCHH.
-Variable SMF92ADN only kept in TYPE9217 dataset.
-Subtype 59 only the first instance was output.
-Subtype 52 and 54 had incorrect SKIP values.
-Subtype 58 SMF92TRL relocated outside the loop.
-Subtype 59 2 byte filler removed with STCKE fix.
This demonstrates the difficulty in writing new code
with no SMF records to test. SMF 92 code was updated
in Aug 2017 in Change 35.180, expecting a user to send
SMF data if problems were observed, and that didn't
happen until January 2019, with most of the above fixes
mostly done by these two users:
Thanks to John Compton, World Programming Ltd, ENGLAND.
Thanks to Steve Bagshaw, ITMetrics, ENGLAND.
Change 37.016 Report showing total bytes/counts and min/max datetimes
ANALID for each SYSTEM is added as the second report.
Jan 19, 2019
Change 37.015 Variable EDGRTIME had missing values with DATEFORM=E/A/I;
FORMATS RHDTFORM logic moved ahead of EDGRTIME for H record and
VMACEDGR label corrected to EDGRTIME='REPORT*DATE TIME'
Jan 20, 2019
Thanks to Lindsay Oxenham, Department of Defence, AUSTRALIA.
Change 37.014 INPUT EXCEEDED DB2STAT1 SMF 100 Subtype 1 NETEZZA/IDAA
VMACDB2 record because IBM changed the length of OFFQ8ST segment
Jan 18, 2019 but couldn't change LENQ8ST because it is a single field
in the header that should apply to all segments. But the
correct length is now set with LENQ8ST=Q8STNAME_OFF+8;
using the end of the name field for the actual length.
Thanks to Graham Harris, RBS, ENGLAND.
Thanks to Randy Hewitt, DXC, USA.
Change 37.013 New example to count both TAPEDRVS and STEPS, and the
ANALCNCR Concurrency with only one pass of the data.
Jan 20, 2019
Thanks to Randy Hewitt, DXC, USA.
Change 37.012 z/VM Service Level 40061802 INPUT STATEMENT EXCEEDED due
VMACVMXA to VMMTRSYS inserting 60 bytes in the 1.04 record.
Jan 17, 2019
Thanks to Craig S. Bigler, Progressive Insurance, USA.
Change 37.011 Variables QXFETCH/QWACSPEB UNINITIALIZED due to misspell.
VMXGUOW Enhanced to make it easy to only process CICSTRAN data:
Jan 19, 2019 IF _LDB2ACC=_NULL_, DB2 data will not be read.
Jan 25, 2019 IF _INMQ=_NULL_ MQ data will not be read.
Counts of OBS before and after are created and if the
OBS reduction is LT 2, an MXGNOTE advises you to skip
using ASUMUOW which can be very CPU intensive and is
really needed for heavy CICS MRO sites, to consolidate
those multiple CICSTRAN observations into one UOW,
Unit of Work observation.
Thanks to Gary Keeres, Indianapolis Power & Light, USA.
Change 37.010 Reserved Change Number.
FORMATS
VMAC89
Jan 16, 2019
Change 37.009 The $%VGETOBS(DDNAME=&PDBMXG should be (DDNAME=&PDBMXG1
GRAFCEC although no error occurred unless you had set a value
Jan 14, 2019 other than "PDB" for the location of the input PDB.
Thanks to Tom MacCabe, Dominion Energy, USA.
Change 37.008 Enhancement, addition of INCODE= parameter to allow
GRAFWRKX selection by date or system with your inserted code.
Jan 11, 2019 Suppressed a no longer needed graphics catalog note.
Change 37.007 -Support for Beta93 Version 6.2 subtypes 2 and 3, which
VMACBETA both have a lot of undocumented data: subtype 2 docs 140
Jan 22, 2019 but length is 208 and subtype 3 docs 156 with 224 length.
Change 37.006 -If MXGDEBUG has length GT 0 and DSNSTRING or DATASET are
VMXGPRAL zero, debugging messages are created by VMXGPRAL.
VMAC102 -Unmatched parens in data set labels read by VMXGPRAL
Jan 11, 2019 caused non-fatal error messages for datasets with obs:
ERROR: Expected close parenthesis after macro function.
All MXG dataset's labels were examined and VMAC102 for
IFCIDs 84 85 86 87100 101 174 AND 175 were corrected.
Change 37.005 Support for DB2 102 Trace IFCID/SUBTYPE 404 populates
VMAC102 T102S404 (Authorization Compatibility) dataset with
Jan 10, 2019 QW0404xx variables.
Thanks to Warren Cravey, FMR, USA.
Change 37.004 Reading z/OS DATA using the SAS FTP Access method needs
TECHNOTE the RCMD='SITE RDW' argument:
Jan 9, 2019 FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'" ... )
USER='XXXXXX' HOST='YYYYYYY' DEBUG
S370VS RCMD='SITE RDW' LRECL=32760
PASS='XXXXXXXX' PASSIVE;
If RCMD is not used, the transfer will time out when
PASSIVE is specified, or will produce a RACF ERROR
if PASSIVE was not specified.
Change 37.003 SMF119 dataset TYP11952 variable SMF119ML_IP_IPV4 was
VMAC119 wrongly compressed of blanks from variable TIRIP instead
Jan 8, 2019 of from SMF119ML_IP_IPV4 in line 4519.
Thanks to Randy Shumate, RELX Group, USA
Change 37.002 -SMF92 Subtype 8 INPUT STATEMENT EXCEEDED because the
VMAC92 documented length of SMF92GDD in the SMF Manual is 4,
Jan 8, 2019 but the length in the record is 8 bytes.
-There were also numerous non-fatal corrections:
-SMF92 Subtype 50, SMF92STHCL missing period, and names
SMF90OIOCCL/SMF82VCX were corrected to SMF92.
Thanks to Miroslav Kubik, IBM Corporation, CZECH REPUBLIC.
Thanks to John Compton, World Programming Ltd, ENGLAND.
Change 37.001 -Improve ability to propagate variables of interest to
ADOCRMFV multiple SAS data sets during RMF III PDB build.
ASMRMFV -RMF III CPCDB table fields CPC_CecMSU, CPC_LparMSU, and
FORMATS CPC_HomeLPName, are added to MXG01 record from the first
VMACRMFV MINTIME interval for each RMF III VSAM dataset at open,
Jan 6, 2019 but those MXG01 values are the values only at start.
Jan 14, 2019 -Format $MGRMIPS is created to map GEIMODEL/GEIIMDL to
Jan 29, 2019 create the CPC_CECMIPS using IBM's LSPRITR table:
Feb 2, 2019 IBM Resource Link: Large Systems Performance Reference
https://www-01.ibm.com/servers/resourcelink/
lib03060.nsf/pages/lspritrzOsv2r2?OpenDocument
-RMF III GEI table fields GEIMODEL and GEIMDL added to
MXG01 record from the first MINTIME interval for each
RMF III VSAM data set, but the MXG01 value is only the
RMF III start. But by RETAINing these fields from the
GEI and CPU records, and by relocating the write of the
GEI, CPU, and CPCDB records before the ASI records for
each interval, the CEC MODEL/Speed and MSU/MIPS capacity
variables CPC_CECNAME CPUCEMSU CPUCEMIPS CPULPMSU
GEIMODEL GEIIMDL and LPARNAME are populated in ZRBASI
and several other datasets.
-NOTE: Not all the fields mentioned above are always
static. Use the RMF III DATASET SWITCH option to force
RMF III to overwrite the oldest data set whenever it is
started if separation of configuration changes by data
set is desired.
-CSVQUERY macro added to show load module size in Change
36.241 for ASMRMFV destroyed pointer to SCT (Step Control
Table). This caused ASMPGM and ASMSTEPN fields in MXG00
record to be garbage and also in message in VMACRMFV.
-Section 12 "Messages" is updated.
-In MXG 36.36 the fields GEIIMDL/GEIMODE were added to
ZRBASI, but they could be incorrect, precipitating
this change in logic in VMACRMFV.
LASTCHANGE: Version 37.
====-====================MEMBER=CHANGE36================================
/* COPYRIGHT (C) 1984-2019 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG ANNUAL VERSION 36.36 is dated Jan 4, 2019, thru Change 36.255.
MXG VERSION 36.12 was dated Dec 25, 2018, thru Change 36.246.
MXG VERSION 36.11 was dated Dec 3, 2018, thru Change 36.236.
MXG VERSION 36.10 was dated Nov 21, 2018, thru Change 36.229.
MXG VERSION 36.09 was dated Oct 18, 2018, thru Change 36.197.
MXG VERSION 36.08 was dated Sep 10, 2018, thru Change 36.170.
MXG Version 36.07 was dated Aug 8, 2018, thru Change 36.149.
MXG Version 36.06 was dated Jul 9, 2018, thru Change 36.128.
MXG Version 36.05 was dated Jun 13, 2018, thru Change 36.119..
MXG Version 36.04 was dated May 8, 2018, thru Change 36.091.
MXG Version 36.03 was dated Apr 2, 2018, thru Change 36.064.
MXG Version 36.02 was dated Mar 5, 2018, thru Change 36.050.
First MXG Version 36.01 was dated Feb 6, 2018, thru Change 36.026.
Annual MXG Version 35.36 was dated Jan 8, 2018, thru Change 35.309.
The Last MXG Newsletter SIXTY-NINE was dated Jan 3, 2018.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 36.36 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 36.36.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame, although there are
no new NEWSLTRS updates; they are now found in CHANGESS as TECHNOTEs.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG ANNUAL VERSION 36.36 DATED Jan 4, 2019, THRU CHANGE 36.255.
==MAJOR CHANGES ADDED IN MXG 36.36, DATED Jan 4, 2019 THRU 36.255.
New Product Support
TYPEDB2 36.254 Support for Fast Traversal Index adds variables.
TYPE72GO 36.253 MOBILE Service Units CPU Time not in CPUTM variable.
Incorrect, see Change 37.120.
TYPE102 36.251 Support to populate T102S126 for DB2 102 IFCID 126.
TYPE119 36.250 New variables added to TYP11952 subtype 52 dataset.
ENHANCEMENT
DOCVLONG 36.247 Utility to create DOCVER with all info on one line.
VMXGSUM 36.249 OBS=0 protection adds non-zero SYSCC Error test.
==MAJOR CHANGES ADDED IN MXG 36.12, DATED Dec 25, 2018 THRU 36.246.
TYPERMFV 36.241 CPC_CECNAME added, ASITRT/TET corrected, MSU ACT.
New Product Support
TYPEMGCR 36.240 Support for MegaCryption MEGACR34, subtype 3 and 4.
TYPEBETA 36.246 BETA 93 Version 6.2.0 updates subtypes 0/22/25/50/59
ERROR Correction
TYPEIMS 36.238 MXG 36.11 IMS 14.1 invalid offset ABEND IMS56FA.
TYPEVMXA 36.237 MXG 36.11 old z/VM 6.3 DATA LOSS ABEND MTRSYS 1.04.
VMXGALOC 36.243 Protection for READONLY=YES with FIRSTRUN=NO
BLDSMPDB 36.242 Protection for AUTOALOC=YES and FIRSTRUN=YES
VMXGSUM 36.245 VMXGSUM with user's INCODE GT 32756 chars, ABEND.
ENHANCEMENT
TYPE110 36.244 CICS Variable D2GDB2ID added to CICDB2GL BY list.
==MAJOR CHANGES ADDED IN MXG 36.11, DATED Dec 3, 2018 THRU 36.236.
New Product Support
TYPE110 36.235 Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
UTILEXCL 36.235 Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
Yes, you need MXG 36.11 for CICS/TS 5.5 because fields were
inserted into SMF 110 CICSTRAN records and using old MXG will
have trashed values due to the misalignment, but MXG could run
and only print error messages, which might be false positives,
or could execute with no errors nor log messages, especially if
you have a tailored IMACEXCL, but your CICSTRAN dataset will
still be invalid.
TYPETMO2 36.236 Support for ASG-TMON CICS for z/OS V4.2 - NO CHANGES.
TYPEMVCI 36.234 Support for BMC's MainView for CICS(v69) COMPATIBLE.
ERROR Correction
TYPEPOEX 36.231 Protection for truncated POEX File Segment records.
TYPE119 36.230 ZERT SMF 119 Subtypes 11 and 12 minor corrections.
Enhancements
ANAL9914 36.232 SMF99 ST 14 Processor Topology Report Enhanced.
==MAJOR CHANGES ADDED IN MXG 36.10, DATED Nov 21, 2018 THRU 36.229.
ERROR Correction
TYPEVMXA 36.221 MONWRITE DEFECT caused large values, LCUPPNUM issue.
TYPE110 36.220 Variable WTOTIOTM could exceed ELAPSTM
TYPE72GO 36.215 Variable MSUSOFT, Software MSU frequently missing.
TYPE102 36.212 Protection for IFCID 376 invalid offsets STOPOVER.
TYPE74 36.211 TYPE749 variables added and corrected.
TYPERMFV 36.201 MXG 36.09, z/OS 2.2 only, ASIxxx text misaligned.
TYPERMFV 36.201 WPS failed ERROR: format '$ CPUPHYAD' invalid
TYPEVMXA 36.198 z/VM VXBYUSR High CPU, records not on same second.
New Product Support
TYPE21 36.218 Support for APARs OA52915 and OA52940, 4 byte counter
TYPEBE97 36.217 Support for new BE97 subtype 6 and subtype 22 update
TYPE7072 36.208 Support for APAR OA56011 for TYPE70 OSPROTECT.
TYPE122A 36.207 Support for zExplorer SMF 122 Subtype 2.
TYPEBETA 36.199 Beta 93 Subtype 51 and subtype 22 updates.
Enhancements
GRAFMSU 36.204 Plots/Tabulate of MSU 4HR usage and capacity.
ANALRMFR 36.203 CPU report with INTERVAL=HOUR was incorrect.
TECHNOTE 36.209 APARs of interest for z/OS.
ASUMCICR 36.226 Major revision to CICS RESPONSE TIME SLA reports.
TYPESTC 36.222 Numerous STC formats were updated with new values.
==MAJOR CHANGES ADDED IN MXG 36.09, DATED Oct 18, 2018 THRU 36.197.
ERROR Correction
TYPE42 36.194 Another 42 Subtype 5 LENSR=376 invalid value ABEND.
TYPEXAM 36.195 zVPS MTRSYS Serious Error ABEND, undoc SEGLEN=336.
TYPEPOEX 36.183 Power Exchange USER SMF STOPOVER if File Length zero
TYPE74 36.191 Type 74 Subtype 8 R748Sxxx Sync I/O misaligned.
TYPEXAM 36.181 Support for zVPS/XAM USEDIAG segment (INCOMPAT).
UTILBLDP 36.180 UTILBLDP with RMFINTRV=NO/BUILDPD=YES, no PDB.TYPE70.
TYPE89 36.178 New Target Resource Group TYPE89R2 incomplete/wrong.
READDB2 36.172 READB2(IFCIDS=0-999) failed at highest IFCID 367.
UTILBLDP 36.176 MXG 36.08, Extraneous % with EXPDBOUT= 180 ABEND.
New Products Support
TYPE30 36.188 Support for SMF 30 USERKEY RAX Bit 4 CSA RAXFLAGS.
APAR OA53355 added SMF30_RAXFLAGS, MXG in 35.09
This change decodes each bit.
TYPEIMST 36.192 Support for IMS Version 15 IMS56FA (COMPATIBLE).
ANAL9914 36.171 Support for z/14 Clusters IBM Processor Topology rpt.
TYPERMFV 36.196 Support for new z/OS 2.3 variables (COMPATIBLE)
TYPECMFV 36.173 Support for Mainview MVS History Records new datasets
TYPEZCOS 36.174 Support Auto Soft Capping (ZCOS) Version 4.2 INCOMPAT
UTILEXCL 36.179 Support for USER CICS fields USER3/USER3 and ATOUSER.
Enhancements
TYPETMS5 36.193 Estimated bytes after IDRC added variables.
TYPE84 36.184 JES 2 JMF Subtype 21 INPUT EXCEEDED ABEND.
==MAJOR CHANGES ADDED IN MXG 36.08, DATED SEP 10, 2018 THRU 36.170.
ERROR Correction
TYPE70 36.166 CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
RMFINTRV 36.166 CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
New Products Support
TYPECIMS 36.167 Support for BMC Energizer for IMS Connect for IMF.
TYPE30 36.150 Support for APAR OA54589, OSPROTECT, TRUSTED.
TYPECIMS 36.162 Support for multiple IMS SYSTEMS, using JFCB DSNAME.
TYPEVMXA 36.155 Support for z/VM LINUX LNXAPPL Process & Summary data
TYPE106 36.152 New SMF 106 variables decoded and formatted.
TYPE42 36.151 New variables from Jul 30, 2018 SMF Manual.
TYPE62 36.151 New variables from Jul 30, 2018 SMF Manual.
Enhancements
ANAL89 36.165 Analysis of SMF 89 data, including MSU from CPU time.
TYPECIMS 36.163 IMS56FA obs for CPI-C had incorrect INPQUETM.
GRAFWLM 36.153 New HIGHTOLOW parm to reverse IMPORTANCE order.
==Major CHANGES added in MXG 36.07, dated Aug 8, 2018 thru 36.149.
New Products Support
TYPERSDA 36.143 Support for RSD Folders Version 6.0 AUDIT (INCOMPAT).
TYPEPOEX 36.135 Support for PowerExchange Version 10.
TYPEWSF 36.132 Support for EOS Version 160 (INCOMPATIBLE).
Enhancements
COMPINTV 36.144 Compare RMF/SMF/CICS/DB2 Interval CPU Time captured.
READDB2 36.140 New SORT102=NO option can suppress T102Snnn sorts.
UTILBLDP 36.139 AUDITAFTER, SUPPRESS=ID, SORTOUT=NO revisions.
RMFINTRV 36.136 MXGABNDRMFI option will ABEND if OTHER Work found.
ERROR Correction
TYPE102 36.138 Dataset T102S018 was misaligned.
TYPERHEL 36.137 Invalid data for variable MICROCODE.
TYPE120 36.134 WebSphere SMF 120 subtypes 5/6 only first was output.
ASUM113 36.133 Variable LPARBUSY was not calculated for z14.
TYPESMF 36.131 MXGREADSMF=LOGGER didn't invoke CICSIFUE exit.
Technical Notes
MXGNOTE 36.141 zHPF Channel Utilization
SASNOTE 36.129 SAS Not 61906 SAS 9.4 TS1M3 High CPU fixed in M4/M5.
==Major CHANGES added in MXG 36.06, dated Jul 9, 2018 thru 36.128.
ABEND Circumvention
TYPE42 36.124 SMF 42 ABEND, more invalid values found, protected.
APAR OA54663 corrects IBM Invalid values.
New Products Support
TYPEBVIR 36.120 Support for BVIR V412 History HSM Compression data.
TYPE119 36.127 Support for ZERT SMF type 119 Subtype 12
ERROR Correction:
READDB2 36.121 READDB2(IFCIDS=ALL) did not create DB2STATS dataset.
==Major CHANGES added in MXG 36.05, dated Jun 13, 2018 thru 36.119.
New Products Support
TYPESRDF 36.112 Support for SRDF Symmetric Remote Data Facility VV.RR
TYPE80A 36.108 Support for RACF TOKENs REQTCRE and ADMINCII'
TYPE102 36.102 Support for DB2 V11 APARS PI71903/PI84045/PI82755.
TYPE101 36.101 Support for NDM-CDI OP record.
Enhancements:
JCLCPORT 36.111 Sample JCL to move WPS datasets to SAS.
TYPENMON 36.109 Significant CPU reduction processing NMON data.
TYPERHEL 36.109 Significant CPU reduction processing RHEL data.
ASUMUOW 36.107 Using ROLLUPS is useless with ASUMUOW, suppress DB2.
ERROR Correction:
ASMRMFV 36.110 SOC7 ABEND reading non-Extended Format VSAM dataset.
TYPEDB2 36.114 DB2ACCTR dataset has been misaligned, NRQLAC GT 1.
TYPEDB2 36.113 Incorrect test for QPAC_PIPE_WAIT/COUNT in DB2ACCTP.
THIS HAS NOT BEEN TESTED WITH DB2 V12 NRQLAC GT 1.
A POSTING TO MXG-L WILL REPORT SUCCESS/PROBLEMS.
TYPE42 36.106 TYPE42DS Encryption variables were not kept.
TYPESYSX 36.105 TYPESYSL renamed to TYPESYSX to avoid conflict.
TYPEACF2 36.100 ACF2 6.2 Change 36.076 didn't correct STOPOVER.
READDB2 36.092 ACCTSORT=NO was not working, data ended up in WORK.
==Major CHANGES added in MXG 36.04, dated May 8, 2018 thru 36.091.
New Products Support
TYPE122A 36.066 Support for IBM Devel z Systems IDZ SMF 122 record.
TYPE119 36.079 Support for SMF 119 subtypes 24, 38, 39, 40, and 45.
TYPEACF2 36.075 ACF2 INVALID SMF RECORD, ACSMFREL=0, should be 6.2.
TYPEIAM 36.071 INPUT STATEMENT EXCEEDED IAM 9.2 Length Changed.
TYPE7072 36.073 Support for z14 ZR1, new SMF70MAXPU variable COMPAT.
Enhancements:
ANALID 36.081 Support for four-digit SMF Record type reporting.
TYPEDCOL 36.086 z/OS 2.3 DCOLLECT Encryption Variables added DCOLDSET
TYPE99 36.072 New EWLM & SERV variables added to TYPE99_6 dataset.
CONFIG 36.067 MXG default CAPSOUT option for z/OS now NOCAPSOUT.
ERROR Correction:
TYPESTC 36.084 Dataset STCVSM11 Change 34.237 variables corrected.
TYPEDB2 36.082 DB2 BPHITRAT corrected.
CONFIG 36.078 OPTION SORTBLKREC corrects DFSORT OC4 in SAS 9.4 M3.
TYPE110 36.077 CICDS Dispatcher Statistics DSGTWT corrected.
TYPEBETA 36.074 Variables BETALOG reversed, subtype 51 doesn't match.
==Major CHANGES added in MXG 36.03, dated Apr 2, 2018 thru 36.064.
New Products Support
TYPEQACS 36.051 AS/400 Ver 7.3, INCOMPAT LRECL, undoc fields.
TYPE74 36.057 z/OS RMF 2.3 Enhancements, APARs, new SMF manual.
TYPEXBM 36.060 Support for BMC Extended Buffer Mgr XBM User SMF
All updates in the Jan, 2018, SMF Manual are included in 36.03.
Enhancements:
TYPE74 36.056 DEVNR5HEX displays 5-hex-nybble zWrite DEVICE NR.
SMFINTRV 36.053 SMF Interval INTBTIME/INTETIME all DATETIME25.6
ERROR Correction:
TYPEVMXA 36.062 VXBYUSR deaccum corrected for new _MT1 variables.
TYPEXAM 36.061 Invalid SYTNLPS value in SYTCUP prevented output.
UTILBLDP 36.059 CHAR OPERAND FOUND if USERADD=ID was requested.
TYPE82 36.055 New TYPE8231 was misaligned, trunc 0203 protected.
BLDSMPDB 36.054 &PDBPATH was not initialized, when MTD requested.
ANALDB2R 36.058 36.02 Only, missing %END corrected.
==Major CHANGES added in MXG 36.02, dated Mar 5, 2018 thru 36.050.
New Products Support
TYPEIMS 36.040 Support for unpopulated IMS 56FA with APAR UI50912.
TYPEXCOM 36.047 Support for XCOM Version 36.02 (COMPATIBLE).
TYPENDM 36.046 Support for NDM-CDI Version 5.2, corrects NDMCPU plus
TYPERHEL 36.043 Initial support for NMON Red Hat Linux RHEL monitor.
TYPE82 36.036 Support for new SMF 82 subtype 82 JOB-Level Crypto.
ERROR Correction:
ASUM70PR 36.041 MXGERROR:MISSING TYPE70 now MXGWARN:MISSING TYPE70.
TYPE119 36.038 "INVALID SMF 119 TYPE 81" corrected, not invalid.
TYPEDB2 36.037 Var QWHSACE missing from DB2STSBP sort, ABEND
ANALCAPD 36.042 ERROR: FOUND "IF" when the CEC= option was used.
TYPE7072 36.035 Incorrect LPAR/ZIP SHAR/SHAC if last engine was IFL.
Enhancements:
MOBWORK 36.045 Enhanced Mobile Work 4 Hour MSU reporting datasets.
TYPEIMS 36.044 Variable IMSVERS, the value in your _IMSVERS is kept.
TYPE70PR 36.039 TYPE70PR variable LPARZIPS, online zips, added.
==Major CHANGES added in MXG 36.01, dated Feb 6, 2018 thru 36.026.
New Products Support
TYPE120 36.022 Support for Liberty 8.9.1.0 SMF 120 ST 100 (COMPAT).
TYPEVMXA 36.025 Support for zVM64 Level 40061701/1702 (INCOMPATIBLE).
36.01 is required for these levels, Broken CR errors.
TYPETPMX 36.024 Support for ThruPutManager Release 18.02 TMT7113.
TYPE70TR 36.003 New 70 Tenant Resource Group TRG updated/validated
TYPE72TR 36.003 New 72 Tenant Resource Group TRG updated/validated
TYPE89 36.003 New 89 Tenant Resource Group TRG updated/validated
UTILBPV 36.007 Program to examine the BPV cylinder value for EAV.
TYPE110 36.008 CICS/TS 5.3 CPU variables in Statistics CICM dataset.
TYPEPOEX 36.002 PowerExchange updated, trashed CPU values, open prob.
ERROR Correction:
TYPE42 36.023 Yet another STOPOVER ABEND, due to Invalid LENSR=232.
TYPE0 36.009 INVALID TYPE 0 LENGTH=70 is valid, wrongly deleted.
ASUM70PR 36.026 MXGERROR: MISSING TYPE 70 RECORDS impact ASUMCEC/LP.
TYPE30 36.012 The created GMTOFF30 could be .01 seconds plus/minus.
PDBAUDIT 36.011 %PDBAUDIT(LIBNAMES="Not All" fails with syntax error.
TYPE73 35.010 TYPE73 dataset, variable CHFXRATE slightly wrong.
TYPE119 36.008 Variable TTAPLDAT in dataset TYP11902 misaligned.
TYPE119 36.018 STOPOVER ABEND: SMF 119 Subtype 81, at IBM now.
TYPE115 36.005 QWHSDURN different in subtype 231, new vars, cleanup.
TYPEDB2 36.004 DB2 V11 IFCID 376 INPUT STATEMENT EXCEEDED. V11 only.
TYPETCP 36.001 TYPETCP (archaic 118) APISTART date was on GMT.
TYPEBETA 36.015 ERROR when TYPEBETA and TYPE70 used together.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M5 (9.4M5), "M5",
or "SAS 9.4 (TS04.01M5P09132017)" if the OPTION VERSIONLONG is
enabled.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
described in SAS Note 61672. But SAS apparently does not plan for
a defect correction since the MXG Circumvention solves for MXG and
the text of 61672 simply describes the circumvention needed because
MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
See Change 35.309 for more details on using NOERRORSTOP for your
own PROC SQLs.
SAS V9.4 M5 is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M2 or M4-M5 or SAS Version 9.3 M0-M2.
SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
SAS V9.4 M3 is NOT RECOMMENDED. See Change 36.129 SAS Note 61906
that reports 40% Increase in CPU time with M3.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 36.11 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
Linux on 64-bit hardware, but MXG users execute MXG on MANY
(ALL??) SAS platforms, including AIX, Linux, and other 'nix'
variants, on many different hardware platforms, and since they all
work we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
THE Z14 CHANGED ONLY THE SMF 113 RECORD INCOMPATIBLY and that
was supported in MXG 35.11, but ASUM113 variable LPARBUSY was
missing until corrected in MXG 36.07. The new SMF70MAXPU variable
was added in MXG 36.04.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
INCOMPATIBLY CHANGED, and MXG 34.03 is REQUIRED (PCTCPUBY WRONG!), to
read the SMT-format RMF records (which are written if you have zIIP
engines AND have enabled the new PROCVIEW CORE option for
Multi-Threading, even if only one thread is enabled).
The new zEDC compression hardware requires MXG 33.07 to support the
new metrics.
For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 INCOMPAT, ABEND Oct 2, 2017 35.11
z14 113 LPARBUSY missing value Aug 8, 2018 36.07
z14 ZR1 New SMF70MAXPU variable May 8, 2018 36.04
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS-TS/5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS-TS/5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS-TS/5.3 GA date Dec 11, 2015 33.33
CICS-TS/5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS-TS/5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS-TS/5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS-TS/5.4 GA Jun 17, 2017 35.03
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 35.07
IMS log 15.1 NO CHANGES Mar 1, 2018 35.07
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018 36.05
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
IMF 5.3 a/k/a Mainview IMS 35.03
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 36.11.
1. Incompatibilities introduced in MXG 36.36:
a- Changes in MXG architecture made between 36.36 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 36.36 after MXG 35.36:
Dataset/
Member Change Description
ANAL89 36.165 Analysis of SMF 89 data, including MSU from CPU time.
ANAL9914 36.171 Support for z/14 Clusters in IBM Processor Topology.
ANAL9914 36.232 SMF99 ST 14 Processor Topology Report Enhanced.
ANALCAPD 36.042 ERROR: FOUND "IF" when the CEC= option was used.
ANALID 36.081 Support for four-digit SMF Record type reporting.
ANALRMFR 36.203 CPU report with INTERVAL=HOUR was incorrect.
ASCIIDSN 36.020 ASCII version of JCLDAYDS with SAS FTP for TMC/DCOL.
ASMRMFV 36.110 SOC7 ABEND reading non-Extended Format VSAM dataset.
ASUM113 36.133 Variable LPARBUSY was not calculated for z14.
ASUM70PR 36.026 MXGERROR: MISSING TYPE 70 RECORDS impact ASUMCEC/LP.
ASUM70PR 36.041 MXGERROR:MISSING TYPE70 now MXGWARN:MISSING TYPE70.
ASUMCICR 36.226 Major revision to CICS RESPONSE TIME SLA reports.
ASUMCICR 36.226 Major revision to CICS RESPONSE TIME SLA reports.
ASUMUOW 36.107 Using ROLLUPS is useless with ASUMUOW, suppress DB2.
BLDSMPDB 36.242 Protection for AUTOALOC=YES and FIRSTRUN=YES
CONFIG 36.067 MXG default CAPSOUT option for z/OS now NOCAPSOUT.
CONFIG 36.078 OPTION SORTBLKREC corrects DFSORT OC4 in SAS 9.4 M3.
DOCUMENT 36.013 APAR OA27291 OC4 USEZOSV1R9RULE(NO) z/OS 1.10+
DOCVLONG 36.247 Utility to create DOCVER with all info on one line.
GRAFMSU 36.204 Plots/Tabulate of MSU 4HR usage and capacity.
GRAFWLM 36.153 New HIGHTOLOW parm to reverse IMPORTANCE order.
JCLCPORT 36.111 Sample JCL to move WPS datasets to SAS.
MOBWORK 36.045 Enhanced Mobile Work 4 Hour MSU reporting datasets.
MXGNOTE 36.141 zHPF Channel Utilization
PDBAUDIT 36.011 %PDBAUDIT(LIBNAMES="Not All" fails with syntax error.
READDB2 36.092 ACCTSORT=NO was not working, data ended up in WORK.
READDB2 36.121 READDB2(IFCIDS=ALL) did not create DB2STATS dataset.
READDB2 36.140 New SORT102=NO option can suppress T102Snnn sorts.
READDB2 36.172 IFCIDS=0-999 failed, only 367 are defined, now warns.
RMFINTRV 36.136 MXGABNDRMFI option will ABEND if OTHER Work found.
RMFINTRV 36.166 CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
SASNOTE 36.129 SAS Not 61906 SAS 9.4 TS1M3 High CPU fixed in M4/M5.
TECHNOTE 36.209 APARs of interest for z/OS.
TYPE0 36.009 INVALID TYPE 0 LENGTH=70 is valid, wrongly deleted.
TYPE101 36.101 Support for NDM-CDI OP record.
TYPE102 36.102 Support for DB2 V11 APARS PI71903/PI84045/PI82755.
TYPE102 36.138 Dataset T102S018 was misaligned.
TYPE102 36.212 Protection for IFCID 376 invalid offsets STOPOVER.
TYPE102 36.251 Support to populate T102S126 for DB2 102 IFCID 126.
TYPE106 36.152 New SMF 106 variables decoded and formatted.
TYPE110 36.008 CICS/TS 5.3 CPU variables in Statistics CICM dataset.
TYPE110 36.077 CICDS Dispatcher Statistics DSGTWT corrected.
TYPE110 36.220 Variable WTOTIOTM could exceed ELAPSTM
TYPE110 36.235 Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
TYPE110 36.244 CICS Variable D2GDB2ID added to CICDB2GL BY list.
TYPE115 36.005 QWHSDURN different in subtype 231, new vars, cleanup.
TYPE119 36.008 Variable TTAPLDAT in dataset TYP11902 misaligned.
TYPE119 36.018 STOPOVER ABEND: SMF 119 Subtype 81, at IBM now.
TYPE119 36.038 "INVALID SMF 119 TYPE 81" corrected, not invalid.
TYPE119 36.079 Support for SMF 119 subtypes 24, 38, 39, 40, and 45.
TYPE119 36.127 Support for ZERT SMF type 119 Subtype 12
TYPE119 36.230 ZERT SMF 119 Subtypes 11 and 12 minor corrections.
TYPE119 36.250 New variables added to TYP11952 subtype 52 dataset.
TYPE120 36.022 Support for Liberty 8.9.1.0 SMF 120 ST 100 (COMPAT).
TYPE120 36.134 WebSphere SMF 120 subtypes 5/6 only first was output.
TYPE122A 36.066 Support for IBM Devel z Systems IDZ SMF 122 record.
TYPE122A 36.207 Support for zExplorer SMF 122 Subtype 2.
TYPE21 36.218 Support for APARs OA52915 and OA52940, 4 byte counter
TYPE30 36.012 The created GMTOFF30 could be .01 seconds plus/minus.
TYPE30 36.150 Support for APAR OA54589, OSPROTECT, TRUSTED.
TYPE30 36.175 Support for SMF 30 User Key CSA RAXFLAGS OA53355.
TYPE42 36.023 Another invalid LENSR=232, STOPOVER ABEND OA54668.
TYPE42 36.106 TYPE42DS Encryption variables were not kept.
TYPE42 36.124 SMF 42 ABEND, more invalid values protected.
TYPE42 36.151 New variables from Jul 30, 2018 SMF Manual.
TYPE62 36.151 New variables from Jul 30, 2018 SMF Manual.
TYPE70 36.166 CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
TYPE7072 36.035 Incorrect LPAR/ZIP SHAR/SHAC if last engine was IFL.
TYPE7072 36.073 Support for z14 ZR1, new SMF70MAXPU variable COMPAT.
TYPE7072 36.208 Support for APAR OA56011 for TYPE70 OSPROTECT.
TYPE70PR 36.039 TYPE70PR variable LPARZIPS, online zips, added.
TYPE70TR 36.003 New 70 Tenant Resource Group TRG updated/validated
TYPE72GO 36.215 Variable MSUSOFT, Software MSU frequently missing.
TYPE72GO 36.253 MOBILE Service Units CPU Time not in CPUTM variable.
TYPE72TR 36.003 New 72 Tenant Resource Group TRG updated/validated
TYPE73 35.010 TYPE73 dataset, variable CHFXRATE slightly wrong.
TYPE74 36.211 TYPE749 variables added and corrected.
TYPE80A 36.108 Support for RACF TOKENs REQTCRE and ADMINCII'
TYPE82 36.036 Support for new SMF 82 subtype 82 JOB-Level Crypto.
TYPE89 36.003 New 89 Tenant Resource Group TRG updated/validated
TYPE99 36.072 New EWLM & SERV variables added to TYPE99_6 dataset.
TYPEACF2 36.075 ACF2 INVALID SMF RECORD, ACSMFREL=0, should be 6.2.
TYPEACF2 36.100 ACF2 6.2 Change 36.076 didn't correct STOPOVER.
TYPEBE97 36.217 Support for new BE97 subtype 6 and subtype 22 update
TYPEBETA 36.015 ERROR when TYPEBETA and TYPE70 used together.
TYPEBETA 36.074 Variables BETALOG reversed, subtype 51 doesn't match.
TYPEBETA 36.199 Beta 93 Subtype 51 and subtype 22 updates.
TYPEBETA 36.246 BETA 93 Version 6.2.0 updates subtypes 0/22/25/50/59
TYPEBVIR 36.120 Support for BVIR V412 History HSM Compression data.
TYPECIMS 36.162 Support for multiple IMS SYSTEMS, using JFCB DSNAME.
TYPECIMS 36.163 IMS56FA obs for CPI-C had incorrect INPQUETM.
TYPECIMS 36.167 Support for BMC Energizer for IMS Connect for IMF.
TYPECMFV 36.173 Support for Mainview MVS History Records new datasets
TYPEDB2 36.004 DB2 V11 IFCID 376 INPUT STATEMENT EXCEEDED. V11 only.
TYPEDB2 36.037 Var QWHSACE missing from DB2STSBP sort, ABEND
TYPEDB2 36.082 DB2 BPHITRAT corrected.
TYPEDB2 36.113 Incorrect test for QPAC_PIPE_WAIT/COUNT in DB2ACCTP.
TYPEDB2 36.114 DB2ACCTR dataset has been misaligned, NRQLAC GT 1.
TYPEDCOL 36.086 z/OS 2.3 DCOLLECT Encryption Variables added DCOLDSET
TYPEIAM 36.071 INPUT STATEMENT EXCEEDED IAM 9.2 Length Changed.
TYPEIMS 36.040 Support for unpopulated IMS 56FA with APAR UI50912.
TYPEIMS 36.044 Variable IMSVERS, the value in your _IMSVERS is kept.
TYPEIMS 36.238 MXG 36.11 protection for IMS 14.1 IMS56FA offset.
TYPEMGCR 36.240 Support for MegaCryption MEGACR34, subtype 3 and 4.
TYPEMVCI 36.234 Support for BMC's MainView for CICS(v69) COMPATIBLE.
TYPENDM 36.046 Support for NDM-CDI Version 5.2, corrects NDMCPU plus
TYPENMON 36.109 Significant CPU reduction processing NMON data.
TYPEPOEX 36.002 PowerExchange updated, trashed CPU values, open prob.
TYPEPOEX 36.135 Support for PowerExchange Version 10.
TYPEPOEX 36.231 Protection for truncated POEX File Segment records.
TYPERHEL 36.043 Initial support for NMON Red Hat Linux RHEL monitor.
TYPERHEL 36.109 Significant CPU reduction processing RHEL data.
TYPERHEL 36.137 Invalid data for variable MICROCODE.
TYPERMFV 36.201 MXG 36.09, z/OS 2.2 only, ASIxxx text misaligned.
TYPERMFV 36.201 WPS failed ERROR: format '$ CPUPHYAD' invalid
TYPERMFV 36.241 CPC_CECNAME added, ASITRT/TET corrected, MSU ACT.
TYPERSDA 36.143 Support for RSD Folders Version 6.0 AUDIT (INCOMPAT).
TYPESMF 36.131 MXGREADSMF=LOGGER didn't invoke CICSIFUE exit.
TYPESRDF 36.112 Support for SRDF Symmetric Remote Data Facility VV.RR
TYPESTC 36.084 Dataset STCVSM11 Change 34.237 variables corrected.
TYPESTC 36.222 Numerous STC formats were updated with new values.
TYPESYSX 36.105 TYPESYSL renamed to TYPESYSX to avoid conflict.
TYPETAND 36.118 Support for Tandem TMF Transaction DATA, TANDTMF.
TYPETCP 36.001 TYPETCP (archaic 118) APISTART date was on GMT.
TYPETMO2 36.236 Support for ASG-TMON CICS for z/OS V4.2 - NO CHANGES.
TYPETPMX 36.024 Support for ThruPutManager Release 18.02 TMT7113.
TYPEVMXA 36.025 Support for zVM64 Level 40061702 (INCOMPATIBLE).
TYPEVMXA 36.155 Support for z/VM LINUX LNXAPPL Process & Summary data
TYPEVMXA 36.198 z/VM VXBYUSR High CPU, records not on same second.
TYPEVMXA 36.221 MONWRITE DEFECT caused large values, LCUPPNUM issue.
TYPEVMXA 36.237 z/VM 6.3 PROBABLE DATA LOSS ABEND MTRSYS 1.04
TYPEWSF 36.132 Support for EOS Version 160 (INCOMPATIBLE).
TYPEXCOM 36.047 Support for XCOM Version 36.02 (COMPATIBLE).
TYPEZCOS 36.174 Support for AutoSoftCapping ZCOS Version 4.2 INCOMPAT
UTILBLDP 36.139 AUDITAFTER, SUPPRESS=ID, SORTOUT=NO revisions.
UTILBLDP 36.176 MXG 36.08, Extraneous % with EXPDBOUT= 180 ABEND.
UTILBPV 36.007 Program to examine the BPV cylinder value for EAV.
UTILEXCL 36.220 Variable WTOTIOTM could exceed ELAPSTM.
UTILEXCL 36.235 Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
VMXGALOC 36.243 Protection for READONLY=YES with FIRSTRUN=NO
VMXGSUM 36.245 VMXGSUM with user's INCODE GT 32756 chars, ABEND.
VMXGSUM 36.249 OBS=0 protection adds non-zero SYSCC Error test.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== CHANGES THRU 36.255 WERE IN MXG 36.36 DATED Jan 4, 2019=========
Change 36.255 T102S083 was incorrectly input to the report twice. One
ANALDB2R report line with the correct AUTH CHG type was printed,
Jan 4, 2019 a report line with type that is blank in PMAUD02 report.
Thanks to Henry Boone, GEICO, USA.
Change 36.254 Support for Fast Traversal Index adds these variables to
VMACDB2 DB2STATS dataset:
Jan 4, 2019 QISTTRAVMIN='FTB*THRESHOLD'
QISTFTBCANT='INDEXES*THAT*MEET*FTP CRITERIA'
QISTFTBCAN='INDEXES*THAT*MEET*TRAVERSE OK'
QISTFTBSIZE='TOTAL*MEMORY*ALLOCATION'
QISTINBNUMP='INDEXES*FTB*EXIST*PREVIOUS'
QISTINBNUMC='INDEXES*FTP*EXIST*CURRENT'
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.253 MOBILE Service Units on CP (GP) and SP (zIIP) engines are
VMAC7072 in TYPE72GO and TYPE72TR datasets, in variables R723MSUCP
Jan 3, 2019 and R723MSUSP, but their CPU times were not created, and
May 28, 2019 the GP CPU time is NOT included in CPUTM. New variables
CPUMOBILECP and CPUMOBILESP are created, but the CP CPU
time is still not added into CPUTM at this time. Instead
CPUTM_ALL=SUM(CPUTM,CPUMOBILCP) is created so the values
can be examined and validated; if you have MOBILE work,
please contact support@mxg.com to discuss how this new
new data can be best presented.
May 28: See Change 37.120; CPUTM_ALL=CPUTM, text wrong.
Thanks to Kare Martin Torsvik, EVRY,
Change 36.252 -Cosmetic cleanup of blank variable labels and spellings:
Many VMACNDM: NDMOPSEQ
Jan 3, 2019 VMAC119: DM_LSVLANID,UC_LTEDATE GMTOFFTM
VMAC74 and VMAC79: DEVNR5HEX
VMAC78: IOPDSTX
VMAC89: SMF89NUM was changed to SMF89_NUM
VMACWSF: ACCSTAT, AUDOBJRN
VMACBETA: BETASSI
Thanks to Chris Weston, SAS ITRM, USA.
Change 36.251 Support for DB2 102 IFCID 126, but all fields are (S) for
VMAC102 "serviceability" with no descriptions, and a 4095 byte
Jan 3, 2019 field that is mixed binary and character, but no info.
The R1O is 41 and R1L is 4096 so 4137 bytes are described
and read, but records have 4448 bytes, 311 undocumented.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.250 New variables added to TYP11952 Subtype 52 dataset:
VMAC119 SMF119ML_IP_CONCOUNT=CONNECTION*COUNT'
Jan 3, 2019 SMF119ML_IP_CONFAILCOUNT=CONNECTION*FAILURE*COUNT'
SMF119ML_IP_RCVDBYTES='RECEIVED*BYTES'
SMF119ML_IP_SENTBYTES='SENT*BYTES'
SMF119ML_IP_ESMTP='ESMTP*SUPPORTED?'
Thanks to Randy Shumate, RELX Group, USA
Change 36.249 OBS=0 protection adds test of non-zero SYSCC Error code
VMXGSUM to confirms a prior SAS error had set OBS=0, which can
Jan 1, 2019 cause VMXGSUM to fail, depending on the arguments used,
so VMXGSUM can be gracefully stopped with MXGERRORs that
no dataset was output and to look on the log for ERROR
and correct it.
Change 36.248 CICS variables TASELGTM CPUTONTM CPUTONCN are added to
ASUMCICS the PDB.ASUMUOW dataset from CICSTRAN, and CICS variables
ASUMCICX TASELGTM TASZIPTM CPUTONTM CPUTONCN OFFLCPTM OFFLCPCN are
VMXGUOW added to PDB.CICS created from PDB.ASUMUOW by ASUMCICX,
Dec 31, 2018 or created from CICSTRAN.CICSTRAN by ASUMCICS, but read
the comments in ASUMCICS that suggest ASUMCICX is better.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.247 A utility program to create a copy of the DOCVER file
DOCVLONG with all info on a single line for each MXG variable. MXG
Dec 27, 2018 variable names can be the 32 character max SAS allows, so
DOCVER descriptions are split if the name is 9 or more.
This program creates 94-byte records for each variable.
Thanks to MP Welch, Bank of America, USA.
====== CHANGES THRU 36.246 ARE IN MXG 36.12 DATED Dec 25, 2018==========
Change 36.246 BETA 93 Version 6.2.0 updates for subtype 0/22/25/50/59.
VMACBETA Versions 4.x.x and earlier may not be supported, contact
Dec 21, 2018 MXG Support if you are still at that BETA93 level.
Contact Support if you have other 6.2.0 subtypes so they
can be validated and supported.
Thanks to Robert Gilbert, BNP Paribas Fortis, FRANCE.
Change 36.245 MXG 36.05-36.11, VMXGSUM fails if user option INCODE text
VMXGSUM exceeds 32756. Change 36.109 added detection of "BY" in
Dec 19, 2018 your VMXGSUM INCODE= argument, but 32K is the limit that
is permitted by the %INDEX function. Now, INCODE string
is compressed of blanks to mitigate that length issue and
the test for BY is only executed if resultant length is
LT 32755. MXGWARN messages are written to the log at 30K
length, suggesting the use of INCODE1= option if needed.
Note that the counts of INCODE length can be different
between z/OS and ASCII.
Thanks to Bill Davis, TransAmerica, USA.
Change 36.244 CICS Variable D2GDB2ID is added to the BY List for the
VMAC110 NODUP PROC SORT of dataset CICDB2GL, which may be needed
Dec 17, 2018 for NODUP protection.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.243 If you specified READONLY=YES (which suppresses the aging
VMXGALOC of old directories) and a directory did not exist, it was
Dec 15, 2018 created but not populated. This could cause dataset not
found errors but suppressing that creation could cause
LIBNAME statements to fail. Now, VMXGALOC detects all of
these conditions and only allocates the LIBNAMES that are
found and does not create new ones with READONLY=YES and
FIRSTRUN=NO.
Change 36.242 Using BLDSMPDB with AUTOALOC=YES does two things. First,
BLDSMPDB it allocates all of the directories needed to satisfy the
Dec 15, 2018 parameters you specified - 5 weeks, 1 month, 7 days, etc.
Then at the end of the daily processing it makes a 0 OBS
copy of all of the datasets contained in the PDB. But if
you ran (incorrectly) with FIRSTRUN=YES a second time,
all of those datasets were set to 0 OBS by this process
(intended to prevent DATASET NOT FOUND errors when
running a weekly or a monthly process). Now, with
FIRSTRUN=YES, it first looks to see if there are any
datasets in the libref and if there are any datasets
present, it's assumed you did not really mean it, it
prints a warning message, and bypasses the 0 OBS copy.
Change 36.241 -Variables CPC_CECNAME GEIIMDL GEIMODEL kept in several
ADOCRMFV more ZRBxxx datasets where they are likely to be useful.
ASMRMFV -The original MXG01 record written at CLOSE is now split
EXZRBAS2 into an MXG01 written at VSAM OPEN, so the CPC_CECNAME
IMACRMFV could be captured for all RMF III datasets (it's kept
VMACRMFV kept where it makes sense). and an MXG02 record written
Dec 18, 2018 at CLOSE with those statistics.
Dec 23, 2018 -Datasets ZRBAS1 and new ZRBAS2 decode the MXG01 and MXG02
records.
-ZRBASI variables ASITRT/ASITET are 1024 microsecond units
but weren't multiplied by 1024. ASIDCTIA_S is 128 usec
but wasn't multiplied by 128.
-New ASIPHTCP='ENCLAVE*ON*GP*TIME=ASIPHTMA-ASIPHTZI is
created to complete the CPU Schematic in ZRBASI:
<------------GP------------><----ZIIP---->
<--ASICPUTA--><--ASIPHTCP--><--ASIPHTZI-->
0.083 0.048 37.692
0.131
ASIPHTMA=37.740 ASITRT/ASITET=29.696
-In dataset ZRBLCPLPAR, the CPC Capacity report, the value
under MSU ACT is the variable ZRBLCPCPUMSUHR, but that is
the interval MSU extended to an hour by MSU*3600/DURATM
so it is NOT the 4HR MSU value.
-Incremental improvements and some fixes.
-Positioning for a future new filtering feature.
-FROMTIME= and TOTIME= now support optional seconds for
time values in ASMRMFV. The time format used depends on
the number of digits coded as follows:
# Digits Time Result
-------- ----------------------------
0 RMFV057I NULL VALUE message
1 000M00
2 00MM00
3 0HMM00
4 HHMM00
5 0HMMSS
6 HHMMSS
> 6 RMFV004E ERROR message
Example Full Equivalent Time
--------------- --------------- --------
FROMTIME=1 FROMTIME=000100 00:01:00
FROMTIME=12 FROMTIME=001200 00:12:00
FROMTIME=123 FROMTIME=012300 01:23:00
FROMTIME=1234 FROMTIME=123400 12:34:00
FROMTIME=12345 FROMTIME=012345 01:23:45
FROMTIME=123456 FROMTIME=123456 12:34:56
-Seconds are NOT supported in Relative Time values such as
FROMTIME=*-nnS because this time offset unit from the
current time is too small to be of practical use when
building a PDB. The minimum Relative Time is 1 minute.
-Origin message RMFV009I for each RMF III data set
processed will now include the CPCNAME (aka CECNAME) for
z/OS Release 3.3 and up. If the LPAR is running under
z/VM then the CPCNAME will display as VMGUEST. For lower
z/OS releases the CPCNAME shows as N/A as RMF III does
not track this information at lower levels.
-New information only message RMFV057I KEYWORD VALUE IS
NULL issued when an ASMRMFV keyword has no value
assigned. For example, FROMDATE= . Before this change
the keyword would be ignored with no user notice.
-Warning message RMFV085W is now issued when a filter or
or parameter requires a specific RMF III table, but the
table has not been selected.
Avoid this message by specifying all desired RMF III
tables first before any other parameters that need them.
For example, ASIJOBNAME=MYJOB11 requires the ASI table.
-Improved display format when a single character error is
detected showing both EBCDIC and hexadecimal values for
the character.
-Initialization message RMFV001I now shows the size in
bytes of the step level program used to invoke ASMRMFV
(usually ASMRMFV itself).
-New message RMFV091I is issued when the IBM modules
ERBR3DEC (RMF III Decompression) or IGGCSI00 (Catalog
Search Interface) are loaded into the user region.
Warning message RMFV091W is issued if the module cannot
be identified as an IBM module. In this case this could
be a duplicate naming problem with a third party product.
-MXG table MXG01 has been split into two tables for each
RMF III data set processed. MXG01 contains VSAM data set
Open statistics and MXG02 contains VSAM data set Close
Statistics. These both appear in the ASMRMFV log in
Detail and Summary reports.
-Former message RMFV075W is now message RMFV090W.
RMFV075* is now used for table id mismatch errors.
ASMRMFV errors corrected:
-Error message RMFV005E could be incorrect when more than
one ASMRMFV parameter appeared in one SYSIN record.
-Messages RMFV012I and RMFV013I could show incorrect GMT
offset values for the last sample range and last selected
times.
-Space message RMFV031I always showed an EF (Extended
Function) VSAM type even for non-EF VSAM data sets.
-Message RMFV035* showed an incorrect reason in ASMRMFV
Summary report when an SPG table Internal Error was
detected.
-Except for the DSIG3 table any RMF III table id mismatch
errors now result in an Abend U0998 Reason Code 2. A
table id mismatch is a serious non-recoverable data
error. A DSIG3 error can be recovered by processing the
next RMF III data set but is still very undesirable.
-Each ASMRMFV parameter now has a PLACEMENT section in
documentation to explain where in the input stream it
should appear.
-Numerous documentation updates in:
Section 4 "RMF III Table Selection Parameters"
Section 5 "Input Data Selection Parameters"
Section 6 "Report Control Parameters"
Section 7 "Output Data Control Parameters"
Section 8 "Error Handling Parameters"
Section 12 "Messages"
Section 26 "ASMRMFV and MXG PDB Data Relationships"
Change 36.240 Support for MegaCryption new MEGACR34 dataset with new
EXMGCR34 subtype 3 and 4 replacing old records but keeping all of
IMACMGCR the original fields and adding these new variables:
VMACMGCR MGCRFUNC='FUNCTION*E ENCRYPT*D DECRYPT ?'
VMXGINIT MGCRALGO='ALGORITHM*USED'
Dec 8, 2018 MGCDSSUF='ADRDSSU*DUMP*RESTORE*COPYDUMP'
MGCRDSN1='INPUT*DSN'
MGCRVOL1='INPUT*VOLSER'
MGCRSTY1='INPUT*FILE*TYPE'
MGCRDSN2='OUTPUT*DSN'
MGCRVOL2='OUTPUT*VOLSER'
MGCRSTY2='OUTPUT*FILE*TYPE'
Thanks to Jennifer D. Ayers, West Virginia State Goverment, USA.
Change 36.239 Enhanced to display all used parameters, only on the
VMXG2DTE first execution in a SAS session. On subsequent execute
Dec 7, 2018 DDIN DDOUT PDB DATASET and INITIT are displayed only if
Dec 23, 2018 they are different and others only if present.
Thanks to Tom MacCabe, Dominion Energy, USA
Change 36.238 IMS 14.1 IMS56FA INPUT EXCEEDED RECORD ABEND due to an
VMACIMS invalid offset value of 2500 in DLRRXTOF/TPCEXTOF in a
Dec 7, 2018 record that has only 572 bytes. Previous 14.1 56FA data
Dec 23, 2018 didn't populate that offset to that new TPCX segment, but
the 64-byte segment was present but not input. Since the
segment contains nothing of value, rather than protecting
for an invalid offset, the code for the TPCX segment is
bypassed awaiting data from a site that wants the TPCX
data. This is not worth a PMR at this time.
-You can use this logic in your IMS job's SYSIN safely
since this segment is at the end of the IMS LOG record:
//SYSIN DD *
MACRO STOPOVER MISSOVER %
%INCLUDE SOURCLIB(TYPSIMST);
but you should remove that MACRO statement when you
update MXG.
-New message if 56FA record IMSVERSN value is not equal to
your site's _IMSVERS old-style macro value that you set
in the job's SYSIN - see TYPEIMST/TYPSIMST JCL examples.
But _IMSVERS is NOT USED in the 56FA records; it is used
only in old IMS log records hex 07 08 0A 31 35 36 40 59.
Dec 23, 2018: Variable TPCXLEN re-kept in IMS56FA always
a missing value until IBM populates the segment.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.237 z/VM 6.3 MONWRITE record ABEND at HCPCPEID='30061701:
VMACVMXA PROBABLE DATA LOSS MESSAGE exposed incorrect new SKIP
Dec 6, 2018 logic for 6.4 that failed with 6.3 in MTRSYS, 1.04..
SKIP logic revised to protect old versions.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
====== CHANGES THRU 36.236 ARE IN MXG 36.11 DATED Dec 3, 2018==========
Change 36.236 Support for ASG-TMON CICS for z/OS V4.2, is there now, as
TYPETMO2 there were no changes to the performance records.
Nov 28, 2018
Change 36.235 Support for IBM CICS SMF 110 CICS/TS 5.5 INCOMPATIBLE,
VMAC110 as is ALWAYS the case for CICS because they insert
UTILEXCL fields in existing records. You can use the VMAC110
Nov 30, 2018 with this Change (36.235), if you have records, with no
excluded fields and no optional segments, but if you
have either (the existence of a tailored IMACEXCL member
in your "USERID.SOURCLIB" tailoring proves you do), you
will need to use UTILEXCL from this Change to create a
new IMACEXCL that knows about these new variables that
were INSERTED in Subtype 1 records:
NJSAPPNM='NODE.NJS.APPPLICATION*NAME'
SOCONMSG='FIRST*MESSAGE*PROCESSED'
WBURIOTM='URI*WEBB OPEN*WAIT*TIME'
WBURIOCN='URI*WEBB OPEN*WAIT*COUNT'
WBURIRTM='URI*WEBB RECV*WAIT*TIME'
WBURIRCN='URI*WEBB RECV*WAIT*COUNT'
WBURISTM='URI*WEBB SEND*WAIT*TIME'
WBIRISCN='URI*WEBB SEND*WAIT*COUNT'
WBURVITM='URI*INVOKE*SERVICE*WAIT*TIME'
WBURVICN='URI*IINVOKE*SERVICE*WAIT*COUNT'
Yes, you need MXG 36.11 for CICS/TS 5.5 because fields were
inserted into SMF 110 CICSTRAN records and using old MXG will
have trashed values due to the misalignment, but MXG could run
and only print error messages, which might be false positives,
or could execute with no errors nor log messages, especially if
you have a tailored IMACEXCL, but your CICSTRAN dataset will
still be invalid.
Change 36.234 Support for BMC's MainView for CICS(v69) with support for
VMACMVCI CICS/TS 5.5 COMPATIBLY added these variables to DMRDETL:
Nov 30, 2018 T6E72XCT='72 EXTENSIONS'
T6ESOCNM='FIRST*MSG*PROCESSED'
T6EUROPT='URI*WEB OPEN*WAIT TIME'
T6EUROPF='URI*WEB OPEN*WAIT FLAG'
T6EUROPC='URI*WEB OPEN*WAIT COUNT'
T6EURRPT='URI*WEB RECV*WAIT TIME'
T6EURRPF='URI*WEB RECV*WAIT FLAG'
T6EURRPC='URI*WEB RECV*WAIT COUNT'
T6EURSPT='URI*WEB SEND*WAIT TIME'
T6EURSPF='URI*WEB SEND*WAIT FLAG'
T6EURSPC='URI*WEB SEND*WAIT COUNT'
T6EWSIVT='URI*INVOKE*SERVICE**WAIT TIME'
T6EWSIVF='URI*INVOKE*SERVICE**WAIT FLAG'
T6EWSIVC='URI*INVOKE*SERVICE**WAIT COUNT'
T6ENJAPN='NODE.JS*APPLICATION*NAME'
Change 36.233 Change 36.211 changed the KB definition to 1000 based on
VMAC74 an IBM document that is now confirmed as misleading and
Nov 27, 2018 the multiplier of 1024 is restored for these variables:
R7491BPC R7491BPS R749DCTBYTR R749FPGBYTR
R749FPGBYTS R749FPGCOBS R749FPGDCBS R749ICTBYTR
R749PCIBYTR R749PCIBYTT R749PCIDMAR R749PCIDMAW
-APAR OA55984 corrects high zEDC execution time and SSQ
values when a time stamp wrapped.
Change 36.232 The SMF 99 Subtype 14 Processor Topology Report provided
ANAL9914 by RAY back in Change 33.139 has a new version by Jim
Nov 29, 2018 and the report program is now a %MACRO ANAL9914 so you
can select CECTYPE and SYSTEM and REPORT with
%ANAL9914(CECTYPE=Z14,SYSTEM=SYS1 SYS2,REPORT=JIM);
REPORT=JIM uses PROC SGPANEL (SAS only) for prettiness!
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Raymond J. Smith, OPTUM, USA.
Change 36.231 Truncated POEX record caused INPUT STATEMENT EXCEEDED now
VMACPOEX the short record is detected and reported on the log. the
Nov 26, 2018 record had POEXNUM=35 File Segments expected, but the
record only had room for 15.
Thanks to Jack Hyde, UHC, USA.
Change 36.230 -SMF 119 ZERT subtype 12 dataset TYP11912IPOSEC was out of
VMAC119 alignment for these last 4 variables: ENCAPMODE/AUTHPROTO
Nov 26, 2018 were incorrectly input as $CHAR2.
S119SS_IPS_ENCAPMODE S119SS_IPS_AUTHPROTO
S119SS_IPS_AUTHALG S119SS_IPS_ENCALG
-MXG ZERT subtype 11 dataset TYP11911's GMTOFFTM create is
valid with current records, but 2017 records had missing
values that caused incorrect values, because SAETIME was
often missing and on a different time zone.
Thanks to Luis Mendoza, Black Knight, USA
====== CHANGES THRU 36.229 ARE IN MXG 36.10 DATED Nov 21, 2018==========
Change 36.229 If you specified a dataset name in ASCII and did not
UTILBLDP change the value of ECHO= to NO, a syntax error was
Nov 21, 2018 generated when the created code was read back in to be
displayed. If you used a filename (preferred) there was
no error.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.228 The MXGWARN:MISSING TYPE70/TYPE70PR could be printed for
VMAC7072 ICF-only LPARs, because MXGCIN was set to 'VM' in very
VMXG70PR old logic, prior to SMF70CIN being provided by IBM.
Nov 29, 2018 Now, MXGCIN is always set to SMF70CIN in VMAC7072, and
the ICF LPARs with SMF70STN non-blank are skipped in
VMXG70PR.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.227 New IHDRCTLT "Header" Exit created for record selection,
IHDRCTLT and macro variable &MACCTTH created for instream use.
VMACCTLT Missing value messages for dates eliminated.
VMXGINIT
Nov 16, 2018
Thanks to Randal Schlueter, FirstData, USA.
Change 36.226 Major revision to CICS RESPONSE TIME SLA MEMBER.
ASUMCICR
Nov 20, 2018
Change 36.225 Documentation only. Examples clarified.
ANALCAPD
Nov 16, 2018
Change 36.224 Documentation only. Examples added to select specific
UTILBLDP subtypes of records to be added to PDB, Example 2 was.
Nov 16, 2018 missing quotes.
Change 36.223 -PMACC02 could generate an UNITIALIZED variable message
ANALDB2R for PACKTYPE.
Nov 19, 2018 -Variable QB3TDIO was misspelled in PMSTA02 causing
another unitialized message.
Change 36.222 Numerous STC formats were updated with new values for
FORMATS HSC 7.3. Calculation of MSZ with CTP test, and new
VMACSTC $MGSTCRR format added, so please update FORMATS.
Nov 21, 2018
Thanks to Randy Hewitt, HPE, USA.
Change 36.221 MONWRITE defect, LCUPPNUM was NOT changed and an interval
VMACVMXA was skipped when the number of IFL engines was changed
Nov 15, 2018 from 5 to 3. MXG's attempt to detect wrap was invoked
causing large values in LCUCACTM LCUCLPTM LCXCMTIT.
The logic was revised to detect and delete the defective
interval in VXSYTCUP. A PRM will be raised with IBM.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.220 -Variable WTOTIOTM could exceed ELAPSTM because WTWEIOTM,
UTILEXCL is included in RMISIOTM, and -SUM(WTDISPTM,WTSYIOTM);
VMAC110 are overlapped with the sum of all of the other waits.
Nov 20, 2018 -The WTOTIOTM created in UTILEXCL (when you have EXCLUDED
fields) did not include these wait variables:
DSAPTHTM DSCHMDTM DSMMSCTM DSTCBMTM FCVSWTTM
GNQDELTM ISALWTTM JVMSUSTM MAXJTDTM MAXOTDTM
MAXSTDTM MAXXTDTM PTPWAITM RQPWAITM RQRWAITM
RRMSWATM RUNTRWTM SRVSYWTM SYNCDLTM TCALWTTM
TDELWTTM TDILWTTM
but only one, DSCHMDTM, is populated.
-This is the new code for WTOTIOTM
WTOTIOTM=SUM(
DSPDIOTM,ENQDIOTM,GNQDELTM,WTICIOTM,WTLMIOTM,
WTWCIOTM,RUNTRWTM,SRVSYWTM,RQRWAITM,
RQPWAITM,SYNCDLTM,MAXOTDTM,MAXJTDTM,MAXSTDTM,
MAXXTDTM,RRMSWATM,PTPWAITM,RMISIOTM,JVMSUSTM,
DSTCBMTM,DSMMSCTM,WTDWIOTM,DSCHMDTM,FCVSWTTM,
ISALWTTM,TCALWTTM,TDELWTTM,TDILWTTM,DSAPTHTM);
IF (WTOTIOTM GT SUM(WTDISPTM,WTSYIOTM)) AND
(WTOTIOTM-SUM(WTDISPTM,WTSYIOTM)) GT 0 THEN
WTOTIOTM=WTOTIOTM-SUM(WTDISPTM,WTSYIOTM);
Thanks to Jim Franklin, DXC Technology, USA.
Change 36.219 Misspelling of miscellaneous corrected in 15 of 876 uses,
Many and many other spelling errors have been corrected.
Nov 13, 2018
Thanks to Michael R. Novak, USPS, USA.
Change 36.218 Support for APARs OA52915 and OA52950 for SMF 21 counts
VMAC21 to use the 4-byte 3590 counters instead of the original
Nov 13, 2018 3-byte 3490 counters is already in place since the 4-byte
counters were added. A minor non-impacting change to
the test that sets the 3-byte counters with FFFFFFx to a
missing value was made.
Change 36.218 Reserved Change Number.
Change 36.217 -Support for new subtype 6 BETA97 record, which creates
FORMATS two new datasets:
EXTYB976 DDDDDD Dataset Description
EXTYB97S TYB976 BETA9706 BETA97 ST 06
IMACBE97 TYB97S BETA9706D BETA97 ST 06 DATASET
VMACBE97 -Support for the Relocate data in subtype 22 BETA972REL
VMXGINIT now decodes the expiration date fields to SAS dates and
Nov 9, 2018 the B97RELTY values are decoded..
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 36.216 -ASMRMFV IDERR subroutine upgraded to display MINTIME
ASMRMFV interval when a RMF III table id mismatch occurs as
Nov 8, 2018 RMFV075E messages.
-Extraneous ')' in message RMFV008I when processing a GDG
for RMFBSAM.
-NOSHOWZERO option not showing any table detail lines
except for MXG00.
Thanks to Randall Schleuter, First Data Corporation
Change 36.215 Variable MSUSOFT, the interval Software MSU in TYPE72GO
VMAC7072 for each Service/Reporting Class, can often be a missing
Nov 7, 2018 value due to incorrect logic used to populate the
CECSUSYSTEM and CECSUVALUE arrays from the preceding type
70 to provide SMF70CPA for the MSU calculation. If there
is no preceding 70 from this system, "new" variable
R723CPA is used so MSUSOFT will always be populated. And,
if it is really the 4 Hour Average value you want, member
ASUM4HRS will create that value for any variable in any
dataset!
Thanks to Thomas Heitlinger, FIDUCIAGAD, GERMANY.
Change 36.214 If OPTIONS OBS=0 has been set by SAS due to an error,
VMXGSUM VMXGSUM produced unclear messages and zero obs created.
Nov 7, 2018 Now, OBS=0 is detected and VMXGSUM shut down with error
message that is clear.
Thanks to Glen Bowman, Wakefern, USA.
Change 36.213 Cosmetic. Non-impacting NOTE: _UN98309 UNINITIALIZED is
VMAC110 removed.
Nov 7, 2018
Change 36.212 Protect for DB2 Trace IFCID 376 invalid offset STOPOVER.
VMAC102 One record with two offsets (SC_OFF and SQL_OFF) that
Nov 6, 2018 were larger than the record LENGTH caused the error.
Offset lengths are now compared to LENGTH and if larger,
log messages are printed.
QW0376SC_OFF=48392 LENGTH=5210 IFCID376 SC ERROR
QW0376SQL_OFF=27283 LENGTH=5210 IFCID 376 SQL ERROR
These offsets, added in DB2 V11, are after VERSION but
Version Length is ZERO in all records, and the first
eight bytes of VERSION are nulls, so possibly the
offsets are in those first eight bytes, so I've added
variable VERSION1ST to display their value.
A PMR will be raised with IBM DB2 Support.
Thanks to Glen Bowman, Wakefern, USA.
Change 36.211 -These AVG and STD values were not created in TYPE749:
VMAC74 R7491DISAVG='AVG*INDIVIDUAL*DEFLATE*INPUT*BYTES'
Oct 31, 2018 R7491DISSTD='SSQ*INDIVIDUAL*DEFLATE*INPUT*BYTES''
Nov 3, 2018 R7491DOSAVG='AVG*INDIVIDUAL*DEFLATE*OUTPUT*BYTES'
Nov 28, 2018 R7491DOSSTD='SSQ*INDIVIDUAL*DEFLATE*OUTPUT*BYTES''
R7491IISAVG='AVG*INDIVIDUAL*INFLATE*INPUT*BYTES'
R7491IISSTD='SSQ*INDIVIDUAL*INFLATE*INPUT*BYTES''
R7491IOSAVG='AVG*INDIVIDUAL*INFLATE*INPUT*BYTES'
R7491IOSSTD='SSQ*INDIVIDUAL*INFLATE*INPUT*BYTES''
and these variables are now uncommented and kept
/* SSQ VARIABLES NOW COMMENTED OUT SINCE STD EXIST
R749FSQE R749FSQQ R7491DIS R7491DOS R7491IIS R7491IOS*/
This link https://www.ibm.com/support/knowledgecenter/en/
SSLTBW 2.1.0/com/ibm.zos.v2r1.erbb200/erbb200205.htm
with PCIE Function Activity overview calculations show
that the "MegaBytes" and "KiloBytes" are 1000 and not the
1024 per KiloByte that IBM uses in other 74 subtypes, so
the 1024s in subtype 9 code are changed to 1000.
-Nov 28: Change 36.233 reverted back to 1024 as IBM has
confirmed the KB are 1024 and not 1000.
-R749FPGBPRT is now the in-use buffer percent of memory.
-R749BPC is relabeled AVERAGE*IN-USE*BUFFER*SIZE in bytes.
-R749PCIUTIL was incorrectly calculated.
Thanks to Heimir Hauksson, Barclays, ENGLAND
Anthony T. Sofia, IBM, USA.
Change 36.210 The _N119 "Null Macro" missed TYP11924 and TYP11945 so
VMAC119 they were created when not wanted when _N119 was used.
Oct 31, 2018
Change 36.209 Documentation of APARs of interest for z/OS:
TECHNOTE -APAR OA55602 RMF PP WLMGL TOTAL STORAGE INVALID after
Oct 31, 2018 APAR OA52694; impacted only the TOTAL STORAGE and the
STORAGE SHARED in RMF Report, 1000 times too large.
-APAR OA53459 SMF TYPE 65 IS MISSING THE HLQ FOR THE
GENERATION DATA SET WHEN DELETE GDG FORCE PURGE IS
ISSUED on z/OS 2.2, not on 2.1. 2.3 not mentioned.
-OA52950 3490 CHANNEL (PRE-COMPRESSION) BYTES AND DEVICE
(POST-COMPRESSION) BYTES BEING REPORTED INCORRECTLY.in
RMM (MXG TYPEDGR) and SMF 21 statistics, too high.
-OA54992 SMSVSAM SMF TYPE 42 SUBTYPE 15 RECORDS MAY
INCORRECTLY RECORD ABOVE THE BAR BMF STATISTICS FOR DATA
SETS. Occurs with a data set is assigned to a dataclass
with above the bar usage set to yes, but the data set is
not actually using above the bar buffers, which happens
if RLSABOVETHEBARMAXPOOLSIZE is not set or if the change
was made and the data set hasn't gone through a CLOSE to
refresh the information. LOCAL FIX: Ensure data sets
assigned to data class with above the bar usage are
using above the bar buffers.
-APAR OA56000 SMF RECORD LENGTH FOR SMF TYPE 98 HFTS
RECORDS EXCEEDS THE MAX ALLOWABLE X'7FF4' (32,756).
Subtype 1 are defined as x'8000' (32,768) and these
records have caused CA SMF DIRECTOR product to fail and
reject these records as invalid.
-APAR PI96628 MQ V9: SMF116 RECORDS CONTAIN INVALID
VALUES IN FIELD WTASMSTC, time spent in IXLLSTM call,
and WTASSSTC for CICS and CHINIT connections accessing
shared queues.
-APAR PH99111 WMQ V9.0 SMF116 LATENCY RECORD FIELDS SET
TO ZERO FOR SOME QUEUES. Fields MAXLATNT MINLATNT and
TOTLATNT are zeroed after migrate to Version 9.0, for
some queues.
-APAR OA55594 SMF78 SUBTYPE 3 SUPERVPAV VALUES NOT
REPORTED DUE TO R783DST BIT 7 FLAG NOT BEING SET
R783XIND, causing I/O Queueing Activity Report to be
missing the Alias Management Groups and/or the Logical
Control Units section is missing the Alias Management
Group field. Happens when the first device on a
SuperPAV XPAV Control Units is offline. LOCAL FIX:
Vary the first device on all SuperPAV XPAV Control
Units online.
-APAR OA55292 RMF FICON DIRECTOR STATISTICS REPORT HAS AN
OCCASIONAL VERY LARGE VALUE FOR A PORT BANDWIDTH, READ
OR WRITE. APAR IS OPEN.
Change 36.208 Support for APAR OA56011 which added these two variables
VMAC7072 to the TYPE70 dataset:
Oct 31, 2018 SMF70LACCR='LONGTERM*MSU*DFSMS*DATASET*ENCRYPTION'
SMF70OS_PRTCT='OSPROTECT*VALUE'
Change 36.207 Support for SMF 122 Subtype 2 zExplorer IBM Dependency
EXTY122B Based Build, DBB, Release 1.0.3, which records usage of
IMAC122A the DBB toolkit by z/OS users, creates new dataset.
VMAC122A DDDDDD DATASET DESCRIPTION
VMXGINIT
Oct 30, 2018 TY122B TYPE122B ZEXPLORE DBB DEPEND BASED BUILD
Change 36.206 When the input DD is tape or sequential, VMXGSUM and
VMXGSUM VGETOBS cannot reasonably detect the presence or absence
Oct 28, 2018 of datasets and have always tried to process them but if
DSNFERR was on failed with a dataset not found error.
But, if DSNFERR was set to NODSNFERR it then tried to
process and if the dataset did not exist could generate
UNINITIALIZED variable messages and a 0 OBS output. Now
if VGETOBS detects a sequential LIBNAME and NODSNFERR
MXGNOTEs are produced to let you know what may happen.
Change 36.205 -IBM updated the RMF III SVP table and altered the Service
ASMRMFV Class, Report Class, and Resource Group Information
Oct 26, 2018 Sections.
-The SVP version level was raised from X'03' to X'04.
-Either or both version levels may exist in z/OS 2.3
systems depending on the software currency of z/OS.
-ASMRMFV has been changed to input these Sections using
actual rather than documented lengths.
-The SVP, ASI, ENC, and RCD RMF III tables are all
affected when the SVP version level is X'04'.
-MXG Changes 36.191 and 36.201 support new MXG variables
for the new data in the VMACRMFV member.
-ZEROCPU and ZERODVT parameters were not recognized due
to a length specification error in the parameter table.
Change 36.204 Plots and or TABULATE of MSU capacity GRAFMSU Reports.
GRAFMSU For General purpose CPUs:
Nov 16, 2018 CPC Capacity .
LPAR Rolling 4 hr Avg Usage
LPAR Hourly Usage
LPAR Defined Capacity
LPAR Capacity based on % SHARE
LPAR Capacity based on # CPUs
For IIP and IFA/CBP CPUs:
CPC Capacity .
LPAR Rolling 4hr Avg MSU (Estimated)
LPAR Hourly Usage
LPAR Capacity based on % SHARE
LPAR Capacity based on # CPUs
See doc in the member for examples of usage and see
change 36.156 for examples of wrapping in ODS statements
to create HTML or PDF output.
Change 36.203 CPU report with INTERVAL=HOUR actually was produced at
ANALRMFR number of CPUs*intervals so a CEC with 4 CPUs on a 15
Oct 26, 2018 minute interval showed up with 4 hour intervals. DURATM
is now set to the INTERVAL= specified.
Change 36.202 Used primarily inside of other macros to detect the
VGETOBS existence and other information about SAS datasets. But,
Oct 25, 2018 if you happened to pass incomplete text, like .ASUMCELP
(where it should have been DDNAME.ASUMCELP) you could get
strange errors and an ABEND, due to the period. Now, both
sides are validated, or if only one is, WORK is used as
the DDNAME with the DATASET to become WORK.ASUMCELP.
Change 36.201 -MXG 36.09, z/OS 2.2, only, text classification variables
VMACRMFV (ASICNM ASISCWN AISCRN ASIRNM ASIWNM) in dataset ZRBASI
Oct 26, 2018 could be misaligned. Introduced in Change 36.196.
-Some WPS 4.0 iterations failed with
ERROR: The format name '$ CPUPHYAD' invalid
because WPS didn't like the blank in FMTNAME ' CPUPHYAD'
Removing the blank didn't impact SAS but it healed WPS.
Thanks to Rodger Foreman, Black Knight, USA
Change 36.200 Logic rearranged to put error checking at the top, some
VMXG2DTE additional error checking added and abort changed to a
Oct 24, 2018 soft landing with error messages.
Thanks to Tom MacCabe, Dominion Energy, USA
Change 36.199 -Beta 93 Subtype 51 variables now output in BETA51 dataset
FORMATS that are also input in BE97 BETA9751D dataset:
VMACBETA BETALCMD='LINE*COMMAND'
Oct 30, 2018 BETARPOS='POINTER*TO*VALUE*AREA'
-BETA 97 subtype 22 variable B97RELTY in dataset BETA9722
has new values decoded by updated FORMAT MGBETET.
-New BETA 97 subtype 6 will create new datasets when test
records are available.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 36.198 z/VM VXBYUSR High CPU, MRHDRTOD isn't the same second any
VMACVMXA more in VXUSEACT and VXUSEINT datasets, which caused that
Oct 22, 2018 merge to create multiple obs, which caused deaccumulated
VMDTTIME/VMDVTIME to be very large for those intervals.
MXG used MRHDRTOD=FLOOR(MRHRTOD); to truncate to whole
seconds for the merge, as the value was always :00, but
now, the start of the write of the USER records is often
near the end of the 00: second (e.g. 0.999919 microsec)
and the write extends into the :01 second, and sometime
the ACT record is at :00 and INT is at :01, mismatched.
Now, MRHDRTOD=FLOOR(MRHDRTOD)-MOD(FLOOR(MRHDRTOD),10);
is used to force the minute intervals to always be :00 in
the PDB.VXBYUSE MONWRITE dataset.
The MRHDRTOD one minute interval datetime value that is
used to merge VXUSEACT and VXUSEINT datasets to create
VXBYUSR previously happened to always be on the same
second, so using MRHDRTOD=FLOOR(MRHDRTOD) to truncate
that microsecond value to seconds, the merge matched
observations correctly.
However, the newer data shows that there can be a pair of
records with the USEACT record at :00 seconds and the
paired USEINT record at :01 seconds, causing that merge
pair to create multiple observations.
What has happened? The older data shows the start of the
write of the USEACT/USEINT pairs began at 0.885 seconds
after the pop and the write completed after writing all
of them in 478 microsec, in that one second, but the
newer data shows the write didn't start until 0.999 secs
and the 406 microseconds write time ended in the next
second causing ACT at :00 and INT at :01. Some of the
new values don't even start write until the :01 second.
Sept Data:
03:36:30.885294 Minute 36 Second 30 First USEACT
5 microsec
03:36:30.885299 Minute 36 Second 30 Paired USEINT
471 microseconds (write 78 pairs)
03:36:30.885770 Minute 36 Second 30 Last USEACT
2 microseconds
03:36:30.885772 Minute 36 Second 30 Paired USEINT
==> 78 pair written in 478 microseconds for Minute 36.
But new data has pairs with different seconds values:
Oct Data:
09:36:00.999919 Minute 36 Second 00 First USEACT
3 microseconds
09:36:00.999922 Minute 36 Second 00 Paired USEINT
76 microseconds (write 21 pairs)
09:36:00.999998 Minute 36 Second 00 First USEACT
2 microseconds
09:36:01.000000 Minute 36 Second 01 Paired USEINT
324 microseconds (write 65 pairs)
09:36:01.000324 Minute 36 Second 01 First USEACT
1 microseconds
09:36:01.000325 Minute 36 Second 01 Paired USEINT
==> 86 pair written in 406 microsec for minute 36.
Thanks to Graham Harris, RBS, ENGLAND.
====== CHANGES THRU 36.197 ARE IN MXG 36.09 DATED Oct 18, 2018==========
Change 36.197 Support for new TRAD/TRG count variables in TYPE89,
VMAC89 in z/OS 2.4.
Oct 17, 2018 ICN 1662.
Change 36.196 Support for new z/OS 2.3 RMF III variables (COMPATIBLE)
VMACRMFV added to ZRBASI/ZRBRCDD/ZRBRCDP/ZRBRCDS/ZRBRCDT/ZRBRCDX
Oct 15, 2018 and ZRBSVPC. The new variables are listed in DOCVER36.
-ZRBASI, existing variables now correctly populated:
ZRBDCTIA/ZRBGMN/ZRBGMX/ZRBIDLE/ZRBWNM/ZRBGDE/ZRBDNM.
Change 36.195 zVPS MTRSYS segment with undocumented SEGLEN=336 caused
VMACXAM Serious Error messages and missing output data.
Oct 15, 2018
Thanks to Patricia Hansen, ADP, USA.
Change 36.194 Yet another invalid LENSR value TYPE42 Subtype 5 ABEND,
VMAC42 value LENSR=376 added to Change 36.124.
Oct 15, 2018
Change 36.193 Estimated bytes after IDRC compression added to TMS as
TYPETMS5 TAPEBYTC and to DSNBRECD as DSNBYTEC. Just like the
Oct 11, 2018 TAPEBYTE and DSNBYTE variables (estimates based on
BLKSIZE*BLKCNT) these are best guess estimates.
Change 36.192 Support for IMS Version 15 (COMPATIBLE) dataset IMS56FA.
VMACIMS New string TPCPTHRSESSN contains the pair of TPCPTHRS and
Oct 11, 2018 TPCPESSN for up to six External Subsystems, TPCXLEN has
the length of the TPCX, still 60 reserved bytes.
Thanks to Robert Taylor, Wisconsin Dept of Administration, USA.
Change 36.191 New Type 74 Subtype 8 dataset TYPE748S SYNC I/O variables
VMAC74 R748SCWT R748SNBW R748SNWO R748SNWS R748SNWT were INPUT
Oct 11, 2018 and FORMATted and LENGTHed and LABELed incorrectly.
Thanks to Steve Olenik, IBM, USA.
Change 36.190 A reference line showing the memory allocated to each
GRAFWRKX LPAR was added to the memory graph. The scale on the Y
Oct 11, 2018 axis is 0 to the MAX memory for any LPAR in the data.
Change 36.189 Variable SM113CPT added to the SMF 113 report to show
ANAL113 the engine type.
Oct 9, 2018
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 36.188 Support for new Bit 4 of SMF30_RAXFLAGS and creation of
BUILD005 these new bit-level variables with explanation in label
BUIL3005 SMF30_RAXFLAG0='RAX0*USERKEY*COMMON*AUDIT*ENABLED?'
VMAC30 SMF30_RAXFLAG1='RAX1*USERKEY*COMMON*AUDIT*USAGE?'
Oct 16, 2018 SMF30_RAXFLAG2='RAX2*USERKEY*CADS*USAGE?'
SMF30_RAXFLAG3='RAX3*USERKEY*CHANGE*KEY*USAGE?'
SMF30_RAXFLAG4='RAX4*USERKEY*RUCSA*USAGE?'
that are added to TYPE30_4/TYPE30_5/TYPE30_6/TYPE30_V
and PDB.STEPS for BUILDPDB (JES2) and BUILDPD3 (JES3).
(Variable RAXFLAGS was added in MXG 35.09.)
Thanks to MP Welch, Bank of America, USA.
Change 36.187 WPS does not honor OPTIONS NOXWAIT so there may be times
BLDSMPDB when it is necessary to respond to a message.
PROCSRCE
UTILCPLG
VMXGALOC
Oct 5, 2018
Change 36.186 Labels for variables RECORDS, INSERTS, RETRVALS, UPDATES
VMAC16 and DELETES are now consistent for these three records.
VMAC64
VMACSYNC
Oct 4, 2018
Thanks to Warren Cravey, FMR, USA.
Change 36.185 For want of an & PDB= was not honored but always looked
GRAFCIMP for the data in PDB.
Oct 4, 2018
Change 36.184 JES 2 JMF subtype 21 INPUT RECORD EXCEEDED LENGTH because
VMAC84 triplets were misaligned and this was the first instance
Oct 3, 2018 of that subtype to test.
Oct 11, 2018 -Value of JMFINTRV is 60+ hours, JMFDELTA is 90 minutes,
so the two percentage calculations use JMFDELTA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Joe Faska, DTCC, USA.
Change 36.183 -Power Exchange USER SMF record STOPOVER if the File Name
VMACPOEX had zero length. Invalid record detected and printed on
Oct 3, 2018 log and skipped, while vendor investigates.
Oct 18, 2018 -Invalid new triplet record with no SECT segment deleted,
Nov 20, 2018 and a record with truncated General Section is deleted.
-The GMT offset depends on POEXENDT; if it's missing the
offset can't be calculated. Pending a vendor correction,
MXG Retains the GMTOFFEX and uses that value instead,
which could cause missing values for STRT/ENDT.
Nov 20: The Informatica fix number for this problem is
PWX-7566 and it will be in code base PWX V10.2.0 Hotfix2
currently scheduled for Q1 of 2019.
Thanks to Scott Wiig, US Bank, USA.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.182 MXG 36.07-36.08. Possible syntax error in a SYSFUNC due
MONTHBLD to Change 36.145, which changed a QCMPRES to a SYSFUNC
MONTHBL3 (changed only to protect possible user typing errors)
MONTHBL3 but should have used QSYSFUNC, because SYSFUNC saw the
MONTHDSK commas as operands and failed. The member from 36.06 all
MONTHASC the way to 32.05 can be used. Fortunately, MONTHBLD is
PRODTEST normally tailored into the "USERID.SOURCLIB" so the ERROR
PRODTESW only impacts new users of the MONTHPDB in 36.07-36.08.
Oct 3, 2018 -Dec 31: MONTHBL3 was missing a semicolon, found in QA.
Dec 31, 2018
Change 36.181 Support for zVPS USEDIAG segment adds variables DIAGNBR
VMACXAM and DIAGVALUE to datasets XMUSVCPU and XAMUSR.
Oct 2, 2018
Thanks to Patricia Hansen, ADP, USA.
Change 36.180 -UTILBLDP with RMFINTRV=NO and BUILDPDB=YES did not create
UTILBLDP PDB.TYPE70 nor the other PDB.TYPE7x datasets. The "NO"
Oct 4, 2018 should have suppressed only the %INCLUDE of RMFINTRV in
MACRO _INTRMF, but it also suppressed the seven _S7xxxxx
data set sort macros. RMFINTRV=YES is automatic with
BUILDPDB=YES, and now RMFINTRV=NO and BUILDPDB=YES will
create the 70s but not create PDB.RMFINTRV. If you want
to build PDB.RMFINTRV and the ASUM70PR datasets from only
the 70 and 72 SMF records, see EXAMPLE 3A/3B in UTILBLDP.
Thanks to Ralph Gifford, AIG, USA.
Change 36.179 Support for USER CICS fields USER3/USER3 and ATOUSER.
IMACAAAA
IMACICWZ
IMACICXA
VMAC110
UTILEXCL
Sep 28, 2018
Thanks to Richard Baker, ATO, AUSTRALIA.
Change 36.178 Target Resource Group dataset TYPE89R2 was incomplete and
VMAC89 fields were misaligned.
Sep 28, 2018
Thanks to Greg Goshia, Ohio Farmers Insurance, USA.
Change 36.177 Reserved Change Number.
Change 36.176 Extraneous % in UTILBLDP could cause 180 ERROR and ABEND.
UTILBLDP Line 665 had a stray percent sign, MXG 36.08 only.
Sep 20, 2018 The EXPDBOUT= argument exposes the error.
Thanks to Tom MacCabe, Dominion Energy, USA
Change 36.175 Support for SMF 30 User Key CSA Audit Enhancements adds
VMAC30 new SMF30_RAXFLAGS to TYPE30_1, TYPE30_V, TYPE30_4 and
Sep 28, 2018 the TYPE30_5 datasets. Change 35.212 (MXG 35.09+) Sep
Feb 28, 2018 2017 made the code change but the change text was still
Sep 20, 2018 a "Reserved Change" until Feb 28, 2018, but had the old
35.212 Change Number, so it was only in CHANGESS member.
The IBM Record Change was made by APAR OA53355, but will
only be needed thru z/OS 2.3, as User Key Common Storage
usage support ends there.
This is Health Check ZOSMIGV22R3_NEXT_VSM_USERKEYCOMM.
These APARs required no additional code changes:
OA53434 Corrects IBM macros SMF30RPS,SMF30SDS lengths
not field lengths so it has no impact on MXG.
OA53289 Corrects value of SMF30HVR from zero to valid.
OA45767 APAR that added the extra triplet caused OA53434
See Change 36.188 which added new bit-level variables.
Change 36.174 Support for Auto Soft Capping (ZCOS) Version 4.2 added
VMACZCOS these variables, INCOMPATIBLY, due to a new field that
Sep 21, 2018 was inserted prior to a triplet.
Dataset ZCOS01:
ZCOS01PC4HA='TOTAL*CATEGORYA*R4H OF LPARS'
ZCOS01PC4HB='TOTAL*CATEGORYB*R4H OF LPARS'
ZCOS01PC4HM='TOTAL*MOBILE*R4H OF LPARS'
ZCOSDETO='SMF*INTERVAL*END*TIME'
ZCOSDDTO='SMF*INTERVAL*DURATION'
ZCOSDOTO='GMT*OFFSET'
Dataset ZCOS02:
ZCOSPR4HA='4H CATEGORYA MSU AVERAGE'
ZCOSPR4HB='4H CATEGORYB MSU AVERAGE'
ZCOSPR4HM='4H MOBILE MSU AVERAGE'
ZCOSPS4H ='4H TOTAL MSU AVERAGE AT SMF IV TIME'
ZCOSPS4HA='4H CATEGORYA MSU AVERAGE AT SMF IV TIME'
ZCOSPS4HB='4H CATEGORYB MSU AVERAGE AT SMF IV TIME'
ZCOSPS4HM='4H MOBILE MSU AVERAGE AT SMF IV TIME'
ZCOSPSTIM='ZCOSPSTIM*DATETIME*STAMP'
Dataset ZCOS04GP:
ZCOSMOBT='MOBILE*TARGET*R/S/D'
ZCOSCMPR='MANAGE*BILLING*CPM?'
ZCOSCMPF='CMP*FLYING*MSU MGT?'
Dataset ZCOS04CP:
ZCOS04CTHR='CPC*CONTROL*THRESHOLD'
Dataset ZCOS04LP:
ZCOS04PDLV='MSU*DISTRIB*LEVEL*BOUNDARY'
Change 36.173 -Support for Mainview MVS History Records. The new BMC
EXCMFV02 MD73 utility creates these 28 new RTIN records, which
EXCMFV09 create these 44 new datasets with CMRDETL information.
EXCMFV0C
EXCMFV0D
EXCMFV0F DDDDDD Dataset Description
EXCMFV10
EXCMFV16 CMFV10 CMFV10 Address Space 10 ADRE
EXCMFV17 CMFV16 CMFV16 Lock 16 LKRE
EXCMFV18 CMFV17 CMFV17 VSAN RLS Activity 17 RLRE
EXCMFV20 CMFV18 CMFV18 VSAM RLS LRU 18 RURE
EXCMFV21 CMFV181 CMFV181 DEVICE 83 DLRE
EXCMFV2E CMFV20 CMFV20 COUPLING FACILITY
EXCMFV34 CMFV21 CMFV21 System Summary 21 SLRE
EXCMFV46 CMFV2E CMFV2E Data Set 23 DSRE
EXCMFV47 CMFV34 CMFV34 Unix Process 34 UPRE
EXCMFV48 CMFV46 CMFV46 PROCESS
EXCMFV49 CMFV47 CMFV47 WLM Extended Period 47 MXRE
EXCMFV50 CMFV48 CMFV48 WLM Addr Space/Enclave 48 MTRE
EXCMFV51 CMFV49 CMFV49 WLM Enclave Classify 49 MCRE
EXCMFV52 CMFV50 CMFV50 XCF Path 50 XPRE
EXCMFVES CMFV51 CMFV51 XCF System 51 XSRE
EXCMFV54 CMFV52 CMFV52 XCF Source/Destination 52 XDRE
EXCMFV70 CMFVES CMFVES ES CRITERIA 53 ----
EXCMFV71 CMFV54 CMFV54 WLM Server 54 MWRE
EXCMFV72 CMFV70 CMFV70 System Summary 70 SBRE
EXCMFV73 CMFV71 CMFV71 Device 71 DBRE
EXCMFV74 CMFV72 CMFV72 Address Space 72 ABRE
EXCMFV80 CMFV73 CMFV73 WLM 73 WBRE
EXCMFV81 CMFV74 CMFV74 LPAR 74 LBRE
EXCMFV82 CMFV80 CMFV80 ZFS Aggregate 80 ZSRE
EXCMFVC0 CMFV81 CMFV81 ZFS Cache 81 ZCRE
EXCMFVC1 CMFV82 CMFV82 PCIE Activity 82 PCRE
EXCMFVC2 CMFVC0 CMFVC0 PROCESS C0 PRRE
EXCMFVC4 CMFVC1 CMFVC1 THREAD C1 THRE
EXCMFVCC CMFVC2 CMFVC2 MOUNTED FILE SYSTEM C2 FMRE
EXCMFVCD CMFVC4 CMFVC4 SYSTEM PARAMETERS C4 PMRE
EXCMFVCE CMFVCC CMFVCC PROCESS/TTY CC P1RE
EXCMFVCF CMFVCD CMFVCD VSAM COMMON STORAGE CD P2RE
EXCMFVD0 CMFVCE CMFVCE PROCESS/COMMAND CE P3RE
EXCMFVD1 CMFVCF CMFVCF USS PROCESS CWD CF CFRE
EXCMFVD2 CMFVD0 CMFVD0 MOUNTED FS/MOUNT POINT D0 F1RE
EXCMFVD3 CMFVD1 CMFVD1 MOUNTED FS/MOUNT PARMS D1 F2RE
EXCMFVD4 CMFVD2 CMFVD2 HFS GLOBAL D2 HGRE
EXCMFVFD CMFVD3 CMFVD3 HFS FILESYSTEMS D3 HFRE
EXCMFW18 CMFVD4 CMFVD4 HFS BUFFERS D4 HBRE
IHDRCMFV CMFVFD CMFVFD SCM FD FDRE
IMACCMFV CMFWC0 CMFVC0 PROCESS 18-1 DLRE
VMACCMFV
VMXGINIT -The three files contain these RTIN values:
Oct 30, 2018 SHRT only contains 70x 71x 72x 73x 74x
LONG only contains 0Cx 10x 18x 21x
NORM contains all except 0Cx 10 11 12 13 14 15
and contains C0 C1 C2 C4 CC CD CE CF D0 D1 D2 D3 D4.
-RTIN 18 appears both in LONG (1) and NORM (0), so the
CMFV18 and CMFW18 DDDDDDs create CMFV18 and CMFV181.
-These RTINs were supported, no longer documented:
25 26 27 28 29 33 41 42 43 45 53 96 97
-These RTINs are not yet supported, await DSECTs:
11 12 13 15 1E 2A 2B 2C 2D
-Truncated RTIN '47'x with ENTL=1204 vs 1536 protected.
Thanks to Michael Oujesky, DTCC, USA.
Change 36.172 READDB2(IFCIDS=0-999) failed when it got past IFCID 367,
READDB2 the current high IFCID. That syntax requires contiguous
Sep 13, 2018 values, so if you specify a value GT 367 the upper limit
is reset to 367 and a note is printed on the log. If you
really want to create ALL of the IFCIDS use IFCIDS=ALL.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.171 Support for z/14 Clusters added to IBM Processor Topology
ANAL9914 Report.
Sep 13, 2018
Thanks to Raymond J. Smith, OPTUM, USA.
====== CHANGES THRU 36.170 ARE IN MXG 36.08 DATED SEP 10, 2018==========
Change 36.170 For sites with 8-byte values for SMF70STN or SYSNAME or
SAGANAL with 4-byte values that don't match SYSTEM, or MXGWARNs
Sep 9, 2018 about TYPE70 or TYPE70PR data missing, you will need to
Nov 11, 2018 use the output of this PROC FREQ report
PROC FREQ DATA=PDB.TYPE70PR (WHERE=(SMF70STN=SYSNAME));
TABLES SYSNAME*SMF70STN/NOROW NOCOL NOCUM NOPCT;
to update the new SELSTN macro variable to set the SYSTEM
from the corresponding SMF70STN value:
%LET SELSTN=
%QUOTE(
IF STN(_I_) EQ 'DHECPROD' THEN STN(_I_)='DHEC';
ELSE IF STN(_I_) EQ 'DHECTEST' THEN STN(_I_)='DHCT';
ELSE IF STN(_I_) EQ 'PROD' THEN STN(_I_)='SYS1';
ELSE IF STN(_I_) EQ 'TEST' THEN STN(_I_)='SYST';
ELSE PUTLOG _N_= _I_= STN(_I_)= SYSTEM=;
);
Thanks to Henry Jenkins, South Carolina State Government, USA.
Change 36.169 Change 36.077 checked for the word BY in the first 2
VMXGSUM bytes of INCODE but there is no reason the BY would have
Sep 8, 2018 to be in the first two bytes, so logic was revised to
find any " BY " text in the INCODE. If the first text
in the INCODE= was a %INCLUDE, it failed because the
percent sign needed to be protected with %SUPERQ().
Change 36.168 Dataset BVIR20 variables MAX/AVE AHCT/BHCT were incorrect
VMACBVIR as the +46 after DEVINTDL is their input location and
Sep 8, 2018 removed.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.167 Support for BMC Energizer for IMS Connect which populates
VMACCIMS TRNOTxxx variables in CIMSTRAN dataset, but TRNOTCON was
Sep 7, 2018 not converted to local, and new CONNECT*SERVICE*DURATION
in new CONNECTM variable.
Thanks to Randy Hewitt, DXC, USA.
CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33+ TOTAL ENGINES.
NO IMPACT TO PDB.TYPE70PR,ASUMCELP/ASUMCEC/ASUM70PR/ASUM70LP.
Change 36.166 Dataset PDB.TYPE70 skips LCPUADDR/CPUID 64 and higher and
VMAC7072 does NOT include any of those engine's CPU time, UP time,
Sep 9, 2018 nor NRCPUS count, causing CPUACTTM for CPs to be less
than the CPUTM in TYPE72GO Service Classes, which causes
log messages NEGATIVE UNCAPTURED CPU TIME in RMFINTRV.
-This error can occur with as few as 33 total engines; as
in this case, with 13 CPs and 19 zIIPs, IBM skipped every
other LCPUADDR so the last ZIP was '3F'x, and when a 14th
CP was added, it became '40'X and exposed the MXG error.
-ONLY PDB.TYPE70/PDB.RMFINTRV are impacted; PDB.TYPE70PR
and PDB.ASUMCELP/ASUMCEC/ASUM70PR/ASUM70LP datasets that
are created from TYPE70PR capture all engines' data.
-This MXG error was introduced in 2013 in 31.04 support
for 255 engines; previously separate variables for every
engine, 0 thru 63 were created and kept; but new dataset
TYPE70EN was created with all engines details so new vars
were not needed to be kept, but they were still created
for the summary into TYPE70, but the old logic to update
the IFATYPE array still stopped at engine 63.
You can use this program to read your PDB.TYPE70PR data
to see if you are exposed, and the CPU TIME lost, if any:
DATA CPUMISSED;
SET PDB.TYPE70PR;
IF LCPUPDTM GT 0 AND SMF70CIN IN ('CP' 'IIP');
KEEP SMF70CIN SYSTEM LCPUPDTM RANGE;
IF LCPUADDR LT 64 THEN RANGE='INCLUDED-LT 64 ';
IF LCPUADDR GE 64 THEN RANGE='NOT INCLUDED-GT 64';
PROC FREQ;
TABLES SMF70CIN*RANGE*SYSTEM/NOCOL NOCUM NOROW;
WEIGHT LCPUPDTM;
TITLE LOST/INCLUDED PDB.TYPE70 CPU TIMES HIGH LCPUADDR;
to see how much CPU was included or lost in PDB.TYPE70.
-Normally, CPs LCPUADDR start at zero, followed by zips,
so the impact is more likely for zip metrics, but when
CPs are added dynamically, they get the next LCPUADDR.
Only PDB.TYPE70 and PDB.RMFINTRV datasets are impacted.
and only resources summed from individual engines; the
4HR Average MSU SMF70LAC and similar "interval variables"
are not impacted by this error.
Neither the PDB.TYPE70PR nor the four ASUM70PR datasets
PDB.ASUMCELP,ASUMCEC,ASUM70PR,ASUM70LP are impacted.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 36.165 Analysis of SMF 89 data, including conversion of CPU time
ANAL89 into MSU values, with several reports.
Sep 10, 2018
Thanks to Edward Cornish, Verisk, USA.
Change 36.164 Variable SMF82KVL is added to TYPE8207 with number of
VMAC82 nibbles in SMF82KV field. ICN 1652.
Aug 30, 2018
Change 36.163 IMS56FA observations for CPI-C PROGTYPHX='10'X do not
VMACIMS have an ARRVTIME so their INPQUETM can't be known, but
Sep 7, 2018 MXG incorrectly calculated wrong values. Now INPQUETM
is missing when ARRVTIME is unknown.
Change 36.162 Variable SYSTEM does not exist in IMS Log Records but MXG
IHDRIMS can set it from SYSPARM() on the // EXEC JCL statement,
VMACIMS but that applies to the entire IMS log that was read.
VMXGINIT Now, to process multiple IMS system's logs in one job,
Aug 28, 2018 JFCB=IMSJFCB is added so the DSNAME in the first 44 bytes
can be used in tailoring member IHDRIMS or instream use
%LET MACIMSH= in your SYSIN to set the variable SYSTEM.
For example, if the second node in your DSNAME is SYSTEM,
%LET MACIMSH= %QUOTE( SYSTEM=SCAN(IMSJFCB,2,'.'); );
will populate variable SYSTEM with that value.
-Variable PROGTYPE='C' is now set for PROGTYHX='10'X.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.161 If OUT70GL=WORK.xxxxxxxx, ASUM70PR program failed with
VMXG70PR DATASET PDB.ASUM70GL NOT FOUND because the _LSU70GL
Aug 28, 2018 token instead of macro variable &OUT70GL was used.
Thanks to Jutta Gleixner-Schmid, Allianz, GERMANY.
Change 36.160 MXG 36.07 only. Debugging PUTLOG statements that filled
VMACCIMS the log were disabled.
Aug 27, 2018
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 36.159 DB2STAT2 field QDBPFRAM, Frame Size, in SMF is $EBCDIC2
VMACDB2 with text values of 4K, 1M, 2G, but MXG input QDBPFRAM
Aug 27, 2018 as PIB2 numeric causing wrong values (62151 for 2G).
New QDBPFRAMCH character variable has the 4K/1M/2G text,
and QDBPFRAM remains numeric now with the correct bytes
(for calculations), printing 4K, 1024K, 2048M with the
MGBYTES format.
Thanks to Lori A. Masulis, FMR, USA
Change 36.158 Support for APARs OA55574/OA55609/OA55610 adds new
VMACDCOL variables in dataset DCOLDSET:
Aug 25, 2018 DCDCMPTV='COMPRESSION*TYPE*VALID'?
DCDCTYPE='COMPRESSION*TYPE'
See Change 37.064 for revised change. ICN 1650.
Change 36.157 -Variable FCVSWTTM in CICSTRAN was incorrect, containing
VMAC110 the same value in FCXCWTTM.
Aug 26, 2018 -Variable SMFPSSPN, the Specific APPLID is now kept in the
CICSTRAN dataset.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.156 While these ODS members do work within the limitations of
VMXGODSO their programming, ODS is evolving so quickly and there
VMXGODSC are so many permutations and combinations that they are
TECHNOTE no longer a practical answer for most applications.
Aug 23, 2018 Some MXG GRAFxxxx and ANAL members have ODS parameters,
but you may find it preferable to wrap many reports in a
single ODS package. For example, to run GRAFWRKX+GRAFCEC
and send the results to a single ODS PDF file, use:
ODS LISTING CLOSE; /* always needed on zOS */
OPTIONS ORIENTATION=LANDSCAPE;
ODS GRAPHICS/ WIDTH=10IN HEIGHT=7.5IN;
ODS PDF FILE='D:/MYPDF.PDF' STYLE=MXGSTYLE1;
%GRAFWRKX;
%GRAFCEC;
RUN;
ODS PDF CLOSE;
RUN;
-MXGSTYLE1 was used here because the default style used by
ODS results in bars of solid colors so close together it
can be difficult to tell one bit of the bar from another.
MXGSYLE1 uses brighter colors and patterns to make it
simpler to tell who is on first. MXGSTYLE1 is created
and stored in the FORMATS library by the FORMATS member.
STYLE is just one of many ODS options you may wish to
use which is what makes VMXGODSO/VMXGODSC obsolete.
-Pasted directly from the SAS site to create CSV file:
ods html close;
options obs=15;
ods csvall body='procprintcsvall.csv';
ods markup tagset=chtml body='procprintchtml.html'
(title= 'This Text Identifies Your Content.');
title 'Leading Grain-Producing Countries';
proc print data=grain_production;
run;
ods csvall close;
ods markup tagset=chtml close;
Change 36.155 Support for Z/VM LINUX LNXAPPL Process & summary APL data
EOAPLLXP creates these new datasets:
EXAPLLXF dddddd dataset description
EXAPLLXP APLLXF VXAPLLXF LNXAPPL FILE SYSTEM DATA
EXAPLLXS APLLXS VXAPLLXS LNXAPPL SUMMARY DATA
IMACVMXA APLLXP VXAPLLXP LNXAPPL PROCESS DATA
VMACVMXA -The VXAPLLXP process dataset only outputs a process that
VMXGINIT had non-zero TOTAL_TIME or CTOTAL_TIME; if you want all
Aug 25, 2018 process records to be output, edit member EOAPLLXP into
Sep 13, 2018 your tailoring library and remove the conditional test.
-SAMPTIME and UPTIME are not valid values, investigating.
-Crypto Type 12:CEX6C is now recognized and output in the
VXPRCAPM dataset.
-Dataset VXPRCMFC is now populated for z14, CSVN=5.
-Sep 13: RESID corrected to RESIDENT, comments deleted.
Thanks to Graham Harris, RBS, ENGLAND.
Change 36.154 Support for CMODHEAD=NRXENTRY CMODNAME=NRXDATA optional
IMACAAAA CICS SMF 110 CICSTRAN segment and new NRXENTRY variable.
IMACICWY
UTILEXCL
VMAC110
Aug 18, 2018
Change 36.153 New parameter added that can be used to reverse the
GRAFWLM order of data on the charts produced. GRAFWLM has
GRAFWRKX always produced bar charts with the most important
Aug 24, 2018 work at the top and the least important (discretionary)
at the bottom. Now this parameter HIGHTOLOW (default
is YES, original order) if set to NO reverses the order.
-Old default YES has UNCAPTURED at top and DISCRETIONALY
at bottom, NO reverses that order.
-Some ODS logic was corrected - changed from NE to EQ.
-Some statements reordered for logical ordering
Preceding changes were only in GRAFWLM.
-Only in GRAFWRKX, the default values for width and height
were reduced to 7.5 and 10 inches to eliminate warning
messages that the values were too large.
Thanks to Daniel McKinzie, Zions Bank, USA.
Change 36.152 -New Formats created to decode SMF 106 variables
FORMATS SMF6ACTP MG106CT. SMF6ACTY MG106CD. SMF6ATYP MG106SE.
VMAC106 -TYPE1061 dataset SMF6ASET has character and numeric value
Aug 17, 2018 that are not documented; MXG creates multiple SMF6ASETxx.
-TYPE1062 dataset SMFCMDPM contains two binary fields that
are decoded in SMF6A001/002 variables but seem too large
to be look up tables for parameters.
Thanks to Joe Faska, DTCC, USA.
Change 36.151 Updates from SMF Manual Jul 30, 2018.
FORMATS -Format MG022ET adds values
VMAC42 5='5:COUPLING FACILITY CONTROL UNIT'
VMAC62 6='6:LOGICAL PARTITION ENTRY'
Aug 12, 2018 9='9:PCIE FUNCTION'
-Variables added to TYPE42SR dataset:
S42SCRRU='AVG*RANDREAD*CACHEHIT*RESPTM'
S42SCRSU='AVG*RANDREAD*CACHEHIT*SERVICTM'
-Variables added to TYPE62 dataset:
SMF62IND_2='CATALOG*OR CRA*RECORD?'
SMF62IND_3='VVDS*OR*ICF*RECORD?'
SMF62IND_4='SMS*CLASS*INFO*INCLUDED?'
SMF62IND_5='DATASET*IS*ENCRYPTED?'
Change 36.150 Support for APAR OA54589, OSPROTECT/TRUSTED/NOTRUSTED
BUILD005 adds these new variables to TYPE30_4 and PDB.STEPS:
BUIL3005 SMF30CAS_OA54589_0='SMF30CAS*OA54589*BYTE 0'
VMAC30 SMF30CAS_OA54589_1='SMF30CAS*OA54589*BYTE 1'
Aug 12, 2018 SMF30CAS_OA54589_2='SMF30CAS*OA54589*BYTE 2'
Aug 27, 2018 SMF30CAS_OA54589_3='SMF30CAS*OA54589*BYTE 3'
These variables are created from the bit tests for the
preceding Byte variables listed in the SMF Manual:
SMF30CAS_OSPROTECT='OSPROTECT';
SMF30CAS_UNTRUSTED='UNTRUSTED?'
SMF30CAS_TRUSTED='TRUSTED?'
====== Changes thru 36.149 are in MXG 36.07 dated Aug 8, 2018==========
Change 36.149 One site's IMF data has TRNETIME/TRNSTCKE two hours early
VMACCIMS (STRTTIME,ENDTIME) but TRNCVTTZ (GMT Offset) is zero and
VMXGINIT the site has not responded with their local/GMT times, so
Aug 8, 2018 this may be a temporary circumvention, but macro variable
IMFGMTOFF is created with value of zero and when it was
set &LET IMFGMTOFF=7200; before the %INCLUDE, the times
were correct. This change text will be updated when it
is known why these times, previously always the same time
zone as the ARRVTIME, are now different at this site.
Change 36.148 The combination of a PROC DATASETS with no MT= option and
ANALRMFR with a DELETE statement with a wildcard S: caused QA job
Aug 8, 2018 to fail with WPS because it honored the MT=ALL default to
delete both datasets starting with S, but unexpectedly
also deleted the SASMACR CATALOG dataset, which caused QA
to subsequently fail. But SAS only deleted datasets so QA
did not fail. Since the actual intent was to only delete
datasets, adding MT=DATA to the PROC DATASETS corrected
for both SAS and WPS. However, using MT=ALL with SAS
still only deleted datasets, printing this note:
WORK.SASMACR cannot be deleted because it's in use.
Change 36.147 Support for APAR OA52810 Data Set Encryption in DCOLMIGS
FORMATS dataset, adds new variables:
VMACDCOL
Aug 8, 2018
Thanks to Luc Gielis, KBC, BELGIUM
Change 36.146 -If you are not running MRO or you do not see a reduction
ASUMUOW in the OBS count between CICSTRAN and ASUMUOW on the
MXG NOTE order of 2:1 or better, it may indicate that the use of
Aug 7, 2018 MRO is not significant and it may be that running ASUMUOW
is a waste of resources. ASUMUOW has to sort all of the
CICSTRAN and DB2ACCT and MQ records to be able to merge
everything together and can be very resource intensive.
-If you have DB2 ROLLUPS that data becomes very suspicious
since one DB2 record can represent many transactions and
it is best in that case to not use ASUMUOW with DB2 data
as documented in change 36.107.
-If you find that running ASUMUOW is expensive or that you
are not achieving any serious reduction in OBS in ASUMUOW
dataset using ASUMUOW compared to the OBS in CICSTRAN,
then don't run ASUMUOW: instead, use ASUMCICS to create
the PDB.CICS dataset.
-All of the DB2 CPU time is captured in the CICS records;
only the class 3 wait times/counts are lost, but those
are primarily deep diagnostics, where it may be much
better to run ANALDB2R against the PDB.DB2ACCT dataset
selecting the desired transaction.
Change 36.145 QCMPRES is an AUTOCALL macro and we try to avoid using
ANALDB2R them since they have caused issues in the past. This
MONTHASC change replaces QCMPRES by a %SYFUNC(COMPBL) call to
MONTHBLD compress blanks for safety.
MONTHBL3
MONTHDSK
PRODTEST
PRODTESW
Aug 7, 2018
Change 36.144 -Compare Interval CPU time Captured RMF/SMF/CICS/DB2 with
COMPINTV totals and plots of each system. The ancient program was
Aug 8, 2018 restructured as a macro that can either read SMF data or
extract the data from an existing PDB. Parameters allow
you to limit the scope of the data being analyzed. The
output is a combination of PROC MEANS, TABULATEs, and
SGPLOTs and will show you capture ratios for RMF and SMF
for both CPUs and ZIPs as well as the CPU times from
RMF, SMF, CICS, and DB2.
-See the member for documentation on parameters and
usage.
-Some examples of usage
Read SMF and create reports on half hour intervals
%compintv(compinterval=halfhour);
-Get data from pdb and report on half hour intervals
%compintv(compinterval=halfhour,readsmf=no);
Change 36.143 Support for RSD Folders Version 6.0 Audit Records with
FORMATS INCOMPATIBLE updates. Only version 6.0 is supported, and
VMACRSDA one inconsistent record format is under investigation
Aug 5, 2018 and is not output.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.142 The MXGKEEP= default was incorrectly changed to NO in
VMXGINIT MXG 36.04, but the default MXGKEEP=NO is restored, as
Aug 5, 2018 YES can cause errors if there are INCODE variables.
Change 36.141 zHPF Channel Utilization
MXG Note zHPF was introduced by IBM to reduce channel utilization
Jul 31, 2018 and to improve data transfer performance. At the core,
the difference between zHPF enabled and traditional
FICON channels is the schema employed to transmit
channel programs and data. For traditional CCWs, a
channel program (comprised of multiple CCWs) is
transmitted from the channel to the subsystem in very
small chunks, CCWs and data blocks. Each turn around
increases channel utilization and as the utilization
increases, the acknowledgement coming back from the
subsystem experience delays like Volkswagens driving in
a sea of semis.
What zHPF does is it packs the CCWs and data blocks into
Transmission Control Words, i.e., TCWs. By reducing the
number of turnarounds required to transmit CCWs and data
blocks, the portion of channel utilization resulting
from the turnarounds is reduced. Moreover, by reducing
the number of turnarounds required for data transfer,
the effective data transfer rate is increased.
Finally, your mileage may vary. If your I/O stream
primarily supports VSAM or DB2 datasets, you will see a
lot of difference. If you have a large fraction of
traditional access methods, your level of benefits may
be reduced.
The TYPE73 Channel Busy is the primary indicator of the
benefit of zHPF.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 36.140 New READDB2 parameter SORT102 with SORT102=YES default
READDB2 can be changed to SORT102=NO to suppress the sorting of
Jul 27, 2018 T102Sxxx trace datasets and to suppress VFMT102 execution
that creates $MGDB2DB and $MGDB2OB formats when 105/107
IFCIDS are selected. They are used by ANALDB2R to match
DBID/OBID in trace datasets.
Thanks to Laifai Wong, Bank of America, USA.
Change 36.139 UTILBLDP enhancements and corrections.
UTILBLDP -If you asked for DB2 trace records and specified
Aug 7, 2018 SORTOUT=NO the T102xxxx datasets were still sorted.
-New parameter AUDITAFTER added with a default of NO.
With BUILDPDB=NO, PDBAUDIT is not executed by UTILBLDP.
With BUILDPDB=YES and AUDITAFTER=NO, there is no change:
PDBAUDIT is executed after BUILDPDB but before MXGINCL
and INCLAFTR programs are executed.
With BUILDPDB=YES and AUDITAFTER=YES, PDBAUDIT is now
executed after all of the specified MXGINCL and INCLAFTR
members are executed.
With BUILDPDB=YES and AUDITAFTER=NEVER, PDBAUDIT is not
executed.
-Now if you specify SUPPRESS=ID with BUILDPDB=YES, the
creation of dataset ID and execution of ANALID are
suppressed. Previously this caused an ABEND.
Thanks to Laifai Wong, Bank of America, USA.
Change 36.138 DB2 IFCID 18 dataset T102S018 was misaligned with wrong
VMAC102 input lengths, for both DB2 V12 and V11.
Jul 27, 2018
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.137 -INVALID DATA for variable MICROCODE that MXG input as a
VMACRHEL numeric, is caused by character values '0x3c', so new
Jul 30, 2018 MICROCODECH character variable is created and MICROCODE
is set to a missing value to prevent VARIABLE NOT FOUND
errors.
-WARNING COUNT USER IN DROP/KEEP/RENAME list was printed
if the MXG Default OPTIONS DKROCOND=NOWARN was changed,
but they shouldn't have been in the KEEP list and are now
removed, and PROGNAME has been added to RHELUARG dataset.
-Datasets left in WORK are now deleted.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 36.136 If you want to ABEND when RMFINTRV workload definitions
VMXGRMFI fall thru to OTHER, i.e., a Service or Reporting Class
VMXGINIT was found that was not mapped in your WORK= definitions,
Jul 23, 2018 you can force a user ABEND nnnn using non-zero NNNN in
%LET MXGABNDRMFI=nnnn; in your sysin.
The log will list the first undefined SRVCLASS value.
Thanks to Wayne Bell, UNIGROUP, USA.
Change 36.135 -Support for PowerExchange Version 10 was redesigned as
VMACPOEX some variables should not have been output in some of
Jan 9, 2018 the datasets, and a number of new variables are kept.
Jan 22, 2018 The four CPU times POEXCPUG, CPUC, CPUD, and POEXCPUL:
Jul 20 ,2018 POEXLIST keeps only POEXCPUG and POEXCPUL
POEXCLIE keeps only POEXCPUG and POEXCPUC; the variables
from FILE and DB2 segments are removed as they
were only from the last segment.
POEXDB2 keeps only POEXCPUG and POEXCPUD
POEXFILE has no CPU times.
-New CPU time variables are added to POEXLIST POEXCLIE:
POEXGSID='POWER*CENTER*SESSION*ID'
POEXGMNM='MAP*NAME'
POEXGTCP='CPU*TIME*ON*CP'
POEXGTOT='CPU*TIME*ON*ZIIP'
POEXGTOF='CPU OFFLOAD*ELIGIBLE*ON*CP'
-New DB2 variable added to POEXDB2 dataset:
POEX2QTY='DB2*CONNECTION*02X=CAF*12X=RRSAF'
Thanks to Scott Wiig, US Bank, USA.
Change 36.134 WebSphere SMF 120 subtypes 5 and 6 only output the first
VMAC120 method per bean, but there can be many. The logic was
Jul 20, 2018 corrected and all are now output in TYP120JC/TYP120JI.
Thanks to Nick Varley, SYNCSORT, USA.
Change 36.133 Variable LPARBUSY was not calculated for z14 processor
ASUM113 in dataset PDB.ASUM1131.
Jul 18, 2018
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.132 Support for EOS Version 160 (INCOMPATIBLE) Audit/Account
VMACWSF records. Only the END records (subtype 4 and 20) have
Aug 5, 2018 valid begin and end times and have their GMT times reset
Sep 26, 2018 to local time zone.
Change 36.131 Reading compressed DB2/CICS data with MXGREADSMF=LOGGER
VMACSMF did not invoke the EXITCICS CICSIFUE exit; the &SMFEXIT
Jul 12, 2018 macro variable was not in the LOGGER's INFILE statement.
-If you have compressed CICS or DB2 records and want to
read the LOGGER data, you must use the CICSIFUE INFILE
exit (EXITCICS); the internal MXG decompression code is
not supported for that combination.
Thanks to John Compton, World Programming, ENGLAND.
Change 36.130 Variable NDMUID is now populated from NDMZUID in NDMCT
VMACNDM and NDMFI datasets with the full 64 byte user id.
Jul 12, 2018
Thanks to Amlyn Parry, Barclays, ENGLAND
Thanks to Heimir Hauksson, Barclays, ENGLAND
Change 36.129 SAS Note 61906 reports SAS 9.4 TS1M3 on z/OS might
SAS NOTE experience poor performance in DATA steps, with CPU time
Jul 12, 2018 increase of 40% reported. The issue is fixed in TS1M4
Aug 8, 2018 and later. See http://support.sas.com/kb/61/906.html
A hot fix was planned for TS1M3, note created Feb 28 and
modified Mar 8, 2018; no Hot Fix was created since M4/M5
corrected the poor performance. But Aug 8, 2018 SAS Tech
Support suggested for SAS 9.4 at TS1M3 that using
// EXEC SASPROC,OPTIONS='MSYMTABMAX=20000000'
to increase the size of the macro symbol table from 1M to
19M would and did eliminate the CPU time increase.
Subsequently, Tech Support said using 2M syntax would and
did resolve the problem.
====== Changes thru 36.128 are in MXG 36.06 dated Jul 9, 2018==========
Change 36.128 z/OS SAS 9.4 M2 Note 58492 reports reading tape data sets
SAS NOTE can fail with ERROR: LIBRARY WEEK31 IS NOT A VALID FORMAT
Jul 4, 2018 FOR ACCESS METHOD SASV7SEQ, but that error message is not
correct. The error is not an invalid format, but is a
memory allocation error. SAS 9.4 M2 added support for LBI
(Large Block Interface), which allocates a buffer for
each tape data library below the 16MB line, and a large
number of SAS tape libraries can exhaust that memory
area. Unfortunately, increasing the REGION size does NOT
increase the below the line size. Reducing the number of
tape data libraries can circumvent the error, which is
corrected in SAS 9.4 M4, and there is a Hot Fix for M2
and M3.
Change 36.127 Support for ZERT SMF type 119 subtype 12 creates datasets
EXT11912 DDDDDD Dataset Description
EXT119C1 T11912 TYP11912SUM ZERT 12 SUMMARY
EXT119C2 T119C1 TYP11912TLS ZERT 12 TLS
EXT119C3 T119C2 TYP11912SSH ZERT 12 SSH
EXT119C4 T119C3 TYP11912IPSEC ZERT 12 IPSEC
FORMATS T119C4 TYP11912DN ZERT 12 DISTINGUISHED NAME
IMAC119
VMAC119
VMXGINIT
Jul 3, 2018
Thanks to Rodger Foreman, Black Knight, USA
Thanks to Luis Mendoza, Black Knight, USA
Change 36.126 Variables added to dataset TYPE70:
VMAC7072 SMF70MDL_CBP SMF70MCR_CBP SMF70NCR_CBP SMF70LAC_CBP
Jul 2, 2018 SMF70CPA_ACTUAL_CBP
Change 36.125 Variable SRDGCOMM was replaced by SRDGNAME, but due to
VMACSRDF use of SRDGCOMM in existing reports, both are kept now.
Jun 29, 2018
Thanks to Joe Faska, DTCC, USA.
Change 36.124 SMF 42 Subtype 5 ABEND, more invalid LENSR=560/640.
VMAC42 As reported in Change 36.027, APAR OA54663 corrects.
Jun 29, 2018 MXG circumvention extended to protect these values:
IF LENSR IN(232,240,320,376,400,448,480,560,640)
THEN LENSR=160;
LENSR=376 added Oct 15 in Change 36.124.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.123 Error Documentation: BMC's CMF SMF 74 Subtype 8 SMF74IET
VMAC74 field is incorrect, and causes R748AEBC to be invalid.
Jun 26, 2018 BMC1316 corrects. NO MXG CODE CHANGE.
Change 36.122 Examples in comments for both z/OS and ASCII execution
SAGANAL are revised and enhanced to create HTML output files in
Jun 22, 2018 either a PDSE or in a ZFS File System or ftp to MXG.
Jul 6, 2018 The KEEP CPI: CPU: replaced by specific list of TYPE30_V
Jul 22, 2018 variables, reducing kept from 1533 to the intended 64.
Thanks to Tennie Olson, TIAA,USA.
Change 36.121 If you specified READDB2(IFCIDS=ALL), dataset DB2STATS
READDB2 wasn't created; circumvent with (IFCIDS=ALL STATISTICS).
Jun 16, 2018 MXG 35.03-36.05.
Thanks to Hans Coolen, Allianz Technology, THE NETHERLANDS.
Change 36.120 Support for BVIR History HSM Compression Container V412
EXBVR303 creates new dataset:
FORMATS DDDDDD Dataset Description
VMACBVIR BVR303 BVIR303 HSM COMPRESSION CONTAINER
Jun 16, 2018 and new format MGBVIME decodes Compression Method
Thanks to Bradley Leis, TELUS, CANADA.
====== Changes thru 36.119 are in MXG 36.05 dated Jun 13, 2018==========
Change 36.119 -Formats MG119CI and MG119MA did not decode new values for
FORMATS variables SSH_CIPHER and SSH_MAC in TYP11994 & TYP11995,
VMAC119 and protection for unknown values prints the $HEX4 value.
Jun 13, 2018 -New variable T119RCID='RECORD*ID' added to all datasets.
Change 36.118 Support for TANDEM TMF data creates new TANDTMF dataset.
EXTANTMF DDDDDD DATASET DESCRIPTION
IMACTAND TANTMF TANDTMF TMF TRANSACTION DATA
VMACTAND
VMXGINIT
Jun 11, 2018
Thanks to Kurt Gramling, TSYS, USA.
Change 36.117 SORTBY= is not a valid option for the PMAUD02 trace
ANALDB2R report. If you happened to specify QWHSSSID it worked
Jun 11, 2018 but that was a coincidence. Now produces a message to
tell you and sets SORTBY to QWHSSTCK QWHSSSID.
Change 36.116 STCVSM11 variables NIO and CUB in VSM6 are now bytes so
VMACSTC new variables are created with B added as last character.
Jun 13, 2018 The previous code did not initialize the six calculated
Jun 15, 2018 variables, causing their sum to be greater than the CUB
Jun 22, 2018 and NIO variables; that is corrected.
Jul 2, 2018 -Jun 15: First 36.05. Two Debugging PUTLOGs removed.
-Jun 22: Test to identify VSM6 vs earlier now tests for
VSM6 or ELSE DO; for any other STC11VTS name value.
-Jul 2: Test to identify VSM6 now tests STC11CSP for
values of 1000 or 8000 based on this site's values for
STC11INM to modify that test:
PROC SORT DATA=STCVSM11;
BY STC11CSP;
PROC FREQ;
TABLES STC11CSP*STC11TOL/NOROW NOCOL NOPERCENT;
TITLE STCVSM11 TABULATIONS;
RUN;
PROC FREQ;BY STC11CSP;
TABLES STC11INM*STC11TOL/NOROW NOCOL NOPERCENT;
TITLE STCVSM11 TABULATIONS;
RUN;
PROC MEANS N MIN MAX SUM; BY STC11CSP;RUN;
Thanks to Randy Hewitt, DXC, USA.
Change 36.115 Unused Change Number.
Change 36.114 DB2ACCTR dataset has been misaligned when QLACOFF1 is not
VMACDB2 zero, i.e. if QLACLOCN field is longer than 16 bytes, and
Jun 10, 2018 there is more than one QLAC segment, due to 2 undoc bytes
in the second and subsequent segments, but it was only
INVALID DATA FOR QLACCPUL/QLACDBWT messages that exposed
the error - no user had reported the bad QLACxxxx values,
suggesting DB2ACCTR has not been important nor used!
And those QLAC variables are also kept in DB2ACCT, but
only from the LAST QLAC segment, because originally there
was only one QLAC segment.
Option a: Leave the QLAC variables in DB2ACCT as-is
with this documentation that they are only
from the last segment.
Option b: Set all QLAC variables in DB2ACCT missing
but keep them; dropping existing variables
by MXG is unsafe because it could cause
an ABEND with VARIABLES NOT FOUND if you
have an old report that references then.
I have NOT chosen this option.
Option c: Create macro _DRPQLAC listing all QLAC vars
kept in DB2ACCT so you can add
MACRO _KDB2ACR DROP=_DRPQLAC %
in your IMACKEEP to always drop them from
DB2ACCT, or use you can use
%LET MACKEEP=
MACRO _KDB2ACR DROP=_DRPQLAC % ;
in the //SYSIN of your DB2ACCT create job.
MACRO DRPQLAC is created and available, but
it does not drop QLACLOCN,QLACCNVR due to
references to those variables in others.
Thanks to Scott Wiig, US Bank, USA.
Change 36.113 Incorrect test for GE 526 corrected to GE 538 to input
VMACDB2 QPAC_PIPE_WAIT and QPAC_PIPE_COUNT to correct those two
Jun 5, 2018 variable's values.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.112 Support for Dell EMC Mainframe Enablers 8.30, previously
EXSRDF02 SRDF, Symmetric Remote Data Facility, creates separate
EXSRDF03 datasets for each subtype:
EXSRDF04 DDDDDD DATASET DESCRIPTION
EXSRDF06 SRDF02 SRDFA02 TOLERANCE MODE CHG
EXSRDF07 SRDF03 SRDFA03 ACT CHANGE
EXSRDF08 SRDF04 SRDFA04 SECONDARY DELAY
IMACSRDF SRDFAA SRDFAA REGULAR INTERVAL 05
VMACSRDF SRDF06 SRDFA06 RECULAR MSC INTERVAL
VMXGINIT SRDF07 SRDFA07 WRITE PACING GROUP
Apr 27, 2018 SRDF08 SRDFA08 WRITE PACING DEVICE
Jun 5, 2018
Change 36.111 JCL examples to CPORT/CIMPORT data from WPS to SAS,
JCLCPORT and vice versa on z/OS and ASCII.
Jun 4, 2018
Change 36.110 -S0C7 Abend reading non-Extended Function VSAM dataset in
ADOCRMFV SHOWSP subroutine after Change 36.068 (MXG 36.04 only).
ASMRMFV Extended Function VSAM datasets support striping and
Jun 2, 2018 compression and extended addressability. It is an
attribute of the Data Class. LISTC ENT('dataset') ALL
command will display EXTENDED attribute if file is EF.
-Common RMFV030I and RMFV031I messages now issued for
either EF or non-EF VSAM data sets.
-Documentation Section updated to support the above
changes: Section 12 "Messages"
Thanks to Randy Shumate, RELX Group, USA
Change 36.109 INPUT X $VARYING32000 is very CPU/Elapsed expensive when
TYPENMON the maximum length of the input records is small. Adding
TYPERHEL LENGTH X $1926; reduced 111 CPU seconds to only 40, so a
TYPSNMON _NULL_ data step is added to TYPENMON to find the maximum
TYPSRHEL record length, and the INPUT NMONTEXT $VARYING32000.; is
VMACNMON replaced with this logic, using the _INFILE_ variable:
VMACRHEL LENGTH NMONTEXT $ &NMONLENGTH ;
Jun 5, 2018 NMONTEXT=TRANWRD(_INFILE_,',,',', ,');
It is the actual LENGTH of NMONTEXT that is the major
impact on CPU and Elapsed times, but on z/OS, the LRECL
has some impact, so you need to use an LRECL that is
greater than the MAXNMONLENGTH, printed on the SAS log.
The calculation of the NRWORDSIN that was needed for SAS
V8 and early WPS was revised with added CPU reduction.
The same changes are made for the RHEL/NMON processing.
Steve Bagshaw gets credit for this discovery!
Thanks to Steve Bagshaw, ITMetrics, ENGLAND.
Thanks to Steve McCulloch, TMX, CANADA.
Change 36.108 Support for RACF TOKENs REQTCRE and ADMINCII creates
VMAC80A TOKMADMINCII='TOKEN*ADMINCII'
Jun 1, 2018 TOKMREQTCRE='TOKEN*REQTCRE'
variables in TYPE80TK dataset.
Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.
Change 36.107 If you are using ROLLUPS in DB2 to reduce the volume of
ASUMUOW data then it becomes unlikely that you will get a good
VMXGUOW match between CICSTRAN and DB2ACCT. Further with some
May 31, 2018 of the more recent changes in VMAC110 other than the
class 3 wait times and counts from DB2ACCT there is
not a lot of information added to ASUMUOW from the
DB2ACCT data. To suppress the use of DB2ACCT in your
ASUMUOW invocation all you need to do is to modify the
_LDB2ACC substitution macro to point to _NULL_ as shown
in this code:
%LET MACKEEP=%QUOTE(
MACRO _YESOBS %
MACRO _NOOBS %
MACRO _LDB2ACC _NULL_ %
);
OPTIONS SOURCE SOURCE2;
%INCLUDE SOURCLIB(VMXGUOW);
_NOOBS
OPTIONS NODSNFERR NOVNFERR;
_SUOWCIC /* SORT CICSTRAN DATA */
_SUOWDB2 /* SORT DB2 DATA */
_SUOWMQ /* SORT MQ SERIES DATA */
_SUOWSPN /* CREATE ASUMUOW DATASET */
%VMXGUOW;
_YESOBS
OPTIONS DSNFERR VNFERR;
The new VMXGUOW drops the DB2ACCT variables with the
above suppression, keeping only 99 in the new
PDB.ASUMUOW, previously there were 144.
Only comments were added in ASUMUOW with this example.
Change 36.106 TYPE42DS Encryption variables were INPUT but not KEPT nor
VMAC42 labeled nor formatted:
May 31, 2018 S42AMRIB='S42AMRIB*BYTES*READ'
S42AMWIB='S42AMWIB*BYTES*WRITTEN'
S42AMRBD='READ BYTES*DECRYPTED*OR ELIGIBLE'
S42AMWBE='WRITE BYTES*ENCRYPTED*OR ELIGIBLE'
S42AMRCI='VSAM*CI-S READ OR*PHYSICAL*BLOCKS'
S42AMWCI='VSAM*CI-S WRITTEN*PHYSICAL*BLOCKS'
With the large number of TYPE42DS observations, if you
want to only select datasets with encryption counts:
%LET MACFILE=
%QUOTE(IF ID=42 THEN DO; IF SUBTYPE=6; END; );
%LET MACKEEP=
%QUOTE(
MACRO _ETY42DS
IF S42AMRBD GT 0 OR S42AMWBE GT 0 THEN DO;
OUTPUT _WTY42DS;
END;
% );
%INCLUDE SOURCLIB(TYPE42);RUN;
which will only populate TYPE42DS when bytes GT zero.
Syntax note: The original MACFILE syntax suggested
%LET MACFILE= %QUOTE( IF ID=42 AND SUBTYPE=6; );
is fine for ONLY the TYPE42 program, but if that was
used with BUILDPDB, only the 42.6 would be read, hence
the above, safer selection will pass all other SMF
records in case you want to process other records.
Thanks to David Cogar, Wells Fargo, USA.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.105 Example SYSLOG processing TYPESYSL/TYPSSYSL/VMACSYSL that
TYPESYSL was added in 34.04 renamed TYPESYSX/TYPSSYSX/VMACSYSX due
May 24, 2018 to conflict with TYPESYSL dataset created by TYPETMNT.
Change 36.104 z/OS 2.4 SMF 30 enhancement adds these fields:
VMAC30 SMF30TIH='HWM*TIOT SPACE*USED'
Jun 11, 2018 SMF30TIS='AVAILABLE*TIOT*SPACE FOR*ENTRIES'
SMF30TIU='CURRENT*TIOT*SPACE*USED'
ICN 1634 May 23, 2018.
Change 36.103 Format MGSTCCS for variable STC11CSP in STCVSM11 dataset
FORMATS has new value '8000'x='8000X:VSM6 FICON CHANNEL'.
May 23, 2018
Thanks to Randy Hewitt, DXC, USA.
Change 36.102 DB2 V11 APARS PI71903,PI84045,PI82755 added offsets _SC,
VMAC102 _PR, _INC, and _SQL to populate those fields that were
May 22, 2018 previously only in DB2 V12. MXG test changed to GE 11.1.
The timestamp variable QW0376TS in old data was invalid
(e.g. '1A6CE0BD12FCB083'x, a date in 1914!) and was set
to a missing value; now whatever is there is input so it
may still be incorrect.
Thanks to Joachim Sarkoschits, DATEV, GERMANY.
Change 36.101 Support for NDM-CDI OP (Operator Clist Record) creates
EXNDMOP NDMOP dataset.
VMACNDM
VMXGINIT
May 21, 2018
Thanks to Michael Oujesky, DTCC, USA.
Change 36.100 ACF2 Version 6.2 circumvention in Change 36.075 exposed
VMACACF2 another STOPOVER as LENLEFT was not correctly calculated.
May 23, 2018
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Mohammed Naseer, Lowe's USA.
Change 36.099 Support for RACF TOKDANAM IBMLABEL creates new TOKLABEL
VMAC80A variable in TYPE80TK dataset.
May 23, 2018
Thanks to Coen Wessels, IBM, GERMANY
Change 36.098 Format MGMOCTY, used for Information Builder's FOCUS,
FORMATS has two new values for BEGIN and END. Only FORMAT was
VMACFOCU changed, no change was made to VMACFOUU.
May 17, 2018
Thanks to Tim Hare, Hare Systems, USA.
Change 36.097 The default triplet length for CICS/TS 5.2 to detect and
VMAC110 report there are excluded fields is corrected to 365/3260
May 14, 2018 from 373/3356 (which had included optional fields).
Thanks to Paul Maradin, DXC, USA
Thanks to Larry McCulley, DXC, USA
Change 36.096 Line seven should have two periods, &PDBMXG..ACF2AR.
ANALACF2
May 14, 2018
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.095 The %LET MXGABND=nnnn; option to abend instead of error
VMACBBMQ is added to the BBMQ processing. See Change 21.384.
May 11, 2018
Change 36.095 New 4-digit example format in tailoring IMACSMFF fails on
IMACSMFF WPS Version 4, under investigation, but add the comments
May 9, 2018 as shown here to circumvent:
/* COMMENT OUT - DEFAULT BREAKS WPS V4
'2047.000'='2047.000:MAX VALUE AND LABEL NO SUBTY'
'2047.001'='2047.001:MAX VALUE LABEL WITH SUBTYPE'
END COMMENT */
The default IMACSMFF is always executed when SMF is read.
Change 36.094 MXG 35.12-36.04. If you use IMACFMTS to add your site's
FORMATS own FORMATs, the RUN; statement in member FORMATS after
Apr 10, 2018 the VALUE $MGRMVOS statement should NOT have been added.
Thanks to Robert Debartolo, Cognizant, USA.
Change 36.093 CICS Dispatcher Statistics CICDS dataset, DSGTMADQ was
VMAC110 too large; field is now input &PIB.4.2 with two decimals.
Apr 9, 2018
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.092 ACCTSORT=NO was not working as advertised. The datasets
READDB2 ended up in WORK rather than PDBOUT.
Apr 9, 2018
====== Changes thru 36.091 are in MXG 36.04 dated May 8, 2018==========
Change 36.091 If DB2ACCT existed but had 0 OBS input was set to _NULL_
VMXGUOW resulting in many UNITIALIZED variable messages. VMXGUOW
May 7, 2018 now checks only for the existence of the dataset and if
it does not exist sets it to _NULL_.
Change 36.090 If you tailored IMACDB2 to redefine MACRO _Lxxxxxx's and
ANALDB2R you specified only a single level name, so those datasets
May 3, 2018 are written to WORK, and did not specify a PDBOUT,
you could get this syntax error
ERROR: THE FUNCTION COMPBL REFERENCED BY THE %SYSFUNC
OF %QSYSFUNC MACRO FUNCTION HAS TOO FEW ARGUMENTS.
due to incorrect logic, now corrected, in ANALDB2R.
Originally posted to MXG-L as possible issue with SAS
V9.3 to V9.4 migration, the thread was updated/corrected.
Change 31.104, MXG 31.03, May 2013, created the exposure;
the user's good run was with MXG 31.01.
Thanks to Dennis Longnecker, State of Washington Courts, USA.
Change 36.089 APAR OA54884 for z/OS 2.3 ONLY reports very high I/O EXCP
DOCUMENT counts in EXCPTOTL (Address Space Total, SMF30TEX) that
May 1, 2018 was observed in the MASTER address space, but could occur
in any address space.
Change 36.088 SAS Note 51008 Java versions 1.6/1.7/1.8 can cause errors
DOCUMENT ERROR: The Java proxy could not create a new xxxxxxxx.
May 1, 2018 ERROR: shmag() failed in Java extension rc -1 errno 124
ERROR: Unable to attach current thread.
on z/OS. That Note the circumvention is to add this line
JREOPTIONS=(
-Djava.lang.ClassLoader.lazyInitialization=false)
to your SASHLQ.CONFIG(SITE) configuration PDS member.
SAS Support reported SAS does not support Java 8 yet;
see also SAS Note 51195.
Change 36.087 Unused Change Number.
Change 36.086 DCOLLECT Encryption Variables are now kept in DCOLDSET:
VMACDCOL indicates if the LCU contains at least one FICON channel.
Apr 24, 2018 DCDTYPE ='ENCRYPTION*TYPE'
May 20, 2019 DCDKLBL ='ENCRYPTION*KEY*LABEL'
The IBM Documentation does not provide DCDTYPE values to
decode. These fields were added by z/OS 2.3.
-Unfortunately, DCDTYPE was changed from CHAR to NUM in
this change, which will cause ERROR BOTH CHAR AND NUM
if you merge PDBs built with this change with earlier
PDBs. You can use MACRO _KDCODSN DROP=DCDTYPE= % in
your SYSIN in your TYPEDCOL job to eliminate the conflict
to circumvent this badly designed change. May 20/2019.
Thanks to Mike Creech, Black Knight, USA.
Thanks to Robert Hamilton, Fifth Third Bank, USA.
Change 36.085 Variable IOPDSTX is now kept in TYPE78IO dataset; bit 1
VMAC78 indicates if the LCU contains at least one FICON channel.
Apr 24, 2018
Thanks to Lane Thorne, Honda of America Manufacturing, USA.
Change 36.084 Dataset STCVSM11 variables added by Change 34.237 were
VMACSTC incorrectly labeled and inconsistent, now corrected:
Apr 23, 2018 STC11NHR='HOST*INTERFACE*I/OS'
STC11NHW='HOST*INTERFACE*CUBUSY*DURATION'
STC11NRR='REMOTE*INTERFACE*I/OS'
STC11NRW='REMOTE*INTERFACE*CUBUSY*DURATION'
STC11NIR='IP*INTERFACE*I/OS'
STC11NIW='IP*INTERFACE*CUBUSY*DURATION'
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.083 EXPDBINC EXPDBVAR EXPDBCDE can now be used with UTILBLDP
UTILBLDP and BUILDPDB=NO so you can create your own custom dataset
Apr 27, 2018 with control of variables, etc. This example creates the
PDB.SMFHEADER dataset with four variables kept from every
SMF header:
%UTILBLDP(USERADD=ID 118,BUILDPDB=NO,
EXPDBVAR=PDB.SMFHEADER
(KEEP=SYSTEM SMFTIME ID SUBTYPE),
EXPDBCDE=OUTPUT PDB.SMFHEADER;,
OUTFILE=INSTREAM
);
%INCLUDE INSTREAM;
-Unrelated, unprintable '08'x character introduced 35.09
is removed.
Thanks to Randy Hewitt, DXC, USA.
Change 36.082 Correction for DB2 BPHITRAT variable to replace the sum
VMACDB2 of RIO/SPP/DPP/LPP with DIO/LIO/RIO/SIO.
Apr 19, 2018
Change 36.081 Support for four-digit SMF Record Type ID (MAX 2047) for
ANALID the ANALID report.
FORMATS -Format $MGSMFID text shifted one byte to the right; a few
IMACSMFF record descriptions lost 1 character to keep 37 maximum.
VMACID -VMACID,VMACSMF formats are now SMFIDSUB $8. SMFIDCH $4.
VMACSMF increasing the LENGTH of those variables by one byte,
Apr 23, 2018 format 7.3 references are changed to 8.4 for IDANDSUB.
Apr 27, 2018 -Unfortunately, if you have used IMACSMFF to label your
user SMF Record Descriptions, you will need to replicate
all and insert a blank at the beginning of each existing
3-character record type, to match the new example in that
IMACSMFF member:
'2047.001'='2047.001:MAX POSSIBLE VALUE AND LABEL'
-One line summary report with total records and bytes and
the time range of the input SMF file is added.
Change 36.080 VMXGGETM utility accepts SMF selection syntax nnnn.mmm
VMXGGETM where nnnn is the SMF Record Type (max is now 2047) and
Apr 18, 2018 where mmm is the subtype. VMXGGETM creates an output SMF
file with example records of each selected type.
Change 36.079 -Support for new SMF 119 subtypes 24, 38, 39, 40, and 45.
EXT11924 creates these new datasets:
EXT11938 dddddd Dataset Description
EXT11939 T11924 TYP11924 TNPROFILE
EXT11940 T11938 TYP11938 SmcdLnkStats
EXT11945 T11939 TYP11939 SmcdLnkStart
IMAC119 T11940 TYP11940 SmcdLnkEnd
VMAC119 T11945 TYP11945 IsmStats
VMXGINIT Untested with data.
Apr 18, 2018 -New BitRate variables added to TYP11906 dataset:
Apr 26, 2018 IFINBITRT='INBOUND*BITS PER*SECOND'
IFOUBITRT='OUTBOUND*BITS PER*SECOND'
IFBITRATE='TOTAL*BITS PER*SECOND'
-CO:Z subtypes 192 and 193 are validated with data.
Change 36.078 z/OS, SAS 9.4 M3 with IBM DFSORT, ABEND 0C4 in SASVZSR1,
CONFIGxx when sorting a large dataset. SAS notes 57676 and 58629
Apr 17, 2018 circumvent the error with these options
// EXEC MXGSAS94,OPTIONS='SORTBLKMODE SORTBLKREC=5000'
which could alternately be specified in your CONFIGxx,
but SORTBLKMODE has been the SAS Default for years. The
SORTBLKREC option is not yet documented by SAS.
http://support.sas.com/kb/57676
http://support.sas.com/kb/58629
This is documentation only, no code was changed.
Change 36.077 With a BY statement in your VMXGSUM INCODE, there is no
VMXGSUM guarantee that the data order will be correct, and if you
Apr 14, 2018 also %LET MXGSUMCLASS=YES or CLASSNWAY to YES, the data
May 8, 2018 step may fail. VMXGSUM now looks at the first word in the
INCODE= and if it is BY sets CLASSNWAY to NO.
Change 36.076 CICS Statistics Dispatcher CICDS dataset set DSGTWT to
VMAC110 DURATM when DSGTWT was greater (Change 35.264), but that
Apr 14, 2018 should only have been done for SMFSTRQT='INT' as DURATM
doesn't exist in the 'REQ', 'USS', nor 'EOD' records.
Thanks to Paul Volpi, UHC, USA.
Change 36.075 ACF2 INVALID SMF RECORD, ACSMFREL=0 VS 6.2, ERRRORABEND.
VMACACF2 MXG tests for the last release, 6.2, but new ACF2 record
Apr 14, 2018 has '00'x instead of '62'x in byte 119, causing MXG test
for 6.2 to fail. This change forces ACSMFREL=6.2 if it
is zero for this INCOMPATIBLE CHANGE to the ACF2 record.
The CA fix is PI24126 and a reassembly of DMGSMF exit.
Thanks to Michael K Yuan, Navy Federal Credit Union, USA.
Change 36.074 -Variables BETALOG in BETA50 and B97LOG in BETA9750 were
VMACBETA reversed, OFF was ON and ON was OFF, bit test corrected.
VMACBE97 -TYPEBE97 subtype 31 revised: like TYPEBETA, there can be
Apr 17, 2018 an R1 and R2 value for each FIELDNAME, but TYPEBETA PUT
May 15, 2018 the text value into a character variable for R1 and R2,
but those values were then difficult to test. TYPEBE97
instead creates nine pair of variables with true values
(like Dates, Times, HEX, etc).
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 36.073 Support for z14 ZR1 adds new variable to TYPE70 dataset:
VMAC7072 SMF70MAXPU='CORES*PHYSICALLY*AVAILABLE*THIS MODEL'
Apr 12, 2018
Change 36.072 Variables now INPUT for TYPE99_6 subtype 6 dataset:
VMAC99 PSERV ='SERVICE*DURING*INTERVAL'
Apr 12, 2018 PISERV ='ZAAP*SERVICE*DURING*INTERVAL'
PSSERV ='ZIIP*SERVICE*DURING*INTERVAL'
TIME_AT_PDP_USING='TIME AT*PDP USING*SAMPLES'
TIME_AT_PDP ='TIME AT*PDP*ACCUMULATOR'
PCT_USING_PDP ='PCT*TIME*USING*SAMPLES'
SMF996_FLAGS ='SMF996_FLAGS'
EWLM_LOCAL_PI ='EWLM*LOCAL*PI'
EWLM_GLOBAL_PI ='EWLM*GLOBAL*PI'
SMF996EWLM ='EWLM*MANAGED?'
SMF996IOPR ='I/O*PRIORITY?'
SMF996INEL ='ZIP*INELIGIBLE?'
SMF99_NUM_EXT_SC='EXTERNAL*SERVICE*CLASSES'
Thanks to Randall Schlueter, First Data, USA.
Change 36.071 IAM User SMF INPUT STATEMENT EXCEEDED because unexpected
VMACIAM short segment lengths IAMIAINL=148 (MXG expected 204) and
Apr 8, 2018 IAMIASTL=148 (MXG Expected 204) were encountered, and now
protected for these IAM 9.2 records.
Thanks to Paul Naddeo, FISERV, USA.
Change 36.070 VMXGDUR rejected INTERVAL=THREEHOUR but the warning
VMXGDUR message said that was correct. It was looking for THREEHR
Apr 8, 2018 but will now accept THREEHOUR, EIGHTHOUR, or TWELVEHOUR.
Change 36.069 Dataset CICSTRAN variables DURATM and DSGTWT were missing
VMXGCICI values in CICS Statistics SMFSTREQ='USS','REQ',or 'EOD'
Apr 6, 2018 records as the DURATM only exists in the 'INT' records.
But using the DIF(COLLTIME) a pseudo DURATM is created
and used to populate/correct DSGTWT and DURATM.
Change 36.068 -Two new enhancements.
ADOCRMFV -A new RMFBSAM record with an MXG01 id is now output
ASMRMFV for every successfully processed RMF III VSAM data set.
VMACRMFV VSAM attributes and statistics are included as well as
Apr 6, 2018 many ASMRMFV statistics and counters, and the record is
May 5, 2018 output in new dataset ZRBAS1.
May 9, 2018 -Between the existing MXG00 record and the new MXG01
record nearly all information on an ASMRMFV log is
captured. The MXG01 data becomes the ZRBASMDS (?) data
set in the result PDB.
-MXG01 records are only created for RMF III VSAM data sets
that open and close successfully. There are no MXG01
records generated for:
Empty VSAM data sets (VSAM considers this an error)
VSAM data sets that are not an RRDS type
VSAM data with an invalid CISIZE for RMF III data
VSAM data with an invalid LRECL for RMF III data
Non-VSAM data sets
The above conditions have been flagged in the ASMRMFV
Log for a long time.
-Two new parameters UPCASE/NOUPCASE control the handling
of values assigned in keyword=value usage.
-UPCASE (alias UC) is the default and provides the same
behavior as in prior ASMRMFV versions which force all
PARM and SYSIN (or alternative) input data to upper case
internally.
-NOUPCASE (alias NOUC) is the default and does not alter
any values assigned to a keyword. And thus lower case
values can be assigned to a keyword.
-However, for most (if not all) data filters currently
supported by ASMRMFV only upper case values are accepted.
For example, Sysplex Ids, System Ids, Job Names, Job
Classes, and so on are all required by IBM syntax rules
to be in upper case. Lower case values are flagged as
errors by ASMRMFV validation routines.
-NOUPCASE is a feature primarily intended for future
filtering enhancements where lower case values could
be accepted.
-NOINDEXES and/or NOSPACE parameters might not work
correctly in all situations and this has been corrected.
Messages were not always suppressed when they should
have been.
-Message RMFV105I produced for ASMRMFV Detail and
Summary reports now shows the full 5 character RMF III
table id instead of just the first 3 characters. This
change was needed to distinguish MXG00 and MXG01 output
record statistics.
-Minor changes to messages RMFV037I, RMFV041I, RMFV051*
(*= S,E,W,I), and RMFV106W.
-Several documentation Sections are updated to support
the above changes:
Section 5 "Input Data Selection Parameters"
Section 12 "Messages"
Section 31 "Summary"
Section 32 "Bibliography"
Change 36.067 z/OS, MXG's default CAPSOUT option causes lower case text
CONFIGxx to be upper cased, but MXG recommends NOCAPSOUT for ODS,
Apr 5, 2018 and the SAS default on z/OS is NOCAPSOUT. I don't know
why I changed the SAS default years ago, but "CAPSOUT" is
removed from all of the example MXG CONFIGxx members, so
your site's default value will be used.
Change 36.066 Support for "IBM Developer for z Systems IDZ" SMF 122
EXTY122A subtype 1 record creates new dataset TYPE122A. TYPE122A
IMAC122A is used because there is a TYPE122 record (that is/was?)
TYPE122A previously written by Tivoli Allocation. The Product Name
TYPS122A The Product Name field contains 'C2AE'x before and after
VMAC122A the name, where 'AE'x is the ASCII registered copyright
VMXGINIT symbol, but 'C2'x is a Danish A with a ring above! Both
Apr 4, 2018 are printed on ASCII SAS, but both are blank on z/OS, and
on z/OS lower case characters are converted to upper case
by the $ASCIIn. INFORMAT.
Thanks to Tory Lepak, Aetna, USA.
Change 36.065 AS400 7.3 QAPMDISK new fields below are now documented
VMACQACS and are added to QAPMDISK dataset, transparently.
Apr 3, 2018 MXG created the PCTCLEAN and DSFSMAPBY variables:
DSFSMAPSZ ='FREE SPACE*MAP 4K*PAGES*COUNT'
DSFSCLEAN ='CLEAN*4K PAGES*FREE SPACE*COUNT'
DSFSCLEAN0='LEVEL 0*CLEAN BLOCKS*PAGES 1-7'
DSFSCLEAN1='LEVEL 1*CLEAN BLOCKS*PAGES 8'
DSFSCLEAN2='LEVEL 2*CLEAN BLOCKS*PAGES 16'
DSFSCLEAN3='LEVEL 3*CLEAN BLOCKS*PAGES 32'
DSFSCLEAN4='LEVEL 4*CLEAN BLOCKS*PAGES 64'
DSFSCLEAN5='LEVEL 5*CLEAN BLOCKS*PAGES 128'
DSFSCLEAN6='LEVEL 6*CLEAN BLOCKS*PAGES 156'
DSFSFRAGIX='FREE SPACE FRAGMENTATION INDEX'
DSFSDIRTY ='DIRTY*4K PAGES*FREE SPACE*COUNT'
DSFSDIRTY0='LEVEL 0*DIRTY BLOCKS*PAGES 1-7'
DSFSDIRTY1='LEVEL 1*DIRTY BLOCKS*PAGES 8'
DSFSDIRTY2='LEVEL 2*DIRTY BLOCKS*PAGES 16'
DSFSDIRTY3='LEVEL 3*DIRTY BLOCKS*PAGES 32'
DSFSDIRTY4='LEVEL 4*DIRTY BLOCKS*PAGES 64'
DSFSDIRTY5='LEVEL 5*DIRTY BLOCKS*PAGES 128'
DSFSDIRTY6='LEVEL 6*DIRTY BLOCKS*PAGES 256'
PCTCLEAN='PERCENT*CLEAN*PAGES IN*FREE SPACE'
DSFSMAPBY='FREE*SPACE*SIZE*MGBYTES'
====== Changes thru 36.064 are in MXG 36.03 dated Apr 2, 2018=========
Change 36.064 All updates in the Jan, 2018, SMF Manual are included in
SMF MANUAL MXG Version 36.03, except new SMF 122, which is not in
Mar 30, 2018 that SMF Manual.
Change 36.063 DB2 V9 ONLY, zero obs in DB2STATB and other statistics
VMACDB2 datasets listed in Change 35.299, which revised deaccum
Mar 29, 2018 logic and expected one minute statistics intervals, but
that IBM Change to force the DB2 Statistics Interval to
one minute wasn't introduced until DB2 Version 10!
Thanks to Don Blaszka, Wipro Limited, USA.
Change 36.062 Further VXBYUSR logic revised to use only 2 decimals for
VMACVMXA all _MT1 DIF() functions; these data have only two digit
Apr 1, 2018 time resolution, but the divide by 4096 produced false
digits in 3rd and 4th place that, coupled with these
very large 2-complement numbers, cause MXG to falsely
detect a break in deaccumulation. See also 36.052.
Change 36.061 Invalid SYTNLPS value in SYTCUP records prevented their
VMACXAM output; pending Velocity fix, SYTNLPS=(SEGLEN-28)/20; is
Mar 20, 2018 used to calculate the actual number of segments.
Change 36.060 Support for BMC Extended Buffer Manager XBM SMF Record.
EXXBMDS -The Data Set Statistics Record can have seven OIDs:
EXXBMCA OID Variables Segment
EXXBMCC 113 xbmDSSnn Dataset Statistics
EXXBMCE 113 xbmSDSnn Snapshot Data Set Statistics
EXXBMCS 154 xbmDB2nn DB2 Statistics
IMACXBM 158 xbmSUSnn Snapshot Utilities Statistics
TYPEXBM 199 xbmVSAnn VSAM Statistics
TYPSXBM 272 xbmEPSnn Extended Prefetch Statistics
VMACXBM 242 xbmIMSnn IMS Statistics
VMXGINIT and all seven segments are output in XBMDSET dataset.
Mar 21, 2018 DDDDDD Dataset Description
Sep 9, 2020 XBMDS XBMDSET XBM Data Set Record
(Only the first four OID's have been data-validated).
-The Cache Statistics Record can have four OIDs,
1 xbmCSSnn Configuration Start Section
2 xbmCEEnn Configuration End/Stop Section
3 xbmCCCnn Configuration Change Statistics
106 xbmCACnn Cache Statistics Section
and each is output in a separate dataset:
DDDDDD Dataset Description
XBMCA XBMCACHE XBM Cache Record
XBMCS XBMCSTRT XBM Configuration Start
XBMCE XBMCEND XBM Configuration End
XBMCC XBMCHG XBM Configuration Change
-Sep 9 2020: Apparently unused, KEEP list was wrong.
Thanks to Flavio Lima, MetLife, USA.
Change 36.059 -If you specified USERADD=ID a CHAR OPERAND FOUND IN %EVAL
UTILBLDP error indicated that a numeric was needed, which was due
Mar 21, 2018 to the compiler interpreting %STR(/VIEW=ID) as a formula.
Resolved by using %QUOTE rather than %STR, like the other
references in UTILBLDP.
-The SMF AUDIT report was not being produced, now is.
Change 36.058 Missing %END in PMAUD02 corrected and BEGTIME and ENDTIME
ANALDB2R parameters enabled for MXGDB2B1 report. MXG 36.02 only,
Mar 23, 2018 introduced by Change 36.048.
Thanks to Randy Hewitt, DXC, USA.
Change 36.057 Support for z/OS 2.3 RMF Changes (SHARE Sacramento 2018):
EXTY748S -Support for APAR OA53411 for more than 65535 devices adds
FORMATS SMF74SMF bit and populates existing SMF74LSN with a flag
IMAC74 when multiple logical SMF records were created, but these
VMAC7072 variables are not kept, and don't impact MXG's reading of
VMAC74 the individual physical SMF records; the variables are
VMXGINIT available in the EXTY74 exit, if ever of interest.
Mar 26, 2018 -Support for APAR OA50760 72.3/4, was in Change 35.125.
-Support for APAR OA50761 74.10, was in Change 35.273.
-Support for APAR OA52694 72.3 TYPE72TR+ in Change 36.050.
-Support for APAR OA50762 74.9 new bit existing R749FLAG.
-Support for APAR OA50693 70.2 CEX6C/CEX6A/CEX6P Crypto
updated $MGRMFCX/$MGRMFCY/MGRMFCZ formats.
-Support for APAR OA50755 74.1 was in Change 35.193.
-Support for APAR OA50755 74.9 was in Change 35.146.
-Support for APAR OA53411 adds 74.5 vars to TYPE74CA.
R7451SRR='SYNC I/O*CACHE*READ*REQUESTS'
R7451SRH='SYNC I/O*CACHE*READ*HITS'
R7451SWR='SYNC I/O*CACHE*READ*REQUESTS'
R7451SWH='SYNC I/O*CACHE*READ*HITSS'
-Support for APAR OA53411 74.8 adds new Synchronous I/O
Link Statistics Segment that creates new TYPE748S data
set with these variables:
R748SIID='SYNC*I/O*INTERFACE*ID'
R748STYP='SYNC*I/O*LINK*TYPE'
R748SSPD='SYNC*I/O*LINK*SPEED'
R748SWDH='SYNC*I/O*LINK WIDTH*LANES'
R748SSTE='SYNC*I/O*LINK*STATE'
R7451INC='BYTES*TIME*INDETERMINABLE'
R748SCBR='SYNC I/o*CACHE*BYTES*READ'
R748SCro='SYNC I/o*CACHE*READ*OPERATIONS'
R748SCRS='SUCCESSFUL*CACHE*READ*OPERATIONS'
R748SCRT='SYNC I/o*CACHE*READ*TIME'
R748SCBW='SYNC I/o*CACHE*BYTES*WRITE'
R748SCWO='SYNC I/o*CACHE*WRITE*OPERATIONS'
R748SCWS='SUCCESSFUL*CACHE*WRITE*OPERATIONS'
R748SNBW='SYNC I/O*CACHE*WRITE*TIME'
R748SNWO='NVS*BYTES*WRITTEN'
R748SNWS='NVS*WRITE*OPERATIONS'
R748SNWT='NVS*WRITE*TIME'
-Support for APAR OA51913, z14 physical core addresses
greater than 191, was protected in MXG 31.04, which
supports the maximum possible value of 255, even though
z/OS doesn't even support 191.
-Support for Jan 2018 SMF Manual and APAR OA52003 that
added these variables to TYPE74ST Structure dataset:
R744SIAD R744SADN R744SIXC R744SXSC R744SXST R744SXSQ
R744SADO R744SADR R744SQCH R744SXFL R744SWDR R744SWAC
R744SRDR R744SRAC R744SWEC R744SREC R744SWED R744SWES
R744SRED R744SRES
R744SIAD R744SADN R744SIXC R744SXSC R744SSXT R744SXSQ
R744SADR R744SQCH R744SXFL
R744SWDR R744SWAC R744SRDR R744SRAC R744SWEC R744SREC
R744SWED R744SWES R744SRED R744SRES
-Support for Jan 2018 SMF Manual which added to TYPE74DU:
R744RSST R744RIDP R744RCPI R744RCPN R744RSGS R744RSA1
R744RSA2 R744RSA3 R744RSA4 R744RSA5 R744RSA6 R744RSA7
R744RSA8 R744RSID R744RSC R744RAMC R744RAMS R744RAMS
R744RAMP R744RAMN
Change 36.056 zHyperwrite enables DB2 to perform parallel log writes to
VMAC74 PPRC primary and secondary volumes, but they are the same
VMAC79 4-hex-digit DEVNR, and because they can be concurrently
Mar 15, 2018 active, RMF Reports now display 5-hex-digit DEVNR, with
the first nybble containing the SubChannel ID, 'sdddd'X,
where the SubChannel ID is 0,1,2 or 3. No change was made
to the SMF 74/79 records, as the SubChannel ID is already
in those records, and the 5-hex-digit display is only in
RMF reports/data: they won't exist in other SMF records.
MXG variable DEVNR5HEX is created in TYPE74, TYPE74CA,
TYPE748 and TYPE796 as DEVNR5HEX=65536*SMF74SCS+DEVNR
with FORMAT DEVNR5HEX HEX5. format.
Change 36.055 New TYPE8231 dataset was misaligned and the VMXGINIT for
VMAC82 _WTY8231 thru _WTY8247 was corrected to write to WORK
VMXGINIT rather than to PDB.
Mar 13, 2018 -Mar 20: Invalid Subtype 31 with only 4 bytes for 0203 TAG
Mar 20, 2018 encountered, circumvented, and reported to IBM.
Apr 12, 2018 -Apr 12: MXG's problem was that the SMF82_TRIPL_LENGTH
field was presumed to be the length following it, but it
was 8 with when 4 bytes remained, so I presumed there was
truncated data for the TAG 0203 segment. IBM Support
responded with a very detailed decoding of the record
with their utility that matched MXG's values, concluding:
"To sum up, the length of 08 that you are referencing
does not mean that 8 bytes will follow. It means the
length in the record is composed of the length of the
data item (4 bytes) plus the length of the tag and
size info (another 4 bytes)."
While TAGs have different lengths, since each TAG's
length is fixed, MXG did not need to use that field,
so no MXG code change was required, and no data was
truncated.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Thanks to David A. Hilliard, IBM Support, GERMANY.
Change 36.054 A missing paren caused BLDSMPDB to fail, and %macro
BLDSMPDB &PDBPATH was not initialized in PDBAUDIT. BLDSMPDB only
PDBAUDIT failed when MTD was used which then caused SAS to set
Mar 13, 2018 OBS=0 and caused PROC SQLs in PDBAUDIT to then fail.
PDBAUDIT is now protected for the 0 OBS case
Thanks to Harold Zbiegien, American Greetings, USA.
Change 36.053 INTBTIME and INTETIME variables are now all DATETIME25.6
BUIL3005 formatted, even though only those INPUT with TODSTAMP8
BUILD005 will have all six decimals populated, SMFSTAMP informat
SMFINTRV only has 2 decimals. INTETIME in SMF 91 with TODSTAMP8
VMAC30 informat forced the format change, since you can't have
VMAC91 different formats for the same variable name in datasets
Mar 8, 2018 created in the same DATA step.
Thanks to Randy Hewitt, DXC, USA.
Change 36.052 Revision to z/VM VXBYUSR logic to correct large values
VMACVMXA in many deaccumulated durations when there were multiple
Mar 7, 2018 logon values in CALTODON for the same user, and/or when
a guest has been relocated. Logic to recalculate DELTATM
from HFRATE*HFQCNT was causing output of first instances,
so it was removed. A heuristic was added to test that
the record DELTATM was not more than 2*INTERVAL since
that also detects a return of a relocate to delete.
See Change 36.062.
Thanks to Graham Harris, RBS, ENGLAND.
Change 36.051 Support for AS/400 Version 7.3 Collection Services.
VMACQACS -New GDES fields added to QAPMCONF dataset for keys
Mar 7, 2018 FL PM TY TZ T1 T2 T3 T4 U1 U2 U3 U4 XS
Mar 16, 2018 -New DATETIMECH,UTCTIMECH 26-character datetimes and
Mar 23, 2018 DSQUEOPS counter added to QAPMDISK record, which now
Mar 26, 2018 has LRECL=751 (YOU MUST SET IN YOUR JCL/FILENAME).
See change 36.065.
The 26 character format is YYYY-MM-DD-HH.MI.SS.999999
====== Changes thru 36.050 are in MXG 36.02 dated Mar 5, 2018=========
Change 36.050 TYPE72GO variables R723CPA_ACTUAL and R723CPA_SCALING
VMAC7072 added by APAR OA52694, were trashed because they were
Mar 2, 2018 input when they shouldn't have been; the test for INPUT
Mar 6, 2018 should have been GE 276 instead of repeated GE 268.
Mar 6: New variable ORG70CPA was added to TYPE70 and
TYPE70PR, but the label statement had OGT70CPA causing
a harmless UNINIT variable message on the log.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 36.049 Change 35.200 left off the trailing / or ] on the
VGETALOC directory names if you did not supply it and it could
Mar 2, 2018 result in no allocations and a failure of a following
VMXGSET. Now if we don't find the / or \ we supply it.
Thanks to Richard Krueger, Sentry, USA.
Change 36.048 For PMAUD02 report SORTBY use is restored, but the first
ANALDB2R variable in the list must be QWHSSSID, and variables not
Mar 2, 2018 in the below list will terminate with error messages.
The default values are QWHSSSID QWHSSTCK; if that first
variable is not DB2 or QWHSSSID, QWHSSSID is inserted.
Allowed variables are:
DB2 - THE DB2 SUBSYSTEM ID
PLAN - THE DB2 PLAN NAME
AUTHID - THE AUTHORIZATION ID
CONNID - THE CONNECTION ID
CONNTYPE - THE CONNECTION TYPE
CORRID - THE CORRELATION ID
QWHSSSID - THE DB2 SUBSYSTEM ID
QWHCPLAN - THE DB2 PLAN NAME
QWHCAID - THE AUTHORIZATION ID
QWHCOPID - THE ORIGINAL AUTHORIZATION ID
QWHCCN - THE CONNECTION ID
QWACATYP - THE CONNECTION TYPE
QWHCCV - THE CORRELATION ID
QWHSSTCK - THE TIME OF THE EVENT
Thanks to Scott Swindling, PREMERA, USA.
Change 36.047 Support for XCOM Version 12.0 (COMPATIBLE) adds variables
VMACXCOM XCOMGWDP='GATEWAY*DPATH'
Feb 28, 2018 XCOMSSLT='SSL*VERSION'
XCOMCIPHN='SSL*CIPHER*NAME'
XCOMRCNT='RESTART*COUNT'
XCOMPLEXQ='ORIGIN*PLEXQ*GROUP*NAME'
Thanks to Alfredo Antonio Gonzalez Ortega, ITNOW, SPAIN
Thanks to Sergi Vilaseca Punti, ITNOW, SPAIN
Thanks to Miguel Fco. Monferrer Carvajal, ITNOW, SPAIN
Change 36.046 Support for NDM Version 5.2 corrects NDMCPU and adds
VMACNDM these variables to the NDMCT dataset:
Mar 1, 2018 NDMCLASS ='PROCESS*SESSION*CLASS'
Apr 6, 2018 NDMCTFLAG17='FASP17*OVERRIDE*TO FASP=NO'
NDMCTFLAG18='FASP18*OVERRIDE*TO FASP=NO'
NDMCTGPF ='GENERAL*PURPOSE*FLAG'
NDMDBLKSZ ='DESTINATION*BLKSIZE'
NDMDDSORG ='DESTINATION*DSORG'
NDMDLRECL ='DESTINATION*LRECL'
NDMDRECFM ='DESTINATION*RECFM'
NDMFASPBW ='FASP*BANDWIDTH*KBITS'
NDMFASPFT ='FASP*FILESIZE*THRESHOLD'
NDMFASPPL ='FASP*POLICY'
NDMPNRLS ='PNODE*C:D*VERSION'
NDMSBLKSZ ='SOURCE*BLKSIZE'
NDMSDSORG ='SOURCE*DSORG'
NDMSLRECL ='SOURCE*LRECL'
NDMSMFID ='SMFID*THAT*CREATED'
NDMSMRLS ='SNODE*C:D*VERSION'
NDMSRECFM ='SOURCE*RECFM'
NDMSTEPOS ='STEP*OFFSET*IN*TCQ'
NDMUSERN='USER*SENSE*FROM*FMH71'
NDMXDATE ='PROCESS*STOP*DATE'
NDMXTIME ='PROCESS*STOP*TIME'
NDMZFLAG='Z*FEATURE*FLAGS'
NDMZWINR ='COMPRESSION*WINDOW*SIZE'
-Apr 6: Reported Truncated CERI and CERT to IBM.
-Apr 16: IBM APAR PI24126 corrects the truncation,
but makes no mention of the truncation. That fix
required reassembly of DGMSMF.
Thanks to Heimir Hauksson, Barclays Technology Center, ENGLAND.
Thanks to Robert Richards, OPM, USA.
Thanks to Walter J Freeman, OPM, USA.
Thanks to Otto A. Burgess, OPM, USA.
Change 36.045 Support for enhanced Mobile Work 4HOUR MSU reporting.
FORMATS -New parameter, TYPE=, for the type of mobile work, to
MOBMWRT be added to your %MOBMWRT invocation in your MOBWRKxx
MOBWRK72 tailored members, where TYPE=DB2 CICS IMS WAS or MQ to
MOBWRK73 create the WORK.MWRT_BLD_SUM_&TYPE dataset that is then
MOBWRKMS used to create the new MOBILE.MSU_&TYPE dataset with the
Feb 28, 2018 4 hour rolling average MSU for that &TYPE of workload.
-MOBWRKMS provides reporting on the new &TYPE datasets.
-Some improvements in SMF70CPA calculation in MOBWRK73,
and ORIGCPUTM/CPUCPONLY/CICDSCPUTM are init to missing
in MOBWRK72.
-FORMAT mwrtdt is enhanced to support years beyond 2042.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 36.044 The value you set in MACRO _IMSVERS mm.n % is now kept
VMACIMS in variable IMSVERS in IMS0708 and IMS07 datasets.
Mar 1, 2018 (The IMS56FA transaction dataset already has IMSVERSN
that is created from that IMS log record.)
Thanks to Alfredo Gonzalez, La Caixa, SPAIN.
Change 36.043 Initial support for NMON Nigel's Monitor for RHEL Release
EXRHELAA 14i with Red Hat Enterprise Linux 6.7.
EXRHELBP The data with 1 second interval is suspect as the times
EXRHELCI of the interval are often 2 or 3 seconds apart.
EXRHELME The developers page is at 'http://nmon.sourceforge.net'
EXRHELNS The BBBP fields are not currently decoded since the RHEL
EXRHELCD text is not consistent with the NMON contents.
EXRHELDS -Mar 6: FULLCOMD in RHELUARG expanded to 4096 bytes and
EXRHELIN WORK dataset CPUBUSY is deleted; the values of CPU_ALL
EXRHELJF variables are output in RHELINTV Interval Dataset.
EXRHELNT
EXRHELTO DDDDDD MXG MXG
EXRHELUA DATASET DATASET DATASET
EXRHELMT SUFFIX NAME LABEL
IMACRHEL
TYPERHEL RHELAA RHELAAA RHEL MONITOR AAA CONFIGURATION
TYPSRHEL RHELBP RHELBBBP RHEL MONITOR BBBP CONFIGURATION
VMACRHEL RHELCI RHELBBBPCPUINFO RHEL BBBP CPUINFO
VMXGINIT RHELME RHELBBBPMEMINFO RHEL BBBP MEMINFO
Mar 1, 2018 RHELMT RHELBBBPMOUNT RHEL BBBP MOUNT
Mar 6, 2018 RHELNS RHELBBBPNETSTAT RHEL BBBP NETSTAT
Mar 14, 2018 RHELCD RHELCPUD RHEL CPU DETAIL
Mar 28, 2018 RHELDS RHELDISK RHEL DISK
Apr 6, 2018 RHELIN RHELINTV RHEL MONITOR INTERVAL
RHELJF RHELJFSF RHEL JFSFILE
RHELNT RHELNETW RHEL NETWORK
RHELTO RHELTOP RHEL TOP PROCESS
RHELUA RHELUARG RHEL UARG PROCESS
-Apr 6: RHELAAA now output for each concatenated input
file; only the first was output previously.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Thanks to Andreas Windisch, HUK-COBURG, GERMANY.
Change 36.042 ANALCAPD ERROR: FOUND "IF" when expecting ... when the
ANALCAPD CEC= options was used, due to a missing semicolon.
Feb 22, 2018
Thanks to Norbert T. Wagner, Deutsche-Boerse, GERMANY.
Change 36.041 The MXGERROR:MISSING TYPE70 message is now MXGWARN:MISS
VMXG70PR because it's only an alert to be examined (Change 36.026)
Feb 20, 2018 to see if the SYSTEMs listed are the systems of interest.
Only variables in dataset ASUMCELP observations for those
LPARs whose 70s were not read are impacted, and in many
cases the message is generated because the SMF data from
a sandbox LPAR was not present in that day's SMF input.
These variables will have missing values in PDB.ASUMCELP;
SMF70CPA SMF70LAC SMF70PAT SMF70WTI SMF70WTS SMF70WTI.
Thanks to Ed Wieszczek, Zions Bank Corporation, USA.
Change 36.040 Support for IMS 56FA Record APAR UI50912. COMPATIBLE as
VMACIMS it uses a reserved field for the new TPCEXTOF offset to
Feb 19, 2018 the TPCE DSECT, but TPCEXTOF is zero so the extension
is not populated by THIS APAR, so it is also not input.
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 36.039 Enhancement to dataset TYPE70PR creates new LPARZIPS with
VMAC7072 the number of online ZIIP engines for each LPAR for each
Feb 19, 2018 interval.
Thanks to Kurt Gramling, TSYS, USA.
Change 36.038 The MXG "INVALID SMF 119 TYPE 81" message in MXG 36.01
VMAC119 bypassed an INPUT STATEMENT EXCEEDED LENGTH ERROR ABEND,
Feb 19, 2018 but I had misunderstood the DS_DOOFF offset to be the
offset into the SMF buffer to the DORU field; IBM L3
Support corrected me: it is the offset into the RU that
will be moved into the DORU field, if the DORU is larger
than 4096 bytes, so that the anomaly's data will be in
in the SMF record. The circumvention is removed and the
DORU variable is correctly populated.
-Variable IST119DS_SID was changed from numeric to char
with $HEX16. format.
Thanks to Gary Zaetz, IBM z/OS Communications Server Support, USA.
Thanks to David Campbell, SUNTRUST, USA.
Change 36.037 Variable QWHSACE was missing from the BY list for dataset
VMACDB2 ZZDB2SBP causing READDB2/TYPEDB2/BUILDPDB to ABEND with
Feb 19, 2018 INPUT STATEMENT EXCEEDED. This code has been executing
and accidentally working since MXG 35.10, last year,
before two site's data records with multiple QWHSACEs
exposed my coding error.
Thanks to Lori A Stratford,The Auto Club Group AAA Michigan, USA.
Thanks to Kare Martin Torsvik, IBM Services, NORWAY
Change 36.036 Support for new Subtype 31 SMF 82 JOB-level crypto stats.
EXTY8228
EXTY8229
EXTY8230
EXTY8240
EXTY8241
EXTY8242
EXTY8243
EXTY8244
EXTY8245
EXTY8246
EXTY8247
IMAC82
VMAC82
VMXGINIT
Feb 14, 2018
During testing of this update, Error Message UNDECLARED
ARRAY YPE8231 (note T is missing) was caused by VMXGINIT
typo setting PTY8231=DEFAULT instead of setting WTY8231.
Just a developers note as for that " YPExxxx" error text
shows up in testing from time to time.
Change 36.035 If the last engine type in an LPAR was an IFL, the MXG
VMAC7072 calculation of LPARSHAR/LPARSHAC and LZIPSHAR/LZIPSHAC
Feb 14, 2018 was incorrect in the TYPE70 dataset.
Thanks to Andrew Petersen, DXC, AUSTRALIA.
Change 36.034 Some debugging options added when MXGEXIMSG=YES and a bad
VGETOBS branch to end modified so that if the dataset you seek
Feb 14, 2018 does not exist and debugging is on you will get the
message that it did not exist.
Change 36.033 Analysis of different I/O counts between SMF 42 subtype 6
ANAL4274 and type74 subtype 1.
Feb 13, 2018
Change 36.032 WebSphere INVALID Subtype 9 messages were cause by the
VMAC120 absence of ELSE clauses that are now corrected.
Feb 12, 2018
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 36.031 INVALID DB2 RECORD CREATED BY ASG/TMON is NOT an ASG
VMACDB2H issue, but rather is due to BMC APPTUNE SMF 102 records
Feb 11, 2018 with Data Sharing Group sections that were incorrectly
decoded by MXG logic, now corrected. The ERROR is real
in that observations were NOT output in some datasets.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 36.030 Old-style substitution macro _HSMINTV added so you can
ASUMHSM easily change the default HOUR interval to you choice.
Feb 6, 2018 If you want the interval to be QTRHOUR and the final
output written to dataset HSM.QTRHOUR, you would use:
%LET MACKEEP=%QUOTE(
MACRO _LSUHSM HSM.QTRHOUR % /* SETS OUTPUT DSN */
MACRO _HSMINTV QTRHOUR % /* SETS INTERVAL */
);
%INCLUDE SOURCLIB(ASUMHSM);
Thanks to Randy Hewitt, DXC, USA.
Change 36.029 Variables SM120RULEXFBOM/DEB/MON/FTRC are one-bit fields
VMAC120 that MXG incorrectly INPUT as one-byte variables.
Feb 8, 2018
Thanks to Paul Volpi, UHC, USA.
Thanks to Jack Hyde, UHC, USA.
Change 36.028 Change 35.124 introduced code that stopped PDBAUDIT with
PDBAUDIT a memory limitation problem with WPS when more than 20
Feb 8, 2018 LIBNAMEs were found. Change 35.201 then accidentally
circumvented that error by removing duplicate entries,
but the real error was that DICTIONARY.MEMBERS returned
all libname.member entries, (THOUSANDS in MXG QA JOB),
rather than the LIBNAME entries from DICTIONARY.LIBNAMES.
The error message is inactive.
Thanks to Earl Kline, Luminex, USA.
Change 36.027 More invalid LENSR=304 and 448 for SMF 42 Subtype 5;
VMAC42 IF LENSR IN(232,240,320,400,448,480) THEN LENSR=160;
Feb 8, 2018 The line was also moved up to after the DO because
those large values with lots of SR segments caused the
MXG test for INVALID SR Length exceeds record length.
The correcting APAR number is OA54663, but it did not
acknowledge the multiplicity of incorrect values when
it "Updated SMF42SRL to contain only length of SMF4205A".
Thanks to Luis Mendoza, Black Knight, USA.
Thanks to Lori A Stratford,The Auto Club Group AAA Michigan, USA.
====== Changes thru 36.026 are in MXG 36.01 dated Feb 6, 2018=========
Change 36.026 MXGERROR:MISSING TYPE70 RECORDS impacts ASUMCEC/ASUMCELP
VMXG70PR datasets, with some incorrect values in those datasets
Feb 5, 2018 when those messages are printed, not just SMF70LAC, when
either the data from a system is not input, or if your
LPARNAME/SYSTEM/SYSNAME/SMF70STN names are inconsistent.
Change 35.144 introduced the message and provided a way
if your SMF70STN matches LPARNAME, but you may need the
below logic to create consistent names.
%LET INCODE70FOR70PR=%QUOTE(
LENGTH SMF70STN $8;
IF SYSNAME='ZUT1ACP1' THEN SYSTEM='ACP1';
ELSE IF SYSNAME='ZUT1DEV1' THEN SYSTEM='DEV1';
ELSE IF SYSNAME='ZUT1PRD1' THEN SYSTEM='PRD1';
IF SYSNAME='ZUT1ACP1' THEN SYSNAME='ACP1';
ELSE IF SYSNAME='ZUT1DEV1' THEN SYSNAME='DEV1';
ELSE IF SYSNAME='ZUT1PRD1' THEN SYSNAME='PRD1';
IF SMF70STN='ZUT1ACP1' THEN SYSTEM='ACP1';
ELSE IF SMF70STN='ZUT1DEV1' THEN SYSTEM='DEV1';
ELSE IF SMF70STN='ZUT1PRD1' THEN SYSTEM='PRD1';
IF SMF70STN='ZUT1ACP1' THEN SMF70STN='ACP1';
ELSE IF SMF70STN='ZUT1DEV1' THEN SMF70STN='DEV1';
ELSE IF SMF70STN='ZUT1PRD1' THEN SMF70STN='PRD1';
IF SYSNAME='ZUT1ACP1' THEN SYSTEM='ACP1';
ELSE IF SYSNAME='ZUT1DEV1' THEN SYSTEM='DEV1';
ELSE IF SYSNAME='ZUT1PRD1' THEN SYSTEM='PRD1';
IF SYSNAME='ZUT1ACP1' THEN SYSNAME='ACP1';
ELSE IF SYSNAME='ZUT1DEV1' THEN SYSNAME='DEV1';
ELSE IF SYSNAME='ZUT1PRD1' THEN SYSNAME='PRD1';
);
%INCLUDE SOURCLIB(ASUM70PR);
These are the variables that will have missing values
in PDB.ASUMCECLP and ASUMCEC for those LPARs listed:
SMF70CPA SMF70LAC SMF70PAT SMF70WTI SMF70WTS SMF70WTI.
Thanks to Ed Wieszczek, Zions Bank, USA.
Change 36.025 Support for zVM64 Level 40061701 and 1702 INCOMPATIBLE.
VMACVMXA Changes to MTRSYS 1.04 for SKIP calculation and MTREND
Feb 6, 2018 1.11 logic required for new instance where the rest of
the record contains only nulls.
Thanks to Graham Harris, RBS, ENGLAND.
Change 36.024 Support for ThruPutManager Release/Version 18.02 COMPAT,
VMACTPMX PTF Level TMT7113, adds new variable JXJBSTXT to dataset
Feb 1, 2018 TYPETPMX, with label 'JXJBSSYSAFF*TEXT'.
Long labels and variables with blank labels corrected.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.023 Yet another ID 42 ST 5 INPUT STATEMENT EXCEEDED due to
VMAC42 yet another invalid LENSR of 232 that should be 160.
Jan 29, 2018 NOW: IF LENSR IN(232,240,320,400,480) THEN LENSR=160;
See Change 35.302 and 35.305 original invalid LENSRs.
IBM APAR OA54663 has been opened to fix the reported
problem. (Note IBM calls it "reported", apparently
until they have accepted and fixed the issue!)
Thanks to Bradley A. Foxhall, BNY, USA.
Change 36.022 Support for Liberty 8.9.1.0 SMF 120 Subtype 100 (COMPAT)
VMAC120 added two new fields to dataset TY120100:
Jan 29, 2018 SM120RULEXSIZE='RULESET*SIZE IN*NUMBER*OF RULES*/
SM120RULEXPNUM='RULESET*NUMBER OF*PARAMETERS*/
-Unknown Subtype logic added to print a hex dump if found.
Thanks to Paul Volpi, UHC, USA.
Thanks to Jack Hyde, UHC, USA.
Change 36.021 Allocation utility VMXGALOC is enhanced so that if your
VMXGALOC have specified DB2KEEP=0 or CICSKEEP=0 or SPINKEEP=0, the
Jan 25, 2018 directories are not created. This is primarily for
specialized tailoring where you want to send output data
to different directories than the normal PDB processing,
as SPIN CICSTRAN and DB2 are neither needed or desirable
with those arguments (DAILYDSN being a good example).
Change 36.020 ASCII version of JCLDAYDS that uses the SAS FTP engine to
ASCIIDSN process TMC and DCOLLECT data.
Jan 25, 2018
Change 36.019 Change to output dataset label to reflect the correct
TRNDDSNS source of the data.
Jan 25, 2018
Change 36.018 Obscure DB2 GTF file ASCII-only conversion utility to
UDB2GTFA assemble 256 byte pieces had the COL=OUTCOL that should
Jan 25, 2018 have been COL=OUTLOC, causing no output records. Was NOT
reported, accidentally discovered. But nasty to find.
Change 36.017 INVALID SMF 119 SUBTYPE 81 RECORD has IST1219DS offset
VMAC119 of 2899 and IST1219DS length of 2164 but the record is
Jan 25, 2018 only 3076 bytes long, causing INPUT STATEMENT EXCEEDED.
Test added to print MXGERROR and delete the record while
opening a problem with IBM support.
Thanks to David Campbell, Suntrust, USA.
Change 36.016 Enhancement to create optional SMFHEADER dataset with
TYPEID selected variable from the SMF header when READSMF=YES
VMXGINIT is used. These two macros (default blank) enable:
Jan 24, 2018 %LET SMFHEADERDATASET1=
PDB.SMFHEADER (KEEP=SYSTEM SMFTIME ID SUBTYPE) ;
%LET SMFHEADERDATASET2=
%QUOTE( OUTPUT PDB.SMFHEADER; ) ;
%ANALID(READSMF=YES,PRINT=YES,PDBOUT=PDB);
Thanks to Randy Hewitt, DXC, USA.
Change 36.015 Variable CPUID $EBCDIC8 ERROR when TYPEBETA and TYPE70
VMACBETA records were processed together - CPUID is a numeric but
Jan 24, 2018 VMACBETA had an incorrect/old BETA93 reference.
Thanks to Lothar Koppe, Provinzial, GERMANY.
Change 36.014 ANALHSM Report 3 Title was overlaid if BYVAL was used.
ANALHSM
Jan 22, 2018
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.013 Documentation only. APAR OA27291 corrects ABEND S0C4 if
NEWSLTRS USEZOSV1R9RULE(NO), the default, is used with Netview
Jan 22, 2018 NvDM at z/OS 1.10 or higher, in DIAGxx member of parmlib.
Thanks to Lizette Koehler, Albertsons/Safeway Stores, USA.
Change 36.012 The created GMTOFF30 value could be .01 seconds more or
VMAC30 .01 less than the exact hourly offset when SMF30IST was
Jan 22, 2018 not the same second as INTBTIME, complicated by the two
different resolutions, .01 in SMF30IST/SMFSTAMP8/local,
.000001 in the higher resolution INTBTIME/TODSTAMP/GMT,
the only source of the GMT delta in SMF 30s. This change
impacts variables ACTDLYTM EXECTM INTBTIME INTETIME and
SYNCTIME with the PROC COMPARE difference less than .01.
And note that if you have not specified SYNC in SMFPRMxx,
the TYPE30_V/SMFINTRV datasets are useless for any type
of interval totals.
Change 36.011 -MXG 35.09-36. Using %PDBAUDIT(LIBNAMES='Not _ALL_",
PDBAUDIT overriding the internal _ALL_ default, the program
Jan 19, 2018 failed with a syntax error pointing to a Paren.
-If LIBNAMES=PDB was used, and //PDB DD is tape, the
program fails with PDB.PDBAUDIT NOT FOUND, because the
option EXCLUDESEQ=YES is the default to NOT READ tape
PDB libraries. Now, if your PDBAUDIT= is on tape, and
EXCLUDESEQ=YES, the program will tell you that you must
change that to NO, so the program will report on the
contents of the tape Data Library, but there is no output
of the PDB.PDBAUDIT dataset to that tape, as that could
destroy existing datasets on the sequential mode tape.
-It is NOT recommended that you build your PDB on tape
because of performance issues: tapes have no directory
so the full tape has to be read to determine its contents
for PDBAUDIT, and worse for BUILDPDB, where datasets are
written AND read-from the //PDB, each reference has to
start at the beginning of the tape and read all data
to get to that dataset.
-If you do want your daily PDB on tape, you should write
to temp DASD for the //PDB, to eliminate the rereads, and
then PROC COPY from //PDB to tape after all your reports
were created from the temp DASD PDB. And, since this PDB
for BUILDPDB is NOT on tape, PDB.PDBAUDIT will be created
and output to the temp PDB so it is included in the copy.
-Note that if you do use EXCLUDESEQ=NO with PDB on tape,
there are no observation counts in the PDBAUDIT reports.
Thanks to Peter Ten Eyck, American National, USA.
Change 36.010 TYPE73 dataset variable CHFXRATE should have been divided
VMAC73 SMF73PTI, the corrected elapsed time, and not by DURATM.
Jan 18, 2018
Thanks to Steve Olenik, IBM, USA.
Change 36.010A Support for z/OS 2.4 SMF 89 Dataset TYPE89R2 new TRG
FORMATS variables SMF89TRGDATATYPE SMF89TRGDATACPU SMF89TRGDATA.
VMAC89 ICN1674.
Jan 16, 2019
Change 36.009 Message: INVALID TYPE 0 RECORD with LENGTH=70 was deleted
VMAC0 but that length is now valid when SMF0TBUF was added, but
Jan 18, 2018 its length was not added to the test for valid lengths.
The test for each valid TYPE 0 record length is needed
because, many times, sysprogs installing a product that
writes SMF records, incorrectly fail to set a record ID
and the product writes type 0 records, which were not
valid IPL records, and thus were deleted by MXG, with
the message. I failed to add 70 to the test.
-And, this site had records that were LENGTH=52 that are
not IPL records, accidentally written. Do you recognize
what product has values like these in that record?:
CHAR ;... 3....E09ZBLOK. .. 3....LIDPOST BLKLDPSTLOADED 52
ZONE 5003DF0101CFFECDDD0503DF0101DCCDDEE4CDDDCDEEDDCCCC44
NUMR E000B3181F509923622800B3181F394762302323472336145400
Thanks to Bruce Sloss, PNC, USA.
Change 36.008 Variable TTAPLDAT in dataset TYP11902 was mis-aligned due
VMAC119 to INPUT that should have been INPUT @OFF11905 TTAPLDAT.
Jan 15, 2018
Thanks to Bob Davidson, LloydsBanking, ENGLAND.
Change 36.007 Scott Barry posted the UTILBPV program to examine the BVP
UTILBPV cylinder value to minimize wasted space in the Cylinder
Jan 15, 2018 Managed Area using EAV Volumes, using your DCOLLECT data.
Datasets larger than the BPV value are written to the
Cylinder-Managed Space, while dataset smaller than BPV
are written to the Track-Managed Space.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.006 -CICS/TS 5.3 new CPU variables in Statistics CICM dataset:
VMAC110 MNGCPUT ='TOTAL*CPU*TIME'
Jan 15, 2018 MNGTONCP='TOTAL*CPU*TIME*ON CP'
MNGOFLCP='TOTAL*CPU*TIME*OFFLOAD*ON CP'
-Variable MNGWLMCC now tests the correct bit.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.005 -TYPE115 header variable QWHSDURN in SMF 115 subtype 231
VMACDB2H has a value that requires a divide by 4096, while that
VMAC115 same field in all other SMF 115 subtypes is microseconds.
Jan 18, 2018 -Header variable QWHSTIME and QWHSDURN are added to all
Feb 2, 2018 datasets that have the 52-byte DB2 QWHS header segment:
MQMLOG MQMBUFER MQMCHIN MQMDSP MQMADP MQMSSL MQMDNS
TYPE115201 TYPE115215, subtypes 1, 201, 215, and 213.
-Variable QIS1EXPF is INPUT and kept in TYP115201 dataset.
-The BY lists for 1155/115A/115L/115N were revised and now
duplicates are removed (the 1155 and 1156 have MANY dupes
normally).
-Variables QSSTCN64/QSSTCR64, ABOVE THE BAR CONTRACTIONS
and SHORT ON STORAGE counts added to MQMLOG dataset.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 36.004 Correction for DB2 V11 IFCID 376 INPUT STATEMENT EXCEEDED
VMAC102 STOPOVER ERROR because the code incorrectly expected the
Jan 14, 2018 V12 truncated offsets that are now unread with DB2 V11.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 36.003 -TYPE70TR TRG dataset misalignment was corrected when data
VMAC7072 records were received from IBM, but with these questions:
VMAC89 Split 70 records have a 70 TRG segment in each record,
Jan 17, 2018 and the second record's TRG data is identical.
-TYPE72TR TRG dataset has negative values for R723TSUCP:
IBM RMF replies: Negative values can occur in certain
cases. When transaction processor usage is reported to
WLM through IWM4RPT or IWM4MNTF services, the consumed
service units are accounted to the transaction service or
report classes, and deducted from the region's service
and report classes. If the number of transactions is very
small and a single transaction reports high processor
times, it can occur that processor times become negative.
R723CETSX is natively in "squared microseconds" but is
converted to "squared millisecs" to match R723CETS units.
-TYPE89 documentation had offset at 64 with length 80, but
actual offset/length are 36/52, causing the original MXG
code to not INPUT the TRG TRO/TCO segments, so datasets
TYPE80TI, TYPE89R1, and TYPE89R2 had zero observations.
-With these changes, Tenant Resource Group, TRG datasets
have been validated with data.
Change 36.002 See Change 36.135.
VMACPOEX
Jul 20, 2018
Change 36.001 TYPETCP (SMF 118) APISTART datetime was on GMT, the only
VMACTCP field with SMFSTAMP informat not on local time zone.
Jan 9, 2018 Labels with MBYTES changed to BYTES since they all use
the MGBYTES format that prints the suffix letter.
Thanks to Randy Hewitt, DXC Technology, USA.
LASTCHANGE: Version 36.
=========================member=CHANGE35================================
/* COPYRIGHT (C) 1984-2018 MERRILL CONSULTANTS DALLAS TEXAS USA */
Annual MXG Version 35.36 was dated Jan 8, 2018, thru Change 35.309
MXG Version 35.35 was dated Jan 3, 2018, thru Change 35.303
MXG Version 35.12 was dated Dec 26, 2017, thru Change 35.298
EA test MXG Version 35.12 was dated Dec 20, 2017, thru Change 35.294
MXG Version 35.11 was dated Dec 1, 2017, thru Change 35.279
MXG Version 35.10 was dated Nov 6, 2017, thru Change 35.255
First MXG Version 35.10 was dated Nov 6, 2017, thru Change 35.254
MXG Version 35.09 was dated Oct 2, 2017, thru Change 35.217
First MXG Version 35.09 was dated Oct 2, 2017, thru Change 35.215
MXG Version 35.08 was dated Aug 24, 2017, thru Change 35.186
MXG Version 35.07 was dated Aug 2, 2017, thru Change 35.171
MXG Version 35.06 was dated Jun 30, 2017, thru Change 35.151
MXG Version 35.05 was dated May 15, 2017, thru Change 35.121
MXG Version 35.04 was dated May 1, 2017, thru Change 35.104
\XG Version 35.03 is dated Mar 27, 2017, thru Change 35.072
First MXG Version 35.03 was dated Mar 22, 2017, thru Change 35.069
MXG Version 35.02 was dated Feb 10, 2017, thru Change 35.035
MXG Version 35.01 was dated Jan 20, 2017, thru Change 35.014
ANNUAL MXG Version 34.34 was dated Jan 3, 2017, thru Change 34.284
ANNUAL MXG Version 34.34 was dated Jan 3, 2017, thru Change 34.284
MXG Newsletter SIXTY-NINE was dated Jan 3, 2018.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 35.36 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 35.36.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 35.36 dated Jan 8, 2018, thru Change 35.309.
==Major CHANGES added in MXG 35.36, dated Jan 8, 2018 thru 35.309.
ERROR Protection:
Many 35.308 SAS Defect 9.4 M5 z/OS PROC SQL NOERRORSTOP protect.
SAS Note 61672 will address, this circumvents need.
ERROR Correction:
TYPE42 35.305 Third incorrect SRLEN STOPOVER correction.
ANALDB2R 35.307 Broken DO Syntax, 35.11-35.35, if PDBOUT=PDB is used.
UTILBLDP 35.306 SUPPRESS=74 variable DEVN NOT FOUND ERROR.
VGETxxxx 35.309 Protection for DATASET=PDB.dataset syntax.
==Major CHANGES added in MXG 35.35, dated Jan 3, 2018 thru 35.303.
New Products Support
MDIJCL 35.299 Support for Luminex MDI box to run MXG on Linux.
Error Corrections
TYPE42 35.302 Incorrect SRLEN in SMF 42 Subtype 5 APAR STOPOVER.
TYPERMFV 35.300 CPUPHYAD format could fail causing ABEND.
==Major CHANGES added in MXG 35.12, dated Dec 26, 2017 thru 35.298.
New Products Support
TYPE7072 35.285 Support for Container Pricing, new TYPE72TR dataset.
TYPEBETA 35.297 Support for BETA 93 Version 610 (update) 620 (added).
TYPE0203 35.283 Support for APAR OA52828, SMF Temporary Buffer size.
TYPEQACS 35.288 Support for QAPMDISK with LENGTH=695.
TYPE42 35.289 TYPE42 APARs OA52132, OA52133, OA61734 now tested.
Error Corrections
TYPERMFV 35.287 MXG 35.10/35.11 RMF III ZRBASI ASICPUTA was WRONG.
Enhancements
TYPEDB2 35.280 Exit Members EXDB2STS and _EDB2STS are now valid.
RMFINTRV 35.282 New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
TYPE70 35.282 New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
UTILEXCL 35.293 &MXGCIEXC "exit" to correct USER CMODHEAD typos.
UTILCMPR 35.292 Utility compares numeric variables in OLD/NEW dataset
==Major CHANGES added in MXG 35.11, dated Dec 1, 2017 thru 35.279.
New Products Support
TYPE42 35.274 Support for APAR OA53110 new TYPE42 variables.
TYPE74 35.273 Support for APAR OA50761 Virtual Flash memory.
TYPE89 35.271 Support for Container Pricing in SMF 89.
TYPE70 35.270 Support for Container Pricing in SMF 70.
TYPE113 35.279 Support for Dec 2017 z14 CPU MF formula update.
Error Corrections
TYPERMFV 35.259 35.10: ZRBASI deaccumulation was not correct.
TYPEDB2 35.267 DB2 Netezza IDAA variables Q8STxxxx corrected.
TYPEDB2 35.277 New IFCID=225 QWA225PRISTG_PAGE variable added.
VMACSMF 35.266 SMF ID=2 SYSTEM=DUMY 14 byte records protected.
CICINTRV 35.264 CICDS Dispatch dataset DISP+WAIT GE Interval DURATM.
TYPEBVIR 35.260 BVIR History updated for 3.3 media codes and BVIR302.
TYPEPOEX 35.257 Protection for truncated Power Exchange SMF record.
TYPETMS5 35.278 Correction for TMS Stacked Tape Files wrong values.
Enhancements
TYPE102 35.262 New DB2 zPARMS variables created in T102S106 dataset.
TYPETPMX 35.261 Execution time for TYPETPMX halved by restructure.
TYPERMFV 35.259 New ZRBLCPLPAR dataset with per-LPAR totals.
TYPERMFV 35.259 IBM 4HR MSU (CPUAVB4H) in ZRBCPU per) interval.
VMXGSET 35.256 Example to read "concatenated" PDBs with PROC SQL.
==Major CHANGES added in MXG 35.10, dated Nov 6, 2017 thru 35.255.
New Products Support
TYPERMFV 35.249 Support for z/OS 2.3 RMF III CPUG3 ZRBCPU changes.
TYPE113 35.246 SMF113/HIS formula for z14 L3P/RNI/SM1132SP changed.
TYPEPOEX 35.242 Support for Power Exchange Version 10.1.1.
TYPE42 35.240 Support for APARS OA52132/OA52133/OA61734 UNTESTED.
Error Corrections
TYPE119 35.220 Zero observations in TYP11920 dataset.
TYPE119 35.245 SMF 119 Subtype 81 INPUT STATEMENT EXCEEDED.
TYPEDB2 35.229 PDB.DB2STATB/STSBP protection for large gaps in data.
TYPEDB2 35.248 Four QWA225 and QWB225 variables now kept/input.
FORMATS 35.243 MOBILE WORK CSV files for CICS/TS 5.3 missing prod.
ANAL118 35.241 Typo, NEDNC=SMFTIME should be NENDC=SMFTIME.
TYPEXAM 35.218 XAMSYPUP dataset variables are now correctly aligned.
TYPEXAM 35.223 zVPS/XAM extra SYTCUP with totals is now decoded.
TYPEVMXA 35.221 zVM MONWRITE VXPRCPUP dataset corrected.
Enhancements
GRAFCEC 35.230 Replaces GRAFLPR, CPU/zIIP/4HR MSU graphs.
UTILBLDP 35.225 New EXPDBVAR/EXPDBCDE/EXPDBOUT to create subset.
BUILDPDB 35.234 New EXPDBKEP lets you KEEP=/DROP= vars in JOBS/STEPS+
TYPE80A 35.231 RACFDIRECTED allows DELETE of RACF records DTP=44.
DEDUP701 35.236 Duplicate 70 Subtype 1 records can cause bad results.
TYPERMFV 35.235 RMF III ZRBCPU enhanced with decodes of CPC_HOMEFLAG.
TYPE116 35.219 MQMACCT variable NETSNAME new format decoded.
UTILEXCL 35.228 Support for 20 user character fields in CICSTRAN.
==Major CHANGES added in MXG 35.09, dated Oct 2, 2017 thru 35.225.
MXG 35.09+ is required for:
z14 processor, ONLY the SMF 113 records were incompatibly changed.
z/OS 2.3 SMF 2 and 90 records incompatibly changed.
z/VM 6.1.17.1 MONWRITE records incompatibly changed.
Error Corrections
TYPE0203 35.190 SMF type 2 subtype 2 (SMF Signature enabled) STOPOVER
TYPEVMXA 35.203 z/VM 6.4.17.1 INCOMPATIBLE fields.
TYPENMON 35.208 Nigel's Monitor changed HH:MM to N MINS, INCOMPAT.
TYPE90A 35.199 z/OS 2.3 type 90 subtype 38 INPUT STATEMENT EXCEEDED
New Products Support
TYPE113 35.310 Support for z14 SMF type 113 (INCOMPATIBLE).
TYPEBETA 35.209 Support for BETA 93 Version 610 (INCOMPATIBLE).
TYPEBE97 35.196 Support for BETA 97 Extended 610 Header (INCOMPATIBL)
TYPE102 35.204 Support for new IFCID 376 variables in T102S376.
TYPERMFV 35.191 Support for z/OS 2.3 ZRBASI and ZRBUWD new fields.
TYPEXAM 35.195 Support for zVPS XAM XAMPUP segment.
TYPE6156 35.207 TYPE6156 enhancement adds FIRSTGEN and LASTGEN.
BUILD005 35.206 New %LET SPINSTC=365 keeps STC Account fields longer.
TYPE30 35.205 Documentation of what is counted in SMF 30 EXCPs.
TYPECIMS 35.197 IMF variables STRTTIME/ENDTIME now in microseconds.
Many 35.194 Unrequested log messages MXGDEBUG: VMXGOPTR
BLDSMPDB 35.200 New daily/weekly/monthly optional paths.
TYPE74 35.193 Alignment for sync I/O variables.
TYPE116 35.192 MQMQUEUE INTS/STRT populated in subtype 2 records.
==Major CHANGES added in MXG 35.08, dated Aug 24, 2017 thru 35.186.
Error Corrections
TYPE74 35.182 MXG 34.07 INPUT STATEMENT EXCEEDED RMF 74 SUBTYPE 8.
TYPE92 35.180 SMF 92 Subtype 50 INPUT STATEMENT EXCEEDED RECORD.
TYPEVMXA 35.174A MONWRITE VXBYUSR _MT1 and _PRO (SMT times) corrected.
TYPEROSC 35.177 PDB.ROSCOE, ROSIGNON Logon Time, CONNECTM, corrected.
New Products Support
TYPE119 35.173 Support for SMF 119 Subtype 11 Zert record.
TYPE102 35.183 IFCIDs 389,404,413,414,477 support.
TYPEBBMQ 35.176 Support for BBMQ QSDSTYPE='DISTRIBUTED SYSTEM TYPE'.
BUILDPDB 35.174 CPITCITM/CPISRITM Init, CPITCTTM/CPISRTTM added.
==Major CHANGES added in MXG 35.07, dated Aug 2, 2017 thru 35.171.
New Products Support
TYPEmany 35.166 Support for z/OS 2.3, many additions.
TYPEVMXA 35.165 New variables added to VXMTRMEM dataset.
TYPEXAM 35.164 New variables added to XAMSYS dataset.
TYPEZDP 35.162 Support for Dell/EMC Mainframe Enabler zDP
TYPEMVCI 35.161 Support for BMC Mainview/CICS Version 7.1.
TYPEAXWY 35.150 Support for AXWAY Version 3.1.3, incomplete.
IMACICWU 35.158 Support for Mainview/CICS 7.1 SMF 110 BMCMVCIC.
TYPEBE97 35.152 Support for Beta 97 Subtype 22 for version 430/610.
Error Corrections
ASUMUOW 35.157 Variable DB2TCBTM removed from CPUUOWTM.
TYPETPX 35.155 STOPOVER when IP Port was changed from 4 to 5 digit.
ASMRMFV 35.154 STOPOVER using TYPERMFV if UWD records are created.
TYPE7002 35.153 IBM RMF CRYPTO report TOTAL EXEC is AVERAGE EXEC.
==Major CHANGES added in MXG 35.06, dated Jun 30, 2017 thru 35.151.
Error Corrections
ASMRMFV 35.148 Must specify both SVP and RCD for RMF III CPUTM
TYPERMFV 35.148 RMF III CPUTM wrong if RCD without SVP selected.
TYPEVMXA 35.145 zVM SMT INTERVAL vars were incorrectly DIF()'d.
TYPE74 35.146 TYPE749 Corrections, vars R749FPGBYTx, and R749Dxxx.
TYPE103 35.134 Dataset TYPE103D vars T103DBYT/T103DREQ corrected.
TYPEVMXA 35.131 Variable CALENMT incorrect, new CALSHARE variable.
TYPE30_6 35.127 Negative values for Early Address Spaces corrected.
TYPE30_6 35.127 Negative values for Early Address Spaces corrected.
VMAC38 35.136 NETVIEW ID=38 unexpected S38CCALR length corrected.
New Products Support
TYPE42 35.137 APAR OA44319 improves accuracy for I/O durations.
TYPE991 35.123 New z/OS 2.2 variables added to TYPE991 dataset.
TYPEVMXA 35.132 Support for zVM 6.4 APAR VM66026 new variables.
TYPEBETA 35.139 BETA93 and BETA97 Subtype 25 restructure support.
TYPEXAM 35.147 Support for XAM new VSIDSK and XAMPRC segments.
Enhancements
UTILBLDX 35.149 New BUILDJCL=YES creates IFASMFDP code to select SMF.
SIGNIFICANT CPU SAVINGS for Ad Hoc SMF read when only
a few SMF records are wanted from a large file.
See Change Text. Will replace UTILBLDP next version.
ASUM70PR 35.150 Option %LET CECONLY=YES creates ASUMCEC/ASUMCELP only
ASUM70PR 35.144 MXGERROR:MISSING TYPE 70 RECORDS message.
TYPE113 35.141 SMF 113 Formula for RNI updated for z13.
IMACINIT 35.128 Note: OPTIONS NOCAPSOUT recommended for ODS users.
ASMRMFV 35.135 RMF III Enhancements, Filtering.
UTILBLDP 35.143 Options SUPPRESS enhanced, NEVER corrected.
==Major CHANGES added in MXG 35.05, dated May 15, 2017 thru 35.121.
Error Corrections
TYPEDB2 35.111 DB2 12.1 INVALID QLAC, CONTINUOUS DELIVERY CAUSED.
THIS IS IMPORTANT: LOOK FOR INVALID QLAC ERROR ON
YOUR SAS LOG - OBSERVATIONS ARE NOT OUTPUT.
THE FIELDS WERE INSERTED BY APAR PI74456.
TYPE7072 35.113 35.04 only. TYPE79 SHARE weights wrong, ASUMCELP ok.
VMXGPRNT 35.120 WPS only, MXG 35.04 Only, Blank Label ERROR.
VMXGFIND 35.117 Multiple input PDBs were read, only one was output.
JCLTEST9 35.116 35.04 only. //MVJEIN DD in wrong step.
VGETSORT 35.112 35.04 only. ERROR Truncated SORTBY (name GT 32).
TYPE129 35.109 Variables SM1209EX/EY/EZ/FA were dropped.
ANALID 35.108 ANALID report TITLE for BUILDPDB can be tailored.
New Products Support
TYPEIAM 35.107 Support for IAM Version 9.0.
Enhancements
TYPE110 35.105 CICS duration fields are now formatted TIME16.6.
==Major CHANGES added in MXG 35.04, dated May 1, 2017 thru 35.104.
Error Corrections
TYPE7072 35.093 MXG 35.03 only. PLATBUSY/PCTOF HDW TYPE70/RMFINTRV.
TYPEVMXA 35.079 z/VM 6.3 SMT in VXSYTPRP, VXAPLSO0 corrections.
TYPEXAM 35.074 Velocity XAM SYTCPU invalid errors at vendor.
TYPEDB2 35.081 DB2ACCTP, truncated QPACLOCN/COLN/PKID/ASCH/AANM
New Products Support
TYPEMVJE 35.094 Support for BMC Mainview for Java Environment.
TYPEVMXA 35.092 Updated support for z/VM 6.4 (INCOMPAT, SYTLCK).
Enhancements
ANALFTP 35.087 New ANALFTP analysis provided five new reports.
ANALCNCR 35.091 New example count/plot concurrent TELNET sessions.
IHDRNDM 35.089 New NDM-CDI IHDRNDM exit for NDMRTYPE selection.
BUILDPDB 35.088 Running MXG on ASCII, free SMF alloc at read end.
TYPEOPSS 35.090 Support for CA's OPSS Product User SMF Record.
==Major CHANGES added in MXG 35.03, dated Mar 27, 2017 thru 35.072.
VMAC1415 35.072 First MXG 35.03. Debug HEX DUMPS on log, no ERROR.
Not serious, but easily corrected with this update.
==Major CHANGES added in MXG 35.03, dated Mar 22, 2017 thru 35.069.
Significant Correction/Documentation
TYPE7072 35.064 SMT Mode corrections, "Inflated" CPUZIPTM in MT=2
ONLY IMPACTS 72 and 30 - TYPE 70 DATA JUST FINE!
New Products Support
TYPE110 35.069 Support for CICS/TS 5.4 BETA 11 CICSTRAN new vars.
TYPESVIE 35.059 Support for CA SYSVIEW for IMS 14, missing values.
TYPEIMS 35.058 Support for IMS LOG 67D0 DIAGNOSTIC DC Log Record.
TYPEMVIP 35.055 Support for Mainview for IP PTF BPN2331 adds flag.
TYPE120 35.051 Support for Liberty 17.0.0.1 SMF 120 ST 12 new data.
TYPEOPC 35.048 Support for IWS/TWS/OPC Version 9.3 ST 66 was ST 23.
TYPE102 35.047 Support for IFCID 316 ACCESS CONTROL AUTH EXIT PARMS.
TYPE102 35.046 Support for IFCID 125 Truncated fields.
TYPEVMXA 35.040 Support for Velocity ZWRITE z/VM MONWRITE records.
TYPEXAM 35.063 Support for XAMSYS wrong length, XMTCPSYS NAMENODE.
TYPEMVCI 35.062 Support for Mainview CICS CMRDETL file VER 6700.
TYPE30 35.066 APAR OA59593 adds INELIGHONOR flag to SMF 30s.
Enhancements
TYPEDCOL 35.064A Multi-Volume DCOLDSET fields retained & populated.
ASUMCELP 35.061 Variable SMT_NUM added to PDB.ASUMCELP with MT mode.
TYPE120 35.060 SMF 120 ST 11 TYP120BL CP and zIIP variables added.
GRAFCAPS 35.042 Example report of Resource Group CPU use and CAPPING.
ASUM70PR 35.061 Enhancement adds SMT_NUM to PDB.ASUMCELP dataset.
TYPE120 35.060 Enhancement adds TOTAL/CP ONLY/ZIP CPU to TYP120BL.
ASMRMFV 35.054 RMF Monitor III Enhancement for OPD data filtering.
ASUM70PR 35.050 Error message if PDB.ASUMCELP does not have all 70s.
Corrections
VMXGSUM 35.056 Correction for KEEPMNTH= (very rarely used) option.
TYPERMFV 35.044 ZRBCP SMT vars missing, new CPC_CECNAME variable.
TYPE1415 35.040A IBM APAR OA51325 corrects missing UCB segment.
CICINTRV 35.038 MXG correction for ITRM to NOT delete CICINTRV
==Major CHANGES added in MXG 35.02, dated Feb 10, 2017 thru 35.035.
Execution Errors Corrected:
VMXGSUM 35.022 COMPBL too few arg, VARIABLE QWACBSC ALREADY...
Rare and obscure, only three reports, but nasty
if encountered deep in your daily run, so please
"drop in" 35.02, which is a very good LEVEL SET.
VMXGSUM 35.020 MXG 35.01. Ignore MXGWARN VMXGSUM BACKLEVEL msg.
UTILEXCL 35.023 MXG 35.01.Old Dictionary Records were not used.
TYPEVMXA 35.025 Using _VMINPUT. z/VM variable VMDUSER was 1 byte.
Variables corrected:
TYPEDB2 35.027 DB2STATS QISTxxxx Storage multiplied by 4K vs 1K.
TYPE78 35.021 TYPE78PA variables R782LSMO/GMFO/GFRR are wrong.
GRAFWRKX 35.018 WARNING but ZIPTM, IFATM, and ZIETM were not plotted.
TYPE120 35.024 Subtype 9 variables SMF1209EV,FI,EW no longer kept.
VMXGALOC 35.033 Month begin/logic revised, MNTHKEEP zero protected
TYPE42 35.031 Variable S42DSIOS added to TYPE42DS.
TYPEDB2 35.030 DB2STAT4 _REAL variables way too large.
New Products Support
TYPE102 35.017 New DB2 ZPARMS added to T102S106 dataset.
TYPE117 35.015 Support for SMF 117 GTZ record.
TYPE125 35.015 Support for SMF 125 GTZ record, untested.
TYPE80A 35.029 RACFTYPE=6 seg increased in length, message, no fail.
TYPERMFV 35.028 New RMF III ZRBENC "long names" now input and kept.
IMACDBNZ 35.027 Support for DB2ACCT NETEZZA Q8AC "Accumu" variables.
TYPEBBMQ 35.034 Support for BBMQ BMC Utility BBM9MD73 restructure.
Enhancements
UTILRMFI 35.026 Enhanced reporting if SRVCVLASS=SYSOTHER detected.
TYPETPX 35.035 Protection for invalid TPX subtype 7 record.
==Major CHANGES added in MXG 35.01, dated Jan 20, 2017 thru 35.015.
POTENTIALLY SERIOUS Error Corrected:
RMFINTRV 35.006 Duplicate RMFINTRV if Multiple Capacity Groups exist.
Culprit was MXG's addition of variable SMF70GNM to PDB.RMFINTRV
back in MXG 34.01 in Feb, 2016, but only reported now by only
two sites. THERE IS NO ERROR MESSAGE ON THE LOG.
PROC FREQ DATA=PDB.RMFINTRV; TABLES SMF70GNM;
will show if you are exposed. %INCLUDE SOURCLIB(RMFINTRV);
with //PDB DD DISP=OLD with this Change will rebuild
PDB.RMFINTRV correctly for each mis-built PDB data library.
Errors Corrected:
UTILEXCL 35.004 ERROR PDB.CICSDICT not FOUND - USE THIS UTILEXCL.
TYPE115 35.011 For local time zones with +GMT, GMT115TM wrong.
TYPE120 35.007 Liberty SMF 120 st 12 SM120CCC/CCD Year 2027.
TYPEPOEX 35.002 INVALID SMF Records caused STOPOVER ABEND.
TYPEOSEM 35.010 OSEM User SMF INPUT EXCEEDED, invalid, circumvented.
New Products Support
TYPE71 35.009 Support for APAR OA48913 with 2GB Memory Frames
Enhancements
TYPERMFV 35.005 Dataset ZRBLCP obs created for ONLINE LCPUADDRs.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M5 (9.4M5), "M5",
or "SAS 9.4 (TS04.01M5P09132017)" if the OPTION VERSIONLONG is
enabled.
Only on z/OS, SAS 9.4 "M5" requires MXG 35.36 because it adds the
NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
that will be corrected in SAS Note 61672 defect. See Change 35.308
for more details on using NOERRORSTOP for your own PROC SQLs.
SAS V9.4 M5 Is RECOMMENDED, but MXG executes without error
using SAS Version 9.4 M0-M4 or SAS Version 9.3 M0-M2.
SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
Support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 35.36 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows Seven and
Eight (64-bit) on 64-bit hardware, and sometimes on Centos 6.4,
but MXG users execute MXG on MANY (ALL??) SAS platforms, including
AIX, Linux, and other 'nix' variants, on many different hardware
platforms, and since they all work we don't need to list them. If
SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
INCOMPATIBLY CHANGED, and MXG 34.03 is REQUIRED (PCTCPUBY WRONG!), to
read the SMT-format RMF records (which are written if you have zIIP
engines AND have enabled the new PROCVIEW CORE option for
Multi-Threading, even if only one thread is enabled).
The new zEDC compression hardware requires MXG 33.07 to support the
new metrics.
For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z/OS 2.3 Many new variables Sep 24, 2017 35.166 35.09*
z/OS 2.3 RMF III Support Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 2 st 2 STOPOVER Sep 24, 2017 35.190 35.09*
z/OS 2.3 type 90 st 38 STOPOVER Sep 24, 2017 35.199 35.09*
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
z13 SMT MT=2 CPUZIPTM TYPE70 Mar 21, 2016 35.03
z14 SMF 113 Records INCOMPAT Oct 2, 2017 35.09
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS-TS/5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS-TS/5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS-TS/5.3 GA date Dec 11, 2015 33.33
CICS-TS/5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS-TS/5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS-TS/5.4 OPEN BETA Nov Nov 11, 2016 34.09
CICS-TS/5.4 GA Jun 17, 2017 35.03
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.08
DB2 12.1 NETEZZA CORRECTIONS Oct 5, 2016 34.08
DB2 12.1 QLAC INSERTS DB2ACCT May 15, 2017 35.05*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
Websphere MQ Series 9.1 Mar 20, 2017 35.03
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
z/VM 6.4 SYTLCK Incompat Apr 26, 2016 34.04
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.13
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257 34.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 35.36.
1. Incompatibilities introduced in MXG 35.36:
a- Changes in MXG architecture made between 35.36 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 35.36 after MXG 34.34:
Dataset/
Member Change Description
Many 35.308 SAS Defect 9.4 M5 PROC SQL NOERRORSTOP circumvention.
Many 35.166 Support for z/OS 2.3 (many new variables), COMPAT.
Many 35.194 Unrequested log messages MXGDEBUG: VMXGOPTR
ANAL118 35.241 Typo, NEDNC=SMFTIME should be NENDC=SMFTIME.
ANALCNCR 35.091 New example count/plot concurrent TELNET sessions.
ANALDB2R 35.307 Broken DO Syntax in 35.11-35.35 if PDBOUT=PDB is used
ANALFTP 35.087 New ANALFTP analysis provided five new reports.
ANALID 35.108 ANALID report TITLE for BUILDPDB can be tailored.
ASMRMFV 35.054 RMF Monitor III Enhancement for OPD data filtering.
ASMRMFV 35.135 RMF III Enhancements, Filtering.
ASMRMFV 35.148 Must specify both SVP and RCD for RMF III CPUTM
ASMRMFV 35.154 STOPOVER using TYPERMFV if UWD records are created.
ASUM70PR 35.050 Error message if PDB.ASUMCELP does not have all 70s.
ASUM70PR 35.061 Enhancement adds SMT_NUM to PDB.ASUMCELP dataset.
ASUM70PR 35.144 MXGERROR:MISSING TYPE 70 RECORDS message.
ASUM70PR 35.150 Option %LET CECONLY=YES creates ASUMCEC/ASUMCELP only
ASUMCELP 35.061 Variable SMT_NUM added to PDB.ASUMCELP with MT mode.
ASUMUOW 35.157 Variable DB2TCBTM removed from CPUUOWTM.
BLDSMPDB 35.167 VGETSORT revisions for PDB name, internal.
BLDSMPDB 35.200 New daily/weekly/monthly optional paths.
BUILD005 35.206 New %LET SPINSTC=365 keeps STC Account fields longer.
BUILDPDB 35.088 Running MXG on ASCII, free SMF alloc at read end.
BUILDPDB 35.174 CPITCITM/CPISRITM Init, CPITCTTM/CPISRTTM added.
BUILDPDB 35.234 New EXPDBKEP lets you KEEP=/DROP= vars in JOBS/STEPS+
CICINTRV 35.038 MXG correction for ITRM to NOT delete CICINTRV
CICINTRV 35.264 CICDS Dispatch dataset DISP+WAIT GE Interval DURATM.
DEDUP701 35.236 Duplicate 70 Subtype 1 records can cause bad results.
FORMATS 35.243 MOBILE WORK CSV files for CICS/TS 5.3 missing prod.
GRAFCAPS 35.042 Example report of Resource Group CPU use and CAPPING.
GRAFCEC 35.230 New graphs CPU/zip Hours/4HR MSU, replaces GRAFLPAR.
GRAFCEC 35.230 Replaces GRAFLPR, CPU/zIIP/4HR MSU graphs.
GRAFWRKX 35.018 WARNING but ZIPTM, IFATM, and ZIETM were not plotted.
IHDRNDM 35.089 New NDM-CDI IHDRNDM exit for NDMRTYPE selection.
IMACDBNZ 35.027 Support for DB2ACCT NETEZZA Q8AC "Accumu" variables.
IMACICWU 35.158 Support for Mainview/CICS 7.1 SMF 110 BMCMVCIC.
IMACINIT 35.128 Note: OPTIONS NOCAPSOUT recommended for ODS users.
JCLTEST9 35.116 35.04 only. //MVJEIN DD in wrong step.
MDIJCL 35.299 Support for Luminex MDI box to run MXG on Linux.
RMFINTRV 35.006 Duplicate RMFINTRV if Multiple Capacity Groups exist.
RMFINTRV 35.282 New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
SMFINTRV 35.067 New START15INT/30INT/HRINT interval Starttimes.
TYPE0203 35.190 SMF type 2 subtype 2 (SMF Signature enabled) STOPOVER
TYPE0203 35.283 Support for APAR OA52828, SMF Temporary Buffer size.
TYPE102 35.017 New DB2 ZPARMS added to T102S106 dataset.
TYPE102 35.046 Support for IFCID 125 Truncated fields.
TYPE102 35.047 Support for IFCID 316 ACCESS CONTROL AUTH EXIT PARMS.
TYPE102 35.204 Support for new IFCID 376 variables in T102S376.
TYPE102 35.262 New DB2 zPARMS variables created in T102S106 dataset.
TYPE102 35.262 Support for new DB2 zPARMS added by RSU1708 and 1709.
TYPE103 35.134 Dataset TYPE103D vars T103DBYT/T103DREQ corrected.
TYPE110 35.105 CICS duration fields are now formatted TIME16.6.
TYPE113 35.141 SMF 113 Formula for RNI updated for z13.
TYPE113 35.246 SMF113/HIS formula for z14 L3P/RNI/SM1132SP changed.
TYPE113 35.310 Support for z14 SMF type 113 (INCOMPATIBLE).
TYPE115 35.011 For local time zones with +GMT, GMT115TM wrong.
TYPE116 35.192 MQMQUEUE INTS/STRT populated in subtype 2 records.
TYPE116 35.219 MQMACCT variable NETSNAME new format decoded.
TYPE117 35.015 Support for SMF 117 GTZ record.
TYPE119 35.173 Support for SMF 119 Subtype 11 Zert record.
TYPE119 35.220 Zero observations in TYP11920 dataset.
TYPE119 35.245 SMF 119 Subtype 81 INPUT STATEMENT EXCEEDED.
TYPE120 35.007 Liberty SMF 120 st 12 SM120CCC/CCD Year 2027.
TYPE120 35.024 Subtype 9 variables SMF1209EV,FI,EW no longer kept.
TYPE120 35.051 Support for Liberty 17.0.0.1 SMF 120 ST 12 new data.
TYPE120 35.060 Enhancement adds TOTAL/CP ONLY/ZIP CPU to TYP120BL.
TYPE120 35.060 SMF 120 ST 11 TYP120BL CP and zIIP variables added.
TYPE125 35.015 Support for SMF 125 GTZ record, untested.
TYPE129 35.109 Variables SM1209EX/EY/EZ/FA were dropped.
TYPE1415 35.040A IBM APAR OA51325 corrects missing UCB segment.
TYPE30 35.066 APAR OA59593 adds INELIGHONOR flag to SMF 30s.
TYPE30 35.205 Documentation of what is counted in SMF 30 EXCPs.
TYPE30_6 35.127 Negative values for Early Address Spaces corrected.
TYPE42 35.031 Variable S42DSIOS added to TYPE42DS.
TYPE42 35.137 APAR OA44319 improves accuracy for I/O durations.
TYPE42 35.240 Support for APARS OA52132/OA52133/OA61734 UNTESTED.
TYPE42 35.274 Support for APAR OA53110 new TYPE42 variables.
TYPE42 35.289 TYPE42 APARs OA52132, OA52133, OA61734 now tested.
TYPE42 35.305 Third incorrect SRLEN STOPOVER correction.
TYPE6156 35.207 TYPE6156 enhancement adds FIRSTGEN and LASTGEN.
TYPE70 35.270 Support for Container Pricing in SMF 70.
TYPE70 35.282 New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
TYPE7002 35.153 IBM RMF CRYPTO report TOTAL EXEC is AVERAGE EXEC.
TYPE7072 35.064 SMT Mode corrections, "Inflated" CPUZIPTM in MT=2
TYPE7072 35.093 Variables PLATBUSY/PCTOFHDWQ TYPE70/RMFINTRV wrong.
TYPE7072 35.113 35.04 only. TYPE79 SHARE weights wrong, ASUMCELP ok.
TYPE7072 35.285 Support for Container Pricing, new TYPE72TR dataset.
TYPE71 35.009 Support for APAR OA48913 with 2GB Memory Frames
TYPE74 35.146 TYPE749 Corrections, vars R749FPGBYTx, R749Dxxx.
TYPE74 35.182 MXG 34.07 INPUT STATEMENT EXCEEDED RMF 74 SUBTYPE 8.
TYPE74 35.193 Alignment for sync I/O variables.
TYPE74 35.273 Support for APAR OA50761 Virtual Flash memory.
TYPE78 35.021 TYPE78PA variables R782LSMO/GMFO/GFRR are wrong.
TYPE80A 35.029 RACFTYPE=6 segment increased in length, error msgs.
TYPE80A 35.231 RACFDIRECTED allows DELETE of RACF records DTP=44.
TYPE80A 35.231 RACFDIRECTED allows delete of multiple RACF records.
TYPE89 35.271 Support for Container Pricing in SMF 89.
TYPE90A 35.199 z/OS 2.3 type 9 subtype 38 INPUT STATEMENT EXCEEDED
TYPE92 35.180 SMF 92 Subtype 50 INPUT STATEMENT EXCEEDED RECORD.
TYPE991 35.123 New z/OS 2.2 variables added to TYPE991 dataset.
TYPEAXWY 35.150 Support for AXWAY Version 3.1.3, incomplete.
TYPEBBMQ 35.034 Support for BBMQ BMC Utility BBM9MD73 restructure.
TYPEBBMQ 35.176 Support for BBMQ QSDSTYPE='DISTRIBUTED SYSTEM TYPE'.
TYPEBE97 35.152 Support for Beta 97 Subtype 22 for version 430/610.
TYPEBE97 35.196 Support for BETA 97 Extended 610 Header (INCOMPATIBL)
TYPEBETA 35.139 BETA93 and BETA97 Subtype 25 restructure support.
TYPEBETA 35.209 Support for BETA 93 Version 610 (INCOMPATIBLE).
TYPEBETA 35.297 Support for BETA 93 Version 610 (update) 620 (added).
TYPEBVIR 35.260 BVIR History updated for 3.3 media codes and BVIR302.
TYPEBVIR 35.260 Support for new media/devices and BVIR302 correction.
TYPECIMS 35.197 IMF variables STRTTIME/ENDTIME now in microseconds.
TYPEDB2 35.016 DB2STATS QISTxxxx Storage multiplied by 4K vs 1K.
TYPEDB2 35.030 DB2STAT4 _REAL variables way too large.
TYPEDB2 35.081 DB2ACCTP, truncated QPACLOCN/COLN/PKID/ASCH/AANM
TYPEDB2 35.111 DB2 12.1 INVALID QLAC, CONTINUOUS DELIVERY CAUSED.
TYPEDB2 35.229 PDB.DB2STATB/STSBP protection for large gaps in data.
TYPEDB2 35.248 Four QWA225 and QWB225 variables now kept/input.
TYPEDB2 35.267 DB2 Netezza IDAA variables Q8STxxxx corrected.
TYPEDB2 35.277 New IFCID=225 QWA225PRISTG_PAGE variable added.
TYPEDB2 35.280 Exit Members EXDB2STS and _EDB2STS are now valid.
TYPEDCOL 35.064A Multi-Volume DCOLDSET fields retained & populated.
TYPEIAM 35.107 Support for IAM Version 9.0.
TYPEIMS 35.058 Support for IMS LOG 67D0 DIAGNOSTIC DC Log Record.
TYPEMVCI 35.062 Support for Mainview CICS CMRDETL file VER 6700.
TYPEMVCI 35.161 Support for BMC Mainview/CICS Version 7.1.
TYPEMVIP 35.055 Support for Mainview for IP PTF BPN2331 adds flag.
TYPEMVJE 35.094 Support for BMC Mainview for Java Environment.
TYPENMON 35.208 Nigel's Monitor changed HH:MM to N MINS, INCOMPAT.
TYPEOPAV 35.163 Support for Dell/EMC Mainframe Enabler PAV Optimizer
TYPEOPC 35.048 Support for IWS/TWS/OPC Version 9.3 ST 66 was ST 23.
TYPEOPSS 35.090 Support for CA's OPSS Product User SMF Record.
TYPEOSEM 35.010 OSEM User SMF INPUT EXCEEDED, invalid, circumvented.
TYPEPOEX 35.002 INVALID SMF Records caused STOPOVER ABEND.
TYPEPOEX 35.242 Support for Power Exchange Version 10.1.1.
TYPEPOEX 35.257 Protection for truncated Power Exchange SMF record.
TYPEQACS 35.288 Support for QAPMDISK with LENGTH=695.
TYPERMFV 35.005 Dataset ZRBLCP obs created for ONLINE LCPUADDRs.
TYPERMFV 35.028 New RMF III ZRBENC "long names" now input and kept.
TYPERMFV 35.044 ZRBCP SMT vars missing, new CPC_CECNAME variable.
TYPERMFV 35.191 Support for z/OS 2.3 ZRBASI and ZRBUWD new fields.
TYPERMFV 35.235 RMF III ZRBCPU enhanced with decodes of CPC_HOMEFLAG.
TYPERMFV 35.259 35.10: ZRBASI deaccumulation was not correct.
TYPERMFV 35.259 IBM 4HR MSU (CPUAVB4H) in ZRBCPU per) interval.
TYPERMFV 35.259 MSU Count variables added to ZRBASI/ZRBCPU/ZRPLCP.
TYPERMFV 35.259 New ZRBLCPLPAR dataset with per-LPAR totals.
TYPERMFV 35.287 MXG 35.10/35.11 RMF III ZRBASI ASICPUTA was WRONG.
TYPERMFV 35.300 The CPUPHYAD format could fail creation with ABEND.
TYPEROSC 35.177 PDB.ROSCOE, ROSIGNON Logon Time, CONNECTM, corrected.
TYPESVIE 35.059 Support for CA SYSVIEW for IMS 14, missing values.
TYPETMS5 35.278 Correction for TMS Stacked Tape Files wrong values.
TYPETPMX 35.261 Execution time for TYPETPMX halved by restructure.
TYPETPMX 35.261 Execution time reduction.
TYPETPX 35.035 Protection for invalid TPX subtype 7 record.
TYPETPX 35.155 STOPOVER when IP Port was changed from 4 to 5 digit.
TYPEVMXA 35.025 Using _VMINPUT. z/VM variable VMDUSER was 1 byte.
TYPEVMXA 35.040 Support for Velocity ZWRITE z/VM MONWRITE records.
TYPEVMXA 35.079 z/VM 6.3 SMT in VXSYTPRP, VXAPLSO0 corrections.
TYPEVMXA 35.092 Additional support for z/VM 6.4 (INCOMPAT, SYTLCK).
TYPEVMXA 35.093 MXG 35.03 only. PLATBUSY/PCTOF HDW TYPE70/RMFINTRV.
TYPEVMXA 35.131 Variable CALENMT incorrect, new CALSHARE variable.
TYPEVMXA 35.132 Support for zVM 6.4 APAR VM66026 new variables.
TYPEVMXA 35.145 zVM SMT INTERVAL vars were incorrectly DIF()'d.
TYPEVMXA 35.165 New variables added to VXMTRMEM dataset.
TYPEVMXA 35.174A MONWRITE VXBYUSR _MT1 and _PRO (SMT times) corrected.
TYPEVMXA 35.203 z/VM 6.4.17.1 INCOMPATIBLE fields.
TYPEVMXA 35.221 zVM MONWRITE VXPRCPUP dataset corrected.
TYPEXAM 35.063 Support for XAMSYS wrong length, XMTCPSYS NAMENODE.
TYPEXAM 35.074 Velocity XAM SYTCPU invalid errors at vendor.
TYPEXAM 35.164 New variables added to XAMSYS dataset.
TYPEXAM 35.195 Support for zVPS XAM XAMPUP segment.
TYPEXAM 35.218 XAMSYPUP dataset variables are now correctly aligned.
TYPEXAM 35.223 zVPS/XAM extra SYTCUP with totals is now decoded.
TYPEZDP 35.162 Support for Dell/EMC Mainframe Enabler zDP
UTILBLDP 35.143 Options SUPPRESS enhanced, NEVER corrected.
UTILBLDP 35.225 New EXPDBVAR/EXPDBCDE/EXPDBOUT to create subset.
UTILBLDP 35.306 SUPPRESS=74 variable DEVN NOT FOUND ERROR.
UTILBLDX 35.149 New BUILDJCL=YES uses IFASMFDP to save CPU time.
UTILCMPR 35.292 Utility compares numeric variables in OLD/NEW dataset
UTILEXCL 35.004 MXG 34.34 PDB.CICSDICT not FOUND - GET NEW UTILEXCL.
UTILEXCL 35.023 MXG 35.01.Old Dictionary Records were not used.
UTILEXCL 35.228 Support for 20 user character fields in CICSTRAN.
UTILEXCL 35.293 &MXGCIEXC "exit" to correct USER CMODHEAD typos.
UTILRMFI 35.026 Enhanced reporting if SRVCVLASS=SYSOTHER detected.
VGETSORT 35.112 35.04 only. ERROR Truncated SORTBY (name GT 32).
VGETxxxx 35.309 Protection for DATASET=PDB.dataset syntax.
VMAC38 35.136 NETVIEW ID=38 unexpected S38CCALR length corrected.
VMACSMF 35.266 SMF ID=2 SYSTEM=DUMY 14 byte records protected.
VMXGALOC 35.033 Month begin/logic revised, MNTHKEEP zero protected
VMXGFIND 35.117 Multiple input PDBs were read, only one was output.
VMXGPRNT 35.120 WPS only, MXG 35.04 Only, Blank Label ERROR.
VMXGSET 35.256 Example to read "concatenated" PDBs with PROC SQL.
VMXGSUM 35.020 MXG 35.01. Disregard MXGWARN VMXGSUM BACKLEVEL msg.
VMXGSUM 35.056 Correction for KEEPMNTH= (very rarely used) option.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== Changes thru 35.309 are in MXG 35.36 dated Jan 13, 2018=========
Change 35.309 All of these macros have both a DDNAME and a DATASET
VGETFMT parameter but if you specified DATASET=PDB.dataset they
VGETLABL would all fail since they looked for WORK.PDB.dataset.
VGETLEN This change looks at the code and if DDNAME is null looks
VGETVAR at dataset and uses the first 'word' delimited by '.' of
Jan 8, 2018 DATASET as the DDNAME and the second for the DATASET. If
there is no '.' then DDNAME is set to &MXGWORK.
Change 35.308 SAS defect in SAS 9.4 M5 PROC SQL, only M5 on z/OS, when
ASUMUOW PROC SQL is executed after OPTION OBS=0 was set, caused
Jan 6, 2018 "SQL SET NOEXEC OPTION" error message and ERRORABEND.
Error occurred in default ASUMUOW, but ONLY if you did
NOT enable IMACUOW to create observations, as then, MXG
sets OBS=0 prior to this failing PROC SQL (which had no
prior error message than the NOEXEC and which is still
under investigation by SAS Support: SAS NOTE 61672.
The circumvention is to add NOERRORSTOP to this PROC SQL
and to the several hundred other PROC SQLs in 51 members,
and do it now to hopefully avoid the need for a SAS fix.
Most of the SAS examples of PROC SQL use NOERRORSTOP and
no MXG written PROC SQL has ever had a syntax error, so
this circumvention will likely be permanent.
Option ERRORSTOP is the SAS Default for batch, and it
determines whether PROC SQL stops executing if it
encounters an error; option NOERRORSTOP instructs PROC
SQL to execute the statements and to continue checking
the syntax after an error occurs.
Change 35.307 ANALDB2R fails with broken DO syntax due to Change 35.263
ANALDB2R (MXG 35.11) which incorrectly set the count of SORTBY=
Jan 6, 2018 arguments, resulting in an error in the data steps, if
option PDBOUT=PDB is used.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 35.306 UTILBLDP with SUPPRESS=74 variable DEVN NOT FOUND ERROR.
UTILBLDP If you specified SUPPRESS=74 the sort of the TYPE74CA
Jan 6, 2018 dataset failed with BY variable DEVN not found.
When UTILBLDP found RMF datasets that are needed for
RMFINTRV are SUPPRESSED, we chose to still create them in
WORK so that RMFINTRV would find them and not fail.
But a change to SUPPRESS logic nulled MACRO _CDE74 and
only 16 variables were kept (those that were INPUT in the
other _CDEnnnn macros), and the _STY74 failed.
This change reinstates the logic that nulls the _Sxxxx
macro for suppressed RMF records so sorts will not fail,
but if you also want RMFINTRV to be valid, but don't want
the high volume TYPE74's processed, then you should use
ZEROOBS=74 so the datasets will be created but with zero
OBS, so RMFINTRV will be happy.
Change 35.305 -Jan 04: MXG 35.35 didn't protect LENSR=480 length, caused
VMAC42 STOPOVER if you happen to have that length/APAR.
Jan 4, 2018 -Jan 04, IBM confirmed their incorrect values and will now
set SRLEN=160, and note that that does NOT include the
SYNC segment's 80 bytes when present.
-Change 35.302 in MXG 35.36 was the original change.
-Change 36.023 in MXG 36.01 added invalid LENSR=232.
Change 35.304 New variables in TYPE71 in z/OS 2.3:
VMAC71 SMF71L8M ='MIN 1MB*FRAMES*IN CSTORE'
Jan 4, 2018 SMF71L8X ='MAX 1MB*FRAMES*IN CSTORE'
SMF71L8A ='AVG 1MB*FRAMES*IN CSTORE'
SMF71L9M ='MIN 1MB*AVAILABLE*FRAMES*IN CSTORE'
SMF71L9X ='MAX 1MB*AVAILABLE*FRAMES*IN CSTORE'
SMF71L9A ='AVG 1MB*AVAILABLE*FRAMES*IN CSTORE'
SMF71L10M='MIN 1MB*FRAMES*IN-USE BY*MEM OBJECTS'
SMF71L10X='MAX 1MB*FRAMES*IN-USE BY*MEM OBJECTS'
SMF71L10A='AVG 1MB*FRAMES*IN-USE BY*MEM OBJECTS'
====== Changes thru 35.303 are in MXG 35.35 dated Jan 3, 2018=========
Change 35.303 One z/OS SAS 9.4 M5 site gets SQL SET NOEXEC OPTION that
VMXGUOW terminates the job, currently under investigation by SAS
Jan 4, 2018 support, but adding NOERRORSTOP option to the PROC SQL
does circumvent the error, so it has been added to the
one failing PROC SQL in hopes thats the only one needed.
This note will be revised when more is known.
Change 35.302 SMF 42 st 5/6 with OA54112 now has three SRLEN values of
VMAC42 of 240 and 400, and 480 from OA52132/OA52133/OA61745 in
Jan 2, 2018 Change 35.289, and all three are wrong.
Jan 3, 2018 The actual length of the SR segment in each record is
Jan 4, 2018 variable, with 160 bytes if there is no SYNC segment, or
240 bytes when the SYNC segment is present. All three
are now protected. The error caused STOPOVER ABEND.
-New variable S42SNCONC='CONCURRENT*SYNC I/O*READ+WRITE'
added to TYPE42SR and TYPE42DS datasets.
-Jan 03: another incorrect SRLEN value of 320 protected in
MXG 35.36.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 35.301 If in your ASUMUOW you defined _LDB2ACC as something
VMXGUOW other than DB2ACCT.DB2ACCT (like DB2.DB2ACCT) and the
Dec 30, 2017 DDNAME did not exist in your LIBNAME or DD statements
ASUMUOW would ABEND with a LIBREF not found. Now the
code looks for this condition, gives you an MXGWARN
message and sets _LDB2ACC to _NULL_ so that ASUMUOW
will run.
Change 35.300 The CPUPHYAD format could fail to be created with error
VMACRMFV messages of overlapped values, when there were multiple
Dec 31, 2017 values of CPUPHYAD (CEC Speed), as when you change the
number of engines for an LPAR; that error caused the
TYPERMFV job to ABEND USER 999.
Thanks to MP Welch, Bank of America, USA.
Change 35.299 Luminex now offers a small Linux appliance called an MDI
MDIADHOC (Mainframe Data Integration) that provides another way to
MDIJCL move MXG jobs off of zOS and onto an ASCII platform. Jobs
MDIJCL1 are still submitted from zOS, so your scheduling system
MDIJCL2 is still in control, but the actual processing of the SMF
MDIJCL3 data occurs on the LINUX platform, and the output PDB's
MDIJCL4 live on storage attached to the MDI. Reports can be sent
MDIPDB back to zOS or routed on your network wherever the MDI
MDIPDB1 can attach. Each job uses 2-3 virtual tape devices, for
MDIPDB2 the SMF input, the SASLOG, and the SASLIST. One site had
MDIPDB3 1TB of SMF, split when SMF was dumped into three outputs,
MDIPDB4 DB2, CICS, for each of 12 LPARS, so 36 concurrent jobs
Dec 31, 2017 processed that data in a bit less than two hours on a
Jan 6, 2018 single MDI.
These sample members provide examples of JCL and code
to run jobs on the MDI. The JCL is very case sensitive
and casing for program names must match the case as
stored in your USERID.SOURCLIB. Also the names and case
of the LOG and LIST datasets in the LUMXPROC must match
the program name.
MDIJCL /MDIPDB runs a basic BUILDPDB adding the 42
and 6156 data to the PDB using
UTILBLDP and BLDSMPDB wirh AUTOALOC
MDIJCL1/MDIPDB1 runs a basic BUILDPDB adding the 42
and 6156 data to the PDB using
UTILBLDP and BLDSMPDB wirh AUTOALOC
and suppressing CICS and DB2 data
MDIJCL2/MDIPDB2 runs VMXGALOC with READONLY=YES
(which suppresses the aging of the
directories) and then runs TYPS110
and CICINTRV.
MDIJCL3/MDIPDB3 runs VMXGALOC with READONLY=YES
(which suppresses the aging of the
directories) and then runs READDB2.
MDIJCL4/MDIPDB4 runs VMXGALOC with READONLY=YES
(which suppresses the aging of the
directories) and after MDIJCL2 and
MDIJCL3 have run will run ASUMUOW.
MDIADHOC JCL for adhoc reporting allows you to
write your program on z/OS and run the
MDI.
Thanks to Chuck Hopf, Independent Consultant, USA.
Thanks to Earl Kline, Luminex, USA
Thanks to Paul Massengill, Luminex, USA
Thanks to Daniel Saunders, Luminex, USA
Thanks to David Feimer, Luminex, USA
====== Changes thru 35.298 are in this MXG 35.12 dated Dec 26, 2017=====
Change 35.298 While all MXG Variables are upper case, mixed case names
VGETFMT are allowed, so you can easily create variable names with
VGETLABL lower case characters, but the listed macros all failed
VGETLEN to find those variable names. The macros are revised to
VGETVAR UPCASE both sides of the compare without changing the
Dec 23, 2017 returned variable name.
Change 35.297 Support for BETA 93 Version 610 (update) and 620 (added).
EXTYBETK -BETA1 blank values for BETADCR corrected and new vars:
EXTYBETL I001PTYPE='PROTOCOL*TYPE'
EXTYBETM I001IPADDR='IP*ADDRESS'
EXTYBETN I001HOST ='HOST*NAME'
FORMATS I001PORT ='HOST*NAME'
VMACBETA I001QUEUE ='HOST*NAME'
VMXGINIT I001FFPARM='HOST*NAME'
Dec 23, 2017 -Support for 620 new subtype 59 creates three datasets and
subtype 22 record is now decoded and creates BETA22VAL:
TYBETK BETA59 SUBTYPE 59 STC START/STOP
TYBETL BETA59RFF SUBTYPE 59 SFF JOB STATS
TYBETM BETA59SFF SUBTYPE 59 SFF JOB STATS
TYBETN BETA22VAL SUBTYPE 22 VALUES
Change 35.296 A WHERE clause in PROC SQL is case sensitive, and if you
VGETLABL create your own variable NAMEs with low case characters,
VGETFMT your variable will NOT be found; only upper case variable
VGETLEN names are found. MXG does not create low case names, and
Dec 20, 2017 cannot detect them in the WHERE clause. No code changed.
Change 35.295 Support for 164-byte DBCTL segment for CICSTRAN dataset.
IMACICDB
Dec 20, 2017
Thanks to Ervin Claxon, CSX Technology, USA.
====== Changes thru 35.294 are in this MXG 35.12 dated Dec 20, 2017=====
Change 35.294 SMF 116 records with MQMSSSID mismatched to QWHSIDMQ
VMAC116 printed MISMATCHED message on the log for every mismatch;
Dec 19, 2017 now, only the first three are printed.
Thanks to Denise Williers, Wipro, USA.
Change 35.293 &MXGCIEXC is a new "exit" for UTILEXCL wherein you can
UTILEXCL correct misspellings in USER CMODHEAD field causing the
VMXGINIT DUPLICATE CONN report (same offset has two names, usually
Dec 19, 2017 caused by a typo by the CICS SYSPROG who does the DFHMCT
assembly of that Monitor Control Table). This change
circumvents the need to reassemble. You would use:
//SYSIN DD *
%LET MXGCIEXC=
%QUOTE(
IF CMODHEAD='PSB ACTV' THEN DO;
PUTLOG _N_= CMODNAME= CMODHEAD=
SMFPSRVR= MCTSSDRL= MCTSSDCN=;
CMODHEAD='PSB ACTI';
END; );
%INCLUDE SOURCLIB(UTILEXCL);
_BLDDICT _BLDEXCL _RPTEXCL
Thanks to Denise Williers, Wipro, USA.
Change 35.292 A utility to Compare numeric variables values in OLD and
UTILCMPR NEW versions of the same SAS dataset, using PROC MEANS to
Dec 30, 2017 compare the value of each statistic of each variable.
%UTILCMPR(IN1=OLD.ZRBASI,IN2=NEW.ZRBASI);
Change 35.291 GCHART AXIS statements were made compatible with WPS
GRAFCEC 03.03.02.00.0222553, and some code was simplified and
GRAFLPAR logic added to STOP if no obs in RMFINTRV and to not
GRAFWRKX plot eligible times if there were none.
GRAFWRKC The WPS graphs are printed in different order, all for a
Dec 15, 2017 particular metric, whereas SAS prints all for an LPAR.
Jun 28, 2019 While GRAFLPAR is supported, it is obsolete and GRAFCEC
should be used instead, as it has superior reports.
Jun 28, 2019: This statement is not true in WPS 4.1.
-As WPS does not support SGPLOT, GRAFWRKC plots had to be
duplicated using the GBARLINE and GCHART procedures and
INCODE= added for data selection.
Change 35.290 Clear of _HSMPLEX macro added at end so that you can
ASUMHSM execute ASUMHSM multiple times in a single job.
Dec 13, 2017
Change 35.289 Support for TYPE42 APARs OA52132, OA52133, and OA61734,
VMAC42 originally coded in Change 35.240, has now been revised.
Dec 12, 2017 A Subtype 5 STOPOVER was caused by new records with the
SRLEN=480 but with actual SR Segment length of 160, or
240 if the new SYNC segment is present, but the actual
length of the SYNC segment is 80 bytes with APAR only
documenting 72. Finally, records with SRLEN=208 and no
SYNC segment are written with only 160 bytes documented.
Change 35.288 Support for new TYPECONF GKEYPM variable and new length
VMACQACS of QAPMDISK of 695 to align those records, although no
Dec 11, 2017 new fields are input in this iteration, awaiting doc.
Thanks to Larry E. Hanus, DST Systems, USA.
Change 35.287 -MXG 35.10 and 35.11 RMF III ZRBASI deaccumulate was WRONG
VMACRMFV DESIGN: should NOT replace ASICPUTA with ASICPUTA_LF, and
Dec 15, 2017 WRONG IMPLEMENTATION: insufficient QA tests, causing the
Dec 21, 2017 value in both variables to be frequently wrong, and if
there were multiple CEC Speeds (CPUPHYAD values) the MSU
value in ZRBASICPUMSU=ZRBASI*CPU MSU*COUNT was wrong.
-This change restores the original ASICPUTA value and the
deaccumulated higher resolution value is in ASICPUTA_LF
so YOU can choose to use the variable of YOUR choice.
-This change also adds variable CPC_CECNAME to ZRBLCP and
ZRBLCPLPAR datasets, and creates a format for CPUPHYAD
lookup (by SYSPLEX SYSTEM) from ZRBCPU to pass CPUPHYAD
into the ZRBASI dataset for MSU calculations.
-Duplicate ASI records for the same task in an interval do
exist, as when a task changes it's JOB name, and they are
visible in RMF III reports, but the deaccumulate can be
a missing value as IBM has not provided a way to identify
which was the first observation and which was the second.
In addition, records with seconds of CPUTCBTA value and
microseconds for CPUTCBTA_LF have been observed, so the
value of using CPUTCBTA_LF needs to be examined in your
data. These issues are open with RMF development, and
this text will be updated when more is known.
-Dec 21: Invalid INPUT for PHYCPUAD message had no impact
but was corrected; was printed when no ZRBCPU matched.
Thanks to MP Welch, Bank of America, USA.
Change 35.286 MXG variable IOTMNOCA, uncaptured IO Connect Time in 30s,
BUILD005 was incorrectly calculated in BUILDPDB and SMFINTRV using
BUIL3005 SMF30AIC-IOTMTOTL instead of -IOTMDASD causing negative
SMFINTRV values. But SMF30AIC is the connect time for the ASID
Dec 6, 2017 and Dependent Enclaves, but does NOT include FICON chans
which could also cause negative values.
Thanks to Randy Hewitt, DXC Technology, USA.
Change 35.285 Support for Container Pricing in RMF 72 records creates
EXTY72TR new TYPE72TR dataset for Tenant Resource Group that are
IMAC7072 added by APAR OA52694. TYPE72TR has the same variables
VMAC7072 that are in TYPE72GO with new variables for TRG
VMAC79 R723GGTI='TENANT*IDENTIFIER'
VMXGINIT R723GGTN='TENANT*NAME'
Dec 7, 2017 R723GGKY='TENANT*SOLUTION*ID'
R723GGTF='TENANT*RESOURCE*GROUP?'
and these variables added to both TYPE72GO and TYPE72TR:
R723CPA_ACTUAL ='PHYSICAL*CPU*ADJUSTMENT*FACTOR'
R723CPA_SCALING='SCALING*FACTOR*FOR*R723_ACTUAL'
-Flag variables added to TYPE792 and TYPE795 dataset
R792FLG32='R792RGRP*IS A*TRG?'
R795FLG6='R795RGRP*IS A*TRG?'
Change 35.284 -MXG 35.11 inserted statements to create ZRBCPUxxxMSU vars
VMACRMFV incorrectly inside MACRO _EZRBCPU and _EZRBLCP definition
Dec 6, 2017 causing UNINIT variable if you had tailored EZRBCPU.
Dec 8, 2017 -Missing values for ZRBCPUZIPMSU were corrected. The new
Dec 9, 2017 ZRBLCPLPAR dataset requires the CPUG3 CPCDB, and SSHG3
tables, or ASMRMFV Table IDs of CPU and CPC, since SSH is
always selected.
Thanks to MP Welch, Bank of America, USA.
Change 35.283 Support for APAR OA52828 which allows customization of
VMAC0203 the size of the SMF Temporary Buffer used to hold SMF
VMAC7 data during IPL processing.
VMAC23 TYPE0 dataset new variable
Dec 5, 2017 SMF0TBUF='SMFTBUFF*PARAMETER*SPECIFIED*MEGABYTES'
TYPE7 dataset new variable
SMF7TBLS='BYTES LOST*DURING SMF*INITIALIZATION';
TYPE23 dataset new variable
SMF23MBU='MAX BYTES*STORED IN*SMFTBUFF'
Change 35.282 A new set of variables added to TYPE70 and RMFINTRV to
VMAC7072 capture the number and usage of IIP, IFL, and ICF CPS
VMXGRMFI for the platform (CEC).
Dec 5,2017 PLATZIPCPUS - The number of IIPs on the CEC
PLATZIPBUSY - The total % busy of all the IIPs
PLATIFLCPUS - The number of IFLs on the CEC
PLATIFLBUSY - The total % busy of all the IFLs
PLATICFCPUS - The number of ICFs on the CEC
PLATICFBUSY - The total % busy of all the ICFs
Change 35.281 TACI802 dataset variable FINTIME was not converted from
VMACMVIP GMT to LOCAL Time zone.
Dec 4, 2017
Thanks to Paul Volpi, UHC, USA.
Change 35.280 The Exit member EXDB2STS and _EDB2STS macro are now used
VMACDB2 to give control of the output of PDB.DB2STATS; previously
Dec 6, 2017 defined but not used.
Thanks to Scott Barry, SBBWorks Inc., USA.
====== Changes thru 35.279 are in this MXG 35.11 dated Dec 1, 2017=====
Change 35.279 Support for Dec 2017 z14 CPU MF formula update.
ASUM113 The EXTND158 counter was moved from L3P to L4LP.
VMAC113 -John's updated formulas are available at
VMACVMXA
Nov 30, 2017
http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TC000066
Change 35.278 Correction for TMS Stacked Tape Files; these variables
TYPETMS5 were not retained from the first DSNB record into the
VMACTMS5 "CHANGED" records so they were incorrect:
Nov 30, 2017 RFILSEQ RLRECL RBLKSIZE RRECFM RSTPNAME RFILPERC;
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.277 Support for IFCID=225 new fields in DB2STAT4 dataset:
VMACDB2 QWA225PRISTG_PAGE /**DBM1*PRVT ELIG*PGSTEAL*/
Nov 28, 2017 QWB225PRISTG_PAGE /**DIST*PRVT ELIG*PGSTEAL*/
Dec 6, 2017 IBM DSECT notes these fields contain:
Number of Private discarded pages eligible for Page
Steal. Currently backed frames which are still charged
to DB2, minus this count, is the true REAL Storage
usage at this time.
I can not find the "currently backed frames" fields and
have asked IBM for help; this note will be updated when
the correct fields are known so the usage variable can
be created.
IBM DB2 Support response Nov 30:
All IFCID225 fields are described in the dataset
'DSNB10.SDSNIVPD(DSNWMSGS)'. It does not look like we
capture that statistic. The values are captured from
RMF and are included with DB2 statistics records to
assist with reporting. Anything not contained will
still be available in RMF.
-Dec 6: UNINIT PRISTGDPAGE and correct spell as _PAGE.
Change 35.276 Support for CICSTRAN User field RFSEMP01/RFSDATA creates
IMACICWX seven variables, RFSEMP01F1-RMSEMP01F7.
IMACAAAA
UTILEXCL
VMAC110
Nov 27, 2017
Change 35.275 Addition of TYPE70TR dataset required protection in the
ANALRMFR PDB=SMF part of the program to prevent the
Nov 26, 2017 ERROR: No dataset open to look up variables.
when the _STY70TR was executed without prior build.
Change 35.274 Support for APAR OA53110 adds new variables:
VMAC42 S42DSRRU='AVG RESPONSE*RANDOM*READ*CACHE'
Nov 22, 2017 S42DSRSU='AVG SERVICE*RANDOM*READ*CACHE'
SMF42IFW='AVERAGE*FAST-WRITE WAITS*PER MINUTE'
SMF42IHR='AVERAGE*HIT*RATIO'
Change 35.273 Support for APAR OA50761 adds new R7410FLG='Y' if the
VMAC74 resource is Virtual Flash Memory.
Nov 22, 2017
Change 35.272 Change 34.151 set SYSLAST to the value of OUTDATA so that
VMXGSUM subsequent PROC steps would automatically find the output
Nov 22, 2017 of VMXGSUM as the last dataset created, but if you added
any dataset options like (KEEP or (INDEX then while the
dataset was correctly created, an error message was
generated that either told you the dataset name was
invalid or that it exceeded 42 bytes depending on the SAS
version you were running. NOTE: there must be a space
between the dataset name and any options you choose to
specify.
Thanks to Robert Gilbert, BNP Paribas Fortis, BELGIUM.
Change 35.271 Support for Container Pricing in SMF 89 records creates
EXTY89R1 New variables in TYPE89 and TYPE892:
EXTY89R2 SMF89COREMODECP='CPUS*ACTIVE*ON CP*CORE'
EXTY89TI SMF89COREMODEZAAP='CPUS*ACTIVE*ON ZAAP*CORE'
IMAC89 SMF89COREMODEZIIP='CPUS*ACTIVE*ON ZIIP*CORE'
VMAC89 New variables in TYPE892:
VMXGINIT SMF89CURREGS ='INSTANCES*OF CURRENT*REGISTRATIONS'
Nov 27, 2017 SMF89TRGREGS ='INSTANCES*OF CURRENT TRG*REGISTRATIONS'
SMF89DELTAREGS='INTERVAL*DELTA*CURRENT*REGISTRATIONS'
SMF89DELTATRG ='INTERVAL*DELTA*TRG*REGISTRATIONS'
New dataset TYPE89TI 'INTERSECTION TENANT RESOURCE GROUP'
PRODOWNR= 'SMF89TCPO PRODUCT*OWNER'
PRODNAME= 'SMF89TCPN PRODUCT*NAME'
PRODVERS= 'SMF89TCPV PRODUCT*VERSION'
PRODQUAL= 'SMF89TCPQ PRODUCT*QUALIFIER'
PRODID = 'SMF89TCPI PRODUCT*ID'
SMF89TIPO 'INTERSECTING*PRODUCT*OWNER'
SMF89TIPN 'INTERSECTING*PRODUCT*NAME'
SMF89TIPV 'INTERSECTING*PRODUCT*VERSION'
SMF89TIPQ 'INTERSECTING*PRODUCT*QUALIFIER'
SMF89TIPI 'INTERSECTING*PRODUCT*ID'
SMF89_TRG 'TENANT*RESOURCE*GROUP'
SMF89TCFG 'TENANT*USAGE*ENTRY*FLAGS'
SMF89TCCT 'TENANT*PRODUCT*INTERSECT*CP TCB TIME'
SMF89TCZT 'TENANT*PRODUCT*INTERSECT*ZIIP TIME'
New dataset TYPE89R1 'TENANT RESOURCE GROUP DATA'
SMF89TIPO='INTERSECTING*PRODUCT*OWNER'
SMF89TIPN='INTERSECTING*PRODUCT*NAME'
SMF89TIPV='INTERSECTING*PRODUCT*VERSION'
SMF89TIPQ='INTERSECTING*PRODUCT*QUALIFIER'
SMF89TIPI='INTERSECTING*PRODUCT*ID'
SMF89_TRG='TENANT*RESOURCE*GROUP'
SMF89TCFG='TENANT*USAGE*ENTRY*FLAGS'
SMF89TCCT='TENANT*PRODUCT*INTERSECT*CP TCB TIME'
SMF89TCZT='TENANT*PRODUCT*INTERSECT*ZIIP TIME'
New dataset TYPE89R2 'TENANT RESOURCE GROUP DATA'
SMF89TIPO='INTERSECTING*PRODUCT*OWNER'
SMF89TIPN='INTERSECTING*PRODUCT*NAME'
SMF89TIPV='INTERSECTING*PRODUCT*VERSION'
SMF89TIPQ='INTERSECTING*PRODUCT*QUALIFIER'
SMF89TIPI='INTERSECTING*PRODUCT*ID'
SMF89_TRG='TENANT*RESOURCE*GROUP'
SMF89NRTRG'CURRENT*TRG*REGISTRATIONS'
Change 35.270 Support for Container Pricing in RMF 70 records creates
EXTY70TR new TYPE70TR dataset with these Tennant Resource Group
VMAC7072 variables in APAR OA52694:
VMXGINIT TRG_NAME ='TENANT*RESOURCE*GROUP*NAME'
Nov 22, 2017 TRG_DESC ='TENANT*RESOURCE*GROUP*DESCRIPTION'
TRG_TNTID ='TENANT*IDENTIFIER'
TRG_TNTNAME='TENANT*NAME'
TRG_SBID ='TENANT*SOLUTION*ID'
TRG_SUCP ='TENANT*CP*MSU*UNITS'
TRG_SUIFA ='TENANT*ZAAP*MSU*UNITS'
TRG_SUSUP ='TENANT*ZIIP*MSU**UNITS'
TRG_SULAC ='TENANT*CP 4HR*AVERAGE*MSU'
Change 35.269 Support for CICS User field USERPRC1/WANLUPRC.
IMACAAAA
IMACICWV
PRODTEST
UTILEXCL
VMAC110
Nov 21, 2017
Change 35.268 SAS 9.1.3 SP4 (SAS (R) 9.1 (TS01.01M3P02022006) failed
SAS* with ERROR: OBTAIN FAILED FOR FILE SMF, RC=24. because
Nov 19, 2017 the new parm EATTR=OPT was enabled for non-VSAM datasets,
so they can reside on EAV volumes, but that was not
supported until SAS 9.2
Thanks to Jeffery Kirsch, Compuware, USA.
Change 35.267 -DB2 Netezza IDAA variables Q8STDSKB and Q8STDSKU were
VMACDB2 both wrong; Q8STDSKU was incorrectly multiplied and DSKB
Nov 17, 2017 was missing that multiplication.
-Variables Q8STINSC/UPDC/DELC/DRPC/CRTC/CMTC/RBKC/OPNC
WERE ALL WRONGLY SET EQUAL TO Q8STACPU.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.266 SMF ID=2 SYSTEM=DUMY "SMF Signature Enabled" records that
VMACSMF are only 14 bytes were still created after APAR OA50483
Nov 17, 2017 was installed, causing INPUT STATEMENT EXCEEDED error, as
MXG expected these records to contain additional data in
either a subtype 1 or 2 record. Now, MXG tests for the
length=14 and deletes these 'DUMY' records, silently.
The APAR reported the exposure was only when Logstream
data is read, and infrequently.
In IBM's unstated defense, the "subtypes are valid" bit
wasn't turned on, justifying the original 14 byte length,
but MXG had keyed off that unique system name of DUMY.
If you see the DUMY in a hex dump, you can circumvent
with MACRO STOPOVER MISSOVER % as your first //SYSIN.
to prevent the ABEND until you have this VMACSMF update.
Update: See Change 38.033.
Thanks to Paul Volpi, UHC, USA.
Thanks to Brian D. Peterson, UHC, USA.
Thanks to Donald R. Striegel, UCH, USA.
Change 35.265 MXG 35.10. BPHITRAT always missing in DB2STATB because
VMACDB2 line 4057 (BPHITRAT=.;) should have been deleted. You
Nov 14, 2017 can recalculate in your reporting using
IF QBSTGET GT 0 THEN BPHITRAT=
(QBSTGET-(QBSTRIO+QBSTSPP+QBSTDPP+QBSTLPP))/QBSTGET;
ELSE BPHITRAT=.;
Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.
Change 35.264 CICS interval statistics in the Dispatcher Records, CICDS
VMAC110 dataset, have the sum of DSGTDT+DSGTWT, DISP+WAIT time
VMXGCICI that is greater than the interval DURATM, with DSGTWT as
Nov 14, 2017 much as 5900 seconds for a 3600 second interval (and the
DSGTDT in those segments are milliseconds or less); that
sum was used calculate STARTIME and DURATDS. Now, DURATM
is stored in DSGTWT and used for calculations, and then
DSGTWT=DURATM-DSGTDT recalculates the possible wait time.
See Change 36.076.
-The message "ERROR: IF YOU USE CICINTRV..." when MXG
detected the condition (DURATM GT INTERVAL REQUESTED)
is change to "MXGWARN:..." as few actually use CICINTRV.
-This data has only been seen from ancient CICS/TS 4.2.
Thanks to Ed Wieszczek, Zions Bank, USA.
Change 35.263 If you didn't specify a SORTBY= parameter for the ACCOUNT
ANALDB2R report, it could fail trying to resolve a macro variable
Nov 10, 2017 that did not exist.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 35.262 New DB2 zPARMS added include
FORMATS QWP4MUDI='MORE*UNION*DISTRIBUTION' which is decoded by
VMAC102 a new format
Nov 22, 2017 QWPRSTACS='STATCKGSRT'
QWP4BSACP='ALTERNATE*CP'
QWP4UDBSG='UTIL*DBBSG'
QWP4ULBSG='UTIL*LGBSG'
QWP4CYFR ='COPY*FAST*REPLICATION'
QWP4DDLM ='DDL*MATERIAL*IMMED*PEND'
QWP4CDSTL='CACHDYN*BOTH*CAPTURE*LOAD*NONE'
QWP4ZHYPL='ZHYPERLINK*ENABLE*DISABLE*BDATABASE'
Change 35.261 Execution run time for TYPETPMX halved by restructuring
VMACTPMX the 700 WHEN clauses into 13 subgroups of first letter of
Nov 8, 2017 the WHEN argument text value.
Thanks to Kurt Gramling, TSYS, USA.
Change 35.260 BVIR History file updated for formats for 3.3 media codes
FORMATS and BVIR302 fields were corrected.
VMACBVIR
Nov 9, 2017
Thanks to Spain.
Change 35.259 -RMF III Interval MSU variables in ZRBASI/ZRBCPU/ZRBLCP
VMACRMFV with these counts of Million Service Units
Nov 8, 2017 ZRBASICPUMSU='ZRBASI*CPU MSU*COUNT'
Nov 12, 2017 ZRBCPUCPUMSU='ZRBCPU*CPU MSU*COUNT'
Nov 18, 2017 ZRBCPUZIPMSU='ZRBCPU*ZIP MSU*COUNT'
Nov 24, 2017 ZRBLCPCPUMSU='ZRBLCP*CPU MSU*COUNT'
Nov 30, 2017 where the Software MSU Coefficient CPUPHYAD is used by
ZRBCPUCPUMSU=CPUPHYSI*CPUPHYAD/1000000;
So, an LPAR in a CEC with CPUPHYAD=20000, with the CPU
Partition Dispatch time of 15 seconds in an interval,
would have an MSU Count = (15*20000)/1000000 =0.3 MSU.
If the interval duration was one minute, the IBM ACT
"Actual" MSU on the RMF III CPC report, a projection
of this interval's value to an hourly total as if all
intervals were this value, would be 60*0.3=18 MSU per
hour, which is the value in this new variable:
ZRBLCPCPUMSUHR='ZRBLCP*IBM ACT MSU*PROJECTED*HRLYMSU'
-Dataset ZRBLCP contains data on ALL LPARS in a SYSPLEX,
reading data from only one SYSTEM in that SYSPLEX, but it
has an obs for each LCPUADDR in each LPAR. This change
creates new ZRBLCPLPAR dataset when ZRBLCP is sorted,
with the LPAR totals for each LCPUPRTY engine for each
interval, but there is no 4HR AVG MSU variable in ZRBLCP.
To create ZRBLCPLPAR the CPUG3, CPCDB and SSHG3 tables
are needed.
-The actual IBM 4HR MSU (CPUAVG4H) is in ZRBCPU dataset
at one minute or even 30 second intervals, but you have
to read the data from every system to populate ZRBCPU for
all LPARs.
-MXG 35.10, the deaccumulation of the six ZRBASI variables
(actually added by z/OS 2.2) was not sufficiently tested
and could have incorrect values in these variables:
ASICPUTA_LF ASITCBTA_LF ASIIOCNT_S ASITRCA_S ASITET ASITRT
for jobs that have duplicate names with different ASID-NR
and only if you used TYPSRMFV or _SZRBASI to sort ZRBASI.
The new-in-35.10 MXG deaccumulation of CPU_LF fields by
_SZRBASI failed to include the ASID number, PERIOD, and
JCTJOBID to deaccumulate those six variables.
The ZRBASI dataset created by TYPERMFV was not in error.
-As documented in Change 35.249, the value in ASICPUTA is
is larger with 35.10 because the higher resolution CPU in
ASICPUTA_LF is stored in ASICPUTA, with ASICPUTA_ORIG
keeping the original lower value.
-Nov 30: LPARNAME in ZRBCPU is now always populated.
Change 35.258 35.09-35.10, Macro Language error, missing double periods
ANALID in line ANALID: &PDBMXG..SMFRECNT DOES NOT EXIST;
Nov 7, 2017
Change 35.257 Power Exchange User SMF INPUT STATEMENT EXCEEDED ERROR;
VMACPOEX the record should have 21 POEX segments but has only 3,
Nov 7, 2017 and the last segment is only 90 versus 95 bytes.
This change will be updated when the vendor's records are
correct. This was from 9.6.1, but I've recently read
that version's records with no errors.
Thanks to Tracey Davidson, USBank, USA.
Change 35.256 No code change, but a new example using PROC SQL to read
VGETDDS "concatenated" PDB data libraries.
VMXGSET // EXEC MXGSASV9
Nov 7, 2017 //PDB1 DD
//PDB2 DD
%VGETDDS(DDNAMES=PDB: );
DATA MYVIEW/VIEW=MYVIEW;
%VMXGSET(DATASET=MNTHJOB);
PROC SQL;
SELECT YEAR(DATEPART(JINITIME)) AS MYYEAR LABEL= 'YEAR',
MONTH(DATEPART(JINITIME)) AS MYMONTH LABEL = 'MONTH',
SYSTEM, JOB, TYPETASK ,
ACCOUNT1, SUM(NORMCPU) AS TOTALNORMCPU ,
JOB FROM MYVIEW
WHERE JOB LIKE 'MYJOB%'
AND MONTH(DATEPART(JINITIME)) = 09
GROUP BY JOB, SYSTEM ;
Thanks to Paul W Schreiber, AT&T, USA.
====== Changes thru 35.255 are in this MXG 35.10 dated Nov 6, 2017=====
Change 35.255 -MXG 35.10, Change 35.240 DIVIDE BY ZERO error when the
VMAC42 IOCCOUNT=0 in TYPE42SR, now protected, but had no impact
Nov 6, 2017 on the TYPE42SR dataset, DCMEPCT still missing.
Nov 14, 2017 -Subtype 5 INPUT STATEMENT EXCEEDED when 68 bytes were
added for the SYNC segment, but SYNC Offset was zero.
Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.
Thanks to Stan Adriaensen, AXA-Tech, BELGIUM.
====== Changes thru 35.254 are in this MXG 35.10 dated Nov 6, 2017=====
Change 35.254 Variables QW0225_ECSA_aaaa and QW0225_ESQA_aaaa were
VMACDB2 incorrectly multiplied by 4096.
Nov 5, 2017
Thanks to Rick Southby, IAG, AUSTRALIA.
Change 35.253 Some of the macro variables coming back from PROC SQL
PDBAUDIT are longer than the 262 character literal length since
Nov 5, 2017 the spaces count and could generate spurious messages
particularly in the QA stream.
Change 35.252 MXGWARN message variable JESNR missing value and blank
VGETJESN TYPETEST is suppressed for records with SUBSYS='SMS' and
Nov 4, 2017 JCTJOBID='INIT'; variable values are unchanged as those
records for tasks in initiation have neither.
VGETJESN already suppressed warning for JCTJOBID='MSTR'.
Change 35.251 Support for CICS/TS 5.4 Statistics STID=21, adds BMS 3270
EXCICASG counters to the CICVT (VTAM) dataset, new STID=149 record
VMAC110 creates new CICASG Statistics for the AS Domain.
VMXGINIT
Nov 3, 2017
Thanks to Perry Lim, Union Bank, USA.
Change 35.250 Support for Thruput Manager fields JBAACT JBDEA JLIMT and
VMACTPMX REQUIRED.
Nov 4, 2017
Thanks to Kurt Gramling, TSYS, USA.
Change 35.249 -Support for z/OS 2.3 RMF III CPUG3 record dataset ZRBCPU
VMACRMFV changed CPUHOOFF offset value caused some variables to
Nov 3, 2017 be wrong, notable the Capacity Group Name and adjacent.
-Variable ASICPUTA in ZRBASI dataset will be larger with
this change, as IBM has added new accumulated ASICPUTA_LF
(long float) field with higher resolution, which is now
deaccumulated and REPLACES ASICPUTA's original value.
New variable ASICPUTA_ORIG contains the original value.
The ASICPUTA_LF was 18% larger than ASICPUTA_ORIG.
-These accumulated fields are also now deaccumulated:
ASITET ASITRT ASITCBTA_LF ASIIOCNT_S ASITRCA_S
Thanks to Kurt Gramling, TSYS, USA.
Change 35.248 Variables QWA225SS and QWB225SS are now kept in DB2STATS,
VMACDB2 and two new-in-DB2 V12 REAL2G variables are input/kept.
Nov 1, 2017 QWA225SS='DBM1*31-BIT*IN-USE*SYSTEM*AGENTS'
QWB225SS='DIST*31-BIT*IN-USE*SYSTEM*AGENTS'
QWA225HVPAGESINREAL2G='DBM1*HVPAGES*IN*REAL2G'
QWB225HVPAGESINREAL2G='DIST*HVPAGES*IN*REAL2G'
Thanks to Rick Southby, IAG, AUSTRALIA.
Change 35.247 Removed a debugging statement and corrected an 'uninit'
ANALDB2R variable message
Oct 30, 2017 -If you used INTERVAL=, BEGTIME=, or ENDTIME= and did not
specify a SORTBY= the default is BY QWHSSSID QWHCPLAN and
QWHCAID, so datetime variable QWACBSC is not carried
forward and no accounting report was created; this could
also cause duplicate variables in SORTBY list if QPACPKIC
PACKTYPE or QWHSTCK were in the tailored SORTBY list.
Change 35.246 -SMF 113/HIS formulas for the z14 were updated by IBM with
ASUM113 L3P changed, which is also impacted the RNI value which
VMAC113 uses L3P.
VMACVMXA -The z13 code set the SM1132SP Speed value to 5000 because
Oct 27, 2017 the value was wrong, but that code was removed for the
z14, as those records contain the expected 5208 MHz.
-John's updated formulas are available at
http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TC000066
Thanks to John P. Burg, IBM, USA.
Thanks to Nick Varley, SYNCSORT, USA.
Change 35.245 SMF 119 Subtype 81 INPUT STATEMENT EXCEEDED because MXG
VMAC119 expected full 4096 length for DIRU and DORU fields; now
Oct 27, 2017 DILEN and DOLEN length of text are used for $VARYING4096.
Thanks to David Campbell, Sun Trust, USA.
Change 35.244 New parameters TRNDKEEP and SPINKEEP added to let you
VMXGALOC control how many copies of each are retained.
Oct 27, 2017
Change 35.243 MOBILE WORK CSV files for CICS/TS 5.3+ were missing the
FORMATS CICS Product Number; format MGIBMCI needed a new entries
Nov 1, 2017 with 70='5655-Y04' and 71='5655-Y04'.
Other related formats were also updated.
Thanks to Patrick J. Holloman, Navy Federal Credit Union, USA.
Change 35.242 Support for Power Exchange Version 10.1.1.
VMACPOEX
Oct 25, 2017
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 35.241 -Typo, NEDNC=SMFTIME should be NENDC=SMFTIME.
ANAL119 -Uninit variables and incorrect date corrected 12/31.
Oct 23, 2017
Dec 31, 2017
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Thanks to Earl Kline, Luminex, USA.
Change 35.240 Support for APARs OA52132, OA52133, and OA61734, some of
VMAC42 which fields were listed in the z/OS 2.3 SMF Manual.
Oct 23, 2017 CODE HAS NOT BEEN TESTED WITH NEW RECORDS.
See Change 35.288.
Change 35.239 MXG 34.09. RMFINTRV fails with macro GOT70PR not resolved
VMXGRMFI when the PDB did not contain the expected PDB.TYPE70PR.
Oct 22, 2017
Thanks to Tracy Davidson, USBank. USA.
Change 35.238 A typo BASEWEEJ should have been BASEWEEK - only affected
VMXGALOC the aging off of old WEEK directories.
Oct 22, 2017
Change 35.237 Internal utility; if the LIBNAME being searched was empty
VGETSORT a spurious message about an invalid DO loop was printed.
Oct 20, 2017
Change 35.236 Duplicate SMF 70 Subtype 1 records can cause bad results
DEDUP701 due to the Split 70s duplicates, added SMT merges and the
Oct 20, 2017 multiple datasets that create TYPE70 that prevent the use
of the normal NODUP in the final sort to remove dupes.
Hash logic from ANALDUPE is executed in the IMACFILE exit
as SMF is read, examining only SMF 70 subtype 1, deleting
duplicates prior to their input and reporting the first
three DUPES on the log if any were found.
You enable the 70 subtype 1 duplicate removal with
//SYSIN DD *
%let macfile=%quote(%include sourclib(dedup701););
Thanks to MP Welch, Bank of America, USA.
Thanks to Garth Bloomfield, DXC Technology, AUSTRALIA.
Thanks to Peter Gray, DXC Technology, AUSTRALIA.
Change 35.235 RMF III ZRBCPU is enhanced with CPC_HOMEFLAG decoded:
VMACRMFV CPCCAPAVAIL='CAPACITY*VALUES*AVAILABLE?'
Oct 20, 2017 CPCVARYCPU ='VARYCPU*OPTION*SET?'
CPCLPARMGT ='WLM*LPAR*MANAGEMENT*ENABLED?'
CPCMTMETRIC='MULTI*THREADING*METRICS*AVAILABLE?'
CPCABSMSU ='ABSMSU*CAPPING*OPTION*SET?'
Thanks to MP Welch, Bank of America, USA.
Change 35.234 BUILDPDB/BUILDPD3 exit EXPDBKEP lets you KEEP= or DROP=
BUILD005 all variables in JOBS/STEPS/SMFINTRV/NJEPURGE/PRINT.
BUIL3005 Macros _KDBJOBS/_KDBSTEPS/_KDB30UV/_KDBNJEP/_KDBPRIN
EXPDBKEP were defined but were not referenced. You put all your
Oct 21, 2017 definitions in EXPDBKEP in your USERID.SOURCLIB using
MACRO _DBJOBS KEEP= A B C D . . %
or
MACRO _DBJOBS DROP= A B C D . . %
and then you instantiate them in BUILDPDB SYSIN using
%LET MACKEEP= %QUOTE( %INC SOURCLIB(EXPDBKEP); );
%INCLUDE SOURCLIB(BUILDPDB);
Thanks to Thomas Orlando, UBS, SWITZERLAND.
Change 35.233 Protection for truncated SMF 80 Extended Relocate segment
VMAC80A with 12 fields expected but only 10.5 fields are in the
Oct 19, 2017 SMF record. MXGERROR for the first three instances.
Record may have been truncated by ftp processing.
Change 35.232 Documentation. The zIIP CPU time for BMC Utilities is
TYPE30 not recorded in SMF 30 records for the JOB/ASID of the
Oct 19, 2017 Batch Utility job, but is in the 30s for BMC's XBM
Started Task. IBM Utilities do record zIIP CPU time in
the SMF 30 for the batch job.
Change 35.231 Macro variable RACFDIRECTED allows DELETE of RACF records
VMAC80A using the SMF80DTP/RACFTYPE=44 relocate segment, using
VMXGINIT segments with the subkeyword/EV44TXT='ORIGINATED_FROM'.
Oct 18, 2017 MXG now populates variables NODE80A USERID and DIRECTED
Dec 7, 2017 with values of DIRECTED_BY_AT, DIRECTED_BY_ONLY_AT or
DIRECTED_AUTOMATICALLY. You would use this syntax:
%LET RACFDIRECTED=
%QUOTE( IF NODE80A IN ('NODE1','NODE2') AND
USERID IN ('USERID1','USERID2')
THEN DELETE; ) ;
%INCLUDE SOURCLIB(TYPS80A);
-Dec 7: NODE was changed to NODE80A to avoid a conflict if
TYPE80A and TYPE6 were used together. The three fields
are created for the test but are not kept.
Thanks to Kerry J. Sommers, John Deere, USA.
Thanks to Joan T. Keemle, John Deere, USA.
Thanks to Francois Vancoppenolle, P&V Group, BELGIUM.
Change 35.230 -GRAFCEC adds graphs of CPU and zIIP hours and the 4HR MSU
GRAFCEC Avg consumption. GRAFCEC now creates all of the charts
GRAFLPAR previously produced by GRAFLPAR, plus some new ones, thus
Oct 17, 2017 GRAFLPAR obsolete. And GRAFCEC now allows multiple input
libnames. Dataset ASUMCELP must exist in the first data
library and must have non-zero obs, or GRAFCEC will die
with a dataset not found error.
-GRAFLPAR error if you specified PDB=PDB PDB1 and using
SAS/GRAPH, it failed trying to write the graphics catalog
to two libnames. Catalog will only be written to the
first of the two or more libnames specified by PDB=.
But note GRAFLPAR is now obsolete, replaced by GRAFCEC.
Thanks to Daniel Mckinzie, Zions Bank, USA.
Change 35.229 -Revised logic for DB2 Statistics Datasets deaccumulation
VMACDB2 now protects for lost/skipped intervals of input data for
Oct 23, 2017 for these datasets:
DB2STATB DB2STSBP DB2GBPST DB2NETZA
DB2STAT5 DB2STAT0 DB2STAT1 DB2STATR.
Large gaps (like missing a day) with repeated values in
QWHSISEQ caused large DURATM which caused BEGTIME to be a
different date. Since DB2 SMF 100 stat records can only
be written at one minute intervals, MXG now detects a gap
of more than 120 second as the start of a new interval,
and it is DIF()'d but not output.
However, neither BEGTIME nor ENDTIME are on the minute
DURATM values of a few seconds up to 100 seconds have
been observed, hence the test value of 120 seconds.
-DB2STATS Variables QISEDPSL QISEDPSC QISEDPSM QISEDPSF
were incorrectly input with DB2 V11; the test GE 32 is
corrected to GE 232 for their input.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.228 Support for up to 20 user character fields in CICSTRAN,
IMACICAU USERCHAR1-USERCHAR20, increased from only nine fields.
IMACICBU
IMACICCU
IMACICDU
IMACICEU
IMACICFU
IMACICGU
IMACICHU
IMACICIU
IMACICJU
IMACICKU
IMACICLU
UTILEXCL
VMAC110
Oct 11, 2017
Change 35.227 If you specified RMFINTRV=NO many bad things could have
UTILBLDP happened. First, if you did not also suppress one or
Oct 17, 2017 more of the records used by BUILDPDB, then RMFINTRV=NO
was ignored because the code looking for it was inside
of the SUPPRESS= logic. If you DID suppress something
then you could have hit a problem with a missing %
sign on a MACRO.
-User ABENDS are replaced by messages on the OUTFILE to
tell you there was an error that terminated UTILBLDP.
-if you suppress type 26 without specifying J2 or J3
it will now generate an error
-if you useradd 102 without specifying the subtype
it will now generate an error
Thanks to Trevor Holland, ANZ, AUSTRALIA.
Change 35.226 Unused Change Number.
Change 35.225 WARNING: VARIABLE YSTEM NEVER REFERENCED because SYSTEM
VMACTMO2 was missing the first S.
Oct 10, 2017
Thanks to Derek Purves, FDIC, USA.
Change 35.225 -New UTILBLDP Parameters EXPDBVAR/EXPDBCDE/EXPDBOUT added
UTILBLDP to enable more tailoring and specifically to make it easy
Oct 8, 2017 to create a new dataset with a subset of variables and
obs from an existing MXG dataset, like this example to
create new CICSTRIM dataset with a subset of CICSTRAN
variables, and output only for selected CICS APPLIDs:
USE EXPDBVAR TO BUILD A SUBSET OF CICSTRAN DATA FOR
REPORTING PURPOSES
%UTILBLDP(OUTFILE=INSTREAM,
BUILDPDB=YES,
OUTFILE=INSTREAM,
EXPDBVAR=
CICSTRIM (KEEP=APPLID TRANNAME STRTTIME ENDTIME
CPUTM ELAPSTM TASKNR USER ABCODE),
EXPDBOUT=
PROC SORT DATA=CICSTRIM OUT=PDB.CICSTRIM;
BY ENDTIME APPLID TRANNAME TASKNR;,
MACKEEPX=
MACRO _ECICTRN
IF (RTYPE= 'E3'X OR RTYPE = 'T')
AND APPLID
IN('CICSZFN3','CICSAUD3','CICSDBS')
THEN OUTPUT CICSTRIM;
OUTTPUT _WCICTRN; %
);
Change 35.224 The _N110 "Product Null Macro" to suppress all CICS data
VMAC110 sets for tailoring had new datasets added which caused
Oct 8, 2017 only one dataset listed per line; that statement now has
two datasets per line, half as many lines/bytes.
Change 35.223 The extra zVPS/XAM SYTCUP segment with totals was not
VMACXAM included in the SYTNLPS count of segments, and there is
Oct 7, 2017 no LENDATA value for each subsegment, so MXG assumed 20
for LENDATA and detected the extra subsegment when SEGLEN
was NE 20*SYTNLPS, but the 35.09 correction statement
SYTNLPS=SYTNLPS+1 was mistyped as SYTNLPS=SYTNLPS=1; so
only one obs per LPAR was output in XAMSYT dataset.
But other MXG corrections have increased the obs count,
depending on past MXG Version (eg. 35.06 to 35.09).
There will be one obs for each LCPUADDR in each LPARNAME,
and an extra "total" obs with LCPUADDR='60'x (doc '40'x)
for each Engine Type in each LPARNAME, but these "total"
obs all have zero values in 4303 and 4313 releases.
There are also a pair of original LPARNAME='Totals'
subsegments at the start of each SYTCUP segment that are
not output by MXG.
Thanks to Paul Volpi, UHC, USA.
Thanks to David A. Sadler, UHC, USA.
Change 35.222 Unused Change Number
Change 35.221 Many zVM VXPRCPUP dataset variables values were not
VMACVMXA divided by 65536, two variables needed deaccumulation.
Oct 4, 2017 The segment SSIZE is 96 but only 72 are documented.
Thanks to Pat Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
Change 35.220 MXG 35.09. Zero observations in TYP11920 dataset due to
VMAC119 a debugging asterisk left where it shouldn't have been in
Oct 4, 2017 line 2942 of VMAC119.
Thanks to Paul Volpi, UHC, USA.
Change 35.219 MQMACCT variable NETSNAME is created from QWHCTOKN if it
VMAC116 is populated, or from QWHCNID in not, but the format of
Oct 4, 2017 the raw data is different; heuristics were revised to
recognize two formats found in this site's data, with
values AAAAAAAA.BBBBBBBB if QWHCTOKN is populated or
values CCCCCCCC.L when QWHCTOKN is not populated.
NETSNAME is also kept in MQMACCT1 and MQMQUEUE but it
should not have been, as it is always blank for those two
datasets. And NETSNAME is not populated in MQMACCT
observations from BATCH/TSO Attach.
Thanks to Jim Poletti, Edward D Jones, USA.
Thanks to Art Morelock, Edward D Jones, USA.
Change 35.218 XAMSYPUP dataset's INPUT is now correctly aligned once it
VMACXAM was explained that PL/1 "3 rsrvd(4) Char(4)" is SAS +16.
Oct 3, 2017
====== Changes thru 35.217 are in this MXG 35.09 dated Oct 2, 2017=====
Change 35.217 Cosmetic, but format $MGSMFID had undetected-by-SAS
ANALID unbalanced quotes that impacted SMF ID=80 descriptions in
FORMATS the ANALID SMF Report (default is on in BUILDPDB).
Oct 2, 2017 Also option UNIFORM was added to the SUMMARY PROC PRINTs.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.216 New macro that lets you 'join' variables from DB2ACCT
JOINDB2 to the corresponding DB2ACCTP observations. Written
Oct 2, 2017 specifically to capture QWACWLME since the DB2ACCTP
records do not contain the QWAC segments but will
copy as many variables as you like from DB2ACCT to
DB2ACCTP. NOTE: QWACWLME only exists in DDF records
and that is by IBM's design.
====== Changes thru 35.215 are in this MXG 35.09 dated Oct 2, 2017=====
Change 35.215 TRENDINT defaulted to WEEK rather than the value of the
VMXGRMFI INTTRND macro variable as documented. Also the TRNDRMFI
TRNDRMFI member was updated to include the TRENDINT parameter so
Oct 2, 2017 that you can more easily see how to modify the interval.
Thanks to Steve Carlson, UCOP, USA.
Change 35.214 Modified for efficiency. If you specify ROLLSORT=NO
UTILROLL it now uses PROC APPEND instead of a data step which had
Sep 30, 2017 to read both the input (ROLLTO) and output (ROLLFROM)
datasets.
Change 35.213 z/VM variable VMDUFACT in dataset PDB.VXBYUSR should not
VMACVMXA have been deaccumulated as it is an end of interval count
Sep 28, 2017 of frames.
Thanks to Graham Harris, RBS, ENGLAND.
Change 35.212 Support for SMF 30 User Key CSA Audit Enhancements adds
VMAC30 new SMF30_RAXFLAGS to TYPE30_1, TYPE30_V, TYPE30_4 and
Sep 28, 2017 the TYPE30_5 datasets. This code change has been in MXG
Feb 28, 2018 35.09 and later, but this change text replaced previous
"Reserved Change" on Feb 28, 2018. This field was added
by APAR OA53355, but will only be needed thru z/OS 2.3,
as User Key Common Storage usage support ends there.
This is Health Check ZOSMIGV22R3_NEXT_VSM_USERKEYCOMM.
These APARs required no additional code changes:
OA53434 Corrects ASM DSECT Lengths, no MXG impact
OA53289 Corrects value of SMF30HVR from zero to valid.
OA45767 APAR that added the extra triplet caused OA53434
Change 35.211 Documentation. Variables QWACWLME QWACBSC QWACESC should
VMACDB2 not have been kept in DB2ACCTP after IBM moved the DB2
Sep 27, 2017 Package Data (IFCID 129) to its own ID=101 Subtype=1
record, which does not contain a QWAC segment.
Thanks to Glen Bowman, Wakefern, USA.
Change 35.210 Support for z14 SMF 113 records (INCOMPAT, EXTENDED array
ASUM113 now has 128 entries). Default LABELs are now for z14.
VMAC113 To change the default labels for z13, you would use:
Sep 27, 2017 //SYSIN DD *
Oct 1, 2017 %LET MACKEEP= MACRO _XLA113 _XLA113D % ;
%INCLUDE SOURCLIB(TYPS113,ASUM113);
To create correct labels with both z13 and z14 data, you
must create separate datasets:
//SYSIN DD *
%INCLUDE SOURCLIB(VMACF113);
DATA PDB.ASUM1131Z13;
LABEL _XLA113D ;
SET PDB.ASUM1131;
IF SM113VN2=4;
DATA PDB.ASUM1131Z14;
LABEL _XLA113E ;
SET PDB.ASUM1131;
IF SM113VN2=5;
RUN;
Many of the RNI and other equations were changed for z14.
-You can use OPTIONS OBS=99; _RPT113; RUN; to print those
calculated variables values from PDB.ASUM1131, the data
set you should use, as it contains interval data. The
original ASUM113 data set was accumulated and obs were
lost in deaccumulation.
Thanks to Elie Sawaya, RBC, CANADA.
Change 35.209 -Support for BETA 93 Version 610, altered header fields
FORMATS and three new variables are added to dataset BETA0:
VMACBETA BETAPABS='MAX*PABS'
Sep 29, 2017 BETASPAG='FIRST SPLIT*OVER GT*1 PAB'
Nov 22, 2017 BETABMOD='PAB PAGE*BREAK*MODE'
-New values added to $MGBETAT format for BETA0.
-Support for subtype 51 RDATA1 and RDATA2 fields and
all segments are read and output - previously the first
segment was repetitively output.
See Change 36.074 for Subtype 51 update.
Thanks to Andreas Menne, Finanz Infoirmatik, GERMANY.
Change 35.208 Nigel's Monitor for AIX and LINUX changed BBBP Endtime
VMACNMON was always "HH:MM" text, but new "N MINS" tripped MXG
Sep 27, 2017 variables BBBPENDING051, UPHOURS, and BBBPENDING052,
UPTIME.
Thanks to Steve McCulloch, TMS/CDS Group, CANADA.
Change 35.207 Enhancement for GDG datasets to add FIRSTGEN and LASTGEN
VMAC6156 values of GATGEN to know the range of Generation values.
Sep 25, 2017 No change, but variables GATEXTNO GATVER GATGEN GATWRAP
are from each GAT segment, so they should not have been
kept as they contain only the value of the last cell.
Thanks to Satish Kodavatiganti, John Deere, USA.
Change 35.206 If you need ACCOUNTn fields for long-running STCs in your
BUILD005 PDB.SMFINTRV dataset, you had to set SPINCNT in IMACSPIN
BUIL3005 longer than the number of days between IPLs; if you had a
VMXGINIT smaller value, then only that number of days of the
Sep 25, 2017 PDB.SMFINTRV would have the ACCOUNTn fields populated.
This change creates optional macro variable &SPINSTC to
enable this change and to keep that many day's SPIN30_1
for STCs in the SPIN library for STC accounting, and you
can then set a much smaller value for the spining of you
other jobs. Use %LET SPINSTC=365; to keep a year's data.
A large SPINCNT used to be important when you had lots
of held print output, since BUILDPDB waits for the
PURGE (26) record to know all SMF records for the job
have been created. But now, with output typically sent
to a spool handler, almost all jobs PURGE right after
they terminate on z/OS, so now, you can set a small
SPINCNT (1 or 2) and only SPIN the jobs that were in
execution when SMF was dumped, or that run for more
than a full day or two.
Thanks to Gennady Katsnelson, IBM Global Technology Services, USA.
Change 35.205 Documentation of what is counted in SMF 30 EXCP counts,
TYPE30 from a posting to IBM-Main:
Sep 25, 2017 The EXCP count fields count whatever the IOS Driver
decided to pass into SMF in the IFASMFEX exit that
accumulates the type 30 EXCP fields.
For example:
-For SAM, EXCP (an IOS driver) lets SAM do the calls
to IEASMFEX.
-For non-SAM use of EXCP, EXCP calls IEASMFEX with
a count of 1 so for non-SAM use of EXCP, it is the
count of EXCPs
-And IEWFETCH (an IOS driver which fetches load modules)
counts the number of SSCH for non-VIO data sets, and
uses EXCP for VIO data sets. So either way, it is the
number of channel programs executed.
Thanks to Jim Mulder z/OS Diagnosis,Design,Development,Test IBM Corp
Change 35.204 Support for DB2 APARs PI71903 and PI84045 adds these
VMAC102 new variables to IFCID 376 T102S376 dataset:
Sep 28, 2017 QW0376SC='SCHEMA*NAME'
Oct 11, 2017 QW0376PR='SPECIFIC*NAME'
Dec 7, 2017 QW0376INC='INCOMPAT*PARMS'
QW0376SQL='SQL*TEXT';
Dec 7: Offsets for VL/VN corrected, no data for these
new fields yet.
Thanks to Lori A. Masulis, FMR, USA
Thanks to Steve McKee, FMR, USA.
Change 35.203 z/VM 6.4.17.1 INCOMPATIBLE, fields inserted in SYTCUP and
EXSYTLCX SYTLCK, and new VXSYTLCX data set created.
VMACVMXA -In SYTLCK when there are no shared/exclusive lock entries
VMXGINIT (CALNMSXE=0) there are 8 bytes inserted where that second
Sep 28, 2017 array should not have existed.
-In SYTCUP, SKIP logic was not correct with new data.
Thanks to Dr. Wolfgang Kueller, IT Solutions, AUSTRIA
Change 35.202 Typo TEN should have been TUE. Most likely not an issue
VMXGALOC since that section of code was only used to CLEAR any
Sep 18, 2017 existing LIBNAMEs before allocating new ones (which in
any case would happen when a new LIBNAME statement was
issued).
Thanks to Steve Bagshaw, Marks & Spencer, ENGLAND.
Change 35.201 Modified to limit the number of LIBNAMEs reported where
PDBAUDIT the path name is the same. First looks for a PATH where
Sep 18, 2017 the LIBNAME is PDB and deletes any other LIBNAMEs with
that path then sorts on PATH and LIBNAME eliminating
all but the first occurrence of each PATH so that there
are not a lot of duplicate lists. Needed for MXG QA.
-A new parameter PATHLIST= added with a default value
of NO. Change to YES to create report of the LIBNAMES
by PATH. Useful if you are running with AUTOALOC=YES.
Change 35.200 New BLDSMPDB parameters support writing daily, weekly,
VMXGALOC monthly and trend "PDB's" to different paths (drives or
VGETALOC directories). All default to the BASEDIR if left blank.
BLDSMPDB BASEWEEK= sets the location of weekly database
Sep 13, 2017 BASEMONTH= sets the location of monthly database
BASETREND= sets the location of TREND database
If you choose to use these new destinations for your
output of BLDSMPDB, be aware and use caution since the
old destination's files will NOT be aged off, nor will
they be allocated for monthly/weekly processing. You will
need to copy old data from the old path to the new path.
Change 35.199 z/OS 2.3 type 90 subtype 38 INPUT STATEMENT EXCEEDED due
VMAC90A to incorrect offset and field length in the GA SMF manual
Sep 17, 2017 for SMF90T38_UTOKENUSERID which is 16 not 8 and at offset
112 and not 118. Subtype 38/39 datetimes are now local.
Thanks to Bernie Ethridge, Fiserv, USA.
Thanks to Paul Naddeo, Fiserv, USA.
Change 35.198 z/VM 6.2.11 SYTLCK "BROKEN RECORD" error because SKIP was
VMACVMXA not calculated correctly.
Sep 11, 2017
Thanks to Kare Martin Torsvik, EVRY, NORWAY.
Change 35.197 IMF CIMSTRAN dataset datetime variables all now have
VMACCIMS microsecond resolution; MXG had overlooked the MIJUs.
Sep 16, 2017 ACTARRV ARRVTIME STRTTIME TRNETIME ENDTIME TRNSTCKE
Oct 26, 2017 INPQUETM, SERVICTM and RESPNSTM are now calculated from
those datetimes for microsecond resolution.
Thanks to Randy Hewitt, DXC Technology, USA.
Change 35.196 Support for BETA 97 extended header (INCOMPATIBLE) V 610.
EXTYB97D All variables in all datasets are now INPUT and correct.
IMACBE97 New dataset BE979751D is created from Subtype 51 with the
VMACBE97 database field details.
VMXGINIT
Sep 15, 2017
Thanks to Andreas Menne, Finanz Infoirmatik, GERMANY.
Change 35.195 Support for PRCPUP segment in zVPS XAMSYS records creates
EXXAMPUP new dataset DDDDDD DATASET DESCRIPTION
IMACXAM XAMPUP XAMSYPUP PRCPUP DATA
VMACXAM -The test for invalid SYTCUP segment was revised when the
VMXGINIT old test incorrectly reported an invalid segment.
Sep 15, 2017
Change 35.194 Unrequested log messages containing MXGDEBUG: VMXGOPTR
ANAL116 were printed if you %LET MXGDEBUG= to a non-blank value.
ANALDB2R The LENGTH(&MXGDEBUG) test was removed from VPUTMSG and
ASUMDB2A relocated to each calling member, with revised logic:
ASUMDB2R %IF %UPCASE(&MXGDEBUG) NE VMXGSUM1 %THEN %DO;
ASUMNTIN %VMXGOPTR(OPTNAME=NOTES,NEWVALUE=NONOTES);
TESTTRND %END;
TRNDNTIN The MXGDEBUG macro variable is primarily for internal MXG
VGETALOC testing and it exists in only a few members; the enable
VMACDB2 values are documented in each member's test statements.
VMXG70PR With this correction. MXGDEBUG=VMXGSUM1 was used for MXG
VMXGALOC QA which exposed these overlooked corrections:
VMXGDSN -ASUMDB2A QXHJINT typo was observed and removed.
VMXGOPTR -VMXG70PR LPMSUHR was missing.
VMXGRMFI -ANAL116 had a superfluous ID=ENDDT argument, removed.
VMXGSUM -VGETALOC/VMXGALOC protected for blank MXGDEBUG.
VPUTMSG -VMXGSUM many calls to VPUTMSG revised so VMXGSUM1 now
Sep 10, 2017 is also enabled if 2/3/4 are requested.
-VMACDB2 did not keep SHIFT in DB2ACCTR dataset.
-VMXGRMFI had spurious SMF70GMN SMF70GMU MXGDEBUGs.
-ASUMNTIN did not keep one variable
-TESTTRND builds PDB.CICS from ASUMCICX, clearing the
first PDB.CICS created by ASUMCICS which had different
kept variables and is not the recommended CICS summary.
-ASUMDB2R needs KEEPALL=YES for missing variable notes.
-TRNDNTIN needed a variable added to KEEP list.
Thanks to Donald Blaszka, WiPro, USA.
Change 35.193 Alignment correction for SMF74SBR/SBW/SQR/SQW sync I/O
VMAC74 variables, and new SMF74SQRRATE/SMF74SQWRATE sync rates.
Aug 30, 2017
Change 35.192 Variables WTASINTE/WTASINTS/WTASSTRT in MQMQUEUE dataset
VMAC116 are missing values in obs created from SMF 116 Subtype 2
Aug 29, 2017 (continuation) records, but now INTS/STRT are populated
by WQTTTIME and INTE is populated by SMFTIME.
Thanks to Raymond J. Smith, OPTUM, USA.
Change 35.191 -Support for z/OS 2.3 ZRBASI and ZRBUWD new fields are now
VMACRMFV validated so the bypass execution tests (-99 EQ 99) are
Sep 5, 2017 are now removed.
-Variable GEIFLG2 is now INPUT and kept in ZRBGEI dataset.
-Unpopulated Extended Length EDE segment overlaid original
INPUT of variables EDEPCKG EDEPROC EDEUSER EDETRXN EDEACC
with blank values.
-Overlooked OPD variables now INPUT and kept:
OPDDCTIIP='DELTA*TCB TIME*FOR*ZIIP'
OPDCTIIP='PROCESS*SYSTEM*USER COMPUTE*ON ZIIP'
Thanks to Kurt Gramling, T-SYS, USA.
Change 35.190 SMF type 2 subtype 2 (SMF Signature enabled), ERROR INPUT
VMAC0203 EXCEEDED RECORD LENGTH due to MXG INPUT mis-alignment.
VMACSMF -Dataset TYPE0202 now keeps those signature variables, and
Aug 28, 2017 dataset TYPE0203 reverts to the way it originally was,
keeping only the header variables.
-BUT: the type 2 subtype 1/2 records have SYSTEM='DUMY'
in the SMF header! Since that is not a real system name,
and because it could confuse any SMF Audit or analysis,
MXG's handling of the _SMF header in VMACSMF now detects
type=2 subtype=1/2 and SYSTEM='DUMY' and changes SYSTEM
to the actual SYSTEM (SMF2IRSID/SMF2GRSID) name.
Note: See Change 38.034 for revisions.
Thanks to Daniel Erikols, Svenska Handelsbanken, SWEDEN.
Change 35.189 Variables QPAC_PIPE_WAIT and QPAC_PIPE_COUNT are INPUT
VMACDB2 and kept in dataset DB2ACCTP.
Aug 25, 2017
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.188 If default was set to "work" rather than "WORK" the case
VMXGDEL mismatch caused datasets to be deleted,
Aug 25, 2017
Change 35.187 Variable SM123USERNM was not kept, spelled SM123TARURI in
VMAC123A the KEEP= list.
Aug 23, 2017
Thanks to Patricia Hansen, ADP, USA.
====== Changes thru 35.186 are in this MXG 35.08 dated Aug 24, 2017=====
Change 35.186 New variables MKFLAGA/MKRLSOPT/MKLRTIME are created and
VMACEDGS kept in EDGSKREC dataset; variable MKSTORE2 is no longer
Aug 23, 2017 valid, as it now contains the time part of MKLRTIME.
Aug 25, 2017 MKLRTIME='LAST*REFERENCE*DATETIME'
MKFLAGA ='FLAG-A'
MKRLSOPT='RELEASE OPTIONS'
-Aug 25: MKLRTIME was missing value because 2-byte field
before the new date value was not documented, but the
hex record and doc offset showed 2 bytes were inserted.
Thanks to Marybeth Delphia, CPA Texas, USA.
Change 35.185 Change 35.167 forced you to have a PDB libname when you
BLDSMPDB may not have needed one. There are 4 executions of
Aug 22, 2017 VGETSORT within BLDSMPDB with differing needs.
If running with RUNWEEK=YES the LIBNAME pointed to by
WEEKSTRT is used
If running with RUNWEEK=WTD the LIBNAME pointed to by
PDB is used
If running with RUNMNTH=YES the LIBNAME pointed to by
WEEK1 is used
If running with RUNMNTH=MTD the LIBNAME pointed to by
PDB is used
Change 35.184 Test for LIBNAME count was removed as unneeded and it
PDBAUDIT caused termination of the QA test job with 35 libraries,
Aug 23, 2017 and PDB.PDBAUDIT and SPIN.SPINAUDIT datasets not created.
The original error it was supposed to prevent was found
to be unrelated the LIBNAME count.
Change 35.183 Five IFCIDS create new datasets, but only T102S389 and
EX102389 T102S477 have the IFCID-specific variables; the three
EX102404 others identify the event, but keep only the thirty-six
EX102413 variables from the DB2 Header and Product segments.
EX102414 DDDDDD DATASET DESCRIPTION
EX102477 102389 T102S389 ALL INDEXES WITH FTPS
IMAC102 102404 T102S404 AUTHORIZATION COMPATIBILITY
VMAC102 102413 T102S413 BEGIN WAIT FOR PIPE SUSPEND
VMXGINIT 102414 T102S414 END WAIT FOR PIPE SUSPEND
Aug 22, 2017 102477 T102S477 ALOC/DEALOC FAST TRAVERSE BLOCK
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 35.182 MXG 35.07. INPUT STATEMENT EXCEEDED RMF 74, Change 35.166
VMAC74 tested SMF748LL instead of SMF748CL for the INPUT of the
Aug 17, 2017 new field, which "worked" when there were link segments,
but this record had only the control segment and non-zero
R748CRTN Return Code.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 35.181 Support for four new SYTSTSCP variables added:
VMACXAM
Aug 16, 2017
Change 35.180 MXG 35.07. SMF 92 Subtype 50 INPUT STATEMENT EXCEEDED due
VMAC92 to MXG typo of 44 vs 4 in the INPUT, but also the 16-byte
Aug 18, 2017 STCKE format SMF92T50 was not decoded correctly. IBM also
changed the format of SMF92RVN from NUM2. to PIB2., which
caused INVALID DATA FOR SMF92RVN error messages.
Change 35.179 Utility reads SMF and writes records for wanted JOBnames.
UWRITSMF
Aug 16, 2017
Change 35.178 Support for APAR OA49692 which adds variables to the BCP
VMAC98 SMF type 98 record:
Aug 14, 2017
SM98SIG_AVG_CPUBUSY_CP='AV CP PCT*CPU BUSY*HIGH MTTW*/
SM98SIG_AVG_CPUBUSY_ZAAP='AV ZAAP PCT*CPU BUSY*HIGH MTTW*/
SM98SIG_AVG_CPUBUSYR_ZIIP='AV ZIIP PCT*CPU BUSY*HIGH MTTW*/
SM98SIG_AVG_FDISPSPERWAKEUP_CP='AV CP FOREIGN*DISPATCHES*HIGH MTTW*/
SM98SIG_AVG_FDISPSPERWAKEUP_ZAAP='AV ZAAP FOREIGN*DISPATCHS*HIGH MTTW*/
SM98SIG_AVG_FDISPSPERWAKEUP_ZIIP='AV ZIIP FOREIGN*DISPATCHS*HIGH MTTW*/
SM98SIG_TOP_CPU_CP='CP CPU WITH*LARGEST*MTTW VALUE*/
SM98SIG_TOP_CPU_ZAAP='ZAAP CPU WITH*LARGEST*MTTW VALUE*/
SM98SIG_TOP_CPU_ZIIP='ZIIP CPU WITH*LARGEST*MTTW VALUE*/
SM98SIG_2ND_CPU_CP='CP CPU*2ND LARGEST*MTTW VALUE*/
SM98SIG_2ND_CPU_ZAAP='ZAAP CPU*2ND LARGEST*MTTW VALUE*/
SM98SIG_2ND_CPU_ZIIP='ZIIP CPU*2ND LARGEST*MTTW VALUE*/
SM98SIG_TOP2_MTTW_CP_TIMETOD='AV MTTW VALUE*FOR TOP*CP CPUS*/
SM98SIG_TOP2_MTTW_ZAAP_TIMETOD='AV MTTW VALUE*FOR TOP*ZAAP CPUS*/
SM98SIG_TOP2_MTTW_ZIIP_TIMETOD='AV MTTW VALUE*FOR TOP*ZIIP CPUS*/
SM98AVG_FDISPSPERWAKEUP_CP='AV FOREIGN*DISPATCHES*CP CPUS*/
SM98AVG_FDISPSPERWAKEUP_ZAAP='AV FOREIGN*DISPATCHES*ZAAP CPUS*/
SM98AVG_FDISPSPERWAKEUP_ZIIP='AV FOREIGN*DISPATCHES*ZIIP CPUS*/
Change 35.177 PDB.ROSCOE dataset Logon Time ROSIGNON was incorrectly
VMACROSC set to the ROSTIME, Roscoe ASID Step Initiate Time, also
Aug 11, 2017 causing thee CONECTTM calculation to be incorrect.
Thanks to Janne Jarvinen, CGI, FINLAND.
Change 35.176 Support for new BBMQ QSDSTYPE='DISTRIBUTED*SYSTEM*TYPE'
FORMATS variable added (compatibly) to BBMQQUES dataset with new
VMACBBMQ $MGBBMQT format decoding A=AS400, W=Windows, U=Unix.
Aug 10, 2017
Change 35.175 Support for these APARs required no MXG code changes:
VMAC30 OA53289 Corrects value of SMF30HVR from zero to valid.
Aug 9, 2017 OA53434 Corrects ASM DSECT Lengths, no MXG impact
OA45767 APAR that added the extra triplet caused OA53434
Change 35.174 The original CPITCBTM/CPISRBTM "step initiator" CPU times
BUILD005 are totals, but CPITCITM CPISRITM are the "init" time of
BUIL3005 day, at step initiation, and CPITCTTM CPISRTTM are the
Aug 8, 2017 "term" time of day so those CPU times can be assigned to
the correct time of day (ALOCTIME or TERMTIME). All four
are now kept in both PDB.STEPS and PDB.JOBS.
that separated the original CPITCBTM/CPISRBTM
are now correctly input and are negatively deaccumulated
Thanks to David E. Kibitelsky, Broadridge, USA.
Change 35.174A zVM VXBYUSR dataset variables _MT1 and _PRO (SMT times)
VMACVMXA are now correctly input and are negatively deaccumulated
Aug 5, 2017 with -DIF() while many CALxxxxx accumulated variables are
positively DIF'ed, with no clue in the doc if the accum
is descending or ascending, except to look at data.
Change 35.173 Support for SMF 119 Subtype 11 for ZERT data creates two
EXT11911 new datasets
EXT119DN DDDDDD DATASET DESCRIPTION
FORMATS T11911 TYP11911 ZERT ENCRYPTION SUBTYPE
IMAC119 T119DN TYP119DN ZERT DISTINGUISHED NAME
VMAC119 -There is no GMT offset in Subtype 11 records; for the
VMXGINIT SAEVENT 03x and 04x Termination records, SAETIME is used
Aug 4, 2017 and for 01x and 02x Connection records, SASTIME is used
Aug 20, 2017 with SMFTIME and fuzzy logic to reset SASTIME/SAETIME to
Aug 30, 2017 the local time zone.
-Only records with TLS or SSH protocol have been tested
with data; no IP-Filter nor IPSEC records have been read.
-Aug 30: INPUT EXCEEDED. Line 2775 in VMAC119 should be:
SMF119SC_TLS_CCERT_SER_LEN &PIB.1.
instead of &PIB.1. This was not in MXG 35.08.
Thanks to Thomas Liu, Australia New Zealand Banking Group, AUSTRALIA
Change 35.172 New ThruputManager fields INCLA1 JXJOU JXSTA1 JXSTA2 are
VMACTPMX supported.
Aug 3, 2017
Thanks to Scott Wiig, USBank, USA.
====== Changes thru 35.171 are in this MXG 35.07 dated Aug 2, 2017=====
Change 35.171 zVM SMT Equivalent Time _MT1 variables in VXBYUSR dataset
VMACVMXA now divided by /4096 to convert value to seconds.
Aug 2, 2017
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.170 MXG spuriously reported MISSING TYPE 70 RECORDS for VM
VMXG70PR LPARs on IFLs. Now both MXGCIN and VMSYSTEM are used to
Aug 2, 2017 remove those unwanted observations.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.169 The incorrectly spelled variable QPSTDTW was kept in both
VMAC115 MQMBUFER and TY115215, but the correctly spelled QPSTDWT
Jul 31, 2017 was only valid in MQMBUFER, and was missing in TY115215.
Now both variables are valid in both datasets.
Thanks to Doris Bentrez, IBM, USA.
Change 35.168 Two errors both would show up when PDB= pointed at more
ANALDB2R than one LIBNAME. First the VGETOBS looking for the
Jul 28, 2017 DB2 datasets would fail looking at multiple libnames.
Once that was fixed ANALDB2R only used the first in the
list of LIBNAMES - now it will use them all.
Change 35.167 BLDSMPDB uses VGETSORT to determine the contents of
BLDSMPDB your LIBNAMES and the sort sequences (or lack) of
Jul 28, 2017 all of the datasets. It inconsistently used differing
libnames to make that determination which could miss
newly added datasets or changed sort orders. It will
now use the BASEPDB (usually PDB) LIBNAME in all cases
so that it will find the most recent examples.
-New option added to RUNWEEK. RUNWEEK=FORCE will force
the running of the weekly processing. Point FORCEDAY
to the last date in the week if running with AUTOALOC.
-If you are running on ASCII with AUTOALOC=YES we do
not recommend using WTD or MTD processing as it can
make ABEND recovery difficult if the WTD or MTD
processing was done prior to the ABEND.
We also do NOT recommend modifying default SORTEDBY
value from NO to YES since a change in sort orders
(as unusual as it might be) could cause problems.
Change 35.166 Support for z/OS 2.3 changes, many new variables, COMPAT.
EXTY9208 -Support for SMF Record Types 127-2047, with ID 0-127 and
EXTY9250 1152-2047 reserved for IBM use, and ID 127-1151 for USER
EXTY9251 SMF record types. The SMF header was extended by using
EXTY9252 never-used ID=126 record type to identify this record has
EXTY9253 the extended header. Note that new SMF exit IEFU86 is
EXTY9254 taken for ALL SMF records, with or without the extended
EXTY9255 header, and existing SMF exits IEFU83/84/85 are called
EXTY9256 ONLY for records with standard header.
EXTY9257 -Dataset TYPE1415 new variables:
EXTY9258 SMF14DEF='ENCRYPTION*FLAG*BYTE'
EXTY9259 SMF14DET='ENCRYPTION*TYPE'
IMAC92 SMF14DKL='DASD*DATA SET*KEY*LABELS'
VMAC1415 Fields exist only if Encryption Subtype 9 exists.
VMAC42 -Dataset TYPE4227 new variables:
VMAC62 SMF42RDSC_OLD='SMF42RDSC*OLD DSCB*DATA*FIELD'
VMAC7072 SMF42RDSC_NEW='SMF42RDSC*NEW DSCB*DATA*FIELD'
VMAC71 SMF42RKEY_OLD='SMF42RKEY*OLD DSCB KEY*DATASET*NAME'
VMAC92 SMF42RKEY_NEW='SMF42RKEY*NEW DSCB KEY*DATASET*NAME'
VMACSMF The _ETY4227 output macro was relocated correctly so it
VMXGINIT is outside the LN2 DO group, causing observations to
VMAC73 now be created that were not previously output.
VMAC74 Tested.
VMAC75 -Dataset TYPE62 new variables:
VMAC76 SMF62DEF='ENCRYPTION*FLAG*BYTE'
VMAC77 SMF62DET='ENCRYPTION*TYPE'
VMAC78 SMF62DKL='DASD*DATA SET*KEY*LABEL'
VMAC79 -Dataset TYPE71 new variables, APAR OA52452 added.
VMACRMFV SMF71RFL='SMF71RFL*FLAGS'
Jul 18, 2017 SMF71NNF='AVG NON-NUC*FRAMES*COMPRISING*STORAGE'
Jul 28, 2017 SMF71LSI='AVG SYS-INIT*DEMOTIONS*LARGE*TO 4K'
SMF71LRI='AVG REQ-INIT*DEMOTIONS*LARGE*TO 4K'
SMF71MHW='HWM 1MB*FRAMES*USED FOR*FIXED 1MB'
SMF71PIS='AVG 4KB*PAGEINS*FROM SCM'
SMF71POS='AVG 4KB*PAGEOUTS*TO SCM'
SMF71PI1='AVG 1MB*PAGEINS*FROM SCM'
SMF71PO1='AVG 1MB*PAGEINS*FROM SCM'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF71DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF71DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE72GO new variable:
R723GMLM='MEMORY*LIMIT*SPECIFIED?'
R723GMML='MEMORY*LIMIT*GB of*resgroup'
R723CTETX='TOTAL*TRANSACTION*ELAPSED*TIME'
R723CXETX='TOTAL*TRANSACTION*EXECUTION*TIME'
R723CETSX='SUM*ELAPSED*TIME*SQUARED'
R723CQDTX='TOTAL*QUEUE*DELAY*TIME'
R723CADTX='TIME*BATCH JOBS*INELIGIBLE*TO RUN'
R723CCVTX='TIME*BATCH JOBS*SPENT*IN JCL CVTR'
R723CIQTX='TIME*BATCH JOBS*INELIGIBLE*IN JOBQ'
Tested; 35.06 only kept first two variables.
-Dataset TYPE7204 new variable:
R724ETX='TOTAL*EXECUTION*TIME*GROUP'
R724QTX='TOTAL*QUEUE*TIME*GROUP'
R724OR7A='MEMORY*POOL*SHORTAGE'
Tested.
-Dataset TYPE73 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF73DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF73DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE74 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF74DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF74DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
SMF74ATD='I/O DELAYS*PAV*ALIAS*THROTTLING'
Tested.
-Dataset TYPE74CA new variable:
R745XSCS='SUBCHANNEL*SET*ID'
Tested.
-Dataset TYPE748 new variable:
R748CFSC='SUBCHANNEL*SET*ID*PHYS CONFIG'
R748CSCS='SUBCHANNEL*SET*ID OF*FAILING*DEVICE'
Tested/Corrected Change 35.182.
-Dataset TYPE75 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF75DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF75DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
SMF75SCS='SUBCHANNEL*SET*ID'
Tested.
-Dataset TYPE76 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF76DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF76DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE77 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF77DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF77DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE78 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF78DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF78DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
No Observations to test.
-TYPE78CF dataset had zero observations with VMAC78 from
MXG 34.06 - corrected by 34.223 (34.07), 35.021 (35.02)
or 35.166 (in MXG 35.07).
-Dataset TYPE791 update:
R791SRC new MP Swap Reason Memory Pool Shortage
No Observations to test.
-Dataset TYPE796 new variables:
R796SCS='SUBCHANNEL*SET*ID'
No Observations to test.
-Dataset TYPE79B new variables:
R79BSCS='SUBCHANNEL*SET*ID'
No Observations to test.
-TYPE92xxx datasets not tested, no data.
-NEW dataset TYPE9208: ZFS FILE SYSTEM MIGRATED
SMF92GLUGNU='LOCAL*OR*REMOTE*MOUNT?'
SMF92GSN='FILE*SYSTEM*OWNER?'
SMF92GTM='DATETIME*OF*MIGRATION'
SMF92GMO='OFFSET OF*MOUNT*PARM*SECTION'
SMF92GFT='FILE*SYSTEM*TYPE*MNTENTFSTYPE'
SMF92GFM='FILE*SYSTEM*MODE*MNTENTFSMODE'
SMF92GDN='FILE*SYSTEM*DEVICE NUMBER*MNTENTFSDEV'
SMF92GDD='DDNAME*SPECIFIED*ON MOUNT*MNTENTFSDDNAME'
SMF92GTN='FILE*SYSTEM*TYPE NAME*MNTENTFSTNAME'
SMF92GFN='MIGRATION*TARGET*FILE*SYSTEM*NAME'
SMF92GON='MIGRATION*SOURCE*FILE*SYSTEM*NAME'
SMF92GBL='FILE*SYSTEM*BLOCK*SIZE'
SMF92GST='TOTAO*SPACE*IN FILE*SYSTEM'
SMF92GSU='ALLOCATED*SPACE IN*FILE*SYSTEM'
SMF92GFG='FIRST*BINARY*FLAG'
SMF92GF2='SECOND*BINARY*FLAG'
-NEW dataset TYPE9250: ZFS FILE SYSTEM EVENTS
SMF92FSN='FILE*SYSTEM*NAME'
SMF92VOL='VOLSER*FIRST*EXTEND'
SMF92CCHH='CCCCHH*OF FIRST*EXTEND'
SMF92EVENT='FILE*SYSTEM*NAME'
SMF92SIZ='FORMATTED*SIZE OF*FILE*SYSTEM'
SMF92T50=' STKE *FILE*SYSTEM*EVENT'
SMF92CODE='FAILED*OPERATIONS*ERROR*CODE'
SMF92RSN='REASON*CODE'
SMF92OVS='PRIOR*VOLUME*SERIAL'
SMF92OCH='CCCCHH*OF PRIOR*VOLUME*SERIAL'
SMF92LRT='LOGFILE*RECOVERY*TIME'
SMF92LRP='LOG*PAGES*PROCESSED'
SMF92LRR='LOG*RECORDS*PROCESSED'
SMF92LRD='LOG*BLOCKS*MODIFIED'
SMF92LRE='REDO*DATA*RECORDS*PROCESSED'
SMF92LRF='FILL*RECORDS*PROCESSED'
SMF92LRN='NEW BLOCK*SECURITY*RECORDS*PROCESSED'
SMF92SYS='SYSTEM*NAME*REPORTING*EVENT'
-NEW dataset TYPE9251: COUNTS/RESPONSE TIME ZFS CALLS
SMF92CCT='EVENT*DATETIME'
SMF92VCC='CALLS TO*FILE SYS*OWNED LOCALLY*OR R/O'
SMF82VCX='CALLS*REQUIRED*TRANSMIT*FOR LOCAL'
SMF92VCR='CALLS TO*FILE SYS*OWNED*REMOTELY'
SMF92VCRX='CALLS*REQUIRED*TRANSMIT*FOR REMOTE'
SMF92VCT='AVG TIME*PER CALL*LOCALLY*OWNED'
SMF92VCRT='AVG TIME*PER CALL*REMOTELY*OWNED'
SMF92VCN='CALLS TO*FILE SYS*LOCAL OR*REMOTE'
-NEW dataset TYPE9252: STATISTICS FOR ZFS USER FILE CACHE
SMF92UCT =' STCKE DATETIME*WHEN*STATISTICS'
SMF92UCSCH='TIMES*DIRTY DATA**SKED FOR*WRITE TO DISK'
SMF92UCSET='CALLS*TO CHANGE*ATTRIBUTES*OF A FILE'
SMF92UCFSY='CALLS*TO SYNC*ALL DIRTY DATA*SYNC WAIT'
SMF92UCUNM='CALLS*TO PURGE*USER CACHE'
SMF92UCRD ='CALLS*TO READ*FROM FILE*IN USER CACHE'
SMF92UCRDA='ASYNC*READ-AHEADS*SCHEDULED*SEQUENTIALLY'
SMF92UCWR ='CALLS*TO WRITE*TO FILE*IN USER CACHE'
SMF92UCGET='CALLS CACHE*TO OBTAIN ATTRIBUTES'
SMF92UCFL ='CALLS CACHE*TO FLUSH*ALL DATA FOR*FILE SYS'
SMF92UCDEL='WRITES*OF DIRTY DATA*AVOIDED'
SMF92UCRDF='READ CALL*TO FILE CACHE*FOUND*A CACHE MISS'
SMF92UCWRF='WRITE CALL*TO FILE CACHE*FOUND*A CACHE MISS
SMF92UCRIO='READ I/OS*TO DISK*USER FILE CACHE'
SMF92UCWRS='NORMAL*WRITE I/OS*SKED*BY FILE CACHE'
SMF92UCWRE='WRITE I/OS*SKED*ERROR FOUND'
SMF92UCWRR='WRITE I/OS*SKED*RECLAIM-STEAL'
SMF92UCRWR='TASK WAITS*FOR SKED READ*FROM DISK'
SMF92UCWW ='TASK WAITS*FOR WRITE*FILE*PENDING I/O'
SMF92UCWWF='TASK WAITS*FOR PENDING I/O*FOR FSYNC CALLS'
SMF92UCWWE='TASK WAITS*FOR I/O*ERROR*PROCESSING'
SMF92UCWWR='TASK WAITS*FOR I/O*RECLAIM-STEAL*PROCESSING
SMF92UCRST='TIMES*RECLAIM-STEAL*PROCESSING*WAS INVOKED'
SMF92UCCS ='CACHES*SPACES*LRU QUEUES* AND PAGEPOOLS'
SMF92UCPCS='PAGES*IN EACH*CACHE SPACE'
SMF92UCSS ='SIZE OF*INDIVIDUAL*FILE SEGMENT'
SMF92UCPGS='SIZE OF*A PAGE*IN THE USER*FILE CACHE'
SMF92UCPGT='TOTAL PAGES*IN THE USER*FILE CACHE'
SMF92UCPGF='FREE PAGES*IN THE USER*FILE CACHE'
SMF92UCSGC='ALLOCATED*SEGMENT*STRUCTURES*IN FILE CACHE'
SMF92UCDSL='LENGTH*PER-CACHE*SPACE RECORD'
-NEW dataset TYPE9252X:CACHE SPACE NAME SEGMENT
SMF92DSNAM='NAME OF*THE CACHE SPACE'
SMF92DSAS ='SEGMENTS*ALLOCATED'
SMF92DSFR ='FREE PAGES*IN CACHE LIST'
-NEW dataset TYPE9253: STATISTICS FOR ZFS METADATA CACHE
SMF92MCT ='DATETIME*WHEN*STATISTICS*WRITTEN'
SMF92MCB ='BUFFERS IN THE METADATA CACHE.'
SMF92MCLK='SEARCH CALLS*FOR BUFFER*IN METADATA CACHE'
SMF92MCHT='SEARCH CALLS*CACHE HITS'
SMF92MCWP='CALLS TO*UPDATE*METADATA CACHE*BUFFER.'
SMF92MCPW='PARTIAL*BUFFERS*WRITTEN'
SMF92MCBS='BYTES IN*METADATA*CACHE BUFFER.'
-NEW dataset TYPE9254: STATISTICS FOR ZFS LOCKING AND SLEE
-NEW dataset TYPE9255: GENERAL ZFS DISK IO STATISTICS
-NEW dataset TYPE9256: TOKEN MANAGER
-NEW dataset TYPE9257: ZFS USE OF MEMORY
-NEW dataset TYPE9258: TRANSMIT/RECEIVES BETWEEN ZFS MEMBE
-NEW dataset TYPE9259: PER-FILE SYSTEM USAGE
-RMF III UPDATES for z/OS 2.3:
-ASMRMFV Recent versions will execute without error to
create RMFBSAM output, but these new variables are output
with this VMACRMFV update:
-Dataset ZRBASI new variable:
ASISTAFL ASI2GMEMOBJ ASI2GPGSBKD
-Dataset ZRBDVT new variables:
DVTSSID ='SUBCHANNEL*SET'
DVTDEVN2='DEVICE*NUMBER*DVTDEVNR'/
DVTENIDX4='INDEX OF*THIS*DVTG3*ENTRY'/
DVTPREVI4='INDEX OF*PREVIOUS*DVTG3*ENTRY'
-Dataset ZRBGEI new variables:
GEIGRMO ='FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
GEIGRPR ='2GB FRAMES*FIXED IN*CSTORE'
GEIGFUSE='2GB FRAMES*USED IN*FIXED*MEMOBJ'
GEIGSIZ ='2GB FRAMES*CAN BE*USED 2GB MEMOBJ'
-Dataset ZRBUWD new variables:
UWDDEVNR4=DEVICE*TABLE*DVTG3*INDEX'
Change 35.165 Variables added to VXMTRMEM dataset:
VMACVMXA RSAPIN0B ='PINNED*PAGES*CLASS 0*BELOW 2G'
Jul 28, 2017 RSAPIN0A ='PINNED*PAGES*CLASS 0*ABOVE 2G'
Aug 2, 2017 RSAPIN1B ='PINNED*PAGES*CLASS 1*BELOW 2G'
RSAPIN1A ='PINNED*PAGES*CLASS 1*ABOVE 2G'
RSAPINWP ='PINNED*PAGE COUNT*CAUSES WARNING'
RSAPINFP ='TOTAL*PINNED*PAGE*COUNT'
RSAIOUSD ='BYTES*IOAT*SUBPOOL'
RSAIOSIZE='SIZE (MB)*IOT*SUBPOOL'
RSAIOWRNP='WARNING*PCT*IOAT*USED'
SYSHPIOM ='MAX*CONCURNT*PG*RQSTS'
SYSHPFLG ='HYPERPAV*PAGING*FLAGS'
RSAAGEFL ='GLOBAL*AGING*LIST*FLAGS'
Variables added to VXSYTRSG dataset:
RSAPIN0B ='SYS TOT*PINNED*PAGES*CL 0 LT 2G'
RSAPIN0A ='SYS TOT*PINNED*PAGES*CL 0 GT 2G'
RSAPIN1B ='SYS TOT*PINNED*PAGES*CL 1 LT 2G'
RSAPIN1A ='SYS TOT*PINNED*PAGES*CL 1 GT 2G'
RSAPINWP ='PCT PINNED*CAUSED*WARNING'
RSAPINFP ='PCT PINNED*CAUSED*FAILURE'
RSAPINWC ='TIMES*WARNING*PCT*EXCEEDED'
RSAPINFC ='TIMES*FAILURE*PCT*EXCEEDED'
RSAIOUSD ='BYTES*USED*IOAT*SUBPOOL'
RSAIOWRNP='PCT*IOAT*SUBPOOL*VS SIZE'
RSAIOWRNC='TIMES*IOAT*SUBPOOL*WARNING'
RSAIOFALS='TIMES*IOAT*SUBPOOL*NOT AVAIL'
RSAIOFAIL='TIME*NOT AVAIL*IOAT AND*AVAILLIST'
Variables corrected in VXBYUSR dataset, all
were missing the divide by 4096.
Thanks to Patricia Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
Change 35.164 Variables added to XAMSYS dataset:
VMACXAM RSACKMB2G='CP FRAMES*LT 2G*FOR DUMP'
Jul 26, 2017 RSACKMA2G='CP FRAMES*GT 2G*FOR DUMP'
RSAPIN0B ='PINNED*PAGES*CLASS 0*BELOW 2G'
RSAPIN0A ='PINNED*PAGES*CLASS 0*ABOVE 2G'
RSAPIN1B ='PINNED*PAGES*CLASS 1*BELOW 2G'
RSAPIN1A ='PINNED*PAGES*CLASS 1*ABOVE 2G'
RSAPINWP ='PINNED*PAGE COUNT*CAUSES WARNING'
RSAPINFP ='TOTAL*PINNED*PAGE*COUNT'
RSAIOUSD ='BYTES*IOAT*SUBPOOL'
RSAIOSIZE='SIZE (MB)*IOT*SUBPOOL'
RSAIOWRNP='WARNING*PCT*IOAT*USED'
SYSHPIOM ='MAX*CONCURNT*PG*RQSTS'
SYSHPFLG ='HYPERPAV*PAGING*FLAGS'
RSAAGEFL ='GLOBAL*AGING*LIST*FLAGS'
Thanks to Patricia Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
Change 35.163 Support for Dell EMC Mainframe Enablers for z/OS V8.2 for
EXPAVO01 their z Systems PAV Optimizer, PAVO product's user SMF
EXPAVE01 record creates two new datasets:
IMACPAVO DDDDDD DATASET DESCRIPTION
TYPEPAVO TYPAVO TYPEPAVO PAVO OPTIMIZER DATA
TYPSPAVO TYPAVE TYPEPAVE PAVO EVENT
VMACPAVO
VMXGINIT This support is incomplete and in active development;
Aug 25, 2017 please contact SUPPORT@MXG.COM for current status.
Change 35.162 Support for Dell EMC Mainframe Enablers for z/OS V8.2 for
EXZDPVDG their z Systems Data Protector, zDP product's user SMF
IMACZDP record creates new TYPEZDP dataset:
TYPEZDP DDDDDD DATASET DESCRIPTION
TYPSZDP ZDPVDG TYPEZDP ZDP DATA
VMACZDP
VMXGINIT
Jul 24, 2017
Change 35.161 Support for BMC Mainview/CICS Version 7.1 (CICS/TS 5.4)
FORMATS adds many new fields and updated formats.
VMACMVCI
Jul 23, 2017
Change 35.160 Support for AXWAY Version 3.1.3; the documentation does
VMACAXWY not match the actual data records and some fields are not
Jul 21, 2017 input, pending feedback from the vendor.
Thanks to Michael Reines, Decadis, GERMANY.
Change 35.159 VGETSORT now adds formats to the output for the sorted by
VGETSORT variables for each dataset. For each found member, there
Jul 28, 2017 will be a MACRO variable FMTx corresponding to the SRTx
variable that will contain the formats of the variables
in the SORTEDBY list. Where there is no specified format
CHAR is substituted.
Change 35.158 Support for Mainview/CICS Optional SMF 110 BMCMVCIC field
IMACICWU in dataset CICSTRAN.
UTILEXCL
VMAC110
Jul 18, 2017
Change 35.157 MXG 35.01-35.06. Variable DB2TCBTM was removed from the
VMXGUOW CPUUOWTM value in PDB.ASUMUOW back in Change 32.014, but
Jul 18, 2017 was put back in the equation in 35.01, in error, so it
is again removed from the equation, per text of 32.104.
Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA
Change 35.156 ERROR: VARIABLE DTOKEN/IMSRECCH NOT FOUND because they
VMACIMS were in the BY list for the IMS06 dataset sort but were
Jul 16, 2017 not kept; now they are kept in IMS06.
Thanks to Randy Hewitt, DXC, USA.
Change 35.155 TPX STOPOVER because the change in length of IP Port from
VMACTPX 4 to 5 digits was not fully protected. Variable
Jul 16, 2017 TPXIPPRT in datasets TPXTRMON/TPXTRMOF and variable
TPXIPADR in dataset TPXAPLOF values are now correct.
CA's record length change was in Feb, 2016, RO85818.
Thanks to Paul Naddeo, FISERV, USA.
Change 35.154 -MXG 35.06 only, STOPOVER abend during TYPERMFV execution
ASMRMFV processing RMF III with option UWD (Use/Wait table) after
Jul 11, 2017 Change 35.148. Message RMFV006I may show incorrect RMF
Jul 21, 2017 Monitor III table selections, but processing of the
actual selected tables still occurred. Message RMFV006I
could show NOZEROCPU when the default ZEROCPU setting was
in effect for the ASI table. Only ASMRMFV was changed.
-With this change if the NOSVP table option is in effect
then the RCD option will be forced to NORCD.
-Invalid RMFV012I and/or RMFV013I Sample RANGE and
SELECTED messages when RMF III data originates from a
time zone with time stamps later than the current TOD in
the time zone where ASMRMFV is executing.
Thanks to Betty Wong, Bank of America, USA
Thanks to Roger Lowe, Northern Territory Government, AUSTRALIA.
Change 35.153 The IBM RMF CRYPTO report shows a TOTAL EXEC TIME with a
VMAC7072 value of 0.120 but that is actually the AVERAGE EXEC TIME
Jul 7, 2017 per call, and the unstated units are milliseconds, so the
actual average value was 120 microseconds. In TYPE7002
dataset, the actual average value was 120 microseconds.
MXG Variable CRYCTE is the calculated average value,
0.000120 seconds, which is 120 microseconds. When printed
with TIMW13.3 format, only three decimals were displayed
(0:00:00.000), so crypto duration variables are now
formatted TIME14.6 to display as 0:00:00.000120 to show
microseconds.
Thanks to Martha A. Knapik, Progressive, USA.
Thanks to Douglas Wells, Progressive, USA.
Change 35.152 Support for BETA 97 Subtype 22 record for both version
EXTYB97Q 430 and 610, although only 430 records have been read.
EXTYB97R New dataset BETA9722REL is created with the relocate
FORMATS segments for Subtype 22 records.
VMACBE97
VMXGINIT
Jul 9, 2017
====== Changes thru 35.151 are in this MXG 35.06 dated Jun 30, 2017=====
Change 35.151 BMC CMF TYPE74 subtype 8 records requires BMC PTF BQM1335
TYPE74 after IBM SuperPav support is installed, even if you are
Jun 28, 2017 NOT using SuperPAVs. After IBMSuperPAV PTFs, the ESS Rank
data are incorrect. No code was changed in MXG.
Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 35.150 Option %LET CECONLY=YES; creates PDB.ASUMCEC keeping only
VMXG70PR the 68 CEC-Level variables, dropping 2794 LPAR-specific
Jun 28, 2017 variables (generally useless, with unique variable names
for 60 LPARs) and creates PDB.ASUMCELP (no changes, but
with one observation per LPAR, it is THE dataset to use
to report LPAR data, with ONE set of variable names.)
NOTE: ALL LPARS in the CEC are summed into ASUMCEC.
Only the first 60 have sets of kept unique names.
The ASUM70PR/ASUM70LP and ASUM70GC/ASUM70GL datasets are
not created when %LET CECONLY=YES; is placed in your
//SYSIN prior to the INCLUDE of ASUM70PR.
Change 35.149 New BUILDJCL=YES option creates JCL for two step job with
UTILBLDP PGM=IFASMFDP control statements to select ONLY the SMF
Jun 30, 2017 records needed for your UTILBLDP selections.
Sep 30, 2017 On Sep 30, UTILBLDX from this change became UTILBLDP as
had been planned in the original text of this change,
and UTILBLDX was removed from MXG 35.09.
-comparison of CPU savings:
Using IFASMFDP to select SMF records can save CPU time,
especially for Ad Hoc jobs that select a relatively small
number of SMF records. Tests with a 15 GigaByte SMF file
with 25 million records was used, but only 1.4 Million of
those records (1 GB) were actually decoded and output.
But they had to be read and that costs CPU time:
MM:SS
READ ALL RECORDS 14:56
USE MXG MACFILE EXIT TO SKIP UNWANTED 12:43
IFASMFDP READ ALL SELECT/WANTED 0:10
READ SELECTED/WANTED 2:25
-Using MACFILE, _SMF decodes the full header and then
deletes unwanted. Decoding DATETIME variables is the
most expensive INFORMAT so I inserted an exit to skip
the unwanted immediately after the ID was input and
prior to any DATETIME field, but the savings were much
less than hoped for and much less than using IFASMFDP.
MM:SS
READ ALL with _SMF THEN DELETE UNWANTED 6:29
READ ALL, DELETE AFTER ID READ 4:45
-BUILDJCL for extreme cases provides extreme results:
Selecting 194 SMF 115 records in a file of 300 million
records (1 MB from 137 GB) dropped the CPU time from
25 min to only 46 seconds, elapsed from 28 to 13 min.
Change 35.148 RMF III CPUTM in datasets ZRBRCDS and ZRBRCDR is wrong if
ASMRMFV ASMRMFV selected RCD records but didn't select SVP table.
ADOCRMFV Creation of CPUTCBTM/CPUSRBTM from Service Units requires
VMACRMFV the SVPCPU and SVPSRB coefficients. ASMRMFV now selects
Jun 27, 2017 SVP records when RCD is selected. Additionally, variable
CPUTM is set missing if there are no SVP data.
SO YOU MUST HAVE BOTH RCD AND SVP TABLES IN ASMRMFV.
-However, if the SVP table is selected, then the RCD table
is NOT forced. The SVP table is now also moved to the
BASIC option table selection group from the MOST option
table selection group because the RCD was always part of
the BASIC option table group.
-Minor performance improvement to UWD table processing
logic.
-Several documentation Sections are updated to support the
above changes:
Section 0 "Contents"
Section 4 "RMF III Table Selection Parameters"
Section 13 "Filtered Records"
Section 26 "ASMRMFV and MXG PDB Data
Thanks to MP Welch, Bank of America, USA.
Change 35.147 Support for new segments create two new datasets:
EXVSIDSK DDDDDD DATASET DESCRIPTION
EXXAMPRC VSIDSK XMVSIDSK VSIDISK Data
IMACXAM XAMPRC XAMSYPRC LIMPOOL Data
VMACXAM
VMXGINIT
Jun 28, 2017
Thanks to Patricia Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
Change 35.146 -TYPE749 vars R749FPGBYTR and R749FPGBYTS were incorrectly
VMAC74 multiplied by 256; the two input variables had already
Jun 23, 2017 been converted to bytes.
-TYPE749 variables decoded from SMF74DO offset were wrong;
the +17 added to SMF74DO should have been +16.
R749DMAR R749DMAW R749DFMT R749DBYR R749DBYT
R749DFMT R749DPKR R749DPKT R749DWUP R749DWUM
R749DFMT R749DBYX R749DFMT
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.145 Some zVM VXSYTPRP new SMT variables were incorrectly
FORMATS tested for error conditions with GT 8000000Nx values
VMACVMXA that no longer existed after their INPUT, causing large
Jun 25, 2017 values in occasional observations. They are now INPUT
with IB4 or IB4.3 INFORMATS so the first-bit-value causes
a negative value, and the error tests are now LT 0 to
detect and delete them. The MGVXAER format was revised
decode the negative values to print the error messages on
the SAS log (for the first 3 of each error type).
-Some INTERVAL variables were incorrectly deaccumulated
that also caused occasional large values.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.144 These error messages, introduced in Change 35.050:
ASUM70PR MXGERROR:DATASETS ASUMCEC ASUMCELP ARE NOT VALID. YOU ARE
VMXG70PR MXGERROR:MISSING TYPE 70 RECORDS FOR ONE OR MORE SYSTEMS.
Jun 23, 2017 MXGERROR:SMF70LAC VALUES FOR THOSE SYSTEMS/CECS ARE INVALID
MXGERROR:SEE CHANGE 35.144 TO CORRECT.
impact the important ASUMCEC and ASUMCELP CEC-level data.
Datasets ASUM70PR and ASUM70LP are impacted, but they
are SYSTEM-Level and are NOT recommended for analysis.
The messages will result if you did NOT process type 70
records from ALL OF YOUR z/OS SYSTEMS in the CEC; for
that case, you need to read all 70 SMF records.
They can also result if your z/OS configuration uses z/OS
SYSTEM names that are set in your SYS1.PARMLIB's IEASYSxx
and are NOT the same as the SMF SYSTEM ID: for example,
if you set SYSTEM names in IEASYSxx to the LPARNAME.
-This change creates a new INCODE70 argument that can be
set externally by macro variable &INCODE70FORPR, so you
can change those SYSTEM name to LPARNAME. Note, this is
only done internally in ASUM70PR code; there is no SYSTEM
variable in ASUMCEC/ASUMCELP. To use INCODE70FORPR, you
first need run this program and look at the output of
PROC FREQ DATA=PDB.TYPE70PR;
TABLES LPARNAME*SMF70STN/NOROW NOCOL NOCUM NOPERCENT;
to verify that LPARNAME equals SMF70STN for ALL systems.
IF THAT IS TRUE, then you need to use either INCODE70= in
your tailored ASUM70PR member (in your USERID.SOURCLIB),
or set the value prior to your ASUM70PR include, using:
%LET INCODE70FOR70PR=%QUOTE(
IF SYSTEM NE LPARNAME THEN SYSTEM=LPARNAME;
);
-Newly added, once you have verified the preceding is TRUE
you can let MXG do the heavy lifting and specify:
%LET INCODE70=ENABLEAUTO;
(this %LET was corrected Aug 29, 2022, originally the
change text had INCODE70FORPR which was wrong)
and MXG will generate the needed code to correct.
Don't hesitate to contact support@mxg.com for help.
See Change 36.026 for an example when LPARNAME is not
equal to SMF70STN.
See Also Change 37.071 that added INTIME70xx macros.
These are the variables that will have missing values
in PDB.ASUMCECLP and ASUMCEC for those LPARs listed:
SMF70CPA SMF70LAC SMF70PAT SMF70WTI SMF70WTS SMF70WTI.
Change 35.143 -The UTIILBLDP option SUPPRESS is enhanced to recognize
UTILBLDP CICS to be the same as 110.
Jun 21, 2017 -If you specified SORTOUT=NEVER (not really recommended,
intended only for internal testing) it didn't work right:
only the datasets where sort IS required were NOT sorted,
(i.e. DIF() required for deaccumulate members) and all
other datasets WERE sorted. Now, NEVER sorts NOTHING,
and SORTOUT=NO option now sorts ONLY those members that
must be sorted for DIF().
Change 35.142 Format MG080QU has been updated with new z/OS 2.2 values
FORMATS for decoding variable RACFQUAL='EVENT*CODE*QUALIFIER'
Jun 16, 2017
Thanks to Lindsay Oxenham, Australia Defence Department, AUSTRALIA.
Change 35.141 John Burg's 2017 formula for RNI for the z13 was changed
ASUM113 from the 2.6 factor introduced in Change 33.033 in 2015
VMAC113 to the new value of 2.3. John's paper can be found at:
VMACVMXA http://www-03.ibm.com/support/
Jun 15, 2017 /techdocs/atsmastr.nsf/WebIndex/TC000066
Thanks to David Cogar, WellsFargo, USA.
Change 35.140 Support for short sub-sub-type ZPRTR1PL=188.
VMACZPRO
Jun 15, 2017
Change 35.139 -Support for restructured BETA93 Subtype 25 (VMACBETA)
VMACBETA and for restructured BETA97 Subtype 25 (VMACBE97) which
VMACBE97 adds new BE97DTKN DTOKEN variable.
Jun 21, 2017 -Variable BETALEXT has length $16 in VMACBETA subtypes
Jun 26, 2017 21 and 25, but the first INPUT for subtype 0 and other
earlier subtype are length $12, so the kept length was
only 12. Now, LENGTH BETALEXT $16 is set so the kept
variable length is the maximum 16 bytes.
Thanks to Thomas Wigger, Finanz Informatik, GERMANY.
Thanks to Dieter Haak, Finanz Informatik, GERMANY.
Thanks to Robert Gilbert, BNP Paribas Fortis, BELGIUM.
Change 35.138 TPX corrections to TPXIPPRT and TPXTRMON dataset.
VMACTPX The '07'x records are only LENGTH=101, so the TPXAPLON
Jun 9, 2017 data set is still missing TPXIPADR and TPXIPPRT fields.
Thanks to Scott Wiig, USBank, USA.
Change 35.137 Datasets TYPE42DS, TYPE42SR & TYPE42VT with APAR OA44319
VMAC42 have increased accuracy for these I/O duration variables:
Jun 6, 2017 RESPTIME AVGCONTM AVGPNDTM AVGDISTM AVGCUQMS S42CONTM and
AVGIOQMS.
Thanks to Ron Hawkins, Hitachi, USA.
Change 35.136 Correction for NETVIEW ID=38 record with S38CCALR length
VMAC38 less than expected length of 8 bytes. Record is valid,
Jun 14, 2017 MXG expected fixed length of 8 characters.
Thanks to Stuart Wildey, Morgan Stanley, ENGLAND.
Change 35.135 -Enhancements for 4 numeric data filters for RMF Monitor
ADOCRMFV III ASI (Address Space Information) table.
ASMRMFV -A pair of data filters are added to filter ASI entries
VMACRMFV based on the ASICPUTA (Total TCB+SRB time) field for each
Jun 6, 2017 MINTIME interval. These filters are effective only if
the ASI table is selected.
New Parameter Alias(es)
------------- ------------------------------------------
ZEROCPU ZCPU Default
NOZEROCPU NOZCPU, NZCPU
-ZEROCPU is the default and results in all ASI entries
being output to the RMFBSAM file and thus all becoming
observations in the MXG PDB data set ZRBASI (depending
on other ASI filters that may be in use).
The default provides a compatible behavior with prior
ASMRMFV versions.
-NOZEROCPU results in all ASI entries with ASICPUTA=0
being filtered (depending on other ASI filters that may
be in use) and thus these do NOT become observations in
the MXG PDB data set ZRBASI. The data volume to generate
the PDB can be significantly reduced.
In a test group of 21 RMF Monitor III VSAM data sets
78.3% of all ASI entries had ASICPUTA=0. Actual results
may vary.
-While the NOZEROCPU setting might seem to be ALWAYS
desirable there are other considerations:
1) Filtering zero CPU time ASI entries will result in
time series gaps for some Address Spaces in some MINTIME
intervals in charts, plots, or reports.
If such gaps are not acceptable, use the default ZEROCPU
parameter instead. However, there will be a higher
number of PDB ZRBASI data set observations as in prior
ASMRMFV versions.
2) Zero CPU time conditions are NOT always due to pure
idleness for an Address Space.
RMF Monitor III detected delays such as Processor,
Enqueue, Operator Reply, and Operator Mount separately or
in combination can prevent accumulation of any CPU time
for an Address Space in a single MINTIME interval.
The NOZEROCPU parameter used alone with the NOKEEPDELAYS
default will filter out these entries so that further
investigation of a zero CPU time Address Space in a
MINTIME interval based on delays is impossible.
-With the above use of NOZEROCPU in mind an additional
pair of data filters are added to further filter ASI
entries based on the ASISWAIN (Number of Single State
Samples Delayed by ANY Resource) field for each MINTIME
interval.
This filter pair is effective only if the NOZEROCPU
parameter is in effect.
New Parameter Alias(es)
------------- ------------------------------------------
KEEPDELAYS KDELAYS, KDLYS, KEEPD
NOKEEPDELAYS NOKDELAYS, NOKDLYS, NOKEEPD Default
-With NOZEROCPU and NOKEEPDELAYS in effect all ASI entries
with ASICPUTA=0 are filtered regardless if any delays
occurred or not during a MINTIME interval (if not already
filtered by other ASI filters).
-With NOZEROCPU and KEEPDELAYS in effect only ASI entries
with both ASICPUTA=0 AND ASISWAIN=0 (zero delays) in a
MINTIME interval are filtered (if not already filtered
by other ASI filters).
In a test group of 21 RMF Monitor III VSAM data sets with
NOZEROCPU and KEEPDELAYS 75.8% of all ASI entries had
ASICPUTA=0 and ASISWAIN=0 and so were filtered.
This was only 2.5% less data filtered than with NOZEROCPU
used alone. Once again actual results may vary.
-NOZEROCPU and KEEPDELAYS are likely the best compromise
settings between ASI data reduction and retention of
delay information. Neither are defaults.
However, for maximum data reduction use NOZEROCPU alone
if subsequent delay analysis is not required.
-If ZEROCPU/NOZEROCPU is specified multiple times the last
occurrence takes effect.
-If KEEPDELAYS/NOKEEPDELAYS is specified multiple times
the last occurrence takes effect, but both are ignored
if ZEROCPU is in effect.
-The following chart shows ASI entries output to the
RMFBSAM file and thus also to the subsequent observations
in MXG PDB ZRBASI data set based on the settings of
ZEROCPU/NOZEROCPU, KEEPDELAYS/NOKEEPDELAYS:
---------------------------------------------------------
| NOKEEPDELAYS | KEEPDELAYS
| (Default) |
---------------------------------------------------------
ZEROCPU |All ASI entries output |All ASI entries output
(Default)| |
---------------------------------------------------------
NOZEROCPU|Only ASI entries output|Only ASI entries output
|with ASICPUTA NE 0 |with ASICPUTA NE 0
| |OR ASISWAIN NE 0
---------------------------------------------------------
-ASIAND/ASIOR does NOT apply to ZEROCPU/NOZEROCPU and
KEEPDELAYS/NOKEEPDELAYS filters. These are evaluated
independently of other ASI filters.
-The order of ASI filter application is:
1) ASISUBSYS= <----
2) ASIWORKLOAD= |
3) ASIRESGROUP= |
4) ASISRVCLASS= |--< ASIAND/ASIOR applies only
5) ASIRPTCLASS= | to these filters 1) to 8)
6) ASIJOBCLASS= |
7) ASIJOBNAME= |
8) ASIJESID= <----
9) ZEROCPU/NOZEROCPU
10) KEEPDELAYS/NOKEEPDELAYS
-The MXG00 record version is raised to x'09' from x'08'.
New fields added to the MXG00 record include:
ZEROCPU/NOZEROCPU and KEEPDELAYS/NOKEEPDELAYS settings
-Update message RMFV006I to show new output filters
ZEROCPU/NOZEROCPU/KEEPDELAYS/NOKEEPDELAYS.
-Several documentation Sections are updated to support
the above changes:
Section 0 "Contents"
Section 2 "Terminology"
Section 4 "RMF III Table Selection Parameters"
Section 5 "Input Data Selection Parameters"
Section 6 "Report Control Parameters"
Section 7 "Output Data Control Parameters"
Section 12 "Messages"
Section 13 "Filtered Records"
Section 31 "Summary"
Change 35.134 Variables T103DBYT and T103DREQ are accumulated fields
VMAC103 that are now correctly deaccumulated in TYPE103D dataset.
Jun 5, 2017 Variables T103DDNS and T103DKEE are always zero in test
data, so it is unknown if they also are accumulated.
Thanks to Joe Faska, DTCC, USA.
Change 35.133 Test program COMPALL updated for new SMF products. This
COMPALL utility compiles all of the SMF processing programs to
Jun 5, 2017 ensure no CHAR/NUM conflicts in temporary variables.
Can not be run on z/OS because it requires 3292MB which
is more than the largest z/OS Private Area available.
Change 35.132 Support for zVM 6.4 APAR VM66026 adds new variables;
VMACVMXA -Variable CUIDSSID='SUBSYSTEM*ID*SSID' is added to dataset
Jun 3, 2017 VXMTRDEV, VXIODVON, and VXIODDEF.
-Variables added to VXIODVON
PREFPATH RDEVHPPL CUIDSSID EQIDUID EQIEQID DEVCHAR
EDEVATTR
-Variables added to VXIODDEV
RDEVNOAL RDEVYSAL RDEVIOQT RDEVIOQS CUIFCXPE RDEVWRAL
RDEVRDAL RDEVWXAL RDEVEXAL
Change 35.131 zVM variable CALENTMT was incorrectly divided by 16, and
VMACVMXA new variable CALSHARE='Hiperdispatch*Processor*SHARE is
Jun 1, 2017 now created as CALSHARE=CALENTMT/65536;
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.130 Changes in VMXGSUM invocation in little used and mostly
ASUM* obsolete members so that WPS can handle QA stream:
MNTH* ASUMHPAI ASUMHPCS ASUMHPSU ASUMHPUX ASUMMWUX
TRND* MNTH70 MNTH70PR MNTH71 MNTH72 MNTH72GO MNTHCICS MNTHJOBS
May 31, 2017 TRND70 TRND70SH TRND71 TRND72 TRND72GO
Change 35.129 Support for 7th, 8th, and 9th CICS User field.
UTILEXCL
IMACIC7D
IMACIC8D
IMACIC9D
IMACIC7U
IMACIC8U
IMACIC9U
May 31, 2017
Change 35.128 Documentation Note. ZFS and ODS users may need to change
IMACINIT the MXG default CAPSOUT option to NOCAPSOUT since those
May 26, 2017 system need to support both cases. I don't think it is
safe for me to change the option as it could impact the
existing users on z/OS where it was originally needed.
But you can add OPTIONS NOCAPSOUT: in the IMACINIT
member of your tailoring library if you determine it can
be changed with no impact.
Change 35.127 Dataset TYPE30_6 could have negative values for Early
VMAC30 Address Spaces (ASIDs that start prior to JES init that
May 26, 2017 have missing READTIME and JESNR) because of multiple
of the same JOB name, but adding variable ASID to the
BY list in MACRO _BTY30U6 corrects these errors.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.126 Variable SMF30SLM is decoded into these new variables in
BUILD005 TYPE30_4 and PDB.STEPS in BUILDPDB and BUILDPD3:
BUIL3005 SMF30SLMRB='REGIONBELOW*NONEXTENDED*REGION?'
VMAC30 SMF30SLMRA='REGIONABOVE*EXTENDED*REGION?'
May 26, 2017 SMF30SLMSB='SYSRESVBELOW*NONEXTENDED*REGION?'
SMF30SLMSA='SYSRESVABOVE*EXTENDED*REGION?'
SMF30SLMML='MEMLIMIT*ACTED ON*MEMLIMIT?'
SMF30SLMBY='IEFUSI*BYPASSED*ALL*SMFLIM?'
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.125 Support for z/OS 2.3 changes. See also Change 35.166.
EXTY9208 -Support for SMF Record Types 127-2047, with ID 0-127 and
EXTY9250 1152-2047 reserved for IBM use, and ID 127-1151 for USER
EXTY9251 SMF record types. The SMF header was extended by using
EXTY9252 never-used ID=126 record type to identify this record has
EXTY9253 the extended header. Note that new SMF exit IEFU86 is
EXTY9254 taken for ALL SMF records, with or without the extended
EXTY9255 header, and existing SMF exits IEFU83/84/85 are called
EXTY9256 ONLY for records with standard header.
EXTY9257 -Dataset TYPE1415 new variables:
EXTY9258 SMF14DEF='ENCRYPTION*FLAG*BYTE'
EXTY9259 SMF14DET='ENCRYPTION*TYPE'
IMAC92 SMF14DKL='DASD*DATA SET*KEY*LABELS'
VMAC1415 Fields exist only if Encryption Subtype 9 exists.
VMAC42 -Dataset TYPE4227 new variables:
VMAC62 SMF42RDSC_OLD='SMF42RDSC*OLD DSCB*DATA*FIELD'
VMAC7072 SMF42RDSC_NEW='SMF42RDSC*NEW DSCB*DATA*FIELD'
VMAC71 SMF42RKEY_OLD='SMF42RKEY*OLD DSCB KEY*DATASET*NAME'
VMAC92 SMF42RKEY_NEW='SMF42RKEY*NEW DSCB KEY*DATASET*NAME'
VMACSMF The _ETY4227 output macro was relocated correctly so it
VMXGINIT is outside the LN2 DO group, causing observations to
VMAC73 now be created that were not previously output.
VMAC74 Tested.
VMAC75 -Dataset TYPE62 new variables:
VMAC76 SMF62DEF='ENCRYPTION*FLAG*BYTE'
VMAC77 SMF62DET='ENCRYPTION*TYPE'
VMAC78 SMF62DKL='DASD*DATA SET*KEY*LABEL'
VMAC79 -Dataset TYPE71 new variables, APAR OA48913 added.
VMACRMFV SMF71RFL='SMF71RFL*FLAGS'
Jul 18, 2017 SMF71NNF='AVG NON-NUC*FRAMES*COMPRISING*STORAGE'
Jul 28, 2017 SMF71LSI='AVG SYS-INIT*DEMOTIONS*LARGE*TO 4K'
SMF71LRI='AVG REQ-INIT*DEMOTIONS*LARGE*TO 4K'
SMF71MHW='HWM 1MB*FRAMES*USED FOR*FIXED 1MB'
SMF71PIS='AVG 4KB*PAGEINS*FROM SCM'
SMF71POS='AVG 4KB*PAGEOUTS*TO SCM'
SMF71PI1='AVG 1MB*PAGEINS*FROM SCM'
SMF71PO1='AVG 1MB*PAGEINS*FROM SCM'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF71DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF71DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Fields not present, LENPDGS/SMF71PDL is 2160 bytes,
but should be 2224.
-Dataset TYPE72GO new variable:
R723GMLM='MEMORY*LIMIT*SPECIFIED?'
R723GMML='MEMORY*LIMIT*GB of*resgroup'
R723CTETX='TOTAL*TRANSACTION*ELAPSED*TIME'
R723CXETX='TOTAL*TRANSACTION*EXECUTION*TIME'
R723CETSX='SUM*ELAPSED*TIME*SQUARED'
R723CQDTX='TOTAL*QUEUE*DELAY*TIME'
R723CADTX='TIME*BATCH JOBS*INELIGIBLE*TO RUN'
R723CCVTX='TIME*BATCH JOBS*SPENT*IN JCL CVTR'
R723CIQTX='TIME*BATCH JOBS*INELIGIBLE*IN JOBQ'
Tested; 35.06 only kept first two variables.
-Dataset TYPE7204 new variable:
R724ETX='TOTAL*EXECUTION*TIME*GROUP'
R724QTX='TOTAL*QUEUE*TIME*GROUP'
R724OR7A='MEMORY*POOL*SHORTAGE'
Tested.
-Dataset TYPE73 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF73DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF73DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE74 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF74DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF74DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
SMF74ATD='I/O DELAYS*PAV*ALIAS*THROTTLING'
Tested.
-Dataset TYPE74CA new variable:
R745XSCS='SUBCHANNEL*SET*ID'
Tested.
-Dataset TYPE748 new variable:
R748CFSC='SUBCHANNEL*SET*ID*PHYS CONFIG'
R748CSCS='SUBCHANNEL*SET*ID OF*FAILING*DEVICE'
No Observations to test.
-Dataset TYPE75 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF75DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF75DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
SMF75SCS='SUBCHANNEL*SET*ID'
Tested.
-Dataset TYPE76 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF76DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF76DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE77 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF77DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF77DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
Tested.
-Dataset TYPE78 new variables:
ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
SMF78DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
SMF78DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
No Observations to test.
-Dataset TYPE791 update:
R791SRC new MP Swap Reason Memory Pool Shortage
No Observations to test.
-Dataset TYPE796 new variables:
R796SCS='SUBCHANNEL*SET*ID'
No Observations to test.
-Dataset TYPE79B new variables:
R79BSCS='SUBCHANNEL*SET*ID'
No Observations to test.
-TYPE92xxx datasets not tested, no data.
-NEW dataset TYPE9208: ZFS FILE SYSTEM MIGRATED
SMF92GLUGNU='LOCAL*OR*REMOTE*MOUNT?'
SMF92GSN='FILE*SYSTEM*OWNER?'
SMF92GTM='DATETIME*OF*MIGRATION'
SMF92GMO='OFFSET OF*MOUNT*PARM*SECTION'
SMF92GFT='FILE*SYSTEM*TYPE*MNTENTFSTYPE'
SMF92GFM='FILE*SYSTEM*MODE*MNTENTFSMODE'
SMF92GDN='FILE*SYSTEM*DEVICE NUMBER*MNTENTFSDEV'
SMF92GDD='DDNAME*SPECIFIED*ON MOUNT*MNTENTFSDDNAME'
SMF92GTN='FILE*SYSTEM*TYPE NAME*MNTENTFSTNAME'
SMF92GFN='MIGRATION*TARGET*FILE*SYSTEM*NAME'
SMF92GON='MIGRATION*SOURCE*FILE*SYSTEM*NAME'
SMF92GBL='FILE*SYSTEM*BLOCK*SIZE'
SMF92GST='TOTAO*SPACE*IN FILE*SYSTEM'
SMF92GSU='ALLOCATED*SPACE IN*FILE*SYSTEM'
SMF92GFG='FIRST*BINARY*FLAG'
SMF92GF2='SECOND*BINARY*FLAG'
-NEW dataset TYPE9250: ZFS FILE SYSTEM EVENTS
SMF92FSN='FILE*SYSTEM*NAME'
SMF92VOL='VOLSER*FIRST*EXTEND'
SMF92CCHH='CCCCHH*OF FIRST*EXTEND'
SMF92EVENT='FILE*SYSTEM*NAME'
SMF92SIZ='FORMATTED*SIZE OF*FILE*SYSTEM'
SMF92T50=' STKE *FILE*SYSTEM*EVENT'
SMF92CODE='FAILED*OPERATIONS*ERROR*CODE'
SMF92RSN='REASON*CODE'
SMF92OVS='PRIOR*VOLUME*SERIAL'
SMF92OCH='CCCCHH*OF PRIOR*VOLUME*SERIAL'
SMF92LRT='LOGFILE*RECOVERY*TIME'
SMF92LRP='LOG*PAGES*PROCESSED'
SMF92LRR='LOG*RECORDS*PROCESSED'
SMF92LRD='LOG*BLOCKS*MODIFIED'
SMF92LRE='REDO*DATA*RECORDS*PROCESSED'
SMF92LRF='FILL*RECORDS*PROCESSED'
SMF92LRN='NEW BLOCK*SECURITY*RECORDS*PROCESSED'
SMF92SYS='SYSTEM*NAME*REPORTING*EVENT'
-NEW dataset TYPE9251: COUNTS/RESPONSE TIME ZFS CALLS
SMF92CCT='EVENT*DATETIME'
SMF92VCC='CALLS TO*FILE SYS*OWNED LOCALLY*OR R/O'
SMF82VCX='CALLS*REQUIRED*TRANSMIT*FOR LOCAL'
SMF92VCR='CALLS TO*FILE SYS*OWNED*REMOTELY'
SMF92VCRX='CALLS*REQUIRED*TRANSMIT*FOR REMOTE'
SMF92VCT='AVG TIME*PER CALL*LOCALLY*OWNED'
SMF92VCRT='AVG TIME*PER CALL*REMOTELY*OWNED'
SMF92VCN='CALLS TO*FILE SYS*LOCAL OR*REMOTE'
-NEW dataset TYPE9252: STATISTICS FOR ZFS USER FILE CACHE
SMF92UCT =' STCKE DATETIME*WHEN*STATISTICS'
SMF92UCSCH='TIMES*DIRTY DATA**SKED FOR*WRITE TO DISK'
SMF92UCSET='CALLS*TO CHANGE*ATTRIBUTES*OF A FILE'
SMF92UCFSY='CALLS*TO SYNC*ALL DIRTY DATA*SYNC WAIT'
SMF92UCUNM='CALLS*TO PURGE*USER CACHE'
SMF92UCRD ='CALLS*TO READ*FROM FILE*IN USER CACHE'
SMF92UCRDA='ASYNC*READ-AHEADS*SCHEDULED*SEQUENTIALLY'
SMF92UCWR ='CALLS*TO WRITE*TO FILE*IN USER CACHE'
SMF92UCGET='CALLS CACHE*TO OBTAIN ATTRIBUTES'
SMF92UCFL ='CALLS CACHE*TO FLUSH*ALL DATA FOR*FILE SYS'
SMF92UCDEL='WRITES*OF DIRTY DATA*AVOIDED'
SMF92UCRDF='READ CALL*TO FILE CACHE*FOUND*A CACHE MISS'
SMF92UCWRF='WRITE CALL*TO FILE CACHE*FOUND*A CACHE MISS
SMF92UCRIO='READ I/OS*TO DISK*USER FILE CACHE'
SMF92UCWRS='NORMAL*WRITE I/OS*SKED*BY FILE CACHE'
SMF92UCWRE='WRITE I/OS*SKED*ERROR FOUND'
SMF92UCWRR='WRITE I/OS*SKED*RECLAIM-STEAL'
SMF92UCRWR='TASK WAITS*FOR SKED READ*FROM DISK'
SMF92UCWW ='TASK WAITS*FOR WRITE*FILE*PENDING I/O'
SMF92UCWWF='TASK WAITS*FOR PENDING I/O*FOR FSYNC CALLS'
SMF92UCWWE='TASK WAITS*FOR I/O*ERROR*PROCESSING'
SMF92UCWWR='TASK WAITS*FOR I/O*RECLAIM-STEAL*PROCESSING
SMF92UCRST='TIMES*RECLAIM-STEAL*PROCESSING*WAS INVOKED'
SMF92UCCS ='CACHES*SPACES*LRU QUEUES* AND PAGEPOOLS'
SMF92UCPCS='PAGES*IN EACH*CACHE SPACE'
SMF92UCSS ='SIZE OF*INDIVIDUAL*FILE SEGMENT'
SMF92UCPGS='SIZE OF*A PAGE*IN THE USER*FILE CACHE'
SMF92UCPGT='TOTAL PAGES*IN THE USER*FILE CACHE'
SMF92UCPGF='FREE PAGES*IN THE USER*FILE CACHE'
SMF92UCSGC='ALLOCATED*SEGMENT*STRUCTURES*IN FILE CACHE'
SMF92UCDSL='LENGTH*PER-CACHE*SPACE RECORD'
-NEW dataset TYPE9252X:CACHE SPACE NAME SEGMENT
SMF92DSNAM='NAME OF*THE CACHE SPACE'
SMF92DSAS ='SEGMENTS*ALLOCATED'
SMF92DSFR ='FREE PAGES*IN CACHE LIST'
-NEW dataset TYPE9253: STATISTICS FOR ZFS METADATA CACHE
SMF92MCT ='DATETIME*WHEN*STATISTICS*WRITTEN'
SMF92MCB ='BUFFERS IN THE METADATA CACHE.'
SMF92MCLK='SEARCH CALLS*FOR BUFFER*IN METADATA CACHE'
SMF92MCHT='SEARCH CALLS*CACHE HITS'
SMF92MCWP='CALLS TO*UPDATE*METADATA CACHE*BUFFER.'
SMF92MCPW='PARTIAL*BUFFERS*WRITTEN'
SMF92MCBS='BYTES IN*METADATA*CACHE BUFFER.'
-NEW dataset TYPE9254: STATISTICS FOR ZFS LOCKING AND SLEE
-NEW dataset TYPE9255: GENERAL ZFS DISK IO STATISTICS
-NEW dataset TYPE9256: TOKEN MANAGER
-NEW dataset TYPE9257: ZFS USE OF MEMORY
-NEW dataset TYPE9258: TRANSMIT/RECEIVES BETWEEN ZFS MEMBE
-NEW dataset TYPE9259: PER-FILE SYSTEM USAGE
-RMF III UPDATES:
-ASMRMFV Recent versions will execute without error,
but new variables will not be output without the new
VMACRMFV update:
-Dataset ZRBASI new variable:
ASISTAFL ASI2GMEMOBJ ASI2GPGSBKD
-Dataset ZRBDVT new variables:
DVTSSID ='SUBCHANNEL*SET'
DVTDEVN2='DEVICE*NUMBER*DVTDEVNR'/
DVTENIDX4='INDEX OF*THIS*DVTG3*ENTRY'/
DVTPREVI4='INDEX OF*PREVIOUS*DVTG3*ENTRY'
-Dataset ZRBGEI new variables:
GEIGRMO ='FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
GEIGRPR ='2GB FRAMES*FIXED IN*CSTORE'
GEIGFUSE='2GB FRAMES*USED IN*FIXED*MEMOBJ'
GEIGSIZ ='2GB FRAMES*CAN BE*USED 2GB MEMOBJ'
-Dataset ZRBUWD new variables:
UWDDEVNR4=DEVICE*TABLE*DVTG3*INDEX'
Change 35.124 Running WPS with more than 20 libnames caused WPS to fail
PDBAUDIT so now with WPS if there are more than 20 LIBNAMES after
May 22, 2017 removing the LIBNAMES not related to PDBAUDIT, MXG shuts
down with a message that only the first 20 were used.
Change 35.123 Support for z/OS 2.2 updates to TYPE991 dataset adds many
VMAC99 new variables.
May 22, 2017
Thanks to David Cogar, WellsFargo, USA.
Change 35.122 Two new parameters added:
ANALCAPD COMPANY= lets you override MXG in title statements
May 22, 2017 OUTDATA= lets you preserve the dataset with actuals and
rolling 4 hour MSU values for further analysis.
-GRAPHICS code is enabled for WPS at 3.3 or higher.
====== Changes thru 35.121 are in this MXG 35.05 dated May 15, 2017=====
Change 35.121 ERROR: MACRO KEYWORD DO APPEARS AS TEXT because the quote
ANALAVAI after "DO'" and several other syntax errors corrected.
May 13, 2017
Thanks to Hai Huynh, Freddie Mac, USA.
Change 35.120 WPS only, MXG 35.04, Change 35.085. A variable with no
VMXGPRNT label generated unintended text with multiple quotes
May 16, 2017 Varname1='Label*(varname)''(next vrname)'
which is valid text for a SAS label, defined as the text
after an equal sign up to the text before the next token
that is followed by an equal sign, but this syntax was
was not accepted by WPS as a label, causing an ERROR.
The circumvention is to create a LABEL='NOLABEL' for
variables that do not have a label.
-VMXGPRNT is used in ANAL113, ANAL116, VMXGFIND, VMXGPRAL
VMXGPRA1, VMXGPRNT, VMXGSRCH, and JCLPDB members.
Change 35.119 READDB2 had a hard coded limit of 450 for IFCID, and 499
READDB2 had been added in TYPE102s. Now limit is 999.
May 11, 2017
Thanks to Lynn Hong, UCLA, USA.
Change 35.118 Notes on the use of VIEWs in DATA steps that create more
Document than one DATASET.
May 11, 2017 -Only one DATASET can be a view in a DATA step (and the
BUILDPDB program already has one).
-Any of the datasets can be the view, but that view MUST
be the first dataset referenced (read/sorted), or none
of the other datasets will exist.
-Views can dramatically reduce elapsed and CPU times and
I/O counts and durations, for instance for a DATA step
followed by a SORT, where the VIEW eliminates the write
and read of the dataset that is created without a VIEW.
The VIEW doesn't have any impact on the resources used
by the SORT.
-This example started as TYPE120 with the lower case
lines added. WORK needs to be cleared in case there was
a dataset of the same name, whether it was a view or a
dataset. The /view=typ1209r enables the view and names
the one dataset, and the _st1209r "data set sort macro"
is invoked first, and then made blank so the _S120
"product sort macro" can sort the other datasets:
proc datasets ddname=work mt=all kill;
%INCLUDE SOURCLIB(VMACSMF,VMAC120,IMACKEEP);
DATA
_VAR120 /view=typ1209r
_SMF
_CDE120
run;
_st1209r
run;
macro _st1209R %
_S120;
RUN;
The DATA/SORT took 6 hours, the VIEW/SORT took 2.
Thanks to Joe Faska, DTCC, USA.
Thanks to Michael Oujesky, DTCC, USA.
Change 35.117 -VMXGFIND did not correctly build the output dataset names
VMXGFIND when multiple input PDBs were to be read; while all were
May 11, 2017 read, only one was output.
Thanks to David A. Sadler, Optum, USA.
Change 35.116 35.04 only. The TYPSMVJE test was in TESSUSR1 but should
JCLTEST9 have been in TESSOTHR member, so TESSUSR1 step failed
May 16, 2017 because //MVJEIN DD was not found in that step's JCL.
Add //MVJEIN DD DUMMY to the TESSUSR1 step.
TYPSQACS replaced TESSQACS in //TESTQAPM step.
Thanks to Tony Ferullo, MIB, Inc., USA.
Thanks to Rod Feak, MIB, Inc., USA.
Change 35.115 TYPE 749 new var Support for Synchronious I/O zos 2.3
VMAC74 R749SRBF='BYTES*READ*THIS*FUNCTION'
May 10, 2017 R749SWBF='BYTES*WRITTEN*THIS*FUNCTION'
R749DFMT='FORMAT'
R749SSRF='SUCCESSFUL*REQUESTS*THIS'
R749SLRF='LOCAL*REJECTS*THIS'
R749SRRF='REMOTE*REJECTS*THIS'
R749STPF='PROCESSING*TIME*THIS'
R749SRBC='BYTES*READ*ALL*FUNCTIONS'
R749SWBC='BYTES*WRITTEN*ALL*FUNCTIONS'
R749SSRC='SUCCESSFUL*REQUESTS*ALL'
R749SLRC='LOCAL*REJECTS*ALL'
R749SRRC='REMOTE*REJECTS*ALL'
R749STPC='PROCESSING*TIME*ALL'
Note that the type 74 subtype 9 record requires RMF III
to be active on this system, and the ERBRMFxx member of
SYS1.PARMLIB must have PCIE=YES specified, to be created.
Change 35.114 New variables added to TYPE749 PCIE data found in SMF
VMAC74 manual refresh:
May 10, 2017 R749FLAG='VALIDITY*FLAG'
R749NET1='1ST*PORT*PNET ID'
R749NET2='2ND*PORT*PNET ID'
R749DBYX='BYTES*TRANSMITTED*BY PCIE*FUNCTION'
Change 35.113 MXG 35.04 only, TYPE70 SHARE weights wrong, although the
VMAC7072 PDB.ASUMCELP values were correct and recommended for the
May 10, 2017 analysis of LPAR weights.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 35.112 -MXG 35.04 Only, only with variable names longer than 32
VGETSORT bytes. ERROR Truncated SORTBY variable name not found.
May 9, 2017 The LENGTH for the new SORT variables is $32 now.
May 11, 2017 VGETSORT is used in BLDSMPDB, UTILROLL and MULTIPDB.
-VGETSORT: Cosmetic, UNINIT variable NOBS message because
it was not in the KEEP list, but had no impact.
Change 35.111 DB2 12.1, INVALID QLAC SEG ERROR, LENQLAC=218, new
VMACDB2 field QLACPRLV was inserted by DB2 CONTINUOUS DELIVERY,
VMACDB2H but was unknown to MXG as there was no notification by
May 9, 2017 IBM that a field was inserted. MXG detected the change,
May 11, 2017 printed the ERROR message, and deleted the record, so
some observations in DB2ACCT were not output. The error
led to the discovery of an updated DB2 MACLIB with this
text in DSNDQLAC member:
e26995 Continuous Delivery.
Product functional/build level. QLACPRLV. s28617
but a search for s28617 discovered nothing. Only a
search for the new field, QLACPRLV found it was added.
But there were no other references to the s28617 nor
e26995 tokens in the other MACLIB members.
Of course, now that I know this new field name, Google
found both fields referenced in APAR PI74456:
"IFCID 3 accounting information will now provide the
partner's functional/service/build level in a new
QLACPRLV field."
"IFCID 365 location statistics information will now
provide the partner's functional/service/build level
in a new QLSTPRLV field."
The real issue raised with DB2 support and unanswered
as of this writing is: HOW AM I SUPPOSED TO KNOW that
fields were inserted by Continuous Delivery.
These header fields are now kept in DB2ACCT:
QWHS_MOD_LVL='MOD LEVEL FOR*CONTINUOUS*DELIVERY'
QWHS_REC_INCOMPAT='INCOMPATIBLE*CHANGE*VALUE'
QWHS_REC_COMPAT='COMPATIBLE*CHANGE*VALUE'
QWHS_REC_VALIDITY='CHECK*NEEDED FOR*INCOMPAT*COMPAT'
The current MOD_LVL is V12R1M100 and MXG's COMPAT and
INCOMPAT count of changes is zero before and after this
INCOMPAT change. It is unclear how these fields could
be used, since they are after the record was changed.
Thanks to Dennis Gaetner, Fiduciagad, GERMANY.
Thanks to Sieghart Seith, Fiduciagad, GERMANY.
Change 35.110 Processing //PRISMAPR DD caused ERROR: UNDETERMINED I/O
VMACPRPR FAILURE because the DCB attributes were set for SMF, but
May 9, 2017 PRISMAPR input records are FB/256/27904.
Thanks to Gene Heikkinen, Blue Cross Minnesota, USA.
Change 35.109 Variables SM1209EX/EY/EZ/FA were accidentally dropped by
VMAC120 Change 35.024 from dataset TYP120R; you can correct with
May 5, 2017 MACRO _KT1209R SM1209EX SM1209EY SM1209EZ SM1209FA %
in your IMACKEEP tailoring member until you update MXG.
Thanks to Larry A. Gray, Lowes, USA.
Change 35.108 The ANALID report's TITLE can be changed with the TITLE=
ANALID argument, if you invoke %ANALID yourself, but BUILDPDB's
VMXGINIT invocation is internal, so this new macro variable
May 5, 2017 %LET MXGTITLEANALID=SMF RECORDS AUDIT REPORT;
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 35.107 Support for IAM Version 9.0.
VMACIAM
May 4, 2017
Change 35.106 Adds an array of system IDs SYS1-SYS10 and creates new
VMXGUOW variables SYSTEMCICS (system of origin of the 110) and
May 4, 2017 SYSTEMDB2 (system where the 101 was found) to the
PDB.ASUMUOW dataset.
Change 35.105 The CICS duration fields are now formatted TIME16.6
VMAC110 to show the full resolution to the microsecond. FORMATS
May 4, 2017 only impact the printed/displayed value of the variable.
====== Changes thru 35.104 are in this MXG 35.04 dated May 1, 2017=====
Change 35.104 Support for EDGR/RMM APAR OA46947 which prints asterisks
VMACEDGR for RVCOMPRAT and RVPHYUSED when values can't be derived.
May 2, 2017 Only warning and hex dumps were printed; the output data
sets were correctly built; this change suppressed the
log messages when the values are asterisks.
Thanks to Craig Collins, State of Wisconsin, USA.
Change 35.103 If you specified "defer=yes" in lower case and the input
VMXGSET was on tape you got a 413 ABEND because the compare to
Apr 28, 2017 defer= was comparing to upper case. Not reported, found.
Change 35.102 -z/VM 6.3 and 6.4, BROKEN CONTROL RECORD ERROR because the
VMACVMXA INPUT STSI $VARYING255 STSILEN @; failed when STSILEN was
Apr 28,2017 greater than 255; increased to 512 in VXMTRTOP.
-Also 6.3, VXIODVSW code didn't protect the undocumented
extra 4 bytes. And these new variables are now created:
LANFORW ='LAN*FORWARDING*FLAGS'
OASPORTN ='OSA*PORT*NUMBER'
ACCTYPE ='ACCESS*LIST*TYPE*FLAG'
-New variables in VXSTSYG dataset:
RCCSCAPF='BFP*ZIP*CAPABILITY'
RCCCCAPF='BFP*CP*CAPABILITY'
RCCNCAPF='NOMINAL*CP*CAPABILITY'
SSI1PCPS='CP CORE*SPEED*CYCLE*PER MICRO'
SSI1SCPS='ZIP CORE*SPEED*CYCLE*PER MICRO'
-New variables in VXSTSYG dataset:
RSAWRTHROTS='TIMES*LIMITED*PAGING*BANDWIDTH'
RSAPRTHROTS='TIMES*PARTIAL*WRITE*THROTTLE'
RSANDMREC='GLOBAL*RECLAIM*TASK*INITIATED'
RSANDMRND='NDMBKS*RETURNED*GLOBAL*RECLAIM'
-New variables in VXSTORSP dataset:
PLSNDMRQ='FROM*RECYCLE'
PLSNDMLO='NDMBK REQS*RECYCLE*LOCAL*SUPPLIED'
PLSNDMGL='NDMBK REQS*RECYCLE*GLOBAL*SUPPLIED'
PLSNDMG2L='NDMBKS MOVED*GLOBAL*TO LOCAL'
PLSNDMDX='TIMES*TASK*RETURNED*CHAIN*TO LOCAL'
PLSNDMRET='NDMBKS*RETURNED*TO LOCAL'
PLSNDML2G='NMDBKS*MOVED*LOCAL TO*GLOBAL'
PLSNDMREL='NMDBKS*RETURNED*TO FREE'
PLSNDMREC='TIME*LOCAL*RECLAIM*INITIATED'
PLSNDMRND='NDMBKS*RETURNED*TO FREE*LCL RECLAIM'
PFXCLPLCNT='FRAMES*CLEARED*LOCAL*AVAIL*PLUS'
PLSCLALLO='CLEARED*LOCAL*AVAILABLE*LLOW THRESH'
PLSCLALHI='CLEARED LOCAL AVAILABLE*LHIGH THRESH'
PLSCLALADDED='FRAMES*ADDED TO*CLEARED*LOCAL'
PLSCLALFWREMOVED='FRAMES*ADDED TO*PROCESSED*LIST'
PLSCLALTRIMMED='FRAMES*TRIMMED*CLEARED*LOCAL'
PLSFPPFENTERED='TIMES*FPP FAULT*ENTERED*FOR GUEST'
PLSFPPFSUCCESS='TIMES*FPP FAULT*SUCCESSFUL'
PLSCPPFENTERED='TIMES*FPP FAULT*ENTERED*FOR CP'
PLSCPPFSUCCESS='TIMES*FPP FAULT*SUCCESSFUL*FOR CP'
PLSCPPFMDC='TIMES*FPP FAULT*EXITED*CACHE'
PLSCLALREQUESTS1='TIMES*FRAME REQ*CLEARED*AVAIL LIST'
PLSCLALUNFILLED1='TIMES*REQUEST*FOUND LAL*EMPTY'
PLSCLALREPLENOD='TIMES*REQUEST*FOUND CLA*EMPTY*DEMAND'
PLSCLALUNFILLED2='TIMES*REQUEST*FOUND CLA*EMPTY*BEFORE'
PLSCLALREQUESTS2='TIMES*REQUEST*FROM*CLA LIST'
PLSCLALUNFILLED3='TIMES*REQUEST*FOUND CLA*EMPTY*BEFORE3'
PLSBGCTM='CPU TIME*BACKGROUND*REPLEN*CL GAL'
PLSCGALREQUESTS='TIMES*WANTED*MOVE FRAMES*CGAL TO CLLA'
PLSCGALFRAMESR='FRAMES*WANTED*MOVE*CGAL TO CLLA'
PLSCGALMOVED='FRAMES*MOVED*CGAL TO CLLA'
PLSCGALNOLOCK='TIMES NOT*MOVED*CGAL TO CLLA*LOCK'
PLSCGALUNFILLEDN='FRAMES NOT*MOVED*CGAL TO CLLA*FILL'
PLSCGALWANTING='TIMES*CGLA*INSUFFICIENT*FRAMES'
PLSCGALUNFILLEDW='FRAMES NOT*MOVED*CGAL TO CLAL*DW'
PLSULALCNT='FRAMES ON*UNCLEARED*LAL'
PLSULALLO='UNCLEARED*LOCAL*AVAILABLE*LIST LOW TH'
PLSULALHI='UNCLEARED*LOCAL*AVAILABLE*LIST HI TH'
PLSULALREQUESTS1='FRAME REQ*UNCLEARED*LAL'
PLSULALUNFILLED1='TIMES REQ*UNCLEAR LAL*BEFORE*ATTEMPT'
PLSULALREPLENOD='TIMES REQ*UNCLEAR LAL*AND*ATTEMPT'
PLSULALUNFILLED2='TIMES REQ*UNCLEAR LAL*BEFORE*FILLED'
PLSSWPROCLCNT='FRAMES*ON THE*SOFTWARE*PROCESSED LIST'
Thanks to James T. Barton, Veterans Administration, USA.
Change 35.101 New parameter OUTCODE= lets you insert some code just
VMXGGETM prior to the end of VMXGGETM. Should be complete data
Apr 28,2017 or PROC STEPS.
Thanks to Craig Collins, State of Wisconsin, USA.
Change 35.100 SYSLOG code has been updated; the old code was 2016.
SYSLOG
May 2, 2017
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 35.099 ANALID relocate.
Change 35.098 RMF III Filter enhancements.
ADOCRMFV -Enhancements for character data filtering for RMF Monitor
ASMRMFV III CPU (Processor Data Control Block), CPC (CPC Data
VMACRMFV Control Block), improved message RMFV029* DEAD SPACE
Apr 26, 2017 controls, better error message formats and content, and
other usability and performance gains.
-1 new character filter is added to support CPU entry
selection from this table to the RMFBSAM output file.
This filter is effective only if the CPU or CPC table is
selected and applies to BOTH tables.
New Keyword Aliases
------------ ------------------------------------------
CPUSYSTEM= CPUSYSID=, CPUSID=
Since this is the only filter for this table there are NO
CPUAND/CPUOR parameters.
Syntax and usage mirrors that used for the existing
SYSTEM= parameter for selection by SMF Sysid using ranges
and/or patterns.
-1 new filter is added to support CPC entry selection
from this table to the RMFBSAM output file. This filter
applies ONLY to the CPC (not the CPU) table.
New Keyword Aliases
------------ ------------------------------------------
CPCSYSTEM= CPCSYSID=, CPCSID=
Since this is the only filter for this table there are NO
CPCAND/CPCOR parameters.
Syntax and usage mirrors that used for the existing
SYSTEM= parameter for selection by SMF Sysid using ranges
and/or patterns.
-TUTORIAL:
The new CPCSYSTEM= parameter may appeal to large
installations running multiple z/OS LPARs on a CEC
(Central Electronic Complex) and using RMF Monitor III
gathering data on several of them.
RMF Monitor III creates the CPCDB (Central Processing
Complex Data Block) table for each instance of RMF
Monitor III on a given CEC except if the LPAR is a z/VM
guest.
The CPCDB (aka CPC) has LPAR settings and Logical
Processor data for every image on the CEC whether it be
a z/OS LPAR or not.
There is no RMF III option to turn off CPC data
collection, so this parameter is an alternative.
As long as the RMF Monitor III MINTIME, CYCLE, and SYNC
options are identical redundant CPC tables for every RMF
Monitor III native (non-guest) LPAR on the CEC are
created at every MINTIME interval.
The MXG PDB build will create a ZRBLCP observation for
each Logical Processor for each LPAR for every MINTIME
interval. For installations with several RMF Monitor III
LPARs on a CEC this can result in a lot of extra, but not
useful duplicate SAS ZRBLCP observations.
See new documentation Section 30 "CPC Data Relief
Technique" for more details on use of CPCSYSTEM=.
It is a user responsibility to set up CPCSYSTEM= for each
CEC configuration properly and to track any LPAR SYSID
changes as they occur. An incorrect CPCSYSTEM=
specification will result in loss of data in the MXG
ZRBLCP SAS data set should the SYSID no longer exist
or be misspelled.
-CSR (Common Storage Remaining) processing now moves CSR
entries in blocks for as many entries that fit to the
RMFBSAM output buffer when NO CSR character data filters
are used.
When these filters were added in MXG Change 34.373
processing changed to move one CSR entry at a time to the
output buffer. However, this is an unnecessary overhead
if no CSR filtering is in effect. The earlier processing
technique is restored for this case.
A test with 21 RMF Monitor III sample data sets at the
35.098 level showed about a 1% CPU reduction for CSR
processing with no filters used compared to the 34.373
level. This will vary with the number of CSR entries
and RMF III VSAM data sets processed.
-The MXG00 record version is raised to x'08' from x'07'.
New fields added to the MXG00 record include:
CPUSYSTEM= and CPCSYSTEM= Range/Pattern maximums
CPUSYSTEM= and CPCSYSTEM= Range/Pattern table sizes
% of available TIOT entries used
ASMCPCRX='MAXIMUM*CPCSYSTERM*RANGES'
ASMCPCPX='MAXIMUM*CPCSYSTERM*PATTERNS'
ASMCPURX='MAXIMUM*CPUSYSTERM*RANGES'
ASMCPUPX='MAXIMUM*CPUSYSTERM*PATTERNS'
ASMSHSPL='WARNING*LIMIT*PCT SPACE*USE'
ASMCPCRS='SIZE*CPCSYSTEM*RANGE*TABLE'
ASMCPCPS='SIZE*CPCSYSTEM*PATTERN*TABLE'
ASMCPURS='SIZE*CPUSYSTEM*RANGE*TABLE'
ASMCPUPS='SIZE*CPUCSYSTEM*PATTERN*TABLE'
-TIOT entries used percentage is added to the RMFV000I
message. TIOT usage information is grouped on a single
report line.
-Support for ILIMIT= (alias ILIM=) and SLIMIT= (alias
SLIM=) keywords is added to control appearance of
the RMFV029* DEAD SPACE message (*=I,W,E,S).
Previous versions of ASMRMFV could issue this message for
exhausted RMF III indexes even when the VSAM data set
usage was relatively high. In this case re-allocating
the VSAM data set to make it smaller is not productive.
ILIMIT= specifies a percentage in the range of 0 to 100
as a threshold for RMF III VSAM Data Set Header (DSH)
indexes usage. The default is 100.
SLIMIT= specifies a percentage in the range of 0 to 100
as a threshold for RMF III VSAM Data Set space usage.
The default is 95.
The defaults of ILIMIT=100 and SLIMIT=95 with INDEXES and
SPACE options in effect mean that if all 1110 sample
indexes are exhausted in the Data Set Header (DSH)
record, but the RMF Monitor III VSAM data set is 95% or
more utilized no DEAD SPACE condition is flagged.
See the documentation for RMFV029* for how the settings
of NOINDEXES/INDEXES, NOSPACE/SPACE, ILIMIT=, and SLIMIT=
parameters interact.
Users who find RMFV029* a nuisance rather than an aid
can suppress it completely with ILIMIT=0 and SLIMIT=0.
ILIMIT= and SLIMIT= values in effect are displayed in
message RMFV037I.
Section 22 RMF III VSAM Data Set Index Usage and Sizing
is updated to discuss use of ILIMIT= and SLIMIT= options.
-There are now 4 distinct levels for messages that can
have variable severity based on the settings of the
various existing *ERR= condition keywords:
*ERR Message Return
Setting Suffix Meaning Code
------- ------ ------------------------- ---------
IGNORE I Ignore error/continue No change
WARN W Warn error/continue 0004
ERROR E Issue error/may continue 0008
ABEND S Issue error/Abend U0998 N/A (1)
(1) Abends have a distinct Reason Code but no Return
Code.
In past ASMRMFV versions 'E' suffixed messages
inconsistently may or may not have resulted in an Abend.
-Distributed *ERR settings remain as:
Keyword DEFAULT CONTROLS
--------- ------- -------------------------
ALLOCERR= WARN DYNAMIC ALLOCATION ERRORS
ATTRERR= WARN DATA SET ATTRIBUTE ERRORS
CATERR= WARN CSI CATALOG LOOKUP ERRORS
DEADERR= WARN VSAM DEAD SPACE ERRORS
DSIGERR= WARN DSIG ID (DSH) ERRORS
DSNERR= WARN CSI DSNAME LOOKUP ERRORS
DUPERR= WARN DUPLICATE DSNAME ERRORS
EMPTYERR= IGNORE EMPTY VSAM DATA SET ERRORS
PATTERR= ABEND PATTERN AND/OR RANGE ERRORS
READERR= ABEND VSAM READ I/O ERRORS
TABERR= WARN RMF III TABLE VALIDATE ERRORS
TYPEERR= WARN DATA SET TYPE ERRORS
RCERR= WARN REPORT CLASS FIND ERRORS
RGERR= WARN RESOURCE GROUP FIND ERRORS
SCERR= WARN SERVICE CLASS FIND ERRORS
WLERR= WARN WORKLOAD FIND ERRORS
-ASMRMFV will now generate the correct message format for
variable severity messages during assembly based on the
defaults above. This avoids unnecessary tailoring during
ASMRMFV initiation. Any user overrides of the above
settings will still require tailoring of related
messages by ASMRMFV during start up.
-Internal error message generation interface updated for
following messages:
RMFV004E, RMFV005*, RMFV007S, RMFV034S, RMFV035*,
RMFV056* (*=I,W,E,S)
Improvements for these messages include:
3 separate error messages subroutines replaced by one
for code path length reduction.
Extraneous blanks in these error messages eliminated
for better legibility.
Clearer and less cryptic error descriptions.
-RMFV006E message had incorrect timestamp when FROMDATE=
exceeded TODATE=
-RMFV007S message missing DDNAME when RMFBSAM DD was not
present.
-RMFV007S message will now show N/A when a Reason Code is
not available for a failed function or service.
-Improve logic of DOW= keyword processing when using a
range, i.e. DOW=day1:day2 to examine the last half of
the day of week range if an error is found in the first
half. Also leading and trailing colons are stripped
before length checking.
-Former documentation Section 30 Summary is now Section 31
and former Section 31 Bibliography is now Section 32.
-Several documentation Sections are updated to support
the above changes:
Section 0 "Contents"
Section 5 "Input Data Selection Parameters"
Section 6 "Report Control Parameters"
Section 8 "Error Handling Parameters"
Section 12 "Messages"
Section 13 "Filtered Records"
Section 16 "Return Codes"
Section 25 "Ranges and Patterns"
Section 30 "CPC Data Relief Technique"
Section 31 "Summary"
Section 32 "Bibliography"
Change 35.097 Four IMF variables that are INPUT with TODSTAMP8 are now
VMACCIMS formatted DATETIME25.6 to display full microseconds. The
Apr 25, 2017 other datetimes are limited to DATETIME21.2 resolution.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 35.096 New UTILROLL utility combines all SAS datasets from one
UTILROLL or more SAS data libraries (think "hourly" PDB runs) into
JCLROLL1 another LIBNAME (think "daily" PDB), either concatenating
JCLROLL2 the new data, or interleaving to preserve the sort order.
VGETSORT If the ROLLTO LIBNAME is empty or the dataset being added
Apr 24, 2017 added to does not exist the code will ignore the ROLLTO
LIBNAME and use only the ROLLFROM to create the ROLLTO
datasets.
-VGETSORT could return bad information if there was
a variable name longer than 8 bytes. Length was
increased to 32 and NOBS ENG were added to the output.
Change 35.095 APPL PCT variables are created in TYPE72GO to match the
VMAC7072 RMF Workload report values:
Apr 24, 2017 APPLCP ='APPL PCT*OF 1 CPU*CPU TIME*ON CP'
APPLAAPCP='APPL PCT*OF 1 CPU*ZAAP ELIG*ON CP'
APPLIIPCP='APPL PCT*OF 1 CPU*ZIIP ELIG*ON CP'
APPLAAP ='APPL PCT*OF 1 CPU*CPU TIME*ON ZAAP'
APPLIIP ='APPL PCT*OF 1 CPU*CPU TIME*ON ZIIP'
with this code:
IF R723MCF GT 0 THEN
APPLCP= 100*CPUTM/(DURATM*R723MCF);
IF R723MCFI GT 0 THEN DO;
APPLAAPCP=100*CPUIFETM/(DURATM*R723MCFI);
APPLAAP= 100*(256*CPUIFATM/R723NFFI)/(DURATM*R723MCFI);
END;
IF R723MCFS GT 0 THEN DO;
APPLIIPCP=100*CPUZIETM/(DURATM*R723MCFS);
APPLIIP= 100*(256*CPUZIPTM/R723NFFS)/(DURATM*R723MCFS);
END;
Thanks to Ray Bole, IBM Global Services, USA.
Change 35.094 Support for BMC Mainview for Java Environment creates
EXMVJE01 DDDDDD MXG MXG
EXMVJE02 DATASET DATASET DATASET
EXMVJE04 SUFFIX NAME LABEL
EXMVJE07
EXMVJE08 MVJE01 MVJE01 JMX MEMORY SUMMARY
EXMVJE12 MVJE02 MVJE02 JMX THREAD SUMMARY
IMACMVJE MVJE04 MVJE04 JMX CLASS LOADING SUMMARY
TYPEMVJE MVJE07 MVJE07 JMX GARBAGE COLLECTION SUMMARY
TYPSMVJE MVJE08 MVJE08 JMX MEMORY POOLS
VMACMVJE MVJE12 MVJE12 JMX CPU USAGE
VMXGINIT
Apr 25, 2017
Change 35.093 MXG 35.03 only, variable PLATBUSY in TYPE70/RMFINTRV and
VMAC7072 PCTOFHDW in RMFINTRV were incorrect after Change 35.064
Apr 22,2017 revised the SHARE calculations.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to Robin Hanley, FISERV, USA.
Thanks to David Bixler, FISERV, USA.
Change 35.092 Support for z/VM 64 (INCOMPATIBLE).
VMACVMXA -Dataset VXSYTCUG new variables
Apr 20,2017 SSI2MTIF='MULTITHREADING*CONFIGURATION'
SSI2MTGF='MULTITHREAD*GENERAL*PROC*CONFIG'
SSI2MTID='MULTITHREAD*MAX*TID'
LCUTCTOD='DATETIME*WHEN CORE*INFO*FETCHED'
-Dataset VXMTRSYS new variable
CALFLAG3-'MISCELLANEOUS*FLAGS*/
-Datasets VXUSEACT and VXUSELOF new variables
VMDTTIME_MT1='TOTAL*MT-1*EQUIVALENT*TIME'
VMDVTIME_MT1='RUN*MT-1*EQUIVALENT*TIME'
VMDVTMP_MT1 ='EQUIV*MT-1*VTIME*ON PRIMARY'
VMDTTTP_MT1 ='EQUIV*MT-1*VTIME+SIM*PRIMARY'
VMDVTMS_MT1 ='EQUIV*MT-1*VTIME*ON SECNDRY'
VMDTTMS_MT1 ='EQUIV*MT-1*VTIME+SIM*SECNDRY'
VMAVTMP_PRO ='TOTAL*MT-1*PRORATED*CORE*PRI'
VMATTMP_PRO ='RUN*MT-1*PRORATED*CORE*PRI'
VMAVTMS_PRO ='TOTAL*MT-1*PRORATED*CORE*SEC'
VMATTMS_PRO ='RUN*MT-1*PRORATED*CORE*SEC'
PROBITS='PRORATED*CORE*TIME*BITS'
-Datasets VXPRCPUP new variables
WHIOCAPV='MAX*CORES*PERMITTED'
WHIOCTVR='CALCULATED*T/V*RATIO'
WHIOPTVR='CEILING*PROJECTED*T/V*RATIO'
SRXTVCNF='CONFIDENCE*PERCENTAGE'
CALTVALG='CEILING*PROJECTION*ALGORITHM'
WHIOTVCT='CEILING*PROJECTION*VALID*SAMPLES*/
WHIOGCPV='MAXIMUM*AGGREGATE*CORES'
-Datasets VXIODVSW new variables
VQSAFLAG ='LACP*CONFIGURATION'
NIDLAPRE ='PREVIOUS*LOAD*BALANCE'
NIDLACUR ='CURRENT*LOAD*BALANCE'
NID_TOTPFCNT='PREVIOUS*LOAD*BALANCE*FRAMES'
-New segments IODPAD,IODPON,MTRPCI are not yet supported.
-These 6.4 segments don't exist in my test data so these
changes have NOT been validated yet:
PRCCUP SYTCUG SYTCUM SYTCUP
Thanks to Diana L. Bodner, Progressive, USA.
Change 35.091 -Sometimes failed with a two level dataset name (unknown
ANALCNCR cause). VGETOBS logic modified. Now will run SGPLOT
Apr 22, 2017 if your SAS version is GE 9.3.
-New example to count/plot concurrent TELNET sessions from
the TYP11921 dataset.
Change 35.090 -Support for CA'S OPSS Product USER SMF Record.
VMACOPSS These datasets are created:
Apr 22, 2017
May 9, 2017 DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL
OPSS01 TYPOPSS1 SS TERMINATION SUMMARY
OPSS02 TYPOPSS2 SS OSF SERVER TERMINATION
OPSS03 TYPOPSS3 SS AOF RULE DISABLEMENT
OPSS04 TYPOPSS4 SS GLOBAL VARIABLE
OPSS05 TYPOPSS5 SS SQL STATISTICS
OPSS06 TYPOPSS6 SS IMS BMP STATISTICS
OPSS07 TYPOPSS7 SS OSF TRANSACTION
OPSS08 TYPOPSS8 SS EPI STATS
Thanks to Bruce Sloss, PNC, USA.
Change 35.089 The NDM-CDI new IHDRNDM exit member allows selection of
IHDRNDM which NDM Record Types are output with this logic:
VMACNDM //SYSIN DD *
VMXGINIT %LET MACNDMH= %QUOTE( IF NDMRTYPE='CT';) ;
Apr 19, 2017 %INCLUDE SOURCLIB(TYPSNDM);
Change 35.088 -Running MXG on ASCII to read SMF using ftp access method
BUILDPDB can free the SMF allocation when SMF read is completed
Apr 15, 2017 with this tailoring in your //SYSIN:
%LET EPDBOUT=%QUOTE(
FILENAME SMF CLEAR;
);
If your SMF data is a GDG, this will unblock the base GDG
name as soon as possible.
-If running MXG on z/OS, add FREE=CLOSE to the //SMF DD to
also free the allocation when the read is complete.
Change 35.087 New ANALFTP analysis of FTP has five report examples:
ANALFTP GENERATE REPORTS FROM PDB
Apr 14, 2017 GENERATE REPORTS FROM SMF
GENERATE REPORTS FROM SMF AND STORE DATA IN PDB
GENERATE REPORTS FROM SMF LOOKING FOR A USER
GENERATE REPORTS FROM SMF LOOKING FOR A DATASET
Reports are from TYPE119 records; see also ANAL119 and
ANALCNCR for additional reports.
Change 35.086 New variable FSBYTERATE='TRANSMISSION*BYTE*RATE' is added
VMAC119 to TY119070 dataset.
ANALFTP
Apr 13, 2017
Change 35.085 Possible exposure with too long a code line generated by
VMXGPRNT VMXGPRAL print with variable name and label as heading.
Apr 13, 2017 With 32 character variable name and 40 character label,
the line generated could be 109 characters, exceeding the
z/OS limit of 72 (S=72,S2=72). Two lines are now created
and the label truncated (no more than 5 lost) to trim if
needed.
Change 35.084 UTILCOPY failed if it found no datasets to copy with an
UTILCOPY undefined macro variable NUMMEM. Now it tells you that
Apr 10, 2017 it did not find anything to copy.
Change 35.083 DB2 Trace IFCID=316 dataset T102S316 variable QW0316TS is
VMAC102 now correctly converted to a datetime value.
Apr 10, 2017
Change 35.082 Revision to SAG reports to capture COMPLETE ONLINE and
SAGANAL NATURAL ONLINE in new variables based on PROGRAM name.
Apr 2, 2017
Change 35.081 DB2ACCTP dataset, these "truncated" variables
VMACDB2 QPACLOCN QPACCOLN QPACPKID QPACASCH QPACAANM
Apr 2, 2017 were increased to $128 LENGTH, but the longer length text
was not input when QPACOFFn was non-zero due to incorrect
circumvention for prior invalid length in Change 31.015.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 35.080 *New z/OS 2.2 Changes found in Jan 2017 SMF Manual.
VMAC30 -VMAC30.
Apr 1, 2017 New variable SMF30JF1='JOB/SESS*ID'
*This change is incomplete.
Change 35.079 Some accumulated z/VM 6.3 SMT fields in VXSYTPRP dataset
VMACVMXA weren't deaccumulated, and the below new unaccumulated
Mar 31, 2017 counters contain an error code '80'x in first bit when
Apr 5, 2017 the counter cannot be populated that is now decoded and
Apr 11, 2017 the first two instances of each error is printed on the
FORMATS SAS log, although there is nothing you can do for these
these error conditions, and the variable is set to a
missing value for these intervals.
SYTPRP_CAL_CAPBYTYPE SYTPRP_CAL_MAXCAPBYTYPE
SYTPRP_CAL_MTUTILBYCORE SYTPRP_CAL_MTUTILBYTYPE
SYTPRP_CAL_PRODBYCORE SYTPRP_CAL_PRODBYTYPE
-Dataset VXAPLSL0 was "hosed" because my loop was
DO CPUNR=1 TO NRCPUS, but first CPU is CPUNR=0, and
the CPUNR at the end of the segment had been overlooked.
-PFXPRKWT is now deaccumulated.
-The VXAPLSLx dataset only has observations output when
there was activity by the Linux machine; the LINXTIME is
the "wake up" time in this interval and is used to create
DELTALINXTM=MRHDRTOD-LINXTIME with the maxiumum duration
of an interval that that VMDUSER could have been active.
-These variables added to VXMTRSYS:
RCCCCAPF RCCSCAPF SYSMTFLG RCCMTRSM RCCMTCFM RCCMTPMT
RCCMTTDW RCCMTFRS RCCCOMXT RCCCOALL
CAL_RCCACMNT1-4='CPUTYPE-1-4*ACTIVATED*THREADS'
CAL_CPUTYPE1-4='CPUTYPE-1-4*CPU*TYPE'
CAL_RCCSYMNT1-4='CPUTYPE-1-4*MAXIMUM THREADS*SOFTWARE'
CAL_RCCHWMNT1-4='CPUTYPE-1-4*MAXIMUM*THREADS*HARDWARE'
CAL_RCCCOMNT1-4='CPUTYPE-1-4*REQUESTED*THREADS'
CAL_RCCCRMNT1-4='CPUTYPE-1-4*REQUESTED*THREADS'
CAL_RCCSMMNT1-4='CPUTYPE-1-4*SPECIFIED*THREADS'
-These variables added to VXSYTCUP:
LCXCMTIT='MT*IDLE*TIME'
LCXCHPCP='LPAR GROUP*ABS CAPACITY*CAP VALUE'
CALGCAPV='ABSOLUTE*CAP*AMOUNT'
-Variable RDEVCTRG is removed from the DIDIO test to
create VXIODDEV because it is always non-zero and the
only non-zero field for non-DASD records.
-The SMT Busy Time calculation was revised to
LCXCMTBY=(2*LCUCACTM)-LCXCMTIT
Thanks to Graham Harris, RBS, ENGLAND.
Change 35.078 If you specified SORTEDBY=YES and you run the daily and
BLDSMPDB weekly/monthly processing in the same SAS execution of
Mar 31, 2017 BLDSMPDB the SORTEDBY= was ignored because VMXGSUM used
the same MACRO variable name making it a GLOBAL macro
variable to VMXGSUM and overriding the BLDSMPDB used
parameter. NO data was lost - just not in the order
you may have expected. Circumvented by holding the
value in a LOCAL macro variable and the reinstating
it after DAILY processing is completed.
Change 35.077 Comments only. Some enhanced comments in examples
UTILBLDP and a redundant WANTSMF in one example was removed.
Mar 31, 2017
Thanks to John Compton, WPS, ENGLAND.
Change 35.076 Some long RMF III variables have '00'x null characters
VMACRMFV instead of blanks at the end; they are converted to
Mar 29, 2017 blanks.
Change 35.075 TYPE1415 records have subtype 5 segments for TAPE and all
FORMATS datasets with a Data Class. For records without subtype 5
VMAC1415 the below flag variables are now set to 'FF'x and will
Mar 29, 2017 print "NOT AVAILABLE" with new $MGNOTAV format:
SMF14BFG SMF14FLGS SMF14FLG2 DEB2XUPF EADSCBOK
DCBEEX31 XTIOTYES
Variable SMF14ALIAS will be blank and SMF14LBS will be a
missing value.
Thanks to Michael Oujesky, DTCC, USA.
Change 35.074 -INVALID SYTCPU segment messages with SEGLEN=48 and NRCPS
EXXAMPRC 30 (SEGLEN should be 684) are valid and a problem is open
EXXMVPID with Barton.
FORMATS -New VSIPID Process Segment creates XMVISPID dataset.
IMACXAM -New PRCCPU LIMPOOL Segment creates XAMSYPRC dataset, but
VMACXAM values for FLAGSPRC have '60'x for both limited cpuaffon.
VMXGINIT
Mar 28, 2017
Change 35.073 DB2ACCT variables QWACALOG and QWACALCT are now always
VMACDB2 missing values; they have been reserved for years, but
Mar 28, 2017 MXG code had still INPUT them causing confusion.
Thanks to Peter Gray, HPE Australia, AUSTRALIA.
====== Changes thru 35.072 are in this MXG 35.03 dated Mar 27, 2017=====
Change 35.072 -MXG 35.03. VMAC1415, hex dumps but no error, because
VGETJESN line 962 in VMAC1415 IF VOLSER NE VOLSER1 THEN LIST;
VMAC1415 left from debugging needs to be deleted.
Mar 24, 2017 -WARNING TYPETASK NOT DECODED, JCTJOBID=A0000022 expected
Mar 27, 2017 either 'ASCH' or 'OMVS' in to be stored in TYPETASK from
variable SUBSYS, but this task has SUBSYS blank. Now, if
SUBSYS is blank, TYPETASK='APPC' is stored.
Thanks to Paul Naddeo, Fiserv, USA.
Change 35.071 Support for z/OS 2.3 RACF 482 segment added to input the
VMAC85 extended LOGSTR text in 1100-byte LOGSTR variable.
Mar 23, 2017 Documented in ICN1560 Mar 23, 2017.
Change 35.070 New fields are added to zPROTECT SMF records:
VMACZPRO New variable in ZPROT05:
Mar 23, 2017 ZPRRAUSR='ALTERNATE*USERID'
New variable in ZPROT16:
ZPRTMINP='MIN*REQUEST*PERFORMANCE*TIME'
ZPRTMAXP='MAX*REQUEST*PERFORMANCE*TIME'
ZPRTAVGP='MEAN*REQUEST*PERFORMANCE*TIME'
ZPRTAUSR='ALTERNATE*USERID'
ZPRNPROT='PROTECT*OPERATIONS'
ZPRNACCE='ACCESS*OPERATIONS'
====== Changes thru 35.069 are in this MXG 35.03 dated Mar 22, 2017=====
Change 35.069 Support for CICS Version TS/5.4 Beta 11 adds three new
UTILEXCL variables to CICSTRAN:
VMAC110 LPARNAME='LPAR*NAME'
Mar 21, 2017 MPSRACT='TIMES WHEN*POLICY*EVALUATED*AND TRIGGERED'
MPSRECT='TIMES WHEN*POLICY*RULES WERE*EVALUATED'
Thanks to Andy Wharmby, IBM CICS Hursley, ENGLAND.
Change 35.068 Support for MQ Version 9.1 SMF 115 new Subtype 201 record
EXTY115Y creates new dataset:
FORMATS dddddd dataset description
IMAC115 TY115Y MQ115201 MQ SUBTYPE 201 PAGESET STATS
VMAC115 Mar 27: FORMATS MG115EX and MG115PS added.
VMXGINIT
Mar 20, 2017
Mar 27, 2017
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.067 -Standalone execution failed because &PDBMXG.SMFINTRV
SMFINTRV needed to be &PDBMXG..SMFINTRV, but MXG invocations in
Mar 14, 2017 BUILDPDB/BUILDPD3 were correct so no error there.
Apr 18, 2017 -Three new interval START datetimes are created so you
can directly summarize to that interval by your choice of
START15INT='FIFTEEN*MINUTE*INTERVAL*START'
START30INT='THIRTY*MINUTE*INTERVAL*START'
STARTHRINT='HOUR*INTERVAL*START'
Apr 11: Revised. Those three variables are now created
by VMXGDUR, with the DEFAULT SMFINTSYNC59 "SYNC59" option
defaulting to YES, to be consistent with RMFINTRV.
If your records are NOT "SYNC59", i.e., are written :00
use %LET SMFINTSYNC59=NO; in your //SYSIN.
Unlike other "INTRV" programs that invoke VMXGDUR to
create new summary datasets, SMFINTRV does NOT summarize
TYPE30_V records; instead it only combines the multiple
SMF 30 records (MULTIDD='Y' steps with LOTS of DDs) into
one observation per interval with all EXCPs totaled.
If you do want to summarize PDB.SMFINTRV across intervals
the ANALSMFI program provides that example.
Change 35.066 APAR OA59593 adds new flag variable
BUIL3005 SMF30CAS_INELIGHONOR='ELIG WORK*IS NOT*OFFLOADED*TO CP?'
BUILD005 to SMF 30 TYPE30_V/TYPE30_4/TYPE30_V datasets to identify
VMAC30 jobs whose eligible work was NOT offloaded to CPs for
Mar 19, 2017 help. The variable is also added to PDB.SMFINTRV and
PDB.STEPS datasets.
Change 35.065 Almost "cosmetic": READDB2 could create dataset DB2STATR
READDB2 even though you did not request it, due to Change 34.265
Mar 14, 2017 that overlaid a token for DB2NETZA. No obs were output.
Change 35.064 SMT Mode corrections and enhancements.
VMAC7072 -ZIPACTTM in PDB.ASUMCELP is the best source of per-LPAR
Mar 13, 2017 hardware zIIP CPU busy, created in BUILDPDB/ASUM70PR.
This change adds SMT_NUM to PDB.ASUMCELP to identify the
SMT mode.
-Variable ZIPACTTM in PDB.TYPE70 could be too small for
an LPAR when in SMT_NUM=2; in rare cases the last LPAR's
was not included.
-Correction for ZIPACTTM in TYPE70 also caused
PLATBUSY LPARSHAC LPARSHAR TOTSHARC TOTSHARE
ZIPSHARC ZIPSHARE LZIPSHAC LZIPSHAR
to also be corrected/changed values in compares.
-TYPE70/TYPE70PR variables CPUID SMT_CORE_ID LCPUADDR and
(new) SMT_THREAD are now formatted numeric HEX2. to
to match RMF reporting formats.
-In the ASID TYPE30 and Service Class TYPE72GO data, the
recorded MT=2 CPUZIPTM/ZIPUNITS values are "inflated"
above the actual hardware zIIP time, and the hardware
equivalent can not be calculated using R723MCFS, the
Maximum Multi-Threading Capacity Factor.
LPAR with 7 zIIP engines in SMT_NUM=2 MT=2 mode:
UPTIME: 1:45 ZIPACTTM: 1:31 72-CPUZIPTM: 2:05 hh:mm
105 min 91 min 125 min
"Above Inflation Factor" 125/91=1.37
Interval R723MCFS =1.17871
"MCSF Equivalent zIIP CPU= 125/1.17871 = 106 min
but that is as large as the UPTIME of 105 minutes.
And IBM's range of R723MCFS values is 1.1 to 1.4,
with a theoretical max of 2.0.
So: what to do? Maybe Nothing. This is what is recorded
now in SMF 30/72 records in MT=2 mode (AND ONLY in ASID
and SRVCLASS records): NO INFLATED VALUES IN RMF 70 SMF
data that are used for zIIP capacity metrics. So, while
the values are too large, their interval sum can be used
to determine the proportion of the MT=2 zIIP usage for
each workload, job, or service class.
Apr 10: IBM SMT folks have examined these data and have
confirmed my conclusions that the values are inflated.
August: IBM confirmed that at very high or very low util
the SMT values are inflated; it's unclear if that will
ever change.
Daniel Rosa's available online 2015 SHARE paper "IBM z
Systems z13 Simultaneous Multi-Threading R(Evolution)"
discusses the MT=2 metrics.
Jul 30, 2018: The CAPZIPRT can exceed 100% due to this
inflation of 30/72 CPUZIPTM when SMT Mode is enabled.
Change 35.064A Multi-Volume DCOLDSET records populate some fields only
VMACDCOL in the first (DCDVOLSQ=1) record. When TYPSDCOL program
Mar 10, 2017 is used, these fields are retained from the first record
and are now output in PDB.DCOLDSET.
-Records with DCDVOLSQ=0 were created in WORK.TYPEDCOL
but were then not output in the first record logic, but
now they are output to PDB.DCOLDSET.
Change 35.063 -XAMSYS records with SYTCUP SEGLEN=148 but SYTNLPS=2 or 3
VMACXAM are wrong, protected by changing SYTNLPS to 5 while the
Mar 10, 2017 problem is opened with Barton now to resolve.
-XMTCPSYS dataset variable NAMENODE was blank because the
128-byte CONTACT was reduced to 64, then NAMENODE, then
64 bytes are inserted to keep the original SEGLEN.
Thanks to Matthew L. Rennebohm, State of Wisconsin, USA.
Change 35.062 Support for Mainview for CICS CMRDETL file VER 6700
VMACMVCI changes that caused INPUT STATEMENT EXCEEDED error.
Mar 6, 2017
Thanks to DJ Chen, AST/Southwood Shared Resource Center, USA.
Change 35.061 Enhancement for PDB.ASUMCELP (per-LPAR CEC data) adds the
VMXG70PR variable SMT_NUM to identify the SMT Mode of zIIPs, from
Mar 7, 2017 the PDB.TYPE70EN dataset, and protection if that dataset
was not copied to the PDB data library. SMT_NUM will be a
missing value for PHYSICAL and IFL-Only LPARS, or LPARS
with no zIIPs.
Change 35.060 Enhancement for SMF 120 Subtype 11 TYP120BL new variables
VMAC120 containing TOTAL, CP ONLY, and ZIP ONLY CPU times:
Mar 5, 2017 SM120BCPUTM='TOTAL*CPUTIME*USED*BCA1-BBZ1'
SM120BCPCPUTM='CP ONLY*CPUTIME*USED*BCA2-BBZ2'
SM120BZIPCPUTM='ZIP ONLY*CPUTIME*USED'
are calculated, thanks to the IBM WebSphere Developer who
educated me that the 16-byte binary TIMEUSED format used
in this record for the START and END Accumulated CPU data
contains two 8-byte CPU times: the TOTAL CP+ZIIP in the
first 8 bytes and the CP ONLY CPU time in the second 8.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.059 Support for CA SYSVIEW for IMS 14.0 update in 2014 Change
VMACSVIE 32.170 has now been tested with actual data, and these
Mar 4, 2017 variables had missing values that are now corrected.
Mar 27, 2017 IMTR_CLK_SUBQ06_TIME IMTR_CLK_MPP_CPU IMTR_CLK_SMB_ENQ
IMTR_CLK_CNT_ENQ IMTR_CLK_MXG_END IMTR_CLK_CNT_GU
IMTR_CLK_UOW_END IMTR_CLK_UOW_START
IMTR_CLK_SCHEDULE_TIME
-Mar 23: Several TODSTAMP variables were not converted
from GMT to local time zone.
Thanks to Denise Williers, Wipro, USA.
Change 35.058 Support for IMS LOG 67D0 DIAGNOSTIC RECORD for DC '02'x
EX67D002 created new IMS67D002 dataset. Note that both D0TIME and
FORMATS IMSSTCK are both GMT because there is no GMT offset in
IMACIMS the 67D0 log record.
VMACIMS
VMXGINIT
Mar 2, 2017
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 35.057 Support for z/OS 2.3 OAM SMF 85 (COMPAT) addition of
VMAC85 these variables to support multiple OAM Systems in z/OS:
Mar 1, 2017 R85POSUB='OAM*SYSTEM*ID'
R85PSSID='DB2*SYSTEM*ID'
Documented in ICN1552 March 1, 2017
Change 35.056 -If you used KEEPMNTH= (very rare) an MDY() could fail.
VMXGSUM -If your INCODE= contains a DATA step, the CLASSNWAY
Mar 1, 2017 option failed, but now a DATA step's existence in the
INCODE is parsed, and if found, SUMBYCLASS is reset.
Change 35.055 Support for Mainview for IP PTF BPN2331 that adds
VMACMVIP variable TNDSTATX='CONNECTION*STATE*ACTIVE*CLOSED?'
Mar 1, 2017 variable to the I490 dataset.
Change 35.054 -RMF Monitor III enhancement for OPD (OMVS Process Data)
ADOCRMFV table character data filtering and usability.
ASMRMFV -These filters are intended for building ad hoc MXG RMF
VMACRMFV III PDBs for studies avoiding the overhead of generating
Mar 1, 2017 a full OPD table-based PDB. They control which OPD table
entries are output to the RMFBSAM file.
-Five new filters are added to support OPD entry selection
from this table to the RMFBSAM output file. These
filters are effective only if the OPD table is selected.
They are applied in the order shown when multiple
different keywords are used.
New Keyword Aliases
------------ ------------------------------------------
OPDPROCNAME= OPDPROCNA=, OPDPROCNM=, OPDPROC=, OSDPROC=
OPDPN=
OPDJOBNAME= OPDJOBNA=, OPDJOBNM=, OPDJOB=, OPDJN=
OPDUSERNAME= OPDUSERNA=, OPDUSERNM=, OPDUSER=, OPDUN=
OPDAND None
OPDOR None
The order of OPD filter application is:
1) OPDPROCNAME=
2) OPDJOBNAME=
3) OPDUSERNAME=
-TUTORIAL:
Ranges of the form keyword=first:last may be used with
any of the above keywords except OPDAND and OPDOR.
The colon character ':' is required for a paired range
specification. All entries GE the first value and LE the
last value are selected for output to the RMFBSAM file.
The first value may not exceed the last value in EBCDIC
collating sequence or an error is flagged.
Single unpaired values may be specified for a range
simply as keyword=first and in this case the colon ':' is
omitted.
Patterns may also be used with any of the above keywords
except OPDAND and OPDOR and include one or more Wild Card
characters to match the respective OPD data field.
A pattern contains one or more special Wild Card
characters as follows:
Wild
Card Matches
---- ------------------------------------------------
* 0 or more characters
% 1 Non-blank character
+ 1 Numeric character (0-9)
_ 1 Alphabetic character or _ (a-z, A-Z, _)
. 1 National character (@, #, $)
! 1 Special character (not a-z, A-Z, 0-9, @, #, $)
? A blank string if used by itself
? 1 Blank character (X'40') if used with any other
characters
Ranges may not be wild carded. If wild carded the range
value becomes a pattern instead and is processed as such.
See Section 25 "Ranges and Patterns" in the ADOCRMFV
member or ASMRMFV source code for more details on usage
of ranges and patterns.
-OPDPROCNAME= selects OPD tables by 1-8 character z/OS JCL
Procedure Name. Proc Name characters are validated to
those allowed by JCL syntax. Both ranges and patterns
with wild cards may be specified. Up to 16 ranges and 16
patterns are supported. The default is OPDPROCNAME=ALL.
NOTE: There is only ONE OSDPROC field per OPD table. If
the OPDPROCNAME= value does not match, then the ENTIRE
OPD table with all entries is excluded. Use OPDPROCNAME=
with care and discretion and only if the OSDPROC contents
are well understood. Almost always OSDPROC is simply
'OMVS'.
-OPDJOBNAME= selects OPD entries by 1-8 character z/OS
Job Name. Job Name characters are validated to those
allowed by JCL syntax. Both ranges and patterns with
wild cards may be specified. Up to 32 ranges and 32
patterns are supported. The default is OPDJOBNAME=ALL.
Job Names must be 1-8 characters in length and may
include any characters A-Z, #, $, or @. Numeric digits
(0-9) may be used only after the first character.
-Examples for OPDJOBNAME= :
OPDJN=PROD1234:PROD5678 selects only address spaces with
a z/OS Job Name GE 'PROD1234' and LE 'PROD5678' as a
range. Note use of the keyword alias OPDJN for coding
convenience.
OPDJOBNAME=.* is a pattern that selects only address
spaces with a Job Name that begins with a national
character.
OPDJOBNAME=*++ is a pattern that selects only address
spaces with a Job Name that ends with 2 numeric digits.
OPDJOBNAME=ABC:ABC88888 is a range that selects only
address spaces with a Job Name that is GE 'ABC ' and
LE 'ABC88888'.
-OPDUSERNAME= selects OPD entries by 1-8 character z/OS
User Name. User Name characters are validated to those
allowed by JCL syntax. Both ranges and patterns with
wild cards may be specified. Up to 32 ranges and 32
patterns are supported. The default is OPDUSERNAME=ALL.
User Ids must be 1-8 characters in length (1-7 characters
for TSO Ids) and may include any characters A-Z, #, $, or
@. Numeric digits (0-9) may be used only after the first
character.
-Examples for OPDUSERNAME= :
OPDUSERNAME=JOE8888 selects only address spaces with a
login User Name of 'JOE8888'.
OPDUSERNAME=JOE:JOE8888 selects only address spaces with
a login User Name that is GE 'JOE' and LE 'JOE8888'.
OPDUSERNAME=.* selects only address spaces with a login
User Name that begins with a national character (@, #,
$).
OPDUSERNAME=*++ selects only address spaces with a login
User Name that ends with 2 numeric digits (00-99).
-OPDAND (default) indicates that selection results from
the two different OPD filter keywords are logically
ANDed.
-OPDOR indicates that selection results from the two
different OPD filter keywords are logically ORed.
Example 1 with OPDAND in effect:
OPDJOBNAME=ABC* OPDUSERNAME=SAM*
only selects Address Spaces in the RMF Monitor III
OPD table that have a Job Name starting with 'ABC'
AND a User Name beginning with 'SAM'.
Otherwise the Address Space is filtered and will NOT
appear in the result MXG PDB.
The logical AND results in more restrictive
filtering because 2 conditions must be met for an
OPD entry to be selected.
Example 2 with OPDOR in effect:
OPDJOBNAME=ABC* OPDUSERNAME=SAM*
selects Address Spaces in the RMF Monitor III OPD table
that have a Job Name starting with 'ABC' OR a User Name
beginning with 'SAM'.
If the Address Space does not match either selection it
is filtered and will not appear in the result MXG PDB.
The logical OR results in less restrictive filtering than
Example 1 above because any of the 2 conditions results
in data selection of an OPD entry.
-The JOBNAME= (alias JOB=) keyword for multi-table
selection is expanded to include job names from the OPD
table as well as the ASI and CSR tables. This is a
convenience feature to avoid having to code the Job Name
parameter three times when the same job names from all
three tables are of interest.
-The ASI, CSR, and OPD tables must all be selected for the
JOBNAME= multi-table selection keyword to function
completely. Otherwise only entries from selected tables
are filtered.
Note that most RMF III tables do not contain common
character data fields, but in this case the ASI, CSR, and
OPD tables all do contain a Job Name.
JOBNAME= Examples:
JOBNAME=ABC88888 selects only address spaces with a Job
Name of 'ABC88888' in either ASI, CSR, or OPD tables and
is equivalent to coding:
ASIJOBNAME=ABC88888
CSRJOBNAME=ABC88888
OPDJOBNAME=ABC88888
JOBNAME=ABC:ABC88888 selects only address spaces with a
Job Name that is GE 'ABC' and LE 'ABC88888' in either
ASI, CSR, or OPD tables and is equivalent to coding:
ASIJOBNAME=ABC:ABC88888
CSRJOBNAME=ABC:ABC88888
OPDJOBNAME=ABC:ABC88888
JOBNAME=.* selects only address spaces with a Job Name
that begins with a national character in either ASI, CSR,
or OPD tables and id equivalent to coding:
CSRJOBNAME=.*
OPDJOBNAME=.*
-Some RMFV001I Execution Environment messages have been
reformatted to include DFSMS/MVS version, CPC Name, LPAR
Name (if not a VM Guest), or VM Userid (if a VM Guest).
TIOT statistics are now grouped on the same message line.
-The Creation date was not valid when non-VSAM data set
was incorrectly provided as a RMF III data set. CRDATE
is removed from the RMFV008I message in this case.
-The MXG00 record version is raised to x'07' from x'06'.
New fields added to the MXG00 record are:
IPL timestamp in LOCAL and GMT time
IPL volume serial
TIOT size in K and bytes
TIOT maximum and used entries
CPC Name, LPAR Name, and VM UserId
DFSMS/MVS level
-Several documentation Sections are updated to support
the above changes:
Section 5 "Input Data Selection Parameters"
Section 12 "Messages"
Section 13 "Filtered Records"
Section 25 "Ranges and Patterns"
Section 30 "Summary"
-VMACRMFV was updated to add new variables to ZRBASM:
ASMDFLVL='EXECUTION*DFSMS/MVS*LEVEL'
ASMOPNRX='MAXIMUM*OPDPROCNAME*RANGES'
ASMOPNPX='MAXIMUM*OPDPROCNAME*PATTERNS'
ASMOJNRX='MAXIMUM*OPDJOBNAME*RANGES'
ASMOJNPX='MAXIMUM*OPDJOBNAME*PATTERNS'
ASMOUNRX='MAXIMUM*OPDUSERNAME*RANGES'
ASMOUNPX='MAXIMUM*OPDUSERNAME*PATTERNS'
ASMOJNRS='SIZE*OPDJOBNAME*RANGE*TABLE'
ASMOJNPS='SIZE*OPDJOBNAME*PATTERN*TABLE'
ASMOPNRS='SIZE*OPDPROCNAME*RANGE*TABLE'
ASMOPNPS='SIZE*OPDPROCNAME*PATTERN*TABLE'
ASMSPGAO='SPG*MULTI*FILTER*LOGIC*I/O?'
ASMSINDD='SYSIN/SYSINA*DCB*DDNAME'
ASMVFREE='FREE=CLOSE*OPTION?'
ASMSINMG='SYSIN*MEMBER*OR*GENERATION'
ASMOUNRS='SIZE*OPDUSERNAME*RANGE*TABLE'
ASMOUNPS='SIZE*OPDUSERNAME*PATTERN*TABLE'
ASMIPLTL='LAST IPL*LOCAL*TIME'
ASMIPLTG='LAST IPL*GMT*TIME'
ASMTIOTB='MAXIMUM*TIOT SIZE*BYTES'
ASMTIOTK='MAXIMUM*TIOT SIZE*IN K'
ASMTIOTX='MAXIMUM*TIOT*ENTRIES'
ASMTIOTU='CURRENT*TIOT*ENTRIES*IN USE'
ASMCPCNM='CPC*NAME'
ASMLPARN='LPAR*NAME'
ASMVMUID='VM*USERID'
ASMIPLVL='IPL*VOLUME*SERIAL*NUMBER'
Change 35.053 SYSOTHER checking is enhanced. Test for CPUTM NE 0 added
VMXGRMFI to SYSOTHER detection, since if the CPUTM is 0 it cannot
Feb 28, 2017 impact totals, but workload names and descriptions are
identified so you can find the culprit, since nothing
should ever fall thru to Service Class SYSOTHER.
Change 35.052 DATETIME syntax was revised per change 35.022, although
TRNDVMXA the new VMXGSUM correctly supported the old syntax with
Feb 28, 2017 no error.
Change 35.051 Support for Liberty 17.0.0.1 SMF 120 Subtype 12 COMPAT
VMAC120 enhancements, adds these variables to TYP12012 dataset:
Feb 28, 2017 SM120CDO='REFERENCE*TYPE' MG120CD format decodes:
1='1:READER'
2='2:PROCESSOR'
3='3:WRITER'
4='4:CHECKPOINT'
5='5:BATCHLET'
6='6:PARTITION_MAPPER'
7='7:PARTITION_REDUCER'
8='8:PARTITION_COLLECTOR'
9='9:PARTITION_ANALYZER'
10='10:DECIDER'
SM120CDU='PHYSICAL*CPU*ADJUSTMENT*RCTPCPUA'
SM120SU_SEC='CPU*RATE*ADJUSTMENT*RMCTADJC'
SM120CDW='REPOSITORY*TYPE*JPA* OR MEM'
SM120CDX='JOB*STORE*REF*ID'
SM120CDY='SM120CDY*FLAGS'
Next six variables are only valid in step end record
SM120CDZ='STEP*START*LIMIT'
SM120CEA='CHUNK*STEP*CHECKPOINT*POLICY' decodes:
0='0:ITEM'
1='1:CUSTOM'
SM120CEB='CHUNK*STEP*ITEM*COUNT'
SM120CEC='CHUNK*STEP*TIME*LIMIT'
SM120CED='CHUNK*STEP*SKIP*LIMIT'
SM120CEE='CHUNK*STEP*RETRY*LIMIT'
Change 35.050 PDB.ASUMCELP REQUIRES SMF 70s from ALL SYSTEMs to be read
VMXG70PR to correctly populate all variables. Each SMF 70 record
Feb 27, 2017 contains a "This System" segment that populates TYPE70,
and an "LPAR Segment" for each LPAR, for TYPE70PR, so the
LPAR data can be reported & summarized from a SMF 70 from
only one system, but then all the "This System" variables
are wrong, notably, SMF70LAC, the IBM 4HR AVG MSU, which
will contain ONLY the MSU from the one "This System".
This change compares TYPE70 and TYPE70PR to detect if
there are missing TYPE70 or TYPE70PR data, printing a
a PROC FREQ with missing systems identified, and printing
a log message that SMF70LAC will be wrong.
Change 35.049 Support for MAINVIEW FOR IMS 5.3 a/k/a IMF or CIMS which
VMACCIMS COMPATIBLY added these variables to the CIMSTRAN dataset:
Mar 12, 2017 TRNMSYS ='MQ*REMOTE*SYSTEM*NAME'
TRNDSYS ='DB2*REMOTE*SYSTEM*NAME'
TRNFLTRD='SOME*CALLS*NOT TRACED*FILTERS?'
TRNPRELD='PGM*WAS*PRELOADED'
TRNINFL ='TRN WAS*CAUGHT*INFLIGHT'
Change 35.048 Support for IWS Version 9.3, a/k/a TWS and was OPC, which
VMACOPC replaces subtype 23 with new subtype 66 with the original
Feb 24, 2017 variables plus these four new variables
TRLDURS23='DURATION'
TRLOID23 ='OPERATION*ID'
TRLOLDST23='OLD*STATUS'
TRLREADY23='START*DATETIME*WAIT*OPR'
The new subtype 66 record is output in the OPC23 dataset
so your reports won't have to be changed.
Thanks to Teuvo Virsu, TIETO,
Change 35.047 Support for IFCID 316 ACCESS CONTROL AUTH EXIT PARMS.
VMAC102
Feb 24, 2017
Change 35.046 Support for IFCID 125 Truncated Package Collection and
FORMATS Package Name fields, and new variables for Runtime
VMAC102 Adaptive Index in T102S125 dataset:
Feb 20, 2017 QW0125TI='INDEX*PROBING*RIDS IN*INDEX'
QW0125QI='INDEX*PROBING*RIDS*IN*KEYRANGE'
QW0125_TRSN='REASON*LEG*WAS*TERMINATED?'
QW0125_PRSN='REASON*LEG*NOT*PROBED?'
QW0125_ORSN='REASON*LEG*WAS*REORDERED?'
QW0125_FRSN='REASON*LEG*WAS*MARKED FULL?'
Change 35.045 ANALDB2R variable QWHSRELN format expanded from 3.1 to
ANALDB2R 4.1 to print full 10.1 Release value in reports.
Feb 20, 2017
Change 35.044 -The new ZRBCPU SMT Multithreading variables were always
VMACRMFV missing due to an invalid MXG test for LENLEFT.
Feb 20, 2017 -New variables found in the Dec 2016 Programmers Guide:
Dataset ZRBCPU:
CPC_CECNAME='CPC*CEC*NAME'
LPARHWGR='LPAR*HW*GROUP*NAME'
Dataset ZRBLCP:
LCPUHWLW='HW*GROUP*CAP*LIMIT'
LPARHWGR='LPAR*HW*GROUP*NAME'
-APAR OA58688 adds these new fields.
Thanks to MP Welch, Bank of America, USA.
Change 35.043 SMF74NID, the Network ID, contains 26 EBCDIC and 2 hex
VMAC74 bytes that don't "print pretty". Variable SMF74NIDTWO
Feb 20, 2017 keeps those two bytes, formatted $HEX4. for printing.
Thanks to Pierre Pascal Joulin, Societe Generale, FRANCE.
Change 35.042 Sample code that creates charts of resource group CPU
GRAFCAPS usage and capping.
Feb 17, 2017
Change 35.041 DCOLLECT format MGDCOSG adds new 6='6:COPYPOOL' value to
FORMATS map that value in variable DSGFTYPE.
Feb 17, 2017
Thanks to J. Alan Gray, CareFirstBlueCrossBlue Shield, USA.
Thanks to Stanley M. Helms, CareFirstBlueCrossBlue Shield, USA.
Change 35.040A IBM APAR OA51325 corrects invalid SMF 15 record missing
VMAC1415 the UCB segment causing VOLSER to be truncated to two
Feb 17, 2017 characters. No code change to support the corrections.
Change 35.040 Support for Velocity Software ZWRITE file z/VM MONWRITE
VMACVMXA records which have a new BEGINMTR value for each (hour)
VMXGINIT period, which caused the first interval of each (hour) to
Feb 15, 2017 be lost, because normal MONWRITE records have a single
BEGINMTR value for each file. But the ZWRITE records are
contiguous in spite of changed BEGINMTR, so this support
is enabled with %LET MXGZWRITE=YES; in SYSIN which
will set BEGINMTR only from the first instance so only
the very first interval is lost per day.
// EXEC MXGSASV9
//VMINPUT DD DSN=YOUR.ZWRITE.MONWRITE.DATA,DISP=SHR
//PDB DD DSN=YOUR.ZWRITE.PDB,DISP=OLD
//SYSIN DD *
%LET MXGZWRITE=YES;
%INCLUDE SOURCLIB(VMACVMXA,IMACKEEP);
_TESTVM /*READS VMINPUT */
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.039 MQMQUEUE variable WQQTYPE is mapped by MG116QT format
FORMATS VALUE MG116QT
VMAC116 1='1:LOCAL'
Feb 15, 2017 2='2:MODEL'
3='3:ALIAS'
6='6:REMOTE'
7='7:CLUSTER'
-GMTOFF116 calculation revised correcting occasional
missing values in WQCLOSTI, WQOPENTI, and WQTTTIME.
(WQCLOSTI can be validly missing).
-APAR PI70580 corrects invalid WQBASENA variable values,
which seem to occur in every second segment in each
SMF record, but other segment's values are valid.
Thanks to Raymond Smith, Optum TECH, USA.
Thanks to Pietro Rosella, Canadian National Rails, CANADA
Change 35.038 MXG 34.04 added PROC DELETE DATA=:CIC after PDB.CICINTRV
CICINTRV had been created, intending to delete ONLY CICS Stats
VMXGCICI datasets to free up //WORK space for subsequent use, but
Feb 14, 2017 if CICINTRV was intentionally left in //WORK, it was then
unintentionally deleted by that colon modifier, and ITRM
expected it to be left in WORK as it had been previously.
Since no one had actually asked for this cleanup, it has
been removed from VMXGCIC. But, added at the bottom of
the CICINTRV member, inside a comment block, is the code
to delete all of those CICS Stats, if you do wish to.
Thanks to Don Barnard, North Carolina State Government, USA.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 35.037 ASUMDB2P expected variables QPACDBRM/QPACPACK would be
ANALDB2R populated, but those bits were removed in DB2 V10, so now
ASUMDB2P PACKTYPE is blank.
Feb 14, 2017 -ANALD2R was not correctly rolling up the control break
totals in the Accounting SHORT report.
Change 35.036 VMXGSUM will now tell you with an MXGNOTE when it cannot
VMXGSUM use CLASS NWAY and why it cannot. There are two cases:
Feb 11, 2017 - Use of DESCENDING in the SUMBY
- same dataset name for input and output and no OUTCODE
specified
It will also now display the final setting of SUMBYCLASS.
Thanks to Tim Hare, Southwood Shared Resource Center, USA.
====== Changes thru 35.035 are in this MXG 35.02 dated Feb 10, 2017=====
Change 35.035 Protection for Invalid TPX Subtype 7 record with Segment
VMACTPX TPX07LEN=93 but only 44 bytes remain in the record. MXG
Feb 10, 2017 silently deleted the record, because of prior invalid 07x
Feb 14, 2017 causing zero obs in TPXAPLON Logon dataset. The first 44
are now INPUT, and the remainder conditionally input.
-Feb 14: Correction for undocumented 8 byte insert
in '06' and a blank in TPXSNAME.
-Feb 14: Each pair of subtype 01 TPXSTART records have the
same SMF time, but the second record is a continuation of
the first record, which is not supportable; a problem
report will be opened with TPX Support.
-TPX PTFS R088919 and R085818 correct some errors, while
CA Fix TR95030 corrects the bad subtype 1 records which
turned out to subtype 2 records with wrong subtype.
Thanks to Scott Wiig, USBank, USA.
Thanks to Paul Volpi, UHC, USA.
Change 35.034 Support for the BBMQ large segment record structure that
VMACBBMQ are created by the BMC BBM9MD73 utility program that
Feb 10, 2017 extracts the records from the history file for TYPEBBMQ
to then process. Both old and new format records are
supported with this change and there were no changes to
the MXG datasets. This is support for BBMQ 5.3.
Change 35.033 Logic to determine the begin/end of month was robusted
VMXGALOC and non-zero length MNTHKEEP will always display the
Feb 9, 2017 MONTH Libname value.
Change 35.032 Documentation Only. DCOLLECT records can contain the JOB
VMACDCOL and STEP and the TIME of the Creating JOB for DISP=NEW
Feb 9, 2017 datasets, but the EATTR option must be specified either
in the DATACLASS definition or with a DD statement.
Thanks to Paul Newton, IBM RDP Dallas, USA.
Change 35.031 Variable S42DSIOS='RW TO*METRO*MIRROR*SECONDARY' is added
VMACDB2 to dataset TYPE42DS, having been overlooked.
Feb 9, 2017
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND
Change 35.030 DB2 statistics dataset DB2STAT4 QW0225_LMWRITE_REAL and
VMACDB2 _QW0225_LMCTYRL_REAL were incorrectly very large due to
Feb 7, 2017 a 4-byte misalignment.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.029 RACF SMF70DTP/RACFTYPE=6 segment was increased in length
VMAC80A from 124 to 136 but had not been protected for a change.
Feb 7, 2017 Three additional keyword variables ADDLKEY1-ADDLKEY3
are added to TYPE8010 and TYPE8013 datasets.
Thanks to Coen Wessels, GTS Infrastructure, SWITZERLAND.
Change 35.028 Support for RMF III dataset ZRBENC new "long name" fields
ASMRMFV that were added by z/OS 2.1 but not captured by ASMRMFV.
VMACRMFV Variables EDEPCKG EDEPROC EDEUSER EDETRXN ECEACCT were
Feb 6, 2017 increased in length and these new variables are kept:
EDESCHEDENV ='SCHEDULING*ENVIRONMENT*NAME'
EDESCHEDENVLN ='S E NAME LENGTH'
EDESUBSYSCOLLECT ='SUBSYSTEM*COLLECTION*NAME'
EDEPCKGLN ='PACKAGE*NAME*LENGTH'
EDEPROCLN ='PROCEDURE*NAME*LENGTH'
EDECLIENTIPADDR ='CLIENT*IP*ADDRESS'
EDECLIENTIPADDRLN ='CLIENT*IP*ADDRESS*LENGTH'
EDEUSERLN ='CLIENT*USERID*LENGTH'
EDETRXNLN ='CLIENT*TRANSACTION*NAME*LENGTH'
EDECLIENTWRKSTATION ='CLIENT*WORKSTATION'
EDECLIENTWRKSTALN ='CLIENT*WORKSTATION*LENGTH'
EDEACCTLN ='CLIENT*ACCOUNT*LENGTH'
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.027 Support for DB2 NETEZZA DB2ACCT Q8AC Accumulated fields:
IMACDBNZ Q8ACINSC='INSERT*STATEMENTS*SENT TO IDAA*FROM DB2'
Feb 6, 2017 Q8ACUPDC='UPDATE*STATEMENTS*SEND TO IDAA*FROM DB2'
Q8ACDELC='DELETE*STATEMENTS*SEND TO IDAA*FROM DB2'
Q8ACDRPC='DROP*STATEMENTS*SEND TO IDAA*FROM DB2'
Q8ACCRTC='CREATE*STATEMENTS*SEND TO IDAA*FROM DB2'
Q8ACCMTC='COMMIT*STATEMENTS*SEND TO IDAA*FROM DB2'
Q8ACRBKC='ROLLBACK*STATEMENTS*SEND TO IDAA* FROM DB2'
Q8ACOPNC='OPEN*STATEMENTS*SEND TO IDAA*FROM DB2'
Q8ACROWI='ROWS*INSERTED*TO IDAA*BY DB2'
Q8ACROWU='ROWS*UPDATED*ON IDAA*BY DB2'
Q8ACROWD='ROWS*DELETED*ON IDAA*BY DB2'
Q8ACROWC='ROWS*RETURNED*BY IDAA*TO DB2'
These variables are output in DB2ACCT, but they appear
to be defective, as they are supposed to be ACCUMULATED
but the 2012 and 2013 test data I have has breaks in the
expected monotonic increase, so if you are interested in
these fields, please send current SMF 101 data so I can
investigate if the accumulation is now valid.
Change 35.026 If MXG detects Service Class Name of SYSOTHER, error msgs
UTILRMFI are printed when SMF 72 records are processed. SYSOTHER
Feb 1, 2017 should never happen; it is the fall thru service class
when WLM can't classify work and runs at the lowest DPRTY
in MTTW mode, and thus should NOT ever happen! Now, when
UTILRMFI is run to examine the problem, it will also read
the PDB.SMFINTRV or PDB.TYPE30_4 dataset to find what
tasks were classified into SYSOTHER, reporting JOB name,
READTIME, JESNR, and SRVCLASS and RPTCLASS. If there are
type 30 records they will be reported but there may not
be any, if no tasks actually went to the service classes,
or the workload is one where there is no type 30 record
(e.g., DDF). All workloads in your WLM classification
rules should have a default service class SPECIFIED:
-Unclassified work will default to one of two places
- Started Tasks default to SYSSTC
- All other work defaults to SYSOTHER
Neither is a good choice. SYSSTC runs at very high DP
and SYSOTHER runs at very LOW DP. While very low may be
appropriate for workloads you do not know, very high is
almost certainly not.
-Reports 1 thru 3 already exist.
-Report 4 is added to give you the job names, read times
jes numbers, service and report class where the service
class is SYSOTHER, from 30_4 and SMFINTRV.
-Report 5 is added to show you any DB2ACCT records that
may have landed in SYSOTHER as they may not be in a type
30 record.
-Report 6 is added to show you all tasks falling into
SYSSTC, from 30_4, SMFINTRV and 30_6.
-Report 7 is added as a table of CPU consumption by
service class and system, from TYPE72GO.
-Report 8 is added as a table of CPU consumption
by report class and system from TYPE72GO.
Change 35.025 Using the _VMINPUT macro to read VB z/VM MONWRITE data
VMACVMXA incorrectly set the length of VMDUSER to only one byte.
Feb 1, 2017
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.024 SMF 120 Subtype 9 variables SM1209EV/EW/SM1209FI are not
VMAC120 kept. In TYP1209U detail dataset, they are output either
Feb 3, 2017 in new variables SM1209xxEJBDET or SM1209xxWEBDET, and in
datasets TYP1209R and TYP1209N they are summed and output
in SM1209xxEJB and SM1209xxWIB variables.
The TIME format was removed from the EW count variables.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.023 MXG 35.01. If UTILEXCL executed with //PDB DD DISP=OLD,
UTILEXCL only the NEW dictionary records read from SMF are used
Jan 29, 2017 to create the IMACEXCL, and old dictionary records are
lost; only the new records are output in PDB.CICSDICT.
(The step DATA _LCICDIC; SET _WCICDIC; to add the LABEL
was changed to SET _LCICDIC to correct this error.)
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 35.022 ANCIENT syntax of DATETIME in SUMBY in user tailored
VMXGSUM invocation of VMXGSUM (pre MXG Version 21 example!) can
Jan 29, 2017 cause VMXGSUM, which is used EXTENSIVELY internally in
MANY MXG members, to fail, sometimes with only a message
WARNING: VARIABLE QWACBSC ALREADY EXISTS ON WORK.MXGSUM3
or it can ABEND with ERROR FUNCTION COMPBL TOO FEW ARGS.
Only three sites reported the error with MXG 35.01/34.34.
Primary exposure was this syntax,
SUMBY= . . .DATETIME . . . ,
ID= . . . QWACBSC . . . ,
DATETIME= QWACBSC,
which caused the output dataset variables QWACBSC and
DATETIME have missing values.
The correct syntax replaces DATETIME in the SUMBY= :
with the DATETIME= variable, and removes the DATETIME=
variable from the ID= argument,
This error was exposed in MXG 34.05 in Change 34.151 for
the CLASSNWAY update that is also corrected. But, even
though unlikely, this change detects the old syntax with
DATETIME in SUMBY= argument, changes to correct syntax,
and tells you what was done for you in a log note.
If you had DATETIME in the SUMBY= list and also did NOT
explicitly use the DROPDT=NO option, then DATETIME
variable is kept in the output dataset.
-Unrelated, this change adds the FLORCEIL parameter to
VMXGSUM so you can create interval start or end times as
you can do in VMXGDUR. Setting FLORCEIL=CDIL sets the END
time or FLORCEIL=FLOOR sets the START time, and the label
indicates START or END.
-Note: this internal MXG Change could be INCOMPATIBLE with
programs that worked perfectly previously; send your code
VMXGSUM invocation and we will update your code.
Thanks to Paul Volpi, UHC, USA.
Change 35.021 MXG 35.01, TYPE78PA variables R782LSMOxx and R782GFMOxxx
VMAC78 and R782GFFRxxx are incorrect; R782LSMOMIN should have
Jan 27, 2017 been INPUT before R782LSMONTME, but statement was lost
causing R782LSMOMIM UNINIT message.
Thanks to Paul Naddio, FISERV, USA.
Change 35.020 MXG 35.01. Spurious MXGWARN: VMXGSUM BACKLEVEL MXG 3434
VMXGSUM note has no impact; the VMXGDUM in 35.01 is correct, but
Jan 25, 2017 the VMXGVERS call was not updated with '35.01' text.
Change 35.019 -Support for changed SYTCPU with SYTNLPS=1 SEGLEN=48
VMACXAM that caused INVALID SEGMENT record, XAMSYT dataset.
Jan 26, 2017 -Support for new SYTLC3 segment in XAMSYS records
Mar 2, 2017 was added on March 2, adding these new variables:
CALLCKID='CALL*CHECKID'
INDEX ='TO MATCH*HISTORY DATA'
SECONDS ='SECONDS'
CALXSCNT='TOTAL*SPIN*TIMES*EXCLUSIVE'
CALXTIME='TOTAL*SPIN*TIME'
CALSSCNT='SPIN*TIMES*SHARED'
CALSTIME='SPIN*TIME*SHARED*MODE'
CALCADSH='CAD*INSTRUCTIONS*OBTAIN*LOCK'
CALCADEX='CAD*INSTRUCT*OBTAIN*EXCL LOCK'
-Support for new HSTME2 segment in XAMTCP was added
on March 2, changing only the length of DESCR to
60 bytes.
Thanks to Patricia Hansen, ADP, USA.
Change 35.018 An extraneous character in the SU_SEC format raised a
GRAFWRKX WARNING but did not cause an error, but ZIPTM, IFATM, and
Jan 26, 2017 ZIETM were not being properly summed, causing the ZIP ZAP
and ZIE graphs to be suppressed.
-ODS PROCLABEL statements added to make the index 'pretty'
when creating HTML or PDF output.
Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.
Change 35.017 New DB2 ZPARMs are added to T102S106 Dataset:
VMAC102 QWP4MNSU='MATERIALIZE*NODET*SQLTUDF?'
Jan 25, 2017 QWP4DSINUN='DISALLOW*SELINTO*UNION?'
QWP4MTAD='MOVE*TO*ARCHIVE*DEFAULT'
Thanks to Lai Fai Wong, Bank of America, USA.
Change 35.016 DB2STATS dataset, these seven storage variables
VMACDB2 QISTWSTG QISTDGTTSTG QISTDGTTCTO QISTDGTTMXU
Jan 24, 2017 QISTWFSTG QISTWFCTO QISTWFMXU
were multiplied by 4096 (page size) instead of by 1024
to convert KB to bytes for MGBYTES. format.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.015 Support for SMF 117 written by GTZ (conflicts with 117
VMAC117 from Message Broker), now GTZ record is ID=125.
VMAC125 -If you use TYPE117, it will delete any GTZ records and
Jan 20, 2017 tell you that they were NOT Message Broker records.
-To process the 117s from GTZ, use this in //SYSIN DD
until you have the APAR that writes them as 125's:
%LET MACFILE=
%QUOTE(IF ID=117 THEN DO;
INPUT @15+OFFSMF SM117SSI $EBCDIC4. @;
IF SM117SSI='GTZ ' THEN ID=125;
END;
);
and tell MXG to process both 117 and 125 records.
====== Changes thru 35.014 are in this MXG 35.01 dated Jan 20, 2017=====
Change 35.014 A variable with DATETIME embedded in the name caused an
VMXGSUM branch in the code building the SUMBY string and caused
Jan 19, 2017 the SORT to fail with a variable not found.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 35.013 If you used AUTOALOC=YES with RUNMNTH=MTD on the second
BLDSMPDB day of the month, the previous month may have been
Jan 18, 2017 deleted.
Change 35.012 Old protection for APAR OA24074 caused ZERO DIVIDE ID=70
VMAC7072 if CPUUPTM and CPUPATTM were identical, now protected.
Jan 18, 2017
Thanks to Job Varkey, Verisk Analytics, USA.
Thanks to Cesar V. Cocco, Verisk Analytics, USA.
Change 35.011 For local time zones with +GMT, variable GMT115TM was
VMAC115 one hour too large, fortunately impacting only variables
Jan 17, 2017 QJSTIOMAXIOT1-4 and QJSTIOMAXSUST1-4 in MQMLOG dataset.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 35.010 OSEM User SMF INPUT STATEMENT EXCEEDED, invalid record
VMACOSEM with length of last segment not provided if there was
Jan 26, 2017 more than one segment. The year 2000 vendor DSECT does
Apr 3, 2018 show a '00'x terminates the record, so that is now used
to detect the length of the last segment.
Code sent in Mar, 2018 but VMACOSEM updated in 36.04.
Thanks to Nilton D Junior, IBM, BRAZIL.
Change 35.009 Support for APAR OA48913 metrics for 2GB Memory Frames.
VMAC71 -New variables in TYPE 71:
Jan 13, 2017 SMF71GAA='AVG 2GB FRAMES*IN LFA*NOT IN-USE'
SMF71GAM='MIN 2GB FRAMES*IN LFA*NOT IN-USE'
SMF71GAX='MAX 2GB FRAMES*IN LFA*NOT IN-USE'
SMF71GFA='AVG TOTAL*2GB FRAMES*CAN BE USED'
SMF71GFM='MIN TOTAL*2GB FRAMES*CAN BE USED'
SMF71GFX='MAX TOTAL*2GB FRAMES*CAN BE USED'
SMF71GOA='AVG FIXED 2GB*OBJECTS*ALLOCATED'
SMF71GOM='MIN FIXED 2GB*OBJECTS*ALLOCATED'
SMF71GOX='MAX FIXED 2GB*OBJECTS*ALLOCATED'
SMF71GRA='AVG 2GB PAGES*FIXED*IN CSTORE'
SMF71GRM='MIN 2GB PAGES*FIXED*IN CSTORE'
SMF71GRX='MAX 2GB PAGES*FIXED*IN CSTORE'
SMF71GUA='AVG 2GB FRAMES*IN LFA*IN-USE*BY FIXED MEMOBJ'
SMF71GUH='HWM*2GB FRAMES*USED'
SMF71GUM='MIN 2GB FRAMES*IN LFA*IN-USE*BY FIXED MEMOBJ'
SMF71GUX='MAX 2GB FRAMES*IN LFA*IN-USE*BY FIXED MEMOBJ'
-New variables in TYPE78PA:
R782GFMOMIN ='MIN FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
R782GFMONTME='TIME STAMP*OF MIN*MEMOBJ*BACKED*IN 2GB'
R782GFMOMAX ='MAX FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
R782GFMOXTME='TIME STAMP*OF MAX*MEMOBJ*BACKED*IN 2GB'
R782GFMOAVG ='AVG FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
R782GFFRMIN ='MIN 2GB PAGES*FIXED*IN CSTORE'
R782GFFRNTME='TIME STAMP*OF MIN*PAGES*FIXED*IN CSTORE'
R782GFFRMAX ='MAX 2GB PAGES*FIXED*IN CSTORE'
R782GFFRXTME='TIME STAMP*OF MAX*PAGES*FIXED*IN CSTORE'
R782GFFRAVG ='AVG 2GB PAGES*FIXED*IN CSTORE'
Change 35.008 TYPE42 variable S42CSID, the SSID is now formatted HEX4.
VMAC42 as are the other SSID variables in TYPE42 datasets.
Jan 12, 2017
Thanks to Michael Friske, FMR, USA.
Change 35.007 Liberty SMF 120 subtype 12 TYP12012 dataset variables
VMAC120 SM120CCC and SM120CCD had year 2027 plus 1 day later
Jan 12, 2017 because MXG added the DEL6070 seconds between 1960-1970
TWICE. Variable SM120CCB, also on the 1970 epoch, was
correct as DEL6070 (315619200) was only added ONCE.
Thanks to Steve McKee, FMR, USA.
Change 35.006 Duplicate RMFINTRV obs were created if multiple Capacity
VMXGRMFI Group Names existed in the TYPE70PR data; MXG did not
Jan 10, 2017 select the obs with SYSTEM=SMF70STN and inadvertently
Jan 25, 2017 output duplicated records; Most values were exact dupes,
but SMF70GNM SMF70GMU TOTMEMR values were different.
-This error was introduced in MXG 34.01, Change 34.029.
-Protected archaic DURSET and DETAIL interval Jan 25.
Thanks to Joachim Sarkoschitz, DATEV, DENMARK.
Thanks to Frank Fischer, Concordia, GERMANY.
Change 35.005 RMF III dataset ZRBLCP observations were created for each
VMACRMFV LCPUADDR in the LPAR, only if the LCPU Dispatch Time was
Jan 10, 2017 non-zero, but that test is changed to output LCPUADDRs
that are ONLINE (by testing LCPUONL), so that ZRBLCP has
an observation for every ONLINE LCPU Address, to match
the RMF CPC screen data.
Thanks to MP Welch, Bank of America, USA.
Change 35.004 MXG 34.34. Debugging PROC CONTENTS statements were left
UTILEXCL that caused DATASET PDB.CICSDICT NOT FOUND errors, if the
Jan 10, 2017 //PDB DD had DISP=NEW, Lines 891, 892, and 898 need to be
deleted, but that only exposed a second error causing the
same error message; the PROC APPEND had transposed the _W
and _L tokens - Base must be _L and NEW must be _W.
Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.
Change 35.003 Cosmetic. Variables ADSRXXXX, ADSRYYYY, ADSR5ST are now
VMACEREP converted to EBCDIC..
Jan 6, 2017
Change 35.002 Another INVALID SMF RECORD Informatica POWER EXCHANGE
VMACPOEX caused STOPOVER ABEND because POEXLEN=52 but there are
Jan 6, 2017 are only 32 bytes left in the record; its missing the
last five counters for the Client POEXCLIE dataset.
Datetime variables POEXSTRX/POEXENDX are now kept.
Thanks to Scott Wiig, USBank, USA.
Change 35.001 The year end interval with STARTTIME=31DEC2016:23:55:00
VMACNMON incorrectly had ENDTIME=01JAN2016:00:00 because MXG used
Jan 4, 2017 the AAA record's DATECH value to get the year, but that
was the date of the start of the monitor. Now, the DATE
in the ZZZZ record is used.
Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.
LASTCHANGE: Version 35.
=========================member=CHANGE34================================
/* COPYRIGHT (C) 1984-2016 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 34.34 is dated Jan 3, 2017, thru Change 34.284
MXG Newsletter SIXTY-EIGHT is dated Jan 3, 2017.
MXG Version 34.10 was dated Dec 25, 2016, thru Change 34.280
MXG Version 34.09 was dated Dec 16, 2016, thru Change 34.279
MXG Version 34.08 was dated Nov 25, 2016, thru Change 34.269
MXG Version 34.07 was dated Oct 7, 2016, thru Change 34.232
MXG Newsletter SIXTY-SEVEN was dated Oct 7, 2016.
First MXG Version 34.07 was dated Oct 5, 2016, thru Change 34.230
MXG Version 34.06 was dated Aug 18, 2016, thru Change 34.198
MXG Version 34.05 was dated Jul 25, 2016, thru Change 34.173
MXG Version 34.04 was dated Jun 23, 2016, thru Change 34.144
MXG Version 34.03 was dated May 10, 2016, thru Change 34.114
MXG Version 34.02 was dated Apr 5, 2016, thru Change 34.083
Final MXG Version 34.01 was dated Mar 21, 2016, thru Change 34.062
Third MXG Version 34.01 was dated Mar 14, 2016, thru Change 34.058
Second MXG Version 34.01 was dated Mar 14, 2016, thru Change 34.057
First MXG Version 34.01 was dated Mar 7, 2016, thru Change 34.048
ANNUAL: MXG Version 33.33 was dated Jan 18, 2016, thru Change 33.327
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 34.34 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 34.34.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 34.34 dated Jan 3, 2016, thru Change 34.284
This is the MXG "ANNUAL VERSION" for 2017.
Major CHANGES added in MXG 34.34, dated Jan 3, 2016 thru 34.284.
TYPEIDML 34.282 Support for IDMS Log (INCOMPAT, third record).
TYPEDB2 34.281 DB2 IDAA variable Q8STDSKU format/label corrected.
Major CHANGES added in MXG 34.10, dated Dec 25, 2016 thru 34.280.
TYPEVMXA 34.280 z/VM Linux Appl VXAPLSLM/N/P/0 deaccum corrected.
TYPEVMXA 34.280 z/VM VXBYUSR had some obs with negative values.
Major CHANGES added in MXG 34.09, dated Dec 16, 2016 thru 34.278.
CRITICAL CHANGE:
TYPE110 34.274 Support for CICS/TS 5.4 BETA 6 (INCOMPAT CICSTRAN).
ENHANCEMENTS
TYPETMD2 34.275 Support for ASG/TMON for DB2 IDAA SA and SB records.
TYPE115 34.272 Support for MQ SMF 115 Subtype 231 DSP/ADP/SSL/DNS
ANALDCO1 34.271 New ANALDCO1 provides simple DCOLLECT reports.
ASMRMFV 34.273 Internal Performance improvement for RMF III support
Major CHANGES added in MXG 34.08, dated Nov 25, 2016 thru 34.269.
CRITICAL CHANGE:
TYPE7072 34.239 SMT Corrections to TYPE70PR "OTHER SYSTEM" LPARs.
TYPETPX 34.269 Support for INCOMPATIBLE TPX PTF R085512/R085513.
ChangeS:
TYPEDB2 34.248 DB2 Netezza IDAA Q8STxxxx in new DB2NETZA dataset.
ANAL9914 34.255 z13 Topology Report typo corrected.
CICINTRV 34.254 CICS Dispatcher DSGSRBT SRB Time Kept in CICINTRV.
VMXGALOC 34.253 UPCASE removed for BASExxx path for Linux casing.
TYPE119 34.252 TYP11950 dataset only contained first KEY.
TYPEVMXA 34.249 z/VM Linux Appldata VXAPLSLM/SLN/SLP corrections.
TYPE42 34.245 SMF 42 TYPE42L1 dataset misaligned at SMF42HUA.
ANALDB2R 34.265 ANALDB2R 33.33-34.07 could require temp //PDB DD.
ENHANCEMENTS
TYPE110 34.260 Support for SMF 110 Subtype 2 STID=32 creates CICLDY.
TYPETMO2 34.257 Support for TMON/CICS Version 4.1 (COMPATIBLE)
TYPE80A 34.251 Support for TOP SECRET RDT Table decoding.
TYPERACF 34.247 Support for RACF APAR OA43999 RACF UNLOAD database.
TYPE117 34.243 Support for SMF 117 Version 2 (INCOMPATIBLE) format.
TYPEZCOS 34.241 Support for AutoSoftCapping Version V4 (COMPATIBLE).
TYPETHAL 34.261 Support for Thales Security Records with/wo subtype
IMACCADI 34.263 Support for CAA/DISPATCH type 6 change (INCOMPAT)
ASMRMFV 34.262 ASMRMFV enhancement for Parameters.
VGETJESN 34.240 Hex zeros in JCTJOBID in SMF 42 ST 27 protected.
ANAL3CPC 34.238 Example RMF III CPC data report.
TYPESTC 34.237 New variables added to STCVSM11 dataset.
Major CHANGES added in MXG 34.07, dated Oct 7, 2016 thru 34.232.
CRITICAL CHANGE:
TYPE7072 34.232 First 34.07. CRITICAL ARRAY EXCEEDED ERROR fixed.
DO NOT USE Oct 5 34.07 for TYPE 70 processing.
Major CHANGES added in MXG 34.07, dated Oct 5, 2016 thru 34.229.
ENHANCEMENTS
TYPEDB2 34.229 Support for DB2 V12. (COMPATIBLE).
TYPE70 34.228 Support for APAR OA48688, ABSOLUTE MSU LPAR CAP.
TYPE1415 34.224 Support for APAR OA50256 for TYPE1415/SMF14DSVER.
TYPE74 34.223 Support for APAR OA49415 for SuperPAV support.
TYPE78 34.223 Support for APAR OA49415 for SuperPAV support.
TYPE42 34.222 Support for APAR OA51097 for subtype 19 fields.
TYPE6156 34.219 Support for SMF Type 65 GDGCOMPL/GDCNOEXT/GDGLIMIT
TYPE98 34.216 Support for SMF 98 High Freq Thruput Stats record.
TYPEPROS 34.215 Support for PRO/SMF (previously X37) Version 7.8.
TYPE30 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE42 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE74 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE79 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE90A 34.214 Support for new subtypes 38 and 39 in SMF 90.
TYPE119 34.213 Support for SMF 119 Subtype 81 Intrusion Detection.
TYPE80A 34.206 Support for Top Secret Release R15 &R16 (INCOMPAT).
TYPECDHW 34.202 Support for Connect Direct Simultaneous Session CDHW
DB2COUNT 34.209 "DB2 is filling my SMF, how do I find out who/why?"
RMFINTRV 34.207 VMXGRMFI with INTERVAL=DATE s/b INTERVAL=DATESHIFT.
TYPE110 34.203 READTIME in all "CICS EXCLUDED" messages for DICT.
TYPE115 34.200 MQMLOG enhanced with new variables, protection added.
CORRECTIONS
TYPE29 34.221 Support for new SMF Type 29 IMS JAVA/GC validated.
TYPEBVIR 34.217 BVIR301 and BVIR302 datasets were wrong, too few obs.
ASUM4HRS 34.218 Four Hour Average analysis was incorrect initialized.
Major CHANGES added in MXG 34.06, dated Aug 18, 2016 thru 34.198.
CRITICAL ERROR CORRECTED:
TYPE78 34.196 SMF 78 ST 3 INPUT EXCEEDED if APAR O44525 installed.
MXG 33.07-MXG 34.05. Circumvention in Change text.
ENHANCEMENTS:
TYPE99 34.194 Support for SMF 99 Subtype 1 Hardware Absolute CAP.
TYPE124 34.187 Support for SMF 124 I/O Supervisor IOS (z/OS 2.2).
TYPEMVIP 34.186 Support for Mainview for IP RTIN 34x TAC9I220 dataset
TYPE110 34.183 Partial Support for CICS/TS 5.4 OPEN BETA.
TYPE80A 34.178 Support for RACF 80 TOKDANAM new values.
ASMRMFV 34.191 Enhanced RMF III data filtering reduces data volume.
ASMRMFV 34.198 RMF III Relative Time filtering, e.g, last hour.
TYPERMFV 34.192 RMF III variable GMTOFF kept in all ZRB datasets.
TYPETMO2 34.195 TMON/CICS new vars TASZIPTM/TASELGTM recalc TASCPUTM.
ERRORS CORRECTED:
TYPEHSM 34.193 Invalid HSM VSR/DSR with '62'x vs 'S' protected.
TYPE119 34.189 MXG 34.05 ONLY, INPUT EXCEEDED more than 3 Homeaddr.
TYPE74 34.181 Defective BMC CMF type 74 subtype 4 SMF74ML=0 bypass.
TYPEATF 34.180 Omegamon XE ATF times are now on local time zone.
TYPE80A 34.176 RACFTYPE=6 RACFEVNT=19 skipped segment message.
TYPEVMXA 34.175 zVM 6.3.16.1 inserted in PRCPUP, PROBABL DATA LOSS.
Major CHANGES added in MXG 34.05, dated Jul 25, 2016 thru 34.173.
ENHANCEMENTS:
TYPE120 34.170 Support for WebSphere Liberty Batch SMF 120 Subty 12.
TYPE120 34.163 Support for WAS Liberty V16.0 SMF 120 Subtype 11.
TYPE120 34.148 Support for ODM Version 8.8 SMF 120 subtype 100.
TYPE119 34.168 Support for SMF 116 Subtype 6 Home IP Address segment
TYPE87 34.166 Support for SMF Type 87 Subtype 2 ENQ/DEQ records.
TYPE117 34.157 Support for SMF 117 Integration BUS V10 INCOMPATIBLE.
TYPEIDMS 34.164 Support for IDMS Version 19 (INCOMPAT with R084146).
BUILDPDB 34.162 Support for z/OS 2.2 JES2 8-char JOBCLAS8 in BUILDPDB
BLDSMPDB 34.153 Change 33.031 missed two instanced of LOWCASE().
ERRORS CORRECTED:
TYPEVMXA 34.169 zVM HIS macros for PRCMFC PRCMFM now work correctly.
CHECKSTN 34.167 Detection/Protection of duplicate SMF70STN values.
VMXGALOC 34.160 Revised for Linux, case sensitive directory names.
TYPERMFV 34.156 INVALID DATA for ASIQSCANxxx, incorrect informat.
ASMRMFV 34.152 The RMF III DOW filter was not working.
VMXGSUM 34.151 SYSLAST is now correctly set to last output dataset.
BUILDPDB 34.147 Large SPIN.SPIN6 due to PRINTWAY records cleared.
Major CHANGES added in MXG 34.04, dated Jun 25, 2016:
ENHANCEMENTS:
VMXGSUM 34.137 New MXGSUMCLASS option can save CPU time, TEST IT!!
ASMRMFV 34.133 RMF III GMT offset feature for multiple time zones
selects data for the data center hardware time zone.
This is a new feature, so please test first.
TYPE102 34.123 Support for DB2 IFCID 365 and 376 corrections.
ANALCSQX 34.122 Concurrent MQ Apps logged on from SYSLOG CSQX msgs
TYPESYSL 34.121 Formal support of SYSLOG with all normal MXG tokens.
TYPE30 34.118 MXG created variable CPUZIPTM_CPUIFATM_INST wrong.
TYPEEDGR 34.116 RMM datasets enhanced with SYSTEM and EDGRTIME.
TYPEDCOL 34.115 DCDTIMEC Data Set Create Time not populated note.
ERRORS CORRECTED:
BLDSMPDB 34.131 ERROR: Invalid date constant " .":d, FORCEDAY= fix
ANALRANK 34.127 NOT SORTED if only one variable was examined
VMXGCNFG 34.119 CPU Loop after program ended, if //SOURCLIB DD.
Major CHANGES added in MXG 34.03, dated May 10, 2016:
ERRORS CORRECTED:
TYPEDB2 34.108 DB2 Sim Buff Pool DB2STSBP QBSP variables corrected.
ASUMCELP 34.106 z13 SMT_MODE SMT_NUM=2, NRZIPCPU finally correct.
TYPERMFV 34.100 ZRBASI ASILPGSZ, ZRBGEI many GEIxxxxx corrected.
TYPEVMXA 34.099 zVM 6.3 circumvent, 5.20 HWCLEN=384, new PRCAPMCT=11.
VMACRMFV 34.092 MXG 34.01-34.02. ZRBCPU variables CPCGRPxx wrong.
TYPEIMS 34.087 MXG 34.02, IMS 12.1, IMS 07 misalign, DLRAZAAP fixed.
MOBWRKI2 34.084 ERROR: FILE WORK.SUMSTSBP.DATA DOES NOT EXIST fixed.
ASMRMFV 34.095 Some ASMRMFV log dates off by one day, output fine.
ENHANCEMENTS:
TYPE72PD 34.111 New TYPE72PD RMF WLM POLICY DEFINITIONS dataset.
TYPE123A 34.105 Support for SMF 123 Liberty z/OS Connect EE Audit.
TYPE117 34.103 Support for IBM Integ Bus V 90005 SMF 117 INCOMPAT
READDB2 34.102 Support for IFCID=58's second dataset T102SA58.
IHDRRMFV 34.092 Support for IHDRRMFV "Header" Exit selection member.
TYPE80A 34.086 Support for TYPE8069 R_PKISERV GENCERT event SMF 80.
TYPEVMXA 34.085 Support for z/VM VXSYTEMP third section, plus more.
TYPEIMS 34.091 Support for IMS Log 16x Sign On/Sign Off log record.
TYPESAMS 34.089 Support for SAMS VANTAGE User LSPOOLPO INCOMPAT.
ANALUOW 34.110 Parameter INCODE= added for tailoring/selection.
ANAL9914 34.107 SMT Topology Report typo, reports all systems.
GRAFWRKC 34.101 Improved CPU and MSU and Group Capacity SGPLOTs.
Major CHANGES added in MXG 34.02, dated Apr 5, 2016:
ERRORS CORRECTED:
MOBSRK05 34.075 MOBILWORK SCRT/MWRT FATAL ERROR IF CLOCK CHANGE OCCURS.
YOU NEED THE UPDATED MOBWRK05 or MXG 34.02 and must run
between April 2 and 9th for the March report.
TYPEIMST 34.083 IMS56FA, ARRVTIME wrong if GMT offset NE ENDTIME GMT.
TYPE110 34.065 CICS/TS 5.3, MNSEGCL=5 TSQUEUE INPUT EXCEEDED ERROR.
TYPE7072 34.072 R723DNST NOT EQUAL TO R723RTYP message eliminated.
TYPE85 34.067 z/OS 2.2 OAM SMF 85 INPUT STATEMENT EXCEEDED fixed.
RMFINTRV 34.078 RMFINTRV 33.33 and 34.01 had errors in MSU72/MSUSOFT/
TYPESTC 34.081 Oracle/STC User SMF record GMTOFFTM "slightly" wrong.
ENHANCEMENTS:
TYPEVMXA 34.080 Support for z/VM SMT MODE, caused BROKEN REC ERROR.
TYPE102 34.072A Support for SMF 102 IFCID 58 Added segment.
TYPE73 34.068 Support for SPLIT RMF 73 records, optional _STY73EX
TYPEBBMQ 34.064 Circumvention BBMQ Short E6 records, datetimes fixed.
TYPE0203 34.074 SMF2IHASHMETH/SMF2ISIGTYPE were blank, bad bit test.
TYPE74 34.073 Dataset TYPE749 (PCIE) is enhanced with new vars.
TYPEVMXA 34.066 z/VM VXBYUSR enhanced, option forces USER 8709 ABEND.
TYPE42 34.070 I/O Connect Time S42CONNTM is calculated.
Major CHANGES added in FOURTH MXG 34.01, dated Mar 21, 2016:
TYPE7072 34.060 ITRM. VMXG70PR. "&PDB" must be "&PDBMXG" twice.
Major CHANGES added in THIRD MXG 34.01, dated Mar 14, 2016:
Critical ERROR that caused the re-date:
VMXGINIT 34.052 WPS ONLY, 1st 34.01, RUN: in VMXGINIT FAILS INIT.
Circumvent by deleting that line with the colon.
New Products Support
TYPE120 34.055 Proper Support of 120 ST 9 TYP1209R/TYP1209N datasets
ST 9 is either a REQUEST or ASYNC Event, only those
two datasets are valid, with separate variable sets.
TYPE102 34.053 BMC APPTUNE defective FIX BPU3604, INPUT EXCEEDED.
Errors Corrected:
TYPE60 34.056 TYPE 60 variable SMF60ELP misaligned.
TYPE42 34.054 Variable SMF42LAN was not converted to EBCDIC.
TYPETMO2 34.049 TMON V4.0 microsec/tod change missed 15 variables.
(None were in the important MONITASK dataset.)
Major CHANGES added in MXG 34.01, dated Mar 7, 2016:
New Products Support
TYPERMFV 34.047 Support for z/OS 2.2 RMF III data records (COMPAT).
TYPE102 34.032 Support for DB2 Trace IFCIDS 311 and 321.
TYPE29 34.221 Support for SMF 29 IMS JAVA CPU and Garbage Collect
TYPEATF 34.041 Support for ATF V531 Enhanced Summarization Phase 2.
TYPEBBMQ 34.026 Support for MVMQ PTF BPL2558, times are microseconds.
TYPENDM 34.017 Support for NDM-CDI SE Session End record.
TYPEPKSZ 34.020 Support for PK-ZIP INCOMPATIBLE increase field length
TYPEVMXA 34.005 Support for zVM HIS (SMF 113) VXPRCMFC z/13 data.
TYPEDVS 34.014 Support for Rocket Software DVS User SMF record.
TYPEDCOL 34.042 Support for FLAG4 MegaByte format size variables.
Errors Corrected:
ITRM 34.011 Possible MXG 33.33 issues with ITRM documented.
TYPE113 34.027 TYPE113 CPU Speed SM1132SP wrong on Sub-Capacity z13.
TYPECIMS 34.007 Correction for IMF 5100 incorrect values, no ABEND.
TYPESTC 34.019 Corrections/enhancements for Oracle STC SMF record.
UTILRMFI 34.006 UTILRMFI report was dropped accidentally in 33.024
VGETOBS 34.001 OPTION CHARCODE caused ERROR: CHAR OPERAND.
PDBAUDIT 34.003 FILE _TMPLIB.XTY70CP.DATA does not exist.
TYPE71 34.043 New variables SMF71CPx,SMF714Kx,SMF71PLx were wrong.
Enhancements
ANALGRCA 34.015 New analysis of Group Capacity
GRAFWRKC 34.044 New Capacity Group report of CEC resources by LPAR.
RMFINTRV 34.029 Capacity Group variables SMF70GNM/GMU added
TYPEHSM 34.002 New datetime and duration variables in HSMFSRST.
TYPE116 34.008 New Variables added to MQMACCTQ
TYPE7072 34.010 TYPE72GO MSUxxxxx variables labeled/documented.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M3 (9.4M3) printed
as "SAS 9.4 (TS1M3)" or was "SAS 9.4 (TS04.01M2P07232014)" for
"SAS 9.4 (TS1M2)" (on SASLOG, if OPTION VERSIONLONG enabled),
for SAS 9.4 Maintenance Level M3 and m2.
SAS V9.4 M3 Is RECOMMENDED, but MXG executes without error using
SAS Version 9.4 M0, M1, M2, and M3 or SAS Version 9.2 M1 and M2.
SAS V9.4 M2 is USABLE. SAS 9.4 M2 is at LEVEL A SAS Support
SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
SAS V9.3 SAS 9.3 TS1M2 is USABLE. SAS 9.3 TS1M1 works.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03. SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit, but SAS V9.2 does execute ok.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 must be at Service Pack 4. Additionally, on z/OS 1.10
only, 9.1.3 requires SAS Hot Fix for SN-35332.
9.1.3 is support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS94 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 34.07 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows Seven and
Eight (64-bit) on 64-bit hardware, and sometimes on Centos 6.4,
but MXG users execute MXG on MANY (ALL??) SAS platforms, including
AIX, Linux, and other 'nix' variants, on many different hardware
platforms, and since they all work we don't need to list them. If
SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
and other errors with 3.00 or 3.01 have been corrected in the
current WPS version.
WPS Version 3.01.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
INCOMPATIBLY CHANGED, and MXG 34.03 is REQUIRED (PCTCPUBY WRONG!), to
read the SMT-format RMF records (which are written if you have zIIP
engines AND have enabled the new PROCVIEW CORE option for
Multi-Threading, even if only one thread is enabled).
The new zEDC compression hardware requires MXG 33.07 to support the
new metrics.
For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.1 - INPUT STATEMENT EXCEEDED ERROR SMF 74 33.10
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr 5, 2016 34.02
z/OS 2.2 SPLIT 73, ABEND 33.068 Apr 5, 2016 34.02
z/OS 2.2 JES2 8-char JOBCLASS Oct 7, 2016 34.07
z/OS 2.2 NEW SMF 124 IOS Spvr Oct 7, 2016 34.07
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
z13 SMT Mode NRZIPCPU 34.106 May 10, 2016 34.03
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS-TS/5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS-TS/5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS-TS/5.3 GA date Dec 11, 2015 33.33
CICS-TS/5.3 MNSEGCL=5 INPUT ERR Mar 21, 2016 34.02
CICS-TS/5.4 OPEN BETA Aug Aug 11, 2016 34.06
CICS-TS/5.4 OPEN BETA Nov Nov 11, 2016 34.09
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DB2 12.1 COMPATIBLE Oct 5, 2016 34.07
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
z/VM 6.3 z/13 Jan 23, 2016 33.33
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.13
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
IDMS 18 32.05
IDMS 19 (INCOMPAT after PTF R084146 Change 34.164) 33.05
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS *34.01
IMF 5.2 a/k/a Mainview IMS 34.01
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for IP 34.??
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 34.34.
1. Incompatibilities introduced in MXG 34.34:
a- Changes in MXG architecture made between 34.34 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
COSMETIC Some Changes will start with COSMETIC. This indicates
that that change only alters a displayed value or may
be a spelling error in a label, but it is "cosmetic"
in that it ONLY affected the display, and the output
data sets created are NOT impacted by this change.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 34.34 after MXG 33.33:
Dataset/
Member Change Description
ANAL3CPC 34.238 Example RMF III CPC data report.
ANAL9914 34.107 SMT Topology Report typo, reports all systems.
ANAL9914 34.255 z13 Topology Report typo corrected.
ANALCSQX 34.122 Concurrent MQ Apps logged on from SYSLOG CSQX msgs
ANALDB2R 34.265 ANALDB2R 33.33-34.07 could require temp //PDB DD.
ANALDCO1 34.271 New ANALDCO1 provides simple DCOLLECT reports.
ANALGRCA 34.015 New analysis of Group Capacity
ANALRANK 34.127 NOT SORTED if only one variable was examined
ANALUOW 34.110 Parameter INCODE= added for tailoring/selection.
ASMRMFV 34.095 Some ASMRMFV log dates off by one day, output fine.
ASMRMFV 34.133 RMF III GMT offset collects multiple time zones data.
ASMRMFV 34.152 The RMF III DOW filter was not working.
ASMRMFV 34.191 Enhanced RMF III data filtering reduces data volume.
ASMRMFV 34.262 ASMRMFV enhancement for Parameters.
ASMRMFV 34.273 Internal Performance improvement for RMF III support
ASUM4HRS 34.218 Four Hour Average analysis was incorrect initialized.
ASUMCELP 34.106 z13 SMT_MODE SMT_NUM=2, NRZIPCPU finally correct.
BLDSMPDB 34.131 ERROR: Invalid date constant " .":d, FORCEDAY= fix
BLDSMPDB 34.153 Change 33.031 missed two instanced of LOWCASE().
BUILDPDB 34.147 Large SPIN.SPIN6 due to PRINTWAY records cleared.
BUILDPDB 34.162 Support for z/OS 2.2 JES2 8-char JOBCLAS8 in BUILDPDB
CHECKSTN 34.167 Detection/Protection of duplicate SMF70STN values.
CICINTRV 34.254 CICS Dispatcher DSGSRBT SRB Time Kept in CICINTRV.
DB2COUNT 34.209 "DB2 is filling my SMF, how do I find out who/why?"
GRAFWRKC 34.044 New Capacity Group report of CEC resources by LPAR.
GRAFWRKC 34.101 Improved CPU and MSU and Group Capacity SGPLOTs.
IHDRRMFV 34.092 Support for IHDRRMFV "Header" Exit selection member.
IMACCADI 34.263 Support for CAA/DISPATCH type 6 change (INCOMPAT)
ITRM 34.011 Possible MXG 33.33 issues with ITRM documented.
JCLTESxx 34.259 Some JCLTESxx members still included gone TYPEQAPM.
MOBWRK05 34.075 SCRT/MWRT REPORT WILL ABEND IF CLOCK CHANGE INCLUDED
MOBWRKI2 34.084 ERROR: FILE WORK.SUMSTSBP.DATA DOES NOT EXIST fixed.
PDBAUDIT 34.003 FILE _TMPLIB.XTY70CP.DATA does not exist.
READDB2 34.102 Support for IFCID=58's second dataset T102SA58.
RMFINTRV 34.029 Capacity Group variables SMF70GNM/GMU added
RMFINTRV 34.078 33.33 and 34.01 had errors in MSU72/MSUSOFT/etc.
RMFINTRV 34.207 VMXGRMFI with INTERVAL=DATE s/b INTERVAL=DATESHIFT.
TYPE0203 34.074 SMF2IHASHMETH/SMF2ISIGTYPE were blank, bad bit test.
TYPE102 34.032 Support for DB2 Trace IFCIDS 311 and 321.
TYPE102 34.053 BMC APPTUNE defective FIX BPU3604, INPUT EXCEEDED.
TYPE102 34.072A Support for SMF 102 IFCID 58 Added segment.
TYPE102 34.123 Support for DB2 IFCID 365 and 376 corrections.
TYPE110 34.065 CICS/TS 5.3, MNSEGCL=5 TSQUEUE INPUT EXCEEDED ERROR.
TYPE110 34.183 Partial Support for CICS/TS 5.4 OPEN BETA.
TYPE110 34.203 READTIME in all "CICS EXCLUDED" messages for DICT.
TYPE110 34.260 Support for SMF 110 Subtype 2 STID=32 creates CICLDY.
TYPE110 34.274 Support for CICS/TS 5.4 BETA 6 (INCOMPAT CICSTRAN).
TYPE113 34.027 TYPE113 CPU Speed SM1132SP wrong on Sub-Capacity z13.
TYPE115 34.200 MQMLOG enhanced with new variables, protection added.
TYPE115 34.272 Support for MQ SMF 115 Subtype 231 DSP/ADP/SSL/DNS
TYPE116 34.008 New Variables added to MQMACCTQ
TYPE117 34.103 Support for IBM Integ Bus V 90005 SMF 117 INCOMPAT
TYPE117 34.157 Support for SMF 117 Integration BUS V10 INCOMPATIBLE.
TYPE117 34.243 Support for SMF 117 Version 2 (INCOMPATIBLE) format.
TYPE119 34.168 Support for SMF 116 Subtype 6 Home IP Address segment
TYPE119 34.189 MXG 34.05 ONLY, INPUT EXCEEDED more than 3 Homeaddr.
TYPE119 34.213 Support for SMF 119 Subtype 81 Intrusion Detection.
TYPE119 34.252 TYP11950 dataset only contained first KEY.
TYPE120 34.055 Proper Support of 120 ST 9 TYP1209R/TYP1209N datasets
TYPE120 34.148 Support for ODM Version 8.8 SMF 120 subtype 100.
TYPE120 34.163 Support for WAS Liberty V16.0 SMF 120 Subtype 11.
TYPE120 34.170 Support for WebSphere Liberty Batch SMF 120 Subty 12.
TYPE123A 34.105 Support for SMF 123 Liberty z/OS Connect EE Audit.
TYPE124 34.187 Support for SMF 124 I/O Supervisor IOS (z/OS 2.2).
TYPE1415 34.224 Support for APAR OA50256 for TYPE1415/SMF14DSVER.
TYPE29 34.221 Support for SMF 29 IMS Java CPU and Garbage Collect
TYPE29 34.221 Support for new SMF Type 29 IMS JAVA/GC validated.
TYPE30 34.118 MXG created variable CPUZIPTM_CPUIFATM_INST wrong.
TYPE30 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE42 34.054 Variable SMF42LAN was not converted to EBCDIC.
TYPE42 34.070 I/O Connect Time S42CONNTM is calculated.
TYPE42 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE42 34.222 Support for APAR OA51097 for subtype 19 fields.
TYPE42 34.245 SMF 42 TYPE42L1 dataset misaligned at SMF42HUA.
TYPE60 34.056 TYPE 60 variable SMF60ELP misaligned.
TYPE6156 34.219 Support for SMF Type 65 GDGCOMPL/GDCNOEXT/GDGLIMIT
TYPE70 34.228 Support for APAR OA48688, ABSOLUTE MSU LPAR GROUP CAP
TYPE7072 34.010 TYPE72GO MSUxxxxx variables labeled/documented.
TYPE7072 34.072 R723DNST NOT EQUAL TO R723RTYP message eliminated.
TYPE7072 34.232 First 34.07. CRITICAL ARRAY EXCEEDED ERROR fixed.
TYPE7072 34.239 SMT Corrections to TYPE70PR "OTHER SYSTEM" LPARs.
TYPE71 34.043 New variables SMF71CPx,SMF714Kx,SMF71PLx were wrong.
TYPE72PD 34.111 New TYPE72PD RMF WLM POLICY DEFINITIONS dataset.
TYPE73 34.068 Support for SPLIT RMF 73 records, _S73 required.
TYPE74 34.073 Dataset TYPE749 (PCIE) is enhanced with new vars.
TYPE74 34.181 Defective BMC CMF type 74 subtype 4 SMF74ML=0 bypass.
TYPE74 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE74 34.223 Support for APAR OA49415 for SuperPAV support.
TYPE78 34.223 Support for APAR OA49415 for SuperPAV support.
TYPE79 34.214 Support for new variables in Sep 2016 SMF manual.
TYPE80A 34.086 Support for TYPE8069 R_PKISERV GENCERT event SMF 80.
TYPE80A 34.176 RACFTYPE=6 RACFEVNT=19 skipped segment message.
TYPE80A 34.178 Support for RACF 80 TOKDANAM new values.
TYPE80A 34.206 Support for Top Secret Release R15 & R16 (INCOMPAT).
TYPE80A 34.251 Support for TOP SECRET RDT Table decoding.
TYPE85 34.067 z/OS 2.2 OAM SMF 85 INPUT STATEMENT EXCEEDED fixed.
TYPE87 34.166 Support for SMF Type 87 Subtype 2 ENQ/DEQ records.
TYPE90A 34.214 Support for new subtypes 38 and 39 in SMF 90.
TYPE98 34.216 Support for SMF 98 High Freq Thruput Stats record.
TYPE99 34.194 Support for SMF 99 Subtype 1 Hardware Absolute CAP.
TYPEATF 34.041 Support for ATF V531 Enhanced Summarization Phase 2.
TYPEATF 34.180 Omegamon XE ATF times are now on local time zone.
TYPEBBMQ 34.026 Support for MVMQ PTF BPL2558, times are microseconds.
TYPEBBMQ 34.064 Circumvention BBMQ Short E6 records, datetimes fixed.
TYPEBVIR 34.217 BVIR301 and BVIR302 datasets were wrong, too few obs.
TYPECDHW 34.202 Support for Connect Direct Simultaneous Session CDHW
TYPECIMS 34.007 Correction for IMF 5100 incorrect values, no ABEND.
TYPEDB2 34.108 DB2 Sim Buff Pool DB2STSBP QBSP variables corrected.
TYPEDB2 34.229 Support for DB2 V12. (COMPATIBLE).
TYPEDB2 34.248 DB2 Netezza IDAA Q8STxxxx in new DB2NETZA dataset.
TYPEDB2 34.281 DB2 IDAA variable Q8STDSKU format/label corrected.
TYPEDCOL 34.042 Support for FLAG4 MegaByte format size variables.
TYPEDCOL 34.115 DCDTIMEC Data Set Create Time not populated if.
TYPEDVS 34.014 Support for Rocket Software DVS User SMF record.
TYPEEDGR 34.116 RMM datasets enhanced with SYSTEM and EDGRTIME.
TYPEHSM 34.002 New datetime and duration variables in HSMFSRST.
TYPEHSM 34.193 Invalid HSM VSR/DSR with '62'x vs 'S' protected.
TYPEIDML 34.282 Support for IDMS Log (INCOMPAT, third record).
TYPEIDMS 34.164 Support for IDMS Version 19 (INCOMPAT with R084146).
TYPEIMS 34.087 MXG 34.02, IMS 12.1, IMS 07 misalign, DLRAZAAP fixed.
TYPEIMS 34.091 Support for IMS Log 16x Sign On/Sign Off log record.
TYPEMVIP 34.186 Support for Mainview for IP RTIN 34x TAC9I220 dataset
TYPENDM 34.017 Support for NDM-CDI SE Session End record.
TYPEPKSZ 34.020 Support for PK-ZIP INCOMPATIBLE increase field length
TYPEPROS 34.215 Support for PRO/SMF (previously X37) Version 7.8.
TYPERACF 34.247 Support for RACF APAR OA43999 RACF UNLOAD database.
TYPERMFV 34.092 MXG 34.01-34.02. ZRBCPU variables CPCGRPxx wrong.
TYPERMFV 34.100 ZRBASI ASILPGSZ, ZRBGEI many GEIxxxxx corrected.
TYPERMFV 34.156 INVALID DATA for ASIQSCANxxx, incorrect informat.
TYPERMFV 34.192 RMF III variable GMTOFF kept in all ZRB datasets.
TYPESAMS 34.089 Support for SAMS VANTAGE User LSPOOLPO INCOMPAT.
TYPESTC 34.019 Corrections/enhancements for Oracle STC SMF record.
TYPESTC 34.081 Oracle/STC User SMF record GMTOFFTM "slightly" wrong
TYPESTC 34.237 New variables added to STCVSM11 dataset.
TYPESYSL 34.121 Formal support of SYSLOG with all normal MXG tokens.
TYPETHAL 34.261 Support for Thales Security Records with/wo subtype
TYPETMD2 34.275 Support for ASG/TMON for DB2 IDAA SA and SB records.
TYPETMO2 34.049 TMON V4.0 microsec/tod time change missed 15 vars.
TYPETMO2 34.195 TMON/CICS new vars TASZIPTM/TASELGTM recalc TASCPUTM.
TYPEVMXA 34.005 Support for zVM HIS (SMF 113) VXPRCMFC z/13 data.
TYPEVMXA 34.066 z/VM VXBYUSR enhanced, option to USER 8709 ABEND.
TYPEVMXA 34.080 Support for z/VM SMT MODE, caused BROKEN REC ERROR.
TYPEVMXA 34.085 Support for z/VM VXSYTEMP third section, plus more.
TYPEVMXA 34.099 zVM 6.3 circumvent, 5.20 HWCLEN=384 new PRCAPMCT=11.
TYPEVMXA 34.169 zVM HIS macros for PRCMFC PRCMFM now work correctly.
TYPEVMXA 34.175 zVM 6.3.16.1 inserted in PRCPUP, PROBABL DATA LOSS.
TYPEVMXA 34.249 z/VM Linux Appldata VXAPLSLM/SLN/SLP corrections.
TYPEVMXA 34.280 z/VM Linux Appl VXAPLSLM/N/P/0 deaccum corrected.
TYPEVMXA 34.280 z/VM VXBYUSR had some obs with negative values.
TYPEZCOS 34.241 Support for AutoSoftCapping Version V4 (COMPATIBLE).
UTILRMFI 34.006 UTILRMFI report was dropped accidentally in 33.024
VGETJESN 34.240 Hex zeros in JCTJOBID in SMF 42 ST 27 protected.
VGETOBS 34.001 OPTION CHARCODE caused ERROR: CHAR OPERAND.
VMXGALOC 34.160 Revised for Linux, case sensitive directory names.
VMXGALOC 34.253 UPCASE removed for BASExxx path for Linux casing.
VMXGCNFG 34.119 CPU Loop after program ended, if //SOURCLIB DD.
VMXGINIT 34.052 WPS ONLY, First 34.01, RUN: in VMXGINIT FAILS INIT.
VMXGSUM 34.137 New MXGSUMCLASS option can save CPU time, TEST IT!!
VMXGSUM 34.151 SYSLAST is now correctly set to last output dataset.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com.
Inverse chronological list of all Changes:
NEXTCHANGE
====== Changes thru 34.284 were in this MXG 34.34 dated Jan 3, 2017====
Change 34.284 Primarily used internally by MXG. If it was being used
VMXGOPTR to restore an option to its original setting but had not
Jan 2, 2017 been previously invoked to set the option and the option
required an = (LINESIZE=xxx) it failed lacking the name
of the option and the = so LINESIZE resolved to:
OPTIONS 132;
Change 34.283 -PDBAUDIT failed if the last "PDB" data library happened
PDBAUDIT to be Sequential Format (tape), with the error message:
Dec 31, 2016 WARNING: APPARENT SYMBOLIC REFERENCE LIBCOUNT NOT RES....
Jan 1, 2016 -Could also fail if zero LIBNAMES were selected, with an
error "INVALID OPTION 132".
Thanks to Steve Gear, Integrysgroup, USA.
Change 34.282 Support for IDMS Log records (INCOMPATIBLE, as a third
VMACIDML record per event was added with additional fields).
Dec 29, 2016 Only the IDMLOG02 TASK dataset, has been validated with
Jan 4, 2017 data records, but IDMLOG03 TRANSACTION dataset should be
valid. Unfortunately, there is no GMT offset value in the
log records, so you will need to set the value with
//SYSIN DD *
%LET MACKEEP= MACRO _GMTIDML -4 % ;
for the minus 4 hour GMT offset for US EST.
Thanks to Torstein Netland, CSC, NORWAY.
Change 34.281 IDAA variable Q8STDSKU is disk utilization not bytes, so
VMACDB2 the format and length were removed and the label changed.
Dec 27, 2016 And variables Q8STCCPU_64 Q8STWCPU_64 are also percents.
Jan 13, 2017
Thanks to Tim King, BCBSSC, USA.
Thanks to Terry Johnson, BCBSSC, USA.
====== Changes thru 34.280 were in this MXG 34.10 dated Dec 25, 2016====
Change 34.280 z/VM Linux Appl Datasets VXAPLSLM,SLN,SLP,SL0 deaccum now
VMACVMXA uses new SYNCCNT1=1 OR SYNCCNT2=1 variable's values to
Dec 18, 2016 recognize a reset in accumulated values has occurred. The
Dec 28, 2016 ancient MXG heuristic of a negative time delta to detect
a wrap of the accumulated field (plus first-dot tests)
is insufficient for these four datasets, and caused very
large values or negative values in some variables.
Also, the interval is deleted if SYNCCNT1 NE SYNCCNT2, as
that means the record was updated on the Linux side while
z/VM was still collecting the data, which could then be
inconsistent.
-Dataset VXBYUSR had observations with DELTATM=-9999 that
should not have been output, causing some negative values
in other variables.
Thanks to Graham Harris, RBS, ENGLAND.
Change 34.279 Documentation of ANCIENT z/OS, z/VM APAR OA35675 (2011).
TYPE7072 Support for z/OS under z/VM new RMF VMGUEST option with
Dec 18, 2016 APAR OA35675, populates the Partition Dispatch CPU Time
in two "simplified" Partition Data sections in TYPE 70
RMF records, one with LPARNAME='PHYSICAL' with the z/VM
CPU consumption (IBM RMF Reports LPARNAME *VMSYSTEM*),
and one with LPARNAME='VMSYSTEM' with the z/OS Partition
CPU Dispatch time. Note that SMF70ONT, Online Time is
NOT Populated. From z/VM, this bit on is STILFE.
-MXG Version 29 added variable VMSYSTEM=Y, true for Bit 5
in 2011, but only from the SMF Manual; it was a post by
Martin today that educated me to the actual impact!
Thanks to Martin Packer, IBM, EUROPE!!
====== Changes thru 34.278 were in this MXG 34.09 dated Dec 16, 2016====
Change 34.278 If you specified 0 OBS for 26J2 or 26J3 and did NOT
UTILBLDP specify SPINCNT=something then SPINCNT is set to 0 to
Dec 13, 2016 keep jobs from sitting in SPIN until the SPINCNT is
reached.
Change 34.277 New RMF III ASI fields in z/OS 2.2 suffixed with _LF are
VMACRMFV Long Floating point and with _S are Short Binary informat
Dec 9, 2016 but that was not known and they were incorrectly input.
Some of these fields contain (HATED!) accumulated values,
which have NEVER been in RMF III, and are hated because
the deaccumulation requires two more passes of the data.
But for the important CPU accumulated fields, there is
already an interval variable (e.g., ASICPUTA), so no
deaccumulation was previously necessary. But the higher
microsecond resolution of ASICPUTA_LF, records 20-40%
more CPU time than ASICPUTA, with 1 millisecond.
-However, the several fields that are accumulated are not
always monotonically increasing, so further analysis is
in progress and this text will be revised and MXG will
provide optional deaccumulation if adequate heuristics
can be tested.
Change 34.276 ASCII only, BLDSMPDB would fail to create a weekly and/or
BLDSMPDB monthly PDB if a prior error has set OBS=0, with no clue.
Dec 8, 2016 Now, BLDSMPDB will tell you there were zero observations,
in a WARNING message.
-WTD and MTD processing may have gone to the incorrect
directory - ASCII only and only with AUTOALOC=YES
-New parameter ERASESPIN will delete everything in the
SPIN libname when set to yes - primarily for MXG support
-Checks added to ensure that PDB SPIN TREND WEEK WTD MONTH
and MTD libnames are allocated as needed by the other
parameters used. In the case of WTD/MTD if they are not
found but WEEK/MONTH are a warning is issued and the
libnames that were found are substitute
Change 34.275 Support for ASG/TMON for DB2 IDAA SA and SB records
EXTMD2SA creates three new datasets:
EXTMD2SB DDDDDD DATASET DESCRIPTION
EXTMD2SX TMD2SA TMD2SA IDAA SA Summary
IMACTMD2 TMD2SB TMD2SB IDAA SB Summary
VMACTMD2 TMD2SX TMD2SBD IDAA SB Detail
VMXGINIT
Dec 12 2016
Thanks to Daniel Hamiel, NedBank, SOUTH AFRICA.
Thanks to Mike Lotter, NedBank, SOUTH AFRICA.
Change 34.274 Support for CICS/TS 5.4 Beta 6 INCOMPAT, new CICSTRAN
EXCICMQR fields inserted.
FORMATS -New variables added to CICSTRAN:
IMAC110 ASFREECT='EXEC CICS*FREE CHILD*COUNT'
UTILEXCL ASFTCHCT='EXEC CICS*FETCH*COMMANDS'
VMAC110 ASFTCHCN='ASYNC API*FETCH*WAIT*COUNT'
VMXGINIT ASFTCHTM='ASYNC API*FETCH*WAIT*DURATION'
Dec 15, 2016 ASNATCN='ASYNC API*RUN DELAYEDCOUNT'
ASRMATTM='ASYNC API*RUN DELAYED*DURATION'
ASRUNCT ='EXEC CICS*RUN*TRANSID*COUNT'
ASTOTCT ='ASYNC API*COMMANDS*COUNT'
PTCOUNT ='PREVIOUS*TRANSACTION*COUNT'
PTSTART ='PREVIOUS*TRANSACTION*START*DATETIME'
PTTRAN ='PREVIOUS*TRANSACTION*TRANSID'
PTTRANNO='PREVIOUS*TRANSACTION*sequence*number'
-New CICMQR MQ Monitor statistics dataset from STID=148
is created.
Change 34.273 Internal restructure of ASMRMFV for possible performance
ADOCRMFV improvements and better design for maintenance.
ASMRMFV -Mitigate Store In Instruction Stream (SIIS) conditions
Dec 6, 2016 and other improvements.
-Updating data imbedded in an instruction stream or
modifying instructions results in additional CPU overhead
maintaining the data and instruction caches.
-ASMRMFV is changed to isolate and align all data used in
subroutines on 256 byte cache boundary lines. This
increases the size of the ASMRMFV load module about 7% to
about 272K.
-IBM Service Call macros for OPEN, CLOSE, RDJFCB, and so
on are split into Execute and List forms because standard
macro expansions update parameters in the instruction
stream.
-Limited volume testing showed about a 1% CPU Time
reduction that may vary in actual production use.
-The MODCB Service Call function is no longer used to
alter the VSAM ACB and RPL control blocks. ASMRMFV only
makes trivial changes to these during processing and
Execute and List forms of MODCB generated a lot of
instructions.
-The MODCBERR subroutine used to process MODCB errors
is deleted.
Change 34.272 Support for the MQ SMF 115 Subtype 231 DSP/ADP/SSL/DNS
EXTY115A segments, each of which creates new dataset:
EXTY115D DDDDDD DATASET DESCRIPTION
EXTY115L TY115D MQMDSP MQM DISPATCHER
EXTY115N TY115A MQMADP MQM ADAPTER
IMAC115 TY115L MQMSSL MQM SSL
VMAC115 TY115N MQMDNS MQM DNS
VMXGINIT Their unique variables that were previously incorrectly
Dec 2, 2016 kept in dataset MQMCHIN have been dropped.
-Each segment contains QCTCPTM and QCTELPT, CPU & Elapsed
time; many observations have CPU Time slightly larger
than Elapsed time (largest 15 with QCTCPTM 364 seconds).
IBM Explains:
CPU start and end times are taken directly from the
TCB to minimize performance impact. This field is only
updated when the TCB is undispatched, so if the TCB
has been dispatched for a while when the TCB CPU time
is taken at the start of the request, this value
could be a bit low, which could mean that the TCB CPU
interval calculation returns a value which is slightly
high. This is as-designed, and the data is still
useful. When elapsed time and CPU time are similar,
or when CPU time appears greater than elapsed time,
the task is getting all the CPU it needs, and you can
interpret elapsed time as an approximation for CPU
time. When elapsed time is significantly larger than
CPU time, then the task is having to wait for CPU or
for some internal wait, and that difference may be of
interest.
-APAR PI46585 is required to correct negative or invalid
values in QCTWTTM, QCTLSTM, and QCXTLGTM in these new
ADP/DSP/SSL/DNP datasets.
-The subtype 215 record replaced the subtype 2 record when
OPMODE(NEWFUNC) is specified; the buffer manager data
that was output in dataset MQMBUFER is now instead output
in dataset TY115215.
Thanks to Carol Arnold, Brown Brothers Harriman, USA.
Thanks to Kevin Colish, Brown Brothers Harriman, USA
Thanks to Richard Harran, IBM MQ Support, ENGLAND.
Change 34.271 New ANALDCO1 provides simple DCOLLECT reporting, using
ANALDCO1 the datasets created by JCLDAYDS. See examples in the
Nov 30, 2016 comments.
Change 34.270 -With PDB=RAWDATA and PDBOUT=WORK, a dataset not found was
VMXGDSN created when summarizing data that had been cleaned up
Nov 30,2016 prior to running the code to read tape data.
-Enhanced to allow you to suppress TAPEDATE by using new
TAPEDATA=null string.
====== Changes thru 34.269 were in this MXG 34.08 dated Nov 25, 2016====
Change 34.269 Support for INCOMPATIBLE TPX PTF R085512 and R085513 that
VMACTPX increased Port Number from 4 to 5 digits.
Nov 23, 2016
Thanks to Johanne Goulet, Government of Quebec, CANADA.
Thanks to Christian Roy, Government of Quebec, CANADA.
Change 34.268 Truncated POEX record with only 54 bytes caused STOPOVER.
VMACPOEX Now, the OFFSET just read is compared with LENGTH and the
Nov 22, 2016 first bad record is reported in the log and all deleted.
Thanks to Scott Wiig, USBank, USA.
Change 34.267 Support for RACF OIMID Token creates TOKOIMIC variable
VMAC80A and support for RACF LTL Token creates TOKMLTL variable
Nov 21, 2016 in TYPE80TK dataset.
Thanks to Mark Tomlinson, Lloydsbanking, ENGLAND.
Change 34.266 WPS Only. %MACRO VMXGPRNT invocation with text on col 72
ANAL113 caused error with WPS 3.00 (03.00.02.00.29316 but was
Nov 20, 2016 parsed correctly with WPS 3.02 (03.00.03.00.016221).
The error had ASIC03 for what should have been BASIC03.
Shortening the line did not eliminate the error.
Change 34.265 ANALDB2R could require //PDB DD because updates to READB2
ANALDB2R for DB2SBP and DB2NET had incorrect tokens that should be
READDB2 WORK. MXG code is now corrected, but circumvent with:
Nov 20, 2016 //PDB DD UNIT=SYSDA,SPACE=(CYL,(500,500),DISP=(,PASS)
on temp DASD, since they were not intended to be kept.
Thanks to John Ordman, Wipro, USA.
Change 34.264 -The section of code creating the prior TREND database was
VMXGALOC incorrect and failed to create the directory on the first
Nov 23, 2016 VMXGALOC execution resulting in an error.
-A FORCEDAY test did not have both side's UPCASEd.
Thanks to Job Varkey, VERISK, USA.
Thanks to Patricia J. Jones, DST, USA.
Change 34.263 SMF 6 CA/Dispatch records were increased to LENGTH=371,
IMACCADI adding two new fields CADIDES2 CADICHAR INCOMPATIBLY due
VMAC6 to MXG tests for LENGTH=347 to detect the V10 vs V11 data
Nov 18, 2016 records; those tests for LENGTH and SMF6LEN are unneeded
now and are removed.
Thanks to Glen Bowman, Wakefern, USA.
Change 34.262 -Support for z/OS 2.1+ PARMDD= EXEC statement JCL
ADOCRMFV parameter, enhanced SYSIN DD support, other improvements
ASMRMFV and fixes.
Nov 19, 2016 -PARMDD= is a new JCL parameter available with z/OS 2.1
and up. PARMDD= specifies a ddname of a file containing
parameters to be passed to the invoked program coded with
PGM=.
-If the ddname does not exist within the JCL step a
JCL error occurs with the message:
IEF689I JOB jobname FAILED PARMDD DID NOT OPEN
-The ddname may reference a physical sequential file,
PDS/PDSE member, or subsystem DD * or DD DATA data set.
-Unlike the 100 character PARM= parameter limit the
PARMDD= file may contain up to 32760 characters after
data assembly. If this limit is exceeded a JCL error
occurs.
-During data assembly of the PARMDD=ddname file trailing
blanks are stripped from each record and entirely blank
records are discarded by z/OS.
-Also during data assembly PARMDD=ddname fixed records are
checked for sequence numbers and also stripped if found.
There is no sequence number checking for variable
records.
-Any data stripped from a PARMDD=ddname file does NOT
count towards the 32760 character limit.
-The PARM= and PARMDD= parameters on the JCL EXEC
statement are mutually exclusive. If both are coded,
a JCL error occurs with message:
IEFC009I KEYWORD PARMDD IS MUTUALLY EXCLUSIVE WITH
KEYWORD PARM ON THE EXEC STATEMENT
-The PARMDD= parameter supports any RECFM of F, FB, V, or
VB. RECFM=U and Spanned records are not supported.
-The PARMDD=ddname file may have an LRECL up to 32760 for
fixed length records or 32756 for variable length
records.
-The PARMDD=ddname file may be concatenated with other DDs
in accord with usual concatenation rules.
-These are all valid examples of PARMDD=ddname usage:
//stepname EXEC PGM=ASMRMFV,PARMDD=ddname
//ddname DD DISP=SHR,DSNAME=dsname
//stepname EXEC PGM=ASMRMFV,PARMDD=ddname
//ddname DD DISP=SHR,DSNAME=dsname(member)
//stepname EXEC PGM=ASMRMFV,PARMDD=ddname
//ddname DD *
//stepname EXEC PGM=ASMRMFV,PARMDD=ddname
//ddname DD DATA
-For further details see Section 29 "PARMDD=ddname
Support" in the ASMRMFV source or ADOCRMFV members.
-Similar to PARMDD=ddname usage the ASMRMFV SYSIN DD (or
alternate ddname) now supports RECFM FB, F, VB, or V.
RECFM=U and Spanned records are not supported. Prior to
this change only RECFM=FB or RECFM=F was allowed.
-The ASMRMFV SYSIN DD (or alternate ddname) LRECL may
range up to 32760 for fixed length records or 32756 for
variable length records. Prior to this change only
LRECL=80 was allowed.
-A new built-in alternate ddname for SYSIN named SYSINA
may be provided in JCL and will be used instead of SYSIN
if found. It is not necessary to code the SYSIN=SYSINA
ASMRMFV parameter to use this alternate. However, any
other alternate ddnames require SYSIN= in the PARM= field
or PARMDD=ddname file.
-The order of ddname selection precedence for SYSIN is::
1) The SYSIN=ddname parameter in either the JCL PARM=
field or PARMDD=ddname file if present.
2) The //SYSINA DD in JCL if present.
3) The //SYSIN DD in JCL if present.
-A new built-in alternate ddname for SYSPRINT named
SYSPRINA may be provided in JCL and will be used instead
of SYSPRINT if found. If both SYSPRINA and SYSPRINT are
present SYSPRINT is ignored. There is NO SYSPRINT=ddname
parameter because the ASMRMFV log must be opened well
before any parm processing.
-When processing a PARMDD=ddname or SYSIN (or alternate)
files with data exceeding 100 characters in length, the
data is displayed in the existing RMFV002I message in 100
character sections.
-The first and last RMFV002I sections are always shown,
but any intermediate blank sections are not displayed.
The rightmost column for each section display shows the
number of characters remaining to be shown.
-SYSTSIN and SYSPRINA are added reserved ddnames when
SYSIN=ddname is specified.
-RECFM and LRECL are validated for all SYSIN (or
alternate) data sets.
-After MXG Change 34.226 the SYSIN OPEN subroutine
incorrectly attempts to obtain the DSCB for a //SYSIN DD
DUMMY statement. This results in Abend U0998 Reason Code
0018 and has been corrected.
-MXG Change 34.226 incorrectly altered VSAM TESTCB macro
results test for an VSAM RRDS type data set causing a
VSAM KSDS to be accepted as valid as an RMF III data set.
This caused an I/O error on the first read with Abend
U0998 Reason Code 0029 and has been corrected.
-RMFV008I DATASET LAST OPEN and RMFV009I ORIGIN messages
can be missing from ASMRMFV log for some RMF III data
sets after MXG Change 34.133 and this is also corrected.
-Message RMFV056S is now issued when PATTERR=ABEND instead
of RMFV056E as this is considered a severe error.
-SYSIN=ddname processing now correctly issues message
RMFV004E instead of RMFV056E.
-Incorrect test for '*/' end of imbedded comment string
fixed.
-Expand RMFV005E message to contain first 100 characters
of a bad parameter up from 80 as maximum that will fit
within the 126 character WTO text limit. If the
parameter in error exceeds 100 characters only the first
100 characters are shown.
-Correct SRST search handling for parameter strings
exceeding 256 bytes in length.
-Add short problem description text to RMFV005E message
if displayed parameter length will allow.
-Change '=' character search in keyword parameter
processing in PARMS subroutine to use SRST instruction
for better performance.
-FINAL subroutine setting Return Code 0016 when only
warnings for RED Invalid Processor and SPG Internal
error exist is fixed to issue Return Code 0008.
-RMFV018S SYNAD I/O error message loop can result after a
subsystem DD * data set for SYSIN (or an alternate)
specifies an LRECL other than 80 in JCL. z/OS apparently
continues to call the SYNAD routine for the same error
repeatedly with a WRONG LENGTH RECORD indication. The
problem has been circumvented.
-RMFV007S message was not always showing Reason Code of
blanks when the Reason Code is not available for the
service in error.
-Documentation Section 17 is retitled to "U0998 Abend
Reason Codes".
-Documentation Section 19 "Output LRECL" is retitled as
"Input and Output" LRECL.
-Former documentation Section 29 Summary is now Section
30.
-Former documentation Section 30 Bibliography is now
Section 31.
-New documentation Section Section 29 "PARMDD=ddname
Support" added.
-Updated following documentation sections for alternate
SYSIN/SYSPRINT and PARMDD=ddname support:
Section 3 "Execution JCL"
Section 5 "Input Data Selection Parameters"
Section 6 "Report Control Parameters"
Section 9 "JCL and SYSIN Parameter Usage"
Section 10 "Parameter Syntax Rules"
Section 11 "Parameter Coding Examples"
Section 12 "Messages"
Section 15 "Program and IBM Limitations"
Change 34.261 Support for Thales Security Record Version x.y INCOMPAT.
VMACTHAL This update supports records with and without subtypes.
Nov 17, 2016 For mapping by record ID, you must define these macros
with YOUR SMF record Ids, either in your IMACKEEP member
or in a %LET MACKEEP= argument in your //SYSIN:
%LET MACKEEP=
%QUOTE(
MACRO _IDTHALS 195 % /*SMF ID FOR SUMMARY RECORD*/
MACRO _IDTHALN 196 % /*SMF ID FOR SNAPSHOT RECORD*/
MACRO _IDTHALC 199 % /*SMF ID FOR CDS RECORD*/
MACRO _IDTHALE 198 % /*SMF ID FOR EXCEPTION RECORD*/
MACRO _IDTHALV 197 % /*SMF ID FOR SECURITY RECORD*/
MACRO _IDTHALR 194 % /*SMF ID FOR RESPONSE*/
);
To process records with SUBTYPES, you need these macros
either in IMACKEEP or with %LET MACKEEP= in //SYSIN:
%LET MACKEEP=
%QUOTE(
MACRO _IDTHALX 200 % /*SMF RECORD ID FOR NO SUBTYPES*/
MACRO _SUBTHAL
IF SUBTYPE GT . THEN DO;
IF SUBTYPE=0 THEN ID=_IDTHALC;
ELSE IF SUBTYPE=4 THEN ID=_IDTHALE;
ELSE IF SUBTYPE=8 THEN ID=_IDTHALV;
ELSE IF SUBTYPE=12 THEN ID=_IDTHALS;
ELSE IF SUBTYPE=16 THEN ID=_IDTHALN;
ELSE IF SUBTYPE=32 THEN ID=_IDTHALR;
END;
%
);
Thanks to Randy Schlueter, FirstData, USA.
Change 34.260 Support for SMF 110 Subtype 2 STID=32 creates new dataset
EXCICLDY DDDDDD DATASET DESCRIPTION
FORMATS CICLDY CICLDY CICS LOADER PRIVATE LIBRARY
IMAC110 that is added in CICS/TS 5.4 OPEN BETA.
VMAC110
VMXGINIT
Nov 18, 2016
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 34.259 Three JCL Test examples still had Includes of TYPSQAPM
JCLTEST9 which was replaced by TYPSQACS for the AS/400.
JCLTESS9
JCLTES92
Nov 14, 2016
Thanks to Earl Kline, Luminex, USA.
Change 34.258 Variable SMT_CORE_FLAG='LPARBUSY*VALID?' with value Y/N
VMAC7072 is now kept in TYPE70EN dataset.
Nov 14, 2016
Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.
Change 34.257 Support for TMON/CICS Version 4.1 (COMPATIBLE, no change
EXMONCSE to the existing MXG datasets) and support for the CS CTG
EXMONCSW records create three new datasets:
EXMONCSX DDDDDD DATASET DESCRIPTION
IMACTMO2 TMOCSE MONICSE LANDMARK CS-CSE SEGMENT
VMACTMO2 TMOCSW MONICSW LANDMARK CS-CSW SEGMENT
VMXGINIT TMOCSX MONICSX LANDMARK CS-CSX SEGMENT
Nov 13, 2016
Change 34.256 -DB2STATS variables QISEDPSC QISEDPSF QISEDPSL QISEDPSM
Many QVASBRPT QVASBRP QVASACEB QVASACEF QJSTDPXN QJSTDPXT are
Nov 11, 2016 kept and labeled and QWHCJOBSTEP is labeled.
-TYPE117 variables SM117NOR,SM117RSQ are labeled.
-TYPEIAM variables IAMACFL0-7,IAMACIN0-1,IAMCRIN0-8 and
IAMBOPCR IAMBUFCR IAMCOREO IAMCOREX IAMDDL IAMDSNL and
IAMRLSFP are labeled.
-TYPE42 variables SMF42FSH/FSI/FSJ/FSK correctly labeled.
-TYPE64 variable SMF64UTY extra asterisk removed in label.
-TYPE71 variables SMF71C3A/CPM/CPX extra asterisk removed.
-TYPE73 variables SMF73HEN and EXTENDSEG are now labeled.
-TYPE74 variables R748RAI is labeled in TYPE748R dataset.
-TYPE99 variables S99EE_CP_CHIPID S99EE_CP-BOOKID labeled.
Thanks to Chris Weston, SAS ITRM, USA.
Change 34.255 The z13 Topology Report had a typo Z!3 instead of Z13 and
ANAL9914 variable SYSTEM was added to the second report.
Nov 10, 2016
Thanks to Trevor Holland, ANZ, AUSTRALIA.
Change 34.254 CICS Dispatcher CICDS dataset variable DSGSRBT, SRB time
CICINTRV is now kept in the CICINTRV dataset.
Nov 9, 2016
Thanks to Randy Schlueter, FirstData, USA.
Change 34.253 Change 34.160 removed UPCASE function for BASExxx path
VMXGALOC names, but that segment was inadvertently deleted and is
Nov 9, 2016 restored. Impacted only Linux due to case sensitivity.
Change 34.252 SMF 119 Subtype 50 Dataset NUM11905 is NOT the count of
VMAC119 KEY segments, but is ALWAYS One, causing MXG to output
Nov 8, 2016 the first KEY. (And LEN11905 is the TOTAL length of all
KEY segments plus the 4 bytes for LEN/KEY itself).
The number of KEY segments is NOT provided, but MXG now
uses LENLEFT to find and INPUT and output to TYP11950 for
each KEY.
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
Thanks to Ronald Kristel, Rabobank, THE NETHERLANDS.
Change 34.251 SMF 80 Top Secret records, format $MG080TS maps all of
FORMATS RDT table entries for variable TSFLCLAS.
VMAC80A Member VMAC80A has the SAS program in comments to update
Nov 9, 2016 the $MG080TS table.
Nov 15, 2016 Variable TSRESNAME contains the Resource Name.
Dec 6, 2016
Change 34.250 SMF 120 Subtype 100 ODM records had the order of two
VMAC120 variables, SM120RULEXFSUM/SM120RULEXCALLS reversed.
Nov 2, 2016
Thanks to Paul Volpi, UHC, USA.
Change 34.249 z/VM Linux Appldata datasets VXAPLSLM,VXAPLSLN,VXAPLSLP
EOAPLSLM had occasional large values; the logic to de-accumulate
EOAPLSLN was not reset for FIRST.VMDUSER. For these datasets that
EOAPLSLP are written for each interval for each user whether or
VMACVMXA not any resources were consumed, MXG only outputs an obs
Nov 1, 2016 when an interval had activity, and now the DURATM will
contain the actual duration since the last interval that
was output.
Thanks to Graham Harris, RBS, ENGLAND.
Change 34.248 DB2 Netezza IDAA Q8STxxxx variables were incorrectly
CLEARDB2 output in DB2STAT1/DB2STATS, which is a one instance per
EXDB2NET interval dataset, but there can be multiple Q8ST segments
IMACDB2 per interval (only the first segment was output).
READDB2 Now, ALL Q8STxxxx variables in DB2STATS/DB2STAT1 are set
VMACDB2 to a missing value, and the new DB2NETZA is created with
VMXGINIT one observation for each Q8ST segment.
Nov 1, 2016
Thanks to Erling Andersen, SMT, DENMARK.
Change 34.247 Support for APAR OA43999 RACF Database UNLOAD adds these
VMACRACF new variables to RACF0200 dataset:
Oct 28, 2016 USBD_PWD_ALG='ALGORITHM*USED TO*PROTECT*PASSWORD*/.
USBD_LEG_PWDHIST_CT='LEGACY*PASSWORD*HISTORY*ENTRIES*/
USBD_XPW_PWDHIST_CT='KDFAES*PASSWORD*HISTORY*ENTRIES*/
USBD_PHR_ALG='ALGORITHM*USED TO*PROTECT*PASSPHRASE*/.
USBD_LEG_PHRHIST_CT='LEGACY*PASSPHRASE*HISTRY*ENTRIES*/
USBD_XPW_PHRHIST_CT='KDFAES*PASSPHRASE*HISTRY*ENTRIES*/
and these overlooked RACF0200 variables are now created:
PWDENV_EXISTS='PASSWORD*PKCS#7*ENVELOPE*CREATED?'
PWD_ASIS ='EVALUATE*PASSWORD*ENTERED*CASD?'
PHRDATE ='EVALUATE*PASSWORD*ENTERED*CASD?'
PHRGEN ='PASSPHRASE*GENERATION*NUMBER'
CERT_SEQN ='PASSPHRASE*GENERATION*NUMBER'
Dataset RACF0560 missing values messages eliminated .
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 34.246 RMF III dataset ZRBASI variable ASIDP did not exist in
VMACRMFV z/OS 1.13 nor z/OS 2.1, but the MXG test for ASIVERG3
Oct 27, 2016 used GE '16'x, causing ASIDP to contain characters. IBM
didn't document that the ASI record version was changed
to '1A'x (discovered only in 2.2 data records). Now,
ASIDP is missing in 1.13 or 2.1 and populated in 2.2.
Thanks to Randy Hewitt, HPE Enterprise Services
Change 34.245 MXG 33.08-34.07. SMF 42 dataset TYPE42L1 had misaligned
VMAC42 fields starting with SMF42HUA, causing these variables
Oct 27, 2016 to be wrong: SMF42HUA-SMF42HUG, SMF42HCA-SMF42HCX and
and SMF42HEH-SMF42HEK.
Thanks to Ann Knapik, Progressive Insurance, USA.
Thanks to David Buckmiller, Progressive Insurance, USA.
Thanks to William Keezer, Progressive Insurance, USA.
Thanks to Chris Weston, SAS ITRM, USA.
Change 34.244 A large number of regions could cause ARRAY EXCEEDED
UTILEXCL errors and/or invalid DCN/DRL test values in IMACEXCL if
Nov 9, 2016 an existing PDB.CICSDICT was appended with dictionary
Dec 14, 2016 records with the same SMF times. The MAX NREC value is
now created from PDB.CICSDICT and used for the new NREC
to separate those identical records.
-The Nov 9 change increased arrays from 1999 to 2999 but
the correction eliminated the need for the increase, and
on site encountered a record too long to sort with the
Host sort on z/OS; using the SAS Sort circumvented but
the arrays were reset to 1999 on Dec 14.
Thanks to Erling Andersen, SMT, DENMARK.
Change 34.243 Support for SMF 117 IBM Integration Bus Version 2 format
VMAC117 record (INCOMPATIBLE) that inserted two 26-byte datetime
Oct 22, 2016 fields that do NOT match the existing start/end times.
IBM Support is being contacted.
Change 34.242 If you specified multiple datasets in the INDATA= and
VMXGSUM one of those datasets was also the OUTDATA= and there
Oct 22, 2016 was no OUTCODE= specified AND YOU had told VMXGSUM to
use CLASSNWAY rather than a BY, VMXGSUM would fail with
an error message that you could not open the output
dataset because it was part of SASDSVX. Now if VMXGSUM
sees that the INDATA is not the same as the OUTDATA but
the OUTDATA is part of the INDATA and the length of
OUTCODE is 0 it turns off CLASSNWAY.
Change 34.241 Support for AutoSoftCapping Version V4 (COMPATIBLE) adds
VMACZCOS -Dataset ZCOS01 New Variables
Oct 21, 2016 ZCOS01CMAX='CPCMAX'
ZCOS01CMIN='CPCMIN'
-Dataset ZCOS02 New Variables
ZCOS02PMAX='MSUMAX'
ZCOS02PMIN='MSUMIN'
-Dataset ZCOS04CP New Variables
ZCOS04CMAX='CPCMAX'
ZCOS04CMIN='CPCMIN'
-Dataset ZCOS04GP New Variables
ZCOS04MODE='MODE*MESSAGES*ACTIVE*REPORT?'
-Dataset ZCOS04PL New Variables
ZCOS04ACAP='ABSOLUTE*CAP*TO SET'
-These subtype 4 variables are no longer available and are
blank:
ZCOS04CCAP ZCOS04CAIP ZCOS04CPIP ZCOS04PAIP
ZCOS04PORT ZCOS04CFAM ZCOS04CMOD ZCOS04CSID
Change 34.240 New SMF 42 Subtype 27 had JCTJOBID containing HEX zeros
VGETJESN which VGETJESN did not like, printing WARNING TYPETASK
Oct 19, 2016 NOT DECODED. TEST for nulls in JCTJOBID and SUBSYS of
'SMS' protects this subtype and possible future ones.
Thanks to Joe Babcock, General Motors, USA.
Change 34.239 TYPE70PR data for "OTHER SYSTEM" LPARs could have wrong
VMAC7072 LCPUADDR/SMF70CIN values, which could impact the Dispatch
Oct 20, 2016 (CPU) time and other fields in ASUMCELP/ASUMCEC datasets,
if "THIS SYSTEM" is in SMT MODE, but ONLY if there were
NO type 70 records for this "OTHER SYSTEM". Each RMF 70.
record has the details for THIS SYSTEM (70) and for THIS
LPAR (70PR), but only incomplete data in TYPE70PR for
each of the "OTHER LPARs" on the CEC this LPAR reports.
For ASUMCELP/ASUMCEC/TYPE70PR to be perfect, you must
read SMF 70 records for ALL SYSTEMS, so there will be a
"THIS SYSTEM" obs for every LPAR with complete data, and
if you do your own reporting from PDB.TYPE70PR you then
must select the "THIS SYSTEM" obs in TYPE70PR using:
IF PARTISHN=LPARNUM OR LPARNAME='PHYSICAL';
When you don't have 70s for all LPARS, the PDB.ASUMCELP
dataset has only "OTHER SYSTEM" incomplete data, where
these variables always have missing values:
SMF70LAC SMF70PAT SMF70WTS SMF70WTU SMF70WTI SMF70WLA
and where these variables have incorrect values:
LPARCPUS LPARDUR SMF70ONT LPCTBY LPCTOV SMF70WST
PCTZIPBY ZIPCPUS ZIPUPTM ZIPPATTM ZIPWSTTM.
Variable PARTISHN was not kept in PDB.ASUMCELP, but to
select only the "THIS SYSTEM" from PDB.ASUMCELP, use
IF SMF70PAT GT . OR ZIPPATTM GT .;
-Note that in the ASUMCELP dataset, MXG's NRCPUS should be
the number of CP engines ONLINE AND NOT PARKED, the true
capacity available, in the "THIS SYSTEM" LPAR obs. But in
"OTHER SYSTEM" obs, NRCPUS is the number of ONLINE CPs,
because the Parked time is not in the OTHER SYSTEM data.
(In RMF Partition Reports, IBM only reads THIS SYSTEM
so they have to use the ONLINE count, incorrectly,
to calculate the LPAR CPU utilization.)
-ARRAY statements with braces changed to parenthesis to
avoid character translation issues from ASCII to EBCDIC.
Thanks to Peter Sisak, T-SYSTEMS, GERMANY.
Thanks to Gabor Markon, T-SYSTEMS, GERMANY.
Thanks to Lorinc Homor, T-SYSTEMS, GERMANY.
Change 34.238 Example RMF III CPC data report.
ANAL3CPC
Oct 19, 2016
Change 34.237 New variables added to STCVSM11 dataset:
VMACSTC STC11NHW='BYTES*WRITTEN*HOST*INTERFACE'
Oct 12, 2016 STC11NHR='BYTES*WRITTEN*RTD*INTERFACE'
STC11NRR='BYTES*WRITTEN*IP*INTERFACE'
STC11NRW='BYTES*READ*HOST*INTERFACE'
STC11NIR='BYTES*READ*HTD*INTERFACE'
See Change 36.084 which corrected these variables.
Change 34.236 -If you have multiple SYSPLEX values on a single CEC or
VMXG70PR multiple capacity groups then ASUM70LP/ASUMCELP could
Oct 12, 2016 have invalid value unless you read all of the data from
all of the LPARs involved in the CEC. VMXG70PR now will
detect these conditions, WARN you about them and drop
the observations that are bad. There are two distinct
cases involved.
-If the LPAR is not part of the same plex as the system
that wrote the 70PR record then that OBS is dropped since
the weights will reflect the weights from the LPAR that
created the TYPE70PR record.
-If the LPAR is not found in the TYPE70 data you will get
a WARNING that there is missing data and some may be
erroneous for those LPARs that are missing but the OBS
are kept.
Change 34.235 Cosmetic. Variables DSGNAME and DVLSTGRP had '00'x pad
VMACDCOL characters if the name was less than eight bytes that are
Oct 11, 2016 now changed to blanks, and variable DSGCSMSS is labeled.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 34.234 MQ Series TYPE116 variable WQUSECNT, USE_COUNT, can be a
VMAC116 negative value (-1) to represent a CLOSE with (+1) OPEN,
Oct 11, 2016 so the INFORMAT &IB.4. is now used instead of &PIB.4.
Oct 19, 2016 Variable WTASPRCT is now correctly divided by 4096.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 34.233 TYPEXCOM format MGXCMST was not found due to a blank in
FORMATS the VALUE statement.
Oct 10, 2016
Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.
======= Changes thru 34.232 were in this MXG 34.07 dated Oct 7, 2016===
Change 34.232 MXG 34.07 first iteration ERROR:ARRAY SUBSCRIPT OUT OF
VMAC7072 RANGE due to insufficient testing with enough data in
Oct 7, 2016 the TYPE70 Processing. My apology.
Thanks to Robert B. Richards, OPM, USA.
Change 34.231 MXG 34.07 first iteration lost an "@;" causing STOPOVER.
VMAC87 Datetimestamps are now converted to local, $CHARx fields
Oct 6, 2016 fields are properly $HEXxx formatted and SMF70DUR valid.
Thanks to Keith McWhorter,IBM Global Technology Services, USA.
======= Changes thru 34.230 were in this MXG 34.07 dated Oct 5, 2016===
Change 34.230 Corrections for CDHW support, INVALID DATA messages from.
VMACCDHW unprotected PD and PK fields.
Oct 5, 2016 -Oct 24. The INPUT of JULDATE was deleted causing missing
Oct 24, 2016 and/or wrong values.
Change 34.229 Support for DB2 V12 QWHS_MOD_LVL,_REC_INCOMPAT,REC_COMPAT
VMACDB2H variables INPUT in DB2 Header but not kept, and adjacent
VMACDB2 variable QWHCJOBSTEP that is kept, only in DB2ACCT.
VMAC102 -New variables added to DB2STATS:
Oct 5, 2016 Q9STCTDA='DISPLAY*ACCEL*COMMANDS'
Q9STCTSA='START*ACCEL*COMMANDS'
Q9STCTXA='STOP*ACCEL*COMMANDS'
Q9STLEN altered to match data, 220 read, Q9STLEN=256.
-New Contiguous Buffer Pool variables in DB2STATB
QBSTAGET='OVERFLOW*TOTAL*RANDOM*GETPAGES'
QBSTASGE='OVERFLOW*TOTAL*SEQUENTIAL*GETPAGES'
QBSTASYN='OVERFLOW*TOTAL*SYNC READ*RANDOMS'
QBSTASSE='OVERFLOW*TOTAL*SYNC READ*SEQUENTIAL'
-QJSTLEN test changed to 256 from 268, +116 VS avail128.
-LENQISE test GE 232 changed from 32.
-New variables in T102S053 and T102S058:
QW0053SECTN='RDI*SECTION*NUMBER'
QW0058SECTN='RDI*SECTION*NUMBER'
-New variables in T102S199, microsecond resolution.
QW0199S1='AVERAGE*SYNC*I/O*DELAY'
QW0199S2='MAXIMUM*SYNC*I/O*DELAY'
QW0199A1='AVERAGE*ASYNC*I/O*DELAY'
QW0199A1='MAXIMUM*ASYNC*I/O*DELAY'
-Five new DSNDQXST variables are kept in DB2ACCT and in
DB2STATS:
QXREFTBL ='REFRESH TABLES'
QXTRNOWN ='TRANSFER*OWNERSHIP*AVAILABLE'
QXRSDMAD ='DM NOT CALLED RAI PREDETERMINE'
QXR1BOAD ='FETCHED ONE BLOCK AN NEVER MORE '
QXSTSFND ='PREPARE SATISFIED FROM SYSDYNQRY'
-New fields are added to the end of QW0018 segment
QW0018SK='DATA ROWS SKIPPED*INCOMPATIBLE*LOCK HELD'
QW0018FI='DATA ROWS INSERTED*VIA*FAST INSERT'
QW0018FS='DATA ROWS*COULD NOT*USE FAST INSERT'
QW0018FA='DATA FAST INSERT*PIPE*REFILLS'
QW0018FW='DATA DB2 WAITS*FOR FAST*INSERT'
QW0I18SK='INDEX ROWS SKIPPED*INCOMPATIBLE*LOCK HELD'
QW0I18FI='INDEX ROWS INSERTED*VIA*FAST INSERT'
QW0I18FS='INDEX ROWS*COULD NOT*USE FAST INSERT'
QW0I18FA='INDEX FAST INSERT*PIPE*REFILLS'
QW0I18FW='INDEX DB2 WAITS*FOR FAST*INSERT'
-The below TYPE 102 IFCID updates can't be made until test
SMF data is available; DB2 DSECTS do not document the
internal format (TODSTAMP?/SMFSTAMP?/DB2INTERNAL?) nor
the epoch date, showing then as only CHAR8 in the DSECT.
-New IFCIDS: 389 380 404 413 414 477
-Changed IFCIDS: 018 125 316 401 53 58 with these notes:
IFCID 018 Statistics Class 1 Insert Algorithm 2
IFCID 058 Statistics Class 1 Insert Algorithm 2
IFCID 316/401 new wait times for Child/Page/L-Locks/P-
IFCIDs 53/58 statement level section for PREPARE
Change 34.228 Support for APAR OA48688, ABSOLUTE MSU LPAR GROUP CAPPING
VMAC7072 -TYPE70 new variable SMF70ABSMSU='Y' from SMF70HHF bit if
Oct 4, 2016 active for this partition.
-TYPE70PR new variables
CAPLIMCH='HARDWARE GROUP CAPACITY LIMIT CHANGED?'
SMF70HGWGRNAME='HARDWARE GROUP OF THIS PARTITION'
SMF70HWGR_CAP_LIMIT='HARDWARE*GROUP*ABSLIMIT'
Change 34.227 The $MGSMFID used by ANALID to describe SMF records is
ANALID enhanced to identify which product creates the record and
FORMATS with better descriptions, and a footnote added that the
Oct 1, 2016 MXG member IMACAAAA contains the MXG Product Suffix XXXX
each SMF Record Type, so you know what TYPEXXXX member to
use to process that SMF record. (Each IMACxxxx member has
the list of datasets that will be created for each XXXX.)
Thanks to MP Welch, Bank of America, USA.
Change 34.226 -Support for alternate SYSIN ddname input, user control
ADOCRMFV of VSAM CLOSE=FREE for RMF III data sets, and other
ASMRMFV improvements.
Oct 3, 2016 -A new keyword SYSIN=ddname allows ASMRMFV to input
parameters from a file with a ddname other than SYSIN.
This may be useful if ASMRMFV is executed under another
program such as SAS.
-The ddname must be a valid ddname for use in JCL and must
be present in the execution JCL or an error is flagged.
-SYSIN=ddname may ONLY appear in the JCL PARM= field NOT
in the SYSIN stream itself. Otherwise an error is
flagged.
-The SYSIN=ddname value must NOT be a reserved DDNAME used
by z/OS, JES2/JES3, or other important programs. If such
a ddname is used an error is flagged. For a full list of
these ddnames see documentation Section 5 "Input Data
Control Parameters" by SYSIN=ddname.
-The OPEN of the DCB for SYSIN or an alternate ddname now
validates that DSORG=PS, RECFM=FB or RECFM=F, and
LRECL=80 are attributes for the input file to prevent I/O
errors and other undesirable behavior. If these criteria
are not met ASMRMFV abends during parameter processing.
-VFREE (alias VF) and NOVFREE (alias NOVF) are a pair of
new parameters that control how RMF Monitor III VSAM data
sets are processed when closed.
-VFREE deallocates each RMF III data set thus releasing
the SHR enqueue for each data set as processed before the
entire ASMRMFV step ends while NOVFREE keeps the enqueues
for all RMF III data sets until the complete step end.
-For step program names ASMRMF* or IKJEFT* (*=any valid
program name characters), the default is VFREE. NOVFREE
is the default for other step program names.
-VFREE/NOVFREE has been tested successfully under z/OS 2.2
but may not necessarily have effect in other z/OS
releases.
-A new RMFV037I message displays the status of Input
Control parameters SYSIN=ddname and VFREE/NOVFREE.
-The RMFV035* message did not fully support the
TABERR=WARN option. All table errors were counted as
Severe Errors rather than as Warnings.
-When the only table errors are SPG Internal Problem
errors the final return code will now be 0008 instead of
0016.
-SPG Internal Problem errors occur when a coded Storage
Group name is misspelled or is nonexistent in the RMF III
SGSPACE start up parameter. These are NOT fatal to the
MXG PDB build process. There simply are no observations
in the result ZRBSPG SAS data set in the PDB. The
SGSPACE Storage Group name(s) must be corrected for
ZRBSPG to have observations.
-TIOT ddname search performance is improved.
-There is a new Abend Reason Code 40 for a GETDSAB service
failure.
-Additional descriptive problem text is added for OPEN,
CLOSE, and RDJFCB service failure RMFV007S messages.
-ASMRMFV could Abend S0C4 if a non-VSAM data set was coded
with an RMFV*, RMFC*, or RMFD* DDNAME and then opened as
a VSAM data set. Now this condition will be detected and
an error flagged.
-A new additional RMFV008I message will now display the
PDS member name or GDG relative generation if coded in
JCL for a file.
-The MXG00 record version is raised from X'05' to X'06'
and a new Input Options section is added.
-SYSIN=ddname and VFREE/NOVFREE features are not supported
by ASMRMFV versions prior to MXG Change 34.226. If
specified a parameter error will be flagged.
-Documentation Section 20 is retitled as "FREE=CLOSE for
VSAM Data Sets".
-Following documentation sections are
updated:
Section 5 "Input Data Control Parameters"
Section 8 "Error Handling Parameters"
Section 12 "Messages"
Section 14 "Skipped Records"
Section 16 "Return Codes"
Section 17 "Abend Reason Codes"
Section 20 "FREE=CLOSE for VSAM Data Sets"
Section 29 "Summary"
Change 34.225 If you used ANALHSM and do not have SAS/GRAPH and are on
ANALHSM SAS 9.2 or earlier, some graphic statements that should
Sep 30, 2016 have been bypassed caused error messages,
Change 34.224 Support for APAR OA50256 for TYPE1415 corrects SMF14DSVER
FORMATS field's values, from which MXG variable SMF14DSTYPE using
VMAC1415 the $MG014EF format, updated by this change. There was
Sep 30, 2016 no change made to VMAC1415; listed here for impact only.
Change 34.223 Support for APAR OA49415 for SuperPAV Support, adds data:
VMAC74 -Added to TYPE74 dataset:
VMAC78 2016 SUPERPAV='SUPERPAV*MODE?'
Sep 30, 2016 SMF74AGC='CONTROLLER*ALIAS*MANAGEMENT*GROUP*NUMBER'
SMF74AGS='ASSOCIATED*ALIAS*MANAGEMENT*GROUP*NUMBER'
-Added to TYPE78IO dataset:
R783GFLX='IOQ*GLOBAL*FLAGS*EXTENDED'
-Added to TYPE78CF dataset:
R783AMGC &PIB.1./*CONTROLLER*ALIAS*MGMT*GROUP*NUMBER*/
R783AMGS &PIB.4./*ASSOCIATED*ALIAS*MGMT*GROUP*NUMBER*/
-Added to TYPE78CU dataset:
R783XANC='ALIAS*NEEDED*TO START*AN I/O'
R783XAUC='ALIAS*USED*TO START*AN I/O'
R783XNHC='ALIAS*NEEDED*NONE*AVAILABLE'
R783XABC='ALIAS*BORROWED*FROM*PEER LCU'
R783XCBC='CONCURRENTLY*BORROWED*ALIAS'
R783XHBC='HWM*CONCURRENTLY*BORROWED*ALIAS'
R783XALC='ALIAS*LOANED*TO A*PERR LCU'
R783XCLC='CONCURRENTLY*LOANED*ALIAS'
R783XHLC='HWM*CONCURRENTLY*LOANED*ALIAS'
R783CNAG='BORROW*ATTEMPTS*NONE*AVAILABLE'
R783XCQD='CUM I/O*QUEUED*WHERE*ALIAS*NEEDED'
R783XCIU='CUM ALIAS*DEFINED*AND IN USE'
Change 34.222 Support for APAR OA51097 that documents new fields that
VMAC42 weren't in the SMF manual for SMF type 42 subtype 19.
Sep 30, 2016 Variables added to TYPE42X2 dataset:
SMF42JUC='LOW FIXED 4K PAGES IN USE'
SMF42JUD='HIGH FIXED 4K PAGES IN USE'
SMF42JUE='AVG FIXED 4K PAGES IN USE'
SMF42JUF='MAX FIXED STORAGE'
SMF42JUG='PCT REAL*CAN BE USED*FOR FIXED'
Variables added to TYPE42X4 dataset:
SMFA2JUC='LOW FIXED 4K PAGES IN USE'
SMFA2JUD='HIGH FIXED 4K PAGES IN USE'
SMFA2JUE='AVG FIXED 4K PAGES IN USE'
SMFA2JUF='MAX FIXED STORAGE'
SMFA2JUG='PCT REAL*CAN BE USED*FOR FIXED'
Change 34.221 Support for new SMF Type 29 IMS JAVA CPU and Garbage Coll
EXTY29GC creates new datasets
EXTY29JA DDDDDD MXG MXG
IMAC29 DATASET DATASET DATASET
TYPE29 SUFFIX NAME LABEL SUBTYPE
TYPS29
VMAC29 TY29GC TY29GC IMS JVM GARBAGE COLLECTION 2
VMXGINIT TY29JA TY29JAVA IMS JVM CPU USAGE 2
Sep 30, 2016 These members were added in MXG 34.01 Change 34.039 but
only now has VMAC29 been corrected and validated with
data records.
Thanks to Tony Curry, BMC, USA.
Change 34.220 WARNING R749PCIPAKTR in DROP KEEP RENAME never referenced
VMAC74 because it should have been spelled R749PCIPAKT. Warning
Sep 27, 2016 is printed only when the MXG OPTION DKROCOND=NOWARN is
changed to WARN; MXG expects/exploits DKROCOND=NOWARN as
it permits variable names in the KEEP= list that are not
output if their optional code is not enabled (especially
in CICSTRAN with its many possible optional variables.
Thanks to Andrew Krink, Northern Territory Government, AUSTRALIA.
Change 34.219 -Variables GDGCOMPL and GDGNOEXT and GDGLIMIT kept.
VMAC6156 -New undocumented catalog record '07' has two fields that
Sep 24, 2016 are input and kept for investigation.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 34.218 Arrays were incorrectly being initialized causing the
ASUM4HRS 4HR Averages to not be calculated and the resultant value
Sep 24, 2016 for each interval was the interval's value rather than
the average value. Note that if you request 4 Hours then
there will be no average calculated until the 5th Hour.
You may have to read TWO day's SMF to populate the 4 Hour
Average for all hours of today.
Thanks to Tony P. Steward, CSC, ENGLAND.
Change 34.217 -Dataset BVIR30 variables USDCACHE and USDFLASH were INPUT
VMACBVIR but were not kept.
Sep 22, 2016 -Datasets BVIR301 and BVIR302 were both wrong, having too
Sep 26, 2016 few observations and keeping wrong variables. BVIR301
now has one observation for each CACHEPARTNR (0 thru 7)
and BVIR302 one for each CONTAINER and Performance Group.
Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.
Change 34.216 Support for SMF 98 High Frequency Throughput Statistics
EXTY9801 HFTS record creates nine new datasets. The TYPE9801 data
EXTY98EE set contains all of the segments that occur only once per
EXTY98LD record; the eight TYPE98SD-TYPE98SL data sets contain the
EXTY98LL segments that can occur more than once per record:
EXTY98LS
EXTY98PB DDDDDD MXG MXG
EXTY98SD DATASET DATASET DATASET
EXTY98SL SUFFIX NAME LABEL
EXTY98WU
FORMATS TY9801 TYPE9801 TYPE 98 HFTS SUBTYPE 1
IMAC98 TY98SD TYPE98SD HFTS SPINLOCK DETAIL
TYPE98 TY98LS TYPE98LS HFTS LOCK SUSPEND SUMMARY
TYPS98 TY98LD TYPE98LD HFTS LOCK SUSPEND DETAIL
VMAC98 TY98LL TYPE98LL HFTS LOCK LOCAL CML DETAIL
VMXGINIT TY98PB TYPE98PB HFTS PRIORITY BUCKET
Sep 20, 2016 TY98EE TYPE98EE HFTS CONSUME EXECUTION EFFICIENCY
Aug 17, 2016 TY98WU TYPE98WU HFTS CONSUME WORK UNITS
TY98SL TYPE98SL HFTS CONSUME SPIN LOCK SUMMARY
Thanks to Nicholas Jones, IBM, USA.
Thanks to Daniel V. Rosa, IBM, USA.
Change 34.215 Support for PRO/SMS (previously X37) Version 7.8 RSL1607
VMACPROS which INCOMPATIBLY replaced 60 bytes after PROCSTEP with
Sep 22, 2016 102 bytes, causing misalignment of all subsequent fields
but only impacting the PRORECOV dataset.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 34.214 New SMF fields documented in new Sept 2016 SMF Manual:
VMAC30 -VMAC30, datasets TYPE30_V/TYPE30_4/TYPE30_5/TYPE30_6:
VMAC42 new variable SMF30SLM='MEMLIMIT*ACTION*TAKEN*FLAGS'
VMAC74 -VMAC42, dataset TYPE42S1: was wrong, 16-bytes skipped.
VMAC79 new variable SMF42FY3='VALID*COUNTS*FLAGS'
VMAC90A Initially, I thought IBM had inserted 16 bytes but they
VMXGINIT have been there at least since z/OS 1.13. But, when I
EXTY9038 thought I was going to have to test for version, users
EXTA9038 found these values in their data:
EXTB9038
EXTY9039 PRODUCT SUBTYPES PRODLVL
Sep 18, 2016
CA PDSMAN 24 7.7.0
MVS/OS390 10 HDZ1D10
MVS/OS390 10 HDZ2220
Z/OS18 15/17/18/19 DFSMVS18
DFSMS/MVS 1/5/6 HDZ1D10
DFSMS/MVS 1/5/6 HDZ2220
DFSMS/MVS 4 1.3.0
MVS/DFP 2 HDZ1D10
MVS/DFP 2 HDZ2220
Z/OS DFSMS 9 1.12.0
Z/OS DFSMS 20/21/24 V01R13M0
Z/OS DFSMS 20/21/24/25 V02R02M0
Z/OS DFSMS 27 HZD2220
-VMAC42, dataset TYPE42S2 new variables:
SMF42FSH='COMP1*CLASS4*LOCKS'
SMF42FSI='COMP1*CLASS4*TRUE*CONTENTION'
SMF42FSJ='COMP1*CLASS4*FALSE*CONTENTION'
SMF42FSK='COMP1*CLASS4*RELEASE*LOCKS'
-VMAC42, dataset TYPE42S3 new variables:
SMFA2FPHA='COMP1*CLASS4*LOCKS'
SMFA2FPIA='COMP1*CLASS4*TRUE*CONTENTION'
SMFA2FPJA='COMP1*CLASS4*FALSE*CONTENTION'
SMFA2FPKA='COMP1*CLASS4*RELEASE*LOCKS'
-VMAC74, dataset TYPE74CA new variable
R745CFDV='FAILING*DEVICE'
-VMAC77, dataset TYPE77 new variables
SMF77CSC='CONTENTION*STATUS*CHANGE*EVENTS'
SMF77NOD='NO*SEPARATE*CONTENTION*DETAIL'
-VMAC79, variables R79ETCMW/R79ECTRD could be missing
values, test for APAR additions revised.
-VMAC90A, Support for new datasets from new subtypes:
TY9038 TYPE9038 38:SET IEFOPZ
TYA038 TYPE9038A 38A:OLD NEW DSNAME
TYB038 TYPE9038B 38A:DD JOBNAME
TY9039 TYPE9039 39:SET SMFLIM
Change 34.213 Support for the SMF 119 Subtype 81 Intrusion Detection
EXT11981 Service creates new dataset
FORMATS DDDDDD DATASET DESCRIPTION
IMAC119 T11981 TYP11981 INTRUSION DETECTION SERVICE
VMAC119
VMXGINIT
Sep 16, 2016
Thanks to Nathan Loewenthal, CitiGroup, USA.
Change 34.212 The ANALID report value for MVSLEVEL was incorrectly read
VMACSMF when the VSAM SMF file was input; an +OFFSMF was needed.
Sep 16, 2016
Thanks to MP Welch, Bank of America, USA.
Change 34.211 Support for SMF 80 TOKDANAME='TOKMFILEPROCMAX' adds new
VMAC80A variable TOKMFILEPROCMAXNR.
Sep 15, 2016
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 34.210 Some USS RACF Event values (28 thru 58 decimal) were not
FORMATS decoded in MG080EV and $MGSMFID formats.
Sep 15, 2016
Thanks to MP Welch, Bank of America, USA.
Change 34.209 "DB2 is filling my SMF, how do I find out who/why" may be
DB2COUNT answered with DB2COUNT program that reads SMF 101 records
Sep 13, 2016 creating a stripped down PDB.DB2ACCT with the identity
variables and PROC FREQs to provide counts of who/why and
then ANALDB2T reports on the top resource consumers.
Change 34.208 -These compression Rate variables were labeled "MB PERSEC"
VMAC74 but they contained bytes. Now they are in MB Per Second:
Sep 11, 2016 R749PCIDMAR/MAW R749FPGCOBS/DCBS R749PCIBYTR/BYTT
R749FPGBYTS. And R749FPGBYTR Average Request is now KB.
-Variable R749FPGBPRT is now equated to R7491BPC for the
Buffer Pool utilization.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 34.207 VMXGRMFI summarization with large INTERVAL= DATE or SHIFT
VMXGRMFI or even TWOHOUR could produce incorrect results with no
Sep 14, 2016 error messages. The value of SHIFT could be incorrect,
which could cause the date to be one day wrong. Only
user-created invocation of VMXGRMFI are exposed; none of
the MXG-supplied VMXGRMFI members have large intervals.
-The exposure is when the requested INTERVAL spanned a
shift boundary or did not align perfectly with the shift
times; to get FOURHOUR FOURHOUR summary you must have
SHIFT boundaries of at 0/4/8/12/16/20.
-Using INTERVAL=SHIFT produced wrong results if your
interval spans a shift boundary, but it is likely that
what you really wanted was by DATE and SHIFT, so VMXGRMFI
has new INTERVAL=DATESHIFT/WEEKSHIFT/MONTHSHIFT/
MONTHSHIFT/QUARTERSHIFT/SEMIANNSHIFT/ANNUALSHIFT. These
new options set the INTERVAL=DATE/WEEK/etc., and add
variable SHIFT to the end of the SUMBY list. In
addition, new &RMFIBY macro variable with default
RMFIBY=SYSPLEX SYSTEM SYSNAME STARTIME
is created to allow more extensive tailoring if needed.
If you use this interval structure (xxxxSHIFT) you must
also use the same RMFIBY to put the resulting data
through TRENDing to preserver the SHIFT value.
-SHIFT added to the RMFWKLRV dataset.
-SHIFT is blank for INTERVAL= that span shifts (DATE, etc)
since there is no value possible with multiple shifts.
-Two PROC SORTs were replaced by MEANS with CLASS..
-If Reporting Classes are used for Workload Definitions,
the WKLDDESC='REPORTING CLASS' value is set for that
variable because they don't have WLM WORKLOAD values.
-Messages that SRVCLASS='SYSOTHER' was found in TYPE72GO
input are now always printed; this is NOT due to MXG but
is a fall-thru service class used by IBM when your WLM
rules failed to classify work, and should never exist.
Thanks to Andre Gustavo Moretto, IBM Global at Delta, USA.
Change 34.206 -Support for Top Secret R15. Changed was RACFVRSN='F0'x.
VMAC80A Without change, dataset TYPE80TS had zero observations.
Sep 7, 2016 -Support for Top Secret R16. Added RACFVRSN='10'x test on
Oct 5, 2016 Oct 5.
Nov 5, 2016 -Format $MG080TS created to map Resource Code to Class by
FORMATS reading the RDT.TXT table. A program to re-create that
format is in comments at the end of this VMAC80A.
Thanks to Carl D. Ellis, Wells Fargo, USA.
Change 34.205 SMF 6 UNDECODED KEYS and INPUT EXCEEDED STOPOVER error
IMAC6ESS because MXG only expected 4 USERLIB segments. ESSULIB5/6
VMAC6 are now input and kept and more than 6 now protected.
Sep 6, 2016
Thanks to Sabrina Mandelatz, ProvinzialRheinlandVersicherung, GERMANY
Change 34.204 -Variable SHIFT is added to RMFWRKLV DATASET in VMXGRMFI.
VMXGRMFI -TRND70PR incorrectly used variable name DATETIME when it
TRND70PR should have used STARTIME in the SUMBY list, which worked
Sep 2, 2016 accidentally.
Oct 2, 2016 -STARTIME removed from ID statement Oct 2.
Thanks to Andre G. Moretto, Delta Air Lines, USA.
Change 34.203 Cosmetic. All "CICS EXCLUDED FIELDS FOUND" messages now
VMAC110 contain the READTIME value of that APPLID, which is when
Sep 2, 2016 the CICS Dictionary Record is written, so you know what
SMF data to select for UTILEXCL
Change 34.202 Support for Connect Direct Simultaneous Session CDHW SMF
EXCDHWSS creates new dataset
IMACCDHW DDDDDD DATASET DESCRIPTION
TYPECDHW CDHWSS CDHWSSES CD SIMULTANEOUS SESSIONS
TYPSCDHW
VMACCDHW
VMXGINIT
Aug 29, 2016
Thanks to Scott Wiig, USBank, USA.
Thanks to David Magoon, USBank, USA.
Change 34.201 Support for CDI-NDM Version 5.2 (INCOMPATIBLE).
VMACNDM Incomplete, not moved to 34.07, no data yet.
Aug 29, 2016
Thanks to Michael Oujesky, DTCC, USA.
Change 34.200 -SMF 115 dataset MQMLOG is enhanced with new variables
VMAC115 QWHSDURN='INTERVAL*DURATION'
VMACDB2H PCTLOGBY='PERCENT*LOG*BUSY'
Aug 24, 2016 QWHSTIME='MQ*INTERNAL*START*DATETIME'
Sep 13, 2016 -Sep 13: Protection for old versions with QWHSLEN=36 added
Sep 16, 2016 and missing values calculations eliminated.
Sep 22, 2016 -Sep 16: Variables added to MQMLOG dataset:
Sep 24, 2016 QJSTSLPTU ='PHYSICAL*WRITER*SLEEP*DURATION'
Oct 11, 2016 QJSTIOSQU1='SSQ*IO TIME*1ST HALF'
QJSTIOSQU2='SSQ*IO TIME*2ND HALF'
-Sep 22: QJST busy time is now created and calculated as
QJSTBUSY=100*(QWHSDURN-QJSTSLPTU)/QWHSDURN;
-Sep 24: GMT115TM is now correctly calculated and used to
shift the QJSTIOMAXxxxx datetimestamps to LOCAL zone.
-Oct 11: Labels improved for vars QJSTBUSY, QJSTSLPTU.
Thanks to Carolina W. Sumilang, DTCC, USA.
Thanks to Joe Faska, DTCC, USA
Change 34.199 -RMF III dataset ZRBDVT variable DVTLCUNR was always zero
VMACRMFV and DVTSAMPP was trashed, due to mis-alignment in MXG.
Aug 24, 2016 -Variable DVTSSID='SUBCHANNEL*SET' is now INPUT and KEPT.
Aug 30, 2016 -Variable GEIAHUIC is now INPUT as Floating Point.
-Variable GEIFLG1 is now INPUT and KEPT.
======= Changes thru 34.198 were in MXG 34.06 dated Aug 18, 2016========
Change 34.198 -Enhancement for Relative Time filtering for FROMTIME=
ADOCRMFV and TOTIME= parameters using the current Time of Day
ASMRMFV (TOD) timestamp.
Aug 18, 2016 -The TOD value as shown in the ASMRMFV RMFV001I log
Aug 20, 2016 message and obtained as execution begins is the basis for
Relative Time calculations.
-Relative Times are specified as either hour or minute
offsets from the current TOD. The default is hours if
the unit is not explicitly coded.
-Improved handling of midnight crossover condition when
Relative Time offset exceeds current TOD Time.
-All of the following formats are supported for FROMTIME=
Relative Times:
FROMTIME=*- FROMTIME=- FROMTIME=*-
FROMTIME=*-0 FROMTIME=-0
FROMTIME=*-00 FROMTIME=-00
FROMTIME=*-0H FROMTIME=-0H
FROMTIME=*-00H FROMTIME=-00H
FROMTIME=*-0M FROMTIME=-0M
FROMTIME=*-00M FROMTIME=-00M
FROMTIME=*-000M FROMTIME=-000M
FROMTIME=*-0000M FROMTIME=-0000M
h is hours (0-9) hh is hours (00-24)
m is minutes (0-9) mm is minutes (00-99)
mmm is minutes (000-999) mmmm is minutes (0000-1440)
-The maximum hour offset supported is 24 hours.
The maximum minute offset supported is 1440 minutes.
-'H' suffix is optional for hour offsets.
'M' suffix is required for minute offsets.
-The default offset is 0 hours for these formats:
FROMTIME=* FROMTIME=*- FROMTIME=-
-The following forms for FROMTIME= all result in the
current TOD being used as a data selection start
time:
FROMTIME=*- FROMTIME=- FROMTIME=*-
FROMTIME=*-0 FROMTIME=-0
FROMTIME=*-00 FROMTIME=-00
FROMTIME=*-0H FROMTIME=-0H
FROMTIME=*-00H FROMTIME=-00H
FROMTIME=*-0M FROMTIME=-0M
FROMTIME=*-00M FROMTIME=-00M
FROMTIME=*-000M FROMTIME=-000M
FROMTIME=*-0000M FROMTIME=-0000M
-These forms are of no practical use when FROMDATE=*
(current date) is also coded because the selection start
time will result in little if any data being actually
output.
-The use of Relative Time with FROMTIME= does not change
the FROMDATE= value whether defaulted or coded. These
two parameters remain independent.
-The Relative Time process for FROMTIME= follows these
steps:
-1. The hour or minute time offset requested is deducted
from the time portion of the current TOD clock value.
-2. If the result of the time offset deduction is negative
and the active FROMDATE= value also the current date,
then the FROMTIME= value is forced to 00:00:00.000000
(midnight).
-3. If the result of the offset deduction is negative and
the active FROMDATE= value is NOT the current date, then
the portion of hours or minutes that exceeds the elapsed
time for the current date crosses midnight. See example
below for more detail.
-To summarize the midnight crossing support where '*'
represents the current date:
FROMTIME=
FROMDATE= Time Offset Result
--------- ------------- ------------------
* LE Current TOD Midnight cross N/A
* GT Current TOD FROMTIME 00:00:00.000000
Not * LE Current TOD Midnight cross N/A
Not * GT Current TOD Midnight crossed
The midnight cross time is calculated as:
Current time - FROMTIME time offset + time in 1 day
-4. The FROMTIME= value for an hours offset is truncated
to the start of the hour while the FROMTIME= value for a
minutes offset is truncated to the start of the minute.
This is a practical aid to prevent data selection
from beginning at an odd time.
-To summarize the Relative Time results for
FROMTIME=:
TIME TRUNCATED
OFFSET UNIT FROMTIME=
----------- ---------------
Default (Hours) HH:00:00.000000
H (Hours) HH:00:00.000000
M (Minutes) HH:MM:00.000000
-Examples for FROMTIME= Relative Time usage follow.
For these examples assume the current TOD is:
DATE=2016.251 01SEP2016 THU TIME=09:26:56.776233
-Example 1: FROMDATE=* FROMTIME=*-3
is a 3 hour TOD Relative Time offset for the current day
results in:
FROM DATE=2016.251 01SEP2016 THU TIME=06:00:00.000000
TO DATE=2042.259 16SEP2042 TUE TIME=23:59:59.999999
Note that a pure offset of 3 hours only would have
resulted in a FROMTIME= of 06:26:56.776233 which is an
awkward time stamp for the start of data selection. So
the start of the hour is provided.
-Example 2: FROMDATE=* FROMTIME=*-10
is a 10 hour TOD Relative Time offset and results in:
FROM DATE=2016.251 01SEP2016 THU TIME=00:00:00.000000
TO DATE=2042.259 16SEP2042 TUE TIME=23:59:59.999999
since the Relative Time offset extends beyond midnight
into the prior day and FROMDATE= is the current date,
the FROMTIME= was forced to midnight.
-Example 3: FROMDATE=*-1 FROMTIME=*-10
is a 3 hour current TOD Relative Time offset with a
FROMDATE= of yesterday and results in:
FROM DATE=2016.250 31AUG2016 WED TIME=23:00:00.000000
TO DATE=2042.259 16SEP2042 TUE TIME=23:59:59.999999
since FROMDATE= is NOT the current date, the FROMTIME=
offset is allowed to cross midnight by 1 hour in this
example. To achieve the cross midnight time behavior
FROMDATE= must NOT be the current date.
-To use the midnight crossing feature effectively a user
must anticipate a midnight crossover based on the size of
the Relative Time FROMTIME= offset being used and when
ASMRMFV is going to be run. Usually FROMDATE=*-1 is
coded rather than FROMDATE=* if the midnight time
crossover is expected.
-However, any FROMDATE= value that is not the current date
may be used and the midnight crossing will still occur.
-Example 4: FROMDATE=* FROMTIME=*-30M
is a 30 minute current TOD Relative Time offset and
results in:
FROM DATE=2016.251 01SEP2016 THU TIME=08:56:00.000000
TO DATE=2042.259 16SEP2042 TUE TIME=23:59:59.999999
-Example 5: FROMDATE=* FROMTIME=30M
is a parameter error because at least the '-' character
must follow FROMTIME= to indicate a Relative Time.
ASMRMFV will abend.
-All of the following formats are supported for TOTIME=
Relative Times:
TOTIME=*
TOTIME=*- TOTIME=-
TOTIME=*-h TOTIME=-h
TOTIME=*-hh TOTIME=-hh
TOTIME=*-hH TOTIME=-hH
TOTIME=*-hhH TOTIME=-hhH
TOTIME=*-mM TOTIME=-mM
TOTIME=*-mmM TOTIME=-mmM
TOTIME=*-mmmM TOTIME=-mmmM
TOTIME=*-mmmmM TOTIME=-mmmmM
-The meanings for h, hh, m, mm, mmm, mmmm, H, and M are
the same as for the FROMTIME= parameter.
-Hour and minute offset limits are the same as for
FROMTIME= Relative Times.
-'H' suffix is optional for hour offsets
'M' suffix is required for minute offsets
-The default offset is 0 hours for these formats:
TOTIME=* TOTIME=*- TOTIME=-
-The following forms for TOTIME= all result in the
current TOD being used as a data selection end time:
TOTIME=*- TOTIME=- TOTIME=*-
TOTIME=*-0 TOTIME=-0
TOTIME=*-00 TOTIME=-00
TOTIME=*-0H TOTIME=-0H
TOTIME=*-00H TOTIME=-00H
TOTIME=*-0M TOTIME=-0M
TOTIME=*-00M TOTIME=-00M
TOTIME=*-000M TOTIME=-000M
TOTIME=*-0000M TOTIME=-0000M
-However, when TODATE=* is also used it is unnecessary to
code these forms because the default TOTIME= is:
DATE=2042.259 16SEP2042 TUE TIME=23:59:59.999999
-The use of Relative Time with TOTIME= does not change the
TODATE= value whether defaulted or coded. These two
parameters remain independent.
-The Relative Time process for TOTIME= follows these
steps:
-1. The hour or minute time offset requested is deducted
from the time portion of the current TOD clock value.
-2. If the result of the offset deduction is negative and
the active TODATE= value is also the current date, then
the TOTIME= value is forced to 00:00:59.999999.
-3. If the result of the offset deduction is negative and
the active TODATE= value is NOT the current date, then
the portion of hours or minutes that exceeds the elapsed
time for the current date crosses midnight. See example
below for more detail.
-To summarize the midnight crossing support where
'*' represents the current date:
TOTIME=
TODATE= Time Offset Result
--------- ------------- ------------------
* LE Current TOD Midnight cross N/A
* GT Current TOD TOTIME 00:00:59.999999
Not * LE Current TOD Midnight cross N/A
Not * GT Current TOD Midnight crossed
The midnight cross time is calculated as:
Current time - TOTIME time offset + time in 1 day
-4. The TOTIME= value for an hours offset is truncated to
the start of the hour while the TOTIME= value for a
minutes offset is truncated to the start of the minute
depending on the time offset unit. In either case
00:00:59.999999 is added to the result.
-TOTIME= values are set with 59.999999 seconds as the last
part of the time stamp so that any data time stamped
within the minute is sure to be selected. TOTIME= in
ASMRMFV has always been inclusive of the entire end
minute.
-5. However, if the time offset is zero then the final
time value is only adjusted to the end of the minute
whether the time offset unit is in hours or minutes.
-To summarize the adjustment with non-zero TOTIME=
offsets:
TIME FINAL
OFFSET UNIT TOTIME=
----------- ---------------
Default (Hours) HH:00:59.999999
H (Hours) HH:00:59.999999
M (Minutes) HH:MM:59.999999
-To summarize the adjustment with a zero TOTIME=
offset:
TIME FINAL
OFFSET UNIT TOTIME=
----------- ---------------
Default (Hours) HH:MM:59.999999
H (Hours) HH:MM:59.999999
M (Minutes) HH:MM:59.999999
-Examples for TOTIME= Relative Time usage follow.
For these examples assume the current TOD is:
DATE=2016.251 01SEP2016 THU TIME=09:26:56.776233
-Example 1: TODATE=* TOTIME=*-3
is a 3 hour current TOD Relative Time offset and results
in:
FROM DATE=2000.001 01JAN2000 SAT TIME=00:00:00.000000
TO DATE=2016.251 01SEP2016 THU TIME=06:00:59.999999
-Example 2: TODATE=* TOTIME=*-10
is a 10 hour current TOD Relative Time offset and results
in:
FROM DATE=2000.001 01JAN2000 SAT TIME=00:00:00.000000
TO DATE=2016.251 01SEP2016 THU TIME=00:00:59.999999
since the Relative Time offset extends beyond midnight
into the prior day and TODATE= is the current date, then
the TOTIME= was forced to midnight + 00:00:59.999999 .
-Example 3: TODATE=*-1 TOTIME=*-10
is a 10 hour current TOD Relative Time offset with a
TODATE= of yesterday and results in:
FROM DATE=2000.001 01JAN2000 SAT TIME=00:00:00.000000
TO DATE=2016.250 31AUG2016 WED TIME=23:00:59.999999
since TODATE= is NOT the current date, the TOTIME= offset
is allowed to cross midnight by 1 hour in this example.
To achieve the cross midnight time behavior TODATE= must
NOT be the current date.
-To use the midnight crossing feature effectively a user
must anticipate a midnight crossover based on the size of
the Relative Time TOTIME= offset being used and when
ASMRMFV is going to be run. Usually TODATE=*-1 is coded
rather than TODATE=* if the midnight time crossover is
expected.
-However, any TODATE= value that is not the current date
may be used and the midnight crossing will still occur.
-Example 4: TODATE=* TOTIME=*-30M
is a 30 minute current TOD Relative Time
offset and results in:
FROM DATE=2000.001 01JAN2000 SAT TIME=00:00:00.000000
TO DATE=2016.251 01SEP2016 THU TIME=08:56:59.999999
-Example 5: TODATE=* TOTIME=30M
is a parameter error because at least the '-' character
must follow TOTIME= to indicate a Relative Time. ASMRMFV
will abend.
-Documentation Section 5 "Input Data Selection Parameters"
is updated to explain use of Relative Times for FROMTIME=
and TOTIME= parameters.
-The Relative Time feature is not supported by earlier
ASMRMFV versions prior to MXG Change 34.198. If
specified a parameter error will be flagged.
Change 34.197 More Support for BE93 Version 6.1.0 (INCOMPATIBLE) due to
VMACBETA changed BETAFLAG that contains '81'x, but the MXG test
Aug 19, 2016 for the extended header existence tested for '80'x, and
there were new fields inserted in the subtype=1 record
causing misalignment and invalid values in BETA1 dataset.
Thanks to Sabrina Mandelatz, Provinzial Rheinland Versicher, GERMANY
Change 34.196 -SMF 78 ST3 INPUT STATEMENT EXCEEDED when APAR OA44525
VMAC78 zHPF Extended Distance II is installed, MXG 33.07-34.05,
Aug 18, 2016 because MXG Change 33.156 for that APAR incorrectly had
INPUT R783TMWM/R783TRDM in the DCS segment for TYPE78CF,
but that APAR had added those fields in the ASS segment.
MXG properly INPUTs them and keeps them in TYPE78CU
instead of TYPE78CF. The STOPOVER ABEND that results
can be circumvented adding MACRO STOPOVER MISSOVER %
statement at the top of your //SYSIN, and/or you can
request just the VMAC78 member from support@mxg.com
-Added May 2017: This change caused a massive increase in
the number of observations in TYPE78CF; prior code read
only output the first CU (8 obs/record) but there are 356
obs typically in each record.
-Unrelated, APAR OA49415 added new fields now in TYPE78CU:
R783AMGC='ALIAS*MGMT*GROUP*NUMBER*PHYSICAL CU'
R783AMGS='ALIAS*MGMT*GROUP*NUMBER*THIS LCU'
Thanks to Gadi Ben-Avi, MALAM, ISREAL.
Change 34.195 TMON/CICS new variables TASZIPTM and TASELGTM created and
VMACTMO2 kept in MONITASK dataset, and TASCPUTM is corrected to
Aug 15, 2016 contain ONLY the CP CPU time (previously it had the sum
of CP and zIIP time).
And, only for TMON 3.4, TASCPOT/TASCPUT were not divided
by 4096.
Change 34.194 Support for SMF 99 Subtype 1 additional segments create
EXTY99SL new datasets:
EXTY99ST DDDDDD DATASET DESCRIPTION
EXTY99PT TY99SL TYPE99SL SOFTWARE LICENSING
EXTY99PI TY99ST TYPE99ST SOFTWARE LICENSING TABLE
EXTY99ZE TY99PT TYPE99PT CP PRIORITY TABLE
EXTY99PS TY99PI TYPE99PI ZAAP PRIORITY TABLE
VMAC99 TY99ZE TYPE99ZE ZIIP ENTITLEMENT
VMXGINIT TY99PS TYPE99PS ZIIP PRIORITY TABLE
Aug 13, 2016 The new TYPE99SL dataset has the new Hardware Absolute
Group Capping metrics added by APAR OA47752.
-Variable S99BUNUS in TYPE99BG can now be negative MSU
when capped.
Thanks to Scott Wiig, USBank, USA.
Thanks to Tony P. Steward, CSC, ENGLAND.
Change 34.193 HSM SMF VSR records with '62'x instead of the "S" in VSR
VMACHSM test field printed "INVALID HSM RECORD" messages and the
Aug 12, 2016 (six out of 100) records were skipped. Now, if DSRVSR
Jan 3, 2017 is NOT DSR but starts with a V, the record will be read
as a VSR record, while IBM HSM Support investigates.
-Turns out this had nothing to do with HSM, but was an
error that touched man SMF records, if you used LOGGER
and had a MAXBUFSIZE that was NOT 65532. APAR OA51823.
Thanks to Scott Wiig, USBank, USA.
Change 34.192 RMF III variable GMTOFF is now kept in each ZRB dataset
VMACRMFV to aid in processing data from multiple timezones. It is
Aug 11, 2016 INPUT from each SSH record and retained for all of the
following records in that interval.
(Only the first SSH record is output in ZRBSSH by logic
in member EXZRBSSH).
Thanks to MP Welch, Bank of America, USA.
Change 34.191 -Enhancement for character data filtering for RMF Monitor
ADOCRMFV III SPG (Storage Group and Volume Data) table and other
ASMRMFV usability improvements.
VMACRMFV -These filters are intended for building ad hoc MXG RMF
Aug 11, 2016 III PDBs for studies to avoid the overhead of generating
a full SPG table based PDB. They control which SPG table
entries are output to the RMFBSAM file.
-Please see the new documentation Section 28 "Collection
of DASD Usage with RMF Monitor III" in the ADOCRMFV
member or ASMRMFV source member for the requirements and
setup of DASD usage measurement in the SPG table. There
are multiple Storage Group name entries in the SPG each
with many Volume Data entries when collection is active.
-Four new filters are added to support SPG entry selection
from this table to the RMFBSAM output file. These
filters are effective only if the SPG table is selected.
New Keyword Aliases
------------- -----------------------------------------
SPGSTORGROUP= SPGSTORGRP=, STORGRUP=, SPGGRP=, SGPSNM=,
SPGSG=
SPGVOLSER= SPGVOLI=, SPGVOL=, SPGSER=, SPGV=
SPGAND None
SPGOR None
The order of SPG filter application when both keywords
are present is:
1) SPGSTORGROUP= (or any alias for SPGSTORGROUP=)
2) SPGVOLSER= (or any alias for SPGVOLSER=)
Selection results from repeats of the same SPG filter
keyword (or any of its aliases) are always logically
ORed.
-TUTORIAL:
Ranges of the form keyword=first:last may be used with
any of the above keywords except SPGAND and SPGOR.
The colon character ':' is required for a paired range
specification. All entries GE the first value and LE the
last value are selected for output to the RMFBSAM file.
The first value may not exceed the last value in EBCDIC
collating sequence or an error is flagged in message
RMFV056E.
Single unpaired values may be specified for a range
simply as keyword=first and in this case the colon ':' is
omitted.
Patterns may also be used with any of the above keywords
except SPGAND and SPGOR and include one or more Wild Card
characters to match the respective SPG data field.
A pattern contains one or more special Wild Card
characters as follows:
Wild
Card Matches
---- -------------------------------------------------
* 0 or more characters
% 1 Non-blank character
+ 1 Numeric character (0-9)
_ 1 Alphabetic character or _ (a-z, A-Z, _)
. 1 National character (@, #, $)
! 1 Special character (not a-z, A-Z, 0-9, @, #, $)
? A blank string if used by itself
? 1 Blank character (X'40') if used with any other
characters
Ranges may not be wild carded. If wild carded the range
value becomes a pattern instead and is processed as such.
See Section 25 "Ranges and Patterns" in the ADOCRMFV
member or ASMRMFV source code for more details on usage
of ranges and patterns.
-SPGSTORGROUP= (or any of its aliases) selects SPG Storage
Group name entries from 1-8 characters. Storage Group
names are defined for System Managed Storage (SMS) and
are 1-8 alphabetic characters including A-Z, 0-9, $, @,
#, *, or %. The first character must be alphabetic
(A-Z). Both ranges and patterns with wild cards may be
specified. Up to 64 ranges and 64 patterns are
supported. The default is SPGSTORGROUP=ALL.
-In all of the following examples assume the following
Storage Group names and Volume Serials are defined to SMS
in this highly simplified configuration and that RMF
Monitor III is actively measuring them:
Storage Volume
Group Serials
-------- ---------------------------
PRODPOOL PRD001 PRD002 PRODAA PRODBB
TESTPOOL TST001 TST002 TESTAA TESTBB
WORKPOOL WRK001 WRK002 WORKAA WORKBB
-Examples for SPGSTORGROUP= :
SPGSTORGROUP=PRODPOOL:TESTPOOL is a range that selects
only Storage Groups with a name GE 'PRODPOOL' and LE
'TESTPOOL'. All the volume serials in these pools will
be selected. No volumes in WORKPOOL are selected.
SPGSG=P* is a pattern that selects only Storage Group
names that begin with 'P'. Only volumes from the
PRODPOOL are selected. Note use of the keyword alias
SPGSG= for coding convenience.
STORGRUP=A* is a pattern that selects only Storage Groups
with a name that begins with an 'A'. No Storage Groups
will be selected in this example. Note use of an alias.
SPGGRP=*L is a pattern that selects only Storage Groups
with a name that ends with 'L'. All Storage Groups will
be selected in this example. This is the default if no
filter keywords are coded. Note use of an alias.
See Section 25 "Ranges and Patterns" in the ADOCRMFV
member or ASMRMFV source code for more details on usage
of ranges and patterns.
-SPGVOLSER= (or any of its aliases) selects SPG entries by
Volume Serial number. Both ranges and patterns with wild
card characters may be specified. Up to 64 ranges and 64
patterns are supported. The default is SPGVOLSER=ALL.
Any valid 1-6 character Volume Serial with or without
pattern characters may be specified. Per JCL syntax a
Volume Serial Number is 1 through 6 alphanumeric,
national ($,#,@), or special characters.
NOTE: Since just about any keyboard character is valid in
a Volume Serial please take extra care when coding to
avoid unintended results in the MXG PDB data set ZRBSPG.
NOTE: Data filtering by Volume Serial only is much less
efficient than filtering by Storage Group because every
volume in every Storage Group must be matched against the
ranges and patterns provided. There are usually many
more volumes than Storage Groups. Use of SPGSTORGROUP=
instead is recommended if feasible.
NOTE: If one or more SPGVOLSER= filters is coded and a
Storage Group has zero volume data entries the Storage
Group is filtered as this is considered a mismatch.
-Examples for SPGVOLSER=
SPGVOLSER=PRODBB selects the volume serial PRODBB only.
However, ASMRMFV will search every Storage Group until it
is found.
SPGV=TST000:TST999 selects all volume serials GE
'TST000' and LE 'TST999'. In this example volumes TST001
and TST002 will be selected. Note use of an alias.
SPGSER=WORK* selects all volume serials starting with
'WORK' followed by up to 2 more characters. In this
example volumes WORKAA and WORKBB will be selected. Note
use of an alias.
SPGVOL=*+++ selects all volume serials ending in 3
digits. In this example volumes PRD001, PRD002, TST001,
TST002, WRK001, and WRK002 are all selected. Note use of
an alias.
SPGVOLI=P*A selects all volume serials starting with 'P'
that have a final character 'A' with up to 4 intervening
characters. In this example only volume PRODAA is
selected. Note use of an alias.
-SPGAND (default) indicates that selection results from
the two different SPG filter keywords (and any of their
respective aliases) are logically ANDed.
-SPGOR indicates that selection results from the two
different SPG filter keywords (and their respective
aliases) are logically ORed. SPGOR must be coded if
desired.
-Examples of SPGAND/SPGOR:
-With SPGAND (default) in effect:
SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK*
only selects volumes in the WORKPOOL Storage Group AND
that have a volume serial number that starts with 'WRK'.
SPGSTORGROUP= may appear redundant since only one pool
has WRK* volumes, but it keeps ASMRMFV from matching many
Volume Serials in other Storage Groups if only SPGVOLSER=
were present.
SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK* SPGVOLSER=WORK*
only selects volumes in the WORKPOOL Storage Group AND
that have a volume serial number that starts with either
'WRK' or 'WORK'. In this example omitting SPGVOLSER=
would have produced the same result and is redundant.
SPGVOLSER= in this case adds unnecessary overhead.
STORGRUP=PRODPOOL SPGSG=TESTPOOL
only selects volumes that are in either the PRODPOOL
or TESTPOOL Storage Groups. Note the use of aliases.
SPGSTORGROUP=WORKPOOL SPGVOLSER=PRD*
selects NO volumes in this example using SPGAND because
the PRD* volumes are in the PRODPOOL AND not in the
WORKPOOL. There will be zero observations in the ZRBSPG
data set in the result MXG PDB.
SPGAND (default) logical ANDing provides more restrictive
SPG entry filtering than SPGOR.
-With SPGOR in effect:
SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK*
only selects volumes that are in the WORKPOOL Storage
Group OR that have a volume serial number that starts
with 'WRK'. In this example omitting SPGVOLSER= would
produce the same result and is redundant. SPGVOLSER=
adds unnecessary overhead in this case with SPGOR because
ASMRMFV will search all other Storage Groups trying to
match that volume serial.
SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK* SPGVOLSER=WORK*
only selects volumes that are in the WORKPOOL Storage
Group OR that have a volume serial number that starts
with either 'WRK' or 'WORK'.
All volumes in WORKPOOL will be selected so that the
SPGVOLSER= keywords are redundant in this example.
SPGVOLSER= adds unnecessary overhead in this case with
SPGOR because ASMRMFV will search all other Storage
Groups trying to match those volume serials.
STORGRUP=PRODPOOL SPGSG=TESTPOOL
only selects volumes that are in either the PRODPOOL
or TESTPOOL Storage Groups. Note the use of aliases.
This example produces the same result as with SPGAND
because two keywords (or any of their aliases) for the
same selection are always logically ORed.
SPGSTORGROUP=WORKPOOL SPGVOLSER=PRD*
selects all volumes in the WORKPOOL Storage Group OR
any volumes that start with 'PRD' in the PRODPOOL
Storage Group.
This is a MUCH different result with SPGOR than if SPGAND
is in effect. With SPGAND no volumes are selected.
ASMRMFV will search all Storage Groups for a match with
the SPGVOLSER= value.
The logical OR with SPGOR results in less restrictive
filtering because any of the 2 conditions in this example
results in data selection of a SPG volume data entry.
-Support for a new multi-table selection filter VOLSER=
(aliases VOLUME=, VOLI=, SER=, VOL=) to allow selection
by Volume Serial from both the RMF Monitor III DVT and
SPG tables with one keyword.
This is a convenience feature to avoid having to code the
Volume Serial parameter twice when the same volume from
both tables is of interest. Both the DVT and SPG tables
must be selected for this multi-table selection keyword
to function completely. Otherwise only entries from the
one selected table are filtered.
Note that most RMF III tables do not contain common
character data fields, but in this case the DVT and SPG
do.
-Example of VOLSER= :
VOLSER=ABC* is equivalent to coding
DVTVOLSER=ABC*
SPGVOLSER=ABC*
-ASMRMFV now supports keywords up to 14 characters in
length up from 12.
-Support +13 / -13 hour offset or +780 / -780 minutes
GMTOFFSET= value for locations near International Date
Line using Daylight Saving Time such as New Zealand.
-MXG00 record version is now X'05' from X'04' and includes
new range and pattern table statistics for SPG filtering.
New ASMxxxxx variables added to ASM00 dataset.
-Add new items to Section 2 "Terminology" :
Enclave, Report Class, Resource Group, Service Class,
Storage Group, and Workload.
-Former Section 27 "Summary" is now Section 29.
-Update documentation for SPGSTORGROUP=, SPGVOLSER=,
and GMTOFFSET= support:
Section 5 "Input Data Selection Parameters"
Section 8 "Error Handling Parameters"
Section 9 "JCL and SYSIN Parameter Usage"
Section 12 "Messages"
Section 13 "Filtered Records"
Section 15 "Program and IBM Limitations"
Section 25 "Ranges and Patterns"
Section 29 "Summary"
-New documentation Section 27 "GMT Offset Support" better
explains use of the GMTOFFSET= keyword added by MXG
Change 34.133 .
-New documentation Section 28 "Collection of DASD Usage
with RMF Monitor III" details the requirements and setup
of DASD usage measurement in the SPG table.
-New documentation Section 30 "Bibliography" lists IBM
manuals and numbers for the Resource Measurement Facility
(RMF) for z/OS 2.2 back to z/OS 1.10.
-Count information messages and include in final RMFV999I
message with documentation update.
Change 34.190 COSMETIC. INVALID ARGUMENT TO FUNCTION DATEJUL(1900000)
VMACTPMX and a hex dump was printed if the DUE OUT time values are
Aug 10, 2016 all zeros. Had no impact on the output TPMX datasets.
Thanks to Scott Wiig, USBank, USA.
Change 34.189 MXG 34.05 ONLY. INPUT STATEMENT EXCEEDED if more than 3
VMAC119 ADDL HOME ADDR fields exist; Change 34.168 update didn't
Aug 10, 2016 protect more than 3. Since this site had 4, now there
are 4 fields kept, and the more than 4 is protected.
Thanks to Scott Wiig, USBank, USA.
Change 34.188 WPS ONLY, and only with user tailoring. The ARRAY CAI
VMAC7072 statement did not specify $1 to set the array to CHAR;
Aug 10, 2016 if the user dropped variable CAI0, WPS failed because it
couldn't identify the type. While this is an internal
WPS issue that will be resolved, adding $1 to the ARRAY
statement removes the exposure.
Change 34.187 Support for SMF 124 I/O Supervisor Information (z/OS 2.2)
FORMATS DDDDDD DATASET DESCRIPTION
EXTY1241 TY1241 TYPE1241 I/O Supervisor Information
IMAC124 The SM124RETTIME field is an invalid value, with the four
TYPE124 byte packed decimal date value first and then the time,
TYPS124 reversed from the standard SMFSTAMP format with time and
VMAC124 then the date. MXG code detects/corrects either format.
VMXGINIT
Aug 15, 2016
Thanks to Scott Barry, SBBWorks Inc., USA
Change 34.186 Support for Mainview for IP RTIN='34'x, TAC9I220 dataset.
FORMATS DDDDDD DATASET DESCRIPTION
IMACMVIP VMIP34 TAC9I220 PIUTRACE
VMACMVIP (Note that IMACMVIP controls which RTIN values are read.)
Aug 15, 2016
Change 34.185 Unused Change Number.
Change 34.184 New percentage variables added to RMF III ZRBSPG dataset:
VMACRMFV SPGFREEP='PERCENT*OF VOLUME*FREE'
Aug 5, 2016 SPGUSEDP='PERCENT*OF VOLUME*USED'
Change 34.183 Support for CICS/TS 5.4 OPEN BETA.
VMAC110 -New variables added to CICSTRAN DCN=416 DRL=3588.
Aug 7, 2016 but no dictionary records were produced at startup so the
new CICSTRAN fields are unknown, and it is also unknown
if new fields were inserted or appended. Current MXG
code falls thru and uses 5.3 INPUT code for 5.4 records
but that is WRONG if there were INSERTS.
-Type 110 Subtype 2 STID 108 statistics CICTCPIP new vars:
SORTCPIPSMAXPERSIST='MAXIMUM*PERSISTENT*CONNECTIONS'
SORTCPIPSNONPERSIST='NON*PERSISTENT*CONNECTIONS'
SORTOTALCONNS ='TOTAL*CONNECTIONS'
SORNONPATMAXPERSIST='MADE*NON-PERSISTENT*MAXPERSIST*REACHED'
SORNONPATTASKLIMIT ='NEW NON*CONN MADE*TASK LIMIT*EXCEEDED'
SORDISCATTASKLIMIT ='DISCONNECTS*TASK LIMIT*EXCEEDED'
SORDISCATMAXUSES ='DISCONNECTS*MAX USERS*EXCEEDED'
SORCURRBACKLOG ='CURRENT*BACKLOG*Q-DEPTH'
SORCONNSDROPPED ='CONNECTIONS*DROPPED'
SORCONNLASTDROPPED ='DATETIME*LAST*CONNECTION*DROPPED'
SORCURRMAXBACKLOG ='BACKLOG*CURRENTLY*IN USE'
SORREQUESTS ='REQUESTS*PROCESSED'
Change 34.182 MIMPRID=2 Record sample count variable MIMCFNBR=0, but
VMACMIM numerous fields are divided by Sample Count, so their
Aug 3, 2016 divide caused DIVIDE BY ZERO messages and missing values
in those variables. Temporarily, those divides are now
inside a IF MIMCFNGR GT 0 DO group so the numbers are
not set missing, while vendor contact is pursued.
Change 34.181 -Defective BMC CMF type 74 subtype 4 records with SMF744ML
VMAC74 zero (no SCM segments) but with non-zero R744RISC (SCM
Aug 3, 2016 segment expected) caused R744Mxxx SCM variables to be
Aug 11, 2016 INPUT when there was no data. Now, SCM segment is INPUT
only when both R744RISC and SMF744MN are non-zero.
This has been reported as a defect to the vendor; one
record has the triplet populated with no segments and the
next record has the data but the triplet count is zero.
-SCM Variables R744MRBT and R744MWBT are now converted to
bytes from KB and formatted MGBYTES. like other SCM byte
containing variables.
-Missing values notes for R749PCIxxx variables eliminated
by wrapping conditional INPUTs with DO Group and moving
the multiply inside the appropriate DO Group.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Thanks to Paul Volpi, UHC, USA.
Change 34.180 -Omegamon XE ATF datetimestamps are now on the LOCAL zone
VMACATF and variable ATFTU2L, the GMT Offset, is now kept in all
Jul 29, 2016 ATF datasets.
Sep 5, 2016 -To correlate the MXG variables with the CSV files from
Oct 14, 2016 IMS Performance Analyzer, these variables are now kept
in all ATF datasets ATFCORI/ATFCORP/ATFCORT to match the
IBM AESCORID/AESCORPPST/AESCORTIME and variable ATFCREKEY
is concat of AESCREID/AESREOASN/AESRECOMN/ATFCRE.
-Summary variables ATFSUD2N/D2E/D2C from IMSATFD2 into the
IMSATFA0 dataset incorrectly included ITEM CODE 9, the
TOTALs, which were double accounted.
-Oct 14. ATFSTART corrected to local time zone.
Thanks to Robert Gilbert, BNPParibasFortis, FRANCE.
Change 34.179 -Updated CHECKSTN, failed only in JCLTES92 in ASUM113 QA
CHECKSTN test, because PDB.TYPE70PR was presumed to exist; now the
VMXGINIT program verifies it exists, or prints note on the log if
Jul 28, 2016 it can't be executed, and why not.
-The CHECKSTN program was added to the ASUM113 program to
report if duplicates exist in your TYPE70PR data, but you
you can suppress its execution with in your //SYSIN with
%LET MXGSTNCK=NO;
Thanks to Anon, Anon, USA.
Change 34.178 Support for RACF 80 TOKDANAM values CRSGUID, SISMIDDL,
VMAC80A SISCCNO, SISDMPID, SISCOMPY, SISECVT, SISFIRST, SISLAST.
Jul 27, 2016 creates new variables
TOKMCSRGUID/TOKMSISMIDDL/TOKMSISCCNO/TOKMEMPID/
TOKMSISCOMPY/TOKMSISECVT/TOKMSISFIRST/TOKMSISLAST
in dataset TYPE80TK.
Thanks to Michael Oujesky, DTCC, USA.
Change 34.177 Cosmetic. TMON/CICS History file with TMONPROD='D' have
VMACTMO2 LENMONI=0. causing "SHORT RECORD" warnings on the log,
Jul 27, 2016 but these records with TMMDREC='DD' are not the records
wanted, so they are now deleted prior to the length text.
Thanks to Rodger Foreman, Transunion, USA.
Change 34.176 RACFTYPE=6 COMMAND RACFEVNT=19:PERMIT with RACFDLN=12
VMAC80A caused invalid segment skipped message because MXG only
Jul 27, 2016 expected 11.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 34.175 zVM 6.3.16.1 added 4 bytes to PRCPUP segment but MXG did
VMACVMXA not protect correctly, causing PROBABLY DATA LOSS ERROR
Jul 26,2016 on the SAS log. SKIP logic is corrected and the dataset
VXPRCPUP is now output for each segment; previously, only
the last segment was output with the Park/Unpark metrics.
Thanks to Joe Faska, DTCC, USA
Change 34.174 New NOTYPE= parameter lets you specify a list of SMF IDs
VMXGGETM to not be copied. They will be counted in the input but
Jul 26,2016 not in the output counts. Column percentages were added
to the output report. VMXGGETM creates an SMF output file
selecting N records of each SMF ID.
======= Changes thru 34.173 were in MXG 34.05 dated Jul 25, 2016========
Change 34.173 Support for IAM Shorter Record INPUT STATEMENT EXCEEDED.
VMACIAM Change 34.008A in MXG 34.01 added support for V9.2 with
Jul 25, 2016 segment lengths of 292 and 264 bytes for IAMIAINL and
IAMIASTL, but V9.0 has shorter 204/148 segment lengths
that are now detected and protected.
Thanks to Paul Naddeo, Fiserv, USA.
Thanks to Bernie Ethridge, Fiserv, USA.
Change 34.172 See Change 34.216.
Change 34.171 The "IHDR" member for BMC MAINVIEW FOR IP did not contain
IHDRMVIP the MACMVIH macro variable, which also needed to be
VMXGINIT defined in the %GLOBAL statement in VMXGINIT.
Jul 24, 2016
Change 34.170 Support for WebSphere Liberty Batch SMF 120 subtype 12.
EXT12012 Creates new dataset:
VMAC120 dddddd dataset description
VMXGINIT T12012 TYP12012 WAS LIBERTY BATCH
Jul 23, 2016
Change 34.169 The zVM HIS macros _TPRCMFC/_TPRCMFM/_XPRCMFC/_XPRCMFM
VMACVMXA must also create VXMTRPRP to populate the PFXCPT array.
Jul 19, 2016 The _Tdddrrr macros read VMINPUT and the _Xdddrrr macros
read the MWINPUT file to create each VXdddrrr dataset.
Thanks to Scott Barry, SBBWorks Inc., USA
Change 34.168 Support for SMF 119 Subtype 6 Home IP Address section
VMAC119 adds these first three instances to dataset TYP11906:
Jul 16, 2016 IFADDLIN1='IFADDINTFNAME*1'
IFADDLIH1='IFADDINTFHOME*1'
IFADDLIN2='IFADDINTFNAME*2'
IFADDLIH2='IFADDINTFHOME*2'
IFADDLIN3='IFADDINTFNAME*3'
IFADDLIH3='IFADDINTFHOME*3'
Thanks to Wolfgang Kueller, S-Itsolutions, AUSTRIA
Change 34.167 Protect for duplicate SMF70STN values in TYPE70PR data.
ASUM113 ONLY NEEDED IF YOU HAVE LPARs WITH THE SAME SYSTEM NAME.
CHECKSTN
VMAC7072 -New SOLUTION FOR THE ASUM113 PROBLEM:
VMXGINIT The text below shows SMF70STN can not be used to match
Jul 16, 2016 TYPE1131 data with TYPE70PR data, but an alternative to
Jul 25, 2016 identify which TYPE70PR obs belong to this SMF record:
Jul 28, 2016 IF PARTISHN(SMF70PTN)=LPARNUM(SMF70LPN) in TYPE70PR,
that LPAR is the LPAR of this SMF 70 record, which is
then selected to be merged with TYPE1131s. BUT YOU
MUST have BOTH 70s and 113s, and ONLY from one LPAR,
for ASUM113 to create valid PDB.ASUM1131 dataset.
-NO SOLUTION FOR THE ASUM70PR PROBLEM:
If you have duplicate SMF70STN values with CHECKSTN,
there is NO SOLUTION to use ASUM70PR to combine the
multiple LPAR's TYPE70PR data; those duplicates cause
PCTCPUBY to be incorrect (over 100%) with other metrics
also wrong. YOU MUST PROCESS EACH DUPLICATED LPAR's
SMF/RMF data into a SEPARATE PDB FOR EACH OF THE LPARs.
-The new CHECKSTN program can be run to read PDB.TYPE70PR
to produce a report ONLY if duplicate SMF70STN values for
different LPARNAMEs are found in your data:
// EXEC MXGSAS94
//PDB DD DSN=YOUR.TYPE70PR.PDB,DISP=SHR
//SYSIN DD *
%INCLUDE SOURCLIB(CHECKSTN);
-Original Change text, prior to Jul 25:
IN GENERAL, MXG CAN NOT HANDLE MULTIPLE SYSTEM NAMES THAT
ARE FOR UNIQUE SYSTEMS TO BE COMBINED. YOU MUST CREATE
SEPARATE PDB DATA LIBRARIES FOR EACH SYSTEM AND THEY CAN
NOT BE MERGED/COMBINED.
The SMF70STN (LPAR's SYSTEM name) is needed in ASUM113
as it is the only mapping from the z/OS SMF SYSTEM name
to that systems LPARNAME, and must be used there so the
TYPE70PR LPAR utilization variables can be added to the
PDB.ASUM1131 dataset. But RMF data with the same SMF70STN
for different LPARNAMEs has occurred and that corrupts
the PDB.ASUM1131 dataset with incorrect values and
creating multiple LPARNAMEs when there was only one
system's SMF 113 records.
The original solution required you to tell MXG the real
SYSTEM name of those LPARNAMEs that are duplicated, using
the new "exit" MXGSTNFX macro variable:
%LET MXGSTNFX=
%QUOTE( IF LPARNAME='EJQ1' THEN SMF70STN='EJQ1';
ELSE IF LPARNAME='EJQ2' THEN SMF70STN='EJQ2';
);
That statement can be put in "USERID.SOURCLIB(IMACKEEP)"
so it is always used when TYPE70s are processed, or it
can be the top of the SYSIN for a specific job.
But it may not be required with the PARTISHN fix.
Thanks to Jim Poletti, EdJones, USA.
Change 34.166 Support for SMF Type 87 Subtype ENQ/DEQ records.
EXTY8702 Code has been syntax checked, await subtype 2 records to
VMAC87 validate the updated code.
VMXGINIT
Jul 14, 2016
Change 34.165 -RMF Type 74 dataset TYPE74SL variable R748LFBC was input
FORMATS as RB4. but it is a binary value, now input as PIB4.
VMAC74 R748LFBC /*FI CHAN*BIT*ERROR*RATE*/
Jul 13, 2016 -Format MG0748L had value decimal 7 for 10GB Ethernet but
that may have been a guess for the undocumented value
that is now documented as 10x or 16 decimal.
Thanks to Scott Barry, SBBWorks Inc., USA
Change 34.164 Support for IDMS Version 19 (which is INCOMPATIBLE only
VMACIDMS when you install IDMS PTF R084146)! There was no change
Jul 13, 2016 in the V19 SMF record's format, but R084146 changed the
value of SMFHDR to 1900, which caused this error message:
UNKNOWN IDMS RECORD PMHRTYPE=201
FOUND AND SKIPPED. SMFHVER=1900 _N_=2 START COL=25
because MXG had one test for SMFHVER='1800' that needed
to be changed to GE '1800' to read records with the PTF.
Thanks to William Marshall, Ensono, USA.
Change 34.163 Support for SMF Type 120 Subtype 11 Liberty 16.0.0.2 that
EXT120BL created three new datasets:
EXT120BC dddddd dataset description
EXT120BU T120BL TYP120BL Liberty Server Request Network
FORMATS T120BC TYP120BC Liberty Classify Segments
VMAC120 T120BU TYP120BU Liberty User Segments
VMXGINIT For the User segment, SM120BDH is $CHAR32 with $HEX64
Jul 13, 2016 format, and can be decoded in EXT120BU and _KT120BU can
be tailored to add the new variables you created.
Unfortunately, NONE of these new fields have IBM-provided
field names; MXG had to create names beginning SM120Bxx
to be somewhat consistent with previous IBM name choices.
You will have to use the variable label to actually map
back to the marginal documentation of these new records.
-Subtype 11 datasets TYP12011 and TYP120BU both have zero
observations now, with internal record version 2 records.
Thanks to David Follis, IBM, USA
Thanks to Steve McKee, FMR, USA.
Change 34.162 Support for z/OS 2.2 JES2 8-character JOBCLAS8 variable,
BUILD005 which is now added to the JES2 PDB.JOBS and PDB.STEPS
VMAC26J2 datasets, so both the 1-char JOBCLASS and the 8-char
Jul 11, 2016 JOBCLAS8 variables are kept. JOBCLAS8 variable has been
Jul 24, 2016 kept in SMF 30s, from either JES2 or JES3, but TYPE26J2
Jul 29, 2016 is now updated to also keep JOBCLAS8 variable.
Note that JES3 PDB.JOBS and PDB.STEPS, changes variable
JOBCLASS to 8-characters.
Jul 24: UNINIT JOBCLAS8 in SPIN.SPIN26J2 corrected.
Jul 28: JOBCLAS8 added to TYPE26J2 dataset.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 34.161 -Missing values for variables WQTTTIME/WQOPENTI/WQCLOSTI
VMAC116 in dataset MQMQUEUE were created from (only) subtype=2
Jul 11, 2016 records. IBM does NOT provide a GMT offset field in 116,
but MXG heuristically created the offset value in the
subtype 1 (where the WTASINTE interval end can be used
with SMFTIME), but there is no similar end time field
in subtype 2 records. Now, GMT116OFF is created and
retained and used for subtype 2 records. The name was
changed to not impact other SMF records with GMTOFF.
-Missing values were created for variable WTASPRET for
old WTASVER LT 8 records; the /4096 was always executed
but is now only calculated for GE 8 records.
Change 34.160 -VMXGALOC did not check for the valid YYMMDD format in the
VMXGALOC DATEFMT= parameter and could then fail with an invalid
Jul 11, 2016 format error. If you used YYMMDD6 or YYMMDD8 it worked.
-VMXGALOC previously upcased directory names, anticipating
possible name comparisons with upper case source text;
this was fine for Windows, but only worked on Linux if
the directory name was all upper case, because names on
Linux are case-sensitive (i.e., directory A is NOT a).
The upcase was removed, but on Linux you must use the
exact casing of the directory name in your BASEDIR=.
-The BASEDIR= directory must exist, or VMXGALOC will shut
itself down, setting MXGRTRN to ABEND, and printing an
additional message on Linux with the name you supplied to
remind you casing is required there.
Thanks to Joe Varkey, Verisk Analytics, USA.
Change 34.159 If you did not use the ODSTYPE parameter ANALAVAI failed,
ANALAVAI looking for a macro variable created by VMXGODSO, which
Jul 11, 2016 was not executed. Now checks the value of ODSTYPE and if
it is NO or NULL, suppresses VMXGODSC.
Change 34.158 Cosmetic. If you specified BUILDPDB=NO, the display of
UTILBLDP parameters you entered showed the internal default list
Jul 11, 2016 MXGINCL of members to be included. Those members were
NOT included with BUILDPDB=NO, but the displayed list
was not accurate. Now only the USED (i.e., non-blank)
members included are displayed on the log.
Change 34.157 Support for SMF 117 IBM Integration Bus Version 10.0.0.5
VMAC117 which INCOMPATIBLY removed fields in the FLOW segment.
Jul 10, 2016 But MXG didn't keep some identity variables from FLOW in
the other three datasets. Previously known as Websphere
Message Broker.
Thanks to Betty Wong, Bank of America, USA.
Change 34.156 RMF III NOTE: INVALID DATA FOR ASIQSCANxxxxx because some
VMACRMFV variables with PIB informat were input with RB informat.
Jul 10, 2016
Change 34.155 New type 42 subtypes that contain a JOB variable did not
IMACJBCK include the IMACJBCK Job Name Check macro that allows you
VMAC42 to select observations to be output. IMACJBCK has been
Jul 9, 2016 added for these TYPE42xx datasets: 4220/4221/422A/4222/
4223/424A/4224/4225/4227/4237/42VS. In case you were not
aware, these comments document IMACJBCK selection:
SPECIFIC JOB CAN BE SELECTED. WHEN INVOKED, ALL OF THESE
VARIABLES HAVE BEEN READ AND ARE VALID FOR TESTING:
ID JOB READTIME SMFTIME SYSTEM
NOT ALL RECORDS WITH JOB NAME HAVE A JESNR FIELD, BUT
6 25 26 30 32 42 59 91
RECORDS HAVE INPUT JESNR WHEN THIS EXIT IS INVOKED.
FOR SMF 30 RECORDS, NRCPU=0 IF THIS IS A MULTIDD='Y'
RECORD. AND %LET MACJBCK can be used instream.
Thanks to Michael Oujesky, DTCC, USA.
Change 34.154 Support for TYPE41VF new fields in z/OS 2.3:
VMAC41 SMF41LRG='LARGEST*OBJECT EVER*ATTEMPTED'
Jul 9, 2016 SMF41TIM='LAST*SUCCESSFUL*COFDEFIN'
SMF41AAG='CURRENT*ALERTAGE*VALUE'
SMF41YAG='YOUNGEST*TRIMMED*OBJECT*SINCE LAST'
SMF41MAG='YOUNGEST*TRIMMED*OBJECT*SINCE MAXVIRT'
SMF41CAG='AGE*EXECPTIONS*RAISED'
From ICN1494.
Change 34.153 Change 33.031 missed two instances of the LOWCASE()
BLDSMPDB function that should have been converted to UPCASE().
Jul 6, 2016
Thanks to Richard Krueger, Sentry, USA.
Change 34.152 -DOW= filter was not working and all days of the week were
ASMRMFV selected instead.
Jul 5, 2016 -Message RMFV014W ALL DATA SETS BYPASSED was not shown
when applicable.
Thanks to Randy Hewitt, HPE Enterprise Services
Change 34.151 When VMXGSUM finished SYSLAST was not pointing at the
VMXGSUM output dataset created but rather at an intermediate
Jul 1, 2016 dataset created. Now when VMXGSUM is done SYSLAST is set
to the output dataset created so that you can then do a
PROC whatever without a dataset name.
Change 34.150 FORMAT MGCICUU for CICS variable WBRUSAGE has two new
FORMATS values of 4:ATOM and 5:JVMSERVER.
Jun 30, 2016
Thanks to Wayne Bell, UNIGROUP, USA.
Change 34.149 Reserved Change.
Change 34.148 Support for ODM Version 8.8.0.1 SMF type 120 subtype 100
VMAC120 adds variables to TY120100 dataset:
Jun 30, 2016 SM120RULEXETYP='RULESET*ENGINE*TYPE'
SM120RULEXEVER='RULESET*ENGINE*VERSION'
SM120RULEXFBOM='RULESET*IS*BOMS*SUPPORT*ENABLED?'
SM120RULEXFDEB='RULESET*IS*DEBUG*ENABLED?'
SM120RULEXFMON='RULESET*IS*MONITORING*ENABLED?'
SM120RULEXFTRC='RULESET*IS*TRACE*ENABLED?'
While the SMF 120 record is created by WebSphere, the
subtype 100 was given to ODM and is not from WAS.
Thanks to Paul Volpi, UHC, USA.
Change 34.147 BUILDPDB processing of PRINTWAY/INFOPRINT product SMF 6
BUILD005 records that have no matching 30s nor 26s were left in
VGETJESN SPIN.SPIN6 until SPINCNT expired when they were finally
VMAC6 output to PDB.PRINT dataset. There are two types of
Jun 28, 2016 PRINTWAY records. MXG decodes them setting variables
BASIC: TYPETASK/SUBSYS/SUBSYS6 are set to 'TCP'.
EXTENDED: TYPETASK/SUBSYS/SUBSYS6 are set to 'TCPE'
and the logic in BUILDPDB outputs all 'TCP ' records to
PDB.PRINT, while 'TCPE' records that didn't match today
are held in SPIN.SPIN6 to match the other records from
those jobs.
Trivia: JCTJOBID for BASIC contains PSnnnnnn which
is not documented and is different than PSFnnnnn for
type 6 records created by PDF.
Thanks to Paul Maradin, HP Advanced Solutions, USA.
Thanks to Grayg Mitrou, HP Advanced Solutions, USA.
Change 34.146 FORMATS MGSRDFC/M/G/S decode SRDCONST/MODE/GROUP/CONSI.
FORMATS
VMACSRDF
Jun 28, 2016
Thanks to Joe Faska, DTCC, USA
Change 34.145 -IFCID 106 new variables QWPBSQLL and QWP4DDLTO parms are
VMAC102 input and kept in dataset T102S106.
VMACDB2H -QWHSRELN value could be truncated and print 10.0999999.
Jun 27, 2016 Now it is forced to print as 10.1.
Jul 3, 2016 -QWPRRENAMETABLE decoded from QWP4MISB and kept.
Thanks to Scott Barry, SBBWorks Inc., USA
Thanks to Lai Fai Wong, Bank of America, USA.
======= Changes thru 34.144 were in MXG 34.04 dated Jul 25, 2016========
Change 34.144 -RMFINTRV message MSU variables are UNINITIALIZED has no
VMXGRMFI actual impact; LENGTH was defined in R72HOUR but those
VMXGSUM variables are not initialized until the MERGE RMF70HOUR.
Jun 23, 2016 Relocated the LENGTH statement to eliminate messages.
-VMXGSUM with NOSORT=YES printed note that MXGSUM2 could
not be deleted, but it doesn't exist with that option, so
also no actual impact. Note no longer printed.
Change 34.143 ZVPS 4.2.3 variable CPUUTIL in dataset XAMSYS was likely
VMACXAM zero because new SYTCUV segment also input CPUUTIL for
Jun 21, 2016 each CPU and the last value was kept in XAMSYS. Now,
from SUBSUM segment is renamed at input and renamed back
at XAMSYS output.
Thanks to Douglas C. Walter, CitiCorp, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 34.142 Change 34.010 did not set the lengths for the new
VMXGRMFI variables created and could result in multiple length
Jun 21, 2016 error messages when running TRNDRMFI.
Change 34.141 WARNING: MEMNAME HAS DIFFERENT LENGTHS is eliminated.
VMXGSRCH
Jun 20, 2016
Change 34.140 Housekeeping. BUILD001 intentionally leaves all of the
ANALID CICS Statistics Data Sets in //WORK after the SMF DATA
ASUMTAPE step, so they are available to be copied by EXPDBOUT if
BUIL3005 desired, and so that CICINTRV can be created in BUILD004,
BUILD005 by VMXGCICI, but now those datasets are deleted after the
PDBAUDIT PDB.CICINTRV has been created. Other members similarly
SPUNJOBS left unneeded datasets in //WORK that are deleted now, to
VMAC113 minimize the required disk space.
VMAC73
VMAC74
VMACDB2
VMXGCICI
Jun 19, 2016
Change 34.139 The highest memory usage in BUILDPDB was in the VMXGSUM
BUILD005 step that created INTVSIOS, but that dataset is already
BUIL3005 sorted, so the option to use CLASSNWAY is suppressed and
Jun 17, 2016 NOSORT=YES is specified to bypass the sort and PROC MEANS
is executed with a BY statement which reduced memory from
242MB to 195MB, and now the DATA step is largest, also
requiring 195MB for this tailored BUILDPDB execution.
Change 34.138 Cosmetic. Variable OVOLSER was 20 bytes ending with a
TYPETMS5 period in byte 20 unless Site Tailoring for Multiple CA/1
Jun 16, 2016 catalogs was used (Change 27.111). Period is now gone.
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 34.137 Major revision to VMXGSUM that could save CPU time.
ASUMCACH This change creates a new parameter, CLASSNWAY with the
VMXGINIT default value of &MXGSUMCLASS, which itself has default
VMXGSUM value of blank, so that you can enable the new logic with
Jun 17, 2016 only %LET MXGSUMCLASS=YES; in //SYSIN, which changes
the current summarization logic to use the CLASS/NWAY
feature of PROC MEANS, instead of the original default.
-The default VMXGSUM logic can be a four step process with
an optional DATA step created (if INCODE=, NORMx=, or
INTERVAL=x arguments are used) to feed the PROC SORT that
feeds the PROC MEANS which may be followed by another
optional DATA step (if NORMx= or OUTCODE= are used).
-The MXGSUMCLASS=YES revision alters the default logic to
remove the SORT and instead invokes the CLASS and NWAY
options on the PROC MEANS, which can greatly reduce the
amount of CPU time consumed since the SORT is eliminated
(in one simple test the zOS CPU time went from 68 seconds
to 28 seconds!
-But, it is VERY possible for the use of CLASS to require
a significant increase in the virtual storage (REGION)
required, in return for reduced CPU time.
-The original MXG design was required because when first
created, virtual memory was an extremely limited resource
and the algorithm minimized memory required. But now,
with memory no longer so restricted nor expensive, using
MXGSUMCLASS option lets test and observe the trade off
to see which options is of benefit to your invocation.
-Executing MXG on z/OS using MXGSUMCLASS=YES:
It is possible you could save some CPU time but the
cost is an increase in high memory usage - more than
doubled in some tests and the CPU time saved will be
primarily in ASUM* TRND* ANAL* GRAF* members run after
BUILDPDB (BUILD005 only has 3 VMXGSUMs, but VMXGCICI
for PDB.CICINTRV has many that may or may not be helped.)
MXGSUMCLASS=YES did fail once because the utility files
used filled the //WORK space, so that specific case in
ASUMCACH has disabled MXGSUMCLASS to circumvent.
The amount of CPU time saved is a complex function of
the complexity of the data - the number of OBS, BY
groups, and count of intersects - each impact memory
utilization so that you must test across several day's
data since the results can vary from day to day as the
complexity changes.
-%LET MXGSUMCLASS=YES; applies to ALL VMXGSUM invocations
after that statement in that job step. You can change any
VMXGSUM invocation after that to revert to the original
logic by adding CLASSNWAY=NO to that VMXGSUM invocation.
-Executing on ASCII thus far has not shown a significant
benefit with MXGSUMCLASS but 'your mileage may vary'.
-These are test results from zOS running SAS 9.3 and using
UTILBLDP with inclusion of many of the ASUMxxxx members,
all of which are VMXGSUM invocations:
%UTILBLDP(USERADD=42 6156,OUTFILE=INSTREAM,BUILDDB=YES);
%INCLUDE INSTREAM;
JOB CPU % CPU CPU
CPU % CHG READING READING PROCESSING
TEST TIME CPU DATA DATA DATA
BY USED 1:17:53.66 . 0:46:28.06 59.65 0:31:25.60
CLASS USED 1:10:19.36 9.72 0:47:12.14 67.12 0:23:07.22
% CPU % CPU
PROCESSING CHANGE TOTAL % CHANGE TOTAL
TEST DATA PROCESSING EXCP EXCP IO TIME
BY USED 40.35 . 1478119 . 0:28:39.67
CLASS USED 32.88 26.43 1199259 18.87 0:17:11.95
HIGH % CHANGE
% CHANGE MEMORY HIGH
TEST IO TIME USED MEMORY
BY USED . 280M .
CLASS USED 39.99 242M 13.38
And here are some further tests comparing BUILDPDB on zOS
and Windows 10. The same input data was used in both
but the DB2/CICS data was compressed so on zOS the CICS
SMF INFILE exit was used but on Windows more CPU time was
consumed to read the data. zOS is running SAS 9.3 and
Win 10 is running 9.4.
Test BUILDPDB Only zOS NWAY zOS BY Win NWAY Win BY
Data step elapsed 0:10:35 0:10:59 0:07:07 0:07:03
Data step CPU 0:08:51 0:08:53 0:07:09 0:07:02
Data Step MAX K Memory 173496 173496 320388 320388
Job elapsed Time 0:14:30 0:14:54 0:08:35 0:08:32
Job CPU 0:11:25 0:11:30 0:08:13 0:08:08
Job MAX K High 173496 173500 449928 449928
Step with HIGH memory DATA STEP DATA STEP SORT SORT
DB2ACCTP DB2ACCTP
Test with ASUMs Win 10 NWAY Win 10 BY
Data step elapsed 0:07:28 0:07:08
Data step CPU 0:07:15 0:07:09
Data Step MAX K Memory 320388 320388
Job elapsed Time 0:10:02 0:10:58
Job CPU 0:09:24 0:09:54
Job MAX K High 727880 449928
Step with HIGH memory ASUMCACH SORT
DB2ACCTP
DB2ACCTP
TECHNOTE: Using MXGSUMCLASS=YES on zOS
Thus far this applies only to zOS. There are no known exposures on
ASCII. Members that have failed:
BUILD005/BUIL3005 - automatically suppressed on zOS
ASUMCACH - automatically suppressed on zOS
ASUMCICS
ASUMCICX
ASUMDB2A
ASUMDB2P
There are two failure modes.
1) UTILITY files fill up work and cannot expand
2) Memory failures as memory expands
The problems will occur if you have many OBS (at least tens of
millions possibly hundreds) and many BY groups which create a large
number of intersections.
If you have a failure, bring the member that failed into your
USERID.SOURCLIB.
The simplest change is to add CLASSNWAY=NO to the parameter list of
the VMXGSUM invocation. That will revert to the original logic for
VMXGSUM of DATA STEP/SORT/MEANS/DATA STEP but also means you will
not be saving any time.
A more complex option is to modify the parameters. For each BY
group MEANS must build a counter for each of the variables in any
of the SUM MEANS MAX etc parameters. That can quickly add up to a
lot of space. So you can either reduce the complexity by reducing
the variables in the BY list or by reducing the number of variables
being SUMMed MEAned MAXed etc.
An example using ASUMCICX (only a partial copy):
MACRO _BSUCICS APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME
SYSTEM SHIFT %
Are OPERATOR USER TERMINAL really necessary in your summarized
data? In many cases TERMINAL is an IP address that is largely
meaningless. OPERATOR and USER may be the same. Reducing the
number of variables in the BY list can help.
%VMXGSUM(INVOKEBY=ASUMCICX,
KEEPALL=&KEEPALL,
INDATA= _LSUUOW ,
OUTDATA= _LSUCICS ,
DSNLABEL=SUCICS: CICSTRAN &SUCIINTV SUMMARY,
DATETIME=STRTTIME,
SUMBY= _BSUCICS ,
DURATM =INTERVAL,
INTERVAL=&SUCIINTV,
SYNC59=NO,
NEWSHIFT=Y,
MAX= RESPMAX,
SUM= DSPDIOCN DSPDIOTM FCAMCNT IRESPTM RESPBKT1-RESPBKT8
TASCPUTM TRMCHRCN WTDISPCN WTDISPTM WTFCIOCN WTFCIOTM
WTIRIOCN WTIRIOTM WTJCIOCN WTJCIOTM WTRLIOCN WTRLIOTM
WTTDIOCN WTTDIOTM WTTSIOCN WTTSIOTM SSQELAP CPUTM
CLASS3TM CLASS3WT DB2CONCN DB2CONTM DB2IDLE DB2RDYCN
DB2RDYTM DB2REQCT DB2SRBTM DB2TCBTM DB2TRAN DB2WAICN
DB2WAITM MROTRAN,
In the SUM= list do any of your reports depend on all of these
variables? If not eliminate those variables. Do any of your CICS
transactions use DB2? If not eliminate the DB2 variables.
The key to getting the advantage of reduced CPU and elapsed time on
zOS with these members is reducing the complexity.
Change 34.136 Support for up to six USERCHAR fields, and revisions
UTILEXCL to support USER fields that are in the middle of the
IMACIC3U segment, which were not correctly handled.
IMACIC4U
IMACIC5U
IMACIC6U
IMACIC3D
IMACIC4D
IMACIC5D
IMACIC6D
Jun 8, 2016
Change 34.135 Additional Q8ST variables are INPUT if they exist:
VMACDB2 Q8STINSC='INSERT*STATEMENTS*SENT TO*IDAA FROM DB2'
Jun 7, 2016 Q8STUPDC='UPDATE*STATEMENTS*SENT TO*IDAA FROM DB2'
Q8STDELC='DELETE*STATEMENTS*SENT TO*IDAA FROM DB2'
Q8STDRPC='DROP*STATEMENTS*SENT TO*IDAA FROM DB2'
Q8STCRTC='CREATE*STATEMENTS*SENT TO*IDAA FROM DB2'
Q8STCMTC='COMMIT*STATEMENTS*SENT TO*IDAA FROM DB2'
Q8STRBKC='ROLLBACK*STATEMENTS*SENT TO*IDAA FROM DB2'
Q8STOPNC='OPEN*STATEMENTS*SENT TO*IDAA FROM DB2'
Change 34.134 VMXGCOPY copies from multiple inputted SAS Data Libraries
VMXGCOPY to one output Data Library with member selection, etc.
Jun 7, 2016 If your parameters were lower case nothing was found to
copy since the values passed back for LIBNAME and MEMNAME
are uppercase and the compare was always false. To make
it worse it also failed with a bad macro variable name
reference because the variable was not constructed when
nothing was found.
Thanks to Tim Hare, Southwood Shared Resource Center, USA.
Change 34.133 -Support for GMT Offset in MINTIME Sample Set filtering,
ASMRMFV improved MXG00 table data, and other minor enhancements.
ADOCRMFV -The GMT offset feature scales RMF MONITOR III Sample Set
JCLCRMFV begin (SSHTIBEG) and end (SSHTIEND) timestamps to a
JCLDRMFV common user specified GMT time offset ranging from -12 to
JCLRMFV +12 hours or -720 minutes to +720 minutes.
VMACRMFV IMPORTANT: This support does NOT modify any timestamps
Jun 11, 2016 in the output RMFBSAM file. The SSHTIBEG and SSHTIEND
time stamps are modified temporarily ONLY during the
FROMDATE=/TODATE= FROMDATE=/TODATE= filter processing.
-The purpose of the support is to allow an installation to
input RMF III data sets from different time zones and
build a PDB with data relative to a specific time zone.
-Although GMT (Greenwich Mean Time) is technically an
obsolete term replaced by the modern UTC (Coordinated
Universal Time) term, GMT still appears extensively in
RMF documentation and within MXG itself. So the term GMT
is still used for historical consistency.
-The new ASMRMFV keyword to specify a GMT offset is
GMTOFFSET=. Aliases are GMTOFF=, GMT=, GMTOFFSET,
GMTOFF, and GMT.
-When the '=' is missing then GMTOFFSET=0 is implied. The
'=' is required to specify a non-zero GMT offset value.
-Any of the following formats are supported for GMTOFFSET=
(and aliases GMTOFF=,GMT=) :
h -h +h
hh -hh +hh
hH -hH +hH
hhH -hhH +hhH
where h ranges from 0 to 9 and hh from 00 to 12. Values
over 12 are flagged as errors and will abend ASMRMFV. An
h or hh value of zero means scale timestamps to GMT time.
Unsigned h or hh values imply a positive GMT offset. A
'-' sign is required to specify a negative offset.
The capital 'H' suffix is optional and is provided just
to make the unit measure clear if desired.
-Positive GMT offsets are for time zones east of GMT up to
the International Date Line including most (if not all)
of Europe, Africa, Asia, Australia, and many island
groups.
-Negative GMT offsets are for time zones west of GMT up to
the International Date Line including North and South
America and some island groups.
-A few time zones have GMT offsets that are not integer
hour values such as India, some Australian zones, and
some island groups. For example, India is GMT+5:30.
-For the support of these non-integer offset time zones
any of the following formats are supported for GMTOFFSET=
(and aliases GMTOFF=, GMT=) in minutes:
mM -mM +mM
mmM -mmM +mmM
mmmM -mmmM +mmmM
where m ranges from 0 to 9, mm from 00 to 99, and mmm
from 000 to 720 (12 hours). Values over 720 are flagged
as errors and will abend ASMRMFV. An m, mm, or mmm value
of zero means scale timestamps to GMT time. Unsigned m,
mm, or mmm values imply a positive GMT offset. A '-'
sign is required to specify a negative offset.
Any user can still specify this form even for integer
hour offsets by converting the hours x 60 to get minutes.
For example, GMT=-4 and GMT=-240M are equivalent.
The 'M' suffix is REQUIRED for a GMT minutes offset. If
omitted the value will be handled as an hour value
instead.
-NOTE: When using GMTOFFSET= the FROMDATE=/TODATE= and
FROMTIME=/TOTIME= filter values MUST be coded based on
the REQUESTED offset time zone. This is NOT necessarily
the Local Time for the time zone where ASMRMFV is
executing.
-GMTOFFSET= processing follows these steps for each RMF
Monitor III MINTIME Sample Set:
1) The Sample Set begin (SSHTIBEG) and end (SSHTIEND)
timestamps are first converted to GMT time using the
SSHSTDIF GMT offset field from the Sample Set Header
(SSH) present for each Sample Set. Then they are set
into temporary timestamp fields for filtering.
2) If GMTOFFSET=0 is in effect, then no further changes
are applied to the temporary timestamps and filtering
continues with the timestamps in GMT Time. They are
compared to the FROMDATE=/TODATE= and FROMTIME=/TOTIME=
option settings.
3) If GMTOFFSET= is non-zero then the temporary timestamp
fields are further altered with the negative or positive
offset value. These altered timestamps are referred to
as Adjusted Time in ASMRMFV documentation and messages.
They are compared to the FROMDATE=/TODATE= and
FROMTIME=/TOTIME= option settings.
4) As noted earlier any selected Sample Set tables are
output to the RMFBSAM file with their original timestamps
unchanged.
-Examples of GMTOFFSET= use follow. In all cases it is an
installation responsibility to transfer the multi time
zone RMF Monitor III data sets to the ASMRMFV execution
site prior to processing. The RMF provided ERBV2S and
ERBS2V Clists are one method to create and retrieve a
sequential copy of an RMF Monitor III VSAM data set.
-Example 1: A London based company wants build an RMF III
PDB for yesterday with RMF III VSAM data sets input from
several different time zones in Europe and Asia for their
peak hours of 09:00 to 15:00. They want to see what
other activity is occurring elsewhere during this time.
ASMRMFV statements:
FROMDATE=YESTERDAY TODATE=YESTERDAY
FROMTIME=0900 TOTIME=1500 GMT
-Example 2: A New York corporation wants build an RMF III
PDB for two days ago in June with RMF III VSAM data sets
input from several different time zones in the United
States for the prime time hours of 08:00 to 17:00. They
need to see if some moving some workloads might result in
fewer delays. They are using Daylight Saving Time and
their time zone is at GMT=-4.
ASMRMFV statements:
FROMDATE=*-2 TODATE=*-2
FROMTIME=0800 TOTIME=1700 GMTOFF=-4
-NOTE: For sites using GMTOFFSET= processing and Daylight
Saving Time the GMT offset changes during the fall
transition to Standard Time and the GMT offset increases
by 1 hour. In the example above it becomes GMTOFF=-5.
One advantage of using pure GMT offsets is that time
changes such as this are not an issue because RMF III
keeps the GMT offset for each Sample Set. RMF III does
not have any awareness of Daylight Saving Time and so it
is a user responsibility to code GMTOFFSET= correctly
before and after a time change.
-Example 3: An India enterprise wants build an RMF III PDB
for the last five days with RMF III VSAM data sets input
from several different time zones in Asia and Europe for
their early morning hours of midnight to 07:00. India
Time is at GMT+05:30 hours. They want to see if some
workload balancing might be possible across multiple data
centers to reducing processing delays or take advantage
of available CPU cycles.
ASMRMFV statements:
FROMDATE=*-5 TODATE=*-1 WINDOW
FROMTIME=0000 TOTIME=0700 GMT=+330M
-Most ASMRMFV timestamp messages are revised or added to
now display the GMT time when GMTOFFSET is used. These
include:
RMFV001I Current Time and Last IPL Time
RMFV008I Input data set Last Open Time
RMFV012I Sample Set Found Begin and End Times
RMFV013I Sample Set Selected Begin and End Times
RMFV017I RMF and z/OS Version Found Time
RMFV023W Sample Set Date/Time - Service Policy missing
RMFV032E Sample Set Date/Time - Program service failure
RMFV039I Sample Set Date/Time - SHOWSAMP option info
RMFV070* Sample Set Date/Time - Service Class Find error
RMFV071* Sample Set Date/Time - Report Class Find error
RMFV072* Sample Set Date/Time - Workload Name Find error
RMFV073* Sample Set Date/Time - Resource Group Find error
RMFV076I Sample Set Date/Time - SHOWASI option info
RMFV078I Sample Set Date/Time - Prior Service Policy use
(* = E, W, or I depending on error settings)
-In addition all above messages (except RMFV001I and
RMFV008I) display the Adjusted Time if GMTOFFSET is
non-zero. So it is possible to get up to three messages
for each timestamp display when GMTOFFSET= is in effect:
Local Time, GMT Time, and Adjusted Time. These provide
an audit trail and verify program operation is correct.
-New parameter SHOWGMT (aliases SHGMT, SG) will display
GMT versions of timestamp messages even if GMTOFFSET is
not in effect. SHOWGMT is forced if GMTOFFSET is in
effect. Updated message RMFV037I displays SHOWGMT
setting.
-New parameter NOSHOWGMT (aliases NOSHGMT, NOSG) will
suppress GMT versions of timestamp messages. NOSHOWGMT
is the default so there should be little need to code
this option.
-New parameter SHOWASI (alias SHASI) displays some ASI
entry data when selected. This is intended primarily for
debugging as it will produce voluminous output in the
ASMRMFV log. This function formerly required a
re-assembly and re-link to be enabled. Updated RMFV037I
message shows status of this setting.
-New parameter NOSHOWASI (alias NOSHASI) suppresses ASI
data display. This is the default and should not need to
be coded.
-New RMFV006I message shows GMTOFFSET status and offset
value.
-New RMFV014I message displays when all tables have been
excluded due to filtering that were not originally
excluded by an entire data set bypass condition. For
example, this can occur when using range and/or pattern
filters to select specific jobs that did not run in the
selected time range.
-New aliases added SHSAMP for SHOWSAMP and NOSHSAMP for
NOSHOWSAMP (default)
-New aliases added SHMATCH for SHOWMATCH and NOSHMATCH for
NOSHOWMATCH (default).
-New aliases added SHZERO for SHOWZERO (default) and
NOSHZERO for NOSHOWZERO.
-New aliases added SHALL for SHOWALL and NOSHALL for
NOSHOWALL (default).
-Add sections to MXG00 ASMRMFV Initialization table for
table capacities, table sizes, buffer/workarea settings,
multiple filter logic options, filter options, GMT offset
settings, report options, output options, error options,
and table selection options. Updated BUILD00 subroutine.
Nearly all ASMRMFV parameter options are now saved except
contents of range and pattern tables. These fields
become variables in the ZRBASM data set in the MXG PDB.
-Raise MXG00 record version to X'04' from X'03'.
-Code path improvements for SHOWTS and STCKCONV
subroutines.
-Some data set names and volume serial numbers were
incorrect in the MXG00 ASMRMFV Initialization table.
-The CAT and CPC tables were not included in example
discussions in the JCLRMFV, JCLCRMFV, and JCLCRMFV
members.
-Documentation updates to:
Section 2 Terminology (Timestamps)
Section 5 Input Data Selection Parameters
Section 6 Report Control Parameters
Section 12 Messages
Section 13 Filtered Records
Section 15 Program and IBM Limitations
Section 26 ASMRMFV and MXG PDB Data Relationships
Section 27 Summary
Thanks to MP Welch, Bank of America, USA.
Change 34.132 Unused.
Change 34.131 ERROR: Invalid date constant " .":d with BLDSMPDB was
BLDSMPDB caused by a typo, the lack of an underscore on the old
Jun 1, 2016 style _TODAY macro, causing LASTWEEK to be miscalculated.
Impacts MONTHLY job, but FORCEDAY=01JUN16 circumvents.
Thanks to Jim Hayes, Huntington Bank, USA.
Change 34.130 New variable GEICSARE, Unallocated Common Area Left, is
VMACRMFV now input and kept in RMF III dataset ZRBGEI, formatted
May 31, 2016 with MGBYTES.
Thanks to Dave Cogar, Wells Fargo, USA.
Change 34.129 Variable R723MCPG, the number of periods in this service
VMAC7072 class, is now kept in dataset TYPE72PD.
May 30, 2016
Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.
Change 34.128 Zen CSM records ZOSAPOOL dataset new ZOSA_POOL_TYPE is
VMACZOSA 'E' for ECSA Pool or 'D' for DataSpace Pool.
May 27, 2016
Thanks to Jerome Vitner, Experian, USA.
Change 34.127 If only one variable was being examined, a NOT SORTED
ANALRANK error could occur due to an insufficiently specified
May 24, 2016 BY list.
Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.
Change 34.126 TYPETMS5 observations for tapes created by old versions
VMACTMS5 of DFDSS contained zeros for BLKSIZE but PGM='ADRDSSU'
May 23, 2016 tapes are always BLKSIZE=65520, so MXG sets that value
for these old tapes.
Thanks to Jim Agrippe, Cleveland Clinic, USA.
Change 34.125 Documentation only. Mainview for IMS IMF/CIMS maintenance
VMACCIMS PUT 1502 PTFs BQI2154, BPK2892 were supposed to correct
May 23, 2016 corrects zIIP CPU times where zIIP Eligible time TRXZIOCP
was greater than the CPU time on CP, TRXZONCP, but does
not appear to correct the problem as of this date.
Change 34.124 MXG Format MGD044K for DB2 Trace Dataset T102S044 updated
FORMATS with new values.
May 18, 2016
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 34.123 -Support for IFCID 365 populates T102S365 dataset.
VMAC102 -Support for IFCID 376 corrects QW0376VN so only QW0376VL
May 18, 2016 bytes are input. Variable QW0376TS is an invalid 8-byte
Jun 1, 2016 value: '1982A5641F29CA5A'x and '0E5F1F1D09F14040'x
are not valid TODSTAMP nor 10-byte DB2 time fields.
Thanks to Lai Fai Wong, Bank of America, USA.
Change 34.122 ANALCSQC counts concurrent MQ Applications from SYSLOG in
ANALCSQX this tailored use of TYPSSYSL that selects only logon
May 17, 2016 +CSQX500I and logoff +CSQX501I MSGID to create a session
event observation, which ANALCNCR then processes to count
and plot concurrent sessions for each quarter hour.
Thanks to Tom M. Kane, AT&T, USA.
Change 34.121 Formal support for SYSLOG (including multi-line messages)
EXSYSLOG with all MXG dataset tokens, to replace SYSLOG member, in
FORMATS particular, so EXSYSLOG/_ESYSLOG dataset exit exists so
IMACSYSL only desired MSGID are output. TYPESYSL exists but only
TYPESYSL creates raw data in WORK.SYSLOG; TYPSSYSL must be used as
TYPSSYSL it invokes the _SSYSLOG sort macro that combines multi
VMACSYSL messages into one observation and writes out PDB.SYSLOG.
VMXGINIT
May 17, 2016
Change 34.120 ERROR: SPIN.SPINPDBAUDIT.DATA HAS TOO LONG A MEMBER NAME
PDBAUDIT occurs if your //SPIN DD was created with SAS Version 6,
May 17, 2016 which allowed only 8-character SAS dataset/member names.
You need to create a new VERSION 9 format data library by
copying the current //SPIN DD data to a NEW V9 SPIN DSN:
// EXEC MXGSASV9
//SPIN DD DSN=YOUR.OLD.SPIN,DISP=SHR
//SPINNEW DD DSN=YOUR.NEW.SPIN,DISP=(,CATLG),SPACE...
//SYSIN DD *
PROC COPY IN=SPIN OUT=SPINNEW MT=DATA;
and then delete OLD and then rename NEW to OLD.
You probably also need to examine all of your re-used SAS
data libraries (PDB,MON,TUE,...WEEK,MONTH, i.e., those
with DISP=OLD that are re-written each time), to see if
any were also created with SAS V6, with the output of
PROC CONTENTS DATA=PDB._ALL_ NODS DETAILS
to see what ENGINE created each of those data libraries.
While MXG has had long dataset names for some time, this
is the first instance in the "mainline" SMF processing
code members used in BUILDPDB, and was introduced in MXG
33.07 in the new PDBAUDIT report of your PDB libraries.
(SAS 6.08 dates back to 1992, so this site's
SPIN dataset has stood the test of time!!)
Thanks to Jeanne Vetter, Dell Services, USA.
Change 34.119 There is a known SAS exposure that can cause a CPU loop
VMXGCNFG after a program has finished, in SAS termination, if you
May 17, 2016 try to dynamically allocate a DD that was already in JCL.
If you use the CONFIG= CONFIMXG option as your MXG JCL
//MXGSTEP EXEC SAS,CONFIG=MXG.SOURCLIB(CONFIMXG)
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),
it does dynamically allocate the SOURCLIB and LIBRARY DD,
but the restriction was only documented. This change
prevents the loop by testing for their allocation, and
causing the job to USER ABEND 777 before the SAS program
actually starts.
Change 34.118 MXG created variable CPUZIPTM_CPUIFATM_INST was wrong and
VMAC30 usually negative because the three component variables
May 15, 2016 should have been added to get the IFA/ZIP Instructions.
Thanks to Paul Volpi, UHC, USA.
Change 34.117 CPU and SU_SEC values for z13 processors added to the
GRAFWRKX formats so that you can model these newer systems with
May 12, 2016 your existing data. This is a very simplistic model
that will only convert the CPU time from the current
model to whatever model you specify with NEWMODEL=.
Change 34.116 Enhancement for RMM/EDGHSKP/TYPEEDGR adds new variables
VMACEDGR SYSTEM and EDGRTIME to all datasets, retained from the
May 13, 2016 Header record.
Thanks to Linda Berkeley, USPS, USA.
Change 34.115 Variable DCDTIMEC, Data Set Create Time in DCOLDSET is
VMACDCOL only populated if
May 11, 2016 - the dataset is on an EAV volume (more than 65K CYL)
- the volume is the first volume for the dataset
(DCDTIMEC is zero in the DSCB for other volumes)
- for non-VSAM, EATTR=OPT must be specified (JCL or
Data Class), because EATTR=NO is the default for
non-VSAM, EATTR=OPT is the default for VSAM.
The DCDTIMEC comes from the FORMAT 9 DSCB control block
(in the VTOC), created for EAS-eligible datasets on EAV
that have EATTR=OPT, except that these datasets
do not have FORMAT 8/9 DSCBs.
Thanks to Donna Roff, FISA NYC GOV, USA.
======= Changes thru 34.114 were in MXG 34.03 dated May 10, 2016========
Change 34.114 Enhancement to TCP analysis %ANALTCP program that allows
ANALTCP selection by user name remote IP address for FTP, API, or
ANAL119 Telnet datasets from SMF 118 (TCP) or 119.
Jun 8, 2016
Thanks to Dave Ireland, USDA, USA.
Change 34.113 Support for COMPUWARE Hiperstation SIEM User SMF record.
EXSIEM01 Also called Hiperstation Application Audit.
EXSIEM02 New datasets are created from these subtypes:
EXSIEM03 dddddd dataset description
IMACSIEM SIEM01 SIEM3270 SIEM 3270 Session 01
TYPESIEM SIEMA1 SIME3270A SIEM 3270 Screen Lines 01
TYPSSIEM SIEM02 SIEMTCP SIEM TCP 02
VMACSIEM SIEM03 SIEMMQ SIEM MQ 03
May 9, 2016 Currently, only subtype 1 is created and supported.
May 19, 2016 -May 19. Variable SIEMLPAR NOT FOUND corrected.
Change 34.112 MXG 34.01,34.02. DCOLLECT dataset DCOLBKUP variables
VMACDCOL UBDSIZE and UBRECSP were incorrectly multiplied by the
May 9, 2016 original *1024 that should have been removed when the
tests for UBFLAG4 was added in Change 34.042.
Thanks to Thomas Peiper, TIETO SWEDEN AB, SWEDEN.
Change 34.111 New TYPE72PD, RMF WLM POLICY DEFINITIONS dataset is now
EXTY72PD created for every service and reporting class.
IMAC7072
VMAC7072
VMXGINIT
May 6, 2016
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 34.110 Parameter INCODE= added so you can add selection SAS
ANALUOW code on all variables and not just time and transaction
May 3, 2016 name. Logic added to detect that no data was found and
terminate ANALUOW
Thanks to Dave Ireland, USDA, USA.
Change 34.109 DB2 Package Dataset DB2ACCTP does not contain QX......
VMACDB2 variables. QX variables exist only in DB2ACCT and the
May 4, 2016 DB2STATB datasets (initially from DB2STAT1).
Thanks to Jane S. Stock, USPS, USA.
Change 34.108 DB2 Simulated Buffer Pool DB2STSBP/DB2STATS variables
VMACDB2 QBSPIUS, QBSPSUS (current) and QBSPHSU, QBSDPHUS (hwmark
May 3, 2016 pages) should not have been deaccumulated.
Variable QBSPREADS is now correctly deaccumulated.
And variable QBSTRHS in DB2STATB is now deaccumulated.
Thanks to Lai Fai Wong, Bank of America, USA.
Change 34.107 -A typo, SYSTYPE instead of &SYSTYPE caused unresolved
ANAL9914 macro because no observations were created. The correct
May 3, 2016 syntax for the report for SYSTEM=SYS1 and SYSTYPE=Z13 is
May 4, 2016 %ANAL9914(SYSTEM=SYS1,SYSTYPE=Z13);
May 5, 2016 -No longer restricted to a single system unless you use
the SYSTEM= parameter; by default reports on all SYSTEMS.
Cleans up after itself and produces NOTES to tell you
when there is a problem.
Thanks to Luis A. Mendoza, TRANSUNION, USA.
Change 34.106 z13 in SMT_MODE with SMT_NUM=2, variable NRZIPCPU, count
VMAC7072 of zIIP engines in the CEC, can be wrong in datasets
VMXG70PR PDB.TYPE70, PDB.ASUMCELP, and PDB.ASUMCEC, but is correct
Apr 30, 2016 in PDB.TYPE70PR, and variable ZIPCPUS, zIIPs online to an
LPAR, was also correct in those datasets.
-Note that IBM's CPC Report counts ONLINE ZIPs per LPAR,
but MXG's ZIPCPUS='ONLINE*AND*NOT*PARKED'
-Do NOT use the PDB.ASUM70PR nor PDB.ASUM70LP datasets;
they are by SYSTEM and thus selection is required, and
they don't have correct data on system's whose SMF data
was not read; those LPARs are in PDB.ASUMCELP.
Thanks to Elie Sawaya, Royal Bank of Canada, CANADA.
Change 34.105 Support for SMF 123 Liberty z/OS Connect EE Audit Record:
EXTY123A DDDDDD DATASET DESCRIPTION
IMAC123A TY123A TYPE123A z/OS CONNECT EE AUDIT
TYPE123A -In 2009, IBM used SMF 123 for S/390 Parallel Query Server
TYPS123A which is still in TYPE123, although I presume that record
VMAC123A is no longer created.
VMXGINIT
Apr 30, 2016
May 19, 2016
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Don Bagwell, Aetna, USA.
Change 34.104 Support SMF 112 OMEGAMON CICS recorded version 530, which
VMACOMCI was not listed in the test for valid versions.
Apr 28, 2016
Thanks to Bob Duchesneau, Northwestern Mutual, USA.
Change 34.103 Support for IBM Integration Bus, Version 9.0.0.5 SMF 117
VMAC117 INCOMPATIBLE changes to the FLOW record.
Apr 28, 2016
Thanks to Ben Thompson, Northern Territory Government, AUSTRALIA.
Change 34.102 -For IFCIDs that create more than one T102Sxxx dataset,
READDB2 READDB2 needs IFCID-specific logic, but the new T102SA58
VMAC102 dataset for IFCID=58 was overlooked.
Apr 28, 2016 -Support for T102SA58 dataset in Change 34.072 was correct
only for DB2 V12 with a longer new segment; this change
supports and validates the shorter DB2 10.1 record.
-No "Truncated" name fields existed in test records so the
support for those longer 0058 names awaits test data.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 34.101 Revision to the graphics code to add a solid black line
GRAFWRKC indicating where the group cap lies on both the percent
Apr 28, 2016 CPU and the MSU charts. This required summarization of
the data so that there was only a single OBS per by
group and uses the VLINE parameter of SGPLOT. The graphs
only work if you are running SAS 9.3 or higher. If not
a message will be on the log and a PROC TABULATE will
be run instead.
Change 34.100 -ZRBASI dataset variable ASILPGSZ was incorrect.
VMACRMFV -ZRBGEI dataset variables below are now correctly divided
Apr 28, 2016 by SSHSMPNR:
May 5, 2016 GEISASL GEIRSTRF GEILCPR GEILCMO GEILF4K GEILP4K
May 16, 2016 GEILPFRI GEILPFCI GEILCMU GEILCPU GEILFPF GEILSMO
GEIRFREM GEISUSE GEILPAG GEILFUSE GEILPUSE GEIRSTRF,
and variable GEIRSHR is now kept in dataset ZRBGEI.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 34.099 zVM 6.3 z13 SMT-Mode MONWRITE support and correction.
VMACVMXA -PRCMFM (5.20) HIS SMT-Mode-Only was not as presumed. I
Apr 23, 2016 had thought the new HIS record would be like the new z/OS
Apr 26, 2016 SMF 113 Subtype 1, with interval data instead of the
May 9, 2016 accumulated fields. But the new PRCMFM is unrelated to
existing HIS counters in PRCMFC, and reports only the new
MT-diagnostic counters, with only two (MTDIA448-MTDIA449)
documented, and three others (MTDIA452,MTDIA453,MTDIA456)
are populated, but IBM has claimed them proprietary so
their content is not documented.
But all five are kept in VXPRCMFM dataset.
-PRCAPM (5.10) CRYPTO record has undefined Crypto Type 11
that is now supported after IBM z/VM Support UPDATED the
documentation today at
http://www.vm.ibm.com/PUBS/MON630/MRPRCAPM.HTML
Thanks to Wolfgang Kueller,s IT Solutions, AUSTRIA.
Change 34.098 If the same POLICY-NAME is used in different SYSPLEX, the
ANALACTM report did not print the WLM definitions because of the
Apr 23, 2016 filter criteria. This revision adds SYSPLEX variable to
protect for this unwise choice.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 34.097 RESERVED CHANGE NUMBER.
Change 34.096 Cosmetic. Using WANTONLY=DB2ACCT,IFCIDS=ACCOUNT, READDB2
CLEARDB2 unexpectedly also created the WORK.DB2STSBP dataset; the
READDB2 READDB2 code to suppress it was not added to the MACKEEP,
Apr 21, 2016 and a typo in CLEARDB2 had changed _WDB2SBP to _WDB2SBR.
Change 34.095 -Gregorian dates were not displayed correctly in ASMRMFV
ASMRMFV message log due to incorrect leap year testing in
ADOCRMFV FINDGREG code. Dates of the form ddmmmyyyy were listed
Apr 20, 2016 as one day later than actual. Day of the week values in
Apr 27, 2016 these messages were also one day later than actual.
May 11, 2016 Julian dates of the form yyyy.ddd are correct.
-NOTE: RMFBSAM output data was NOT affected only the dates
in ASMRMFV log messages. ASMRMFV does not modify dates
in the RMFBSAM output file.
-A S0C4 Abend could occur when an VSAM I/O Read Error
happened processing the Sample Set Header (SSH) RMF III
table. This Abend was also possible processing the Data
Set Header (DSH) and Service Policy (SVP) tables.
-Several buffer handling improvements for performance are
added and described below.
-Three initial buffer size adjustments are changed to
reduce FREEMAIN/GETMAIN overhead when an increase is
needed during processing. These are applied to the 32752
RMF III VSAM Record Size to avoid buffer expansions.
Buffer Prior x Record Size New x Record Size
------------- ------------------- -----------------
Decompression 2 160
Sample 1 2
Service Policy 1 18
-Decompression buffer expansions are particularly CPU
expensive because the IBM ERB3RDEC decompression program
must decompress the data first to find out if it fits in
the buffer. If not, the buffer must be expanded and the
decompression repeated on the subsequent call.
-The increases in buffer sizes are offset by new logic
that only applies the adjustments to the first buffer
acquisition. Any subsequent expansions now only request
the actual memory needed, but should be rare. In prior
ASMRMFV versions the adjustment was applied to every
GETMAIN so the buffer areas became unnecessarily large
when several expansions of the same buffer were needed.
-In testing with 12 various RMF Monitor III data sets
buffer memory used was actually slightly less than the
current production ASMRMFV level. Your actual results
will vary. REGION=300M was used for these jobs.
ASMRMFV 33.274 ASMRMFV 34.095
LSR 16000K LSR 16000K
INDEX 32K INDEX 32K
SAMPLE 2207K SAMPLE 3198K
DECOMP 7521K DECOMP 5118K
SVP 96K SVP 1151K
====== ======
*ALL* 25855K *ALL* 25499K
Expands 6 Expands 0
-The assembler symbols &MULTD, &MULTS, and &MULTP remain
tailorable in ASMRMFV by the user as before. These set
the initial buffer size multipliers for the
Decompression, Sample, and Service Policy buffers
respectively. Any change to these values requires an
assembly and link of ASMRMFV.
-The BUFFERS parameter in ASMRMFV provides a listing after
each RMF Monitor III data set processed to show buffer
usage and expansions. Ideally expansions should be zero.
The default is NOBUFFERS and the display is suppressed.
-NOASIX parameter causes ABEND S0C4 or RMFV075W messages;
tests for this parameter were incomplete, but it is an
emergency parameter to suppress ASI extension data,if ASI
data needed to be bypassed. NOASIX causes data loss and
was intended to be used only when recommended by support.
Next ASMRMFV will correct; this is just a don't use note!
Thanks to Randy Hewitt, HPE Enterprise Services, USA.
Thanks to Randy Shumate, Reed Elsevier Technology Services, USA.
Change 34.094 PDB.JOBS observations with ABEND='JCL' were created for
BUILD005 purge records that were for job transmission. Now,
Apr 18, 2016 IF JSTRTIME=. AND SYSEXEC LE ' ' AND SYSTRANS GT ' '
Apr 19, 2016 the TYPE26J2 purge observation is output in PDB.NJEPURGE
instead of PDB.JOBS.
-Variable INTRDR is now kept in PDB.JOBS.
Thanks to Ian Porter, NISSAN-NEDC, ENGLAND.
Change 34.093 New parameter GRAPHS= with a default of YES added so that
GRAFWRKX you can specify TABULATE=YES without creating any graphs.
Apr 16, 2016 Tabulate was cleaned up so that there is only a single
table generated rather than a table for each variable.
Change 34.092 -Support for IHDRRMFV "Header" Exit member to select which
IHDRRMFV RMF III records are to be read by TYPERMFV from RMFBSAM.
IMACRMFV Your selection code can be put in member IHDRRMFV in your
VMACRMFV "USERID.SOURCLIB(IHDRRMFV)" tailoring library, or you can
VMXGINIT use the macro variable MACRMFVH "instream" to select:
Apr 13, 2016 //SYSIN DD *
Apr 15, 2016 %LET MACRMFVH= %QUOTE(IF ERBDTYPE='ASIG3'; );
Apr 21, 2016 %INCLUDE SOURCLIB(TYPERMFV);
would only populate the ZRBASI dataset.
-Removed incorrect second INPUT of CPCGRPNM/CPCGRPLM that
could cause STOPOVER INPUT STATEMENT EXCEEDED ERROR.
-These ZRBASI variables are now input as PIB versus RB:
ASI_LVSHR4KB ASI_LVSHR1MGBYTES ASI_FREEMAINEDFRAMES
Thanks to Randy Hewitt, Hewlett Packard, USA.
Change 34.091 Support for IMS Log 16x Sign On/Sign Off record creates
EXIMS16 new IMS16 dataset.
FORMATS dddddd dataset description
IMAC16 IMS16 IMS16 IMS SIGN ON / SIGN OFF
VMACIMS
VMXGINIT
Apr 15, 2016
Thanks to Gene Heikkinen, Blue Cross Minnesota, USA.
Change 34.090 TYPE115 Macro _WTY115X wasn't listed in _N115 null macro.
VMAC115 TYPECIMS Macro _WIMFMQ wasn't listed in _N116 null macro
VMACCIMS UTILBLDP, cosmetic, extra blank lines were printed in the
UTILBLDP code that clears the old style macros.
Apr 13, 2016 A new QA report will detect _Nxxxx omissions.
Thanks to Andre G. Moretto, IBM Global Technology Services/Delta, USA
Change 34.089 Support for SAMS VANTAGE User LSPOOLPO record INCOMPAT
VMACSAMS changes. These new variables in SAMSLSPC dataset:
Apr 14, 2016 SAMSBYFR ='FREE*BYTES'
SAMSCLFR ='MAXIMUM*FREE*EXTENT IN*TRACKS'
SAMSDSCBPCT='PERCENT*USED*DSCBS'
SAMSEAV ='EXTENDED*ADDRESS*VOLUME?'
SAMSFREEC ='TOTAL*FREE*SPACE IN*CYLINDERS'
SAMSHASG='GLOBAL*HASH*VALUE'
SAMSHASL='LOCAL*HASH*VALUE'
SAMSLPAR='LPAR WHERE VANTAGE RUNS'
SAMSMFEB ='MAX FREE*EXTENT*IN BYTES'
SAMSSHR ='DASD*VOLUME*SHARE*STATUS'
SAMSSUBS='SUBSYSTEM WHERE VANTAGE*RUNS'
SAMSSYSP='SYSPLEX WHERE VANTAGE RUNS'
SAMSTCYLS ='TRKMGDSPACE*TOTAL*FREE*CYL'
SAMSTEXTNT='TRKMGDSPACE*FREE*EXTENTS'
SAMSTINDEX='TRKMGDSPACE*FRAGMENTATION*INDEX'
SAMSTMCYLS='TRKMGDSPACE*MAX EXT*CYL PORTION'
SAMSTMTRKS='TRKMGDSPACE*MAX EXT*ADDL TRKS'
SAMSTTRKS ='TRKMGDSPACE*ADDITIONAL*FREE*TRKS'
SAMSTVTRKM='TRKMGDSPACE*TOTAL TRACKS'
SAMSTVTRKS='TOTAL*TRACKS ON*VOLUME'
and variable SAMSRSVD, a reserved field, is not kept.
-SAMSPOOL record was also INCOMPATIBLY changed but no
new variables were created.
Thanks to Emmanuelle Tanguy, ARKEA, FRANCE.
Change 34.088 Unused Change Number.
Change 34.087 -MXG 34.02, IMS 12.1, IMS 07 record was misaligned due to
VMACIMS 8 overlooked added bytes, and incorrect input of DLRAZAAP
Apr 12, 2016 that was added in IMS 13.1, not 12.1.2
-Zero divide fix if MXGRDTM=0 (fast read on ASCII).
-Variable LINTSY2 is formatted $HEX16.
Thanks to Paul Volpi, UHC, USA.
Change 34.086 Support for TYPE8069 RACFEVNT 8069 R_PKISERV GENCERT
EXTY8069 event, including protection for truncated TP2=322 and
IMAC80A doc errors for TP2=343 and TP2=351.
VMAC80A
VMXGINIT
Apr 8, 2016
Thanks to Joe Faska, DTCC, USA
Thanks to William M. Vender, DTCC, USA.
Change 34.085 Support for these new z/VM VXSYTEMP dataset variables
FORMATS from the extended (third) segment:
VMACVMXA NCM_TCT_FCOP='FICON*OPERATIONS'
Apr 8, 2016 NCM_TCT_DFCOP='DEFERRED*FICON*OPERATIONS'
Apr 12, 2016 NCM_SCT_FCOP='SUMM COUNT*FICON*OPERATIONS'
Apr 14, 2016 NCM_TCT_FCXTM='FICON*TRANS-MODE*OPERATIONS'
Apr 21, 2016 NCM_TCT_DFCXTM='DEFERRED*FICON*TRANS-MOD*OPS'
Apr 24, 2016 NCM_SCT_FCXTM='SUMM COUNT*FICON*TRANS-MODE'
Apr 26, 2016 -Variables PCTLPABY and PCTCPCBY are now correctly
May 4, 2016 calculated AFTER the deaccumulation.
May 16, 2016 -Format $MGVXACH is updated for new Channel Types.
May 23, 2016 -Dataset VXSTOVDK variable QDIIOCNT is now deaccum'd.
-Dataset VXSYTLCK variables CALS/CALX/SYN deaccum'd.
-Dataset VXAPLSL0 is now properly deaccumulated; note that
only observations with TICKS GT 0 are output.
-Dataset VXSYTLCK variable CALSSCNT is DIF()d and SYNATT4S
second DIF() corrected to SYNFTG4S.
-Dataset VXBYUSR variables that are now deaccumulated:
VMUYPLTL0-5,VMUSTLT0-5,VMUVMTL0-5,VEBALERT/HDWAI/SVSCT/
TPIAI/TVSCT/VEBVIRAI,VMDUFOCT/UOFTM/SLCNT
-Dataset VXIODVSW is now deaccumulated with sort order
corrected.
-Some deaccumulated datasets had observations output with
DELTATM value negative; those are now correctly deleted
(they are the first instance so no deaccum is possible).
-Dataset VXMTREND now has DELTATM=. as it is not accumed.
-Dataset VXIODDEV variable VIUTIMIN's TIME12.2 reinstated.
These variables had missing values and missing labels:
RDEVSKSM64 RDEVWXCT RDEVRXCT SCMIDTIM SCMPDTIM PAVIDTIM
PAVPDTIM
-May 16: Variable ASMSSCH in dataset VXSTOASP is only two
bytes, so its accumulation wraps at a value of 65536; MXG
had incorrectly used FFFFFFFFx, causing large values.
But variable SCGSSCH is four bytes and would be safer.
Thanks to Graham Harris, RBS, ENGLAND.
Change 34.084 The MOBWRKI2 is now updated for the new DB2STSBP data,
MOBWRKI2 preventing ERROR: FILE WORK.SUMSTSBP.DATA DOES NOT EXIST.
Apr 7, 2016
Thanks to Jan Tielemans, KBC, BELGIUM.
======= Changes thru 34.083 were in MXG 34.02 dated Apr 5, 2016========
Change 34.083 IMS56FA ARRVTIME value is wrong for transactions that
VMACIMS arrived from a system whose GMT offset is not the same as
Apr 5, 2016 this system. Now, the GMT delta between the two systems
is added to ARRVTIME when there is a difference so that
all datetime values are local to this IMS system.
Note that you must use TYPSIMST ("S" for SORT) program to
invoke the _SIMS56G for the Chain correction. Use the
JCL example in the TYPSIMST member's comments.
-The INPQUETM is a zero value if the ENDTIME of the prior
transaction in a chain is LATER than the STRTTIME of this
transaction. Why this happens is not understood yet.
-The _IMSVERS macro is NOT USED for the IMS56FA processing
because the actual version is in the 56FA record and is
used by MXG to control version differences, so multiple
IMS version's 56FA records can be processed together.
The MXG NOTE/WARN messages about _IMSVERS are removed.
Macro _IMSVERS is used ONLY for 07/08/0A/31/35/36/40/59
IMS log records, but only the 07/08 records need 10.1 or
11.1 or 12.1 to be specified and processed separately.
Thanks to Michael J. Lamdin, Verizon, USA.
Thanks to David A. Bernhardt, Verizon, USA.
Thanks to Matthew E Bogart, Verizon, USA.
Thanks to Mark Albert, Verizon, USA.
Thanks to Stephen P. Nathan, IBM, USA.
Change 34.082 DB2 Trace IFCID 196 variables QWn196HY (0-8), QW0196WY,
VMAC102 are formatted $HEX4 and INPUT $CHAR2 and QW0196W9 is
Apr 5, 2016 formatted $HEX16.
Apr 16, 2016 -Some _S102348-_S102355 dataset sort macros had repeated
PROC SORTs, but there were no errors, just wasted time.
Change 34.081 -Oracle/STC User SMF records GMTOFFTM could be "slightly"
VMACSTC wrong with a slightly larger (seconds to a minute) and a
Apr 4, 2016 non-integer value for a few observations, depending on
the SMFTIME delta to the earlier STC timestamp; the GMT
algorithm used in VMACSTC was unique and now uses the
normal calculation.
-Some VMXGTIME calls were revised, and dataset STCVSM28
has new variable REPDURTM=DURATION*OF*REPLICATION added.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 34.080 -z/VM 6.3.15.2 SMT MODE, BROKEN CONTROL RECORD ERROR due
VMACVMXA to new fields added to SYTCUP segment that now create:
Apr 5, 2016 LCXPMTST='PARTITION*MULTITHREADING*STATUS'
LCXHGPNM='LPAR*GROUP*NAME'
-Unrelated, CECSER was not populated in VXMTRSYS because
that 1.4 record is written before the 1.5 record that has
the CECSER is written. If you use TYPSVMXA to invoke
sorting of all datasets, this update will populate CECSER
into the VXMTRSYS dataset. Or you could use
%INCLUDE SOURCLIB(TYPEVMXA);
_SMTRSYS
_SMTRPRT
RUN;
Thanks to Graham Harris, RBS, ENGLAND.
Change 34.079 RMF III ZRBASI dataset new variables are created/decoded:
FORMATS ASICX='ADDRESS*SPACE*TYPE'
VMACRMFV VALUE $MGRMFCX
Apr 3, 2016 'S '='S:STARTED TASK'
'T '='T:TSO'
'B '='B:BATCH'
'A '='A:ASCH'
'O '='O:OMVS'
'? '='?:UNKNOWN'
'E '='E:ENCLAVE'
'SO'='S:STARTED TASK WITH OMVS PROCESS'
'TO'='T:TSO WITH OMVS PROCESS'
'BO'='B:BATCH WITH OMVS PROCESS'
'AO'='A:ASCH WITH OMVS PROCESS'
'OO'='O:OMVS WITH OMVS PROCESS'
'?O'='?:UNKNOWN WITH OMVS PROCESS'
'EO'='E:ENCLAVE WITH OMVS PROCESS'
;
ASICR='WLM*CRITICAL*STATUS'
VALUE $MGRMFCR
'C '='C:CPU CRITICAL'
'S '='S:STORAGE CRITICAL'
'SC'='SC:BOTH CRITICAL'
;
Change 34.078 -MXG 34.01. TYPE72GO variable MSUSOFT was wrong, because
VMAC7072 the correct calculation in Change 34.010 was overridden
VMXGRMFI by the un-removed original calculation (TCBPART/SRBPART).
Apr 2, 2016 -MXG 33.33. RMF72 had MSU72, MSUINTRV, MSUPERHR variables
incorrectly containing Software MSU, while MSU4HRAV did
have the correct Hardware MSU. MXG 34.01 changed those
three variables to correctly contain Hardware MSU, and
created three new variables with Software MSU, but the
MSU4HRAV was changed to Hardware MSU. This 34.02 change
corrects MSU4HRAV also to contain Hardware MSU. The
MSU4HRAV in RMFINTRV is only the Software MSU captured
in the TYPE72GO Service Class records; the IBM Four Hour
Average Software MSU actually used for software costs is
in the TYPE70LAC variable in PDB.TYPE70.
-RMFINTRV MSU variables for Software MSU all have an "S":
Software: MSUSOFT MSUINTRVS MSUPERHRS MSU4HRAV
Hardware: MSU72 MSUINTRV MSUPERHR n/a
-MSUSOFT will be missing if ONLY type 72 records are read;
70s always precede 72s and CECSUSEC is retained from that
type 70 to calculate MSUSOFT.
Thanks to Randy Shumate, Reed Elsevier, USA.
Change 34.077 Support for optional CICSTRAN variable USERCT01.
IMACICWT
UTILEXCL
VMAC110
Apr 1, 2016
Thanks to Niels Ole Kjeldsen, KMD, DENMARK.
Change 34.076 Support for dataset TYPE80TK new variables TOKMREVOKED,
VMAC80A TOKMREVREAS and TOKMFIREACCS/
Mar 31, 2016
Thanks to Roger X Baker, GLIC, USA
Thanks to Frank Bauer, GLIC, USA.
Change 34.075 -THIS IS A FATAL ERROR AND SCRT/MWRT REPORT WILL ABEND,
MOBWRK05 if you included data with the CLOCK CHANGE hours. Your
Mar 31, 2016 MARCH REPORT MUST RUN BETWEEN APR 2-9 WITH this update.
When the clock is changed for winter/summer/daylight time
two rows were created in MWRT_LOOKUP89 that caused
"REPEATS OF BY VALUES" messages. This change keeps only
the first row and eliminates the message.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Thanks to Rudi Claes, KBC, BELGIUM.
Thanks to Graham Harris, RBS, ENGLAND.
Change 34.074 The bit tests for the new TYPE0201 and TYPE0202 datasets
VMAC0203 for decoding variables SMF2IHASHMETH and SMF2ISIGTYPE
Mar 31, 2016 were missing the final "B", causing blank values.
Thanks to Robert Sample, TOMY, USA.
Change 34.073 Dataset TYPE749 (PCIE) is enhanced with new calculated
VMAC74 variables used in RMF reports.
Mar 30, 2016
Thanks to Michael Friske, FMR, USA.
Change 34.072A Support for SMF 102 IFCID 58 Added Segment creates new
EX102A58 DDDDDD DATASET DESCRIPTION
IMAC102 102A58 T102SA58 Added END SQL STATEMENT EXEC
VMAC102 See Change 33.102 (in MXG 34.03) which corrected VMAC102
VMXGINIT and validated the new data.
Mar 30, 2016
Change 34.072 RMF 73 Subtype 3 ERROR R723DNST NOT EQUAL TO R723RTYP is
VMAC7072 for the seldom-used TYPE72DL, in only one record, which
Mar 30, 2016 had one WRS pair with RTYP='CB' and RDNN=6 with six DSNTs
Mar 31, 2016 that matched, but the RTYP='DB2' pair also had RDnn=6 but
there were no segments with DSNT='DB2'. Other RTYP='DB2'
records have RDNN=0. While I believe the record is wrong,
and should have RDNN=0, IBM noted that all of the sample
counts in R723RW01-R723RW15 are zero and there could be
no name table entries, so MXG now circumvents by only
reading the name table when there are samples recorded.
(Variables R723RN01-R723RN15 are blank if no table.)
-But this investigation exposed a logic error in MXG
reading the name table; the OFFDSN was NOT incremented,
so only the first segment was being input, repeatedly,
which is now corrected.
Thanks to Lorena Ortenzi, UniCredit Group, ITALY
Thanks to Paolo Uguccioni, UniCredit Group, ITALY
Change 34.071 Cosmetic. Label for R749DBYR and R749DBYT were corrected.
VMAC42
Mar 29, 2016
Thanks to Michael Friske, FMR, USA.
Change 34.070 I/O Connect time S42CONNTM=AVGCONMS*IOCOUNT/1000 is now
VMAC42 calculated and kept in TYPE42DS, TYPE42SR and TYPE42VT
Mar 27, 2016 datasets, formatted TIME13.3.
Change 34.069 -Variable RNI is now kept in TYPE1131.
ASUM113 -The SORTED BY list had SM113STM SM113CPU transposed.
VMAC113 -Dataset TYPE1131 _KTY1131 "variable keep" macro now
Mar 24, 2016 works for both TYPE1131 and ASUM1131.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 34.068 z/OS 2.2 SMF 73 INPUT EXCEEDED due to Split 73 record not
VMAC73 supported. VMAC73 now detects split records, but IBM
Mar 24, 2016 plans a 2ndQ APAR that redesigns the 73 split so that
Mar 31, 2016 self-contained records are written (EIX=HEN), and that
May 4, 2016 design is already supported in the existing 73 code.
These are the variables populated from the extended seg:
SMF73ECP SMF73EOC SMF73EOD SMF73EOS SMF73ETC SMF73ETD
SMF73ETS CHFRATE CHFACTV CHFDFER CHFXRATE CHFXACTV
CHFXDFER
So, if you don't have the APAR and want those variables
added, you would use n the _STY73EX macro.
%INCLUDE SOURCLIB(VMAC73,VMACSMF,IMACKEEP);
DATA _VAR73; _SMF ; _CDE73; _STY73EX;
The TEMP73EX dataset is created with the split segments
from the second (split) record (when EIX GT HEN) and the
new _STY73EX replaces the _STY73 dataset sort macro to
sort and merge TEMP73EX into TYPE73. This split record
had 158 valid channels but only 105 fit in the first 32K
record (because IBM writes 256 channel segments in every
every record, including offline, so the other 53 Extended
Channel segments were in the second record.
-May 4: APAR OA50254 eliminates the split 73 records and
each record will be self-contained with matching channel
path data sections and extended channel path sections.
Thanks to Joachim Sarkoschitz, DATEV, GERMANY
Change 34.067 z/OS 2.2 OAM SMF 85 INPUT STATEMENT EXCEEDED because MXG
VMAC85 tested R85PVRM for specific versions but not for '2020'.
Mar 24, 2016 However, that ancient test is no longer needed for the
subtypes 78,79, and 88 since all records now have the
missing early fields that needed that test, so new z/OS
versions' won't need VMAC85 to be updated for R85PVRM.
Thanks to Joachim Sarkoschitz, DATEV, DENMARK.
Change 34.066 -zVM MONWRITE dataset VXBYUSR is enhanced with these three
VMACVMXA memory variables, VMDUFACTC, VMDUFIBRC and VMDCTPNS.
Mar 21, 2016 -New: You can specify %LET MXGABND=8709; so that the
BROKEN CONTROL RECORD ERROR will now also cause the job
to ABEND with a USER 8709 abend code, so the error can't
be overlooked. (This error usually occurs when a back
level of MXG tries to read data from a new zVM version.)
Thanks to Graham Harris, RBS, ENGLAND.
Change 34.065 CICS/TS 5.3 MNSEGCL=5 INPUT STATEMENT EXCEEDED error due
VMAC110 to MXG read of 128 bytes but the segment is only 120.
Mar 21, 2016 You have to have enabled TSQUEUE Resource Class data to
populate dataset CICSRDQU to encounter this error.
Thanks to Bob Duchesneau, Northwestern Mutual, USA.
Change 34.064 -Circumvention for BBMQ Short E6 records. The last segment
VMACBBMQ in every E6 record is 4 bytes shorter than ENTL, but the
Mar 21, 2016 four bytes are unused, so this heuristic detects the last
Mar 28, 2016 record condition and the last segment is now output in
the BBMQQUES dataset (which will have more observations.)
-Circumvention for incorrect ENTL for E4 which caused the
BBMQLMGR to be trashed. ENTL=1336 in header but only 1275
exist.
-BY lists updated for NODUP removal for BBMQBUFF, BBMQCHAN
BBMQLMGR and BBMQPAGE, although no duplicates have ever
been created, just to be consistent.
-Mar 28: Datetimes were incorrectly set to GMT in 34.01.
now corrected to local.
Thanks to Jim Swinarski, Credit-Suisse, USA.
Change 34.063 ERROR START GREATER THAN END creating DBID/OBID format is
ANALDB2R corrected with this rewrite of VMFMT102 and the dropping
VFMT102 of the system and timestamps from the keys to the format.
Mar 22, 2016 The FORMATs are now the same whether you use POINTINTIME
Mar 31, 2016 or the T102S105/107 records but POINTINTIME will always
be more accurate since it is a snapshot of what DB2 sees
while the 105/107 records will only reveal databases
that have been opened.
Thanks to Jutta Gleixner-Schmid, Allianz, GERMANY
==== Changes thru 34.062 were in FINAL MXG 34.01 dated Mar 21, 2016====
Change 34.062 Cosmetic. With MXGREADSMF=LOGGER or =BOTH, log messages
VMACSMF "LAST RECORD" and the SMF Summary box of times/bytes read
Mar 17, 2016 were not printed. Superfluous code was removed.
Thanks to Chris Weston, SAS ITRM, USA.
Change 34.061 Support for BMC MAINVIEW FOR IP, creates these three
EXMVIP2C datasets of primary interest:
EXMVIP2F DDDDDD MXG MXG
EXMVIP03 DATASET DATASET DATASET RECORD
FORMATS SUFFIX NAME LABEL SUBTYPE
IMACMVIP
VMACMVIP MVIP2C TAC9I490 TN3270PERF 2C
VMXGINIT MVIP2F TAC9I350 SAWDATA 2F
Feb 26, 2016 MVIP03 TAC9I820 TACCONS 03
Mar 15, 2016
May 7, 2016 Note that IMACMVIP is tailored to only create these
May 30, 2016 three datasets.
Jun 1, 2016 Labels added Jun 1.
Aug 2, 2016 The MXG support for Mainview for IP requires the BMC
utility program BBM9MD73 to "dump" the BMC VSAM file
to a valid VB file that MXG can process.
Aug 2: SWSTOPTX corrected to local time.
Change 34.060 ITRM ONLY, MXG 34.01 ONLY, CRITICAL ERROR because &PDB
VMXG70PR was used instead of &PDBMXG in two places; &PDBMXG has
Mar 15, 2016 always been the intended default macro variable for the
default "PDB" destination, and is required by ITRM.
Thanks to Chris Weston, SAS ITRM, USA.
Change 34.059 Short type 119 subtype 41 with only one triplet populated
VMAC119 caused INPUT STATEMENT EXCEEDED. The record does not
Mar 14, 2016 contain any subtype 41 data. The first three instances
print a DELETED message on log.
==== Changes thru 34.058 were in THIRD MXG 34.01 dated Mar 14, 2016=====
Change 34.058 MXG 34.01: CRITICAL: TYPE72GO only PERIOD 1 was output.
VMAC7072 Change 34.010 added MSU72 but used DO _I_= inside a DO
Mar 14, 2016 that already used DO _I_, which terminated the first DO.
Thanks to Randy Shumate, Reed Elsevier, USA.
=== Changes thru 34.057 were in SECOND MXG 34.01 dated Mar 14, 2016=====
Change 34.057 Documentation only. Member JCLINSTT example has steps to
JCLINSTL FTP download, Unterse, and create USERID and FORMATS; new
JCLINSTT JCLINSTL example has only USERID and FORMATS create, if
VMXGCNFG you have already downloaded and untersed the new version.
Mar 11, 2016 Example DSNAMES are MXG.MXGVVNN.SOURCLIB/FORMATS in these
members and in the ftp instruction email text.
The install instructions stress that if you now depend on
the SAS NLSCOMPATMODE option to handle local characters
(British Pound, French accents, umlauts, etc.) you will
have to change your JCL for MXG to use your site's SAS
JCL procedure, with the CONFIMXG option, because SAS has
stated their intention to remove that option in a future
version.
See examples and comments in member VMXGCNFG.
//MXGSTEP EXEC SAS,CONFIG=MXG.SOURCLIB(CONFIMXG)
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.
Change 34.056 TYPE 60 dataset variable SMF60ELP was misaligned, VVRKEY
VMAC60 was not converted to EBCDIC text, and these address space
Mar 11, 2016 size/address variables are formatted MGBYTES
VVRDSHA VVRDSHU VVRHARBA VVRHURBA
VVRXEBA1-VVRXEBA5 VVRAMASP
Thanks to Michael Friske, FMR, USA.
Change 34.055 TYPE 120 ST 9 new TYP1209R (REQUEST) and TYP1209N (ASYNC,
EXT1209N Non-Request) datasets completely replace four existing
EXT1209R TYP1209x datasets. The subtype 9 is either a REQUEST or
IMAC120 ASYNC event, and the two new datasets contain only the
VMAC120 variables that are appropriate for that event. These two
VMXGINIT new datasets eliminate the need to populate the A/C/E/S
Mar 11, 2016 datasets, which can be created with zero observations
Mar 16, 2016 by tailoring each _Edddddd "dataset output macro" to
Mar 21, 2016 replace the OUTPUT statement with a blank, either in your
Apr 11, 2016 //SYSIN for jobs that create TYPE120 datasets with
%LET MACKEEP=
MACRO _ET1209A % MACRO _ET1209C %
MACRO _ET1209E % MACRO _ET1209S %
;
or you can put the two macro lines in your IMACKEEP
member in your USERID.SOURCLIB tailoring PDS/directory.
Mar 21:
-The TYP1209U CPU detail dataset contains up to 20 obs
per event, and variable REQASYNC identifies the event,
and added variables identify the source of that event.
The CPU detail dataset metrics are summarized into the
TYP1209N or TYPE1290R dataset.
-The 1209C and 1209S segments have three or 12 obs per
event, so new variables SM1209ES1-SM1209ES3 and
SM1209EO1-SM1209E12 are created with those IDENTITY and
CLASSIFICATION values, eliminating any need for
TYP1209C/TYP1209S datasets. And new variable REC1209SEGS
identifies which segments were populated in each
TYP1209R/TYP1209N/TYP1209U observation.
-The order of segment processing was revised.
-The value of SM1209CI can be negative: That means that
the request didn't finish. The TCB CPU time at the start
is held, and the TCB CPU time at the end is subtracted to
get the SM1209CI value. If the servant abended or some
other bad thing happened and the request never finished,
there was no 'end time', so you get a negative value.
It's actually an indicator that something went wrong!
Apr 11: Labels for the CPU variables are clarified:
SM1209DA='ENCLAVE*TOTAL*CPUTIME'
SM1209DB='ENCLAVE*ZAAP*CPUTIME'
SM1209DC='ENCLAVE*ZAAP*ELIGIBLE*ON CP'
SM1209DD='ENCLAVE*ZIIP*ELIGIBLE*ON CP'
SM1209DE='ALWAYS*ZERO*QUALIFIED*CPU TIME'
SM1209DF='ENCLAVE*ZIIP*TIME*ON ZIIP'
SM1209HG='ENCLAVE*TOTAL CPUTIME'
SM1209HH='ENCLAVE*ZAAP*CPUTIME'
SM1209HI='ENCLAVE*ZAAP*ELIGIBLE*ON CP'
SM1209HJ='ENCLAVE*ZIIP*ELIGIBLE*ON CP'
SM1209HK='ALWAYS*ZERO*QUALIFIED*TIME'
SM1209HL='ENCLAVE*ZIIP TIME*ON ZIIP'
Thanks to Joesph Faska, DTCC, USA.
Thanks to Betty Wong, Bank of America, USA.
Change 34.054 Variable SMF42LAN was not converted to EBCDIC after the
VMAC42 INPUT SMF42LAN $VARYING64. causing unprintable text.
Mar 10, 2016
Change 34.053 BMC APPTUNE FIX BPU8604 caused INPUT STATEMENT EXCEEDED
VMAC102 error for subtype 8005x because the R8 triplet has R8N=1,
Mar 10, 2016 R8O=1512 with R8L=0 in a record that is only 1511 bytes
long. That INPUT is now skipped when the R8L is zero,
pending a correction from BMC.
Thanks to Rudi Claes, KBC, BELGIUM.
Change 34.052 WPS Only, First MXG 34.01 Only. A typo RUN: with colon
VMXGINIT in line 3667 of VMXGINIT must be deleted as it caused
Mar 10, 2016 WPS to fail to initialize. I would have normally caught
this in my QA with that ABEND, but my SETINIT expired and
I had a condition code rather than an ABEND overlooked.
Change 34.051 Change 33.240 updated MACRO _IO30TM but had replicated
IMAC30IO IOTM3390 causing WARINING: VARIABLE IOTM3390 EXISTS.
Mar 10, 2016 Delete the second IOTM3390.
Thanks to Randy Shumate, Reed Elsevier, USA.
Change 34.050 Variables SM1209CM, SM1209CR, SM1209CS were incorrectly
VMAC120 kept in datasets TY1209C, TY1209S, and TY1209U, and were
Mar 9, 2016 used incorrectly in the _ST1209C and _ST1209U BY lists,
so combining multiple PDBs build with and without this
change could fail with a NOTSORTED error on either.
This Change was included in 34.055, above.
Thanks to Joesph Faska, DTCC, USA.
Change 34.049 Support for ASG/TMON Version 4.0 for CICS, REQUIRED.
VMACTMO2 Version changed all duration fields from microsecond to
Mar 9, 2016 todstamp units, but these 15 variables were not divided
by 4096 (the other 399 were), so these variables will
have values larger by that 4096 factor.
CICOVHTM FILEIOTM TAARQRTM TAARQWTM TAAWTTTM TAAWTWRT
TADSPCPU TADSPDTM TADSPSTM TADSPWRT TATCBSTM TATCBSTM
TATCBSTM TIIWTWRT TMCGADT
Fortunately, none of these duration variables are in the
primary MONITASK dataset.
Thanks to Miguel Machin, CAREFIRST, USA
Thanks to Alan Gray, CAREFIRST, USA.
=== Changes thru 34.048 were in FIRST MXG 34.01 dated Mar 7, 2016======
Change 34.048 Support for BE93 Version 6.1.0 (INCOMPATIBLE, header was
VMACBETA relocated). No new variables nor datasets.
Mar 7, 2016
Thanks to Rudolf Sauer, T-SYSTEMS INTERNATIONAL GmbH, GERMANY.
Change 34.047 Support for z/OS 2.2 RMF III data records.
VMACRMFV -No change is needed for the ASMRMFV program that reads
Mar 6, 2016 the Compressed VSAM file to create the RMFBSAM data file.
-New variables in ZRBASI dataset:
ASICPUTA_LF ='CPU*TIME'
ASIDCTIA_S ='CHANNEL*CONNECT*TIME'
ASIDP ='DISPATCHING*PRIORITY'
ASIFRXA_LF ='FIXED*FRAMES*ABOVE'
ASIFRXB_LF ='FIXED*FRAMES*BELOW'
ASIFRXH_LF ='FIXED*FRAMES*HIGH'
ASIIOCNT_S ='EXCPS'
ASIQSCANRES ='QSCAN*RESOURCES*RETURNED'
ASIQSCANRESSQ1 ='QSCAN*ASIQ*SCANRES*SSQ1'
ASIQSCANRESSQ2 ='QSCAN*ASIQ*SCANRES*SSQ2'
ASIQSCANSPECREQ='QSCAN*SPECIFIC*REQUESTS'
ASIQSCANTIME ='QSCAN*REQUESTS*ISSUED'
ASIQSCANTIMESQ1='QSCAN*ASIQ*SCANTIME*SSQ1'
ASIQSCANTIMESQ2='QSCAN*ASIQ*SCANTIME*SSQ2'
ASITCBTA_LF ='TCB*TIME'
ASITRCA_S ='TRANSACTIONS'
ASITRT ='TRANSACTION*RESIDENT*TIME'
ASI_FREEMAINEDFRAMES='FREEMAINED*FRAMES'
ASI_HVSHRPAGEVALIDATIONS='PAGE*VALIDATONS*HI SHARE'
ASI_LVSHR1MGBYTES='HWM*HIGH*VIRTUAL*SHARED'
ASI_LVSHR1MNMOMB='SHARED*1M*MEMORY*OBJECTS'
ASI_LVSHR4KB ='SHARED*BYTES*HI VIRT'
-New variables in ZRBCPU dataset:
CPC_ATD_AAP ='AVERAGE*THREAD*DENSITY*AAP'
CPC_ATD_CP ='AVERAGE*THREAD*DENSITY*CP '
CPC_ATD_IIP ='AVERAGE*THREAD*DENSITY*IIP'
CPC_CAPF_AAP ='MT CORE*CAPACITY*FACTOR*AAP'
CPC_CAPF_CP ='MT CORE*CAPACITY*FACTOR*CP '
CPC_CAPF_IIP ='MT CORE*CAPACITY*FACTOR*IIP'
CPC_MAXCAPF_AAP='MT CORE*MAXIMUM*CAPACITYAAP'
CPC_MAXCAPF_CP ='MT CORE*MAXIMUM*CAPACITYCP '
CPC_MAXCAPF_IIP='MT CORE*MAXIMUM*CAPACITYIIP'
CPC_MODE_AAP ='MT CORE*MODE*AAP'
CPC_MODE_CP ='MT CORE*MODE*CP '
CPC_MODE_IIP ='MT CORE*MODE*IIP'
CPC_PROD_AAP ='MT CORE*PRODUCTIVITY*AAP'
CPC_PROD_CP ='MT CORE*PRODUCTIVITY*CP '
CPC_PROD_IIP ='MT CORE*PRODUCTIVITY*IIP'
CPU_PARK_CP ='PARKED*TIME*CP'
CPU_PARK_IFA ='PARKED*TIME*IFA'
CPU_PARK_ZIP ='PARKED*TIME*ZIP'
CPU_ONLINE_CP ='ONLINED*TIME*CP'
CPU_ONLINE_IFA ='ONLINE*TIME*IFA'
CPU_ONLINE_ZIP ='ONLINE*TIME*ZIP'
-New variables in ZRBGEI dataset:
GEILSMO ='MEM OBJ*HI VERT*BACKED IN*1MB FRAMES'
GEIRFREM='FREEMAINED*FRAMES*ALL ASIDS'
Change 34.046 ASUMCACH now works without RMF III data and supports tape
ASUMCACH or disk. When the PDB is on tape, TYPE74 is copied to
Mar 5, 2016 //WORK to prevent having two open tape datasets.
Change 34.045 JES2 SMF 26 z/OS 1.13 TRIPLET segment before PRINT caused
VMAC26J2 INPUT STATEMENT EXCEEDED ERROR on z/OS, or a FLOATING
Mar 5, 2016 POINT EXCEPTION on ASCII. The unexpected order
misaligned the input of offset variable SMF26OJC to have
a value of 3,806,577,725, which then caused the error
when INPUT @SMF26OJC was executed with that large value.
The SMF manual has always shown all 7 segments at offset
50, so it's the order in the SMF manual that has
previously defined their order in the record. This
change heuristically detects the order of those two
segments.
-Change 33.046 added support for the SMF26JCR field in MXG
33.02 last year, and that new code failed on the reversed
records at this one site, where all records on some
systems were reversed, and all records on other systems
had the correct segment order.
Thanks to Rich Kuehn, Global eXchange Services, Inc., USA.
Change 34.044 New Capacity Group reports of CEC resources consumed by
ANALGRCA LPARS within a capacity group by RMFINTRV workloads,
GRAFWRKC reporting percent CPU, total CPU time, estimated hourly
Mar 6, 2016 software MSU, and memory consumption by workloads and
then by LPAR.
ANALGRCA and GRAFWRKC both report on Group Capacity.
A good place to start is gragwrkc - it will take your
RMFINTRV dataset and build a picture by CEC and Capacity
Group of %CPU busy, CPU time, estimated hourly MSU, and
memory with a pair of graphs for each, the first by your
RMFINTRV workloads, the second by LPAR within the
Capacity Group. You can narrow down the squeaky wheel
to a workload and/or lpar, and then you can use ANALGRCA
to fine tune the analysis.
ANALGRCA will do much the same thing but lets you zero-in
on what is pushing you to the cap or to a threshold you
specify. The threshold can be an absolute number of MSU
or a percentage of the total group capacity. It will look
at the LPARS in the group using ASUMCELP, the workloads
using RMFINTRV, and the SMFINTRV dataset to look at
tasks. There are parameters to specify the date to
examine, the interval to use (but it must be the same as
the cecintrv in asumcelp.) and for workload and job level
data only those intervals that exceeded the threshold are
used in reporting.
Change 34.043 MXG 33.33. Change 33.316 missed the four reserved bytes,
VMAC71 causing SMF71CPx, SMF714Kx, & SMF71PLx to be misaligned.
Mar 2, 2016
Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.
Change 34.042 Support for DCOLLECT FLAG4 bits that indicate each
VMACDCOL size variables are now in MegaBytes, previously in
Mar 7, 2016 KiloBytes, in DCOLBKUP and DCOLMIGS datasets.
Mar 8, 2016 -Mar 8. UBALLSP and UMALLSP 024* changed to 1024*.
Mar 22, 2016 -Mar 22. All ten UBFLAG and UMFLAG bit tests corrected.
May 8, 2016 -May 8: Change 34.112 corrected UBDSIZE high by 1024.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 34.041 Support for ATF V531 Enhanced Summarization Phase 2
FORMATS inserted these new variables:
VMACATF ATFPGMSW ='PROGRAM*SWITCHES'
Mar 6, 2016 ATFXSNOTN='OTHER*ITEMS**VAR'
Mar 9, 2016 ATFXSNOTL='OTHER*ITEMS**LENGTH'
Apr 5, 2016 ATFXSUOW ='TRANSACTION*UOW'
and the DLI-DB/DLI-TM/DBD/DB2/MQ/OTHERA/OTHERB segments
have new GROUP BUCKET NUMBERs and/or ITEM CODES that are
decoded in new FORMATS.
-Mar 9: (after 34.01) Short 8-byte DBD supported, DLI DB
and DLI TM and OTHER-A segments have been validated.
-Apr 5: Variables ATFXSRSP ATFXSACP ATFXSIQT were wrongly
divided by 4096 twice.
Change 34.040 TYP11921 variable NTHOSTTN is increased from $8 to $64 to
VMAC119 support host names that are fully qualified TCP/IP domain
Mar 2, 2016 name.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Thanks to Gary Nash, Lloyds Banking, ENGLAND.
Change 34.039 Support for new SMF Type 29 IMS JAVA CPU and Garbage Coll
EXTY29GC creates new datasets
EXTY29JA DDDDDD MXG MXG
IMAC29 DATASET DATASET DATASET
TYPE29 SUFFIX NAME LABEL SUBTYPE
TYPS29
VMAC29 TY29GC TY29GC IMS JVM GARBAGE COLLECTION 2
VMXGINIT TY29JA TY29JAVA IMS JVM CPU USAGE 2
Mar 2, 2016 See Change 34.221 which revised and validated with data.
Change 34.038 New variables created in TYPE1209 dataset:
VMAC120 SM1209HE='ENCLAVE*JOINED OR*CREATED?'
Mar 1, 2016 SM1209HF='ENCLAVE*SCHEDULED?'
Thanks to Joe Faska, DTCC, USA.
Change 34.037 Using %LET MXGREADSMF=BOTH caused ERROR 181-185 VARIABLE
VMACSMF SMFINFILE already exists. Code revised to use LOGINFILE
Feb 28, 2016 variable for the INFILE LOGGER.
Thanks to Chris Weston, SAS ITRM, USA.
Change 34.036 TYPE30_5 dataset can have ABEND='SYSTEM' CONDCODE=0000 if
FORMATS a step had a SYSTEM or USER ABEND, but the last step did
VMAC30 not ABEND (e.g., a FLUSH step followed the ABEND). Since
Mar 1, 2016 the type of ABEND is unknown in the TYPE30_5 JOB record,
MXG now sets ABEND='ABEND' instead of ABEND='SYSTEM' in
TYPE30_5. However, in PDB.JOBS, MXG populates both ABEND
and CONDCODE from the LAST step that ABENDed, so you will
not see ABEND='ABEND' except in TYPE30_5. And, since it
is really STEPS that ABEND, and not JOBS, you should use
the PDB.STEPS or TYPE30_4 for ABEND analysis.
Thanks to Linda S. Berkley, USPS, USA.
Change 34.035 These SYNCSORT variables are now kept, formatted $HEX2:
VMACSYNC SYNRETRY='RETRY*FLAG'
Feb 25, 2016 SYNMISCF='SMFFLAG3*MISC*FLAG'
Thanks to Bruce Bordonaro, Pershing, USA.
Change 34.034 Reserved Change Number.
Feb 28, 2016
Change 34.033 Change 31.118 added new fields in the EXGRXEXT (Extended
VMACEDGR Record), but those fields are also in the basic dataset
Feb 28, 2016 records EDGRDEXT and the volume records EDGRVEXT, and
this change adds them to those two datasets.
Thanks to Thomas Giordano, Australian Defence Department, AUSTRALIA.
Change 34.032 Support for DB2 Trace IFCIDS 311 and 321.
VMAC102
Feb 24, 2016
Change 34.031 Cosmetic. If your _IMSVERS does not match the version in
VMACIMS the IMS56FA record, the previous MXGNOTE is now MXGWARN.
Feb 24, 2016 and the text is clearer when they do match.
Change 34.030 TYPE42D4 DATASET variables SMFA2GTAA & SMFA2GTAB are now
VMAC42 correctly INPUT and kept, replacing incorrectly spelled
Feb 22, 2016 SMFA2GSA and SMFA2GSB, with the CA and CI Splits.
Thanks to Michael Friske, FMR, USA.
Change 34.029 Variables SMF70GNM and SMF70GMU added to PDB.RMFINTRV to
VMXGRMFI enable reporting of workloads by Capacity Group.
Feb 22, 2016
Change 34.028 MXG 33.33. ASUM70PR Change 33.306 required PDB.TYPE70 to
VMXG70PR exist in the //PDB data library, so the group capacity
Feb 22, 2016 metrics could be created, but it was not documented that
that the TYPE70 dataset was required. Normally TYPE70 is
in the PDB with the TYPE70PR dataset, but if TYPE70 was
not found in the //PDB library, the ASUM70PR failed.
Now VMXG70PR verifies that TYPE70 exists and uses it if
found, or does not read it if not found, which causes the
new Group Variables to not exist in the ASUM output.
Or, with 33.33 you can circumvent the error using this
code ahead of your ASUM70PR include:
%LET MACKEEP=%QUOTE( MACRO _LTY70 NEWPDB.TYPE70 % );
Change 34.027 MXG set the TYPE1131 CPU Speed SM1132SP to 5000 for z13
VMAC113 because early records contained either 5208 for CP or had
Feb 22, 2016 ZERO for the IP speed. But that is now wrong with the new
Feb 29, 2016 sub-capacity z13s (Speed=3173), so the logic now forces
the 5000 value only if the record contains zero or 5208.
Thanks to Andrew Hebden, Barclays, ENGLAND.
Change 34.026 Support for MVMQ (BBMQ) PTF BPL2558 which was to change
VMACBBMQ all duration fields from TODSTAMP to microseconds, but
Feb 22, 2016 BMC now reports that pre and post that PTF, the values
Mar 10, 2016 have always been in seconds with microsecond fractions.
Mar 22, 2016 MXG was dividing by 4096 presuming TODSTAMP, which is
known to have always been wrong and is now corrected.
Apparently, the primary use has been counts and events
and not durations, as no one noticed!
-Mar 10: Cosmetic typo QSCLOSETTIME to QSCLOSTTIME.
-Unrelated, but observed, that all character date/times
were on GMT zone; new datetime numeric variables replace
them and are set to the local time zone.
Change 34.025 Dataset TYPE70EN, variable PCTMVSBY=100 was incorrectly
VMAC7072 calculated when SMF70PAT, Parked Time, was close to the
Feb 12, 2016 DURATM, but did not exactly match. A 1 second delta is
now required to calculate a non-zero PCTMVSBY=0.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 34.024 Dataset TYPE72GO, variable RESPSTD, Standard Deviation of
VMAC7072 Response time was 2% larger than IBM Value; the 1.04875
Mar 1, 2016 conversion factor is corrected to 1.024.
Thanks to Richard Stuchell, VISA, USA.
Change 34.023 Parameter list was alphabetized and the parameters used
UTILBLDP are displayed on the log. A check was added to the list
Feb 12, 2016 of parameters where an = should not exist as that is
normally an indication that a comma was left off of one
of the parameters.
Change 34.022 -DB2STAT2 statistics dataset new variables:
VMACDB2 QDBPFRAM='FRAMESIZE'
Feb 11, 2016 QDBPVPMI='VPSIZEMIN'
Feb 28, 2016 QDBPVPMA='VPSIZEMAX'
Mar 23, 2017 QDBPSPSZ='SIMULATED*BUFFER*POOL*SIZE'
QDBPSPST='SIMULATED*SEQ*THRESHOLD'
-DB2ACCTP Package dataset, new flag variable
QPACINCO='INCOMPATIBLE*FUNCTION?'
-Documentation: In DB2ACCTP, if QPACRUSM='Y', these fields
are listed by IBM as invalid:
QPACCRNT QPACINSP QPACPAC QPACPKNM QPACCOLN QPACPKID
QPACCONT QPACSCB QPACSCE QPACBJST QPACEJST QPACASCH
QPACAANM QPACAAFG QPACINCO
-Added Mar 23, 2017:
Existing Rollup flag variable DB2PARTY='R' is also set
if QPACRUSM, the new Rollup Summary flag variable is set.
When DB2PARTY='R', the four datetime variables above
QPACBJST QPACEJST QPACSCB QPACSCE
are always zero for BJST/EJST and missing for SCB/SCE.
Those were the individual package event datetimes that
are lost with DB2 ROLLUP summarization.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 34.021 CICSTRAN variable TRANFLAG creates variables from each
FORMATS byte, some are decoded with new formats:
VMAC110 TRANFLAGTF='TRANFLAG*TRANSACTION*FACILITY*NAME'
Feb 12, 2016 VALUE $MGCICTF
'0'='BIT0:NONE'
'1'='BIT1:TERMINAL'
'2'='BIT2:SURROGATE'
'3'='BIT3:DESTINATION'
'4'='BIT4:3270 BRIDGE'
;
TRANFLAGID='TRANFLAG*TRANSACTION*IDENTIFICATION'
VALUE $MGCICTI
'0'='BIT0:SYSTEM TRANSACTION'
'1'='BIT1:MIRROR TRANSACTION'
'2'='BIT2:MIRROR TRANSACTION DPL'
'3'='BIT3:ONC RPC ALIAS TRANS'
'4'='BIT4:WEB ALIAS TRANSACTION'
;
TRANFLAGWL='WLM*STATUS'
VALUE $MGCICWL
'0'='BIT0:WLM REPORT'
'1'='BIT1:WLM NOTIFY COMPLETION'
'2'='BIT2:WLM NOTIFY'
;
TRANFLAGIN='INDOUBT*STATUS'
VALUE $MGCIC8I
'0'='BIT0:INDOUBT WAIT=NO'
'1'='BIT1:INDOUBT ACTION=COMMIT'
'2'='BIT5:INDOUBT FAILURE'
;
TRANFLAGUO='UOW*STATUS'
VALUE $MGCIC8U
'0'='BIT2:UOW INDOUBT ACTION'
'1'='BIT3:UOW SHUNT'
'2'='BIT4:UOW UNSHUNT'
'3'='BIT5:INDOUBT FAILURE'
;
TASKDATALOC='TASKDATALOC*BELOW?'
TASKDATAKEY='TASKDATAKEY*CICS?'
TASKISOLATE='TASKISOLATE*NO?'
TASKDYNAMIC='TASKDYNAMIC*YES?'
Thanks to Perry Lim, Union Bank, USA.
Change 34.020 PK-ZIP SMF records INPUT STATEMENT EXCEEDED error due to
VMACPKSZ one field expanded from 2 to 4 bytes.
Feb 10, 2016
Thanks to Dorothy Yeung, Toyota, USA.
Change 34.019 -STC Variables STC26MST & STC26MET were on GMT time zone,
FORMATS now corrected to local to match other datetimes.
VMACSTC -STC variables STCxxADR were $HEX8 formatted, but that
Feb 9, 2016 is removed as they contain EBCDIC text, not HEX.
Feb 11, 2016 -STC variables STCxxRID are now HEX4 formatted, as they
Feb 24, 2016 contain numeric hex values.
-New format $MGSTCMV maps values in variable STC16MVC.
-New variables decode bits of SMF17DFL:
STC17DRX='RETENTION*PERIOD*REDUCED?'
STC17DAR='AUTO*RECALL?'
STC17DMF='FULL*MVS?'
STC17DYV='RTD*VARY*COMMAND?'
STC17DSW='MVC OR*RTD*REQUIRED?'
STC17DRT='RETAIN*PERIOD*APPLIED?'
and RID variables show 0-F as their range.
-STC11TOL has a third value now supported.
-STC11CSP is relabeled CHANNEL TYPE and formatted.
-Some labels with "MVS" are corrected to "MVC".
Thanks to Randy Hewitt, Hewlett Packard, USA.
Change 34.018 Reserved Change Number.
Change 34.017 Support for NDM-CDI SE Session End record creates
EXNDMSE DDDDDD DATASET DESCRIPTION
IMACNDM NDMSE NDMSE NDM SESSION END
VMACNDM
VMXGINIT
Feb 8, 2016
Thanks to Gerard Bosker, RaboBank, THE NETHERLANDS.
Change 34.016 New variables in MAR 02 record.
VMACMAR TO DO: Subtype 7. Await data in March.
Feb 6, 2016
Change 34.015 New analysis of Group Capacity.
ANALGRCA Inputs are PDB.RMFINTRV,PDB.SMFINTRV,PDB.ASUMCELP.
Feb 6, 2016 See Change 34.044 for GRAFWRKC and a comparison.
Change 34.014 Support for Rocket Software DVS User SMF record ST 1 & 2.
EXDVS01 New datasets created
EXDVS02 DDDDDD DDATASET DESCRIPTION
IMACDVS DVS01 DVS01 DVS CLIENT SYSTEM RECORD
TYPEDVS DVS02 DVS02 DVS INTERVAL SUMMARY RECORD
TYPSDVS -The DVS01 interval dataset is written for each Connection
VMACDVS ID, variable DVS1CNID. This is IBM DVM Data Virtual Mgr.
VMXGINIT -Mar 3: The two lines in the LENGTH statement extended
Feb 5, 2016 beyond 72 characters; on z/OS only, those variables
Mar 3, 2016 were kept in 4 instead of 8 stored bytes, so there would
have been some truncation of datetime values, worst case
255 seconds.
Change 34.013 DB2 dataset T102S166 for IFCID 166 variable QW0166SI is a
VMAC102 statement identifier input $CHAR8 and format $HEX16, but
Feb 4, 2016 it is the statement number, so new variable QW0166SINR is
the numeric statement number; labels clarified.
Thanks to Akhil Vasudevan, Capital One, USA.
Change 34.012 MSU chart modified to reflect an estimated hourly MSU
GRAFWRKX value so that you can see which workloads are making
Feb 2, 2016 the largest contributions to the rolling 4 hour avg.
Change 34.011 -MXG 33.33 with ITRM can cause these errors:
ITRM ERROR: File WORK.SUMSTSBP.DATA does not exist.
Feb 2, 2016 because the new DB2STSBP dataset is now added into the
PDB.DB2STATS dataset, but the new _SDB2SBP sort macro
was not known in ITRM ("NEW"!).
-The correction is easy for BUILDPDB:
ITRM 2.7: Originally reported in 33.301 and MXG 33.33 GA:
ITRM users MUST add this statement
%LET EPDBOUT= _SDB2SBP;
inserted between %CMPROCES... and %CPSTART....
ITRM 3.4-3.6: New in this change:
ITRM users MUST add
%LET EPDBOUT= _SDB2SBP ;
at the top of their SYSIN input.
-For TYPSDB2 program, instead of BUILDPDB, create a new
TYPSDB2 member in your USERID.SOURCLIB "tailoring"
library with these statements:
%INCLUDE SOURCLIB(VMACSMF,VMACDB2,IMACKEEP);
DATA
_VARDB2
_SMF
_CDEDB2
_SDB2SBP
_SDB2
-ITRM 3.7, when released later this year, eliminates this
exposure by invoking the _SDB2 macro which MXG protects.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 34.010 -TYPE72GO variable MSU72, HARDWARE MSU, was re-labeled and
GRAFWLM variable MSUSOFT corrected and also re-labeled:
VMAC7072 MSU72 ='CAPTURED*HARDWARE*MSU 72*COUNT*NOT A RATE'
VMXGRMFI MSUSOFT ='CAPTURED*SOFTWARE*MSU 72*COUNT*NOT A RATE'
Feb 4, 2016
HARDWARE MSU: ORIGINAL MSU - SU_SEC BASED - LARGER
SOFTWARE MSU: NEW MSU - SMF70CPA/CECSUSEC BASED, FOR
SOFTWARE PRICING.
MSU72 =CPUTM*SU_SEC/1000000;
MSUSOFT=CPUTM*CECSUSEC/1000000;
MSUSOFT can be a missing value if no prior RMF 70 for
this system was found, since it needs SMF70CPA from the
same-system's RMF 70 to calculate in the RMF 72 code.
-These MSU variables are created in RMFINTRV and TRNDRMFI
with per interval values:
MSUINTRV ='TOTAL*HARDWARE*MSU 70*COUNT*NOT A RATE'
MSUPERHR ='TOTAL*HARDWARE*MSU 70*EXTENDED*HOURLY RATE'
MSUINTRVS='TOTAL*SOFTWARE*MSU 70*COUNT*NOT A RATE'
MSUPERHRS='TOTAL*SOFTWARE MSU 70*EXTENDED*HOURLY RATE'
-New Workload XXXXMSU variables (BATMSU,CICSMSU) and
XXXXMSUS (BATMSUS,CICSMSUS) variables for each workload
are created with these labels:
BATMSU ='BATCH*CAPTURED*HARDWARE*MSU 72*COUNT'
BATMSUS ='BATCH*CAPTURED*SOFTWARE*MSU 72*COUNT'
-New chart of estimated hourly MSU used by IMPORTANCE in
GRAFWLM (need all three of these updated members).
Change 34.009 -BASECICS and BASEDB2 parameters added to match VMXGALOC
VGETALOC logic and allow for different directories to hold the
Feb 2, 2016 often large CISTRAN/DB2ACCT datasets.
-The message that a LIBNAME could not be found is now
suppressed unless MXGEXIMSG is YES.
Change 34.008 -WebSphere variable WTASCTSR was 4096*E6 too large, as it
VMAC115 was input as PIB8 instead of PIB8.6 and was missing the
VMAC116 2016 the required divide by 4096 to convert to seconds.
Jan 29, 2016 -New variables added to MQMACCTQ dataset.
Feb 12, 2016 WTASPBHW='PUBLISH*HIGH*WATER*MARK'
WTASPBTT='PUBLISH*TOTAL*ELAPSED*TIME'
WTASPRCT='PREPARE*CPU*TIME'
WTASPRET='PREPARE*ELAPSED*TIME'
WTASPRN ='PREPARES'
WTASSMRB='MESSAGE*BLOCKS*READ FROM*SMDS'
WTASSMRP='PAGES*OF DATA*READ FROM*SMDS'
WTASSMRS='SMDS*READS SAVED*DATA IN*BUFFER'
WTASSMWB='MESSAGE*BLOCKS*WRITTEN TO*SMDS'
WTASSMWP='PAGES*OF DATA*WRITTEN TO*SMDS'
WTASSMWT='WAIT TIME*FOR SMDS I/O*COMPLETION'
WTASTPCT='TOPIC*CPU*TIME'
WTASTPET='TOPIC*ELAPSED*TIME'
WTASTPN ='TOPIC*COUNT'
Variable WTASCTSR is corrected in value and formatted
as TIME16.6.
-Type 115 dataset TYPE115S variable QESDBFPT was wrong;
it contained QESDBFBT instead of BFPT.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 34.007 Change 33.153 for IMF/MAINVIEW FOR IMS for IMF 5100 was
VMACCIMS not correct, because new variables only in 5200 were read
Jan 26, 2016 when they should not have been. Logic revised for 5100.
Thanks to Betty Wong, Bank of America, USA.
Change 34.006 -Change 33.024 incorrectly overlaid UTILRMFI with UTILWORK
UTILRMFI when the SYSOTHER message was added, which eliminated the
UTILWORK report.
Jan 25, 2016 -UTILRMFI generates reports using your RMFMINTRV WORKnn
definitions, finding any duplications, by comparing the
SMF30s and RMF72s CPU times.
-UTILWORK generates a skeleton RMFINTRV member based on
SERVICE class or REPORTING class.
Thanks to Michael Gebbia, Eddie Bauer, USA.
Change 34.005 -Support for zVM HIS (SMF 113) PDB.VXPRCMFC accumulated.
VMAC113 -Support for zVM HIS (SMF 113) PDB.VXPRCMFM intervaled.
VMACVMXA Dataset VXPRCMFC is the old SMF 113 subtype 2 accumulated
Jan 30, 2016 and VXPRCMFM is the newer SMF 113 subtype 1 intervaled,
Feb 8, 2016 and only VXPRCMFM will be updated by IBM in the future.
Feb 25, 2016 -SMF 113 EXTND counter labels for z13 were incorrect; the
Feb 27, 2016 values and equations were correct, and now both VMAC113
Feb 29, 2016 (z/OS) and VMACVMXA (z/VM) have the same labels, which
default to the labels for the z13 counters.
(See Change 31.172 to change _XLA113 to earlier CPUs.)
-All zVM MONWRITE VXdddddd datasets now have SYSTEM kept
(most did), and all now have CECSER to identify both the
software and hardware identifications.
-RNI for zEC12 was updated to use 2.3 factor in VMACVMXA.
-All calculated variables for the zEC12 were wrong; while
VMAC113 was updated, VMACVMXA was not for VN2=3 data.
-Support for Multiple CECs/SYSTEMs zVM data changed the
sort order of all datasets by inserting CECSER SYSTEM
ahead of BEGINMTR: BY CECSER SYSTEM BEGINMTR other vars.
Thanks to David Cogar, Wells Fargo, USA.
Thanks to Carl D. Ellis, Wells Fargo, USA.
Change 34.004 End Comment was missing around JCL example, caused 180
FDRCRYPT syntax error.
Jan 20, 2016
Thanks to Michael Gebbia, Eddie Bauer, USA.
Change 34.003 A tailored BUILDPDB created a libname with view that
PDBAUDIT caused an error when a PROC SQL read DICTIONARY.TABLES
Jan 28, 2016 and returned a LIBNAME of _TMPLIB that didn't exist:
ERROR: FILE _TMPLIB.XTY70CP.DATA DOES NOT EXIST.
The error was in PROC SQL FROM DICTIONARY.TABLES and was
difficult to diagnose as there are NO other references on
the log to either that libname or that dataset name. This
similar example causes an obscure LIBREF not found error:
LIBNAME FRED (SASUSER);
DATA FRED.DATA;
A=1;
RUN;
PROC SQL;
CREATE VIEW WORK.WILMA AS SELECT * FROM FRED.DATA;
QUIT;
LIBNAME FRED CLEAR;
PROC SQL;
CREATE TABLE TABLES AS SELECT *
FROM DICTIONARY.TABLES WHERE LIBNAME='WORK';
QUIT;
The error message is that libref FRED is not assigned,
but if you weren't the author of this code, you wouldn't
have had a clue that you needed a libref called FRED.
-This MXG change excludes MEMTYPE EQ 'VIEW' from PROC SQL
since only real data libraries are wanted in PDBAUDIT.
-PDBAUDIT already skips reports on known SAS LIBNAMES,
since its purpose is to audit YOUR data libraries;
these additional LIBNAMES are also now skipped:
APFMTLIB CTRLLIB ITMACR MAILLIB
STMFMT STPSAMP ZOSRSTG1
-The PDBAUDIT report can be skipped if you chose, using
%LET MXGPDBAUDIT=NO;
in your SYSIN input.
Change 34.002 HSMFSRST dataset contains three dates (READ,REQUEST,SMF)
ASUMHSM but four times (REQUEST, ALLOC, START, END) have no date,
VMACHSM and if an HSM event spanned one or more days, those
Jan 20, 2016 time values couldn't be used to calculate durations. This
change creates these four new DateTime variables
FSRTIMRDT='DATETIME*REQUEST*ISSUED'
FSRTIMSDT='DATETIME*REQUEST*STARTED'
FSRTIMADT='DATETIME*ALLOCS*COMPLETED'
FSRTIMEDT='DATETIME*REQUEST*ENDED'
from those four times, using END-SMF, then ALLOC-END and
START-ALLOC deltas to detect when a prior event happened
on the prior day and correct the date part.
And these two new durations are now created:
FSRQUEUETM='FSR*QUEUE*TIME*REQ TO*START'
FSRSERVICTM='FSR*SERVICE*TIME*START*TO END'
- The comparison of TIMEPART(SMFTIME)-FSRTIME, an 8-byte
and a 4-byte stored variable produced non-zero deltas
on the order of E-08, so the ROUND(delta,.01) function
was needed to prevent false positives.
-ASUMHSM was updated to use the new datetime variables.
Thanks to Randy Hewitt, Hewlett Packard, USA.
Change 34.001 If the OPTION CHARCODE is enabled, text (??) in VGETOBS
VGETOBS is incorrectly parsed causing CHARACTER OPERAND ERROR:
Jan 19, 2016 MXGNOTE: VGETOBS LAST UPDATED MAR 17, 2015 CHANGE 33.063
ERROR: CHARACTER OPERAND WAS FOUND IN THE %EVAL FUNCTION
THE CONDITION WAS: %LENGTH(&VGETDSN) = 0
ERROR: THE MACRO VMXGWORL WILL STOP EXECUTING.
Changing the text to ( ?? ) resolves the parse. The SAS
default is NOCHARCODE, and the only MXG code that needs
CHARCODE, member FORMATS, resets to NOCHARCODE, and that
program is only run once to update formats for new MXG.
Using CHARCODE in FORMATS allows one member to create the
MXG formats on both ASCII and EBCDIC platforms, but the
rest of MXG code is only validated with NOCHARCODE.
Thanks to Francois Vancoppenolle, PVGroup, BELGIUM.
LASTCHANGE: Version 34.
=========================member=CHANGE33================================
/* COPYRIGHT (C) 1984-2016 MERRILL CONSULTANTS DALLAS TEXAS USA */
Annual MXG Version 33.33 is dated Jan 18, 2016, thru Change 33.327
First MXG Version 33.33 was dated Jan 11, 2016, thru Change 33.321
MXG Version 33.13 was dated Dec 23, 2015, thru Change 33.311
First MXG Version 33.13 was dated Dec 21, 2015, thru Change 33.309
MXG Version 33.12 was dated Dec 1, 2015, thru Change 33.286
First MXG Version 33.12 was dated Nov 27, 2015, thru Change 33.284
MXG Version 33.11 was dated Nov 2, 2015, thru Change 33.260
MXG Version 33.10 was dated Oct 20, 2015, thru Change 33.250
MXG Version 33.09 was dated Sep 15, 2015, thru Change 33.217
MXG Version 33.08 was dated Aug 20, 2015, thru Change 33.195
First MXG Version 33.08 was dated Aug 17, 2015, thru Change 33.189
MXG Newsletter SIXTY-SIX was dated Aug 17, 2015.
MXG Version 33.07 was dated Jul 22, 2015, thru Change 33.172
First MXG Version 33.07 was dated Jul 17, 2015, thru Change 33.170
MXG Version 33.06 was dated Jun 11, 2015, thru Change 33.141
MXG Version 33.05 was dated May 19, 2015, thru Change 33.128
Second MXG Version 33.05 was dated May 12, 2015, thru Change 33.124
First MXG Version 33.05 was dated May 12, 2015, thru Change 33.123
MXG Version 33.04 was dated Apr 29, 2015, thru Change 33.112
MXG Version 33.03 was dated Mar 31, 2015, thru Change 33.085
Second MXG Version 33.03 was dated Mar 29, 2015, thru Change 33.084
First MXG Version 33.03 was dated Mar 27, 2015, thru Change 33.083
MXG Version 33.02 was dated Feb 27, 2015, thru Change 33.047
First MXG Version 33.01 was dated Feb 20, 2015, thru Change 33.044
ANNUAL: MXG Version 32.32 was dated Jan 6, 2015, thru Change 32.309
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 33.33 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 33.33.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 33.33 re-dated Jan 18, 2016, thru Change 33.327.
Major CHANGES added in MXG 33.33, dated Jan 18, 2016:
TYPE110 33.326 MXG 32.10-First MXG 33.33. Increased CPU in SMF 110s
from 300 to 500 seconds for 22GB SMF 110s, corrected.
TYPEVMXA 33.327 Data set VMBYUSR missing many observations.
VMXGALOC 33.325 Correction for WEEK1 allocation.
TYPEXAM 33.324 zVPS variable CALENTMT changed from numeric, conflict
Major CHANGES added in MXG 33.33, dated Jan 11, 2016:
TYPEXAM 33.320 Support for zVPS z13 SMT mode new variables.
TYPE70EC 33.318 Data Set SORT70EC NOT SORTED, configuration changed.
TYPE42 33.316 New variables compatibly added by z/OS 2.2.
TYPE64 33.316 New variables compatibly added by z/OS 2.2.
TYPE71 33.316 New variables compatibly added by z/OS 2.2.
TYPE74 33.316 New variables compatibly added by z/OS 2.2.
TYPE99 33.308 New variables compatibly added by z/OS 2.2.
SMFSRCH 33.307 Support for multiple text strings in LOOKFOR=.
ASUMCELP 33.306 Variables SMF70GNM, SMF70GMU, SMF70WLA added.
ANALACTM 33.312 Correction for more than one service policy.
Major CHANGES added in MXG 33.13, dated Dec 23, 2015:
UTILBLDP 33.311 Execution stops if BUILDPDB=YES, with &SPINUOW error.
Major CHANGES added in First MXG 33.13, dated Dec 21, 2015:
Critical Change for ITRM USERS (MXG 33.12+):
ITRM 33.301 ITRM users MUST add %LET EPDBOUT= _SDB2SBP;
inserted between %CMPROCES... and %CPSTART....
ERROR: File WORK.SUMSTSBP.DATA does not exist.
Critical Change for z/OS 2.2 MXGTMNT/TAPE MOUNT MONITOR:
ASMTAPEE 33.207 ML-55 of ASMTAPEE/MXGTMNT REQUIRED for z/OS 2.2.
IBM changes cause ABEND S0E0-28, must reassemble.
New Products Support
TYPEIMS 33.298 Support for IMS 14.1 log records (COMPATIBLE)
TYPE74 33.305 z/OS 2.2 RMF 74 Subtype 10 creates TYPE7410/TYPE74SC,
(new Storage Class Memory data).
TYPE78 33.305 z/OS 2.2 new variables in TYPE78PA.
TYPEVMXA 33.299 Support for zVM 6.3 MONWRITE z13 SMT MODE.
Errors Corrected:
TYPEDB2 33.303 Multiple DB2 100 Subtype 1 created multiple DB2STATS.
TYPE102 33.294 SMF 102 IFCIDs 81E5-8160,8051x INPUT EXCEEDED DRROR
Enhancements
ANALIDDY 33.290 ANALIDDY tabulates ANALID SMF data by date, used to
investigate SMF dumping problems.
Major CHANGES added in MXG 33.12, dated Dec 1, 2015:
Reason for this new version:
TYPE7072 33.280 PDB.TYPE70 z13 SMT mode ZIPCPUS value may be wrong.
New Products Support:
TYPEDB2 33.279 Support for DB2 Simulated Buffer Pool PDB.DB2STSBP.
MOBWRK02 33.279 Support for DB2 Simulated Buffer Pool dataset.
TYPE102 33.264 Support for APPTUNE 11.2 INCOMPATIBLE change in 8005.
TYPE119 33.262 Support for SMF 119 subtypes 2, 5, 6, 7, 41-44, 97.
Errors corrected:
TYPE102 33.273 DB2 SMF 102 IFCID=109 INVALID DO LOOP CONTROL ERROR.
TYPE1415 33.270 Variable SMF14ALIAS misspelled so it was not kept.
TYPE120 33.267 SMF 120 dataset TYP120JI only output first instance.
TYPEXAM 33.266 MXG 33.11 only. ERROR VARIABLE SYTPN NOT FOUND.
TYPETPMX 33.265 ThruputMgr TPMSLM variables TPMSLXGF/LXGN wrong.
Enhancements:
JCLASMXG 33.275 Assemble/Link Edit all five MXG ASM programs install.
ASMRMFV 33.274 ASMRMFV Updates.
MXGLOG 33.162 MXGLOG write enabled by //MXGLOG or FILENAME MXGLOG,
automatically.
Major CHANGES added in MXG 33.11, dated Nov 2, 2015:
Reason for this new version:
TYPE110 33.257 CICS/TS 5.3 BETA CICSTRAN new field added INCOMPAT
This should be the last REQUIRED MXG update for CICS/TS 5.3.
New Products Support:
TYPEXAM 33.259 Support for zVPS Release 4230 for z13 SMT mode.
Enhancements:
TYPEIMST 33.252 Variable SYSTEM can be added to TYPE56FA with SYSPARM
Major CHANGES added in MXG 33.10, dated Oct 20, 2015:
New Products Support:
TYPE121 33.231 Support for JZOS Java Runtime Performance SMF 121.
TYPEATF 33.245 Support for OMEGAMON ATF IMS Log Record LCODE A2.
TYPE6 33.233 Support for APAR OA46136 adds IPADDR in PSF SMF 6.
TYPEVMXA 33.242 Support for zVM 6.3.15.0 VXSYSPRT for z13 SMT mode.
TYPERACF 33.238 Support for RACF IRRDBU00 Record Type 1560.
TYPEEDA 33.237 Support for EDA V7706 (INCOMPATIBLE, data inserted).
TYPETPMX 33.232 Support for Thruput Manager VARNAME=$ORIGIO.
TYPEDOS 33.248 Support for zVSE/Power Version 9 Release 2 accounting
Enhancements:
ANALCAPD 33.225 Major revision to analysis of Capping, now by LPAR.
ASMRMFV 33.222 RMF III DVT Character data Filtering saves DASD.
ANAL2642 33.230 Example to select TYPE26 and match with TYPE42.
ANAL1430 33.230 Example to select TYPE14 and match with TYPE30.
VMACUCB 33.245 DEVCLASS=41 decode identifies specific CTC type.
TYPE80A 33.243 RACF Type 80 record "subtypes" (RACFEVNT) for ANALID.
IMAC30IO 33.240 EXCPxxxx and IOTMxxxx can be dropped for nonexistent.
TYPE7072 33.239 New _KTY70DR to drop variables from TYPE70 dataset.
TYPE102 33.236 All DB2 zPARM QWP4xxxx fields are now correct.
TYPE42 33.230 Summed vars S42READS,S42WRITES added to TYPE42DS.
Error Corrections:
TYPE74 33.234 TYPE74HO false duplicates were being removed.
TYPENDM 33.229 NDM PT records INPUT EXCEEDED, INCOMPAT inserts.
TYPE22 33.227 Dataset TYPE22PB RECONFIG PCIE had zero observations.
TYPE74 33.228 SMF 74 St 9 z/OS 2.1 z/13 INPUT STATEMENT EXCEEDED.
TYPE103 33.223 Short SMF 103 Subtype 13 INPUT EXCEEDED error.
TYPE102 33.250 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED.
Major CORRECTIONS added in MXG 33.09, dated Sep 15, 2015:
ASMTAPEE 33.207 ML-55 of ASMTAPEE/MXGTMNT REQUIRED for z/OS 2.2.
IBM changes cause ABEND S0E0-28, must reassemble.
TYPE7072 33.217 z13, SMT Mode, error: LPARCPUS=0 in PDB.TYPE70PR.
TYPE110 33.198 CICS/TS 5.3 BETA, MNSEGCL=5, INPUT STATEMENT EXCEEDED
IBM inserted new data. Datasets CICSRDS/RDFI/RDQU.
TYPETMO2 33.210 More TMON/CICS Version 3 and Version 4 corrections.
MONITASK in V3.3 fixed, MONISYST in V3.3 and 4.0.
ASG APAR corrects two obscure fields in 4.0.
TYPE7072 33.216 Support for APAR OA47042 WLM MOBILE Resources in RMF.
TYPECDC 33.201 Support IBM INFOSPHERE CHANGE DATA CAPTURE CDC V10.2
TYPEAXWY 33.199 Support for AXWAY SMF record, INCOMPATIBLE, inserts.
TYPE120 33.213 Support for WASODM Operational Decision Manager 8.7.
TYPEMGCR 33.212 Support for MEGACRYPTION Version 6, INCOMPATIBLE.
TYPE30 33.206 z/OS 2.2 Job Correlation SMF30COR input/kept.
BUILDPDB 33.204 Variable IOTMNODD was never calculated in PDB.JOBS.
TYPEXAM 33.202 Velocity ZVPS 5.4 XAMSYT had zero observations.
TYPE113 33.197 Variable LPBUSY created in ASUM113 like TYPE113.
TYPEDB2 33.205 DB2ACCTP variables QPACPKID/LOCN/ may be truncated.
TYPEBVIR 33.196 TCVSIZE is now MGBYES, AVGCPUSE/DEFTH corrected.
TYPE70 33.200 TYPE70xx datasets now have VARYed interval data kept.
Major CORRECTIONS added in MXG 33.08, dated Aug 20, 2015:
CRITICAL, REQUIRED CHANGES (that caused redate/refresh of 33.08):
TYPETMO2 33.195 TMON/CICS Version 4 was still wrong in 1st 33.08.
Major enhancements added in FIRST MXG 33.08, dated Aug 18, 2015:
CRITICAL, REQUIRED CHANGES:
TYPE7072 33.186 z13 INCOMPATIBLE ERROR, SMT-MODE, if VARY CP online.
The VARY put the new CP after the IIPs which broke
MXG logic so the new engine was not seen, causing the
CPU metrics to be wrong for all intervals after the
VARY, requiring redesign of the MXG SMT logic.
TYPETMO2 33.188 TMON/CICS Version 4.0, REQUIRED, MXG coding error.
TYPESYNC 33.184 Support for SYNCSORT Release 1.4 (INCOMPAIBLE).
NEW SUPPORT ITEMS:
TYPExxxx 33.189 Support for z/OS 2.2 COMPATIBLE, but many additions.
TYPEMAR 33.183 Support for MAR Hitachi Command Suite Mainframe
VMAC115 33.180 Support for MQ Version 8 subtype 215 record
TYPEBBMQ 33.175 New IHDRBBMQ "Infile Header Exit" for selection.
ASMRMFV 33.182 New filters for RMF III ASI Filtering reading RMFVSAM
CORRECTIONS:
TYPE74 33.185 zEDC TYPE749 zero divide fixed, R749DFMT formatted.
TYPE70PR 33.174 IFL Processor count corrected to number in LPAR.
TYPE7072 33.179 TYPE70EN z13 SMT Mode, blank LPARNAME, SMF70MTTT fix.
TYPE113 33.173 z13 SM1132SP incorrectly forced, should be 5000 MHz.
OTHER ENHANCEMENTS:
TYPE102 33.187 Dataset T102S106 zPARM variables added.
TYPE30 33.185 zEDC variables labels now INFLATE/DEFLATE.
RMFINTRV 33.181 Enhancement to ADD variables to be kept in RMFINTRV.
JCLPDB9 33.178 JCL Example for BUILDPDB, ANALxxxx members revised.
Major enhancements added in MXG 33.07, dated Jul 20, 2015:
TYPE120 33.171 Many SMF 120 ST 9 UNEXPECTED MULTIPLE SEGMENT on log
Major enhancements added in MXG 33.07, dated Jul 17, 2015:
TYPE74 33.155 TYPE74ST now has SCM variables, TYPE74MO is no more.
TYPE78 33.156 Support for APAR OA44525, zHPF Extended Distance II.
TYPE115 33.151 Support for MQ V8.0 MQCHIN, ERROR.VMAC115.OFFQCCT.
TYPE116 33.151 Support for MQ V8.0 MQCHININ, ERROR.VMAC116.LENQWHS.
TYPE119 33.144 Support for Type 119 new subtypes 94 and 95.
TYPECZA 33.166 Support for Correlog z/OS Agent User SMF record.
MXGLOGDO 33.162 "MXGLOG" option to send MXG Messages to MXGLOG.
TYPE22 33.146 New TYPE22PB dataset created for Reconfigured PCIE.
SMFSRCH 33.159 Support for compressed SMF in SMFSRCH LOOKFOR
ANALID 33.159 Support for compressed SMF for DB2 Version/Subtype.
ANALQBAT 33.147 Analysis of Batch Queue Times SMF30HQT/JQT/RQT/SQT.
TYPEXAM 33.157 zVM XAM ERROR SYTCUP SEGMENT LENGTH corrected.
TYPEBVIR 33.145 BVIR VTS Grid dataset BVIR33 wrong for second plus.
TYPENDM 33.143 INPUT STATEMENT EXCEEDED NDM-CDI PT record.
IMAC6ESS 33.158 Type 6 ESS zero len segment INPUT STATEMENT EXCEEDED.
Major enhancements added in MXG 33.06, dated Jun 11, 2015:
TYPERMFV 33.140 RMF III RCD records INCOMPATIBLY CHANGED for z13.
TYPE7072 33.138 z13 in SMT Mode zIIP variables in TYPE70xx datasets,
especially TYPE70EN, could be missing, or DUPLICATE
RECORD message could be printed. REQUIRED FOR SMT.
The MXG SMT support has come in several iterations as
new sequences of data exposed untested logic but this
appears to finally resolve the one-to-many merge.
If you testing SMT on z13, please email MXG Support
with subject: SMT UPDATES so we can inform you if
there are any further required changes for SMT mode.
Aug 17, 2015: MXG 33.08 is NOW required for SMT mode.
See Change 33.186.
TYPE30 33.132 Support for zEDC metrics in TYPE30 is now correct.
ANAL9914 33.139 z13 Processor Topology Report from SMF TYPE9914 data.
SMFSRCH 33.131 SMFSRCH enhancements, ANALID, LOOKFOR list, AND/OR.
TYPEAA 33.137 Support for Compuware ABEND-AID USER SMF Record.
TYPECIMS 33.136 Support for MainView for IMS 5.2 (a/k/a IMF).
TYPEOSEM 33.133 ZOSEM User SMF - INPUT STATEMENT EXCEEDED error.
TYPETMS5 33.129 Support for TMS new TRTCH values for TS1140.
ASUM113 33.130 Missing values in SMF70xx merged into PDB.ASUM113.
ANALDB2R 33.134 Number reports mis-reported,ANALID added, headings.
Major enhancements added in MXG 33.05, dated May 19, 2015:
Sites with z13 in SMT-mode or sites with zEDC need this refresh:
TYPE7072 33.128 Zero OBS in TYPE70 for non-SMT if SMT SMF read first
TYPE74 33.127 zEDC TYPE749 dataset was finally revised correctly.
Aug 17,2015 added: MXG 33.08 required for SMT mode.
Major enhancements added in MXG 33.05, dated May 12, 2015:
TYPE7072 33.121 z13 SMT-mode TYPE70/TYPE70PR data is WRONG 33.03-04.
ONLY SMT-mode type 70 records were wrong.
TYPETANZ 33.123 Support for Tandem ZMS Style records.
TYPEZCOS 33.116 Support for ZCOST AutoSoftCapping Version V3.0.00
SMFSRCH 33.117 SMFSRCH corrections, TYPE30_D now populated.
TYPEBBMQ 33.115 Mainview for Mq BBMQBUFF variables corrected.
TYPECIMS 33.114 IMF/CIMS variable CPUZIPTM was not KEPT in CIMSTRAN.
TYPE102 33.113 Some T102S106 DB2 zPARM values were misaligned/wrong.
TYPE120 33.120 New IHDR120 header exit created for TYPE120 tailoring
IMACICMX 33.119 The optional IMACICMX for length=384 had missing END.
Major enhancements added in MXG 33.04, dated Apr 29, 2015:
TYPE110 33.112 Support for CICS/TS 5.3 OPEN BETA (INCOMPATIBLE).
Note: IBM Changed CICS 5.3 Default to STGPROT=YES
Note: MXG 33.08-plus is required. Change 33.192.
TYPETMO2 33.099 TMON/CICS V3.4, MXG 32.13-33.03, TASCPUTM WRONG.
TYPEBBMQ 33.090 Support for BBMQ PTF BLL2458/BPL2459 (INCOMPAT)
TYPE42 33.108 Support for APARs OA45944,OA45897 new SMF 42 metrics.
TYPE74 33.087 Support for RMF 74 Subtype 9 zEDC Accelerator.
TYPESYNC 33.102A Support for SYNCSORT Release 2.1 (INCOMPATIBLE).
TYPEQACS 33.101 Support for iSeries 7.2 (COMPATIBLE, new LRECLs).
TYPEXAM 33.086 Support for Velocity Software zVPS XAM Version 5.4.
TYPENMON 33.104 Support for NMON CPUnr with three digits.
TYPE110 33.106 CICSEXCE variable EXCMTYPE decodes Exception type.
UTILCVRT 33.105 Alternate table needed for no TRANSCODE PROC CPORT.
ASMRMFV 33.100 Protect invalid ASI table index in UWD, 0C4 ABEND.
TYPE7072 33.096 z13 with SMT PROCVIEW=CORE, SMT-NUM not kept.
TYPENMON 33.092 Some NMON BBBPnnnn variables were mis-assigned.
Major enhancements added in MXG 33.03, dated Mar 29, 2015:
TYPE7072 33.071 FULL z13 SUPPORT. MXG 33.03 IS REQUIRED FOR SMT MODE,
i.e., for PROCVIEW CORE. FOR non-SMT, PROCVIEW CPU,
the many changes were COMPATIBLY made.
Aug 17,2015: See Change 33.186, MXG 33.08 IS NOW REQUIRED FOR SMT.
For SMT PROCVIEW CORE Mode, MXG Change 33.046 in 33.02
updated the TYPE70 dataset, but this Change 33.071 in MXG
33.03 is required to update the new SMT metrics correctly
in the TYPE70PR dataset, to get the CPUID, LCPUADDR, and
CORE_ID from the four segments that don't have the same
number of segments: OFFCPUD and SMF70COS have 20 for the
6 online CPs, 4 offline CPs, and 5 zIIPs with CPU_NUM=2,
while SMF70BDN/LPARCPUX has only 18 segments (with the
CORE_NUM needed to look-up the LCPUADDR), and there are
only 14 Core_ID values.
This was a complex update to a CRITICAL MXG MEMBER, with
500+ lines of code inserted lines into the 27,000 lines.
The SMT Mode data has been validated with RMF records,
with a wide range of LPAR configurations. When in SMT
mode, please examine the new data carefully and contact
support@mxg.com if you have questions.
Note: If you read the changed SMT mode RMF 70s with an
old MXG, RMFINTRV may have NEGATIVE CPUOVHTM values and
the %PCTCPUBY values may be over 100%.
TYPE99 33.053 Support for z13 updates to type 99 subtype 14.
TYPE113 33.052 z13 Support for HIS SMF 113, many new equations.
UTILEXCL 33.049 New reports, trans without dictionary, READTIME.
VMXGINIT 33.062 %LET MXGDEBUG=FULL; shows OPTIONS, enables diags.
TYPEDOL 33.060 DCOLLECT Cluster/Multi-VOL now have Class variables.
TYPE102 33.067 DB2 Trace IFCID=220 misaligned, ILLEGAL ARGUMENT.
TYPE105 33.061 GDPS SMF 105 INPUT STATEMENT EXCEED if no XVMX seg.
ANALDB2R 33.069 SAS 9.3 does not have dictionary for DESTINATIONS.
TYPEDB2 33.068 Variable Q8STCCPU not kept after Change 30.133.
TYPETHAO 33.059 Support for Thales Security Resource Mgr RF1100.
FTPING 33.056 OPTIONS OBS=0 fails read with ftp access method.
ANALHSM 33.050 Graphics part had a NOT SORTED condition.
TYPETPMX 33.070 TOKENID INCLAI, three $LIST_L and $RESTAR added.
Many 33.078 All %MACROs from SASAUTOS are replaced by %SYSFUNC()
Major enhancement added in MXG 33.02, dated Feb 27, 2015:
Many 33.046 Support z/OS on z13 RMF/SMF APARs for z/OS 2.1+
MXG 33.01 CHANGES noted one z13 site had NEGATIVE CPUOVHTM,
but that was ONLY IF z/OS on z13 is in MULTI-THREADING MODE.
MXG was unaware of IBM's restructuring the RMF type 70 SMF
record's calculation of CPU BUSY time for the new MT mode,
but this MAJOR CHANGE restructured TYPE70 processing in MXG
to order by CORE_ID and CPU_NUM rather than CPUID/LCPUADDR.
If you have ANY non-MXG programs that read RMF 70s to get the
CPU BUSY time, they MUST BE REWRITTEN for MT Mode records.
A Technical Newsletter note on Multi_Threading is planned;
this original note then stated an initial opinion of mine:
"although relatively few sites have workloads that will be
able to exploit that architecture, which can increase thruput
but elongate individual tasks elapsed time", but I've changed
my opinion about "relatively few sites": ANY SITE with zIIPs
or IFLs are VERY LIKELY to find SMT to be a benefit.
Major enhancement added in MXG 33.01, dated Feb 23, 2015:
Many 33.023 Support z/OS on z13 RMF/SMF APARs (z/OS: COMPATIBLE)
However: One site's z13 stress test shows TYPE70 CPU time MUCH LESS
than TYPE72 Service Class CPU time (which matches 30s) for
many intervals, but valid data before and after the test,
causing NEGATIVE CPUOVHTM messages on the log and RMFINTRV
observations will have negative CPUOVHTM (uncaptured CPU).
NOTE: THIS ERROR WAS CORRECTED IN MXG 33.02, SEE ABOVE NOTE.
TYPEVMXA 33.016 Support for zVM 6.3 on z13 (INCOMPATIBLE).
TYPEMWLX 33.037 Support for HP MeasureWare for Linux -
VMAC30 33.005 Support for APAR OA45767 adds zEDC statistics.
TYPEBBMQ 33.030 Support for BMC Mainview for MQ 5.2 (REQUIRED)
TYPENTMU 33.028 Support for EDS User SMF Record from NETMENU program.
TYPEXPTR 33.040 Support for SystemWare XPTR 5.2 subtype 140, ex-st-40
SMFSRCH 33.041 SMFSRCH redesigned to read the SMFOUT with UTILBLDP.
ASUM70PR 33.032 New SMF70WTI/WTS/WTU added to ASUM70LP/ASUMCELP
MOBWRKSU 33.039 Summarization of Mobile Work CSV file combines split.
TYPEDB2 33.025 QBSTBPIN, Buffer Pool I/O Intensity, added DB2STATB.
RMFINTRV 33.024 ANY work in service class SYSOTHER, new log messages.
ASMRMFV 33.021 ASMRMFV skips RCD if no Reporting Classes defined.
TYPEQACS 33.020 iSeries change in record length can force USER ABEND.
TYPE60 33.038 Type 60 with no VVR INPUT STATEMENT EXCEEDED again.
TYPE80A 33.036 RACF SMF 80 record, TOKxxxxx fields increased length
TYPEIMS 33.034 Variables SYSABEND,USRABEND decoded in IMS56FA.
TYPEVMXA 33.043 zVM VXUSEACT/VXUSEINT NOT SORTED ERROR.
UTILBLDP 33.042 Using INCLAFTR=BUIL3005 for JES3 PDB.TYPE25 not found
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M3 (9.4M3) printed
as "SAS 9.4 (TS1M3)" or was "SAS 9.4 (TS04.01M2P07232014)" for
"SAS 9.4 (TS1M2)" (on SASLOG, if OPTION VERSIONLONG enabled),
for SAS 9.4 Maintenance Level M3 and m2.
SAS V9.4 M3 Is RECOMMENDED, but MXG executes without error using
SAS Version 9.4 M0, M1, M2, and M3 or SAS Version 9.2 M1 and M2.
SAS V9.4 M2 Is RECOMMENDED. SAS 9.4 M2 is at LEVEL A SAS Support
SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03. SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit, but SAS V9.2 does execute ok.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 must be at Service Pack 4. Additionally, on z/OS 1.10
only, 9.1.3 requires SAS Hot Fix for SN-35332.
9.1.3 is support level C by SAS Institute, Sep 30, 2013.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS93 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 33.03 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.4, on z/OS, on Windows Seven and
Eight (64-bit) on 64-bit hardware, and sometimes on Centos 6.4,
but MXG users execute MXG on MANY (ALL??) SAS platforms, including
AIX, Linux, and other 'nix' variants, on many different hardware
platforms, and since they all work we don't need to list them. If
SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.1.1 maintenance level 731 required for PDB to tape
WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS Hardware changes, but:
The z/EC12 with 85+ engines required MXG 30.07.
Support for 255 engines was added in MXG 31.04.
The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
INCOMPATIBLY CHANGED, and MXG 33.09 is REQUIRED (PCTCPUBY WRONG!), to
read the SMT-format RMF records (which are written if you have zIIP
engines AND have have enabled the new PROCVIEW CORE option for
Multi-Threading, even if only one thread is enabled).
The new zEDC compression hardware requires MXG 33.07 to support the
new metrics.
For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z/OS 2.2 COMPATIBLE CH 33.189 Aug 19, 2015 33.08
z/OS 2.2 MXGTMNT ABEND S0E0-28 Sep 15, 2015 33.09
REQUIRES ASMTAPE ML-55 Sep 15, 2015 33.09
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
zEC12 Nov 14, 2012 30.07
z13 non-SMT Mode May 27, 2014 32.05
z13 SMT Mode Change 33.217 Sep 15, 2015 *33.09
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 *29.05
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 *30.01
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 *30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 *30.30
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 *31.03
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 *31.03
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 *32.03
CICS-TS/5.3 INCOMPAT CICSTRAN Apr 29, 2015 33.04
CICS-TS/5.3 OPEN BETA Sep 31, 2015 33.08
CICS-TS/5.3 RESOURCE SEGCL=5 Sep 31, 2015 33.09
CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015 33.11
CICS-TS/5.3 GA date Dec 11, 2015 33.??
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 *23.09
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1 DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 *31.04
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 *27.01
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 *26.01
IMS log 10.1 Mar 06, 2007 *26.01
IMS log 11.1 Apr 1, 2010 *28.02
IMS log 12.1 Jan 23, 2012 *29.29
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
IMS log 14.1 COMPATIBLE Dec 19, 2015 33.13
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
TMON/CICS 3.4 (for CICS/TS 5.1) 30.30-32.12
(Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099) 33.04
TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195) *33.09
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
TMON/MVS Version 4.4 32.04
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V11R2 SMF 102 33.11 33.264
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) *22.08
IMF 4.1 (for IMS 9.1) *26.02
IMF 4.4 (for IMS 9.1) *31.08
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS *31.08
IMF 5.1 a/k/a Mainview IMS 31.08
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for MQ Version 5.2 33.01
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
SYNCSORT
2.1 33.05
1.4 33.08
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
XVPS 4.2 31.06
ZVPS 5.4 *33.07
V. Incompatibilities and Installation of MXG 33.33.
1. Incompatibilities introduced in MXG 33.33:
a- Changes in MXG architecture made between 33.33 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 33.33 after MXG 32.32:
Dataset/
Member Change Description
ANAL1430 33.230 Example to select TYPE14 and match with TYPE30.
ANAL2642 33.230 Example to select TYPE26 and match with TYPE42.
ANAL9914 33.139 z13 Processor Topology Report from SMF TYPE9914 data.
ANALACTM 33.312 Correction for more than one service policy.
ANALCAPD 33.225 Major revision to analysis of Capping, now by LPAR.
ANALDB2R 33.069 SAS 9.3 does not have dictionary for DESTINATIONS.
ANALDB2R 33.134 Number reports mis-reported,ANALID added, headings.
ANALHSM 33.050 Graphics part had a NOT SORTED condition.
ANALID 33.159 Support for compressed SMF for DB2 Version/Subtype.
ANALIDDY 33.290 ANALIDDY tabulates ANALID SMF data by date.
ANALQBAT 33.147 Analysis of Batch Queue Times SMF30HQT/JQT/RQT/SQT.
ASMRMFV 33.021 ASMRMFV skips RCD if no Reporting Classes defined.
ASMRMFV 33.100 Protect invalid ASI table index in UWD, 0C4 ABEND.
ASMRMFV 33.182 New filters for RMF III ASI Filtering reading RMFVSAM
ASMRMFV 33.222 RMF III DVT Character data Filtering saves DASD.
ASMRMFV 33.274 ASMRMFV Updates.
ASMTAPEE 33.207 ML-55 of ASMTAPEE/MXGTMNT REQUIRED for z/OS 2.2.
ASUM113 33.130 Missing values in SMF70xx merged into PDB.ASUM113.
ASUM70PR 33.032 New SMF70WTI/WTS/WTU added to ASUM70LP/ASUMCELP
ASUMCELP 33.306 Variables SMF70GNM, SMF70GMU, SMF70WLA added.
BLDSMPDB 33.031 Wrong Start Week date with FORCEDAY and low case.
BUILDPDB 33.204 Variable IOTMNODD was never calculated in PDB.JOBS.
FTPING 33.056 OPTIONS OBS=0 fails read with ftp access method.
IMAC30IO 33.240 EXCPxxxx and IOTMxxxx can be dropped for nonexistent.
IMAC6ESS 33.158 Type 6 ESS zero len segment INPUT STATEMENT EXCEEDED.
IMACICMX 33.119 The optional IMACICMX for length=384 had missing END.
ITRM 33.301 ITRM users MUST use %LET EPDBOUT= _SDB2SBP.
JCLASMXG 33.275 Assemble/Link Edit all five MXG ASM programs install.
JCLPDB9 33.178 JCL Example for BUILDPDB, ANALxxxx members revised.
MANY 33.046 SUPPORT for z13 processor in MULTITHREADING MODE.
MOBWRK02 33.279 Support for DB2 Simulated Buffer Pool dataset.
MOBWRKSU 33.039 Summarization of Mobile Work CSV file combines split.
RMFINTRV 33.024 ANY work in service class SYSOTHER, new log messages.
RMFINTRV 33.181 Enhancement to ADD variables to be kept in RMFINTRV.
SMFSRCH 33.041 SMFSRCH redesigned to read the SMFOUT with UTILBLDP.
SMFSRCH 33.117 SMFSRCH corrections, TYPE30_D now populated.
SMFSRCH 33.131 SMFSRCH enhancements, ANALID, LOOKFOR list, AND/OR.
SMFSRCH 33.159 Support for compressed SMF in SMFSRCH LOOKFOR
SMFSRCH 33.307 Support for multiple text strings in LOOKFOR=.
TYPE102 33.067 DB2 Trace IFCID=220 misaligned, ILLEGAL ARGUMENT.
TYPE102 33.113 Some T102S106 DB2 zPARM values were misaligned/wrong.
TYPE102 33.126 BMC APPTUNE 102 INPUT EXCEEDED if DATA SHARING.
TYPE102 33.187 Dataset T102S106 zPARM variables added.
TYPE102 33.236 All DB2 zPARM QWP4xxxx fields are now correct.
TYPE102 33.250 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED.
TYPE102 33.264 Support for APPTUNE 11.2 INCOMPATIBLE change in 8005.
TYPE102 33.273 DB2 SMF 102 IFCID=109 INVALID DO LOOP CONTROL ERROR.
TYPE102 33.294 SMF 102 IFCIDs 81E5-8160,8051x INPUT EXCEEDED DRROR
TYPE103 33.223 Short SMF 103 Subtype 13 INPUT EXCEEDED error.
TYPE105 33.061 GDPS SMF 105 INPUT STATEMENT EXCEED if no XVMX seg.
TYPE110 33.106 CICSEXCE variable EXCMTYPE decodes Exception type.
TYPE110 33.198 CICS/TS 5.3 BETA, MNSEGCL=5, INPUT STATEMENT EXCEEDED
TYPE110 33.257 CICS/TS 5.3 CICSTRAN (final) new field added INCOMPAT
TYPE110 33.326 MXG 32.10-First MXG 33.33. Increased CPU in SMF 110s
TYPE113 33.052 z13 Support for HIS SMF 113, many new equations.
TYPE113 33.173 z13 SM1132SP incorrectly forced, should be 5000 MHz.
TYPE113 33.197 Variable LPBUSY created in ASUM113 like TYPE113.
TYPE115 33.151 Support for MQ V8.0 MQCHIN, ERROR.VMAC115.OFFQCCT.
TYPE116 33.151 Support for MQ V8.0 MQCHININ, ERROR.VMAC116.LENQWHS.
TYPE119 33.144 Support for Type 119 new subtypes 94 and 95.
TYPE119 33.262 Support for SMF 119 subtypes 2, 5, 6, 7, 41-44, 97.
TYPE120 33.120 New IHDR120 header exit created for TYPE120 tailoring
TYPE120 33.213 Support for WASODM Operational Decision Manager 8.7.
TYPE120 33.267 SMF 120 dataset TYP120JI only output first instance.
TYPE121 33.231 Support for JZOS Java Runtime Performance SMF 121.
TYPE1415 33.270 Variable SMF14ALIAS misspelled so it was not kept.
TYPE22 33.146 TYPE22PB dataset created for Reconfigured PCIE.
TYPE22 33.227 Dataset TYPE22PB RECONFIG PCIE had zero observations.
TYPE30 33.132 New zEDC metrics in TYPE30 are now correct.
TYPE30 33.185 zEDC variables labels now INFLATE/DEFLATE.
TYPE30 33.206 z/OS 2.2 Job Correlation SMF30COR input/kept.
TYPE42 33.108 Support for APARs OA45944,OA45897 new SMF 42 metrics.
TYPE42 33.230 Summed vars S42READS,S42WRITES added to TYPE42DS.
TYPE42 33.316 New variables compatibly added by z/OS 2.2.
TYPE6 33.233 Support for APAR OA46136 adds IPADDR in PSF SMF 6.
TYPE60 33.038 Type 60 with no VVR INPUT STATEMENT EXCEEDED again.
TYPE64 33.316 New variables compatibly added by z/OS 2.2.
TYPE70 33.200 TYPE70xx datasets now have VARYed interval data kept.
TYPE7072 33.071 z13 SUPPORT. MXG 33.03 REQUIRED ONLY FOR SMT MODE
TYPE7072 33.096 z13 with SMT PROCVIEW=CORE, SMT-NUM not kept.
TYPE7072 33.121 z13 SMT-mode TYPE70/TYPE70PR data is WRONG 33.03-04.
TYPE7072 33.125 SMF70CAN/CTN restored, CPUWAIT-LPARBUSY for zIIPs.
TYPE7072 33.128 Zero OBS in TYPE70 for non-SMT if SMT SMF read first
TYPE7072 33.138 z13 in SMT Mode, TYPE70EN had missing values for ZIP.
TYPE7072 33.179 TYPE70EN z13 SMT Mode, blank LPARNAME, SMF70MTTT fix.
TYPE7072 33.186 z13 INCOMPATIBLE ERROR, SMT-MODE, when VARY CP online
TYPE7072 33.217 z13 in SMT MODE ONLY: LPARCPUS=0 in PDB.TYPE70PR
TYPE7072 33.239 New _KTY70DR to drop variables from TYPE70 dataset.
TYPE7072 33.280 PDB.TYPE70 z13 SMT mode ZIPCPUS value may be wrong.
TYPE7072 33.318 Data Set SORT70EC NOT SORTED corrected with sort.
TYPE70EC 33.318 Data Set SORT70EC NOT SORTED, configuration changed.
TYPE70PR 33.174 IFL Processor count corrected to number in LPAR.
TYPE71 33.316 New variables compatibly added by z/OS 2.2.
TYPE74 33.087 Support for RMF 74 Subtype 9 zEDC Accelerator.
TYPE74 33.127 zEDC TYPE749 dataset was finally revised correctly.
TYPE74 33.155 TYPE74ST now has SCM variables, TYPE74MO is no more.
TYPE74 33.185 zEDC TYPE749 zero divide fixed, R749DFMT formatted.
TYPE74 33.228 SMF 74 St 9 z/OS 2.1 z/13 INPUT STATEMENT EXCEEDED.
TYPE74 33.234 TYPE74HO false duplicates were being removed.
TYPE74 33.305 z/OS 2.2 RMF 74 Subtype 10 creates TYPE7410/TYPE74SC.
TYPE74 33.316 New variables compatibly added by z/OS 2.2.
TYPE78 33.156 Support for APAR OA44525, z HPF Extended Distance II.
TYPE78 33.305 z/OS 2.2 new variables in TYPE78PA.
TYPE80A 33.036 RACF SMF 80 record, TOKxxxxx fields increased length
TYPE80A 33.243 RACF Type 80 record "subtypes" (RACFEVNT) for ANALID.
TYPE99 33.053 Support for z13 updates to type 99 subtype 14.
TYPE99 33.308 New variables compatibly added by z/OS 2.2.
TYPEAA 33.137 Support for Compuware ABEND-AID USER SMF Record.
TYPEATF 33.245 Support for OMEGAMON ATF IMS Log Record LCODE A2.
TYPEAXWY 33.199 Support for AXWAY SMF record, INCOMPATIBLE, inserts.
TYPEBBMQ 33.030 Support for BMC Mainview for MQ 5.2 (REQUIRED)
TYPEBBMQ 33.090 Support for BBMQ PTF BLL2458/BPL2459 (INCOMPAT)
TYPEBBMQ 33.115 Mainview for Mq BBMQBUFF variables corrected.
TYPEBBMQ 33.175 New IHDRBBMQ "Infile Header Exit" for selection.
TYPEBVIR 33.145 BVIR VTS Grid dataset BVIR33 wrong for second plus.
TYPEBVIR 33.196 TCVSIZE is now MGBYES, AVGCPUSE/DEFTH corrected.
TYPECDC 33.201 Support IBM INFOSPHERE CHANGE DATA CAPTURE CDC V10.2
TYPECIMS 33.114 IMF/CIMS variable CPUZIPTM was not KEPT in CIMSTRAN.
TYPECIMS 33.136 Support for MainView for IMS 5.2 (a/k/a IMF).
TYPECZA 33.166 Support for Correlog z/OS Agent User SMF record.
TYPEDB2 33.025 QBSTBPIN, Buffer Pool I/O Intensity, added DB2STATB.
TYPEDB2 33.068 Variable Q8STCCPU not kept after Change 30.133.
TYPEDB2 33.142 Variables QWACATWT and QWACPQCT corrected.
TYPEDB2 33.205 DB2ACCTP variables QPACPKID/LOCN/ may be truncated.
TYPEDB2 33.279 Support for DB2 Simulated Buffer Pool PDB.DB2STSBP.
TYPEDB2 33.303 Multiple DB2 100 Subtype 1 created multiple DB2STATS.
TYPEDOL 33.060 DCOLLECT Cluster/Multi-VOL now have Class variables.
TYPEDOS 33.248 Support for zVSE/Power Version 9 Release 2 accounting
TYPEEDA 33.237 Support for EDA V7706 (INCOMPATIBLE, data inserted).
TYPEID 33.045 ANALID report printed '110.001' vice '110.1.1'.
TYPEIMS 33.034 Variables SYSABEND,USRABEND decoded in IMS56FA.
TYPEIMS 33.298 Support for IMS 14.1 log records (COMPATIBLE)
TYPEIMST 33.252 Variable SYSTEM can be added to TYPE56FA with SYSPARM
TYPEMAR 33.183 Support for MAR Hitachi Command Suite Mainframe
TYPEMGCR 33.212 Support for MEGACRYPTION Version 6, INCOMPATIBLE.
TYPEMWLX 33.037 Support for HP MeasureWare for Linux -
TYPENDM 33.143 INPUT STATEMENT EXCEEDED NDM-CDI PT record.
TYPENDM 33.229 NDM PT records INPUT EXCEEDED, INCOMPAT inserts.
TYPENMON 33.092 Some NMON BBBPnnnn variables were mis-assigned.
TYPENMON 33.104 Support for NMON CPUnr with three digits.
TYPENTMU 33.028 Support for EDS User SMF Record from NETMENU program.
TYPEOSEM 33.133 ZOSEM User SMF - INPUT STATEMENT EXCEEDED error.
TYPEQACS 33.020 iSeries change in record length can force USER ABEND.
TYPEQACS 33.101 Support for iSeries 7.2 (COMPATIBLE, new LRECLs).
TYPERACF 33.238 Support for RACF IRRDBU00 Record Type 1560.
TYPERMFV 33.140 RMF III RCD records INCOMPATIBLY CHANGED for z13.
TYPESYNC 33.102A Support for SYNCSORT Release 2.1 (INCOMPATIBLE).
TYPESYNC 33.184 Support for SYNCSORT Release 1.4 (INCOMPAIBLE).
TYPETANZ 33.123 Support for Tandem ZMS Style records.
TYPETHAO 33.059 Support for Thales Security Resource Mgr RF1100.
TYPETMO2 33.099 TMON/CICS V3.4, MXG 32.13-33.03, TASCPUTM WRONG.
TYPETMO2 33.188 TMON/CICS Version 4.0, REQUIRED, MXG coding error.
TYPETMO2 33.210 More TMON/CICS Version 3 and Version 4 corrections.
TYPETMS5 33.129 Support for TMS new TRTCH values for TS1140.
TYPETPMX 33.070 TOKENID INCLAI, three $LIST_L and $RESTAR added.
TYPETPMX 33.232 Support for Thruput Manager VARNAME=$ORIGIO.
TYPETPMX 33.265 ThruputMgr TPMSLM variables TPMSLXGF/LXGN wrong.
TYPEVMXA 33.043 zVM VXUSEACT/VXUSEINT NOT SORTED ERROR.
TYPEVMXA 33.242 Support for zVM 6.3.15.0 VXSYSPRT for z13 SMT mode.
TYPEVMXA 33.299 Support for zVM 6.3 MONWRITE z13 SMT MODE.
TYPEVMXA 33.327 Data set VMBYUSR missing many observations.
TYPEXAM 33.086 Support for Velocity Software zVPS XAM Version 5.4.
TYPEXAM 33.157 zVM XAM ERROR SYTCUP SEGMENT LENGTH corrected.
TYPEXAM 33.202 Velocity ZVPS 5.4 XAMSYT had zero observations.
TYPEXAM 33.259 Support for zVPS Release 4230 for z13 SMT mode.
TYPEXAM 33.266 MXG 33.11 only. ERROR VARIABLE SYTPN NOT FOUND.
TYPEXAM 33.320 Support for zVPS z13 SMT mode new variables.
TYPEXAM 33.324 zVPS variable CALENTMT changed from numeric, conflict
TYPEXPTR 33.040 Support for SystemWare XPTR 5.2 subtype 140, ex-st-40
TYPEZCOS 33.116 Support for ZCOST AutoSoftCapping Version V3.0.00.
UTILBLDP 33.042 Using INCLAFTR=BUIL3005 for JES3 PDB.TYPE25 not found
UTILBLDP 33.159 BUILDPDB=NO incorrect for type 102 2 byte subtypes.
UTILCVRT 33.105 Alternate table needed for no TRANSCODE PROC CPORT.
UTILEXCL 33.049 New reports, trans without dictionary, READTIME.
UTILEXCL 33.255 ARRAY EXCEEDED when more than 999 connectors.
VGETDDS 33.208 z/OS Only. Multiple tape mounts with DDNAMES=PDB:.
VMAC115 33.180 Support for MQ Version 8 subtype 215 record
VMAC30 33.005 Support for APAR OA45767 adds zEDC statistics.
VMACUCB 33.245 DEVCLASS=41 decode identities specific CTC type.
VMXGALOC 33.325 Correction for WEEK1 allocation.
VMXGINIT 33.062 %LET MXGDEBUG=FULL; shows OPTIONS, enables diags.
VMXGINIT 33.162 "MXGLOG" option to send MXG Messages to MXGLOG.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com
Inverse chronological list of all Changes:
NEXTCHANGE
====== Changes thru 33.327 were in MXG 33.33 dated Jan 18, 2016=========
Change 33.327 Dataset VMBYUSR was missing many observations because the
VMACVMXA timestamp in MRHDRTOD in VXUSEACT did not exactly match
Jan 15, 2016 the MRHDRTOD in VXUSEINT which are key MERGE variables.
Circumvention was to merge with the FLOOR(MRHDRTOD).
Thanks to Joe Faska, DTCC, USA.
Change 33.326 -MXG 32.10-MXG 33.33. Increase in CPU time for SMF 110
VMAC110 record processing, 300 to 500 seconds, 22 GB, due to
Jan 15, 2016 multiple executions of RESOLVE function where only one
was needed, to populate character variable CICXLTR, which
is only used to enhance error messages if EXCLUDED fields
are found.
-Too many warning messages were printed if Compressed CICS
data was read on z/OS without the CICSIFUE INFILE exit,
and too many "ok on ASCII" messages were printed.
Thanks to Perry Lim, Union Bank, USA.
Change 33.325 -Change 32.220 added new BASECICS and BASEDB2 parameters
BLDSMPDB that let you send DB2 and/or CICS datasets to a different
VMXGALOC drive, but did not tell you that if you did not use them,
UTILBLDP those datasets were written to BASEDIR. Default is now
Jan 17, 2016 a NULL string so that behavior is unchanged and the log
Jan 18, 2016 now notes where CICSTRAN and DB2ACCT are allocated.
-Change 32.262 incorrectly set the WEEK WEEK1 libnames to
be the current week when RUNWTD was NO and when RUNWTD
was YES the WTD LIBNAME was not allocated. Fortunately,
the only exposure is that if a user wanted to run a
report with WEEK1, it would have been empty since the
week had not been run to populate it.
-UTILBLDP failed to include ASUMDBSS because an AND in the
macro was misspelled as AMD and the compiler does not see
it as a syntax error.
-BLDSMPDB debugging statements left in code.
Thanks to Richard Krueger, Sentry, USA.
Change 33.324 zVPS variable CALENTMT was changed from numeric to char
VMACXAM causing a conflict if OLD and NEW datasets were combined.
Jan 13, 2016 CALENTMT is restored to CHAR, new variable CALENTMTN has
the actual numeric CPU ENTITLEMENT value.
Thanks to David A. Sadler, OPTUM, USA.
Change 33.323 New fields added to Thruput Manger are supported:
VMACTPMX CONTR ='CONTR'
Jan 12, 2016 JCL_SJB ='JCL_SJB'
JCL_SJC ='JCL_SJC'
JCL_SJG ='JCL_SJG'
JAL_T ='JAL_T'
There is a defective entry with ' ST_L' that should be
'LIST_L' that prints an error message that it was skipped
while we investigate with the vendor.
Change 33.322 The new JOB Correlation Token SMF30COR and SMF26JCR are
VMAC26J2 populated with 64 bytes of '00'x for OMVS and most STCs,
VMAC30 which then print as 64 unprintable characters. The '00'X
Jan 12, 2016 are translated to blanks. But it is unclear why this new
token is created; the READTIME JOB JESNR uniquely match
and only require 24 bytes, and are in many more SMF
records than just these two.
====== Changes thru 33.321 were in MXG 33.33 dated Jan 11, 2016=========
Change 33.321 -Change 33.297 failed if OPTIONS USER=PDB is used, because
VMAC7072 the PROC DATASETS (to change a label) coded a LIB=WORK
Jan 9, 2016 which failed when USER=PDB. The LIB=&MXGWORK argument
Aug 31, 2017 now finds the dataset (replacing a WORK.TEMP70EN fix.)
-BUT: IN GENERAL MXG DOES NOT SUPPORT OPTIONS USER=PDB,
"out of the box": both BUILDPDB and UTILBLDP can fail
or can NOT fail but produce missing values when USER=PDB
is used, and it typically requires additional tailoring
for a specific purpose, especially when accumulated data
requires DIF(), and may require a second execution of
%VMXGINIT. Contact support@mxg.com if you have a need.
-Aug 2017: Note that using WORK=PDB in CONFIG has the same
exposure and thus that is also not supported.
Thanks to Scott Wiig, USBank, USA.
Change 33.320 Support for zVPS z13 SMT Mode adds these variables:
VMACXAM -Dataset XAMCPUTO:
Jan 7, 2016 CALENTMT='ENTITLEMENT'
CORID ='CORE*ID'
PFXPOLAR='POLARIZATION'
RCCTOPDI='DSVBK*INDEX'
TID ='THREAD*ID'
-Datasets XAMCPUBY, XAMIFLBY, XAMIFLTO, XAMCPUTO:
AVGTDBYCORE='AVG*TD*BY CORE'
AVGTDBYTYPE='AVG*TD*BY TYPE'
BUSYTIMEBYCORE='BUSY*TIME*BY CORE'
BUSYTIMEBYTYPE='BUSY*TIME*BY TYPE'
CAPBYTYPE='CAP*BY TYPE'
INTERVALTIMEBYCORE='INTERVAL*TIME*BY CORE'
INTERVALTIMEBYTYPE='INTERVAL*TIME*BY TYPE'
MAXCAPBYTYPE='MAX*CAP*BY TYPE'
MTUTILBYCORE='MT*UTIL*BY CORE'
MTUTILBYTYPE='MT*UTIL*BY TYPE'
PF2CADCT ='COUNT CAD*FOR*SPINLOCK*NODLAY'
PF2TSCAD ='COUNT CAD*DURING*TSGET*REQSTS'
PF2TSCNT ='COUNT*TSGET*REQUESTS'
PF2TSGTM ='ELAPSED*CONSUMED*BY TSGET'
PFXPRKWT ='PARKED*WAIT TIME*TOT UNIT'
PRODBYCORE='PROD*BY CORE'
PRODBYTYPE='PROD*BY TYPE'
SAMPLEDCORESBYTYPE='SAMPLED*CORES*BY TYPE'
SAMPLES='SAMPLES'
Change 33.319 The OPTION NONOTES statement added for the MXGLOG option
VMXGINIT must be reset to NOTES prior to the %MACRO statement. In
Jan 8, 2016 some cases the NONOTES remained incorrectly in effect,
Jan 22, 2016 which could suppress the INFILE SMF information and the
"dataset has nnn obs" notes on the SAS log. The Exposure
was limited to 33.07-33.13, and only with a tailored MXG
execution with a VIEW driven by a PROC SORT.
Jan 23: The OPTION NOTES was mis-located, suppressing the
printing of NOTE: Fileref=SOURCLIB and the DSNAMEs.
Thanks to Scott Wiig, US Bank, USA.
Change 33.318 Data Set SORT70EC NOT SORTED was corrected with an extra
VMAC7072 PROC SORT. It appears a change in the configuration was
Jan 5, 2016 made during the interval that caused the not sorted data.
Thanks to Paul Volpi, UHC, USA.
Change 33.317 Documentation of APARs corrections; NO CHANGES WERE MADE.
VMAC1415 -TYPE1415 APAR OA47899 corrects SMF 14/15 written at EOV
VMAC92 that did not contain the Type 1 Compressed Format data
VMAC74 set section.
VMAC80A -TYPE92 APAR OA49128 corrects invalid value in SMF92CTO.
VMAC116 -TYPE74 APAR OA48860 corrects SMF74DTS,SMF74DCT that are
Jan 3, 2016 not set correctly for a device after HYPERSWAP.
-TYPE80A APAR PI52900 for CICS/TS 5.2, adds CICS NETNAME
to SMF 80 record when DFHSN1102 SIGNON FAILS.
-TYPE116 APAR PI53551 MQ z/OS V8 Class 3 data may be
incorrect for CICS and CHIN Thread Control Blocks.
-Users of IBM CICS PA V5.1/5.2 NEED APAR PI43779 to
correct report files, especially LIST, that have file
blocking of ONE, wasting DISK space and CPU time.
Change 33.316 -The many new variables added in z/OS 2.2 in Change 33.189
VMAC42 are now kept.
VMAC64 -TYPE64 new variables
VMAC71 SMF64SSR='SECONDARY*SPACE*REDUCTION?'
VMAC74 SMF64FCC='BEGINNING*CCHH'
Dec 30, 2015 SMF64TCC='BENDING*CCHH'
SMF64VSN='VOLUME*SERIAL*NUMBER'
SMF64CUU='DEVICE*NUMBER'
SMF64IND='SPINDLE*IDENTIFICATION'
SMF64UTY='*UNIT*TYPE'
-TYPE71 new variables
SMF714KA='AVB*1MB FIXED*USED*4K REQ'
SMF714KM='MIN*1MB FIXED*USED*4K REQ'
SMF714KX='MAX*1MB FIXED*USED*4K REQ'
SMF71C2A='AVG*HIGH VIRTUAL*COMMON*1MB FIXED'
SMF71C2M='MIN*HIGH VIRTUAL*COMMON*1MB FIXED'
SMF71C2X='MAX*HIGH VIRTUAL*COMMON*1MB FIXED'
SMF71C3A='*AVG*HIGH VIRTUAL*SHARED*1MB CSTORE'
SMF71C3M='MIN*HIGH VIRTUAL*SHARED*1MB CSTORE'
SMF71C3X='MAX*HIGH VIRTUAL*SHARED*1MB CSTORE'
SMF71CPA='AVB*HI VIRT*COMMON*INUSE'
SMF71CPM='*MIN*HI VIRT*COMMON*INUSE'
SMF71CPX='*MAX*HI VIRT*COMMON*INUSE'
SMF71PLA='AVB*1MB PGBL*BACKED*1MB PGBL'
SMF71PLM='MIN*1MB PGBL*BACKED*1MB PGBL'
SMF71PLX='MAX*1MB PGBL*BACKED*1MB PGBL'
SMF71S2A='AVG*OBJECTS*SHARED MEM*BACK 1MB'
SMF71S2M='MIN*OBJECTS*SHARED MEM*BACK 1MB'
SMF71S2X='MAX*OBJECTS*SHARED MEM*BACK 1MB'
SMF71S3A='AVG*FRAMES*SHARED HIGH*4K*ON SCM'
SMF71S3M='MIN*FRAMES*SHARED HIGH*4K*ON SCM'
SMF71S3X='MAX*FRAMES*SHARED HIGH*4K*ON SCM'
SMF71S4A='AVG*HIGH VIRTUAL*SHARED*1MB CSTORE'
SMF71S4M='MIN*HIGH VIRTUAL*SHARED*1MB CSTORE'
SMF71S4X='MAX*HIGH VIRTUAL*SHARED*1MB CSTORE'
-TYPE74 new variable
R748RAI ='RANK*ADAPTER*PAIR*ID'
Change 33.315 z/OS 2.2 JOB='*MASTER*' JCTJOBID='MSGR' SUBSYS='SMS' was
VGETJESN not expected, caused WARNING TYPETASK NOT DECODED, now
Dec 27, 2015 is protected, with TYPETASK='STC' now set.
Change 33.314 Unused Change Number.
Change 33.313 Documentation. Type 30 EXCP/IOTM NODD/TODD/TOTL variables
TYPE30 in the "raw" TYPE30_4/TYPE30_5/TYPE30_V datasets created
Dec 24, 2015 directly from SMF, are wrong or misleading for jobs with
MULTIDD='Y' continuation records (they contain only EXCP
and IOTM fields). The variables ARE VALID in the datasets
PDB.JOBS/PDB.STEPS/PDB.SMFINTRV, built by BUILDPDB or the
ONLYINTV program, where MXG logic combines the MULTIDDs
and then correctly populates those variables.
For MULTIDD='Y' jobs, the first record can be a FLUSH
that contains NO DD segments, so NUMDD=0 and the TODD
variables are missing values. The TOTL in the MULTIDD
records is missing, since that field is the total for
the step, and that is only in the first SMF 30 record.
And since NODD=TOTL-TODD, the NODD is also missing.
And since they can be individually wrong, the sum of
these variables in those "raw" TYPE30xx datasets is
unusable.
Change 33.313 Cosmetic. Comments enhanced.
BLDSMPDB
Dec 23, 2015
Change 33.312 If you had more than a single service policy in your data
ANALACTM the report of the WLM service definition was not sorted
Dec 23, 2015 by the policy name resulting in reports printed by the
importance level instead of the service policy.
====== Changes thru 33.311 were in MXG 33.13 dated Dec 23, 2015=========
Change 33.311 -UTILBLDP with IMACKEEP= fails execution with syntax error
UTILBLDP due to invalid comment termination in the generated code
Dec 23, 2015 that referenced &SPINUOW macro variable.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 33.310 MXG's ANALZPCR is no longer usable, nor needed, since IBM
ANALZPCR zPCR will now read a "printed" IBM RMF CPU report to
Dec 21, 2015 create the zPCR input in External File Format V2.0 that
is required for zPCR V8.7.
====== Changes thru 33.309 were in First MXG 33.13 dated Dec 21, 2015===
Change 33.309 Variable QCSTDNRT, previously reserved, is now input and
VMAC116 formatted as a time, with NS*RESOLUTION*TIME' in
Dec 21, 2015 dataset MQCHININ.
Thanks to Robert Miles Standish, UBS, USA.
Change 33.308 Support for z/OS 2.2 new variables SMF 99 ST 14 added
VMAC99 S99E_AN_CI ='CPU/CORE*CONTAINER*INFO*/
Dec 21, 2015 S99E_AN_CI_FLAGS='CI_FLAGS'
Dec 22, 2015 S99E_AN_CI_NL ='CPU/CORE*TOPOLOGY*INFO'
S99E_AN_CI_NL1 ='CONTAINER*ID OF*NESTING*LEVEL 1'
S99E_AN_CI_NL2 ='CONTAINER*ID OF*NESTING*LEVEL 2'
S99E_AN_CI_NL3 ='CONTAINER*ID OF*NESTING*LEVEL 3'
S99E_AN_CI_NL4 ='CONTAINER*ID OF*NESTING*LEVEL 4'
S99E_AN_CI_NL5 ='CONTAINER*ID OF*NESTING*LEVEL 5'
S99E_AN_CI_NLINUSE='HIGHEST*NESTING*LEVELUSED'
S99E_AN_INFO ='AFFINITY*NODE*INFO'
S99E_AN_TOPO ='CPU/CORE*TOPOLOGY*INFORMATION'
S99E_CP_BOOKID ='BOOK*ID'
S99E_CP_CHIPID ='CHIP*ID'
to dataset TYPE99EN, and these variables to TY99EP:
S99E_CP_BOOKID ='BOOK*ID'
S99E_CP_CHIPID ='CHIP*ID'
-Each subtype 14 dataset now has all of the header
variables kept.
Thanks to Erling Andersen, SMT, DENMARK.
Change 33.307 -SMFSRCH was supposed to support multiple text strings in
SMFSRCH LOOKFOR=, with ANDOR=, but it only supported one string;
VMXGSRCH multiple strings caused nothing to be found.
Dec 21, 2015 Now, multiple LOOKFOR= strings are supported, but only
Dec 29, 2015 with "OR" logic, i.e., any LOOKFOR= string will be found.
It's impractical to support multiple ANDed stings with
LOOKFOR=, but the SELECTION= alternative to LOOKFOR=
provides complete control including ANDs of strings.
-VMXGSRCH messages when a VALUE= was found now print the
VALUE= that was searched, or when a VARS= is used, then
all of the matching variables names are listed, instead
of a blank line.
Change 33.306 The Group Capacity Variables SMF70GNM (Group Name) and
VMXG70PR SMF70GMU (MAXIMUM LICENSE UNITS) are kept in the Per-LPAR
Dec 20, 2015 CEC-Level dataset PDB.ASUMCELP (built automatically in
Dec 22, 2015 BUILDPDB by the include of member ASUM70PR).
Jan 8, 2015 -SMF70WLA is added to ASUMCELP for the systems whose SMF
70's were read.
-Variable ZIPCPUS was ROUNDed to two decimal places, to
print pretty, as the calculated value often was x.99999,
and debugging _PRN70PR macro was added to VMXG70PR.
Change 33.305 -Support for z/OS 2.2 RMF 74 Subtype 10 SCM Storage Class
EXTY7410 Memory statistics creates new datasets:
EXTY74SC
IMAC74 dddddd dataset description
VMAC74 TY7410 TYPE7410 SCM EADM AGGREGATE STATS
VMAC78 TY74SC TYPE74SC SCM CONFIGURATION MEASUREMENT
Dec 18, 2015 -New z/OS 2.2 variables (COMPATIBLE) in TYPE78PA:
R782LSMOMIN ='MIN FRAMES*ARE USED*SHARED*MEMOBJ='
R782LSMONTME='TIME STAMP*OF MIN*SHARED*MEMOBJ='
R782LSMOMAX ='MAX FRAMES*ARE USED*SHARED*MEMOBJ='
R782LSMOXTME='TIME STAMP*OF MAX*SHAREDMEMOBJ='
R782LSMOAVG ='AVG FRAMES*ARE USED*SHARED*MEMOBJ='
Change 33.304 Dataset TYP120xx variable SM120RULEXSUM was a typo for
VMAC120 SM120RULEXFSUM and now, SM120RULEXSUM doesn't exist.
Dec 16, 2015
Thanks to Homayoun Riazi, OPTUM, USA.
Change 33.303 "Duplicate" obs were created in PDB.DB2STATS when DB2
VMACDB2 used more than 24 buffers in an interval, because DB2
Dec 16, 2015 creates (unexpected) multiple SMF 100 subtype 1 records
for that interval, but the QWHSSTCK time is not exactly
the same, and QWHSSTCK must be used because DB2 stats
records don't contain an interval start time value. There
were no actual duplicated data, but additional obs with
the same SMFTIME and only buffer metrics were created in
the PDB.DB2STATS statistics summary dataset.
Now, the data is ordered by QWHSISEQ and the QWHSSTCK of
the first instance is stored in both PDB.DB2STATB and in
the new PDB.DB2STSBP buffer datasets, and the corrected
QWHSSTCK is used to create PDB.DB2STATS.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori Masulis, Fidelity Systems, USA.
Change 33.302 Support for two optional CICS user fields:
IMACICWR CMODHEAD CMODNAME Variable
IMACICWS OMEGCICS OMEGCICS OMEGCICS $EBCDIC104.
IMACAAAA USER STARPOL STARPOL $EBCDIC92.
UTILEXCL
VMAC110
Dec 15, 2015
Change 33.301 ITRM 33.12+ ERROR: WORK.SUMSTSPB.DATA does not exist.
ITRM -ITRM users of MXG 33.12+ MUST use EPDBOUT macro variable
Dec 11, 2015 to correctly sort the new DB2STSBP Simulated Buffer Pool
with this %LET statement inserted:
%CMPROCES . . .
%LET EPDBOUT= _SDB2SBP ;
%CPSTART . . .
-If you have not installed the ITRM Hot Fix 45583/41019,
you already have an EPDBOUT= _SDB2ST4 _SDB2225, so your
circumvention would be:
%LET EPDBOUT=_SDB2ST4 _SDB2225 _SDB2SBP ;
Thanks to Richard Schwarz, IBM, USA.
Change 33.300 New variables added to DB2ACCTx and DB2STATx datasets by
ASUMDB2A DB2 Version 11 are added to existing summary datasets.
ASUMDB2B The new dataset DB2STSBP summary is added in VMXGDBSS.
ASUMDB2G
ASUMDB2P
VMXGDBSS
Dec 11, 2015
Dec 14, 2015
Thanks to Wayne Bell, UNIGROUP, USA.
Change 33.299 Support for zVM 6.3 MONWRITE z13 SMT Mode; fields were
VMACVMXA inserted (INCOMPATIBLE) in SYTPRP after Change 33.242.
Dec 11, 2015 zVM 6.3.15.1 records have been validated. These
records have been validated. These variables are added
to VXSYTPRP dataset:
PF2CADCT ='UNDELAYED*CAD*INSTRUCTIONS'
PF2TSCAD ='CAD*INSTRUCTIONS*EXECUTED'
PF2TSCNT ='TSGET*REQUESTS'
PF2TSGTM ='TSGET*REQUEST*ELAPSED*TIME'
PFXPOLSR ='CORE*POLARIZATION'
SYTPRP_CAL_PLSIPTEI='IPTE 1/2*ACQUISITIONS'
SYTPRP_COREXTCT='COUNT*MT*COUNTERS*EXTRACTED'
SYTPRP_COREXTTT='DURATION OF*EXTRACT*MT*COUNTERS'
SYTPRP_PFXCPUCH='TIMES WHEN*SIEIHCPU FFFF*SWITCHES'
SYTPRP_PFXPRGCT='TIMES WHEN*SIEIHCPU FFFF'
SYTPRP_PLSIIA ='IPTE 2*ACQUISITIONS'
SYTPRP_PLSIIADD='TIMES WHEN*ACQUIRED*AS SHARE'
SYTPRP_PLSIIHDSSQCH='SSQ TIME*CONTINUOUS*HELD'
SYTPRP_PLSIIWTSSQCH='SSQ TIME*CONTINUOUS*HELD'
SYTPRP_PLSIIHLD='DURATION*CONTINUOUS*HELD'
SYTPRP_PLSIINHLD ='INTERVAL*COUNT*CONTINUOUS*HELD'
SYTPRP_PLSIIWTM='WAIT TIME*IPTE*INTERLOCK*ACQUISITION'
SYTPRP_PLSPTLCA='CALLS SET*PENDING*NON-LOCAL'
SYTPRP_PLSPTLCD='CALLS SET*PENDING*HOST TLB'
SYTPRP_PLSPTLCL='CALLS TO*PURGE*LOCAL*TLB'
Change 33.298 Support for IMS 14.1 log records (COMPATIBLE).
VMACIMS The IMS56FA dataset added two new variables
Dec 10, 2015 DLRDIR='DL/I*IR*CALLS'
DLRDMR='DL/I*MR*CALLS'
in existing reserved bytes.
Change 33.297 -Label for PCTCPUBY was corrected for PDB.TYPE70EN, which
VMAC7072 had incorrectly been "LPAR*CPU*BUSY".
VMXGWORL -VMXGWORL enhanced to parse the result into two macro vars
Dec 10, 2015 &MXGWORLLIB and &MXGWORLDSN so that PROC DATASETS, which
requires them separately, could be used to change labels.
Change 33.296 If you specified IMACKEEP= to retain the IMACKEEP that is
UTILBLDP generated, invalid syntax for _TIMEDIF/_SPINUOW/_SPINCNT
Dec 9, 2015 could be generated; the NULL value default should have
suppressed the generation of these macros; now it does.
The ECHO=YES default will now display the IMACKEEP text.
Thanks to Richard Krueger, Sentry, USA.
Change 33.295 Cosmetic. Prints messages when there are datasets in OLD
VMXGCOMP that are not in NEW, or vice versa.
Dec 8, 2015
Change 33.294 INPUT EXCEEDED ERROR for SMF 102 records written by BMC's
FORMATS Mainview for DB2, IFCIDs 815Ex-8160x - Accounting Rollup
VMACDB2H and IFCID 80F1x - Data Collector, which were unknown and
Dec 9, 2015 unsupported in MXG. These records contain unique SMF 102
Dec 18, 2015 header segments that do not match MXG expectations that
caused the error. But since no one has actually asked
for these subtypes, this change circumvents the problem
Decimal IFCIDS deleted are 33009,33118,33119,and 33120.
by skipping these subtypes in SMF 102 processing in MXG.
-The ANALID report (VMACID,FORMATS) is updated to be aware
of and describe these 102 subtypes in its reports.
Change 33.293 MACRO _TIMEDIF % set instead of MACRO _TIMEDIF 0 % caused
UTILBLDP a 22-322 Syntax Error.
Dec 5, 2015
Change 33.292 When printing of the found datasets is requested, the
VMXGFIND heading has the LIBNAME and MEMNAME printed.
Dec 5, 2015
Change 33.291 Support for BMC Mainview for CICS Version 7.0 (COMPAIBLE)
VMACMVCI adds these new variables for CICS/TS 5.3 to CMRDETL:
Dec 6, 2015 T6E70XCT='70*EXTENSIONS*LENGTH'
T6EDSAWC='ALLOCATE*THREAD*WAIT*COUNT'
T6EDSAWF='ALLOCATE*THREAD*WAIT*FLAG'
T6EDSAWT='ALLOCATE*THREAD*WAIT*TIME'
T6EEIBTR='INTERNAL*PROCESSING*FIELD'
T6EJSRPL='JSON*RESPONSE*MSG LENGTH'
T6EJSRQL='JSON*REQUEST*MSG LENGTH'
T6ELSTN_ACPTOK ='SUCCESSFUL*ACCEPTS'
T6ELSTN_CHILDTK='CHILD*SUBTASKS*STARTED'
T6ELSTN_DISPROG='DISABLED*PROGRAM'
T6ELSTN_DISTRAN='DISABLED*TRANSACTION'
T6ELSTN_GVSKTFL='GIVESOCKET*FAILURES'
T6ELSTN_REJAUTH='REJECTED*NOT AUTH'
T6ELSTN_REJSECU='REJECTED*SECURITY'
T6ELSTN_REJTDIO='REJECTED*TD*I/O'
T6ELSTN_REJTDLN='REJECTED*TD*LENGTH'
T6ELSTN_REJTDNS='REJECTED*TD*NO SPACE'
T6ELSTN_TACPTOK='TERM*SUCCESSFUL*ACCEPTS'
T6ELSTN_TCHILDTK ='TERM*CHILD*SUBTASKS*STARTED'
T6ELSTN_TDISPROG ='TERM*DISABLED*PROGRAM'
T6ELSTN_TDISTRAN ='TERM*DISABLED*TRANSACTION'
T6ELSTN_TGVSKTFL ='TERM*GIVESOCKET*FAILURES'
T6ELSTN_TREJAUTH ='TERM*REJECTED*NOT*AUTH'
T6ELSTN_TREJSECU ='TERM*REJECTED*SECURITY'
T6ELSTN_TREJTDIO ='TERM*REJECTED*TD*I/O'
T6ELSTN_TREJTDLN ='TERM*REJECTED*TD*LENGTH'
T6ELSTN_TREJTDNS ='TERM*REJECTED*TD*NO SPACE'
T6ELSTN_TUNDTRAN ='TERM*UNDEFINED*TRANSACTION'
T6ELSTN_UNDTRAN='UNDEFINED*TRANSACTION'
T6ENCGET='COUNTER*DCOUNTER*REQUESTS'
T6ETOTL_TINITT ='TOTAL*INIT*TIME'
T6ETOTL_TOTHRT ='TOTAL*OTHER*TIME'
T6ETOTL_TREADT ='TOTAL*READ*TIME'
T6ETOTL_TSLCTT ='TOTAL*SELECT*TIME'
T6ETOTL_TWRITT ='TOTAL*WRITE*TIME'
T6ETRUE_ATTACH ='DYNAMIC*SUBTASK*COUNT'
T6ETRUE_INITCKC='INIT*CALL*COUNT'
T6ETRUE_INITCKF='INIT*CALL*FLAG'
T6ETRUE_INITCKT='INIT*CALL*CLOCK'
T6ETRUE_OPENAPI='OPEN*API*COUNT'
T6ETRUE_OTHRCKC='OTHER*CALL*COUNT'
T6ETRUE_OTHRCKF='OTHER*CALL*FLAG'
T6ETRUE_OTHRCKT='OTHER*CALL*CLOCK'
T6ETRUE_READCKC='READ*CALL*COUNT'
T6ETRUE_READCKF='READ*CALL*FLAG'
T6ETRUE_READCKT='READ*CALL*CLOCK'
T6ETRUE_REUS ='REUSABLE*COUNT'
T6ETRUE_SLCTCKC='SELECT*CALL*COUNT'
T6ETRUE_SLCTCKF='SELECT*CALL*FLAG'
T6ETRUE_SLCTCKT='SELECT*CALL*CLOCK'
T6ETRUE_TATTACH='TERM*DYNAMIC*SUBTASK*COUNT'
T6ETRUE_TCBLIM ='TCB*LIMIT*REACHED*COUNT'
T6ETRUE_TINIT='TASK TERM*TOTAL INITS'
T6ETRUE_TOPENAPI ='TERM*OPEN*API*COUNT'
T6ETRUE_TOTHR='TASK TERM*TOTAL OTHERS'
T6ETRUE_TREAD='TASK TERM*TOTAL READS'
T6ETRUE_TREUS='TERM*REUSABLE*COUNT'
T6ETRUE_TSLCT='TASK TERM*TOTAL SELECTS'
T6ETRUE_TTCBLIM='TERM*TCB*LIMIT*COUNT'
T6ETRUE_TWRIT='TASK TERM*TOTAL WRITES'
T6ETRUE_WRITCKC='WRITE*CALL*COUNT'
T6ETRUE_WRITCKF='WRITE*CALL*FLAG'
T6ETRUE_WRITCKT='WRITE*CALL*CLOCK'
T6ETSGSC='SHARED*TS*GETS'
T6ETSPSC='SHARED*TS*PUTS'
In addition, these existing file segments that have no
extended data now create these variables:
PSEUDOFILE='PSEUDO*FILE*NAME'
PSEUDOFILT='PSEUDO*FILE*DURATION'
PSEUDOFILC='PSEUDO*FILE*COUNT'
ADABASFILE='ADABAS*FILE*NAME'
ADABASFILT='ADABAS*FILE*DURATION'
ADABASFILC='ADABAS*FILE*COUNT'
SAPFILE='SAP*FILE*NAME'
SAPFILT='SAP*FILE*DURATION'
SAPFILC='SAP*FILE*COUNT'
DATACOMFILE='DATACOM*FILE*NAME'
DATACOMFILT='DATACOM*FILE*DURATION'
DATACOMFILC='DATACOM*FILE*COUNT'
IDMSFILE='IDMS*FILE*NAME'
IDMSFILT='IDMS*FILE*DURATION'
IDMSFILC='IDMS*FILE*COUNT'
SUPRAFILE='SUPRA*FILE*NAME'
SUPRAFILT='SUPRA*FILE*DURATION'
SUPRAFILC='SUPRA*FILE*COUNT'
S2KFILE='S2K*FILE*NAME'
S2KFILT='S2K*FILE*DURATION'
S2KFILC='S2K*FILE*COUNT'
GENFILE='GEN*FILE*NAME'
GENFILT='GEN*FILE*DURATION'
GENFILC='GEN*FILE*COUNT'
Change 33.290 The ANALID report tabulates all SMF data in the SMF file;
ANALIDDY the new ANALIDDY tabulates the SMF data by DATE of the
TYPEIDDY SMFTIME so day-to-day counts can be compared.
VMACID The syntax for the new report is:
VMACIDDY
Dec 4, 2015 %ANALIDDY(READSMF=YES,PRINT=YES,PDBOUT=WORK);
Dec 5, 2015
Thanks to Lizette Koehler, Albertsons/Safeway Stores, USA.
Change 33.289 z/OS only. If you used BLDSMPDB to build a MONTHLY PDB:
BLDSMPDB -If the 1st of the month fell on a Sunday then the code
Dec 3, 2015 miscalculated the start of the last weekly and caused
the last few days of the month to be missing.
-If the 1st of the month did not match the start of the
week then the last few days were duplicated because the
logic looked for daily data GE then the start of the
week and should have looked for GT.
Change 33.288 Reserved Change.
Change 33.287 -The PDB.CICDS CICS Dispatcher Statistics dataset now has
ADOC110 variable DSxPCT='AA TCB*PERCENT*USAGE', the IBM estimate
VMAC110 of each CICS TCB's percentage usage.
Dec 3, 2015 -ADOC110 now documents the new TCBs added in CICS/TS 2.2.
====== Changes thru 33.286 were in MXG 33.12 dated Dec 1, 2015=========
Change 33.286 Six TYP1194L variables LxLCLLNKID and LxRMTLNKID were
VMAC119 incorrectly changed from numeric to character in first
Dec 1, 2015 33.12. They were corrected in final Dec 1 refresh.
All six are formatted with HEX8 format for consistency.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 33.285 Cosmetic, eliminate non-impacting warning that numeric
ASUMTALO variable AVGDRIVE has different lengths in ASUMTALO and
TRNDTALO TRNDTALO, because an ancient statement in member ASUMTALO
Nov 30, 2015 specified LENGTH AVGDRIVE 4 while TRNDTALO invoked
VMXGSUM which sets LENGTH DEFAULT=&MXGLEN that is the
correct syntax to set stored length 5 on EBCDIC or 6 on
ASCII, which are the required lengths for SAS variables
that fully support 4-byte input fields. Observed in QA.
====== Changes thru 33.284 were in MXG 33.12 dated Nov 27, 2015=========
Change 33.284 Warning message in TYPE26J2 that the MXG created variable
VMAC26J2 INREASON is blank is removed; not all purge records have
Nov 27, 2015 enough information to populate the created variable, e.g.
JCL error in INTRDR populates only READTIME, JPURTIME and
SYSREAD.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 33.283 -INVALID DATA for WORD5UP in BBBP ENDING UPTIME because
VMACNMON the expected HH:MM format is sometimes 'HH HRS' when the
Nov 26, 2015 value is 'HH:00'. The HRS text is now removed so the 11
hour value is valid eliminating the error message.
-NMON records missing data and the LF delimiter exist and
they cause strange errors.
-One record with TYPE of DISKBSIZEAAA is clearly missing
data and an LF before the AAA, which is a new record
TYPE. This record caused an INVALID ARRAY error because
MXG tested for TYPE=:'DISKBKSIZE', starting with, for
possible numeric suffixes often used in NMON.
-Another record had only CPAAA, causing an UNKNOWN TYPE
log message.
-A third TYPE=LPAR has 22 valid fields but was missing
the LF separator and had a valid AAA record concat.
This record caused an INVALID INPUT error because MXG
expected numbers in the up to 24 fields in TYPE LPAR.
-Because NMON is character data, all numeric fields are
created with INPUT() functions, but now, with these bad
data records, the INPUT functions are now protected with
the ?? token to suppress the ERROR, PUT _ALL_, and LIST
log messages.
-Disk error messages "NRCOUNTERS NE DSKSEQNR" that were
cited as due to bad data in Change 31.164 are corrected.
They were due to new DISKBUSY1/DISKREAD1/etc objects that
NMON created when there were more than 150 devices that
were NOT supported until now.
Thanks to Steve McCulloch, TMX/CDS Group, CANADA.
Change 33.282 SMF 90 records contain the ENCRYPTED/MASKED UTOKEN value
FORMATS as documented in Change 33.189, which noted IBM does plan
VMAC90A to change to the UNMASKED value, but the encryption logic
Nov 25, 2015 is only an Exclusive OR with '55'x and mapping the result
Nov 27, 2015 into a one byte character which is then INPUT as $EBCDIC,
Dec 1, 2015 so the TOKxxxxx variables in the TYPE90A dataset are now
plain text values if the field was MASKED.
-The 80-byte SMF90T37UTOKEN is decoded into its TOKxxxxx
variables, now set to LENGTH $8 (they are INPUT() with a
SUBSTR() which defaults to length of the input variable),
and so it is no longer kept.
-New FORMAT MGHEXNM was needed to map the XOR value to the
character hex value for the output.
-Dec 1: Error +; was corrected.
Thanks to Peter Relson, IBM z/OS Development, USA.
Change 33.281 A valid WARNING was printed from an SQL step due to a
VMXGSIZE WHERE clause. Logic reordered to eliminate the warning.
Nov 24, 2015
Change 33.280 PDB.TYPE70 for z13 in SMT mode could have the wrong count
VMAC7072 in ZIPCPUS, ZIP70PAT, and ZIPUPTM because SMF70PAT was
Nov 21, 2015 incorrectly added to ZIP70PAT when SMF70ONT is missing.
Thanks to Joachim Sarkoschitz, DATEV, GERMANY.
Change 33.279 -Support for DB2 Simulated Buffer Pool statistics segment,
ANALDB2R creates new PDB.DB2STSBP dataset with per pool data, and
ASUMDBSS four sets of QBnSxxxx interval totals in PDB.DB2STATS and
EXDB2SBP ASUMDBSS creates new ASUMDBSP summary dataset.
IMACDB2 -MOBILEWORK programs QAMOB and MOBWRK02 required updates
MOBWRK02 to support/protect this new dataset
QAMOB -Buffer Hit Ratios for the SBP are created but set to a
READDB2 missing value, pending data for validation.
VMACDB2 -ANALDB2R compile fakers for QWxxxxDB were corrected.
VMXGDBSS -The names of tokens/datasets for SBP mirror STB:
VMXGINIT DB2STB DB2SBP
Nov 18, 2015 DB2STSTB DB2STSBP
Nov 22, 2015 DB2STAB DB2STSB
Nov 23, 2015 ASUMDBSB ASUMDBSP
Nov 26, 2015 MACSTAB MACSTSB
Dec 18, 2015 D2BPSIN D2SBPIN
D2SBPIN D2SBPOU
-There is no count of pages-not-in-the-pool so there is no
buffer hit ratio for the simulated buffer pool that I can
calculate. Variable QBSPREADS is the total number of
requests that caused a read.
Thanks to Lai Fai Wong, Bank of America, USA.
Change 33.278 If you used INTERVAL=MONTH, MXGDURTM was missing for the
VMXGDUR 31-day months, except December, when it was non-missing
Nov 18, 2015 but was 41 days of seconds, because the statement
IF MONTH IN(1.3.5.7.8.10,12) THEN MXGDURTM=41*86400;
should have been
IF MONTH IN(1,3,5,7,8,10,12) THEN MXGDURTM=31*86400;
periods are not allowed, but do NOT create a SAS error.
This is old, present in MXG 30.09 but not in MXG 26.26.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 33.277 If you tried to use Example TWO to create ASUMUOW, an
IMACUOW error resulted due to a misplaced percent sign; Example
Nov 19, 2015 THREE did not tell you how to create "MYDATA", and while
Example FIVE did work, it was inconsistent with others.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 33.276 RMF III variables GEILF4K and GEILP4K in dataset ZRBGEI
VMACRMFV were reversed in their INPUT order; GEILF4K precedes
Nov 16, 2015 GEILP4K now.
Thanks to Kurt Gramling, Total Systems.
Change 33.275 Assemble/Link Edit all five MXG ASM programs for install.
ASMRMFV The existing single ASM/LKED members are restructured so
CICSIFUE the ASM code is isolated from the JCL so the new JCLASMXG
EXITCICS member will create all five loadlib members in one job.
JCLASMXG ASMRMFV - Used in JCLRMFV to process RMF III VSAM file,
MNVWIFUE output RMFBSAM read by TYPERMFV.
MXGTMNT (Individual ASM/LKED is in JCLASM3/ASMRMFV)
TMONEXIT CICSIFUE - Used in TYPEDB2/TYPE110/TYPE112 to decompress
Nov 16, 2015 IBM SMF records 100, 101, 102, 110, and 112.
Nov 23, 2015 (Individual ASM/LKED is in EXITCICS)
Nov 27, 2015 MNVWIFUE - Used in TYPEBBMQ to read compressed BBMQVSAM
and in TYPECMFV to read BMC MainView data.
(Individual ASM/LKED is in ASMMNVW)
MXGTMNT - The MXG Tape Mount Monitor Program, read by
TYPETMNT
(Individual ASM/LKED is in ASMTAPEE)
TMONEXIT - Used in TYPETMO2 to decompress MONICICS
TMON/CICS data.
(Individual ASM/LKED is in EXITMON6)
The original documentation comments are in appendices
at the end of JCLASMXG.
Thanks to MP Welch, Bank of America, USA.
Change 33.274 -Enhancement for character data filtering for RMF Monitor
ADOCRMFV III CSR (Common Storage Remaining) table and other
ASMRMFV usability improvements.
Nov 16, 2015 -These filters are intended for building ad hoc MXG RMF
III PDBs for studies avoiding the overhead of generating
a full CSR table based PDB. They control which CSR table
entries are output to the RMFBSAM file.
-Four new filters are added to support CSR entry selection
from this table to the RMFBSAM output file. These
filters are effective only if the CSR table is selected.
They are applied in the order shown when multiple
different keywords are used.
New Keyword Aliases
------------ -----------------------------------------
CSRJOBNAME= CSRJOBNA=, CSRJOBNM=, CSRJOB=, CSRJN=
CSRJESID= CSRJESNO=, CSRJESNUM=, CSRJESNR=, CSRJID=
CSRAND None
CSROR None
-TUTORIAL:
Ranges of the form keyword=first:last may be used with
any of the above keywords except CSRAND and CSROR.
The colon character ':' is required for a paired range
specification. All entries GE the first value and LE the
last value are selected for output to the RMFBSAM file.
The first value may not exceed the last value in EBCDIC
collating sequence or an error is flagged.
Single unpaired values may be specified for a range
simply as keyword=first and in this case the colon ':' is
omitted.
Patterns may also be used with any of the above keywords
except CSRAND and CSROR and include one or more Wild Card
characters to match the respective CSR data field.
A pattern contains one or more special Wild Card
characters as follows:
Wild
Card Matches
---- -------------------------------------------------
* 0 or more characters
% 1 Non-blank character
+ 1 Numeric character (0-9)
_ 1 Alphabetic character or _ (a-z, A-Z, _)
. 1 National character (@, #, $)
! 1 Special character (not a-z, A-Z, 0-9, @, #, $)
? A blank string if used by itself
? 1 Blank character (X'40') if used with any other
characters
Ranges may not be wild carded. If wild carded the range
value becomes a pattern instead and is processed as such.
See Section 25 "Ranges and Patterns" in the ADOCRMFV
member or ASMRMFV source code for more details on usage
of ranges and patterns.
-CSRJOBNAME= selects CSR entries by 1-8 character z/OS
Job Name. Job Name characters are validated to those
allowed by JCL syntax. Both ranges and patterns with
wild cards may be specified. Up to 64 ranges and 64
patterns are supported. The default is CSRJOBNAME=ALL.
-Examples for CSRJOBNAME= :
CSRJN=PROD1234:PROD5678 selects only address spaces with
a z/OS Job Name GE 'PROD1234' and LE 'PROD5678' as a
range. Note use of the keyword alias CSRJN for coding
convenience.
CSRJOBNAME=.* is a pattern that selects only address
spaces with a Job Name that begins with a national
character.
CSRJOBNAME=*++ is a pattern that selects only address
spaces with a Job Name that ends with 2 numeric digits.
CSRJOBNAME=ABC:ABC88888 is a range that selects only
address spaces with a Job Name that is GE 'ABC ' and
LE 'ABC88888'.
-CSRJESID= selects CSR entries by 8 character JES Job
Identification. Both ranges and patterns with wild cards
may be specified. Since a JES Id is one subsystem
character followed by 7 digits or three subsystem
characters followed by 5 digits not all pattern
characters may be used with this keyword.
See Section 25 "Ranges and Patterns" in the ADOCRMFV
member or ASMRMFV source code for more details on usage
of ranges and patterns.
-For convenience any leading zeros in the numeric portion
of the JES Id may be omitted and will be filled in
automatically. Up to 64 ranges and 64 patterns are
supported. The default is CSRJESID=ALL.
-Examples for CSRJESID= :
CSRJID=J0000100:J0001123 is a range that selects all
address spaces with batch JES Id numbers GE 100 and LE
1123. Note use of keyword alias CSRJID for coding
convenience.
CSRJID=J100:J1123 is a range that selects the same
address spaces as above with the leading zeros omitted
for coding convenience.
CSRJESID=JOB12345:JOB32001 is a range that selects all
address spaces with batch JES Id numbers GE 12345 and LE
32001 for installations with 5 digit JES Id numbers as a
range.
CSRJESID=J1* is a range that selects all address spaces
with a JES ID that begins with 'J1'. This would include
J1000000 through and including J1999999.
-CSRAND (default) indicates that selection results from
the two different CSR filter keywords are logically
ANDed.
-CSROR indicates that selection results from the two
different CSR filter keywords are logically ORed.
-Examples of CSRAND/CSROR:
With CSRAND (default) in effect:
CSRJESID=J10* CSRJOBNAME=XYZ*
are two patterns that select ONLY jobs whose JES ID
begins with 'J10' AND Job Name begins with 'XYZ'.
CSRAND provides more restrictive CSR entry selection.
With CSROR in effect:
CSRJESID=J10* CSRJOBNAME=XYZ*
are two patterns that select jobs whose JES ID begins
with 'J10' OR Job Name begins with 'XYZ'. CSROR provides
less restrictive CSR entry selection.
-Selection results from repeats of the same CSR filter
keyword are always logically ORed.
-The order of CSR filter application is:
1) CSRJOBNAME=
2) CSRJESID=
-New support for the concept of multi-table selection with
filters JOBNAME= (alias JOB=) and JESID= (alias JID=) to
allow selection by Job Name and/or JES Identification
jobname from both the RMF Monitor III ASI and CSR tables
with one keyword.
-This is a convenience feature to avoid having to code the
Job Name or JES ID selection parameters twice when the
same jobs from both tables are of interest.
-Both the ASI and CSR tables must be selected for these
multi-table selection keywords to function completely.
Otherwise, only entries from the one selected table are
filtered.
Note that most RMF III tables do not contain common
character data fields, but in this case the ASI and CSR
do.
-Example of JOBNAME= :
JOBNAME=ABC* or JOB=ABC* is equivalent to coding
ASIJOBNAME=ABC*
CSRJOBNAME=ABC*
-Example of JESID= :
JESID=JOB01000:JOB01999 or JID=JOB01000:JOB01999
is equivalent to coding
ASIJESID=JOB01000:JOB01999
CSRJESID=JOB01000:JOB01999
NOTE: If a job has ended before the selected MINTIME
intervals it will ONLY appear in the MXG ZRBCSR data set
and NOT the MXG ZRBASI data set.
-Reduced processing overhead for CSR tables.
-RMFV056* (*=I,W,E) message is no longer issued twice when
a single unpaired range value is in error.
-All invalid characters detected in a pattern are now
shown in multiple RMFV056* (*=I,W,E) messages. Before
only the first character in error was displayed. This
could result in repeated runs of ASMRMFV just to find all
the invalid characters in a pattern.
-The error message generation process has been rewritten
for improved efficiency, consistency, clarity, and
usability.
For example, the problem data area in RMFV004* and
RMFV056* messages that shows the text in error is
expanded from 24 to 63 characters. Also all length
errors are displayed in the same format.
-Added new documentation Section 26 "ASMRMFV and SAS PDB
Relationships" that explains which RMF III tables
correspond to which eventual MXG SAS datasets. If the
required RMF III table is not selected in ASMRMFV the MXG
dataset will have zero observations.
All ASMRMFV users should review this useful information.
-Old documentation Section 26 "Summary" is now Section 27.
-The PATTERR= parameter was not effective because it was
not processed until all parameters were read. This was
too late because pattern error handling must occur during
the actual parameter process as patterns are being
scanned.
-PATTERR= parameter handling now occurs immediately when
found in the JCL PARM field or SYSIN DD stream including
severity tailoring of message RMFV056* (*=I,W,E).
-The default value for PATTERR= is now PATTERR=ABEND.
Before the default was PATTERR=WARN. An incorrect
pattern value could result in a waste of processing
resources building an MXG PDB that did not contain the
data desired and so that default was inappropriate.
-The documentation is updated to make it clear that
PATTERR= applies to BOTH pattern AND range errors. There
is no RANGEERR= parameter.
-DISK is now supported as a value alias for the DEVTYPE=
keyword in DVT table filtering so that DEVTYPE=DISK may
be used. Any truncation of 'DISK' as a character value
(DIS,DI,D) is also allowed.
-DVTT= was missing in documentation as an alias for
DEVTYPE= although it was always supported.
-First message RMFV001I now also displays the system GMT
offset as GMT OFFSET=-hh:mm:ss or GMT OFFSET=+hh:mm:ss as
extracted from the z/OS Communication Vector Table (CVT)
in addition to the existing current date and time of
ASMRMFV beginning execution.
-A new RMFV001I message shows the ASMRMFV beginning
execution date and time in GMT.
-A MAXDSNAMES= value exceeding maximum supported &DSNMAX
value was not flagged as an error.
-Message RMFV034S did not correctly display the number of
used table entries when a range or pattern table was
exhausted.
-Several documentation Sections are updated to support
the above changes:
Section 5 "Input Data Selection Parameters"
Section 8 "Error Handling Parameters"
Section 12 "Messages"
Section 13 "Filtered Records"
Section 17 "Abend Reason Codes"
Section 25 "Ranges and Patterns"
Section 26 "ASMRMFV and SAS PDB Relationships" (NEW)
Section 27 "Summary"
Change 33.273 DB2 SMF 102 Trace IFCID=109 INVALID DO LOOP CONTROL ERROR
VMAC102 was caused by unexpected/invalid QWT02R10/L/N triplet
Nov 12, 2015 with all zeros; which is the only segment in the 109 with
QW0109RC, the Bind Return code, so I presumed it was the
purpose for the record and did not test for the existence
of a non-zero count. Now, I do test, and still output an
observation, which will have QW0109RC a missing value.
Thanks to Karl-Olaf, JN Data, DENMARK.
Change 33.272 Cosmetic change to eliminate numeric conversion messages.
ASUMTALO
VMXGRMFI
Nov 11, 2015
Change 33.271 TYPETMO2 processing of compressed records did not print
VMACTMO2 the warning message if the internal MXG decompression is
Nov 11, 2015 used on z/OS instead of the EXITMON6 Infile Exit.
Change 33.270 Variable SMF14ALIAS, the Alias Data Set Name in TYPE1415,
VMAC1415 added by z/OS 2.2 and MXG 33.01, was spelled SMR14ALIAS
Nov 10, 2015 in the KEEP= list so it was not kept. With MXG 33.01+
use MACRO _KTY1415 SMF14ALIAS % in your IMACKEEP to
keep the variable until you drop in the next MXG Version.
Field was added by APAR PI69296.
Thanks to Robert Obee, IMS Health, USA.
Change 33.269 UTILBLDP changes the default to ECHO=YES, so that the
UTILBLDP generated code is automatically printed on the SAS log,
Nov 9, 2015 so we can examine the output without requesting a rerun
to enable ECHO, if there is a problem in execution.
Change 33.268 -Support for SEVEN USER-USER fields in CICSTRAN, and
IMACICVY several other unique fields.
IMACICVZ To enable these user fields, you need to specify
IMACICWA %LET NREXCLUSER=7;
IMACICWB %INCLUDE SOURCLIB(UTILEXCL);
IMACICWC _BLDDICT
IMACICWD _BLDEXCL
IMACICWE _RPTEXCL
IMACICWF -Variable JOB is added to CICSTRAN.CICSTRAN (the JOB name
IMACICWG of the CICS region).
IMACICWH
IMACICWI
IMACICWJ
IMACICWL
IMACICWM
IMACICWN
IMACICWP
IMACICWQ
UTILEXCL
VMAC110
VMXGINIT
Nov 11, 2015
Thanks to Jens Ove Stogaard, NORDEA, SWEDEN.
Change 33.267 SMF 120 dataset TYP120JI only output the first instance;
VMAC120 the offset for the INPUT was not updated by the length.
Nov 6, 2015
Thanks to Elie Sawaya, Royal Bank of Canada, CANADA.
Change 33.266 MXG 33.11 only. ERROR: VARIABLE SYTPN NOT FOUND, only if
VMACXAM _SXAM is used to sort the zVPS datasets; SYTPN should not
Nov 6, 2015 be in the new _BXAMCU2 and _BXAMCUV "By List" macros as
it does not exist in those two new datasets.
Thanks to Matthew Brooks, OPM, USA.
Thanks to Robert Richards, OPM, USA.
Thanks to Leslie W. Mitchell, OPM, USA.
Change 33.265 ThruputManager dataset TPMSLM variables TPMSLXGF/TPMSLXGN
VMACTPMX are TODSTAMP8. STCK datetimes, so their incorrect INPUT
Nov 6, 2015 with &PIB.8.6 and subsequent divide by 4096 was invalidly
creating dates in 2076, since that is a duration value
(same as MSEC8) rather than a datetime value.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.264 Support for APPTUNE 11.2 INCOMPATIBLE changes to the 8005
VMAC102 IFCID record. Some truncated 8005 records are created
Nov 5, 2015 that MXG detects and reports the first instance, and the
Nov 23, 2015 vendor reports a correction will be provided. Datasets
T1028004, T1028005, and T102800B have been data-tested.
Thanks to Rudi Claes, KBC, BELGIUM.
Change 33.263 Support for User CICS field BTMASK.
IMACAAAA
IMACICVX
UTILEXCL
VMAC110
Nov 4, 2015
Change 33.262 Support for SMF 119 subtypes 41-44 (previously, zero obs)
FORMATS and for the below fields added in z/OS 2.1 or earlier
VMAC119 that had been overlooked.
Nov 6, 2015 -Subtype 2, dataset TYP11902:
TTLCLSMCLINKID='LOCAL*SMC-R*LINK*ID '
TTRMTSMCLINKID='REMOTE*SMC-R*LINK*ID'
TTSMCREASON ='SMC-R*LINK*FAILURE*REASON*CODE'
TSMCFLAGS ='SMC-R*FLAG'
FORMAT $MG119RC is created to decode the Reason Code.
-Subtype 5, dataset TYP11905:
TSSMCRACTIVEOPENED ='ACTIVE*TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
TSSMCRACTLNKOPENED ='ACTIVE*SMC-R*LINKS*OPENED'
TSSMCRCONNCLOSED ='CLOSED*TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
TSSMCRCURRESTAB ='TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
TSSMCRCURRESTABLNKS='CURRENT*ACTIVE*SMC-R*LINKS'
TSSMCRINRSTS ='SMC-R*INBOUND*WRITE*OPERATIONS*ABNORMAL*CLOSE'
TSSMCRINSEGS ='SMC-R*INBOUND*WRITE*OPERATIONS'
TSSMCRLNKACTTIMEOUT='SMC-R*LINK*ACTIVATION*TIMEOUTS'
TSSMCRLNKSCLOSED ='SMC-R*LINKS*CLOSED'
TSSMCROUTRSTS ='SMC-R*OUTBOUND*WRITE*OPERATIONS*ABNORMAL*CLOSE'
TSSMCROUTSEGS ='SMC-R*OUTBOUND*WRITE*OPERATIONS'
TSSMCRPASLNKOPENED ='PASSIVE*SMC-R*LINKS*OPENED'
TSSMCRPASSIVEOPENED='PASSIVE*TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
TSTCEPHPORTAVAIL ='AVAILABLE*TCP*EPHEMERAL*PORTS'
TSTCEPHPORTEXH ='BIND*FAILS*NO TCP*EPHEMERAL*PORTS'
TSTCEPHPORTINUSE ='TCP*EPHEMERAL*PORTS*CURRENTLY*IN USE'
TSTCEPHPORTMXUSE ='MAXIMUM*TCP*EPHEMERAL*PORTS*USED'
TSUDPBFA='BIND*FAILS*NO*UDP*EPHEMERAL'
TSUDPAVA='AVAILABLE*UDP*EPH*EPHEMERAL'/
TSUDPUSE='INUSE*UDP*EPH*EPHEMERAL'
TSUDPMAC='MAXIMUM*UDP*EPH*EPHEMERAL'/
TS6CEALO='ECSA*CURRENT'
TS6CENIU='ECSA*FREE'
TS6CPALO='PRIVATE*CURRENT'
TS6CPNIU='PRIVATE*FREE'
TS6SMCFC='SMCR*FIXED*CURRENT'/
TS6SMCFM='SMCR*FIXED*MAX'
TS6SMCSC='SMCR*SEND*CURRENT'
TS6SMCSM='SMCR*SEND*MAX'
TS6SMCRC='SMCR*RECV*CURRENT'
TS6SMCRM='SMCR*RECV*MAX'
-Subtype 6, dataset TYP11906:
IFQDXNET='PHYSICAL*NETWORK*ID'
-Subtype 7, dataset TYP11907:
FFSESSID='FTP*ACTIVITY*SESSION*ID'
-Subtypes 41-44, all datasets are now populated.
-Subtypes 97. Variable SSH_FSPATH2 now INPUT and kept;
The three variables SSH_FSPATH/FSPATH1/FSPATH2 should
have been named FCPATH to match their IBM field names.
-Variables EXTWTRNM,JESUBSYS,JOB,LOCLINFO,READTIME are
not kept in datasets TYP11941/42/43/44/4L, where they
don't exist and should never have been kept.
Thanks to James T. Sherpey, Bank of America, USA.
Thanks to David M. Wrobel, Bank of America, USA.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 33.261 Internal code change, to make user tailoring easier.
VMAC7072 In dataset TYPE72GO, only two variables are kept for the
Nov 4, 2015 calculated percentage variables, PCTxxxxx and VALDSAMP,
since the numerator value R723yyyy can be re-calculated
in the EXTY72GO exit and KEPT in the _KTY72GO macro in
your tailored IMACKEEP. But by changing the variable
name in the INPUT to the R723yyyy field name and using it
for the PCTxxxxx calculation, those R723yyyy variables
can be added to TYPE72GO with only _KTY72GO tailoring, so
the EXTY72GO tailoring is not required. The code for the
TYPE72MN dataset was similarly revised internally.
Thanks to Erling Andersen, SMT, DENMARK.
====== Changes thru 33.260 were in MXG 33.11 dated Nov 2, 2015=========
Change 33.260 ANALSMDU report analyzes an SMF file for duplicate data
ANALSMDU showing if/when duplicate data exists in separate dump
Nov 2, 2015 groups, with record numbers so duplicates can be removed,
and tabulating if duplicate data exists in individual SMF
dumps.
Thanks to Lizette Koehler, Albertsons/Safeway Stores, USA.
Change 33.259 Support for zVPS Release 4230 for z13 is SMT mode
EXXAMCUV creates two new datasets:
EXXAMCU2 dddddd dataset description
IMACXAM XAMCU2 XAMCU2
VMACXAM XAMCUV XAMCUV
VMXGINIT
Oct 30, 2015
Change 33.258 Support for CICS USER field TORM.
UTILEXCL
VMAC110
Oct 30, 2015
Thanks to Don Deckard, Wal*Mart, USA.
Thanks to Cheryl Jordan, Wal*Mart, USA.
Change 33.257 This change is REQUIRED for CICS/TS 5.3. The final new
UTILEXCL CICS/TS 5.3 field, as always inserted, INCOMPATIBLY,
VMAC110 DSAPTHWT, is now supported, supported, creating variables
Oct 29, 2015 DSAPTHCN='WAIT COUNT*FOR DSA*PATH'
DSAPTHTM='WAIT TIME*FOR*DSA*PATH'
Field was added in Beta 14.
Thanks to Anthony Hirst, Wells Fargo, USA.
Change 33.256 CICS Count of TCB Change Mode Requests was originally in
VMAC110 IBM CMODIDNT=248 CHMODECT, a four byte counter, but that
Oct 29, 2015 was replaced in CICS/TS 1.3 with CMODIDNT=247 DSCHMDLY
which is an 8-byte wait duration plus update counter that
created these two variables that are now re-labeled:
DSCHMDCN='DSCHMDLY*COUNT*TCB*CHANGE MODE*REQUESTS'
DSCHMDTM='DSCHMDLY*DURATION*CHANGE MODE*REQUESTS'
Change 33.255 UTILEXCL failed with ARRAY EXCEEDED when more than 999
UTILEXCL connectors exist; arrays increased to 1999.
Oct 27, 2015
Thanks to Erling Andersen, SMT, DENMARK.
Change 33.254 MXG 33.09-33.10. Using WORK=SASWORK caused TYPE7072 code
VMAC7072 to fail; temporary datasets TYPE70EC and TYPE70EN did not
VMXGINIT have &Wdddddd/&Pdddddd in their _Wdddddd/_Ldddddd tokens,
Oct 26, 2015 so they were written to //WORK instead of //SASWORK, no
Oct 31, 2015 error, but inconsistent. Change 33.217 for z/13+SMT 70's
revised MXG code for TYPE70EC/EL/EN datasets had replaced
_WTY70EN with DATA TYPE70EN (the same when WORK=WORK),
but the VMXGDEL deleted DATASET WORK.TYPE70EN when it
should not have. There is nothing illegal about setting
Options WORK=SASWORK, and it was previously supported,
but it had not been recommended by MXG, and is unneeded
since //WORK can be multi-volume.
Thanks to Scott Bickel, Kansas State Government, USA.
Change 33.253 Added processing of TYPE32 records to tabulate TSO MSU
SAGANAL for each COMMAND in new Report 32. Report 19, PROC PLOT
Oct 30, 2015 was removed from _RPTALL as it was only used in testing.
Nov 3, 2015 New Report 32 tabulates HOURLY TSO MSU for NAT commands.
Change 33.252 IMS Transaction dataset TYPE56FA does not contain SYSTEM,
TYPEIMST the MVS SYSTEM ID, but you can pass the SYSTEM name into
VMACIMS SAS from each JOB's JCL using the SYSPARM() statement:
Oct 22, 2015 // EXEC MXGSAS94,OPTIONS='SYSPARM="SYSA"'
or the SYSTEM can be set with SYSPARM in your //SYSIN
OPTIONS SYSPARM="SYSA";
Then, inside MXG first-time logic that creates ZDATE and
ZTIME, retrieves that value with SYSTEM=SYSPARM(); and
variable SYSTEM is RETAINED and OUTPUT in each dataset.
-SHIFT was added to all IMS datasets based on IMSSTCK.
Only VMACIMS was changed; TYPEIMST is just for reference.
-For years, the only JCL for SYSPARM that worked had EIGHT
quotes before and FIVE after the text, and I have a 2013
example, but that syntax now fails with SAS 9.4, and SAS
now documents the much cleaner double quote syntax.
Both IMS and BVIR require you to supply the SYSTEM thru
SYSPARM=, and other members use SYSPARM to enable debug.
All of the JCL examples with OPTIONS=SYSPARM= now use the
double quotes for both instream and in JCL.
-Variable ZTIME is added to all IMS datasets that have the
ZDATE variable now.
Thanks to David A Bernhardt, Verizon, USA.
Change 33.251 CICSTRAN variable OSTART=ORIGINATING*TASK*START*DATETIME
UTILEXCL was on GMT; MXG overlooked the need to convert it to the
VMAC110 local time zone.
Oct 20, 2015
Thanks to David Shaw, M & T Bank, USA.
Thanks to Douglas Donoho, M & T Bank, USA.
====== Changes thru 33.250 were in MXG 33.10 dated Oct 20, 2015=========
Change 33.250 -SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC102 because QWT02R2L is two bytes shorter than the actual
Oct 18, 2015 DB2 10.1 records.
-SMF 102 IFCID 220 INVALID ARGUMENT appears to be a truly
invalid record, with DSNAME where DDNAME should be. The
error is circumvented by validating the DHMS arguments
while the record is investigated. Variable QW0220OT is
the datetime stamp being calculated from characters, and
will be missing for invalid input, without the error.
Thanks to Joe Babcock, General Motors, USA.
Change 33.249 Decoding of DEVCLASS=41 now identifies specific CTC type:
VMACUCB DEVTYPE DEVICE Description
Oct 15, 2015 previous CTC
05X CTC-OSA OSA
06X CTC-OSAD OSA DIAG DEV
07X CTC-IQD HIPERSOCKETS
09X CTC-OSAN OSA ZBX NETWK
0AX CTC-OSAM OSA ZBX MGMT NETWK
32X CTC-FIC FICON
other CTC
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.248 Support for zVSE/Power Version 9 Release 2 Accounting.
TYPEDOS Only minor changes were required, including protection
Oct 13, 2015 for SEGCNT larger than the number of device segments in
the record (caused STOPOVER).
Change 33.247 -If you use UTILEXCL and have more than four "triplets":
VMAC110 WARNING: THE QUOTED STRING CURRENTLY BEING PROCESSED HAS
Oct 14, 2015 BECOME MORE THAN 262 CHARACTERS message is printed.
This warning has NO impact. Change 33.203 added the text
in MACRO _CICXLTR (the list of "triplets" in IMACEXCL) to
MXG diagnostic PUT statements about EXCLUDED fields. Each
triplet test is one line of text so four triplets exceed
a SAS internal limit of 262 character for quoted text in
PUT statements in macro resolution. Change 33.203 used
$LENGTH CICXLTR $32000;
%LET CICXLTR=%QUOTE(_CICXLTR);
CICXLTR=SYMGET('CICXLTR');
to store the text in macro variable &CICXLTR, and then
used "&CICXLTR" to print the text in the PUT statement,
but that's the macro resolution causing the warning!
Now, by using
CICSXLTR=RESOLVE('_CICXLTR');
to directly store the old-style macro text into the data
step variable CICSXLTR, that variable can be used in the
PUT statement, with no macro resolution needed and hence
no warning message. Sites with SAS 9.1 may need to
change RESOLVE to COMPRESS. Contact support@mxg.com.
This shows how easy it is to store the text contents of
an old-style substitution macro into a variable.
-CICS/TS 5.3, close comment missing for TSQIOSCN in the
INPUT statement, causing new-in-5.3 variables in CICSRDQU
Resource dataset TSQGESTM/GESCN/PUSTM/PUSCN/GESBY/PUSBY
to be wrong.
-CICS/TS 5.2 MNSEGCL=5 records with MNR5LENT=96 caused
STOPOVER because MXG expected 104 (5.3 value).
Change 33.246 -Using UTILBLDP with BUILDPDB=YES, if you suppressed type
UTILBLDP 6, 26, or 30, the job failed in BUILD005 when it tried
ZTILBLDP to process the non-existent datasets. Now, if any of the
Oct 20, 2015 datasets are not created, then BUILD005 is suppressed,
and warning message is printed.
-A second execution of UTILBLDP in the same SAS Session
failed with old-style macro errors that are now resolved
and UTILBLDP can be re-executed as often as needed.
-The changes to support second execution were extensive
and thus extensively tested, but, just in case, the prior
UTILBLDP from MXG 33.09 is stored in ZTILBLDP.
Thanks to Michael Reines, Decadis, GERMANY.
Change 33.245 Support for OMEGAMON ATF IMS Log Record LCODE A0 records:
EXATFA0 dddddd dataset description
IMACATF ATFA0 IMSATFAO ATF IMS LCODE A0
TYPEATF ATFDB IMSATFDB ATF IMS DBD
TYPSATF ATFDL IMSATFDL ATF IMS DLI DB
TYPEATFI ATFDT IMSATFDT ATF IMS DLI TM
TYPSATFI ATFD2 IMSATFD2 ATF IMS DB2
VMACATF ATFMQ IMSATFMQ ATF IMS MQ
VMACIMS ATFOA IMSATFOA ATF IMS OTHER A
VMXGINIT ATFOB IMSATFOB ATF IMS OTHER B
Oct 19, 2015 -Application Trace Facility is a component of Omegamon XE
Nov 17, 2015 for IMS v531. Detail trace data from intercepts capture
application execution for IMS related threads, including
DB2 and MQ API calls from an IMS application. The detail
data, possibly millions of intercepts per transaction, is
summarized into new IMS LOG A0 record. It's unlikely to
trace everything always, so this is not a replacement for
the IMS 56FA Log Record (TYPEIMST) for IMS chargeback and
response/resource reporting, but there is more data in
ATF - notably the DBD information - than in the 56FA, so
if selectively enabled for trouble children, it might be
a useful source for IMS trouble shooting.
-TYPEATFI reads IMSLOG format records, TYPEATF reads the
alternate destination, ATFLOG, if that option is chosen.
-MXG member TYPEIMS7 is updated to process ATF records if
found along with all other IMS Log records.
-The IBM default is A0, but that can be changed with the
MACRO _IDATF using %LET MACKEEP= tailoring in //SYSIN.
-ATF replaces the old ITRF component of Omegamon/XE.
-This is the support for Phase I. Additions are coming.
-Nov 17: INPUT @LOCVARSEG+ATFXSNzzO syntax is REQUIRED
because ATFXSNzzO offset can be zero, and the SAS syntax
INPUT @A+B is NOT the same as INPUT @B+A and the first
variable MUST ALWAYS BE NON-ZERO. When in doubt, use
LOC=A+B; INPUT @LOC.
Change 33.244 Unused Change Number.
Change 33.243 RACF Type 80 records don't have variable SUBTYPE because
ANALID the RACFEVNT value is used instead, but now, RACFEVNT is
FORMATS INPUT in the SMF Header processing and stored in SUBTYPE
UTILBLDP so that the ANALID report will tabulate (and describe,
VMACSMF using the updated SMFID format) each type 80 subtype.
Oct 10, 2015 And, UTILBLDP selection by SUBTYPE (WANTSMF=80.02) is now
supported for ID=80 records.
NEVER USE TYPE80/TYPS80, ALWAYS USE TYPE80A/TYPS80A.
Change 33.242 Support for z/VM 6.3.15.0 VXSYSPRT (0.02) z13 SMT mode.
VMACVMXA New SMT-related variables added to the end of the record.
Oct 10, 2015 But: See Change 33.299, REQUIRED.
Change 33.241 A SUM statement is added to the audit report of datasets
PDBAUDIT in your BUILDPDB that reports the total number of pages,
Oct 9, 2015 variables, size, and bytes in each PDB data library.
Change 33.240 TYPE30xx device summary variables for non-existent device
IMAC30IO types (EXCP3350/IOTM3350) can be dropped from all TYPE30s
Oct 9, 2015 and PDB.JOBS and PDB.STEPS by tailoring IMAC30IO to save
disk space (one PDB reduced 400MB from 2500MB to 2100MB).
A new example in comment block can be enabled to keep
only the variables for current device types.
Change 33.239 Some TYPE70 variables can't be DROPped using _KTY70 with
VMAC7072 DROP= because the TYPE70 dataset is not created directly
Oct 8, 2015 as SMF is read (when _KTY70 is used for TYPE70SP). TYPE70
is created from TYPE70SP and TYPE70PR with multiple DATA
DATA steps and Split Record processing. Using _KTY70
also has a risk of dropping a variable needed in the data
steps that follow. This change creates _KTY70DR, a null
old-style MACRO that can be used to drop any variables in
TYPE70 dataset, safely. This syntax in your //SYSIN:
%LET MACKEEP= MACRO _KTY70DR DROP= IF: VF: APPC: % ;
drops all variables starting with IF, VF, or APPC.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.238 Support for RACF Flat File of IRRDBU00 record type 1560
EXRA1560 creates new dataset
IMACRACF DDDDDD DATASET DESCRIPTION
VMACRACF RA1560 RACF1560 GENERAL RESOURCE CERTIFICATE INFORMATION
VMXGINIT CERTN_NAME ='GENERAL*RESOURCE*NAME'
Oct 8, 2015 CERTN_CLASS_NAME ='GENERAL*RESOURCE*PROFILE*CLASS'
CERTN_ISSUER_DN ='ISSUERS*DISTINGUISHED*NAME'
CERTN_SUBJECT_DN ='SUBJECTS*DISTINGUISHED*NAME'
CERTN_SIG_ALG ='CERTIFICATE*SIGNATURE*ALGORITHM'
Thanks to Robert Miles Standish, UBS, USA.
Change 33.237 Support for EDA v7706 (INCOMPATIBLE, two existing 8-byte
VMACEDA user fields were expanded in place to 20 bytes). There
Oct 6, 2015 is no version field in their record; the length of the
record for each subtype is now used to create EDAVERS to
read either the new or old version records transparently.
Thanks to Valentine Wudarczyk, BNYMellon, USA.
Change 33.236 DB2 zPARM QWP4xxxx fields marked (S)-SERVICEABILITY were
VMAC102 not always kept, but IBM is now using these three fields
Oct 14, 2015 QWP4INLP='INLISTP'
QWP4MXOS='MAX*OPT*STOR'
QWP4SHDE='SUPPRESS*HINT*SQLCODE*DYN'
QWP4XMLO='XML*PROCESSING*OPTIONS'
The first two were kept but unlabeled. Now all (S) are
kept and labeled in T102S106 dataset. The first six have
actual labels, the others have their name as LABEL.
QWP4ACCS QWP4ADMT QWP4INLP QWP4MXOS QWP4SHDE QWP4XMLO
QWP4AST QWP4CDE1 QWP4COC1 QWP4COC2 QWP4CTHR QWP4CUT
QWP4FLKT QWP4LTDM QWP4MQTH QWP4MS4A QWP4MXCE QWP4MXOC
QWP4MXOE QWP4MXTB QWP4PLIM QWP4RMTI QWP4SCLC QWP4SCTM
QWP4SELD QWP4SPC QWP4SPS QWP4STHR QWP4TJTH QWP4TTRS
QWP4ULB2 QWP4ULFR QWP4ZUT
-Variables QWP4ACCS and QWP4DFID character values were not
correct when test was EBCDIC, and QWP4OZTM is now numeric
datetimestamp instead of $CHAR8. hex value.
Thanks to Lai Fai Wong, Bank of America, USA.
Change 33.235 Documentation. RED ALERT APAR OA48941 IS REQUIRED BY ALL
VMAC74 z/OS SITES and MUST BE INSTALLED PRIOR TO DEC 15 2015 to
Oct 6, 2015 prevent failure at IPL if the APAR is NOT installed.
The error is in Unicode Service Conversation iconv()
calls which is NOT USED IN MXG. but TELNET and many other
programs are impacted.
Change 33.234 Change 33.155 added R744SNAM to TYPE74HO dataset, which
VMAC74 accidentally corrected an unreported error in the NODUP
Oct 4, 2015 sort to create PDB.TYPE74HO: false duplicates were being
deleted, so the prior PDB.TYPE74HO dataset was incorrect.
The number of obs correctly increased with this change.
And R744CNAM and R744SNAM are added to the end of the
_BTY74HO BY List to formally correct the NODUP sort.
Thanks to Paul Volpi, UHC, USA.
Change 33.233 Support for APAR OA46136 that adds File Transfer Section
VMAC6 with IP Address and Port Number to PSF-created SMF 6.
Oct 1, 2015 No change was required; fields automatically INPUT/KEPT
when the section exists.
Change 33.232 Support for Thruput Manager VARNAME=$ORIGIO NOT FOUND
VMACTPMX message creates new ORIGIO='ORIGINAL*INSYSID' variable
Sep 30, 2015 in the TYPETPMX dataset.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.231 Support for JZOS Java Runtime Performance Stats SMF 121
EXTY121 creates three new datasets:
EXTY121G dddddd dataset description
EXTY121G TY121 TYPE121 JZOS JAVA RUNTIME STATISTICS
FORMATS TY121G TYPE121G JZOS JAVA RUNTIME GARBAGE COLLECTION
TYPE121 TY121T TYPE121T JZOS JAVA RUNTIME THREADS
TYPS121 and new FORMAT $MG121TC for thread category.
VMXG121
VMXGINIT
Oct 8, 2015
Change 33.230 -Example ANAL1430 selects TYPE1415 (non-VSAM) and TYPE64
ANAL1430 (VSAM) records by DSNAME, then merges BY READTIME JOB to
ANAL2642 select the the TYPE30_4 (Step end) for that JOB to get
VMAC42 the RACFUSER field that opened that dataset.
Sep 30, 2015 HOWEVER, this example in ANAL1430 can ONLY capture those
datasets that were CLOSED, and ONLY if that JOB had a
step terminate record in the SMF file.
-Example ANAL2642 selects TYPE26J2 (Job Purge) by SUBMUSER
and selects TYPE42DS (Interval Dataset Activity) by DSN
to report each JOB and DSNAME for that SUBMUSER.
-Type 42 subtype 6 TYPE42DS dataset has new variables
S42READS=SUM(S42AMDRB,S42AMSRB,S42AMZRG,S42DSHRD);
S42WRITES=SUM(S42AMDBW,S42AMSWB,S42AMZWB,S42DSHWR);
the sum of direct and sequential BLOCKS, directory reads/
writes, and zHPF reads and writes.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 33.229 Support for NDM PT records with zIIP CPU times (INCOMPAT)
VMACNDM inserted these three new variables in NDMPT dataset:
Sep 28, 2015 PTECP0='CPU TIME*SPENT ON*CP'
PTECP1='CPU TIME*SPENT ON*ZIIP'
PTECP2='ZIIP*QUALIFIED*PART OF*PTECP0'
The inserted data caused INPUT STATEMENT EXCEEDED ERROR.
The prior PT record format's UNC and UNN variables were
cleaned up.
Thanks to David Guess, Blue Cross Blue Shield of South Carolina, USA.
Change 33.228 z/OS 2.1 z/13 SMF 74 St 9 INPUT STATEMENT EXCEEDED for a
VMAC74 record with R749DEVN='Hardware Accelerator' but without
Sep 25, 2015 expected Hardware Accelerator and Hardware Compression
segments that MXG INPUT because of that DEVN value. The
record is valid as it contains zeros in the two triplet's
NUMBER OF fields, SMF749FN,SMF7491N, so MXG logic now
knows to test those fields prior to the input of the
SMF749FO,SMF7491O segments, while the reason for their
absence is being investigated.
Thanks to David Marone, SGS-BP, ITALY.
Change 33.227 Dataset TYPE22PB 'RECONFIGURED PCIE PFIDS' had zero obs
VMAC22 due to misalignment in the MXG INPUT statement. See also
Sep 23, 2015 Change 33.146.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.226 Documentation. ERROR: THE GIF DRIVER CAN NOT FIND ANY
MXGSAS92 FONTS and PHYSICAL FILE MVS:SYS3.SAS.SASMONO.TTF.. DOES
Sep 23, 2015 NOT EXIST occurred on z/OS when the old MXGSAS92 PROC
was used for SAS 9.4, instead of using MXGSAS94 PROC.
This DD statement was added and is required for SAS 9.4
// DD DSN=&SASHLQ..CONFIG(COMMON),DISP=SHR
in the //CONFIG DD concatenation.
Change 33.225 Major Revision to this Analysis of Capping now uses the
ANALCAPD PDB.ASUMCELP dataset with data for each LPAR, rather than
Sep 20, 2015 using only the PDB.ASUMCEC summary dataset for the CEC,
with new parameters to allow for selection by LPAR and/or
to set different cap values for different LPARs:
INCODE= a stub of code for selecting data
CEC= one or more CEC serials separated by spaces
LPAR=one or more LPAR/cap values separated by spaces
The plot shows the "Overflow MSU", an estimate of how
long it would take at the cap to get the same number of
MSUs consumed when the rolling 4 hour avg was over the
cap. So the total MSU consumed above the cap based on
the rolling average pro-rated across the four hour
average keeping the system at the cap until all of the
excess MSUs are consumed.
Change 33.224 Cosmetic. Unexpected Unit Address SMFWKUAD='000000'X
VMACSYNC (which normally is a 3-byte EBCDIC like '181'/'F1F8F1'x)
Sep 18, 2015 for a SYNCSORT SORTWK DD segment caused ILLEGAL ARGUMENT
message when it was used to create SYNCDV and SYNCUN with
SYNCDV=INPUT(SMFWKUDA,HEX6.) syntax, as the HEX6 informat
doesn't support the null value. This DD segment also has
" 0 " for the value in VOL variable. Null now protected.
Thanks to Joe Faska, DTCC, USA.
Change 33.223 Short SMF 103 Subtype 13 record caused INPUT STATEMENT
VMAC103 EXCEEDED Error. The segment is documented to contain 56
Sep 18, 2015 bytes plus a name field, but the record contains only 48
bytes. Circumvention: Use the Name-Length Field and its
location to determine if this is 48 or 56 length. Input
normal for 56. For short 48 record, the two 8-byte fields
are changed to 4 so the NAME field aligns, causing Bytes
and Requests are zero in the short records, but the
short record will be output with valid server name.
Thanks to Shabida Khan, Royal Bank of Canada, CANADA.
Change 33.222 -Major enhancement for character data filtering for RMF
ADOCRMFV Monitor III DVT (Device Table) entries and other
ASMRMFV improvements.
Sep 18, 2015 -These filters are intended for building ad hoc MXG RMF
Sep 21, 2015 III PDBs for studies avoiding the overhead of generating
a full DVT table based PDB. They control which DVT table
entries are output to the RMFBSAM file.
-Four filters are added to support DVT entry selection
from this table to the RMFBSAM output file. These
filters are effective only if the DVT table is selected.
They are applied in the order shown when multiple
different keywords are used.
New Keyword Aliases
------------ --------------------------------------
DVTDEVNUM= DVTDEVNO= DVTDEVNR= DVTDEV= DVTN=
DVTVOLSER= DVTVOLI= DVTVOL= DVTSER= DVTV=
DVTAND None
DVTOR None
-TUTORIAL:
Ranges of the form keyword=first:last may be used with
any of the above keywords except DVTAND and DVTOR.
The colon character ':' is required for a range
specification. All entries GE the first value and LE
the last value are selected for output to the RMFBSAM
file.
The first value may not exceed the last value or an error
is flagged.
Ranges may not be wild carded. If wild carded the range
value becomes a pattern instead.
Single values may be specified for a range simply as
keyword=first and in this case the colon ':' is omitted.
Patterns may also be used with any of the above keywords
except DVTAND and DVTOR and include one or more wild
card characters to match the respective DVT data field.
Wild
Card Matches
---- ------------------------------------------------
* 0 or more characters
% 1 Non-blank character
+ 1 Numeric character (0-9)
_ 1 Alphabetic character or _ (a-z, A-Z, _)
. 1 National character (@, #, $)
! 1 Special character (not a-z, A-Z, 0-9, @, #, $)
? A blank string if used by itself
? 1 Blank character (X'40') if used with any other
characters
See Section 25 in the ADOCRMFV member for more details on
usage of ranges and patterns.
-DVTDEVNUM= (and any of its aliases) selects DVT entries
by Device Number. Both ranges and patterns with wild
card characters may be specified. Up to 64 ranges and
64 patterns are supported. The default is DVTDEVNUM=ALL.
Any valid 4 hex character device number with or without
pattern characters in the range of 0000-FFFF may be
specified.
For ranges the Device Number is treated as a binary
number in arithmetic comparisons.
For patterns the Device Number is converted to hex
characters (0-F) prior to pattern matching.
NOTE: Due to the nature of hexadecimal characters not all
characters and/or patterns may be used with DVTDEVNUM=.
See documentation for details.
-Examples for DVTDEVNUM=
DVTDEVNUM=0A00 selects the device with address 0A00 only.
DVTDEVNUM=0A00:0FFF selects all devices with addresses GE
0A00 and LE 0FFF.
DVTDEVNUM=A00:FFF selects the same devices as above with
the leading zeros omitted for coding convenience.
All leading zeros may be omitted if desired when ranges
are used. Leading zeros may NOT be omitted when
patterns are used unless they are included in the
pattern.
DVTDEVNUM=0*F and DVTDEVNUM=*F produce quite different
results.
DVTDEVNUM=B* selects all devices with addresses from B000
through and including BFFF.
DVTDEVNUM=10* selects all devices with addresses from
1000 through and including 10FF.
DEVDEVNUM=C*FE selects all devices with addresses C0FE,
C1FE, C2FE, C3FE, C4FE, C5FE, C6FE, C7FE, C8FE, C9FE,
CAFE, CBFE, CCFE, CDFE, CEFE, and CFFE.
DEVDEVNUM=C+FE selects all devices with addresses C0FE,
C1FE, C2FE, C3FE, C4FE, C5FE, C6FE, C7FE, C8FE, and C9FE
as '+' is a digit (0-9) pattern character.
DVTDEVNUM=C%FE selects all devices with addresses C0FE,
C1FE, C2FE, C3FE, C4FE, C5FE, C6FE, C7FE, C8FE, C9FE,
CAFE, CBFE, CCFE, CDFE, CEFE, and CFFE as '%' is a
placeholder pattern character.
DVTDEVNUM=C_FE selects all devices at addresses CAFE,
CBFE, CCFE, CDFE, CEFE, and CFFE as '_' is an alphabetic
pattern character.
-DVTVOLSER= (and any of its aliases) selects DVT entries
by Volume Serial Number. Both ranges and patterns with
wild card characters may be specified. Up to 64 ranges
and 64 patterns are supported. The default is
DVTVOLSER=ALL.
Any valid 1-6 character Volume Serial with or without
pattern characters may be specified. Per JCL syntax a
Volume Serial Number is 1 through 6 alphanumeric,
national ($,#,@), or special characters.
NOTE: Since just about any keyboard character is valid in
a Volume Serial please take extra care when coding to
avoid unintended results in the MXG PDB.
-Examples for DVTVOLSER=
DVTVOLSER=C99999 selects the volume serial C99999 only.
DVTVOLSER=C00000:C99999 selects all volume serials GE
'C00000' and LE 'C99999'.
DVTVOLSER=10* selects all volume serials starting with
'10' followed by up to 4 more characters.
DVTVOLSER=H+++++ selects all volume serials starting with
'H' followed by 5 digits.
DVTVOLSER=K*A selects all volume serials starting with
'K' that have a final character 'A' with up to 4
intervening characters.
-DVTAND (default) indicates that selection results from
DVTDEVNUM= and DVTVOLSER= DVT filter keywords are
logically ANDed. DVTAND is effectively ignored if DVT
records are NOT selected
Results for selected Devices for the same DVTxxxxxx=
keyword are ALWAYS logically ORed.
NOTE: The DVT filters DEVTYPE=ALL/DASD/TAPE and
ZEROIO/NOZEROIO are applied independent of the use of
DVTAND.
-DVTOR indicates that selection results from DVTDEVNUM=
and DVTVOLSER= DVT filter keywords are logically ORed.
DVTOR is effectively ignored if DVT records are NOT
selected
Results for selected Devices for the same DVTxxxxxx=
keyword are ALWAYS logically ORed.
NOTE: The DVT filters DEVTYPE=ALL/DASD/TAPE and
ZEROIO/NOZEROIO are applied independent of the use of
DVTOR.
-Examples with DVTAND in effect: DVTDEVNUM=CA00:CAFF
DVTVOLSER=SMF* only selects device entries in the DVT
table that have a Device Number GE CA00 and LE CAFF AND
that have a Volume Serial Number that starts with 'SMF'.
DVTDEVNUM=CA00:CAFF DVTVOLSER=SMF* DVTVOLSER=PAG* only
selects device entries in the DVT table that have a
Device Number GE CA00 and LE CAFF AND that have a Volume
Serial Number that starts with either 'SMF' or 'PAG'.
-Examples with DVTOR in effect: DVTDEVNUM=CA00:CAFF
DVTVOLSER=SMF* selects device entries in the DVT table
that have a Device Number GE CA00 and LE CAFF OR that
have a Volume Serial Number that starts with 'SMF'.
DVTDEVNUM=CA00:CAFF DVTVOLSER=SMF* DVTVOLSER=PAG*
selects device entries in the DVT table that have a
Device Number GE CA00 and LE CAFF OR that have a Volume
Serial Number that starts with 'SMF' or 'PAG'.
The logical OR results in less restrictive filtering
because any of the 3 conditions results in data
selection of a DVT entry.
NOTE: The DVT filters DEVTYPE=ALL/DASD/TAPE and
ZEROIO/NOZEROIO are applied independent of the use of
DVTOR.
-The order of DVT filter application is:
1) DEVTYPE=
2) DVTDEVNUM=
3) DVTVOLSER=
4) ZEROIO/NOZEROIO
-Section 5 "Input Data Selection Parameters" in
documentation is updated with discussion of all the new
DVT selection keywords and aliases.
-Section 26 "Summary" in documentation is updated for the
new DVT keywords.
-Message RMFV034I did not display correctly on a Device
Number match with DVTDEVNUM= and SHOWMATCH options in
effect.
-Version entry for z/OS 2.2 in RMF release table was not
Correct.
Change 33.221 RMF III data with CPUHOLEN GT 480 and CPUVERG3 EQ 5 ABEND
VMACRMFV INPUT STATEMENT EXCEEDED RECORD LENGTH error when IBM
Sep 17, 2015 changed CPUHOLEN to 740 but did not update CPUVERG3.
Change 33.220 Mini-tutorial on how the INFORMAT in an INPUT function
SAGANAL caused the MSU values to be off by a factor of 100 (an
Sep 17, 2015 error that was immediately obvious!). SAGANAL builds
format $SYS2CAP that maps SMF70CPA to TIME+SYSTEM, and
then retrieves a value with this INPUT function that
uses the 10.2 INFORMAT to "read" the $SYS2CAP value:
SMF70CPA=INPUT(PUT(TIMESYS,$SYS2CAP.),10.2);
which worked, but only accidentally, because all previous
$SYS2CAP values contained a decimal. But if the value in
$SYS2CAP was an integer, the .2 in the 10.2 INFORMAT told
SAS to divide by 100. Removal of the .2 that never should
have been there corrects the error.
Change 33.219 MXG 33.09 Only. VARIABLE MAXCCPUC IS UNINITIALIZED msg,
VMACBVIR typo, caused MAXDCUPC to be a missing value in BVIR10.
Sep 17, 2015
Change 33.218 MXG-created variable WTTOTIOTM (DBMS/IO TOTAL OTHER WAIT)
ADOC110 did not include these recently-added wait variables:
VMAC110 DSCHMDTM FCVSWTTM VCXCWTTM ISALWTTM TCALWTTM TDELWTTM
Sep 16, 2015 TDILWTTM
====== Changes thru 33.217 were in MXG 33.09 dated Sep 15, 2015=========
Change 33.217 z13 in SMT Mode ONLY: LPARCPUS=0 in PDB.TYPE70PR.
VMAC7072 This is the last reported issue with MXG code for z13 in
Sep 13, 2015 SMT mode, and both SMT=1 and SMT=2 data have been tested.
So this change in MXG 33.09 is REQUIRED for z13 SMT mode.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.216 Support for APAR OA47042 adds MOBILE RESOURCES in RMF 70
VMAC7072 and 72 for MOBILE PRICING that eliminates the need to
Sep 11, 2015 process the CICS and IMS transaction records, by using
new WLM Service Definition Qualifier types of Connection
Type (CT) and/or Client Transaction Name (CTN) to set the
new WLM Classification "Reporting Attribute" that can be
set to NONE/MOBILE which WLM uses to identify mobile work
in these new variables.
-Dataset TYPE70 new variables:
SMF70LACM='MOBILE*LONGTERM*AVERAGE*MSU/HR'
SMF70LACA='CAT A*LONGTERM*AVERAGE*MSU/HR'
SMF70LACB='CAT B*LONGTERM*AVERAGE*MSU/HR'
-Dataset TYPE72GO new variables:
R723TSUCP ='TOTAL*GP*SERVICE*MSU/HR'
R723TSUSP ='TOTAL*ZIIP*SERVICE*MSU/HR'
R723TSUOCP='TOTAL*ELIGIBLE*SERVICE*MSU/HR'
R723MSURCP='MOBILE*GP*SERVICE*MSU/HR'
R723MSURSP='TOTAL*ZIIP*SERVICE*MSU/HR'
R723MSUOCP='TOTAL*ELIGIBLE*SERVICE*MSU/HR'
R723ASUCP ='CAT A*GP*SERVICE*MSU/HR'
R723ASUSP ='CAT A*ZIIP*SERVICE*MSU/HR'
R723ASUOCP='CAT A*ELIGIBLE*SERVICE*MSU/HR'
R723BSUCP ='CAT B*GP*SERVICE*MSU/HR'
R723BSUSP ='CAT B*ZIIP*SERVICE*MSU/HR'
R723BSUOCP='CAT B*ELIGIBLE*SERVICE*MSU/HR'
These metrics may be available for z/OS 2.2 and z/OS 2.1
later this year.
Note that R723TSUCP=SUM(CPUUNITS,SRBUNITS);
Change 33.215 Documentation change only. Added an example of using
VMXGSUM VGETDDS to drive the input to VMXGSUM.
Sep 9, 2015
Change 33.214 If UTILBLDP was executed twice in the same session, and
UTILBLDP the USERADD= option was used, the second execution failed
Sep 10, 2015 because the _IDxxxx "SMF Record Macros" were not cleared.
Thanks to Michael Reines, Decadis, GERMANY.
Thanks to Ron Hawkins, HDS, USA.
Change 33.213 Support for WASODM Operational Decision Manager 8.7.1 SMF
VMAC120 Type 120 Subtype 100 (MXG Dataset TY120100) INCOMPATIBLE.
Sep 10, 2015 The record was completely restructured internally, and
Oct 8, 2015 these ruleset statistics now exist in SM120HDV=3 records:
SM120RULEXBAD ='RULESET*FAILED*EXECUTION*COUNT'
SM120RULEXCALLS='RULESET*NUMBER*OF*CALLS'
SM120RULEXCMAX ='RULESET*MAX*CPU*JAVA TIME'
SM120RULEXCMIN ='RULESET*MIN*CPU*JAVA TIME'
SM120RULEXCPU ='RULESET*TOTAL*CPU*JAVA TIME'
SM120RULEXFSUM ='RULESET*SUM OF*FIRED*RULES'
SM120RULEXNUM ='RULESET*SUCCESSFUL*EXECUTION*COUNT'
SM120RULEXPATH ='RULESET*EXECUTION*PATH'
SM120RULEXTIME ='RULESET*TOTAL*ELAPSED*JAVA TIME'
SM120RULEXTMAX ='RULESET*MAX*ELAPSED*JAVA TIME'
SM120RULEXTMIN ='RULESET*MIN*ELAPSED*JAVA TIME'
-SM120HDV=1 records (in Versions 8.5.1.0 and 8.6.0.0) and
SM120HDV=2 records (in Versions 8.5.1.2) contain only
these counters: SM120RULEXNUM SM120RULEXBAD SM120RULEXSUM
-Records with no Extension segment are now output; these
appear to be interval records when there was no activity.
New variable SM120EXNNR identifies if the record has an
extension, and if so, which one.
-The prior TY120100 dataset was incorrectly/wrongly built
with the number of observations in WORK.TY120100 higher
than the number of input records, and the number of obs
in PDB.TY120100 too few (and wrong).
Thanks to Scott Barry, SBBWorks Inc., USA.
Thanks to Paul Volpi, UHC, USA.
Change 33.212 Support for MEGACRYPTION Version 6 SMF records,
VMACMGCR (MGCRLEV='2') which incompatibly increased the length of
Sep 8, 2015 the MGCRBYTE and MGCRKS fields from 4 to 8 and 40 to 60.
Thanks to Randy Schlueter, First Data Corporation, USA
Change 33.211 New variables are added in DB2 Trace Dataset T102S199.
VMAC102 QW0199SC='LAST TIME*DATABASE*STATISTICS*UPDATED'
Sep 8, 2015 QW0199ID='MORE*RECORDS*OR*LAST?'
QW0199SD='SHADOW*COPY?'
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 33.210 More TMON/CICS Version 3 AND Version 4 corrections.
VMACTMO2 -MONITASK for Version 3 was wrong in MXG 33.08, with
Sep 11, 2015 misalignment starting at variable CICOVHTM.
-MONITASK Version 4 requires ASG PTF TH03803 to correct
invalid values in variables TASTCPUC and TASTCPOC.
-The MONISYST dataset was misaligned and has been updated
and validated with both 3.3 and 4.0 records.
Thanks to Francois Vancoppenolle, PV Group, BELGIUM.
Change 33.209 Cosmetic changes from ITRM Validation.
VMAC102 -VMXG70PR: Temporary variable N60PLUSLPAR no longer kept
VMAC110 in PDB.ASUM70PR and PDB.ASUMCEC datasets.
VMAC119 -VMAC110: Variables DS7START,DS7LSTRT now labeled.
VMAC50 -VMAC102: The nineteen QWn196Ha variables added by 31.236
VMAC7072 are now labeled/formatted/Length consistently.
VMAC74 -VMACNDM: Offset variable NDMGPE1D is no longer kept in
VMAC75 NDMRT dataset.
VMAC76 Variables NDMZLIBR/LIBS PTRESTRECORD labeled.
VMAC77 -VMACSTC: STC14TOD and STC27TPX variables are labeled.
VMAC99 -VMAC119: Variables SMF119SM_ and SMF119FT_ are labeled.
VMACNDM -VMAC50: Variable TY40EXTL labeled.
VMACSTC -VMAC7072: Temp variables R725QSR1/QSR2/QST1/QST2 are not
VMACXCOM kept since they were already used to create the
VMXG70PR SSQ variables R725QSRQ R725QSTQ.
Sep 6, 2015 -VMAC74-7: Variables SMF74/75/76/77/GIE are labeled.
-VMAC99: Variables S99CMTFLGS1/2 label typo corrected.
-VMACXCOM: Many XCOxxxxx variables are labeled.
Thanks to Chris Weston, SAS Institute, USA.
Change 33.208 z/OS ONLY. If you use VGETDDS with DDNAMES=PDB: syntax
VGETDDS (to read all DDNAMEs starting with PDB), and those DDs
Sep 6, 2015 are on tape, VGETDDS mounted all of the tapes twice, once
to detect is is a SAS dataset and then once to actually
read the data. Now, once VGETDDS finds that a PDBn DD
points to a tape device, it will presume all the others
are also tape, and thus eliminate the double mounts. But,
if a DDNAME that matches the test is NOT a SAS dataset
the job ABENDs with ERROR:LIBRARY PDBn IS NOT IN A VALID
FORMAT FOR ACCESS METHOD V9SEQ or if UNIT=AFF is used but
DEFER=YES was NOT, then a SYSTEM 413 ABEND occurs trying
to open all tape devices at the same time.
-The typically unneeded MXGNOTE messages are now skipped
with the MXGEXIMSG option.
Change 33.207 z/OS 2.2: REQUIRES ML-55 of MXGTMNT, for ABEND S0E0-28.
ASMTAPEE In z/OS 2.2, IBM's CSRPOOL service, called by MCSOPMSG in
Sep 8, 2015 ASMTAPEE, puts diagnostic data into GR0, AR0, and AR15,
none of which are expected to be preserved, but R15 was
used by ASMTAPEE, because it was unused and available.
Now ASMTAPEE clears AR15 to eliminate the ABEND exposure.
Change 33.206 z/OS 2.2 Job Correlation Variables SMF30COR is now INPUT
BUILD005 kept in TYPE30xx datasets, and also output in PDB.JOBS,
VMAC30 PDB.STEPS, and PDB.SMFINTRV. Variable SMF26JCR was INPUT
Sep 4, 2015 and kept in TYPE26J2 previously, but now it is also kept
in PDB.JOBS and PDB.NJEPURGE datasets with BUILDPDB.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.205 DB2ACCTP variables QPACPKID/QPACLOCN/QPACASCH/QPACAANM
VMACDB2 and QPACCOLN could be truncated even though they have
Sep 2, 2015 valid extended name segments. The LENGTH test for the
new PAR QUERY fields wrongly INPUT them when they did not
exist, causing the DELFIX circumvention to incorrectly be
invoked, causing the extended segments to not be input.
Thanks to Tom Adams, State Farm, USA.
Thanks to Shankar Chatterjee, State Farm, USA.
Change 33.204 Variable IOTMNODD was never calculated in PDB.JOBS/STEPS,
BUIL3005 and the value in IOTMTODD was actually IOTMNODD. The
BUILD005 three calculations of IOTMTODD= should be IOTMNODD=.
Sep 2, 2015
Thanks to Rick Southby, Insurance Australia Group Limited, AUSTRALIA.
Change 33.203 Cosmetic. EXCLUDED FIELDS FOUND messages now print your
VMAC110 site's IMACEXCL testing values, so you can see if this is
Sep 1, 2015 for a new dictionary triplet that needs a UTILEXCL rerun.
This was originally added in Change 29.262, but somehow,
the needed quotes and ampersand "&CICXLTR" syntax got
changed to CICXLTR, which printed nothing.
Change 33.202 Velocity ZVPS 5.4 dataset XAMSYT has zero observations
VMACXAM because Change 33.157's recalculated SYTNLPS was zero.
Aug 29, 2015 The actual SYTNLPS+1 in the non-Total record is now used
Sep 2, 2015 and the false INVALID SYTCUP SEGMENT message is removed.
Sep 11, 2015 -Unexpected CPID='GPs' value is now output in XAMCPUTO as
there were no records with CPID='Total".
Thanks to Douglas C. Walter, CitiCorp, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 33.201 Support IBM INFOSPHERE CHANGE DATA CAPTURE VERSION 10.2.1
VMACCDC adds many new variables to the CDI, CDO, CDW, DLR, DSL,
Aug 30, 2015 DTC, OSC, SCT, SDT, TCT, and new TDT segments. However,
the SCT and TCT data does not match the documentation and
both SCTCPU and TCTCPU are invalid with this iteration.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 33.200 -TYPE70xx datasets have always contained ONLY data for the
VMAC7072 engines that were ONLINE at interval end, and that had
Aug 28, 2015 NOT been VARYed ONLINE (i.e., CAI='01'X). Engines that
were IPL's (CAI='03'X) were NOT output, because the data
in those startup intervals was inconsistent in early MVS.
However, those partial interval's data is not only valid,
it is actually now required to prevent wrong or missing
values for CECSER in TYPE70/TYPE70PR/TYPE70EN datasets,
and to capture the IPL interval's resources.
-TYPE70EN variable CPUBSYTM is now correctly set missing
for zIIP/zAAP engines, since it is a CP engine metric.
-More observations are now output, so PROC COMPARE will
see differences in these variables:
TYPE70: CECSER CPUACTTM CPUMVSTM CPUWAITM PCTCPUBY
PCTMVSBY PCTRDYWT PLCPRDYQ SHORTCPS
TYPE70PR: CECSER
TYPE70EN: CECSER CPUBSYTM CPUMVSBY
Change 33.199 The AXWAY SMF record was INCOMPATIBLY changed by an
VMACAXWY increase of a field length.
Aug 31, 2015
Thanks to Rachel Holt, FMR, USA.
Change 33.198 -CICS/TS 5.3 BETA, Resource Class (MNSEGCL=5) could cause
VMAC110 INPUT STATEMENT EXCEEDED INPUT because only 112 bytes of
Aug 27, 2015 the MNR5LENT=120 bytes were read.
Change 33.197 -Variable LPBUSY in TYPE113 is the TOTAL BUSY for all CPs
ASUM113 and can exceed 100% with multiple engines, but variable
VMAC113 LPARBUSY in ASUM113 is the CPU BUSY OF ONE ENGINE. New
Aug 24, 2015 variable LPBUSY is now created in ASUM113 with TOTAL BUSY
to provide both perspectives on percent busy.
-Variable SRBSTATE is now created in ASUM113 to complement
the existing PRBSTATE variable.
Thanks to David Cogar, Wells Fargo, USA.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.196 BVIR variable's values are revised to match IBM reports.
VMACBVIR TVCSIZE is now internally in bytes, formatted MGBYTES,
Aug 30, 2015 and the label corrected.
AVGCPUSE is now percent (95.5) instead of 0.95 fraction.
AVGDEFTH is now correct, was 1000 too large.
Thanks to Patricia J. Jones, DST Systems, USA.
====== Changes thru 33.195 were in MXG 33.08 dated Aug 20, 2015=========
Change 33.195 TMON/CICS Version 4.0 Support was still wrong, with an
VMACTMO2 extra 8 bytes INPUT that shouldn't have been, so that
Aug 20, 2015 MXG 33.08 dated Aug 20 is NOW required for version 4.0.
-Variables TASTCPUC and TASTCPOC in dataset MONITASK have
invalid data values, await PTF from ASG.
Thanks to Francois Vancoppenolle, PV Group, BELGIUM.
Thanks to Dirk Thys, PV Group, BELGIUM.
Change 33.194 -The modern CLRMFV Clist is incompatible with the archival
ZCLRMFV ZASMRMFV program because RMF III files are allocated with
Aug 19, 2015 RMFC prefixed DDNAMEs and the archival version of
ZASMRMFV is not aware of these. This results in message:
RMFV015E +++ERROR: NO VALID RMF III INPUT FILES FOUND+++
-A new Clist ZCLRMFV for use with ZASMRMFV only is created
with this change that will only allocate RMF III data
sets with RMFV DDNAME prefixes.
Thanks to Tom Drager, Aurora Health Care
Change 33.193 ANALDSET abend IEC145I 413-04 with DDNAME=ADDPROG because
ANALDSET the DATA step inserted by Change 32.187 broke the logic
Aug 19, 2015 for UNIT=AFF by trying to read and write to and from the
same tape device.
Thanks to Randy Hewitt, HP Canada, CANADA.
Change 33.192 -CICS/TS 5.3 Beta added two new variables to CICSTRAN that
UTILEXCL caused UTILEXCL to report UNKNOWN WBJSNRQL and WBJSNRPL
VMAC110 fields, but the IMACEXCL it created has a syntax error,
Aug 18, 2015 And, since the two fields were INSERTED, the MXG INPUT
without IMACEXCL caused subsequent fields to be invalid
as they were misaligned. Now, 70/378/3376 are expected
values for 5.3 default SMFPSRVR, MCTSSDCN, and MCTSSDRL.
(Other values will generate the RUN UTILEXCL messages.)
-The CICSRDQU records have new reserved fields inserted,
that caused misalignment.
=====================================================
CICS/TS 5.3 IS STILL IN BETA, with final GA is Sep 31,
so IBM is still free to make other changes.
=====================================================
Thanks to Paul C. Gordon, Bank of America, USA.
Change 33.191 UTICBLDP error message COMPBL HAS TOO MANY ARGUMENTS was
UTILBLDP due to an unneeded second COMPBL invocation for MACKEEPX.
Aug 18, 2015 The second execution was removed, but the error was also
triggered by comments with "* comment text ;" syntax, and
using " /* comment text */ " syntax also circumvented the
error. In general, that second syntax is more robust,
but in this case, placing the comments OUTSIDE the MACRO
circumvents the need to parse either comment syntax.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.190 While the WORK.TY115215 dataset is created by TYPE115,
VMAC115 using TYPS115 did not create PDB.TY115215 because the
VMXGINIT _STY115X dataset sort macro for TY115215 was not added
Aug 17, 2015 in the _S115 "product" sort macro for SMF type 115s.
This caused dataset TY115215 to not be listed in DOCVER.
====== Changes thru 33.189 were in MXG 33.08 dated Aug 17, 2015=========
Change 33.189 Support for z/OS 2.2 (COMPATIBLE, but LOTS NEW STUFF):
BUILD005 -TYPE0203: Support for new ID=2 SUBTYPE=1 and 2 records
EXTY4227 create two new datasets in VMAC0203:
EXTY9037 DDDDDD DATASET DESCRIPTION
FORMATS TY0201 TYPE0201 TYPE 2 SUBTYPE 1 SIGNATURE GROUP
IMAC42 TY0202 TYPE0202 TYPE 2 SUBTYPE 2 SIGNATURE INTERVAL
IMAC90A -TYPE1415: Change 33.026 added support for LONG WANTED new
VMAC0203 variables SYSPLEX JESNR JCTJOBID TYPETASK, but the pre-
VMAC104 GA SMF Manual had the order of SYSPLEX/JCTJOBID while
VMAC106 the actual order is JCTJOBID/SYSPLEX and the typo will
VMAC1415 be corrected for the Sub-type 3 record.
VMAC30 -Sub-type 5, length is 72 but 70 in SMF Manual; two bytes
VMAC42 are skipped
VMAC6156 -SMF14ALIAS now created.
VMAC74 -SMF14DSVER value is '01'x but bits 0, 1, 2, are listed
VMAC90A in the SMF Manual. Await IBM answer.
VMAC99 -JOB variable has un-printable characters in the 14/15s,
VMACCTLG but valid characters are in JOB variable in 30s, in pre-
VMXGINIT GA data. Await IBM answer. SMF14ESL=26 STY=5 (old
Mar 8, 2015 length) protected.
Jun 8, 2015 -TYPE26J2: New IBM JCTJOBID=:'G' value will set the MXG
Jul 21, 2015 TYPETASK='JOBG', only in TYPE26J2 Purge Records for a
Jul 24, 2015 JOBGROUP's logging job's purge, which is the only place
Aug 4, 2015 that 'G' value is externalized in SMF records.
Aug 17, 2015 -TYPE30 : New ABEND='EVICT' value set in TYPE30 for jobs
Mar 1, 2016 evicted with $EJ,STEP,HOLD.
-TYPE42: Change 33.026 added support for new TYPE4227
dataset provide the VTOC AUDIT LOG with these variables:
JCTJOBID ='SMF42RNJO*JOB NUMBER'
JESNR ='JES*NUMBER'
TYPETASK ='TYPE*OF*TASK;
SMF42RIND ='SMF42RIND*RECORD*INDICATOR'
SMF42RSEEK='SMF42RSEEK*VTOC*TRACK*ID'
SMF42RSRCH='SMF42RSRCH*VTOC*RECORD*ID'
SMF42RCMDS='SMF42RCMDS*CCW*COMMAND*CODES'
SMF42RUPSW='SMF42RUPSW*CALLERS*ADDRESS'
SMF42RUTOK='SMF42RUTOK*USER*SECURITY*TOKEN'
SMF42RRSV ='SMF42RRSV*DEVICE*IS*RESERVED?'
SMF42RKEY ='SMF42RKEY*DSCB KEY*DATASET*NAME'
SMF42RDSC ='SMF42RDSC*DSCB*DATA*FIELD'
SMF42RACT ='SMF42RACT*ACTIVITY*TYPE'
with these possible activities in SMF42RACT that are
decoded by $MG042VT format:
'D***'='D***:DFSMS ACTIVITY'
'DCVF'='DCVF:CVAFDIR'
'DCRE'='DCRE:DADSM DATASET CREATE'
'DEXT'='DEXT:DADSM DATASET EXTEND'
'DPAR'='DPAR:DADSM DATASET PARTIAL RELEASE'
'DREN'='DREN:DADSM DATASET RENAME'
'DDEL'='DDEL:DADSM DSCB SCRATCH'
'DUPD'='DUPD:DADSM DSCB UPDATE'
'DFRG'='DFRG:DFSMSDSS DEFRAG'
'DCON'='DCON:DFSMSDSS CONSOLIDATE'
'DDMP'='DDMP:DFSMSDSS DUMP'
'DRST'='DRST:DFSMSDSS RESTORE'
'IOBE'='IOBE:IOBE NOT PROVIDED'
'USER'='USER:IOBEUSER NOT SPECIFIED'
-TYPE42: Support subtype 5/6 APAR OA44322/OA44319 CMR+
and new microsecond metrics was added in Change 32.113.
-TYPE74: Change 32.305 added support for new TYPE 74
variables: R744MNEL R744MNEC R744NSRK
-TYPE90A: Updated for new Type 90 subtype 37 to create
new TYPE9037 dataset that reports any changes to APF
status. The RACF UTOKEN has '55'X values in SMF data
because it's value is "MASKED", i.e., encrypted, while
MXG expected the "UNMASKED" values that are in UTOKEN in
other SMF records (42, 80, 119). The existing SMF 90
subtypes 29 and 31 also contain the MASKED UTOKEN, but
IBM Development has stated their intention to change to
UNMASK the UTOKEN in all three of those 90 subtypes.
HOWEVER: SEE CHANGE 33.282 - MXG now "unencrypts".
The RACROUTE REQUEST=TOKENMAP can do the "unmasking",
and can be used even on a system that was not the one
on which the SMF record was created, but that can only
be used on z/OS; even there it would take SIGNIFICANT
effort to issue a RACROUTE from within a SAS data step.
But since the data length is 80 bytes either way, and
the data is not secret, it really needs to be UNMASKED
to be of value, so IBM's future correction is welcome.
-TYPE90A: Two variables added to TYPE9037 dataset.
Formats added to TYPE9037 variables.
-TYPE99 : Five variables added to TYPE9912 dataset.
-TYPE104: Platform Types that create SMF Type 104 records
are expanded and format updated:
VALUE MG104PT
0='0:AIX ON SYSTEM P'
1='1:LINUX ON SYSTEM X'
2='2:LINUX ON Z SYSTEM'
3='3:WINDOWS ON SYSTEM X'
-TYPE106: Support for new ID=106 SUBTYPE=1 and 2 records
create two new datasets in VMAC106
DDDDDD DATASET DESCRIPTION
TY1061 TYPE1061 BCPII HWISET API CALLS
TY1062 TYPE1062 BCPII HWICMD API CALLS
Mar 1, 2016: Incorrect length for SMF6ASDL, corrected
to input 4 bytes.
-VMACCTLG and VMAC6156 were updated Nov 27, 2014.
Support for GDGE, GDG Extended GDGLIMIT=999 in z/OS 2.2.
New variable GATEXTND='E' flags the extended mode, new
variables GATLIMTE/GATCNTE are INPUT but also kept in the
existing GATLIMIT/GATCNT to preserve existing reports.
Some overlooked flag variables in the 05 Catalog Segment
are now decoded and kept in datasets TYPE6156 (from SMF
(type 61, 65, 66) and TYPECTLG (from the IDCAMS EXPORT
CATALOG flat file). These are all the 05 fields now:
GATALLOC='GATALLOC*FIFO OR*LIFO?'
GATCNT ='GDG*COUNT'
GATDELET='DELETE*WHEN*LIMIT*EXCEEDED*0=OLD*1=ALL?'
GATEXTND='GATEXTND*EXTENDED*OR CLASSIC?'
GATEXTNO='GATEXTNO'
GATGEN ='GATGEN '
GATLIMIT='MAXIMUM*GDS*ENTRIES*IN GDG*BASE'
GATLIMTE='EXTENDED*GAT*GATLIMIT'
GATPURGE='GATPURGE*YES OR*NO?'
GATSCRTH='SCRATCH*FORMAT 1*DSCB*0=NO*1=YES?'
GATVER ='GATVER '
GATWRAP ='GATWRAP '
GDGATTR ='GDGATTR'
-BUILD005 protects for TYPETASK='JOBG' in JCTJOBID.
Change 33.188 TMON/CICS Version 4.0, these four MONITASK variables were
VMACTMO2 divided by 4096, TWICE:
Aug 13, 2015 TASTCPUT TASTCPOT TACNTRTM TACNTWTM
and these MONIAMQ variables were NOT divided because the
test was GT 4 and it should have been GE 4.
TAAMQOPT TAAMQCLT TAAMQGTT TAAMQPTT TAAMQP1T
TAAMQIQT TAAMQSTT
This change is REQUIRED to support TMON/CICS Version 4.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.187 DB2 T102S106 didn't keep variables QWP4RSMX and QWP4ACAN
VMAC102 and these zparms were not input.
Aug 14, 2015 QWP1CSMF='SMFCOMP'
Aug 20, 2015 QWP1FLG2='QWP1FLG2*FLAG*BITS'
QWP1LOGT='LOG*CHECKPOINT*TYPE'
QWP4ABVC='QWP4ABVC*SERVICEABILITY'
QWP4ACAN='QWP4ACAN*SERVICEABILITY'
QWP4CGAA ='GET_ACCEL_ARCHIVE*0=NO*1=YES*/
QWP4CQAC ='QUERY*ACCELERATION'
QWP4EXQRY ='QWP4EXQRY'
QWP4FCPPRC='FLASHCOPY*PPRC'
QWP4QACO ='QUERY*ACCEL*OPTIONS'
QWP4RFRP ='REC_FASTREPLICATION'
QWP4RLPR ='REORG*LIST*PROCESSING'
QWP4RPSN ='REORG*PART*SORT*NPSI'
QWP4RSMX='QWP4RSMX*SERVICEABILITY'
QWP4STMN ='REALSTORAGE*MANAGEMENT'
QWP4WFRD ='MAX RID*BLOCKS*TEMP STG*PER RID LIST'
QWP4_BIF_COMPAT='BIF*COMPATIBILITY'
QWP9DDFCIP='DDF COMPAT*IDENTITY*PRIOR VERSION*NNR'
Thanks to Lai Fai Wong, Bank of America, USA.
Change 33.186 -An INCOMPATIBLE z13 ERROR, only in SMT-MODE, and only if
VMAC7072 a CP engine is varied online, is now corrected. When a
Aug 16, 2015 a z13 in SMT mode varied a new CP online, MXG did not see
the new engine, causing PDB.TYPE70 and PDB.TYPE70EN to
be wrong, with incorrect PCTCPUBY and NRCPUS=. and no
dispatch times for the new CP engine in PDB.TYPE70.
An IBM error is only partially responsible: after the
VARY, the value for SMF70CIX in the PR/SM LP Data Section
is incorrect (1, for CP, instead of 6, for zIIP) in both
of the zIIP sections for the second zIIP engine, causing
MXG to identify those zIIPs as CP Engines, mismatching
the engines in the CPU Data Section. That error is
circumvented by revising MXG to use the SMF70TYP value
from the CPU data section (which is clearly what IBM had
to use in their RMF reports). A second error was MXG's:
the new CP Engine PR/SM section was located AFTER those
zIIP sections, but MXG's original SMT logic was correct
only when all CPs preceded the zIIPs. That incorrect
MXG logic was revised to now be order independent.
-TYPE70PR does NOT contain SMT variables, those data are
only output in PDB.TYPE70EN since they can only be
populated from "this" system's TYPE70 records.
Thanks to Douglas C. Walter, CitiCorp, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 33.185 -Labels for TYPE30 ZEDC variables with _INF_/_DEF_ are now
FORMATS spelled out as INFLATE and DEFLATE.
VMAC30 -TYPE74 subtype 9 DIVIDE BY ZERO caused by R749FRQC=1 is
VMAC74 eliminated by changing test to R749FRQC GT 1 since more
Aug 11, 2015 than one instance is required to calculate STD (Standard
Aug 17, 2015 Deviation) statistic.
Aug 20, 2015 New variable PCTCRDBY added to TYPE749 dataset for card
Aug 30, 2015 busy percentage.
-TYPE74 variables used to create SSQ (Sums of Squares) are
no longer kept since the STD variables are calculated.
-Variable R749DFMT is now labeled 'PCIE*FUNCTION*TYPE' and
is decoded by MG074DF format to describe which sets of
variables are populated:
0='0:DMA COUNTERS'
1='1:ETHERNET INTERFACE'
2='2:WORK UNITS'
However, records with SMF749DL=16 do not contain R749DFMT
so R749DFMT will be missing, causing all of these sets of
variables to have missing values:
0: R749DMAR R749DMAW R749DBYR R749DBYT R749DPKR
1: R749DBYR R749DBYT R749DPKR R749DPKT
2: R749DWUP R749DWUM
SMF749DL=40 is required for PCIE Function Type Data to
actually exist.
-Aug 17: INVALID type 30 zEDC segments (SMF30USO points
to the middle of the EXCP Section, or points beyond the
end of the record) were just confirmed by IBM support,
and occur because the SMF30USN count is not being reset
to zero in the "Continuation", MXG MULTIDD='Y' records.
The MXG Logic now only inputs the SMF30USO segment when
MULTIDD=' ', i.e., only for the base/original record.
Aug 25: IBM APAR OA48717 will correct the invalid zEDC
triplet information in the TYPE30 record.
-Aug 20: zEDC Compression Ratios for Inflate/Deflate are
created and kept in all TYPE30 datasets.
-Aug 30: zEDC Compression Ratios for Inflate/Deflate are
created and kept in TYPE749 datasets.
Thanks to Joe Faska, DTCC, USA.
Change 33.184 Support for SYNCSORT Release 1.4 (INCOMPATIBLE). Change
VMACSYNC 33.102A added support for Release 2.1, which has the same
Aug 11, 2015 SMF data, so this change now tests SYNCVAL GE 1.4 to now
populate READTIME and many other variables that are wrong
without this change.
Thanks to Joe Faska, DTCC, USA.
Change 33.183 Support for MAR Hitachi Command Suite Mainframe Analytics
EXMAR01 Recorder, user SMF records creates these dataset:
EXMAR02
EXMAR03 DDDDDD MXG MXG
EXMAR04 DATASET DATASET DATASET
EXMAR05 SUFFIX NAME LABEL
EXMAR06
IMACMAR MAR01 MARST01 LOST SMF INFORMATION
TYPEMAR MAR02 MARST02 LDEV INFORMATION
TYPSMAR MAR03 MARST03 MPB INFORMATION
VMACMAR MAR04 MARST04 PRGP INFORMATION
VMXGINIT MAR05 MARST05 PORT INFORMATION
Aug 11, 2015 MAR06 MARST06 MP USAGE TO TWENTY
Change 33.182 -Major enhancement for character data filtering for ASI
ADOCRMFV RMF Monitor III table entries and other improvements.
ASMRMFV -These filters are intended for building ad hoc MXG RMF
Aug 1, 2015 III PDBs for studies avoiding the overhead of generating
a full ASI table based PDB. They control which ASI table
entries are output to the RMFBSAM file.
-10 new filters are added to support ASI entry selection
from this table to the RMFBSAM output file. These
filters are effective only if the ASI table is selected.
They are applied in the order shown when multiple
different keywords are used.
New Keyword Aliases
------------ --------------------------------------
ASISUBSYS= ASISUB= TYPETASK=
ASIWORKLOAD= ASIWKLD= ASIWNM= ASIWL=
ASIRESGROUP= ASIRESGRP= ASIGNM= ASIRG=
ASISRVCLASS= ASISCLASS= ASICNM= ASISC=
ASIRPTCLASS= ASIRCLASS= ASIRNM= ASIRC=
ASIJOBCLASS= ASIJCLAS= ASICLASS= ASIJC=
ASIJOBNAME= ASIJOBNA= ASIJOBNM= ASIJOB= ASIJN=
ASIJESID= ASIJESNO= ASIJESNUM= ASIJESNR= ASIJID=
ASIAND None
ASIOR None
-TUTORIAL:
Ranges of the form keyword=first:last may be used with
any of the above keywords except ASIAND and ASIOR. The
colon character ':' is required for a range
specification.
However, single values may be specified for a range
simply as keyword=first and in this case the colon ':'
can be omitted.
All ASI entries GE the first value and LE the last value
are selected for output to the RMFBSAM file. Ranges may
not be wild carded only patterns. The first value in a
range may not be GT the last value or an error is noted.
Patterns may also be used with any of the above keywords
except ASIAND and ASIOR and include one or more wild card
characters to match the respective ASI data field.
Wild
Card Matches
---- -------------------------------------------------
* 0 or more characters
% 1 Non-blank character
+ 1 Numeric character (0-9)
_ 1 Alphabetic character or _ (a-z, A-Z, _)
. 1 National character (@, #, $)
! 1 Special character (not a-z, A-Z, 0-9, @, #, $)
? A blank string if used by itself
? 1 Blank character (X'40') if used with any other
characters
See Section 25 in the ADOCRMFV member for more details on
usage of ranges and patterns.
-ASISUBSYS= selects ASI entries by host Subsystem Name:
APPC, JOB, OMVS, STC, TSU, UNKN.
More than one subsystem may be requested. Ranges and/or
patterns may also be used, but are generally unnecessary
given the limited possible choices. Only those IBM
subsystems defined in the ASI table are supported.
Subsystem names are validated. The default is
ASISUBSYS=ALL.
For ease in coding and recall there are several value
aliases allowed with ASISUBSYS=.
Subsystem
Name Supported Values
--------- -----------------------------------------
APPC A, AP, APP, APPC, AS, ASC, ASCH
JOB J, JO, JOB, JOBS, B, BA, BAT, BATC, BATCH
OMVS O, OM, OMV, OMVS
STC S, ST, STC, STA, STAS, STASK, STASKS
TSU T, TS, TSO, TSU, TSUS
UNKN U, UN, UNK, UNKN, UNKNO, UNKNOW, UNKNOWN,
UNKNOWNS
-Examples for ASISUBSYS=
ASISUBSYS=JOB selects only Batch jobs.
ASISUBSYS=J:S selects Batch jobs, OMVS address spaces,
and Started Tasks because these all fall into the range.
ASISUBSYS=JOB ASISUBSYS=TSO selects Batch job and
TSO user address spaces.
-ASIWORKLOAD= selects ASI entries by 8 character WLM
Workload Name. Both ranges and patterns with wild card
characters may be specified. Up to 64 ranges and 64
patterns are supported. The default is ASIWORKLOAD=ALL.
-Examples for ASIWORKLOAD=
ASIWL=PROD:TEST selects all WLM Workloads GE 'PROD' and
LE 'TEST' using a range. Note use of keyword alias
ASIWL.
ASIWORKLOAD=PROD* selects only address spaces with a WLM
Workload Name that begins with 'PROD' as a pattern.
ASIWORKLOAD=TEST+++ selects only address spaces with a
WLM Workload Name that begins with 'TEST' followed by 3
digits as a pattern.
ASIWORKLOAD=? selects only address spaces with a blank
WLM Workload Name as a pattern.
ASIWORKLOAD=%* selects only address spaces with a
non-blank WLM Workload Name as a pattern.
-ASIRESGROUP= selects ASI entries by 8 character WLM
Resource Group Name. Both ranges and patterns with wild
card characters may be specified. Up to 32 ranges and 32
patterns are supported. The default is ASIRESGROUP=ALL.
-Examples for ASIRESGROUP=
ASIRG=CAP10:CAP20 selects all WLM Resource Groups GE
'CAP10' and LE 'CAP20' as a range. Note use of keyword
alias ASIRG.
ASIRESGROUP=CAP__ selects only address spaces with a WLM
Resource Group Name that begins with 'CAP' followed by 2
alphabetic characters as a pattern.
ASIRESGROUP=CAP%%% selects only address spaces with a WLM
Resource Group Name that begins with 'CAP' followed by 3
characters as a pattern
ASIRESGROUP=? selects only address spaces with a blank
WLM Resource Group Name as a pattern.
ASIRESGROUP=%* selects only address spaces with a
non-blank WLM Resource Group Name as a pattern.
-ASISRVCLASS= selects ASI entries by 8 character WLM
Service Class Name. Both ranges and patterns with wild
cards may be specified. Up to 64 ranges and 64 patterns
are supported. The default is ASISRVCLASS=ALL.
-Examples for ASISRVCLASS=
ASISC=BATHIGH:BATLOW selects all WLM Service Classes GE
'BATHIGH' and LE 'BATLOW' as a range. Note the use of
keyword alias ASISC.
ASISRVCLASS=*HIGH selects only address spaces with a WLM
Service Class Name that ends with 'HIGH' as a pattern.
ASISRVCLASS=*+* selects only address spaces with a WLM
Service Class Name that contain only one numeric
character as a pattern.
ASISRVCLASS=? selects only address spaces with a blank
WLM Service Class Name as a pattern.
ASISRVCLASS=%* selects only address spaces with a
non-blank WLM Service Class Name as a pattern.
-ASIRPTCLASS= selects ASI entries by 8 character WLM
Report Class Name. Both ranges and patterns with wild
cards may be specified. Up to 64 ranges and 64 patterns
are supported. The default is ASIRPTCLASS=ALL.
-Examples for ASIRPTCLASS=
ASIRC=DB2:TSO selects all WLM Report Classes GE 'DB2' and
LE 'TSO' as a range. Note the use of keyword alias
ASIRC.
ASIRPTCLASS=LOW.%%% selects only address spaces with a
WLM Report Class Name that begins with with 'LOW',
followed by a national character, and then followed by 3
more characters as a pattern.
ASIRPTCLASS=MED++* selects only address spaces with a WLM
Report Class Name that begins with 'MED', followed by 2
digits, and then possibly other characters as a pattern.
ASIRPTCLASS=? selects only address spaces with a blank
WLM Report Class Name as a pattern.
ASIRPTCLASS=%* selects only address spaces with a
non-blank WLM Report Class Name as a pattern.
-ASIJOBCLASS= selects ASI entries by JES Job Class.
Both ranges and patterns with wild cards may be
specified. Up to 32 ranges and 32 patterns are
supported. The default is ASIJOBCLASS=ALL.
-Examples for ASIJOBCLASS=
ASIJC=A:D selects only address spaces with a JES Job
Class of A, B, C, or D as a range. Note use of the
keyword alias ASIJC.
ASIJOBCLASS=+ selects only address spaces with a numeric
JES Job Class of 0-9 as a pattern.
ASIJOBCLASS=? selects only address spaces with a blank
JES Job Class as a pattern.
ASIJOBCLASS=%* selects only address spaces with a
non-blank JES Job Class as a pattern.
-ASIJOBNAME= selects ASI entries by 8 character z/OS Job
Name. Job Name characters are validated to those allowed
by JCL syntax. Both ranges and patterns with wild cards
may be specified. Up to 64 ranges and 64 patterns are
supported. The default is ASIJOBNAME=ALL.
-Examples for ASIJOBNAME=
ASIJN=PROD1234:PROD5678 selects only address spaces with
a z/OS Job Name GE 'PROD1234' and LE 'PROD5678' as a
range. Note use of the keyword alias ASIJN.
ASIJOBNAME=.* selects only address spaces with a Job Name
that begins with a national character as a pattern.
ASIJOBNAME=*++ selects only address spaces with a Job
Name that ends with 2 numeric digits as a pattern.
-ASIJESID= selects ASI entries by 8 character JES Job
Identification. Both ranges and patterns with wild cards
may be specified. Since a JES Id is one character
followed by 7 digits or three characters followed by 5
digits not all pattern characters may be used with this
keyword. For convenience any leading zeros in the
numeric portion of the JES Id may be omitted and will be
filled in automatically. Up to 64 ranges and 64 patterns
are supported. The default is ASIJESID=ALL.
-Examples for ASIJESID=
ASIJID=J0000100:J0001123 selects all address spaces
with batch JES Id numbers GE 100 and LE 1123 as a
range. Note use of keyword alias ASIJID.
ASIJID=J100:J1123 selects the same address spaces as
above with the leading zeros omitted for coding
convenience.
ASIJESID=JOB12345:JOB32001 selects all address spaces
with batch JES Id numbers GE 12345 and LE 32001 for
installations with 5 digit JES Id numbers as a
range.
ASIJESID=J1* selects all batch address spaces with a
JES ID that begins with '1' as a pattern.
-ASIAND (default) indicates that selection results from
two or more different ASI filter keywords are logically
ANDed.
-ASIOR indicates that selection results from two or more
different ASI filter keywords are logically ORed.
-Examples of ASIAND/ASIOR:
With ASIAND in effect
ASISUBSYS=BATCH ASIJOBNAME=XYZ*
selects ONLY batch jobs whose those job names begin with
'XYZ'. ASIAND (default) provides more restrictive ASI
entry selection.
With ASIOR in effect
ASISUBSYS=BATCH ASIJOBNAME=XYZ*
selects ALL batch jobs OR any job names beginning with
'XYZ' even if they ran under another subsystem. ASIOR
provides less restrictive ASI entry selection.
-Selection results from repeats of the SAME ASI filter
keyword are always logically ORed.
-New parameter SYSAND (default) indicates that selection
results from the SYSPLEX= and SYSTEM= filter keywords for
the Data Set Header (DSH) table when both are specified
are logically ANDed.
-New parameter SYSOR indicates that selection results from
the SYSPLEX= and SYSTEM= filter keywords for the Data Set
Header (DSH) table when both are specified are logically
ORed. SYSOR must be coded when needed.
-Examples of SYSAND/SYSOR:
With SYSAND in effect
SYSPLEX=PROD SYSTEM=SYSP
selects ONLY RMF III data sets originating from the PROD
sysplex AND the SYSP LPAR. SYSAND (default) provides
more restrictive RMF III data set selection.
With SYSOR in effect
SYSPLEX=PROD SYSTEM=SYSP
selects ALL RMF III data sets originating from the PROD
sysplex OR any data sets for the SYSP LPAR even if SYSP
is part of a different Sysplex. SYSOR provides less
restrictive RMF III data set selection.
-Selection results for multiple SYSPLEX= values are always
logically ORed.
-Selection results for multiple SYSTEM= values are always
logically ORed.
-The '_' pattern character now matches lower case in
addition to upper case alphabetic characters in a source
string.
-The '_' pattern character will now match an underscore in
a source string. While this character is not technically
alphabetic, the underscore is sometimes used in some WLM
names for better legibility.
-A new pattern character '?' will allow selection of
completely blank source strings when used only by itself.
When '?' is used with other characters in a pattern a
single imbedded blank in a source string is matched.
-Example of ? pattern character:
ASIRPTCLASS=? selects all ASI entries that do not have a
WLM Report Class assigned or that could not be found by
ASMRMFV. That field in the ASI entry must be completely
blank to select that entry.
-A new pattern character '!' will match special characters
in a source string. For this purpose special characters
are those bytes in the EBCDIC code table that are NOT
alphabetic (a-z, A-Z), numeric (0-9), national (@,#,$),
or blank (X'40') and have been assigned to a character.
-Example of ! pattern character:
X'5C' is assigned the EBCDIC asterisk '*' and would match
the ! pattern character. However, X'00' does not match
this pattern character because no EBCDIC character is
assigned to this byte.
ASIJOBNAME=!MASTER! selects the *MASTER* address space.
Coding ASIJOBNAME=*MASTER* in this case instead may
produce different results because the '*' is a pattern
character itself representing zero to many characters.
So any job name with 'MASTER' imbedded would be selected.
-Section 5 "Input Data Selection Parameters" is updated
with discussion of all the new ASI selection keywords and
aliases.
-A new Section 25 "Ranges and Patterns" has been added to
the documentation to explain use of these features in
detail.
-A new Section 26 "Summary" is added to replace the old
Section 25 and includes a summary of the new ASI keywords
and all pattern characters.
-New parameter SHOWALL (alias SA) indicates that the
settings for all possible filter keywords that take range
and/or pattern values are to be displayed in the ASMRMFV
log in message RMFV006I even when no filters have
actually been specified for a particular keyword. These
display as keyword=ALL.
-New parameter NOSHOWALL (alias NOSA) indicates that only
filter keywords that have actual range and/or pattern
values specified are to be displayed in the ASMRMFV log
in message RMFV006I. This option helps reduce the size
of the ASMRMFV log. NOSHOWALL is the default.
-Section 6 "Report Control Parameters" is updated to add
SHOWALL/NOSHOWALL parameters.
-Several messages are slightly changed either to
accommodate longer ASMRMFV keywords for the ASI filter
selection or to display their settings.
Change 33.181 Enhancement for RMFINTRV/TRNDRMFI to ADD variables to be
VMXGRMFI kept. While the existing VMXGRMFI program provides many
Jul 30, 2015 arguments (R70ID, R70MAX, R70SUM, etc) that can be used
in your tailored %VMXGRMFI call, those arguments require
you to list ALL of the variables to be kept. This change
adds the ADD70ID=, ADD70MAX=, etc., arguments that only
list the variables to be added.
Thanks to Joachim Sarkoschitz, DATEV, GERMANY.
Change 33.180 Support for MQ Version 8 subtype 215 record which creates
VMAC115 DDDDDD DATASET DESCRIPTION
VMXGINIT TY115X TY115215 TYPE 115 ST 215 BUFFER STATS
Jul 30, 2015 -New variables QPSTFLAG0 and QPSTFLAG1 added to TY115215
and MQMBUFER datasets.
Change 33.179 -z13 in SMT Mode could have blank LPARNAME in TYPE70EN and
VMAC7072 MXG variable SMF70MTTT (misnamed, IBM field is SMF70MTIT)
Jul 29, 2015 is now deaccumulated in PDB.TYPE70EN.
Aug 4, 2015 -For SMT Mode, for complete detail per-engine data, use
the PDB.TYPE70EN dataset instead of PDB.TYPE70.
-This change also populated SMF70WTI/WTS/WTU in TYPE70PR
with zeros or real values that were previously missing.
-Aug 4. Corrected SORT error due to delete with TYPE7072.
Change 33.178 Many of the ANAL* members in JCLPDB9 were old (some had
JCLPDB9 not been touched in decades) or archaic and in some cases
Jul 29, 2015 had been replaced by more robust and up to date members.
These are ONLY included as examples; it is NOT likely
that you would execute ALL of these example ANALxxxx
reports in your production BUILDPDB.
ANALCONT - replaced by VMXGPRAL
ANALMPL - replaced by ANALINIT
ANALTURN - replaced by ANALINIT
ANALAVAL - removed since successful execution requires
user tailoring
ANALESV - obsolete
GRAFWRKX - added
GRAFCEC - added
All report members now have comments describing them
Commented ODS statement added to route output to PDF
Change 33.177 -A new parameter PRINT was added. A value of ALL/DETAIL
ANALRANK generates a report for each of the variable named in the
ANALPROG VARS parameter, and a summary report with the rankings
Jul 28, 2015 of ALL variables is produced.
A value of DETAIL generates only the individual named
variable report.
A value of SUMMARY only generates the summary report.
SUMMARY is assumed if PRINT is left blank.
-A third example generates a report similar to ANALPROG.
Change 33.176 Unused Change.
Change 33.175 Support for IHDRBBMQ "Infile Header Exit" for TYPEBBMQ
IHDRBBMQ and associated macro variable &MACBBMH permits selection
VMACBBMQ of data to be output after the BBMQ Header has been read.
VMXGINIT
Jul 27, 2015
Change 33.174 The number of IFL processors in an LPAR was incorrectly
VMXG70PR set to the number of IFLS on the CEC and IFL busy was
Jul 21, 2015 also incorrect since it was based on the CEC not on the
LPAR.
Change 33.173 For the z13, SM1132SP was forced because the value in the
ASUM113 z13 SMF 113 records is not correct, but SM1132SP=5000 is
VMAC113 the correct value, not 5. This impacted only EFFGHZ and
Jul 22, 2015 LPARBUSY values.
Thanks to David Cogar, Wells Fargo, USA.
====== Changes thru 33.172 were in MXG 33.07 dated Jul 22, 2015=========
Change 33.172 -If you specified USERADDS=NOUSERID and IDs over 128 were
ANALID found, an EOF test that built the macro variable that was
Jul 22, 2015 used in UTILBLDP was never executed.
-A superfluous RETURN; caused an error if you specified
SMFAUDIT=NO.
Change 33.171 MXGLOG code failed to wrap a PUT with a DO group, causing
VMAC120 potentially MANY of these log messages to be printed"
Jul 20, 2015 ***SMF 120 SUBTYPE 9 UNEXPECTED MULTIPLE SEGMENT.
_N_=2 SYSTEM=XX SMFTIME=19JUL2015:00:04:54.20 SM1209AK=1
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 33.170 were in MXG 33.07 dated Jul 17, 2015=========
Change 33.170 The test to identify IPV6 IP address was incorrect.
VMACCTCP
Jul 16, 2015
Change 33.169 The z13 protection for zero divide for TLB1CYCL,PTEPCTMI,
ASUM113 TLB1MSRT still used the zEC12 EXTND133+EXTND140 values
Jul 16, 2015 but the z13 changed the divisor to EXTND129+EXTND134,
which should have been also been used for the zero test.
Luckily, the incorrect test was non-zero so the correct
values were calculated.
Thanks to David Cogar, Wells Fargo, USA.
Change 33.168 The SMF 30 INSTRUCTION count variables require HIS to be
VMAC30 enabled, or all _INST counters will be missing values.
Jul 15, 2015 These two new variables are now created to identify why.
SMF30_INSTCAPTDISRUPTION='NO*INSTRUCTION*COUNTERS'
SMF30_INCOMPLETE_DATA='INSTRUCTION*COUNTERS*INCOMPLETE'
From Bob Rodgers SHARE 2014 SYSPROG Goody Bag notes:
- To get instruction counts in Counter Data Section,
HIS must activate the CPU Measurement Facility to
collect at least the basic counter set.
- MODIFY HIS,BEGIN,CTRONLY,CTRSET=(B) is minimal
- MODIFY HIS,BEGIN,CTRONLY,CTRSET=(B,E) is recommended
- SMFPRMxx must contain the keyword SMF30COUNT
Thanks to Alfred Holz, Express-Scripts, USA.
Change 33.167 MXGDB2B1 report checked for a macro variable that could
ANALDB2R only be defined if you are on SAS 9.4 or higher. A %LET
Jul 13, 2015 was added to instantiate the variable to protect ancient
versions.
Change 33.166 Support for Correlog z/OS Agent SMF User record created
EXTYCZA new dataset.
IMACCZA dddddd dataset Description
TYPECZA TYCZA TYPECZA Correlog z/OS AGENT
TYPSCZA
VMACCZA
VMXZGINIT
Jul 29, 2015
Change 33.165 Subtype 24 XPTR records decoded
VMACXPTR
Jul 9, 2015
Change 33.164 -If you specified READDB2 with IFCIDS=ALL and PDBOUT=WORK
READDB2 some IFCIds (22 and 217) that create multiple datasets
VMAC102 failed in their sort of those additional datasets looking
Jul 8, 2015 for a PDB LIBNAME. In addition if you specifically
requested (for example) IFCIDS=I22 it would fail looking
for _C102I22 since the code to create that dataset is in
_C102022. READDB2 now converts I22 to 22 U17 v17 T17 to
217.
-The _S102 "sort all 102s" macro now skips 202/225/230/239
and 369 because they are NOT 102s and instead are created
in 100.2, 100.4, 100.3, 101.1, and 100.5 ID/Subtypes.
Change 33.163 CICSTRAN variable PHSTARTM was incorrectly INPUT as PIB4
VMAC110 time of day, and PHSTARCN was input as a counter, but now
UTILEXCL PHSTARTM is INPUT TODSTAMP8, formatted DATETIME21.2, and
Jul 7, 2015 converted to local zone; PHSTARCN should never have been
created so it no longer is.
Thanks to David Shaw, M&T Bank, USA.
Thanks to Doug Donoho, M&T Bank, USA.
Change 33.162 "MXGLOG" option to send MXG Messages to MXGLOG filename.
VMXGINIT Macros %MXGLOGDO, %MXLOGPUT and MXLOGEND are defined in
VMACSMF VMXGINIT. If an //MXGLOG DD or FILENAME MXGLOG is used,
Jul 10, 2015 MXG will automatically enable and send MXG messages to
Jul 12, 2015 the MXGLOG file on z/OS; on ASCII you send those messages
Jul 14, 2015 to FILENAME MXGLOG 'c:\mxg\mxglog.txt'; but note that the
Nov 23, 2015 file is written with MOD, so you may need to clear the
file with DATA _NULL_; FILE MXGLOG;
Status: These members' messages are updated:
VMAC0 VMAC0203 VMAC10 VMAC113 VMAC115
VMAC116 VMAC120 VMAC21 VMAC22 VMAC23 VMAC26J2
VMAC30 VMAC42 VMAC6 VMAC6156 VMAC7 VMAC7072
VMAC71 VMAC73 VMAC74 VMAC75 VMAC76 VMAC77
VMAC78 VMAC89 VMAC8911 VMACDB2 VMACID VMACTMNT
VMACSMF VMXG70PR
These include all members in the default BUILDPDB.
The last change-date wasn't updated in these members, as
the changes did not impact the output datasets.
The syntax of the messages written to MXG log will be
MXGLOG::MXGtype.member.nnn
where type is INFO, WARNING or ERROR,
member is the member name that creates the message
nnn is a sequence number in that member name.
Thanks to MP Welch, Bank of America, USA.
Change 33.161 Support for MOBILEWRK to read BMC's IMF/CIMSTRAN FA IMS
MOBWRKI3 log records to create CIMSTRAN and use in MOBWRKI3, or
MOBWRKI4 to use existing CIMSTRAN dataset(s) in MOBWRKI4.
MOBILWRK Only comments updated in MOBILWRK.
Jul 6, 2015
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 33.160 Reserved Change Number, now Unused.
Change 33.159 Support for ANALID and VMXGSRCH to decompress DB2 or CICS
ANALID records, on z/OS when EXITCICS/CICSIFUE exit is not used,
DB2DECOM or on ASCII, where EXITCICS cannot be installed.
MXGDECOM -For ANALID, the DB2 Product section, containing IFCID and
SMFSRCH SUBTYPE and DB2 Version, is compressed, so those values
UTILBLDP are missing. Optional new SMFDECOMP=DB2 argument invokes
VMAC110 the MXG internal code to decompress 101 and 102 records
VMACDB2 so those values can be reported. (Not needed for CICS as
VMACSMF its version/subtype is the uncompressed area.)
VMXGINIT -For SMFSRCH, compressed CICS 110 and DB2 101/102 records
Jul 17, 2015 couldn't be searched. New SMFDECOMP=BOTH or DB2 or CICS
argument will invoke the MXG decompression code so those
records can be searched for the LOOKFOR text.
-WARNING: The internal Code decompression requires A LOT
more CPU time than the EXITCICS exit. A 5GB DB2 SMF file
required 34 CPU minutes with the internal algorithm, but
only 13.5 CPU minutes using EXITCICS. That is why YOU
must choose to enable the SMFDECOMP decompression.
-You can also force decompression of CICS and/or DB2 data
when only the _SMF (decode SMF header macro) is used:
%LET MXGDECOMP= BOTH or DB2 or CICS ;
%INCLUDE SOURCLIB(VMACSMF);
DATA; _SMF;
The decompressed record will be in variable _INFILE_.
-UTILBLDP is invoked by SMFSRCH to create all datasets in
the selected SMF records; testing exposed an incorrectly
built macro for type 102 when BUILDPDB=NO and the IFCID
was only 2 characters long.
-The decompression %MACROs MXGDECOM and DB2DECOM are now
defined in those members and the redundant definitions
in VMACSMF, VMAC110 and VMACDB2 are removed, since the
AUTOCALL facility will resolve them when referenced.
Change 33.158 Type 6 ESS zero length segment caused INPUT STATEMENT
IMAC6ESS EXCEEDED STOPOVER error condition when the segment was
Jul 3, 2015 the last ESS segment. GEPARMKY=0016x and 0027x have been
observed with zero segment length, which would seem to be
an IBM error (to be investigated with IBM Support) but
protection is added to prevent the STOPOVER error.
In testing this change with on-hand SMF 6 records from
other users four new ESS segments are now decoded:
ESSCKPTPAGE ESSOVERLAYB ESSOVERLAYF ESSDUPLEX
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 33.157 zVM XAM ERROR SYTCUP SEGMENT LENGTH occurs if the online
VMACXAM engine count is changed, because XAM does NOT change the
Jul 1, 2015 value in SYTNLPS, which always contains the number of
INSTALLED engines (and the same is true of variable NCPUS
from the SUBSUM segment). This change recalculates the
number of engines into SYTNLPS based on SEGLEN, which XAM
does update, and which is then used to input the actual
online CP segments.
Thanks to Patricia Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
Change 33.156 Support for APAR OA44525, zHPF Extended Distance II.
VMAC78 -New variables added to TYPE78CF dataset:
VMAC79 R783CTMW='TRANSPORT*MODE*WRITE*COUNT'
Jun 30, 2015 R783CTRD='1ST XFER*READY*DISABLED*WRITE COUNT'
R783TMWM='XPORT*WRITE*COUNT*DCM CHANNELS'
R783TRDM='1ST XFER*READ*DISABLED*DCM CHANNELS'
-New variables added to TYPE79EF dataset:
R79ECTRD='1ST XFER*READY*DISABLED*WRITE COUNT'
R79ETMWM='XPORT*WRITE*COUNT*DCM CHANNELS'
R79ETRDM='1ST XFER*READ*DISABLED*DCM CHANNELS'
PCTPTHBY='PERCENT*CHPID PATH*BUSY'
Change 33.155 -TYPE74ST dataset now has Storage Class Memory variables
VMAC74 that were incorrectly output in TYPE74MO dataset, which
Jul 5, 2015 should never have been created and no longer is.
Oct 4, 2015 -Text added Oct 4, 2015:
Variable R744SNAM=STRUCTURE NAME was added to TYPE74DU
and TYPE74HO datasets, but not noted in the change text,
nor was it added to the _BTY74HO BY List, but in Oct it
was observed that the addition of R744SNAM to TYPE74HO
caused a CORRECT INCREASE in number of observations in
PDB.TYPE74HO (even though the WORK.TYPE74HO had the same
number of observations). Because R744SNAM was not kept,
the previously NODUP sort was incorrectly removing obs
that were not duplicates, and its addition accidentally
prevented their removal. Change 33.234 now updates the
BY list to explicitly include R744SNAM.
-MXG Internal Note on no longer creating a dataset: The
macro variables PTY74MO/WTY74MO in VMXGINIT, and all
the _xTY74MO old-style macro tokens must still be
defined in VMAC74, just in case they were used in user
tailoring. Member EXTY74MO also must exist to protect
tailored code, and the_STY74MO token was removed from
_STY74 to prevent a dataset not found condition.
Thanks to Sandy Stromberg, OPTUM, USA.
Change 33.154 BY statement was missing on SGPLOT and GPLOT so title1
ANALCAPD had #BYVAL1 rather than the value of CECSER.
Jun 25, 2015
Change 33.153 IMF version 5100 record caused INPUT STATEMENT EXCEEDED
VMACCIMS ERROR due to MXG misalignment of the Trace Table that
Jun 24, 2015 caused TRNEXTEN=1 when it should have been zero.
Change 33.152 ANALWHO (WHO deleted/modified my Dataset) is revised to
ANALWHO check and see if any data was found and now confirms
Jun 24, 2015 in an MXGNOTE that observations were NOT found.
The REPORT data that is created is now deleted before
ending. JOB parameter is added to allow you to specify
a specific job name to seek.
Thanks to Dave Ireland, USDA, USA.
Change 33.151 ERROR.VMAC115.OFFQCCT. INVALID SECTION TRIPLET.
VMAC115 ERROR.VMAC116.LENQWHS. INVALID PRODUCT SECTION TRIPLET.
VMAC116 are corrected. Change 32.172 created new MQ V8.0
Jun 24, 2015 datasets MQCHIN and MQCHININ, but documented that the
Jun 30, 2015 code had not been tested with data. Now it has been.
-The MQCHIN 115 records ADP, SSL, and DSN segments are
significantly longer than documented and don't agree
with their contents in CSQDQCTA; this will be pursued
with IBM MQ Support.
-The MQCHININ 116 dataset is only output if there was
activity; that logic is in _ETY116A if you do want to
output all segments.
-Jun 30: WTASCTSR is now correctly aligned and non-zero.
Thanks to Robert Miles Standish, UBS, USA.
Thanks to Thomas Orlando, UBS, USA.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.150 Variable PCTDLZIP='ZIP*DELAY*PERCENT' is created in the
VMAC7072 TYPE72GO dataset.
Jun 22, 2015
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 33.149 Dataset TYPE115 variable QESDBFPT was not divided by
VMAC115 4096.
Jun 22, 2015
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.148 -SMFSRCH can't search for text in compressed DB2 or CICS
SMFSRCH SMF records unless the EXITCICS INFILE exit is installed
Jun 22, 2015 on z/OS.
-At present, on ASCII, SMFSRCH can not search compressed
records because the internal decompression algorithm is
executed AFTER the _INFILE_ has been populated. This is
under investigation for a possible solution.
-If SMFSRCH found type 102 records with an IFCID LT 100,
it incorrectly called UTILBLDP with a token of 102.83,
which should have been 102.083. Now fixed.
-SMFSRCH will now suppress processing of 102 records if a
subtype of 0 is found, since this means the data is
compressed, and you are not using the EXITCICS exit.
-If a subtype GE 8000 is found the subtype is then
converted to BMC.
Change 33.147 Analysis of batch queue times using SMF30HQT SMF30JQT
ANALQBAT SMF30RQT and SMF30SQT variables rather than values that
Jun 20, 2015 are calculated as in ANALINIT. This is a member which
you need to tailor in your USERID.SOURCLIB. There are
changes you must make (look for CHANGE HERE in the
member.) It requires are least SAS 9.3 since it uses
ODS and creates PDF output.
Change 33.146 There are two SECID='0B'x SMF Type=22 records. RECIND=9
EXTY22PB records create the existing TYPE22_B with the I/O Config
IMAC22 changes. New TYPE22PB dataset is created from SECID='0B'x
VMAC22 that do not have RECIND=9, with Reconfigured PCIE.
VMXGINIT function identifiers.
Jun 19, 2015
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.145 BVIR VTS Grid dataset BVIR33 was incorrect for the second
VMACBVIR and subsequent Grid-Cluster Containers.
Jun 18, 2015 Variable TMDLYCPY is now kept in BVIR33, overlooked.
Jul 7, 2015 Variables MAXAHCT AVEAHCT MAXBHCT AVEBHCT are now kept in
BVIR20.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Thanks to Mike Creech, Black Knight Financial Services, USA.
Change 33.144 Support for SMF Type 119 new Subtypes 94 and 95 create
EXT11994 dddddd dataset description
EXT11995 T11994 TYP11994 SSH Client Connect Start
FORMATS T11995 TYP11995 SSHD Server Connect Start
IMAC119 The $MG110AM/CI/MA/CO formats were updated with new
VMAC119 values.
VMXGINIT
Jun 23, 2015
Thanks to Hyrum Smith, Schwab, USA.
Change 33.143 -INPUT STATEMENT EXCEEDED NDM-CDI PT RECORD, shortened by
VMACNDM 4 bytes, variable PTUNCH34 now $EBCDIC30 vs 34.
Jun 15, 2015 -Truncated fields for CT record - MXG Message is correct,
vendor contacted.
Change 33.142 Variable QWACATWT was missing the divide by 4096 and the
VMACDB2 variable QWACPQCT should have been input &PIB.4.
Jun 15, 2015
Thanks to Scott Barry, SBBWorks Inc., USA.
====== Changes thru 33.141 were in MXG 33.06 dated Jun 11, 2015=========
Change 33.141 Documentation only. The EXITCICS/CICSIFUE INFILE exit
EXITCICS WILL NOT work with VSAM SMF input, on SAS log shown as
Jun 11, 2015 DSNAME=SYS1.MAN1,
VOLUME=Z21SMF,DISP=SHR,UNIT=3390,
TYPE=NONINDEXED,SPANNED=YES,
RECORDSIZE=(.,32767),AMP=('AMORG'),RECORDS=0
Maybe the DSNAME=SYS1.MAN1 is a clue, but it is the AMP=
parameter that identifies the SMF file as a VSAM file.
The SAS log also reported:
MXGNOTE: SMF EXIT CICS IS IN USE.
ERROR: ERROR DETECTED BY INFILE/FILE EXIT: .
FATAL: UNRECOVERABLE I/O ERROR DETECTED IN THE
EXECUTION OF THE DATA STEP PROGRAM.
Thanks to Greg Meyer, ISUZU, USA.
Change 33.140 RMF III RCD records INCOMPATIBLY changed for z13 causing
VMACRMFV invalid values in SVCLCNM and other variables in RBRCDR.
Jun 11, 2015 The change apparently was RMF APAR OA44101 supporting
Jun 16, 2015 Simultaneous MultiThreading (SMT) on the IBM z13 server
that extended the Resource Collection Data Period Data
(RCDPD) array entries in the RMF Monitor III RCD table.
-Test IF RCDPLSC GE 0 corrected to IF RCDPLSC GT 0. When
RCDPLSC=0, there is no LC Service Class Extension. Have
NOT ACTUALLY seen RCDPLSC=0, so this is for safety and
not an actual error.
Thanks to Michael Kampert, Schwab, USA.
Change 33.139 Contributed Processor Topology Report for z13, using SMF
ANAL9914 Type 99 Subtype 14 records. Syntax for SYS1 report, Z13:
Jun 9, 2015 %ANAL9914(SYSTEM=SYS1,SYSTYPE=Z13)
Thanks to Raymond J. Smith, OPTUM, USA.
Change 33.138 -z13 in SMT Mode, TYPE70EN had missing or mis-aligned
VMAC7072 values when there was a second zIIP engine.
Jun 9, 2015 -z13 in SMT Mode, PCTMVSBY was incorrect by a few percent
Jun 11, 2015 because LPARBUSY time was incorrectly subtracted.
-z13 in SMT Mode zIIP variables in TYPE70xx datasets,
could be missing, or DUPLICATE RECORD message could be
printed. REQUIRED FOR SMT. The MXG SMT support has come
in several iterations as new sequences of data exposed
untested logic but this appears to finally resolve the
one-to-many merge. If you are testing SMT on z13, please
email MXG Support with subject: SMT UPDATES so we can
inform you if there are any further required changes for
SMT mode.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Thanks to Scott Wiig, US Bank, USA.
Thanks to Douglas C. Walter, CitiCorp, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 33.137 Support for Compuware ABEND-AID USER SMF Record creates
FORMATS new ABENDAID dataset with many details on each intercept.
EXABNAID
IMACAA
TYPEAA
TYPSAA
VMACAA
VMXGINIT
Jun 5, 2015
Change 33.136 Support for MainView for IMS 5.2 (a/k/a IMF, CONTROL/IMS)
FORMATS for COMPATIBLE changes.
VMACCIMS -New variables added to CIMSTRAN:
Jun 3, 2015 TRNDLCMX='MAX*DC*CALL*TIME'
TRNDLDMX='MAX*DB*CALL*TIME'
TRNESSMX='MAX*ESS*CALL*TIME'
TRNDLWMX='MAX*WAIT*NOT-IO*TIME'
TRNDLDTH='DLI DB*OR*ESS CALLS*GE THRESHOLD'
TRNDLCTH='DLI*DC* GE*THRESHOLD'
TRNDLDER='DLI*CALL*ERRORS'
TRNESSER='ESS*CALL*ERRORS'
TRN1STCP='SCHD*FIRST*DLI*CPU'
-New values added to variables SMQFLAG, PROGTYPE
FLGSPCHR.
Change 33.135 Support for Optional CICS User CMODNAME=VMX CMODHEAD=VMX
IMACICVP segments.
IMACICVQ
IMACICVR
IMACICVT
IMACICVU
IMACAAAA
UTILEXCL
VMAC110
Jun 9, 2015
Change 33.134 -ANALDB2R mis-reported the number of reports produced
ANALDB2R when accounting reports were requested but no data met
READDB2 the selection criteria.
May 26, 2015 -READDB2 applied selection criteria inappropriately to
the 105 106 and 107 IFCIDS which are subsystem specific.
-ANALID parameter added to ANALDB2R to pass to READDB2 so
that you can see what records were in the input data.
-Page headings on PMSPR01 were incorrect for the first
page of the second and subsequent DB2 subsystems reports.
-If the input to PMLOL02 and PMLOK03 was a SAS dataset on
tape, the T102S172 dataset was missing from the PROC COPY
that moves the data to DASD (zOS only) since there must
be concurrent dataset open for these reports
Thanks to Judy Xu, WiPro, USA.
Change 33.133 ZOSEM User SMF INPUT STATEMENT EXCEEDED because MXG had
VMACOSEM expected an 8-byte Resource field length. Since this
May 21, 2015 resource looks like it might be a DSNAME, the resource
array variables are expanded to 44 bytes.
Thanks to John Schoenbeck, IBM Global Services, USA.
Change 33.132 These eight new TYPE30 variables with zEDC metrics were
VMAC30 misaligned because the triplet was incorrectly input:
May 21, 2015 SMF30_US_COMPRREQ SMF30_US_COMPRREQ_PROB
Jan 4, 2016 SMF30_US_QUEUETIME SMF30_US_EXECTIME
SMF30_US_DEF_UNCOMPRIN SMF30_US_DEF_COMPROUT
SMF30_US_INF_COMPRIN SMF30_US_INF_DECOMPROUT
These variables now also have "ZEDC" in their label.
-Jan 2016: APAR OA48268 corrects invalid values in the
first four variables above, especially when SMF data
is from logstream processed by IFASMFDL.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.131 -SMFSRCH failed if the SMF file contained only one USER
SMFSRCH record type and you had specified that nnn type value in
UTILBLDP your USERADD=XXXX/nnn argument. The USERADD= erroneously
May 22, 2015 had nnn which generated a call to INCLUDE VMACnnn.
May 25, 2015 -SMFSRCH now invokes %ANALID report to tabulate the SMF
records, subtypes, versions, etc., that were selected;
any undefined user records selected are identified.
-SMFSRCH LOOKFOR= supports multiple strings with ANDOR
choice, and new SELECTION= argument lets you write your
own IF statement for the selection.
-UTILBLDP needed revision to delete the ID VIEW that was
introduced with the addition of %ANALID. If ID is found
in a non-BUILDPDB context the _SID sort is suppressed and
the ID VIEW is deleted.
-ASCII only, SMFSRCH. LENGTH from INFILE statement is now
used in place of LENGTH=LENGTH(_INFILE_) for the written
length, after an SMF 79 record with a blank last byte was
truncated, and detected by an MXG ERROR message, causing
the SAS documentation TO BE READ, that stated that the
LENGTH() function returns the length of the string, but
EXCLUDING any trailing blanks.
Thanks to Mike Obrien, Bank of America, USA.
Change 33.130 Missing values in SMF70xxx variables in PDB.ASUM1131 and
ASUM113 (now archaic PDB.ASUM113 from no longer supported subtype
May 20, 2015 2 Type 113s) if the SMF SYSTEM variable in Type 70 does
not match SMF70STN in the PR/SM LCPUADDR segments. This
logic has been used since always to read from TYPE70PR
IF SYSTEM=SMF70STN;
SYSTEM=SYSNAME; (IBM SMF70SNM - From IEASYSXX)
to use the SYSNAME for the merge with TYPE113.
In this new data with SYSTEM NOT matching SMF70STN, it
was observed that SMF70STN matched SYSNAME, but now, the
original SYSTEM is unchanged:
IF SYSTEM=SMF70STN OR SYSNAME=SMF70STN;
IF SYSTEM=SMF70STN THEN SYSTEM=SYSNAME;
/* ELSE LEAVE THE SMF 70 ORIGINAL SYSTEM FOR MATCH */
-Do not use Subtype 2 SMF 113 with accumulated data; they
may not always match up with 70PR because 113 data is
lost. Always use Subtype 1 INTERVAL HIS data. IBM has
stated they will NOT update Subtype 2 records.
Thanks to Virginie Peigney, CA-SILCA, FRANCE.
Change 33.129 Support for TMS new TRTCH values for Device Type TS1140,
VMACTMS5 EE4/EE4M/EE4X and EF4/EF4M/EF4X.
May 20, 2015
Thanks to Scott Barry, SBBWorks, Inc., USA.
====== Changes thru 33.128 were in MXG 33.05 dated May 19, 2015=========
Change 33.128 z13 with one or more LPARs enabled for SMT-mode will have
VMAC7072 zero observations in the TYPE70 dataset from all NON-SMT
May 19, 2015 mode systems, UNLESS, ACCIDENTALLY, the SMT-mode systems
are all at the end of your input SMF file. The SMTSEGNR
variable that identifies this is an SMT-mode record was
incorrectly retained.
Thanks to Scott Wiig, US Bank, USA.
Change 33.127 Dataset TYPE749 zEDC PCIE and Hardware Accelerator FIXED.
VMAC74 Change 33.124 replaced with logic to match all segments.
May 18, 2015 This change is required for valid TYPE749 data.
May 22, 2015 May 22: STD and AVG variables created for Queue/Execute
durations, which are now formatted TIME16.6.
Thanks to David Cogar, Wells Fargo, USA.
Thanks to Carl D. Ellis, Wells Fargo, USA.
Change 33.126 APPTUNE SMF 102 INPUT STATEMENT EXCEEDED if DATA SHARING
VMACDB2H (32) header is present. The product section for APPTUNE
May 19, 2015 records is not at the end of the SMF 102 but instead is
at the beginning of the record. Change 32.148 revised the
header input logic, to support unexpected out-of-order
headers, but the LENLEFT calculations used record LENGTH.
Now for APPTUNE 102s (QWHSIID GE 8000x), the ENDPROD is
used to determine the LENLEFT for all header segments.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 33.125 Further SMT-related changes.
VMAC7072 -CPUWAITM now subtracts LPARBUSY from CPUWAITM for zIIPs.
May 16, 2015 earlier code had the subtraction for CPs, with no impact.
-SMF70CAN/SMF70CTN variables are again kept in TYPE70PR.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
====== Changes thru 33.124 were in MXG 33.05 dated May 12, 2015=========
Change 33.124 MXG support for 74-9 zEDC was revised again, when it was
VMAC74 discovered that only the first card was output, and that
May 13, 2015 the number of PCIE pairings of the PO/DO segments is not
May 18, 2015 the same as the number of Hardware Accelerator FO/10
segments. Original change text here removed, See 33.127.
-Variable R749LAID was removed; there is no adapter id.
-These new variables were added from the DO segments
R749DBYR R749DBYT R749DFMT R749DPKR R749DPKT
R749DWUP R749DWUM
-May 18: See Change 33.127, which is REQUIRED.
Thanks to David Cogar, Wells Fargo, USA.
Thanks to Scott Barry, SBBWorks, Inc., USA.
====== Changes thru 33.123 were in MXG 33.05 dated May 12, 2015=========
Change 33.123 Support for Tandem ZMS Style of records; the previous MXG
VMACTANZ support was for what are now "Legacy Style" records.
May 12, 2015
Thanks to Mark Goforth, First National of Nebraska, USA.
Change 33.122 Reserved Change.
Change 33.121 z13 SMT-mode TYPE70/PR data IS WRONG in MXG 33.03-33.04.
VMAC7072 In ONLY RMF 70 records written in SMT-mode, the datasets
May 12, 2015 TYPE70, TYPE70PR, RMFINTRV, ASUM70PR, ASUM70LP, ASUMCEC,
and ASUM70PR can have incorrect values. MXG 33.03 support
for z13 SMT-mode records continued to use LCPUADDR from
the PHYSICAL to merge with CPUID in the CPUD segment and
the results matched initial RMF reports, but now I find
that the LCPUADDR won't always match the CPUID value!
And, one mismatch destroys the merge, trashing both the
TYPE70 and TYPE70PR datasets.
The code had to be redesigned to sort and merge on the
physical sequence to pair up the two segments to create
the per-LCPUADDR TYPE70PR dataset and populate TYPE70.
IBM RMF Support confirmed that "LCPUADDR/SMF70VPA in the
PHYSICAL segment is retrieved from the Diag 204 interface
and is generated by the hardware/firmware when the core
is brought into the configuration. It does not match the
logical core id in SMF70VPA which is provided by z/OS in
the PR/SM logical processor data section(s) of the home
partition"
The example had an LCPUADDR=7 in PHYSICAL for a zIIP, but
there was no corresponding CPUID=7 in the CPUD segment.
I was also confused when a box with 5 CP cores and 5 zIIP
cores in PHYSICAL had SIX unique CORE_IDs, but that was
because the home partition had 4 logical CP cores and 2
logical zIIP cores, which results in the 8 CPU data
sections, with 6 unique CORE_IDs.
Change 33.120 New member IHDR120 for the SMF TYPE=120 WebSphere record
IHDR120 in %INCLUDEd after the header and Product segments have
VMAC120 been INPUT, and the "instream" macro variable MAC120H is
VMXGINIT defined so that you can select/tailor after those header
May 6, 2015 variables have been input.
Change 33.119 The optional IMACICMX member for Omegamon with CMRDATA of
IMACICMX length 384 was missing a final END; statement, causing a
May 6, 2015 syntax error if UTILEXCL told you to tailor IMACICMX.
Change 33.118 -The RESULTS window now lists the report number and short
SAGANAL title for all reports produced by PROCs that support the
May 7, 2015 CONTENTS= option to label the result. (Procs FREQ, MEANS,
and CONTENTS do not support that feature.)
-Report 31 added with top ten MSU hours for CICS DFHSIP.
-Number of variables kept reduced to 68 from 1533; syntax
CPU: and CPI: for TYPE30 kept TYPE70PR CPU: variables.
Change 33.117 -MXG 33.04. SMFSRCH found no records if USERADDS= was not
SMFSRCH specified. Logic added for USERADDS=NOUSERID was wrong.
UTILBLDP Logic corrected, but USERADDS=XXXX/nnnn (even if _IDXXXX
May 6, 2015 is already defined in IMACKEEP) will circumvent.
-It was also possible to skip all user record selection
due to an ENDOFFILE test that is removed.
-The TYPE30_D dataset (each DD in SMF 30) is not populated
by MXG default, and although the only text is the DDNAME,
since SMFSRCH is to find and print all SMF records found,
new TY30UD argument is defined in UTILBLDP (default is
blank), and TY30UD=YES default is set in SMFSRCH, so that
dataset TYPE30_D will be populated if type 30 records are
selected, or you can use TY30UD=NO in your SMFSRCH call
to prevent any observations to be created in TYPE30_D.
-ECHO=YES specified in SMFSRCH to always print the MXG
created by UTILBLDP on the log.
-In testing, an exposure was observed: multiple uses of
the file INSTREAM caused text to be overridden, which did
not cause an error, but some sites have made INSTREAM to
be a permanent dataset, and this exposure could lead to
errors for those sites.
The //INSTREAM DD was intended to be temporary and used
internally as the destination for writing SAS code that
is then executed with %INCLUDE INSTREAM. These members
no longer use INSTREAM; instead, each writes/reads from
FILENAME TMXGxxxx CATALOG 'WORK.MXGTEMP.TMXGxxxx.LOG';
in the WORK file so no DD is required, and no conflict!
A few members (notably UTILBLDP) do externalize INSTREAM,
and they were not changed.
ANALCOMP VMXGPRAL VMXGPRNT QAWPS8 QA94648 SAGANAL
PRINTLOG ONLYJOBS ASUMMSUS ANALRRTM ANALPGM ANALCOMP
Thanks to MP Welch, Bank of America, USA.
Change 33.116 Support for ZCOST AutoSoftCapping Version V3.0.00 adds
EXZCO02S subtypes and data. These are the datasets MXG creates:
EXZCO02W DDDDDD Dataset Description
EXZCO04C ZCO01 ZCOS01 ZCOST CPC
EXZCO04G ZCO02 ZCOS02 ZCOST LPAR
EXZCO04L ZCO02S ZCOS02S ZCOST SERVICE CLASS PERIOD
EXZCO04P ZCO02W ZCOS02W ZCOST WLM INPORTANCE
EXZCO04R ZCO03 ZCOS03 ZCOST SYSPLEX/CPC
VMACZCOS ZCO04G ZCOS04GP ZCOST GENERAL PARMS
VMXGINIT ZCO04C ZCOS04CP ZCOST CPC PARMS
May 5, 2015 ZCO04L ZCOS04LP ZCOST LPAR PARMS
May 28, 2015 ZCO04P ZCOS04PG ZCOST GENERAL PERIOD PARMS
ZCO04R ZCOS04PL ZCOST LPAR PERIOD PARMS
This support was completed in MXG 33.06.
Change 33.115 Mainview for MQ BBMQBUFF dataset EFFICIENCY variables are
VMACBBMQ now correctly input as RB4 instead of PIB. Variables are
Apr 29, 2015 SBPIAWPE SPBRAWPE SBPSAWPE.
Change 33.114 BMC IMF/CIMS variable CPUZIPTM was not KEPT in CIMSTRAN;
VMACCIMS it was incorrectly in the CIMSDBDS dataset KEEP=list.
Apr 29, 2015 "zAAP" in Label changed to 'ZIP' (Feb 2006):
CPUZIPTM='CPU TIME*ON ZIP*ENGINES'
TRXZAOCP='CPU TIME*ZIP ELIGIBLE*RAN ON CP'
Thanks to Betty Wong, Bank of America, USA.
Change 33.113 Some T102S106 variables (DB2 zPARM flags and values) were
FORMATS misaligned, not INPUT, or had wrong/no decoding format.
VMAC102 Align: QWP2DMIN,QWP2DSEC
Apr 30, 2015 Format: Use $MGD361U for QWP4SECA1_TYPE, QWP4SECA2_TYPE
Format: New $MGD106P for QWPBDL, QWPBSDL
Input: QWP4S1IL for DB2 V10, was only V11 and wrong.
Thanks to Lai Fai, Bank of America, USA.
====== Changes thru 33.112 were in MXG 33.04 dated Apr 29, 2015=========
Change 33.112 -Support for CICS/TS 5.3 OPEN BETA (INCOMPATIBLE) AND:
UTILEXCL NOTE THAT 5.3 now sets STGPROT=YES as the IBM DEFAULT, to
VMAC110 INTENTIONALLY cause an ABEND for storage overlays caused
Apr 29, 2015 by dubious programming techniques where a task has
May 1, 2015 modified storage owned by another task. These ABENDs
will need application programmer design changes; the APP
should have been fixed long ago - IBM is looking forward!
-New variables (INCOMPATIBLE) inserted in CICSTRAN dataset
NCGETCN ='NAMED*COUNTER*SERVER*REQUESTS'
TSGETSCN='SHARED*TEMP*STORAGE*GETS'
TSPUTSCN='SHARED*TEMP*STORAGE*PUTS'
May 1: Original Note wrong here, NO ERROR in TSTOTCN.
-New variables inserted in CICSRDQU dataset (MNSEGCL=5):
TSQGESTM='SHARED*TSQUEUE*GET*TIME'
TSQGESCN='SHARED*TSQUEUE*GET*COUNT'
TSQPUSTM='SHARED*TSQUEUE*PUT*TIME'
TSQPUSCN='SHARED*TSQUEUE*PUT*COUNT'
TSQGESBY='SHARED*TSQUEUE*GET*BYTES'
TSQPUSBY='SHARED*TSQUEUE*PUT*BYTES'
-"WRITING OF PERFORMANCE DATA IS MORE EFFICIENT WHEN
FIELDS ARE NOT EXCLUDED." was noted in a comment.
Change 33.111 -The ANALID report that tabulates SMF record types is
ANALID enhanced to optionally invoke %UTILBLDP to create MXG
SMFSRCH code to build all possible MXG datasets from ALL records
UTILBLDP in the input SMF file, and to optionally run the program,
VMXGPRAL -This change originally documented macro variables UTILBLD
VMXGINIT VMXGPRA but they were removed in Change 33.117, unused.
Apr 27, 2015 -VMXGPRAL revised to print the LIB.DSNAME + LABEL without
May 27, 2015. extra blanks and periods.
Thanks to MP Welch, Bank of America, USA.
Change 33.110 -Support for TS7700 HYDRA Version 3.2A (COMPATIBLE)
EXBVR302 creates new BVIR302 dataset with the Extended HSM Cache
FORMATS Partition Container Statistics from subtype 30 record.
IMACBVIR -Variables added to BVIR01 dataset:
VMACBVIR THRUPUT AHEADCNT BEHNDCNT
VMXGINIT -Changed records have BVIRVERS=6.
Apr 24, 2015
Thanks to Tim Campbell, TELUS, CANADA.
Change 33.109 -Support for TYPE 23 zEDC variables SMF23BBC/SMF23BAC has
VMAC23 been corrected and validated. Those two variables plus
Apr 23, 2015 SMF23PFT SMF23PFM SMF23PFH SMF23CWN SMF23NCN are now
correctly aligned and are now output in dataset TYPE23LS
and removed from dataset TYPE23.
-Two new fields were documented in the z/OS 2.1 SMF Manual
but IBM has confirmed they only exist in z/OS 2.2:
SMF23BBC='ZEDC*UNCOMPRESSEDSED*BYTES*TOTAL'
SMF23BAC='ZEDC*COMPRESSED*BYTES*TOTAL'
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.108 Support for APARs OA45944 and OA45897 which adds new data
VMAC42 for contention counts for record locks, component1 and
Apr 23, 2015 component2 locks:
-New variables in dataset TYPE42S1:
SMF42FUA ='ACCUMULATION*WAITERS FOR*RECORD LOCK'
SMF42FUB ='RECORD LOCKS*HASHED TO*SAME ENTRY(/
SMF42FUD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMF42FUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42FUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42FUG ='LOCKS*HASHED TO*SAME*ENTRY'
-New variables in dataset TYPE42S2:
SMF42FVA ='ACCUMLATION*WAITERS*FOR RECORD*LOCK'
SMF42FVB ='RECORD LOCKS*HASHED TO*SAME ENTRY'
SMF42FVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMF42FVE ='ACCUMULATION*WAITERS*FOR UPGRADELOCK'
SMF42FVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42FVG ='LOCKS*HASHED TO*SAME*ENTRY'
-New variables in dataset TYPE42S3:
SMFA2FUA ='ACCUMULTION*WAITERS*FOR RECORD*LOCK'
SMFA2FUB ='LOCKS*HASHED*TO SAME*ENTRY'
SMFA2FOD ='ACCUMULTION*WAITERS*FOR DIWA*LOCK'
SMFA2FOE ='ACCUMULTION*WAITERS*FOR UPGRADE*LOCK'
SMFA2FOF ='ACCUMULTION*WAITERS*FOR COMP2*LOCK'
SMFA2FOG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42S4:
SMFA2FVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMFA2FVB ='LOCKS*HASHED*TO SAME*ENTRY'
SMFA2FVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMFA2FVE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMFA2FVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMFA2FVG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42D1:
SMF42GUA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMF42GUB ='LOCKS*HASHED*TO SAME*ENTRY'
SMF42GUD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMF42GUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42GUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42GUG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42D2:
SMF42GVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMF42GVB ='LOCKS*HASHED*TO SAME*ENTRY'
SMF42GVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMF42GVE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42GVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42GVG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42D3:
SMF42GUA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMF42GUB ='LOCKS*HASHED*TO SAME*ENTRY'
SMF42GUD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMF42GUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42GUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42GUG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42D4:
SMF42GVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMF42GVB ='LOCKS*HASHED*TO SAME*ENTRY'
SMF42GVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
SMF42GVE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42GVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42GVG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42L1:
SMF42HUA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMF42HUB ='LOCKS*HASHED*TO SAME*ENTRY'
SMF42HUD ='ACCUMULATION*WAITERS*FOR DIWA2*LOCK'
SMF42HUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42HUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42HUG ='LOCKS*HASHED*TO SAME*ENTRY'
-New variables in dataset TYPE42L2:
SMF42HVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
SMF42HVB ='LOCKS*HASHED*TO SAME*ENTRY'
SMF42HVC ='ACCUMULATION*WAITERS*FOR DIWA2*LOCK'
SMF42HVD ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
SMF42HVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
SMF42HVG ='LOCKS*HASHED*TO SAME*ENTRY'
Change 33.107 -DB2PM-like reports PMACC02/4 class 3 delay section was
ANALDB2R missing TCP/IP LOB and the global contention corrected
Apr 26, 2015 from only parent locks to include all contention delays.
-In PMAUD02 there were uninitialized variables corrected.
-The z/OS external sort can not be used if the length of
an observation is greater than 32760 bytes, and many of
the DB2 102 records contain 32K SQL Text variables.
For the AUDIT reports, the SQL text is reduced to 80
bytes, since that is all IBM's DB2PM reports, and the
full text is still in the T102Snnn dataset.
-If you asked for AUTHCHG in the AUDIT= parameter and
there were any IFCID 83 records the selection criteria
were not applied and that caused missing timestamps in
the report headers.
-If there were 0 OBS in the IFCID 142 dataset then a
a work file was not cleaned up.
Thanks to Neil Ervin, Wells Fargo, USA
Change 33.106 New variable EXCMTYPE in CICSEXCE (Exception) dataset
FORMATS is created to describe the exception event:
VMAC110 1='DATABASE REQUEST POLICY RULE'
Apr 22, 2015 2='FILE REQUEST'
3='PROGRAM REQUEST'
4='START REQUEST'
5='STORAGE REQUEST'
6='SYNCPOINT REQUEST'
7='TD QUEUE REQUEST'
8='TIME REQUEST'
9='TS QUEUE REQUEST'
10='WAIT FOR CF LOCKING REQUEST'
11='WAIT FOR CF NON-LOCKING REQUEST'
12='WAIT FOR UDSA'
13='WAIT FOR EUDSA'
14='WAIT FOR CDSA'
15='WAIT FOR ECDSA'
16='WAIT FOR SDSA'
17='WAIT FOR ESDSA'
18='WAIT FOR RDSA'
19='WAIT FOR ERDSA'
20='WAIT FOR GCDSA'
21='WAIT FOR GUDSA'
22='WAIT FOR GSDSA'
23='WAIT FOR TEMPORARY STORAGE'
24='WAIT FOR STRING FOR FILE'
25='WAIT FOR STRING FOR LSRPOOL'
26='WAIT FOR STRING FOR DFHTEMP'
27='WAIT FOR BUFFER FOR LSRPOOL'
28='WAIT FOR BUFFER*FOR DFHTEMP'
Thanks to Bahman Nejad, Union Bank, USA.
Thanks to Perry Lim, Union Bank, USA.
Change 33.105 Using PROC CPORT to copy z/OS data libraries to ASCII can
IMACFMTS corrupt values in character variables with $HEX format if
UTILCVRT those variables did not have the TRANSCODE=NO attribute
Apr 21, 2015 set, or they were built with an ancient SAS version prior
to that attribute. If you have downloaded PDBs and see
$HEX variables are wrong (check CPUTYPE in TYPE70), the
UTILCVRT program can be used to convert those $HEX vars
back to their correct values. Maybe. The default mapping
table is the $MGAS2EB format in FORMATS, using a table
created in 2009 for PROC CPORT translation, replacing an
earlier table created from IND$FILE. However, now using
the CPORT table under both Windows and Linux does NOT map
characters correctly; the alternative $MGAS2EB table from
IND$FILE must be used. That alternative format is defined
in Example 2 in a comment block in the IMACFMTS member.
Copy IMACFMTS to your USERID.SOURCLIB, remove the comment
block in Example 2, and run the FORMATS step of JCLINSTL
(%INCLUDE SOURCLIB(FORMATS); with DISP=OLD on //LIBRARY)
and the alternative table values will be used.
Thanks to Warren Cravey, Fidelity, USA.
Thanks to Rachel Holt, Fidelity, USA.
Change 33.104 NMON CPU records can now contain three digits, CPU001, so
VMACNMON the logic to create CPUNR now decodes two or three digits
Apr 21, 2015 for CPUnnn, PCPUnnn and SCPUnnn.
Thanks to Raissa Moussu, METROLOGFIE AIX EN PROVENCE, FRANCE.
Change 33.103 VMXGPRAL (PRINT/MEAN/FREQ ALL datasets &ALL variables in
VMXGPRAL a "PDB" data library, with both Label and Variable Name)
Apr 15, 2015 enhanced for FREQ with TABLE= option to choose what
variables are tabulated. TABLES=_CHAR_, will only show
the character variables. Without the TABLES= argument,
all variables will be tabulated.
Thanks to MP Welch, Bank of America, USA.
Change 33.102A Support for SYNCSORT Release 2.1 (INCOMPATIBLE, test for
VMACSYNC SYNCLVL for ancient Release 3.7 conflicted) causing many
Apr 15, 2015 variables to be missing values with no error message,
notably, CPUZIPTM is a missing value without this change.
Thanks to Roger Foreman, Transunion, USA.
Change 33.102 DB2 V10 INVALID DATA FOR QLACCPUR and QLACDBAT when field
VMACDB2 QLACLOCN was relocated because it's longer than 8 bytes,
Apr 14, 2015 but the length of the relocated field in XLENLOCN is NOT
in LENLOCN causing misalignment when XLENLOCN GT 20.
Thanks to Betty Wong, Bank of America, USA.
Change 33.101 Support for iSeries 7.2 (COMPATIBLE with new LRECLS).
VMACQACS Comments in VMACQACL list LRECLs and 7.2 records tested.
Apr 13, 2015 -New variables in QAPMDISK:
DSLVLMP ='LEVEL OF*MIRRORED*PROTECTION'
DSLSCNDS='LOG*SENSE*COMMANDS*ISSUED'
DSLSRT ='LOG*SENSE*RESPONSE*TIME'
-New variables in QAPMJOBM (QAPMJOBMI):
JBTNAME ='THREAD*NAME'
JBSLTCNT ='SHORT*LIFESPAN*ENTRY*COUNT'
JBSACPU ='ACCUMULATED*JOB*SCALED*CPU TIME'
JBINDCPU ='THREAD*UNSCALED*CPU TIME*USED'
JBSINDCPU ='THREAD*SCALED*CPU TIME*USED'
JBCPUWC ='PROCESSOR*ELAPSED*TIME'
JBVPDLY ='VIRTUAL*PROCESSOR*DELAY*TIME'
JBSEIZECNT ='SIEZE*COUNT'
JBPSLCKCNT ='PROCESS*SCOPED*LOCK*COUNT'
JBTSLCKCNT ='THREAD*SCOPED*LOCK*COUNT'
JBPSRCDLCK ='PROCESS*SCOPED*DATABASE*LOCK*COUNT'
JBTSRCDLCK ='THREAD*SCOPED*DATABASE*LOCK*COUNT'
JBNFOGDT ='OFF-GROUP*DISPATCH*TIME'
JBNFOGMA ='OFF-GROUP*PAGE*FRAMES'
JBPGEZSTL ='PAGES*MARKED*EASY TO*STEAL'
JBSQLCLK ='SQL*CLOCK*TIME'
JBSQLCPU ='THREAD*UNSCALED*SQL*TIME'
JBSQSCPU ='THREAD*SCALED*SQL*CPU TIME'
JBSQLDBR ='SQL*SYNCHRONOUS*DATABASE*READS'
JBSQLNDBR ='SQL*SYNCHRONOUS*NONDATABASE*READS'
JBSQLDBW ='SQL*SYNCHRONOUS*DATABASE*READS'
JBSQLNDBW ='SQL*SYNCHRONOUS*NONDATABASE*READS'
JBSQLADBR ='SQL*ASYNCHRONOUS*DATABASE*READS'
JBSQLANDBR ='SQL*ASYNCHRONOUS*NONDATABASE*READS'
JBSQLADBW ='SQL*ASYNCHRONOUS*DATABASE*WRITES'
JBSQLANDBW ='SQL*ASYNCHRONOUS*NONDATABASE*WRITES'
JBAGCRT ='ACTIVATION*GROUPS*CREATED'
JBPGMSACT ='PROGRAM*ACTIVATIONS*CREATED'
JBCURTMP ='CURRENT*TEMPORARY*STORAGE'
JBPEAKTMP ='PEAK*TEMPORARY*STORAGE'
JBMAXTMP ='MAXIMUM*TEMPORARY*STORAGE'
JBTMPPGA ='4K UNITS*ALLOC*TEMPORARY*STORAGE'
JBTMPPGD ='4K UNITS*DEALLOC*TEMPORARY*STORAGE'
JBHSQLSTMT ='HIGH*LEVEL*SQL*STATEMENTS'
JBTICC ='THREAD*INSTRUCTION*COUNT*CHARGED'
JBTICU ='THREAD*INSTRUCTION*COUNT*USED'
JBTTMBU ='THREAD*VIRTUAL*TIME'
JBPICC ='PROCESS*HDW INSTR*COUNT*CHARGED'
JBPRRSCPTY ='PROCESSOR*RESOURCE*PRIORITY'
-New variables in QAPMJOBO (QAPMJOBOS):
JBFSOPN 'FILE*SYSTEM*OPENS''
JBFSDC 'FILE*SYSTEM*DIRECTORY*CREATES'
JBFSNDC 'FILE*SYSTEM*NON-DIRECTORY*CREATES*
JBFSDD 'FILE*SYSTEM*DIRECTORY*DELETES'
JBFSNDD 'FILE*SYSTEM*NON-DIRECTORY*DELETES*
JBSPLFC 'SPOOLED*FILES*CREATED*BY THIS JOB*
JBSBMJOBS'JOBS*SUBMITTED*OR SPAWNED.'
JBSQLSTMT'SQL*STATEMENTS'
JBLWTSQL 'SQL*RELATED*DATABASE*WRITES*(LOGIC
JBLRDSQL 'SQL*RELATED*DATABASE*READS*(LOGICA
JBDBUSQL 'SQL*RELATED*DATABASE*MISCELLANEOUS
JBPASCMP 'SQL*PAS*COMPRESSIONS*ALL THREADS'
JBPKGCMP 'SQLPKG*COMPRESSIONS'
JBCTHD 'CONNECTED*THREAD*IDENTIFIER'
JBCJNAM 'CONNECTED*JOB*NAME'
JBCJUSR 'CONNECTED*JOB*USER'
JBCJNBR 'CONNECTED*JOB*NUMBER'
-New variables in QAPMPOLB (QAPMPOOLB):
POPGS4 ='POOL*4K*PAGES'
POPGS64 ='POOL*64K*PAGES'
PODBF4 ='POOL*DATABASE*4K*PAGE*FAULTS'
PODBF64 ='POOL*DATABASE*64K*PAGE*FAULTS'
PONDBF4 ='POOL*NONDATABASE*4K*PAGE*FAULTS'
PONDBF64 ='POOL*NONDATABASE*64K*PAGE*FAULTS'
PODBPG4 ='POOL*DATABASE*4K*PAGES*READ'
PODBPG64 ='POOL*DATABASE*64K*PAGES*READ'
PONDPG4 ='POOL*NONDATABASE*4K*PAGES*READ'
PONDPG64 ='POOL*NONDATABASE*64K*PAGES*READ'
POUNAL4 ='UNALLOCATED*4K*PAGES'
POUNAL64 ='UNALLOCATED*64K*PAGES'
POAGED4 ='POOL*4K*PAGES*AGED/
POAGED64 ='POOL*64K*PAGES*AGED'
POSTLN4 ='POOL*4K*PAGES*STOLEN'
POSTLN64 ='POOL*64K*PAGES*STOLEN'
POUNUSE4 ='POOL*4K*PAGES*UNUSED'
POUNUSE64 ='POOL*64K*PAGES*UNUSED'
POSYNC4 ='POOL*4K*PAGE*SYNC I/O'
POSYNC64 ='POOL*64K*PAGE*SYNC I/O'
POASYNC4 ='POOL*4K*PAGE*ASYNC I/O'
POASYNC64 ='POOL*64K*PAGE*ASYNC I/O'
POPGOUT4 ='POOL*4K*PAGE*OUTS'
POPGOUT64 ='POOL*64K*PAGE*OUTS'
POPGABLE4 ='POOL*4K*PAGES*PAGEABLE'
POPGABLE64='POOL*64K*PAGES*PAGEABLE'
POATMPT4 ='POOL*4K*ALLOCATION*ATTEMPTS
POATMPT64 ='POOL*64K*ALLOCATION*ATTEMPTS
POAPS4 ='POOL*4K*AFFINITY*SUCCESSES
POAPS64 ='POOL*64K*AFFINITY*SUCCESSES
POAPMIG4 ='POOL*4K*AFFINITY*MISSES
POAPMIG64 ='POOL*64K*AFFINITY*MISSES
POAPMOG4 ='POOL*4K*AFFINITY*MISSES*OFFGROUP'
POAPMOG64 ='POOL*64K*AFFINITY*MISSES*OFFGROUP'
POCRTPG64 ='POOL*4K*PAGES*CREATED'
POBRKPG64 ='POOL*64K*PAGES*BROKEN*UP'
POPOSIZB ='POOL*SIZE*KB'
POUNALB ='UNALLOCATED*POOL*SPACE*KB'
-New variables in QAPMSYST (QAPMSYSTEM):
SYVPID ='VIRTUAL*SHARED*POOL ID'
SYVPCAP ='VIRTUAL*SHARED POOL*ENTITLED*CAPACITY'
SYPPLU ='PHYSICAL*SHARED POOL*CPU TIME*USED'
SYPPLA ='PHYSICAL*SHARED POOL*CPU TIME*AVAILABLE'
SYPTHV ='HYPERVISOR*CPU*TIME'
SYPTINT ='INTERRUPT*CPU*TIME'
SYPTWS ='WAITTASK*TIME'
SYPTDN ='DONATED*CPU*TIME'
SYSSPTU ='SCALED*CPU*TIME*USED'
SYUCAPF ='PARTITION*UNCAPPED*FLAG'
SYDONF ='PARTITION*DONATION*FLAG'
SYPTWAIT ='VIRTUAL*PROCESSOR*THREAD WAIT*EVENT TIME'
SYPTREADY ='VIRTUAL*PROCESSOR*THREAD WAIT*READY TIME'
SYPTLATEN ='VIRTUAL*PROCESSOR*THREAD DISPATCH*LATENCY'
SYPTACT ='VIRTUAL*PROCESSOR*THREAD*ACTIVE TIME'
SYPTIDLE ='VIRTUAL*PROCESSOR*THREAD*IDLE TIME'
SYPTINTR ='VIRTUAL*PROCESSOR*THREAD*INTERRUPT TIME'
SYFRMCPU ='PROCESSOR*FIRMWARE*TIME USED'
SYFRMSCPU ='PROCESSOR*SCALED*FIRMWARE*TIME USED'
SYPFOLDSW ='PROCESSOR*FOLDING*SWITCH*STATE'
SYPFOLDST ='PROCESSOR*FOLDING*STATE'
SYEMMAJCDE='ENERGY*MANAGEMENT*MAJOR CODE'
SYEMMINCDE='ENERGY*MANAGEMENT*MINOR CODE'
SYEMATTR ='ENERGY*MANAGEMENT*ATTRIBUTES'
SYEMPWRLMT='ENERGY*MANAGEMENT*POWER DRAW*LIMIT WATTS'
SYSQLCPU ='UNSCALED*SQL*CPU TIME*USED'
SYSQLSCPU ='SCALED*SQL*CPU TIME*USED'
SYOSTMP ='CURRENT*TEMPORARY*STORAGE*ALLOCATED*NONDB'
SYDBTMP ='CURRENT*TEMPORARY*STORAGE*ALLOCATED*DB'
SYAJOBTMP ='CURRENT*TEMPORARY*STORAGE*CHARGED*ACTIVE'
SYEJOBTMP ='CURRENT*TEMPORARY*STORAGE*CHARGED*EMDED'
SYUSERTMP ='CURRENT*USER*TEMPORARY*STORAGE'
SYPSLPU ='PHYSICAL*SHARED POOL*SCALED*CPU TIME*USED'
SYTRUNIC ='HARDWARE*INSTRUCTIONS'
SYTRUNVTB ='NON-IDLE*PROCESSOR*VIRTUAL*TIME'
SYTITUIC ='INTERRUPT*INSTRUCTION*COUNT'
SYTFRMIC ='FIRMWARE*INSTRUCTION*COUNT'
Thanks to Raymond J. Smith, United Health Group, USA.
Change 33.100 -Protect RMF III for invalid ASI table index in UWD table
ASMRMFV entry that caused ABEND S0C4 in FINDAS when the invalid
Apr 12, 2015 index value was really bad, i.e., it exceeded the number
of entries in the ASI table and an attempt was made to
access data from well beyond the ASI table's end.
Thanks to Randy Schlueter, First Data Corporation, USA
Change 33.099 MXG 32.13-MXG 33.03. TMON/CICS Version 3.4 AND EARLIER.
VMACTMO2 -Dataset MONITASK CPU time (TASCPUTM) and ALL DURATION
Apr 11, 2015 variables are WRONG, TOO SMALL, by a factor of 4096.
In TMON Version 4, all durations were changed from the
original microseconds to TODSTAMP, which requires the
division by 4096, but the MXG code inserted for MONITASK
was mis-located and applied to all TMON versions.
-Less critical, and wrong ONLY with Version 4 records: ALL
duration variables in all OTHER MONIxxxx datasets were
NOT divided by 4096, so they are TOO LARGE by 4096.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 33.098 NMON (AIX/LINUX) CPU variables in PDB.NMONCPUD and in the
VMACNMON PDB.NMONINTV were revised and missing values corrected.
Apr 10, 2015 The individual CPUNR data in PDB.NMONCPUD from the three
CPUnn, PCPUnn, and SCPUnn records are the variables
prefixed with CPUNxxxx,PCPUNxxxx,SCPUNxxxx with suffixes
BUSY,IDLE,SYS,USER,WAIT.
The interval CPU_ALL, PCPU_ALL, and SCPU_ALL record's
in PDB.NMONINTV are prefixed PCPUxxxx,APCPUxxxx,ASCPUxxxx
with the same suffixes (plus variable APCPUENTCAP).
The BUSY variables are calculated for all observations.
Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.
Change 33.097 -SMFSRCH utility (select SMF records containing text and
SMFSRCH create all MXG datasets from those selected records) adds
Apr 9, 2015 new PRINT= option with YES/NO/nnn to print all, none, or
the first nnn observations of each dataset. The PRINTIT=
argument's YES or NO are still supported, but the PRINT=
argument is the more common spelling in MXG macros.
-Set USERADDS=NOUSERID, and all matching SMF types are
reported, but the 128-255 USER SMF records are skipped,
This avoids an abend if not all of your USER records are
mapped in IMACKEEP, MACKEEP, OR USERADDS= argument.
Thanks to MP Welch, Bank of America, USA.
Change 33.096 -z13 with SMT PROCVIEW=CORE, dataset TYPE70PR, variable
VMAC7072 SMT_NUM, the count of threads for each core, wasn't kept.
Apr 12, 2015 -TYPE70PR variable SMF70MTTT, MULTI-THREADING*IDLE*TIME,
which is actually SMF70MTIT mis-spelled, is accumulated,
requiring an additional sort and DIF() to deaccumulate.
As is ALWAYS the case when IBM writes ACCUMULATED values,
the value for the first instance of each LCPUADDR in each
LPAR will be a missing value. Some cases when the next
accumulated value was slightly smaller than the prior are
also set to missing value, but if they occur in your data
a PMR should be raised with IBM support. The label for
SMF70MTTT now contains 'SMF70MTIT' to compensate.
Thanks to Don Deese, Computer Management Sciences, USA.
Change 33.095 Optional SUMMARY=SMFBYTES/SMFRECNT argument will produce
ANALID a report sorted by DESCENDING &SUMMARY to print largest
Apr 3, 2015 first.
Change 33.094 Format MGSMFID did not describe SMF 115 records subtypes
FORMATS 5, 6, and 7.
Apr 3, 2015
Thanks to Paul Bennett, Euroclear, BELGIUM.
Thanks to Edmond Dierickx, Euroclear, BELGIUM.
Change 33.093 MXG 33.03. Disabled debug statement *PUTLOG +2 'DEBUG..;
VMAC7072 was followed by an unmatched */, but there was no syntax
Apr 3, 2015 error, because SAS recognized the asterisk as the start
of another comment, that ended with the semicolon of the
next statement, HOLICFTM=ICFACTTM;, so that statement was
absorbed and not executed. Fortunately, only ICF time in
some unusual circumstances, when the time had to be held,
might have been impacted.
Thanks to MP Welch, Bank of America, USA.
Change 33.092 -Some BBBPnnn variables were mis-assigned values: BBBP040
VMACNMON and BBBP049 because the BBBP40 'MAXIMUM CAPACITY' text
Apr 8, 2015 overlapped with BBBP49 'MAXIMUM CAPACITY OF POOL'. All
text tests are expanded to prevent the overlap.
-The MERGE of CPUD/CPUNP/CPUNS datasets had DUPLICATE
MERGE VARIABLES when the number of CPUs (observations)
in those datasets were not equal. Since CPUD has the
the primary CPU metrics, the MERGE was split into two
steps, first the three CPUD/CPUNP/CPUNS with CPUNR added
to the BY list, and now OUTPUT only if CPUD is present,
whether or not the other two datasets are present for
this CPUNR. Then the second step MERGES the output with
SNAPMAP to create PDB.NMONCPUD with the CPU metrics for
each CPUNR.
-Diagnostic tests for DISKBUSY counter errors corrected.
Thanks to Raissa Moussu, METROLOGFIE AIX EN PROVENCE, FRANCE.
Change 33.091 Support for CICS User fields USERAGT, ORIGUOW, and
IMACAAAA ORIGTGID.
IMACICVM
IMACICVN
IMACICVO
UTILEXCL
VMAC110
Apr 2, 2015
Thanks to Rob Hollingum, HSBC, ENGLAND.
Change 33.090 Mainview for MQ PTFs corrected the Offset ENTO value from
VMACBBMQ the always incorrect prior value of 28 for BBMQQUES 'E6'
Apr 2, 2015 to the correct value of 32, but this is an INCOMPATIBLE
change which mis-aligned MXG input, because MXG has known
to skip over those four bytes. Logic revised to support
either value since the records are otherwise unchanged.
BPL2458(MVMQ51) and BPL2459(MVMQ52) were the PTFs.
Thanks to Jim Swinarski, Credit-Suisse, USA.
Change 33.089 Not Used.
Change 33.088 Some duration variables in RMF III ZRBxxxx datasets still
VMACRMFV had TIME12.2 format but have millisecond resolution, so
Apr 1, 2015 they are all changed to TIME13.3 to show all decimals.
Change 33.087 -RMF Type 74 Subtype 9 zEDC Hardware Accelerator support.
VMAC74 The TYPE749 dataset was created with RMF 2.1 support back
Apr 1, 2015 in Change 31.153, but that INPUT was inhibited, awaiting
May 4, 2015 test records, and this update has been validated with
May 6, 2015 zEDC PCIE type 74 subtype 9 records.
-May 4: Variables R7491IIS and R74i1IOS corrected to add
II2 and IO2 instead of II1 and IO1.
-May 6: Variables R7491BPS and R7491BPC were incorrectly
multiplied in conversion to bytes - way too large.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.086 Support for Velocity Software zVPS a/k/a XAM Version 5.4.
VMACXAM Status April 9:
Apr 7, 2015 -All updates have been made with these exceptions:
EXXAMIFL Segments not documented, have data records, skipped:
EXXAMIFT TCP: LINMEM LINCPU LINITF
VMXGINIT DEV: IODSZI
Apr 9, 2015 New Segments, no data, not skipped, will print msg.
Apr 23, 2015 TCP:ORASYS ORAPGA ORASGA ORAWTS
VSECFG VSESYS VSECPU JVMSYS
-INFILE XAMCPU changes:
NEW dataset XAMIFLBY for individual IFL engine stats.
NEW dataset XAMIFLTO for TOTAL IFL engine stats.
-INFILE XAMUSR changes:
-New variables in USRCON segment added to dataset XAMUSR:
CALCFGEM ='CALICFCT'
CALCPCT ='CALCPCT'
CALICFCT ='CALICFCT'
CALIFLCT ='CALIFLCT'
CALZAPCT ='CALAZPCT'
CALZIPCT ='CALZIPCT'
LIMPOOL ='POOL*NAME*USER IS*ASSIGNED'
RDMMMASK ='LGR*DMN*BITMASK*SSI SLOTS'
RDMNAME ='LGR*DOMAIN*FROM*USEACT'
RELO1 ='CAUSED*BY*LGR?'
RLOMVOPT ='LGR*FLAG*BYTE'
SSHABSSH ='ABSOLUTE*SHARE'
SSHFLG1 ='SSHFLG1*SHARE*FLAG'
SSHLIMH ='LIMIT IS*HARD?'
SSHMXLSH ='MAXIMUM*SHARE'
SSHMXSHA ='MAX*SHARE*IS IN*ABS?'
SSHNMSHA ='NORMAL*SHARE*IS IN*ABS?'
SSHRELSH ='RELATIVE*SHARE'
VMDIDENT ='IDENTITY*VMDBK?'
VMDREOFL ='REORDER ON?'
VMDREOFL1='VMDREOFL1*FLAG'
VMDRLLST ='DATETIME*WHEN*LGR*ADDED'
VMDRLOLG ='ORIGINAL*MEMBER*LOGGED ON'
VMDRLSRC ='NAME FROM*WHERE LAST*LGR'
-New variables in USRACT segment added to dataset XAMUSR:
AGLA2G ='PRIVATE AGELIST >2GB'
AGLB2G ='PRIVATE AGELIST <2GB'
CALCPFNR ='PGS IBR WRITTEN, REREF'
CALCPFRY ='PGS IBR BACKED'
CALCPINT ='PRIVATE PAGES INSTANTD'
CALCPINV ='PGS MADE IBR'
CALCPPFA ='PGS RE-REFD AGELIST'
CALCPPFI ='PGS RE-REFD IBR'
CALCPREL ='PGS RELEASE DAG10/214'
CALCPXRL ='PGS XSTORE RELEASED'
CALCTXBK ='EXSTOR PG BLOCKS'
CALDSPCT ='COUNT TIMES DISPATCHED'
CALDWTCT ='COUNT READY TO BE DISPATC'
IBRA2G ='PRIVATE IBR PGS < 2GB'
IBRB2G ='PRIVATE IBR PGS <2GB'
INS ='PRIVATE PAGES'
RABISA2G ='NON REF'D PGS > 2GB'
RABISB2G ='NON REF'D PGS < 2GB'
VMACPSN ='VMACPSN'
VMAIIA ='IPTE ILOCK ACQ'S METHOD 2'
VMAIIADD ='IPTE ILOCK ADDED HOST SHR'
VMAIIHLD ='TIME HOST SHARES HEALD'
VMAIINHLD ='INTERVALS HOST SHARES HLD'
VMAIIWTM ='TIME WAITING IPTE ILOCK'
VMAIPTEI ='IPTE ILOCK ACQUISITIONS'
VMATTIME_PRO='VMATTIME_PRO'
VMATTMP_PRO ='VMATTMP_PRO'
VMATTMS_PRO ='VMATTMS_PRO'
VMAVTIME_PRO='VMAVTIME_PRO'
VMAVTMP_PRO ='VMAVTMP_PRO'
VMAVTMS_PRO ='VMAVTMS_PRO'
VMDCACHN ='MDC INSERTS'
VMDCPUCH ='SIE INTERUPTS'
VMDCRPGM ='REFERENCED PGMBK'
VMDCTSTA ='SIGP STARTS'
VMDCTSTO ='SIGP STOPS'
VMDCUPGM ='UNREFERENCED PGM'
VMDDSRSV ='TIMES LIMIT SET RESRVD'
VMDDTPLX ='DETACH COMMANDS SSI'
VMDDTTOD ='SSI DETACH CMD VTIME'
VMDDTTOT ='DETACH COMMANDS'
VMDLKPLX ='LINK COMMAND, SSI'
VMDLKTOD ='SSI LINK CMD VTIME'
VMDLKTOT ='LINK COMMANDS,'
VMDPBKCT ='PGMBK COUNT'
VMDSSIZE ='VMDSSIZE'
VMDSTFHW ='HI WATER STEAL WEIGHT'
VMDSTLFC ='STEAL WEIGHT FACTOR'
VMDTMORD ='PGMBK REORDERED'
VMDTTIME_MT1='VMDTTIME_MT1'
VMDTTMP ='TOT TCPU PRIMARY CPU'
VMDTTMP_MT1 ='VMDTTMP_MT1'
VMDTTMS ='TOT TCPU SECONDARY CPU'
VMDTTMS_MT1 ='VMDTTMS_MT1'
VMDUFACTC ='FRAMES OF UFO ACTIVE'
VMDUFIBRC ='FRAMES OF IBR'
VMDUFOLKCT ='UFO SPIN LOCK COUNT'
VMDUFOLKTM ='UFO SPIN LOCK TIME'
VMDVTIME_MT1='VMDVTIME_MT1'
VMDVTMP ='TOT VCPU PRIMARY CPU'
VMDVTMP_MT1 ='VMDVTMP_MT1'
VMDVTMS ='TOT VCPU SECONDARY CPU'
VMDVTMS_MT1 ='VMDVTMS_MT1'
VMDWASTE ='TIMES PGFLTS AGELIST'
VMDWKPLX ='WRKALLEG COUNTS, SSI'
VMDWKTOD ='VTIME, WRKALLEG SSI'
VMDWKTOT ='WRKALLEG COUNTS'
VMUDSPETM ='TIME DISPATCHED'
VMUDWTETM ='TIME READY TO BE DISPATCH'
VMUNREBAL ='CONFIG REBALANCES'
VMUREBAL ='VMUREBAL'
VMUVMLTL0='1ST*TOPOLOGY*STEALS'
VMUVMLTL1='2ND*TOPOLOGY*STEALS'
VMUVMLTL2='3RD*TOPOLOGY*STEALS'
VMUVMLTL3='4TH*TOPOLOGY*STEALS'
VMUVMLTL4='5TH*TOPOLOGY*STEALS'
VMUVMLTL5='6TH*TOPOLOGY*STEALS'
VMUVMTL0='1ST*TOPOLOGY*MOVES*FOR WORK'
VMUVMTL1='2ND*TOPOLOGY*MOVES*FOR WORK'
VMUVMTL2='3RD*TOPOLOGY*MOVES*FOR WORK'
VMUVMTL3='4TH*TOPOLOGY*MOVES*FOR WORK'
VMUVMTL4='5TH*TOPOLOGY*MOVES*FOR WORK'
VMUVMTL5='6TH*TOPOLOGY*MOVES*FOR WORK'
-INFILE XAMCPU changes:
Known problem, to be corrected in zVPS next iteration:
IFL records have only CPUID='IFLs' with TOTAL values.
There are no CPUID='IFLnnn' records for each IFL, and
the values in that CPUID='IFLs' record are the same as
the values in the CPUID='TOTAL' record.
-New variables in SYTSYP segment added to both datasets
XAMCPUBY and XAMCPUTO:
PLSPAGPS='COUNT*SSCH*FOR PG/SPOOL'
PLSSTKPE='ETS*DROP*COUNT'
PLSTMRCE='GUEST*ENABLE*COUNT'
PLSPRVSC='SVC*INTERUPT*COUNT'
-New variables in SYTPRP segment added to both datasets
XAMCPUBY and XAMCPUTO:
CPUCOUNT='CPU*COUNTS*FOR NCPU+1'
PFXFST44='SIMULATION*DIAG44'
PFXFSTPX='PARTIAL*EXECUTION*INTERUPTS'
PFXFSTSG='SIMULATION*SIGP'
PFXFSTXC='REFLECTIONS*GUEST*EXTERN '
PLS9CDSP='ALREADY*DISPATCHED'
PLS9CNR ='VMDSTATE*LT*VMDREADY'
PLS9CSWT='AND*SOFT*WAIT'
PLS9CWT ='AND*IN WAIT*STATE'
STEALPCT='LPAR*STEAL*TIME'
-New variables in SYTRSP segment added to both datasets
XAMCPUBY and XAMCPUTO:
PLSALECL='LT*2GB*LIST'
PLSALECG='GT*2GB*LIST'
-New variables in SYTCOM segment added to both datasets
XAMCPUBY and XAMCPUTO:
PLSIUCVT='TOTAL*IUCV*COUNT'
PLSISEVS='VSWITCH*TO A VM*SUCCESS'
PLSISTVS='VM TO A*VSWITCH*SUCCESS'
PLSISUVS='FAILED*VSWITCH IUCV'
PLSISEAS='ASYNCMD*TO A VM*SUCCESS'
PLSISTAS='VM TO A*ASYNCMD*SUCCESS'
PLSISUAS='FAILED*ASYNCMD IUCV'
PLSISESC='SCLP TO A*VM*SUCCESS'
PLSISTSC='VM TO A*SCLP*SUCCESS'
PLSISUSC='FAILED*SCLP*IUCV'
PLSISEVE='VMEVENT*TO A VM*SUCCESS'
PLSISTVE='VM TO A*VMEVENT*SUCCESS'
PLSISUVE='FAILED*VMEVENT*IUCV'
-New variable in SYTSCP segment added to both datasets
XAMCPUBY and XAMCPUTO:
PLSDSPCN='100*LOOP CNT*ON*&SCHED LCK'
-New variable in STORSP segment added to both datasets
XAMCPUBY and XAMCPUTO:
PLSASFCG='TIMES*ONE PAGE*FROM*GT 2G*LIST'
PLSASFCL='TIMES*ONE PAGE*FROM*CONTIG*LIST'
PLSESSA ='ESSA*INSTRUCTION*COUNT'
PLSLTDPE='LONG TERM*DORM*EMERGENCY*PASSES'
PLSPCPAG='CMM*MAYBE*VOLATILE*STOLEN'
PLSPUPAG='CMM*MAYBE*VOLATILE*UNCH PGS*STOLEN'
PLSUPAGE='CMM*UNUSED*STOLEN'
PLSUPREC='CMM*UNUSED'
PLSVPAGE='CMM*VOLATILE*STOLEN'
-New variable in PRCMFC segment added to both datasets
XAMCPUBY and XAMCPUTO:
CCFCPUSP ='CPU*SPEED '
CYCLECNT ='CYCLE*COUNT*NOT IN*WAIT'
INSTRCNT ='INSTRUCTIONS*EXECUTED'
L1ICACHW ='LEVEL 1*ICACHE*DIRECTORY'
L1IPENAL ='L1*PENALTY*CYCLE*COUNT'
L1DCACHW ='LEVEL 1*DCACHE*DIRECTORY'
L1DPENAL ='L1*PENALTY*CYCLE*COUNT'
PCYCLECNT ='CYCLE*COUNT*NOT IN*WAIT'
PINSTRCNT ='INSTRUCTIONS*EXECUTED'
PL1ICACHW ='LEVEL 1*CACHE*DIRECTORY'
PL1IPENAL ='L1*PENALTY*CYCLE*COUNT'
PL1DCACHW ='LEVEL 1*CACHE*DIRECTORY'
PL1DPENAL ='L1*PENALTY*CYCLE*COUNT'
CCFEXT0='0TH*COUNTER'
CCFEXT1='1ST*COUNTER'
. . .
CCFEXT62='62TH*COUNTER'
CCFEXT63='63TH*COUNTER'
CPI ='CYCLES*PER*INSTRUCTION'
PRB ='PERCENT*PROBLEM*STATE'
L1MP ='LEVEL 1*MISS*PER INST'
L2P ='PCT FROM*LEVEL 2'
L3P ='PCT FROM*LEVEL 3*SAME'
L4LP ='PCT FROM*LEVEL 4*SAME'
L4RP ='PCT FROM*LEVEL 4*REMOTE'
MEMP ='PCT*FROM*MEMORY'
-New variable in PRCRCD segment added to both datasets
XAMCPUBY and XAMCPUTO:
CALENTMT='CPU*ENTITLEMENT'
RCCTOPDS='TOPOLOGY*BIT*MASK'
PFXDSPCS='LONG*PATHS*THRU*DISP2'
PLSDSPCM='TIMES*DISP*VMDBK*MOVED'
PLSSTLTL0='0TH*CNT*STOLEN*VMDBKS'
PLSSTLTL1='1ST*CNT*STOLEN*VMDBKS'
PLSSTLTL2='2ND*CNT*STOLEN*VMDBKS'
PLSSTLTL3='3RD*CNT*STOLEN*VMDBKS'
PLSSTLTL4='4TH*CNT*STOLEN*VMDBKS'
PLSSTLTL5='45H*CNT*STOLEN*VMDBKS'
-New variable in PRCDHF segment added to both datasets
XAMCPUBY and XAMCPUTO:
DSVASSOC ='ONLINE*CPUS'
DSVUNPRK ='UNPARKED*CPUS'
HFUSERZ ='TIMES*NO VMDBK*IN DLIST'
-INFILE XAMSYS changes:
/* SYTEP2 */
TCT_FCOP ='FICON*OPS*FCX*CMDS'
TCT_DFCOP='DEFRD*FICON/FCX*OPS'
SCT_FCOP ='SUMMATION*COUNT*OPS'
TCT_FCXTM='FCX*TRANSFER*OPS'
TCT_DFCXTM='DEFERRED*FCX*XFERS'
SCT_FCXTM ='SUMMATION*FCX*XFERS'
/* STOSHR */
ASCCTRSV='RESERVED*BY*SET*RESERVED'
ASCDSRSV='CNTLIMITED*BY*SET*RESERVED'
/* SYTCUM */
LCUSMTM='SYSTEM*MGMT*TIME'
PCTSYSM='PCT*SYSTEM*MGMT TIME'
/* SYTSYG */
MAI_MISS='MISSING*ADAPTR*INTERUPTS'
MAI_UREC='UNRECOVERABLE*ADAPTR*INT'
FXRDONE ='FCX*I/O*COMPLETE'
FXRWRITE='FCX*WRITES'
/* STORSG */
SECONDS ='SECONDS'
RSAAVCLT ='LT 2G*CONTIG*AVAIL LIST*LO'
RSAAVCHT ='LT 2G CONTIG*AVAIL LIST*HI'
RSAAVCLG ='GT 2G CONTIG*AVAIL LIST*LO'
RSAAVCHG ='GT 2G CONTIG*AVAIL LIST*HI'
RSAEMLO ='LOW*THRESHOLD'
RSAEMHI ='HI*GHREHSOLD'
RSAEMCPC ='CURRENT*POOL*SIZE'
RSAEMERG ='EMERGENCY*PGMBK*REQUESTS'
RSAEMBLO ='TIMES*CPC LT LO'
RSAEMPTY ='TIMES*CPC*EMPTY'
RSAEMDFR ='TIMES*PGMBK*DEFERRED'
RSASWPWT ='PG WRITES*TO*DISK LT 2GB'
RSASWP2G ='PGMBK WRITES*TO*DISK GT 2GB'
RSAAGEPC ='RSAAGEPC'
RSARSDMX ='SET*RESERVED*SYSMAX'
RSAAGESZ ='TARGET*AGING*LIST'
RSAAGINC ='FRAMES*ON AGING*LIST'
RSAEWNDD ='CHANGED*PGS ON*AGELST'
RSAEWRFO ='REF-D*PGS ON*AGELIST'
EWCIF ='CHNGED*PGS*PAGING*OUT'
EWRIF ='FEF-D*PGS*PAGING*OUT'
AGRDY ='TOTAL*FRMS*ON*AGELIST'
AGRDYRFW ='REF-D*PGS*WRITTEN'
AGRDYRFN ='REF-D*PGS*NOT*WRITTEN'
AVLCTB2S ='AVAILLIST*LT*2GB*SNGL'
AVLCTB2C ='AVAILLIST*LT*2GB*CONTI'
AVLCTA2S ='AVAILLIST*GT*2GB*SNGL'
AVLCTA2C ='AVAILLIST*GT*2GB*CONTI'
DSTMACT ='TOD*DEMAND*SCAN*RUNNG'
CHGWRTOL ='CHNGD*PGS*RE-WRITOLD'
REFWRTBY ='REF-D*PGS*BYPASS WRT'
CHGWRTNW ='CHNGD*PGS*RE-WRITNEW'
REFWRTNW ='REF-D*PGS*RE-WRITTEN'
AGRECLM ='PGS*RECLAIMED*AGELIST'
EXMET ='DEMAND*SCAN*COMPLETES'
EXTIM ='DEMNDSCAN*INCOMPLETES'
EXCPU ='DEMANDSCAN*SLOWCPU'
INVUFO ='PRIVATE*PGS*INVALDTED'
INVVUFO ='PRIVATE*VDSKINVALDTED'
INVSUFO ='SHARED*PGS*INVALIDATD'
RVLUFO ='PRIVATE*PGS*RE-VALID'
RVLVUFO ='PRIV*VDISK*PGS*RE-VAL'
RVLSUFO ='SHARED*PGS*REVALIDATD'
RVLAGL ='PGS*REVALID*ON*AGELST'
WRTONDMD ='PGS*RECLAIMED*POSTWRT'
DSCYCLE ='DEMAND*SCANS'
USRVISIT ='USERS*VISITED'
USRSKIP ='USERS*SKIPPED'
RSAALSKL ='AGELIST*PGS*PINNED'
RSAALSKF ='AGELST*FRMSERIALIZED'
RSAALSKP ='AGELST*PGSERIALIZED'
RSAALSKR ='AGLSTSETRESERVED'
AGRVLRFN ='REREF-D*PGS*NOTWRITTN'
AGRVLRFW ='REREF-D*PGS*WRITTEN'
AGRVLCHN ='REREF-D*CHNGD*PGS NW'
AGRVLCHW ='REREF-D*CHNGD*PGS WRT'
AVLRQB2S ='SNGLPG*REQUESTS*LT 2GB'
AVLRQA2S ='SNGLPG*REQUESTS*GT 2GB'
AVLRQB2C ='CONTIG*REQUESTS*LT 2GB'
AVLRQA2C ='CONTIG*REQUESTS*GT 2GB'
AVLRETB2S='RETURNS*SINGLE*LT 2GB'
AVLRETA2S='RETURNS*SINGLE*GT 2GB'
AVLRETB2C='RETURNS*CONTIG*LT 2GB'
AVLRETA2C='RETURNS*CONTIG*GT 2GB'
AVLPTA2GC='PROTECT* GT 2GB*LIST SIZ'
AVLPTB2GS='PROTECT*SNGLS* LT 2GB'
WRTHROTS ='DEMAND*SCAN*THROTTLES'
PRTHROTS ='PARTIAL*THROTTLES'
/* MTRSCH */
SRMFLAGS='SRMFLAGS'
/* MTRSYS */
SYSCMODE='SYSCMODE'
VCPUF ='VCPU ACCOUNTING FACTOR'
TCPUF ='TCPU ACCOUNTING FACTOR'
DIOF ='DASD I/O FACTOR '
STORF ='RESIDENT STORAGE FACTOR'
CHARGE ='CHARGE PER UNIT'
SYSCCR ='CAPCHANGE*REASON*STSI*1.1.1'
SYSCAI ='CAPADJUSTMENT*STSI*1.1.1 '
SYSESTAT='ENSEMBLE*STATUS'
STITODOF='STP*TOD*CLOCK*OFFSET'
SYSSTPFL='STP*CONFIGURATION*INFO'
SYSSTPF2='FLAGS'
SYSPLVOL='SSI*PDR*VOLUME*SERIAL'
SYSCSSID='CHANNEL*SUBSYSTEM*(CSS)*ID'
SYSCPMOD='CP*LOAD*MODULE'
HCPLODCK='TOD OF*SYSTEM*GENERATION'
SLMENSID='URM*ENSEMBLE*ID'
/* MTRMEM */
SYSGSTBY='STANDBY*REAL*STORAGE*SIZE'
SYSGSTRS='RESERVED*REAL*STORAGE*SIZE'
/* SYTXSG */
TCMPINVA='PAGE*FAULTS*RESOLVED*PGINTRK'
TCMSTKEX='TIMES*CPEBK*DEFERED*TRKWRT'
CMSTKPFK='TIMES*CPEBK*DEFERED*TRKFLT'
/* SYTUWT */
CALLLCP ='LIMIT*LIST*CP WAIT'
CALLLZAP='LIMIT*LIST*ZAP WAIT'
CALLLIFL='LIMIT*LIST*IFL WAIT'
CALLLZIP='LIMIT*LIST*ZIP WAIT'
CALCFCP ='CF WAIT*WAIT FOR*CP'
CALCFZAP='CF WAIT*WAIT FOR*ZAP'
CALCFIFL='CF WAIT*WAIT FOR*IFL'
CALCFZIP='CF WAIT*WAIT FOR*ZIP'
CALSWCP ='SIM WAIT*WAIT FOR*CP'
CALSWZAP='SIM WAIT*WAIT FOR*ZAP'
CALSWIFL='SIM WAIT*WAIT FOR*IFL'
CALSWZIP='SIM WAIT*WAIT FOR*ZIP'
CALCWCP ='CPU WAIT*WAIT FOR*CP'
CALCWZAP='CPU WAIT*WAIT FOR*ZAP'
CALCWIFL='CPU WAIT*WAIT FOR*IFL'
CALCWZIP='CPU WAIT*WAIT FOR*ZIP'
CALCRCP ='VMDBKS*RUNNING*ON CP'
CALCRZAP='VMDBKS*RUNNING*ON ZAP'
CALCRIFL='VMDBKS*RUNNING*ON IFL'
CALCRZIP='VMDBKS*RUNNING*ON ZIP'
CALLLICF='LIMIT*LIST*IN ICF'
CALCFICF='CONSOLE*FUNCTION*MASTER'
CALSWICF='SIMULATION'
CALCWICF='CPU*WAIT'
CALCRICF='RUNNING'
/* SYTUSR */
RLOIB='ACTIVE*INBOUND*LGRS'
RLOOB='ACTIVE*OUTBOUND*LGRS'
/* SYTRSG */
RSASNG2G='SINGLE*FRAMES*GT 2GB*AVAIL'
RSASNGAV='SINGLE*FRAMES*LT 2GB*AVAIL'
/* SUBSUM */
NCPCAPABIZE='CPU*CAPABILITY*FACTOR'
OVERCOMMIT ='OVERCOMMIT'
STORAGESIZE='STORAGE*SIZE'
XSTORESIZE ='XSTORE*SIZE'
-INFILE XAMDEV changes:
-New variable in CONFIG segment added to XAMDEV dataset:
EDEVATTR='EDEVATTR'
RDEVHPPL='HYPERPAV*POOL*NUMBER'
CALDEVFLAGS='CALDEVFLAGS'
DEVPTHS ='DEVPTHS'
/*IODDEV */
PAVINELG ='I/O*INELIGIBLE*TO STEAL'
PAVUSES ='I/O*STEALS'
PAVSSCH ='BASE*PAV*SSCH'
PAVCOUNT ='PAV*DEVICE*COUNT'
PAVCNTIM ='PAV*ALIAS*CONNECT*TM'
PAVCPTIM ='PAV*ALIAS*PEND*TM'
PAVCDTIM ='PAV*ALIAS*DISC*TM'
PAVCQTIM ='PAV*ALIAS*QUEUE*TM'
PAVCATIM ='PAV*ALIAS*ACTIVE*TM'
PAVDBTIM ='PAV*ALIAS*SUBCHAN*TM'
PAVIRTIM ='PAV*ALIAS*QUEUE*TM'
PAVCC3S ='PAV*ALIAS*CC3*IO CNT'
RDEVSKSM64='TOTAL*SEEK*CYCLINDERS'
RDEVWXCT ='COUNT*FCX*WRITES'
RDEVRXCT ='COUNT*FCX*READS'
-INFILE XAMTCP changes:
/*VSIUSR*/
STGSAMPS='STGSAMPS'
VMPEAK ='PEAK*USAGE'
VMSIZE ='CURRENT*USAGE'
VMLCK ='CURR*MLOCKED*MEMORY'
VMHWM ='PEAK*RSS'
VMRSS ='RESIDENT*SET*SIZE'
VMDATA ='SIZE*DATA*SEGMENT'
VMSTK ='SIZE*OF*STACK'
VMEXE ='SIZE*TEXT*SEGMENT'
VMLIB ='SHARED*LIBRARY*USAGE'
VMPTE ='PAGETABLE*ENTRIES*SIZE'
VMSWAP ='SWAP*SPACE*USED'
/*VSINAP*/
STGSAMPS ='STGSAMPS'
VMPEAK ='PEAK*USAGE'
VMSIZE ='CURRENT*USAGE'
VMLCK ='CURR*MLOCKED*MEMORY'
VMHWM ='PEAK*RSS'
VMRSS ='RESIDENT*SET*SIZE'
VMDATA ='SIZE*DATA*SEGMENT'
VMSTK ='SIZE*OF*STACK'
VMEXE ='SIZE*TEXT*SEGMENT'
VMLIB ='SHARED*LIBRARY*USAGE'
VMPTE ='PAGETABLE*ENTRIES*SIZE'
VMSWAP ='SWAP*SPACE*USED'
PROCID ='PROCID'
PPIDL ='PPIDL'
PROCNAMEL='PROCNAMEL'
PATHNAMEL='PATHNAMEL'
APPLIDSS ='APPLIDSS'
/*VSISFT*/
PRTY ='PRTY'
STGSAMPS ='STGSAMPS'
VMPEAK ='PEAK*USAGE'
VMSIZE ='CURRENT*USAGE'
VMLCK ='CURR*MLOCKED*MEMORY'
VMHWM ='PEAK*RSS'
VMRSS ='RESIDENT*SET*SIZE'
VMDATA ='SIZE*OF DATA*SEGMENT'
VMSTK ='SIZE*OF*STACK'
VMEXE ='SIZE*OF TEXT*SEGMENT'
VMLIB ='SHARED*LIBRARY*USAGE'
VMPTE ='PAGETABLE*ENTRIES*SIZE'
VMSWAP ='SWAP*SPACE*USED'
PROCID ='PROCID'
PPIDL ='PPIDL'
PROCNAMEL='PROCNAMEL'
PATHNAMEL='PATHNAMEL'
APPLIDSS ='APPLIDSS'
/*VSISYS*/
PROCTOT ='PROCTOT'
STATIC ='STATIC'
TIMED ='TIMED'
RELEASEP ='RLS RATE*IN PAGES'
RELEASETM='RLS TIME*IN SECONDS'
SWAPINESS='SWAPINESS'
CPUCOUNT ='CPUCOUNT'
/*HSTMEM*/
RWFLAG ='RWFLAG'
BOOTFLG='BOOTFLG'
BUFFER ='BUFFER'
BUFFERCH='BUFFERCH'
DESCR is expanded to 32 positions (Apr 23)
/*UCDSYS*/
ANONYMOUS='ANONYMOUS'
SHARED ='SHARED'
====== Changes thru 33.085 were in MXG 33.03 updated Mar 31, 2015=======
Change 33.085 Change 33.078 VGETDDS removal of SASAUTOS was incorrect,
VGETDDS causing ERROR 22-322 generated by Macro Variable TOSET;
Mar 30, 2015 DDNAMES was corrected to DDOUT.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 33.084 Change 33.018 was dropped between 33.01 and 33.02.
EXTY8036 New dataset TYPE8036 (EXEC WITH SETUID/SETGID) and new
EXTY8056 dataset TYPE8056 (CHECK FILE OWNER) are now created and
IMAC80A variable TOKMPROCUSERMAX is now spelled correctly so the
VMAC80A UNINIT TOKPROCUSERMAX message is eliminated.
VMXGINIT
Mar 29, 2015
====== Changes thru 33.083 were in MXG 33.03 dated Mar 27, 2015=========
Change 33.083 Summary datasets PDB.ASUM70PR/PDB.ASUM70LP have INCORRECT
VMXG70PR values for intervals when ALL LPARs are NOT active for
Mar 27, 2015 the full summary interval you requested, e.g., you set
INTERVAL=HOUR (in your TAILORED ASUM70PR member or your
%VMXG70PR invocation) but the first RMF records in each
SMF file was the 23:50 START, written at 00:00.01, which
created an ASUM70PR HOURLY observation, (for EACH system,
as each SYSTEM creates TYPE70PR for each LPAR it "sees")
with a START of 23:00, but with only 10 minutes DURATM.
Or, if you activate an LPAR at 10:30, the ASUM70PR obs
will have only 30 minutes DURATM. The incorrect DURATM
impacts the individual LPAR durations, and the PCTCPUBY
in ASUM70PR (the SYSPLEX value, and NOT the busy of the
SMF SYSTEM that created the ASUM70PR observation) is
wrong and can be greater than 100%.
-These defective observations can be deleted by testing
that DURATM is less than your requested summary INTERVAL.
-OR: THE CORRECT VALUES ARE IN THE PDB.ASUMCEC/ASUMCELP
datasets, and since there is only one observation in the
PDB.ASUMCEC for each interval (for each CECSER), you do
not have to select which SYSTEM's record is used in your
reports (and your reports will be produced even if that
SYSTEM goes away!).
And, at this time, the underlying error in VMXG70PR has
NOT been resolved; it is related to the PER-SYSTEM logic
which is clearly vulnerable to individual system metrics,
but the newer and more robust per-CEC logic resolves the
error, or the defective observations can be deleted.
(If these are abnormal hours, maybe you still want to
delete them, even when using the PDB.ASUMCEC data!).
With 60 PROC/DATA steps in the complex VMXG70PR logic,
the risk of damage to the good might not justify trying
to repair
-No logic was changed; debugging PROC PRINTs were inserted
but are disabled.
Change 33.082 DCOLLECT dataset DCOLDSET now contains variable DCDCTYPE
VMACDCOL to identify compression type, using MG014CT (added 33.01)
Mar 26, 2015 with these possible values:
0='0:NOT COMPRESSED/UNKNOWN'
1='1:GENERIC'
2='2:TAILORED'
3='3:ZEDC'
This text was revised Mar 25, 2019, See Change 37.063.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.081 -New _READALL macro processes 70s, 72s,and 30s in one pass
SAGANAL of SMF to significantly reduce elapsed run time.
Mar 27, 2015 -The 4HR Average Zip Eligible MSU is added to REPORT 3.
Apr 8, 2015 -New REPORT 30 with the CAPTURE RATIO shows the IBM 4HOUR
IMACSAG AVERAGE MSU and the TOTAL MSU CAPTURED in the RMF 72
VMXGINIT Service Class records.
Apr 13, 2015 -New IMACSAG and &MACSAG exits permit report selection for
specific dates.
Change 33.080 Documentation note. The default BUILDPDB builds the ID
TYPEID dataset using a VIEW and then invokes %ANALID to report.
Mar 24, 2015 The VIEW is NOT deleted, but if you have added code that
uses the ID dataset (like PROC SORT DATA=ID), the entire
SMF INPUT FILE WILL BE READ AGAIN, or, if you have used
FREE=CLOSE, that second read will fail with FILE SMF NOT
ASSIGNED. You can prevent the second read by disabling
the view, using %LET VWVMACID=; to disable for ID, but
that will require more //WORK disk space.
Change 33.079 Protection for truncated SMF Type 22 Subtype 11 LRECL=32
VMAC22 (LENGTH=28) when that subtype must be at least 140 bytes.
Mar 24, 2015
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.078 %MACROs that SAS puts in SASAUTOS (%TRIM,%LOWCASE,others)
UTILBLDP have been completely removed from all MXG members, since
Mar 23, 2015 we still find sites that do not have FILENAME SASAUTOS to
resolve those functions (that SHOULD, IMO, been delivered
as real functions and avoid 20 years of SASAUTO errors).
These were the final members that now use %SYSFUNC().
ANALRANK BLDNTPDB READDB2 UTILBLDP UTILDUMP VGETALOC
VGETDDS VMXGALOC VMXGCAPT VMXGFIND VMXGPRAL VMXGSRCH
ZAUTOCHK VMXGPARS
Change 33.077 WPS Only. MXG TYP120xx SMF 120 datasets can have strange
VMAC120 characters in UCS text because there were two tests for
VMXGINIT &SYSVER GE 8.2 that are now corrected to &SASVER GE 8 in
Mar 23, 2015 VMAC120 and VMXGINIT (which incorrectly set &UCS2B4).
For WPS, the &SYSVER returns 3.01 (and is 9.4 for SAS),
and it is used when the sub-version is needed, but MXG
intended to set &SASVER to 8 for WPS, and use the first
digit of &SYSVER for &SASVER for SAS, for both WPS/SAS
and SAS V8/V9 selections.
8 for WPS (and is 9 for SAS) so that &SASVER can be used
to detect WPS and/or SAS V9 features. And, in VMXGINIT
the actual value set for &SASVER was 8.2 instead of 8 for
WPS. And since I needed to find any other exposures, I
removed a number of archaic tests for &SASVER 5 and 6 in
these members:
BUIL3001 BUILD001 BUILDPD3 BUILDPDB DOCPDB FORMATS
IMACPDBX JCLUXRE6 MONTHBL3 MONTHBLD MONTHBLS MONTHWEK
PRODTEST PRODTESW TYPSIMS TYPSIMS7 VFMT102 VMAC120
VMAC7072 VMACIMS VMXGINIT WEEKBL3D WEEKBL3T WEEKBLDD
WEEKBLDT
Thanks to Erling Andersen, SMT, DENMARK.
Change 33.076 Support for IMS56FA Chained/Switched INPQUETM correction.
TYPEIMST INPQUETM for chained transactions (have same ARRVTIME) is
TYPSIMST revised to use the prior transaction's HELDENDTIME as the
VMACIMS the "ARRVTIME" for the next transaction. Variable SWITCH
Mar 24, 2015 identifies if this was the first, or subsequent, switched
transaction, and HELDENDTIME is kept in IMS56FA. Variable
RESPNSTM is also recalculated with the new INPQUETM.
The correction is made in the _SIMS56G dataset sort macro
so it requires a full sort of the IMS56FA dataset; the
TYPSIMST member has the JCL and SYSIN example to use to
correct INPQUETM and create the IMS56FA.IMS56FA dataset.
The TYPEIMST member creates WORK.IMS56FA, unsorted and
uncorrected.
Or, to create ALL of the IMS log datasets and correct
the INPQUETM, you can use
%INCLUDE SOURCLIB(TYPEIMS7);
which invokes the _SIMS46X sort macro to sort both the
46x and 56x IMS log records and fix IMS56FA's INPQUETM,
writing all IMS datasets to //WORK, but you can use
%LET PIMSxxx=YOURDD; to send individual datasets to your
chosen DDNAME.
Thanks to Thomas Peiper, TIETO, FINLAND.
Change 33.075 When VMXGDBAA was run, the KEEPIN= logic in VMXGSUM could
VMXGSUM fail, resulting in UNINITIALIZED VARIABLEs notes for
VMXGDBAA QWACESC and other variables. Exposed when removing the
Mar 22, 2015 AUTOCALL macros from VMXGDBAA, was not actually reported.
Change 33.074 Support for Mainview for MQ version 5.2 BBMQQUES 'E6'
VMACBBMQ with these new variables added:
Mar 22, 2015 QSAC6NXG ='NEXT*AC6 RECORD*WITH THIS*HASH'
QSIBGETC ='CONSUMED*MQGET*BYTES'
QSIBGTCF ='GET*BYTES*CONSUMED*RATE'
QSIFPUT ='FAST*PUT*COUNT'
QSILMPUT1='LARGEST*MQPUT1*SESSION'
QSISMPUT1='SMALLEST*MQPUT1*INTERVAL'
QSISTCKB ='INTERVAL*START*DATETIME*STAMP'
QSQUDPTH ='UNCOMMITTED*MESSAGES'
QSSBGETC ='CONSUMED*MQGET*BYTES'
QSSBGTCF ='GET*BYTES*CONSUMED*RATE'
QSSBGTCR ='GET*BYTES*CONSUMED*RATE'
QSSFPUT ='FAST*PUT*COUNT'
QSSFPUT1 ='FAST*PUT1*COUNT'
QSSLMPUT1='LARGEST*MQPUT1*SESSION'
QSSSMPUT1='SMALLEST*MQPUT1*SESSION'
QSSSTCKB ='SESSION*START*DATETIME*STAMP'
QWIFPUT1 ='FAST*PUT1*COUNT'
and these old variables are no longer input and will be
missing values in BBMQQUES:
QSIFBGTF QSIFBGTR QSIFBP1F QSIFBP1R QSIFBPT1 QSIFBPTF
QSIFBPTR QSIFBPUT QSINDSCR QSSFBGTF QSSFBP1F QSSFBPT1
QSSFBPTF QSSFBPTR QSSFBPUT
Thanks to Paul Volpi, UHC, USA.
Change 33.073 New variable FCBYTERATE added to TYP11903 and TYP11907
VMAC119 datasets.
Mar 22, 2015
Change 33.072 SMF 103 Documentation. For the Apache Server (which must
VMAC103 be used in z/OS 2.2 where the prior Domino Server is not
Mar 22, 2015 supported), the JOB name can be passed into the D record
with a variable - export JOBNAMEH="WEBSRV02" - in the
shell scripts that start the Apache Web Server and using
this JOBNAMEH variable as ServerName ${JOBNAMEH} in the
httpd.conf file.
The SMF 103 record has been written by the same product
since its inception, but the IBM product names have
included these:
"HTTP Web Sphere Server"
Lotus Domino GO Webserver R4
Internet Connection Secure Server (R3,R2)
and now, in 2015, Apache Server.
Thanks to Joe Faska, DTCC, USA.
Change 33.071 z13 SUPPORT. MXG 33.03 REQUIRED ONLY FOR PROCVIEW CORE.
VMAC7072 For PROCVIEW CPU non-SMT, NO CHANGES WERE MADE TO RMF 70.
Mar 21, 2015
For SMT PROCVIEW CORE Mode, MXG Change 33.046 in 33.02
updated the TYPE70 dataset, but this Change 33.071 in MXG
33.03 is required to update the new SMT metrics correctly
in the TYPE70PR dataset, to get the CPUID, LCPUADDR, and
CORE_ID from the four segments that don't have the same
number of segments: OFFCPUD and SMF70COS have 20 for the
6 online CPs, 4 offline CPs, and 5 zIIPs with CPU_NUM=2,
while SMF70BDN/LPARCPUX has only 18 segments (with the
CORE_NUM needed to look-up the LCPUADDR), and there are
only 14 Core_ID values.
This was a complex update to a CRITICAL MXG MEMBER, with
500+ lines of code inserted lines into the 27,000 lines.
The SMT Mode data has been validated with RMF records,
with a wide range of LPAR configurations. When in SMT
mode, please examine the new data carefully and contact
support@mxg.com if you have questions.
Note: If you read the changed SMT mode RMF 70s with an
old MXG, RMFINTRV may have NEGATIVE CPUOVHTM values and
the %PCTCPUBY values may be over 100%.
Specifically, if z/OS is IPL'd with LOADxx PROCVIEW CORE, on
a processor that is SMT capable, then whether or not MT is
Active, and even if MT=1 is specified, then the RMF 70 record
is restructured with CORE_ID.
This support was validated with z/OS 2.1 and z13 data.
Change 33.070 New INCLAI, three $LIST_L and $RESTAR TOKENIDs, added by
VMACTPMX ThruPut Manager AE+ V7R1.0 create five new variables
Mar 20, 2015 INCLA1 JBL54043 JBL54L44 JBL54L45 RESTAR
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.069 SAS 9.4 has a dictionary entry for DESTINATIONS but
ANALDB2R older releases do not. On zOS, report MXGDB2B1 used this
Mar 20, 2015 to see if the active destination for ODS was listing and
to bypass the graphics code in that report. The PROC SQL
is now only used when we find SAS 9.4 or greater.
-Spurious message were produced indicating reports were
requested when you specified report=NO because the code
was checking the length and not the value.
-If the DB2STATB dataset was empty or non-existent the
macro variable GOTRMF did not exist and raised an
unresolved MACRO variable error.
Thanks to Randy Hewitt, HP, USA.
Change 33.068 Change 30.133 typo caused Q8STCCPU to not be kept.
VMACDB2
Mar 20, 2015
Thanks to Tim King, Blue Cross Blue Shield of South Carolina, USA.
Change 33.067 DB2 Trace ID=102 IFCID=220 misaligned, causing ILLEGAL
VMAC102 ARGUMENT TO MDY function. The QW0220xx variables are
Mar 17, 2015 now kept.
Thanks to Randy Hewitt, HP, USA.
Change 33.066 VMXGPPDS failed when used as documented, unable to find
VMXGPPDS MYPDS because the last few lines of the macro incorrectly
Mar 17, 2015 tried to execute the macro with the defaults.
Change 33.065 If %VGETLIBS found no LIBNAMEs were allocated, it failed
VGETLIBS with MACRO variables not found. Now if there are none
Mar 17, 2015 found, it dies a graceful death and tells you that it
found no matching LIBNAMES.
Change 33.064 Format $MGSTCRT new values for SMF19RTM/RTE variables:
FORMATS '07'X='07X:VTV MOVE'
Mar 16, 2015 '08'X='08X:ALTERNATE RECALL'
Thanks to Mike Jacques, BB&T, USA.
Change 33.063 In parsing a quoted literal such as '15MAR2015'D, to make
VMXGPARS the text more readable, the D could be separated from the
Mar 26, 2015 Quote, resulting in a 180 Syntax Error. VMXGPARS now
recognizes a DT following a quote and/or any non-blank
character and extends the string.
Change 33.062 -In Change 31.209, VMXGSUM's %TRIM AUTOCALLed function was
VMXGSUM replaced by the internal %SYSFUNC function, to circumvent
VMXGINIT errors when sites don't have AUTOCALL/MAUTOSOURCE/etc set
Mar 16, 2015 up correctly, but %TRIM crept back in VMXGSUM and is now
VMXGPARS again replaced with %SYSFUNC.
-MXGDEBUG=FULL option executes PROC OPTIONS VALUE, to show
each option's value and how it was set, PROC PRINTs the
SASHELP tables VLIBNAM to show all LIBNAMES, and VEXFL to
show all External FILENAMES - (is there a SASAUTOS??),
and enables these full source code diagnostic options
OPTIONS SOURCE SOURCE2 MACROGEN MPRINT SYMBOLGEN;
to print full source with line numbers on the SAS log.
Invoke the FULL option in //SYSIN with this syntax:
%LET MXGDEBUG=FULL; %VMXGINIT;
-The %LEFT in %VMXGPARS was replaced.
Change 33.061 GDPS SMF 105 INPUT STATEMENT EXCEEDED when XVMX segment
VMAC105 was not present; the bit test was insufficient to confirm
Mar 16, 2015 the segment was extended so a length test was added.
Thanks to Paul Volpi, UHC, USA.
Change 33.060A Change text was lost, added May 2016.
ANAL113 Dataset ASUM113 was replaced by ASUM1131 for reports.
Mar 11, 2015
Change 33.060 -DCOLLECT Cluster dataset DCOLCLUS now contains variables
VMACDCOL DCDDATCL,DCDMGTCL,DCDSTGCL, Data/Management/Storage Class
Mar 11, 2015 that are retained from the immediately preceding type D
Mar 21, 2015 record prior to the type A record, when the "D" record's
DSNAME matches the "A" records' Cluster Name.
-In DCOLDSET dataset, multi-volume records now contain
those three Class variables in all observations; in the
DCOLLECT records, those fields are only populated in the
DCDVOLSQ=1 records. This change revised the _SDCODSN
Data Set Sort to propagate from the first to subsequent
volume's observations. You MUST USE TYPSDCOL to invoke
that _SDCODSN data set sort or classes will be blank in
the 2nd and subsequent volumes.
-Mar 21: DCOLDSET dataset label added to PROC SORT.
Thanks to John Kim, Worker's Compensation Board of Alberta, CANADA.
Change 33.059 Support for Thales Security Resource Manager RG1100.
EXTHALRT -New variables added to THALSUMD dataset:
IMACTHAL THAASID ='SSID OF*ORIGIN*APPL-AS'
VMACTHAL THADBUSY='BUSY*WITH*USER*REQUESTS'
VMXGINIT THADINTV='INTERVAL*DURATION'
Mar 10, 2015 THADNCNT='REQUESTS*PROCESSED'
Mar 24, 2015 THADOVER='BUSY*WITH*SRM*REQUESTS'
Apr 15, 2015 THADUFLG='DEVICE*CONTINUOUS*USE*OR NOT'
-New THALRESP Response Time dataset, with variables:
THAASID ='SSID OF*ORIGIN*APPL-AS'
THAJBNM ='JOBNAME*OF ORIGIN*USER APPL'
THARSTCK ='USER*MESSAGE*INITIATION*TIME'
THARFDBK ='FEEDBACK*CODE*SET BY*SRM'
THARPRI ='MESSAGE*PRIORITY'
THAMTYPE ='MESSAGE*TYPE*HSM*CODE'
THAERRCD ='ERROR*CODE*SET BY*HSM'
THARINTV1='1ST*INTERVAL*ELAPSED*TIME'
. . .
THARINTV12='12TH*INTERVAL*ELAPSED*TIME'
-Note: TYPETHAL replaced TYPESRHS.
-Mar 24: THAHSM formatted $HEX16, THAHSMR $HEX32.
-Apr 15: THALRESP updated and validated with data.
Datasets THALEXCE,THALVIOL,THALSUMD,THALRESP have these
variables decoded from THAHAM/THAHAMR:
THAHSMCH='HSM*CHANNEL*DEVICE*NAME'
THAHSMIP='HSM*IP*ADDRESS'
THAHSMAX='HSM*IP*AUXILLARY*PORT'
THASMVT ='HSM*VTAM*DEVICE*NAME'
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 33.058 Support for CICS User Field DNDBKR/DNDBKR in CICSTRAN.
IMACICVK
UTILEXCL
VMAC110
Mar 8, 2015
Thanks to Michael Creech, Black Knight Financial Services, USA.
Change 33.057 ECHO= option added in Change 32.154 but not documented:
UTILBLDP If you want to see the code that was created by UTILBLDP,
VMXGPARS it can be printed on the LOG by specifying either the new
Mar 10, 2015 ECHO=YES (or ECHO=Y) argument, or with MXGEXIMSG=YES.
Mar 20, 2015 -%LEFT replaced in VMXGPARS.
Change 33.056 Using OPTIONS OBS=0 to create zero-observation datasets
SAGANAL from SMF data, read via the ftp access method, executing
UTILBLDP on ASCII, failed with these messages:
Mar 11, 2015 NOTE: <<< 451 Transfer aborted: send error.
NOTE: >>> QUIT
ERROR: Bad request. Use the debug option for more info
SAS Note http://support.sas.com/kb/14/679.html documents
that OBS=0 can not be used with ftp access method.
Tailoring to build RMFINTRV from only 70s and 72s used
%INCLUDE SOURCLIB(TYPS7072);
to create the TYPE70 and TYPE72GO datasets for input to
create the RMFINTRV dataset with CPU metrics, but using
OPTIONS OBS=0;
%%INCLUDE SOURCLIB(TYPS71,TYPS73,TYPS74,TYPS75,TYPS78);
RUN;
to create the other datasets required for RMFINTRV, but
creating them with zero observations so they take no disk
space, preventing B37 if high volume ID=74 SMF records
were accidentally in the input SMF file. Each TYPS member
opens the SMF filename, although no records are read.
This ancient and inefficient syntax was replaced with
%UTILBLDP(OUTFILE=INSTREAM,
BUILDPDB=NO,
USERADD=7072 71 73 74 75 78,
ZEROOBS=71 73 74 75 78);
%INCLUDE INSTREAM;
-But using UTILBLDP under Linux raised errors because some
macros (%QCMPRES, %LEFT) were not found because SASAUTOS
is not allocated by default under Linus (CH 33.051) and
were unresolved. But Change 31.209 had stated that those
macros were replaced by SYSFUNC calls to avoid the long
standing problem trying to use SAS-supplied SASAUTOS
macros, so UTILBLDP is now free of SASAUTO macros.
Thanks to David F. Salsieder, American Family Insurance, USA.
Change 33.055 Support for CICS User Field USER/MEBTRAN in CICSTRAN.
IMACICVK
UTILEXCL
VMAC110
Mar 8, 2015
Thanks to Jeff Fracas, WiPro, USA.
Change 33.054 Reserved Change Number.
Change 33.053 -Support for z13 updates to type 99 subtype 14, STRONGLY
VMAC99 RECOMMENDED by IBM to be enabled for PROCVIEW CORE to
Mar 8, 2015 allow you to see which LPARs end up where.
Variables were added to both TYPE99EM and TYPE99EP.
Change 33.052 z13 Support updates.
VMAC113 -With PROCVIEW CORE, SMF 113 was INCOMPATIBLY changed to
ASUM113 add COREID etc to support SMT, with changes to MANY of
Mar 14, 2015 the calculated variables that were not in Change 33.023.
Apr 10, 2015 -The SPEED value for the zIIP can incorrectly be zero but
MXG sets SM1132SP=5 for the z13 to circumvent the known
occasional incorrect value.
-With PROCVIEW CPU, non-SMT mode, RNI was incorrect, with
a negative value, that was also corrected by this change.
-Apr 10: zEC12 RNI 1st factor changed from 2.2 to 2.3.
Change 33.051 MXG initialization revised so the FILENAME SASAUTOS isn't
VMXGINIT listed in the list of input source libraries, as Linux by
Mar 3, 2015 default does not have a SASAUTOS filename allocated.
Change 33.050 Graphics code had a not sorted condition caused by the
ANALHSM order of the variables in the BY list. Protection added
Mar 3, 2015 for all missing values in a variable, which caused ODS
graphics to print warning and suppressed changes in the
tick value formats by using XAXIS YAXIS code.
Thanks to Lindsay Oxenham, IBM, AUSTRALIA.
Change 33.049 Three new UTILEXCL reports may be printed. REPORT 00 will
UTILEXCL print all dictionary records read in today from SMF.
Mar 2, 2015 REPORT 00 prints any Transaction Records that do NOT have
a dictionary record, and REPORT 000 shows each of the
APPLIDs that did not have a dictionary record. Both 00
and 000 reports show the SYSTEM and READTIME of those
Transaction Records, since THAT is when the dictionary
record was written, so you know which day's SMF to read
to find those missing dictionary triplet records.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 33.048 -When a GETDSAB error occurred the Reason Code was
ADOCRMFV displayed as NNNN in severe error message RMFV007S.
ASMRMFV The Reason Code is only valid if the Return Code is
Feb 27, 2015 12. In all other cases the Reason Code for this
situation will display as blanks.
-Update documentation for message RMFV007S.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Wayne Bell, UniGroup, Inc.
====== Changes thru 33.047 were in MXG 33.02 dated Feb 27, 2015=========
Change 33.047 -UTILEXCL updated to skip the CICS/TS 3.2 OMEGAMON CMRDATA
IMACICM0 segment when it is the incorrect length of 200 bytes.
UTILEXCL Change 28.027 discusses, but only told you to install the
Feb 27, 2015 correction; this change circumvents by telling you to use
the IMACICM0 (instead of the normal IMACICMR) to skip.
Thanks to Donald Blaszka, Wipro, USA.
Thanks to Jeff Fracas, Wipro, USA.
Change 33.046 New variables in TYPE70 for z13 MULTITHREADING:
FORMATS
VMAC23 MXG 33.01 CHANGES noted one z13 site had NEGATIVE CPUOVHTM,
VMAC26J2 but that was ONLY IF z/OS on z13 is in MULTI-THREADING MODE.
VMAC26J3 MXG was unaware of IBM's restructuring the RMF type 70 SMF
VMAC7072 record's calculation of CPU BUSY time for the new MT mode,
VMAC71 but this MAJOR CHANGE restructured TYPE70 processing in MXG
VMAC75 to order by CORE_ID and CPU_NUM rather than CPUID/LCPUADDR.
Feb 26, 2015
If NOT Multi-Threading, new metrics were COMPATIBLY ADDED.
Mar 21, 2015
Specifically, if z/OS is IPL'd with LOADxx PROCVIEW CORE, on
a processor that is SMT capable, then whether or not MT is
Active, and even if MT=1 is specified, then the RMF 70 record
is restructured with CORE_ID. While this change in MXG 33.02
updated the TYPE70 dataset, MXG 33.03 is REQUIRED now for the
complete support for the TYPE70PR changes as well.
SMF70MCF ='MULTITHREADING*MAXIMUM*CAPACITY*GP'
SMF70MCFS='MULTITHREADING*MAXIMUM*CAPACITY*ZIIP'
SMF70MCFI='MULTITHREADING*MAXIMUM*CAPACITY*ZAAP'
SMF70CF ='MULTITHREADING*CAPACITY*GP'
SMF70CFS ='MULTITHREADING*CAPACITY*ZIIP'
SMF70CFI ='MULTITHREADING*CAPACITY*ZAAP'
SMF70ATD ='AVERAGE*THREAD*DENSITY*GP'
SMF70ATDS='AVERAGE*THREAD*DENSITY*ZIIP'
SMF70ATDI='AVERAGE*THREAD*DENSITY*ZAAP'
New variables in TYPE70PR
SMF70MTID='MAXIMUM*THREAD*IDENTIFICATION'
SMF70MTTT='MULTI*THREADING*IDLE*TIME'
Variables SMF70CAN/SMF70CTN are now correctly missing
values for an LPAR with no engines (LCPUADDR=. also).
These variables were previously incorrectly populated.
The order of these offline LPARS may be different now.
New variables in TYPE71
SMF71MCF='MULTITHREADING*MAXIMUM*CAPACITY'
And several PIB4 variables are now INPUT as RB8.
TYPE75 SMF75AVL now input as floating point.
New variables in TYPE799 dataset:
R799CUQ ='CU*QUEING*TIME'
R799CN2 ='DEVICE*FLAG*ESTENSION*2'
R799CSC ='SUBCHANNEL*SET*IE'
New variables in TYPE89 dataset:
SMF89CR ='0=CP CREDITS*1=IB CREDITS'
New variables in TYPE9005 dataset:
SMF90ESWT='SWT*VALUE'
SMF90ETWT='TWT*VALUE'
New variables in TYPE23 dataset:
SMF23BBC='ZEDC*UNCOMPRESSEDSED*BYTES*TOTAL'
SMF23BAC='ZEDC*COMPRESSED*BYTES*TOTAL'
New variable in TYPE26J2 and TYPE26J3
SMF26JCR='JOB*CORRELATOR'
In multi-threading mode, the TYPE70PR data is changed
from a one-to-one mapping of CPUID and LCPUADDR to the
CORE_ID, and a core can have 2 CPUs. The CPUID value from
the CPU Data Section is used to select the suffix for
those datasets that have a unique set of variable names
for each LPAR (TYPE70,ASUM70PR,ASUMCEC).
Change 33.045 The SMF 110 ST 1 record descriptions in the ANALID report
VMACID incorrectly stored 110.001 in variable IDANDSUB instead
VMACSMF of values 110.101-110.106, so only '110.001' was printed
Feb 23, 2015 instead of these possible descriptions;
110.1.1:CICS DICTIONARY MNSEGCL=1
110.1.3:CICS TRANSACTION MNSEGCL=3
110.1.4:CICS EXCEPTION MNSEGCL=4
110.1.5:CICS RESOURCE MNSEGCL=5
110.1.6:CICS IDENTITY MNSEGCL=6
While this is only a cosmetic error, these are important
enough that I refreshed 33.01 to add this change.
Thanks to Andre G Amoretto, IBM Global Services, BRAZIL.
====== Changes thru 33.044 were in MXG 33.01 dated Feb 20, 2015=========
Change 33.044 See Change 33.155. These data are now in TYPE74ST.
VMAC74 Corrections for TYPE74MO SCM Structure dataset. The test
Feb 19, 2015 for length had incorrect syntax, but fortunately did not
cause a false positive. There was a missing */ in the
INPUT that misaligned data. Also, it appears, from this
note 2 on page 366 of z/OS V2R1.0 RMF Report Analysis
that TYPE74MO can have zero observations because:
"SCM statistics are only included in the SCM Structure
Summary for those structures that make use of the SCM
storage extension and have set a non-zero maximum SCM
size. If none of the structures is configured to exploit
SCM, the SCM Structure Summary displays message: No
storage class memory data available."
Thanks to Otto Burgess, ATPCO, USA.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.043 DATASET VXUSEACT/VXUSEINT NOT SORTED ERROR because the BY
VMACVMXA lists for the MERGE were not identical.
Feb 19, 2015
Thanks to Chris Weston, SAS Institute, USA.
Change 33.042 Using INCLAFTR=BUIL3005 for JES3 failed with PDB.TYPE25 ,
UTILBLDP not found because UTILBLDP incorrectly blanked _STY25.
Feb 19, 2015
Thanks to Paul Volpi, UHC, USA.
Change 33.041 SMFSRCH did not read the SMFOUT file of selected records,
FORMATS due to an undocumented change in VMXGINIT that replaced
SMFSRCH &SMF with SMF, preventing changing the input DDNAME and
VMXGINIT causing the full input SMF file to be read by TYPESMF,
Feb 18, 2015 287 times! TYPESMF is replaced by a tailored UTILBLDP
Feb 23, 2015 invocation that only processes the selected record types,
Feb 24, 2015 and in only one step. And a PROC FORMAT that could fail
with overlapped values was replaced in the new design.
The selected record types are reported, and if you have
user SMF records selected, you will need to use USERADDS
%SMFSRCH(USERADDS=xxxx/nnn yyyy/mmm) to tell MXG which
xxxx product has which nnn SMF record type.
-Format MGSMFPR maps SMF Record Type to Product Suffix for
the UTILBLDP USERADD= argument.
-Feb 23: Harmless APPARENT UNRESOLVED ADDIDS if no records
were selected corrected.
-If SMFSRCH failed to find your text in SMF, it generated
a call to UTILBLDP with BUILDPDB=NO and USERADD= to null
which caused UTILBLDP to fail with MACRO variables not
found. Now if no records are found, it terminates with:
MXGNOTE: NO RECORDS WERE FOUND CONTAINING &LOOKFOR;
MXGNOTE: SMFSRCH WILL BE TERMINATED;
and if UTILBLDP has BUILDPDB=NO and USERADD=blank it will
terminate with:
MXGERROR: YOU SPECIFIED BUILDPDB=NO BUT DID NOT;
MXGERROR: SPECIFY A USERADD= SO UTILBLDP DOES;
MXGERROR: NOT HAVE ANYTHING TO DO AND WILL SET;
MXGERROR: THE OUTFILE TO A NULL DATASET;
and since the OUTFILE is NULL a following include of that
file will not fail since it is empty.
Change 33.040 Support for SystemWare XPTR 5.2 subtype 140 record which
VMACXPTR now contains what used to be in their subtype 40 record.
Feb 18, 2015
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 33.039 Summarization of Mobile Work CSV files to combine hours
MOBWRKSU that were split between two CSV files. All files from a
Feb 19, 2015 family are concatenated to the //CSVINPUT DD and the
summarized CSV data is written to //CSVSUMRY DD.
-CSVSUMRY was originally DISP=MOD, to collect the input
from four sources, but DISP=MOD can not be used for a
PDSE member, so the MOD file is written to an internal
catalog file, which is then copied to //CSVSUMRY.
Change 33.038 Change 30.082 added protection for SMF type 60 record
VMAC60 with no VVR segment, but the protection was insufficient,
Feb 17, 2015 and an INPUT STATEMENT RECORD EXCEEDED error could still
occur. Now, the remaining length is verified.
Thanks to Tabbitha Flink, FirstData, USA.
Change 33.037 Support for HP MeasureWare for Linux.
ADOCMWLX -ADOCMWLX has the REPORT command to extract the fields MXG
EXMWLXAP expects, so it must be used to create MXG's input data.
EXMWLXCO -CPU Times in the MWLXGLOB dataset are presumed to be the
EXMWLXDS per-CPU values in the record; they have been multiplied
EXMWLXGL by the number of CPUs. Other times are as found.
EXMWLXLA -ALL STORAGE variables contain BYTES and are formatted
EXMWLXPR with MGBYTES for total bytes and MGBYTRT for byte rates.
EXMWLXTT Fields in the record in KB have been converted to bytes.
IHDRMWLX -IHDRMWLX or &MACMWLH can be used to select which TYPE
IMACMWLX records are to be read.
TYPEMWLX
TYPSMWLX
VMACMWLX
VMXGINIT
Feb 13, 2015
Feb 20, 2015
Thanks to Roman Gudz, Penske, USA.
Change 33.036 -RACF SMF 80 record, SMF80TP2=301, Command Segment Data
VMAC80A segments "CTOKENKY" and "CTOKENTM" are supported.
Feb 12, 2015 -The variable length TOKxxxxx fields do not document their
max length, and MXG can get INPUT RECORD EXCEEDED errors
if an input field is longer than the defined length in
its $VARYINGnn informat. These variables are increased to
$VARYING64 to hopefully avoid the error condition:
TOKCOMPANY TOKCOUNTRY TOKFNAME TOKMNAME TOKLNAME
TOKMCARRIER TOKMCANSWR1 TOKMCANSWR2 TOKMCANSWR3
TOKMCBADCNT
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 33.035 RACF SMF 80 record, SMF80TP2=301, Command Segment Data
VMAC80A segment "AUTOGID" decodes 4 variables but their contents
Feb 11, 2015 is not known at this time:
TOKMAUTOGID01 TOKMAUTOGID02 TOKMAUTOGID03
TOKMAUTOGID04
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 33.034 The variables SYSABEND and USRABEND were created but not
VMACIMS decoded in the IMS56FA transaction dataset. Now, COMPCODE
Feb 10, 2015 is decoded into these two useful IMS transaction abend
code variables in all record that contain it.
Thanks to Raymond J. Smith, OPTUM, USA.
Change 33.033 WPS 3.1.1 maint level 731 will now write multiple output
WEEKBLD datasets to sequential format data libraries without the
Feb 10, 2015 need to use DISP=MOD. Without MOD and 731, each write
overwrote the prior, leaving only the last dataset.
Change 33.032 -Variables SMF70WTI/SMF70WTS/SMF70WTU (new WTI-s) were ok
VMAC7072 in dataset TYPE70EN, but were always zero in TYPE70PR.
VMXG70PR TYPE70PR is now corrected, but those values only exist
Feb 8, 2015 in the "THIS PART" TYPE70 records, so you must read ALL
system's TYPE70s to properly populate these variables.
They are always missing in the LPARNAME='PHYSICAL's
-VMXG70PR is updated so the PDB.ASUM70LP and PDB.ASUMCELP
LPAR Summary datasets contain those variables, but only
if RMF type 70 records from ALL systems are input.
Change 33.031 Using BLDSMPDB and FORCEDAY to re-run a daily job could
BLDSMPDB incorrectly calculate the start of week, depending on the
VMXGALOC case of your typed code. Now when you specify FORCEDAY
Feb 19, 2015 to rerun SMF data, ZDATE will be set to FORCEDAY+1.
Feb 26, 2015 Error was introduced in MXG 32.11, Change 32.253.
And all of the tests where casing can impact are now
now protected with %UPCASE compiler functions, but the
members remain lower case because of earlier problem in
casing in Linux systems; it might not still be required,
but not worth the exposure and time spent for no value.
Change 33.030 Mainview for MQ 5.2 support is corrected; the wrong byte
VMACBBMQ was used to detect compressed records, causing spurious
Feb 5, 2015 messages that individual records were compressed.
Thanks to Greg Tuben, BMC Software, Inc., USA.
Change 33.029 The iSeries a/k/a AS400 QAPM "suffix" was replaced by the
TYPEQACS "QACS" suffix years ago, but those old QAPM members are
Feb 4, 2015 now removed; they were causing false positives in the MXG
QA tests, and served no purpose. All of the xxxxQAPM are
deleted, and these exit members that weren't carried into
the QACS product were also deleted.
dddddd exit dddddd exit
token member token member
_WQAPASY EXQAPASY _WQAPPOO EXQAPPOO
_WQAPBSC EXQAPBSC _WQAPRWS EXQAPRWS
_WQAPDDI EXQAPDDI _WQAPSTD EXQAPSTD
_WQAPECL EXQAPECL _WQAPSTL EXQAPSTL
_WQAPFRL EXQAPFRL _WQAPSTY EXQAPSTY
_WQAPIDL EXQAPIDL _WQAPX25 EXQAPX25
_WQAPJOB EXQAPJOB
_WQAPLAP EXQAPLAP
While the SUFFIX QAPM is retired, the names of all of the
datasets created by TYPEQACS are unchanged and all start
with QAPMxxxx.
Change 33.028 Support for EDS User SMF Record from NETMENU Program,
COMPALL creates new dataset:
EXTYNTMU DDDDDD DATASET DESCRIPTION
FORMATS TYNTMU NETMENU SMF NETMENU RECORD DATABASE
IMACNTMU
TYPENTMU
TYPSNTMU
VMACNTMU
VMXGINIT
Feb 3, 2015
Thanks to Joe Babcock, General Motors, USA.
Change 33.027 Example from SAS Help to delete all GLOBAL'ed USER MACRO
VMXGDELV Variables, used only in the QA JOB when new code caused
Feb 3, 2015 an unexplained error (the "TURN SPOOL ON" message) in
Step 34, but there was no error when Step 34 ran first.
By clearing all Global Macros before Step 34, the actual
unresolved macro variable error was then unmasked, but
maybe only accidentally! To clear and re-initialize
%VMXGDELV;%INCLUDE SOURCLIB(VMXGINIT);%VMXGINIT;
is needed so that the GLOBAL statement in VMXGINIT is
re-executed. And because %VMXGDELV cleared the flag
variable MXGINIT, %VMXGINIT prints the Welcome To MXG
message, instead of the the re-initialization message.
Change 33.026 Reserved Change Number.
Change 33.025 -Variable QBSTBPIN='BUFFER*POOL*IO*INTENSITY' based on IBM
ANALDB2R Tivoli calculation is added to DB2STATB dataset and also
VMACDB2 ANALDB2R reports the value.
VMXGDBSS QBSTBPIN=SUM(QBSTRIO,QBSTSPP,QBSTLPP,QBSTDPP,QBSTIMW,
Feb 3, 2015 QBSTWIO)/QBSTVPL;
Feb 26, 2015 -ASUMDBSB now reports both average and maximum QBSTBPIN.
-Debugging test IF SYSTEM='SYSG' removed from DB2B1 Buffer
Pool Statistics reports
-Feb 26: Protected QBSTBPIN from divide by zero error when
QBSTVPL=0 when no buffers were allocated in the pool.
Thanks to Tim Hare, Hare Systems Support, USA.
Thanks to Jonathan Bathmaker, Southern California Electric, USA.
Thanks to Tom Buie, Southern California Electric, USA.
Change 33.024 Test added to detect ANY work in service class SYSOTHER.
UTILRMFI The UTILRMFI utility is cited in error messages that your
UTILWORK CPUTM does not match CPU72TM when building RMFINTRV: run
VMXGRMFI UTILRMFI to examine your VMXGRMFI workload definitions to
Feb 3, 2015 find what work was overlooked. However, if there is any
work in the SYSOTHER Service Class (which itself is an
error in your site's WLM Classification Rules), that may
cause the mismatch, since that work probably also doesn't
have a Reporting Class. Now you are alerted of the WLM
definition error. Note that SYSOTHER is also undesired
because that work is MTTW DISCRETIONARY, so whatever is
falling thru is NOT going to get much service.
Change 33.023 Support for new z/OS z13 hardware metrics (COMPATIBLE):
FORMATS -APAR OA43493 RMF Support Cryptographic Express5S cards:
VMAC30 New Crypto Processor types in R7023CT/24CT/25CT variables
VMAC7072 decoded by $MGRMFCY/MGRMFCZ formats in datasets TYPE7002,
VMAC74 TYPE70X2, and TYPE70Y3.
VMAC113 New variables in TYPE70Y2 dataset:
VMACVMXA R702AMGB='DATA BYTES*FOR*GENERATE*AES MACS'
Jan 29, 2015 R702AMGC='CALLS TO*GENERATE*AES MACS'
ASUM113 R702AMGI='INSTRUCTIONS*TO GENERATE*AES MACS'
Feb 25, 2015 R702AMVB='DATA BYTES*FOR*VERIFIED*AES MACS'
May 21, 2015 R702AMVC='CALLS TO*VERIFY*AES MACS'
R702AMVI='INSTRUCTIONS*TO VERIFY*AES MACS'
R702DEGC='CALLS*TO GENERATE*ECC*SIGNATURES'
R702DEVC='CALLS*TO VERIFY*ECC*SIGNATURES'
R702DRGC='CALLS*TO*GENERATE*RSA*SIGNATURES'
R702DRVC='CALLS TO VERIFY*RSA*SIGNATURES'
R702FPDB='DATA BYTES*DECIPHERED*USING FPE'
R702FPDC='CALLS TO*DECIPHER*USING FPE'
R702FPDI='INSTRUCTIONS*TO DECIPHER*USING FPE'
R702FPEB='DATA BYTES*ENCIPHERED*USING FPE'
R702FPEC='CALLS TO*ENCIPHER*USING*FPE'
R702FPEI='INSTRUCTIONS*TO ENCIPHER*USING FPE'
R702FPTB='DATA BYTES*TRANSLATED*USING FPE'
R702FPTC='CALLS TO*TRANSLATE*DATA*USING FPE'
R702FPTI='INSTRUCTIONS*TO TRANSLATE*USING FPE'
-APAR OA44502 RMF Support Coupling Channel Path Type CS5:
Format $MG074OM updated and applied to variable R744HOPM
in dataset TYPE74HO.
-APAR OA30563, Enhanced SMF 30 and 89 recording; metrics
listed in the updated APAR were added in Change 28.175.
The APAR adds new MAXEVENTINTRECS with zero default,
so the new capacity changed interval 30/89 records will
not be created with that zero value.
-APAR OA35175, SMFPRMxx options DSPSIZMAX; the TYPE23
dataset updates were actually made in Change 29.177.
-APAR OA45985, RMF support for zHYPERWRITE in 2107 CU.
Adds new variable HYPERWRT='Y' to TYPE74 if requested.
-SMF 113 has new z13 counters and revised calculations,
including RNI and its component variables:
RNI=2.6*(0.4*L3P+1.6*L4LP+3.5*L4RP+7.5*MEMP)/100;
Corrections made March 5. However, the new counter
descriptions do not yet exist.
Note that variables L15P L2LP L2RP are always missing
values on the z13.
Without this change, negative RNI values for z13 even in
non-SMT mode were created.
-May 21: ZEDC added to the label for those eight metrics.
Change 33.022 A JES3 site TERSE with UNPACK failed with DCB attributes
DOC //SYSPRINT DD RECFM=FBA,LRECL=133,BLKSIZE=13232, but with
Jan 28, 2015 only the message AMA504I RETURN CODE: 12 and no clue.
Removal of the DCB attributes successfully untersed.
However, it was NOT the non-multiple of LRECL for BLKSIZE
that was the error. A prior IDCAMS step had a //SYSPRINT
DD that JES3 made into a temporary DSNAME, and the same
DSNAME was then used in the TERSE step, but the different
BLKSIZE caused the conflict and RETURN CODE. That's my
story and I'm stikin' to it until I learn more about why
JES3 passed a temporary DSNAME for //SYSPRINT. However,
there is NO need for DCB attributes on SYSOUT= DDnames,
so to avoid ANY future exposure, I've removed all DCB
from those DDs in all MXG examples.
-All //OUTPUT DDs for PGM=FTP were removed, as //SYSPRINT
is used for all messages when there is no //OUTPUT DD.
Thanks to Tom Adams, State Farm Mutual Automobile Insurance, USA.
Change 33.021 -If no Reporting Classes were defined, ASMRMFV skipped all
ADOCRMFV RCD tables as invalid due to a faulty calculation, with a
ASMRMFV RMFV035W **WARNING:159 RCD TABLES SKIPPED DUE TO ERRORS
CLRMFV and ultimately set a Return Code 16. Should be very rare
JCLRMFV since most sites DO define Reporting Classes.
JCLCRMFV -Change 32.055 did not fully resolve the RED table issue:
JCLdRMFV RMFV035E:1 RED TABLES SKIPPED DUE TO INVALID ID OR FLAG
Jan 26, 2015 the Invalid Resource bit may be set for Processor entries
in the RED table in a MINTIME interval due to normal
processor change events, so these are not true RED table
errors and ASMRMFV was incorrectly issuing an RMFV035W
warning message and Return Code 16 for this transient and
insignificant return code.
-ASMRMFV now will NOT alter the Return Code, issuing a
distinct RMFV035I information message for this condition
regardless of the setting of the TABERR= option:
RMFV035I -IGNORED-: nnnnn RED TABLES SKIPPED DUE TO
INVALID PROCESSOR RESOURCE FLAG---
-After Change 32.289 the number of Policy Indexes Used
in informational message RMFV028I as triggered by the
INDEXES option could be incorrect.
-The MXG table was shown in the Detail Report with the
NOSHOWZERO option in effect even when zero records were
output. This table is only output once for the first
RMF III data set processed.
-The RMFV006I FILTER message for ASI, DVT, and CFI table
specific options is now always shown even if none of
these tables are selected for a minor performance gain,
as selection logic for what to display was revised.
-Unnecessary checks for I/O errors on the SYSPRINT file
are removed. An ABEND occurs with any I/O error on this
file so the additional checks were unneeded.
-Updates for revised messages RMFV006I and RMFV035I are
made to Section 12 "Messages" in ASMRMFV and ADOCRMFV
documentation members.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks To John Wynn, IBM Global Technology Services, USA.
Change 33.020 AS/400 iSeries fixed-length records change lengths with a
VMACQACS new version, so you may have to change the LRECL in your
Feb 2, 2015 FILENAME statement on ASCII or in your JCL on z/OS.
The length change is usually detected with MXG messages
on the log with "PAD RECORD FOUND AND DELETED".
Now, you can specify %LET MXGABND=NNNN; in //SYSIN to
force USER ABEND NNNN if more than 10 PAD records
are found. Use 0001 thru 4096 for the NNNN value.
New messages identify the filename and dsname being read.
Thanks to Raymond J. Smith, OPTUM, USA.
Change 33.019 Variables TOKQUEST1-TOKQUEST3, TOKCANSWR1-TOKCANSWR3 and
VMAC80A CBADCNT are added to dataset TYPE80TK.
Jan 21, 2015
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 33.018 -RACF TYPE8025 Record with DTP=30 segment with 'C0'X value
VMAC80A for the status ('80'x=ACTIVE,'40'x=BACKUP) caused ERROR:
Jan 21, 2015 INVALID RACF ID=80 RACFTYPE=30 SEGMENT SKIPPED, because I
Feb 5, 2015 didn't realize a DSNAME could be both ACTIVE and its own
Feb 23, 2015 BACKUP, so I had created two sets of variable names, with
RACFDBxx for the ACTIVE segment and RACFDKxx for BACKUP.
Test for '80'x first, now stores into RACFDBxx variables,
or '40'x or 'C0'x store into RACFDKxx variable names.
-For BACKUP-ONLY ('40'x) segments, both UNIT NAME/VOLSER
are not populated, while both are in the ('C0'X) record.
-Feb 23: TOKMPROCUSERMAX variable decoded.
See Change 33.084.
Thanks to Karl Lasecki, American Chemical Society, USA.
Change 33.017 Documentation only! Example added that sends all of the
UTILBLDP DB2ACCTx datasets to a single //DB2ACCT LIBNAME, and uses
Jan 21, 2015 MACKEEPX in UTILBLDP to control dataset destinations and
sorts and could also be used to limit variables. The
DB2KEEP= parameter in BLDSMPDB is used to tailor the
number of generations retained to control the storage
needed for these normally-large datasets (ASCII only with
AUTOALOC=YES).
Change 33.016 Support for z/VM 6.3 on z13 processor (INCOMPATIBLE).
VMACVMXA -The PRCMFC 5.13 record's new CSVN=4 hardware counters
Jan 20, 2015 caused MXG code to fail with "BROKEN CONTROL RECORD".
Circumvented by skipping the extra 24 bytes, await
the actual documentation of those new counters before
decoding.
IN PROGRESS.
Change 33.015 DCOLLECT variable DCDCREAT-DATETIME*WHEN*DATASET*CREATED
VMACDCOL is added to dataset DCOLDSET; the time part wasn't in the
Jan 20, 2015 original record, but was added by APAR OA30006 in 2009.
DCDCREAT is only populated if both DCDCREDT and DCDTIMEC
are non-zero.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.014 Support for z/13 processor increase to 85 LPARs was added
VMAC7072 in MXG 32.06, Change 32.162, July, 2014, changing the
Jul 27, 2015 statement to ARRAY S70LPCP {86} _TEMPORARY_; to support
Jan 19, 2015 85 "real" LPARs plus the PHYSICAL "LPAR". Support for
255 engines was added silently in MXG 31.04 in 2013.
Change 33.013 Support for CTG Version 9.1 (COMPATIBLE).
EX111WS -Variable added to CTGSE System Environment dataset:
EX111WSX CTGC31MAX='LIMIT OF*USED*MEMORY*ELOAL'
IMAC111 -Two new segments, WS and WSX create new datasets:
VMAC111 DDDDDD DATASET DESCRIPTION
VMXGINIT 111WS TY111WS WEB SERVICE ALL
Jan 20, 2015 111WSX TY111WSX WEB SERVICE INSTANCE
Thanks to David Marone, SGS, ITALY.
Change 33.012 Unused Change Number.
Change 33.011 -INPUT STATEMENT EXCEEDED, DFSORT SMF 16, OFFSTAT=640 and
VMAC16 LENSTAT=64, but record is TRUNCATED with LENGTH only 636,
Jan 14, 2015 so there is no STAT segment in the record.
A PUTLOG ERROR message is written for the first three
instances, the TYPE116 dataset is output, but variables
RECIND01-RECIND16 will be missing values. This text will
be revised when an APAR exists. DFSORT Release 2.01.
-These variables added in DFSORT 2.01, but not listed in
the manual's changes, nor marked as new with the expected
vertical bars, are now added to dataset TYPE16:
ICEDYINC='INITIAL*INCREMENT'
ICEDYMAX='FINAL*EXPMAX*DYNAMIC*VALUE'
ICEDYOLD='FINAL*EXPOLD*DYNAMIC*VALUE'
ICEDYRES='FINAL*EXPRES*DYNAMIC*VALUE'
ICETUNE ='TUNE*VALUE*IN*EFFECT'
Thanks to Kerry Sommers, John Deere, USA.
Change 33.010 No errors have been reported, but ARRAY WORDS statements
VMAC112 raised conflicts if TYPE112/TYPEEZAM/TYPETMNT are read
VMACEZSM together; only one ARRAY NAME can be used in a DATA step.
VMACTMNT These are temporary arrays for parsing with different
Jan 12, 2015 dimensions and variable lengths, so the ARRAY NAMEs are
made unique to eliminate the exposure.
Change 33.009 IBM Updates to SMF 14/15 for zEDC Compression Indicator
FORMATS SMF30XF1 adds values and is now decoded by $MG014ED:
VMAC1415 '0'='0:SIZE VALUES INVALID'
Jan 12, 2015 '1'='1:COMPRESSION REJECTED'
'2'='2:ZEDC WRITTEN UNCOMPRESSED'
'3'='3:ZEDC SOFTWARE DECOMPRESSED'
and new SMF14CMPTYPE='Compression Type' variable is
added and decoded by MG014CT format:
0='0:NOT COMPRESSED/UNKNOWN'
1='1:GENERIC'
2='2:TAILORED'
3='3:ZEDC'
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.008 ONLYCIDS example creates ONLY the PDB.CICDS Dispatcher
ONLYCIDS Statistics dataset, that contains interval CPU time for
Jan 12, 2015 each CICS Interval, and can be used for CPU Time Metric
in IBM Mobile Work Discount
Thanks to Scottie Long, Navy Federal Credit Union, USA.
Change 33.007 TYPERMF incorrectly requires a //PDB DD because it was
TYPERMF not updated when the 2005 "SPLIT70 logic" created the
Jan 11, 2015 TYPE70EN dataset, written to PDB by default. Like the
two existing %LETS for PTY70 and PTY70PR in TYPERMF,
a %LET PTY70EN=WORK; is needed so //PDB is not used.
Thanks to George Baranoff, Safeway, USA.
Change 33.006 -SAS Error "No MKLEs found" and "ERROR: VM 1319:" is a
DOCUMENT virtual storage issue, usually too small a REGION= size,
Jan 11, 2015 but also a known SAS Version 9.2 defect, see below.
-The MXG QA "BUILDPDB" JOB (with a few added SMF types)
increased from 130MB in 31.31 to 140MB in 32.32.
-Each new MXG version adds new variables, datasets, and
code which cause the REGION size to increase a little.
Unfortunately, the z/OS REGION is a LIMIT not a BENEFIT,
so you get to periodically increase the REGION= value,
and/or check with your site's "REGION SIZE POLICE" to
find their actual limit for REGION=0M, and/or what JOB
CLASS/RACFUSER will let you allocate the REGION needed.
-There is NO ACTUAL RESOURCE "consumed" by REGION size.
-The actual step region size is in the IEF032I message on
joblog for each step: EXT: 130,852K SYS: 12,088K
EXT is the region size "Above the 16MB Line" and SYS is
the size of the Private Area on this system. Their sum is
the region size allocated to this step, or
130,852+12,088=142,940K=140MB REGION size.
-The SAS log shows "And 130852K Above the Line" matching
the EXT value exactly. SAS also reports a value for the
"Below the Line", but it is (small) amount used, not the
actual size of the Private Area, which must be included
in the REGION limit.
-One site moving from an ancient MXG version still had
REGION=6M on their JOB Card from the prior millennium.
You get the system default of 32MB Above the Line plus
the Private Area, or about 42MB, but because their daily
job was split into parallel pieces, it actually had
worked (accidentally?) until 32.32.
-SAS needs REGION size for referenced FORMATS, for dataset
buffers, for arrays, for SAS VIEWs, and for the CICSIFUE
SMFEXIT=CICS INFILE exit to load.
-SAS Version 9.2 is Class C support from SAS and it had
fatal errors in virtual storage on z/OS that were ONLY
corrected by SAS 9.3 or 9.4.
-One 9.2 site's tailored BUILDPDB ran in 130MB with 30.01,
needed 159MB with 32.32, but when the CICSIFUE exit was
enabled, the job failed and IEF032I reported only 97MB
had been allocated. Rerun with 32.32 and SAS 9.4 and
WITH the exit needed 179 MB, and ran with no error.
-MXG 33.03 QA BUILDPDB on z/OS 2.1, SAS 9.4(TS1M2) needed:
142M with View Disabled and no CICS EXIT Enabled.
147M with the View Enabled (default), and no Exit.
149M with both the VIEW (ID, for ANALID) and with EXIT.
Copied from NEWSLTRS:
SAS USER U1319 ABEND if EXITCICS/CICSIFUE and /VIEW=_WCICTRN used,
or with BUILDPDB, if back level SAS 9.1.3 SP4 without Hot Fix 37166
is used. SAS Error is corrected in SAS 9.2.
Using a VIEW for CICSTRAN with the CICSIFUE decompression INFILE
user exit caused a USER ABEND U1319 error, that is now corrected in
the SAS HotFix for SAS Note 37166.
This SYSIN input caused the U1319 abend :
%LET SMFEXIT=CICS;
%INCLUDE SOURCLIB(VMACSMF,VMAC110,VMXGUOW,IMACKEEP);
DATA
_VAR110
/VIEW=_WCICTRN;
_SMF
_CDE110
_S110
with these cryptic messages on the SAS log:
+No MKLEs found
+ERROR: VM 1319: The PCE address= 1848CB54
and MEMORY address=000D98D8
IEA995I SYMPTOM DUMP OUTPUT 749
USER COMPLETION CODE=1319
Removing /VIEW=_WCICTRN, the execution works fine with the Exit.
Also using TYPS110 worked fine (because it doesn't have a /VIEW).
But the same error message will occur with BUILDPDB due to the view
for VMACID. This error can be circumvented by inserting this
statement in your //SYSIN
%LET VWVMACID=;
which disables that sole VIEW in the BUILDPDB.
Change 27.260 is a VERY-EXPENSIVE-ON-Z/OS-alternative to EXITCICS.
Thanks to Jerry Massey, Compuware, USA.
Thanks to Dave Greene, Compuware, USA.
Change 33.005 Support for APAR OA45767 adds compression statistics for
VMAC30 the zEDC compression engines to the TYPE30_4,_5,_V,_6,
BUILD005 PDB.STEPS and PDB.SMFINTRV datasets, and these variables
BUIL3005 (plus the _INST_ variables added by Change 31.153) are
Jan 9, 2015 now also summed into the PDB.JOBS dataset.
SMF30_US_COMPRREQ SMF30_US_COMPRREQ_PROB
SMF30_US_DEF_COMPROUT SMF30_US_DEF_UNCOMPRIN
SMF30_US_EXECTIME SMF30_US_INF_COMPRIN
SMF30_US_INF_DECOMPROUT SMF30_US_QUEUETIME
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 33.004 -(Archaic) SAS V9.1.3 JCLTES91 messages with MXG 32.32.
JCLTES91 Running the JCLTES91 with SAS V9.1.3 & MXG 32.32:
VMACIDMJ -VMACIDMJ contains FORMAT RECDATE DATE11.; which is not
Jan 9, 2015 supported in SAS V9.1.3; if you use VMACIDMJ (unlikely!)
change to DATE9.
-JCLTES91 TESTOTHR step needed //IMSMERGE DD DUMMY after
the existing //IMSLOG DD DUMMY. Added.
Thanks to Lee Lewis, SPVM Quebec, CANADA.
Change 33.003 Support for user CICS USERMOB and USEREOT segments.
IMACAAAA -UTILEXCL was updated for these two user fields.
IMACICVI -Testing exposed that the MXG "EXCLUDED FIELDS" detection
IMACICVJ in TYPE110 does NOT work if there are optional segments
PRODTEST that INCREASE the MCTSSDRL, since MXG can only detect if
UTILEXCL MCTSSDCN/MCTSSDRL are SMALLER than the default size for
VMAC110 that SMFPSRVR. UTILEXCL is now updated to not only read
Jan 8, 2015 the Dictionary records, but also any CICSTRAN records to
Jan 15, 2015 produce two new reports of any APPLID/TRIPLETs that are
Jan 19, 2015 found in transactions but don't have Dictionary records.
-For completeness, there are two additional tests in the
TYPE110 processing that can detect excluded fields:
a. TASKNR is a Packed Decimal, and that will be a
missing value if the INPUT is mis-aligned.
Unfortunately, TASKNR is near the front of the
record, and most Excludes are newer fields further
into the record.
b. A test for CPUTM GT 10*ELAPSTM, because CPU fields
are further into the record. See Change 29.076 why
the factor of 10 is needed (for knee-capped CPs).
Thanks to Rob Hollingum, HSBC, ENGLAND.
Change 33.002 z/OS 2.1 overlooked variables are added in TYPE74OM.
VMAC74 OMVSCLMN='MIN SHARED*STORAGE MB*ALLOCATED PER CYCLE'
Jan 8, 2015 OMVSCLMX='MAX SHARED*STORAGE MB*ALLOCATED PER CYCLE'
OMVSCSLR='ACCUM SHARED*STORAGE*ALLOCATED*INTERVAL'
OMVSMQDS='MAX*QUEUED SIGNALS*ALLOWED*PER PROCESS'
OMVSMSLR='MAXIMUM*STORAGE MB*AVAIL*SHAREDM'
OMVSOLMN='MIN ATTEMPTS*EXCEED MAXIMUM*REGION PER CYCLE'
OMVSOLMX='MAX ATTEMPTS*EXCEED MAXIMUM*REGION PER CYCLE'
OMVSOQDS='ACCUM ATTEMPT*EXCEED MAX*QUEUED*INTERVAL'
OMVSOQMN='MIN ATTEMPT*EXCEED MAX QUEUED PER CYCLE'
OMVSOQMX='MAX ATTEMPT*EXCEED MAX QUEUED PER CYCLE'
OMVSOSLR='ACCUM ATTEMPTS*EXCEED MAX*INTERVAL'
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 33.001 Typo, variable ESTBUTES corrected to ESTBYTES.
ANALTLMS
Jan 6, 2015
Thanks to Pierre-Pascal Joulin, SOCGEN, FRANCE.
LASTCHANGE: Version 33.
=========================member=CHANGE32================================
/* COPYRIGHT (C) 1984-2015 MERRILL CONSULTANTS DALLAS TEXAS USA */
ANNUAL: MXG Version 32.32 is dated Jan 6, 2015, thru Change 32.309
MXG Version 32.12 was dated Dec 23, 2014, thru Change 32.304
MXG Version 32.11 was dated Dec 2, 2014, thru Change 32.283
First MXG Version 32.11 was dated Dec 1, 2014, thru Change 32.281
MXG Version 32.10 was dated Oct 16, 2014, thru Change 32.240
First MXG Version 32.10 was dated Oct 10, 2014, thru Change 32.237
MXG Version 32.09 was dated Sep 9, 2014, thru Change 32.218
MXG Version 32.08 was dated Aug 21, 2014, thru Change 32.201
MXG Version 32.07 was dated Aug 3, 2014, thru Change 32.181
MXG Version 32.06 was dated Jul 21, 2014, thru Change 32.170
MXG Version 32.05 was re-dated Jun 18, 2014, thru Change 32.138
First MXG Version 32.05 was dated Jun 16, 2014, thru Change 32.136
Actual MXG Version 32.04 was dated Apr 27, 2014, thru Change 32.101
First MXG Version 32.04 was dated Apr 23, 2014, thru Change 32.099
MXG Version 32.03 was dated Apr 3, 2014, thru Change 32.078
MXG Version 32.02 was dated Feb 26, 2014, thru Change 32.042
MXG Version 32.01 was dated Feb 6, 2014, thru Change 32.025
ANNUAL MXG Version 31.31 was dated Jan 20, 2014, thru Change 31.296
MXG Newsletter SIXTY-TWO was dated Sep 1, 2013.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 32.32 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 32.32.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 32.32 dated Jan 6, 2015, thru Change 32.309.
Major enhancement added in MXG 32.32, dated Jan 6, 2015:
TYPETMO2 32.309 Support for ASG TMON/CICS Version 4 INCOMPATIBLE.
TYPE50 32.307 TYPE50 LENGTH=254, INPUT STATEMENT EXCEEDED.
BLDSMPDB 32.306 RUNDAY=NO incorrectly executed the PDBAUDIT report.
Major enhancement added in MXG 32.12, dated Dec 23, 2014:
Errors corrected:
VMACSMF 32.300 MXG 32.11-WPS ONLY. CANT READ SMF ON ASCII, MXG ERROR
TYPEWECR 32.301 WPS ONLY. DATA SET "WORK.WEBSCRAU" NOT FOUND.
TYPE112 32.295 Long BY list, HOST SORT CAN NOT BE USED, MXG error.
UTILVREF 32.295 QA UTILVREF now detects long BY lists for HOST SORT.
TYPENDM 32.284 NDM 'PT' INVALID SUBSTR, A#/C#/D#/S$/U#/UK supported.
TYPE22 32.288 MXG 32.03-MXG 32.11 Type 22 UNKNOWN SECID=40 error.
New Support:
TYPE105 32.291 Support for GDPS SMF 105 2-byte fields APAR PI26702.
TYPEIMS7 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
ASMIMSL6 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
VGETJESN 32.296 &MACJESN can delete records by TYPETASK (e.g. OMVS).
ASUMDB2A 32.293 Warning when "Rollups" are detected, summarized data.
AUTOEXEC 32.292 Old MXG SORTSIZE=400M removed, default SORTSIZE used.
BLDSMPDB 32.299 %PDBAUDIT invocation can capture ALL "PDBs".
PDBAUDIT 32.297 %PDBAUDIT can be bypassed with PRINTAUDIT=NO.
Major enhancement added in MXG 32.11, dated Dec 2, 2014:
MOBILWRK 32.279 MOBWRK02,MOBWRK05 enhanced, STARTHR in all merges.
PDBAUDIT 32.274 Report enhanced, SORTEDBYSIZE, commas in numbers.
SMFINTRV 32.271 New SMFINTRV member creates PDB.SMFINTRV from SMF.
IHDRBVIR 32.270 The IHDRBVIR "BVIR Header" exit was overlooked.
ANALDSCK 32.268 New "DSNAME Check" reads all SMF with a DSNAME.
ANALID 32.257 ANALID reports 78.2.1 and 78.2.2 VSTORE enabled.
TYPEVMXA 32.254 Support for z/VM concatenated MONWRITE mult systems.
TYPEEZSM 32.252 Support for EzSM 4.2.0 creates new datasets.
ASMRMFV 32.250 Further ASMRMFV parsing/command/filtering updates.
TYPEBVIR 32.249 Support for BVIR Version 2 short '32'x Record.
TYPECLAR 32.247 Support for EMC's Clarion Flare Firmware V26-V33.
UTILEXCL 32.265 Support for 2nd CMODNAME='USER',CMODHEAD='USER'.
TYPE119 32.278 TYP11902 TTTTLSxx variables misaligned.
TYPE7072 32.277 R7023MEG/R7023CRT were not multiplied by R7024SF.
TYPENDM 32.275 Variable NDMRTCPU in NDMRT was incorrectly INPUT.
TYPERACF 32.273 ASCII only. Variable LIOBTIME in RACF0200 wrong.
TYPEXAM 32.272 ERROR IN XAMSYS, SEGNAME=CMS, MXG coding error.
ODS 32.269 Documentation of two common ODS errors on z/OS.
TYPE7072 32.267 TYPE70X2 variables CRYAC1U/CRAM3U need mult 100.
WEEKBLxx 32.264 WPS ONLY. Test for &SYSVER GE 6 s/b &SASVER GE.
Many 32.263 MXG PROC COPY have MEMTYPE=DATA, ITEMSTORE fails.
BLDSMPDB 32.262 WTD with WEEKKEEP, or WTD with AUTOALOC, failed.
VMACDB2H 32.261 DB2 variable JOB could be incorrect LENGTH $12.
VMXGDSNL 32.260 MXG on Linux to process AS400 data, slash issue.
TYPE102 32.259 IFCID=220: Invalid Argument corrected.
MONTHxxx 32.253 BLDSMPDB,MONTHBLD, z/OS, out of order daily GDGs.
TYPE30 32.251 Variables EXCP/IOTM-NODD/TODD/TOTL inconsistent.
BLDSMPDB 32.248 WPS, z/OS, BLDSMPDB, RECFM=S370VBS not supported.
TYPE7072 32.246 TYPE72GO's PERFINDX can be missing when it's large.
MOBWRK73 32.244 MOBWRK73 in 32.10 incorrectly required //PDB DD.
TYPEVMXA 32.243 z/VM Interval ENDTIME wrong if first 0.1 not CPU 0.
TYPEVMXA 32.243 Each START MONITOR message is a LOST interval.
Major enhancement added in MXG 32.10, re-dated Oct 16, 2014:
TYPE6 32.240 First 32.10 - OS 2.1 TYPE6 PRINTWAY records caused
INPUT EXCEEDED error. This is the re-date reason.
TYPE120 32.239 WebSphere SMF 120 ST 9 TYP1209E DELTA120TM negative.
TYPETAND 32.238 Support for all Tandem records in a single file.
Major enhancement added in MXG 32.10, dated Oct 10, 2014:
VMACaaaa 32.234 The _IDaaaa=512 detection was removed.
TYPE6 32.236 Support for z/OS 2.1 ACCOUNTn in TYPE6 records.
TYPEDB2 32.231 Support for DB2 V11 IFCID 225 ILRM STORAGE Info.
TYPEBBMQ 32.223 Support for MainView for MQ Version 5.2 (COMPAT).
TYPE1415 32.230 TYPE 14 SMF14STY=01 with LEN 81 caused skipped segs
TYPEIMS 32.228 IMS Log 01 MSGTEXT INPUT expanded for MOBILE WORK.
TYPEIMST 32.222 IMS56FA obs not OUTPUT if NMSGPROC is missing.
TYPE38 32.233 Netview SMF 38 Subtype 3 INPUT EXCEEDED error.
UTILBLDP 32.226 SPINCNT/SPINUOW/TIMEDIF not correctly created.
TYPENDM 32.229 All NDM datasets are now PROC SORTed by TYPSNDM.
Major enhancement added in MXG 32.09, dated Sep 9, 2014:
ASMTAPEE 32.212 MXGTMNT Monitors ASM SLOTs + IWMWSYSQ MSU/IMPORTANCE.
New subtask wakes, writes interval record, sleeps.
TYPE50 32.210 Support for SMF 50 z/OS 2.1 INCOMPATIBLE + REDESIGN.
TYPE103 32.209 Support for SMF 103 HTTP Apache Subtypes 13 and 14.
VMACNDM 32.208 Support for New NDM-CDI CPU CP/zIIP/QUAL times.
VMXGODSO 32.217 Support for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
TYPEDB2 32.214 DB2 V10 var QW0225DMH and V11 var QW0225AR now INPUT.
TYPEBVIR 32.218 BVIRVERS=04, dataset BVIR301, values were wrong.
TYPEZOSA 32.215 Zero observations in TYPEZOSA, incorrect MXG test.
PDBAUDIT 32.206 WARNING: Multiple lengths for MEMLABEL CC=4, removed.
TYPE119 32.204 SMF 119 St 52 fields misaligned after JESDPERC.
ANALID 32.203 Protection for 2nd execution of ANALID.
ONLYJOBS 32.203 ONLY create PDB.JOBS/etc example, 2nd ANALID removed.
TYPE102 32.202 DB2 102 IFCID 196 "MORE HOLDERS", only 3 now printed.
Major enhancement added in MXG 32.08, dated Aug 21, 2014:
IMACUOW 32.185 MXG 32.07 only, 180 ERROR: with default IMACUOW.
And only in JCLTESTx if you do NOT use ASUMUOW.
(If you actually use ASUMUOW, you would have had a
tailored IMACUOW).
PDBAUDIT 32.183 %PDBAUDIT compares today's and yesterday's PDBs.
New audit report of differences and report of all
of today's output LIBNAMEs/DATASETs.
BUILDPDB 32.192 BUILDPDB/PD3/001 now use a VIEW for WORK.ID.
Could be a BIG reduction in //WORK space, for free.
VMACSMF 32.191 Using _INFILE_=SMFINFILE allows VIEW with MXGDECOM.
Which is also required for Change 32.192.
TYPEOMSM 32.184 Support for Omegamon for SMS Version 510 (INCOMPAT)
ANALSET 32.187 OPENTM added for TYPE64, new RECFOUND variable.
ANAL116 31.186 Now reports on dataset MQMACCT when it exists.
VMACaaaa 32.198 Zero OBS if _IDaaaa has two ID values, false 512.
Major enhancement added in MXG 32.07, dated Aug 3, 2014:
ERROR: 32.06: ZERO OBS IN ALL USER-ADDED BUILDPDB/UTILBLDP DATASETS:
If you use UTILBLDP(BUILDPDB=YES,USERADD=...) or EXPDBVAR/CDE/OUT
members in your USERID.SOURCLIB to add other SMF record types to
your BUILDPDB/BUILDPD3, AND YOU DO NOT PROCESS MXGTMNT/TYPETMNT
SMF records (i.e., you do NOT set MACRO _IDTMNT 238 %), then ALL
of the datasets built AFTER TYPETMNT will have zero observations.
This error was introduced in Change 32.149, which incorrectly had
added a DELETE statement that should not be there.
CIRCUMVENTIONs for this 32.06-Only ERROR: (INSTALL 32.07+ !!)
-Remove the DELETE; statement in line 265 of VMACTMNT, OR
-Add this statement in your //SYSIN at the top:
%LET MACKEEP= MACRO _IDTMNT 999 % ;
-Or: with USERADD= in UTILBLDP, add TMNT/999
Many 32.180 Correction to Zero OBS in BUILDPDB/UTILBLDP datasets.
TYPEWECR 32.173 Support for Websphere MQ for z/OS Crypto Audit SMF.
TYPE115 32.172 Support for Websphere MQ Version 8.1 115 Subtype 231
TYPE116 32.172 Support for Websphere MQ Version 8.1 116 Subtype 10
TYPE120 32.171 Support for Websphere Liberty z/CONNECT 120 Subtp 11.
TYPCTCP 32.178 Support for AES CleverView USER SMF subtypes 30-40.
TYPETMD2 32.176 TMON/DB2 compressed records not decoded on ASCII.
ANALID 32.175 View used for READSMF=YES, documentation updated.
TYPEDB2 32.174 DB2 V11 new QX variables not in DB2STATS.
MXG Version 32.06 dated Jul 21, 2014, thru Change 32.170.
Major enhancement added in MXG 32.06, dated Jul 21, 2014:
MOBILWRK 32.168 Support for MOBILE WORK CSV File to submit to IBM.
TYPESTC 32.155 Support for Oracle ELS/VTCS 7.2 HSC SMF changes.
ASMTAPEE 32.160 ML-53 MXGTMNT Monitor protects for IODF Activate OC4.
TYPE102 32.141 Support for IFCID=376.
TYPEPOEX 32.150 Revised support for Informatica POWER EXCHANGE SMF.
VMACaaaa 32.149 USER SMF Record Processing enhanced - tells if 512.
VMACSMF 32.136 CICS Version SMFPSRVR formatted prints TS5.1 vs 68.
ASUM70PR 32.166 31.09-3205. Default CECINTRV=HOUR was not in effect.
TYPENDM 32.168 Truncated CT records INPUT STATEMENT circumvention.
TYPENDM 32.161 Support for NDM-CDI M2 record, output in NDMMC.
ANALRANK 32.165 New GROUPBY parameter allows variable selections.
TYPEDB2 32.169 Some DB2STATS QDSTxxxx variables were wrong.
VMXGSUM 32.164 FREQ option created lower case variable names.
GRAFCEC 32.157 New WIDTRH HEIGHT FOOTNOTE parameters for tailoring.
ASUMCICX 32.156 New RESPAVG variable contains average response time.
ANALID 32.154 ID parameter with UTILBLDP must be first, for now.
IMACICVH 32.153 Support for optional CICS User ADP fields.
TYPE74 32.151 BY lists for some TYPE74xx did not remove duplicates.
VMACDB2H 32.148 DB2 Headers in any order are now processed correctly.
READDB2 32.148 IFCIDS=BMC worked on ASCII, failed on z/OS.
ODS 32.147 ODS doesn't support character variables with $HEX.
JMP 32.147 JMP doesn't support variables with TRANSCODE ATTRIB.
TYPE110 32.144 Invalid STID=60 CICS TS/2.3 (YES, 2.3!!!).
TYPESYNC 32.143 CPUZIPTM for SYNCSORT COPY was a missing value.
READDB2 32.142 Failed if user set FIRSTOBS or OBS insufficiently.
TYPE80A 32.140 RACF SMF 80 EXCEEDED for STATE='DISTRICT OF COLUMBIA'
TYPE113 32.130 *PUTLOG caused error, /* PUTLOG didn't, with BUILDPDB
Major enhancement added in MXG 32.05, re-dated Jun 18, 2014:
MOBILWRK 32.125 Preliminary tools to measure Mobile Work for Discount
See MVS Technical Note in Newsletter SIXTY-FOUR or
the same text in MOBILWRK member.
TYPEIMST 32.119 Support for IMS56FA for IMS 13.1 (INCOMPATIBLE).
TYPERMFV 32.130 Support for APAR OA35811, GEIRPOOL/GEIRSTRF.
TYPE113 32.126 Support for new Subtype 1 HIS SMF TYPE 113 INTERVAL.
TYPERSDS 32.123 Support for EOS RSD USER SMF ACCOUNTING Version 2.1.
TYPERSDA 32.123 Support for EOS RSD USER SMF AUDIT Version 2.1.
TYPE42 32.113 Support for APAR OA44319/OA44322 SMF 42 ST 5/6.
TYPEIDMS 32.111 Support/corrections for IDMS Version 18.
VMXGSUM 32.133 Support for "concatenated" PDBs as INPUT.
TYPEBVIR 32.134 Some POOLs were not output in BVIR322/323/324.
TYPERMFV 32.108 RMF III Fixes, Enhancements, Documentation upgrade.
TYPEXAM 32.116 XAM CRITICAL ERROR SEGLEN=84 is a false error.
TYPE30 32.104 CPUUNITS/SRBUNITS corrected by moving ASRUNITS to SRB
TYPE119 32.110 Variables FSCIPHER/FCCFIPS140/FCCIPHER4 added.
TYPEVMXA 32.106A z/VM MONWRITE divide by zero protection HFCOUNT=0.
TYPEDCOL 32.103 DCOLMIGS variable UMLRECL always zero correction.
READDB2 32.114 READDB2 with PDBOUT="not //PDB" corrections.
READDB2 32.131 %READDB2(IFCIDS=BMC) for APPTUNE failed, _S102BMC.
IMACICVG 32.107 Support for optional CICS segment ESIUSER.
IMACICMR 32.106 Optional CMRDETL CICS Segment INCOMPATIBLE 384 bytes.
IMACICSD 32.120 Support for optional CICS user SDA fields.
DOCVER 32.124 DOCVER member enhanced to list SORTED BY variables.
VMXGDEL0 32.127 New %VMXGDEL0 utility deletes all zero-obs datasets.
TYPE7072 32.103 Support for OS/390 RMF data!!! Zero obs after 30.30.
Major enhancement added in MXG 32.04, dated Apr 27, 2014:
VGETOBS 32.100 Correction to VGETOBS in First 32.04.
MXG 32.04 was redated on Monday for VGETOBS change 32.100 to add the
possibly-needed RUN; statement, and removal of the FEXIST() function
that did not exist in SAS 9.1 and didn't always work with 9.2.
TYPE102 32.101 Duplicate DB2 SMF ID=102 Trace records removed.
This enhancement was ready, so it's a bonus in the redated 32.04.
Major enhancement added in MXG 32.04, dated Apr 23, 2014:
VGETOBS 32.091 MXG 32.03 VGETOBS z/OS increased EXCPs, Elapsed time.
This performance hit on VGETOBS is the primary reason for 32.04; the
exposure only exists if you have tape device DDs in your MXG job.
The increase was VERY significant with lots of tape volsers to read.
AUTOEZOS 32.090 AUTOEZOS/CONFIGEZ - new "EAZY" MXG JCL for z/OS.
A new alternative JCL to run MXG that is quite simple.
TYPE120 32.087 Support for SMF 120 Subtype 100 ODM (Oper Decision).
TYPENMON 32.088 Support for NMON BBBPMOUNT and BBBPNETSTAT records.
TYPE92 32.094 Support for SMF ID=92 Subtypes 16 and 17.
NEARTIME 32.099 NEARTIME updates a daily PDB library each SMF dump.
TYPE30 32.089 CPUASRTM subtracted from CPUTCBTM added to CPUSRBTM.
TYPETMVS 32.092 Initial support for TMON/MVS Version 4.4 (INCOMPAT)
TYPE102 32.085 Many QWP1/4/5/9 T102S106 dataset vars overlooked.
TYPEDB2 32.082 Some NETEZZA/IDAA Q8ST vars incorrectly DIF()'d.
ANALDB2R 32.080 Default Select "Starting With" can be changed.
ADOCRMFV 32.093 Major addition to RMF III documentation.
ADOCx All ADOC members are updated with current contents.
Major enhancement added in MXG 32.03, dated Apr 3, 2014:
TYPE110 32.077 Support CICS/TS 5.2: CICSTRAN COMPATIBLE, STATs NOT.
_SMF 32.073 New MXGREADSMF=SMF/LOGGER/BOTH option to read SMF.
ANALBVIR 32.063 Hydra TS7700 IBM reports are replicated.
GRAFCIPM 32.061 Graphs from SHARE 2014 (SinRam/Enrico) using SGPLOT:
CPU used by importance level and service class level,
then service class within importance, and a scatter
plot of service class level within importance.
ANALDB2R 32.068 Report from SHARE 2014 (Catterall) DB2 Buffer Pools.
TYPE112 32.052 Support for Tivoli Enterprise Mon Server SMF 112-35.
TYPE87 32.043 Support for SMF ID=87, GRS Component Information.
TYPETMO2 32.070 Support for ASG-TMON CICS v3.4 (NO MXG UPDATE NEEDED)
TYPEEJES 32.047 Support for (E)JES Version 05.30 SMF record changes.
TYPEXCOM 32.046 Support for XCOM R32 - 11.5 (INCOMPATIBLE).
TYPEPCF 32.045 Support for MQ PCF Files.
TYPEZOSA 32.059 Support for ZEN 2280 new CSM records (INCOMPAT).
TYPETMO2 32.070 Support for ASG-TMON CICS TS 3.4 (NO UPDATE NEEDED).
TYPE80A 32.076 INPUT STATEMENT EXCEEDED, TODANAM UID, FTEL/MTEL.
TYPE79 32.062 Variables R791PHTA/PHTI/FLG3 and R792PHTA/PHTI kept.
TYPETPMX 32.058 INVALID ARG TPMPI - previous $EBCDIC1 is now PIB1.
TYPEXAM 32.057 Doc: FTP: Use TYPE E and MODE BLOCK for z/VM to z/ZOS
VGETOBS 32.056 CANNOT CLONE BUFFSIZE during PROC COPY could be bad.
ASMRMFV 32.055 New RMF III selection/filter options BASIC, MOST etc.
TYPE7072 32.054 z/OS 2.1 SMF70CPA created with RATIO=SCALING/ACTUAL.
TYPE21 32.053 SMF21CRR/CRW compress ratio populated for non-3590s.
TYPE102 32.074 IFCID 402 dataset T102S402 now outputs all segs.
TYPEDB2 32.072 IDAA/NETEZZA variables added to DB2ACCT/DB2STATS.
TYPENDM 32.071 Connect-Direct NDMCPU and other variables added.
Major enhancement added in MXG 32.02, dated Feb 26, 2014:
VMACDB2H 32.027 32.01: INVALID DB2 V10 HEADER RECORDS DELETED only if
the 2012 DB2 APAR PM62481, is NOT installed.
(Only a FEW sites have hit this missing APAR ABEND.)
TYPEBVIR 32.039 MAJOR restructure BVIR/TS7700/HYDRA datasets created.
REALLY MAJOR: 10,000 fewer lines, 3000 fewer vars.
The "horizontal" dataset with suffixed variable names
are replaced with "vertical" dataset with ONE set of
variable names. Yes, some minor pain expected as the
dataset names and some variable's names were changed.
TYPE74 32.031 TYPE74 ESS Subtype 8 TYPE748x datasets restructured.
None of the TYPE748x datasets were really valid.
TYPE120 32.035 Sort order NODUP support for TYP1209C/E/S/U.
TYPEXPTR 32.033 Support for XPTR 5.2 creates 23 new datasets.
TYPEIMST 32.038 IMS56FA dataset could have IMSSTCK incorrect.
TYPEDB2 32.032 DB2STATS variable QISTWMQM zero, QW0371CL/DA fixed.
VMXGPRAL 32.029 ERROR 72-322 or COMPBL HAS TOO MANY ARGUMENTS.
ASMRMFV 32.037 RMF III Enhancements, filters, RED TABLE error fix.
TYPETMVT 32.040 TMON/VTAM vendor maintenance now populates fields.
TYPEBETA 32.028 Protection for BETA93 truncated subtype 51 record.
Major enhancement added in MXG 32.01, dated Feb 6, 2014:
ASMTAPEE 32.010 IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28
VGETOBS 32.012 MANY spurious MXGWARN: DATASET PDB.CICxx DOES NOT msg
ASUMUOWT 32.011 ASUMUOWT (TMON/CICS) USER ABEND 1950 no CICSTRAN DD.
TYPE111 32.007 MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED ERROR.
TYPE21 32.006 PDB.TYPE21/ASUMTAPE BYTEWRIT for 3590s may be too low
TYPE90A 32.005 Support for SMF ID=90 Subtype 35 TYPE9035 dataset.
FORMATS 32.005 Format $MGSMFID 38, 85, 90, 118 IDs decoded.
FORMATS 32.005 ALL MXG FORMAT's VALUES ARE NOW COMMA-FREE, for csv.
TYPEDB2 32.002 DB2 V10 new var QWHCAACE, QWHCEUTX/EUWN now $128.
TYPENTSM 32.001 TCP/TCPV4/TCPV6 and WEBSRVCA, ASPNETAP new variables.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M2 (9.4M2). That is
printed as "SAS 9.4 (TS1M2)" or as "SAS 9.4 (TS04.01M2P07232014)"
on the SASLOG if the VERSIONLONG option is enabled.
SAS V9.4 M2 Is RECOMMENDED. SAS 9.4 M2 is at LEVEL A SAS Support
SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 must be at Service Pack 4. Additionally, on z/OS 1.10
only, 9.1.3 requires SAS Hot Fix for SN-35332.
9.1.3 is support level C by SAS Institute, Sep 30, 2013.
SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS93 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 32.10 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
Version 26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows
Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,
and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS
platforms, including AIX, Linux, and other 'nix' variants, on many
different hardware platforms, and since they all work we don't
need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.01 is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS hardware changes. However, MXG
Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for
the new zEC12 RMF data metrics added for that new platform.
In August 2013, the MXG-L ListServer was abuzz with several postings
from MXG users and additional references to SHARE papers that all
reported that many z/EC12s are 30%-40% better than zPCR projected.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 29.05*
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 30.01*
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 30.08*
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 30.30*
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 31.03*
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 31.03*
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 32.03*
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 30.07*
DB2 10.1 DBID/OBID decode Jan 21, 2013 30.30*
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 31.04*
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.1 Mar 06, 2007 26.01*
IMS log 11.1 Apr 1, 2010 28.02*
IMS log 12.1 Jan 23, 2012 29.29*
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
The Monitor for CICS TCE 3.4 (for CICS/TS 5.1) 30.30
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V6R3 SMF 102 30.037
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 31.08*
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS 31.08*
IMF 5.1 a/k/a Mainview IMS 31.08
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
V. Incompatibilities and Installation of MXG 32.08.
1. Incompatibilities introduced in MXG 32.32:
a- Changes in MXG architecture made between 32.32 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 32.32 after MXG 31.31:
Dataset/
Member Change Description
ADOCRMFV 32.093 Major addition to RMF III documentation.
ANAL116 31.186 Now reports on dataset MQMACCT when it exists.
ANALBVIR 32.063 Hydra TS7700 IBM reports are replicated.
ANALDB2R 32.019 Extensive validation, ANALDBTR revisions.
ANALDB2R 32.080 Default Select "Starting With" can be changed.
ANALDBTR 32.019 STRING logic was protected for repeated execution
ANALDSCK 32.268 New "DSNAME Check" reads all SMF with a DSNAME.
ANALID 32.154 ID parameter with UTILBLDP must be first, for now.
ANALID 32.175 View used for READSMF=YES, documentation updated.
ANALID 32.203 Protection for 2nd execution of ANALID.
ANALID 32.257 ANALID reports 78.2.1 and 78.2.2 VSTORE enabled.
ANALRANK 32.165 New GROUPBY parameter allows variable selections.
ANALSET 32.187 OPENTM added for TYPE64, new RECFOUND variable.
ASMIMSL6 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
ASMRMFV 32.009 RMF III Enhancements, Fixes, and Notes
ASMRMFV 32.037 RMF III Enhancements, filters, RED TABLE error fix.
ASMRMFV 32.055 New RMF III selection/filter options BASIC, MOST etc.
ASMRMFV 32.250 Further ASMRMFV parsing/command/filtering updates.
ASMTAPEE 32.010 IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28
Those z/OS 1.13 APARs changed AR15 on return from IBM
console services. Assemble ASMTAPEE to create the
MXGTMNT monitor now so it doesn't ABEND after those
APARs are installed.
ASMTAPEE 32.160 ML-53 MXGTMNT Monitor protects for IODF Activate OC4.
ASMTAPEE 32.212 MXGTMNT Monitors ASM SLOTs + IWMWSYSQ MSU/IMPORTANCE.
ASUM70PR 32.166 31.09-3205. Default CECINTRV=HOUR was not in effect.
ASUMCICX 32.156 New RESPAVG variable contains average response time.
ASUMDB2A 32.293 Warning when "Rollups" are detected, summarized data.
ASUMUOWT 32.011 ASUMUOWT (TMON/CICS) USER ABEND 1950 no CICSTRAN DD.
AUTOEXEC 32.292 Old MXG SORTSIZE=400M removed, default SORTSIZE used.
AUTOEZOS 32.090 AUTOEZOS/CONFIGEZ - new "EAZY" MXG JCL for z/OS.
BLDSMPDB 32.248 WPS, z/OS, BLDSMPDB, RECFM=S370VBS not supported.
BLDSMPDB 32.262 WTD with WEEKKEEP, or WTD with AUTOALOC, failed.
BLDSMPDB 32.299 %PDBAUDIT invocation can capture ALL "PDBs".
BLDSMPDB 32.306 RUNDAY=NO incorrectly executed the PDBAUDIT report.
BUILDPDB 32.192 BUILDPDB/3/001 now use a VIEW for WORK.ID.
DOCVER 32.124 DOCVER member enhanced to list SORTED BY variables.
FORMATS 32.005 ALL MXG FORMAT's VALUES ARE NOW COMMA-FREE, for csv.
FORMATS 32.005 Format $MGSMFID 38, 85, 90, 118 IDs decoded.
GRAFCEC 32.157 New WIDTRH HEIGHT FOOTNOTE parameters for tailoring.
GRAFCIPM 32.061 Graphs from SHARE 2014 presentations (SinRam/Enrico)
IHDRBVIR 32.270 The IHDRBVIR "BVIR Header" exit was overlooked.
IMACICMR 32.106 Optional CMRDETL CICS Segment INCOMPATIBLE 384 bytes.
IMACICSD 32.120 Support for optional CICS user SDA fields.
IMACICVG 32.107 Support for optional CICS segment ESIUSER.
IMACICVH 32.153 Support for optional CICS User ADP fields.
IMACUOW 32.185 MXG 32.07 only, 180 syntax with default IMACUOW.
JMP 32.147 JMP doesn't support variables with TRANSCODE ATTRIB.
MOBILWRK 32.125 Preliminary MOBILWRK program to identify Mobile Work.
MOBILWRK 32.168 Support for MOBILE WORK CSV File to submit to IBM.
MOBILWRK 32.279 MOBWRK02,MOBWRK05 enhanced, STARTHR in all merges.
MOBWRK73 32.244 MOBWRK73 in 32.10 incorrectly required //PDB DD.
MONTHxxx 32.253 BLDSMPDB,MONTHBLD, z/OS, out of order daily GDGs.
Many 32.263 MXG PROC COPY have MEMTYPE=DATA, ITEMSTORE fails.
NEARTIME 32.099 NEARTIME updates a daily PDB library each SMF dump.
ODS 32.147 ODS doesn't support character variables with $HEX.
ODS 32.269 Documentation of two common ODS errors on z/OS.
ONLYJOBS 32.203 ONLY create PDB.JOBS/etc example, 2nd ANALID removed.
PDBAUDIT 32.183 %PDBAUDIT compares today's and yesterday's PDBs.
PDBAUDIT 32.206 WARNING: Multiple lengths for MEMLABEL CC=4, removed.
PDBAUDIT 32.274 Report enhanced, SORTEDBYSIZE, commas in numbers.
PDBAUDIT 32.297 %PDBAUDIT can be bypassed with PRINTAUDIT=NO.
READDB2 32.018 READDB2 didn't always honor LDB2xxx destination
READDB2 32.019 READDB2 did not always use LDB2ddd overrides, plus.
READDB2 32.114 READDB2 with PDBOUT="not //PDB" corrections.
READDB2 32.131 %READDB2(IFCIDS=BMC) for APPTUNE failed, _S102BMC.
READDB2 32.142 Failed if user set FIRSTOBS or OBS insufficiently.
READDB2 32.148 IFCIDS=BMC worked on ASCII, failed on z/OS.
SMFINTRV 32.271 New SMFINTRV member creates PDB.SMFINTRV from SMF.
TYPCTCP 32.178 Support for AES CleverView USER SMF subtypes 30-40.
TYPE102 32.074 IFCID 402 dataset T102S402 now outputs all segs.
TYPE102 32.085 Many QWP1/4/5/9 T102S106 dataset vars overlooked.
TYPE102 32.101 Duplicate DB2 SMF ID=102 Trace records removed.
TYPE102 32.141 Support for IFCID=376.
TYPE102 32.202 DB2 102 IFCID 196 "MORE HOLDERS", only 3 now printed.
TYPE102 32.259 IFCID=220: Invalid Argument corrected.
TYPE103 32.209 Support for SMF 103 HTTP Apache Subtypes 13 and 14.
TYPE105 32.291 Support for GDPS SMF 105 2-byte fields APAR PI26702.
TYPE110 32.077 Support CICS/TS 5.2: CICSTRAN COMPAT, STATs NOT.
TYPE110 32.144 Invalid STID=60 CICS TS/2.3 (YES, 2.3!!!).
TYPE111 32.007 MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED ERROR.
TYPE112 32.052 Support for Tivoli Enterprise Mon Server SMF 112-35.
TYPE113 32.126 Support for new Subtype 1 HIS SMF TYPE 113 INTERVAL.
TYPE113 32.130 *PUTLOG caused error, /* PUTLOG didn't, with BUILDPDB
TYPE115 32.172 Support for Websphere MQ Version 8.1 115 Subtype 231
TYPE116 32.172 Support for Websphere MQ Version 8.1 116 Subtype 10
TYPE119 32.110 Variables FSCIPHER/FCCFIPS140/FCCIPHER4 added.
TYPE119 32.204 SMF 119 St 52 fields misaligned after JESDPERC.
TYPE119 32.278 TYP11902 TTTTLSxx variables misaligned.
TYPE120 32.035 Sort order NODUP support for TYP1209C/E/S/U.
TYPE120 32.087 Support for SMF 120 Subtype 100 ODM (Oper Decision).
TYPE120 32.171 Support for Websphere Liberty z/CONNECT 120 Subty 11.
TYPE120 32.239 WebSphere SMF 120 ST 9 TYP1209E DELTA120TM negative.
TYPE1415 32.230 TYPE 14 SMF14STY=01 with LEN 81 caused skipped segs
TYPE21 32.006 PDB.TYPE21/ASUMTAPE BYTEWRIT for 3590s may be too low
TYPE21 32.053 SMF21CRR/CRW compress ratio populated for non-3590s.
TYPE22 32.288 MXG 32.03-MXG 32.11 Type 22 UNKNOWN SECID=40 error.
TYPE30 32.089 CPUASRTM subtracted from CPUTCBTM added to CPUSRBTM.
TYPE30 32.104 CPUUNITS/SRBUNITS corrected by moving ASRUNITS to SRB
TYPE30 32.251 Variables EXCP/IOTM-NODD/TODD/TOTL inconsistent.
TYPE38 32.233 Netview SMF 38 Subtype 3 INPUT EXCEEDED error.
TYPE42 32.113 Support for APAR OA44319/OA44322 SMF 42 ST 5/6.
TYPE50 32.210 Support for SMF 50 z/OS 2.1 INCOMPATIBLE + REDESIGN.
TYPE50 32.307 TYPE50 LENGTH=254, INPUT STATEMENT EXCEEDED.
TYPE6 32.240 Corrected z/OS 2.1 ACCOUNTn in TYPE6 records.
TYPE7072 32.054 z/OS 2.1 SMF70CPA created with RATIO=SCALING/ACTUAL.
TYPE7072 32.103 Support for OS/390 RMF data!!! Zero obs after 30.30.
TYPE7072 32.246 TYPE72GO's PERFINDX can be missing when it's large.
TYPE7072 32.267 TYPE70X2 variables CRYAC1U/CRAM3U need mult 100.
TYPE7072 32.277 R7023MEG/R7023CRT were not multiplied by R7024SF.
TYPE74 32.031 TYPE74 ESS Subtype 8 TYPE748x datasets restructured.
TYPE74 32.151 BY lists for some TYPE74xx did not remove duplicates.
TYPE79 32.062 Variables R791PHTA/PHTI/FLG3 and R792PHTA/PHTI kept.
TYPE80A 32.076 INPUT STATEMENT EXCEEDED, TODANAM UID, FTEL/MTEL.
TYPE80A 32.140 RACF SMF 80 EXCEEDED for STATE='DISTRICT OF COLUMBIA'
TYPE87 32.043 Support for SMF ID=87, GRS Component Information.
TYPE90A 32.005 Support for SMF ID=90 Subtype 35 TYPE9035 dataset.
TYPE92 32.094 Support for SMF ID=92 Subtypes 16 and 17.
TYPEBBMQ 32.223 Support for MainView for MQ Version 5.2 (COMPAT).
TYPEBETA 32.028 Protection for BETA93 truncated subtype 51 record.
TYPEBVIR 32.039 MAJOR restructure of BVIR/TS7700 datasets created.
TYPEBVIR 32.218 BVIRVERS=04, dataset BVIR301, values were wrong.
TYPEBVIR 32.249 Support for BVIR Version 2 short '32'x Record.
TYPECLAR 32.247 Support for EMC's Clarion Flare Firmware V26-V33.
TYPEDB2 32.002 DB2 V10 new var QWHCAACE, QWHCEUTX/EUWN now $128.
TYPEDB2 32.032 DB2STATS variable QISTWMQM zero, QW0371CL/DA fixed.
TYPEDB2 32.072 IDAA/NETEZZA variables added to DB2ACCT/DB2STATS.
TYPEDB2 32.082 Some NETEZZA/IDAA Q8ST vars incorrectly DIF()'d.
TYPEDB2 32.169 Some DB2STATS QDSTxxxx variables were wrong.
TYPEDB2 32.174 DB2 V11 new QX variables not in DB2STATS.
TYPEDB2 32.214 DB2 V10 var QW0225DMH and V11 var QW0225AR now INPUT.
TYPEDB2 32.231 Support for DB2 V11 IFCID 225 IRLM STORAGE Info.
TYPEDB2H 32.027 MXG 32.01 only. INVALID DB2 10.1 HEADER DELETED.
TYPEDCOL 32.103 DCOLMIGS variable UMLRECL always zero correction.
TYPEEJES 32.047 Support for (E)JES Version 05.30 SMF record changes.
TYPEEZSM 32.252 Support for EzSM 4.2.0 creates new datasets.
TYPEIDMS 32.111 Support/corrections for IDMS Version 18.
TYPEIMS 32.228 IMS Log 01 MSGTEXT INPUT expanded for MOBILE WORK.
TYPEIMS7 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
TYPEIMST 32.038 IMS56FA dataset could have IMSSTCK incorrect.
TYPEIMST 32.119 Support for IMS56FA for IMS 13.1 (INCOMPATIBLE).
TYPEIMST 32.222 IMS56FA obs not OUTPUT if NMSGPROC is missing.
TYPENDM 32.071 Connect-Direct NDMCPU and other variables added.
TYPENDM 32.161 Support for NDM-CDI M2 record, output in NDMMC.
TYPENDM 32.229 All NDM datasets are now PROC SORTed by TYPSNDM.
TYPENDM 32.275 Variable NDMRTCPU in NDMRT was incorrectly INPUT.
TYPENDM 32.284 NDM 'PT' INVALID SUBSTR, A#/C#/D#/S$/U#/UK supported.
TYPENEM 32.168 Truncated CT records INPUT STATEMENT circumvention.
TYPENMON 32.088 Support for NMON BBBPMOUNT and BBBPNETSTAT records.
TYPENTSM 32.001 TCP/TCPV4/TCPV6 and WEBSRVCA, ASPNETAP new variables.
TYPEOMSM 32.184 Support for Omegamon for SMS Version 510 (INCOMPAT)
TYPEPCF 32.045 Support for MQ PCF Files.
TYPEPOEX 32.150 Revised support for Informatica POWER EXCHANGE SMF.
TYPERACF 32.273 ASCII only. Variable LIOBTIME in RACF0200 wrong.
TYPERMFV 32.108 RMF III Fixes, Enhancements, Documentation upgrade.
TYPERMFV 32.130 Support for APAR OA35811, GEIRPOOL/GEIRSTRF.
TYPERMFV 32.130 Support for APAR OA35811, GEIRSTRF replaced GEIRPOOL.
TYPERSDA 32.123 Support for EOS RSD USER SMF AUDIT Version 2.1.
TYPERSDS 32.123 Support for EOS RSD USER SMF ACCOUNTING Version 2.1.
TYPESTC 32.155 Support for Oracle ELS/VTCS 7.2 HSC SMF changes.
TYPESYNC 32.143 CPUZIPTM for SYNCSORT COPY was a missing value.
TYPETAND 32.238 Support for all Tandem records in a single file.
TYPETMD2 32.176 TMON/DB2 compressed records not decoded on ASCII.
TYPETMO2 32.070 Support for ASG-TMON CICS TS 3.4 (NO UPDATE NEEDED).
TYPETMO2 32.309 Support for ASG TMON/CICS Version 4 INCOMPATIBLE.
TYPETMVS 32.092 Initial support for TMON/MVS Version 4.4 (INCOMPAT)
TYPETMVT 32.040 TMON/VTAM vendor maintenance now populates fields.
TYPETPMX 32.058 INVALID ARG TPMPI - previous $EBCDIC1 is now PIB1.
TYPEVMXA 32.106A z/VM MONWRITE divide by zero protection HFCOUNT=0.
TYPEVMXA 32.243 Each START MONITOR message is a LOST interval.
TYPEVMXA 32.243 z/VM Interval ENDTIME wrong if first 0.1 not CPU 0.
TYPEVMXA 32.254 Support for z/VM concatenated MONWRITE mult systems.
TYPEWECR 32.173 Support for Websphere MQ for z/OS Crypto Audit SMF.
TYPEXAM 32.057 Doc: FTP: Use TYPE E and MODE BLOCK for z/VM to z/ZOS
TYPEXAM 32.116 XAM CRITICAL ERROR SEGLEN=84 is a false error.
TYPEXAM 32.272 ERROR IN XAMSYS, SEGNAME=CMS, MXG coding error.
TYPEXCOM 32.022 Support for CA XCOM VERSION 1.16: INCOMPATIBLE.
TYPEXCOM 32.046 Support for XCOM R32 - 11.5 (INCOMPATIBLE).
TYPEXPTR 32.033 Support for XPTR 5.2 creates 23 new datasets.
TYPEZOSA 32.059 Support for ZEN 2280 new CSM records (INCOMPAT).
TYPEZOSA 32.215 Zero observations in TYPEZOSA, incorrect MXG test.
UTILBLDP 32.226 SPINCNT/SPINUOW/TIMEDIF not correctly created.
UTILEXCL 32.265 Support for 2nd CMODNAME='USER',CMODHEAD='USER'.
UTILVREF 32.295 QA UTILVREF now detects long BY lists for HOST SORT.
VGETJESN 32.296 &MACJESN can delete records by TYPETASK (e.g. OMVS).
VGETOBS 32.012 MANY spurious MXGWARN: DATASET PDB.CICxx DOES NOT msg
VGETOBS 32.056 CANNOT CLONE BUFFSIZE during PROC COPY could be bad.
VGETOBS 32.091 MXG 32.03: VGETOBS on z/OS increased EXCPs, Elapsed.
VGETOBS 32.100 Correction to VGETOBS in First 32.04.
VMAC112 32.295 Long BY list, HOST SORT CAN NOT BE USED, MXG error.
VMACBETA 32.028 Protection for BETA93 truncated SUBTYPE=41 record.
VMACBVIR 32.134 Some POOLs were not output in BVIR322/323/324.
VMACDB2H 32.027 32.01 INVALID DB2 V10 HEADER RECORDS DELETED.
VMACDB2H 32.148 DB2 Headers in any order are now processed correctly.
VMACDB2H 32.261 DB2 variable JOB could be incorrect LENGTH $12.
VMACNDM 32.208 Support for New NDM-CDI CPU CP/zIIP/QUAL times.
VMACSMF 32.073 New MXGREADSMF=SMF/LOGGER/BOTH option to read SMF.
VMACSMF 32.136 CICS Version SMFPSRVR formatted prints TS5.1 vs 68.
VMACSMF 32.191 Using _INFILE_=SMFINFILE allows VIEW with MXGDECOM.
VMACSMF 32.300 WPS ONLY. CANNOT READ SMF ON ASCII, MXG ERROR.
VMACWECR 32.301 WPS ONLY. DATA SET "WORK.WEBSCRAU" NOT FOUND.
VMACaaaa 32.234 The _IDaaaa=512 detection was removed.
VMXGDEL0 32.127 New %VMXGDEL0 utility deletes all zero-obs datasets.
VMXGDSNL 32.260 MXG on Linux to process AS400 data, slash issue.
VMXGINIT 32.021 Change 31.285 removed (INSTREAM enhancement didn't).
VMXGODSO 32.217 Support for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
VMXGPLCH 32.013 Create $PLOTCHAR to map one character from SYSTEM.
VMXGPRAL 32.029 ERROR 72-322 or COMPBL HAS TOO MANY ARGUMENTS.
VMXGPRNT 32.017 Fails with 180 pointing to LABEL, mis-located RUN.
VMXGSUM 32.026 Macro variables compressed with COMPBL and %STR.
VMXGSUM 32.133 Support for "concatenated" PDBs as INPUT.
VMXGSUM 32.164 FREQ option created lower case variable names.
WEEKBLxx 32.264 WPS ONLY. Test for &SYSVER GE 6 s/b &SASVER GE.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com
Inverse chronological list of all Changes:
NEXTCHANGE: Version 32.
====== Changes thru 32.309 were in MXG 32.32 dated Jan 6, 2015=========
Change 32.309 Support for ASG TMON/CICS Version 4.0 INCOMPATIBLE due to
EXMONEXT inserted fields.
EXMONPSB -New variables in MONITASK 'TA' record dataset.
IMACTMO2 TACNTGLN='CONTAINER*ACCUM*GET/GET64*LENGTH'
VMACTMO2 TACNTHWM='CONTAINER*LENGTH*HWM'
VMXGINIT TACNTPLN='CONTAINER*ACCUM*PUT/PUT64*LENGTH'
Jan 1, 2015 TACNTRCT='CONTAINER REQUEST COUNT'
Jan 6, 2015 TACNTRTM='CONTAINER REQUEST ACCUMULATED TIME'
TACNTWCT='CONTAINER REQUEST WAIT COUNT'
TACNTWTM='CONTAINER REQ ACCUMULATED WAIT TIME'
TAHWMRUL='RULE RECORD'
TAIPCNRL='TOTAL IPIC NETWORK BYTES INBOUND'
TAIPCNSL='TOTAL IPIC NETWORK BYTES OUTBOUND'
TASTCODE='TRANSACTION START CODE'
-New dataset MONIEXT from 'TA' EXT SEGMENTs.
TAONETWK='ORIGIN*NETWORK ID*FROM*WORK REQUEST'
TAOAPPL ='ORIGIN*APPLID*FROM*WORK REQUEST'
WKOSTART='ORIGIN*TASK*START TIME'
TAOTRNUM='ORIGIN*TASK*TRANSACTION*NUMBER'
TAOTRID ='ORIGIN*TASK*TRANSACTION*ID'
TAOUSRID='ORIGIN*TASK*USERID'
TAOTCPSV='ORIGIN*TCPIPSERV*NAME'
TAOPORTN='ORIGIN*TCPIPSERV*PORT NR'
TAOCLIPA='ORIGIN*CLIENT/TELNET*IP*ADDRESS'
TAOCLIPP='ORIGIN*CLIENT/TELNET*PORT NR'
TAOFCTNM='ORIGIN*TRANSACTION*FACILITY*NAME'
TAOTRFL1='ORIGIN*TRANSFLAG*FACILITY*IDENT'
TAOTRFL2='ORIGIN*TRANSFLAG*IDENTITY*INFO'
TAOTRFL3='ORIGIN*TRANSFLAG*RESERVED'
TAOTRFL4='ORIGIN*TRANSFLAG*DEFINITION*INFO'
TAOTRFL5='ORIGIN*TRANSFLAG*TYPE'
TAOTRFL6='ORIGIN*TRANSFLAG*RESERVED'
TAOTRFL7='ORIGIN*TRANSFLAG*RESERVED'
TAOTRFL8='ORIGIN*TRANSFLAG*RECOVERY*MANAGER'
TAOUSRCO='ORIGIN*USER*CORRELATOR'
TAOADAT1='ORIGIN*DATA*ADDED*DATA1'
TAOADID ='ORIGIN*DATA*ADAPTER*ID'
TAOADAT2='ORIGIN*DATA*ADDED*DATA2'
TAOADAT3='ORIGIN*DATA*ADDED*DATA3'
TAPHNTWK='PREV HOP*DATA CICS*REMOTE TASK'
TAPHAPPL='PREV HOP*DATA*APPLID'
WKPHSTRT='PREV HOP*DATA*START TIME'
TAPHTRNO='PREV HOP*DATA REMOTE*TASK NUM'
TAPHTRAN='PREV HOP*DATA REMOTE*TASK TRAN'
TAPHCNT ='PREV HOP*DATA NUM OF*CICS REMOTE'
TAABPANM='APPLICATION*BASE*PROGRAM*APPLNAME'
TAABPPNM='APPLICATION*BASE*PROGRAM*PLATFORM'
TAABPONM='APPLICATION*BASE*PROGRAM*OPERATION*NAME'
TAABPMAJ='APPLICATION*BASE*PROGRAM*MAJOR*VER NR'
TAABPMIN='APPLICATION*BASE*PROGRAM*MINOR*VER NR'
TAABPMIC='APPLICATION*BASE*PROGRAM*MICRO*VER NR'
TAITKANM='INITIAL TASK*APPL CNTX*APPLICATION*NAME'
TAITKPNM='INITIAL TASK*APPL CNTX*PLATFORM*NAME'
TAITKONM='INITIAL TASK*APPL CNTX*OPERATION*NAME'
TAITKMAJ='INITIAL TASK*APPL CNTX*MAJOR VER NR'
TAITKMIN='INITIAL TASK*APPL CNTX*MINOR VER NR'
TAITKMIC='INITIAL TASK*APPL CNTX*MICRO VER NR'
TACTKANM='CURRENT TASK*APPL CNTX*APPLICATION*NAME'
TACTKPNM='CURRENT TASK*APPL CNTX*PLATFORM*NAME'
TACTKONM='CURRENT TASK*APPL CNTX*OPERATION*NAME'
TACTKMAJ='CURRENT TASK*APPL CNTX*MAJOR VER NR'
TACTKMIN='CURRENT TASK*APPL CNTX*MINOR VER NR'
TACTKMIC='CURRENT TASK*APPL CNTX*MICRO VER NR'
-New dataset MONIPSB from 'TA' PSB SEGMENTs.
TADDBCCT='TOTAL*DL/I*DATA BASE*CALLS'
TADDLETC='DATA BASE*DLET CALLS*ISSUED'
TADEBCT ='DEDB*CALLS'
TADEDBRC='DEDB*READ*OPERATIONS'
TADEDQCT='EXCLUSIVE*DEQUEUES'
TADENQCT='EXCLUSIVE*ENQUEUES'
TADGHNCT='DATA BASE*GHN CALLS*ISSUED'
TADGHNPC='DATA BASE*GHNP CALLS*ISSUED'
TADGHUCT='DATA BASE*GHU CALLS*ISSUED'
TADGNPCT='DATA BASE*GNP CALLS*ISSUED'
TADISRTC='DATA BASE*ISRT CALLS*ISSUED'
TADLDBIO='DATABASE*I/O'
TADLGNCT='DATA BASE*GN CALLS*ISSUED'
TADLGUCT='DATA BASE*GU CALLS*ISSUED'
TADLIPSB='PSB*NAME'
TADLUSSN='USSN*NUMBER'
TADOBUCT='OVERFLOW*BUFFERS*USED'
TADREPLC='DATA BASE*REPL CALLS*ISSUED'
TADTDQCT='TEST*DEQUEUES'
TADTNQCT='TEST*ENQUEUES'
TADUDQCT='UPDATE*DEQUEUES'
TADUNQCT='UPDATE*ENQUEUES'
TADUOWCC='UOW*CONTENTIONS'
TADWEDBC='WAITS FOR*DEDB*BUFFER'
TADWENQC='WAITS ON*EXCLUSIVE*ENQUEU'
TADWTNQC='WAITS ON*TEST*ENQUEUES'
TADWUNQC='WAITS ON*UPDATE*AND ENQUE'
TAPSBICT='TAPSB*SEGMENT*COUNT'
WKDLDBTM='ELAPSED*TIME FOR*DATABASE I/O'
WKDLICTM='THREAD*TCB*CPUTIME'
WKDLINWT='ELAPSED*WAIT TIME*INTENT*CONFLICT'
WKDLLKTM='ELAPSED*TIME FOR*PI LOCKING'
WKDLPLWT='ELAPSED*WAIT TIME*POOL*SPACE'
WKDSCETM='SCHEDULE*COMPLETED'
WKDSCSTM='SCHEDULE*STARTED'
WKSCHDTM='ELAPSED*TIME FOR*SCHEDULE PROCESS'
-New variables in MONITR 'TR' record dataset.
TRASACTV='CURRENT*ADDRESS*SPACE*ADDRESS'
TRASHWM ='ADDRESS*SPACE*HWM'
TRASPMHW='HWM*AUX*SLOTS*PMO'
TRASPMO ='AUX SLOTS*TO BACK*64 BIT PMO'
TRBAPMO ='BYTES*ALLOCATED TO*PRIVATE MEMORY'
TRBHPMO ='BYTES*HIDDEN IN*PRIVATE MEMORY'
TRBPMOHW='HWM BYTES*USABLE IN*PRIVATE MEM'
TRCDSAL ='CURRENT*DSA*LIMIT'
TRCDSAT ='CURRENT*DSA*TOTAL'
TRCEDSAL='CURRENT*EDSA*LIMIT'
TRCEDSAT='CURRENT*EDSA*TOTAL'
TRCMCSU ='CUMULATIVE*COMMON*SUBSPACE*USER'
TRCMSUHW='HWM*COMMON*SUBSPACE*USERS'
TRCMUSU ='CUMULATIVE*UNIQUE*SUBSPACE*USER'
TRCRCSU ='CURRENT*COMMON*SUBSPACE*USERS'
TRCRUSU ='CURRENT*UNIQUE*SUBSPACE*USERS'
TRDSAHWM='HWM*DSA*TOTAL'
TREDSAHW='HWM*EDSA*TOTAL'
TRFGFAIL='NO FROM*GUARD*FAILURES'
TRFGFSZ ='FROMGUARD*FAILURE*SIZE'
TRGDSAAC='CURRENT*GDSA*ACTIVE'
TRGDSAAL='CURRENT*GDSA*ALLOCATED'
TRGDSAHA='HWM*GDSA*ACTIVE'
TRGDSAHW='HWM*GDSA*ALLOCATED'
TRGETSSZ='GETSTOR*REQUEST*SIZE'
TRMEMLMT='MEMLIMIT*SIZE'
TRMLIMTS='MEMLIMIT*SOURCE'
TRNOLMO ='LARGE*MEMORY*OBJECTS'
TRNOSHMO='SHARED*MEMORY*OBJECTS'
TRNUMPMO='PRIVATE*MEMORY*OBJECTS'
TRPGPOOL='PAGEPOOLS'
TRRFPMHW='HWM*REAL*FRAMES*PMO'
TRRFPMO ='REAL*FRAMES*64-B*PMO'
TRRNTPGM='STATE*OF*RENTPGM'
TRSBFLMO='SHARED*BYTES*FROM*LARGE MEMORY'
TRSBLMHW='HWM*SHARED BYTES*IN LARGE MEMOR'
TRSTGPRO='STATE OF*STORAGE*PROTECT'
TRTRNISO='STATE OF*TRANISO'
TRUSUHWM='HWM*UNIQUE*SUBSPACE*USERS'
Jan 6: DEBUG 8 _N_= messages eliminated.
-Divide by 4096 for all durations was added.
Change 32.308 These new-in-XCOM-11.6 variables are now INPUT and some
FORMATS are decoded by new $MGXCMxx formats:
VMACXCOM XCORELEASE XCONXFER_AK XCOPDSMN_AK1 XCODATE_AK1
Dec 30, 2014 XCOTIME_AK1 XCONAME_AK XCOPDSMN_AK2 XCODATE_AK2
XCOTIME_AK2 XCOLUSER_AK XCOPDSMN_AK3 XCODATE_AK3
XCOTIME_AK3 XCOID_AK XCOPDSMN_AK4 XCODATE_AK4 XCOTIME_A
XCOTNAME_AK XCOPDSMN_AK5 XCODATE_AK5 XCOTIME_AK5 XCOPDS
XCOTOTCPU XCOTCBCPU XCOSRBCPU XCOZIIPZCPU XCOZIIPCCPU
XCOZIIPELIG XCONRECS2 XCONSEND2 XCONRECV2 XCONPUT2
XCONGET2 XCOALPRI2 XCOALSEC2 XCOALDIR2 XCOALRUNIT
XCOEATTR XCOLCIPH_LIST XCOCIPHER XCOPROTOCOL XCOLCHAR
XCORCHAR XCOLCCSID XCORCCSID XCOSCCSID XCOTCCSID XCOLTN
XCORTNQ XCOMIERR XCOMCERR XCOLDELIM_ENCODE
XCORDELIM_ENCODE XCOMIREPL XCOMCREPL XCOLDELIMITERS
XCORDELIMITERS XCOMIREPL_CNT XCOMCREPL_CNT XCOXMITF
Change 32.307 TYPE50 with VERSN50=2 ATTCHTYP=4 and LENGTH=254 caused an
VMAC50 INPUT STATEMENT EXCEEDED error because MXG expected 262
Dec 29, 2014 bytes. Now the 8-byte TY50RDQN Read-Queue-Name is INPUT
only when there are 8-bytes left. I presume that field
was added by an APAR.
Thanks to Steven Womer, OCLC, USA.
Change 32.306 If BLDSMPDB was used with RUNDAY=NO, the PDBAUDIT report
BLDSMPDB was incorrectly invoked, causing DDNAME NOT FOUND error.
Dec 29, 2014 Now, PDBAUDIT is not run when RUNDAY=NO is specified.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 32.305 DOCUMENTATION.
FORMATS -Format $MGPROD maps every member in MXG to a product.
Dec 27, 2014 This is work in progress for Spring, 2015.
====== Changes thru 32.304 were in MXG 32.12 dated Dec 23, 2014=========
Change 32.304 Support for RMF APAR OA45421 adds new function to the SMF
VMAC74 74 subtype 4 record, new variables in TYPE74ST dataset:
Dec 19, 2014 R744SISC='INDEX TO*SCM*DATA*SECTION'
R744SNSC='STORAGE*CLASS*MEMORY*DATA*SECTIONS'
R744SSAC='SCM AR*CONDITION*REQUIRED*RESTART'
R744SOSA='SCM AR*CONDITION*SUCCESSFUL*OP'
Change 32.303 Support for APAR OA44798, which adds two variables to the
VMAC22 TYPE22 Subtype 10 record, in dataset TYPE22_A:
Dec 19, 2014 SMF22SMT='MULTI-TARGET*PPRC*STATUS'
SMF22PMT='PREVIOUIS*MULTI-TARGET*PPRC*STATUS'
Change 32.302 MXG 32.06-32.11. The QAWPS program %INCLUDE of BUIL3005
QAWPS text was incorrectly changed to BUIL3206 in 32.06 and
Dec 19, 2014 then was BUILVVNN for each version instead of BUIL3005.
Thanks to Declan Vibert, World Programming, ENGLAND.
Change 32.301 MXG 32.11, WPS ONLY. A letter F left in macro _VARWECR
VMACWECR caused ERROR: DATA SET "WORK.WEBSCRAU" NOT FOUND".
Dec 22, 2014 SAS did not fail; it added the F to the dataset LABEL.
Thanks to Declan Vibert, World Programming, ENGLAND.
Change 32.300 MXG 32.11, WPS on ASCII ONLY, INVALID SMF RECFM. A test
VMACSMF left from Change 32.258 ("OR %SYSPROD(WPS EQ 1") caused
Dec 19, 2014 ERROR: UNRECOGNIZED RECORD FORMAT VBS on ASCII (because
WPS requires RECFM=S370VBS on ASCII). Test is removed.
Thanks to Declan Vibert, World Programming, ENGLAND.
Change 32.299 The default invocation of PDBAUDIT (contents of today's
BLDSMPDB "PDB's", comparison with yesterdays) is at the end of the
Dec 18, 2014 default BUILDPDB (PDB.SPUNJOBS), but that is prior to any
ASUMxxxx or other members that you added, so those other
PDB datasets would not be reported.
-This change adds the PRINTAUDIT parameter to BLDSMPDB
PRINTAUDIT=&MXGPRINTAUDIT
to automatically defer the %PDBAUDIT invocation until
after all of the INCLAFTR programs have executed.
-If you use BUILDPDB and your own includes, you can use
%LET MXGPRINTAUDIT=NO; /* temp replace default */
%INCLUDE SOURCLIB(BUILDPDB);
%INCLUDE - all of your stuff - ;
%PDBAUDIT(PRINTAUDIT=YES);
Change 32.298 Multiple UTILBLDP executions in a single job could get
UTILBLDP errors with missing parens and other nastiness if any
Dec 18, 2014 of the EXPDB*** parameters were used. EPDBINC EPDBCDE
EPDBVAR EPDBOUT are now all nulled at the end.
Change 32.297 New argument LIBNAMES to select which LIBNAMEs are used,
PDBAUDIT and new options added to PRINTAUDIT= argument:
Dec 18, 2014 LIBNAME=_ALL_ Default, search all open LIBNAMES:
A LIBNAME is open if:
-zOS it has been touched by a DATA or PROC step
or there was a LIBNAME statement used
-ASCII there MUST have been a LIBNAME statement
PRINTAUDIT=
YES - default - datasets and reports generated
NO - PDBBAUDIT becomes a null statement
DATAONLY - only builds datasets and does not print
any reports
PRINTONLYCHANGE - builds datasets and prints only
the report of differences
PRINTONLYCONTENTS - prints only the CONTENTS report
Change 32.296 New macro variable &MACJESN is added in VGETJESN so you
VGETJESN can delete records by their TYPETASK values. For example,
VMXGINIT the large number of SMF 30s written for OMVS tasks can be
Dec 18, 2014 can be deleted from your BUILDPDB datasets, using
//SYSIN DD *
%LET MACJESN=
%QUOTE( IF TYPETASK EQ 'OMVS' THEN DELETE; ) ;
%INCLUDE SOURCLIB(BUILDPDB);
Note that using MACJESN "instream" in your //SYSIN only
impacts this job, so you could separately run TYPE30
program and see all those OMVS task records.
Thanks to Richard Stuchell, Visa, USA.
Change 32.295 Variables XMLSYSTEM/TEMSSEQ in T112TEMS dataset created
UTILEXCL by SUBSTR(XMLRECORD) with INPUT XMLRECORD $VARYING32000,
VMAC112 so SAS defaults their length to 32000, when there is no
Dec 17, 2014 LENGTH statement. That is a problem ONLY because both
are in the BY list for PROC SORT, which then caused
ERROR: HOST SORT CAN NOT BE USED (SORTPGM=HOST/SORT)
WARNING: HOST SORT CAN NOT BE USED (SORTPGM=BEST)
because DFSORT/SYNCSORT don't allow a BY list over 32760
bytes long. Both are now shortened in a LENGTH statement.
-An ERROR occurs with the site option SORTPGM=HOST/SORT.
Instead, if SORTPGM=BEST is used, SAS issues the WARNING
and proceeds to use its internal sort. Knowing this now,
I recommend SORTPGM=BEST in your site's CONFIG.
-The UTILEXCL program has a long BY list and has noted in
comments that you must use OPTIONS SORTPGM=SAS.
-But how did this slip thru my QA? Well, it turns out that
SAS does NOT validate the BY list length if the dataset
has zero observations; I don't always have obs for every
MXG dataset. I think that lack of validation is a defect,
but now that I'm aware SAS may not find these errors for
me, I've revised the UTILVREF QA program to now calculate
the length of the BY list for every dataset and report
any new exposures so they can be corrected/documented.
-Note: There are other HOST SORT CAN NOT BE USED causes.
Thanks to Gaetan Martel, Intact Corportation Financiere, CANADA.
Change 32.294 This analysis example to compare two WEEK's TYPE72GO data
ANALCPU for each Service Class, matching intervals from midnight
Dec 17, 2014 had &PDBMXG..TYPE72GO instead of WEEK.TYPE72GO and so it
failed with LIBREF PDB IS NOT ASSIGNED.
Thanks to Jerry Schmidt, Northeast Utilities, USA.
Change 32.293 Warning added to ASUMDB2A when "Rollups" are detected.
ASUMDB2A Created when ACCUMACC is specified, rollups summarize
Dec 17, 2014 DB2 events, leaving no "detail" event data in DB2ACCT, so
you need to be aware Rollups impact ANALDB2R reports and
makes any summarization of the already summarized data of
questionable utility. The new log messages print:
MXGWARN: DB2 ROLLUPS DETECTED. SUMMARIZED VALUES CANNOT
MXGWARN: BE USED FOR DETAIL ANALYSIS. TOTAL AND MAX
MXGWARN: VALUES WILL BE CORRECT BUT AVERAGE VALUES WILL
MXGWARN: BE INCORRECT. USE WITH CAUTION.
Note that %ANALID reports tabulate which DB2 Subsystems
have enabled ACCUMACC; %ANALID reports are automatically
created by BUILDPDB to tabulate your input SMF data, or
it can be directly executed to read/report on your SMF.
using %ANALID(READSMF=YES,PRINT=YES,PDBOUT=WORK);
Change 32.292 -ASCII only. The MXG default SORTSIZE=400M is removed so
AUTOEXEC the default SORTSIZE is chosen. No problem was reported,
AUTOEXEU but this archaic value could negatively impact sorts.
AUTOEXEW -Optional ODS and DM commands are now enclosed in comment
Dec 16, 2014 blocks, rather than enabling by default.
Change 32.291 Support for GDPS SMF 105 Record APAR PI26702 (replaced
VMAC105 PI16853) INPUTS eight new two-byte fields into existing
Dec 16, 2014 variables SM105LTV/LOV/LPV/LSV/LUV/LCV/LJV/SN195LFV that
were previously only one-byte fields. When the APAR is
installed, it's flag bit detects its presence and inputs
the new fields transparently. One byte was too small if
a client had an LSS with a full 256 devices defined.
Thanks to Dave Clitherow, IBM GDPS Development, UK.
Change 32.290 "Archaic" IMS log processing programs, TYPEIMS7 to create
TYPEIMS7 IMS07 IMS07D IMA0A7 IMS0708 IMSUMRY datasets or JCLIMSL6
VMACIMS and ASMIMSL6 to create IMSTRAN.IMSTRAN, both now use the
VMACIMSA newer and larger (by about 5%) DLREXTIM for the IMSCPUTM
Dec 12, 2014 value instead of the original CP CPU time field, DLRTIME.
DLREXTIM was added in IMS 10.1 and recommended by IBM IMS
support. DLRTIME is also now kept in those datasets.
NOTE: THE RECOMMENDED, NON-ARCHAIC MXG IMS LOG PROCESSING
in JCLIMSTT that creates the IMS56FA IMS Transaction Data
Set was not changed: IMSCPUTM correctly used TPEXTIME.
-IMSCPUTM/DLRTIME/DLREXTIM contain ONLY the CP CPU time
and DLRAZAAP/TPEZAAP contain ONLY zIIP/zAAP CPU time.
Thanks to David Christianson, State of Wisconsin, USA.
Change 32.289 -RMF III processing performance enhancements, message
ADOCRMFV improvements, fixes, and documentation upgrades.
ASMRMFV -Improved ASMRMFV handling of all Return Codes, Reason
CLRMFV Codes, and Info Codes into messages eliminating some
JCLRMFV instructions.
JCLCRMFV -Severe error messages RMFV003S and RMFV007S will now
JCLDRMFV provide the failing subroutine name for better diagnosis.
Dec 20, 2014 In prior ASMRMFV versions only the general name of the
failing service (OPEN, CLOSE, etc.) was shown.
-Messages RMFV024I, RMFV025I, RMFV028I, RMFV029*,
RMFV031I, RMFV037I, and RMFV999I are modified for better
alignments and legibility.
-Message RMFV028I for Indexes is now a multi-line message.
-Messages RMFV012I with Sample Begin/End Date/Time stamps
always be issued even if NODETAIL is in effect.
-When the NODUPDSN option is in effect message RMFV101I
will include the number of DSNAME COMPARES in both Detail
and Summary Reports as an indicator of the overhead
incurred detecting duplicate data set names.
-Message RMFV105I will now show the table name for the RMF
III Data Set Header as DSI instead of DSH. This was the
only report table id not conforming to the actual RMF III
internal id which is ERBDSIG3.
-Using the RMF III internal table identifications
consistently allows for more efficient table validation.
ASMRMFV documentation and source code will still refer to
this table as the DSH or Data Set Header.
-When the POLICY option was specified with the SIZE option
no Service Policy information was produced. The SIZE
option provides a quick inventory of the space usage,
index usage, and attributes of all allocated RMF III data
sets with no RMFBSAM output.
-When the SIZE option is used now any RMF III data set
filters such as NODUPDSN, SYSPLEX=, SYSTEM=, Date/Time,
and DOW= (and their aliases) will be honored to provide
Index and Space usage for only selected data sets. In
prior ASMRMFV versions all data set filters were ignored
when SIZE was specified.
-The SIZE option will now bypass opens and closes for
unneeded non-VSAM data sets RMFBSAM, RMFFILT, and RMFSKIP
for better performance.
-Summary messages RMFV100I, RMFV012I, and RMFV014I will
now also be issued when SIZE is in effect.
-SZ is no longer an alias for the SIZE option, it is now
an alias for SHOWZERO. Please use SI as a SIZE alias
instead.
-New parameters SHOWZERO (alias SZ) and NOSHOWZERO (alias
NOSZ) control display of RMF III table statistics in
message RMFV105I when there are zero occurrences of a
particular table. The default is SHOWZERO providing the
same behavior as prior ASMRMFV versions.
-These parameters replace the ZEROPRT/NOZEROPRT options
and respective aliases since the purpose was unclear from
the names. However, the old parameters are still
accepted without error.
-SHOWZERO/NOSHOWZERO parameter documentation is added to
Section 6 "Report Control Parameters" in ASMRMFV and
ADOCRMFV members. The SIZE option is also updated.
-Updates for revised messages are made to Section 12
"Messages" in ASMRMFV and ADOCRMFV members.
-Section 25 "Summary" is updated to add new parameters.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 32.288 SMF Type 22 log message UNKNOWN SECID=40 printed because
VMAC22 the CPU segment is only 6 bytes, MXG read 7. Obviously,
Dec 6, 2014 this is NOT a frequently used SMF record! Error was
introduced by Change 32.064 in MXG 32.03.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Change 32.287 VMXGGETM was checking the length of NRECORDS when it
VMXGGETM should have been checking for a value of MAX, when the
Dec 6, 2014 NRECORD=MAX option was chose, causing log message
NOTE: Variable MAX is uninitialized.
Change 32.286 A second execution of %VMXGSRCH might do nothing; both
VMXGSRCH generated WARNING: MULTIPLE LENGTHS FOR BY VAR MEMNAME
Dec 3, 2014 but only the first execution executed your search.
Thanks to Rodger Foreman, Trans Union, USA
Change 32.285 A RNAME (Minor Queue Name) can contain hex characters
VMACRMFV so new variable ENTMINNAHEX with $HEX72 format provides
Dec 3, 2014 the hex values when ENTMINNA contains non-printables.
These additional variables will also be updated and this
change text will be revised when completed.
Dataset Variable
CMFVEN ENRERNM
CMFRV RVRERNM
TYPEMIM MIMCMRNM
TYPEPDL RTYPEU
TMVSNQ NQMINOR
TYPE87 SMF87QSCAN_RNAME
TYPE796 TYPE796MIN
TYPE797 TYPE797MIN
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.284 -INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in NDM 'PT' SMF
VMACNDM record when LOCNULL=1 is corrected by removal of SUBSTR.
Dec 3, 2014 -Additional NDMRTYPE values of A# C# D# S$ U# UK are now
also output in dataset NDMAE.
-Protection for ancient short records added so that now
every single NDM record I've ever received is tested.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Thanks to Michael Oujesky, DTCC, USA.
====== Changes thru 32.283 were in MXG 32.11 dated Dec 2, 2014=========
Change 32.283 Debugging PUTLOG removed, printed multi-million lines,
VMACRMFV causing a refresh and re-date of 32.11.
Dec 2, 2014
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.282 ASCII only. If the dataset for which you are searching
VGETOBS was a VIEW, it was found, but the DSNAME returned was a
Dec 2, 2014 period and the member type was blank. The period should
have been in the VGETOBS variable and the member type
should have been set to VIEW. The VGETDSN variable was
also incorrectly set to period on z/OS, all fixed now.
Thanks to Karl Olafsson, Advania, ICELAND.
Thanks to Hreinn C. Hreinsson, Advania, ICELAND.
====== Changes thru 32.281 were in MXG 32.11 dated Dec 1, 2014=========
Change 32.281 MXG 32.02-32.10. BUILDPDB fails if //PDB is on tape after
VMAC74 Change 32.031 added code to VMAC74 that caused SAS to try
Nov 28, 2014 to open PDB.TYPE748A and PDB.TYPE748R simultaneously, and
that can't be done when //PDB is a sequential library.
Code revised to create a temporary copy first. BUT:
WE RECOMMEND YOU NEVER USE //PDB ON TAPE for the BUILDPDB
job, not only because you can't have two datasets open,
but because BUILDPDB first writes many datasets to the
PDB, but then has to read them back in (e.g.,RMFINTRV has
to read ALL of the TYPE7xxx RMF datasets to create that
summary PDB.RMFINTRV dataset), and since there is no
dictionary on sequential libraries, SAS has to read every
record to find the first dataset, then rewind back to the
start, read to find the second dataset, etc., causing
massive increase in elapsed time. And consider what
happens when it's a five volume tape dataset that has to
have each volume mounted, read, dismounted, etc., etc.
Instead, make your //PDB DD a temporary DASD file for
the building of the PDB data library, but then add
a //REALPDB DD UNIT=TAPE,DSN=YOUR.REAL.PDB,. . . and a
PROC COPY IN=PDB OUT=REALPDB MEMTYPE=DATA;
to archive the PDB to tape efficiently.
-TYPS74 fails the same way/same reason if PDB is on TAPE.
Thanks to Jerry Schmidt, Northeast Utilities, USA.
Change 32.280 UNUSED Change Number.
Nov 22, 2014
Change 32.279 Mobile Workload support was enhanced by adding variables
MOBWRK02 SMF89IST SMF89EST SMF89ST SMF89UST in MOBWRK02, needed to
MOBWRK05 determine which of the SMF89 starting timestamps should
Nov 26, 2014 be used to set the STARTHR, and MOBWRK05 was updated to
use the STARTHR in all the merges, which is needed for
hours when an LPAR was moved to a different CEC.
Thanks to Graham Harris, RBS, ENGLAND.
Change 32.278 TYP11902 dataset variables TTTTLSSP/NC/ST/FP/UI wrong
VMAC119 when IBM inserted 16 bytes after TTDUAKRC and before the
Nov 26, 2014 relocatable OFF11903 segment, but MXG overlooked using
OFF11903 in the INPUT (probably because prior iterations
of this SMF 119 type record happened to have OFF11903 at
the COL after TTDUAKRC.) Both the OFF11903 and OFF11904
segments are now corrected and protected for inserts.
-New variable added to TYP11902 dataset, discovered in the
z/OS 2.1 IP Programmers guide, 2014 edition, which does
not show those 16 bytes after TTDUAKRC.
TTTTLSNC4='ATTLS*NEGOTIAGED*4-BYTE*CIPHER'
Thanks to Michael Creech, Black Knight Financial Services, USA.
Change 32.277 Crypto variable execution times R7023MET and R7023CRT are
VMAC7072 now correctly multiplied by the R7024SF Scaling Factor;
Nov 25, 2014 that needed multiply was overlooked when they were added.
Thanks to Michael Creech, Black Knight Financial Services, USA.
Change 32.276 Variables XCODSN2='REMOTE*DSN*WITH*G000V00' is now KEPT
VMACXCOM in TYPEXCOM; the adjacent XCODSN1 was also overlooked and
Nov 21, 2014 is now kept, but that Local DSNAME value was also in the
Dec 16, 2014 variables LCLDSN, XCOLDSN1, and in the FILE= argument in
Dec 22, 2014 the LASTMSG variable.
-Dec 16: This support extended back to version 11.5.
-Dec 22: Lines longer than 72 characters reduced.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.275 Variable NDMRTCPU in NDMRT dataset was incorrectly INPUT.
VMACNDM The +2 after NDMGPE1D no longer exists.
Nov 20, 2014
Thanks to Michael Oujesky, DTCC, USA.
Change 32.274 -The PDBAUDIT report of sizes of datasets in your PDB's is
PDBAUDIT enhanced with SORTEDBY option so that you can choose
Nov 27, 2014 the printed report order as deeded. The default order is
SORTBY=LIBNAME DESCENDING FILESIZE MEMNAME
but you can alter the order any way you wish as:
SORTBY=DESCENDING FILESIZE MEMNAME
-Numeric values are now formatted with commas and a new
column is added with FILESIZE in MGBYTES, and labels
rather than variable names are printed.
Change 32.273 ASCII execution only. Variable LIOBTIME in RACF0200
VMACRACF dataset was incorrect for times from midnight to 1 am.
Nov 20, 2014 The EBCDIC logic was copied to the ASCII code area.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 32.272 ERROR FOUND IN XAMSYS FILE. RECORD WAS NOT OUTPUT.
VMACXAM _N_=1 COL=8987 SEGNAME=CMS SEGSTART=8979 SEGLEN=16448
Nov 18, 2014 A second INPUT +SKIP in the STOSHR record misaligned.
Thanks to Randall Springs, BB&T, USA.
Change 32.271 The "true" PDB.SMFINTRV dataset built by BUILDPDB, with
SMFINTRV consolidated MULTIDD='Y' observations, ACCOUNTn's added,
VMAC30 and with the true count of tape devices allocated for
Nov 19, 2014 each interval, can now be built directly from SMF data,
or from these datasets in //WORK and/or //PDB:
TYPE30TD TYPE30_1 TYPE30_5 and TYPE30_V=SMFINTRV.
Use %INCLUDE SOURCLIB(TYPE30,SMFINTRV); to build ONLY the
PDB.SMFINTRV dataset from SMF; use TYPS30 to also create
all TYPE30xx datasets. This %UTILBLDP example shows how
other SMF records can be added to the processing in one
pass of the SMF file, with USERADD= adding SMF type 42,
and INCLAFTR=SMFINTRV adding creation of PDB.SMFINTRV:
%UTILBLDP(BUILDPDB=NO,
USERADD=30 42,
INCLAFTR=SMFINTRV,
OUTFILE=INSTREAM);
%INCLUDE INSTREAM;
(The _STY30UV Data Set Sort macro in TYPS30 to sort the
WORK.TYPE30_V dataset to the PDB does not name the sort
output to PDB.TYPE30_V, but instead, it simply sorts the
unconsolidated TYPE30_V dataset, naming it PDB.SMFINTRV.
Fortunately, by design, the %VMXGWORL invocation looks
first for the _WTY30UV token, which is WORK.TYPE30_V, but
if that does not exist, then then the _LTY30UV token,
which is PDB.SMFINTRV is used, so SMFINTRV can be used
with either TYPE30 or TYPS30 programs transparently.)
To identify the source of your PDB.SMFINTRV dataset,
the PROC CONTENTS DATA=PDB.SMFINTRV; will show
Built By Data Set Label text
TYPS30(_STY30UV) TY30UV: TYPE 30 INTERVAL EVENT
SMFINTRV DB30UV: SMFINTRV FROM SMFINTRV
BUILDPDB/3 DB30UV: BUILDPDB - SMFINTRV
-"Missing value" messages during _STY30U6 execution were
observed and eliminated with VMAC30 "cosmetic" changes.
Thanks to Cesar V. Cocco, Verisk, USA.
Change 32.270 The IHDRBVIR "BVIR Header" exit member was overlooked but
IHDRBVIR it now exists, and is taken after these header variables
VMACBVIR BVIRHIST BVIRLEN BVIRTYPE BVIRVERS CLUSTER DLIBSEHX
VMXGINIT DLIBSEQN DURATM ENDTIME GLIBSEHX GLIBSEQN GMTOFFBV
Nov 19, 2014 MACHMODL MACHSERL MACHTYPE NODEID SMFTIME STARTIME
TMZOFF VECDLEVL VECDLEVL
have been input and can be used to select which BVIR data
records are processed. As with all IHDRxxxx exits, when
EDITed with your criteria, that will apply to ALL jobs
that process the BVIR data, but each IHDRxxxx member also
also defines a unique macro variable, here MACBVIRH, that
can be used in the //SYSIN text to tailor a specific job.
See comments in the IHDRBVIR and IMACFILE exit examples.
Thanks to Ravi Kumar, Bank of America, USA.
Change 32.269 Documentation of two common ODS errors on z/OS:
ADOCODSO -NOTE: IMAGE NAME PREFIX WILL BE TRUNCATED TO 5
Nov 19, 2014 CHARACTERS TO COMPLY WITH Z/OS FILENAME RULES.
ERROR: CANNOT WRITE IMAGE TO UXMCBH.CPUS0.GIF. PLEASE
ENSURE THAT PROPER DISK PERMISSIONS ARE SET.
No output destination was defined so ODS is trying to
create datasets with userid.SGPLO.PNG and will almost
always fail, or ODS LISTING CLOSE; was not used.
-ERROR: THE JAVA PROXY IS NOT RESPONDING.
ERROR: THE JAVA PROXY'S JNI CALL TO START THE VM FAILED.
ERROR: UNABLE TO LOAD THE JAVA VIRTUAL MACHINE.
PLEASE SEE THE INSTALLATION INSTRUCTIONS OR
SYSTEM ADMINISTRATOR.
Region size too small
Change 32.268 The new ANALDSCK ("DSNAME Check") reads all SMF records
ANALDSCK (SMF 6 14,15,17,18,42.6,60,61,65,66,62,64) that contain
Nov 19, 2014 a DSNAME or ENTRNAME and selects the observations that
contain the full DSNAME, or the High-Level-Index, or any
text you choose, since the INDEX(DSNAME,'text') function
is used for the selection criteria. %VMXGPRAL is invoked
in this example to print all of the found observations.
Thanks to Jack Newburn, Los Angeles County Education, USA.
Change 32.267 Variables CRYAC1U and CRAM3U (1024/4096 utilizations) in
VMAC7072 the TYPE70X2 (PCI CRYPTO ACCELERATOR PCICA) need to be
Nov 19, 2014 multiplied by 100, like the other percentages.
Thanks to Michael Creech, Black Knight Financial Services, Inc., USA
Change 32.266 For CICS, DB2 variable QWHCCV is an alternate source for
VMXGUOW the CICS transaction name, so it is now added to the list
Nov 19, 2014 of transaction names in PDB.ASUMUOW dataset.
Change 32.265 Support for a second CMODNAME='USER' CMODHEAD='USER' CICS
IMACICDV optional segments for dataset CICSTRAN. The first segment
IMACICVS will be tailored in the IMACICUS member and the second
UTILEXCL segment' CMODNAME/HEAD values are set to CMODNAME='USER2'
Nov 18, 2014 and the new IMACICVS member is listed to be tailored for
the second segment.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.264 WPS ONLY. The ancient test for &SYSVER GE 6 (to ensure
WEEKBLDD the "new in V6" CLEAR function was available, to then
WEEKBLDT CLEAR the LIBNAME) failed under WPS, with a spurious
WEEKBL3D error message about BLKSIZE mismatch with LRECL=133!
WEEKBL3T The test needs to use &SASVER which is 8 or greater for
Nov 18, 2014 both SAS and WPS; SYSVER returns the current SAS version
which is also 8 or greater, but WPS returns a 3.
Thanks to Simone Niemczura, Sungard, USA.
Change 32.263 SAS fails to PROC COPY a DATA library with an ITEMSTORE,
DOC to a tape or sequential format library on disk, with:
ERROR: An item store cannot be created in a sequential library.
ERROR: File PDBINTRV.REGSTRY.ITEMSTOR has not been saved
Nov 14, 2014 because copy could not be completed.
All PROC COPY statements now include the MEMTYPE=DATA
option to prevent the error; most COPY's did have either
MT=DATA or MEMTYPE specified.
Thanks to Cesar V Cocco, Verisk, USA.
Change 32.262 -If you are running BLDSMPDB with Week-To-Date WTD, the
BLDSMPDB WEEKKEEP logic in BLDSMPDB failed if you used a wild card
VMXGALOC syntax (ASUM: for example).
Nov 12, 2014 -If you used WTD logic with AUTOALOC on ASCII and used
Dec 15, 2014 FORCEDAY to do a rerun the data went into the WEEK-1
dataset rather than the correct week. Dec 12: Typo fixed.
Change 32.261 If a tailored program compiled _CDE102 first, variable
VMACDB2H JOB could be length $12, because there was no LENGTH
Nov 11, 2014 statement, causing JOB=(SUBSTR(QWHCCV,1,8) to set the
length from the length of QWHCCV. A LENGTH statement is
added in VMACDB2H to protect the expected length $8.
Thanks to Paul Volpi, UHC, USA.
Change 32.260 Executing MXG on Linux to process AS400 data, a forward
VMXGDSNL slash in the path name was fine on windows but was taken
Nov 12, 2014 to be a divide symbol under linux, causing a numeric
operator to be looked for and not found. The use of the
%QUOTE() was required to resolve the intended meaning of
the slash, but the code used ONLY for TYPEQACS processing
has been rewritten to be sensitive to the execution
platform.
FOR ZOS IT WILL USE THE PENULTIMATE NODE OF THE DSNAME
Thanks to H. Sterling James, DST Systems Inc.
Change 32.259 DB2 IFCID=220: "NOTE: Invalid Argument to function INPUT"
VMAC102 prints a hex dump of the first two instances. MXG's INPUT
Nov 10, 2014 statement had not been validated with IFCID=220s and its
misalignment had not been previously observed.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 32.258 Variable SHIFT (the shift of INTBTIME) is now added to
ASUMSMFI the PDB.ASUMSMFI dataset which summarizes PDB.SMFINTRV.
Nov 10, 2014
Thanks to Frank Lund, EVRY, NORWAY.
Change 32.257 RMF Type 78 Subtype 2 record always contain the Virtual
FORMATS Storage Section, and can optionally contain Private Area
VMACID and Subpool Statistics (enabled by listing JOB names to
VMACSMF be monitored in the VSTORE options in your ERBRMFxx).
VMAC78 The %ANALID report now recognizes and reports the records
NOV 7, 2014 78.2.1:VIRTUAL STORAGE ACTIVITY
78.2.2:VIRT+PRIVATE AREA/SUBPOOL
so you can tell if there were any of those JOBS that were
initiated during this interval.
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Keith C. Shaffer, CIGNA, USA.
Change 32.256 These duration variables in dataset TYPEMVAO
VMACMVAO ACTIVETM CPUTOTAL CPUMAX ELAPSTOT ELAPSMAX TAKETIME
Nov 7, 2014 SUCCTIME SUCRETTM FAILTIME FAIRETTM
were all incorrectly multiplied by 60; I think the first
data in 2010 was in minutes, but now is in seconds, so
that multiply is now removed.
Thanks to Christa Neven, KBC Group, BELGIUM.
Change 32.255 The HIGHCONTRAST style that was used as the parent for
MXGSTYL1 MXGSTYLE1 was changed (unexpectedly, unclear when) to
Nov 6, 2014 have a black background and all of the colors were also
modified. Changing the parent to PRINTER resolved the
problem.
Thanks to Richard Way, Office Depot, USA.
Change 32.254 z/VM Variable INTERVAL and HFRATE can be wrong if there
FORMATS is no SAMPLE PROFILE (1.09) MONWRITE record written at
VMACVMXA startup. They are missing values if there is only one
Nov 4, 2014 system's MONWRITE data being read, but if MONWRITE data
from multiple systems is concatenated, the variables will
be non-missing and wrong values, as they were retained
from the prior systems 1.09 record. Now, both variables
are set to a missing value in the 1.04 (Monitor Start) to
clear the retained values. Fortunately, neither variable
is used in any MXG processing.
-Cosmetic, in FORMATS, the RECTYPE format MGVXATY had not
been updated for recently added MONWRITE records.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.253 zOS only and only if daily datasets are GDGs, MONTHBLD:
BLDSMPDB It is possible that unless the GDGs are in precisely the
MONTHASC right order (today is 0, yesterday -1, etc,) that the
MONTHBL3 MONTHBLD logic could cause you to have duplicate and/or
MONTHBLD missing data in your MONTHLY datasets. All of these
MONTHDSK members now look for daily data that is in the current
VSETMNTH week - that is the last week that started before
Nov 1, 2014 month-end and if the ZDATE is in that week will continue
Nov 6, 2014 to process that record. On zOS, all 7 days are always
set by VSETMNTH to ensure we get all of the data from the
current week into the process.
Change 32.252 Support for EzSM 4.2.0 creates two new datasets, one each
EXEZSMT2 from splitting subtype 2 and 3, and subtypes 1, 2, 3, 7
EXEZSMV3 are all now decoded and variables created. Only header
IMACEZSM variables are output for subtypes 4, 5, and 6, pending
VMACEZSM test data for those subtypes.
VMXGINIT dddddd dataset description
Oct 31, 2014 EZSM02 EZSM02 EZSM02: USER START OR END OR END
EZSMT2 EZSM02T EZSMT2: TRANSACTION START OR END
EZSM03 EZSM03 EZSM03: MVS CONSOLE COMMAND
EZSMV3 EZSMV3 EZSMV3: MVS VARY COMMAND
Thanks to Perry Lim, Union Bank, USA.
Change 32.251 TYPE30 variables EXCPNODD/TODD/TOTL,IOTMNODD/TODD/TOTL
VMAC30 were inconsistent when NUMDD=0. MXG set EXCPNODD=0 if
Oct 30, 2014 it was missing, to prevent MISSING VALUE messages, but
when NUMDD=0, there ARE no DD segments, so leaving
EXCPNODD=. when NUMDD=0 makes better sense. And while
NUMDD=0 did set IOTMTODD=., that caused the calculated
IOTMTOTL to be missing when IOTMTOTL=IOTMTOTL-IOTMTODD
was executed. All are now correct and consistent; when
NUMDD=0 the two NODDs will be missing and TOTL correct
in both TYPE30_V and PDB.SMFINTRV datasets. While MULTIDD
observations (30's with ONLY DD segments) don't have a
Unit Record segment (so IOTMTOTL in TYPE30_V will be a
missing value), the BUILDPDB/ONLYINTV consolidation of
all of those MULTIDD='Y' observations from TYPE30_V into
the PDB.SMFINTRV observation sums those variables.
Thanks to David Campbell, SunTrust, USA.
Change 32.250 -RMF III Data Set selection enhancements, fixes, and
ADOCRMFV documentation upgrades.
ASMRMFV -New parameter SYSPLEX= (alias PLEX=) provides for the
CLRMFV selection of RMF Monitor III data sets based on the
JCLRMFV originating Sysplex Name and is explained more below.
JCLCRMFV -New parameter SYSTEM= (aliases SYSID=, SID=) provides for
JCLDRMFV the selection of RMF Monitor III data sets based on the
Nov 29, 2014 originating System Id and is explained more below.
-New parameters SHOWMATCH (alias SM) and NOSHOWMATCH
(alias NOSM) control display results of SYSPLEX= and
SYSTEM= value matching. The default is NOSHOWMATCH.
-New parameters NODUPDSN (alias NODUP) and DUPDSN (alias
DUP) control detection of duplicate RMF Monitor III data
set names as input.
-The default for NODUPDSN/DUPDSN is DUPDSN that provides
the previous ASMRMFV behavior of no duplicate detection.
-New parameter DUPERR=ABEND/WARN/IGNORE controls what
happens when NODUPDSN is in effect and an RMF III data
set name duplicate is detected. The default is
DUPERR=WARN. DUPERR is ignored with DUPDSN in effect.
-SYSPLEX= and SYSTEM= do NOT allocate any RMF Monitor III
data sets, but just filter those already allocated
whether by JCL or INDSNAME= patterns.
-The SYSPLEX= and SYSTEM= parameters may be useful for
large sites with many Sysplexes and/or System Ids that
have an established comprehensive set of RMF III data
sets used for MXG PDB builds. But a complete set may not
be needed for all uses such as for certain ad hoc
studies.
-Use of SYSPLEX= and/or SYSTEM= avoids having to set up
special groups of RMF III data sets in JCL or as
INDSNAME= patterns just for special needs. The standard
configuration set of RMF III data sets can always be
used, but filtered as needed with SYSPLEX= and/or
SYSTEM=.
-Note that SYSPLEX= and SYSTEM= when specified do add some
overhead because every data set has to be opened to
examine the originating Sysplex Name and System Id
whether it will be filtered or not.
-However, that drawback is possibly offset with the
avoidance of inconvenience and errors associated with
tailoring of JCL or INDSNAME= patterns for special PDB
builds.
-Defaults are SYSPLEX=ALL and SYSTEM=ALL meaning that no
RMF Monitor III data set filtering occurs based on
Sysplex or Sysid origin as in prior ASMRMFV versions.
-SYSPLEX= and SYSTEM= support any of the following formats
for values:
SYSPLEX=Range1 SYSTEM=Range1
SYSPLEX=Range1:Range2 SYSTEM=Range1:Range2
SYSPLEX=Pattern1 SYSTEM=Pattern1
SYSPLEX=Pattern1:Pattern2 SYSTEM=Pattern1:Pattern2
SYSPLEX=Pattern1:Range1 SYSTEM=Pattern1:Range1
SYSPLEX=Range1:Pattern1 SYSTEM=Range1:Pattern1
-A Range is one or more alphanumeric (A-Z,0-9) or national
(@,#,$) characters allowed in a Sysplex Name or System
Id.
-Range1:Range2 specifies a low/high Range Pair of values
where the source Sysplex or Sysid string must be equal or
greater than Range1 and also equal to or less than Range2
for the data set to be selected.
-Patterns provide generic matching with the Sysplex and
System fields in the Data Set Header (DSH) table for
flexibility.
-A Pattern can include any of the characters in a Range
and MUST also include at least 1 special pattern
character to be recognized as a Pattern. Otherwise it is
handled as a Range.
-Supported pattern characters are:
Pattern Character Matches In Source String
----------------- ------------------------------
'*' (Asterisk) 0 or more characters
'%' (Percent sign) 1 Non-blank character
'+' (Plus sign) 1 Numeric character (0-9)
'_' (Underscore) 1 Alphabetic character (A-Z)
'.' (Period) 1 National character (@,#,$)
-The colon ':' character is a required delimiter when two
values are provided for SYSPLEX= or SYSTEM=.
-Either or both SYSPLEX= and SYSTEM= parameters may be
coded and each repeated as needed (subject to internal
table size limits).
-New severe error message RMFV034S is displayed when a
Range or Pattern filter table is exhausted. The limit
for SYSPLEX= Ranges or Patterns is 16 each. The limit
for SYSTEM= Ranges or Patterns is 64 each. If higher
limits are needed please contact MXG Technical Support.
-When both SYSPLEX= and SYSTEM= are specified the match
results are logically ANDed so that matches must occur
for BOTH Sysplex Name and System Id for the data set to
be selected.
-For more details and examples on Range and Pattern usage
with SYSPLEX= and SYSTEM= for RMF Monitor III data set
selection see the ASMRMFV, ADOCRMFV, JCLRMFV, JCLCRMFV,
and JCLDRMFV Sourclib members.
-New information message RMFV034I is displayed when
SHOWMATCH is in effect. If a match occurs for SYSPLEX=
and/or SYSTEM= the original source string as well as the
Range Pair or Pattern that matched are displayed.
-When no matches occur for all Ranges and/or all Patterns
this condition is also shown.
-SHOWMATCH can be useful for testing the new SYSPLEX= and
SYSTEM= parameters. SHOWMATCH has very low overhead and
can be used freely without concern for a performance
impact.
-Add new variable severity message RMFV036* (*=I,W,E) when
a duplicate data set is found and NODUPDSN is in effect.
-NODUPDSN adds some CPU overhead because the current RMF
III data set name being opened is compared with all the
previous data set names already processed.
-Although duplicate data set name detection is a simple
compare with a basic counter loop, the number of
comparisons rises rapidly with the number of RMF III DD
allocations:
Maximum
Number RMF III Duplicate
Data Sets Input Comparisons
--------------- -----------
2 1
3 3
4 6
5 10
10 45
50 1,225
100 4,950
500 124,750
1,000 499,500
1,500 1,124,250
1,635 1,335,795 Default 32K TIOT size
2,000 1,999,000
2,500 3,123,750
3,000 4,498,500
3,273 5,354,628 Maximum 64K TIOT size
-Users who are confident they do not have any duplicate
RMF III data sets being input to ASMRMFV do not need to
code the NODUPDSN option.
-However, new ASMRMFV users may want to use NODUPDSN at
least once to insure their ASMRMFV run does not contain
duplicate data sets.
-Duplicates are also more likely using the Dynamic Method
with the INDSNAME= parameter due to possible overlapping
of data set name patterns.
-With the addition of the NODUPDSN, SYSPLEX=, and SYSTEM=
parameters RMF III data set filters are applied in the
following order (if coded):
1) NODUPDSN Prevent duplicate dsname input
2) SYSPLEX= Select Sysplex dsname origin(s)
3) SYSTEM= Select LPAR dsname origin(s)
4) Date/Time FROMDATE=,TODATE=,FROMTIME=,TOTIME=,WINDOW
5) DOW= Day of the Week
-Filter messages RMFV006I have been reordered in the log
to correspond with the general order that filters are
applied during an ASMRMFV run.
-A new summary RMFV014I message is added with RMF III data
set filter (bypass) counts for Total, Duplicates, Sysplex
Name, System Id, Date/Time, and Day of the Week filters.
-Options message RMFV036I showing RMF III table selections
is now an RMFV006I filter message and is now part of that
multi-line message group. These are properly filters not
just options.
-Several filters in an RMFV037I option message are moved
to an RMFV006I message as these are also properly filters
not just options.
-Add new Abend Reason code 84 when DUPERR=ABEND and a
duplicate data set name is found with NODUPDSN in effect.
-Message RMFV050S for the internal Dsname Table full
condition is now message RMFV079S.
-DDNAMEs dynamically allocated by the TSO Clist CLRMFV
will now have a RMFC DDNAME prefix that is also supported
by ASMRMFV instead of an RMFV DDNAME prefix as before.
-Thus the DDNAME prefix in messages now indicates:
Prefix Allocation Method
------ -------------------------------
RMFC CLRMFV Clist Dynamic Allocation
RMFD INDSNAME= Dynamic Allocation
RMFV Static JCL DD statement
-Split message RMFV049* into RMFV049* for CSI Catalog
errors only and RMFV050* for CSI Dsname entry errors
only. Before both errors used the same message skeleton.
-All variable severity messages with ids RMFVnnn* (*=
I,W,E,S) are now initialized only once during ASMRMFV
startup according to the settings of the various
*ERR=ABEND/WARN/IGNORE options.
-This improves performance because in prior ASMRMFV
versions some messages were reused and were reset
according to severity multiple times during execution.
-There is a new variable severity message RMFV056*
(*=I,W,E) issued just for pattern errors. Before these
were part of RMFV004* messages.
-CSI severe error message RMFV043S was not being built
with variable error text correctly when the condition
occurred.
-Issue Index messages RMFV028I and RMFV029* only if the
RMF Monitor III Data Set is selected to reduce overhead.
-Issue Space messages RMFV030I and RMFV031I only if the
RMF Monitor III Data Set is selected to reduce overhead.
-When ASMRMFV execution methods were mixed in a single run
(this is supported) the summary message RMFV101I was not
reporting statistics by DDNAME prefix correctly.
-For example, using a static JCL DD statement for an RMF
data set while also using the CLRMFV Clist or using the
INDSNAME= parameter would be a mixing of methods. Now
multiple RMFV101I messages will be issued for RMFC*,
RMFD*, and RMFV* DDNAME prefixes as required.
-Last Open message RMFV017I is now an RMFV008I message and
is now part of that multi-line display group produced as
each RMF III data set is opened.
-Origin message RMFV009I is split into two parts so that
the Sysplex and System Id information appears near the
point in the ASMRMFV log where SYSPLEX= and SYSTEM=
matching occur.
-The second part of the original RMFV009I message is now
message RMFV017I showing RMF and Z/OS versions and the
timestamp value when these were first in effect.
-The MAXFINDS= parameter limit is lowered to a more
reasonable 99,999 maximum down from a 99,999,999,999
value.
-Error messages that display an invalid character both in
EBCDIC and in hex are now improved for better visibility.
-Explicit coding of DOW=ALL, SYSPLEX=ALL, or SYSTEM=ALL is
documented to explain that this resets the corresponding
internal table(s) to empty. Any prior specifications for
the corresponding table(s) in the current ASMRMFV run are
lost. Any subsequent specifications will be added to the
respective table(s) during the run.
-Definitions for the terms "Keyword", "Range", and
"Pattern" are added to Section 2 "Terminology" in ASMRMFV
and ADOCRMFV member documentation.
-NODUPDSN/DUPDSN, SYSPLEX= and, SYSTEM= parameter
documentation is added to Section 5 "Input Data Selection
Parameters" in ASMRMFV and ADOCRMFV members.
-SHOWMATCH/NOSHOWMATCH parameter documentation is added to
Section 6 "Report Control Parameters" in ASMRMFV and
ADOCRMFV members.
-DUPERR=ABEND/IGNORE/WARN parameter documentation is added
to Section 8 "Error Handling Parameters" in ASMRMFV and
ADOCRMFV members.
-Updates for new and revised messages are made to Section
12 "Messages" in ASMRMFV and ADOCRMFV members.
-A new Filter Scope Table is added to Section 13 "Filtered
Records" in ASMRMFV and ADOCRMFV members. This shows the
data filters available in ASMRMFV, to which RMF III
tables they are applied, the order of application, and
the level of data affected.
-Section 25 "Summary" is updated to add new parameters and
improve text alignments in ASMRMFV and ADOCRMFV member
documentation.
-Three new examples showing use of SYSPLEX= and SYSTEM=
parameters are added to the sample documentation members
JCLRMFV, JCLCRMFV, and JCLDRMFV.
-At the ASMRMFV 32.225 level only FROMDATE=TODAY or
TODATE=TODAY settings and all related variants and
equivalents were creating an invalid date of 01JAN1900
for date selection because the current date was not being
loaded in SETDATE processing for these settings.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Rodger Foreman, Trans Union, USA
Change 32.249 Support for BVIR Version 2 short 32X History Records that
VMACBVIR had only 31 Pool Segments, when all 32 pool segments are
Oct 30, 2014 normally always present. These records had BVIRLEN=8256,
but 8545 bytes (32*256+353) are needed for 32 pools.
The existing BVIRLEN GE 8512 test was reduced to 3256 as
record does contain the LIBxxxxx descriptor variables.
-The first three instances of these short records will
print a log message.
-A debugging PUT with _N_= GCNRCLUS= LENLEFT= was removed.
Thanks to Olivier Bigeon, SOC GEN, FRANCE.
Thanks to Pierre-Pascal Joulin, SOC GEN, FRANCE.
Thanks to Samsla Assanaly, SOC GEN, FRANCE.
Change 32.248 Under WPS, BLDSMPDB failed on z/OS because it generated
BLDSMPDB RECFM=S370VBS instead of RECFM=VBS because it incorrectly
Oct 28, 2014 changed OPSYS to 'os' with a %LET OPSYS=%LOWCASE(OPSYS).
The same code was generated under SAS, but there was no
error because SAS has supported both S370VBS and VBS
since SAS Version 8, although that was never documented.
The low case value was not visible in SYMBOLGEN messages,
because OPTIONS CAPSOUT is specified in MXG CONFIGxx.
Thanks to Scottie Mills, TI, USA.
Change 32.247 Support for EMC's Clarion Arrays data for Flare Firmware
VMACCLAR Version 26 thru 33. Most of the changes are new counters.
Oct 24, 2014 The "clarsan" object is really a special case of clarsnap
so clarsan was repurposed as clarpool.
Instrumentation was added to help build keep lists for
the various object's new counters.
Thanks to James Quigley, CONED, USA.
Change 32.246 TYPE72GO's PERFINDX can be a missing value when it should
VMAC7072 be large, for Service Classes with Percentage Goal and
Oct 24, 2014 a small number of transactions with a high goal objective
that was NOT met (so PERFINDX must be greater than one).
A Service Class with 19 transactions had 18 complete in
the first response bucket (.5) but one longer transaction
was not counted in the thirteenth response bucket (4).
So, while 94% of the transactions met their goal, the 97%
objective goal objective was NOT MET (.97*19=18.43 trans)
and due to an MXG logic error, PERFINDX was not set.
Now, when TRANS GT 0, PERFINDX is set to RTSMAP(13),
which for this case was 4.0. Note that PERFINDX will
always be a missing value when TRANS=0, or for R723CRGF=
'S' (SYSTEM) or 'D' (DISCRETIONARY) goals.
Thanks to Tom Kelman, Xerox, USA.
Change 32.245 Reserved Change Number.
Change 32.244 The MOBILE program MOBWRK73 (to read existing TYPE70s)
MOBWRK73 incorrectly required //TYPE70 DD statement. Eliminated,
Oct 21, 2014 but //TYPE70 DD UNIT=SYSDA,SPACE=(CYL,(50)) circumvents.
Thanks to Scottie Long, Navy Federal Credit Union, USA.
Change 32.243 If you use INITIT=Mx where X was the day of the month on
VMXG2DTE which you wanted to INIT the output, the first day's data
Oct 21, 2014 would have been missing. For example, if you specified
INITIT=M2 so that all the observations based on ZDATE
would be in each month's dataset, the data for the first
of each month would be missing because of an incorrect
calculation: when Wx is being used, 1 is added to the
date since the days of the week start with 0, but using
Mx, that +1 caused the data to be missing.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.242 z/VM Interval ENDTIME is set from first 0.1 (CPU) record,
VMACVMXA selecting CPUADDR='0000'x. But the first 0.1 record is
Oct 20, 2014 not always CPUADDR zero! CPUADDR=0001/0002/0003/0000x
Oct 28, 2014 data records had the MRHDRTOD in the fourth record SEVEN
MICROSECONDS later than the time in the first three. This
caused those first three observations to be output with
the (incorrect) prior ENDTIME value, which then caused
spurious observations with many missing values in dataset
VMXAINTV. Because the z/VM MONWRITE data file is weird,
consisting of 4K block containing variable records that
span blocks, and because four 0.1 records fill a block,
finding that first record requires comparing the stored
FOUNDINTBLOCK block number (_N_) with the _N_ of this new
0.1 and only updating ENDTIME if this block is more than
100 blocks later (256 CPUs would need 32 blocks).
-Lost Interval Data in VMXAINTV dataset will ALWAYS occur
for the first interval (START MONITOR message on the log)
because the data values are accumulated but there is no
prior record for the DIF() function; so if you have many
START MONITOR messages, each one is a lost interval.
MONWRITE really needs to run for 23.99 hours, STOP and
then START (and look at the REXX code in Change 29.101
that will synchronize your MONWRITE data to the hour.)
and thus lose only that one midnight interval.
Thanks to Kim Morrell, Royal Canadian Mounted Police, CANADA
Change 32.241 Back-Level EXITCICS V1 caused ERROR: DB2 INPUT STATEMENT
VMACDB2H EXCEEDED error (LENLEFT=4,QWHSTYP=8) and QWHUCPU/QWHUCNT
Oct 20, 2014 fields contain text: QWHUCPU='000000'X!!'BCDIC', and the
incorrect decompression in V1 also caused INVALID DISTRIB
HEADER messages (but DB2 APAR PM32425 was installed).
All errors were eliminated using the current EXITCICS V3.
However, protection is added for the EXCEEDED error.
On z/OS, EXITCICS decompresses the record before the SAS
INPUT statement, so a hex dump of the input record will
be the uncompressed record, but on ASCII, where MXGDECOM
must be used, after the record has been INPUT, a hex dump
will be of the compressed records. See comments in both
VMAC110 and VMACDB2 to get an uncompressed hex dump.
Thanks to Paul Maradin, HP, USA.
====== Changes thru 32.240 were in MXG 32.10 dated Oct 16, 2014=========
Change 32.240 First 32.10. INPUT EXCEEDED z/OS 2.1 SMF 6 Printway with
VMAC6 URI but no Accounting fields was not expected, but now is
Oct 16, 2014 protected.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 32.239 WebSphere SMF 120 Dataset TYP1209E had observations with
VMAC120 a negative DELTA120TM that should not have been output.
Oct 15, 2014 They are first instances of a by group, so no deaccum is
possible, but the test "IF DELTA120TM GT ." was true for
a negative. "IF DELTA120TM GT 0" is the required test.
Thanks to Wayne Bell, UniGroup, USA.
Change 32.238 Support "ALL" Tandem Measure records in a single file.
IHDRTAND This new support reads the //TANDALL DD, which can be
TYPETAND the ALL record file using this JCL:
TYPETANX // EXEC MXGSAS
TYPSTAND //PDB DD DSN=YOUR.OUTPUT.TANDEM.PDB,DISP=. . . .
TYPSTANX //TANDALL DD DSN=YOUR.TANDEM.ALL.INPUT,DISP=SHR
VMACTAND //SYSIN DD *
VMACTANX %INCLUDE SOURCLIB(TYPSTAND);
VMXGINIT or can be the individual "TYPE" files, concatenated:
Oct 12, 2014 //TANDALL DD DSN=YOUR.TANDEM.CPU.FILE,DISP=SHR
Oct 16, 2014 // DD DSN=YOUR.TANDEM.DISC.FILE,DISP=SHR
// DD DSN=YOUR.TANDEM.PROC.FILE,DISP=SHR
//SYSIN DD *
%INCLUDE SOURCLIB(TYPSTAND);
The CPU, DISC and PROC types (LOADID) have been tested.
-The "TAND" Header Exit IHDRTAND invokes &MACTANH which
can be used to select which record types are output:
%LET MACTANH= %QUOTE( IF LOADID='CPU'; );
%INCLUDE SOURCLIB(TYPSTAND);
(If the original multiple-file-name program is still
needed, use TYPETANX or TYPSTANX.)
Thanks to Paul Bennett, Euroclear, BELGIUM
====== Changes thru 32.237 were in MXG 32.10 dated Oct 10, 2014=========
Change 32.237 New variables added to ASUMDBSS for DBAT analysis:
VMXGDBSS ID= qdstnads qdstnard qdstqcit
Oct 10, 2014 MIN=qdstnqmn
MAX=qdstnccw qdstnqmx qdstnqav qdstmard
SUM=qdstnqsc
Thanks to Wayne Bell, UniGroup, USA.
Change 32.236 -InfoPrint/Printway SMF 6 SUBSYS='TCPE' Extended Mode File
IMAC6ESS Transfer INDC=7 variables PAGECNT/NRLINES/OUTDEVCE are
VMAC6 zero/zero/blank as noted in the SMF Manual.
Oct 9, 2014 -Variable SMF6URI (VMAC6) was increased from $64 to $128.
Oct 16, 2014 -Variable ESSFSSDT (IMAC6ESS) increased from $67 to $128.
-New in z/OS 2.1, the JOB Accounting fields in SMF6ACCT
are now decoded and NRACCTFL, ACCOUNTn, and LENACCTn
variables are created in TYPE6 dataset. Both BUILD005 and
BUIL3005 are also updated to use those values to populate
the existing account variables in PDB.PRINT when no 30-1,
30-5, and no type 26 records were found.
SEE CHANGE 32.240, in MXG 32.10 re-dated Oct 16, 2014.
Thanks to Teuvo Virsu, TIETO, FINLAND.
Change 32.235 Variable QWOBJNAM is now kept in MQMACCTQ dataset.
VMAC116
Oct 7, 2014
Change 32.234 The _IDaaaa=512 detection did not work correctly; all of
VMACXXXX Changes 32.224, 32.221, 32.198, 32.180 and 32.149 that
Oct 7, 2014 attempted to detect the un-changed default are removed.
Processing a USER SMF with the default MACRO _IDaaaa will
create zero obs in those datasets, as was always the case
previously. This attempt to alert the user why they had
zero obs could cause ALL of the USER SMF datasets to have
zero observations, so it has been removed.
The primary culprit was my choice to include the TMNT
USER SMF record in the default BUILDPDB/UTILBLDP, even
when you had not asked for it. And the circumvention
if you get the _IDTMNT unchanged log message, is to
request the VMACTMNT from MXG 32.10 to circumvent,
or to install MXG 32.10.
Change 32.233 Netview INPUT STATEMENT EXCEEDED for SUBTYPE=3 because I
VMAC38 thought S38DSOSN, active spans, described the length of
Oct 7, 2014 S38DSOSP, but it does not; code was revised.
Thanks to Coen Wessels, IBM, Switzerland.
Thanks to Pierre Beda, IBM, Switzerland.
Change 32.232 Variables SMF92MSZ and SMF92USZ are MGBYTES formatted.
VMAC92
Oct 2, 2014
Change 32.231 Support for DB2 V11 IFCID 225 IRLM STORAGE INFORMATION in
VMACDB2 new section 6 adds these variables to DB2STATS dataset:
Sep 30, 2014 QW0225I_ABCSA /*CURRENT*USED 64-BIT*COMMON*/
QW0225I_ABCSH /*HWM*FOR 64-BIT COMMON*/
QW0225I_BBPVT /*CURRENT*USED 31-BIT*IRLM*PRIVATE*
QW0225I_BBPVH /*HWM FOR*31-BIT IRLM*PRIVATE*/
QW0225I_ABPVT /*CURRENT*USED 64-BIT*IRLM*PRIVATE*
QW0225I_ABPVH /*HWM FOR*64-BIT IRLM*PRIVATE*/
QW0225I_BBECSA /*CURRENT*USED*ECSA IRLM*POOLS*/
QW0225I_BBECSAH /*ECSA*HWM*IRLM*POOLS*/
QW0225I_BPMAX /*THRESHOLD*31-BIT*IRLM*NORMAL*/
QW0225I_APMAX /*THRESHOLD*64-BIT*IRLM*NORMAL*/
and QW0225DMH is now correctly INPUT for DB2 V11 when it
exists.
Thanks to Ralph C. Baechle, Deere & Company, USA.
Thanks to Kerry Sommers, Deere & Company, USA.
Change 32.230 Undocumented 81-byte SMF14STY=01 segment caused remaining
VMAC1415 segments to be skipped. SMF Manual only documents 80.
Sep 29, 2014 Extra byte now input into SMF14UNK while IBM queried, and
all SMF14STY segments are now protected using SMF30ESL to
skip future new bytes, documented or undocumented.
Thanks to Carl D. Ellis, Wells Fargo, USA.
Change 32.229 -Only these NDM _SNDMxxx are PROC SORTs with NODUP to PDB:
VMACNDM CS/CF/EI/FA/JX/DS/MF/PE/PK/QE/RE/RO/S2/SC/SD/SH/SY/TR/TX
Sep 29, 2014 and CT. All other _SNDMxxx had a DATA step that copied
Oct 5, 2014 to //PDB, but that doesn't propagate the Dataset Label,
Oct 7, 2014 nor remove duplicates. (I use a DATA step instead of SORT
Oct 9, 2014 in an _Sdddddd sort macro when I don't have any data, so
I can't validate the BY list for the NODUP removal. When
a customer provides data, I validate the BY list and use
the PROC SORT NODUP in place of the DATA step.) But, the
BY list CAN be built from MXG code, so this was done and
all NDM _Sdddddd sort macros now use PROC SORT.
-The table in comments in VMACNDM was updated to identify
the datasets that have been populated with observations.
-These datasets _SNDMxxx were updated, but they all still
have zero observations, so their new BY list has not been
data-validated for NODUP:
CS CX GF HW HW2 CS EI JX LS MF PE PX RE RO S2 SC SH
ST TP TR TX
(If you have obs in these datasets, you can use the
UTILNODU program to confirm my BY list is sufficient,
or send your SMF data to support for examination.)
-Variables added to the NDMCT dataset:
NDMZFBA1='ZFBA*DEVICE*RANGE*ONE'
NDMZFBA2='ZFBA*DEVICE*RANGE*TWO'
NDMZFBA1='SEND*ZLIB*VERSION'
NDMZFBA2='RECV*ZLIB*VERSION'
-Dataset NDMPT variables NDMSUBJOB/NDMSUBJID were always
blank because the MXG logic for the Extension segment
was not correct. But there are new PT fields that are
NOT documented in the DSECT, in particular, PTDSNAME and
several character and numeric fields now INPUT in new
PTUNCHx and PTUNNRy character and numeric variables until
updated documentation is available.
Thanks to Randy Hewitt, HP, CANADA.
Change 32.228 Only 240 characters of IMS Log Input Message, MSGTEXT,
VMACIMS were kept, but that text can be much longer and may be
Sep 27, 2014 needed to identify your IMS Mobile Workload transactions.
So INPUT MSGTEXT $VARYING32000 MSGLEN @; is now used, but
with LENGTH MSGTEXT $240 added to keep the same length.
So if YOU do need to access data in MSGTEXT, you would
tailor the EXIMS01/EXIMS01M dataset exit members to test
the text and could use existing SMSGTEXT variable ($40)
for your flag, perhaps with logic like this:
IF INDEX(MSGTEXT,'MOBILE') GT 0 THEN SMSGTEXT='MOB';
before the OUTPUT statement in those EXdddddd members.
Or, you could create your own variable in those exits:
LABEL MYTEXT='ALL*32000*BYTES OF*MSGTEXT';
MYTEXT=SUBSTR(MSGTEXT,1,32000);
and then use
%LET MACKEEP= MACRO _KIMS01 MYTEXT %
MACRO _KIMS01M MYTEXT % ;
to add variable MYTEXT to each of those datasets.
Variable MSGSZIN is the actual MSGLEN of MSGTEXT.
Change 32.227 The ENDTIME in the last obs in NMONINTV can had a value
VMACNMON 12 hours later than actual, when there were BBBP records
Sep 26, 2014 after the last ZZZZ, because MXG code incorrectly updated
ENDTIME when it should have updated variable BBBPEND049.
Thanks to Xiaobo Zhang, FIServ, USA.
Change 32.226 SPINCNT SPINUOW and TIMEDIF were not correctly created
UTILBLDP when BUILDPDB=YES was used; if they existed in your MXG
Sep 19, 2014 USERID.SOURCLIB, then they were correctly included, but
if they were only specified in your UTILBLDP text, the
default members in the SOURCLIB were used.
Thanks to Doug Medland, IBM Global Services, USA.
Change 32.225 -RMF III Date/Time selection enhancements, fixes,
ADOCRMFV and documentation upgrades.
ASMRMFV -New parameter WINDOW (alias WIN) allows selection of
JCLRMFV non-contiguous data by time range for multiple days
JCLCRMFV and is explained below.
JCLDRMFV -New parameter NOWINDOW (alias NOWIN) provides the
Sep 18, 2014 behavior of prior ASMRMFV versions in most cases and is
Sep 22, 2014 the default.
Nov 25, 2014 -New parameter DOW= allows RMF III data selection by day
of the week and is also explained below.
-The FROMTIME= value may now exceed TOTIME= value even for
a single day selection. This condition was previously
flagged as an error, but will now be handled as an
implicit WINDOW request.
-WINDOW/NOWINDOW processing and interaction with the
FROMDATE=, TODATE=, FROMTIME=, and TOTIME= parameters is
best explained with the following examples.
NOTE: ASMRMFV has always added 59.999999 seconds to all
TOTIMEs so that RMF Monitor III Sample Sets that begin in
any part of a final minute of a time range are selected.
For example, TOTIME=1559 becomes 15:59:59.999999 for data
selection purposes.
Case 1: FROMTIME= LE TOTIME= for a SINGLE day
and WINDOW or NOWINDOW (default) in effect
FROMDATE=01OCT2014 TODATE=01OCT2014
FROMTIME=0800 TOTIME=1559
| 01 OCT 2014 |
| Select |
+-------<======>-------+
0 0 1 0
0 8 5 0
: : : :
0 0 5 0
0 0 9 0
Case 2: FROMTIME= GT TOTIME= for a SINGLE day
and WINDOW or NOWINDOW (default) in effect
This is a NEW behavior previously an error.
FROMDATE=01OCT2014 TODATE=01OCT2014
FROMTIME=1600 TOTIME=0759
| 01 OCT 2014 |
|Select Select|
<======>--------<======>
0 0 1 2
0 7 6 3
: : : :
0 5 0 5
0 9 0 9
Case 3: FROMTIME= LE TOTIME= for MULTIPLE days and
NOWINDOW (default) in effect
FROMDATE=01OCT2014 TODATE=03OCT2014 NOWINDOW
FROMTIME=0800 TOTIME=1559
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
| Select | Select | Select |
+-----<===========|=================|===========>-----+
0 0 1 0 0 1 0 0 1 0
0 8 5 0 8 5 0 8 5 0
: : : : : : : : : :
0 0 5 0 0 5 0 0 5 0
0 0 9 0 0 9 0 0 9 0
Case 4: FROMTIME= LE TOTIME= for MULTIPLE days and
WINDOW in effect. This is a NEW behavior.
FROMDATE=01OCT2014 TODATE=03OCT2014 WINDOW
FROMTIME=0800 TOTIME=1559
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
| Select | Select | Select |
+-----<=====>-----|-----<=====>-----|-----<=====>-----|
0 0 1 0 0 1 0 0 1 0
0 8 5 0 8 5 0 8 5 0
: : : : : : : : : :
0 0 5 0 0 5 0 0 5 0
0 0 9 0 0 9 0 0 9 0
Case 5: FROMTIME= GT TOTIME= for MULTIPLE days and
NOWINDOW (default) in effect
FROMDATE=01OCT2014 TODATE=03OCT2014 NOWINDOW
FROMTIME=1600 TOTIME=0759
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
| Select| Select | Select |
+-----+----<======|=================|=====>-----+-----+
0 0 1 0 0 1 0 0 1 0
0 8 6 0 8 6 0 7 6 0
: : : : : : : : : :
0 0 0 0 0 0 0 5 0 0
0 0 0 0 0 0 0 9 0 0
Case 6: FROMTIME= GT TOTIME= for MULTIPLE days and
WINDOW in effect. This is a NEW behavior.
FROMDATE=01OCT2014 TODATE=03OCT2014 WINDOW
FROMTIME=1600 TOTIME=0759
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
|Select Select Select Select|
<=====>-----<=====|=====>-----<=====|=====>-----<=====>
0 0 1 0 0 1 0 0 1 2
0 7 6 0 7 6 0 7 6 3
: : : : : : : : : :
0 5 0 0 5 0 0 5 0 5
0 9 0 0 9 0 0 9 0 9
-See the documentation in ASMRMFV or ADOCRMFV members for
more details on WINDOW/NOWINDOW.
-Five more examples have been added to each of the
JCLRMFV, JCLCRMFV, and JCLDRMFV sample JCL members
showing use of the new WINDOW parameter.
-Filter messages RMFV006I can now appear as multiple pairs
showing begin and end time stamps with one set for each
day when WINDOW is in effect. Prior to this change only
one pair was possible per RMF III data set processed.
-However, if the number of days between FROMDATE= and
TODATE= exceeds 15 only one RMFV006I pair will be shown
to avoid CPU overhead and excessive log message volume.
Actual filtering will still occur as requested.
-Filter message RMFV006I will now show the number of days
as DAYS= between the FROMDATE= and TODATE= values and
also the setting of the WINDOW/NOWINDOW option.
-ASMRMFV now uses 64-bit Grande z/Architecture
instructions in all 64 bit binary TOD date and time
calculations for better performance. Prior versions used
an older method with two 32 bit registers and
carry/borrow logic that was cumbersome with longer
instruction paths.
-Filter message RMFV006* (* = I or E) is now
multi-severity. When the FROMDATE= value exceeds the
TODATE= value then message RMFV006E will be issued. A
U0998 abend will then occur as in prior versions.
-The FINDGREG subroutine that determines the day of the
week (dow) for TOD values will retain the results of the
prior dow calculation and as a performance improvement
not repeat it if the date has not changed between
consecutive calls.
-Relative date selection will now allow up to
FROMDATE=*-999 or TODATE=*-999 for date backup values.
Previously 99 was the limit. However, the need for this
larger limit should be extremely rare as 999 days is
about 2.7 years.
-New option SHOWSAMP (alias SS) will display the begin and
end timestamps for each RMF Monitor III Sample Set
selected. SHOWSAMP is intended for diagnostic use and
possible user testing with the new WINDOW or DOW=
parameters to verify date and time selection is as
desired.
NOTE: SHOWSAMP is not appropriate for routine production
use due to TOD conversion overhead for each Sample Set
and ASMRMFV log output volume.
-When SHOWSAMP is in effect a pair of new messages
RMFV039I are issued showing Sample Set begin and end
timestamps and the Sample Set number (1-1110).
-New option NOSHOWSAMP (alias NOSS) is the default and
provides the same ASMRMFV behavior as before with no
RMFV039I messages issued. Normally there should be no
need to code this option.
-Options display message RMFV037I will show the setting of
SHOWSAMP/NOSHOWSAMP.
-Documentation in ASMRMFV and ADOCRMFV members has been
updated to include details on WINDOW/NOWINDOW,
SHOWSAMP/NOSHOWSAMP parameters as well as for messages
RMFV006*, RMFV037I, and RMFV039I.
-A new DOW= parameter allows optional RMF III data
selection based on the day of the week. DOW= will be
mainly useful for ad hoc studies where only activity on a
certain set of days is of interest.
-DOW= is coded as DOW=value where value uses one of these
formats:
dow dow:dow WEEKDAYS WEEKENDS ALL
dow is a 3 character day of the week:
SUN MON TUE WED THU FRI SAT
: is a range operator indicating selection of a group of
consecutive days including the first and last dow in the
range and all days in between.
The range will automatically wrap as needed to the start
of a week on Sunday so that DOW=FRI:MON is perfectly
valid selecting FRI, SAT, SUN, and MON.
Coding DOW=WEEKDAYS (or a value alias) is equivalent to
coding DOW=MON:FRI . Value Alias(es) for WEEKDAYS are:
WD, WEEKD, WEEKDA, WEEKDAY
Coding DOW=WEEKENDS (or a value alias) is equivalent to
coding DOW=SAT:SUN . Value Alias(es) for WEEKENDS are:
WE, WEEKE, WEEKEN, WEEKEND
Coding DOW=ALL is equivalent to coding DOW=SUN:SAT and no
filtering occurs. DOW=ALL is the default and so should
not needed to be coded.
-NOTE: DOW= filtering slightly increases CPU overhead as
conversion of the 64 bit binary TOD microseconds value to
a day of the week occurs for both the RMF III Data Set
Header (DSH) and Sample Set Header (SSH) tables.
-However, dow determination is not repeated for
consecutive table TOD values for the same date.
-DOW filtering is applied AFTER all FROMDATE=, TODATE=,
FROMTIME=, TOTIME=, and WINDOW data/time filters are
applied.
-DOW= may be combined with one or more of the
these existing date/time selection parameters or may be
used exclusively by itself.
-DOW= usage examples:
Parameter Selects RMF III Sample Sets for
--------- -------------------------------
DOW=MON:FRI MON, TUE, WED, THU, FRI
DOW=WD MON, TUE, WED, THU, FRI
DOW=SAT:SUN SAT, SUN
DOW=WE SAT, SUN
DOW=ALL SUN, MON, TUE, WED, THU, FRI, SAT
DOW=SUN:SAT SUN, MON, TUE, WED, THU, FRI, SAT
DOW=FRI:MON FRI, SAT, SUN, MON (dow wraps)
DOW=WED WED only
DOW=MON DOW=WED DOW=FRI MON, WED, FRI only
DOW=MON:TUE DOW=THU:FRI MON, TUE, THU, FRI only
-Filter display message RMFV006I will show the setting of
the DOW= filter.
-Six more examples have been added to each of the
JCLRMFV, JCLCRMFV, and JCLDRMFV sample JCL members
showing use of the new DOW= parameter.
-Documentation in ASMRMFV and ADOCRMFV members has been
added to discuss the DOW= parameter in detail.
-Null (blank) values for keyword=value type ASMRMFV
parameters are now allowed. The parameter is ignored.
For example, FROMDATE= is accepted with no change in the
FROMDATE occurring. Previously zero length keyword
values were flagged as an error.
-This feature allows users to provide these keywords in
templates for a possible future addition of an actual
value. Also existing keywords can now be nullified by
just setting the value to blanks rather than removing
the entire keyword.
-Multi-severity messages RMFV051* through RMFV055* (* = I,
W, or E) have been updated for consistency and alignment
with message RMFV008I for the DSN value.
-A new subroutine WRITESEP will now handle the generation
of separator lines used to delineate sections of the
ASMRMFV log for visibility. Prior to this every message
id was checked in the WRITEPRT subroutine for separator
eligibility before the message was issued. Now WRITESEP
will be called only as needed for specific messages.
-A separator line will now be written prior to the final
RMFV999I message for better visibility of important
ASMRMFV final results.
-Entries in Section 2 "Terminology" in ASMRMFV
documentation have been alphabetized and a few new
entries added.
-All examples in the JCLRMFV, JCLCRMFV, and JCLDRMFV
sample JCL members that use date/time parameters now
include a small diagram that visually shows what time
frames are selected.
-The RMFV014I RMF III data set bypass message has been
reformatted for better clarity and will now indicate
whether the data set is excluded due to date/time or DOW=
filters.
-A new RMFV014W warning message is issued at the end of
processing if ALL RMF III data sets have been bypassed
due to date/time and/or DOW= filtering.
-An invalid value for the DEVTYPE= or any *ERR= parameter
could allow ASMRMFV processing to continue instead of
abending as intended because the parameter error counter
was not being updated for these keywords.
-When multiple RMFV004E messages were issued due to
parameter errors it was possible some of the descriptive
problem text could be garbled.
-Julian years before 2000 in FROMDATE= or TODATE= were
not flagged as errors when they should have been.
-Message RMFV008I Descriptor Code overlaid when issued
as a WTO by the WTO option.
-Messages RMFV017I and RMFV038I should not be issued as
WTOs when the WTO option is in effect.
-DOW table entries were not blanked if DOW=ALL coded.
-NOTE: When the WTO option is coded it should be the
FIRST parameter in the JCL PARM= field or in SYSIN (if
no JCL PARM= field). Otherwise any errors for other
parameters will not be shown in JESMSGLG and JESYSMSG
until the WTO option is encountered.
-Documentation in ASMRMFV and ADOCRMFV members has been
updated as appropriate for the above changes.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
-Nov 25: Discovered the TODAY selection did not work
correctly, made the correction, and redated ASMRMFV.
This error was ONLY in the original 32.225 dated 9/22.
Change 32.224 The _IDaaaa=512 protection added in Change 32.198/180/149
VMACXXXX costs 10 CPU secs per 20,000,000 records, caused by the
Sep 16, 2014 statement ELSE IF LENGTH(COMPRESS(_IDaaaa)) that tests
Sep 29, 2014 the value of the old-style macro _IDaaaa for 512 and also
supports the "512 OR ID=513" multi-IDs syntax. That
statement causes a NUMERIC to CHARACTER conversion, for
each record, EVEN for the EXPECTED case where _IDaaaa has
been defined (when the ELSE clause is NOT even executed).
Since the "512" test only benefits "newbies" who didn't
find the doc to define their _IDaaaa macro, it certainly
should NOT cost "oldbies" who knew what to do. That 512
default value is only defined internally in MXG VMACaaaa
members, so by changing the MXG default ID value for all
USER SMF records from 512 to a MISSING VALUE, i.e., using
MACRO _IDaaaa . % as the internal default definition, the
test now uses the MISSING(_IDaaaa) function to detect and
tell this new user why all the datasets have zero obs,
and how to correct. And since no conversion is involved,
old users see no increase: the MISSING function cost 0.08
CPU secs per 20,000,000 records.
SEE CHANGE 32.234.
Thanks to MP Welch, Bank of America, USA.
Change 32.223 Update for MainView for MQ Version 5.2.
VMACBBMQ Changes are COMPATIBLE, MANY new variables.
Sep 16, 2014 -New variables added to BBMQQMGR (RTIN='E1'x) dataset:
Dec 11, 2014 PARM1 PARM2 QMCERTLBL QMCHLAUTH QMCONNAUTH
Dec 18, 2014 QMCRTVALPOL QMDEFCLXQ QMGRPUR QMICBC QMICBR
Jan 2, 2014 QMICTLC QMICTLR QMIPUBSC QMIPUBSR QMISTUSC
QMISTUSR QMISUBC QMISUBR QMISUBRC QMISUBRR
QMMAXUMSG QMPSCLUS QMQSGCRTLBL QMRCBC QMRCBR
QMRCTLC QMRCTLR QMREVDNS QMRPUBSC QMRPUBSR
QMRSTUSC QMRSTUSR QMRSUBC QMRSUBR QMRSUBRC
QMRSUBRR QMSCBC QMSCBR QMSCTLC QMSCTLR
QMSPLCAP QMSPUBSC QMSPUBSR QMSSTUSC QMSSTUSR
QMSSUBC QMSSUBR QMSSUBRC QMSSUBRR QMSTRDATE
QMSTRTIME QMSUITEB
-New variables added to BBMQBUFF (RTIN='E2'x) dataset:
SBPLOC SBPPGCLS
-New variables added to BBMQPAGE (RTIN='E3'x) dataset:
SPSEXPNDT SPSPADC1 SPSBPID SPSPSIDX SPSRBAV8 SPSRBA2V8
-New variables added to BBMQLMGR (RTIN='E4'x) dataset:
LMDATASETNM1 LMDATASETNM2 LMFULLLOGS LMICMPB LMICMPBR
LMICMPF LMICMPFR LMICMPR LMICMPRR LMIDCMP LMIDCMPR
LMIDECF LMIDECFR LMIDECR LMIDECRR LMIDUCMP LMIDUCMPR
LMIUCMP LMIUCMPR LMLGSUSPND LMLOGCOPYNM1 LMLOGCOPYNM2
LMMRCRBA LMOFLOSTA LMQMSRBA LMRCMPB LMRCMPBR LMRCMPF
LMRCMPFR LMRCMPR LMRCMPRR LMRDCMP LMRDCMPR LMRDECF
LMRDECFR LMRDECR LMRDECRR LMRDUCMP LMRDUCMPR LMRUCMP
LMRUCMPR LMSCMPB LMSCMPBR LMSCMPF LMSCMPFR LMSCMPR
LMSCMPRR LMSDCMP LMSDCMPR LMSDECF LMSDECFR LMSDECR
LMSDECRR LMSDUCMP LMSDUCMPR LMSUCMP LMSUCMPR
LMTOTALLOGS
-New variables added to BBMQCHAN (RTIN='E5'x) dataset:
CHLRVER CHLCRTLBL
-New variables added to BBMQQUES (RTIN='E6'x) dataset:
QSBACKD QSBACKT QSCBD QSCBT QSCMITD QSCMITT
QSCTLD QSCTLT QSFBACKD QSFBACKT QSFCBD QSFCBT
QSFCMITD QSFCMITT QSFCTLD QSFCTLT QSFINQD QSFINQT
QSFPUT1D QSFPUT1T QSFSETD QSFSETT QSFSTATD QSFSTATT
QSFSUBD QSFSUBT QSIBOCPU QSIBOELA QSICCPU QSICELA
QSICMCPU QSICMELA QSIGCPU QSIGELA QSIICPU QSIIELA
QSIMAXOI QSIMAXOO QSIMAXOT QSINQD QSINQT QSIOCPU
QSIOELA QSIP1CPU QSIP1ELA QSIPCPU QSIPELA QSISBACK
QSISBCKR QSISBCPU QSISBELA QSISCB QSISCMIT QSISCMTR
QSISCPU QSISCTL QSISELA QSISINQ QSISSET QSISSTAT
QSISSUB QSITFGET QSIUBACK QSIUBCKR QSIUCB QSIUCMIT
QSIUCMTR QSIUCTL QSIUINQ QSIUSET QSIUSTAT QSIUSUB
QSPUT1D QSPUT1T QSRBOCPU QSRBOELA QSRCCPU QSRCELA
QSRCMCPU QSRCMELA QSRGCPU QSRGELA QSRICPU QSRIELA
QSROCPU QSROELA QSRP1CPU QSRP1ELA QSRPCPU QSRPELA
QSRSBACK QSRSBCPU QSRSBELA QSRSCB QSRSCMIT QSRSCPU
QSRSCTL QSRSELA QSRSINQ QSRSSET QSRSSTAT QSRSSUB
QSRSTCKG QSRSTCKP QSRTFGET QSRUBACK QSRUCB QSRUCMIT
QSRUCTL QSRUINQ QSRUSET QSRUSTAT QSRUSUB QSSBOCPU
QSSBOELA QSSCCPU QSSCELA QSSCMCPU QSSCMELA QSSETD
QSSETT QSSGCPU QSSGELA QSSICPU QSSIELA QSSMAXOI
QSSMAXOO QSSMAXOT QSSOCPU QSSOELA QSSP1CPU QSSP1ELA
QSSPCPU QSSPELA QSSSBACK QSSSBCKR QSSSBCPU QSSSBELA
QSSSCB QSSSCMIT QSSSCMTR QSSSCPU QSSSCTL QSSSELA
QSSSINQ QSSSSET QSSSSTAT QSSSSUB QSSTATD QSSTATT
QSSTFGET QSSUBACK QSSUBCKR QSSUBD QSSUBT QSSUCB
QSSUCMIT QSSUCMTR QSSUCTL QSSUINQ QSSUSET QSSUSTAT
QSSUSUB
-New variables added to BBMQCFAC (RTIN='E8'x) dataset:
CFBERBA2 CFBSRBA2 CFCONLOS CFDSBLK CFDSBUFS CFDSEXPN
CFDSGRP CFLOGS CFOFFLDU CFOFL1S CFOFL1T CFOFL2S CFOFL2T
CFOFL3S CFOFL3T CFOFLD CFPARM CFQSYN CFRECAUT
-New variables added to BBMQAPPL (RTIN='E9'x) dataset:
APSSTCKB
-Occasional compressed records were found in uncompressed
data files, so the previous STOP on compressed record is
replaced by a RETURN so the non-compressed records after
a compressed record will be processed.
-All records have VERSREL=6.1, but their VERSION IS 5.2.
-Dec 10 Revisions: Records E1x/E5x/E6x don't have all of
the fields in the DSECT, causing INPUT STATEMENT EXCEED;
logic was inserted to read only what's there, but record
E4x's eyecatcher is @89 while all other record's is found
@85, and E4x record has ENTL=1192 but data visibly shows
the repeated segment length is only 1136. Hardcoded
circumvention for these two inconsistencies.
Interspersed Compressed records in an uncompressed file
are still skipped, but new message prints the first 25
so you can see the pattern of these records.
-BMC found that PTF BPL2290 caused problems with history
record decompression; BPL 2430 fixes for MVMQ 5.1 and
BPL2429 fixes for MVMQ 5.2
-Jan 2, 2015: After Installing BMC Mainview PTF's BPL2427
and BPL2430, 753 (out of 1003) 'E6' records were missing
the last four bytes of the last segment, with 2596 vice
2600 bytes visible in that last segment. These short
records are now detected and reported but that last
segment will be lost until a subsequent PTF corrects.
Thanks to James S. Swinarski, Credit Suisse, USA.
Change 32.222 IMS56FA log record is not output if NMSGPROC is missing,
TYPEIMST but that MXG decision is now rescinded, and all IMS 56FA
Sep 15,2014 records are output, having found pairs of records for
some transactions, with the second record having a small
amount of CPU time (1st 1265 microsec, 2nd 238 microsec)
and elapsed/service time, but CALLMSGU=0 so NMSGPROC=.
All of these second records have TCPCFLGS='01'x which is
a "TERM THREAD SYNCPOINT" reason for the record, so I
presume the second record is the CPU time associated with
the SYNCPOINT and is output so that time is not lost.
Now, you must use NMSGPROC to count transactions, as the
second syncpoint records are not a new transaction.
Note: the test for NMSGPROC GT 0 is in the MACRO _EIMS56G
overridden in comments in TYPEIMST, so you will need to
delete that macro in the SYSIN in your TYPE56FA job.
Change 32.221 Erroneous "_IDSYNC not set" message for SYNCSORT User SMF
VMACSYNC record processing when MACRO _SYNCID nnn % was specified.
Sep 14, 2014 That new message only tested _IDSYNC, but the original
_ID macro for SYNCSORT was _SYNCID, which is still valid.
Some early USER SMF _IDaaaa macros syntax was _aaaaID
but the "standard" is now _IDaaaa so those with the old
_aaaaID were enhanced to support either _ID macro name,
but the new "_ID=512" protection didn't support both of
the SYNCSort macro names. Now supports either syntax.
SEE CHANGE 32.234.
Thanks to Betty Wong, Bank of America, USA.
Change 32.220 -Documentation revised for TRENDing. MONTHLY was never a
BLDSMPDB valid interval value and has been removed from comments.
VMXGALOC -You can now suppress the creation of the DB2 and CICS
Sep 10, 2014 directories by specifying DB2KEEP=0 and/or CICSKEEP=0.
Sep 25, 2014 -New parameters BASECICS and BASEDB2 will allow you to
route DB2 and/or CICS datasets to a different drive.
Change 32.219 TMON/CICS variables TAUSRWCT and TAUSRWTM were reversed.
VMACTMO2
Sep 9, 2014
Thanks to Michael Oujesky, DTCC, USA.
====== Changes thru 32.218 were in MXG 32.09 dated Sep 9, 2014=========
Change 32.218 -BVIRVERS=04, dataset BVIR301 values were wrong due to two
VMACBVIR fields not INPUT for that Hydra version.
Sep 9, 2014 -DO Loop variable _I_ is replaced by kept variables
Sep 25, 2014 CACHEPARTNR created in BVIR301
TDUCONTNR created in BVIR321
CSPNR created in BVIR322
to identify the segment number
-DVAVDTMB/WRMB/RDMB now multiplied by 1048576 vs 1058576.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.217 Support added for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
VMXGODSO Some thoughts on ODS: Initially, VMXGODSO was thought
Sep 7, 2014 to be a tool to make use of ODS features easy, but you
may do better learning the ODS command set. VMXGODSO
does work, but it does not touch all of the ODS issues
and features, and many ODS statements are not supported.
But it can be used for simple cases, like wrapping around
a PROC to send its output to a CSV or EXCEL file, or if
you want to send many reports to a single output, a PDF
for example.
So you could use VMXGODSO, externally, to run GRAFWRKX
and GRAFCEC and send both ODS plots to a single PDF:
%VMXGODSO(ODSTYPE=PDF,FILE=c:\mxg\daily.pdf);
%GRAFWRKX:
%GRAFCEC;
RUN;
%VMXGODSC;
RUN;
and not use the parameters for ODS built into those
GRAFXXXX macros.
Change 32.216 Cosmetic. Some unneeded MXGNOTES are suppressed, unless
VMXGOPTR %LET MXGEXIMSG=YES; enables them for diagnostics.
Sep 7, 2014
Change 32.215 Zero observations in TYPEZOSA dataset because the test
VMACZOSA for ZOSATYPE=32 should have been ZOSATYPE=50.
Sep 6, 2014 The test for invalid ZOSAXDLN is again bypassed.
Thanks to Jerome Vitner, EXPERIAN, ENGLAND.
Change 32.214 DB2 V10 variable QW0225DMH is now INPUT and QW0225AR is
VMACDB2 now INPUT for DB2 V11. See Change 32.231.
Sep 3, 2014
Thanks to Kerry Sommers, Deere & Company, USA.
Change 32.213 -WARNING: MULTIPLE LENGTHS FOR VARIABLE X1 in ANALDB2R
ANALDB2R is not new; the X1 that shouldn't have been there isn't.
Sep 1, 2014
Change 32.212 MXGTMNT ML-54 monitor expands: a new subtask that COPIES
ASMTAPEE System-level information each SMF interval, writing new
EXTMNAS1 subtypes of the existing TMNT SMF record, synchronized.
EXTMNAS2 The subtask does not "monitor" the system, but sleeps
EXTMNSYQ until awoken at each interval end, reads EXISTING data
IMACTMNT fields and writes them to SMF, and goes back to sleep.
VMACTMNT This FIRST use of the ML-54 "SYSTEM" subtask captures two
VMXGINIT sets of data:
Sep 9, 2014 - ASM Page Data Set SLOT usage, with total, and by ASID
- MSU used by each IMPORTANCE level, IWMWSYSQ data.
Two new subtypes create these three new datasets:
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL SUBTYPE
TMNAS1 TYPEASMT MXG SYSTEM ASM PAGE DATA SET SLOTS TOT 10
High Virtual counts: Frames in Use, Shared AUX
for Non-VIO, for AUX, and for AUX for SCM,
Common Aux, Common AUX SCM, Common in USE.
Shared Non-VIO, Shared AUX, SHARED AUX SCM,
Frames in use, Shared Non-VIO/High Virt Shared
High Virt AUX SCM, Shared Non-VIO/High Virtual
Aux, HV AUX SDM
TMNAS2 TYPEASMA MXG SYSTEM ASM PAGE DATA SET SLOT ASID 10
Frames in Use, VIO/non-VIO slots, High
Virtual AUX Slots for each ASID.
TMNSYQ TYPESYSQ MXG SYSTEM WLM PERF/CAPACITY IWMWSYSQ 11
MSU consumed last 60, 180, 600 seconds
by each Importance Level and Unused MSU,
Free CSA & free ECSA, and SU_SEC value.
-ASM subtask is a per-system monitor and must be enabled
on ALL systems, creating records on all systems.
-SYSQ subtask is a sysplex-wide monitor, so it should only
be enabled on one SYSTEM in each SYSPLEX; duplicate data
would be created if enabled on multiple systems within a
SYSPLEX. However, the number of SYSQ SMF records is very
small, one per system per SMF interval, so you may want
to enable SYSQ to write records on each system, so that
you have the identical ASMTAPEE/MXGTMNT on each SYSTEM,
and remove the duplicate SYSQ using EXTYSYSQ exit member
when you read the SYSQ SMF records.
-The ASM and SYSQ subtasks are enabled by default in ML-54
ASMTAPEE, by adding them to OPTIONS2, but they can be
disabled by removing them from OPTIONS2, or thru PARMs
on the // EXEC PGM=MXGTMNT statement, or thru MODIFY
commands issued from the console.
Full documentation is in the comments in ASMTAPEE.
Change 32.211 Cosmetic. Variable PAGETYPE='SCM' is set when SCMPGTYP
VMAC75 is true, replacing a blank value in PAGETYPE.
Aug 28, 2014
Thanks to Douglas C. Walter, CitiCorp, USA.
Change 32.210 -Support for SMF 50 INCOMPATIBLE change in z/OS 2.1 that
EXTY501 inserted four bytes that corrupted all values after that
EXTY50R insertion in the TYPE50 dataset.
EXTY50W -Redesign of TYPE 50 support to create separate datasets
EXTY50I with only the relevant variables for that event, now that
EXTY50O I realize it is no longer a single purpose VTAM record!
EXTY503 These seven new datasets are created:
EXTY504 DDDDDD DATASET Description
IMAC50 TY501 TYPE501 01 CHANNEL TO CHANNEL
Table 52 Subtype 1
VMAC50 TY50R TYPE502R 02-02 READ MPCNAME
Table 53 Subtype 2
VMXGINIT TY50W TYPE502W 02-02 WRITE MPCNAME
Table 53 Subtype 2
AUG 28, 2014 TY50I TYPE504R 02-04 READ MPCNAME
Table 54 Subtype 2
TY50O TYPE504W 02-04 WRITE MPCNAME
Table 54 Subtype 2
TY503 TYPE503 03 TCP CONNECTION
Table 55 Subtype 3
TY504 TYPE504 04 SNA CONTROLLER
Table 51 Subtype 4
-Dataset TYPE50 will continue to be created for backwards
compatibility, but it is very messy with all possible
variables in every observation, so there are always lots
of variables with missing value; using these new datasets
will provide much simpler analysis.
Thanks to Jim Sherpey, Bank of America, USA.
Change 32.209 -Support for SMF 103 HTTP Apache Server 8.5.5.0 Subtype 13
EXTY103D and 14 create new datasets:
EXTY103D DDDDDD DATASET Description
IMAC103 TY130D TYPE130D HTTP PROCESS Thread Statistics
VMAC103 TY130E TYPE130E HTTP LOGGING REQUEST/RESPONSE
VMXGINIT The T103ELAP elapsed time units are not documented.
Aug 27, 2014 -APAR PI24782 reports subtype 14s are only written when
SMFLogDebug ON has been specified.
Thanks to Dave Moreau, Royal Bank of Canada, CANADA.
Change 32.208 New NDM-CDI CPU TIME variables added to NDMRT dataset:
VMACNDM NDMRTSID='SUBMITTER*JCTJOBID'
Aug 27, 2014 NDMRTSUB='SUBMITTER*JOB*NAME'
NDMRTCP0='RUN-TASK*CPU TIME*ON CP'
NDMRTCP1='RUN-TASK*CPU TIME*ON ZIIP'
NDMRTCP2='ZIIP*QUALIFIED*PART OF*NDMRTCP0'
Dataset NDMDT variables were removed that shouldn't have
been kept in that dataset, listed in comments in KEEP.
Thanks to Michael Oujesky, DTCC, USA.
Change 32.207 "WARNING: Value of QWHCXTYP WILL BE TRUNCATED" in ANAL116
FORMATS in PROC CHART is harmless and does NOT set a return code.
Aug 26, 2014 Format MG116TY for QWHCXTYP had one 18-character value,
but this PROC CHART decided it needed some of that space
for other things. But that format value was reduced to
16 characters so this error should not reoccur.
Change 32.206 PDBAUDIT code can set Return Code 4 due to this message:
PDBAUDIT "WARNING: Multiple lengths specified for the variable
Aug 26, 2014 MEMLABEL by input data set(s). This can cause
truncation of data."
but the message makes no sense; it is in a single data
step: DATA PDBAUDIT; LENGTH MEMLABEL $64; SET CONTENTS;
where CONTENTS was created from DICTIONARY.TABLES.
Removing that LENGTH statement from this step and adding
it in a subsequent new step to reset the MEMLABEL length
eliminates the warning and creates expected lengths.
Thanks to Robert B. Richards, OPM, USA.
Change 32.205 Preliminary update, revised by CHANGE 32.212.
VMAC50 SMF 50 VERSN50 04 new variables kept in TYPE50:
Aug 25, 2014 INBDNLPS='INBOUND*NLPS*INLP'
OUBDNLPS='OUTBOUND*NLPS*ONLP'
BYINNLPS='BYTES READ*FROM*INBOUND*NLPS*BFNLP'
SMF 50 VERSN50 02 new variables kept in TYPE50:
TY50SBCO='OSA-EXPRESS*SBAL*COUNT*OVERFLOW*READ Q'
TY50SBCT='OSA-EXPRESS*SBAL*COUNT*READ Q'
TY50EICO='OSA-EXPRESS*EARLY*INTER*OFLOW*COUNT READ Q'
TY50EICT='OSA-EXPRESS*EARLY*INTERRUPT*COUNT READ Q'
TY50E2CO='OSA-EXPRESS*EARLY*II INT OFLO*COUNT READ Q'
TY50E2CT='OSA-EXPRESS*EARLY*II INTERRUP*COUNT READ Q'
TY50PKCO='OSA-EXPRESS*PACKET*COUNT*OVERFLOW READ Q'
TY50PKCT='OSA-EXPRESS*PACKET*COUNT*READ Q'
TY50ACCO='OSA-EXPRESS*ACCEL*PKTCNT*OVERFLO*READ Q'
TY50ACCT='OSA-EXPRESS*ACCEL*PACKETCOUNT*READ Q'
TY50ACBO='OSA-EXPRESS*ACCEL*BYTE*OVERFLOW*READ Q'
TY50ACBT='OSA-EXPRESS*ACCEL*BYTE READ Q'
TY50NVCO='OSA-EXPRESS*INVALID*FRAME*OFLOW*READ Q'
TY50NVCT='OSA-EXPRESS*INVALID*FRAME*READ Q'
TY50RDQN='OSA-EXPRESS*READ*QUEUE*NAME'
-The record LENGTH is stored into LENTYP50 to identify
the old 262 byte or new 274 byte record.
Change 32.204 SMF 119 St 52 dataset TYP11952 variable JESDPERC field
VMAC119 length in the IP Programmers Guide and Reference was 8
Aug 24, 2014 which MXG used, but the offset of the next field was only
4 bytes, and SYS1.MACLIB(EZASMF77) had length 4, which
was confirmed by IBM Support, so these fields are now
correctly all input as length 4:
SMF119ML_HC_JESDPERC &PIB.4. /*PCT JES DEST TASKS BUSY*/
SMF119ML_HC_JESWUSED &PIB.4. /*JES WRITER TASKS BUSY*/
SMF119ML_HC_JESWPERC &PIB.4. /*PCT JES WRITER TASKS BUSY*/
SMF119ML_HC_MDIRPFREE &PIB.4./*PCT FS SPACE FREE SYSWIDE EXTRTY*/
SMF119ML_HC_MDIRPUSED &PIB.4./*PCT FS SPACE USED SYSWIDE*/
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 32.203 32.08 Only: two errors related to %ANALID / BUILDPDB:
ANALID ERROR: DATASET NOPRINT NOT FOUND
ONLYJOBS ERROR: THE REQUESTED TYPE OF VIEW (INPUT OR OUTPUT)
Aug 26, 2014 were corrected by this change in MXG 32.09, or they can
be circumvented with 32.08 by inserting in your //SYSIN:
%LET VMVMACID=;
-UTILBLDP with USERADD=ID that also had %ANALID statement
got ERROR: DATASET NOPRINT NOT FOUND because a second
execution of ANALID was not expected. The ONLYJOBS
invokes UTILBLDP, but it already had a %ANALID statement,
but Change 32.192 to UTILBLDP inserted a %ANALID
execution when USERADD=ID was specified, causing the
second execution. The %ANALID; statement is removed from
ONLYJOBS, and ANALID now bypasses the second or more
executions in the same data step/session by default to
avoid the error with an accidental second execution, by
setting a value of YES for the new macro variable
DONEANALID.
-It's unlikely you will need ANALID twice in the same
job-step, but if you do, you can bypass the MXG bypass
with %LET DONEANALID=; to set a blank value, before each
of your %ANALID executions.
-If you have a locally-tailored BUILDPDB SYSIN code that
invokes _RPDBID, and 32.08, its removal would avoid the
need for the circumvention to suppress the VIEW.
Thanks to Paul Maradin, HP, USA.
Thanks to MP Welch, Bank of America, USA.
Change 32.202 DB2 Trace SMF 102 IFCID 196 "MORE THAN 9 HOLDER/WAITER"
VMAC102 MXG WARNING log messages will only be printed for the
Aug 23, 2014 first three instances.
====== Changes thru 32.201 were in MXG 32.08 dated Aug 21, 2014=========
Change 32.201 -New parameter VARSINCL= lets you add non-ranked variables
ANALRANK to the report that is created. So (for example) if you
Aug 21, 2014 were ranking, JOBS based on CPUTM you could also see the
Sep 4, 2014 total EXCP and IOTM counts by specifying:
VARSINCL=EXCPTOTL IOTMTOTL
In addition, if there is only a single variable being
ranked, the report is in RANK order rather and alpha.
-New parameters:
VARSINCL= a list of variables to include in the report
that are not being ranked
PAGEBY=Y/N YES/NO if YES or Y then the report is broken
into pages using the GROUPBY variable.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
====== Changes thru 32.200 were in MXG 32.08 dated Aug 19, 2014=========
Change 32.200 Example reports for (archaic) SMF 118/TCP and SMF 119 are
ANAL119 corrected; the average bytes were a rolling average and
ANAlTCP did not match the values in the detail records.
Aug 19, 2014
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 32.199 The WLM dialog changed how it puts data in its table,
REXXWLM with a missing trailing quote on new Application
Aug 19, 2014 Environments in the generated code for some AESP values.
The padding on new AEs on the parms was changed from null
to blanks; the Rexx code was revised.
Thanks to Michael Oujesky, DTCC, USA.
Change 32.198 MXG 32.06-32.07. Protection for _IDxxxx EQ 512 failed
Many VMACaaaa if your _IDxxxx had multiple SMF record types, e.g.:
Aug 19, 2014 MACRO _IDNDM 132 OR ID=133 %
Aug 30, 2014 Zero observations were created for that product AND the
message was printed that the _IDxxxx macro wasn't set.
The 512-detection code was revised to support the two-id
syntax by testing both the length and the value, with
IF LENGTH(_IDNDM) EQ 3 AND _IDNDM EQ 512 THEN DO;
and this worked for the two-id syntax. However, only
accidentally. The LENGTH(_IDNDM) was 12 which is what
prevented the false positive 512 message. And, even
with MACRO _IDNDM 123 %, the LENGTH(_IDNDM) is still 12!
To circumvent this defect, the logic was revised again:
IF LENGTH(COMPRESS(_IDNDM)) EQ 3 AND _IDNDM EQ 512 ...
which uncovered yet another defect; the length of the
compressed two-id text is ONE, but the length of the
compressed one-id text is THREE, so the LENGTH of the
COMPRESSED macro text is used to only detect 512 with
three characters. Any other text in _IDxxxx will not
have length 3 so those records will be processed.
These XXXX product's VMACs were updated:
ACF2 BE91 BE97 BETA BVIR CTCP EDGS EJES ENDV FTP
HSM HURN IDMS M204 MIM NDM NETM NTCP PROS RSDA
RSDF SHDW STC SYNC TMNT TPMX X37 ZCOS
(There are MANY other user SMF records that have NOT yet
had the protection code added; deferred until an actual
need/request is received.)
-Notes: "Numeric values have been converted to character
string" will be printed, underscoring the "132" value in
the _IDxxxx macro; they are unavoidable but are compile
time conversion with no cost.
SEE CHANGE 32.234.
Thanks to Richard Wendland, U.S. Bank, USA.
Change 32.197 ANALZIPC (Analysis of CPU times for Ziip Engines) failed
ANALZIPC with ERROR: PDB.TYPE70PR NOT FOUND when _SMFZIPC was used
Aug 18, 2014 to read SMF. _SMFZIPC still used _STY70PR, which was
replaced by _STY70 (Change 23.321, SPLIT 70 processing).
Clearly, ANALZIPC users have NOT read SMF data but have
instead used the PDB.SMFINTRV and PDB.TYPE70PR datasets
from their already-created PDB data library!
Thanks to Ian Porter, Nissan-NEDC CO, ENGLAND.
Change 32.196 Preliminary summarization of PDB.DB2STATS from its fixed
ASUMDB2S one-minute interval to a larger interval of your choice,
Aug 18, 2014 defaults to 15 minute in this iteration, but this member
may be changed into a %macro to externalize options.
Thanks to Glenn Bowman, Wakefern, USA.
Change 32.195 New program to extract the workloads from your TRNDRMFI
GRAFWRKT dataset and linear regresses by SHIFT WORKLOAD SYSTEM,
Aug 17, 2014 then summarizes by SHIFT and WORKLOAD and uses SGPLOT
to display which workloads are growing over time.
Change 32.194 Support for NDM-CDI 5.2 HW2 subtype creates new dataset.
EXNDMHW2 DDDDDD DATASET DESCRIPTION
IMACNDM NDMHW2 NDMHW2 hw2 highwater mark record
VMACNDM This record is not a standard NDM-CDI record as it has
VMXGINIT 'CDHW' where the record length and record type normally
Aug 17, 2014 are located.
Thanks to Rich Wendland, U.S. Bank, USA.
Change 32.193 -These ASIxxxxx variables are now divided by ASISMPCT:
VMACRMFV ASILMEMO ASMLPGSZ ASILVNMO ASIHVCOM ASILVSHR
Aug 15, 2014 ASILVABY ASIHVCBY ASILVSBY ASIHVVBY ASILVMEM
ASI1MBFF ASI1MBPF
-Cosmetic. Debugging PUTLOG statement in line 5565
PUTLOG _N_= SSHRMFVN= SSHSMPNR= GEIRSTRF= GEIRPOOL=;
is now removed.
Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.
Change 32.192 BUILDPDB/BUILDPD3/BUILD001 now use a VIEW for WORK.ID,
ANALID which eliminates completely the (potentially large) disk
BUILD606 space previously required to produce the SMF AUDIT REPORT
BUIL3606 (created by %ANALID, added to PDB in MXG Version 30.02.).
VMXGINIT -You can suppress the %ANALID invocation and the creation
UTILBLDP of the PDB.SMFRECNT dataset with %LET MXGSMFAUDIT=NO in
Aug 15, 2014 your SYSIN. (Previously, MACRO _RPDBID % bypassed the
report, but that is no longer used; if it exists in
your SYSIN it will just be ignored.)
(Only SAS supports Data Step Views.)
-UTILBLDP constraint that ID had to be first with USERADD=
(Change 32.154) is removed.
-Views are not executed when OPTIONS OBS=0 is in effect,
which is sometimes used in QA syntax tests, but since no
data will be read with OBS=0, &VWVMACID is nulled when
OBS=0 value is detected.
Change 32.191 Adding a View to BUILDPDB processing for the ID dataset
ANALDUPE exposed a SAS error (since 9.1) that corrupts the value
ANALDUPE of the internal _INFILE_ variable when a View is used.
ASCISMFC The error was detected when the MXG decompression logic
VMAC102 (MXGDECOM/DB2DECOM, for CICS/DB2) incorrectly expanded
VMAC110 the _INFILE_ internal variable. SAS confirmed the error,
VMAC112 recommending that the _INFILE_= argument instead of the
VMACDB2 _INFILE_ internal variable be used to circumvent, which
VMACSMF was verified in MXG QA tests. However, then the WPS QA
Aug 16, 2014 test failed because WPS doesn't support the _INFILE_=
argument, but their _INFILE_ variable is valid with or
without a View, so this change splits the logic to use
the _INFILE_=SMFINFILE argument for SAS but for WPS uses
the SMFINFILE=_INFILE_ statement, so SMFINFILE can then
be used in MXGDECOM/DB2DECOM macros in all of the listed
members that invoke the internal SAS code algorithms.
-MXGDECOM/DB2DECOM are always used on ASCII, and are used
on z/OS ONLY if the (recommended) EXITCICS/CICSIFUE exit
is not installed.
-Change 32.192 implemented the use of the VIEW for ID.
Change 32.190 BVIR variable VECDLEVL='VIRTUALIZATION*ENGINE*CODE LEVEL'
VMACBVIR is now converted to node notation, so the hex value
Aug 13, 2014 '0008 001F 0000 0059'X will now contain and print as
8.31.0.89 in character/decimal node notation.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.189 Cosmetic. Labels were corrected from CORRECTION to:
VMACDB2 FSPSCCPL - CONTROL*CONNECTION*PROTECTION*LEVEL
Aug 13, 2014 FSPSDCPL - DATA*CONNECTION*PROTECTION*LEVEL
Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA
Change 32.188 DB2STATS variable QISEKLRU is not accumulated but was not
VMACDB2 detected as such in Change 30.113 because my test data
Aug 11, 2014 values were all zero. It is no longer deaccumulated.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori Masulis, Fidelity Systems, USA.
Change 32.187 -Missing value message for IOTMNOCA when SMF30AIC=. (which
ANALDSET occurs in MULTIDD='Y' obs), in VMAC30, is now avoided.
VMAC30 -ANALDSET enhanced with OPENTM calculated for TYPE64 since
Aug 11, 2014 OPENTIME was added after this was originally written.
Variables are now ordered for default PROC PRINT, grouped
with common first, then 1415, 64, and steps variables.
New RECFOUND variable identifies which records were found
for each observation. JESNR kept in both output datasets.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 32.186 The ANAL116 example reports did not report on MQMACCT;
ANAL116 the new report was contributed by Scott and its absence
Aug 8, 2014 was noted by David.
Thanks to Scott Barry, SBBWorks Inc., USA.
Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.
Change 32.185 MXG 32.07 only. 180 Syntax error when ASUMUOW is tested
IMACUOW IF (TRANNAME=:'CSM' OR TRANNAME=:' ' OR TRANNAME=:'CPM'
Aug 7, 2014 180
is due to IMACUOW line 226: /* CASE ONE LOGIC BEGIN */ ,
added by Change 32.178 for the new CASE FIVE example,
which was a comment within a comment and must be deleted.
But MY real error was that I failed to QA test the new
IMACUOW. The default IMACUOW doesn't create observations,
so I have a tailored copy in my QA.PRODTEST library, but
as only a new commented block was added (I thought!), I
didn't update the new member into QA.prodtest. Mea Culpa.
Worse, the QA report that compares QA.PRODTEST members
flagged IMACUOW as changed, but I also failed to take
heed of that notification. Mea Mea Culpa.
Thanks to Jack Basile, PCH, USA.
Change 32.184 Support for Omegamon for SMS Version 510 USER SMF RECORD
EXOMSMTD (INCOMPATIBLE, INPUT EXCEEDED because the offset to the
EXOMSMTG next JOB segment is 112 bytes, but only 96 bytes are
FORMATS documented in each segment, requiring MXG protection.)
IMACOMSM -Two variables added to OMSMSJOB dataset:
VMACOMSM OMFS2DAO='DEVICE*ACTIVE*ONLY*TIME'
VMXGINIT OMFS2IOQ='IOQ*TIME'
Aug 6, 2014 -BY List macros for OMSMSDEV and OMSMSJOB datasets to
remove duplicates.
-New datasets created from subtype 4 records:
DDDDDD DATASET DESCRIPTION
OMSMTG OMSMSTPG TAPE GROUP
OMSMTD OMSMSTPD TAPE DEVICE
-Invalid Subtype 4 records are created with offset greater
that the record length; the first three instances are
printed on the log for pursuit with the vendor.
-Several fields with -1 value are now properly decoded.
-Some TAPE datasets have lots of blank character variables
that should be populated.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 32.183 New %PDBAUDIT audits all DATASETS in all LIBNAMES created
BUILDPDB by today's "BUILDPDB" in the "AUDIT" report, and compares
BUILDPD3 today's "PDBs" with yesterday's "PDBs", reporting any
PDBAUDIT changes in observation length, number of variables, or
VMXGINIT any datasets with zero obs in one PDB and non-zero obs
Aug 4, 2014 in the other PDB, in the "COMPARE" report.
Aug 15, 2014 -%PDBAUDIT is automatically called in BUILDPDB/BUILDPD3.
-You can use %LET MXGPDBAUDIT=BYPASS; in your SYSIN to
bypass that default execution of %PDBAUDIT.
-%PDBAUDIT creates the PDB.PDBAUDIT dataset with today's
statistics and copies that dataset into SPIN.SPINPDBAUDIT
which will be used for tomorrow's compare, and then backs
ups the dataset into PDB.SPINPDBAUDIT.
-If your "Build PDB" creates additional datasets after the
%INCLUDE SOURCLIB(BUILDPDB), for example, when ASUMs are
%INCLUDEd, you would bypass the default execution by
adding %LET MXGPDBAUDIT=BYPASS; in your //SYSIN and then
by adding the statement %PDBAUDIT; at the end of your
"BUILD PDB" step.
-All of the LIBNAMEs that have been opened/referenced in
this SAS step when %PDBAUDIT is invoked will be reported
and written to today's PDB.PDBAUDIT dataset.
-You can suppress the report printing but still build
the PDB.PDBAUDIT and SPIN.PDBAUDIT datasets by using
%LET MXGPRINTAUDIT=NO;
-Macro variables &PDBMXG, &SPININ and &SPINOUT are used
to set the output and SPIN input/output, with the normal
defaults of PDB/SPIN/SPIN, but can be changed if needed.
-It is possible to run %PDBAUDIT in a separate step, but
then you must use a LIBNAME statement for each library
you want to be audited, so the LIBNAME is referenced.
Having just a //DDNAME DD does NOT reference the LIBNAME.
You must have "PDB" and "SPIN" LIBNAMEs with DISP=OLD for
the complete COMPARE and AUDIT reports, but those could
separate dsnames just for audit:
// EXEC MXGSAS
//PDBAUDIT DD DSN=YOUR.PDBAUDIT.PDB,DISP=OLD
//SPNAUDIT DD DSN=YOUR.PDBAUDIT.SPIN,DISP=OLD
//PDB DD DSN=YOUR.REAL.PDB,DISP=SHR
//SPIN DD DSN=YOUR.REAL.SPIN,DISP=SHR
//CICSTRAN DD DSN=YOUR.CICSTRAN.DISK.PDB,DISP=SHR
//IMSTRAN DD DSN=YOUR.IMSTRAN.DISK.PDB,DISP=SHR
//SYSIN DD *
LIBNAME PDBAUDIT 'YOUR.PDBAUDIT.PDB';
LIBNAME SPNAUDIT 'YOUR.PDBAUDIT.SPIN';
LIBNAME PDB 'YOUR.REAL.PDB';
LIBNAME SPIN 'YOUR.REAL.SPIN';
LIBNAME CICSTRAN 'YOUR.CICSTRAN.PDB';
LIBNAME IMSTRAN 'YOUR.IMSTRAN.PDB';
%LET PDBMXG=PDBAUDIT;
%LET SPININ=SPNAUDIT;
%LET SPINOUT=SPNAUDIT;
%PDBAUDIT;
RUN;
-The default MXGEXCLUDESEQ=YES prevents expensive reading
of LIBNAMES that are Sequential Format SAS Data Libraries
to save resources, since DICTIONARY.TABLES cause the full
dataset to be read (even then, SAS does not report the
number of observations!). The cost can be significant:
processing a day's PDB with a 6,000,000 obs SEQ DB2ACCT:
EXCLUDESEQ NO (reads) YES (doesn't read)
CPU 4.8 seconds 1.2 seconds
Elapsed 5.5 minutes 58 seconds
EXCP Count 255,000 3,313
If you still want to read sequential libraries, you can
use %LET MXGEXCLUDESEQ=NO;
-ITRM sites can produce the report simply by adding
%PDBAUDIT; at the bottom of the SAS SYSIN stream.
-These five variables that are not created by WPS
FILESIZE NPAGE NUM_CHARACTER NUM_NUMERIC PCOMPRESS
will be missing values in reports and PDBAUDIT datasets.
Change 32.182 MXG QA test step TESSIBM2 MULTIPLE LENGTHS FOR STARTIME
ASUM113 caused Return Code 4, but had no other impact. A length
Aug 4, 2014 statement was added when TYPE70PR does not exist.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 32.181 were in MXG 32.07 dated Aug 3, 2014=========
Change 32.181 -New MOBWRKX3 member for Mobile Workload Processing uses
MOBWRK01 the CICDS Dispatcher Interval CPUTCBTM with selection by
MOBWRKX3 APPLID in MOBWRK01 instead of using CICSTRAN.
MOBWRK06 -Documentation in MOBWRK06 and MOBILWRK was updated.
MOBILWRK
Aug 3, 2014
Thanks to Michael Marcus, UPS, USA.
Change 32.180 MXG 32.06 ONLY. Zero OBS in user-added SMF type datasets.
VMACTMNT plus The delete statement discussed below was removed from
Aug 2, 2014 the new code added by Change 32.149 in these members:
ACF2 BE91 BE97 BETA BVIR EDGS EJES ENDV FTP HSM
HURN IDMS M204 MIM NDM NETM NTCP PROS RSDA RSDF
SHDW STC SYNC TMNT TPMX X37 ZCOS
ERROR: 32.06: ZERO OBS IN ALL USER-ADDED BUILDPDB/UTILBLDP DATASETS:
If you use UTILBLDP(BUILDPDB=YES,USERADD=...) or EXPDBVAR/CDE/OUT
members in your USERID.SOURCLIB to add other SMF record types to
your BUILDPDB/BUILDPD3, AND YOU DO NOT PROCESS MXGTMNT/TYPETMNT
SMF records (i.e., you do NOT set MACRO _IDTMNT 238 %), then ALL
of the datasets built AFTER TYPETMNT will have zero observations.
This error was introduced in Change 32.149, which incorrectly had
added a DELETE statement that should not be there.
CIRCUMVENTIONs for this 32.06-Only ERROR: (INSTALL 32.07!!)
-Remove the DELETE; statement in line 265 of VMACTMNT, OR
-Add this statement in your //SYSIN at the top:
%LET MACKEEP= MACRO _IDTMNT 999 % ;
-Or: with USERADD= in UTILBLDP, add TMNT/999
Change 32.149 added protection for each User SMF record
to detect when the IF ID= _IDxxxx THEN DO code block had
the default _IDxxxx value of 512, which would cause those
datasets to have zero observations, printing an MXGNOTE
to alert you to the needed correction to create obs.
But these code block for IF _IDxxxx=512 (STUPIDLY) had a
DELETE statement, and because the TYPETMNT processing of
that user record is inside the "standard" BUILDPDB, if
you had not set MACRO _IDTMNT 238 % to tell MXG to read
that type in the TMNT code block, then any record type
that was not processed in the preceding IBM type blocks
was deleted, and never examined by the subsequent code
blocks you had added with USERADD= or EXPDBetc.
SEE CHANGE 32.234.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 32.179 Cosmetic, confusing. These variables now have VIRT in
VMAC71 their label, for VIRTUAL, instead of VERT, which could
Jul 31, 2014 make you think of VERTICAL Polarized Processors:
SMF71SRA='AVG*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
SMF71SRM='MIN*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
SMF71SRX='MAX*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
Thanks to Graham Harris, Royal Bank of Scotland, UK.
Change 32.178 Support for AES CleverView USER SMF subtypes 30-40, which
EXCTCP30 are added to the existing CleverTCP User SMF record code:
EXCTCP31 DDDDDD MXG MXG
EXCTCP32 DATASET DATASET DATASET
EXCTCP33 SUFFIX NAME LABEL
EXCTCP34
EXCTCP35 CTCP30 CTCP30 CTCP CRITICAL RESOURCE
EXCTCP36 CTCP31 CTCP31 CTCP PORT MONITOR
EXCTCP37 CTCP32 CTCP32 CTCP LINK VIEW
EXCTCP38 CTCP33 CTCP33 CTCP PROCESS VIEW
EXCTCP39 CTCP34 CTCP34 CTCP ICMP STATISTICS
EXCTCP40 CTCP35 CTCP35 CTCP IP STATISTICS
FORMATS CTCP36 CTCP36 CTCP TCP STATISTICS
IMACCTCP CTCP37 CTCP37 CTCP UDP STATISTICS
VMACCTCP CTCP38 CTCP38 CTCP OSA CHANNEL
VMXGINIT CTCP39 CTCP39 CTCP OSA ETHERNET
Jul 31, 2014 CTCP40 CTCP40 CTCP OSA LPAR
Change 32.178A Added as a new example, Case 5, for UOW definitions.
IMACUOW When there are no CSMI transactions, there is no EXECAPPL
Jul 27, 2014 that IMACUOW expected, so it is located by using byte 3
of the PATH(x) variable: If it is T or R, and not DB2,
then that CICSTRAN instance is used for EXECAPPL, and for
TRANNAME.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.177 Cosmetic. A NULLFILE/DD DUMMY caused a message that
VMXGDSNL VMXGDSNL could not resolve the lower level; the message
Jul 27, 2014 now simply says a NULLFILE DUMMY was found.
Change 32.176 Member VMACTMD2 did not process nor detect compressed
VMACTMD2 records when executed on ASCII, or on z/OS without the
Jul 25, 2014 EXITMON6 z/OS-only INFILE exit. Now, the internal SAS
algorithm is invoked, but that is VERY CPU intensive and
should NOT be used on z/OS.
-Change 31.133 added the second iteration support for V5
but it did not note that the 'DB' Thread Detail dataset
and dddddd token names were changed from TMDBDB2/TMDDB2
to TMD2DB/TMD2DB.
Thanks to Ernest E. Amador, UC Davis, USA.
Thanks to Mark A. Turner, UC Davis, USA.
Change 32.175 Enhancement and documentation for the ANALID reports:
ANALID -A Data Step VIEW is used for the (potentially large) ID
FORMATS dataset when %ANALID with READSMF=YES specified, or when
TYPEID %INCLUDE SOURCLIB(TYPEID); is used, or when BUILD001 or
TYPEID or BUILDPDB or BUILDPD3 is executed, saving LOTS of disk
TYPSID space. (Only SAS supports Data Step Views.)
VMACID -The DB2 Subsystem is now ALWAYS captured for 100-102s.
VMACSMF Originally, the DB2 Subsystem field was read from the
VMXGINIT (compressed) Product Section, but all DB2 records have
Jul 29, 2014 Subsystem in the uncompressed header, which is now used.
BUILDPDB -The COMPRESS and ACCUMAC flags now print 'C' and 'A'.
BUILDPD3 -On z/OS, when SMFEXIT=CICS is used (for compressed DB2 or
BUILD001 CICS SMF records), records have been uncompressed by that
INFILE exit, before the INPUT, so the COMPRESS=Y flag
can't be set, but the DB2 IFCID value is INPUT from the
product section, so reports show type 102 IFCIDs.
-
-Instead, when the internal decompression code is used
(i.e., either on z/OS without SMFEXIT=CICS, or on ASCII),
the DB2 IFCID is not available, because IBM does not
populate the 102 subtype field in the SMF header, and the
decompress occurs after SMF header processing; while the
COMPRESS=Y flag is set, all 102s will be reported as type
"102.000: UNKNOWN IFCID COMPRESSED".
REVISED JUL 5, 2015: SEE CHANGE 33.159, MXGDECOMP=DB2
will now decompress in the SMF header processing.
-Note that if you use IMACFILE/MACFILE (or it is used FOR
you, like with READDB2) to select which SMF records are
to be processed, those skipped records will NOT be
counted in the ANALID reports.
-BMC APPTUNE 102 records printed as 134.772-134.780 but
this change revises to print 102.8004-102.800B.
Thanks to Wayne Montefiore, CSC, AUSTRALIA.
Thanks to MP Welch, Bank of America, USA.
Change 32.174 DB2 V11 added new QX variables, but MXG only added them
VMACDB2 to DB2ACCT. These variables are now added to DB2STATS:
Jul 25, 2014 QXALTMP QXCREMP QXCRTSV QXDEGAT QXDRPMP QXDRPSV QXHJINCS
QXHJINCT QXMAXESTIDG QXMAXPLANDG QXN1093A QXN1093B
QXPAROPT QXPFMAXUG QXPFMAXUM QXPFSENUM QXPFSENUMG
QXPFSLNUM QXRSMIAP QXSISTOR QXSIWF QXSTARRAY_EXPANSIONS
QXSTODGNGRP QXSTOREDGRP QXWFRIDS QXWFRIDT
Thanks to Steve R. Wood, DST Systems, USA.
Thanks to Ramu Nalluri, DST Systems, USA.
Change 32.173 Support for Websphere MQ for z/OS Crypto Audit User SMF
EXWECRAU record (default 180) creates new dataset:
IMACWECR DDDDDD DATASET DESCRIPTION
VMACWECR WECRAU WEBSCRAU WEBSPHERE MQ CRYPTO AUDIT
VMXGINIT This code has NEVER been tested with actual SMF records;
Jul 25, 2014 please send records if they exist at your site.
Change 32.172 Support for Websphere MQ Version 8.0 CHANNEL/CHANNEL INIT
EXTY115E new subtypes of the 115 (subtype 231) and 116 (subty 10).
EXTY116A create these new datasets:
FORMATS DDDDDD DATASET DESCRIPTION
IMAC115 TY115E MQCHIN MQM CHAN/CHANINIT STATISTICS
IMAC116 TY116A MQCHININ MQM CHAN/CHANNEL INIT ACCOUNTING
VMAC115 These new subtype have NOT been tested with data. Please
VMAC116 send SMF data if you have these new SMF subtypes.
VMXGINIT Jun 24, 2015: See Change 33.151, MXG 33.07, which updated
Jul 24, 2014 VMAC115 and VMAC116 and tested with data.
Change 32.171 Support for Websphere Liberty z/CONNECT SMF 120 subtype
EXT12011 11 creates new dataset TYP12011.
IMAC120 DDDDDD DATASET DESCRIPTION
VMAC120 T12011 TYP10211 WEBSPHERE 11 LIBERTY z/CONNECT
VMXGINIT
Jul 22, 2014
====== Changes thru 32.170 were in MXG 32.06 dated Jul 21, 2014=========
Change 32.170 Support for CA SYSVIEW 14.0 IMS Records updates (COMPAT).
VMACSVIE -New variables added to SV34TRAN dataset:
Jul 19, 2014 IMTR_TRN_FPFLAG IMTR_TRN_FPFLAG2 IMTR_TRN_ENQPCB
IMTR_TRN_CPUTIME IMTR_TRN_TPTDBIO IMTR_TRN_TPTDBPL
IMTR_TRN_SYNCFAIL IMTR_TRN_FLIMRTCD IMTR_TRN_FLIMBQCT
IMTR_TRN_FLIMIQTM IMTR_CLK_CNT_ENQ IMTR_CLK_MXG_END
IMTR_CLK_CNT_GU IMTR_CLK_UOW_START IMTR_CLK_UOW_END
IMTR_CLK_FLIMIQTM IMTR_CLK_FLOMPRTM IMTR_CLK_SYNCPRTM
IMTR_CLK_FLDQOTIM IMTR_CLK_SYNCDATE IMTR_CLK_SYNCTIME
IMTR_CLK_SAVE IMTR_CLK_IFP5901L IMTR_CLK_IFPMSGWAIT
However, no V14 records have yet been available, and
there may be other changes in the TIMER records that are
under investigation. This text will be revised.
Change 32.169 -DB2STATS variables QDSTNQMN,QDSTNQMX,QDSTNQAV,QDSTNCCW
VMACDB2 were wrong with DB2 V10. Added by DB2 V11, the input test
Jul 19, 2014 was for QDSTLEN GE 96 instead of GE 114, so they were
input when they should have been missing values.
-DB2STATS variables QDSTMARD and QDSTNARD were wrongly
deaccumulated, causing very large, or zero, values.
Thanks to Wayne Bell, UNIGROUP, USA.
Change 32.168 NDM CT truncated record caused INPUT STATEMENT EXCEEDED.
VMACNDM The invalid record has NDMRECLN=1014, which should then
Jul 18, 2014 have LENGTH=1028, but the record LENGTH is only 1020.
Jul 23, 2014 The NDMLENPA length of NDMPACCT field in bytes 1017-1018
contains 10, but there are only 2 bytes left in the SMF
record. Tests added to detect the truncated record and
to print a message on the log for each defective record,
and to only input as many bytes as exist.
-IBM APAR PM77776/PTF UK83894 for Direct Connect V 5.x
corrects the truncated record.
Thanks to Norbert Wagner, Deutsche-Boerse, GERMANY.
Change 32.167 ANALDUPE algorithm to remove duplicate records in z/OS
ANALDUPE file had typos in S02OF02. The DSN syntax should be
Jul 18, 2014 //FMTDAT DSN=&&KEEPFMT,DISP=(OLD,PASS)
and the correct syntax is OPTIONS FMTSEARCH=(FMTDAT);
Thanks to Richard Schwartz, IBM Global Services, USA.
Change 32.166 MXG 31.09-32.05. The default CECINTRV=HOUR in ASUM70PR
ASUM70PR was incorrectly/unintentionally changed to QTRHOUR back
SAGANAL in MXG 31.09, but the HOUR default is now (AGAIN!) set.
Jul 18, 2014 %VMXG70PR (PDB=PDB,INTERVAL=QTRHOUR,CECINTRV=HOUR);
Jul 23, 2014 The INTERVAL parameter controls the summarization of the
two per-SYSTEM datasets, ASUM70PR and ASUM70LP, and the
INTERVAL=QTRHOUR works for data at 5, 10, or 15 min for
each individual SYSTEM.
The CECINTRV parameter controls the summarization of the
two per-CEC datasets, ASUMCEC and ASUMCELP, and the HOUR
default is used because it is safer: only if ALL systems
in the CEC have 15 minute interval data can QTRHOUR be
used for CECINTRV, and so using HOUR protects sites with
multiple/different intervals, and my intention was to
always create these CEC-level datasets hourly.
And, most sites have copied ASUM70PR into their tailoring
library, to set their own values for INTERVAL/CECINTRV,
so this incorrect change in default was not observed.
-However, SAGANAL did require the CECINTRV=HOUR and that
was not previously noted in its comments, hence this
discovery. Now, instead of INCLUDEing ASUM70PR, the
_READ70 macro uses %VMXG70PR with CECINTRV=HOUR.
-Jul 23: ERROR PDB.TYPE70PR not found was corrected.
Thanks to Ian Porter, Nissan, ENGLAND.
Change 32.165 New parameter GROUPBY added to let you find the rankings
ANALRANK by some variable. So for example, you wanted to find the
Jul 17, 2014 top 20 JOBS by SYSTEM for CPUTM and EXCPTOTL, you would
code:
%ANALRANK(DATASET=PDB.JOBS,GROUPBY=SYSTEM,IDBY=JOB,
VARS=CPUTM EXCPTOTL,HOWMANY=20);
Along the way logic was cleaned up and simplified
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.164 FREQ created variables with lower case names. Later code
VMXGSUM that went looking for the variable could fail if it
Jul 17, 2014 looked for an upper case name. FREQ is now upcased as
are all the other variable names.
Change 32.163 Unused Change Number.
Change 32.162 See Change 33.014. Required for z13.
Change 32.161 Support for NDM-CDI M2 record, which is output in NDMMC
VMACNDM dataset. These M2-only variables are added to NDMMC:
Jul 17, 2014 NDMCFFLB NDMCRTYP NDMCSRVR NDMCTSLB NDMCTTYP NDMMCDSN
NDMMCSEQ NDMNBLKS NDMNBYTS NDMNRECS
Thanks to Michael Oujesky, DTCC, USA.
Change 32.160 ML-53 of MXG Tape Mount/Allocation/SYSLOG Monitor adds a
ASMTAPEE check for an I/O configuration change during the device
Jul 17, 2014 scan loop, which should reduce the chances of logrec
entries, which occurred at one site when a new IODF was
activated during MXGTMNT's device scan. Other than the
2,000 logrec entries for recovered 0C4 ABENDS for the
load module MXGTMNT, and the loss of data for that one
interval, MXGTMNT did not fail, and the MXGTMNT job log
did report the event was detected:
TMNT060I I/O configuration change detected,
MXGTMNT suspended pending restart
TMNT061I I/O configuration restart complete,
MXGTMNT processing resumed
Thanks to Ed Brociek, FMR, USA.
Change 32.159 -A possible error in ANALCAPD caused it to ignore the PDB=
ANALCAPD parameter, so &PDBMXG was always used. Since &PDBMXG
Jul 17, 2014 defaults to PDB, an error was unlikely, but the exposure
is removed, and a changed PDB= argument will now be used.
-Added SGPLOT invocation if you are on SAS 9.3 or higher.
Otherwise, if you have SAS/GRAPH, it is used.
Otherwise, the ancient PROC PLOT is used, and comments
were added to document the meaning of the characters
printed when PROC PLOT is used.
Thanks to Andrew Woods, Interactive Data, ENGLAND.
Change 32.158 Updates for Mobile Work including CSV-generating program.
MOBMWRT -%MOBMWRT creates the CSV file for submission to IBM.
MOBWRK05 -Changes to MOBWRKnn members now consistently have unique
MOBWRK06 &MOBxxx LIBNAMEs, and both SMF and PDB processing has
MOBILWRK been revised and tested.
VMXGINIT -MOBWRK05 and MOBWRK06 process all five products data if
Jul 18, 2014 they exist, so they can be used for one or all products.
Change 32.157 New parameters WIDTH HEIGHT FOOTNOTE added to let you
GRAFCEC tailor the appearance of graphs. Most of these look
GRAFWRKX better as landscape so the defaults are WIDTH=10in and
Jul 13, 2014 HEIGHT=8in. The 'in' is required. The footnote
parameter will let you add a footnote to the graphs
produced that you could use to add the job name that
created the graph. For example - to add a left justified
footnote with a height of .5 and in red you would
specify:
FOOTNOTE=JUSTIFY=L COLOR=RED 'Job name'
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.156 Variable IRESPTM in the CICS dataset is the SUM of the
ASUMCICX response time in all transactions in the BY group. It
TRNDCICX probably should have always been the average value but it
Jul 11, 2014 is left as the sum and a new variable RESPAVG is created
which is the average value.
Change 32.155 Support for Oracle ELS/VTCS 7.2 HSC changes to user SMF
EXSTCV31 records.
IMACSTC -New dataset STCVSM31 created from subtype 31
VMACSTC -New variables added to datasets created from Subtypes
VMXGINIT STCnnTPX added to 13,14,15,16,17,18,19,20,25,26,27,28
Jul 8, 2014 29,30
Jul 16, 2014 STCnnTYP added to 16,17,18,19
Subtype 16: STC16LOC STC16MVC
Subtype 17: STC17LOC
Subtype 18: STC18LOC STC18VPT STC18TND STC18ND
Subtype 19: STC19LOC STC19VPT STC189ND STC19ND
subtype 26: STC26VPT
-All but subtypes 27,and 31 have been data tested.
-These (archaic) variables are always missing values:
STC13FLG STC13HID STC13SEQ STC13VTI
STC14FLG STC14HID STC14SEQ STC14VTI
STC18FLG STC18HID STC18SEQ STC18VTI
STC19FLG STC19HID STC19SEQ STC19VTI
-One question is open: STC14DSN contains a TODSTAMP and
not a 44-character DSNAME.
Thanks to Richard Stuchell, VISA, USA.
Thanks to Bruce MacKay, Oracle, USA.
Thanks to Merle Sadler, Oracle, USA.
Change 32.154 -This part of the original change:
ANALID "If you want to produce the ANALID report using UTILBLDP,
UTILBLDP with BUILDPDB=NO specified, then the ID token must be the
Jul 8, 2014 FIRST token in the USERADD= parameter:"
Aug 15, 2014 is no longer true; Change 32.192 removed that restriction
and ID can be anywhere in the USERADD= list.
-While only the SELECTED SMF record's datasets will be
created, ALL SMF records in the INFILE will be reported
by ANALID, UNLESS you also used MACFILE/IMACFILE to
delete SMF records; those deleted records will NOT be
counted/reported by ANALID.
-If you want to see the code that was created by UTILBLDP,
it can be printed on the LOG by specifying either the new
ECHO=YES (or ECHO=Y) argument, or with MXGEXIMSG=YES.
-Cosmetic change in ANALID to print 0 for small percentage
values to eliminate "Note: At least one W.D format was
too small for the number to be printed...."
Thanks to MP Welch, Bank of America, USA.
Change 32.153 Support for Optional CICS User ADP fields in IMACICVH.
EXUTILEX The EXUTILEX member is listed here ONLY to note that it
IMACICVH is not the correct way to add USER CICS fields to MXG.
VMAC110 Instead, send your CICS Dictionary SMF records to support
UTILEXCL and MXG will be enhanced to support your optional data,
Jul 5, 2014 with a new IMACICxx member just for you!
Thanks to Patricia Hansen, ADP, USA.
Change 32.152 Datetimes in TYPECTLT - CONTROL/T are GMT and there is no
VMACCTLT way to know what was the GMT Offset when those data were
Jul 5, 2014 created.
Change 32.151 BY lists for TYPE74PA/TYPE74ST/TYPE74DU/TYPE74HO/TYPE74TD
VMAC74 and TYPE747C were insufficient to remove duplicates.
Jul 5, 2014 All of those _BTY74xx macros are extended for removal.
-Variable R742PLIN='LIST*NUMBER*WITHIN*STRUCTURE' is now
INPUT; it was added to _BTY74PA. However, there are
duplicate observations in TYPE74PA.
-Variable R744FNAM was added to _BTY74ST for NODUP sort.
-Variable R744FNAM was added to _BTY74DU for NODUP sort.
-Variable R744HPCP was added to _BTY74HO for NODUP sort.
There are duplicate observations created in TYPE74HO.
-Dataset TYPE74ID will always have many more duplicates
removed than output observations, by design.
-If you use TYPE74PA or TYPE74HO, or TYPE74TD, and want
to open a PMR with IBM Support to examine why there are
duplicates, please send your data to support@mxg.com to
verify and to document for your PMR submission.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.150 Revised support for Informatica's POWER EXCHANGE SMF
VMACPOEX records, updated after the original preliminary support
Jul 3, 2014 in Change 29.134. These issues will be reported and this
text updated when resolved:
CHANGES REQUIRED:
1. In POEXDB2, POEXROWS are accumulated, but POEXSTMT=1
POEXSQLC=0 POEXUPDT=0 POEXDELT=0 POEXINSR=0 in all
fifteen DB2 segments so it is unclear if they too are
accumulated. BUT: ANY ACCUMULATED FIELDS means that
data is lost; the first instance for EVERY JOB must be
deleted since it is impossible to know which is the
FIRST interval record. Interval records MUST contain
interval values.
2. POEXUNDO (28-byte field before POEXCPUG CPU Time in
General Section: Undocumented field contains IP
address for IPV4 addresses:
(161.236.233.152)
but IPV6 addresses are truncated at 15 bytes
(::ffff:165.37.5)
3. CRITICAL: Subtype 3 Interval records POEXENDT is
always unpopulated (missing value) so the actual
interval duration can never be known.
4. CRITICAL: Subtype 3 Interval records POEXSTRT is
always the START TIME OF THE JOB and is NOT the START
TIME OF THE INTERVAL. SO: the interval duration can
NOT be known except in the first interval.
5. POEXSECN - Count of sections is ALWAYS ONE in all
records, even though there ARE multiple sections in
many records.
OTHER ISSUES:
6. Issues with UNDOCUMENTED DSN1 & DSN2 in File Segments:
a. Length 46 rather than 44 in DSN2, both set to 64 to
be safe for open system path names.
b. Contains single quotes around DSN in SOME
POEXACME=NRDB2 records:
'EDWT.ISG.COMBINED.MO.PRTY.INF' )
c. Contains DSN2=BLANK, DSN1=CONNECTION
d. Contains DSN2=BLANK, DSN1=TS01295.SHR.S9S.D140626
e. Contains double quotes at start and interval in
some records, i.e., "ZA1P".za1racf1_RACF_RECORD
7. Variables ADDL CIPC NODE REAS RTRN SESS SSI are always
blank.
8. Bytes Send and Received Count in CLIENT segment is
ALWAYS 256 bytes.
9. POEXCLIE (Client):
A JOB is identified by SYSTEM POEXJOB POEXTPID, but
POEXSTRT is CONSTANT for each interval. In each
INTERVAL record, POEXCPUG (General) is Accumulated,
while POEXCPUC (Client) is the interval CPU Time.
But in each END record, POEXCPUG and POEXCPUC are
EQUAL and are the TOTAL for that JOB. And POEXCPUG
(General) is ACCUMULATED while the POEXCPUC (Client)
is the DELTA
UNLESS: In POEXCLIE jobs where there is a DB2 Section:
a. The POEXTPID is always zero, so it is NOT possible
to group interval/end records for each job.
b. The CPUG and CPUC are accumulated and interval as
for POEXCLIE jobs that have FILE sections, but the
CPUD from the DB2 section is ALSO ACCUMULATED in
the interval records, and is the TOTAL in END
record.
10. There are four CPU metrics in four segments: CPUG -
General, CPUD - DB2, CPUL - Listener and CPUC -
Client, but no documentation of what is or is not
included in those fields.
Observing values, it appears:
POEXLIST - LISTENER - POEXCPUG (General) equal to
POEXCPUL (Listener)
POEXCLIE - CLIENT - See Preceding Item 19.
11. In the FILE segment, field POEXAMTY is not documented.
The values of 01, 0Ax and 19x in POEXAMTY have
POEXACME, Access Method, with , DB2, SEQ, and NRDB2,
respectively.
12. POEXSTRC - Character datetime value does not contain
fractions of a second, while POEXSTRT
TODSTAMP does have full resolution.
13. POEXENDC - Character datetime value does not contain
fractions of a second, while POEXENDT
TODSTAMP does have full resolution.
14. Client Segment TODSTAMPS ENDX STRX are always missing
values, but start/end from General Section are valid
and kept.
15. No GMT OFFSET value in any record, but the character
start time in POEXSTRC is on local while POEXSTRT is
on GMT so the offset value GMTOFFPOEX is calculated
and used to convert GMT datetimes to local.
16. Records with lots of nulls (SMF record 43, LENGTH=4928
(RDW=4932), but data ends in byte 847, 4181 bytes of
nulls).
Thanks to Eileen F. Van Etten, Bank of America, USA.
Thanks to Christopher D. Carnes, Bank of America, USA.
Change 32.149 SMF record TYPE can be 0-127 for IBM records or 128-255
VMACXXXX for USER SMF records. Because the TYPE number of a USER
Jun 26, 2014 record is set by the site's product installer, you must
Sep 28, 2014 tell MXG the record number that was chosen for USER SMF
processing for SMF TYPES 128-255. MXG sets the default
TYPE number to a missing value, a period, in MXG 32.10.
Previously, a value of 512 was the MACRO _IDxxxx default.
The recommended way to specify a User SMF type is to put
the defining MACRO in the IMACKEEP member in your USERID
Tailoring Library/Directory:
MACRO _IDxxxx nnn %
where the xxxx is the VMACxxxx suffix for the product,
(documented in member IMACAAAA), and nnn is the site's
chosen record number. This way, any processing of xxxx
will use that definition for that product's SMF record.
If you are using %UTILBLDP to create your SYSIN program,
the RECOMMENDED tool to process multiple SMF records, and
especially to add other SMF records, either IBM or USER,
with or without executing BUILDPDB, you supply the SMF
Record TYPE number in the syntax:
%UTILBLDP(USERADD=xxxx/nnn yyyy/mmm . . . .);
Alternatively, you can supply the _IDxxxx value in the
input in the job that processes the USER SMF record:
//SYSIN DD *
%LET MACKEEP= MACRO _IDxxxx nnn % ;
%INCLUDE SOURCLIB(TYPSxxxx);
Change text revised.
SEE CHANGE 32.234.
Thanks to MP Welch, Bank of America, USA.
Change 32.148 Support BMC DB2 Data Sharing Header, QWHSTYP=32 segment,
READDB2 which is inserted between the QWHSTYP=1 & 2 segments in
VMACDB2H BMC records, but is after the other segments in IBM data.
Jun 20, 2014 MXG logic had assumed the segments were in order, the BMC
Jul 9, 2014 insertion of their 32 segment caused the QWAC fields to
to be blank/missing, as the insert prevented segment 2
being input. Logic is now independent of the order.
-Using %READDB2(IFCIDS=BMC); worked fine on ASCII but did
not work on z/OS, because the test "IF &IFC GT 3" is true
on ASCII when &IFC is BMC, but the collating sequence on
z/OS causes BMC to be LESS than 3, so BMC subtypes were
not read. The test now explicitly tests for 'BMC'.
-Observed: TITLE CREATED BY _T102BMC; created an error;
the title must be in quotes to prevent macro _T102BMC
from being resolved as code!
Thanks to Janet Smith, BMC, USA.
Thanks to Tony Curry, BMC, USA.
Change 32.147 -ODS doesn't support character variables with $HEX format:
DOC SAS development investigated this issue with their XML
Jun 26, 2014 parser and the problem is caused because the values have
to be converted to XML, and Unicode values in
user-defined formats are not supported by the ODS
Graphics procedures.
Furthermore, ODS does not use the FORMATTED value of a
variable that contains hex values:
%INCLUDE SOURCLIB(TEST73);
PROC SGPLOT DATA=TYPE73;;
SCATTER X=STARTIME Y=PCHANBY/GROUP=SMF73CPD;
FORMAT SMF73CPD $HEXCHAR.;
RUN;
So it is necessary to create a new variable with the
format and use it:
DATA PLOT/VIEW=PLOT;
SET PDB.TYPE73;
CHANTYPE=PUT(SMF73CPD,$MG073CD.);
PROC SGPLOT DATA=PLOT;
SCATTER X=STARTIME Y=PCHANBY/GROUP=CHANTYPE;
-JMP doesn't support variables with ATTRIB TRANSCODE=NO.
The TRANSCODE= attribute can be changed with a DATA step
DATA NEW; ATTRIB variable TRANSCODE=YES; SET OLD;
Or with a PROC DATASETS
proc datasets lib=work memtype=data;
modify type73;
attrib _all_ TRANSCODE=YES;
run;
fails with errors:
attrib _ALL_ TRANSCODE=YES;
-
22
76
ERROR 22-322: Syntax error, expecting one of the
following:
a name, -, :, FORMAT, INFORMAT, LABEL, LENGTH, _ALL_,
_CHARACTER_, _CHAR_, _NUMERIC_.
ERROR 76-322: Syntax error, statement will be ignored.
Thanks to MP Welch, Bank of America, USA.
Change 32.146 Cosmetic, line "@; PUTLOG _N_= COL= DCVSGLNG=...; INPUT"
VMACDCOL left from testing Change 32.103 is now deleted.
Jun 23, 2014
Thanks to Clayton Buck, UNIGROUP, USA.
Change 32.145 Cosmetic. MXGNOTEs that VMXGSUM is bypassing a step or a
VMXGSUM sort that is not needed, are suppressed, unless you have
Jun 23, 2014 set %LET MXGEXIMSG=YES to print those suppressed notes.
Change 32.144 MXG 32.03-32.05 INVALID STID=60 CICS/TS 2.3 Statistics
VMAC110 error was not protected by Change 32.077, which had only
Jun 23, 2013 protected CICS/TS 3.2-5.1. The IBM error being protected
is that DSGLLEN=128, the correct length of the header, is
not the 136 byte length of each TCB segment. Previously,
all 136 bytes were always INPUT without a length test.
But CICS/TS 5.2 increased the length to 160, so 32.077
reset DSGLLEN to 136, but with data only back to 3.2 for
validation, the test was (65 LE SMFPSRVR LE 67). Now
(63 LE SMFPSRVR LE 67) is used to protect both CICS/TS
2.3 and 3.1 by resetting DSGLLEN to 136.
Thanks to Craig North, FHG, ENGLAND.
Change 32.143 The CPUZIPTM for SYNCSORT was a missing value for COPY or
VMACSYNC SORTs that did not use Sort Works DDs. MXG code was
Jun 22, 2013 revised, after discovering that the DS H'0' field in the
DSECT after then SMFWKEXL DS H'0' field does NOT exist
when NRSORTWK=0.
Thanks to Richard Krueger, Sentry Insurance, USA.
Change 32.142 READDB2 failed if FIRSTOBS NE 1 or OBS NE "enough" for
READDB2 the internal DATA steps needed to build the code, if you
Jun 22, 2014 asked for individual IFCIDS. Now, the original values for
FIRSTOBS/OBS are stored, the text for the code and sorts
are generated, and then they are restored to control the
SMF records read. Note, however, that you will then need
to reset FIRSTOBS=1 and OBS=MAX after READDB2 to process
the output datasets. For example, to read a single SMF
record for a single IFCID:
OPTIONS FIRSTOBS=123456 OBS=123456;
%READDB2(IFCIDS=376);
RUN;
OPTIONS FIRSTOBS=1 OBS=MAX;
PROC PRINT . . .
Change 32.141 Support for IFCID=376, but the DB2 V11 DSECT shows that
VMAC102 the last field is QW0376PN, which ends in byte 165 of the
Jun 21, 2014 record which has LENGTH=662, so a PMR is to be opened
with IBM DB2 support to determine if those extra bytes
are real or trash. In addition, the QW0376TS value, a
timestamp, contains '19871FAF182106A5'x, which I do not
recognize as a valid datetimestamp.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 32.140 -RACF SMF 80 INPUT EXCEEDED error because STATE field for
VMAC80A DISTRICT OF COLUMBIA DC exceeded the $VARYING16 LENVAR,
Jun 21, 2014 and SAS only INPUTs 16 bytes even when LENVAR is 24.
Informat changed to $VARYING32.
-Variable TOKMCARRIER now decoded into TYPE80TK dataset.
Thanks to David W. Chambers, Norfolk Southern, USA.
Change 32.139 -MXG 32.05 only, ONLY if BUILD606/BUILD3606 logic (or user
VMAC113 program with ELSE _CDE113). MXG 32.05 had this commented
Jun 20, 2014 debug statement *PUTLOG // _N_= ID= SUBTYPE= //; after
the MACRO _CDE113 statement, which caused a 180 syntax
error when preceded by the ELSE statement.
BUT: had I used /* PUTLOG . . . */ syntax, there was
NO ERROR!
The commented debug statement is now removed.
-If the EXPDBCDE member was used to add SMF 113 to your
BUILDPDB or if you used UTILBLDP, there was no error.
-But this goes all the way back to Change 15.354, (1998)
which was supposed to ensure that all SMF processing
members had syntax of IF ID= . . . immediately following
their MACRO _CDExxxx statement, so they could be used in
BUILD606/BUILD3606. I now find these other members also
didn't comply with 15.345; they all had a semicolon ahead
of their IF statement, which is now removed:
VMAC110 VMAC111 VMACBVIR VMACCDC VMACCMHM VMACCTCD
VMACGUTS VMACID VMACIPAC VMACMVTP VMACSHDE VMACZCOS
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
====== Changes thru 32.138 were in MXG 32.05 re-dated Jun 18, 2014======
Change 32.138 First MXG 32.05. VMACRMFV had a syntax error due to last
VMACRMFV minute untested update I rushed in at the last minute.
Jun 18, 2014 Update was an attempt to match Delay Percents in MXG to
IBM RMF III reports, but research is still in progress.
Four lines with WHEN ( ) AND syntax were incorrect but
are now removed.
Thanks to Robert B. Richards, OPM, USA.
Thanks to Matthew Brooks, OPM, USA.
Change 32.137 -All JCLTESxx members now all test with TESSxxxx members,
JCLTES91 which invoke all of the PROC SORTs so that the existence
JCLTES92 of BY variables is validated in testing. Previously, the
JCLTEST9 TESTxxxx members were used, which did not test SORTs.
JCLTESS9 -Members JCLTESS9, JCLTEST9, and JCLTES92 are identical;
TESTOTHR the multiple names are kept because of prior references.
Jun 18, 2014 -TESTOTHR had a mislocated %END; statement that is fixed,
but any of your code that %INCLUDES SOURCLIB(TESTxxxx)
should be changed to use TESSxxxx instead per preceding,
but the TESTxxxx members will remain in MXG forever.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 32.136 were in MXG 32.05 dated Jun 16, 2014=========
Change 32.136 VMACSMF: CICS version variable SMFPSRVR is formatted
VMACSMF with existing MGVERCIC so the version (e.g. TS5.1) is
UTILEXCL printed instead of its internal value (e.g. 68).
Jun 16, 2014 Since SMFPSRVR is not formatted in the other members,
Jun 19, 2014 the VMACSMF format will apply to all datasets read from
infile SMF with a CICS Version value in SMFPSRVR.
-UTILEXCL: Options NOCENTER improves report formatting.
-IMACICEZ: Comments revised: this member always inputs
five fields so it is removed from REPORT THREE-A as only
its comment block needs to be removed.
-IMACICE1 and IMACICE2: Comments revised to direct you to
use REPORT THREE-A to EDIT to find your number of fields.
Change 32.135 Labels for NDM datasets from a single subtype are now
VMACNDM explanatory. Multi-subtype datasets are still labeled
Jun 14, 2014 with the list of subtypes, but comments were updated to
list all of the subtypes that are documented.
Thanks to MP Welch, Bank of America, USA.
Change 32.134 Datasets BVIR322/BVIR323/BVIR324 for some POOLs were NOT
VMACBVIR output. The test for ATLGVOLS=0 that terminated the scan
Jun 14, 2014 on the first instance was invalid as there are many pools
AFTER that test. Now, all 32 possible pools are scanned
and only those with ATLGVOLS GT 0 are output, so all of
the active POOLs are output.
Thanks to Doug Medland, IBM Global Services, USA.
Change 32.133 -VMXGSUM is enhanced to support "concatenation" of "PDBs".
VMXGSUM Existing VGETDDS logic is implemented in VMXGSUM. The new
Jun 14, 2014 syntax %VMXGSUM(INDATA=CICSTRAN,USEVGETDDS=CICTRN:); will
input all DDNAMES/LIBNAMES from CICTRN1 up to CICTRN99.
INDATA must be set to a SINGLE dataset without a LIBNAME
reference, but it may include a (KEEP=VARA VARB ...)
modifier. The DATA step is passed as a view to the SORT.
-To fully support concatenated PDBs on tape, OPEN=DEFER is
forced when USEVGETDDS is specified.
Change 32.132 CALLEDBY= parameter added for internal use by MXG.
VGETDDS NOTES telling you what was allocated are suppressed
Jun 14, 2014 unless MXGEXIMSG=YES.
Change 32.131 -%READDB2(IFCIDS=BMC) created the 11 BMC APPTUNE datasets
READDB2 but then failed because _S102BMC macro does not exist.
Jun 13, 2014 Using IFCIDS=ALL does circumvent this error, but now the
individual _Sdddddd macros for the 11 BMC datasets are
invoked when IFCIDS=BMC is specified.
-Redundant code block for BMC removed in READDB2.
Thanks to Tony Cury, BMC, USA.
Change 32.130 Support for doc APAR OA35811 (replaced, FIN) by OA54385,
VMACRMFV for RMF III GEIG3 corrects the length of GEIRSTRF in z/OS
Jun 8, 2014 2.1 to 8 bytes, but actual data records show GEIRSTRF was
also 8 bytes in 1.13. But the code changes caused by the
doc APAR is that GEIRPOOL, the Average Online Real
Storage, is no longer used in z/OS 2.1 and GEIRSTRF is
the replacement. So this MXG change stores GEIRSTRF back
into GEIRPOOL in z/OS 2.1 so your existing reports using
GEIRPOOL will be correct without change.
But there appears to be an undocumented change in 2.1, as
I THINK (TO BE VALIDATED) that the order of subsequent
GEILF4K and GEILP4K in 1.13 were reversed in 2.1. When
input as originally documented, these are the values:
GEILF4K GEILP4K
(Fixed) (Pageable)
1.13 60 316,680
2.1 108,180 0
which seems to be wrong for 2.1.
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Steven Yucha, Aetna, USA.
Thanks to Miguel Mercado, Aetna, USA.
Thanks to Micheline Bissell, Aetna, USA.
Change 32.129 Protection for zero length data that printed this message
VMAC80A SMF 80 SEGMENT 301 HAS UNDECODED TOKDANAM=
Jun 6, 2014
Thanks to David Kaplan, DTCC, USA.
Change 32.128 Variable QBGLNW='PAGE-IN*WRITE*AROUND' now INPUT and kept
VMACDB2 in dataset DB2GBPST. Field was added in DB2 V11.
Jun 6, 2014
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.127 New %VMXGDEL0 utility can delete all datasets with zero
VMXGDEL0 observations, with or without a report of members and
Jun 11, 2014 their count of obs, or only a report can be generated.
While zero-obs datasets take essentially no disk space,
some SAS procedures open all datasets in a data library,
creating unnecessarily long menu lists. But, use this
tool with care, since if you delete zero observation
datasets from a "daily PDB" library, you could easily
cause other jobs (that still reference old datasets that
are no longer populated) to fail when you delete members.
This was handy to use after %READDB2(IFCIDS=ALL) so only
the populated T102Snnn datasets remained
Thanks to MP Welch, Bank of America, USA.
Change 32.126 Support for new Subtype 1 of HIS SMF ID=113 creates new
VMAC113 DDDDDD DATASET DESCRIPTION
ASUM113 TY1131 TYPE1131 HIS HARDWARE MONITOR DETAIL
Jun 2, 2014 IBM will not enhance the original Subtype 2 (accumulated
values), and the Subtype 1 contains interval delta values
so the first observation(s) are not lost in TYPE1131. The
ASUM113 program creates both ASUM113 (ST=2) and ASUM1131
(ST=1), but ASUM1131 should be used if it is populated,
as it will have more observations than ASUM113.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.125 New MGIBMxx formats created to support MOBILE WORK.
FORMATS Preliminary MOBILWRK program to identify Mobile Work.
MOBILWRK See the MOBILWRK member in MXG 32.05 for documentation.
MOBWRK00
MOBWRK01
MOBWRK02
MOBWRK03
MOBWRK04
MOBWRK05
MOBWRK73
MOBWRKS3
MOBWRK83
MOBWRKC3
MOBWRKD3
MOBWRKI3
MOBWRKM3
MOBWRKW3
TESTMOBQ
TESTMOBP
JUN 16, 2014
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 32.124 The DOCVER member, which documents all variables in all
UTILVREF MXG datasets, is enhanced by the addition of the BYLIST
May 31, 2014 for all datasets that are sorted. Most "important" MXG
datasets are sorted when the TYPSxxxx member is used to
SORT from WORK to PDB, but some datasets still have only
a DATA step to COPY from WORK to PDB. Contact support if
you use a dataset that is not sorted and be prepared to
send data, since actual data records are required to find
the BY list that removes duplicated.
Thanks to MP Welch, Bank of America, USA.
Change 32.123 Support for RSD USER SMF ACCOUNTING record Version 2.1
EXRSDSDS creates four new datasets:
EXRSDSES dddddd dataset description
EXRSDSEP RSDSDS RSDSDSET RSD SMF ACCOUNTING DATASET
EXRSDSNL RSDSES RSDSAESR RSD SMF SLR ACCOUNTING
FORMATS RSDSEP RSDSAEPR RSD SMF EPR ACCOUNTING
IMACRSDS RSDSNL RSDSANLR RSD SMF NLR ACCOUNTING
VMACRSDA Support for RSD USER SMF AUDIT record Version 2.1 is a
VMACRSDS complete rewrite with replaced variable names in the
VMXGINIT RSDAUDIT dataset.
Jun 8, 2014 Aug 11: Action Codes 36 and 84 are now recognized and
Aug 11, 2014 processed. FORMATS were updated for action codes.
Dec 10, 2014 Dec 10: Test for UNKNOWN AUDIT ACTION is removed, so now
Dec 22, 2014 all action codes are output. New AUDACT records all have
the same physical structure, the full record has been
read, and AUDOBJI is populated so you can split/store it
if needed, as done now for some AUDOBJT values.
Dec 22: Lines over 72 shortened.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Thanks to Raul Juan Rincon, Bustia, SPAIN.
Change 32.122 VMXGPARS did not correctly parse quoted strings if there
VMXGPARS was a blank embedded in the quoted string, which caused
May 29, 2014 UTILBLDP to generate invalid syntax errors.
Change 32.121 UTILBLDP new option SORTOUT=NEVER prevents output SORT of
UTILBLDP all datasets, intended for MXG internal use. SORTOUT=NO
May 29, 2014 suppressed SORTs of most data, but still sorted these:
7072 DB2 HSM NTCP ROSC TMDB TPX 103 28
because they contain accumulated values that require the
sort to deaccumulate. NEVER prevents even those sorts,
but leaves invalid values for those datasets, so use of
SORTOUT=NEVER prints a warning message when used.
Change 32.120 Support for optional CICS user SDA fields.
IMACICSD
UTILEXCL
VMAC110
May 27, 2014
Thanks to Trevor Holland, ANZ, AUSTRALIA.
Change 32.119 Support for IMS56FA records from IMS 13.1 (INCOMPATIBLE,
VMACIMS due to inserted fields).
May 27, 2014
Thanks to Rudolf Sauer, T-Systems, GERMANY.*
Change 32.118 ANALID= parameter added to READDB2 to create SMF Audit
READDB2 report when set to YES. Only the SMF records that are
May 25, 2014 required for the READDB2 request are reported.
Change 32.117 Incorrect ID Test for ID=140 corrected to ID=104.
VMAC104
May 23, 2014
Thanks to Robert A. Obee, IMS Health, USA.
Change 32.116 XAM CRITICAL ERROR with SEGLEN=84 was a false error; that
VMACXAM is a valid length for the SYTSYP segment in zVPS 5.4 so
May 21, 2014 the MXG "protection" for invalid FTP transfer added in
Change 32.057, which tested only for the known mangled
100 value now accepts 84 as valid, suppressing the error.
Thanks to Robert K. Hare, Comerica Bank, USA.
Change 32.115 VMXGSRCH failed if there were no datasets in the LIBNAME
VMXGSRCH pointed to by the LIBNAME= parameter.
May 17, 2014
Change 32.114 READDB2 with PDBOUT="non-PDB" still wrote to PDB.DB2ACCT
READDB2 and if there was no //PDB in JCL or no LIBNAME PDB, the
May 17, 2014 job abended. Additionally, if STATISTICS was specified
(instead of the RECOMMENDED STATS argument), errors in
PROC SORTs for STAT0/1/2/4/225 would also fail. Missed
because a LIBNAME PDB always existed in the QA tests.
Unrelated, with recommended STATS specified, datasets
DB2STAT0 1 2 4 DB2ST225 and T102S225 were left in WORK,
but they are now deleted.
Thanks to Frank Bereznay, IBM Global Services, USA.
Change 32.113 Support for APAR OA44319/OA44322 for SMF ID=42 ST 5 and 6
VMAC42 statistics to TYPE42SR, TYPE42VT, and TYPE42DS datasets.
May 17, 2014 TYPE42SR TYPE42VT TYPE42DS Description
S42SCA1U S42VDA1U S42DSA1U AVG*DEVICE*ACTIV ONLY*TIME
S42SCB1U S42VDB1U S42DSB1U AVG*DEVICE*BUSY*TIME
S42SCC1U S42VDC1U S42DSC1U AVG*I/O*CONNECT*TIME
S42SCD1U S42VDD1U S42DSD1U AVG*I/O*DISCONNECT*TIME
S42SCHRD S42VDHRD S42DSHRD ZHPF*READ*COUNT
S42SCHWR S42VDHWR S42DSHWR ZHPF*WRITE*COUNT
S42SCM1U S42VDM1U S42DSM1U AVG*COMMAND*RESPONSE*TIME
S42SCP1U S42VDP1U S42DSP1U AVG*I/O*PENDING*TIME
S42SCQ1U S42VDQ1U S42DSQ1U AVG*CONTROLUNIT*QUEUE TIME
S42SCR1U S42VDR1U S42DSR1U RESPONSE*TIME
S42SCT1U S42VDT1U S42DST1U AVG*TOTAL*READ*DISCONNECT
Change 32.112 Documentation. TYPE113 variable SM1132SP is labelled as
VMAC113 the processor speed in cycles per microsec, so it has a
May 15, 2014 value of 5504, while MXG-created variable EFFGHX is the
processor speed in GHZ, a value of 5.504. While SM1132SP
could be changed, it is pervasively used in many of the
calculated ratios, and changing its value now would not
only require those calculations to be changed, they would
then not match the equations in John Burg's many papers.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.111 Support/corrections/enhancements for IDMS Version 18.
VMACIDMJ -PMRHTYPE=4 PMHSEQN=2 record +4 needed for doubleword
VMACIDMS alignment; variable INSTTTI created and kept in the
TYPEIDMJ IDMSINS dataset.
May 12, 2014 -Variable DBKOWNER no longer kept in IDMSTAS dataset;
it exists only in IDMSDBK dataset.
-Variable TASTITI is incorrectly spelled, but so as to
prevent current programs from failing, the correctly
spelled variable TASTTTI is equated and kept in the
IDMSTAS dataset.
-Members TYPEIDMJ and VMACIDMJ, which reads the INFILE
//DCLOG rather than SMF format data, were revised so
that they now use the VMACIDMS member, eliminating need
for dual maintenance.
Thanks to Mark S. Miller, APL, USA.*
Change 32.110 Variables FSCIPHER FCCFIPS140 FCCIPHER4 are added to both
FORMATS TYP11903 and TYPE11970 datasets. Variable FCCFIPS140 and
VMAC119 existing SMF119ML_CN_TTLSFP TTTTLSFP variables are
May 12, 2014 decoded with $MG119FP format.
Thanks to Jerome Vitner, Experian, ENGLAND.
Change 32.109 Variable STATCTM1, when non-zero, was incorrect; the TU4.
IMACICDB INFORMAT was replaced by &PIB.8.6/4096 to properly input
May 11, 2014 the duration value.
Thanks to Raymond Dunn, CIGNA, USA.
Change 32.108 -RMF III Fixes, Enhancements, Documentation upgrades.
ADOCRMFV -Fix for possible S0C4 Abend when processing an ASI table
ASMRMFV in the first MINTIME interval after a Service Policy
Jun 12, 2014 activation.
-Possible incorrect data for Service Class, Report Class,
Workload, or Resource Group extensions in the ASI output
record for the MINTIME interval immediately after a
Service Policy activation.
-Investigation found that RMF III copies all ASI entries
from the prior MINTIME interval to the new MINTIME
interval after a Service Policy activation.
-If the number of Service Classes, Report Classes,
Workloads, or Resource Groups in the Service Policy has
changed after Service Policy activation, the indexes for
some of those copied ASI entries will not match the
corresponding sections in the active Service Policy.
This causes the Abend or incorrect extension data
conditions.
-ASMRMFV will now use the prior Service Policy to resolve
indexes in the copied ASI entries for this particular
MINTIME interval. Once all of the ASI copied entries are
processed, normal use of the active Service Policy will
resume for the remaining entries and for all other
MINTIME intervals.
-New message RMFV078I will indicate when the new ASI index
FIND logic is in use after a Service Policy activation
and for how many copied entries it was used.
-Four new FIND error handling parameters are added:
SCERR=, RCERR=, WLERR=, and RGERR=. These are
respectively for Service Class, Report Class, Workload,
and Resource Group indexes.
-An ASMRMFV FIND error occurs when the index value for one
of the above 4 data categories exceeds the number of
actual entries for that category in the active Service
Policy.
-Possible setting values for SCERR=, RCERR=, WLERR, and
RGERR= are IGNORE, WARN, and ABEND. Each may be
shortened to as few letters as desired down to a single
character I, W, or A respectively.
When a setting is IGNORE:
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) None None None None
Return Code Unchanged Unchanged Unchanged Unchanged
When a setting is WARN (default):
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) RMFV070W RMFV071W RMFV072W RMFV073W
Return Code 0004 0004 0004 0004
When a setting is ABEND (for diagnostic use):
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) RMFV070E RMFV071E RMFV072E RMFV073E
Abend Code U0998 U0998 U0998 U0998
Reason Code 70 71 72 73
-An extra RMFV037I message displays the values assigned to
these FIND error settings at ASMRMFV startup as I, W, or
A.
-When an SCERR=, RCERR=, WLERR=, or RGERR= setting is WARN
and a FIND error occurs ASMRMFV updates the usual 32 byte
Description field for the Service Policy category in ASI,
ENC, RCD output records as follows:
Category Description Field Contents
-------------- ---------------------------
Service Class SC: I=nnnnnnn E=eeeee L=lll
Report Class RC: I=nnnnnnn E=eeeee L=lll
Workload WL: I=nnnnnnn E=eeeee L=lll
Resource Group RG: I=nnnnnnn E=eeeee L=lll
where:
nnnnnnn is the invalid index value up to 7 decimal digits
eeeee is the actual number of entries in the Service
Policy for this category up to 5 decimal digits
lll is the length of one entry in the Service Policy
for this category up to 3 decimal digits
These Descriptions eventually become part of the MXG PDB.
When a Service Class, Report Class, Workload, or Resource
Group name variable in an MXG PDB is blank the
Description field in this case helps to explain why.
-When a setting is WARN AND an index value is ZERO the
respective Description field is also updated.
In this case NO messages are issued. An index may
validly be zero.
As examples, in a given Service Policy not all Service
Classes belong to a Resource Group nor do they
necessarily have a Report Class. The index for the
Resource Group and/or Report Class in these cases would
be validly zero.
-When a SCERR=, RCERR=, WLERR=, or RGERR= setting is
IGNORE and the respective index value is either invalid
or zero, the corresponding Description field is instead
left as blanks.
This was the behavior of prior ASMRMFV versions for zero
index values. Users who prefer to have the Description
field remain blank in the PDB in these cases should use
the IGNORE setting for all 4 error parameters (or set
MAXFINDS=0 as noted below).
-NOTE: The respective 8 byte Service Class, Report Class,
Workload, or Resource Group name variable itself in the
PDB remains as blanks for invalid or zero indexes
regardless of IGNORE or WARN settings.
-A new parameter MAXFINDS= (aliases MAXFIND=, MAXFI=,
MAXF=) specifies the number of FIND warning messages
RMFV070W, RMFV071W, RMFV072W, and RMFV073W to be shown
for each RMF III data set processed when the WARN setting
is in effect. The default is MAXFINDS=10.
-With the MAXFINDS= default up to 10 each of RMFV070W,
RMFV071W, RMFV072W, and RMFV073W warning messages could
be shown for each RMF III data set processed. The
counter is reset for each new RMF III data set.
-An extra RMFV037I message displays the numeric value
assigned to MAXFINDS= at ASMRMFV startup.
-MAXFINDS=0 EXCLUDES all FIND warning messages and has the
same effect as coding SCERR=IGNORE, RCERR=IGNORE,
WLERR=IGNORE, and RGERR=IGNORE.
-MAXFINDS=MAX allows virtually unlimited FIND warning
messages to be shown per RMF III data set.
-Documentation Section 2 "Terminology" has been expanded.
-Documentation Section 6 "Report Control Parameters" is
updated for the new MAXFINDS= parameter.
-Documentation Section 8 "Error Handling Parameters" is
updated for the new SCERR=, RCERR=, WLERR=, and RGERR=
parameters.
-Documentation Section 9 "JCL and SYSIN Parameter Usage"
has been updated.
-Documentation Section 12 is now called "Messages" and now
includes ALL possible messages that can be produced by
ASMRMFV. For each message there is a discussion of
purpose, whether the message is Multi-Line and/or
Multi-Severity, possible action(s) to be taken, and an
explanation of all variable fields in the message.
-Documentation Section 17 "Abend Reason Codes" is updated.
-Documentation Section 21 is now called "Extended
ASI/ENC/RCD/UWD Record Support" and has been updated.
-Documentation Section 24 "Sysplex Master Gatherer" is
updated for the new MASTER RMF III option in z/OS 2.1.
-Message RMFV032E was missing trailing +++ characters.
-Message RMFV034I is now message RMFV017I and message
RMFV034I is no longer in use.
-Error message RMFV043E is now a severe error message
RMFV043S.
-Message RMFV052* (* = I,W,A) had an invalid value for
CISIZE.
-Message RMFV106W was missing trailing * character.
-Two new diagnostic only messages for the ASI table
RMFV076I and RMFV077I have been added but do not
normally appear without a special procedure.
-Data ORIGIN message RMFV009I now includes the RMF Version
Number, z/OS Version and Release Number, and the MINTIME
sample time stamp to better identify the source of data
being processed for each RMF III data set.
-In the event multiple RMF versions have created data in
an RMF III data set message RMFV009I will be repeated as
needed for each new version detected.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Warren Cravey, Fidelity Institutional, USA.
Change 32.107 Support for optional CICS segment ESIUSER.
IMACICVG
UTILEXCL
May 8, 2014
Thanks to Alfred Holz, Express-Scripts, USA.
Change 32.106 Optional CMRDETL CICS segment is now 384 bytes long with
IMACICMX unpopulated/useless 128 bytes added to each CICS 110-1,
UTILEXCL so UTILEXCL is updated to detect the new length and tell
May 4, 2014 you to tailor the new IMACICMX member. The previous 256
length is still detected and IMACICMR identified for you
to tailor. IF BOTH IMACICMR and IMACICMX are identified
in your data, please send the UTILEXCL output using the
first example to support@mxg.com and we will return a
tailored member that will support both lengths.
Change 32.106A Protection for divide by zero in VXPRCPRP when HFCOUNT is
VMACVMXA zero, VMDUSER is removed from VXPRCMFC BY list as it is
May 4, 2014 not always populated.
Change 32.105 Variable NDMNODET is now labeled DIRECTION*OF*DATA and is
VMACNDM formatted with $MGNDMNT.
May 1, 2014
Change 32.104 Change 32.089 subtracted CPUASRTM from CPUTCBTM and added
VMAC30 CPUASRTM to CPUSRBTM. Now, the CPUUNITS and SRBUNITS are
May 8, 2014 also corrected by moving ASRUNITS from CPU to SRB, since
CPUASRTM is SRB, and not TCB, time.
Thanks to Julian Smailes, Experian, ENGLAND.
Change 32.103 DCOLMIGS dataset variable UMLRECL was always zero because
VMACDCOL the DSECT in Access Method Services has the wrong offset
May 1, 2014 for the 10 reserved bytes, which misled me to incorrectly
input UMLRECL.
Thanks to Steve Gormley, UNUM, ENGLAND.
Change 32.102 Support for OS/390 RMF data. MXG changes after MXG 30.30
VMAC7072 caused zero observations in PDB.TYPE70 for records from
Apr 28, 2014 OS/390. Now, IF VERSNRMF LE 607 THEN OS390='Y' is set and
used to force output when TYPE70EN has no observations.
Thanks to Jeff Fracas, WIPRO, USA.
====== Changes thru 32.101 were in MXG 32.04 dated Apr 27, 2014=========
Change 32.101 -Duplicate DB2 SMF ID=102 Trace records are removed in the
ADOC102 revised _S102nnn dataset sort macros that now correctly
VMAC102 PROC SORT NODUP DATA=_Wdddddd OUT=_Ldddddd, WORK to PDB.
Apr 26, 2014 (Previously, a DATA _Ldddddd; SET _Wdddddd; was used in
the "sort" macro to copy from WORK to PDB data library).
-The BY list _V102SRT _B102nnn, where V102SRT is this list
of common variables used for all T102Snnn sorts
SYSTEM QWHSSSID QWHCPLAN QWHCAID QWHSLOCN QWHCCV
QWHCCN QWHSSTCK QWHSWSEQ
and _B102nnn is the IFCID-specific variables that are
also needed for NODUP to work.
-But: NODUP can ONLY be verified with actual data records:
These IFCIDs had 50% removal with _ALL_ BY List:
004 005 006 007 022 027 053 058 059 060 061 062
063 064 064 066 072 703 074 075 080 081 082 086
090 091 095 096 107 108 109 112 142 173 177 191
199 208 225 247 250 254 261 262 263 267 268 340
342 343 350 359 361 362 366 370 371 377
This 1 IFCID needed it's _B102199 BY List Populated:
199
These 24 IFCIDs did not remove 50% with _ALL_:
023 024 025 055 083 087 106 140 141 143 144 145
169 172 192 196 219 220 258 313 319 337 402 SSS
All other IFCIDs had zero observations so it is not
known if the default _V102SRT BY list is sufficient, but
you can easily verify, by reading the same SMF input
twice with %READB2(IFCID=nnn,PDBOUT=PDB) and observing
if the PROC SORT duplicate observation count is equal to
to the output observations, i.e., 50% of the input.
-Obscure: Previously, variable T102RECN was accidentally
output with the physical record number in the SMF input
file, when it should have been a missing value, as it was
intended for internal debugging or support diagnostics.
But that non-missing value prevents NODUP removal of any
duplicate records, since duplicates would have different
values in T102RECN. It can't be dropped without possibly
causing someone's "perfectly good programs" to fail, so
it is now set to a missing value, as intended.
If you needed to know which SMF record created an obs,
you can populate T102RECN by inserting this statement
%LET MXGDEBUG=T102RECN;
in your //SYSIN input.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 32.100 VGETOBS First 32.04: A RUN; statement is REQUIRED, and,
VGETOBS only under SAS V9.2, the newly-used-in-32.04 FEXIST()
Apr 27, 2014 function didn't recognize a valid //PDB DISP=NEW DDNAME
that had already been written to; the BUILDPDB failed
with CRITICAL ERROR PDB DDNAME NOT FOUND when VMXGCICI
made the first VGETOBS call to create PDB.CICINTRV.
-The RUN; statement is required to be inserted inside the
%MACRO VGETOBS definition to force resolution of input
%macro variables before their reference, discovered when
%ANALZPCR failed to create any output.
-The FEXIST(DDNAME) function replaced a PROC SQL in 32.04
(to determine if the DDNAME existed when DDNAME.DATASET
didn't exist) because it looked simpler and faster with
a large VTABLE, but the measured difference was small and
large VTABLEs are very uncommon, so the initial test for
DDNAME existence is changed to %SYSFUNC(LIBREF(&DDNAME)),
with code reordered to expect existence, the normal case.
The fall thru to find if the DDNAME exists but has not
been opened/assigned, reverts to use the PROC SQL on
DICTIONARY.EXTFILES to avoid 9.2 FEXIST problem.
-Why is VGETOBS so pervasively used in MXG? First, to
verify that the DDNAME.DATASET of interest exists. Often
in MXG internal code, like VMXGWORL, so MXG can find and
copy/delete the WORK/PDB copy transparently, and often in
ANALxxxx report members that require your names as input,
VGETOBS is used to verify your request does exist. By
finding the non-existence before the reference, the user
can be alerted with explanatory MXGNOTES. Otherwise, not
only does the job eventually fail, but the failure error
messages can be quite confusing (BY VARIABLE NOT FOUND)
as they are not the actual cause of the failure. Second,
MXG can significantly reduce tape mounts and EXCPs using
VGETOBS to detect that tape or sequential format library
is in use; since SEQ doesn't have a directory of datasets
on tape, MXG can bypass the read of each tape volser to
find that this DATASET exists. And third, many of the
ANALxxxx/ASUMxxxx members use VGETOBS to bypass execution
of DATA and PROC steps where there is no data to report
or summarize.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Robert B. Richards, OPM, USA.
====== Changes thru 32.099 were in MXG 32.04 dated Apr 23, 2014=========
Change 32.099 NEARTIME updates a daily PDB library with every SMF dump,
NEARTIME to provide nearly current time reports throughout a day.
Apr 21, 2014 You can build a complete PDB each time, or only process a
few records that you may want to have available during
each day. It can create all of the PDB datasets in the
LIBNAME of NEARTIME, and after all datasets are created
and sorted, it can either APPEND or COPY those datasets
from the NEARTIME data library to the PDB data library.
It keeps track of its last run in SPIN.LASTRUN and for
the first run on a new day, it PROC COPYs to initialize,
or PROC APPENDs all datasets found in NEARTIME to PDB.
If you choose to run a full BUILDPDB, the standard
invocations of RMFINTRV CICINTRV ASUM70PR and ASUM113
are suppressed until after the copy process is complete,
so that the summarizations include all the data to that
point in time and they are redriven with every execution.
The JOBS/STEPS/PRINT datasets are built by the normal
BUILDPDB process, where SPINCNT is incremented for each
execution, so you may need to increase the SPINCNT value
in your IMACSPIN tailoring to account for the increased
number of executions per day. You could even add an MXG
step to your SMFDUMP routine to cause the daily PDB to
be as current as the last SMF dump. This has been tested
by two sites, so please use with caution and report any
problems, and any enhancement suggestions.
Change 32.098 Variable PCTMVSBY is added to PDB.ASUM70LP dataset.
VMXG70PR
Apr 21, 2014
Change 32.097 The pairing-macros sorts for the TRANSIT report wrote to
ANALDBTR T102Snnn dataset names that overlaid the originals and
Apr 21, 2014 caused SORTED BY errors. Now, P102Snnn names are used.
Change 32.096 Change 32.091 corrected VGETOBS performance, but that new
ANALID design removed a PROC SQL that had (accidentally) caused
VGETOBS instantiation of a macro variables, exposing an error in
Apr 20, 2014 ANALID where a RUN statement should have been used. The
missing RUN; statement is added in ANALID, but a second
RUN; statement is added at the top of VGETOBS in case any
other members needed that accidental protection.
Change 32.095 UNINITIALIZED variable DB2PARTY message eliminated.
TRNDDB2A
Apr 20, 2014
Change 32.094 Support for SMF ID=92 Subtypes 16 and 17 create:
EXTY9216 dddddd dataset description
EXTY9217 TY9216 TYPE9216 SOCKET/CHARSPEC FILE CLOSE
IMAC92 TY9217 TYPE9217 FILE ACCESSES WHILE OPEN
VMAC92 But, the subtype 16 is NOT documented in the z/OS 2.1 SMF
VMXGINIT SMF Manual nor in SYS1.MACLIB ember BPXYSMFR, so none of
Apr 20, 2014 the subtype 16 specific variables are created, pending
response from IBM with the documentation.
-Reading a subtype 17 record with earlier VMAC92 will
print a harmless INVALID READTIME message.
Change 32.093 -RMF III Documentation Upgrade
ADOCRMFV -There are now 25 sections in the ASMRMFV source
ASMRMFV prologue documentation and in the corresponding
Apr 20, 2014 ADOCRMFV member as follows:
Section Contents
------- --------
0 Contents
1 Installation
2 Terminology
3 Execution JCL
4 RMF III Table Input Selection Parameters
5 Input Data Selection Parameters
6 Report Control Parameters
7 Output Data Control Parameters
8 Error Handling Parameters
9 JCL and SYSIN Parameter Usage
10 Parameter Syntax Rules
11 Parameter Coding Examples
12 Common Report Messages
13 Filtered Records
14 Skipped Records
15 Program Limitations
16 Return Codes
17 Abend Reason Codes
18 REGION Size and Memory Usage
19 Output LRECL
20 FREE=CLOSE
21 Extended ASI/ENC/UWD Record Support
22 RMF III Data Set Index Usage and Sizing
23 RMF III MONITOR III Options and Effect on
Data
24 RMF III MONITOR III Sysplex Master
Gatherer & CFDETAIL
25 Summary
-Section 1. New. "Installation" has been added.
-Section 2 "Terminology" has been expanded.
-Section 12 "Common Report Messages" is greatly expanded
to include most information-only messages in the ASMRMFV
log.
-Section 17. New. "Abend Reason Codes" added. Each Abend
Reason Code that can be issued is now unique with no
repeat usage.
-REQUIREMENT: In order to implement the unique Abend
Reason Code feature the ASMRMFV utility program from this
MXG change must be installed. See MXG SOURCLIB member
JCLASM3 for sample JCL for the assembly and link-edit
install steps.
Change 32.092 Initial support for TMON/MVS Version 4.4 (INCOMPATIBLE).
VMACTMVS This change updated the TMVSSYS dataset. Contact support
Apr 17, 2014 at MXG to request the next dataset(s) you need updated.
Change 32.091 MXG 32.03: VGETOBS on z/OS could elongate elapsed time
VGETOBS and increase EXCP counts; both effects are now corrected:
Apr 17, 2014 -If there are tape DDs in the step, a loop inside the
Jul 11, 2014 macro did not use the correct index in VGETTAPES string
(contains all detected TAPE data library DDNAMES). Only
the first was found so other tape DDs could be read to
look for the needed dataset, causing an increase in EXCPs
and elapsed times. VGETOBS now uses the %SYSFUNC for the
EXIST function that checks for the existence of a SAS
dataset, and for the FEIXST function that validates the
EXTFILE name, and uses OPEN/CLOSE to get the number of
OBS in the dataset, instead of using the (expensive)
dictionary tables, unless DATASET=_ALL_ was specified to
build the MXGTABLES dataset.
-On zOS, VGETOBS can optionally build a dataset to keep
track of all tables it finds. Then, when done, it deletes
that table, but that destroyed the SYSLAST/_LAST_ value,
so a subsequent PROC step without a DATA= argument failed
with a dataset not found error. Now, VGETOBS preserves
SYSLAST in VGETLAST and resets SYSLAST to VGETLAST.
-Jul 11: THIS ERROR CAN ALSO SIGNIFICANTLY INCREASE THE
CPU TIME of any job with LOTS of VGETOBS executions.
In one case, 29.06 took 20 seconds, while 32.01 took 192.
Thanks to Betty Wong, Bank of America, USA.
Change 32.090 AUTOEZOS/CONFIGEZ provide new "EAZY" methods to execute
AUTOEZOS MXG on z/OS with SAS 9.2 and above, using your site's SAS
CONFIGEZ JCL procedure and your site's default SAS options.
JCLEZCFG Jul 19: WPS 3.1.1 is required for AUTOEZOS.
JCLEZSAS -The JCLEZSAS example %INCLUDEs the new AUTOEZOS member,
Apr 17, 2014 which uses the SAS APPEND= option to set the //LIBRARY
Jul 19, 2014 DDNAME for the MXG Formats, uses the SAS INSERT= option
to add SOURCLIB to SASAUTOS, and then invokes %VMXGINIT
to set the other options required for MXG execution.
This is the simplest way to set up the MXG environment,
but it does require that your site's SAS options do not
conflict with those needed by MXG's environment.
(It is unlikely you would need to tailor AUTOEZOS.)
-The JCLEZCFG example would be used if your default SAS
options conflict with those required by MXG, where simple
JCLEZSAS cannot be used. JCLEZCFG adds a CONFIG= option
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIGEZ)' as CONFIGEZ
sets ALL MXG-required options; the JCLEZCFG example also
then %INCLUDES AUTOEZOS, as above, to set the LIBRARY and
SOURCLIB DDNAMEs and to invoke %VMXGINIT. Since all MXG
required options are in CONFIGEZ member, it is unlikely
that you would need to tailor it, although those SAS
options that must be set at SAS Initialization can only
be set in that CONFIGEZ member.
Thanks to MP Welch, Bank of America, USA.
Change 32.089 IBM TYPE30 field SMF30CPT (CPUTCBTM) has always included
VMAC30 CPUASRTM (SMF30ASR), but ASR is time under an SRB, so ASR
Apr 17, 2014 is now subtracted from CPUTCBTM and added to CPUSRBTM so
Aug 7, 2014 those variables match reality; this has no impact on the
total CPUTM variable (which IMO should be used, always).
MXG also had subtracted CPUASRTM from CPUTCBTM to create
TASKGCPTM, but that subtraction is redundant and removed.
- I am asking IBM SMF if the new ASR Instruction Counts
are also included in the CPT Instruction Counts.
Apr 23: IBM RMF support replied that the WLMGL Report in
the RMF Report Analysis Book shows under SERVICE, that
CPU service includes the task and preemptible-class SRB
processor service, and the SRB units contain only the
non-preemtible SRB service units. Unfortunately, in the
RMF 72 records, there is no "ASR" field with either the
service or CPU time of the preemptible-class SRB metric.
Aug 7: This reduction in CPUTCBTM increased the value
of variable AVGWKSET in TYPE30 datasets, calculated as
AVGWKSET=4*PAGESECS/CPUTCBTM;
starting with MXG 32.04.
Thanks to Julian Smailes, Experian, ENGLAND.
Thanks to Brent Turner, Citigroup, USA.
Change 32.088 Support for NMON BBBPMOUNT and BBBPNETSTAT records create
EXNMONMT new datasets:
EXNMONNS DDDDDD DATASET DESCRIPTION
IMACNMON NMONMT NMONBBBPMOUNT NMON BBBP MOUNT
VMACNMON NMONNS NMONBBBPNETSTAT NMON BBBP NETSTA
VMXGINIT The mount record contains only the month and day without
Apr 17, 2014 a year; if the current month is larger than the mount
month, the mount date uses last year's year value.
-An INVALID ARGUMENT to FUNCTION INPUT when BBBPEND051 had
a one-digit hour value was corrected.
-Jul 17: Cosmetic. _WNMONFR, _WNMONFW and _WNMONFO in the
MACRO _NNMON were removed; they never existed.
Thanks to Len Marchant, Coke-Cola, USA.
Change 32.087 Support for SMF 120 Subtype 100 ODM (Operational Decision
VMAC120 Manager record creates new dataset:
VMXGINIT dddddd dataset Description
IMAC120 T1201C TY120100 ODM OPERATIONAL DECISION MANAGER
EXT1201C Jun 3 update, in MXG 32.05:
Apr 18, 2014 -Only Subtype 100 with non-zero EXN are output; st-100's
Jun 3, 2014 are written every interval (30 minute default), one for
each CICS APPLID in test data, but most have no segment;
some records do have multiple EXN segments so each one is
now output in dataset TY120100.
-IBM offset EXO is strange, required +5 to locate the data
segment. (-3 is normal, rarely +1, but never +5 before!),
but it is now used to correctly align each input.
-IBM length EXL is also "wrong", as it is the TOTAL length
rather than the expected length of one segment, so it is
now divided by EXN to get the per-segment length for each
segment's input.
-GMT Offset is now kept in existing SM1209CD variable.
-SM120STM/SM120ETM are now correctly labeled.
Thanks to Paul Volpi, UHC, USA.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.086 Execution with SAS 9.3 TS1M0 now raises an MXGWARN note:
VMXGINIT MXGWARN: SAS 9.3 TS1M0 DETECTED. SAS HOT FIX (SN43828)
Apr 14, 2014 MXGWARN: REQUIRED TO PREVENT LET-STATEMENT ERRORS.
MXGWARN: BETTER STILL:: 9.3 TS1M1 CONTAINS THE FIX.
(This need was documented in CHANGE 29.159 in 2011.)
Change 32.085 These QWP1/4/5/9 variables were overlooked, but are now
VMAC102 INPUT and kept in T102S106 dataset:
Apr 15, 2014 QWP1DATH QWP1DPSS QWP1DSGN QWP1DSSZ QWP1DXAC
QWP1LBIL QWP1LOGM QWP1LOGR QWP1ZPNM
QWP4AECR QWP4APCO_VAR QWP4ATRC QWP4CDDC QWP4CDMC
QWP4CDSC QWP4CDTSL QWP4CXDC QWP4CXMC QWP4CXSC
QWP4DEGD QWP4DLRU QWP4FCPY QWP4HASH QWP4IAST
QWP4IMWF QWP4IXCU QWP4KLRU QWP4MIMTS QWP4MIS7
QWP4MIS8 QWP4MIS9 QWP4MISA QWP4MISB QWP4MS4F
QWP4MUSE QWP4N0193A QWP4N0193B QWP4PELM QWP4PFLG
QWP4PFUP QWP4PLMR QWP4PLSF QWP4PMSC QWP4QRWD
QWP4RACK QWP4RDVPR QWP4RMDB QWP4RSLV QWP4S1IL
QWP4SFBS QWP4SLRU QWP4WFSAT QWP4WFSST QWP4SEPSD
QWP4SECA1_E QWP4SECA1_TYPE QWP4SECADM1
QWP4SECA2_E QWP4SECA2_TYPE QWP4SECADM2
QWP5BPM QWP5APM
QWP9TCPVX QWP9MCONQN QWP9MCONQW QWP9DDFC QWP9TCPA
Thanks to Wolfgang von Schumann, Finanz Informatik Tech, GERMANY.
Thanks to Norbert Philips, Finanz Informatik Technologie, GERMANY
Change 32.084 Typo. If you modified macro _GRAPALNM, an MXGNOTE was
ASUMTALO printed that it had been added to the BY LIES instead of
Apr 9, 2014 BY LIST.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 32.083 ANALID did not follow MXG conventions with an &Pxxxxxx or
ANALID a _L/_Wdddddd tokens. Revised to use the &PDBMXG macro
Apr 5, 2014 variable so that if the output destination was overridden
by VMXGINIT SMFRECNT will end up in the right place.
Change 32.082 These NETEZZA/IDAA PDB.DB2STATS Q8STxxxx variables should
VMACDB2 not have been deaccumulated:
Apr 5, 2014 Q8STACTV_64 Q8STCCPU_64 Q8STCORS Q8STCPMU Q8STCQL
Q8STDSA Q8STDSKA Q8STDSKB Q8STDSKU Q8STMAXA_64
Q8STMAXQ Q8STMNQS Q8STNMDS Q8STNQCS Q8STTATE
Q8STWCPU_64 Q8STWNOD_64
IBM doesn't always identify which fields are accumulated,
so the DIF() code is put in place, and then data is read
to detect negative values (proof of not accumulated so
those variables are removed) but I failed to run the test
for negative values in Change 32.072.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.081 A minor exposure in UTILBLDP. If IMACKEEP= was not used
UTILBLDP (blank) AND BUILDPDB was YES then the substitution macros
Apr 4, 2014 for SPINCNT SPINUOW and TIMEDIF were defined twice which
could result in MACRO 0 0 % which is not a valid syntax
and produced an error message but did not stop execution.
Now only generated if BUILDPDB EQ YES. MACKEEP and
MACFILE are now nulled out after execution.
Change 32.080 ANALDB2R selection parameters use the =: colon modifier
ANALDB2R to select "Starting With". If you used DB2=DSN to select
Apr 3, 2013 only the DSN subsystem, but have subsystems DSN DSNT and
Apr 15, 2014 DSNP, all three will be selected.
New parameters INCODEACCT and INCODESTAT let you define
your own selection criteria.
INCODEACCT= applies to the accounting reports and many
trace reports, while
INCODESTAT= applies to the stats reports. For the
For the above single-subsystem selection, you would use:
INCODEACCT=IF QWHSSSID='DSN';
-MXGACC03 could fail on zOS with dataset not found error
because SYSLAST was overwritten by VGETOBS but the last
dataset created by VGETOBS no longer existed, because the
TABULATE did not contain a DATA= argument.
Change 32.079 The _V and _K tokens for TYPE9035 were incorrectly set to
VMAC90A 9036 instead of 9035.
Apr 3, 2014
Thanks to Chris Weston, SAS ITRM, USA.
====== Changes thru 32.078 were in MXG 32.03 dated Apr 3, 2014=========
Change 32.078 Support for OAM SMF 85 record for z/OS 2.1 (INCOMPAT).
VMAC85 The record VERSION test required an explicit '2010' value
Apr 3, 2014 to prevent INPUT STATEMENT EXCEEDED RECORD error.
Thanks to Joachim Sarkoschitz, DATEV, GERMANY.
Change 32.077 Support CICS/TS 5.2 OPEN BETA: CICSTRAN COMPAT, Stat NOT:
VMAC110 -5.2 CICSTRAN has been SUPPORTED since MXG 31.03 (3/2013),
Mar 31, 2014 as NO NEW FIELDS WERE ADDED TO CICSTRAN IN CICS/TS 5.2,
Apr 1, 2014 at least not in the OPEN BETA (so GA could be changed!).
(MXG 31.03 or later is required for CICS/TS 5.1.)
-5.2 STID=62 CICDS Dispatcher CPU Statistics (per-TCB CPU)
records read with MXG 32.02 or earlier are wrong/missing
values, due to fields inserted in STID=62 segments. MXG
does detect and report that STID=62 was CHANGED, but only
in obscure ***MXG WARNING.TYPE110 messages that don't
tell you the output was trashed. MXG did continue to
read the rest of your SMF data after those warnings.
WITH THIS CHANGE: CPU times are correct.
-STID=62 CICDS dataset has these variables read from the
header and kept
DSGLXSCN='LAST EXCESS*TCB SCAN'
DSGLXSND='LAST EXCESS*TCB SCAN*NO TCB*DETECTED'
and 18 sets of these three variables are added, one per
TCB, with "DSG" replaced by each TCB's prefix:
DSGTMCDQ='QR TCB*CURR TASKS*DISPATCH*QUEUE'
DSGTMCDQ='QR TCB*PEAK TASKS*DISPATCH*QUEUE'
DSGTMCDQ='QR AVG*PEAK TASKS*DISPATCH*QUEUE'
-STID=62 CICSPOOL Pool dataset has these five new varS;
DSGLTCB='OPEN POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
DS2LTCB='JVM POOL *DATETIME*WHEN*POOL LIMIT*REACHED*/
DS3LTCB='XPT POOL *DATETIME*WHEN*POOL LIMIT*REACHED*/
DS4LTCB='SSLD POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
DS5LTCB='THRD POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
-5.2 also changed STID 10, 81 and 105, but COMPATIBLY with
new data appended rather than inserted, so prior versions
MXGWARNed there was new data and skipped with no impact.
-5.2 new STIDs 36 and 147 were also safely skipped.
-STID=10, CICXMG dataset, XMG DSECT, new variables:
XMGATMXT='80X*IF*CURRENTLY*AT MXT'
XMGGAMXT='GMTTIME*WHEN*MXT*REACHED'
XMGGSMXT='GMT*WHEN*MXT*SET'
XMGGTAT ='GMT*WHEN*LAST*ATTACHED'
XMGLAMXT='DATETIME*WHEN*MXT*REACHED'
XMGLSMXT='DATETIME*WHEN*MXT WAS*SET'
XMGLTAT ='DATETIME*WHEN*LAST*ATTACHED'
-STID=81, CICM dataset, MNG DSECT, new variables:
MNGAUTRT='AVG*USER*RESPONSE*TIME'
MNGCAUTA='CURR TASKS*AT LAST*ATTACH'
MNGLUCTL='DATETIME*WHEN*LAST*ATTACH'
MNGLUCTL='DATETIME*WHEN*LAST*TRANS*ENDED'
MNGLUTRT='DATETIME*WHEN*PEAK*RESPONSE'
MNGMXUTA='MXT VALUE*AT LAST*ATTACH'
MNGPUTRT='PEAK*USER*RESPONSE*TIME'
MNGSTNUM='SYSTEM*TRANSACTIONS*ENDED'
MNGUTNUM='USER*TRANSACTIONS*ENDED'
-STID=105, CICPIR dataset, PIR DSECT, new variables:
PIRMSGFO='MSGFORMAT'
-New STIDs 36 and 147 are listed as STILDP and STIPGE and
listed as PRIVATE LODER and PRIVATE PROGRAMDEF, but the
OPEN BETA DATA AREAS does not have LDP nor PGE, yet.
Change 32.076 -INPUT STATEMENTs EXCEEDED, one due to invalid TOKDANAM
VMAC80A 'UID' segment with 6 bytes of data but TOK80LN2 only 3;
Mar 31, 2014 this is detected, an MXG error message printed of the
first two instances, and two due to the increased lengths
of TOKQUEST2 and TOKANS2 fields (where MXG has to pick a
max length, but I guessed wrong).
-Variable RACF31DS, RVARY DSN added to TYPE8025 dataset.
-TOKDANAM values 'FTEL' 'MTEL' 'EMAIL' are decoded into
new TOKFTEK/TOKMTEL/TOKEMAIL variables and 'ADDRESS1' and
'ADDRESS2' values are output in existing TOKAD1/TOKAD2
variables in TYPE80TK dataset.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 32.075 Retrieves current ODS destination into a global variable
VGETDEST VGETDEST. If no ODS destination has been set it will get
Mar 31, 2014 the ODSDEST option value (normally AUTO), which on zOS is
LISTING and on ASCII is HTML. Used internally in MXG in
new SGPLOT reports.
Change 32.074 -DB2 IFCID 402 dataset T102S402 now outputs all segments;
VMAC102 previously only the first segment was output. But obs
Mar 27, 2014 are only output after deaccumulation if QW0402ACTIVE,
Mar 31, 2014 QW0402ACTIVE=SUM(QW0402TE,QW0402TQ,QW0402TF,QW0402TW,
QW0402CE,QW0402CW,QW0402OE,QW0402OW);
shows there was activity during this 1-minute interval.
-The BY list _B102402 now includes QW0402PI, Profile ID,
which is the unique token in each segment.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 32.073 The _SMF processing macro is enhanced to read either the
VMACSMF //SMF DD to read dumped SMF VBS data, or the //LOGGER DD
VMXGINIT to directly read current SMF logstream data, or to
Mar 27, 2014 first read //SMF DD (which can be a concatenation of SMF
VBS data, and then read the //LOGGER DD. The default of
SMF is unchanged, to read the //SMF DD, but you can use
%LET MXGREADSMF=LOGGER;
to ONLY read the LOGGER file, or you can use
%LET MXGREADSMF=BOTH;
to read both.
-For LOGGER read, OFFSMF=0 is now set in VMACSMF, so the
macro variable READLSMF (Change 31.235) was removed from
VMACSMF as no longer used by this change, which also
removed READLSMF from VMXGINIT (in MXG 32.03).
Apr 22: I had to send this 32.03 VMXGINIT to a site with
the INSTREAM error; using the new VMXGINIT with the old
VMACSMF did NOT work, and generated spurious errors of
INVALID SMFTIME; removing READLSMF from VMXGINIT caused
UNRESOLVED MACRO READLSMF condition, which caused MXG's
test for &READLSMF EQ 0 to fail, so VMACSMF fell thru and
attempted to read the VBS //SMF file with the (correct
for Logger) attributes of RECFM=VB,LRECL=32756, which
broke logical records and caused INVALID SMFTIME errors.
This won't likely occur again, but I put READLSMF back in
VMXGINIT's %GLOBAL statement.
-Variable READSMF contains 'SMF' or 'LOGGER' to identify
the source of each record during processing, variables
NDUMPREC and NLOGREC count the records read from //SMF
and //LOGGER respectively. You could hex-dump the first
record from each infile with
%LET MACFILE= %QUOTE(
IF NDUMPREC=1 THEN LIST;
IF NLOGREC=1 THEN LIST; );
Thanks to Jim S. Horne, LOWE's Companies, USA.
Change 32.072 -DB2ACCT variables QWACAACC and QWACAACW (IDAA statistics)
VMACDB2 are now INPUT and kept.
Mar 28, 2014 -These DB2STATS IDAA/NETEZZA variables added in DB2 V11
are now INPUT and kept:
Q8STACTV_64 Q8STCQL Q8STCRL Q8STCSS
Q8STDSA Q8STMAXA_64 Q8STMAXQ_64 Q8STMNQS Q8STNDS
Q8STNBA Q8STNBS Q8STNDA Q8STNIA Q8STNIS
Q8STNLRA Q8STNLRS Q8STNLTA Q8STNLTS Q8STNQCS
Q8STNQFA Q8STNQSA Q8STNUA Q8STNUS Q8STTART
Q8STTATC Q8STTCCA Q8STTCCS Q8STTCMA Q8STTCMS
Q8STTCQA Q8STTCQS Q8STTLSC Q8STWCPU_64
Q8STWNOD_64
PROBLEMS:
-The data needs validation; many values are zero making
determination difficult; most values do look reasonable,
but there are 8 extra bytes not in the DSECT that are
skipped at the top of the segment, which might be the
wrong place, but there is consistency with the "ALL DB2"
variables with "S" suffix that all have values of -1
(INPUT as IB8) while their "THIS DB2" variables with "A"
suffix are populated.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.071 Connect-Direct NDMCPU='CPU TIME*OF STEP' is now added to
VMACNDM the NDMPT dataset, along with these new variables:
Mar 26, 2014 NDMECP0 ='CPU TIME*ON CP'
NDMECP1 ='CPU TIME*ON ZIIP'
NDMECP2 ='ZIIP*QUALIFIED*PART OF*NDMECP0'
NDMHQSTA ='QUEUE*STATUS*IF*PTQHOLD'
NDMSUBJID='SUBMITTING*JCTJOBID'
NDMSUBJOB='SUBMITTING*JOB'
And these variables are added to NDMCT dataset:
NDMECP0S='SEND*CPU TIME*ON CP'
NDMECP1S='SEND*CPU TIME*ON ZIIP'
NDMECP2S='SEND*ZIIP*QUALIFIED*PART OF*NDMECP0S'
NDMECP0R='RECV*CPU time*on CP'
NDMECP1R='RECV*CPU time*on ZIIP'
NDMECP2R='RECV*ZIIP*QUALIFIED*PART OF*NDMECP0R'
Thanks to Michael Oujesky, DTCC, USA.
Change 32.070 Support for ASG-TMON CICS TS V3.4 (NO MXG UPDATE NEEDED).
TYPETMO2 TMON CICS v3.4 is the toleration support for CICS/TS 5.2,
Mar 24, 2014 which is now in Open Beta, but there were NO changes to
their data records so there is no associated update.
Change 32.069 When trying to reduce the line size of the code being
VMXGPARS generated by UTILBLDP to 65 bytes to fit on neat and
Mar 24, 2014 pretty lines in INSTREAM, VMXGPARS parsing went backwards
from BYTE 65 to 50 looking for a blank but if it did not
find one it arbitrarily stopped, which could be in the
middle of a quoted string causing broken syntax and many
strange errors. Now, the search continues until a blank
is found. This error was NOT reported. It was exposed
when testing UTILBLDP with new syntax in MACFILEX=.
Change 32.068 New DB2 Buffer Pool analysis report, based on SHARE
ANALDB2R Anaheim Session 14610, Robert F. Catterall, IBM, "Key
Mar 23, 2014 Metrics for DB2 for z/OS Subsystem and Application
Performance Monitoring", using the DB2STATB dataset.
Based on the total read I/O rate, it can suggest if the
Buffer Pool is too small, or if perhaps it is too large.
With SAS 9.3+, charts are produced, followed by a report
identifying BPs these problem criteria:
Avg read IO rate GE 1000/sec
Max read IO rate GE 5000/sec
Total BP size exceeds 50% of available CSTORE
Max used buffers LT 25% of BP
If no BPs fit the exception criteria a message is
produced telling you that.
This is report MXGDB2B1 in ANALDB2R.
Change 32.067 Cosmetic. Missing values for OPENTM occur when OPENTIME
VMAC64 variable is not populated; TYPE64 observations with
Mar 21, 2014 SITUATN='NO SPACE AVAILABLE' or 'CATALOG UPDATE' do not
populate OPENTIME; OPENTM calculation is now protected.
Some of these obs have large negative value in UNUSEDCI.
Change 32.066 Support for selection by DSNAME for all MXG datasets that
IMACDSCK contain a "DSNAME" value with the new &MACDSCK facility.
Mar 21, 2014 See the documentation examples in IMACDSCK, but this will
find all observations in SMF record with DSNAME that
starts with SYS1."
%LET MACDSCK=
%QUOTE (
LENGTH DSNAME ENTRNAME $44;
IF INDEX(DSNAME,'SYS1.') OR
INDEX(ENTRNAME,'SYS1.') THEN
);
%UTILBLDP(BUILDPDB=NO,OUTFILE=INSTREAM,
USERADD=1415 1718 42 60 6156 62 6
%INCLUDE INSTREAM;
RUN;
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 32.065 Support for APAR OA44798 enhancement to SMF ID=22 record,
VMAC22 added the new Subtype 12 Storage Element Extension, adds
Mar 21, 2014 two variables to the existing TYPE22_3 dataset:
SMF22XGL='BLOCK*NUMBER OF*FIRST*FRAME'
SMF22XPG='ONLINE*FRAMES'
Change 32.064 Line 77 had an unwanted close-paren and semicolon that
ANALID prevented ODS output and are now removed.
Mar 20, 2014
Thanks to Sabrina Mandelatz, Provincial, GERMANY.
Change 32.063 Hydra TS7700 IBM reports are replicated in ANALBVIR.
ANALBVIR These reports are completed:
JCLBVIR REPORT DESCRIPTION
Mar 18, 2014 H20VIRT VNODE VIRTUAL DEVICE HISTORICAL RECORDS
Apr 6, 2014 H21ADP00 VNODE VIRTUAL DEVICE HISTORICAL RECORDS
H21ADPXX VNODE VIRTUAL DEVICE HISTORICAL COMBINDED
H21ADPSU VNODE ADAPTOR HISTORICAL ACTIVITY COMBINDED
H21ADPTP VNODE ADAPTOR THROUGHPUT DISTRIBUTION
H30TVC1 HNODE HSM HISTORICAL CACHE PARTITION
H30TVC2 HNODE HSM HISTORICAL CACHE PARTITION (1)
H32TDU12 HNODE LIBRARY HISTORICAL DRIVE ACTIVITY
H32CSP HNODE LIBRARY HIST SCRTCH POOL ACTIVITY
H32GUP&NUM HNODE LIBRARY HIST GUP/POOLING ACTIVITY
Thanks to Joe Babcock, JPMorgan Chase, USA.
Change 32.062 Variables R791PHTA/PHTI/FLG3/FLG3A/R791FLG3S & similarly
VMAC79 variables R792PHTA/PHTI/FLG3/FLG3A/R792FLG3S are kept in
Mar 17, 2014 datasets TYPE791 and TYPE792 respectively. Added in z/OS
2.1, but the 2.1 SMF manual had no vertical bars to mark
the new fields. (IBM acknowledges the error and will fix
for the 2.2 SMF manual.)
Change 32.061 Graphs from two SHARE 2014 Anaheim presentations, Session
GRAFCIMP 15214, "WLM Update for z/OS 2.1 and 1.13" by IBM's Horst
Mar 16, 2014 Sinram, and Session 14745, "WLM - Performing a Quick WLM
Performance Checkup", by Peter Enrico are replicated with
with graphs of CPU resource by importance level and
service class level, and then at the service class level
within importance, plus a scatter graph of performance
index at the importance level with additional scatter
graphs at the service class level within importance. As
a side benefit you can also see how many service class
periods are active at each importance level. The graphs
are produced by PROC SGPLOT; SAS/GRAPH is NOT used.
Example report output can be at viewed at:
Http://www.mxg.com/download/Change 32.061
Change 32.060 %INCLUDE of VMXGUOW was needed in these examples to get
JCLUOW _SUOW and _BSUOW values, but that could cause errors due
JCLUOWP to a conflict executing VMXGUOWC. This change inserts the
JCLUOWV _SUOWxxx and _BSUUOW macro definitions in these members
Mar 16, 2014 to eliminate the %INCLUDE and associated exposure.
Change 32.059 Support for ZEN 2280 product's new CSM records (INCOMPAT,
EXZOSAJB because existing subtype 32 header had inserts).
EXZOSAPO Three new datasets are created:
EXZOSASU dddddd Dataset Description
IMACZOSA ZOSASU ZOSASUMM CSM Summary
VMACZOSA ZOSAPO ZOSAPOOL CSM Per Pool
VMXGINIT ZOSAJB ZOSAJOB CSM per JOB
Mar 14, 2014 -Outstanding issues with first iteration:
SYSTEM variable is blank.
Intervals drift 2 seconds per hour, and are not SYNC
with SMF.
JOB dataset does not have READTIME nor JESNR.
Change 32.058 Thruput Manager INVALID ARGUMENT- TPMPI=INPUT(TPMPICH,1.)
VMACTPMX because the previously expected $EBCDIC1 numeric value of
Mar 13, 2014 importance is now a binary ('03'x) requiring a new test
and conditional input of TPMPI, in dataset TPM16J.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 32.057 z/VM data files for Velocity zXPS, MONWRITE, etc, MUST be
VMACXAM FTP'd with TYPE E specified, which is NOT the default.
Mar 13, 2014 Worse, when the default IS used its value is NOT shown
on the ftp log. The ftp default is TYPE A, ASCII text,
and I was unaware that when TYPE A FTP transfer goes from
one EBCDIC system to another EBCDIC system (e.g. z/VM to
z/OS), it changes from EBCDIC to ASCII and back to
EBCDIC, which leaves the UPPERCASE TEXT unchanged, but
the binary data is mangled. One specific mangle: '64'x
original value becomes '3F'x, so the 100 byte length of
SYTSYP became 63 which caused MXG ERROR messages. This
change tests for a length of not-100 and issues a USER
ABEND 666 to report the wrong FTP TYPE was used.
Using MODE BLOCK is also recommended for these ftp's.
Thanks to Wang Zahn, AIG, USA.
Thanks to Rob van der Heij, Velocity Software, EUROPE.
Change 32.056 CANNOT CLONE BUFFSIZE warnings during PROC COPY might be
VGETOBS bad for execution EXCPs and run time, and this could have
Mar 13, 2014 been caused by VGETOBS, under unusual circumstances, when
it made a bad decision and issued a LIBNAME statement for
a sequential-format-on-disk instead of normal disk. This
could happen on z/OS only, only if the dataset had never
been opened for output, and VGETOBS was issued against
the DDNAME, AND, there are tape datasets allocated to the
job, and this can only happen on the very first invoke of
VGETOBS when it reads all LIBNAMEs to identify those on
tape/sequential format. Now, VGETOBS recognizes that the
DDNAME is not SAS or at least has not been opened and it
does NOT issue a LIBNAME statement.
Note: A SAS data library in sequential format on disk
does not have a directory, so SAS must read all
records from the start to find a dataset.
Thanks to Paul Volpi, UHC, USA.
Change 32.055 -RMF III Enhancements, Fixes, and Notes
ADOCRMFV -A new generic RMF Monitor III table selection parameter
ASMRMFV BASIC is supported. This is a convenient shorthand
Mar 12, 2014 method to select RMF III tables of most common general
Mar 14, 2014 interest and usage. There is no alias for BASIC.
Mar 30, 2014 BASIC selects these RMF III tables:
ASI CAT CPC CPU DVT ENC GEI OPD RCD
-A new generic RMF Monitor III table selection parameter
MOST is supported. This is a convenient shorthand method
to select all possible tables of any practical value.
There is no alias for MOST.
MOST includes all the tables selected by BASIC and in
addition selects these RMF III tables:
CFI CPD CSR ENT SPG SVP.
-NOTE: All other RMF III tables may still be selected or
filtered even when BASIC or MOST is specified to achieve
other useful table selection combinations.
For example, these PARM values in JCL (or alternatively
in the SYSIN DD file) are all valid:
PARM='BASIC,CPD,CSR' Add CPD and CSR to BASIC set
PARM='BASIC,NODVT' Exclude DVT from BASIC set
PARM='MOST,NOSPG' Exclude SPG from MOST set
-Recent information obtained indicates that the Invalid
Resource bit may be set for Processor entries in the RED
table in a MINTIME interval due to normal processor
change events. So these are not true RED table errors.
Operation is changed for RED Processor entries only so
that when the RED table is selected and the Invalid
Resource bit is on, then the entry is still skipped, but
no error messages are now issued, and the Return Code is
left unchanged. Prior to this change error messages were
generated and Return Code 0016 would be set. Error
handling for other types of RED entries is unchanged.
-The behavior for the 'ALL' table selection parameter was
changed in Change 32.037 so that it overrode any NOxxx
table filter options regardless of input order. However,
this was inconsistent with the operation when 'ALL' was
default because only NOxxx filters were coded. Those in
effect did override 'ALL', but this change restores the
earlier behavior so that any NOxxx filter parameters will
be honored even when 'ALL' is coded. No further behavior
changes are planned for this condition.
-Change 32.037 also altered the behavior when both NOxxx
table filter and table xxx selection parameters were used
for the same table. The xxx table selection parameter
always overrode the NOxxx table filter parameter
regardless of input order. This change reverses that
behavior so the NOxxx filter parameter always overrides
the xxx selection parameter for the same table. No
further behavior changes are planned for this condition.
-NOTE: Please do not select AND filter on the same RMF
Monitor III table in the same ASMRMFV run to avoid
unintended results.
-Documentation in the ASMRMFV source prologue and in the
ADOCRMFV member has been updated appropriately.
-When validating a large RMF III CFI table and a section
offset exceeded X'FFFF', the calculation for the output
CFI record length was incorrect. The entire CFI table was
then skipped because the result record length was over
32K. Message RMFV035S was issued followed by Return Code
0016. The register used in the length calculation is now
cleared prior to inserting each half word section length
for validation so that the CFI table is not skipped.
-Updated documentation content, and mixed casing as well!
-REQUIREMENT: In order to implement this fix the current
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Warren Cravey, Fidelity Institutional, USA.
Change 32.054 Variables SMF70CPA_SCALING,SMF70CPA_ACTUAL were input two
VMAC7072 bytes to the right, producing very large numeric values,
Mar 10, 2014 but the SCALING/ACTUAL ratio, now SMF70CPA_RATIO was the
same! The new z/OS 2.1 RATIO is used instead of raw-CPA
to calculate the SMF70CPA Service Unit Per Second value:
New: SMF70CPA=16000000*SMF70CPA_RATIO
Old: SMF70CPA=16000000/SMF70CPA-in-Record
So the new ratio is the inverse of the RMCTADJC, almost:
Raw CPA=423 1/423=.002364066 ==> SMF70CPA= 37825.059
SMF70CPA_RATIO =.002364590. 37833.440
The raw-CPA is an integer, which limits the granularity
of SMF70CPA value. Integer 424 sets SMF70CPA=37914.692
so the exact 37833 value cannot be set with raw-CPA. Now,
since RATIO is a fraction, any numeric value can be set
for SMF70CPA in future engines. The numeric difference
is small, but with this change, for z/OS 2.1, SMF70CPA
is now calculated using the SMF70CPA_RATIO value.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 32.053 Compression ratios SMF21CRR/SMF21CRW are now calculated
VMAC21 for non-3590 devices, using these existing variables:
VMAC21 SMF21CRR=BYTEREAD/SMF21MDR;
VMAC21 SMF21CRW=BYTEWRIT/SMF21MDW;
VMAC21 For 3590s, note that:
Mar 10, 2014 -Bit SMF21NCT is on ONLY for 3590s and inputs the channel
and device bytes read/written SMF21BRN/BWN/DBR/SMF21DBR
variables, now used for the compression ratio.
-Bit SMF21MFV is NOT on for 3590s, so the previous counts
of bytes read/written/compressed will always be missing
for 3590s in variables SMF21MCR/MDR/CRR/MCW/MDW/DRW.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 32.052 Support for SMF 112-35 Tivoli Enterprise Monitor Server
EX112TEM record creates new dataset
IMAC112 dddddd dataset description
VMAC112 112TEM T112TEMS Tivoli Enterprise Monitor Server
VMXGINIT There are also subtypes 32 thru 37 that may be supported
Mar 10, 2014 in a later update to this change.
Thanks to Michael Oujesky, DTCC, USA.
Change 32.051 Test added to SUOWMQ macro to check for MQMADD value of
VMXGUOW NO to bypass reading the CICUOW dataset. This will let
VMXGINIT you set _UOWCIC to _NULL_ and save a lot of WORK space by
Mar 9, 2014 eliminating the creation of a dataset that is ONLY used
if you also have MQ data and have specified MQMADD=YES.
Change 32.050 RMF III datasets ZRBRCDS (Service Class) and ZRBRCDR
VMACRMFV (Report Class) did not contain the five CPUxxxTM values
Mar 8, 2014 (TCB/SRB/RCT/HPT/IIP), suggesting these RMF III datasets
were seldom used, because the same data exists in RMF I
TYPE72GO dataset. They are now created so that I could
compare the CPU times captured by RMF I, RMF III and SMF.
See MXG Technical Newsletter 64 MVS Technical Note 1.
Change 32.049 Added a WHERE= parameter for the PRINT, MEANS, FREQ, and
VMXGPRAL COMPARE procedure executions so you can insert the SAS
VMXGPRA1 code in a WHERE clause to select what will be analyzed or
VMXGPRNT printed.
Mar 5, 2014
Change 32.048 Protection for invalid SMF 6 record (JCTJOBID vice JOB)
VMAC6 that printed INVALID PRINTIME messages, while the source
Mar 4, 2014 of the invalid records is investigated.
Change 32.047 Support for (E)JES Version 05.40 SMF Record, restructured
VMACEJES to match the standard SMF record structure with triplets
Mar 4, 2014 (Offset/Length/Number) for the three segments of data.
Apr 17, 2014 New variables ESMFCNSR ESMFCNCO ESMF5NSF ESMF5NCF added.
MXGEJES Member MXGEJES is a standalone MXG code execution that is
Jun 16, 2014 provided to Phoenix International (to encourage their
users to consider MXG Software).
Thanks to Ed Jaffe, Phoenix Software International, Inc., USA.
Change 32.046 Support for XCOM 11.5 AND 11.6 (INCOMPATABLE). Records
FORMATS were restructured and MXG code revised to match. Formats
VMACXCOM $MGXCMST and $MGXCMFO now decode STATFLGX and FILEOPT.
Mar 3, 2014 A new segment contains the SMS DATA/MGMT/STORE classes.
Mar 25, 2014 Mar 25: Code corrected, revised for new variables.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.045 Support for MQ PCF Files creates new dataset:
EXPCFMD
IMACPCF dddddd dataset description
TYPEPCF PCFMD PCFMD PCF MD Record
TYPSPCF
VMACPCF
VMXGINIT
Feb 28, 2014
Thanks to Peter Farrell, Commerce Bank, USA.
Change 32.044 Unused Change Number.
Change 32.043 Support for SMF Record ID=87, GRS Component information
EXTY87 creates new dataset:
IMAC87 dddddd dataset description
TYPE87 TY87 TYPE87 GRS Component
TYPS87
VMAC87
VMXGINIT
Feb 27, 2014
Thanks to Graham Harris, Royal Bank of Scotland, ENGLAND.
====== Changes thru 32.042 were in MXG 32.02 dated Feb 26, 2014=========
Change 32.042 New summary report created if requested. New parameter
ANALID PRINTWHAT= added with default of BOTH. Other possible
Jan 24, 2014 values are DETAIL for the detail report or SUMMARY to get
only the SUMMARY report. For the summary report the data
is summarized to the SMFIDSUB level.
Change 32.041 The OUTPUT MCD; statement was missing; it is now inserted
VMXGHSM in line 1797.
Feb 26, 2014
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Change 32.040 TMON/VTAM vendor maintenance now populates fields so they
VMACTMVT can be properly decoded/documented. Variables SXORTTD and
Feb 25, 2014 SXORTT are now decoded and formatted as TIME13.3, and the
Feb 27, 2014 SXHRT1D/2D/3D/4D/5D are now labeled INTERVAL vs TIME.
Thanks to Paul Volpi, UHC, USA.
Change 32.039 A MAJOR restructure of BVIR/TS7700/HYDRA support and new
ANALBVIR IBM-reports in ANALBVIR/JCLBVIR will likely require you
EXBVR011 to revise your reporting, but you will no longer have the
EXBVR101 thousands of previous variable names, as the restructure
EXBVR111 creates the "subtype" dataset (EG: BVIR30) with only the
EXBVR301 header variables for that subtype, and repeated segments
EXBVR321 are output in a new dataset (EG: BVIR301), with only ONE
EXBVR322 set of variable names. A few variables names were changed
EXBVR324 and the new reports have been validated against IBM's.
EXBVR331 -In an emergency for an old report, member ZMACBVIR is the
IMACBVIR prior BVIR support structure that can still be used for
JCLBVIR now, but it will NOT be updated nor supported for future
VMACBVIR changes to the BVIR data records. REMOVED JAN 2015.
VMXGINIT -This was a MAJOR update, contributed by Joe; the other
cites are for the Early Adopters who helped in testing.
Feb 25, 2014 -These are now the datasets created from BVIR data:
Feb 28, 2014
Mar 2, 2014 DDDDDD MXG MXG
Mar 8, 2014 DATASET DATASET DATASET
Mar 11, 2014 SUFFIX NAME LABEL DESCRIPTION
Mar 14, 2014 BVIR01 BVIR01 VNODE VIRTUAL DEVICE PIT
Mar 17, 2014 BVR011 BVIR011 HNODE GRID (PIT) CLUSTER
Mar 25, 2014 BVIR02 BVIR02 VNODE ADAPTER POINT IN TIME
BVIR10 BVIR10 HNODE HSM POINT IN TIME
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL DESCRIPTION
BVIR01 BVIR01 VNODE VIRTUAL DEVICE PIT
BVR011 BVIR011 HNODE GRID (PIT) CLUSTER
BVIR02 BVIR02 VNODE ADAPTER POINT IN TIME
BVR101 BVIR101 HNODE HSM PIT PHYSICAL DEVICE
BVIR11 BVIR11 HNODE GRID POINT IN TIME
BVR111 BVIR111 HNODE GRID (PIT) CLUSTER
BVIR20 BVIR20 VNODE VIRTUAL DEVICE HISTORY
BVIR21 BVIR21 VNODE ADAPTER HISTORY
BVIR30 BVIR30 HNODE HSM HISTORY
BVR301 BVIR301 HNODE CACHE CONTAINER/PARTITION
BVIR31 BVIR31 HNODE RESERVED
BVIR32 BVIR32 HNODE LIBRARY HISTORY
BVR321 BVIR321 HNODE LIBRARY DEVICE TYPE
BVR322 BVIR322 HNODE LIBRARY POOLING CSP MEDIA
BVR323 BVIR323 HNODE LIBRARY POOLING GUP
BVR324 BVIR324 HNODE LIBRARY POOLING GP MEDIA
BVIR33 BVIR33 HNODE GRID HISTORY
BVR331 BVIR331 HNODE GRID CLUSTER
Updates made after MXG 32.02:
Feb 26:
-The variable DEVCLASS was renamed DEVCLSID due to
conflict with existing 30 and 74 name DEVCLASS, and the
variable DVCLASID was renamed to DEVCLSID as only one
name is needed. Format $MGB32DC was merged into and
replaced by $MGB10DC.
-Some formats for BVIR bit map ranges were corrected.
-SCRVOLCT added to _BBVR324 BY list.
-ADOCBVIR updated with why NODUP won't 50% remove.
-Feb 28:
Dateparts in BVIR21 and BVIR31 were two years
wrong - I had moved their calculation to the header,
but had left the recalcs in those two subtypes.
-Mar 2:
The loop counter to read the GUP Container Segments only
read the first four of the thirty-one segments, so obs
were not created in BVIR323 and BVIR324.
-But dataset BVIR323 was output twice incorrectly!
-Lengths of FORMATTED character variables are now set.
-Mar 8:
Variable POOL was added back into BVIR323 and to its BY
list. I revised Joe's code and used _I_ for loop where
the loop variable is not kept, but I messed up this one.
-Mar 11:
Corrections to examine all 32 entries in the POOL loop.
Two new fields, POOL to the GUP and POOL and MEDIA to
BVIR323 and BVIR324 datasets respectively.
A lost pad to the container to bring it to 16 bytes.
With this change, all prior problems are resolved!!!
-Mar 14:
Type 30 code needed to skip some bytes for BVIRVERS=3.
-Mar 17:
Type 20 records BVIRVERS=5 with only 192 bytes caused
INPUT EXCEEDED. Rest revised to verify data exists
for V5 and remainder of skip bytes were removed as there
is only one 20 record.
-Mar 25: There are lots of "null" segments ('00'X for the
ID and/or sum of metrics zero) in BVIR records that not
only wasted space but also were the NODUP culprits. Now
only segments with activity or valid IDs are output,
massively reducing the number of observations. Selection
code added to EXBVR321-322-324-331 exit members, except
that the test for POOLACTV GT 0 is internal to VMACBVIR
because it is also used to terminate the pool loop.
-POOLACTV is tested for these datasets, plus
BVIR321 when DEVCLSID GT '00'X
BVIR322 when MEDATYPE GT '00'X
BVIR324 when PYMDID GT '00'X
BVIR323 when POOLACTV (SUM of Metrics) GT 0
-BVIR331 output when BVIR331ACTV GT 0 (Sum of Metrics)
-Resulting dataset observation counts:
BVIR20,30,31,32,33,301,321 8826 obs
BVIR322 44130 obs
BVIR323,324 26478 obs
BVIR331 7614 obs
Thanks to Joe Babcock, JPMorganChase, USA.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Dan Case, Mayo, USA.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.038 The IMS56FA dataset can have IMSSTCK incorrect when there
VMACIMS was no GMTOFFTM in a prior record; the LINK IMSSTCK in
Feb 24, 2014 56FA logic was prior to the input of the first 12-byte
Mar 17, 2014 character timestamp, from which DEC and then GMTOFFTM can
Mar 23, 2014 be decoded. The LINK for 56FA was located to after that
first DEC value is known; once GMTOFFTM has been created,
its value will be retained.
Mar 17: IMSSTCK links for log records 01x,03x,06x were
mis-located prior to the creation of GMTOFFTM; only if
those records were prior to other GMT-Offset-containing
records, the GMTOFFTM was missing and IMSSTCK was then
not corrected to local time zone.
Mar 23: END; relocated from IMSSTCK: to before LCODE=55.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.037 -RMF III Enhancements, Fixes, and Notes
ADOCRMFV -A second RMFV008I message is added for non-VSAM data sets
ASMRMFV such as the RMFBSAM and SYSIN DD files that will show DCB
CLRMFV attributes DSORG, RECFM, LRECL, BLKSIZE, BUFNO, and
DOCLRMFV BUFSP.
JCLRMFV -A second RMFV008I message is added for RMF Monitor III
JCLCRMFV VSAM data sets that will show ACB attributes DSORG,
JCLDRMFV LRECL, CISIZE, BUFNO, BUFSP, and Record Count.
Feb 23, 2014 -NOTE: The number of VSAM records read for any one
Feb 24, 2014 particular RMF Monitor III data set will usually exceed
Feb 26, 2014 the number of records in the file. This is because a
physical record may contain data from more than one
MINTIME interval and data is processed one MINTIME
interval at a time.
-NOTE: The BUFNO and BUFSP values for all RMF Monitor III
data sets will be the same because they share a common
VSAM LSR buffer pool.
-Data set and DCB information will now also be shown for
the non-VSAM SYSPRINT DD file.
-BUFNO=20 was always assigned for the SYSIN DD file.
However, when the SYSIN DD file is blocked this wastes
memory because usually this file has few records. When a
blocked SYSIN file is detected a value of BUFNO=2 will be
assigned.
-When NOxxx table filtering options were mixed with xxx
table selection options, ASMRMFV incorrectly turned on
selection for all tables when the first xxx table option
was encountered.
-The NONE option to suppress all output is now obsolete.
This option was inflexible; it did not allow RMF Monitor
III table selection and/or filtering. Results were also
incomplete as no output statistics were shown. So it
was not very useful nor was its usage easily understood.
If NONE (or any of its aliases) is coded it is ignored
with no action taken and no error messages issued.
-The alternative to the defunct NONE option to preview
what might be output by ASMRMFV with user specified
selections and/or filters in effect is to simply code
in JCL:
//RMFBSAM DD DUMMY
or
//RMFBSAM DD DSN=NULLFILE
Either tells the access method to suppress the RMFBSAM
output. In either case RMFBSAM will be empty and cannot
be used for a PDB build.
-The CLRMFV Clist used in the TSO Clist Method for
running ASMRMFV has been upgraded to accept NULLFILE
as a value for the OUTHLQ Clist parameter.
When OUTHLQ('NULLFILE') is coded the RMFBSAM file will be
allocated as DSN=NULLFILE thus also providing an
alternative to the obsolete ASMRMFV NONE option.
OUTHLQ('DUMMY') can also be used.
In this case the SPACE Clist parameter is forced
to zero and the OUTMLQ and OUTLLQ Clist parameter
settings are irrelevant.
-With RMFBSAM output suppression the result is useful
to determine how many bytes of output will be generated
with the selection and/or filter options used. Also
decisions can be made as to which tables should be
selected for a future PDB build based on data volume.
Then the actual RMFBSAM file can be realistically sized
later for allocation. Be sure to review ASMRMFV messages
RMFV105I to study the output data statistics including
bytes output.
-JCLRMFV, JCLDRMFV, and JCLCRMFV example members are
each updated to include an example with RMFBSAM output
suppression.
-The DOCLRMFV documentation for CLRMFV Clist usage has
been updated with current information.
-Documentation in the ASMRMFV source prologue and in
the ADOCRMFV member has been updated to note that
the NONE parameter is obsolete and to explain the
alternative use of DSN=NULLFILE for RMFBSAM.
-Removed residual extraneous characters in the first
RMFV002I message when no PARM= field existed in JCL.
-NOTE: The ASMRMFV SIZE parameter is still supported and
also produces no RMFBSAM output regardless of JCL for
that file. When SIZE is coded all selection and/or
filtering parameters are ignored. SIZE shows a
snapshot of RMF Monitor III VSAM file allocations as
well as space and index usage.
-NOTE: If the ALL table select ASMRMFV option is coded it
overrides any other table select or table filter options
that may be present regardless of input order.
This is a new behavior with this change. Prior to this
change NOxxx table filter options would override the
coded 'ALL' value. This is no longer the case.
Please do not code 'ALL' when using NOxxx table filter
options to avoid unintended results.
-NOTE: If an xxx table select and an NOxxx table filter
are coded for the same RMF III table the table select
option for this table now always overrides the filter
option regardless of input order.
This is a new behavior with this change. Prior to this
change the last option encountered for the same table
would be effective. This is no longer the case.
Please do not select and filter on the same RMF Monitor
III table in the same ASMRMFV run to avoid unintended
results.
-REQUIREMENT: In order to implement this fix the current
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to H. Sterling James, DST Systems Inc.
Change 32.036 MXG developer utility used when creating a new dataset to
UTILNODU determine the sufficient list of variables needed in the
Feb 21, 2014 new _Bdddddd By List macro that will remove duplicate
observations with the PROC SORT NODUP option (invoked in
BUILDPDB, or the TYPSxxxx "sorting" types, or by the use
of the _Sdddddd dataset sort macro.)
The initial "logical" _Bdddddd is created based on what
seems to be useful order (e.g. READTIME JOB JESNR for a
job related dataset). Then, the input data file is read
twice, the dataset is created and sorted by _Bdddddd, and
then the count of observations deleted as duplicate in
the PROC SORT log messages must be exactly one-half of
the observations read by the sort. If that is not true,
an ad hoc approach was used to find the additional vars
needed. This utility sorts the dataset twice, once with
the original _Bdddddd and a second time with BY _ALL_,
and the unmatched observations, those NOT deleted, are
printed for easy identification of needed variables.
Unlikely an MXG user will ever need this, but someday
someone will be happy to find it if that is their task.
Change 32.035 Websphere ID=120 Subtype=9 datasets TYP1209C, TYP1209E
VMAC120 TYP1209S and TYP1209U had incorrect BY variable that
Feb 18, 2014 did not remove duplicates and caused DELTA120TM to be
always missing. Variables SM1209CR SM1209CS and SM1209CM
are added to those datasets, and the new sort order are:
MACRO _BT1209C
SYSTEM SMFTIME SM1209CR SM1209CS SM1209CY
SM1209EM SM1209CM %
MACRO _BT1209E
SYSTEM SM1209CR SM1209CS SM1209CH SM1209CM %
MACRO _BT1209S
SYSTEM SMFTIME SM1209CR SM1209CS SM1209CY
SM1209EQ SM1209CM %
MACRO _BT1209U
SYSTEM SMFTIME SM1209CR SM1209CS SM1209EY
SM1209FA SM1209CM %
Thanks to Wayne Bell, UNIGROUP, USA.
Change 32.034 These examples could have failed with SYSTEM 413-18 ABEND
JCLUOWP because the CICSTRAN DD was being opened for read by
JCLUOWV VMXGUOWC before the CICSTRAN had been written. Relocated
Feb 17, 2014 the %INCLUDE of VMXGUOW to correct.
Change 32.033 Support for XPTR 5.2 creates these 23 new datasets:
EXXPTR23 dddddd dataset description
EXXPTR24 XPTR23 XPTR23 X/TND USER DISCONNECT
EXXPTR25 XPTR24 XPTR24 X/NET COMMAND PROCESSED
EXXPTR26 XPTR25 XPTR25 API TRANSACTION
EXXPTR33 XPTR26 XPTR26 API SUMMARY
EXXPTR34 XPTR33 XPTR33 MIGRATION DETAIL
EXXPTR52 XPTR34 XPTR34 STORAGE POLICY TARGETS
EXXPT104 XPTR52 XPTR52 USER REQUEST TRACKING
EXXPT106 XPT104 XPTR104 JOB ACCUMULATION
EXXPT107 XPT106 XPTR106 JOB ACCUMULATION WITH RENAME
EXXPT109 XPT107 XPTR107 ARCHIVE CREATED
EXXPT112 XPT109 XPTR109 REPORT ACCUMULATION
EXXPT113 XPT112 XPTR112 REPORT BROWSE
EXXPT118 XPT113 XPTR113 USER COMMAND
EXXPT120 XPT118 XPTR118 X/PTR DETAIL OUTPUT RECORD
EXXPT124 XPT120 XPTR120 NEW REPORT
EXXPT130 XPT124 XPTR124 XNET COMMAND PROCESSED
EXXPT131 XPT130 XPTR130 ARCHIVAL RETRIEVAL COMPLETED
EXXPT132 XPT131 XPTR131 ARCHICE DETAIL
EXXPT133 XPT132 XPTR132 TEST FILE SPACE RELEASE
EXXPT140 XPT133 XPTR133 MIGRATION DETAIL
EXXPT152 XPT140 XPTR140 VSAM BUFFER STATISTICS
EXXPT153 XPT152 XPTR152 USER REQUEST TRACKING
IMACXPTR XPT153 XPTR153 REPORT VERSION DELETE
VMACXPTR -Some minor issues: there are duplicate records
VMXGINIT written for subtype 41 and 50, and the date of the
Feb 21, 2014 SUBMTIME in subtype 130 is 2005.
-BY lists for earlier datasets have been updated and
all datasets with data have been "NODUP" validated.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 32.032 -DB2STATS variable QISTWMQM was always zero because it was
VMACDB2 incorrectly deaccumulated when it's a static ZPARM value.
VMAC102 -T102S371 variables QW0371CL and QW0371DA were 1000000 too
Feb 18, 2014 large, as the input was &PIB.8. instead of &PIB.8.6.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 32.031 RMF TYPE748 ESS Subtype 8 datasets completely revised.
EXTY748I -The existing TYPE748 dataset had an observation for every
EXTY748L LINK, instead of just one observation per CUSERIAL. R748L
EXTY748P variables are moved to the new TYPE748L Link dataset.
IMAC74 IBM print 12 digits for CUSERIAL on RMF reports, but that
VMAC74 field is only 10 characters in the subtype 8 record, so
VMXGINIT match on CUSERIAL failed. Extra 00 characters added.
Feb 14, 2014 -The new TYPE748L Link dataset is created with one obs per
Feb 17, 2014 CUSERIAL and R748LAID Link Adapter ID.
-The TYPE748R RANK dataset and TYPE74A RANK ARRAY dataset
are now merged by CUSERIAL R748RRID (Rank Raid ID) to
create the new PDB.TYPE748I "ID" dataset with R748rXID
(Extent Pool) for the detail ESS RANK STATISTICS report.
Unfortunately, the Raid Rank Level can NOT be mapped back
to the logical VOLSER of the I/O.
-In addition, _STY748I also sums the TYPE748I dataset by
CUSERIAL R748XPID to create the Extent Pool Sums in the
new PDB.TYPE748P "EXTENT POOL" dataset.
-Dataset TYPE748X is unchanged.
Thanks to Patricia J. Jones, DST Systems, USA.
Change 32.030 -ASMRMFV execution could fail with RMFV035S >>>>SEVERE
ASMRMFV 1 RED TABLES SKIPPED DUE TO INVALID ID OR FLAG error
Feb 13, 2014 and the program could loop due to an outdated branch in
the DETAIL subroutine when one or more RMF III table
errors were found. The errors detection was valid but
the recover and notification looped.
-REQUIREMENT: In order to implement this fix the
current ASMRMFV utility program from this MXG change
must be installed. See MXG SOURCLIB member JCLASM3 for
sample JCL for the assembly and link-edit install steps.
Thanks to Andre Gustavo Moretto, IBM Global Services, BRAZIL.
Change 32.029 -VMXGPRAL print utility ERROR 72-322: Expecting a ). after
VMXGPRAL a DATA _NULL_ step highlighting this statement:
Feb 12, 2014 SYMPUT("OBS&I",PUT(NOBS,12.); that's missing the paren.
-COMPBL HAS TOO MANY ARGUMENTS if the DATASET LABEL that
is now printed with the DATASET name has a comma. The
commas are removed in VMXGPRAL to circumvent, but See
Change 32.005 - commas to be removed with DATASET LABELs
added to that planned list.
Thanks to Paul Volpi, UHC, USA.
Change 32.028 Protection for BETA93 truncated SUBTYPE=51 record that
VMACBETA caused INPUT STATEMENT EXCEEDED because LOCFIELD+BETAFLEN
Feb 10, 2014 (offset plus length) exceeded the record length. In this
specific record, there were two valid segments that were
output but the third segment was truncated so only the
first two segments were output.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 32.027 MXG 32.01. INVALID DB2 10.1 HEADER RECORDS, DELETED,
VMACDB2H if the DB2 APAR PM62481, a 2012 APAR that added the
Feb 11, 2014 QWHSAACE field to the QWHSTYP=2 Header Segment, is NOT
installed, because when Change 32.002 INPUT that field,
it was not from the APAR, but last month when I saw that
it was in DSNDQWAC for DB2 V10 and had been overlooked,
and I assumed it was always present by testing for the
QWHSRELN GE 10.2, and ran the MXG DB2 QA with 15 site's
data and no errors. Today, two sites, Australian and
USA, reported the error message and sent data with
QWHSLEN=156, instead of the 164 byte expected with the
field present.
-May 2014: This MXG 30.01 ERROR MESSAGE (yes 30.01!!):
**VMACDB2.ERROR. INVALID IBM TYPE 101 RECORD DETECTED.
YOU MUST INSTALL IBM APARS PN56441 AND PN63234....
was also corrected with this updated VMACDB2H.
(Those APARs were from 1994!).
-MXG input logic was revised to use actual segment lengths
and not the version number to detect the existence, which
then required the creation of QWHCEXTRA with the count of
bytes added for the "truncated" name fields, so it could
be subtracted from QWHSLEN to get the actual length of
the base segment to know for certain if QWHSAACE exists.
With this much time and effort to diagnose and resolve,
at least the new QWHCAACE field may be worth it:
QWHCAACE is zero if the IFCID is written outside of an
accounting interval. Otherwise it will contain a value
that can be correlated to QWHSACE in the IFCID3/DB2ACCT
accounting record. For DDF/RRSAF rollup accounting
records, QWHCAACE should be correlated to QWARACE as the
record will represent multiple transactions. For
parallel tasks, QWHCAACE will point to the ACE of the
parent task.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 32.026 TRNDRMFI could fail if all possible 114 workloads were
VGETWKLD defined in your RMFINTRV dataset, because the limit of
VMXGRMFI 64K bytes of text for a macro variable was exceeded.
VMXGSUM Each of these potentially-large macro variables are now
Feb 7, 2014 created by writing text to FILE INSTREAM as old-style
Feb 10, 2014 macros so the macro variable only contains the old-style
Feb 18, 2014 name; see Change 31.288. Additional macro logic also
reduced size of some other macro variables, and to also
circumvent the 262-byte limit between quotes.
-VMXGSUM was also revised to minimize the size of macro
variables it creates, by calling SYSFUNC to invoke COMPBL
to remove duplicate blanks, but because the argument can
be blank, causing a TOO FEW ARGUMENTS FOR COMPBL error,
%LET ALLVARS=%SYSFUNC(COMPBL(%STR(&ALLVARS &MIN)));
was needed to avoid that (harmless) error message.
-VGETWKLD: the lists in WORKLOAD, NEWLABL, STRING are now
TRIMed before APPEND to reduce text length, and protect
for blank labels added.
====== Changes thru 32.025 were in MXG 32.01 dated Feb 6, 2014=========
Change 32.025 CPUCRPTM, CPU TCB+SRB during CHRONIC CONTENTION was wrong
VMAC30 as the second multiply by 1024 was incorrect. Fortunately
Feb 6, 2014 this is a standalone CPU metric added in Version 26 that
has obviously not been examined previously!
Thanks to Leonard Jejer, MorganStanley, USA.
Change 32.024 RMFINTRV created with a large number of workloads could
VGETWKLD cause TRNDRMFI to fail because the wrong dataset was
Feb 6, 2014 SORTED. PROC SORT DATA=WORKLOADS corrected this error.
Thanks to Wayne Bell, UNIGROUP, USA.
Change 32.023 Support for IMS LOG Record 06 creates IMS06 dataset, to
ASMIMSL6 track IMS startup/shutdown/other conditions.
EXIMS06
FORMATS
IMACIMS
VMACIMS
VMACIMSA
VMXGINIT
Feb 5, 2014
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.022 Support for CA XCOM Version 11.6 INCOMPATIBLY changed the
VMACXCOM SMF record. This updated VMACXCOM supports both 11.6 and
Feb 5, 2014 11.1, transparently.
Thanks to Claudio Zanon, Phoenix, ITALY.
Change 32.021 Change 31.285 was removed. The FILENAME INSTREAM added
VMXGINIT in VMXGINIT, to eliminate the need for //INSTREAM, fails
Feb 4, 2014 if you used it, for example, to write date macros in one
job and then use %INCLUDE INSTREAM in all your report
jobs to instantiate that code, a quite reasonable thing
to do. Unfortunately, the FILENAME INSTREAM CATALOG fails
on the %INCLUDE because it was never opened for output so
it doesn't exist, and using FILENAME INSTREAM TEMP also
fails, but without error: the TEMP is included instead of
the //INSTREAM DD that you wanted to %INCLUDE.
Thus an INSTREAM DD/FILENAME is still be required by MXG.
Another symptom of the need for the new VMXGINIT are
these log messages:
ERROR: CATALOG WORK.MXGTEMP DOES NOT EXIST.
ERROR: CANNOT OPEN %INCLUDE FILE INSTREAM.
Thanks to Arylon Brooks, Verizon Wireless, USA.
Thanks to Nick Bubica, Verizon Wireless, USA.
Thanks to Stephen K. Simon, Verizon Wireless, USA.
Change 32.020 MIPFACTR set to a null string and logic was inserted to
GRAFWRKX base the MSU to MIPS factor on the CPCFNAME variable so
Feb 1, 2014 that GRAFWRKX will automatically reflect the MIPS on the
current machine. The MSU chart reflects MSU consumed
during the period and the MIP chart reflects the MIPS
of capacity consumed during the period. MIPFACTOR can
be overridden with a value of your choice. The values
used by default are:
2097 - 6.5 2098 - 6.5 2817 - 8
2818 - 8 2827 - 8 2828 - 8
Change 32.019 -READDB2 did not always use LDB2ddd override, and &PDBOUT
ANALDB2R option logic was restructured with better documented
ANALDBTR possible values: UNIQUE, YES, PDB/XXXX, NULL/WORK.
ANALTURN Now, WANTONLY will be honored when specified for ACCTs.
READDB2 -Fixing READDB2 uncovered an error in ANALDB2R where the
Feb 4, 2013 datasets were created in PDB, but report expected data
in WORK.
-ANALDBTR. Restructured and revised and corrected, mostly
preventing spurious "THE STRING" messages that only were
printed when there were multiple ANALDBTR invocations
(e.g., when ALL POSSIBLE reports are executed).
-ANALDB2R. Similar restructure and cleanup with heavy
testing with ALL reports and with DATA for all reports.
-ANALDB2R. Reports IOS SQL LOK TRN may not be correct with
PDB=SMF,PDBOUT=WORK (or no PDBOUT=) but they are fine if
PDB=SMF,PDBOUT=PDB (or any XXX DDNAME). I may choose to
leave it this way for these extremely detailed and seldom
used reports, since the repair would be VERY tedious and
there's no cost to using PDBOUT= PDB with PDB temporary.
-ANALDB2R. Requirement for PDBOUT=PDB to be specified for
PMTRC01 Trace Report was never documented but now is no
longer required with revision of the READDB2 logic to set
the output destination for the T102Snnn based on PDBOUT.
-UNRELATED, BUT: CAUTION FOR THE USE OF DATASET VIEWS:
Discovered in QA test when ANALTURN created WORK.STATS
that was left in WORK, and then 30 steps later, ANALDB2R
failed when it tried to create WORK.STATS/VIEW: you CAN
NOT create a dataset view named X if there already is a
dataset named X. This has NOT been an actual problem at
customer sites, but MXG View names are not documented and
you could create an accidental conflict in your programs
that only shows up when you subsequently execute MXG code
that happens to use that dataset name. Fortunately the
error message text makes it clear what dataset name YOU
have to change in YOUR code.
ANALTURN now deletes WORK.STATS.
Change 32.018 Unused Change Number.
Change 32.017 A mislocated RUN; statement cause VMXGPRNT and VMXGPRAL
VMXGPRNT to fail with a 180 syntax error pointing to LABEL.
Jan 29, 2014
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 32.016 DB2 Netezza variable Q8STNAME, Accelerator Server ID, was
VMACDB2 not kept in PDB.DB2STATS dataset; its offset was read in
Jan 29, 2014 but then the field was never input.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.015 Cosmetic. Variable ACTHNODE was set to blank or 'Y' but
VMACBVIR it incorrectly was formatted $HEX2. so the 'Y' printed as
Jan 29, 2014 'E8'X. Now the Y will be printed as a Y.
Thanks to Keith McWhorter, IBM Global Technology Services, USA.
Change 32.014 Variable CPUUOWTM incorrectly (now) included DB2TCBTM, as
VMXGUOW that WAS correct back when VMXGUOW was written, but that
Jan 29, 2014 changed in CICS/TS 3.2 with the OTE Environment when the
DB2TCBTM was added into the TASCPUTM in CICSTRAN, so the
equation is now CPUUOWTM=SUM(CPUTM,CPUMQMTM);
Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.
Change 32.013 Create $PLOTCHAR to map one character from SYSTEM name to
VMXGPLCH be used as the "Z-AXIS", the third position variable, in
Jan 28, 2014 PLOT statements so each point is identified to SYSTEM.
%VMXGPLCH(DATASET=PDB.YOURS,VARIABLE=SYSTEM,POSITION=4);
RUN;
PROC PLOT DATA=PDB.YOURS;
PLOT X*Y=SYSTEM;
FORMAT SYSTEM $PLOTCHAR.; <== add in your report code
RUN;
An example in comments shows how to store the formatted
value back into SYSTEM, so that your existing reports do
not need to have that FORMAT statement inserted.
Thanks to Sam Bass, McLane Co., USA.
Change 32.012 Many new spurious MXGWARN: DATASET xxx.yyy DOES NOT EXIST
VGETOBS messages (BUILDPDB for ALL of the PDB.CICxx statistics
Jan 28, 2014 datasets read to create CICINTRV, i.e. where VMXGWORL
calls VGETOBS first for PDB and then for WORK to find the
"_L" or "_W" location) are printed after Change 31.180,
because VGETOBS did not test for NOEXIMSG=YES in line 282
causing the unwanted warning to be printed. Now correct.
Thanks to Carol Arnold, Brown Brothers Harriman & Co, USA.
Change 32.011 MXG 31.31-31.06. USER ABEND 1950 CICSTRAN DOES NOT EXIST
ASUMUOWT because the ASUMUOWT (UOW TMON MONITASK vs CICSTRAN) did
Jan 28, 2014 not null the default _LCICTRN DDNAME value of CICSTRAN
before it called VMXGUOW. Previously, when VMXGUOW then
called VGETOBS to test for the existence of the CICSTRAN
libname, there was only a warning message, and as it was
never actually referenced, PDB.ASUMUOWT was created fine.
In Change 31.180, VGETOBS was changed to USER ABEND 1950
so that you cannot overlook it, when you ask MXG to use
a non-existent LIBNAME.
The correction in ASUMUOWT: add MACRO _LCICTRN _NULL_ ;
in the existing %LET MACKEEP= redefinitions, but you can
circumvent for ASUMUOWT just by adding a temp //CICSTRAN.
This was missed in my QA because all ASUMUOWT tests just
happened to also have a CICSTRAN LIBNAME allocated.
Thanks to Frank Lund, EVRY AS, NORWAY.
Change 32.010 IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28.
ASMTAPEE This is ML-52 level MXG Tape Mount Monitor. With those
Jan 28, 2014 APARs, on a z/OS 1.13 system, after return from MCSOPMSG,
Master Console Service, register AR15 returns non-zero,
not previously observed, nor expected, nor protected, but
because MXGTMNT is in AR mode, it fails with ABEND 0E0.
MXGTMNT Starts and Shutdown with these messages:
IEA630I OPERATOR MXGC0004 NOW ACTIVE, SYSTEM=SYSX,
LU=MXGTMNT
MXGC009E Unrecoverable error in Allocation Recovery
Monitor, function is terminated.
MXGC008E Recoverable abend limit reached, monitor
extension subtask is terminated.
IEA630I OPERATOR MXGC0004 NOW INACTIVE,SYSTEM=SYSX,
Register AR15 is now cleared in ML-52, now that we know
we need to!
Thanks to Warren Cravey, Fidelity Institutional, USA.
Thanks to Chuck Laurent, Fidelity Institutional, USA.
Change 32.009 -RMF III Enhancements, Fixes, and Notes
ASMRMFV -FROMDATE=/TODATE= and FROMTIME=/TOTIME= date and time
ADOCRMFV selection parameters now have better error detection
Feb 2,2014 and diagnostics. Error messages include more detail
about what the specific error was.
-FROMDATE=/TODATE= now support Gregorian style dates in
the format of FROMDATE= or TODATE= ddmmmyyyy where dd is
the day of the month, mmm is a 3 character month name,
and yyyy is a 4 digit year.
-Also supported are the following Gregorian style date
formats for usability and flexibility: ddmmmyyy, ddmmmyy,
ddmmmy, ddmmm, and mmm
-For yyy, yy, and y years 2000 is added to create the
year. When no year is present the current year is used.
When no day of the month is present the first day of the
month is used. mmm must always be present and cannot
further be shortened.
-Also supported are the following Gregorian style date
formats so that a leading dd day of month zero is not
required for days 1-9 of a month: dmmmyyyy, dmmmyyy,
dmmmyy, dmmmy, and dmmm.
-NOTE: Gregorian style dates are validated so that the dd
value does not exceed the number of possible days in the
month. 29FEB is only allowed for leap years.
-NOTE: Similar to Julian style dates, YYYY366 is also
only allowed for leap years.
-NOTE: ASMRMFV supports dates from 2000.001 January 1,
2000 through and including 2042.259 September 16, 2042.
Dates outside this range will be flagged as errors.
-NOTE: On 2042.260 September 17, 2042 the 8 byte TOD clock
will wrap just after 22:53:47.370495 as all bits will be
X'FF'. If RMF Monitor III still exists at that time, IBM
will need to use the Extended TOD clock or some other
mechanism for time stamps in this data.
-Generic values for FROMDATE= and TODATE= such as
YESTERDAY and TODAY may now be shortened to as few
characters as desired even down to the single characters
Y and T. Before the full length had to always be used
which was cumbersome.
-Processing routines for FROMDATE= and TODATE= are
combined into a single routine for better efficiency as
are the routines from FROMTIME= and TOTIME=.
-A second RMFV041I message is now displayed for each found
VSAM data set when using the Dynamic Method. It includes
the VSAM data set type, volume serial, average and
maximum LRECL, Control Interval size, and Creation Date.
This is intended to allow better identification that the
correct RMF Monitor III VSAM data sets have been pattern
selected by this method.
-When message RMFV002I is displayed showing the JCL PARM=
field contents, the length of the PARM field is now
displayed. There is a z/OS limit of 100 characters for
the PARM= field. If you are nearing this limit consider
using the SYSIN DD file instead of or in addition to the
PARM= field.
-When execution environment messages RMFV001I are
displayed, there is now an additional message showing the
last IPL date, time, and IPL volume serial.
-Parameter end processing was not validating that the
FROMDATE= value did not exceed the TODATE= value when
other errors had previously been detected.
-Parameter end processing was not validating that the
FROMTIME= value did not exceed the TOTIME= value when the
same day had been selected and other errors had
previously been detected.
-Documentation in the ASMRMFV source prologue and in the
ADOCRMFV member has been updated to discuss the new
Gregorian style formats for FROMDATE= and TODATE=. More
examples are added also.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps
Change 32.008 Cosmetic. The text in the file created by UTILBLDP that
UTILBLDP identifies the last change still had Change 30.115 after
Jan 27, 2014 Change 31.276. A new QA test compares the text with the
LAST UPDATED information in line 2 to detect mismatch.
Thanks to Clayton Buck, UNIGROUP, USA.
Change 32.007 MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED LENGTH,
VMAC111 because line 659 should be SKIP=SKIP-16; instead of -8.
Jan 27, 2014
Thanks to Flemming Bramsen, SEMLER, DENMARK.
Change 32.006 -PDB.TAPES/PDB.ASUMTAPE variable BYTEWRIT for 3590 tapes
VMAC21 could still be too small, after Change 31.244, when more
Jan 26, 2014 than 64GB uncompressed bytes were written, i.e., when the
count of 4K blocks written exceeds the 3-byte 'FFFFFF'x
maximum in SMF21BW. When SMF21BW overflowed, MXG used
the compressed count in SMF21DBW when the uncompressed
count in SMF21DBW should have been stored instead.
The error can only impact DEVICE='3590'. So far, only
SMF21BW has exceeded 64GB, but the error would also be in
BYTEREAD if SMF21BR had overflowed.
-Variables SMF21BWN & SMF21BRN are now kept in PDB.TAPES.
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 32.005 -Support for ID=90 Subtype=35 SETLOAD XX IEASYM Command
FORMATS record, overlooked because it is not listed in subtypes
VMAC90A on page 734, and the documentation text was located after
EXTY9035 Subtype 33 instead of after Subtype 34 (and before 36).
VMXGINIT -Discovered when updating the ANALID $MGSMFID format to
Jan 25, 2013 describe SMF record IDs 38, 85, 90, and 118 for ANALID.
-All MXG FORMAT'S VALUES ARE NOW COMMA-FREE, for ease in
exporting SAS datasets with formatted variables to EXCEL,
since commas can't exist in CSV Comma Delimited files,
and blanks read just as well where there were commas.
-While far less likely to be exported, over time, I will
also replace all commas in the LABELs of MXG variables.
Change 32.004 Cosmetic. "Destructive" added to these variable's label:
VMAC116 WQGETA ='MQGET*DESTRUCTIVE*(ANY)
Jan 23, 2014 WQGETS ='MQGET*DESTRUCTIVE*(SPECIFIC)'
Thanks to Pietro Rosella, Canadian National, CANADA
Change 32.003 OUTDATA= parameter added should you wish to preserve the
ANALCOMP output dataset created by ANALCOMP.
Jan 22, 2014
Change 32.002 -Support DB2 QWHC Header variable QWHCAACE Initiator ACE,
VMACDB2H added in DB2 V10 is now INPUT but only right four bytes
Jan 22, 2014 are input, as all other ACE fields are 4-bytes and data
shows those are the populated bytes. Kept in all DB2 data
sets that currently have QWHSACE from the QWHS header.
Logic to detect that QWHCAACE is present require revision
because records with only QWHCAACE are created, although
the DB2 QWHC DSEC documents that both QWHCAACE and the
two 2-byte offsets for EUTX/EUWN were added.
-DB2 V10 increased QWHCEUTX Users Transaction Name length
from $32 to $128 and QWHCEUWN Users Workstation length
from $18 to $128, in two relocated "Truncated" segments.
Change 32.001 -NTSMF objects TCPV4 and TCPV6 were INCORRECTLY output in
VMACNTSM dataset TCP versus the correct TCPV4 and TCPV6 datasets,
Jan 21, 2014 causing apparent duplicate observations in TCP dataset,
Jan 25, 2014 because the OBJECT=:'TCP' test should have been changed
to be OBJECT=:'TCP ' when the new TCPV4 and TCPV5 objects
were supported (or the test for those longer object names
should have preceded the shorter name.)
-WEB SERVICE CACHE object, dataset WEBSRVCA new variables:
WBSCOUMU WBSCOUCF WBSCOUCH WBSCOUCI WBSCOUFI WBSCOUTF
WBSCOUTH WBSCOUTM
-ASP.NET APPLICATIONS object, dataset ASPNETAP, new vars:
ASPARQBI ASPARQBO ASPARQEX ASPARQFA ASPARQSU ASPARQTO
Thanks to Carl Levy, Boeing, USA.
Thanks to Kenneth R. Jallen, Boeing, USA.
LASTCHANGE: Version 32.
=========================member=CHANGE31================================
/* COPYRIGHT (C) 1984-2014 MERRILL CONSULTANTS DALLAS TEXAS USA */
ANNUAL MXG Version 31.31 is dated Jan 20, 2014, thru Change 31.296
MXG Version 31.09 was dated Dec 30, 2013, thru Change 31.278
MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.244.
First MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.240.
MXG Version 31.07 was dated Sep 20, 2013, thru Change 31.204.
MXG Version 31.06 was dated Sep 3, 2013, thru Change 31.187.
First MXG Version 31.06 was dated Sep 1, 2013, thru Change 31.184.
MXG Newsletter SIXTY-TWO was dated Sep 1, 2013.
MXG Version 31.05 was dated Jul 29, 2013, thru Change 31.156.
MXG Version 31.04 was dated Jun 26, 2013, thru Change 31.125.
MXG Version 31.03 was dated Jun 17, 2013, thru Change 31.114.
MXG Version 31.02 was dated May 5, 2013, thru Change 31.088.
First MXG Version 31.02 was dated Apr 29, 2013, thru Change 31.079.
MXG Version 31.01 was dated Mar 13, 2013, thru Change 31.044.
MXG Newsletter SIXTY-ONE was dated Jan 21, 2013.
Annual MXG Version 31.31 is dated Jan 20, 2014, thru Change 30.296.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 31.31 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 31.31.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 31.31 dated Jan 20, 2014, thru Change 31.296.
Major enhancement added in MXG 31.31, dated Jan 20, 2014:
TYPE111 31.283 Support for CICS Transaction Gateway V9R0 (COMPAT)
UTILEXCL 31.295 Negative values in variable TASELGTM with IMACEXCL.
VMAC73 31.291 SMF73SPD Channel Speed now always in MBits/sec.
TYPE30 31.280 IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL).
ASMRMFV 31.296 RMF III Enhancements including new TABERR parameter.
ASMRMFV 31.287 MXG 31.02-31.09. ASMRMFV could skip RCD tables.
MXGLABEL 31.288 New %MXGLABEL creates LABEL with NAME and LABEL.
VMXGINIT 31.285 JCL //INSTREAM DD is no longer required for z/OS MXG.
ANALDB2R 31.286 Selection by PLAN moved into READDB2, saves time.
TYPEDB2 31.282 DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.
JCLUOTT2 31.293 Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
GRAFWRKX 31.294 New NEWMODEL parameter view workloads on new CPU.
FORMATS 31.291 MG073FR decodes SMF73CPP frame size 16/24/50/64KB.
IHDRTMO2 31.290 TMON/CICS TA header exit IHDRTMO2 now after offsets.
Major enhancement added in MXG 31.09, dated Dec 30, 2013:
FORMATS 31.251 WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED.
TYPEBVIR 31.254 BVIR30 dataset was incorrect with VERSION 3 records.
TYPEDB2 31.245 Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
TYPE102 31.258 Support for IFCID 359, "DB2 Statement ID" decoded.
TYPE102 31.261 Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
TYPE102 31.278 Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
UTILBLDP 31.276 Ad hoc read SMF UTILBLDP is enhanced WANTSMF= list.
TYPERMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
ASMRMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
TYPENMON 31.264 Support for Red Hat Linux Data Group,NFSCLIV4 metrics
TYPEDB2 31.272 Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
TYPE30 31.277 TYPE30MU dataset now has zero obs by default: useless
VGETOBS 31.250 A better way to identify TAPE data libraries.
READDB2 31.269 "Too few" IFCIDs listed caused no sort to PDBOUT.
TYPE110 31.253 SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
TYPEDB2 31.259 Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8
TYPETPMX 31.263 ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
TYPE7072 31.274 System with only CPs + ICFs, LPAR SHARE weight wrong.
TYPE7072 31.266 MSU Units (Hardware vs Software) in TYPE70/TYPE72GO.
GRAFCEC 31.246 NOT SORTED error with multiple CEC's data.
ANALDB2R 31.262 Some AVG Buff stats wrong, possible dataset not found
ANALHSM 31.260 Variable HSMPLEX added to all HSM reports.
TYPE80A 31.257 TOKDANAM='UTYPE' ERROR if last, new TOK variables.
ANALGRID 31.248 DATES= any one of the "one word" tokens didn't work.
VGETOBS 31.247 ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
VMXGRMFI 31.268 Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
TYPEDB2 31.275 MXGWARN: T102S225 DOES NOT EXIST.
Many 31.270 Messages with 'ERROR:' starting in byte one shifted.
Major enhancement added in MXG 31.08, dated Nov 12, 2013:
TYPEDB2 31.240 Support for DB2 V11.1. (MXG 30.30+ TOLERATES with no
EXECUTION error, but the QLST variables in DB2STATS
require MXG 31.04 for both DB2 V10.1 and V11.1.)
ASMRMFV 31.230 RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ASMRMFV 31.230 RMF III Support for DSNTYPE=LARGE.
MANY 31.221 ODS Support for TYPE=PDF, MANY ANALxxxx updated
TYPECIMS 31.233 Correction for IMF 4.2 thru 5.1 (WRONG VALUES)
TYPECIMS 31.206 Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).
TYPEPDM 31.226 Support for Alebra Parallel Data Mover SMF record.
TYPEJESC 31.225 Support for Emtex JESCONNECT SMF Record.
EXCICJRN 31.217 Support for CICS "multi journal records".
TYPETLMS 31.215 Support for new TLMS variables, compression percent
TYPE7002 31.220 Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
VGETOBS 31.212 Final (?) revisions to VGETOBS to bypass tape mounts.
TYPE110 31.214 CICSJS variables SJSMAJCP/SJSMINCP are not CPU time.
TYPE113 31.208 ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor.
TYPE6 31.207 31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
TYPE119 31.218 INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.
TYPE42 31.216 INVALID DATA FOR S42CSYNC.
ANALATEN 31.205 Analysis of Latent Demand report.
VMXGSRCH 31.219 Search which character variables contain text string.
WPS 31.224 Current status of WPS circumventions and differences.
Major enhancement added in MXG 31.07, dated Sep 20, 2013:
TYPE0 31.193 z/OS 2.1 ID=0 "IPL" RECORD now 68 bytes, MXG DELETES.
(ONLY A PROBLEM IF YOU THINK ID=0 IS AN IPL WHICH IT
often is not - always use the PDB.IPLS BUILDPDB DATA
to report IPL events. See change text.)
The DB2 MXG 31.06 "VGETOBS" enhancements still had some glitches:
ANALDB2R 31.204 ANALDB2R (31.06) with PDB=PDB and PDB on tape fails.
READDB2 31.191 READDB2 PDBOUT=, or PDBOUT=XXX may not work right.
VGETOBS 31.200 Revisions in concert with VMXGWORL for READDB2.
VMXGWORL 31.200 Revisions in concert with VGETOBS for READDB2.
Those VGETOBS changes solved two very different problems:
1. WPS failed when there was no LIBNAME when there was a
WHERE clause on PROC SQL read of DICTIONARY.TABLES.
Solved by looking at DICTIONARY.FILENAMES without a
WHERE first to see if the DD even exists.
2. SAS mounting and rereading every tape with every
execution of VGETOBS reading DICTIONARY.TABLES, even
when there was NO where clause.
Solved by keeping track of tape DDs and excluding
them from DICTIONARY.TABLES searches with a WHERE
CLAUSE NE.
-Solving problem 2 cut tape mounts in daily CICS/DB2 job
at one site from over 90 to less than 20.
TYPEDB2 31.196 Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
TYPE115 31.188 Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S.
FORMATS 31.189 Support for CEX41 Crypto Coprocessor type corrected.
JCLVSB2U 31.198 JCL example to change RECFM=VBS to RECFM=U w/o copy.
TYPEVMXA 31.194 MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112.
TYPETMMQ 31.190 Many new variables added to TMMQQU MQ QUEUE dataset.
TYPE117 31.199 S17NNDM added to the BY list _B117NOD for NODUP.
TYPEIDMS 31.197 After MXG 30.30, only IDMS 17, zero obs in IDMSINS.
Major enhancement added in MXG 31.06, dated Sep 3, 2013:
TYPERMFV 31.181 RMF III Support for z/OS 2.1 plus Enhancements.
TYPE115 31.179 Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.
TYPE102 31.166 Support for IFCID=380 STORED PROCEDURE DETAILS
TYPEBVIR 31.168 Support of Hydra/BVIR Version 3 new data fields.
TYPEXAM 31.160 Support for Velocity Software new segments new data.
All SMF 31.182 New INPUT SMF FILE DID NOT END WITH ID=3 message.
TYPE113 31.169 SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.
TYPE113 31.169 SMF 113 vars SM1132MT and SM1132MM were blank.
TYPE113 31.172 Macro to re-label SMF 113 counters for old machine
TYPE120 31.170 Variable SM1209BK (Short Server) added TYP1209C/S/U.
TYPESHDE 31.177 SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong.
TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.
READDB2 31.167 DB2 V8 ONLY. V8-only IFCID=225 were not read.
READDB2 31.165 PDB.DB2STAT1 not created with READDB2 STATISTICS.
TYPEBETA 31.162 Variable JOB and BETAJOBN are now consistent.
TYPE7072 31.174 WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial
TYPENMON 31.164 Protection for invalid NMON DISKxxxx records.
VMXGSRCH 31.171 UNABLE TO CREATE WORK.TABLES.DATA circumvented.
VGETOBS 31.180 Circumvent WPS 3 ABEND with unopened LIBNAME on tape.
READDB2 31.163 WPS 3 ONLY. WPS 3 Compiler macro resolution error.
Major enhancement added in MXG 31.05, dated Jul 23, 2013:
MANY 31.153 Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH DATA
TYPEVMXA 31.151 Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.
TYPETMD2 31.133 Support for TMON for DB2 Version 5 second iteration.
ASMRMFV 31.150 MAJOR RMF III enhancement - dynamic VSAM allocation.
TYPE70PR 31.140 SMF70GNM, Group Name, blank in MXG 31.03-31.04.
TYPE70 31.130 SHARE Weights for zIIP/zAAPs corrected.
TYPE78CU 31.127 Vars R783DCTM/DDTM (CU Connect/Disconnect) added.
ASUMTAPE 31.149 _GRPMNNM/_GRPMNCD failed after Change 30.203.
TYPERACF 31.146 INPUT STATEMENT ERROR RACF UNLOAD, invalid data too.
TYPE120 31.143 TYP1209E variables SM1209DA-DF are accumulated.
UTILEXCL 31.147 Support for CANPROD4, CANPROD5 and CANPROD6 fields
VMAC80A 31.139 Support for RACF TOKDANAM='UNAME'.
RMFINTRV 31.138 Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.
TYPECIMS 31.137 IMF TRXZxxxx variables incorrectly input.
TYPEWWW 31.137 IIS Log with ' ... ' COOKIE value caused MXG loop.
READDB2 31.128 LDB2*** parameters were not honored.
EXUTILEX 31.131 EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor.
Major enhancement added in MXG 31.04, dated Jun 26, 2013:
TYPENMON 31.119 Variables IPCSTIME and TIMEZONE added to NMONBBBP.
TYPEEDGR 31.118 Support for EDGRXEXT variables added in z/OS 1.13
TYPEDB2 31.117 DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
TYPETPMX 31.116 TYPETPMX variable JOBNUM truncated if 6 digits long
READDB2 31.115 READDB2 with COMPRESSED/Internal, NO OBS created.
Major enhancement added in MXG 31.03, dated Jun 17, 2013:
SAS Version 9.4 is COMPLETLY COMPATIBLE with MXG QA tests; no changes
to MXG are required, no errors nor new warnings were observed.
See SAS Technical Note in Newsletter SIXTY-TWO for comparison metrics.
TYPEDB2 31.117 ALL QLSTxxxx VALUES IN DB2 V10 ARE WRONG.
TYPEIMS 31.102 Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted.
TYPEIMSA 31.102 Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted.
TYPE110 31.110 CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.
ASMTAPEE 31.105 ML-51 corrects MXGC010E error when STKX=NO used.
TYPEDB2 31.093 New "INVALID" DB2 ID=100 ST=5 Startup now Supported.
(and more accurately, "UNDOCUMENTED/UNEXPECTED").
Prior MXG 31.02's could ABEND without this change.
MXG 31.01 and earlier will NOT fail, but will print
1,440 "CALL HOME" messages per subsystem per day.
EXPDBACC 31.094 BUILDPDB enhancement: create your own acct variables.
IMACICUS 31.090 MXG 31.02. LENUSRCH=32 should be LENUSRCH=0 default.
ANALID 31.086 SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.
ASMRMFV 31.111 Further internal enhancements to RMF III support.
Major enhancement added in re-dated MXG 31.02, dated May 5, 2013:
TYPEDB2 31.088 Protection for INVALID ID=100 SUBTYPE=5 DB2 record.
TYPEDB2 31.081 Support for DB2 V10 ID=100 ST=5 IFCID=369 CPU by CONN
New DB2 Statistics record with CPU and Wait Times and
all QBACxxxx variables by Connection Type.
Major enhancements/corrections added in MXG 31.02, dated Apr 29, 2013:
TYPEXDFG 31.049 Support for WAS XD (WebSphere Extended Deployment).
ASMIDMP 31.068 Pace-contributed IDMS exit code for Change 31.018.
JCLSQLID 31.067 Point-in-time mapping DBID/OBID hex to their names.
ANALDB2R 31.067 Point-in-time mapping DBID/OBID hex to their names.
ANALDB2R 31.061 New MXGACC03 report counts concurrent DBATs.
ASMRMFV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
TYPERMRV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
TYPERMFV 31.074 RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong.
TYPE74 31.072 Format MG0748L new value for 16 GB/s Link Type
IMACICUX 31.051 Support for user field CHARGE creates USCHARGE Var.
UTILEXCL 31.051 ***UNKNOWN FIELD*** protection still didn't protect.
IMACCADI 31.060 CA-Dispatch CADIxxxx values corrected.
TYPENMON 31.058 NMON records SEA, SEAPACKET, DONATE are supported.
TYPEDB2 31.056 Variable THREADS now correctly set for ROLLUPs.
TYPEPRPR 31.054 Corrections to '1031' and '1061' records.
TYPEWWW 31.052 IIS Weblog URIQUERY with &=1 and no name supported.
TYPE110 31.048 MXG 31.01 only, STID=29, CICSMDSA dataset wrong.
IMAC6ESS 31.047 ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.
TYPE90A 31.045 ID=90.6,7 EVENTIME is IPLTIME of the system.
Major enhancements/corrections added in MXG 31.01, dated Mar 13, 2013:
TYPEVFTP 31.023 Support for Software Diversified Services VFTP SMF.
TYPEVIP 31.022 Support for Software Diversified Services VIP SMF.
TYPESHDW 31.022 Support for Shadow user SMF subtype 21 record.
TYPEBVIR 31.016 Support for BVIR Version 2.0/2.0a/2.1.
TYPETMMQ 31.020 Support for TMON/MQ Version 2.15 new data.
TYPE85 31.006 Support for OAM SMF ID=85 STs 90,91,92 and 93.
TYPEIDMP 31.018 Support for PACE's IDMS 17 KOMAND/IDCS SMF record.
TYPE102 31.001 Support for variable QW0141OT in T102S141 dataset.
TYPENTSM 31.030 Major update for NTSMF adds datasets and variables.
TYPERMFV 31.021 RMF III Enhancements including ASI/ENC blocking.
TYPERMFV 31.004 RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.
VGETWKLD 31.028 Hardcoded VIEWs removed.
TYPE102 31.027 Variable QWHCEUWN added to T102Snnn DB2 datasets.
PREINIT 31.026 Pre-MXG-Initialization exit for SASHELP.VEXTFL.
TYPEDB2 31.015 "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
VMACSMF 31.014 New %LET SMFPUTHD=NO; suppresses header messages.
TYPE110 31.012 CICLDR output tests LDRTU instead of LDRFC.
TYPETMNT 31.010 MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record.
ANAL120 31.008 Example WebSphere SMF 120 reports revised.
TYPE113 31.003 Message UNINIT VARIABLE SM1132MM minimal impact.
CICINTRV 31.002 CICTSQ new A12xxxx variables now kept in CICINTRV.
TYPEBVIR 31.039 Option to add SYSTEM value to IBM TS7700 BVIR data.
TYPEBETA 31.036 BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
ANALDB2R 31.034 MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Version 9.4 and SAS 9.4.1 were both tested with NO CHANGES.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
with your existing, installed SAS JCL procedure - see below.
SAS Version 9.3 TS1M1 is RECOMMENDED for all PLATFORMS, because
SAS Version 9.3 TS1M0 REQUIRES THE HOT FIX in SAS NOTE SN43828
(for all platforms), and TS1M1 contains that Hot Fix.
Note: SAS 9.2 is reduced to SAS Level B support Sep 30, 2013.
Note: SAS 9.1.3 is reduced to SAS Level c support Sep 30, 2013.
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS93 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 31.31 will execute under SAS Version 9.3, on
all supported platforms, but as noted above, you need TS1M1. With
TS1M0, then the Hot Fix in SAS Problem Note SN43828 is REQUIRED to
correct an error in the %MACRO compiler, which is SAS portable
code, so that Hot Fix is required for ALL platforms.
The %MACRO compiler error is in processing %LET statements. While
only two MXG members failed repeatedly in MXG QA tests on z/OS,
there were random %LET errors in ASCII QA tests, so ANY use of
%LET statement on ANY platform are vulnerable to this error, as
the %MACRO compiler is SAS portable code, used on all platforms.
So this is NOT just an MXG error, but impacts ALL SAS programs.
With the Hot Fix on TS1M0, the full MXG QA test stream executed,
and there were no new warnings on z/OS.
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
MXG 26.03 thru MXG 31.31 will execute under SAS V9.4, V9.3, V9.2
or SAS V9.1.3 with Service Pack 4, on all supported SAS platforms.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform,
but SAS V9.2 does execute on that platform.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I can not guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
Version 26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows
Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,
and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS
platforms, including AIX, Linux, and other 'nix' variants, on many
different hardware platforms, and since they all work we don't
need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS hardware changes. However, MXG
Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for
the new zEC12 RMF data metrics added for that new platform.
In August 2013, the MXG-L ListServer was abuzz with several postings
from MXG users and additional references to SHARE papers that all
reported that many z/EC12s are 30%-40% better than zPCR projected.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 COMPATIBLE Jul 23, 2013 31.05
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 29.05*
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 30.01*
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 30.08*
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 30.30*
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 31.03*
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 30.07*
DB2 10.1 DBID/OBID decode Jan 21, 2013 30.30*
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 31.04*
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
IMS log 11.0 Apr 1, 2010 28.02*
IMS log 12.0 Jan 23, 2012 29.29*
IMS log 13.0 Oct 25, 2013 31.03
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
The Monitor for CICS TCE 3.4 (for CICS/TS 5.1) 30.30
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V6R3 SMF 102 30.037
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 31.08*
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS 31.08*
IMF 5.1 a/k/a Mainview IMS 31.08
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
V. Incompatibilities and Installation of MXG 31.31.
1. Incompatibilities introduced in MXG 31.31:
a- Changes in MXG architecture made between 31.31 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 31.31 after MXG 30.30:
Dataset/
Member Change Description
ANAL120 31.008 Example reports revised.
ANALATEN 31.205 Analysis of Latent Demand report.
ANALDB2R 31.034 MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.
ANALDB2R 31.061 New MXGACC03 report counts concurrent DBATs.
ANALDB2R 31.067 Point-in-time mapping DBID/OBID hex to their names.
ANALDB2R 31.262 Some AVG Buff stats wrong, possible dataset not found
ANALDB2R 31.286 Selection by PLAN moved into READDB2, saves time.
ANALGRID 31.248 DATES= any one of the "one word" tokens didn't work.
ANALHSM 31.260 Variable HSMPLEX added to all HSM reports.
ANALID 31.086 SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.
ASMIDMP 31.068 Pace-contributed IDMS exit code for Change 31.018.
ASMRMFV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
ASMRMFV 31.111 Blocking SVP tables over 32K length enhancement.
ASMRMFV 31.150 MAJOR RMF III enhancement - dynamic VSAM allocation.
ASMRMFV 31.230 RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ASMRMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
ASMRMFV 31.287 MXG 31.02-31.09. ASMRMFV could skip RCD tables.
ASMRMFV 31.296 RMF III Enhancements including new TABERR parameter.
ASMTAPEE 31.105 ML-51 corrects MXGC010E error when STKX=NO used.
ASUMSMFI 31.073 Variable TYPETASK added to ASUMSMFI summary dataset.
ASUMTAPE 31.149 _GRPMNNM/_GRPMNCD failed after Change 30.203.
CICINTRV 31.002 CICTSQ new A12xxxx variables now kept in CICINTRV.
EXCICJRN 31.217 Support for CICS "multi journal records".
EXPDBACC 31.094 BUILDPDB enhancement: create your own acct variables.
EXUTILEX 31.131 EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor.
FORMATS 31.189 Support for CEX41 Crypto Coprocessor type corrected.
FORMATS 31.251 WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED.
FORMATS 31.291 MG073FR decodes SMF73CPP frame size 16/24/50/64KB.
GRAFCEC 31.246 NOT SORTED error with multiple CEC's data.
GRAFWRKX 31.294 New NEWMODEL parameter view workloads on new CPU.
IHDRTMO2 31.290 TMON/CICS TA records IHDRTMO2 now after the offsets.
IMAC6ESS 31.047 ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.
IMACCADI 31.060 CA-Dispatch CADIxxxx values corrected.
IMACICUS 31.090 MXG 31.02. LENUSRCH=32 should be LENUSRCH=0 default.
IMACICUX 31.051 Support for user field CHARGE creates USCHARGE Var.
JCLSQLID 31.067 Point-in-time mapping DBID/OBID hex to their names.
JCLUOTT2 31.293 Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
JCLVSB2U 31.198 JCL example to change RECFM=VBS to RECFM=U w/o copy.
MANY 31.221 ODS Support for TYPE=PDF, MANY ANALxxxx updated
MXGLABEL 31.288 New %MXGLABEL creates LABEL with NAME and LABEL.
Many 31.270 Messages with 'ERROR:' starting in byte one shifted.
PREINIT 31.026 Pre-MXG-Initialization exit for SASHELP.VEXTFL.
READDB2 31.115 READDB2 with COMPRESSED/Internal, NO OBS created.
READDB2 31.128 LDB2*** parameters were not honored.
READDB2 31.163 WPS ONLY. WPS Compiler macro resolution error.
READDB2 31.165 PDB.DB2STAT1 not created with READDB2 STATISTICS.
READDB2 31.167 DB2 V8 ONLY. V8-only IFCID=225 were not read.
READDB2 31.191 READDB2 PDBOUT=, or PDBOUT=XXX may not work right.
READDB2 31.191 READDB2 revision for PDBOUT=WORK or PDBOUT=XXX.
READDB2 31.269 "Too few" IFCIDs listed caused no sort to PDBOUT.
RMFINTRV 31.138 Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.
TYPE0 31.193 TYPE 0 IPL RECORD now 68 bytes in z/OS 2.1, DELETED.
TYPE0 31.193 z/OS 2.1 SMF ID=0 Length changed, record DELETED.
TYPE102 31.001 Support for variable QW0141OT in T102S141 dataset.
TYPE102 31.027 Variable QWHCEUWN added to T102Snnn DB2 datasets.
TYPE102 31.166 Support for IFCID=380 STORED PROCEDURE DETAILS
TYPE102 31.258 Support for IFCID 359, "DB2 Statement ID" decoded.
TYPE102 31.261 Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
TYPE102 31.278 Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
TYPE110 31.012 CICLDR output tests LDRTU instead of LDRFC.
TYPE110 31.048 MXG 31.01 only, STID=29, CICSMDSA dataset wrong.
TYPE110 31.075 ASCII execution, RTYPE/RRTYPE may be incorrect.
TYPE110 31.110 CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.
TYPE110 31.214 CICSJS variables SJSMAJCP/SJSMINCP are not CPU time.
TYPE110 31.253 SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
TYPE111 31.283 Support for CICS Transaction Gateway V9R0 (COMPAT)
TYPE113 31.003 Message UNINIT VARIABLE SM1132MM minimal impact.
TYPE113 31.169 SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.
TYPE113 31.169 SMF 113 vars SM1132MT and SM1132MM were blank.
TYPE113 31.172 Macro to re-label SMF 113 counters for old machine
TYPE113 31.208 ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor.
TYPE115 31.179 Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.
TYPE115 31.188 New TYPE115S dataset for SMDS/QEST data.
TYPE115 31.188 Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S.
TYPE117 31.199 S17NNDM added to the BY list _B117NOD for NODUP.
TYPE119 31.218 INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.
TYPE120 31.143 TYP1209E variables SM1209DA-DF are accumulated.
TYPE120 31.170 Variable SM1209BK (Short Server) added TYP1209C/S/U.
TYPE30 31.277 TYPE30MU dataset now has zero obs by default: useless
TYPE30 31.280 IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL).
TYPE42 31.216 INVALID DATA FOR S42CSYNC.
TYPE6 31.106 PRINTWAY and PSF TYPE6 TASKTIME TCP/PSF/TCPE values.
TYPE6 31.207 31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
TYPE70 31.130 SHARE Weights for zIIP/zAAPs corrected.
TYPE7002 31.220 Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
TYPE7072 31.174 WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial
TYPE7072 31.266 MSU Units (Hardware vs Software) in TYPE70/TYPE72GO.
TYPE7072 31.274 System with only CPs + ICFs, LPAR SHARE weight wrong.
TYPE70PR 31.140 SMF70GNM, Group Name, blank in 31.03-31.04.
TYPE74 31.072 Format MG0748L new value for 16 GB/s Link Type
TYPE78CU 31.127 Vars R783DCTM/DDTM (CU Connect/Disconnect) added.
TYPE80A 31.257 TOKDANAM='UTYPE' ERROR if last, new TOK variables.
TYPE85 31.006 Support for OAM SMF ID=85 STs 90,91,92 and 93.
TYPE90A 31.045 ID=90.6,7 EVENTIME is IPLTIME of the system.
TYPEBETA 31.036 BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
TYPEBETA 31.162 Variable JOB and BETAJOBN are now consistent.
TYPEBVIR 31.016 Support for BVIR Version 2.0/2.0a/2.1.
TYPEBVIR 31.039 Option to add SYSTEM value to IBM TS7700 BVIR data.
TYPEBVIR 31.168 Support of Hydra/BVIR Version 3 new data fields.
TYPEBVIR 31.254 BVIR30 dataset was incorrect with VERSION 3 records.
TYPECIMS 31.137 IMF TRXZxxxx variables incorrectly input.
TYPECIMS 31.206 Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).
TYPECIMS 31.233 Correction for IMF 4.2 thru 5.1 (WRONG VALUES)
TYPEDB2 31.015 "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
TYPEDB2 31.056 Variable THREADS now correctly set for ROLLUPs.
TYPEDB2 31.081 Support for DB2 V10 ID=100 Subtype 5 DB2STAT5 dataset
TYPEDB2 31.093 DB2STAT5 "INVALID" record supported, STARTUP event.
TYPEDB2 31.108 DB2STATS vars QXSTCWLP+ and QISTWMXU incorrect.
TYPEDB2 31.117 DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
TYPEDB2 31.196 Support for APAR PM67806 adds QW0225DMH DMH GETM.
TYPEDB2 31.196 Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
TYPEDB2 31.240 Support for DB2 V11.1. MXG 30.30 TOLERATES, see text.
TYPEDB2 31.245 Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
TYPEDB2 31.259 Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8
TYPEDB2 31.272 Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
TYPEDB2 31.275 MXGWARN: T102S225 DOES NOT EXIST.
TYPEDB2 31.282 DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.
TYPEEDGR 31.118 Support for EDGRXEXT variables added in z/OS 1.13
TYPEIDMP 31.018 Support for PACE's IDMS 17 KOMAND/IDCS SMF record.
TYPEIDMS 31.197 After MXG 30.30, only IDMS 17, zero obs in IDMSINS.
TYPEIMS 31.102 IMS 13 inserted field in 07 Log record INCOMPAT
TYPEJESC 31.225 Support for Emtex JESCONNECT SMF Record.
TYPENMON 31.058 NMON records SEA, SEAPACKET, DONATE are supported.
TYPENMON 31.119 Variables IPCSTIME and TIMEZONE added to NMONBBBP.
TYPENMON 31.164 Protection for invalid NMON DISKxxxx records.
TYPENMON 31.264 Support for Red Hat Linux Data Group,NFSCLIV4 metrics
TYPENTSM 31.030 Major update for NTSMF adds datasets and variables.
TYPEPDM 31.226 Support for Alebra Parallel Data Mover SMF record.
TYPEPRPR 31.054 Corrections to '1031' and '1061' records.
TYPERACF 31.146 INPUT STATEMENT ERROR RACF UNLOAD, invalid data too.
TYPERMFV 31.004 RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.
TYPERMFV 31.021 RMF III Enhancements
TYPERMFV 31.074 RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong.
TYPERMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
TYPERMRV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
TYPESHDE 31.177 SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong.
TYPETLMS 31.215 Support for new TLMS variables, compression percent
TYPETMD2 31.133 Support for TMON for DB2 Version 5 second iteration.
TYPETMMQ 31.020 Support for TMON/MQ Version 2.15 new data.
TYPETMMQ 31.190 Many new variables added to TMMQQU MQ QUEUE dataset.
TYPETMMQ 31.190 New variables added to TMMQQU.
TYPETMNT 31.010 MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record.
TYPETPMX 31.116 TYPETPMX variable JOBNUM truncated if 6 digits long
TYPETPMX 31.263 ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
TYPEVFTP 31.023 Support for Software Diversified Services VFTP SMF.
TYPEVIP 31.022 Support for Software Diversified Services VIP SMF.
TYPEVMXA 31.151 Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.
TYPEVMXA 31.194 31.02-31.06, z/VM 6.2.12, STOSHG BROKEN CONTROL REC.
TYPEVMXA 31.194 MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112.
TYPEWWW 31.052 IIS Weblog URIQUERY with &=1 and no name supported.
TYPEWWW 31.137 IIS Log with ' ... ' COOKIE value caused MXG loop.
TYPEXAM 31.160 Support for Velocity Software new segments new data.
TYPEXDFG 31.049 Support for WAS XD (WebSphere Extended Deployment).
TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.
UTILBLDP 31.276 Tool to ad hoc read SMF is enhanced WANTSMF= list.
UTILEXCL 31.051 ***UNKNOWN FIELD*** protection still didn't protect.
UTILEXCL 31.147 Support for CANPROD4, CANPROD5 and CANPROD6 fields.
UTILEXCL 31.295 Negative values in variable TASELGTM with IMACEXCL.
VGETOBS 31.180 Circumvent WPS ABEND with unopened LIBNAME on tape.
VGETOBS 31.200 Revisions in concert with VMXGWORL for READDB2.
VGETOBS 31.212 Final (?) revisions to VGETOBS to bypass tape mounts.
VGETOBS 31.247 ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
VGETOBS 31.250 A better way to identify TAPE data libraries.
VGETWKLD 31.028 Hardcoded VIEWs removed.
VMAC73 31.291 SMF73SPD Channel Speed now always in MBits/sec.
VMAC80A 31.139 Support for RACF TOKDANAM='UNAME'.
VMACSMF 31.014 New %LET SMFPUTHD=NO; suppresses header messages.
VMXGINIT 31.285 JCL //INSTREAM DD is no longer required for z/OS MXG.
VMXGRMFI 31.268 Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
VMXGSRCH 31.171 UNABLE TO CREATE WORK.TABLES.DATA BECAUSE ..VIEW....
VMXGSRCH 31.219 Search which character variables contain text string.
VMXGWORL 31.200 Revisions in concert with VGETOBS for READDB2.
WPS 31.224 Current status of WPS circumventions and differences.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 31.
====== Changes thru 31.296 were in MXG 31.31 dated Jan 20, 2014=========
Change 31.296 -RMF III Enhancements and Fixes
ASMRMFV -New parameter TABERR=ABEND/IGNORE/WARN directs ASMRMFV
ADOCRMFV when one or more RMF Monitor III table validation
ZASMRMFV errors have occurred (default WARN). Table validation
Jan 18,2014 has been part of ASMRMFV since Change 31.080 in MXG
V31.02.
-Validating RMF III tables prevents incorrect and/or
conflicting data from being absorbed into an MXG PDB that
could be difficult to detect, diagnose, and resolve.
-A validation error occurs when an offset or length within
a table is not as expected or is logically inconsistent.
For example, the length of the table header is greater
than the total table length. This should be a VERY RARE
event.
-However, in past versions ASMRMFV could issue Return Code
0000 when such errors occurred thus making it appear that
there were not any problems in the ASMRMFV run.
-With this change ASMRMFV will issue Return Code 0016 when
one or more table validation errors occur. This is the
only condition for which this Return Code is issued.
-When a table validation error occurs the entire table is
skipped and thus the data will not appear in the result
PDB.
-These errors are thus a significant event and should be
reported to MXG Technical Support as soon as possible.
Use TABERR=IGNORE to bypass these errors and not set
Return Code 0016 until the issue can be resolved.
-Such tables are skipped and written to the optional
RMFSKIP DD if present in JCL. They will not be included
in the result PDB so all data in the table is lost.
These are not reliable data sources and could result in
more serious problems if they were input to a PDB build.
-RMFV035* (*=I,S) is now a variable severity message that
reports table validation errors both in ASMRMFV detail
and summary reports. In some cases RMFV035* will report
more details on the specific error.
-Prologue documentation in ASMRMFV source code and in the
ADOCRMFV member has been updated with a discussion of the
TABERR= parameter.
-Performance for the output of some RMF III tables to the
RMFBSAM file is improved by using block data moves to the
output buffer when moving contiguous entries within a
table. In the past ASMRMFV moved single entries at a
time. This applies to the CPD, CSR, ENT, OPD, and SPG
tables only.
-RCD processing did not include the RCDRD section when
validating this table and this is corrected.
-ASMRMFV was initializing variable mode messages before
PARM processing was complete so that *ERR= PARM overrides
were not affecting the corresponding message format. The
overrides were functional but the corresponding message
format could be incorrect.
-The patch for Change 31.287 only is included in the
archival ZASMRMFV member intended only for use with
non-z/Architecture hardware. No other changes after
Change 31.181 are included as this member is stabilized.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 31.295 Negative values in variable TASELGTM, zIIP Eligible time,
UTILEXCL in dataset CICSTRAN, when UTILEXCL was used to create the
Jan 18, 2014 tailored IMACEXCL member (support for EXCLUDEd fields in
your CICS SMF 110 records). The generated IMACEXCL code
incorrectly subtracted TASZIPTM from OFFLCPTM.
-UTILEXCL logic to KEEP TASELGTM,TASZIPTM was added.
Thanks to Paul Volpi, UHC, USA.
Change 31.294 NEWMODEL parameter added to GRAFWRKX to allow you to
GRAFWRKX see what your workloads would look like on a different
Jan 18, 2014 CPU model. Formats TMPSUSEC and TMPNRCPU are defined
in member GRAFWRKX to map NEWMODEL to Hardware SU_SEC
and NRCPU Engine count for MSU Capacity for the new
processor, to recalculate CPU time and percent busy.
Change 31.293 Sample JCL to create PDB.ASUMUOW, PDB.CICS for TMON/CICS.
JCLUOTT2 The MONICICS file is read with tailored "TYPETMO2" logic
Jan 16, 2012 to create MONITASK dataset, but KEEPs only the variables
that are needed, to save disk space, CPU, and I/O. Then,
MONITASK dataset is summarized by ASUMUOW and ASUMCICX
to create the PDB.ASUMUOW and PDB.CICS summary datasets.
No DB2 nor MQ data is processed in this example.
Change 31.292 The DATASET name requested is now printed in the default
VMXGPRNT TITLE1 by VMXGPRNT. However, see also MXGLABEL that is
Jan 15, 2014 added by Change 31.288 which may be simpler to learn!
-MXGWARN that WORK.SP_L does not exist is suppressed.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.291 Variable SMF73SPD was in MBits/sec if SMF73MSC=0 or was
FORMATS in Bits/sec otherwise with Bits/sec in the label, but it
VMAC73 makes more sense to label and store MBits/sec for this
VMAC79 new Channel Speed metric added by APAR OA22918 for z196
Jan 16, 2014 (High Performance FICON support). SMF73SPD is zero for
FICON Express 4 channels; the enhanced metrics are only
generated by FE-8 and FE-8S or later channels.
-Variable SMF73CPP in TYPE73 and R79CCPP in TYPE79 are
decoded by MG073FR format to display the channel path
frame size (16/24/40/64KB).
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Thanks to Brian Currah, Independent Consultant, CANADA.
Change 31.290 For TMON/CICS Transaction Records, 'TA', the IHDRTMO2
IHDRTMO2 exit is now taken AFTER the offsets to the 22 subsections
VMACTMO2 have been INPUT so you can know what data is present and
Jan 15, 2014 so you could reset the NUMBER to zero to suppress their
processing; IHDRTMO2 comments identify entry variables.
Change 31.289 Cosmetic. VGETOBS could be called with DATASET=_NULL_,
VGETOBS notably in VMXGUOW if MQ/DB2/CICS is suppressed.
Jan 12, 2014 This change detects the _NULL_ and returns eliminating
warning messages.
Change 31.288 New MXGLABEL macro reads the contents of a SAS dataset to
MXGLABEL create a LABEL statement with the VARIABLE NAME and LABEL
Jan 16, 2014 as the label's value for each variable in that dataset.
These labels are the same as VMXGPRNT/VMXGPRA1/VMXGPRAL
print, but if you know how to use PROC PRINT, you can use
MXGLABEL and not have to learn those program's arguments:
%MXGLABEL(DATASET=PDB.JOBS,NAMEPOSITION=BOTTOM);
PROC PRINT DATA=PDB.JOBS SPLIT='*';
&MXGLABEL;
TITLE PRINT WITH NAME AND LABEL OF DATASET &MXGDATASET;
The VARIABLE NAME can be at the TOP or BOTTOM of the new
label when split-printed, and you can choose the bookend
character (around the variable name) and even change the
asterisk SPLIT CHARACTER.
-%MXGLABEL also creates a macro variable &MXGDATASET with
the name of the dataset dataset name (like for TITLEs).
-The LABEL statement is returned in both the old-style
macro token _MXGLABL and in the macro variable &MXGLABEL.
-Macro variables are limited to 64K characters, and with
a 32-character name and 40-character label, only 858 vars
labels would fit in 64K text, but this implementation has
no such limit, by storing only the NAME of the old-style
macro (%LET MXGLABEL= _MXGLABL;) for the macro variable's
value, so only your disk space limits amount of code.
THIS ONLY WORKS IF &MXGLABEL IS EQUATED TO _MXGLABL TEXT
BEFORE MACRO _MXGLABL IS INSTANTIATED. Equating after
instantiation will fail if the expanded text exceeds 64K.
-The USEFILE argument defaults to MXGLABEL and writes to
the WORK file as a CATALOG so it can be any 8-character
file name for the write and read. See Change 31.285.
-A LABEL statement AFTER the &MXGLABEL statement will
override the stored label; SAS uses the last statement.
Change 31.287 MXG 31.02-31.09. ASMRMFV could skip RCD tables during
ASMRMFV validation added in Change 31.080 (MXG 31.02) of the
Jan 12, 2014 RCDSD/RCDPD section entry lengths. There were no error
nor warning messages, but an uncleared register could
cause the calculated length to exceed 32K which caused
the entire RCD record to be not be written to RMFBSAM,
causing RCD datasets to have zero observations.
(The ASMRMFV report of record types read/written did
show there were RCD records read but now all written.)
The register is now cleared in the two overlooked places.
-This change to ASMRMFV also requires MXG at 31.09 to read
the new RMFBSAM 31.287 records, due to new source members
added to support the CAT records. Specify NOCAT instead.
-However, if you update your current ASMRMFV with these
two one-line-inserts in ASMRMFV, the RCD records won't
be skipped, and your current MXG VMACRMFV processing will
correctly populate the RCD datasets.
Find these two ICM statements in your ASMRMFV and insert
the SR statement between the JL and ICM like this:
JL SKIPRCD YES, ERROR
SR R0,R0 SET REG0=0 <===ADD THIS LINE
ICM R0,3,RCDPDAL(R9) GET LENGTH OF ONE RCDRD ENTRY
JL SKIPRCD YES, ERROR
SR R0,R0 SET REG0=0 <===ADD THIS LINE
ICM R0,3,RCDSDAL(R9) GET LENGTH OF ONE RCDRD ENTRY
Member JCLASM3 is the sample JCL for the assembly and
link-edit installation of the EDITed ASMRMFV.
Thanks to LaRae Balthazor, Charles Schwab, USA
Thanks to Anh Ngo, Charles Schwab, USA
Change 31.286 If you specified MXGxxxxx=NO, to skip that report, errors
ANALDB2R resulted: ANALDB2R syntax error caused that parameter to
Jan 11, 2014 be compiled as a DATA step statement, but there was no
semi-colon to end the statement, causing various errors.
NO or blanks are now taken as NO.
If you specified PLAN= with PDB=SMF, the PLAN name was
not passed to READDB2 so ALL records were read and then
selection was done by ANALDB2R after READDB2, where it
should have been done to minimize disk,I/O,CPU,etc.
PLAN is now included in this list of parameters that can
be passed from ANALDB2R to READDB2 for READDB2 selection.
AUTHID BEGTIME CONNID CONNTYPE DB2 ENDTIME PLAN
Thanks to Stephen Hughes, Excellus, USA.
Change 31.285 SEE CHANGE 32.022 WHICH REMOVED THIS CHANGE FROM MXG.
VMXGINIT INSTREAM FILEREF OR DDNAME IS STILL REQUIRED IN MXG.
Jan 13, 2014 ORIGINAL CHANGE TEXT:
Feb 4, 2014 The //INSTREAM DD is no longer required for MXG on z/OS.
Now, VMXGINIT, at MXG Initialization, executes
FILENAME INSTREAM CATALOG 'WORK.MXGTEMP.INSTREAM';
which allows INSTREAM to be used as an external I/O file.
On z/OS, the CATALOG will be used when there is no DD.
On ASCII, the VMXGINIT FILENAME INSTREAM is always used,
since it will be after any FILENAME in AUTOEXEC and will
replace an existing INSTREAM fileref if one exists.
MXG has always required an INSTREAM fileref, either as
//INSTREAM DD in the JCL, or FILENAME INSTREAM, because
MXG writes text (SAS statements) to it "on the fly" and
a %INCLUDE INSTREAM; executes the created program code.
-The CATALOG syntax has a three or four part name
FILENAME INSTREAM CATALOG 'lib.catalog.entry.entrytype'
where entrytype can be anything for READ, but only LOG,
OUTPUT, SOURCE, or CATAMS (the default 4th) for WRITE.
-In testing this transparent enhancement, I re-discovered
.On z/OS or ASCII, FILENAMEs allocated with a FILENAME
can be CLEARed, and the MXGNAMES/VMXGCNFG JCL for z/OS
uses FILENAME INSTREAM, so INSTREAM it could be cleared.
.On z/OS, FILENAMEs allocated in JCL cannot be CLEARED.
.But you should never need to CLEAR the JCL INSTREAM DD:
There's nothing that precious about FILENAME INSTREAM
except that it is guaranteed to be there when needed.
Especially since you can't clear the JCL DD anyhow!
You can always use a different NAME in your FILENAME
statement, with either CATALOG or TEMP to create an
external file for your "instream" code creation. I did
consider using TEMP instead of CATALOG for INSTREAM
default in VMXGINIT, but on z/OS the CATALOG syntax is
simpler, while the more complex (but more powerful)
TEMP option requires device and size and JCL DD stuff.
.ERROR: Catalog WORK.MXGTEMP DOES NOT EXIST if you try to
read INSTREAM (INCLUDE/INFILE) before it was written.
Change 31.284 If you specified MXGMQADD=NO and executed _SUOWMQ you got
VMXGUOW a SAS message that a data step was being stopped because
Jan 9, 2014 it was looping. This was caused by the absence of a SET
statement that is conditionally executed if MXGMQADD=YES.
An ELSE STOP; was added to prevent the message (which
did not cause an ABEND or failure.)
Change 31.283 Support for CICS Transaction Gateway CTG V9R0 (COMPAT).
VMAC111 -Variable CTGSTART, DAEMON*START*DATETIMESTAMP is INPUT
Jan 9, 2014 and kept in all TY111xx datasets.
-New variables added to TY111GD Daemon dataset:
CTGIRESP='INTRV*DAEMON*AVG RESP*WITH I/O'
CTGLRESP='LIFE*DAEMON*AVG RESP*WITH I/O'
CTGIXNHI='INTRV*PEAK*INFLIGHT*XA TRANS'
CTGIXNHI='LIFE*PEAK*INFIGHT*XA TRANS'
See correction in Change 32.007.
Change 31.282 APAR PI06009 to TDS DB2PM reports notes their report will
VMACDB2 display '*ROLSUM*' for DB2 V10 Packages with QPACRUSM='Y'
Jan 8, 2014 for the new Rollup Summary record flag, while '*ROLLUP*'
is unchanged in V9 if QPACROLL='Y'. With this alert, MXG
variable DB2PARTY='R' is now set if QPACRUSM='Y' so both
Rollup and Rollup Summary records are identified in the
DB2ACCTP dataset.
Change 31.281 DB2 dataset T102S377 variable QW0377PT was incorrectly
VMAC102 input as 4 bytes when it is a 2 byte field, which caused
Jan 8, 2014 wrong values in QW0377FL/QW0377PG/QW0377NU.
(This was my bad for missing my own coding error, that
wasted the customer and IBM DB2 Support's time.)
Thanks to Bart Steegmans, IBM DB2 Support, USA.
Change 31.280 MXG variable IOTMNOCA=SMF30AIC-IOTMDASD now correctly
VMAC30 compares the DASD connect time captured in SMF30AIS with
Jan 1, 2014 the sum of IOTM from the DASD DD segments; previously it
incorrectly used IOTMTOTL in the equation.
Values from minus 20 seconds to plus 20 seconds are found
occasionally, where minus 20 means that the DD segment
IOTM was greater than the SMF30AIC DASD connect time.
====== Changes thru 31.278 were in MXG 31.09 dated Dec 30, 2013=========
Change 31.278 -Support for DB2 Trace IFCID=377 (PSEUDO DELETE CLEANUP).
EX102367 creates T102S377 dataset.
EX102374 -Support for (HEADER ONLY) all of these new ID=102 IFCIDs
EX102375 that are documented in DB2 V11;
EX102376 367 374 375 376 378 379 382 383 384 385 386 397
EX102377 398 399 499
EX102378 Actual data records are required to decode new IFCIDs,
EX102379 but by adding the structure for all of these possible 102
EX102382 subtypes, only VMAC102 itself will need to be updated to
EX102383 decode the IFCID-unique variables in these records.
EX102384
EX102385
EX102386
EX102397
EX102398
EX102399
EX102499
IMAC102
VMAC102
VMXGINIT
Dec 28, 2013
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.277 TYPE30MU dataset now has zero obs by default. It is not
EXTY30MU actually used by IBM SCRT nor MXG for analysis, it can be
Dec 26, 2013 very large, because it replicates product segments in the
same interval, and because if you really need it, it can
be easily enabled, by removing the comment block in the
EXTY30MU exit member in your "USERID.SOURCLIB" tailoring.
Change 31.276 UTILBLDP is the RECOMMENDED ad hoc tool to read SMF data.
UTILBLDP New WANTSMF="list of ID.SUBTYPE" provides easier syntax
Dec 26, 2013 for selection of ID/SUBTYPES you want to be read. You
select the PRODUCTS with BUILDPDB=YES or USERADD=n m z.
You then use either WANTSMF= to select the ones you want,
or you use the existing ZEROOBS= to alternatively force
the unwanted subtypes to have zero observations.
%UTILBLDP(BUILDPDB=NO,
USERADD=42 7072 71 73 74 CMF,
WANTSMF=42.6 70.1 73 74.1 74.5 74.6 240);
%INCLUDE BUILDMXG;
Generally, you can use the argument with fewer arguments,
but to use ZEROOBS correctly you must know all subtypes
in advance, while using WANTSMF= you only need to list
the ID.SUBTYPEs you know about and want.
Thanks to Pat Artis, Performance Associates, Inc., USA.
Change 31.275 Spurious DATASET T102S225 DOES NOT EXIST messages are
READDB2 corrected for that archaic dataset, populated only with
VMACDB2 DB2 V8, where it is written as ID=102 SUBTYPE=IFCID=225,
Dec 25, 2013 and thus read with %READDB2. Instead, in DB2 V9 plus,
Dec 26, 2013 IFCID=255 is written as ID=100 records and read with
TYPEDB2/BUILDPDB. In all versions, however, all QW0225xx
variables are output in the PDB.DB2STATS dataset, which
contains all interval statistics
-MXGNOTEs listing the Subtypes/IFCIDS wanted are revised.
Change 31.274 On a system with only CPs and ICFs, the LPAR SHARE weight
VMAC7072 calculations were wrong, with values like weights instead
Dec 21, 2013 of the expected percentages. The test that deletes 'IFL'
now also delete 'ICF's from weight calculations.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 31.273 Support for RMF III CATG3 Cache Data which writes SMF 74
ADOCRMFV subtype 5 records to the RMF III VSAM file with the same
ASMRMFV metrics as RMF I SMF records, but with more granularity
ASUMCACH (typical 1 minute RMF III INTERVAL and yet take less DASD
EXZRB74C space (only active devices are written in the one-minute
EXZRB74I III records, while all devices are written to RMF I SMF).
EXZRBCAT (Note: MXG outputs ONLY active devices so the output size
IMACZRB per interval will be the same.) This support creates the
VMACRMFV new ZRB74CA dataset, instead of naming it TYPE74CA, since
VMXGINIT archaic variables from segments that no longer exist are
Dec 23, 2013 not kept, but all other variable names are the same.
Dec 28, 2013 -ASUMCACH will now read either SMF TYPE74CA or RMF ZRB74CA
to create PDB.ASUMCACH, looking for ZRB74CA first.
-Notes for collection and use of RMF III Cache Data:
-The RMF Monitor I parameters CACHE and ESS must also be
in effect on the same system with the RMF Monitor III
CACHE parameter. The RMF Monitor I defaults are CACHE
and NOESS.
-If ESS is not in effect for RMF Monitor I on the cache
collection system the related PDB variables will be
missing values (in both TYPE74CA and ZRB74CA).
-From Newsletter FIFTY:
14. Specifying the RMF Monitor I CACHE Option in only
one SYSTEM's RMF parameters eliminates redundant
records on other systems and has been always
recommended. There are other RMF Monitor I options,
ESS(RANK) and ESS(LINK) and FCD along with CACHE
that should all be in one, and the same, SYSTEM, per
these IBM suggestions:
ESS(RANK) - Link performance statistics are gathered.
ESS(LINK) - Extent pool statistics and rank statistics gathered.
As ESS data gathering involves cache activity
measurement, it is recommended to specify both
options in common.
If you specify ESS together with NOCACHE, cache
data is gathered implicitly without writing SMF
74.5 records!
In a SYSPLEX, options CACHE and ESS can be specified
on any system sharing the measured devices.
Therefore specify the ESS and CACHE options together
on one selected system only to avoid duplicate data
gathering.
CACHE - Create SMF 74.5 TYPE74CA Cache Statistics
IMPORTANT: CACHE is the DEFAULT option IBM sets in
RMF Monitor I, so you MUST then ADD a statement with
NOCACHE in RMF parms for all but that one SYSTEM.
-With this change all RMF Monitor III documented tables of
practical use are now supported by MXG.
-Creating readable 74.5 records from the RMF III VSAM was
non-trivial in ASMRMFV, because those records can be more
than 32K bytes in the VSAM file, so longer records needed
to be broken into shorter, but complete, records.
-New ASMRMFV parameters CAT (alias H) and NOCAT (aliases
-CAT, -H) are provided to select or filter CATG3 table
data respectively.
-ASMRMFV messages RMFV036I and RMFV105I are updated to
show CAT table information.
-ASMRMFV validates the CAT header and each SMF Type 74.5
record contained in the CAT table.
-Initial ASMRMFV assembly environment message RMFV000I is
revised to show the assembly date as a Julian date, as a
date in ddmmmYYYY format, and as the 3 character day of
the week.
-The ASMRMFV source code prologue as well as the ADOCRMFV
documentation member are updated appropriately.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change
must be installed. See MXG SOURCLIB member JCLASM3 for
sample JCL for the assembly and link-edit install steps.
-Only data for active devices is collected which means
that for some Subsystem IDs (SSIDs) all device data
variables in the PDB could be missing for some RMF III
MINTIME intervals.
-Cache Controller data is gathered by individual device
address. There is no indication of which system in the
sysplex initiates a recorded event. Therefore, the data
can be gathered on any system sharing the cached devices.
-Avoid unnecessary high CPU utilization and duplicated
data by gathering cache activity data on only ONE system
per IBM documentation for either RMF Monitor I or RMF
Monitor III.
-Use the RMF Monitor I and RMF Monitor III parameter
NOCACHE to suppress cache data collection on all other
systems.
-Use CACHE(ssid1,ssid2,..,ssidn) in RMF Monitor III to
collect data for only those Subsystems needed. RMF
Monitor I does not support selection by SSID.
-Selection by Subsystem ID may also be needed if not all
subsystems are shared. In this case cache data
collection will be needed on more than one system.
-Consult the section "Generalizing Parmlib Members" in the
IBM RMF User's Guide for your z/OS level for a method to
control selection of which system records cache data.
Other approaches are certainly possible with system
automation tools.
-The best choice for a cache data collection system is one
with high uptime that is not already CPU stressed. z/OS
systems operating as z/VM guests will not record cache
data even if requested.
-All ASMRMFV messages that display a Julian date in the
format of YYYY.DDD are enhanced to show the date as
DDMMMYYYY and a 3 character day of the week.
-11 messages are updated to have the improved date
display:
RMFV000I, RMFV001I, RMFV006I, RMFV008I, RMFV012I,
RMFV013I, RMFV023W, RMFV025I, RMFV026I, RMFV032E, and
RMFV034I.
-Message RMFV008I showed an incorrect creation date when
a non-VSAM data set was supplied in error for a RMF III
VSAM data set. The creation date in this case will
not be shown.
-DSNAME= in the RMFV008I message is now abbreviated to
DSN= to conserve line space.
-1ST VOL= in the RMFV008I message is now abbreviated to
VOL= to conserve line space. It continues to show the
first volume for a multi-volume file.
Change 31.272 Invalid SMF 101 Subtype 1 created from ASG TMON/DB2 had
VMACDB2 INPUT EXCEEDED RECORD error that this change circumvents
Dec 19, 2013 while the problem is investigated. The triplets for the
QBAC and QTXK segments are reversed, and their count does
not always match the count of QPAC segments.
Change 31.271 Support for APAR OA43380 which adds CA*SPLITS and
VMAC42 CI*SPLITS in TYPE42S1-S4 and TYPE42D1-D datasets:
Dec 19, 2013 S1: SMF42FSA SMF42FSB
S2: SMF42FTA SMF42FTB
S3: SMFA2FSA SMFA2FSA
S4: SMFA2FTA SMFA2FTB
D1: SMF42GTA SMF42GTB
D2: SMF42GSA SMF42GSB
D3: SMFA2GTA SMFA2GTB
D4: SMFA2TSA SMFA2GSB
Change 31.270 Cosmetic. MXG Error Messages with 'ERROR:' starting in
VMAC28 byte one of the output are counted by SAS and flagged as
Dec 19, 2013 an ERROR on that page, and text printed in RED on the SAS
log, but that was not my intention, and these members are
corrected so that 'ERROR:' does NOT start in column one:
VMAC28 VMAC102 VMAC110 VMAC113 VMACDB2
VMACHURN VMACNMON VMACVMXA VMACXAM
Most of the "actual" error conditions detected by MXG are
printed 'MXGERROR: ' but there is a lack of consistency.
Thanks to MP Welch, Bank of America, USA.
Change 31.269 -If you specified "a small number" of IFCIDS, they weren't
READDB2 sorted into the output PDBOUT libname because of an
Dec 19, 2013 incorrect compare for GT 1 that should have been GT 0.
Dec 23, 2013 Probably caused by Change 31.128 (MXG 31.05).
Dec 25, 2013 -If you ran ANALDB2R with PDB=SMF and PDBOUT= was NOT set
to PDB, a U1950 ABEND was generated by VGETOBS if the PDB
libname did not exist in your SAS session. Caused
by the PDB2225 macro variable default of PDB and ANALDB2R
did not reset the value to the value of PDBOUT argument.
-Messages about datasets not being deleted were deleted.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.268 These RMFINTRV variables should not have been formatted
VMXGRMFI as TIME12.2 since none are durations:
Dec 18, 2013 OTHRSWAP OTHRTRAN OTHREXCP OTHRWKST OTHRSERV OTHRPGIN
TSO2SWAP TSO2TRAN TWO3SWAP TSO3TRAN TSO4SWAP TSO4TRAN
TRIVTRAN TRIVSWAP
Those variables have been buried in &R72VAR for a long
time and it was in the TIME12.2 format statement.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 31.267 Messages that there are 0 OBS or dataset was not found
VGETOBS are suppressed when dataset=_ALL_ is specified.
Dec 18, 2013
Change 31.266 Documentation of MSU/SERVICE variables. To be expanded.
VMAC7072 -In TYPE72GO dataset, MSU and Service units are the old
Dec 18, 2013 and original "Hardware MSU based on SU_SEC/R723MADJ.
Feb 3, 2016 -Variable SERVICE in TYPE72GO dataset is the sum of
these FIVE components
CPUUNITS SRBUNITS MSOUNITS IOUNITS ZIPUNITS.
(some old MXG notes have only the first four listed but
ZIPUNITS have always been included in SERVICE).
-Variable MSU72 is CPUTM*SU_SEC/1E6, "Hardware MSU", which
includes ALL of the recorded CPU times in the Service
Class 72s. This is the amount of MSU that were consumed
by this Service Class/Reporting Class during this
interval, based on SU_SEC.
-The MSU units in the TYPE70 MSU variables are "Software"
MSU based on the (smaller value) in CECSUSEC/SMF70CPA.
(because they are now used for "SOFTWARE PRICING").
-Current SMF70CPA=13,000 and SU_SEC=26,000 is an example.
-Text revised, Feb 3 2016: TYPE72GO variable MSUSOFT was
wrong, but was revised in Change 34.010 and does now
contain the Software MSU CECSUSEC/SMF70CPA based.
Change 31.265 Variable STC13MRC='Y' was incorrect when STC13MNR='Y'
VMACSTC should have been have been set, and STC13MNR='Y' never
Dec 17, 2013 was set; MXG tested 00/01 instead of 01/02 STC13RCI.
Thanks to Mike Jacques, BBand T, USA.
Change 31.264 -NMON data for Red Hat Linux has new Data Group metrics
EXNMONDG that create the new dataset
VMACNMON DDDDDD DATASET DESCRIPTION
VMXGINIT NMONDG NMONDG LINUX DATA GROUP METRICS
Dec 17, 2013 -The BBBP Configuration Records have no text in common
with the BBBP records previously supported so the
NMONBBBPxxx datasets will not be populated at this time.
If you can identify which BBBP data is important, I will
update the MXG Support for those data.
-Support for NFSCLIV4 record is supported with these new
variables created in NMONNFS dataset:
OPEN OPEN_CONF OPEN_NOAT OPEN_DGRD CLOSE SETATTR
RENEW SETCLTID CONFIRM LOCK LOCKT LOCKU
LOOKUP_ROOT RENAME
LINK SYMLINK CREATE PATHCONF STATFS READLINK
READDIR SERVER_CAPS DELEGRETURN GETACL SETACL
FS_LOCATIONS
Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.
Change 31.263 -ERROR.VMACTPMX. VARNAME=$INCLAI NOT FOUND because the MXG
VMACTPMX code for tokenid=51467 was $INCLA, which is now corrected
Dec 17, 2013 to $INCLAI for the test; the variable INCLA is unchanged,
Dec 18, 2013 but now will be populated.
-ERROR.VMACTPMX. VARNAME=$DBS_SD-bar NOT FOUND creates new
variable DBS_SDBA in TYPETPMX dataset.
Thanks to Paul Volpi, UHC, USA.
Change 31.262 -ANALDB2R Account Detail report had some incorrect average
ANALDB2R buffer calculations that could be repeated values. Values
Dec 16, 2013 impacted were Seq prefetch, list prefetch, dyn orefetch,
Dec 18, 2013 asycnh reads, hpool writes, hpool reads, hpool reads
failed.
-If you separated the larger datasets like DB2ACCT or
DB2ACCTP into separate DDNAMES and used the DB2ACCT*
parameters to point to those LIBNAMES, ANALDB2R did not
find the datasets since it only looked in the LIBNAME
pointed to by the PDB= parameter.
Thanks to Jim Lazowski, Northern Trust, USA.
Change 31.261 Support for DB2 IFCIDs 370 (OPEN TRACE DATASET) and 371
EX102370 (CLOSE TRACE DATASET) creates T102S370 and T102S371 data
EX102371 sets.
FORMATS
IMAC102
VMAC102
VMXGINIT
Dec 13, 2013
Thanks to Lori Masulis, Fidelity Systems, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 31.260 Variable HSMPLEX added to all reports and graphs and if
ANALHSM you are on SAS 9.3 or greater ODS GRAPHICS are used for
Dec 8, 2013 the graphs. A line plot was substituted for the bar chart
where AVG/MAX values by function are being graphed and
VMXGODSO/VMXGODSC were inserted to allow you to send the
output to HTML or PDF.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.259 Variable QWHSNIDIP='IP ADDRESS*FROM*QWHSNID' is added to
VMACDB2 DB2ACCT, DB2ACCTB, DB2ACCTP, DB2ACCTG, DB2ACCTR datasets
VMACDB2H and is populated only for QWHCATYP=8 (DDF Connections).
Dec 5, 2013 When the eight-byte text QWHSNID contains an IP address,
Dec 15, 2013 eight EBCDIC text characters represent the four hex bytes
('A971896F' is 169.113.137.111)), but the VTAM NID must
start with an alphabetic character, so those IP addresses
that start with digits 0 thru 9 for the first nybble, the
value in QWHSNID starts with 'G' thru 'P'. This encoding
was found in a note about message DSNL030I.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 31.258 -Support for IFCID 359 INDEX PAGE SPLIT record populates
VMAC102 the QW0359xx variables in existing T102S359 dataset.
Dec 3, 2013 QW0359DB='DATA*BASE*ID'
Dec 12, 2013 QW0359FL='FLAGS'
QW0359OB='INDEX*PAGE*SET*ID'
QW0359PG='SPLITTING*PAGE*NUMBER'
QW0359PT='PARTITION*NUMBER'
QW0359TE='TIMESTAMP*AT ENDING OF*SPLIT'
QW0359TS='TIMESTAMP*AT BEGINNING*OF SPLIT'
-The new DB2 Statement ID variable is written to SMF as
either a 4-byte binary or an 8-byte character field that
are now formatted HEX8. for the numeric variables or are
now INPUT as $CHAR8. and formatted $HEX16. for character
QW0172TZ QW0172H9 QW0172W9
QW0196W9 QW0196H9 QW1196H9 QW2196H9 .. QW8196W9.
QW0173CS QW0317ID
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori Masulis, Fidelity Systems, USA.
Thanks to Paul Volpi, UHC, USA.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.257 -INPUT STATEMENT EXCEEDED if TOKDANAM='UTYPE' was the last
VMAC80A segment because MXG expected a 4-byte binary number but
Dec 3, 2013 the field is a 1-byte EBCDIC &NUM1. field.
-New variables decoded and labeled with variable name:
TOKQUEST1 TOKQUEST2 TOKANS1 TOKANS2 TOKAD1 TOKAD2
TOKCOMPANY TOKCOUNTRY TOKFNAME TOKMNAME TOKLNAME
TOKSTATE TOKWTEL TOKZIPCODE
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 31.256 Cosmetic. INPUT for QPACLENX GE 428 actually read in 452
VMACDB2 so the INPUT is split to read thru 428 and then thru 452.
Dec 2, 2013
Change 31.255 Variable R744MCPI in dataset TYPE74MO for SCM does not
VMAC74 exist and was a "copy down" typo when that code block was
Dec 2, 2013 created; it is now deleted completely.
See Change 33.155. SCM data is now in TYPE74ST dataset.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.254 BVIR30 dataset was incorrect with VERSION 3 records.
VMACBVIR
Nov 28, 2013
Change 31.253 -Change 30.078 corrected SMSGDHWM/SMSGCCUR for CICS/TS 4.1
VMAC110 and earlier but the change of multiplicand was still
Nov 28, 2013 wrong for CICS/TS 4.2 and later.
Thanks to Paul Volpi, UHC, USA.
Change 31.252 -VMXGSUM. If a variable was missing in a NORMx parameter,
VMXGSUM a warning was issued pointing to a variable name but not
ASUM72GO to the specific NORMx parameter that was in error. The
Nov 25, 2013 warning message is now enhanced to contain the full text
of the NORMx parameter.
-ASUM72GO. The DURATM variable was not in the SUM= list
which raised a warning about a missing variable in NORM3.
Change 31.251 MXG 31.08-9 FORMATS fails with BACKLEVEL WPS VERSION 2
FORMATS in statement in line 22864:
Nov 22, 2013 PICTURE MGXLDATE OTHER='%0m/%0d/%0Y %0H:%0M:%0S'
Oct 10, 2014 (DATATYPE=DATETIME);
with "ERROR: Found "DATATYPE" when expecting )
because DATATYPE was not supported by WPS until their
Version 3.1 And MWRTDT format added in MXG 32.09 also
failed with WPS 2.05. MGXLDATE was never used and so
it was removed. MWRTDT is required by MOBWRK06 MOBILE
WORK Discount analysis to meet IBM's CSV file format.
Thanks to Ken Drody, State of Delaware, USA.
Thanks to Kre Martin Torsvik, EVRY AS, NORWAY.
Change 31.250 A spurious MXGWARN when a libname had not been referenced
VGETOBS led to a better way to identify TAPE data libraries and
Nov 22, 2013 to enhance the elimination of tape mounts:
If the LIBNAME has never been referenced:
First record is read as an INFILE and engine type is
identified so the LIBNAME can be issued with the
appropriate engine. If this is a disk library it is
NOT added to the list of DDs found on tape/sequential.
If the DDNAME is on tape and SPINTAPE NE YES and DATASET
NE _ALL_, OBS count is set to one and no further
processing is needed.
If SPINTAPE=YES or DATASET=_ALL_:
All tape volumes are read to find all datasets and
captured in MXGTABLES which is NOT deleted.
If DATASET NE _ALL_, then also looks for this
specific dataset in MXGTABLES, and will verify the
dataset exists and determine an OBS count.
Else if SPINTAPE NE YES and DATASET NE _ALL_ and
the dataset is on disk, looks for the specific
dataset without using MXGTABLES. This is also the
behavior on ASCII as LIBNAMEs must have been
identified to SAS with a LIBNAME statement.
If a dataset does not exist or has 0 OBS the calling
program may give you a message indicating the issue
and then will die gracefully. The results are in
global macro variables VGETDSN and VGETOBS. If
VGETDSN is empty, the dataset did not exist.
Thanks to MP Welch, Bank of America, USA.
Change 31.249 These datetime variables were INPUT but not formatted or
VMAC110 not LENGTH'd or were not kept, but no one had noticed,
Nov 18, 2013 except for the MXG QA tests, so this is cosmetic.
VMAC110 : DS7LSTRT DS7START
VMAC74 : SMF74GIE
VMAC75 : SMF75GIE
VMAC76 : SMF76GIE
VMAC77 : SMF77GIE
VMACBBMQ: CHLTOD0
VMACCIMS: IMSSTCK
VMACIMS : SYNCSTCK
VMACIMSA: STSTARTTOD SYNCSTCK TPCPCLCK
VMACOMCI: ESFTIME
VMACOPC : MT0OCCTOK
VMACROSC: TIME ==> Renamed to TEMPCKTI not KEPT
VMACSMF : TESTTIME ==> Renamed to SMFTIME
VMACSYSV: RTCLOCK RTCSTART SDCRETOD SCDRSTOD
VMACTMMQ: LMRKTOD2
VMACTMNT: REND ==> Renamed to RENDTIME
VMACTMO2: T2INEDTS T2INSDTS TMMDXSTK TXINEDTS TXINSDTS
VMACTMV2: IPLTIME
VMACVMXA: PLSFOB1T PLSFOBTM
VMACXPSM: OUTGTIME
Change 31.248 If you specified DATES= any of the "one word" tokens like
ANALGRID LASTWEEK, etc., a logic error occurred because &TO was a
Nov 17, 2013 null value. Now, FROM=INPUT("&FROM",?? DATE.) is used so
a missing value results instead of the error.
Thanks to Andrew Woods, Interactive Data, ENGLAND.
Change 31.247 ERROR: WORK.MXGTABLES NOT FOUND occurs if PROC ANYTHING
VGETOBS without a DATA= argument was executed after %VGETOBS was
Nov 15, 2013 executed, because in the absence of a DATA= argument, SAS
uses the &SYSLAST macro variable, and VGETOBS created and
then deleted the WORK.MXGTABLES dataset, but &SYSLAST is
not changed when that last-created dataset is deleted!
(But even if SAS had set &SYSLAST to a _NULL_ value, the
PROC ANYTHING would still fail with a NO DATASET FOUND.)
The MXGTABLES dataset, added in 31.06, is created and is
normally deleted by %VGETOBS, an internal utility used in
many (52) MXG members, primarily to determine if a SAS
dataset has any obs (but also used to avoid tape mounts
as documented in Change 31.212, and it is NOT deleted if
SPINTAPE=YES it set). Now that this exposure has been
understood, VGETOBS is revised to store &SYSLAST at entry
and that dataset is restored in &SYSLAST at exit. Had we
been slightly smarter, this change should have been made
to VGETOBS instead of changing ANALHSM in Change 31.211,
which also failed due to the absence of a DATA= argument
after VGETOBS had been executed there! Note that there
is NOTHING wrong in a PROC without a DATA= argument, as
long as the &SYSLAST dataset actually exists!
-Although undocumented, setting automatic macro variable
&SYSLAST also sets the automatic macro variable &SYSDSN
and the system option _LAST_.
Thanks to Otto Burgess, ATPCO, USA.
Change 31.246 The data used for testing had only a single CEC so the by
GRAFCEC statement that included CECSER had no problem. But when
Nov 13, 2013 data from multiple CECs was included a not sorted error
occurred because CECSER was not in the sort BY list.
Change 31.245 Support for APAR PM90886 adds these DB2ACCT variables for
VMACDB2 IBM DB2 Analytics Accelerator (IDAA)/NETEZZA modelling:
VMAC102 QWAC_ACCEL_ELIG_ELA='ACCEL*ELIGIBLE*ELAPSED*TIME'
Nov 13, 2013 QWAC_ACCEL_ELIG_CP ='ACCEL*ELIGIBLE*CP CPU*TIME'
Dec 13, 2013 QWAC_ACCEL_ELIG_SE ='ACCEL*ELIGIBLE*ZIIP CPU*TIME'
Dec 16, 2013 -IBM did confirm that the new fields are only in IFCID=3
Dec 18, 2013 (ID 101 Subtype 0) are not in IFCID=369 (ID 100 SUBTYPE
5) DB2STAT5 data which also contains the QWAC DSECT.
-Variable QWP4ACMO='ACCELMODEL*PARAMETER*VALUE' is
added to T102S106 dataset.
-Dec 13: The QWAC DSECT was received and code revised but
no data available for validation.
-Dec 13: The Q8ST DSECT was revisited and Q8STQUEW was not
input causing many of the Q8STxxxx variables in DB2STATS
to be incorrect.
-Dec 16: IBM Support confirmed the values in variables
Q8STCCPU and Q8STWCPU are percentages times 100 so they
are now correctly input with two decimal places.
-Dec 18: The new fields in DB2ACCT were validated.
Thanks to Tim King, Blue Cross Blue Shield of South Carolina, USA.
Thanks to Scott Chapman, AEP, USA.
Thanks to Clinton Moore, Verizon, USA.
====== Changes thru 31.244 were in MXG 31.08 dated Nov 12, 2013=========
Change 31.244 TYPE21 (a/k/a PDB.TAPES) variables BYTEREAD and BYTEWRIT
VMAC21 were wrong or missing for DEVICE=3590 when SMF21MFV was
Nov 12, 2013 NOT on (i.e, when SMF21MCR/MCW/MDR/MDW were NOT valid),
due to incorrect logic that did not use SMF21BRN/SMF21BWN
(SMF21NCT was ON, which applies ONLY to 3590 devices).
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 31.243 Change 31.186 (MXG 31.07) inserted LENGTH DEFAULT=&MXGLEN
ASUM113 but the 113 variables must be stored in LENGTH DEFAULT=8
Nov 12, 2013 because they are large numerics that are then DELTA'ed;
those defaults are now 8.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.242 Reserved Change Number
Nov 12, 2013
Change 31.241 Support for CICS User field CMODNAME,CMODHEAD=USTHRD00.
IMACICVF
UTILEXCL
VMAC110
Nov 12, 2013
=====Changes thru 31.240 were in FIRST MXG 31.08 dated Nov 12, 2013=====
Change 31.240 Support for DB2 V11.1 (COMPATIBLE). MXG 30.30+ TOLERATES
VMACDB2 V11 with no EXECUTION error, but MXG 31.04 is REQUIRED to
VMAC102 correct QLSTxxxx variables in DB2STATS for V10 and V11.
Nov 11, 2013 -All new V11 fields were added AT THE END OF SEGMENTS so
MXG Version 30.30+ tolerates V11.1, but new variables are
not output.
-Dataset PDB.DB2STATS now correctly contains all of the
IFCID=225 variables, and (as previously documented but
not actually implemented) dataset DB2ST225 will always
have zero observations, when TYPEDB2/BUILDPDB is used.
Unintentionally, DB2 V10 IFCID=225 data was output in
DB2ST225 dataset, and DB2 V9 IFCID=225 data output in
DB2STAT4 dataset. Fortunately, DB2ST225 and DB2STAT4
were then combined into PDB.DB2STATS, so there was no
actual error, as long as you use PDB.DB2STATS dataset.
Now, V9-V11 IFCID=225 are output in DB2STAT4 and the
DB2STAT4 KEEP= list contains all QW0225xx variables.
-If you still have archaic DB2 V8 with IFCID=225 records,
you will need to use %READDB2(IFCIDS=STATS) to create the
WORK.T102S225 dataset for V8 and DB2STAT4 for V9-V11 so
all 225s from all versions are output into PDB.DB2STATS.
-Dataset DB2ACCT new variables in DB2 V11.1:
QWACATCT='ACCUMULATED*AUTONOMOUS*WAIT*COUNT'
QWACATRY='AUTONOMOUT*ROLLUPS*IN THIS*RECORD?'
QWACATWT='ACCUMULATED*AUTONOMOUS*WAIT*TIME*/
QWACPQCT='WAITS*FOR*PARALLEL*SYNCH'
QWACPQRY='RECORD*CONTAINS*PARALLEL*QUERY*ROLLUP?'
QWACPQWT='WAIT TIME*FOR PARALLEL*SYNCH*/
QXALTMP ='ALTER*MASK*OR*PERMISSION'
QXCREMP ='CREATE*MASKS*OR*PERMISSION'
QXCRTSV ='CREATE VARIABLE'
QXDEGAT ='PARALLEL*FALLBACKS*SEQ MODE*AUTONOMOUS'
QXDRPMP ='DROP*MASK*OR*PERMISSION'
QXDRPSV ='DROP VARIABLE'
QXHJINCS ='RID APPEND*HYBRID*JOIN*NO RIDPOOL'
QXHJINCT ='RID APPEND*HYBRID*JOIN*RIDS EXCEEDED'
QXMAXESTIDG='MAX PARALLEL*GROUP*ESTIMATED*DEGREE'
QXMAXPLANDG='MAX PARALLEL*GROUP*PLANNED*DEGREE'
QXN1093A ='SERVICEABILITY*QXN1093A'
QXN1093B ='SERVICEABILITY*QXN1093B'
QXPAROPT ='PARALLEL*DEGENERATED*OPTIMIZATION'
QXPFMAXUG ='SERVICEABILITY*QXPFMAXUG'
QXPFMAXUM ='SERVICEABILITY*QXPFMAXUM'
QXPFSENUM ='SERVICEABILITY*QXPFSENUM'
QXPFSENUMG='SERVICEABILITY*QXPFSLNUMG'
QXPFSLNUM ='SERVICEABILITY*QXPFSLNUM'
QXRSMIAP ='RID LIST*RETRIEVAL*SKIPPED'
QXSISTOR ='SPARSE*INDEX*DISABLES*INSUFF STORAGE'
QXSIWF ='SPARSE*INDEX BUILDS*PHYS WORK FILE'
QXSTARRAY_EXPANSIONS='ARRAY*VARIABLE*EXPANDS*GT 32K'
QXSTODGNGRP='PARALLEL*DEGENERATE*TO SEQ*SYSTEM STRESS'
QXSTOREDGRP='PARALLEL*REDUCED*SYSTEM*STRESS'
QXWFRIDS ='RID OVFLO*NO RIDPOOL*STORAGE'
QXWFRIDT ='RID OVFLO*RIDS EXCEED*INTERNAL LIMIT'
QTGAFCNT ='FALSE*LOCK*UNLOCK*CONTENTIONS'
-Dataset DB2ACCTP new variables in DB2 V11.1:
QPACAACW='WAIT*DURATION*ACCELERATOR'
QPAC_PQS_WAIT='WAIT*DURATION*PAR QUERY*SYNC'
QPACAACC='WAIT*TRACES*ACCELERATOR'
QPAC_PQS_COUNT='WAIT*DURATION*PAR QUERY*SYNC'
-Dataset DB2ACCTW now outputs all segments in each record;
previously, only the first segment was output; there were
no new variables added by V11; this was discovered when
examining possible new variables!
-Dataset DB2STATS (from Subtype 0) new variables:
QWSDLRG ='HIGH USED*RBA ADDRESS*OF LOG'
QSST_RSMAX_WARN='TIMES*REALSTORAGE_MAX*WARNING*REACHED'
QSST_P64DISNUM='64-BIT*POOL*CONTRACTS'
QSST_P64DISBLK='64-BIT POOL BLOCKS*REQUIRED*DISCARD
QSST_P64DISPGS='64-BIT POOL PAGES DISCARDED'
QSST_CONTSTOR_NUM=31-BIT*POOLS*CONTRACTED*CONTSTOR'
QDSTNQMN='MIN QUEUED*DURATION*THIS PERIOD'
QDSTNQMX='MAX QUEUED*DURATION*THIS PERIOD'
QDSTNQAV='AVG QUEUED*DURATION*THIS PERIOD'
QDSTNCCW='QUEUED*CONNS*SOCKETS*CLIOSED*MAX WAIT'
-Dataset DB2STATB (from Subtype 1) new variables:
(where n=1,2,3,4 for the four groups of buffer vars)
QBnTSMIN='MIN*BUFFERS*ON SLRU'
QBnTSMAX='MAX*BUFFERS*ON SLRU'
QBnTHST ='TIMES WHEN*LEN OF*SLRU=VPSEQT'
QBnTRHS ='TIMES*RANDOM*GETPAGE*BUFFER HIT'
-Dataset DB2STATS (from Subtype 0) INPUT but NOT KEPT
QJSTSPNN &PIB.4.
QJSTSPNI &PIB.8.
QJSTCLID &PIB.4.
QJSTCL2 $EBCDIC2.
QJSTCLSN $EBCDIC10.
QJSTAVAL $EBCDIC128.
because all are documented as Serviceability without
any labels. They could be output using _KDB2ST0 macro.
-Dataset DB2STATS (from Subtype 1) new variables:
QISTI2AC='NON-SORT*DM*IN MEM*WKFILE*ACTIVE'
QISTI2AH='NON-SORT*DM*IN MEM*WKFILE*MAXIMUM'
QISTI2OF='TYPE-2*INMEM WFS*OVERFLOWS'
QISTIMNC='WF NOT*CREATED*DUE TO*CRITICAL*STORAGE'
QISTASTH='WFDB*AGENT USAGE*ALERT*THRESHOLD'
QISTSSTH='WFDB*SPACE USAGE*ALERT*THRESHOLD'
QISTAMXU='WFDB*MAX STORAGE*USED BY*ANY THREAD'
QISTWSTG='CURR WFDB*STORAGE*CONFIG*ALL TBLSP'
QISTDGTTSTG='WFDB*DGTT*PREFERRED*STORAGE'
QISTDGTTCTO='CURR*ALL AGENT*TOT STORAGE'
QISTDGTTMXU='MAX*ALL AGENT*TOT STORAGE'
QISTWFSTG='TOT*PREFER*STORAGE*CONFIG*IN WFDB'
QISTWFCTO='CURR*TOT*STORAGE*ALL WF*ALL AGENTS'
QISTWFMXU='MAX TOT*STORAGE*ALL WF*ALL AGENTS'
QISEKSPA8='STORAGE*ALLOCATED*SHAREABLE*SQL'
-Dataset DB2STATS (from Subtype 4) new variables:
QW0225_LMWRITE_REAL='LM*WRITE*BUFFER*BYTES*REAL'
QW0225_LMWRITE_AUX ='LM*WRITE*AUX?*RESERVED'
QW0225_LMCTRL_REAL ='LM*WRITE*CONTROL*BYTES*REAL'
QW0225_LMCTRL_AUX ='LM*WRITE*CONTROL*BYTES*AUX'
QW0225SC8='ALLOC*SHAREABLE*STORAGE*DYNAMIC SQL'
QW0225LS8='REQ*SHAREABLE*STORAGE*DYNAMIC SQL'
QW0225SX8='ALLOC*SHAREABLER*STORAGE*STATIC SQL'
QW0225HS8='HWM*REQ*SHAREABLE*STORAGE*DYNAMIC SQL'
-Dataset T102S106 new variable, added back in DB2 V10:
QWPBIMTZ='IMPLICIT*TIME*ZONE'
9999999=CURRENT
-9999999=SESSION
Other values, -779 to +840 represent -12:59 to +14:00
-Only these other ID=102 IFCIDs have been data-verified;
none were changed: 105, 199, 254, 261. Other IFCIDs for
V11 will need actual SMF data for update/validation.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 31.239 Values for MG073FE format values 07x,08x,11x,12x and 13x
FORMATS were corrected:
Nov 7, 2013 07X='07X:FEX8 AUTO@2GBPS'
08X='08X:FEX8 AUTO@4GBPS'
11X='11X:FE8XS AUTO@2GBPS'
12X='12X:FEX8S AUTO@4GBPS'
13X='13X:FEX8S OP@8GBPS'
Thanks to Pat Sheehan, FIS Technology.
Thanks to Kenneth Thornbrough, FIS Technology, USA
Change 31.238 Variable QAPLTFM (PLATFORM) added to TMMQQAA dataset.
VMACTMMQ
Nov 7, 2013
Change 31.237 The PCTIFLBY in datasets ASUMCELP and ASUMCEC incorrectly
VMXG70PR used the sum of IFLs allocated to all LPARS, which makes
Nov 6, 2013 no sense for these CEC-level datasets. It is corrected
to use the number of installed IFLs, NRIFLCPU, which is
also now stored in the count variables IFLCPUS/LPARCPUS.
Thanks to Julian Smailes, Experian, ENGLAND.
Change 31.236 DB2 Trace IFCID=196 now outputs sets of variables for up
VMAC102 to nine lock holders/waiters.
Nov 6, 2013
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 31.235 REPLACED MAR 27, 2014: See Change 32.073 which supports
VMACSMF reading from //SMF for VBS dumped data and/or //LOGGER.
VMXGINIT Original change text:
Nov 12, 2013 SMF Logstream DATA MIGHT be readable directly by MXG with
%LET READLSMF=0; in your //SYSIN.
which:
Changes the DCB for INFILE SMF to VB,32756,32760 inside
the _SMF macro that is defined in VMACSMF.
(Reading with VBS caused an IEC141I 013-A8 ABEND),
and the value in READLSMF is used for OFFSMF.
(This was coded when I thought perhaps OFFSMF=4 would
be required for the LOGGER, which is required to read
VSAM, but OFFSMF=0 with VB appear so far to work fine.)
-The SMF DD needs SUBSYS=(LOGR,IFASEXIT). The DCB on the
SMF DD is unimportant since what is set in _SMF is used.
Unfortunately, unlike VSAM that can be detected so the
normal MXG program reads either VSAM or BSAM dumped SMF
data, there is no way to detect the input is Logstream
Data, so you must use %LET READLSMF=0; to try to read!
-If you test this technique, please protect your job with
a TIME= parameter to ABEND if a CPU Loop occurs. An early
test did appear to CPU loop, but that case has NOT been
repeated in any subsequent tests.
-Reading the LOGGER file with either RECFM=VB or RECFM=U
and using INPUT;LIST; produces a SAS hex dump that does
NOT show a BDW nor RDW and it is possible that using
U or VB might be equally functional. Please report any
success OR FAILUREs to support at mxg.com and this change
text will be updated if more is discovered.
-A note posted to IBM-MAIN after MXG 31.08 was GA states:
We do not ship an official mapping macro for the SMF
buffers returned by a log stream browse. The intended
interface to get SMF records in log streams is IFASMFDL.
You can however IXGBRWSE the log stream and see the
buffers are returned in a consistent format, but this is
of course not supported by IBM.
In some cases the data returned by the log stream browse
has to be manipulated by SMF before the user sees it,
such as if zEDC compression is turned on in z/OS 2.1.
Thanks to Seighart Seith, FICUCIA, GERMANY.
Change 31.234 Final semicolon for one of the several LIBNAMEs was not
VGETDDS generated, but only if GDGs were involved. &EXOUT was
Nov 4, 2013 not always initialized; it is used to keep track of DDs
that were found in EXTFILES that may or may not be SAS
data libraries; if at the end it is non-zero length a
warning is produced showing the DDs that were found that
way. &INCR, used only for GDG, was not used in two %DOs.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.233 Correction for IMF 4.2 thru 5.1 WRONG VALUES IN CIMSTRAN.
VMACCIMS MXG code was misaligned, impacting these newer variables:
Nov 4, 2013 TRNEWLMC TRNOTCON TRNOTSTC TRNOTSOC TRNOTPRT TRNOTIP
TRNOTCLN TRNOTUSR TRNOTSTF TRNOTSYF TRNOTSLF TRNOTCLF
TRNOTSCF TRNOTCOR TRNOTCLP TRNMQMID
Also TRNOTCON is now formatted DATETIME21.2 and variables
TRNOTUSR, TRNOTSTC, TRNOTCLN, and TRNOTMAM are EBCDIC and
not $HEX formatted.
-This update also required VMXGINIT from 31.08 to support
&IMFMQ that was added by Change 31.206.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 31.232 ZRBDVT observations with DVTSAMPA=0 but non-zero ACTIVITY
EXZRBDVT in EXZRBDVT's definition were not output; these variables
VMACRMFV CONNTM PENDTM DISCTM DVBUSYTM CUBUSYTM SWPODLTM were set
Nov 3, 2013 to a missing value when DVTSAMPA=0, but some, plus CMRTM
were found to be non-zero even with DVTSAMPA=0. Now they
are always calculated, and all are included in ACTIVITY
so observations are output when ANY are non-zero. So, how
can there be activity with DVTSAMPA=0? All cases observed
were for TAPE devices and all were the last observation
for a VOLSER; some variables (CONNTM, DISCTM) were almost
equal to the DURATM. Presumably, this is activity for
the dismount of a VOLSER. This condition was discovered
when the new ASMRMFV DVTNOZEROIO option (Change 31.230)
wrote 607 records (of 1,932,611) that were not output by
the ACTIVITY test in EXZRBDVT.
-A cosmetic change was made in VMACRMFV so the ZRBxxxx
datasets are created in alphabetical order to make it
is easier to find how many obs were created in each.
Change 31.231 $MGSMFID format now decodes SMF ID=28 & ID=119 subtypes.
FORMATS
Nov 2, 2013
Thanks to MP Welch, Bank of America, USA.
Change 31.230 -RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ADOCRMFV -Enhanced DVT table filtering added as discussed below.
ASMRMFV -New parameters ZEROIO/NOZEROIO are added and are only
Nov 3, 2013 applicable to RMF Monitor III DVT processing by ASMRMFV.
Nov 7, 2013 -Alias for ZEROIO is ZIO and the aliases for NOZEROIO are
NOZIO or NZIO. The default is NOZEROIO.
-ZEROIO specifies output of all volume entries from the
DVT table to the RMFBSAM file regardless of I/O activity.
This was the ASMRMFV behavior in prior versions.
-NOZEROIO specifies output of only volume entries from the
DVT table to the RMFBSAM file that have I/O activity.
This is new default ASMRMFV behavior with this version.
THIS CHANGED THE ZRBDVT SIZE FROM over 66,666 cyl to less
than 14,000. Note that we also recommend that ASMRMFV use
PARM='NOSHD,NORED' to reduce the output size, and if you
are not planning on detail analysis of wait types, NOUWD
can be added for further space reduction.
-DSNTYPE=LARGE is now supported for the required RMFBSAM
output file as well as the optional RMFFILT and RMFSKIP
files
-A DVT volume entry in a MINTIME interval is considered to
HAVE I/O activity if ANY of the following I/O measures
are NON-ZERO using the DVT fields and calculations shown:
* Connect Time (DVTCOTIL-DVTCOTIF)
* Pend Time (DVTPETIL-DVTPETIF)
* Disconnect Time (DVTDISIL-DVTDISIF)
* I/O Queue Length (DVTIOQLC)
* Accumulated I/O Instruction Count (DVTSAMPA)
* Initial Command Response Time (DVTCMRIL-DVTCMRIF)
-Stated another way, if all of these I/O measures are zero
for a DVT volume entry and NOZEROIO is in effect the
entry is NOT output to the RMFBSAM file.
-During testing there was about a 93% reduction in DVT
output record volume with NOZEROIO in effect which also
improves performance during the PDB build. This may not
be typical and your results may vary.
-A second new filtering parameter only applicable to RMF
Monitor III DVT table processing is
DEVTYPE=ALL/DASD/TAPE.
-Aliases are DEVT= and DT=. The default is DEVTYPE=ALL
which provides the same behavior as earlier ASMRMFV
versions.
-DEVTYPE=ALL specifies that all DVT volume entries
regardless of device type are output to the RMFBSAM file.
-DEVTYPE=DASD specifies that only DVT volume entries for
disk devices are output to the RMFBSAM file. This
setting may be relevant for users only interested in disk
analysis from their PDB. Abbreviations for the DASD
value are DAS, DA, or D.
-DEVTYPE=TAPE specifies that only DVT volume entries for
tape devices are output to the RMFBSAM file.
Abbreviations for the TAPE value are TAP, TA, or T.
-DEVTYPE=DASD or DEVTYPE=TAPE may be used together with
NOZEROIO. In this case device type filtering occurs
before any zero I/O filtering.
-If both DEVTYPE=DASD and DEVTYPE=TAPE are specified only
the last occurrence takes effect.
-Enhancement for the Direct Method of running ASMRMFV is
discussed below.
-A new keyword MAXDSNAMES= is provided to allow user
specification of the number of entries in the dsname
table to contain INDSNAME= patterns when the Direct
Method is used with ASMRMFV. Aliases for MAXDSNAME= are
MAXDSNAME=, MAXDSN=, or MAXDS=.
-Prior to the addition of MAXDSNAMES= the only way to
change dsname table size was by a source change to
ASMRMFV followed by a re-assembly and re-link. The
dsname table was integrated as part of the program but
now resides in a separate memory area.
-MAXDSNAMES=nnnn specifies the number of entries to be
allocated in the dsname table. nnnn is an integer
ranging from 1 to 9999. The default is MAXDSNAMES=256.
Each dsname entry requires 44 bytes.
-While MAXDSNAMES=9999 is the maximum value supported by
ASMRMFV, in reality a realistic value is the maximum
number of TIOT entries supported by z/OS for single unit
DD statements.
-Initial ASMRMFV RMFV001I messages that show the current
execution environment are enhanced to show the TIOT SIZE
as defined in the ALLOCxx member in PARMLIB (shown as
TIOT SIZE=nnK), the maximum number of single unit DD
statements possible with that TIOT size (shown as
MAXDD=nnnn), and the number of DD statements used at the
start of ASMRMFV execution (shown as USEDD=nnnn).
-The actual maximum number of entries allowed for
MAXDSNAMES=nnnn is the value for MAXDD= less the value
for USEDD=. If MAXDSNAMES=nnnn exceeds this value it is
set instead to the result of MAXDD - USEDD.
-MAXDSNAMES=MAX may be specified instead and the result is
the number of dsname entries calculated as just described
above.
-NOTE: If MAXDSNAMES=nnnn or MAXDSNAMES=MAX is specified,
it MUST appear before ANY INDSNAME= parameters appear.
The first INDSNAME= option triggers the allocation of the
dsname table and the number of entries cannot then be set
later.
-New message RMFV038I appears when a dsname table is
allocated showing the number of dsname entries and size
in bytes.
-New second message RMFV038I appears when a dsname table
is freed or exhausted showing the number of entries
available/used and the percentage used.
-A second 32K output buffer used for filtering only has
been added. Any tables written to the optional RMFFILT
DD will be blocked just as if they were written to
RMFBSAM.
-NOZEROASI and NOZERODVT options were not always properly
shown in the RMFV037I options list message.
-Messages RMFV006I for filters and RMFV037I for options
are updated to show the new NOZEROIO and DEVTYPE=
parameters.
-Message RMFV007S had an incorrect value for Reason Code
when a GETMAIN, FREEMAIN, or DLVRP service error
occurred. These services do not issue a Reason Code
(only a Return Code) so this field is set to blanks in
these cases.
-Fixed a S0C4 Abend when the FROMDATE= value exceeded the
TODATE= value. ASMRMFV was attempting to read past the
SYSIN end of file when it should have terminated parm
processing. The same issue could occur if FROMTIME=
exceeded TOTIME= where FROMDATE= and TODATE= were the
same date.
-ASMRMFV now supports keywords up to 11 characters in
length for future development.
-NOTE: The prior suggestion for initial setting of ASMRMFV
parameters for new users was PARM='NODVT'. However, now
that a large percentage of DVT volume entries with zero
I/O activity can be filtered out with NOZEROIO by
default, that suggestion is changing.
-Instead use PARM='NOSHD,NORED' in JCL (or NOSHD NORED in
SYSIN). The MXG distributed EXZRBSHD and EXZRBRED output
exits for VMACRMFV suppress the respective SAS data sets
from being created later in the PDB build because they
contain only control data not useful for analysis.
Excluding these tables in ASMRMFV processing will reduce
PDB build overhead by not creating SHD and RED table
output in the RMFBSAM file in the first place.
-NOTE: If you do not plan to develop your own USE/WAIT
analysis by type of WAIT, you can also use add NOUWD to
the PARM= or SYSIN file to further reduce PDB build
overhead.
-The ASMRMFV source prologue as well as the ADOCRMFV
documentation member are updated appropriately.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Peter Gray, HP Australia, for the DSNTYPE=LARGE suggestion.
Change 31.229 -Documentation. Regarding the inconsistent interval data
VMACXAM DURATION (seconds) mentioned, contact VELOCITY SOFTWARE
Oct 25, 2013 for a band-aid "fix" with your zWRITE data-collection
script. Explain that you want to see consistent
15-minute interval data for the entire 24-hour period.
This would be akin to the IBM RMF SYNC(59M|00M) option.
-Also, you want to be up-to-date on VELOCITY zWRITE/zVPS
maintenance, that being at least PROD4142 to address some
instances when not all data was being flushed from the
in-memory buffers at zWRITE data-close (typically
end-of-day) time.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.228 IMS zIIP CPU time is created in IMF CIMSTRAN dataset as
VMACCIMS CPUZIPTM=TRXZTCPU-TRXZONCP;
Oct 25, 2013
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.227 These report members failed after the default argument
ANALAVAI PDB= was changed to &PDBMXG, which fails due to timing of
ANALBLSR macro variable resolution. This example shows the problem
ANAL72GO and that a direct circumvention requires THREE periods to
Oct 23, 2013 properly resolve to PDB.TYPE72GO:
Nov 12, 2013 %MACRO TESTIT(PDB=&PDBMXG);
%LET A=&PDB..TYPE72go;
%LET B=&PDB...TYPE72go;
%PUT A=&A;
%PUT B=&B;
%MEND TESTIT;
%TESTIT;RUN;
Why only these three, when MANY of the %MACRO members in
MXG have the same syntax? Because all of the others have
a %LET PDB=%UPCASE(&PDB); statement after the %MACRO, and
that (accidentally?) circumvents the macro timing, so if
these three had been properly created with the %UPCASE,
this peculiarity would not have been observed.
-ODS Graphics likes to override time formats with DATETIME
formats. YAXIS statement inserted to force it to use
the format as specified in the data. Nov 12 update.
Change 31.226 Support for Alebra Parallel Data Mover USER SMF record
EXTYPDM Performance Record creates TYPEPDM dataset:
IMACPDM dddddd Dataset Description
TYPEPDM TYPDM TYPEPDM Alebra PARALLEL DATA MOVER
TYPSPDM
TESSUSR1
VMACPDM
VMXGINIT
Oct 23, 2013
Change 31.225 Support for Emtex JESConnect product's SMF Performance
EXTYJESC Record creates TYPEJESC dataset:
IMACJESC dddddd Dataset Description
TYPEJESC TYJESC TYPEJESC JES2 CONNECT
TYPSJESC -VMXGIPV4 is created to convert IPV4 $CHAR4 fields into
TESSUSR1 dotted IPV4 text IP Address, similar to VMXGIPV6.
VMACJESC
VMXGIPV4
VMXGINIT
Oct 23, 2013
Thanks to Larry Stahl, IBM Global Services, USA.
Change 31.224 WPS Version 3.0 QA tests found these incompatibilities:
ANAL80A -INFILE operand TERMSTR, set in macro variable &MXGCRLF to
ANALAVAL CR/CRLF/LF for ASCII in VMXGINIT, to define the end of
ANALPATH line delimiter for input data files that can be either
ANALTAPE PC or Unix format, is not supported in WPS, so it is now
TYPESVC set only for execution under SAS. Currently, it is used
UTILEXCL only in TYPERACF, TYPETAPR and TYPEWWW.
VMXGINIT -In WPS, PROC APPEND BASE=PDB.CICSDICT NEW=CICSDICT; does
Oct 22, 2013 not propagate the Data Set Label from CICSDICT when the
BASE does not exist, while SAS does propagate that Label.
Using BASE=PDB.CICSDICT (LABEL='CICDIC: CICS DICTIONARY')
NEW=CICSDICT; also does not work with WPS while it does
work under SAS. So, an extra DATA step was needed after
the PROC APPEND to label the dataset.
(The absence of the Data Set Label caused the MXG QA job
to complain in DOCVER when the label was not found.)
-TYPESVC/TYPSSVC - WPS does not support NAMED INPUT.
-ANAL80A - WPS does not support PROC REPORT.
-ANALAVAL- WPS does not support PROC CALENDAR.
-ANALMPL,ANALTAPE - WPS does not support VREVERSE in PLOT.
-ANALPATH- WPS doesn't support OVERPRINT in PUT statement.
Change 31.223 CICS variable WMQASRTM is added into the CPUTM variable
VMAC110 in CICSTRAN datasets; back in CICS/TS 4.1 IBM added the
Oct 20, 2013 field (WMQASRBT, clock and count) and documented it:
The WebSphereMQ SRB time this transaction spent
processing MQ API requests. This field is zero for
point-to-point messaging activity, but is non-zero if
MQ API requests result in publish and subscribe type
messaging. Note: WebSphere MQ only returns this value
to CICS when MQ Class 3 accounting information is being
collected in WebSphere MQ. To collect the MQ Class 3
accounting info, START TRACE(ACCTG) DEST(SMF) CLASS(3)
must be issued in WebSphere MQ.
This SRB CPU time is already included in the CPUTCBTM in
the SMF 30s for the CICS region.
Note: VMAC110/UTILEXCL/DOCVER have these MQ variables
MQGETWTM MQGETWCN MQREQS MQWTCBUS MQQONTCPU MQREQUS
that were originally decoded in 2003 in Change 21.212,
from CMODNAME='MQSERIES' and CMODHEAD='MQGETW/MQREQS/
MQWTCBUS/MQONTCPU/MQREQUS' but I can not find any of
those names in CICS Data Areas, nor have those names
appeared in any CICS Dictionaries in recent versions so
I presume they are no longer created, and the newer
WMQGETTM WMQGETTM WQMREQCT WMQASRTM WMQASRCN variables
have replaced the 2003 variables. They exist in DOCVER
only because I force them to be part of the MXG QA, and
since they are ONLY created by UTILEXCL and ONLY IF the
CMODHEAD/CMODNAME are found, it is unlikely they will
even exist in your CICSTRAN dataset.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.222 INPUT STATEMENT EXCEEDED RECORD for RMF III SPG record if
VMACRMFV the system had more than 1361 devices; NRVOLSTV=1674 was
Oct 19, 2013 used for the VOL count, but that is the total number of
VOLs in ALL SPG records. Instead, SPGVOLNR is the count
of vols in this record, and is now used for the loop.
Thanks to MP Welch, Bank of America, USA.
Change 31.221 Revisions to ODS support. Revised VMXGODSO/ODSC members
ANAL72GO and to the programs that use them.
ANALACTM -VMXGODSO (Open ODS destination) now supports TYPE=PDF
ANALAVAI and passes the ODSTYPE to VMXGODSC.
ANALDB2B -VMXGODSC now actually correctly closes the current ODS
ANALGRID destination and restores the original ODS settings using
ANALHTML two new user-supplied parameters:
ANALID ODSORIGTYPE= the type of ODS output you want set after
ANALIDMS close. If you leave it blank, it will
ANALINIT revert to HTML on ASCII and to LISTING
ANALNAT in all other cases.
ANALNATR ODSORIGFILE= if you want to direct the output after
ANALPKGS close to a specific destination; can be
ANALRAID blank
ANALRANK -ANAL72GO adds the ODSORIGTYPE and ODSORIGFILE parameters
ANALS225 for VMXGODSC and also adds ODS GRAPHICS if you are on SAS
ASUMRAID 9.3 or greater and only uses SAS/GRAPHS for earlier SAS
GRAFCEC versions (if SAS/GRAPH is detected) and WPS.
GRAFRAID -ANALACTM. Added ODSORIGTYPE and ODSORIGFILE parameters
GRAFRMFI for VMXGODSC. The report of the WLM configuration needs
GRAFWRKX landscape orientation; to make that happen with TYPE=PDF
VGETWKLD the OPTIONS ORIENTATION=LANDSCAPE; statement is added
VMXG2DTE before the ODS PDF statement. Since ORIENTATION is an
VMXGODSC option in the format NAME=VALUE, which was not previously
VMXGODSO used in VMXGOPTR, it was also revised to support it.
VMXGOPTR -ANALAVAI. Adds the ODSORIGTYPE and ODSORIGFILE parameters
VMXGRMFI for VMXGODSC and corrects a macro variable resolution
Nov 2, 2013 problem discovered in testing.
Dec 8, 2013 -ANALDB2B. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC.
-ANALGRID. VMXGODSO/VMXGODSC execution is now conditional
so you can combine the output of ANALGRID in a single
file with other reports and graphs, such as:
%VMXGODS(TYPE=PDF,FILE=MYREPORT.PDF);
%ANALGRID(ODSTYPE=NO,other parameters);
PROC SGPLOT;
etc...
%VMXGODSC;
-ANALHTML. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC.
-ANALID. If you invoked ANALID without running TYPEID,
it would fail without really telling you why because it
could not find the _WTYID _LTYID datasets. Now if it
detects that TYPEID has not been run it automatically
includes VMACID to create those macros.
-ANALIDMS. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC.
-ANALINIT. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC, and some reformatting for PDF output.
-ANALNAT and ANALNATR. PLOTs changed to SGPLOT. Comments
added to show how to create PDF output as well as HTML.
-ANALPKGS. PDF comments added and HTML commented so that
you can choose which you prefer
-ANALRAID. Added ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC. Modified for PDF output.
-ANALRANK. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC. Reduce to a single report.
-ASUMRAID modified for use with VMXGODSO and VMXGODSC. Now
makes GRAFRAID obsolete since it creates the same output
using HTML or PDF, but does it without SAS/GRAPH.
-ANALS225. Uses DB2STATS as input since the IFCID=225 data
in completely contained in PDB.DB2STATS datasets and the
T102S225 is not created. DB2 interval records are now
created every minute (cannot be changed) so the revised
report provides for summarization to any chosen interval.
ODSORIGTYPE and ODSORIGFILE parameters added.
-GRAFCEC modified to use VMXGODSO and VMXGODSC for HTML
or PDF and to use SGPLOT when on SAS 9.3 or higher.
-GRAFRAID - marked as obsolete. ASUMRAID creates the same
output more cleanly and without requiring SAS/GRAPH if
you use PDF or HTML.
-GRAFRMFI modified to use VMXGODSO and VMXGODSC for HTML
or PDF and to use SGPLOT when on SAS 9.3 or higher.
-GRAFTAPE. Adds the ODORIGTYPE and ODSORIGFILE parameters
for VMXGODSC and adds ODS GRAPHICS if you are on SAS 9.3
or later, and uses SAS/GRAPH for earlier SAS and WPS.
-GRAFWRKX (hourly bar chart of each workload in RMFINTRV)
now uses and describes each of the SGPLOTs; ODSORIGTYPE
and ODSORIGFILE added to parameters for VMXGODSC.
Dec 8: ODS statement parameter ODSSTYLE added pointing at
STYLES.MXGSTYLE1.
-VMXG2DTE. Option added to CYCLE parameter to enable tests
at any time. CYCLE=FORCE will override the input DD in
the MTD database.
-VMXGOPTR. Enhanced to handle options where the format is
OPTION optionname=value (LINESIZE PAGESIZE VMXGOPTR),
needed for ODS TYPE=PDF when landscape is desired.
-VGETWKLD modified to end if no workloads are found and
fill in all macro variables expected downstream.
-VMXGRMFI trend logic modified to stop if no workloads are
found.
-VMXGODSO Dec 8, 2013: Cleanup and realignment of code and
added new ODSSTYLE= argument (especially for PDF output).
Change 31.220 Enhancement to CRYPTOGRAPHIC PROCESSOR support.
VMAC7072 -TYPE7002 dataset variables R702ASDC R702ASDB R702ASDI
Oct 16, 2013 were misspelled (R702AEDC,R702AEDB,R702AEDI).
-IBM RMF Report tokens for the OVERVIEW/EXCEPTION reports
are now added as variables to the crypto datasets:
TYPE7002 - PCCIC
CRYCKR='COPROCESSOR*KEY-GEN*RATE'
CRYCTE='COPROCESSOR*TOTAL*AVG EXECUTE*TIME'
CRYCTR='COPROCESSOR*TOTAL*RATE'
CRYCTU='COPROCESSOR*TOTAL*PCT UTILIZATION'
TYPE70X2 - PCICA
CRYAC1E='ACCELERATOR*1024BIT-CRT*AVG EXECUTE*TIME'
CRYAC1R='ACCELERATOR*1024BIT-CRT*RATE'
CRYAC1U='ACCELERATOR*1024BIT-CRT*PCT UTILIZATION'
CRYAC2E='ACCELERATOR*2048BIT-CRT*AVG EXECUTE*TIME'
CRYAC2R='ACCELERATOR*2048BIT-CRT*RATE'
CRYAC2U='ACCELERATOR*2048BIT-CRT*PCT UTILIZATION'
CRYAC3E='ACCELERATOR*4096BIT-CRT*AVG EXECUTE*TIME'
CRYAC3R='ACCELERATOR*4096BIT-CRT*RATE'
CRYAC3U='ACCELERATOR*4096BIT-CRT*PCT UTILIZATION'
CRYAM1E='ACCELERATOR*1024BIT-ME*AVG EXECUTE*TIME'
CRYAM1R='ACCELERATOR*1024BIT-ME*RATE'
CRYAM1U='ACCELERATOR*1024BIT-ME*PCT UTILIZATION'
CRYAM2E='ACCELERATOR*2048BIT-ME*AVG EXECUTE*TIME'
CRYAM2R='ACCELERATOR*2048BIT-ME*RATE'
CRYAM2U='ACCELERATOR*2048BIT-ME*PCT UTILIZATION'
CRYAM3E='ACCELERATOR*4096BIT-ME*AVG EXECUTE*TIME'
CRYAM3R='ACCELERATOR*4096BIT-ME*RATE'
CRYAM3U='ACCELERATOR*4096BIT-ME*PCT UTILIZATION'
TYPE70Y2 - CPACF
CRYIADO='AVG TIME*COPROCESSOR*CALLS*AES*DECRYPT'
CRYIADR='RATE*OF*AES*DECRYPT*SERVICE*CALLS*SENT'
CRYIADS='AVG BYTES*PER*AES*DECRYPT*SERVICE*CALL'
CRYIAEO='AVG TIME*COPROCESSOR*CALLS*AES*ENCRYPT'
CRYIAER='RATE*OF*AES*ENCRYPT*SERVICE*CALLS*SENT'
CRYIAES='AVG BYTES*PER*AES*ENCRYPT*SERVICE*CALL'
CRYIH2I='INSTR*TO*HASH*DATA*SHA-224*SHA-256*ALGO'
CRYIH2R='HASHING RATE*SHA-224*SHA-256*ALGORITHM'
CRYIH2S='HASHING SIZE*SHA-224*SHA-256*ALGORITHM'
CRYIH5R='HASHING RATE*SHA-384*SHA-512*ALGORITHM'
CRYIH5S='HASHING SIZE*SHA-384*SHA-512*ALGORITHM'
CRYIHAI='INSTR*TO*HASH*DATA*SHA-1*ALGORITHM'
CRYIHAR='HASHING RATE*SHA-1*ALGORITHM'
CRYIHAS='HASHING SIZE*SHA-1*ALGORITHM'
CRYIMGI='INSTR*TO MAC*GENERATE'
CRYIMGR='MAC*GENERATION*RATE'
CRYIMGS='MAC*GENERATION*SIZE'
CRYIMVI='INSTR*TO MAC*VERIFY'
CRYIMVR='MAC*VERIFY*RATE'
CRYIMVS='MAC*VERIFY*SIZE'
CRYIPTR='PIN*TRANSLATION*RATE'
CRYIPVR='PIN*VERIFY*RATE'
CRYISDDI='SINGLE*DES*INSTR*DECIPHER*THE*DATA'
CRYISDDR='SINGLE*DES*DECRYPT*RATE'
CRYISDDS='SINGLE*DES*DECRYPT*SIZE'
CRYISDEI='SINGLE*DES*INSTR*ENCIPHER*THE*DATA'
CRYISDER='SINGLE*DES*ENCRYPT*RATE'
CRYISDES='SINGLE*DES*ENCRYPT*SIZE'
CRYITDDI='TRIPLE*DES*INSTR*TO*DECIPHER*THE*DATA'
CRYITDDR='TRIPLE*DES*DECRYPT*RATE'
CRYITDDS='TRIPLE*DES*DECRYPT*SIZE'
CRYITDEI='TRIPLE*DES*INSTR*TO*ENCIPHER*THE*DATA'
CRYITDER='TRIPLE*DES*ENCRYPT*RATE'
CRYITDES='TRIPLE*DES*ENCRYPT*SIZE'
TYPE70Y3 - CE4XP
CRYPAGE='GENERATION*ASYMMETRIC-KEY*AVG EXEC TIME'
CRYPAGR='GENERATION*ASYMMETRIC-KEY*RATE'
CRYPAGU='GENERATION*ASYMMETRIC-KEY*PCT UTILIZATION'
CRYPFAE='FAST*ASYMMETRIC-KEY*AVG EXEC TIME'
CRYPFAR='FAST*ASYMMETRIC-KEY*RATE'
CRYPFAU='FAST*ASYMMETRIC-KEY*PCT UTILIZATION'
CRYPSAE='SLOW*ASYMMETRIC-KEY*AVG EXEC TIME'
CRYPSAR='SLOW*ASYMMETRIC-KEY*RATE'
CRYPSAU='SLOW*ASYMMETRIC-KEY*PCT UTILIZATION'
CRYPSCE='COMPLETE*SYMMETRIC-KEY*AVG EXEC TIME'
CRYPSCR='COMPLETE*SYMMETRIC-KEY*RATE'
CRYPSCU='COMPLETE*SYMMETRIC-KEY*PCT UTILIZATION'
CRYPSPE='PARTIAL*SYMMMETRIC-KEY*AVG EXEC TIME'
CRYPSPR='PARTIAL*SYMMETRIC*RATE'
CRYPSPU='PARTIAL*SYMMMETRIC-KEY*PCT UTILIZATION'
CRYPTE='PKCS11*COPROCESSOR*AVG EXEC TIME'
CRYPTR='PKCS11*COPROCESSOR*TOTAL*RATE'
CRYPTU='PKCS11*COPROCESSOR*TOTAL*PCT UTILIZATION'
Thanks to David Wilbur, State of Washington CTS, USA.
Thanks to Steve Majerick, State of Washington CTS, USA.
Change 31.219 -If you only want to know which character variable(s) in
VMXGSRCH which dataset(s) contains a text string, RESULTS=COUNT
Oct 15, 2013 produces the simple report of names and counts.
-Specifying RESULTS=PRINT prints all variables in those
found observations (printing the first NOBS observations
with both variable name and label as heading) and now
also produces the COUNT report after the prints.
-A log message is printed when observations are found.
-The VALUE= argument does not need to be the exact value
of a variable. VALUE=XYZ will find XYZ123 or ABCXYZ or
any variable that has XYZ anywhere in its value.
Change 31.218 INVALID DATA FOR SCACTIME in ID=119 SUBTYPE=32 because
VMAC119 variable SCORIGIN was overlooked and not INPUT causing
Oct 10, 2013 the misalignment by one byte.
Thanks to Thomas Heitlinger, Fiducia IT AG, GERMANY.
Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.
Thanks to Dennis Gaertner, Fiducia IT AG, GERMANY.
Change 31.217 Support for CICS "multi journal records" adds examples in
EXCICJRN the EXCICJRN member to decode multiple journals to create
Oct 10, 2013 multiple datasets from different journal records. You
would copy the example EXCICJRN member into your "USERID"
MXG tailoring library, then comment out its default code
block, un-comment and modify its "multi" example code to
create and output your variables into CICSJOUR, then copy
the MACRO _SCICJRN and MACRO _KCICJRN definitions into
IMACKEEP in your tailoring library, to define which of
the WORK.CICSJOUR variables are output into which of your
new datasets. Then your SYSIN program would be:
%LET MACFILE=
%QUOTE( IF ID=110 AND SUBTYPE=0; );
%INCLUDE SOURCLIB(TYPE110);
_SCICTRN
RUN;
if you ONLY want to process the Journal Records.
Thanks to Paul Bennett, Euroclear, BELGIUM.
Change 31.216 INVALID DATA FOR S42CSYNC because it is not an SMFSTAMP8
VMAC42 value, instead containing a nonstandard 2013281F0916483F
Oct 10, 2013 format that is now "hand" decoded to 08OCT2013:9:16:48.3.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 31.215 New variables added to TYPETLMS are now supported:
VMACTLMS BACODLVL='ENHANCED*CODE*LEVEL*03X'
Oct 7, 2013 BAKEYIDX='ENCRYPTION*KEY*INDEX'
BAPCTCMP='PCT*OF COMPACT*FOR FILE'
BAPCTFIL='PCT*VOLUME*USED*BY FILE'
BAUSQFIL='USAGE*SEQUENCE*FOR FILE'
Thanks to Scott Barry, SBBWorks Inc, USA.
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 31.214 CICS dataset CICSJS variables SJSMAJCP and SJSMINCP in
VMAC110 statistics dataset CICSJS were incorrectly documented and
Oct 3, 2013 labeled as CPU time so MXG input them as such, but IBM
now confirms that they are elapsed time in milliseconds
in the record, so both are now correctly input, labeled
(TOTAL*ELAPSED*TIME IN MAJOR/MINOR GARBAGE COLLECTION)
and formatted TIME13.3 to display the millisecond as the
final digit in the decimal place.
Thanks to Mark Wittie, Fidelity Institutional, USA.
Thanks to Warren Cravey, Fidelity Institutional, USA.
Thanks to Paul Albrecht, Fidelity Institutional, USA.
Change 31.213 MXG 31.06-31.07 only, and only if syntax of 102.xxx was
UTILBLDP used to select ID=102 records by IFCID/SUBTYPE. Errors
Oct 4, 2013 for old-style MACRO _V102xxx were printed on the log.
Introduced in Change 31.184.
Change 31.212 New (internal) parameters SPINTAPE and NOEXIMSG added.
ANALDB2R -SPINTAPE=YES will cause VGETOBS to read an input SAS data
VGETOBS library when it is on tape/sequential format, building
Oct 18, 2013 the MXGTABLES dataset that list all SAS datasets on the
tape. Used now in ANALDB2R but available to other MXG
utilities. Normally, the MXGTABLES is used and then
discarded by VGETOBS, but with this parameter it is kept.
Default for SPINTAPE is NO in VGETOBS, set by caller.
-Option DATASET=_ALL_ will also cause MXGTABLES to be kept
for use in subsequent internal utilities.
-NOEXIMSG=NO (default) added to suppress messages when the
input datasets are on tape, after the first time that DD
is encountered.
-ANALDB2R exploits this new VGETOBS to snapshot a list of
all of the datasets found in the first libname in PDB=,
whether it is on tape or disk, and then builds a MACRO
variable with that list of available datasets, avoiding
the earlier design that required many executions of the
VGETOBS macro, potentially eliminating many tape mounts.
Change 31.211 ANALHSM exploited the fact that SAS will always look for
ANALHSM the last dataset created when doing a SORT or PRINT. But
Sep 26, 2013 the latest changes to VGETOBS now create a temporary
dataset that intervenes and disappears so the explicit
dataset to be sorted/printed had to be specified.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 31.210 Variables R744SATM,R744SDTM,R744SQTM,R744SSTM are in
VMAC74 seconds per event, but that was not obvious. Their label
Sep 25, 2013 now contain *SECONDS*PER....' and are formatted 8.6.
So a value of 0.000094 is 94 microseconds per ....
Thanks to Cesar V Cocco, CitiCorp, USA.
Change 31.209 -If you specified PDB=YES and used the LDB2xxxx parameters
READDB2 to reroute the output datasets, there was a failure when
CLEARDB2 looking for the YES DDNAME in VGETOBS. Should have been
Sep 27, 2013 pointing to the PDB2xxxx specific MACRO VARIABLE rather
than PDBOUT.
-Specifying STATS/STATISTICS but then Suppressing one of
the statistics datasets caused DATASET NOT FOUND errors;
now if a required dataset is not present, DB2STATS won't
be created but the READDB2 won't terminate with an error.
Not all old style macros defined in VMACDB2 were cleared.
This could cause many strange errors, but ONLY if there
were multiple executions of READDB2 in the same session,
e.g., the MXG QA Test stream. This change was found when
many additional %READDB2 QA tests of previously reported
errors were added to the QA stream.
-%TRIM and %QCMPRES %MACRO functions were replaced by
these %SYSFUNC calls to use COMPBL as those %MACRO
functions did not always work correctly and caused
errors where macro variables exceeded the 64K limit.
In addition, elimination of %TRIM and %QCMPRES removes
the past issues with incorrect SASAUTOS allocations.
%LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));
%LET IDREADS=%QCMPRES(&IDREADS 102);
%LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));
%LET IDREADS=%QCMPRES(&IDREADS 102);
Change 31.208 -ASUM113 variables LPARBUSY and MIPSEXEC were wrong for
ASUM113 the zEC12 processor; they should be divided by DELTASUM
Sep 24, 2013 and not DELTATM in those equations for the processor
Thanks to Andrew Hebden, Barclays, ENGLAND.
Change 31.207 -MXG 31.07. Debugging PUT statement in VMAC6 printed
VMAC6 SMF6LN3=162 LENLEFT=552 for every SMF 6 record.
Sep 24, 2013
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 31.206 -Support for IMF 5.1 (INCOMPATABLE, but only impacting the
VMACCIMS CIMSDBDS dataset; other existing datasets are unchanged.)
EXIMFMQ -New variables added to CIMSDBDS dataset:
IMACCIMS DBTDBVER='DB*VERSION'
VMXGINIT DBTFLOVF='FALSE*OVERFLOW*OCCURRED?'
FORMATS -New CIMSMQ dataset contains these MQ variables:
Sep 23, 2013 MQSSID ='MQSSID' MQGET ='MQGET*CALLS'
MQBACK ='MQBACK' MQINQ ='MQINQ '
MQCLOSE ='MQCLOSE' MQOPEN ='MQOPEN'
MQCMT ='MQCMT' MQPUT ='MQPUT*CALLS'
MQCOMM ='MQCONN' MQPUT1 ='MQPUT1*CALLS'
MQDISC ='MQDISC' MQSET ='MQSET*CALLS'
MQFLG1 ='MQFLAG1' MQUNKN ='MQUNKN'
Change 31.205 A graphical analysis of Latent Demand, based on Tivoli's
ANALATEN discussion found at:
Sep 21, 2013 HTTP://PUBLIB.BOULDER.IBM.COM/TIVIDD/TD/TDS390/
SH19-6818-08/EN_US/HTML/DRLM9MST50.HTM
Mar 22, 2014: Check for postings in archives and try:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/
/BOOKS/DRL5FS09/3.3.3?DT=20100105101315
====== Changes thru 31.204 were in MXG 31.07 dated Sep 20, 2013=========
Change 31.204 Change 31.200 (VGETOBS enhancement) stumbles with PDB=PDB
ANALDB2R if the data library that contains all of the DB2 datasets
Sep 19, 2013 is on tape. While that is, in general, bad practice, as
a mount and read is required for EVERY dataset needed by
your ANALDB2R request, it previously worked and will in
the near future, but for now, if your PDB is on tape and
you used ANALDB2R(PDB=PDB), this circumvention will avoid
the error (UNINIT variables messages, then other errors).
%ANALDB2R(PDB=WORK,DB2ACCT=PDB,USEACCT=YES,PMSTA02=NO,
PMSPR01=NO);
%ANALDB2R(PDB=PDB,STATSUSE=DETAIL,PMACC01=NO,
PMACC02=NO);
Please contact support@mxg.com to request CHANGE 31.204
when it is available.
This change is only documentation as of this date.
Thanks to John Schoenbeck, IBM Global Services, USA.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 31.203 -TYPE70 calculations of SHARE values were wrong if there
VMAC7072 were IFL engines in the CEC, because MXG output those IFL
VMXG70PR engines in TYPE70EN/EC/FORRMFI datasets and those SHAREs
Sep 23, 2013 values for the IFLs were incorrectly included in the z/OS
SHARE calculations. Only if IFLs are shared are there
non-zero SHARE values.
-ASUM70PR count of LPARIFLS in PDB.ASUM70LP/PDB.ASUMCELP
was wrong (larger than NRIFLCPU) if there were multiple
RMF intervals for the same summary INTERVAL, as when RMF
was stopped/started/changed.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 31.202 -Variable SM120AD4 was a missing value because AD3 and AD4
VMAC120 are 16-byte fields with 8-low order bytes of nulls and
Sep 18, 2013 MXG did not skip the AD3 low order bytes.
-But my data does not match the documentation. Following
SM120AD4 there is an 8-byte undocumented field containing
'FFFFB62000000000'X (-19830.66931 decimal) that looked to
be a GMT OFFset, but SM120ACD 'FFFFBCF10CC00000'X has the
correct value of -18000.85 for the -5 hour timezone so I
have no idea what that value actual is; it is input into
SM120TZX but not kept nor used. After that field there
are 24 reserved bytes.
Thanks to Mark Wittie, Fidelity Institutional, USA.
Change 31.201 Support for APAR OA40376 for z/OS 1.3 adds variables to
VMAC74 SMF 74 Subtype 5 RAID Rank/Extent Pool data; these vars
Sep 18, 2013 were added in z/OS 2.1 but overlooked previously:
R7451ZHL='ZHPF*LIST PREFETCH I/O REQUESTS'
R7451ZHH='ZHPF*LIST PREFETCH I/O HITS'
R7451GSF='GLOBAL*MIRROR*COLLISIONS*SIDEFILE'
R7451GSS='GLOBAL*MIRROR*COLLISIONS*SYNCHRONOUS'
APAR OA42682 adds BIT 4 value to R744FFLG.
Thanks to Lou Horton, NYS Office of Info Technology, USA.
Change 31.200 MXG 31.06 READDB2 could still fail on z/OS only, mostly
VGETOBS due to the IFCID=225 which has a unique requirement to
VMXGWORL use VMXGWORL, but recent changes to VGETOBS, which now
Sep 18, 2013 always returns the DSN of all sequential format datasets,
confused VMXGWORL which incorrectly used the _L102225
token instead of _W102225. Now, VGETOBS passes SEQ back
in the VGETMTYP macro variable, which, when detected,
redirects VMXGWORL to use the _W rather than the _L, that
might not exist. If the _W doesn't exist, then the _L
will be used, but if it does not exist, then there will
be a dataset not found failure.
-The incorrect note in comments in 31.06 READDB2 that the
PDB=XXX option of READDB2 required DISK was incorrect
and has been removed.
-Perhaps in our defense of this error:
The 31.06 VGETOBS solved two very different problems:
1. WPS failed when there was no LIBNAME when there was a
WHERE clause on PROC SQL read of DICTIONARY.TABLES.
Solved by looking at DICTIONARY.FILENAMES without a
WHERE first to see if the DD even exists.
2. SAS mounting and rereading every tape with every
execution of VGETOBS reading DICTIONARY.TABLES, even
when there was NO where clause.
Solved by keeping track of tape DDs and excluding
them from DICTIONARY.TABLES searches with a WHERE
CLAUSE NE.
-Solving problem 2 cut tape mounts in daily CICS/DB2 job
at one site from over 90 to less than 20.
Thanks to John Schoenbeck, IBM Global Services, USA.
Change 31.199 Variable S17NNDM was added to the BY list _B117NOD macro
VMAC117 to order by NODE name and to fully remove duplicates.
Sep 17, 2013 I missed this because my test data had only one value.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.198 -This JCL example changes the DSCB of a z/OS dataset from
JCLVBS2U RECFM=VBS to RECFM=U, WITHOUT copying the data, saving
Sep 17, 2013 the CPU and I/O and time for the copy. The changed file
can then be downloaded with ftp (the RECFM=U preserves
BDWs and RDWs) for sites that want to archive AND process
the file on the download platform (using RECFM=S370VBS &
LRECL=32760 on the FILENAME statement to read).
//JCLVBS2U EXEC PGM=IEBGENER
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD DSN=ZOS.VBS.FILE.TO.CHANGE,
// DISP=MOD,DCB=RECFM=U
//SYSUT1 DD DSN=NULLFILE,DCB=*.SYSUT2
The key is to use DISP=MOD and to copy NULLFILE which
ONLY changes the DSCB attributes and does NOT touch
the actual data in the original file.
-Note: if you ONLY want to READ the data and do not need
to archive, you would use the SAS ftp Access method that
is documented in the INSTALL member to directly read the
z/OS data over ftp without prior download, only writing
the SAS datasets on the download platform.
-While the technique can also change RECFM=U to VBS, and
while you can create a RECFM=VBS file on ASCII and upload
to z/OS, you cannot simply upload that file into RECFM=U
and then change the RECFM; you must upload the VBS data
into a RECFM=U,BLKSIZE=32760 file on z/OS, and then use
either the SAS UDEBLOCK or the ASM ASMDBLKU program to
reconstruct legitimate VBS data to read on z/OS.
Thanks to Dan Kaberon, EMC, USA.
Change 31.197 After MXG 30.30, for IDMS 17, dataset IDMSINS had zero
VMACIDMS obs because only SEQN=1 exists in version 17, but MXG
Sep 12, 2013 update expected SEQN=2 and did not output.
Thanks to Gitta Janssens, ColruytGroup, BELGIUM
Change 31.196 Support for APAR PM67806 adds new QW0225DMH with total
VMACDB2 DMH GETM storage, for both DB2 V9 and DB2 V10.
Sep 11, 2013 Today's change only supports V9 pending V10 APAR doc.
Thanks to Kerry J. Sommers, John Deere, USA.
Change 31.195A Cosmetic. DEBUGGING PUT statement TY50xxxx= in line 306
VMAC50 is now commented out.
Sep 10, 2013
Thanks to Dan Case, Mayo Clinic, USA.
Change 31.195 Cosmetic. Missing values messages for TASSYTI-TASENTI
VMACIDMS division by 4096 are eliminated by making the INPUT and
Sep 9, 2013 calculation inside a conditional DO group.
Change 31.194 31.02-31.06, z/VM 6.2.12 BROKEN CONTROL RECORD error. The
VMACVMXA MXG input INCORRECTLY expected 120 bytes in STOSHD (3.16)
Sep 9, 2013 record, but this record had only 112 so the INPUT of
ASCCTRSV and ASCDSRSV are now conditional and corrected.
Thanks to David Campbell, SunTrust, USA.
Change 31.193 -An undocumented change in z/OS 2.1 increased the length
VMAC0 of ID=0 records to 68 bytes, which caused the MXG ERROR
Sep 9, 2013 message that the ID=0 record was invalid and was deleted.
Sep 19, 2013 MXG 31.06 eliminated that ERROR message and the DELETE;
31.07 creates these two new variables in TYPE0 dataset:
SMF0MSWT='SWT STC*WAIT TIME*LIMIT*MINUTES'
SMF0MTWT='TWT TSO*WAIT TIME*LIMIT*MINUTES'
These fields are non-zero only if the corresponding new
SWT or TWT keywords are specified in your SMFPRMxx.
-That length test for the TYPE 0 record is ancient, from
the days when a TYPE 0 WAS an IPL event; many times when
a SYSPROG attempted to create a USER SMF record they had
accidentally created a record with ID=0, which then was
reported as an IPL, when there had been no IPL. Now, as
BUILDPDB creates the PDB.IPLS dataset from ID=90 that
DOES report an IPL event, the erroneous deletion of these
valid ID=0 records should not impact your IPL reporting.
But, because some sites still treat a zero as an IPL,
I chose to leave the length check in place for future
a SYSPROG to trigger!
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 31.192 Cosmetic. Comments for IMACICE1/E2/EZ tailoring now cite
UTILEXCL REPORT THREEA to find the counts of fields in those
Sep 9, 2013 optional members.
Change 31.191 READDB2 did not handle PDBOUT=WORK nor PDBOUT=XXX as
READDB2 documented, and could need an unneeded //PDB DD.
Sep 11, 2013 -PDBOUT=WORK, or PDBOUT=, was unintentionally changed by
Change 31.128 (MXG 31.05), writing DB2ACCT to the //PDB
LIBNAME instead of to //WORK, which caused an ABEND if
there was no //PDB DD in the JOB (and one is not needed
with PDBOUT=WORK). Circumvention: add a temporary DD;
//PDB DD UNIT=SYSDA,SPACE=(CYL,(500,500))
-PDBOUT=XXXXX (for some time) only wrote the T102Sxxx data
to the XXXXX LIBNAME; all DB2xxxxx Account and Statistics
datasets were instead written to their default (PDB).
-Now, PDBOUT= null, WORK, or XXXXX will create all output
only in the expected LIBNAMEs; as has been documented in
READDB2, with those PDBOUT vaLUES, you can not change the
output libnames, neither with a %LET Pdddddd=DDNAME nor
nor by using READDB2's LDB2ddd=DDNAME option.
-ACCIDENTALLY, if your PDBOUT=XXX was PDBOUT=PDB, almost
everything DID work as you expected.
Thanks to Otto Burgess, ATPCO, USA.
Change 31.190 -New variables are now INPUT and kept in TMMQQU dataset:
VMACTMMQ QUACCT QUAPPLNM QUAPPLTY QUASID QUBROWSE QUCCONNM
Sep 6, 2013 QUCFSTR QUCHNL QUCLWPRI QUCLWRNK QUCLWUSQ QUHSTAT
Oct 14, 2013 QUINPUT QUINQUR QULGD QULGT QULPD QULPT
QUMEDLGE QUMSGAGE QUMSGQTL QUMSGQTS QUNPMCLS QUOPENOP
QUOUTPUT QUPID QUPSBN QUPSID QUPSTID QUQMON
QUQMONST QUQMURID QUQSGD QUSET QUSTATQ QUTASKNO
QUTID QUTPIPE QUTRANID QUUNCOM QUURID QUURTYPE
QUUSERID QUALTDTE
-A new message reports record counts and bytes of both
compressed and uncompressed input.
-BY List macros have been revised to remove duplicates.
Change 31.189 Format $MGRMFCX for Crypto Coprocessor type expected
FORMATS '10'X for CEX41, but the value in the RMF record is an
Sep 6, 2013 '0A'x, so that value is now used for R7023CT/R7024CT.
Thanks to Michael Creech, Lender Processing Services, Inc., USA
Change 31.188 Change 31.120 added support for MQ SMF 115 ST2 SMDS/QESD
EXTY115S data new in MQ 7.1.0, but output only the first segment
IMAC115 and output it in incorrectly in MQMMSGDM, an interval
VMAC115 dataset. Since there are many structures, now, the SMDS
VMXGINIT data is output in new TYPE115S dataset with one obs for
Sep 4, 2013 for each application structure.
The IBM doc in CSQDQESD is incorrect, showing a length
of 328, but that includes the 8-bytes of the ID/EYEC,
and so only 320 bytes of data is documented. However,
the LQ length is 328, and IBM has added 8 bytes at the
end of each segment. but then, that first entry is 332!
MXG recognizes the IBM error and circumvents in code.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
====== Changes thru 31.187 were in MXG 31.06 dated Sep 3, 2013=========
Change 31.187 MXG 31.05. After Change 31.156, z/OS under VM only, zero
VMAC7072 obs in PDB.TYPE70. Variable VMSYSTEM is now set from the
Sep 2, 2013 NRCPUID if that APAR is not installed and then used to
force the output.
Thanks to Frank Lund, Evry AS, NORWAY.
Change 31.186 -Variable LSPRWKLD was incorrectly set to 'HIGH' instead
ASUM113 of 'LOW' when 3 LE L1MP LE 6 AND RNI LT 0.6.
Sep 2, 2013 -Cosmetic. LENGTH DEFAULT=&MXGLEN added Sep 17.
Thanks to Wayne Montefiore, CSC, AUSTRALIA.
Change 31.185 Original 31.06 VGETOBS member was not the final update.
VGETOBS See Change 31.180 for the final documentation.
Sep 3, 2013
====== Changes thru 31.184 were in MXG 31.06 dated Sep 1, 2013=========
Change 31.184 -Multiple executions of BLDSMPDB after UTILBLDP now works.
BLDSMPDB Old-style macros _SPINCNT _SPINUOW and _TIMEDIF, (and,
UTILBLDP with USERADD=, _VARUSER and _CDEUSER and any generated
Aug 31, 2013 _CDE _VAR macros are now cleared when BUILDPDB=YES is
Sep 17, 2013 specified, AFTER any generated code has been executed,
with MACRO _xxxxxx _xxxxxx % syntax to redefine an
old-style macro for reuse. This part of this change is
really likely needed only for the MXG QA job since it
is unlikely actual use would need multiple executions
of BLDSMPDB in the same SAS session, but now can be done.
-BLDSMPDB is now protected and will fail if the option to
use the "INSTREAM" SAS code created by UTILBLDP does not
exist, i.e., if that INSTREAM file has zero records.
-Other errors were found in testing on zOS with RUNDAY=PDB
which suppressed running weeklies. The logic looking for
the WEEK FILENAME failed with missing SUBSTR values.
-On zOS BUILDPDB may now point at a dataset name rather
than a DDNAME/FILENAME as it always could on ASCII.
Change 31.183 TYPE50 OSA-EXPRESS READ variables were incorrectly INPUT
VMAC50 TY50REDE /*OSA-EXP*REPLN*DEFR*FOR RD*/
Aug 30, 2013 TY50RDEX /*OSA-EXPREADS*EXH*FOR RD*/
TY50SBRD /*OSA-EXP*SBAL*COUNT*FOR RD*/
TY50PKCN /*OSA-EXP*PACKET*COUNT*/
and these Write variables are now created
TY50PKAC='OSA-EXPRESS*ACCELERATED*PACKET*COUNT'
TY50BYAC='OSA-EXPRESS*ACCELERATED*BYTE*COUNT'
Thanks to John M. McLaughlin, Bank of America, USA.
Change 31.182 -The MXG message SUCCESSFULLY COMPLETED READING SMF now
VMACSMF has new text that reports (mostly for MXG diagnostics) if
Aug 28, 2013 *** THE INPUT SMF FILE DID NOT END WITH ID=3, BUT
*** THIS CAN BE NORMAL - SEE CHANGE 31.182 TEXT.
which MIGHT be an indication that SMF data was lost.
Each SMF file created OR copied by IFASMFDP/IFASMFDL ends
with an SMF ID=3 record, and so even concatenations of
SMF dumps will end with an ID=3 (in fact, each copy with
or subset adds yet another ID=3 at the end of output).
So if the last record is not ID=3, it could be a problem.
For example, a disconnect using the ftp access method, or
during download, or an overlooked out-of-disk-space issue
could be detected by its absence.
-BUT THIS CAN BE NORMAL: If your data has been sorted, or
if you used a utility program that removes type 2 and 3
SMF records (e.g., SMFUTIL, but it could be any program
that processes the SMF data before you read it), or if
you used SAS (AND NOT IFASMFDP, which writes a 2 and 3
when used to copy SMF) and either selected records or
used OPTIONS OBS=nnn; to limit the number of SMF records
read when testing: THESE ARE NOT ERRORS AND THE MESSATE
HAS NO IMPACT.
-If the last record is the ID=3, that text then reads
*** AND THE INPUT SMF FILE ENDED WITH EXPECTED ID=3.***
If absence of that ID=3 would be an error in your SMF
processing, where you ALWAYS expect complete dumped data,
variable ENDISID3 can be used in your IMACFILE/&MACFILE
tailoring to take more aggressive action.
Change 31.181 -RMF III Support for z/OS 2.1 plus Enhancements and Fixes.
ADOCRMFV -Support for z/OS 2.1 changes to the ASI, CFI, CPDCB, and
ASMRMFV GEI RMF III tables.
EXZRBCHP -Two new CFI table sections CFICHPAS (Channel Path) and
EXZRBSCM CFISSCMS (Storage Class Memory) added with z/OS 2.1 are
JCLCRMFV now created by ASMRMFV, and VMACRMFV creates datasets:
JCLDRMFV dddddd dataset description
JCLRMFV ZRBCHP ZRBCHP CFICHPAS CHANNEL PATH
VMACRMFV ZRBSCM ZRBSCM CFISSCMS STORAGE CLASS MEMORY
VMXGINIT -New ZRBCHP dataset variables (20):
ZASMRMFV ZDATE ='ZEE DATE*ZEE OBS*WAS CREATED'
Aug 30, 2013 CFICHAID='HOST CHANNEL ADAPTER ID'
CFICHAPN='HOST CHANNEL ADAPTER PORT NUMBER'
CFICHEIN='INDEX OF CFI TABLE ENTRY'
CFICHFLAGS1='1ST*CHANNEL PATH VALIDITY FLAG'
CFICHLAT='CHANNEL PATH LATENCY TIME'
CFICHOPM='CHANNEL PATH OPERATION MODE'
CFICHPCP='PHYSICAL*CHANNEL*PATH*ID'
CFICHPID='CHANNEL*PATH*ID'
CFICHSAP='SAP-S TO WHICH CHP IS ACCESSIABLE'
CFICHSTA='CHANNEL PATH STATUS FLAGS'
CFICHTYPE='CHANNEL PATH TYPE'
CFIENNAM='NAME OF*COUPLING*FACILITY'
CFIENSYS='NAME OF*SYSTEM'
SSHGOMNT='GATHERER*MINTIME*OPTION'
SSHRMFVN='RMF*VERSION*NUMBER'
SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'
SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'
SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'
SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'
SYSTEM ='SYSTEM*ID'
SHIFT ='SHIFT*OF*START'
-New ZRBSCM dataset variables (21):
ZDATE ='ZEE DATE*ZEE OBS*WAS CREATED'
CFISCALG='SCM*ALGORITHM*TYPE'
CFISCEMA='EST MAX*AUSMENTED*SPACE*4K BLOCKS'
CFISCEME='EST MAX*LIST ELEMENTS*RESIDE*IN SCM'
CFISCEML='EST MAX*LIST ENTRIES*RESIDE*IN SCM'
CFISCENE='EXIST STRUCT*LIST ELEMENTS*RESIDE*SCM'
CFISCENL='EXIST STRUCT*LIST ENTRIES*RESIDE*IN SCM'
CFISCFAU='FIXED*AUGMENTED*SPACE*4K BLOCKS'
CFISCIUA='AUGMENTED*SPACE IN USE*4K BLOCKS'
CFISCIUS='SCM MEMORY*IN USE*4K BLOCKS'
CFISCMAX='MAX*SCM*STRUCTURE*CAN USE*4K BLOCKS'
CFISCNAM='NAME OF CONNECTED STRUCTURE'
CFISCVER='STRUCTURE*VERSION*NUMBER'
CFIENNAM='NAME OF*COUPLING*FACILITY'
CFIENSYS='NAME OF*SYSTEM'
SSHGOMNT='GATHERER*MINTIME*OPTION'
SSHRMFVN='RMF*VERSION*NUMBER'
SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'
SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'
SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'
SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'
SYSTEM ='SYSTEM*ID'
SHIFT ='SHIFT*OF*START'
-ASMRMFV now exploits z/Architecture (zSeries)
instructions to relieve 4K base register addressing
constraints and improve performance. ASMRMFV should run
without error on this hardware. zSeries machines have
been available since 2000.
-MXG users with only pre-z/Architecture machines available
can install the legacy version of ASMRMFV called
ZASMRMFV. Contact MXG Technical Support for details.
-ZASMRMFV includes all Change 31.181 features for z/OS 2.1
support, but is functionally stabilized and will not be
further enhanced.
-ASMRMFV WTO messages RMFV099S and Abend U0998 will be
issued if execution is attempted on a non-zSeries
processor. This prevents an abrupt and unexplained S0C1
Abend that would otherwise occur. If this occurs either
run ASMRMFV on a zSeries machine or use ZASMRMFV instead.
-Initial message RMFV000I will indicate whether the
current ASMRMFV or legacy version ZASMRMFV is being used.
-Four internal ASMRMFV subroutines have been migrated into
mainline code to eliminate the entry/exit linkage CPU
overhead required for each call.
-ASMRMFV now supports keywords up to 10 characters in
length.
-ASI table bit string field ASIMSTS (Miscellaneous States)
is now decoded into 8 new Y/N valued variables in the
ZRBASI data set.
-New ZRBASI dataset variables (10):
ASI1MBFF='1MB*FIXED FRAMES*PAGEABLE*DREF-MEM OBJS'
ASI1MBPF='PAGEABLE*PAGEABLE*DREF-MEM OBJS'
ASICICST='CICS TOR*MANAGED TO*REGION GOALS?'
ASICPUPR='CPU*PROTECTION*ASSIGNED?'
ASIIOPGH='I/O PRIORITY*GROUP HIGH*ASSIGNED?'
ASIMAOSC='MANAGE AS*TO GOALS*OTH SERV CLASSES?'
ASIOMVS ='ADDRESS*SPACE*IS OMVS*RELATED?'
ASIPRMRT='PREVENT*REGN MGT*BY RESPTIME*GOALS?'
ASISDCAS='SERVICE TRANS*IN DIFF CLASS*THAN AS?'
ASISTGPR='STORAGE*PROTECTION*ASSIGNED?'
-CPC table bit string field LCPUCHIN (Processor Status
Indicators) is now decoded into 7 new Y/N valued
variables in the ZRBLCP data set.
-New ZRBLCP dataset variables (21):
CPCCAPG ='LPAR*BELONGS TO*CAPACITY GROUP?'
CPCHOME ='THIS IS*THE HOME*PARTITION?'
CPCLPARI='LPAR DATA*INVALID?'
CPCLPMAX='LPAR PROCESSORS*DEFINED*EXCEED*LIMIT?'
CPCUPIDV='USER*PARTITION ID*IS VALID?'
CPCUSEIW='USE INIT WEIGHT*FOR CAP GROUP*PROJECT?'
CPCWMGT ='WLM WEIGHT*MANAGEMENT*ENABLED?'
LCPUABSL='ABSOLUTE LIMIT*ON LPAR USAGE*CHANGED?'
LCPUDED ='PROCESSOR DEDICATED?'
LCPUHIPD='HIPERDISPATCH*MODE IS ACTIVE?'
LCPUHWCL='ABS LIMIT*LPAR USAGE*THIS TYPE'
LCPUICAP='INITIAL*CAPPING*ON?'
LCPUICST='INITIAL CAPPING*STATUS CHANGED?'
LCPUMAWC='MAXIMUM*WEIGHT*CHANGED?'
LCPUONL ='PROCESSOR*ONLINE?'
LCPUONOF='PROC*ONLINE TO*OFFLINE OR*VICE-VERSA?'
LCPUPRNA='PROCESSOR*NOT AVAILABLE*IN MINTIME?'
LCPUSD ='PROC*SHARED TO*DEDICATED OR*VICE-VERSA?'
LCPUWCCH='WAIT*COMPLETION*CHANGED?'
LCPUWCN ='WAIT*COMPLETION*NO?'
LCPUWCY ='WAIT*COMPLETION*YES?'
-CPC table bit string field LCPUSTIN (Processor Status
Change Indicators) is now decoded into 6 new Y/N valued
variables in the ZRBLCP data set.
-Part of the GEI table was not being processed by VMACRMFV
and new fields added by z/OS 2.1 are now also supported
in the ZRBGEI dataset.
-The PDB build for the ZRBGEI dataset variable
GEICPUOL='AVERAGE*OF ONLINE*PROCESSORS' was inputting
from a GEI table field that has been reserved since z/OS
1.1 and was always zero. GEICPUOL and derived variable
PCTCPUBY will now both always be set to missing for
compatibility with any existing user reports. Use the
ZRBCPU and/or ZRBLCP datasets for equivalent data.
-New ZRBGEI dataset variables (36):
GEICASL ='64-BIT*COMMON*AUX STORAGE*SLOTS'
GEICFFR ='64-BIT*COMMON*FRAMES*FIXED IN REAL'
GEICFR ='64-BIT*COMMON*FRAMES*BACKED IN REAL'
GEICMO ='64-BIT*COMMON*OBJECTS*ALLOCATED'
GEICSIZ ='HIGH*COMMON*AREA*SIZE'
GEICUSE ='HIGH*VIRTUAL*COMMON PAGES*IN-USE'
GEIEHIAL='LSQA/SWA/229/230*ALLOCATED*ABOVE 16M'
GEIELOAL='USER REGION*ALLOCATED*ABOVE 16M'
GEIHIAL ='LSQA/SWA/229/230*ALLOCATED*BELOW 16M'
GEILCMO ='FIXED*MEMOBJECTS*ALLOC IN*COMMON*STORAGE'
GEILCMU ='1MB HIGHVIRT*COMMON OBJECTS*OWNER GONE'
GEILCPR ='1MB HIGHVIRT*COMMON PAGES*BACKED*IN REAL'
GEILCPU ='1MB HIGHVIRT*COMMON PAGES*OWNER GONE'
GEILF4K ='1MB FIXED*FRAMES USED*BY 4K*PAGE REQS'
GEILFPF ='1MB FRAMES*IN LFAREA*SATISFY*1MB REQS'
GEILFUSE='1MB FRAMES*USED BY*FIXED*MEMORY OBJECTS'
GEILOAL ='REGION*ALLOCATED*BELOW 16M'
GEILP4K ='1MB PAGEABLE*PAGES USED*BY 4K*PAGE REQS'
GEILPAG ='1MB FRAMES*USABLE*PAGEABLE*DREF'
GEILPFCI='DEMOTED 1MB*PAGEABLE PAGES*CVRT TO 4K'
GEILPFRI='FAILED 1MB*PAGEABLE PAGES*REQUESTED'
GEILPUSE='1MB FRAMES*USED BY PAGE/DREF MEMOBJECTS'
GEILSIZ ='MAXIMUM*LARGE*FRAME*SIZE'
GEIRBFIX='FIXED*FRAMES*BELOW 16 MB*IN REAL'
GEIRLMO ='LARGE*MEMORY*OBJECTS*ALLOCATED'
GEIRLPR ='1 MB FRAMES*BACKED IN*REAL STORAGE'
GEIRSTRF='HIGH VIRT*COMMON*PAGES*IN-USE'
GEIRTFIX='TOTAL*FIXED FRAMES'
GEISASL ='HIGH VIRT*SHARED MEMORY*AUXSTORAGE*SLOTS'
GEISEQ ='CPC*SEQUENCE*NUMBER'
GEISFR ='HIGHVIRT*SHAREDMEM*FRAMES*BACKED IN REAL'
GEISLTA ='CURRENTLY*AVAILABLE*SLOTS'
GEISMO ='HIGHVIRT*SHAREDMEM*OBJECTS*ALLOCATED'
GEISSIZ ='SHARED*AREA*SIZE'
GEISUSE ='HIGH*VIRTUAL*SHARED PAGES*IN-USE'
GEITOTPI='TOTAL*NUMBER OF*PAGED-IN PAGES'
-The ASMRMFV Dynamic Method will now detect empty RMF
Monitor III VSAM data sets and NOT dynamically allocate
them. Prior to this change the condition was not
detected until the file was opened, but the dynamic
allocation and subsequent open overhead was unnecessary.
-ASMRMFV CSI search summary message RMFV065I now includes
the count of empty data sets found.
-New ASMRMFV message RMFV054* will be issued for any empty
data sets found during CSI scan or VSAM open. (*=I,A,W).
-New ASMRMFV message RMFV055* will be issued for
"imposter" VSAM data sets that have the correct RMF
Monitor III CISIZE and RECSIZE, but do not have a valid
DSH table id of 'DSIG3'. (*=I,A,W).
-New ASMRMFV message RMFV051* is issued for all data set
type errors (not a VSAM RRDS) during a CSI scan or VSAM
open and always includes the DDNAME. (*=I,A,W).
-New ASMRMFV message RMFV067* now directs users to IBM
message IDC3009I for non-zero Catalog Management Return
and Reason Codes produced during a CSI search.
(*=I,A,W).
-Show ASMRMFV error message RMFV066E during Dynamic
Allocation abend.
-Show ASMRMFV message RMFV067E during Catalog/Dsname CSI
search error abend.
-ASMRMFV message RMFV007S could have incorrect Return
and/or Reason Codes shown.
-ASMRMFV message RMFV038* is now message RMFV052*
(*=I,A,W).
-ASMRMFV message RMFV039* is now message RMFV053*
(*=I,A,W).
-ASMRMFV message RMFV037I REPORT= and OUTPUT= settings are
now aligned in output for better readability.
-Multi-severity ASMRMFV error messages controlled by *ERR=
parameter settings and used for a single purpose are now
tailored only once during initialization instead of every
time issued.
-Assemblies of ASMRMFV will no longer print the source
code documentation as this is available to browse in the
ASMRMFV member as well as in ADOCRMFV.
-The ASMRMFV/ZASMRMFV source prologues as well as
ADOCRMFV, JCLRMFV, JCLCRMFV, and JCLDRMFV documentation
members are updated appropriately.
-New variables added to RMF III dataset ZRBLCP:
CPCHOME CPCLPARI CPCLPMAX CPCUPIDV CPCCAPG CPCWMGT
CPCUSEIW LCPUPRNA LCPUONL LCPUDED LCPUWCY LCPUWCN
LCPUICAP LCPUHIPD LCPUONOF LCPUSD LCPUDED LCPUICST
LCPUWCCH LCPUMAXW LCPUABSL LCPUHWCL
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 31.180 Detection that a LIBNAME points to a SAS z/OS TAPE-FORMAT
VGETOBS or sequential-format-on-DASD dataset is NOW done by macro
Aug 26, 2013 VGETOBS, so that we can bypass a performance issue, but
Aug 31, 2013 WPS ABENDed with the original VGETOBS because WPS did not
exactly clone the SAS behavior:
When there is a WHERE clause with PROC SQL's search of
DICTIONARY.TABLES, SAS opens the LIBNAME and scans it,
but WPS ABENDED if the LIBNAME was tape/sequential.
The exposure to this ABEND under WPS occurs when an
input tape/sequential LIBNAME not been OPENed and
VGETOBS's PROC SQL is invoked, for example, when
ASUMUOW is executed standalone. If ASUMUOW instead is
%INCLUDEd as part of the BUILDPDB step, where the input
LIBNAMES to be opened by ASUMUOW are already OPEN,
there is no ABEND.
- History:
When a PROC SQL is issued against DICTIONARY.TABLES that
uses a WHERE clause referencing a LIBNAME that has not
yet been opened or scanned, SAS reads that LIBNAME to
find all SAS Datasets (MEMNAME) in that data library, to
populate that table. But, if the LIBNAME is on tape,
then every tape volume must be mounted and read, since
there is no directory of MEMNAMEs on tape data libraries.
To eliminate that waste of CPU and I/O and the elongated
elapsed time, VGETOBS was enhanced to detect that the
LIBNAME is on tape so it can bypass the multi-vol read.
So while the ABEND is a WPS issue, but because we can, to
help MXG users to keep their jobs (and to keep their JOBS
running without ABENDs), the algorithm was revised to get
around the WPS issue and eliminate the multi-tape read.
FOR MXG EXECUTION ON Z/OS ONLY:
VGETOBS now reads the DICTIONARY.TABLES and writes all
of those names to a temporary table, MXGTABLES, which is
then searched for the LIBNAME & MEMNAME (DDNAME & SAS
dataset). Removing the WHERE clause from the first PROC
SQL prevents that first complete READ of the tape.
If BOTH the LIBNAME and MEMNAME are found in MXGTABLES,
then the LIBNAME was already open and VGETOBS passes back
to its caller the MEMNAME, number of OBS, the create date
and the member type, which is the normal information that
is returned by VGETOBS, and VGETOBS was successful.
If the LIBNAME/MEMNAME is NOT found in MXGTABLES, then
DICTIONARY.LIBNAMES is searched, again without a WHERE
clause creating MXGLIBNAMES, which is then searched for
the LIBNAME. If the LIBNAME is NOW found, and if that
libname is NOT tape format, then that LIBNAME does NOT
contain the MEMNAME we are seeking, and MXG will politely
terminate with an explanatory message on the SAS log.
However, if we determine the LIBNAME is a tape-format
library, we assume you know what you are doing and that
the dataset does exists in that LIBNAME and continue.
If the LIBNAME is not found in MXGLIBNAMES or MXGTABLES
then EXTFILES table is searched for the FILEREF=DDNAME,
and if that DDNAME is found to exist, then it has been
allocated in this step, so we execute a DATA _NULL_ step
that reads the first block in that DDNAME, and examine
the text in that first block for the "SAS" or "WPS" text
that uniquely identifies if this is a SAS or WPS dataset
and whether it is disk or tape format.
If we search EXTFILES and do NOT find the DDNAME or we
find that it is NOT a SAS or WPS sequential dataset, then
WE FORCE YOUR JOB TO ABEND WITH A U1950 ABEND:
IEF450I JOBNAME MXGSAS STEP - ABEND=S000 U1950 REASON=00000000
==> NOTE, PREVIOUSLY WE ONLY PRINTED A WARNING MESSAGE.
If it is a disk dataset, then a LIBNAME command is
issued with either the V9 or WPD engine as appropriate
and then we reinvoke VGETOBS, since executing the LIBNAME
statement populates DICTIONARY.TABLES.
But if instead it is a SEQUENTIAL tape-format library (on
tape OR on disk) we look for that MEMNAME in that first
block, and if found, then the LIBNAME/MEMNAME are valid;
normally, VGETOBS is called by VMXGSUM (or a similar MXG
program) so the next SET statement or reference will open
the LIBNAME without spinning the entire tape. A global
MACRO variable VGETTAPES is populated with the now known
tape DDNAME so that for subsequent VGETOBS executions we
will ALWAYs assume the existence of the dataset rather
than looking for it and possibly causing an unneeded spin
of the tape dataset.
But, if the dataset name is NOT on that first record
then, we gamble that you know what you are doing by
telling us to use that LIBNAME and MEMNAME, so we assume
it must exist further into that tape, so we allow the
processing of the dataset to continue, but we print
MXGWARN messages so you'll know why the job took so long.
Of course, if you lied and the dataset does NOT exist in
that DDNAME, then the job will ABEND ungracefully.
-There are two situations that will cause VGETOBS to issue
a USER ABEND 1950 when executing on z/OS:
- DDNAME is NOT in the EXTFILES list of allocated DDs
- DDNAME exists but the first record does not identify
it as a SAS or WPS data library.
FOR MXG EXECUTION ON ASCII ONLY:
For ASCII, a LIBNAME statement must have been issued for
any LIBNAME, since there's no "JCL", and as there are no
tape-format libraries on ASCII, the WHERE clause is used.
If the search in DICTIONARY.TABLES is unsuccessful, then
it doesn't exist, and with no other place to look,
VGETOBS prints an MXGERROR: message that the dataset does
not exist.
FOR THE HISTORICAL RECORD:
The first implementation of the new algorithm removed the
WHERE clause in the first search. After the functional
tests on both ASCII and z/OS were successful, the primary
QA test step run time jumped from 8 to 155 minutes, due
to that removal of the WHERE clause, but also due to the
unique QA environment that allocates every MXG LIBNAME
and every INFILE that has ever been used in MXG, and
creates every MXG dataset that has ever been created from
every input data source MXG has ever supported, so there
are hundreds of LIBNAMEs and thousands of DATASETs, and
with thousands of VGETOBS calls, that small increase in
the search time of a few LIBNAMEs is magnified. In any
real job there will only be a few of LIBNAMEs, and only
those that are already open are searched without the
WHERE, and typically there is only one VGETOBS call per
JCL step, so there is no issue. But, since the only need
for the removal of the WHERE clause is for the z/OS
environment, the final implementation reinstates the use
of the WHERE clause when executing under ASCII.
Change 31.179 Support for Websphere MQ 7.1.0 new subtype 5, 6, and 7:
EXTY1155 DDDDDD DATASET DESCRIPTION SUBTYPE
EXTY1156 TY1155 TYPE1155 SMC POOL HEADER STATISTICS 5
EXTY1157 TY1156 TYPE1156 SMC GETMAIN MANAGER STATISTICS 6
IMAC115 TY1157 TYPE1157 SMC REGION SUMMARY STATISTICS 7
VMAC115
VMXGINIT
AUG 26, 2013
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.178 WARNING: MULTIPLE LENGTH CAPIFART and more variables when
VMXGRMFI TRNDRMFI was executed the second time because first TRND
AUG 22, 2013 had length 8 but the WEEK.RMFINTRV still had length 5/6.
Now, the variables in RMFINTRV and TRNDRMFI are expanded
to 8 bytes by relocating the LENGTH statement to prevent
that warning (when VARLENCHK=WARN is specified in 9.3).
See Change 31.174.
Change 31.177 SHADOW variable SM01ADCT='ADABAS*COMMAND*COUNT' was INPUT
VMACSHDW incorrectly as an 8-byte duration, but it is 4-byte count.
AUG 27, 2013 -SQL text variable increased to 32000.
SEP 4, 2013
Thanks to Stuart Wildey, MorganStanley, ENGLAND.
Change 31.176 Unused Change Number.
Change 31.175 WARNING: MULTIPLE LENGTHS for PACKNAME corrected, was due
ANALDB2R to a mismatch in compiler faker variable's lengths.
Aug 22, 2013 See Change 31.174.
Change 31.174 WARNING: MULTIPLE LENGTHS for IFAUPTM and ZIPUPTM, with
VMAC7072 RETURN CODE 4 set, can occur with MXG 31.05 because the
Aug 21, 2013 option / INHERIT was not specified when a new PROC MEANS
was used to create the new SUMSTYPE70EN dataset.
Tutorial: WARNING: MULTIPLE LENGTHS message:
This warning message that sets CC=4 was introduced in the
first SAS 9.2 (TS1M0), but there were so many complaints
that a Hot Fix for TS1M0 was created to reverted to SAS
9.1.3 no-warn behavior, and then in SAS 9.2 (TS1M0) the
new VARLENCHK=NOWARN/WARM option, with NOWARN default was
added. So you should not normally see these warnings.
But since there is an underlying issue, VARLENCHK=WARN is
now enabled for the MXG QA stream, and the existing cases
are fixed in the several preceding changes, and will be
caught and corrected in future releases.
Thanks to Don Shelton, Time Customer Service, Inc., USA.
Change 31.173 New variables added to TYPETPMX dataset:
VMACTPMX DBS_I214='DBS_STK*AUTOMATED*3490_SD3'
Aug 20, 2013 DBS_I215='DBS_STK*AUTOMATED*3490_9840'
INCLA ='INCLA*CLASS'
JCL_D ='JCL_D'
OUTCL ='OUTPUT*CLASS'
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.172 The SMF 113 counters have different metrics for each CPU
VMAC113 type (z/10, z/196-z/114, and zEC12), but MXG's labels were
Aug 19, 2013 those of the newest processor type. That is unchanged by
default, still, but this change allows you to change those
counter labels if you don't have the zEC12. You only need
to change the old-style macro _XLA113 to the desired token
for the labels, _XLA113A (z/10), _XLA113B (z/196-z/114)
or _XLA113C (zEC12), using this syntax for a z/114:
%LET MACKEEP= MACRO _XLA113 _XLA113B %
Thanks to Perry Lim, Union Bank, USA.
Change 31.171 The use of VIEWs in SMFSRCH, with this straight-forward
VMXGSRCH invocation:
Aug 18, 2013 %SMFSRCH(LOOKFOR=BWM.ABC.LOADLIB,SMFOUT=SMFOUT);
Aug 30, 2013 resulted in this message on the log:
ERROR:UNABLE TO CREATE WORK.TABLES.DATA BECAUSE
WORK.TABLES.VIEW ALREADY EXISTS.
which terminated the search of SMF data in SAS 9.3 & 9.4.
The error is circumvented by changing the temporary table
name to TABLE1 and by removal of all VIEWs, since they are
not needed for this ad hoc, occasionally run program. The
actual SQL Table Cleanup issue will be addressed later.
Thanks to Dan Case, Mayo Clinic, USA.
Change 31.170 Variable SM1209BK (Short Server Name) is added to subtype
VMAC120 9 datasets TYP1209C, TYP1209S and TYPE1209U to permit the
Aug 17, 2013 selection of those records to limit volume when merging.
Change 31.169 -New variables SM1132MT and SM1132MM, machine type and the
ASUM113 model were not input because line 919 should be SM113DLN
VMAC113 instead of SM113DON.
Aug 15, 2013 -For the zEC12, MXG's equations for DWINSORM and DWDASORM
were not updated from the z196/z114 equations causing
large negative values. The equations were updated and
now only a few obs with small negative values are seen.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Thanks to Don Deese, Computer Management Sciences, USA.
Change 31.168 -New variables added by Version 3 to the BVIR02 dataset:
VMACBVIR HOSTHROT='HOST*THROTTLE'
Aug 14, 2013 (no 02 records with which to validate).
Aug 25, 2013 -New variables added by Version 3 to the BVIR10 dataset:
AVGCPUSE 'CPU*USAGE*PERCENT*AT END OF*INTERVAL'
MAXDCUPC 'MAX*DISK CACHE*USAGE*PERCENT'
REAHOSTH 'HOST*WRITE*THROTTLE*REASON'
REACPYTH 'COPY*THROTTLE*REASON'
READEFTH 'DEFERRED*COPY*THROTTLE*REASON'
(no 10 records with which to validate).
-New variable2 added by Version 3 to the BVIR20 dataset:
DEVMAXDL='MAXIMUM*DELAY'
DEVAVGDL='AVERAGE*DELAY'
DEVINTDL='DELAY*INTERVAL*PERCENTAGE'
-New variables added by Version 3 to the BVIR30 dataset:
MAXCPUSE 'MAX*CPU*USAGE*PERCENT'
AVGCPMAX 'AVG*MAX*DISK*USAGE*PERCENT'
MAXDSKPC 'MAX*DISK*USAGE*PERCENT'
REAHOSTH 'HOST*WRITE*THROTTLE*REASON'
REACPYTH 'COPY*THROTTLE*REASON'
READEFTH 'DEFERRED*COPY*THROTTLE*REASON'
Aug 25: +64 corrected to +54 for misalignment in styp 7.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.167A VOLTAGE Release 4.2 subtype 5 records with their triplet
VMACZPRO claiming more segments than can fit in the record have
Aug 13, 2013 only a few unreadable segments at the end of each record,
so this circumvention reads those segments that can be
read based on record length and warns that segments were
skipped. Release 4.3.0 corrects this error, and with
that version installed, this MXG change is NOT required.
(Yes, this is the 2nd Change 31.167, too late to change.)
Thanks to Gennady Katsnelson, IBM Global Technology Services, USA.
Change 31.167 DB2 V8 ONLY. %READDB2(IFCIDS=STATS 225) did not read the
READDB2 V8-only ID=102 Subtype=225 records, causing all QW0225xx
Aug 13, 2013 variables in PDB.DB2STATS for DB2 V8 records observations
to be missing values. Several old tests for NE 225 were
removed to allow T102S225 to be populated.
-DB2 V8 ONLY. Missing value messages from VMACDB2H for V8
records which don't contain QWHCLOTC/QWHCLORO/QWHCLOAU
are eliminated. Important only because they had to be
identified to eliminate them as the cause of zero obs.
Thanks to John Leyland, HP Enterprise Services UK Ltd, ENGLAND.
Change 31.166 Support for IFCID=380 STORED PROCEDURE DETAIL RECORD
EX102380 creates new T102S380 dataset.
IMAC102 -Typo PIB.2 corrected to &PIB.2. for syntax consistency in
VMAC102 IFCID=358, but fortunately had no actual impact on value.
VMXGINIT -Typos QWT02R2-zero instead of -OH in IFCID=196 caused
Aug 12, 2013 second and subsequent segments, if they existed, to be
Sep 12, 2013 re-inputs of the first segment impacting T102S106 data.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Change 31.165 MXG 31.05, PDB.DB2STAT1 not created if READDB2 STATISTICS
READDB2 option was used, because a typo in Change 31.128 had only
Aug 11, 2013 one period in line 3112, where two were required:
MACRO _LDB2ST1 &PDB2ST1..DB2STAT1 %
With only one period, SAS did what it was told and wrote
the data to the dataset named WORK.PDBDB2STAT1.
Note that the %READDB2 STATISTICS option is archaic and
the STATS option instead has been strongly recommended,
at least in the comments in READDB2:
STATS READ ID=100 SMF RECORD TO CREATE
DB2STATS, DB2STATR DB2GBPST AND
DB2STATB, DB2STAT5
STATISTICS ARCHAIC. READ ID=100 TO CREATE
DB2STATS, DB2STATR AND DB2GBPST,
BUT ALSO WRITES THE REDUNDANT STATS
DATASETS (DB2STAT0/1/2/4/225/B)
THAT ARE ALREADY IN DB2STATS.
Since IBM has created additional DB2 stats IFCIDS over
time, any new interval statistics subtypes will be added
only into the PDB.DB2STATS dataset.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 31.164 Error messages DISKxxxx HAS X NRCOUNTERS BUT DSKSEQ HAS Y
VMACNMON followed by INVALID DO CONTROL error ABEND was caused by
Aug 12, 2013 truly invalid NMON data. The DISKxxxx descriptor records
defined 66 disks, but interval T0166 created a pair of
DISKBUSY/DISKBUSY1 with 185 device's data, but without a
clue that the hardware configuration changed. The DO
Control ERROR is now eliminated, but the bad data can't
be validly processed. Up to 20 messages per HOST will be
printed when DSKSEQNR NE NRDSKSEQ. This text will be
revised if/when a correction from IBM has been tested.
Thanks to Xiaobo Zhang, Fiserv, USA.
Change 31.163 WPS ONLY. The WPS Compiler failed to correctly resolve
ANALDB2R an old-style macro _S102&IFC deep inside READDB2 when it
READDB2 was invoked by ANALDB2R that should have generated the
Aug 8, 2013 _S102023 token for IFCID=023 but instead created _S102004
which is NOT a dataset created by this %ANALDB2R, which
caused ERROR: DATASET WORK.T102S004. We have provided
a detail trace to our customer to open a problem with WPS
support, which appeared to be an incorrect order of macro
resolution between old-style and new-style %macros, but
but we found that by replacing the _S102&IFC token that
was not correctly resolved, with this alternative syntax
%LET IFCSTRING=S102&IFC;
_&IFCSTRING
the WPS error appears to be circumvented.
This is the %ANALDB2R invocation that failed, even with
//SMF DD DUMMY because it's a compiler issue and not data
driven:
%ANALDB2R(DB2=ADSN DSN,
PDB=SMF,PMACC01=NO,PMACC02=NO,PMAUD01=NO,SORTBY=DB2,
PMAUD02=YES,PMAUD03=NO,
AUDIT=AUTHFAIL AUTHCNTL DDL DML BIND AUTHCHG UTILITY,
PMSTA02=NO);
Change 31.162 -Variables JOB, the job creating the list, and BETAJOBN,
VMACBETA the job name of the BETA task, were inconsistent/wrong as
Aug 5, 2013 both variables do not always exist, although both were
kept in all datasets. This table identifies which will
exist in each subtype (?? - not yet validated with data):
Subtype BETAJOBN JOB
0 yes yes
1 no yes
2 ?? ??
3 ?? ??
4 ?? ??
5 yes NO
6 ?? ??
7 ?? ??
8 ?? ??
20 yes yes
21 yes yes
22 ?? ??
25 yes yes
40 ?? yes
41 ?? yes
42 ?? yes
49 no yes
50 yes no
51 no yes
-Variable BETAJOB was only kept in BETA20 and should not
have been created, since JOB is the normal variable, but
it is kept to prevent variable not found errors.
-Variable BETALJOB was kept in BETA21/25/40/41/42 but as
it contains the JOB value, those datasets variable JOB
is now correctly populated from BETALJOB variable, which
is also still kept to prevent variable not found errors.
-This change now correctly inputs BETAJOBI for BETAJOBN or
inputs JCTJOBID for JOB in the header, based on subtype,
but only the records above with yes or no are validated.
If you create obs in those other datasets, please send
your SMF data so I can validate and update with data.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Change 31.161 Cosmetic. Three UNINITIALIZED variable messages removed
VMACRMFV and debugging PUTLOG COL= N statement removed.
Aug 1, 2013
Change 31.160 Support for Velocity Software new segments that create
EXXAMCSH these new datasets (This MAY have been zVPS 4.2.)
EXXAMCTY
EXXAMHPP DDDDDD DATASET DESCRIPTION INFILE
EXXAMSPT
EXXMUDIO XAMCSH XMCPSHAR CPSHAR XAMSYS
EXXMVCPU XAMCTY XMCPTYPE CPTYPE XAMSYS
IMACXAM XAMHPP XMIODHPP IODHPP XAMDEV
VMACXAM XMUDIO XMUCDDIO UCDDIO XAMTCP
VMXGINIT XMVCPU XMVSICPU VSICPU XAMTCP
Aug 20, 2013 XAMSPT XMSYTSPT SYTSPT XAMSYS
Aug 21, 2013 and add new variables to many existing XAM datasets.
-All datasets are created and all tokens defined.
-Large VM systems can create multiple XAMSYS records for
each interval, but since only that first record contains
all of the 'single-instance-per-interval' segments that
are all output into dataset XAMSYS, those additional
records created an observation in XAMSYS with all values
a missing value. Now, only that first record is output
in XAMSYS (and, of course, those other multiple-instance
segments are output to their unique MXG dataset.
-VSICPU: There is one set of counters per Virtual CPU, and
SEGLEN is used to calculate the number of segments.
-SYTCPM: Rather than creating one obs for each channel in
the XMSYTCPM dataset, the 256 channel busy variables
PCTCHPBUSY00-PCTCHPBUSYFF are now output in XAMSYS and
dataset XMSYTCPM is no longer created, and references to
to dddddd token SYTCPM are removed from VMACXAM and the
EXSYTCPM member is deleted.
-The SYTCPM segment NCHAN field does not count the number
of channel busy metrics in the record; instead, it is the
the highest channel number. And while SEGLEN does count
the actual number of metrics in the record, it is wrong
in current XAM records with an extra four bytes:
a. NCHANS='FF'x (255), SEGLEN=1140 => 257 actual metrics
b. NCHANS='FB'x (251), SEGLEN=1124 => 253 actual metrics
and that 257 value raised an ARRAY SUBSCRIPT error with
only 256 possible metrics expected. While Barton will
fix SYTCPM so the SEGLEN is correct, this
change/circumvention simply increases the array size to
257 but only the first 256 variables are kept, so you
won't have to change MXG when Barton makes his change.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 31.159 Mostly cosmetic; HOLDxxxx variables are DROPped and the
ANAL42DS TASKTYPE typo was corrected to TYPETASK.
Jul 30, 2013
Change 31.158 Circumvention for added fields in TMQQAA that caused the
VMACTMMQ 2nd and subsequent observations from the same record to
Jul 30, 2013 be misaligned.
Change 31.157 Examples in JCLUOW, JCLMQMCI & ASUMUOW were inconsistent
JCLUOW and in some cases incorrect, and created unneeded data.
JCLMQMCI JCLUOW - Creates CICSTRAN,DB2ACCT, then PDB.ASUMUOW
ASUMUOW JCLMQMCI - Adds MQMACCT,MQMACCTQ, creates PDB.ASUMUOW.
Jul 29, 2013
Thanks to Thomas Kelman, Xerox, USA.
====== Changes thru 31.156 were in MXG 31.05 dated Jul 29, 2013=========
Change 31.156 -MACROs _N70, _N72, _S70, and S72 are created so that you
VMAC7072 can create only datasets from ID=70 or ID=72 RMF records.
Jul 25, 2013 (Members TYPE7072/TYPS7072 process both records because
early RMF required passing CPUTYPE from the 70 to the 72
so that CPU could be calculated from service units with a
table lookup to get SU_SEC. Yep, I said EARLY!)
While most will always create both suites of datasets,
you can use these new macro tokens to process only one of
the two record; for example:
//SYSIN DD *
%LET MACKEEP=
_N72
MACRO _S72 %
;
%INCLUDE SOURCLIB(TYPS7072);
will only create the PDB.TYPE70xx datasets:
_N72 Nulls the creation and OUTPUT of TYPE72xx datasets
_S72 Blanks/Nulls the SORTs of TYPE72xx datasets.
-MACRO _DROP70 lists the TYPE70 per-engine variables
so you can ignore them using
%INCLUDE SOURCLIB(VMAC7072);
PROC PRINT DATA=PDB.TYPE70 (DROP- _DROP70);
or drop them from a new dataset using:
%INCLUDE SOURCLIB(VMAC7072);
DATA WANT;SET PDB.TYPE70; DROP _DROP70;
-TYPE70 only keeps the first 102 per-engine variables.
Dataset TYPE70EN has all 255 possible per-engines.
Change 31.155 -Protection for INVALID DATA FOR RVPERCEN when IBM stored
VMACEDGR '***' EBCDIC for the numeric VOLUME*PERCENTAGE*FULL.
Jul 25, 2013 The double question-mark-modifier was added to RVPERCEN
INPUT to suppress the ERROR message and the hex dump.
With or without this protection, the value in RVPERCEN
is a missing value. If I can find out what those three
asterisks mean, I'll update this note.
-Change 31.118 failed to input RVMEDTY causing subsequent
RVxxxxx variables to be trashed in EDGRXEXT dataset.
Thanks to Paul Volpi, UHC, USA.
Change 31.154 By default, ASUMHSM summarizes all HSM systems, but you
ANALHSM can use MACRO _HSMPLEX HSMPLEX=SYSTEM; % in a
ASUMHSM %LET MACKEEP= in your SYSIN to create a separate summary
TRNDHSM for each system, ANALHSM was updated to allow HSMPLEX to
Jul 25, 2013 be used to report each SYSTEM/LPAR, and variable HSMPLEX
(default is blank) is added to the SUMBY= in TRNDHSM.
Thanks to Rick Ralston, Humana, USA.
Change 31.153 Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH IBM DATA
BUIL3005 -z/OS 2.1 Compressed Log Stream can only be read with
BUILD005 IFASMFDL running on a z/OS 2.1 system with zEnterprise
EXT11941 Data Compress (zEDC) Express. Otherwise, IFASMFDL will
EXT11942 fail with Return Code 4, unless you have enabled
EXT11943 SOFTINFLATE option of IFASMFDL, which will decompress,
EXT11944 but at higher CPU cost than zEDC Express.
EXT1194L -"You can specify LRECL=32760 instead of 32767" (default)
EXT11971 is finally now stated in the SMF manual, but 32767 should
EXTY42VC NEVER have been used for the LRECL. It can never be
EXTY9036 greater than 32760 and 32767 has caused many programs to
FORMATS fail (BUT NOT SAS!!). And, of course, IBM is reluctant
VMAC104 to change ANY default, even those they recommend that you
VMAC113 should change!
VMAC119 -New SMFPRMxx PERMFIX parameter sets minimum (1MB) to
VMAC1415 maximum (2GB) page fixed real storage that is set aside
VMAC23 for zEDC Express decompression services for compressed
VMAC26J2 SMF data. NOPERMFIX default, but up to 2MB pages can be
VMAC30 fixed for zEDC Express.
VMAC30 -New SMF30 Instruction Counters variables are added to ALL
VMAC42 MXG datasets derived from SMF 30s that contain CPUTCBTM:
VMAC6 TYPE30_V,SMFINTRV,TYPE30_4,TYPE30_5,PDB.STEPS,PDB.JOBS;
VMAC60 -IBM now recommends these 30 hardware instruction counters
VMAC7072 should be used for chargeback instead of processor time:
VMAC71 SMF30_INST_CP_TASK =SMF30*INST*CP*TASK
VMAC73 SMF30_INST_CP_NONPREEMPTSRB =SMF30*INST*CP*NONPREEMPTSRB
VMAC74 SMF30_INST_CP_PREEMPTSRB =SMF30*INST*CP*PREEMPTSRB
VMAC90 SMF30_INST_OFFLOAD =SMF30*INST*OFFLOAD
VMACDCOL SMF30_INST_OFFLOADONCP =SMF30*INST*OFFLOADONCP
VMXGINIT SMF30_INST_CP_ENCLAVE =SMF30*INST*CP*ENCLAVE
EXTY749 SMF30_INST_OFFLOAD_ENCLAVE =SMF30*INST*OFFLOAD*ENCLAVE
SMF30_INST_OFFLOADONCP_ENCLAVE=SMF30*INST*OFFLOADONCP*ENCLAVE
SMF30_INST_CP_DEPENC =SMF30*INST*CP*DEPENC
SMF30_INST_OFFLOAD_DEPENC =SMF30*INST*OFFLOAD*DEPENC
SMF30_INST_OFFLOADONCP_DEPENC =SMF30*INST*OFFLOADONCP*DEPENC
Jul 23, 2013 -Sums of subsets of these counts create new variables that
correspond to the existing CPU time variables:
CPU_INST = Total ALL ENGINES INSTRUCTION COUNT
CPUTCBTM_INST= SMF30_INST_CP_TASK+ /*CPT_INST*/
SMF30_INST_CP_PREEMPTSRB+
SMF30_INST_OFFLOADONCP+
SMF30_INST_CP_ENCLAVE+
SMF30_INST_OFFLOADONCP_ENCLAVE+
SMF30_INST_CP_DEPENC+
SMF30_INST_OFFLOADONCP_DEPENC;
CPUSRBTM_INST= SMF30_INST_CP_NONPREEMPTSRB; /*CPS_INST*/
CPUASRTM_INST= SMF30_INST_CP_PREEMPTSRB; /*ASR_INST*/
CPUENCTM_INST= SMF30_INST_CP_ENCLAVE+ /*ENC_INST*/
SMF30_INST_OFFLOADONCP_ENCLAVE;
CPUDETTM_INST= SMF30_INST_CP_DEPENC+ /*DET_INST*/
SMF30_INST_OFFLOADONCP_DEPENC;
-IBM notes originally had ONLY the _OFFLOAD counter for
the zIIP+zAAP counts, but data with _OFFLOAD zero and
non-zero _OFFLOAD_DEPENC confirmed the note was wrong,
and IBM has confirmed these calculations are correct:
CPUZIPTM_CPUIFATM_INST=SMF30_INST_OFFLOAD-
SMF30_INST_OFFLOAD_DEPENC-
SMF30_INST_OFFLOAD_ENCLAVE;
(i.e. total instructions on zIIP/zAAP)
CPUTM_INST =CPU_INST -
CPUZIPTM_CPUIFATM_INST;
(i.e. total instructions on CP engines).
-TYPE30_V,_4,_5,_6 new variable:
SMF30_RCMTADJN='NOMINAL*CPU*RATE*ADJUSTMENT'
These new INSTRUCTION COUNTs require SMF30COUNT be
specified in SMFPRMxx, and HIS (SMF 113) must have
enabled ehe Basic Counter Set.
-SMF 6 Printway record adds new JOB ACCOUNTing fields in
extended mode (INDC=7) records. See Change 32.236.
-TYPE1415 new SM14DSTYPE identifies Extended Format
Type 0/1, or Version 2 decoded by $MG014EF format.
-TYPE23, new variables:
SMF23CWN='COMPRESSED*LOG*BLOCKS*WRITTEN'
SMF23NCN='NON-COMPRESSED*LOG BLOCKS*WRITTEN'
SMF23PFH='PERMFIX*HWM USED*BY SMF'
SMF23PFM='PERMFIX*MAXIMUM*ALLOWED'
SMF23PFT='PERMFIX*STORAGE*USED*BY*SMF'
-TYPE26J2, New Sub-subtype, not documented in SMF manual
yet, will update this note when the new manual is out.
-TYPE42 VCC Virtual Concurrent Copy segment (previously
existed, but overlooked) creates new TYPE42VC dataset:
S42VCCTK='TRACKS*USING*CONCURRENT*COPY'
S42VCDSP='TRACKS*USING*VIRTUAL*CCOPY'
S42VCEIT='INITIALIZATION*END*TODSTAMP'
S42VCID ='VCC*LOGICAL*SESSION*ID'
S42VCRQS='REQUEST*TYPE VCC*=VIRT CONCUR COPY'
S42VCSET='SESSION*END*TODSTAMP'
S42VCSSL='LENGTH*OF*SSIDS*FOR SESSION'
S42VCSSN='NUMBER*OF*SSIDS*FOR SESSION'
S42VCSSO='OFFSET*TO FIRST*SSID'
S42VCSST='SESSION*START*TODSTAMP'
S42VCTS ='TERMINATION*STATUS*N=NORMAL*A=ABNORM'
-TYPE60 new SMF60ELP elapsed duration which can be
subtracted from SMFTIME to get the START time.
-TYPE70, new variables:
SMF70MCP =MAXIMUM*CPU*ADDRESS*AVAILABLE
SMF70ICP =HIGHEST*CPUID*INSTALLED*AT IPL
SMF70CCP =HIGHEST*CPUID*CURRENTLY*INSTALLED
SMF70CPA_ACTUAL =PHYSICAL*CPU*ADJUSTMENT*FACTOR
SMF70CPA_SCALING_FACTOR =SMF70CPA_ACTUAL*SCALING*FACTOR
SMF70UIW='SHOULD*USE*INITIAL*WEIGHT?'
SMF70HW_CAP_LIMIT=ABS LIMIT*PARTITION*USAGE*IN NR ENGINES
Note: field contains hundredths of "CPUs", but MXG
converts to count "CPUs", so 1.5 would be one
and one half engines of type SMF70CIX.
Note: APAR OA40539 added this field to z/OS 1.13.
-TYPE71, new variables:
SMF71S7M='MIN SHARED*PAGE GROUPS*ON SCM'
SMF71S7X='MAX SHARED*PAGE GROUPS*ON SCM'
SMF71S7A='AVG SHARED*PAGE GROUPS*ON SCM'
-TYPE72, new dataset TYPE725N='GRS QSCAN STATISTICS':
R725QSAS='ADDRESS SPACE ID'
R725QSJN='NAME OF THE JOB'
R725QSRC='START*RESUME*REQUESTS'
R725QSRQ='SUM OF SQUARES*RESOURCES*RETURNED'
R725QSRR='RESOURCES*RETURNED*FOR THESE*REQUESTS'
R725QSSC='GQSCAN*ISGQUERY*SPECIFIC*REQUESTS'
R725QSSN='SERVICE CLASS NAME'
R725QSSP='SERVICE CLASS PERIOD'
R725QSST='ADDRESS SPACE STOKEN'
R725QSTI='EXECUTION*TIME IN*GRS*THESE*REQUESTS'
R725QSTQ='SUM OF SQUARES*EXECUTION*TIME'
-TYPE73, new variables:
SMF73MSC='CHANNEL*PATH*POWER'
SMF73SPD='CHANNEL*SPEED*BITS PER*SECOND'
-TYPE74, new variables:
FICONDEV='FICON*DEVICE?'
AVG74CUQ='AVERAGE*CU*QUEUE*PER IO'
SMF74CUQ='CONTROL*UNIT*QUEING*TIME'
SMF74NM2='DEVICE*NUMBER'
SMF74SCS='SUBCHANNEL*SET*ID'
-TYPE74CF, new variables:
R744GTSC='CF*SCM*MAY BE USED*EXTENSIONS'
R744GFSC='FREE*CF*SCM*MEMORY'
R744GISC='SCM*INCREMENT'
-TYPE74MO, new dataset: STORAGE CLASS MEMORY
See Change 33.155. SCM data is now in TYPE74ST dataset.
R744MAEC='SCM*AUXILIARY*ENABLED*COMMANDS'
R744MALG='SCM*ALGORITHM*TYPE'
R744MCPI='CHANNEL*PATH*IDENTIFIER'
R744MEMA='EST MAX*ASSIGNED*AUGMENTM SPACE'
R744MEME='EST MAX*LIST*ELEMENTS*IN SCM'
R744MEML='EST MAX*LIST*ENTRIES*IN SCM'
R744MENE='EXISTING*LIST*ELEMENTS*IN SCM'
R744MENL='EXISTING*LIST*ENTRIES*IN SCM'
R744MFAU='FIXED*AUGMENTED*SPACE'
R744MIUA='AUGMENTED*SPACE*IN USE*BY THIS STRUCTURE'
R744MIUS='SCM*IN USE*BY THIS*STRUCTURE'
R744MMBE='MAX*LIST ELEMENTS*PER SCM*BUFFER'
R744MMBL='MAX*LIST ENTRIES*PER SCM*BUFFER'
R744MRBT='SCM*READ*BYTES*TRANSFERRED'
R744MRFC='SCM*READ OPS*LIST*REFERENCE'
R744MRPC='SCM*READ OPS*PREFETCH OP'
R744MRSQ='SQUARES OF*R744MRST'
R744MRST='SCM*READ OPS*SERVICE*TIME'
R744MSLR='PCT*LIST COUNTS*LOWER*REGULATOR'
R744MSLT='PCT*LIST COUNTS*LOWER*THRESHOLD'
R744MSMA='MAX*SCM*STRUCTURE*CAN USE'
R744MSRL='SCM*REFERENCES*LIST*STRUCTURE'
R744MSRM='SCM*REFERENCES*MIGRATION'
R744MSRR='SCM*REFERENCES*LIST*HASHING'
R744MSUR='PCT*LIST COUNTS*UPPER*REGULATOR'
R744MSUT='PCT*LIST COUNTS*UPPER*THRESHOLD'
R744MSWC='SCM LIST WRITES'
R744MWBT='SCM*WRITE*BYTES*TRANSFERRED'
R744MWSQ='SQUARES OF*R744MWST'
R744MWST='SCM*WRITE OPS*SERVICE*TIME'
-TYPE749, new dataset: RMF III PCIE STATISTICS, but zero
observations are created, awaiting test data; it's very
possible multiple new dataset may ultimately be created.
All variables are created for QA comparisons.
-TYPE90. New subtype 36 creates new dataset
dddddd dataset Description ST
TY9036 TYPE9036 SET CON COMMAND 36
Subtype 35 was not documented.
-TYPE99EH. New variables:
S99EEHMAXAFF='MAXIMUM*AFFINITY*INDEX'
S99EEHMAXCPU='MAXIMUM*CPU*ID'
-New SMF104 record captures CIM data for AIX, LINUX, and
WINDOWS, creating 37 new TYP104nn datasets with nn the
record subtype. Some of the memory metrics in the raw
record are in bytes, or KiloBytes, or MegaBytes: ALL are
converted in MXG variables to bytes and then formatted
MGBYTES to document they contain memory metrics and to
display in B/KB/MB/GB/TB etc. Some "accumulated" fields
are documented, but until data is available, I can't tell
if they really need deaccumulation or not, which would be
an update to their _ST104xx dataset sort macro.
dddddd dataset Description ST
T10401 TYP10401 AIX_ACTIVE MEMORY EXPANONMETRICS 01
T10402 TYP10402 AIX_PROCESSOR METRICS 02
T10403 TYP10403 AIX_COMPUTER SYSTEM METRICS 03
T10404 TYP10404 AIX_DISK METRICS 04
T10405 TYP10405 AIX_NETWORK PORT METRICS 05
T10406 TYP10406 AIX_FILE SYSTEM METRICS 06
T10407 TYP10407 AIX_MEMORY METRICS 07
T10408 TYP10408 AIX_OPERATING SYSTEM METRICS 08
T10409 TYP10409 AIX PROCESS METRICS 09
T10410 TYP10410 AIX_SHARED ETHERNET ADAERMETRICS 10
T10411 TYP10411 AIX_ACTIVE MEMORY SHARIMETRICS 11
T10412 TYP10412 AIX_VIRTUAL TARGET DEVICEMETRICS 12
T10420 TYP10420 LINUX_IP PROTOCO LENDPOT METRICS 20
T10421 TYP10421 LINUX_LOCAL FILE SYSTE METRICS 21
T10422 TYP10422 LINUX_NETWORK PORT METRICS 22
T10423 TYP10423 LINUX_OPERATING SYSTE METRICS 23
T10424 TYP10424 LINUX_PROCESSOR METRICS 24
T10425 TYP10425 LINUX_UNIX PROCESS METRICS 25
T10426 TYP10426 LINUX_STORAGE METRICS 26
T10430 TYP10430 LINUX_KVM METRICS 30
T10431 TYP10431 LINUX_XEN METRICS 31
T10440 TYP10440 LINUX_IP PROTOCOL ENDPOT METRICS 40
T10441 TYP10441 LINUX_LOCAL FILE SYSTE METRICS 41
T10442 TYP10442 LINUX_NETWORK PORT METRICS 42
T10443 TYP10443 LINUX_OPERATING SYSTEM METRICS 43
T10444 TYP10444 LINUX_PROCESSOR METRICS 44
T10445 TYP10445 LINUX_UNIX PROCESS METRICS 45
T10446 TYP10446 LINUX_STORAGE METRICS 46
T10450 TYP10450 LINUX_ZCEC METRICS 50
T10451 TYP10451 LINUX_ZLPAR METRICS 51
T10452 TYP10452 LINUX_ZCHANNEL METRICS 52
T10453 TYP10453 LINUX_ZECKD METRICS 53
T10460 TYP10460 WINDOWS_LOCAL FILESYSTEM METRICS 60
T10461 TYP10461 WINDOWS_NETWORK PORT METRICS 61
T10462 TYP10462 WINDOWS_OPERATING SYSTEM METRICS 62
T10463 TYP10463 WINDOWS_PROCESSOR METRICS 63
T10464 TYP10464 WINDOWS_STORAGE METRICS 64
-TYPE113 Subtype 1 is documented and variables defined,
but will not be read until data records exist for the
validation.
-TYPE119. Six new datasets, with all variables defined,
but no observations will be created; INPUT is bypassed
until test records are available for validation.
dddddd Dataset Description
T11941 TYP11941 SMC-R LINK GROUP STATISTICS
T1194L TYP1194L SMC-R LINK SPECIFIC STATISTICS
T11942 TYP11942 SMC-R LINK STATE START
T11943 TYP11943 SMC-R LINK STATE END
T11944 TYP11944 RDMA RNIC INTERFACE STATISTICS
T11971 TYP11971 FTP DAEMON CONFIGURATION
-TYPEDCOL.
New variable in DCOLDSET:
DCDXPSEV='PS*EXTND*FORMAT*VERSION'
New variable in DCOLDC:
DDCRMODE='VSAM*SMB*RMODE31*VALUE'
New variable in DCOLDC:
DBSEPNM ='SEPARATION*NAME'
THIS CHANGE WAS IN MXG 31.04 BUT WAS NOT DOCUMENTED.
Change 31.152 TYPE70 corrections/enhancements to zIIP and zAAP metrics.
VMAC7072 Variables ZIPUPTM/IFAUPTM, Up-Time, now excludes parked
Jul 24, 2013 time (like CP engines in PDB.TYPE70 and like ALL engines
in ASUM70PR-created datasets - it was only the specialty
engines in PDB.TYPE70 that still included parked time.).
so variables PCTZIPBY and PCTIFABY will be larger.
New counts of the Online-but-not-Parked zIIP/zAAP engines
and clarification of the variables with INSTALLED counts
are added, as are online and parked durations for the
zIIPs and zAAPs:
Engine INSTALLED AVAILABLE UP-TIME ONLINE PARKED
IFA NRIFAS IFACPUS IFAUPTM IFAONTTM IFAPATTM
SMF70IFA
PARTNIFA
ZIP NRZIPCPU ZIPCPUS ZIPUPTM ZIPONTTM ZIPPATTM
SMF70SUP
PARTNZIP
CP NRCPCPU NRCPUS CPUUPTM SMF70ONT SMF70PAT
PARTNCPU
New and revised labels:
PARTNICF='INSTALLED*NUMBER OF*ICF*ENGINES'
PARTNIFA='INSTALLED*NUMBER OF*ZAAP*ENGINES'
PARTNIFL='INSTALLED*NUMBER OF*IFL*ENGINES'
PARTNZIP='INSTALLED*NUMBER OF*ZIIP*ENGINES'
NRCPUS ='ONLINE*NON-PARKED*CP ENGINES'
IFACPUS ='ONLINE*NON-PARKED*IFA ENGINES'
ZIPCPUS ='ONLINE*NON-PARKED*ZIP ENGINES'
CPUUPTM ='CP ENGINE*AVAILABLE*(UP) TIME'
IFAUPTM ='IFA ENGINE*AVAILABLE*(UP) TIME'
ZIPUPTM ='ZIP ENGINE*AVAILABLE*(UP) TIME'
SMF70PAT='CP*SMF70PAT*PARKED*TIME'
IFAPATTM='IFA*SMF70PAT*PARKED*TIME'
ZIPPATTM='ZIP*SMF70PAT*PARKED*TIME'
SMF70ONT='CP*SMF70ONT*ONLINE*TIME'
IFAONTTM='IFA*SMF70ONT*ONLINE*TIME'
ZIPONTTM='ZIP*SMF70ONT*ONLINE*TIME'
zIIP Example: PARTNZIP=12 ZIPCPUS=8.01 DURATM=15:00
|--------------------ZIPONTTM 2:59:59.74---------------------------|
| |
|-----------ZIPUPTM 2:00:09.21------------|---ZIPPATTM 59:50.53---|
| |
|-ZIPACTTM 1:16:48.85-|-ZIPWAITM 42:33.59-|
Change 31.151 -Support for zVM 6.3 MONWRITE. INCOMPAT DUE TO MXG CODE,
VMACVMXA which didn't SKIP new data compatibly added to SYTCUP and
Feb 20, 2013 and didn't correctly detect the extra 32 bytes in PRCAPM
Mar 26, 2013 subtype 8, and printed ERROR PROBABLE DATA LOSS DUE TO...
Apr 16, 2013 and BROKEN CONTROL RECORD: NO 8709X, with large _N_=.
VMXGINIT This change was made in VMACVMXA at 30.30.
Apr 24, 2013 -Before _ESYTCUP statement near line 11567, insert:
Jul 23, 2013 SKIP=CALCPULN-40;IF SKIP GT 0 THEN INPUT +SKIP @;
This change was made in VMACVMXA at 31.02.
-Replace (For 5.10 Record showstopper):
IF PRCAPMCT IN (4,8) THEN DO; line 19028 with
IF SUBSTR(PRCAPMV,1,1) NE 'F0'X THEN DO;
-Two instances of ENDTIME=.; lines 8633,8907 are now
comments, just in case, as they are archaic and not
needed (to force detection of a new interval) but in
some cases caused ENDTIME to be missing in startup
records.
-With those changes, records were read with no execution
errors with MXG 31.02; support was NOT announced.
-These new variables and/or datasets are now created:
SKIP LEN _N_ RECSTART
-Dataset VXSYTPRP (0.02) new variables: 12 152 101 373
CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'
PFXPRKWT='PARKED*WAIT*TIME'
-Dataset VXSYTASG (0.06) new variables: 8 92 106 493
CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'
PFXPRKWT='PARKED*WAIT*TIME'
-Dataset VXSYTUSR (0.08) new variables: 8 108 106 657
RLOIB ='INBOUND*LIVE*GUEST*RELOCATIONS'
RLOOB ='OUTBOUND*LIVE*GUEST*RELOCATIONS'
-Dataset VXSYTCUP (0.16) new variables: 8 1216 107 1605
LCXCCWT ='CURRENT*LPAR*WEIGHT'
LCXCTYCP='CPU*TYPE*CAP'
CALCAPV ='MAX*PHYSICAL*CPS*THIS TYPE'
-Dataset VXSYTSYG (0.19) new variables: +12 132 110 2413
NCPCAPAB='NOMINAL*CAPABILITY*OF A*CPU'
FXRDONE ='ZHPF DCW*TRANSLATE*SUCCESSFUL'
FXRWRITE='WRITE CHAN*PRESENTED*TO ZHPF DSW'
-Dataset VXSYTSPT (0.24) new variables: 308 364 106 2169
-PROTECTED: MRHDRLEN=364 ONLY 56 DOCUMENTED.
-Dataset VXMTRPRP (1.05) new variables: 12 56 4 433
CALENTMT='VERTICAL*CPU*ENTITLEMENT='
OFFTOPDS='OFFSET TO RCCTOPDS ARRAY='
PFXPOLAR='CURRENT*POLARIZATION='
RCCTOPDI='DISPATCH*VECTOR*BLOCK='
RCCTOPDS='TOPOLOGY*DESCRIPTOR*IDS='
SIZTOPDS='SIZE OF*RCCTOPDS*FIELD='
-Dataset VXMTRMEM (1.07) new variables: 8 168 84 2497
RSACKMB2G='FRAMES*LT 2G*FOR SAD*CRASHKERNEL'
RSACKMA2G='FRAMES*GT 2G*FOR SAD*CRASHKERNEL'
-Dataset VXMTRSCH (1.16) new DATA UNKEPT. 40 132 94 1345
SRXCPPAD and SRXEXUSE decoded but not kept.
-PROTECTED: SRXEXUSE is 8 bytes when PUMAX is 6.
-Dataset VXMTRSSI (1.25) only read SYSPLXNR, in use slots,
but there are SYSPLXNS, configured slots, segments in the
record. All are now input; not-in-use have blank name.
-Dataset VXSCLSTP (2.08) new variables: 4 84 98 3133
SYSFPGRAT='SYSTEM*PAGE*READ IN*RATE*PERSEC'
-Dataset VXSTORSG (3.01) new variables: 300 764 114 121
RSAAGEPC ='TGT SIZE*GLOBAL*AGING LIST*PCT DPA'
RSAAGEFL ='FLAG*BYTE'
RSARSDMX ='SET RESERVED SYSMAX VALUE FRAMES'
RSAAGESZ ='TGT SIZE OF GLOBAL AGING LIST*FRAMES'
RSAAGINC ='FRAMES*ON THE*GLOBAL*AGING*LIST'
RSAEWNDD ='GAL*CHANGED PAGES*MUST BE*WRITTEN'
RSAEWRFO ='GAL*REF ONLY*NOT HAVE*BE WRITTEN'
RSAEWCIF ='GAL*CHANGED*PAGES*BEING*PROCESSED'
RSAEWRIF ='GAL*REF ONLY*PAGES*BEING*PROCESSED'
RSAAGRDY ='GAL*FRAMES*READY FOR*RECLAIM'
RSAAGRDYREFWRT ='GAL*REF ONLY*READY FOR*RECLAIM*YES AUX'
RSAAGRDYREFNW ='GAL*REF ONLY*READY FOR*RECLAIM*NO AUX'
RSADSTMACT ='DEMAND*SCAN*WAS*RUNNING'
RSACHGWRTOLD ='CHANGED*PAGES*WRITTEN TO*OLD AUX SLOT'
RSAREFWRTBYPASS='REF ONLY*PAGES*NOT REWRITTEN*TO AUX'
RSACHGWRTNEW ='CHANGED*PAGES*WRITTEN TO*NEW AUX SLOT'
RSAREFWRTNEW ='REF ONLY*PAGES*WRITTEN TO*NEW AUX SLOT'
RSAAGRECLM ='PAGES*RECLAIMED*FROM GLOBAL*AGING LIST'
RSAEXMET ='DEMAND SCAN*STOPS*WHEN NEED*WAS MET'
RSAEXTIM ='DEMAND SCAN*STOPS*MAX*ALLOWABLE*TIME'
RSAEXCPU ='DEMAND SCAN*STOPS*CPU*SUBOPTIMAL'
RSAINVUFO ='PRIVATE*PAGES*INVALIDATED'
RSAINVVUFO ='PRIVATE*VDISK*PAGES*INVALIDATED'
RSAINVSUFO ='SHARED*PAGES*INVALIDATED'
RSARVLUFO ='PRIVATE*PAGES*REVALIDATED'
RSARVLVUFO ='PRIVATE*VDISK*PAGES*REVALIDATED'
RSARVLSUFO ='SHARED*PAGES*REVALIDATED'
RSARVLAGL ='GAL*PAGES*REVALIDATED'
RSAWRTONDMD ='DEMAND SCAN*WRITE-ON-DEMAND*FRAMES'
RSADSCYCLE ='ITERATIONS*DEMAND SCAN*MADE'
RSAUSRVISIT ='USERS*VISITED*PAGES WERE*MADE IBR'
RSAUSRSKIP ='USERS*SKIPPED*SERIAL/NET*SETTINGS'
RSAALSKL ='GAL FRAMES*NOT RECLAIMED*PINNED'
RSAALSKF ='GAL FRAMES*NOT RECLAIMED*FRAME*SERIAL'
RSAALSKP ='GAL FRAMES*NOT RECLAIMED*PAGE*SERIAL'
RSAALSKR ='GAL FRAMES*REQUEUED*NOT*RECLAIMED'
RSAAGRVLREFNW ='GAL REF ONLY*REVALIDATIONS*NO AUX'
RSAAGRVLREFWRT ='GAL REF ONLY*REVALIDATIONS*YES AUX'
RSAAGRVLCHGNW ='GAL CHG PAGES*REVALIDATIONS*NO AUX'
RSAAGRVLCHGWRT ='GAL CHG PAGES*REVALIDATIONS*YES AUX'
RSAAVAILCNTB2GS='FRAMES ON*LT 2G*SINGLES*AVAILABLE*LIST
RSAAVAILCNTB2GC='FRAMES ON*LT 2G*CONTIG*AVAILABLE*LIST'
RSAAVAILCNTA2GS='FRAMES ON*GT 2G SINGLES*AVAILABLE*LIST
RSAAVAILCNTA2GC='FRAMES ON*GT 2G*CONTIG*AVAILABLE*LIST'
RSAAVAILREQB2GS='REQUESTS*LT 2G*SINGLE*FRAMES'
RSAAVAILREQA2GS='REQUESTS*GT 2G*SINGLE*FRAMES'
RSAAVAILREQB2GC='REQUESTS*LT 2G*CONTIGUOUS*FRAMES'
RSAAVAILREQA2GC='REQUESTS*GT 2G*CONTIGUOUS*FRAMES'
RSAAVAILRETB2GS='RETURNS*LT 2G*SINGLE*FRAMES'
RSAAVAILRETA2GS='RETURNS*GT 2G*SINGLE*FRAMES'
RSAAVAILRETB2GC='RETURNS*LT 2G*CONTIGUOUS*FRAMES'
RSAAVAILRETA2GC='RETURNS*GT 2G*CONTIGUOUS*FRAMES'
RSAAVAILPTB2GC ='PROTECT*THRESH*CONTIG*LT 2G'
RSAAVAILPTA2GC ='PROTECT THRESH*CONTIG*GT 2G'
RSAAVAILPTB2GS ='PROTECT THRESH*SINGLES*LT 2G'
-Dataset VXSTORSP (3.02) new variables: 76 440 114 973
PFXAFOBC='LOCAL LIST*(LL)*FOBS'
PLSFOBLO='LL*LOW*THRESHOLD'
PLSFOBHI='LL*HIGH*THRESHOLD'
PLSFOB1E='LL*FOUND*EMPTY'
PLSFOB1T='TOD 1ST*TRIM REQUEST*FOR LL'
PLSFOBTM='TOD*MOST RECENT*TRIM REQ*FOR LL'
PLSSTPAG='IBR PAGES FOUND*CMM*ZERO STATE'
-Dataset VXSTOSHR (3.03) new variables: 8 120 114 1
ASCCTRSV='FRAMES*RESERVED*VIA*SET RESERVED'
ASCDSRSV='DEMAND*SCAN*NO MOVE*SET RSVD*PER SEC'
-Dataset VXSTOASI (3.14) new variables: 60 196 120 1809
ASCCTINS ='SHARED*INSTANTIATED*PAGES'
ASCCTIBRB2G ='SHARED*IBR PAGES*ON UFO*BACKED LT 2G'
ASCCTIBRA2G ='SHARED*IBR PAGES*ON UFO*BACKED GT 2G'
ASCCTAGLB2G ='SHARED*IBR PAGES*GAL*BACKED LT 2G'
ASCCTAGLA2G ='SHARED*IBR PAGES*GAL*BACKED GT 2G'
ASCCTRABISB2G='SHARED*NON-FAULT*IBR UFO*BACKED LT 2G'
ASCCTRABISA2G='SHARED*NON-FAULT*IBR UFO*BACKED GT 2G'
ASCCSINT ='SHARED*INSTANTIATED*PAGES'
ASCCSREL ='SHARED*RECLAIMED*GUEST*PAGE*STATE'
ASCCSINV ='SHARED*PAGES*MADE*IBR'
ASCCSPFI ='SHARE*IBR PAGES*REVALIDATED*ON UFO'
ASCCSPFA ='SHARED*IBR PAGES*REVALIDATED*ON GAL'
ASCCSFRY ='SHARED*IBR PAGES*ON GAL*BACK*RECLAIM'
ASCCSFNR ='SHARED*IBR PAGES*ON UFO*WRIT TO AUX'
ASCCSXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
-Dataset VXSTOSHD (3.16) new variables: 20 120 164 1
ASCCTPRG='RESIDENT*PAGES GT 2G*THIS*SAVEDSEG'
ASCHLLC ='PAGES*LOCKED*HOST LOGICAL'
ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
ASCCTRSV='FRAMES*RESERVED*VIA SET*RESERVED'
ASCDSRSV='TIMES*DS NO MOVE*FRAMES*TO GLL'
-Dataset VXUSELON (4.01) new variables: 4 180 386 2889
VMDLOGFG='FLAG*BITS*SET AT*LOGON'
LCLFLAG3='GENERAL*FLAGS'
-Dataset VXUSELOF (4.02) new variables: 404 844 121 61
CALCPFNR ='UFO IBR*PAGES*WRITTEN*TO XSTORE'
CALCPFRY ='GAL IBR*PAGES*ALREADY*BACKED'
CALCPINT ='PRIVATE*INSTANTIATED*PAGES'
CALCPINV ='PRIVATE*PAGES*MADE*IBR'
CALCPPFA ='PRIVATE*IBR GAL*PAGES*REVALIDATED'
CALCPPFI ='PRIVATE*IBR UFO*PAGES*REVALIDATED'
CALCPREL ='PRIVATE*RECLAIMED*GUEST PAGE'
CALCPXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
CALCTAGLA2G ='GAL IBR*PAGES*BACKED*GT 2G'
CALCTAGLB2G ='GAL IBR*PAGES*BACKED*LE 2G'
CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'
CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'
CALCTINS ='PRIVATE*INSTANTIATED*PAGES'
CALCTRABISA2G ='UFO/GAL*NONFAULT*IBR*GT 2G'
CALCTRABISB2G ='UFO/GAL*NONFAULT*IBR*LT 2G'
CALCTXBK ='EXPANDED*STORAGE*PAGING*BLOCKS'
LCLFLAGS='GENERAL*FLAGS'
MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'
OFFPLTL ='OFFSET TO THE VMUPLTL ARRAY'
OFFSTLTL='OFFSET TO THE VMUSTLTL ARRAY'
OFFTOPDA='OFFSET TO THE VMUTOPDA ARRAY'
OFFVMTL ='OFFSET TO THE VMUVMTL ARRAY'
VMDDSRSV ='DEMAND*SCAN*NOT MOVE*SET RESERVED'
VMDDTPLX='-USER ISSUED*DETACH COMMAND*CONSULTED SSI'
VMDDTTOD='TTIME*DETACH COMMANDS*CONSULTING SSI'
VMDDTTOT='-USER ISSUED*DETACH*COMMAND'
VMDLKPLX='-USER ISSUED*LINK COMMAND*CONSULTED SSI'
VMDLKTOD='TTIME*LINK COMMANDS*CONSULTING SSI'
VMDLKTOT='-USER ISSUED*LINK COMMAND'
VMDSTFHW ='HWM*STEAL*WEIGHT*FACTOR'
VMDSTLFC ='STEAL*WEIGHT*FACTOR'
VMDUFACTC ='UFO*ACTIVE*SECTION*FRAMES'
VMDUFIBRC ='IBR*SECTION*FRAMES'
VMDWASTE ='GAL*PRIVATE*PAGE FAULTS*IN AUX'
VMDWKPLX='-USER USED*WRKALLEG*CONSULTED SSI'
VMDWKTOD='TTIME*WRKALLEG*CONSULTING SSI'
VMDWKTOT='-USER USED*WRKALLEG'
VMUNRBAL='-CONFIGURATION*REBALANCES'
VMUREBAL ='RCCREBAL*COUNT*LAST*REBALANCE'
VMUTOPDX='INDEX*INTO*VMUTOPDA*ARRAY'
VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'
VMUTOPNS='SIZE *ONE ELEMENT*VMUTOPDA ARRAY'
-Dataset VXUSEACT (4.03) new variables: 404 844 121 61
CALCPFNR ='UFO IBR*PAGES*WRITTEN*TO XSTORE'
CALCPFRY ='GAL IBR*PAGES*ALREADY*BACKED'
CALCPINT ='PRIVATE*INSTANTIATED*PAGES'
CALCPINV ='PRIVATE*PAGES*MADE*IBR'
CALCPPFA ='PRIVATE*IBR GAL*PAGES*REVALIDATED'
CALCPPFI ='PRIVATE*IBR UFO*PAGES*REVALIDATED'
CALCPREL ='PRIVATE*RECLAIMED*GUEST PAGE'
CALCPXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
CALCTAGLA2G ='GAL IBR*PAGES*BACKED*GT 2G'
CALCTAGLB2G ='GAL IBR*PAGES*BACKED*LE 2G'
CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'
CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'
CALCTINS ='PRIVATE*INSTANTIATED*PAGES'
CALCTRABISA2G ='UFO/GAL*NONFAULT*IBR*GT 2G'
CALCTRABISB2G ='UFO/GAL*NONFAULT*IBR*LT 2G'
CALCTXBK ='EXPANDED*STORAGE*PAGING*BLOCKS'
MAXTOPO ='TOPOLOGY*LEVELS*CURRENTLY*ARCHITECTED'
RDMMMASK='RELOCATION DOMAIN*MEMBER*MASK'
RDMNAME ='GUESTS*RELOCATION*DOMAIN*NAME'
VMDCTSTA='CPU*STARTS'
VMDCTSTO='CPU*STOPS'
VMDDSRSV ='DEMAND*SCAN*NOT MOVE*SET RESERVED'
VMDDTPLX='DETACH*COMMAND*SSI*CONSULTED'
VMDDTTOD='VIRTUAL TIME*DETACT*COMMANDS*SSI'
VMDDTTOT='DETACH*COMMANDS*ISSUED'
VMDLKPLX='LINK*COMMANDS*SSI*CONSULTED'
VMDLKTOD='VIRTUAL TIME FOR LINK*COMMANDS*SSI'
VMDLKTOT='LINK*COMMANDS*ISSUED'
VMDRLLST='LAST*RELOCATION*THIS*USER'
VMDSTFHW ='HWM*STEAL*WEIGHT*FACTOR'
VMDSTLFC ='STEAL*WEIGHT*FACTOR'
VMDUFACTC ='UFO*ACTIVE*SECTION*FRAMES'
VMDUFIBRC ='IBR*SECTION*FRAMES'
VMDWASTE ='GAL*PRIVATE*PAGE FAULTS*IN AUX'
VMDWKPLX='WRKALLEG*COMMANDS*SSI*CONSULTED'
VMDWKTOD='VIRTUAL*TIME*WRKALLED*COMMANDS*SSI'
VMDWKTOT='WRKALLEG*COMMANDS*USED'
VMUNRBAL='CONFIGURATION*REBALANCES'
VMUPLTL0='REBALANCES*EQUIVALENT*NL1'
VMUPLTL1='REBALANCES*DIFF NL1*SAME NL2'
VMUPLTL2='REBALANCES*DIFF NL2*SAME NL3'
VMUPLTL3='REBALANCES*DIFF NL3*SAME NL4'
VMUPLTL4='REBALANCES*DIFF NL4*SAME NL5'
VMUPLTL5='REBALANCES*DIFF NL5'
VMUREBAL ='RCCREBAL*COUNT*LAST*REBALANCE'
VMUSTLT0='STEALS*EQUIVALENT*NL1'
VMUSTLT1='STEALS*DIFF NL1*SAME NL2'
VMUSTLT2='STEALS*DIFF NL2*SAME NL3'
VMUSTLT3='STEALS*DIFF NL3*SAME NL4'
VMUSTLT4='STEALS*DIFF NL4*SAME NL5'
VMUSTLT5='STEALS*DIFF NL5'
VMUTOPDD='TOPOLOGY*DESCRIPTOR'
VMUTOPDI='DISPATCH*VECTOR*ID'
VMUTOPDX='ZERO-BASED*INDEX INTO*VMUTOPDA'
VMUTOPLU='PCT CPU*FOR HOME*DSVBK*ASSIGNMENT'
VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'
VMUTOPNS='ELEMENT*SIZE*VMUTOPDA*ARRAY'
VMUVMTL0='MOVES*EQUIVALENT*NL1'
VMUVMTL1='MOVES*DIFF NL1*SAME NL2'
VMUVMTL2='MOVES*DIFF NL2*SAME NL3'
VMUVMTL3='MOVES*DIFF NL3*SAME NL4'
VMUVMTL4='MOVES*DIFF NL4*SAME NL5'
VMUVMTL5='MOVES*DIFF NL5'
-Dataset VXUSEINT (4.04) new variables: 8 248 121 905
VMDRLLST='LAST*RELOCATION*OF THIS*USER'
-Dataset VXUSERLE (4.12) new variables: 8 248 121 905
LCLFLAGS ='LOCAL*RELOCATION*INFO*FLAGS'
RLOAIOCT ='ACTIVE*I/OS*ENCOUNTERED'
RLOCLNTM ='COMPLETION*DATETIME*FINAL*CLEAN UP'
RLOCONTM ='COMPLETION*DATETIME*INITIAL*ISFC CONNECT'
RLOCPCNT ='GUEST*PAGES*XFERED*FINAL PASS'
RLOCRETM ='COMPLETION*DATETIME*CREATION*SKELETON VMDBK'
RLOCRYTM ='COMPLETION*DATETIME*ENQUEUED*CRYPTO'
RLODSTRSV='RESERVED FRAME COUNT DESTINATION'
RLODSTSYS='DESTINATION*SYSTEM'
RLOELGTM ='COMPLETION*DATETIME*INITIAL*ELIG CHECKS'
RLOFCPTM ='COMPLETION*DATETIME*FCP I/O*DELAY'
RLOFINCD ='RELOCATION*ENDED*REASON*CODE'
RLOIOCTM ='COMPLETION*DATETIME*I/O CONFIG*RELOCATION'
RLOIOETM ='COMPLETION*DATETIME*FINAL I/O*ELIG CHECKS'
RLOISSUER='VMRELOCATE*CMD*ISSUER'
RLOLSTTM ='COMPLETION*DATETIME*LAST*MEMORY'
RLOMAXQ ='MAXQUIESCE*TIME'
RLOMAXT ='MAXTOTAL*TIME'
RLOMEMPS ='MEMORY*PASSES*DURING*RELOCATION'
RLOMEMTM ='COMPLETION*DATETIME*MEMORY*TRANSFER-2'
RLOMVOPT ='FLAG BYTE*FOR CMD*OPTIONS'
RLONQDCT ='NON-QDIO*TYPE*I/OS*CLEARED'
RLOPASSA ='GUEST*PAGES*XFERED*FIRST PASS'
RLOPASSY ='GUEST*PAGES*XFERED*PENULTIMATE*PASS'
RLOPENTM ='COMPLETION*DATETIME*PENULTIMATE*MEMORY'
RLOPSAVG ='AVERAGE*GUEST*PAGES*XFERED*2 THRU N-2'
RLOQDCT ='QDIO*TYPE*I/OS*CLEARED'
RLOQUITM ='COMPLETION*DATETIME*GUEST*QUIECE'
RLORESTM ='COMPLETION*DATETIME*RESUMPTION*GUEST'
RLOSETTM ='COMPLETION*DATETIME*STMGT*SET UP'
RLOSMETM ='COMPLETION*DATETIME*STMGT*ELIG CHECKS'
RLOSRCRSV='RESERVED*FRAME*COUNT*SOURCE'
RLOSRCSYS='SOURCE*SYSTEM'
RLOSTARTM='DATETIME*START OF*RELOCATION'
RLOSTATM ='COMPLETION*DATETIME*VIRT STATE*RELOCATION'
RLOUSER ='USERID OF*RELOCATION*TARGET'
RLOVDXCT ='VIRTUAL*DEVICES*TRANSFERRED'
RLOVSETM ='COMPLETION*DATETIME*VSIM*ELIG CHECKS'
VMDSTRLO ='SET*VMRELOCATE*FLAGS'
-Dataset VXIODDEV (6.03) new variables: 200 180 76 1
RDEVSKSM64='CUM*DASD*ACCESS*MOVEMENT'
RDEVFCXM ='MASK OF*PATHS*SUPPORT*ZHPF'
CUIFCXP ='ZHPF*FEATURES*SUPPORTED'
RDEVMAXD ='SMALLEST*ZHPF*MAX*DATA COUNT'
RDEVWXCT ='TM(ZHPF)*WRITE*CHAN*PROGRAMS'
RDEVRXCT ='TM(ZHPF)*READ*CHAN*PROGRAMS'
SCMIDTIM ='SCM*INTERRUPT*DELAY*TIME'
SCMPDTIM ='SCM*I/O*PRIORITY*DELAY*TIME'
PAVIDTIM ='ACCUMULATED*INTERRUPT*DELAY*TIME'
PAVPDTIM ='I/O*PRIORITY*DELAY*TIME'
-Dataset VXIODCAD (6.04) new variables: 52 312 190 2665
Short length record doesn't input CALPSF due to this
PROTECTED: Segment Length is 312.
Fixed 68 bytes, 192 CALDATA 4 CALSSS2 leave only
48 bytes but CALPSF is documented as 192 bytes,
so Segment Length should be 576 vs 312.
-Dataset VXIODVSW (6.21) new variables: 212 344 185 1185
LANTRID ='ACTIVE TRACE IDS'
LANSUSR ='USERS IN LINUX*SNIFFER*MODE'
LANMGIPA ='LAN MANAGEMENT IP ADDRESS'
MGSWIEUSER='LAN MANAGEMENT USER ID'
MGNICMAC ='VSWITCH MAC ADDRESS'
OSAMAC ='OSA DEVICE MAC ADDR'
NICTRANP ='SESSION LAYER(2 OR 3)'
LANID ='LAN*OWNER*NAME'
LOCKREQS ='LOCK REQUESTS*FOR LANLKWRD*NETWORKLOCK'
LANDEFER ='WAITS FOR*NETWORK*LANLKWRD*LOCK'
TXDEFERS ='WAITS FOR*LOCK WHEN*SENDING FROM*THIS PORT'
RXDEFERS ='WAITS FOR*LOCK WHEN*RECEIVING*ON THIS PORT'
NICTXPKT64='PACKETS*SENT*REAL DEVICE*VIRTUAL SWITCH'
NICTXDSC64='VALID*OUTBOUND*PACKETS*DISCARDED'
NICTXERR64='INVALID*OUTBOUND*PACKETS*DISCARDED'
NICRXPKT64='PACKETS*RECEIVED*REALDEVICE*VIRTUAL SWITCH'
NICRXDSC64='VALID*RECEIVED*PACKETS*DISCARDED'
NICRXERR64='RECEIVED*PACKETS*DISCARDED*INVALID*FORMAT'
SWPGROUP ='LINK AGG*PORT GROUP*IN USE*VIRT SWITCH'
VQSOMLVL ='OSA*DEVICE*MICROCODE*LEVEL'
SWPINTSC ='SECONDS*BETWEEN*LOAD*BALANCING*OPERATIONS'
VQSDVMAC ='OSA DEVICE*VIRTUAL*MAC ADDRESS'
VQSMRKCT ='MARKER*PDUS*SENT TO*THIS PORT'
VQSMRPCT ='MARKER*RESPONSES*RECEIVED'
VQSMRRCT ='MARKER*RESPONSES*PDUS SENT TO'
VQSMTOCT ='TIME OUTS*FOR MARKER*RESPONSE*WAITS'
VQSLCSCT ='LACP PDUS*SENT ON*THIS PORT'
VQSLCRCT ='LACP PDUS*RECEIVED ON*THIS PORT'
TXREQS ='LOCK REQUESTS*MADE WHEN*SENDING'
RXREQS ='LOCK REQUESTS*MADE WHEN*RECEIVING'
STKREQS ='REQUESTS*TO STACK OR*TO UNSTACK*WORK'
STKDEFERS='TIMES*MULTIPLE*ATTEMPTES*TO STACK'
VQSPATTR1='PARTNER*SWITCH*BYTE 1'
VQSPATTR2='PARTNER*SWITCH*BYTE 2'
VQSPATTR3='PARTNER*SWITCH*BYTE 3'
VQSPATTR4='PARTNER*SWITCH*BYTE 4'
-Dataset VXIODMDE (6.31) new variables: 4 84 2048 1385
RDE RDEVDEV ='REAL*DEVICE*NUMBER'
-Dataset VXVNDSES (8.01) new variables: 12 304 289 889
VMDRLLST='LAST*RELOCATION*THIS*USER'
NICMGPOR='PORT*VALUE*FOR GUEST*CONNECTION'
-Dataset VXISFNOD (9.04) new variables: 4 304 897 156
LNKCAPCT='NOT-FULL*PACKAGES*CLOSED*TIMEOUT'
-Dataset VXAPLTC0(10.02) new variables: 28 636 301 1
Corrections made:
APLSDT segments with undocumented new fields:
for MDGPROD='5735FALST'-'00'x-'054000' +28 636
for MDGPROD='5735FALST'-'00'x-'061000' +4 612
The documentation for APPLDATA is here:
http://www.vm.ibm.com/perf/docs/appldata.html
-New Datasets Created:
-Dataset VXPRCPUP (5.16) new dataset: 520 500 386 625
CALFCONF='CONFIDENCE*PERCENTAGE*FLOOR*PROJECTION'
CALFLAG ='FLAG*BYTE'
CALFLALG='ALGORITHM*USED*FLOOR*PROJECTION'
CALUCALG='ALGORITHM*USED FOR*CEILING*PROJECTION'
CPUTYPE ='CPU*TYPE'
MAXRPROC='VALID*BITS*IN*MASKS'
OFSLCPUA='OFFSET TO*SRXLCPUA FIELD'
OFSONLIN='OFFSET TO*CALONLIN FIELD'
OFSUPKMK='OFFSET TO*RCCUPKMK FIELD'
RCCNUPK ='CPUS*REQUESTED*TO BE IN*UNPARKED*STATE'
RCCSIGCT='-SUCCESSFUL*SIGP*RESTARTS'
RCCSIGTD='-TIME SPENT*IN*SIGP*RESTARTS'
SCOUNT ='STANZAS*IN THIS*RECORD'
SOFFSET ='OFFSET TO FIRST STANZA'
SRXCPPAD='CPU*CAPACITY*ADDED*TO CEILING'
SRXNOTVH='CAPACITY*ASSIGNED*CPUS NOT*VERTICAL HIGH'
SRXPMAX ='MAX NUMBER*CPUS THAT*CAN BE*PARKED'
SRXWRKCI='CONFIDENCE*PERCENTAGE*CEILING*PREDICTION'
SSIZE ='STANZA*SIZE'
WHIOCECE='EXCESS*PROCESSOR*CAPACITY*AVAILABLE'
WHIOCUTI='NUMBER OF*PHYSICAL*CPUS*CONSUMED'
WHIOCXC ='SHARE OF*EXTRA*CAPACITY'
WHIOENT ='CPU*RESOURCE*ENTITLEMENT'
WHIOFLG ='FLAGS FOR THIS PARTITION'
WHIOPUTI='CEILING*PREDICTION*OF CPU*UTILIZATION'
WHIOPXC ='UNENTITLED*CAPACITY*FLOOR*PROJECTION'
WHIOUCT ='VALID*SAMPLES FOR*CEILING*PREDICTION'
WHIOXCT ='VALID*SAMPLES FOR*FLOOR*PROJECTION'
WHIUCT ='VALID*SAMPLES*CEILING*PREDICTION'
WHIXCT ='VALID*SAMPLES*FLOOR*PROJECTION'
Corrections made:
a. Undocumented 8 bytes after RCCSIGTD.
b. SSIZE is 92 bytes but only 52 bytes are
documented for CPUTYPE-SRXNOTVH fields.
c. OFFSET SOFFSET is 60 from start of record
for 92 bytes, but these other offset values
OFSUPKMK=68, OFSONLIN=76, OFSLCPUA=84, all
point inside those 92 bytes.
d. And, RCCUPKMK, CALONLIN, and SRXLCPU are all
shown as one byte fields, but those offsets
indicate they are all 8 bytes separated.
the fields are 8 bytes but only first used
and the remaining 7 should have been rsvd.
-Dataset VXPRCRCD (5.17) new dataset: 88 68 74 3601
CALENTMT='VERTICAL*CPU*ENTITLEMENT'
CALMNEST='CONFIG*TOPOLOGY*FACILITY*SELECTOR'
MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'
OFFSTLTL='OFFSET TO*PLSSTLTL*ARRAY'
OFFTOPDS='OFFSET TO*RCCTOPDS*FIELD'
PFXCPUAD='PROCESSOR ADDRESS'
PFXPOLAR=' CURRENT*POLARIZATION'
RCCTOPDI='DSVBK*INDEX*FOR CPU'
RCCTOPDS='TOPOLOGY*DESCRIPTOR*CONTAINER*IDS'
SIZTOPDS='SIZE*OF*RCCTOPDS*FIELD'
Corrections made:
a. MRHCRLEN=88 but DOC shows 60 bytes fixed and doc
RCCTOPDS Length is 32, but only 28 bytes are left
in the record.
b. Offset OFFTOPDS=60, but OFFSTLTL=64 which would
be four bytes into the RCCTOPDS field.
-Dataset VXPRCDHF (5.18) new dataset: 88 68 74 3601
CALDSVID='DSVBK*ID'
CPUTYPE ='CPU*TYPE'
HFCOUNT ='HIGH*FREQUENCY*SAMPLES*THIS DSVBK
HFUSERC ='-VMDBKS*IN DSVBK*WHEN NOT*EMPTY'
HFUSERZ ='TIMES WHEN*DSVBK*HAD NO*VMDBKS'
MAXRPROC='VALID*BITS*IN*MASKS'
OFSASSOC='OFFSET TO*DSVASSOC*FIELD'
OFSUNPRK='OFFSET TO*DSVUNPRK*FIELD'
RCCDSVCH='CPU-TO-DSVBK*ASSIGNMENT*CHANGES'
SCOUNT ='STANZAS*IN THIS*RECORD'
SOFFSET ='OFFSET TO FIRST STANZA'
SSIZE ='STANZA*SIZE'
SYSDVENT='MAX USERS*ALLOWED IN*A DSVBK'
Corrections made:
a. PRCHDF_STANZA is documented with 16 bytes
but SSIZE=32.
b. Similar to preceding, the SOFFSET=40 but
OFSASSOC=16 and OFSUNPRK=24 which I don't
understand, since they would precede the
STANZA data.
Change 31.150 RMF III Enhancements, Fixes, new DYNAMIC METHOD.
ADOCRMFV -A new procedure for executing ASMRMFV is now available
ASMRMFV called the Dynamic Method. This approach combines the
JCLCRMFV simplicity of the current Direct JCL method with the
JCLDRMFV convenience of catalog lookup and dynamic allocation
JCLRMFV provided by the current TSO Clist method. See JCLDRMFV.
VMACRMFV -A new INDSNAME= keyword parameter (aliases INDSN=, INDS=,
Jul 23, 2013 IDS=, I=) is now supported that allows the specification
Jul 26, 2013 of 1 to 256 data set name patterns. The patterns are
used to retrieve matching VSAM cluster entries by the
Catalog Search Interface (CSI), an IBM supported and
documented program service.
NOTE: The CSI call is set to only retrieve VSAM
Clusters (and related Data and Index components).
Non-VSAM data sets and other VSAM entry types are not
returned. Only a very small fraction of the data in a
Cluster entry is returned (Type, CISIZE, RECSIZE).
-Each returned data set name entry is validated as being
a VSAM RRDS data set with the correct CISIZE and RECSIZE
for an RMF Monitor III data set. Then each in turn is
dynamically allocated to an RMFD* DDNAME beginning with
RMFD0000. Later each is opened in turn for further
processing by ASMRMFV. But the TESTCSI parameter (see
below) can modify this behavior.
NOTE: Static RMFV* style DD statements may still be
hard coded in JCL even when the Dynamic Method is used
and will be processed as usual. However, this tends
to defeat the intent and value of the Dynamic Method.
-INDSNAME= pattern masking characters include the use of
** and * as multiple character substitutes and % (percent
sign) as a single character placeholder.
-Pattern coding rules and examples are fully provided in
both the ASMRMFV source code prologue and in the updated
ADOCRMFV member. They are also documented in the IBM
DFSMS Managing Catalogs manual for your z/OS release, in
the section Catalog Search Interface User's Guide.
NOTE: Be careful to avoid overlapping data set patterns
using INDSNAME= which could cause duplicate data to be
processed into ASMRMFV. The TESTCSI parameter (see
below) can help check for this in advance. ASMRMFV
does NOT check for or exclude duplicate data. The same
issue could exist using static JCL DD allocation as
well and is NOT exclusive to the Dynamic Method.
-A new parameter TESTCSI/NOTESTCSI (default NOTESTCSI)
controls pattern testing that is especially useful when
setting up the Dynamic Method for the first time.
-TESTCSI (alias TESTC) only retrieves data from catalogs
using CSI and the INDSNAME= patterns. No dynamic
allocation or file processing occurs. TESTCSI thus
provides a preview of search results with the user
pattern settings. This can prevent the retrieval of
large numbers of unneeded data sets that are not RMF
Monitor III files.
-NOTESTCSI (alias NOTESTC) retrieves data from catalogs
using CSI and the INDSNAME= patterns, dynamically
allocates valid found files, and allows full normal
processing by ASMRMFV.
-WARNING: Users are strongly recommended NOT to use the
all inclusive search pattern INDSNAME=** as that will
retrieve all VSAM Clusters in their catalogs. This will
likely return thousands of entries and can result in a
possible performance impact on the catalog management
function while in progress that could affect other work.
-The ADOCRMFV member which contained mostly development
notes from 2008 and earlier has been completely replaced
with the ASMRMFV source documentation. This was made
much more readable by the removal of many embedded
assembler language statements. The ASMRMFV prologue
documentation in source remains available as before.
-A new documentation member JCLDRMFV contains ASMRMFV
execution examples using the new Dynamic Method.
-JCLRMFV, JCLCRMFV, and JCLDRMFV documentation members now
all contain a table that compares and contrasts the 3
available methods to execute ASMRMFV.
-The MXG00 table version is raised from X'02' to X'03 and
adds the maximum number of entries supported in the new
DSN Pattern Table (currently 256).
-When an invalid parameter length is detected message
RMFV004E will now also display the invalid length.
-When a date or time parameter related error is detected
ASMRMFV will no longer abend immediately but instead
postpone the abend until all parameters are processed.
This will permit all parameter errors to be found in a
single run.
-When the RCD table is selected the unnecessary selection
of the SVP table will no longer be automatically forced.
ASMRMFV will still read the SVP to obtain required data,
but will not output the SVP unless specifically selected.
-Ten new ASMRMFV parameters are added for consistent user
directed control of error conditions (see more below).
-Each has 3 possible values of ABEND (alias A), IGNORE
(alias I), or WARN (alias W). Before control of these
conditions was inconsistent, difficult to alter, or
simply not available.
-ASMRMFV messages RMFV004*, RMFV016*, RMFV017*, RMFV029*,
RMFV033*, RMFV048*, and RMFV049* (*=I,W,E,S) are now
multi-severity based on the settings of these error
control parameters.
-ABEND causes ASMRMFV to issue an error message RMFV***E
and immediately terminate with a U0998 Abend.
-WARN results in an RMFV***W warning message then sets a
return code of 4 and execution continues.
-IGNORE issues an informational message RMFV***I, leaves
the return code unchanged and execution also continues.
-ALLOCERR=ABEND/IGNORE/WARN directs ASMRMFV when a dynamic
allocation of an RMF Monitor III data set fails (default
WARN).
NOTE: Look for messages on the Job JESLOG for more
details on dynamic allocation errors.
-ATTRERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM
RRDS found during a CSI search has an attribute error for
an RMF Monitor III data set either an invalid CISIZE not
32768 or an invalid LRECL not 32752 (default WARN).
-CATERR=ABEND/IGNORE/WARN directs ASMRMFV when a catalog
entry retrieval error occurs during a CSI search (default
WARN). Catalog damage is possible.
NOTE: For Return and Reason Code details on a catalog
retrieval error consult the IBM documentation for
message IDC3009I for the same respective codes.
-DEADERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF III
data set has probable dead space due to high usage of
indexes (default WARN). Reallocation to a smaller size
may be appropriate.
-DSIGERR=ABEND/IGNORE/WARN directs ASMRMFV when the table
ID for an RMF III data set header/index record is not
'DSIG3' as expected (default WARN). This can be due to
an "imposter" data set, a VSAM RRDS with correct CISIZE
and RECSIZE for an RMF III file but does in fact NOT
contain valid RMF III data.
-DSNERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
entry retrieval error occurs during a CSI search (default
WARN). Data set damage is possible.
NOTE: For Return and Reason Code details on a data set
retrieval error consult the IBM documentation for
message IDC3009I for the same respective codes.
-EMPTYERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF
Monitor III data set opened during processing contains no
data (default IGNORE). This can validly occur for
several reasons. See documentation for this parm.
-PATTERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
name pattern error is detected for the INDSNAME=
parameter (default WARN). This is usually a user error.
-READERR=ABEND/IGNORE/WARN directs ASMRMFV when a read I/O
error occurs processing an RMF III Monitor data set
(default ABEND). Can be due to a truncated file.
-TYPEERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM
data set type other than a RRDS is found during a CSI
search (default WARN). The INDSNAME= pattern may be too
general causing retrieval of many non-RMF III files.
-The old ASMRMFV parameter ABREAD is now equivalent to
READERR=ABEND and is still supported.
-The old ASMRMFV parameter NOABREAD is now equivalent to
READERR=WARN and is still supported.
-12 new messages RMFV040I to RMFV051I are added to support
Catalog Search Interface usage and results.
-7 new messages RMFV060I to RMFV066W are added to support
dynamic allocation usage and results.
-New message RMFV036I shows selection settings for all RMF
III tables at ASMRMFV initialization.
-New message RMFV037I shows selection settings for all
other ASMRMFV parameters at initialization including the
new error condition keywords.
-CSI work area buffer statistics are shown when the
BUFFERS parameter is used.
-A new parameter CSISTAT/NOCSISTAT controls statistics
information about the CSI user work area buffer (default
NOCSISTAT). CSISTAT (alias CSIS) shows the total size
and size used of the buffer for each CSI call in message
RMFV047I. NOCSISTAT (alias NOCSIS) suppresses the
message.
NOTE: Starting with an initial CSI workarea size of 64K
ASMRMFV will dynamically increase the size of the CSI
work area up to a maximum of 1 MB when a RESUME CSI
call is needed because the buffer was too small for the
number of entries retrieved.
-When a GETMAIN/FREEMAIN storage error occurs severe
message RMFV007S now includes the number of bytes and
subpool involved. This should be a rare event but always
results in an abend.
-When the BUFFERS parameter was active the Summary report
did not include the final program FREEMAINs at program
termination.
-ASMRMFV will no longer attempt to process RMF Monitor III
data sets that are not CISIZE 32768 or RECSIZE (LRECL)
32752. IBM messages ERB824I and ERB825I document that
only the CISIZE and RECSIZE values used in ERBVSDEF Clist
to DEFINE RMF III data sets are correct.
-Performance: ASMRMFV was incorrectly freeing and
allocating a new buffer for every MINTIME sample.
-Performance: Sample buffer adjustment factor of 1 in
&MULTS symbolic parameter was ineffective in reducing
additional GETMAINs, so has been lowered to 0 to avoid
wasting unused buffer space.
-Performance: Policy buffer adjustment factor of 1 in
&MULTP symbolic parameter was ineffective in reducing
additional GETMAINs, so has been lowered to 0 to avoid
wasting unused buffer space.
-Four internal ASMRMFV message tables have been
consolidated into a single table to relieve message
addition restrictions.
-Message RMFV016* generated when an expected versus actual
RMF III table id mismatch occurs now includes the actual
found table id in both character and hexadecimal.
-ASMRMFV prologue documentation has been updated for all
new parameters, for details on pattern match usage, and
expanded for return code 4.
NOTE: The TSO Clist method is not planned for any
further enhancement and may become archaic. TSO Clist
Method users are encouraged to trial and migrate to the
Dynamic Method which should be vastly superior in ease
of use and likely in performance as well.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 31.149 Change 30.203 broke the ability to use _GRPMNNM/_GRPMNCD
ASUMTAPE to define an additional variable (e.g., LOCATION) causing
Jul 22, 2013 ERROR: VARIABLE LOCATION NOT FOUND.
The KEEPs= for JES3MNT, JES510, and JES5918 needed macro
_GRPMNNM added, and _GRPMNCD was needed in the logic for
JES3MNT, even though this was a JES2 site.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 31.148 Documentation. The denominator D1 in NORM1=A B / D1 in
VMXGSUM your VMXGSUM invocation must be a variable, and can not
Jul 22, 2013 be an expression. Unfortunately, while some earlier
VMXGSUM releases did permit NORM1=A B /(C+D) syntax, that
was NEVER intended and is NOT supported; it's just too
deep in working logic to risk the exposure, when you can
use this logic in your VMXGSUM to create a variable with
an expression: INCODE=E=C+D; and then NORM1=A B/E.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 31.147 Support for CANPROD4, CANPROD5, and CANPROD6 optional
IMACICVC CICS segments creates same-named variables:
IMACICVD CMODHEAD
IMACICVE and Tailor
IMACAAAA Variable: Member
UTILEXCL CANPROD4 IMACICVC
VMAC110 CANPROD5 IMACICVD
Jul 19, 2013 CANPROD6 IMACICVE
Jul 29, 2013 -UTILEXCL wasn't updated until Jul 29, after 31.05 was GA.
Change 31.146 -INPUT STATEMENT EXCEEDED RACF UNLOAD 0506 short record.
EXRAC206 The documented length is 534 bytes, including two "user"
IMACRACF fields documented in fixed locations (bytes 270-525 and
VMACRACF 527-534) but this record was only 285 bytes. The first
VMXGINIT 269 bytes contained valid/expected data, but the two user
Jul 22, 2013 fields did not exist as documented. However, the record
does contain three fields of 3,8,4 bytes, so this change
detects the short record and only inputs what's left in
the record into variable USERDATA.
-INPUT STATEMENT EXCEEDED RACF UNLOAD 0510 short record.
Unlike the above short 0506, this one instance was only
262 bytes long, ending after CLASS with no user segment.
-Support for RACF UNLOAD 0206 RSAF DATA record creates new
RACF0206 dataset.
-Missing value messages were eliminated by improved logic.
Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.
Change 31.145 INPUT STATEMENT EXCEEDED for QAPMHDWR infile because the
VMACQACS two fields SWTMOD and DORESR do not exist in V5.4.0 data
Jul 18, 2013 records. Their INPUT is now conditional on being there.
Thanks to Clayton Buck, UNIGROUP, USA.
Change 31.144 Updates for SMF 83 Subtypes 2 thru 6.
VMAC83 Incomplete, await data records.
Jul 20, 2013
Change 31.143 -ID=120 ST=9 WebSphere TYP1209E variables are accumulated
VMAC120 if there is more than one observation per enclave token,
Jul 19, 2013 a not-documented-feature observed in the data. TYP1209E
Jul 26, 2013 is now sorted by SYSTEM,SM1209CR,CY,CV,CH,SM1209CM and
variables SM1209DA/DB/DC/DD/DE/SM1209DF are deaccumulated
if the obs is NOT (FIRST.SM1209CH AND LAST.SM1209CH), as
those are single-instance-per-enclave-token observations
whose CPU time is not accumulated. Use TYPS120 instead
of TYPE120 so that TYP1209E data is deaccumulated, or
%INCLUDE SOURCLIB(TYPE120); _ST1209E ; RUN; to invoke
the dataset sort macro, where MXG does deaccumulation.
-ID=120 ST=9 WebSphere variable SM1209DI, zAAP CPU time,
is now normalized by SM1209DG/256. While the zIIP time
in SM1209DF returned by WLM is normalized, and the part
of SM1209DH from zIIP and zAAP is normalized, SM1209DI
is returned by WLM in raw time units.
-ID=120 ST=9 WebSphere variable SM1209CI is now labeled
SM1209CI=TOTAL*CP+ZIIP+ZAAP*TCB CPU*TIME as it contains
TOTAL CPU time on all engines. Variable SM1209CX is the
portion of SM1209CI that was executed on the zIIP or zAAP
Specialty engine. If your CP engines are knee-capped,
i.e., slower than the zIIP speed, then the CPU time in
SM1209CX for the zIIP time (which is also included in
SM1290CI) will be the normalized (LARGER) CPU time value,
since that's what applications return for CPU time on
specialty engines. (E.g., documented that the CPUTM in
CICSTRAN can be greater than ELAPSTM for transactions
using zIIP/zAAP with slow CP engines.)
See this white paper, by David Follis, looking at WAS 120-9 analysis:
http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102311
Thanks to Joe Faska, Depository Trust, USA.
Change 31.142 Support for User CICS Fields listed below.
IMACICV6 New Variable CMODHEAD CMODNAME
IMACICV7 IMACICV6 MSG@ MSG/APPL
IMACICV8 IMACICV7 EGTBS EGTBS
IMACICV9 IMACICV8 FROMCORR FROMCORR
IMACICVA IMACICV9 TOCORR TOCORR
IMACICVB IMACICVA EGMSGID EGMSGID
UTILEXCL IMACICVB PROGNAME PROGNAME
VMAC110
Jul 18, 2013
Change 31.141 DIVISION BY ZERO in ANALPRTR. One of the two calculations
ANALPRTR of printer THRUPUT didn't test THRUTM, the denominator,
Jul 17, 2013 for a non-zero value before a divide. Since a zero is a
valid value, there was no actual error; variable THRUPUT
is a missing value, with or without the test added by
this change before the divide that prevents that message.
Thanks to Jessie Gonzales, California State Controller's Office, USA.
Change 31.140 MXG 31.03-31.04, SMF70GNM, Group Name variable was always
VMAC7072 blank in PDB.TYPE70PR dataset, causing Group Capacity
Jul 17, 2013 datasets ASUM70GC/ASUM70GO to have zero observations.
MXG's bit 1 test in SMF70PFL was incorrectly changed in
31.03 causing group name to be replaced with blanks.
Thanks to Don Shelton, Time Customer Service, Inc., USA.
Change 31.139 Support for RACF TOKDANAM='UNAME' creates new variable
VMAC80A TOKUNAME in dataset TYPE80TK.
Jul 17, 2013
Thanks to Clayton Buck, UNIGROUP, USA.
Change 31.138 If you have multi-period workloads defined in RMFINTRV,
VMXGRMFI the period 1 RSP TRN SWP variables were mislabeled with
Jul 16, 2013 the workload name (BAT1) rather than the label (BATHI).
Thanks to Patricia J. Jones, DST Systems, USA.
Change 31.137 IMF TRANSACTION EXTENSION variables TRXZxxxx were wrongly
VMACCIMS INPUT @TRXPTIMO but are now INPUT @TRNEXTEN+TRXPTIMO, and
Jul 16, 2013 TRX1FL1,TRX1FL2, and TRX1_LDS variables are now correctly
input and kept in CICSTRAN data.se.
Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.
Change 31.136 -IIS Log with unexpected ' ... ' COOKIE value caused CPU
VMACWWW loop; MXG expected an equal sign in COOKIE text, now
Jul 16, 2013 protects for no equal sign. Browser was Mozilla/5.0.
Jul 26, 2013 -Mozilla browser created unexpected URIQUERY value,
with a leading equal sign and without a URIQNAME that
also caused MXG to loop.
Thanks to Xiaobo Zhang, Fiserv, USA.
Change 31.135 If you used the _GRPALNM macro to subset ASUMTALO, the
ASUMTALO time range of the data could be limited to the time range
Jul 15, 2013 of a single system (if SYSTEM is what was added). Now,
if we detect that you have used _GRPALNM, then all data
will be input to ASUMTALO.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 31.134 The TIMESTAMP, BEGINTIME, ENDTIME values were wrong for
VMACXDFG HH of 12 with PM suffix (only PM hours 1-11 need +12),
VMACXDNS or for HH 12 with AM suffix (must reset HH=00).
VMACXDSP
Jul 16, 2013
Change 31.133 Support for TMON for DB2 Version 5 second iteration.
VMACTMD2 -DA and DB records were INCOMPATIBLY changed with removal
Jul 16, 2013 of 11660 and 5680 uncompressed reserved bytes, but there
was no change in the variables created in TMD2DA/TMD2DB
datasets. Fields DALHRECC/DBLHRECC are used to identify
and transparently process both record formats.
Note: Jul 2014, dataset TMD2DB replaced TMDBDB2 dataset.
-IG record was COMPATIBLY changed creating 2 new variables
IGGBGR1C='CURRENT*DIRECTORY*ENTRY'
IGGBGR2C='PENDING*DIRECTORY*ENTRY'
in TMD2IG dataset from previously reserved areas.
-Three TMON PTFs: TE03897, TEO3904, and TE03910 make these
changes in the TMON for DB2 records.
Change 31.132 Change 31.077 (PRCMFC 5.13 z/VM 6.2) was tested, sent,
VMACVMXA and validated, but that VMACVMXA was NOT moved into the
Jul 10, 2013 master MXG source, causing BROKEN CONTROL RECORD ERROR.
CFVN=1 CSVN=3 SKIP= still had 1708 instead of 1664.
Thanks to David J. Schumann, BCBS of Minnesota, USA.
Change 31.131 Using EXUTILEX to create a tailored IMACEXCL no longer
UTILEXCL works with recent UTILEXCL (31.02 for example) when there
EXUTILEX are two triplets with that CMODHEAD name, and it's not
IMACICUS yet clear why nor when it stopped working. If you have
Jul 9, 2013 an EXUTILEX member and its associated IMACICUS member,
please send them to support@mxg.com so they can be added
with a new IMACICxx member, which is now the correct way
to support user segments in CICSTRAN records.
-I will try to resolve and reinstate EXUTILEX support
and will update this note if/when that is accomplished.
At present, however, the second instance causes a SYNTAX
error citing the first variable in the EXUTILEX INPUT.
Thanks to Kim Nguyen-Thi, IBM, AUSTRALIA.
Thanks to Paul Gillis, IBM, AUSTRALIA.
Change 31.130 Corrections to zIIP/zAAP SHARE WEIGHTS in RMF 70 data.
VMAC7072 Change 30.106 did not correctly calculate the initial and
VMXG70PR current SHAREs for the zIIP engines, didn't create SHAREd
Jul 20, 2013 variables for the zAAP engines, and revisions to labels
now identify CP, ZAAP, or ZIP metrics.
TYPE70 dataset: the "LPAR" values are for this zOS system
while the "TOTAL" values are for the entire CEC.
TYPE70 SHARE WEIGHT variables in TYPE70:
TOTSHARC='TOTAL*CURRENT*CP SHARE*WEIGHT'
TOTSHARE='TOTAL*INITIAL*CP SHARE*WEIGHT'
ZIPSHARC='TOTAL*CURRENT*ZIIP SHARE*WEIGHT'
ZIPSHARE='TOTAL*INITIAL*ZIIP SHARE*WEIGHT'
IFASHARC='TOTAL*CURRENT*ZAAP SHARE*WEIGHT'
IFASHARE='TOTAL*INITIAL*ZAAP SHARE*WEIGHT'
LPARSHAC='LPAR*CURRENT*CP SHARE*WEIGHT'
LPARSHAR='LPAR*INITIAL*CP SHARE*WEIGHT'
LZIPSHAC='LPAR*ZIIP SHARE*CURRENT*WEIGHT*PCT'
LZIPSHAR='LPAR*ZIIP SHARE*INITIAL*WEIGHT*PCT'
LIFASHAC='LPAR*ZAAP SHARE*CURRENT*WEIGHT*PCT'
LIFASHAR='LPAR*ZAAP SHARE*INITIAL*WEIGHT*PCT'
ASUM70PR and ASUMCEC variables exist per LPAR:
LPnSHARC='LPAR n*SHARE*CURRENT*CP WEIGHT*PCT'
LPnSHARE='LPAR n*SHARE*INITIAL*CP WEIGHT*PCT'
LPnZIPSC='LPAR n*ZIIP SHARE*CURRENT*WEIGHT*PCT'
LPnZIPSH='LPAR n*ZIIP SHARE*INITIAL*WEIGHT*PCT'
LPnIFASC='LPAR n*ZAAP SHARE*CURRENT*WEIGHT*PCT'
LPnIFASH='LPAR n*ZAAP SHARE*INITIAL*WEIGHT*PCT'
Thanks to Lindholm Orjan, VOLVO, SWEDEN.
Change 31.129 Support for CICS User CIFAUDIT field.
IMACICV5
UTILEXCL
VMAC110
Jul 8, 2013
Change 31.128 If you tried to use the LDB2*** parameters to reroute a
READDB2 dataset to a different DDNAME/LIBNAME, it was not honored
Jul 4, 2013 and fails when trying to write to the PDBOUT destination.
READDB2 was using PDBOUT when it should have been using
the PDB2*** macro variables to change output DDNAMEs.
Thanks to David Bernhardt, Verizon, USA.
Change 31.127 Variables R783DCTM and R783DDTM (Control Unit Connect and
VMAC78 Disconnect Times) were added by z/OS 1.10 but were not
Jul 2, 2013 flagged with the expected vertical bar for new fields so
they were overlooked. They are added to Dataset TYPE78CU.
Thanks to Erling Andersen, SMTDATA, DENMARK.
Change 31.126 Variable XPTRVERS is now kept in all XPTR dataset.
VMACXPTR
Jul 1, 2013
Thanks to Robert Corballo, Xerox, USA.
====== Changes thru 31.125 were in MXG 31.04 dated Jun 26, 2013=========
Change 31.125 If you correctly asked for only DB2ST225 using syntax of
READDB2 %READDB2(IFCIDS=STATISTICS,WANTONLY=DB2ST25);
Jun 25, 2013 DIFFDB2 failed on the DB2STAT4 dataset due to a missing
ELSE clause, causing 0 observations to be created.
Thanks to Neil Ervin, Wells Fargo, USA
Change 31.124 MXG 31.03 only, INVALID DO LOOP CONTROL ERROR for ID=72
VMAC7072 SUBTYPE=5 record because MXG did not test SMF72QSN for a
Jun 25, 2013 missing value. Fortunately, since it was missing, there
Jun 27, 2013 was no impact, except for the error message and hex dump!
Aug 22, 2013 Correction was made in the undocumented refresh in 31.04
that was made on Jun 27. Check the 2nd line of VMAC7072
for Jun 27 to verify you have the final 31.04.
Thanks to Cletus McGee, ALFA Insurance, USA.
Change 31.123 Using the archaic EXITCICS version 1 for DB2 compressed
Jun 26, 2013 records caused INPUT STATEMENT EXCEEDED RECORD LENGTH due
VMACDB2H to a truncated DB2 Data Sharing Header, with only four
bytes and an invalid QWHSLEN (1439 decimal), printing an
incorrect message that APAR PM32425 was needed. Using
the current EXITCICS solved the truncation, but MXG now
detects this truncation with a revised error message and
prevents the STOPOVER ABEND.
Thanks to Michael Toole, AAA Michigan, USA.
Change 31.122 Long variable names caused 49, 388, and "quoted string"
VMXGSRCH errors. The string length was insufficient but now is
Jun 23, 2013 increased to 72 which will support names up to 50 bytes
(although SAS variable names have a 32 byte maximum).
Change 31.121 MXG Logic did not "unhex" CONDCODE for ABEND='COND=J' as
VMAC30 it does for USER and RETURN codes, causing the value to
Jun 23, 2013 be CONDCODE='000C', when it should be CONDOCD='0012'.
Thanks to Robert Bardos, Next Stride AG, SWITZERLAND.
Change 31.120 Support for QESD segment added in MQ Series 7.1 adds
VMAC115 variables to MQMMSGS dataset:
Jun 22, 2013
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.119 -Variables IPCSTIME and character TIMEZONE (CDT/EDT/etc.)
VMACNMON are added to NMONBBBP dataset.
Jun 23, 2013 -New RECTYPE='DISKWAIT1' now supported correctly; this
Jul 1, 2013 update was NOT in MXG 31.04, but is in 31.05.
-In adding support for DISKWAIT1 it was discovered that
the PDB.NMONDISK dataset could be missing observations
if there were more than 150 disk volumes on the system;
NMON writes 150 disks per record, and spills more disks
into the DISKxxxx1 tag, but MXG logic incorrectly used
the count in the LAST tag, so in this case, there were
150 disks in the first record, then 53 in the second, but
MXG used that count of 53 and output only the FIRST 53.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 31.118 Support for new EDGR variables added to EDGRXEXT dataset
VMACEDGR (COMPATIBLY) by z/OS 1.13:
Jun 22, 2013 RDCOMPRAT ='FILE*COMPRESSION*RATIO'
Jul 15, 2013 RDESB ='EXPDT*SET BY*DATASET'
RDPHYSIZE ='ACTUAL*DATA ON*TAPE*AFTER'
RDUCDATE ='DATASET*LAST*USER*CHANGE*DATE'
RDUCTIME ='DATASET*LAST*USER*CHANGE*TIME'
RDVEX ='VRSEL*EXCLUDE?'
RVCOMPRAT ='VOLUME*COMPRESSION*RATIO'
RVESB ='EXPDT*SET BY*VOLUME'
RVHOLD ='VOLUME*HOLD?'
RVPHYSUSED='ACTUAL*SPACE*AFTER*COMPACTION'
RVRETMET ='RETENTION*METHOD'
RVRMSB ='RETENTION*METHOD*SET BY'
RVUCDATE ='VOLUME*LAST*USER*CHANGE*DATE'
RVUCTIME ='VOLUME*LAST*USER*CHANGE*TIME'
Thanks to Clayton Buck, UNIGROUP, USA.
Change 31.117 DB2 V10. All QLSTxxxx numerics (in DB2STATR,DB2STATS)
VMACDB2 are wrong. IBM inserted QLSTPRID in the second iteration
Jun 20, 2013 of DB2 V10 right after QLSTLOCN, but I missed that change
so all subsequent variables were misaligned by 8 bytes.
My thanks to DB2 Support at Computer Associates whose
reports were correct and were used to correct my error.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.116 TYPETPMX variable JOBNUM was truncated from the left when
VMACTPMX it was 6 digits long; an INPUT JOBNUM $VARYING7. is
Jun 20, 2013 (pretty obviously) needed for seven digits.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.115 -Reading COMPRESSED DB2 SMF 102 records using the internal
READDB2 SAS-code decompression algorithm set SUBTYPE=0 instead of
VMACSMF storing the IFCID in SUBTYPE. If you used %READDB2 and
Jun 19, 2013 listed any numerics in IFCIDS= argument, NO OBSERVATIONS
were created in those T102Snnn datasets, because READDB2
incorrectly tested SUBTYPE instead of QWHSIID.
Note: If you use the EXITCICS SAS INFILE EXIT on z/OS
to decompress DB2 records as they are read, or if you
use IBM PGM=DSNTSMFD on z/OS to decompress before you
read them, the SUBTYPE value is correctly set to the
IFCID, which is why the SUBTYPE test usually worked!
Now, QWHSIID is tested in READDB2 to correct this error.
-Because IBM DB2 does not populate the IFCID value into
the SMF Header SUBTYPE Field, MXG logic in VMACSMF gets
IFCID from the DB2 Product Segment to put into SUBTYPE,
when the data is uncompressed or the CICSIFUE is used,
but with the internal MXGDECOM, the record has not yet
been decompressed when the SMF header is processed, so
the offset to the Product Segment is wrong and the IFCID
cannot be INPUT, and SUBTYPE is zero (except for IFCIDs
105,106,196,258 and maybe others that aren't compressed).
and so ANALID reports 102.000 for those IFCIDs that can't
be known due to comressed records with MXGDECOM.
-After Change 32.175, the DB2 Subsystem is ALWAYS decoded
in the SMF Header Processing; the SMF SUBSYS field is the
DB2 Subsystem, but that was not realized in 31.115.
This Change Text was revised AFTER CHANGE 32.175.
-However, with compressed records and the internal decomp,
the DB2 version will be blank, since that, like IFCID, is
only in the product segment.
-The UTILGETM/VMXGGETM utility to extracts records of each
ID and Subtype to create the SMFSMALL dataset or report
on SMF record counts will also lump all those ID=102
IFCIDs as SUBTYPE=0 with compressed/internal.
-EXITCICS and DSNTSMFD are members in MXG Source Library.
-VMACSMF was revised to bypass reading the Product Segment
with compressed data and the internal code is used.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
====== Changes thru 31.114 were in MXG 31.03 dated Jun 17, 2013=========
Change 31.114 SMF70NCA, PERCENT*WHEN*CAPPING*DELAYED*WORK is added to
VMXG70PR ASUM70PR ASUM70LP ASUMCEC ASUMCELP datasets, and the
Jun 17, 2013 maximum Group MAX70NCA is added to ASUM70GL.
Thanks to Helene BARDON, Silica Production Information, FRANCE.
Change 31.113 Discovered during QA. TRNDing RMFINTRV created workload
VMXGRMFI variables in TRNDRMFI/MNTHRMFI datasets with suffixes TRN
Jun 17, 2013 RSP SWP for TSO1/TSO2/TSO3 that should not have been
created nor kept, as the actual TSOn TRAN RESP SWAP were
created. Because of the original 8-byte variable name
restriction, and because you can specify Workload prefix
with five characters, the OTHER multi-period workload
variable names ARE suffixed with TRN RSP and SWP, which
is a regrettable inconsistency in MXG names that we'll
have to live with. Also, workload variables that are
used only for normalizing (suffix CNT) are not kept.
Change 31.112 MXG support for ODS graphics executes PROC TEMPLATE when
FORMATS FORMATS is run (during install of a new MXG Version) and
GRAFWRKX the MXGSTYL1 style is stored in the //LIBRARY DD/LIBNAME
MXGSTYL1 and VMXGINIT adds LIBRARY to the ODS Path so that style,
VMXGINIT used initially in GRAFWRKX, can be retrieved and used.
Jun 16, 2013 GRAFWRKX comments show how to use the ODS graphics code.
Change 31.111 -RMF III Enhancements and Notes
ASMRMFV -RMF III SVP (Service Policy) tables over 32K in length
SENDVSAM are now supported. Prior versions of ASMRMFV would skip
VMACRMFV the entire SVP table if it exceeded 32K because that was
Jun 15, 2013 beyond the maximum output LRECL possible. Now when
needed this table is segmented and output to RMFBSAM as
several records. This was a long standing documented
ASMRMFV program restriction that is now lifted. This is
the last RMF Monitor III table that had a size support
restriction. Users with Service Policies less than or
equal to 32K in size will have a single SVP record
output to RMFBSAM as before.
-VMACRMFV has been upgraded to accept segmented SVP table
records when present as input in the RMFBSAM file; these
variables are now RETAINed from the header and are kept
in ZRBSVPC ZRBSVPG ZRBSVPR ZRBSVPW ZRBSVPZ datasets:
SVPDSP SVPIDD SVPIDN SVPIDU SVPIPU
SVPNSP SVPSNA SVPTDI SVPTIB SVPTPA
-Note: Users most likely to be affected by this change
are those with large number of Service Classes and/or
Report Classes in their WLM Service Policy. Their
ZRBSVPP, ZRBSVPW, ZRBSVPC, ZRBSVPZ, ZRBSVPR, and ZRBSVPG
data sets will now be populated in the RMF III PDB if
the SVP table is selected in ASMRMFV processing.
-When the POLICY parameter is in effect (NOPOLICY is the
default), a second RMFV024I message will now appear in
ASMRMFV SYSPRINT showing the Name and Description of the
Service Definition. This is in addition to the Name and
Description of the Service Policy already displayed.
-Also when the POLICY parameter is in effect, the
RMFV027I message in ASMRMFV SYSPRINT will now display
the total length of the SVP table. When this value
exceeds 32760 then the RMFBSAM output will be segmented
into several records instead of a single record to avoid
skipping the table. The segmentation behavior occurs
regardless of whether POLICY or NOPOLICY is in effect.
-The Service Policy itself is now counted as an entry in
the ENTRIES COUNT column for SVP tables. This is added
to the total number of Workloads, Service Classes,
Service Class Periods, Report Classes, and Resource
Groups defined in the Service Policy already included in
that value.
-ASMRMFV prologue source documentation has been updated
to remove documentation on the skipping of the SVP table
if greater than 32K in size.
-Minor corrections made to SENDVSAM sample JCL member
used to send RMF III VSAM file to MXG support.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change
must be installed. See MXG SOURCLIB member JCLASM3 for
sample JCL for the assembly and link-edit install steps.
Thanks to Warren Cravey, FMR Corporation, USA
Change 31.110 CICS/TS 5.1 only, MNSEGCL=5 (RESOURCE class FILE segment)
VMAC110 ID=110 Subtype 1 INPUT STATEMENT EXCEEDED RECORD LENGTH
Jun 13, 2013 because 16 bytes were inserted but not protected in MXG.
New variables
FCFIXCTM='FILE*EXCLUSIVE WAIT*DURATION'
FCFIXCCN='FILE*EXCLUSIVE WAIT*COUNT'
FCFIVSTM='FILE*VSAM STRING*WAIT*DURATION'
FCFIVSCN='FILE*VSAM STRING*WAIT*COUNT'
are now created in CICSRDFI. Fortunately (for ME!), only
leading edge CICS sites have enabled the RESOURCE class
segments, so the exposure is (hopefully) small for most.
Thanks to Tom Buie, Southern California Edison, USA.
Change 31.109 Documentation only, to create an uncompressed record for
VMAC110 technical support. The comment block is revised to show
Jun 11, 2013 how to print a hex dump of a single uncompressed record.
Change 31.108 DB2STAT1 variables QXSTCWLP/QXSTCW?R/QXSTCWLM/QXSTCWLD
VMACDB2 were not deaccumulated, were incorrectly kept in DB2STAT0
Jun 7, 2013 and QISTWMXU should not have been deaccumulated. Real
data with non-zero variables is required to validate if
fields are accumulated or not; the DSECTS are frequently
insufficient to clearly identify field contents.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.107 These TYPE120 variables are now correctly labeled:
VMAC120 SM1209DD='ENCLAVE*ZIIP*ELIGIBLE*ON CP*CPU TIME'
Jun 7, 2013 SM1209DE='ENCLAVE*ZIIP*ELIGIBLE*CPU TIME'
SM1209DF='ENCLAVE*ZIIP*TIME*ON ZIIP'
Thanks to Mark Wittie, Fidelity Investments, USA.,
Change 31.106 -Variable TYPETASK in dataset TYPE6 was inconsistent for
VGETJESN PSF and Printway records, and did not identify Printway
VMAC6 Basic from Extended mode. Now, TYPETASK and SUBSYS6 will
BUILD005 contain 'PSF ' for PSF, and 'TCP ' for Printway Basic or
BUIL3005 'TCPE' for Printway Extended format records.
Jun 4, 2013 -BUILDPDB logic revised so these TYPE6 TYPETASK values are
May 14, 2014 NOT accidentally used for PDB.JOBS. HOWEVER: this can
cause TYPETASK to be blank in PDB.JOBS for any job for
which ONLY the PRINT record was found. And that will not
likely happen in full BUILDPDB production with the SPIN
library populated. It is when you have not populated the
SPIN library, and read "today's" SMF, it will have those
type 6 record for jobs that executed prior to today, and
that is the primary source of jobs with only TYPE6 obs.
Once you've populated the SPIN library, there should be
very few cases of only a type 6 record so TYPETASK should
normally be populated in production BUILDPDBs
This paragraph revised May 14, 2014.
-IP PrintWay fills in the page count (variable PAGECNT,
SMF6PGE) when it uses the direct sockets protocol to send
data to the printer and ONLY IF "Record pages printed for
accounting" option is selected in the Printer Inventory.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Thanks to Jeff Fracas, WIPRO, USA.
Change 31.105 ASMTAPEE ML-51 update corrects MXGC010E error message.
ASMTAPEE Note that if the HSC exit is not installed, STKX=NO must
Jun 1, 2013 be specified as a PARM when ASMTAPEE is executed.
//MXGTMNT EXEC PGM=MXGTMNT,PARM='STKX=NO'
Thanks to Scott Barry, SBBworks, Inc., USA.
Change 31.104 Change 30.250 was incorrectly made in ANALCAPD. The code
ANALCAPD should have had PDB=&PDBMXG, in the Macro Definition, but
ANAL72GO this discovery caused examination and correction of these
ANALAVAI other members. Many cases of lower case variable names
ANALBLSR were upper cased for consistency.
ANALCISH
ANALDB2R
ANALDBTR
ANALDMON
ANALNPMR
ANALRAID
ANALWHO
May 31, 2013
Thanks to Randy Shumate, Reed-Elsevier, USA.
Change 31.103 Variable QACCN is now kept in TMMQQAA dataset.
VMACTMMQ
May 30, 2013
Thanks to Homayoun Riazi, UHC, USA.
Change 31.102 IMS 13 inserted new DLRAZAAP field in the 07 Log Record
VMACIMS nearly at the front, that was overlooked, and caused all
VMACIMSA subsequent variables to be invalid, but error messages of
May 28, 2013 invalid data were only rarely printed.
Thanks to Daniel Erikols, Handelsbanken, SWEDEN.
Change 31.101 PDB.JOBS new variables HICPUPGM and HICPUPCT were wrong,
BUILD005 as the job-level values were taken incorrectly from the
BUIL3005 last step. They are now populated from the TYPE30_5 job
May 23, 2013 record, (using SPIN30_5 names HICPUPG5/HICPUPC5 because
they come from multiple records). With this change,
HICPUPCT is the maximum value of any step or interval
record, and HICPUPGM is the corresponding program that
recorded that HICPUPCT.
Note: These variables were one of the last of the late
Bernie Pierce's implementations, and they exist so that
IBM might be able identify single threaded programs.
With all processor vendors acknowledging that processor
speed is now limited by physics, and unlikely to be
increased significantly, applications that are single
threaded need to be identified for possible revision so
they don't become bottlenecks in the future, and these
variables provide a POSSIBLE candidate identification.
addition. Many IBM customers provided data, and I was
contacted because the MXG program, ASMRMFV, was flagged
as likely single-threaded, and it is! That program
decompresses the RMF III monitor data, and we had
previously examined with STROBE, which reported that
96% of the CPU time was inside the IBM-provided code
ERB3RDEC that does the decompression, which kicked this
ball back in to IBM field of play!
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.100 Member ASUMUOW executed twice because lines 214 following
ASUMUOW were duplicates of the first 214 lines, in MXG 30.06 thru
May 23, 2013 MXG 31.02.
Thanks to Mike George, Northern Territory Government, AUSTRALIA.
Change 31.099 Unused Change Number
Change 31.098 Support for local CICS variables TUXTRAP and UMBPROG.
IMACICV3
IMACICV4
UTILEXCL
VMAC110
May 22, 2013
Thanks to Jim Polleti, Edward Jones, USA.
Change 31.097 -CICS Statistics SMF ID=110 subtypes 2-5 contain multiple
VMAC110 segments per record, each identified by its "STID" value,
May 14, 2013 which controls which dataset is output, but MXG didn't
identify which SUBTYPEs had which STIDS to create which
datasets. These comments in VMAC110 are updated to list
CICS Statistics Subtypes 3-5 that contain STIDs 121-129:
CICS RECORD SUBTYPES AND CORRESPONDING MXG DATASETS CREATED:
0=JOURNAL SEGMENT
CICSJOUR (DEFAULT IF UNKNOWN JOURNAL).
CICSSAP (IF IMACICSA ENABLED FOR SAP).
CICSSMED (IF IMACICSM ENABLED FOR SHAREDMED).
1=MONITOR/TRANSACTION
MNSEGCL=1 DICTIONARY RECORD: CICSDICT ONLY IN UTILEXCL
MNSEGCL=2 CICSACCT (ZERO OBS ALWAYS, WAS PRE ESA)
MNSEGCL=3 PERFORMANCE CLASS: CICSBAD, CICSTRAN
MNSEGCL=4 EXCEPTION: CICSEXCE
MNSEGCL=5 RESOURCE: CICSRDS,CICSRDFI,CICSRDQU
MNSEGCL=6 IDENTITY: CICSIDNT,CICSIDND
2=STATISTICS: ALL OTHER STIDS, ALL OTHER CICXXXXX DATASETS
3=TS DATA SHARING STATS: CICXQ1,CICXQ2,CICXQ3
STID: 121 122 123
4=CF DATA TABLE STATS: CICFS6D,CICSF7D,CICFS8D,CICFS9D
STID: 126 127 128 129
5=NAMED COUNTER STATS: CICNS4D,CICNS5D
STID: 124 125
-TYPE110 processing always examines subtypes 2-5 for all
possible STIDs, which control which dataset is output,
but the example in comments in CICINTRV to build from raw
SMF selected only subtype 2 in its IMACFILE tailoring, so
that example would not populate those nine datasets. That
example now selects SUBTYPE GE 2.
Thanks to Richard Schwartz, IBM Global Services, USA.
Change 31.096 Example summarizes ENTIREX data to 15 minute intervals.
ASUMENTX
May 11, 2013
Change 31.095 Variable CA_XIIS /* GET CACHE DATA ACCESS XI'S */ now
ANALRMFR includes R744CXFW /* XI WRITE */ to match IBM RMF report.
May 11, 2013
Thanks to Marvin Silverman, ???, USA.
Change 31.094 BUILDPDB/BUILDPD3 enhancement: create your own accounting
BUILD005 variables for PDB.JOBS/PDB.STEPS/PDB.SMFINTRV, especially
BUIL3005 useful when converting from MICS to MXG. While IMACACCT
EXPDBACC allows you to create account variables, and the _KTY30Ux
VMXGINIT tailoring macros, placed in member IMACKEEP, will add
May 11, 2013 them to the TYPE30xx datasets, this new EXPDBACC exit
lets you create additional account variables for BUILDPDB
and, similar to other PDB "ADDxxxx" macro variables, use
%LET ADDACCT= ACCTBITS ACCTNo1-ACCTNo5;
and your new variables will be kept in the PDB datasets.
Thanks to Randall Schlueter, First Data, USA.
Change 31.093 -The DB2 "INVALID" IFCID=369 ID=100 SUBTYPE=5 DB2STAT5 SMF
CLEARDB2 record, cited and purportedly protected by Change 31.088,
READDB2 is more accurately described (in fairness to IBM DB2) as
VMACDB2 "UNDOCUMENTED" or "UNEXPECTED", but not INVALID, although
May 14, 2013 it caused MXG to take a floating point exception or INPUT
STATEMENT EXCEEDED error that ABENDED the JOB. (Older MXG
Versions print the 'CALL HOME" message 1440 times per DB2
Subsystem, but fortunately, with no actual impact on the
other existing DB2 datasets).
The UNEXPECTED subtype 5 record is now diagnosed as a
startup record, written when IFCID 0369 is enabled, and
it contains only two segments (PROD and OFF3691), with
only QW0369ST (enabled datetimestamp) populated, so MXG
sets QW0369CN='ENABLED' (or, for a record with QW0369SP
populated, MXG sets QW0369CN='DISABLED'). Since DB2STAT5
is a per-connection-type statistics, I presumed all five
segments would be present, but now test for QWHSNSDA=2 to
identify this record.
There was one record written with impossible DB2TCBTM of
152 minutes for a 1 minute interval for BATCH connection,
not possible, but the peak sum of DB2TCBTM recorded 38
minutes on a machine with XX CP engines.
Support for Subtype 5 was not in the original 31.02; it
was at least 5 minutes after I posted the GA announcement
before Joe Babcock sent me the CALL HOME message about
the new DB2 subtype, and Change 31.081 updated VMACDB2 to
create DB2STAT5, since it tested fine with a day's data
(other than the separate internal invalid data issue)
and because, without that updated VMACDB2, there would be
1440 "CALL HOME" log messages per DB2 subsystem printed
each day While in no way impacting the actual execution,
those messages can ONLY waste user's time in asking about
them, so the updated VMACDB2 at 31.081 was moved into the
redated MXG 31.02 on May 5. Unfortunately, by then, the
short record had been found, Change 31.088 detected and
protected, but the VMACDB2 in 31.02 of May 5 was still at
Change 31.081. This change, now does recognize and read
and output these records to DB2STAT5 without error.
-READDB2 is updated to create DB2STAT5 when STATISTICS or
IFCID=369 is requested. DB2STAT5 is NOT combined into
DB2STATS because STAT5 is per connection-type metrics.
-CLEARDB2 is updated to add DB2ST5 tokens to be redefined.
Change 31.092 Reserved Change Number.
May 8, 2013
Change 31.091 Instructions for updating IMACSMFF to add the description
FORMATS for user SMF records for the ANALID report and SMFRECNT
May 7, 2013 dataset didn't state that the syntax that is required is
'III.SSS' (III=ID with SSS=SUBTYPE) if the record has the
a subtype in the SMF header, or 'III.000' if not.
Change 31.090 Default LENUSRCH=32 was left behind from debugging that
IMACICUS should be LENUSRCH=0; this could cause EXCLUDED field
May 7, 2013 error messages even though you had tailored IMACEXCL.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.089 Installation JCL example had inconsistent DSNAMEs for the
JCLINSTT TERSED dataset.
May 7, 2013
Thanks to Donald Williams, UNC Health Care, USA.
====== Changes thru 31.088 were in MXG 31.02 dated May 5, 2013=========
Change 31.088 New DB2 V10 ID=100 SUBTYPE=5 DB2STAT5 INPUT EXCEEDED
VMACDB2 error because of an UNDOCUMENTED short record with only
May 4, 2013 two segments. See Change 31.093 for the correction.
The original May 4 change to VMACDB2 detected and deleted
records with large OFF3692 offset values. The DB2STAT5
data is the DB2 IFCID=0369 and must be enabled to create
the exposure. See Change 31.093.
Change 31.087 MXG 31.02. Debugging PROC PRINT of DATA=MGTMSVL was left
TYPETMS5 after it helped diagnose Change 31.078. Now removed, but
May 4, 2013 it could create a massive print output dataset.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.086 -SMF Audit Report Enhanced for DB2 SMF to report if the
ANALID ACCUMAC ZPARM option was enabled (NON-ZERO VALUE combines
VMACID multiple 101-1 records into one Rollup record with all
VMACSMF detail summarized). Variable DB2PARTY='R' in DB2ACCT
May 4, 2013 flags the summary records, which can be confusing if you
Jun 26, 2013 do not know what to look for, and ACCUMAC=10 is default.
A column is added and new FOOTNOTE2 explains. Note that
if ACCUMAC is on and off, statistics for both conditions
are reported.
-CICS 110.2 records are never compressed but MXG didn't
select only subtype 1 records, so the report could have
incorrectly indicated compressed for subtype 2 records.
-Jun 26, 2013: Comments revised in IMACSMFF.
Change 31.085 Format $MGCICDS for SMF/SMT/SMS CICS Statistics values
FORMATS 11/12/13x are now replaced in CICS/TS 5.1:
May 3, 2013 '11'X='11X:GCDSA' /* WAS ESDSA PRE 5.1.0 */
'12'X='12X:GUDSA' /* WAS ERDSA PRE 5.1.0 */
'13'X='13X:GSDSA' /* WAS ETDSA PRE 5.1.0 */
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 31.084 MXG 31.02, RMF III INPUT STATEMENT EXCEEDED if an LPAR
VMACRMFV had no engines; the SKIP logic to skip the nonexistent
May 3, 2013 segments was incorrect with unexpected zero engines.
Thanks to James Sterling, DST Systems, USA.
Change 31.083 Reserved Change Number.
May 10, 2013
Change 31.082 -ASCII only. Character variable SMFDSAIN with $HEX format
VMAC110 must be input as $CHAR instead of $EBCDIC when MXG runs
Apr 30, 2013 on ASCII. Two of three incorrect instances corrected.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Glen Bowman, Wakefern Food Corp.
Change 31.081 Support for DB2 V10 ID=100 SUBTYPE 5 Statistics Record,
EXDB2ST5 IFCID=369, created when you enable that trace record, now
IMACDB2 creates new DB2STAT5 dataset with LOTS of CPU and WAIT
VMACDB2 times (ALL QBAC and QWAX variables) by connection type,
VMXGINIT with these connection types defined:
Apr 30, 2013 MASS - IMS attach
SASS - CICS attach
RRSAF - RRSAF attach
UTILITY - Utility
BATCH - Batch
DIST - DDF connection
From IBM:
1.Statistics collection will become enabled when both
IFCID 369 and IFCID 3 is enabled on the system.
2.All counters will be reset to zeroes when DB2 is
restarted
3.Statistics are aggregated by connection type. If no
agents for that connection type have executed since
the 369 collection in enabled, no data will be
externalized for that connection type.
4.QWACPCNT indicates the number of transactions
aggregated for a given connection type.
The MXG - ERROR: UNEXPECTED DB2 SUBTYPE. CALL HOME.
shows how long ago this code to detect new subtypes was
added to MXG: BEFORE THERE WAS AN INTERNET! The message
now references SUPPORT@MXG.COM.
There is no direct impact on ITRM by the creation of the
new DB2STAT5 dataset. When DB2STAT4/DB2ST225 datasets
were created MXG did impact ITRM, with NOT SORTED errors
(that were immediately corrected with a one line insert),
but that was because those datasets were merged into the
PDB.DB2STATS where sorts had to match; this new DB2STAT5
dataset is NOT combined into the interval PDB.DB2STATS,
at least not yet and not until it's errors are fixed,
because it is a per-connection-type-per interval dataset.
See Change 31.093.
Sep 2014 Note: If you have tailored TYPEDB2/TYPSDB2 code,
you will have to modify your code to create the DB2STAT5
dataset. If you uses _NDB2 to null all datasets, then
you will need to add MACRO _WDB2ST5 DB2STAT5 % so that
that dataset is created. Otherwise, you will get
ERROR: No data set open to look up variables
printed before
"The data set WORK.ZZDB2ST5 may be incomplete/"
Thanks to Joe Babcock, JPM Chase, USA.
Thanks to John Hornor, JPM Chase, USA.
Change 31.080 -RMF III Enhancements, Fixes, and Notes
ASMRMFV -Change 31.021 increased the number of ENC table triplets
May 28, 2013 processed from 1 up to 6. However, later analysis of
data from several installations confirmed that triplets
2-6 all have zero token values for every enclave and no
identification information. Therefore, processing is
reverting back to only processing the first triplet as
before.
-Note: Users who have implemented change 31.021 or 31.062
will see the number of observations in the ZRBENC dataset
significantly reduced with this change.
-Validity checking for most RMF Monitor III tables has
improved. This is intended to detect malformed RMF III
tables that could cause abends or bad data in the PDB
build later. For example, table headers cannot have a
zero or excessive length. However, users should not see
a general increase in skipped records. Table skipping
should be a rare event.
-ASMRMFV was inconsistent in handling tables with entry
counts of zero. Most tables with this condition were
already ignored with no output to any file. However, for
some tables the header only was output. Now all such
tables are ignored by default.
-Note: RMF Monitor III table headers only contain control
information such as header length, total record length,
and the number of entries, entry length, and table offset
for triplet groups. So there is no loss of useful
analysis data by excluding headers only from the RMFBSAM
file. It is the entries themselves that contain relevant
information for reporting.
-Because headers only for tables with zero entries are no
longer output, the ZEROENC/NOZEROENC parameters (and
their aliases) for ENC table processing are now OBSOLETE.
If coded they will be accepted without error, but will be
ignored.
-ZEROENC/NOZEROENC will no longer be displayed in filters
message RMFV006I.
-New parameters SKIPTAB/NOSKIPTAB are now supported.
NOSKIPTAB is the default and says to ignore any tables
with zero entries. This is the behavior of prior ASMRMFV
versions. SKIPTAB says to output these as skipped
records. SKIPTAB is intended for possible diagnostic use
only and the default NOSKIPTAB should be adequate for all
users.
-Note: SKIPTAB/NOSKIPTAB applies only to the following RMF
Monitor III tables: ASI, CFI, CPD, CSR, DVT, ENC, ENT,
OPD, SPG.
-When the POLICY option (alias POL) is in effect a second
RMFV027I message will now be produced showing the SRM
coefficients for CPU, IOC, MSO, and SRB for that Service
Policy.
-Error message RMFV007S had incorrect values for DDNAME
and Reason Code when a BLDVRP failure occurred.
-ASMRMFV prologue source documentation has been updated
for the new SKIPTAB/NOSKIPTAB parameters, the obsolete
ZEROENC/NOZEROENC parameters, and has more information on
the checks used to determine skipped records.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
There are NO CHANGES to VMACRMFV for this enhancement.
Thanks to Rodger Foreman, Trans Union, USA
====== Changes thru 31.079 were in MXG 31.02 dated Apr 29, 2013=========
Change 31.079 Dataset TYPE42 variables S42CCSST S42CCEIT S42CCSET
VMAC42 were on GMT rather than local, and there is no GMT offset
Apr 26, 2013 in that subtype, but SMFTIME was used to derive and use
the offset to convert those datetimes to local zone.
This caused me to examine and find that all of the TYPE42
datasets with STARTIME and ENDTIME also had GMT values,
but these datasets were corrected in this change:
42D1 42D2 42D3 42D4 42EX 42L1 42L2 42S1 42S2 42S3
42S4 42SR 42VT 42X1 42X2 42X3 42X4.
Either no one uses these datasets, or they recognized the
SMFTIME was local and could visually convert!
Thanks to Paul Naddeo, Fiserv, USA.
Thanks to Edward Petka, Fiserv, USA.
Change 31.078 PROC FORMAT failed with "FORMAT NAME $MGTMSVL" IS INVALID
VMACTMS5 that was NOT repeatable here with either z/OS or Windows,
ANAL30 because this was an NLSCOMPATMODE issue for non-US site.
ANALCPUV The $ is a variant character and was the culprit, but it
ANALDB2P turns out that the $ is NOT required in the FORMAT NAME,
ANALZPCR since the PROC FORMAT sets the CHAR/NUM nature, so all of
GRAFLPAR the PROC FORMATS that create 'on the fly' formats were
TIMEBILD revised to remove the $ character from variable FMTNAME.
TRNDTALO NOTE: ALL NLS ISSUES ARE ELIMINATED IF YOU USE THE NEW
VFMT102 // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
VFMT102 documented in Change 27.356 and recommended in INSTALL,
Apr 26, 2013 or if CONFIGN9 (instead of CONFIGV9) is used in your site
MXGSASV9 JCL, as CONFIGN9 does NOT change the site's
NLSCOMPATMODE option value.
Thanks to Frank Lund, Evry AS, NORWAY.
Thanks to Rich Anderson, SAS Technical Support, USA.
Change 31.077 z/VM 6.2 PRCMFC 5.13 (SMF 113-like) record has 384 extra
VMACVMXA bytes added that exposed BROKEN CONTROL RECORD ERROR, due
Apr 27, 2013 to MXG code (1664 bytes read for the 208 counters, but
1728 subtracted). No new counters exist (yet?) in z/OS
SMF 113 so these new bytes are (presumably) for the
future, but I will confirm with IBM VM support and update
this note if there is another explanation.
Thanks to David J. Schumann, BCBS of Minnesota, USA.
Change 31.076 Support for USER CICS fields INFRASTR CSGNTAIP FDRTRRCP
IMACICUY and FDRICPTI.
IMACICUZ
IMACICV1
IMACICV2
UTILEXCL
VMAC110
Apr 25, 2013
Thanks to Mayer Rosenthal, WIPRO, USA.
Thanks to Jeff Fracas, WIPRO, USA.
Change 31.075 ASCII execution only. Variables RTYPE and RRTYPE were
VMAC110 incorrectly input as $CHAR instead of $EBCDIC in current
Apr 23, 2013 CICS versions' code. Older versions were correct.
And there was NO error if you used UTILEXCL to create a
tailored IMACEXCL; that code did use $EBCDIC.
Thanks to Erling Andersen, SMTDATA, DENMARK.
Change 31.074 Dataset ZRBLCP had incorrect values for these variables
VMACRMFV LCPUPOLR LCPUCHIN LCPUCHIX due to misaligned INPUT.
Apr 23, 2013
Thanks to Sterling James, DST Systems, USA.
Change 31.073 Variable TYPETASK added to ASUMSMFI and TRNDSMFI
ASUMSMFI datasets.
TRNDSMFI
Apr 28, 2013
Thanks to Frank Lund, Evry AS, NORWAY.
Change 31.072 Format MG0748L decodes variable R748LTYP; new value for
FORMATS 16 GB/S Link Type is now decoded.
Apr 23, 2013
Thanks to "Bustia REPORTING", La CAIXA, SPAIN.
Change 31.071 Cosmetic. PAGEBY SYSTEM added so each system starts on a
ANALID new page.
Apr 23, 2013
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 31.070 PMSTA01 Report. Cosmetic. If DB2STATS had only one obs,
ANALDB2R and always for the last observation, page headers for
Apr 19, 2013 the report were suppressed.
Change 31.069 Reserved Change Number.
Apr 28, 2013
Change 31.068 See Change 31.018. This is IDMS EXIT code, contributed by
ADOCIDMP Blake Leggett, Pace Applied Technology, that creates the
ASMIDMPA SMF records with IDMS resources that are processed with
ASMIDMPJ TYPEIDMP/TYPSIDMP MXG programs.
ASMIDMPS -See ADOCIDMP for details for installing the exit.
ASMIDMPU -The assembly source members for the Account Information
JCLIDMPA exit, Journal Exit, Task Statistics Exit, and User Exit
JCLIDMPJ for IDMS are now included.
JCLIDMPS -Sample JCL members for these exits are provided with
JCLIDMPU documentation on what each exit does and how to install
Apr 13, 2013 them.
-NOTE: Some tailoring of the sample JCL is required for
data set names particular to the user installation.
-NOTE: These exits are intended for use with IDMS V12.0
and up.
Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.
Change 31.067 A new way to map DBID/OBID to their database and object
ANALDB2R names by first using JCLSQLID to extract those names at
JCLSQLID a point-in-time, from SYSIBM.SYSTABLESPACE which has the
VFMT102 complete mappings, rather than reading 105/107 IFCIDS
Apr 13, 2013 that has been problematic, and then the POINTIME= option
added in ANALDB2R POINTINTIME= can be used to read that
dataset created by JCLSQLID:
-POINTINTIME=YES reads JCLSQLID output from a static
//OBID DD DSNAME= you provide.
-POINTINTIME=DSNAME allocates DSNAME to FILENAME OBID
and reads that file of JCLSQLID output.
-POINTINTIME=NO reverts to the prior technique using the
IFCID 105/107 records, but neither technique is 100%
perfect as mappings can be changed after the snapshot
was taken. This method has been more complete in
mapping.
Change 31.066 Support for z/OS 2.1.
VMAC7072 -Up to 256 engines are supported, but no new variables are
Apr 12, 2013 kept in TYPE70. Individual engine data for all engines
are output in TYPE70EN dataset.
Change 31.065 If there was no PDB in PDB= argument, ANALDBTR failed:
ANALDBTR ERROR: NO BY STATEMENT USED OR NO BY VARIABLES EXISTED.
Apr 11, 2013 The substitution style macros all specify &PDBMXG as the
input DD to be used in the sorts (that is the MXG default
value) but ANALDBTR and ANALDB2R could be pointing at
other DDNAMEs including WORK. This change sets the value
of &PDBMXG to the PDB= parameter that was specified when
ANALDBTR is called, after storing the original value so
it can be restored at the end of ANALDBTR.
Change 31.064 DSGI Data Set Graphics is not officially supported by SAS
ANALACTM after SAS 9.3, but it does work in SAS 9.4, and it will
Apr 11, 2013 likely continue to execute in future releases, as it is
Jun 15, 2013 not actually being removed, but is no longer documented
and is no longer supported if errors occur. With SAS 9.4
this note is printed on the SAS log, but it still works:
NOTE: DSGI will no longer be supported after SAS 9.3.
Also, option CHART=NONE will suppress the DSGI code.
And, the Graphic portion of the report does require that
you have SAS/GRAPH - that code automatically skipped if
we see that you do NOT have SAS/GRAPH, but the formatted
hierarchical report of your WLM policy is still created.
Change 31.063 Cosmetic. Page spacing for Header 2 was different than
ANALRMFR Header 1; the extra // in Header 2 was removed.
Apr 10, 2013
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 31.062 -RMF III Enhancements and Notes
ASMRMFV -The RMF Monitor III Processor Data Control Block (CPU)
VMACRMFV and CPC Data Control Block (CPCDB) tables are now handled
Apr 11, 2013 as two distinct tables just as they are documented in the
RMF Programmer's Guide. Before they were logically
handled as one table (CPU).
-The CPCDB table will appear as a new table entry CPC in
ASMRMFV RMFV105I messages. Each LPAR entry is counted as
an entry in the output.
-Note: The CPU table generally contains physical processor
data while the CPC table contains LPAR and logical
processor data. CPU table data is output to the ZRBCPU
dataset while CPC table data is output to the ZRBLCP
dataset by VMACRMFV. The number and content of variables
in those datasets is unchanged from prior releases with
the exception of 2 minor variables CPUCPOFF and CPUTOTLN
in the ZRBCPU file.
-The CPU and new CPC table selection parameters in ASMRMFV
are co-dependent because the tables are so closely
related. When one is selected, so is the other. For
example, the CPU parameter when coded also selects The
CPC table. Conversely, when one is deselected, so is the
other. For example, NOCPU when coded will also result in
NOCPC. Thus you do not need to alter any existing
CPU/NOCPU parameter settings you may currently have to
include or exclude the CPC. The ALL parameter (default)
also selects both tables.
-When the CPC table is selected in ASMRMFV the LPAR and
Logical Processor entries are now blocked up to use as
much as possible of a 32K logical record. The much
shorter CPU table is unblocked.
-ASMRMFV/VMACRMFV will now support up to 680 Logical
Processors per LPAR (based on current section data
lengths) before the entire CPC table is skipped.
-VMACRMFV is updated to support the CPCDB table and
blocking of its LPAR/Logical Processor sections.
-ASMRMFV will now show the Average LRECL output for each
RMF Monitor III table in detail and summary RMFV105I
messages as a potential aid to sizing the RMFBSAM file.
-Redundant code in ASMRMFV to skip various tables when
invalid lengths or errors are encountered has been
consolidated into a single internal subroutine.
-ASMRMFV prologue source documentation has been updated on
CPC/NOCPC parameters, the co-dependency with CPU/NOCPU
parameters, and other items related to this change.
-REQUIREMENT: In order to receive the performance benefits
from CPC entry blocking the current ASMRMFV utility
program from this MXG change must be installed. See MXG
SOURCLIB member JCLASM3 for sample JCL for the assembly
and link-edit install steps.
-Tutorial: This item has been mentioned before, but with
the CPC table blocking the use of the EXZRBLCP exit is
affected. Your tailoring logic in EXdddddd dataset exits
to control output of an MXG dataset needs this structure
to always be safe:
IF something THEN DO;
OUTPUT _Wdddddd;
END;
and can't use a DELETE, RETURN, nor "IF something;" logic
because when "something" is true, they stop the read of
this current record, skipping any un-read segments from
being tested for "something".
This consideration applies in particular to the
following RMF III tables that have blocked input data to
a PDB build and to their respective output exits:
RMF III Table Output Exit
------------- -----------
ASI EXZRBASI
CPC EXZRBLCP
CPD EXZRBCPD
CSR EXZRBCSR
DVT EXZRBDVT
ENC EXZRBENC
ENT EXZRBENT
OPD EXZRBOPD
RED EXZRBRED
SHD EXZRBSHD
SPG EXZRBSPG
UWD EXZRBUWD
Change 31.061 New MXGACC03 report uses ANALCNCR to create average and
ANALDB2R maximum concurrent threads/DBATs for each chosen INTERVAL
Apr 4, 2013 for each Subsystem and AUTHID, tabulated by QWHCATYP, the
Attachment Type (TSO,CICS,DDR...), with a tabular report.
You can tailor using existing ANALDB2R report parameters
to select data, or all DB2ACCT data will be reported.
BUT IT IS NOT POSSIBLE TO COUNT THREADS/DBATS WITH ROLLUP
DB2PARTY='R' ACCUMAC DB2 Accounting Records. If five
one-second transactions ran sequentially from minute 1 to
minute 6, their rollup record would report five minutes
with QLACRLNU=5 concurrently active when there was one.
We could calculate an average of 1 in this case, but if
the first minute was a peak of 50 and there were then
four minutes of 1, we would calculate an average of 11.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.060 These CA-Dispatch variables that can be added to TYPE6
IMACCADI and PDB.PRINT, CADIDPLX CADIJDEI CADIJDLI CADIATYP, were
VMAC6 all wrong and equal to CADIXFRM, variable CADIACCT now
Apr 4, 2013 has nulls converted to blanks, and new variable CADIJBID
contains the JCTJOBID from the CADI segment in SMF 6.
Thanks to Randy Schlueter, First Data Corporation, USA.
Change 31.059 -The System Parameter Report produced many pages, six
ANALDB2R pages per subsystem per interval generated. The report
Apr 3, 2013 did not anticipate an IFCID=106 record written every 15
minutes. Now, only the first observation for each
subsystem, or the first record after a restart will be
printed by PMSPR01=YES.
-Cosmetic. Page Number printing in DB2PM-like reports did
not align when there were five digits of page number.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 31.058 -The last NMON record, 'BBBP ENDING UPTIME' was not read
VMACNMON but now it is read into variables BBBP0049-BBBP0056.
Mar 29, 2013 -Records SEA, SEAPACKET, DONATE are supported.
Thanks to Lennon L. Merchant, Coca-Cola, USA.
Change 31.057 -When variable STARTIME was in SORTBY= argument, some of
ASUM4HRS the xxxx_4HRS_AVG variables were zero or missing for the
ANAL4HRS first four hours of each subsequent day. Comments that
VGETFMT tried to communicate "don't use STARTIME in SUMBY="
Mar 27, 2013 SORTBY- VARIABLES BY WHICH THE DATASET IS SORTED NOT
INCLUDING THE STARTIME (ASSUMED TO BE THE LAST
VARIABLE IN THE SORT)
were revised to be clearer.
-The prior requirement for the input data to be pre-sorted
is removed; ASUM4HRS will do the sort in its processing.
-ANAL4HRS was an accident from an early ASUM4HRS iteration
that shouldn't have been kept; now it is only comments to
use ASUM4HRS.
-Argument NONOTES was not UPCASED and was not recognized
when the argument was typed in low case, now corrected.
Thanks to Michael Marcus, FUJITSU, USA.
Change 31.056 Variable THREADS was created only in ASUMDB2A and used in
ASUMDB2A ANALDB2R, by setting THREADS=1 for each DB2ACCT obs, but
VMACDB2 for RollUp DB2PARTY='R' records, THREADS=QLACRLNU; is now
Mar 26, 2013 used to count the number of threads in each rollup.
And variable THREADS is now similarly created in DB2ACCT.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 31.055 Cosmetic. Variable CIFROM is formatted $MGNDMNT and
VMACNDM variable NDMNODET='FLAG1*FIELD' is formatted $HEX2. and
Mar 29, 2013 re-labeled correctly.
-Variable NDMRTYPE now kept in NDMGO as multiple subtypes
are output into that dataset.
Thanks to Michael Oujesky, Bank of America, USA.
Change 31.054 Corrections for '1031' record to populate JOBNAME and
VMACPRPR FIELDNAME.
Mar 24, 2013 Corrections for '1061' record, to use the original INPUT.
Apr 11, 2013 CUST_ACC changed to character variable as it must be.
Thanks to Geert Debatselier, KBC, BELGIUM
Change 31.053 MXGWARN: QWACBSC IS NOT A VALID SORTBY VARIABLE is fixed.
ANALDB2R
Mar 24, 2013
Change 31.052 IIS Weblog decoding URIQUERY than ended with &=1 with no
VMACWWW URIQNAME before the equal sign caused INVALID SUBSTR note
Mar 22, 2013 that is now eliminated.
Thanks to Dennis Longnecker, State of Washington Courts, USA.
Change 31.051 -Support for user field CHARGE creates variable USCHARGE
IMACICUX in CICSTRAN when comment block in IMACICUX is removed.
UTILEXCL -Change 30.283 (30.30/30.01) "***UNKNOWN FIELD" protection
VMAC110 was still insufficient, and the IMACEXCL created failed
VMACSMF with a 180 syntax error due to missing @;. Circumvention
Mar 22, 2013 logic updated yet again, hopefully, but sending the full
UTILEXCL log is all that is needed for MXG to add UNKNOWN
fields optionally to your CICSTRAN dataset.
Thanks to Mayer Rosenthal, WIPRO, USA.
Thanks to Denise Willers, WIPRO, USA.
Thanks to Jeff Fracas, WIPRO, USA.
Change 31.050 STOPOVER abend with ancient CICS Version '03' ID=110 in
VMACSMF new-in-30.30 VMACSMF code to get ID and SUBSYSTEM during
Mar 19, 2013 header processing was complicated by a subtype 0 record
that was actually a subtype 1, so the correction code in
VMAC110 was used in the VMACSMF processing logic.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 31.049 Support for WAS XD (WebSphere Extended Deployment) under
EXXDFGLG z/linux under z/VM reads 6 virtualization log files - see
EXXDNSLG IBM 2007 "Best Practices" Red Bok SG24-7343 - to create:
EXXDSPLG
EXXDSSLG DDDDDD DATASET Description
EXXDTILG
EXXDTSLG XDNSLG WASXDNS Node Statistics Historic Cache
IMACXDFG XDSPLG WASXDSP Server Power Consumption Stats Cache
IMACXDNS XDSSLG WASXDSS Server Stats Cache
IMACXDSP XDTILG WASXDTI TC Module Instance Stats Cache
IMACXDSS XDTSLG WASXDTS TC Module Stats Cache
IMACXDTI
IMACXDTS and this dataset which IBM recommends for Chargeback
TYPEXDFG
TYPEXDNS XDFGLG WASXDFG Fine Grained Power Consumption Stats
TYPEXDSP
TYPEXDSS These MXG variables are created in "Fine Grained" data:
TYPEXDTI
TYPEXDTS APPNAME APPLICATION*NAME
TYPSXDFG BEGINTIME INTERVAL*BEGIN*DATETIME
TYPSXDNS CELL CELL*NAME
TYPSXDSP CELLPOWER TOTAL*CELL*POWER*PER SECOND
TYPSXDSS CELLWORKPOTENTIAL MAXIMUM*CELLPOWER*PER*INTERVAL
TYPSXDTI CLUSTER CLUSTER*NAME
TYPSXDTS ENDTIME INTERVAL*END*DATETIME
VMACXDFG GWID GATEWAY*ID
VMACXDNS INTRVLTM INTERVAL*DURATION
VMACXDSP MODULENAME J2EE*MODULE*NAME
VMACXDSS NODE NODE*NAME
VMACXDTI NODEGROUP NODE*GROUP*NAME
VMACXDTS NODEPOWER TOTAL*NODE*POWER*PER SECOND
VMXGINIT NODEWORKPOTENTIAL MAXIMUM*NODEPOWER*PER*INTERVAL
Mar 31, 2013 NUMSERVICED REQUESTS*SERVICED*OF THIS*TYPE
ODR ON*DEMAND*ROUTER*NAME
POWERCONSUMED POWER*CONSUMPTION*RATE*PER SECOND
SERVER SERVER*NAME
SERVICEPOLICY SERVICE*POLICY*NAME
TCMODNAME TRAN CLASS*APPLICATION*MODULE*NAME
TCNAME TRANSACTION*CLASS*NAME
TIMESTAMP WAS XD FG*DATETIME*STAMP
WORKCOMPLETED WORK*COMPLETED
WORKFACTOR ESTIMATED*WORK*FACTOR
ZDATE ZEE DATE*ZEE OBS*WAS CREATED
Note: This new code will not execute under SAS 9.1.3; the
'M' operand to the SCAN function required when there are
duplicated delimiters, did not exist back then.
Thanks to Sally Jordan, Insurance Services Office, Inc., USA.
Change 31.048 MXG 31.01 only. CICS STID=29 (CICSMDSA dataset) was wrong
VMAC110 because I inserted a "cosmetic" comment documenting the
Mar 16, 2013 IBM field name in an INPUT statement, but its end-comment
was missing, causing MXG to be mis-aligned, so CICSMDSA
was "trashed" - easy to see since DSANAME was blank - and
printed WARNING CICS STID=0 STILEN=0 message on the log.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 31.047 New ESS GEPARMKY=0039 value for PRTOPTNS creates new
IMAC6ESS ESSOPTNS variable in TYPE6 dataset if you edit IMAC6ESS
VMAC6 to cause it to not be DROPed. See IMAC6ESS comments.
Mar 15, 2013
Thanks to Jessie Gonzales, California State Controller's Office, USA.
Change 31.046 New format $MG120HX was missing quotes on the right side;
FORMATS but SAS didn't detect the syntax error in member FORMATS,
Mar 15, 2013 until FORMATS was accidentally run without a //LIBRARY,
and only then did SAS flag the invalid syntax.
Change 31.045 ID=90 records subtype 6 and 7 "EVENTIME" is not the time
VMAC90 of the SWITCH/HALT but is the IPLTIME of this SYSTEM. So
VMAC90A variable IPLTIME is now kept in the TYPE9006 dataset and
Mar 14, 2013 both the archaic TYPE90 and recommended TYPE90A members
store EVENTIME into IPLTIME, but I kept EVENTIME since it
might already be in use in your reports.
Thanks to Perry Lim, Union Bank, USA.
====== Changes thru 31.044 were in MXG 31.01 dated Mar 13, 2013=========
Change 31.044 NMON (AIX/LINUX) dataset NMONBBBP variables BBBP028/029
VMACNMON were wrong because the INDEX test was underspecified and
Mar 13, 2013 satisfied multiple times, so the last match was used.
Mar 14, 2013 -Mar 14: BBBP029 still wrong, new "POWER SAVINGS MODE"
Mar 15, 2013 for MODE. Realized all groups of IF INDEX tests could be
replaced with ELSE IF INDEX tests for ordered testing and
to improve performance. Added BBBP147-BBBP149 variables.
-Mar 15: BBBP029 still wrong, new "MEMORY MODE" used, so
new BBBP150-BBBP158 are created for all new entries and
the test for 'MODE ' is ELSE IF after the above tests.
Thanks to Steve Dyck, CDS, CANADA.
Thanks to G. Delvecchio, Canadian Depository for Securities, CANADA
Change 31.043 -The example in comments in UTILEXCL that reads CICS SMF
IMACEXCL with UTILEXCL to create your tailored IMACEXCL, and then
UCICSCNT uses TYPE110 to re-read the CICS SMF data using that new
UTILEXCL IMACEXCL code, works on z/OS because the example's JCL
Mar 12, 2013 //IMACEXCL DD DSN=MXG.USERID.USERID(IMACEXCL),DISP=SHR
writes the IMACEXCL code to your "USERID" tailoring PDS
that is in your //SOURCLIB concatenation, so the %INCLUDE
of IMACEXCL in TYPE110 finds and uses the new IMACEXCL.
However, on ASCII, the FILENAME IMACEXCL must be written
to a file named imacexcl.sas (suffixed with .sas) and on
unix, in lower case, and, similarly, the file must be
written to a "tailoring" directory that is in the
FILENAME SOURCLIB concatenation on ASCII.
When FILENAME IMACEXCL 'c:\wherever\IMACEXCL' was used
with no suffix, UTILEXCL wrote to that filename, but when
TYPE110 was included, there were the same errors and no
observations, because the new IMACEXCL was not %INCLUDEd,
because it did not have the ASCII-required .sas suffix.
So, how could I tell the new IMACEXCL was not read? :
In MXG 30.30 (Change 30.283) UTILEXCL was enhanced for
diagnostics: when an IMACEXCL (created by new UTILEXCL)
is %INCLUDEd, a new MXGNOTE is printed on the SAS log:
177043 %INCLUDE SOURCLIB(TYPE110);
MXGNOTE: SITE IMACEXCL CREATED AT 11MAR2013:21:07:59.09
207431 RUN;
It was the absence of that MXGNOTE when I ran the user's
program to diagnose why no observations were created that
reminded me of the ASCII syntax requirement. Adding .sas
to the filename caused the new IMACEXCL to be error-free.
Examples in UTILEXCL were updated with ASCII syntax.
-The UCICSCNT program that reads SMF to count CICS record
types (transaction, statistics, dictionary), from each
APPLID and VERSION, is enhanced to count dictionary by
"triplet" values MCTSSDCN and MCTSSDRL, which matches the
existing transaction count details. This can be very
useful when MXG doesn't find the records your CICS guru
told you were enabled, by showing him/her what records
are ACTUALLY being created. So useful, that I added a
%INCLUDE SOURCLIB(UCICSCNT); statement to each example in
UTILEXCL that reads SMF data, since it would be useful to
support@mxg.com if there is a perceived UTILEXCL problem.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 31.042 Change 30.275 added support for a USER FORMAT library but
MXGNAMES the last line added in MXGNAMES was typo'd; it should be
VMXGCNFG LET MXGFORMU=YOUR.HLQ.MXG.USER.FORMATS; /*OPTIONAL*/
Jan 22, 2013 instead of MXGFORMT, and MXGNAMES wasn't listed.
Change 31.041 -Support for SHADOW USER SMF subtype 21 record creates new
EXSHDW21 DDDDDD DATASET DESCRIPTION
IMACSHDW
VMACSHDW SHDW21 SHADOW21 SHADOW MAPS
VMXGINIT -Mar 19: added support for subtype 4 record.
Mar 11, 2013 -Mar 23: corrected _BSHDW04 and _BSHDW21.
Mar 23, 2013
Thanks to Stuard Wildey, MorganStanley, ENGLAND.
Change 31.040 -Cosmetic. These harmless messages, from MXG housekeeping
READDB2 to minimize the //WORK library disk space requirement
Mar 9, 2013 NOTE: THE FILE WORK.DB2STATB (MEMTYPE=DATA) WAS NOT FOUND
BUT APPEARS ON A DELETE STATEMENT.
WARNING: NO MATCHING MEMBERS IN DIRECTORY.
are no longer printed.
-Also cosmetic: Change 30.257 didn't note that the use of
each _S102nnn sort macro creates 23 lines of messages on
the SAS log, or 9,320 more SYSOUT lines for IFCIDS=ALL.
Thanks to Jerry Massey, Compuware, USA.
Change 31.039 -The IBM TS7700 BVIR data does not contain a SYSTEM name;
VMACBVIR variable SYSTEM is now created and populated using
Mar 8, 2013 // EXEC MXGSAS,
// OPTIONS='SYSPARM="ASYS"'
with one, then eight, then five single quotes on z/OS,
or you can set SYSPARM in your SYSIN stream with:
OPTIONS SYSPARM='ASYS';
-Discovered subtype 32x caused INPUT STATEMENT EXCEEDED
with BVIRLEN=8256; tests added in Change 31.016 for the
LENGTH 8256 should have tested BVIRLEN instead.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.038 Cosmetic. Variable NAME should not have been kept in the
VMACRACF RACF0120 dataset.
Mar 8, 2013
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Change 31.037 Documentation enhancements for installing MXG on unix,
AUTOEXEU AIX, Linux, etc.
INSTALL
Mar 7, 2013
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 31.036 BETA93 Version 4.2.0 and 4.3.0 had invalid data values in
VMACBETA dataset BETA1 and 4.2.0 had invalid large NRACCTFL value
Mar 8, 2012 that also caused "DATA ERROR. CODE IN IMACACCT ....".
Variables INPUT after the accounting fields were invalid.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 31.035 The _STY74ID macro incorrectly specified TYPE74ID as the
VMAC74 input dataset rather than the correct _WTY74ID macro
Mar 7, 2013 name so if you modified the destination of the dataset
using the WTY74ID macro variable, the sort failed.
Thanks to Mike Georte, Northern Territory Government, AUSTRALIA.
Change 31.034 MXG 30.10 thru MXG 30.30. Change 30.279 reverted VFMT102
ANALDB2R to the PROC SORT NODUP removal algorithm, but ANALDB2R
Mar 7, 2013 wasn't tested with PMAUD02, which was not reverted:
ERROR: The keyword parameter SYSTEM DBNAME OBNAME
was not defined with the macro.
Change 31.033 COMPANY= added to allow the insertion of a company
ANALCOMP name in titles.
Mar 7, 2013
Change 31.032 Large page frame variables added to TRND71 dataset:
TRND71
Mar 7, 2013 Min Max Avg
Frames in Pool SMF71L1M SMF71L1X SMF71L1A
Frames Not Used SMF71L2M SMF71L2X SMF71L2A
Frames In Use SMF71L3M SMF71L3X SMF71L3A
Objects Alloc SMF71LOM SMF71LOX SMF71LOA
Thanks to Wayne Bell, UniGroup, USA.
Change 31.031 Cosmetic. Label for SMF64RLM is corrected from ESDS to
VMAC64 SMF64RLM='CA-S*RECLAIMED*IN KSDS*SINCE CLOSE/EOV'.
Mar 6, 2013
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 31.030 Support for 12 new NTSMF objects and MANY new variables
EXNTD064 added for existing objects. Find "ADDED BY CHANGE 31.030"
EXNTD065 in VMACNTSM to identify the new variables. There are now
EXNTD066 513 MXG datasets created from Windows NTSMF data.
EXNTD067
EXNTD068 -New Objects now supported:
EXNTD069
EXNTD070 DDDDDD Dataset/Object
EXNTD071 NTD064 HYPER-V_VIRTUAL_SWITCH_PROCESSOR
EXNTD072 NTD065 MSRS_2011_WINDOWS_SERVICE
EXNTD073 NTD066 MSSQL_BATCH_RESP_STATISTICS
EXNTD074 NTD067 MSSQL_FILETABLE
EXNTSQSV NTD068 MSSQL_MEMORY_BROKER_CLERKS
IMACNTSM NTD069 MSSQL_MEMORY_NODE
VMACNTSM NTD070 MSSQL_QUERY_EXECUTION
VMXGINIT NTD071 NUMA_NODE_MEMORY
Feb 26, 2013 NTD072 NETWORK_ADAPTER
NTD073 PHYSICAL_NETWORK_INTERFACE_CARD
NTD074 SMB_SERVER_SHARES
-These objects were updated with new variables:
NTACSR ACTVSRVR NT ACTIVE SERVER PAGES
NTASPN ASPNET ASP.NET
NTNETI NETWINTR NT NETWORK INTERFACE
NTPPAC PPNETACC PER PROCESSOR NETWORK ACTIVITY
NTPRIN PROCINFO PROCESSOR INFORMATION
NTQLAM MSQACCES NT MSSQL:ACCESS METHODS
NTQLBM MSQBUFMG NT MSSQL:BUFFER MANAGER
NTQLBN MSQBUFND MSSQL:BUFFER NODE
NTQLDA MSQDATAB NT MSSQL:DATABASES
NTQLMM MSQMEMMG NT MSSQL:MEMORY MANAGER
NTSERV SERVER NT SERVER
NTSQSV SQLSSISV SQLSERVER:SSIS SERVICE 11.0
NTD011 CLUSTER_RESOURCE_CONTROL_MANAGER
NTD015 HYPER_V_DYNAMIC_MEMORY_BALANCER
NTD016 HYPER_V_DYNAMIC_MEMORY_VM
NTD018 HYPER_V_HYPERVISOR_LOGICAL_PROCE
NTD019 HYPER_V_HYPERVISOR_PARTITION
NTD020 HYPER_V_HYPERVISOR_ROOT_PARTITIO
NTD021 HYPER_V_HYPERVISOR_ROOT_VIRTUAL
NTD030 HYPER_V_VM_VID_PARTITION
NTD035 HYPER_V_VIRTUAL_NETWORK_ADAPTER
NTD037 HYPER_V_VIRTUAL_SWITCH
NTD038 HYPER_V_VIRTUAL_SWITCH_PORT
-Corrections diagnosed and corrected by Phil:
QLGS - NRDATA=24 supported
QLAM - MSEXCART removed from INPUT, not kept, not there
ASPA - ASPARWTB removed from NRDATA=85 INPUT, not there
-Additional records changed:
QLDA - NRDATA=26 supported.
Thanks to Phil Henninge, Demand Technology, USA.
Change 31.029 Test added to ensure GDGLEN GT 9 before SUBSTR function,
VMAC6156 to protect for INVALID SECOND ARGUMENT when the SMF 66
Feb 26, 2013 record for a RENAME of DSN=X.Y to DSN=A.B.G0002V00 had
an entry name too short to be tested for a GOOVO.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 31.028 -All of these members used VIEWs which are not supported
ANALCOMP by WPS. Code was added to the macros to make the use of
VGETLIBS views conditional depending on the value of MXGVIEW that
VGETWKLD is set by VMXGINIT based on the version of SAS or WPS
VMXGFIND being run.
VMXGSRCH -In the case of VGETWKLD, it was not correctly gathering
Feb 24, 2013 the number of periods for TSO workloads because there
are differences in the names of the response time vars
between the older TSO workload and any new workloads you
may have created with RMFINTRV. For these newer
workloads, at the time VMXGRMFI was written the limit on
variable names was 8 characters so a name like DB2P1RESP
would not have been possible so RSP was used rather than
RESP to keep the variable names down to 8 bytes. That
limit no longer applies but changing old variable names
would be a bad thing to do to you so VGETWKLD now checks
correctly for the old TSO variable names.
Change 31.027 Variable QWHCEUWN has been added to the all T102Sxxx DB2
VMAC102 trace datasets.
Feb 22, 2013
Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.
Change 31.026 SAS 9.1.4 SP4 ONLY: Note 33063 states that SASHELP.VEXTFL
PREINIT dataset only has the FIRST external file reference, if an
VMXGINIT AUTOCALL is issued, which happens by design in VMXGINIT,
Feb 22, 2013 so any subsequent reference to SASHELP.VEXTFL has only
that first DDNAME/LIBREF. There is NO FIX for 9.1.3:
"The only known solution is to process the dictionary
table SASHELP.VEXTFL prior to any system AUTOCALL."
You can use DATA WORK.VEXTFL; SET SASHELP.VEXTFL; in
PREINIT to save the VEXTFL table into //WORK.
Change 31.025 See Change 31.151.
Feb 20, 2013
Change 31.024 Format $MGSMFID had "DEFINE" rather than "DEVICE" in the
FORMATS description of the ID=11 SMF record.
Feb 20, 2013
Thanks to Mike Mayne, HHSYS, USA.
Change 31.023 Support for Software Diversified Services VFTP product
EXVFTP01 user SMF record creates these four new datasets:
EXVFTP02
EXVFTP03 DDDDDD MXG MXG
EXVFTP04 DATASET DATASET DATASET RECORD
IMACVFTP SUFFIX NAME LABEL SUBTYPE
TYPEVFTP
TYPSVFTP VFTP01 VFTPST01 VFTP01:SESSION AND TRANSFER 01
VMACVFTP VFTP02 VFTPST02 VFTP02:LOGIN FAILURE 02
VMXGINIT VFTP03 VFTPST03 VFTP03:SERVER REJECTED 03
Feb 18, 2013 VFTP04 VFTPST04 VFTP04:SUMMARY ACTIVITY 04
The start and end times in VFTPST01 dataset are on GMT
but there is no GMT Offset in the record, and the delta
between the End time and the SMF time is as much as 2100
seconds which I believe is in error, and that prevents me
from using that delta to heuristically create the offset.
This is being discussed with the vendor, but you can use
%LET MXGGMTOFF=-6*3600;
%INCLUDE SOURCLIB(....);
to circumvent and set your GMT Offset (remembering to
change each Spring Forward and Fall Backward).
Change 31.022 -Support for Software Diversified Services VIP Product SMF
EXVIPAPL USER record creates these datasets:
EXVIPDLR
EXVIPDLW SDS DDDDDD MXG MXG
EXVIPEEC DATASET DATASET DATASET DATASET RECORD
EXVIPEEX NAME SUFFIX NAME LABEL SUBTYPE
EXVIPFRM
EXVIPHPR DLC1R VIPDLR VIPDLR VIPDLR:DLC READ QUEUE 222
EXVIPHPX DLC1W VIPDLW VIPDLW VIPDLW:DLC WRITE QUEUE 222
EXVIPIFC HPR1 VIPHPR VIPHPR VIPHPR:HPR 228
EXVIPLUG HPR1 VIPHPX VIPHPX VIPHPR:HPR EXTENSION 228
EXVIPOSA RTM1 VIPRTM VIPRTM VIPRTM:TCP TAPM OR TN3270 229,231
EXVIPOSX FRM1 VIPFRM VIPFRM VIPFRM:FRAG MONITOR 230
EXVIPRTM LUG1 VIPLUG VIPLUG VIPLUG:LU GROUP 232
EXVIPSTK OSA1 VIPOSA VIPOSA VIPOSA:OSA 239
FORMATS OSA1 VIPOSX VIPOSX VIPOSA:OSA EXTENSION 239
IMACVIP APL1 VIPAPL VIPAPL VIPAPL:APPLICATION 242
TYPEVIP IFC1 VIPIFC VIPIFC VIPIFC:INTERFACE 243
TYPSVIP STK1 VIPSTK VIPSTK VIPSTK:STACK 244
VMACVIP EEC1 VIPEEC VIPEEC VIPEEC:ENTERPRISE EXTENDER 245
VMXGINIT EEC1 VIPEEX VIPEEX VIPEEC:EE ROUTES 245
Feb 22, 2013 -The variable names in these datasets are the same as the
names in the SDS-provided example SAS programs and the MXG
dataset names are similar so the SDS-provided SAS reports
should be easily adapted to use the MXG datasets. The MXG
code is structured so all records can be processed in one
pass (the SDS example program processed one subtype per
program) and the MXG "dddddd" tokens are created to permit
standard MXG tailoring of datasets and contents.
-The SDS-example variable names are long with underscores
embedded; the MXG label replaced the underscore with the
normal asterisk character so you will almost always want
to use PROC PRINT SPLIT='*' with VIP datasets to get nice
column headings and alignment.
Change 31.021 -RMF III Enhancements and Notes
ASMRMFV -NOTE: Since MXG V30.03 it is required that SYS1.MODGEN
JCLASM3 also appear in the SYSLIB DD concatenation for the
JCLRMFV ASMRMFV assemble step as follows (use JCLASM3 example):
JCLCRMFV
VMACRMFV //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
Feb 15, 2013 // DD DSN=SYS1.MODGEN,DISP=SHR
Feb 26, 2013
Mar 10, 2013 ASMRMFV displays execution environment data that needs
the macros in SYS1.MODGEN to map certain z/OS control
blocks. Omission of SYS1.MODGEN in the assembly step
will result in ASMA prefixed error messages and the
assembly will fail.
-ASMRMFV and VMACRMFV must be at the same level; do not
expect the old VMACRMFV to read RMFBSAM files created
by the new ASMRMFV, and vice versa.
-When the ASI table is selected in ASMRMFV the entries
are now blocked up to use as much as possible of a 32K
logical record. The number of ASI records output was
reduced by up to 96% during testing.
-The example members JCLRMFV and JCLCRMFV for building an
RMF III PDB have been improved by adding a new example of
using the SIZE parameter to examine RMF III VSAM data set
disk space and index usage. Additional information about
use of ASMRMFV parameter aliases is also now included.
-VMACRMFV is upgraded to support blocked ASI entry input.
-VMACRMFV now displays a message about ASMRMFV level and
execution environment that created the RMFBSAM file.
-MISSING VALUES message on SASLOG for CPUDTIME variable
is removed in VMACRMFV. Input logic for CPUDTIME is
improved.
-NOTE: The use of archival RMFBSAM files as input to
TYPSRMFV or TYPERMFV is NOT recommended as many missing
values and other undesirable results can occur in the PDB
since VMACRMFV is expecting data in the current input
format. The RMFBSAM file is intended only as temporary
work file for the PDB build process and should not be
retained for future use. A better alternative is to
instead restore the archived RMF III VSAM file and read
it with the current ASM/VMAC RMFV program pair.
-NOTE: If intending to include the UWD table datasets in
the RMF III PDB %INCLUDE SOURCLIB(TYPSRMFV) not TYPERMFV
should be used in PDB build step. There are naturally
occurring duplicates in the UWD table that need to be
removed by the sorting process.
-When the ENC table is selected in ASMRMFV the entries are
now blocked up to use as much as possible of a 32K
logical output record.
-VMACRMFV is upgraded to support blocked ENC entry input.
-ASMRMFV now inputs all 6 ENC table entry triplets instead
of only the first one. Each offset/length/count triplet
points to a separate group of ENC table enclave entries.
Users including the ENC table in their RMF III PDB can
expect 5 times as many observations in ZRBENC dataset;
documentation on the number of ENC triplets was unclear
until actual data provided the actual documentation that
that there were 6 triplets and not just 1.
-Note: The total number of ENC table records output will
now be at least 6 times the number of tables input since
each of the 6 triplets causes a new record to be output.
-REQUIREMENT: In order to receive the performance benefits
from ASI and ENC entry blocking, the current ASMRMFV
utility program with this MXG change must be installed.
See MXG SOURCLIB member JCLASM3 for sample JCL for the
assembly and link-edit install steps.
-Tutorial: This item has been mentioned before, but with
the ASI and ENC blocking and increase in observations,
you may need to use the EXdddddd dataset exit to filter
which observations are created, and your logic in those
exits should always use this code structure:
IF something THEN DO;
OUTPUT _Wdddddd;
END;
and can't use a DELETE, RETURN, nor "IF something;" logic
because when "something" is true, they stop the read of
this current record, skipping any un-read segments from
being tested for "something".
This consideration applies in particular to the following
RMF III tables that have blocked input data to a PDB
build and to their respective output exits:
RMF III Table Output Exit
------------- -----------
ASI EXZRBASI
CPD EXZRBCPD
CSR EXZRBCSR
DVT EXZRBDVT
ENC EXZRBENC
ENT EXZRBENT
OPD EXZRBOPD
RED EXZRBRED
SHD EXZRBSHD
SPG EXZRBSPG
UWD EXZRBUWD
Thanks to Perry Lim, Union Bank, USA
Thanks to Betty Wong, Bank of America, USA
Change 31.020 Support for TMON/MQ Version 2.5 which added a number of
VMACTMMQ new variables to the TMMQQA dataset.
Feb 15, 2013
Thanks to Paul Volpi, UHC, USA.
Thanks to Homayoun Riazi, UHC, USA.
Change 31.019 Option PDBOUT= lets you output the PLOT and MSU datasets
ANALCAPD to your PDB library. By default they were temporary and
Feb 13, 2013 are deleted by ANALCAPD. This change deletes the delete
but this text will be updated when the PDBOUT= option is.
Thanks to Ralph Belamy, ???, ???
Change 31.018 Support for PACE's IDMS 17.0 User Exit SMF Record.
ASMIDMPA DDDDDD DATASET DESCRIPTION
EXIDMPAC IDMPAC PACEIDMS PACE IDMS USER SMF RECORD
IMACIDMP The SMF record is created in an IDMS Exit by ASM code
TYPEIDMP contributed by Blake Leggett, PACE Applied Technology,
TYPSIDMP their product KOMAND IDMS Charging System, KOMAND/IDMS.
VMACIDMP See the ASMIDMPx members documented in Change 31.068.
VMXGINIT However, neither PACE nor MERRILL will guarantee ASMIDMP
Feb 20, 2013 exit code will always work with future IDMS changes; this
Mar 9, 2013 now works fine, but your IDMS staff must be prepared to
ASMIDMPJ investigate and repair any exit problems in the future.
ASMIDMPS If your guru can fix the exit, I can update the SAS code!
ASMIDMPU
Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.
Thanks to Trevor Rowe, Bell Alliant, CANADA.
Change 31.017 Change 29.167 enhanced VXMGRMFI by creating the VGETWKLD
ANALCOMP member used when TRNDRMFI is invoked; VGETWKLD extracts
VGETLIBS your workload names by reading DICTIONARY.TABLES to get
VGETWKLD your variable names from PDB.RMFINTRV by using
VMXGFIND PROC SQL;
VMXGSRCH CREATE VIEW VGETWKLD AS SELECT NAME,LABEL
Feb 12, 2013 FROM DICTIONARY.COLUMNS. . . .
and then reading dataset VGETWKLD with this logic
POINT=LENGTH(NAME)-2;
IF SUBSTR(NAME,POINT,3)='ZIP';
but that logic failed with WPS, perhaps due to the VIEW,
as views are not yet supported in WPS, or perhaps because
WPS created a different LENGTH value, but in either case
POINT1=INDEX(NAME,'FRTM');
IF POINT1;
now circumvents the error, even with "VIEW" in the code.
The FRTM suffix test was used in place of ZIP as not all
sites create a xxxxZIP workload variable. And just to
be safe, the "VIEW" text was removed from VGETWKLD and
the other four members.
Change 31.016 -Support for BVIR Version 2.0, 2.0a, and 2.1.
VMACBVIR -BVIR30 adds two new variables:
Feb 11, 2013 SYLVMT00='00*SYNC*LEVEL*MOUNTS'
AVLVMT00='00*AVERAGE*SYNC*LEVEL*MOUNT*TIME'
-BVIR32 documentation: IBM change how they count bytes:
"TVCSIZE: increments of 1000MB (1024*1024*1000). A TVC
that is 1.7TB in size will be reported as x000006A4
which is 1700 decimal."
MXG did not format TVCSIZE with MGBYTES but 6A4 is the
decimal TVCSIZE=1700 with the label "TVCSIZE IN GB".
-IBM confirmed that variable LIBSEQNR is now always
blank or nulls - see ADOCBVIR.
-Variable DLIBDEQN can contain hex rather than EBCDIC,
or it can be blank.
-BVIR32 variable AVGCPUSE is labeled as
AVGCPUSE 'CPU*USAGE*PERCENT*AT END OF*INTERVAL'
but it contains the AVERAGE CPU PER TAPE VOLUME CACHE
and its documentation clarified by IBM in the manual:
This 1 byte field indicates the larger of CPU usage
percentage OR Tape Volume (TVC) usage percentage at
the end of the interval. The TVC busy value is based
on IO activity where 100% is when the disks are being
accessed 100% of the time. This value can be used to
indicate how busy the system was during the interval.
It is updated every 30 seconds. The TVC percentage is
an average of 30 one second intervals.
-BVIR31 new variables are documented and created:
BYTESEXP='AMOUNT*OF DATA*EXPORTED'
BYTESIMP='AMOUNT*OF DATA*IMPORTED'
LOGVOLEX='LOGICAL*VOLUMES*EXPORTED'
LOGVOLIM='LOGICAL*VOLUMES*IMPORTED'
PHYVOLEX='PHYSICAL*VOLUMES*EXPORTED'
PHYVOLIM='PHYSICAL*VOLUMES*IMPORTED'
-BVIR33 has eight sets of new variables G1 thru G8 with
G1DEFRBY='1ST DATA*FROM*DEFERRED*COPY'
G1DEFRCY='1ST DATA*FROM*DEFERRED*COPIES'
G1IMEDBY='1ST DATA*FROM*IMMEDIATE*COPY'
G1IMEDBY='1ST DATA*FROM*SYNC MODE*COPY'
G1IMEDCY='1ST DATA*FROM*IMMEDIATE*COPIES'
G1IMEDCY='1ST DATA*FROM*SYNC MODE*COPIES'
Change 31.015 -These five DB2 V10 SMF 101 Subtype 1 DB2ACCTP variables
VMACDB2 QPACLOCN,QPACCOLN,QPACPKID,QPACASHC,QPACAANM, can be
Feb 10, 2013 wrong, but only when they are "truncated":
"IBM-truncated" fields previously had a fixed length
(QPACLOCN was 16 bytes) but now can be variable length
for data like URLs and IPV6 addresses from our open
systems gurus. Each field has an offset to a one-byte
length field followed by that many bytes of the field.
These offsets are NOT populated when the value fits in
the original fixed length field that was already INPUT.
There are two independent errors, one mine, one not mine.
-The MXG code for the offsets to LOCN COLN PKID and AANM
used OFFQPAC+offset, but LOCQPAC should have been used as
it is incremented for each QPAC segment; OFFQPAC isn't.
So those four variable's values were only valid for the
first DB2ACCTP observation in each SMF 101 record.
-One site sent SMF data with invalid values for the offset
to those "truncated" fields. The offset values for each
field is 10 more than it should be. Decimal values:
Segment 5 out of 7 in record 3222:
OFFQPAC LENQPACX Len of PACX Next QPAC
@1777 451 +2 2228
@2228 451 +2
But the two-byte OFFSET to QPACAANM is @2169 with a
'01B8'x or 440 decimal. Adding 1777+440 is 2217, but
the field's length and text are visible in 2207, and
the static portion of this segment ended in 2206.
This change compares the location of the first offset to
the end of the static fields and corrects the offset by
subtraction when they are different.
-Variable QPACRUSM was not reset to blank after it was
set to 'Y' in an SMF record because it was coded as RUSN.
Change 31.014 One user claims MXG's SMF HEADER/TRAILER messages printed
VMACSMF on the SASLOG have caused LINES EXCEEDED messages that he
VMXGINIT doesn't like. I disagree COMPLETELY, and would NEVER turn
Feb 8, 2013 them off, since they can be EXTREMELY useful (albeit in
only rare cases) in problem determination: they print the
begin and end time of each "data chunk" in each SMF Dump.
But it is trivial to create a macro variable SMFPUTHD
that will suppress their printing, using:
//SYSIN DD *
%LET SMFPUTHD=NO;
%INCLUDE ....
And, if after turning them off you realize you need them,
you can read the same SMF file and print them, using:
//SYSIN DD *
%LET SMFPUTHD=YES;
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_; _SMF; RUN;
Clearly, my MXG default is %LET SMFPUTHD=YES;
Change 31.013 Variables NDMCNF1, NDMCNF2, & NDMCPEA were set to '00'x
VMACNDM when they should not have been (and I have no notes as to
Feb 7, 2013 why I set them to null).
Thanks to Randy Schlueter, First Data, USA.
Change 31.012 Change 30.170 output CICLDR observations only when LDRFC,
EXCICLDR Fetch count, is non-zero, but with interval statistics,
Feb 6, 2013 a program can be fetched after the region starts up and
then be continually used afterwards, with LDRFC=0, so
those observations were not output. The CICLDR dataset
exit member EXCICLDR is changed to output when LDRTU, the
Times used Since Last Reset, is non-zero, as that is a
better indicator that the program was used.
Thanks to Tony Hirst, Wells Fargo, USA.
Change 31.011 If you specified WEEKKEEP=TYPE42: that colon caused the
BLDSMPDB the length of the compare to detect what data sets should
Feb 5, 2013 be kept to be incorrectly set to &complen, which was the
length of the input name, but instead is now set to &dlen
which is the correct length for comparison with or
without the colon modifier.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 31.010 MXG 30.08-MXG 30.30. If you selected SYSLOG MSGIDs to be
VMACTMNT written as SMF Subtype=9 by MXGTMNT (Tape Mount Monitor),
Feb 2, 2013 reading them caused zero obs in TYPESYSL and log messages
MSGID NOT FOUND IN RECORD N= . . . .
Change 30.230 enhanced ASMTAPE to write some JES3 event
SYSLOG messages as Subtype=8 so they would be output to
TYPESYMT, but for testing they were created as subtype 9
with the old ASMTAPE, and my test in VMACTMNT to output
them to TYPESYMT was temporarily changed to read them
with ELSE IF TMNTTYPE=8 OR TMNTTYPE=9, but that should
have been changed back to just ESLE IF TMNTTYPE=8.
Thanks to Paul Naddeo, Fiserv, USA.
Change 31.009 The _STYBETF dataset sort macro was not in the _SBETA
VMACBETA product sort macro, so dataset BETA25 was not copied into
Jan 31, 2013 the PDB data library when TYPSBETA was used.
Change 31.008 -Change 30.250 replaced hardcoded "PDB." with "&PDBMXG.."
ANAL120 (so MXG default DDNAME is used by also easily changed,)
Jan 30, 2013 but ANAL120 was wrong before and after, as some of its
datasets were expected to be in //PDB while others were
read from //WORK. This change expects ALL of the TYPE120
datasets will be in the //PDB DD data library before the
%INCLUDE SOURCLIB(ANAL120);
is executed, but new examples in comments show how to
read SMF data to create just reports or to create both a
WebSphere PDB and these example reports. But these are
all simple PROC PRINTs and PROC MEANS and the primary
value is the suggested variables that might be useful as
a STARTING POINT for your own reports
(which I'd be happy to add to the ANAL120 member if
you have a contribution to share with other MXGers).
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.007 -VMACVMXA and VMAC113. The HIS CPU Counter variables in
VMAC113 z/VM dataset VXPRCMFC should match those variables in the
VMACVMXA z/OS HIS TYPE113/ASUM113 dataset, but new counters
Jan 28, 2013 EXTND157-EXTND207 in VMACVMXA were not labeled, weren't
deaccumulated with DIF() function, and weren't tested for
RESETCTR+1, and the INPUT thru 255 was changed to the
known maximum counter EXTND207. But then in VMAC113, I
discovered that variables EXTND183-EXTND207 were not
tested for RESETCTR+1. So the MXG QA now ensures counters
match in TYPE113, ASUM113 and VXPRCMFC datasets.
Change 31.006 Support for OAM SMF ID=85 Subtypes 90,91,92 and 93 create
EXTY8590 DDDDDD DATASET DESCRIPTION
FORMATS TY8590 TYPE8590 LCS FILE SYSTEM ACTION
IMAC85 Variable R859SUB contains the subtype and is formatted to
VMAC85 identify 90:WRITE, 91:READ, 92:DELETE, 93:CLEANUP events.
VMXGINIT
Jan 28, 2013
Thanks to Neil Ervin, Wells Fargo, USA
Change 31.005 -Cosmetic. These percentage variables in TYPE72GO
VMAC7072 PCTDLACO PCTDLAPR PCTDLAXM PCTDLCCA PCTDLCDE PCTDLCHS
Jan 26, 2013 PCTDLHSP PCTDLIDL PCTDLIOD PCTDLMPL PCTDLNDI PCTDLPDE
PCTDLPQU PCTDLQ PCTDLSHS PCTDLSMP PCTDLSPV PCTDLSSW
PCTDLSVI PCTDLSWI PCTDLTDQ PCTDLTOT
are now formatted 5.1 to print pretty.
Change 31.004 -RMF III, z/OS 1.13, but only with APAR OA38660, all ASI
ASMRMFV extensions (Service Class, Report Class, Resource Group
VMACRMFV and Workload) are incorrect, because that APAR inserted
Jan 28, 2013 72 at the end of the base segment; record version is now
'16'x, but only '12'x is in RMF Programmers Guide, so it
took SYS1.EYEBALL of a hex record dump to determine what
had been added. Adding data at the end of a segment is
INCOMPAT in this case in MXG because ASMRMFV appends the
extensions to its record, and those new bytes moved the
offset to the extensions. This circumvention corrects:
IF ASIVERG3='16'x THEN INPUT +72 @;
but it requires a code change and a new member.
-But, we see a better way: ASMRMFV will put ASIBASNL, the
base segment length, into the top two bytes of ASIENTMX,
with ASIENTMX in the low two bytes, so that VMACRMFV can
use ASIBASLN to locate the extensions and a future insert
won't require an updated MXG code member nor a new value
for the record version test. Using the length fields are
almost always more robust than using product or record
version values in tests for existence.
-NOTE: It is still possible to have missing values for
variables from one or more of these extensions for
some address spaces. For example, address spaces with
no Reporting Class defined will have variable ASIRNM
missing and those with no Resource Group defined will
have variable ASIGNM missing (blank).
Thanks to Warren Cravey, FMR Corporation, USA
Change 31.003 Message UNINITIALIZED VARIABLE SM1132MM: minimal impact.
ASUM113 A test for SM1132MM was added by Change 30.274 to detect
VMAC113 single book machines so negative values could be zeroed,
Jan 25, 2013 IF SM1132MM='M10' OR L4RP LE 0 THEN DO; /*SINGLE BOOK*/
but SM1132MM was only added to ID= in VMAC113, it was not
added in ASUM113 so it was uninitialized when referenced.
But, as I just discovered in assessing the actual impact
of my error, even when SM1132MM is uninitialized, that OR
in that IF statement causes the expression to be TRUE if
L4RP is zero or a missing value, which is actually a
stronger test for single book than the "Machine Model."
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 31.002 The CICTSQ dataset is merged into PDB.CICINTRV dataset
VMXGCICI but these "newish" variables in CICTSQ were not included:
Jan 24, 2013 A12SHPDF A12SHPCN A12SHRDS A12SHWTS
A12TSLHT A12TSMLM A12TSMUS A12TSMAX
A12TSQDL A12TSCTR
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 31.001 Variable QW0141OT='AUTHORIZATION*ID*TYPE', L for ROLE or
FORMATS blank for User ID or Secondary Authorization ID is INPUT
VMAC102 and kept in T102S141 Audit dataset and formatted.
Jan 23, 2013 Formats $MGD140O now has all $MGD361O entries and formats
MGD140P and MGD361P have the union of separate values.
Thanks to Tommy Grace, Nationwide Insurance, USA.
LASTCHANGE: Version 31.
=========================member=CHANGE30================================
/* COPYRIGHT (C) 1984-2013 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 30.30 was dated Jan 21, 2013, thru Change 30.292.
MXG Newsletter SIXTY-ONE was dated Jan 21, 2013.
MXG Version 30.10 was dated Jan 3, 2013, thru Change 30.274.
MXG Version 30.09 was dated Dec 4, 2012, thru Change 30.253.
First MXG Version 30.09 was dated Dec 3, 2012, thru Change 30.252.
MXG Version 30.08 was dated Nov 7, 2012, thru Change 30.235.
First MXG Version 30.08 was dated Nov 5, 2012, thru Change 30.230.
MXG Version 30.07 was dated Oct 3, 2012, thru Change 30.200.
Second MXG Version 30.07 was dated Oct 2, 2012, thru Change 30.199.
DONTUSE MXG Version 30.07 dated Oct 1, 2012, thru Change 30.198.
MXG Version 30.06 was dated Sep 1, 2012, thru Change 30.177.
Second MXG Version 30.05 was dated Aug 8, 2012, thru Change 30.153.
First MXG Version 30.05 was dated Aug 6, 2012, thru Change 30.151.
MXG Newsletter SIXTY is dated Aug 6, 2012.
MXG Version 30.04 was dated Jul 4, 2012, thru Change 30.124.
First MXG Version 30.04 was dated Jul 2, 2012, thru Change 30.122.
MXG Version 30.03 was dated May 30, 2012, thru Change 30.096.
MXG Version 30.02 was dated Apr 15, 2012, thru Change 30.062.
MXG Version 30.01 was dated Feb 13, 2012, thru Change 30.021.
Annual MXG Version 29.29 was dated Jan 23, 2012, thru Change 29.307.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 30.30 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 30.30.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
=======================================================================
I. MXG Version 30.30 dated Jan 21, 2013, thru Change 30.292.
Major enhancements/corrections added in MXG 30.30, dated Jan 21, 2013:
ANALCOMP 30.286 Graphic comparison of values over time.
TYPE110 30.278 TASZIPTM and TASELGTM documented, TASELGTM corrected.
TYPETMO2 30.277 Support for TMON CICS 3.4 for CICS/TS 5.1 INCOMPAT.
TYPEMVCI 30.276 Support for Mainview CICS 6.5 for TS 5.1 COMPATIBLE.
TYPEBETA 30.285 Support for BETA93 subtype 51.
TYPETAPR 30.284 Support for additional PHYSVOL/VOLUME file fields.
UTILEXCL 30.278 MXGNOTE on log identifies create date of IMACEXCL.
JCLSPLIT 30.287 Examples DECOMPRESS CICS/DB2 on z/OS for ASCII MXG.
UTILEXCL 30.283 Better support for UNKNOWN FIELDS to prevent 180.
READDB2 30.280 MXG 30.10 IFCID=STATS could still fail.
VFMT102 30.279 VFMT102 mapping DBID/OBID/PSID safer algorithm.
MXGNAMES 30.275 MXGNAMES/CONFIMXG supports a USER FORMAT library.
Major enhancements/corrections added in MXG 30.10, dated Jan 3, 2013:
VMXGALOC 30.273 SERIOUS ERROR if MONTH is used with VMXGALOC/UTILBLDP
TYPE7072 30.264 Support for APAR OA39562 new TYPE70Y3 PKCS11 CEX4P.
TYPE99 30.259 Support for SMF 99 Subtype 12 and 14 HiperDispatch.
TYPEVMXA 30.254 Support for zVM new CRYPTO TYPE PRCAPMCT=10.
TYPEVMXA 30.254 Support for zVM new HIS (SMF113) counters, zEC12.
TYPE102 30.265 Support for DB2 Trace IFCIDs 361 and 362 populated.
TYPEIDMS 30.270 Support for IDMS PERFMON Version 17 and 18.
READDB2 30.257 IFCIDS=STATS fixed, use instead of IFCIDS=STATISTICS.
BUILDPDB 30.260 PDB.JOBS variable ABENDS count included some RETURNs.
BLDSMPDB 30.255 WEEKKEEP, WEEKDROP now work as documented.
ASUM70PR 30.266 Variable LFARIFLS added to ASUM70PR datasets.
TYPE113 30.274 Correction to DWINSORM/DWDASORM for one book CEC.
SMFSRCH 30.269 Incorrectly tried to write to USERID.SMFOUT.DATA.
TYPE80A 30.268 RACF317 detect BPX.DEFAULT.USER, invalid in z/OS 2.1.
Major enhancements/corrections added in MXG 30.09, dated Dec 3, 2012:
TYPE120 30.244 Support for WebSphere Version 8 ID=120 Subtype 10.
TYPECIMS 30.245 Support for BMC Mainview IMS 4.6 a/k/a IMF, CIMS.
TYPEEJES 30.238 Support for Phoenix Software (E)JES SMF record.
TYPEBETA 30.237 Support for BETA93/97 Version 4.3.0 (INCOMPATIBLE).
TYPE119 30.249 SMF ID-119 SUBTYPE=51 INPUT STATEMENT EXCEEDED.
TYPEDB2 30.246 DB2STATS QWOSxxxx wrong if ZOSMETRICS=YES not set.
VMXG2DTE 30.242 New CRITERIA= parameter inserts selection SAS code.
ANALDB2R 30.241 Revised mapping of DBID and OBID objects to names.
VFMT102 30.241 Revised mapping of DBID and OBID objects to names.
GRAFDB2B 30.240 Graphic/tabular DB2 Buffer Size reports, ODS or GRAPH
VMXGCOPY 30.243 VMXGCOPY copies SAS datasets from multiple LIBNAMEs.
TYPE113 30.236 Spurious DEACCUMULATION RESET message not printed.
Major enhancements/corrections added in MXG 30.08, dated Nov 7, 2012:
If you downloaded MXG 30.08 dated Nov 5, please refresh with Nov 7:
Change 30.234 is REQUIRED with APAR OA37826 (z/EC12 TYPE74); it was
NOT in MXG 30.08 dated Nov 5. Use only the Nov 7 Version 30.08 if
you have installed that APAR:
TYPE74 30.234 ERROR: INVALID DATA FOR CHAR4, STOPOVER, APAR OA37826
TYPE110 30.228 Support for CICS/TS 5.1 INCOMPATIBLE - 30.08 REQUIRED
TYPEDB2 30.229 Support for DB2 NETEZZA optional data corrections.
TYPE113 30.201 Support for HIS zEC12 new Extended Counters, calcs.
TYPE7072 30.212 Support for zEC12 CRYPTO EXPRESS4S APAR OA37016.
TYPE74 30.209 Support for APAR OA37826 Channel Path Types CIB, CFP.
TYPE70 30.208 Support for APAR OA37803 Warning Track Interrupt.
TYPE74 30.207 Support for APAR OA39993 Interrupt Delay Time
TYPE79 30.207 Support for APAR OA39993 Interrupt Delay Time
TYPE71 30.206 Support for APAR OA38660 eC12 SCM and Pgbl Large.
TYPE78 30.206 Support for APAR OA38660 TYPE78PA additions.
TYPEDCOL 30.204 Support for APAR OA38980 ZFS dataset flag, FREEs.
ASUMTAPE 30.203 Support for JES3 Main Device Scheduler IAT5210/5918.
ASUMTAPE 30.203 INCOMPATIBLE: PDB.ASUMTAPE SORT ORDER CHANGED.
TYPENMON 30.226 Support for MEMAMS Memory Object, French text.
TYPENDM 30.220 Support for NDM-CD Subtype CX creates NDMCX dataset.
TYPE110 30.213 MXG 30.07 only. CICS STID=30 WARNING message fixed.
TYPEDB2 30.210 DB2 V10 APAR PN29124 detects IBM BIF INCOMPATIBLE.
TYPETPMX 30.216 MVS Solutions Thruput Manager SMF subtype 5 updates.
ASMRMFV 30.202 RMF III Enhancements and Fixes.
TYPERMFV 30.217 Reading RMF III data on ASCII - INVALID date message.
TYPEVMXA 30.215 z/VM BROKE CONTROL record when MONWRITE concatenated.
TYPEDB2 30.211 QISTCOLS now deaccumulated again.
TYPEDB2 30.222 IFCID=239 DB2ACCTP sets DB2PARTY, QPACROLL, QPACRUSM.
VFMT102 30.219 NODUPKEY temp circumvention for overlapped range.
TYPE70 30.233 TYPE70 CPUWAITM incorrect, greater than CPUUPTM
TYPETMS5 30.205 Variable ACTVOL added to TMS.TMS dataset.
ANALDB2R 30.219 Mapping of dBID/OBID values to names revised.
ANALDB2R 30.218 INTERVAL=xxxx wasn't supported, VMXGUM MXGERROR.
VMXGFIND 30.214 VMXGFIND to print all datasets had wrong title.
Many 30.225 New MXGEXIMSG macro variable for diagnostics.
Major enhancements/corrections added in MXG 30.07, dated Oct 3, 2012:
TYPE7072 30.182 Support for zNEXT EC12 processors with 101 engines.
ASMTAPEE 30.193 MXGTMNT Tape Mount Monitor no longer PINs UCBs.
TYPEVMXA 30.192 z/VM Linux Processor VXAPLSL0 dataset wrong values.
TYPEVMXA 30.190 z/VM 6.1 BROKEN CONTROL RECORD if STSI is 152 bytes.
TYPEDB2 30.194 QMDAACCT field LENACCT=246 caused INVALID 3rd SUBSTR.
TYPE119 30.188 Support for SMF 119 subtype 48 thru 52 (SMTP).
ANALDB2R 30.185 Redesign to execute VFMT102 only once per ANALDB2R.
ANALDB2R 30.186 New "MXG" DB2 reports MXGACC01 and MXGACC02.
VFMT102 30.183 30.05/30.06 VFMT102 could have overlapped range.
VMAC113 30.179 Formula changes from John Burg's SHARE presentation.
BLDFORMT 30.191 JCL Example using CONFIMXG to create FORMAT library.
VMXGSUM 30.189 Use of %CMPRES replaced by %SYSFUNC which is in base.
Major enhancements/corrections added in MXG 30.06, dated Sep 1, 2012:
TYPE120 30.155 Support WebSphere Asynchronous Section 120 Subtype 9.
TYPETAPR 30.164 Support for Tandem Prognosis data files.
TYPEZVPS 30.154 Support XAM/ZVPS VCPU Virtual CPU segment XMUSVCPU
TYPE102 30.175 Support for IFCID=271 DB2 AUDIT PERMISSIONS trace.
TYPE102 30.169 Invalid IFCID=145 QWT02R1L=0 caused ABEND & LOOP.
TYPENTSM 30.159 Support MicroSoft Exchange 2010 incompat changes.
TYPENMON 30.137 Updates to NMON/TOPAS Monitor for AIX and LINUX.
UTILEXCL 30.157 New REPORT THREE-A IMACICEZ, IMACICE1, and IMACICE2.
TYPERACF 30.162 RACF AUDITFID is RACF264 (TYPE80A) or AUDITID (RACF)
TYPE120 30.155 Variable SM1209CX incorrect in TYP1209E.
ASUMUOW 30.166 Optional add PROGRAM and PROG1-PROGnn to PDB.ASUMUOW.
TYPEWWW 30.163 Windows IIS Server Log, strange URIQUERY, looped.
TYPENTSM 30.156 Terminal Service object fields reversed, 2003vs2008R.
ASMRMFV 30.161 RMF III protection/messages for VSAM read I/O error.
TYPERMFV 30.172 RMF III Enhancements.
TYPEDB2 30.173 Spurious INVALID QMDA SEGMENT message eliminated.
VMXGINIT 30.171 Macro variables &PCICMNR and &WCICMNR reinstated.
TYPE110 30.170 Obs count in CICLDR reduced from 1.7M to 70,000.
VGETOBS 30.177 SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape dset.
Major enhancements/corrections added in MXG 30.05, dated Aug 8, 2012:
EXITCICS 30.130 DB2 V10 compressed records "enhanced": NOW WORKS!
(And this VERSION 3 DOES NOT NEED CICS MACRO LIBRARY).
ANALDB2R 30.147 DB2 AUDIT reports updated for DB2PM Version 4.2
TYPE102 30.140 Support for IFCID 269,270 Audit, decodes uniques.
TYPEDB2 30.133 Support for (optional) DB2 Netezza Accelerator data.
TYPEDB2 30.138 ASG TMON/DB2 PTF TE03737 corrects INVALID DB2 RECORD.
VGETALOC 30.135 Dynamic allocation of AUTOALOC=YES LIBNAMEs.
VMXGALOC 30.131 New READONLY and CLEARLL parameters.
TYPE21 30.132 Corrections to SMF 21 calculations of compression.
ANALGRID 30.126 Date range selection did not work.
TYPERMFV 30.151 Additional Enhancements for RMF III processing.
Major enhancements/corrections added in MXG 30.04, dated Jul 4, 2012:
UTILEXCL 30.100 DO NOT USE UTILEXCL in MXG 30.03, "NON-FIRST" error.
TYPE30 30.119 Support for APAR OA39629 HICPUPCT/HICPUPGM TYPE30.
TYPEMVCI 30.109 Support for Mainview CICS v64 CICS/TS 4.2 (COMPAT).
TYPETMD2 30.107 Support for ASG/Landmark TMON DB2 PTFs TE03699/03718.
ASMRMFV 30.105 Support for RMF III ASIG3 segments '13'x and '14'x.
TYPE119 30.099 Support for CO:Z SMF 119 Subtypes 192 and 193.
TYPE1415 30.103 Support for z/OS 1.13-added RAS segment (COMPATIBLE).
TYPERACF 30.120 Support for RACF database Record 02G1.
TYPEDB2 30.113 Support for DB2 V10 restructured QIST statistics.
TYPEZPRO 30.116 Support for Voltage SecureData for z/OS z/Protect.
ASUM70PR 30.106 zIIP SHARE WEIGHTS calculated for each LPAR.
TYPEDCOL 30.098 DCOLLECT BKUP fields added by z/OS 1.11 supported.
TYPE70EN 30.104 Variable SMF70CIN in TYPE70EN was 'ZIP', now 'IIP'.
TYPE119 30.121 Additional formats to decode TYPE119 SSH fields.
TRNDRMFI 30.115 Revisions for TRNDRMFI using VGETWKLD.
TYPESASU 30.114 SAS User Records with SASPROC='SQL (63)' protected.
TYPEPMX 30.112 Variables TPMAJCT/TPMSCT too large by 100.
TYPE80A 30.111 Debugging PUT 'DEBUG 1' is now disabled.
TYPEWPMO 30.110 Windows PERFMON data now supports any delimiter.
Major enhancements/corrections added in MXG 30.03, dated May 30, 2012:
ASMRMFV 30.095 Major RMF Enhancements.
ANALID 30.042 SMF AUDIT REPORT - MAJOR ENHANCEMENT - IN BUILDPDB.
TYPEDB2 30.089 Support for DB2 V10 APAR PM24723 adds data IFCID=225.
TYPE105 30.080 Support for GDPS SMF 105 now validated with SMF data.
TYPESAMS 30.073 Support for CA Vantage Stor Resc MGR 12.6.00 INCOMAT.
TYPE74 30.072 Support for RMF 74 APAR OA36831 (COMPAT) SMF74NSS.
TYPECMA 30.070 Support for CA-Spool Subtype 12 (partial).
TYPEFERT 30.066 Support for new subtype 1 and 4 FERRET SMF records.
TYPE115 30.064 Support for MQ QJST 7.01B Statistics Block.
TYPE117 30.063 SMF 117 IMFL subtype SM17ACCT kept in WS 7.0.0.3 SMF.
UTILEXCL 30.092 WMQGETTM, others, incorrectly multiplied by 16.
TYPE60 30.082 INPUT EXCEEDED for ID=60 with no VVR segment.
BLDSMPDB 30.081 Enhancement adds rundays=mon tue ... to list days.
TYPE110 30.078 SMSxxxxx variables were 1024 times large.
READDB2 30.077 Cleanup of WANTONLY, IFCID=STATS, 106, etc.
TYPETPMX 30.075 READTIME kept in all, JOB/JESNR/JBL24 in TPMJBL24
TYPE7072 30.069 New 1.13 CPUPDPTM/R723RTDM/RTDC/RTDT now populated.
DAILYDSN 30.068 DAILYDSN now uses EDGRXEXT instead of EDGRDEXT.
TYPE71 30.083 ERROR: DOMAIN ERROR, SAS 9.1.3 SP4 Only.
Major enhancements/corrections added in MXG 30.02, dated Apr 15, 2012:
BUILDPDB 30.042 SMF AUDIT REPORT
Many 30.012 RUN STATEMENT HAS NO EFFECT message is removed.
READDB2 30.031 Requesting IFCIDS=ACCOUNT with IFCIDS from SMF 102
TYPE0 30.040 Variable DOWNTM was a missing value in PDB.IPLS.
TYPE102 30.037 Support for BMC APPTUNE V6R3 SMF 102 records INCOMPAT
TYPE102 30.038 Support for DB2 IFCIDs 357 and 358.
TYPE102 30.055 Support for DB2 APAR PM37956 to SMF 102 IFCID 25
TYPE110 30.008 CICS/TS 4.2 INVALID STILEN STID=116, zero obs STISJS
TYPE119 30.009 Support for SMF 119 ST 6 z/OS 1.13 (INCOMPAT).
TYPE21 30.014 Support for APAR OA33947 for TS1140 Tape Drive
TYPE71 30.058 New vars added to RMF TYPE71 dataset by z/OS 1.13
TYPE73 30.004 Some FICON-related variables were wrong values.
TYPE73 30.054 ERROR: Zero divide in SMF 73 records, new FICON data.
TYPE85 30.050 Support for SMF 85 records from z/OS 1.13 (INCOMPAT,
TYPEBBMQ 30.047 Support for BMC Mainview for MQ Version 5.1 (INCOMPAT
TYPEBVIR 30.057 Support for TS7700 Version 2.0a (INCOMPATIBLE)
TYPEDB2 30.032 DB2 variable QWHDRQNM can contain an ipv6 address.
TYPEEZSM 30.041 Support for EMC EzSM z/OS Storage Manager SMF record
TYPEHSM 30.006 Support for HSM SMF z/OS 1.12 changes (COMPATIBLE)
TYPEM204 30.002 MODEL 204 records could be output to wrong dataset.
TYPENDM 30.039 NDM-CDI record 'XO' caused "UNKNOWN SUBTYPE" message.
TYPENTSM 30.044 Updates to D062, D063, D060, VWRP, D059, D057, VWVS.
TYPERMFV 30.043 Updates for RMF III RCD records without....
TYPERSDA 30.035 RSD/FOLDERS name fields were increased to $250.
TYPESVIE 30.051 Support for SYSVIEW PTF Test APAR TSD0145, for IMS.
TYPETMD2 30.060 Support for TMON/DB2 V5, INCOMPATIBLE, for DB2 V10.
TYPETMMQ 30.025 Support for TMON for MQ Version 2.2/2.3/2.4 INCOMPAT
TYPEXAM 30.003 Spurious XAM INVALID CPU RECORD messages.
UTILCPLG 30.026 %UTILCPLG will copy your .LOG and .LST files.
VMACSMF 30.023 A third-party product creates invalid DB2 ID=101
VMXGGETM 30.034 VMXGGETM only supported 512 subtypes.
Major enhancements/corrections added in MXG 30.01, dated Feb 13, 2012:
BUIL3005 30.011 MXG 29.29 BUILDPD3 for JES3 CRITICAL ERROR, REQUIRED.
PDB.JOBS incorrectly built with 29.29. JES 3 ONLY.
This change motivated the release of MXG 30.01.
TYPE119 30.009 Support for SMF 119 ST 6 z/OS 1.13 (INCOMPAT).
No execution error, but data in TYP11906 is wrong.
TYPE110 30.008 CICS/TS 4.2 INVALID STILEN STID=116, zero obs STISJS
Possible loss of subsequent statistics subtypes.
TYPE21 30.014 Support for APAR OA33947 for TS1140 Tape Drive
TYPE73 30.004 Some FICON-related variables were wrong values.
TYPE102 30.001 QW0319FL, Encryption Type, format AES/DES reversed.
ANALDB2R 30.007 PMSTA01/PMSTA02 DB2 Statistics, INTERVAL=DATE fixed.
TYPEM204 30.002 MODEL 204 records could be output to wrong dataset.
TYPEHSM 30.006 Support for HSM SMF z/OS 1.12 changes (COMPATIBLE)
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Version 9.3 TS1M1 is RECOMMENDED for all PLATFORMS, because
SAS Version 9.3 TS1M0 REQUIRES THE HOT FIX in SAS NOTE SN43828
(for all platforms), and TS1M1 contains that Hot Fix.
***************************************************************
As documented in Change 27.356, with SAS V9.3):
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS93 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 30.30 will execute under SAS Version 9.3, on
all supported platforms, but as noted above, you need TS1M1. With
TS1M0, then the Hot Fix in SAS Problem Note SN43828 is REQUIRED to
correct an error in the %MACRO compiler, which is SAS portable
code, so that Hot Fix is required for ALL platforms.
The %MACRO compiler error is in processing %LET statements. While
only two MXG members failed repeatedly in MXG QA tests on z/OS,
there were random %LET errors in ASCII QA tests, so ANY use of
%LET statement on ANY platform are vulnerable to this error, as
the %MACRO compiler is SAS portable code, used on all platforms.
So this is NOT just an MXG error, but impacts ALL SAS programs.
With the Hot Fix on TS1M0, the full MXG QA test stream executed,
and there were no new warnings on z/OS.
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
MXG 26.03 thru MXG 30.30 will execute under SAS V9.2, or with
SAS V9.1.3 with Service Pack 4, on all supported SAS platform.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform,
but SAS V9.2 does execute on that platform.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I can not guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3, FOR BOTH OF US, TO AVOID FIXED PROBLEMS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
Version 26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2 and V9.3
are interchangeable and can be read/written by any of those
versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.3 did change ODS processing defaults and syntax that
might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support V9.3 ODS, and MXG 29.06 is STRONGLY recommended for ODS
with SAS V9.3.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
and vice versa.
MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG QA tests are executed on z/OS with SAS V9.1.3 and V9.2 and
on Windows XP with 32-bit INTEL, and on Windows Seven Ultimate
32-bit and 64-bit OS on 64-bit hardware, but MXG is installed
on many more hardware and software platforms: since they all work,
we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 2.4 requires MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for "MXG Support for WPS Software"
IV. MXG Version Required for Hardware, Operating System Release, etc.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 29.05*
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 30.01*
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 30.08
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 30.30
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 Full plus Compressed. Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 30.07*
DB2 10.1 DBID/OBID decode Jan 21, 2013 30.30*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Webshpere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
IMS log 11.0 Apr 1, 2010 28.02*
IMS log 12.0 Jan 23, 2012 29.29*
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
The Monitor for CICS TCE 3.4 (for CICS/TS 5.1) 30.30
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V6R3 SMF 102 30.037
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 27.07*
IMF 4.5 (for IMS 11.1) (No change since 4.4) 27.07
IMF 4.6 a/k/a Mainview IMS 30.09
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
V. Incompatibilities and Installation of MXG 30.30.
1. Incompatibilities introduced in MXG 30.30:
a- Changes in MXG architecture made between 30.30 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 30.30 after MXG 29.29:
Dataset/
Member Change Description
ANALCOMP 30.286 Graphic comparison of values over time.
ANALDB2R 30.007 PMSTA01/PMSTA02 DB2 Statistics, INTERVAL=DATE fixed.
ANALDB2R 30.147 DB2 AUDIT reports updated for DB2PM Version 4.2
ANALDB2R 30.176 New AUDIT= parms, PMACC02 standalone error fixed.
ANALDB2R 30.185 Redesign to execute VFMT102 only once per ANALDB2R.
ANALDB2R 30.186 New "MXG" DB2 reports MXGACC01 and MXGACC02.
ANALDB2R 30.218 INTERVAL=xxxx wasn't supported, VMXGUM MXGERROR.
ANALDB2R 30.219 Mapping of dBID/OBID values to names revised.
ANALDB2R 30.241 Revised mapping of DBID and OBID objects to names.
ANALGRID 30.126 Date range selection did not work.
ANALID 30.042 SMF AUDIT REPORT - MAJOR ENHANCEMENT - IN BUILDPDB.
ASMDBLKU 30.168 Enhancement to ASM program that recreates VB & VBS.
ASMRMFV 30.105 Support for RMF III ASIG3 segments '13'x and '14'x.
ASMRMFV 30.161 RMF III protection/messages for VSAM read I/O error.
ASMRMFV 30.202 RMF III Enhancements and Fixes.
ASMTAPEE 30.193 MXGTMNT Tape Mount Monitor no longer PINs UCBs.
ASUM70PR 30.106 zIIP SHARE WEIGHTS calculated for each LPAR.
ASUM70PR 30.266 LPARIFLS variable counts IFL engines in each LPAR.
ASUM70PR 30.266 Variable LFARIFLS added to ASUM70PR datasets.
ASUMDBSS 30.282 Revised comments and examples.
ASUMTAPE 30.203 Support for JES3 Main Device Scheduler IAT5210/5918.
ASUMUOW 30.166 Optional add PROGRAM and PROG1-PROGnn to PDB.ASUMUOW.
BLDFORMT 30.191 JCL Example using CONFIMXG to create FORMAT library.
BLDSMPDB 30.005 Using MXGINCL parameter was ignored.
BLDSMPDB 30.081 Enhancement adds rundays=mon tue ... to list days.
BLDSMPDB 30.255 WEEKKEEP, WEEKDROP now work as documented.
BUIL3005 30.011 MXG 29.29 BUILDPD3 for JES3 CRITICAL ERROR, REQUIRED.
BUILDPDB 30.042 SMF AUDIT REPORT
BUILDPDB 30.260 PDB.JOBS variable ABENDS included some RETURNs.
DAILYDSN 30.068 DAILYDSN now uses EDGRXEXT instead of EDGRDEXT.
EXITCICS 30.130 DB2 V10 compressed record SUPPORT - "enhanced"-works!
FORMATS 30.024 New format MG073FE decodes SMF73GEN and R79CGEN FICON
GRAFDB2B 30.240 Graphic/tabular DB2 Buffer Size reports, ODS or GRAPH
JCLSPLIT 30.287 Examples DECOMPRESS CICS/DB2 on z/OS for ASCII MXG.
MXGNAMES 30.275 MXGNAMES/CONFIMXG supports a USER FORMAT library.
Many 30.012 RUN STATEMENT HAS NO EFFECT message is removed.
Many 30.225 New MXGEXIMSG macro variable for diagnostics.
READDB2 30.031 Requesting IFCIDS=ACCOUNT with IFCIDS from SMF 102.
READDB2 30.077 Cleanup of WANTONLY, IFCID=STATS, 106, etc.
READDB2 30.144 PDBOUT with specific IFCIDS did not copy T102Sxxx.
READDB2 30.257 IFCIDS=STATS fixed, use instead of IFCIDS=STATISTICS.
READDB2 30.280 MXG 30.10 IFCID=STATS could still fail.
SMFSRCH 30.269 Incorrectly tried to write to USERID.SMFOUT.DATA.
TRNDRMFI 30.115 Revisions for TRNDRMFI using VGETWKLD.
TYPE0 30.040 -Variable DOWNTM was a missing value in PDB.IPLS.
TYPE102 30.001 QW0319FL, Encryption Type, format AES/DES reversed.
TYPE102 30.037 Support for BMC APPTUNE V6R3 SMF 102 records INCOMPAT
TYPE102 30.038 Support for DB2 IFCIDs 357 and 358.
TYPE102 30.055 -Support for DB2 APAR PM37956 to SMF 102 IFCID 25.
TYPE102 30.140 Support for IFCID 269,270 Audit, decodes uniques.
TYPE102 30.169 Invalid IFCID=145 QWT02R1L=0 caused ABEND & LOOP.
TYPE102 30.175 Support for IFCID=271 DB2 AUDIT PERMISSIONS trace.
TYPE102 30.265 Support for DB2 Trace IFCIDs 361 and 362 populated.
TYPE105 30.080 Support for GDPS SMF 105 now validated with SMF data.
TYPE110 30.008 CICS/TS 4.2 INVALID STILEN STID=116, zero obs STISJS.
TYPE110 30.078 SMSxxxxx variables were 1024 times large.
TYPE110 30.170 Obs count in CICLDR reduced from 1.7M to 70,000.
TYPE110 30.213 MXG 30.07 only. CICS STID=30 WARNING message.
TYPE110 30.278 TASZIPTM and TASELGTM documented, TASELGTM corrected.
TYPE113 30.179 Formula changes from John Burg's SHARE presentation.
TYPE113 30.201 Support for HIS zEC12 new Extended Counters, calcs.
TYPE113 30.236 Spurious DEACCUMULATION RESET message not printed.
TYPE113 30.274 Correction to DWINSORM/DWDASORM for one book CEC.
TYPE115 30.064 Support for MQ QJST 7.01B Statistics Block.
TYPE117 30.063 SMF 117 IMFL subtype SM17ACCT kept in WS 7.0.0.3 SMF.
TYPE119 30.009 Support for SMF 119 ST 6 z/OS 1.13 (INCOMPAT).
TYPE119 30.099 Support for CO:Z SMF 119 Subtypes 192 and 193.
TYPE119 30.121 Additional formats to decode TYPE119 SSH fields.
TYPE119 30.188 Support for SMF 119 subtype 48 thru 52 (SMTP).
TYPE119 30.249 SMF ID-119 SUBTYPE=51 INPUT STATEMENT EXCEEDED.
TYPE120 30.155 Support WebSphere Asynchronous Section 120 Subtype 9.
TYPE120 30.155 Variable SM1209CX incorrect in TYP1209E.
TYPE120 30.244 Support for WebSphere Version 8 ID=120 Subtype 10.
TYPE1415 30.103 Support for z/OS 1.13-added RAS segment (COMPATIBLE).
TYPE21 30.014 Support for APAR OA33947 for TS1140 Tape Drive.
TYPE21 30.132 Corrections to SMF 21 calculations of compression.
TYPE30 30.045 Debugging PUT _N_= CPUUNITS= CPUTCBTM= removed.
TYPE30 30.119 Support for APAR OA39629 HICPUPCT/HICPUPGM TYPE30.
TYPE60 30.082 INPUT EXCEEDED for ID=60 with no VVR segment.
TYPE70 30.208 Support for APAR OA37803 Warning Track Interrupt.
TYPE7072 30.069 New 1.13 CPUPDPTM/R723RTDM/RTDC/RTDT now populated.
TYPE7072 30.182 Support for zNEXT EC12 processors with 101 engines.
TYPE7072 30.212 Support for eC12 CRYPTO EXPRESS4S APAR OA37016.
TYPE7072 30.264 Support for APAR OA39562 new TYPE70Y3 PKCS11 CEX4P.
TYPE70EN 30.104 Variable SMF70CIN in TYPE70EN was 'ZIP', now 'IIP'.
TYPE71 30.058 -New variables added to RMF TYPE71 dataset by z/OS 1.1
TYPE71 30.083 ERROR: DOMAIN ERROR, SAS 9.1.3 SP4 Only.
TYPE71 30.206 Support for APAR OA38660 eC12 SCM and Pgbl Large.
TYPE73 30.004 Some FICON-related variables were wrong values.
TYPE73 30.054 -ERROR: Divide by zero in SMF 73 records, new FICON
TYPE74 30.072 Support for RMF 74 APAR OA36831 (COMPAT) SMF74NSS.
TYPE74 30.207 Support for APAR OA39993 Interrupt Delay Time
TYPE74 30.209 Support for APAR OA37826 Channel Path Types CIB, CFP.
TYPE79 30.207 Support for APAR OA39993 Interrupt Delay Time
TYPE80A 30.111 Debugging PUT 'DEBUG 1' is now disabled.
TYPE80A 30.268 RACF317 detect BPX.DEFAULT.USER, invalid in z/OS 2.1.
TYPE85 30.050 Support for SMF 85 records from z/OS 1.13 (INCOMPAT)
TYPE99 30.259 Support for SMF 99 Subtype 12 and 14 HiperDispatch.
TYPEBBMQ 30.047 Support for BMC Mainview for MQ Version 5.1 INCOMPAT
TYPEBETA 30.237 Support for BETA93/97 Version 4.3.0 (INCOMPATIBLE).
TYPEBETA 30.285 Support for BETA93 subtype 51.
TYPEBVIR 30.057 Support for TS7700 Version 2.0a (INCOMPATIBLE).
TYPECIMS 30.245 Support for BMC Mainview IMS 4.6 a/k/a IMF, CIMS.
TYPECMA 30.070 Support for CA-Spool Subtype 12 (partial).
TYPEDB2 30.032 DB2 variable QWHDRQNM can now contain an ipv6 address
TYPEDB2 30.089 Support for DB2 V10 APAR PM24723 adds data IFCID=225.
TYPEDB2 30.113 Support for DB2 V10 restructured QIST statistics.
TYPEDB2 30.128 DB2 v10 QPACFLGS bit map revisions.
TYPEDB2 30.133 Support for (optional) DB2 Netezza Accelerator data.
TYPEDB2 30.138 ASG TMON/DB2 PTF TE03737 corrects INVALID DB2 RECORD.
TYPEDB2 30.145 Variables CORRNAME/CORRNUM incorrect for QWHCATYP=4.
TYPEDB2 30.173 Spurious INVALID QMDA SEGMENT message eliminated.
TYPEDB2 30.194 QMDAACCT field LENACCT=246 caused INVALID 3rd SUBSTR.
TYPEDB2 30.210 DB2 V10 APAR PN29124 detects IBM BIF INCOMPATIBLE.
TYPEDB2 30.211 QISTCOLS now deaccumulated again.
TYPEDB2 30.222 IFCID=239 DB2ACCTP sets DB2PARTY, QPACROLL, QPACRUSM.
TYPEDB2 30.246 DB2STATS QWOSxxxx wrong if ZOSMETRICS=YES not set.
TYPEDCOL 30.098 DCOLLECT BKUP fields added by z/OS 1.11 supported.
TYPEDCOL 30.204 Support for APAR OA38980 ZFS dataset flag, FREEs.
TYPEEJES 30.238 Support for Phoenix Software (E)JES SMF record.
TYPEEZSM 30.041 Support for EMC EzSM z/OS Storage Manager SMF record.
TYPEFERT 30.066 Support for new subtype 1 and 4 FERRET SMF records.
TYPEHSM 30.006 Support for HSM SMF z/OS 1.12 changes (COMPATIBLE)
TYPEIDMS 30.270 Corrections for IDMS PERFMON Version 17 and 18.
TYPEM204 30.002 MODEL 204 records could be output to wrong dataset.
TYPEMVCI 30.109 Support for Mainview CICS v64 CICS/TS 4.2 (COMPAT).
TYPEMVCI 30.276 Support for Mainview CICS 6.5 for TS 5.1 COMPATIBLE.
TYPENDM 30.039 NDM-CDI record 'XO' caused "UNKNOWN SUBTYPE" message.
TYPENDM 30.220 Support for NDM-CD Subtype CX creates NDMCX dataset.
TYPENMON 30.137 Updates to NMON/TOPAS Monitor for AIX and LINUX.
TYPENMON 30.226 Support for MEMAMS Memory Object, French text.
TYPENTSM 30.044 -Updates to D062, D063, D060, VWRP, D059, D057, VWVS.
TYPENTSM 30.156 Terminal Service object fields reversed, 2003vs2008R.
TYPENTSM 30.159 Support MicroSoft Exchange 2010 incompat changes.
TYPEPMX 30.112 Variables TPMAJCT/TPMSCT too large by 100.
TYPERACF 30.120 Support for RACF database Record 02G1.
TYPERACF 30.162 RACF AUDITFID is RACF264 (TYPE80A) or AUDITID (RACF)
TYPERMFV 30.043 Updates for RMF III RCD records.
TYPERMFV 30.151 Additional Enhancements for RMF III processing.
TYPERMFV 30.172 RMF III Enhancements.
TYPERMFV 30.217 Reading RMF III data on ASCII - INVALID date message.
TYPERSDA 30.035 RSD/FOLDERS name fields were increased to $250.
TYPESAMS 30.073 Support for CA Vantage Stor Resc MGR 12.6.00 INCOMAT.
TYPESASU 30.114 SAS User Records with SASPROC='SQL (63)' protected.
TYPESVIE 30.051 Support for SYSVIEW PTF Test APAR TSD0145, for IMS.
TYPETAPR 30.164 Support for six Tandem Prognosis data files.
TYPETAPR 30.284 Support for additional PHYSVOL/VOLUME file fields.
TYPETMD2 30.060 Support for TMON/DB2 V5, INCOMPATIBLE, for DB2 V10/
TYPETMD2 30.107 Support for ASG/Landmark TMON DB2 PTFs TE03699/03718.
TYPETMMQ 30.025 Support for TMON for MQ Version 2.2/2.3/2.4 INCOMPAT
TYPETMO2 30.277 Support for TMON CICS 3.4 for CICS/TS 5.1 INCOMPAT.
TYPETMS5 30.205 Variable ACTVOL added to TMS.TMS dataset.
TYPETPMX 30.075 READTIME kept in all, JOB/JESNR/JBL24 in TPMJBL24
TYPETPMX 30.216 MVS Solutions Thruput Manager SMF subtype 5 updates.
TYPEVMXA 30.190 z/VM 6.1 BROKEN CONTROL RECORD if STSI is 152 bytes.
TYPEVMXA 30.192 z/VM Linux Processor VXAPLSL0 dataset wrong values.
TYPEVMXA 30.215 z/VM BROKE CONTROL record when MONWRITE concatenated.
TYPEVMXA 30.254 Support for zVM new CRYPTO TYPE PRCAPMCT=10.
TYPEVMXA 30.254 Support for zVM new HIS (SMF113) counters, zEC12.
TYPEWPMO 30.110 Windows PERFMON data now supports any delimiter.
TYPEWWW 30.163 Windows IIS Server Log, strange URIQUERY, looped.
TYPEXAM 30.003 Spurious XAM INVALID CPU RECORD messages.
TYPEZPRO 30.116 Support for Voltage SecureData for z/OS z/Protect.
TYPEZVPS 30.154 Support XAM/ZVPS VCPU Virtual CPU segment XMUSVCPU
VMXGCOPY 30.243 VMXGCOPY copies SAS datasets from multiple LIBNAMEs.
UTILCPLG 30.026 %UTILCPLG will copy your .LOG and .LST files.
UTILEXCL 30.092 WMQGETTM, others, incorrectly multiplied by 16.
UTILEXCL 30.100 DO NOT USE UTILEXCL in MXG 30.03, "NON-FIRST" error.
UTILEXCL 30.157 REPORT THREE-A IMACICEZ, IMACICE1, and IMACICE2.
UTILEXCL 30.278 MXGNOTE on log identifies create date of IMACEXCL.
UTILEXCL 30.283 Better support for UNKNOWN FIELDS to prevent 180.
VFMT102 30.183 30.05/30.06 VFMT102 could have overlapped range.
VFMT102 30.241 Revised mapping of DBID and OBID objects to names.
VFMT102 30.279 VFMT102 mapping DBID/OBID/PSID safer algorithm.
VGETALOC 30.135 Dynamic allocation of AUTOALOC=YES LIBNAMEs.
VGETOBS 30.177 SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape dset.
VMACSMF 30.023 A third-party product creates invalid DB2 ID=101.
VMXG2DTE 30.242 New CRITERIA= parameter inserts selection SAS code.
VMXGALOC 30.131 New READONLY and CLEARLL parameters.
VMXGALOC 30.273 SERIOUS ERROR if MONTH is used with VMXGALOC/UTILBLDP
VMXGFIND 30.214 VMXGFIND to print all datasets had wrong title.
VMXGGETM 30.034 VMXGGETM only supported 512 subtypes.
VMXGINIT 30.148 FIXORDER dataset only created for dynamic allocate.
VMXGINIT 30.171 Macro variables &PCICMNR and &WCICMNR reinstated.
VMXGSUM 30.189 Use of %CMPRES replaced by %SYSFUNC which is in base.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 30.
====== Changes thru 30.292 were in MXG 30.30 dated Jan 21, 2013=========
Change 30.292 -JCL Proc Examples and Config members were added/aligned.
CONFIGN9 JCL Proc Examples MXGSAS92 and MXGSAS93 invoke CONFIGV9,
CONFIG9N which has set option NLSCOMPATMODE for many years, but
CONFIGV9 now, SAS prints a warning when that option is enabled:
Jan 19, 2013 WARNING: SAS HAS BEEN STARTED IN NLS COMPATIBILITY MODE
Feb 18, 2013 NLSCOMPATMODE OPTION MAY BE DEPRECATED. ETC.
CONTACT YOUR SAS ADMMINISTRATOR. ETC.
-Instead of MXGSASxx JCL PROC, using MXGNAMES/CONFIMXG in
Change 27.356 has been the MXG JCL recommendation since
that change, as it executes the site's SAS JCL procedure
and uses the site's default options, and it does not
print that warning message. But MXGNAMES/CONFIG text
must be used around // EXEC SAS in every MXG Job's JCL.
-So you may still have to EDIT the MXGSAS92/MXGSAS93 JCL
Proclib members to use the desired CONFIGxx member:
CONFIGV9 which sets NLSCOMPATMODE, unchanged.
CONFIGN9 which doesn't set that option, new in 30.30.
CONFIG9N which sets NONLSCOMPATMODE, new in 31.01.
-So why set NONLSCOMPATMODE? Because SAS V9.2 ABENDED
underscoring CALL SYMPUT$ text that is CALL SYMPUT( in
code (deep inside VMXGSUM deep inside VMXGRMFI) and SAS
Technical Support identified the error as documented in
SAS Note 37974 (for SAS V9.2 only) which documents:
"NLSCOMPATMODE causes some CALL routines to generate
errors on MVS in some non-English environments. To
reproduce the error invoke SAS using the command below
and submit the statements that follow it.
===> THE EXAMPLE IS A CALL SYMPUT <===
Currently the only fix for this is to issue the option
NONLSCOMPATMODE"
So the new CONFIG9N member exists to set that option if
you encounter this error. The failure occurred at a site
which had specified default values of:
NLSCOMPATMODE
LOCALE=EN_GB
and all NLS issues to date impacted only sites outside
the US that do not have LOCALE=EN_US.
Change 30.291 VPS Subsystem SMF ID=6 NOTE: INVALID ARGUMENT INPUT FUNCT
VMAC6 because SMF6RST/SMF6RSD contain 'C540404000000000'x which
Jan 18, 2013 isn't a valid SMFSTAMP8 value (time and julian date).
The error message and the hex dump of the SMF record is
now prevented by adding the double question mark to the
informat side of the INPUT function in VMAC6. The value
in variable READTIME in TYPE6 and PDB.PRINT datasets will
be a missing value until a fix is available from VPS.
This text will be update when that happens. Discovered
late on Friday, too late for VPS response for MXG 30.30.
Thanks to William M. Orrach, LMCo, USA.
Change 30.290A Variable LSPRWKLD='LSPR*WORKLOAD*MATCH' created and kept
ASUM113 in ASUM113 dataset.
Jan 16, 2013
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 30.290 Corrections after ITRM review for MXG 30.30:
VMAC90 -VMAC90 variable DOWNTM and IPLTIME labeled and formatted.
VMAC119 -VMAC119 TYP11997 variable SSH_FCRIPV6 kept in place of
VMACVMXA incorrectly spelled/kept SSH_FSRIPV6.
VMACBETA -VMACVMXA STOLMODE is labeled.
ASUMTAPE -VMACBETA Dataset Labels clarified for BETA7, BETA8 and
ASUM113 BETA22. Variable BETARTIME is now the datetime value with
Jan 16, 2013 BETARDATE no longer kept in BETA51 dataset.
-ASUMTAPE Temporary dataset JES3MNTS is now deleted.
-VMAC99 Variable S99CCCCECUTIL label, asterisk removed.
-ASUM113 Variables SMF70CIN/CIX/CPA/HDM/ONT/PAT/CECSER
CPUTYPE LPARWLMG are labeld, PAT and ONT formatted.
Thanks to Chris Weston, SAS ITRM, USA.
Change 30.289 -RMF III Performance Enhancements, blocking, and Fixes
ASMRMFV -INCOMPATIBLE. ASMRMFV & VMACRMFV should always be used
EXZRBUWX from the same MXG Version. Using a new VMACRMFV to read
IMACRMFV data created by an old ASMRMFV may not work. Specifically
JCLCRMFV with this change, to populate the new variables in the
JCLRMFV UWD files, you must use ASMRMFV and VMACRMFV with 30.289.
VMACRMFV See MXG SOURCLIB member JCLASM3 for the example JCL to
VMXGINIT assemble and link-edit the ASMRMFV program. Skipping this
Jan 20, 2013 action will result in many missing UWD file variables and
is not recommended.
-The SHD (Sample Header), RED (Resource Data), and UWD
(USE/WAIT) RMF III tables are now blocked in the RMFBSAM
output file by ASMRMFV for improved I/O performance.
-UWD records are now extended with related data based on
type to make them useful. In the past these records had
no identification of the address space, device, nor the
enqueue that related to the USE/WAIT counts. The table
name now displays as UWDX in ASMRMFV output.
-VMACRMFV has been changed to support these new blocked
tables and the new UWD extended data.
-NOTE: VMACRMFV will no longer accept old unblocked UWD
records. If found, these are deleted and an MXGERROR
message issued once. Processing continues. The old
records had no information to show which address space
the USE/WAIT record was for and so had no practical
value.
-There is a new ZRBUWXCF dataset for UWD type X'0A' XCF
Message entries that includes new variables:
UWDXCDEV='DEV NUM*OF PATH*W MSG PENDING'
UWDXCMAS='ASID OF*MEMBER*SENDING*MSG'
UWDXCHAS='ASID THAT*INITIATED*MSG OUT'
-Validation of UWD entry flags and entry types is
improved. The UWD entry will be skipped for invalid data
and no Abend will occur.
-All ZRBUW* files include the following new variables:
UWDDELAY='DELAY*SAMPLES'
UWDREDID='PARENT*RED ID'
UWDSSN ='UWD*SAMPLE*SEQUENCE*NUMBER'
UWDUSING='USING*SAMPLES'
UWDUWDLE='UWD*BASE*LENGTH'
UWDUWDLX='UWD*EXTENDED*LENGTH'
UWDVERG3='UWD*VERSION*NUMBER'
-All ZRBUW* files now have the following address space
variables from the related ASI table entry added:
ASIENIDX ASIJOBNA ASIASINR ASIFLAG1 ASIJCLAS ASIJOBS
ASIJESID ASIMSTS TYPETASK
-ZRBUWDEV, ZRBUWSTO, and ZRBUWMNT files now have the
following variables from the related DVT table entry
added:
DVTVOLI DVTENIDX DVTDEVNR DVTFLAG1 DVTFLAG2 DVTMEXN
DVTTYP DVTIDEN DVTCUID DVTLCUNR DVTFLAG3 DVTHPCO
DEVTYPE DEVPLPA DEVCOMM DEVLOCL DEVSWAP DVTHPAV
-The ZRBUWENQ file now has the following variables from
the related ENT table entry added:
ENTENIDX ENTMAJNA ENTMINNA ENTSCOPE ENTFLAGS
-The ZRBASI file has two new variables for Memory Object
analysis:
ASITMO ='TOTAL*MEMORY*OBJECTS'
ASITMOBY='TOTAL*MEMORY*OBJECT*BYTES'
-The ZRBASM file has four new variables added in support
of UWD extensions:
ASMUWDHL='UWD*HEADER*LENGTH'
ASMUWDAL='UWD ASI*EXTENSION*LENGTH'
ASMUWDDL='UWD DEV*EXTENSION*LENGTH'
ASMUWDEL='UWD ENQ*EXTENSION*LENGTH'
-The RMFBASM file version is raised to X'02' from X'01';
-A new final message RMFV999I is now issued at the end of
ASMRMFV processsing. The message shows the total number
of WARNINGS, ERRORS, SEVERES (severe errors), and the
final Return Code. In the case of an abend the Abend
Code and Reason Code are also shown. The message appears
in both SYSPRINT and in the JES JOB log. This provides
one message to check to get the final status of ASMRMFV.
-A BYTES WRITTEN column is added to all ASMRMFV RMFV105I
messages for each combination of DATA ACTION and RMF III
table. The column is displayed regardless of the
BYTES/NOBYTES parameter setting. This shows what tables
are contributing most to the RMFBSAM output file size.
The byte count doesn't include the 4 bytes for each BDW
(block descriptor word).
-Support for the RMF III ARCHAIC PGP table is suppressed,
but could be enabled if needed. The PGP does NOT appear
in ASMRMFV detail and summary reports when disabled. The
PGP is only generated and available in z/OS Compatibility
Mode. IBM support for Compatibility Mode ended in March
2002 with the release of z/OS 1.3 as Goal Mode became
required. But it was safer to just suppress than to
remove code that will never be executed.
-ASMRMFV no longer abends when an invalid RED entry is
found. Instead the record is skipped.
-ASMRMFV message RMFV014I is now always issued regardless
of the DETAIL/NODETAIL setting.
-New ASMRMFV message RMFV035E is now issued when errors
are detected processing the SPG, RED, UWD, DSH, or SSH
tables. These are intended to attract the attention of
the support person who might otherwise overlook the less
obvious record SKIP counts.
-NOTE: Message RMFV035E can occur when the ERBRMFxx
PARMLIB member for RMF Monitor specifies a non-existent
Storage Group in the SGSPACE ADD parameter. RMF Monitor
III message ERB329I indicates this condition: ERB329I
III: ONE OR MORE STORAGE GROUP NAMES ARE NOT DEFINED IN
SMS. In this case the entire SPG table is skipped as the
integrity of the entries cannot be trusted as confirmed
by RMF Support. Correct the ERBRMFxx start up member for
RMF III as soon as possible and modify or restart RMF III
to restore SPG table processing. Corrupted SPG tables
cannot be processed by TYPERMFV.
-ASMRMFV message RMFV033E is now RMFV033S to indicate a
severe error when an I/O error occurs.
-The handling of unsigned halfword binary integers in RMF
III table fields by ASMRMFV is corrected when the high
order bit is on.
-Prologue documentation in the ASMRMFV source has been
updated to provide detail on BYTES WRITTEN column and the
skipping of UWD records.
-Member JCLRMFV in MXG SOURCLIB now shows examples of
building an RMF Monitor III PDB by the Direct JCL method.
-Member JCLCRMFV in MXG SOURCLIB now shows examples of
building an RMF Monitor III PDB by the Batch TSO CLIST
method.
Thanks to Steve Dyck, The Canadian Depository for Securities, Canada
Thanks to Neil Ervin, Wells Fargo, USA
Change 30.288 Velocity Software zVPS (a/k/a XAM) records are Variable
UXAMNRDW Length CMS files but when first copied to their ftp site
Jan 15, 2013 so I could ftp to ASCII to test new data, the two-byte
CMS record length field had been stripped, so I wrote
this heuristic that uses the structure of the first 16
bytes of each XAM logical record to create a readable
"z/OS" VB file. However, here is the correct way to
create a "RECFMU" file from a CMS variable file. This
note has been added to the MXG member FTPING:
23. Syntax to copy the XAM z/VM CMS Variable File to
RECFMU on z/VM:
z/VM exec to pipe the XAM CMS Variable data file (which
contains a two-byte record length) thru the BLOCK command
to create a file with the two four-byte z/OS BDW and RDW
fields; that output file can then be downloaded by ftp as
BINARY to an ASCII system where the file can be read with
SAS INFILE with RECFM=S370VBS and LRECL=32760. The
output filetype "RECFMU" is used as this data is the same
date with preserved BDW/RDW on z/OS created with
DCB=RECFM=U.
parse arg fn ft fm
'ACC FTPPOOL:MXG.XAMDATA x (FORCERW'
'pipe < 'fn ft fm,
' | block 32760 V',
' | >' fn 'RECFMU X'
1) The Parse arg fn ft fm is actual code.
It assumes you would start executing the EXEC with:
inputfilename inputfiletype inputfilemode
Parse arg pulls in the filename/type/mode that you
specified when you started the EXEC.
2) Looking at FTPPOOL:MXG.XAMDATA,
FTPPOOL is the SFS filepool name.
MXG is the filespace name (USERID)
XAMDATA is the subdirectory under the FTPPOOL root
Maybe a good PC analogy would be
filepool name = drive letter (such as C:);
USERID = a directory under C:(such as MXG)
subdirectory something under MXG (C:\MXG\XAMDATA)
Thanks to Dewayne Thomas, Velocity Software, USA.
Change 30.287 Executing MXG on ASCII to read compressed CICS/DB2 SMF is
JCLSPLIT generally much faster if you FIRST decompress SMF records
JCLSPLT1 on z/OS (using IBM ASM PGM=DFH$MOLS, PGM=DSNTSMFD, or SAS
JCLSPLT2 and EXITCICS - all call IBM's CSRCESRV ASM service to do
DFH$MOLS the decompression) and then SECOND, you run MXG on ASCII
DSNTSMFD to read that uncompressed SMF file. The simpler process
Jan 19, 2013 of running MXG on ASCII to directly both read compressed
SMF data AND to uncompress it is MUCH slower because the
CSRCESRV doesn't exist on ASCII and the ASCII alternative
byte-by-byte SAS code decompress algorithm is functional
but it is VERY CPU intensive (by a factor of MANY times).
Newsletter SIXTY-ONE had execution comparison results.
Only if you have network contention when MXG reads the
uncompressed data might your results be different; you
should at least test this alternative.
These members provide examples of how to parallelize
the MXG "BUILDPDB" process and first decompress on z/OS.
JCLSPLIT - changes are primarily comments but the split
of IO and MQ data is commented out as well as
the SYSIN for those datasets
JCLSPLT1 - the same as JCLSPLIT but also contains steps
for DFH$MOLS and DSNTSMFD
JCLSPLT2 - the same as JCLSPLT1 but uses temp dataset
names for the outputs, runs DFH$MOLS, DSNTSMFD
and then combines all the temp datasets with
IFASMFDP to be fed to MXG
DFH$MOLS - JCL to run DFH$MOLS
DSNTSMFD - JCL to run DSNTSMFD
Change 30.286 A new program that graphically compares values over time.
ANALCOMP Any number of variables from any number of SAS datasets
Jan 14, 2013 are aligned for starting days, weeks, months, or years,
with ODS Graphic's PROC SGPLOT (included in Base V9.3).
V9.2 SGPLOT does require SAS/GRAPH. One of many examples:
Compare hourly CPU time for each Service and Reporting
Class, for two weeks in November, from MONTH.TYPE72GO:
%ANALCOMP(INDATA=MONTH.TYPE72GO,
VARS=CPUTM,
COMPINTV=WEEK,
COMPARE=11NOV12 18NOV12,
SUMMARY=YES,
XAXIS=HOUR,
DATETIME=STARTIME,
SORTBY=SYSTEM RPRTCLAS SRVCLASS);
Change 30.285 Support for BETA93 subtype 51 which had been overlooked.
EXTYBETJ This record has 10 possible field formats, so there are
IMACBETA ten variables BETAFIELDC/H/I/V/D/T/S/B/F/P created for
VMACBETA Character/Hex/Integer/Variable/Date/Time/Small/Byte/Flag/
VMACBETA Pool which are populated based on BETAFTYPE value. But,
Jan 14, 2013 the Character type has both EBCDIC and HEX values so it
must be displayed as a hex string, since the vendor does
not identify which Field Names are text versus hex.
Change 30.284 Support for additional fields in PHYSVOL and VOLUME file.
VMACTAPR Now, PHYSVOL has 67 variables and VOLUME has 71.
Jan 11, 2013
Thanks to Xiaobo Zhang, Fiserv, USA.
Change 30.283 When UTILEXCL found an UNKNOWN FIELD, the circumvention
UTILEXCL to skip over that field could generate 180 syntax errors,
Jan 11, 2013 depending on the syntax generated for the prior and/or
the subsequent field. This update revises the logic to
provide a more reliable circumvention. UNKNOWN FIELD
message can occur when a back-level of UTILEXCL is used
to process a new CICS version's dictionary, or when there
are "user" fields created by the site with names other
than "USER". Sending the UTILEXCL log executed with
_BLDDICT; _BLDEXCL; _RPTEXCL ; to support@mxg.com
is the correct "circumvention", as that allows MXG to
add support for a user field or detect back-level.
Thanks to Victoria Lepak, Aetna, USA.
Change 30.282 Comments updated to document all parameters. The default
ASUMDBSS SUMBY list includes SHIFT, so if you change the interval
VMXGDBSS value to DATE, wanting one observation per day, you get
Jan 10, 2013 multiple observations for each SHIFT value. You need to
remove SHIFT from the SUMBY list to get daily output:
%VMXGDBSS(
D2STATIN=&PDBMXG..DB2STATS,
D2STATOT=&PDBMXG..ASUMDBSS,
D2GBPSIN=&PDBMXG..DB2GBPST,
D2GBPSOT=&PDBMXG..ASUMDBSG,
D2BPSIN =&PDBMXG..DB2STATB,
D2BPSOT =&PDBMXG..ASUMDBSB,
ASUMINTV=DATE,
SUMBY=QWHSSSID BEGTIME,
INVKBY=DAILYDBSS
);
Thanks to Stu Samuels, Blue Cross Blue Shield of Illinois, USA.
Change 30.281 -BUILD005/BUIL3005 used in ONLYJOBS (create only PDB.JOBS)
BUILD005 set a return/condition code four for a PROC COPY message
BUIL3005 "WARNING: IN= and OUT= are the same" that is eliminated
ONLYJOBS by this change that creates an internal %SPINCOPY macro
ONLYJOBZ that conditionally issues the PROC COPY only when they
Jan 19, 2013 are different (as they are in all other uses of BUILD005)
For ONLYJOBS, they are correctly the same and the COPY
is not needed nor wanted.
-The original ONLYJOBS is now stored as ONLYJOBZ as a fine
example of how to tailor BUILDPDB using the old-style
macros, because the new ONLYJOBS now uses the newer and
more powerful %UTILBLDP macro (but still needing some of
those old-style macros) to create ONLY the datasets that
are actually needed by BUILD005.
Thanks to DJ Chen, Florida Department of Corrections, USA.
Change 30.280 -MXG 30.10 iteration, IFCIDS=STATS still failed even after
READDB2 Change 30.257, generating DB2STAT4 NOT SORTED ERROR, due
Jan 9, 2013 to my insufficient testing with only OBS=0. You can use
IFCIDS=STATISTICS with 30.10 to circumvent this error.
-And the intended change to NOT create T102S106 unless it
was requested went too far, since it was NOT created when
106 was in the list of requested IFCIDS. (30.01 can be
circumvented by adding T102106=YES as an argument).
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 30.279 The VFMT102 mapping of DBID/OBID/PSID value to the DB2
VFMT102 name has been reset to the safer algorithm that uses
Jan 8, 2013 PROC SORT to remove duplicate values; recent attempts to
construct the format and/or to use a MERGE have never
completely removed the overlap in values; that code is
kept in ZFMT102 from the last try until time and more
guidance from IBM DB2 support is available.
Change 30.278 -The MXG-created TASZIPTM/TASELGTM variables in CICSTRAN,
VMAC110 CICS/TS 5.1, were only populated when UTILEXCL was used
UTILEXCL to create an IMACEXCL, but are now populated in default
VMXGUOW 5.1 VMAC110 code, from IBM CPUTONCP/OFFLCPUT fields also
Jan 7, 2013 used to create CPUTONTM/CPUTONCN/OFFLCPUTM/OFFLCPCN in
Jan 13, 2013 Change 30.228 (CICS/TS 5.1 and APAR OA38409 is required).
Labels are corrected to provide clearer documentation:
CPUTONTM='TASK TOTAL*CPU TCB TIME*ON CP ONLY'
CPUTONCN='TASK TOTAL*DISPATCHES*ON CP ONLY'
TASCPUTM='TASK TOTAL*CPU TCB TIME*ON BOTH*CP+ZIIP'
(This is NOT NEW - has always been the sum of
CP and (normalized) zIIP CPU time).
TASDSPCN='TASK TOTAL*DISPATCHES*ON BOTH*CP+ZIIP'
TASZIPTM='TASK*ZIIP ONLY*CPU TCB*TIME'
TASELGTM='TASK*ZIIP-ELIGIBLE*RAN ON CP*CPU TCB TIME'
OFFLCPTM='TASK*ZIIP-ELIGIBLE*RAN ON CP*CPU TCB TIME'
OFFLCPCN='TASK*ZIP-ELIGIBLE*RAN ON CP*DISPATCHES'
-The calculation of TASZIPTM and TASELGTM were not shown,
and TASELGTM WAS WRONGLY CALCULATED prior to this change;
TASELGTM is equal to OFFLCPTM, but having created it, I'm
now compelled to keep the two identical variables:
TASELGTM=OFFLCPTM;
TASZIPTM=TASCPUTM-CPUTONTM;
-UTILEXCL now creates a new MXGNOTE in the IMACEXCL that
identifies the creation date of that IMACEXCL on the SAS
log when it is included, to confirm there is a tailored
IMACEXCL in use.
-ASUMUOW now keeps TASZIPTM TASELGTM and CPUTONTM.
Change 30.277 Support for TMON for CICS Release 3.4 for CICS/TS 5.1
EXMONTV INCOMPATIBLY adds variables to existing datasets and
IMACTMO2 creates one new dataset:
VMACTMO2 DDDDDD DATASET DESCRIPTION
VMXGINIT MONTV MONITV JVM SERVER STATISTICS
Jan 6, 2013 -Dataset MONITASK new variables:
TAU64HWM='USER 64 POOL HWM'
TAC64HWM='CICS 64 POOL HWM'
TASTCPUT='STANDARD*CP*CPU*TIME'
TASTCPUC='STANDARD*CP*COUNT'
TASTCPOT='OFFLOAD*ON*STD*CPU'
TASTCPOC='OFFLOAD*ON*STD*COUNT'
-Dataset MONISYST new variables:
TIENCCTM TIHU64ID TIU64HWM TIHC64ID TIC64HWM TISTCPUT
TISTCPUC TISTCPOT TISTCPOC
-Dataset MONIPA new variables:
PAACAPPL PAACMAJV PAACMICV PAACMINV PAACOPER PAACPLAT
PACECMCH PACECMDL PACLIPPO PACURTAS PAISIPNM PAMAXTAS
PAOADAT1 PAOADAT2 PAOADAT3 PAOADID PAOAPPL PAOASTRT
PAOCLIPA PAOCLIPP PAOFCTNM PAONETWK PAOPORTN PAOTCPSV
PAOTRAN PAOTRNUM PAOUSER PAOUSRCO PAPHAPPL PAPHCNT
PAPHNTWK PAPHSTRT PAPHTRAN PAPHTRNO PASOCIPH PAWBATNM
PAWBPINM PAWBPRON PAWBSVCN PAWBSVON PAWBURNM PASC64CC
PASC64CH PASC64FS PASC64GS PASC64SC PASC64UC PASC64UH
PADHDLC PAWMQREC PACPUTOC PACPUTOT PAOFFLCC PAOFFLCT
PAMQGETC PAMQGETT PAMQGETC PAMQGETT PACLIPAD PAFCVSWC
PAFCVSWT PAFCXCWC PAFCXCWT PAISALWC PAISALWT PAISIOWC
PAISIOWT PAJVMTHC PAJVMTHT PAMQSRBC PAMQSRBT PAMXDLYC
PAMXDLYT PAROMODC PAROMODT PASOMODC PASOMODT PAT8CPUC
PAT8CPUT PATCALWC PATCALWT PATDELWC PATDELWT PATDILWC
PATDILWT PABFDGSC PABFTOTC PAECEFOC PAECEVNC PAECSEVC
PAECSIGC PAEICTOC PAISALOC PAMLXMLC PAMLXSSL PAPGCSTH
PATIASKC PATITOTC PAWBISSC PAWBSFCC PAWBSFTC PAWBSREL
PAWBSRSL PAWSACBC PAWSACGC PAWSAEPC PAWSATOC
-Dataset MONIPI new variables:
PIPCDLL PIPCDRL PIPCLCC PIPCXCC PIPCDCC PIPCRCC
PIPCRCL PIICSCC PIICSCD PIICSRC PIICSRD PIWBROC
PIWBWOC PIWBIRC PIWBI1C PIWBOSC PIWBO1C PIWBPRC
PIWBBOC PIWBIWC PIWBRDL PIWBWDL PIPGCTC PIPGBCC
PIPGGCC PIPGPCC PIPGMCC PIPGGCL PIPGPCL PIPGCCC
PIISALOC PIEICTOC PIECSIGC PIECEFOC PIECEVNC PIECSEVC
PITIASKC PITITOTC PIBFDGSC PIBFTOTC PIMLXMLC PIWSACBC
PIWSACGC PIWSAEPC PIWSATOC PIWBSFCC PIWBSFTC PIWBISSC
PIPRTXCD PIL9CPUC PIL9CPUT PIX8CPUT PIX8CPUC PIX9CPUT
PIX9CPUC PIT8CPUC PIT8CPUT PIXTDLYT PIXTDLYC PISTDLYT
PISTDLYC PIMXDLYC PIMXDLYT PICMDLYC PICMDLYT PIFCXCWC
PIFCXCWT PIFCVSWC PIFCVSWT PIISIOWC PIISIOWT PIJVMTHC
PIJVMTHT PIMQSRBC PIMQSRBT PITDILWC PITDILWT PITDELWC
PITDELWT PIROMODC PIROMODT PISOMODC PISOMODT PIMQGETC
PIMQGETT PIISALWC PIISALWT PITCALWC PITCALWT PICPUTOC
PICPUTOT PIOFFLCC PIOFFLCT PIPHCNT PISC64CC PISC64FS
PISC64GS PISC64SC PISC64UC PIWMQREC
-The SMF format SMF 110 "CICSTRAN" records that can be
created by TMON don't contain the eight DFHRMI S001-S008
fields, previously optional, now created by default in
the IBM CICS/TS 5.1 SMF 110 records and thus expected in
the default MXG VMAC110 code for 5.1, so you will need to
use the UTILEXCL program to create a tailored IMACEXCL to
process these SMF records from TMON Version 3.4.
Change 30.276 Support for Mainview for CICS Release 6.5 for CICS/TS 5.1
EXMVCITD COMPATIBLY adds variables to CMRDETL and creates these
EXMVCITS two new datasets:
IMACMVCI DDDDDD DATASET DESCRIPTION
VMACMVCI MVCITD MVCITDQU TD QUEUE
VMXGINIT MVCITS MVCITSQU TS QUEUE
Jan 6, 2013 -New variables in CMRDETL for CICS/TS 3.2 and later:
T6EXCFLC='CFDT*LOCK*WAIT*COUNT'
T6EXCFLT='CFDT*LOCK*WAIT*TIME'
T6EXCFNC='CFDT*NONLOCK*WAIT*COUNT'
T6EXCFNT='CFDT*NONLOCK*WAIT*TIME'
T6EXLBC ='LSR*BUFFER*WAIT*COUNT'
T6EXLBT ='LSR*BUFFER*WAIT*TIME'
T6EXLSC ='LSR*STRING*WAIT*COUNT'
T6EXLST ='LSR*STRING*WAIT*TIME'
T6EXSTGC='STORAGE*WAIT*COUNT'
T6EXSTGT='STORAGE*WAIT*TIME'
T6EXTBC ='TS*BUFFER*WAIT*COUNT'
T6EXTBT ='TS*BUFFER*WAIT*TIME'
T6EXTMPC='TEMP*STG*WAIT*COUNT'
T6EXTMPT='TEMP*STG*WAIT*TIME'
and new CMRDETL variables populated only in CICS/TS 5.1:
T6E68XCT='68*EXTENSIONS'
T6EAPPLN='APPLICATION*NAME'
T6ECECID='CEC*MODEL*ID'
T6ECECTP='CEC*MACHINE*TYPE'
T6ECHWMG='GCDSA*HWM'
T6ECTSKS='CURRENT*TASKS AT*TRAN*ATTACH'
T6EFCSWC='FC VSAM*STRING*WAIT*COUNT'
T6EFCSWF='FC VSAM*STRING*WAIT*FLAG'
T6EFCSWT='FC VSAM*STRING*WAIT*TIME'
T6EFCXWC='FC*EXCLUSIVE*WAIT*COUNT'
T6EFCXWF='FC*EXCLUSIVE*WAIT*FLAG'
T6EFCXWT='FC*EXCLUSIVE*WAIT*TIME'
T6EISAWC='IS*ALLOCATE*WAIT*COUNT'
T6EISAWF='IS*ALLOCATE*WAIT*FLAG'
T6EISAWT='IS*ALLOCATE*WAIT*TIME'
T6EMAJVR='APPL*MAJOR*VERSION*NUMBER'
T6EMICVR='APPL*MICRO*VERSION*NUMBER'
T6EMINVR='APPL*MINOR*VERSION*NUMBER'
T6EMPPTX='POLICY*THRESHOLDS*EXCEEDED'
T6EMTSKS='MXT*AT*TRAN*ATTACH'
T6EOFCPC='ELIGIBLE*CPU TIME*COUNT'
T6EOFCPF='ELIGIBLE*CPU TIME*FLAG'
T6EOFCPT='ELIGIBLE*CPU TIME'
T6EONCPC='STD*PROC*CPU TIME*COUNT'
T6EONCPF='STD*PROC*CPU TIME*FLAG'
T6EONCPT='STD*PROC*CPU*TIME'
T6EOPERN='OPERATION*NAME'
T6EPLATN='PLATFORM*NAME'
T6ERODLC='RO*TCB*DELAY*COUNT'
T6ERODLF='RO*TCB*DELAY*FLAG'
T6ERODLT='RO*TCB*DELAY*TIME'
T6ESC64F='TOTAL*BYTES*FREED'
T6ESC64G='TOTAL*BYTES*OBTAINED'
T6ESC64S='SHARED*STORAGE*GET MAINS'
T6ESCCGG='GCDSA*GET*MAINS'
T6ESCUGG='GUDSA*GET*MAINS'
T6ESOCPH='CIPHER*SELECTED'
T6ESODLC='SO*TCB*DELAY*COUNT'
T6ESODLF='SO*TCB*DELAY*FLAG'
T6ESODLT='SO*TCB*DELAY*TIME'
T6ETCAWC='TC*ALLOCATE*WAIT*COUNT'
T6ETCAWF='TC*ALLOCATE*WAIT*FLAG'
T6ETCAWT='TC*ALLOCATE*WAIT*TIME'
T6ETDELC='TD*EXTRA*LOCK*COUNT'
T6ETDELF='TD*EXTRA*LOCK*FLAG'
T6ETDELT='TD*EXTRA*LOCK*TIME'
T6ETDILC='TD*INTRA*LOCK*COUNT'
T6ETDILF='TD*INTRA*LOCK*FLAG'
T6ETDILT='TD*INTRA*LOCK*TIME'
T6EUHWMG='GUDSA*HWM'
-An existing INVALID DATA error for T6ECNCNT, was found in
MXG code and corrected; it did not affect anything else.
Change 30.275 MXGNAMES/CONFIMXG adds support for a USER FORMAT library.
VMXGCNFG %LET MXGFMTU=DSNAME; dynamically allocates //USRFORMAT
Jan 5, 2013 and sets OPTIONS FMTSEARCH=(USRFORMAT LIBRARY) to search
the user formats first, before the MXG format library.
If you use CONFIMXG and you have an MXGNAMES DD in a PROC
pointed pointed at a dataset AND you override the
MXGNAMES DD with //MXGNAMES DD * the following message
will be in the JOBLOG - but it is not a failure
IEF655I INVALID DSNAME SPECIFIED WHEN SYSIN OR SYSOUT SPECIFIED
====== Changes thru 30.274 were in MXG 30.10 dated Jan 3, 2013=========
Change 30.274 Variables DWINSORM & DWDASORM are set to zero in TYPE113
ASUM113 if this is a one book machine, if L4RP LE 0 (one book) or
VMAC113 SM1132MM='M10' (2818 - z114).
Jan 2, 2013
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 30.273 MXG 30.05-30.09. VMXGALOC with MONTH argument did not
VMXGALOC correctly calculate the preceding month; when run with
Jan 2, 2013 normal _TODAY, on Jan 1, 2013, the monthly data was
written to November instead of December. Using FORCEDAY
of 1JAN2013 with MONTH did copy correctly.
Thanks to Richard Krueger, Sentry Insurance, USA.
Change 30.272 MXG 30.09 only. ERROR 48-59 FORMAT EBCDIC WAS NOT FOUND,
VMAC102 flagging the input of QWHSSSID. This occurred only in a
VMACDB2 user-constructed program that %INCLUDEd VMAC102 alone, or
Jan 2, 2013 before VMACDB2 (but that SHOULD have worked correctly!).
QWHSSSID and QWHSRELN were added to a PUT in DB2DECOM
to identify the system/release, but they had not been
input until after DB2DECOM. In VMACDB2 there happened to
be a LENGTH QWHSSSID $4 statement that avoided the error
when it was %INCLUDEd first. But now, both variables are
removed from that diagnostic PUT statement.
Thanks to Paul Volpi, UHC, USA.
Change 30.271 -Most of the _S102nnn dataset sort macros didn't delete
VMAC102 the _Wdddddd dataset after _Ldddddd dataset was built;
Jan 2, 2013 the %VMXGDEL(DDDDDD=102nnn) invocation was added to each
of the _S102nnn macros. Note that most of these "sort"
macros for ID=102 DB2 Trace don't actually sort the data;
most only copy the dataset with a DATA step, because the
NODUP duplicate-removal that is normal in _Sdddddd macros
requires data and time to validate the completeness of
the BY list, but over time, all _S102nnn dataset sort
macros will be changed to use PROC SORT NODUP.
Change 30.270 IDMS PERFMON Version 18 has a second segment subtype=4
VMACIDMS record which was previously unknown and was creating an
Dec 27, 2012 additional observation in IDMSINS that had all of the
Jan 2, 2013 variable names from the first segment. Second segment
is now decoded and new variables kept in IDMSIMS dataset:
INSSYTI ='CPU*TIME'
INSCPTI ='SRB*TIME*ON CP'
INSZPTI ='SRB*TIME*ON ZIP'
INSUSTI ='USER*MODE*CPU*TIME'
INSENTI ='TOTAL*ENCLAVE*SRB*CPU*TIME'
-Short third segment (PMHRLEN=68) from IDMS Version 17 is
now protected.
Thanks to Kim Westcott, NYS Office of Technology, USA.
Change 30.269 -SMFSRCH failed, writing to USERID.SMFOUT.DATA due to an
SMFSRCH error in VMXGGETM introduced in Change 30.224 which lost
VMXGGETM lost the & ahead of &SMFOUT, and testing of that change
VMXGSRCH overrode SMFOUT= so the missing & was not detected.
Dec 27, 2012 -Then, an extraneous PUT statement in VMXGSRCH caused a
22-322 syntax error (but the program continued to run).
The PRINTIT parameter was not correctly implemented, with
both a PROC PRINT and VMXGPRAL of the data found being
printed. Now only VMXGPRAL is printed if PRINTIT=YES.
Thanks to Dan Case, Mayo Clinic, USA.
Change 30.268 RACF317='BPX*DEFAULT*USER*USED?' is added to TYPE8028
VMAC80A thru TYPE8065 to identify if the FACILITY class profile
Dec 25, 2012 BPX.DEFAULT.USER is being used; that facility will NOT
exist in z/OS 2.1 (because it allowed many users of UNIX
system services to share a UID and GID, no longer a good
idea and FACILITY class profile BPX.UNIQUE.USER or other
alternatives are REQUIRED with z/OS 2.1). RACF317 will be
Y/N if a SMF80DTP=317 segment exists, otherwise, blank.
Note that APAR OA37164 added detection in the Health and
Migration Checks, for an alternative to determine if the
profile is being used.
Thanks to Randy Shumate, Reed Elsevier Technology Services, USA.
Change 30.267 -New IFCID 361 Audit Admin Authority (new with DB2 V10)
ANALDB2R added to Audit reports with new AUDIT= parameter value
Dec 24, 2012 of ADMIN.
-A fault in the logic for the multiple possible database
and object names in the IFCID 145 records was fixed.
Change 30.266 -New variable LPARIFLS in PDB.ASUM70LP and PDB.ASUMCELP
VMXG70PR and variables LPnIFLS in PDB.ASUM70PR and PDB.ASUMCEC now
Dec 23, 2012 counts the number of IFL engines allocated to each LPAR.
Dec 28, 2012 The existing NRIFLCPU variable is the number of IFLs
in the CEC.
DEDICATED IFL, OR SHARED IFL WITH WAIT COMPLETE=YES ARE
ALWAYS 100% BUSY IN RMF TYPE 70 (TYPE70PR/ASUM70PR) DATA.
For those environmens, z/VM MONWRITE (MXG TYPEVMXA) must
be used to measure IFL utilization.
For SHARED IFL with WAITCOMPLETE=NO, RMF 70 does capture
actual utilization of IFL engines.
See Newsletter FIFTY-EIGHT "1. MONWRITE" for comparison.
The Wait Complete=YES is set when the box "Do not end
time slice if a partition enters a wait state" was
checked.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 30.265 Support for DB2 Trace IFCIDs 361 and 362 populates the
FORMATS existing T102S361 and T102362 datasets.
VMAC102
Dec 22, 2012
Change 30.264 Support for APAR OA39562 creates new TYPE70Y3 dataset for
EXTY70Y3 zEC12 processors new PKCS11 Crypto Co-Processor providing
VMAC7072 CEX4P measurements. (Input statement corrected Jan 3
VMXGINIT after IBM support finally clarified the 10 was 10'x.)
Jan 3, 2013
Change 30.263 For CICS records with multiple USER segments that are no
IMACICUS longer populated nor needed, you can cause them to be
UTILEXCL skipped (so variable USERCHAR will be blank) simply by
Dec 21, 2012 creating an IMACICUS member in your "USERID.SOURCLIB"
that has only a comment to document that you are skipping
over the USER segments. This is only documentation.
Thanks to James Olson, Dominion Resource Services, Inc, USA.
Change 30.262 TYPE1052 variable SM105LID is now converted to a one-byte
VMAC105 numeric hex value; IBM documented the two bytes as binary
Dec 19, 2012 but the actual field contains two EBCDIC characters for
a one byte hex value (e.g., 'F1C1'x for 1Ax; the original
MXG input as PIB2 created SMF105LID=61889 from 'F1C1'x.
Thanks to Jeffrey A. Johns, UHC, USA.
Change 30.261 TMON/MQ latency variables QAMINLAT/MAXLAT/TOTLAT are now
VMACTMMQ correctly input as STCK time values, and formatted with
Dec 19, 2012 TIME13.3, now that TMON support informed me they are STCK
Jan 17, 2013 units (so the values input with PIB8.6 informat are now
divided to 4096 to convert from STCK).
Thanks to Homayoun Riaza, United Health Group, USA.
Change 30.260 The count in variable ABENDS in PDB.JOBS was incorrect as
BUILD005 it could include jobs that ended with ABEND='RETURN'. It
BUIL3005 now contains the correct count of STEPS that had either
Dec 13, 2012 a 'SYSTEM' or a 'USER' ABEND code, plus a count of one is
added for jobs that had a PRE-EXECUTION error in a step
(i.e., the step initiated but either was not allocated or
was not program-loaded, ALOCTIME or LOADTIME are missing)
and for this instance, variable ABEND='PREEXEC' is set.
Thanks to Louis Deledalle, BNP Paribas, FRANCE.
Change 30.259A Formats $MG119ME and $MG119PM did not decode the
FORMATS FCMechanism value A='A:AT_TLS' and $MG119ME value of 'T'
Dec 13, 2012 is corrected to T:TLS.
Thanks to Richard Wendland, USBank, USA.
Change 30.259 Support for SMF 99 Subtype 12 and 14 HiperDispatch data.
EXTY99CC New datasets created:
EXTY99CI Subtype DDDDDD DATASET DESCRIPTION
EXTY99CP 12 TY99CI TYPE99CI HD INTERVAL
EXTY99EH 12 TY99CC TYPE99CC HD CAPACITY
EXTY99EM 12 TY99CP TYPE99CP HD PROCESSOR
EXTY99EN 14 TY99EH TYPE99EH HD HEADER
EXTY99EP 14 TY99EP TYPE99EP HD PROCESSOR
EXTY99EQ 14 TY99EN TYPE99EN HD NODES
IMAC99 14 TY99EM TYPE99EM HD MQWP
VMAC99 14 TY99EQ TYPE99EQ HD MPWQ HNODE
VMXGINIT These datasets have been tested with z/OS 1.12 data.
Dec 12, 2012 Every 10 seconds, five subtype 12 records are written
Jan 2, 2013 with the same SMFTIME but each is a 2 second duration
with S99CCITOD containing the start of each interval.
-Initially, a pair of subtype 14 records are written every
five minutes, but APAR OA39058 changes that architecture
to write only one record each interval. Until I have
test data with that APAR, the duplicate removal for
TYPE99EH/EM/EQ in their _Sdddddd macro is not validated.
-The IBM labels for S99EEPNL1/NL2 are reversed, so the MXG
labels are now corrected to match data vs documentation:
S99EEPNL1 ='TOPOLOGY*NESTING*LEVEL 1*BOOK'
S99EEPNL2 ='TOPOLOGY*NESTING*LEVEL 2*CHIP'
Thanks to Dave Cogar, Wells Fargo, USA.
Change 30.258 Duplicate obs were not removed from BVIR21 dataset by the
VMACBVIR NODUP option in the PROC SORT in macro _SBVIR21 because
Dec 11, 2012 the BY list did not include ADHBAD and ADHSLOT.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY
Change 30.257 -If you specified IFCIDS=STATS, the sorts of the datasets
READDB2 input to the DB2STATS dataset were suppressed and steps
Dec 11, 2012 failed with variables not in order. You SHOULD use the
Jan 1, 2013 IFCIDS=STATS instead of IFCID=STATISTICS because STATS
creates ONLY DB2STATS/DB2STATR/DB2STATB/DB2GBPST whereas
IFCID=STATISTICS also writes these redundant datasets
DB2STAT0/DB2STAT1/DB2STAT4/DB2ST225/DB2STATB) that are
completely contained in PDB.DB2STATS; IFCIDS=STATS is now
set as default instead of IFCID=STATISTICS.
-READDB2 now invokes the _S102nnn sort macros so that the
work copy is deleted after copy to minimize disk space.
But this creates 23 lines of log messages for each data
set instead of proc copy's two lines per data set.
See Change 30.271.
-Comments document where data is written for combinations
of PDBOUT= and ACCTSORT= and IFCIDS=.
-If you asked for IFCIDS=261, sorts on statistics caused
errors when those dataset did not exist. The test on the
macro variable was checking the length and should have
been checking the value.
Thanks to Alyona Bertneski, JPM Chase, USA.
Change 30.256 Briefly, this change created variable MSUHARD, but that
VMAC30 was removed as a bad idea.
Dec 10, 2012
Dec 16, 2012
====== Changes thru 30.256 were in MXG 30.09 dated Dec 8, 2012=========
Change 30.255 If you used WEEKKEEP or WEEKDROP parameters and the
BLDSMPDB length of the dataset name(s) specified was longer than
Dec 7, 2012 the current dataset name being checked (for example you
said TYPE64: and the current dataset was IPLS) then the
length of the first was greater than the second and an
invalid substr length message was created. Everything
still ran correctly since it created a FALSE on the
condition being tested but it did generate a bad return
code when run in the background. A check on the length is
now used in addition to comparing the values.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 30.254 -Support for new CRYPTO TYPE PRCAPMCT=10 in VXPRCAPM. The
VMACVMXA UNDECODED message was printed, but then MXG failed with
Dec 5, 2012 INVALID BLOCK messages because the undecoded detection
Dec 19, 2012 didn't properly set the SKIP value, so subsequent INPUTs
Dec 20, 2012 were misaligned. There are three sub-subtype values in
PRCAPMMT of 8, 9, and 10, but only 10 has new variables
now kept in VXPRCAPM dataset, and only sub-subtype 9 has
been "data-tested".
Previous Crypto cards have names for values in PRCAPMCT:
PCICC PCICA PCIXCC CEX2A CEX2C CEX3A CEX3C
3 4 5 6 7 8 9
but no names are identified for the new Crypto Type 10
nor its three sub-subtypes in PRCAPMMT.
The new PRCAPMCT=10 was observed on zEC12 processors and
is thought to be a Crypto Express 4S.
-Dec 20: PRCAPM support for PRCAPML4=0 records corrected a
program loop.
-Support for new HIS (SMF113) counters in zEC12 processor,
eliminates "ERROR. PRCMFC HARDWARE COUNTER UNEXPECTED",
message with CFVN=1 and CXVN=3, which fortunately was
harmless to the rest of zVM processing.
Thanks to Kim Morrell, Royal Canadian Mounted Police, CANADA.
Thanks to Jim Dammeyer, State Farm Mutual Auto Insurance, USA.
====== Changes thru 30.253 were in MXG 30.09 dated Dec 4, 2012=========
Change 30.253 ONLY Dec 3 ASCII MXG 30.09, ONLY if MXG runs on AIX/unix.
dir3009.zip That DIR3009.ZIP distribution file dated Dec 3 has files
Dec 4, 2012 that end with a single X'1A (EOF) character. While that
character is ignored on Windows, when that unzipped 30.09
directory's files were copied from Windows to unix, those
X'1A' characters were preserved, and when read on unix by
SAS %INCLUDE, they caused SAS 180 SYNTAX errors (and may
have printed a left-arrow for that character). All X'1A'
characters were removed from this Dec 4 DIR3009.ZIP file.
Those X'1A characters are ERRORS in MY EDITing and should
NOT exist (created when I mix up LF and CRLF profiles),
and since I have done this before, the PROCSRCE program
that creates the other MXG distribution files has a test
for X'1A' characters, so those files are not exposed, but
that dir3009.zip file is a direct zip of the .sas files
in the MXG Sourclib directory.
But, how did they slip thru?
X'1A' are usually created AND detected when I email ASCII
new/updated code to a z/OS test site, and that test fails
when the translated X'1A' on EBCDIC is read by %INCLUDE.
I correct these updated files, and then search all of MXG
files for any others overlooked since the last search.
But why didn't PROCSRCE's test find them in 30.09 QA?
Because I've just discovered that X'1A' is IGNORED by
SAS V9 on Windows, whether read by %INCLUDE or an INFILE.
(And, since they ARE End Of File Markers, on Windows,
when found at the END of the file, they should be.)
I cannot prove that PROCSRCE ever found a match; perhaps
that test was added for safety, not realizing it wouldn't
ever be true on Windows SAS.
So I now searched all 30.09 files using SPF/PRO, and it
DID find 5 files, but did NOT find EXTY74HO that caused
the error! BUT: EDITing EXTY74HO in that same session
showed there WAS an X'1A' at the end of that file. Now,
it was clear that SPF/PRO can not be trusted to find all
instances of '1A'x in a large directory. But SPF/PRO is
ancient, so I searched with nearly-as-old SPF/SE and it
found these files in dir3009.zip that all ended with
an X'1A' character, and which were all removed Dec 4:
aaaaaaaa achap32 achap99 asmrmfv asmtapee copyrite
copywrit docver docver30 doqa9364 ex102366 exty74ho
imac102 jcltes92 jcltess8 jcltess9 jcltest6 jcltest8
jcltest9 qa9364 qa93641 qa93642 qa93643 qa93644
qa93645 qa93646 qa93647 qa93648 qa93649 qadoc
qawps qawps1 qawps2 qawps3 qawps4 qawps5
qawps6 qawps7 qawps8 tessothr tessusr1 testothr
testusr1 typetmo2 typetms5 vmac79 vmacbbmq vmacdb2
vmacdcol vmacommq vmactmnt vmactms5 vmacvmxa
Thanks to Sterling James, DST Systems, USA.
====== Changes thru 30.252 were in MXG 30.09 dated Dec 3, 2012=========
Change 30.252 Variable R748AAS0 was created from R748AAST but was not
VMAC74 formatted with $MG0748C, nor was it LENGTH $1 nor was it
Dec 03, 2012 in the &MXGNOTRA list of character hex variables.
Thanks to Patricia J. Jones, DST Systems, USA.
Change 30.251 ANALCPU compares two different week's TYPE72GO CPU time,
ANALCPU creating one plot for each Service and Reporting Class,
Dec 03, 2012 with one line for each week, showing CPUTM vs STARTIME,
which is aligned to midnight Sunday of each week. These
plots could show which service class CPU time increased
or decreased, and show if he shape of the daily profile
had changed between the two weeks.
SAS/GRAPH is not used, but SAS Version 9 is because the \
plots are created with PROC SGPLOT in Base SAS V9.
Change 30.250 Hardcoded PDB. in ANALZIPC caused ITSV with %CPSTART to
ANALZIPC fail. Change 15.320 stated all hardcoded "PDB." LIBNAMEs
Nov 30, 2012 were to be replaced with "&PDBMXG.." to interface with
ITSV, but these members have been overlooked and are now
revised with no hardcoded PDB libnames:
ANAL113 ANAL120 ANAL307X ANAL4HRS ANAL72GO ANAL80A
ANAL91 ANALAAAA ANALABND ANALACF2 ANALALOC ANALAVAI
ANALAVAL ANALBLSR ANALBNC1 ANALBNCH ANALCACH ANALCAPD
ANALCISH ANALCPUV ANALDATE ANALDB2R ANALDB2T ANALDB2V
ANALDBJO ANALDBJS ANALDBTR ANALDMON ANALEAS ANALFIOE
ANALGRID ANALHPCS ANALHTML ANALNAT ANALNPMR ANALNSPY
ANALPGM ANALRACF ANALRAID ANALRMFR ANALS225 ANALSRVC
ANALTMVT ANALUAFF ANALUOW ANALUSAG ANALWHO ANALXAMR
ANALZIPC ANALZIPU ASUM4HRS ASUM72GO ASUM78CF ASUM94
ASUMCICR ASUMCLDR ASUMRAID ASUMSMFI ASUMSTC ASUMSTGP
ASUMSYTA ASUMTAPE ASUMTCPT ASUMV11 ASUMV14 ASUMVMNT
ASUMVTVM CHANGES CICSSTAT COMPINTV COMPIPLS DB2PDB
MRGDB2 NEWSLTRS VMXGINIT
Thanks to Christelle Abily, Groupe Informatique Credit Mutuel, FRANCE
Change 30.249 SMF ID=119 Subtype=51 INPUT STATEMENT EXCEEDED RECORD due
VMAC119 to 80 byte fifth segment when MXG expected 88 bytes. The
Nov 28, 2012 last two fields are now conditionally input.
Thanks to Robert B. Richards, US Office of Personal Management, USA.
Change 30.248 Cosmetic. SMF Header Messages didn't clearly identify
VMACSMF back-to-back header/trailer nor header-to-trailer with no
Nov 27, 2012 intervening SMF record; text in messages was clarified.
Change 30.247 -Variable SMF70NRM (zIIP Normalization Factor) is now kept
VMAC7072 in TYPE70PR dataset.
VMAC78 -Variables R783PB, R783CUB, R783zzz in TYPE78CF are kept
Nov 22, 2012 so those raw values are available.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 30.246 -DB2STATS QWOSxxxx variables have value 4294967295 decimal
VMACDB2 ('FFFFFFFF'x) and variable QWOSFLG='F2'x, but IBM did not
Nov 22, 2012 document those bit values nor document the FFFFx values.
Nov 28, 2012 Change 26.201 has IBM notes about the proper APAR install
to capture this RMF data, but it didn't note that you
must set the DB2 option ZOSMETRICS=YES to populate them.
-This change tests the first variables for the large value
and if both are found, all 14 QWOSxxxx are set missing.
-The four utilization values have values greater than 100
as input, and there is no IBM documentation that the must
be divided by ten, but now they are.
Thanks to Charles Savikas, DCF, State of Florida, USA.
Change 30.245 -Support for BMC Mainview IMS 4.6, a/k/a IMF, a/k/a CIMS,
VMACCIMS adds new zIIP and zAAP metrics to the CIMSTRAN dataset:
VMACIMS TRXZTCPU='TOTAL*DEP RGN*APPL CPU'
Nov 21, 2012 TRXZONCP='TOTAL*DEP RGN*APPL CPU*ON CP'
TRXZAOCP='DEP RGN*ZAAP ELIGIBLE*RAN ON CP'
TRXZIOCP='DEP RGN*ZIIP ELIGIBLE*RAN ON CP'
TRXZFL1 ='TRXZFL1*FLAG'
TRXZTCPU='TOTAL*DEP RGN*APPL CPU'
TRXZONCP='TOTAL*DEP RGN*APPL CPU*ON CP'
TRXZAOCP='DEP RGN*ZAAP ELIGIBLE*RAN ON CP '
TRXZIOCP='DEP RGN*ZIIP ELIGIBLE*RAN ON CP'
-The zIIP/zAAP values are NORMALIZED to the speed of the
CP engines if your CPs are slower than Specialty Engines.
-Note that ZTIME=YES must be specified in BBPARM IMFECP00
member to populate zIIP/zAAP fields in the IMF records;
the default value is NO.
-Some missing value calculations observed in testing that
could be protected in VMACCIMS and VMACIMS now are.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 30.244 Support for WebSphere Version 8 ID=120 Subtype 10 record
EXT12010 creates new TYP12010 dataset.
FORMATS
IMAC120
VMAC120
VMXGINIT
Nov 20, 2012
Thanks to Mark Wittie, Fidelity Systems, USA.
Change 30.243 VMXGCOPY copies SAS datasets from MULTIPLE input LIBNAMES
VMXGCOPY whereas PROC COPY only allows from a single input ddname.
Nov 20, 2012 Parameters:
LIBNAMES= One or more SAS data libraries to be read.
Each value is a "starting with" string, so PDB
reads ALL LIBNAMEs starting with PDB.
On zOS each libname must have been opened with
either a LIBNAME statement or a data step, or
it will not be found.
OUTDD= The output LIBNAME where output is written.
Default is WORK.
DATASETS= One or more SAS dataset names to be copied.
Each value is a "starting with" string, so the
string TYPE will select ALL datasets starting
with TYPE. If a dataset is in multiple inputs
the output will contain ALL observations from
ALL of those datasets.
NOBS= the number of OBS to copy
ZEROOBS YES, all datasets are copied. NO, datasets
with zero observations are NOT copied and
won't exist in the output LIBNAME.
INCODE= Optional argument with your SAS code to select
which observations to copy, PROVIDED THAT THE
variable(s) you use exist in ALL datasets.
For example,
INCODE= IF SYSTEM=:'ABCD';
Change 30.242 New parameter CRITERIA= inserts SAS code for selection.
VMXG2DTE For example, if you want to keep SMFINTRV data ONLY for
Nov 15, 2012 your started tasks, at a weekly or monthly level, and you
want APPEND the new data, you would use:
%VMXG2DTE(DDIN=WEEK,DDOUT=WEEK,PDB=PDB,
DATASET=SMFINTRV,CRITERIA=TYPETASK=:'STC',APPEND=YES);
or, if you want to use GDGs and a DATA step, use:
%VMXG2DTE(DDIN=WEEKIN,DDOUT=WEEK,PDB=PDB,
DATASET=SMFINTRV,CRITERIA=TYPETASK=:'STC');
In either case, you don't supply the IF or the ending
semi-colon; the text of CRITERIA= just needs to be a SAS
expression that is TRUE for observations you want kept.
Change 30.241 There are cases where the object name can change within
ANALDB2R a database ID and object ID and possibly cases where
VFMT102 the database name might change so timestamps are needed
Nov 21, 2012 to correctly build the formats to extract the correct
database name and object name from the IFCID 105 and 107
records. This can create a massive format that requires
a large amount of memory. In one case on zOS with 16M
input records it required 862MB to create the format
and nearly as much to load it. But, the only time you
might need all of the records is when you are running
an IO trace. In the case of an Audit trace, you have
to build an Audit table to tell DB2 which things you
want to audit. So, selection criteria for DBNAME and
OBNAME are added to ANALDB2R to reduce the volume of
records input to VFMT102. You can select based on:
SYSTEM DB2 DBNAME and OBNAME
By selecting only the needed DBNAMEs, the virtual storage
needed for the format was less than 50 MB, so selection
is ALWAYS wise to do.
In addition, SYSTEM (z/OS execution system) is added as a
criteria for ALL ANALDB2R reports (DBNAME and OBNAME are
only available to VFMT102 datasets with DBID or OBID).
Don't know what DBNAME/OBNAME(s) you have? New report
MXGDBIDS=ONLY provides the list of all combinations
of SYSTEM QWHSSSID (DB2 SUBSYSTEM)DBNAME OBNAME using:
%ANALDB2R(PDB=SMF,MXGDBIDS=ONLY);
RUN;
-Unrelated, new parameter MXGACC01OUT creates an output
dataset that you name in that parameter from the MXGACC01
PROC TABULATE.
Change 30.240 Graphic and tabular reports of DB2 buffer size and max
GRAFDB2B usage, by DB2 Subsystem and Buffer Pool. Will use either
NOV 10, 2012 SAS/GRAPH or ODS GRAPHICS for graphs and PROC TABULATE to
create a tabular report.
Documentation of parameters:
PDB=PDB One or more PDB DD NAMES (LIBNAMEs)
SASGRAPH=NO Create bar charts with SAS/GRAPH
ODSGRAPH=YES Create bar charts with ODS Graphics
TABULATE=NO Create a tabular report
INTERVAL=QTRHOUR Any valid interval value
SAS versions 9.2 and earlier will not work for ODS; 9.3
is required for ODS graphics. If you are at 9.2 and don't
specify SASGRAPH=YES, the tabulate report will be created
instead. If you specify SASGRAPH=YES but it is not
installed, on SAS 9.3 or above, ODS GRAPHICS are used.
Otherwise, only the PROC TABULATE report is created.
Change 30.239 -VMACIMS IMS Eyecatcher variables STREQxxxx had $HEX40.
VMACIMS format but were correctly input as $EBCDIC4; the format
VMACRMFV and listing in NOTRAN were removed. Purely cosmetic.
VMAC120 -VMACRMFV variable ASMVER00 is now correctly INPUT $CHAR1
Nov 10, 2012 instead of $EBCDIC1 as it contains HEX text characters.
-VMAC120 variable SM1209GS is now correctly INPUT $CHAR8
instead of $EBCDIC1 as it contains HEX text characters.
(Note: $CHARn is REQUIRED only for MXG execution on ASCII
platforms - on z/OS $CHAR and $EBCDIC are identical.)
Change 30.238 Support for Phoenix Software International (E)JES SMF
EXTYEJES Accounting Record creates new EJESSMF dataset. MXG reads
IMACEJES either the unique date format for ESMFTBGN or, after
TYPEEJES EJES/14242 update, in (E)JES V5R3, the SMFSTAMP format,
TYPSEJES transparently.
VMACEJES New dataset:
VMXGINIT dddddd dataset description
Nov 11, 2012 TYEJES EJESSMF (E)JES SMF ACCOUNTING
Thanks to Mike Moyne, HHSYS, USA.
Change 30.237 Support for Version 4.3.0 BETA93/BETA97 (INCOMPATIBLE).
EXTYB97M -BETA93: New variables added to BETA1 dataset:
EXTYB97N BETAATYP='SEND*AS'
EXTYB97O BETABODY='BODY*TEMPLATE*MEMBER'
EXTYB97P BETABTYP='OUTPUT*TYPE'
EXTYBET7 BETABUFS='MAXIMUM*BUFFER*SIZE'
EXTYBET8 BETADCR ='DCR*NAME'
EXTYBETH BETAFILE='MAIL*FILE*NAME'
EXTYBETI BETAFROM='MAIL*FROM'
FORMATS BETAIPAD='IP*ADDRESS'
IMACBE97 BETALINK='LINK*TEMPLATE*MEMBER'
IMACBETA BETALTKN='LTOKEN*LIST*TOKEN'
VMACBE97 BETAMAXA='MAXIMUM*MAIL*ADDRESSES'
VMACBETA BETAPORT='PORT*NUMBER'
VMXGINIT BETARPLY='MAIL*REPLYTO'
Nov 13, 2012 BETASEXT='SOURCE*EXTENSION*NAME'
BETASFRM='SOURCE*FORM*NAME'
BETASUBJ='MAIL*SUBJECT'
BETATRMD='TRANSLATION*MODULE'
BETATRTB='TRANSLATION*TABLE'
-BETA93: New $MGBETPT format maps these values of BETAPTYP
in BETA1 dataset, which describes which of the sets of
variables exist in this record:
'80'X='80X:DCR OF TYPE SYSOUT'
'40'X='40X:DCR OF TYPE MAIL'
'20'X='20X:DCR OF TYPE CLIST'
'10'X='10X:PRE-ALLOCATED DD NAME'
'08'X='08X:DCR OF TYPE VTAM/APPC'
'04'X='04X:DCR OF TYPE SUBSYS'
'02'X='02X:DCR OF TYPE TCP/IP'
-BETA93: New Subtypes 7, 8, and 22 are documented but only
the header variables exist in the new BETA7 BETA9 BETA22
datasets until actual records are available.
-BETA93: New Subtype 49 creates BETA49 dataset for Batch.
-BETA97: New Subtype 25 creates BETA9725 dataset.
-BETA97: New Subtype 50 creates BETA9750 dataset.
-BETA97: New Subtypes 49 and 51 create BETA0751 but only
header variables are created, awaiting test records.
Thanks to Mrs. Karen Sendelback, Finanz Informatik, GERMANY.
Change 30.236 Cosmetic, spurious messages. TYPE113 processing printed
VMAC113 messages ERROR: DEACCUMULATION DETECTED RESET when HIS
Nov 8, 2012 sampling was enabled for one minute every five minutes,
because MXG did not use the SM113CF1 Start of Interval
flag to bypass the test for negative deltas that printed
these messages. However, both TYPE113 and ASUM113 were
correctly created because MXG's test for the output did
work as designed. Now, SM1113CF1 flag is used to bypass
the creation of these messages.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
====== Changes thru 30.235 were in MXG 30.08 dated Nov 7, 2012=========
Change 30.235 Variable CFWAITTO='TOTAL CF*CPU*WAIT TIME' is created in
VMAC74 dataset TYPE74CF as the SUM OF(CFWAIT01-CFWAIT15) to
Nov 7, 2012 match existing CFBUSYTO total CPU busy time.
Thanks to Joe Faska, Depository Trust, USA.
Change 30.234 First MXG 30.08, zEC12 ONLY, and ONLY with APAR OA37826,
VMAC74 which added the HO segment to the RMF 74 subtype 4 record
Nov 7, 2012 ERROR: INVALID DATA FOR CHAR4
INPUT STATEMENT EXCEEDED RECORD LENGTH.
because that code was only syntax checked, awaiting data
with that APAR installed, and CHAR4/ passed syntax but
failed when data was read, as it should have been CHAR4.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 30.233 -TYPE70 variable CPUWAITM was wrong and was larger than
ADOC7072 CPUUPTM when HiperDispatch was active (SMF70PAT GT 0) but
VMAC7072 IRD was not active (SMF70ONT=DURATM for all engines).
Nov 7, 2012 MXG did not subtract parked time from CPUWAITM, BUT ONLY
Apr 1, 2013 CPUWAITM was wrong, and since CPUWAITM is NOT used in any
other metrics, they WERE correct. Only if you compared
CPUUPTM with CPUWAITM would the error have been observed.
This error was only significant at low utilizations when
CP engines were parked; during peak intervals when all CP
engines were NOT parked, the CPUWAITM value was correct.
-But in examining the 70 records, observations in TYPE70PR
have been found with SMF70PAT greater than SMF70ONT and
DURATM by over 5 seconds; new code detects and resets
SMF70PAT to SMF70ONT and zeros CPUWAITM when a small
negative value (less than 0.10 seconds) is calculated.
So both NEWWAIT and SMF70PAT in TYPE70PR are different.
RMF development has confirmed that because ONT and PAT
are retrieved independently with DIAGNOSE instructions,
the can have different values, and RMF Reports use the
same heuristic I implemented, to store ONT in PAT when
PAT is greater than ONT.
-Inserted Apr 2013: A "WARNING. SMF70PAT GT ONT" message
was previously printed, but since there is nothing that
you can do with that information, as of MXG 31.02, it is
no longer printed.
-Variable CPUUPTM is now documented in ADOC7072:
"Originally the CPU "UP" duration for calculation of
available capacity of all CP engines, and was the
product of NRCPUS*DURATM, but that was back when the
number of CP engines were static, at least between
IPLs. Now, with IRD and HiperDispatch "varying" or
"parking" engines, NRCPUS is the AVERAGE (and
fractional) number of CP engines that were ONLINE
during this interval, i.e., that that were made
available to this z/OS system during this interval, so
the CPUUPTM=NRCPUS*DURATM now will vary and it is no
longer the "available for static capacity" up time."
Thanks to Mark Cohen, EPVTECH, ITALY
Change 30.232 Hiperdispatch introduces some vagaries into percent CPU
GRAFWRKX measurements. PCTCPUBY in RMFINTRV is calculated based
Nov 6, 2012 on the average number of CPUs online but that may be
something less than the actual number of CPs assigned
to the LPAR. GRAFWRKX now produces 3 different CPU busy
by workload charts.
% of the average number of CPUs online
% of the CPUs assigned to the LPAR
% of the LPAR SHARE (this can exceed 100% if an LPAR
is 'stealing' from other LPARs.)
Thanks to Mark WIlliams, Marks and Spencer
Change 30.231 -Support for IFCID 219 populates existing T102S219 dataset
VMAC102 with new QW0219xx IFCID-specific variables.
Nov 5, 2012 -Support for IFCID 220 populates existing T102S220 dataset
Nov 8, 2012 with new QW0220xx IFCID-specific variables, but there are
discrepancies between the IBM DSECT and the actual DATA
and a PMR is opened with IBM to resolve. See Ch 33.064.
-Support for IFCID 402 populates existing T102S402 dataset
with new QW0402xx IFCID-specific variables, but IFCID 402
is a statistics interval record with accumulated values,
so you MUST invoke TYPS102 or use %READDB2 with PDBOUT=,
or invoke _S102402 after dataset T102S402 is created, to
do the deaccumulation. And unlike the other DB2 V10
interval statistics records, IFCID=402 is written at 15
minute instead of 1 minute intervals.
-Support for 4TH Waiter in T102S196 dataset added Nov 8.
====== Changes thru 30.230 were in MXG 30.08 dated Nov 5, 2012=========
Change 30.230 Variables LPnPAT were missing in PDB.ASUM70PR,PDB.ASUMCEC
VMXG70PR (but SMF70PAT parked time was valid in PDB.ASUM70LP and
Nov 3, 2012 PDB.ASUMCELP datasets). The LPnPAT variables were not in
the RETAIN statements for the two datasets, so they have
always been missing; this is not a new error!
Thanks to Wayne Bell, UniGroup, USA.
Change 30.229 Support for DB2 NETEZZA Optional data has been read and
IMACDBNZ some corrections were made in the DB2STATS/DB2NETZA.
VMACDB2 -These DB2STATS variables
Nov 2, 2012 Q8STSCPU Q8STSELA Q8STTCPU Q8STTELA Q8STACPU Q8STAELA
were not divided by 4096.
-These DB2STATS variables
Q8STACTV Q8STCCPU Q8STWCPU Q8STQUEM
were incorrectly de-accumulated.
-The Q8AC triplet was incorrectly input, causing all of
the Q8ACxxxx variables in DB2ACCT (when enabled by the
removal of the comment block in IMACDBNZ) to be wrong.
And, the Q8ACNAME field is now INPUT and populated.
IBM DB2 Analytics Accelerator IDAA uses Netezza.
Thanks to Victoria Lepak, Aetna, USA.
Thanks to William E. Howard, Aetna, USA.
Change 30.228 Support for CICS/TS 5.1, INCOMPATIBLE CHANGES, INSERTS.
UTILEXCL -CICSTRAN has new fields inserted at the end of each
VMAC110 segment. The RMI fields that were formerly optional
Dec 30, 2011 are now created by default. CMODIDNT
Apr 25, 2012 TDILWTTM='TDILWTT*DURATION' 403
May 28, 2012 TDILWTCN='TDILWTT*COUNT' 403
Sep 25, 2012 TDELWTTM='TDELWTT*DURATION' 404
Oct 15, 2012 TDELWTCN='TDELWTT*COUNT' 404
Nov 1, 2012 ROMODDTM='ROMODDLY*DURATION' 348
ROMODDCN='ROMODDLY*COUNT' 348
SOMODDTM='SOMODDLY*DURATION' 349
SOMODDCN='SOMODDLY*COUNT' 349
ISALWTTM='ISALWTT*DURATION' 319
ISALWTCN='ISALWTT*COUNT' 319
TCALWTTM='TCALWTT*DURATION' 343
TCALWTCN='TCALWTT*COUNT' 343
SOCIPHER='SOCIPHER*COUNT' 320
CECMCHTP='CECMCHTP*NAME' 430
CECMDLID='CECMDLID*NAME' 431
MAXTASKS='MAXTASKS*COUNT' 433
CURTASKS='CURTASKS*COUNT' 434
SC64CGCT='64-BIT*C*GETMAINS' 441
SC64CHWM='64-BIT*C*STORAGE*HWM' 442
SC64UGCT='64-BIT*USER*STORAGE*GETMAINS' 443
SC64UHWM='64-BIT*USER*STORAGE*HWM' 444
SC64SGCT='64-BIT*SHARED*GETMAINS' 445
SC64GSHR='64-BIT*SHARED*BYTES*GETMAINED' 446
SC64FSHR='64-BIT*SHARED*BYTES*FREEMAINED' 447
TASZIPTM='TASK*ZIP*CPU*TIME' MXG-Created
TASELGTM='TASK*ZIP*ELIGIBLE*CPU TIME' MXG-Created
CPUTONTM='TASK*TOTAL*CPU TIME*ON ZIP' 436
CPUTONCN='TASK*TOTAL*DISPATCHES*ON ZIP' 436
OFFLCPTM='TASK*ZIP*ELIGIBLE*RAN ON ZIP*CPU TIME' 437
OFFLCPCN='TASK*ZIP*ELIGIBLE*RAN ON ZIP*DISPATCHES' 437
ACAPPLNM='APPLICATION IN*APPLICATION*CONTEXT*DATA' 451
ACPLATNM='PLATFORM IN*APPLICATION*CONTEXT*DATA' 452
ACMAJVER='MAJOR VERSION IN*APPLICATION*CONTEXT*DATA'453
ACMINVER='MINOR VERSION IN*APPLICATION*CONTEXT*DATA'454
ACMICVER='MICRO VERSION IN*APPLICATION*CONTEXT*DATA'455
ACOPERNM='OPERATION IN*APPLICATION*CONTEXT*DATA' 456
MPPRTXCD='MPPRTXDC' 449
FCXCWTTM='WAIT TIME*FOR EXCLUSIVE*VSAM CI' 426
FCXCWTCN='WAIT COUNT*FOR EXCLUSIVE*VSAM CI' 426
FCVSWTTM='WAIT TIME*FOR*VSAM*STRING' 427
FCVSWTCN='WAIT COUNT*FOR VSAM*STRING' 427
-TASCPUTM has always included the CPU time on zIIP/zAAPs,
and thus can EXCEED the elapsed time when the specialty
engine is faster than the CP engines, as documented in
Change 29.076, and because previously the TASZIPTM was
not separately recorded in CICSTRAN. Even though 5.1 DOES
have the separate field, I chose to NOT change TASCPUTM,
even though that is inconsistent with the "normal" MXG
implementation of keeping the CP and zIIP/zAAP times in
separate variables, because it seemed changing the value
in TASCPUTM would have caused more impact to you.
-CICSTRAN fields not created in 5.1 (are missing values)
DB2WAITM/DB2WAICN 189
J8CPUTM/J8CPUCN 260
J9CPUTM/J9CPUCN 267
MAXJTDTM/MAXJTDCN 277
CBSRVRNM 311
EJBSACCT 312
EJBSPACT 313
EJBCRECT 314
EJBREMCT 315
EJBMTHCT 316
EJBTOTCT 317
MLXSSCTM/MLXSSCCN 411 (not documented as gone by IBM)
-CICSTRAN fields in 5.1 that have altered meaning:
These fields now include the new GET64 CONTAINER and the
PUT64 CONTAINER data values:
PGGETCCT 323
PGPUTCCT 324
PGGETCDL 326
PGPUTCDL 327
PGCRECCT 328
-CICSEXCE dataset has two new values of EXCMNRIX of
GUDSA - Wait for GUDSA Storage
GSDSA - Wait for GSDSA Storage
-CICS Statistics Interval now defaults to 1 hour versus 3.
-CICLDG variables added:
LDGLLRRO='LIBRARY*LOAD*REQUESTS*RO TCB'
LDGLLTRO='TOTAL*LOADING*TIME*RO TCB'
-CICM variables added:
MNGCECTP='CEC*MACHINE*TYPE'
MNGCECID='CEC*MODEL*NUMBER'
-New STID=62, same as STID=60, outputs CICDS dataset.
Eighteen TCBs exist in TS/5.1, but none are new. The MXG
TCB variables in CICDS dataset all have the two-character
"TCB Name" text in their labels, and the MXG variable's
suffixes (DSG, DS1, DS2 ... for QR, RO, CO ...) are
listed in this table mapping the IBM 5.1 TCB Numbers:
TCB Name: QR RO CO SZ RP FO SL SO SP EP TP D2 S8 L8 L9 X8 X9 T8
IBM TCB NR: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
MXG Suffix: G 2 3 4 5 6 7 8 H M N D B A I J K L
-STID=101 adds two new variables to dataset CICWBG:
WBGATOMS='ATOMSERVICE*REQUESTS'
WBGJVMSV='JVMSERVER*REQUESTS'
Change 30.227 Documentation updates, to give better examples of how to
ADOCRMFI define workloads in RMFINTRV.
UTILWORK
Oct 31, 2012
Change 30.226 -Support for AIX/LINUX NMON data with FRENCH language text
VMACNMON and with fractional numbers with commas instead of the
Nov 1, 2012 expected period, found (so far ONLY) in "BBBP" records.
-Support for MEMAMS Memory Object adds MSxxxxxx variables
to the NMONINTV dataset.
Thanks to Atsou Toulabo, GMF, FRANCE.
Thanks to Giles Fontanini, GMF, FRANCE.
Thanks to Olivier Fy, GMF, FRANCE.
Change 30.225 With more than about 40 workloads defined in RMFINTRV,
ANAL72GO VMXGRMFI could fail due to macro variable string length
ANALDB2R limits on list of variables. And, if you workload prefix
ANALID was too long, VMXGSUM (called by VMXGRMFI) could fail on
ASUM113 truncated variable names, causing variable not FOUND.
MULTIPDB New MXGEXIMSG macro variable replaces all hardcoded
READDB2 arguments so that, when directed by support@mxg.com, you
SMFSRCH can use this syntax
UTILNPRT %LET MXGEXIMSG=YES;
VGETENG to enable (logs) of print lines for diagnostics.
VGETLIBS
VGETOBS
VGETSORT
VGETWKLD
VMACID
VMXGFIND
VMXGINIT
VMXGOPTR
VMXGPRA1
VMXGPRNT
VMXGRMFI
VMXGSRCH
VMXGSUM
VMXGSUM
VMXGUOW
VMXGWORL
Oct 30, 2012
Change 30.224 -Documentation note on SMF backup when execution on ASCII.
ChangeS Change 23.090 provided this technique to back up the SMF
VMXGGETM file when executing MXG on ASCII (and note the file name
Nov 1, 2012 of the backup has the date/time):
DATA _NULL_;
DATE=TODAY();
TIME=TIME();
DATETXT='D'!!PUT(DATE,YYMMDD10.)!!'-'!!'T'!!
PUT(HOUR(TIME),Z2.)!!'-'!!
PUT(MINUTE(TIME),Z2.);
CALL SYMPUT('DATETXT',DATETXT);
RUN;
FILENAME SMF FTP ("'SYS4.SMF.YOUR.DAILY(0)'")
USER='xxxxxx'
HOST='xxxxxxxx'
DEBUG
S370VS
RCMD='SITE RDW READTAPEFORMAT=S BUFNO=35' /*for tape*/
LRECL=32760
PASS='xxxxxxxx';
FILENAME SMFBKUP
"D:\Users\365173\MXG\SMFDATA\SMF.HHPR.&DATETXT";
%LET MACFILE=
%QUOTE(
RDW=LENGTH+4;
BDW=RDW+4;
FILE SMFBKUP RECFM=N LRECL=32760;
PUT BDW &PIB.2. '0000'X RDW &PIB.2. '0000'X
SMFINFILE @;
);
RUN;
%INCLUDE SOURCLIB(BUILDPDB);
RUN;
That is STILL the correct (and only SAFE way) to back up
the file being read, in spite of a post to MXG-L that
reported this error message using that technique:
"ERROR: The '/' INPUT/PUT statement option is
inconsistent with binary mode I/O. The execution of
the DATA STEP is being terminated".
And, that text was found in SAS Note 3404, an ancient
note that was fixed in SAS Version 8.2.
That error message was NOT due to the backup technique;
there was a prior and unrelated syntax error that was the
true cause of that binary mode I/O error message.
But, a subsequent post suggested that RECFM=S370VBS could
be used to create the ASCII backup file, BUT:
YOU CAN NOT USE RECFM=S370VBS on ASCII for OUTPUT.
While you can write with that RECFM with no errors on the
log, THE OUTPUT FILE CANNOT RELIABLY BE READ. Sometimes
it is valid, sometimes it is not, and there is no clue,
until you try to read the backup file.
-VMXGGETM is revised to support RECFM=N write of VBS data
when it is executed on ASCII, so you could use
FILENAME SMFBKUP
"D:\Users\365173\MXG\SMFDATA\SMF.HHPR.&DATETXT";
%VMXGGETM(SMFOUT=SMFBKUP,NRECORD=MAX);
as a standalone program to create a backup of your SMF.
Thanks to Michael Mayne, HHSYS, USA.
Change 30.223 Support for user-created CICS variables TRANSU, PGMU,
UTILEXCL USERU and USERDATU. UTILEXCL must be executed to create
VMAC110 the IMACEXCL to input those fields, and the four IMACICxx
IMACICUW members must be copied into your "USERID.SOURLIB" and the
Oct 26, 2012
Thanks to Randall R. Schlueter, FirstData, USA.
Thanks to Joan E. Nielsen, FirstData, USA.
Change 30.222 IFCID=239 DB2ACCTP observations did not set DB2PARTY nor
VMACDB2 QPACROLL nor QPACRUSM for the ID=101 SUBTYPE=1 records.
Oct 26, 2012
Change 30.221 Example HSM reports 3 and 4, Concurrent HSM Activity and
ANALHSM Concurrent HSM Queued, are now sorted by datetime within
Oct 25, 2012 each HSM Function.
Thanks to Rick Ralston, Humana, USA.
Change 30.220 Support for NDM-CD Subtype CX Certificate Expire subtype
EXNDMCX creates new NDMCX dataset.
IMACNDM
VMACNDM
VMXGINIT
Oct 24, 2012
Thanks to Douglas C. Walter, CitiBank, USA.
Thanks to Brent Turner, CitiBank, USA.
Change 30.219 The mapping of DBID/OBID hex values to the actual name of
ANALDB2R the database or table were not always decoded correctly
VFMT102 by the format created by VFMT102. In some cases IFCID 105
Oct 21, 2012 was written up to 30 seconds AFTER the trace record that
Nov 5, 2012 needed the 105 values, so a format based on timestamps
cannot be used. This iteration creates the format based
on variables SYSTEM DB2SSSID QWHSACE DBID (or DBID OBID).
NOTE: REGION=200M or larger may be required because this
format is MUCH larger; the size is related to the number
of observations in T102S105 and T102S107 datasets.
Nov 4: The Oct 21 iteration could cause duplicate values
error when building the format; NODUPKEY replaced NODUP
to circumvent the error, but this could cause some DBID
and OBID values to remain HEX (i.e., unmapped). We are
still redesigning the entire mapping algorithm but not
in time for today's MXG 30.08. Contact support@mxg.com if
you want the redesigned mapping when it's ready.
Thanks to Alyona Bertneski, JPM Chase, USA.
Change 30.218 In ANALDB2R, INTERVAL=xxxx wasn't supported, causing
ANALDB2R MXGERROR: YOU SPECIFIED INTERVAL=HOUR
Oct 19, 2012 MXGERROR: AND DATETIME=QWACBSC BUT THAT
MXGERROR: DATETIME VARIABLE IS NOT IN THE SUMBY LIST
MXGERROR: VMXGSUM TERMINATED EXECUTION
if you were using MXG 30.05 or earlier. With later MXG
versions INTERVAL= was ignored for the Accounting reports
with no error message. Now, if INTERVAL= is specified,
but the correct datetime variable is not in your SORTBY=
parameter, the datetime variable is added to SORTBY list.
-But for DB2ACCTP, intervals are still calculated based on
QWHSSTCK (the end of the interval), because QPACSCB did
not exist originally. While it could be now used, that
would require significant updates to the ASUM and TRND
members, and it is still possible for the PLAN/PACKAGE
to fall into different intervals.
-Statistic data is always summed using QWHSSTCK; since the
interval duration for statistics in DB2 V10 is now fixed
at one minute, changing to start versus end would not
make much difference.
Thanks to Ron Wells, Springleaf Financial Services, USA.
Change 30.217 -Reading RMF III data on ASCII platform generated INVALID
VMACRMFV data messages when the (new) MXG00 record (created by the
Oct 18, 2012 new ASMRMFV to document its version) was read, but there
were no errors in the other MXG-build RMF III datasets.
-Unrelated, new variable INFILENX contains the DSNAME or
ASCII filename of the input RMFBSAM file being read.
-Macro variable &VMXGJFCB is created to extract the JFCB
when TYPERMFV is executed on z/OS and to specify the
RECFM=S370VBS and LRECL=3270 when executed on ASCII so
those DCB attributes are not required on the FILENAME.
Thanks to James Sterling, DST Systems, USA.
Change 30.216 Updates to MXG code for MVS Solutions Thruput Manager SMF
VMACTPMX subtype 5 record added new fields to the SLMSLPER dataset
Oct 16, 2012 with SLM Job statistics, and corrected the input and the
format for some duration variables that were resolved to
seconds (TIME8. instead of my TIME12.2).
Thanks to Ken Deering, MVS Solutions, Inc, USA.
Change 30.215 z/VM BROKEN CONTROL record error only when MONWRITE input
VMACVMXA files were concatenated (but not always!) due to logic
Oct 16, 2012 error in MTREPR record's SKIP bytes handling.
Thanks to David Campbell, SunTrust, USA.
Thanks to Shannon Collinson, SunTrust, USA.
Change 30.214 Using VXMGFIND to print all datasets obs with found value
VMXGFIND (e.g., all observations with JESNR=12345) selected all of
Oct 11, 2012 the desired observations, but the name of the dataset in
title of each output were off by one dataset - the first
didn't have a dataset name, and the name in the second
title was the name of the first dataset, etc., due to a
mislocated RUN; statement.
Change 30.213 MXG 30.07 only. CICS STID=30 WARNING messages were caused
VMAC110 by incorrectly inserted code, which also corrupted the
Oct 10, 2012 CICLDG statistics dataset.
Thanks to Leonard DiCristofano, Anixter Inc, USA
Change 30.212 Support for APAR OA37016 for zEC12 CRYPTO EXPRESS4S adds
FORMATS a new value 10 for Crypto Processor Type CEX4C, which is
VMAC7072 added to be decoded by the existing $MGRMFCX format, and,
Oct 11, 2012 unrelated, two instances of 'F5'x were changed to dashes.
-New variable R7023MSK='VALIDITY*BIT*MASK' is created in
dataset TYPE7002.
Change 30.211 Change 30.113 accidentally removed the de-accumulation of
VMACDB2 DB2STATS variable QISTCOLS in MXG 30.04, when three other
Oct 9, 2012 QISTxxxx variables were correctly removed. QISTCOLS is
now again de-accumulated.
Thanks to Glenn Bowman, Wakefern, USA.
Change 30.210 Support for APAR PN29124 adds IFCID=366 BIF INCOMPATIBLE.
EX102366 The CHAR(decimal) function in DB2 V10 returns different
FORMATS data than the same function in DB2 V9, and the IFCID=366
IMAC102 records identify SQL source code that MUST be changed to
VMAC102 support the new format. The BIF INCOMPATIBLE option will
VMXGINIT restore the CHAR function to its V9 behavior while your
READDB2 SQL guru's change their code for DB2 V10.
Oct 10, 2012 -READDB2's previous max IFCID of 350 raised now to 450.
Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.
Thanks to David McGrady, Blue Cross Blue Shield of Alabama, USA.
Change 30.209 Support for APAR OA37826 adds Channel Path Types CIB and
EXTY74HO CFP Coupling Facility data in new TYPE74HO dataset with
FORMATS both Local and Remote Channel Path Data for CIB & CFP.
VMAC74 -New Data Set TYPE74HO:
VMXGINIT R744HAID='HOST*CHANNEL*ADAPTER*ID'
Oct 7, 2012 R744HAPN='HOST*CHANNEL*ADAPTER*PORT'
R744HCHF='R744HCHF*STATUS*FLAGS'
R744HCPI='CHANNEL*PATH*IDENTIFIER'
R744HFLA='R744HFLA*VALIDITY*BIT*MASK'
R744HLAT='CHANNEL*PATH*LATENCY*TIME'
R744HOPM='CHANNEL*PATH*OPERATION*MODE'
R744HPCP='PHYSICAL*CHANNEL*ID*PCHID'
R744HSAP='FOUR*I/O PROCESSOR*ACCESSIBLE'
R744HTAP='CHANNEL*PATH*TYPE*ACRONYM'
Change 30.208 Support for APAR OA37803 which adds Warning Track
VMAC7072 Interrupt Facility.
Oct 6, 2012 -TYPE70EC and TYPE70PR new variables:
SMF70WTI='DURATION*LP WAS YIELDED*DUE TO WTI'
SMF70WTS='WTI-S*RETURNED*WITHIN*GRACE*PERIOD'
SMF70WTU='WTI-S*UNABLE*TO RETURN*IN GRACE'
Change 30.207 Support for APAR OA39993 which adds Interrupt Delay Time
VMAC74 Facility duration.
VMAC79 -TYPE74 new variable:
Oct 6, 2012 SMF74IDT='INTERRUPT*DELAY*TIME*DURATION'
Jan 3, 2012 AVG74IDT='AVERAGE*INTERRUPT*DELAY*TIME*MILLISEC'
-TYPE79 new variable:
SMF79IDT='Interrupt*Delay*Time*Duration'
Change 30.206 Support for APAR OA38660 which adds Storage Class Memory
VMAC71 (SCM) and Pageable Large Pages on EC12 (zEC12) Server,
VMAC75 which are also called "FLASH MEMORY".
VMAC78 -TYPE71 new variables:
Oct 6, 2012 SMF71ASM='MIN*AVAILABLE*NOT USED*SCM BLOCKS'
Nov 13, 2012 SMF71ASV='AVG*AVAILABLE*NOT USED*SCM BLOCKS'
Dec 25, 2012 SMF71ASX='MAX*AVAILABLE*NOT USED*SCM BLOCKS'
SMF71BSA='AVG*BAD*SCM BLOCKS'
SMF71BSM='MIN*BAD*SCM BLOCKS'
SMF71BSX='MAX*BAD*SCM BLOCKS'
SMF71C1A='AVG*HIGH VIRTUAL*COMMON*MEM PAGES'
SMF71C1M='MIN*HIGH VIRTUAL*COMMON*MEM PAGES'
SMF71C1X='MAX*HIGH VIRTUAL*COMMON*MEM PAGES'
SMF71C4A='AVG*HIGH VIRTUAL*COMMON*ON SCM'
SMF71C4M='MIN*HIGH VIRTUAL*COMMON*ON SCM'
SMF71C4X='MAX*HIGH VIRTUAL*COMMON*ON SCM'
SMF71L1A='AVG*1MB FRAMES*CANBE*USED*FIXED MEMOBJ'
SMF71L1M='MIN*1MB FRAMES*CANBE*USED*FIXED MEMOBJ'
SMF71L1X='MAX*1MB FRAMES*CANBE*USED*FIXED MEMOBJ'
SMF71L2A='AVG*1MB FRAMES*NOT USED*IN LFAREA'
SMF71L2M='MIN*1MB FRAMES*NOT USED*IN LFAREA'
SMF71L2X='MAX*1MB FRAMES*NOT USED*IN LFAREA'
SMF71L3A='AVG*1MB FRAMES*IN USE*IN LFAREA*BY FMEMOBJ'
SMF71L3M='MIN*1MB FRAMES*IN USE*IN LFAREA*BY FMEMOBJ'
SMF71L3X='MAX*1MB FRAMES*IN USE*IN LFAREA*BY FMEMOBJ'
SMF71L4A='AVG*1MB FRAMES*CANBE*USED*PAGEABLE/DREF'
SMF71L4M='MIN*1MB FRAMES*CANBE*USED*PAGEABLE/DREF'
SMF71L4X='MAX*1MB FRAMES*CANBE*USED*PAGEABLE/DREF'
SMF71L5A='AVG*1MB FRAMES*NOT USED*PAGEABLE/DREF'
SMF71L5M='MIN*1MB FRAMES*NOT USED*PAGEABLE/DREF'
SMF71L5X='MAX*1MB FRAMES*NOT USED*PAGEABLE/DREF'
SMF71L6A='AVG*1MB FRAMES*USED BY*PAGEABLE/DREF'
SMF71L6M='MIN*1MB FRAMES*USED BY*PAGEABLE/DREF'
SMF71L6X='MAX*1MB FRAMES*USED BY*PAGEABLE/DREF'
SMF71S1A='AVG*HIGH VIRTUAL*SHARED*MEM PAGES'
SMF71S1M='MIN*HIGH VIRTUAL*SHARED*MEM PAGES'
SMF71S1X='MAX*HIGH VIRTUAL*SHARED*MEM PAGES'
SMF71S5A='AVG*AUX SLOTS*HIGH*SHARED MEM ON DASD'
SMF71S5M='MIN*AUX SLOTS*HIGH*SHARED MEM ON DASD'
SMF71S5X='MAX*AUX SLOTS*HIGH*SHARED MEM ON DASD'
SMF71S6A='AVG*HIGH VIRTUAL*SHARED MEM*ON SCM'
SMF71S6M='MIN*HIGH VIRTUAL*SHARED MEM*ON SCM'
SMF71S6X='MAX*HIGH VIRTUAL*SHARED MEM*ON SCM'
SMF71TSA='AVG*4K SCM*BLOCKS AVAIL*TO ASM'
SMF71TSM='MIN*4K SCM*BLOCKS AVAIL*TO ASM'
SMF71TSX='MAX*4K SCM*BLOCKS AVAIL*TO ASM'
SMF71USA='AVG*SCM BLOCKS*IN USE'
SMF71USM='MIN*SCM BLOCKS*IN USE'
SMF71USX='MAX*SCM BLOCKS*IN USE'
-TYPE75 new flag variables are created for bits, but only
SCMPGTYP was added by this APAR - the other bits had not
been previously decoded into flag variables:
MULTEXPO='MULTIPLE*EXPOSURE*DEVICE?'
DEVALTCU='DEVICE HAS*ALTERNATE*CONTROL*UNIT'
DEVVALID='DEVMODEL*IS VALID?'
SCMPGTYP='PAGE*SPACE*TYPE IS*SCM?'
Nov 13: The four variables were added to the KEEP list.
-TYPE78PA dataset, new variables added Dec 25:
R782FIFRMIN ='MIN FRAMES*CAN BE USED*FIXED*MEMOBJ'
R782FIFRNTME='TIME STAMP*OF MIN*FIXED*MEMOBJ'
R782FIFRMAX ='MAX FRAMES*CAN BE USED*FIXED*MEMOBJ'
R782FIFRXTME='TIME STAMP*OF MAX*FIXED*MEMOBJ'
R782FIFRAVG ='AVG FRAMES*CAN BE USED*FIXED*MEMOBJ'
R782PAFRMIN ='MIN FRAMES*ARE USED*PAXED*MEMOBJ'
R782PAFRNTME='TIME STAMP*OF MIN*PGBL/DREF*MEMOBJ'
R782PAFRMAX ='MAX FRAMES*ARE USED*PGBL/DREF*MEMOBJ'
R782PAFRXTME='TIME STAMP*OF MAX*PGBL/DREF*MEMOBJ'
R782PAFRAVG ='AVG FRAMES*ARE USED*PGBL/DREF*MEMOBJ'
-TYPE78PA dataset, these new AVG value variables should
have been created, instead of their TOTL value variables,
but their TOTL variables are still kept, to be safe.
SHBYAVG ='AVG*SHARED*ABOVE 2GB'
TOBYAVG ='AVG*ABOVE 2GB'
COBYAVG ='AVG*64BIT COMMON 2GB'
COMOAVG ='AVG*64BIT*COMMON'
LGMOAVG ='AVG*LARGE*MEMOBJ'
SHBYAVG ='AVG*SHARED*ABOVE 2GB'
SHMOAVG ='AVG*SHARED*ABOVE 2GB'
TOBYAVG ='AVG*ABOVE 2GB'
TOFRAVG ='AVG*1MB*FRAMES'
TOMOAVG ='AVG*64 BIT PRIVATE'
-The APAR lists 79.11 as changed, but the APAR did not
provide any details at that time. This text will be
revised when the APAR text has been updated by IBM.
Change 30.205 Variable ACTVOL is added to TMS.TMS dataset:
TYPETMS5 ACTVOL ='ACTUAL*PHYSICAL*WHERE*VIRTUAL*OFFLOADED'
VMACTMS5 The '20'x bit in FLAG5 is also set when ACTVOL is
Oct 6, 2012 populated, but as that is redundant I did not create a
new variable for that bit.
Thanks to DJ Chen, Florida Department of Corrections, USA.
Change 30.204 Support for APAR OA38980 adds new variable to DCOLCLUS:
VMACDCOL DCAZFS ='ZFS*DATA*SET?'
Oct 6, 2012 and two new variables to DCOLVOLS dataset:
DCVFCYLS='FREE*CYLINDERS*ON VOLUME'
DCVFTRKS='FREE*TRACKS*ON*VOLUME'
Thanks to Michael R. Mayne, Huntsville Hospital System, USA.
Change 30.203 Support for JES3 Main Device Scheduler IAT5210 & IAT5918
ASMTAPEE mount messages adds these new variables to PDB.ASUMTAPE
ASUMTAPE FIRST5210='FIRST*JES3*IAT5210*DATETIME'
VMACTMNT LAST5210='LAST*JES3*IAT5210*RECORD'
Oct 8, 2012 NR5210 ='NUMBER*OF JES3*IAT5210*MESSAGES'
Nov 30, 2012 VOLF5210='FIRST*JES3*IAT5210*VOLSER'
Apr 10, 2013 VOLL5210='LAST*JES3*IAT5210*VOLSER'
FIRST5918='FIRST*JES3*IAT5918*DATETIME'
LAST5918='LAST*JES3*IAT5918*RECORD'
NR5918 ='NUMBER*OF JES3*IAT5918*MESSAGES'
to measure the delay from JES3 MDS Mount/Allocate and the
dismount event for those pre-execution JES3 tape mounts.
The MXGTMNT monitor itself never sees those mounts, which
occur prior to the job's execution on z/OS, but the above
SYSLOG messages, plus the TYPE21 dismount records provide
improved tracking of JES3 mount events.
-ASMTAPEE was updated to create SMF subtype 8 records for
these messages in this enhancement, which is ML-50.
-Only data from the first and last of these JES3 messages
are kept in PDB.ASUMTAPE, but you can create subtype 9
records for each of these records if you need to see all
of them, using the //MXGMSGID DD documented in ASMTAPEE.
-Debugging PROC PRINTs in ASUMTAPE were removed Nov 30.
-Added April 2013:
INCOMPATIBLE: SORT ORDER OF PDB.ASUMTAPE was changed
from BY DEVNR EVENTIME to BY JESNR DEVNR EVENTIME which
could cause WEEKBLD/MONTHBLD to NOTSORTED fail, but only
if your WEEKBLD/MONTHBLD is prior to Change 29.008, 20.01
which made the NOBY option the default to eliminate all
BY statements in those programs). Just remove the
BY statement in your tailored WEEKBLD/MONTHBLD.
Thanks to Jim Dammeyer, State Farm Mutual Auto Insurance, USA.
Thanks to Doug Medland, IBM Canada, CANADA.
Thanks to Paul Williams, The Capital Group, USA.
Change 30.202 -RMF III Enhancements and Fixes
ASMRMFV -Fix for invalid I/O error with messages RMFV033E and
Oct 3, 2012 RMFV007S and subsequent U0998 Abend. There is a time
Oct 6, 2012 window where RMF III has opened a VSAM data set but not
yet written the first sample set. In this situation the
number of sample sets is zero, but ASMRMFV did not
correctly handle the condition and attempted to read a
non-existent sample set causing the error. In this
condition the first and last sample timestamps are zero
indicating a date of 1900.001. ASMRMFV will now
correctly issue message RMFV014I as it does for all
date/time selection mismatch conditions and proceed
without error to the next RMF III data set.
-A new parameter SIZE (alias SZ) is added. This option
provides all the features of the existing NONE option
that suppresses all output but in addition avoids reading
any RMF III tables as input (except the DSH table). The
purpose of SIZE is to provide both RMF III index and disk
space usage to allow optimum sizing of RMF III VSAM data
sets. Options INDEXES and SPACE are forced when SIZE is
coded. The I/O activity and reporting with SIZE is much
less compared to use of NONE. NONE was intended to also
provide a table contents inventory and so may still be
useful in some scenarios.
-The entire DSH table of 32756 bytes is now output not
just the 256 byte header. There is just one DSH record
for each RMF III VSAM data set.
-The Create Date is now added to message RMFV008I for
non-VSAM data sets. The JFCB (Job File Control Block)
that is the source of this data always has the current
date for all VSAM files and so Create Date is suppressed
for them.
-A new message RMFV034I will be produced to show the date
and time of the LAST CLOSE for each RMF III VSAM file.
Although the source field DSIGTODC in the DSH table is
documented as "Time data set was created", it is clear
from the begin and end sample time stamps that this date
stamp is always later than end sample time stamp and so
is consistent with a file being closed, not one that was
just created.
-The SAMPLES FILTERED count in message RMFV103I could be
incorrect when an entire data set was filtered by date
and time selection.
-Prologue documentation in the ASMRMFV source has been
updated to provide detail on the NONE and SIZE
parameters.
-Oct 6: Cosmetic: Message RMFV034I shows OPEN timestamp in
the local time zone, and imbedded blanks in 9 other date
and time fields.
Thanks to Rodger Foreman, Trans Union, USA
Thanks to Susan Graham, CapGemini, USA
Change 30.201 Variables SM1132MT and SM1132MM were blank because a test
VMAC113 for debugging (IF SYSTEM='MVSA' ...) was not removed, but
Oct 4, 2012 they were also not kept until now!
Oct 9. 2012 -Oct 9: Change 30.129 text is now available.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY
====== Changes thru 30.200 were in MXG 30.07 dated Oct 3, 2012=========
Change 30.200 DB2 V10 variable QWHCCV was incorrectly replaced by the
VMACDB2 value in new variable QWHCCTKN when the CTKN offset was
VMACDB2H non-zero. QWHCCTKN is an IP address in this format with
Oct 2, 2012 an IP address, Port Number, and a timestamp:
162.123.25.218.44485.120605112901
-------------- ----- ------------
| | |
| | |-- Unique field ( timestamp real
| |
| |-- Port address
|
|- Requester IP Address
-Only QWHCATYP=8 (REMOTE UOW) obs have QWHCCTKN in several
test SMF files, and many of those =8 observations do not
have a value, so MXG's incorrect value in QWHCCV does not
appear to have been pervasive.
-Previously, there was no "truncated offset" field for
QWHCCV, the Correlation ID, and when IBM added the
truncated offset field for QWHCCTKN, I misread the DSECT
and thought that offset was for the Correlation ID so I
INPUTed the new field at that offset into QWHCCV. I now
realize that that INPUT was for the new Correlation TOKEN
field, QWHCCTKN, which is now correctly INPUTed and KEPT.
-Now that QWHCCV has no truncated offset, it's length is
restored to $12 instead of $128.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
====== Changes thru 30.199 were in MXG 30.07 dated Oct 2, 2012=========
Change 30.199 DO NOT USE MXG 30.07 DATED OCT 1 OR EARLIER. THOSE WERE
EXTY70PR TEST ITERATIONS THAT UNFORTUNATELY HAD A SERIOUS ERROR
Oct 2, 2012 AND CREATED ZERO OBSERVATIONS IN TYPE70PR DATASET AND
WAY TOO MANY OBS IN TYPE70SP, DUE TO MY ERROR IN MY QA.
The EXTY70PR member OUTPUT to _WTY70SP incorrectly; that
should have been (AND IS NOW) OUTPUT to _WTY70PR.
====== Changes thru 30.198 were in MXG 30.07 dated Oct 1, 2012=========
Change 30.198 These labels for these variable in VMACNMON are
VMACNMON misleading and incorrect: they indicate "percentages"
Oct 1, 2012 APCPUUSER='PCPU_ALL*USER*PERCENT'
APCPUSYS ='PCPU_ALL*SYSTEM*PERCENT'
APCPUWAIT='PCPU_ALL*WAIT*PERCENT'
APCPUIDLE='PCPU_ALL*IDLE*PERCENT'
APCPUBUSY='PCPU_ALL*BUSY'
but they are PHYSICAL CP counts: Their labels are now
corrected to:
APCPUUSER='PHYSICAL*CP*USER'
APCPUSYS ='PHYSICAL*CP*SYSTEM'
APCPUWAIT='PHYSICAL*CP*WAIT'
APCPUIDLE='PHYSICAL*CP*IDLE'
APCPUBUSY='PHYSICAL*CP*ENTITLED'
Thanks to Lennon L. Marchang, Coca-Cola Company, USA
Change 30.197 Support for user-created CICS variables TRANSU, PGMU,
UTILEXCL USERU and USERDATU. UTILEXCL must be executed to create
VMAC110 the IMACEXCL to input those fields, and the four IMACICxx
IMACICUR members must be copied into your "USERID.SOURLIB" and the
IMACICUT comment block therein removed.
IMACICUU
IMACICUV
Sep 25, 2012
Thanks to Alex B. Nielsen, KMD, DENMARK.
Thanks to Noach Holger, KMD, DENMARK.
Change 30.196 Variable QW0247DA was truncated to 8 bytes because it was
VMAC102 assigned $HEX16. format and only the first 200 bytes were
Sep 24, 2012 input with $VARYING200., but actual data length can be up
to 4096, so the INPUT and FORMAT were revised.
Thanks to Matthew Chappell, Dept. of Transport Main Roads, Australia
Change 30.195 Optional DB2 variable CORRNAME is created in the _DB2CORR
VMACDB2 macro defined in VMACDB2, with CORRNAME=SUBSTR(QHWCCV) so
Sep 24, 2012 its length was $12 when QWHCCV is $12. But Change 30.032
(incorrectly!) increased QWHCCV to $128, causing CORRNAME
to increase, which then could print warning messages
about MULTIPLE LENGTHs. Adding a LENGTH CORRNAME $8;
statement to the MACRO _DB2CORR definition in VMACDB2
corrected. However, you should copy that definition into
your IMACKEEP member so the same definition is always
used at your site, and because some sites have needed to
tailor the actual substringing.
-Change 30.200 restored QWHCCV to the correct $12 length.
Thanks to Alyona Bertneski, JP Morgan, USA.
Change 30.194 DB2 QMDAACCT field LENACCT1=246 caused the error message:
VMACDB2 INVALID THIRD ARGUMENT for SUBSTR(QMDAACCT,BEG,LENACCT1)
Sep 21, 2012 because the QMDAACCT INPUT was $VARYING200. LENACCT1 so
the length of QMDAACCT was restricted by the $VARYING200.
Thanks to Stephen Donahue, Fidelity Investments, USA.
Change 30.193 The MXGTMNT (ASMTAPEE) Tape Mount and Tape Allocation
ASMTAPEE and SYSLOG monitor program has been enhanced. The ML-49
Sep 20, 2012 level removes the requirement of having the tape UCBs
PINNed. This eliminates the previous requirement that
your operators had to stop and restart the monitor when
your tape drive configuration changed, and it eliminates
the need for documenting that procedure for operators.
The new monitor will now detect that a configuration
change has been successfully completed and determine
whether or not a tape device was involved. If so, the
monitor will automatically suspend processing, rescan the
tape device's UCBs, and restart monitoring without user
intervention. Old and new levels of MXGTMNT can exist on
multiple z/OS systems that share tape devices. Systems
with ML-49 will automatically detect the change, systems
with prior versions will still need operator intervention
when the tape device configuration is changed.
Change 30.192 zVM MONWRITE dataset VXAPLSL0 Linux Processor Utilization
VMACVMXA variables PCTSYST PCTIDLE PCTINTR PCTSOFT PCTIOWT were
Sep 19, 2012 all incorrect, because the right-hand variable for each
Sep 20, 2012 of those percent calculations was NICEMODE instead of the
individual xxxxMODE variable.
-Variables PCTUSER/PCTNICE/USERMODE/NICEMODE were reversed
in the INPUT statement so they too were wrong.
-New PCTSTOL/STOLEMODE is created with the time when the
z/VM Hypervisor had stolen the clock ticks.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 30.191 JOB to create/update the MXG FORMAT library when you use
BLDFORMT CONFIMXG configuration with // EXEC SAS93, needed because
Sep 18, 2012 CONFIMXG sets DISP=SHR for LIBNAME LIBRARY:
//S1 EXEC SAS93,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
//SYSIN DD *
LIBNAME LIBRARY CLEAR;
LIBNAME LIBRARY "&MXGFORMT" DISP=OLD;
%INCLUDE SOURCLIB(FORMATS);
Change 30.190 z/VM 6.1 data caused BROKEN CONTROL RECORD error because
VMACVMXA the length of STSI in VXMTRTOP was increased from 40 to
Sep 17, 2012 at least 152 and MXG had $VARYING40., now $VARYING255.
Change 30.189 Use of %CMPRES in VMXGSUM was removed by Change 29.154 to
VMXGSUM avoid APPARENT INVOCATION OF CMPRES MACRO messages (z/OS)
Sep 17, 2012 but unfortunately Change 30.158 (MXG 30.06) slipped its
use back in VMXGSUM, so this change was going to just
remove it and live with lots of blank in the error text
we were compressing. However, we have discovered that
the %CMPRES macro can be replaced using %SYSFUNC:
%LET MESSAGE=%SYSFUNC(COMPBL(&MESSAGE));
which eliminated the reference to SASAUTOS.
However, the actual cause of this error is that your MXG
was incorrectly installed; either your JCL or your CONFIG
options are preventing MXG from accessing that macro from
the SAS-provided SASAUTOS library. Change 28.128 lists
the many ways to correct this install error, but you MUST
correct your JCL/CONFIG, as many other MXG programs
depend on SASAUTOS. VMXGSUM is protected ONLY because
%CMPRES again was not required and could be removed, and
because VMXGSUM is used in BUILDPDB and ASUMxxxx members
that build PDBs.
Change 30.188 Support for SMF 119 Subtypes 48 thru 52 populate the SMTP
FORMATS variables in those existing datasets.
VMAC119 -Oct 1: some datetime variables were not length 8.
Sep 16, 2012
Oct 1, 2012
Thanks to Randy Shumate, Reed Elsevier Technical Services, USA.
Thanks to Tom Erwin, Reed Elsevier Technical Services, USA.
Change 30.187 Variables CMF06SPL & CMF06SPH are input &PIB.2.1 because
VMACCMF they were ten times too large in CMF06GDA dataset.
Sep 15, 2012
Thanks to Alfred Sau, TJX, USA.
Thanks to Kevin Luey, TJX, USA.
Change 30.186 Two "MXG" DB2 reports are added that are not in DB2PM.
ANALDB2R -MXGACC01 is an interval summary report with your choice
Sep 15, 2012 of selection criteria that provides total and average
Sep 17, 2012 values for the important CPU and suspend and get-page
variables for the buffer pools with average and max
elapsed times. MXGACC01=YES creates a summary by
QWHSSTCK QWHSSSID QWHCATYP and QWHCAID. The datetime
value will reflect the value in the interval parameter.
If you use an interval of DATE/WEEK/MONTH the format of
QWHSSTCK is adjusted to DATETIME7. and any other interval
value it is adjusted to DATETIME13. If no interval is
specified it is adjusted to datetime16.
Example 1:
%ANALDB2R(MXGACC01=YES,INTERVAL=DATE,
PMACC01=NO,PMACC02=NO,PMSTA02=NO);
creates a summary of all DB2ACCT records in the input
PDB.DB2ACCT dataset, at date interval.
Example 2:
%ANALDB2R(MXGACC01= IF QWHCATYP=4; ,INTERVAL=DATE,
PMACC01=NO,PMACC02=NO,PMSTA02=NO);
creates a summary of all CICS DB2 account records with
an interval of date.
-MXGACC02=YES creates an unsorted detail report for every
record in DB2ACCT. Given the volume this is most likely
NOT what you want to do, without some selection criteria.
Example 1:
%ANALDB2R(MXGACC02=IF ELAPSTM GT 60 AND QWHCATYP=4;,
PMACC01=NO,PMACC02=NO,PMSTA02=NO);
creates the detail report, but only for CICS DB2 that
executed for over 60 seconds.
Thanks to Ron Wells, Springleaf Financial Services, USA.
Thanks to Richard Brooks, Springleaf Financial Services, USA.
Change 30.185 -VFMT102 is invoked by READDB2/ANALDB2R to build formats
ANALDB2R to decode the hex DBID and OBID values in the DB2 IFCID
READDB2 105/107 records, but it could be executed many times if
VFMT102 multiple IFCIDS or multiple reports were requested. This
VMXGINIT change prevents multiple executions within a single pass
Sep 15, 2012 of data by setting the global macro variable VFMT102 when
it is run the first time, and testing it to prevent the
re-execution. If ANALDB2R/READDB2 is restarted in the
same SAS session (possibly pointing to different data),
VFMT102 will be re-executed.
-Variable QW0145LN is printed instead of QW0145LO and $4.
format is added for QW0145SC in ANALDB2R audit reports.
Change 30.184 New INCODE= parameter added to permit input selection.
ANALINIT For example:
Sep 12, 2012 %ANALINIT(INCODE=IF DATEPART(READTIME) GE TODAY()-1;);
would report on only jobs submitted since yesterday.
Change 30.183 MXG 30.05/30.06. PROC FORMAT overlapping range error can
DOC occur with READDB2/ANALDB2R. Change 30.140 removed the
Sep 15, 2012 datetime from the format, but duplicates can exist if the
input spans a very large time frame. VFMT102 in 30.04 or
earlier can be used, so it is stored in the new VFMT102X,
created ONLY so that support@mxg.com can send that one
(renamed) member if you encounter the error. The VFMT102
was altered in Change 30.185 so it cannot be sent without
sending additional members to circumvent this error.
But: VFMT102X was removed in MXG 30.30.
Change 30.182 Support for zNEXT EC12 processors with 101 engines.
VMAC7072 There are no new variables kept in TYPE70 since all of
Sep 8, 2012 the CPU-specific variables for CPU 64 or higher have been
output in TYPE70EN dataset since Change 28.175.
Change 30.181 The "Split 70" logic did not provide exits for four data
EXTY70EC sets TYPE70EC, TYPE70EL, TYPE70EN, and TYPE70SP because
EXTY70EL they were thought to be internal and temporary, but they
EXTY70EN now have exits implemented so that users can make changes
EXTY70SP to those four datasets if needed.
VMAC7072
Sep 7, 2012
Thanks to Ruth Leonhardt, Xerox, USA.
Change 30.180 -Two problems both found in testing that does not impact
VMXGSUM the output but can improve efficiency of execution.
Sep 7, 2012 Case 1:
%VMXGSUM(INDATA=PDB.DB2ACCT,
OUTDATA=DB2SUM,
SUMBY=QWHSSSID,
SUM=DB2TCBTM,
MAX=MAXCPU,
INCODE=MAXCPU=DB2TCBTM;
);
In this case, the MXGSUM1 dataset contained all 500+
variables from DB2ACCT when only 3 were needed, because
the KEEP= list was not being applied to the output
dataset. Now, all variables in the parameter lists is
added as a KEEP statement to reduce DASD space required.
Case 2:
%VMXGSUM(INDATA=PDB.DB2ACCT,
OUTDATA=DB2SUM,
SUM=DB2TCBTM,
MAX=MAXCPU
);
In this case, the MXGSUM2 dataset was created by the
SORT and since there was no INCODE, the MAXCPU variable
did not exist so the PROC MEANS failed with a variable
not found error. Now, the KEEP logic after the SORT is
NOT suppressed when there is no first DATA step.
-Cosmetic. Deletion of temporary datasets used during the
course of VMXGSUM moved from the end to the points in the
code where they are no longer needed avoiding confusion
of the programmer on when/where they should be deleted.
Change 30.179 Formula changes from John Burg's SHARE presentation. For
ASUM113 the z196 (VN=2) 0.59 replaced 0.57, 1.67 replaced 1.6, &
VMAC113 0.61 replaced 1.00; the z10 (VN=1) 0.31 replaced 1.00.
Sep 3, 2012
Sep 17, 2012
Change 30.178 -Using a numeric variable in your SORTBY= tailoring option
ANALDB2R caused ERROR 48-59 citing PUT @1 &SORT $CHAR16 text. That
Sep 2, 2012 $CHAR format is not only NOT needed here (prints SORTBY=
Sep 4, 2012 variable's value, format not needed because all possible
variables here are MXG-formatted), it is THE PRESENCE of
the $CHAR format that causes this error, so its REMOVAL
eliminates this unintended consequence and oversight, and
now numeric variables like CONNTYPE and QWHCATYP that
exposed the error can be used in your SORTEDBY list, and
they will be added in a new QA test of ANALDB2R.
-In testing this change it was discovered that if you
ran PMACC03 without all of the input datasets (DB2ACCTP,
DB2ACCTB, DB2ACCTG) it would fail calling ASUMDB2p/b/g
members for those datasets. If the datasets do not exist
now, there will be an MXGNOTE printed on the log telling
you what was found, with processing to continue without
the missing datasets.
Thanks to Howard L. Curtis, Duke Energy, USA.
====== Changes thru 30.177 were in MXG 30.06 dated Sep 1, 2012=========
Change 30.177 SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape datasets.
VGETOBS On z/OS, SAS 9.2 returns a blank in DICTIONARY.TABLES for
Aug 30, 2012 the number of OBS in a tape dataset, which caused VGETOBS
to return a blank value, but both SAS 9.1.3 and SAS 9.3
returned a bogus set of non-blank characters that proved
there was a tape dataset, so VGETOBS returned a one value
(it found a tape dataset), and VGETOBS could print a log
message that it had detected non-blank non-numeric text,
(but only if the NOEXIMSG internal option was enabled to
print suppressed log notes). Now, a blank value invokes a
new test (VGETDSN length GT 0) for the dataset name that
is used to return a value of one for a tape dataset.
Thanks to Robert Stoffregen, Great Lakes Educational Loan Svcs, USA.
Change 30.176 -Some cosmetic changes to better document the records that
ANALDB2R are being reported, and new options for the AUDIT= parm:
Aug 28, 2012 AUDIT=DML < runs as it currently does uses 143 and 144
Aug 31, 2012 AUDIT=DMLREAD - processes only IFCID 144 for DML
AUDIT=DMLWRIT - processes only IFCID 143 for DML
and a missing semicolon was found.
-Requesting PMACC02=YES by itself, after reading SMF plus
executing the ASUMDB2x members, resulted in overlaying
many old-style macros that caused error messages. Those
old-style substitution macros are now cleared in PMACC02.
Change 30.175 Support for IFCID=271 DB2 AUDIT PERMISSIONS trace record.
VMAC102 Dataset existed but none of the IFCID-specific fields
Aug 28, 2012 were input.
Change 30.174 -Allocation utilities VMXGALOC & VGETALOC permitted 8-byte
VGETALOC dates formats for mmddyy, ddmmyy, and yymmdd, but mmddyy
VMXGALOC and ddmmyy generate slashes in the constructed directory
Aug 28, 2012 names; this change allows 6 8 and 10 byte formats for the
Sep 16, 2012 mmddyy and ddmmyy but will replace them with the formats
mmddyyd and ddmmyyd that use a - rather than a /, like
the yymmdd format that already uses a - as documented.
-VGETALOC uses %LEFT %macro supplied by SAS in SASAUTOS
directory and MXG options in AUTOEXEU.SAS or AUTOEXEC.SAS
include SASAUTOS and MAUTOSOURCE to "autocall" it, but
%LEFT was not actually required in VGETALOC, so it was
removed so VGETALOC would not fail even if the site did
not have their SASAUTOS correctly allocated in AUTOEXEU.
-GETDATERANGE= parameter will now accept a number of days
relative to today to search. For example:
%VGETALOC(GETDATERANGE=-5 -9,BASEDIR=C:\MXG,
DATEFMT=YYMMDD.);
will look for directories in C:\MXG with dates of
12-09-06 thru 12-09-02 inclusive.
There is now also an MXGNOTE if any directories are not
found.
Thanks to Patricia J. Jones, DST Systems, USA.
Change 30.173 WARNING: "INVALID QMDA SEGMENT ACCOUNT values are blank"
VMACDB2 for records with QMDALEN=258, but QMDAASLN=110 (so there
Aug 27, 2012 really were only 110-56=54 possible data bytes remaining)
were printed because MXG incorrectly used QMDASFLN=247 as
the length of accounting data. But these records don't
contain JOB accounting data: text after QMDASFLN is an
exact repeat of the first 28 bytes of the QMDA segment,
QMDAPTYP,QMDAPVER,QMDAPREL,QMDAPMOD, and QMDAPLAT.
Now, MXG uses QMDAASLN instead of QMDASFLN to print any
warnings (so these false positives won't print), and the
text that follows QMDASFLN is INPUT into QMDAACCT based
on QMDAASLN. But, since QMDAACCT has never been KEPT in
PDB.DB2ACCT this change was really just cosmetic so the
false warning won't be printed on the log.
Thanks to Paul Billick, QVC, USA.
Change 30.172 -RMF III Enhancements, more:
VMACRMFV -New variables are added to the ZRBCPU file:
Aug 28, 2012 CPUCAPAD CAPACITY*ADJUSTMENT*INDICATION
CPUCAPRS CAPACITY*CHANGE*REASON
CPUDTIME TIME*DELTA*BETWEEN 2*DIAG CALLS
CPUIMMSU IMAGE*CAPACITY*MSU*LIMIT
NOTE: CPUDTIME will be missing for LPARs running as VM
Guests.
-New variables are added to the ZRBLCP file:
LPARCLUS LPAR*CLUSTER*NAME
LPARGRPM GROUP*MAXIMUM*LICENSE*UNITS
LPARGRPN CAPACITY*GROUP*NAME*FOR*LPAR
LPARONCS CENTRAL*STORAGE*ONLINE*IN MB
LPAROSNA OS*INSTANCE*NAME
LPARUPID USER*PARTITION*ID
NOTE: Variables LPARCLUS, LPARGRPN, LPARGRPM, LPARONCS
require RMF Monitor III data at the z/OS 1.12 Level to
be populated.
-Change 29.013 for CPCGRPLM, text and the INPUT statement,
were both reversed; the four byte variable is input first
and then the reserved four bytes are skipped.
Change 30.171 I had removed references to CICS stats dataset CICMNR, as
VMXGINIT IBM had never externalized that DSECT, so MXG had never
Aug 27, 2012 created any observations, and because it kept showing up
as an exception on QA reports. However, I also removed
the dataset token macro variables &PCICMNR and &WCICMNR
from VMXGINIT, which cause UNRESOLVED MACRO ERROR when
the new VMXGINIT was used with MXG 30.02 or earlier.
I should never have removed those macro variables and so
they are restored to be defined in VMXGINIT.
Thanks to Pat Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
Change 30.170 Large increase in CICLDR observations count, 1,700,000,
EXCICLDR with only 70,000 CICSTRAN observations; there is one obs
Aug 27, 2012 for each program that has been active, but almost all of
the observations have zero Fetch Count (LDRFC) so this
change now output CICLDR observations ONLY if LDRFC is
no zero; that test is located in the EXCICLDR exit member
in case you ever want to change and output them all.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 30.169 -Dataset T102S083, IFCID=83, always had zero observations
FORMATS due to an LE test for QWHSRELN that should have been GE.
VMAC102 -IFCID=145 record with unexpected QWT02R1L=0 ABENDed with
Aug 25, 2012 invalid DO loop value. The records are continuations for
Oct 12, 2012 an SQL command with a total of 98,567 characters, so that
multiple SMF record are written, and the continuation SMF
records do not contain the expected R2O segment, so MXG's
logic was revised. However, a problem has been opened
with DB2 Support because the QW0145LE length-field is not
correct, and there is no explicit offset field to the SQL
text in both the initial and continuation records, so the
MXG input is heuristic based on the available records and
the actual SQL text length in each observation is in the
MXG-calculated QW0145LNTXT variable.
-Oct 12: IBM APAR PM74186 corrects the SQL length error.
-These new-in-DB2-V10 QW0145 fields are INPUT and kept:
QW0145IS QW0145SI QW0145OBNUM QW0145ACNUM
QW0145LL QW0145LNTXT
and format $MGD145I decodes the Isolation Level QW0145IS.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 30.168 Enhancement to ASM program that recreates RECFM=VB or VBS
ASMDBLKU data from downloaded ASCII "RECFM=U" that is now reloaded
Aug 24, 2012 back to z/OS into 32760 byte chunks that ASMDBLKU reads
Aug 29, 2012 to reconstruct the original VB/VBS file (perhaps so you
can terse it and send it on to a vendor), for sites that
don't have SAS on z/OS (when you would instead use the
MXG UDEBLOCK program to recreate valid VB/VBS files).
-JCL PARM field values of PARM=VB or PARM=VBS are now
supported. The default is VBS if no PARM field is coded.
PARM=VB creates RECFM=VB,LRECL=32756,BLKSIZE=0, while
PARM=VBS creates RECFM=VBS,LRECL=32760,BLKSIZE=0 as in
prior versions of ASMDBLKU. Any other PARM field values
will result in error message DBLKU29S and termination
with Return Code 16.
-New message DBLKU29I shows PARM field value if present.
-Message DBLKU25I now also shows the average LRECL of the
input SMFIN file.
-Message DBLKU26I now also shows the average LRECL of the
output SMFOUT file.
-New message DBLKU27I shows the number of input SMFIN file
records that were read at the minimum and maximum LRECL
values. This provides an idea if the record lengths on
input were biased toward these values.
-New message DBLKU28I shows the number of output SMFOUT
file records that were written at the minimum and maximum
LRECL values. This provides an idea if the record
lengths on output were biased toward these values.
-Maximum LRECL value for the output SMFOUT file was
incorrect in message DBLKU26I.
Change 30.167 MXG 30.04-30.05. The Debugging PUT _N_= YYYYDDD= at line
VMACIMS 3826 is deleted, to eliminate the unwanted log messages.
Aug 24, 2012
Thanks to David J. Schumann, Blue Cross of Minnesota, USA.
Change 30.166 Change 30.153 supported keeping PROGRAM and PROG1-PROGnn
ASUMCICX variables in PDB.ASUMUOW, but its tailoring instructions
ASUMUOW were incomplete, and you may need this updated IMACUOW.
IMACUOW To add PROGRAM (and optional PROG1-PROGnn variables):
VMXGUOW - you must update ASUMUOW to add (only) variable PROGRAM
Aug 24, 2012 to the MACRO _KUOWIDC definition,
- you must update ASUMUOW to add PROGRAM, plus any of the
PROG1-PROGnn variables that you want kept, into your
MACRO _KUOWPTH definition,
- if the PROGRAM name you want/need isn't the PROGRAM in
that last CICSTRAN in this UOW, then you will need to
use this new IMACUOW tailoring and start with Case 5 as
your MACRO _TRANUOW selection, but be aware there still
could be additional site-dependent mods required.
This example adds PROGRAM and PROG1-PROG3:
%LET MACKEEP=%QUOTE(
MACRO _YESOBS %
MACRO _NOOBS %
MACRO _KUOWPTH
EXECAPPL PROGRAM PROG1-PROG3 %
MACRO _KUOWIDC
APPLID USER LUNAME SYSTEM TERMINAL USERCHAR
PROGRAM
%
);
%INCLUDE SOURCLIB(VMXGUOW);
_NOOBS
OPTIONS NODSNFERR NOVNFERR;
_SUOWCIC /*SORT CICSTRAN DATA */
_SUOWDB2 /*SORT DB2 DATA */
_SUOWMQ /*SORT MQ SERIES DATA */
_SUOWSPN /* CREATE ASUMUOW DATASET */
%VMXGUOW;
_YESOBS
OPTIONS DSNFERR VNFERR;
If you use ASUMCICX to summarize the PDB.ASUMUOW CICS in
PDB.CICS output dataset, you may need to add PROGRAM to
the _BSUxxxx macro, as also now documented in comments.
The only code changed in this change was in IMACUOW, but
that is only the addition of the new Case 5 example.
Thanks to Charles Savikas, DCF, State of Florida, USA.
Change 30.165 Cosmetic. Existing $MGTMDAC format assigned to QW0142AC,
VMAC102 to decode A/C/D to ALTER/CREATE/DROP. Note that when an
Aug 23, 2012 MXG $MGxxxxx character format is assigned to a variable,
that variable must be in a LENGTH statement with the
input length; in the absence of a LENGTH statement, the
old $1 character variable is changed to the length of the
longest text in the $VALUE statement for that format.
Change 30.164 Support for six Tandem Prognosis data files creates these
EXTAPCPU six datasets;
EXTAPIPU
EXTAPJOB DDDDDD MXG MXG CREATED
EXTAPOBJ DATASET DATASET DATASET FROM
EXTAPPHY SUFFIX NAME LABEL INFILE
EXTAPVOL
IMACTAPR TAPCPU TAPRCPU TANDEM PROGNOSIS CPU TAPRCPU
TYPETAPR TAPIPU TAPRIPU TANDEM PROGNOSIS IPU TAPRIPU
TYPSTAPR TAPJOB TAPRJOBS TANDEM PROGNOSIS JOBS TAPRJOB
VMACTAPR TAPOBJ TAPROBJECT TANDEM PROGNOSIS OBJECT TAPROBJ
VMXGINIT TAPPHY TAPRPHYSVOL TANDEM PROGNOSIS PHYSVOL TAPRPHY
Aug 24, 2012 TAPVOL TAPRVOLUME TANDEM PROGNOSIS VOLUME TAPRVOL
JCLTEST9
Aug 26, 2012 The TYPETAPR or TYPSTAPR members will create all six MXG
Aug 31, 2012 datasets, reading each of the six input files, but the
Sep 25, 2012 individual datasets can be created with the _Tdddddd
to create and the _Sdddddd token to sort each one. See
examples in comments in VMACTAPR.
-Sep 25: DD MON YYYY HH:MM:SS format for CPU001 supported.
-These problems need to be resolved by Prognosis vendor:
JOBS fields: 014,034,040-044,082,083:
a. Invalid values in 014 - IR_ELAPTIME_STRING
1:29
109-05:50:31
48
b. Invalid values in 034 - IR_STARTTIM_STRING
Values of 19 AUG 2012 and 02 MAY 2012 but the
IR_STARTTIM_TIMESTAMP is the same these records.
c. What are the units, where's the decimal, one obs has:
040 IR_SENDRESP value 0.0185
042 IR_PERFORM value 0.0104
043 IR_RESPTIME value 0.0185
044 IR_CPUSECS value 133877 - if in microseconds,
then 0.133877 is larger than response.
d. Range of values are strange:
082 IR_SEQNUM - 1617862657, 8, and 1628929
083 IR_ANCSEQNO - 1617861633, 0, and 1895169
VOL fields: 061,062,063
e. 061 IR_FULLTIME_STRING 21 OCT 2605: 20:52:57
062 IR_FULLTIME_TIMESTAMP 0
063 IR_FULLTIME_GMT_OFFSET 0
CPU fields 001/002 string and timestamp inconsistency:
f. CPU has IR Time String format 8/20/12 with the time
0:00 (no seconds), but format 20 Aug 2012 0:00:00 is
used in the other records.
g. CPU has IR Timestamp value 2.12212E+17, which doesn't
have enough digits to decode correctly; other records
have 212212195260000000 microseconds, which does have
enough digits and after adding the Tandem constant to
convert from proleptic time, is a valid GMT datetime.
-Notes on data structure issues that are circumvented:
-The record delimiter in the tandem file is the unix "LF"
but that is changed to "CRLF" if the file is copied to a
Windows platform. Macro variable MXGCRLF transparently
sets the TERMSTR option of the INFILE statement to use
the correct delimiter. It is set to TERMSTR=CRLF on WIN
platforms, to TERMSTR=LF on all other ASCII platforms,
and it is blank on z/OS. It can be changed with %LET.
-The clue you have the wrong record delimiter is an error
"ARRAY EXCEEDED" that prints the first two records where
you can see the text date field after the last IR header
name is listed as another field in that first record.
-The JOBS "comma-delimited" file has double quotes around
all character fields, and some contain embedded commas,
which required special handling due to MXG's use of SCAN
function which has no DSD option. A vendor option to
to change the delimiter to a tab would have been nice.
Double quotes were removed, and the commas restored.
-GMT Offset is not provided in the IPU record.
-All fields with "PERC" are labeled (MXG-style) "PCT".
Change 30.163 Windows IIS Server Log record with strange URIQUERY value
VMACWWW C63BCB3DB05CA94A1ECF2B1C13C048097E3456C966691FE6EEB4168
Aug 21, 2012 D55EB32905A6221CB8CA5C525
Sep 28, 2012 that did not contain the expected equal sign caused MXG
to loop; that unexpected text value is now protected.
-Data records with ^M (CR) were created when IIS file was
moved to AIX could be stripped using DOS2UNIX command,
but can also be read with MXG using
%LET MXGCRLF = TERMSTR= CRLF ;
before the %INCLUDE of TYPEWWW, because this change added
&MXGCRLF in the INFILE statement in VMACWWW.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 30.162 Documentation. The RACF field AUDITFID is MXG variable
VMAC80A RACF264 in RACF event datasets TYPE8028/29/30/44/45/8055,
VMACRACF created from SMF 80 records, a 16-byte $HEX32 formatted
Aug 21, 2012 variable because it contains both hex and text:
e.g.: 'C8C6E2F0F0F93D0B00000000004D385B'X.
and the RACF field AUDITFID is MXG variable AUDITID in
dataset RACF0900 from IRRDBU00 RACF UNLOAD UTILITY data,
a $32 character variable with the above hex as text.
Both variables have been in MXG for years, but I have
added "AUDITFID" text to both variable's label.
Thanks to Mark Jacobs, Time Customer Service, USA.
Change 30.161 -RMF III Further Enhancements:
ASMRMFV -A new message RMFV033E is issued when a VSAM Read Error
Aug 19, 2012 occurs to show the current and maximum Relative Record
Number, RRN, of the RMF III record being read, and the
return/reason codes from the failed read operation. This
message will aid in the investigation of sporadic VSAM
read I/O errors that go away when ASMRMFV is rerun. We
will use these messages to circumvent the error.
-NOTE: We have never had a VSAM Read error repeat with a
rerun; if you error with ABREAD please add a //SYSUDUMP,
and send the dump to support@mxg.com so we can resolve.
-The SHOWCB macro calls that collect RMF III VSAM file
attributes have been consolidated to a single call to
reduce code path length.
-New parameter ABREAD/NOABREAD lets you control ASMRMFV's
action when a VSAM read I/O error does occur:
-ABREAD is the default and duplicates the current ASMRMFV
behavior: a USER 0998 abend occurs on the first instance
of a VSAM read I/O error and no further data is written
to the RMFBSAM output file by ASMRMFV. Alias is ABR.
-NOABREAD suppresses the above abend and the action taken
depends on the data being read. Alias is NOABR. On the
first read of an RMF III VSAM data set the action is to
close this VSAM dataset and then open the next RMF VSAM
file (if any). Otherwise, if the error occurs on a
subsequent read for sample set data, the problem sample
set is skipped and ASMRMFV attempts to read the next
sample set from the same data set (if any).
-ASMRMFV ends with Return Code=12 if NOABREAD is in
effect and a read I/O error has occurred.
-Program prologue documentation is updated to discuss
ABREAD and NOABREAD and new Return Code 12.
-With either ABREAD or NOABREAD, the output RMFBSAM file
is likely to be missing data after a read I/O error.
-NOTE: When ASMRMFV is being executed under the CLRMFV
CLIST, the abend (if ABREAD in effect) is trapped, and
with either ABREAD or NOABREAD, CLRMFV will eventually
end with Return Code=12 after a VSAM read I/O error.
You could use the JCL COND parm to test for RC=12 in the
subsequent PDB build, if you want to also terminate the
creation of the RMF III PDB datasets after a VSAM error.
Thanks to Rodger Foreman, TransUnion, USA
Thanks to Betty Wong, Bank of America, USA
Change 30.160 -ASMIMSL7: ASMIMSL6, to bypass 0C7 ABEND due to ARRVDATE
ASMIMSL7 containing invalid Packed Decimal data, by skipping the
ASMIMSL8 0C7'ing-records so the rest of the log can be read. If
Aug 18, 2012 invalid ARRVDATE is found, a new error "NOPD" message
Aug 30, 2012 will be written to the job log with the first 25 bytes of
the record in hex. Since we have added this diagnostic,
no reports of NOPD messages have been reported.
-ASMIMSL8: ASMIMSL7 ABEND 0C4 occurred when an INQUEUE
record had zero record length in the first four bytes, in
a record that was to be discarded due to other errors
(dupe key). This iteration deletes the defective record
without the 0C4 ABEND.
-We have been unable to replicate either the 0C4 or 0C7
condition with files from three runs, so it appears the
source is a corrupted INQUEUE file, and since a VERY
small number of records are being recycled, the safest
solution now would be to eliminate the use of INQUEUE
for a few cycles to confirm that was the culprit, and
then it can be reintroduced while watching the job logs
for MXG error messages, in case the corruption reoccurs.
Change 30.159 Support for Microsoft Exchange 2010 incompatible changes
VMACNTSM to MSEXCHANGEIS and MSEXCHANGEIS MAILBOX objects. Creates
Aug 18, 2012 variables MSIS0001-MSIS0051 MSISCQTH in MSEXCHIS dataset,
and in dataset MSEXCHPU variables MSPU0001-MSPU0074 and
new per-second rate variables MSGDLVPS MSGRECPS MSGSNTPS
MSGSUBPS (whose new per-sec values are also converted to
per-minute and stored in the existing per-minute
variables MSGDLVPM MSGRECPM MSGSNTPM MSGSUBPM).
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 30.158 -VMXGSUM in 30.05 could leave temporary datasets KEEPDATA
VMXGSUM KEEPERS VAR1 VARS or VAR2 in the //WORK library, which
Aug 15, 2012 had no impact on your MXG programs, but as they were also
Sep 4, 2012 left behind in the MXG QA job, they were seen as "real"
MXG datasets and created DOCVER entries.
-New handling of error conditions when interactive: rather
than terminating the SAS Session, global macro MXGOPTKILL
that is set in VMXGOPTK (the macro that drives the keep
logic and is part of VMXGSUM) gracefully shuts down the
VMXGSUM execution but preserves the interactive session.
-Messages about too-long-text were revised.
Change 30.157 New REPORT THREE-A for IMACICEZ, IMACICE1, and IMACICE2
UTILEXCL tailoring members now identifies the number of fields and
Aug 13, 2012 the lengths that must be updated in those three members.
It may be necessary to use the MCTSSDRL field in the DO
groups for these three optional segments.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 30.156 -Variables TOTLSESS ACTVSESS INACSESS in TERMSERV dataset
EXNTICAS for the Terminal Services object were input in that order
IMACNTSM in Windows Server 2003 (NTVERSN='5.2'). In Windows Server
VMACNTSM 2008-R2 (NTVERSN='6.1') the order was changed to ACTVSESS
VMXGINIT INACSESS TOTLSESS, so now, one of two INPUT statements is
Aug 10, 2012 executed, based on NTVERSN.
-Support for ICA Session object creates ICASESSN dataset.
dddddd dataset description
NTICAS ICASESSN ICA Session
Thanks to ???, ???, ???
Thanks to Mark Friedman, Demand Technology, USA.
Change 30.155 -Support for the WebSphere Asynchronous Section in subtype
EXT1209A nine records creates new TYP1209A dataset
IMAC120 dddddd dataset description
VMAC120 T1209A TYP1209A WebSphere Subtype 9 ASYNC
VMXGINIT These variables in TYP1209A and TYP1209E correspond and
Aug 9, 2012 can be used to compare observations in those datasets:
Oct 16, 2012 TYP1209A TYP1209E
SM1209GP SM1209CG
SM1209GQ SM1209CR
SM1209GR SM1209CS
SM1209GT SM1209CU
SM1209GV SM1209CV
-Unrelated, variable SM1209CX was found to have been
incorrectly divided by 4096, in TYP1209E dataset.
-Oct 16: The August change also corrected variables
SM1209DL, SM1209DM, and SM1209DN service units.
Thanks to Joseph L. Babcock, JPM Chase, USA.
Thanks to Tom Bubnash, SSA, USA.
Thanks to Babatunde Ashiru, SSA, USA.
Thanks to Jim Hare, Shared Services, CANADA.
Change 30.154 Velocity Software ZVPS (a/k/a XAM) new User Record with
EXXAMUSV with USERTYPE='VCPU' creates new dataset:
FORMATS dddddd dataset description
IMACXAM XAMUSV XMUSVCPU Virtual CPU per User Statistics
VMACXAM Dataset XMUSVCPU contains the USEACT and USEINT variables
VMXGINIT plus Virtual CPU Address (VMDCPUAD) and Engine Type in
Aug 9, 2012 VMDPUTYP, decoded by new MGXAMTY format (CP, ZIIP, etc),
so there is one observation for each USERID and VMDCPUAD
for each MONWRITE interval.
Thanks to Patricia Hansen, ADP, USA.
Thanks to Mike Chaves, ADP, USA.
====== Changes thru 30.153 were in MXG 30.05 dated Aug 8, 2012=========
Change 30.153 -See Change 30.166. Documentation updated.
VMXGUOW -PROGRAM names PROG1-PROGnn are created (TRAN1-TRANnn),
Aug 8, 2012 with the HOWDEEP= argument (default 10) setting the "nn"
to be created, but you must also use KUOWIDC to list the
variables you want to be kept. You can put the statement
MACRO _KUOWIDC PROG1=PROG9 % in IMACKEEP tailoring, or
use %LET MACKEEP= MACRO _KUOWIDC PROG1-PROG9 %; in SYSIN.
-Documentation of CICS transaction counts:
An observation in CICSTRAN cay be only one of many CICS
"segments" that make up a "unit of work", UOW, a "real"
transaction. Counting the number of observations in the
CICSTRAN dataset does NOT tell you how many actual CICS
Thanks to Charles Savikas, DCF, State of Florida, USA.
"transactions", or "units-of-work" were executed.
MRO trans typically have at least two observations in
the CICSTRAN dataset for a unit of work: one is from
the TOR region/applid and one is from the AOR region.
In ASUMCICS dataset (summarized CICSTRAN), the variable
NUMTRANS is the number of CICSTRAN observations, i.e.,
the inflated count of MRO CICS segments.
In ASUMCICX dataset (summarized ASUMUOW), the variable
NUMTRANS is the number of ASUMUOW observations, i.e.,
the "correct" count of transactions/units-of-work).
In ASUMUOW dataset, (created from CICSTRAN/DB2ACCT/MQ):
MROTRAN - Count of CICSTRAN observations in this UOW,
inflated segment count.
DB2TRAN - Count of DB2ACCT observations in this UOW.
MQTRAN - Count of MQMACCT/MQMACCTQ obs in this UOW.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 30.152 A strange SAS compiler error, if you used the _KDCODSN
VMACDCOL "KEEP= exit" for dataset DCOLDSET, intending to add some
Aug 6, 2012 new variables and to DROP= some existing variables:
MACRO _KDCODSN NEWVAR1 NEWVAR2 DROP= OLDVAR1 OLDVAR2 %
This compiler error is unique to the VMACDCOL structure,
and is circumvented by relocating the &MXGFILNM macro
variable to a different place in the source code.
-The SAS compiler erroneously expanded that _KDCODSN macro
token TWICE, causing the first instance of DROP= to apply
to all of the NEW variables in the second instance of the
expansion, so NONE of the new variables were kept. This
error was precipitated by Change 29.296, which added a
new-style macro variable token, &MXGFILNM, at the end of
each KEEP= list (so you could add variable INFILENM to
all DCOLLECT datasets). Apparently, even when &MXGFILNM
is blank, when it is the last token before the _KDCODSN
token, then if _KDCODSN is not blank, the SAS old-style
macro compiler expanded that macro token TWICE. But, by
relocating that &MXGFILNM text to a separate line, before
the last variable line in the MACRO _VDCODSN KEEP= list,
so it is no longer immediately prior to _KDCODSN token,
that second unwanted expansion is avoided and your normal
_Kdddddd tailoring works as expected. The error was in
both SAS 9.2 and 9.3 on Windows and z/OS SAS 9.1.3 SP4.
Thanks to Paul Maradin, HP, USA.
====== Changes thru 30.151 were in MXG 30.05 dated Aug 6, 2012=========
Change 30.151 Additional Enhancements for RMF III processing.
VMACRMFV -ZRBASM file was not output to the PDB when TYPSRMFV
Aug 4, 2012 member was used to build an RMF Monitor III PDB.
-Macro call to _SZRBASM was missing from _SRMFV macro.
-_BZRBASM macro for ZRBASM file misspelled ASMJESID
variable as ASIJESID causing SAS error during PDB build.
-Change 27.100 altered the EXZRBLCP macro to conserve disk
space for inactive logical processors by suppressing
output to the ZRBLCP file when LCPUPDTM was zero (which
includes LPARs that are categorized as PHYSICAL).
However, all processor entries for PHYSICAL LPARs are
required to determine the number of physical engines on a
CEC for an engine type such as a ZAAP or ZIIP. One or
more of these can legitimately be inactive during an RMF
III MINTIME interval. The number of physical engines for
each engine type is required to compute Physical % UTIL
as in the RMF III CPC panel. Entries for PHYSICAL
LPARs are now always output regardless of activity.
-Variable SSHRMFVN (RMF version number) added to these MXG
created RMF III "PDB" SAS datasets:
ZRBSVPP, ZRBSVPW, ZRBSVPC, ZRBSVPZ, ZRBSVPR, ZRBSVPG.
-Variable SSHSMPNR (number of valid MINTIME samples) added
to these RMF III PDB datasets:
ZRBGEI, ZRBCFC, ZRBCFI, ZRBCPD, ZRBCPU,
ZRBLCP, ZRBCSR, ZRBDVT, ZRBENC, ZRBENT,
ZRBSHD, ZRBPGP, ZRBRED, ZRBRCDB, ZRBRCDS,
ZRBRCDR, ZRBOPD, ZRBSPG, ZRBSVPP, ZRBSVPW,
ZRBSVPC, ZRBSVPZ, ZRBSVPR, ZRBSVPG, ZRBUWDEV,
ZRBUWSTO, ZRBUWJES, ZRBUWHSM, ZRBUWENQ, ZRBUWMNT,
ZRBUWMSG.
-Variable SSHGOMNT (Gatherer MINTIME option) added to
these RMF III PDB files:
ZRBGEI, ZRBASI, ZRBCFC, ZRBCFI, ZRBCPD,
ZRBCPU, ZRBLCP, ZRBCSR, ZRBDVT, ZRBENC,
ZRBENT, ZRBSHD, ZRBPGP, ZRBRED, ZRBRCDB,
ZRBRCDS, ZRBRCDR, ZRBRCDT, ZRBRCDX, ZRBRCDD,
ZRBOPD, ZRBSPG, ZRBSVPP, ZRBSVPW, ZRBSVPC,
ZRBSVPZ, ZRBSVPR, ZRBSVPG, ZRBUWDEV, ZRBUWSTO,
ZRBUWJES, ZRBUWHSM, ZRBUWENQ, ZRBUWMNT, ZRBUWMSG.
Thanks to Randy Hewitt, HP Canada, Canada
Change 30.150 NDM-CDI record 'EX' caused "UNKNOWN SUBTYPE" log messages
VMACNDM and no DSECT is yet received to decode the 40 bytes of
Aug 3, 2012 hex zeros at the end of the record, but the front end has
the same fields as the NDMDT record so the 'EX' record is
output in NDMDT, pending receipt of documentation.
Thanks to Paul Volpi, UHC, USA.
Change 30.149 The KEEPALL=YES default is used in most MXG code because
VMXGSUM it is usually safer, as it protects if there is an INCODE=
Aug 3, 2012 argument that can reference a variable that is not in one
Aug 7, 2012 of the parameter lists. However, in some invocations of
VMXGSUM, it caused a VARIABLE NOT FOUND error that caused
PROC MEANS to fail, when a variable did not exist, due to
an error in the VMXGSUM logic that only rebuilt the KEEP
list after the first data step when KEEPALL=NO. Now, that
rebuild is always executed with either NO or YES.
-VMXGSUM was redated Aug 7; the above logic was revised.
Thanks to Robert Kirkland, MedMutual, USA.
Change 30.148 The %SYMEXIST() function now detects that macro variable
VMXGINIT MXGSOURC exists ("MXGNAMES" dynamic allocation was used,
Aug 1, 2012 which requires FIXORDER dataset to be created to print
the //SOURCLIB DSNAMEs messages at MXG startup), so the
FIXORDER creation can be bypassed for static allocation.
And FIXORDER is not compressed when it is created, to
suppress a cosmetic warning messages about size increase.
Change 30.147 The DB2 AUDIT reports were reformatted to match reports
ANALDB2R in OMEGAMON XE for DB2 Performance Monitor Version 4.2.
VFMT102 Since the detail and trace formats are essentially the
Jul 31, 2012 same, PMAUD03 now simply invokes PMAUD02.
AUDIT= parameter is expanded to support these options:
DDFTRAN - DDF TRANSLATION .
ESTTRST - Establish Trusted Context
CRTTRST - Create Trusted Context
KERBERO - KERBEROS/ENCRYPTED Connection
Change 30.140 revised VFMT102 to eliminate time; this
change removes the timestamp when VFMT102 is called.
The LINESIZE option is now set to 200 at the beginning
and then reset to the original value at the end of
ANALDB2R, as some of the reports can get very wide.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 30.146 Cosmetic/maybe. The %DO loop variable &I was changed to
VMXGDSNL the more "unique" &DSNL to possibly avoid conflict with
Jul 31, 2012 user code that was wrapped around VMXGDSNL in TYPEQACS.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 30.145 Variable CORRNAME and CORRNUM were incorrectly decoded
VMACDB2 for QWACATYP=4 (CICS) connections.
Jul 31, 2012
Change 30.144 -If you specified PDBOUT=PDB and asked for specific IFCIDS
READDB2 e.g. IFCIDS=ACCOUNT 105 107 269, the T102Sxxx datasets
Jul 31, 2012 were not copied to the PDBOUT= destination.
-If you used the LDB2xxx parameters to limit the variables
kept or dropped and used the syntax:
LDB2ACC=PDB//KEEP/varlist
the // did not work as documented; a space was required,
but this change now properly supports // or / / as the
null argument.
Change 30.143 -These variables, which should have been a MAX value, were
VMXGDBSS incorrectly summed:
Jul 31, 2012 ASUMDBSS - QB1TVPL QB2TVPL QB3TVPL QB4TVPL QB1TCBA
QB2TCBA QB3TCBA QB4TCBA
ASUMDBSB - QBSTVPL QBSTCBA
They now contain the MAX value of the end-of-interval
values, across each summary interval.
-In addition, because DB2 V10 writes fixed one-minute data
and so those variables are end-of-interval values, these
average value variables are now created:
ASUMDBSS - AVG1VPL AVG2VPL AVGTVPL AVGTVPL AVG1CBA
AVG2CBA AVGTCBA AVGTCBA
ASUMDBSB - AVGTVPL AVGTCBA
-Labels were created for these four variables:
ASUMDBSS - THRDFTPT THRDUSE TOTTHRD
ASUMDBSB - READS
Change 30.142 %VMXGPRNT, which "PROC PRINTs" with both the LABEL and
VMXGPRNT VARIABLE as heading, is enhanced to allow FMTLST= option
Jul 31, 2012 to specify the printed format. See ANAL113 for example.
Change 30.141 -XAM/ZVPS XAMTCP record contains 0.0.0.0 for IPADDR in all
VMACXAM observations as that is what is in the record.
Jul 31, 2012 -Values in AVERAGTM='TOTALTIME/TOTALACKED IN FAL' and the
values in TOTALTIM='TOT ROUND TRIP TIME(MS)' in XMTCPAPP
dataset are large negative values in many records.
-Both problems will be forwarded to the vendor.
-Variable NAMENODE is now kept in XMTCPAPP dataset.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 30.140 -Support for IFCID 269 and 270 populates existing T102S269
FORMATS and T102S270 datasets with QW0269xx/QW0270xx variables.
VFMT102 -Formats created for some QW0269xx/QW0270xx variables.
VMAC102 -VFMT102 revised to eliminate the time values.
Jul 31, 2012 -SQL Text long-variables have multiple blanks removed with
COMPBL function.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 30.139 The label for PIRSHELF is corrected to "SHELF", which I
VMAC110 now know is a z/OS Unix name for a directory, primarily
Jul 30, 2012 used for Web service binding files.
Thanks to Dale Slaughter, Transamerica, USA.
Change 30.138 ASG TMON/DB2 creates invalid DB2 101 records that causes
VMACDB2H MXG to print ERROR: INVALID DB2 101 RECORD messages, but
Jul 27, 2012 since the ASG records have their header segment at the
Aug 3, 2012 start of the record, whereas IBM's header segment is at
the end of the record, I've updated these error messages
to identify "ASG-CREATED" and to identify the ASG fix of
TE03737 in the error messages. These records are DELETED.
Change 30.023 detected these errors, but printed ALL of
the defective records; this change limits printing to 3.
Thanks to Marty Pruden, Purina Nestle, USA.
Change 30.137 Updates to NMON/TOPAS Monitor for AIX and LINUX.
EXNMONDF -All BBBP single-value-per-line configuration entries for
EXNMONEN the lsconf, lparstat, lsattr EL, vmstat V, and vmstat S
EXNMONLP subtypes are now output in NMONBBBP dataset. All labels
EXNMONMP now contain the subtype name. Variables from each subtype
EXNMONVM are grouped in the LABEL statement so they are adjacent
IMACNMON when printed. Variables BBBP001-BBBP0146 now exist.
VMACNMON -These "BBBP,ending" multi-value-per-line entries are
VMXGINIT output in these new datasets:
Jul 28, 2012 DDDDDD DATASET DESCRIPTION
Aug 17, 2012 NMONDF NMONBBBPENDDF BBBP,ending df m
Sep 13, 2012 NMONLP NMONBBBPENDLP BBBP,ending lparstat h
NMONMP NMONBBBPENDMP BBBP,ending mpstat d
NMONVM NMONBBBPENDVM BBBP,ending vmstat i
-The "BBBP,ending" single-value-per-line entries from the
"ending vmstat v" and "ending vmstat s" subtypes are
output in this new dataset:
DDDDDD DATASET DESCRIPTION
NMONDF NMONBBBPENDING BBBP,ending vmstat v and s
-Entries PCPUnn and SCPUnn create TEMPCPUNP and TEMPCPUNS
that are merged into existing NMONCPUD, detail CPU
metrics by CPUNR.
-Entries PCPU_ALL and SCPU_ALL_ are input and variables
retained and added to NMONINTV.
-Entries DISKRIO, DISKWIO, DISKAVGRIO, DISKAVGWIO are now
supported, and variables of the same name are added to
the NMONDISK dataset.
-The internal logic for the DISKxxxxN "suffixed" records,
written when there are more disk devices than will fit on
a single record, is restructured to use a 2-elment array
instead of a separate explicit DO group for each suffix.
These arrays support 50 suffixed records with 512 devices
per record, versus the original fixed 21 suffixes.
-ERROR: ARRAY Subscript Out Of Range - DISKSERV DISKSVCTM
DISKWAIT DISKWAITTM objects corrected, and protection for
"NANQ" text for "not a number" for BBBPENDLP04, Aug 17.
-Sep 13: BBBPENDVM05 increased to 64 bytes.
Change 30.136 These TYPE50 OSA/Express READ variables (ATTCHTYP=4 only)
VMAC50 TY50PCIR TY50PCIV TY50PCIT TY50PCIU TY50PDFR
Jul 25, 2012 are missing if SUBCHPOL is not 'READ'; IBM had changed
the value to "RD/n" without documentation. The MXG test
is now revised to detect READ if SUBCHPOL starts with RD.
Thanks to John McLaughlin, Bank of America, USA.
Change 30.135 %VGETALOC is a new macro for use with AUTOALOC=YES (that
VGETALOC VMXGALOC option creates directory names containing date)
Jul 24, 2012 that lets you select (getdaterange=,typeofdata=) a group
of "PDBs"/directories that are to be read, constructing
a "SET" statement in a DATA-step using VMXGSET.
For example:
%vgetaloc(getdaterange=01jul12 24jul12,
typeofdata=daily,
basedir=c:\mxg,
datefmt=date7.
);
data jobs;
%vmxgset(dataset=jobs);
will search the c:\mxg directory for all directories with
a name that contains a date in ddmmmyy format, selects
those with date between 01Jul12 and 24Jul12 inclusive,
and allocates them as PDB1- PDB24 as there are 24 dates
in your selection criteria. These libnames are passed to
VMXGSET which build the logical SET statement to read all
24 LIBNAMEs for the JOBS dataset you requested in VMXGSET
set pdb1.jobs pdb2.jobs pdb3.jobs ... pdb24.jobs;
(i.e., the number of libnames found by vgetaloc).
Change 30.134 Cosmetic/Spurious. ANALDB2R printed note from VMXGVERS
ANALDB2R that you were using a backlevel ANALDB2R, because that
Jul 24, 2012 statement at the bottom of ANALDB2R still had 30.02 in
both 30.03 and 30.04. While the MXG QA stream has a test
for VMXGVERS value, the line was in lower case and the QA
test expected upper case. Now, the QA test looks first
for lower case and then for version number.
Since there is a %PUT with the ANALDB2R last update date,
the currency of this ANALDB2R member was confirmed on the
SAS log, so this was only a cosmetic error. But it gets
this change text because the user had to waste his time
to report the potential problem due to my error!
Thanks to R. van der Zande, KLM, THE NETHERLANDS.
Change 30.133 Support for (optional) DB2 Netezza for Accelerator data.
IMACDBNZ IBM DB2 Analytics Accelerator IDAA product uses Netezza.
VMACDB2 -Similar to MXG support for optional CICS data segments,
Jul 23, 2012 support for optional Q8AC DB2 Accounting variables is in
a comment block in the new IMACDBNZ member that contains
the code, labels, and formats, so none of the Netezza
variables will exist in DB2ACCT, until you copy IMACDBNZ
into your "USERID.SOURCLIB tailoring library and then
remove that comment block.
-Because the volume of DB2 statistics records is small,
the Netezza Q8ST DB2 Statistics variables are created in
the DB2STATS dataset (so you can tell if the Netezza APAR
PM50434 has been installed!) as well as in DB2NETZA.
-See Change 30.229.
Thanks to Jan Tielmans, KBC, BELGIUM.
Thanks to Christa Neven, KBC, BELGIUM.
Change 30.132 Corrections to SMF 21 calculations for compression ratios
VMAC21 and circumvention for records with byte count fields that
Jul 22, 2012 unexpectedly contain zeros. When the compressed bytes in
Aug 7, 2012 SMF21MDR or SMF21MDW are zero, the compression ratio can
not be calculated. In some records, uncompressed bytes in
SMF21BR/DBR/MCR and SMF21BW/DBW/MCW are zero, which also
caused confusion as to which variable should be used.
This was circumvented by calculating the uncompressed
byte counts as:
BYTEREAD=MAX(BYTEREAD,SMF21DBR,SMF21MCR,0);
BYTEWRIT=MAX(BYTEWRIT,SMF21DBW,SMF21MCW,0);
and using those values as the numerator of SMF21CRR/CRW,
when SMF21MDR/SMF21MDW are nonzero.
A problem is opened with IBM to understand the zeroes.
-Aug 7: Variable OPEN is always blank may not be new.
Sites have DCBOFLG='00'X in ID=21 SMF records, but the
ID=14/15 DCBOFLGS field is valid. The 14/15 is written
at z/OS CLOSE, but your CA-1/RMM/TLMS tape management
product still owns the DCB, so they may be clearing the
DCB byte before the type 21 record is written (which can
be HOURS later than the CLOSE event). The type 21 write
only copies control block values with no logic/changes.
In TYPE21 DCBOFLG is only used to populate variable OPEN
with INPUT or OUTPUT, so now, the BYTEWRIT and BYTEREAD
counts are compared and OPEN is populated based on the
larger of the two values. Zero or equal will blank OPEN.
Thanks to Scott Barry, SBBWorks Inc, USA.
Thanks to Michael Creech, Lender Processing Services, USA.
Change 30.131 Two new parameters are added to enhance VMXGALOC:
VMXGALOC READONLY - if set to YES the code that deletes old
BLDSMPDB directories is suppressed.
IMACINIT CLEARALL - if set to YES, ALL previously allocated
Jul 22, 2012 LIBNAMEs are cleared. YES is the default.
Sep 16, 2012
With these changes, you can do reporting for multiple
days/weeks in a single SAS session.
Examples:
-To run reports based on today's runs:
%VMXGALOC(BASEDIR=xxx,READONLY=YES,CLEARALL=YES,
TRENDING=DAILY);
which allocates all of the current LIBNAMES that were
created with today's run, then you can run your reports.
-To go back to an earlier date, like June 11, 2012:
%VMXGALOC(BASEDIR=xxx,READONLY=YES,CLEARALL=YES,
TRENDING=DAILY,FORCEDAY=11JUN12);
which clears all of "todays" allocation and the correct
LIBNAMEs for June 11, are then allocated.
FORCEDAY will now accept a relative number of days as
TODAY()-NN where NN is the number of days to go back.
BLDSMPDB - z/OS only, if you asked to WTD or MTD and also
asked to use WEEKTAPE or MNTHTAPE, an ABEND will now be
generated since this structure is not supported by the
sequential engine on z/OS. Also, if you were running WTD,
BLDSMPDB incorrectly tried to start the week one day too
early; that has been corrected. No data was lost but the
data may not have been in the week where you expected to
find it for the first day of the week.
IMACINIT - applies only if you are running BLDSMPDB with
AUTOALOC=YES. A new example VMXGALOC invocation is in
comments in the IMACINIT member. Copy IMACINIT into your
"USERID.SOURCLIB" tailoring library, REMOVE the comments
around that VMXGALOC invocation, EDIT it to match your
BLDSMPDB arguments, and then, since IMACINIT is always
invoked at MXG startup, all of these "PDB" LIBNAMEs
PDB MON TUE WED THU FRI SAT SUN SPIN
WEEK1-WEEK5 MONTH TREND SPIN CICSTRAN DB2ACCT
will always be allocated.
-Sep 16: Comments updated, no code was changed.
Thanks to Mynard Holloway, Spectrum Health, USA.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 30.130 -EXITCICS Version 3 correctly decompresses DB2 compressed
EXITCICS SMF records (which version 1 didn't always do), continues
Jul 19, 2012 to also decompress CICS SMF records, and this version no
Aug 4, 2012 longer needs the IBM CICS macro library for the assembly.
-EXITCICS is the z/OS ASM source code and ASM/LKED steps
that create the CICSIFUE "Infile Exit" load module that
decompresses DB2 V10 and/or CICS/TS 3.2+ compressed SMF
records. It has never failed for CICS records, and while
many DB2 sites have used it successfully, a small number
of DB2 sites had errors reading compressed records; those
errors are corrected in this updated EXITCICS member. The
complete instructions for creating and installing the
exit are in the comments in the EXITCICS member.
-Version 2 briefly existed and it corrected the DB2 errors
but it still needed the DFHSMFDS macro.
Thanks to Richard Anderson, SAS z/OS Technical Support CARY, USA.
Change 30.129 Support for new zNEXT CPU MF counters EXTEND157-EXTND207
ASUM113 and revised calculations for all of the formulas.
VMAC113 There were 48 EXTEND counters initially and now there are
Jul 20, 2012 80 EXTEND counters, thru EXTND207.
Aug 31, 2012 -Calculations updated from JP Burg's August 29 2012 text.
Sep 17, 2012 -Corrections made Sep 17:
Oct 9, 2012 1. Line 271 in VMAC113 was missing the 0.65.
2. Labels in VMAC113 for EXTND159-162 are now L4 vs L$.
3. The 151- and 148= typos in both ASUM113 and VMAC113
for the MEMP calculation are corrected.
4. The LPBUSY in ASUM113 was changed to LPARBUSY; LPBUSY
is the variable in VMAC113 but it's LPARBUSY in
ASUM113 as documented in Change 28.226.
Oct 9 update:
-Labels for the EXTNDnnn counters were revised based on
SA23-2261-02. Note that there are three sets of labels
for the z/10, z/196 and z/114, and the zEC12, but SAS can
only use the last label for a variable, the active labels
are now for the zEC12, but the other labels can be seen
in the VMAC113 LABEL statement.
-z/EC12 only defines counters thru counter 179, but MXG
was misled to create counters up to 207, but since they
will likely exist sometime, variables thru EXTND207 are
created by this change, IN 30.05 AND REQUIRED FOR z/EC12
processors - an "ARRAY SUBSCRIPT OUT OF RANGE" error will
occur without this change.
Change 30.128 -DB2 V10 changed the QPACFLGS bit map; variables QPACDBRM
VMACDB2 and QPACPACK no longer exist (so they are always blank in
Jul 16, 2012 QWHSRELN GE 10 observations), and new flag variable, only
in Version 10 and later are created and populated:
Variable Label from QPACFLGS
QPACROLL='THIS IS A*ROLLUP*QPAC?' 01X bit
QPACRUSM='THIS IS A*SUMMARY*ROLLUP*QPAC?' 02X bit
-Documented in DB2 Macro Library member DSNDQWAS:
If QPACROLL is on, the Package Record contains ONLY
the QPKG and QPAC segments, but the QXPK, QBAX and QTXA
segments do not exist, so a ROLLUP record will always
have missing values for these SQL/DML QXPK variables
QPSELECT QPINSRT QPUPDTE QPDELET QPDESC QPPREP
QPOPEN QPCLOSE QPFETCH QPLOCK QPCALL
and QBAC and QTXA fields will also be missing values in
the DB2ACCTP dataset.
-Documented in DB2 Macro Library member DSNDQPAC:
If QPACRUSM = ON, the following fields are invalid:
QPACCRNT QPACINSP QPACPAC QPACPKNM QPACCOLN QPACPKID
QPACCONT QPACSCB QPACSCE QPACBJST QPACEJST QPACASCH
QPACAANM QPACAAFG
IF QPACRUSM = OFF, the following fields are invalid:
QPACCRNT QPACPAC QPACSCB QPACSCE QPACBJST QPACEJST
IF QPACRUSM = OFF, the following fields are the last
non-zero value for a thread rolling data into this QPAC
QPACASCH QPACAANM QPACAAFG
Thanks to Jane Stock, USPS, USA.
Change 30.127 Variable BLKSIZE was missing when SMF21LB bit was not on.
VMAC21
Jul 13, 2012
Change 30.126 Selection of data by a range of explicit DATE values did
ANALGRID not work, but all of the keywords for date selection were
Jul 12, 2012 correct.
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 30.125 Variable UMLRECL in dataset DCOLMIGS, LRECL of the
VMACDCOL migrated dataset, is now INPUT and kept. It was
Jul 10, 2012 added by z/OS 1.12 but overlooked.
Thanks to Brian Harvey, HCL America, USA.
====== Changes thru 30.124 were in MXG 30.04 dated Jul 4, 2012=========
Change 30.124 z/VM variable VMDFLREO should not have been divided by
VMACVMXA DELTATM (which is normally 60 seconds, so the values in
Jul 3, 2012 VMDFLREO were 1/60th, or 1/DELTATM too small).
Thanks to Sam Bass, McLane Company, USA.
Change 30.123 -Change 28.226 noted that TYPE113 variable SM113CPT is
VMAC113 only populated if SM113VN2 GE 2 (i.e., z196 or later) but
VMAC7072 that change did not note that as a result, SMF70CIN is
Jul 3, 2012 also blank when SM113VN2 is not 2. However, if both 113
and RMF 70 records are processed together, (or as long as
PDB.TYPE70PR exists when ASUM113 is executed), then the
merge of the 70 data with the 113 data will populate both
SMF70CIN and SM113VN2.
-In investigating the above, TYPE113 variable DELTATM was
found to sometimes be too small; MXG must calculate the
interval duration from adjacent records because IBM does
not create it, and the incorrect use of FLOOR(DIF(x)) was
found to be the culprit; DELTATM is now correct but is no
longer "made pretty" with an integer value. The small
value for DELTATM caused both the count in LPARCPUS to be
grossly wrong in some cases (12 vs 2!) and LPBUSY could
also be incorrect.
-But, "valid" small values of DELTATM have been observed
in some as-yet-not-fully-understood cases where SMF 113
records are written extremely close in time. While the
deaccumulated counters look to be correct in these cases,
as they are not full intervals, I recommend that all of
your observations in PDB.ASUM113 that have DELTATM less
than the expected interval duration (e.g., DELTATM LT 890
if the expected data is 15 minute interval) be deleted
before you analyze the HIS data. USE TYPS113E vs TYPS113.
-VMAC7072: Cosmetic. Change 30.106 typo in the LABEL for
ZIPSHARE caused UNINIT VARIABLE ZPTSHARE that is fixed.
Thanks to Roger Lowe, Northern Territory Government, AUSTRALIA
====== Changes thru 30.122 were in MXG 30.04 dated Jul 4, 2012=========
Change 30.122 NRECORD=MAX generated an error; the code was looking for
VMXGGETM a null value but now accepts MAX and either null or MAX
Jul 2, 2012 will set the counter to the value of MXGOBS.
Change 30.121 Enhancements/Additions to $MG119xx FORMATS for TYPE119.
FORMATS New formats $MG119CI $MG119CO $MG119MA $MG119MO $MG119TY
VMAC119 are created and assigned to appropriate variables. Some
Jun 29, 2012 old formats $MG119AM $MG119CC $MG119PL $MG119ST $MG119RF
were defined, but not assigned to all variables. Formats
$MG119CC and $MG119PL are identical, but as they were
assigned separately to different variables, they have to
be kept in FORMATS. $MG119FA and $MG119RF were also
identical, but neither was assigned so $MG119FA has been
removed from FORMATS.
Thanks to Martyn Jones, Deutsch Bank, GERMANY.
Change 30.120 Support for RACF Database Record 02G1 creates RACF02G1
EXRAC2G1 dataset with Custom User Data.
IMACRACF
VMACRACF
VMXGINIT
Jun 28, 2012
Thanks to Steve Carlson, Univ of California Office of President, USA.
Change 30.119 Support for APAR OA39629 adds two variables to SMF 30
BUILD005 subtypes 2,3,4,5 (kept in TYPE30_V/TYPE30_4/TYE30_5 and
BUIL3005 in PDB.SMFINTRV, PDB.STEPS and PDB.JOBS datasets):
VMAC30 HICPUPCT='HIGH*TASK*CPU*PECENT'
Jun 28, 2012 -For interval records, the largest percentage of CPU
time used by any task in this address space, rounded
to the nearest integer. A value of 25 indicates that
the most CPU intensive task in this address space was
dispatched on a physical processor for 25% of the SMF
interval time.
-For step-end, the value is the largest reported
interval if the step crosses an interval boundary.
-For job-end, the value is the largest reported
interval value for any step.
-The percentage value in the record is calculates as:
TCB time * 100/ interval time.
HICPUPGM='HIGH*TASK*PROGRAM*NAME'
-Program name running in the task that used the largest
percentage of CPU time in this address space. This
field corresponds to HICPUPCT.
-A value of blanks indicates that no task reported any
CPU time in the address space, or that the CPU time
could not be obtained.
-A value of '????????' indicates that the program name
could not be obtained for the task that reported the
highest percentage of CPU time.
-Additional information from IBM in the APAR text:
-These new fields are intended to identify the
largest consuming task when multiple tasks are
active in an address space. One may compute the
address space task percentage from existing fields
in the SMF 30 record but one has no insight
currently into usage within the address space. If
the total CPU percentage is on the order of 50%, the
task may struggle to be served well particularly if
it has a mediocre dispatching priority or the system
is running in horizontal mode (HiperDispatch not
enabled). If the address space percentage is 50% and
the largest task percentage is 15%, there is little
concern that the task will be unable to progress as
long as it is properly classified in WLM.
-IBM will provide guidance to our customers that
establishing a list of candidates to monitor and
determining any increase in percent dispatched for
the evolving list over time (perhaps every six to
twelve months) should be part of the capacity
planning process. Our current recommendation is to
take note of address spaces with programs that are
dispatched at least 25% of an interval for intervals
of at least 5 minutes.
Change 30.118 Unused Change Number.
Change 30.117 Documentation of MXG internal syntax. The example code
UDDDDDD in VMACXXXX shows this syntax for the dataset label
UTILVREF (LABEL='dddddd: description of dataset'
VMACXXXX but it was never documented that the "dddddd" token in
Jun 25, 2012 the label can NOT contain a blank (a blank causes the
UDDDDDD program to fail building $MGDDDDD and $MGDDDSN
formats). A comment was added in the VMACXXXX example,
test for a blank was added to both UDDDDDD and UTILVREF,
but as these programs are ONLY used internally during the
MXG QA process to create documentation, these errors
won't be observed by MXG users.
Change 30.116 Support for Voltage SecureData for z/OS z/Protect SMF.
EXZPR01 These new datasets are created:
EXZPR02
EXZPR03 DDDDDD MXG MXG
EXZPR04 DATASET DATASET DATASET
EXZPR05 SUFFIX NAME LABEL
EXZPR16
FORMATS ZPR01 ZPRO01 ZPR01: Z/PROTECT DISPATCHER STARTUP
IMACZPRO ZPR02 ZPRO02 ZPR03: Z/PROTECT SHUTDOWN EVENT
TYPEZPRO ZPR03 ZPRO03 ZPR03: Z/PROTECT OPERATOR COMMAND EVENT
TYPSZPRO ZPR04 ZPRO04 ZPR04: Z/PROTECT ABEND EVENT
VMACZPRO ZPR05 ZPRO05 ZPR05: Z/PROTECT RAW OPERATION DATA
VMXGINIT ZPR16 ZPRO16 ZPR16: Z/PROTECT INTERVAL AGGREGATIONS
Jun 30, 2012 In dataset ZPRO16, variable ZPRTTYPE identifies which of
the seven possible aggregates is reported:
1='1:OVERALL TOTALS'
2='2:TOTALS BY USER'
3='3:TOTALS BY CRYPTID'
4='4:TOTALS BY JOBNAME'
5='5:TOTALS BY USERID AND CRYPTID'
6='6:TOTALS BY JOBNAME AND CRYPTID'
7='7:TOTALS BY USERID AND JOBNAME'
Change 30.115 -VMXGRMFI - The TRENDING section of VMXGRMFI now uses
ADOCTRND VGETWKLD to ensure that all workloads, old and new, are
GRAFTRND preserved. This allows you to add new workloads but then
GRAFWRKX remove or rename old workloads, while preserving your
MNTHRMFI historical data for the old workloads that may no longer
TRNDRMFI exist in RMFINTRV, but will still exist in TRNDRMFI.
UTILBLDP -VGETWKLD - Now will get the workload names, labels and
UTILCPLG periods for use in VMXGRMFI from multiple sources. New
VGETWKLD parameter datasets lets you specify as many datasets for
VMXGALOC input as may be needed, but the purpose is to allow the
VMXGRMFI specification of DATASETS=WORK.RMFINTRV TREND.TRNDRMFI so
Jun 21, 2012 that if you have added or deleted or renamed workloads,
Jun 26, 2012 the old ones in TREND will be carried forward, rather
Jul 2, 2012 than being dropped. New design is also used in GRAFWRKX,
but this is intended for internal MXG usage.
-ADOCTRND - New documentation section 4 showing how to
backload past RMFINTRV data into TRNDRMFI.
-GRAFTRND now is only an invocation of GRAFWRKX with
appropriate arguments.
-GRAFWRKX - sort order for TRNDRMFI was incompatible with
the SORT order for GRAFWRKX so a PROC SORT was added.
-MNTHRMFI now is only an invocation of VMXGRMFI with
appropriate arguments.
-TRNDRMFI now is only an invocation of VMXGRMFI with
appropriate arguments.
-TRNDRMFN now is only an invocation of VMXGRMFI with
appropriate arguments.
-UTILBLDP - COSMETIC ONLY - realign code to make it easier
to understand
-UTILCPLG - did not correctly parse out the LOG/LIST names
and if not preceded by a RUN; statement it could execute
at unexpected times because of timing issues in the macro
language.
If the directory pointed to did not contain a \ or a /
(os dependent) it was not added and could result in an
error during the copy process.
-VMXGALOC - If you specified FIRSTRUN=YES and also were
trying to run with WTD processing, the allocation of the
WEEK libname for the current week did not happen.
Thanks to Mynard Holloway, Spectrum Health
Change 30.114 SAS User SMF Records with SASPROC='SQL (63)', 'APPEND ('
VMACSASU values were unexpected (and unknown to SAS Support) and
Jun 19, 2011 caused SASPROD='UNKNOWN'. Now, the paren is detected and
only the SAS Procedure text name is stored in SASPROC, so
the SASPROD will be "known".
Thanks to Erling Andersen, SMT, DENMARK.
Change 30.113 -DB2 V10 restructured the DB2STATS (100-1) QIST segment,
VMACDB2 but this was overlooked (perhaps because there are no
Jun 19, 2011 vertical change bars in IBM DB2 DSECTS!) causing invalid
values for QIST variables. The restructure removed these
QIST variables so they will have missing value in V10:
QISTWFMU QISTWFCU QISTWFCK QISTWFMX QISTWF04 QISTW04K
QISTWF32 QISTW32T
and V10 created these new variables in PDB.DB2STATS:
QISTIMAC QISTIMSC QISTIMAH QISTIMSH QISTSIAC QISTSISC
QISTSIAH QISTSISH QISTWFRHIG QISTWFRCUR
-In validating this change, these QIST and QISE variables
should not have been deaccumulated:
QISTWCTO QISTW32K QISTW4K
QISEDLRU QISESQCA QISESQKB QISESQKA QISESQCB QISEKSPG
QISEKSPA
The IBM DB2 DSECTs don't always identify which fields are
accumulated; only actual data driven thru the DIF() logic
will prove or disprove field contents (a negative value
or 4x10**9 value prove the field is NOT accumulated), so
data with non-zero values are required to validate MXG.
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Valerie J. Chisholm, Aetna, USA.
Change 30.112 -Thruput Manager datasets TPM16S and TPM16J, variables
VMACTPMX TPMAJCT and TPMSCT were too large by 100; they were INPUT
Jun 19, 2012 as PIB4. but are now input as PIB4.2.
-In addition, TPMAJCT in TYPE16S is an accumulated value,
but the value in TPMSCT will be the step value (with PTF
TMT6218) so there is no real need to deaccumulatate
TPMAJCT to get the individual step CPU time in TPMSCT.
However, now realizing TPMAJCT is accumulated, if you use
TYPSTPMX or _STPM16S to sort dataset TPM16S, this change
will deaccumulate TPMAJCT, and the TPM16S label will
indicate that its value is deaccumulated.
Change 30.111 RACF TYPE801 debugging PUT 'DEBUG 1' was not disabled.
VMAC80A
Jun 19, 2012
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Thanks to Jens Mohring, Huk-Coburg, GERMANY.
Change 30.110 Only Windows PERFMON data that was comma-delimited was
VMACWPMO correctly decoded; a hard-coded ',' is now &DLMWPMO so
Jun 17, 2012 that your delimiter is always used in parsing text.
Thanks to Florent Boulesteix Inovans, Ca-Caagis, FRANCE.
Change 30.109 Support for Mainview CICS v64 CICS/TS 4.2 (COMPATIBLE).
EXMVCICP -New variables added to dataset CMRDETL dataset:
IMACMVCI T6ERSFLG1 T6ERSFLG2 T6ERSFNCNT T6E67ID T6E67XCT
VMACMVCI T6EECSEC T6EPHNWD T6EPHAPL T6EPHATT T6EPHTSN T6EPHTID
VMXGINIT T6EPHCNT T6EADPID T6EADPD1 T6EADPD2 T6EADPD3
Jun 16, 2012 -New dataset decoded for File Segment for PROGRAM:
dddddd dataset description
MVCICP CMRFPROG MAINVIEW CICS FILE PROGRAM
Change 30.108 Reading RMM EDGS records on ASCII caused INPUT STATEMENT
VMACEDGS EXCEEDED RECORD LENGTH error if MORTYPE='FFFFFFFFFF'X.
Jun 15, 2012 The $EBCDIC8 input set the value '000000000000'X, so now
a separate input with $CHAR8 is used for those tests.
Thanks to Rick Raiton, US Airways, USA.
Change 30.107 Support for ASG/Landmark TMON DB2 PTFs TE03699/TE03718
EXTMD2XB which add segments to the PK, TB, and TG records creating
EXTMD2XG these three new datasets:
EXTMD2XK DDDDDD Dataset Description
IMACTMD2 TMD2XK TMD2PKS Thread Package Accounting Segments
VMACTMD2 TMD2XB TMD2TBS Thread BP Accounting Segments
VMXGINIT TMD2XG TMD2TGS Thread GBP Accounting Segments
Jun 10, 2012
Change 30.106 zIIP SHARE WEIGHTS are now calculated for each LPAR in
VMAC7072 all four datasets created by ASUM70PR.
VMXG70PR -For the ASUM70PR and ASUMCEC datasets, with different
Jun 9, 2012 variable names for each LPAR, the variable names are
LPnZHARC ='LPAR n*ZIP SHARE*CURRENT*WEIGHT*PCT'
LPnZHARE ='LPAR n*ZIP SHARE*INITIAL*WEIGHT*PCT'
-For the ASUM70LP and ASUMCELP datasets, with only one
set of variables, the names are:
ZIPSHARE='ZIP*INITIAL*SHARE*WEIGHT'
ZIPSHARC='ZIP*CURRENT*SHARE*WEIGHT'
Since SMF70ACS is currently always zero for zIIPs, the
two variables have the same value, but logic is in place
that will use SMF70ACS if it is non-zero.
Thanks to Rodger Foreman, TransUnion Corp, USA.
Thanks to Lindholm Orjan, VOLVO, SWEDEN.
Change 30.105 Support for RMF III ASIG3 segments with '13'x and '14'x
ASMRMFV segment level that is undocumented and added 376 bytes.
VMACRMFV This caused MXG variables for Service Class, Report
Jun 8, 2012 Class, Workload, and Resource Group data extensions to be
invalid.
-ASMRMFV space message RMFV030I could have invalid values
for HARBA, HURBA, and AVAIL fields when the input RMF
Monitor III VSAM data set was non-EF and exceeded 2 GB in
size. Subsequent message RMFV031I would have invalid
percentages for USED and AVAIL fields possibly exceeding
100 percent. NOTE: Assembly and link-edit of ASMRMFV is
optional for MXG users with only EF RMF III VSAM data
sets or only non-EF data sets not exceeding 2 GB in size.
Otherwise, reinstall of ASMRMFV is strongly recommended
to resolve this issue. o Warren Cravey, Fidelity
Thanks to Warren Cravey, Fidelity, USA.
Change 30.104 -Variable SMF70CIN in TYPE70EN was incorrectly set to the
VMAC7072 value 'ZIP', but that is now SMF70CIN='IIP', consistent
Jun 8, 2012 with SMF70CIN in other MXG datasets.
-For zIIP engines, in dataset PDB.TYPE70PR, the variable
NEWWAIT contains the CPUWAITM for SMF70CIN='IIP'.
-In PDB.TYPE70EN, variable CPUWAITM is valid for CP and
IIP engine's wait time.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 30.103 -Support for z/OS 1.13-added (COMPAT) RAS (Reliability,
VMAC1415 Availability, Serviceability) segment adds flag variables
Jun 5, 2012 that are $HEX2. formatted. Because I don't expect these
new variables to be of great import, separate bit-level
variables aren't created, but these are the values:
SMF14RFG0
'1.......'B='DCBE reject flags present'
'.1......'B='PARTREL flags present'
SMF14RASDATA0
'1.......'B='DCBE invalidated because EXCP and no
foundation extension present.
'.1......'B='DCBE invalidated because DSORG is not PS,
PO OR DA.
'..1.....'B='DCBE invalidated because storage is not
addressable.
'...1....'B='DCBE invalidated because DCBE storage is
not in key of caller.
'....1...'B='DCBE invalidated because the DCBEID is not
'DCBE'.
'.....1..'B='DCBE invalidated because it is not at least
the minimum length required (56 bytes)
'......1.'B='DCBEHIARC flags set but DCBDCBE is zeros.
SMF14RASDATA1
'1.......'0=Partial release not called by CLOSE because
VIO data set
'.1......'1=Partial release not called by CLOSE because
task is abending.
'..1.....'2=Partial release not called by CLOSE because
not opened for output
'...1....'3=Partial release not called by CLOSE because
EXCP DCB but no direct access device section
present.
'....1...'4=Partial release not called by CLOSE because
even though opened for output, last I/O was
not output
'.....1..'5=Partial release had an I/O error
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 30.102 These DB2xxxxx variables were not MGBYTES formatted, and
VMACDB2 had incorrect labels.
Jun 5, 2012 NDB2STOR ALLOWSTR THRDUSE QWOSDRSU QWOSDVSU
Thanks to Robert M. Dahlia, SunTrust, USA.
Change 30.101 The TITLE7 statement was repeated, so the title line that
ANALDDCN should have reported duplicate bytes DUPBYTES was not
Jun 4, 2012 printed.
Thanks to Tom White, Dell, USA.
Change 30.100 UTILEXCL in MXG 30.03 was defective and the IMACEXCL that
UTILEXCL it created did not input JMVTIMCN which caused errors,
Jun 4, 2012 usually the "NON-FIRST-TRANSACTION RECORD NUMBER" error.
Thanks to Victoria Lepak, Aetna, USA.
Change 30.099 Support for CO:Z SMF 119 Subtypes 192 and 193 records.
EXT119X2 Four new datasets are created:
EXT119X3 DDDDDD DATASET DESCRIPTION
EXT119M2 T119X2 TY119192 CO:Z SFTP SERVER LOG
EXT119M3 T119M2 TY119M92 CO:Z SFTP SERVER LOG MESSAGES
IMAC119 T119X3 TY119193 CO:Z SFTP CLIENT LOG
VMAC119 T119M3 TY119M93 CO:Z SFTP CLIENT LOG MESSAGES
VMXGINIT Jun 18: RACFUSER added to KEEP for T119M2/T119M3 as it is
Jun 3, 2012 in the BY list for both datasets.
Jun 18, 2012
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 30.098 New fields added to DCOLLECT BKUP records (COMPATIBLY) by
VMACDCOL z/OS 1.11 are now created in DCOLBKUP dataset:
Jun 2, 2012 UBLFS ='LARGE*FORMAT*SEQ*DATASET?'
UBNEWNM='NEWNAME*SPECIFIED?'
UBF_RETAIN_SPCD='RETAIN*SPECIFIED?'
UBF_NEVER_EXP='NEVER*EXPIRE?'
UB_RETAINDAYS='SPECIFIED*RETAINDAYS*VALUE'
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 30.097 Velocity Software XAMCPUTO dataset contains totals, but
VMACXAM did not contain a count of CPUS. Variable NRCPUS is now
Jun 2, 2012 created, and forced to be an integer using
NRCPUS=FLOOR(0.1+(DURATM/(STOPTIME-STARTIME)));
Thanks to Andrew Petersen, CSC, AUSTRALIA.
====== Changes thru 30.096 were in MXG 30.03 dated May 30, 2012=========
Change 30.096 Support for ZEN OSA MONITOR PTF ZOM1322 that INCOMPATIBLY
VMACZOSA increased the length of ZOSALINK from 13 to 17 bytes.
May 29, 2012
Jun 1, 2012
Change 30.095 RMF III Enhancements.
ASMRMFV -A new table called MXG is now created which contains
VMACRMFV ASMRMFV assembly and execution data. The MXG table is
EXZRBASM created internally by ASMRMFV and is not a true RMF
VMXGINIT Monitor III table. The MXG table contains 49 variables
May 29, 2012 that describe both the assembly and the execution
environment of ASMRMFV. This data can be used either as
an audit trail or as a problem diagnostic aid. VMACRMFV
can also use this data for conditional logic decisions.
Only 1 MXG table observation will appear in the new
ZRBASM file for each run of ASMRMFV, so there is minimal
overhead.
-Two new extensions are added by ASMRMFV to the ASI
(address space) and ENC (enclave) table records with
WORKLOAD and RESOURCE GROUP information. These are in
addition to existing extensions for SERVICE CLASS and
REPORT CLASS data. VMACRMFV adds a total of 14
variables for this new information to the ZRBASI and
ZRBENC files.
-New ZRBASI variables are: ASIWNM ASIWDE ASIGNM ASIGDE
ASIGMN ASIGMX ASIGLT.
-New ZRBENC variables are: ENCWNM ENCWDE ENCGNM ENCGDE
ENCGMN ENCGMX ENCGLT.
-All ASMRMFV added data extensions now only include the
part of the information that is actually documented. In
some cases internal control block values specified a much
greater length and caused problems in VMACRMFV.
-ASMRMFV message RMFV000I now contains information on the
environment at the time of assembly.
-ASMRMFV message RMFV001I now contains information on the
environment at the time of execution.
-Corrected ASMRMFV comments to note that the optional
RMFFILT output data set can NOT be used as input to a MXG
PDB build. RMFFILT does not contain any DSH or SSH
records that would be needed.
-ASI table data extensions for very old releases of RMF
Monitor III V4.3.0 or below (pre 1994) will no longer be
attempted by ASMRMFV. ASI table data will still be
output but without the extensions in this case. The
header structure of these ancient records is not
compatible with the data extension process.
-Corrected a problem where SERVICE CLASS or REPORT CLASS
extensions for ASI or ENC table were incorrect when the
respective data indexes were zero. These values should
have been missing, but instead were populated with data
from the prior ASI entry. This was a limited condition.
-Code path length reductions were made to two subroutines
for ASI and ENC table processing in ASMRMFV by using
existing FINDxx subroutines.
-The ASIENTMX and ASIENTLN fields are now corrected in
ASMRMFV to show the true count and length in an ASI table
record.
-The ENCG3TLN field is now corrected in ASMRMFV to show
the true total length in an ENC table record.
-ASMRMFV now validates that input data sets are VSAM RRDS
with warning message RMFV017W issued if a data set is
non-VSAM or is VSAM but a non-RRDS type. In this case no
abend occurs, but final return code CC=4 is set, and
processing of the next input data set continues.
-ASMRMFV now issues warning message RMFV017W if an input
VSAM data set has a non-standard CISIZE or RECSIZE. IBM
intends that RMF Monitor III data sets be allocated with
the ERBVSDEF Clist which specifies the correct CISIZE and
RECSIZE values of 32768 and 32752 respectively. Use of
other values can result in a file that is unusable by RMF
Monitor III.
-A S0C4 Abend in ASMRMFV CPU table processing is corrected
that occurred when no other LPAR data was present. This
was most likely when a z/OS guest was running under z/VM.
-VMACRMFV did not correctly input the OSDKASID and
OSDPLIST fields from Summary Information section in the
OPD table.
-The following RMF Monitor III table records are now
blocked for efficiency in ASMRMFV output: CPD, CSR, ENT,
OPD, and SPG. This improvement results in up to 90%
reduction or more in output record count. However, this
means there are multiple data segments in each record
which can affect existing logic in any user modified
EXZRBxxx exit routines for the respective table.
VMACRMFV is upgraded to handle the additional data
entries in the blocked tables.
-Tutorial: Your tailoring logic in EXdddddd dataset exits
to control output of an MXG dataset needs this structure
to always be safe:
IF something THEN DO;
OUTPUT _Wdddddd;
END;
and can't use a DELETE, RETURN, nor "IF something;" logic
because when "something" is true, they stop the read of
this current record, skipping any un-read segments from
being tested for "something".
-Validity checking for the CPD, CSR, DVT, ENT, OPD, and
SPG tables in ASMRMFV for excessive or invalid header and
entry length is improved. When anomalies are detected
the entire table will be skipped. This should be a very
rare event.
-Prologue documentation in ASMRMFV source code has been
updated as needed including more discussion on skipped
records and entry blocking.
-NOTE: An assembly and link of each new ASMRMFV member is
ALWAYS STRONGLY recommended, keeping ASMRMFV and VMACRMFV
in sync, to create AND populate the new variables, enable
table record entry blocking, and implement other related
fixes/enhancements in this change.
-HOWEVER: Using the new VMACRMFV to process RMFBSAM data
created with the prior ASMRMFV program should not fail
unless invalid records are found, but all new variables
will have missing values.
Change 30.094 -SMF 113 counters were stored in the MXG DEFAULT=5 length,
ASUM113 but the four sets of counters can contain very large data
VMAC113 values, so variables BASICnn,PROBSTnn,CRYPTOnn,EXTNDnnne
May 28, 2012 are now stored in LENGTH 8, and the PROC MEANs in both
VMAC113 and ASUM113 now specify /INHERIT so the longer
length attribute will be preserved; comparison of short
and long length showed the longer length was needed as
there were some (smaller) values with shorter length.
-Variable SM113CST is removed from BY macro _BTY113 and
that macro matches the final sort order of PDB.TYPE113.
SM113CST was needed in the BY list for the intermediate
sorts but did not exist in the final PDB.TYPE113.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 30.093 If production jobs create reports that are sent to a data
ANALDB2R set or a report archive facility, but there was no data
May 28, 2012 matching your selections, the result is an empty file or
a nonexistent report. While MXG's SASLOG tells you that
happened (obscurely?), now, a message that no report was
produced is written to the output destination for these
reports: PMACC01 PMACC02 PMSTA02 PMAUD01 PMAUD02 PMAUD03
Change 30.092 If you have IMACEXCL in your "USERID.SOURCLIB", these new
UTILEXCL CICSTRAN duration variables were 16 times too large:
May 24, 2012 ISIOWTTM WMQGETTM MAXTTDTM T8CPUTTM MLXSSCTM JVMTHDTM
WMQASRTM RMITOTTM RMIOTHTM RMIDB2TM RMIDBCTM RMIEXDTM
RMIMQMTM RMICPSTM RMITCPTM
because UTILEXCL had generated incorrect code to convert.
Durations input as &PIB.4.6 use X=16*X;
Durations input as &PIB.8.6 use X=X/4096;
The incorrect syntax was X=16*X/4096; for 8.6.
Thanks to Victoria Lepak, Aetna, USA.
Change 30.091 Typoed character P in column one caused INPUT EXCEEDED in
VMACSVIE SVSUBTYP=27 records that had segment 21 data.
May 24, 2012
Jun 5, 2012
Thanks to Sam Knutson, GEICO, USA.
Change 30.090 Variable FERTREMI incorrectly contained the Local instead
VMACFERT of the Remote IP Address.
May 22, 2012
Thanks to Terry Back, Experian, USA.
Thanks to Jerome Vitner, Experian, USA.
Change 30.089 Support for DB2 V10 APAR PM24723 for IFCID=225 SMF ID=100
VMACDB2 Subtype=4, which COMPATIBLY adds new storage metrics that
May 22, 2012 are output in both DB2ST225 and DB2STATS datasets.
Thanks to Kerry J. Sommers, John Deere, USA.
Thanks to Ralph Baechle, John Deere, USA.
Change 30.088 MQMLOG datetime variables were on GMT clock; there is no
VMAC115 offset field, but these maximum values must be less than
May 17, 2012 the SMFTIME, so the variable GMT115TM is calculated from
SMFTIME-QJSTIOMAXIOT1 and used to adjust datetimestamps
to the local time zone.
Thanks to Joe Faska, Depository Trust, USA.
Change 30.087 Variable TOTDEVHR in TYPE74CA had non-missing values that
VMAC74 were wrong when CACHIOTT was zero or missing; an MXG typo
May 14, 2012 set non-existent variable name TOTDEVNR to missing when
variable TOTDEVHR should have been set to missing value.
Thanks to Sharon Moir, JP Morgan Chase Bank, USA.
Change 30.086 Change 28.276 added BEGTIME= ENDTIME= parameters to
ANALHSM ANALHSM but, in the first step, the BEGTIME and ENDTIME
May 12, 2012 MACRO variables were set to the beginning of the data
and the end of the data so that those values could be
placed in the title lines of the reports. So all
subsequent use of those macro variables and checks for
their existence would be based on the timespan of the
actual data. To make matters worse, in REPORT 5 and
REPORT 6, the BEGTIME and ENDTIME datetime values were
being compared to TIME values for FSRTIMR and FSRTIME
so no data could ever be selected for those reports.
With this change the date/times for the report headings
are changed to BEGREPT and ENDREPT avoiding the
conflict with BEGTIME and ENDTIME selection and in
reports 5 and 6 datetime values are constructed as
they are in ASUMHSM so that the correct data can be
selected for the reports. There are also now MXGNOTEs
that will tell you when you have started processing the
data for each report and another if no data was found
for the report.
Thanks to Paul Volpi, UHC, USA.
Change 30.085 Cosmetic. UNMODSMF time is now aligned under SMFTIME to
VMACSMF make comparisons easier, and the _N_ value of LAST RECORD
May 9, 2012 IN GROUP message is no longer a missing value.
Change 30.084 ODS operator RS=NONE added to prevent wrapping of HTML
VMXGODSO statements (specific to z/OS but causes no problem for
May 9, 2012 ASCII ODS operations; only set for HTML output).
Change 30.083 -MXG 30.02, z/OS Only, SAS 9.1.3 SP4 Only:
VMAC71 ERROR: DOMAIN ERROR.
May 9, 2012 ERROR: TERMINATION DUE TO FLOATING POINT EXCEPTION
occurred in a PROC MEANS of DATA=TYPE71 in JCLTEST9.
This error did NOT occur with SAS 9.3 nor on ASCII SAS.
The Floating Point Exception resulted from MXG INPUTing
SMF71TLS field as RB4 when the field is binary (PIB4),
and a value of '00000AD1'x read as RB4 produced a value
that was a negative with E75 exponent, but it was only
when that value was subsequently read by PROC MEANS that
the error surfaced.
Thanks to John Loch, HP, USA.
Change 30.082 Type 60 record with no VVR segment (for a VVDS) caused an
VMAC60 INPUT EXCEEDED RECORD LENGTH error on 3 days, and then
May 7, 2012 didn't. MXG now tests to verify a VVR segment exists (and
VVRLEN will be a missing value in these observations) but
why these records were created is unknown.
Thanks to Peter Krijger, ANZ National, NEW ZEALAND.
Change 30.081 Enhancement adds rundays=mon tue wed ... to list the days
BLDSMPDB of the week when BLDSMPDB is to actually be executed; on
May 7, 2012 any other day, the program will terminate with MXGNOTEs.
The default, daily, is unchanged.
Thanks to Mynard Holloway, Spectrum Health, USA.
Change 30.080 Actual GDPS records exposed wrong guesses I made when I
VMAC105 wrote code from the documentation: GDPS datetimestamps in
May 4, 2012 SM105STM/DTM/SST/SCT are reversed-SMFSTAMP8 with DATE
Jun 4, 2012 first, so simple SMFSTAMP8 format can't be used; DURATM
field is packed decimal not binary and needs divide by an
undocumented 10; the two RPO duration variables SM105SAR
and SM105SIR also needed an undocumented divide by ten;
the Product section's two variables are input and kept.
-Jun 4: IBM stored blanks for SM105SCD and SM105SCT which
caused INVALID data error. Test for blanks circumvents,
while a PMR is opened for the invalid data.
Thanks to Jeffrey A. Johns, UHC, USA.
Thanks to Paul Volpi, UHC, USA.
Change 30.079 Cosmetic. Using EXEC SAS,CONFIG=CONFIMXG and MXGNAMES,
VMXGINIT DSNAMES in the //SOURCLIB concatenation are dynamically
May 4, 2012 allocated in reverse order to their concatenated order,
and dataset SASHELP.VEXTFL, which MXG reads to print the
DSNAMES on the log at initialization, is also reversed.
A PROC SORT of VEXTFL by DESCENDING LEVEL was inserted to
get the MXG list in correct order when CONFIMXG was used.
When MXGSAS93 and "static" allocation is done in JCL, the
value of LEVEL is zero and the DSNAMES are in the right
order; the sort doesn't alter that correct listing order.
Change 30.078 CICS Statistics storage variables in Change 29.221 were
VMAC110 thought to be in GB, and were multiplied by 1073741824,
May 28, 2012 but they are in MB, so they were 1024 times too large.
These variables are now multiplied by only 1048576 to
convert MB to bytes for the MGBYTES format:
SMSDSASZ SMSHWMDS SMSCSIZE SMSFSTG SMSHWMFS SMSLWMFS
SMSLFA SMSGDCUL SMSGDHWL SMSGDCUR SMSGDHWM SMTHWMPS
Thanks to Homayoun Riaza, United Health Group, USA.
Change 30.077 -READDB2 internal parsing was revised to correctly process
READDB2 %LET MACKEEP=
May 3, 2012 MACRO _WDB2ACP DB2ACCTP.DB2ACCTP %
MACRO _SDB2ACP %
;
%READDB2(IFCIDS=ACCOUNT STATS,
WANTONLY=DB2ACCT DB2ACCTP DB2STATS DB2STATB,
PDBOUT=YES,LDB2ACC=DB2ACCT,LDB2STB=PDB);
to create only DB2ACCT.DB2ACCT, DB2ACCTP.DB2ACCTP,
PDB.DB2STATS and PDB.DB2STATB datasets in those LIBNAMEs.
-IFCID=STATS creates only/both PDB.DB2STATS & PDB.DB2STATB
but Change 27.322 incorrectly listed only DB2STATS so the
comments in READDB2 were clarified.
-Minor logic changes: DB2STATB routing was suppressed with
STATS, and SMF IDs to be read message only showed 101.
-Cleanup 106 message, detritus in WORK when IFCID=STATS is
used (newish STATS creates ONLY the PDB.DB2STATS dataset)
with PDBOUT=YES.
Change 30.076 If USERADD= specified 102.xxx, but the length of xxx was
UTILBLDP less than 3 (e.g. 102.23 instead of 102.023), incorrect
May 2, 2012 macro token _C10223 instead of _C102023 was created which
caused unreferenced macro error. Not reported by a user.
Correction was when &LENGTH(&STRING2) was 1 or 2.
Change 30.075 -Variables JOB JESNR JBL24 are now kept in TPMJBL24.
VMACTPMX -Variable READTIME is now kept in all TPMJBLxx datasets,
May 2, 2012 since READTIME as well as JOB and JESNR are required to
uniquely identify a "JOB".
-Variable TPMPCSDIFFER is now input as IB because it can
contain negative values.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 30.074 Cosmetic. WARNING: MULTIPLE LENGTHS FOR BY VARIABLE LCU
ANALFIOE is removed with LENGTH DEFAULT=&MXGLEN added in the DATA
Apr 28, 2012 step that creates LCU from LCUID in TYPE78CF. There was
no error because the two lengths were 5 and 8 and LCU is
only a 2-byte binary number.
Thanks to Dan Case, Mayo Clinic, USA.
Change 30.073 Support for CA Vantage Storage Resource Manager 12.6.00,
VMACSAMS INCOMPAT: SAMSLGVR='X' in new records; MXG tested GE '6'
May 29, 2012 when SAMS code was last updated. SAMSPOOL fields were
restructured, from 4 to 8 bytes, some from PD to PIB.
New variables created in SAMSPOOL dataset:
SAMSSYSP='SYSPLEX*WHERE*VANTAGE*RUNS'
SAMSLPAR='LPAR NAME*WHERE*VANTAGE*RUNS'
SAMSSUBS='SUBSYSTEM*WHERE*VANTAGE*RUNS'
SAMSHASL='LOCAL*HASH*VALUE'
SAMSHASG='GLOBAL*HASH*VALUE'
Thanks to Robert Brosnan, Goldman Sachs & Co., USA.
Change 30.072 Support for RMF 74 APAR OA36831 which COMPATIBLY adds new
VMAC74 SMF74NSS='SKIPPED*SAMPS*INVALID*DELTA VALUE'
Apr 21, 2012 to TYPE74 dataset.
Change 30.071 VMACTPX, written before _Vdddddd old-style macro were
VMACTPX designed, is updated to define and use those alternative
Apr 21, 2012 tokens to control what's kept in MXG datasets.
Thanks to Erling Andersen, SMT Data, DENMARK.
Change 30.070 Support for CA-Spool Subtype 12 creates CNA9CX dataset,
EXCMA0CX but only creates the seven variables that were recognized
IMACCMA by format and content with the subtype 11. Additional
VMACCMA data fields will be decoded when documentation received.
VMXGINIT
Apr 21, 2012
Thanks to Orjan Lindholm, Volvo, SWEDEN.
Change 30.069 These new in z/OS 1.13 TYPE72GO vars were not populated
VMAC7072 CPUPDPTM R723RTDM R723RTDC R723RTDT
Apr 20, 2012 because the test was 32 when only 24 bytes were added.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 30.068 RMM dataset EDGRDEXT was expected, but the "D" and "V"
VMXGDSN records were combined into the "X" record, so DAILYDSN
Apr 20, 2012 was revised to use EDGRXEXT instead of EDGRDEXT.
Thanks to Jeff Dyke, USDA, USA.
Change 30.067 LUNAME added where possible to SMF ID=119 example report.
ANAL119
Apr 19, 2012
Change 30.066 New version of Ferret record is supported for subtype 1
VMACFERT and 4, based on test data without the vendor's DSECT.
Apr 20, 2012 -FERRET subtype 1 record with length of third triplet 80
caused INPUT STATEMENT EXCEEDED because that segment was
82 bytes in prior records. A LENLEFT test to protect was
added, but removing the +2 appears to realign subtype 1.
-FERRET subtype 4 record removed the +6 bytes at start.
Thanks to Bruce Sloss, PNC Bank, USA.
Change 30.065 Vendor segment for ETFR ID=80 SMF record caused MXG to
VMAC80A have INPUT STATEMENT EXCEEDED RECORD. Previous FRI=02
Apr 18, 2012 had an extra byte (in 2004 when ETFR segment was last
updated!) that is not there now, DO Group bypassed.
Thanks to J. Grasing, Metropolitan Life, USA.
Change 30.064 Support for new MQ QJST 7.01B Stats Block adds 4 sets of
VMAC115 ten variables with log statistics for each of up to four
Apr 18, 2012 logs in the MQLOG dataset.
Thanks to Joe Faska, Depository Trust, USA.
Change 30.063 The SMF 117 subtype 'IMFL' new variable SM17ACCT with the
VMAC117 'ACCOUNT*ORIGIN' is input and kept when it exists in the
Apr 17, 2012 WebSphere 7.0.0.3 SMF record.
Thanks to Fabio Ottaviani, EPVTECH, ITALY.
====== Changes thru 30.062 were in MXG 30.02 dated Apr 15, 2012=========
Change 30.062 TYPE70 variable ENHDATAR='ENHANCED*DAT*ARCHITECTURE?" is
VMAC7072 now created from Bit 7 of SMF70PRF.
Apr 12, 2012
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 30.061 BETA93 subtype 25 records support is revised to match the
VMACBETA data records. The documentation for 4.1 release is wrong,
Apr 12, 2012 as there are not 256 reserved bytes at the end, which
caused INVALID DATA FOR BETASTRT messages, and support
for the 4.2 was wrong, causing INPUT STATEMENT EXCEEDED
RECORD LENGTH errors.
Change 30.060 Support for TMON/DB2 V5, INCOMPATIBLE, only for DB2 V10.
EXTMD2BA Completely restructured records with new dataset names
EXTMD2BB and new variable names, so your reports will have to be
EXTMD2BC revised to use new MXG dataset names and variable names.
EXTMD2BD The new product suffix is TMD2, replacing TMDB, so you
EXTMD2BE will need to change your input DDname to //TMD2IN and
EXTMD2BF your MXG %INCLUDEd program to TYPETMD2 or TYPSTMD2.
EXTMD2BG
EXTMD2BH DDDDDD MXG MXG SIMILAR TO
EXTMD2BJ DATASET DATASET DATASET OLD TMDB
EXTMD2BK SUFFIX NAME LABEL DATASET
EXTMD2BL
EXTMD2DA TMD2BA TMD2BA SET CURRENT SQLID
EXTMD2DB TMD2BB TMD2BB End of Identify
EXTMD2DC TMD2BC TMD2BC End of Signon
EXTMD2DE TMD2BD TMD2BD Authorization Failure
EXTMD2DW TMD2BE TMD2BE Explicit GRANT/REVOKE
EXTMD2IB TMD2BF TMD2BF DDL on Audited Object
EXTMD2ID TMD2BG TMD2BG Write on Audited Object
EXTMD2IG TMD2BH TMD2BH Read on Audited Object
EXTMD2II TMD2BJ TMD2BJ Utility started
EXTMD2IP TMD2BK TMD2BK Utility Change
EXTMD2IT TMD2BL TMD2BL Utility End
EXTMD2PK TMD2DA TMD2DA INTERVAL SYSTEM STATISTICS TMDBDA
EXTMD2QS TMD2DB TMD2DB Thread Accounting Data TMDBDB
EXTMD2SD TMD2DC TMD2DC DB2 Command Activity
EXTMD2SL TMD2DE TMD2DE Exception Definition/Event
EXTMD2ST TMD2DW TMD2DW DB2/IRLM Messages
EXTMD2TB TMD2IB TMD2IB Interval BP Statistics TMDBDAB
EXTMD2TD TMD2ID TMD2ID Interval DDF Statistics TMDBDAF
EXTMD2TG TMD2IG TMD2IG Interval GBP Statistics
IMACTMD2 TMD2II TMD2II Interval IFCID Statistics
TYPETMD2 TMD2IP TMD2IP Interval Data Set Statistics
TYPSTMD2 TMD2IT TMD2IT Interval IFI Trace Dest
VMACTMD2 TMD2PK TMD2PK Thread Package Accounting TMDBDBK
VMXGINIT TMD2QS TMD2QS SQL Analyzer Statistics
Apr 10, 2012 TMD2SD TMD2SD System Deadlock Detail
TMD2SL TMD2SL System Deadlock/Timeout Victim
TMD2ST TMD2ST System Timeout Detail
TMD2TB TMD2TB Thread BP Accounting TMDBDBB
TMD2TD TMD2TD Thread DDF Accounting TMDBDBF
TMD2TG TMD2TG Thread GBP Accounting
All datasets have been extensively validated with test
data records, but with 10,000 new lines of source code,
there is some possibility of overlooked items.
The original VM/XA MONWRITE support was also 10K lines
and took 150 hours across 10 days. This project took
only 5 days and about 50 hours, in part because you
can teach an old dog new tricks, but also because the
vendor "$$" aggregation file was used to generate each
INPUT line for each variable, with its INFORMAT and
LABEL; most of the rest of the time was spent
comparing each line with the DSECTS to find the
reserved fields that were not in the $$ file and to
find the undocumented bytes added for fullword
alignment.
MXG previous support for pre-V5 TMON/DB2 did not support
any of the 'Bx' records (because no one sent sample data
records indicating they wanted those records supported!),
but since ASG Technical Support provided samples of EVERY
record type, ALL records, including the records that are
new in V5 (DB2 Command, Deadlock/Timeout, DataSet Status,
and the new Interval and Thread data) are supported and
ALL have been data-tested (so hex-containing strings, the
times and datetimes should be correctly formatted).
Check with ASG Customer Support that you have all PTF's
installed; not all datetimestamps were converted to the
local time zone, and some alignment corrections in new
records.
Change 30.059 -BLDSMPDB uses an execution of VGETSORT to build a list of
BLDSMPDB the datasets for weekly and monthly processing. In the
Apr 9, 2011 case of monthly it was looking at the WEEK LIBNAME rather
than the WEEK1 LIBNAME. On ASCII this was not a problem
since both WEEK and WEEK1 existed albeit pointing at the
same directory, but on zOS that was not necessarily the
case. VGETSORT was changed to point at WEEK1.
-When monthly/weekly was not being run and AUTOALOC was
set to NO, BLDSMPDB displayed a message that WEEK and
month LIBNAMES contained a date range that could have
been in error or not even existence. Message is now
suppressed when AUTOALOC=NO.
-Value of SORTEDBY is forced to NO when the length of
MXGNOBY is greater than 0 to suppress the BY statements
in WEEKLY/MONTHLY processing to optimize performance.
Change 29.008 removed BY processing for WEEK/MONTH in
old WEEKBLD/MONTHBLD logic, so BLDSMPDB is consistent.
Change 30.058 -New variables added to RMF TYPE71 dataset by z/OS 1.13
VMAC71 that were overlooked:
Apr 2, 2012 SMF71L7M='MIN 1MB*FIXED*FRAMES*NOT IN USE'
SMF71L7X='MAX 1MB*FIXED*FRAMES*NOT IN USE'
SMF71L7A='AVG 1MB*FIXED*FRAMES*NOT IN USE'
SMF71TLS='TOTAL*NUMBER OF*LOGICAL*SWAPS'
-SMF71LFA, added in MXG 30.01 was incorrectly aligned.
-And, starting with z/OS 1.13 the Swap Placement Section
does not exist, so the below 66 variables won't exist, so
you could DROP them all from your TYPE71 dataset when all
your systems are at that level, with this statement in
the //SYSIN stream that builds your TYPE71 dataset:
%LET MACKEEP= MACRO _KTY71 DROP=
SWAPTO PHYAUXTO LOGEXTTO LOGAUXTO PHYEXTTO EXTAUXTO
SWAPTI PHYAUXTI LOGEXTTI LOGAUXTI PHYEXTTI EXTAUXTI
SWAPWT PHYAUXWT LOGEXTWT LOGAUXWT PHYEXTWT EXTAUXWT
SWAPAS PHYAUXAS LOGEXTAS LOGAUXAS PHYEXTAS EXTAUXAS
SWAPRS PHYAUXRS LOGEXTRS LOGAUXRS PHYEXTRS EXTAUXRS
SWAPDW PHYAUXDW LOGEXTDW LOGAUXDW PHYEXTDW EXTAUXDW
SWAPVR PHYAUXVR LOGEXTVR LOGAUXVR PHYEXTVR EXTAUXVR
SWAPNQ PHYAUXNQ LOGEXTNQ LOGAUXNQ PHYEXTNQ EXTAUXNQ
SWAPEX PHYAUXEX LOGEXTEX LOGAUXEX PHYEXTEX EXTAUXEX
SWAPUS PHYAUXUS LOGEXTUS LOGAUXUS PHYEXTUS EXTAUXUS
SWAPNS PHYAUXNS LOGEXTNS LOGAUXNS PHYEXTNS EXTAUXNS
% ;
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 30.057 Support for TS7700 Version 2.0a (INCOMPATIBLE, due to
FORMATS insertion of new fields and increases in lengths of some
VMACBVIR existing fields, impacting BVIR30 and BVIR32 datasets).
Apr 1, 2012 -New variable in dataset BVIR30:
AVGCPUSE='CPU*USAGE*PERCENT*AT END OF*INTERVAL'
-New variables in dataset BVIR33:
DVMECC00='00*MEDIA*TYPE*CONTAINER*COUNT'
5 more new variables
DVMECC07='07*MEDIA*TYPE*CONTAINER*COUNT'
DVMTC010='POOL 01 MEDIA 0*MEDIA*TYPE*CONTAINER*COUNT'
254 more new variables
DVMTC327='POOL 32 MEDIA 7*MEDIA*TYPE*CONTAINER*COUNT'
-FORMATS was updated for new media types JC, JY and JK.
Thanks to Louis Deledalle, BNPPARIABAS, FRANCE
Thanks to Perry Lim, Union Bank, USA.
Change 30.056 -The DSNBRECD observation for a VOLSER created from the
TYPETMS5 first DSNB record could have wrong values for variables
VMACTMS5 DSNBUSRU DSNBTMSI DSNBECAT DSNBABND DSNBISCA DSNBDFXU
Apr 4, 2012 DSNBWSCA DSNBDFLT
because those variables had values from the TMSREC-DSNB.
Now, the DSNB values are temporarily stored, the DSNB for
the TMSREC DSN is created with those variables populated
from the corresponding TMSREC variables, and then the
DSNB variables are restored from temp storage.
-The values for DSNBECAT and DSNBWSCA in the DSNB created
from the TMSREC were reversed.
-Value for TRTCH 'D0'x set DEVTYPE of 3590 but it's 9840,
and some additional DEVTYPE values were enhanced to show
the EF3/EF3M/EF3X/EE3/EE3M/etc descriptor text.
-In diagnosing the error, I also observed an inconsistency
in MXG logic for TMSREC observations that have SCR='Y',
i.e., Scratch List VOLSERs: MXG did not create the pseudo
DSNB observation for the TMSREC DSN for scratched volumes
but all of the real DSNB observations are output, with no
flag they are on a Scratch Volume, as that is a TMSREC
and not a DSNBREC attribute. Now, that pseudo DSNB obs
is created for SCR='Y' volumes, and new variable SCRFLAG
is created in DSNBRECD so DSNBs on Scratch volumes can
be identified.
Thanks to Scott Rowe, Social Security Administration, USA.
Change 30.055 -Support for DB2 APAR PM37956 to SMF 102 IFCID 25 added
FORMATS several new variables, two of which are decoded by new
VMAC102 formats.
VMACDB2H -Cosmetic: VMACDB2H updated to prevent two "MISSING" value
Mar 28, 2012 calculation messages.
Thanks to Paul J. Larsson, Aetna, USA.
Thanks to Victoria Lepak, Aetna, USA.
Change 30.054 -ERROR: Divide by zero in SMF 73 records occurred in the
VMAC73 new FICON Extended Data segment when SMF73PTI=0, which
Mar 29, 2012 occurs for CHPIDs that are not ONLINE. The new MXG code
failed to test SMF73PTI before the division (even though
all other divides where!). Because TYPE73 observations
WERE only output if ONLINE='Y' and VALIDPTH='Y', these
segments that caused the divide by zero were not output,
so there was no impact on the contents of TYPE73 dataset.
All SMF73PTI divides are now protected.
-HOWEVER: The IBM Channel Path report does list CHPIDs
that are OFFLINE but have VALIDPTH='Y', so the logic in
VMAC73 is changed so that observations with EITHER the
ONLINE='Y' OR the VALIDPTH='Y' are output, in case you
actually need to see that a CHPID is offline. This will
cause a small increase in the number of observations that
are output in TYPE73 (256 CHPIDs are possible; in this
site's data, 59 were online and valid path, and 7 more
were valid path only that are now also output).
Thanks to Christine Ya DeClercq, DEXIA, BELGIUM.
Change 30.053 -Two variables were named CALTYPE, one in dataset VXSYTSPT
VMACVMXA that is a one-byte flag, and one in VXMTRPAG & VXSTOATC
Mar 21, 2012 which is a four byte field containing PAGE or SPOL, but
Apr 2, 2012 the second was truncated to one byte by the first. Since
CALTYPE in VXSYTSPT is a flag that is unlikely to be used
I have renamed it to CALTYPEP to eliminate truncation.
-Variable HFQUCT in VXBYUSR wasn't properly deaccumulated.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 30.052 Some packed decimal variables notably TPTDBIO were not
VMACIMS protected for a full hex-zero field value; the needed
VMACIMSA "double question mark" has been inserted in each INPUT.
Mar 21, 2012 Where the value is hex zero (because IBM did NOT prime
the field as a valid PD field) there is no impact on the
value of those variables as they will be a missing value
with or without the ??, but this change will eliminate
the INVALID DATA message and associated hex record dump.
Thanks to Paul Volpi, UHC, USA.
Change 30.051 Support for SYSVIEW PTF Test APAR TSD0144, for IMS data.
EXSV34ES Only SYSVIEW IMS records with that APAR can be read with
EXSV34SU this update; revisions to subtypes 34 and 35 were made.
IMACSVIE -New SV34ESS and SV34SUMM datasets are created.
VMACSVIE -Change 29.273 found LTERM names 'FDFFFFFF'x, which is the
VMXGINIT indicator the transaction originated in MQ and entered
Mar 30, 2012 IMS via OTMA: in this case, there isn't an LTERM, but the
Apr 2, 2012 next 8 bytes is the TPIPE name (e.g. CSQ800B9, which is
Apr 26, 2012 in LUNAME field), so that TPIPE name is now used for the
Jun 4, 2012 LTERM name. Some records for OTMA transactions have the
LTERM name for TCP/IP port number. MXG keeps the hex
value in IMTR_TRN_LTERM_HEX and stores LUNAME into LTERM.
-In IMS V9, DBIOTIME and LOCKTIME fields are only valid in
records from DBCTL subsystems, so those fields are set to
a missing value when they are not valid.
-Jun 4: two variables are no longer divided by /4096 :
IMTR_CLK_MPP_CPU
MQRR_OBJ_INTERVAL
Thanks to Martin Trinkler, CSC, ENGLAND
Thanks to Arthur G. Hurlston, CSC, ENGLAND
Change 30.050 Support for SMF 85 records from z/OS 1.13 (INCOMPAT, due
VMAC85 to new value of R85PVRM='1130'.
Mar 20, 2012
Thanks to Joachim Sarkoschits, DATAEV eg, GERMANY.
Change 30.049 An extra semi-colon in the non-graphics PROC PLOT caused
ANALCNCR an error and was removed.
Mar 19, 2012
Thanks to Steve Dyck, Canadian Depository, CANADA.
Change 30.048 If you specified a 9-character SAS date literal value, eg
VGETDDS 12MAR2012, only the first 7 characters were used, causing
Mar 19, 2012 the constructed Julian Date to be incorrect as 2020072.
Thanks to Brian Harvey, HCL America, USA.
Change 30.047 Support for BMC Mainview for MQ Version 5.1 (INCOMPAT).
EXBBMQAL MXG did not protect for changed segment lengths so this
IMACBBMQ update is required to read 5.1 data records. The new
VMACBBMQ RTIN='EA'x record has not been tested, but it will create
VMXGINIT observations in new dataset BBMQALTS; some variables will
Mar 18, 2012 be changed to datetime variables instead of character
when test data is available.
Change 30.046 -If you specified SUPPRESS=110, that did not suppress the
UTILBLDP creation of CICSTRAN, which requires //CICSTRAN to exist.
Mar 18, 2012 -If CICSTRAN was suppressed, ASUMUOW/ASUMCICX were still
invoked, causing errors.
-New values for suppress of DB2STAT CICSSTAT were added so
you can separately suppress the statistical datasets.
Thanks to Chip Parsons Ingram Books, USA.
Thanks to Paul Volpi, UHC, USA.
Change 30.045 Debugging PUT _N_= CPUUNITS= CPUTCBTM= removed; added for
VMAC30 testing of Change 29.025.
Mar 14, 2011
Thanks to Murali K. Inuguru, CSC, India.
Change 30.044 -Updates to D062, D063, D060, VWRP, D059, D057, VWVS.
VMACNTSM -VMware.Guest.CPU
EXNTDTAL VWGCUSPC doesn't exist, removed.
EXNTDIRS VWGCSWTM /*SWAP*WAIT*(MILLISECONDS) */ added.
EXNTSRMD -VMware.Host.CPU - the two Core utilization fields
IMACNTSM VWHCCORA and VWHCCORB were mislabeled as CPU utilization
VMACNTSM Pending newdata/newnames updates to QLSS QLSE
VMXGINIT QLSS: MSSQL:SQL STATISTICS
Mar 11, 2012 QLSE: MSSQL:USER SETTABLE
Apr 15, 2012 New objects are now supported in Apr 15 iteration:
NTDTAL DTS.ALERTEVENT - 4 DTAL.... vars
NTDIRS DIRECTORYSERVICES - 164 DIRS.... vars
NTSRMD SERVICEMODELSERVICE 3.0.0.0 - 33 SRMD.... vars
User-found corrections after Mar 11 iteration:
vmware_guest_virtualdisk - keep D0590007-13.
vmware_host_storagepath - length of D0630009
changed to $128. This is actually the concatenation of
three 32+ byte worldwide names (WWN). In my data they
are delimited by periods but I'm not sure that will
always be the case so let the user parse.
VMware.Host.Aggregate - Add VWGCVMGU to keep list
VMWARE.GUEST.RESCPU - ELSE removed, dropped host/guest.
VMware.Host.CPU - Changed VWHCCPU to integer
VMWARE.HOST.MEMORY - vwhmtotc was too large
Thanks to Jim Quigley, ConEd, USA.
Change 30.043 RMF III dataset ZRBASI Report Class Name/Description vars
VMACRMFV ASIRNM and ASIRDE can have hex zero values, because IBM
Apr 13, 2012 relocated the fields; SVPDCL is now 144 vs the documented
and expected length of 76. Now, ASIRNM is tested for hex
zero and the INPUT moved when found true.
-Same change made for ZRBENC for ENCRNM and ENCRDE.
-Compatibility fix for RCDSDI field in RCD table record.
In older versions of ASMRMFV the offset to the RCDSD
(Subsystem Delay) section of the RCD record can be
incorrect causing an INPUT LENGTH EXCEEDED error and
VMACRMFV termination. This fix recalculates the value of
RCDSDI using other known valid fields.
-RCD table flag variable RCDEFLAG is input as character,
but is actually a hexadecimal value. Format $HEX2. is
added for this variable for a correct display. NOTE:
Variable RCDSDPH contains the decoded value of RCDEFLAG
for ease of use.
-Compatibility fix for ASIRNM/ASIRDE variables in ZRBASI
file and ENCRNM/ENCRDE variables in the ZRBENC file. The
Service Class data extension used to build these files
can have a length of 144 bytes instead of the documented
length of 76 bytes. This caused VMACRMFV to input the
following Report Class data extension incorrectly so that
these fields had bad values. This fix accommodates a
length of 144 or 76 for the Service Class extension.
-The indexing variable to input the RCDSD array entries
was _I_ when it should have been _J_. The _I_ subscript
was already being actively used.
-Length checks used to validate input for the Service
Class and Report Class data extensions in the RCD table
were too short.
Thanks to Matthew Chappell, Dept. of Transport Main Roads, Australia
Change 30.042 -SMF AUDIT REPORT. The existing _RPTID report in BUILDPDB
ANALID is significantly enhanced, and new variables are created
FORMATS in the PDB.SMFRECNT to provide more detail of counts and
IMACSMFF percentages of records and bytes in your SMF data. Each
VMACID obs summarizes an ID.SUBTYPE (described by new $MGSMFID
VMACSMF format), but records with Subsystem or Product Version
VMXGINIT (DB2A V10, CICSPROD TS4.2, RMF 1.12) are reported at that
Apr 14, 2012 level of detail. Plus, all obs have the min/max SMF time,
May 12, 2012 and any compressed records (DB2,CICS) are flagged!
May 28, 2012 -The temporary WORK.ID dataset is created and summarized
Jul 4, 2012 to create the PDB.SMFRECNT used for the report, and the
May 6, 2013 new variables increase its size, but it is temporary, so
only //WORK space is used. For BUILDPDB, the INCREASE in
work space required is 25 CYL per Million SMF records.
When %ANALID(PDB=SMF) is executed standalone, 60 CYL of
//WORK space is needed per Million SMF records.
That small increase in BUILDPDB is because the old ID
dataset was compressed by default when it should not
have been; compression doubled its size (due to the small
number of variables), but even the new ID is 9% larger if
compressed, so the COMPRESS=NO Dataset Option is used for
the WORK.ID dataset to minimize its space requirement.
-If work space is an issue, you can disable creation of
the WORK.ID dataset with %LET SMFAUDIT=ZEROID in //SYSIN.
-If you want the original ID dataset without new variables
and you are not changing the MACRO _KTYID, then you would
use %LET SMFAUDIT=NO; in //SYSIN.
-If you want to add new or drop existing variables in the
ID dataset, or you want to change the MACRO _KTYID, you
MUST use the SMFAUDIT=YES default, and use MACRO _KTYID
to KEEP new or DROP old variables, and you must add the
COMPRESS=NO option in your replacement MACRO _KTYID as
shown below. To create new variables, your SAS code to
create them would be in MACRO _ETYID, as shown in this
syntax example (and as documented in member DOCMXG):
%LET MACID=
%QUOTE(MACRO _KTYID
DATE TIME
DROP=SMFTIME
COMPRESS=NO
%
MACRO _ETYID
DATE=DATEPART(SMFTIME);
TIME=TIMEPART(SMFTIME);
FORMAT DATE DATE9. TIME TIME12.2;
OUTPUT _WTYID;
%
);
%INCLUDE SOURCLIB(TYPEID);
RUN;
Note that %QUOTE() must be used; %STR() fails.
-The new Audit Report goes to PRINT by default, but it can
be redirected to ODS, on ASCII with this //SYSIN syntax:
%LET MACKEEP=%QUOTE(
MACRO _RPDBID
%ANALID(ODSTYPE=HTML,ODSPATH=E:,ODSFILE=ANALID.HTML);
%
);
%INCLUDE SOURCLIB(BUILDPDB);
or on z/OS, you would use this syntax:
%LET MACKEEP=%QUOTE(
MACRO _RPDBID
%ANALID(ODSTYPE=HTML,ODSPATH=MY.PDSE,ODSFILE=ANALID);
%
);
%INCLUDE SOURCLIB(BUILDPDB);
-You can also produce the SMF AUDIT REPORT directly from
an SMF file using:
%ANALID(READSMF=YES,PRINT=YES,PERCENTS=YES,PDBOUT=PDB)
to create all reports and the PDB.SMFRECNT dataset, and
additional arguments ODSTYPE=,ODSPATH=,ODSFILE= can be
specified on the %ANALID invocation for ODS/HTML output.
-VMACSMF was revised to create variable SUBSYSTEM for DB2,
CICS, MQ records (100-102,110,115-116), for 26's (JES2/3)
for 30s (JES3,TSO,STC,OMVS,etc.), for 6's (JES2/JES3/EXTW
PSF/PRINTWAY/CADI/BUNDLE/SAR/EXD), and PRODVERSION for
DB2 (V10), CICS (TS/4.2), RMF (ZV011300), and MQ (7.10).
This means that those variables are populated when the
IMACFILE/&IMACFILE exit is taken, so you can use them to
select those records by SUBSYSTEM/PRODVERSION either for
MXG processing, or if you want to write SMF records out
to a separate SMF file; see comments in IMACFILE.
Note May 6 2013: other attributes, such as COMPRESSED and
DB2 ACCUMAC status have been added to the report but this
text may not always be timely.
-Format $MGSMFID maps IBM SMF TYPE numbers and Subtype to
describe each record/subtype. User SMF records will be
counted by ID and subtype (if the subtype bit is on in
the USER record's SMF header), but with no explanation,
or counted just by ID if the subtype bit is NOT on in the
USER SMF record, but you can create your own description
of USER SMF record that will be added to $MGSMFID format
by using the IMACSMFF member in your tailoring library,
following it's comments for syntax of your USER records.
After you SAVE your IMACSMFF member into your tailoring
library, you then need to update the MXG format library
by running
//LIBRARY DD DISP=OLD
%INCLUDE SOURCLIB(FORMATS);
which will update the MXG Format Library.
If you can not update the site's format library, you
can create this new format in a separate dataset and
use OPTIONS FMTSEARCH=(MYLIB LIBRARY); in the ANALID job.
-Macro variable SMFAUDIT is defined in VMXGINIT.
-To summarize the overall options:
READSMF=YES read SMF, create WORK.ID or PDB.ID, create
PDB.SMFRECNT, delete WORK.ID or keep
PDB.ID.
READSMF=NO read WORK.ID/PDB.ID, create PDB.SMFRECNT,
delete WORK.ID or keep PDB.ID.
PRINT=ONLY read only PDB.SMFRECNT to print report.
-This rewrite of the _RPTID report was precipitated by:
The previously posted error that caused LARGE INCREASE
in elapsed run time when BUILDPDB had any output "PDB"
data libraries (//PDB, //CICSTRAN, //DB2ACCT, etc.) on
on tape or in sequential format.
That error is corrected in this change.
But, to document the error and a circumvention:
VERY long elapsed times in BUILDPDB if output PDB data
libraries (//PDB, //CICSTRAN, //DB2ACCT) are on TAPE:
PROC SQL reads the DICTIONARY.COLUMNS internal dataset,
but if any LIBNAME is on tape, the ENTIRE tape is read.
Site with 35 million CICSTRAN observations on tape took
3.5 hours to read SMF and then spend 3.1 hours in this
PROC SQL, just to create the report of ID counts; this
problem was introduced in MXG 29.03, Change 28.089.
If you do not have MXG 30.02 with this Change 30.042,
this Circumvention eliminates long elapsed times:
Insert this statement
%LET MACKEEP= MACRO _RPDBID _RPDBIDO % ;
in your //SYSIN DD input, or this macro definition
MACRO _RPDBID _RPDBIDO %
in your IMACKEEP tailoring member. This will revert
the SMF TYPE report to only count records.
-This change replaced PROC SQL with %VMXGOBS to correct
the elapsed run time error, and all other uses of PROC
SQL with DICTIONARY.COLUMNS have a specific LIBNAME, so
they had no exposure.
Thanks to Jim Hayes, Huntington National Bank, USA.
Thanks to Marty Pruden, Purina Nestle, USA.
Thanks to Michael Rhoades, Purina Nestle, USA.
Thanks to Michael Oujesky, Bank of America, USA.
Thanks to MP Welch, SAS Institute, USA.
Change 30.041 Support for EMC EzSM (z/OS Storage Manager) SMF record.
EXEZSM01 Preliminary support - problems in record have opened a
EXEZSM02 discussion with the vendor, but still no response when
EXEZSM03 MXG 30.02 was created.
EXEZSM04
EXEZSM05
EXEZSM06
EXEZSM07
IMACEZSM
TYPEEZSM
TYPSEZSM
VMACEZSM
VMXGINIT
Mar 7, 2012
Change 30.040 -Variable DOWNTM was a missing value in PDB.IPLS dataset
VMAC0 after Change 29.032 used only ID=90 ST=8/10 to identify
VMAC90A a true system IPL; the DOWNTM=IPLTIME-PREVTIME was not
VMACSMF calculated for subtype 10 and the operator entered DTIME
Mar 9, 2012 value was incorrectly used for the subtype 8 IPL PROMPT.
-Examination of events at a true IPL show that SMF records
0 8 22 90 are written prior to the IPL event, and ID 2,3
can be written on other systems at other times, so these
records are all NOT used to set PREVSYS/PREVTIME.
-VMAC90A was updated to contain DOWNTM and IPLTIME in the
TYPE9008 and TYPE9010 datasets, for consistency.
-Dataset PDB.IPLS was revised to contain the old variables
from the ID=0, even though it is created from ID=90/8-10.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 30.039 NDM-CDI record 'XO' caused "UNKNOWN SUBTYPE" log messages
VMACNDM because 'XO' was not in the test for supported subtypes,
Mar 6, 2012 but code was in place to output them in NDMDT dataset, as
it is the same record structure. Now, they are output.
Thanks to Betty Wong, Bank of America, USA.
Change 30.038 Support for DB2 IFCIDs 357 and 358; those datasets are
VMAC102 now populated with the IFCID-specific variables.
Mar 6, 2012
Thanks to Terry L. Berman, DST Systems, USA.
Change 30.037 Support for BMC APPTUNE V6R3 SMF 102 records (INCOMPAT).
VMAC102 These numeric variables were increased from 2 to 4 bytes
Mar 6, 2012 causing mis-alignment of all subsequent variables:
QBMCSCTN QBMCSTMT QBMCSOPN QBMCOPNN
and these two new variables are inserted and now input:
QBMCTXTH='SQL*TEXT*HASH'
QBMCIMPK='IMPLICIT*QUALIFIER*KEY'
and QBMCSQID QBMCIMPQ contain ASCII rather than EBCDIC.
BMC APPTUNE ID=102 IFCIDS are 8004x-800Bx & 8133x-8136x.
Only the 8133x record has been validated.
Thanks to Christa Neven, KBC, BELGIUM.
Change 30.036 On the first day of the month, the MTD value was
VMXGALOC calculated correctly but the MONTH value was the prior
Mar 2, 2012 month.
Thanks to Ruth Larsen, Computer Associates, USA.
Change 30.035 RSD/FOLDERS name fields were increased to $250, causing
VMACRSDA the AUDDNAME and other AUDDxxxx fields to be missing as
Mar 2, 2012 those fields were located after the AUDFxxxx variables.
Thanks to Christa Neven, KBC, BELGIUM.
Thanks to Marc Heremans, KBC, BELGIUM.
Change 30.034 VMXGGETM is used to select SMF records by ID and SUBTYPE,
VMXGGETM but only supported 512 subtypes; BMC's APPTUNE product
Mar 2, 2012 creates SMF 102 records with IFCIDS 8000x to 8136x which
caused VMXGGETM to fail with ARRAY ERROR. This change
increases the array to support 33078 (8136x) to protect
the BMC records, keeping the REGION size to about 84MB.
(VMXGGETM is also used in JCLTESTx to create SMFSMALL, so
I don't want new users to die with insufficient REGION in
their first MXG test job. Setting the array size to the
max possible 65536 for the two-byte field needed 150MB.)
Thanks to Christa Neven, KBC, BELGIUM.
Thanks to Wim Hermans, KBC, BELGIUM.
Change 30.033 Cosmetic. Missing value calculation for PHSTARTM when it
VMAC110 was missing is protected for ID=110 MNSEGCL=5 Resource
Mar 1, 2012 Record (dataset CICSRDS).
Thanks to Tom Buie, Southern California Edison, USA.
Change 30.032 -Stored LENGTH of QWHxxxxx variables now $128 in DB2ACCT.
VMACDB2 This text was re-written Mar 27, but no code was changed.
VMACDB2H These DB2 Variables are all now stored as LENGTH $128:
Feb 29, 2012 QLACLOCN QLSTLOCN QMDALOCN QPACAANM QPACASCH QPACCOLN
Mar 4, 2012 QPACLOCN QPACPKID QWHCAID QWHCCTKN QWHCEUID QWHCOAUD
Jun 8, 2012 QWHCOPID QWHCROLE QWHCTCXT QWHDRQNM QWHDSVNM QWHSLOCN
Oct 3, 2012 because IBM has increased those lengths (history below)
Mar 28, 2013 and now many of these variables do contain more than
eight bytes, especially if you have distributed systems
with those long open-system name fields.
But with the (MXG DEFAULT) COMPRESS=YES option enabled,
these stored lengths can be increased, so no data values
are truncated, without significant DASD space increase,
since most of those nine-plus bytes are still blank.
-However, you can change those lengths if, for example,
the CPU cost of compress is more expensive than the DASD
disk space cost. See NEWSLETTER SIXTY, Section VI.7,
in member NEWSLTRS for the complete documentation in
"Changing the length of MXG variables", which shows
this syntax can be used (only) for character variables.
//SYSIN DD *
%LET MACFILE=
%QUOTE( LENGTH
VAR1 VAR2 VAR3
$8 ;
);
%INCLUDE SOURCLIB(whatever);
Some History:
In 2004, IBM increased the length of several fields and
MXG Change 22.196 in 2004 increased INPUT to $128 for
QWHSLOCN QWHCAID QWHCOPID QWHCEUID QWHDRQNM QWHDSVNM
but that change noted that they were not stored as $128,
because in 2004 some MXG sites still had SAS V6 that did
not support COMPRESS=YES, which is required to increase
stored length without DASD increases (as most bytes are
still blanks).
Sometime after 2004, IBM increased header variables
QWHSLOCN and QWHDSVNM and MXG increased INPUT length.
MXG Change 24.136 in 2006 increased these INPUTs to $128
QWHCAID QWHCOPID QPACCOLN QPACLOCN QPACPKID
QLACLOCN QLSTLOCN QMDALOCN QWACNID
This change, 30.032 increased these INPUTs to $128
QWHCEUID QWHCTCXT QWHCROLE QWHCOAUD QWHDRQNM
QPACASCH QPACAANM
This change, 30.032 increased the stored lengths of all
of the DB2 variables listed above that were not already
kept as $128.
-Note added Jun 8: Some DB2 fields can contain an IP
address, Port Number, and a timestamp in this format:
162.123.25.218.44485.120605112901
-------------- ----- ------------
| | |
| | |-- Unique field ( timestamp real
| |
| |-- Port address
|
|- Requester IP Address
One example is QWHCCTKN the new Correlation Token in V10.
-Note added Oct 3, 2012: QWHCCV was restored to $12 by
Change 30.200.
-DB2 variable QWHDRQNM can now contain an ipv6 address,
which is longer than the default kept $16 length, causing
right-most characters to be truncated. Change 22.196 in
Thanks to Fred Wondra, Balboa Insurance, USA.
Thanks to Mark Nakatani, WiPRO, USA.
Thanks to Jim Meurer, Transamerica, USA.
Change 30.031 Requesting IFCIDS=ACCOUNT with IFCIDS from SMF 102 could
READDB2 cause zero observations in some or all of the T102Snnn
VMXGDEL datasets that were requested. This error was in 29.29
Feb 24, 2012 and probably earlier MXG READDB2s.
Mar 4, 2012 -Cosmetic. READDB2 accepts IFCIDS=1 or 2 for STATISTICS
and 3 for ACCOUNT and prints all selected IFCIDS in its
feedback list of what will be selected by READDB2.
Requesting ACCOUNT processes IFCIDs 3 and 239.
Requesting Statistics processes IFCIDs 1 2 202 225 230.
-A strange compiler error, only in SAS V9.2, inserted a
blank when MACRO _LDB2PAT &PDBOUT..DB2GBPAT % was at the
bottom of that list of macro definitions, causing compare
of WORK .DB2GBPAT with WORK.DB2GBPAT to be different, so
VMXGDEL incorrectly deleted that dataset. Relocating that
one line to the top of the list of MACROs happened to
circumvent the error, but that was far too fragile, since
another line relocation could reinstate the error, and as
VMXGDEL is the only part of MXG that does exact compares
of dataset macro tokens that could be impacted by a blank
after the DDNAME/LIBNAME, it now removes the blank.
Thanks to Christopher Bray, Experian Information Solutions, USA.
Change 30.030 Variable VMDSTATE is now decoded by $MGVXADS format.
FORMATS VALUE $MGVXADS
VMACVMXA '00'X='00X:IDLE'
Feb 23, 2012 '08'X='08X:SUSPENDED'
'2C'X='2CX:UNKNOWN'
'37'X='37X:TEST IDLE'
'42'X='42X:READY FOR SELECTION'
'4D'X='4DX:SELECTED FOR PROCESSING'
'58'X='58X:REVIEW IDLE'
'63'X='63X:REVIEW SUSPENDED'
OTHER=?< $HEX2. ?>
;
Thanks to Joe Faska, Depository Trust, USA.
Change 30.029 ODS macro enhanced with USERTEXT= argument so you can add
VMXGODSO options to the generated ODS statement.
Feb 23, 2012
Change 30.028 RMF III dataset ZRBASI Report Class Name/Description vars
VMACRMFV ASIRNM and ASIRDE can have hex zero values, because IBM
Feb 23, 2012 relocated the fields; SVPDCL is now 144 vs the documented
and expected length of 76. Now, ASIRNM is tested for hex
zero and the INPUT moved when found true.
-Same change made for ZRBENC for ENCRNM and ENCRDE.
Change 30.027 Variable SM1209BM, WebSphere Version Number, defaulted to
VMAC120 length $7 from the original equation, but as it can now
Feb 22, 2012 have a value of '7.0.0.15', its length is now set to $8.
Thanks to Rudolf Sauer, T-Systems International GmbH, GERMANY
Change 30.026 %UTILCPLG will copy your .LOG and .LST files, adding the
UTILCPLG date-time into the new file name, when you run MXG on
Feb 17, 2012 Windows or Unix platforms in BATCH execution, so you can
archive and identify each MXG job's log/list files.
The %UTILCPLG; statement must be the last statement in
your xxxxxxxx.sas batch program; the log filename will be
xxxxxxxx-16FEB12-19-51.LOG. The new named files are kept
in the execution directory by default, but arguments let
you store them in other destinations.
Thanks to Chip Parsons, Ingram Books, USA.
Change 30.025 Support for TMON for MQ Version 2.2/2.3/2.4 INCOMPATIBLE.
VMACTMMQ All three version's LMRKVRSN field changed from binary to
Feb 16, 2012 EBCDIC. Version 2.4 changed the fixed offset of @37 to
Feb 24, 2012 @81 but that was NOT documented. The actual data segments
Mar 1, 2012 content was not changed in these three iterations, and
Mar 5, 2012 only Version 2.2 and 2.4 have been validated with data.
-ASG TMON for MQ variables REGNTIME,QAINTS,QAINTE,QAOPENTM
and QACLOSTM were all on the GMT clock, while all other
datetimestamps are on the LOCAL clock. This change uses
the ENDTIME (LOCAL) and the REGNTIME (GMT) to calculate
the GMT offset (REGNTIME can be scores of milliseconds
later than ENDTIME due to differing resolutions):
GMTOFFTM=100*FLOOR((REGNTIME-ENDTIME+10)/100);
and then the GMT datetimes are converted to LOCAL using
REGNTIME=REGNTIME-GMTOFFTM;
-The label for REGNTIME was wrong; it is corrected to be:
REGNTIME='DACLK*WHEN RECORD*WAS WRITTEN'
Thanks to Homayoun Riazi, UHC, USA.
Thanks to Paul Volpi, UHC, USA.
Thanks to Michael Ellingson, UHC, USA.
Thanks to James D. Lieser, UHC, USA.
Change 30.024 New format MG073FE decodes SMF73GEN and R79CGEN FICON
FORMATS Express "Generation", precipitated by Martin's MXG-L post
VMAC73 and Pat's update request and Brian's reminder to include
VMAC79 79's, with some values below provided by Cathy.
Feb 17, 2012 Dec 2: IBM confirmed reports print the hex value, so MXG
Nov 5, 2012 now formats SMF73GEN as hex to be consistent with that
Dec 2, 2012 undocumented-by-IBM design, but RMF Level 2 has NOT been
able to document if any of the unknown values below exist
01X='01X:FEX OP@1GBPS'
02X='02X:FEX OP@2GBPS'
03X='03X:FEX2/FEX4 AUTO@1GBPS'
04X='04X:FEX2/FEX4 AUTO@2GBPS'
05X='05X:FEX4 OP@4GBPS'
06X='06X:????'
07X='07X:FEX8 AUTO@2GBPS'
08X='08X:FEX8 AUTO@4GBPS'
09X='09X:FEX8 OP@8GBPS'
0AX='0AX:????'
0BX='0BX:????'
0CX='0CX:????'
0DX='0DX:????'
0EX='0EX:????'
0FX='0FX:????'
10X='10X:????'
11X='11X:FC_S'
12X='12X:????'
13X='13X:FC_S*FICON EXPRESS8S'
Nov 5: Decimal value 17 and 19 were found by IBM's Martin
Packer although others in IBM support are apparently not
aware of those undocumented values.
Dec 2: APAR OA40204 reports 'FC_?' or blank value may be
printed for channels dynamically added; restart of the
RMF address space will correct to FC_S.
Dec 11: IBM RMF Level 2 confirmed that RMF reports show
value '13' unexplained for FICON Express 8S so the MXG
format was expanded to include that descriptions in the
FORMATS member and above.
Thanks to Dr. H. Pat Artis, Performance Associated, USA.
Thanks to Brian Currah, Independent Consultant, CANADA.
Thanks to Martin Packer, IBM, ENGLAND.
Thanks to Cathy Cronin, IBM, USA.
Thanks to Linda Berkeley, DISA, USA
Change 30.023 A third-party product creates invalid DB2 ID=101 records.
VMACDB2 MXG's error message cites 1994's Change 12.220 and APARs,
VMACSMF because IBM made the same error (IFCID=239 as subtype 0
Feb 14, 2012 versus correct subtype=1) back then. This change reads
the DB2 Header and uses the IFCID to set the SUBTYPE for
ID=101 to circumvent the product's error, so the customer
won't have to wait for their vendor to fix their record.
The error occurs in both DB2 V9.1 and DB2 V10.1 records;
in V10.1, IBM (finally!) populates the first byte of the
SMF header for ID=100/101 with the "record has subtypes"
bit, but that enhancement was not made in this product.
The MXG customer chose to not identify the third-party.
March 7: MXG customer reports vendor corrected the error.
But this change is robust and will be left in place.
July 27: See Change 30.137. This change was NOT robust!
Change 30.022 Cosmetic. Format $MGDB2PK was associated with variable
VMACDB2 QPACAAFG but was lost in 29.29 and 30.01. It is restored
Feb 14, 2012 now but FORMAT QPACAAFG $MGDB2PK.; can be used in your
DB2 reports to "print pretty".
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
====== Changes thru 30.021 were in MXG 30.01 dated Feb 13, 2012=========
Change 30.021 -Numerous updates for processing RACF Unload under ASCII.
EXRAC130 Variables input as $EBCDIC should have been $CHAR in 0500
EXRAC207 and later records; double-question-mark protection for
EXRAC208 missing values has been added.
EXRAC280 -New ACCOUNT variable is created in RACF0220 and RACF0260
EXRAC2B0 as length $40 containing both ACCOUNT1 and ACCOUNT2.
EXRAC508 -Structural support for new RECTYPE values defines all the
EXRAC5B0 macros and creates/updates the members to create datasets
IMACRACF for 0130,0207,0208,0280,02B0,0508 and 05B0, but in this
VMACRACF iteration, none of those records are yet decoded; only
VMXGINIT variable ZDATE is kept in those new datasets.
Feb 12, 2012
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 30.020 Support for MacKinney Systems VTAM SWITCH USER SMF RECORD
EXVTSW01 creates these four datasets:
EXVTSW02 DDDDDD DATASET DESCRIPTION
EXVTSW03
EXVTSW04 VTSW01 VTAMSW01 USER SIGNON EVENT
IMACVTSW VTSW02 VTAMSW02 USER SIGNOFF EVENT
TYPEVTSW VTSW03 VTAMSW03 SESSION START EVENT
TYPSVTSW VTSW04 VTAMSW04 SESSION STOP EVENT
VMACVTSW This support has not yet been data-validated.
VMXGINIT
Feb 10, 2012
Thanks to Eric R. Carlson, Kroger
Change 30.019 Cosmetic. Both members incorrectly had RACFIN as the DD
TYPERACF name, but the correct DDNAME was always IRDBU00 to read
TYPSRACF the unloaded RACF Database, as that is also the program
Feb 10, 2012 name used to create the unloaded file.
Thanks to Donald Williams, UNC Health Care System, USA.
Change 30.018 -Cosmetic, but confusing. The label for TYPE4224 variable
VMAC42 AORMEMNM contained "RENAMED" but the corrected label and
Feb 9, 2012 events are AORMEMNM='ADDED OR*REPLACED*MEMBER*NAME'.
-New variable ADDREPLA contains A or R for ADD/REPLACED.
-Dataset TYPE4225 is created for RENAMEs.
Thanks to Joe Kimberly, Yellow Freight, USA.
Change 30.017 MXG 29.29 ITRM. ERROR: DATASET DB2ST225 IS NOT SORTED.
DOC ITRM SAS Note 45583 documents the error and ultimate fix,
Feb 9, 2012 but it is circumvented, simply, by inserting
%LET EPDBOUT=_SDB2225;
as the first statement in your //SYSIN DD.
Change 30.016 RMF III dataset ZRBLCP did not remove duplicates when it
VMACRMFV was sorted; variables LPARNAME LPARNUM LCPUADDR were
Feb 8, 2012 added at the end of MACRO _BZRBLCP to correct.
Thanks to Wayne Bell, UniGroup, USA.
Change 30.015 MXG 29.29. JCL Proc examples had a trailing comma on the
MXGSAS new (unused, for the future) //MXGTEMP DD statement that
Jan 24, 2012 needed to be removed.
Change 30.014 -Support for APAR OA33947/OA339448 which adds four fields
ASUMTAPE to the TYPE21/PDB.TAPES (tape dismount) dataset:
VMAC21 SMF21MCR='BYTES*READ*BY*CHANNEL'
Feb 8, 2012 SMF21MCW='BYTES*WRITTEN*BY*CHANNEL'
SMF21MDR='BYTES*READ*BY*DEVICE'
SMF21MDW='BYTES*WRITTEN*BY*DEVICE'
-ASUMTAPE was enhanced to also add these four variables,
plus SMF21CRR and SMF21CRW to PDB.ASUMTAPE.
-These fields exist with the APAR (record is longer), but
they are only populated for IBM System Storage TS1140
Tape Drive, device type 3592 Model E07, which has three
new 3592 media types (MEDIA11/12/13) and two new
recording formats EFMT4 (enterprise format 4) and EEFMT4
(enterprise encrypted format 4). MEDIA11/MEDIA12 have a
non-compressed capacity of 4000 GB and MEDIA13 500 GB.
Thanks to Scott S. Throckmorton, SPRINT, USA.
Thanks to John A. Napuarno, SPRINT, USA.
Change 30.013 If you specified RUNWEEK=YES on zOS you may have gotten
BLDSMPDB an MXGWARN message about overlaying weekly datasets. If
Feb 8, 2012 you are using fixed allocations for your weekly datasets
this is normal and can be ignore but, if you are using
GDGs (recommended) and/or putting the weekly to tape it
is not needed. BLDSMPDB now looks (on zOS) to see if
you specified WEEKTAPE=YES or are writing to a GDG and
then suppresses the copying of the weekly PDBs.
Thanks to Peter Farrell, Commerce Bank of Kansas, USA.
Change 30.012 Cosmetic. Removal of the annoying and useless SAS note
VGETOBS RUN STATEMENT HAS NO EFFECT ON PROC SQL, by the insertion
Feb 8, 2012 of a QUIT statement after each PROC SQL. Members touched:
VGETFMT VGETLABL VGETLEN VGETLIBS VGETOBS VGETVAR
VMXGCNFG VMXGDSNL VMXGENG VMXGLBIN VMXGOPTR VMXGPPDS
VMXGUOW ANALID
Thanks to Nick Johns, Sainsbury's Supermarkets Ltd, ENGLAND.
Change 30.011 CRITICAL ERRROR FOR JES3 BUILDPD3 users with MXG 29.29:
BUIL3005 Line 483 in BUIL3005 MUST BE CHANGED TO (MULTIDD=' ').
Feb 8, 2012 That line in 29.29 had MULTIDD='Y' which caused the PDB
library datasets PDB.JOBS/PDB.STEPS/PDB.PRINT to all be
COMPLETELY WRONG. Change 29.263 correctly made the change
to the BUILD005 member for JES2 but was reversed in the
JES3 BUIL3005 member.
Thanks to Rob Hermes, Sentry Insurance, USA.
Change 30.010 Variable STFBIT06 was incorrectly set equal to STFBIT05.
VMAC7072 Variable STFBIT07='SMF70GAU*VALID?' is created and kept.
Feb 8, 2012
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 30.009 -Support for SMF 119 Subtype 6 z/OS 1.13 INCOMPAT. Doesn't
VMAC119 cause an error, but values in 2nd and subsequent segments
VMXGIPV6 are trashed because MXG did not protect for a change in
Jan 31, 2012 length of the subtype 6 record.
Feb 7, 2012 -Subtype 2 TTAPLDAT variable supported.
Jul 12, 2012 -Support for all IPV6 addresses in TYPE119 datasets, using
the VMXGIPV6 %macro to convert the $CHAR16 hex field into
the 39-character format. Some IPV6 addresses did exist in
variables with names ending in 6, but this new suite of
variable's names end with IPV6.
-Only these SMF 119 subtypes have been validated with data
1,2,3,5,6,7,10,20,21,70 and 72.
-The subtype 2 record has an old note suggesting that
Because this information duplicates all information
contained in the TCP connection initiation (subtype 1)
record, only collect the TCP connection termination
record (subtype 2).
-Jul 13: Variable UCLIPV6 was not kept until now; it was
incorrectly spelled UCLIPB6 but could be added using
_KT11910.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Thanks to Robert Hamilton, Chemical Abstracts Service, USA.
Thanks to Jose Neto, Public Authority Civil Info, KUWAIT.
Thanks to Arylon Brooks, Verizon Wireless, USA.
Thanks to Scott S. Throckmorton, SPRINT, USA.
Change 30.008 CICS/TS 4.2 ERROR INVALID STILEN for STID=116 Statistics
VMAC110 record was an MXG coding error exposed by the 156 bytes
Jan 31, 2012 of new data that MXG had overlooked, causing the CICSJS
dataset to have no observations created, and possible MXG
skipping subsequent statistics segments in that record.
New variables added to CICSJS dataset are:
SJSGCPOL='GC*POLICY'
SJSHEAPC='CURRENT*HEAP'
SJSHEAPI='INITIAL*HEAP'
SJSHEAPM='MAXIMUM*HEAP'
SJSHEAPO='HEAP*OCCUPANCY'
SJSHEAPP='PEAK*HEAP'
SJSHVMCL='JVM*CREATION*DATETIME*LOCAL'
SJSJVMCG='JVM*CREATION*DATETIME*GMT'
SJSMAJCP='TOTAL*CPU IN*MAJOR*GC'
SJSMAJFR='STORAGE*FREED*BY*MAJOR GC'
SJSMAJGC='MAJOR*GC*COLLECTIONS'
SJSMINCP='TOTAL*CPU IN*MINOR*GC'
SJSMINFR='STORAGE*FREED*BY*MINOR GC'
SJSMINGC='MINOR*GC*COLLECTIONS'
SJSSYTHN='NR WAITING*ON*SYS*THREAD'
SJSSYTHP='PEAK*WAITING*ON SYS*THREAD'
SJSSYTHU='SYSTEM*THREAD*USE*COUNT'
SJSSYTTM='TOTAL*WAIT*SYSTEM*THREAD'
SJSSYTCN='WAITS ON*SYSTEM*THREAD'
Thanks to Thomas H. Puddicombe, CSC, USA.
Change 30.007 PMSTA01/PMSTA02 DB2 Statistics reports with INTERVAL=DATE
ANALDB2R created multiple observations for each date because SHIFT
VMXGDBSS was in the SUMBY= list in VMXGDBSS. That SUMBY argument
Jan 29, 2012 is now a parameter with the current default values and
uses the new parameter in ANALDB2R when required by the
requested INTERVAL value. Also, errors in page numbering
were cosmetic - no data was skipped - just page numbers
were, due to an extra LINK in the heading routine.
Thanks to Charles Savikas, DCF, State of Florida, USA.
Change 30.006 Support HSM USER SMF changes (COMPATIBLE) in z/OS 1.12.
VMACHSM -Dataset HSMDSRST:
Jan 29, 2012 DSRFRBKT DSRFRBKF DSRFRRCT DSRFRRCF
-Dataset HSMFSRBO:
FSRF9ATT FSRSRCDV FSRRETDY FSRDLMD FSRDLUD FSRBDATE
FSRDATRD FSRDLMD DSRDATED
-Dataset HSMFSRST:
FSRF9ATT FSRSRCDV FSRRETDY
FSRDLMD FSRDLUD FSRBDATD FSRDATRD FSRDLMD
-Dataset HSMVSRST:
VSRFRBKT VSRFRBKF VSRFRRCT VSRFRRCF VSRDATED
-Dataset HSMWWFSR:
WFSRCONT WFSRDATR WFSRRMTS WFSRDATE WFSRDATS WFSRRSTS
WFSRRETS WFSRXMNT WFSRHOST WFSRF9AT
-These existing variables still contain julian date values
DSRDATE FSRDLM FSRDLU FSRBDATE FSRDATR VSRDATE
but new corresponding SAS DATE variables are now created
with DATE9. format (prints 29JAN2012) for prettiness and
so they can be directly subtracted for delta-days:
DSRDATED FSRDLMD FSRDLUD FSRBDATD FSRDATRD VSRDATED
These date variables were never kept; they are now kept
and are now SAS Date Variables with DATE9. format.
WFSRDATR WFSRDATS WFSRDATE
Variable FSRDATE is always missing; it was sometimes
missing and sometimes 0 (which printed 01JAN1960).
-Datasets HSMFSRTP and HSMWWVOL had no observations so
they have not been validated.
Thanks to Randall R. Schlueter, First Data Corporation, USA.
Change 30.005 If you used UTILBLDP to create your BUILDPDB code and
UTILBLDP you used the MXGINCL parameter to include members that
BLDSMPDB were not in the default list, they were ignored. Now
Jan 29, 2012 they will not be ignored. They can alternatively be in
the INCLAFTR= parameter (where they wouldn't have been
ignored). When BLDSMPDB used the output of UTILBLDP as
as the source of the BUILDPDB code, it didn't use the
AUTOINC= parameter, but now it does. With this change
members can be included after the BUILDPDB step from one
one of these three parameters:
UTILBLDP - MXGINCL or INCLAFTR
BLDSMPDB - AUTOINC
But, if the same member appears in more than one it will
be executed more than once.
-MXGINCL should primarily be used to remove these members
that are automatically included:
ASUMUOW ASUMCICX ASUM70PR ASUMCACH ASUMTAPE
ASUMTMNT ASUMTALO ASUMDBAA ASUMDBSS
One or more can be removed if you choose. The same is
true of the AUTOINC parameter in BLDSMPDB, but when you
build the BUILDPDB code with UTILBLDP, that parameter is
not used.
Thanks to Peter Farrell, Commerce Bank of Kansas, USA.
Change 30.004 Some FICON-related variables values were wrong in TYPE73.
VMAC73 RMF documentation implied that DURATM should be used for
Jan 27, 2012 the interval duration, but the Channel Path Measurement
Interval SMF73PTI should have been used, and subtraction
from EOC and ETC were also wrong. Fortunately, the input
variables to these calculated variables are in dataset
TYPE73 so they can be recalculated with this SAS code:
CHFRATE=SMF73EOC/SMF73PTI;
IF SMF73EOC GT 0 THEN CHFACTV=SMF73EOS/SMF73EOC;
ELSE SMF73EOC=.;
CHFDFER=SMF73EOD/SMF73PTI;
CHFXRATE=SMF73ETC/DURATM;
IF SMF73ETC GT 0 THEN CHFXACTV=SMF73ETS/SMF73ETC;
ELSE SMF73ETC=.;
CHFXDFER=SMF73ETD/SMF73PTI;
without rebuilding the TYPE73 dataset from SMF records.
And the RMF documentation will (hopefully) be revised.
Thanks to Steve Olenik, IBM System z Processor Performance, USA.
Change 30.003 Spurious XAM INVALID CPU RECORD messages were due to a
VMACXAM mislocated SKIP=0; statement if SEGLEN=100. This MXG
Jan 27, 2012 error caused XAMCPUBY to have only one observation.
Thanks to Robert Obee, IMSHealth, USA.
Change 30.002 Change 29.238 typo in line 250:
VMACM204 IF ID= _M204LOG OR _IDM204L THEN DO;
Jan 27, 2012 was corrected to
IF ID= _M204LOG OR ID= _IDM204L THEN DO;
So that the correct Model 204 dataset was output.
Thanks to Steve Bagshaw, Marks & Spencer, ENGLAND.
Change 30.001 MXG Format MGD319F had reversed decoding the Encryption
FORMATS type. The correct values are: '00'X:DES, '40'X:AES.
VMAC102 -Variable QW0319UR is created from first bit of QW0319FL,
Jan 25, 2012 QW0319FLL is now used for the input of QW0319FL (so that
any new bits are available), and QW0319FL will be either
'00'X or '40'X (unless IBM changes its definition).
Thanks to Jason Bierman, Great Lakes Educational Loan Services, USA.
LASTCHANGE: Version 30.
=========================member=CHANGE29================================
/* COPYRIGHT (C) 1984-2012 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 29.29 is dated Jan 23, 2012, thru Change 29.307.
Second MXG Version 29.29 is dated Jan 18, 2012, thru Change 29.301.
First MXG Version 29.29 was dated Jan 17, 2012, thru Change 29.298.
MXG Version 29.09 was dated Jan 4, 2012, thru Change 29.291.
MXG Version 29.08 was dated Dec 20, 2011, thru Change 29.284.
MXG Version 29.07 was dated Nov 24, 2011, thru Change 29.262.
Second MXG Version 29.07 was dated Nov 21, 2011, thru Change 29.259.
First MXG Version 29.07 was dated Nov 14, 2011, thru Change 29.253.
MXG Version 29.06 was dated Sep 8, 2011, thru Change 29.204.
First MXG Version 29.06 was dated Sep 1, 2011, thru Change 29.198.
MXG Version 29.05 was dated Jul 11, 2011, thru Change 29.151.
MXG Version 29.04 was dated May 17, 2011, thru Change 29.116.
Final MXG Version 29.03 was dated Apr 19, 2011, thru Change 29.094.
First MXG Version 29.03 was dated Apr 11, 2011, thru Change 29.086.
Early MXG Version 29.03 was dated Apr 4, 2011, thru Change 29.077.
MXG Version 29.02 was dated Mar 1, 2011, thru Change 29.050.
MXG Version 29.01 was dated Feb 4, 2011, thru Change 29.022.
First MXG Version 29.01 was dated Feb 3, 2011, thru Change 29.020.
Annual MXG Version 28.28 was dated Jan 18, 2011, thru Change 28.331.
MXG Newsletter FIFTY-SEVEN is dated Jan 18, 2011.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 29.29 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 29.29.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
=======================================================================
I. MXG Version 29.29 dated Jan 23, 2012, thru Change 29.307.
Major enhancements added in MXG 29.29, dated Jan 23, 2012
TYPEIMS 29.307 Support for IMS Version 12: Adds ZIIP/ZAAP CPU times.
RMFINTRV 29.305 INTERVAL=SHIFT generated warnings & incorrect output.
TYPETMS5 29.304 USER ABEND 1234 can be bypassed for TMSCLEAN input.
IMACICRD 29.302 Comment within comment block if default used.
Major enhancements added in MXG 29.29, dated Jan 18, 2012
TYPENDM 29.301 Old Version 4.7 "PS" record INPUT STATEMENT EXCEEDED.
TYPERMFV 29.300 Wrong ASMRMFV in first 29.29, VMACRMFV updated.
Major enhancements added in MXG 29.29, dated Jan 17, 2012
VMACSMF 29.290 USER ABEND 69 due to invalid SMFTIME now bypassed.
TYPENDM 29.295 NDM/Connect-Direct V5.0 added jobname/jctjobid.
TYPEXAM 29.294 Support for VNDNIC, LPARNW, USVCPU segments.
TYPE110 29.293 Support for CICS Statistics STID=143 and 144.
ASMDBLKU 29.289 ASMDBLKU, ASM version of UDEBLOCK, revised.
ASMRMFV 29.297 Continued RMF III enhancements.
TYPERMFV 29.297 Continued RMF III enhancements.
TYPEDCOL 29.296 DCOLLECT support updated to execute on ASCII.
BLDSMPDB 29.292 Support for execution under unix.
VMXGALOC 29.292 Support for execution under unix.
VMXGPPDS 29.298 Compare contents of multiple PDS/PDSE libraries.
Major enhancements added in MXG 29.08, dated Dec 22, 2011
ANALGRID 29.284 Color-intense grid of "hot spots" of any variable.
(Examples http://www.mxg.com/downloads, ANALGRID.)
ASUM4HRS 29.268 %MACRO calculates "Four Hour" running average values
(or running average for any number of hours).
VMAC30 29.281 CPUTASKALLTM and PCTTASKTIME added SMFINTRV/TYPE30_V.
("Task Time" is recommended by IBM for analysis).
ASMTAPEE 29.280 "YOU SPECIFIED ASCENV" Assembly error with z/OS 1.13.
(MXGTMNT does NOT need to be reassembled on 1.13)
TYPE16 29.264 Support for DFSORT z/OS 1.13 COMPAT new variables.
TYPESVIE 29.273 Support for SYSVIEW subtypes 34 and 35.
TYPETLMS 29.269 Support for CA TLMS tape library 2003 record changes.
TYPETMS5 29.274 CA-1 TMS Extended Format TMC records have no impact.
TYPE120 29.272 SM1209CI and SM1209CX can be negative.
MXGSASxx 29.265 MXGTEMP temporary DDNAME/FILENAME added to MXG JCL.
ASMRMFV 29.279 RMF III RCD INPUT STATEMENT EXCEEDED error.
Major enhancements added in MXG 29.07, dated Nov 24, 2011
TYPEIMST 29.230 Further updates to IMS56FA transaction processing.
SMFSRCH 29.236 SMFSRCH, search SMF records for text, print all obs.
TYPE7072 29.220 Support for z/OS 1.13 (WAS IN MXG 29.03 or later).
TYPETMO2 29.244 Support for TMON/CICS V3.3 (mostly COMPATIBLE) TCE.
TYPEQACS 29.208 Support for IBM i-series (AS400), more than 32 CPUs.
TYPEDB2 29.213 Support for DB2 V10 IFCID 225 Subtype4 INCOMPATIBLE.
TYPETPMX 29.211 Support for Throughput Manager APAR TMT6214, st=16.
TYPEBETA 29.233 Support for BETA93 Version 4.1.0 subtype 25 changes.
TYPEAXWY 29.231 Support for Axway CFT/ESA (Cross File Transfer) SMF.
TYPEPOC 29.219 Support for Tivoli Workload Schedulr Ver 8.3 INCOMPAT
TYPEFERT 29.247 Support for ZEN FERRET V2.3 (INCOMPATIBLE).
TYPEMPLX 29.247 Support for ZEN IMPLEX V5.1 (COMPATIBLE)
TYPEZOSA 29.247 Support for new ZEN OSA MONITOR V1.3 SMF records.
TYPEITRV 29.223 Support for APAR OA37114, ITRF (OMEGAMON IMS V420)
TYPE70x 29.239 Variable SHIFT (used as "ZONE") added to all RMF.
TYPEDB2 29.209 DB2 V10 ID=100 ST=1 INVALID HEADER.
TYPEVMXA 29.207 z/VM MONWRITE Broken Control Rec if 2.14 (SCALL) rec.
TYPE102 29.235 IFCID=22 in Change 28.234 wrong in DB2 V9.
TYPSXAM 29.249 TYPSXAM didn't sort all XMdddddd datasets to the PDB.
ASUM113 29.243 Calculation of ESTSCP1M incorrectly had small values.
ASMRMFV 29.217 Enhanced RMF III RCDSD section support, CHAR->NUM fix
TYPE120 29.240 Length of Character Variable SMF1209FH can't change.
TYPEaaaa 29.238 All USER SMF have MACRO _IDaaaa nnn as SMF record id.
TYPE16 29.232 DFSORT variables ICEMNVLX, ICEMNVLY, ICEMNVLZ wrong?
TYPETPMX 29.229 TPMCA7JN, TPMPI, and TPMDUEOT may be wrong.
TYPE1415 29.226 False ERROR.TYPE1415.DEFECTIVE.EXTENDED... log msg.
TYPEDB2 29.225 INVALID DB2 V10 QMDA segment for QMDAPTYP='JCC'.
TYPE80A 29.223 New TOKENIDs starting with NOxxxx (NOCPUTIMEMAX, etc)
TYPE110 29.221 CICS Statistics datasets CICDB2GL,CICSMDSA, corrected
TYPE119 29.215 Variables T119STCK/TISSTCK/TIESTCH were still GMT.
TYPE78PA 29.214 Values in TYPE78PA ending with TOTL could be wrong.
TYPE845 29.212 Invalid JES3 JMF SMF 84 Subtype 1 Segmented Records.
Major enhancements added in MXG 29.06, dated Sep 8, 2011
SAS V9.3 29.159 Support for SAS Version 9.3 - SAS Hot Fix E80004:
SAS V9.3 Hot Fix E80004 (for SAS Problem Note SN43828) is REQUIRED
to correct an error in the %MACRO compiler, which is SAS portable
code, so the Hot Fix is required for ALL platforms for SAS V9.3.
The %MACRO compiler error is in processing %LET statements.
While only two MXG members actually failed in MXG QA tests, ANY
use of %LETs can fail in MXG (or in your own %MACRO code).
MANY 29.169 MXG ODS HTML ASCII examples failed if no PATH=.
Seen first with SAS V9.3; complete revision of MXG ODS HTML examples
with new %macros with consistent arguments, etc, for all platforms.
TYPEVMXA 29.172 Support for APAR VM64961, SMF 113 in z/VM MONWRITE!!
TYPE113 29.176 Support for APAR OA36816, SMF 113 HIS DATALOSS parm.
IBM now recommends SMF 113 always be created.
TYPEIMST 29.162 Validation of TYPEIMST, many changes for IMS56FA.
Finally: IMS Transaction CPU/Response from ONE IBM IMS LOG RECORD.
TYPEADAB 29.189 Support for Software AG's ADABAS SMF user record.
TYPECFS 29.186 Support for InfoSphere Classic Federation Server SMF.
TYPE23 29.177 Support for APAR OA35175, logstream stats in SMF 23.
TYPE30 29.175 Support for APAR OA35617, SMF30CRM VELOCITY MNGED?
TYPE30 29.174 Support for APAR OA34895, EXCP/IOTM Missed, SMF Lock.
TYPE57 29.173 Support for APAR OA36966, JES3 expanded NJEJOBNO.
TYPEIDMS 29.156 Support for IDMS/R Performance Monitor Version 18.
TYPEVMXA 29.163 z/VM Crypto Record (5,10) with PRCAPMCT=6 error.
TYPE115 29.161 MXG 29.03-MXG 29.05 dataset MQMCFMGR was wrong.
TYPEDM 29.158 NDM-CDI Version 5 new fields supported.
TYPE110 29.155 CICS/TS 4.2 Statistics variables overlooked, added.
VMXGSUM 29.154 AUTOCALL %macro's %CMPRES/%QCMPRES removed.
TYPE111 29.153 UNDECODED CTGRECID message, possible CPU loop.
TYPE7072 29.152 VMSYSTEM='Y' RMF records validated, and revised.
RMFINTRV 29.194 Stats on Page Dataset Slot Usage added to RMFINTRV.
ASUM113 29.193 zVM MONWRITE VXPRCMFC (SMF 113 for z/VM) included.
ASUMUOW 29.188 Case 4 example prevents blank TRANNAME in ASUMUOW.
ASMRMFV 29.187 Do not use ASMRMFV in MXG29.05, fails with 0C4 ABEND.
GRAFWRKX 29.185 Workload RMFINTRV graph's update uses new workloads.
Major enhancements added in MXG 29.05, dated Jul 11, 2011
TYPE110 29.135 Support for CICS/TS 4.2. CICSTRAN supported in 29.03.
TYPE110 29.149 Support for CICS/TS 4.2. MNSEGCL=5 requires 29.05.
TYPE120 29.136 Support for WebSphere WAS 8.0 (COMPATIBLE).
TYPE70 29.127 Support for z/OS 1.12 VMGUEST option, CPU Time in 70.
TYPEIMST 29.144 IMS Transactions in IMS56FA, replaces JCLIMSL6!!!
TYPETIMS 29.123 Support for TMON/IMS Version 3.0 (INCOMPATIBLE).
TYPEPOEX 29.134 Support for Informatica's POWER EXCHANGE SMF record.
TYPEDB2 29.140 New LUUVTIME instead of QWACBSC for start time.
TYPE90A 29.142 Enclave variables decoded in TYPE9030 dataset.
TYPEVMXA 29.133 z/VM LPARNAME, LPNUMBER kept in PDB.VMXAINTV.
UTILARCH 29.137 New UTILARCH archives data (like Outlook archive).
TYPEDB2 29.131 DB2PARTY added to DB2ACCTP, Rollup impact documented.
TYPEDB2 29.128 DB2 INVALID DISTRIUTED HEADER message corrected.
TYPEDB2 29.121 QWHADSGN/QWHAHAMN were sometimes blank.
TYPE102 29.125 DB2 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED error.
TYPEVMXA 29.129 MXGERROR DM 5 RC 10 UNDECODED PRCAPMCT due to IBM.
TYPEXAM 29.126 XAM variables in VXSYTEP2 were not all input/kept.
TYPE111 29.124 Variables CTGIAREQ/CTGLALRQ revised keeps.
ANALDB2R 29.145 Performance and Reporting Enhancements
Major enhancements added in MXG 29.04, dated May 17, 2011
TYPE105 29.100 Support for GDPS Global Mirror V3R8 SMF 105 record.
DB2ACCT 29.111 DB2 CICS TRAN name could be wrong, now from QWHCCV.
TYPEIMSA 29.110 the exit _IMSTRN invocation was accidentally removed.
BUIL3005 29.106 JES3 PDB.JOBS variable JOBCLAS8 has after change.
VMXGSRCH 29.103 RESULTS=FINDVAR finds all datasets with a variable.
TYPE70PR 29.098 Counts ICFCPUS/IFLCPUS/IFACPUS/ZIPCPUS too high.
TYPE110 29.097 INPUT EXCEEDED 110-2 MNSEGLC=5 with DPL segment
Major enhancements added in MXG 29.03, dated Apr 19, 2011
TYPE110 29.094 1st MXG 29.03 ONLY. CICSTRAN CPUTM plus fields WRONG.
TYPE116 29.057 Support for Websphere for z/OS MQ Version 7.0.1.
TYPE115 29.057 Support for Websphere for z/OS MQ Version 7.0.1.
TYPEBBMQ 29.056 Support for MainView MQ (MVMQ) Version 4.4.
TYPEQACS 29.078 Support for OS/400, AS/400 Version 7.1 (INCOMPATIBLE)
TYPE110 29.076 CICS CPUTM exceeds ELAPSTM, zAAP/zIIP Equivalent time
TYPE120 29.081 Support for User Field in SMF 120 Subtype 9 record.
TYPETPMX 29.071 Support for Throughput Manager subtype 10 and 16.
TYPENTSM 29.075 Support for 62 new objects and 1425 new NT metrics.
UTILVREF 29.075 MXG now creates DATASET names up to 32 characters.
BUILDPDB 29.068 MXG 28.28-29.02. ABEND=JCL obs missing in PDB.JOBS.
TYPERACF 29.067 RACF UNLOAD dataset RACF0270 UID limit variables.
TYPEBETA 29.059 Support for Beta 93 Version 4.2 subtypes 25/50.
TYPE30 29.058 Variable CPUCEPTM always now set to a missing value.
MONTHxxx 29.052 SAS 9.1.3 Only. %QCMPRES needed versus %CMPRES.
TYPE85 29.093 INPUT STATEMENT EXCEEDED st 79, z/OS 1.12.
ASUM70PR 29.092 ZIPCPUS/IFACPUS included parked time.
TYPEVMXA 29.092 z/VM new PDB.VXINTUSR sums all engines for each VM.
Major enhancements added in MXG 29.02, dated Mar 1, 2011
VSETMNTH 29.041 POSSIBLE LOSS OF MONday DATA IN FEBRUARY MONTHLY PDB.
(Unfortunately, EVEN with the newest MXG 29.01).
The MXG2828 or MXG2901 ftp credentials are still valid;
you can download 29.02 and copy the two members you need
(VSETMNTH, and BUILDxxx or BLDSMPDB), or you can ftp
only those specific files to correct the error, for this
month and for future months, or you can install 29.02.
Without these updated members/29.02, future MONTHly's can
also be missing one or more day's PDBs in your MONTH PDB.
The complete details are in Change 28.041, below.
TYPENDM 29.042 Support for NDM-CDI Version 5 records (COMPATIBLE).
VMACDB2H 29.037 DB2 V9.1 false "INVALID DISTRIBUTED HEADER" message.
TYPE30 29.034 Invalid data for SMF30RGT is true, circumvented.
TYPECIMS 29.033 Support for IMF Version 4.5 is in place.
TYPE0 29.032 PDB.IPLS, now, DOES always report a SYSTEM IPL.
TYPEDB2 29.031 DB2 V9.2 only, most QBGxxx variables DB2GBPST wrong.
TYPEVMXA 29.026 Support for zVM APAR VM64794 (COMPATIBLE).
TYPE30 29.025 Small negative CPUUNITS now set to zero.
TYPE26J2 29.024 Cosmetic: INREASON NOT DECODED messages corrected.
Major enhancements added in MXG 29.01, dated Feb 4, 2011
These two impacted MONTHLY build:
MONTHBLD 29.017 SERIOUS ERROR CORRECTED: last day's PDB skipped.
BLDSMPDB 29.017 LIBNAME WEEK1 not found corrected.
These two eliminate possibility of NOTSORTED errors:
BLDSMPDB 29.008 SORTEDBY=NO default to eliminate NOTSORTED exposure.
WEEKBLD 29.008 MXGNOBY default to eliminate NOTSORTED exposure.
MONTHBLD 29.008 MXGNOBY default to eliminate NOTSORTED exposure.
TYPEENDV 29.012 Support for Endeavor Version 14 (INCOMPATIBLE).
TYPE111 29.001 Support for IPIC creates obs in TY111CXI.
TYPE115 29.015 Support for MQ Version 7 compression statistics.
TYPE89 29.002 Support for APAR OA31615, zIIP/zAAP times added,
and false error messages are eliminated.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
MXG 26.03 thru MXG 29.09 will execute under SAS Version 9.3, on
all supported platforms, but SAS V9.3 Hot Fix E80004 is REQUIRED
(for SAS Problem Note SN43828) to correct an error in the %MACRO
compiler, which is SAS portable code, so the Hot Fix is required
for ALL platforms for SAS V9.3.
The %MACRO compiler error is in processing %LET statements. While
only two MXG members failed repeatedly in MXG QA tests on z/OS,
there were random %LET errors in ASCII QA tests, so ANY use of
%LET statement on ANY platform are vulnerable to this error, as
the %MACRO compiler is SAS portable code, used on all platforms.
With Hot Fix E80004, the full MXG QA test stream executed with no
errors, and there were no new warnings on z/OS. Users of ODS will
want MXG 29.06, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, now corrected in MXG Version 29.06.
See Changes 29.159 and 29.169.
To find the Hot Fix for all platforms, open http://www.sas.com,
and then search SAS Notes for 43828 (NOT SN-43828, NOT E80004),
and then Pull Down the Hot Fix tab.
MXG 26.03 thru MXG 29.29 will execute under SAS V9.2, or with
SAS V9.1.3 with Service Pack 4, on all supported SAS platform.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level B" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I can not guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3, FOR BOTH OF US, TO AVOID FIXED PROBLEMS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS Hot Fix SN43828 is required; see text of Change 29.159.
With that hot Fix, MXG Versions 26.03 or later should execute
under SAS V9.3 on all platforms without error.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2 and V9.3
are interchangeable and can be read/written by any of those
versions, provided they are on the same platform. (On ASCII,
the 32-bit and 64-bit SAS versions are NOT the same "platform".)
SAS V9.3 did change ODS processing defaults and syntax that
might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support V9.3 ODS, and MXG 29.06 is STRONGLY recommended for ODS
with SAS V9.3.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
and vice versa.
MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG QA tests are executed on z/OS with SAS V9.1.3 and V9.2 and
on Windows XP with 32-bit INTEL, and on Windows Seven Ultimate
32-bit and 64-bit OS on 64-bit hardware, but MXG is installed
on many more hardware and software platforms: since they all work,
we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 2.4 requires MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for "MXG Support for WPS Software"
IV. MXG Version Required for Hardware, Operating System Release, etc.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2010 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2010 29.08
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 29.05
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 Full plus Compressed. Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Webshpere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
IMS log 11.0 Apr 1, 2010 28.02*
IMS log 12.0 Jan 23, 2012 29.29*
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 27.07*
IMF 4.5 (for IMS 11.1) (No change since 4.4) 27.07
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 29.07
V. Incompatibilities and Installation of MXG 29.29.
1. Incompatibilities introduced in MXG 29.29:
a- Changes in MXG architecture made between 29.29 and prior versions
that can introduce known incompatibilities.
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 JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 29.29 after MXG 28.28:
Dataset/
Member Change Description
Many 29.169 MXG ODS HTML ASCII examples failed if no PATH=.
ANALDB2R 29.145 Performance and Reporting Enhancements
ASMDBLKU 29.289 ASMDBLKU, ASM version of UDEBLOCK, revised.
ASMRMFV 29.187 Do not use ASMRMFV in MXG29.05, fails with 0C4 ABEND.
ASMRMFV 29.217 Enhanced RMF III RCDSD section support.
ASMRMFV 29.279 RMF III RCD INPUT STATEMENT EXCEEDED error.
ASMTAPEE 29.280 "YOU SPECIFIED ASCENV" Assembly error with z/OS 1.13.
ASUM113 29.193 zVM MONWRITE VXPRCMFC (SMF 113 for z/VM) included.
ASUM113 29.243 Calculation of ESTSCP1M incorrectly had small values.
ASUM4HRS 29.268 %MACRO calculates "Four Hour" running average values
ASUM70PR 29.092 ZIPCPUS/IFACPUS included parked time.
ASUMMIPS 29.237 Calculation of ZIPUSED and ZIEUSED incorrect.
ASUMUOW 29.007 Doc: variables required for ASUMUOW/ASUMCICX.
ASUMUOW 29.009 ASUMUOW fails is //CICSTRN,//DB2ACCT on tape.
ASUMUOW 29.188 Case 4 example prevents blank TRANNAME in ASUMUOW.
BLDSMPDB 29.008 SORTEDBY=NO default to eliminate NOTSORTED exposure.
BLDSMPDB 29.017 LIBNAME WEEK1 not found corrected.
BLDSMPDB 29.246 A dash in filename text tripped up %UPCASE().
BLDSMPDB 29.292 Support for execution under unix.
BUIL3005 29.106 JES3 PDB.JOBS variable JOBCLAS8 has after change.
BUILDPDB 29.068 MXG 28.28-29.02. ABEND=JCL obs missing in PDB.JOBS.
DB2ACCT 29.111 DB2 CICS TRAN name could be wrong, now from QWHCCV.
DB2ACCTP 29.053 Doc. QWACxxxx variables in DB2ACCTP always missing.
EXITCICS 29.064 Rare (one-site) error in INFILE exit corrected.
GRAFWRKX 29.185 Workload RMFINTRV graph's update uses new workloads.
IMACICRD 29.302 Comment within comment block if default used.
JCLSPLIT 29.241 Example to split SMF had 102 records copied twice.
MONTHBLD 29.008 MXGNOBY default to eliminate NOTSORTED exposure.
MONTHBLD 29.017 SERIOUS ERROR CORRECTED: last day's PDB skipped.
MONTHxxx 29.052 SAS 9.1.3 Only. %QCMPRES needed versus %CMPRES.
MXGSASxx 29.265 MXGTEMP temporary DDNAME/FILENAME added to MXG JCL.
RMFINTRV 29.005 Doc: INTERVAL=QTRHOUR became default in 28.01.
RMFINTRV 29.194 Stats on Page Dataset Slot Usage added to RMFINTRV.
RMFINTRV 29.305 INTERVAL=SHIFT generated warnings & incorrect output.
SAS V9.3 29.159 Support for SAS Version 9.3 - SAS Hot Fix SN43828.
SMFSRCH 29.236 SMFSRCH, search SMF records for text, print all obs.
TYPE0 29.032 PDB.IPLS, now, DOES always report a SYSTEM IPL.
TYPE102 29.125 DB2 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED error.
TYPE102 29.235 IFCID=22 in Change 28.234 wrong in DB2 V9.
TYPE105 29.100 Support for GDPS Global Mirror V3R8 SMF 105 record.
TYPE110 29.076 CICS CPUTM exceeds ELAPSTM, zAAP/zIIP Equivalent time
TYPE110 29.094 1st MXG 29.03 ONLY. CICSTRAN CPUTM plus fields WRONG.
TYPE110 29.097 INPUT EXCEEDED 110-2 MNSEGLC=5 with DPL segment
TYPE110 29.135 Support for CICS/TS 4.2 was in 29.03.
TYPE110 29.155 CICS/TS 4.2 Statistics variables overlooked, added.
TYPE110 29.221 CICS Statistics datasets CICDB2GL,CICSMDSA, corrected
TYPE110 29.293 Support for CICS Statistics STID=143 and 144.
TYPE111 29.001 Support for IPIC creates obs in TY111CXI.
TYPE111 29.124 Variables CTGIAREQ/CTGLALRQ revised keeps.
TYPE111 29.153 UNDECODED CTGRECID message, possible CPU loop.
TYPE113 29.060 z196 Est Finite CPI, Est SCPL1m calcs revised.
TYPE113 29.080 New variables and label revisions.
TYPE113 29.176 Support for APAR OA36816, SMF 113 HIS DATALOSS parm.
TYPE115 29.015 Support for MQ Version 7 compression statistics.
TYPE115 29.057 Support for Websphere for z/OS MQ Version 7.0.1.
TYPE115 29.161 MXG 29.03-MXG 29.05 dataset MQMCFMGR was wrong.
TYPE116 29.057 Support for Websphere for z/OS MQ Version 7.0.1.
TYPE119 29.215 Variables T119STCK/TISSTCK/TIESTCH were still GMT.
TYPE120 29.081 Support for User Field in SMF 120 Subtype 9 record.
TYPE120 29.136 Support for WebSphere WAS 8.0 (COMPATIBLE).
TYPE120 29.240 Length of Character Variable SMF1209FH can't change.
TYPE120 29.272 SM1209CI and SM1209CX can be negative.
TYPE1415 29.226 False ERROR.TYPE1415.DEFECTIVE.EXTENDED... log msg.
TYPE16 29.232 DFSORT variables ICEMNVLX, ICEMNVLY, ICEMNVLZ wrong?
TYPE16 29.264 Support for DFSORT z/OS 1.13 COMPAT new variables.
TYPE19 29.183 Variables SMF19TRK and SMF19TRM were wrong.
TYPE23 29.177 Support for APAR OA35175, logstream stats in SMF 23.
TYPE26J2 29.024 Cosmetic: INREASON NOT DECODED messages corrected.
TYPE30 29.025 Small negative CPUUNITS now set to zero.
TYPE30 29.034 Invalid data for SMF30RGT is true, circumvented.
TYPE30 29.058 Variable CPUCEPTM always now set to a missing value.
TYPE30 29.174 Support for APAR OA34895, EXCP/IOTM Missed, SMF Lock.
TYPE30 29.175 Support for APAR OA35617, SMF30CRM VELOCITY MNGED?
TYPE57 29.173 Support for APAR OA36966, JES3 expanded NJEJOBNO.
TYPE70 29.127 Support for z/OS 1.12 VMGUEST option, CPU Time in 70.
TYPE7072 29.077 z/OS under z/VM: MXG messages, nonexistent RMF data.
TYPE7072 29.152 VMSYSTEM='Y' RMF records validated, and revised.
TYPE7072 29.220 Support for z/OS 1.13 (REQUIRES MXG 29.03 or later).
TYPE70PR 29.098 Counts ICFCPUS/IFLCPUS/IFACPUS/ZIPCPUS too high.
TYPE70x 29.239 Variable SHIFT (used as "ZONE") added to all RMF.
TYPE78PA 29.214 Values in TYPE78PA ending with TOTL could be wrong.
TYPE80A 29.223 New TOKENIDs starting with NOxxxx (NOCPUTIMEMAX, etc)
TYPE845 29.212 Invalid JES3 JMF SMF 84 Subtype 1 Segmented Records.
TYPE85 29.093 INPUT STATEMENT EXCEEDED st 79, z/OS 1.12.
TYPE89 29.002 Support for APAR OA31615, zIIP/zAAP times added.
TYPE89 29.178 Variable CECSER in 89 now contains only 4 positions.
TYPE90A 29.142 Enclave variables decoded in TYPE9030 dataset.
TYPEADAB 29.189 Support for Software AG's ADABAS SMF user record.
TYPEAXWY 29.231 Support for Axway CFT/ESA (Cross File Transfer) SMF.
TYPEBBMQ 29.056 Support for MainView MQ (MVMQ) Version 4.4.
TYPEBETA 29.059 Support for Beta 93 Version 4.2 subtypes 25/50.
TYPEBETA 29.233 Support for BETA93 Version 4.1.0 subtype 25 changes.
TYPEBVIR 29.006 Variables DVRTBV01-32 incorrectly formatted.
TYPECFS 29.186 Support for InfoSphere Classic Federation Server SMF.
TYPECIMS 29.033 Support for IMF Version 4.5 is in place.
TYPEDB2 29.031 DB2 V9.2 only, most QBGxxx variables DB2GBPST wrong.
TYPEDB2 29.121 QWHADSGN/QWHAHAMN were sometimes blank.
TYPEDB2 29.128 DB2 INVALID DISTRIUTED HEADER message corrected.
TYPEDB2 29.131 DB2PARTY added to DB2ACCTP, Rollup impact documented.
TYPEDB2 29.140 New LUUVTIME instead of QWACBSC for start time.
TYPEDB2 29.209 DB2 V10 ID=100 ST=1 INVALID HEADER.
TYPEDB2 29.213 Support for DB2 V10 IFCID 225 Subtype4 INCOMPATIBLE.
TYPEDB2 29.225 INVALID DB2 V10 QMDA segment for QMDAPTYP='JCC'.
TYPEDCOL 29.296 DCOLLECT support updated to execute on ASCII.
TYPEDM 29.158 NDM-CDI Version 5 new fields supported.
TYPEENDV 29.012 Support for Endeavor Version 14 (INCOMPATIBLE).
TYPEFERT 29.247 Support for ZEN FERRET V2.3 (INCOMPATIBLE).
TYPEIDMS 29.156 Support for IDMS/R Performance Monitor Version 18.
TYPEIMS 29.307 Support for IMS Version 12: Adds ZIIP/ZAAP CPU times.
TYPEIMSA 29.110 the exit _IMSTRN invocation was accidentally removed.
TYPEIMST 29.144 IMS Transaction Detail in new IMS56FA dataset!!
TYPEIMST 29.162 Validation of TYPEIMST, many changes for IMS56FA.
TYPEIMST 29.230 Further updates to IMS56FA transaction processing.
TYPEITRV 29.223 Support for APAR OA37114, ITRF (OMEGAMON IMS V420)
TYPEMPLX 29.247 Support for ZEN IMPLEX V5.1 (COMPATIBLE)
TYPENDM 29.010 NDMPRCNM/NDMPRCNO/NDMSTEP now kept where they exist
TYPENDM 29.042 Support for NDM-CDI Version 5 records (COMPATIBLE).
TYPENDM 29.295 NDM/Connect-Direct V5.0 added jobname/jctjobid.
TYPENDM 29.301 Old Version 4.7 "PS" record INPUT STATEMENT EXCEEDED.
TYPENTSM 29.075 Support for 62 new objects and 1425 new NT metrics.
TYPEPOC 29.219 Support for Tivoli Workload Schedulr Ver 8.3 INCOMPAT
TYPEPOEX 29.134 Support for Informatica's POWER EXCHANGE SMF record.
TYPEQACS 29.078 Support for OS/400, AS/400 Version 7.1 (INCOMPATIBLE)
TYPEQACS 29.208 Support for IBM i-series (AS400), more than 32 CPUs.
TYPERACF 29.067 RACF UNLOAD dataset RACF0270 UID limit variables.
TYPERMFV 29.013 CPCGRPLM and LCPUPOLR variables were wrong.
TYPERMFV 29.297 Continued RMF III enhancements.
TYPERMFV 29.300 Wrong ASMRMFV in first 29.29, VMACRMFV updated.
TYPESVIE 29.273 Support for SYSVIEW subtypes 34 and 35.
TYPETIMS 29.123 Support for TMON/IMS Version 3.0 (INCOMPATIBLE).
TYPETLMS 29.269 Support for CA TLMS tape library 2003 record changes.
TYPETMNT 29.248 INVALID ARGUMENT TO SUBSTR IN SYSLOG IEC205I message
TYPETMO2 29.244 Support for TMON/CICS V3.3 (mostly COMPATIBLE) TCE.
TYPETMS5 29.274 CA-1 TMS Extended Format TMC records have no impact.
TYPETMS5 29.304 USER ABEND 1234 can be bypassed for TMSCLEAN input.
TYPETPMX 29.071 Support for Throughput Manager subtype 10 and 16.
TYPETPMX 29.211 Support for Throughput Manager APAR TMT6214, st=16.
TYPETPMX 29.229 TPMCA7JN, TPMPI, and TPMDUEOT may be wrong.
TYPEVMXA 29.014 z/VM MONWRITE "exit" at EOF to detect ftp failure.
TYPEVMXA 29.026 Support for zVM APAR VM64794 (COMPATIBLE).
TYPEVMXA 29.092 z/VM new PDB.VXINTUSR sums all engines for each VM.
TYPEVMXA 29.129 MXGERROR DM 5 RC 10 UNDECODED PRCAPMCT due to IBM.
TYPEVMXA 29.133 z/VM LPARNAME, LPNUMBER kept in PDB.VMXAINTV.
TYPEVMXA 29.163 z/VM Crypto Record (5,10) with PRCAPMCT=6 error.
TYPEVMXA 29.172 Support for APAR VM64961, SMF 113 in z/VM MONWRITE!!
TYPEVMXA 29.207 z/VM MONWRITE Broken Control Rec if 2.14 (SCALL) rec.
TYPEXAM 29.126 XAM variables in VXSYTEP2 were not all input/kept.
TYPEXAM 29.294 Support for VNDNIC, LPARNW, USVCPU segments.
TYPEZOSA 29.247 Support for new ZEN OSA MONITOR V1.3 SMF records.
TYPEaaaa 29.238 All USER SMF have MACRO _IDaaaa nnn as SMF record id.
TYPSXAM 29.249 TYPSXAM didn't sort all XMdddddd datasets to the PDB.
UTILARCH 29.137 New UTILARCH archives data (like Outlook archive).
UTILVREF 29.075 MXG now creates DATASET names up to 32 characters.
VMAC102 29.242 On ASCII COMPRESS turned off, QW0145TX maybe trashed.
VMAC30 29.281 CPUTASKALLTM and PCTTASKTIME added SMFINTRV/TYPE30_V.
VMACDB2H 29.037 DB2 V9.1 false "INVALID DISTRIBUTED HEADER" message.
VMACSMF 29.079 MXG will ABEND if SMFTIME is invalid.
VMACSMF 29.290 USER ABEND 69 due to invalid SMFTIME now bypassed.
VMXGGETM 29.224 Enhancements to select records with LOOKFOR=text.
VMXGMPDB 29.292 Support for execution under unix.
VMXGPPDS 29.298 Compare contents of multiple PDS/PDSE libraries.
VMXGPRNT 29.250 INSTREAM replaces TMPPRNT.SAS for ASCII restrictions.
VMXGSRCH 29.103 RESULTS=FINDVAR finds all datasets with a variable.
VMXGSUM 29.054 Macro variable DSETEXST redefined.
VMXGSUM 29.154 AUTOCALL %macro's %CMPRES/%QCMPRES removed.
VSETMNTH 29.041 POSSIBLE LOSS OF MONday DATA in FEBRUARY MONTHLY PDB.
WEEKBLD 29.008 MXGNOBY default to eliminate NOTSORTED exposure.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 29.
====== Changes thru 29.307 were in MXG 29.29 dated Jan 23, 2012=========
Change 29.307 Support for IMS 12: ADDS ZIIP/ZAAP TIME TO IMS LOG DATA!
VMACIMS IBM changes were COMPATIBLY made, used RESERVED fields,
Jan 21, 2012 and those CPU times were added by APAR PM36273.
These new variables are now created in IMS01/IMS01M:
MSGOD62I='APPC*DEST*TYPE'
MSGOD62A='APPC*DETT*ADDR'
MSGIHSQN='SUBPOOL*HSQN*NM'
MSGFMTNM='MFSMODNAME'
MSGEWTKN='WLM*TOKEN TO*C2*CORRELATOR'
These new variables are now created in IMS07 and IMS0708:
DLRXICAL='ICAL*CALLS'
DLRXDGUR='DATABASE*GUR*CALLS'
DLRFLAG4='DLRFLAG4'
DLRAZAAP='ZAAP*ZIIP*CPU*TIME'
This new variable is now created in IMS07 and IMS0708:
LINTSUB2='IMS08*SUBTYPE*ADDITIONAL'
These two variables are now created in IMS56FA:
DLRGUR ='DL/I*GUR*CALLS'
TPEZAAP ='ZAAP*ZIIP*CPU*TIME'
Thanks to Paul Volpi, UHC, USA.
Thanks to Jerome Bachmeier,, UHC, USA.
Change 29.306 DEBUG=1 was on in several XAM file processing sections,
VMACXAM causing log messages but no actual errors in processing.
Jan 20, 2012
Thanks to Clayton Buck, UniGroup, USA.
Change 29.305 Using INTERVAL=SHIFT for RMFINTRV generated MXG WARNINGS
VMXGDUR and produced incorrect output, because TYPE75 addition in
VMXGINIT Change 29.194 didn't test that INTERVAL value. But after
VMXGRMFI the VMXGRMFI fix for SHIFT, and because VMXG70PR uses the
VMXGSUM same macros, both summary programs were tested with all
Jan 22, 2012 -For RMFINTRV, all "Normally used" INTERVAL= values from
SECOND thru FOURHOUR were correct, but for long-duration
values of EIGHTHOUR thru ANNUAL, variable STARTIME was a
missing value, and an "invalid" string did not circumvent
by setting INTERVAL=DETAIL as documented. Changes had to
be made to VMXGRMFI where END versus START had been used.
-For ASUM70PR and ASUM70LP datasets, there were no errors,
but both ASUMCEC and ASUMCELP had populated-but-wrong
STARTIME values (close, but wrong) for long-durations.
-VMXGDUR was the culprit with inconsistent ENDTIME values
returned when FLORCEIL was CEIL for long duration values.
(No one reported errors, other than SHIFT, "NEVER USED?")
-VMXGINIT added new &MXGDURTM a global macro.
-Other members that invoked VMXGDUR were verified to only
expect START values, so they didn't need revision here.
-VMXGSUM cosmetic: INTERVAL=NONE is no longer printed when
no INTERVAL= was specified, as NONE could be confusing.
Thanks to Scott Wiig, US Bank, USA.
Change 29.304 Change 29.195 sets USER ABEND 1234 if TYPETMS5 reads data
VMACTMS5 that is not a TMC (because the results are wrong when the
Jan 20, 2012 file was created by TMSGRW.) But TYPETMS is also used to
read the output of the TMSCLEAN program, to list scratch
volumes, so this change allows you to disable that ABEND
when you know the file is not a TMC, with this syntax:
//SYSIN DD *
%LET MXGABND=1;
%INCLUDE SOURLIB(TYPETMS5);
You will still get the ERROR message on the log that the
file was not a TMC as an alert, without the ABEND.
Thanks to Robert Carballo, ACS, USA.
Change 29.303 Since MXG 27.06, DB2PM-like Statistics Short Report has
ANALDB2R had wrong Total GETS and Buffer Totals Hit Ratios values.
Jan 19, 2012 The SUM statement in line 18777 repeated QB1
GETS =SUM(QB1TGET,QB1TGET,QB1TGET,QB1TGET,0);
but should have summed all four buffer counts:
GETS =SUM(QB1TGET,QB2TGET,QB3TGET,QB4TGET,0);
Thanks to Paul Billick, QVC, Inc, USA.
Change 29.302 CICSTRAN: If your old IMACEXCL member included IMACICRD,
IMACICRD but you didn't have an IMACICRD in 'USERID.SOURCLIB',
Jan 19, 2012 (listed as required in the UTILEXCL job's report), then
the new default IMACICRD in MXG 29.29 was %INCLUDEd, but
it had a comment within the commment block (that I had
missed in my QA tests) that caused a 180 SYNTAX ERROR.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
====== Changes thru 29.301 were in MXG 29.29 dated Jan 18, 2012=========
Change 29.301 NDM-CDI Version 4.7 "PS" record INPUT STATEMENT EXCEEDED.
VMACNDM Change 29.295 input PSSGPE1D offset, added in V5.0, from
Jan 18, 2012 two reserved bytes, but (old) 4.7 PS records have '4040'x
in those two bytes, and the NEXT two bytes are zero.
Since NDM-CDI records don't contain a version number, the
the logic was revised to test the value of the offset vs.
the record length to circumvent the error.
Thanks to Raff Rushton, IBM Global Services, USA.
Change 29.300 First 29.29 ONLY: RMF III PROCESSING WAS BROKEN.
ASMRMFV Fixed in 29.29 dated Jan 18:
VMACRMFV so that version contains these two corrected members.
Jan 18, 2012 -The VMACRMFV member in MXG 29.29 failed when reading DVT
EXZRBDVT data with ERROR: INPUT STATEMENT EXCEEDED RECORD LENGTH,
Jan 22, 2012 because updates made to VMACRMFV for the new ASMRMFV did
not work with RMFBSAM files created with the old ASMRMFV.
This change to VMACRMFV revised the DVT logic so that
records created by the old or the new ASMRMFV program are
correctly processed.
-The ASMRMFV member in MXG 29.29 was NOT the updated code,
even though it had "Jan 14, 2012, Change 29.297" in the
comments and log messages; it was the ASMRMFV from 29.05
that had none of the last six month's enhancements, and
it had an R in column 1 of the fourth line which caused
the assembly to fail with errors, in the first iteration.
-This change MAY be INCOMPATIBLE - the new VMACRMFV might
ABEND with RCD data in RMFBSAM files created by earlier
ASMRMFV versions, so the ONLY safe implementation is to
assemble the Jan 18 ASMRMFV and use that new program to
read the VSAM RMF file to create the RMFBSAM output file,
and then use the new VMACRMFV to read that RMFBSAM file.
(If your existing ASMRMFV load module was created from
an MXG version earlier than MXG 29.05, the new VMACRMFV
should execute without an ABEND, but no guarantee.)
Added Jan 22:
-ZRBDVT now only outputs DEVICES WITH ACTIVITY, where the
activity is calculated/tested in EXZRBDVT exit member:
ACTIVITY=SUM(DEVACTTM,IORATE,DEVIOQTM,
DVBUSYTM,CUBUSYTM,SWPODLTM);
IF ACTIVITY GT 0 THEN DO;
OUTPUT _WZRBDVT;
END;
Tutorial: Your tailoring logic in EXdddddd dataset exits
to control output of an MXG dataset needs this structure:
IF something THEN DO;
OUTPUT _dddddd;
END;
and can't use a DELETE, nor "IF something;" statements,
because they stop the read-current-record, and cause SAS
to read the next record, so any remaining segments in a
record with more than one observation per record would be
skipped and the output observation count could be small.
-By only outputing active devices in ZRBDVT with detail
device-level-per-minute data, it's more practical to use
the RMF III detail DVT dataset for DETAIL I/O STATISTICS.
Thanks to Jack Schudel, University of Florida, USA.
Thanks to Rodger Foreman, TransUnion Corp, USA.
Change 29.299 Cosmetic installation issues with first MXG 29.29.
FTP -The file size of ter2929.ter was incorrect in the emailed
SENDDATA instructions sent on the 17th. 27,319,296 was correct for
Jan 18, 2012 that iteration.
-Appendix A in the download instructions failed on JES3:
IAT4401 LOCATE FOR STEP=STEP2OF2 DD=INFILE
DSN=MERRILL.V2929.TERSED
IAT4404 DATASET NOT FOUND ON MAIN PROCESSOR A
because that DSN was dynamically allocated in the PGM=FTP
step, but JES3 doesn't know that. The example is changed
to define the DSN in a DD statement, so the new example
now works on both JES2 and JES3. This is not a new issue,
but had not been previously reported, probably because
JES3 techies knew how to resolve this JES3 "feature"!
Thanks to Harald Haug, OBERFINANZDIREKTION KARLSRUHE, GERMANY.
Thanks to James E. Lund, Texas A&M University, USA.
====== Changes thru 29.298 were in MXG 29.29 dated Jan 17, 2012=========
Change 29.298 VMXGPPDS utility reads PDS and PDSE datasets, originally
VMXGPPDS to print text in two-column format. It is now enhanced
Jan 15, 2012 to output the Index entry for each PDS member, keeping
these variables in a dataset for each PDS/PDSE library:
MEMBER='MEMBER*NAME'
DSNAME='DATASET*NAME'
CDATE='CREATE*DATE'
MDATE='MODIFIED*DATE'
TIME='MODIFIED*TIME'
USERID='USER*ID'
INITLINE='INITIAL*LINES'
NOWLINE='CURRENT*LINES'
with an example showing how it can be used to compare the
members (i.e., which is most recent?) in different PDS or
PDSE libraries. Both text and load libraries can be read,
but index information is only usable for text PDS/PDSEs.
Change 29.297 Detail and Summary reports from ASMRMFV have been
ASMRMFV reformatted for improved legibility, content, and
VMACRMFV clarity. Message RMFV105I is updated by the changes.
Jan 12, 2012 -When the DVT is selected in ASMRMFV the entries are now
blocked up to use as much as possible of a 32K logical
record. The number of DVT records output was reduced by
99.5% during testing. The actual data volume is
unchanged. This was to reduce I/Os for performance.
-A new ASMRMFV report column DATA ACTION shows the data
destination for each table as: OUTPUT, FILTER, or SKIP.
-A new ASMRMFV report column ENTRIES COUNT shows the
number of logical table entries processed. The meaning
of an entry varies with the RMF III table type. See
source code documentation for more details.
-The minimum and maximum LRECL output are now shown for
filtered and skipped records if the optional RMFFILT
and/or RMFSKIP DD statements are provided.
-Input table counts are supported up to 999,999,999.
-Output record and entry counts are supported up to
99,999,999,999.
-A new message RMFV032E is added to show the error code
from the IBM decompression routine ERB3RDEC should a
failure occur. In this case the start and end time of
the problem RMF III sample set is also shown. This
should be a rare event.
-The discussion on final ASMRMFV return codes is expanded.
-A discussion is added on how RMF Monitor III options
affect the data contents in tables.
-Prologue documentation in source is updated to include
discussion on new ASMRMFV column headings.
-VMACRMFV is changed to support blocked DVT entries in
input records.
-In VMACRMFV the DEVTYPE variable length has been
corrected to 12 bytes.
-In VMACRMFV the calculation of the DEVACTTM variable has
been changed to avoid excessive Missing Value counts from
SAS.
These are available only with RMF z/OS 1.9 and up. They
will be missing values for older releases.
-Nine new data variables are added to the ZRBDVT file:
DVTFLAG3 - Flag Byte
DVTHPAVB - Device Is HyperPAV Base Device (Y/N/?)
DVTHPCON - Number Configured HyperPAV Aliases for LSS
DVTHPSM - Number of Successful PAV Samples
DVTHPNUM - Accumulated Number of HyperPAV Aliases
DEVALCH - Number of Alias Exposures Has Changed (Y/N)
DEVLCUOK - LCU Number Is Valid (Y/N)
DEVPAV - Multiple Exposure Device(Y/N)
DEVVDASD - Virtual DASD (Y/N)
The first 5 variables are available only with RMF z/OS
1.9 and up. They will be missing values for older
releases. The last 4 variables are available to all MXG
users with RMF Monitor III.
-A new option ZERODVT/NOZERODVT has been added to ASMRMFV.
The default is NOZERODVT and will filter out the initial
DVT entry for each MINTIME interval. This entry is all
binary zeros and has no value in a PDB.
-VMACRMFV will also check for a zero initial DVT entry and
skip processing for it if detected.
-These are companion programs and the same maintenance
level of each must be used for successful results, i.e.,
you MUST assemble the ASMRMFV program to use the VMACRMFV
in 29.29.
Change 29.296 -DCOLLECT support updated to execute on ASCII platforms,
VMACDCOL by conditionally specifying RECFM=S370VBS when MXG is
VMXGINIT executed under ASCII. (On z/OS that DCB parm is set by
Jan 14, 2012 the DSCB at OPEN; S370VBS reads V/VB/or VBS RECFMs.)
-Variable ZTIME added to all keep lists (zEE time when zEE
dataset was created) so that multiple executions of the
IDCAMS DCOLLECT process can be differentiated by time.
-The alternative to differentiate multiple executions of
DCOLLECT is to use the variable INFILENM, which contains
the "dsname/file-name" of the input data, but INFILENM
is only "input" and is not kept in any DCOL dataset. You
could add INFILENM to any DCOL dataset(s) with syntax
%LET MACKEEP= MACRO _KDCOLxx INFILENM % ;
(and repeat the MACRO _KDCOLxx for each dataset) in your
//SYSIN, but this new alternative is now created:
-New macro variable &MXGINFIL is created with null value
in VMXGINIT, and is added to the KEEP= list for all DCOL
datasets. So you could then insert this statement
%LET MXGINFIL=INFILENM;
in your SYSIN stream, and variable INFILENM will be kept
in all of the DCOLLECT datasets
Thanks to Nick Johns, Sainsbury's Supermarkets Ltd, ENGLAND.
Change 29.295 Version 5.0 of NDM/Connect-Direct added jobname and the
VMACNDM JES JCTJOBID to the PS and RJ records.
Jan 14, 2012
Thanks to Peter L., whose company won't allow him to be cited.
Change 29.294 -Support for Velocity Software segments VNDNIC, LPARNW,
EXXMLPAR and protection for USVCPU segment (no data of interest):
EXXMDNIC dddddd dataset
VMACXAM XMDNIC XMVNDNIC
VMXGINIT XMLPAR XMLPARNW
Jan 11, 2012 -Some values in XMLPARNW look wrong, and test data doesn't
contain fields PCTMGTM nor PCTLOGICAL.
Thanks to Robert Obee, IMSHealth, USA.
Change 29.293 -Support for CICS Statistics STID=144 adds new dataset
VMAC110 CICEPR.
Jan 10, 2012 -STID=143 message SKIP=4 with STILEN=156 was eliminated.
There was no new data in the record.
Thanks to Joachim Sarkoschitz, DATAEV, GERMANY.
Change 29.292 Execution under unix is now supported, having found and
BLDSMPDB protected for these variants between WIN and UNIX:
VMXGALOC -The XWAIT option is only supported on WIN, causing error
Jan 14, 2012 conditions on UNIX and zOS but is now protected.
-If NOT EXIST does not work on UNIX, so the logic now used
is %SYSFUNC(FILEEXIST(FILENAME)) which returns a zero if
the file does not exist, or a 1 when the file exists.
Using SYSFUNC also allows the MXGNOTES to only appear
when we actually create or delete a directory.
-md (or MD) is not recognized on UNIX as make directory so
the full mkdir command name (in lower case) is now used.
-rmdir (rd) is used to remove directories under Windows,
but the UNIX command is rm with different subparameters:
on Windows the command is rd /q /s
on UNIX the equivalent is rm -r
-These changes do not impact z/OS execution of BLDSMPDB.
They have been tested under AIX 5.3, RedHat LINUX, and
should work on all xNIX platforms.
Thanks to Ruth Larsen, CA Technologies, USA.
====== Changes thru 29.291 were in MXG 29.09 dated Jan 4, 2011=========
Change 29.291 Lines 541 & 542 were missing a second close-parenthesis,
ANALGRID some arguments were not UPCASE'd, and some selection
Jan 14, 2012 arguments were not printed on the log when used.
Examples added and footnotes formats match grid formats.
Thanks to David Bixler, FISERV, USA.
Change 29.290 -Invalid SMFTIME (Julian date 366 in 2011) in IBM BVIR SMF
VMACSMF record (HISTORY FILE FOR TS7700 VTS TAPE SYSTEM) caused
Jan 2, 2012 a USER ABEND 69, because MXG logic for a bad SMFTIME was
VMACBVIR intended to catch the reading of a non-SMF file. This is
VMACNAF the FIRST time an actual customer has ever ABENDed due to
my choice, which I now realize is too harsh, so now, only
the ERROR message is printed by default. You can enable
the ABEND with %LET MXGABND=1; in your SYSIN.
(BVIR records are supported in MXG's TYPEBVIR code.)
-A second SMF record type, from VTAM SuperSession product,
also caused the USER ABEND 69 because its Julian date had
an invalid Julian date of 637 in 2012! Two in two days!!
MXG's TYPENAF supports those SMF records, but the last
update was in 2005, and they have been incompatibly
changed, with new subtypes and inserted data fields;
MXG will be updated when doc is available.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 29.289 The ASMDBLKU program is an ASM version of UDEBLOCK, that
ASMDBLKU constructs a valid VBS file on z/OS from a V/VB/VBS file
Dec 30, 2011 that was previously downloaded to an ASCII platform, as
that file is just a serial stream of bytes that cannot
be "back-loaded" and read on z/OS. You upload the file
from your ASCII platform back to z/OS, and then UDEBLOCK
or ASMDBLKU will read those chunks and reconstruct those
records into a valid VBS file on z/OS. This would likely
be needed only if IBM or another vendor needs for you to
send the VBS file for a problem, and you only have the
downloaded file. UDEBLOCK required SAS on z/OS while
ASMDBLKU doesn't. Additionally, UDEBLOCK was functional
but VERY expensive for DASD space, since it created a
single block for each record and wrote one record per
track. ASMDBLKU is smarter and wastes no DASD space.
Multiple enhancements were made to the original ASMDBLKU:
-The SMFOUT file is now generated as a true RECFM=VBS file
so no DCB overrides in JCL are required to process it
subsequently into a PDB build.
-QSAM blocking is now used so that SMFOUT disk space
requirements are significantly less than before when only
one record per 32K block was output.
-The PGSER macro system service SVC call to zero the
output buffer after each I/O was replaced with MVCL logic
thus providing up to a 64% CPU time reduction seen in
testing.
-The SMFOUT file now has DCB BLKSIZE=0 to use System
Determined BLKSIZE. Up to a 41% further reduction in
disk space usage was determined in testing.
-SMFIN and SMFOUT files now use DCB BUFNO=20 to reduce
elapsed time with up to a 33% time reduction seen in
testing. There was some corresponding increase in below
the line storage, but the program ran successfully with
REGION=2M.
-Most ASMDBLKU messages are reformatted for improved
clarity, legibility, and content.
-There are now separate and distinct messages for length
errors for the SMFIN physical block, BDW, and RDW values
respectively. Previously, these types of error were not
disclosed.
-Length error messages now show the invalid length value
and the related record number.
-The SMFIN file is now checked for RECFM=U and DSORG=PS
prior to any processing.
-SMFIN and SMFOUT byte counts are now accumulated and
reported. SMFOUT byte counts do NOT include the BDW
fields added by QSAM. Up to 19 decimal digit totals are
supported (9,999,999,999,999,999,999).
-Minimum and maximum LRECL values read from the SMFIN file
are now reported as message DBLKU25I.
-Minimum and maximum LRECL values written to the SMFOUT
file are now reported as message DBLKU26I.
-A missing DD statement for SMFIN or SMFOUT now generates
Return Code 16 as a severe error.
-Two character Return Codes are now displayed. Before
Return Codes higher than 8 were not supported.
-Record counts for SMFIN and SMFOUT files are now scaled
up to 9 decimal digits (999,999,999).
-Message DBLKU30I indicating final utility status is now
the last message displayed.
-Message DBLKU30I ended message is consistent in
appearance and format with DBLKU00I started message.
-PRINT OFF/PRINT ON added to suppress printing of the
change log during assembly.
-Prologue comments outside of the assembler source have
been updated.
Change 29.288 Reserved Change.
Dec 30, 2011
Change 29.287 Many VMWARE objects were revised to contain xxxxVMHO and
EXNTDTSC xxxxVMGU (Host and Guest names), changing NRNAMES, which
IMACNTSM caused MXG NRNAMES Messages. New DTS.ALERTCONFIG object
TYPENTSM is supported.
VMACNTSM
VMXGINIT
Dec 31, 2011
Change 29.286 Variable LPARCPUS was incorrectly typo'd as LPARCPU. Been
ANAL113 this way since 2010, so I assume either no use, or users
Dec 22, 2011 recognized and fixed the typo without report to support,
so Thomas gets this citation for finding the old error.
Thanks to Thomas Puddicombe, CSC, USA.
Change 29.285 Presumed error in back level SAS 9.2 TS0202M2 on z/OS, as
FORMATS NO error with 9.3 TS0202M3 nor 9.1.3/SP4 nor 9.3 on z/OS.
CREATEBC A split line in EBCDIC text for $MGZOSVT caused no error
PROCSRCE when PROC FORMATS created $MGZOSST/$MGZOSVT, but the two
Dec 22, 2011 formats could not be loaded when TYPEZOSA was executed by
TESTUSR1. The original ASCII text had a unexpected '0A'x
character (Line Feed) in that line, but that only caused
the EBCDIC text to be split there; no unprintable text
character was created in EBCDIC, and the longer right
hand value was still valid syntax, and was handled fine
on all other z/OS SAS versions.
-However, the unexpected '0A'x in ASCII text reminded me
to look for other unprintables in the EBCDIC text, and
three values ('01'x,'1C'x,'1D'x) are now detected in the
PROCSRCE/CREATEBC QA members, and corrected before EBCDIC
members are created for distribution. Fortunately, none
of these characters cause execution errors.
Thanks to Scott Wiig, US Bank, USA.
====== Changes thru 29.284 were in MXG 29.08 dated Dec 20, 2011=========
Change 29.284 ANALGRID creates a color-intense grid report of the value
ANALGRID of any variable, with time intervals as columns and date
Dec 20, 2011 as the row, to visually identify "hot spots". This is
based on the original design that was contributed by Bob.
See http://www.mxg.com/downloads, ANALGRID for examples.
Thanks to Robert A. Obee, IMS Health, USA.
Change 29.283 MXG 29.06-29.07. RMFINTRV with INTERVAL less than QTRHOUR
VMXGRMFI created an invalid PDB.RMFINTRV dataset with too many obs
Dec 20, 2011 but with ERROR: INCONSISTENT RMF DATA printed on the log.
Change 29.194 added TYPE75 summary data to RMFINTRV, but
had INTERVAL=QTRHOUR instead of INTERVAL=&INTERVAL.
Thanks to Yves Terweduwe, CIPAL, BELGIUM.
Change 29.282 The example summary of TYPE72GO to create ASUM72GO was
ASUM72GO updated to support "SYNC59" data written at :59 or :00
Dec 20, 2011 intervals.
Thanks to Brian Carter, HP Enterprise Services, ENGLAND.
Change 29.281 New CPUTASKTIMETM=ADDRESS*SPACE*DISPATCHED*TASK CPU TIME
VMAC30 and PCTTASKTIME=PCT WHEN*TASK WAS*DISPATCHED*ON PHYSICAL
BUILD005 variables are created in TYPE30_V and PDB.SMFINTRV data
BUIL3005 sets, to report the interval percentage of time when an
Dec 18, 2011 address space was dispatched on a physical processor.
PCTTASKTIME can exceed 100% when multiple tasks are
used for parallelism; values more than 25% are probably
of most interest. You can create the variables from your
PDB.SMFINTRV (or TYPE30_V) dataset, using:
CPUTASKGCPTM=CPUTCBTM-CPUASRTM-CPUENCTM-CPUDETTM;
CPUTASKZAPTM=(CPUIFATM-CPUEFATM-CPUDFATM)*256/SMF30ZNF;
CPUTASKZIPTM=(CPUZIPTM-CPUEZITM-CPUDZITM)*256/SMF30SNF;
CPUTASKTIMETM=CPUTASKGCPTM+CPUTASKZAPTM+CPUTASKZIPTM;
IF INTRVLTM GT 0 THEN
PCTTASKTIME=100*CPUTASKTIMETM/INTRVLTM;
Thanks to Bernie Pierce, IBM, USA.
Change 29.280 -z/OS 1.13 ASM ERROR when assembling ASMTAPEE/MXGTMNT:
ASMTAPEE "YOU SPECIFIED ASCENV=AR OR ANY ON THE SYSSTATE MACRO.
Dec 20, 2011 THE OPEN MACRO SUPPORTS ONLY ASCENV=P."
But there is NO NEED to ASM a new load module under 1.13;
your currently executing MXGTMNT module works just fine!
-This IBM note (migration guide) is the ONLY clue of the
incompatible change, which impacts OPEN/CLOSE macros, but
doesn't mention any by name:
DFSMSdfp: Accommodate 64-bit & AR mode rules enforcement
in DFSMS macros; required if you have code that invokes
DFSMS macros (but not all!). Before z/OS V1R13, many
DFSMS macros that did not support 64-bit or AR mode did
not react to being invoked in 64-bit or AR mode, and
generated code that might have been invalid in 64-bit or
AR mode. Starting with z/OS V1R13, these macros are
changed to issue an assembly-time message and suppress
expansion if they are invoked in 64-bit or AR mode."
-But as noted above, you didn't really need to ASM. Now,
from MXG's "asmguy", his comments on this change:
Nothing is going to happen to an existing site using
MXGTMNT and in fact the modification I have to make for
this does not result in any change to the executable
code.
The SYSSTATE macro is an assembler directive - it sets
a flag that tells any macros that support AR mode
(Access Register, used for cross memory access) to use
their AR mode compatible expansion. Macros that don't
have an AR mode expansion used to ignore this because
they had nothing to do, and it's always the coder's
responsibility to make sure that when those non-AR
compatible macros are executed, that the system is not
in AR mode. This is similar to switching back and forth
from 24-bit to 31-bit mode: some macros can't tolerate
31-bit mode. Nothing has really changed though; it is
still the coders responsibility to make sure the system
is not in AR mode and macros that can't tolerate AR mode
still can't, except now IBM is requiring the coder to
explicitly set SYSSTATE to indicate to the assembler
that the system is not in AR mode.
Of course this is all very silly because the assembler
can't know ahead of time that the system is or isn't in
AR mode. So regardless of whether or not SYSSTATE is
coded this way the system still could be in AR mode,
OPEN/CLOSE will still expand the same way, and if the
system really is in AR mode OPEN/CLOSE will abend when
executed.
So the bottom line is that nothing has changed except
our need to do something for no reason at all.
-This ASMTAPEE is now ML-48 in the MXGTMNT startup msg.
Thanks to Thomas Maguire, CitiGroup, USA.
Change 29.279 -ASMRMFV incorrectly calculated the RCDSDI offset, causing
ASMRMFV an INPUT STATEMENT EXCEEDED RECORD LENGTH error, when an
Dec 13, 2011 RCD Table Record had an RCDSD Subsystem Delay array, but
the record didn't have an RCDRD Response Time array.
-Also a formatting error in message RMFV102I was corrected
*** END OF DATA *** showing record input count.
Thanks to Scott Chapman, American Electric Power, USA.
Change 29.277 NPM VCS segment with an invalid fifth ECSA segment (with
VMAC28 buffer size of 180 Kbytes), and without the DATA segment
Dec 8, 2011 for buffer size 64Kbytes. The segment length is the 176
expected length, so this circumvention skips the invalid
segment if size is 180 and doesn't input the last data
segment; when IBM fixes the record, the circumvention
does not need to be removed.
APAR OA38371 will correct the error, ETA Feb, 2012.
Thanks to Karen Florup, Bank of America, USA.
Change 29.276 RMF III dataset ZRBASI variable ASIPER, PERIOD, is input
VMACRMFV where ASIDMN, DOMAIN, was previously located. ASIDMN is
Dec 8, 2011 set to zero, its value ever since domains departed z/OS.
Change 29.275 The CLRMFV Clist will now check for non-zero Return Codes
CLRMFV from the TSO LISTCAT LEVEL command.
Dec 8, 2011 -3 messages indicating the error, the data set name level,
and the Return Code are now issued.
-In addition, the first 4 lines of LISTCAT output for the
error condition are displayed.
-Prior to this change CLRMFV could issue a non-zero MAXCC
message at completion and the reason was difficult to
determine when LISTCAT was involved.
-A non-zero LISTCAT Return Code is most commonly caused by
a data set name level that does not exist.
Thanks to Rodger Foreman, Acxiom CDC, USA.
Change 29.274 CA-1 TMS "Extended Format TMC Catalog" records are COMPAT
VMACTMS5 with ALL versions of MXG, as there was NO change in the
Dec 7, 2011 TMC's 340 byte record's length. The text of Change 28.040
that thought there were new length(s) was wrong and gone.
Change 29.273 -Support for subtypes 34 and 35 of SYSVIEW for IMS creates
EXSV34DA dddddd dataset description
EXSV34TR SV34TR SV34TRAN Subtype 34 Transaction
EXSV35EV SV34DA SV34DAC Subtype 34 DAC Segment
EXSV35TR SV35TR SV35TRAN Subtype 35 Transaction
IMACSVIE SV35EV SV35EVNT Subtype 35 Event Segment
VMACSVIE -There are errors in the subtype 34 and 35 that I have
VMXGINIT circumvented in this iteration, and SYSVIEW support has
Dec 7, 2011 confirmed the errors in the 34 and are looking at similar
errors in the 35 record; both will likely be corrected in
a future PTF from CA. The value in IMRA_DBIOTIME is
appears to be defective, also.
Thanks to Anthony G. Hurlston, CSC, USA.
Change 29.272 -Variable SM1209CI and SM1209CX can be negative, but they
VMAC120 were INPUT as PIB, so a negative field becomes a large
Dec 7, 2011 positive value in MXG. They are now input as IB.
IBM Support reports than when work does not complete,
ENDTIME isn't populated, and since CI is calculated as
END-START, you get a negative value. But you can also get
a negative value of -1 if WebSphere was unable to reach
its internal service that supplies the END time: for
example, an in-flight transaction when the server was
configured to "Drain" work during termination, but that
transaction still could have completed normally, so all
of the other fields could be completely valid.
IBM chose to NOT suppress these records even when they
might contain incomplete values, because many other data
values could be useful in diagnosing problems, and there
should be relatively few of these records. You probably
should filter these records from your daily reporting
totals, but rather than testing for a negative value in
CI/CX, which have valid transaction data, IBM Support
suggests to exclude transactions that have any value in
the minor code, SM1209CJ, and perhaps to simply count the
number that were excluded.
-Variable SM1209BM now has value '7.0.0.15' instead of the
value '7.0.0.*' when the fourth byte was GT 9.
Thanks to Wayne Bell, UniGroup, Inc, USA.
Change 29.271 Variable R799CNF bit 3 now creates R799CPD='Y' if the
VMAC79 connect/pending/disconnected time is not valid. All
Dec 6, 2011 other bits were already decoded into unique variables.
Thanks to Heimir Hauksson, Barclays, ENGLAND
Change 29.270 Variable POUNAL was incorrectly multiplied by 4096 when
VMACQACS it should have been multiplied by 1024 to convert KB to
Dec 6, 2011 bytes.
Thanks to Thierry Wehrle, BNP Paribas, FRANCE
Change 29.269 CA TLMS tape library records were changed sometime since
VMACTLMS 2003 when the MXG TYPETLMS was last updated, causing the
Dec 5, 2011 TYPETLMS dataset to contain mostly trashed field as MXG
INPUT BAUNIQUE and BAVOL1ST as PIB4 but they appear to
be only 2-byte fields.
Thanks to Gene Palmer, CitiGroup, USA
Change 29.268 The new ASUM4HRS %macro calculates "Four Hour" running
ASUM4HRS Average Values of the variable(s) you chose, but any
VGETFMT integer number of hours can be used instead of "Four".
VGETLABL -New VGETFMT/VGETLABL/VGETLEN internal macros retrieve the
VGETLEN FORMAT, LABEL, and LENGTH of a variable so that the new
VMXGDUR Average Value variable will have the same attributes as
VMXGSUM the inputted variable.
VMXGPARS -VMXGDUR,VMXGSUM adds duration tokens for EIGHTHR and
Dec 13, 2011 TWELVEHR. These duration tokens now can be used:
ANNUAL, SEMIANN, QUARTER, MONTH, WEEK, DATE, SHIFT,
TWELVEHR, EIGHTHR, FOURHOUR, THREEHR, TWOHOUR, HOUR,
HALFHOUR, TWENTYMIN, QTRHOUR, TENMIN, FIVEMIN,
THREEMIN, TWOMIN, MINUTE OR SECOND, or DETAIL.
-VMXGPARS now parses at two blanks to create a new line.
Change 29.267 Variable MPL72, the average number of concurrent resident
VMXGRMFI ASIDs, is now created in PDB.RMFINTRV dataset. Variables
Nov 29, 2011 APPCAVG and APPCMAX to count those ASIDs are also added.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.266 In TYPE70PR dataset, variables SMF70MSU and SMF70LAC are
VMAC7072 output in each TYPE70PR obs, but from the one TYPE70 obs
Nov 29, 2011 for "THIS" LPAR, so they are repeated for all LCPUADDRs
in this LPARNAME (being kept here only so they can be in
ASUM70PR). Since they are z/OS-only relevant, they are
now only populated in the SMF70CIN='CP' observations as
their non-missing value in obs for VM, ZIIPs, etc, was
unexpected and unwanted.
Thanks to Lars Fleischer, SMT Data, DENMARK.
Change 29.265A MXG 29.07 corrections found during ITRM validation.
VMAC42 -Macro token PSUVMXA added in Change 29.120 was misspelled
VMACCIMS as PSUMVXA in the GLOBAL statement in VMXGINIT.
VMACNTSM Also, the hardcoded PDB. in MACRO _LTYVMXA PDB.VMXAINTV
VMACTPMX in the (optional) ASUMVMXA member was corrected to the
VMXGINIT default &PVMAINT macro destination DD for VMXAINTV.
Nov 29, 2011 -TYPECIMS variables TRNSTRTA/TRNSTARTU/TRNSTOPA/TRNSTOPU
are no longer kept in CIMSTRAN as they are GMT offsets
that are already used to convert times to local zone.
-Variable VWGMACBY was accidentally removed from the NTSMF
dataset VMWGUMEM.
-TYPETPMX variables JBL54051,JBL55044-JBL55051 were always
missing values, DKROCOND=WARN printed warnings due to
typos in the variable name in the assignment statements.
All of the JBL54xxx and JBL55xxx are also now labeled.
-TYPE42 variables SMF42PTE and SMF42PTS are now labeled.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 29.265 Temporary DDNAME/FILENAME MXGTEMP is added to the MXG JCL
VMXGCNFG for z/OS for future cases when more than one temporary DD
MXGSAS is required. Currently, only SMFSRCH uses that DDNAME.
Nov 25, 2011
Change 29.264 Support for DFSORT for z/OS 1.13 adds COMPATIBLY two new
VMAC16 variables to TYPE16 dataset:
Nov 25, 2011 ICEMCPUZE='ZIIP*ELIGIBLE*CPU*TIME'
ICEMCPUZP='ZIIP*ACTUAL*CPU*TIME'
Change 29.263 Variables SMF30JQT/SMF30RQT/SMF30HQT/SMF30SQT are missing
BUILD005 values in PDB.SPUNJOBS for jobs that had TYPE30_5 job
BUIL3005 term obs with MULTIDD='Y' (which have only EXCP counts.)
Nov 25, 2011 And those TYPE30_5 with MULTIDD='Y' shouldn't ever have
been used in BUILDPDB logic; MXG uses the step records
for EXCP counts and only wanted the TYPE30_5 values from
the "real" TYPE30_5 that has MULTIDD=' '. So this change
deletes MULTIDD='Y' observations during processing of the
TYPE30_5 records in BUILDPDB and BUILDPD3.
Thanks to Esther Remiro, La Caixa, SPAIN.
====== Changes thru 29.262 were in MXG 29.07 dated Nov 24, 2011=========
Change 29.262 First MXG 29.07 Only, and only if IMACEXCL is tailored to
VMAC110 read exclude fields. WARNING: UNBALANCED QUOTES message
Nov 23, 2011 was printed, BUT ALL DATASETS WERE CREATED CORRECTLY.
There were no unbalanced quotes, but 29.07 had introduced
new " &CICXLTR " syntax into the existing PUT '***ERROR'
statement printed when MXG detects there are excluded
fields that are not supported in your IMACEXCL tailoring;
the enhancement prints your selection statements from the
current IMACEXCL member in use to help error resolution.
And for reasons I know not now, that macro reference was
the cause of the spurious warning. Now SYMGET('CICXLTR')
is used to retrieve the text for the PUT statement.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Change 29.261 -An incomplete comment in Change 29.147 caused the new and
VMAC0 "true" IPLs datasets WORK.TYPE0 and PDB.IPLS to have ZERO
Nov 23, 2011 observations since that change in MXG 29.06. That this
error was accidentally discovered when trying to diagnose
the unbalance quote warning in Change 29.262, by counting
the two comment tokens ( /* */ ) separately to see if the
counts are equal (because often unbalanced quote errors
result from unbalanced comments, or new comments wrapping
around commented text) suggests that few sites have IPLs
that needed to be reported!
-An incorrect pair of single quotes was changed to single
quote in optional IMACICBB code, discovered the same way
when counting quotes. The pair was inside the comment
block, and it's been there a long time; either tailoring
users caught it and fixed it when enabling that optional
CICS segment, or nobody uses this optional segment.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Change 29.260 At only one site, the EXITCICS decompression of DB2 V10
VMACDB2H records created records with INVALID HEADER values that
EXITCICS caused STOPOVER ABEND. This change thought the SMF data
Nov 23, 2011 was valid and added protection for the "truncated" data
Dec 18, 2011 segments, but that protection, while safe, was not needed
and the problem in the SAS INFILE exit code in EXITCICS
is being investigated by SAS Technical Support. The DB2
V10 compressed records can be uncompressed using the IBM
utility program xxxxxxx until the problem is resolved,
but this is most strange as MANY sites are successfully
reading compressed DB2 (and CICS!) records with EXITCICS.
This is the text of the original change:
DB2 V10 record with INVALID HEADER caused STOPOVER ABEND.
The ID=101 SUBTYPE=1 record had invalid offsets that are
now protected. The starting INPUT location was compared
with the LENGTH of the record, but in this case, while
the start offset happened to be less than the LENGTH,
the length of data to be input was beyond the LENGTH,
causing the STOPOVER ABEND. Now both the start and end
of each of these truncated name fields is validated and
an error message "INVALID DB2 RECORD QWHC=...." printed.
This text will be updated when an APAR/PTF is known.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
====== Changes thru 29.259 were in MXG 29.07 dated Nov 21, 2011=========
Change 29.259 Cosmetic. Diagnostic PUTLOG statement in IFCID=140 code
VMAC102 was left and printed A_N_= nnn .... on the SAS log for
Nov 18, 2011 each IFCID=140 record, but no other impact.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 29.258 Comparison of I/O Connect Times in RMF 74 and SMF 30 show
BUILD005 DEVCONTM SMF74CNN - DEVICE CONNECT TIME 2,058,143 sec
BUIL3005 SMF30AIC - DASD CONNECT 2,150,200 sec
IMAC30IO IOTMTOTL SMF30TCN - ASID IO all ASIDs 1,482,821 sec
VMAC30 IOTMTODD SMF30DCT - DD IO all ASIDS 1,253,434 sec
Nov 18, 2011 IOTMNODD MXGcalc - TOTL not in DDs 229,387 sec
RMF DEVCONTM and RMF SMF30AIC match quite closely, but
that "hardware" IOTM captured in RMF and in SMF30AIC is
much larger (2150200-1482821= 677,379 sec) than the IOTM
that is captured in SMF30TCN, Address Space IOTM Total.
To investigate, variable in TYPE30/JOBS/STEPS/SMFINTRV
IOTMNOCA='CONNECT*TIME*NOT CAPTURED*IN IOTMTOTL'
is created to see if the cause of this uncaptured IOTM
can be identified/correlated. This text will be updated
when more is known (including my asking IBM).
Some initial investigation with different data shows
-Of 9881 records with non-zero SMF30AIC, 1867 had a
negative IOTMNOCA, but only 40 were more than -10 sec
and the max negative was 2 jobs at -3 minutes.
MOST OF THESE WERE PROGRAM=DSNYASCP although our old
friend IFASMFDP had instances of -37, -17 and -12 sec.
-Of the other 7119 with positive IOTMNOCA, 592 were
greater than 3 seconds, AND ALL WERE PROGRAM=BPXPRFC.
which is the first step of an OMVS Spawned Address
Space Substep. This suggests that the use of I/O by
USS-OMVS is ONE source of NOT-Captured IOTM in 30s.
There are many OMVS I/O counters in the OMVS segment
in SMF 30s, but none have the I/O Connect Time.
-But, a third sites data looking at DB2 and ADABAS jobs
shows large positive uncaptured values for ADABAS but
for DB2 jobs, large negative uncaptured, i.e., time in
SMF30TCN is LARGER than the time in SMF30AIC.
-This issue is under discussion with IBM z/OS folks;
I think that IOTM for USS is captured in AIC but not
in IOTM, and there are errors in which address space
records IOTM when there are "partner" database ASIDs,
but the total IOTM are correct. We'll see!!
JOB INTBTIME IOTMTOTL SMF30AIC IOTMNOCA
DB2JOB01 13:14:00.15 0:10:23.25 0:00:42.06 -581.19
DB2JOB01 13:29:00.16 0:09:08.14 0:02:49.97 -378.16
DB2JOB01 13:44:00.16 0:07:51.57 0:01:34.28 -377.29
DB2JOB01 14:14:00.17 0:10:44.91 0:00:23.18 -621.73
DB2JOB01 14:29:00.21 0:10:22.25 0:00:55.89 -566.35
ADABAS72 13:14:00.05 0:02:46.90 0:12:50.75 603.85
ADABAS71 13:29:00.09 0:01:40.57 0:08:55.19 434.61
ADABAS72 13:29:00.09 0:03:54.11 0:16:02.57 728.45
ADABAS72 13:44:00.04 0:03:32.12 0:16:39.49 787.37
ADABAS72 13:59:00.02 0:03:05.23 0:16:01.69 776.46
ADABSD72 14:14:00.07 0:02:48.06 0:15:40.71 772.64
ADABSD72 14:29:00.05 0:02:05.13 0:11:20.71 555.58
Thanks to Meral Temel, Garanti Teknoloji, TURKEY.
Change 29.257 WMQGETTM was not divided by the 4096 factor needed for
VMAC110 CICS 8-byte time durations, so it was a little too large!
Nov 17, 2011
Thanks to Robert C. Crawford, USAA, USA.
Change 29.256 Change 29.120 revisions to ASUMVMXA were not included in
ASUMVMXA that change until today.
Nov 17, 2011
Change 29.255 z/VM datasets VXSUMIOD and VXDEVTOT created by _SIODDEV
VMACVMXA were left in //WORK, and dataset macros _LSUMIOD/_LDEVTOT
VMXGINIT were not defined nor were &PSUMIOD nor &PDEVTOT; all are
Nov 16, 2011 now defined and used so they now default to //PDB.
_RPT36 was revised to use _LDEVTOT as its input dataset.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 29.254 IMF variable ARRVTIME has resolution to only one decimal
VMACCIMS place, but "newer" variable TRNARVTH time has two decimal
Nov 19, 2011 places, so ARRVTIME is now revised to use the DATE part
of original ARRVTIME but with TRNARVTH's value for TIME.
Thanks to Ken Jones, Xwave, CANADA.
====== Changes thru 29.253 were in MXG 29.07 dated Nov 14, 2011=========
Change 29.253 Preliminary support for Velocity Software Version 4.1 has
VMACXAM eliminated warning messages about new segments, and most
Nov 14, 2011 new data fields are decoded, and this level set has been
validated with data records thru MXG's QA job stream.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 29.252 The new SM120XP/SM120XZ times are in microseconds rather
VMAC120 than the (strange) duration units that MXG decoded. Also,
Nov 14, 2011 the MXG code caused INVALID ARGUMENT messages if executed
on ASCII; those fields had not been translated to EBCDIC
before they were used in the INPUT function.
-The undocumented SM120XZ field is the CPU time that has
been offloaded by WebSphere to zIIP engines, and it is so
labeled now.
Thanks to Millard Stephens, FMR, USA.
Thanks to Warren Cravey, FMR, USA.
Thanks to Raj Ramachandran, IBM, USA.
Change 29.251 Support for Demand Technology Performance Sentry NTSMF V4
EXNTDTSA adds three new objects that create three new datasets:
EXNTVMWA dddddd dataset description
EXNTVWVS NTDTSA DTSALRTR DTS.AlertRecipient
IMACNTSM NTVMWA VMWAREh VMWARE
VMACNTSM NTVWVS VMWHVSPH VMWARE.HOST.VSPHEREREPLICATION
VMXGINIT -Existing VMWARE objects were INCOMPATIBLY changed by the
Nov 12, 2011 insertion of a separate field for the 2nd instance field.
Previously a single field contained both instance values,
separated by a '::', that MXG parsed in the two instance
variables. MXG now detects NRNAMES=2 and uses separate
fields when they exist, but that new NRNAMES value causes
error messages (and no observations output), if you read
NTSMF V4 (new) records with MXG prior to 29.07.
These segments have two fields stored for xxxxINST/INS2
VWGC VWHC VWGD VWHD VWGN VWHN VWHS
These segments have one field that is still parsed to
populate the two xxxxINST and xxxxINS2 instances:
VWGA VWHA VWGM VWHM VWGS
-New variables xxxxVMHO (VM*HOST), xxxxCPU (CPU*NUMBER),
xxxxVMGU (VM*GUEST) are created from new fields added at
the end of many existing VMWARE records.
-Many new variables were added to existing VMWARE datasets
in Version 4, too many to list here, but you can find all
in VMACNTSM after the text "ADDED BY CHANGE 29.251" in
the KEEP= list for all datasets.
Change 29.250 Windows SEVEN restricts writes to the root, program file,
VMXGPRNT and other directories. VMXGPRNT writes text/code to file
Nov 10, 2011 TMPPRNT and then %INCLUDEd TMPPRNT, but the MXG default
file C:\MXGTEMP.SAS was in the root directory, so it was
restricted from access. The circumvention was to change
filename TMPPRNT to INSTREAM, which is the MXG ddname
specifically designed (and used internally by MXG) to
dynamically create SAS code and/or MXG macro definitions
"instream" and then %INCLUDE them. TMPPRNT was never
needed, but the original contribution was left asis.
FWIW: Even with the error, all datasets were printed;
The error prevented the printing of the variable name
along with its label, which is the ONLY reason you want
to use VMXGPRNT/VMXGPRAL, and why I saw the error, as
I use VMXGPRAL all the time, especially to understand
all of the variables in a new dataset I've just built.
Change 29.249 TYPSXAM example to create and sort all datasets to PDB
TYPSXAM did not sort all fifty-six datasets. The structure of
Nov 10, 2011 MXG support for XAM is different because XAM has five
INFILEs that create fifty-six datasets. Each infile has
a macro pair _TXAMfff and _SXAMfff where _TXAMfff reads
infile fff to create all fff datasets and _SXAMfff sorts
the fff datasets to the PDB. But, the _SXAMfff macros
have not been updated in a long time so the newer XAM
datasets were not in the XAM PDB data library.
The simple resolution is to replace the five _SXAMfff
macro invocations in TYPSXAM with the _SXAM product sort
macro that sorts ALL of the XAM product's datasets (and
all of the _Sxxxx product sort macros are validated to
sort all datasets as part of MXG's robust QA jobstream).
An additional problem is avoided: the _SXAMDEV token
name is used for both the data set sort token and for
the _SXAMfff "infile fff" token. Using _SXAM and not
using the _SXAMfff tokens avoids a major redesign and
new (INCOMPATIBLE) naming conventions.
Thanks to Debbie Mattos, Lockheed Martin, USA.
Change 29.248 INVALID ARGUMENT TO SUBSTR in SYSLOG IEC205I message text
VMACTMNT in ASMTAPEE/MXGTMNT tape mount/syslog monitor SMF record.
Nov 9, 2011 Parsing to INPUT the mmm after TOTALBLOCKS=mmm into the
SYSLBLKS variable in TYPESYMT dataset expected 16 bytes
and failed when there were fewer characters for mmm. Now
the parse stops at the first blank character.
This change in format of the IEC205I message occurred
after PTF UA90604, in APAR OA90604, which included
IFG0194J, which contains message IEC205I.
The prior PTF level was UA60149.
APAR OA38051 now documents:
Unnecessary information on the third line of IEC205I
Characters *HAS will appear after spaces
and it was these unexpected characters instead of
blanks that led to this MXG circumvention change.
Thanks to Clayton Buck, UniGroup, USA.
Change 29.247 Support for ZEN FERRET, ZEN IMPLEX and ZEN OSA user SMF
EXFERSAW records from William Data Systems GmbH products.
EXZOSAEV -VMACMPLX - ZEN IMPLEX V5.1 adds two new variables
FORMATS ESMFHCMN (CPC*NAME) and ESMFHLNM (LPAR*NAME) to its
IMACFERT header (COMPATIBLY) and those variables are kept in all
IMACZOSA ZEN IMPLEX datasets.
VMACFERT -VMACZOSA. Support for ZEN OSA MONITOR V1.3 SMF record,
VMACMPLX creates TYPEZOSA dataset with separate observations for
VMACZOSA each value segment in each SMF record. All four subtypes
VMXGINIT (CHAN,LPAR,I/O,QUEUE) have the same record structure with
Nov 10, 2011 a fixed suite of OSA descriptors and one or more value
Dec 16, 2011 segments; MXG creates a separate observation for each of
the value segments in each SMF record. Variable ZOSARESC,
the resource name is EBCDIC text in the I/O and QUEUE
record, but because it is a hex string in the CHAN record
it's value is instead kept in variable ZOSARESH.
-VMACFERT. Support for ZEN FERRET V2.3. INCOMPATIBLE.
-Datasets FERRETCP, FERETEE, FERETRT datetime field was
1 changed from mm/dd/yy to ddMONyy, so prior MXG versions
will fail due to this INCOMPATIBLE change.
-Two new fields have been added to the RTP and CP data
section, a flag byte which indicates the type of history
and a field showing the transmission priority.
-Support for new Session Awareness Section creates new
FERRTSAW dataset, although some minor issues have just
been opened.
-The key section for SAW has PLU and SLU, but those
fields are also in the data segment
-Offset value to SAW is 106, but segment starts in byte
109; the offset value should be 112, and three less to
get to the SAS byte location of that offset.
Thanks to Bruce Sloss, PNC Bank, USA.
Thanks to Ronald Delp, PNC Bank, USA.
Change 29.246 If a filename in macro variable &PDB had a DASH, this
BLDSMPDB compiler error was caused when %UPCASE(&PDB) was used:
Nov 8, 2011 "ERROR: A character operand was found in the %EVAL
function or %IF condition where a numeric operand is
required. The condition was: %upcase(&runday) eq
%upcase(&pdb) and %length(&rerun) ne 0 "
because that DASH was not "masked" and was thus seen as
a mathematical minus and not a part of the filename.
This is obscure, to say the least, but SAS documents that
neither %UPCASE() nor %STR() macro functions mask special
characters, and that %QUPCASE() should be used instead.
But in this specific test, the UPCASE() was never needed
as both arguments were previously LOWCASED() which DOES
mask special characters. But the &RUNDAY EQ &PDB test
cannot be used because that dash will still look like a
minus sign, so the circumvention/re-design now uses
IF %QUOTE(&RUNDAY) EQ %QUOTE(&PDB) to mask the DASH and
successfully compile.
Thanks to Mitchell Loren, Los Angeles County Education, USA.
Change 29.245 Change 29.195 added a test TMSCTL=:'TMSCTL#' to protect
VMACTMS5 when a non-TMC file is read, but that PoundSign was not
Nov 8, 2011 recognized with some character sets, so the test is now
shortened to TMSCTL='TMSCTL' to avoid a false positive.
Thanks to Akre Trond Maurita, EDB, NORWAY.
Change 29.244 Support for TMON/CICS V3.3 (mostly COMPATIBLE) TCE data.
VMACTMO2 -TMON/CICS V3.3 increased MRO's TAMRSYID field from 4 to 8
Nov 10, 2011 bytes, to hold the IPIC CONNID. Unfortunately, while MXG
does use segment length to keep aligned with each of the
repeated MRO segments, inserting 4 bytes (instead of new
8 bytes at the end) shifts/trashes the TAMRxxxx variables
in the MONIMRO dataset due to this INCOMPATIBLE change,
but there are no error messages nor condition code set,
so V3.3 is INCOMPATIBLE ONLY IF YOU USE MONIMRO dataset;
MXG Version 29.07 is required for V3.3 only for MONIMRO.
And, fortunately, MONIMRO is very rarely used in reports.
TMON records with earlier MXG versions will not cause
errors nor ABENDS, just bad data in one seldom used
-TAMRFLG1 and TAMRFLG2 fields are listed in V3.3 as new
but were previously input and kept in MONIMRO dataset.
-The DSECT for the header showed an optional, inserted
40-byte extended-common-header segment, that would have
made all V3.3 records incompatible, but, fortunately,
that segment will NOT exist in V3.3 records. And, more
fortunately, MXG is updated to support its existence, so
if/when it appears in a future record, it won't be an
incompatible change.
Change 29.243 Calculation of ESTSCP1M had (0.57*(0.1*RNI)) but that was
ASUM113 a typo, now corrected to (0.57+(0.1*RNI)). MXG's error
VMAC113 caused very small values in ESTSCP1M.
Nov 2, 2011
Thanks to Dave Cogar, Wells Fargo Bank, USA.
Change 29.242 ONLY if executing MXG on ASCII, and ONLY if MXG default
VMAC102 option COMPRESS=YES was changed to COMPRESS=NO (which
Nov 1, 2011 causes SQL text to be broken into 100 byte chunks that
Nov 3, 2011 are output in dataset T102T14x instead of T102S14x), the
DB2 Audit variables QW0140TX,QW0141TX,QW0142TX,QW0145TX
were only readable text in the last segment or if there
were less than 100 bytes of SQL text, because MXG's logic
for this "chunking" algorithm was written long ago and it
was only validated back then on z/OS. MXG INPUT those
fields with $EBCDIC100, but that INPUT should have been
with $CHAR100, and then the INPUT function with $EBCDIC
informat does that translation to readable text.
And variable QW0124T's INPUT was also corrected.
Thanks to Lars Fleischer, SMT Data, DENMARK.
Thanks to Jorgen Lund, SMT Data, DENMARK.
Change 29.241 The example to split SMF records into 5 groups output DB2
JCLSPLIT ID=102 records in "B" DB2 output file, and then failed to
Oct 28, 2011 add 102 to the NOTYPE list in the "E" group (ALL OTHER),
so all 102s were output in both "B" and "E" output files.
The 102 is now added to the NOTYPE list in "E".
Thanks to Jennifer D. Ayers, WVOT Data Center, USA.
Change 29.240 The length of new variable SM1209FH could not be changed
VMAC120 as described in Change 29.081. That text was rewritten.
Nov 8, 2011
Change 29.239 Variable SHIFT (also used as "ZONE") is now created in
VMAC7072 all of the RMF datasets, from STARTIME.
VMAC71
VMAC73
VMAC74
VMAC75
VMAC76
VMAC77
VMAC78
VMAC79
Oct 27, 2011
Thanks to Frank Lund, EDB ErgoGroup, NORWAY.
Change 29.238 Change 25.142 and Change 28.211 identified USER SMF
VMACARB VMAC's using "MACRO _xxxxID nnn%" instead of "MACRO
VMACDLMN _IDxxxx nnn%" but those changes did not revise those
VMACDMON members to use the more-recent-and-preferred _IDxxxx
VMACHURN syntax. All VMAC's are now updated to support both forms
VMACM204 of the _ID macro to tell MXG what SMF record number to
VMACNSPY process as product xxxx, but only to be consistent, just
VMACPDSM in case we needed to generate them internally in MXG.
VMACRMDS Note that using UTILBLDP is recommended to read multiple
VMACROSC SMF records, and by using it's USERADD=xxxx/nnn argument
VMACRTE set the SMF IDs, you do not need the _ID definitions in
VMACTSOM your IMACKEEP tailoring.
VMACVVDS -But some inconsistencies in _IDxxxx macron names exist:
VMACWYLA Arbiter can write each of its subtypes with a separate
VMACWYLB SMF record ID (_IDARB00-IDARB0C).
VMACX37 VMACM204 has _IDM204L and _IDM204S for Log/Since-Last.
Oct 26, 2011 VMACTSOM has _IDTSOMC and _IDTSOMS for Command/System.
VMACHSM has _IDHSMDS and _IDHSMD1 for Daily/FSR Stats.
VMACHBUF was in 25.142 but had been updated to _IDHBUF.
VMACWYLB was in 25.142 but had been updated to _IDWYLB.
Change 29.237 The calculation of ZIPUSED and ZIEUSED did not include
ASUMMIPS the divide by CAPZIPRT*100.
Oct 24, 2011
Thanks to Bernhard Bablok, Allianz Managed Operations, GERMANY.
Change 29.236 SMFSRCH is a VERY slick new tool to print all SMF records
COMPALL that contain a specific "LOOKFOR" character text string.
COMPALLN All SMF records are scanned for the "LOOKFOR" text
SMFSRCH - using IF INDEX(_INFILE_,"LOOKFOR") syntax -
TYPESMF and selected SMF records are written to the temporary
VMXGGETM DDNAME/filename of MXGTEMP, from where TYPESMF program
VMXGPRAL reads them to create every possible MXG dataset that can
VMXGSRCH be built from SMF records, including "USER" SMF records.
Nov 11, 2011 Then, ONLY the observations in those datasets that have
a variable containing the "LOOKFOR" text are printed.
(This extra filtering is needed because some datasets
created from the selected records won't contain that
"LOOKFOR" text. Consider if LOOKFOR=USERID, TYPE 30-4
records with that USERID will be selected and TYPE30_D
dataset will have many observations, one per DD name,
but the USERID field is not kept in dataset TYPE30_D,
so this final filtering prevents those unwanted "false
positive" observations from being printed.)
The selected SMF records can be kept by making //MXGTEMP
a permanent dataset, and the selected MXG-created SAS
datasets can also be kept.
-The //MXGTEMP DD may need to be added to your JCL.
-SMFSRCH creates all possible datasets that can be created
from IBM or USER SMF records. IBM fixed-numbered records
are automatically output, but only the USER SMF records
that have a "MACRO _IDxxxx nnn % definition in IMACKEEP
or in IMACxxxx will create observations (BUT: you can use
the USERADD=xxxx/nnn argument to tell MXG the nnn you use
for product xxxx and those datasets can be populated).
-SMFSRCH reports the counts/sizes of SMF records input and
selected, and maps USER SMF records to their product if
the_IDxxxx macro was found.
-New parameters added to VMXGGETM, used in new SMFSRCH:
BEGTIME= earliest datetime to be selected
ENDTIME= latest datetime to be selected
INCODE= A stub of code executed after the header
is read
LOOKFOR= text string to be searched in each SMF record
-TYPESMF executes all TYPExxxx member that read any SMF
records, reading SMF once for each TYPExxxx member, so
it is only used in SMFSRCH to read the selected records.
-VMXGPRAL's TITLE "PRINT OF FIRST MAX OBS.." corrected.
Thanks to Jeffrey Dyke, USDA, USA.
Change 29.235 Change 29.125 (MXG 29.05-29.06) corrected DB2 IFCID=22
VMAC102 error with DB2 V10, but did not work for DB2 V9. And, in
Oct 19, 2011 testing this update the T102I022 dataset was found to be
in serious need of realignment.
Thanks to Tom Buie, Southern California Edison, USA.
Change 29.234 Cosmetic. Messages that EXCLUDED FIELDS are revised to
VMAC110 print the value of the triplets (dictionary records) that
Oct 19, 2011 are defined in your IMACEXCL tailoring, to make it easier
to see that your UTILEXCL missed a dictionary record.
Change 29.233 Support for BETA93 Version 4.1.0: Subtype 25 was changed,
VMACBETA with fields removed, causing wrong or missing values in
Oct 18, 2011 dataset BETA25, plus INVALID DATA FOR BETASTRT messages.
These variables are now missing/blank with 4.1.0:
BETACPU BETAELAP BETAEND BETAETKN BETALTKN
BETAOWNR BETARTKN BETASTRT BETAVIOR BETAVIOW
Additionally, missing value messages for some datetimes
are circumvented by testing DATE GT 0 before calcs.
Thanks to Michael Brenning, Finanz Informatik, GERMANY.
Change 29.232 DFSORT variables ICEMNVLX,ICEMNVLY, and ICEMNVLZ are not
VMAC16 documented as to their units, but data shows they are in
Oct 15, 2011 KB and not Bytes, so they are now multiplied by 1024 to
Oct 25, 2011 convert to bytes, and then so MGBYTES format will print
16M rather than 16K previously printed. IBM has privately
verified that the units are 16M and plan to update their
DFSORT documentation to show the units attribute.
Thanks to Neil Ervin, Wells Fargo Bank, USA.
Change 29.231 Support for Axway CFT/ESA (Cross File Transfer) two SMF
EXAXWAY record formats ("2.3" and "2.4" but "2.3" format records
FORMATS (8-byte vs 32-byte fields) are created/creatable with the
IMACAXWY current CFTMON 2.6.4. As there is no version number and
TYPEAXWY the two records have same length, three one-byte fields
TYPSAXWY that must be blank in 2.4 are used to identify version of
VMACAXWY the record. The 2.4 code with 32-byte fields is INPUT
VMXGINIT first so the kept variables will be the longer length.
Oct 15, 2011
Nov 17, 2011
Thanks to Richard Wendland, US Bank, USA.
Thanks to Claude Breault, Centre de Services Partages Quebec, CANADA.
Change 29.230 Comparison of BMC IMF FA and IBM 56FA IMS Log records.
ASUM56FA -Variable IMSRECCH added to CIMSTRAN to capture that IMS
EXIMS56C log sequence number at the end of each IMS log record; it
FORMATS was already in IMF56FA. In TYPECIMS variable IMSRECNR is
IMACIMS the _N_ sequence number and is NOT input from the record.
TYPEIMST -IMS56FA records are written as pairs for a single IMF FAx
VMACCIMS log record. The pair have the same ARRV and STRT times,
VMACIMS and are written 5 milliseconds apart at transaction end.
VMXGINIT -See the new IMS Technical Note in NEWSLETTER FIFTY-NINE
Oct 11, 2011 for a detail explanation of what is captured in IMS56FA
Oct 21, 2011 transaction event records, and a comparison with IMF.
Oct 27, 2011 -ASUM56FA program (still in testing) is added to MXG.
Change 29.229 -Variable TPMCA7JN is now input &PIB.2. + 2 versus &PIB.4.
VMACTPMX -Variable TPMPI was decimal 243 for 'F3'x which is EBCDIC
Oct 11, 2011 numeric/character three. INPUTing TPMPI as $EBCDIC1 would
Oct 15, 2011 create a character variable with value '3', but TPMPI is
a numeric variable, so the field into TPMPICH $EBCDIC1.,
but then TPMPI=INPUT(TPMPICH,1.); will preserve TPMPI to
remain a numeric variable, but with value 3 versus 243.
-Datetime variable TPMDUEOT is now correctly populated but
that variable can have a missing value.
Thanks to Tren Csuy, Humana, USA.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 29.228 Variables SMF30SNF and SMF30ZNF, the zAAP and zIIP
BUILD005 factors that were used to normalize those Engine's CPU
BUIL3005 time are now kept in PDB.JOBS. This updates Change
Oct 11, 2011 28.139.
Nov 17, 2011 Nov 17: (DROP=_26NJE) was added to DATA TYPE26J2 to
ensure dropping of those NJE variables from PDB.JOBS,
if those variables were still somehow in SPIN26.
Thanks to Jim S. Horne, Lowe's Companies, USA
Change 29.227 -Revised code to read HP MeasureWare NT records with new
VMACMWNT fields added in GLOG record:
Oct 8, 2011 PKDSKPCT='PEAK*DISK*PERCENT'
PKDSKTIM='PEAK*DISK*TIME'
and with the MXG code restructured to match the changed
fields in the REPORT command used to extract the data.
-DDMMYY8 format revised to DDMMYY10 for those dates.
Thanks to Frank Tonneau, KBC Global Services NV, BELGIUM.
Thanks to Geert Debatselier, KBC Global Services NV, BELGIUM.
Change 29.226 False ERROR.TYPE1415.DEFECTIVE EXTENDED INFO SEGMENT
VMAC1415 could print for a record without an Extended Segment. MXG
Oct 7, 2011 code now tests SMF14XSG first to validate existence.
Thanks to Herbert Sweeney, Verizon Data Services, USA.
Change 29.225 INVALID THIRD ARGUMENT OF SUBSTR message and hex dump of
VMACDB2 the record was caused by DB2 V10 record with INVALID QMDA
Oct 7, 2011 segment for QMDAPTYP='JCC' - invalid because it does not
match the DSNDQMDA DSECT in the DB2 Macro Library. Now,
the first three records are detected and MXGWARN messages
are printed on the log, while a PMR will be opened.
Thanks to Kim Morrell, RCMP, CANADA.
Change 29.224 -Utility VMXGGETM selects SMF records for counts or to be
VMXGGETM written, and is enhanced with new arguments SYSTEM=,
Oct 3, 2011 BEGTIME=, and ENDTIME=, to select SMF records by SYSTEM
Oct 24, 2011 and/or ranges of SMFTIME values. This could alternately
be done with the powerful but obscure %LET MACFILE= logic
(the "instream" equivalent of IMACFILE EDIT tailoring).
-LOOKFOR=text, added: selects SMF records with that text.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.223 Support for APAR OA37114, ITRF (OMEGAMON IMS V420 TRF)
VMACITRF TRFOUT record adds five new variables (COMPATIBLY) that
Oct 2, 2011 are output in MXG dataset ITRFMSG.
MI ='SPA*INDICATOR*PSTMI'
MSRC ='MESSAGE*SOURCE*FLAG*PSTFLAG1'
SCHF1 ='QUICK*SCHEDULED*PSTSCHF1'
SPAL ='CURRENT*SPA*SIZE'
VSFLG ='PRIMED*MSG*INDICATOR*PSTVSFLG'
Change 29.222 New tokenid values are now decoded in TYPE80A:
VMAC80A TOKMEMLI='MEMLIMIT'
Oct 2, 2011 TOKSHMEM='SHMEMMAX'
These "NO" value tokens have no data values so they are
output in TYPE80TK with their TOKDANAM to record that the
option was in effect, suppressing a NOT DECODED message:
NOCPUTIMEMAX NOFILEPROCMAX NOPROCUSERMAX NOTHREADSMAX
NOMMAPAREAMAX NOASSIZEMAX
Thanks to Angelito Lontoc, Northern Territory Government, AUSTRALIA.
Change 29.221 -CICS Statistics dataset CICDB2GL fields that were not
FORMATS identified as new were overlooked, but are now added:
VMAC110 D2GPSIGN='PARTIAL*SIGNONS'
Oct 3, 2011 D2GCTHCR='COMD*THREAD*CREATES'
Oct 16, 2011 D2GPTHCR='POOL*THREAD*CREATES'
D2GREHIT='REUSELIMIT*HIT*COUNT'
-Statistics Dataset CICSMDSA variable SMSDSAIN indexes the
type of DSA, but values of '00'x have been found for RDSA
EUDSA, and ERDSA, so the SMSDSANM (DSA Name) is used to
set their value in SMSDSAIN to '04'x, '86'x, and '08'x
when '00'x is found, and the FORMAT $MGCICDS (which maps
SMFDSAIN to the name of the DSA) is updated with values
'09'x (ECDSA), '8D'x (GCDSA) and '7F'x (ESDSA) that were
undocumented in the CICS Data Areas. Variable SMSDSAIN
existed before variable SMSDSANM, the actual DSA Name, so
with these undocumented and '00'x values in SMSDSAIN, the
variable SMSDSANM should be used instead of SMSDSAIN to
identify which DSA name is being reported in CICSMDSA.
-The CICSMDSA variables for "ABOVE THE BAR" storage were
wrong; they are in (undocumented, but now obvious) units
of 1 GB, so they are now converted to bytes and formatted
with MGBYTES to print the correct storage values:
NOTE: ABOVE WRONG, THEY ARE IN MB NOT GB. CHANGE 30.094.
These variables are DSA-specific and corrected:
SMSDSASZ SMSHWMDS SMSCSIZE SMSFSTG SMSHWMFS SMSLWMFS
SMSLFA
These variables are in the header of the CICSMDSA record
and thus repeated in each observation for the interval,
but are also corrected:
SMSGDCUL SMSGDHWL SMSGDCUR SMSGDHWM
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 29.220 Support for z/OS 1.13. REQUIRES MXG 29.03 or later.
VMAC7072 -VMAC7072. IBM now stores 'FF' character ('C6C6'x !) for
VMAC71 the CPUID (SMF70CID) for engines that don't exist in the
Mar 24, 2011 CPU Data Section, which MXG saw as 50886 decimal, which
VMAC23 caused ARRAY SUBSCRIPT OUT OF RANGE error. MXG logic
Apr 2, 2011 relocated the initialization of the two arrays that used
VMAC113 CPUID as the subscript, and created a DO group to only
VMAC6 process the CPU Data Sections with valid CPUID number.
VMAC42 -VMAC71. TEST for OFFSWAP GE 0 AND NRSWAP GE 0 caused
VMAC64 INPUT STATEMENT EXCEEDED. That test should have been GT
Sep 30, 2011 for a long time (since SWAP datasets went away!!).
Accidentally didn't fail with prior z/OS but was wrong.
Cosmetic: SWAPAUX calculation was moved back inside the
DO group for (now non-existent) SWAP counts so that it
doesn't cause a Missing Values message.
-VMAC23. Two new triplets are decoded, for the new Spin
Lock and Bind Breakdown Instrumentation sections, but
both are currently "For Internal Use Only".
-VMAC6. The Reserved 16-bytes in SMF6INDC=7 Extended Mode
segment contains SMF6IPV6, currently just input and not
kept nor decoded. SMF6URIL, added by OS25152 is not in
the Pre-GA SMF Manual.
-VMAC42. New variables added to several datasets:
SMF42GRU='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
SMF42GRJ='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
SMFA2GRJ='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
SMFA2GRU='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
SMF42JQ2='READ REQS*RETRIED FOR*CASTOUT*LOCK'
SMF42JRC='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
SMFA2JQ2='READ REQS*RETRIED FOR*CASTOUT*LOCK'
SMFA2JRC='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
These fields were added by APAR OA30300.
-VMAC64. New variable added to TYPE64:
SMF64RLM='CA-S*RECLAIMED*IN ESDS*SINCE CLOSE/EOV'
-VMAC7072. New ID=72 Subtype 5 adds 13 new datasets:
dddddd Dataset Description
TY725A TYPE725A RMF III SERIALIZATION DELAY
TY725B TYPE725B RMF III CMS LOCK DELAY
TY725C TYPE725C RMF III CMS ENQUEUE DEQUE LOCK DELAY
TY725D TYPE725D RMF III CMS LATCH LOCK DELAY
TY725E TYPE725E RMF III CMS SMF LOCK DELAY
TY725F TYPE725F RMF III LOCAL LOCK DELAY
TY725G TYPE725G RMF III CML LOCK OWNER DELAY
TY725H TYPE725H RMF III CML LOCK REQUESTOR DELAY
TY725I TYPE725I RMF III GRS LATCH SET CREATOR DELAY
TY725J TYPE725J RMF III GRS LATCH REQUESTOR DELAY
TY725K TYPE725K RMF III GRS ENQUEUE STEP DELAY
TY725L TYPE725L RMF III GRS ENQUEUE SYSTEM DELAY
TY725M TYPE725M RMF III GRS ENQUEUE SYSTEMS DELAY
-VMAC7072. New variables added to TYPE70XT dataset:
R7023CRT='EXEC TIME*ALL OPS*4096-BIT*CRT-FMT'
R7023CRC='NUMBER OF*ALL OPS*4096-BIT*CRT-FMT'
-VMAC71. New variable added to TYPE71:
SMF71LFA='LARGE*FRAME*AREA*SIZE'
All Logical Swap and ESTORE variables are now reserved.
-VMAC113. New variables added to TYPE113
SM1132MM='MACHINE*MODEL'
SM1132MT='MACHINE*TYPE'
Change 29.219 Support for Tivoli Workload Scheduler For z/OS Ver 8.3 is
FORMATS completely incompatible with numerous changes to many of
IMACOPC the tracklog file's records.
VMACOPC -The _OPCVER macro is no longer used, since this update
Sep 24, 2011 supports the current version. However, it may have to
Sep 27, 2011 be reinstated in the future since IBM still does not
Nov 14, 2011 provide the version number in each record.
-There are numerous instances in different MT0TYPE records
that end with a 4-byte field of hex zeros where the next
MTDTYPE/MTDOPER pair were expected. Probably APAR-able,
but it was more expeditious to detect and delete them in
MXG than to take the time to document them for a PMR.
-Invalid TRL 29 record caused INVALID ARGUMENT messages;
the internal %DT macro now tests the incoming arguments
and if the date or time is missing, RETURNs, preventing
those cosmetic messages. With or without those messages
the date values returned were and are missing values.
-Nov 14:
This is not a used record type so the error will not
be pursued until a customer who actually needs this
record type raises the issue.
-There are one new MTD segment, MTDTYPE=16 that is not
not documented in SC32-1261-03.
-MTD17 segment is decoded.
Thanks to Louis Deledalle, BNP Paribas, FRANCE
Change 29.218 Variable CNT30REC is added to PDB.STEPS dataset to count
BUILD005 the number of physical SMF 30 records created for this
BUIL3005 step (which were all consolidated into this observation).
Sep 22, 2011
Change 29.217 Corrected and improved support for the RCDSD section in
ASMRMFV RMF III RCD data is provided.
VMACRMFV -ASMRMFV now correctly calculates the length of the RCDSD
Sep 20, 2011 array that before could cause a SAS INPUT LENGTH ERROR in
Sep 27, 2011 VMACRMFV processing.
Nov 2, 2011 -ASMRMFV now correctly handles an RCDSD when a Class with
Nov 20, 2011 zero periods is detected. An RCDSD cannot exist in this
EXZRBRCP case because the RCDSD pointer is part of the period data
NOV 13, 2013 -VMACRMFV formats for the variables RCDRGCAP and RCDRCGD
were reversed.
-New variables RCDBPMI and RCDSDPH are added to the
ZRBRCDD file by VMACRMFV.
-VMACRMFV now reads both the Begin-To-End and Execution
Phase data for each RCDSD entry. Current documentation
for RMF III did not clarify that each RCDSD entry is
actually a pair of arrays for these two Phases.
-ASMRMFV when processing a CFI Table with the RMF III
CFDETAIL option in effect, did not correctly handle the
condition where no connections exist for a CF Structure.
This resulted in a corrupted CFI Table record and an SAS
INVALID DATA message during VMACRMFV processing.
-When the number of records output for a RMF III table
exceeded 16,277,215 the output record counter in ASMRMFV
would wrap to zero resulting in a very low incorrect
count for that table type. The total record count output
by ASMRMFV would then not match the input record count
from VMACRMFV.
-VMACRMFV did not count the 4 byte RDW (Record Descriptor
Word) in its report of bytes read but ASMRMFV did. Now,
the RDW length is added so that the VMACRMFV byte count
matches the ASMRMFV byte count. However, as neither
ASMRMFV nor VMACRMFV knows how many blocks were written,
both byte counts will not include the 4-byte BDWs (Block
Descriptor Word) for each block.
-The RMF Monitor III version id variable names are now
more consistent with the naming pattern of xxxVERG3.
RCDVERS is now RCDVERG3 (RCD version id). OPDVER is now
OPDVERG3 (OPD version id). SPGVER is now SPGVERG3 (SPG
version id).
-A new variable SVPRTC (Response Time Unit Code) is added
to files with Service Policy data. It is the decoded
value of SVPRTU. This indicates the response time units
for a goal. Values are I=Milliseconds, S=seconds
M for Minutes, H for Hours, and ? for Unknown.
-Added SPACE/NOSPACE parameter option:
-SPACE displays two new messages RMFV030I and RMFV031I
for each RMF Monitor III VSAM data set processed.
-Message RMFV030I shows HARBA (High Allocated Relative
Byte Address), HURBA (High Used Relative Byte Address),
and AVAIL (Available Free Space in Bytes).
-Message RMFV031I shows percent of Allocated Space Used
and percent of Allocated Space Available (Free).
-Both standard & extended format (EF) VSAM data sets are
supported, but RMFV030I message format varies slightly
to accommodate the much larger data sets possible in EF
mode.
-Assembler symbolic variable &SPACE can be changed by
users prior to assembly from the distributed default of
'Y' (SPACE in effect) to 'N' (NOSPACE in effect).
-In conjunction with the existing INDEXES parameter SPACE
is intended to assist MXG users in properly sizing their
RMF Monitor III data sets.
-Program prologue comments documentation was updated.
-Nov 20, 2011:
Change 29.204 (29.05) changed these version variables
PGPVERG3 CPDVERG3 CPUVERG3 CSRVERG3 CFIVERG3 ENCG3VER
OPDVERG3 SPGVERG3 CPUVERNU SVPDVN SVPRTU
from NUM to CHAR, which would create errors combining
PDBs built with different MXG Versions, so they are now
changed back to their original numeric nature. This code
change was NOT in MXG 29.07 dated Nov 14.
-Nov 13, 2013: Exit member EXZRBRCP is no longer called
as ZRBRCP dataset is no longer output, because ZRBRCS and
ZRBRCR now include ZRBRCP variables.
Thanks to Neil Ervin, Wells Fargo Bank, USA.
Thanks to Dan Case, Mayo Clinic, USA.
Change 29.216 Cosmetic. The comment in JCLIMSL6 that two %LETs are
JCLIMSL6 needed to set MACKEEP with _IMSVERS was wrong, as it is
TYPEIMSB only in the STEP04 step that the _IMSVERS must be set.
Sep 19, 2011 In TYPEIMSB, the %INCLUDE of VMACIMS and IMACKEEP and
the comment "to get _IMSVERS" was removed because that
program has no dependency on any of the IMS macros.
Thanks to Trevor Ede, HP, NEW ZEALAND.
Change 29.215 Variables T119STCK, TISSTCK and TIESTCK weren't converted
VMAC119 from GMT to LOCAL, but now are.
Sep 19, 2011
Thanks to Robert Stoffregen, Great Lakes Higher Education Corp., USA.
Change 29.214 Almost cosmetic. In subtype 2 (TYPE78PA dataset) eight
VMAC78 variables ending with TOTL were mislabeled as samples but
Sep 19, 2011 they are the total memory for all samples, so they are
now correctly labeled and added to MGBYTES format to show
they contain memory values. Variables LGMOMIN/TOFRMIN are
RB8 floating point fields, but they can contain hex value
7FFFFFFFFFFFFFFFx (presumably on systems that don't have
large memory frames), so they are now set missing (rather
than decimal values 7.237E75!). Some datetimestamps are
no populated (hex zeros for TODSTAMP8), so they are set
to a missing value (automatically, by SAS).
Thanks to Tony P. Steward, CSC, ENGLAND.
Change 29.213 Support for DB2 V10 IFCID 225 (Subtype=4) INCOMPATIBLE.
CLEARDB2 The IFCID 225 record contains important storage metrics,
EXDB2225 and is written each statistics interval. In DB2 V8, it
READDB2 was a trace record (ID=102,IFCID=225), creating T102S225
VMACDB2 dataset. In V9, it became a statistics interval record
VMXGINIT (ID=100,SUBTYPE=4) creating DB2STAT4 dataset, but with
Sep 20, 2011 the same suite of 8-byte field/MXG-variable names, and
Sep 23, 2011 because it was then recognized as useful, those QW0225xx
variables were added transparently into PDB.DB2STATS from
either DB2 V8 T102S225 or DB2 V9 DB2STAT4 datasets.
But now, DB2 V10 completely and incompatibly restructured
(but also significantly enhanced the storage metrics) in
the IFCID=225 record, still writing it as SUBTYPE=4, with
some fields preserved, but with many new fields with long
names, that I now use for MXG variable names, rather than
struggling to create unique two-character suffixes and
8-byte names (but two new prefixes are needed for the new
separate storage used by DBM1 & DIST address spaces, so
those sets of variable's names are QWA225xx/QAB225xx.
-For DB2 V10, IFCID=225 records are output in PDB.DB2ST225
dataset, and all variables in DB2ST225 are automagically
merged into PDB.DB2STATS dataset with all these programs:
TYPEDB2/TYPSDB2/BUILDPDB/READDB2(IFCIDS=STATISTICS).
-With DB2 V10, the PDB.DB2STAT4 dataset will have zero
observations from DB2 V10 data, since it is populated
only from DB2 V9 IFCID=225 records.
-Test data from the same DB2 Subsystem (QWHSSSID), when
the release changed from V8 to V10, had negative CPUTM in
that statistics interval, because there is no field in a
DB2 Header that clearly identifies when a DB2 subsystem
is started (i.e., unlike CICS records, that have the JOB
and READTIME). Normally, a restart resets QWHSISEQ to a
smaller value, but in this case, that sequence number was
larger in the V10 record than the prior V8 record! So,
MXG now tests both QWHSISEQ and SEQCHECK to circumvented
the IBM omission. That SEQCHECK test in the "bad" data
interval did identify the problem, so the previous test
of SEQCHECK GT 0 was enhanced to 0 LT SEQCHECK LE 5 to
confirm the inteval is valid with no restart.
Thanks to Betty Wong, Bank of America, UDS.
Change 29.212 Invalid JES3 JMF SMF 84 Subtype 1 Segmented Records.
VMAC84 After long discussions with JES3 SMF 84 Support Folks, I
Sep 16, 2011 understand how JMF creates multiple, segmented records
Oct 11, 2011 when there are more entries (FCTs) that will fit in one
SMF record. I can probably circumvent the absence of the
JMF PROD section (source of start/end times!) that is NOT
written in the 2nd and subsequent segments, but ONLY if I
add post-processing steps to sort and to populate those
missing values, and ONLY if there are no missing segments
in the SMF file.
-BUT, there is NO WAY that I can directly process each of
these segmented records, because sections (FCT ENTRY) are
truncated and split (a/k/a "spanned" in JES3 circles) and
written in two separate physical SMF records, but there
are no length fields to identify how many bytes were in
which record.
-Processing these JMF segmented records will require a new
MXG design, to first reconstruct legitimate VB records
without truncated sections, and then process those SMF
records in a separate process. I get to do this because
IBM regards this as "working as documented".
-But, fortunately, JMF records are not typically created
every day; they tend to be turned on and then off for a
study, so we can live with waiting a day to process all
of the JMF records from a study. And, this one very
small glitch in just one part of one subtype of the VERY
comprehensive JES 3 Monitoring Facility is now bypassed,
so all the rest of the JMF datasets are fully usable,
all of the other segments of this subtype 1 record, and
even those first 78 FCT entries are output; MXGWARN notes
on the SAS log alert you there were FCT segments missed.
-The specific case investigated: There were more FCT than
would fit in one SMF record. FCT entries are variable
length sections with many optional subsections. JMF
created 4 physical SMF records, segment numbers 1-4:
-The First segment has JMF PROD, JMF GENE, R84JES3O and
R84IRBSC offsets populated and has no FCT entries.
-The Second segment doesn't have JMF PROD nor JMF GENE
(needed for Interval Start and End times), and has only
R84FCTO, which points to a valid FCT "Header" section
(but R84FAWLN is the TOTAL length of all FCTs, and in
R84FCTN=250 is the total count of all FCTs in all segs;
what's needed here is how many FCTs are in THIS record!
This second segment then contains 78 complete FCT entry
sections, with R84FSEQN 1 thru 78, but then, only the
first part of FCT number 79 was written in this SEGNR=2
SMF record: the last 72 bytes were truncated.
-The Third segment also has no JMF PROD nor GENE sections
and does NOT contain an FCT Header section; it contains
only FCT entries, but it's data area STARTS with those
last 72 bytes of FCT entry number 79, and then FCT entry
number 80 thru 187 are contained in this SEGNR=3 record.
-Finally, the Fourth Segmented Record is like the third,
no PROD/GENE/FCT Header, only FCT entries, but its data
area (happens?) to start with FCT Entry R84FSEQN=188's
byte one, and then FCTs 189 thru 250 are complete in the
SEGNR=4 JMF record.
-Unrelated to the above issues, truncated subtype 2
records were discovered; IBM APAR OA37982 is now open to
correct that error.
Thanks to Lucy F. Trabulus, Bank of America, USA.
Change 29.211 Support for Throughput Manager APAR TMT6214, corrects the
VMACTPMX invalid subtype 16 triplets when there were more than 76
Sep 21, 2011 steps in a job. Those invalid triplets caused the ERROR:
INPUT STATEMENT EXCEEDED RECORD. The APAR corrects the
error by creating multiple "continuation" records when
when there are more than 76 steps, and installing their
APAR eliminates the INPUT STATEMENT EXCEEDED ERROR.
A new version of MXG is NOT required to support the APAR.
But, to create observations in TPM16J dataset, you need
Change 29.200, in MXG 29.06, to correct an unrelated MXG
coding error that caused zero observations to be created.
And, job-info variables were only added to the TPM16J
dataset by THIS change, which will be in MXG 29.07, or
can be requested now via email from support@mxg.com).
-Support for Subtype 5 PCS segment is added, with those
variables added to the existing TPMSLM dataset when the
PCS segment is present. The variable names are taken
verbatim from the DSECT, so most are longer than the old
8-byte ASM DSECT field names.
Change 29.210 The spelling of most variables available in this header
IHDRTMVS exit for selection were wrong. And, variable LMRKJOBC is
VMACTMVS NOT the JOB name of the Landmark Monitor for z/OS, but is
Sep 14, 2011 the SYSTEM ID of that system, so it's label is corrected,
and it can be used to select by SYSTEM.
Thanks to Sam Bass, McLane Co., USA.
Change 29.209 DB2 V10 ID=100 SUBTYPE=1 with INVALID HEADER caused INPUT
VMACDB2H EXCEEDED RECORD LENGTH error. The defective record had
Sep 14, 2011 0122x (290 decimal) for the offset to the un-truncated
QWHSOPID field, with that QWHSTYP=2 starting in byte 5375
but 5375+290=5665, while the LENGTH of the data portion
was only 5534 bytes. Protection for this invalid header
field has been added for all of the "untruncated" fields
in the QWHSTYP=2 Header segment. IBM might be contacted.
Thanks to Tom Pierce, LabCorp, USA.
Change 29.208 IBM i-Series (AS400) with more than 32 CPUs create two
VMACQACS records in QAPMSYSC dataset (IBM "QAPMSYSCPU") for each
Sep 14, 2011 interval, with the first 32 engines in the first record
and the second 32 engines in the second record. You must
now invoke the _SQAPSYC macro after your _TQAPSYC macro
when you read the QAPMSYSC infile:
%INCLUDE SOURCLIB(VMACQACS);
_TQAPCON
_TQAPSYC
_SQAPSYC
as the _SQAPSYC macro now sums those two records to
create a single observation per interval, with the
(corrected) PCTCPUBY percentage, and the new variable
SCPUSUM with the total CPU time for all online engines.
Thanks to Karen Florup, Bank of America, USA.
Change 29.207 MONWRITE Broken Control Record error due to incomplete
VMACVMXA decoding of the 2.14 (SCLALL) Schedule Domain record.
Sep 13, 2011 The error message gives no clue the cause is the 2.14.
This is the first MONWRITE file in a long time that had
SCL (Schedule) domain records enabled; they are rarely
turned on due to large volume, and provide low-level
trace-like event data that requires pretty deep knowledge
of z/VM internals to be useful, but now they too are
supported.
Thanks to David J. Schumann, Blue Cross of Minnesota, USA.
Change 29.206 Cosmetic. VMXGSUM now dies gracefully with an MXGERROR:
FORMATS message if there is no input dataset to process.
VMACEDGR
Sep 13, 2011
Thanks to
Change 29.205 Cosmetic. New format MGEDGCF decodes variable COMEFROM
FORMATS to identify which variable will be missing when invalid
VMACEDGR dates (e.g., 2000/000) are found in RMM records.
Sep 13, 2011
Thanks to
====== Changes thru 29.204 were in MXG 29.06 dated Sep 8, 2011========
Change 29.204 -Support for RMF III RCD data, promised in Change 29.187,
EXZRBRCX is now completed. The new ZRBRCDX dataset contains the
IMACRMFV Response Times for Reporting Classes and the existing
VMACRMFV ZRBRCDT datasets is updated with Response Times for the
VMXGINIT Service Classes.
Sep 7, 2011 -BY lists BZRTRCS/RCR/RCP/RCD were revised.
Sep 13, 2011 -Cosmetic changes, PCT, Version, etc.
Change 29.203 The labels for variables PC24RHWM and PC24SHWM for the
VMAC110 "Below 16MB" areas had ERDSA and ESDSA but those labels
Sep 7, 2011 should have been RDSA and SDSA.
Thanks to Steven Kimball, Aetna, USA.
Thanks to Victoria Lepak, Aetna, USA.
Change 29.202 The _IDEDGSA macro default value should be 512 but it was
VMACEDGS left with 8Ax (138) after a test with user's data, and if
Sep 7, 2011 you have an ID=138 record in your SMF file, JCLTEXTx will
fail (INPUT STATEMENT EXCEEDED).
Thanks to Walter Noniewicz, State of Connecticut, USA.
Change 29.201 -Support for DB2 V10 restructured IFCID=217 record, which
VMAC102 caused T102T217 and T102U217 to have zero observations,
Sep 7, 2011 but (fortunately) the incompatible record format did NOT
cause an execution error. Dataset T102S217 now has only
one unique variable, and new QW0217AL and QW0217AS ASIDs
were added to T102T217 & T102U217 datasets respectively.
Dataset T102V217 always has zero observations (after V8).
-Unrelated, many offseg+lenseg LE LENGTH segment tests are
corrected to offseg+lenseg-1; the incorrect test could
have prevented reading legitimate segments.
Thanks to Betty Wong, Bank of America, UDS.
Change 29.200 No observations were created in TPM16J dataset because
VMACTPMX the MXG test comparing segment offset+length with the
Sep 7, 2011 record length was off by one, preventing input/output.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 29.199 The %SYSPROD(GRAPH) function doesn't validate that the
GOPTIONS product is installed; it only confirms that the SETINIT
DOC licenses SAS/GRAPH. The MXG test in VMXGINIT to set
VMXGINIT GOPTIONS for SAS/GRAPH examples in MXG GRAFxxxx members
Sep 4, 2011 (that was added without a change number in MXG 28.05)
is true when the SETINIT said yes, but GOPTIONS/PATTERNn
statements fail when SAS/GRAPH isn't actually present,
with a 180 syntax error on the GOPTIONS statement, since
those procedure-specific statements can't compiled if the
product isn't installed. The new PROC PRODUCT_STATUS will
list all products that are installed, but its use would
require a PROC PRINTTO to trap its output to a file, a
DATA step to read that file, and new %macro variable and
logic, just to set these (optional!) SAS/GRAPH options.
So, to prevent a 180 error in VMXGINIT, these statements
GOPTIONS COLORS=(R B G CYAN MAGENTA ORANGE GREY BROWN BLACK);
PATTERN1 V=S; PATTERN2 V=L1; PATTERN3 V=R1; PATTERN4 V=X1;
PATTERN5 V=L2; PATTERN6 V=R2; PATTERN7 V=X2; PATTERN8 V=L3;
PATTERN9 V=R3; PATTERN10 V=X3;
are no longer set in VMXGINIT, but are moved into the new
GOPTIONS member, and all GRAFxxxx members were updated to
set them with %INCLUDE SOURCLIB(GOPTIONS);
-Also, MXG macro variables SASGRAF and SASSTAT are removed
from VMXGINIT; they were never referenced in any MXG code
and were set by %SYSPROD(), so they too could be wrong.
Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.
====== Changes thru 29.198 were in MXG 29.06 dated Sep 1, 2011========
Change 29.198 iSERIES variable GDES21 was multiplied by 4096, but it
VMACQACS should have been multiplied by 1024; when GDES11 is all
Aug 31, 2011 nines, GDES21 contains the storage assigned to the LPAR.
Thanks to David Bixler, FISERV, USA.
Change 29.197 Two new segments in Velocity Software XAM Version 4.1 CPU
VMACXAM record are decoded (PRCINS,PRCDIA) but not output as they
Aug 31, 2011 are repeated and hence need new datasets created, and the
new STOASC (DEV) and new SYTLCK (SYS) weren't documented;
these four segments were protected for the NEW SEGMENT
messages but were not decoded. See Change 29.253.
Change 29.196 MXG calculation of GMTOFF30 in SMF 30 records could be
VMAC30 off by 0.01 second, only for positive GMT Offsets, but
Aug 31, 2011 that impacted the BUILDPDB logic that combines MULTIDD=Y
records for a step, when there were intervening SMF 30s
from a different job in between the MULTIDD=Y records.
The MULTIDD=Y records don't contain SMF30IST, so GMTOFF30
must be retained from the prior non-MULTIDD record, but
in this case, SMF30IST was 0.07 with SMF30ISS 0.073983 in
the non-MULTIDD, but an intervening step's non-record had
SMF30ISS of 0.075983 with SMF30IST of 0.08, causing MXG's
(failing) fuzzy logic use GMTOFF30 of .01 in MULTIDD=Ys
from the first step. This caused BUILDPDB to not include
the EXCP/IOTM counts in PDB.SMFINTRV for the MULTIDD's,
so while TYPE30_V had 26 million EXCPs, only 24 million
were in PDB.SMFINTRV for that day's DB2 intervals.
The real culprits, aside from MXG's failing fuzzy logic,
is the absence of GMTOFF in SMF 30 records, the absence
of SMF30IST in the MULTIDD=Y records, and SMF30ISS being
an 8-byte (LOCAL) TODSTAMP with microsecond resolution,
while SMF30IST (GMT) is an 8-byte SMFSTAMP with only 10
millisecond resolution. The correction for MXG's logic
error is to first use ROUND(SMF30ISS,.01) before its
comparison with SMF30IST so both have 10 millisecond,
rounded, values, so GMTOFF30 is correctly calculated for
both positive and negative GMT offsets.
A formal request to IBM SMF30 development to add the long
overdue GMT Offsset has again been made so that MXG logic
is not needed to compensate for its absence.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 29.195 MXG now terminates reading TMS data with USER ABEND 1234
VMACTMS5 and an ERROR message if the input file is not the TMC.
Aug 30, 2011 The TMSGRW TMS utility program creates 340 byte records
that MXG read, but they produced incorrect results.
MXG support requires the TMC data as its input file.
Thanks to Srini Anne, State of California, USA.
Change 29.194 Statistics on Page Datasets are added to RMFINTRV (so if
VMXGRMFI your DB2 DBAs add massive buffers and eat up all of your
Aug 27, 2011 page datasets, you'll at least be able to prove why the
system died for lack of paging space!). New variables:
MAXCOMN ='MAXIMUM*COMMON*SLOTS USED'
MAXLOCL ='MAXIMUM*LOCAL*SLOTS USED'
MAXPLPA ='MAXIMUM*PLPA*SLOTS USED'
NRDSLOCL='ACTIVE*LOCAL*DATASETS'
PCTLOCL ='AVERAGE*PERCENT*SLOTS USED*ALL LOCALS'
PCTMAXLO='MAXIMUM*PERCENT*SLOTS USED*ANY LOCAL'
PCTCOMN ='PERCENT*COMMON*SLOTS USED'
PCTPLPA ='PERCENT*PLPA*SLOTS USED'
SIO75CNT='PAGING*SIO*COUNT'
SLOTCOMN='COMMON*SLOTS*DEFINED'
SLOTLOCL='LOCAL*SLOTS*DEFINED'
SLOTPLPA='PLPA*SLOTS*DEFINED'
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.193 -ANALZPCR with PDB=SMF reads 113s as well as the others
ANALZPCR and invokes ASUM113.
UTILBLDP -UTILBLDP adds SMF 113 processing, conditionally:
Aug 27, 2011 If BUILDPDB EQ YES and USERADD does not contain 113 it is
added to USERADD, and if INCLAFTR doesn't contain ASUM113
it is added there.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.192 If the length of text in the list of DDNAMEs passed into
UTILCONT UTILCONT exceeded 256 bytes, the list was truncated and
Aug 26, 2011 remaining datasets were not read. Increased to 32000.
Thanks to David Bixler, FISERV, USA.
Change 29.191 Windows 7 may error when attempting to write files to the
DOC root directory (e.g., C:\ if that is your boot directory)
Aug 24, 2011 or to the c:\windows or the c:\program files directories,
with a message about "Insufficient authorization to use".
The error may be circumvented if the program is "run as
authorized", but some MXG examples of ASCII syntax had
"c:\filename.xxx" that could cause the error, so all
instances of that syntax were revised to explicitly
have a directory name (e.g. "c:\mxg\filename.xxx').
In addition, some ASCII LIBNAME examples (which always
point to a directory rather than a file) did not have
a final slash character (LIBNAME PDB 'C:\PDB';) and thus
were unclear that the syntax requires a directory name.
Those examples are now changed to include a final slash
(LIBNAME PDB 'c:\pdb\';) to reinforce that the object is
a directory and not a filename.
Change 29.190 In this "JCLSPLIT" example, CICSTRAN was incorrectly sent
BLDSPSMA to //WORK DD instead of the correct //CICSTRAN DDname.
JCLSPSMA
Aug 23, 2011
Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.
Change 29.189 Support for Software AG's ADABAS SMF User record creates
EXADUSER sixteen new datasets:
EXADPARM
EXADSTG DDDDDD MXG MXG
EXADIODD DATASET DATASET DATASET
EXADTHRD SUFFIX NAME LABEL
EXADFILE
EXADCMD ADUSER ADABUSER ADABAS USER RECORD
EXADCSP ADPARM ADABPARM ADABAS PARM RECORD
EXADCSG ADSTG ADABSTG ADABAS STG RECORD
EXADCSB ADIODD ADABIODD ADABAS IODD RECORD
EXADCSF ADTHRD ADABTHRD ADABAS THRD RECORD
EXADLOK ADFILE ADABFILE ADABAS FILE RECORD
EXADMSGB ADCMD ADABCMD ADABAS CMD RECORD
EXADMSGC ADCSP ADABCSP ADABAS CSP RECORD
EXADMSGH ADCSG ADABCSG ADABAS CSG RECORD
EXADREV ADCSB ADABCSB ADABAS CSB RECORD
IMACADAB ADCSF ADABCSF ADABAS CSF RECORD
TYPEADAB ADLOK ADABLOK ADABAS LOK RECORD
TYPSADAB ADMSGB ADABMSGB ADABAS MSGB RECORD
VMACADAB ADMSGC ADABMSGC ADABAS MSGC RECORD
VMXGINIT ADMSGH ADABMSGH ADABAS MSGH RECORD
Aug 24, 2011 ADREV ADABREV ADABAS REV RECORD
-Datasets ADPARM, ADSTG, ADTHRD, ADFILE, and ADCMD are now
decoded and validated with SMF records; the others have
been coded but are untested with actual data records.
-Datasets ADABTHRD and ADABFILE do not have fields that
identify the Thread/File; counters ADTHRDNR and ADFILENR
are created as the sequence number in each record, but in
the test data, only the first instance in each record has
a non-zero count (but there are many instances in each
record with zero counts that perhaps should be deleted).
Thanks to Wayne Campos, Corelogic, USA.
Change 29.188 -Blank TRANNAME in ASUMUOW occurred with MXG 28.05 that
IMACUOW were not present with MXG 28.04, so new Case 4 example is
VMXGUOW created to handle this sequence of DB2/CICS/MQ records.
Aug 23, 2011 Precipitated possibly by our changes to VMXGUOW, as the
only site difference is that remote program definitions
with a remote tranid on them are used.
-New debugging TRACEUOW=TRAN option was added/needed to
diagnose this problem: at the endpoint, it tells you
everything there is to know about that particular UOW
when the TRANNAME comes up blank.
-All of the macros that are typically tailored are now
defined in the IMACUOW member, and you should EDIT that
member into your "USERID.SOURCLIB(IMACUOW) and make your
tailoring there, and should NOT now ever have VMXGUOW in
your "USERID.SOURCLIB" tailoring library.
Thanks to Dave Campbell, SunTrust, USA.
Change 29.187 -MXG 29.05 only. ASMRMFV could fail with 0C4 ABEND. Under
ASMRMFV some conditions, IBM did not create a Period Data
VMACRMFV Extension for a Report Class in the RCD record. The count
Aug 23, 2011 field was unexpectedly zero, causing a loop counter to
Sep 1, 2011 become negative, and the 0C4 during an MVCL command.
This condition was never observed during testing.
-This ASMRMFV properly outputs the RCD records, but the
MXG code in VMACRMFV has not yet been updated to read
those records, and prior VMACRMFV could fail trying to
read the new RCD output, so this VMACRMFV skips over any
RCDG3 records. If you want those data, contact support
since the VMACRMFV updates should be done by the time you
read this text.
Thanks to Neil Ervin, Wells Fargo Bank, USA.
Thanks to Jason, Bierman, Great Lakes Higher Education Corp., USA.
Change 29.186 Support for InfoSphere Classic Federation Server Account
EXCFSACC user SMF record creates two new datasets:
EXCFSACV
IMACCFS
FORMATS DDDDDD MXG MXG
TYPECFS DATASET DATASET DATASET
TYPSCFS SUFFIX NAME LABEL
VMACCFS
VMXGINIT CFSACC CFSACCT INFOSPHERE CLASSIC FEDSRVR CPU
Aug 15, 2011 CFSACV CFSVIOL INFOSPHERE CLASSIC FEDSRVR VIOLATE
These possible violations are formatted in MGCFSTY:
101:NOT AUTH TO ISSUE A DROP TABLE FOR TABLE
102:NOT AUTH TO ISSUE A DROP INDEX FOR TABLE
103:NOT AUTH TO ISSUE A DROP VIEW FOR VIEW
104:NOT AUTH TO ISSUE A DROP PROCEDURE FOR STORED PROC
200:NOT AUTH TO CREATE TABLE
201:NOT AUTH TO CREATE INDEX
202:NOT AUTH TO ISSUE THE CREATE VIEW STATEMENT
203:NOT AUTH TO ISSUE THE CREATE PROCEDURE STATEMENT
300:NOT AUTH TO ISSUE A SELECT STATEMENT FOR TABLE/VIEW
301:NOT AUTH TO ISSUE AN UPDATE STATEMENT FOR TABLE
302:NOT AUTH TO ISSUE AN INSERT STATEMENT FOR TABLE
303:NOT AUTH TO CALL STORED PROCEDURE
403:NOT AUTH TO ISSUE A DELETE STATEMENT AGAINST TABLE
500:NOT AUTH TO ISSUE GRANT STATEMENT
501:NOT AUTH TO ISSUE REVOKE STATEMENT
Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
Thanks to Jim Poletti, Edward D. Jones, USA.
Change 29.185 GRAFWRKX used the old IMACWORK workloads to graph the
GRAFWRKX workload variables and had work1-work99 parameters
Aug 13, 2011 for the new. This change removes the need to specify
workload parameters unless you want to alter the order
in which the bars are stacked. Support for the old
IMACWORK workloads is removed but VGETWKLD is used to
capture all of the workloads unless you specify WORK1-
WORK99 values. If you do not specify WORKx values the
workloads are stacked alphabetically from bottom of the
bar to the top. Except that uncaptured will ALWAYS be
at the bottom. If you specify WORK1-x workloads then
the bars are stacked bottom to top starting with WORK1
and going up numerically. You can still use the old
IMACWORK definitions but the parameters are dead and
do not function.
Change 29.184 GRAFRMFI used the old IMACWORK workloads to graph the
GRAFRMFI workload variables and had no provision for the new
VGETWKLD VMXGRMFI sets of workload variables. It now uses
Aug 13, 2011 VGETWKLD to find the workloads that are defined in
your RMFINTRV dataset (whichever method is used) and
uses those workloads and labels to graph the workload
variables.
This is part of the ODS change 29.169, but the change in
the member are so extensive that it warranted a separate
change.
Numerous issues corrected in this change/circumvention:
-TIME VALUE NOT VALID FOR TIME FORMAT. SAS V9.3 only.
if all obs had a missing value for a TIME variable, that
WARNING was printed; circumvented with WHERE clause, but
that raised another WARNING about WHERE CLAUSE changing.
The more insidious problem was the structure:
PROC GPLOT;
PLOT A
PLOT B
PLOT C
PLOT D
PLOT E ....
Which worked fine unless all the obs had missing values
for one of the variables. For example, if A has all
missing values, then, instead of skipping over B, it
made a copy of A. Even worse, IF B C D E all had
missing values, then you got 5 copies of A instead of
the 1 you really wanted.
The solution was to change the structure to:
PROC GPLOT;
PLOT A
PROC GPLOT;
PLOT B
PROC GPLOT;
PLOT C
PROC GPLOT;
PLOT D
PROC GPLOT;
PLOT E ....
It runs a little slower but it eliminated that problem
as well as the warning about the where clause changing.
WARNING: This routine can produce hundreds of graphs;
the number is a function of the number of system, days,
and workloads.
-Code to execute from any populated RMFINTRV dataset:
%GRAFRMFI(PDB=WORK,
ODSTYPE=HTML,
ODSPATH=c:\HTMLTEST,
ODSFILE=GRAFRMFIBODY.HTML);
Change 29.183 Variable SMF19VLI never existed and is no longer created.
VMAC19 This is an overlay for SMF19TRK and SMF19TRM which were
Aug 13, 2011 invalid prior to this correction.
Thanks to Neal Musitano, Jr., Department of Veterans Affairs, USA.
Change 29.182 -Invalid ASP.NET Applications record caused ERROR: INPUT
EXNTNEDP STATEMENT EXCEEDED RECORD LENGTH (record had NRDATA=40
IMACNTSM but header said 75 should exist, which is what MXG
VMACNTSM expected). Circumvention detects number of words in the
VMXGINIT NT SMF record and deletes with an MXGERROR: message.
Aug 11, 2011 -New Object .NET DATA PROVIDER FOR SQLSERVER supported
-Segments ACSR,SQGS,SQDA,SQSS,QLSS and SQBS have IDPROCES
and SQLVERSN variables added.
-After circumvention code was implemented, user found out
the data file had been truncated during ftp transfer, but
I left the update in place since it was tested and safe.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 29.181 %ANALDB2R argument PMIOS05 was not %UPCASED by MXG, so no
ANALDB2R IO SUMMARY REPORT was produced if PMIOS05=yes was used.
Aug 11, 2011
Thanks to Howard L. Curtis, Progress Energy, LLC, USA.
Change 29.180 Harmless MXGWARN: DURATM=INTERVAL WAS SPECIFIED message
ASUMMIPS is eliminated; DURATM was in the SUM= list when it should
Aug 10, 2011 not have been.
Thanks to Bernhard Bablok, Allianz, GERMANY.
Change 29.179 Undefined TOKEN= $ZEKE_Z with TOKENID=59674 now skipped,
VMACTPMX as are all of the defined-but-not-used ZEKE fields.
Aug 10, 2011
Thanks to Scott Wiig, U.S. Bank, USA.
Change 29.178 Variable CECSER, a 6-byte text variable with only the
VMAC89 left four positions populated, with two blanks at the
Aug 9, 2011 right end, is now created in TYPE89 and TYPE892 datasets
to match CECSER in the RMF TYPE70xx data. SMF89SER is a
three-byte character variable containing text in hex with
format $HEX6., so it printed '0178E0', including the 01x
CPUID value. But CECSER in RMF records is only the text
'78E0 ' value, and that is now the value in CECSER in
the TYPE89 and TYPE892 datasets.
Thanks to Warren Cravey, FMR, USA.
Change 29.177 Support for APAR OA35175, logstream statistics in SMF 23,
EXTY23LS creates new TYPE23LS dataset with these new data:
IMAC23 SMF23LFA='AMOUNT*OF EACH*BUFFER*ALLOCATION'
VMAC23 SMF23LFG='VARIOUS*FLAGS'
VMXGINIT SMF23LFH='HWM*BUFFER*ALLOCATION'
Aug 9, 2011 SMF23LFL='CURRENT*BUFUSEWARN*IN EFFECT'
SMF23LFM='CURRENT*DSPSIZMAX*IN EFFECT'
SMF23LFT='TOTAL*BUFFER*STORAGE*CURRENTLY*USED'
SMF23LSL='LENGTH*OF LOGSTREAM*NAME'
SMF23LSN='LOGSTREAM*NAME'
SMF23LF1='BUFUSEQARN*FROM THE*GLOBAL*OPTION?'
SMF23LF2='DSPSIZMAX*FROM THE*GLOBAL*OPTION?'
APAR OA37002 (see NEWSLTRS) adds new DSPSIZMAX argument
for SMFPRMxx to set logstream buffer size(s).
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 29.176 -APAR OA36816 adds bit to SM113CF1 in SMF 113 HIS record
FORMATS that is now decoded by $MG113FL format to display:
Aug 9, 2011 '08X:LOST COUNTER DATA' when SM113CF1 is printed.
-And it adds new option of interest to HIS SMF 113 users:
The DATALOSS parameter for the F HIS command has been
enhanced to control what action is taken by HIS when
any type of instrumentation data is lost. Prior to this
enhancement, the DATALOSS parameter only reacted to
sampling data lost due to a buffer overflow. The
DATALOSS parameter now reacts to instrumentation data
lost due to a Loss Of Sample Data Measurement Alert and
a Loss Of Counter Data Measurement Alert. By
specifying DATALOSS=IGNORE these types of
instrumentation data loss can now be ignored, and the
instrumentation run may continue.
Change 29.175 Support for APAR OA35617 documents two new SMF30PF2 bits
VMAC30 creating SMF30CRM (ASID IS VELOCITY GOAL MANAGED) and
Aug 9, 2011 SMF30PIN (INCOMPLETE WLM DATA?), one-byte flag variables.
SMF30PIN was just observed (overlooked) and now created.
The APAR documents SMF30CRM with this note:
the address space matched a classification rule which
specified "manage region using goals of both", which
means it is managed towards the velocity goal of the
region. But, transaction completions are reported
and used for management of the transaction service
classes with response time goals. This option should
only be used with CICS TORs, the associated AORs
should remain at the default "manage region using
goals of transaction".
Change 29.174 Support for APAR OA34895 adds new EXCP/IOTM SMF 30 fields
IMAC30IO (transparently) with step/interval total I/O Count and
VMAC30 I/O Connect times (new MXG variables EXCPMISS/IOTMMISS)
Aug 9, 2011 with counts that would have also been in a DD segment(s),
Aug 27, 2011 but weren't, because an SMF Lock (to update the TIOT for
VMAC434 serialization) could not be obtained. The xxxxMISS counts
VMAC40 ARE included in the asid/step totals, EXCPTOTL/IOTMTOTL,
read directly from the SMF record, but were not counted
in any of its DD segments, so they are ALSO already in
EXCPNODD/IOTMNODD, the "NOT COUNTED IN DD SEGMENT" vars
MXG creates with EXCPNODD=EXCPTOTl-EXCPTODD.
All of the above is true, WITH OR WITHOUT this change.
This change only creates the new variables and keeps them
in datasets in TYPE30_V, TYPE30_4, TYPE30_5, TYPE30_6 and
PDB.SMFINTRV, and in BUILDPDB's PDB.STEPS/PDB.JOBS (where
member IMAC30IO controls which SMF 30 I/O variables are
kept in the those BUILDPDB/BUILDPD3 datasets. These new
"missed" variables would be useful to at least partially
explain steps with large values in NODD and TOTL fields,
if the xxxxMISS values are non-zero. See NODD in ADOC30.
-Compiler faker added in VMAC434/VMAC40.
-Transparently added, but if you (incorrectly) have an old
VMAC30 in your tailoring library, that will cause
ERROR: EXCPMISS NOT FOUND in BUILDPDB at MXGSUM3.
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 29.173 Support for APAR OA36966 for JES3 expands NJEJOBNO to
VMAC57 four bytes in SMF 57 record.
Aug 9, 2011
Change 29.172 APAR VM64961 adds SMF 113 Hardware Monitor counters to
EXPRCMFC the z/VM MONWRITE data on z/10 and later processors. PTFs
VMACVMXA will be available for z/VM 5.4 and z/VM 6.1 and 6.2.
Aug 8, 2011 Dataset VXPRCMFC contains the same variable names as
TYPE113, but there is no SYSTEM variable in z/VM so it
wasn't added into ASUM113. This support was in MXG
29.04, but undocumented.
Change 29.171 The example WEEKBLDT had four instances of _WKBLD that
WEEKBLDT should have been spelled _WEEKBLD; they caused a SAS
Aug 7, 2011 180 syntax error, after creating WEEK.TYPE72 dataset.
Thanks to Ron Wells, American General Finance, USA.
Change 29.170 The insertion of the _TODAY old style macro caused
BLDSMPDB the forceday option to fail.
Aug 7, 2011
Thanks to Cletus McGee, ALFA Insurance, USA.
Change 29.169 MXG examples that use ODS HTML on ASCII that did not have
ANAL72GO a PATH= statement failed with
ANALACTM ERROR: a COMPONENT C:\.... IS NOT A DIRECTORY."
ANALAVAI but only in QA Tests with SAS V9.3; no user had reported
ANALDB2B this error, which can occur with SAS V9.1,V9.2, or V9.3,
ANALHTML nor had we seen the error with earlier SAS Versions.
ANALIDMS SAS Note SN15046 says to eliminate the error you should
ANALINIT use this recommended syntax on ASCII platforms:
ANALPKGS ODS HTML PATH="C:\mxg\"(URL=NONE) body="temp.html";
ANALRAID Previously, MXG had inconsistent ODS examples; this
ANALRANK change formalizes MXG support to create HTML output.
ANALS225 -We use two new %macros VMXGODSO/VMXGODSC to OPEN/CLOSE
GRAFCEC ODS output in our examples, and they can be used in your
GRAFRAID report programs, to create HTML output. The macros can be
GRAFRMFI invoked on z/OS to send html output to either a PDSE or
GRAFTAPE to a ZFS filesystem, or on ASCII to .html files.
GRAFWLM -A consistent set of macro variables are used in arguments
GRAFWRKX so %LET's can be used to change ODS argument's values.
VMXGODSO change revised all of the MXG members with ODS examples.
VMXGODSC -SAS ODS inconsistencies we discovered and handle:
Aug 14, 2011 the URL= must be either a quoted string or unquoted NONE,
and the STYLE= and TRANTAB= arguments are unquoted.
-SAS HTMLBLUE default does not break PROC PRINT output
lines, requiring scrolling across to see all variables.
ODS LISTING; will change the default back to what you
were used to for all interactive output.
Change 29.168 Velocity Software XAM variable PERFCPU is now in seconds
VMACXAM and formatted TIME12.2 in datasets XMHSTAPP and XMHSTSFT.
Aug 1, 2011 Those datasets contain HSTAPP resource usage of a group
of processes that form an application (in snmpd.conf or
ESATCP 'guessing'). If you want to look at individual
processes, you would use dataset VXVSISFT instead.
Thanks to Joe Faska, Depository Trust, USA.
Change 29.167 MXG example reports using PDB.RMFINTRV only recognized
VGETWKLD workload names created with (now archaic) IMACWORK logic.
Aug 1, 2011 The VGETWKLD internal macro will parse the workload names
created by the (now-recommended) WORKnn= arguments that
should be used to define workload names in RMFINTRV.
Change 29.166 For DB2 Version 8.1, dataset DB2GBPST was mostly wrong as
VMACDB2 two 4-byte reserved fields (after QBGLXR and QBGLMR) were
Aug 1, 2011 not input, causing all subsequent variables to be wrong.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 29.165 -Variable POSIT was incorrectly zero, as only the first 8
VMACRACF bytes of the 10-byte POSITCH field were INPUT as numeric.
Jul 31, 2011 -Vars OTHRSPEC/OTHRSPE1 are renamed to FRSTSPEC/OTHRSPEC
and re-labeled.
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Thanks to Christopher Roberts, Euroclear, BELGIUM.
Change 29.164 Variables S17FBKNM S17SEXNM S17FMFNM are now kept in the
VMAC117 S117THRD dataset.
Jul 31, 2011
Thanks to Fabio Massimo Ottaviani, EPVTECH, ITALY.
Change 29.163 MXG 29.05, Change 29.129 for z/VM Crypto Record (5,10),
VMACVMXA from z/VM 5.4, if PRCAPMCT=6, because that subtype does
Jul 29, 2011 NOT have the undocumented 32 bytes found in 4 and 8, and
this was the first instance of that subtype. Since MXG
can so readily circumvent the IBM error (see 29.129), and
since this is an (ancient?) z/VM 5.4 record, fixing the
doc does not have (appropriately, IMO) high priority, as
this is a fairly obscure event - how many do use crypto
on z/VM systems, especially z/VM 5.4 systems.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 29.162 -Corrections/enhancements to TYPEIMST (IMS56FA TRANSACTs):
VMACIMS -STRTTIME and ARRVTIME were reversed in MXG logic.
Aug 2, 2011 -But, after fixing, ARRVTIME can be greater than STRTTIME:
- Case 1: WFI and PWFI, because the UOR Start Time begins
when the previous transaction completes, then the
program waits for the next message to appear, so the
STRTTIME=ARRVTIME is the wait time of the program.
- Case 2: Message Switch; the first transaction's
STRTTIME should be greater than the ARRVTIME unless
it is a WFI; see case 1, but the Message Switch
transaction afterward will have the UOR STRTTIME of
the first transaction, therefore the ARRVTIME of the
message will be greater than the STRTTIME.
In both cases, IF ARRVTIME GT STRTTIME then QUEUETM=0
and SERVICETM=RESPTM and STRTTIME=ARRVTIME to match IMF.
-Comparison of QUEUETM/INPQUETM between IMS56FA and IMS
has differences of up to 0.1 seconds, because ARRVTIME in
IMF has only to 0.1 second resolution while in IMS56FA it
has TODSTAMP resolution; this also caused similar small
differences between RESPTM/RESPNSTM variable's values.
-PROGTYPE in prior data was a one-byte text character, but
in IMS56FA it is a more robust bit map, so the data value
in the 56FA record is now input into PROGTYHX with $HEX2.
format, then PROGTYPE is constructed as a test character.
One-byte flag variables are created from PROGTYHX bits:
BMP='BMP?'
DBCTL='DBCTL?'
IFP='IFP?'
JAVA='JAVA?'
MODE='MODE*MULTI*OR*SINGLE?'
MPP='MPP?'
REMOTE='REMOTE?'
WFI='WFI?'
-These variables are now not kept in IMS56FA dataset:
TPCPTICH TPCPSOXN
and removed from the BY list for that dataset, as they
do not exist in that record.
-NMSGPROC=1 is set ONLY if CALLMSGU is GT 0 because 56FA
records are also written for a Message GU-CALL that did
not get a message from the IMS Message QUEUE; for MPPs
these show only a small CPU time, TPLTERM is blank, and
no calls are counted at all.
-TPLTERM was renamed LTERM in IMS56FA dataset.
-IMSVERSN is set to 10.1 instead of 10.10.
-Either SYSABEND or USRABEND, but not both, are populated;
COMPCODE='00000C4000'X correctly set SYSABEND='0C4';
but also incorrectly set USRABEND='U16E3' (i.e. 16,000+).
-If there are no GU calls to the message queue, then there
is no ARRVTIME, so neither QUEUETM nor RESPTM exist; they
are both set to missing values when CALLMSGU LE 0.
-IBM APAR PK773284 TPEXTIME IN X'56FA' TRANSACTION LEVEL
STATISTICS RECORD IS INVALID WHEN THE UNIT OF WORK ABENDS
exists to correct this intermittent problem:
TPEXTIME is IMSCPUTM in MXG IMS56FA dataset; values
'FFFFFFFBAFBA5708'x &'FFFFFFFCC4B4F0C8'x occurred in
two transactions with SYSABEND='0C4' (but the other
0C4's had zero values. MXG prints an error message
for the first five instances, and sets IMSCPUTM to a
missing value when an invalid CPU time value is found.
Thanks to Rudolf Sauer, T-Systems, GERMANY
Change 29.161 MXG 29.03-MXG 29.05, dataset MQMCFMGR was wrong, with 64
VMAC115 identical outputs of only the first segment for each SMF
Jul 29, 2011 ID=115 record, if QESTSTR was non-blank in that segment,
so there were MANY more obs created than should have been
and many valid segments were not output.
Thanks to Paul Volpi, UHC, USA.
Change 29.160 VMXGFIND failed when dataset names created by SAS were
VMXGFIND 32-characters, because VMXGFIND added a prefix of text
Jul 28, 2011 "LIBNAME_" to that SAS-created dataset name. Now, if
only a single input LIBNAME is found, that prefix is
omitted and when there is more than one libname, if the
result exceeds 32 characters, only the first 32 are used.
Change 29.159 -Support for SAS Version 9.3 requires SAS Hot Fix SN43828.
FORMATS This error in SAS Portable Code, in compiling the %macro
Jul 26, 2011 %LET statement, and the %SYSRPUT and %SYSLPUT statements,
could impact SAS V9.3 on ALL platforms, although it was
only detected in MXG QA tests on z/OS, in the members
ANALCNCR and VMXGRMFI, both of which invoke %VMXGSUM.
The compiler error caused misalignment between the left
half (variable name) and the right half (value) of the
%LET statement.
-On ASCII, 32-bit and 64-bit SAS versions are different
operating systems, even on the same platform; so separate
"bit-specific" FORMAT directories are required, but the
same FORMATs can be used for V9.2 or V9.3 for the same
"bit" version. Member FORMATS errored when I tried to run
it under 32-bit V9.3, writing to a V9.2 64-bit directory.
-On both ASCII and z/OS, SAS Data Libraries can be read or
written by either V9.2 or by V9.3, and on ASCII, under
either 32-bit or 64-bit environments.
Change 29.158 NDM-Connect Direct CT Version 5 record has 4 new fields.
VMACNDM There is no version value in the record, but there is a
Jul 26, 2011 new offset to 2 of the 4 new fields, so that offset is
used to conditionally assume all four are present.
NDMJOBID='JCTJOBID'
NDMJOBNM='JCTJBNAM'
NDMRIP6 ='IPV6*ADDRESS'
NDMTYPFK='TYPE*FILE*KEY'
Thanks to Eric R. Carlson, Kroger, USA.
Change 29.157 MXG 29.06 QA tests clean ups:
VMAC7072 -VMAC7072: These variables removed from DROP statement
Jul 24, 2011 LCPUDEXD-LCPUDEXZ LCPUDEVA-LCPUDEUI
LCPUWAXD-LCPUWAXZ LCPUWAVA-LCPUWAUI
because they never existed; QA test enabled DKROCOND=WARN
which caused spurious warning messages.
Change 29.156 IDMS/R Performance Monitor for Version 18 adds variables:
VMACIDMS -Dataset IDMSTAS:
Jul 24, 2011 TASCPTI ='SRB*TIME*ON*CP'
TASENTI ='ENCLAVE*SRB*CPU*TIME'
TASSYTI ='CPU*TIME*ON*CP'
TASTITI ='TCP*CPU*TIME'
TASUSTI ='USER*MODE*CPU*TIME'
TASZPTI ='SRB*TIME*ON*ZIP'
Initial observations were that
TASSYTI (.920) = TASTITI (.777) + TASENTI (.143)
CPU = TCB ENCL SRB
TASCPTI (.016)
TASZPTI (.127)
TASENTI (.0007)
-Added to all datasets, and inserted into the header, so
it caused INVALID DATA FOR PMHSDATE messages:
SMFHJOB ='PM*JOB*NAME'
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 29.155 CICS/TS 4.2 Statistics variables now input:
VMAC110 Dataset CICISR:
Jul 24, 2011 ISRTDBYR='IPCONN*PS*TD*REQS*BYTES*RECEIVED'
ISRTDBYS='IPCONN*PS*TD*REQS*BYTES*SENT'
ISRTDREQ='IPCONN*PS*TRANSIENT*DATA*REQUESTS'
ISRTSBYR='IPCONN*PS*TS*REQS*BYTES*RECEIVED'
ISRTSBYS='IPCONN*PS*TS*REQS*BYTES*SENT'
ISRTSREQ='IPCONN*PS*TEMP*STORAGE*REQUESTS'
ISRUNSUP='ISR*UNSUPPORTED*REQUESTS'
Dataset CICWBR:
WBRATOMS='URIMAP*ATOMSERVICE*NAME'
WBRAUTHE='URIMAP*AUTHENTICATE*USE'
WBRREDIR='URIMAP*REDIRECTION*TYPE*USE'
WBRSOCPK='URIMAP*SOCPOOL*PEAK*IN*POOL'
WBRSOCRC='URIMAP*SOCKETS*RECLAIMED*FROM POOL'
WBRSOCTO='URIMAP*SOCKETS*TIMEDOUT*WHILE INPOOL'
WBRSOCTV='URIMAP*SOCLOSE*TIMEOUT*VALUE'
WBRSOCUR='URIMAP*SOCPOOL*CURRENT*IN*POOL'
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 29.154 Circumventions for a macro errors ONLY in archaic SAS V8,
VMXGSUM that were also perfectly cloned into WPS V8 architecture.
Jul 24, 2011 While SAS V8 is no longer supported by SAS Institute and
while MXG officially does not always work under V8, these
errors encountered in VMXGSUM from VMXGRMFI in BUILDPD3
with both SAS V8 and WPS were circumvented in MXG, and
could be useful in avoiding AUTOCALL issues in SAS V9s:
-%IF %LENGTH(&A &B) GT 0 THEN %DO incorrectly returned 1
when &A and &B were both null with V8/WPS but returned 0
with all SAS V9s. The error was circumvented by replacing
the test string of multiple macro variables with single
ORed tests of each macro variable, to avoid the exposure.
-The SAS provided-in-SASMACRO-library AUTOCALLed %macro
functions %CMPRES/%QCMPRES (which call %QLEFT, %VERIFY,
%QTRIM, %LEFT, %QLEFT, %VERIFY and %TRIM) were removed
from VMXGSUM, as they were never actually needed, and
their removal circumvented V8 and WPS macro errors.
I had thought they were needed to compress blanks from
the %macro arguments, which are limited to 65584 bytes,
and long ago longer argument errors had occurred, but
that error occurs when the %macro is invoked, prior
to these functions execution. Hindsight is beautiful.
Thanks to Scotie Mills, TI, USA.
Change 29.153 UNDECODED CTGRECID and CPU loop caused by Change 29.001,
VMAC111 which incorrectly calculated the SKIP value of bytes to
Jul 19, 2011 be skipped in the SMF ID=111, CTGRECID=7 record.
Thanks to Victoria Lepak, Aetna, USA.
Change 29.152 VMSYSTEM='Y' (Change 29.127) support was revised when RMF
VMAC7072 70 records were read. A divide by zero (creating TYPE70
Jul 19, 2011 from WORK.SORT70SP, because ONTM(LCPUADDR+1) was zero,
because the VMSYSTEM='Y' records do NOT populate the
"on time" in SMF70ONT (which populates ONTM array, and I
believe this is a defect that IBM needs to correct, and
a PMR has been opened to address this and other issues).
However, knowing SMF70ONT is NOT populated, MXG code was
revised and SMF70ONT=DURATM when VMSYSTEM='Y', which then
corrected calculations of PCTCPUBY for these new records,
and logic was revised to correctly capture the actual
LPARNAME of the z/OS system that was running under z/VM.
====== Changes thru 29.151 were in MXG 29.05 dated Jul 11, 2011========
Change 29.151 Support for RCD record in ASMRMFV is completed in time to
ASMRMFV be included in MXG 29.05, but I procrastinated and did
Jul 10, 2011 not complete the updates in VMACRMFV to actually process
and create the new variables. You can safely install the
new ASMRMFV program to create the RMFBSAM file with RCD
data, so that it could be examined when the VMACRMFV has
been updated. Contact support@mxg.com if you want the
updated VMACRMFV when it's ready. This change will be
revised when RCD support is completed.
Jan 18, 2012: MXG 29.29 DATED JAN 18, 2012 IS REQUIRED
TO PROCESS RCD RECORDS. YOU MUST USE THE NEW ASMRMFV
AND THE UPDATED VMACRMFV TO READ RCD DATA.
Change 29.150 New ONLYJOBS program creates 'only' the PDB.JOBS dataset
ONLYJOBS (but also creates PDB.STEPS, PDB.PRINT, which are needed
Jul 9, 2011 to create PDB.JOBS, and creates PDB.SMFINTRV, which may
be useful for long running jobs, from SMF 6/30/26, with
selection for only some JOB names in the example.
Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 29.149 CICS/TS 4.2 (SMFPSRVN=67), INVALID VALUE FOR PHTRANNO,
VMAC110 in MNSEGCL=5 record; eight bytes were inserted by 4.2.
Jul 7, 2011 See Change 29.135, which added Support for CICSTRAN and
CICS Statistics records (which was in MXG 29.03 but was
not announced). This change is required for CICS/TS 4.2
if your site creates MNSEGCL=5 (dataset CICSRDS) records,
but luckily it only causes messages and hex record dumps;
it does NOT cause an ABEND.
Thanks to Tom Buie, Southern California Edison, USA.
Change 29.148 DATEFMT= parameter added to both BLDSMPDB and VMXGALOC to
BLDSMPDB control the format of the date in the directories created
VMXGALOC by VMXGLOC. The default of DATE7 does not allow you to
Jul 7, 2011 sort the directories into an order that puts the
directories in calendar order. The only formats that
would do that are JULIAN and YYMMDD but the code will
accept: DATE MMDDYY DDMMYY YYMMDD and JULIAN with
whatever length you specify. If you use one of the
MMDDYY etc formats and you specify MMDDYY8. you will get
07-05-11 but if you use MMDDYYN8. you will get 07052011.
Change 29.147 Change 29.032 revised dataset PDB.IPLS to only report a
VMAC0 true SYSTEM IPL, but the IPLTIME from SMF 90 is on GMT,
Jul 5, 2011 so this change uses the SMFTIME of the SMF 90 record for
IPLTIME so it is always on the Local time zone.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 29.146 Support for RCD record.
ASMRMFV
Jul 5, 2011
Change 29.145 Revisions (again!) to enhance DB2 processing, especially
ANALDB2R with large volumes of DB2 SMF data.
ASUMDB2A -Macro variable DB2RSELA added in VMXGINIT.
ASUMDB2B -New parameters in ANALDB2R:
ASUMDB2G BUFFDETL=NO - suppresses reading the DB2ACCTB/DB2ACCTG
ASUMDB2P JOB= - select only records with JOB=xxxxxxx
TRNDDB2A -Values for Class 3 Suspension in ANALDB2R reports were
TRNDDB2B corrected. Values for Global Contention are still being
TRNDDB2G reviewed.
TRNDDB2P -If selection criteria are specified in ANALDB2R:
VMXGINIT With PDB=SMF they are passed to READDB2
Jul 5, 2011 With PDB=PDB they are passed to ASUMDB2x members in the
READDB2 DB2RSELA macro variable so that only records that meet
the criteria are summarized.
Performance improvement in ANALDB2R:
IF PMACC01=YES and PMACC02 NE YES
Suppresses buffer data and ASUMs of buffer data
If DB2ACCTP has 0 OBS suppress ASUMDB2P
-New parameter in READDB2
JOB= - select only records with JOB=xxxxxxx
-Some changes in ASUMDB2x/TRNDDB2x members are cosmetic to
eliminate UNINIT messages; others are to pick up the time
ranges of the records for heading and sorting and adding
of a thread count for calculating averages. KEEPALL=YES
reinstated in ASUMDB2P,ASUMDB2G,ASUMDB2B, and ASUMDB2A so
that ANALDB2R can be used with user-tailored ASUMDB2x
datasets (i.e., with dropped variables) without messages
about UNINIT variables.
-In TRNDxxxx, variable THREADs added to SUM list so that
ANALDB2R could be executed against Trend datasets.
Thanks to Neil Ervin, Wells Fargo Bank, USA.
Change 29.144 -IBM IMS Log 56FAx records ARE INDIVIDUAL TRANSACTIONS!
IMACIMST Finally, you can track individual IMS transaction CPU and
TYPEIMST Response times, without using the MXG circumventions
VMACIMS (JCLIMSL6/ASMIMSL6/TYPEIMSA/TYPEIMSB, or IMS0708 data),
Jul 2, 2011 and without ANY sorting/merging/etc. And, the IMF56FA
dataset contains the ARRVTIME of the transaction, which
is NOT contained in IMS0708 dataset, although it is
contained in the IMSTRAN from JCLIMSL6.
-The TYPEIMST member builds only the IMS56FA.IMS56FA
dataset.
-MOST variable names are changed from the prior IMS56FA
dataset, so its variables are now identical to those in
the "circumvention" datasets IMS0708/IMSTRAN so that your
existing reports should work without error or with minor
revisions.
-Most of the DLRxxxxx variables in dataset IMS0708 do not
exist in the IMS56FA dataset, and variables DTOKEN
IMSACCQ6 IMSSQ6TM LINTPSB LINEPGM LINTSY2 LINTSUM are
also missing/blank in IMS56FA, but all of the really
important variables are present.
-References to IMS Version 11.0 were corrected to 11.1.
-References to IMS Version 10.0 were corrected to 10.1.
-Numerous duration variables in the LCODE=45x statistics
records are now correctly divided by 4096.
Thanks to Raymond J. Smith, UHC, USA.
Change 29.143 Extremely strange: INVALID ARGUMENT FOR MOD function and
VMACEXC1 ERROR.VMACEXC2.2 INVALID DEVCLASS/DEVTYPE IN 30 DD, but
Jul 1, 2011 the DEVCLASS and ARGUMENT were both valid, and this was
deep in the middle of a BUILDDB run. Fortunately, the
search for the INVALID ARGUMENT message found this note:
SAS Problem Note 13269: Various numeric functions may
return incorrect results.
The result returned by some numeric functions may be
incorrect. This problem can occur if the result of
the function is assigned to a variable that is also
used as an argument to the function. The functions
affected are:
BETA, COALESCE, COMB, CONVX, CONVXP, DATDIF, DUR,
DURP, GEOMEAN, GEOMEANZ, HARMEAN, HARMEANZ, IQR,
LARGEST, LOGBETA, MAD, MEDIAN, MOD, ORDINAL, PCTL1,
PCTL2, PCTL3, PCTL4, PCTL5, PERM, PROBDF, PVP,
RXMATCH, SMALLEST, YRDIF and YIELDP.
The function may also incorrectly return a missing
value and issue a NOTE to the SAS log reporting that
one of the arguments to the function is invalid.
The SAS Note states:
THIS PROBLEM IS FIXED IN SAS 9.1.3 SERVICE PACK 2
AND SAS 9.2.
BUT THE ERROR WAS UNDER SAS V9.1.3 WITH SP 4!!!
However, the text in the SAS Note and the MOD statement
identified in the error message agreed; the same named
variable was the input and the output
BLKSIZE=MOD(BLKSIZE,32768);
so the code now uses a different variable name, and the
error was eliminated!!!
Thanks to Jean-Denis Lacourse, CGI, CANADA.
Change 29.142 -Additional bits in SMF 90 Subtype 30 are now decoded:
VMAC90A SMF9030C='ENCLAVE*SERVICE*CLASS*RESET'
Jul 1, 2011 SMF9030D='ENCLAVE*QUIESCED'
SMF9030E='ENCLAVE*RESUMED'
SMF9030H='ORIGINAL*INDEPENDENT*ENCLAVE'
SMF9030K='ENCLAVE*OWNER'
-Variable PRODUCT is added to all TYPE90nn datasets.
Thanks to Siegfried Trantes, Gothaer-Systems, GERMANY.
Thanks to Willi Weinberger, Gothaer-Systems, GERMANY.
Thanks to Sabine Richard, Gothaer-Systems, GERMANY.
Change 29.141 Skipped Change Number.
Change 29.140 Some DB2 Trace Records IFCID 6/7 have QWHSSTCK events
VMACDB2 before the QWACBSC start time in their DB2ACCT and
VMACDB2H DB2ACCP observations. IBM DB2 support answer:
Jun 29, 2011 "The logic in DB2 does full thread allocation and then
clocks the begin time for the transaction. If an I/O
is required during allocation, you may see a 6/7 pair
outside the transaction bounds. So in the end, this
appears to be working without error."
But the time value in QWHSLUUV in these transaction DOES
precede the first IFCID 6, showing that the actual start
time WAS captured when the LUUV was created, and that
the LUUV creation event should be used for QWACBSC time.
That suggestion is under discussion with IBM.
While waiting, new variable LUUVTIME is created in both
DB2ACCT and DB2ACCTP to be used in place of QWACBSC when
analyzing DB2 trace records. For QWHCATYP=8 REMOTE UOW
transactions, LUUV is not a valid time value, but for
those records, LUUVTIME is set equal to QWACBSC so that
all observations have a usable LUUVTIME for match up
with other records.
Note that for DB2PARTY='R' or ='P' (Rollup, Parallel),
LUUVTIME can be MUCH earlier than QWACBSC, because in
those records QWACBSC NOT the transaction start time, as
is documented in Change 29.131.
Note also that variable ACE rather than QWHSACE should
be used to match up transactions; for DB2PARTY='P' obs,
ACE is set to QWACPACE, which is constant for all of
the records for that transaction (while QWHSACE in the
parallel records is not consistent).
Change 29.139 RACF variables RES25TEA-RES25TEF, RES25MEA-RES25MEF in
VMAC80A dataset TYPE8020 and CLASNAME-CLASNAM5 in TYPE8024 from
Jun 29, 2011 DTP=43 segments were wrong because the segment count
variables NR25SEGS and NR43SEGS were never reset to 0
for a new record.
Thanks to Lars Fleischer, SMT Data, DENMARK.
Change 29.138 If you use a LIBNAME statement to allocate a tape SAS
zOS Only data library and VGETENG is invoked before any datasets
Jun 25, 2011 are written to the tape, you may get a 413-18 error from
zOS indicating a failure to correctly open the dataset.
Your job will still get a CC=0 so it is not a serious
error, but it is an annoying warning message.
LIBNAME TEST V9SEQ;
%VGETENG(DDNAME=PDB);
Will cause:
ERROR: OPEN FAILED. ABEND CODE 413. RETURN CODE 18.
This can be suppressed by writing a 0 OBS 0 VARS dataset
to the tape immediately after the LIBNAME, using
LIBNAME TEST V9SEQ;
DATA TEST.A;RUN;
%VGETENG(DDNAME=PDB);
to suppress the message (although it will also put a
very small additional dataset on the tape).
Change 29.137 UTILARCH - Archival of SAS datasets from a data library,
UTILARCH similar to the way OUTLOOK archives its EMAIL store.
Jun 25, 2011 All observations for chosen datasets dated earlier than
the chosen archive date are written to the archive data
library (which could be new, or archived observations
can be appended to an existing archived dataset), and
the observations that were archived are then removed
from the original input dataset (which can be rewritten
or could be written to a new "unarchived" data library).
You can specify:
INDD= LIBNAME of the input data library.
OUTDD= LIBNAME of the output un-archived, reduced
dataset. If OUTDD is NOT specified, the
unarchived observations replace the dataset
in the INDD library. OUTDD is required if
INDD is on TAPE or DASD sequential format.
INARCHIVE= LIBNAME of the current archive data library.
If the dataset(s) selected exist in OUTDD,
newly archived observations are APPENDed.
ARCHIVE= The new archive data library. This could
be the same as INARCHIVE, as long as they
are not tape nor sequential format on DASD.
DATEVAR= The name of the date variable to be tested.
KEEPDAYS= The number of days of detail data to keep
unarchived. Obs more days old are archived.
KEEPDATE= The date literal (01JAN2011) to keep; obs
earlier than this date are archived.
Either KEEPDAYS or KEEPDATE but not both
must be specified.
ARCHDAYS= The number of days of data to keep in the
archive. If not specified, the archive
will continue to grow in size.
ARCHDATE= The date literal (01JAN2010) of the oldest
date to be kept in the archive.
Either ARCHDAYS or ARCHDATE or NEITHER, but
not both, must be specified.
DATASETS= one or more SAS datasets to be archived
If the datevar is gt TODAY()-KEEPDAYS, the OBS is
written back to the detail. If it is lt that value
but GT today()-sum(keepdays,archdays) it is written
to the archive (if archdays is specified - if it is
not specified the archive grows to infinity.)
Thanks to Brian A. Harvey, HCL America, USA.
Change 29.136 Support for WebSphere WAS 8.0 (COMPATIBLE). These new
VMAC120 variables are added to dataset TYP1209E:
Jun 25, 2011 SM1209FK='CLASSIFICATION*ONLY*TRACE?'
Jul 17, 2011 SM1209FM='SMF*REQUEST*ACTIVITY*ENABLED?'
SM1209FN='SMF*REQUEST*ACTIVITY*TIMESTAMP?'
SM1209FO='SMF*REQUEST*ACTIVITY*SECURITY?'
SM1209FP='SMF*REQUEST*ACTIVITY*CPU DETAIL?'
SM1209FQ='PROPAGATE*TRANSACTION*NAME?'
SM1209FR='STALLED*THREAD*DUMP*ACTION'
SM1209FS='CPUTIMEUSED*DUMP*ACTION'
SM1209FT='DPM*DUMP*ACTIO'
SM1209FU='TIMEOUT*RECOVERY'
SM1209FV='DISPATCH*TIMEOUT*VALUE'
SM1209FW='QUEUE*TIMEOUT*VALUE'
SM1209FX='REQUEST*TIMEOUT*VALUE'
SM1209FY='CPUTIMEUSED*LIMIT*VALUE'
SM1209FZ='DPM*INTERVAL*VALUE'
SM1209GA='MESSAGE*TAG*VALUE'
SM1209GF='CPU*USAGE*OVERFLOW?'
SM1209GG='CEEGMTO*UNAVAILABLE?'
SM1209GH='LENGTH*OBTAINED*AFFINITY*RNAME'
SM1209GI='OBTAINED*AFFINITY*RNAME'
SM1209GJ='LENGTH*ROUTING*AFFINITY*RNAME'
SM1209GK='ROUTING*AFFINITY*RNAME'
-Variable SM1209CE is expanded to 16 bytes.
-Variables SM1209DX and SM1209DZ are deprecated; they are
still set, but use SM1209GF and SM1209GG because DX/DZ
may not exist, since the z/OS Request Info Section
(and the Platform Neutral Request Info Section) might not
be present if this is Async Work.
-New values added to format MG1209T for SM1209CK and to
format MG1209C for SM1209EM.
-Jul 17: Updated VMAC120 was moved into SOURCLIB. This
Change was NOT included in MXG 29.05 dated Jul 11, 2011.
Thanks to David Follis, IBM, USA.
Change 29.135 Support for CICS/TS 4.2 was available in MXG 29.03 but
VMAC110 not announced until today when it became GA. See Change
Jun 24, 2011 29.063 for details.
Change 29.134 Support for Informatica's POWER EXCHANGE SMF record adds
EXPOEXCL five new datasets:
EXPOEXDB
EXPOEXEX DDDDDD MXG MXG
EXPOEXFI DATASET DATASET DATASET
EXPOEXLI SUFFIX NAME LABEL
FORMATS
IMACPOEX POEXLI POEXLIST POWER EXCHANGE LISTENER
TYPEPOEX POEXEX POEXEXPT POWER EXCHANGE EXCEPTION
TYPSPOEX POEXFI POEXFILE POWER EXCHANGE FILE ACCESS
VMACPOEX POEXDB POEXDB2 POWER EXCHANGE DB2
VMXGINIT POEXCL POEXCLIE POWER EXCHANGE CLIENT
Jun 24, 2011 Only POEXLIST and POEXCLIE datasets have been validated
with data records, and these problems have been reported
to the vendor's support team:
a. The STCK fields are in GMT but there is no GMT Offset;
it is possible to use Fuzzy Logic to compare END time
when it is populated (see below) to calculate a GMT
Offset, but well-written SMF records always contain
the GMT Offset that is in effect when the event
records are created, when they contain time/date-times
on the GMT clock.
b. The records contain Subtypes but BIT 1 in SMFxFLG is
not set; the SMF Manual Table 13-2 documents that bit
that should be set for records containing Subtype.
c. The Reserved Field at offset 290 in the General
section is only 28 bytes, but was documented as 32
bytes.
d. For the Client Records:
1. In the General section, the Character START/END are
LOCAL zone, but they are identical to each other
and are the same as SMF time (except that SMFTIME
has higher resolution). The STCK START/END are GMT
zone, and are also identical to each other.
2. In the Extended section, the STCK START/END times
are not populated.
3. The Reserved Field in the General Section contains
an IP address in character format.
4. The Client IP Address is not populated.
5. The Client User ID contains hex rather than EBCDIC
text; I don't know if that is correct or not, but
if it contains HEX it needs to be documented.
e. For the Listener Records:
1. The START fields are many days/hours prior to the
SMF TIME, and are constant for each JOB. The CHAR
field is Local Time Zone, the STCK field is GMT
Time Zone.
2. The SMF times are at 5 minute intervals, but are
not synchronized with TIME OF DAY, as all interval
records should be.
3. The END TIME fields (both CHAR and STCK) are not
populated, so it is NOT possible to use Fuzzy Logic
to reset the Start Time to the local clock.
Thanks to Bobbie Justice, Kohl's, USA.
Change 29.133 -Variables LPARNAME and LPNUMBER are added and are kept in
ASUMVMXA PDB.VMXAINTV and PDB.ASUMVMXA. But the LPNUMBER in z/VM
VMACVMXA data is NOT the "LPARNUM" variable in TYPE70PR from RMF.
Jul 5, 2011 In TYPE70PR, variable LPARNUM is a z/OS assigned sequence
number that has no connection with the actual Partition
number of each LPAR, which is precisely what is stored by
MONWRITE in its LPNUMBER variable. In TYPE70PR, there is
a variable PARTISHN, but that is the actual Partition
that wrote that SMF 70 record, and since the IFL LPARs do
not write SMF records, there is no possible way to match
the z/VM MONWRITE LPNUMBER to the IFL LPAR data.
However, merging the TYPE70PR IFL observations with the
MONWRITE data does not need the LPNUMBER/LPARNUM; the
data can be merged by matching the LPARNAME and ENDTIME.
Jul 26: See MXG Newsletter FIFTY-EIGHT VM Technical Notes
for comparison of synchronized MONWRITE and RMF data.
And, only SHARED IFLs have actual utilization; DEDICATED
IFLs always report 100% utilization in TYPE70PR/ASUM70PR.
Change 29.132 -When sending the output to HTML, PROC GCHART creates
GRAFCEC files with the name GCHART GCHART1 GCHART2 etc. If you
GRAFWRKX send the output of both routines to the same place, the
UTILWORK second one overwrites the output of the first. Added a
Jun 22, 2011 NAME= to all the GCHARTS so the charts created by
Jul 5, 2011 GRAFWRKX will be GRFWRK GRFWRK1 etc and the ones from
GRAFCEC will be GRFCEC GRFCEC1 etc.
-If COMPAT=YES was incorrectly specified (COMPAT went away
years ago), UTILWORK generated an RMFINTRV member with
USEREPRT and USECNTRL set to COMPAT=YES, causing VMXGRMFI
to look for performance groups. Now, COMPAT=GOAL is set.
-If run on ASCII in the background, your session will stop
to display every graph being produced - a real pain in
the butt. This can be suppressed using the GOPTIONS
NODISPLAY; option and a graphics catalog will still be
created. So you may want something like:
GOPTIONS NODISPLAY;
PROC GCHART GOUT=MYGRAPHS DATA=whatever;
VBAR whatever;
Run;
GOPTIONS DISPLAY;
FILENAME HTML 'C:\MXG\';
ODS HTML PATH=HTML BODY='BODY.HTML' FRAME='FRAME.HTML'
CONTENTS='CONTENTS.HTML';
PROC GREPLAY IGOUT=MYGRAPHS NOFS;REPLAY _ALL_;
RUN;
ODS HTML CLOSE:
RUN;
The graphs will be constructed and HTML put in C:\MXG\.
Clicking on FRAME.HTML will display the graphs after the
background task is complete.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.131 When DB2 ROLLUP is specified, DB2ACCT and DB2ACCTP will
VMACDB2 have two observations, the Originating and the Rollup,
Jun 21, 2011 but only DB2ACCT created DB2PARTY to identify which.
This changes creates DB2PARTY in DB2ACCTP dataset.
In DB2ACCT, with Parallelized DB2 and ROLLUP specified:
-In the DB2PARTY='O' observation, QWACBSC/QWACESC are the
start and end times, but in DB2PARTY='R' record, both
BSC and ESC are set to the END time of the transaction.
In DB2ACCTP, with Parallelized DB2 and ROLLUP specified:
-In the DB2PARTY='O' observation, QPACSCB/QPACSCE both
are missing values, and in DB2PARTY='R' record, both
are set to the END time of the transaction.
-Parallelization is only recognizable because the value
in QPACSCT (and in QPACZITM if zIIPs exist) are much
larger than the ELAPSTM in the DB2ACCT 'O' observation.
In both DB2ACCT and DB2ACCTP, population of variables is
inconsistent between the 'O' and 'R' record; in ACCTP the
QPACPKID is blank in the 'O' but populated in the 'R',
while most other QPACxxxx variables have values in both.
In ACCT, the QBnxxxx and QXxxxxx variables are missing in
the 'R', but most other variables are populated in both.
Thanks to Glen Bowman, Wakefern, USA.
Change 29.130 -Cosmetic - if you were running with AUTOALOC=YES, a SAS
BLDSMPDB warning was generated when a PROC COPY was used to copy
Jun 21, 2011 the contents of PDB to the day of the week. That is now
suppressed unless AUTOALOC=NO.
-New parameter AUTOTRND= added to allow you to add or
subtract the TRNDxxxx members that are invoked when
trending is being done. Default TRNDxxxx members are:
TRNDCEC TRNDCELP TRNDCICX TRNDDB2A TRNDDB2P TRNDDBSS
TRNDRMFI TRND72GO TRNDTMNT TRNDTALO
Change 29.129 z/VM 5.4 Crypto Record (5.10) with PRCAPMCT=8 printed
VMACVMXA ***MXGERROR DM 5 RC 10 UNDECODED PRCAPMCT=8 WAS SKIPPED
Jun 15, 2011 *ERROR* PROBABLE DATA LOSS DUE TO MONWRITE FAILURE.
and subsequent misalignment, due to 32 undocumented bytes
for that crypto subtype. Investigating further.
IBM has confirmed the documentation of this record is in
error; the MXG code and this change will be updated when
the IBM correction is available.
Thanks to Victoria Lepak, Aetna, USA.
Change 29.128 NOTE: DB2 INVALID DISTRIBUTED HEADER DELETED message if
VMACDB2H QWHDSVNM length (QWHDLOSL) was greater than 16 bytes even
Jun 15, 2011 after Change 29.036 due to error calculating LENLEFT.
Thanks to Lorena Ortenzi, UniCredit Group, ITALY.
Thanks to Paolo Uguccioni, UniCredit Group, ITALY.
Change 29.127 Support for z/OS 1.12 VMGUEST option to add CPU time to
VMAC7072 the RMF 70 records for z/OS systems running under z/VM.
Jun 14, 2011 New variable VMGUEST='Y' is added to PDB.TYPE70PR dataset
if this z/OS is run under z/VM with the VMGUEST option
specified in Monitor I options (in your ERBRMFxx member).
Two observations in PDB.TYPE70PR exist with the option;
one with LPARNAME='PHYSICAL' that contains the Dispatch
CPU Time of z/VM itself for this z/OS system, and one
with the LPARNAME='VMSystem' for the z/OS CPU TIME.
In the RMF Reports:
The header of the Partition Data section provides data
about the z/VM partition running the z/OS guest, with
'VMSystem' reported as the MVS PARTITION NAME field.
The IMAGE CAPACITY field displays the CPU capacity
available to the z/VM partition; NUMBER OF VMSystem
PROCESSORS presents the number of processors that are
assigned to the z/VM partition. All other header fields
in the RMF report will be N/A. The partition data
reports data of the z/OS system running as z/VM guest.
The CPU time used by z/VM itself is reported as
partition name '*VMSystem*'. In the reported partition
data, the physical processor utilization represents the
logical processor utilization of the z/VM partition.
Change 29.126 Data set VXSYTEP2 variables kept that were not input:
VMACXAM SYTEP1FL ECMCPBT ECMCPBTB
Jun 13, 2011 and variables input that were not kept:
Jun 15, 2011 SYTEP2FL $CHAR1. /*SYTEP1*FLAGS*/
CSCCMCMB &RB.4. /*MAXIMUM*INTERNAL*BUS*CYCLES*PERSEC*/
CSCCMCMC &RB.4. /*MAXIMUM*CHANNEL*WORK*UNITS*PERSEC*/
CSCCMCMM &RB.4. /*MAXIMUM*WRITES*PERSEC*/
CSCCMCMR &RB.4. /*MAXIMUM*READS*PERSEC*/
CSCCMCMU &RB.4. /*BYTES*PER*DATA*UNIT*/
ECMBCBCC &RB.4. /*BUSY*CYCLES*USED FOR*I/O*/
ECMCCWUC &RB.4. /*CHPATH*DATA*UNITS*TOTAL*/
ECMCCWU &RB.4. /*CHPATH*DATA*UNITS*LPAR*/
ECMCDWUC &RB.4. /*CHPATH*WRITE*DATA*UNITS*TOTAL*/
ECMCDWU &RB.4. /*CHPATH*WRITE*DATA*UNITS*LPAR*/
ECMCDURC &RB.4. /*CHPATH*READ*DATA*UNITS*TOTAL*/
ECMCDUR &RB.4. /*CHPATH*READ*DATA*UNITS*LPAR*/
SYTEP2FL is now kept in place of SYTEP1FL, ECMCPBT/B are
no longer kept and the other twelve are now kept.
Jun 15: All references to WORKUNITS and WORK*UNITS in the
variable labels was changed to DATA*UNITS; while Barton
documented them as WORKUNITS in the PL/1 descriptors that
are the only XAM documentation, apparently later in the
Velocity reports/documentation they are now called DATA
UNITS so I've changed the labels as requested.
Thanks to Patricia Hansen, ADP, USA.
Change 29.125 DB2 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED if length
VMAC102 of QW0022AN,'ACCESS INDEX NAME' was greater than 18, due
Jun 10, 2011 to error in MXG logic in handling truncated name fields.
Also, for DB2 V10, QW0022PA was incorrectly read as PIB2
which caused the new CY/NP/F2/TT variables to be wrong.
Thanks to Joe Babcock, Bank of America, USA.
Change 29.124 Variables CTGIAREQ and CTGLALRQ were incorrectly kept in
VMAC111 dataset TY111CXI, but those fields do not exist in the
May 28, 2011 subtype 07 record, so they have been removed from that
dataset's KEEP list. They do exist in subtypes 01/02/03
so they were sometimes populated and sometimes missing in
TY111CXI dataset, depending on the order of subtypes in
the SMF record. These three different subtype sequences
have been observed in SMF 111 records, for no apparent
reason, but as each subtype is independent, with this
MXG correction, there is no impact on different orders:
00 01 05 04 06 07 03
07 00 01 05 04 06 03
00 07 01 05 04 06 03
Thanks to Gordon E. Griffith, Edward Jones, USA.
Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
Change 29.123 Support for TMON/IMS Version 3.0 (INCOMPATIBLE). New
EXTIMCM1 variables added to TIMSCM, TIMSCP, and TIMSCT datasets.
EXTIMCM2 Six new datasets, one for each of the three segments in
EXTIMCM3 the CM and CP records are created. The datasets TIMSCM,
EXTIMCP1 TIMSCM1, TIMSCM2, TIMSCM3, TIMSCO, TIMSCP, TIMSCP1,
EXTIMCP2 TIMSCP2, TIMSCP3, and TIMSCT were validated with data;
EXTIMCP3 no other subtypes were examined for changes.
IMACTIMS
VMACTIMS
VMXGINIT
May 28, 2011
Thanks to Santosh Kandi, J.C. Penney, USA.
Change 29.122 Lengths of variables CUVENDOR $3 and CUSERIAL $12 are now
VMAC74 set in a length statement. Because they were created by
May 27, 2011 a SUBSTR function, their default length was set from the
length of the input variable, which was $28.
Change 25.155 noted that the SUBSTR function sets length
from the input variable, while SCAN and other functions
default to $200. The length for these SUBSTR could be
set at compile time, because the third argument is fixed,
but it isn't, so the LENGTH statement sets the length.
Thanks to Rudolf Sauer, T-Systems, GERMANY
Change 29.121 MXG 28.28-29.04. DB2 Data Sharing Variables QWHADSGN and
VMACDB2H QWHAMAMN were blank if there was a Distributed Header for
May 27, 2011 DB2ACCT or DB2ACCTP datasets. All DDF records have a
QWHSTYP=16 segment, but they can exist in other records.
Thanks to Paul Volpi, UHC, USA.
Change 29.120 Updates discovered during ITRM Dictionary Build:
ASUMVMXA -VMACTPMX. By list _BTMP10 variable TPMCMLNN (MSU) should
VMAC82 have been TPMCMLNM (LPAR NAME).
VMACTPMX -VMAC82. Labels 21th/22th/23th/31th/32th/33th corrected.
VMACVMXA -VMACVMXA
VMXGINIT Macro _SUSELOF had disappeared from the _DELTALL macro,
May 26, 2011 now reinstated.
Jun 22, 2011 Variable SCKRZWCT was a typo and does not exist.
Nov 17, 2011 Variables NBAD113 and RESETCTR are DROPped.
Variable CURALLOC does not exist and reference removed.
Variable PLXCPUCN was a typo and does not exist.
Variable VL3CAF label is now CAPABILITY vs CAPACILITY.
Nov 27, 2011: These updates were not made until today:
-ASUMVMXA. Macro variable PSUVMXA now defined in VMXGINIT
rather than in ASUMVMXA, and existing macro _LVMAINT is
for the location of VMXAINTV and the old _LTYVMXA token
is removed.
Thanks to Chris Weston, ITRM Development, USA.
Change 29.119 -The below segment of an INPUT statement was accidentally
QASAS left in the middle of a LABEL statement:
VMACQACS DSSRLN ='DISK*UNIT*SERIAL*NUMBER'
May 23, 2011 DSPTROP &PIB.8. /*TOTAL*PATH*READ*OPERATIONS*/
Jul 6, 2011 DSPTWOO &PIB.8. /*TOTAL*PATH*WRITE*OPERATIONS*/
DSWWWNN $CHAR8. /*WORLD*WIDE*NODE*NAME*/
DSSRVT ='DISK*SERVICE*TIME'
but it did NOT generate a compiler error, because the SAS
delimiter for label text is the equal sign. It did cause
variables DSPTROP DSPTWOO & DSWWWNN to have blank labels,
and it created a very long label for variable DSSRLN that
SHOULD have been detected in the QA LONG LABEL tests, but
wasn't, because the QASAS still had the archaic TYPEQAPM
executed AFTER the current TYPEQACS, so the old QAPMDISK
(with only 74 variables and none of the above new ones)
overwrote the new (103 variables) QAPMDISK dataset in QA.
-Removing the ancient TYPEQAPM member from the QA stream
caused these datasets to no longer be created/documented
in the DOCVER member (but this is only cosmetic); those
datasets have not been actually available in years).
QAPMASYN QAPMBSC QAPMDDI QAPMECL QAPMFRLY QAPMIDLC
QAPMJOBS QAPMLAPD QAPMPOOL QAPMRWS QAPMSTND
QAPMSTNL QAPMSTNY QAPMX25
Thanks to Richard Schwartz, State Street Bank, USA.
Change 29.118 Change 29.084 deleted temporary MXGENG dataset because
UTILCONT %VGETENG was thought to only create two macro variables,
VGETENG but UTILCONT/VMXGSIZE had undocumented invocations of
VMXGSIZE %VGETENG that required that dataset to exist. The new
May 18, 2011 CLEANUP=YES/NO is added to all three members to allow
the dataset to be kept and deleted later when needed.
Thanks to Paul Naddeo, FISERV, USA.
Change 29.117 -ASCII only, CICSTRAN variables RTYPE/RRTYPE should have
UTILEXCL been input with $EBCDIC informat in VMAC110/UTILEXCL.
VMAC110 -VMACSVIE, variable CNTL_TIME in SV03THRE dataset is now
VMACSVIE converted back from GMT to local time zone.
May 18, 2011 -VMACSVIE, variable DB2_PROGRAM in SV27DB2 is $ASCII.
-VMACSVIE, variable SCUCRSTG is no longer formatted.
-VMACSVIE stores CICS task number as PIB4 and not PD4 so
these variables inputs were changed:
CNTL_TASKNUMBER LASTTRANNUM TRANNUM OTRANNUM EXS_MNTNO
-VMACSVIE, variable THRS_GROUP and THRS_CLASS corrected.
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
====== Changes thru 29.116 were in MXG 29.04 dated May 17, 2011========
Change 29.116 The SQL Statement Number in all of the original SQL Trace
FORMATS IFCIDS 53,58,59,60,61,64,65,66 plus 125,183, and 247 have
VMAC102 been wrong (fixed value of 16448 usually) ever since they
May 14, 2011 were relocated and increased from 2 to 4 bytes in DB2 V8.
In making this update, several overlooked variables are
also now output in these T102Snnn DB2 trace datasets, and
several new formats were created to decode them.
Thanks to Joachim Sarkoschitz, DATEV, GERMANY.
Change 29.115 Arguments PDB= and PDBOUT= were not UPCASED, causing the
GRAFWRKX PDB=trend to not be recognized. Now they are.
May 10, 2011
Change 29.114 -Testing JCLSIMPL default example exposed macro language
BLDSMPDB syntax errors corrected in this BLDSMPDB:
VMXGDBSS
May 10, 2011 NOTE: Line generated by the macro variable "RERUN".
May 15, 2011 20 "
-
77
ERRROR 77-185: Invalid number conversion on ""d.
-Tests also exposed errors in VMXGDBSS where SHIFT was not
being created in ASUMDBSx datasets, causing a later
failure when the ASUMs were executed.
-New PDB=NONSMF argument added to BLDSMPDB to support the
new JCLSMOTH non-SMF processing in Change 29.105.
Thanks to Vinnie Falzone, The Prudential, USA.
Change 29.113 Variables CTGLALRQ (Lifetime) and CTGIAREQ (Interval) in
VMAC111 TY111CXI dataset were reversed.
May 10, 2011
Thanks to Gordon E. Griffith, Edward Jones, USA.
Change 29.112 Documentation only. This paragraph was added:
IMACACCT If you have created a SPIN data library and then decide
May 5, 2011 to DROP ACCOUNTn and LENACCTn variables that were kept
originally, you will need to copy and DROP the unwanted
ACCOUNTn and LENACCTn variables from the three datasets
SPIN30_1, SPIN30_5, and SPIN26, and copy & DROP the
unwanted SACCTn variables from SPIN30_4, and then copy
the revised datasets back into your SPIN data library.
Otherwise, the unwanted will still be in both the SPIN
and the PDB JOBS/STEPS/PRINT datasets.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA
Change 29.111 For CICS Attach, the CICS TRAN name is extracted from the
VMACDB2 QMDACORR field, but that value is sometimes wrong and the
May 4, 2011 correct CICS TRAN name exists instead in QWHCCV field, so
MXG now uses QWHCCV as the source of CICS TRAN.
A PMR will be opened with IBM to determine if this is an
IBM error, since DSNWMSGS states that QWHCCV/QMDACORR are
supposed to be the same.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 29.110 The invocation of the dataset exit token _EIMSTRN was
TYPEIMSA accidentally removed from TYPEIMSA in MXG 28.28, but is
May 4, 2011 in now reinstated.
Thanks to Craig Collins, State of Wisconsin DOA, DET, USA.
Change 29.109 PDB.DB2STATS vars QXRWSDEL/QXRWSFET/QXRWSINS/QXRWSUPD
VMACDB2 were incorrectly kept in both DB2STAT0 and DB2STAT1 and
May 4, 2011 were not deaccumulated in _SDB2ST0.
Thanks to Jane S. Stock, USPS, USA.
Change 29.108 -Invalid UARG record was not true; the MXG test for NWORDS
VMACNMON LE 5 should have been LE 4. Additionally, the UARGTYPE=2
May 4, 2011 UARG record now sets THCOUNT=1 so that observations will
be created in the PDB.NMONUARG dataset.
-INVALID ARGUMENT error messages are caused by invalid VM
record that has the second word T0001, an interval marker
which should contain data values, but the invalid record
instead contains the field descriptions. MXG now detects
and prints a clear error message referencing this change.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 29.107 Format MG099TC is updated to decode 70+ new trace codes
FORMATS added by z/OS 1.12 for the SMF 99 variable S99TCOD.
May 4, 2011
Thanks to Michael Oujesky, Bank of America, USA.
Change 29.106 JES3 PDB.JOBS variable CLASS is the 8-byte JOBCLASS when
BUIL3005 the job was read-in, from the TYPE26J3 purge record, IBM
May 3, 2011 field SMF26CLN. CLASS is stored into JOBCLASS when CLASS
is non-blank (i.e., when a Purge Record exists). But the
job class can be changed in exits, in particular, in the
IATUX29 exit; that new JOBCLAS8 value is in the SMF 30
records, so this change now keeps JOBCLASS8 in the JES3
PDB.JOBS dataset, where it's label will be
JOBCLAS8='JES3*8-BYTE*JOBCLASS*AFTER*IATUX29'
If no purge record was found by BUIL3005, the value in
JOBCLAS8 from the 30 record is stored into JOBCLASS.
Thanks to Jeff Ramsay, ArcelorMittal, USA.
Change 29.105 JCLSIMPL and JCLSPxxx examples use UTILBLDP/BLDSMPDB and
BLDSIMPL are THE now-recommended z/OS jobs for a "SIMPLE" BUILDPDB
BLDSPMTH or the "SPLIT SMF" family of "BUILDPDB" jobs.
BLDSPOTH
BLDSPSMA JCLSIMPL creates a "simple", PDB library, with one job
BLDSPSMB that reads the SMF file, showing how to add an SMF record
BLDSPSMC and invoking all of the default ASUMxxxx members to build
BLDSPSMD a "single", default PDB data library from raw SMF data.
BLDSPSME You could do the same with BUILDPDB and the EXPDBxxx exit
BLDSPUOW members, but these more recent utility macros are now the
BLDSPWEK recommended way to build/tailor a simple BUILDPDB:
JCLSIMPL UTILBLDP - defines what data is to be created in a PDB.
JCLSPCPY You can add, subtract, or change what's kept
JCLSPGDG by each of these jobs use UTILBLDP to create
JCLSPLIT a specific suit of MXG datasets in a PDB
JCLSPMTH built from SMF data records.
JCLSPOTH BLDSMPDB - flexible job manager creates day/week/etc
JCLSPSMA PDBs using the UTILBLDP execution preceding
JCLSPSMB its invocation to define the PDB contents.
JCLSPSMC Processes SMF and non-SMF data records.
JCLSPSMD
JCLSPSME JCLSPxxx is a family of jobs to read "split" subsets of
JCLSPUOW SMF and other data records to parallelize the BUILDPDB,
JCLSPWEK using the above+ UTILBLDP and BLDSMPDB members:
VMXGALOC JCLSPGDG - run once to create GDGs, and then never again
VMXGPARS unless there is a need to alter a GDG base or
May 16, 2011 to change dataset names.
Nov 9, 2011 JCLSPLIT - first job in daily stream - standalone -
splits the daily SMF into pieces for
subsequent processing
SMF.ALL - All SMF for archive
SMF.CICS - SMF 110.1
SMF.DB2 - SMF 101/102
SMF.IO - SMF 14/15/42/61/65/66/74/240/241
SMF.MQ - SMF 115/116
SMF.SPLITPDB - All other SMF records
JCLSPSMA/JCLSPSMB/JCLSPSMC/JCLSPSMD/JCLSPSME can be run
concurrently to process the split SMF files:
JCLSPSMA - Read only CICS SMF 110, create:
CICSTRAN.CICSTRAN CICSBAD.CICSBAD.
JCLSPSMB - Read only DB2 SMF 101/102, create:
PDB: DB2ACCT DB2ACCTB DB2ACCTG DB2ACCTP DB2ACCTR
ASUMDB2A ASUMDB2B ASUMDB2G ASUMDB2P ASUMDB2R
JCLSPSMC - Read only I/O records, create:
PDB: TYPE1415 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
TYPE42CV TYPE42DS TYPE42EX TYPE42NF TYPE42NU
TYPE42SC TYPE42SR TYPE42TO TYPE42VL TYPE42VS
TYPE42VT TYPE42XR TYPE42XV TYPE42S1 TYPE42S2
TYPE42S3 TYPE42S4 TYPE42D1 TYPE42D2 TYPE42D3
TYPE42D4 TYPE42L1 TYPE42L2 TYPE42P1 TYPE42P2
TYPE42P3 TYPE42X1 TYPE42X2 TYPE42X3 TYPE42X4
TYPE4220 TYPE4221 TYPE422A TYPE4222 TYPE4223
TYPE4224 TYPE424A TYPE4225 TYPE4226 TYPE4237
TYPE6156 TYPE64 TYPE64X TYPE74 TYPE74CA
TYPE74ID TYPE74CF TYPE74CO TYPE74LK TYPE74ME
TYPE74OM TYPE74PA TYPE74ST TYPE74DU TYPE74SY
TYPE74TD TYPE746B TYPE746F TYPE746G TYPE747P
TYPE747C TYPE748 TYPE748A TYPE748R TYPE748X
HSMDSRST HSMFSRBO HSMFSRST HSMFSRTP HSMDSRFU
HSMVSRFU HSMVSRST HSMWWFSR HSMWWVOL
JCLSPSMD - Read only MQ records, create:
PDB: MQCFSTAT MQMACCT MQMACCTQ MQMBUFER MQMCFMGR
MQMLOG MQMMSGDM MQMQUEUE
JCLSPSME - Read all remaining SMF, create:
ASUM70GC ASUM70GL ASUM70LP ASUM70PR ASUMCEC
ASUMCELP ASUMTALO ASUMTAPE CICEODRV CICINTRV
CICREQRV CICRRTRV CICSEXCE CICSYSTM CICUSSRV
DB2GBPAT DB2GBPST DB2STAT0 DB2STAT1 DB2STAT2
DB2STAT4 DB2STATB DB2STATR DB2STATS DDSTATS
IPLS IPLSMF JOBS NJEPURGE PRINT
RMFINTRV RMFWKLRV SMFINTRV SMFRECNT SPIN26
SPIN30TD SPIN30_1 SPIN30_4 SPIN30_5 SPIN6
SPINRMFI SPINTALO SPUNJOBS STEPS TAPEMNTS
TAPES TYPE0203 TYPE23 TYPE30MR TYPE30MU
TYPE30OM TYPE30_6 TYPE7 TYPE70 TYPE7002
TYPE70EN TYPE70PR TYPE70X2 TYPE70Y2 TYPE71
TYPE72 TYPE7204 TYPE725A TYPE725B TYPE725C
TYPE725D TYPE725E TYPE725F TYPE725G TYPE725H
TYPE725I TYPE725J TYPE725K TYPE725L TYPE725M
TYPE72DL TYPE72GO TYPE72MN TYPE72SC TYPE73
TYPE73L TYPE73P TYPE75 TYPE77 TYPE78
TYPE78CF TYPE78CU TYPE78IO TYPE78PA TYPE78SP
TYPE78VS TYPE89 TYPE892 TYPE89I TYPESTAT
TYPESYMT TYPESYSL TYPETALO TYPETARC TYPETMNT
TYPETSWP
JCLSPOTH - DCOLLECT, TMC.
JCLSPUOW - after JCLSPLTA and JCLSPLTB have run,
build PDB.ASUMUOW from CICSTRAN and DB2ACCT,
build PDB.CICS from PDB.ASUMUOW.
Nov 9: (+1) instead of (0) for PDB and SPIN
DDnames, and DISP/SPACE parameters added
JCLSPCPY - Copies these datasets into PDB library:
ASUMCACH CICS ASUMUOW ASUMDB:
JCLSPWEK - weekly job using BLDSMPDB to drive the bus
JCLSPMTH - monthly job using BLDSMPDB to drive the bus
BLDSPxxx members are for ASCII execution to create the
same suite of PDB datasets. except that there is no
GDG nor SPLIT members.
BLDSPSMA - Read only CICS SMF 110, create:
CICSTRAN.CICSTRAN CICSBAD.CICSBAD.
BLDSPSMB - Read only DB2 SMF 101/102, create:
PDB: DB2ACCT DB2ACCTB DB2ACCTG DB2ACCTP DB2ACCTR
ASUMDB2A ASUMDB2B ASUMDB2G ASUMDB2P ASUMDB2R
BLDSPSMC - Read only I/O records, create:
PDB: TYPE1415 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
TYPE42CV TYPE42DS TYPE42EX TYPE42NF TYPE42NU
TYPE42SC TYPE42SR TYPE42TO TYPE42VL TYPE42VS
TYPE42VT TYPE42XR TYPE42XV TYPE42S1 TYPE42S2
TYPE42S3 TYPE42S4 TYPE42D1 TYPE42D2 TYPE42D3
TYPE42D4 TYPE42L1 TYPE42L2 TYPE42P1 TYPE42P2
TYPE42P3 TYPE42X1 TYPE42X2 TYPE42X3 TYPE42X4
TYPE4220 TYPE4221 TYPE422A TYPE4222 TYPE4223
TYPE4224 TYPE424A TYPE4225 TYPE4226 TYPE4237
TYPE6156 TYPE64 TYPE64X TYPE74 TYPE74CA
TYPE74ID TYPE74CF TYPE74CO TYPE74LK TYPE74ME
TYPE74OM TYPE74PA TYPE74ST TYPE74DU TYPE74SY
TYPE74TD TYPE746B TYPE746F TYPE746G TYPE747P
TYPE747C TYPE748 TYPE748A TYPE748R TYPE748X
HSMDSRST HSMFSRBO HSMFSRST HSMFSRTP HSMDSRFU
HSMVSRFU HSMVSRST HSMWWFSR HSMWWVOL
BLDSPSMD - Read only MQ records, create:
PDB: MQCFSTAT MQMACCT MQMACCTQ MQMBUFER MQMCFMGR
MQMLOG MQMMSGDM MQMQUEUE
BLDSPSME - Read all remaining SMF, create:
ASUM70GC ASUM70GL ASUM70LP ASUM70PR ASUMCEC
ASUMCELP ASUMTALO ASUMTAPE CICEODRV CICINTRV
CICREQRV CICRRTRV CICSEXCE CICSYSTM CICUSSRV
DB2GBPAT DB2GBPST DB2STAT0 DB2STAT1 DB2STAT2
DB2STAT4 DB2STATB DB2STATR DB2STATS DDSTATS
IPLS IPLSMF JOBS NJEPURGE PRINT
RMFINTRV RMFWKLRV SMFINTRV SMFRECNT SPIN26
SPIN30TD SPIN30_1 SPIN30_4 SPIN30_5 SPIN6
SPINRMFI SPINTALO SPUNJOBS STEPS TAPEMNTS
TAPES TYPE0203 TYPE23 TYPE30MR TYPE30MU
TYPE30OM TYPE30_6 TYPE7 TYPE70 TYPE7002
TYPE70EN TYPE70PR TYPE70X2 TYPE70Y2 TYPE71
TYPE72 TYPE7204 TYPE725A TYPE725B TYPE725C
TYPE725D TYPE725E TYPE725F TYPE725G TYPE725H
TYPE725I TYPE725J TYPE725K TYPE725L TYPE725M
TYPE72DL TYPE72GO TYPE72MN TYPE72SC TYPE73
TYPE73L TYPE73P TYPE75 TYPE77 TYPE78
TYPE78CF TYPE78CU TYPE78IO TYPE78PA TYPE78SP
TYPE78VS TYPE89 TYPE892 TYPE89I TYPESTAT
TYPESYMT TYPESYSL TYPETALO TYPETARC TYPETMNT
TYPETSWP
BLDSPOTH - DCOLLECT, TMC.
BLDSPUOW - after JCLSPLTA and JCLSPLTB have run,
build PDB.ASUMUOW from CICSTRAN and DB2ACCT,
build PDB.CICS from PDB.ASUMUOW.
BLDSPWEK - weekly job using BLDSMPDB to drive the bus
BLDSPMTH - monthly job using BLDSMPDB to drive the bus
Change 29.104 -Interval summarization of CICS Statistics CICLDR dataset
ASUMCLDR in PDB.ASUMCLDR and Trending in TREND.TRNDCLDR is useful
TRNDCLDR to track CICS Program Loader activity.
TRNDCELP -Trending for ASUMCELP and ASUM70LP per-LPAR datasets,
TRND70LP adds zIIP, zAAP, and IFL statistics.
May 1, 2011
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.103 New option RESULTS=FINDVAR will find every dataset in
VMXGSRCH every allocated LIBNAME, or in specific LIBNAMES, that
May 1, 2011 contains any of the variables listed in VARS= argument.
Jul 8, 2011 With FINDVAR option, the VALUE= argument is ignored.
Jul 2011: COUNT option was restored in code, was lost.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.102 Change 29.052 documented this MONTHxxx error 180-322:
ANALDB2R
MONTHASC NOTE: Line generated by the macro function "SUBSTR".
MONTHBL3 18 ;SET MON.XXXXXX TUE.XXXXXX WED.XXXXXX THU.XXXXXX
MONTHBLD ---
MONTHDSK 180
READDB2 ERROR 180-322: Statement is not valid or it is used out
UTILBLDP of proper order.
VMXGSUM
May 2, 2011 was caused by the %CMPRES macro (in SASAUTOS) generating
a line of code when it should have stored that text in a
macro variable, and that this "SAS V9.1.3 ONLY" error was
circumvented by replacing %CMPRES with %QCMPRES. But this
error is also in SAS V9.2, both ASCII and z/OS platforms,
on May 1, but not on May 2. On May 1, a Sunday, with the
default STARTDAY of MON, the to-be-generated SET statement
has the (maximum) of six daily and five weekly elements,
which tripped up %CMPRES, while %QCMPRES worked fine.
But on May 2, with only five week tokens to be generated,
both %CMPRES and %QCMPRES worked fine.
-Detailed traces with all possible %MACRO debugging options
failed to reveal the actual cause of the error.
-But, the SAS documentation for %CMPRES and %QCMPRES states
"The %CMPRES and %QCMPRES macros compress multiple blanks
and remove leading and trailing blanks. If the argument
might contain a special character or mnemonic operator:
& % ' " ( ) + - * / < > = ¬ ^ ~ ; , # blank
AND OR NOT EQ NE LE LT GE GT IN
use %QCMPRES.
%CMPRES returns an unquoted result, even if the argument
is quoted.
%QCMPRES produces a result with the special characters
and mnemonic operators masked, so the macro processor
interprets them as text instead of as elements of the
macro language."
Since all MXG uses of %CMPRES are objects of a %LETs for a
text string, and since some of those text strings can have
those special characters, all %CMPRES are now %QCMPRES.
Thanks to Rodger Foreman, Acxiom, USA.
Change 29.101 Support for z/VM 6.2, COMPATIBLE RECORD CHANGES BY IBM.
EXIODMDE IBM's MONWRITE/MONDATA file changes WERE COMPATIBLE, but
EXISFILC MXG code might fail if you create SYTLCK (0.23) records;
EXISFISA See note at bottom to read 6.2 data with prior MXG code.
EXISFISC z/VM 6.2 MONWRITE is a MAJOR enhancement, with these 19
EXISFNOD new records (VXPRCMFC has the z/OS SMF 113 Counters!):
EXMTRILC DMN REC DDDDDD DATASET DESCRIPTION
EXMTRISC 1 23 MTRISC VXMTRISC ISFC End Point Configuration
EXMTRSSI 1 24 MTRILC VXMTRILC ISFC Logical Link Configuration
EXMTRTOP 1 25 MTRSSI VXMTRSSI SSI Configuration Information
EXPRCMFC 1 26 MTRTOP VXMTRTOP System Topology
EXPRCTOP 4 11 USERLS VXUSERLS Guest Relocation Started
EXSSISCH 4 12 USERLS VXUSERLS Guest Relocation Ended
EXSSISLT 5 13 PRCMFC VXPRCMFC CPU-Measurement Facility
EXSSISMI
EXSSISCS 5 14 PRCTOP VXPRCTOP System Topology
EXSSIXDI 6 31 IODMDE VXIODMDE Minidisk Activity
EXSSIXLK 9 1 ISFISC VXISFISC ISFC End Point Status Change
EXUSERLS 9 2 ISFISA VXISFISA ISFC End Point Activity
EXUSERLS 9 3 ISFILC VXISFILC ISFC Logical Link Def Change
FORMATS 9 4 ISFNOD VXISFNOD ISFC Logical Link Activity
IMACVMXA 11 1 SSISSC VXSSISSC State Change Synch Activity
VMACVMXA 11 2 SSISMI VXSSISMI State/Mode Information
VMXGINIT 11 3 SSISCH VXSSISCH State Change/Event
May 6, 2011 11 4 SSISLT VXSSISLT Slot Definition
Oct 22, 2011 11 6 SSIXLK VXSSIXLK XDISK Serialization Sample
Nov 2, 2011 11 7 SSIXDI VXSSIXDI XDISK Activity
and with changes to these 36 existing datasets:
0 VXSYTPRP (0.02) VXSYTRSG (0.03) VXSYTSHS (0.07)
VXSYTUSR (0.08) VXSYTUWT (0.12) VXSYTSCP (0.13)
VXSYTXSG (0.14) VXSYTCUM (0.17) VXSYTLCK (0.23)
1 VXMTREPR (1.01) VXMTRSYS (1.04) VXMTRPRP (1.05)
VXMTRDEV (1.06) VXMTRMEM (1.07) VXMTRSPR (1.09)
VXMTRDDR (1.14) VXMTRUSR (1.15) VXMTRCCC (1.18)
2 VXSCLSHR (2.09) VXSCLIOP (2.11)
3 VXSTORSG (3.01) VXSTORSP (3.02) VXSTOASP (3.04)
VXSTOADD (3.21)
4 VXUSELON (4.01) VXUSELOF (4.02) VXUSEACT (4.03)
VXUSEINT (4.04) VXUSEATE (4.09)
5 VXPRCCFN (5.06) VXPRCCFF (5.07) VXPRCAPC (5.09)
6 VXIODVON (6.01) VXIODVSW (6.21)
8 VXVNDSES (8.01)
10 VXAPLSDT (10.02)
-Dataset VXPRCMFC is created with TYPE113 variable names,
including all of the metrics from John Burg's papers, so
the existing ASUM113 dataset can be used to summarize the
new hardware counters from either z/VM or z/OS records.
-The sort order was changed on some existing datasets that
had not previously been validated for the NODUP option.
The _Bdddrrr "BY LIST" macro for each dataset has been
validated to ensure that PROC SORT NODUP; BY _Bdddrrr;
removes duplicates; some existing dataset's _Bdddrrr list
was insufficient and had to be extended to ensure the
physical adjacency of duplicate records.
The validation reads the same MONWRITE file twice and
the _SVMXA macro sorts all datasets. The SAS log
message for each sort is examined to ensure that
exactly one half of the input observations were
reported as duplicates.
-The validation of the BY LIST with NODUP is NOT because
MONWRITE has a duplicate record problem; it is required
for the DIF() validation of the MXG deaccumulation logic.
Because MONWRITE records contain accumulated values, the
deaccumulation logic (a DATA step in the _Sdddrrr macro)
uses the same "BY LIST" _Bdddrrr macro as the NODUP did.
The deaccumulated datasets are then examined with PROC
MEANS for MIN. If a non-accumulated field (cardinal,
min, max, end point) is deaccumulated, or if its sort
order is not correct, its minimum value will be negative.
-This change was a significant project; there were 3417
source lines inserted, and 730 lines deleted in the main
VMACVMXA code member, which now has 24,653 lines. The
update took from Monday thru Saturday, 40-50 hours.
I documented the original VM/XA MONWRITE development in
1988, 150 hours across 10 days for 75 datasets and 15,000
lines, I think, but I can't find that note right now!
-Not new in z/VM 6.2, but it has always been the case that
when the same MONWRITE data file was read twice, two MXG
created datasets had an odd number of observations, where
an even number should have been created. The two datasets
VXMTREPR (1.01) and VXMTRDDR (1.14) records are written
at MONITOR START, but prior to the MTRSYS (1.04), which
contains the GMT Offset (SYSZONE) value. MXG deletes
records with SYSZONE missing, because the MRHDRTOD can't
be converted to local time and thus is unknown.
But because SYSZONE is retained so it can be used for all
other records in this collect, if data from a different
system is concatenated, the new system's 1.01 record will
use the non-missing SYSZONE from the prior system and was
output with the wrong MRHDRTOD value. Fortunately, IBM
has added SYSZONE field to 1.01 MONITOR START record so
the MXG logic now exploit that addition and will use the
1.01 for MONITOR START when it contains SYSZONE.
-Also not new in z/VM 6.2, there is no SYNC option to make
MONWRITE interval records synchronized with TIME of DAY;
the intervals when the MONITOR SAMPLE INTERVAL or the
MONITOR START command is issued. A formal requirement
has just been submitted, and this text will be updated if
IBM accepts that request. In the interim, this example
from IBM can be used to STOP and reSTART the monitor with
TOD synchronization to second zero of the next minute:
/* Make the monitor intervals start on second zero */
'CP MONITOR STOP'
Parse value time('N') with hh ':' mm ':' ss .
mm=mm+1 /* Wait for the next minute*/
If ss=59 then mm=mm+1 /*May need a bit more time*/
If mm>60 then do /* Overflow to the hour*/
mm=mm-60
hh=hh+1
end
'WAKEUP' hh':'right(mm,2,0)':00' /*Wait*/
'CP MONITOR START' /*Start the monitor*/
Exit
Note: changing the mm=mm+1 to hh=hh+1
and changing to 'WAKEUP' hh':00:00'
will cause MONWRITE data to be on an hourly boundary.
-CIRCUMVENTION TO SKIP MONWRITE 0.23 SYTLCK RECORD:
To process z/VM 6.2 records with MXG 29.03 or earlier,
this code will skip all 0.23 records:
//SYSIN DD *
%LET MACVMXX=
%QUOTE(
IF MRHDRDM=0 AND MRHDRRC=23 THEN DO;
INPUT +SKIP @;
SKIP=0;
MRHDRDM=-99;
MRHDRRC=-99;
GOTO MWENDIT;
END;
);
%INCLUDE SOURCLIB(....);
Change 29.100 Support for GDPS Global Mirror V3R8 SMF ID=105 record,
EXTY1051 which creates these two new datasets:
EXTY1052 dddddd Dataset Description
IMAC105 TY1051 TYPE1051 GDPS SESSION DATA
VMAC105 TY1052 TYPE1052 GDPS LOGICAL SUBSYSTEM DATA
VMXGINIT
Apr 28, 2011
Thanks to Paul Volpi, UHC, USA.
Change 29.099 Omegamon User SMF "OMCI" record tested for versions before
VMACOMCI testing for SUBTYPE and RECSUBTY, and records from the old
Apr 27, 2011 version 420 printed error messages that that version was
unknown. But these were ID=112 records with SUBTYPE=203
and RECSUBTY=0, which are "112s" and not "OMCI", so the
code now accepts '420' for version but also deletes these
non-OMCI records ahead of the version test.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 29.098 Variables ICFCPUS, IFLCPUS, IFACPUS, ZIPCPUS, only in the
VMXG70PR PDB.ASUMCEC dataset, were wrong (too high, they were the
Apr 27, 2011 SUM across all LPARs with those specialty engines).
Thanks to Otto Burgess, OPM, USA.
Change 29.097 INPUT STATEMENT EXCEEDED (on z/OS), INVALID FLOATING POINT
EXCICRDD (on ASCII) SMF 110 subtype 1 MNSEGCL=5 records, if any DPL
IMAC110 DPL Resource Segments exist (i.e., MNR5NUMX GT 0).
VMAC110 DPL segments, new in CICS/TS 4.1, were not input, causing
VMXGINIT mis-alignment, but they now create new CICSRDPL dataset.
Apr 26, 2011 Also, new variables added by CICS/TS 4.1 are now output
in the existing CICSRDS dataset that were overlooked.
Thanks to Paul Volpi, UHC, USA.
Change 29.096 Documentation only. APAR PK99058 corrects Tivoli Storage
VMAC42 Manager z/OS Server Accounting Record CPU usage field,
Apr 25, 2011 (variable CLICPUTM in TYPE42AD), in TSM Version 5.5 only,
which had failed to populate that field.
Thanks to Jacob Nudel, Thomson Reuters, USA.
Change 29.095 Parameter DALYKEEP= added to bldsmpdb to control which
BLDSMPDB dataset are selected by the PROC COPY from the PDB into
Apr 22, 2011 the Day-Of-Weed dataset, and can be a SELECT statement or
====== Changes thru 29.094 were in MXG 29.03 dated Apr 19, 2011========
Change 29.094 MXG 29.03 Dated APR 11: ALL CICSTRAN TIME VARIABLES WRONG
VMAC110 (if you did NOT use UTILEXCL to create IMACEXCL). A mass
Apr 19, 2011 change command went awry and inserted 16* in all of the
time duration variables in blocks of "fall thru" code for
CICS/TS 3.2 or later. This SHOULD have printed the MXG
***ERROR VMAC110: CPU 10X LARGER THAN ELAPSED.
See Change 29.076 for the CPU 10X LARGER enhancement.
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 29.093 INPUT STATEMENT EXCEEDED for subtype 79; value '1120' was
VMAC85 added to the two tests for variable R85PVRM in the block
Apr 18, 2011 that reads subtype=79, support z/OS 1.12 INCOMPAT change.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 29.092 Variables ZIPCPUS and IFACPUS in PDB.ASUMCEC/PDB.ASUM70PR
VMXG70PR were the average number online, but that included parked
Apr 13, 2011 time. They are now corrected to count the number of
AVERAGE*ONLINE*NOTPARKED specialty engines. Variables
NRZIPCPU and NRIFACPU are the number installed.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 29.091 If MXG's default COMPRESS=YES is changed to COMPRESS=NO,
VMAC102 all SQL Text variables are broken into 100 byte chunks
Apr 13, 2011 and multiple observations are created in the T102Tnnn
datasets, but the last two characters of each chunk have
been missing since DB2 V8.1 changed the structure of
the length fields; MXG still subtracted 2 bytes which it
should not have. DB2 SQL text is created in these IFCIDS:
63 124 140 141 142 145 168 which are now all corrected.
Thanks to Mark Tomlinson, Lloyds Banking, ENGLAND.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 29.090 Typo for the IMS08D and IMS0A08 datasets _Wdddddd entries
VMACIMS had _VIMS08 _KIMS08 which are now _VIMS08D _KIMS08D and
Apr 13, 2011 _VIMS0A8 and _KIMS0A8 respectively. Since the _VIMS08
and _VIMS08D keep the same variables, the IMS0708 dataset
was not impacted, and, fortunately, no one uses IMS0A78.
Thanks to Rudolf Sauer, T-Systems, GERMANY
Change 29.089 -The z/VM MONWRITE dataset PDB.VXBYUSR has one observation
VMACVMXA for every VMDCPUAD (CPU ADDRESS) configured for each VM,
VMXGINIT so it doesn't have the interval total for each machine.
Apr 13, 2011 The new PDB.VXINTUSR sums PDB.VXBYUSR to create one obs
for each interval for each machine, counting configured
(ENGCONFG) and online (ENGONLIN) engines.
-Variables VMDVTMP VMDTTMP VMDVTMS VMDTTMS are correctly
deaccumulated with this change.
Thanks to Ron Lewis, State Street Bank, USA.
Change 29.088 These "user id" variables are added to TMDBDB2 dataset
VMACTMDB DBHCEUID DBHCEUTX DBHCEUWN
Apr 12, 2011 (and should have been added a long time ago!).
Thanks to Patricia Abel, Regie des rentes du Quebec, CANADA.
Thanks to Liliane Paquet, Centre de services partages Quebec, CANADA.
Change 29.087 Comments in IMACIMS7 and IMACIMS7 for _IMSVERS values are
IMACIMS inconsistent; 10.1 or 11.1 were listed, but the values
Apr 12, 2011 needed are only 10.0 and 11.0 (so the misleading values
worked fine!).
And Change 28.311 did not change the datasets created;
that change only restructured the internal IMS processing
code to separate and then recombine the TM and DBCTLs.
Thanks to Daniel Strgarsek, SAS Institute, GERMANY.
====== Changes thru 29.086 were in MXG 29.03 dated Apr 11, 2011========
Change 29.086 The QA conflict report from DOCVER showed SYSTEM was $8
ANALID in PDB.SMFRECNT, but SYSTEM is always $4. After 2 hours
Apr 10, 2011 of tests with inserted PROC CONTENTS, I found it only
occurred when there were no observations in TYPEID, which
is normal for the QASAS job that creates DOCVER, and then
remembered that when the old PROC FREQ was replaced with
the enhanced ANALID (with PROC TABULATE to capture both
counts and bytes), an extra step was needed to create the
PDB.SMFRECNT (because PROC TABULATE didn't, with no obs),
and finally found the statement SYSTEM=' '; that
should have been SYSTEM=' '; to set its length to $4.
Change 29.085 -Revision to limit search to the LIBNAME requested and a
VMXGSRCH missing semicolon was inserted, although no syntax error
Apr 10, 2011 was reported.
-If VARS= is specified without VALUE=, the results are the
list of datasets that contain that variable.
Change 29.084 -Temporary dataset MXGENG is now deleted by VGETENG.
VGETENG -Variables QWHSACE QWHSMTN QWACACE ACE are now consistent
VMACDB2 LENGTH 5 and FORMAT HEX8 addresses, QWARACE is LENGTH 8
VMAC102 and FORMAT HEX16 in VMACDB2/VMACDB2H/VMAC102.
VMACDB2H -Variables TOKLEN and TOKVERS in VMAC80A are labeled.
VMAC80A -Variable CTGAPPLQ is labeled, comments for CTGAPLID now
VMAC111 match in VMAC111.
Apr 10, 2011
Thanks to Chris Weston, SAS/ITRM Development, USA.
Change 29.083 -Variable QWAXOTSE was added twice in three places; it was
ANALDB2R not detected because it was zero in the test SMF data.
Apr 9, 2011 -May 1: The formula for calculating the average time (per
May 1, 2011 thread) that was "not accounted for" was revised, thanks
to this equation provided by IBM DB2 Support in response
to a customer PMR, i.e., the Class 2 Elapsed times minus
the sum of Class 2 CPU and Class 3 Suspension durations:
AVG=(
/*** CLASS 2 ELAPSED ***/
SUM(QWACASC+QWACSPEB+QWACUDEB+QWACTRET+QWACTREE,0)
/**** CLASS 2 CPU ****/
-SUM(QWACAJST,QWACSPTT,QWACUDTT,QWACTRTT,QWACTRTE,0)
/**** CLASS 3 SUSPENSIONS ****/
-SUM(QWACAWTL,QWACAWTI,QWACAWTR,QWACAWTW,QWACAWTE,
QWACALOG,QWACAWAR,QWACAWDR,QWACAWCL,QWACAWTP,
QWACCAST,QWACAWTG,QWACAWTJ,0))/THREADS;
-The Accounting Trace Reports had many fields missing in
the headers because they had not been listed in the
SORTBY= arguments.
-For the ACCOUNTING reports, selection was not being done.
If you specified DB2=DB20 you still got all of the data
for all of the subsystems.
Thanks to Neil Ervin, Wells Fargo Bank, USA.
Change 29.082A Using PDB.ASUMCEC/PDB.ASUMCELP is STRONGLY RECOMMENDED
ASUM70PR because PDB.ASUM70PR/ASUM70LP CAN BE TERRIBLY WRONG for
Apr 9, 2011 many of the LPAR-Specific Variables, when IRD is active
and/or Hiperdispatch is enabled. In those environments,
only the "LPn" variables for the "THIS LPAR" observation
(i.e., "THIS SYSTEM") in "SYSTEM-LEVEL" ASUM70PR/ASUM70LP
datasets are always valid. These LPAR-Specific variables:
LPnNRPRC LPnDUR LPnLAC LPnONT LPnPAT LPnWST
LPCTnBY LPCTnOV
LPnZIUTM LPnZIKTM LPnIFUTM LPnIFKTM
will be WRONG in the ASUM70PR/ASUM70LP observations from
the "OTHER LPARs", because those LPAR-Specific variables
are based on SMF70ONT/SMF70PAT, which are ONLY valid in
the "THIS LPAR" observation.
This PROC PRINT shows the six ASUM70PR observations from
each of six SYSTEMs, with the set of LPAR-Specific fields
for LPAR 2 (SYSA). You can see that ONLY the observation
in ASUM70PR for SYSTEM=SYSA, the "THIS LPAR, THIS SYSTEM"
observation, are valid and match the ASUMCEC observation:
(Note that not ALL of the variables are WRONG!).
SYSTEM LP2NAME LP2DUR LP2UPDTM LP2UEDTM LP2MGTTM
******
SYSK SYSA 6:00:00.01 1:21:32.11 1:21:00.97 0:00:31.14
SYSA SYSA 2:33:48.28 1:21:31.41 1:21:00.27 0:00:31.14
SYSC SYSA 6:00:00.43 1:21:32.38 1:21:01.24 0:00:31.14
SYSD SYSA 6:00:00.30 1:21:32.50 1:21:01.36 0:00:31.14
SYSG SYSA 6:00:01.16 1:21:32.21 1:21:01.07 0:00:31.14
SYST SYSA 6:00:00.09 1:21:32.20 1:21:01.07 0:00:31.14
ASUMCEC: SYSA 2:33:48.28 1:21:31.41 1:21:00.27 0:00:31.14
SYSTEM LPCT2BY LPCT2OV PCTL2BY PCTL2OV LP2NRPRC LP2BDA
******* ******* ********
SYSK 22.64 0.14416 22.6486 0.14416 6.0 8
SYSA 53.00 0.33744 22.6521 0.14421 2.6 8
SYSC 22.64 0.14416 22.6495 0.14416 6.0 8
SYSD 22.65 0.14417 22.6502 0.14417 6.0 8
SYSG 22.64 0.14416 22.6479 0.14416 6.0 8
SYST 22.64 0.14416 22.6490 0.14416 6.0 8
ASUMCEC: 53.00 0.33744 22.6454 0.14416 2.6 8
SYSTEM LP2SHARC LP2SHARE LP2LAC LP2MSU LP2MSUHR
******
SYSK 16.2389 13 . 129.378 129.378
SYSA 16.2420 13 29.2360 129.360 129.398
SYSC 16.2389 13 . 129.385 129.383
SYSD 16.2389 13 . 129.388 129.387
SYSG 16.2389 13 . 129.381 129.374
SYST 16.2389 13 . 129.381 129.380
ASUMCEC: 16.2420 13 29.2360 129.360 129.360
SYSTEM LP2CSF LP2ONT LP2WST LP2ZIPTM
****** ******
SYSK 10G 6:00:00.01 3:59:14.35 0.00:18.94
SYSA 10G 2:33:47.23 0:33:06.46 0.00:18.94
SYSC 10G 6:00:00.43 3:59:15.35 0.00:18.94
SYSD 10G 6:00:00.30 3:59:15.46 0.00:18.94
SYSG 10G 6:00:01.16 3:59:15.21 0.00:18.94
SYST 10G 6:00:00.09 3:59:14.81 0.00:18.94
ASUMCEC: 10G 2:33:47.23 0:33:06.46 0.00:18.94
SYSTEM LP2ZIUTM LP2ZIKTM LP2ZIWTM
******** ******** ********
SYSK 2:00:00.00 . 1:59:41.11
SYSA 1:59:57.87 0:00:00.00 1:59:38.98
SYSC 2:00:00.14 . 1:59:41.25
SYSD 2:00:00.10 . 1:59:41.20
SYSG 2:00:00.39 . 1:59:41.49
SYST 2:00:00.03 . 1:59:41.13
ASUMCEC: 1:59:57.87 0:00:00.00 1:59:38.98
The non-LPAR-Specific variables ARE VALID; it's ONLY the
variables identified above that can be WRONG.
-And, for ASUMCEC to ALWAYS BE RIGHT, you MUST have READ
the PDB.TYPE70PR observations FOR ALL LPARS (ALL SYSTEMS)
as input to ASUM70PR when you create PDB.ASUMCEC/CELP.
-This change was ONLY documentation; no code was changed.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 29.082 The default ASUM70GC/ASUM70GL interval was hard coded at
VMXG70PR HOUR, which matched the default for ASUMCEC/ASUMCELP, but
Apr 9, 2011 now INTERVAL=&CECINTRV is used so the group data interval
matches the CEC interval data, if you change CECINTRV.
With hindsight, these two datasets should have been named
ASUMCEGC and ASUMCEGL because both are summarized at the
CEC level (e.g., by CECSER, and NOT by SYSPLEX SYSTEM),
but it's too late to change dataset names now.
-New variable MAX70NSW, the maximum percent of time when
the LPAR was soft-capped, is now created in PDB.ASUM70GL,
as the hourly average in SMF70NSW could mask intervals
that were capped.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 29.081 -Support for SMF 120 Subtype 9 User Field SM1209FH creates
VMAC120 that variable in dataset TYP1209E. While up to 5 user
VMXGINIT segments of 2048 bytes each per record can be created,
Apr 8, 2011 this change keeps only the first segment, and only the
Nov 8, 2011 first 12 bytes of the optional field are kept in SM1209FH
although temporary variable SM1209F input all 2048 and is
to be used as the source of SM1209FH, which can contain
HEX, EBCDIC or ASCII text. The MXG default is ASCII, to
match the original test data that was received, but that
can be tailored if you have EBCDIC or HEX data values.
-Variable SM1209FB is the data length in SM1209FH, and the
variable SM1209FF contains the user-chosen datatype, and
temporary variable SM1209F was input with $VARYING2048.,
so if your 12-bytes were EBCDIC instead of MXG's ASCII
default, then you would insert this statement
SM1209FH=INPUT(SM1209F,$EBCDIC12.);
in your EXT1209E to input the text as EBCDIC, and/or
you could use your installer's chosen SM1209FF datatype
value to conditionally input as ASCII/EBCDIC/SUBSTR/etc.
-The length of a character variable can NOT be changed in
a dataset exit member EXddddd. Only numeric variables
can have their length changed in a dataset exit member,
as SAS uses the first instance for character length and
the last LENGTH statement for numeric variables.
-The existing IMACFILE/MACFILE exit is taken before the
LENGTH statements in all VMACs are compiled, so it could
be used to change length of SM1209FH with this syntax:
//SYSIN DD *
%LET MACFILE= %QUOTE( LENGTH SM1209FH $40; );
%INCLUDE SOURCLIB(BUILDPDB);
in the job that reads the SMF 120 records. However that
is not the real purpose of the IMACFILE exit, and it may
already exist for record selection, and the insertion of
the LENGTH statement could cause non-fatal messages with
UNINITIALIZED VARIABLE SM1209FH if the program that is
%INCLUDEd doesn't process SMF 120 records. Using MACFILE
is totally slick but not righteous; there's a better way.
-Nov 8: This change creates macro variable &VARSM1209FHLN
in VMXGINIT and uses it LENGTH SM1209FH $&VARSM1209LN;
in VMAC120, so that the default of 8 can be more easily
changed (for example, to $40) and converted to EBCDIC:
//SYSIN DD *
%LET MACKEEP=
%QUOTE (
MACRO _ET1209E
SM1209FH=INPUT(SM1209F,$EBCDIC12.);
%%
);
%LET VARSM1209FHLN=12;
%INCLUDE SOURCLIB(BUILDPDB);
-Nov 8: Change text was completely rewritten.
Thanks to Larry Gray, Lowe's Companies, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 29.080 -New variables from Meral's excellent SHARE paper at
VMAC113 http://share.confex.com/share/116/webprogram/authort.html
Apr 7, 2011 are created in TYPE113 and ASUM113 datasets:
Apr 19, 2011 DWINSORM='DIR WRITES*L1 INST CACHE*FROM REMOTE'
DWDASORM='DIR WRITES*L1 DATA CACHE*FROM REMOTE'
with different equations for z10 vs z196 calculation.
-These original z10 counters were defined as:
EXTND128='DIRWRIT*TO L1-I*RETURNED*FROM L2'
EXTND129='DIRWRIT*TO L1-D*INSTLD*FROM L2'
but the z196 reversed contents so the labels are changed
EXTND128='DIRWRIT*TO L1-D*RETURNED*FROM L2'
EXTND129='DIRWRIT*TO L1-I*INSTLD*FROM L2'
with the Data count in 128 and the Instructions in 129.
Since there is no way to have two different labels for
the same SAS variable, I chose to use the z196 choice,
hoping z10 users will find this note. Fortunately, all
calculations use the sum of this pair of counters, so the
impact is minor unless you are looking in great detail
level for the old z10 processor.
Apr 19: SM113DOL corrected to SM113DON.
Thanks to Meral Temel, Garanti Teknoloji, TURKEY.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 29.079 MXG will now ABEND if SMFTIME is invalid. Occasionally,
VMACSMF using the SAS ftp access method, SAS would stop after
Apr 7, 2011 writing a horrendous SAS log (6 MILLION PAGES, not lines)
of MXG messages "FIRST RECORD IN GROUP SYSTEM= SMFTIME=".
The rerun was always successful, suggesting the error is
in the ftp Server, but this enhancement will stop the MXG
job by detecting that missing value in SMFTIME.
SAS was executing under Windows/XP with Service Pack 3.
Thanks to Bruce Orr, U.S. Customs and Border Protection, USA.
Change 29.078 Support for OS/400, AS/400, Version 7.1 INCOMPAT (due to
FORMATS IBM change in the LRECL for QAPMDISK file to 539).
VMACQACS Only the QAPMCONF/QAPMDISK/QAPMJOBL/QAPMPOLL/QAPMSYSL
Apr 7, 2011 files have been validated with 7.1 records, so it is
possible other files may also be INCOMPATIBLE. There
are also a number of new files that are not supported,
until a user needs those data and provides test files.
-Dataset QAPMCONF, new variables:
GDESF1T GDESF1S GDESFT GDESG1- GDESG9 GDESGA
GDESHT GDESMT GDESPF
and new formats are created in FORMATS member, so that
you must update your format library.
-Dataset QAPMCONF, new variables
DSPTROP DSPTWOO DSWWWNN
In addition, variable DSIOARN was documented and INPUT as
$EBCDIC15., but data in the records show only 10 bytes so
the INPUT was reduced and PMR was opened with IBM Support
to determine the true length of the field.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to David Bixler, FISERV, USA.
Change 29.077 -Executing z/OS under z/VM caused MXG to print 3 messages:
VMAC7072 MXGNOTE:CPUID SECTION ERROR. INVALID RECORD ... DELETED.
Apr 2, 2011 but the TYPE70 observation had already been output in the
TYPE70SP dataset (thanks to the "Split 70s" redesign, so
nothing was lost). Under z/VM, the CPUID segment of the
RMF 70 record does not exist. The revised message reads:
MXGNOTE: RMF70 CPUID SECTION DOES NOT EXIST
THIS IS NORMAL IF z/OS IS EXECUTING UNDER Z/VM.
OTHERWISE THIS IS AN INVALID RMF 70 RECORD.
-Prior to z/OS 1.12, the PRCS/PRDS segments of the RMF
70 record did not exist when z/OS was run under z/VM.
But in z/OS 1.12, APAR OA35675 captures the CPU dispatch
time of both the z/OS partition and the z/VM "overhead".
See Change 29.127 which added support for that APAR.
-On the topic of z/OS under z/VM, past Newsletters noted:
- To construct the configuration and recording of TYPE78
data, RMF must read the IOCDS data set, but under z/VM,
the IOCDS is not available to z/OS, so some type RMF 78
records will not exist.
- Under z/VM, the RMF I/O Queueing Activity Report shows
only the static configuration data.
-And IBM's Running Guest Operating Systems documents that:
-When you analyze the z/OS environment, remember that
you have two operating systems running in a single
processor. Both z/VM and z/OS are vying for the basic
system resources, such as processor, I/O, storage, and
paging. Each is generating its own accounting
information, and each is supplying its own performance
information.
-Remember that z/OS is unaware that it is running as a
guest under z/VM. What the z/OS guest thinks is
real-time is actually the time-of-day clock and
processor timer facility. Elapsed time as measured by
the time-of-day clock is accurate. The guest's virtual
processor timer (VPT) runs whenever the guest is
dispatched or is in a voluntary wait state. It does not
run if the guest is in a CP wait state. Thus, when z/VM
dispatches another virtual machine and later dispatches
the z/OS guest, z/OS does not realize it had stopped
running.
-Information about guest system performance is
frequently published in Washington System Center
flashes. Contact your marketing team for obtaining
flashes that pertain to your particular installation.
-And IBM's RMF Programmer's Guide documents for z/VM:
-Partition Defined Capacity Used Percent is zero.
-And IBM's RMF Reports Manual documents for z/VM:
-When Channel Path Measurement Facility (CPMF) is not
available, for example, on z/OS systems running as z/VM
guests, RMF uses sampled data from SRM so that the
reported channel utilization is only an approximate
value. With increasing channel speed, the channel
utilization value becomes more and more inaccurate.
Therefore, in such cases, RMF does not provide accurate
values of FICON channel utilization. Beginning with
z990 processors, the channel data from SRM is no longer
available. As a result, the channel utilization data on
a z/OS system running as z/VM guest, is not reported.
-In the DEV and DEVV reports, LCU will be blank if this
is a non-dedicated device in a z/VM guest system
environment.
-Running in a z/VM guest environment, these RMF reports:
Partition Data Report
LPAR Cluster Report
Group Capacity Report
do not exist (because TYPE70PR has zero observations).
Dataset TYPE70 variable VMSYSTEM='Y' for z/OS under VM.
-For the CPU Activity Report:
If RMF is running as a guest under z/VM, it only reports
the z/OS busy time percentage. If you want to measure
partition utilization (as well as the individual CPU
utilization of the single guests, namely LPAR busy time
percentage), you need to use a z/VM monitor.
Thanks to MP Welch, Aprize, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 29.076 CICS CPUTM can significantly exceed ELAPSTM if you have
VMAC110 "knee-capped, i.e. slow" CP engines with zIIP/zAAPS.
Apr 1, 2011 The specific case had CPUTM=25 and ELAPSTM=5 on a CP with
a zAAP that was 10 times faster (or that CP was 10 times
slower!). CICS Support responded to the PMR documenting
that CICS uses the TIMEUSED macro to capture CPU time:
"Note: TIMEUSED returns normalized CPU time. Some
servers are configured with System z(TM) Application
Assist Processors (zAAPs) or IBM System z9® Integrated
Information Processor and IBM System z10(TM) Integrated
Information Processors (zIIPs), which run at a faster
speed than the normal CP processors. In this case,
zAAP time and zIIP time is normalized to the equivalent
time it would take to run on a normal CP when
accumulated into total CPU time. "
The specific case had CPUTM=25 and ELAPSTM=5 on a machine
with a zAAP that was 10 times faster (or a CP that was 10
times slower!), which printed a recently added MXG ERROR
message "CPUTM MUCH LARGER THAN ELAPSED". This message
was added to enhance MXG's detection of mis-aligned SMF
records when CICS fields were excluded or optional fields
were added. Previously, the only way for MXG to catch
mis-alignment was to test that TASKNR was a valid packed
decimal or that STRTTIME was a missing value, but both of
those fields are at the beginning of the segment, and
some combinations of EXCLUDEd fields with optional data
segments passed those tests as the record was read, but
the CICSTRAN dataset contained invalid values for fields
later in the record, but that was only after the MXG job
had completed and the user analyzed the data. This test
was added for more robust detection, but the original was
only for CPUTM GT 2*ELAPSTM, which in this specific case
was a spurious ERROR message. I have changed the test to
CPUTM GT 10*ELAPSTM and added a note in the message that
this could be normal if you have knee-capped CP engines.
-These CPU time variables in CICSTRAN recorded those 25
Normalized CPU seconds: TASDSPTM (USRCPUT), KY8CPUTM,
L8CPUTTM, and the total CPUTM, for this transaction that
obviously spent some serious time on the zAAP engine.
Thanks to Hugo L. Michel, Prince Georges County, MD, USA.
Thanks to Dan Zachary, IBM CICS Support, USA.
Change 29.075 -Support for NTSMF's 62 new objects and 1425 new metrics.
EXNTD001 And, a MAJOR redesign in MXG architecture, isolated now
EXNTD062 to the NTSMF product support, but a possible harbinger
IMACNTSM of future MXG support: DATASET NAMES UP TO 32 CHARACTERS,
VMACNTSM with that dataset name being the OBJECT name (with blanks
VMXGINIT and periods changed to underscores). The "dddddd" dataset
Mar 31, 2011 tokens for the new datasets are "NTD001-NTD062", and the
VMXGINV variable/metric names use the D001 part of the dddddd
UTILVREF token as their prefix, and are sequentially numbered,
e.g. D0010001-D00010008 are the 8 variable names for the
dataset with NTD001:_NET_CLR_NETWORKING, and the labels
for the metrics are the metric name, shortened to forty
characters with asterisks inserted for the SPLIT='*' SAS
operand (to split labels when printing).
Previously, I created unique dataset names and variable
names that were arbitrarily limited to 8 characters, but
this design was implemented by the MAKENTSM code member
that programmatically generates all of the structural
code that is then cut/pasted to add the new datasets and
their exit members. The _UNTDISC utility provides the
cut and paste text for the metric names, that become the
labels for each variable; that is (and will always be) a
manual process, as that's how I discover what new metrics
are created, and get an understanding of each new object.
It is also where the conversion of values to be
consistent (like converting KB fields to bytes) and
assignment of MXG formats (like MGBYTES to those
converted fields, both for the "print pretty" aspect, but
more importantly, to document (in PROC CONTENTS) the
variables that contains storage units) that requires
human knowledge is done. The new objects are listed in
IMACNTSM rather than here!
-The increase of DATASET name required revisions to the
internal programs VMXGINV and UTILVREF that create the
DOCVER members; for datasets with names longer than 9,
DOCVER now has two lines, one for the DATASET name and
a second line for the DATASET label. Additional updates
were needed in a number of the internal QA programs to
support the longer dataset names.
Change 29.074 MXGWARM: MORE THAN 20 DUPLICATE LABELS, for TYPE8224 with
VMAC82 SMF82DCN, MORE THAN 20 UNAUTH DUPE for TYPE8225 are notes
Mar 30, 2011 that you had more than the 20 I thought was enough. With
a max of 36 now observed, I've increased to 40 the number
of these variables that are kept in the two datasets.
But, with MXG's default of COMPRESS=YES, why have any
limit at all: there really isn't any real cost of DASD
space, if the extra variables are all blanks.
If this is really a normal need, to know each of the
instances of the duplicate KEY, when there might be more
than 40, then MXG would create a new dataset with one
observation per instance, and free itself from any
array-size constraints!
Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.
Thanks to Alan Yang, Citibank N.A., SINGPORE
Change 29.073 Documentation comments (ONLY) were updated to show how
READDB2 to create ONLY the PDB.DB2STATS dataset, with no other
Mar 28, 2011 datasets written to the PDB library. It should also be
noted that, to create observations in PDB.DB2STATS, both
DB2STAT0 and DB2STAT1 must have observations; DB2STAT4
can have zero observations.
Thanks to Jane S. Stock, USPS, USA.
Change 29.072 -Documentation comments (ONLY) were updated to show how
UTILBLDP the MACFILEX argument can be used to skip unwanted SMF
Mar 28, 2011 records and subtypes.
Apr 7, 2011 -Some MXGWARN were changed to MXGNOTE and text revised.
Thanks to Nicholas Ward, CentreLink, AUSTRALIA.
Change 29.071 Support for Throughput Manager subtypes 10 and 16 records
EXTPM10 creates new datasets:
EXTPM16S dddddd Dataset Description
EXTPM16J TPM10 TPM10 Description
IMACTPMX TPM16S TPM16S Step Termination
VMACTPMX TPM16J TMP16J Job Termination
VMXGINIT
Mar 28, 2011
Change 29.070 Replaced by Change 29.220.
Mar 24, 2011
Change 29.069 The DB2 Report of TOP users of resources was revised to
ANALDB2T report separately for each DB2 SubSystem.
Mar 24, 2011
Thanks to Ron Wells, American General, USA.
Thanks to Rick Brooks, American General, USA.
Change 29.068 MXG 28.28-29.02. Many ABEND='JCL' jobs had ABEND=' '
BUILD005 and all variables from TYPE26J2 were blank or missing in
Mar 24, 2011 the PDB.JOBS dataset. Change 28.304 unintentionally
output all TYPE26J2 obs with SYSEXEC LE ' ' to the
PDB.NJEPURGE dataset, so they were not used to build the
PDB.JOBS obs. Instead, only the Purge records that have
INREASON IN ('JR','JT','SR') AND SYSEXEC LE ' '
are (now, correctly) output in PDB.NJEPURGE. Fortunately
since purge records with SYSEXEC LE ' ' did NOT execute,
there was no actual loss of resources, except for the
counting JCL errors.
Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.
Change 29.067 RACF UNLOAD utility dataset RACF0270 (OMVS) decodes these
VMACRACF ten variables for UID limits:
Mar 28, 2011 ASSIZEMAX ='MAXIMUM*ASID SIZE FOR UID'
CPUTIMEMAX ='MAXIMUM*CPU TIME*FOR UID'
FILEPROCMAX='MAXIMUM*CTIVE/OPEN FILES*FOR UID'
MEMLIMIT ='MAXIMUM*SIZE OF*NON-SHARED*MEMORY'
MMAPAREAMAX='MAXIMUM*MAPPABLE STORAGE*FOR UID'
PROCUSERMAX='MAXIMUM*PROCESSES*FOR UID'
SHMEMAX ='MAXIMUM*SIZE OF*SHARED*MEMORY'
THREADSMAX ='MAXIMUM*THREADS*FOR UID'
Thanks to Ed Webb, SAS Institute, USA.
Change 29.066 Duplicate formats $MG119SU were sourced in FORMATS; the
FORMATS last read was used correctly. The first is now $MG119ST
VMAC119 and is used to decode SSH_FSCMD, SSH FTP Subcommand.
Mar 16, 2011
Thanks to MP Welch, Aprize, USA.
Change 29.065 SMF 111 CTG variable CTGAPLID is conditionally INPUT for
VMAC111 dataset TY111CXI, but always INPUT for TY111GD dataset;
Mar 16, 2011 when it existed in GD but not in CXI, but only when the
GD segment preceded the CXI segment in a physical record,
the value from the GD segment was carried forward into
the CXI dataset. Now, the value is blanked after output
in the GD segment to prevent being carried forward.
Thanks to Gordon E. Griffith, Edward D. Jones, USA.
Thanks to Jim Poletti, Edward D. Jones, USA.
Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
Change 29.064 The INFILE Exit for Compressed CICS and DB2 records did
EXITCICS not always work, sometimes causing an I/O Error message.
Mar 16, 2011 Code that had been moved in testing was restored.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 29.063 Support for CICS/TS 4.2 was available in MXG 29.03, but
UTILEXCL was announced in Change 29.135. This change was Reserved
VMAC110 until the product became GA on June 24.
Mar 15, 2011 These new variables are added to the CICSTRAN dataset:
Apr 2, 2011 ECSEVCCT='SYNCHRONOUS*EMISSION*EVENTS'
Jun 24, 2011 OADID ='ORIGINATING*ADAPTER*ID'
OADATA1 ='ORIGINATING*ADAPTER*ID*DATA 1'
OADATA2 ='ORIGINATING*ADAPTER*ID*DATA 2'
OADATA3 ='ORIGINATING*ADAPTER*ID*DATA 3'
PHNTWKID='PREVIOUS*HOP*DATA*NETWORKID'
PHAPPLID='PREVIOUS*HOP*DATA*APPLID'
PHSTARTM='PREVIOUS*HOP*TASK*STARTIME'
PHSTARCN='PREVIOUS*HOP*TASK*STARTS'
PHTRANNO='PREVIOUS*HOP*DATA TRANS*SEQ NR'
PHTRAN ='PREVIOUS*HOP*DATA*TRANSACTION*ID'
PHCOUNT ='PREVIOUS*HOP*DATA*COUNT'
-UTILEXCL needed revisions because new fields inserted in
the middle of the record that were unknown to UTILEXCL
were not correctly handled in the prior UTILEXCL, which
created an IMACEXCL that had syntax errors that could be
visibly seen (the IBM field after the (last) new field
was NOT preceded by an INPUT statement.) This was NOT
an incompatibility with CICS/TS 4.2, but using the prior
UTILEXCL with CICS/TS 4.2 dictionary records did cause
the syntax error when that new IMACEXCL was used.
-New Statistics STID=19, Dataset CICSMD, exactly the same
fields as STID=6 in this iteration.
-New Statistics STID=20, Dataset CICSMT, exactly the same
fields as STID=5.
-New Statistics STID=29, existing Dataset CICSMDSA
SMSVABYT='ALLOCATED TO*PRIVATE*MEMORY*OBJECTS'
SMSVHBYT='HIDDEN IN*PRIVATE MEMORY*OBJECTS'
SMSVGBYT='HWM USABLE*IN*PRIVTE MEMORY*OBJECTS'
SMSPMOBJ='PRIVATE*MEMORY*OBJECTS'
SMSFGFAI='FROMGUARD*FAILURES'
SMSFGBYT='FROMGUARD*FAILURE*SIZE'
SMSSHBYT='SHARED*FROM*LARGE MEMORY*OBJECTS'
SMSHSBYT='HWM SHARED*IN*LARGE MEMORY*OBJECTS'
SMSSHOBJ='SHARED*MEMORY*OBJECTS'
SMSASPMO='AUX*SLOTS*BACK*64-BIT*PRIVATE*MEMORY'
SMSHSPMO='HWM AUX*SLOTS*BACK*PRIVATE*MEMORY'
SMSRFPMO='REAL FRAMES*BACK*64-BIT*PRIVATE*MEMORY'
SMSHRPMO='HWM REAL FRAMES*BACK*PRIVATE*MEMORY'
SMSLMOBJ='LARGE*MEMORY*OBJECTS'
SMSLPINR='LARGE PAGES*BACKED IN*REAL STORAGE'
-New fields in STID=48, Dataset CICTSQ:
A12TSQDL='QUEUES*AUTO*DELETED'
A12TSCTR='CLEANUP*TASK*RUNS'
-New fields in STID=142, Dataset CICEPG:
EPGEVLNO='EVENT*LOST*NO*ADAPTER'
Change 29.062 -UNKNOWN OPTION VNVERR should have been spelled VNFERR in
ASUMUOWT VMXGUOW. The error only occurs when ASUMUOWT is used for
VMXGUOW TMON CICS input. ASUMUOWT was not called in MXG QA job
Mar 15, 2011 or I would have caught this typo; that will be corrected.
Mar 18, 2011 -Debugging option TRACEUOW(YES) was left on in ASUMUOWT,
causing many thousands of lines FIRST.UOWICCHR= ...
to be printed on the log.
Thanks to Frank Lund, EDB ErgoGroup, NORWAY.
Change 29.061 Variables PCTZAPBY, PCTZALBY, PCTZIPBY, PCTZILBY are
VMACRMFV added to dataset ZRBCPU. These represent the Physical
Mar 13, 2011 and Logical Busy Percentage for ZAAP and ZIIP engines
respectively.
Thanks to Rodger Foreman, Acxiom, USA.
Change 29.060 Two calculations for z196 Est Finite CPI and Est SCPL1M
ASUM113 were revised by John Burg in his March SHARE session:
VMAC113 IF BASIC01 GT 0 THEN DO;
Mar 13, 2011 ESTFINCP=((BASIC03+BASIC05)/BASIC01)*(.57+(0.1*RNI));
END;
IF SUM(BASIC02,BASIC04,0) GT 0 THEN DO;
ESTSCP1M=((BASIC03+BASIC05)/(BASIC02+BASIC04))*
(0.57*(0.1*RNI));
END;
Change 29.059 Support for Beta 93 Version 4.2 new subtypes 25 and 50
EXTYBETF creates two new datasets:
EXTYBETG dddddd Dataset Description
IMACBETA TYBETF BETA25 93 SPOOL ACCESS
VMACBETA TYBETG BETA50 93 WEB BROWSER LOGON/LOGOFF
VMXGINIT
Mar 13, 2011
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 29.058 Variable CPUCEPTM is now set to a missing value in all of
VMAC30 the datasets that contain it (TYPE30_4,TYPE30_V,TYPE30_5,
Mar 11, 2011 PDB.STEPS,PDB.JOBS, where it was flat out WRONG, and in
PDB.SMFINTRV, where it was validly deaccumulated, but is
not needed). The error, starting in Change 22.326, was
that CPUCEPTM was an ACCUMULATED CPU time and was NOT the
CPU time of the interval, step, or job. In Change 22.326
MXG did deaccumulate it, but only in PDB.SMFINTRV, and in
that process, lost the value of the first interval. IBM
corrected their error, creating a new deaccumulated field
MXG variable CPUCIPTM, added in Change 23.329, which was
kept in all of the above datasets since that 2006 change.
But then in 2007, forgetting that it was completely wrong
I carelessly kept it in PDB.STEPS and PDB.JOBS. While it
might be better to just remove the variable, it is safer
to now set CPUCEPTM to a missing value, and hope/presume
that if/when you notice it is missing, that you will have
first searched CHANGESS and will have found this text to
tell you to use CPUCIPTM instead. Note that CPUCIPTM is
already contained in CPUTCBTM so you would only even want
to use it when examining the components of CPUTCBTM.
An obscure comment in VMAC30 notes that the variables
CPUASRTM CPUENCTM CPUDETTM CPUIFETM CPUEFETM CPUDFETM
and CPUCIPTM are all included in CPUTCBTM.
Thanks to Alfred Holtz, Medco, USA.
Thanks to Charles D'Angelo, Medco, USA.
Thanks to Alex Pasterick, Medco, USA.
Change 29.057 Support for Websphere for z/OS MQ Version 7.0.1 (COMPAT).
EXTY116C -SMF 115 record, dataset MQMMSGDM, new variables:
IMAC116 QMSTPUBS QMSTSTUS QMSTSUB QMSTSUBR QMSTTCB QMSTTCTL
VMAC115 QTSTETHW QTSTETTO QTSTPHIG QTSTPLOW QTSTPNOS QTSTPTO1
VMAC116 QTSTPTO2 QTSTPTO3 QTSTSDUR QTSTSEXP QTSTSHI1 QTSTSHI2
VMXGINIT QTSTSHI3 QTSTSLO1 QTSTSLO2 QTSTSLO3 QTSTSPHW QTSTSTOT
Mar 12, 2011 QTSTTMSG
Apr 19, 2011 -SMF 116 record, datasets MQMACCT1 and MQMQUEUE:
New variables added from both WQ and WTAS segments:
WTASCTCT WTASCTET WTASCTN WTASCTSR WTASSQCT WTASSQET
WTASSQN WTASSTCT WTASSTET WTASSTN WTASSUCT WTASSUET
WTASSUN WTASSUSC WTASSUSL
WQCBCT WQCBET WQCBN WQCLCFD WQCLSUET WQCLSUN
WQCLTOSR WQOPCFD WQOPSUET WQOPSUN WQOPTOSR WQP1TOSR
WQPUBCN WQPUTOSR WQSELCOU WQSELMXL
New MQCFSTAT dataset has one obs with these 5 variables
WQCFCOUN &PIB.4. /**TIMES*IN THE*ROUTINE*/
WQCFSYCN &PIB.4. /**SYNC*REQUESTS*/
WQCFSYET &PIB.4.6 /**SYNC*ELAPSED*TIME*/
WQCFASCN &PIB.4. /**ASYNC*REQUESTS*/
WQCFASET &PIB.4.6 /**ASYNC*ELAPSED*TIME*/
with those statistics for the Coupling Facility, if used,
for each of the five MQ Verbs (variable WQVERB);
OPEN CLOSE GET PUT PUT1
and for each of the thirteen MQ requests (WQREQSTY):
LOCK UNLOCK WRITELC SIGXCF SIGCF READ
WRITE STARTMON STOPMON NEW MOVE MOVEENT
DELETE
but observations are ONLY created in MQCFSTAT if there
are non-zero counts in one of the statistics variables.
Apr 19: VMAC110 QJSTDRE1/3 corrected to QJSTDRQ1/3
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 29.056 Support for MainView MQ (MVMQ) Version 4.4 (INCOMPAT);
VMACBBMQ MXG code had not been updated since 2007 and many new
Mar 13, 2011 fields were inserted in 'E6'x (dataset BBMQQUES) record,
the 'E5'x (dataset BBMQCHAN) record was completely
revised with several new fields, and the 'E1'x (dataset
BBMQQMGR) had new fields added at the end. The VERSREL
value in the 4.4 records contains 4.2, so the logic to
detect MVMQ Version was change to use the Length ENTL
field. This iteration suppresses checking for compress
bit while EXITMNVW is examined for possible error.
Thanks to James Swwinarski, Credit-Suisse, SWITZERLAND.
Change 29.055 JCLUOWV, an example to read DB2 & CICS data that creates
JCLUOWV PDB.ASUMUOW using SAS Views was altered by Change 28.220
Mar 9, 2011 but undocumented; the default ASUMDB2x members that were
%INCLUDed were changed, creating different PDB.ASUMDB2x
datasets. While any or all of the ASUMs are optional, it
was not my intent to create different datasets, so the
default original ASUMs are restored, with this note:
/*ANY OR ALL OF THE BELOW SUMMARIZING ASUMDB2X ARE OPTIONAL. */
/*THE PAIR INCLUDED BY DEFAULT ARE THE ORIGINAL PAIR, KEPT FOR */
/*CONSISTENCY, BUT AS ASUMDB2P CAN BE VERY EXPENSIVE, YOU MIGHT*/
/*NOT WANT TO EXPEND THOSE RESOURCES TO SUMMARIZE PACKAGES, AND*/
/*YOU MIGHT FIND SUMMARIZING DB2STATS WITH ASUMDBSS TO BE BOTH */
/*USEFUL AND CHEAP (SINCE THOSE ARE INTERVAL DATASETS). */
%INCLUDE SOURCLIB(ASUMDB2A); /*BUILD PDB.ASUMDB2A FROM DB2ACCT*/
%INCLUDE SOURCLIB(ASUMDB2P); /*BUILD PDB.ASUMDB2P FROM DB2ACCTP*/
/*%INCLUDE SOURCLIB(ASUMDB2B); BUILD PDB.ASUMDB2B FROM DB2ACCTB*/
/*%INCLUDE SOURCLIB(ASUMDB2G); BUILD PDB.ASUMDB2G FROM DB2ACCTG*/
/*%INCLUDE SOURCLIB(ASUMDBSS); BUILD PDB.ASUMDBSS FROM DB2STATS*/
Thanks to Carolyn Saul, West Virginia Office of Technology, USA.
Change 29.054 -STRING variable length was increased to 1000 to support
ASUMDB2A potentially longer arguments.
ASUMDB2B -Macro variable DSETEXST=NO, defined/set in VMXGINIT, was
ASUMDB2G incorrectly re-defined in VMXGSUM, ASUMDB2A, ASUMDB2B,
ASUMDB2P ASUMDB2G and ASUMDB2P, preventing it from being changed
VMXGSUM to YES by ANALDB2R, the only place it is currently used.
Mar 13, 2011 Re-definitions are now removed from those five members.
With DSETEXST=NO, VMXGSUM calls VGETOBS to determine if
the input dataset exists, gracefully failing was an MXG
message if it doesn't. With DSETEXST=YES, when the
existence is already known, VGETOBS is bypassed, saving
a read of the full input dataset if it happens to be
on tape or in sequential format on disk.
Because the redefinition text was DSETEXST=&DSETEXST,
SAS errors about RECURSIVE REFERENCE to DSETEXST could
have occurred, although (fortunately) none were reported.
Change 29.053 Documentation. Since DB2 Version 7.1, when DB2ACCTP data
TYPEDB2 was moved to SMF 101 Subtype 1, there has been no QWAC
Mar 4, 2011 segment for Packages. The KEEP list for DB2ACCTP still
had variables QWACBSC QWACESC and QWACWLME, which have
been missing values in DB2ACCTP since then. I could drop
them, but if I do, someone out there with an old report
program that referenced them, would then fail, so they
will still be kept (but if you are real picky, you can
easily drop them by putting this macro definition
MACRO _KDB2ACP DROP=QWACBSC QWACESC QWACWLME %
in your IMACKEEP member in your "USERID.SOURLIB").
Thanks to Wayne Bell, UniGroup, Inc, USA.
Change 29.052 The newest MONTHxxx fails, z/OS ONLY, SAS 9.1.3 only.
MONTHBLD %CMPRES must be changed to %QCMPRES. As often is the
Mar 3, 2011 case with %MACRO errors, the error message gives no clue:
NOTE: LINE GENERATED BY THE MACRO FUNCTION "SUBSTR".
;SET MON.XXXXXX WEEK1.XXXXXX WEEK2.XXXXXX WEEK3.XXXXXX
___
___
___
180
180
180
ERROR 180-322: STATEMENT IS NOT VALID OR IT IS USED OUT
OF ORDER.
The %CMPRES function was added to print the generated SET
statement, for diagnostics, to verify the results of the
7x7 tests (7 Startdays, 7 Rundays), but was added after
the z/OS MONTHxxx logic verification, and while it works
just fine on SAS 9.2, the 9.1.3 %CMPRES function fails,
inserting a semicolon that terminated the %LET statement.
The stronger %QCMPRES function works on SAS 9.1.3.
May 1: See CHANGE 29.102. Error occurred on SAS V9.2.
Thanks to Kim Tyson, Toyota, USA.
Change 29.051 Variable STORCLAS can be uninitialized, with hex zeroes
VMAC42 for some system datasets (SYS1.MANX,SYS1.PROCLIB); now,
Mar 2, 2011 hex zeros are translated to blanks.
Thanks to John R. Paul, Highmark, USA.
====== Changes thru 29.050 were in MXG 29.02 dated Mar 1, 2011=========
Change 29.050 DB2 IFCID 319, ACCESS CONTROL AUTH EXIT PARMS, specific
FORMATS to IFCID=319 fields, are now decoded and output; three
VMAC102 formats are created to decode three variables.
Change 29.049 The interval DELTATM was not summed when there was more
ASUM113 than one engine for a type of engine causing LPARBUSY
Feb 25, 2011 to exceed 100%. The sum of the DELTATM across engine type
Feb 28, 2011 is now stored in DELTASUM and used for LPARBUSY, while
DELTATM has the interval duration and is used for the
(now corrected) calculation of LPARCPUS.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 29.048 Macro variable MXGCIXT is created and inserted after all
VMXGCICI of the CICS Statistics WORK.INTxxxx datasets have been
VMXGINIT created (summarized), so they could be copied to a
Feb 25, 2011 permanent data library.
Change 29.047 DB2 variables QWACZIS1 QWACZIS2 QWACZIEL QWACZITR are now
VMXGUOW added to PDB.ASUMUOW when DB2ACCT data is found.
Feb 25, 2011
Change 29.046 On z/OS only (a LIBNAME is always needed on ASCII):
DOC if your program starts with an ASUM/TRND member, or it
Feb 25, 2011 invokes VMXGSUM, and the internal macro VGETOBS is used
(to detect the presence or absence of input datasets,
intended to conserve resources and avoid strange errors),
there are two potential exposures:
SAS - if the LIBNAME is on tape, we cannot detect that,
and the PROC SQL will read the entire tape volume(s) to
populate the DICTIONARY.TABLES internal table we use.
WPS - WPS does not populate dictionary.tables until the
LIBNAME(s) are opened, which causes these error messages:
NOTE: No rows were selected
NOTE: RUN has no effect in proc sql ... immediately.
MXGERROR: WEEK.JOBSKED DOES NOT EXIST. VMXGSUM WILL
MXGERROR: BE STOPPED.
NOTE: Procedure SQL step took :
In this case, you must have a LIBNAME statement for each
data library to cause that table to be populated.
Alternatively, you could also use PROC DATASETS
DDNAME=xxxxx; to populate the table.
In both cases, inserting %LET DATAEXST=YES; as the first
SYSIN statement eliminates VMXGSUM's call to VGETOBS to
verify the dataset exists. However, if they don't exist,
that will cause VMXGSUM to then fail for that reason.
Thanks to Kare Martin Torsvik, Ergogroup, NORWAY.
Thanks to Atle Mjelde, Ergogroup, NORWAY.
Change 29.045 TRNDRMFI example TRENDINT should have been INTERVAL.
TRNDRMFI UTILRMFI %IF J LT 5 should have been %IF &J LT 5.
UTILRMFI
Feb 27, 2011
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 29.044 ASM utility to convert a PC "RECFM=U" V/VB/VBS file that
ASMDBLKU was uploaded to z/OS into a readable "RECFM=V/VB/VBS"
Feb 25, 2011 dataset. This is the ASM equivalent of the SAS UDEBLOCK
for sites that don't have a z/OS SAS license.
Change 29.043 -If you needed to rerun a specific day, and you use the
BLDSMPDB AUTOALOC=YES option, the FORCEDAY parameter was not found
Feb 24, 2011 in the macro; it is now properly defined. To rerun with
AUTOALOC=YES, the syntax is forceday=ddmmmyy, where the
ddmmyy is the date to be rerun (e.g., 21feb11).
-If you need to rerun a day and AUTOALOC=YES is NOT used,
specify rerun= the day of the week to be rerun, MON, etc.
Thanks to Cletus McGee, ALFA Insurance, USA.
Change 29.042 NDM-CDI Version 5 records are read without actual errors,
VMACNDM but the test file contained 'XO' records, which printed
Feb 24, 2011 "NDM. HEADER ONLY" messages because no records had been
available for validation. These records are now decoded
and are output in NDMDT dataset.
Change 29.041 Your FEB MONTHly PDB could be missing MON data, if your
VSETMNTH MONTHBLD/MONTHBL3/MONTHASC/MONTHDSK has a %%VSETMNTH(),
MONTHBLD i.e., if the Last Change is 28.125 thru 29.017, i.e.,
MONTHBL3 if it was copied from MXG 28.04 thru 29.01 (yes, that
MONTHDSK new version that was supposed to have fixed the MONTHs).
MONTHASC YOUR MONTHXXX IS SAFE IF IT DOES NOT CONTAIN %%VSETMNTH.
MONTHWEK It depends on the MONTHxxx member, the version it came
Feb 27, 2011 from, and the STARTDAY of your week (MXG default is MON):
NOTE: THERE IS NO ERROR MESSAGE; THE JOB DOES NOT FAIL.
1. IF YOU USE MONTHBLD/MONTHBLD/MONTHASC/MONTHDSK:
The possible combinations that are good or bad:
Using MONTHBLD or MONTHBL3:
From version: MXG 29.01 MXG 28.04-MXG 28.28
(Last Change) Change 29.017 Change 28.125-28.324.
STARTDAY SUN MON SUN MON
VSETMNTH OLD NEW OLD NEW OLD NEW OLD NEW
X ok ok ok ok X X X
Using MONTHASC or MONTHDSK:
From version: MXG 28.04-MXG 29.01
(Last Change) Change 28.125-28.324.
STARTDAY SUN MON
VSETMNTH OLD NEW OLD NEW
ok X X X
X: MON's PDB data will be missing.
The safe correction, of course, is to "drop in" MXG 29.02
before Tuesday's MONTHxxx, but I realize that's unlikely!
To correct, you MUST download the new VSETMNTH file
- VSETMNTH.SAS (ASCII) or VSETMNTH.EBC (z/OS) - and copy
into your tailoring library.
With MONTHBLD/MONTHBL3 from MXG 29.01, the new VSETMNTH
is all that is required.
If your MONTHBLD/MONTHBL3 was from 28.04-28.28, then
you can download the new member and cut your list of
the datasets you create (i.e., from 1st MACRO _DSET to
the end of your MONTHBLx) and replace the default list
in the new MONTHBLx), or you can EDIT your MONTHxxx
(see below) to change the CALL SYMPUT.
With MONTHASC/MONTHDSK from 28.04 including 29.01,
you can download the new member and cut/paste your list
of datasets (see preceding note), or you can EDIT your
MONTHxxx (see below) to change the CALL SYMPUT.
To EDIT/fix MXG's error in MONTHBLD/MONTHBL3 pre 29.01
or the MXG error in MONTHASC/MONTHDSK from 28.04-2901:
Change the one line:
CALL SYMPUT('LASTDAY',PUT(TODAY,WEEKDATE3.));
to
CALL SYMPUT('WEEKDATR',PUT(TODAY,WEEKDATE3.));
The ftp credentials you already have for 28.28 or 29.01
are still valid, so you can either download MXG 29.02 and
copy those new members to your Tailoring Library from it,
or you can download only the specific files you need:
The files with .sas are ASCII for MXG ASCII execution.
The files with .ebc are EBCDIC (to avoid any code page
translation issues), but they must be moved as binary
to a PDS with DCB attributes of RECFM=FB and LRECL=80.
And, what do you do when it after March 1st when you find
this needed correction? Download/EDIT as described in
the preceding paragraphs for your BUILDxxx programs and:
-If the rerun is during the same processing week, then
simply EDIT your MONTHxxx and change the statement
TODAY=TODAY();
to
TODAY='01MAR2011'D;
(as is documented in the ADOCMNTH member).
-If the rerun is not until the NEXT week, then you would
use the MONTHWEK member (z/OS) or the MONTHASW (ASCII)
member (from your current MXG version - it doesn't use
the defective VGETMNTH that created all this flail),
cut/paste your list of datasets to be created, and then
read the last 5 WEEKly PDBs to rebuild your MONTHly.
2. IF YOU USE BLDMSPDB:
You must have the new BLDSMPDB and VSETMNTH, then:
To rebuild the past month's PDB on z/OS or on ASCII
with AUTOALOC=NO (default), but ONLY if you are in the
first week of the new month:
%BLDSMPDB(RUNDAY=NO,RUNWEEK=NO,RUNMNTH=FORCE,
FORCEDAY=01MAR11);
To rebuild the past month's PDB on ASCII with
AUTOALOC=YES (ASCII ONLY), but ONLY if you are in the
first week of the new month:
%BLDSMPDB(AUTOALOC=YES,RUNDAY=NO,RUNWEEK=NO,
RUNMNTH=FORCE,FORCEDAY=01MAR11);
To rebuild the past month when it is beyond the first
week of the month:
With AUTOALOC=NO:
LIBNAME WEEK6 'your sixth week';
%LET USEWEEKS=YES;
%BLDSMPDB(RUNDAY=NO,RUNWEEK=NO,RUNMNTH=FORCE,
FORCEDAY=01MAR11);
With AUTOALOC=YES:
%LET USEWEEKS=YES;
%BLDSMPDB(ALOCWEEK=YES,RUNDAY=NO,RUNWEEK=NO,
RUNMNTH=FORCE,FORCEDAY=01MAR11);
3. IF YOU USE BLDNTPDB:
To rerun the current month, whether during the week with
the first of the month, or a following week, use:
%BLDNTPDB(RUNDAY=NO,RUNNTINT=NO,RUNWEEK=NO,RUNMNTH=FORCE);
To rerun a prior month, you must ensure the correct week
pdbs are allocated to week1 thru week5, and then us:
%BLDNTPDB(RUNDAY=NO,RUNNTINT=NO,RUNWEEK=NO,RUNMNTH=FORCE,
FORCEDAY=01MAR11);
Additional changes were made by this enhancement.
-New macro variable (if you set it to) USEWEEKS=YES:
-drives logic in VSETMNTH to use only the WEEKly PDBs
when the rerun is in the week after the week with the
first of the month.
-allocates LIBNAME WEEK6 because some months need
to read six months of weeklies when a MONTH PDB is
created only from the past weekly pdbs.
-Documentation in BLDSMPDB for RUNMNTH=FORCE, RERUN=YES,
and FORCEDAY='date' are corrected and updated.
-The default WEEKs kept is now 12 in both BLDSMPDB and
VMXGALOC, but I recommend a MUCH LARGER number of WEEK
PDBs be kept for historic reasons, with all of the PDB
datasets (and only a few, if any, kept in MONTHly PDBs).
-I believe only SUN and MON are commonly used for the
Startday, but the below table shows all of the possible
datasets that could have been missing prior to this
change:
Table of which PDB's are missing with bad VSETMNTH:
Eg.: On Feb 1 and Mar 1, which are RUNDAY=TUE, the
table shows that "mon" PDB will be missing from your
MONTH PDB if your week starts on SUNDAY, or that the
"tue" PDB will be missing if MONDAY is STARTDAY, but
in the worst case, it shows six dailies could have
been skipped in building the monthly.
Your RUNDAY = DAY OF 1st of MONTH
Week MON TUE WED THU FRI SAT SUN
Start:
SUN mon tue wed thu fri su-fr ok
MON ok tue wed thu fri sat mo-sa
TUE tu-su ok wed thu fri sat sun
WED mon we-mo ok thu fri sat sun
THU mon tue th-tu ok fri sat sun
FRI mon tue wed fr-we ok sat sun
SAT mon tue wed thu sa-th ok sun
Thanks to Michael Creech, Lender Processing Services, USA.
Change 29.040 Variables MAXVMSIZ and VMDSSIZE in dataset XAMUSR were
VMACXAM incorrectly input as PIB.4. instead of RB.4. so the
Feb 23, 2011 formatted value printed as 1164M instead of 3071M.
While XAM apparently prints 3072M, the actual RB value
in the record, '48BFFFFF'x is only 3221225216 while the
actual bytes in 3072M (megabyte) is 3221225472.
Thanks to Craig Collins, State of Wisconsin DOA, DET, WISCONSIN.
Change 29.039 Format MGRMFCX, dataset TYPE7002 variable R7023CT and
FORMATS dataset TYPE70X2 variable R7024CT, Crypto Processor Type,
Feb 23, 2011 was incorrect, expecting 'F5'x EBCDIC numbers in hex, but
the actual values are hex (e.g.,'05'x); the hex value was
printed; now the decoded '05X:PCIXCC' will be printed.
Thanks to Giuseppe Giacomodonato, EPV Tech, ITALY.
Change 29.038 Variable ASISDCCP in dataset ZRBASI is now a percentage,
VMACRMFV as labeled; and divided by total samples. Previously, it
Feb 22, 2011 was the (numerator) sample count.
Thanks to Scott Wiig, USBank, USA.
Change 29.037 DB2 V9.1, MXG 28.28-29.01, may print false messages about
VMACDB2H INVALID DISTRIBUTED HEADER DELETED. The header is valid,
Feb 21, 2011 but the test added in Change 28.326 (to detect a truly
invalid header that ONLY exists in DB2 V10.1 and that is
to be corrected by APAR PM32425) was off by one byte for
DB2 V9.1 records. For either release, nothing is really
"deleted"; the only impact is that the INPUT of variable
QWHDRQNM, the Requestor Location Name, is skipped, so the
"DELETED" in the message is changed to "QWHDRQNM SKIPPED"
and the V10 APAR is printed in the message text.
Thanks to Lorena Ortenzi, UniCredit Group, ITALY.
Change 29.036 Julian dates of 1999/000 with COMEFROM=7 printed harmless
VMACEDGR messages that the date was invalid, but should have NOT
Feb 18, 2011 printed the message; instead the invalid date is stored
Mar 13, 2011 into RDEXPDCH as character, and RDEXPDTO is set missing,
Mar 20, 2011 and the test covers COMEFROM=7/48/53 now.
Mar 13: DATEDATE=1999/366 now also protected.
Thanks to Douglas C. Walter, Citigroup, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 29.035 SAS compiler error when _NNTSM was invoked to substitute
COMPALLN _NULL_ replacement tokens, and a _NULL_ definition had
VMACNTSM only one space between the macro name and "_NULL_" text:
Feb 17, 2011 MACRO _WNTWFP _NULL_ %%
Inserting an extra blank so that the definition now reads
MACRO _WNTWFP _NULL_ %%
eliminated this error (with full diagnostic options on,
the generated code could be seen to be in error, with the
next line in the source being 'swallowed' into _WNTWFP.)
The error was replicated with other _NULL_'s in VMACNTSM.
All of the VMACxxxx that define _NULL_'s with similar
syntax were revised to eliminate the exposure, and some
members either did not define _Nxxxx or did not have
correct syntax (e.g., the MACRO keyword was missing).
to have two blanks. And, in the process, I discovered
several members did not have correct syntax for their
_NULL_ definitions( the MACRO keyword was missing).
these VMACxxxx members were corrected:
16 DECS 113 HURN SUIN OMVT
WPMO TMVS SVIE AIM3 19 NTSM ZTPM FITA VIOP UNIC ULTM
TPF SUNS SRMH SARR RSDF RSDA PMTR MVCI MRKV MPLX MOUN
MBO INMV IISL GUTS FDR AIXT 97 42 109 CISM
The error occurred with both PC SAS V9.2 and V9.1.3,
but only on Windows (both XP and Seven, 32 and 64 bit).
Thanks to Lars Fleischer, SMT Data, DENMARK.
Change 29.034 Invalid data for datetime variable SMF30RGT caused error
VMAC30 message and hex dump, and left SMF30RGT a missing value.
Feb 17, 2011 Datetime variable SMF30RGT (IXCARM REGISTER event) is
input from two IBM fields, SMF30RGT (the time part) and
SMF30RGD (the julian date part), but while SMF30RGT had
a valid time value, SMF30RGD was null (i.e., hex zeros).
The error is circumvented by inserting double question
marks for the INPUT of SMF30RGT, while IBM will be
contacted to correct their invalid data value in the
Automatic Restart Management (ARM) segment of SMF 30-5.
Change 29.033 Support for IMF Version 4.5 is in place; there were no
VMACCIMS changes in the IMS F9/FA records between 4.4 and 4.5.
Feb 14, 2011
Change 29.032 -Dataset PDB.IPLS now DOES always report a SYSTEM IPL, but
FORMATS previously that was not true. PDB.IPLS is created from
VMAC0 SMF type zero records, but ID=0 are written both when SMF
VMAC90A is started (at SYSTEM IPL), and when SMF is RESTARTED
VMACSMF (after an SMF address space ABEND, I/O error, etc). This
Feb 13, 2011 is NOT new; at least since 1992, member ADOC0 has noted
(albeit obscurely) that the ID=0 doesn't always report a
system was IPL'd.
-A true System IPL writes either an ID=90 subtype 8 (IPL
PROMPT) or ID=90 subtype 10 (IPL SRM). Now, VMAC0 reads
ID=0, ID=90.8 and ID=90.10 records, initially outputting
all in dataset TYPE0, but when TYPE0 is sorted by _S0
(the product sort macro, invoked by BUILDPDB/PD3/TYPS0),
now these two datasets are created:
PDB.IPLS - actual system IPLS - ID=90.8 or 90.10 obs
PDB.IPLSMF - all SMF ID=0 observations.
-But, note that when SMF has to be restarted, there were
SMF records that could not be written and were lost, and
no ID=7 record would have been written.
-VMACSMF required update because SMF ID=90 records do not
have their subtype in the standard SMF header.
-Cosmetic. TYPE90nn datasets now have variable CMDMVS to
identify which command created the record, and CMDMVS is
formatted with MG090CM to describe the command.
-Format MG090CM was updated for new commands.
-These "bogus IPL" events were overlooked because IBM has
done such a fine job in those 19 years to eliminate
unscheduled IPLs, that tracking them became unimportant!
It was only after SMF ABENDs due to a non-IBM product
required restarting the SMF address space that this need
to redesign MXG's PDB.IPLS dataset surfaced.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 29.031 DB2 V9.1 only; most QGBxxx variables in DB2GBPST were not
VMACDB2 correct; MXG had correct INPUT for V8.1 and V10.2 but did
Feb 9, 2011 not have a separate INPUT segment for 9.1, and MXG missed
the restructure in DB2 V9.1.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori Masulis, Fidelity Systems, USA.
Change 29.030 -For DB2 connections (DBMDPTYP='DSN', variable DBMDACCT is
VMACTMDB input and kept in TMDBDB2 dataset; for Client connections
Feb 9, 2011 these variables are now kept in TMDBDB2 dataset:
Feb 18, 2011 DBMDPLAT $EBCDIC18. /*CLIENT*PLATFORM*/
DBMDAPPL $EBCDIC20. /*CLIENT*APPLICATION*NAME*/
DBMDATID $EBCDIC8. /*CLIENT*AUTH*ID*/
DBMDSFLN &PIB.1. /*DDCS*ACCOUNT*SUFFIX*LENGTH*/
DBMDSUFX $EBCDIC200. /*DDCS*ACCOUNT*SUFFIX*/
-TMDB Version 4.1 BF/BG/BH/BI/BJ/BK/BL/BM records were off
by 2 bytes, causing DATABASE NAME and other fields to be
misaligned.
-Feb 18. Revisions to BI record's restructure.
Thanks to Liliane Paquet, Centre de services partages Quebec, CANADA.
Thanks to Patricia Abel, Regie des rentes du Quebec, CANADA.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 29.029 Variable KW18SP03 was input but not kept nor labeled.
VMAC80A
Feb 9, 2011
Thanks to Kim Westcott, NYS Office of Technology, USA.
Change 29.028 Yet another NDM 'RT' subtype INPUT EXCEEDED error because
VMACNDM the records do not match the documentation, offsets are
Feb 8, 2011 inconsistent (PACCT/SACCT sometimes -3, sometimes +1),
ACCT values that are not EBCDIC, two segments after ACCT
that are undocumented, with wide variances in the data
from sites running the same CDI versions, so this change
stops reading at the end of the fixed portion of the data
record, and only looks for the CPUTIME= text string at
that point in the record. If you REALLY, REALLY, need
the NDMRT variable data, or the undocumented fields to be
decoded, be prepared to open a support issue with the CDI
vendor and have them contact me with their DSECT/data.
Change 29.027 Cosmetic. Several variables were incorrectly spelled in
ADOC110 the documentation of CICS variables.
Feb 7, 2011
Thanks to Clayton Buck, UniGroup, USA.
Change 29.026 Support for zVM APAR VM64794 adds variables to dataset
VMACVMXA VXMTRSYS, and new format $MGVXENS to decode new variable
Feb 11, 2011 SYSESTAT (Ensemble Status).
Thanks to Al Holtz, MEDCO, USA.
Thanks to Frank Bright, MEDCO, USA.
Change 29.025 Small negative values for CPUUNITS in type 30 subtype 4
VMAC30 records have been observed in steps with CPUTCBTM=0, when
Feb 7, 2011 the calculated ZIPUNITS (using normalized CPUZIPTM) is
Nov 3, 2011 greater than the SM30CSUL (original CPU+zIIP+zAAP units).
While not significant, MXG now forces CPUUNITS=0 when
CPUTCBTM=0. The maximum negative CPUUNITS value was -169,
but with LOSU_SEC=30018, that is only 0.009 CPU seconds.
Nov 3: Original text corrected; negative CPUUNITS weren't
set to zero, but CPUUNITS was set to zero if CPUTCBTM was
zero. So small negative values (-1.59 in one record in 8
million type 30s) could still occur if CPUTCBTM non-zero.
And, they printed a debugging message with _N_= CPUUNITS=
that should have been and is now disabled.
Change 29.024 MXG-created variables INREASON and SOURCE were blank when
VMAC26J2 INDEVICE=Nnnn.RDm and INTRDR=' ', printing messages that
Feb 5, 2011 INREASON NOT DECODED. INREASON='RD' and SOURCE=INDEVICE
Mar 24, 2011 is now set. INREASON and SOURCE are "my" variables that
were only used in understanding NJE Purge Records and are
not actually used for anything.
Mar 24: SOURCE=INDEVICE wasn't set for INTRDR='Y'.
Thanks to Jack Schudel, University of Florida, USA.
Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.
Change 29.023 Using GTF input, IFCID 3 (DB2ACCT) observations were not
VMACDB2 output, and a (spurious) INVALID PROD section message was
Feb 5, 2011 printed. The OFFSMF value has to be changed when GTF is
input, but the logic for ID=101 SUBTYPE=0 was incorrect.
Thanks to Tony Curry, BMC, USA.
====== Changes thru 29.022 were in MXG 29.01 dated Feb 4, 2011=========
Change 29.022 After Change 28.146 (MXG 28.04+), Buffer Hit Ratio on the
VMXGDBSS %ANALDB2R(PDB=SMF,...) statistics reports were 100 times
Feb 4, 2011 too large. In MXG-built datasets BPHITRAT is a fraction
(e.g., .952), but in DB2PM reports IBM prints 95.2. But
Change 28.146 incorrectly multiplied by 100 when creating
the PDB.ASUMDBSS dataset, and then ANALDB2R multiplied.
This change restores the correct fractional value in the
ASUMDBSS dataset and lets ANALDB2R still do the multiply.
Thanks to Ron Wells, American General, USA.
Thanks to Rick Brooks, American General, USA.
Change 29.021 Variables SMF89DTO and SMF89HOF were accidentally removed
VMAC89 from dataset TYPE892, and should not have been. Since
Feb 4, 2011 they are needed by Al's LCS Product, MXG 29.01 refreshed.
Mar 12, 2011 Mar 12: Variables SMF89SIF,SMF89LPV,SMF89LCR are kept.
====== Changes thru 29.020 were in MXG 29.01 dated Feb 3, 2011=========
Change 29.020 The definition of MACRO _NEDA, to null all datasets, was
VMACEDA missing the MACRO preceding the _WEDAxxx token.
Feb 3, 2011
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 29.019 Sample ACF2 reports looked for PDB.ACF2ARR when the real
ANALACF2 dataset created by TYPSACF2 is named PDB.ACF2AR.
Feb 3, 2011
Thanks to Vitullo Carmen, State of Delaware, USA.
Change 29.018 Calculation of MEMP for z196 now subtracts the two
ASUM113 counters EXTND152 and EXTND155, per John Burg's SHARE
VMAC113 paper, which I had overlooked since last August.
Feb 3, 2011 BUT: FEB 18: The revised calculation was ONLY in the
Feb 18, 2011 VMAC113 in 29.01; I forgot the calculation is repeated
for the z196 code in ASUM113 until today when it was
discovered, because, without the correction, the RNI
values for z196 were larger than for the same workload
on the z10 when they should be about the same.
Thanks to Meral Temel, Garanti Teknoloji, TURKEY.
Thanks to Adnam Can, Garanti Teknoloji, TURKEY.
Change 29.017 -SERIOUS: MONTHBLD/MONTHBL3/MONTHASC in 28.28 will skip
MONTHBLD reading the last day's PDB library (the JAN 2011 MONTH
MONTHBL3 will be MISSING the MON PDB's observations).
MONTHASC This new statement added by Change 28.324
ADOCMNTH CALL SYMPUT('WEEKDATR',(PUT(LASTDAY,WEEKDATE3.)));
BLDSMPDB MUST be corrected to:
Feb 3, 2011 CALL SYMPUT('WEEKDATR',(PUT(TODAY,WEEKDATE3.)));
That is the permanent correction.
-BUT, to RERUN JAN 2011 NOW, since it is already Feb 2,
you must ALSO replace the existing statement
TODAY=TODAY(); with
TODAY='01FEB2011'D.
just for the JAN REBUILD (and then restore that statement
before you run the next month's build).
MONTHBLx normally must execute on the 1st day of the
next month; but comments in MONTHBLx point to ADOCMNTH,
for instructions on how to rerun on a different day of
the month; as long as you rebuild during this week,
there is no change needed to the JCL for the JOB.
If you don't see this until NEXT week, then you need
to read the instructions for the required JCL change
when you need to rebuild a MONTHly in a later week
than the normal week with the 1st day of the month.
-BLDSMPDB: LIBNAME WEEK1 NOT FOUND when runmnth=yes. Can
be circumvented by adding LIBNAME WEEK1 statement with
this syntax to rebuild JAN 2001:
libname week1 'c:\mxg\week1\';
%bldsmpdb(runday=no,runweek=no,runmnth=force);
An undocumented requirement of VSETMNTH needs WEEK1,
which is now LIBNAME'd to the same directory as WEEK.
-I personally apologize for my failure to validate these
changes made by MXG Change 28.324.
-Cosmetic, but possibly confusing. The %PUT statement
that prints the date selections printed "LT", but the
actual and correct test is for "LE".
Thanks to Robb Hermes, Sentry Insurance, USA.
Thanks to Wanda Prather, FRTIB, USA.
Change 29.016 When the _SMF macro was redesigned to store DB2 IFCID in
VMACSMF SUBTYPE, and READDB2 was revised to generate tests using
Feb 2, 2011 the SUBTYPE instead of IFCID, the _DB2GTF macro was not
updated, so %READDB2(INFILE=GTF,IFCIDS=xxx) failed to
output any observations. Macro _DB2GTF is now revised.
Thanks to Tony Curry, BMC, USA.
Change 29.015 Support for Version 7, which (COMPATIBLY) added three
VMAC115 sets of eight variables providing compression statistics,
Feb 1, 2011 one set for each of the three algorithms, although only
the first algorithm's variables are currently populated.
Thanks to Martyn Jones, Euroclear, BELGIUM.
Change 29.014 A new "exit", macro variable &EOFVMXA, for MWINPUT file,
VMACVMXA it inserted at the EOF of reading that MONWRITE data so
VMXGINIT users can take action if the input file is empty or has
Jan 29, 2011 invalid (no Control Record) contents. MONWRITE data is
ftp'd to the MXG platform, but an ftp failure causes an
empty file, which MXG processes without error, but that
has not observations created; that is reported in MXG's
"SUCCESSFULLY READ" message as having zero records.
This exit allows you to insert your own code to detect
there was a failure and you create your own log message
and then ABORTing the MXG job to externalize the error.
For example, the exit could be used with this syntax:
%LET EOFVMXA=
%QUOTE(
IF NRDRRECS LE 0 OR NRCRTOTL LE 0 OR
NRBYTOTL LE 0 THEN DO;
PUT ' ';
PUT '#####################################';
PUT 'ERROR: Z/VM MONWRITE FILE IS INVALID.';
PUT '#####################################';
PUT '>>>> CONTACT z/VM Support ON-CALL <<<< ';
PUT '#######################################';
PUT '# DETAILS:';
PUT '#######################################';
PUT //" MXG &MXGVERS FOUND THESE COUNTS:"
//+5 'THERE WERE ' NRDRRECS ' MONITOR RECORDS '
//+5 'FROM ' NRCRTOTL ' CONTROL RECORDS WHICH '
//+5 'CONTAINED ' NRBYTOTL COMMA15. ' BYTES, ( '
NRBYTOTL MGBYTES. 'B)';
PUT '#######################################';
PUT '#######################################';
ABORT ABEND 16;
END;
ELSE
);
%INCLUDE SOURCLIB(TYPEVMXA);
-Note that after your DO/END group, the "ELSE" is required
because the exit is inserted ahead of an existing PUT.
-Also note that the first line of the sample PUT statement
has double quotes around the text; this is required so
that the &MXGVERS macro variable's value is printed. With
single quotes only the text MXGVERS would be printed.
Thanks to Frank Bright, MEDCO, USA.
Thanks to Frank Bright, MEDCO, USA.
Change 29.013 -Variable CPCGRPLM in ZRBCPU is only four bytes but MXG
VMACRMFV input as 8 bytes; the commented +4 is moved ahead of the
Jan 30, 2011 input and the informat changed to PIB4.
-Variable LCPUPOLR was incorrectly input from two bits in
the first byte of LCPUCHIN; it is the last bit of first
byte and first byte of second byte (which is now input
and kept as LCPUCHI2).
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 29.012 Support for Endeavor Version 14 (INCOMPATIBLE because MXG
VMACENDV did not test the segment length and 20 bytes were added),
Jan 31, 2011 causing many missing variables in ENDVERAC dataset. The
fields added are now decoded and seven variables created.
Thanks to Rob D'Andrea, CIS, ENGLAND.
Change 29.011 Cosmetic. Variables with DATETIME value were stored as
VMACIMS length 5 instead of length 8, which can truncate times
ASUMSYTA up to 4 seconds.
VMACBE91 DATASET MEMBER VARIABLE
VMACCYFU ASUMTAPE ASUMSYTA REALMSMF
VMAC28 BETA91C VMACBE91 BE91CSST
VMACPMTR PERFMETR VMACPMTR STARTIME
VMACPW PWPDPD VMACPW ENDTIME
VMACSHDW PWPDPDI VMACPW ENDTIME
VMACTMVS SHADOW05 VMACSHDW SM05LGTM
VMAC90A TMVSCO VMACTMVS IPLTIME
VMACVMXA TYPE9033 VMAC90A SMF9033T
VMACXAM TYPE9034 VMAC90A SMF9034T
Jan 28, 2011 VXSYTSPT VMACVMXA SRXATOD
XAMSYVSW VMACXAM VQSCTTOD
Change 29.010 Variables NDMPRCNM, NDMPRCNO, and NDMSTEP were not kept
VMACNDM in all datasets where they exist in the "NDMPRC" header
Jan 25, 2011 or in the "Record" data segment; the table in comments at
the top of VMACNDM has been updated with a new column to
identify the datasets that have those variables, and all
datasets that are decoded now contain these variables.
Thanks to Michael Oujesky, Bank of America, USA.
Change 29.009 VMXGUOW fails if //CICSTRAN or //DB2ACCT is on tape, with
VMXGUOW MXG 28.06 thru MXG 28.28, but the error is circumvented
Jan 24, 2011 if you add LIBNAME statements to tell MXG it's on tape:
Jan 31, 2011 //SYSIN DD *
LIBNAME CICSTRAN V9SEQ;
LIBNAME DB2ACCT V9SEQ;
%LET PCICTRN=CICSTRAN;
%LET PDB2ACC=DB2ACCT;
%LET MACKEEP= MACRO _NOOBS % MACRO _YESOBS %
%INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
-Prior to Change 28.204, VMXGUOW only tested existence of
the _Ldddddd dataset token, but in 28.204, a test for the
existence of that LIBNAME was added (so we could tell you
what you did wrong when you didn't have one). But under
z/OS, if the LIBNAME had not been referenced in this SAS
session, it is not in DICTIONARY, and MXG fell thru to
use WORK for the LIBNAME, but as WORK.CICSTRAN did not
exist (your data was in CICSTRAN.CICSTRAN on tape), MXG
failed with NOT FOUND BY VARIABLES and MXGWARNS.
-In this revision, the EXTFILES table is scanned and if
the &PCICTRN "ddname" is found, _LCICTRN is set to
CICSTRAN. Likewise, _LDB2ACC and _LMONTSK are set to the
normal defaults if not found.
-In all cases, if the LIBNAME pointed to does not exist,
VMXGUOW will still fail.
Thanks to Hugo L. Michel, Prince Georges County, MD, USA.
Change 29.008 -WEEKBLD/MONTHBLD: to eliminate NOTSORTED errors, MXGNOBY
VMXGINIT is now specified in VMXGINIT so there will be no testing
BLDSMPDB of the sort order of the input, and no NOTSORTED error.
Feb 3, 2011 -BLDSMPDB: SORTEDBY=NO is now specified as the default.
(Also, LIBNAME=WEEK1 was in error and changed to WEEK.)
-Previously, you had to define MXGNOBY with this statement
%LET MXGNOBY= MACRO _BY % MACRO _SORTBY % ;
in your //SYSIN DD, to disable the sort testing and the
interleave of input observation in sort order. That will
still work fine, but no longer needed with this change.
Although I can't see a reason why you would want to go
back to the NOTSORTED exposure, you can redefine macro
MXGNOBY as null with this syntax to reinstate sorting:
%LET MXGNOBY= ;
-The exposure occurs when MXG has to change the sort order
of a dataset when it is built, and that dataset with new
sort order is combined in WEEKBLD/MONTHBLD with datasets
that were created with the previous sort order.
-The only reason MXG ever changes the sort order is when
the initial order was insufficient to remove duplicates
with the NODUP option of PROC SORT. Errors can occur if
your old WEEKBLD has the old sort order (TYPE72DL in MXG
28.28), or if MXG failed to update the new order in its
WEEKBLD/MONTHBLD member (DB2STATS in MXG 28.28)
-MXG does not require the WEEKLY and MONTHLY datasets to
be sorted; no report programs should ever expect ordered
data as there is no way to guarantee someone else didn't
sort the dataset after it was first created.
-Building sorted output is only a possible performance
benefit: if subsequent programs happen to use the same
order in their PROC SORT, SAS is smart enough to bypass
the unneeded sort, and that was the original purpose for
creating WEEKBLD/MONTHBLD in sort order. And, because
the "daily" datasets were already sorted, the WEEKBLD and
MONTHBLD programs preserved that sort order with a BY
statement, without re-sorting.
-However, it turns out that disabling the sort order test
and building the output as the concatenation of the input
datasets instead of interleaving observations to preserve
the sort order is a REAL performance benefit: benchmarks
show a reduction of about 12% of the CPU time with the
MXGNOBY enabled.
Change 29.007 Documentation if CICSTRAN variables are EXCLUDEd/DROPPED.
ASUMUOW This isn't new behavior, and has been in place long time.
ASUMCICX For ASUMUOW to execute, these BY-VARIABLES are REQUIRED:
Jan 21, 2011 TRANNAME STRTTIME ENDTIME NETSNAME
UOWID UOWIDCHR UOWTIME
There is no circumvention; ASUMUOW fails without them.
These KEPT variables from CICSTRAN aren't required for
execution, but MXGWARN messages will be printed if
these variables do not exist in your CICSTRAN:
APPLID USER LUNAME SYSTEM TERMINAL USERCHAR
This list is defined in MACRO _KUOWIDC, which you can
redefine to keep only your variables to eliminate the
MXGWARN messages.
For ASUMCICX to execute, these BY-VARIABLES are REQUIRED:
APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME
SYSTEM SHIFT
If any do not exist, ASUMCICX fails.
This list is defined in MACRO _BSUCICS and some can be
removed, but you could end up with useless output if,
for example, you didn't keep STRTTIME.
If some of these variables are not kept, you can redefine
_KUOWIDC and _BSUCICS to list only those that exist.
For example, these variables are removed from CICSTRAN:
USER OPERATOR TERMINAL USERCHAR
Then you would add the MACRO _KUOWIDC and _BSUCICS into
the %LET MACKEEP= in your current JOB:
//UOWCICX EXEC MXGSAS92
//CICSTRAN DD DSN=YOUR.CICSTRAN,DISP=SHR
//DB2ACCT DD DSN=YOUR.DB2ACCT,DISP=SHR
//PDB DD DSN=NEW.ASUMUOW,DISP=(,CATLG),...
//SYSIN DD *
%LET PCICTRN=CICSTRAN;
%LET PDB2ACC=DB2ACCT;
%LET MACKEEP=
MACRO _KUOWIDC APPLID LUNAME SYSTEM %
MACRO _BSUCICS APPLID STRTTIME TRANNAME SHIFT %
MACRO _NOOBS % MACRO _YESOBS %
;
%INCLUDE SOURCLIB(ASUMUOW);
%INCLUDE SOURCLIB(ASUMCICX);
Thanks to Hugo L. Michel, Prince Georges County, MD, USA.
Change 29.006 Variables DVRTBV01-DVRTBV32, Returned Borrowed Volumes,
VMACBVIR were incorrectly formatted $MGBVIPT but $MGBVIPO is the
Jan 21, 2011 correct format to decode when printed.
Thanks to Doug Boettcher, Atco I-Tek, CANADA.
Change 29.005 Documentation of INTERVAL= change in default RMFINTRV.
RMFINTRV INTERVAL=DETAIL in MXG 27.27 became INTERVAL=QTRHOUR in
Jan 19, 2011 MXG 28.01, Change 28.046, in MXG default RMFINTRV member,
but that was not documented, carelessly, but also because
I didn't think anyone used MXG's default RMFINTRV member.
I expected each site to have their own tailored RMFINTRV
with both INTERVAL= and WORKnn= (maps Service Classes to
WORKLOADs) definitions, and thus my default would only be
used by new sites, and only before they read the INSTALL
instructions to tailor those RMFINTRV definitions, so I
could change the interval with impunity. Well, almost!
I replaced DETAIL with QTRHOUR because DETAIL creates an
observation for every RMF start, including those short
interval at each IPL that have VERY high CPU Busy and are
outliers on normal interval graphs and reports, whereas
INTERVAL=QTRHOUR creates equal intervals and smooth data.
But, with DETAIL, you get an observation with the exact
STARTIME of each interval, and if SYNC59 is in use, those
startimes were of 59:00 14:00 29:00 44:00. But SYNC59=YES
is the default for Real Intervals, so changing from the
INTERVAL=DETAIL to INTERVAL=QTRHOUR, for SYNC59 sites,
changed their STARTIMEs to 00: 15: 30: & 45: when they
"dropped-in" MXG 28.28 after MXG 27.27. Tailoring their
RMFINTRV with INTERVAL=DETAIL restored original values.
Change 29.004 ISO format dates with 19990000 for "never expire" are now
VMACEDGR detected and the DATE variable is set missing.
Jan 20, 2011
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 29.003 If you have ancient JCL with //SASAUTOS DD DSN=&&NULLPDS,
VMXGGETM MXG 28.28 UTILGETM ran much longer (10x) because it did
Jan 19, 2011 not read the (new in 28.28) %DATATYP macro function from
the SAS-provided AUTOCALL PDS. The ERROR message didn't
stop the read of the large SMF file, but the message
wasn't the expected APPARENT MACRO %DATATYPE NOT FOUND.
Because of the way %DATATYP was used, the error was:
ERROR: Character operand was found in the %EVAL function
... where %DATATYP(&NRECORD) NE NUMERIC ....
The JCL &&NULLPDS token was removed many MXG versions ago
for unrelated problems and lack of need, but I was not
aware that the &NULLPDS stopped the AUTOCALL search, but
only recent MXG versions actually use macros (%TRIM) from
that library. But the %DATATYP was added ONLY to detect
that you had mistyped an alphabetic text for NRECORD=,
and only in your own %VMXGGETM invocation (UTILGETM has
NRECORD=50), so we shot ourselves in the foot adding it.
And ONLY to prevent a less-than-clear warning message.
DATATYP is no longer used; the logic is in a data step.
Change 29.002 -APAR OA31615 was NOT supported by MXG 28.28 as claimed.
VMAC89 That APAR will cause many INVALID SMF89CTZ log messages,
Jan 20, 2011 but the job does NOT ABEND (unless the log fills!).
Jan 21, 2011 -MXG detection of records with Invalid Intersect Segments
Feb 3, 2011 had no limit on the number of Invalid Record messages,
but also falsely detected some valid records as invalid.
The MXG test was corrected so only true Invalid segments
are detected, and only the first 3 are printed on log.
-But, feedback from IBM has clarified the new intersect
data in new TYPE89I dataset, and MXG was wrong to carry
the PRODxxxx variables from the Usage Data Section; those
variables were removed from the KEEP= list, and from the
Sort Order in MACRO _BTY89I, which now uses the CPO-CPI
and IPO-IPI variables to order and remove duplicates, and
is sequenced SMF89UST SMF89IST within those variables.
-Unrelated to the APAR, these variables in subtype 2 have
never been populated and are no longer kept in TYPE892:
MACHTIME SMF89UET SMF89UST
Thanks to Jim Poletti, Edward D. Jones, USA.
Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Thanks to Scott Barry, SBBWorks Inc, USA.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 29.001 Support for SMF 111 IPIC now creates obs in TY111CXI.
VMAC111 No observations were created because MXG incorrectly had
Jan 19, 2011 them to be in CTGRECID=2 when they are CTGRECID=7, so the
Jan 24, 2011 code for IPIC was relocated to that correct subtype, and
obs are now created.
-Warning added when a new subtype is detected.
-Change 28.329 for SMF 111 was NOT included in 28.28 as
originally claimed.
Thanks to Jim Poletti, Edward D. Jones, USA.
Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
Thanks to Gordon E. Griffith, Edward D. Jones, USA.
LASTCHANGE: Version 29.
=========================member=CHANGE28================================
/* COPYRIGHT (C) 1984-2011 MERRILL CONSULTANTS DALLAS TEXAS USA */
Annual MXG Version 28.28 is dated Jan 18, 2011, thru Change 28.331.
MXG Newsletter FIFTY-SEVEN is dated Jan 18, 2011.
Prelim MXG Version 28.28 was dated Jan 12, 2011, thru Change 28.326.
Interim MXG Version 28.09 was dated Jan 11, 2011, thru Change 28.325.
MXG Version 28.08 was dated Dec 13, 2010, thru Change 28.297.
MXG Version 28.07 was dated Nov 5, 2010, thru Change 28.265.
MXG Version 28.06 was dated Oct 7, 2010, thru Change 28.239.
MXG Version 28.05 was dated Aug 18, 2010, thru Change 28.187.
MXG Newsletter FIFTY-SIX was dated Aug 18, 2010.
First MXG Version 28.05 was dated Aug 17, 2010, thru Change 28.186.
MXG Version 28.04 was dated Jul 5, 2010, thru Change 28.152.
MXG Version 28.03 was dated May 25, 2010, thru Change 28.114.
MXG Version 28.02 was dated Apr 14, 2010, thru Change 28.081.
MXG Version 28.01 was dated Mar 9, 2010, thru Change 28.047.
MXG Version 27.27 was dated Jan 20, 2010, thru Change 27.361.
MXG Version 27.27 was the 2010 "Annual Version".
MXG Newsletter FIFTY-FIVE was dated Jan 20, 2010.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 28.28 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 28.28.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
=======================================================================
I. MXG Version 28.28 dated Jan 18, 2011, thru Change 28.331.
Major enhancements added in MXG 28.28, dated Jan 18, 2011
TYPEDB2 28.326 Invalid DB2 V10 Distributed Header protected in MXG.
There will be an IBM APAR, but this change is needed
to avoid the ABEND with earlier MXG versions, so, now
MXG 28.28 IS NOW REQUIRED FOR DB2 V10.1
to ensure your daily jobs doesn't ABEND.
APAR PM32425 has been opened, no PTF as of Feb 21.
WEEKBLD 28.324 Weekly exposure to DATASET TYPE72DL NOT SORTED.
MONTHBLD 28.324 Monthly exposure to DATASET TYPE72DL NOT SORTED.
BLDSMPDB 28.324 BLDSMPDB exposure to DATASET TYPE72DL NOT SORTED.
-If you have tailored those members and TYPE72DL is
built, you need to EDIT those members per the text
in that Change to avoid the possible ABEND of your
weekly or monthly build jobs.
EXITCICS 28.298 EXITCICS decompresses SMF 100,101,102,110 and 112.
MXG enhanced INFILE exit for CICS now supports DB2.
TYPE89 28.331 INVALID DATA FOR SMF89CZT if APAR OA31615 installed.
TYPE111 28.329 CTG records had zero observations in TY111CXI "IPIC".
JCLINSTT 28.328 Complete JCL example to ftp/unterse/install on z/OS.
TYPENDM 28.327 Connect Direct/NDM 'RT' record INCOMPATIBLY changed.
TYPE102 28.325 DB2 SQL-text variables only 100 bytes if COMPRESS=NO.
TYPEIMSA 28.311 Support for IMS/DBCTL transactions in IMSTRAN.
TYPEIMS7 28.310 Support for IMS/DBCTL transactions in IMS0708.
TYPE0 28.313 Variable CVTTZ in TYPE0 could be one second wrong.
BUILDPDB 28.305 PDB.NJEPURGE did not contain all NJE-variables.
ANALDUPE 28.308 Removal of Duplicate SMF (or any) records.
TYPEVMXA 28.315 PFXCPUAD in VXSYTCUM is the LCPUADDR, no CPUID.
TYPEVMXA 28.307 Short LINUXKRNL MONWRITE record caused errors.
UTILGETM 28.312 No Reporting Class data in SMFSMALL with NRECORD=10.
TYPE89 28.304 SMF 89 with no usage segment INPUT EXCEEDED error.
TYPE30 28.302 TYPE30MU duplicate records exist, non-dupes removed.
TYPETCP 28.300 TYPETCP (SMF 118) Port Numbers (Dec) wrong on ASCII.
TYPE70EN 28.299 Wrong values for CPUID=0 in PDB.TYPE70EN.
Major enhancements added in MXG 28.08, dated Dec 13, 2010
TYPE119 28.293 Support for OpenSSH SMF 119 subtypes 96-98.
TYPE113 28.279 "Near duplicate" ASUM113 intervals are corrected.
TYPE89 28,282 Support for APAR OA31615, adds zIIP/zAAP CPU times.
TYPENMON 28.275 Support for NMON FCREAD/FCWRITE/XFERIN/XFEROUT record
TYPETNG 28.273 Support for more than 9999 instances in CA NSM/TNG.
TYPETMVT 28.287 Support for ASG-TMON for VTAM subtype 'SX' record.
TYPE110 28.285 CICS Statistics Subtype 2 STID=143 corrected.
ASUMUOWT 28.284 ASUMUOWT (for ASG-TMON MRO) revised to use VMXGUOW.
ASUMCICR 28.281 Count/average response time by DATE for each APPLID.
DB2ACCT 28.277 NETSNAME/UOWTIME only created for QWHCATYP=4 (CICS).
TYPE89 28.272 SMF89HOF/SMF89DTO for SCRT don't use last 3 nybbles.
WEEKBLD 28.269 TYPE72DL NOT SORTED after Clock Set Back.
ANALDBJS 28.290 DB2 analysis adds JESNR and REAdTIME to DB2ACCT.
TYPE6156 28.289 Variables GATLIMIT and GATCNT added to TYPE6156.
UTILNPRT 28.268 Identify non-print chars, for SAS Enterprise Guide.
Major enhancements added in MXG 28.07, dated Nov 5, 2010
TYPEDB2 28.264 Support for DB2 Version 10. COMPLETELY INCOMPATIBLE:
MXG 28.06 was required to process the V10 data, but
now, MXG 28.07 has full support plus the below
documentation.
TYPEOMMQ 28.263 Support for IBM/OMEGAMON XW MQ flat file (INCOMPAT)
TYPEMIM 28.262 Support for CA MIM RESOURCE SHARING R11.7 (COMPAT)
GRAFCEC 28.261 SAS/GRAPH example charts CEC Utilization by engine
TYPETPX 28.260 IP address and Port Number now decoded in TPX SMF.
UTILEXCL 28.259 Spurious "WRONG LENGTH OF 200 FOR CMRDATA"
TYPE120 28.258 Support for WebSphere ID=120 SUBTYPE=20 records
ANALID 28.257 ERROR: VARIABLE IDANDSUM ... with PDB,DISP=OLD
EXITCICS 28.251 ASMA144E Begin-to-continue due to char in col 72.
READDB2 28.250 COPYONLY logic now works.
VMXGSUM 28.249 VMXGSUM enhanced with MODE and MEDIAN statistics
TYPE110 28.247A Example using _Kdddddd to create new datasets revised
TYPE30 28.246 New CPITCxTM/CPISRxTM wrong in MXG 28.06.
TYPE7072 28.246 CP eng 64-95 vars shouldn't have been kept in TYPE70.
TYPESTC 28.244 STC/STK/Oracle VSM user SMF records support revised.
TYPE7072 28.242 In-Ready Work Unit SMF70U00-U15, etc were all wrong.
Major enhancements added in MXG 28.06, dated Oct 7, 2010
TYPEWSMQ 28.233 Support for WebSphere MQ Version 7 Accounting Data
TYPEDB2 28.222 ITRM only, DB2STAT4 NOT SORTED ERROR.
ASUMDB2- 28.220 DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
TRNDDB2- 28.220 DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
EXITCICS 28.223 Support for DB2 V10 Compressed SMF records.
DFH$MOLS 28.223 JCL example to use IBM CICS decompression utility.
TYPEITRF 28.227 INPUT STATEMENT EXCEEDED RECORD LENGTH type=17x.
TYPEIMFS 28.193 Full support for IMF records in SMF format.
TYPE113 28.226 Variable LPBUSY,LPARBUSY replaced LPARCPU.
TYPE74 28.212 TYPE74ID (small) created, saves pass of TYPE74CA.
Major enhancements added in MXG 28.05, dated Aug 18, 2010
The z196 processor with more than 64 engines REQUIRES MXG 28.05.
A z196 with LESS THAN 64 engines DOES NOT require MXG 28.05, as
long as the operating system is z/OS 1.11 or earlier.
z/OS 1.12 REQUIRES MXG 28.05.
DO NOT USE MXG 28.04 WITH z/OS 1.12 RMF data records.
IBM Maintenance APARs OA30563,OA33976 REQUIRES MXG 28.05.
Many 28.175 Support for z/OS 1.12 (REQUIRES MXG 28.05).
DO NOT USE MXG 28.04 WITH z/OS 1.12 DATA - INCOMPAT.
TYPE70 28.175 Support for z196: REQUIRED ONLY WITH GT 64 ENGINES.
(Lots of new data added compatibly.)
TYPE113 28.166 Major revision - TYPE113 - John Burg's SHARE 2010.
(Calculation of RNI, new z196 fields, new metrics).
TYPE119 28.175 Support for SMF 119 new subtypes 32-37 and 48-52.
TYPEITRF 28.162 Support for ITRF V420 IF2 (COMPATIBLE).
TYPECTCP 28.160 Support for CleverView GMT offset, CTCPIPAD fixed.
TYPE42 28.158 Support for APAR OA31648 TYPE42D1/D3 buff get retries
TYPEVM 28.157 Support for VM ACCOUNT ID='09' ISFC record.
TYPE102 28.156 Support for IFCID=27 specific variables.
TYPENMON 28.176 Support for SARMON - Solaris SAR in NMON format.
IMACCADI 28.172 Support for CA-Dispatch V11 SMF 6 INCOMPATIBLE.
TYPETPFC 28.152 Support for zTPFC TPF Continuous Monitoring updates.
TYPEZCOS 28.151 Support for zCost AutoSoftcapping V 1.5.00 SMF.
UTILPDSL 28.179 Utility to read PDS/PDSE directories of a concat.
BLDSMPDB 28.177 Continued minor enhancements.
IMACZDAT 28.174 Example to set ZDATE when you rebuild a past PDB.
ANALCAPD 28.169 Estimate the impact of a Defined Capacity Limit.
MULTIPDB 28.168 Create a PDB library with all datasets from many PDBs
TYPEIMS 28.165 LCODE=56x TPCPSSTY09x INPUT STATEMENT EXCEEDED.
TYPE110 28.154 Improved detection of EXCLUDED CICS fields.
TYPEXAM 28.153 XAM TCP dataset's TOTCPU incorrectly divided by 100.
TYPE42 28.150 Type 42 subtype 15 correction for TYPE42S1 dataset.
Major enhancements added in MXG 28.04, dated Jul 5, 2010
TYPE113 28.140 Major revision to SMF 113 support, TYPE70PR vars add.
ANALDB2R 28.146 Major enhancement to DB2PM-like reporting.
TYPESVIE 28.138 Support for SysView Subtype 3 records.
TYPEIMFS 28.137 Support for BMC IMF records written in SMF format.
TYPE120 28.133 Support for WebSphere SMF 120 Subtype 20, untested.
TYPESAVR 28.127 Support for revised CA $AVERS SMF record (INCOMPAT).
TYPEMXI 28.126 Support for Rocket Software MXG User SMF record.
TYPENTSM 28.119 Support for Performance Sentry NTSMF Version 3.1.4.4.
TYPEMVAO 28.118 Support for BMC Mainview Auto Operator data file.
TYPE102 28.116 Support for SMF 102 IFCID 263 decodes unique fields.
BLDSMPDB 28.125 Support for Week/Month if first-day-of-week NOT MON.
CONFIGVx 28.128 ERROR APPARENT MACRO TRIM NOT RESOVED: DOCUMENTATION.
VMXGSRCH 28.147 Kewl Tool. Find all instances of VARIABLE='VALUE'.
BUILDPDB 28.139 Recently added SMF30xxx variables kept in PDB.STEPS.
UTILWORK 28.123 Utility for TYPE72GO to assist workload definitions.
Major enhancements added in MXG 28.03, dated May 25, 2010
TYPEWPMO 28.086 Support for Windows Performance Monitor PERFMON file.
TYPECTCP 28.108 Support for CleverView for TCP/IP TN3270 SMF subtype.
TYPE80A 28.107 TOKDANAM LDAPHOST,BINDDN,BINDPW,APPLNAM,UTYPE,JPNUM.
TYPE92 28.106 SMF92PPN, Path Name, was blank.
VMXGSUM 28.105 Optional KEEPWEEK/MNTH/YEAR/DAYS/AFTER keeps TRENDs.
TYPE7072 28.099 Variable CPULHKTM, CPU TIME Lock Promoted, TYPE72GO.
VMXGSET 28.098 DSETOPT= optional argument for data set options.
SMFRECNT 28.089 BUILDPDBs PDB.SMFRECNT now has bytes and counts.
TYPE110 28.087 Internal Decompression Algorithm use now ERROR:'d.
TYPECIMS 28.084 BMC IMF INPUTCLS and LASTCLAS variables restored.
READDB2 28.083 READDB2/ANALDB2R did not honor MACDB2H/MACKEEP.
FORMATS 28.082 UDDDDDD, all and $MGDDDSN updated.
Major enhancements added in MXG 28.02, dated Apr 14, 2010
TYPE113 28.075 John Burg formulas for TYPE113 HIS data are added.
VMXGINIT 28.079A Test for NOWORKINIT and USER ABEND 990 were REMOVED.
VMXGINIT 28.081 OPTIONS VARLENCHK=NOWARN eliminates SAS V9.2 WARNINGS
VMXGINIT 28.057 ERROR MACRO %ABORT IS NOT IMPLEMENTD, SAS 8.2 ONLY.
TYPE84 28.077 Support for all JES3 JMF TYPE84 subtypes.
ASMIMSL6 28.066 Support for IMS Version 11 (INCOMPATIBLE).
TYPEIMS7 28.066 Support for IMS Version 11 (INCOMPATIBLE).
TYPEMVCI 28.065 Support for BMC CICS CMRDETL C660 for CICS/TS 4.1
TYPEDB2 28.051 Support for DB2 APAR PK62161 new SQL Counters.
TYPETMNT 28.079 WARNING: TOTAL LENGTH OF VARIABLES MUST BE LT 32760.
TYPEDB2 28.073 DB2STATS had missing values for QW0225 variables.
TYPE42 28.072 TYPE42X4 Above the BAR LRU dataset variables wrong.
BUILDPDB 28.071 PDB.STEPS/PDB.JOBS duplicates if FLUSHED steps.
MXGSAS92 28.070 SAS 9.2 TS2M2 DSNAMES may have changed
TYPERMVV 28.048 RMFV CPUG3 was misaligned in z/OS 1.11
Major enhancements added in MXG 28.01, dated Mar 9, 2010
Error circumvention:
EXIT112 28.027* Do NOT assemble EXIT112 for SMF 110/112, use EXITCICS
Errors fixed:
ASMTAPEE 28.041 Do NOT use ASMTAPEE ML-45/46, CPU SPIKE: ML-47 fixed.
TYPEVMXA 28.025 MXG CPU Loop in TYPEVMXA, new CEX3C PRCAPMCT=9 crypto
TYPECIMS 28.028 BMC IMF INPUT STATEMENT EXCEEDED, short record.
TYPEEDGR 28.029 RMM datetime vars have always been wrong time zone.
TYPE120 28.038 SMF 120 SUBTYPE 9 INPUT STATEMENT EXCEEDED RECORD
ANALZPCR 28.021 Major fixes/enhancements for complex zPCR models.
TYPE0 28.009 INVALID DATA FOR CVTTZ in z/OS 1.11 Type 0 fixed.
ASUMTAPE 28.008 SPIN.SPINSYSL dataset could grow forever.
New stuff:
VMXGFIND 28.012 Kewl tool, find all obs in all datasets meeting test,
(like all obs with JOB='CICS' in all PDB datasets).
TYPESTC 28.005 Support for Sun StorageTek VSM Version 6.2 and 7.0.
TYPE89 28.015 Support for z/TPM SMF 89 record, subtype wrong byte.
TYPENTSM 28.042 New Sentry VM 3.1.4.3 adds VMWARE objects/metrics.
TYPE30 28.031 z/OS 1.11 GA added variables to SMF 30 and SMF 71.
VMXGINIT 28.023 New MXGERROR/USER ABEND 990 if NOWORKINIT is enabled.
TYPEZTPF 28.043* zTPF has major revisions in Performance Data
TYPETMS 28.040 CA-1 Retention and VMRECORD extensions, need data.
Changes:
TYPE74 28.039 R7451RID now one byte, R7451FLG/TYPE74CA overlays.
BUILDPDB 28.037 PDB.SMFINTRV will have EXCP/IOTM counts for FLUSHED.
TYPE103 28.036 TYPE1032 deaccum needed PORTNR, label changed.
VGETOBS 28.034 %TRIM() references here removed, still in VMXGSUM.
IMACICMR 28.032 Protect 200-byte CMRDATA on CICS/TS 3.2 (s/b 256).
VGETDDS 28.014 Colon in DDNAMES= worked only with DDNAMES=PDB:)
TYPEDB2 28.010 Variable SHIFT (from QWHSSTCK, END) kept in datasets.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
MXG 28.28 executes best with SAS V9.2, or with SAS V9.1.3 with
Service Pack 4, on any supported SAS platform.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level B" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I can not guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2 ASAP, FOR BOTH OF US, TO AVOID FIXED PROBLEMS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
and vice versa.
MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as a absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG QA tests are executed on z/OS with SAS V9.1.3 and V9.2 and
on Windows XP with 32-bit INTEL, and on Windows Seven Ultimate
both 32-bit and 64-bit OS on 64-bit hardware, but MXG is installed
on many more hardware and software platforms: since they all work,
we don't need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 2.4 requires MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for "MXG Support for WPS Software"
IV. MXG Version Required for Hardware, Operating System Release, etc.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 Full plus Compressed. Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
MQ Series 7.0 ??? ??, 2009 *28.06
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
IMS log 11.0 Apr 1, 2010 28.02*
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 27.07*
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
V. Incompatibilities and Installation of MXG 28.28.
1. Incompatibilities introduced in MXG 28.28:
a- Changes in MXG architecture made between 28.28 and prior versions
that can introduce known incompatibilities.
1. -The WEEKBLD/MONTHBLD may fail with TYPE72DL NOT SORTED if you
have a tailored WEEKBLD/MONTHBLD that references TYPE72DL. The
only prevention is to change the sort order in WEEKBLD/MONTHBLD
BEFORE you create your weekly with 28.28 to this order:
MACRO _DSET TYPE72DL %
MACRO _BYLIST SYSPLEX SYSTEM SYSNAME STARTIME %
to eliminate the exposure to this rare possible error.
-Or, the WEEKBLD/MONTHBLD sort order testing can be disabled
(as documented in comments) using:
//SYSIN DD *
%LET MXGNOBY= MACRO _BY % MACRO _SORTBY % ;
%INCLUDE SOURCLIB(MONTHBLD);
-Or with BLDSMPDB, specify SORTEDBY=NO to disable the sort test.
See Change 28.324.
2. -If you use ASUMDB2x or ASUMDBSx datasets, see Change 28.220.
3. -If you have tailored MXG DB2 Processing using _NDB2 and then
invoke _SDB2STS (to create PDB.DB2STATS), you must also have
MACRO _WDB2ST4 DB2STAT4 % inserted AFTER the _NDB2 so that
the PDB.DB2STAT4 dataset exists when PDB.DB2STATS is created.
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 JCLINST9 for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 28.28 after MXG 27.27:
Dataset/
Member Change Description
Many 28.175 Support for z/OS 1.12 (COMPATIBLE)
ANALCAPD 28.169 Estimate the impact of a Defined Capacity Limit.
ANALDB2R 28.004 Extreme Detail DB2 Trace Report PMTRC01 revised.
ANALDB2R 28.146 Major enhancement to DB2PM-like reporting.
ANALDB2R 28.214 ANALDB2R report select did not honor BEGTIME/ENDTIME.
ANALDBJS 28.290 DB2 analysis adds JESNR and REAdTIME to DB2ACCT.
ANALDUPE 28.308 Removal of Duplicate SMF (or any) records.
ANALID 28.257 ERROR: VARIABLE IDANDSUM ... with PDB,DISP=OLD
ANALZPCR 28.021 Major fixes/enhancements for complex zPCR models.
ASMIMSL6 28.066 Support for IMS Version 11 (INCOMPATIBLE).
ASMTAPEE 28.041 Do NOT use ASMTAPEE ML-45/46, CPU SPIKE: ML-47 fixed.
ASUMCICR 28.281 Count/average response time by DATE for each APPLID.
ASUMDB2- 28.220 DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
ASUMTAPE 28.008 Large size SPIN.SPINMOUN,SPIN.SPINSYSL found, shrunk.
ASUMTAPE 28.008 SPIN.SPINSYSL dataset could grow forever.
ASUMUOW 28.124 WTIRIOTM in PDB.ASUMUOW could be larger than IRESPTM.
ASUMUOWT 28.284 ASUMUOWT (for ASG-TMON MRO) revised to use VMXGUOW.
BLDSMPDB 28.125 Support for Week/Month if first-day-of-week NOT MON.
BLDSMPDB 28.177 Continued minor enhancements.
BLDSMPDB 28.218 Includes ASUMDBAA/TRNDDBAA caused errors, replaced.
BUILDPDB 28.037 PDB.SMFINTRV will have EXCP/IOTM counts for FLUSHED.
BUILDPDB 28.071 PDB.STEPS/PDB.JOBS duplicates if FLUSHED steps.
BUILDPDB 28.139 Recently added SMF30xxx variables kept in PDB.STEPS.
BUILDPDB 28.305 PDB.NJEPURGE did not contain all NJE-variables.
CONFIGVx 28.128 ERROR APPARENT MACRO TRIM NOT RESOVED: DOCUMENTATION.
DB2ACCT 28.277 NETSNAME/UOWTIME only created for QWHCATYP=4 (CICS).
DFH$MOLS 28.223 JCL example to use IBM CICS decompression utility.
EXIT112 28.027* Do NOT assemble EXIT112 for SMF 110/112, use EXITCICS
EXITCICS 28.223 Support for DB2 V10 Compressed SMF records.
EXITCICS 28.251 ASMA144E Begin-to-continue due to char in col 72.
EXITCICS 28.298 EXITCICS decompresses SMF 100,101,102,110 and 112.
FIXTRNCD 28.049 TRANSCODE attribute can be added to old PDBs
FORMATS 28.082 UDDDDDD, $MGDDDDD and $MGDDDSN updated.
GRAFCEC 28.261 SAS/GRAPH example charts CEC Utilization by engine
IMACCADI 28.172 Support for CA-Dispatch V11 SMF 6 INCOMPATIBLE.
IMACICMR 28.032 Protect 200-byte CMRDATA on CICS/TS 3.2 (s/b 256).
IMACZDAT 28.174 Example to set ZDATE when you rebuild a past PDB.
JCLINSTT 28.328 Complete JCL example to ftp/unterse/install on z/OS.
JCLTEST9 28.330 Prelim 28.28 only, default ASUMUOW could fail.
MULTIPDB 28.168 Create a PDB library with all datasets from many PDBs
MXGSAS92 28.070 SAS 9.2 TS2M2 DSNAMES may have changed
READDB2 28.083 READDB2/ANALDB2R did not honor MACDB2H/MACKEEP.
READDB2 28.211 COPYONLY argument wrote ALL SMF records.
READDB2 28.250 COPYONLY logic now works.
SASAUTOS 28.194 Invalid 'BA'x in TRIM member on z/OS ERROR 22.
SMFRECNT 28.089 BUILDPDBs PDB.SMFRECNT now has bytes and counts.
TRNDDB2- 28.220 DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
TYPE0 28.009 INVALID DATA FOR CVTTZ in z/OS 1.11 Type 0 fixed.
TYPE0 28.313 Variable CVTTZ in TYPE0 could be one second wrong.
TYPE102 28,206 APPTUNE SMF 102 IFCID 8133 invalid offset ERROR.
TYPE102 28.116 Support for SMF 102 IFCID 263 decodes unique fields.
TYPE102 28.156 Support for IFCID=27 specific variables.
TYPE102 28.325 DB2 SQL-text variables only 100 bytes if COMPRESS=NO.
TYPE103 28.036 TYPE1032 deaccum needed PORTNR, label changed.
TYPE110 28.087 Internal Decompression Algorithm use now ERROR:'d.
TYPE110 28.134 INVALID STIDLEN=0 after STID=116 was harmless, fixed.
TYPE110 28.154 Improved detection of EXCLUDED CICS fields.
TYPE110 28.247A Example using _Kdddddd to create new datasets revised
TYPE110 28.285 CICS Statistics Subtype 2 STID=143 corrected.
TYPE111 28.329 CTG records had zero observations in TY111CXI "IPIC".
TYPE113 28.075 John Burg formulas for TYPE113 HIS data are added.
TYPE113 28.140 Major revision to SMF 113 support, TYPE70PR vars add.
TYPE113 28.166 Major revision - TYPE113 - John Burg's SHARE 2010.
TYPE113 28.226 Variable LPBUSY,LPARBUSY replaced LPARCPU.
TYPE113 28.279 "Near duplicate" ASUM113 intervals are corrected.
TYPE116 28.221 WebSphere MQ 7.01 INVALID WQ SEGMENT error messages.
TYPE119 28.175 Support for SMF 119 new subtypes 32-37 and 48-52.
TYPE119 28.293 Support for OpenSSH SMF 119 subtypes 96-98.
TYPE120 28.038 SMF 120 SUBTYPE 9 INPUT STATEMENT EXCEEDED RECORD
TYPE120 28.133 Support for WebSphere SMF 120 Subtype 20, untested.
TYPE120 28.258 Support for WebSphere ID=120 SUBTYPE=20 records
TYPE30 28.031 z/OS 1.11 GA added variables to SMF 30 and SMF 71.
TYPE30 28.246 New CPITCxTM/CPISRxTM wrong in MXG 28.06.
TYPE30 28.302 TYPE30MU duplicate records exist, non-dupes removed.
TYPE42 28.072 TYPE42X4 Above the BAR LRU dataset variables wrong.
TYPE42 28.150 Type 42 subtype 15 correction for TYPE42S1 dataset.
TYPE42 28.158 Support for APAR OA31648 TYPE42D1/D3 buff get retries
TYPE6156 28.289 Variables GATLIMIT and GATCNT added to TYPE6156.
TYPE70 28.175 Support for z196: INCOMPAT ONLY WITH GT 64 ENGINES.
TYPE7072 28.099 Variable CPULHKTM, CPU TIME Lock Promoted, TYPE72GO.
TYPE7072 28.242 In-Ready Work Unit SMF70U00-U15, etc were all wrong.
TYPE7072 28.246 CP eng 64-95 vars shouldn't have been kept in TYPE70.
TYPE70EN 28.224 TYPE70EN PCTCPUBY was 100% for a parked CP engine.
TYPE70EN 28.299 Wrong values for CPUID=0 in PDB.TYPE70EN.
TYPE74 28.039 R7451RID now one byte, R7451FLG/TYPE74CA overlays.
TYPE74 28.208 R7451TIM wrong, R7451CT3/CT4/PRT/PWT also wrong.
TYPE74 28.212 TYPE74ID (small) created, saves pass of TYPE74CA.
TYPE80A 28.107 TOKDANAM LDAPHOST,BINDDN,BINDPW,APPLNAM,UTYPE,JPNUM.
TYPE84 28.077 Support for all JES3 JMF TYPE84 subtypes.
TYPE89 28,282 Support for APAR OA31615, adds zIIP/zAAP CPU times.
TYPE89 28.015 Support for z/TPM SMF 89 record, subtype wrong byte.
TYPE89 28.272 SMF89HOF/SMF89DTO for SCRT don't use last 3 nybbles.
TYPE89 28.304 SMF 89 with no usage segment INPUT EXCEEDED error.
TYPE89 28.331 INVALID DATA FOR SMF89CZT if APAR OA31615 installed.
TYPE92 28.106 SMF92PPN, Path Name, was blank.
TYPECIMS 28.028 BMC IMF INPUT STATEMENT EXCEEDED, short record.
TYPECIMS 28.084 BMC IMF INPUTCLS and LASTCLAS variables restored.
TYPECTCP 28.108 Support for CleverView for TCP/IP TN3270 SMF subtype.
TYPECTCP 28.160 Support for CleverView GMT offset, CTCPIPAD fixed.
TYPEDB2 28.010 Variable SHIFT (from QWHSSTCK, END) kept in datasets.
TYPEDB2 28.051 Support for DB2 APAR PK62161 new SQL Counters.
TYPEDB2 28.073 DB2STATS had missing values for QW0225 variables.
TYPEDB2 28.222 ITRM only, DB2STAT4 NOT SORTED ERROR.
TYPEDB2 28.264 Support for DB2 Version 10. COMPLETELY INCOMPATIBLE.
TYPEDB2 28.326 Invalid DB2 V10 Distributed Header protected in MXG.
TYPEEDGR 28.029 RMM datetime vars have always been wrong time zone.
TYPEIMFS 28.137 Support for BMC IMF records written in SMF format.
TYPEIMFS 28.193 Full support for IMF records in SMF format.
TYPEIMS 28.131 IMS Log 56X record subtype 15x INVALID DATA/STOPOVER.
TYPEIMS 28.165 LCODE=56x TPCPSSTY09x INPUT STATEMENT EXCEEDED.
TYPEIMS7 28.066 Support for IMS Version 11 (INCOMPATIBLE).
TYPEIMS7 28.310 Support for IMS/DBCTL transactions in IMS0708.
TYPEIMSA 28.311 Support for IMS/DBCTL transactions in IMSTRAN.
TYPEITRF 28.162 Support for ITRF V420 IF2 (COMPATIBLE).
TYPEITRF 28.227 INPUT STATEMENT EXCEEDED RECORD LENGTH type=17x.
TYPEMIM 28.262 Support for CA MIM RESOURCE SHARING R11.7 (COMPAT)
TYPEMVAO 28.118 Support for BMC Mainview Auto Operator data file.
TYPEMVCI 28.065 Support for BMC CICS CMRDETL C660 for CICS/TS 4.1
TYPEMXI 28.126 Support for Rocket Software MXG User SMF record.
TYPENDM 28.327 Connect Direct/NDM 'RT' record INCOMPATIBLY changed.
TYPENMON 28.176 Support for SARMON - Solaris SAR in NMON format.
TYPENMON 28.275 Support for NMON FCREAD/FCWRITE/XFERIN/XFEROUT record
TYPENTSM 28.042 New Sentry VM 3.1.4.3 adds VMWARE objects/metrics.
TYPENTSM 28.119 Support for Performance Sentry NTSMF Version 3.1.4.4.
TYPEOMMQ 28.263 Support for IBM/OMEGAMON XW MQ flat file (INCOMPAT)
TYPERMVV 28.048 RMFV CPUG3 was misaligned in z/OS 1.11
TYPESAVR 28.127 Support for revised CA $AVERS SMF record (INCOMPAT).
TYPESTC 28.005 Support for Sun StorageTek VSM Version 6.2 and 7.0.
TYPESTC 28.005 Support for Sun StorageTek Version 6.2 and 7.0
TYPESTC 28.244 STC/STK/Oracle VSM user SMF records support revised.
TYPESVIE 28.138 Support for SysView Subtype 3 records.
TYPETCP 28.300 TYPETCP (SMF 118) Port Numbers (Dec) wrong on ASCII.
TYPETMNT 28.079 WARNING: TOTAL LENGTH OF VARIABLES MUST BE LT 32760.
TYPETMS 28.040 CA-1 Retention and VMRECORD extensions, need data.
TYPETMS5 28.148 TMS DEVTYPE was blank for TRTCH 'F0'x thru 'FF'x.
TYPETMVT 28.287 Support for ASG-TMON for VTAM subtype 'SX' record.
TYPETNG 28.216 NSM RH018 defective records with zero values.
TYPETNG 28.273 Support for more than 9999 instances in CA NSM/TNG.
TYPETPFC 28.152 Support for zTPFC TPF Continuous Monitoring updates.
TYPETPX 28.260 IP address and Port Number now decoded in TPX SMF.
TYPEVM 28.157 Support for VM ACCOUNT ID='09' ISFC record.
TYPEVMXA 28.025 MXG CPU Loop in TYPEVMXA, new CEX3C PRCAPMCT=9 crypto
TYPEVMXA 28.307 Short LINUXKRNL MONWRITE record caused errors.
TYPEVMXA 28.315 PFXCPUAD in VXSYTCUM is the LCPUADDR, no CPUID.
TYPEWPMO 28.086 Support for Windows Performance Monitor PERFMON file.
TYPEXAM 28.153 XAM TCP dataset's TOTCPU incorrectly divided by 100.
TYPEZCOS 28.151 Support for zCost AutoSoftcapping V 1.5.00 SMF.
TYPEZTPF 28.043* zTPF has major revisions in Performance Data
UTILBLDP 28.209 INCLAFTR=BUILD005,BUILDPDB=NO failed.
UTILEXCL 28.259 Spurious "WRONG LENGTH OF 200 FOR CMRDATA"
UTILGETM 28.312 No Reporting Class data in SMFSMALL with NRECORD=10.
UTILNPRT 28.268 Identify non-print chars, for SAS Enterprise Guide.
UTILPDSL 28.179 Utility to read PDS/PDSE directories of a concat.
UTILWORK 28.123 Utility for TYPE72GO to assist workload definitions.
VGETDDS 28.014 Colon in DDNAMES= worked only with DDNAMES=PDB:)
VGETOBS 28.034 %TRIM() references here removed, still in VMXGSUM.
VMXGFIND 28.012 Kewl tool, find all obs in all datasets meeting test.
VMXGINIT 28.023 MXGERROR/USER ABEND 990 if NOWORKINIT is enabled.
VMXGINIT 28.057 ERROR MACRO %ABORT IS NOT IMPLEMENTD, SAS 8.2 ONLY.
VMXGINIT 28.081 OPTIONS VARLENCHK=NOWARN eliminates SAS V9.2 WARNINGS
VMXGSET 28.098 DSETOPT= optional argument for data set options.
VMXGSRCH 28.147 Kewl Tool. Find all instances of VARIABLE='VALUE'.
VMXGSUM 28.105 Optional KEEPWEEK/MNTH/YEAR/DAYS/AFTER keeps TRENDs.
VMXGSUM 28.249 VMXGSUM enhanced with MODE and MEDIAN statistics
WEEKBLD 28.324 WEEKBLD/MONTHBLD/BLDSMPDB dataset TYPE72DL NOT SORTED
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 28.
====== Changes thru 28.331 were in MXG 28.28 dated Jan 18, 2011=========
Change 28.331 INVALID DATA FOR SMF89CZT if APAR OA31615 is installed.
VMAC89 Change 28.282 claimed support, but without test data, and
Jan 15, 2011 the error was because MXG input SMF89CNO as two bytes but
it is a four byte field, causing the misalignment.
Jan 19: I didn't get records in time for 28.28 and this
change did NOT correct this error, but Change 29.002 did.
Thanks to Scott Barry, SBBWorks, USA.
Change 28.330 Prelim 28.28 default ASUMUOW in JCLTEST9 (does NOT read
VMXGUOW ANY input) failed, on all platforms with SAS V9.1.3 or on
Jan 15, 2011 SAS V9.2 on z/OS. There is NO error if you have IMACUOW
tailored to create observations in PDB.ASUMUOW. The
error message is a NO BY VARIABLES ERROR, but the actual
error was a DATA SET NOT FOUND error that was masked by
the OPTIONS NODSNFERR in VMXGUOW. Changes 28.316/28.284
added logic to print an MXGWARN when there was no input,
by creating a second dataset in an existing DATA step,
but that second dataset is NOT created when OPTIONS OBS=0
is set and the first dataset is a /VIEW, unless SAS V9.2
on Windows/Unix is used. The SAS defect was fixed only
for ASCII V9.2, but is now reopened by SAS Tech Support.
But MXG code was revised to eliminate the second dataset,
and tests now are for dataset existence rather than for
non-zero observations.
And why didn't MXG QA catch the error? Because we tailor
IMACUOW to create observations, which didn't fail.
Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA
Change 28.329 CTG records had zero observations in TY111CXI "IPIC"
VMAC111 because MXG's length test was incorrect. The Version 8
Jan 14, 2011 documentation has several new fields that are now input
Jan 19, 2011 if the record length test is satisfied.
Jan 19: The VMAC111 was NOT updated in time for MXG 28.28
because I had no test data for validation; this update is
now made, but there are still no observations in either
TY111CXI or TY111CXE datasets because there are no SMF
data with values CTGRECID=2 being created.
Thanks to Jim Poletti, Edward Jones, USA.
Change 28.328 New JCLINSTT member is the recommended z/OS install JCL
JCLINSTT with these four steps to "drop-in" the new version
INSTALL FTPMXG
Jan 13, 2011 FTP DOWNLOAD TER2828.TER FILE FROM THE MXG FTP SITE.
UNTERSE
UNTERSE THE DOWNLOADED TER2828.TER FILE.
ALOCUSID
ALLOCATE THE MXG.V2828.USERID.SOURCLIB PDS LIBRARY.
FORMATS
ALLOCATE AND CREATE MXG.V2828.MXG.FORMATS LIBRARY.
Change 28.327 -Connect Direct 'RT' record's format was changed; while
VMACNDM offsets for the PACCT and SACCT exist and are populated,
Jan 12, 2011 the ACCT fields do NOT exist, and instead a text string
Jan 13, 2011 inside double quotes ('7F'x) is at the end of the record.
This change detects the quote pair and stores that text
in new NDMRTDAT text variable. However, some 'RT' don't
have the quote pair, so a length test will skip over the
data at the end but will still output the RT record.
-And short RT records, less than the 216 bytes have been
found and are printed on the log and skipped.
-The 'AE' family of records UID and XUSER fields are now
input $EBCDIC64 as they were expanded.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Thanks to G. Bosker, Rabobank Nederland, THE NETHERLANDS.
====== Changes thru 28.326 were in Prelim MXG 28.28 dated Jan 12, 2011==
Change 28.326 Invalid DB2 Distributed Header has QWHDPRID shifted right
VMACDB2H by two bytes, causing INPUT EXCEEDED error when QWHDPRID
Jan 12, 2011 had non-null value in the last two bytes, as those bytes
were expected to contain the OFFSET to QWHDRQNM when they
are non-zero. The defective records are now detected by
'0000'X value in the first two bytes of QWHDPRID, the
header is skipped, new variable QWHDBAD is set to one,
and an error message is printed for the first three.
IBM has accepted a PMR and will have an APAR to correct.
This change protects the Invalid Header so the APAR is
NOT required for MXG.
APAR PM32425 corrected the problem.
Thanks to Joe Babcock, JPMC, USA.
Change 28.325 Since Change 22.108, DB2 SQL-text variables are only 100
VMAC102 bytes if COMPRESS=NO is specified. The normal length of
Jan 11, 2011 32000 with YES must be reduced with NO because massive
disk space could be required.
But you can change this behavior by using
//SYSIN DD *
%LET SASCHRLN=32000;
even if you have specified COMPRESS=NO.
-Two variables had default lengths of 4000 and 5000 set by
&SASC4000 and &SASC5000, but they now use &SASCHRLN to be
consistent.
-The list of variables was updated in the text of 22.108.
Thanks to Joachim Sarkoschits, DATAEV eG, GERMANY.
Change 28.324 -WEEKBLD/MONTHBLD dataset TYPE72DL NOT SORTED ERROR, if a
MONTHASC WEEKBLD/MONTHBLD member is in your "USERID.SOURCLIB".
-Inserted Jan 24, 2011, after MXG 28.28 was created:
Similar DB2STATS NOT-SORTED ERROR in Change 29.008, but
you can Circumvent/eliminate sorting as shown below.
MONTHASW The TYPE72DL wasn't reported by a user, but was found in
MONTHBL3 in QA tests when PDBs built by old and new versions were
MONTHBLD combined, because the sort order in WEEKBLD/MONTHBLD for
MONTHBLS TYPE72DL was erroneously different in VMAC7072/BUILDPDB.
MONTHDSK The only prevention, if WEEKBLD/MONTHBLD exists in your
MONTHWEK USERID.SOURCLIB, is to change the _BYLIST, before you run
WEEKBL3 WEEKBLD or MONTHBLD with MXG 28.28, to this order
WEEKBL3D MACRO _DSET TYPE72DL %
WEEKBL3T MACRO _BYLIST SYSPLEX SYSTEM SYSNAME STARTIME %
WEEKBLD which is the new default in MXG's WEEKBLD/MONTHBLDs.
WEEKBLDD -Alternatively, you can disable sort order and tests in
WEEKBLDT WEEKBLD/MONTHBLD using this example (from comments):
Jan 10, 2011 //SYSIN DD *
Jan 15, 2011 %LET MXGNOBY= MACRO _BY % MACRO _SORTBY % ;
Jan 16, 2011 %INCLUDE SOURCLIB(WEEKBLD);
-With BLDSMPDB, add SORTEDBY=NO, to bypass sort test.
-MONTHWEK was updated Jan 15 with a RUN; added.
Change 28.323 -New SX record support caused DIVISION BY ZERO because of
VMACTMVT a typo that caused SXHRTA to be a missing value.
Jan 10, 2011 -SXBV1/BV2/BV3/BV4/HRTD/NRTTD/HRT/SXNRTT variable were
incorrectly input as PIB4 vs PIB4.6 and were incorrectly
converted (i.e., the 1024 multiplier to convert those
durations into seconds/fractions was nonexistent for SX,
but was in place for the existing SI variables.)
Thanks to Paul Volpi, UHC, USA.
Change 28.322 z/TPF records SB, DB, and DE had incorrect length for
VMACZTPF reserved fields that are now corrected and validated
Jan 10, 2011 with data records.
Thanks to Bob Wilcox, HP, USA.
Change 28.321 Harmless DIVIDE BY ZERO in a 7-second-long RMF interval
VMAC7072 when there was a WLM Policy switch that causes SMF70DSA
Jan 9, 2011 sample count to be zero; all divides are now protected.
Harmless because the created variable was not used in a
subsequent calculation, and is missing either way.
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 28.320 -LPARBUSY calculation in PDB.ASUM113 was wrong if the CPs
ASUM113 are slower than your zAAPs/zIIPs, because the SM1132CP
Jan 7, 2011 (speed) of the last engine (the zIIP or zAAP) was used.
And with multiple engine types, even at same speed, it
makes more sense to create separate observations for
each SMF70CIN/SM113CPT engine type for each interval.
But SM113CPT is only populated in 113s from z196, and
SMF70CIN is only populated if there's PDB.TYPE70PR data,
so the actual separation is by SM113CPT and SM1132SP to
ensure the correct speed is used to calculate LPARBUSY.
-For z10, SMF70CIN in PDB.ASUM113 is populated from the
TYPE70PR data, but the logic was not always correct. Now
SYSTEM=SMF70STN is used to select the correct LCPUADDR,
the sort order was changed to match correctly, and then
the SMF70CIN value is used to populate SM113CPT for the
z10 processors. (For z196 SM113CPT is already there.)
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 28.319 Support for IODQDS segment in Velocity Software XAM data
EXXAMQDS creates new XMIODQDS dataset.
IMACXAM
VMACXAM
VMXGINIT
Jan 6, 2011
Thanks to Francois VanCoppenolle, PVGROUP, BELGIUM
Change 28.318 MXGs test for EXCLUDEd fields in CICS/TS 4.1 tested for
VMAC110 LT 330 fields OR LT 2640 bytes, but since the default
Jan 5, 2011 record has 337 fields and 2668 bytes, a false detection
of EXCLUDED fields was not possible. Additionally, the
primary flag of EXCLUDEd fields is an invalid TASKNR, as
it is a packed decimal field whose shift is detectable.
But, the MXG test and comments were corrected.
Thanks to Patricia Hansen, ADP, USA.
Change 28.317 In analysis of the impact of possible capping values, if
ANALCAPD the desired CAP was exceeded, those excess MSU had to go
Jan 5, 2011 somewhere: this modification keeps track of the excess
MSU and spreads them out across the following intervals
up to the level of the desired CAP until they are all
used up.
Thanks to Dick Arnold, Commerce Bank of Kansas, USA.
Change 28.316 If you fail to reset the _NOOBS and _YESOBS tokens before
VMXGUOW you run ASUMUOW, no observations were processed, but with
Jan 5, 2011 no explanation. Now, when zero observations are detected
an MXGWARN message is printed to explain why there was no
output observations created in ASUMUOW.
Change 28.315 -The "CPU ADDRESS" PFXCPUAD in dataset VXSYTCUM is not the
VMACVMXA "VM" CP address of 00-0Fx, but is the LCPUADDR in the CEC
Jan 5, 2011 causing VXSUMCPU to contain many spurious observations.
This correction for the unexpected PFXCPUAD values is to
deaccumulate by PFXCPUAD, but then sum by ENDTIME for the
merge to create VMXAINTV. Fortunately, the only variable
in VXSYTCUM is the LPAR Management Time LCUMGTM, and in
spite of the spurious observations, the value in VMXAINTV
was correct before and after this change; the increase in
observations during summarization just looked wrong!
-Division by zero in creating VXAPLTCB was because the BY
list did not include SUBTASKN.
Thanks to Frank Bright, MEDCO, USA.
Thanks to Nick Said, MEDCO, USA.
Change 28.314 -%UTILBLDP(SUPPRESS= 6 26 30 110 DB2,BUILDPDB=YES) caused
UTILBLDP ERROR: FILE WORK.TYPE30MR DOES NOT EXIST. TYPE30MR is
Jan 4, 2011 now protected when SUPPRESS 30 is requested.
-If SMF 6 26J2/26J3 AND 30 are suppressed, BUILD005 is not
executed.
-If 26 (instead of 26J2/26J3) is specified, 26J2 is used,
with a note.
-A new QA report now compares the suppressed records list
of dddddd tokens with the list of datasets created by the
SMF record to ensure UTILBLDP is updated when needed.
Thanks to Charles Savikas, DCF, State of Florida, USA.
Change 28.313 -Variable CVTTZ in TYPE0 could be one second wrong, for
TYPE0 some time zones, because the CEIL/FLOOR functions that
TYPE28 are needed in MXG to create integer Time Zone deltas were
TYPEEPIL omitted when CVTTZ was added to the record. The CVTTZ
TYPEHPDM field is documented in the CVT as if it is the actual GMT
TYPEMVCI offset, but its value of 1.048576 seconds per binary bit
TYPENTCP is not an integer value; IBM actually uses the 8-bytes in
TYPEOMCI CVTLDTO with 1 microsecond resolution for the GMT offset.
TYPETIMS -The CVTTZ field is the first 4 bytes of CVTLDTO, so those
TYPETMDB CEIL/FLOOR functions are used to create exact GMT Offset;
TYPETPX their absence in TYPE0 caused a search for all MXG code
Jan 3, 2011 with CVTTZ-based GMT offset, which found some members
needed corrections. Luckily, some of the vendor records
store an integer value, so MXG's use of CEIL/FLOOR is not
always required, but MXG now uses them consistently.
Fortunately, in most cases below, the GMT Offset was not
used to convert (when all timestamps are already LOCAL),
so only the GMT Offset variable might have been wrong.
And by only one second:
-VMAC0: CVTTZ had no CEIL/FLOOR.
-VMAC28: NPMGMTTZ had only (wrong) PIB.4., no floor.
-VMACEPIL OMGMTOFF CEIL/FLOOR functions reversed.
-VMACHPDM SOVHTZOS no 1.048576 multiply, no CEIL/FLOOR
-VMACMVCI T6ECVTTZ CEIL/FLOOR functions reversed.
-VMACNTCP MONCVTTZ only PIB.4, no multiply, no CEIL.
-VMACOMCI SMCVTTZ CEIL/FLOOR functions reversed.
-VMACTIMS CHGMTA no CEIL/FLOOR
-VMACTMDB GMTOFFTM no CEIL/FLOOR
-VMACTPS TPXCVTTZ CEIL/FLOOR functions reversed.
Note: CVTLDTO is not externalized; APAR OA23267 listed a
value of FFFE6053 1927B4DE for a 31 hour offset, but that
value is 30.99500413 hours, .005 hours or 0.35 seconds
instead of the one microsecond resolution expected. But,
the error in that APAR apparently impacted both the hour
and the seconds; examination of current CVTLDTO values
FFFFAF88 -6 hours FFFFAF88 A2800000 -21600.000000
FFFFBCF1 -5 hours FFFFBCF1 DCC00000 -18000.000000
FFFFCA5B -4 hours
show full microsecond resolution produces exact integers.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 28.312 The default "SMFSMALL" file for testing SMF processing
UTILGETM created by UTILGETM writes only 10 records for each SMF
Dec 31, 2010 ID and SUBYTPE, so the TYPE72GO dataset had only the
first 10 service classes and NO reporting classes. The
default NRECORD=50 is now set so there should be at least
some Reporting Class observations in SMFSMALL (which was
increased from 4 to only 19 cyl, so it's still SMALL).
Thanks to Ken Jones, Xwave, CANADA.
Change 28.311 Support for IMS/DBCTL transactions made in Change 28.310
TYPEIMSA are implemented in the JCLIMSL6/ASMIMSL6 IMS processing.
TYPEIMSB -TYPEIMSA was revised to split and separately process the
VMACIMSA IMS/TM from the IMS/DBCTL transactions.
Dec 31, 2010 -TYPEIMSB was corrected to correctly work on ASCII SAS,
and ancient code blocks were removed for IMS Version 5!
-VMACIMSA revised to create IMS07D/IMS08D for DBCTL.
-Some code blocks for _IMSVERS LE 6.1 were removed.
Thanks to Ojnan Lindholm, Volvo, SWEDEN.
Change 28.310 Support for IMS/DBCTL transactions created by TYPEIMS7 in
EXIMS07D IMSTRAN.IMS0708 is revised. While IMS/DBCTL transactions
EXIMS08D were correct, identifiable by PROGTYPE='D', DBCTL records
FORMATS also created thousands of spurious observations that had
TYPEIMS7 PROGTYPE=' ', but, fortunately, had no resources, so they
TYPEIMSD only wasted disk space! Now, VMACIMS splits the 07/08
VMACIMS records (DLRUSSN GT 0 for DBCTL) to create separate pairs
VMXGINIT in IMS07/IMS08 and IMS07D/IMS08D datasets that are then
Dec 31, 2010 separately sorted and combined by different algorithms to
eliminate the spurious observations. TYPEIMS7 can create
datasets for all IMS log records, or you can select which
records are read to populate only desired IMS datasets.
These tailoring macros allow you to define the LIBNAMEs
that will be used; all default to WORK. See examples in
the comments in TYPEIMS7 member.
DDNAME DDNAME.DATASET DATASET DESCRIPTION
TOKEN
&WIMS78 IMS0708.IMS0708 IMS/TM,IMS/DBCTL TRANS
&WIMSBMP IMSBMPS.IMSBMPS BMP EXECUTIONS
&WIMSA78 IMS0A78.IMS0A78 IMS/TM CPIC TRANSACTIONS
&WIMSOTH IMSOTHER.IMSOTHER ALL OTHER IMS LOG RECORD
-VMACIMS creates the new IMS07D and IMS08D datasets from
which the IMSDBCTL dataset is created by TYPEIMSD.
-FORMAT $MGIMFPT adds ' '='BLANK:UNMATCHED', because the
mismatched 08/07s can exist and now will be output and
can be seen with that value if you print PROGTYPE.
However, if you want to tabulate PROGTYPE, because it
is a character variable, you must add the /MISSING
option to see the formatted value tabulated:
PROC FREQ DATA=IMSTRAN.IMS0708;TABLES PROGTYPE/MISSING;
-Some code blocks for _IMSVERS LE 6.1 were removed.
-Member TYPEIMSD is replaced by TYPEIMS7 and contains only
comments. The original TYPEIMSD had the IMS/DBCTL logic
for the 07/08, but it did not handle IMS/TM transactions.
Thanks to Ojnan Lindholm, Volvo, SWEDEN.
Change 28.309 The Raid Rank ID variables R745RRID and R748RRID are now
VMAC74 formatted with HEX4. as both RMF and HDS internals show
Dec 27, 2010 the hex value in printed reports.
Thanks to Ron Hawkins, HDS, USA.
Change 28.308 Removal of duplicate SMF records (now, ANY non-VSAM z/OS
ANALDUPE data file). See MXG Newsletter FIFTY-SEVEN, MXG TECH NOTE
UNDUPSMF TWO for benchmarks of the four alternatives, and read the
Dec 23, 2010 ANALDUPE discussion of why MP's discovery that the SAS
MD5 Hash Function is an elegant and efficient solution to
remove duplicates from ANY z/OS file, not just SMF data.
For comparison, see the timings in UNDUPSMF, the original
de-dupe program.
Thanks to MP Welch, Aprize, Inc, USA.
Change 28.307 A short LINUXKRNL'02'x20101 MONWRITE segment caused error
VMACVMXA messages on the log of broken data, but MXG recovery was
Dec 23, 2010 successful. The invalid segment had MRHDRLEN=140 with
NRCPUS=2, so it had only 44 bytes for the two sets of 9
4-byte per-CPU counters. The short record is detected and
the second CPU observation is not output, but there are
no MXG messages on the log; if/when a user notices the
same problem we'll then pursue a problem report with IBM.
Thanks to MP Welch, Aprize, Inc, USA.
Change 28.306 Change 28.277 corrected NETSNAME from QWHCTOKN when there
VMAC116 was no period in QWHCTOKN; that same correction is now
Dec 21, 2010 made in SMF 116 when there is no period in QWHCNID.
Thanks to Nick Varvarigos, IBM Global Services, CANADA.
Change 28.305 -PDB.NJEPURGE did not contain all NJE-related SMF 26 Purge
BUILD005 records; MXG only output INREASON=JR or JT records into
VMAC26J2 that dataset, so INREASON=SR records were not output.
Dec 21, 2010 Now, all TYPE26J2 with SYSEXEC blank and any JES2 Offload
Jan 3, 2010 Purge Records are output in PDB.NJEPURGE.
-All TYPE26J2 variables are now kept in PDB.NJEPURGE.
-Variable INREASON='RD' is now set for purge records that
have INDEVICE of INTRDR, STCIRDR and TSOINRDR; previously
INREASON was blank.
-Blank INREASON will now print the first three instances.
-Jan 3: BUILD005 revised; it had added all of the _NJE26
variables to the PDB.JOBS dataset, wasting space, and the
dataset SPIN26 had also kept RDRTM SUBSYS.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 28.304 SMF 89 subtype 1 with no usage segment had INPUT EXCEEDED
VMAC89 RECORD LENGTH error, because Change 28.282 added test for
Dec 20, 2010 new data in line 390, but the test was GE 195 but should
have been GE 205. Only one record with no usage occurred
in 160,000+ records, but MXG now detects and output these
records in TYPE89. They can be identified because both
PRODTCB and PRODSRB are missing values. If a problem is
opened with IBM and a response is received, this note
will be updated.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 28.303 Printed output location was shifted to accommodate longer
ANAL119 host names and URLs, and to avoid print overlay of the
Dec 17, 2010 remote IP address on detail reports when reading IPHOSTS.
Thanks to Dave Ireland, USDA National IT Center, USA.
Change 28.302 The BY list for dataset TYPE30MU was insufficient and it
VMAC30 removed some non-duplicated observations. Adding vars
Dec 17, 2010 STEPNR STEPNAME PRODTCB PRODSRB SMFRECNR MULCEGNR to the
BY list eliminates the false duplicate removal, and by
adding after SMFTIME, they won't cause NOTSORTED errors.
However, there ARE duplicate TYPE30MU segments from the
same SMF record that are now kept only because MULCEGNR,
(segment position in each record) are different. You can
examine these duplicated segments with this example:
%INCLUDE SOURCLIB(TYPE30);
PROC SORT DATA=TYPE30MU OUT=SORT30MU;
BY READTIME JOB JESNR INITTIME SUBTYPE
PRODOWNR PRODNAME PRODQUAL PRODID
SMFTIME STEPNR STEPNAME PRODTCB PRODSRB;
DATA DUPES;
SET SORT30MU;
BY READTIME JOB JESNR INITTIME SUBTYPE
PRODOWNR PRODNAME PRODQUAL PRODID
SMFTIME STEPNR STEPNAME PRODTCB PRODSRB;
IF FIRST.PRODSRB AND LAST.PRODSRB THEN DELETE;
PROC PRINT;
TITLE DUPLICATE SEGMENTS IN TYPE30MU;
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 28.301 WPS does not provide the %DATATYP %macro, added in 28.06
VMXGGETM to detect non-numeric typed values for NRECORD argument
Dec 20, 2010 in %VMXGGETM call. VMXGGETM is used only to create the
SMFSMALL file or to count records/bytes in an SMF file.
That change was only to replace an obscure failure with
a successful run by forcing NRECORD to the OBS value.
That enhancement is now bypassed when executed under WPS.
Thanks to Matt Henson, McMaster-Carr Supply Co., USA.
Change 28.300 TYPETCP (SMF 118) Port Numbers (IN DECIMAL) were wrong if
VMACTCP MXG was executed on ASCII because the input was PIB2. but
Dec 14, 2010 must be the &PIB.2. macro variable to resolve correctly.
Having found this one exposure precipitated a search of
all MXG members and these members also had to be fixed;
fortunately, almost all of these members are ancient and
no longer used so there was no impact except consistency:
TTXPDS XIBMFDP XGTFANAL TYPSIMS1 TYPEIMS1 VMACZTPF
VMACTPF VMACTMVS VMACSMSX TYPESRLI PRODTESW PRODTEST
IDMSLOG IDMSLO57 IDMSJRLN ANALCM29 ANALCM27
Thanks to Cristian Molero, MConsulting Bvba, BELGIUM
Change 28.299 Wrong values (neg PCTCPUBY +) in PDB.TYPE70EN for CPUID=0
VMAC7072 if SMF70PAT was non-zero in any engine, because SMF70PAT
Dec 14, 2010 was kept in both TYPE70EC and TYPE70EL, which are MERGEd
to create PDB.TYPE70EL, but it only should have been kept
in TYPE70EC. Having the same named variables in datasets
that are merged can have unintended consequences if they
are not in the BY list for the merge.
Fortunately, the PDB.TYPE70EN (one obs per engine) is not
(yet) used to create the per-engine values in PDB.TYPE70.
And, only software developers like Don are even likely to
ever need the level of detail from RMF 70s in TYPE70EN.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 28.298 -EXITCICS decompresses SMF 100,101,102,110 & 112 records,
EXITCICS The previously reported errors with SMF 112s and EXIT112
EXIT112 were not in the CICSIFUE exit code, but in VMAC112 due to
VMAC112 IBM's change of FOCVER='V560' backwards to FOCVER='V420'
Dec 18, 2010 (with NO change in the record itself), which caused MXG's
tests for GE 'V560' to fail and misalign the decompressed
record. With the exit, the ABEND was incorrectly blamed
on the Exit, or, processing uncompressed records caused
zero observations in the T112xxxx datasets.
Member EXITCICS invokes the CSRCESRV function; this note
here so a search for it will find this change text.
-VMAC112 was revised for FOCVER='V420'.
-The EXIT112 member is now only comments to use EXITCICS.
-EXITCICS added DB2 100,101,102s support in MXG 28.06.
Thanks to Dick Arnold, Commerce Bank of Kansas City, USA
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA
====== Changes thru 28.297 were in MXG 28.08 dated Dec 13, 2010=========
Change 28.297 WANTONLY=DB2ACCT, now works; it worked fine if there was
READDB2 a blank before the comma. Now in QA TESTREAL. Found this
TESTREAL when I tried to use it in ANALDBUT, so Tom gets 2nd cite!
Dec 12, 2010
Thanks to Tom Glaser, MasterCard, USA.
Change 28.296 Analysis of DB2 DSNUTIL executions, by combining DB2ACCT
ANALDBUT observations with QWHSPLAN='DSNUTIL' with DB2 Trace data
Dec 12, 2010 IFCIDs 23,24,25 to add UTILNAME, UTILPHAS, and UTILID
variables to the DB2ACCT observation for each DSNUTIL
execution. The output WORK.DSNUTIL dataset is created.
Thanks to Tom Glaser, MasterCard, USA.
Change 28.295 Analysis of WHO deleted your DB2 data, combining TYPE6156
ANALWHO and DB2ACCT. If you have the DDL Audit Trace its easy:
Dec 10, 2010 %ANALDB2R(PMACC01=NO,PMACC02=NO,
PMSTA02=NO,PMAUD02=YES,AUDIT=DDL);
and this program would not be needed.
However, ANALWHO selects the z/OS Dataset name from
the TYPE6156 datasets, from which you can find the time
when the z/OS dataset was deleted, but those records will
have only the job name of the DB2 DBM1 address space.
By adding DB2ACCT you can narrow in on who did it to the
DB2 table in that time period, with QXDRPDB or QXDRPTA or
QXDRPIC GT 0.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.294 Variables CPUZIETM and CPUIFETM added to summarization
ASUMSMFI of PDB.SMFINTRV to create PDB.ASUMSMFI.
Dec 10, 2010
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.293 -Support for OPENSSH SMF 119 subtypes 96-98 creates new
VMAC119 dataset ddddd description
VMACSMF TYP11996 T11996 OpenSSH Server Transfer Complete
Dec 9, 2010 TYP11997 T11997 OpenSSH Client Transfer Complete
TYP11998 T11998 OpenSSH Login Failure
-Technically, these new subtypes are INVALID SMF records
because BIT 1 in SMFxFLG, which is the IBM indicator that
the record contains subtypes, is not ON, causing VMACSMF
to see these as SUBTYPE=0. Now, VMACSMF forces the input
of SUBTYPE for ALL SMF ID=119 records.
Thanks to John McKown, Health Markets, USA.
Change 28.292 New MODATE option PROC PRINTs the found datasets in order
VMXGSRCH of the Modify date, so the search results are printed in
Dec 8, 2010 the same order they appear on the SAS log. The MODATE=NO
default prints the datasets alphabetically, as before.
MODATE=YES was used to debug the multi-step TYPETMS5 code
by selecting a VOLSER to follow, especially since the
variable name that contains "volser" is different in
different temporary WORK datasets.
Additional parameters were also added to allow you to
limit which datasets and which variables to be searched
and printed, if you don't want to see all of them.
New parameters:
MODATE=NO Change to YES to sort on modify datetime
DATASET= A list of full or partial datasets to be
searched for the string
VARS= A list of full or partial variable names
to be searched/printed
Change 28.291 -Cosmetic. SUBTYPE for DB2 ID=102 can be greater than 255,
VMACSMF but previously they were set to missing value so UTILGETM
Dec 8, 2010 did not report them. For actual ID=102 processing, MXG
uses the IFCID value so this had no real impact.
-Cosmetic. Back-to-back ID=2 did not print the LAST RECORD
IN GROUP message. SMFHDRCN now keeps track.
-Reminder for reading only part of an SMF file:
While using OPTIONS FIRSTOBS=100 OBS=500; can sometimes
used, to read only those input records, if there is any
post-processing (deaccumulate, sort, etc.) it won't work!
Instead, use %LET SMFEXIT= FIRSTOBS=100 OBS=500; which
will used those on the INFILE and thus only impact which
records are read, not touching the global options.
Change 28.290 New DB2 analysis adds JESNR and READTIME to DB2ACCT by
ANALDBJS reading PDB.JOBS and PDB.JESNR and sequencing DB2ACCT
Dec 8, 2010 by JOB and SMFTIME to propagate those variables.
Thanks to Jane Stock, USPS, USA.
Change 28.289 Variables GATLIMIT and GATCNT are now KEPT in TYPE6156 so
VMAC6156 that changes in GDG limits can be observed.
Dec 8, 2010
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 28.288 Cosmetic. If no observations are found with the searched
VMXGSRCH values, now, a note that no observations were found is
Dec 7, 2010 printed on the log.
Change 28.287 Support for ASG-TMON for VTAM subtype 'SX' creates new
ANALTMVT TMVTSX dataset with the "Session Extended Information".
EXTMVTSX New member ANALTMVT replicates for ASG-TMON VTAM reports.
IMACTMVT
VMACTMVT
VMXGINIT
Dec 6, 2010
Change 28.286 Variables QAINTS and QAINTE, interval start/end datetimes
VMACTMMQ should have been kept in TMMQQAA dataset, and now are.
Dec 6, 2010
Thanks to Homayoun Riazi, United Health Group, USA.
Change 28.285 CICS STID=143 sub-subtype printed message that six bytes
VMAC110 of new data was skipped, but there was no new data; MXG
Dec 3, 2010 incorrectly input ECCEVCAP as only 4 bytes, when it is 8,
so ECCEVCAP/ECCCAPFA/ECCEMIFA in CICECC Statistics Data
set were wrong, and the subtract of 146 is now 152 after
that correction.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 28.284 -VMXGUOW was enhanced to detect that all input tokens
ASUMUOWT (_LCICTRN _LMONTSK _LDB2ACC) do not exist, or it will
VMXGUOW construct the macros based on the presence or absence
VGETENG of the corresponding &P****** macro. If for example
Dec 3, 2010 &PCICTRN is empty or the DDNAME is not found, the
_LCICTRN macro is set to CICSTRAN. If it is found,
the macro is set to &PCICTRN..CICSTRAN. If neither
CICSTRAN nor MONITASK exist, a warning is printed,
but the output ASUMUOW dataset is created with OBS=0.
-ASUMUOWT (for TMON instead of CICSTRAN input) will now
call VMXGUOW, so there is only one macro to maintain;
this obsoletes VMXGUOWT as no longer required.
-VGETENG NOEXIMSG=YES added as a default. NOEXIMSG=NO
suppresses the MXGNOTE on the log as it does in the
other %VGET macros.
Thanks to Ken Goodis, Emblem Health, USA.
Change 28.283 Many RACF segments have a variable containing CLASS*NAME
VMAC80A for that specific RACFTYPE/SMF80DTP, but some had only
Dec 2, 2010 "CLASS*NAME" for their label value. Now, the RACFTYPE
value is included to make the LABEL value unique.
Thanks to John Matson, EPSON, USA.
Change 28.282 -Support for APAR OA31615 which adds zIIP & zAAP CPU TIME
EXTY89I to dataset TYPE89, and which adds new Intersect Data that
IMAC89 creates new TYPE89I dataset for Measured Usage reporting.
VMAC89 -Variable SMF89SYN is added to each of the BY lists as the
VMXGINIT last variable; if you have duplicate SYSTEM names in your
Dec 2, 2010 SYSPLEX, then SMF89SYN will be different than SYSTEM.
Change 28.281 PDB.ASUMCICR dataset contains the count/average response
ASUMCICR time by DATE for each REGION/APPLID, and can be created
Dec 1, 2010 from transaction detail MONITASK or CICSTRAN or ASUMUOW
datasets, or the summary PDB.CICS dataset (built by
ASUMCICS/ASUMCICX), or, if the input is WEEK.ASUMCICR or
if INDATA= MON.ASUMCICR ... SUN.ASUMCICR, the prior sums
will be re-summed to include partial days for each DATE.
And, if NODATE=YES, is specified, whatever input is in
the INDATA= argument will be summarized only by APPLID,
(in case your manager thinks a weekly average of all of
the week's transactions in a region is a useful metric!).
The PDB.ASUMCICR dataset also summarizes TASCPUTM.
Note: These values may be of little use, if your site
uses Multi-Region-Option MRO and you read transaction
detail datasets (MONITASK/CICSTRAN), where the counts
will be inflated and false, since each one of the
multiple observations of an MRO transaction (one TOR,
one-to-many AOR, one-to-many DOR/FOR obs) will each be
counted as a separate "transaction", which they aren't!
On the other hand, if there are very few MRO trans, and
your APPLIDs are stable, these counts/averages might be
useful for tracking quantity and response.
Thanks to Ken Goodis, Emblem Health, USA.
Change 28.280 The XCF Path report added the TRANSFER TIME column, and
ANALRMFR some BY lists with repeats of SYSNAME were corrected.
Nov 30, 2010
Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.
Change 28.279 ASUM113 used SMFTIME to define each interval, but SMFTIME
VMAC113 can have multiple values in the records for an interval;
Nov 29, 2010 it can take a second to write all of the records for one
interval. If SMFTIME had different .01 second values,
ASUM113 incorrectly created "near duplicate" observations
with wrong values. As no "start of interval" flag exists
in SMF 113 records, this revision uses the time value in
the SM113CPU=0 and SM113CST=1 and SM113CPT=0 observation
to populate SM113STM, the Interval Start Time, for each
interval. An additional error when the GMT OFFSET was
was positive that could cause a one-second error in the
converted timestamps was corrected.
Thanks to Adnan Can, Garanti Teknoloji, TURKEY.
Change 28.278 Cosmetic. Variable CPGRPJOI is FORMATed DATETIME21.2.
VMACRMFV
Nov 28, 2010
Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA
Change 28.277 Variables NETSNAME and UOWTIME are created in DB2ACCT so
VMACDB2H that DB2 observations with QWHCATYP=4, i.e., CICS, can be
Nov 25, 2010 merged with CICSTRAN to create PDB.ASUMUOW. Those vars
Nov 29, 2010 are now populated ONLY for DB2ACCT observations from CICS
(i.e. QWHCATYP=4). Changes to NETSNAME creation in DB2
in MXG 28.05 caused non-CICS DB2ACCT obs to have changed
values in last 4 characters that caused no harm except
to show up as differences in PROC COMPARE, but as there
is no value in creating NETSNAME for these observations,
to avoid confusion, they are no longer populated.
-However, some values of NETSNAME were not correctly
created, if the last four characters happened to contain
a period in those hex values. The logic was revised to
only scan the first 16 bytes of QWHCTOKN for the period.
-Also, if there WAS a period in the first 16 bytes, then
the resultant NETSNAME value was non-blank in the last
four bytes; now it is populated with only the first 16
bytes of QWHCTOKN in that instance.
-These MXG errors could cause PDB.ASUMUOW to have fewer
observations than it should.
Thanks to Paul Volpi, UHC, USA.
Thanks to Matthew Chappell, Queensland Dept of Transport, AUSTRALIA.
Change 28.276 ASUMHSM enhanced with optional macro to select HSM data
ANALHSM to be summarized, and ANALHSM also enhanced to support
ASUMHSM selection with BEGTIME/ENDTIME.
Nov 18, 2010
Dec 11, 2010
Thanks to Doug Medland, IBM Global Services, USA.
Change 28.275 -Support for NMON FCREAD/FCWRITE/XFERIN/XFEROUT records
EXNMONFC creates new dataset PDB.NMONFC for the Fibre Channel data
VMACNMON for AIX and Linux.
VMXGINIT -Support for NMON DISKXRFER (disk transfer reads per sec)
Nov 17, 2010 creates new variable DISKXRFR in PDB.NMONDISK.
Dec 2, 2010 -Support for DISKBUSY/READ/WRITE/XFER/BSIZE/SERV/WAIT with
Dec 9, 2010 suffixes thru 21.
-Invalid UARG record with only four fields and the fourth
containing text of PPID COMMAND THCNT USER GROUP COMMAND
is detected and printed on the log and deleted.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 28.274 NMON variables COMMMAND and FULLCOMD lengths increased to
VMACNMON 512 bytes to capture the full text of commands, and the
Nov 17, 2010 elements of the WORDS array are also increased to $512.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 28.273 MXG support for CA NSM/TNG only output 4-digit values in
VMACTNG the generated %LET statements with number of Instances,
Nov 13, 2010 creating %LET xxxxxx=12E3; which is not valid syntax for
the macro language. The %LET counters now put 6 digits.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 28.272 SMF fields SMF70HOF/SMF89HOF/SMF89DTO for SCRT are NOT
VMAC7072 documented that the last 3 nybbles of those 8-byte TOD
VMAC89 Clock fields can be non-zero but are NOT used by SCRT.
Nov 13, 2010 MXG input those fields, which caused fractional seconds
that did not exactly match SCRT reports. Now knowing the
idiosyncrasy of these fields, MXG now zeros those last
three nybbles prior to their input to match SCRT.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Thanks to Charles E. Hackett, SCRT-IBM, USA.
Change 28.271 Site tailoring created temporary variable named COUNTER
VMAC113 in CICS exit years ago, but when they added SMF 113 to
Nov 11, 2010 their daily BUILDPDB, it died because that name was used
as an ARRAY name in VMAC113, an unacceptable use.
While the site easily renamed their temporary variable to
avoid the conflict, I changed COUNTER to CNTR113.
Change 28.270 Documentation. The successful JCLTEST9 execution prints
JCLTEST9 UNINITIALIZED variable messages in two places. There are
Nov 11, 2010 335, mostly with variable names AD0nnxxx immediately
prior to NOTE: Dataset WORK.SV01EV01 has 0 observations.
There are 120 more with various names before the
NOTE: Dataset WORK.AIXPTXIN has 0 observations.
Thanks to Andrew Woods, Interactive Data, ENGLAND.
Change 28.269 TYPE72DL NOT SORTED error after setting the Clock Back
WEEKBL3 for DST, combining daily PDBs all created by the same MXG
WEEKBL3D Version! Discovered GMTOFF72 was in BY list in VMAC7072
WEEKBLDD for TYPE72DL/TYPE72GO/TYPE72MN/TYPE72SC datasets, but not
WEEKBLDT in the WEEKBLDs. Have now added GMTOFF72 after STARTIME
WEEKBLD in all WEEKBLDs.
Nov 8, 2010 Jan 16,2011: Now, see Change 28.324.
Change 28.268 Utility program identifies all non-printable characters
UTILNPRT in the formatted value of all character variables in all
Nov 8, 2010 SAS datasets in a SAS data library. SAS Enterprise Guide
before 4.22 failed on non-printable DB2 data, so this was
written to examine what variables could cause problems.
Most variables that contain hex data in characters
are formatted with $HEX precisely to eliminate the
non-printables, or $EBCDIC field's '00'x are changed
by MXG to blanks. But some variables have mixtures of
EBCDIC and HEX; while these could be formatted $HEX,
sometimes that EBCDIC text is useful in PROC PRINTs,
and it would be lost in hex characters with $HEX, so
I leave the variable unformatted, leading to this kind
of exposure, hence the utility.
If you have a problem, just add a FORMAT vvvvvvvv $HEXnn.
statement in the EXdddddd exit for the dataset, where nn
is twice the length of the character variable.
Thanks to Stephen Hughes, Excellus, USA.
Change 28.267 Optional argument NOEXIMSG=YES added so that messages
VGETENG could be suppressed when not wanted, used internally by
Nov 5, 2010 other MXG programs that use VGETENG.
Change 28.266 MXG's IEBUPDTE-for-ASCII SAS program to create a source
IEBUPDTE directory of files from an IEBUPDTE-format input file now
Nov 4, 2010 looks for either './ ' or '.XY' in columns 1-3 to flag a
new "member", so the PRODTEST member can be read directly
without EDITing those '.XY' into the './ ' that is needed
by the z/OS PGM=IEBUPDTE.
The MXG source library has to have '.XY' inside these
members that contain a PDS in IEBUPDTE-format, because
there might still be someone actually using
PGM=IEBUPDTE on z/OS to create their MXG.SOURCLIB PDS,
if they chose to download the (ARCHAIC) ebcvvnn.ebc
EBCDIC MXG install file to z/OS, as those './ ' would
create unwanted new PDS members on z/OS.
On z/OS the tervvnn.ter tersed-PDS MXG Install File
should be downloaded instead.
-The SHAREBUFFERS options caused no harm but no value as
it's for performance when writing in-place, so it was
removed.
-The INFILE option TERMSTR=CRLF is now in comments, as it
doesn't exist in SAS V9.1.3 nor WPS, and it is only
needed if this IEBUPDTE program is executed on unix to
read a windows-created CRLF-terminated text file.
On unix, TERMSTR=LF is the default text line terminator.
Thanks to MP Welch, Aprize, Inc, USA.
====== Changes thru 28.265 were in MXG 28.07 dated Nov 5, 2010=========
Change 28.265 ASUMCACH failed INVALID ARGUMENT TO FUNCTION INPUT with
ASUMCACH DEVMODEL='3380K' (i.e., with alpha character) when the
Nov 4, 2010 new statement MODEL=INPUT(DEVMODEL,HEX8.) was executed.
Now, that statement is protected if DEVMODEL is not a hex
value (e.g., MODEL=3380x for DEVMODEL='3380K'.
Thanks to Tom Heller, CINCOM, USA.
Change 28.264 Support for DB2 Version 10. COMPLETELY INCOMPATIBLE:
EXDB2ACR MXG 28.06 was required to process the V10 data, but now,
EXDB2ACW MXG 28.07 has full support plus the below documentation.
FORMATS
IMACDB2 -DB2 V10 Records can be compressed. Member EXITCICS is
VMACDB2 updated to decompress SMF 110-1 and SMF 100,101,102s.
VMACDB2H
VMACSMF -INVALID DATA FOR QWHSRELN is proof you have DB2 V10 SMF;
VMXGINIT QWHSRELN is not a valid "PK" value; it now has 'A1'x, so
VMXGWORL VMACDB2H was revised. The value is 10.1, not 10.0.
Jun 16, 2010 -And INPUT STATEMENT EXCEEDS RECORD error ABENDs may occur
Jun 19, 2010 because fields were inserted rather than added at the end
Jun 21, 2010 where MXG would have automatically skipped them.
Nov 4, 2010
-Subtype in SMF Header INCOMPATIBLY increased from one to
two bytes (because that's what it should have been all
along. However, only SMF 100 and 101 records populate
the subtype in the SMF Header. VMACSMF was updated to get
the DB2 version and then input the subtype correctly.
(MXG has always stored the IFCID value in SUBTYPE for the
DB2 102 trace records, since they don't have a subtype.)
-New DB2ACCGW dataset is created for each QWAR segment,
which can be used to correlate rollup records.
-Multiple SMF 100 Subtype 1 (DB2STAT1) IFCID=2 records are
now supported. These records contain only QBST or QBGL
segments and are written when more than 25 buffer pools
are used in an interval.
-Macro _SDB2STS was redesigned to correct DUPLICATE MERGE
VALUES errors that occurred only if DB2 was restarted, by
removing QWHSACE QWHSMTN from the _BDB2STS "BY list", by
interleaving the four input datasets to create STATSGROUP
to use as merge variable (QWHSSTCK cannot be used as it
not exact in all four records for each interval), and by
conditionally merging T102S225 (DB2 V8) if it exists.
The _SDB2STY macro is now a null macro and no longer
used. The new sort order for the PDB.DB2STATS dataset is
now SYSTEM QWHSSSID QWHSSTCK. A cosmetic enhancement to
VMXGWORL, NOWARN=YES, is used to suppress the MXGNOTEs
when a tested dataset is known to not always exist (used
for T102S225 in this change).
-Many new variables added to DB2ACCTx/DB2STATx by V10:
DB2ACCT:
QLACRLNU QWACPCTT
QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
DB2ACCTP:
QPACAWLH QPACANLH QPACRLNU
QWACPQRY QWACAWLH QWACARLH
DB2ACCTB:
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2ACCTP:
QPACAWLH QPACANLH QPACRLNU
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2ACCTG:
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2STAT0:
Q9STCDMD QDSTNQWC QDSTNARD QDSTMARD
D64POST A64POST A64WAIT M64DISNU M64DISPG SGETR64
SGETEXT6 SGETDEXT SFREER64 SFREEDEX DISCARDM
QWS1MCPU QWS2MCPU QWS3MCPU QWS4MCPU
QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
DB2STAT1:
QISEKSPG QISEKSPA QISEKLRU QISEDLRU QISESQCB QISESQKB
QISESQCA QISESQKA
QISTRCCI QISTRCCD QISTRCCU QISTWMXA QISTWMXU QISTWCTO
QISTW4K QISTW32K
QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
DB2STATB:
QBSTFLG
DB2GBPST:
QBSTFLG
-SMF 102 IFCIDs 172 and 196 were compatibly updated.
-SMF 102 IFCIDs 267, 268, 317, and 337 are now decoded.
New formats are created by the updated FORMATS member.
-These other IFCIDs in user-sent SMF files are presumably
the trace records that are normally written or needed.
They have been examined and none were change in V10:
4,5,55,87,105,140,141,173,196,199,250,254,258,261,262
-See the text of Change 28.146, which made changes to DB2
processing that were independent of the Beta.
Thanks to IBM DB2 V10 Beta for both EARLY DATA AND DOCUMENTATION!!
Change 28.263 Support for IBM/OMEGAMON XW MQ flat file (INCOMPAT) adds
VMACOMMQ new formats for UTF-8 data, and MXG only tested for up to
Nov 2, 2010 20 datasets, but there can be 26 in total.
Thanks to Michael Reffler, Credit-Suisse, USA
Change 28.262 Support for CA MIM RESOURCE SHARING R11.7 (COMPAT) adds
VMACMIM new variables to several datasets, and many variables
Nov 2, 2010 are now correctly input and formatted, especially times
in MIMCF dataset. Subtypes 0/1/2/4/5/7/8/9/256 and 256
have been tested.
Thanks to Tony Curry, BMC, USA.
Change 28.261 SAS/GRAPH example that uses PDB.ASUMCELP (LPAR-CEC level)
GRAFCEC (built by ASUM70PR) to create charts of CEC Utilization
Nov 1, 2010 for each of the engine types (CP,IFA,ZIP,IFL).
Change 28.260 IP address (45 character text) and IP Port Number were in
VMACTPX TPX Version 4.0 but were overlooked; now they are input
Oct 29, 2010 in 05/06/07/08 subtypes, when possible:
-Invalid subtype 7 records, LENGTH=101, LRECL=104, with
LEN07=93 in bytes 58-59 of the data portion indicating
the record should contain IP Address and Port, but the
record has only 44 bytes remaining in the record, i.e.
the IP Address/Port field are not present.
-Subtype 8 record with a IP Port field that is not a valid
EBCDIC numeric (>?01) with an IP Address with manually
typed all text characters (ABCDEFGHI...) caused hex dump
and error message, now both suppressed with ?? modifier.
-These records were supposedly created by TPX 5.3, but the
Version value in the records is 4.0.
Thanks to Dennis Longnecker, State of Washington Courts, USA.
Change 28.259 Pairs of spurious "WRONG LENGTH OF 200 FOR CMRDATA" log
UTILEXCL messages were printed by _BLDEXCL because only the first
Oct 29, 2010 to the three repeated (for emphasis) PUT statements was
conditional; the 2nd-3rd PUTs always printed a pair of
this warning message. Only if there are THREE adjacent
warning messages (then and now) does the warning apply.
The three PUTs are now inside a conditional DO-Group.
Thanks to Mrs. Brigitte Wallbaum, FINANZ INFORMATIK GMBH, GERMANY.
Thanks to Mr. Dieter Haak of FINANZ INFORMATIK GMBH, GERMANY.
Change 28.258 -Support for WebSphere ID=120 SUBTYPE=20 records has now
VMAC120 been validated (and rewritten) with actual data records.
VMACSMF -ID=120 SUBTYPE=20 records are INVALID because they do NOT
Nov 1, 2010 set the "RECORD CONTAINS SUBTYPES" bit in Byte One of the
SMF header (all other 120 subtypes DO set that bit), so
VMACSMF had a missing value for SUBTYPE for ID=120-20s.
Now, VMACSMF always reads the 2-byte subtype for 120s,
whether or not the bit is enabled.
-Dataset TY12020 is now populated, and the Start and Last
Datetimes are converted from GMT to Local Time Zone.
-There is an undocumented duration field SM120XZ at the
end of the subtype 20 record, following SM120XP; its has
a value about a third of the CPU duration in SM120XP.
-The offset values in the documentation are bogus; they
implied the character variables were fixed length, but in
fact, the data shows the fields are only as long as the
value in their preceding length field
-There are pairs of duplicate Subtype 20 records with all
fields except SMFTIME identical. They are not adjacent,
with 8 subtype 9 records and 3.34 seconds between them.
-Variable SM120SMF is the delay from XL Last Referenced
datetime to SMFTIME, and is as much as 10 seconds, which
is a VERY significant and unexplained delay.
The problem with a big delta is that SMFTIME must be
compared with XL to calculate the GMT Offset, because
there is no GMT Offset value in WebSphere SMF 120s.
Thanks to Paul Gordon, Bank of America, USA.
Change 28.257 ERROR: VARIABLE IDANDSUB ... with BUILDPDB will occur if
ANALID you reuse the same DSNAME with DISP=OLD for your //PDB,
Oct 28, 2010 and your old PDB library was created before MXG 27.27,
and there is a dataset PDB.ID in your old PDB library.
You need to delete that old PDB.ID dataset, e.g.:
// EXEC MXGSASV9
//PDB DD DSN=YOUR.PDB,DISP=OLD
//SYSIN DD *
PROC DELETE DATA=PDB.ID;RUN;
Prior to MXG 27.01, BUILDPDB created the PDB.ID dataset
to count SMF records, but Change 27.005 instead created
the new PDB.SMFRECNT (smaller but more information), and
left the ID dataset (which now had new variables) in the
WORK file by default. But Change 28.148 created ANALID
member to externalize the creation of PDB.SMFRECNT, which
uses %VMXGWORL to locate the ID dataset, since you could
could have tailored MXG to still keep the new ID dataset
in your PDB library. Unfortunately, if the old PDB.ID
dataset exists, the above error occurs.
-Initially, I said:
While it would be possible to detect and delete the
old PDB.ID dataset, that would require you to install
at one new MXG code member, so the simple delete above
is far simpler and safer. That the error has only
occurred once suggests that most MXG sites create a
new DSNAME (GDG or date-in-name) for each daily PDB
library (required for some job sked pkgs), or that
sites that do use DISP=OLD on their //PDB also use
PROC DELETE DATA=PDB._ALL_; before each BUILDPDB.
-However, this Change looks first for WORK.ID and variable
IDANDSUB or second for PDB.ID with that variable to build
PDB.SMFRECNT; otherwise a zero obs PDB.SMFRECNT is built.
P.S. Change 28.148 for ANALID/BUILD001/BUIL3001 was never
written up in CHANGES; a separate change got that number.
Thanks to Alan Gray, CareFirst, USA.
Change 28.256 You should not use a variable named "DATETIME" in MXG
ASUMDB2A reports, because there is always a named variable, like
ASUMDB2B QWACBSC, that is self-documenting and code-clarifying.
ASUMDB2G Variable DATETIME was intended to be a temporary token
ASUMDB2P and shouldn't have been kept, but where it slipped thru
Oct 27, 2010 and ended up being kept in MXG-built datasets, it now has
to be kept and populated. The quick fix, added in
MXG 28.06, to insert a "compiler faker" to suppress an
uninit warning, caused DATETIME to be a missing value.
The first three member's faker was replaced by code to
create/populate DATETIME, and the faker was removed from
ASUMDB2P where it was never kept.
Feb 4: Cosmetic. Variable DATETIME is now length 8.
Thanks to Jim Kovarik, AEGON USA, USA.
Change 28.255 Variable SMF30DAS='EXCP*SEGMENTS*THAT WERE*SUPPRESSED'
VMAC30 was INPUT but not kept. EXCP segments can be suppressed
Oct 27, 2010 with EMPTYEXCPSEC(SUPPRESS) option in SYS1.PARMLIB, or
by DB2 V10 APAR PM17542 which enables S99DASUP.
Change 28.254 The protection for OFF42S3 NE 108 added in Change 28.093
VMAC42 was no protection as it caused misalignment and is now
Oct 26, 2010 removed. With that protection removed, reading the old
data, I now detect, legitimately, an invalid S4 record
with 21 segments totaling 27888 starting at 4053 for an
expected 31944 bytes but the record LENGTH is only 31832.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 28.253 Variables R85STOUT, R85OLRD and R85NLRD are created in
VMAC85 TYPE85AC dataset.
Oct 26, 2010
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Thanks to Jens Mohring, Huk-Coburg, GERMANY.
Change 28.252 Missing semicolon after PROC DATASETS caused Accounting
ANALDB2R reports fields AUTHID DB2 CONNID CORRED to not be
Oct 26, 2010 correctly translated and propagated, and caused attempt
to delete dataset named RUN;
ACCTSORT option added.
Change 28.251 -Assembly of MXG 28.06 EXITCICS fails with this message:
EXITCICS 346 * DC XL2'0000' For Debug purposes RHA
Oct 26, 2010 JZ OPENX no...
** ASMA144E Begin-to-continue columns not blank - JZ
because I had accidentally moved that RHA text in source
line 361 in EXITCICS into column 72, making the statement
a continuation.
code and the decompression exit, when storing into the
MXG Source Library.
-SYSLIB DD needed a third concatenation for the site's
CICS Macro Library.
Thanks to Ken Goodis, Emblem Health, USA.
Change 28.250 -COPYONLY= logic was still dysfunctional. Change 28.211
READDB2 did not proper locate the selection by IFCID, and now the
Oct 26, 2010 SUBTYPE, decoded by VMACSMF, is used for COPYONLY.
-NOTE: VARIABLE QWHCCCN UNINITIALIZED because it should
have been spelled QWHCCN. If CONNID=xxxxxxx selection
was requested in ANALDB2R, this error caused zero obs
to be selected.
-Option UNIQUE will write each DB2 dataset to its unique
DDNAME (e.g., DB2ACCTP to DB2ACCTP.DB2ACCTP) for all of
the datasets that would likely be kept.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 28.249 VMXGSUM is enhanced with MODE= and MEDIAN= added so those
VMXGSUM statistics can be created. The complete list of all of
OCT 20, 2010 the statistics that VMXGSUM can be created:
MEAN MEAN (AVG) P1 PERCENTILE 1%
MIN MINIMUM P5 PERCENTILE 5%
MINLONG MINIMUM 8 BYTE P10 PERCENTILE 10%
MAX MAXIMUM P25 PERCENTILE 25%
MAXLONG MAXIMUM 8 BYTE P50 PERCENTILE 50%
SUM SUM 4 BYTES P75 PERCENTILE 75%
SUMLONG SUM 8 BYTES P90 PERCENTILE 90%
FREQ NUMBER OBS P95 PERCENTILE 95%
STD STANDARD DEVIATION P99 PERCENTILE 99%
VAR variance T Students T
CV coeff of Variation STDERR Standard Error
MEDIAN median KURTOSIS Kurtosis
MODE= mode
With AUTONAME=YES the variables will be named
variable-name_statistic-name e.g., XXXXXXXX_SUM
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.247A The DOCMXG example using _Kdddddd to create a new dataset
VMAC110 is revised so it works, and its exceptions documented:
Oct 20, 2010 1. The %QUOTE(text) function is needed around text that
contains semicolons (which would otherwise end the
%LET statement).
2. But %QUOTE(text) cannot be used if a close paren is in
the text.
3. So the macros with no semicolons are first, followed
by those that contain semicolons in the %QUOTE(text).
4. When redefining MACRO _Edddddd you can use syntax of
a. %%%INCLUDE of the EXdddddd member, and whatever
logic is in that Exit member will then determine
which obs are output. I can't explain why THREE
percent signs are required here, but they are.
b. OUTPUT ddname.dataset syntax to output all obs
to both datasets, or you can use the IF condition
DO group to select which obs to output.
c. NEVER use a DELETE; statement in _Edddddd exits.
Always use a positive IF condition THEN DO; group.
The DELETE statement terminates reading of the SMF
record, which would prevent the reading of any of
the additional repeated segments.
5. You can also specify COMPRESS=NO in the _Kdddddd to
override the MXG COMPRESS=YES default, by putting
COMPRESS=NO before the close paren for that dataset.
6. The example uses _N110 to null all of the 110 datasets
so that ONLY the datasets "reinstated" by defining
their _Wdddddd macro will be created.
%LET MACKEEP=
_N110
MACRO _KCICTRN COMPRESS=NO)
&PDB..NEWDS (KEEP=ABCODE APPLID ENDTIME
FCTOTCN PROGRAM SYSTEM
STRTTIME TASCPUTM TDTOTCN
TRANNAME TSTOTCN
%
MACRO _WCICTRN CICSTRAN.CICSTRAN %
%QUOTE(
MACRO _ECICTRN
%%%INCLUDE SOURCLIB(EXCICTRN);
IF CONDITION THEN DO;
OUTPUT &PDB..NEWDS;
END;
%
);
%INCLUDE SOURCLIB(TYPE110);
-The _N110 macro in VMAC110 was updated in this change to
also null the CICSBAD dataset, which had been overlooked.
Thanks to Brian A. Harvey, HCL America, USA.
Change 28.247 GRAPHICS=NO/YES added as an option. If you do not have
ANALCAPD SAS/GRAPH it will automatically be set to NO, but if we
OCT 19, 2010 detect SAS/GRAPH but you only want a printer plot, you
Oct 26, 2010 can specify GRAPHICS=NO. For readable non-graphics plots
the values being generated by the PROC FORMAT for TYPE
now use the first character.
-Oct 26: Uninitialized LQxLAC, LQxMSU & LQxMSU70 variables
were harmless variables that didn't exist in ASUMCEC.
Thanks to Michael Marcus, ATOS Origin, USA.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 28.246 -ITRM Validation of MXG 28.06 for their next dictionary
VMAC30 precipitated these discoveries and corrections:
VMAC7072 -VMAC30: New Initiator CPU time at INIT and TERM variables
VMACDB2 CPITCTTM CPITCITM CPISRTTM CPISRITM
VMACIMSA were wrong in 28.06; they were INFORMATed and FORMATed
VMACNTSM incorrectly with PIB4.6 instead of PIB4.2 and TIME12.2.
Oct 22, 2010 The wrong FORMAT caused their values to print as trash,
ASUMMIPS the wrong INFORMAT caused their value to be wrong, too
Oct 28, 2010 small by a factor of 10**4.
Nov 14, 2010 These four new CPI CPU times are important and discussed
in Change 28.175.
-VMAC7072: Counter NBKDUPE should not have been kept in
dataset TYPE70EN, and now isn't.
And all of these variables for Engines 64-95 should never
have been kept in PDB.TYPE70 and are now DROPped:
CAIVA -CAIVI CAIYD -CAIYZ
CPUEDTVA CPUEDTVI CPUEDTYD-CPUEDTYZ
CPUPATVA-CPUPATVI CPUPATYD-CPUPATYZ
CPUPDTVA-CPUPDTVI CPUPDTYD-CPUPDTYZ
CPUWAIVA-CPUWAIVI CPUWAIYD-CPUWAIYZ
IFATYPVA-IFATYPVI IFATYPYD-IFATYPYZ
IFAWAIVA-IFAWAIVI IFAWAIYD-IFAWAIYZ
IORATEVA-IORATEVI IORATEYD-IORATEYZ
MVSWAIVA-MVSWAIVI MVSWAIYD-MVSWAIYZ
PCTCIBXD-PCTCIBxz PCTCIBUa-PCTCIBUi
LCPUDEXD-LCPUDExz LCPUDEUa-LCPUDEUi
LCPUWAXD-LCPUWAxz LCPUWAUa-LCPUWAUi
PCTCPBXD-PCTCPBxz PCTCPBUa-PCTCPBUi
PCTONLVA-PCTONLVI PCTONLYD-PCTONLYZ
ZIPWAIVA-ZIPWAIVI ZIPWAIYD-ZIPWAIYZ
If OPTIONS DKROCOND=WARN is used, there will be
messages on the log:
WARNING: variable LCPUDExx in the DROP KEEP...
WARNING: variable LCPUWAxx in the DROP KEEP...
that are not errors and are normal.
-VMACDB2: Variables QWARACE/QWARBSC/QWARESC are Labeled in
new in Version 10 dataset DB2ACCTW. Variable DB2START is
now labeled, and STA0DUR and STA1DUR are formatted.
-SAPIMSBA, SAPIMSON, SAPIMSSP datasets created by TYPEIMSA
processing in JCLIMSLx/ASMIMSLx IMS Log Processing kept
ALL-POSSIBLE 937 variables instead of 31/33/30 kept; MXG
Change 28.066 updated VMACIMSA to use the three _VSAPxxx
macro tokens for their KEEP=list, but then failed to fill
them with the KEEP= syntax and the list of variables to
be kept. Now, only the intended SAP variables are kept
in the three (optional) datasets. And variable IMSRECCH
is now labeled IMS*RECORD*NUMBER*AS HEX CHAR.
-VMACNTSM: Variable VWGRACQP was corrected to VWGRAC1P.
-ASUMMIPS: Datasets/variables were labeled/formatted.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 28.245 MXG 28.06 added ASUMDB2G/ASUMDB2P/ASUMDBSB/ASUMDBSS to
WEEKBLD WEEKBLD, but are now removed. None of those optional data
BLDSMPDB sets should have been added, since neither was previously
Oct 19, 2010 created by prior JCLPDB6 examples. If your BUILDPDB JOB
didn't create them, then WEEKBLD in 28.06 failed with
ERROR: VARIABLE SYSTEM NOT FOUND ON MON.ASUMDB2G
-I had presumed you would EDIT your WEEKBLD to remove
datasets you don't want weekly, and would use EXPDBWEK
exit to add any new datasets to your WEEKBLD output.
-But henceforth, I will NOT add any new optional datasets
to the defaults in WEEKBLD and MONTHBLD examples.
-There is an alternative to WEEKBLD and MONTHBLD to use:
The BLDSMPDB example can EASILY be set up to run daily
to create your daily PDB, and it dynamically creates your
weekly PDB from whatever datasets exist in your daily PDB
libraries, and similarly creates your monthly PDB from
whatever datasets are found in its weekly/daily PDBs.
And you can drop unwanted datasets easily as well.
Thanks to William Edwards, Blue Cross and Blue Shield of Florida, USA
Change 28.244 STC/STK/Oracle VSM "user" SMF records support revised.
VMACSTC -Most datetime variables are changed from GMT to LOCAL.
Oct 19, 2010 These were overlooked. MXG always converts datetimes on
GMT to LOCAL zone, when the GMT offset is known or can be
determined (i.e., when the records have a GMT END time to
match with the always-LOCAL-zone SMFTIME).
Dataset Variables now on LOCAL
STCVSM13 STC13MET STC13MST STC13TIM
STCVSM14 STC14TIM STC14RUN
STCVSM16 STC16MET STC13MST
STCVSM18 STC18MET STC13MST
STCVSM19 STC19TIM STC19RET STC19RST
STCVSM20 STC20MET STC20MST
These variables are now in %VMXGTIME with GMT=YES.
But these datetimes are for events that can be days or
weeks earlier, and the GMT Offset can't be known from the
SMF record, so they are left on GMT, but their LABEL now
contains "ON GMT" to flag them as still on GMT:
Dataset Variables
STCVSM15 STC15LTR STC15TIM
STCVSM25 STC25LUT STC25LWT
STCVSM27 STC27LUS STC27TIM
These variables are now in %VMXGTIME with GMT=YES.
Yes, this is INCOMPATIBLE, if your reporting code changes
the time zone for those former GMT-containing variables.
-STC/STK/Oracle VSM SMF records' _SSTCvvv macros are now
correctly implemented with PROC SORT NODUP and with BY
lists that remove duplicates (and datasets STCVSM25 and
STCVSM27 appear to have occasional fully duplicated SMF
records that are detected and deleted).
-Datasets STCVSM10, STCVSM11, and STCVSM20 are interval
datasets, and their _S Sort Macros create new variables
STCSTRTM='INTERVAL*STARTIME' DELTATM='INTERVAL*DURATION'.
-But Dataset STCVSM20, the Interval RTD utilization data,
which was the actual purpose of this examination of STC
data, has serious holes. The STC20ATM Device Available
time is frequently zero for several 15-minute intervals
but then the next interval record has what appears to be
the total Available Time since the last interval record
with a non-zero value. This means that individual hour
intervals can't be safely analyzed, but by summing the
interval data to the SHIFT or DATE level should provide
reasonable valid data. A problem report will be opened
with Oracle technical support.
Change 28.243 Cosmetic. The MXGNOTE that a SEQUENTIAL or EXPORT format
VGETOBS dataset was found by VGETOBS was revised; that note is
VMXGSUM harmless and is only printed to be in the log in case of
Oct 15, 2010 a subsequent error; in some reports with multiple inputs,
"TAPE" data libraries cannot be used, and this message is
useful to diagnose those (rare) problems. But also, the
call to VGETOBS in VMXGSUM suppresses the message for the
many cases where we know it doesn't matter.
Thanks to Robbie A. McCoy, Salt River Project, USA.
Change 28.242 The New-in-z/OS 1.12 "In-Ready Work Unit" SMF70U00-U15
VMAC7072 distribution variables (which include ALL engine types)
VMXGRMFI and the three average variables for each engine type
Oct 26,2010 SMF70CTT='AVG*WORK UNITS*FOR CP-S'
SMF70DTT='AVG*WORK UNITS*FOR ZAAPS'
SMF70ETT='AVG*WORK UNITS*FOR ZIIPS'
were not divided by SMF70SRM (sample count) in TYPE70.
These should replace the old READYAVG metrics, per Don:
Be aware that READYAVG deals only with ready address
spaces. The number of ready address spaces can present
a seriously misleading impression of the work on the
system and work being delayed, because READYAVG does
not measure total dispatachable work units. Both the
ready address spaces and the ready enclaves must be
included to count the total dispatachable work units,
and new-in-z/OS-1.12, the above variables provide the
min/max/avg number of work units for CP-s,zAAPs/ZIIPS
and the new PCTWUQWT and SMF70U00-SMF70U15 metrics for
dispatchable work units, quite similar to the original
measures for ready ASIDs.
In addition to correcting the values, this change adds
those min/max/avg Work Unit variables to RMFINTRV, and
three percentage waiting variables are now created from
the three distributions (READYxx, SMF70Qxx, SMF70Uxx)
and are kept in both TYPE70 and RMFINTRV datasets.
PCTRDYWT='PERCENT WHEN*READY TASKS*ARE WAITING'
PCTRDQWT='PERCENT WHEN*IN READY TASKS*ARE WAITING'
PCTWUQWT='PERCENT WHEN*WORK UNITS*ARE WAITING'
These new work unit distributions are only kept in TYPE70
and they include the waiting and active work units for
all engine types, so my labels are revised. The N value
is the count of ALL online engines, except that when
HyperDispatch is active, only the non-parked engines of
ALLl types are included in the N being compared.
SMF70U00='PCT WHEN*WORK UNITS*WAS LE N ONLINE'
SMF70U01='PCT WHEN*WORK UNITS*WAS N+1 ONLINE'
SMF70U02='PCT WHEN*WORK UNITS*WAS N+2 ONLINE'
SMF70U03='PCT WHEN*WORK UNITS*WAS N+3 ONLINE'
SMF70U04='PCT WHEN*WORK UNITS*WAS N+4-5 ONLINE'
SMF70U05='PCT WHEN*WORK UNITS*WAS N+6-10 ONLINE'
SMF70U06='PCT WHEN*WORK UNITS*WAS N+11-15 ONLINE'
SMF70U07='PCT WHEN*WORK UNITS*WAS N+16-20 ONLINE'
SMF70U08='PCT WHEN*WORK UNITS*WAS N+21-30 ONLINE'
SMF70U09='PCT WHEN*WORK UNITS*WAS N+31-40 ONLINE'
SMF70U10='PCT WHEN*WORK UNITS*WAS N+41-60 ONLINE'
SMF70U11='PCT WHEN*WORK UNITS*WAS N+61-80 ONLINE'
SMF70U12='PCT WHEN*WORK UNITS*WAS N+81-100 ONLINE'
SMF70U13='PCT WHEN*WORK UNITS*WAS N+101-120 ONLINE'
SMF70U14='PCT WHEN*WORK UNITS*WAS N+121-150 ONLINE'
SMF70U15='PCT WHEN*WORK UNITS*WAS GT N+150 ONLINE'
They can be compared with the existing distributions in
READY00-READY15,SMF70Q00-SMF70Q12 in TYPE70 dataset.
-VMXGRMFI was also corrected to support R70MIN, which has
been defined, but as it had a null value, the absence of
its invocation was never noticed until now.
-In testing this change, Jim noticed SMF70NCA needed to be
multiplied by 100 as it is 'PCT WHEN*CAPPING*LIMITED...'.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 28.241 -Variable CPUWAIYA (CPU WAIT*DURATION*CPU 61) was wrong.
VMAC7072 The typo'd CPUWAIYA=MVSWAITA is now CPUWAIYA=MVSWAIYA.
Oct 14, 2010
Thanks to Heimir Hauksson, Barclays, ENGLAND.
Change 28.240 -UTILEXCL could create wrong values in PDB.CICSDICT if
IMACICUN CICS dictionary entries with the same "triplet" values
IMACICUO RVR/DCN/DRL have the same CMODIDNT (field number) in
IMACICUP different orders (could be in different or same APPLID).
UTILEXCL These wrong values were then used to create the IMACEXCL
VMAC110 tailoring member, but that caused no execution error.
Oct 13, 2010 But the wrong variable(s) in CICSTRAN were populated or
IMACICUQ had missing values when they should have been populated.
Oct 14, 2010
Dec 22, 2010 But even after installing this change, and rerunning the
new UTILEXCL's _BLDDICT to build the correct PDB.CICSDICT
observations, your IMACEXCL could still be wrong, because
_BLDDICT appends the new dictionary records to the old in
its replacement of PDB.CICSDICT, so both good and bad
records were still being used, causing that same error.
If you have the SMF records for all your current CICSs,
then you can simply use PROC DELETE DATA=PDB.CICSDICT;
to delete that dataset, and then rerun _BLDDICT, etc.
PROC DELETE DATA=PDB.CICSDICT;
and then _BLDDICT _BLDEXCL _RPTEXCL
to use only the fixed PDB.CICSDICT records to build your
tailored IMACEXCL.
Dec 22: Above paragraph was added, no code was changed.
-Dictionary records with duplicate RVR/DCN/DRL. but with
different field order are now detected and printed by the
macro _BLDEXCL when it creates the IMACEXCL, but UTILEXCL
cannot support two different records differently; as only
the RVR/DCN/DRL exist in the CICSTRAN records. UTILEXCL
can only create one "do group" from the first dictionary
record and that IMACEXCL will create CICSTRAN for all SMF
records that RVR/DCN/DRL, with no execution errors, but
all variables from the fields/segments that are different
in the second dictionary record will be wrong. MXG can't
fix this error because only the RVR/DCN/DRL exist in the
CICSTRAN records. Your CICS guru will have to correct the
DFHMCT text so all structures with the same number and
length of fields have their fields in the same order.
-Support for more Optional CICS fields, UTILEXCL Error.
Member Variable Label
IMACICUN SCBKPOUN Application*USER*AREA*ONE
IMACICUO SCBKNUMB Application*USER*AREA*TWO
IMACICUP CIBIZID Application*USER*AREA*THREE
-Support for another optional CICS field
Member Variable Label
IMACICUQ CANUE1 CANUE1
Thanks to Tony Hirst, Wells Fargo, USA.
Thanks to Henry Steinhauer, Northwestern Mutual, USA.
Thanks to James Hein, Erie Indemnity Company, USA.
====== Changes thru 28.239 were in MXG 28.06 dated Oct 7, 2010=========
Change 28.239 Documentation Notes only. Using the _N7072 "null" macro
VMAC7072 to create ONLY the PDB.TYPE70 dataset caused errors
Oct 7, 2010 NO DATA SET OPEN TO LOOK UP VARIABLES
when PROC SORT DATA=_NULL_ (were _NULL_ replace TYPE70EC)
caused SAS to error (in spite of _NULL_, PROC SORT still
looked for BY variables). Recent changes in SMF 70s now
requires datasets TYPE70SP/EC/EL to be created when the
SMF data is processed, the TYPE70PR data values are used
to create TYPE70, and the new TYPE70EN dataset must be
created from the (temporary) TYPE70EN/EL data if you have
more than 64 engines, since only the first 64 engine's
per-engine-detail is kept in TYPE70.
But the below tailoring example shows how these old-style
substitution macros are used to create only the datasets
PDB.TYPE70 and PDB.TYPE70EN, by reinstating the _Wdddddd
dataset tokens to be created when SMF is read, and the
two _Ldddddd output dataset tokens for clarity.
%LET MACKEEP=%QUOTE(
_N7072
MACRO _WTY70 TYPE70 %
MACRO _WTY70PR TYPE70PR %
MACRO _WTY70SP TYPE70SP %
MACRO _WTY70EC TYPE70EC %
MACRO _WTY70EL TYPE70EL %
MACRO _LTY70 PDB.TYPE70 %
MACRO _LTY70EN PDB.TYPE70EN%
);
%INCLUDE SOURCLIB(VMACSMF,VMAC7072,IMACKEEP);
DATA
_VAR7072
_SMF
_CDE7072
_STY70
Or, you could use the %UTILBLDP macro to generate and
execute the code to create only those two datasets:
%LET PTY70PR =WORK; %LET PTY7002 =WORK;
%LET PTY70X2 =WORK; %LET PTY70Y2 =WORK;
%LET PTY72 =WORK; %LET PTY72DL =WORK;
%LET PTY72GO =WORK; %LET PTY7204 =WORK;
%LET PTY72MN =WORK; %LET PTY72SC =WORK;
%UTILBLDP(BUILDPDB=NO,USERADD=7072,OUTFILE=INSTREAM);
The %UTILBLDP macro is STRONGLY recommended for any SMF
processing that needs tailoring.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.238 MXG 28.03-28.05. THE SMF FILE CONTAINED xxx BYTES note on
VMACSMF the SAS log was wrong if BUILDPDB was used; Change 28.089
Oct 7, 2010 modified VMACID to output SMFBYTES, but that variable was
used internally in VMACSMF to total the byte count for
that log message. The byte counter in VMACSMF is changed
to SMFBYTOT to correct the message and not impact ID.
When wrong, xxx had the record length of the LAST record.
Thanks to Rudol Sauer, T-Systems International GmbH, GERMANY.
Change 28.237 Variable R792PRFX was labeled FRAMES (MB) but was not
VMAC79 converted from frames. While the (MB) in the LABEL should
Oct 7, 2010 document when frame counts are converted to bytes, those
variables must also have MGBYTES. format to confirm that
the contents of the variable is bytes and "prints pretty"
with K/M/G/T suffix with that format.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 28.236 With some of the features of Thruput Manager, some shops
ANALINIT run all jobs in the same job class. That makes ANALINIT
Oct 5, 2010 by jobclass mostly meaningless since TPM will prioritize
work based on service class and other criteria given it
via parameter. This change allows you to choose the
variable to use for breaking the report down. The default
value for SORTBY is JOBCLASS but you might find in these
cases that SRVCLASS or RPTCLASS have more meaning.
-HTMLDEST is also added as a parameter to send the output
to HTML and the MEAN/MAX input queue delays are added to
the final report.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.235 Using %VGETDDS(GOOVOO=gdgbase) caused ERROR: LIBRARY DOES
VGETDDS NOT EXIST. The wrong macro variable &GDGBASE was used
Oct 4, 2010 where &GOOVOO was required.
Thanks to Brian A. Harvey, HCL America, USA.
Thanks to Rhonda Martin, USAA, USA.
Change 28.234 Variables input with $EBCDIC informat that contain $HEX
VMAC102 data are corrected to $CHAR informat, but that is only
VMACCIMS impacting if MXG is executed on ASCII platforms to read
VMACORAC SMF data. Detected in Freddie's final QA tests.
Oct 4, 2010 -VMAC102: QW0022LM QW0022PA QBMCRLIR
-VMACCIMS: RECSTAT
-VMACORAC: ORALOGON
Thanks to Freddie Arie, Merrill Consultants, USA.
Change 28.233 Support for WebSphere MQ Version 7 Accounting Records.
EXWSMQMQ Two datasets are created:
EXWSMQQ dddddd Dataset Description
IMACWSMQ WSMQMQ WSMQMQI Accounting MQI
TYPEWSMQ WSMQQ WSMQQ Accounting Q
TYPSWSMQ See Monitoring WebSphere MQ Version 7, SC34-6937, for the
VMACWSMQ documentation on these data, which are written to the
VMXGINIT SYSTEM.ADMIN.ACCOUNTING.QUEUE.
Oct 2, 2010
Change 28.232 -ANALRMFR failed when PDB=SMF was use with some reports;
ANALRMFR Change 28.155 revised token names for TYPE70EN, and some
Oct 6, 2010 resets of _WTY70PR were missing.
-While PDBOUT=PDB worked, PDBOUT=XXXX failed because the
new TYPE70EN dataset was written to PDB instead of XXXX.
Thanks to Russ Alexander, OIT Service Delivery, USA.
Change 28.231 NDM-CDI NDRMTYPE='RT' record INPUT STATEMENT EXCEEDED
VMACNDM error when NDMOFFPA was non-zero, a condition not seen
Oct 1, 2010 before, and my guess about the order of the optional
segments was wrong.
Thanks to Douglas C. Walter, Citigroup, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 28.230 FORMAT MG070CR decodes SMF70CCR to identify the Capacity
FORMATS Change Reason:
VMAC7072 SMF70CCR Formatted Value
Oct 1, 2010 0 0:NO CHANGE
1 1:POWERSAVE
2 2:CYCLE STEERING
3 3:EXTERNAL
4 4:EXTERNAL
Change 28.229 MXG Search tool did not select CHAR variables because the
VMXGSRCH TYPE field was not UPCASED, and if the last variable in a
Sep 30, 2010 dataset is numeric, the generated code did not wrap to
close the continuation correctly; these are now fixed.
Also, MXG 28.05 updates added the capability to search
for text in Labels and for format names.
On a positive note, Scott commented:
I really do get a lot of benefit using VMXGSRCH when
looking for evidence of a dataset or USERID or a CICS
terminal-name. It's a great tool, particularly where I
needed to find evidence of a CICS terminal in some CICS
PA report, but looking in MXG for it CICS STATS.
And VMXGSRCH is not only for MXG built datasets. VMXGSRCH
will search ALL of the SAS datasets in ANY data library,
searching ALL variables in those datasets for ANY value,
printing the found observations. See Change 28.147.
Thanks to Scott Barry, SBBWorks, USA.
Change 28.228 Variable NRCPUS wrong in PDB.RMFINTRV with HiperDispatch.
VMXGRMFI It had the number of installed processors because parked
Sep 29, 2010 time, CPUPATTM, was not kept nor subtracted from SMF70ONT
when NRCPUS, the average number of ONLINE CP engines was
calculated.
Thanks to Richard Schwartz, State Street Bank, USA.
Thanks to Brian Kruse, State Street Bank, USA.
Change 28.227 TYPEITRF INPUT STATEMENT EXCEEDED RECORD LENGTH type=17x.
VMACITRF because Change 28.197 didn't correctly INPUT these fields
Sep 27, 2010 CORDBI CORDBP CORDBT that were added.
Thanks to Lindholm Orjan, Volvo, SWEDEN.
Change 28.226 -TYPE113 variable LPBUSY replaces wrong-named LPARCPU, as
ASUM113 percent busy in TYPE113 is for each Logical Processor.
VMAC113 -ASUM113 variable LPARBUSY replaces LPARCPU since there,
Sep 23, 2010 the percent busy is for the LPAR. New variable LPARCPUS
Oct 4, 2010 counts the number of LPs active in this LPAR.
Normally, I'm reluctant to change variable names, but
the SMF 113 is new so only a few "early adopters" will
be effected, and the old names were deceptively wrong.
-LPARCPUS is the true Average Number of ONLINE Engines, as
it is calculated as SMF70ONT/DELTATM.
-Variables from TYPE70PR that were added to the dataset
PDB.TYPE113 are also now added to PDB.ASUM113.
-ASUM113 corrected to not fail when PDB.TYPE70PR doesn't
exist, but all variables that are merged in from 70PR
will always exist in PDB.ASUM113, with missing values if
there was not 70PR dataset.
-SM113CPT is only populated if SM113VN2 GE 2, i.e., z196.
(See Change 30.123 for revision).
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 28.225 Macro variable VGETCRDT is created, contains the datetime
VGETOBS in character when the SAS dataset was created, and macro
Sep 23, 2010 variable VGETMTYP is the type of dataset (data/view/etc).
Oct 5, 2010 VGETCRDT is only populated under SAS; it is not in WPS.
Thanks to MP Welch, Aprize, Inc, USA.
Change 28.224 New TYPE70EN dataset (per-Engine TYPE70 detail) had 100%
VMAC7072 PCTCPUBY for Parked Engines; PCTCPUBY is now recalculated
Sep 23, 2010 using SMF70PAT. Also, SMF70CIN was blank, now is not.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 28.223 Support for DB2 V10 Compressed SMF records has been added
DFH$MOLS inside the existing EXITCICS member, which is the ASM
EXITCICS source that creates a SAS INFILE EXIT named CICSIFUE.
Sep 23, 2010 Once assembled into a load module placed in //STEPLIB,
and enabled with %LET SMFEXIT=CICS; in your //SYSIN,
the exit will be used for either CICS or DB2 records,
processing either compressed or uncompressed SMF records.
Full documentation is in the comments in EXITCICS member.
While IBM CICS provides their DFH$MOLS program that will
decompress CICS records (JCL example in that MXG member),
IBM initially chose NOT to provide a DB2 decompression
utility, but in Feb, 2011, APAR PM27872 announced that
the DSNTSMFD sample program was available to decompress.
Note: IF THE EXIT DOES NOT EXIST, INTERNAL SAS CODE IN
MXG WILL BE USED TO DECOMPRESS EITHER CICS OR DB2
DATA, BUT THAT CODE IS EXTREMELY CPU EXPENSIVE.
MXG messages warn you to instead use EXITCICS.
Note: See MXG Newsletter FIFTY-SEVEN for comparisons
processing compressed and uncompressed CICS data
with DFH$MOLS versus EXITCICS versus SAS code.
Thanks to Rich Anderson, SAS Institute, USA.
Change 28.222 ITRM only, MXG 28.04-later, DB2STAT4 NOT SORTED ERROR.
VMACDB2 The circumvention is to insert this statement in SYSIN:
Sep 22, 2010 %LET EPDBOUT= _SDB2ST4 ;
so that the DB2STAT4 dataset is sorted before _SDB2STS
is executed. _SDB2STS creates DB2STATS from STAT0/1/4;
The MXG logic in _SDB2STS was revised in 28.04, and the
PROC SORT DATA=_LDB2ST4 that had been in _SDB2STS was
removed, because MXG executes _SDB2ST4 before _SDB2STS,
so that sort was no longer needed. But ITRM did not
execute the _SDB2ST4 macro. In ITRM, the dataset tokens
_WDB2ST4 and _LDB2ST4 are the same dataset when _SDB2STS
is executed, so that old PROC SORT DATA=_LDB2ST4 had put
DB2STAT4 in the right order, so there was no error, but
without MY sort, the unsorted DB2STAT4 exposed my error.
-ITRM Support will have a Hot Fix to insert the _SDB2ST4
sort prior to the _SDB2STS execution; fortunately, this
circumvention AND that hot fix insertion can coexist.
Change 28.221 MXG 28.05-minus, an INCORRECT note "INVALID WQ SEGMENT"
VMAC116 is harmless and there is no loss of data when the records
Oct 7, 2010 originally described below are found. IBM MQ Support has
confirmed Qsegment records with no WQ Segments can
happen in V6 and V7 if a thread has exactly 9 queues.
The next overflow SMF record/segment is allocated in
anticipation of the transaction a 10th queue. With
exactly 9, a 10th wasn't opened, so the second segment
was left empty.
Oct 20, IBM APAR PM24302 confirms that statement, quoting
from my original change text in the problem description.
Below is the Sep 22 original change text on this message:
WebSphere MQ 7.01 INVALID WQ SEGMENT error messages were
due to SMF 116 subtype 2 records that contained only the
WTID (thread identification) segment and did NOT contain
any WQ (queue-level accounting) segments. The ONLY
purpose of subtype 2 records is for additional WQ
segments that wouldn't fit in previous subtype 1 record.
In addition, the QWHCXTYP field contained a zero, which
is not a documented connecting system type code. But,
MXG printed that message because it expected the WQ
triplet in the subtype 2 and unconditionally input it.
The code was restructured to input the common header and
use QWHSNSDA, the number of triplets, to conditionally
now input the triplets. Subtype 2 records with no WQ
segment can be detected because all WQxxxxxx variables in
dataset MQMACCTQ will be blank or missing values, but the
"INVALID" "INVALID WQ SEGMENT" message is gone.
Thanks to Victoria Lepak, Aetna, USA.
Change 28.220 DB2 Summary ASUMDBxx and Trending TRNDDBxx members are
ANALDB2R revised to create consistent names, as well as adding
ASUMDB2A new DB2 V9 and DB2 V10 variables and externalizing the
ASUMDB2B interval value:
ASUMDB2G -Default interval for both statistics and accounting is
ASUMDB2P now set by macroUvariable &INTASUM (default=HOUR), so
ASUMDB2R youTcanDchangeTthatBdefaultSinterval externally, without
ASUMDB2S EDITing the ASUMxxxxSinto yourDUSERID.SOURCLIB, using
ASUMDBAA %LET INTASUM=yourchoice;SUtoBset your chosen interval.
ASUMDBSB -Statistic dataset changes:
ASUMDBSS -Datasets ASUMDBBS/TRNDDBBS renamed to ASUMDBSB/TRNDDBSB.
TRNDDB2A -Datasets ASUMDB2S/ASUMDB2G/ASUMDB2B/ASUMDBSB that were
TRNDDB2A created by members ASUMDB2S/ASUMDB2G/ASUMDB2B/ASUMDBSB
TRNDDB2B no longer exist; datasets TRNDDB2X/TRDDDBBS/TRNDDB2S
TRNDDB2G no longer exist.
TRNDDB2P -Members ASUMDBSS/TRNDDBSS create these sets of the three
TRNDDB2R statistics summary datasets:
TRNDDB2S Member Dataset Created from
TRNDDBAA ASUMDBSS ASUMDBSS DB2STATS
TRNDDBSS " ASUMDBSB DB2STATB
Oct 3, 2010 " ASUMDBSG DB2GBPST
Dec 28, 2010 TRNDDBSS TRNDDBSS ASUMDBSS
" TRNDDBSB ASUMDBSB
" TRNDDBSG ASUMDBSG
-Accounting dataset changes:
-Members ASUMDB2S/ASUMDBSB contain only comments that the
member ASUMDBSS should be used in place of both members.
-Members ASUMDB2G/ASUMDB2B were a mess. Previously they
summed DB2GBPST/DB2STATB into ASUMDB2G/ASUMDB2B datasets
but those names were also used for DB2ACCTG/DB2ACCTB
summarization. Now they process only Account datasets.
-WEEKBLD's BY list for these three DB2 Stat ASUMs have
SHIFT removed; those datasets are summarized by HOUR so
SHIFT was not used, but was inconsistently kept, so its
removal prevents NOT SORTED errors.
-Accounting dataset changes:
-Member VMXGDBAA, previously used in ASUMDBAA/ANALDB2R
no longer is used and is archaic. Member ASUMDBAA can
still be used, if you want ALL of the DB2ACCTx datasets
summarized, but it now is only a series of individual
%INCLUDEs of these members:
Member Dataset Created from
ASUMDB2A ASUMDB2A DB2ACCT
ASUMDB2B ASUMDB2B DB2ACCTB
ASUMDB2G ASUMDB2G DB2GBPST
ASUMDB2P ASUMDB2P DB2ACCTP
ASUMDB2R ASUMDB2R DB2ACCTR
-Trending of individual ASUMDB2x Account datasets:
Member Dataset Created from or
TRNDDB2A TRNDDB2A ASUMDB2A DB2ACCT
TRNDDB2B TRNDDB2B ASUMDB2B DB2ACCTB
TRNDDB2G TRNDDB2G ASUMDB2G DB2GBPST
TRNDDB2P TRNDDB2P ASUMDB2P DB2ACCTP
TRNDDB2R TRNDDB2R ASUMDB2R DB2ACCTR
-Additional corrections:
-ASUMDB2A. Two variables QTXANPL and QXCASCDP were in the
SUM list are moved to the MAX list. They were incorrect
in datasets built by the old ASUM/TRND members.
-TRNDDB2A. Looked for DB2ACCT first, but now it uses
ASUMDB2A first if it exists.
-VMACDB2 common variables added to new DB2ACCTR "Remote".
-Dec 28: ASUMDB2R INTERVAL now set by &INTASUM.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.219 Cosmetic. If DATETIME argument was missing, the ABORT
VMXGDUR statement blew away a Windows session so you never saw
VMXGSUM the error message. Now, the error is printed and the
Sep 22, 2010 invocation is ended without the ABORT. This error can
Oct 7, 2010 only occur when testing a new VMXGSUM invocation; that
DATETIME argument is always required, except when the
INTERVAL=NONE argument is specified.
-VMXGDUR, Oct 7:
WARNING message for invalid interval= values updated
To include all possible valid values.
Change 28.218 Includes of ASUMDBAA/TRNDDBAA added in MXG 28.05 caused
BLDSMPDB errors and were replaced by includes of ASUMDB2A/TRNDDB2A
Sep 21, 2010 and ASUMDB2B/TRNDDB2B.
Oct 5, 2010 -Oct 5: If AUTOALOC EQ NO and FIRSTRUN EQ YES then all of
the directories needed are tested and created if the do
not already exist.
Thanks to Cletus McGee, ALFA Insurance, USA.
Thanks to Mary Kay Pettengill, MSI, USA.
Change 28.217 The CPUID section is now protected for a truncated ID=70
VMAC7072 subtype 1 record (created by B37 ABEND in SMF dumping).
Sep 21, 2010 Other sections were already protected.
Change 28.216 Invalid raw data for RH018 with zero values caused very
VMACTNG large positive or negative values. While the error is in
Sep 16, 2010 the NSM cube itself, a possible circumvention is to us
IF RH018001 GT 0 AND RH018002 GT 0 THEN DO;
OUTPUT _WTRH018; /* RH018 , DEFINED IN VMACTNG*/
END;
in the EXTRH018 exit member; this will cause the DELTATM
between intervals calculated by MXG to be twice DURATM,
so these intervals can be identified.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 28.215 NOTES: FIRST/LAST UNINITIALIZED with BAR=TIME had no
GRAFLPAR impact as they are not used with that option, but they
Sep 15, 2010 are no longer printed. Arguments DEVICE/DISPLAY were
removed, as your current site defaults will be used.
Thanks to Cletus McGee, ALFA Insurance, USA.
Change 28.214 ANALDB2R report selection didn't honor BEGTIME/ENDTIME.
ANALDB2R Starting with MXG 28.05, ANALDB2R passed those selection
Sep 14, 2010 criteria to READDB2 so that if PDB=SMF was used (so that
READDB2 was called) BEGTIME/ENDTIME were used for select.
Now, PDB=PDB or PDB=SMF honors BEGTIME/ENDTIME selection.
Thanks to Betty Wong, Bank of America, USA.
Change 28.213 This Change was replaced by 28.220.
Change 28.212 -New (very small) TYPE74ID dataset is now created when the
ANALRAID TYPE74 or TYPE74CA are output, so the mapping format that
ASUMCACH ASUMCACH requires can be automagically built in ASUMCACH,
EXTY74ID eliminating a full pass of TYPE74CA dataset.
VMAC74 -PDB.ASUMCACH now contains variables character DEVMODEL
VMXGINIT and its numeric version in variable MODEL.
VMXGSUM -ANALRAID now uses 8-character DEVMODEL, instead of MODEL
Sep 13, 2010 with 3-byte numeric in HEX6 formatted value, to support
Oct 29, 2010 newer, longer (3390A) control unit model names.
-If TYPE74ID is does not exist, ASUMCACH uses TYPE74CA, as
before, but DEVMODEL will contain 3390??.
-In testing this change, numerous Missing Value messages
were printed on the SAS log, all from VMXGSUM NORMn=
arguments that had valid missing values. VMXGSUM was
revised to test and suppress those cosmetic messages.
-In testing this VMXGSUM revision for the NORMn arguments:
-It was discovered that NORMn=A/B syntax, with only one
variable A that had only one character name, was never
being normalized. Fortunately, there was no instance
of this syntax in MXG code, but it is now corrected.
-Also, if B was missing or zero (with any length "A"),
so the division was never executed, the value output for
"A" output was SUM(A). Now, A is a missing value.
-Oct 29: %VMXGOPTR relocated to prevent warning message.
Change 28.211 Using COPYONLY argument wrote ALL SMF records; the
READDB2 selection criteria were not used for the COPYONLY writes.
Sep 11, 2010
Thanks to Larry Stahl, IBM Global Services, USA.
Change 28.210 DB2 V8.1-DB2 V9, MXG 28.02-28.05, DB2ACCT and DB2ACCTP,
VMACDB2 these variables added by APAR PK62161, MXG Change 28.051:
Sep 10, 2010 QXRWSFET QXRWSINS QXRWSUPD QXRWSDEL
were wrong because the prior field, QXSTXMLV, was
increased to 8 bytes but that increase was overlooked,
causing the subsequent fields to be misaligned/trashed.
Thanks to Betty Wong, Bank of America, USA.
Change 28.209 If INCLAFTR=BUILD005,BUILDPDB=NO is used to build only
UTILBLDP the PDB.JOBS/STEPS/PRINT/NJEPURGE/SPUNJOBS datasets,
Sep 9, 2010 the TYPE30xx,TYPE6,TYPE26J2 inputs for BUILD005 were
Jul 7, 2011 sorted into the PDB library, which caused BUILD005 to
fail, as it expected inputs to be in WORK library.
But since the purpose of INCLAFTR=BUILD005 should be to
create the above PDB datasets, this change removes the
sort of those input datasets into the PDB data library.
Jul 2011: If you really do want any or all of those raw
TYPE30xx, TYPE6, and/or TYPE26J2 to be kept in the PDB,
you can add these PROC SORTs to the EXPDBOUT= argument:
PROC SORT NODUP DATA= _WTY30U1 OUT= _LTY30U1 ;
BY _BTY30U1 ;
PROC SORT NODUP DATA= _WTY30U4 OUT= _LTY30U4 ;
BY _BTY30U4 ;
PROC SORT NODUP DATA= _WTY30U5 OUT= _LTY30U5 ;
BY _BTY30U5 ;
PROC SORT NODUP DATA=_WTY6 OUT=_LTY6 ;
BY _BTY6 ;
PROC SORT NODUP DATA= _WTY26J2 OUT= _LTY26J2 ;
BY _BTY26J2 ;
Or, if INCLAFTR=BUIL3005, for TYPE26J3, use:
PROC SORT NODUP DATA=_WTY25 OUT=_LTY25 ;
BY _BTY25 ;
PROC SORT NODUP DATA= _WTY26J3 OUT= _LTY26J3 ;
BY _BTY26J3 ;
Change 28.208 MXG incorrectly set R7451TIM to 16 microseconds when
VMAC74 it should have been 16 milliseconds; the variables
Sep 9, 2010 R7451CT3, R7451CT4, R7452PRT, R7452PWT are divided by
R7451TIM, and thus were wrong.
Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.
Change 28.207 Unused Change.
Change 28.206 Invalid APPTUNE SMF 102 IFCID 8133 record had invalid
VMAC102 offset of '7532'x for QBMCRQLO in APPTUNE Segment 9 for
Sep 7, 2010 Long Names, causing INPUT STATEMENT EXCEEDED ERROR.
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 28.205 Julian Date variables with FORMAT 6. were increased to 7.
VMACACF2 so the full seven digits can be seen (e.g. 2010099):
VMACEPIL -VMACEPIL - OMJULDAT
VMAC6367 -VMACACF2 - LIDCDATE LIDIPDAT LIDADATE LIDDXPDT
VMACHSM - LIDATIME is now a datetime variable when both
Sep 6, 2010 LIDADATE and LIDATIME are GT 0.
Sep 18, 2010 -VMACHSM - MCDJDATE
-VMAC6367 - DSCRDT DSEXTD
Change 28.204 Support for local installation optional USERSTR field in
IMACICUM CICSTRAN dataset from SMF 110 subtype 1 modified records.
IMACEXCL
VMAC110
Sep 3, 2010
Change 28.203 Variable LIDATIME was not formatted, but now contains
VMACACF2 the datetimestamp value (DATETIME21.2) of last access.
Sep 1, 2010 Date variables LIDCDATE LIDIPDAT LIDADATE LIDDXPDT all
contain Julian Dates YYYYDDD and are cannot be formatted
as a SAS Date variable.
Change 28.202 Support for RACF EVENT 82 (PTCREATE) creates TYPE8082
EXTY8082 dataset.
IMAC80A
VMAC80A
VMXGINIT
Sep 1, 2010
Thanks to Bill Arrowsmith, EuroClear, BELGIUM.
Change 28.201 MXG 28.05 only. GOPTIONS DEVICE=GIF was added in VMXGINIT
VMXGINIT but could change the size of your graphs. Now, GOPTIONS
Aug 31, 2010 only sets default COLORs and PATTERNs.
Change 28.200 z/OS utility to construct VBS blocks in RECFM=U format
UDEBLOCK from a PC/ASCII VBS file failed when only one byte was
Aug 31, 2010 left at the end of a block, since that would be the first
byte of the two-byte length field. MXG logic worked with
zero or two-or-more, but not one; an extensive rewrite of
the program was required. This uploaded file had a series
of 32760 byte blocks, but then one block of 32759 bytes
that contained parts of three blocks, with only one byte
of the next block at the end, which exposed the error.
Thanks to Carl Sommer, SAS Institute, USA.
Change 28.199 -Variables added from PDB.TYPE70PR are now populated ONLY
ASUM113 when the SM113CTM end time is within one hour of STARTIME
VMAC113 of the RMF data; previously, any 70 from the same SYSTEM
Sep 2, 2010 was used. APAR OA30486 will synchronize 113 intervals
with SMF, so eventually an exact merge can be used.
-LPARNAME is added to PDB.TYPE113, but will be populated
only if matching PDB.TYPE70PR observations exist.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 28.198 -CA-NSM/TNG datasets RH021 thru RH030 had only variables
VMACTNG from the header and RH020xxx, because of incorrect KEEP=
Aug 26, 2010 arguments.
Sep 1, 2010 -Variable INSTANCE was not kept nor in BY list for AI010.
-Packet counters in AI010 and RH018 are accumulated, so
the SORT macros _STAI010 and _STRH018 are rewritten to
deaccumulate those four variables. You will need to use
%INCLUDE SOURCLIB(TYPSTNG); to create PDB.AI010/RH018 to
contain the interval (deaccumulated) values, or use
%LET PTAI010=WORK;
%LET PTRH018=WORK;
%INC SOURCLIB(TYPESTNG);
_STAI010;
_STRH018;
if you want the interval datasets in the //WORK library.
Thanks to Xiabo Zhang, FISERV, USA.
Change 28.197 INVALID DATA FOR CHAR1 caused INPUT STATEMENT EXCEEDED.
VMACITRF The INPUT of VER with $CHAR1 was corrected to $CHAR1.
Aug 26, 2010 (i.e., missing period was added to the informat) in two
places. But Change 28.227 is also needed for VER='01'x.
Thanks to David J. Schumann, Blue Cross of Minnesota, USA.
Change 28.196 If you asked for IFCIDS=STATISTICS and WANTONLY a list of
READDB2 DB2STA* datasets, macro variable KILLSORT showed up as
Aug 25, 2010 unreferenced in DB2PST where it did not belong.
Thanks to Dan Case, Mayo Foundation, USA.
Change 28.195 If NRECORD was a null value or an alpha string, VMXGGETM
VMXGGETM failed with an invalid numeric value. Now, if an invalid
Aug 24, 2010 string is detected, NRECORD is set to the then current
value of the OBS option. This change uses the %DATATYP
macro provided by SAS, in their autocall library.
Change 28.194 Using ONLY the MXG-supplied CONFIGV9 and NOT having the
CONFIGV9 SAS-supplied DSNAME=SASHLQ..CNTL(BAT&YY) in //CONFIG DD
SASAUTOS caused the SAS default LOCALE=ENGLISH_UNITEDSTATES to be
TRIM used, instead of the LOCALE=ENGLISH_UNITEDKINGDOM that
Aug 2, 2010 was required for this English Site. The result was that
Sep 24, 2010 MXG saw an invalid 'BA'x character (for NOT symbol) in
Sep 30, 2010 the TRIM member of the SAS-supplied SASAUTOS PDS, that
had been built with the UNITEDKINGDOM LOCALE, instead of
the expected '5F'x with LOCALE=ENGLISH_UNITEDSTATES.
MXG's CONFIGV9 intentionally does NOT specify LOCALE, as
that should be picked up from the site's BAT&YY member.
The error was in the %TRIM macro (now used in VMXGSUM),
but it caused this completely-off-the-wall error:
NOTE: LINE GENERATED BY THE INVOKED MACRO "VMXGEXP".
&WORD = &WORD * &BY ;
_
22
(Long ago, problems with character conversion of the
NOT symbol caused me to NEVER use that symbol, and
instead MXG uses NE or NOT character text.)
-SAS did detect the incorrect LOCALE setting, printing
WARNING: There is an incompatibility between session
encoding and the SASHELP encoding. When such a
mismatch occurs, some features may not behave as
expected. For additional information, contact your Site
Administrator
-The original text of this change INCORRECTLY blamed the
error on the DSN=*.NULLPDS syntax in their //SASAUTOS DD
//SASAUTOS DD DSN=*.NULLPDS,DISP=SHR
// DD DSN=SAS.yadayada.SASAUTOS
which was INCORRECTLY thought to have prevented the %TRIM
macro from being resolved. While *.NULLPDS in MXGSASxx
JCL examples was removed in Change 27.108 in MXG 27.05,
because it was no longer needed and MIGHT cause errors,
in fact its removal, while recommended, is not required.
Thanks to George Canning, Produban UK, ENGLAND.
Thanks to Mark Dawson, SAS Institute, ENGLAND.
Change 28.193 -Full support for IMF records in SMF format, so IMF SMF
VMACCIMS records can be processed with BUILDPDB. Change 28.137
TYPEIMFS created TYPEIMFS to process IMF-SMF data, but was only
Aug 23, 2010 for "stand-alone" execution. This update to VMACCIMS
moved the "IMF-SMF-unique" logic inside the _CDECIMS code
and (transparently) recognizes the input file is SMF or
IMSLOG. Member TYPEIMFS was then updated/simplified.
-To add IMF processing to your BUILDPDB, you use the four
EXPDBxxx exit members, with this syntax:
EXPDBINC: %INCLUDE SOURCLIB(VMACCIMS);
EXPDBVAR: MACRO _VARUSER _VARCIMS ... %
EXPDBCDE: MACRO _CDEUSER _CDECIMS ... %
EXPDBOUT: _CHAIN
_SIMFDBD
_SIMFDB2
_SIMFPGM
and you must define the output DDNAME/DDNAMES for the
one or four data libraries where you want your output
datasets written, before the include of BUILDPDB?
- If you output to Disk, the same DDNAME can be used
for all four datasets, but,
- if you want to write your IMF data to tape, you must
have a separate DDNAME and DSNAME for each dataset
(because, internally, for performance run times, MXG
must open two of those datasets simultaneously, and
z/OS does not allow more than one dataset opened on
tape media).
%LET PIMFDBD=CIMSDBDS; /*DEFINE OUTPUT DDNAMES */
%LET PIMFDB2=CIMSDB2;
%LET PIMFPGM=CIMSPROG;
%LET PIMFTRN=CIMSTRAN;
Thanks to Denise Willers, Infocrossing, USA.
Thanks to Ken Steiner, Infocrossing, USA.
Change 28.191 Cosmetic cleanup when ITRM validated MXG 28.05:
ASUM113 -VMAC84 variables R84FN, R84DMA and R84GMSMIN are now
CREATEBC spelled R84FNFW, R84DMAV and R84_GMSMIN in the KEEP=. Two
PROCSRCE instances of '97'x (ASCII) or '00'x (EBCDIC) are removed.
VMAC7072 -Detection of ASCII '97'x (long dash) added in PROCSRCE.
VMAC84 -And, detection of '00'x in the EBCDIC output created by
Aug 23, 2010 CREATEBC converts it to blank (in case the PROCSRCE error
messages added above were overlooked!).
-Temporary datasets ZxTYxxx created by TYPE113/ASUM113 are
deleted. Temporary dataset BADINTRV is left intentionally
in case you need to see which intervals were dropped.
-Temporary TYPE70EC/TYPE70EL datasets are deleted; they
are used to create the new PDB.TYPE70EN.
-TYPE80A variable RACF329 is now spelled RACF320.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 28.190 MXG 28.05, QLACLOCN wrong if it is longer than 16 bytes.
VMACDB2 There is a fixed 16-byte field for QLACLOCN, but if that
Aug 20, 2010 remote location address is longer, it is "truncated", and
a non-zero offset to the full "un-truncated" field exists
but 28.05 incorrectly INPUT that longer field. This has
ONLY been seen with DB2 V9 with IPV6 IP addresses, which
are usually 17-20 bytes long, but can be up to 39 bytes.
2012: Not noted in 2010, QLACLOCN/QWHDSVNM were increased
to $128.
Change 28.189 The COMPALL program requires REGION=1700MB to compile all
COMPALL MXG members that process SMF records (to verify that they
VMACCMHM can all be combined without conflicts for any temporary
Aug 20, 2010 variables). The program contained 407,097 source lines.
It also exposed an error in VMACCMHM that did not have an
IF ID=_IDCMHM THEN DO; code block.
Change 28.188 RMM INVALID NUMERIC DATA NE notes are produced when the
VMACEDGR expiration date is "PERMANENT". The DATE fields will be
Aug 19, 2010 missing values, like other non-date-expiration-dates, but
the variables RDEXPDCH,RVEXPDTO, the "ORIGINAL*CHARACTER"
expiration dates will contain PERMANENT, with no NOTES.
Thanks to Sam Bass, McLane Co., USA.
====== Changes thru 28.187 were in MXG 28.05 dated Aug 18, 2010=========
Change 28.187 -First 28.05, JCLTESTx jobs only, VARIABLES NOT FOUND in
ASUM113 ASUM113 which is included automatically by TYPE113.
Aug 18, 2010 The ASUM113 member adds data from TYPE70PR when it is
found, but incorrect logic in the new ASUM113 failed when
there was no TYPE70PR dataset found. ASUM113 was revised.
SMF records. The error was missed because JCLQASAS is the
primary z/OS QA job now, and it (accidentally) always had
a PDB.TYPE70PR created when the ASUM113 was executed.
I'll now ensure JCLTESTx is also tested for z/OS QA.
-NEWSLETTER FIFTY-SIX is now dated August 18, 2010, as it
should have been.
====== Changes thru 28.186 were in MXG 28.05 dated Aug 17, 2010=========
Change 28.186 Support for ThruPut Manager V6.2(PTF 6209) adds these
VMACTPMX variables to dataset TYPETPMX:
Aug 17, 2010 DBS_SDBL DBS_SDPA DBS_SDPL PCS_EP PCS_MP PCS_PPSQ
Other new fields could be created, but I can only
update MXG for the data fields that exist in sample
SMF records.
Thanks to Scott Barry, SBBWorks, USA.
Thanks to Rick Ralston, Humana, USA.
Change 28.185 Cosmetic. TYPETMNT records with unexpected MSGID printed
VMACTMNT log messages for every instance; now, only the first 10
Aug 17, 2010 instances will be printed.
Thanks to Linda S. Berkley, DISA, USA.
Change 28.184 The syntax LIBNAME TYPE30 'D:\MXG\ANALDSET\TYPE30 \'; is
ANALDSET not valid on PC SAS; the blanks before the back-slash
Aug 17, 2010 must be removed.
Thanks to Sarel Swanepoel, South African Revenue, South Africa
Change 28.183 Documentation and cosmetic changes to DB2 102 data.
VMAC102 -QWP1IXPX contains the name of the default Buffer Pool; it
Aug 16, 2010 is $EBCDIC6 and replaced QWP1IXPL which was only $EBCDIC4
Aug 24, 2010 -QWP9MISC is now formatted $HEX2.
-QWP1SCER, QWP4STHT, QWP4STRL, QWPBDB2S are now $EBCDIC1.
instead of $CHAR1. and no longer formatted $HEX2., and
their labels now contain ? to indicate they are Y/Ns.
-QWP1BDUR/QWP1URCK/QWPBDLEN/QWPBTLEN/QWP1FLBX are CHAR
variables with $HEX format, but they contain numbers.
Rather than create a conflict of CHAR vs NUM variables,
they are expanded to 3 bytes and the numeric value is now
carried in the character variable.
-QWP4ESC now formatted $HEX2. instead of $HEX4.
-QWP4RMAX is the maximum number of RID blocks, for example
147. TMON reported QWP4RMAX=4,816,896, which (I think)
is the number of bytes, because 147*32768=4,816,896.
-IFCID=106 fields that are now input:
QWP4MIS5 QWP4MS4B QWP4MS4D QWP4MS4E QWP4METR QWP4CHEC
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 28.182 MXG 28.05 is REQUIRED for APAR OA30563 and APAR OA33976,
VMAC30 which increased Service Unit fields in SMF 30 records to
Aug 16, 2010 8-bytes, but MXG 27.10 thru MXG 28.04 were in error and
Sep 9, 2010 caused VERY LARGE SERVUNIT values and in these variables
SERVUNIT CPUUNITS SRBUNITS IOUNITS MSOUNITS ENCLCPSU
IFEUNITS IFAUNITS ZIPUNITS ZIEUNITS
and the CPU times that are calculated from Service Units
CPUTOTTM/SRVTCBTM/SRVSRBTM
to all be extremely wrong when those APARs are installed.
The variables are in TYPE30_4/TYPE30_5/TYPE30_V/TYPE30_6
and PDB.JOBS/PDB.STEPS/PDB.SMFINTRV datasets.
MXG 28.05 is required to support OA30563 and OA33976.
FORTUNATELY: the SRVTCBTM/SRVSRBTM/CPUTOTTM time that are
calculated from Service Units were created in MXG only
for comparison with the real CPUTM/CPUTCBTM/CPUSRBTM time
and are not used in any MXG reporting
-because long ago it was claimed that using service units
to calculate CPU times (TCB and SRB and TOTAL) was more
accurate than the CPUTCBTM/CPUSRBTM/CPUTM variables that
are in the SMF 30 record, a claim I have never been able
to verify, as I have only seen VERY small differences
between CPUTM and CPUTOTTM.
Only these three calculated CPU times are wrong:
CPUTOTTM/SRVTCBTM/SRVSRBTM
ALL other CPU time variables are correct and are NOT
impacted by this error in service units in TYPE30.
Originally, APAR OA26832 added 8-byte service unit fields
to the PERF segment, increasing LENPERF to 192, but MXG
Change 27.122 was wrong, testing for LENPERF GE 196, so
that new code block was never being executed, and the
new, longer service unit fields were never being input.
But when OA30563/OA33976 added more fields that increased
LENPERF to 211, so the code block was now executed, that
exposed a second error in Change 27.122, where a +3 was
coded instead of +6 to skip reserved field SMF30RS6,
causing all variables after that +3 to be misaligned,
with VERY large values in those service unit fields,
which are used to calculate the service-unit-based CPU
time variables CPUTOTTM, SRVTCBTM, and SRVSRBTM.
The original change text cited RSU1006 as the cause, but
that is not true; the two APARs happened to be installed
along with RSU1006, causing the incorrect citation.
Thanks to Jerry Urbaniak, Acxiom, USA.
Thanks to Cheryl Watson, Watson and Walker, USA.
Change 28.181 Updates made as a result of MXG 28.05 QA jobstream:
ANALCAPD -CLEARDB2 updated for new datasets created from DB2 SMF.
ANALRAID -READDB2 suppresses sorts when PDBOUT=WORK, suppressed
ASUMCACH sort of DB2GBPST, and some of the variables needed by the
ASUMDBAA ANALDB2R program are created in the _S macros.
CLEARDB2 -ASUMCACH did not support DEVMODEL='3390A'; to avoid full
EXZCO02 sort of both TYPE74 and TYPE74CA, variable MODEL was
READDB2 created as a numeric, MAXed to carry thru in lieu of ID.
TRNDDBAA But '3390A' caused INVALID ARGUMENT as it's not numeric.
VMAC42 Conflict resolved internally by making MODEL a HEX value
VMAC7072 and that will work until '3390G' DEVMODEL shows up.
VMAC74 -ANALRAID had site-specific ODS token
VMACDB2 -Cosmetic updates to ANALCAPD/ASUMDBAA/TRNDDBAA/VMXGDBAA
VMXGSRCH VMXGSRCH/VMAC42/EXZCO02 and updates to VMAC7072/VMAC74.
Aug 15, 2010
Change 28.180 -Support for user-created MQNAME segment that creates the
IMACICUL optional MQNAMECI variable in CICSTRAN dataset.
UTILEXCL
VMAC110
Aug 13, 2010
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 28.179 Utility to read PDS/PDSE directories of a concatenation,
UTILPDSL assigning the level from 1 to X (x being the number of
Aug 11, 2010 libraries in the concatenation) to each member of each
library, so a pair (for example, two JES2 PROCLIBs or
two STEPLIBs, etc.) can be compared for member matches.
Place your concatenation in the JCL (in the example it
is a PROCLIB concatenation copied from SYS1.PROCLIB
member JES2) and point the PDS= parameter at that DD.
If you want the second report to contain ONLY those
cases where a member first appears in a specific PDS,
count down from the top of the concatenation to that
PDS and use that as the LEVEL= parameter. If that
LEVEL= is empty, all members will be listed in the
second of the two reports. This could be used to
determine if a PROCLIB (for example) has members that
are being used. If you specify LEVEL= and the second
report is not there, then no members in that PDS are
being referenced in this particular concatenation.
Reports:
1) The datasets in the concatenation
2) The PDS members, the dataset, and the level in
concatenation from whence they came.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 28.178 Comments had the correct output FILENAME UOUT but the
UDEBLOCK actual code had the FILENAME misspelled as UOW. ALL of
Aug 9, 2010 the references are now corrected to UOUT.
Thanks to Carl Sommer, SAS Institute, USA.
Change 28.177 -Modified to carry the SORTEDBY values into the output
BLDSMPDB datasets. In addition, now uses the datasets in the
VMXGALOC MON LIBNAME to determine which datasets will be kept
Aug 9, 2010 and the sort orders, and uses the WEEK1 LIBNAME for
ASUMDBSS monthly processing.
ASUMDBAA -If you need to build old data, you can use BLDSMPDB
Sep 9, 2010 but you need to specify RUNDAY=PDB,RERUN=ddmmmyy
where ddmmmyy is the SAS date value you want to have
in ZDATE. ZTIME will be set to midnight of that day.
-ASUMDB2A and ASUMDB2B members have ASUMDBAA and
ASUMDBSS alternates.
-VMXGALOC did not allocate CICSTRAN and DB2ACCT libs
as the doc said they did. Now it does. They are
allocated as:
CICSTRAN is allocated as basedir\cicsddmmmyy
DB2ACCT as basedir\db2ddmmmyy
both are retained based on the number of days specified
by DB2KEEP and CICSKEEP, with defaults of 14.
Change 28.176 Support for SARMON, a free tool that converts SOLARIS SAR
EXNMONIS data into the NMON format. The home page of the tool is:
VMACNMON http://www.geckotechnology.com/sarmon
VMXGINIT Some changes were required to MXG to support SARMON data:
Aug 8, 2010 -TOP record with 'NaN' (a UNIX unique "NOT A NUMBER")
which required protection with double question marks.
-Array size of WORDS increased from 255 to 1024 because
the SARMON 'IOSTATxxxx' records all contained 340 words.
-NMON or SARMON data could be incorrectly processed if
"descriptor records" were longer than 2048 bytes; the
NMONTEXT INPUT was increased to $VARYING32000.
-DISNAME was increased from $20 to $64 because SARMON
DATA had longer "disk" names for the IOSTAT data.
-SARMON RECTYPE=DISKSVCTM and DISKWAITTM are the same as
NMON DISKSERV and DISKWAIT, with different WORD2 names.
-Other SARMON DISKxxxx RECTYPEs have same spelling for
both RECTYPE and WORD2 so they were automatically output
and combined to create PDB.NMONDISK dataset.
-Seven IOSTAT (BUSY/READ/WRITE/XFER/BSIZ/SERV/WAIT) data
are supported and create new PDB.NMONIOST dataset with
I/O statistics for the non-disk I/O.
-SARMON objects WLMPROJECTCPU,WLMPROJECTMEM,WLMZONECPU,
WLMZONEMEM, and PROCSOL are supported and those variables
are output in the PDB.NMONINTV dataset.
Thanks to Marc-Antoine Gouillart, AMF, FRANCE.
Change 28.175 -Support of z196 WITH MORE THAN 64 ENGINES REQUIRES 28.05.
EXT11904 (Earlier MXGs will NOT contain any CPU data for engines
EXT11932 64-95 in TYPE70 and RMFINTRV datasets.
EXT11933 -A z196 with LESS THAN 64 engines with z/OS 1.11-1.09 does
EXT11934 NOT require MXG 28.05.
EXT11935 -Support of z/OS 1.12 enhancements requires MXG 28.05.
EXT11935 -DO NOT USE MXG 28.04 to read z/OS 1.12 RMF data, due to
EXT11936 errors (including ARRAY SUBSCRIPT OUT OF RANGE in ID=70),
EXT11937 and other errors in VMAC74 processing with MXG 28.04.
EXT11948 -MXG 28.03 and earlier MXG Versions that support 1.11 data
EXT11949 TOLERATE z/OS 1.12 records, but with no new data fields.
EXT11950
EXT11951 -The TYPE70 architecture is revised for z196s with 64 plus
EXT11952 engines. Sixty-four sets of variables for CPUs 0-63 are
EXT11973 still in TYPE70, but no new variables for CPUs 64+ were
EXT11974 created in this change. Instead, the new PDB. YPE70EN
EXT11975 "CPU Engine" dataset is created with one set of names and
EXT11976 with one observation for EACH engine, with no limit to
EXT11977 the number of engines, ever, should you actually need to
EXT11978 know the metrics for a specific MVS TYPE70 CPUID.
EXT11979 -The PDB.TYPE70PR dataset will also contain an observation
EXT11980 for every LCPUADDR.
EXTY4226
EXTY9033 All of the z/OS 1.12 changes are COMPATIBLY made.
EXTY9034
FORMATS -TYPE7 New variables:
VMAC113 SMF7DTYP SMF7LSD SMF7DRP SMF7LSN
VMAC30 -TYPE30 New variables:
VMAC42 The CPITCBTM and CPISRBTM "Initiator" CPI CPU times
VMAC64 are split into their "INIT" versus "TERM" events in
VMAC7 four new CPI variables in TYPE30_4/STEPS data:
VMAC7072 CPISRITM='CPI*SRB*STEP*INIT'
VMAC74 CPISRTTM='CPI*SRB*STEP*TERM' (Sum is CPISRBTM)
VMAC89 CPITCITM='CPI*TCB*STEP*INIT'
VMAC90A CPITCTTM='CPI*TCB*STEP*TERM' (Sum is CPITCBTM)
VMACDCOL SMF30CAI='CAPACITY*ADJUSTMENT*IND'
VMXGINIT SMF30CCR='CAPACITY*CHANGE*REASON'
Aug 8, 2010 SMF30CHC='CAPACITY*CHANGE*CNT'
Aug 15, 2010 SMF30ACR='RCTPCPUA*ACTUAL'
SMF30NCR='RCTPCPUA*NOMINAL'
SMF30SCF='RCTPCPUA*SCALING*FACTOR'
SMF30PCF='CAPACITY*FLAGS'
Note that these CPI times are NOT captured in RMF 72s,
and previously the INIT/TERM CPU times were lumped into
one bucked. Now, you can assign the "INIT" CPU time
to the INITTIME interval and the "TERM" CPU time to the
TERMTIME interval and improve the capture ratio.
-TYPE42 New Dataset: TYPE4226 NFS CREATE/DELETE/RENAME
The documentation of the subtype 7 and 8 and the new 26
are in the Network File System Guide and Reference.
-TYPE42 New variables:
Dataset: TYPE42VS:
SMF42VNL='VOLUME NAME LIST'
Dataset: TYPE42NF and TYPE42NU:
SMF42CI6='IPV6*ADDRESS*OF CLIENT HOST'
-TYPE64 New variables:
SMF64FD1 SMF64FD2 SMF64DAU
-TYPE70 New variables:
SMF70CR SMF70ZEI
SMF70NCR SMF70NPR SMF70NTR SMF70CAI SMF70CCR
SMF70SRM SMF70CMN SMF70CMM SMF70CTT SMF70DMN SMF70DMM
SMF70DTT SMF70EMN SMF70EMM SMF70ETT SMF70U00-SMF70U15
-TYPE70PR New variables:
SMF70TCB SMF70SRB SMF70NIO SMF70SIG SMF70WTD
APAR OA29820 also added SMF70WTD "LPAR Overhead"
-TYPE70X2 New variables:
R7024MSK R7023MET R7023MEC
-TYPE72GO New variables:
R723NADJ R723CECA
-TYPE74CA New variables:
R7451CT5 R7451CT6
-TYPE747P New variables:
R747PAND
-TYPE748 New variables:
R748LFLF R748LFLY R748LFLS R748LFPQ R748LFIT R748LFCR
R748LFR1 R748LFR2 R748LFIF R748LFOD R748LFOA R748LFDF
R748LFIO R748LFTC R748LFBC
-TYPE748A New variables:
R748AAS0 R748AAS2 R748AAS3 R748AAS4
-TYPE748R New variables:
R748RTQ
-TYPE748X New variables:
R748XPTQ
-TYPE89 New variables:
SMF89CHC SMF89ACR SMF89NCR SMF89SCF SMF89CAI
SMF89CCR SMF89PCF
-TYPE9033 New dataset with variables
SMF9033T SMF9033N SMF9033S
-TYPE9034 New dataset with variables
SMF9034T SMF9034F SMF9034A SMF9034N SMF9034S SMF9034I
SMF9034R SMF9034F
-TYPE113 New variables, but see also Change 28.166.
SM113CPT
-TYPE119 New Datasets:
T11904 TYP11904 TCP PROFILE INFORMATION FOR STACK
T11932 TYP11932 DVIPA STATUS CHANGE
T11933 TYP11933 DVIPA REMOVED
T11934 TYP11934 DVIPA TARGET ADDED
T11935 TYP11935 DVIPA TARGET REMOVED
T11936 TYP11936 DVIPA TARGET SERVER STARTED
T11937 TYP11937 DVIPA TARGET SERVER ENDED
T11948 TYP11948 CSSMTP CONFIGURATION DATA
T11949 TYP11949 CSSMTP TARGET SERVER CONNECTION
T11950 TYP11950 CSSMTP MAIL
T11951 TYP11951 CSSMTP SPOOL
T11952 TYP11952 CSSMTP STATISTICS
T11973 TYP11973 IPSEC IKE TUNNEL ACTIVATE
T11974 TYP11974 IPSEC IKE TUNNEL DEACTIVATE
T11975 TYP11975 IPSEC DYNAMIC TUNNEL ACTIVATE
T11976 TYP11976 IPSEC DYNAMIC TUNNEL DEACTIVATE
T11977 TYP11977 IPSEC DYNAMIC TUNNEL ADDED
T11978 TYP11978 IPSEC DYNAMIC TUNNEL REMOVED
T11979 TYP11979 IPSEC MANUAL TUNNEL ACTIVATE
T11980 TYP11980 IPSEC MANUAL TUNNEL DEACTIVATE
-TYP11904 dataset is NOT decoded, it has 21 sections
and I hope NO ONE EVERY wants it decoded, but if you
REALLY do, then please send an example SMF record.
-TYP11948-TYP11952 CSSMTP common segments are decoded
but not all subtype-specific segments are, since I
have no data records.
-TYP11948-TYP11952 IPSEC common segments are decoded
but not all subtype-specific segments are, since I
have no data records.
-Many of the new 119 datasets contain IPV6 IP addresses,
which are a $CHAR16. field with hexadecimal values that
are expanded to a 39-byte text field with colons.
This 16-byte hex value in the SMF record
'0123456789ABCDEF0123456789abcdef'X
'7CC3C1E2000000050000000000003000'X
is printed in ftp connection messages as
0123 4567 89ABCDEF cdef
7CC3:c1e2:00000005::3000
is expanded to this 39-character text field in MXG:
0123:4567:89AB:CDEF:0123:4567:89AB:CDEF
This code creates the 39-byte recognizable text value:
INPUT CHAR16IP $CHAR16. @;
IPADR6=PUT(INPUT(SUBSTR(CHAR16IP,1,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,3,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,5,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,7,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,9,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,11,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,13,2),$CHAR2.),$HEX4.)
!!':'!!
PUT(INPUT(SUBSTR(CHAR16IP,15,2),$CHAR2.),$HEX4.);
-TYPE119 New Variables:
TYP11902: TTTTLSFP
TYP11903: FCCCONID FCDCONID
-DCOLLECT: Added to DCOLDSET:
DCDDS9F1 DCDJBNMC DSCSTNMC DCDTIMEC
-DCOLLECT: Added to DCOLDC:
DDCFCT DDCBLMT DDCCFS DDCDVCS DDCFSCAL
DDCFRLOG DDCFRLGS DDCFEXTC DDCFA2GB DDCFPSEG
DDCFKYL1 DDCFKYC1 DDCFKYL2 DDCFKYC2 DDCFVSP DDCFSDB
DDCFVORD DDCFCAR
DDCCT DDCDSCF DDCRBYTE DDCBLKLM DDCBSZLM DDCTAPE1
DDCPSCA DDCPSEG DDCVSP DDCVSPV DDCKLBL1 DDCKLBN1
DDCKYCD1 DDCKLBL2 DDCKLBN2 DDCKYCD2
-Internally, in VMAC7072, thirty-two sets of variables ARE
created for engines 64-95 and used to create the TYPE70
measurements, with these variable name suffixes:
Variables CPUID SUFFIX CPUID SUFFIX CPUID SUFFIX
(All other) 00-09 D0-D9 10-21 DA-DL 22-34 DN-DZ
35-60 ZA-ZZ 61-86 YA-YZ 87-95 VA-VI
Variables
PCTxxxBss 00-09 Y0-Y9 10-21 YA-YL 22-34 YN-YZ
where xxx= CPB CIB IFB ZIB (all other PCT are above).
And four new formats are created that map these pairs of
suffix and CPU numbers (but probably will never be used):
$MG070SC maps suffix to "all other" variable CPU Number
$MG070CS maps CPU number to "all other" suffix
$MG070SP maps suffix to "four PCT" variable CPU Number
$MG070PS maps CPU Number to "four PCT variable suffix
Change 28.174 The variable ZDATE in all MXG datasets is "ZEE DATE WHEN
IMACZDAT ZEE OBS WAS CREATED" and it is used as both an audit date
Aug 6, 2010 and for selection of which observations are kept in MONTH
PDB's in MONTHBLD and BLDSMPDB. If you have to rebuild
a PDB library, you must change the ZDATE to have the
correct date, or data can be lost when in the MONTH PDB.
Previously, you had to EDIT the IMACZDAT member, but you
can instead use this DATA step to set the ZDATE value:
DATA _NULL_;
DATE='01JUL2010'D;
TIME=PUT(DHMS(DATE,0,0,0),32.);
DATEC=PUT(DATE,16.);
CALL SYMPUT('ZDATE',DATEC);
CALL SYMPUT('ZTIME',TIME);
RUN;
%LET MXGZDATE=%QUOTE(
ZDATE=&ZDATE;
ZTIME=&ZTIME'
);
%INCLUDE SOURCLIB(BUILDPDB);
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.173 Variable ZIPTM was used in GRAFWRKX to carry the zIIP
GRAFWRKX time, but it already existed in RMFINTRV as the total of
Aug 5, 2010 the TYPE72GO zIIP time, it was included as uncaptured
zIIP time on the bar charts. Now the uncaptured zIIP and
IFA/zAAP times are correctly calculated for the charts.
Change 28.172 CA-Dispatch Version 11 type SMF 6 INCOMPATIBLY CHANGED by
IMACCADI the insertion of fields, causing INVALID JESNR messages.
VMAC6 There is no "version" field in CA's record, so a test for
Aug 5, 2010 LENGTH=347 AND SMF6LN1=287 is used to identify V11 data.
These new variables are created:
CADIATYP CADIDJDC CADIDPLX CADIEFRM CADIJDEI
CADIJDLI CADIOLVR CADIPASS CADIPCR CADIPRTR CADIXFRM
Thanks to Glenn Bowman, Wakefern, USA.
Change 28.171 IFLs only, MXG 28.01+, STARTIME was a missing value in
VMXG70PR the PDB.ASUM70LP dataset.
Aug 3, 2010
Thanks to William Edwards, Blue Cross Blue Shield of Florida, USA.
Thanks to Bob Maple, Blue Cross Blue Shield of Florida, USA.
Change 28.170 Cosmetic. LOG=NO and NOEXIMSG=NO added to VGETOBS to
VMXGFIND suppress unneeded/unwanted log messages, and MXGNOTE
Jul 29, 2010 added at the end to report how many datasets were found
with matching values.
Change 28.169 -New ANALCAPD analysis will estimate the impact of setting
ANALCAPD a Defined Capacity limit, at the CEC level, with both a
Jul 29, 2010 text report and a graph (if SAS/GRAPH is found) or plot
Aug 14, 2010 (if no SAS/GRAPH) of the intervals which might be limited
by a cap, i.e., intervals where the rolling four hour
average exceeded the Cap value that you specified.
Arguments:
PDB=PDB Libname where the ASUMCEC dataset is found
DEFCAP=130 MSU Value of the CAP you want to examine
INTERVAL=HOUR Must match the ASUMCEC interval
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.168 -New MULTIPDB utility will creates a new SAS DATA library
MULTIPDB with ALL of the datasets that exist in the list of input
VGETSORT data libraries to be read. If a dataset is sorted in all
VGETLIBS of the input data libraries, the output dataset will also
Jul 27, 2010 be sorted. Options for KEEPing or DROPing datasets by
Aug 9, 2010 name is supported, and the input list can use a colon as
a wildcard to read all DDs starting with that string.
// EXEC MXGSAS
//PDB1 DD DSN=PDB(0),DISP=SHR
//PDB2 DD DSN=PDB(-1),DISP=SHR
//PDB3 DD DSN=PDB(-2),DISP=SHR
//PDB4 DD DSN=PDB(-3),DISP=SHR
//MON DD DSN=PDB.MON,DISP=SHR
//TUE DD DSN=PDB.TUE,DISP=SHR
//NEW DD DSN=PDB.COMBINED,DISP=(,CATLG)......
%MULTIPDB(INLIBS=PDB: MON TUE,OUTLIB=NEW);
will create all datasets found in all of the INLIBS= into
the //NEW data library.
-VGETSORT added parameters for efficiency and to reduce
the number of messages written to the SAS log.
-New VGETLIBS %MACRO will take a list of LIBNAMEs and see
if they exist and what engine they were created by.
The list of libnames and engines are returned, and used
by MULTIPDB to determine if the INLIBS= libnames exist.
If none of the LIBNAMES in INLIBS= are found, MULTIPDB
terminates.
Change 28.167 Variables NDMCERT and NDMCERI are added to NDMCT dataset.
VMACNDM
Jul 27, 2010
Change 28.166 Revised, enhanced support for TYPE113 SMF records, based
ASUM113 on John Burg's SHARE Boston 2010 Presentation.
FORMATS -PDB.TYPE113 dataset contains the complete detail level,
VMAC113 with an observation for each CPU Address, while the new
TYPS113 PDB.ASUM113 dataset, created by revised ASUM113, has all
TYPS113E of the counters summed for each LPAR for each interval;
Jul 27, 2010 This PDB.ASUM113-level is used to calculate the RNI for
Aug 12, 2010 each LPAR for zPCR; while all the new variables are also
created in TYPE113 dataset, IBM recommends that the LPAR
summary PDB.ASUM113 data be normally used.
-The ASUM113 program will look for PDB.TYPE70PR dataset in
the same PDB library as TYPE113, and if found, it is used
to add variables CPUTYPE CECSER LPARWLMG and SMF70HDM in
both PDB.TYPE113 and PDB.ASUM113.
-The TYPS113E "Enhanced" standalone program reads 70 & 113
SMF to create both PDB.TYPE113 and PDB.ASUM113 with the
TYPE70PR variables added.
- New RNI metric is created in TYPE 113, additional metrics
are calculated, and SM113VN2 is formatted to identify if
the processor type is z10 or a new z196.
-SM113VN2=1 for z10, SM113VN2=2 for z196; new MG113VN
format will print z10 or z196.
-Relative Nest Intensity calculations for the z10 and z196
are added to dataset TYPE113 using these two algorithms,
but only the new variable RNI is actually created:
Z10RNI =(1.0*L2LP+2.4*L2RP+7.5*MEMP)/100.
Z196RNI=1.6*(0.4*L3P+1.0*L4LP+2.4*L4RP+7.5*MEMP)/100
-Users will need to know the RNI to determine the correct
LSPR workload for the latest LSPRs, which is documented
in the new LSPR Manual on ResourceLink:
https://www-304.ibm.com/servers/resourcelink/lib03060.nsf
/pages/lsprindexpdf/$file/SC28118714_20100714.pdf
-New variables are created in TYPE113:
z196 only:
L2P ='PERCENT*SOURCED*FROM*L2*CACHE'
L3P ='PERCENT*SOURCED*FROM*L3*CACHE'
L4LP='PERCENT*SOURCED*FROM*L4*SAME BOOK'
L4RP='PERCENT*SOURCED*FROM*L4*DIFFERENT*BOOK'
z10 and z196, but different equations for each CEC:
ESTICCPI='ESTIMATED*INSTRUCTION*COMPLEXITY*CPI'
ESTFINCP='ESTIMATED*CPI FROM*FINITE*CACHE/MEM'
ESTSCP1M='ESTIMATED*SOURCING*CYCLES*PER L1 MISS'
RNI ='RELATIVE*NEST*INTENSITY'
EFFGHZ ='EFFECTIVE*GIGAHERTZ*CYCLES*PER NANO'
TLB1MISS='TLB*CPU MISS*PERCENT OF*TOTAL CPU'
TLB1CYCL='CYCLES*PER*TLB*MISS'
PTEPCTMI='PAGETABLE*ENTRY*PCT OF TLB*MISSES'
-These z10-only variables have missing values (i.e., not
calculated for z196): L15P L2LP L2RP. (Added 26Aug2011).
-SM113CPT was not kept in the TYPE113 dataset.
-If a counter reset is found in one counter, that entire
interval from that SYSTEM/LPAR is deleted.
-The original logic attempted to correct when counters
wrapped, by creating the value of a full 8-bytes 'FF'x,
to add when wrap was detected:
IF EIGHTFFF=. THEN DO;
CHAR8FFF='FFFFFFFFFFFFFFFF'X;
EIGHTFFF=INPUT(CHAR8FFF,&PIB.8.);
RETAIN EIGHTFFF;
DROP CHAR8FFF;
END;
and that worked fine on PC SAS. But on z/OS, the value of
EIGHTFFF is ZERO, instead of the expected 1.8E+19 value.
SAS Support has recognized this as a defect (that has
been that way since SAS V6 on z/OS), so this iteration
will just delete intervals if the counter wrapped.
-John's SHARE paper had some missing counters for the z196
equations that are included in this MXG update and will
be in his final version of that paper:
L4LP adds EXTND152 and EXTND155
L4RP adds EXTND134 and EXTND143
MEMP subtracts EXTND134 and EXTND143
-The ANAL113 program print's the report on page 26 of his
paper, and also prints the counters that are used to
create that report for each LPAR for each interval, using
the PDB.ASUM113 dataset as input.
-I will update MXG ANALZPCR to use RNI in a later change.
-APAR OA30486 became available in Oct, 2010, back to z/OS
1.10, adding SMFINTVAL=SYNC so that SMF 113 records can
be synchronized with your SMF and RMF interval data.
Thanks to Cheryl Watson, Watson & Walker, USA.
Thanks to Scott Barry, SBBWorks, USA.
Thanks to John Burg, IBM, USA.
Thanks to Tony Hirst, Wells Fargo, USA.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 28.165 IMS Statistics Log Record LCODE=56x TPCPSSTY='09'X record
VMACIMS caused INPUT STATEMENT EXCEEDED RECORD LENGTH. The DO
Jul 26, 2010 group for the '09'x subtype was incorrectly located.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 28.164 Support for SMF 119 new subtypes 32-37 and 48-52.
EXT11932 Nineteen new datasets are created (but not yet data'd).
EXT11933
EXT11934 dddddd Dataset Description
EXT11935 T11932 TYP11932 DVIPA STATUS CHANGE
EXT11936 T11933 TYP11933 DVIPA REMOVED
EXT11937 T11934 TYP11934 DVIPA TARGET ADDED
EXT11948 T11935 TYP11935 DVIPA TARGET REMOVED
EXT11949 T11936 TYP11936 DVIPA TARGET SERVER STARTED
EXT11950 T11937 TYP11937 DVIPA TARGET SERVER ENDED
EXT11951 T11948 TYP11948 CSSMTP CONFIGURATION DATA
EXT11952 T11949 TYP11949 CSSMTP TARGET SERVER CONNECTION
EXT11973 T11950 TYP11950 CSSMTP MAIL
EXT11974 T11951 TYP11951 CSSMTP SPOOL
EXT11975 T11952 TYP11952 CSSMTP STATISTICS
EXT11976 T11973 TYP11973 IPSEC IKE TUNNEL ACTIVATE
EXT11977 T11974 TYP11974 IPSEC IKE TUNNEL DEACTIVATE
EXT11978 T11975 TYP11975 IPSEC DYNAMIC TUNNEL ACTIVATE
EXT11979 T11976 TYP11976 IPSEC DYNAMIC TUNNEL DEACTIVATE
EXT11980 T11977 TYP11977 IPSEC DYNAMIC TUNNEL ADDED
VMAC119 T11978 TYP11978 IPSEC DYNAMIC TUNNEL REMOVED
VMXGINIT T11979 TYP11979 IPSEC MANUAL TUNNEL ACTIVATE
Jul 25, 2010 T11980 TYP11980 IPSEC MANUAL TUNNEL DEACTIVATE
Change 28.163 The code for TMON/DB2 has been updated to "standard" MXG
VMACTMDB structure; the original code did not define the _Vdddddd
Jul 23, 2010 macros, and the _Sdddddd dataset sort macros were DATA
steps rather than PROC SORTS.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 28.162 Support for ITRF adds variables to ITRFDATA and ITRFSUM
VMACITRF datasets to support ITRF V420 IF2.
Jul 22, 2010
Change 28.161 Example 3 was missing the second close-paren in both of
TIMEBILD the %TIMEBILD invocations. The execution just hung with
Jul 21, 2010 no error message nor clue, except for an astute user.
Thanks to Graham Cornwall, Donovan Data Systems, ENGLAND.
Change 28.160 -CleverView for TCP/IP TN3270 variable CTCPIPAD was wrong,
VMACCTCP with constant value of 64.64.64.64, now corrected.
Jul 21, 2010 -The CVTTZ GMT Offset field was added to the SMF record,
and when it exists is used to correct the CTCPTIME STCK
value to the local clock. CTCPTIME is the Start Time of
the session and will be constant for all intervals for
that session.
-The interval records cannot be SYNC'd with SMF intervals.
-The CTCPHOST (HOST APPLICATION NAME) can be blank, when
the user has not yet logged on.
Thanks to John Howard, Florida Northwood Shared Center, USA.
Change 28.159 This example to use BLDSMPDB to write daily PDBs to a GDG
GDGDAILY did not pick up yesterday's SPIN data library.
Jul 20, 2010
Change 28.158 Support for APAR OA31648 adds new counters to show how
VMAC42 many retries were performed to obtain buffer latches to
Jul 19, 2010 satisfy record management requests. From APAR text:
-If a client has a serious application contention issue
while accessing buffers to read data, there is no
external indication or measurement data to show this
reason for delay.
-While primary serialization in RLS is at the record
level, there is still a need for SMSVSAM to perform
very short term serialization of the local buffer
containing the CI in order to maintain integrity of the
local buffer pool.
-When contention is excessive, a single record
management request may need to retry an obtain for the
buffer latch many times. A small amount of contention
is normal, so displaying latches at a given point in
time does not give an indicator of how long a request
may have been delayed.
Variables SMF42GRW and SMFA2GRW are added to datasets
TYPE42D1 and TYPE42D3 respectively.
Change 28.157 Support for VM ACCOUNT ID='09' for ISFC (Inter-System
EXVMISFA For Communications) record creates five datasets:
EXVMISFE
EXVMISFI dddddd Dataset Description
EXVMISFL VMISFA VMISFA ISFC ACTIVE CONVERSATION
EXVMISFS VMISFE VMISFE ISFC END CONVERSATION
FORMATS VMISFI VMISFI ISFC INITIATE CONVERSATION
VMXGINIT VMISFL VMISFL ISFC LINK STATISTICS
TYPEVM VMISFS VMISFS ISFC START CONVERSATION
Jul 19, 2010
Thanks to Greg Reed, Travelport GDS, USA.
Thanks to Rick Stuchell, Travelport GDS, USA.
Change 28.156 Support for IFCID=27 decodes QW0027SP and QW0027NR and
FORMATS decodes and formats QW0027OZ.
VMAC102
Jul 18, 2010
Thanks to Victoria Lepak, Aetna, USA.
Change 28.155 MXG 28.04, only if _N7072 is used. The output of the new
VMAC7072 temporary TYPE70EC and TYPE70EL datasets now names their
Jul 17, 2010 _WTY70EC and _WTY70EL tokens so that _N7072 can be used.
Thanks to Kim Westcott, State of New York, USA.
Change 28.154 -MXG detection of inserted or excluded fields in CICS 110
VMAC110 is enhanced by test for CPUTM GT 2*ELAPSTM that prints
Jul 18, 2010 error messages if true. Previous IF TASKNR=. tested the
Jul 21, 2010 only Packed Decimal field, which is a missing value if
MXG was out of alignment, but that could overlook new
inserted fields after the location of Task Number.
-Spurious message that STID=110 had skipped data removed;
the SKIP=SKIP-604 should have been SKIP=SKIP-652, but the
CICW2R dataset was correct in spite of that message.
-Variable PGDPGM, Program Name, was not kept in dataset
CICPGD, nor was it labeled, a major oversight as all of
the information in CICPGD Statistics are for the program!
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 28.153 XAM TCP datasets TOTCPU were incorrectly divided by 100.
VMACXAM
Aug 15, 2010
====== Changes thru 28.152 were in MXG 28.04 dated Jul 5, 2010========
Change 28.152 Support for zTPFC, TPF Continuous Monitoring has a few
EXTPFC92 fields added to existing datasets and two new datasets
EXTPFC98 added by this change
IMACTPFC
VMACTPFC DDDDDD DATASET Description
Jul 2, 2010
Jul 21, 2010 TPFC92 TPFC92 LPAR UTILIZATION
TPFC98 TPFC98 DASD SERVICE TIME
Thanks to Bob Wilcox, HP, USA.
Change 28.151 Support for zCost AutoSoftCapping V 1.5.00 user SMF
EXZCO01 record, which replaces the TDSL product with these three
EXZCO02 new datasets:
EXZCO03
IMACZCOS dddddd dataset description
TYPEZCOS
TYPSZCOS ZCO01 ZCOS01 ZCOST CPC
VMACZCOS ZCO02 ZCOS02 ZCOST LPAR
VMXGINIT ZCO03 ZCOS03 ZCOST SYSPLEX/CPC
Jul 2, 2010
Thanks to Alan Delaroche, zCostServices, FRANCE.
Change 28.150 Type 42 subtype 15 did not protect for new data, and the
VMAC42 addition of variables SMF42FAI and SMF42FAJ caused the
Jul 1, 2010 second and subsequent segments to be misaligned with bad
data values resulting in TYPE42S1 dataset.
Thanks to Michael Friske, FMR, USA.
Change 28.149 Sample reports had typos, corrected.
ANAL119
Jun 30, 2010
Change 28.148 TMS DEVTYPE was blank for TRTCH 'F0'X thru 'FF'x, which
VMACTMS5 are now decoded as 3592 or Titanium devices.
Jun 28, 2010
Thanks to Scott Barry, SBBWorks, USA.
Change 28.147 Another kewl tool. Will search data libraries for all
VMXGSRCH variables that match a specific character string.
Jul 4, 2010 You can:
-PRINT X OBS of every dataset where any variable has
a match
-PRINT X OBS of every dataset where any variable has
a match and copy all of the OBS to some other DD
-or just get a count of the number of variables and
datasets and obs that have a match.
Example 1: PRINT ALL OBS IN ALL DATASETS WHERE
the value of any variable is CHUCK.
%VMXGSRCH(LIBNAME=_ALL_,RESULTS=PRINT,VALUE=CHUCK);
Example 2: PRINT/copy ALL OBS IN ALL DATASETS WHERE
the value of any variable is CHUCK.
%VMXGSRCH(LIBNAME=_ALL_,RESULTS=PRINT,VALUE=CHUCK,
COPYTO=WORK);
Example 3: PRINT/copy ALL OBS IN ALL DATASETS WHERE
the value of any variable is CHUCK, but suppress
the NOTES on the log (and there are LOTS of them).
%VMXGSRCH(LIBNAME=_ALL_,RESULTS=PRINT,VALUE=CHUCK,
COPYTO=WORK,LOG=NO);
Example 4: COUNT just tell me how many variables
in how many datasets and obs have a match.
%VMXGSRCH(LIBNAME=_ALL_,RESULTS=COUNT,VALUE=CHUCK,
LOG=NO);
Thanks to Chuck Hopf, Independent Consultant, USA.
Thanks to Scott Barry, SBBWorks, USA.
Change 28.146 -Major enhancement to DB2PM-like reporting in ANALDB2R
ANALDB2R which has been upgraded to support DB2 V9 data, and is
ASUMDBAA internally completely revised to make maintenance simple
EXDB2ACR in the future.
FIXDB2A -And, a MAJOR change in PDB.DB2ACCT Buffer Pool data:
TRNDDBAA Four sets of DB2 Buffer Pool variables QBnCxxx in DB2ACCT
VGETOBS DB2ACCTP and DB2STATS are redefined and contents changed.
VMACDB2 QB1Cxxx variables contain the 4K Buffer Size counters,
VMACDB2H QB2Cxxx variables contain the 8K Buffer Size counters,
VMXGDBAA QB3Cxxx variables contain the 16K Buffer Size counters
VMXGDBSS and QB4Cxxx variables now contain 32K Buffer counters.
Jul 4, 2010 Originally, the four sets of counters were for BP0, BP1,
Aug 14, 2010 all 4K, and all 32K, but then 8K and 16K counters were
added into the QB4Cxxx variables, making a real mess.
Individual Buffer Pool Statistics for EACH Buffer Pool
are available in the DB2ACCTB and DB2STATB datasets.
-New DB2ACCTR dataset is created with an observation for
each QLAC segment (for each Remote Location) in the
Accounting Records. The QLACxxxx variables in DB2ACCT
were previously from the first QLAC segment, but with
this change, those variables will be from the last one.
With hindsight, had I known there could be multiple QLACs
in an accounting record, I would have created ONLY this
DB2ACCTR dataset and would have not kept any QLACxxxx
variables in DB2ACCT. If there was only one Remote QLAC
segment, then there is no change in DB2ACCT.
*-All summarization of DB2ACCTx datasets now performed by
new VMXGDBAA internal macro, called by ANALDB2R and
ASUMDBxx and TRNDDBxx, replacing ASUMDB2A and ASUMDB2B.
*-All summarization of DB2STATx datasets now performed by
new VMXGDBSS internal macro, called by ANALDB2R and
ASUMDBSS and TRNDDBSS.
*-If you use the new ANALDB2R against old PDBs that do not
contain ASUMDBAA or ASUMDBSS datasets, the FIXDB2A can
be used to report from old ASUMDB2A/TRNDDB2A datasets, as
close as possible to the new architecture, but many new
report fields will be missing.
-Correction to PDB.DB2STATS interval logic.
-Number of SORTBY= variables for PMACC02 increased to 12.
-Reports now as close to current as V7 DB2PM documents.
-Future maintenance greatly simplified.
-In prior releases if you asked for both PMACC01 and
PMACC02 the input data was summarized twice. Now only
one summarization is needed.
-PMACC01/PMACC02 will look for the ASUMDBAA or ASUMDBSS
datasets and use them instead of the detail DB2ACCTx or
DB2STATS dataset if they exist.
-The original version of the accounting long report was
written to output a full line at a time with a _NULL_
data step. But, DB2PM was written in sections and IBM
could insert lines in different sections with each new
release making maintenance a real nightmare. Inserting a
line in one section could result in touching hundreds of
lines of the code. PMACC02 is completely rewritten using
the same structure - in sections - and outputs a page at
a time rather than a line, which should make future
enhancements much simpler. Code comments indicate what
section is being invoked.
-And PMACC01 was rewritten, although it remains a line
mode coding and report. All four Accounting reports
PMACC01/PMACC02/PMACC03/PMACC04 use the same inputs, and
new VMXGDBAA summarizes all accounting data with datasets
held in work to avoid an unneeded, now, resummarization.
-Numerous glitches were found in the logic to create the
PDB.DB2STATS dataset (from DB2STAT0/1/4/T102S225) that
have been corrected.
- GMTOFFDB calculation occasionally returned -14399.99
instead of -14400 due to the different resolutions of
QWHSSTCK (microseconds) and SMFTIME (10 milliseconds)
and truncation in the floating point representation.
GMTOFFDB algorithm enhanced to force exact hour.
This error caused the Local Time QWHSSTCK in DB2STAT0
to be later than the Local Time QWHSSTCK in DB2STAT1,
which caused me to believe that was an IBM error,
until I was corrected by DB2 Support that the subtype 0
is ALWAYS written first in each interval (when QWSDRINV
is '10'x, timer caused record to be written).
- Logic in VMACDB2H to force QWHSSTCK to be the same for
each interval as SMF records were read was invalid when
multiple subsystems records were simultaneously written
with all the subtype 0's in a group, then their 1's.
Logic was removed, so the PDB.DB2STAT0/1/4 QWHSSTCK are
now the actual value in those datasets. In PDB.DB2STATS
the value from DB2STAT0 is propagated, and DB2START is
created with the "start time" of each stat interval.
-NETSNAME construction was revised to test for FIRST8 to
also test LOCPERIO EQ 0 to populate NETSNAME correctly
when there was no period in the QWHCTOKN.
-VMACDB2 corrected: DB2 V9.1 data with more than one QLAC
segment caused "BAD TMON SUBTYPE 101 RECORD" message but
the record was IBMs and the error was mine. Length when
there length in header was zero was not handled correctly
for the second and subsequent QLAC sections.
Change 28.145 Cosmetic. Enabling SAS Option MSGLEVEL=I printed four
VMAC7072 INFO: messages that are now eliminated just to avoid
VMXG70PR confusion, as, (fortunately) there was no actual problem.
Jun 28, 2010 I have also added MSGLEVEL=I to the QASAS job.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 28.144 The VMXGPRNT utility that prints a single dataset with
VMXGPRNT variable name and variable label as headers is enhanced
Jul 4, 2010 to allow you to select which variables are printed.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 28.143 Support for z196 processor. This Change is REQUIRED FOR
VMAC7072 more than 64 engines, and the support was in MXG 28.04.
Jul 4, 2010 See Change 28.175 for full documentation, and more.
Change 28.142 Variable
VMAC7072 SMF70NCA='PCT WHEN*CAPPING*LIMITED*THIS ENGINE'
Jun 23, 2010 is now kept in TYPE70 dataset.
Thanks to Deb Soricelli, CIGNA, USA.
Change 28.141 Cosmetic. The Last Updated Date/Change of UTILEXCL will
UTILEXCL now be in a comment in the IMACEXCL member it creates.
Jun 23, 2010
Change 28.140 Major revision to SMF 113 support.
ASUM113 -TYPE113 now creates one obs per interval, with all four
VMAC113 sets of counters in one observation (instead of four obs,
Jun 23, 2010 each with one set of BASIC/PROGST/CRYPTO/EXTND counters).
Jun 28, 2010 -With all four counter sets in one obs, missing values in
variables added in Change 28.075 are eliminated.
-New variable SM113STM, Interval Start Time is created.
-New variable MIPSEXEC, Executed Million Instructions/sec
is created (but don't expect it to match published MIPS
"speed" values). (Thanks: Peter Enrico).
-The _STY113 dataset sort macro now tests //WORK and //PDB
and if TYPE70PR exists, adds variables CPUTYPE (2098),
SMF70CIN (Engine Type), CECSER, LPARWLMG (IRD FLAG),
SMF70CPA (SU_SEC), SMF70HDM (HiperDispatch Active?), and
SMF70CIX (Pool Number) to enhance PDB.TYPE113 dataset.
-New ASUM113 accomplishes the same enhancement as _STY113,
enhancing PDB.TYPE113 with those variables from TYPE70PR,
if you have old TYPE113 and TYPE70PR in the same PDB.
-The TYPE113 records are not synchronized with RMF/SMF so
the Polarity value of each engine is not yet added, nor
NRCPUS nor other non-static variables (i.e. can vary with
time), but IBM plans an APAR that will sync the 113's
with RMF/SMF, and MXG will add other TYPE70 variables and
new TYPE73 variable to TYPE 113 when that APAR is GA.
-The sort order of the PDB.TYPE113 dataset is now BY
SYSTEM READTIME JOB SM113STM.
-Occasional counter reset without a new interval flag have
been observed and are now protected (by deletion of that
interval) and detected (by printing an error message).
This error can be the result of two known causes:
1) Down level on the z10 micro-code.
The z10 needs to be at Driver 76 (GA2) and at least
at Bundle 20, as documented in John Burg's SHARE
paper. Bundle 20 also fixed some counter errors.
2) When IRD gets involved and varies off a CPU. Varying
off by IRD does NOT cut a final record; instead, when
it is finally varied back on you get an Intermediate
record for that interval, and over an hour elapsed
has been observed before that intermediate record was
written when the CP came back online.
(Thanks: John Burg).
-If you want create the enhanced PDB.TYPE113 dataset, and
only create that one output dataset in the //PDB library:
// EXEC MXGSASV9
//SMF DD DSN=YOUR.SMF,DISP=SHR
//PDB DD DSN=YOUR.TYPE113.PDB,DISP=(,CATLG),UNIT=SYSDA,
// SPACE=(CYL,(25,25))
//SYSIN DD *
%LET PTY70=WORK; %LET PTY70PR=WORK;
%LET PTY7002=WORK; %LET PTY70X2=WORK;
%LET PTY70Y2=WORK; %LET PTY72=WORK;
%LET PTY72DL=WORK; %LET PTY72GO=WORK;
%LET PTY7204=WORK; %LET PTY72MN=WORK;
%LET PTY72SC=WORK;
%UTILBLDP(BUILDPDB=NO,
USERADD=7072 113,
ZEROOBS=70.2 72,
OUTFILE=INSTREAM);
%INCLUDE INSTREAM; RUN;
PROC DATSETS DDNAME=WORK MT=DATA NOLIST;
DELETE TYPE7:;RUN;
Thanks to Richard Schwartz, State Street Bank, USA.
Change 28.139 These "recently" added SMF30xxx variables are now kept in
BUILD005 the PDB.STEPS dataset (but are not carried forward into
BUIL3005 the PDB.JOBS dataset, but might be in the future, based
Jun 23, 2010 on feedback from this change).
SMF30AIC='DASD CONNECT*ASID PLUS*DEPENDENT'
SMF30AID='DASD DISCONNECT*ASID PLUS*DEPENDENT'
SMF30AIS='DASD SSCH*ASID PLUS*DEPENDENT'
SMF30AIW='DASD PEND+CU*ASID PLUS*DEPENDENT'
SMF30ASP='ASID*DESIGNATED*STORAGE-CRITICAL?'
SMF30CCP='SRVCLASS*DESIGNATED*CPU-CRITICAL?'
SMF30CPR='ASID*CURRENTLY*CPU-PROTECTED?'
SMF30CSP='SRVCLASS*DESIGNATED*STOR-CRITICAL?'
SMF30EIC='DASD CONNECT*INDEPENDENT*ENCLAVES'
SMF30EID='DASD DISCONNECT*INDEPENDENT*ENCLAVES'
SMF30EIS='DASD SSCH*INDEPENDENT*ENCLAVES'
SMF30EIW='DASD PEND+CU*INDEPENDENT*ENCLAVES'
SMF30HSH='HWM*USABLE BYTES*IN 64-BIT*SHARED'
SMF30HSO='BYTES IN*64-BIT*SHARED*STORAGE'
SMF30HVA='HWM*AUX*SLOTS*BACK*64-BIT'
SMF30HVH='HWM*USABLE BYTES*IN 64-BIT*OBTAINED'
SMF30HVO='BYTES IN*64-BIT*STORAGE*OBTAINED'
SMF30HVR='HWM*REAL*FRAMES*BACK*64-BIT'
SMF30JPN='SUBCOLN*FROM*IWMCLSFY'
SMF30MRA='CPU*RATE*SU_SEC*FACTOR'
SMF30MRD='DEPENDENT*ENCLAVES*CPU*TIME'
SMF30MRI='INDEPENDENT*ENCLAVES*CPU*TIME'
SMF30MRS='SYSTEM*NAME*WHERE*ENCLAVES*RAN'
SMF30MSI='REMOTE*SYSTEM*DATA*INCOMPLETE?'
SMF30PFR='SRVCLASS*WAS MODIFIED*DURING*EXECUTION?'
SMF30SNF='ZIIP NORMALIZATION FACTOR'
SMF30SPR='ASID*CURRENTLY*STORAGE-PROTECTED?'
SMF30WMI='EXECUTING*IN*WLM*INITIATOR?'
SMF30ZNF='ZAAP NORMALIZATION FACTOR'
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 28.138 Support for SysView Subtype 3 record creates new dataset
EXSVTH03 SV03THRE='SYSVIEW THRESHOLD EXCEPTION 03'.
FORMATS
IMACSVIE
VMACSVIE
VMXGINIT
Jun 21, 2010
Thanks to Mike Paladino, Progressive Insurance, USA.
Change 28.137 Support for BMC IMF records written in SMF Format in new
TYPEIMFS member TYPEIMFS, which handles the SMF header, and sets
VMACCIMS OFFIMS, and in updates to VMACCIMS, as not all of its
Jun 20, 2010 INPUTs and LENGTH tests included OFFIMS. This iteration
will ONLY process IMF 'FA'x and 'F9'x SMF record IDs in
the infile SMF dataset. TYPEIMFS creates the same MXG
datasets in the same default LIBNAMEs as member TYPECIMS.
Thanks to Denise Willers, Infocrossing, USA.
Thanks to Ken Steiner, Infocrossing, USA.
Change 28.136 Variable R748CSER, the Controller Serial Number is now
VMAC74 kept in TYPE74A, TYPE748R and TYPE74X datasets.
Jun 24, 2010
Thanks to Pat Jones, DST, Inc, USA.
Change 28.135 Cosmetic. MXG Error messages when bad EXCP segments are
VMAC30 found now print the ABEND, CONDCODE, and ABNDRSNC values.
VMACEXC2 Precipitated by a series of error messages with bad EXCP
Jun 17, 2010 and MULC segments for jobs with SYSTEM 0D5 ABENDS.
Jun 24, 2010 The PUT of ABNDRSNC caused it to be defined as numeric
when ANALALL was executed, because the VMACEXC2 was used
first in SMF 4 record code, before ABNDRSNC was INPUT.
Using PUT ... ABNDRSNC= $8; resolved that weird error.
Thanks to Trevor Ede, HP, NEW ZEALAND.
Change 28.134 CICS Statistics Record INVALID STILEN=0 fortunately was
VMAC110 harmless, as it occurred after the STID=116 segment had
Jun 16, 2010 been output CICSJS. MXG had read only 156 bytes of the
164 bytes of STID=116, causing the error, now fixed.
Thanks to Tom Buie, Southern California Edison, USA.
Change 28.133 Support for WebSphere SMF 120 Subtype 20 Job Usage data.
EXT12020 Has only been coded, records skipped until test data
VMAC120 exists for validation.
Jun 16, 2010 See Change 28.258.
Change 28.132 Replaced by Change 28.146.
Change 28.131 IMS Log 56x record subtype 15x caused INVALID DATA or
VMACIMS INPUT STATEMENT EXCEEDED RECORD LENGTH errors. code was
VMACIMSA relocated. Only the 15x variables are now kept in IMS56F
Jun 14, 2010 dataset. STIMSID removed from all IMS56x datasets.
Thanks to Lindholm Orjan, Volvo, SWEDEN.
Change 28.130 Correction to calculation of index space; value in the
ASMRMFV RMFV018I message was slightly low, as 1111 was used in
Jun 10, 2010 the denominator instead the correct value of 1110.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 28.129 Support for DB2 Version 10. COMPLETELY INCOMPATIBLE:
EXDB2ACR -All three DB2 records (100,101,102) can be compressed;
EXDB2ACW For z/OS execution, the EXITCICS member's INFILE exit
FORMATS now decompresses both DB2 and the original CICS records.
IMACDB2 For ASCII SAS, where there are no INFILE exits, or for
VMACDB2 z/OS without the exit installed, records are decompressed
VMACDB2H with internal SAS code, but that is EXTREMELY EXPENSIVE
VMACSMF on z/OS compared with using the INFILE exit, so MXG warns
VMXGINIT that you should install the exit to save CPU time.
VMXGWORL
Jun 16, 2010
Jun 19, 2010
Jun 21, 2010
-INVALID DATA FOR QWHSRELN is proof you have DB2 V10 SMF;
QWHSRELN is not a valid "PK" value; it now has 'A1'x, so
VMACDB2H was revised. The value is 10.1, not 10.0.
-And INPUT STATEMENT EXCEEDS RECORD error ABENDs may occur
because fields were inserted rather than added at the end
where MXG would have automatically skipped them.
-Subtype in SMF Header INCOMPATIBLY increased from one to
two bytes (because that's what it should have been all
along. However, only SMF 100 and 101 records populate
the subtype in the SMF Header. VMACSMF was updated to get
the DB2 version and then input the subtype correctly.
(MXG has always stored the IFCID value in SUBTYPE for the
DB2 102 trace records, since they don't have a subtype.)
-New DB2ACCGW dataset is created for each QWAR segment,
which can be used to correlate rollup records.
-Multiple SMF 100 Subtype 1 (DB2STAT1) IFCID=2 records are
now supported (Jun 21 2010). These records contain only
QBST or QBGL segments and are written when more than 25
buffer pools are used in an interval.
-Macro _SDB2STS was redesigned to correct DUPLICATE MERGE
VALUES errors that occur only if DB2 was restarted, by
removing QWHSACE QWHSMTN from the _BDB2STS "BY list", by
interleaving the four input datasets to create STATSGROUP
to use as merge variable (QWHSSTCK cannot be used as it
not exact in all four records for each interval), and by
conditionally merging T102S225 (DB2 V8) if it exists.
The _SDB2STY macro is now a null macro and no longer
used. The new sort order for the PDB.DB2STATS dataset is
now SYSTEM QWHSSSID QWHSSTCK. A cosmetic enhancement to
VMXGWORL, NOWARN=YES, is used to suppress the MXGNOTEs
when a tested dataset is known to not always exist (used
for T102S225 in this change).
-Many new variables added to DB2ACCTx/DB2STATx by V10:
DB2ACCT:
QLACRLNU
QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
DB2ACCTP:
QPACAWLH QPACANLH QPACRLNU
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2ACCTB:
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2ACCTP:
QPACAWLH QPACANLH QPACRLNU
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2ACCTG:
QWACPCTT QWACPQRY QWACAWLH QWACARLH
DB2STAT0:
Q9STCDMD QDSTNQWC QDSTNARD QDSTMARD
D64POST A64POST A64WAIT M64DISNU M64DISPG SGETR64
SGETEXT6 SGETDEXT SFREER64 SFREEDEX DISCARDM
QWS1MCPU QWS2MCPU QWS3MCPU QWS4MCPU
QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
DB2STAT1:
QISEKSPG QISEKSPA QISEKLRU QISEDLRU QISESQCB QISESQKB
QISESQCA QISESQKA
QISTRCCI QISTRCCD QISTRCCU QISTWMXA QISTWMXU QISTWCTO
QISTW4K QISTW32K
QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
DB2STATB:
QBSTFLG
DB2GBPST:
QBSTFLG
-SMF 102 IFCIDs 172 and 196 were compatibly updated.
-SMF 102 IFCIDs 267, 268, 317, and 337 are now decoded.
New formats are created by the updated FORMATS member.
-These other IFCIDs in user-sent SMF files are presumably
the trace records that are normally written or needed.
They have been examined and none were change in V10:
4,5,55,87,105,140,141,173,196,199,250,254,258,261,262
-See the text of Change 28.146, which made changes to DB2
processing that were independent of the Beta, including
fixing the PDB.DB2STATS interval issue that was first
discussed in this change text, but was not V10 related.
Change 28.128 WARNING: APPARENT INVOCATION OF MACRO TRIM NOT RESOLVED
CONFIGV8 WARNING: APPARENT INVOCATION OF MACRO CMPRES NOT RESOLVED
CONFIGV9 Other: References to MACRO DATATYP in an EVAL statement
Jun 9, 2010 which may be followed by
ERROR: A character operand was found in %EVAL function
or %IF where a numeric operand is required ....
There are several "opportunities" for this error:
-These options must be in effect to resolve %TRIM:
OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS);
They are normally set in MXG CONFIGVn, but we have seen
instances in which (typically very old) user code has
changed those options, causing the error.
-The //SASAUTOS DD must point to the "AUTOCALL" dataset
(SAS-provided PDS) that contains the TRIM member.
-Ancient MXGSASxx JCL procs defined &SASAUTOS which was
&NULLPDS, and also had //SASAUTOS DD &SASAUTOS
// DD DSN=....
but that was replaced years ago; look at MXGSAS92 for
SAS V9.2 or MXGSASV9 for SAS V9.1.3 for correct JCL.
-OPTIONS S2=0 must be specified; it is set in CONFIGV9,
but I just discovered that CONFIGV8 still had S2=72;
that was corrected to S2=0 by this change.
-Additionally, the incorrect LOCALE can cause failures
with entirely different error messages when %TRIM is
used, due to the NOT symbol's mis-translation with the
wrong LOCALE. See Change 28.194 documentation.
-To diagnose, use // EXEC MXGSASV9,OPTIONS='VERBOSE'
and OPTIONS SOURCE SOURCE2 MACROGEN MPRINT SYMBOLGEN;
as the first //SYSIN DD statement, and send the FULL
job log.
Change 28.127 Support for revised CA $AVERS SMF record (INCOMPATIBLE)
VMACSAVR increased field lengths, and added new data. Dataset
Jun 8, 2010 contains new variables JCTJOBID, TYPETASK, SAVRACCT.
Thanks to Clement Turner, DC Government, USA.
Thanks to Edouard A. Myers, DC Government, USA.
Thanks to Roger B. Legerwood, DC Government, USA.
Change 28.126 Support for Rocket Software MXI User SMF record creates
EXMXIST1 three datasets:
EXMXIST2
EXMXIST3 dddddd Dataset Description
IMACMXI
TYPEMXI MXIST1 MXIONE MXIST1: INITIALIZED
TYPSMXI MXIST2 MXITWO MXIST2: TERMINATED
VMACMXI MXIST3 MXITHREE MXIST3: COMMAND AUDITED
VMXGINIT
Jun 8, 2010
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 28.125 Enhancement to support building weekly and monthly PDBs
BLDNTPDB when your first-day-of-week is not the MXG "MON" default.
BLDSMPDB -VSETMNTH utility correctly determines which daily PDBs
MONTHASC are to be read in building week/month; the decision is
MONTHBL3 based on TODAY() and the "STARTDAY" of your week.
MONTHBLD
MONTHDSK -New macro variable STARTDAY sets the "first day of week"
VMXG2DTE default to MON (no change), and is now used internally in
VMXGDUR all MXG programs, so that you can externally change that
VMXGLBIN first day of week if you do not build your WEEKLY/MONTLY
VMXGSUM with MONDAY as the first day.
VSETMNTH
Jun 17, 2010 -However, the %BLDSMPDB can be used as your "MONTHBLD" or
Jun 28, 2010 WEEKBLD program, and its WEEKSTRT argument can specify
the different start day of week if desired:
Weekly job:
%BLDSMPDB(WEEKSTRT=SUN,RUNDAY=NO,RUNWEEK=YES,RUNMNTH=NO,
WEEKKEEP=list of datasets);
add WEEKTAPE=YES, if WEEK PDB is to be written to tape.
Monthly job:
%BLDSMPDB(WEEKSTRT=SUN,RUNDAY=NO,RUNweek=no,RUNMNTH=YES,
MNTHKEEP=list of datasets);
add MNTHTAPE=YES, if MONTH PDB is to be written to tape.
WEEKKEEP/MNTHKEEP are only necessary if you wish to
keep only specific datasets in the WEEK/MONTH PDB (the
default is _ALL_.) There is also WEEKDROP/MNTHDROP to
drop specific datasets (and it defaults to dropping any
SPIN* SPUN* datasets). BLDSMPDB will use the SORTEDBY
option in the dataset directory to construct a BY list
if present but can also parametrically be told to
ignore the SORTEDBY.
Thanks to Jim Agrippe, Cleveland Clinic, USA.
Thanks to Ron Wells, American General Finance, USA.
Change 28.124 The WTIRIOTM in PDB.ASUMUOW could be larger than IRESPTM.
VMXGUOW Change 17.324 corrected the problem (WTIRIOTM was the sum
VMXGUOWT of WTIRIOTM's from ALL of the CICSTRAN obs in the UOW),
VMXGUOTT but a subsequent update in Change 18.204 lost that fix.
Jun 4, 2010 It is now the MAXIMUM value from all of the CICSTRAN obs.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 28.123 Utility program to examine TYPE72GO dataset to assist in
UTILWORK creating or investigating workload definitions for the
Jun 7, 2010 RMFINTRV.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.122 Logic revised to use DATEJUL to parse the date, but if
ASUMHSM the FSRDATR field is not a valid Julian Date, it is left
Jun 7, 2010 as a missing value.
Thanks to Tobias Cafiero, DTCC, USA.
Change 28.121 -ANALRANK is enhanced to add an output dataset option. By
ANALRANK using this you can get the top 10 each day, by appending
VGETLABL daily data you can quickly get the top 10 for the month
VGETFMT by pushing the daily top 10 back thru ANALRANK. Using
Jun 4, 2010 VGETLABL, the labels in ANALRANK are enhanced so that the
label of RANKxx variable contains the original variable's
label plus the word rank. So the label for CPUTM would
become 'TOTAL*CPU TIME*CAPTURED*RANK'.
-VGETLABL - New utility to GET the LABEL of a variable.
-VGETFMT - New utility to GET the FORMAT of a variable.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.120 -Variable QBACPID, Buffer Pool ID, is removed from dataset
VMACDB2 DB2ACCTP where it never belonged; packages can use many
Jun 3, 2010 buffer pools. The other QBACxxxx variables exist, but are
only non-missing (i.e., populated) if DB2 Accounting
Class 10 is enabled.
-DB2ACCTB - QLACCNVR didn't belong in KEEP list.
-DB2ACCTG - QLACCNVR didn't belong in KEEP list.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.119 Support for Performance Sentry NTSMF Version 3.1.4.4.
EXNTGENE -Existing objects were modified:
EXNTIPA4 Dataset - Object Name
EXNTIPA6 IPSECDRI - IPsec Driver - fields removed
EXNTIPK4 VMGUESTA - VMWARE.Guest.Aggregate - fields added
EXNTIPK6 VMGUUCPU - VMWARE.Guest.CPU - field added
IMACNTSM VMGUUMEM - VMWARE.Guest.Memory - fields added
VMACNTSM VMHOSTAG - VMWARE.Host.Aggregate - fields added
VMXGINIT VMWHOCPU - VMWARE.Host.CPU fields added
JUN 7, 2010 VMWHOMEM - VMWARE.Host.Memory fields added
VMWHONET - VMWARE.Host.Net fields added
VMWHOSYS - VMWARE.Host.SYS fields added
-New objects supported:
dddddd Dataset Object Name
NTGENE GENERIKE GENERIC IKE AND AUTHIP
NTIPA4 IPAUTHV4 IPSEC AUTHIPV4
NTIPA6 IPAUTHV6 IPSEC AUTHIPV6
NTIPK4 IPSECIK4 IPSEC IKEV4
NTIPK6 IPSECIK6 IPSEC IKEV6
-These xxxxINST variables were increased to $64:
MLLOINST QLWGINST SAALINST VWHCINST VWHDINST
Change 28.118 Support for BMC Mainview Auto Operator data creates nine
EXMVAOAC datasets:
EXMVAOAL
EXMVAOEV dddddd Dataset Description
EXMVAOEX MVAOAC MVAOACTN MV AUTO OPERATOR ACTN
EXMVAORE MVAOAL MVAOALRT MV AUTO OPERATOR ALRT
EXMVAORU MVAOEV MVAOEVNT MV AUTO OPERATOR EVNT
EXMVAORA MVAOEX MVAOEXEC MV AUTO OPERATOR EXEC
EXMVAORS MVAORE MVAORES MV AUTO OPERATOR RES
EXMVAOTA MVAORU MVAORULE MV AUTO OPERATOR RULE
IMACMVAO MVAORA MVAORUAU MV AUTO OPERATOR RULESET AUTO
TYPEMVAO MVAORS MVAORUSE MV AUTO OPERATOR RULESET SET
TYPSMVAO MVAOTA MVAOTAPE MV AUTO OPERATOR TAPE
VMACMVAO Aug 5: TAKETOTL removed from KEEP=, second "HANDLED" was
VMXGINIT removed from LABEL, and all %VMXGDEL(DDDDDD= corrected.
May 31, 2010
Aug 5, 2010
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 28.117 Change 28.039 changed R7451RID to be the first byte due
VMAC74 to values observed in SMF 74 Subtype 5 records from IBM
Jun 1, 2010 sites, but those observed values are not consistent in
other records from other sites, which have the RID in the
second byte and a zero in the first byte so this change
sets R7451RID to the second byte of that 2-byte field, if
if the first byte is zero. Additionally, fields listed in
notes 2 and 3 of the SMF manual are set missing based on
the value in R7451FLG.
Thanks to Melanie Hitchings, BT, ENGLAND.
Change 28.116 Support for SMF 102 IFCID 263 now decodes the unique data
VMAC102 fields; previously, only Header variables were output
May 27, 2010
Jun 11, 2010
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 28.115 ANAL42DS failed with Data Set _NULL_ Not Found, because
ANAL42DS an _NULL_ is needed after the DATA statement.
May 26, 2010
Thanks to Sam Bass, McLane Co., USA.
====== Changes thru 28.114 were in MXG 28.03 dated May 25, 2010========
Change 28.114 Additional diagnostics to show which service classes and
UTILRMFI which reporting classes have missing data using SMFINTRV
May 25, 2010 dataset.
Change 28.113 New analysis of each DB2 Buffer Pool in DB2ACCTB dataset
ANALDB2B including a buffer hit ratio calculation.
May 25, 2010
Thanks to Santosh Kandi, JC Penney, USA.
Change 28.112 UTILRMFI failed because macro variable VWDUPES has been
VMXGINIT truncated to WDUPES in the %GLOBAL statement in VMXGINIT.
May 25, 2010
Thanks to David Young, University of California Office of Pres, USA.
Change 28.111 ThruPut Manager field REGIONSZ and $JXDBSPR/WW/UU fields
VMACTPMX were reported as UNKNOWN due to typo's in text tests,
May 24, 2010 and $JXDBSUN is now created.
Thanks to Paul Volpi, UHC, USA.
Change 28.110 The last "response" bucket created by VMXGRESP utility
ASUMDB2 (number specified plus 1) was never right, because every
VMXGRESP count that was GT was already put in the last bucket.
May 22, 2010 -Enhancement to include bucket values in labels, and a new
UNITS parameter describes the units (seconds/jobs/mounts)
that are being measured.
-ASUMDB2 implements the new UNITS= parameter.
Thanks to Wayne Bell, UniGroup, Inc, USA.
Change 28.109 -WPS %MACRO Language Compiler Error in READDB2, the error
ANALINIT cites a problem with %INCLUDE, but the statement that is
EMAIL flagged is the percent sign in %STR(MACRO _Edddddd ....
READDB2 (The _Edddddd generates %%INCLUDE SOURCLIB(EXDDDDDD);.)
UTILCONT A guess, to replace %STR() with %QUOTE() in statements
VFMT102 with that syntax DID circumvent the WPS compiler error!
May 21, 2010 -This same error can occur with ANALDB2R if (PDB=SMF,...)
is used, since ANALDB2R calls READDB2 to "READ" DB2 SMF.
-But, since READDB2 generates MACRO _Edddddd references
only when one of the optional/rare dataset sub-tokens is
used to select the observations, for example /DB2ACCT in
%READDB2(IFCIDS=ACCOUNT,DB2ACCT=YES/IF QWHSSSID='XYZ';);
so it was safer to replace %%INCLUDE SOURCLIB(EXDDDDDD);
statements with OUTPUT _WDDDDDD; to both circumvent
the Compiler error, and because the EXDDDDDD should not
have been created in READDB2 in the first place.
-An unrelated error when the dataset sub-token was used is
also corrected.
-The WANTONLY subarguments were further validated.
-In validating this READDB2 change, additional exposures
were corrected:
-VFMT102: If T102S105 and T102S107 did not exist, logic
to build OBIDS/DBIDS dataset failed: the &VGETOBS NE 0
test was changed to VGETDSN=datasetname, as it is the
existence of, and not the number of observations in,
that is the needed conditional test.
But this caused investigation of other &VGETOBS NE 0:
-ANALINIT: VGETOBS test changed to VGETDSN.
-EMAIL: VGETOBS NE 0 changed to GE 0.
-UTILCONT: VGETOBS NE 0 change to GT 0
Change 28.108 Support for CleverView for TCP/IP TN3270 Performance Data
EXCTCPTN in new SUBTYPE=21 SMF User Record, creates new CTCPTN32
IMACCTCP dataset with the existing TYPECTCP/TYPSCTCP programs.
VMACCTCP
VMXGINIT
May 20, 2010
Thanks to John Howard, Florida Northwood Shared Center, USA.
Change 28.107 -RACF INPUT STATEMENT EXCEEDED with RACFEVNT=21 LDAPHOST
VMAC80A in TOKDANAM; MXG coded for only a 32-byte LDAP Host Name,
May 19, 2010 but length was 35. Now protected for any length.
-In records with LDAPHOST, new TOKDANAM BINDDN and BINDPW
were found and decoded into variables TOKBINDD TOKBINPW.
Yes, "PW" is a Password, but, no, it doesn't appear to be
an exposure, as the value is populated with asterisks.
-TOKDANAM='APPLNAM ' text is now decoded into TOKAPLNM.
-TOKDANAM='UTYPE', 'JPNUM', numerics in TOKUTYPE/TOKJPNUM.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 28.106 The offset SMF92MPF to the Path name length SMF92PPL was
VMAC92 incorrect, causing SMF92PPN, Path Name to be blank and
May 19, 2010 SMF92PPL contained a large and wrong value.
Thanks to David Young, University of California Office of Pres, USA.
Change 28.105 -Optional TRENDing enhancement lets you tell VMXGSUM how
VMXGSUM many KEEPWEEK=/KEEPMNTH=/KEEPYEAR=/KEEPDAYS='s you want
May 19, 2010 kept in TREND output, or KEEPAFTR=01JAN2010 can be used
to output only observations GE that DATE.
-The KEEPxxxx options are only valid when DATETIME= is
used, and the value of the DATETIME= variable is tested
for each observation if it is to be output.
-A KEEPxxxx argument forces an INCODE= to be created if
one was not present; all MXG TRNDxxxx members already
have an INCODE= argument, and INCODE normally VIEWs, so
this should have minimal impact.
-Messages are not written that obs were not output.
Thanks to Diane Eppestine, IBM Global Services, USA.
Change 28.104 Support for field inserted at start of NDM-CD record.
VMACNDM New MACRO _NDMADD defaults to 0, but you can use MACKEEP
May 17, 2010 to change _NDMADD to 8 to skip 8 bytes after SYSTEM (and
to set the SMF TYPE of your NDM-CD record in _NDMID):
%LET MACKEEP=
MACRO _NDMADD 8 %
MACRO _NDMID 0FAX %
;
%INCLUDE SOURCLIB(TYPSNDM/BUILDPDB);
Eight bytes can't just be added to OFFSMF in MACFILE for
NDM-CD SMF because VMACSMF RETAINs OFFSMF, so new OFFNDM
replaced OFFSMF in VMACSMF after the first INPUT.
Thanks to Fred Buerger, Visa, Inc, USA.
Change 28.103 Support for TOKDANAM='SHARED' token, output in TYPE80TK.
VMAC80A
May 12, 2010
Thanks to Jacky Kwoka, SNCF, FRANCE.
Change 28.102 Support for user-created ECPAUDIT optional CICS variable.
IMACAAAA
IMACICUK
UTILEXCL
VMAC110
May 12, 2010
Thanks to Matt Feeney, DoD, AUSTRALIA.
Change 28.101 -IMS56xx datasets were not output because the variable for
VMACIMS subtype test should have been TPCPSSTY, and not TPCPSBCD,
VMACIMSA and the subtype test is for only one byte.
May 11, 2010 -Subtype 56x SSTY 11x INPUT STATEMENT EXCEEDED exposed MXG
May 18, 2010 mis-alignment; the +(-16) before TPIMSID does not exist,
and the +36 segment after the "NID" is conditionally read
as it doesn't exist in SSTY=0FAx records.
-In validating the printed output, the SYNCTIME in TYPE59x
datasets was not converted to local time.
-Multiple separate code stubs to calculate IMSSTCK were
replaced with LINK IMSSTCK; statements.
Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.
Change 28.100 MXG 27.07 removed 13 duplicates in TYPE30_1 for an STC
BUILDPDB that were (correctly!) NOT removed by MXG 28.02. Variable
May 10, 2010 ASID has been added to TYPE30_1, and 'pseudo' duplicates
had different ASIDs and thus were not duplicates.
Oct 2010: See MXG Newsletter 57, DUPLICATE JESNR.
Thanks to Paul Volpi, UHC, USA.
Change 28.099 Variable CPULHKTM, CPU Time When Promoted due to Lock
VMAC7072 HOLD, is now INPUT and kept in TYPE72GO; it was added by
May 10, 2010 z/OS 1.11 as IBM field R723LPDP.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 28.098 The %VMXGSET macro is enhanced with DSETOPT= argument so
VMXGSET SAS Data Set Options (DROP/KEEP/RENAME/etc) can be added
May 4, 2010 to each data set that will be "SET". This example syntax
%VMXGSET(DATASET=JOBS,DSETOPT=KEEP=JOB READTIME JESNR CPUTM);
will keep only those four variables when xxx.JOBS dataset
is read. Surprisingly, using a KEEP= on a SET statement
has minimal impact on CPU time, saving 7 out of 86 secs.
But using DSETOPT to RENAME variables could be useful.
Thanks to George Pandzik, USAA, USA.
Thanks to Brian A. Harvey, HCL America, USA.
Change 28.097 Type 74 subtype 8 R748LERT,R748LEWT,R748LPST variables
VMAC74 are correct in MXG; they are documented as accumulated
May 4, 2010 values in the SMF manual, but actual data values are not.
Variable R748LAID, the Interface ID is added at the end
of the _BTY748 BY list to ensure NODUP works when sorted.
To verify non-accumulation, it was necessary to insert
R748LAID before STARTIME, to group the observations to
see if the values were always-increasing, and that is
where it really belongs in the BY list, but inserting a
variable in an existing BY list is LETHAL for someone,
somewhere, who's already (accidentally?) combining days
and weeks PDBs, so it is added at the end for NODUP, as
that doesn't create a not-sorted exposure.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.096 When the LIB is in sequential or xport format, that type
VGETOBS was identified, but only now is the dataset name printed.
Apr 30, 2010
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.095 Elegant logic using the FINDW() function to parse the
VMACAIX AIX record's changed format for the HOSTNAME field
May 21, 2010 UPCRECRD=UPCASE(RECORD);
LOCHOST=FINDW(UPCRECRD,'HOSTNAME:',' ','E') +1 ;
HOSTNAME=SCAN(RECORD,LOCHOST,' ');
HOSTNAME=TRANSLATE(HOSTNAME,' ','"');
cannot be used with SAS 9.1.3 nor with WPS 2.4.0.1,
because the FINDW() function only exists in SAS V9.2.
The old SCAN() function was used with less elegance.
Change 28.094 XAMSYS variables CALAVGM1 CALTOTM1 CALAVGM2 CALTOTM2
VMACXAM record units are 16 microseconds, so they are now INPUT
Apr 29, 2010 by &RB4.6 and multiplied by 16, so they are seconds and
fractions of a second, and are FORMATed with TIME16.6, an
MXG convention so you know these are duration variables,
and so full resolution is printed, so 416 microseconds is
printed as 0:00:00.000416.
Variable SRMTSLIC is in TOD duration record units, so it
is now INPUT by &PIB.8.6 and divided by 4096 into seconds
and fractions and also FORMATed with TIME16.6.
Variable SRBABSDL is a percentage, but scaled by 65536,
so it is now divided by 65535.
Thanks to Dave Sadler, United Health Group, USA.
Thanks to Rob van der Heij, Velocity Software, THE NETHERLANDS.
Change 28.093 Circumvention for SMF 42 Subtype 15 INVALID OFFSETS. The
VMAC42 record has OFF42S3=216 and OFF42S4=4056, but the data are
Apr 28, 2010 at 108 and 3948. MXG forces S3=108 and calculates S4.
Thanks to Michael Friske, FMR, USA.
Change 28.092 This ancient program to create a z/OS PDS from the MXG
IEBUPDTE IEBUPDTE-format source file had defined values for the
Apr 28, 2010 input and output, which required you to EDIT and SAVE
and then %INCLUDE SOURCLIB(IEBUDTE); to execute, but
those three macro variables are no longer set to any
value, so you can set them to your choice and then run.
Thanks to Bernhard Babblok, Allianz ASIC SE, GERMANY.
Change 28.091 -MXG 28.02. IMS record 55x subtype 01x from IMS 9.1 caused
VMACIMS INPUT STATEMENT EXCEEDED RECORD LENGTH; support for 55x
Apr 26, 2010 was added, but only tested with IMS 10 and 11. The 55x
record is for External Subsystems. The 01x record isn't
described in the DSECT, so it is now deleted.
-The 35X record with ENQFLAG=2F and FLAG2=00X or 08X is
now output in IMS35P dataset.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 28.090 Variable FIXEDSTO was incorrectly input as &RB.4. It is
VMACXAM a &PIB.4. INFORMAT now. Variable MONEVNTS is an address
Apr 25, 2010 so it is now formatted HEX8.
Thanks to Paul Volpi, UHC, USA.
Change 28.089 The PDB.SMFRECNT dataset and its report only counted SMF
BUIL3001 records; this enhancement provides both the record count
BUILD001 and the byte count for each SMF record and Subtype for
BUILDPD3 each SYSTEM, in both PDB.SMFRECNT and the report.
BUILDPDB If you want to revert to the count-only report, use
TYPSID %LET MACKEEP= MACRO _RPDBID _RPDBIDO % ;
VMACID Variable SMFBYTES was added to the TYPEID dataset and is
Apr 24, 2010 the bytes variable in PDB.SMFRECNT summary dataset.
Thanks to Diane Eppestine, IBM Global Services, USA.
Change 28.088 MXG 28.01-28.02, z/OS 1.9 and 1.10, INPUT EXCEEDED ERROR.
VMACRMFV Change 28.048 inserted temp skip of +192 for z/OS 1.11 to
Apr 25, 2010 align, but should have been skipped only if CPUHOLEN=672;
earlier z/OS have CPUHOLEN=480. Now, SKIP=CPUHOLEN-480.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 28.087 -Cosmetic. Spurious message for STID=110 "SKIPPED FIELDS"
VMAC110 because SKIP=SKIP-580 should have been SKIP=SKIP-612. No
Apr 23, 2010 fields were skipped and dataset CICRLR was just fine.
-Use of internal SAS decompression code on z/OS instead of
the ASM code in the INFILE exit in member EXITCICS caused
CPU time to increase from .5 to 6 HOURS with 45 GB of SMF
records, so the "MXGNOTE" that the SAS code was used is
now elevated to a repeated "ERROR:" message under z/OS.
Under ASCII, a single note that compressed data was found
is printed. Change 27.260 documented a smaller increase!
Thanks to Joachim Sarkoschits, DATAEV eG, GERMANY.
Change 28.086 Support for Windows Performance Monitor PERFMON csv/tab
ADOCWPMO log file creates 123 new datasets, each named WPMOddd, to
EXWPMddd correspond with the DDDDDD=WPMddd token for each dataset.
IMACWPMO The DataSet Label is the Object Name, and member IMACWPMO
MAKEWPMO has the full list of DDDDDD, DATASET, and Object Name and
TYPEWPMO will be updated as new Objects are supported.
TYPSWPMO The PERFMON data files can be concatenated, and can have
VMACWPMO different sets of fields. The ADOCWPMO member documents
VMXGINIT how Glenn has set up his PERFMON data management.
May 22, 2010
With all possible objects were enabled, with all threads
and instances captured, on a Small Business Server, the
PERFMON descriptor record was 861,481 bytes long, way too
long to be read on z/OS with its 32760 maximum LRECL, so
MXG PERFMON support may require execution on ASCII, where
SAS V9.1.3 allows LRECL=1024000, and SAS V9.2, LRECL=4GB.
This design is also another significant MXG enhancement:
The new MXG code that you execute to process PERFMON data
was generated by MXG's MAKEWPMO program, which reads the
header record field descriptions, parses/translates them
to create open-systems-friendly, 32-byte variable names,
with underscore-connectors, builds variable labels from
those variable names, changing underscores to asterisks,
uses the Object Name for the Dataset Label, and writes
out the dozen text files that are then manually cut/paste
into VMACWPMO or the other MXG code members.
While still a two-step process, this automation makes it
easy for MXG to support new objects. MAKExxxx programs
have been used for some time to create chunks of MXG code
for product XXXX, but only for the static statements that
defined or referenced the XXXX product suffix, the DDDDDD
dataset suffix token, or that contained the DATASET name.
Programmatically creating variable names, labels, and the
INPUT code is a BIG step forward in minimizing MY effort
to support future "open systems" data or sources that
have similar data structures. Since these data don't
have a construct of a short field name, but only the long
description, using the descriptions as variable name does
make sense for this audience, and REALLY saves me TIME!!
Each "item" in the header description has this format:
"\\SERVER\OBJECT(INSTANCE)\METRIC"
and there can be tens of thousands of items. SERVER is
variable SERVER, the server name, OBJECT maps to the MXG
dataset, and the Object Name (PROCESS) is the Label of
the MXG Dataset Name (WPMOPRO), INSTANCE is the instance
(e.g., process EXPLORER.EXE), and each separate METRIC
item (e.g. HANDLE_COUNT) is a variable in the WPMOOBJ
dataset.
While ASCII's max LRECL is 4GB, records cannot be stored
in a character variable, with SAS's 32K limit, so the
record is brute-force read, byte-by-byte, and parsed for
the delimiters to create each "item".
Microsoft claims to create comma-delimited data, but a
single comma cannot be safely used to parse because
the "items" can contain embedded commas!
And, while each item is bounded by double quotes, the
double quote also cannot be used as a delimiter, as
"items" can also contain embedded double quotes!
So the MXG default "comma-separated-value" delimiter is
the three-character-string "," set in VMXGINIT with
%LET DLMWPMO='","';
If you have "tab-delimited" PERFMON files, then you
need to use %LET DLMWPMO='09'x; before your %INCLUDE.
Once an "item" is parsed, normal SAS character functions
are used to create the SERVER, OBJECT, INSTANCE and the
METRIC values, and output the WINPERFMON dataset that is
subsequently read to output all of the WPMOddd datasets.
If there are obs in OBJUNKNOWN or METUNKNOWN datasets,
please send the PERFMON file to support@mxg.com,
so MXG can be updated to support the new data.
Some characters in the descriptions have to be converted
because blanks, back-slashes, dashes, parens, periods,
pound-signs, etc., can't be used in SAS variable names;
underscores are used in the variable name to connect the
pieces.
Thanks to Glenn Bowman, Wakefern, USA.
Change 28.085 Obscure. VMXGSUM is protected if you had parenthesis in
VMXGSUM the OUTDATA= argument (for a LABEL= or SORTEDBY=). If a
Apr 20, 2010 last data step wasn't needed, parens caused an even more
obscure ABEND. While now protected, using the DSNLABEL=
or SORTEDBY= argument in the VMXGSUM invocation is safer.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.084 BMC IMF product's INPUTCLS and LASTCLAS variables are now
VMACCIMS restored to one-byte length with $HEX2. format, and new
Apr 20, 2010 variables INPUTCL2 and LASTCLA2 are two-bytes with $HEX4.
While IMS 9.1 and later define Input Class as two bytes,
it appears that no one is using that length, and MXG's
changes (27.230,26.058) that expanded the length of those
original INPUTCLS/LASTCLAS variables caused existing
reports to be incorrect.
Thanks to Jim Dammeyer, State Farm Mutual Insurance, USA.
Thanks to Mike Stogsdill, State Farm Mutual Insurance, USA.
Change 28.083 MXG 28.02-03. READB2/ANALDB2R didn't honor %LET MACDB2H
ANALDB2R nor %LET MACKEEP tailoring: Change 28.055 added %CLEARDB2
READDB2 (to reset old-style macros for multiple executions, used
Apr 17, 2010 previously only in the MXG QA), but CLEARDB2 also clears
Apr 21, 2010 both MACDB2H and MACKEEP. The %CLEARDB2; statement was
Apr 22, 2010 removed from both members by this change.
Apr 24, 2010 Circumvention with 28.02: Create a member named CLEARDB2
Apr 25, 2010 in your "USERID.SOURCLIB" with a blank line.
Apr 26, 2010 No one has asked to execute READDB2/ANALDB2R twice,
Jun 17, 2010 but it can still be done, by invoking %CLEARDB2;
externally, between the multiple executions:
%READDB2 ( WHATEVER );
%LET MYKEEP=%BQUOTE(&MACKEEP);
%LET MYDB2H=%BQUOTE(&MACDB2H);
%CLEARDB2;
%LET MACKEEP=%BQUOTE(&MYKEEP);
%LET MACDB2H=%BQUOTE(&MACDB2H);
%READDB2 (WHATEVER DIFF);
-MXG 28.01-28.02 only. Short Trace report failed with
BY VARIABLES NOT SORTED ON DATASET WORK.REPORT; example
in Change 28.004 that revised that report DOES NOT FAIL,
but removing the CONNTYPE=4 selection exposes the missing
BY statement that was added by this change.
-Audit report corrections, all prior versions:
-The BIND code was inside the loop for DML (should not
have been).
-PMAUD02/PMAUD03 reports did not agree with doc; they
were only produced when you used the AUDIT= subparm,
but now, as documented, ALL possible Audit classes
will be reported with the default AUDIT=, value.
-SQL Text printed for 141 and 145x Audit records.
-Divide by ZERO when GETS=0 is now protected.
-Cosmetic: SUDIT now correctly spelled AUDIT.
MXGWARN that PDB.ASUMDB2x NOT FOUND have been removed.
ANALDB2R first looks for the ASUMDB2x dataset for a
report request, as that saves I/O and CPU time, but
warning that it wasn't found was confusing, especially
when you knew nothing about that internal design.
-Jun 17: MACDB2H was not honored until this date.
Thanks to Jim Kovarik, AEGON USA, USA.
Thanks to Stephen Root, Harry and David, USA.
Change 28.082 MXG Formats $MGDDDDD and $MGDDDSN map the "dddddd" token
FORMATS to each "dataset" and vice versa, but the UDDDDDD program
UDDDDDD missed some of the "dddddd" values, in particular, CICTRN
Apr 18, 2010 and DB2ACC, and not all datasets were identified, as that
old logic read selected source members for the _Wdddddd,
which doesn't exist for all datasets. Now, UDDDDDD reads
DOCVER to capture ALL dataset names, and labels for all
datasets now contain "DDDDDD:" in their dataset label.
UDDDDDD is also added to QASAS so those formats will be
updated with each new version; DOCVER is already heavily
validated in post-QA reports. These members were updated
to revise/add unique DDDDDD: to their dataset labels:
ANALVM ASUM94 ASUMCIMS ASUMDB2P ASUMDB2S ASUMMWUX
ASUMSTC ASUMTALO BUIL3001 BUILD001 BUILDPD3 BUILDPDB
DIFFROSC MNTHDB2S TRNDDB2A TRNDDB2B TRNDDB2G TRNDDB2P
TRNDDB2S TRNDDB2X TRNDSTC TYPEPDL TYPEVLFC TYPEZARA
VMAC0 VMAC110 VMAC21 VMAC30 VMAC84 VMACCIMS
VMACCRAy VMACMWUX VMACNMON VMACVMON VMACVMXA VMXGCICI
VMXGDBSS VMXGHSM VMXGRMFI
Thanks to Francine Gheyle, Dexia Bank, BELGIUM.
====== Changes thru 28.081 were in MXG 28.02 dated Apr 14, 2010========
Change 28.081B PRO/SMF dataset PRORECOV was misaligned after the INPUT
VMXGINIT of variable GWMSGED.
Apr 14, 2010
Change 28.081A PRO/SMF dataset PRORECOV was misaligned after the INPUT
VMACPROS of variable GWMSGED.
Apr 14, 2010
Thanks to Perry Lim, Union Bank, USA.
Change 28.081 OPTIONS VARLENCHK=NOWARN is reinstated in VMXGINIT if the
VMXGINIT SAS Version is 9.2 TS2M0 or later to eliminate the new
Apr 12, 2010 WARNING: MULTIPLE LENGTHS WERE SPECIFIED FOR THE VARIABLE
that is discussed MANY times in several NEWSLTRS. While
MXG 26.03 eliminated the warning in internal code,
user code is now protected, and future changes in lengths
of IBM fields (e.g., CLIPADDR increased from 16 to 40 to
support IPV6) will not produce that WARNING, nor a Return
Condition Code of 4. (One cause of the warning is the
use of PROC MEANS to create an output dataset without the
option /INHERIT at the end of its OUTPUT statement.)
Thanks to John Kim, ATCO I-tek, CANADA.
Change 28.080 z/OS 1.11 adds new variable to TYPE70 dataset
VMAC7072 SMF70GAU='CAPACITY GROUP AVAILABLE MSU
Apr 12, 2010 which is documented as
-Long-term average of CPU service in millions of
service units which would be allowed by the limit of
the capacity group but is not used by its members.
-If the value is negative, the group is capped.
So, this variable is input with &IB.4. since in this rare
case, a negative value is not only possible, it is now
very useful as an indication that the Capacity Group is
Capped.
Thanks to Scott Barry, SBBWorks, USA.
Change 28.079A This change WAS included in MXG 28.02, but this text was
VMXGINIT not: the test for NOWORKINIT was removed in MXG 28.02.
Apr 14, 2010 Change 28.023 added that test and a USER ABEND 990 if
OPTION NOWORKINIT was enabled, but my cure was worse
than the disease. There IS a serious exposure in MXG
if NOWORKINIT is enabled, but I know now it is ONLY in
a second MXG step, and only after a first-step error,
and the real exposure is only MY time in diagnosing!.
Some SAS sites have now ABENDed (unnecessarily) because
that option is enabled in their SAS tailoring, and WPS
set NOWORKINIT as default (when WORK was temporary and
did not need to be INIT, and their INIT process was
inefficient, but their INIT is improved and WORKINIT is
to be the default in their next GA), and now that I
know that NOWORKINIT, of itself, does not create a
problem for MXG code, my test and USER ABEND 990 were
removed in MXG 28.02.
Change 28.079 MXG 27.11-28.01, ONLY with the MXGTMNT Tape Monitor data:
VMACTMNT SAS has had a limit on the length of an observation of
Apr 12, 2010 32760 bytes, which prevents the Host Sort from being used
if exceeded, with this SAS Warning printed on the log:
The total length of all variables must be less than or
equal to 32760 bytes. The host sort cannot be used.
The internal SAS sort will be used; this may impact
performance. Adjacent to TYPESYSL dataset references.
(An increase in CPU time of about 37% was observed.)
Change 27.336 increased the length of variable SYSLTEXT,
the SYSLOG Message Text, from 1024 to 32384, but that was
needed/intended ONLY for the TYPESYSL dataset (which can
OPTIONALLY capture any SYSLOG message); that length is
for the largest possible multi-line SYSLOG message. BUT:
variable SYSLTEXT was also accidentally increased in the
TYPESYMT dataset, used ONLY for Tape-Mount-Event-Related
SYSLOG messages, needing a SYSLTEXT length of only $256.
Even worse, new variable SYSLENCR, to identify Encrypted
Tapes, was created as SYSLENCR=SUBSTR(SYSLTEXT,x,16), but
because I failed to put the new variable in a LENGTH $16
statement, it got the 32384 byte length of SYSLTEXT. So
with SYSLTEXT and SYSLENCR, TYPESYMT had an observation
length of 65183, causing the preceding WARNING message.
This change restores the length of SYSLTEXT to $256, and
the TYPESYSL dataset's variable is now named SYSLLONG.
Note that the SPINSYSL dataset created with 27.11-28.01
by the %INCLUDE SOURCLIB(ASUMTAPE); that should always be
used to create the PDB.ASUMTAPE Tape Mount Event dataset
also exceeded 32760, with observation length 65198, but
it is not sorted, and its observation length is corrected
when this change is implemented.
Thanks to Siegfried Trantes, Gothaer-Systems, GERMANY.
Thanks to Richard Sabine, Gothaer-Systems, GERMANY.
Thanks to Willi Weinberger, Gothaer-Systems, GERMANY.
Change 28.078 VMXGGETM reports SMF record counts and bytes by SUBTYPE
VMXGGETM and ID, but DB2 100 and 101 records subtypes were changed
VMACSMF to their IFCID; now their actual SMF SUBTYPE is printed.
Apr 11, 2010 (For the DB2 102 record, which does NOT have a SUBTYPE in
the SMF Header, the IFCID is still used for SUBTYPE.)
-The setting of SUBTYPE logic was removed to VMACSMF.
Thanks to Tom White, Dell, USA.
Change 28.077 Support for JES 3 JMF TYPE84 records; previously only the
VMAC84 header was supported for subtype 5; this update supports
Apr 10, 2010 all ten subtypes.
Change 28.076 Variable CECSER is now added to PDB.RMFINTRV, but this
VMXGRMFI change was NOT moved into MXG 28.02.
Apr 18, 2010
Change 28.075 IBM's John Burg presentation at 2010 Seattle SHARE in
VMAC113 session 2113 provided insight into the new TYPE113 HIS
Apr 9, 2010 monitor data, and these new variables are created:
CPI='CYCLES*PER*INSTRUCTION'
PRBSTATE='PERCENT*PROBLEM*STATE'
L1MP='LEVEL*1*MISS*PERCENT'
L15P='PERCENT*SOURCED*FROM*L1.5*CACHE'
L2LP='PERCENT*SOURCED*FROM*L2*SAME BOOK'
L2RP='PERCENT*SOURCED*FROM*L2*DIFFEERNT*BOOK'
MEMP='PERCENT*SOURCED*FROM*MEMORY'
LPARCPU='APPL*PERCENT*CAPTURED AND*UNCAPTURED'
-John's presentation is also available at Techdocs:
http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TC000041
-Using %INCLUDE SOURCLIB(TYPE113); _RPT113 ; RUN;
will replicate his example report.
-Variable SM1132CP, CPU Speed, was INPUT but not carried
into the TYPE113 dataset.
-A subsequent update will look for PDB.TYPE70 dataset, and
will use it to identify the type of each CPU in TYPE113.
Thanks to John Burg, IBM, USA.
Thanks to Graham Harris, Royal Bank of Scotland, SCOTLAND.
Change 28.074 Support for CA-Dispatch Audit User SMF record creates:
EXCADISP dddddd dataset description
IMACCADS CADISP CADISPCH CA Dispatch User SMF Record.
TYPECADS Note this is NOT the modified type 6 that can be created
TYPSCADS with the IMACCADI optional member enabled.
VMACCADS
VMXGINIT
Apr 14, 2010
Thanks to Glenn Bowman, Wakefern, USA.
Change 28.073 In new DB2 V9.1 data records, QWHSISEQ in SMF 100 Subtype
VMACDB2 0 and 1 records no longer matches QWHSISEQ in Subtype 4
Apr 8, 2010 records, causing all of the QW0225xx variables to have a
missing value in PDB.DB2STATS when DB2STAT4 is merged.
The use of QWHSISEQ was previously "safe", but must have
been a fortunate accident, since IBM documentation for
ISEQ implies it is a sequence number for the IFCID, and
not, as I had assumed, the interval's sequence number.
This change creates TEMPISEQ dataset with QWHSISEQ taken
from the DB2STAT0/DB2STAT1/DB2STATB merge, renames the
ENDTIME to QWHSSTCK, so that TEMPISEQ is then interleaved
with DB2STAT4 to store that "interval" QWHSISEQ, which
is then used in the original merge using _BDB2STS.
(Since the problem has only occurred with DB2STAT4 and
not with the T102S225 that was created in DB2 V8., that
logic was not revised).
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Change 28.072 Dataset TYPE42X4 (Above the Bar LRU Statistics) variables
VMAC42 SMFA2JQG-SMFA2JQN (Buffer Size Goal and Buffer Sizes) are
Apr 8, 2010 now correctly INPUT as &PIB.8., instead of &PIB.4. This
caused variables SMFJQO01-SMFJQO16, SMFA2JSA-SMFA2JSP to
also be mis-aligned and wrong, and the IF test for 864 is
corrected to test for GE 896 due to the misalignment.
-In addition, new variables SMF42JP6 and SMFA2JP6 (Write
Requests) are INPUT and kept in datasets TYPE42X2 (Below)
and TYPE42X4 (Above) as they too had been overlooked.
-Note that MXG variable names SMFA2xxx correspond to IBM
field names of SMF2Axxx.
Thanks to Ambat Ravi Nair, CitiGroup, SINGAPORE.
Change 28.071 PDB.STEPS could contain duplicate observations, and the
BUILD005 resources in those duplicates were summed into PDB.JOBS,
BUIL3005 if two steps had the same TERMTIME (because the first was
ANAL30DD a FLUSHED step). Change 18.344 corrected this error in
Apr 7, 2010 TYPS30, by adding INITTIME to the _BTY30U4 BY list, but
that change was also needed in BUILD001/BUILD001, which
have their own BY list in the NODUP step.
All other programs that SORT the TYPE30_4 data were now
examined; ANAL30DD's BY list was updated, but it was the
only one that sorts all variables; these other programs
currently do NOT protect for duplicate SMF records
ANAL30 ANALDDCN ANALDSET ANALJOBE ANALMULT ANALVTS
TAPEVENT UTILRMFI
because they do not keep all of the variables that are
required for duplicate removal, and adding that logic
would be very expensive: unneeded variables and an extra
PROC SORT would be required and the report program would
have to be restructured. Since the TYPS30 program WILL
remove ANY duplicates, the solution would be to use it to
create the TYPE30xx datasets first, and then those report
programs will not need revisions.
Thanks to Michael Oujesky, Bank of America, USA.
Thanks to Betty Wong, Bank of America, USA.
Change 28.070 SAS Version 9.2 TS2M2 may have changed DSNAMEs/MEMBERs in
MXGSAS92 their //CONFIG DD. As always, you MUST look at the SAS
Apr 2, 2010 JCL procedure example that was created by your SAS
Installer to know what DSNAME/MEMBERs were created; those
DDs must be the first in the //CONFIG DD, then the MXG
CONFIG member must be the last "real" DD, followed by the
// DD DSN=&CONFIG as the final DD in the //CONFIG concat.
These two variants are listed in the MXGSAS92 example.
//CONFIG DD DISP=SHR,DSN=&SASHLQ..V92DYJJJ.CNTL(BATCH)
// DD DISP=SHR,DSN=&MXGHLQ..MXG.SOURCLIB(CONFIGV9)
// DD DISP=SHR,DSN=&CONFIG
//CONFIG DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(BATCH)
// DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(COMMON)
// DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(&XX.&YY.)
// DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(SITE)
// DD DISP=SHR,DSN=&MXGHLQ..MXG.SOURCLIB(CONFIGV9)
// DD DISP=SHR,DSN=&CONFIG
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 28.069 Two instances of -60 were changed to -56 for the SMF 112,
EXIT112 but the exit to decompress SMF 112s does not work and can
Apr 1, 2010 not be used. IBM does not provide a utility program that
May 17, 2010 will decompress the SMF 112s (DFH$MOLS only reads 110s),
so I have no way to correct and validate the MXG Exit.
DO NOT USE EXIT112.
Change 28.068 Change 27.111 added support for multiple CA-1/TMS catalog
TYPETMS5 inputs, but inadvertently changed the length of VOLSER to
Apr 1, 2010 $20, whereas it should have been $6. There was no error
in the contents of variable VOLSER, but if you tried to
combine new and old datasets, you receive a SAS WARNING
of the dissimilar lengths. This change restores VOLSER
to the original $6 length.
Thanks to DJ Chen, Florida Department of Corrections, USA.
Change 28.067 The final example invocation of %VMXGRMFI(....) failed
RMFINTRV because there was a comma prior to the close-paren. All
Apr 1, 2010 %MACRO invocations have commas separating arguments,
but there can not be a comma after the last argument.
Thanks to Carolyn E. Saul, West Virginia Office of Technology, USA.
Change 28.066 Support for IMS Version 11 (INCOMPATIBLE), support for
ASMIMSL6 55x/56x Statistics Log Records, validation of 45x log
TYPEIMS7 records, and TYPSIMS7 removes duplicate log records.
TYPSIMS7 -Insertion of 16-byte LINTUTKN field in 08x log record
VMACIMS in IMS 11 makes this change required to eliminate error
VMACIMSA that YYYY has invalid value, in VMACIMS and VMACIMSA.
VMXGINIT -ASMIMSL6 is updated to pass the 55x and 56x log records.
Apr 4, 2010 -45x Statistics records have been validated with data,
except for IMS4513 which had zero observations.
-55x and 56x records are now supported and validated; the
"56" names contain "55x" and "56x" records:
DDDDDD DATASET CREATED FROM SUB-SUBTYPE
IMS560 IMS5600 00x-08x,10x,12x-14x,37x-38x
IMS569 IMS5609 09x
IMS56B IMS5611 11x,16x
IMS56F IMS5615 15x
IMS56G IMS56FA FAx
-The 45x and 55/56x datasets are left in //WORK so you can
decide to copy them, or not.
-TYPSIMS7 now uses PROC SORT NODUP to remove duplicates,
and outputs ALL datasets to the //IMSTRAN DD name.
This required creation of variable IMSRECCH $CHAR8. to
contain the IMS Logical Sequence Number as character to
use in NODUP sorts. IMSRECNO was input with PIB8., but
it failed in NODUP sorts, because values were truncated
if the first byte was non-zero. IBM stores a value of
'F1'x in the 1st byte for the 1st merged file, a 'F2'x
for the 2nd merged file, etc., but when a numeric field
is INPUT with PIB8, if the field contains a non-zero
first byte, the result is truncated because SAS needs
one byte for exponent, leaving only 7 bytes for
mantissa, which caused duplicate values for IMSRECNO,
which caused the NODUP to fail to recognize true
duplicates. Now, the 8-byte Character variable
IMSRECCH is used in all BY-lists to successfully remove
duplicates and the numeric IMSRECNO is now input from
only the last seven bytes, with PIB7.
-35x record has undocumented bits in QLNQFLGS/ENQFLAG.
IMS 11 DSECT only document '10'x,'02'x,' 01'x bits,
but data contains '80'x,'40'x,'08'x,and '04'x bits on.
QLNQFLGS values '0C'x,'4C'x,'8C'x,'8E'x, and '9C'x bits.
-01x record now conditionally inputs Extended Segment,
eliminating missing value messages.
Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.
Thanks to Lars Fleischer, SMT Data A/S, DENMARK.
Change 28.065 Support for BMC CICS CMRDETL C660 for CICS/TS 4.1 adds
VMACMVCI these new variables COMPATIBLY:
Mar 30, 2010 T6E66XCT T6EATMSN T6EBFDGC T6EBFTC T6EECEVC T6EECFOC
T6EECSGE T6EEICTC T6EIPA T6EJSTWC T6EJSTWT T6EMLCTC
T6EMLCTT T6EMLTDL T6EMLXTC T6EMQASC T6EMQAST T6EOIPA
T6EPIPLN T6ET8PTC T6ET8PTT T6ETIATC T6ETITC T6ETTDLC
T6ETTDLT T6EURIMN T6EWPBNM T6EWSATC T6EWSCBC T6EWSCGC
T6EWSEPC T6EWSFCC T6EWSFTC T6EWSOPN T6EWSQBL T6EWSRBL
T6EWSSFC T6EWSVCN TESTC660 UDAT2
Change 28.064 A semicolon was missing at the end of the statement
JCLIMSL6 %LET MACKEEP= MACRO _IMSVERS 10 % ;
Mar 26, 2010 causing the job to stop after MXG initialization.
Thanks to Urs Kugler, Zurich Insurance Company, SWITZERLAND
Thanks to Brian Sanger, Zurich Insurance Company, SWITZERLAND
Change 28.063 ASUM70LP and ASUMCELP had IFLACTTM,PCTIFLBY missing if
VMXG70PR the IFL was Dedicated, LCPUDED='Y' because ORIGWAIT was
Mar 25, 2010 subtracted from LCPUPDTM even when ORIGWAIT was missing.
Now, MAX(ORIGWAIT,0) is subtracted.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.062 NetSPY percentage calculations use TOTRSPNO or NETSRPNO
VMACNSPY in the denominator, based on the '.1.....'B XDOMAIN value
Mar 25, 2010 for Host-Only or Not, respectively. New TARGRESP variable
is now set by that XDOMAIN value to make it clearer which
denominator was used for the TnRSPPC calculations.
Thanks to Charles Savikas, DFS State of Florida, USA.
Change 28.061 MXG changes the TMS variable BLKCNT to a missing value,
VMACTMS5 when it detects an invalid BLKCNT value. Previously, the
Mar 25, 2010 BLKCNT value was output as 4,294,967,xxx decimal, because
the value in the TMS record was 'FFFFFFFC'x, which MXG
INPUT with PIB4. INFORMAT, because Block Count must be a
positive value, and I feel leaving that large value means
it can't be easily overlooked as an error. For a field
that can be positive or negative, then the first bit is
a sign bit, and the above, when INPUT with IB instead PIB
is a decimal -4, still a clearly wrong negative value.
The TMS Report prints a +4 for BLKCNT for that value!
And, from TMS Support, they confirm that:
- There is no logic in TMS-Reporting, but if the
high-orderbit is on, they interpret the negative
value as a positive number in their print routine.
- The record seems to be wrong, they had some few
similar cases in the past
In fairness to TMS, I don't think these large BLKCNT
values are their fault; I think they just pick up that
counter and output it. Occasionally, fields with values
'FFFF...'X have shown up in SMF I/O fields like EXCP
BLOCK, SIO, etc. whose counters are in the address space.
They result from the subtraction of a counter with a
larger value from a counter with a smaller value, and
thus ultimately are the result of a programming error
deep in whatever system-level code used the wrong
internal counters. Some of these errors have been
tracked down, and fixed, but it can take significant
effort, multiple vendors, and even SLIP traps.
And many of these "bad" values can be traced back to an
ABEND in the address space that overwrote one or both of
the subtraction input counters!
-So I've changed the input for BLKCNT so the value is set
to a missing value instead of that large value when the
first byte is an 'FF'x. This way, you can use
PROC MEANS N NMISS DATA=TMS.DSNBRECD;
to count the number of DSNs with invalid BLKCNT values.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 28.060 Change 27.289 added CPUZIPTM for SYNCSORT that was added
VMACSYNC in an existing reserved area, but SYNCSORT 1.2 did not
Mar 24, 2010 have that expected reserved area, causing MXG to ERROR:
INPUT EXCEEDED RECORD LENGTH. CPUZIPTM is now INPUT
conditionally when the reserved area exists. Note that
the current SYNCSORT version is 1.3; they renumbered.
Thanks to David Bixler, FISERV, USA.
Change 28.059 -RMF III variable ASIASSTA (ADDITIONAL*SRB*TIME) is now
VMACRMFV correctly divided by 1000 in its INFORMAT.
Mar 24, 2010
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 28.058 AS400 Version 5.4.0 creates invalid records that do not
VMACQACS contain the "Century" value and a 2-byte POOL Number that
Mar 24, 2010 caused MXG to be misaligned, and all values were wrong!
The missing Century value is now forced for 5.4.0 records
so that dates and values are correct in QAPMPOLB dataset.
Thanks to Karen Florup, Bank of America, USA.
Change 28.057 MXG 28.01, SAS V8.2 ONLY: ERROR: MACRO KEYWORD ABORT IS
VMXGINIT NOT YET IMPLEMENTED. Change 28.023 added %ABORT statement
Mar 22, 2010 for obscure NOWORKINIT detection, but we no longer QA MXG
under SAS V8.2 so the omission was missed. This change
replaced %ABORT with a DATA STEP for sites still stuck in
that ancient and archaic version of SAS.
See Change 28.079A, which removed NOWORKINIT detection.
Note: This MACRO KEYWORD error also caused FORMATS to
error with ' 22 ' under the OTHER= argument, but the
VMXGINIT correction eliminated that spurious error.
Note: As a reminder, MXG does not fully support V8;
there are other errors that require SAS V9, but this
is not one of them.
Thanks to Teuvo Virsu, Tieto, FINLAND.
Change 28.056 Format MG099TC for variable S99TCOD had spelling errors:
FORMATS Action Code 3560: Change REV to REC.
Mar 22, 2010 Action Code 8975: Change NO to NA.
Thanks to Dick Arnold, Commerce Bank, USA.
Change 28.055 Using PDB=GTF to read DB2 GTF data did not always work.
ANALDB2R Multiple includes of VMACDB2 and VMAC102 could occur,
READDB2 the logic of which records were to be read was not always
Mar 22, 2010 correct, an unneeded data step was eliminated, and the
old-style macros are cleared with %CLEARDB2 so that you
can execute ANALDB2R multiple times (which also protects
PDB=SMF and PDB=PDB).
Apr 17: See Change 28.083. CLEARDB2 REMOVED.
Thanks to Tony Curry, BMC, USA.
Change 28.054 Variables TSQIOSTM and TSQIOWTM in CICSRDQU dataset from
VMAC110 Resource Class SMF 110 SUBTYPE=1 MNSEGCL=5 records were
Mar 20, 2010 wrong, and the count portion of those two "clocks" is now
input into new variables TSQIOSCN and TSQIOWCN.
Thanks to Danny Sun, IBM Global Services, AUSTRALIA.
Thanks to Tony Delmenico, IBM Global Services, AUSTRALIA.
Change 28.053 Executing TYPEQACS on ASCII caused OPTION JFCB UNKNOWN.
VMXGDSNL The VMXGDSNL macro is revised so that
Mar 19, 2010 - It works without referencing a JFCB
- Works on ASCII to find the part of the dataset between
the . and the / or the \.
- Continues to function as before to capture the
penultimate token of a GDG DSNAME.
Thanks to Paul Naddeo, FISERV, USA.
Change 28.052 Cosmetic. Fourteen misspellings of CONTENTION corrected.
VMAC42
Mar 16, 2010
Thanks to Miguel A. Fernandez, CitiGroup, USA.
Change 28.051 DB2 APAR PK62161 adds four important SQL counters that
VMACDB2 are output in DB2ACCT, DB2ACCTP, and DB2STATS:
Mar 16, 2010 QXRWSFET='ROWS*FETCHED'
QXRWSINS='ROWS*INSERTED'
QXRWSUPD='ROWS*UPDATED'
QXRWSDEL='ROWS*DELETED'
The APAR adds the fields to both DB2 V8 and DB2 V9.
Thanks to Terry L. Berman, DST Systems, USA.
Change 28.050 Documentation. If you want to reset the value of the
VMXGINIT OPTIONS USER=xxx;, then you MUST reinvoke VMXGINIT after
Mar 16, 2010 setting your desired LIBNAME:
OPTIONS USER=MYPDB;
%VMXGINIT;
%INCLUDE SOURCLIB(TYPEDB2,ASUMDB2A);
Thanks to Lars Fleischer, SMT Data, SWEDEN.
Change 28.049 -If you APPEND PDB datasets, you may receive warnings that
FIXTRNCD the old dataset did not have TRANSCODE attribute set.
Mar 16, 2010 These warnings are only cosmetic, and will go away when
Apr 29, 2010 you reset the MTD or WTD dataset with only the new MXG.
But, those warnings can be eliminated with the attached
FIXTRNCD program which adds the TRANSCODE=NO attribute to
all $HEX-formatted CHAR variables in the OLD MDT/WTD.
-MXG 28.01/28.02. Original FIXTRNCD program did not work.
Revised and tested Apr 29, 2010.
Thanks to Jan Hess, USAirways, USA.
Thanks to Doug Medland, IBM Global Services, USA.
Change 28.048 RMFV CPUG3 record has +192 bytes in z/OS 1.11.
VMACRMFV Temporary skip realigns data.
Mar 15, 2010
Thanks to Miguel Barrios, SSA, USA.
====== Changes thru 28.047 were in MXG 28.01 dated Mar 9, 2010========
Change Numbers with an asterisk are still OPEN, their text may change,
and the listed members might not have been updated yet in this release.
Contact support@mxg.com for current status of those changes.
Change 28.047 User defined CICS segment supported. Names similar to
IMACICUJ the expected names for IMACICDL caused this particular
UTILEXCL user segment to not be recognized, causing ERRORs when
Mar 9, 2010 SMF data was processed.
Thanks to Paul Baquet, Duke University, USA.
Change 28.046 Documentation. The summarization INTERVAL= request must
ASUM70PR be GREATER THAN OR EQUAL TO the RMF interval duration.
Mar 9, 2010 The default ASUM70PR has INTERVAL=QTRHOUR, but if that is
used with data that was created HOURLY, the output
ASUM70PR dataset(s) can have PCTCPUBY,PCTLnBY, etc.
percentages greater than 100, and there's nothing I can
do to correct those values with the incorrect INTERVAL=.
Change 28.045 The TIMEBILD table was arbitrarily limited to 99 entries;
TIMEBILD keeping ancient systems in the table caused an error when
Mar 8, 2010 the limit was exceeded; the limit is increased to 999.
Thanks to Betty Wong, Bank of America, USA.
Thanks to Michael Oujesky, Bank of America, USA.
Change 28.044 WPS failed with a compiler error in VGETOBS, reported as
VGETOBS UNRESOLVED MACRO %TRIM, but the error, documented in WPS
Mar 6, 2010 item 8385, was not in %TRIM, but was in the parsing of a
Mar 8, 2010 %VGETOBS value that had a plus sign (e.g. 1234e+56). WPS
maintenance 14690 corrected the compiler error, but now
we understand the code syntax that exposes the problem,
by adding %QUOTE() function around the %VGETOBS text, the
exposure is circumvented, without installing WPS 14690.
(First attempt using %STR() around %VGETOBS failed;
%STR is evaluated at compile time, %QUOTE is evaluated
at execute time, which is required here. Two other
%STR were changed to %QUOTE just for consistency.)
(Second attempt did not correctly parse a period that
was returned when the SAS Data Library was in XPORT
format.)
(Third attempt used %INDEX to solve the problem.)
Thanks to Atle Mjelde, ErgoGroup, NORWAY.
Change 28.043 zTPF has major revisions in Performance Data, with many
EXTPFCC old variables removed and new record types; while the new
EXTPFCF support is in new members TYPEZTPF/TYPSZTPF/VMACZTPF and
EXTPFCL not an updated TYPETPF, old DATASET and VARIABLE names
EXTPFCW that exist are unchanged, and TPF is still the prefix for
EXTPFCY the new dataset names.
EXTPFCZ Status
EXTPFGL TPFID DSECT DATA RECORD DATA IN DATA RECORD
EXTPFHP CC NO YES NO
EXTPFMT CF YES YES NO
EXTPFMT CL YES YES NO
EXTPFSF CW COMPLETED
EXTPFSI CY NO YES NO
EXTPFTH CZ NO YES NO
EXTPFUC GL YES YES NO
EXTPFVC HP YES YES NO
EXTPFVF MT COMPLETED
TYPEZTPF MU NO NO NO
VMACZTPF SF NO YES YES
VMXGZTPF SI COMPLETED
Mar 5, 2010 TH NO YES NO
Mar 30, 2010 UC YES YES NO
Apr 5, 2010 VC NO NO NO
VF NO YES YES
Thanks to Bob Wilcox, HP, USA.
Change 28.042 New Sentry VM 3.1.4.3 adds new objects and metrics:
EXNTAPOW dddddd Dataset Name Object
EXNTEVFS
EXNTEVFW NTAPOW APOOLWAS APP_POOL_WAS
EXNTHSRQ NTEVFS EVTRACWS EVENT TRACING FOR WINDOWS SESS
EXNTHSUG NTEVFW EVTRACWI EVENT TRACING FOR WINDOWS
EXNTIPDP NTHSRQ HTTPSRQU HTTP SERVICE REQUEST QUEUES
EXNTIPDR NTHSUG HTTPSUGR HTTP SERVICE URL GROUPS
EXNTIPGL NTIPDP IPSECDOS IPSEC DOS PROTECTION
EXNTPPAC NTIPDR IPSECDRI IPSEC DRIVER
EXNTPPIC NTIPGL IPHTTPSG IPHTTPS GLOBAL
EXNTPRIN NTPPAC PPNETACC PER PROCESSOR NETWORK ACTIVITY
EXNTSYNC NTPPIC PPNETINC PER PROCESSOR NETWORK INTERFAC
EXNTTECL NTPRIN PROCINFO PROCESSOR INFORMATION
EXNTTECL NTSYNC SYNCHRON SYNCHRONIZATION
EXNTTESE NTTECL TERECLIE TEREDO CLIENT
EXNTVWGA NTTECL TERERELY TEREDO RELAY
EXNTVWHA NTTESE TERESERV TEREDO SERVER
EXNTWFP NTVWGA VMGUESTA VMWARE.GUEST.AGGREGATE
EXNTWFPV6 NTVWHA VMHOSTAG VMWARE.HOST.AGGREGATE
EXNTWPFV4 NTWFP WFP WFP
EXNTWSMAN NTWFPV6 WFPTV6 WFPV6
IMACNTSM NTWPFV4 WFPV4 WFPV4
VMACNTSM NTWSMAN WSMANQUS WSMAN QUOTA STATISTICS
Mar 7, 2010
Change 28.041 Do NOT use ASMTAPEE ML-45/46; it caused CPU spikes in the
ASMTAPEE in the MXGTMNT address space (minutes vs fractions of a
Mar 9, 2010 second) that are now corrected by this new ML-47 release.
ML-45 was in MXG 27.10, ML-46 was in MXG 27.11/MXG 27.27.
Just in case, member ASMTAP44 contains ML-44.
Change 28.040 This original change text was wrong and replaced in 2011.
VMACTMS5 The new TMS Extended Format TMC did NOT change ANY size
Mar 5, 2010 of the TMC 340 byte records. The new Extended Format is
Dec 7, 2011 COMPLETELY COMPATIBLE WITH ALL VERSIONS OF MXG SOFTWARE.
See Change 29.274.
Change 28.039 -Dataset TYPE74CA variable R7451RID, the Rank ID, is input
VMAC74 from two bytes, but that produced values in the thousands
Mar 5, 2010 while the values in R748ARID and R748RRID in TYPE748A and
TYPE748R have values up to only 15. The observed values
in the first byte of R7451RID are between 1 and 15, and
and the second byte is 1 or 2, so (guessing), R7451RID is
now input from only the first byte and new R7451RI2 has
the value in the second byte, perhaps the Rank Group.
IBM RMF support observed the same values, but they only
get the two bytes from the interface.
-The Raid Rank segment has fields overlaid that populated
multiple variables, but variable R7451FLG is now used to
set missing values for the variables that don't exist.
This table identifies which R7451xxx variables have value
for each value of R7451FLG, which should be used to group
these three different sets of metrics in TYPE74CA.
R7451FLG
0=No Information, 1=Raid Rank Data, 2=Extent Pool Data
0 1 2
RID XID
HDD HDD XTY
RTY XFL
HSS
RRQ RRQ PRO
WRQ WRQ PWO
SR SR PBR
SW SW PBW
RRT RRT PRT
WRT WRT PWT
-Documentation. The three type 74 subtype 5 LSA Segments
(LO,RO,VO) added in OS/390 Release 2.10 in Change 18.134
were removed by IBM in z/OS 1.1, so these variables will
always be a missing value:
R745DCIR R745LFRE R745LKBF R745LKBR R745RBYF R745RBYS
R745RRID R745VBYW R745VFLG R745VNTR R745VNUM R745VSER
Thanks to Deb Soricelli, CIGNA, USA.
Change 28.038 SMF 120 SUBTYPE 9 caused INPUT STATEMENT EXCEEDED RECORD
VMAC120 because MXG thought variable SM1209ES was 128 bytes long,
Mar 3, 2010 when it should have been INPUT as 64 bytes long.
Thanks to Clayton Buck, UniGroup, USA.
Change 28.037 PDB.SMFINTRV will have EXCP/IOTM counts for FLUSHED steps
BUILD005 that have ZERO elapsed time (for example, steps bypassed
BUIL3005 execution due to JCL Condition Code Tests) if this causes
BUIL3005 the flushed step and the NEXT step to have identical time
Mar 3, 2010 in INITTIME and INTBTIME (step init, interval begin, to
.01 second resolution). Those NEXT step EXCPs/IOTMs were
incorrectly output in that FLUSHED step observation, and
the NEXT step observation had zero EXCP/IOTM counts.
The PDB.STEPS and PDB.JOBS datasets were correct, because
they don't use interval data.
And, in PDB.SMFINTRV, since those EXCPs were valid, but
just in the wrong step, both the JOB and INTERVAL totals
were always just fine.
-Adding INTETIME, the interval end time, in the BY lists
in SORTS and MERGES and KEEP= and in FIRST. and LAST. in
the MULTIDD algorithm corrects the error; it's now clear
they were always required for uniqueness.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 28.036 -TYPE1032 from SMF 103 subtype 2 did not deaccumulate
VMAC103 correctly if PORTNR was not unique; variable JOB was
Mar 2, 2010 added to the BY list for uniqueness to correct.
-"SINCE*STARTUP" removed from label of variable TIMEOUTS,
as it is now the interval value, after deaccumulation.
Thanks to Matthew Chappell, Queensland Dept of Transport, AUSTRALIA.
Change 28.035 Cosmetic, a numeric to character conversion note was
VMXG2DTE eliminated.
Feb 28, 2010
Change 28.034 The references to %TRIM() function are not required, and
VGETOBS their removal may avoid UNRESOLVED MACRO TRIM errors.
Feb 28, 2010
Change 28.033 Incorrect MXG test for SEGLEN=220 for XAMSYS records in
VMACXAM the SUBSUM segment caused alignment ERRORS on the log.
Feb 28, 2010 Correct tests are for 224 and 228.
Thanks to Frank Bereznay, IBM Global Services, USA.
Thanks to Raff Rushton, IBM Global Services, USA.
Change 28.032 -IBM/CANDLE/OMEGAMON optional CMRDATA segment (IMACICMR)
IMACICMR was increased to 256 bytes in CICS/TS 3.2 (SMFPSRVR=65),
UTILEXCL and MXG tests that CICS version in IMACICMR, but records
Feb 27, 2010 from CICS/TS 3.2 with the old 200-byte length are still
created (presumably, the OMEGAMON exit for that segment
was not reassembled with CICS/TS 3.2 macros). While the
segment length of an optional CICS segment is not in the
CICSTRAN SMF record, if the MR segment happens to be the
LAST segment, this change invokes the old short-record
INPUT when less than 256 bytes are left and it's 3.2.
If the CMRDATA segment is not the last segment, the short
segment ultimately (hopefully) causes some sort of ERROR
(in this case, INVALID TASKNR DETECTED with a VERY large
value, due to the misalignment of the short record).
-While I can't tell segment length when creating CICSTRAN,
UTILEXCL will now detect the short CMRDATA segment under
CICS/TS 3.2 and print error messages on its log.
Thanks to Atle Mjelde, ERGO Group, NORWAY.
Change 28.031 z/OS 1.11 GA added variables to SMF 30 and SMF 71, but I
VMAC30 had not re-examined the final SMF manual. Now added:
VMAC71 Dataset TYPE71:
Feb 25, 2010 SMF711RN='FIRST*REFERENCE*FAULTS'
SMF71FBN='FRAMES*BACKED*DURING*GETMAINS'
SMF71FFN='FRAMES*REQUESTED*TO BE FIXED*BELOW 2GB'
SMF71FRN='FIX*REQUESTS*BELOW*2GB'
SMF71GRN='GETMAIN*REQUESTS*ISSUED'
SMF71NRN='NON-FIRST*REFERENCE*FAULTS'
Datasets TYPE30_4,TYPE30_5,SMFINTRV,TYPE30_6:
SMF30HSH='HWM*USABLE BYTES*IN 64-BIT*SHARED'
SMF30HSO='BYTES IN*64-BIT*SHARED*STORAGE'
SMF30HVA='HWM*AUX*SLOTS*BACK*64-BIT'
SMF30HVH='HWM*USABLE BYTES*IN 64-BIT*OBTAINED'
SMF30HVO='BYTES IN*64-BIT*STORAGE*OBTAINED'
SMF30HVR='HWM*REAL*FRAMES*BACK*64-BIT'
Thanks to Don Deese, CPExpert, Computer Management Sciences, USA.
Change 28.030 Support for IMS Log 55x Statistics records, may not
VMACIMS have been tested with actual records.
Feb 24, 2010
Change 28.029 RMM datetime vars have always been wrong time zone. MXG
VMACEDGR assumed that the existence of a GMTOFF value in a Header
Feb 24, 2010 record extracted by EDGHSKP meant that the values in the
Mar 5, 2010 records were on GMT, so MXG added the GMTOFF, intending
Mar 8, 2010 to convert to local, but that incorrectly converted times
back to GMT time zone values. IBM rmm support confirms
that, since z/OS 1.8, extract records ALMOST ALWAYS have
the local time zone, even if the new Common Time UTC(YES)
option is enabled. However, if the RHTZNAME field in the
header record is non-blank, then the user specified the
TZ operand of the RPTEXT command, and times IN the record
were created on that time zone; in this case, MXG does
use the GMTOFF to convert record times to local time zone
and MXG prints a message when this is detected.
-The MXG support for all possible data formats added in
Change yy.xxx requires a Header Record to define the date
formats (Julian, American, European, etc.), but if there
was no Header record, all of the date/times were missing.
This change prints an error message if no "H" Header was
found as the first record in the file, and sets the date
format to the Julian (arbitrary, but most common), with
no guarantee that valid times will be created.
Thanks to Jorge Fong, NYC Information Technology, USA.
Thanks to Phillip Moore, UHC, USA.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 28.028 BMC IMF INPUT STATEMENT EXCEEDED RECORD LENGTH when a
VMACCIMS shorter than expected TRNEXTEN segment of only 16 bytes
Feb 24, 2010 was found; MXG expected 52 bytes. What's sad is that
I only input that segment, and didn't keep it, so it is
not even important, but now, the length remaining is
validated prior to the INPUT of that segment. BMC support
has acknowledge the error: "MVIMS should clear TRNEXTEN
and TRNEXTLN when it strips off the extension. A PTF will
be created to correct the problem.
Thanks to Lorena Ortenzi, UniCredit Global Info Services, ITALY.
Thanks to Paolo Uguccioni, UniCredit Global Info Services, ITALY.
Change 28.027 Do not use the EXIT112 ASM program to decompress CICS SMF
EXIT112 110 records: instead, use the EXITCICS ASM program to
Feb 23, 2010 create the CICSIFUE infile exit to process CICS/TS 3.2
VMAC110 compressed SMF records. As noted in the original change
text, EXIT112 was supposed to handle both 110 and 112
compressed records, and it was tested in 2007, but it now
fails with either 110 or 112 compressed records.
I thought you could use the IBM DFH$MOLS program to
decompress the 112 Omegamon records, but you can't.
-MXG VMAC110 was updated to print a message when the
internal SAS decompression code was executed because the
CICSIFUE exit was not installed.
Change 28.026 Only for consistency, SUMBY= argument changed to STARTIME
TRND71 in place of the now-archaic DATETIME symbol.
Feb 23, 2010
Change 28.025 New Crypto Type CEX3C PRCAPMCT=9 caused MXG to CPU LOOP
FORMATS on the DM=5 RC=10 PRCAPM segment, with no clue unless you
VMACVMXA enabled DEBUG=2 to see the last record before the loop.
Feb 22, 2010 -MXG now protects any unknown PRCAPMCT value with MXGERROR
messages for the first 3 records, and no CPU loop!
-PRCAPMCT values 3,5,7,9 have one structure, and 4,6,8
have a second structure (and 4 has 5 engines, while 6,8
have only one engine). All seven values are now decoded.
-Variable PRCAPMCT is now formatted with new MGVXACX
to map the value to the Crypto Type processor:
3='3:PCICC'
4='4:PCICA'
5='5:PCIXCC'
6='6:CEX2A'
7='7:CEX2C'
8='8:CEX3A'
9='9:CEX3C'
Thanks to Jim Kovarik, AEGON USA, USA.
Change 28.024 Variable BYTESIN is now MGBYTES formatted, rather than
VMACAIX MGBYTRT formatted, as it contains bytes, not a rate.
Feb 18, 2010
Thanks to Glenn Bowman, Wakefern, USA.
Change 28.023 -New MXGERROR and USER ABEND 990 if NOWORKINIT is enabled.
VMXGINIT Unlikely/obscure, but if //WORK is a Permanent DSNAME and
Feb 18, 2010 has DISP=OLD, that NOWORKINIT option skips initialization
of the (normally temporary) //WORK library, so whatever
temporary stuff (macros, catalogs, tables, datasets) was
left from the last SAS step will be used for this step.
While there may be some applications that can use this
"feature", MXG is NOT one of them. When an ITRM site
with that environment upgraded to 27.27, the SAS Compiler
initially had UNRESOLVED MACRO VARIABLE TEMP1ENG errors
in the first execution of VMXGSUM in BUILDPDB, but a job
to enable diagnostics had a typo that caused an error,
but when fixed and diagnostics were enabled, yet another
compiler error was encountered, and three subsequent runs
all failed with different errors. It was only when one
error reported CORRUPTED MACROs that we spotted the reuse
of the //WORK DD in the JCL, and only because diagnostic
option VERBOSE had been turned on that we saw the CONFIG
in use had specified the NOWORKINIT option.
That original unresolved macro error was false; there was
no error in MXG code, but was the result of a conflict
between the old, compiled, %VMXGSUM macro in //WORK that
was compiled from the old MXG, with the invocation in the
new MXG that expected the new definition. Changes were
made to VMXGSUM between the two versions.
This change causes a USER ABEND 990 and MXGERROR messages
if the NOWORKINIT is enabled at MXG Initialization.
-All VMXGxxxx members that define volatile %MACROs print a
single MXGNOTE: VMXGxxxx LAST UPDATED...., when the macro
is compiled; this will avoid a rerun just to determine if
an old macro is in use when there are errors.
-But, see Change 28.079A
Change 28.022 -ML-47 of ASMTAPEE/MXGTMNT protects for diagnostic ABEND.
ASMTAPEE If diagnostic trap IEAINITREGSTASK is enabled, it causes
Feb 13, 2010 a recoverable ABEND 0E0-28 for each XMEM Cross-Memory
call, with a loss of data fields in some MXGTMNT records,
and the unwanted overhead of triggering that trap.
Diagnostic traps like this are enabled, usually only on
test systems, but especially on new z/OS system tests,
to expose existing or potential coding errors. The fact
that this trap caused an abend doesn't necessarily mean
there is an error.
The idea behind this one is that if a program does not
properly set a register, then any use of that register
could potentially lead to a storage overlay. Storage
overlays are some of the most difficult problems to
diagnose because you don't get an abend when the storage
is overlaid: the abend only comes later when subsequent
code attempts to use that storage and comes across that
now-corrupted area. The abend could happen immediately,
or hours later.
This trap places x'FF' in all registers, including access
registers, at task initialization, with the expectation
that the task will clear all access registers before it
goes into AR cross memory mode. The 'FF'x will cause the
code that is using the register without clearing it to
immediately abend, making this storage overlay error much
easier to find. There are several IBM APARs for various
products that had identical S0E0 ABENDS.
Newer sections of MXGTMNT do clear all ARs, but the older
code, pre ML-29, only cleared the ARs that were actually
used, leaving the unused ARs with the x'FF' value.
What is the exposure for MXGTMNT? There isn't any. This
trap exposes, at most, a bad programming practice, maybe!
The trap ABEND is caused by the access registers being
set to x'FF's. Access registers are used for access via
cross memory, and the trap sets them when the task is
first created and entered.
Since MXGTMNT is the first task there is no chance that a
previous task left any unwanted data in the access
registers. But even though there is no exposure, we have
no choice but to add code to clear all ARs; otherwise
anyone who runs MXGTMNT with that diagnostic trap enabled
will encounter these abends.
See Change 28.041 text for ML-47 status.
Thanks to Ginny Nugent, SAS Institute, USA.
Thanks to Ed Webb, SAS Institute, USA
and to my "asmguy", who provided the explanations and the update.
Change 28.021 The zPCR program works fine for simple configurations,
ANALZPCR but with missing data, or multiple, complex, sysplexes
Feb 13, 2010 the ANALZPCR program could fail, the MXG-created .zpcr
Feb 16, 2010 file load could fail, or a model that would load without
Feb 25, 2010 an error could have SYSTEMs in the wrong SYSPLEX.
Feb 28, 2010 -The SYSPLEX value in PDB.TYPE70PR is NOT the SYSPLEX of
Mar 4, 2010 the LPARNAME, but, rather, is the SYSPLEX on which that
Mar 5, 2010 SMF record was written, a fact overlooked in ANALZPCR,
which needs to correctly associate LPARNAME to SYSPLEX.
Depending on the alphabetical ordering of your SYSTEM and
SYSPLEX names, ANALZPCR sometimes accidentally had the
right SYSTEM in the right SYSPLEX, but not always.
Now, PDB.TYPE70, whose SYSTEM-SYSPLEX pairing is always
right, is read to create a format mapping SYSTEM to its
SYSPLEX (in addition to the existing format that maps the
SYSTEM to MVSLEVEL). Then, PDB.TYPE70PR is read, values
of MVSLEVEL/SYSPLEX are set from SMF70STN format lookups,
and the WORK.TYPE70PR dataset has correct SYSPLEX and
MVSLEVEL for LPARNAME, so ANALZPCR now always is right.
-zPCR load fails with MXG-created .zpcr file if incomplete
SMF/PDB data input was read and SCP created.
The input SMF or PDB must have TYPE70 observations for
every SYSTEM to get the MVSLEVEL, which is used to set
the SCP tag from SMF70STN in TYPE70PR. If a system's
data doesn't have TYPE70 data and is only in the TYPE70PR
LPAR data, the SCP tag value 'z/OS-MXG**' has always been
created in the .zpcr file, but not documented, and that
tag value must be changed for zPCR to load the text file.
Now, there are ERROR messages when you have missing data
telling you MUST change those SCP tag values before using
the .zpcr file. Output reports also are enhanced to show
the MVSLEVEL and SMF70STN for each LPAR.
-ANALZPCR program fails with overlapping FORMAT values if
the SMF/PDB input has data with multiple MVSLEVELS from
the same SYSTEM. ANALZPCR will now detect and continue
to execute, and will use the LAST MVSLEVEL for SCP tag,
but will also print ERROR messages when this is detected.
ANALZPCR can't easily be redesigned to support this
multiplicity, but you can split your input and run the
ANALZPCR twice to create each of the two .zpcr files.
-When ANALZPCR is run on ASCII, to read a PDB.TYPE70 that
was CIMPORTed from z/OS and that had been created on z/OS
"before" the TRANSCODE attribute was added by MXG 27.01
(Change 27.014) to all HEX-containing-$CHAR-variables,
variable CPUTYPE will have been converted to '886D'x for
a true CPUTYPE='2094'x. ANALZPCR now tests CPUTYPE for
these "wrong" values: 886D/886F/8870/8871x in CPUTYPE
and corrects them to: 2094/2096/2097/2098x so that the
NAME tag that zpcr expects is created in the .zpcr file.
-When PDB=SMF was used, DASDIORT counted only DASD I/O by
selecting only DEVCLASS=20X when SMF was read. But when
PDB=PDB was used, but only if your PDB.TYPE74 dataset had
other DEVCLASS's captured, DASDIORT was the total I/O.
Now, the PDB=PDB logic selects only DEVCLASS=20X counts.
-MXG uses LCPUSHAR, the Initial Shared LPAR Weight, but if
IRD is active (LPARWLMG='Y'), zPCR expects SMF70ACS, the
Current Shared Weight.
-The message for Linux LPARs that you have to manually put
the SCP type printed the SYSTEM instead of the LPARNAME.
-When PDB=CECTIME was used, specialty engine and ICF's
could have been miscounted.
-SELECT PEAKTIME or PEAKPCT only summarize zOS SYSTEMs,
and they do NOT contain IFLs, nor ICF partitions, and
thus are unlikely to be used. CECTIME is DEFAULT.
-Mar 4, 2010. zPCR Release 6.3a failed to load a model
with CPUTYPE 2094-722; IBM zPCR support
created an updated zPCR program with same-day-service!
With that new release, the Book Configuration, which is
now VERY important, can be specified in the pull-down.
Thanks to Frank Bereznay, IBM Global Services, USA.
Thanks to Raff Rushton, IBM Global Services, USA.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 28.020 Variable QAQSGDSP, Sharing Group Dispositions, in dataset
FORMATS TMMQQAA is now decoded by new FORMAT $MGTMQDI.
VMACTMMQ
Feb 12, 2010
Thanks to Paul Volpi, UHC, USA.
Change 28.019 INVALID DATA FOR RVTRERR in EDGHSKP records is caused by
VMACEDGR IBM writing a question-mark character instead of a count
Feb 10, 2010 of errors as an &NUM4. field. This change eliminates
that NOTE and the HEX record dump for all four xxxxERR
variables (by changing the INPUT to use ?? &NUM.4.), but
IBM will be contacted for an explanation; perhaps they
store a question mark when the error count is larger than
the maximum of 99999 that fits in that 4-byte field.
These instance of invalid data values can be identified
because RVTRERR will be a missing value in the EDGRXEXT
or EDGRVEXT dataset.
Thanks to Paul Volpi, UHC, USA.
Change 28.018 All of the duration/clock values are in 1024 microsecond
VMACTMVT units and not the 64 microsecond units MXG had coded; the
Feb 10, 2010 correct 1024 multiplier is now used. The FORMAT TIME13.3
will still display decimals the maximum resolution of one
millisecond (0.001 seconds), since 1024 microseconds is
just at teeny bit more than one millisecond.
Thanks to Paul Volpi, UHC, USA.
Change 28.017 CICS Optional 'PSB SCHL', a mis-spelling of the expected
UTILEXCL 'PSB SCHD' field name, is now recognized and supported.
Feb 8, 2010
Thanks to Thomas E. Porta, TYCO Electronics, USA.
Change 28.016 SAS Version 9.2 changed the PROC GCHART's PATTERN default
DOC to a terrible choice that produces unreadable patterns.
Feb 6, 2010 Feb: Investigating alternatives.
Aug 9, 2010 Aug: Better definition of color/patterns now defined as
default in VMXGINIT, but if you choose your own,
yours will instead be used.
Change 28.015 Support for z/TPF SMF 89 record; z/TPF put the subtype in
VMAC89 byte 19 rather than bytes 19-20 as documented for z/OS.
Feb 3, 2010 MXG protects either z/OS or z/TPF SMF ID=89 records now.
Thanks to Paul J. Westerhout, KLM, THE NETHERLANDS.
Change 28.014 MXG 27.10-MXG 27.27. The wildcard colon-suffix in the
VGETDDS DDNAMES= argument, to allocate all DDNAMEs starting with
Feb 3, 2010 those characters (%VGETDDS,DDNAMES=PDB:); worked ONLY for
DDNAMES=PDB:). Any OTHER prefix characters ahead of that
colon caused syntax errors. And, DDNAMES=ALLDAYS or even
a list of specific DDNAMES=MON TUE WED names also failed,
with LIBNAME PDBx NOT ASSIGNED because a separate error
sent VMXGDDS to try to allocate LIBNAMES starting with
PDBn, no matter what names you used in your DDNAMES=.
Note: If the DATASET you will look for in VMXGSET might
not exist in all of the LIBNAMES you specify, you
can use OPTIONS NODSNFERR; and only the found
datasets will be read by VMXGSET, and the SAS log
will indicate which DDnames had the DATASET.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 28.013 Variables QW0127FG/QW0127PG/QW0128FG/QW0128PG are INPUT
FORMATS and kept in T102S127 and T102S128 datasets. The "PG"
VMAC102 variables are four-byte replacements for the three-byte
Jan 30, 2010 existing "PN" page number variables.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.012 Very kewl tool, %VMXGFIND searches a SAS data library to
VMXGFIND FIND all observations in all datasets that meet your test
VGETVAR criteria, outputs those selected obs into a separate SAS
VMXGPRNT data library, and prints all selected obs (all variables,
Jan 31, 2010 with the variable's name AND label as heading).
For example:
%VMXGFIND(
PDB=PDB,
PDBOUT=PDBOUT,
KEEPIN=JOB,
FIND= IF JOB='MXGBUILD'; ,
PRINT=YES);
finds all obs with JOB='MXGBUILD' in all of the datasets
in the PDB input library, and outputs those obs into
their datasets in the PDBOUT data library, and prints.
In your KEEPIN= argument, you list all of the variables
that will be used in the SAS code in your FIND= argument.
Only the datasets with one or more of those variables are
read, and the FIND= logic is used to output the selected.
You can test with complex logic with multiple variables
that don't exist in all of the dataset. For example:
%VMXGFIND(
PDB=PDB,
PDBOUT=PDBOUT,
KEEPIN=STARTIME STRTTIME INTBTIME,
FIND= IF ('31JAN2010:15:00:00'DT LE STARTIME LT
'31JAN2010:16:00:00'DT )
OR ('31JAN2010:15:00:00'DT LE STRTTIME LT
'31JAN2010:16:00:00'DT )
OR ('31JAN2010:15:00:00'DT LE INTBTIME LT
'31JAN2010:16:00:00'DT ) ;,
PRINT=100);
selects all interval observations that started in the 3PM
hour, from RMFINTRV plus all detail RMF datasets, from
CICINTRV and any other CICxxxxx interval datasets, from
DB2STATx interval datasets, from the SMFINTRV dataset,
and from ANY other PDB dataset with ANY of those three
variables meeting the test. There will be log messages
UNINITIALIZED VARIABLE printed when a dataset being read
doesn't contain all KEEPIN= variables, but they are
harmless and unavoidable.
Or, this example
%VMXGFIND(PDB=PDB,PDBOUT=PDBOUT,
KEEPIN=RACFUSER QWHCAID FSRUID,
FIND=IF RACFUSER=::'JOE" OR
QWHCAID=:'JOE' OR
FSRUID=:'JOE';,
PRINT=YES );
will find all observations from user "JOE".
New %VGETVAR(DDNAME=,DATASET=,VARNAME=), used in VMXGFIND
determines if variable VARNAME exists in DDNAME.DATASET.
VMXGPRNT now deletes WORK.TMPPRNT (previously WORK.SP_L).
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.011 Reading VSAM SMF for type 119 records failed; the OFFSMF
VMAC119 was not added to all of the offsets.
Jan 29, 2010
Thanks to Kim Westcott, State of New York, USA.
Change 28.010 Variable SHIFT is created from the QWHSSTCK (END TIME) in
VMACDB2H the DB2 Header for all DB2 records, and SHIFT is now kept
VMACDB2 in all of the datasets created from SMF 100 and 101 data.
Jan 28, 2010
Thanks to Atle Mjelde, ErgoGroup, NORWAY
Change 28.009 INVALID DATA FOR CVTTZ in z/OS 1.11 Type 0 record is due
VMAC0 to absence of &IB.4. in its INPUT statement, but as this
Jan 28, 2010 new variable is not used elsewhere, this had no impact,
except the waste of your time chasing this message down.
I missed this because there were no IPL records in any of
my z/OS 1.11 test SMF data, and because the absence of an
INFORMAT in an INPUT statement is not a syntax error.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 28.008 The SPIN.SPINMOUN and SPIN.SPINSYSL dataset could grow to
ASUMTAPE massive size (1.8 million obs in SPINSYSL) because there
Jan 26, 2010 was no test to stop their spinning after some number of
days. Now, IMACSPIN is read and its value of _SPINCNT is
used to determine when a still-unmatched syslog message
should be "spun" again. When observations are deleted
due to their age, the count is printed on the SAS log.
The default IMACSPIN has _SPINCNT of zero, because if
you failed to read INSTALL's instructions on how to
EDIT your IMACSPIN member, at least then when you run
your first BUILDPDB, all of the jobs in SMF are output
to the PDB library, with none output to SPIN, so you
will find all your jobs, complete and incomplete, in
that first PDB. Then, when you ask about all those
incomplete jobs, tech support will point you back to
read INSTALL and IMACSPIN to set _SPINCNT.
But for ASUMTAPE, I will always spin the incomplete
mount events at least one day, using _SPINCNT+1, which
should allow most incomplete mounts today to match up
tomorrow, even if you haven't changed IMACSPIN.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 28.006 An example Ranking analysis, a PROC RANK on steroids.
ANALRANK
Jan 25, 2010
Change 28.005 -Support for Sun StorageTek Enterprise Library Software
VMACSTC Version 6.2 and Version 7.0. Version 6.2 adds new field
Jan 25, 2010 STC14N4K, the number of 4K blocks, used to re-calculate
Feb 2, 2010 STC14VSZ, which was previously limited to a max of 4GB.
Sep 16, 2010 Variables marked with * below, are only in Version 7.
-New variables added to STCVSM13 dataset;
*STC13PLX='TAPEPLEX*FROM WHICH*VTV RECEIVED'
-New variables added to STCVSM14 dataset;
STC14SRS='SYNCHRONOUS*REPLICATION*STATUS'
STC14RUN='REWIND*UNLOAD*RECEIVED*DATETIME'
*STC14PLX='TAPEPLEX*FROM WHICH*VTV RECEIVED'
-New variables added to STCVSM16 dataset;
STC16INF='RTD*CHANNEL*INTERFACE*ID'
STC16ADR='MVS*ADDRESS*OF*RTD'
-New variables added to STCVSM17 dataset;
STC17INF='RTD*CHANNEL*INTERFACE*ID'
STC17ADR='MVS*ADDRESS*OF*RTD'
*STC17DFL='DISMOUNT*FLAG'
-New variables added to STCVSM18 dataset;
STC18INF='RTD*CHANNEL*INTERFACE*ID'
STC18ADR='MVS*ADDRESS*OF*RTD'
-New variables added to STCVSM19 dataset;
STC19INF='RTD*CHANNEL*INTERFACE*ID'
STC19ADR='MVS*ADDRESS*OF*RTD'
-New variables added to STCVSM25 dataset;
STC25SCL='MVS*STORAGE*CLASS'
STC25TUS='SPACE*USED BY*CURRENT*VTVS'
STC25NDV='NUMBER*OF HOLES*DELETED*VTVS'
STC25LUT='MVC*LAST*USED*DATETIME'
STC25LWT='MVC*LAST*UPDATED*DATETIME'
-New variables added to STCVSM26 dataset;
STC26MGT='VTV*MANAGEMENT*CLASS'
-New variables added to STCVSM27 dataset;
STC27CTP='CARTRIDGE*TYPE'
STC27MV3='VOLSER OF*MVC3*CONTAINING*THE VTV'
STC27MV4='VOLSER OF*MVC4*CONTAINING*THE VTV'
-New variables added to STCVSM28 dataset;
STC28RUN='REWIND*UNLOAD*RECEIVED*DATETIME'
*STC28PLX='TARGET*TAPEPLEX*FOR*EXPORT'
-Sep 16: No code change, but with this change there were
obs created from subtype 7 records in STCHSC dataset
with the Oracle SL8500 hardware, whereas MXG 27.05
created zero observations in STCHSC.
Thanks to Davide Marone, SGS S.p.a. ITALY
Thanks to Carlo Gavinelli, SGS S.p.a. ITALY
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 28.004 The EXTREMELY DETAIL DB2 Trace Report PMTRC01 is revised
ANALDB2R for efficiency, keeping track of which of 350 possible
Jan 25, 2010 trace datasets are actually populated, and only using
Feb 22, 2010 their variables. Some uninitialized variables messages
and character to numeric conversions were eliminated.
Note that your DBA needs to enable all of these IFCIDs to
cover all I/O and SQL calls:
IO 6 7 8 9 10 29 30 34 35 36 37 38 39 40 41 105 107
114 115 116 119 120
SQL 6 7 8 9 10 11 12 15 16 17 18 19 20 22 44 45 53 55
58 59 60 61 62 63 64 65 66 68 69 70 71 73 74 75 76
77 78 79 86 87 88 89 95 96 105 107 125 157 158 159
160 163 174 175 177 183 ACCOUNT
With CONNTYPE=4 in the argument list, only records from
CICS Connection will be reported, so if both I/O and SQL
traces are enabled, you can see what DB2 Tables/DBIDs are
touched for each transaction, and can what types of SQL
calls were made for each transaction. Unfortunately, you
can NOT map SQL calls to each DB2 Table that was used.
%ANALDB2R(PDB=SMF,PMACC01=NO,PMACC02=NO,
PMSTA02=NO,PMSPR01=NO,
PMTRC01=YES,CONNTYPE=4);
See correction in Change 28.083.
Thanks to Paul Volpi, UHC, USA.
Change 28.003 Summary of (archaic) SMF 118 records in ANALTCP and of
ANALTCP current SMF 119 records failed if PDB was on TAPE.
ANAL119
Jan 21, 2010
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 28.002 Variables CPUZIPTM and CPUIFATM added to this example
ASUMSMFI summarization of PDB.SMFINTRV.
Jan 21, 2010
Thanks to Frank Lund, EDB Business Partner Norge AS, NORWAY
Change 28.001 Unused Change.
LASTCHANGE: Version 28.
=========================member=CHANGE27================================
/* COPYRIGHT (C) 1984-2010 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 27.27 is dated Jan 20, 2010, thru Change 27.361
MXG Version 27.27 is the 2010 "Annual Version".
MXG Newsletter FIFTY-FIVE is dated Jan 20, 2010
MXG Version 27.11 is dated Dec 31, 2009, thru Change 27.337
MXG Version 27.10 is dated Dec 6, 2009, thru Change 27.325
MXG Version 27.09 was dated Oct 14, 2009, thru Change 27.283
MXG Version 27.08 was dated Sep 1, 2009, thru Change 27.229
MXG Version 27.07 was dated Aug 11, 2009, thru Change 27.195
MXG Newsletter FIFTY-FOUR is dated Aug 10, 2009
MXG Version 27.06 was dated Jul 20, 2009, thru Change 27.167
MXG Version 27.05 was dated Jun 29, 2009, thru Change 27.145
MXG Version 27.04 was dated May 27, 2009, thru Change 27.107
MXG Version 27.03 was dated May 4, 2009, thru Change 27.083
MXG Version 27.02 was dated Apr 13, 2009, thru Change 27.066
MXG Version 27.01 was dated Mar 17, 2009, thru Change 27.042
MXG Version 26.26 was dated Feb 12, 2009, thru Change 26.326
MXG Version 26.26 was the 2009 "Annual Version".
MXG Newsletter FIFTY-THREE was dated Feb 3, 2009
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/ship_current_version
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 27.27 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 27.27.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
=======================================================================
I. MXG Version 27.27 dated Jan 20, 2010, thru Change 27.361.
MXG Version 27.27 is the "Annual Version" for 2010.
Major enhancements added in MXG 27.27, dated Jan 20, 2010
VMXGCNFG 27.356 The standard SAS JCL Proc can be used for MXG.
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
TYPE112 27.358 Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X
TYPEEDGR 27.349 Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.
TYPEEDGR 27.349 Support for RMM APAR OA24025 RDDESKEY.
TYPEEDGR 27.339 RVTxERR RVPxERR variables now numeric, incompatible.
TYPE1415 27.361 MXG 27.06-27.11. BUFNO always zero due to typo.
TYPESRMH 27.340 SRM Thales Security PTF SL24010 INCOMPATIBLE support.
VGETDDS 27.359 WAIT=N option protects for DSNAME already in use.
VGETDDS 27.330 New DATEJUL= correctly generates julian dsnames.
VMXGALOC 27.355 NOWAIT added, create/allocates are now conditional.
READDB2 27.351 READDB2 didn't always invoke its EXdddddd members.
TYPE80A 27.357 TYPE8066 dataset enhanced.
TYPETMVT 27.347 TMON/VTAM "SI" record Interval variables now INPUT.
ANAL307X 27.346 Analysis compares Hourly CPU in 70, 72, 30 interval.
JCLCIDB2 27.345 UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.
ASUM70PR 27.344 Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.
VMXGSET 27.343 VMXGSET permits multiple datasets with APPEND=YES.
VMACSMF 27.341 WARNING: SUBTYPE GT 255 message now not defaulted.
TYPEIMSA 27.354 MXGNOTE now prints the value of _IMSVERS on the log.
Major enhancements added in MXG 27.11, dated Dec 31, 2009
EXPDBINC 27.334 MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.
(Must remove &EPDBINC from EXPDBINC if you used the
%UTILBLDP to create your BUILDPDB source SYSIN code.)
TYPETMNT 27.336 SYSLOG message text size increased to 32384 bytes.
ANALRMFR 27.333 RMF Summary Report (REPORT=SMRY) was incorrect.
ANALJOBE 27.332 Analysis of Job Events revised, JESNR test removed.
TYPE80A 27.331 Protection for unknown TOKDANAM eliminates STOPOVER.
TYPE82 27.330 SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.
TYPE110 27.329 MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used.
ASUMMIPS 27.327 DUR70 created with actual vs expected DURATM.
TYPEDB2 27.326 Variable QDSTQCIT now not deaccumulated.
Major enhancements added in MXG 27.10, dated Dec 6, 2009
TYPE0 27.325 Updated Support for z/OS 1.11, ID=0 now supported.
TYPECDC 27.324 Support for IBM's InfoSphere Change Data Capture CDC
TYPEDB2 27.319 Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).
TYPE7072 27.317 Support for APAR OA28670 RMF 70 Crypto Express3
VMACORAL 27.306 Support for restructured ORACLE SMF records.
TYPESYNC 27.289 Support for CPUZIPTM added in SYNCSORT SMF records.
READDB2 27.322 IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc)
MRGDB2 27.321 MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY
JCL40GIG 27.316 JCL example to split/parallelize BUILDPDB job.
VGETDDS 27.310 New DATEJUL= created DSNAMES with Julian YYYDDD.
VMXGDUR 23.308 SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.
ASUMMIPS 27.305 ASUMMIPS now inflates MSU by system CAPTURE RATIO.
TYPE110 27.303 CICS Total I/O and Total Other Wait updates.
ALOCGOVO 27.299 Allocate GDG's with GOOVOO to minimize DSENQUEUE.
TYPETIMS 27.298 Expensive algorithm to uncompress ASG/Landmark data.
TYPENTSM 27.312 MXG 27.09 only. NTSMF Processing failed, RECFM.
DAILYDSx 27.287 MXG 27.09 only. TMC= should have been TAPEDATA=.
TYPE74 27.287 MXG 27.09 only. DEBUGGING PUT statement removed.
CONFIGxx 27.294 MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
TYPEPROS 27.295 PRO/SMS SMF record misalignment corrected.
ASUM70PR 27.294 IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed.
ASUM70PR 27.292 First LPAR had missing values in LPSHAR/TOTSHARE.
TYPE42 27.291 Variable S42DSRDD incorrect by factor of 10**6.
ASMTAPEE 27.300 ASMTAPE ML-45 enhancements to TMNTnnnn messages.
Major enhancements added in MXG 27.09, dated Oct 14, 2009
TYPE110 27.260 TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!
This means you do NOT have to assemble and install
the EXITCICS "infile" exit.
HOWEVER: VERY EXPENSIVE COMPARED TO EXITCICS.
SEE THE TEXT OF THE UPDATED CHANGE.
MANY 27.277 Support for USER=DDNAME, "WORK" now "&MXGWORK".
TYPE110 27.274 SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed.
CICINTRV 27.274 CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.
READDB2 27.272 READDB2 support for WANTONLY now works.
TYPE110 27.270 CICS STID=115 should not exist.
ASUM70GO 27.268 Example summarizes PDB.TYPE72GO, changing interval.
TYPEVMXA 27.264 z/VM MONWRITE example processes only USER domain.
TYPE74 27.263 R744FNAM not in TYPE74DU, ITRM sites need update.
ASUMMIPS 27.262 MSU/MIPS for zIIPs and zAAPs added to CPs summary.
TYPE120 27.255 WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.
RMFINTRV 27.252 Format missing for many duration variables, fixed.
TYPEEDGR 27.251 RMM Dates - American/Euro/ISO/Julian - all supported.
TYPETMDB 27.259 Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.
TYPEACF2 27.258 Support for Subtype 'O' OPENEDITION record.
TYPEQACS 27.256 Support for QACSLPAR dataset.
TYPE120 27.255 SM1209 RETAINED, SM1209FI/EV corrected.
RMFINTRV 27.252 Formats for durations added.
TYPEEDGR 27.251 Support for all four RMM Date Formats
TYPE80A 27.250 Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.
TYPE74 27.249 R747PAVG AVERGAGE FRAME PACING matches RMF report.
VGETDDS 27.248 Logic revised when DDNAMES= syntax is used.
TYPEHBUF 27.247 FLAG1 tests for HyperBuf optional segments revised.
DAILYDSN 27.246 Variables DSN DSNBACTV STPNAME had UNINIT messages.
GRAFWRKX 27.245 zIIPs and zAAPs added to SAS/GRAPH hourly workloads.
TYPE110 27.245 OTRANNUM right with IMACEXCL, wrong in VMAC110.
FORMATS 27.243 OPTIONS NOCHARCODE reset at end of FORMATS.
TYPE80A 27.241 RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.
WPS 27.239 WPS 2.4 GA has been tested, requires MXG 27.09.
ANALDB2R 27.238 AUDIT report revisions, reduced processing time.
VGETOBS 27.237 Enhancement if no DDNAME argument.
TYPE116 27.235 Six datetimes are now converted to LOCAL, were GMT.
VMXGSUM 27.234 Revision to eliminate OUTCODE= argument sometimes.
TYPEDB2 27.232 TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.
TYPECIMS 27.230 Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT.
Major enhancements added in MXG 27.08, dated Sep 1, 2009
Several 27.229 Support for z/OS 1.11, COMPATIBLE, except for ID=0.
TYPE110 27.200 Support for CICS/TS 4.1 GA additions, new stats.
BUILDPDB 27.213 HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.
TYPENDM 27.222 Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.
TYPEOSEM 27.221 Support for zOSEM Operating System Environment Mgr.
TYPE16 27.211 Support for new z/OS 1.10 DFSORT variables.
ANALDB2T 27.223 New "Top" DB2 Report ranks resource for corr,auth id.
ANALCNCR 27.220 MXG 27.06-27.07. Failed if multiple INDATA= datasets.
ANALCNCR 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
ASUMTALO 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
RMFINTRV 27.218 SMF70LAC was maximum value rather than average.
RMFINTRV 27.214 RMFINTRV STARTIME could be early by an interval unit.
ASUM70PR 27.214 ASUM70PR STARTIME could be early by an interval unit.
TYPE7072 27.217 Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline.
TYPEXAM 27.216 Variable SYTLPNAM restored kept in XAMSYT dataset.
TYPETMO2 27.215 TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record.
TYPEDCOL 27.212 Support for APAR OA30006, 8-byte DCOLDSET fields.
TYPETMDB 27.209 TMON/DB2 BF record SQL text BF0142RL corrected.
TYPEDB2 27.207 MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.
TYPE92 27.204 Change 27.154 did not correct missing path section.
ANALRMFR 27.198 ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.
TYPE85 27.196 Heuristic in Change 27.138 did not correct EXCEEDED.
VMXGDUR 27.214 New FLORCEIL=FLOOR/CEIL argument for begin/end calc.
VMXGDUR 27.214 SYNC59=YES default with FLOOR, always safe.
BUILDPDB 27.220 MSOUNITS,SERVICE corrected to always be LENGTH 8.
Major enhancements added in MXG 27.07, dated Aug 11, 2009
TYPEIOO 27.189 Support for Serena's StarTool IOO Product SMF.
TYPENTSM 27.184 Support for 13 VMWARE objects captured by NTSMF.
READDB2 27.169 MXG 27.04-27.06. T102Snnn datasets had zero obs.
ASUMTAPE 27.181 Support for VOLSER='SCRTCH' from MXGTMNT monitor.
TYPENMON 27.180 Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects.
TYPEITRF 27.177 Variable RECTOK was truncated to 12 bytes.
TYPECIMS 27.176 Support for IMF 4.4 was incorrect for TRNxxxxx vars.
TYPECIMS 27.176 BMC PTF BQI0695 corrects overlaid DBD segments.
TYPEDB2 27.17x Corrected, misspelled DB2 variables.
ANALDB2R 27.172 Many tests IF x NE 0 replaced with IF x GT 0.
ASUM70PR 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
RMFINTRV 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
Major enhancements added in MXG 27.06, dated Jul 20, 2009
TYPE102 27.162 Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x
TYPEDB2 27.158 Support for UIFCIDS=YES, all "%U" DB2 fields revised.
TYPEVMXA 27.156 Support for z/VM 6.1.0 in MXG 27.01+; no new data.
TYPE1415 27.148 Support for APAR OA29428, identifies who closed file.
TYPE7072 27.149 Labels for Counts of ZIP, IFA, CPs, clarified.
TYPE42 27.155 Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
TYPE92 27.154 Variable SMF92PPN blank in TYPE9201, was not INPUT.
TYPE119 27.153 Variable NTBTRNBE input now as count and not a time.
ANALZPCR 27.147 SCP too short for z/OS 1.10, wrong if multiple SCPs.
TYPEDCOL 27.152 MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.
TYPEXAM 27.151 XAM TCP record INPUT STATEMENT EXCEEDED error.
Major enhancements added in MXG 27.05, dated Jun 29, 2009
TYPE30 27.122 Support for APAR OA26832 expands Service Unit fields.
TYPERMVF 27.120 RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).
MXGSASxx 27.108 &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL.
ANALDB2R 27.131 DB2PM-like STATISTICS LONG report MAJOR updates.
ANALZIPU 27.137 Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.
TYPETMMQ 27.145 Support for TMON for MQ record 'QA' (APPLICATION).
TYPEQACS 27.134 More updates for IBM i, i5/OS, iSeries a/k/a AS400.
TYPECTLL 27.129 Updates for CONTROL-D TYPE C User SMF record.
JCLDAYDS 27.127 Support for CONTROL-T for "daily dataset billing".
VMXGOPTR 27.124 Macro %TRIM() function removed from VMXGOPTR.
ASUM70PR 27.132 Revisions for missing values if IFL is last LPARNUM.
TYPE1415 27.116 Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.
TYPETMS5 27.111 New TMSLIB variable, support for multiple TMS cats.
MXGWPSV2 27.110 Circumventions support MXG execution under WPS 2.3.5.
COMPALL 27.109 Comparison of COMPALL under SAS and WPS.
Major enhancements added in MXG 27.04, dated May 27, 2009
This Version updates lots of DB2 stuff; the IFCID=225 variables are
now added to PDB.DB2STATS, so that one dataset now has all of the
DB2 Statistics variables from DB2STAT0, DB2STAT1, and DB2STAT4, and
for DB2 V8 sites, you can also tell MXG to add the T102S225 variables
to the PDB.DB2STATS dataset. See Change 27.097 text.
And READDB2 was revised to match its documentation, and to read only
the records that are needed for the IFCIDS= selection.
READDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
TYPEDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
TYPEDB2 27.086 Some DB2STATS QISE variables incorrectly deaccum'd.
IMACICOB 27.099 Optional Omegamon DB2 CICS/TS 3.2 times were wrong.
TYPE119 27.106 Support for z/OS 1.10 storage metrics in SMF 119.
TYPECIMS 27.107 Support for BMC'S IMF 4.4 (COMPATIBLE).
TYPEACF2 27.105 ACF2VR dataset enhanced, DB2 activity identification.
TYPE7072 27.089 Support for TYPE 72 Resource Delay Type Names R723RNx
TYPEBVIR 27.088 Support for TS7700/BVIR Microcode 1.5.
TYPEBVIR 27.104 BVIR TS7700 GMT times can be user-changed to LOCAL.
VMXGDUR 27.103 New INTERVAL=THREEMIN or TWOMIN are supported.
TYPE70PR 27.102 27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
TYPERMFV 27.100 RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
TYPENMON 27.096 Nigel's Monitor MEM Object supported.
TYPETPMX 27.093 TYPETPMX variable JESNR now 7-digits, was 5 digits.
VMXGOPTR 27.092 SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB
VMXGOPTR 27.092 SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.
TYPETMO2 27.091 ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.
TYPENMON 27.087 NMONBBBP blank values and wrong labels corrected.
TYPEOMCI 27.085 ONDV datasets from subtype 203 had blanks for xTRAN.
VGETDDS 27.083 Concatenate PDB libs, dynamically allocate them.
Major enhancements added in MXG 27.03, dated May 4, 2009
ASUM70PR 27.076 ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus.
ASUM70PR 27.074 Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
TYPE83 27.067 Support for LDAP Auditing ID=83 Subtype=3 SMF record.
TYPEIMS7 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMSA 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMFL 27.078 Support for IMF+IMS 45X Interval Statistics record.
TYPEDCOL 27.082 Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
TYPE113 27.081 Support for APAR OA27623, CPU Speed, SM1132SP, added.
TYPENMON 27.080 Protection for inconsistent NMON data counters.
TYPEBVIR 27.077 BVIR variable GLIBSEQN can be ASCII or EBCDIC.
TYPESTC 27.072 VTCS subtypes of STC/STK USER SMF record updated.
VMXGSUM 27.071 VMXGSUM-using programs support DROPed variables.
TYPEXAM 27.070 Variable DESCR truncated in XMHSTMEM, changed.
TYPEULTM 27.069 Serena's Ultimizer user MV moved subtype location.
IMACICDU 27.068 Optional USERCHAR in CICSTRAN was limited to 200.
TYPE77 27.066 "Owner" variables incorrectly labeled as "Current".
Major enhancements added in MXG 27.02, dated Apr 13, 2009
Errors (Only in MXG 27.01) corrected in 27.02:
TYPEDCOL 27.057 MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor.
TYPE42 27.054 MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.
Enhancements:
TYPE42 27.062 VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559.
TYPEEDGR 27.046 Major updates for RMM/EDGHSKP D,V,X records.
TYPEDCOL 27.047 Support for EAV (large volumes) final correction.
TYPECTCD 27.056 Support for Control-D "Decollating" SMF record.
TYPE102 27.059 Some SMF 102 IFCID=108 variables were not INPUT.
VMACSMF 27.058 SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.
TYPEHURN 27.055 OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
TYPE110 27.053 CICS SMF 110 Statistics STID=108 skipped data.
ANALDB2R 27.052 PMACC01 had blank values; time formats match DB2PM.
VMXGOPTR 27.051 %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
VGETSYSI 27.049 New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
VMACDB2 27.045 DB2STATS QISTWFxx variables were incorrectly deaccum.
TYPEMWAI 27.043 HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.
Major enhancements added in MXG 27.01, dated Mar 17, 2009
These two changes were delivered in re-dated MXG 26.26 of Feb 12:
READDB2 27.002 READDB2 might not create all datasets, in Feb refresh
RMFINTRV 27.001 Negative PCTCPUBY, corrected in Feb 12 refresh.
TYPE110 27.032 Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).
TYPE111 27.011 Support for CTG V7.2 (INCOMPAT, new RECID=7 error).
TYPE113 27.004 Support for SMF 113 Hardware Instrumentation Svc HIS.
TYPEDCOL 27.034 Support for EAV, Extended Address Volume devices.
TYPENTSM 27.038 Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!).
TYPE114 27.003 Support for Tivoli Automation SMF 114 record.
TYPEULOP 27.029 Support for BMC's Ultra Op Product's User SMF record.
TYPETMO2 27.042 Support for ASG TMON for CICS V3.2 native records.
ANAL119 27.031 Sample TCP/IP analysis from IBM SMF ID=119 records.
TYPEVMXA 27.008 z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.
BUILDPDB 27.005 PDB.SMFRECNT created to audit SMF record counts.
WEEKxxxx 27.005 Weekly logic enhanced to support nonexistent dataset.
MONTHxxx 27.005 Month logic enhanced to support nonexistent dataset.
ANALDB2R 27.012 DB2PM-like report selection by DATABASE enhancement.
UDB2GTF 27.015 Revised Support for processing DB2 GTF records.
TYPEDB2 27.018 DB2 V9 variables added by IBM or overlooked, added.
ANALDB2R 27.024 NOT SORTED ERROR if only PMACC04 was requested.
TYPE42 27.016 Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.
TYPE42 27.027 TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
TYPENMON 27.028 NMON record 'VM' support for both z/VM, and Intel.
TYPENMON 27.028 IHDRNMON exit permits NMON record selection.
TYPE88 27.026 SMF88LTD timestamp wrong as GMT offset misapplied.
MANY 27.014 SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.
JCLIMSL6 27.033 Setting MACRO _IMSVERS externalized to JCL example.
TYPEXAM 27.030 Only the last MDISK was kept in XAMDEV.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
MXG 27.27 executes best with SAS V9.2, or with SAS V9.1.3 with
Service Pack 4, on any supported SAS platform.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS Decompression Infile Exit.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2 nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level B" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. PLEASE INSTALL V9.2 ASAP,
FOR BOTH OF US, TO AVOID FIXED PROBLEMS. MXG Software has not
executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
one of those listed SAS versions, but any of those data libraries
can be read or updated by any of those versions.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG.
SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
and vice versa.
MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
to be completely safe. No earlier Version 8's were supported.
BUT, PLEASE INSTALL V9.x ASAP, FOR BOTH OF US. V8.2 IS ARCHAIC.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG QA tests have executed on z/OS with SAS V9.1.3 and V9.2 and
also both V9.1.3 and V9.2 on Windows XP.
(I can no longer run QA tests with "archaic" SAS Version 8.2.)
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 2.4 requires MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for "MXG Support for WPS Software"
IV. MXG Version Required for Hardware, Operating System Release, etc.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 TYPE 0 Correction Dec 3, 2009 *27.10
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
MQ Series 7.0 (No Changes) ??? ??, 2009 23.23
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 27.07*
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
V. Incompatibilities and Installation of MXG 27.27.
1. Incompatibilities introduced in MXG 27.27:
a- Changes in MXG architecture made between 27.27 and prior versions
that can introduce known incompatibilities.
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 JCLINST9 for
SAS Version 9.1.3 (JCLINST8 for now-archaic SAS Version 8.2).
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 27.27 after MXG 26.26:
Dataset/
Member Change Description
ALOCGOVO 27.299 Allocate GDG's with GOOVOO to minimize DSENQUEUE.
ANAL119 27.031 Sample TCP/IP analysis from IBM SMF ID=119 records.
ANAL307X 27.346 Analysis compares Hourly CPU in 70, 72, 30 interval.
ANALCNCR 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
ANALCNCR 27.220 MXG 27.06-27.07. Failed if multiple INDATA= datasets.
ANALDB2R 27.012 DB2PM-like report selection by DATABASE enhancement.
ANALDB2R 27.023 One of several updates to ANALDB2R since 26.26.
ANALDB2R 27.024 NOT SORTED ERROR if only PMACC04 was requested.
ANALDB2R 27.052 PMACC01 had blank values; time formats match DB2PM.
ANALDB2R 27.131 DB2PM-like STATISTICS LONG report updated.
ANALDB2R 27.172 Many tests IF x NE 0 replaced with IF x GT 0.
ANALDB2R 27.238 AUDIT report revisions, reduced processing time.
ANALDB2T 27.223 "Top" DB2 Report ranks resource for corr,auth ids.
ANALJOBE 27.332 Analysis of Job Events revised, JESNR test removed.
ANALRMFR 27.198 ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.
ANALRMFR 27.333 RMF Summary Report (REPORT=SMRY) was incorrect.
ANALZIPU 27.137 Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.
ANALZPCR 27.147 SCP too short for z/OS 1.10, wrong if multiple SCPs.
ASMIMSL6 27.121 Assembly error USING introduced in Change 27.078.
ASMTAPEE 27.348 ASMTAPE ML-46 enhancements to optional SYSLOG data.
ASMTAPEE 27.300 ASMTAPE ML-45 enhancements to TMNTnnnn messages.
ASUM70GO 27.268 Example summarizes PDB.TYPE72GO, changing interval.
ASUM70PR 27.074 Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
ASUM70PR 27.076 ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus.
ASUM70PR 27.132 Revisions for missing values if IFL is last LPARNUM.
ASUM70PR 27.214 ASUM70PR STARTIME could be early by an interval unit.
ASUM70PR 27.292 First LPAR had missing values in LPSHAR/TOTSHARE.
ASUM70PR 27.294 IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed.
ASUM70PR 27.344 Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.
ASUMMIPS 27.262 MSU/MIPS for zIIPs and zAAPs added to CPs summary.
ASUMMIPS 27.305 ASUMMIPS now inflates MSU by system CAPTURE RATIO.
ASUMMIPS 27.327 DUR70 created with actual vs expected DURATM.
ASUMTALO 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
ASUMTAPE 27.160 EVENTIME dropped from PDB.ASUMTAPE MXG 26.03, fixed.
ASUMTAPE 27.181 Support for VOLSER='SCRTCH' from MXGTMNT monitor.
BLDSMPDB 27.112 SUBSTR() Function Error, allocation revisions.
BUILDPDB 27.001 New PDB.SMFRECNT dataset summarizes WORK.ID.
BUILDPDB 27.005 PDB.SMFRECNT created to audit SMF record counts.
BUILDPDB 27.213 HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.
BUILDPDB 27.220 MSOUNITS,SERVICE corrected to always be LENGTH 8.
CICINTRV 27.274 CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.
COMPALL 27.109 Comparison of COMPALL under SAS and WPS.
CONFIGxx 27.294 MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
DAILYDSN 27.246 Variables DSN DSNBACTV STPNAME had UNINIT messages.
DAILYDSx 27.287 MXG 27.09 only. TMC= should have been TAPEDATA=.
DB2 27.158 Support for UIFCIDS=YES, all "%U" DB2 fields revised.
EXPDBINC 27.334 MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.
FORMATS 27.243 OPTIONS NOCHARCODE reset at end of FORMATS.
GRAFWRKX 27.245 zIIPs and zAAPs added to SAS/GRAPH hourly workloads.
IMACICDU 27.068 Optional USERCHAR in CICSTRAN was limited to 200.
IMACICOB 27.099 Optional Omegamon DB2 CICS/TS 3.2 times were wrong.
IMACICUA 26.019 CICS User fields supported in IMACICUA/UB/UC/UD
JCL40GIG 27.316 JCL example to split/parallelize BUILDPDB job.
JCLCIDB2 27.345 UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.
JCLDAYDS 27.127 Support for CONTROLT for "daily dataset billing".
JCLIMSL6 27.033 Setting MACRO _IMSVERS externalized to JCL example.
MANY 27.014 SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.
MANY 27.277 Support for USER=DDNAME, "WORK" now "&MXGWORK".
MONTHxxx 27.005 Month logic enhanced to support nonexistent dataset.
MRGDB2 27.321 MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY
MXGSASxx 27.108 &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL.
MXGWPSV2 27.110 Status of testing MXG 27.04 with WPS 2.3.5.
READDB2 27.002 READDB2 might not create all datasets, in Feb refresh
READDB2 27.002 READDB2 might not create all datasets, in Feb refresh
READDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
READDB2 27.150 MXG 27.05. COPYONLY option didn't include 102s.
READDB2 27.169 27.04-27.06, zero obs in all T102Snnn datasets.
READDB2 27.169 MXG 27.04-27.06. T102Snnn datasets not populated.
READDB2 27.272 READDB2 support for WANTONLY now works.
READDB2 27.322 IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc)
READDB2 27.351 READDB2 didn't always invoke its EXdddddd members.
RMFINTRV 27.001 Negative PCTCPUBY, corrected in Feb 12 refresh.
RMFINTRV 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
RMFINTRV 27.214 RMFINTRV STARTIME could be early by an interval unit.
RMFINTRV 27.218 SMF70LAC was maximum value rather than average.
RMFINTRV 27.252 Format missing for many duration variables, fixed.
RMFINTRV 27.252 Formats for durations added.
SPIN 27.119 Doc. Sort Order to import EBCDIC sorted SPIN library.
TIMETABL 27.115 %LET MXGTIM59=YES is no longer required for SYNC59.
TYPE0 27.325 z/OS 1.11 Update: TYPE 0 Corrected.
TYPE102 27.059 Some SMF 102 IFCID=108 variables were not INPUT.
TYPE102 27.131 DB2 T102S106 dataset updates.
TYPE102 27.132 IFCID=22 with truncated names INPUT STATEMENT EXCEED.
TYPE102 27.162 Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x
TYPE110 27.032 Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).
TYPE110 27.053 CICS SMF 110 Statistics STID=108 skipped data.
TYPE110 27.200 Support for CICS/TS 4.1 GA updates/documentation.
TYPE110 27.245 OTRANNUM right with IMACEXCL, wrong in VMAC110.
TYPE110 27.260 TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!
TYPE110 27.270 CICS STID=115 should not exist.
TYPE110 27.274 SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed.
TYPE110 27.303 CICS Total I/O and Total Other Wait updates.
TYPE110 27.329 MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used.
TYPE111 27.011 Support for CTG V7.2 (INCOMPAT, new RECID=7 error).
TYPE112 27.358 Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X
TYPE113 27.004 Support for SMF 113 Hardware Instrumentation Svc HIS.
TYPE113 27.081 Support for APAR OA27623, CPU Speed, SM1132SP, added.
TYPE114 27.003 Support for Tivoli Automation SMF 114 record.
TYPE116 27.157 WQGETJCE/WQPUTJCE/etc variables not divided by 4096.
TYPE116 27.235 Six datetimes are now converted to LOCAL, were GMT.
TYPE117 27.022 Variables added to S117NODE to match up to S117FLOW.
TYPE119 27.106 Support for z/OS 1.10 storage metrics in SMF 119.
TYPE119 27.153 Variable NTBTRNBE input now as count and not a time.
TYPE120 27.255 SM1209 RETAINED, SM1209FI/EV corrected.
TYPE120 27.255 WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.
TYPE1415 27.116 Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.
TYPE1415 27.148 Support for APAR OA29428, identifies who closed file.
TYPE1415 27.361 MXG 27.06-27.11. BUFNO always zero due to typo.
TYPE16 27.211 Support for new z/OS 1.10 DFSORT variables.
TYPE30 27.122 Support for APAR OA26832 expands Service Unit fields.
TYPE42 27.016 Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.
TYPE42 27.027 TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
TYPE42 27.054 MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.
TYPE42 27.062 VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559.
TYPE42 27.155 Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
TYPE42 27.291 Variable S42DSRDD incorrect by factor of 10**6.
TYPE7072 27.010 SMF70CIX, CPU Pool Number, output in PDB.TYPE70PR.
TYPE7072 27.089 Support for TYPE 72 Resource Delay Type Names R723RNx
TYPE7072 27.149 Labels for Counts of ZIP, IFA, CPs, clarified.
TYPE7072 27.205 Doc only. PDB.TYPE70PR LCPUPDTM GT SMF70ONT happens.
TYPE7072 27.217 Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline.
TYPE7072 27.317 Support for APAR OA28670 RMF 70 Crypto Express3
TYPE70PR 27.102 27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
TYPE70PR 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
TYPE74 27.249 R747PAVG AVERGAGE FRAME PACING matches RMF report.
TYPE74 27.263 R744FNAM not in TYPE74DU, ITRM sites need update.
TYPE74 27.287 MXG 27.09 only. DEBUGGING PUT statement removed.
TYPE77 27.066 "Owner" variables incorrectly labeled as "Current".
TYPE80A 27.017 Undecoded NOHOME/NOPROGRAM in TOKDANAM supported.
TYPE80A 27.241 RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.
TYPE80A 27.250 Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.
TYPE80A 27.331 Protection for unknown TOKDANAM eliminates STOPOVER.
TYPE80A 27.357 TYPE8066 dataset enhanced.
TYPE82 27.330 SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.
TYPE83 27.067 Support for LDAP Auditing ID=83 Subtype=3 SMF record.
TYPE85 27.138 z/OS 1.10 OAM record INPUT EXCEEDED RECORD LENGTH.
TYPE85 27.196 Heuristic in Change 27.138 did not correct EXCEEDED.
TYPE88 27.026 SMF88LTD timestamp wrong as GMT offset misapplied.
TYPE92 27.154 Variable SMF92PPN blank in TYPE9201, was not INPUT.
TYPE92 27.204 Change 27.154 did not correct missing path section.
TYPEACF2 27.105 ACF2VR dataset enhanced, DB2 activity identification.
TYPEACF2 27.258 Support for Subtype 'O' OPENEDITION record.
TYPEBVIR 27.077 BVIR variable GLIBSEQN can be ASCII or EBCDIC.
TYPEBVIR 27.088 Support for TS7700/BVIR Microcode 1.5.
TYPEBVIR 27.104 BVIR TS7700 GMT times can be user-changed to LOCAL.
TYPEBVIR 27.163 BVIR PnCHRD/VDRD/CHRD converted to bytes, MGBYTES.
TYPECDC 27.324 Support for IBM's InfoSphere Change Data Capture CDC
TYPECIMS 27.107 Support for BMC'S IMF 4.4 (COMPATIBLE).
TYPECIMS 27.176 BMC PTF BQI0695 corrects overlaid DBD segments.
TYPECIMS 27.176 Support for IMF 4.4 was incorrect for TRNxxxxx vars.
TYPECIMS 27.230 Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT.
TYPECTCD 27.056 Support for Control-D "Decollating" SMF record.
TYPECTLL 27.129 Updates for CONTROL-D TYPE C User SMF record.
TYPEDB2 27.018 DB2 V9 variables added by IBM or overlooked, added.
TYPEDB2 27.021 QPAC flag variables were not reset.
TYPEDB2 27.045 DB2STATS QISTWFxx variables were incorrectly deaccum.
TYPEDB2 27.086 Some DB2STATS QISE variables incorrectly deaccum'd.
TYPEDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
TYPEDB2 27.161 Incorrect QXPK values in DB2ACCTP, DB2 V9 only.
TYPEDB2 27.17x Corrected, misspelled DB2 variables.
TYPEDB2 27.188 MXG 27.04-27.06 NOT SORTED DB2STAT0/DB2STAT1.
TYPEDB2 27.207 MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.
TYPEDB2 27.232 TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.
TYPEDB2 27.319 Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).
TYPEDB2 27.326 Variable QDSTQCIT now not deaccumulated.
TYPEDCOL 27.034 Support for EAV, Extended Address Volume devices.
TYPEDCOL 27.047 Support for EAV (large volumes) final correction.
TYPEDCOL 27.057 MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor.
TYPEDCOL 27.082 Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
TYPEDCOL 27.152 MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.
TYPEDCOL 27.212 Support for APAR OA30006, 8-byte DCOLDSET fields.
TYPEEDGR 27.046 Major updates for RMM/EDGHSKP D,V,X records.
TYPEEDGR 27.251 RMM Dates - American/Euro/ISO/Julian - all supported.
TYPEEDGR 27.251 Support for all four RMM Date Formats
TYPEEDGR 27.339 RVTxERR RVPxERR variables now numeric, incompatible.
TYPEEDGR 27.349 Support for RMM APAR OA24025 RDDESKEY.
TYPEEDGR 27.349 Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.
TYPEEREP 27.006 Truncated variables increased, SDWA fully decoded.
TYPEHBUF 27.247 FLAG1 tests for HyperBuf optional segments revised.
TYPEHURN 27.055 OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
TYPEIMFL 27.078 Support for IMF+Log 45X Interval Statistics record.
TYPEIMS7 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMSA 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMSA 27.354 MXGNOTE now prints the value of _IMSVERS on the log.
TYPEIOO 27.189 Support for Serena's StarTool IOO Product SMF.
TYPEITRF 27.177 Variable RECTOK was truncated to 12 bytes.
TYPEMWAI 27.043 HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.
TYPENDM 27.022 NDMRTYPE='IK' record is now output in NDMDT dataset.
TYPENDM 27.222 Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.
TYPENMON 27.028 IHDRNMON exit permits NMON record selection.
TYPENMON 27.028 NMON record 'VM' support for both z/VM, and Intel.
TYPENMON 27.080 Protection for inconsistent NMON data counters.
TYPENMON 27.087 NMONBBBP blank values and wrong labels corrected.
TYPENMON 27.096 Nigel's Monitor MEM Object supported.
TYPENMON 27.110 COUNTW() now used only with SAS V9, DO Loop for V8.
TYPENMON 27.180 Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects.
TYPENTSM 27.038 Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!).
TYPENTSM 27.184 Support for 13 VMWARE objects captured by NTSMF.
TYPENTSM 27.312 MXG 27.09 only. NTSMF Processing failed, RECFM.
TYPEOMCI 27.085 ONDV datasets from subtype 203 had blanks for xTRAN.
TYPEOMCI 27.113 OMCI INTR Subtype 200 RECSUBTYP 4 INPUT EXCEEDED.
TYPEOSEM 27.221 Support for zOSEM Operating System Environment Mgr.
TYPEPROS 27.295 PRO/SMS SMF record misalignment corrected.
TYPEQACS 27.134 More updates for IBM i, i5/OS, iSeries a/k/a AS400.
TYPEQACS 27.256 Support for QACSLPAR dataset.
TYPERMFV 27.100 RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
TYPERMVF 27.120 RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).
TYPESRMH 27.340 SRM Thales Security PTF SL24010 INCOMPATIBLE support.
TYPESTC 27.072 VTCS subtypes of STC/STK record updated.
TYPESYNC 27.289 Support for CPUZIPTM added in SYNCSORT SMF records.
TYPETIMS 27.298 Expensive algorithm to uncompress ASG/Landmark data.
TYPETMDB 27.209 TMON/DB2 BF record SQL text BF0142RL corrected.
TYPETMDB 27.259 Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.
TYPETMMQ 27.145 Support for TMON for MQ record 'QA' (APPLICATION).
TYPETMNT 27.009 MSGID IEF233D supported, no DSNAME in SYSLOG doc'd.
TYPETMNT 27.336 SYSLOG message text size increased to 32384 bytes.
TYPETMO2 27.042 Support for ASG TMON for CICS V3.2.
TYPETMO2 27.091 ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.
TYPETMO2 27.215 TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record.
TYPETMS5 27.111 New TMSLIB variable, support for multiple TMS cats.
TYPETMS5 27.168 MXG 27.05-27.06. _KTMSTMS dropped, impacts ITRM.
TYPETMS5 27.190 TMS.TMS DEVTYPE blank for 3590 and 3592 devices.
TYPETMVT 27.347 TMON/VTAM "SI" record Interval variables now INPUT.
TYPETPMX 27.093 TYPETPMX variable JESNR now 7-digits, was 5 digits.
TYPEULOP 27.029 Support for BMC's Ultra Op Product's User SMF record.
TYPEULTM 27.069 Serena's Ultimizer user MV moved subtype location.
TYPEVMXA 27.008 z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.
TYPEVMXA 27.156 Support for z/VM 6.1.0 in MXG 27.01+; no new data.
TYPEVMXA 27.156 z/VM 6.1 support is in MXG 27.01 or later.
TYPEVMXA 27.264 z/VM MONWRITE example processes only USER domain.
TYPEXAM 27.030 Only the last MDISK was kept in XAMDEV.
TYPEXAM 27.070 Variable DESCR truncated in XMHSTMEM, changed.
TYPEXAM 27.151 XAM TCP record INPUT STATEMENT EXCEEDED error.
TYPEXAM 27.216 Variable SYTLPNAM restored kept in XAMSYT dataset.
TYPEXAM 27.281 Updates/corrections/ for XAM Version 3.7.
UDB2GTF 27.015 Revised Support for processing DB2 GTF records.
VGETDDS 27.083 Concatenate PDB libs, dynamically allocate them.
VGETDDS 27.248 Logic revised when DDNAMES= syntax is used.
VGETDDS 27.310 New DATEJUL= created DSNAMES with Julian YYYDDD.
VGETDDS 27.330 New DATEJUL= correctly generates julian dsnames.
VGETDDS 27.359 WAIT=N option protects for DSNAME already in use.
VGETOBS 27.237 Enhancement if no DDNAME argument.
VGETSYSI 27.049 New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
VMACDB2 27.131 DB2STATS DIF() or no-DIF() corrections.
VMACEDGR 27.128 Syntax error after Change 27.046 (GT. GT.).
VMACORAL 27.306 Support for restructured ORACLE SMF records.
VMACSMF 27.058 SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.
VMACSMF 27.341 WARNING: SUBTYPE GT 255 message now not defaulted.
VMXGALOC 27.355 NOWAIT added, create/allocates are now conditional.
VMXGCNFG 27.356 The standard SAS JCL Proc can be used for MXG.
VMXGDUR 27.214 New FLORCEIL=FLOOR/CEIL argument for begin/end calc.
VMXGDUR 27.214 SYNC59=YES now default with FLOOR, always safe.
VMXGDUR 27.308 SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.
VMXGOPTR 27.051 %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
VMXGOPTR 27.092 SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB
VMXGOPTR 27.092 SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.
VMXGOPTR 27.124 Macro %TRIM() function removed from VMXGOPTR.
VMXGSET 27.343 VMXGSET permits multiple datasets with APPEND=YES.
VMXGSUM 27.071 VMXGSUM-using programs support DROPed variables.
VMXGSUM 27.234 Revision to eliminate OUTCODE= argument sometimes.
VMXGTAPE 27.114 "Tape-aware" programs now support LIBNAME allocation.
WEEKxxxx 27.005 Weekly logic enhanced to support nonexistent dataset.
WPS 27.239 WPS 2.4 GA has been tested, requires MXG 27.09.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 27.
====== Changes thru 27.361 were in MXG 27.27 dated Jan 20, 2010========
Change 27.361 MXG 27.06-27.11. Variable BUFNO in TYPE1415 was always
VMAC1415 zero; the label in the comment for SMF14ABD, added by
Jan 19, 2009 Change 27.148, had a / instead of */ at the end of that
line, which swallowed (without error) the IF BUFNO test.
Note that even when fixed, BUFNO=0 occurs frequently for
non QSAM files; for example, TYPE1415 records for SAS
data libraries always have BUFNO=0 (because the access
method for SAS Data Libraries is EXCP Access Method).
Thanks to Tom Parquette, AXA Technology Services, USA.
Thanks to ???, ???, CANADA.
Change 27.360 Fixed in MXG 27.10, but in MXG 27.09, PDB.ASUM70PR could
VMXG70PR have PCTCPUBY much greater than 100%, for systems with
Jan 19, 2009 IFL engines, if the IFL also has the highest LPARNUM.
Similar to Change 27.123, fixed by Change 27.294/325,
but invalid values in PCTCPUBY were not mentioned in
the text of those changes.
This is only change text; no code was changed.
Thanks to Tee Brown, Blue Shield Blue Cross of South Carolina, USA.
Change 27.359 The new WAIT=N argument in %VGETDDS causes allocations to
VGETDDS be WAITed for N minutes if the DSNAME is already in use.
Jan 19, 2009 SAS tests every 15 seconds and if the DSNAME is freed in
those N minutes, the allocation proceeds as normal.
Thanks to George Pandzik, USAA, USA.
Change 27.358 Support for OMEGAMON ONDV SMF 112 SUB-SUBTYPE '0100'X,
EX112USD optional USREVNT1 or User Function clock/count section.
EX112UST dddddd Dataset Description
IMAC112 112USD T112USRD USREVNT1 Detail
VMAC112 112UST T112USRT USREVNT1 Totals
VMXGINIT In Omegamon/CICS modules KC2GLB or KC2GLBOL, in the
Jan 19, 2010 RKANPARU or RKANPARM library, you can define up to 10
Jan 29, 2010 "User Functions" that can populate the 10 clock/counter
pairs in this new segment. You define the Function Names
you plan to use, and CLOCK START MISC and CLOCK STOP MISC
will accumulate the MISC duration and count of starts in
the first pair. Names MISC, Sybase, Tablebase are used
in this first example, so those names are used to label
the first three sets of detail/total count/clocks, and
only the first three sets are kept by default. If you
create more User Function data, you can use the _K112UST
and K112USD macros to keep more than three, and you can
use the EX112UST exit to change the existing three or to
add new labels for the other counters.
Thanks to Henry Steinhauer, Northwestern Mutual, USA.
Change 27.357 -Some (new) TRANSLATE() functions had '00' or '80' where
VMAC80A '00'x or '80'x should have been specified.
Jan 17, 2010 -TYPE8066 dataset is enhanced with variables from RACFTYPE
6, 318, 319, and 320.
Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.
Change 27.356 -The standard SAS JCL procedure can now be used for MXG on
VMXGCNFG z/OS. You do not need a separate MXGSASVn JCL procedure;
MXGNAMES instead, use this JCL example (in member JCLMXG), after
JCLMXG you EDIT the DSNAMES of your MXG Source, MXG "USERID" and
CONFIMXG MXG Formats datasets into your MXGNAMES member in your
Jan 17, 2010 MXG "USERID" tailoring library:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can provide the names in the jobstream, with:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD *
%LET MXGUSER1=HLQ.MXG.USERID;
%LET MXGSOURC=HLQ.MXG.SOURCLIB;
%LET MXGFORMT=HLQ.MXG.FORMATS;
-In addition, the VMXGCNFG macro that was designed by Rich
allocates the //SOURCLIB with OPEN_ED-1047 encoding; by
doing so, the setting for NLSCOMPATMODE is moot, and by
doing this, all NLS sites running with a locale that is
non-ENGLISH_UNITEDSTATES will never need to worry about
NLSCOMPATMODE, so MXG never has to worry about those SAS
language encoding issues again.
There can NOT be a LIBRARY DD in JCL with CONFIMXG, but
you can have a USER FORMAT library. The CONFIMXG member
%INCLUDEs MXGNAMES and then %INCLUDEs VMXGCNFG from the
&MXGSOURC path and then runs the %VMXGCNFG %macro.
The MXGNAMES member defines MXGFORMT and MXGFORMU and
VMXGCNFG LIBNAME-allocates MXGFORMT to LIBRARY LIBREF and
LIBNAME-allocates MXGFORMU to the USRFORMT LIBREF/DDNAME.
If both MXGFORMT and MXGFORMU are specified in the
MXGNAMES then the SAS system option FMTSEARCH is set:
OPTIONS FMTSEARCH=(USRFORMT LIBRARY)
so the user's format library is searched first.
Member JCLINSTL has the example JCL for ALOCUSID and FORMATS.
Both of those examples use MXGSAS94 JCL Procedure to create FORMATS,
but sites with National Language Support, should consider CONFIMXG
which protects for a future SAS version in which the NLSCOMPATMODE
option will be removed. CONFIMXG uses your standard site's SAS JCL
procedure and options:
// EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But to create or update your FORMATS library with CONFIMXG:
a. The DSNAME of that format library must be named in MXGNAMES
b. There must be no //LIBRARY DD in the JCL of this job step.
c. You must use this syntax in the SYSIN for a new FORMATS:
// EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
//SYSIN DD *
LIBNAME LIBRARY CLEAR;
LIBNAME LIBRARY 'MXGV3603.FORMATS'
DISP=(NEW,CATLG)
SPACE=(CYL(10,3))
UNIT=SYSDA;
or use DISP=OLD to replace your existing formats library.
Thanks to Rich Anderson, SAS Institute Technical Support, USA.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.355 For execution under Windows, the unconditional create of
VMXGALOC existing directories or the delete of non-existent ones
Jan 17, 2010 caused popups that delay jobs until the popup is cleared.
An OPTIONS NOXWAIT was relocated around the TREND dataset
allocations, which will eliminate the popup messages, but
the creations/deletions are also now done in conditional
tests, now that we know these Windows commands exist:
This command tests if a folder exists before trying to
delete its files
If exist "m:\asdf\fdsa" del /q "m:\asdf\fdsa\*.*"
and this command makes sure a folder doesn't exist
before trying to create it:
If not exist "m:\asdf\asdf" md "m:\asdf\asdf"
Thanks to Jim Quigley, ConEd, USA.
Change 27.354 An MXGNOTE now prints the value of _IMSVERS on the log of
IMACIMSA the TYPEIMSA and TYPEIMSB steps of the JCLIMSL6 job. If
JCLIMSL6 IMS V9 records are read with _IMSVERS set to 10, an 08x
TYPEIMSA record is dumped with INVALID YYYY error; in V9, the YYYY
TYPEIMSB is located byte 81, but with _IMSVERS of 10, MXG tries to
Jan 15, 2010 to read the YYYY starting in byte 101. Before MXG 27.01
and Change 27.033, _IMSVERS was set either in IMACIMSA or
in your IMACKEEP, but now its value is set with statement
%LET MACKEEP= MACRO _IMSVERS 10.0 % ;
in the //SYSIN test in JCLIMSL6 (twice), so that you do
NOT have to EDIT IMACIMSA/IMACKEEP to define _IMSVERS.
This change just adds that diagnostic MXGNOTE so you can
see the actual value, if you should also see a hex dump!
Comments were revised to document this change.
Thanks to Douglas G. Wells, First National Bank of Omaha, USA.
Change 27.353 While I expected RMFINTRV would be used to create a small
VMXGRMFI number of "WORKnn" workloads, like 20 or so, for ease in
Jan 15, 2010 consolidation of scores of Service/Reporting Class into
logical workloads, RMFINTRV can now be created with up to
999 sets of "WORKnnn" variables, and also supports up to
9999 Service and Reporting Classes per Workload.
Thanks to Wayne Bell, UniGroup, Inc, USA.
Change 27.352 Variable SMF42JOQ was incorrectly "spelled" with a zero
VMAC42 instead of an "oh".
Jan 12, 2010
Thanks to Ambat Ravi Nair, CitiGroup, SINGAPORE.
Change 27.351 -READDB2 didn't invoke the EXdddddd member when selection
READDB2 generated an _Edddddd macro with only OUTPUT _Wdddddd,
Jan 12, 2010 causing any new variables you created in your tailored
EXdddddd to be not created. READDB2 now always %INCLUDEs
the EXdddddd member in its generated MACRO _Edddddd text.
EXCEPT: The EXPDBACB exit is NEVER called when READDB2
was asked to create DB2ACCTB, because the MXG EXDB2ACB
does NOT output DB2ACCTB (because of potential size), and
if READDB2 calls your tailored EXDB2ACB that did output,
then we would output DB2ACCTB twice.
-Logic for selection with DB2xxxx=AAAA/BBBB/CCCC/DDDDD
was corrected and simplified so it always works as doc'd.
-PROC COPY when PDBOUT= is specified only copies DB2 data
(and not any other datasets that happened to be in WORK).
Thanks to Raff Rushton, IBM Global Services, USA.
Change 27.350 This 1994 example analysis of "bands" of Usage is updated
ANALUSAG to use TYPE72GO instead of TYPE72 and an example JCL was
Jan 12, 2010 added in the comments.
Thanks to R. Wells, American General Finance, USA.
Change 27.349 Support for RMM APAR OA28930 which relocates the fields
VMACEDGR RDBLKCNT and RDTOTAL and expands them to 20 (EBDCIC) NUM
Jan 12, 2010 charaters in the DEXT and XEXT records.
-Support for RMM APAR OA24025 which adds fields RDBESKEY
(DEXT) and XDBESKEY (XEXT) with the CA Tape Encryption
Key value.
Thanks to John Grasing, MetLife, USA.
Change 27.348 The Optional SYSLOG Message Capture in MXGTMNT Tape Mount
ASMTAPEE Monitor program expected a maximum of 255 lines in a
Jan 12, 2010 multi-line Console Message (see Change 27.336 text), but
HASP636 message caused an SVC DUMP "MXG Monitor Extension
Subtask Abend" with its 1541 lines! This update, ML-46,
avoids the SVC Dump by skipping messages with over 255
lines, but is only a circumvention; once we can create a
similar large message on our test system, so we can see
the control block structure, we will create an ML-47
update that will support any multi-line console message.
Thanks to Beau Chavis, Bank of America, USA.
Thanks to Skip Abadie, Bank of America, USA.
Change 27.347 TMON/VTAM "SI" record Interval variables were not all
VMACTMVT input; I apparently had an incorrect DSECT or misread it.
Jan 8, 2010
Thanks to Paul Volpi, UHC, USA.
Change 27.346 Analysis of Hourly CPU Times in MXG TYPE70, TYPE72GO, and
ANAL307X SMFINTRV datasets (or in ITRM XTY70, XTY72GO, & XSMFINT)
Jan 14, 2009 to compare times captured in LPAR Dispatch and Effective,
Feb 22, 2010 captured in Service Classes, and captured in SMF Interval
Address Space records. Two reports, one BY SYSTEM and
one with detail BY SYSTEM SRVCLASS are produced.
The identification of the "Hour" of RMF and SMF Interval
observations is not straightforward; you must start with
the "projected interval end time" SYNCTIME/SMF70GIE and
then subtract from it to get the STARTHOUR, and the value
to subtract is different if you have SYNC(59) specified
in SMFPRMxx instead of the recommended SYNC(0) option.
Note: MXG has ALWAYS recommended SYNC(0) so that RMF
and SMF interval records are written at 00/15/30/45 to
create clean, comparable intervals. But if you still
have MICS, then you are unfortunately stuck with using
SYNC(59) to write at 14/29/44/59 minutes, because MICS
still uses SMFTIME to define its intervals, a (poor)
design that requires records be written early.
Feb 22, 2010: The output datasets created by ANAL307X
now include TYPE30_6 (deaccumulated) interval data and
SMFINTRV, so the subtypes 2/3/6 data is included in
this comparison of 30, 70, and 72 interval CPU times.
Thanks to Dick Cook, North Carolina Dept of Info Technology, USA.
Thanks to Francisco Ojeda, SAS Institute, USA.
Thanks to Joe Piechota, SAS Institute, USA.
Change 27.345 This JCL example uses UTILBLDP to process CICS and DB2
JCLCIDB2 SMF records to create PDB.ASUMUOW and PDB.CICS for
Jan 7, 2010 complete analysis. The output datasets are COMPRESSED
but COMPRESS=NO is used for the intermediate datasets,
to save CPU time (at the cost of doubling WORK space).
Change 27.344 Variables LPCTBY and PCTLPBY were missing in dataset
VMXG70PR PDB.ASUMCELP for the LPARNAME='PHYSICAL'.
Jan 7, 2010
Thanks to Karl Lasecki, Chemical Abstracts, USA.
Change 27.343 %VMXGSET is enhanced to permit multiple datasets to be
VMXGSET read from each data library, and new option APPEND=YES
Jan 6, 2010 removes the semi-colon from the constructed SET statement
so that you can add other dataset(s). This syntax:
%VGETDDS(DDNAMES=PDB);
DATA COMBINE.JOBS;
%VMXGSET(DATASET=JOBS,APPEND=YES) DAY.SPUNJOBS;
will read all of the JOBS datasets in the PDBx DDNAMEs
and the DAY.SPUNJOBS dataset.
Thanks to George Pandzik, USAA, USA.
Change 27.342 XAMSYS records from XAM Release 3.4 had SEGLEN=168, but
VMACXAM MXG code for Release 3.7 expected SEGLEN=220, causing
Jan 5, 2010 an MXG ERROR message for each record. Now, the XAMSYS
record's length is tested and only the old variables are
input for SEGLEN=168.
Thanks to Rodger Foreman, Acxiom, USA.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.341 Change 27.257 added a warning and correction if SUBTYPE
VMACSMF in an SMF record exceeded 255 (because the SMF record
Jan 5, 2010 creator incorrectly stored their subtype in the left byte
instead of the correct location in the right byte).
The correction is ONLY needed when just the SMF header
logic is used (only in MACRO _SMF, or UTILGETM), so
that the real SUBTYPE value is available for reporting
or selection.
Now, the WARNING is NOT printed by default; you can print
the warning with %LET MXGDEBUG=VMACSMF;
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.340 SRM Thales Security PTF SL24010 INCOMPATIBLY changed the
VMACSRMH Summary Record, which caused zero observations to be
Jan 5, 2010 created in datasets SRMHSMAP and SRMHSMDE. New variables
S04DBUSY S04DOVER S04DINTV S04DNCNT S04DUFLG
are now added to SRMHSMDE and the PTF is now supported.
Thanks to Kim Nguyen, National Australia Bank, AUSTRALIA.
Thanks to Shu chun Lai, National Australia Bank, AUSTRALIA
Thanks to Anne Chung, National Australia Bank, AUSTRALIA.
Change 27.339 Change 27.046 (MXG 27.02) changed four error variables
VMACEDGR RVTRERR RVTWERR RVPRERR RVPWERR
Jan 4, 2010 from character to numeric when IBM changed their lengths
from four to five bytes, but that was not documented.
If datasets built with MXG 27.01 or earlier are combined
with datasets built with MXG 27.02 or later, then this
ERROR: VARIABLE RVPERR DEFINED AS BOTH CHAR AND NUMERIC
will result. The only solution is to convert those old
character variables to numeric variables prior to merge
with the new datasets. This can be done with
DATA PDB.EDGRVEXT;
SET PDB.EDGRVEXT
(RENAME=(RVTRERR=XRVTRERR
RVTWERR=XRVTWERR
RVPRERR=XRVPRERR
RVPWERR=XRVPWERR));
RVTRERR=INPUT(XRVTRERR,5.);
RVTWERR=INPUT(XRVTWERR,5.);
RVPRERR=INPUT(XRVPRERR,5.);
RVPWERR=INPUT(XRVPWERR,5.);
DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;
LENGTH DEFAULT=4;
DATA PDB.EDGRXEXT;
SET PDB.EDGRXEXT
(RENAME=(RVTRERR=XRVTRERR
RVTWERR=XRVTWERR
RVPRERR=XRVPRERR
RVPWERR=XRVPWERR));
RVTRERR=INPUT(XRVTRERR,5.);
RVTWERR=INPUT(XRVTWERR,5.);
RVPRERR=INPUT(XRVPRERR,5.);
RVPWERR=INPUT(XRVPWERR,5.);
DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;
LENGTH DEFAULT=4;
Thanks to Steve Sombke, American Century, USA.
Change 27.338 -The new DATEJUL= argument to generate dataset\directory
VGETDDS names that contain the Julian Date didn't stop at 2009365
Jan 3, 2010 but tried to create 2009366, 2009367, etc. The arguments
are now validated and if both start and end are Julian,
then the names are built with Julian dates. Otherwise,
if the arguments are numeric, then the names contain just
numeric sequences. When Julian dates are detected, then
SAS Date functions are used, so the names will correctly
roll forward or backward and both year-end AND leap-year
dates are correctly generated as the names.
-The length of the Julian Date argument can be either five
(09360) or seven (2009360) digits, but the directory or
z/OS dataset name must have the same number of digits.
So you can use
%VGETDDS(DATEJUL=h:\mxg\d,start=09360,end=10010);
for directory names h:\mxg\d09365 thru h:\mxg\d10010
or you can use
%VGETDDS(DATEJUL=h:\mxg\d,start=2009360,end=2010010);
for directory names h:\mxg\d2009365 thru h:\mxg\d2010010
Thanks to George Pandzik, USAA, USA.
====== Changes thru 27.337 were in MXG 27.11 dated Dec 31, 2009========
Change 27.337 The sort order for TYPE70PR was wrong in 27.10 MONTHBLD;
MONTHBLD a second MACRO _BYLIST and _MNTHBLD should have been
Dec 30, 2009 removed. The correct sort order is reduced to now be
SYSPLEX SYSTEM SYSNAME STARTIME
to avoid NOT SORTED conditions.
Thanks to Winnie Pang, Hawaii Medical Services Association, USA.
Change 27.336 Variable SYSLTEXT was arbitrarily INPUT as length $1024,
VMACTMNT sufficient for all tape-mount-related SYSLOG text,
Dec 24, 2009 but other SYSLOG records that can be written by MXGTMNT
can be 32384 bytes long; that is the maximum number of
lines in a multi-line WTO SYSLOG message (255) times the
maximum length of each message (126) plus one byte we add
between each message (254). MXGTMNT processes the
segmented records, which is the way the system presents
multi-line WTOs via the console interface. MXGTMNT
concatenates the messages into one block in one subtype 9
as opposed to creating multiple subtype 9s. So MXGTMNT
is covered unless IBM increases the number of lines or
message length which is not very likely but easily
addressed if they do. SYSLTEXT is now 32384.
Thanks to Beau Chavis, Bank of America, USA.
Thanks to Skip Abadie, Bank of America, USA.
Change 27.335 A stray */ at the end of ANALFIOE prevented any other
ANALFIOE subsequent %INCLUDEs to be bypassed. Unmatched comment
Dec 22, 2009 pairs often cause strange/unpredictable results.
Thanks to Brian Harvey, HCL America, USA.
Change 27.334 MXG 27.10 only. Macro variable &EPDBINC was accidentally
EXPDBINC left in the EXPDBINC member, but it is already correctly
Dec 21, 2009 located in BUILPDx, causing a second unwanted invocation
if %LET EPDBINC= was used to tailor BUILDPDB. However,
it should be noted that there is an inconsistency between
the syntax of the EPDBINC macro variable and the EXPDBINC
member, to include VMACxxxx's for BUILDPDB tailoring:
%LET EPDBINC= MEMBER1 MEMBER2 ;
EXPDBINC code: %INCLUDE SOURCLIB(MEMBER1 MEMBER2);
The value of %LET EPDBINC= is one or more MEMBER names to
be %INCLUDEd, while the code to use in the alternative
EXPDBINC member is one or more %INCLUDE statements.
-UTILBLDP sets &EPDBINC if USERADD=xxxx was specified when
it created its output SYSIN file, so this error could
cause a perfectly-running "BUILDPDB" that was built by
%UTILBLDP to fail when 27.10 is 'dropped in'. Copy the
EXPDBINC member into your tailoring library and remove
the &EPDBINC at the bottom, and your job will then run.
(Fortunately, the error is a syntax error at the start of
the BUILDPDB run, so it is fully restartable.)
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.333 The RMF Summary Report (REPORT=SMRY) was incorrect for
ANALRMFR most fields; averages of averages were printed, and the
Dec 20, 2009 CPU Busy included Specialty Engines when it shouldn't.
Dec 31, 2009
Thanks to Lisa L. Lawver, Land's End, USA.
Change 27.332 The Analysis of Job Events selects all SMF records for
ANALJOBE chosen jobs and prints the sequence of events in the life
Dec 18, 2009 of a job. The MACJBCK selection example tested JESNR,
but JESNR doesn't exist in many job-related records that
are read. Comments were revised for selection choices.
-The logic was restructured to eliminate uninitialized and
missing values, and durations of DSENQTM, LOADTM, and the
SELAPSTM are correctly printed with associated events.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.331 -Support for TOKDANAM='AUTOUID' in dataset TYPE80TK, and
VMAC80A protection for unknown TOKDANAM revised to prevent the
Dec 16, 2009 STOPOVER ABEND.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 27.330 -Variable SMF82PDK now input as VARYING4096, vice 256 and
VMAC82 longer length is protected if SMF82PLL is GT 4096.
Dec 16, 2009 -SMF82PTA is input as $EBCDIC8. vice $CHAR8. and no longer
VMAC80A formatted $HEX.
Jan 17, 2009 -SMF82RKN is input as $CHAR64. vice $CHAR16 and format is
updated.
Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.
Change 27.329 MXG 27.10 only, and ONLY if _S110ST is used to only sort
VMAC110 the statistics dataset. ERROR: CICIDNNR NOT FOUND because
Dec 15, 2009 that variable was not kept in the new CICSIDND data set.
But the two new Identity datasets, CICSIDND and CICSIDNT
should not have been in the _S110ST "sort statistics"
macro; they are from subtype 1, not subtype 2, records,
and they are NOT sorted in _S110, as they can be large
volume datasets. Four other non-statistics dataset from
subtype 1 were also removed from _S110ST sort macro.
These subtype 1 datasets are not sorted by MXG:
/*_SCICRDS - CICSRDS IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICRDS - CICSRDS IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICRDF - CICSRDFI IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICRDQ - CICSRDQU IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICIDN - CICIDNTY IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICIDD - CICIDNDD IS NOT SORTED, CAN BE HIGH VOLUME*/
unless you choose to add their _Sdddddd invocation in the
EXPDBOUT (for BUILDPDB), or after your TYPE110 include.
The Pdddddd/Wdddddd resets were also removed from the
_CICSTAT and _CICSTAS macro definitions for consistency.
Thanks to Glenn Bowman, Wakefern, USA.
====== Changes thru 27.327 were in MXG 27.10 dated Dec 6, 2009========
Change 27.327 -The DURATM variable in PDB.ASUMMIPS is the "expected"
ASUMMIPS interval of your summarization, e.g. 1 Hour, so it does
Dec 6, 2009 not report if there were less than a full hour input
(i.e., the last interval). New variable DUR70 created in
PDB.RMFMSUSE contain the actual duration of the TYPE70
records that were summarized, so you can delete those
short intervals with DUR70 LT DURATM, or use DUR70 to
identify incomplete (or possibly outage) intervals.
-ASUMMIPS now works with &KEEPALL=NO; it created output
obs only if the MXG default &KEEPALL=YES was in effect,
but that was an MXG oversight/error now corrected.
Thanks to Willy Iven, BNP Paribas Fortis, BELGIUM.
Change 27.326 Variable QDSTQCIT should not have been deaccumulated in
VMACDB2 PDB.DB2STATS.
Dec 5, 2009
Thanks to Terry L. Berman, DST Systems, USA.
Change 27.325 z/OS 1.11 ONLY: INVALID TYPE 0 RECORD DETECTED, DELETED
VMAC0 with LENGTH=60 is an MXG error; that new record length is
Dec 3, 2009 correct, and should have been output to TYPE0/IPLS. MXG
Change 27.229 decoded the new z/OS 1.11 field, but I had
forgotten about this (VERY OLD) test for invalid length.
This test exists because it is easy for a SYSPROG to
accidentally create an ID=0 SMF record when trying to
write a "user" SMF record, and there is a very high
cost (or embarrassment) if MXG reports that there was
an IPL when one had not happened!
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.324 Support for IBM's InfoSphere Change Data Capture (CDC)
EXCDCLOG product's user SMF record creates these new datasets:
EXCDCSRC dddddd Dataset Description Contains Segments
EXCDCSYS CDCLOG CDCLOGCA LOG CACHE DLR DCW
EXCDCTGT CDCSRC CDCSOURC SOURCE SCT SDT DSL CDI CDO
FORMATS CDCTGT CDCTARGT TARGET TCT DTC CDI CDO
IMACCDC CDCSYS CDCSYSTM SYSTEM OSC CIT PAL MAA CMO
TYPECDC CLS CVF DSC DCM DLP
TYPSCDC DAL PAA CCI CCO
VMACCDC
VMXGINIT
Dec 3, 2009
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.323 Harmless VARIABLE DURATM UNINITIALIZED note for CPS70PR7
VMXG70PR is eliminated.
Dec 2, 2009
Thanks to Kenneth D. Jones, Bell Aliant, CANADA.
Change 27.322 -New "STATS" value for IFCIDS= in READDB2 creates only the
READDB2 PDB.DB2STATS Interval Statistics Dataset in PDBOUT=PDB,
Dec 3, 2009 an alternative to the value "STATISTICS" that creates ALL
DB2 Statistics Datasets in the PDBOUT. PDB.DB2STATS is
is created from DB2STAT0/DB2STAT1/DB2STAT4 and summarized
DB2STATB, all of which are left in //WORK with "STATS".
The PDB.DB2STATS contains all of DB2STAT0/STAT1/DB2STAT4.
-NOTE APR 2012: SEE CHANGE 30.077, IFCIDS=STATS CHANGED
to create PDB.DB2STATS and PDB.DB2STATB.
-The "ACCOUNT" value creates all DB2ACCTx datasets, but
you can select a subset using the WANTONLY= argument.
You can now just name the wanted DB2ACCTx dataset in your
IFCIDS= argument, in place of ACCOUNT, and only those are
created. Both IFCIDS= and WANTONLY= values can now be an
MXG dataset name (e.g., DB2ACCTP, DB2ACCT), although the
original unique-to-READDB2-token-names (DB2ACTP,DB2ACCT)
that are listed in READDB2 comments are still valid.
So if you only want the three common datasets created,
%READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS,PDBOUT=PDB) will
create PDB.DB2ACCT, PDB.DB2ACCTP, and PDB.DB2STATS from
SMF 100 and 101 records.
-DB2 V8 only: The "DB2STAT4" is an SMF 102 IFCID=225 trace
record; if you have those data, this syntax
%READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS 225,PDBOUT=PDB);
creates T102S225 and use it also to create PDB.DB2STATS.
Change 27.321 -DB2 variable QPACAAFG in DB2ACCTP identifies the type of
FORMATS Package that was executed and decoded by $MGDB2PK format
MRGDB2 with new-in-DB2-V9.1 value of '04:NATIVE SQL' added.
Dec 2, 2009 VALUE $MGDB2PK
' '='BLANK:NOT DEFINED'
'01'='01:STORED PROCEDURE'
'02'='02:USER DEFINED FUNCTION'
'03'='03:TRIGGER EXECUTING'
'04'='04:NATIVE SQL'
-New MRGDB2 member will be renamed or become an example.
-It merges variables from PDB.DB2ACCT with PDB.DB2ACCTP
to create PDB.ENHACCTP for Enhanced Package Accounting.
In this example, variable DB2PARTY is added, so ACCUMACC
Package ROLLUP RECORDS (QWACRINV=1,2,3 DB2PARTY='R') obs
can be identified; ROLLUPs don't have valid values in
these Package (DB2ACCTP) variables, so this example sets
all these variables in PDB.ENHACCTP to blank/missing for
the ROLLUP Package records:
IF DB2PARTY='R' THEN DO;
/* DOCUMENTED INVALID IN PK67870: */
QPACLOCN=' ';
QPACCOLN=' ';
QPACPKID=' ';
/* DOCUMENTED INVALID IN DSNWMSGS: */
QPACAANM=' ';
QPACARNA=.;
QPACASCH=' ';
QPACCANM=.;
QPACCAST=.;
QPACCONT=' ';
QPACEJST=.;
QPACLOCN=' '; /*YES, IN BOTH*/
QPACSCB=.;
QPACSCE=.;
QPACSPNS=.;
QPACSQLC=.;
QPACUDNU=.;
QPACUDST=.;
END;
-The sort order of the new example PDB.ENHACCTP dataset is
BY QWHSSSID QWHCAID QWHCOPID QWHCPLAN QWHSACE
QWHSLUUV DESCENDING QWHSSTCK;
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.320 CICS User fields SRCE,SRCETYPE,SRCEPROG,MSGLEN are
IMACAAAA supported in listed new IMACICxx CICS exit members.
IMACICUF IMACICUF - SRCE
IMACICUG IMACICUG - SRCETYPE
IMACICUH IMACICUH - SRCEPROG
IMACICUI IMACICUI - MSGLEN
UTILEXCL
VMAC110
Nov 26, 2009
Change 27.319 -DB2ACCT obs for Java Universal Type 4 JDBC Driver (JCC)
FORMATS (QMDAPTYP='JCC') did not populate these QMDASQLI fields:
VMACDB2 QMDAPLAT QMDAAPPL QMDAATID QMDASFLN ACCOUNTn
Nov 25, 2009 -Cosmetic: Format $MGDB2PN added JCC for QMDAPTYP.
'ARI'='ARI:DB2 FOR VM,VSE'
'DSN'='DSN:DB2 FOR Z/OS'
'JCC'='JCC:UNIVERSAL JDBC DRIVER'
'QSQ'='QSQ:DB2 FOR I/SERIES'
'SQL'='SQL:DB2 FOR LINUX/UNIX/WIN'
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.
Change 27.318 Cosmetic; no change if COMPRESS=YES default is unchanged.
VMAC102 Several DB2 text-containing variables were $32000 LENGTH
Nov 24, 2009 because old DSECTS had no clue of their maximum lengths,
but some of these SMF 102 fields are shortened to their
(newly documented, probably unchanged) stored lengths:
QW0059CN $128 QW0061CN $128 QW0063ST $5000
QW0145TX $4000 QW0203PA $128 QW0206MS $256
QW0206MR $256 QW0206HR $64 QW0208MS $256
QW0208MR $256 QW0236MS $256 QW0236MR $256
These text fields are still $32000 stored length:
QW0004MS QW0005MS QW0062ON QW0064CN QW0065CN QW0066CN
QW0090CT QW0092P1 QW0097P1 QW01242T QW0140TX QW0141TX
QW0142TX QW0168ST QW0180DS QW0194DS QW0204TH QW0350SP
Change 27.317 Support for APAR OA28670 RMF 70 Crypto Express3 Feature.
FORMATS -Variables R7023CT and R7024CT, Crypto Processor Type, are
VMAC7072 now decoded by $MGRMFCX format.
Nov 20, 2009 -Dataset TYPE70Y2 new variables created by the APAR:
R702CDLV='ICSF*DATA*LEVEL'
R702AESC='AES*ENCIPHER*CALLS*SENT'
R702AESB='AES*ENCIPHER*BYTES*PROCESSED'
R702AESI='AES*ENCIPHER*OPERATIONS'
R702AEDC='AES*DECIPHER*CALLS*SENT'
R702AEDB='AES*DECIPHER*BYTES*PROCESSED'
R702AEDI='AES*DECIPHER*OPERATIONS'
Change 27.316 This JCL example shows how to split MXG into parallel job
JCL40GIG streams, to reduce run times, or to run parts of MXG more
Nov 19, 2009 than once per day (like multiple CICSTRANs), etc, and is
the example for the DOC40GIG parallelization document.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.315 New HSMMH and SAFUSER variables are created in TYPETPMX.
VMACTPMX from $HSM_MH and $SAF_US field names in the ThruPut Mgr's
Nov 18, 2009 user SMF record.
-Doc: ThruPut Manager delays:
DCS - Dataset Contention Delays; when TPM detects that a
job needs a dataset that is being held, it holds
the new job.
DBS - Device Busy Delays.
Thanks to Betty Wong, BOA, USA.
Change 27.314 -SMF 82 Crypto dataset TYPE8219 datetime variables were on
VMAC82 GMT, but now SMF82XTD/XTN/XTW are shifted by GMTOFF82 to
Nov 17, 2009 local time.
-New variable SMF82ELP, Elapsed Duration, is now created
in TYPE8219 and TYPE8220 datasets.
-Label for SMF82SSI corrected.
Thanks to Cesar Cocco, Citigroup, USA.
Change 27.313 Analysis of Job Initiator Queue now uses PDB.SPUNJOBS
ANALINIT dataset only if it exists, eliminating NOT FOUND error.
Nov 15, 2009
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.312 MXG 27.09 only. Change 27.254 was incorrect for NTSMF
VMACNTSM processing on ASCII; that change was intended only for
Nov 15, 2009 VBS format data. The RECFM=V is restored for ASCII.
Thanks to Jim Quigley, ConEd, USA.
Change 27.311 Support for CTG 8.0 (COMPATIBLE) fields added to SMF 111
VMAC111 record for TY111GD dataset:
Nov 14, 2009 CTGIXACO='INTERVAL*XA*TRANS*COMPLETED*HA GROUP'
CTGLXACO='LIFETIME*XA*TRANS*COMPLETED*HA GROUP'
Change 27.310 New parameter DATEJUL= creates DSNAMEs with the date in
VGETDDS Julian format, YYYYDDD, as an alternative to DATEBASE=
Nov 17, 2009 which creates the DATE in the DSNAME in DDMONYY format.
The START and END values can be specified with MDY values
or JULIAN values, or even a numeric string.
Thanks to Brian Harvey, HCL America, USA.
Change 27.309 -z/VM dataset VXSYTEPM variable's values were carried from
FORMATS from prior CMG segments (so ESCON variables could be
VMACVMXA populated in FICON observations). Now, the "other" CMG's
Nov 11, 2009 variables are set to missing values.
-New variable CHPIDTYP identifies the type of channel and
is formatted by new $MGVXACH format, which identifies the
type of OSA adapter, and it should be used in your sorts.
-New variables PCTCPCBY and PCTLPABY are calculated from
Work Units (like TYPE73) for CMG=2 (FICON) records.
Thanks to Melanie Hitchings, BT, ENGLAND.
Change 27.308 MXG 27.08-27.09. SYNC59=NO again default VMXGDUR,VMXGSUM.
VMXGDUR
VMXGSUM Caused minor differences in hourly counts in PDB.CICS
Nov 10, 2009 when minute 59 count/resources were shifted to next hour.
ASUMCICX Change 27.214 changed the internal default to SYNC59=YES,
ASUMCICS in these two internal members that summarize everything,
ASUMCICS its text claiming "ALWAYS SAFE"! But that is ONLY true if
ASUMCICT the input data being summarized is "interval" data, i.e.,
ASUMCIMS it already contains the Interval Start/End times, like
ASUMDB2A RMF,SMFINTRV,DB2STATS, or if SYNC59=YES was specified in
ASUMDB2B the ASUM/TRND/etc that invoked %VMXGSUM.
ASUMDB2G
ASUMDB2P Instead, when the input data being summarized is "events"
ASUMDBDS or "transactions", like CICSTRAN,DB2ACCT,ASUMUOW, wherein
ASUMDBSB VMXGSUM creates the Interval Start/End times, my change
ASUMHSM from NO to YES caused differences in hourly counts in the
ASUMIDMS PDB.CICS dataset (created from CICSTRAN by ASUMCICX) as
ASUMJOBS those minute 59 data were being counted in the next hour.
ASUMSTC (There's nothing wrong in using SYNC59=YES in ASUMCICX
ASUMVTVM to shift those minute 59 transactions, if that's what
you know you want because you have SYNC(59) data, but
I should not have changed that global default!).
While not required with the restored default value, the
listed ASUMxxxx members use input event data and create
interval start/end times, so they now all contain the
SYNC59=NO option, mostly for documentation.
Thanks to Paul Naddeo, FISERV, USA.
Change 27.307 Ancient DB2 Version 7.1 records have non-zero offset and
VMACDB2 length for the "truncated" QMDALOCN field, so MXG read in
Nov 6, 2009 that longer text into QMDALOCN, but examination of those
longer text values show they are not valid, and since the
DB2 V7.1 DSNDQMDA doesn't show the "truncated" offsets,
which appear to have been added in DB2 V8.1, the input of
the truncated field is now bypassed for QWHSRELN LE 7.1.
Change 27.306 Oracle SMF records are restructured, which surfaces as
VMACORAC ERROR: ILLEGAL VALUE FOR STARTS messages. This change
Nov 6, 2009 recovers all original values, and creates seven ORACUNNn
numeric unknown variables and two ORACUNCn character
variables observed in the SMF records. These variables
will be named when a DSECT is available.
Change 27.305 The MSU and MIPS calculations in ASUMMIPS for workloads
ASUMMIPS (i.e., the Service Class MSU from TYPE72GO and Address
Nov 6, 2009 Space MSU from SMFINTRV) did NOT take into account the
Capture Ratio. of each of the engine types; only the
Captured CPUTM was used. This change keeps the RMFINTRV
Capture Ratio variables (CAPTURAT CAPIFART CAPZIPRT) for
each Engine type, and the MSUUSED is divided by
(CAPxxxxx/100) to take into account the Interval Capture
Ratio for that SYSTEM for that engine type. This will
cause the xxxUSED values to be estimates of the hardware
utilization, and they will be slightly larger now. If
intervals are summarized, the Interval Capture Ratio is
the weighted average of the input data. The use of
Capture Ratio can be turned off by specifying a 0 instead
of 1 for the _USECAPT macro.
Thanks to Brian Harvey, HCL America, USA.
Change 27.304 The IFA/zAAP and zIIP Capture Ratios are wrong if those
VMXGRMFI Specialty Engines are faster than the CP engines, because
Nov 6, 2009 the IFATM/ZIPTM are normalized values. Now, the factors
Dec 3, 2009 R723NFFI and R723NFFS, respectively, are used in the MXG
calculation of CAPIFART and CAPZIPRT Capture Ratios. The
CPU times are NOT changed back to raw values.
Change 27.303 CICS Total I/O Wait WTTOIOTM & Total Other Wait WTOTIOTM
ADOC110 variables now include all 45 WAIT durations included in
VMAC110 Suspend Time that are in IBM's CICS Performance Guide for
Nov 5, 2009 CICS/TS 4.1; these six wait durations are not separately
Nov 10, 2009 in WTOTIOTM because they are included in RMISIOTM:
IMSWAITM DB2RDYTM DB2CONTM DB2WAITM DSCHMDTM WMQGETTM
-Member ADOC110 is updated with the complete list of which
waits are I/O and which are Other waits, and a schematic
of how these waits are related. The new equations are:
WTTOIOTM=SUM( /*TOTAL I/O WAIT DURATION*/
WTTCIOTM,WTTSIOTM,WTSHIOTM,WTTDIOTM,WTJCIOTM,
WTFCIOTM,WTRLIOTM,CFDTWATM,SOIOWTTM,ISIOWTTM,
SOOIOWTM,WTIRIOTM,LU61IOTM,LU62IOTM,SZWAIOTM);
WTOTIOTM=SUM( /*TOTAL OTHER WAIT DURATION*/
DSPDIOTM,ENQDIOTM,GNQDELTM,WTICIOTM,WTLMIOTM,
WTWEIOTM,WTWCIOTM,RUNTRWTM,SRVSYWTM,RQRWAITM,
RQPWAITM,SYNCDLTM,MAXOTDTM,MAXJTDTM,MAXSTDTM,
MAXXTDTM,RRMSWATM,PTPWAITM,RMISIOTM,JVMSUSTM,
DSTCBMTM,DSMMSCTM,WTDWIOTM);
WTUNIOTM=MAX( /*UNCAPTURED WAIT DURATIOM(/
0,(SUSPNDTM-(WTTOIOTM+WTOTIOTM)));
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Thanks to Dick Arnold, Commerce Bank of Kansas City, USA.
Change 27.302 Variable FTPMEMBR is now kept in TYPETCPC dataset, and
VMACTCP variable FTPUSRMT is now correctly labeled "REMOTE" and
Nov 4, 2009 not "LOCAL".
Thanks to Marybeth Delphia, Texas Comptroller of Public Accounts, USA
Change 27.301 Unused Change Number.
Change 27.300 ASMTAPEE ML-45 provides several enhancements.
ASMTAPEE -Addition of assembly time stamp to initialization message
Nov 1, 2009 TMNT016I. This will help to confirm that the version of
TMNT that is active matches the expected assembly.
TMNT016I MXG Tape Monitor maintenance level 45
initialization complete (2009/10/31-13.15)
-Modification of the TMNT018I initialization message to
include the SMF record number being used:
TMNT018I MXG Tape Monitor interval set to 0.50 seconds
using SMF record number 238
-Added message TMNT011E (in addition to existing TMNT010E)
to more clearly identify, in human terms, the reason why
SMF recording has failed:
TMNT010E SMF write failed - SMFEWTM return code is
00000028
TMNT011E SMF write failed because a buffer shortage
caused the data to be lost
-Added support for BAM (basic access method) use of XTIOTs
(TIOTs resident above the 16mb line). This is only
relevant when the XMEM=YES option is specified.
-Each ML has small performance enhancements to decrease
MXGTMNT overhead; generally this involves taking
advantage of macro options that improve performance
and/or eliminating unnecessary instructions from
performance sensitive code paths. The benefits are small
from ML to ML but the difference between ML45 and ML26,
for instance, is fairly significant.
Change 27.299 %MACRO to minimize GDG Base Enqueue when reading SMF(0),
ALOCGOVO by only opening the GDG Base Name with relative reference
Oct 31, 2009 to get the full "goovoo" dsname, freeing the Base Name,
and then allocating the FILENAME SMF with the "goovoo"
name for the actual SMF processing, so the duration of
the DSNENQUE for the GDB Base Name is very short.
Normally, if you use JCL to allocate SMF(0), your job
will prevent an SMF Dump from running to create (+1),
until your job ends (or, at least until SMF reading is
completed, if you use FREE=CLOSE on your //SMF DD).
The WAIT=20 option is used to open the relative reference
FILENAME SMF "YOUR.SMF(0)" DISP=SHR WAIT=20;
so that if the GDG Base is already in use, SAS will enter
a Detected Wait state for up to 20 minutes, waking every
15 seconds to see if the enqueue has cleared; without the
filename option WAIT=20, SAS would have terminated with
ERROR: FILE IS IN USE, YOUR.SMF(0) message).
The examples show DDNAME=SMF, but that and the options on
the generated FILENAME statement can be changed.
-This ALOCGOVO only works if your REMOVE the static DD
statements from the JCL; otherwise they will still
control the allocation.
Thanks to Christian Hodel, Swisscom IT Services, SWITZERLAND.
Thanks to MP Welch, SPRINT, USA.
Change 27.298 Another Elegant algorithm uncompresses ASG/Landmark data
VMACTIMS records in SAS code, so it works on ASCII systems (which
VMACTMDB do not support INFILE exits). However, it is EXPENSIVE,
VMACTMDC requiring SIX TIMES THE CPU THAT THE EXITMON6 INFILE EXIT
VMACTMMQ REQUIRES: USE EXITMON6 ON z/OS. See Change 27.260.
VMACTMO2 ASG's compression technique is different than IBM's, but
VMACTMTC a similar increase in CPU Time was observed. However,
VMACTMVS since ASCII systems do not support INFILE exits, this SAS
VMACTMVT code algorithm does support processing of compressed data
Nov 5, 2009 on ASCII or with WPS, which might be worth the CPU cost.
Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
Change 27.297 -ANALDB2R - MERGE STATEMENT HAS REPEATED BY VALUES, and
ANALDB2R SUBSTR errors in AUDIT reports were corrected.
READDB2 -ANALDB2R corrected logic to populate the IFCIDs being
Nov 4, 2009 requested with READDB2 is used with PDB=SMF.
Nov 15, 2009 -READDB2 corrected logic that was suppressing the T102S106
Nov 24, 2009 dataset when WANTONLY was not used, even when requested.
-READDB2 ACCOUNT and STATISTICS now work as expected, to
create only those subsets of datasets; examples revised
to show the use of optional DB2ACTB=NO, etc.
Thanks to Jim Kovarik, AEGONUSA, USA.
Change 27.296 Variable CECSER added to datasets RMFMSUSE and SMFMSUSE.
ASUMMIPS
Oct 28, 2009
Thanks to Nicholas Ward, Centrelink, AUSTRALIA
Change 27.295 PRO/SMS SMF records were misaligned after the MSGED text
VMACPROS which was increased from 256 to 292 bytes; the first 42
Oct 27, 2009 are now GWMSGECH $CHAR42 with $HEX84 format, while the
actual text is GWMSGED input now as $EBCDIC250.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 27.294 IFL observations in ASUM70LP and ASUMCELP had STARTIME
VMXG70PR and DURATM were missing values, and IFLCPUS was wrong if
Oct 26, 2009 the summary interval was larger than original DURATM.
Thanks to Kenneth D. Jones, Bell Aliant, CANADA.
Thanks to Bruce Perry, Bell Aliant, CANADA.
Change 27.293 Support for CICS Identity Propagation, new with z/OS 1.11
EXCICIDD CICS/TS 4.1 & APARs PK95579,PK83741,PK98426, creates new
EXCICIDN SMF 110 Subtype 1 MNSEGCL=6 record (if MNIDN=ON in SIT),
FORMATS from which MXG creates two new datasets:
IMAC110 dddddd Dataset Description
VMAC110 CICIDN CICSIDNT IDENTITY Transaction Information
VMXGINIT CICIDD CICSIDND Identity Realm/Distinguished Name
Oct 26, 2009 This new Identity Propagation facility sends a user's
Nov 16, 2009 security identity information (the distributed identity)
from a client system across a network, preserving the
distributed identity for use during CICS authorization
and for subsequent auditing purposes.
Following text was revised Feb 1, 2010:
-The new MNSEGCL=5 record was "supported" by MXG 20.20 but
no records were ever read; this SMF file contained those
records and exposed errors in that MXG code, including a
possible INPUT STATEMENT EXCEEDED RECORD LENGTH error.
-The MNSEGCL=5 subtype record can be compressed by CICS,
but the new MNSEGCL=6 record can not.
Change 27.292 Dataset ASUM70LP had missing values for LPSHARC,LPSHARE
VMXG70PR TOTSHARC and TOTSHARE in the observations for the first
Oct 26, 2009 LPAR (only in the first interval). Setting LPARNUM=. was
changed to LPARNUM=9999 so the descending sort corrected
the missing values.
Thanks to Horst Noerenberg, GaVI Gesellshaft .. Informatik, GERMANY.
Change 27.291 Variable S42DSRDD was incorrect by a factor of 10**6; the
VMAC42 calculation should have multiplied by 1000 to convert to
Oct 23, 2009 milliseconds, but it instead divided by 1000. The right
statement for all three instances now is
S42DSRDD=128*S42DSRDD*1000;
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Sridher Nelliyappan Manivel, Lowe's Companies, USA.
Change 27.290 ASUMUOWT (ASUMUOW with ASG TMON MONITASK vice CICSTRAN)
VMXGUOWT had not been updated in four years, suggesting not much
Oct 23, 2009 usage, but now it is updated to match ASUMUOW.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 27.289 Support for CPUZIPTM in SYNCSORT records; additionally,
VMACSYNC the new 4-byte fields in the SORTWORK extension are used
Oct 22, 2009 for the primary and secondary track allocations and the
Nov 18, 2009 primary tracks released.
Syncsort acknowledges that not all sorts can use a zIIP:
-Eligible sorts (not Merge or copies) are seeing 50 to 60
percent use of the zIIP eligible algorithms which result
in a 4 to 10 percent improvement in CPU time.
-Sorting jobs which employ the following features are
currently not eligible for zIIP processing:
SUM
Exit routines other than E15 or E35
Using SORTIN with an E15 exit
OUTREC with CONVERT
Relative length greater than 32756
VBS truncation
TSO invoked sorts
SVC=0
VB INCLUDE/OMIT
OUTFIL INCLUDE
TRUNCATION OF KEYS
SYNCSORT TPF SY66820 enables use of:
INCLUDE/OMIT with STOPAFT
-Although these limitations are being reviewed by SYNCSORT
development staff, there is no schedule nor time frame
if or when any of these will become eligible for zIIP
processing.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.288 New format $MGCICCN is created for variable CMQCNSTA in
FORMATS CICS Statistics dataset CICIMQ dataset to identify if the
VMAC110 Queue is connected or not.
Oct 22, 2009
Thanks to Dale Slaughter, Aegonusa, USA.
Change 27.287 MXG 27.09 errors corrected:
DAILYDSC -ERROR: New DAILYDSC, DAILYDSN, and DAILYDSR.
DAILYDSN The new VMXGDSN's argument was changed to TAPEDATA= from
DAILYDSR TMC= during testing, but the three DAILYDSx members still
VMAC74 had the original TMC= argument in their VMXGDSN calls.
CONFIGV9 If you have an old, tailored DAILYDSx member, it is NOT
Oct 21, 2009 impacted by this new design that uses VMXGDSN.
VMXGDSN -COSMETIC: VMAC74.
Nov 13, 2009 DEBUGGING PUT statement was not removed.
-COSMETIC: CONFIGV9
Option NOMAUTOSOURCEDISPLAY replaces MAUTOSOURCEDISPLAY.
Many lines printed on log, no impact. See Change 27.284.
Option was changed in 27.08.
-Nov 13: VMXGDSN typo PDN corrected to PDB.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to Robert Hamilton, Fifth Third Bank, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 27.286 PRISMA dataset PRPR1620, variable "UNKNOWN" is now INPUT
VMACPRPR as OFFSETS, and new variable INTERPOS is INPUT and KEPT.
Oct 18, 2009
Thanks to Nik Marien, KBC Global Services NV, BELGIUM.
Change 27.285 Label, formats, and spelling corrections:
TYPEIMSA TYPEIMSA:
VMACNTSM variable ELAPSTM formatted TIME12.2
VMACQACS VMACNTSM:
VMACVMXA labels added
Oct 17, 2009 MLMDINST='MLMD*INSTANCE*NAME'
VMAC71 MLLOINST='MLLO*INSTANCE*NAME'
VMACTMNT QLBLINST='QLBL*INSTANCE*NAME'
Oct 20, 2009 labels changed
SQBTATWB='AVG*TIME TO*WRITE*BATCH'
QLBLATWB='AVG*TIME TO*WRITE*BATCH'
QLBLTBBA='AVG*TIME*BETWEEN*BATCHES'
SQBTTBBA='AVG*TIME*BETWEEN*BATCHES'
formatted
QLBLTBBA QLBLATWB TIME13.3
by list changes
VMWGURES dataset, VWGRINST inserted
VMWHODIS dataset, VMWHINST inserted
MLCONS dataset, MLCOINST inserted
VMACVMXA:
label corrected
VIMXCD20='DEVTYPE 20*MAXIMUM*VIRTUAL*CPU TIME*ACB'
variable name spelling corrections in DIF() logic:
ASCHLRC ASCHLLC spelling was wrong: ASCCHLRC/ASCCHLLC
VMACQACS:
labels added
SYSIUL='USER*AUTHORIZATIONS*AVAILABLE'
SYSCIU='USER*AUTHORIZATIONS*NEEDED'
VMAC71: Dataset TYPE71.
Variable SMF71GIE was added to the keep list for TYPE71
by Change 27.178 but the change was not documented. Now
it is labeled and formatted.
VMACTMNT: Dataset TYPESYMT.
Variables SYSLENCR, SYSLBLKS labeled.
VMXGRMFI: Dataset RMFINTRV.
Variable NRINTRV now labeled.
Variables IFATM, ZIPTM are now TIME12.2 formatted.
VMXG70PR:
Variables IFAACTTM, ZIPACTTM labeled and TIME12.2'd.
All LnnPAT variables are formatted TIME12.2
All LnnIFKTM and LPnILWTM in ASUM70PR TIME12.2'd.
VMAC30: Variable ASID label corrected.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 27.284 The SAS Option MAUTOLOCDISPLAY was added to the CONFIGV9
CONFIGxx member in MXG 27.08, but not documented. That option
Oct 16, 2009 prints a message when an autocall %MACRO is invoked, to
identifies the source member that was autocalled. That
option is very useful for MXG Technical Support: having
a back-level member in your tailoring library causes most
errors, and so we can diagnose directly from your log,
without requesting a second run to enable diagnostics.
However, the message is NOT printed for each compile of
an autocalled %MACRO, but instead is printed for each
invocation of an autocall, which causes lots of messages,
so I have now changed CONFIGV9 to NOT set that option.
You can reset the option with an OPTIONS= parameter:
// EXEC MXGSAS,OPTIONS='NOMAUTOLOCDISPLAY'
====== Changes thru 27.283 were in MXG 27.09 dated Oct 14, 2009========
Change 27.283 CPU Activity Report updates.
ANALRMFR
Oct 14, 2009
Thanks to Kim Westcott, New York State Office of Technology, USA.
Change 27.282 -TMON for VTAM 'SE' record average values are no longer
VMACTMVT contained in the record, causing an INPUT EXCEEDED error.
Oct 12, 2009 These variables are now calculated rather than INPUT:
SEHRTA SENRTA SEINA SEOTA.
-Some 'SE' records are compressed, while most are not, in
the test file, so MXG now skips the compressed records,
printing a message for the first five, but outputting the
non compressed records.
Thanks to Paul Volpi, UHC, USA.
Change 27.281 -New XAM datasets are created for PRCAPM, PRCIOP, IODVSW,
EXXAMAPM and STOASI. Those segments can be repeated in XAMSYS
EXXAMASI records, and thus must be output in separate datasets.
EXXAMIOP -New XMMTRPAG dataset created from MTRPAG segment in the
EXXAMPAG XAMDEV file, which is quite different than the MTRPAG
EXXAMVSW segment in the XAMSYS file. Variables PGS1-PGS3,CALCYLPA,
IMACXAM CALCYLPR and CALCYLSP that were previously kept in XAMDEV
VMACXAM are no longer kept in that dataset as they exist only in
VMXGINIT the MTRPAG segment in XAMSYS.
Oct 13, 2009 -IMACXAM is updated with the new datasets.
EXXAMSEK -MANY new variables in release 3.7 that were previously
Oct 17, 2009 overlooked are now output; the KEEP= list for each of
Oct 20, 2009 those datasets lists this Change Number before the list
of new variables.
-Additional MXG corrections for alignment corrected these
dataset's variables:
XAMSYS SYSBUSY
XAMUSR IDLETIME; variable VMTRUSR was removed.
XMFALACB INDEX
-Variable LASTCHNG (a TODSTAMP) is sometimes populated
with 8-bytes of blanks, which cause a datetime value of
'27OCT1935:08:26:40.59'. Now, blanks set it to missing.
-Additional problems with data values that are observed:
-Variable SMOOTHTM in XMSUBNET, XMTCPAPP, XMTCPCON has
many (not all) instances of negative values.
-Variables PVMAJTFA in datasets XMVSISFT and XMVSINAP
and variable PVMINTFA in dataset XMVSISFT are sometimes
negative values.
-Variable RSASXRPM in XAMSYS dataset can be negative.
-Variable PTYPE in XMVSISFT is numeric, usually 0 or 4,
but it contains blanks; four blank ('40'x) input as
PIB4 is the decimal value 1077952576.
-Variable PPATH in XMVSISFT should contain path name in
EBCDIC, but values starting with 'init ' have hex value
'BAF3BB'x in the last three bytes.
-Variable PERFNICE in XMVSISFT can be negative.
-Oct 17 updates after Barton updated his PL/1 Declares:
-XAMDEV dataset
variables PAGUSED SCMWORK SPLUSED no longer exist.
variables CALSPOOL CALPAGE RDEVDRAN are added.
MDISK segment, length 92, 8+4+16+16+8+16=68 documented
CONFIG - corrected
USEACT - corrected
-XAMSYS dataset
RLEASE - corrected
SUBSUM - corrected
MONITR - corrected
MTRMEM - corrected
MTRSYS - corrected
-XAM TCP record
FALCPU - updated.
TCP - updated.
HSTSFT - updated.
VSINAP - updated.
VSIUSR - updated.
-Oct 20 status: updates pending documentation
DEV - IODQDS - Segment not documented.
DEV - MDISK - Extra data not documented.
DEV - SEKSEK - Decoded, but disagrees with Declare.
USR - SERVRS - Segment not documented.
Thanks to Chris Morgan, CITIBANK, ENGLAND.
Change 27.280 New DCOLLECT variables added by z/OS 1.11 dataset DCOLDC:
VMACDCOL DDCSPECC='DDCSPECC*ADDITIONAL*SPECIFICATION*FLAGS'
Oct 9, 2009 DDCFATTR='EATTR*SPECIFIED?'
DDCSPECD='DDCSPECD*ADDITIONAL*SPECIFICATION*FLAGS'
DDCVBYT1='VSAM*EXTENSION'
DDCEX255='OVER 255*EXTENTS*ALLOWED?'
DDCEATTR='EXTENDED*ATTRIBUTE'
Variable DDCSFLG was incorrectly located in z/OS 1.10 IBM
documentation in Access Method Services for Catalogs; the
+3 preceding it was really only +2. These new variables
are decoded from DDCSFLG:
DDCOVRD ='BWO*SPECIFIED?'
DDCSDB ='SPHERE*RECOVERABILITY*SPECIFIED?'
Thanks to Mike Blocker, Fidelity Investments, USA.
Change 27.279 IBM has documented when Subtype 24 and 25 records are
VMAC42 created in APAR OA30503:
Oct 8, 2009 Only those applications which issue STOW and DESERV
calls for PDS or PDSE directory processing will
generate Subtype25 records. Some applications, such as
IEBCOPY, do not issue a STOW or DESERV issue STOW when
updating the directory.
Change 27.278 Errors that %TRIM macro was not resolved are discussed in
CONFIGxx Change 27.124, but that error can also occur if you have
Oct 8, 2009 changed the S2=0 option in MXG's CONFIGV9 to S2=72.
Change 27.277 -Support for USER=DDNAME was erratic because WORK text was
VMAC42 used in many places, where &MXGWORK macro variable should
VMAC80A have been the text.
Oct 8, 2009 -Variables W2RCHGAG and W2RINSAG in dataset CICW2R are now
Oct 9, 2009 formatted MG110AG.
-Variable SMFA2GZ2 label corrected to "SMS" versus "SMF"
in dataset TYPE42D3.
-Variable SMFA2NRS label in TYPE42X3/X4 to match SMF42NRS.
-Variables TOKCHARV, TOKLDAP, TOKNUMRV, TOK80FLG, TOK80LN2
in dataset TYPE80TK are now labeled.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 27.276 Support for z/VM support of 3390-A a/k/a EAV volumes with
VMACVMXA more than 65K tracks; four larger fields are added at the
Oct 7, 2009 end of the SEKSEK record, and are input by this change
into the four existing MXG variables.
Change 27.275 Variable PCTIOPBY='IOP/SAP*PERCENT*BUSY' is created and
VMAC78 kept in TYPE78IO.
Oct 6, 2009
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.274 -ERROR: CICDS DISPATCH INTERVAL LARGER THAN INTERVAL can
VMXGCICI occur when creating PDB.CICINTRV Statistics Summary if
VMAC110 a region was Shutdown (creating an EOD record) and then
Oct 7, 2009 restarted, and the first INT record is created such that
Oct 21, 2009 both the EOD and INT records have the same Summary
(recalculated) COLLTIME. For example, with an requested
INTERVAL=THREEHR summary:
INTERVAL START ACTUAL SUMMARY
EVENT CICSSTCK COLLTIME COLLTIME
EOD 00:00 01:26 03:00
INT 02:00 03:00 03:00
the two events with the same Summary COLLTIME were NOT
combined, because variables CICSSTCK and COLLTIME were
both in the BY list for summarization. CICSSTCK has been
removed from both BY and KEEPs; only COLLTIME is correct.
-Variables A17DSIXP/A17DTRDS were incorrectly deaccumed,
causing negative values for them in PDB.CICINTRV.
-The SORT order for CICFCR (A17 variables) was corrected
to insert A17FNAM ahead of A17DSNAM in both VMAC110 and
in VMXGCICI. While I hate changing the SORT ORDER, this
change is required for duplicate removal.
-Oct 21: CICSSTCK added in KEEPIN= for all steps that have
CICSSTCH in the BY statement in their INCODE=, so that
KEEPALL=NO can be used if needed.
Thanks to Lynn Hong, UCLA, USA.
Change 27.273 -Cleaned up the WTD logic and modified so that if you are
BLDSMPDB using AUTOALOC (which create output directory names that
DAILYDSC contain todays date), it ignores ROLLWEEK (copying of the
DAILYDSN week4-week5 etc) since AUTALOC takes care of that.
DAILYDSR -New REROUTE= argument let's you change the destination
IMACZDAT directories of individual PDB datasets.
VMXGALOC -New macro variable &MXGZDATE created in IMACZDAT so that
VMXGDSN ZDATE can be set for rerun without hard EDIT of IMACZDAT.
VMXGDSN -New macro VMXGDSN reads DCOLLECT, TMC, RMM and CONTROLT
VMXGINIT data files for "Daily Dataset Billing", but separates
Oct 14, 2009 reading of the raw data files from the creation of the
Oct 21, 2009 "DATASETS" dataset, so those phases can be separately
Nov 19, 2009 executed by BLDSMPDB. Members DAILYDSN, DAILYDSC,
DAILYDSR members now invoke VMXGDSN.
-Some confusing WTD/WEEK & MTD/MONTH messages eliminated.
Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.
Change 27.272 READDB2 support for WANTONLY is enhanced (i.e., now it
READDB2 works, and with new options!).
Sep 28, 2009 When WANTONLY is used, the datasets that are NOT listed
in the WANTONLY= argument that would be created by other
arguments (e.g., ACCOUNT) will be created with zero obs.
Example 1:
IFCIDS=ACCOUNT,WANTONLY=DB2ACCT
IFCIDS=ACCOUNT,DB2ACCT=YES//keep/x y z
Only the DB2ACCT dataset will be populated; all other
DB2ACCTx datasets will be created, but with zero obs,
and no other datasets are created.
Example 2:
%READDB2(PDBOUT=PDBOUT,DB2ACTB=NO);
If you do NOT want a dataset to be created, then you
can use NO as the value of the Dataset Name Argument
and the dataset will NOT exist. For example, will
suppress the creation of DB2ACCTB.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 27.271 DB2 IFCID=173 support is updated to detect "truncated"
VMAC102 names, and supports UNICODE text data.
Sep 28, 2009
Thanks to Ervin Claxon, IBM Global Services, USA.
Change 27.270 CICS Statistics STID=115 record is not supposed to exist,
VMAC110 so when it did, MXG didn't handle it's non-non-existence
Sep 28, 2009 correctly.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 27.269 Change 27.158 still caused QWHDRQNM and QWHDSVNM to be
VMACDB2H incorrect, if SMF data was read on ASCII platforms, due
Sep 25, 2009 to spelling QWHDxxxx as QWHSxxxx.
Thanks to Bill McDonald, Kimberly-Clark, USA.
Change 27.268 Example to summarize PDB.TYPE72GO Service/Report dataset,
ASUM72GO creating 10 minute output intervals in PDB.ASUM72GO from
Sep 25, 2009 5 minute input intervals. Using DURATM=INTERVAL forces
the output DURATM value to be the INTERVAL=TENMIN value,
even if the Service Class was only active during one of
the two 5-minute original intervals.
-Originally, the DURATM from the first "period" was kept
in this INCODE logic:
INCODE =
PROC SORT DATA=MXGSUM1 OUT=MXGSUM1A;
BY SYSTEM STARTIME SRVCLASS RPRTCLAS;
DATA MXGSUM1; SET MXGSUM1A;
BY SYSTEM STARTIME SRVCLASS RPRTCLAS;
IF NOT FIRST.RPRTCLAS THEN DURATM=.; ,
but that not only cost the sort and extra data pass,
it also removed the /VIEW. And, perhaps worst, the value
of DURATM in the output dataset was not always the 10 min
desired - if a Service Class was only used for one 5 min
period that interval had DURATM of 5 minutes with INCODE.
-Originally, originally, the INCODE kept PERIOD=1 obs, but
there are PDB.TYPE72GO observations with only PERIOD=2;
MXG only creates observations if the service class was in
active use during an interval.
Thanks to Scott Weiner, Wisconsin Physicians Service, USA.
Change 27.267 -These variables in TYPE42X1 and TYPE42X2 are now MGBYTES.
VMAC42 formatted:
Sep 23, 2009 SMF42JON SMF42JOO SMF42JOP SMF42JOR SMF42JOS SMF42JOT
SMF42JOV SMF42JOW SMF42JOX SMF42JOY SMF42JOZ SMF42JQG
SMF42JQH SMF42JQI SMF42JQJ SMF42JQK SMF42JQL SMF42JQM
SMF42JQN SMF42JRA SMF42JRB SMF42NSZ SMF42SAP SMF42SPR
Dataset Labels for TYPE42Xn now match Change 27.062.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.266 VMXGALOC did not create a new weekly directory when it
VMXGALOC should have, and it did not create the WTD (week to date)
Sep 24, 2009 folder at the beginning of the week, nor did it create
Oct 2, 2009 the MTD (month to date) folder at the beginning of the
month, but now it does.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA
Change 27.265 -ASMRMFV incorrectly issued RMFV005E ERROR INVALID PARM=0
ASMRMFV when sequence numbers were in columns 73-90 of SYSIN.
Sep 22, 2009 -Notes that PARM values are needed only once were added.
Thanks to Doug Medland, IBM Global Services, USA.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.264 -z/VM MONWRITE example to process only the USER Domain
VMACVMXA data, and to create only PDB.VXBYUSR and PDB.VXSUMUSR
VMXGINIT output datasets required updates to VMACVMXA because the
Sep 21, 2009 VXSUMUSR's output MACRO _SVMSUMU wasn't undefined.
-This example can then be used to read only Domain 4 and
create only PDB.VXBYUSR and PDB.VXSUMUSR in //PDB:
//MWINPUT DD DSN=YOUR.MONWRITE.DATA.FILE,DISP=SHR
//PDB DD DSN=YOUR.ZVM.OUTPUT.PDB,DISP=OLD
//SYSIN DD *
%VMXGINIT(DEFAULT=WORK);
%LET PVMBYUS=PDB;
%LET PVMSUMU=PDB;
%LET MACKEEP= MACRO _VMRPT % ;
%LET MACVMXH=
%QUOTE(
IF MRHDRDM NE 4 THEN DO;
INPUT +SKIP @;
SKIP=0;
MRHDRDM=-99;
MRHDRRC=-99;
GOTO MWENDIT;
END;
);
%INCLUDE SOURCLIB(VMACVMXA,IMACKEEP);
_TESTMW;
RUN;
Thanks to Doug Wells, First National Bank of Omaha, USA.
Change 27.263 Variable R744FNAM, the Coupling Facility Name, was not
VMAC74 kept in TYPE74DU (Duplex Coupling Facility). Any ITRM
DOC sites using dataset XTY74DU created by MXG macros need to
Sep 21, 2009 update their ITRM dictionary. Fortunately, MXG's R744FNAM
already exists as ITRM name R744FNA (in XTY74CF,XTY74ST),
and it will be added in ITRM's next dictionary update,
but it can easily be added (with help from ITRM techie!):
Run the below example to execute the ITRM CPDDUTL %macro
(the data dictionary utility) to add the variable to the
table. The example uses the CPCAT macro twice to create
the catalog entry with the necessary control statements
that are input to the cpddutl macro:
%cpcat;
cards4;
SET TABLE NAME=XTY74DU ;
CREATE VARIABLE NAME=R744FNA
EXTNAME=R744FNAM
LABEL='Name of Coupling Facility'
DESCRIPTION='Name of Coupling Facility'
TYPE=CHARACTER
LENGTH=8
INTERPRET=STRING
KEPT=YES ;
;;;;
%cpcat(cat=WORK.ddutl.ddutl.source);
%cpddutl(entrynam=work.ddutl.ddutl.source);
Run the above in a regular ITRM batch job that uses
CPSTART to point to your PDB with DISP=OLD, but do not
include other CMPROCES, CPPROCES or CPREDUCE macros.
Thanks to Yacine Amraoui, Banque Postale, FRANCE.
Change 27.262 ASUMMIPS is enhanced to add MSU and MIPS for zIIPs, zAAPs
ASUMMIPS to the existing CP variables.
Sep 18, 2009
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.261 -Variable QBMCTEXT in T1028005 dataset from TMON/DB2 is in
VMAC102 ASCII text, so the INPUT statement was revised.
Sep 18, 2009 -QW0343xx variables are now INPUT and KEEP in T102S343.
-Additional info on the IFCID 005 (T1028005) - SQL text
and IFCID 307 (T1028133) - SQL Stmt Sum (All Qualifiers).
There is no 1-1 relationship between those two files,
especially for dynamic SQL. All SQL text collected is
found in T1028005. When the same SQL statement is
executed more than once, only one observation is created
in T1028005. In T1028133, for each unique collection key,
there is a separate observation. So when user A, B and C
execute the same SQL-stmt (plan/package/stmt), there will
be 3 T1028133 observations (one for each user), but there
will only be one observation in T1028005
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Thanks to Paul Volpi, UHC, USA.
Thanks to James J. Burnes, UHC, USA.
Change 27.260 This elegant contributed algorithm uncompresses CICS/TS
VMAC110 SMF records using SAS statements in VMAC110 that expands
Sep 21, 2009 the SAS _INFILE_ Buffer, using _INFILE_ Special Variable,
Oct 4, 2009 so this algorithm works on z/OS or on any ASCII Platform,
Nov 4, 2009 since it's just SAS code!
********WARNING INSERTED NOV 5, 2009*******************
Unfortunately, this elegance comes at great CPU expense:
While the original change text did warn that:
But the "instream" algorithm may be more CPU intensive
than EXITCICS, so, if you are processing on z/OS, you
may find the EXITCICS algorithm preferable.
only now, with files of 100% compressed records, has the
cost been measured: TWELVE TIMES MORE CPU TIME than
using the (written in ASM code) EXITCICS Infile Exit.
With the INFILE exit, it has already uncompressed the
record, so the SAS decompression code is not executed.
********WARNING INSERTED NOV 5, 2009*******************
Previously, to read compressed CICS/TS 3.2+ SMF records,
you had to assemble MXG's EXITCICS member to create the
CICS "Infile Exit", which can ONLY execute on z/OS.
This algorithm is both automatic and transparent, and, if
the EXITCICS Infile Exit is installed, it will have
already expanded the record, so this "instream" algorithm
won't be executed.
But the "instream" algorithm may be more CPU intensive
than EXITCICS, so, if you are processing on z/OS, you may
find the EXITCICS algorithm preferable. SEE BELOW.
-The Maximum Record Length printed on the SAS log shows
the uncompressed length with EXITCICS, but shows the
maximum compressed length with this expansion algorithm.
-Compressed 110 SMF records can be processed by WPS 2.04,
which added the _INFILE_ Special Variable.
The authors describe their work:
-The compression algorithm used is a simple RLE (Run
Length Encoding) as follows:-
-All compressed data consists of an INDICATOR/LENGTH byte
that is followed by data byte(s). This combination of
indicator/length byte and data byte(s) is repeated until
the end of the compressed data.
-The INDICATOR byte/bit flags the presence of compressed
data by having the TOP Order bit set on. The remainder
of the byte will indicate the length of the uncompressed
data.
-An indicator byte of '80'x (always the first byte of the
compressed field) indicates Compressed data of length
ZERO. There is NO following data byte!
-An indicator bit of '1nnnnnnn'B is followed by a single
data byte that is to be repeated '0nnnnnnn'B times into
the output buffer.
-An indicator bit of '0nnnnnnn'B indicates that the
following '0nnnnnnn'B bytes are simply copied from the
compressed record to the uncompressed buffer.
-This compression algorithm was determined by a few Google
searches and observations of the compressed data and did
not involve any non public knowledge of IBM's processing.
Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
the authors, and, for the CPU measurements on z/OS,
Thanks to Scott Chapman, American Electric Power, USA.
Change 27.259 Support for TMON FOR DB2 Records 'BA','BJ','BK','BL','BM'
VMACTMDB now decode the record-specific fields; previously, only
Sep 17, 2009 the headers were decoded for these subtypes.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 27.258 Support for ACF2 SUBTYPE='O' OPENEDITION record creates
EXACFOR new ACFOR dataset.
IMACACF2
VMACACF2
VMXGINIT
Sep 16, 2009
Oct 8, 2009
Thanks to Steven Nelson, IBM Global Services, USA.
Change 27.257 Cosmetic. MXG added ***ERROR. SMF RECORD SUBTYPE GT 255
VMACSMF messages when an impossible value for one-byte SUBTYPE is
VMACMIM found when VMACSMF processes an SMF record with the flag
Sep 16, 2009 that the subtype field is populated, but it is at best
only a WARNING message that MXG has corrected the SUBTYPE
variable to the one-byte in byte 19 instead of byte 20.
This is important if you use IMACFILE or %LET MACFILE=
to select/skip SMF records based on SUBTYPE, or if the
SMF record with invalid subtype actually tests SUBTYPE.
-One WARNING ID=189 was flagged with the message, used
for the MIM SMF record; VMACMIM was examined and since
MXG variable SUBTYPE was not tested in that member, there
was no problem. However, the MIMSUTYP was incorrectly
as a two-byte value, so even though it was also not also,
VMACMIM was corrected, in case it's ever needed.
-I haven't (yet) figured out how to turn the warning off,
or maybe decide I should just remove it.
- it needs to precede IMACFILE, so the true subtype will
be populated in SUBTYPE for testing in that exit.
- some IBM records with fixed ID are already corrected
prior to the IMACFILE exit.
- IMACFILE is where you would expect to turn it off.
Thanks to Robert Blackburn, Dominion Resources Services, Inc, USA.
Change 27.256 The QACSLPAR file has 20 undocumented bytes after LPVRM;
VMACQACS the first eight are the SYSTEM ID, new variable LPSYSTEM,
Sep 14, 2009 and the next 12 bytes are skipped, for iSeries V5.4.0.
Thanks to David Bixler, FISERV, USA.
Change 27.255 -Variable SM1209CY is now RETAINed and KEEP= in all four
VMAC120 TYP1209x datasets, as that Enclave Token is needed to
Sep 14, 2009 combine records.
-Variable SM1209FI is now correctly input as &PIB.8.3 and
the divide by 4096 for SMF1209EV and SMF1209FI were
incorrect and are removed.
Thanks to Steiner Amot, VPS ASA, NORWAY.
Thanks to Bjorn Helgestad, VPS ASA, NORWAY.
Change 27.254 Members that read files with an INFILE statement that had
VMACMRKV only LRECL and BLKSIZE now use a Platform-Specific %MACRO
VMACPRPR to set RECFM=VBS on z/OS and RECFM=S370VBS on ASCII.
VMACTSMA See Change 27.311, which removed this change for NTSMF.
VMACNTSM
Sep 14, 2009
Change 27.253 SMF74NID (a/k/a SMF74DCT) is a 28-character field with
VMAC74 26 $EBCDIC text bytes, and two $HEX bytes at the end.
Sep 13, 2009 The final byte appears to always be '00'x, which doesn't
translate, but the penultimate byte has many different
hex values, which may or may not be changed when INPUT
as $EBCDIC, depending on the hex value of that byte.
This change inputs the first 26 as $EBCDIC26., but the
last two bytes are INPUT as $CHAR2. and then SUBSTRinged
back into SMF74NID, to prevent accidental translation.
Of course, those last two hex values may be unprintable
and could cause other problems if they are imported into
other programs; using FORMAT SMF74NID $HEX56.; would
prevent the unprintables, but the text would not be
readable to the human eye.
Thanks to Peter Enrico, Enterprise Performance Strategies, Inc, USA.
Change 27.252 Formats for many duration variables were not TIMEyy.x;
VMXGRMFI all of the duration variables are how TIME12.2 except for
Sep 13, 2009 BATRESP and TSORESP that are TIME13.3.
Change 27.251 -RMM processing now supports all possible date formats:
IMACEDGR RHDTFORM DESCRIPTION EXAMPLES
VMACEDGR A AMERICAN 12/31/1999 MM/DD/YYYY
Sep 11, 2009 E EUROPEAN 31/12/1999 DD/MM/YYYY
Sep 15, 2009 I ISO 1999/12/31 YYYY/MM/DD
Sep 17, 2009 J JULIAN 1999/365 YYYY/DDD
The original _EDGRDTE macro is no longer used.
-The Retention field RDRETCHR or RVRETCHR can contain text
non-date values of CATRETPD or CYCL/99999 or WHILECATLG.
RDWILCAT/RVWILCAT='Y' already existed for WHILECATLG; new
variables RDCYC999/RVCYC999/RDCATRET/RVCATRET are created
and the DATE variables RDRETDAT/RVRETDAT will be missing
values, if xxRETCHR has any of those 3 text values.
-An Original Expiration Date with 00/00/1999 (or any other
non-date value) is stored in new character variable
RDEXPDCH, and the DATE conversion is protected for '00'.
The value of RDEXPDTO will be a missing numeric date
value if RDEXPDCH contains a non-date value.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 27.250 Protection for UNKNOWN TOKDANAM printed a message, but it
VMAC80A failed to prevent INPUT STATEMENT EXCEEDED RECORD LENGTH.
Sep 11, 2009 Protection now works.
The RDEFINE CFIELD statement can be used to define custom
fields and their attributes, with locally chosen names;
these new variables in TYPE80TK are populated if found
TOKTYPE ='TYPE'
TOKMAXLE='MAXLENGTH'
TOKFIRST='FIRST'
TOKOTHER='OTHER'
TOKHELP ='HELP'
TOKMIXED='MIXED'
TOKLISTH='LISTHEAD'
TOKURTLA='URTLABEL'
and these observations have TOKSUSBY='CFDEF' to identify
they are locally defined fields.
Thanks to Coen Wessels, IBM SWITZERLAND.
Thanks to Pierra Beda, IBM SWITZERLAND.
Change 27.249 Variable R747PAVG='RMF REPORT*AVERAGE*FRAME*PACING' is
VMAC74 created as R747PAVG=10**6*(R747PFPT/R747PNFT); to match
Sep 10, 2009 the value printed on RMF Reports.
Thanks to Robert Brosnan, Goldman Sachs & Company, USA.
Change 27.248 Change 27.165's insertion of VMXGOPTR cause the I/J vars
VGETDDS that were local to VGETDDs to be overridden by the I/J
VMXGOPTR vars used in VMXGOPTR causing looping and unexpected
Sep 10, 2009 results. Variable names in VMXGOPTR/VGETDDS were changed.
Sep 11, 2009 -Before, if you asked for GOOVOO, or DATEBASE, or GDGs, it
allocated all of them (ensuring they were there) and then
went thru the DDNAMES logic to ensure they were there.
Sort of silly really. Now if you ask for GOOVOO, DATES,
etc., it allocates the datasets and keeps track of them,
so now, the only time it goes thru the DDNAMES logic is
when that argument is used.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 27.247 FLAG1 tests for HyperBuf optional segments overlapped,
FORMATS causing some optional variable to be populated when they
VMACHBUF should have been missing; DATALAS-ESTDBUFS if FLAG1='1.'
Sep 9, 2009 and EXCPIPTH-INDXCISZ if FLAG1='.1'. The three tests are
now '10', '11', and '01' to only appropriately input.
-New $MGHBUFT format decodes FLAG1 to identify the type of
optional segment, if any, in this record.
Thanks to MP Welch, SPRINT, USA.
Change 27.246 Change 27.127 added KEEP= to TAPES, but variables DSN
DAILYDSN DSNBACTV and STPNAME were not kept, causing UNINITIALIZED
Sep 9, 2009 VARIABLE messages.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 27.245 zIIP and zAAPs are added to SAS/GRAPH hourly workload
GRAFWRKX reports, using PDB.RMFINTRV.
Sep 8, 2009
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.244 Variable OTRANNUM in VMAC110 was correctly input &PD.4 if
VMAC110 IMACEXCL was used, but the default INPUT without IMACEXCL
Sep 8, 2009 was incorrectly input as &PIB.4.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 27.243 Cosmetic, and only for MXG QA. SAS Option CHARCODE is
FORMATS enabled in FORMATS (Change 13.319) so that two-character
Sep 7, 2009 operators ?< and ?> can be used on both EBCDIC and ASCII
in place of Left Squiggly and Right Squiggly Brackets,
where they are needed for valid syntax for OTHER operand.
This change reinstates the default Option NOCHARCODE at
the end of FORMATS. The observed problem was seen only
in the single-step QA job (which begins with FORMATS);
with CHARCODE left enabled, the label of two variables
(TDSL12TY and QW0350SL), that happened to contain ?) text
were changed by CHARCODE to a right squiggly bracket, so
QA labels in DOCVER were NOT the actual variable labels.
These two-character operators are CHARCODE-translated:
Symbol Two-Character Operators
backquote (`) ?:
backslash (\) ?,
left brace ({) ?(
right brace (}) ?)
logical not sign (¬ or ^) ?=
left square bracket ([) ?<
right square bracket (]) ?>
underscore (_) ?-
vertical bar (|) ?/
Change 27.242 -Elimination of Numeric to Character Conversions in tests
ASUMCICS for VGETOBS.
ASUMCICX -If MXGMQADD=NO was specified but the _INMQ macro was not
VMXGUOW nulled, UNINITIALIZED VARIABLE messages were printed for
Sep 8, 2009 all of the MQ variables.
Sep 28, 2009 -If CICSTRAN has zero observations, PDB.ASUMUOW cannot be
populated, but it will be created with zero observations,
and MXGERROR message is printed on the log, and reading
of DB2ACCT/MQ data will not be done.
-Variable MQTRAN created in PDB.ASUMUOW to count MQs.
-Variable CPUMQMTM created in PDB.ASUMUOW as the sum of
QMACCPUT (now zero) WTASOTCT, WTASCMCT, and WTASBACT.
-Variable CPUUOWTM created in PDB.ASUMUOW as the sum of
CPUTM (CICS), DB2TCBTM (DB2) and CPUMQMTM (MQ-Series).
-Variable CPUTM (TASCPUTM+CPURLSTM) is created in PDB.CICS
by either ASUMCICS or ASUMCICX.
-VMXGOPTR stashing/revisions for OBS=0.
Change 27.241 SMF 80 record for RACFEVNT=79 with EXTLNTYP=379 segment
VMAC80A with EXTLNLEN=130 caused INPUT STATEMENT EXCEEDED RECORD
Sep 7, 2009 LENGTH ERROR because MXG only INPUT RACF379 $VARYING128.
The INFORMAT in that INPUT is now $VARYING255.
Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.
Change 27.240 Cosmetic. Five R745Vxxx variables were added in 2000 to
VMAC74 TYPE74CA dataset, but the "DEVICE LSA SECTION" doesn't
Sep 7, 2009 exist and those variables are always missing or blank.
Their labels were changed, especially R745VSER, to avoid
confusion, and now are:
R745VBYW='R745VBYW*ALWAYS MISSING*DOES NOT EXIST
R745VFLG='R745VFLG*ALWAYS BLANK*DOES NOT EXIST
R745VNTR='R745VNTR*ALWAYS MISSING*DOES NOT EXIST
R745VNUM='R745VNUM*ALWAYS MISSING*DOES NOT EXIST
R745VSER='R745VSER*ALWAYS BLANK*DOES NOT EXIST
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Change 27.239 MXG's full QA stream executes successfully with WPS 2.4
AUTOEXEW under both z/OS 1.9 and Windows/XP; essentially all MXG
MXGWPSV2 programs are now executable under WPS 2.4.
UTILSPAC
VMACEREP These changes are made in WPS 2.4:
VMACSMF -The runtime performance problem with PROC SQL has been
VMXGVTOC corrected, so the testing of the ANALCISH member with
Sep 6, 2009 REPORT=ALL is reinstated in the WPS QA job stream.
Oct 8, 2009 -The PROC PLOT option VPOS is now recognized.
Oct 13, 2009 -The option MAUTOLOCDISPLAY is now recognized.
-The INFILE option CCHHR is supported; circumvention code
that bypassed for QA execution is now revised to test
for &WPSVER GE 2.04 so these programs can now be used on
z/OS: TYPEEREP, VMXGVTOC, and UTILSPAC.
-The _INFILE_ Special Variable is now supported.
-Change 27.110 lists the other MXG programs that cannot
be run as-is with WPS; WPS replicates SAS V8.2, so the
new-in-SAS V9 features are, in general, not supported.
-For z/OS, the MXG JCL procedure MXGWPSV2, the DSNAME for
the WORKMDL='HLP.WPS.SASHELP' replaces WPSDATA because
Model datasets are no longer specified during install.
-The member AUTOEXEW is the example "autoexec" for WPS;
the members AUTOWPS and AUTOEXWP were only for testing
and have been deleted.
-The comments were revised in AUTOEXEW to identify options
that WPS does not currently support; none are required:
WPS 2.4 added supports these OPTIONS
OPTIONS MAUTOLOCDISPLAY;
OPTIONS SORTSEQ=ASCII;
OPTIONS VALIDVARNAME=V7;
-On z/OS, WPS requires a larger REGION size than SAS, with
BUILDPDB needing REGION=230M while SAS used REGION=125MB.
For the full QA job, however, WPS needed a REGION=1200MB,
while SAS V9.2 needed REGION=165MB. WPC will investigate
why that large region was required, but it appears to be
unique to the MXG QA job, which executes over 20,800 DATA
and PROC steps. A large region requirement has not been
reported as an issue by any site running MXG under WPS.
WPS QA took 120 CPU minutes, SAS QA took 53 minutes, on
a z/OS machine with SU_SEC=10000.
-Oct 30: WPS 2.4 supports the FILENAME=variable option on
the INFILE statement, so VMACSMF was revised.
Change 27.238 ERROR: SRCE1 HAS ALREADY BEEN DEFINED AS NUMERIC if some,
ANALDB2R but not all of the AUDIT sub-reports were requested.
VGETOBS The repair led to a MAJOR cleanup of ANALDB2R that also
VMXGSUM significantly reduced the run time (from 5 minutes to
VFMT102 a few seconds for the AUDIT reports).
Sep 6, 2009 Originally:
-Data step creates DB2WORK as union of all input datasets
-Data step creates DB2WORK1 TIMES from DB2WORK
-SORT DB2WORK1 (with MANY variables, long times possible)
-SORT TIMES
-MEAN TIMES into TIMERNGE
-Data step creates PREPRINT merging DB2WORK1 TIMERNGE
-DATA _NULL_ data step does printing
Now
-For each audit type if the data is present and non-zero
OBS View into SORT
-TIME view using datasets created into SORT
-MEANS of TIME into TIMERNGE
-Data step creates view PREPRINT using only the datasets
created in first section and TIMERNGE
-DATA _NULL_ step does printing code for datasets that
does not exist is never generated
-The DATABASE= argument did not select for AUDIT reports.
Note that if the SMF data does NOT include the open event
record (opened before the beginning of this SMF data),
the printed database will be the undecoded hex value,
and won't be the decoded database name in text.
-The VGETOBS, VMXGSUM, VMFT102 members were NOT altered in
this change, but their new updates (Changes 27.237,
27.234, 27.236) are required to support this change to
ANALDB2R.
Thanks to Sam Knutson, GEICO, USA.
Thanks to Henry Boone, GEICO, USA.
Change 27.237 Enhancement. If no DDNAME argument (zero length) then
VGETOBS the DATASET argument is examined and if is x.y, it will
Sep 5, 2009 be split into DDNAME and DATASET so the PROC SQL can be
Sep 28, 2009 invoked. If DATASET contains x.y syntax AND there is a
DDNAME argument present, VGETOBS will fail with message
that that is not allowed.
Change 27.236 Cosmetic corrections to eliminate character to numeric
VFMT102 conversion messages; VFMT102 in ANALDB2R, and ANAL30DD.
ANAL30DD
Sep 5, 2009
Change 27.235 These six variables in MQMQUEUE are now converted to the
VMAC116 local time zone; previously, they were on GMT:
Sep 4, 2009 WQOPENTI WQCLOSTI WQTTTIME WTASSTRT WTASINTS WTASINTE
Oct 12, 2009 The algorithm used to calculate the GMTOFF in the absence
of the actual value in the record now used is:
GMTOFF=3600*FLOOR(100*(FLOOR(SMFTIME/100)
-FLOOR(WTASINTE/100))/3600);
and the correction would then be:
WTASINTE=WTASINTE+GMTOFF; .
Change 27.234 VMXGSUM is revised so an OUTCODE= argument is not needed
VMXGSUM in many cases where it was previously required, so those
Sep 5, 2009 VMXGSUM callers that could be revised to remove OUTCODE=
are changed, thereby eliminating the second DATA step,
and, a full pass of the output dataset.
Previously OUTCODE= arguments were needed to set LENGTH
and FORMATs, but the SAS V8 INHERIT option made the extra
step unnecessary.
-The second data step can be skipped if INTERVAL= NE NONE
and the DATETIME= argument's variable is in the BY list.
-Conditions that will force the second data step:
%IF &NUMNORM NE 0
OR &ERASEOUT NE NO
OR %LENGTH(&OUTCODE) NE 0
OR %LENGTH(&OUTCODE1) NE 0
OR %LENGTH(&OUTCODE2) NE 0
OR %LENGTH(&FREQ) NE 0
OR %LENGTH(&DURATM) NE 0
OR &INTERVAL NE NONE
OR &NEWSHIFT EQ Y
OR &SASVER LT 7
Change 27.233 Debugging PUT statement now commented out.
VMAC117
Sep 4, 2009
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.232 TMON/DB2-created SMF 101 Subtype 0 record has an invalid
VMACDB2 OFFQLAC value, @1875 vs the real @1879 location, and the
Sep 3, 2009 extra 4 bytes were added to make QLACLEN=232 when only
228 bytes are actually present. Unfortunately, QLACLEN
of 232 says the QLACOFF1 offset to a "truncated QLACLOCN
field" exists in two of those last 4 bytes, so MXG INPUT
the QLACOFF1 offset and attempted to INPUT, causing an
INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR. This
(possibly temporary) change detects the record is NOT an
IBM record (because OFFQLAC is GT OFFPROD), adds 4 to
OFFQLAC and subtracts 4 from LENQLAC so MXG can input the
mis-aligned record, and sets TMDBQLAC='Y' flag that this
was done.
-QLACMDWT is a binary value in the TMON/DB2 record, but it
is a floating point value in IBM records, so this change
uses TMDBQLAC if set to INPUT the incorrect informat.
-Support at TMON/DB2 will be contacted and this text will
be updated when they respond.
Thanks to Mary Vollmer, MGIC, USA.
Change 27.231 The four listed ASUMs did not create variable ZDATE/ZTIME
ASUMDB2P while the other thirty-seven ASUMs did.
ASUMDB2S
ASUMDB2G
ASUMDB2S
Sep 3, 2009
Thanks to Denise Willers, InfoCrossing, USA.
Change 27.230 Variable LASTCLAS in IMF dataset CIMSPROG (from 'F9'x)
VMACCIMS was incorrectly INPUT @77 as $CHAR1, but it is now INPUT
Sep 2, 2009 @76 as $CHAR2 and formatted $HEX4.
Thanks to Brian Cummings, Federal Reserve Information Technology USA
Thanks to Fritz Zeigler, Federal Reserve Information Technology, USA
====== Changes thru 27.229 were in MXG 27.08 dated Sep 1, 2009========
Change 27.229 Support for z/OS 1.11, COMPATIBLE.
EXTY8224 -TYPE 0. New variable:
EXTY8225 CVTTZ ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'
EXTY8226 -TYPE1415. NO NEW DATA, but lots of text inserts about
IMAC82 assembling the IFGSMF14 Macro with DSECT=YES, which is
VMAC0 why it is flagged in the SMF Manual as changed.
VMAC82 -TYPE30. NO NEW DATA, only one line of text updated.
VMXGINIT -TYPE82. New subtypes 24, 25, and 26.
May 2, 2009 -TYPE92. Subtype 15 now documented, but MXG supported
Sep 2, 2009 was added in Change 26.277 for APAR OA24208.
-TYPE1415 New variables DCBEEX31 XTIOTYES created from
SMF14FLGS.
-Dec 3, 2009: CHANGE 27.325 is required for z/OS 1.11.
Change 27.228 Support for APAR OA30197, adds SMF30ASI, new MXG variable
VMAC30 ASID in ID Segment of all SMF 30 records. Kept in the
Sep 1, 2009 TYPE30 ASID-level datasets (_1,_4,_5,_V,_6).
Change 27.227 Observations were not output because DO loop logic was
VMACINSY incorrect for the INSYAUID='D' records. Variable INSYATA
Sep 1, 2009 is now converted to EBCDIC text.
Thanks to Mark Cohen, DTS, ITALY.
Change 27.226 Dataset T112DTCO, DATACOM DETAIL, variables were invalid
VMAC112. due to misalignment. Dataset T112MQCT variable MATTACH
Aug 31, 2009 and dataset T112DTCT variable DATTACH were INPUT $CHAR8,
but they are now seen to be TODSTAMP values, so they are
changed from CHAR to NUM and formatted DATETIME25.6, and
are observed to be slightly prior to the UOWTIME.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 27.225 Cosmetic. Long messages (listing all requested reports)
ANALRMFR are split and shifted left for readability, and the list
Aug 31, 2009 of valid INTERVAL= values was updated.
Change 27.224 Eight new IBM fields starting with R7452xxx were named in
VMAC74 MXG as R7451xxx, accidentally, as all of the other fields
Aug 31, 2009 in that segment are IBM-named R7451xxx. But these eight
R7452XTY R7452XFL R7452PRO R7452PWO R7452PBR
R7452PBW R7452PRT R7452PWT
are all a second field name for the same field location,
and apparently IBM decided to note that difference by
naming them with a 2 vs a 1. In any event, to match the
SMF Manual field names in the MXG Variable names, those
eight are now named with a 2 instead of a 1.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 27.223 New "TOP" DB2 Report ranks resource usage by correlation
ANALDB2T id and authid, for these resource metrics:
Aug 30, 2009 CLASS*1 CPU*RANK
CLASS*2 CPU*RANK
ELAPSED*RANK
GET*PAGE*RANK
TOTAL*GET*PAGES
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.222 Support for NDM-CDI NDMRTYPE 'SC' and 'S2' records. The
FORMATS two datasets NDMSC and NDMS2 were already created, but
VMACNDM they only contained the header variables until now.
Aug 30, 2009
Thanks to Robert S. Zimmerman, HMS, USA.
Change 27.221 Support for zOSEM Operating System Environment Manager
EXOSEMCM from Trident Services user SMF record creates 3 datasets:
EXOSEMRE
EXOSEMWT DATASET DATASET DATASET RECORD
FORMATS SUFFIX NAME LABEL SUBTYPE
IMACOSEM
TYPEOSEM OSEMCM OSEMCMD OSEM FEMCNTL CMD 1
TYPSOSEM OSEMWT OSEMWTO OSEM FEMWTO CMD 2
VMACOSEM OSEMRE OSEMRES OSEM JES2 EXIT44 3
VMXGINIT
Aug 30, 2009
Thanks to Larry Stahl, IBM Global Services, USA.
Change 27.220 MXG 27.06-27.07. %ANALCNCR failed if INDATA= specified
ANALCNCR more than one dataset. "Cosmetic" protection was added
BUIL3005 by Change 27.165 to verify that the input dataset exists,
BUILD005 to avoid DATASET NOT FOUND errors, but it only parsed the
MNTH72 1st INDATA (to get DDNAME and DATASET to pass to VGETOBS,
TRND72 as PROC SQL which requires separate arguments). Now,
Aug 29, 2009 each token in the INDATA= argument is parsed & verified.
If all datasets have zero observations, an MXGWARN is
produced at the beginning and if there are zero obs in
the output dataset another MXGWARN will appear.
If all datasets in the INDATA= do not exist, %ANALCNCR
will stop processing, but if one or more do exist, the
output dataset will be created and populated if possible,
but MXGWARN messages will identify which INDATA= datasets
did not exist. Prior to Change 27.165, multiple datasets
were supported because the only INDATA reference was the
SET &INDATA; statement which read all of the input, but
that statement failed if any input dataset did not exist.
-The only MXG member that invokes %ANALCNCR with multiple
INDATA= datasets is ANALHTML, which exposed this error,
with its INDATA=PDB.STEPS SPIN.SPIN30_4, statement.
-In testing the new %ANALCNCR with ANALHTML, SAS printed
warnings that MSOUNITS had different lengths in those two
datasets. Investigation found MSOUNITS & SERVICE weren't
always stored in 8 bytes, so updates were made to members
BUILD005 BUIL3005 MNTH72 and TRND72 so that all instances
of variables MSOUNITS and SERVICE are now LENGTH 8.
-All INTERVAL= arguments that specify an interval token
with a fixed-length interval duration are supported.
TIMER is set to the interval and SYNCINTV=YES is used
(but that could be overridden in your %ANALCNCR).
Thanks to Tony Curry, BMC, USA.
Change 27.219 TYPE11GD dataset variables CTGIAVRS and CTILAVRS were
VMAC111 reversed in their INPUT locations.
Aug 28, 2009
Thanks to Jim Poletti, Edward Jones, USA.
Thanks to Gordon E. Griffith, Edward Jones, USA.
Change 27.218 Variable SMF70LAC in PDB.RMFINTRV was the maximum value
VMXGRMFI during the sub-intervals that were summarized; it is now
Aug 28, 2009 the average value, so it matches PDB.ASUMCELP values.
However, the RMF reports may print that Maximum value of
any inputted sub-interval.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.217 PDB.TYPE70PR with SMF70CIN blank but SMF70ONT nonzero was
VMAC7072 created if the last LPAR was offline (LPARCPUX=0). That
Aug 28, 2009 caused NRCIXGT0 to be a missing value, so the second test
IF NRCIXGT0 GT 0 THEN ... was not executed. That second
test is now redundant, as SMF70CIX always exists now, so
that IF ... END was removed. Error was introduced in
MXG 27.03 by Change 27.075.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 27.216 Change 27.126 accidentally removed SYTLPNAM from the KEEP
VMACXAM list for XAMSYT dataset, and left it in the KEEP list for
Aug 28, 2009 the XAMSYU dataset.
Thanks to Douglas C. Walter, Citigroup, USA.
Thanks to Tony Curry, BMC, USA.
Change 27.215 TMON/CICS Version 3.1 INPUT STATEMENT EXCEEDED RECORD
VMACTMO2 error with 'TI' (Statistics Interval) record; the segment
Aug 26, 2009 of data starting with TIMQSOPC exist in 3.1, but MXG only
input those fields for TMMDVREL GE 3.2; the test before
that INPUT statement was changed from 3.2 to 3.1.
Thanks to Dianne Dunklau, Kohls, USA.
Change 27.214 Summarized RMFINTRV/ASUM70PR output datasets could have
VMXGDUR the STARTIME/SMF70GIE values early by one INTERVAL unit
VMXGRMFI (e.g., data STARTIME midnight, INTERVAL=HALFHOUR caused
VMXG70PR output STARTIME of 23:30) after Change 27.178 used the
Aug 28, 2009 SMF70GIE vice STARTIME (because of unstable STARTIMEs).
Note Jan 21, 2010: "Unstable as in exactly one second
Nov 10, 2009 later than the expected Start of Interval."
ASUM70PR -A new argument FLORCEIL=FLOOR/CEIL is added to VMXGDUR
ASUMCAPT with FLOOR (unchanged) as the default, and the %VMXGDUR
ASUMMIPS calls in VMXGRMFI and VMXG70PR that interval the
ASUMSMFI SMF70GIE/SYNCTIME end times now specify FLORCEIL=CEIL.
No user had reported/noticed this error (yet!).
The rest of this text was REVISED when CHANGE 27.308
reset the SYNC59=NO default back in place in MXG 27.10:
-For summarizing INTERVAL data ONLY (RMFINTRV, SMFINTRV,
CICINTRV, etc datasets with existing interval start/end):
If you still specify SYNC(59) to write Interval data in
minutes 59,14,29,44, the SYNC59=YES parameter can be used
to change the DATETIME to "pretty" 00,15,30,45 startimes.
This is needed when SYNC(59) is in SYS1.PARMLIB members
SMFPRMxx or ERBRMFxx in SYS1.PARMLIB.
Using the FLORCEIL=FLOOR to calculate the interval start,
with SYNC(59) data and INTERVAL=HOUR, for time 19:59:
SYNC59=YES adds one minute to DATETIME, so 19:59 becomes
20:00, and the FLOOR(DATETIME) sets 20:00 as the Start.
This is correct, hour 20 for the 19:59-20:58 interval.
SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME)
is 19:00 for the Start, WHICH IS THE WRONG HOUR!!!
SYNC(59) data REQUIRED SYNC59=YES for correct output.
Using the FLORCEIL=FLOOR to calculate the interval start,
consider SYNC(00) data and INTERVAL=HOUR, for time 20:00:
SYNC59=YES adds one minute to DATETIME, so 20:00 becomes
20:01, but the FLOOR(DATETIME) sets 20:00 as the Start,
which is what you wanted, even though the data is (00).
SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME)
sets 20:00 as the Start, WHICH IS ALSO WHAT YOU WANTED.
But, using the FLORCEIL=CEIL to calculate interval end,
SYNC59 must NOT be used. With datetime 19:59 or 20:00,
the CEIL(DATETIME) returns 20:00 with SYNC59=NO. But if
SYNC59=YES added a minute here, then 20:00 would be 20:01
and CEIL(DATETIME) would then (INCORRECTLY) be 21:00.
Therefore, when using FLORCEIL=CEIL, VMXGDUR does NOT
change the value in DATETIME before the CEIL(DATETIME),
even if SYNC59=YES was specified.
Only ASUM70PR/VMXG70PR and RMFINTRV/VMXGRMFI currently
use the FLORCEIL=CEIL option to group by End Interval,
but only internally; the final sorts are BY STARTIME.
-These members were changed from SYNC59=NO to SYNC59=YES:
ASUM70PR ASUMCAPT ASUMMIPS ASUMSMFI VMXG70PR VMXGRMFI
-THE PRECEDING IS ONLY FOR SUMMARIZING INTERVAL DATA.
-FOR DETAIL TRANSACTIONS, SYNC59=NO MUST ALWAYS BE USED.
MXG 27.08 CHANGED TO SYNC59=YES IN VMXGDUR.
(This caused PDB.CICS transaction's HOUR to change.)
MXG 27.10 RESTORED THE SYNC59=NO DEFAULT IN VMXGDUR.
Change 27.213 HFS and zFS EXCPs are counted in EXCPTOTL and EXCPNODD
BUILD005 (see MXG Newsletter FIFTY-FIVE, MVS Technical Note 1)
BUIL3005 but there are no DD Segment EXCP counts for HFS/zFS, so
VMAC30 you don't know how much of EXCPNODD is due to HFS/ZFS, so
Aug 21, 2009 you can't subtract the HFS/ZFS EXCPS from EXCPTOTL.
Sep 1, 2009 This change creates four new variables in TYPE30_V and
TYPE30_4 datasets:
USSEXCPS='USS-OMVS*TOTAL*EXCPS'
USSBYTES='USS-OMVS*TOTAL*BYTES'
USSCALLS='USS-OMVS*TOTAL*CALLS'
USSCPUTM='USS-OMVS*SYSCALLS*CPU*TIME'
with the sum of those counts from all OMVS segments in
the interval and step termination SMF 30 records.
Those variables are also now summed in PDB.STEPS and
PDB.JOBS when BUILDPDB is used to process SMF 30s.
-In testing this change, subtype 5 records for BPXAS STC
have all resource variables with zero value, even STEPNR,
and some zeros cause missing value calculations. Logic
was revised to prevent those harmless but confusing notes
on the SAS log for those records.
See MXG Newsletter FIFTY-FIVE, MXG Technical Note titled
1. Summary: "EXCP" counts recorded for access to HFS ....
Change 27.212 Support for APAR OA30006 for DCOLLECT, adds 8-byte fields
VMACDCOL at the end of the record for the dataset storage sizes in
Aug 21, 2009 DCOLDSET dataset. The new fields replace the value in
existing variables DCDALLSP DCDUSESP DCDSCALL DCDNMBLK
when the new fields are populated.
Change 27.211 Support for new-in-z/OS 1.10 DFSORT variables added to
VMAC16 existing TYPE16 dataset:
Aug 21, 2009 ICEINMRG='INTERMEDIATE*MERGES*PERFORMED'
ICEMNFLG='SIZE=MAX*IN*EFFECT?'
ICEMNVLX='SPECIFIED*OR DEFAULT*STORAGE'
ICEMNVLY='THEORETICAL*STORAGE*AVAILABLE'
ICEMNVLZ='AVAILABLE*STORAGE'
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.210 A harmless Division By Zero when creating PDB.DB2STATS
VMACDB2 occurred in calculating variable THRDFTPT (to mimic the
Aug 20, 2009 IBM MENU2 report), added by Change 27.097, if variables
QW0225AT and QDSTCNAT were both zero. Divide protected.
Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.
Change 27.209 TMON/DB2 BF record's SQL text is not quite as documented.
VMACTMDB BF0142LL, the "length" is 52, indicating there should be
AUG 19, 2009 50 bytes of text, but the next two bytes are INPUT in
new MXG variable BF0142RL, which is the original (real)
length of the original SQL text, and then, instead of the
documented 50 bytes of sql text, the record contains only
the first 48 bytes of text, kept in BF0142TT. BF0142LL
is then reduced by 2 to a value of 50 in TMDBBF dataset.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 27.208 Cosmetic. Calculation of AVGWKSET caused notes on the log
VMAC30 "Missing Values were generated" if MULTIDD='Y', because
AUG 19, 2009 those records contain ONLY DD segments. Those notes are
now eliminated by only calculating for "real" records.
Change 27.207 MXG 27.07. Change 27.174 stopped deaccumulation of the
VMACDB2 PDB.DB2STATS vars QSSTCONT and QSSTCRIT, incorrectly, as
Aug 18, 2009 both are accumulated and must be deaccumulated.
Thanks to Bill McDonald, Kimberly-Clark, USA.
Change 27.206 The LABEL for variables STEPNAME and PROCSTEP in VMAC42
VMAC42 were the variable name, unlike all of the other labels
Aug 18, 2009 for those common variables; if you added processing of 42
records as the last physical VMAC in your BUILDPDB, those
STEPNAME='STEPNAME' and PROCSTEP='PROCSTEP' labels were
used for all BUILDPDB-created datasets. VMAC42 now has
STEPNAME='STEP*NAME' & PROCSTEP='PROCEDURE*STEP*NAME'
Thanks to Bret Hoesly, Telephone & Data Systems, Inc, USA.
Change 27.205 Documentation. PDB.TYPE70PR observations for ICF engines
VMAC7072 with the LCPUPDTM (CPU Dispatch Duration) slightly larger
Aug 18, 2009 than the SMF70ONT (Online Duration) have been observed.
The maximum difference in an LPAR engine was 52 millisec,
0.052 seconds, but in that same interval, the PHYSICAL
ICF engine recorded 0.026 seconds, so the total ICFACTTM
for that interval was 78 milliseconds larger than the
online duration of exactly 900 seconds for that interval.
But some intervals do not always have exactly 900 seconds
online; in 26 intervals, 13 were exactly 900 seconds, 6
were shorter, by as much as 0.018 seconds, and 7 were
longer, by as much as 0.018 seconds. This was z/OS 1.9
on a 2094-720 with 1 ICF, 2 IFLs, and 17 CPs. The ICF
Percent Busy was 100.00008 with that largest difference;
the only circumvention is to test the PCT value and reset
it to 100% if greater than 100 (but, if greater than 101%
print a warning message and investigate further).
Thanks to Nicholas Ward, Centrelink, AUSTRALIA
Change 27.204 Change 27.154 did not protect when the offset to the Path
VMAC92 Section was non-zero but there was no Path Section; it
Aug 17, 2009 caused an INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 27.203 MXG 27.06-MXG 27.07, PDB.ASUMTALO had too few obs created
ANALCNCR due to an error introduced in ANALCNCR in Change 27.165.
Aug 17, 2009 The ANALCNCR error ONLY occurs if the TIMERNGE= argument
ASUMTALO was used; ASUMTALO is the only MXG member that invokes
%ANALCNCR with a TIMERNGE= argument. Change 27.165 added
elimination of character-to-numeric conversion messages,
but four typo's in new code stored &LOTIME into &HITIME.
Only ANALCNCR was changed in this change; ASUMTALO is
listed only to document it is impacted by this error.
-You should check your tailoring/report source libraries
to see if %ANALCNCR is used with the TIMERNGE= argument.
This ANALCNCR "utility" is inconsistently named, since it
creates an output dataset, rather than an analysis; it
is used to count the number of concurrent events across
time (like tape drives allocated each hour in ASUMTALO).
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 27.202 MXG 27.07. Debugging PUT statement at line 757 was
VMAC116 removed.
Aug 14, 2009
Thanks to Alfred Holtz, Medco Health Solutions, USA.
Change 27.201 More DB2 Updates.
ANALDB2R
READDB2
Aug 12, 2009
Change 27.200 Support for CICS/TS 4.1 GA updates/documentation notes:
EXCICMLR -Format MG110MP updated for new TCB Pool values of XPLINK,
EXCICRLR SSL, and THRD, new formats MGCICAT, MGCICRT created.
EXCICSJS -Dataset CICECC new variables:
EXCICW2R ECCCANAM ECCCAPOI ECCCAPTY ECCEBNAM ECCEVCAP ECCEVNAM
FORMATS -Dataset CICECG new variables:
IMAC110 ECGFLFAI ECGCAPFA ECGEVLCO ECGEVLOT
VMAC110 -Dataset CICECR new variables:
VMXGINIT ECRCHGAG ECRCHGDT ECRCHGUS ECREBNAM ECRGRFRM ECRINSAG
Aug 16, 2009 ECRINSDT ECRINSUS
-Dataset CICEPR new variables:
EPGSYNBK EPGEVLCO EPGEVLOT
-New Statistics Datasets created:
dddddd dataset description stid
CICRLR CICRLR CICS BUNDLE 100
CICW2R CICW2R CICS ATOMSERVICE 110
CICMLR CICMLR CICS XMLTRANSFORM 113
CICSJS CICSJS CICS JVMSERVER STATISTICS (RESID 116
Note: STID=79, STIMNR is not a Statistics DSECT, but is
a SUBTYPE=1,MNSEGCL=5 Transaction Record; support
for which was added in MXG 20.20, Change 20.200.
STID=84, STIMNT is never created in SMF records;
it is an online interface only.
-Change 27.032 noted there are 3 new TCBs in CICS/TS 4.1,
T8, EP, and TP, but only T8CPUT is recorded in CICSTRAN.
The EP TCB for Event Processing is explicitly NOT in the
CICSTRAN data, because IBM states that processing of the
new Business Event is NOT to be chargeable to users.
A TP TCB is created for every JVMSERVER resource def that
is installed and enabled, but I have not found a reason
why they are not captured in CICSTRAN.
-DOCUMENTATION. CICS Statistics datasets CICDS, CICDSPOO
have many variables starting with DSG,DS1-DS9,DSA-DSN,
and their labels were not consistent. This list is now
added at the bottom of VMAC110, and the labels revised:
DOCUMENTATION OF THE VARIABLES STARTING WITH DS.
TWO DATASETS CONTAIN VARIABLES THAT START WITH DS:
DATASET CICDS - DISPATCHER STATISTICS:
- "INTERVAL" VARIABLES STARTING WITH DSGXXXXX
- "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN
DATASET CICDSPOO - TCB POOL STATISTICS:
- "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5
DATASET CICDS - DISPATCHER STATISTICS:
- "INTERVAL" VARIABLES STARTING WITH DSG:
DSGNTCB DSGCNT DSGEJST DSGICVRT DSGICVSD DSGICVT
DSGMBTCH DSGPNT DSGPRIAG DSGPTCB DSGSRBT DSGSTART
DSGLSTRT DSGSTSKS DSGXSCNN DSGXSCNS DSGXTCBD
- "INTERVAL" VARIABLES ALWAYS MISSING VALUES:
DSGAMXTC DSGAMXTL DSGAMXTP DSGLRT DSGMAXOP DSGTAMXT
DSGTL DSGTOTWT
DATASET CICDS - DISPATCHER STATISTICS:
- "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN
(The TCB NUMBER HAS CHANGED BETWEEN CICS RELEASES)
3.2 4.1 TCB MXG VAR
NUM NUM NAME PREFIX DESCRIPTION
-- H8 DSC H8 - NOT IN CICS/TS 3.1+
1 QR DSG* QUASI REENTRANT MODE
2 RO DS2* RESOURCE OWNING MODE
3 CO DS3* CONCURRENT MODE
4 SZ DS4* SECONDARY LU MODE
5 RP DS5* ONC/RPC MODE
6 FO DS6 FILE OWNING MODE
7 SL DS7 SOCKETS OWNING MODE (SL)
8 SO DS8 SOCKETS OWNING MODE (SO)
9 SP DSH SOCKETS PTHREAD OWNING MODE (SP)
10 EP DSM EVENT PROCESSING MODE
10 12 D2 DSD D2 - DB2 MODE
11 13 JM DSE JM - JVM CLASS CACHE MODE
11 TP DSN TP - THREADED TCB OWNING MODE
12 14 S8 DSB S8 - SOCKETS (SSL) MODE
13 15 L8 DSA L8 - OPEN MODE CICS
14 16 L9 DSI L9 - OPEN MODE USER
15 17 J8 DS9 J8 - OPEN MODE CICS
16 18 J9 DSF J9 - OPEN MODE USER
17 19 X8 DSJ X8 - OPEN MODE CICS
18 20 X9 DSK X9 - OPEN MODE USER
19 21 T8 DSL T8 - JVM MULTITHREADED
THE ABOVE TABLE MAPS EACH TCB NAME TO ITS VARIABLE PREFIX.
THESE "PER TCB" VARIABLES ARE POPULATED:
DS.ACT DS.NTCBA DS.PERCT DS.START DS.SYSW DS.TCBAF
DS.TCBAL DS.TCBCA DS.TCBCU DS.TCBDO DS.TCBDS DS.TCBDU
DS.TCBDX DS.TCBMD DS.TCBMM DS.TCBMP DS.TCBNM DS.TCBPA
DS.TCBPU DS.TCBST DS.TCT DS.TDT DS.TWT
THESE "PER TCB" VARIABLES ALWAYS HAVE MISSING VALUES:
DS.PERCT DS.TCBF1 DS.TCBF2 DS.TCBF3
DS.TCBF4 DS.SCT DS.SWT
DATASET CICDSPOO - TCB POOL STATISTICS:
- "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5
DSG OPEN POOL (CONSISTING OF L8 AND L9 TCBS)
DS2 JVM POOL (CONSISTING OF J8 AND J9 TCBS)
DS3 XP POOL (CONSISTING OF X8 AND X9 TCBS)
DS4 SSL POOL (CONSISTING OF S8 TCBS)
DS5 THRD POOL (CONSISTING OF T8 TCBS)
J8 L8 S8 T8 AND X8 TCBS ARE CICS TCBS.
J9 L9 AND X9 TCBS ARE USER TCBS.
"TCB POOL" VARIABLES HAVE DSG,DS1,DS2,DS3,DS4,DS5 PREFIX:
DS.CMMWS DS.CMMWT DS.CNUAT DS.CNUUS DS.CURNW DS.CURWT
DS.MMWTM DS.MMWTS DS.MXTCB DS.NTCBL DS.PEANW DS.PMWWS
DS.PNUAT DS.PNUUS DS.TCBPN DS.TOTMT DS.TOTMW DS.TOTNW
DS.TOTWL
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 27.199 Documentation of this error message:
JCLTEST9 ERROR: PHYSICAL FILE DOES NOT EXIST, ATP1DKP.ADM.DATA.
Aug 12, 2009 occurs when a FILE ADM statement was found, but there was
no //ADM DD in the job. SAS then looks for a file named
JOBNAME.FILENAME.DATA, and fails.
Change 27.198 Even when PDBOUT= was not specified, so the null default
ANALRMFR (write to //WORK) was desired, ANALRMFR still wrote the
Aug 12, 2009 TYPE7xxx datasets to //PDB instead of //WORK. %LETs were
added to protect the SPLIT70 logic.
Thanks to Kim Westcott, New York State Office of Technology, USA.
Change 27.197 Change 27.175 added DB2STATB/DB2STATS/DB2GBPST but failed
ANALDB2R (VARIABLE SYSTEM NOT FOUND) if DB2STATB was redirected to
Aug 12, 2009 a separate input DDNAME.
Thanks to Scott Wiig, USBank, USA.
Change 27.196 Change 27.138 heuristic test for LENGTH=412 for subtypes
VMAC85 78,79,88 did not generalize and still failed with record
Aug 12, 2009 from z/OS 1.10 subtype 78 record. The test was revised
to test R85PVRM IN (1030 1090 1100 1110) to hopefully
protect 1.9, 1.10 and 1.11 records, but only 1.10 and
ancient 1.30/1.40 records are validated with SMF data.
Thanks to Brian Felix, Wachovia Bank, USA.
Thanks to Mike Spires, Wachovia Bank, USA.
====== Changes thru 27.195 were in MXG 27.07 dated Aug 11, 2009========
Change 27.195 Documentation only. When IFCIDS=ACCOUNT is specified,
READDB2 READDB2 automatically creates the DB2ACCTB dataset, but
Aug 11, 2009 when BUILDPDB/TYPEDB2 is used, the EXDB2ACB exit is used.
So if you (incorrectly) had a DELETE statement in your
tailored EXDB2ACB member, the number of observations that
were created in DB2ACCT/DB2ACCTB/DB2ACCTG were much less
with BUILDPDB/TYPEDB2 than with READDB2. The EXDB2ACB
exit is the ONLY DB2 exit that is overridden in READDB2.
Change 27.194 These variables from the LPAR Object in NMON/TAPAS record
VMACNMON are now input and kept:
Aug 11, 2009 CAPPED EC_USER EC_SYS EC_WAIT EC_IDLE VP_USER
VP_SYS VP_WAIT VP_IDLE FOLDED POOL_ID
Thanks to Steve Dyck, Canadian Depository for Securities, CANADA.
Change 27.193 READDB2 with Change 27.169 did not copy all ACCOUNT data
READDB2 sets to the PDBOUT= parameter, when it was used.
Aug 11, 2009
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 27.192 Incorrect READTIME (date in 2010) because CA=7 overlaid
VMAC110 the first byte of the time part with 'EE'x, but CA is
Aug 11, 2009 then supposed to correct that overlay in the SMF write
exit, which requires specific code for each record type.
Apparently, CA-7 has failed to protect the SMF 110s,
but MXG detects now and corrects READTIME in SMF 110.
Search CHANGESS for "UCC7" LAST for further info.
Thanks to Marnel Groebner, State of Washingon, USA.
Change 27.191 Variable ACTVWSS, working set size, in dataset XAMUSR,
VMACXAM was incorrectly multiplied by 4096; it is already in
Aug 11, 2009 bytes, not KB, so the multiply was removed.
Thanks to Chris Morgan, CitiCorp, ENGLAND.
Change 27.190 Dataset TMS.TMS observations with DEVTYPE blank were
VMACTMS5 found with TRTCH='D0'x and 'EE'x, and TMS shows those
Aug 10, 2009 as DEN 3590 and 3592, so those hex values are now mapped
to the DEN values in DEVTYPE.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.189 Support for Serena's StarTool IOO Product's USER SMF
EXIOOVBU creates 10 datasets:
EXIOOQBU
EXIOORBL DATASET DATASET DATASET
EXIOOVUS SUFFIX NAME LABEL
EXIOOVRP
EXIOOVX1 IOOVBU IOOVBUF VSAM BUFFER OPTIMIZATION
EXIOOVX2 IOOQBU IOOQBUF QSAM BUFFER OPTIMIZATION
EXIOOVX3 IOORBL IOORBLK QSAM BLKSIZE OPTIMIZATION
EXIOOVX4 IOOVUS IOOVUSR USER BLDVRP
EXIOOVX5 IOOVRP IOOVRPB BLDVRP OVERRIDE
FORMATS IOOVX1 IOOVEX1 OPT BYPASS AS PER RULES TABLE
IMACIOO IOOVX2 IOOVEX2 OPT BYPASS NO RULES TABLE MATCH
TYPEIOO IOOVX3 IOOVEX3 OPT BYPASS BUFFER CHANGE NOTAUTH
TYPSIOO IOOVX4 IOOVEX4 OPT BYPASS JCL PARMS PRESENT
VMACIOO IOOVX5 IOOVEX5 OPT BYPASS CSR FAILURE
VMXGINIT
Aug 10, 2009
Change 27.188 MXG 27.04-27.06. When DB2STATS was enhanced to include
VMACDB2 the IFCID=225 DB2STAT4 dataset, the BY list for the sort
Aug 10, 2009 order for DB2STAT0 and DB2STAT1 was incorrectly changed,
which could cause a NOT SORTED error in WEEKBLD/MONTHBLD.
This change resets the sort order for DB2STAT0/DB2STAT1
to the expected SYSTEM QWHSSSID QWHSSTCK.
The same order can NOT be used to create DB2STATS because
the QWHSSTCK timestamp is not consistent in an interval;
instead, SYSTEM QWHSSSID QWHSACE QWHSMTN QWHSISEQ must be
used to create DB2STATS.
If you encounter the NOT SORTED error, you can remove the
BY statement in your WEEKBLD/MONTHBLD to circumvent.
BUT: the better solution is to REMOVE DB2STAT0, DB2STAT1
and DB2STAT4 from your WEEKBLD and MONTHBLD, because they
are completely contained in the DB2STATS dataset!
Unfortunately, I have to leave them in WEEKBLD/MONTHBLD
because they are already there, and removing them would
create a bigger exposure to DATA SET NOT FOUND errors!
Thanks to Wayne Bell, UniGroup, USA.
Change 27.187 In spite of my note in IMACICDL "beginning with IMS 5.1
IMACICDL CICS/TS 1.1+ do NOT support DL/1 calls from CICS" SMF 110
UTILEXCL records with the optional IMACICDL data segment can still
VMAC110 be created, and with CICS/TS 3.2, it is INCOMPATIBLE due
Aug 8, 2009 to the increase to 12 byte clock/counters. IMACICDL was
revised to support both lengths, even though ALL of the
fields in the IMACICDL segment are now ALWAYS zeroes.
-UTILEXCL's generated KEEP= statement was updated to KEEP
these variables, but ONLY so I could confirm the zeroes.
-A DROP statement was added in IMACICDL so these variables
will be dropped if you do have to tailor IMACICDL.
Change 27.186 WSF record with ACCSTAT='.1......'B flag, which says that
VMACWSF the ACCKTN Extension added in WSF 3.3.6 exists, caused an
Aug 7, 2009 INPUT STATEMENT EXCEEDED RECORD LENGTH when it did not
have the minimum-length-20-byte segment present; MXG now
tests that both that bit is on, AND that 20 bytes of data
actually exists before inputting the extension fields.
Thanks to Norm Folkers, CGI, CANADA.
Change 27.185 Variable R744RSST='TOTAL*SIGNAL*SERVICE*TIME' in dataset
VMAC74 TYPE74DU/XTY74DU was incorrectly divided by 10**(-6); it
Aug 7, 2009 was already converted to microseconds in the INPUT and
should not have also been divided.
Thanks to Yacine Amraoui, La Banque Postale, FRANCE.
Change 27.184 Support for VMWARE objects in NTSMF adds new datasets:
VMACNTSM dddddd Dataset Description/Object Name
Aug 7, 2009 NTVWGC VMWGUCPU VMWARE.GUEST.CPU
NTVWGD VMWGUDIS VMWARE.GUEST.DISK
NTVWGM VMWGUMEM VMWARE.GUEST.MEMORY
NTVWGN VMWGUNET VMWARE.GUEST.NET
NTVWGR VMWGURES VMWARE.GUEST.RESCPU
NTVWGS VMWGUSYS VMWARE.GUEST.SYS
NTVWHC VMWHOCPU VMWARE.HOST.CPU
NTVWHD VMWHODIS VMWARE.HOST.DISK
NTVWHM VMWHOMEM VMWARE.HOST.MEMORY
NTVWHN VMWHONET VMWARE.HOST.NET
NTVWHR VMWHORES VMWARE.HOST.RESCPU
NTVWHS VMWHOSYS VMWARE.HOST.SYS
NTVWRP VMWREPOL VMWARE.RESOURCEPOOL
and support for new objects ASP.NET V2.0.50727 and
ASP.NET APPS V2.0.50727 which are output in existing
ASPNET and ASPNETAP datasets.
Change 27.183 The Diagnose Instruction variables added by Change 26.203
VMACVMXA were only INPUT and not kept in z/VM dataset VXPRCDIA.
Aug 6, 2009
Thanks to Jim Dammeyer, State Farm Auto, USA.
Change 27.182 Support for optional, user-created, CICS REQCNT1 field.
IMACICUE
VMAC110
UTILEXCL
Aug 6, 2009
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 27.181 Support for VOLSER='SCRTCH', a previously unseen (or not
ASUMTAPE noticed value for VOLSER), which has to be added to the
Aug 5, 2009 existing exceptions for VOLSER='PRIVAT'. Mounts with the
VOLSER='SCRTCH', either in the TYPETMNT Mount dataset or
the TYPESYMT SYSLOG dataset, were not matched with their
TYPE21 (because it always has the resultant VOLSER).
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.180 -Support for new CPU_PHYSICAL and CPU_ENTITLED objects in
VMACNMON TOPAS (originally NMON, Nigel's Monitor for AIX/LINUX)
Aug 5, 2009 adds six variables from each into NMONINTV dataset:
Aug 7, 2009 PPHYBUSY PPHYIDLE PPHYSYS PPHYUSER PPHYWAIT NRPHYS
PNTIBUSY PNTIIDLE PNTISYS PNTIUSER PNTIWAIT NRNTIS
-MEMUSE record with invalid numeric value 0.275.9 in the
last field causes two harmless messages to be printed:
INVALID ARGUMENT TO FUNCTION INPUT.
and variable MUMAXCLI will have a missing value.
-INVALID ARGUMENT messages for RECTYPE='RAWCPUTOTAL' were
corrected; right hand argument of WORD2 test needed to be
in all upper case.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 27.179 -MXG 27.05-27.06. WORK datasets were not PROC DELETEd due
TYPETMS5 to debugging comments that should have been removed. The
Aug 5, 2009 14 datasets required over 6400MB with a 700MB TMS input.
Thanks to Jim Kovarik, AEGON, USA.
Change 27.178 ASUM70PR with STARTIME=16:29:59 (instead of 16:30:00) was
VMXG70PR incorrectly reset to 16:15 when INTERVAL=QTRHOUR was used
VMXGRMFI and this created an obs with DURATM=30 minutes instead of
Aug 5, 2009 the requested 15 minute summarization (fortunately, all
data values in that observation ARE correct!). STARTIME
has always been used for MXG RMF summarization, because
the only other original choice, SMFTIME, was inexact, as
write delays could cause it to be in the next hour, etc.
But now, SMF70GIE, the expected, exact, end of interval,
always exists in current RMF/CMF records, so it is used
to define the interval when INTERVAL="value" is specified
so STARTIME can then be exactly reset SMF70GIE-MXGDURTM.
SMF70GIE is already used elsewhere in VMXG70PR, but not
in the STARTIME reset algorithm.
If SYNC59=YES was accidentally specified (not needed
here because the RMF data was written with SYNC=0),
STARTIME was set to 16:30 instead of 16:15, and the 30
minute obs was accidentally NOT created.
Why the STARTIME is one full second earlier instead of
exact is not known, but this system was a 2094-709 with
VERSNRMF 750, and IRD was not active.
-RMFINTRV was revised to also set STARTIME from SMF70GIE,
so there should always be a perfect match between the
PDB.RMFINTRV and PDB.ASUM70PR values.
But NOT with INTERVAL=DETAIL or INTERVAL=DURSET:
MXG Only Resets the STARTIME to "clean" values when
you specify an INTERVAL= "duration" (QTRHOUR,HOUR,etc).
Thanks to Douglas C. Walter, Citigroup, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 27.177 Variable RECTOK was truncated to 12 bytes because it was
VMACITRF incorrectly formatted $HEX24; it is now correctly format
Aug 4, 2009 with $HEX32 to set its stored length as 16 bytes.
Thanks to Shantha Hallett, Capgemini UK, WALES.
Change 27.176 -MXG support for IMF 4.4 was incorrect for these variables
VMACCIMS that were previously binary with varying resolutions but
Aug 5, 2009 were changed in 4.4 to floating point microseconds:
TRNW1OTH TRNW2OTH TRNW2LCH TRNW2IOV TRNW2IOO TRNW3OTH
TRNW3LCH TRNW4OTH TRNW4DBR TRNW4IO TRNW5OTH TRNW5LCH
TRNW5LCK TRNW5IOV TRNW5IOO TRNW5IOD TRNEAPPL TRNEDLTM
TRNEDLDB TRNEDB2 TRNEMQS TRNEOESS TRNEOPCL TRNESYNC
-Records with LTERM values that are neither EBCDIC nor
ASCII ('EE4A80B18DDDDEEA'x) print funny-looking text.
Using FORMAT LTERM $HEX16.; will show that hex value,
but that makes the true printable text unreadable.
Not really a problem, mostly an observation.
-BMC PTF BQI0695 corrects an error in which a DBD segment
could be overlaid with zeros. This was detected because
SQLCALL='Y' (the transaction called DB2), but SQLCALLS
(the sum of calls in all DBD segments with DBORG='80'x)
was a missing value. Any transaction with SQLCALL='Y'
must have at least one DBORG='80'x DB2 DBD segment.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 27.175 -ANALDB2R detected but did not tolerate the absence of the
ANALDB2R DB2STATB dataset.
Jul 31, 2009 -Aug 9: ANALDB2R now honors DB2STATB/DB2STATS parameters
Aug 9, 2009 and new DB2GBPST parameter is added.
Thanks to Scott Wiig, USBank, USA.
Change 27.174 Variable QSSTCONT and QSSTCRIT were deaccumulated, but
VMACDB2 they should not have been, as they are end point values.
Jul 30, 2009 CHANGE REVERSED: SEE CHANGE 27.207.
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Change 27.173 Misspelled variables cause confusion, but cannot simply
VMACDB2 be replaced by the correct spelling, as other programs in
Aug 5, 2009 MXG and in user programs may use the incorrect spelling,
so these new (correctly spelled) variables are created:
QBGLWM QXXCBPNX QXXCSKIP QXCRINX
with the same contents and labels as the incorrect ones:
QBGLMW QZZCBPNX QZZCSKIP QXCRINDX
Thanks to Tony Curry, BMC, USA.
Change 27.172 Most tests for IF xxxxxxxx NE 0 THEN were revised to test
ANALDB2R IF xxxxxxxx GT 0 THEN because missing-value variables are
Jul 29, 2009 true with NE 0 but in most cases that is not wanted. Each
test must be examined to see if xxxxxxxx can be missing,
and to confirm that the true value wanted was only GT 0.
This prevented divide-by-zero error messages.
Change 27.171 MXGTMNT records INPUT is now protected if the same SMF
VMACTMNT record number is also used by another product's record,
Jul 28, 2009 by verifying that TMNTSYS='TMNT'; when duplicate use of
the TMNT record ID is detected, two instances are now
printed on the log with a hex dump so you can identify
the other product "sharing" the TMNT record ID.
Thanks to Linda Pitcher, Progressive, USA.
Change 27.170 MXG QA Test Stream step TESTREAL was revised to validate
CLEARDB2 both the existence of datasets and expected observations
TESTREAL with the known SMF input file of DB2 data. READDB2 is
Jul 25, 2009 re-executed multiple times, so resetting of all of the
old-style macros for DB2 is required prior to each; the
static reset was stored in new member CLEARDB2 for reuse.
Change 27.169 MXG 27.04-27.06. READDB2 did not output to any T102Snnn.
READDB2 The error was introduced in MXG 27.04, and while READDB2
Jul 25, 2009 is tested in the QA stream, the tests were for existence,
and did not verify actual observations were created.
Thanks to Alex Macfarlane, BNY Mellon, USA.
Change 27.168 -MXG 27.05-27.06. Change 27.108 accidentally deleted the
TYPETMS5 _KTMSTMS token that should have been after line 188; the
Jul 24, 2009 token is used by ITRM to add variables for TMS.
Thanks to Rob D'Andrea, CIS, ENGLAND.
====== Changes thru 27.167 were in MXG 27.06 dated Jul 20, 2009========
Change 27.167 Minor. %READDB2... did not honor OPTIONS OBS=5000 because
READDB2 a RUN; statement was required to separate the execution
Jul 21, 2009 of the DATA step from subsequent %VGETOBS existence tests
VMXGOPTR (for IFCIDs 105/107). In %VGETOBS execution, the first
Jul 22, 2009 %VMXGOPTR with "OPTION=OBS,NEWVALUE=MAX", (needed so the
PROC SQL can function even if the user has set the option
OBS), was being executed before the DATA step that reads
the SMF data. The RUN; in READDB2 cured its problem, but
a more generic solution was to insert a RUN; statement at
the top of VMXGOPTR to protect it for all calls.
Change 27.166 CA-VIEW SARSRQUX exit SMF record was completely changed.
VMACSARX The new layout of the fixed portion is now supported, but
Jul 21, 2009 the Fixed JCL Attribute segment does not exist in my two
Oct 4, 2009 test records, and the Variable JCL Attribute segment is
not populated, so those segments are not yet INPUT, which
causes many, but harmless, UNINITIALIZED VARIABLE notes
on the log. Oct 4: UNINIT messages removed.
Thanks to Bob DeBartolo, Conseco, USA.
====== Changes thru 27.165 were in MXG 27.06 dated Jul 20, 2009========
Change 27.165 -VMXGSUM now dies gracefully with an MXGERROR message when
ANALACTM the input dataset does not exist; before, it still died,
ANALCNCR but the cause of death was unknown to the user. This can
ANALINIT happen if you include an ASUMxxxx or TRNDxxxx but you had
BLDNTPDB not created the expected input datasets. VMXGSUM works
UTILCONT fine if the dataset exists and has zero observations.
UTILVREF -ANALCNCR modified to fail before calling VMXGSUM if the
UTILXRF1 input dataset does not exist.
VGETDDS -VGETOBS was revised to protect when OPTIONS OBS=0 is in
VGETDSN effect; the PROC SQL used to determine if the dataset has
VGETENG observations did not execute, so VGETOBS falsely reported
VGETOBS the tested dataset did not exist, when in fact it did.
VMXGENG Calls to VMXGOPTR were inserted to store the current OBS
VMXGOPTR option in effect, set OBS=MAX for the PROC SQL, and then
VMXGSIZE restore the original option with a second VMXGOPTR call.
VMXGSUM But this instance of this exposure caused examination of
VMXGUOW all MXG code that uses PROC SQL, so these members have
Jul 17, 2009 also been protected to execute properly with OBS=0 set:
ASUMCACH ASUMCACH BLDNTPDB UTILCONT UTILVREF UTILXRF1 VGETDDS
VGETDSN VGETENG VMXGENG VMXGSIZE VMXGUOW
Setting OPTIONS OBS=0; is a quick way to test SAS code
for any SAS syntax errors, and as all datasets are also
created, subsequent references to datasets or variables
are validated, but no records are read and no disk space
is used since all datasets have zero observations.
An alternative technique is to use a DUMMY input file.
-VMXGUOW %VMXGOPTR calls balanced for default NOOBS zero.
-VMXGOPTR modified to UPCASE the parameters.
-ANALINIT protected with NODSNFERR/NOVNFERR, and is now
a self-executing %MACRO.
-ANALACTM. Some headings ran together & the response time
goals went into exponential notation. ANALACTM gives you
a visual picture of your WLM definitions.
-Aug 12, 2009: VGETOBS defined a new argument, NOEXIMSG.
Change 27.164 NOTE: NUMERIC VARIABLE CONVERTED TO CHARACTER in TIMEBILD
TIMEBILD happens to be harmless, but because it raised questions
Jul 15, 2009 (Why? Impact?), it is now eliminated. The culprit was
the CALL SYMPUT("MXGTIMES",SYS); where SYS was a numeric
count, and %MACRO variables must be character. Inserting
SYST=PUT(SYS,2.); to create character variable SYST, and
using SYST in place of SYS eliminated the message.
Thanks to Paul Volpi, UHC, USA.
Change 27.163 Eight BVIR variables are converted to bytes and FORMATed
VMACBVIR MGBYTES, and *KB in their label is replaced by BYTES to
Jul 15, 2009 be consistent with the other byte-containing variables:
P0CHRD ='HBA*PORT 0*CHAN*READ*BYTES'
P0CHWR ='HBA*PORT 0*CHAN*WRITE*BYTES'
P0VDRD ='HBA*PORT 0*VDEV*READ*BYTES'
P0VDWR ='HBA*PORT 0*VDEV*WRITE*BYTES'
P1CHRD ='HBA*PORT 1*CHAN*READ*BYTES'
P1CHWR ='HBA*PORT 1*CHAN*WRITE*BYTES'
P1VDRD ='HBA*PORT 1*VDEV*READ*BYTES'
P1VDWR ='HBA*PORT 1*VDEV*WRITE*BYTES'
Thanks to Perry Lim, Union Bank, USA.
Change 27.162 Support for BMC APPTUNE SQL IFCIDS=8004x-8136x as SMF 102
EX102S04 records create these eleven new datasets:
EX102S05
EX102S07 DDDDDD DATASET DESCRIPTION/IFCID
EX102S08 102S04 T1028004 102S04: BMC SQL APPTUNE 8004
EX102S09 102S05 T1028005 102S05: BMC SQL APPTUNE 8005
EX102S0A 102S07 T1028007 102S07: BMC SQL APPTUNE 8007
EX102S0B 102S08 T1028008 102S08: BMC SQL APPTUNE 8008
EX102S33 102S09 T1028009 102S09: BMC SQL APPTUNE 8009
EX102S34 102S0A T102800A 102S0A: BMC SQL APPTUNE 800A
EX102S35 102S0B T102800B 102S0B: BMC SQL APPTUNE 800B
EX102S36 102S33 T1028133 102S33: BMC SQL APPTUNE 8133
IMAC102 102S34 T1028134 102S34: BMC SQL APPTUNE 8134
READDB2 102S35 T1028135 102S35: BMC SQL APPTUNE 8135
VMAC102 102S36 T1028136 102S36: BMC SQL APPTUNE 8136
VMACDB2H
VMXGINIT 102BMC Creates all of the above
Jul 15, 2009
All eleven BMC T1028xxx datasets are created together,
with a single macro token dddddd=102BMC. Separate
dddddd tokens for each IFCID/dataset are not defined, as
I decided you'd want all eleven or none. You can create
only those eleven BMC T1028xxx datasets using %READDB2
%READDB2(IFCIDS=BMC);
Or, if you create all possible T102 datasets using either
%INCLUDE SOURCLIB(TYPE102); or %READDB2(IFCIDS=ALL);, all
350 IBM T102Snnn and the 11 BMC datasets will be created.
-While many of the fields are from standard IBM DB2 DSECTS
QWAC, QBAC, QTXA, QXST, and QWAX, all variable names in
the BMC T1028nnn datasets start with QBMCxxxx, so there
is no collision/conflict with the existing MXG names.
-Note that variables QBMCEJST and QBMCESC are different
from the IBM QWACEJST/QWACESC fields; BMC stores the
accumulated total measured time for the statement rather
than the end time for one execution in both.
Change 27.161 Incorrect QXPK values in DB2ACCTP, DB2 V9 only, only if
VMACDB2 NRQPAC GT 1, only in 2nd and subsequent obs per record.
Jul 13, 2009 The DB2ACCTP Package obs contain either both QBAC & QXPK
segments (when Class 10 is enabled) or neither (if not);
if on, there is one QBAC and one QXPK segment per QPAC,
MXG outputs the first set in the first obs, the second
set in the second obs, etc. However, DB2 V9 IFCID=239
(ID=101,Subtype=1) records with more than one NRQPAC had
incorrect QXPK variable's values in 2nd-plus obs, due to
MXG incorrect logic test for =0 instead of LE 0 (and a
typo) in its handling of the new DB2 V9 lengths:
In DB2, IBM stores a zero in the length field in the
"triplet", and the triplet's offset now points to the
two-byte location with the actual field length, at the
start of that segment's data. But only sometimes!
Change 27.160 Var EVENTIME was inadvertently DROPed from PDB.ASUMTAPE
ASUMTAPE by Change 26.038 (MXG 26.03), but was expected in ITRM.
Jul 10, 2009 It is now kept again with the beginning datetimestamp of
the mount event.
Thanks to Don Bernard, North Carolina State Government, USA.
Change 27.159 The test for OSI to input SMF62MGT/SMF62STR/SMF62DAT
VMAC62 unintentionally prevented OPENTIME and ACBMACR1-ACBMACR4
Jul 9, 2009 from being input. The OSI test is no longer needed as
space for all three fields are always present, so it was
removed. And because the MGT/STR/DAT can contain '00'x,
those values were translated to blanks.
Thanks to Sam Bass, McLane Co., USA.
Change 27.158 This change is in progress, requiring many updates before
VMACDB2 it is fully implemented. Progress is documented below.
VMACDB2H If DB2 zparm UIFCIDS=YES is set, many DB2 character vars
VMAC102 will contain ASCII instead of EBCDIC text. These fields
Jul 8, 2009 are identified as "%U" in the IBM DSECTs; technically the
fields contain UNICODE, UTF-8, which is simple ASCII.
Each of these "%U" fields has its original fixed-length
location (that MXG continues to INPUT, but conditionally
INPUTs ASCII or EBCDIC), but if the text length is longer
("truncated" to that fixed-length), a new offset points
to the length and location of the "un-truncated" text,
which is then conditionally input with the longer length.
Change 24.136 created DB2UNICD='Y' when UIFCIDS=YES, and
DB2UNICD was used to conditionally INPUT these variables
QLACLOCN QLSTLOCN QMDALOCN QPACCOLN QPACLOCN QPACPKID
QWHCAID QWHCOAUD QWHCOPID QWHCROLE QWHCTCXT QWHSLOCN
(because only these fields were ASCII in test data).
However, when the below circumvention for an IBM ABEND
required UIFCIDS=YES to be set, these header variables
QWHDRQNM QWHDSVNM
were seen to be in ASCII, and VMACDB2H was updated.
There are at least 224 %U fields in DB2 V9 DSECTS that
need update or at least verification, and they will all
(EVENTUALLY!!) be updated/supported.
As of Jul 13, these variables are now "%U" Supported:
Still to be done:
These are the only "ACCOUNT" IFCIDS that need updating:
QPACASCH QPACAANM
and these are all of the SMF 102 IFCIDs that need update:
QW0022CI QW0022CN QW0022CR QW0022PG QW0022QO QW0022TN
QW0029CI QW0029LN QW0029PI
QW0030CI QW0030LN QW0030PI
QW0031CI QW0031LN QW0031PI
QW0053LN QW0053PC QW0053PN
QW0055NI QW0055OI
QW0058LN QW0058PC QW0058PN
QW0059CN QW0059LN QW0059PC QW0059PN
QW0060LN QW0060PC QW0060PN
QW0061CN QW0061LN QW0061PC QW0061PN
QW0064CI QW0064CN QW0064LN QW0064PN
QW0065CN QW0065LN QW0065PC QW0065PN
QW0066CN QW0066LN QW0066PC QW0066PN
QW0083SA
QW0087SA
QW0096PC QW0096PN
QW0108NC QW0108NI QW0108NL QW0108OH QW0108OW QW0108QL
QW0110PC QW0110PI QW0110PL
QW0112OH
QW0113OH
QW01247S QW0124CI QW0124LN QW0124PN QW0124SP
QW0125PC QW0125PN
QW0140SC QW0140SN QW0140TC QW0140TN QW0140UR
QW0141OR
QW0142CR QW0142OW QW0142TN
QW0145LN QW0145PC QW0145PN
QW01488L QW01489L QW0148CI QW0148LN QW0148PN QW0148SP
QW0157LN QW0157PN
QW0158PN
QW0159LN
QW0162LN
QW0169AL QW0169AU QW0169LO QW0169NE
QW0173CN*QW0173ID*QW0173PC QW0173PK
QW0177CO QW0177LO QW0177OH QW0177PI
QW0183CO QW0183LN QW0183PN
QW0185CN QW0185CR QW0185TB
QW0191LN
QW0192LN [192cs 192ec]
QW0193LN
QW0194LN
QW0195LN
[195hb]
QW0203CO QW0203LO QW0203PA
QW0204LO
QW0205LO
QW0206LO
QW0207HN QW0207TN QW0207UN
QW0208LO
QW0209LO
QW0210LO
QW0221LN
QW0221PC QW0221PN
QW0222LN QW0222PC QW0222PN
QW0224CI QW0224PN
QW0233LN QW0233PC QW0233PN QW0233PR QW0233SC
QW0235LO
QW0236LO
QW0247LN QW0247PC QW0247PN
QW0248LN QW0248PC QW0248PN
QW0269PR QW0269RA QW0269RC QW0269RU QW0269SA QW0269TC
QW0272LN QW0272LP QW0272PC QW0272PG QW0272PN QW0272QN
QW0273CN QW0273LN QW0273LP QW0273PC QW0273PG QW0273PN
QW0305CN
QW0311CN QW0311LN QW0311PC QW0311PN QW0311QN QW0311TN
QW0313AI
QW03141N QW03142N QW0314BN QW0314LN QW0314MN QW0314NN
QW0316QD QW0316SC QW0316T1 QW0316T3 QW0316TD QW0316X4
QW0324CI QW0324CV QW0324FI QW0324FN QW0324FS QW0324NV
QW0325CO QW0325NM QW0325PR QW0325SC QW0325TX
QW0334LN
QW0341LN QW0341PC QW0341PN
QW0343ID QW0343PC QW0343PK QW0343PL
QW148SCH
QWP1RLFA
QWP4ADM2 QWP4DFID QWP4OPR1 QWP4OPR2 QWP4OZUS QWP4REGA
An ABEND 0C4 in DB4PMSTR (takes down DB2 Subsystem) can
occur if zparm UIFCIDS is set to "NO", and IFCIDs 316,317
are written. IBM suggested PTF UX37196, but that is PE.
Setting zparm UIFCIDS to "YES" bypassed the conversion.
ERROR DESCRIPTION:
Rapid stack storage increase about 200M per day was
observed by customer. This occurs when IFCID 316, 317
were in effect and the zparm UIFCIDS was set to no. The
stack storage was used for conversion from UNICODE to
EBCDIC.
LOCAL FIX:
Set zparm UIFCIDS to yes to bypass conversion or turn
off IFCID 316 and 317.
Thanks to Barry Pieper, Blue Cross of Minnesota, USA.
Change 27.157 SMF 116 variables WQGETJCE/WQPUTJCE/WQPUT1JE/WQSET1JE in
VMAC116 the MQMQUEUE dataset were not divided by 4096, so their
Jul 7, 2009 values were incorrectly large without that divide.
Version 7.0 SMF 116 records have been read without error;
there are no new fields in the SMF 116 (nor 115) records.
in Version 7.0, so the MXG support was already in place.
Thanks to Frank Debree, Dexia, BELGIUM.
Change 27.156 Support for z/VM 6.1.0 is already in place in MXG 27.01+,
TYPEVMXA as there were no changes to the MONWRITE data records,
Jul 7, 2009 except for the new version number.
Change 27.155 -Type 42 Subtype 16 RLS Record INPUT STATEMENT EXCEEDED
VGETUTKN because the two length tests LEN42D2 and LEN42D4 should
VMAC42 have been 1652 instead of 1504.
Jul 6, 2009 -Type 42 Subtype 21 and 24 with invalid ICHRUTKN segment
Jul 8, 2009 had all of UTKNxxxx variables wrong or truncated. This
Jul 13, 2009 change detects the mis-located segment (starts in 187 vs
185) and correctly populates the UTKNxxxx variables,
except that the last variable in the record, UTKNGRUP,
is only 6-bytes long when the segment in invalid.
-IBM APAR OA27563 corrects the errors; search NEWSLTRS for
the details.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.154 USS dataset TYPE9201 variable SMF92PPN (pathname to the
VMAC92 filesystem) was not input because SMF92PPL, its length
Jul 6, 2009 field was INPUT from the wrong offset in line 640,
which now contains
If SMF92MPF GT 0 THEN INPUT @SMF92MPF+1
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 27.153 Dataset TYP11921 variable NTBTRNBE should have been INPUT
VMAC119 as &PIB.4. instead of &PIB.4.3 since it is a count and is
Jul 5, 2009 note a duration.
Thanks to Paul Volpi, UHC, USA.
Change 27.152 MXG 27.01-MXG 27.05. DCOLLECT variable UBALLSP is missing
VMACDCOL always; its INPUT statement was lost when Change 27.034
Jul 2, 2009 updates were made.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Thanks to Isabelle Diagremont, FIDUCIA IT AG, GERMANY.
Change 27.151 XAM TCP record caused INPUT EXCEEDED RECORD LENGTH ERROR.
VMACXAM A TCPAPP segment with only Segment Name and SEGLEN=8 with
Jul 2, 2009 no data can be created for internal XAM purposes. Only
the TCPAPP segment can have these "null segments", so the
SEGLEN is now tested after the header is INPUT, and the
segment is NOT output if there is no data.
Thanks to Chris Morgan, CitiCorp, ENGLAND.
Change 27.150 -MXG 27.05. COPYONLY option of READDB2 didn't work for the
READDB2 ID=102 IFCIDs selection.
Jul 2, 2009
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 27.149 Labels for Counts of ZIP, IFA, CPs, etc are clarified:
VMAC7072 In ASUM70PR ASUM70LP TYPE70PR - PER SYSTEM-CEC DATASETs
Jul 1, 2009 and ASUMCEC ASUMCELP - PER CEC DATASETS:
NRICFCPU='ICF CPUS*AVAILABLE*IN THIS CEC'
NRIFACPU='IFA CPUS*AVAILABLE*IN THIS CEC'
NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'
NRZIPCPU='ZIIP CPUS*AVAILABLE*IN THIS CEC'
because RMF can see everything in the CEC in the 70PR SMF
data.
But the TYPE70 and RMFINTRV DATASETS - PER SYSTEM DATA:
NRIFAS ='IFA CPUS*AVAIL TO*THIS ZOS'
NRZIPCPU='ZIIP CPUS*AVAIL TO*THIS ZOS'
NRIFACPU='IFA CPUS*AVAIL TO*THIS ZOS'
NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'
NRCPUS ='AVERAGE*ONLINE*NON-PARKED*CP ENGINES'
are not the "hardware" counts, but only the count of the
engines that this z/OS system can use and knows about.
Thanks to Scott Wigg, USBank, USA.
Change 27.148 Support for APAR OA29428 adds diagnostic bits that create
VMAC1415 these new MXG variables and labels:
Jun 30, 2009 SMF14TCL='TASK*TERMINATION*CLOSED*THE DCB?'
SMF14ABD='TASK IS*TERMINATIONG*TCBFA*IS ON?'
MXG Variables whose label ends with a question mark are
one byte character variables whose value will be 'Y' if
true, and should be blank if not true (although some old
variables might contain 'N' for false).
The APAR text states:
For debugging purposes, customers need to know if a
dataset has either been closed by a program or RTM
cleanup processing. The SMF records (types 14 or 15)
do not currently provide a way to identify this
information. The addition of flag(s) are required to
indicate normal versus abnormal CLOSE. One methodology
that can add this information is to add a bit to
indicate that task termination closed the dcb and add
a second bit to indicate whether or not the task is
abending.
Change 27.147 -MXG ANALZPCR didn't expand variable SCP to 10 bytes so
ANALZPCR z/OS 1.10 was not correctly set in the external study
Jun 30, 2009 file.
-MXG incorrectly set SCP from MVSLEVEL to be the same as
the MVSLEVEL of the TYPE70 that wrote the record, instead
instead of using the SMF70STN from each LPAR to define
that system's SCP. Now, TYPE70 is read to create the new
$TEMPSTN format, mapping SYSTEM to MVSLEVEL, and then
SMF70STN value in TYPE70PR is looked up to set MVSLEVEL.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.146 These OMCI datasets built by TYPE112
VMAC112 T112ADA T112ADAT T112DLI T112DLIT T112IDMT T112IDMS
Jun 30, 2009 T112VSAM T112VSAT T112SUPR T112SUPT T112DTCO T112DTCT
did not keep variables OMCIJOB OMGAPPL OMSAPPL.
Thanks to Richard Schwartz, State Street Bank, USA.
====== Changes thru 27.145 were in MXG 27.05 dated JUN 29, 2009========
Change 27.145 Support for TMON for MQ record "QA" (APPLICATION STATS)
EXTMQQA creates two new datasets, TMMQQA and TMMQQAA. All of the
EXTMQQAA QAxxxxx variables with TIME12.2 format are guesses as to
IMACTMMQ their internal format, and TMON reports for validation
VMACTMMQ weren't available when MXG 27.05 was ready; please check
VMXGINIT with support@mxg.com for any updates prior to using those
Jun 26, 2009 variables in these two new datasets.
Jul 1, 2009 Jul 1: QA record's 32 Latch Class times/counts created.
Thanks to Paul Volpi, UHC, USA.
Change 27.144 New documentation member ADOCRMFR tabulates the name of
ADOCRMFR each MXG variable that is printed in IBM RMF reports.
Jun 26, 2009
Thanks to George Canning, Produban, ENGLAND.
Change 27.143 Variable REDIRECT in PRPR1010 dataset contains text, in
VMACPRPR spite of the documentation that it is a numeric field.
Jun 26, 2009 Previous test data had blanks. Now INFORMAT $16.
Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.
Change 27.142 Using the %VMXGPRAL utility to print SUSE datasets caused
VMXGPRNT errors because of the long-length-variable-names in SUSE,
Jun 26, 2009 and the need for LRECL=255 on the temporary FILENAME.
Thanks to James J. Flanagan, ISO, USA.
Change 27.141 Variables R792FLG and R792FLG2 are now kept in TYPE792.
VMAC79
Jun 25, 2009
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 27.140 Change 27.062 incorrectly input S42DSRDD/S42DSRDT as &RB
VMAC42 but the fields are &PIB format.
Jun 25, 2009
Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.
Change 27.139 Line 1024 should be BO SCANLOOP Y. TRY ANOTHER VOLUME
ASMVTOC instead of BZ. This caused no volumes to be returned when
Jun 22, 2009 SELECT vol1 vol2 .. was used.
Thanks to Paul Gillis, Pacific Systems Management Pty Ltd, AUSTRALIA.
Change 27.138 -z/OS 1.10 SMF 85 OAM record INPUT EXCEEDED RECORD ERROR.
VMAC85 MXG Version/Release/ModLevel variable R85PRVM='1*0' was
Jun 18, 2009 created as it didn't expect a 2-digit Release Number.
Jul 17, 2009 Fortunately, R85PRVM is not kept so it was expanded to
now supports 2 digit Version so '1100' is GT '1 30'.
-TYPE85AC dataset. New variables
R85STY='RECORD SUBTYPE'.
R85STOK ='OSREQ*STOKEN'
R85RC2 ='OSREQ*RETURN*CODE*TWO'
-Subtypes 8 thru 10 now are also output to TYPE85AC.
-But the R85PRVM value is not consistent. These values
are found in my past test data files:
1999 1. 4.0
2003 1. 3.0
2003 2.10.0
2007 1. 8.0
2009 1.10.0
-Jul 17: New variables added to TYPE85ST dataset:
R85PUDK ='BYTES*DELETED*TAPE*SUBLEVEL 2*/
R85PUDO ='PRIMARY*OBJECTS*DELETED*TAPE*SUBLEVEL 2'
R85PURK ='BYTES*READ*TAPE*SUBLEVEL 2'
R85PURO ='PRIMARY*OBJECTS*READ*TAPE*SUBLEVEL 2'
R85PUWK ='BYTES*WRITTEN*TAPE*SUBLEVEL 2'
R85PUWO ='PRIMARY*OBJECTS*WRITTEN*TAPE*SUBLEVEL 2'
-Corrections to handling of subtype 78,79,and 88 for
test data from versions 1100, 1 30, and 1 40.
Thanks to Joachim Sarkoschitz, DATEV eG, GERMANY.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 27.137 Analysis of interval zIIP usage by JOB/PROGRAM/etc using
ANALZIPU PDB.SMFINTRV. You define the ZIPGROUP variable to group
Jun 18, 2009 that is then summed for each interval, and the percentage
of total zip usage by that ZIPGROUP for that interval is
calculated. The analysis does demand that your SMF 30
data is synchronized.
Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.
Change 27.136 Unused Change.
Change 27.135 The (VERY OLD) ANALRMFI example's selection criteria had
ANALRMFI test for a series of variables ANDed to be GE 0, but some
Jun 17, 2009 of the variables are, now, always missing (logical swaps)
causing nothing to be selected. The WHERE clause tests
now are ORed, and always-missing variables were removed.
However, like all ANALxxxx report examples, this is only
an example, as a starting report to be tailored into your
very own report, if the report is of interest.
Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.
Change 27.134 Further support for IBM i, i5/OS, iSeries, or AS400 V6R1
EXQAPHDW (to include all old and new names of these products).
IMACQACS New dataset created:
VMACQACS -QAPMHDWR Hardware Configuration
VMXGINIT Existing datasets updated:
Jun 17, 2009 -QAPMBUS - BUIOPB increased from 2 to 3 bytes.
Jun 18, 2009 -QAPMJOBM- New variables added:
JBJTHDT ='JVM*THREAD*TYPE'
JBJVMF ='JVM*STARTED'
JBJVMT ='JVM*TYPE'
JBMDYR ='FILE*SYSTEM*DIRECTORY*READS'
JBMLCH ='FILE*SYSTEM*LOOKUP*CACHE HITS'
JBMLCM ='FILE*SYSTEM*LOOKUP*CACHE MISSES'
JBMNDC ='FILE*SYSTEM*NON-DIR*CREATE*OPS'
JBMNDD ='FILE*SYSTEM*NON-DIR*DELETE*OPS'
JBMOPN ='FILE*SYSTEM*OPEN*OPERATIONS'
JBMSLR ='FILE*SYSTEM*SYMBOLIC*LINK READS'
JBPASE ='I5/OS*PASE*RUNTIME*ACTIVE'
JBPGRL ='PAGE*FRAMES*RELEASED'
JBPGRQ ='PAGE*FRAMES*REQUESTED'
JBSCPU ='SCALED*CPU*MICROSECONDS'
JBSTCPU ='TOTAL*SCALED*JOB*CPU'
There were also a number of fields labeled RESERVED that
are INPUT and kept, in case they become populated.
-QAPMSYST New variables added:
SYSIUL ='USER*AUTHORIZATIONS*AVAILABLE'
SYSCIU ='USER*AUTHORIZATIONS*NEEDED'
Thanks to Clayton Buck, UniGroup, USA.
Change 27.133 Variable CFBUSYTO is created in TYPE74CF as the sum of
VMAC74 all CF engine busy time (CFBUSY01-CFBUSY16).
Jun 16, 2009
Change 27.132 DB2 V8 IFCID=22 Record with truncated name fields caused
VMAC102 INPUT STATEMENT EXCEEDED RECORD LENGTH some of the time.
Jun 16, 2009 -MXG 27.05 was still wrong for some cases; Jul 2 revision
Jul 2, 2009 with tested with both V8 and V9, but the V8 records do
not exactly agree with the V8.1 DSECTS, so counters were
added to ensure alignment (I hope!).
Thanks to Tom Buie, Southern California Edison, USA.
Change 27.131 Enhancements to DB2PM-like STATISTICS LONG report have
ANALDB2R caused updates to create/correct needed DB2 variables:
ASUMDBSS -Variables QWHADSGN,QWHAMEMN kept in all DB2ACCTx/DB2STATx
READDB2 datasets, as they are in the header of all DB2PM reports.
TRNDDBSS -Variables QDSTQMIT QTMAXPB QDSTQIN2 QBSTXIS QTGSPEMX
VMAC102 QXMAXDEG QXSTXMLV QXSTLOBV
VMACDB2 were DIF()'d but they do not contain accumulated values.
Jun 26, 2009 -Variables QDSTQIN2 QTPACOW1 QTPACOW2
were NOT DIF()'d, now are, contain accumulated values.
-Variables QTGACSLM QTGALSLM QTGAUSLM QTGSCSLM QTGSLSLM
and QTGSUSLM are actually spelled QTG..LSM in DB2 DSECT,
but once named in MXG there only pain and anguish if I
rename a variable, and these aren't important enough to
have me create correctly spelled duplicate variables.
-T102S106 System Parameters dataset was updated with these
new variables added for V8 and V9:
QWP1ACCU QWP1ACID QWP1CDB QWP1IDBP QWP1IXPX QWP1IXQT
QWP1LVA QWP1LVS QWP1LWCK QWP1MOFR QWP1RLFA QWP1SYFL
QWP1SYMV QWP1TP16 QWP1TP32 QWP1TP8 QWP1TPLB QWP1TPXM
QWP1TSQT QWP1WLME QWP1XVA QWP1XVS
QWP4APS QWP4FRLC QWP4IAST QWP4MIS6 QWP4MS4C QWP4MXAB
QWP4MXDC QWP4NUPT QWP4PMGT QWP4RSDC QWP4RSMT QWP4SKLC
QWP4SRTN QWP4WFAL
QWP5DCYC QWP5DLOK QWP5FLG QWP5HASH QWP5MCSA QWP5PHSH
QWP5RLE QWP5TVAL
QWP9TCKA QWP9INAC
QWPBAPSC QWPBDB2S QWPBDDRM QWPBLCTP QWPBLNM QWPBNUFN
QWPBPADN QWPBUGID QWPBUMID QWPBUSID
-New ASUMDBSS Statistics Summarization summarizes:
Default INPUT dataset Default OUTPUT dataset
PDB.DB2STATS PDB.ASUMDBSS
PDB.DB2STATB PDB.ASUMDBBS
PDB.DB2GBPST PDB.ASUMDBSG
The new ASUMDBSS eliminates the need for old ASUMDBSB as
only ASUMDBSS is needed to create all three stat ASUMs.
-New TRNDDBSS Statistics Summarization summarizes:
Default INPUT dataset Default OUTPUT dataset
WEEK.ASUMDBSS TREND.TRNDDBSS
WEEK.ASUMDBBS TREND.TRNDDBBS
WEEK.ASUMDBSG TREND.TRNDDBSG
The new TRNDDBSS eliminates the need for old TRNDDB2S and
TRNDDB2X, as TRNDDBSS creates all three stat TRNDs.
If you are currently using TRNDDB2S or TRNDDB2X, read the
comments in TRNDDBSS with the one-time migration example.
-Statistics reports can be selected by DB2 subsystem
(QWHSSSID), local location (QWHSLOCN), BEGIN and END time
using the DB2 DB2LOCAL BEGTIME and ENDTIME parameters.
-READDB2 revised with new parameter RUNASUMS, default NO.
Set RUNASUMS= interval desired (HOUR/DATE/WEEK/etc.) and
the ASUMDB2S will create the statistics summary datasets
in PDBOUT library.
-ANALDB2R these reports have been brought up to date with
DB2 Performance Expert/Performance Monitor documentation:
PMACC01/PMACC03=Accounting short report
PMSTA01/PMSTA03=Statistics long reports
PMSTA02/PMSTA04=Statistics short reports
PMSPR01=System Parameter Report
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.130 These variables for dataset QAPLPAR
VMACQACS LPCAP LPAVL LPBSY LPRSP LPRDS LPWRTS
Jun 15, 2009 LPDISK LPMEM
were INPUT but not kept.
Thanks to David Bixler, FISERV, USA.
Change 27.129 Support for changes to CONTROL-D TYPE C User SMF record.
VMACCTLL Eight LOGCODE values have existing JOBNAME RECIPIENT and
Jun 15, 2009 REPORT variables in different locations, plus two new
ACTIONCT and VALUESCT variables.
Thanks to Josep Miquel, La Caixa, SPAIN.
Change 27.128 Change 27.046 made major update to EDGHSKP type D,V,X but
VMACEDGR invalid syntax of 'GT . GT . ' was not detected, causing
Jun 12, 2009 MANY datetime variables to have missing values.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 27.127 Support for CONTROLT for "daily dataset" billing, and
DAILYDSC other "DAILYDSN" job enhancements:
DAILYDSN -New DAILYDSC created for CONTROLT.
DAILYDSR -DAILYDSR modified to handle SPACE6 DAYS6 (bytes on
IMACVTS virtual and days)
JCLDAYDS -DAILYDSN modified to handle SPACE6 DAYS6 and to use the
Jun 11, 2009 same constructs as DAILYDSC overriding the _L for the
output TMS datasets to send them to the DATASETS LIB.
-IMACVTS used by all of the above to set a variable
VIRTREAL to REAL or VIRT. Comments on usage in member.
Default is REAL.
-JCLDAYDS modified to add a CTLT step
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.126 zVM Velocity Software variable SYTLPNAM/LCPUNAME is no
VMACXAM longer kept in dataset XAMSYU, which has an observation
Jun 11, 2009 with the LPAR management time for each hardware Engine,
and is not a per-LPAR dataset. MXG had incorrectly kept
SYTLPNAM from the last SYTCUP segment.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.125 -DB2 V8 Only, DB2STATS variables QISESKCT, QISESKPT were
VMACDB2 zero in SMF 100 subtype 1 records with LENQISE=148 bytes.
Jun 10, 2009 The QISE V8 DSECT was 96 bytes, ending at QISECFRE. In V9
QISE increased to 148 bytes. MXG tested length to input
new fields, so when a DB2 V8 record LEN=148 was read, the
new fields were input. However, in V9 IBM relocated the
two SKCT/SKPT fields into the first 8 bytes of the new
data, but this V8 record has zeros there, and the two
original field locations contain the number of SKCT and
SKPT pages. The MXG Logic continues to read new fields
QISEKFAL QISEKPGE QISEKFRE QISECTA QISEKTA
QISESFAL QISESPGE QISESFRE QISEKNFM QISEKNFA
QISEKNFR
with LEN=148 records, but no longer replaces the already
QISESKCT or QISESKPT values if the record is from V8.
-The MERGE of TEMPSTAT (ST0+ST1) and DB2STAT4/T102S225
now outputs PDB.DB2STATS if TEMPSTAT obs exist; Change
27.097 incorrectly also output unmatched 225s, including
the initial IFCID=225 for each subsystem, which has no
no matching ST0+ST1 observation. If only 225's exist,
then PDB.DB2STATS will have no observations, but the 225s
data will still be found in DB2STAT4 and T102S225.
-Change 27.097 incorrectly kept QWHSSTCK in PDB.DB2STATS;
BEGTIME ENDTIME are the datetime variables.
Thanks to John Shuck, SunTrust, USA.
Thanks to Chuck Hopf, Independent Consultant, USA
Change 27.124 "WARNING: Apparent invocation of macro TRIM not resolved"
VMXGOPTR is serious, but ONLY happens if your //SASAUTOS does not
Jun 9, 2009 include the SAS-supplied AUTOCALL library, or if your
CONFIGVx in use doesn't have this required statement
OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS);
because %TRIM() is delivered by SAS as a %MACRO in their
AUTOCALL library. Previously, only a few ANALxxxx used
%TRIM(), but in MXG 27.04, it was added to %VMXGOPTR by
Change 27.092, and %VMXGOPTR is used throughout MXG, so
several sites with defective SASAUTO allocations failed
when they installed MXG 27.04 (but they would have failed
earlier if they had used any of those ANALxxxx's!). But
with closer examination, we have eliminated the need for
the %TRIM() use in %VMXGOPTR, as the string is already
aligned, so I've removed the recently-added %TRIM() from
VMXGOPTR in this change.
Note: Change 27.278 also documents that %TRIM macro will
not be found if you have chanced MXG's S2=0 option to any
other non-zero value.
Change 27.123 -ASUMCEC dataset with an IFL still had missing values in
VMXG70PR CPCFNAME CPCMSU NRPHYCPS PARTNCPU PCTCPUBY PCTOVHD PCTPOV
Jun 7, 2009 variables, and wrong values in these variables:
Jun 9, 2009 IFACPUS IFAUPTM ZIPCPUS ZIPUPTM
even after Change 27.102 claimed to correct that error.
The problem only occurs if you have an IFL LPARs that is
also the highest numbered LPARNUM.
Change 27.076 added the support for IFL LPARs to ASUM70PR
output datasets; new observations are created for each
IFL LPARNAME in the two LPAR-specific datasets ASUM70LP
and ASUMCELP, but these new obs only populate only these
IFL resource variables
IFLACTTM IFLCPUS IFLUPTM IFLWSTTM PCTIFLBY
populated. All of the resource variables for the other
engine types (CP,ICF,ZIP,IFA) will have missing values in
the IFL observations. Those missing values were then
inadvertently propagated into the CEC-interval ASUMCEC
dataset. Several data step's sort order and logic were
revised to correct the error.
Thanks to Clayton Buck, UniGroup, USA.
Change 27.122 -Support for APAR OA26832 (increased Service Units field
VMAC30 from 4 to 8 bytes), is needed now, thanks to IBM, because
Jun 7, 2009 z/OS SYSTEMS NEVER FAIL: we now have long-running-tasks
Text revised where long is measured in months, and whose 4-byte fields
Jun 30, 2009 can fill and wrap, truncating those service unit values.
But Service Units are NOT used to calculate any normal
MXG CPU Time variables in TYPE30 data; those CPU times
are read directly from the SMF 30 record, except for the
MXG-only variable SRVTCBTM, the TCB CPU time calculated
from CPUUNITS, added so CPUTCBTM and SRVTCBTM could be
compared to see if using Service-Unit-Based CPU time had
more resolution than the recorded CPU time. Except for
wrapping, I saw VERY little difference between the
CPUTCBTM and the SRVTCBTM when SRVTCBTM was added in MXG.
-Variable SMF30INV has bits for each of the six fields set
if the 4-byte service unit field had wrapped.
-These IBM named fields are cited in the APAR:
SMF30SRV SMF30CSU SMF30SRB SMF30IO SMF30MSO SMF30ESU
and their corresponding MXG variables are these:
SERVUNIT CPUUNITS SRBUNITS IOUNITS MSOUNITS ENCLCPSU
in all of the TYPE30 datasets.
Change 27.121 In Change 27.078 I caused assembly errors
ASMIMSL6 ASMA034E Operand WTOAREA beyond active USING by 61 bytes
Jun 6, 2009 when I added messages for the new log record, proving I
am NOT an ASM programmer; shortening the message text did
circumvent the error, but this correction has been made
by "asmguy@mxg.com" who speaks that language for me.
Thanks to Mark Van Der Eynden, HP, AUSTRALIA.
Change 27.120 Support for RMF III z/OS 1.10 new ASI fields (INCOMPAT).
VMACRMFV These variables are now INPUT/KEPT, but as they were
Jun 5, 2009 inserted (rather than appended) to the ASI record, other
ASI variables will be trashed without this change.
ASILVNMO='PRIVATE*MEMOBJ*ALLOCATED'
ASIHVCOM='64-BIT*COMMON*MEMOBJ*ALLOCATED'
ASILVSHR='SHARED*MEMOBJ*ALLOCATED'
ASILVABY='PRIVATE*MEMOBJ*BYTES*ALLOCATED'
ASIHVCBY='COMMON*STORAGE*BYTES*ALLOCATED'
ASILVSBY='SHARED*MEMOBJ*BYTES*ALLOCATED'
ASIHVVBY='HWM*64-BIT*COMMON*BYTES*ALLOCATED'
ASILVMEM='ADDRESS*SPACE*LIMIT*IN MB'
Thanks to Rodger Foreman, Acxiom, USA.
Change 27.119 Documentation. A BUILDPDB SPIN library created on z/OS
BUILDPDB can be PROC CIMPORT copied to an ASCII system, but you
SPIN then must sort SPIN datasets (to change the z/OS EBCDIC
Jun 4, 2009 sort order to match the ASCII sort order) before you can
use that SPIN library with BUILDPDB.
The required SORT statements are:
PROC SORT DATA=SPIN.SPIN30_1;
BY READTIME JOB JESNR JINTIME;
PROC SORT DATA=SPIN.SPIN30_4;
BY READTIME JOB JESNR TERMTIME;
PROC SORT DATA=SPIN.SPIN30_5;
BY READTIME JOB JESNR DESCENDING JTRMTIME;
PROC SORT DATA=SPIN.SPIN26;
BY READTIME JOB JESNR JPURTIME;
Change 27.118 -Cosmetic. DDs with DEVCLASS='00'x now have DEVICE='00X'
VMACUCB instead of DEVICE='OTHER'. These values occur for SYSIN,
VMAC30 SYSOUT and other JES-owned DDs that don't have actual
Jun 3, 2009 allocations. Now, 'OTHER' really is "other".
-Dataset TYPE30_D now has DEVCLASS and DEVTYPE kept, just
in case you get "other" values and need to know them.
Thanks to Kim Westcott, New York State OFT, USA.
Change 27.117 MXG 27.03-27.04. Change 27.071 introduced an extraneous
TRNDDB2A %; in line 44 that is now removed.
Jun 3, 2009
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.116 Type 14/15 records with a non-zero BLKSIZE (from JFCB, in
VMAC1415 record bytes 167-168), but with a Subtype=5 "Additional
Jun 3, 2009 Data Set Characteristics Section" with SMF14BFG='C0'X,
(indicates that the SMF14LBS blocksize field is valid),
have SMF14LBS=0, and MXG logic replaced BLKSIZE with the
newer SMF14LBS with SMF14BFG='1.......'B. The MXG logic
is revised to use MAX(BLKSIZE,SMF14LBS) if the SMF14BFG
bit is on, but this seems to be an APARable IBM problem.
Originally, 23173 obs had BLKSIZE=0, but after the change
there were only 1186 TYPE1415 obs with BLKSIZE=0.
Thanks to David Shaw, M&T Bank, USA.
Change 27.115 Using TIMETABL to SYNC59 individual systems with a value
VMXGTIME in column 71 also required you to %LET MXGTIM59=YES, but
Jun 3, 2009 that is redundant and is now removed; the value found in
71-72 is always used (0, blank, 1, or other minutes).
====== Changes thru 27.114 were in MXG 27.04A dated Jun 2, 2009========
Change 27.114 MXG programs that are "TAPE-aware" test the "PDB" DD for
ANALDB2R its device type of tape to avoid multiple mount/rewinds,
VMXGTAPE but they only were tested with JCL allocation. If the
Jun 5, 2009 the tape "PDB" is allocated by a LIBNAME statement it may
fail with "ERROR: NO LOGICAL ASSIGN FOR filename ddname".
MXG's algorithm to identify a LIBNAME as a tape device
CLEARs the LIBNAME and re-opens it as a FILENAME; a CLEAR
is required to change libref from a LIBNAME to FILENAME,
but a CLEAR unallocates the libref from the library, and
a subsequent reference (to read it) caused the ERROR.
But by moving %VGETENG to first test the "ddname" for its
device type, if we get the device type back, then that
ddname was OPENed, either by a prior use, or because it
was allocated by a LIBNAME statement, and we're done,
since we have the device type. But if %VGETENG returns
"UNKNOWN" for device type, then we know that library was
JCL-allocated and was not OPEN, so we could safely CLEAR
the LIBNAME and open as FILENAME open with a FILENAME and
still get back to the LIBNAME. But, because the LIBNAME
has NOT been OPENed, we really don't need to CLEAR it
before opening it as a FILENAME, so FILENAME ... CLEAR is
now removed from these members.
The CLEAR is still required to switch the other way, from
a FILENAME to a LIBNAME, so a DD name allocation rather
than a LIBNAME allocation may be required. For example,
this ERROR will also occur with the WEEK/MONTH builds if
you use the TAPETEMP option, and if you try to allocate
TAPETEMP with a LIBNAME statement. There is no possible
circumvention, as we must, by design, issue the CLEAR, so
you must use a DD statement rather than a LIBNAME.
Thanks to Brian A. Harvey, HCL America, USA.
Change 27.113 OMCI INTR Subtype 200 RECSUBTY 4 segments are 58 bytes in
VMACOMCI length; MXG code guessed 53 bytes (and noted "UNTESTED").
Jun 1, 2009 The guess caused INPUT STATEMENT EXCEEDED error.
Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.
Change 27.112 VMXGALOC only correctly allocated weekly PDBs datasets if
VMXGALOC you were using Week-To-Date logic, and if FIRSTRUN=YES,
BLDSMPDB the TREND datasets were not correctly allocated.
May 31, 2009
Jun 11, 2009 BLDSMPDB did not protect for no datasets in the PDB for
WEEKLY processing, and did not end a loop after all of
the datasets were processed, causing in a failed SUBSTR
function ERROR. The loop logic now runs only if datasets
exist in the input, and then only for the number of them.
Thanks to Gary Havlatka, Creative Automation, USA.
Change 27.111 Support for multiple TMS/CA-1 catalogs creates IHDRTMS5
IHDRTMS5 exit, adds &TMSJFCB FILENAME=INFILENM &TMSEOV options to
TYPETMS5 the INFILE TMC statement, creates new TMSLIB and TMSDATE
TYPSTMS5 variables, now inserted into the sort BY list used:
VMACTMS5 BY ZDATE TMSLIB TMSDATE VOLSER ....
VMXGINIT and, in the example code in IHDRTMS5, show how you can
May 31, 2009 populate TMSLIB by parsing the DSNAME of each TMC infile,
and how to populate TMSDATE with the Create Date from the
JFCB of each infile.
-The location of the INFILE, IMACZDAT, and IHDRTMS5 was
moved into the MACRO _CDETMS macro definition in VMACTMS,
to match the expected sequence of those exits.
-New macro variable MACTMSH is created for "instream" code
alternative for the IHDRTMS5 header exit.
-New macro variable TMSJFCB=JFCB=TMSJFCB ; is set ONLY if
if MXG is executing under z/OS, where JFCB= exists.
-New macro variable TMSEOV=EOV=TMSEOV ; is now set ONLY
if MXG is executing under SAS, as WPS JFCB= exists.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.110 -I. MXG 27.05 execution tests with WPS 2.3.5 under ASCII:
DOC Summary: Most MXG programs execute under WPS error-free.
Jun 5, 2009
AUTOEXEW This program that creates MXG datasets cannot be used:
MXGWPSV2 TYPESVC - DS8000 Disk SAN Volume Controller XML record;
READDB2 WPS does not support NAMED INPUT.
UTILXRF1
TYPELSAR This program that creates MXG datasets bypasses a new MXG
VMACNMON feature when executed under WPS:
VMXGINIT TYPETMS5 - CA-1/TMS Catalog support for multiple TMC's:
Jul 4, 2009 Added in Change 27.111, the INFILE EOV option
(that allowed concatenation recognition so
multiple catalogs could be concatenated) is
not supported, so &MXGEOV is blank with WPS.
These report example programs use features not in WPS:
ANALCISH - ALL report - PROC SQL run time.
ANAL80A - PROC REPORT.
ANALAVAL - PROC CALENDAR.
ANALPATH - OVERPRINT option PUT statement.
UTILXRF1 - TRANSCODE attribute in DICTIONARY.COLUMNS
UTILXRF1 - VALIDVARNAME=UPCASE.
-The below were previously listed here as not usable, but
the inhibiting feature is now supported:
ANALMPL - PROC PLOT VREVERSE,VPOS options not there.
ANALTAPE - PROC PLOT VREVERSE,VPOS options not there.
SASAUTOS - Warning not assigned, macros empty
-The HBAR option of PROC CHART is now supported, so these
members are now reinstated in the WPS QA tests:
ANALCICS ANALMONI ANALPRNT ANALSMF
-WPS 2.3.5 does not support SAS "NAMED INPUT" syntax, used
in TYPESVC Open Systems DS8000 Disk SAN Volume Controller
support. The NAMED INPUT syntax has always been in SAS:
INPUT FIELD1= FIELD2= ;
and is used to read data records that have
field1=value1 field2=value2
but it wasn't needed in MXG until this pseudo-XML data
file was supported last November.
-WPS 2.3.5 does not support the EOV= option on the INFILE
statement, newly needed for Change 27.111 to support read
of multiple TMC libraries in TYPETMS5.
-WPS 2.3.5, like 2.2, doesn't support OPTION VALIDVARNAME.
Change 25.025 removed VALIDVARNAME=V7 from WPS CONFIGW2,
because the V7 function, to permit long variable names,
was the default in WPS. But now, in MXG's UTILXRF1, used
to create the DOCVER documentation, I needed to set SAS
option VALIDVARNAME=UPCASE so the variable names out of
the PROC CONTENTS were upper case, which causes WPS 2.3.5
to fail with
ERROR: System option "VALIDVARNAME" is not known.
-WPS 2.3.5 doesn't support TRANSCODE attribute in the
DICTIONARY.COLUMNS dataset, used only in UTILXRF1 to
create the DOCVER documentation. The TRANSCODE attribute
is new in MXG and only exists in SAS v9, so MXG did not
execute the &MXGNOTRA when under WPS due to the SASVER=8
that is set when MXG executes under WPS, but this usage
is now also circumvented so the rest of the UTILXRF1 can
be tested under WPS.
-WPS 2.3.5 SASAUTOS library has no members, which caused a
minor WARNING: SASAUTOS IS NOT ASSIGNED. VMXGINIT issues
LIBNAME SASAUTOS LIST; to list the concatenates, but that
statement is now conditionally not-executed with WPS to
eliminate that harmless WARNING message on the log.
With SAS, the SASAUTOS library is required because %TRIM
is delivered as a source-code %MACRO in the SASAUTOS PDS,
but WPS implemented %TRIM internally, so MXG doesn't need
to point to SASAUTOS FILENAME under WPS.
NOTE: While FILENAME SASAUTOS is NOT required with WPS,
MXG under WPS still requires the
OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB;
executed in VMXGINIT, so that WPS will look in
//SOURCLIB to resolve all %MACRO references.
So all references to SASAUTOS FILENAME in the MXGWPSV2
JCL Procedure example and in the AUTOEXEW ASCII autoexec
file were removed. Just for documentation, the WPS .CFG
file has the default -SASAUTOS \&wpsroot\macros.
-The COUNTW() function, added to TYPENMON in Change 27.080
only exists with SAS V9, so TYPENMON failed with either
SAS V8.2 or WPS 2.3.5. NMON code was modified to only
use COUNTW() if under V9; a DO LOOP to count the commas
is used when not under SAS V9; same change in TYPELSAR.
-New dataset names "WORK._temp1559410888854220" structure
are created internally by PROC TRANSPOSE.
-Circumvented in READDB2. WPS %Macro Compiler does not
resolve triple-percent-signs the same way that SAS does,
which caused WPS to die with a compiler error in READDB2.
but, all READDB2 %%% and %% tokens are end-delimiters for
old-style-macro-definitions, and, most fortunately, they
are no longer required (the problem they circumvented was
fixed in SAS long ago), so they could be replaced with a
single percent sign in READDB2. (There are still cases
when %%% is required in other MXG members, often before
an embedded %INCLUDE statement, but WPS handles those
without error.)
-Fixed in WPS Build 12169:
WPS 2.3.5 failed when a FILENAME with concatenated input
files was read; the RECFM/LRECL on the FILENAME statement
was not honored and a STOPOVER resulted when the system
default of V/256 was used for F/340 data. This WPS error
when files are concatenated is fixed in WPS Build 12169.
-Run Time Comparisons on Windows, zero observations input:
MXG QA's first 36 "steps" create all 4700 MXG datasets in
the LIBNAME VERSvvrr, and run times were comparable, with
SAS V9.2 taking 10 min and WPS 2.3.5 taking 13 minutes.
But Step 47 TESTANAL, took over 80 Minutes (vs 2 for SAS)
due to a WPS error in its PROC SQL, BUT, an error that is
ONLY likely to occur in MXG's QA tests. MXG's %VGETOBS is
invoked frequently in ANALxxxx examples, to test if a
dataset exists and if it has observations, and it uses
PROC SQL: SELECT FROM DICTIONARY.TABLES
WHERE LIBNAME= MEMNAME=;
The (internal) DICTIONARY.TABLES dataset has one obs for
each dataset in each LIBNAME. The MXG QA TESTANAL step
allocates the 37 different LIBNAMES (PDB, WEEK1-WEEK5,
MONTH1-MONTH5, etc) that may needed by ANALxxxx programs
to that VERSvvrr directory with its 4700 datasets. So,
there are 37*4,700=173,900 datasets in DICTIONARY.TABLES,
which overwhelms the defective WPS PROC SQL; each execute
takes over 90 SECONDS of CPU and Elapsed time. WPS has
identified their PROC SQL error and it will eventually be
fixed.
In addition to the long run time of the QA job due to the
PROC SQL error, the QAWPSXX job has never completed. It
gets to the TESTANAL code, and then in ANAL115 it just
hangs, continuing to execute, using CPU time, but with no
further log messages, and the last message was a %VGETOBS
PROC SQL execution. Skipping ANAL115 allowed the TESTANAL
to get to ANALDB2R before it again hung, and again that
last message was a PROC SQL execution. But since each of
the ANALxxxx programs execute standalone, this too is an
error unlikely to occur outside the MXG QA test runs.
II. Z/OS Specific Tests, unresolved as of July 4, 2009:
-The Large ARRAY(256,512) problem in VMXGGETM that was
fixed in WPS 2.3.4 (WPS Error #6276, Change 26.258)
has shown up again in WPS 2.3.5. UTILGETM is only used
in the MXG Test Jobs, to create a small SMF file with
a few records of each type and subtype, so this is not a
fatal error for normal execution.
-In the QA job only, after many data steps were run and
many datasteps had been written to the PDB library, the
BUILDPD3 step job failed with "PDB LIBRARY CORRUPTED"
error message. However, since the BUILDPD3 program runs
fine when outside of the QA job, this is most likely an
issue with WPS "PROC SQL".
III. Miscellaneous
-The //LOGCFG DD is no longer used by WPS, so it is now
removed from MXGWPSV2 JCL Procedure example.
Change 27.109 QA COMPALL program found character to numeric conversion
VMACLDMS for not-kept-variable SEGMENT in VMACICE and VMACXPTR and
VMACXPTR for not-kept-variable LDMSTYPE in VMACLDMS, both fixed.
May 29, 2009 The COMPALL program compiles ALL of the MXG code members
that read SMF records, in a single (MASSIVE) DATA step to
create 1907 datasets, all with zero observations because
the INFILE SMF is a zero-length or DD DUMMY file.
So COMPALL is also a good SAS compiler stress test.
Last year, Change 26.217 compared COMPALL with SAS 9.1.3
and WPS 2.2, but the z/OS comparison was wrong.
Now with MXG 27.04, which creates 1907 datasets and more
variables, and now using WPS 2.3.5, SAS 9.2 and SAS 9.1.3
these comparisons are observed:
Compiler Platform Run Time Memory Required
SAS 9.2 Win/XP 96 seconds 1185 MB
SAS 9.1.3 Win/XP 86 seconds 1158 MB
WPS 2.3.5 Win/XP 101 seconds not reported
SAS 9.2 z/OS 7 minutes 1210 MB
SAS 9.1.3 z/OS 12 minutes 1194 MB
WPS 2.3.5 z/OS 17 minutes 1037 MB
Enabling the full diagnostic options to print all source
only increased the SAS V9.2 WIN/XP run time by 6 seconds.
Change 27.108 &NULLPDS, &LOAD, &SASAUTOS JCL Symbolics in MXG JCL Proc
MXGSAS examples are removed. They were never required, rarely
MXGSAS92 used, and then, only in ancient releases of SAS. And now
MXGSASV9 have caused JCL errors when very old and more recent JCL
MXGSASV8 procs are used in the same job. such as this error:
May 27, 2009 IEC143I 213-04,IFG0194D,M577FPA1,SASMXG,STEPLIB
MXGWPSV2 Their only purpose was to override the //STEPLIB or the
JCLQAWPS //SASAUTOS DD statements, which can easily be done in the
Jun 1, 2009 JOB's JCL, with no exposure to the &NULLPDS DISP issues.
(See CHANGESS for the many NULLPDS historical hits!)
-JCLQAWPS moved LIBRARY to be before SOURCLIB so its JCL
overrides matched the order in MXGWPSV2.
Thanks to Stuart Wildey, Morgan Stanley, USA.
Thanks to MP Welch, SPRINT, USA.
====== Changes thru 27.107 were in MXG 27.04 dated May 27, 2009========
Change 27.107 Support for BMC's IMF 4.4 (COMPATIBLE) added some new
VMACCIMS variables and some variables MXG had overlooked.
May 26, 2009 These new variables are now created in IMFTRAN:
Jun 2, 2009 CPUTRNX ='CPU AFTER*TRN STOP SET'
TRNOTCLP='IMS*CONNECT*CLIEN*PORT NUMBER'
TRNMQMID='MQS*MESSAGE*ID'
TRNCVTTZ='TRNCVTTZ*GMT*TIME ZONE*OFFSET'
TRNCAPPL='CICS*APPLID'
TRNFALSC='FALSE*SCHEDULES'
TRNTFLAG='COPY OF*RATTFLAG*DET TRACE'
TRNFALST='FALSE*SCHEDULE*ELAPSED*TIME'
This change has only been tested with 4.3 records.
Jun 2: TRNxxxxx fields wrong; Trace Table +80 vs +72
BMC APAR BAI9444 documents that the IMF Transaction CPU
time can exceed the transaction elapsed time, because the
APAR BAI9312 excluded the "stopped term thread activity"
time from being included in transaction elapsed time, by
setting the transaction stop time upon completion of the
Get Unique, regardless of whether it returned another
message. When it doesn't return another message, the
region goes through term thread, and the CPU used by the
terminate thread can cause the total transaction cpu to
exceed transaction elapsed time, since the transaction
stop time is set before term thread. BAI9444 modified the
IMEUTMR7 timing routine to separately record any CPU time
calculated after transaction stop time, in a new fields
named TRNXCPU, which MXG outputs in new variable CPUTRNX,
so you can identify that is the cause of CPU time greater
than elapsed time in IMS.
Change 27.106 Support for z/OS 1.10 storage metrics in SMF 119 create
VMAC119 these four new subtype=5 variables in TY11905 dataset:
May 25, 2009 TS6CEALO='CURRENT*ECSA*STORAGE*ALLOCATED'
May 28, 2009 TS6CENIU='CURRENT*ECSA*ALOC BUT*NOT INUSE'
TS6CPALO='CURRENT*AUTH PRIVATE*ALLOCATED'
TS6CPNIU='CURRENT*AUTH PRIVATE*NOT IN USE'
May 28: The four INPUT statements are &PIB.8., not 4.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA
Thanks to Aylin Kavas, Royal Bank of Canada, CANDADA
Change 27.105A-PDB.TYP70 variables with "CPU" in their name or label are
DOC supposed to contain only metrics for the "CP" engines.
May 24, 2009 Separate variables, with "ZIP" or "IFA" in their name or
their label, contain the metrics for zIIPs and zAAP/IFAs.
Those three types of engines require separate capacity
analysis (and even have different capture ratios in MXG's
RMFINTRV dataset).
And PDB.TYPE70 variable CPUPATTM contains the Parked Time
for (only) the "CP" engines.
However, the 64 individual-engine Parked Time is stored
in 64 variables named CPUPATM0-9,A,B.... So you could
have zero CPUPATTM in this MVS System, but CPUPATM4 could
be non-zero, if your 4th engine is a zIIP, for example.
-PDB.TYPE70 variable CPUWAInn for nnth engine's LPAR Wait
is variable NEWWAIT in PDB.TYPE70PR for that engine, and
the variable MVSWAInn for the nnth engine's MVS Wait is
variable ORIGWAIT in PDB.TYPE70PR; variable ORIGWAIT and
SMF70WST are very close in PDB.TYPE70PR, but SMF70WST is
smaller by as much as a half second in 15 minutes.
Change 27.105 The ACF2VR dataset is enhanced with new ACFMTYPE variable
FORMATS that is formatted by new $MGACFTY format to decode the
VMACACF2 combination of the 2nd-4th bytes of ACVMFRES and the HEX
May 21, 2009 value of ACVMFLGS NI (LOGICAL AND'ed) with '3E'x. These
new values are primarily for DB2 activity identification.
Thanks to Jake Phillips, Lowe's Companies, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to David Pflum, CA, USA.
Change 27.104 The BVIR TS7700 HYDRA data contains GMT values for all of
VMACBVIR its timestamps, SMFTIME, STARTIME, ENDTIME, and VERTIME,
May 24, 2009 whether the data is in History File or SMF File format,
Jun 1, 2009 but there is no field with the GMT Offset time, so you
must tell MXG your GMT Offset value, with this syntax
%LET MACKEEP= MACRO _BVIRGMT -18000 % ;
if you want those datetimes on your local time zone.
For USA sites, the value is negative, -18000 for EST at
5 hours, -14400 for EDT at 4 hours behind GMT, etc.
You set that GMT offset value using:
- SMF-FORMAT BVIR DATA:
// EXEC MXGSASV9
//SMF DD DSN=BVIR.SMF.FORMAT,DISP=SHR
//PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....
%LET MACKEEP= MACRO _BVIRGMT -18000 % ;
%INCLUDE SOURCLIB(TYPSBVIR);
or
- HISTORY-FORMAT BVIR DATA:
// EXEC MXGSASV9
//BVIRHIST DD DSN=BVIR.HISTORY.FORMAT,DISP=SHR
//PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....
%LET MACKEEP= MACRO _BVIRGMT -18000 % ;
%INCLUDE SOURCLIB(TYPSBVIH);
Labels were revised Jun 1.
Thanks to Perry Lim, Union Bank, USA.
Change 27.103 New INTERVAL values of THREEMIN and TWOMIN are created,
VMXGDUR and they can be used in any MXG INTERVAL= parameter in
May 21, 2009 ALL ANALxxxx/ASUMxxxx/TRNDxxxx/RMFINTRV invocations.
Thanks to Jacob Nudel, Thomson Reuters, USA.
Change 27.102 PARTNCPU and other variables in PDB.ASUM70PR could be
VMXG70PR missing values if the last LPARNAME in this sort order
May 20, 2009 BY CECSER SYSPLEX SYSTEM SYSNAME SMF70GIE GMTOFFTM
LPARNUM LPARNAME;
was for a non-z/OS LPAR, as the "CP-engine" variables
are missing values in non-CP-engine LPARS. This could
only occur with recent ASUM70PR enhancements in 27.02+
that added non-CP-engine LPARS to PDB.ASUM70PR dataset.
This case had a z/VM LPAR with only IFLs as last LPAR.
By changing sort order to GMTOFFTM DESCENDING LPARNUM,
the LAST LPAR for every interval will be LPARNUM=0,
LPARNAME='PHYSICAL' LPAR, which always has the variables.
Thanks to Paul Naddeo, FISERV, USA.
Change 27.101 -PRISMA log record could have colon or period delimiters
VMACPRPR in DATE or TIME character fields, so MXG had two separate
May 20, 2009 links for conversion, but four combinations could exist,
Jun 2, 2009 causing missing values in STARTIME and ENDTIME. But only
Jun 22, 2009 one conversion is needed, by using '.:' in the SCAN() to
decode with whichever delimiter is present.
-Variable COPY was not kept in PRPR1620 dataset.
-Jun 19: JOBNAME increased to $128 as it can contain more
text. Fortunately, since PRISMA code is executed
standalone, with only the PRISMA log file read, this ONLY
impacts the length of JOBNAME in the PRISMA datasets.
-Variables COPY, UNKNOWN, PRINTCNT, MEDIANUM, OFFSETS in
PRPR1620 are read in that order to correct values.
Thanks to Nik Marien, KBC Global Services NV, BELGIUM.
Change 27.100 -MXG "trashed" dataset ZRBLCP in RMF III from z/OS 1.10
VMACRMFV because MXG (in a rare case) didn't use the triplet for
May 20, 2009 offset/length for the INPUT of the CPC Logical Processor
May 25, 2009 Section (DSECT ERBCPCDB). 24 bytes inserted after the NR
of LCPUs, and 8 bytes added to each LCPUADDR segment with
CPUG3 Version=5 and CPCDB Version=4 are now properly read
using the triplet, which will also protect for future IBM
changes, transparently, without trashed output data.
-IBM RMF III Support provided doc of the new LCPUADDR data
fields, in those extra bytes, now these new variables
LCPUPRMN='PROC*MIN*WEIGHT'
LCPUPRMX='PROC*INI*WEIGHT'
LCPUPOLW='POLAR*WEIGHT'
in the ZRBLCP dataset.
-But in validating this correction, I saw that there were
observations for each LCPUADDR, including offline engines
and LCPUADDR that were NEVER dispatched during each one
minute interval, a waste of disk space, so the logic now
only outputs ZRBLCP observations if LCPUPDTM dispatch is
non-zero (but that could be overridden in MACRO _EZRBLCP
if you really want all the zero dispatch intervals to be
created).
Thanks to David Lo, Bank of America, USA.
Thanks to Betty Wong, Bank of America, USA.
Change 27.099 -The optional Omegamon DB2 segment for CICS/TS 3.2 or 4.1
IMACICOB had correct counts but the durations were way too small.
May 20, 2009 They were divided by 4096 instead of multiplied by 16 in
Change 25.238, when a new block of code for CICS/TS 3.2+,
for SMFPSRVR GE 65.0 used the /4096 conversion, expecting
a TODSTAMP value, instead of the old *16 conversion for
16 microsecond values. I must have misread the DSECT.
The new block with /4096, and the tests for SMFPSRVR are
now all removed, and there is a single code block for all
CICS versions.
-The 100-byte segment always exists when enabled, but its
internal length is zero if the transaction did not call
DB2, so the MXG logic now only INPUTs those 24 fields if
that length is non-zero (so those variables will have a
missing value in non-DB2 transactions, instead of all
having values of zero).
Thanks to Jim Polenti, Edward Jones, USA.
Thanks to Jeana M. Bechtel, Edward Jones, USA.
Change 27.098 -Typos in BLDSMPDB for WAS were corrected in BLDSMPDB
BLDSMPDB the statement weekkeep=&wek2kep.
VMXGALOC was changed to weekkeep=&wek2keep,
May 19, 2009 and after line 437, this statement was inserted
dayskeep=&day2keep,
-In VMXGALOC, the %GLOBAL was removed as superfluous;
the variables are being set by a SYMPUT which is an
implicit GLOBAL. This removed spurious messages on the
SAS log, messages that were different when MXG was run
in a Window versus run in Batch.
Thanks to Gary Havlatka, Creative Automation, USA.
Change 27.097 -PDB.DB2STATS now has ALL DB2 STATISTICS interval data.
READDB2 DB2 V9 DB2STAT0, DB2STAT1, DB2GBPST, DB2STAT4 (IFCID 225)
VGETOBS are merged to create PDB.DB2STATS, and for DB2 V8, the
VMACDB2 DB2STAT0, DB2STAT1, T102S225 are merged in PDB.DB2STATS.
May 24, 2009 -All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are
Jun 25, 2009 automatically merged into the PDB.DB2STATS dataset.
-All variables (QW0225xx) from T102S225 (DB2 V8) can be
merged into the PDB.DB2STATS dataset, but you may have to
make some updates, if you don't use %READDB2, below.
-READDB2 always creates DB2STAT4 with IFCIDS=STATISTICS.
-READDB2 only creates T102S225 if IFCIDS=225 .... is used.
-READDB2 updates PDB.DB2STATS with DB2STAT4 if STATISTICS
is specified. If IFCID 225 is also specified, then the
T102S225 is also updated into PDB.DB2STATS.
-If you use BUILDPDB, TYPEDB2, TYPSDB2 instead of READDB2:
-All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are
automatically merged into the PDB.DB2STATS dataset.
-All variables (QW0225xx) from T102S225 (DB2 V8) can be
merged into the PDB.DB2STATS dataset, but you have to
tell MXG you have V8 data to be added; see below.
-You should use PDB.DB2STATS for all statistics reports,
replacing use of DB2STAT0, DB2STAT1, DB2STAT4, DB2GBPST,
and T102S225 in your DB2 reports.
More details:
-DB2 V9 DB2STAT4 (optional IFCID=225, ID=100, subtype=2)
and DB2 V9 DB2GBPST (100 subtype 1 QBGL) variables are
now merged to expand existing PDB.DB2STATS dataset to
contain all variables for each interval for each DB2
Subsystem, i.e., all possible variables from the DB2
ID=100 Subtype 0, 1, or 4 SMF records. DB2STAT4 vars are
added by %INCLUDEs of TYPEDB2, TYPSDB2, or BUILDPDB, or
by using %READDB2(IFCIDS=STATISTICS) program for V9.
-DB2 V8 writes IFCID=225 as an SMF 102 subtype 225 Trace
record, and MXG creates the T102S225 dataset for V8, but
it has the same variables as the V9 DB2STAT4, so DB2 V8
IFCID=225 variables can also be added into PDB.DB2STATS:
-%READDB2(IFCIDS=STATISTICS 225,PDBOUT=PDB) will create
both T102S225 and DB2STAT4 and merge each to expand
and populate the PDB.DB2STATS dataset with both V8 and
V9 IFCID=225 variables.
-To add V8 IFCID=225 processing to BUILDPDB, and to add
those variables to PDB.DB2STATS, you need to EDIT
these statements into these MXG exit members into your
"USERID.SOURCLIB" tailoring PDS library/directory:
EXPDBINC:
%INCLUDE SOURCLIB(VMAC102);
EXPDBVAR:
MACRO _VARUSER _V102225 %
EXPDBCDE:
MACRO _CDEUSER _HDR102 _C102225 _END102 %
EXPDBOUT:
_SDB2STY
-If you instead use these other ways to create T102S225
dataset for DB2 V8, depending on how you created it:
if created by old-style macro macro variable
TYPE102 _W102225 &W102225
TYPS102 _L102225 &P102225
%READDB2 _W102225 &W102225
%READDB2(PDBOUT) n/a &PDBOUT
EXPDBOUT PDB PDB
then you have to use %LET to set the DDNAME of your
T102S225 dataset's library, and then insert the new
_SDB2STY macro token in your source program, after you
have created PDB.DB2STATS and PDB.T102S225, e.g.:
%LET PDB2STY=PDB;
_SDB2STY;
RUN;
-READDB2 in MXG 27.02-27.03, when ONLY the IFCIDS=225 was
requested, caused a 10-fold increase in CPU time if there
were lots of other DB2 records, because READDB2 in those
versions (incorrectly) created all of the other DB2ACCTx
and DB2STATx datasets when only T102S225 was desired.
lots of unwanted ID=101 records. Now, only T102S225 is
created if only IFCIDS=225 is specified.
-All executions of READDB2 should be faster; all non-DB2
SMF records are immediately skipped as soon as the SMF ID
is read; previously, all DB2 Product Headers were read
before record selection/skipping was done.
-PROC COPY IN=WORK OUT=&PDBOUT was incorrectly run (copy
each DATASET to the &PDBOUT libname) when &PBOUT=YES,
was specified, causing LIBNAME YES NOT FOUND. Now, the
PROC COPY is bypassed if PDBOUT=YES.
-VGETOBS was enhanced with new NOEXIMSG=NO argument that
bypasses printing of the DATASET DOES NOT EXIST message
and the DATASET HAS nnn OBSERVATIONS message, useful when
VGETOBS is used only to detect that a dataset exists.
-These new variables, based on IBM MEMU2 report example:
are created in PDB.DB2STATS from the DB2STAT4/T102S225:
CUSHION = QW0225SO+QW0225MV+QW0225CR;
NDB2STOR= QW0225EH-QW0225GM-QW0225GS-QW0225FX-QW0225VR
ALLOWSTR= QW0225RG-CUSHION-NDB2STOR;
THRDUSE = QW0225RG-CUSHION-NDB2STOR-QW0225GM
-QW0225AS-QW0225FX-QW0225EL;
THRDFTPT= (QW0225VR-QW0225AS+QW0225GS) /
(QW0225AT+QDSTCNAT);
MAXTHRDS= THRDUSE / THRDFTPT;
TOTTHRDS= QW0225AT+QDSTCNAT;
OVERALLO= MAXTHRDS - TOTTHRDS;
CUSHION ='CUSHION*WARNING'
NDB2STOR='TOTAL*DBM1*STORAGE'
ALLOWSTR='ALLOWABLE*STORAGE'
THRDUSE ='THREAD*STORAGE*USED'
THRDFTPT='THREAD*STORAGE*PER THREAD'
MAXTHRDS='MAXIMUM*THREADS'
TOTTHRDS='TOTAL*THREADS'
OVERALLO='OVER*ALLOCATED*THREADS'
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Change 27.096 There is a new "MEM" object with 15 new variables:
VMACNMON MEMTOTAL HIGHTOTAL LOWTOTAL SWAPTOTAL MEMFREE
May 18, 2009 HIGHFREE LOWFREE SWAPFREE MEMSHARED CACHED
BIGFREE BUFFERS SWAPCACHED INACTIVE ACTIVE
instead of the non-overlapping 5 memory variables that
were in previous NMON MEM Object records.
The order of the two LOW/HIGH sets in these new fields
is clearly mis-documented in the "MEM" Header record;
the LOW value precedes the HIGH value, so MXG's code now
matches the actual data rather than the documentation.
-Labels for variables REALFREE & VIRTFREE didn't include
"PERCENT". Those memory percentages are calculated as
REALFREE=100*REMBFREE/REMBTOTL;
VIRTFREE=100*VIMBFREE/VIMBTOTL;
-Both sets of memory variables are kept in NMONINTV.
-"NMON", "Nigel's Monitor", is now delivered as part of
TOPAS in AIX 5.3/6.1 or VIRTUAL I/O SERVER VIOS 2.1.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 27.095 The TRND23 member had not been updated to use the macro
TRND23 variables TRENDOLD TRENDNEW TRENDINP, which optionally
May 17, 2009 set the libnames for new, old and input trend libraries,
and old macro names expected the week input in the "PDB"
libname, when it should have used "WEEK" to match the
other TRND Trending members.
Thanks to Paul Gillis, Pacific Systems Management Pty. Ltd, AUSTRALIA
Change 27.094 A REALLY invalid SMF 30 Subtype 1 INPUT EXCEEDED RECORD
IMACACCT error had NRACCT=127 and LENACCT=400, impossible values,
May 14, 2009 and there was only trash at the OFFACCT location. MXG
only decodes 9 ACCOUNTn fields, printing a message for
the 10th, but IMACACCT did not protect for this much
of invalidity. Now, it stops reading the ACCT fields
when the 10th is encountered, with enhanced diagnostics.
Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.
Change 27.093 Variable JESNR in TYPETPMX datasets was only 5-digits but
VMACTPMX JESNR can now be up to seven digits. The VMXGJESN member
May 13, 2009 is now %INCLUDEd after JCTJOBID has been input, and the
Mar 20, 2012 JESNR is now created from JCTJOBID rather than just input
of the last five digits.
Mar 2012: Maximum JESNR is 999,999 because the first of
seven digits is always a zero.
Thanks to Paul Volpi, UHC, USA.
Thanks to James D. Lieser, UHC, USA.
Change 27.092 -VMXGOPTR errored with SAS V8.2 or V9.2 in different ways:
VMXGOPTR -ONLY under SAS V8.2, MXG 27.03 caused BUILDPDB errors in
VMXGSUM the VMXGSUM invocation for SUMSTATB with error messages
May 14, 2009 MXGNOTE: VMXGSUM FROM MXG 27.03 INVOKED BY SUMSTATB
May 18, 2009 ERROR: OVERFLOW HAS OCCURRED; EVALUATION IS TERMINATED.
May 22, 2009 ERROR: THE MACRO VMXGOPTR WILL STOP EXECUTING.
This error is ONLY in the SAS V8 %Macro compiler, and is
circumventable; the problem is that V8 %Macro compiler
is not terminating strings at the equal sign as expected,
but by wrapping the strings in double-quotes, to make it
a character compare rather than an evaluated comparison
circumvented the compiler error.
There is also an associated change between V8 and
V9 in the limit to the value of a numeric compare in the
macro language from 2**32 in V8 to 2**64 in V9, causing
the compare to work accidentally in V9 but not in V8.
The one statement in VMXGOPTR that caused SAS V8 to fail
IF "&STRING"="123456789123456789" %THEN ....
was corrected, so this part of MXG continues to execute
with SAS V8.2, BUT USING V9 IS MUCH BETTER AND SAFER!
-Enroute to isolating the actual error, we investigated
VMXGSUM for long-length-macro-text, a known past problem
with the SAS Macro Language, and did reduce the length of
some macro variables in the updated VMXGSUM, but it was
not the cause of the OVERFLOW.
This simple test isolated the V8-only compiler error:
%MACRO TESTCASE;
%LET STRING=12345678912345689;
%IF &STRING=12345678912345689 %THEN %PUT TEST FAILED;
%MEND TESTCASE;
%TESTCASE;
When executed on SAS V9, "TEST FAILED" was printed. when
run under SAS V8.2, the OVERFLOW occurred.
-Since V8.2 is ancient, I won't ask SAS Institute to spend
their time fixing the %Macro compiler error, with what
appears to be a complete circumvention. Chuck and I spent
a great deal of time chasing this V8-ONLY error, just so
those of you that are still limping along on ancient V8,
and knowing that you do need V9 (but just can't find time
to install it) can still get the full benefits of all of
the new features and enhancements in the current MXG.
-ONLY user SAS V9.2, just to get even, its macro compiler
found invalid syntax of %THEN %THEN in VMXGOPTR, when it
was called from deep within READDB2, causing V9.2 error
message NO MATCHING %IF FOR %THEN.
SAS V9.1.3 didn't burp with that same invalid syntax!
Thanks to Francois Chable, DTF/DESI, FRANCE.
Thanks to Hai Dang, DTF/DESI, FRANCE.
Thanks to Winnie Peng, Hawaii Medical Service Association, USA.
Change 27.091 ASG TMON/CICS variables WTSCWTTM and WTSCWTCN were input
VMACTMO2 reversed, with the counts in the time field (but divided
May 13, 2009 by 1 million!) and the time in the count filed (and NOT
divided as it should be), in three separate INPUTs.
Thanks to Shantha Hallett, Capgemini UK, ENGLAND
Change 27.090 Became Change 27.097.
Change 27.089 -The dataset TYPE72DL delay counters R723RW01-R723RW15 are
VMAC7072 now described by new variables R723RN01-R723RN15, from
May 11, 2009 the Resource Delay Type Names Section added in z/OS 1.10
to the SMF 72 Subtype 3 record. There is a separate Name
Section for each of subsystems (DB2,CICS,IMS,SMS,etc.)
that capture delay samples, so each can have a different
description of each of its fifteen delay counters.
-The _BTY72DL "BY list" sort order that removes dupes was
revised by adding RPRTCLAS as the penultimate variable, a
protection required ONLY if you have (unwisely) used the
same name for a Service Class and for a Reporting Class.
The R723RN01 Name fields have not been tested with data;
thus far, all test files have R723RDNN=0.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 27.088 Support for TS7700/BVIR Microcode 1.5.
FORMATS -Format $MGBVIDC added x23 3592 Model E05 x24 Model E06.
VMACBVIR x23='x23:3592 Model E05 (Encrypted)
May 6, 2009 x24='x24:3592 Model E06.
-New DLIBSEQN, Distributed Library Sequence Number is
added to all datasets; while documented as EBCDIC, the
same protective algorithm for GLIBSEQN in Change 27.077
is used for DLIBSEQN in case it really is also ASCII.
-BVIR10 new variable DEFTHRTL
-BVIR30 new variables:
PCTWDFTH AVGDEFTH BASEDFTH PRMIGTTH UNMIGD00
AWAITR00 UNMIGD01 AWAITR01
-BVIR33 new variables:
G1MLCTA1-G1MLCTA4 G1ALCTA1-G1ALCTA4 G2MLCTA1-G2MLCTA4
G2ALCTA1-G2ALCTA4 G3MLCTA1-G3MLCTA4 G3ALCTA1-G3ALCTA4
G4MLCTA1-G4MLCTA4 G4ALCTA1-G4ALCTA4 G5MLCTA1-G5MLCTA4
G5ALCTA1-G5ALCTA4 G6MLCTA1-G6MLCTA4 G6ALCTA1-G6ALCTA4
G7MLCTA1-G7MLCTA4 G7ALCTA1-G7ALCTA4 G8MLCTA1-G8MLCTA4
G8ALCTA1-G8ALCTA4
Thanks to Jens Mohring, HUK-COBURG, GERMANY.
Thanks to Markus Bansemir, HUK-COBURG, GERMANY.
Change 27.087 -NMONBBBP dataset contained blank values for many BBBPnnn
VMACNMON variables; the OUTPUT logic was relocated and revised.
May 5, 2009 -Variable BBBP029='ENTITLED*CAPACITY' instead had value of
BBBP050='ENTITLED CAPACITY OF POOL'. The values are
corrected, and several BBBPnnn labels were revised.
Thanks to Silvio Ferrari, Banca Carige S.p.a., ITALY.
Thanks to Franco Tonelli, Banca Carige S.p.a., ITALY.
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 27.086 -DB2STATS variables QISEKPGE, QISESPGE, QISESFRE, QISESKCT
VMACDB2 QISESKPT and QISEKFRE aren't accumulated fields, but they
May 5, 2009 were deaccumulated; variables QISEKTA and QISECTA were
also deaccumulated, and probably also shouldn't have been
but all test values are zeros for those two variables, so
they have not been validated. All eight variables are no
longer deaccumulated.
-Variable QISESPGE has a default value of 524287 pages
(2GB) that is set by a "hidden" zparm value of "SPRMABVC"
in DSN6SPRC, but IBM STRONGLY RECOMMENDS THAT YOU DO NOT
CHANGE THAT DEFAULT VALUE UNTIL/UNLESS DB2 L2 determines
there is a storage problem.
Thanks to John Shuck, Suntrust, USA.
Change 27.085 Omegamon ONDV datasets created from subtype 203 had blank
VMACOMCI values for the "xTRAN" variable because MXG did not INPUT
May 8, 2009 these three variables from the header: OMCIJOB, OMGAPPL,
and OMSAPPL. Now, all are kept in the OMCI-203 datasets:
OMCIADA OMCIADAT OMCIDLI OMCIDLIT OMCIDTCO
OMCIDTCT OMCIIDMS OMCIIDMT OMCISUPR OMCISUPT
OMCIVSAM OMCIVSAT
Thanks to Richard Schwartz, State Street Bank, USA.
Change 27.084 First MXG 27.03 had two members revised:
VGETDDS -The enhanced VGETDDS wasn't, having not been tested with
VMACIMSA all options; a missing %END and non-defined GOOVOO were
May 5, 2009 added (but that's why I didn't list VGETDDs in the list
May 12, 2009 of Major Enhancements, since it was still in testing, and
May 20, 2009 is not exactly mainstream!).
Additional cleanup of MXGWARN versus MXGERROR, protection
for START END, etc., were added.
-VMACIMSA addition of the new IMS45x statistics records
didn't have the new ST* variables in a FORMAT statement;
this was missed in QA because the same variables were in
a FORMAT statement in VMACIMS.
====== Changes thru 27.083 were in MXG 27.03 dated May 4, 2009========
Change 27.083 -VGETDDS reads "logically concatenated" PDB libraries with
VGETDDS DDnames "starting with", e.g. (PDB1 PDB2 PDB3....) to
May 2, 2009 select a SAS dataset (e.g. JOBS) from all of those PDBs.
You control which data libraries are read in your JCL,
without modifying your program, using VGETDDS & VMXGSET.
-This change enhances VGETDDS to allow dynamic allocation
of DSNAMEs that are GDGs, or of DSNAMES with embedded
DATEs.
-Extensive comments and examples describe how to read a
SAS dataset from multiple data libraries in a single
"SET" statement that doesn't require separate DDs in your
JCL.
Thanks to Brian A. Harvey, HCL America, USA.
Change 27.082 Support for DCOLLECT's z/OS 1.10 change to DCDOVERA, now
VMACDCOL defined as a 32-bit unsigned number, previously defined
Apr 30, 2009 as a 31-bit signed number, requires NO CHANGE to MXG, as
that variable has always (since 1994!) been INPUT with a
INFORMAT of PIB4, which reads all 32 bits. MXG always has
used PIB4 for any variable for which a negative value is
impossible, even when IBM called it a signed value.
(For the miniscule number of variables that actually can
have a negative value, MXG uses IB4 INFORMAT.)
Thanks to Brian A. Harvey, HCL America, USA.
Thanks to Paul Ashford, USAA, USA.
Change 27.081 Support for APAR OA27623 that adds CPU Speed, SM1132SP,
VMAC113 speed in cycles per microsecond, to TYPE113 dataset.
Apr 30, 2009
Change 27.080 -Improved protection for inconsistent NMON data that has
VMACNMON fewer counters in the data records than the number of
Apr 30, 2009 field names in the header record, primarily observed in
May 2, 2009 the DISKxxxx and JFSxxxxx records. The short records were
erratic; most data records had the correct number of data
values, but, interspersed, there were the short records.
-The INPUT statements for each record type are replaced by
an initial INPUT and then the SCAN() function is used to
populate the new WORDS array, so that the NRWORDSIN can
be initially counted, but then the WORDS array is read to
find the last field that is non-blank, and its position
is then NRVALUES, which is used in all comparisons with
the expected number of fields from the header record.
This was because (for example, DISKBUSY) records with 19
header fields, but with only the first 3 populated, were
found, and subsequent data records had 19 fields usually,
but some had only 15 fields, but all of the data records
had only 3 fields populated. The old algorithm deleted
those short data records, but now, if the last non-blank
field locations match, the data record can be decoded and
is now output eliminating COUNTERS ARE DIFFERENT messages
(unless the counts really are different).
-The BBBP record still has to be INPUT rather than scanned
because I couldn't find how to SCAN a comma-delimited
field with double-quotes around embedded comma(s)!
-The COUNTW(FIELD,','); function does NOT correctly count
fields with repeated commas, and it took two invocations
of TRANWRD(WORD,',,',',') to separate all of the commas
to get the correct count of fields.
-The AAA Record DATE value was expected to be a 4-digit
YYYY value, so records with only YY (non-Y2K compliant!)
caused INVALID ARGUMENT TO FUNCTON error message. MXG
now protects NMON for YY in the date field, and the
MONTH argument was protected with an UPCASE() function.
Thanks to Arthur Sy, Depository Trust, USA.
Change 27.079 The Elapsed Time variable in the ORACLE dataset was still
VMACORAC missing; Change 26.099 was apparently lost. Now,
Apr 27, 2009 ELAPSTM=SMFTIME-STARTTS;
Thanks to Bret Hoesly, Telephone and Data Systems, USA.
Change 27.078 Support for IMS Log Record 45X IMS Interval Statistics
ASMIMSL6 creates 24 new datasets from its 22 subtypes:
TYPEIMSA dddddd Dataset Description
TYPSIMFL IMS450 IMS4500 IMS 4500 BEGIN STATISTICS'
TYPSIMS7 IMS452 IMS4502 IMS 4502 QUEUE POOL STATISTIC'
VMACIMS IMS453 IMS4503 IMS 4503 FORMAT BUFFER POOL S'
VMACIMSA IMS454 IMS4504 IMS 4504 DATABASE BUFFER POOL'
VMXGINIT IMS455 IMS4505 IMS 4505 VARIABLE POOL STATIS'
May 4, 2009 IMS456 IMS4506 IMS 4506 SCHEDULING STATISTIC'
IMS457 IMS4507 IMS 4507 LOGGER STATISTICS'
IMS458 IMS4508 IMS 4508 VSAM SUBPOOL STATIST'
IMS459 IMS4509 IMS 4509 PI STATISTICS'
IMS45A IMS450A IMS 450A LATCH STATISTICS'
IMS45C IMS450C IMS 450C CBT STATISTICS'
IMS45D IMS450D IMS 450D RECEIVE ANY BUFFER P'
IMS45E IMS450E IMS 450F FIXED POOL STATISTIC'
IMS45F IMS450F IMS 450F DISPATCHER STATISTIC'
IMS45O IMS450O IMS 450F DISPATCHER TCB STATISTIC'
IMS45P IMS450P IMS 450F DISPATCHER SAP STATISTIC'
IMS45G IMS4510 IMS 4510 RCFT STATISTICS'
IMS45H IMS4511 IMS 4511 STORAGE STATISTICS'
IMS45I IMS4512 IMS 4512 IMODULE STATISTICS'
IMS45J IMS4513 IMS 4513 MSC STATISTICS'
IMS45K IMS4514 IMS 4514 EWLM STATISTICS'
IMS45L IMS4521 IMS 4521 IRLM USERT STATISTIC'
IMS45M IMS4522 IMS 4522 IRLM SYSTEM STATISTI'
IMS45N IMS45FF IMS 45FF END STATISTICS'
The IMS Interval Statistics contain many accumulated
variables, which are deaccululated in the _SIMS45X macro,
which has been added to TYPSIMS7 ("old" log records only)
and to TYPSIMFL (processes IMF/CIMS and the IMS records),
and to TYPEIMSA (part of JCLIMSL6 IMS Log Processing),
but only those variables that were non-zero in my small
test file have been validated. You can use _MEANDBG
after your include of either TYPSxxxx member to run a
PROC MEANS against all of the statistics datasets, and
look for a negative MINIMUM value to identify fields that
are being deaccumulated that should not be.
-TYPSIMFL has been updated with comments and sample JCL to
select only the 0F9x, 0FAx, and 45x log records and to
write the four IMF datasets to separate DDs, writing all
of the new statistics data to the default //PDB DDname.
-ASMIMSL6 (for the JCLIMSL6 MXG IMS Log Processing, used
only if you do NOT have IMF or another IMS monitor) is
updated to also select the 45x records; since they are
interval records, their volume should always be small.
-Note that the default output destination of these new
IMS45xx datasets is the //WORK ddname, just like the
Fastpath and CPIC datasets. You can use
%INCLUDE SOURCLIB(TYPEIMSx);
PROC COPY IN=WORK OUT=whatever MT=DATA;
SELECT IMS45: ;
to copy these new (low volume) datasets to whatever
DD/LIBNAME you want, or you can override individual
datasets with %LET PIMS45z=whatever; before the %INCLUDE.
Note the Pdddddd macro token must be used because of the
de-accumulation that is required.
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 27.077 BVIR variable GLIBSEQN was documented as EBCDIC and early
VMACBVIR test data had '00'X values, but new data with ASCII data
Apr 27, 2009 is found, so MXG logic now tests for '00'x, or for EBCDIC
hex values ('81'x-'A9'x,'C1'x-'E9'x,'F0'x-'F1'x) or falls
thru for ASCII to input GLIBSEQN in the correct format.
Thanks to Rob D'Andrea, Royal Bank of Scotland, SCOTLAND.
Thanks to Penny Dudgeon, Royal Bank of Scotland, SCOTLAND.
Change 27.076 Significant enhancements to ASUM70PR summarization of
VMAC7072 TYPE70PR adds support for HiperDispatch by subtracting
VMXG70PR Parked Time SMF70PAT from both Online Time SMF70ONT and
Apr 30, 2009 from Wait Time SMF70WST, AND adds new IFA, IFL, and ZIP
variables to each LPAR to fully support those Specialty
engines (especially IFLs which were not captured in the
previous ASUM70PR implementation), captures the PHYSICAL
LPAR time for each type of Specialty Engine, and adds it
into the CPUIFATM, CPUIFLTM, CPUZIPTM totals in Interval
datasets, calculates the Average Number of Online Engines
for CPs, IFAs, IFLs, and ZIPs, provides counts of the
number of Installed Engines of each type, cleaned up the
inconsistencies in the variable's names and contents,
and documents what variables contain what, below!
It has always been my recommendation that the datasets
created by ASUM70PR should be used for LPAR analysis,
since it avoids you having to understand the complexity
of the raw TYPE70PR dataset; with this enhancement, all
of the information is summarized, and you have four ways
of analysis with the four output datasets created.
-ASUM70PR is enhanced with new variables for IFL LPARs and
consistent contents in the CPUxxxTM total variables, and
the HiperDispatch Parked Time SMF70PAT and Wait SMF70WST
are kept for each LPAR in all four datasets. If SMF70PAT
is non-zero, i.e., engines were parked, the SMF70ONT LPAR
Online Up Time, and the LPAR Wait Time SMF70WST are each
reduced by the Parked Time.
-The datasets ASUM70LP and ASUMCELP contain an observation
for each LPARNAME, with a single set of variable names
for each INTERVAL (that you set in your ASUM70PR member).
-ASUM70LP is created per SYSTEM, with each system's view
of the resources consumed by ALL of the LPARs seen by
that SYSTEM, so there will be replicated/repeated data
for each LPARNAME when you process SMF/RMF data from
multiple systems.
-ASUMCELP is created per CECSER with a single observation
for each LPARNAME for each INTERVAL.
In both of the per-LPARNAME datasets, ASUM70LP/ASUMCELP,
IFL LPARs are measured in these new variable names:
NRIFLCPU='INSTALLED*IFL*ENGINES'
IFLACTTM='IFL*PROCESSORS*CPU*ACTIVE*TIME'
PCTIFLBY='IFL*PERCENT*CPU*BUSY'
IFLCPUS ='IFL*AVERAGE*ONLINE*CPU COUNT'
IFLUPTM ='IFL*PROCESSORS*UP*TIME'
IFLPATTM='IFL*PARKED*PAT*TIME'
IFLWSTTM='IFL*PROCESSORS*WST*TIME'
As these datasets are per-LPARNAME their CPU active time
in variables IFAACTTM, IFLACTTM, and ZIPACTTM, do not
contain the Physical Engine CPU times.
-The datasets ASUM70PR and ASUMCEC contain an observation
for each interval, with a set of variables for the totals
and 60 separate sets of LPnAAAAA variables with resource
usage for each LPARNAME.
-ASUM70PR is created per SYSTEM, with each system's view
of the resources consumed by ALL of the LPARs seen by
that SYSTEM, so it, too, will have replicated/repeated
data when you process data from multiple systems.
-ASUMCEC is created per CECSER with a single observation
for each INTERVAL.
Since ASUM70PR/ASUMCEC are interval summaries across ALL
LPARs, the total-CPU-time variables now consistently
include the Physical LPAR CPU time; previously, only the
CPUACTTM for CP engines included the Physical time.
And the Physical CPU time for each engine type are now
available in ICFPHYTM, IFAPHYTM, IFLPHYTM, and ZIPPHYTM.
Those 60 sets of per-LPAR LPnAAAAA variables have these
new variables for each LPAR's IFA, IFL and ZIP usage:
LPnIFATM='LPAR n*IFA*DISPATCH*TIME'
LPnIFUTM='LPAR n*IFA*UP*TIME'
LPnIFKTM='LPAR n*IFA*PARKED*TIME'
LPnIFWTM='LPAR n*IFA*WST*TIME'
LPnILATM='LPAR n*IFL*DISPATCH*TIME'
LPnILUTM='LPAR n*IFL*UP*TIME'
LPnILKTM='LPAR n*IFL*PARKED*TIME'
LPnILWTM='LPAR n*IFL*WST*TIME'
LP1ZIPTM='LPAR n*ZIP*DISPATCH*TIME'
LP1ZIUTM='LPAR n*ZIP*UP*TIME'
LP1ZIKTM='LPAR n*ZIP*PARKED*TIME'
LP1ZIWTM='LPAR n*ZIP*WST*TIME'
-If you have IFLs, many "Missing Values" messages will be
printed on the SAS log, but they are harmless; IFL LPARs
have missing values for all of the old CP variables.
ASUM70LP/ASUMCELP - Per-LPARNAME Variables
============ Engine Type =============
CP IFA IFL ZIP ICF
Metric:
Installed Engines PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
Avg Online Engines LPARCPUS IFACPUS IFLCPUS ZIPCPUS
CPU Busy Time LCPUPDTM IFAACTTM IFLACTTM ZIPACTTM
Percent CPU Busy PCTLPBY PCTIFABY PCTIFLBY PCTZIPBY
Online Total Time LPARDUR IFAUPTM IFLUPTM ZIPUPTM
Parked Time SMF70PAT IFAPATTM IFLPATTM ZIKPATTM
Wait State Time SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM
ASUM70LP Sorted BY list:
SYSPLEX SYSTEM SYSNAME STARTIME SHIFT CECSER LPARNAME LPARNUM
ASUMCELP Sorted BY list:
CECSER STARTIME SHIFT LPARNAME LPARNUM
ASUM70PR/ASUMCEC - Per-Interval Variables
============ Engine Type =============
CP IFA IFL ZIP ICF
Metric:
Installed Engines PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
Avg Online Engines LPARCPUS IFACPUS IFLCPUS ZIPCPUS
CPU Busy Time CPUACTTM CPUIFATM CPUIFLTM CPUZIPTM
Percent CPU Busy PCTLPBY PCTIFABY PCTIFLBY PCTZIPBY
Online Total Time LPARDUR IFAUPTM IFLUPTM ZIPUPTM
Parked Time SMF70PAT IFAPATTM IFLPATTM ZIKPATTM
Wait State Time SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM
ASUM70PR Sorted BY list:
SYSPLEX SYSTEM &MXGSYSN STARTIME SHIFT CECSER;
ASUMCEC Sorted BY list:
CECSER STARTIME SHIFT;
-PDB.TYPE70PR dataset was also enhanced with the counts
and CPU Active time for all four specialty engines for
each LCPUADDR, with these new or updated variables:
NRICFCPU NRIFACPU NRIFLCPU NRZIPCPU total engines
ICFACTTM IFAACTTM IFLACTTM ZIPACTTM CPU this LCPUADDR
-Validation notes. Using PROC COMPARE can often identify
differences, but comparing across this change can cause
lots of "false positives", especially in the count of the
Specialty Engine NRIFACPU,NRZIPCPU,NRICFCPU,NRIFLCPU as
they sometimes wrong or always missing in prior PDBs.
Small changes are expected in the CPUxxxTM for Specialty
Engines because their PHYxxxTM is now included.
And the xxxUPTM "Uptime" variables are now differently
calculated, as the actual Online Time, rather than the
old values of NRxxxCPU*DURATM.
Thanks to Robert Hamilton, Fifth Third Bank, USA.
Thanks to Zhan Wang, AIG, USA.
Change 27.075 Cosmetic. For Offline LPARS (LPARCPUX=0) these variables
VMAC7072 in PDB.TYPE70PR: LCPUADDR SMF70CIX SMF70ONT NRCIXGT0
Apr 23, 2009 could have non-missing values. Now, all are set missing.
Unchanged, but noted: SMF70CIN is blank when LPARCPUX=0.
Change 27.074 Group Capacity datasets ASUM70GC & ASUM70GL were wrong if
VMXG70PR multiple SYSTEMs data was in TYPE70PR; each SYSTEM has an
Apr 23, 2009 observation with repeated data for each LPARNAME that was
being summed for each Group Name. This change selects a
single system per interval for the revised summation.
It has been observed in the data and in IBM RMF reports
that actual Group MSU used, LPARMSU, can exceed SMF70GMU,
the Maximum License Units of the Group, causing PCTGCUSE,
the Percent of Group Capacity Used, to exceed 100%.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.073 Variable EVENTIME in data set TSMACCT was wrong; the YYYY
VMACTSMA INPUT function was revised to use informat 4.
Apr 22, 2009 YYYY=INPUT(SUBSTR(DATECH,7,4),4.);
Thanks to Craig Collins, State of Wisconsin DOA, DET, USA.
Change 27.072 Updates for VTCS subtypes of the STC/STK User SMF record.
FORMATS -Format $MGSTCCT adds 2000MB and 4000MB values.
VMACSTC -Format $MGSTCMN adds MOUNT ANSI SCRATCH VTV value.
Apr 22, 2009 -Dataset STCVSM18 variables STC18CTP and STC18MT were not
input for the longer length segment, STC18CTP was not
kept, and all three CTP variables are now length $2 and
correctly formatted.
-Formats $MGSTCMN and $MGSTCCT were updated with new
values for 2000MB and 4000MB cartridges, and for
ANSI Label Mounts, respectively.
Thanks to Davide Marone, SGS S.p.a. ITALY
Thanks to Carlo Gavinelli, SGS S.p.a. ITALY
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 27.071 -Major enhancement: all MXG-provided VMXGSUM-using summary
ANAL88 programs (e.g. ASUMs, ANALs, TRNDs) will NOT fail if your
ANALAVAI input data has DROPed variables, if you simply specify
ANALCACH %LET KEEPALL=NO;
ANALCISH in your //SYSIN. KEEPALL=NO causes VMXGSUM to determine
ANALCNCR what output variables are needed, and thereby prevents
ANALHTML the VARIABLE NOT FOUND condition when you have DROPed
ANALPKGS variables to reduce the size of your PDB dataset, which
ANALPROG is what happens with the default of KEEPALL=YES.
ANALSTC
ANALUSS The default is KEEPALL=YES, because the KEEPALL=NO logic
ASUM23 would be expensive if applied to the hundreds of VMXGSUM
ASUM42DS invocations that are internal to MXG processing, but its
ASUM94 cost is insignificant for a single execution, and it is
ASUMCACH ONLY needed when you know you have DROPed variables.
ASUMCICS
ASUMCICT -All of the summary programs listed in this change now
ASUMCICX specify KEEPALL=&KEEPALL, in their %VMXGSUM invocation.
ASUMCIMS -And where needed, a KEEPIN= was added, but KEEPIN does
ASUMDB2A not get used unless KEEPALL=NO is in effect, so there is
ASUMDB2B no adverse effect of the KEEPIN= protection.
ASUMDB2G -VMXGINIT sets KEEPALL=YES as the GLOBALed default value.
ASUMDB2P The old default NO was used only in TRNDRMFI, which now
ASUMFRYE has KEEPALL=NO explicitly in its %VMXSGUM statement.
ASUMJOBS -VMXGSUM now has KEEPALL=&MXGKEEP in its definition, in
ASUMMIPS place of a hard-coded KEEPALL=YES, and MXGKEEP=YES is set
ASUMNTIN in VMXGINIT. This value is only used when the %VMXGSUM
ASUMSMFI invocation did not specify a KEEPALL value, and this is a
ASUMTMNT "just in case" option, to use MXGKEEP, that I doubt will
ASUMV11 be needed, but is nice to have for testing.
ASUMV14
ASUMVMON So, how expensive is KEEPALL=NO for my QA stream?
ASUMVTVM
ASUMVMNT The QA tests with all INFILEs reading zero length files
BLDNTPDB invokes VMXGSUM 442 times with these comparisons
BUIL3005
BUILD005 KEEPALL YES NO
BUILD006 DATA Steps 3567 4924
CICSSTAT PROC Steps 11564 13454
DAILYDSR Elapsed mmss 11:44 30:14
DALYTAPE CPU mmss 6:28 20:31
GRAFWLM
MNTHDB2S However, the CPU increase of 900 seconds with KEEPALL=NO,
SPUNJOBS for a total of 442 invocations, is only 2 seconds for a
TRNDDB2P single execution, well worth that cost to permit you to
TRND23 use the summary program with reduced input.
TRND70
TRND70SH
TRND94
TRNDCACH
TRNDCEC
TRNDDB2A
TRNDDB2B
TRNDDB2G
TRNDDB2S
TRNDDB2X
TRNDNTIN
TRNDNTLD
TRNDRMFI
TRNDTALO
USMFRATE
UTILCONT
UTILRMFI
VMXGCAPT
VMXGCICI
VMXGINIT
VMXGRESP
VMXGRMFI
VMXGSUM
VMXGTPFI
WEEKCEC
Apr 20, 2009
Change 27.070 Variable DESCR existed in 4 different XAM datasets, with
VMACXAM 3 different lengths, with only the first 12 bytes in
Apr 16, 2009 XMHSTMEM dataset, where the field is split into 2 pieces.
Variable DESCR is now $16 in both XMTIFTB and XMHSTMEM
datasets, the extra four bytes are appended in XMHSTMEM,
it is renamed DESCRDSK with length $40 in XMHSTDSK, and
it is renamed DESCRTCP with length $128 in XMTCPSYS.
Thanks to Roger Stock, Boston University, USA.
Change 27.069 Serena's Ultimizer user SMF record moved subtype 2 and 3
VMACULTM into the left byte of the two-byte subtype field, and in
Apr 15, 2009 the right byte for subtype 1 records, which was not the
expected location of subtype, but now is supported. The
DSECT for R310 does not document this design. And the
READTIME field is always missing (hex zeros) in the 2/3
records but is populated in the subtype 1 VSAM record.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 27.068 Optional CICSTRAN USERCHAR field was limited to 200 bytes
IMACICDU due to that ancient SAS V6 limit on character variables.
Apr 15, 2009 That field can now be up to 32000 bytes. The IMACICDU
member is an internal member that would not normally have
been tailored by users.
Thanks to Henrik Lange, Nordic Processor, NORWAY.
Change 27.067 Support for LDAP Auditing ID=83 Subtype=3 SMF record.:
EXTY83LD New dataset created:
FORMATS
IMAC83 dddddd Dataset Description
VMAC83 TY83LD TYPE83LD TY83LD: LDAP AUDITING
VMXGINIT
Apr 13, 2009
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
====== Changes thru 27.066 were in MXG 27.02 dated Apr 13, 2009=========
Change 27.066 The "owner" variables in TYPE77 were labeled as "CURRENT"
VMAC77 but they are actually the owners/system/etc at the time
Apr 13, 2009 of maximum contention. The revised labels now are:
CURROWN ='NUMBER OF*OWNERS*WHEN AT*MAX CONTENTION'
CURRWAIT='NUMBER OF*WAITERS*WHEN AT*MAX CONTENTION'
JOBOWN1 ='NAME OF*OWNER#1*WHEN AT*MAX CONTENTION'
JOBOWN2 ='NAME OF*OWNER#2*WHEN AT*MAX CONTENTION'
JOBWANT1='NAME OF*WANTER#1*WHEN AT*MAX CONTENTION'
JOBWANT2='NAME OF*WANTER#2*WHEN AT*MAX CONTENTION'
SYSOWN1 ='SYSTEM OF*OWNER#1*WHEN AT*MAX CONTENTION'
SYSOWN2 ='SYSTEM OF*OWNER#2*WHEN AT*MAX CONTENTION'
SYSWANT1='SYSTEM OF*WANTER#1*WHEN*MAX CONTENTION'
SYSWANT2='SYSTEM OF*WANTER#2*WHEN*MAX CONTENTION'
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 27.065 Cosmetic, to eliminate MXGWARN messages from VMXGOPTR.
BUILD001 Change 27.051 corrected VMXGOPTR so the current value of
BUILD005 an option would be used, but invocations of VMXGSUM could
BUIL3001 unexpectedly modify the option; this change pairs each of
BUIL3005 the VMXGOPTR to reset (VALUE=ORIGINAL) prior to VMXGSUMs.
SPUNJOBS Without this change, the (usually) harmless message
Apr 12, 2009 MXGWARN: STORED VALUE OF DKROCOND IS MXG;
could have been printed on the SAS log.
Change 27.064 SYSLDSN from the IEC501I message could be a number rather
VMACTMNT than a DSNAME; the WORDS array did not parse correctly if
Apr 11, 2009 there were adjacent commas for un-populated fields in the
SYSLOG message text. The TRANWRD(x,',,',', ,') function
was used to insert a blank between adjacent commas, once
I found that TRANWRD and TRANSLATE functions are quite
inconsistent, with their syntax reversed:
TRANSLATE(argument,to,from);
TRANWRD (argument,from,to);
Thanks to MP Welch, SPRINT, USA.
Change 27.063 Decoding SYSLOG MSGID=IEC205I in TMNT Subtype 8 record
VMACTMNT adds variables STEPNAME SYSLBLKS SYSLENCR to TYPESYMT
Apr 11, 2009 dataset to identify Encrypted Tapes; SYSENCR will have
the text KL1CD:L,LK2CD:L for encrypted tapes (where
H:='HASH' or L:LABEL'). The ASMTAPEE monitor program
will be updated later to write IEC205I in TMNT Subtype 8
record, and a later update to ASUMTAPE will be needed to
complete this enhancement.
Thanks to Bruce Gillespie, First American Reinsurance, USA.
Change 27.062 -TYPE42 Updates for VSAM RLS "ABOVE THE BAR" statistics,
EXTY42D3 added by IBM long ago but overlooked by MXG, adds six new
EXTY42D4 datasets and re-labels the six existing "BELOW THE BAR":
EXTY42S3 TY42S1 TYPE42S1 VSAMRLS SPLEX SC BELOW THE BAR
EXTY42S4 TY42S2 TYPE42S2 VSAMRLS SC CF SYS BELOW THE BAR
EXTY42X3 TY42S3 TYPE42S3 VSAMRLS SPLEX SC ABOVE THE BAR
EXTY42X4 TY42S4 TYPE42S4 VSAMRLS SC CF SYS ABOVE THE BAR
IMAC42 TY42D1 TYPE42D1 VSAMRLS SPLEX DATASET BELOW BAR
VMAC42 TY42D2 TYPE42D2 VSAMRLS DATASET CF SYS BELOW BAR
VMXGINIT TY42D3 TYPE42D3 VSAMRLS SPLEX DATASET ABOVE BAR
Apr 9, 2009 TY42D4 TYPE42D4 VSAMRLS DATASET CF SYS ABOVE BAR
TY42X1 TYPE42X1 VSAMRLS BUFF MGR TOTALS BELOW BAR
TY42X2 TYPE42X2 VSAMRLS BUFF MGR DETAILS BELOW BAR
TY42X3 TYPE42X3 VSAMRLS BUFF MGR TOTALS ABOVE BAR
TY42X4 TYPE42X4 VSAMRLS BUFF MGR DETAILS ABOVE BAR
-APAR OA25559 adds two new variables S42DSRDD,S42DSRDT to
subtype 5 and subtype 6 records, and these variables are
are kept in TYPE42DS, TYPE42SR, and TYPE42VT datasets:
S42DSRDD='AVERAGE*READ MS*DISCONNECT*TIME'
S42DSRDT='READ*OPERATIONS*TO*DATASET'
Change 27.061 MXG 27.01 only. A DEBUGging PUT statement at line 235
VMAC88 PUT _N_= SUBTYPE= SMFTIME= SMF88LTD= SMF88LIT= GMT88OFF=;
Apr 8, 2009 is now deleted by this change.
Thanks to Michael Creech, Lender Processing Services, Inc, USA.
Change 27.060 Cosmetic. Labels for TYPE23 BUFSZMAX and WRNSZMAX said
VMAC23 "PERCENT", but BUFSZMAX has always been the MAX VALUE.
Apr 8, 2009 WRNSZMAX was the Warning PERCENT thru z/OS 1.5, but in
z/OS 1.6 the description was changed to "VALUE", but it
was NOT documented in the changes in the 1.6 SMF Manual.
Now, both labels say VALUE rather than PERCENT.
Thanks to Chuck Hopf, Bank of America, USA.
Change 27.059 SMF 102 IFCID=108 variables starting at QW0108PR were not
VMAC102 input because QWT02R1N, instead of QWT02R1L (length) was
Apr 6, 2009 tested for GE 160. Additionally, these new variables are
now input and kept in T102S018 dataset:
QW0108DY QW0108DP QW0108RO QW0108KD QW0108OH QW0108IW
QW0108SC QW0108CC
Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.
Change 27.058 Change 27.015 enhanced VMACSMF to test IF SUBTYPE GT 255
VMACSMF because some user SMF records store their subtype in the
Apr 6, 2009 left byte of the two byte field. MXG printed an ERROR
message, and used the left byte as the subtype number,
but this ERROR message was not documented in that text.
I also failed to protect the optional BMC CICS Statistics
SMF 110 records that are written as subtype=2818 or 47874
('BB02'x,'0B02'x) are really subtype=2 STID=200 to 205.
IF you had enabled the optional IMACICBB member to decode
these optional STID's, then their CICSBBxx datasets would
have had no observations, plus the new MXG ERROR message.
Thanks to Lorena Ortenzi, UniCredit Global Info Services, ITALY.
Change 27.057 MXG 27.01. DCOLLECT DCOLVOLS the volume size variables
VMACDCOL DCVALLOC DCVFRESP DCVLGEXT DCVVLCAP are small by 1024.
Apr 3, 2009 Change 27.034 for EAV support mislocated the code that
multiplies the KB value by 1024 so it was ONLY executed
if the record is the longer, EAV-updated, volume record.
Thanks to Frank Lund, EDB, NORWAY.
Thanks to Chris A. Hughes, University of Georgia, USA.
Change 27.056 Support for Control-D "Decollating" SMF record, which is
EXTYCTCD a new, different SMF record than the Control-D TYPECTLD
IMACCTCD support. This new record creates dataset CONTROCD.
TYPECTCD
TYPSCTCD
VMACCTCD
VMXGINIT
Apr 2, 2009
Thanks to Davide Marone, SGS S.p.a. ITALY
Thanks to Carlo Gavinelli, SGS S.p.a. ITALY
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 27.055 OBJECTSTAR (a/k/a HURON) INPUT STATEMENT EXCEEDED RECORD
VMACHURN ERROR for short Subtype 13 record; record should have
Apr 2, 2009 3123 bytes for 26 segments, but LENGTH is only 3110.
MXG prints message and hex dump of first 3 instances.
Thanks to David Stone, TESCO, ENGLAND.
Change 27.054 MXG 27.01 ONLY, CRITICAL ERROR FOR SMF 42 SubTypes 1-20.
VMAC42 I really botched this one. A partial statement was left
Mar 31, 2009 (IF SUBTYPE GT 20 THEN) ahead of IF OFFPROD GT 0 THEN DO,
preventing INPUT of STARTIME, ENDTIME & DURATM variables
for these datasets that are created from subtypes 1-20:
TYPE4220 TYPE4237 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
TYPE42CV TYPE42D1 TYPE42D2 TYPE42DS TYPE42EX TYPE42L1
TYPE42L2 TYPE42NF TYPE42NU TYPE42P1 TYPE42P2 TYPE42P3
TYPE42S1 TYPE42S2 TYPE42SC TYPE42SR TYPE42TO TYPE42VL
TYPE42VS TYPE42VT TYPE42X1 TYPE42X2 TYPE42XR TYPE42XV
Not only are STARTIME, ENDTIME, and DURATM missing values
but also variables that are calculated from DURATM, such
as, in TYPE42DS, CACHRATE, DASDMPL, and DASDRATE also are
missing values.
Thanks to Paul Volpi, UHC, USA.
Change 27.053 -CICS Statistics STID=108 in CICS/TS 3.2 added 48 bytes as
FORMATS part of the 284 bytes INPUT in MXG 27.01 for CICS/TS 4.1.
UTILEXCL Now, the first 48 are INPUT then the other 236 are INPUT.
VMAC110 STID=108 DFHSORTS data is output in dataset CICTCPIP.
Mar 31, 2009 -CICS Statistics STID=31 inconsistent length/LDBNRDSN was
Apr 1, 2009 only partially circumvented in Change 26.052, as it used
Apr 2, 2009 re-calculated LDRNSKIP=(STILEN-104)/44 for segment count
APR 4, 2009 only if LDRNSKIP was GT LDBNRDSN, causing the prior count
to be used when LDRNSKIP=LDBNRDSN. Since it is now clear
that LDBNRDSN is the number of POPULATED segments, but is
NOT the number of segments, LDRNSKIP=(STILEN-104)/44 is
always used to control the number of segments read in.
Existing test for LDBDSNAM GT ' ' causes only populated
segments to be output in the CICLDBDS statists dataset.
-In CICSTRAN dataset, back in 1994, Change 12.166 noted
that TASKNR (IBM TRANNUM) is not always a packed decimal,
and can contain four-character-in-EBCDIC values:
bytes old TASKNR description
1st 2-4 (decimal)
'00'X,'III' 13,224,393 SYSTEM INITIALIZATION TASK
'00'X,'J00' 13,758,704 JOUR CONTROL, JOURNAL=00
'00'X,'J99' 13,761,017 JOUR CONTROL, JOURNAL=99
'00'X,'JBS' 13,746,914 JOURNAL CONTROL
'40'X,'TCP' 14,926,807 TERMINAL CONTROL
but that change only stored the right 3-bytes as a large
decimal value when a character value was found, without
decoding or mapping that strange TASKNR value. And, that
change was not implemented in UTILEXCL logic, causing the
TASKNR to be a missing value for these character values
when IMACEXCL built by UTILEXCL was used. Now, if TASKNR
is not a valid packed decimal value, the full four-byte
field is input as binary, and TASKNR is FORMATed with new
MG110TN format that decodes those binary values to print
the actual 'III', 'Jnn', 'JBX', or 'TCP' text value,
right justified to align with numeric values of TASKNR.
And UTILEXCL was updated with this revised logic.
Because TASKNR is the only packed decimal field in the
CICSTRAN segment the "vanilla" VMAC110 tested IF TASKNR=.
to detect misalignment (that is how MXG finds EXCLUDEd
fields or optional data segments), but with this change,
TASKNR can never be a missing value, so the new test is
IF TASKNR EQ 0 OR
(TASKNR GT 99999 AND COMPRESS(PUT(TASKNR,MG110TN.))
NOT IN : ('III','TCP','JBS','J') ) THEN DO;
The original test for TASKNR=. could not be used when the
IMACEXCL was in use, since the site might have EXCLUDEd
the TASKNR field, but since this test is now valid even
if TASKNR is excluded, this misalignment test was moved
so it is always applied, even when IMACEXCL is used.
Thanks to Paul Volpi, UHC, USA.
Thanks to Jon Keister, Caremark, USA.
Change 27.052 Updates to PMACC01 DB2PM-like report had a number of
ANALDB2R blank values introduced in MXG 26.26, which also changed
Mar 28, 2009 the format of some durations (Class 7 for example) to
match the DB2PM printed time format.
Thanks to Paul Billick, QVC Inc, USA.
Change 27.051 -%VMXGOPTR is used internally in MXG to alter the user's
VMXGOPTR options, which are then reset to their original value.
VMXGSUM For example, in VMXGSUM, we must have OBS=MAX for the
Mar 27, 2009 internal parsing DATA steps, so we store your OBS value,
Apr 2, 2009 change it to OBS=MAX for our purpose, and then restore
Apr 13, 2009 your ORIGINAL option value. But if %VMXGOPTR was then
Apr 29, 2009 invoked a second time for that same option, we used your
ORIGINAL value instead of your CURRENT value. Now, each
time %VMXGOPTR is invoked with NEWVALUE not ORIGINAL, we
store the current value of that option, so that when the
resetting %VMXGOPTR invocation with ORIGINAL, we then can
reset that option to the LAST stored value.
-After ORIGINAL has been reset, the text "MXG" is stored.
If a subsequent ORIGINAL invocation finds that "MXG", a
"MXGWARN STORED VALUE FOR xxxxxx IS MXG" prints to alert
you that you have un-paired %VMXGOPTR invocations. This
might not be a problem, depending on your intended use of
%VMXGOPTR.
-VMXGSUM required change because it did not have matched
pairs of %VMXGOPTR invocations.
-It is VERY unlikely any MXG users have actually used the
%VMXGOPTR macro, and even less likely that anyone used
that retained value of the original %VMXGOPTR design,
but, technically, this is an UNCOMPATIBLE change.
-Note that if you should use %VMXGOPTR, that you need to
use it exclusively to change options; if you interleave
%VMXGOPTR and OPTIONS statements, your results might be
unexpected.
This change was precipitated by a simple user program:
OPTIONS OBS=0;
%INCLUDE SOURCLIB(TYPEDB2);
RUN;
OPTIONS OBS=MAX;
%INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
that causes ASUMCICX to fail, because the internal
%VMXGOPTR in VMXGSUM reset the option OBS=0, which was
the last value it stored, and so PDB.CICS built by the
ASUMCICX had 0 OBS.
Thanks to Paul Volpi, UHC, USA.
Change 27.050 Support for LPAR NMON data for RAWLPAR and RAWCPUTOTAL
EXNMONRC objects create two new datasets:
EXNMONRL DDDDDD DATASET DESCRIPTION
IMACNMON NMONRC NMONRAWC NMON RAW CPU
VMACNMON NMONRL NMONRAWL NMON RAW LPAR
VMXGINIT
Apr 13, 2009
Thanks to Peter Turner, Saint George Bank, AUSTRALIA.
Change 27.049 %VGETSYSI for z/OS only, returns global macro variables
VGETSYSI MXGSYSID and MXGSUSEC which contain the SYSTEM on which
Mar 26, 2009 SAS is executing, and the SU_SEC value for that system.
Thanks to Chuck Hopf, Bank of America, USA.
Change 27.048 Variable TAPEDRVS in PDB.ASUMTALO is the cross product of
ASUMTALO allocated tape drives times their duration, so it can be
TRNDTALO a large and confusing number. New variable AVGDRIVE is
Mar 26, 2009 now added to PDB.ASUMTALO with the average number of tape
drives that are allocated. TRNDTALO was also updated with
the new variable.
Thanks to Graham Cornwell, DDS, UK.
Thanks to Craig Heron, DDS, UK.
Change 27.047 -MXG 27.01 only. The EAV support added in Change 27.034
VMACDCOL was misaligned, i.e., it was incorrect. This change has
Mar 25, 2009 now been validated with an EAV volume's DCOLLECT record.
-The above error also mis-located the previous tests for
DCVFLAG1 and DCVERROR, causing all of the flag variables
created from them to be blank.
Only the DCOLVOLS dataset was in error in 27.01.
But see also Change 27.057.
Thanks to Dr. H. Pat Artis, Performance Associated, USA.
Thanks to Brian Currah, Independent Consultant, CANADA.
Thanks to Dan Case, Mayo Clinic, USA.
Change 27.046 Major updates to D,V,X records created by EDGHSKP utility
VMACEDGR add new variables to EDGRDEXT, EDGRVEXT, and EDGRXEXT
Mar 25, 2009 dataset. These extensive changes have been validated
Apr 2, 2009 with z/OS 1.7, 1.8, 1.9, and 1.10 RMM records.
Apr 4, 2009 -The RMM EDGRDEXT final segment test for GE 95 should have
been GE 31. RVMVDSN1,RVDSTBIN,RVDSTMED,RVVVOL1 do not
exist in the DEXT record; these fields were added in 2003
in Change 21.158, but I must have misread the doc!
Also, the RDEXPDT and RDEXPDTO date fields were not
converted to SAS date values.
-Support for APAR OA22132 adds variables to D/V/X records:
RDFACTOR='SPACE/SIZE*FACTOR' (MB in EBCDIC)
RDSIZE ='RDSIZE'
Variable RDSIZE is converted by RDFACTOR and formatted
with MGBYTES to show size in KB/MB/GB/ etc Note that
RDSIZE will be a missing value when that 10-byte field
is blanks, which does occur in many (old?) records.
Thanks to Paul Volpi, UHC, USA.
Change 27.045 -These QISTWFxx variables in DB2STATS were wrong because
VMACDB2 MXG de-accumulated them, but are not accumulated values:
Mar 20, 2009 QISTW04K QISTW32K QISTWF04 QISTWF32 QISTWFCK QISTWFCU
Mar 24, 2009 QISTWFMU QISTWFMX
Apr 11, 2009 -Variables QWACIXLT and QWAXIXLT were incorrectly divided
Apr 19, 2009 by 4096; they are in microseconds, not TOD clock units.
-Variables QSSTGETR, QWSDARIR, Q9STCTX1 were deaccumulated
twice, QSSTGETE was not deaccumulated.
-Dataset DB2STATS variables for Star Joins are marked in
the DSECT as "SERVICEABILITY", but are added
-Star Join statistics variables are added to DB2STATS:
QISJTRY ='ALLOCATION*REQUESTS IN*STAR JOIN*POOL'
QISJFAIL='FAILURES*CAUSED BY*FULL*STAR JOIN*POOL'
QISJSIZE='CURRENT*SIZE OF*STAR JOIN*POOL (MB)'
QISJMAX ='MAXIMUM*SIZE OF*STAR JOIN*POOL (MB)'
They are marked "SERVICEABILITY" in the current DSECT.
Thanks to Lori Masulis, Fidelity Systems, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Terry L. Berman, DST Systems, USA.
Thanks to Steve Wood, DST Systems, USA.
Change 27.044 Variable CPCFNAME was defined as $10 in VMXG70PR but it
VMXG70PR contains only $8, and its length in RMFINTRV is also $8.
Mar 20, 2009 Since RMFINTRV is created by default in BUILDPDB, I chose
to change the length in the ASUM70PR datasets to avoid
conflicts.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 27.043 -HP OpenView on AIX variables RELEASE, SOFTWARE, SYSID
ADOCMWAI were wrong or had no values with the current REPORT macro
ADOCMWSU (which is now in ADOCMWAI, so you can use that command to
VMACMWAI extract the data in the format expected by the revised
VMACMWSU VMACMWAI, and similarly, VMACMWSU/ADOCMWSU members are
Mar 18, 2009 updated for HP OpenView on Sun, with ADOCMWSU containing
Apr 10, 2009 the REPORT macro to match the VMACMWSU code.
Thanks to Albert Jacobs, KBC ICT Services NV, BELGIUM.
====== Changes thru 27.042 were in MXG 27.01 dated Mar 17, 2009=========
Change 27.042 Support for ASG TMON for CICS V3.2 was in MXG since 25.11
VMACTMO2 for important MONITASK dataset, and most other datasets,
Mar 17, 2009 although MONIIWT & MONITDQ datasets require this change,
as their offsets were relocated by insertion of the new
fields for the MONISYST and MONITDQ datasets.
-Dataset MONITASK, new variables:
TADFHAP1 TADFHAP2
-Dataset MONIPA, new variables:
PACMDLYC PACMDLYT PADFHAP1 PADFHAP2 PAICSCC
PAICSCD PAICSRC PAICSRD PAL9CPUC PAL9CPUT
PAPCDCC PAPCDLL PAPCDRL PAPCLCC PAPCRCC
PAPCRCL PAPCXCC PAPGBCC PAPGCCC PAPGCTC
PAPGGCC PAPGGCL PAPGMCC PAPGPCC PAPGPCL
PASTDLYC PASTDLYT PAWBBOC PAWBI1C PAWBIRC
PAWBIWC PAWBO1C PAWBOSC PAWBPRC PAWBRDL
PAWBROC PAWBWDL PAWBWOC PAX8CPUC PAX8CPUT
PAX9CPUC PAX9CPUT PAXTDLYC PAXTDLYT
-Dataset MONISYST, new variables:
TIMQSCLC TIMQSCLT TIMQSGTC TIMQSGTT TIMQSIQC
TIMQSIQT TIMQSOPC TIMQSOPT TIMQSP1C TIMQSP1T
TIMQSPTC TIMQSPTT TIMQSSTC TIMQSSTT TIRECICT
-Dataset MONITDQ, new variables:
TDRECICT
Change 27.041 The example to summarize PDB.SMFINTRV into PDB.ASUMSMFI
ASUMSMFI was enhanced to specify the SYNC59 argument, with the
Mar 17, 2009 default SYNC59=NO, so there would be no change to the
summarized output (until you change NO to YES!).
Thanks to Larry Stahl, IBM Global Services, USA.
Change 27.040 Dataset TYPE78PA (Private Area for Monitored Jobs) ID=78
VMAC78 Subtype 2 INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR
Mar 17, 2009 was due to MXG miscoding the new-in-z/OS 1.10 Memory
Objects. COMOHWM,LGMOHWM,SHMOHWM,TOFRHWM,TOMOHWM vars
were INPUT but never existed and are removed. Labels for
their MIN and MAX values are changed to FRAMES instead of
BYTES, and their MGBYTES formats are removed.
Thanks to Scott Chapman, American Electric Power, USA.
Change 27.039 Change 26.183 is wrong; it removed the QBAC and QTXA vars
ASUMDB2P from the summary in ASUMDB2P and TRNDDB2 code, claiming
TRNDDB2P those variables were not in the IFCID=239 (101 subtype 1)
VMACDB2 Package Data records starting in V7.1. But they all DO
Mar 16, 2009 exist in DB2ACCTP dataset in DB2 V8.1 or later, so they
are now restored in ASUMDB2P and TRNDDB2P summary code.
The QBAC and QTXA fields are only populated in DB2ACCTP
dataset if DB2 Accounting Trace Class 10 is enabled.
Those variables have ALWAYS been kept in the DB2ACCTP
dataset, so this only impacts users of MXG's summaries.
Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.
Change 27.038 Change 26.183 SMF/Performance Sentry Release 3.1.4.
VMACNTSM A major enhancement in NTSMF adds IDPROCES and SQLVERSN
Mar 15, 2009 to 72 SQLSERVER/MSSQL dataset, so that the individual
SQL Server Process can be identified. There were also
37 new objects that are now supported by these new exit
members:
exntdtos exntm8ca exntm8co exntm8dm exntm8dp exntm8lo
exntm8md exntm8me exntm8pa exntm8pc exntm8pi exntm8pr
exntm8se exntm8th exntmlca exntmlco exntmldm exntmldp
exntmllo exntmlmd exntmlme exntmlpa exntmlpc exntmlpi
exntmlpr exntmlse exntmlth exntqlbl exntqldf exntqlrp
exntqlwg exntrpsv exntsqbt exntsqdf exntsqpl exntsqrp
exntsqwg
Change 27.037 The example in the comments to execute did not have the
ADOC70PR //SPIN DD UNIT=SYSDA,SPACE=CYL(1,1)
Mar 15, 2009 that is required by that example program. It can be
a temporary dataset, because this example builds a
single output PDB library for analysis. The SPIN DD
is only used in the RMFINTRV program to create SPINRMFI,
used to keep the last four hours of CPU busy for the old
MXG MSU4HRAV variable when RMFINTRV is created on a daily
basis. MSU4HRAV is actually archaic, predating the IBM
addition of their SMF70LAC, which should be used in place
of MXG's MSU4HRAV.
Thanks to MP Welch, SPRINT, USA.
Change 27.036 -Fields DBHCEUID, DBHCEUTX, DBHCEUWN are now kept in the
VMACTMDB TMON for DB2 TMDBBF,TMDBBG,TMDBBH, and TMDBBI datasets,
Mar 14, 2009 and all three have any '00'X translated to blanks.
-Variable HSIID now formatted with MGDB2II.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 27.035 Previously, you could not leave SYSTEM blank in TIMETABL,
VMXGTIME but with this revision, if ALL of your SYSTEMS are to be
Mar 11, 2009 changed the same way, you do NOT need to fill in SYSTEM,
and the same for SYSPLEX. If you have systems on
different time zones, then each SYSTEM or SYSPLEX must be
in the TIMETABLE (but only those that differ from base).
So if you have 3 systems, 2 on local, and one on local+2,
to convert all systems to local, only the local+2 system
needs to be listed in TIMETABL.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 27.034 Support for EAV, Extended Address Volume, devices with
VMACDCOL more than 65520 cylinders, introduced in z/OS 1.10, with
Mar 11, 2009 HUGE volume sizes, 236GB (256K Cylinders) first release.
EAV devices are formally documented as 3390-A devices.
Dataset DCOLVOLS: new variables:
DCVCYLMG='EAV*INDICATOR*FLAG'
DCVDPTYP='PHYSICAL*DEVICE*TYPE'
DCVEAVOL='EAV*INDICATOR*FLAG'
DCVTRALC='ALLOCATED*TRACK*MANAGED'
DCVTRFRG='FRAGMENTATION*INDEX*TRACK*MANAGED'
DCVTRFRX='FREE*EXTENTS*TRACK*MANAGED'
DCVTRFSP='FREESPACE*TRACK*MANAGED'
DCVTRLGE='LARGEST*EXTENT*TRACK*MANAGED'
DCVTRPCT='PCT FREESPACE*TRACK*MANAGED'
DCVTRVLC='TOTAL CAPACITY*TRACK*MANAGED'
The new Track-Managed Space or Base Addressing Space
is the first 65520 cylinders (54GB), and space above
that is the Extended Addressing Space.
Disk allocation in the EAS is in units of 21 cylinders.
Initial implementation is VSAM only, KSDS,RRDS,ESDS and
linear, so DB2 and zFS can use EAV volumes.
Dataset DCOLSC: new variables:
DSCBAKUP='ACC*BACKUP*PARM*VALUE'
DSCBUSP ='ACC*BACKUP*PARM*SPECIFIED'
DSCDSSEP='DATASET*SEPARATE*PROFILE'
DSCFLAG3='DSC*FLAG*BYTE*3'
DSCFOSL ='OAM*SUBLEVEL*1'
DSCTIER ='MULTI-TIER*SG*VALUE'
DSCTIERS='MULTI-TIER*SG*SPECIFIED'
DSCVERSN='ACC*VERSION*PARM*VALUE'
DSCVERSP='ACC*VERSIONING*PARM*SPECIFIED'
Dataset DCOLDC new variables:
DDCFSDB ='SDB*IS*SPECIFIED?'
DDCFVORD='OVERRIDE*JCL*SPECIFIED?'
Dataset DCOLBKUP new variables:
UBFLAG3='INFORMATION*FLAG*3'
UBNOSPH='SPHERE(NO)*PROCESSED?'
UBGVCN ='GENVSAMCOMPNAMES*PROCESSED?'
-Variable UMNMIG, number of times migrated, is reserved in
dataset DCOLMIGS.
-Doc notes:
Length of VOLUME RECORD structure still 112.
-Type 1415 enhancement:
-MXG Change 25.071 added variable EADSCBOK was decoded
from SMF14EADSCB, in the type 5 extended information
segment of the SMF type 14 and 15 records. It means
that the user program provided a valid DCBE that has
EADSCB=OK. It does NOT mean that OPEN needed this
option.
If this bit is zero, then the program did not specify
EADSCB=OK on the DCBE macro. IBM suggests upgrading
the program to handle 28-bit cylinders and coding
EADSCB=OK. This is to help plan for when EAV might
support more types of data sets.
-MXG Change 25.071 also decoded variable SMF14EAV from
SMF14EXCPBAM. This is 'Y' if the user program issued
one or more instances of the EXCP or XDAP macro since
the BSAM, BPAM or QSAM DCB was opened.
-SMF19 enhancements added by Change 26.071, documentation:
These existing two-byte counters describe free space for
the entire volume. If the value exceeds the capacity of
the counter, it will be set to the maximum of 65535. The
correct values will always be in SMF19EVF and SMF19TMF.
MXG var IBM name
NRDSCBS SMF19NDS Number of DSCBs in VTOC
NRDSCB0 SMF19DSR Number of format 0 (unused) DSCBs
in VTOC
NRALTRKS SMF19NAT Number of unused alternate tracks
CYLAVAIL SMF19SPC Numbers of free complete cylinders
TRKAVAIL SMF19??? Number of free tracks
MAXCYLS SMF19LEX Numbers of complete cylinders in
largest free extent
MAXTRKS SMF19??? Numbers of complete tracks in
largest free extent
NRUNEXTS SMF19NUE Number of free extents
New SMF19CYM variable will mean that the volume has
cylinder-managed space.
The following will be new four-byte unsigned counters at
the end of the record:
SMF19SDS Number of DSCBs in VTOC
SMF19SL0 Number of format 0 (unused) DSCBs in VTOC
The following 5 new counters apply to the whole volume.
SMF19SUC Number of free complete cylinders
SMF19SUT Number of additional free tracks
SMF19SNC Number of complete cylinders in largest free
extent
SMF19SNT Number of additional free tracks in largest
free extent
SMF19SNE Number of free extents
The following five new counters apply only to the
track-managed space on the volume. For volumes with no
cylinder-managed space (SMF19CYM is off) these counters
are the same as the previous five counters for the whole
volume.
SMF19BUC Number of free complete cylinders
SMF19BUT Number of additional free tracks
SMF19BNC Number of complete cylinders in largest free
extent
SMF19BNT Number of additional free tracks in largest
free extent
SMF19BNE Number of free extents
The following new fields provide volume size information
SMF19TRK Total number of tracks on the volume
SMF19TRM Total number of tracks in track-managed space
when SMF19CYM = '1' to the value of SMF19TRK
otherwise. When SMF19CYM ='1' this value is
also the address where cylinder-managed space
begins.
Change 27.033 IMS logs from different IMS Versions cannot be processed
JCLIMSL6 in a single job with JCLIMSL6 or using TYPEIMS7, because
Mar 11, 2009 the IMS version is not provided in the log records. You
must EDIT the MACRO _IMSVERS nn % to tell MXG what IMS
version's records are to be read. The original way was
to define _IMSVERS in your IMACKEEP member, but if you
have two different versions, you needed to create two
special tailoring PDS libraries, each with only the that
IMACKEEP member, and then override the //SOURCLIB DD to
place this tailoring library ahead of the "USERID" and
"MXG" source libraries; do-able, but messy at the least.
To eliminate all that stuff, the JCLIMSL6 example now
has added, in //SYSIN stream for the TESTIMSB/TESTIMSA:
%LET MACKEEP= MACRO _IMSVER 10.0 % ;
which overrides the IMSVER definition in either your
IMACKEEP member or in your IMACIMSA, so that you do NOT
have to EDIT either of those members into your USERID
to define the IMS Version.
Note that this issue only applies to MXG JCLIMSL6 job
that read the native IMS log records, TYPEIMSx. It
does not apply to these vendor products that create their
own IMS data which contain the IMS version number and
which can be concatenated or have multiple versions input
in one job: TYPECIMS/TYPESVIE/TYPEITRF/TYPETIMS.
Thanks to Herbert Sweeney, Verizon, USA.
Change 27.032 Support for CICS/TS 4.1.0 OPEN BETA. INCOMPATIBLE as new
VMAC110 fields in CICSTRAN were INSERTed rather than APPENDed to
Nov 20, 2008 the SMF 110 Subtype 1 records:
Dec 17, 2008 BFDGSTCT='EXEC*CICS*BIF*DIGEST*COMMANDS'
Jan 12, 2009 BFTOTCT ='EXEC*CICS*BIF DEEDIT*BIF DIGEST*COMMANDS'
Mar 10, 2009 ECEFOPCT='EVENT*FILTER*OPERATIONS'
EXCICECC ECEVNTCT='EVENTS*CAPTURED'
EXCICPGD ECSIGECT='SIGNAL*EVENTS*CAPTURED'
EXCICEPG EICTOTCT='EXEC*CICS*REQUESTS'
EXCICECG MAXTTDCN='MAXTTDLY*WAIT FOR*T8 TCB*COUNT'
EXCICECR MAXTTDTM='MAXTTDLY*WAIT FOR*T8 TCB*DURATION'
VMXGINIT MLXSSCCN='XML*SYSTEM*SERVICES*CPU*DISPATCHES'
UTILEXCL MLXSSCTM='XML*SYSTEM*SERVICES*CPU*DURATION'
IMACCICS MLXSSTDL='TOTAL*DOCUMENT*LENGTH'
Mar 14, 2009 T8CPUTCN='T8CPUT*JVM*MULTITHREADED*COUNT'
T8CPUTTM='T8CPUT*JVM*MULTITHREAD*DURATION'
TIASKTCT='EXEC*CICS*ASKTIME*COMMANDS'
TITOTCT ='EXEC*CICS*ASK/CONVERT/FORMAT*TIME*CMDS'
WBATMSNM='ATOMSERVICE*RES DEF*NAME*USED'
WBPIPLNM='PIPELINE*RES DEF*NAME*USED'
WBPROGNM='PROGRAM NAME*FROM URIMAP*RES DEF'
WBSVCENM='WEBSERVICE*RES DEF*NAME*USED'
WBURIMNM='URIMAP*RES DEF*NAME*MAPPED'
WBSVOPNM='WEBSERVICE*OPERATION*NAME'
MLXMLTCT='EXEC*CICS*TRANSFORM*REQUESTS'
WSACBLCT='WSACONTEXT*BUILD*REQUESTS'
WSACGTCT='WSACONTEXT*GET*REQUESTS'
WSAEPCCT='WESAEPR*CREATE*REQUESTS'
WSATOTCT='TOTAL*WS-ADDRESSING*REQUESTS'
WBSFCRCT='SOAPFAULT*CREATE*REQUESTS'
WBSFTOCT='TOTAL*SOAPFAULT*REQUESTS'
WBISSFCT='INVOKE*XXXSERVICE*SOAP*FAULTS'
WBSREQBL='SOAP*REQUEST*BODY*LENGTH'
WBSRSPBL='SOAP*RESPONSE*BODY*LENGTH'
JVMTHDTM='JVMSERVER*THREAD*WAIT*DURATION'
JVMTHDCN='JVMSERVER*THREAD*WAIT*COUNT'
WMQASRTM='WEBSPHERE*MQ*API*CPU SRB*DURATION'
WMQASRCN='WEBSPHERE*MQ*API*CPU SRB*COUNT'
-Three new TCBs are added to the CICDS Dispatch Statistics
and CICINTRV datasets, T8, EP, and TP, but only T8CPUT is
contained in the CICSTRAN data at present. And the TCB
Numbers have changed, as shown in this table, but since
the TCB 2-character name is used to identify the TCB,
this (fortunately) caused no incompatibility in CICDS:
See Change 27.200 for updated table.
-New Pool added to STID=60, CICDSPOO for MAXTHRDS TCBs.
-CICS Statistics STID=11, dataset CICXMR has new variables
XMRCHGAG XMRCHGDT XMRCHGUS XMRGRFRM XMRINSAG XMRINSDT
XMRINSUS
-CICS Statistics STID=12, dataset CICXMC has new variables
XMCCHAGT XMCCHGTM XMCCHUSR XMCDEFSR XMCINAGT XMCINSTM
XMCINUSR
-CICS Statistics STID=21, dataset CICVT, has new variables
A03LUHWM A03LUNUM A03PSEC A03PSIC A03PSNC
A03PSOC A03PSUC A03PSTYP A03PSDIN
-CICS Statistics STID=42, dataset CICTQR new variables
TQRCHGDT TQRGRFRM TQRCHGAG TQRCHGUS TQRINSAG TQRINSDT
TQRINSUS
-CICS Statistics STID=52, dataset CICCONSR new variables
A14CHGDT A14GRFRM A14CHGAG A14CHGUS A14INSAG A14INSDT
A14INSUS
-CICS Statistics STID=67, dataset CICFCR new variables
A17CHGAG A17CHGDT A17CHGUS A17GRFRM A17INSAG A17INSDT
A17INSUS
-CICS Statistics STID=74, dataset CICIMQ new variables
CMQBUFMH CMQCB CMQCHGAG CMQCHGDT CMQCHGUS CMQCRTMH
CMQCRTNE CMQCTL CMQDLTMH CMQDLTMP CMQGRFRM CMQINQMP
CMQINSAG CMQINSDT CMQINSUS CMQMHBUF CMQRESYN CMQSETMP
CMQSTAT CMQSUB CMQSUBRQ
-CICS Statistics STID=102, dataset CICDB2RE new variables
D2RCHGAG D2RCHGDT D2RCHGUS D2RGRFRM D2RINSAG D2RINSDT
D2RINSUS
-CICS Statistics STID=104, dataset CICWBR new variables
WBRCHGAG WBRCHGDT WBRCHGUS WBRGRFRM WBRINSAG WBRINSDT
WBRINSUS WBRNAME WBRUSAGE
-CICS Statistics STID=105, dataset CICPIR new variables
PIRCHGAG PIRCHGDT PIRCHGUS PIRGRFRM PIRINSAG PIRINSDT
PIRINSUS
-CICS Statistics STID=106, dataset CICPIW new variables
PIWCHGAG PIWCHGDT PIWCHGUS PIWGRFRM PIWINSAG PIWINSDT
PIWINSUS
-CICS Statistics STID=108, dataset CICTCPIP new variables
SORCHGAG SORCHGDT SORCHGUS SORGRFRM SORHOST SORINSAG
SORINSDT SORINSUS SORIPADR SORIPFAM SORMXDAT SORTRNID
SORURM
-CICS Statistics STID=109, dataset CICISR new variables
ISRCHGAG ISRCHGDT ISRCHGUS ISRFSICQ ISRFSICR ISRFSICS
ISRGRFRM ISRINSAG ISRINSDT ISRINSUS ISRIPADR ISRIPFAM
ISRLAUTH ISRRMTST ISRTRBYR ISRTRBYS ISRTRREQ
-CICS Statistics STID=111, dataset CICTCPIP new variables
IIRCHGAG IIRCHGDT IIRCHGUS IIRGRFRM IIRINSAG IIRINSDT
IIRINSUS
-CICS Statistics STID=112, dataset CICDHD new variables
DHDCHGAG DHDCHGDT DHDCHGUS DHDGRFRM DHDINSAG DHDINSDT
DHDINSUS
-CICS Statistics STID=114, dataset CICTCPEJ new variables
EJRASSRT EJRCHGAG EJRCHGDT EJRCHGUS EJRGRFRM EJRINSAG
EJRINSDT EJRINSUS EJRIPADR EJRIPFAM
-New CICS stats STID=120, new dataset
CICPGD='PROGRAM DEF (RESOURCE) ID'
new variables:
PGDAPI PGDCHGAG PGDCHGDT PGDCHGUS PGDCONCU PGDDATLO
PGDDYNAM PGDEXECK PGDEXEKY PGDGRFRM PGDINSAG PGDINSDT
PGDINSUS PGDJVM PGDJVMPR PGDLANG PGDLANGD PGDPGMTY
PGDREMOT PGDRMTPG PGDRMTSY PGDRMTTR PGDRUNEN
-New CICS stats STID=140, new dataset
CICECG='EVENTBINDINGS (GLOBAL) ID'
new variables:
ECGFLTOP ECGCAPTU ECGDISAB
-New CICS stats STID=142, new dataset
CICEPG='EVENTPROCESS (GLOBAL) ID'
new variables:
EPGCUEVQ EPGCUTRQ EPGDSPAT EPGDSPCU EPGDSPPK EPGEVTCU
EPGEVTTR EPGEVTTS EPGEVTWM EPGNOREV EPGPKEVQ EPGPKTRQ
EPGPRIEV EPGPUTEV EPGSYNEV EPGTRDEV EPGTRNEV
-New STIDs 141 and 143 are structurally supported, but
only the _CICCMN variables are output, awaiting test
data records to validate.
STID DATASET DESCRIPTION
141 CICECR EVENTBINDINGS (RESOURCE) ID
143 CICECC CAPTURESPEC RESOURCE ID
-See Change 27.200: MXG 27.08 now supports STID 141,143.
-CICS/TS 4.1 is still a BETA release, so IBM may choose to
add, or remove, any of these fields in their GA release.
-See Change 27.200 for Support for CICS/TS 4.1.0 GA.
-Old notes "ADDED IN CICS 4.1.0" were not CICS/TS 4.1, but
are now "ADDED IN CICS/ESA 4.1.0", from 1994!
Change 27.031 A set of sample reports for some basic TCP/IP analysis
ANAL119 from IBM type 119 records (MXG Member TYPE119) for the
May 7, 2009 analysis of FTP and Telnet usage, very similar to the
ANALTCP reports from SMF 118 records (which was also
contributed by Steve, by Change 18.091 in April, 2000!
Excellent comments in the ANAL119 member document these
sample reports, but don't contact Steve for help; any
problems should be directed to support@mxg.com.
Thanks to Steve Clark, DHL, USA.
Thanks to R. Wells, American General Finance, USA.
Change 27.030 -Only the last MDISK segment in XAMDEV records was output
EXXAMDEM in the XAMDEV dataset, but there can be many MDISKs, so
IMACXAM the new XAMDMINI dataset is created, outputting all MDISK
VMACXAM segments, containing these MDISK-specific variables:
VMXGINIT DNMDISKS MDSKADDR MDSKDIST MDSKECYL MDSKOWNR MDSKSAMP
Mar 6, 2009 MDSKSCYL MDSKWRIT MDSKZERO UDSKDIST UDSKSAMP UDSKUSER
Mar 17, 2009 UDSKZERO USSKWRIT
and ALL those variables were removed from XAMDEV dataset.
-The IODCAD logic had a typo, testing for 3390 instead of
for 3990, so the 3990 variables in XAMDEV dataset were
always missing values.
-These MTRPAG variables were kept in XAMSYS but not in the
dataset XAMDEV:
PGS1 PGS2 PGS3 CALCYLPA CALCYLSP CALCYLPR
CALEXTPG CALEXTPS CALEXTPP
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.029 Support for BMC's Ultra Op Product's User SMF record
EXULOPIN creates new dataset ULTRAOP.
FORMATS
IMACULOP
TYPEULOP
TYPSULOP
VMACULOP
VMXGINIT
Mar 4, 2009
Thanks to Tony Curry, BMC, USA.
Change 27.028 -Support for NMON Nigel's Monitor for AIX/Linux under zVM,
EXNMONPO record type 'VM' adds 37 new variables to the NMONINTV
IHDRNMON Interval dataset. The descriptor record for 'VM' is not
IMACNMON consistent; sometimes its second word is the expected
VMACNMON Tnnnn snapshot value, sometimes that value is missing.
VMXGINIT DIRTY='NR*DIRTY'
Mar 13, 2009 WRITEBACK='NR*WRITEBACK'
UNSTABLE='NR*UNSTABLE'
PAGETABLEPAGES='NR*PAGE*TABLE*PAGES'
MAPPED='NR*MAPPED'
SLAB='NR*SLAB'
PGPGIN='PGPGIN'
PSPGOUT='PGPGOUT'
PSWPIN='PSWPIN'
PSWPOUT='PSWPOUT'
PGFREE='PGFREE'
PGACTIVATE='PGACTIVATE'
PGDEACTIVATE='PGDEACTIVATE'
PGFAULT='PGFAULT'
PGMAJFAULT='PJMAJFAULT'
PGINODESTEAL='PGINODESTEAL'
SLABSCANNED='SLABS*SCANNED'
KSWAPDSTEAL='KSWAPD*STEAL'
KSWAPINODESTEAL='KSWAPD*INODESTEAL'
PAGEOUTRUN='PAGEOUTRUN'
ALLOCSTALL='ALLOCSTALL'
PGROTATED='PGROTATED'
PGALLOCHIGH='PGALLOC*HIGH'
PGALLOCNORM='PGALLOC*NORMAL'
PGALOCDMA='PGALLOC*DMA'
PGREFILLHIGH='PGSTEAL*HIGH'
PGREFILLNORM='PGSTEAL*NORMAL'
PGREFILLDMA='PGREFILL*DMA'
PGSTEALHIGH='PGSTEAL*HIGH'
PGSTEALNORM='PGSTEAL*NORMAL'
PGSTEALDMA='PGSTEAL*DMA'
PGSCANKSWAPDHIGH='PGSCAN*KSWAPD*HIGH'
PGSCANKSWAPDNORM='PGSCAN*KSWAPD*NORMAL'
PGSCANKSWPADDMA='PGSCAN*KSWAPD*DMA'
PGSCANDIRECTHIGH='PGSCAN*DIRECT*HIGH'
PGSCANDIRECTNORM='PGSCAN*DIRECT*NORMAL'
PGSCANDIRECTDMA='PGSCAN*DIRECT*DMA'
-Support for record type 'POOLS' creates new NMONPOOL
dataset with these variables:
ENTITLED='ENTITLED'
ENTITLED_POOL_CAPACITY='ENTITLED*POOL*CAPACITY'
MAX_POOL_CAPACITY='MAX*POOL*CAPACITY'
POOL_BUSY_TIME='POOL*BUSY*TIME'
POOL_ID='POOL*ID'
POOL_MAX_TIME='POOL*MAX*TIME'
SHCPUS_IN_SYS='SHCPUS*IN*SYS'
SHCPU_BUSY_TIME='SHCPU*BUSY*TIME'
SHCPU_TOT_TIME='SHCPU*TOT*TIME'
-New IHDRNMON "NMON infile" exit is taken after RECTYPE
has been INPUT so that unwanted record types can be
deleted prior to processing. But use carefully; if you
delete the wrong records, you could end up with nothing
output to the NMON datasets. And the &IHDRNMOH macro
variable is also defined so the exit can be defined in
your //SYSIN with %LET IHDRNMOH= %quote ( your code ) ;
-Erratic JFSFILE records with 38 instead of 36 fields have
been observed, but that is a problem with NMON, not MXG.
Thanks to Long Nguyen, DHS, USA.
Thanks to Marvin Einarson, DHS, USA.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 27.027 TYPE42DS variables RESPTIME, MAXRSPTM and MAXSRVTM are in
VMAC42 milliseconds, but MAXRSPTM incorrectly had TIME12.2. Now
Mar 2, 2009 all have 6.3 format and milliseconds in their label.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.026 Variable SMF88LTD='TIMESTAMP WHEN*SMF INTERVAL*EXPIRED'
VMAC88 was usually wrong, as the GMT Offset was repetitively
Mar 2, 2009 applied. Also, the GMT offset was never applied if the
GMT Offset was positive.
Change 27.025 Support for z/OS 1.11.
EXTY8224 -TYPE 0. New variable:
EXTY8225 CVTTZ ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'
EXTY8226 -TYPE1415. NO NEW DATA, but lots of text inserts about
IMAC82 assembling the IFGSMF14 Macro with DSECT=YES, which is
VMAC0 why it is flagged in the SMF Manual as changed.
VMAC82 -TYPE30. NO NEW DATA, only one line of text updated.
VMXGINIT -TYPE82. New subtypes 24, 25, and 26.
May 2, 2009 -TYPE92. Subtype 15 now documented, but MXG supported
was added in Change 26.277 for APAR OA24208.
-TYPE1415 New variables DCBEEX31 XTIOTYES created from
SMF14FLGS.
Change 27.024 If only PMACC04 was requested, a NOT SORTED ERROR for the
ANALDB2R DB2SUMRY dataset occurred. Some additional corrections to
Feb 28, 2009 PMACC01/PMACC02 (short reports had LOCK suspends reported
under the PREFETCH column, and WRITE IMMEDIATES under the
LOCKS column, and time formats match DB2PM (TIME12.6).
Thanks to Paul Volpi, UHC, USA.
Change 27.023 Variables S17FBKNM S17FEXNM and S17FMFNM are now KEPT in
VMAC117 dataset S117NODE so that it can be combined with S117FLOW
Feb 27, 2009 dataset so the Execution Group and Flowname to which the
Node belongs can be known. Those variables are also
added to the _B117NOD and _B117FLO By List macros.
Thanks to Trevor Holland, ANZ, AUSTRALIA
Change 27.022 NDM Record 'IK' is now supported, output in NDMDT dataset
VMACNDM not because I have a DSECT for that NDM subtype, but
Feb 26, 2009 because it appears to have the same structure.
Thanks to Herbert Sweeney, Verizon, USA.
Change 27.021 QPACxxxx flag variables set from QPACFLGS were not reset,
VMACDB2 so if there was more than one NRQPAC segment in a record,
Feb 25, 2009 the values could have been wrong. These eight variables
QPACDBRM QPACPACK QPACCLS8 QPACCRNT QPACINSP QPACCLS7
QPACPAC
could have been carried forward.
Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.
Change 27.020 WEEK70PR failed with VARIABLE INTERVAL NOT FOUND because
WEEK70PR - that variable has not existed in ASUM70PR in years, and
Feb 25, 2009 - WEEK70PR was way out of date, only supporting 16 LPARs.
This change recreates the old INTERVAL (interval count)
and was enhanced to support all 60 possible LPARS.
Thanks to Atle Mjelde, Ergo Group, NORWAY.
Change 27.019 CICS User fields USECOPID/USECUSER/USECBRAN/APPCEMP1
IMACAAAA are supported in listed new IMACICxx CICS exit members.
IMACICUA IMACICUA - USECOPID
IMACICUB IMACICUB - USECUSER
IMACICUC IMACICUC - USECBRAN
IMACICUD IMACICUD - APPCEMP1
UTILEXCL
VMAC110
Feb 24, 2009
Change 27.018 DB2 V9 variables added by IBM or overlooked now input.
VMACDB2 New variables in DB2STAT0/DB2STATS from QWSD segment:
Feb 23, 2009 QWSDARTH='ROLLUPS*DUE TO*ROLLUP*THRESH*EXCEEDED'
QWSDARSG='ROLLUPS*DUE TO*STORAGE*THRESH*EXCEEDED'
QWSDARST='ROLLUPS*DUE TO*STALENESS*THRESH*EXCEDED'
QWSDCDTB='NOT ROLLUP*DUE TO*KEY FIELDS*NULL'
New variable in DB2STAT0/DB2STATS from QVLS segment:
QVLSL254='CONTENTIONS*LATCH CLASS*254'
New variables in DB2STAT0/DB2STATS from QVAS segment:
QVASCBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-WAIT'
QVASCBOF='FAILED*SYSEVENT*BOOSTS*THREAD-WAIT'
QVASMBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-STORE'
QVASMBOF='FAILED*SYSEVENT*BOOSTS*THREAD-STORE'
New variables in DB2STAT0/DB2STATS from QSST segment:
QSSTGETS='QSST_SGETM*STACK*REQUEST*GETMAINS'
QSSTGETR='QSST_SGETR*GET*REQUESTS'
QSSTGETE='QSST_SGETEXT*STACK*EXTENSIONS'
QSSTFRES='QSST_SFREEM*SEGMENT*FREEMAIN*REQUESTS'
QSSTFRER='QSST_SFREER*REQUESTS*TO FREE A*SEGMENT'
New variables in DB2STAT0/DB2STATS from QWOS segment:
QWOSLUIC='UNREFERNCED*INVERVAL*COUNT'
QWOSFLG ='STATUS*FLAG FOR*RMF-API (S)'
QWOSRCDE='RETURN*CODE FROM*RMF-API (S)'
QWOSRSNC='REASON*CODE FROM*RMF-API (S)'
NOTE: DB2 Parameter ZOSMETRICS=YES must be specified to
populate these variables. APAR PK62116 applies.
With the default NO value, fields contain 'FFFFFFFF'x.
New variables in DB2STAT1/DB2STATS from QXST segment:
QXCRESEQ QXALTSEQ QXDROSEQ QXPRRESI QXALTVW
QXALTCTX QXALTJR QXCRCTX QXCRROL QXDRPCTX QXDRPROL
QXMERGE QXRNIX QXSTXMLV QXTRTBL
These variables were not INPUT in the DB2STAT1 record,
but were deaccumulated; all were labeled and did not
raise an uninit warning because they were INPUT in the
DB2ACCT record.
New variables in DB2ACCT from QXST segment:
QXALTCTX QXALTJR QXCRCTX QXCRROL QXDRPCTX QXDRPROL
QXMERGE QXRNIX QXSTXMLV QXTRTBL
These variables were INPUT but not kept.
Variable QBSTLPL in DB2ACCT was not input because its
conditional INPUT should have been at 276 vice 280.
Thanks to Steve Wood, DST Systems, USA.
Thanks to Terry L. Berman, DST Systems, USA.
Change 27.017 Undecoded TOKDANAM non-tokens NOHOME/NOPROGRAM now set
EXTY80TK their segment-specific variables TOKHOME/TOKPROG to value
IMAC80A 'NOHOME' or 'NOPROGRAM', and logic was added to print
VMAC80A the first ten instances of undecoded TOKDANAM values with
VMXGINIT ***MXGNEWDATA: messages and a hex dump on the SAS log.
Feb 20, 2009 -NOTHREADMAX and NOSHMMEMAX non-tokens create new variable
Mar 13, 2009 TOKNOTHR and TOKNOSHM with those text values, and real
token LDAPHOST decodes and populates new var TOKLDHST.
-However, it was discovered that there can be multiple
instances of the (301) segment, with different TOKSUBSY
values, so these "TOKDANAM-specific" variables
TOKASIZM TOKDCE TOKGID TOKHOME TOKLDAP
TOKLDHST TOKNOSHM TOKNOTHR TOKPROG TOKUID
cannot be kept in the TYPE80nn event datasets, since only
the last value would be output. Instead, new TYPE80TK
dataset is now created, with both the TOKDANAM-specific
variables, and TOKSUBSY, TOKDANAM, TOKCHARV and TOKNUMRV
replications to give you easier reporting choices.
Thanks to Bill Arrowsmith, EuroClear, BELGIUM.
Thanks to Maurice Peek, EuroClear, BELGIUM.
Change 27.016 -SMF 42 Subtype 25 (Rename Member), NEWMEMNM/OLDMEMNM were
VMAC42 misaligned, because SMF42PF1 plus 3 reserved bytes only
Feb 20, 2009 exist in the subtype 24 record.
-The three member name fields NEWMEMNM/OLDMEMNM/AORMEMNM
in subtypes 24 and 25 are theoretically variable length
fields, so they were INPUT x $VARYING8. SMF42PML/QOL, but
those lengths are always 8 bytes, so now $EBCDIC8. is
used, which also makes them correct under ASCII SAS.
-The subtype 25 record has a minor error: SMF42NT/NRTRIPLT
the number of triplets, is 3, but 4 triplets are present.
The fourth points to ICHRUTKN, so MXG tests the offsets
rather than trusting the NRTRIPLT.
Thanks to David Kaplan, DTCC, USA.
Change 27.015 Support for processing DB2 GTF records was revised.
UDB2GTF -The SORT FIELDS= statement in UDB2GTF must be changed to
VMACSMF only sort on the first field; without this change, there
Feb 20, 2009 was no error, but the output records were incorrect.
-The _GTFDB2 macro now sets ID=101 if IFCID=239 is found.
-The massive number of DEBUG statements are no longer
printed on the log, unless you choose to enable debugging
in the UDB2GTF program.
Thanks to Tony Curry, BMC, USA.
Thanks to Steve Wood, DST Systems, Inc, USA.
Change 27.014 -SAS option TRANSCODE=NO is now set for all $HEX variables
DOC so they are NOT translated from EBCDIC to ASCII or vice
FORMATS versa. Normally when a SAS dataset is moved between
UTILCVRT different platforms (XPORT,CIMPORT,etc.), all character
UTILXRF1 variables are translated, but this is most unwelcome for
VMXGINIT MXG variables that contain $HEX values (CPUTYPE changed
VMXGSUM from '2086'x to '8786'x). The TRANSCODE attribute is set
Mar 8, 2009 in SAS V9 with syntax "ATTRIB var1 var2 TRANSCODE=NO;"
May 4, 2009 but since it does not exist under SAS V8, and there still
are MXG sites limping along on archaic SAS V8, two new
GLOBALed macro variables, &MXGNOTRA and &MXGNOTRB, are
defined in VMXGINIT by this macro logic:
%IF &SASVER GE 9 %THEN %DO;
%LET MXGNOTRA= ATTRIB ;
%LET MXGNOTRB= TRANSCODE=NO;
%END;
%ELSE %DO;
%LET MXGNOTRA= * ;
%LET MXGNOTRB= ;
%END;
and then this statement was added in each of the 300+
members that create $HEX variables
&MXGNOTRA var1 var2 var3 &MXGNOTRB ;
so the TRANSCODE=NO attribute will be set under SAS V9,
but under SAS V8, that statement becomes only a comment.
-In addition to variables formatted with the $HEX format,
there are character variables that contain hex values but
they are formatted with MXG-created $MGxxxxx formats. The
FORMATS member was read to select those format names, and
lookup format $MGNOTRA was created to validate that these
"$MG-HEX" variables also have the TRANSCODE=NO specified.
New QA tests read FORMATS to discover any new "$MG-HEX"
formats, and update the $MXNOTRA table when new formats
are found (if I forget when creating a new one!).
-In March, 2009, SAS V9 did not pass the ATTRIB TRANSCODE
into a dataset created by a SAS VIEW, but in May, 2009,
that was corrected by HotFix E9BC81 SAS Note SN-035112,
and this change text was revised.
-However, it was also discovered that the dataset created
by the PROC CONTENTS OUT= operand does NOT contain the
TRANSCODE attribute; that OUT= dataset is a major input
for MXG's QA testing of variables. While the printed
output of PROC CONTENTS does show the TRANSCODE
attribute, it is ONLY printed for datasets that have a
variable with TRANSCODE=NO specified. Fortunately, the
SASHELP.VCOLUMN dataset does contain the TRANSCODE
attribute for every variable, so UTILXRF1 was revised to
use that dataset to add TRANSCODE to the OUT= XREFDATA
dataset used for QA analysis. SAS Development has
indicated their intention to correct the omission in PROC
CONTENTS OUT= in a future release.
-UTILCVRT can be used if the dataset was already moved to
the new platform, to "un-translate" the $HEX variables;
it's comments were updated.
-And, for WPS, the VMXGINIT default sets MXGVIEW=NO.
-New $MGNOTRA is created in FORMATS by reading the FORMATS
member to identify MXG-created formats that have HEX data
values, and then it is used in the QA tests to ensure all
of those variables do indeed have TRANSCODE=NO specified.
-Because this change can be recognized by the existence of
&MXGNOTRA in each updated member, I did NOT change the
"LAST UPDATED:" text at the top of the 300+ members that
created a total of 9831 $HEX-containing variables.
I also did not add the TRANSCODE attribute to the DOCVER
nor to the ADOCxxxx descriptions, as there's no room for
a new attribute, and because a PROC CONTENTS will show it
if you really need to confirm its value for a dataset.
Change 27.013 TMON for MQ Series INPUT STATEMENT EXCEEDED RECORD for QM
VMACTMMQ subtype; MXG expected 18 reserved bytes that don't exist.
Feb 18, 2009
Thanks to Paul Volpi, UHC, USA.
Change 27.012 This enhancement to select DB2 reports by DATABASE set a
ANALDB2R new MXG world record, with fifteen iterations needed to
VFMT102 resolve all possible permutations discovered in testing!
Feb 17, 2009 Selection by DATABASE uses the HEX values of OBID/DBID to
Feb 21, 2009 select the desired observations from DB2 datasets, but
if IFCID=105 and 107 were traced, they are used to map
hex values to text names. If you did not trace 105/107s,
or no 105/107 for the OBID/DBID being reported was found,
the reports will print the HEX value instead of the name.
New documentation in comments for the AUDIT= subparameter
list the IFCIDs needed for full AUDIT report generation,
as well as those that do contain the Database ID field.
-If only PMACC02 was specified, and if both ASUMDB2A and
DB2ACCCT datasets exist in the DDNAME/LIBREF pointed to
by the PDB=xxx operand of %ANALDB2R, and if USEACCT=YES
was specified, ASUMDB2A was always used when DB2ACCT
should have been used.
Thanks to Scott Swindling, Nordstrom, USA, who tested each iteration!
Change 27.011 Support for CTG V7.2 (INCOMPATIBLE, new CTG_RECID=7 made
VMAC111 INPUT STATEMENT EXCEEDED RECORD LENGTH error). That new
Feb 19, 2009 subtype is not documented in SC34-6961-00, but protection
for any new subtype was added, with a NOTE that new data
exists in the future.
-CTG_RECID=3 for GD (Gateway Daemon) added new variables:
CTGDFSRV='DEFAULT*SERVER*FOR*GATEWAY'
CTGHOSNM='HOSTNAME*OF GATEWAY*COMPUTER'
CTGIHAEX='CICS*REQUEST*EXIT*CALLS'
CTGISYNC='SYNCONRETURN*FAILS'
CTGLHAEX='CICS*REQUEST*EXIT*CALLS'
CTGLSYNC='SYNCONRETURN*FAILS'
Thanks to Renato Guerra, SGS Banco Popolare di Verona, ITALY.
Thanks to Davide Marone, SGS Banco Popolare di Verona, ITALY.
Change 27.010 Variable SMF70CIX is now output in PDB.TYPE70PR dataset,
VMAC7072 as it is the CPU Pool Number. While it has been INPUT
Feb 16, 2009 for years, it was only used as an index to find out the
engine type of each LCPUADDR, to store into SMF70CIN; it
was Martin's SlideShow that educated me to the fact that
it is also the CPU pool number, and hence worth keeping.
http://www.slideshare.net/MartinPacker/much-ado-about-cpu
Thanks to Martin Packer, IBM, EUROPE.
Change 27.009 -SYSLOG MSGID IEF233D was captured by ASMTAPEE in ML-43,
VMACTMNT last summer, but VMACTMNT was not updated to decode it,
Feb 13, 2009 causing "UNEXPECTED" messages to be printed on the log.
That MSGID is now output by VMACTMNT in TYPESYMT dataset.
Support for IEF233D in ASUMTAPE was already in place.
-SYSLOG messages that do NOT contain DSNAME are created if
your site has NOT specified COM='MONITOR DSNAME' in your
SYS1.PARMLIB(COMMNDxx). This causes either blank DSNAMEs
in PDB.TYPESYMT and PDB.ASUMTAPE, or, it caused DSNAME to
have "MEDIAn", because the SYSLOG MSGID IEC705I was
incorrectly parsed when DSNAME was not populated. The
location of the DSNAME in IEC705I is variable, so MXG's
parsing was revised to only INPUT the SYSLDSN if the text
ends in 'MEDIAx'. A new warning message is printed if the
last field is not MEDIAx, and a warning if the sss field
is blank, so I can validate my parsing of that instance.
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 27.008 z/VM 5.2 MONWRITE BROKEN CONTROL RECORD ERROR, because
VMACVMXA MXG unconditionally INPUT variable PFXCPUTY in 4 subtypes
Feb 13, 2009 but the other 8 subtypes input that field conditionally.
These four subtypes are now also conditionally INPUT
(0.1 SYTSYP, 3.2 STORSP, 3.20 STOSXP, 5.3 PRCPRP) based
on the length of the segment.
Thanks to Tom Draeger, Aurora, USA.
Change 27.007 Support for IBM's ENQ/DEQ Monitor was initially added in
FORMATS Change 26.323, but several fields were not documented by
VMACENQM IBM in the DSECT; the ENQFLAG1/ENQFLAG2 are now decoded,
Feb 11, 2009 and the description of ATTR1 bit settings were deduced.
Change 27.006 Several logrec character variables were length $200 due
VMACEREP to that pre-SAS-V8-length-limit, or were input $CHAR200
Feb 14, 2009 but then reduced because of shorter $HEX format length.
These revisions were made:
New SDWA $400. $HEX800. Removed: SDWA1, SDWA1A.
New SDWARC1 $456. $HEX912. Removed: SDWARC1A,1B
New SDWARC2 $16. $HEX32.
New SDWARC3 $32. $HEX64.
New SDWARC4 $360. $HEX720.
New SDWAVRA $255 $HEX510. Removed: SDWAVRA1.
New LXC2SNI $228. $HEX456. Removed: LXC2SNI1,2
Old SLHIRB increased to $HEX128.
Thanks to Ken W. Kasten, Embarq, USA.
Change 27.005 -The _RPDBID macro previously printed PROC FREQ tabulation
BUIL3001 of SMF Record IDs that were read by BUILDPDB (by SYSTEM).
BUILD001 Now, it prints ID+SUBTYPE with the new IDANDSUB variable,
BUILDPD3 e.g., IDANDSUB=110.002 for the ID=110 SUBTYPE=2 records.
BUILDPDB Additionally, the output of the PROC FREQ is now created
MONTHASC in the new PDB.SMFRECNT dataset.
MONTHBL3 -The WEEKly and MONTHly PDB build programs were updated to
MONTHBLD create the SMFRECNT there as well, sorted BY ZDATE.
MONTHBLS -All of the WEEK/MONTH programs are enhanced so that they
MONTHDSK will NOT fail when an expected dataset does NOT exist.
MONTHWEK This means you can implement a new BUILDPDB on any day of
WEEKBL3 the week (previously, the only safe day was to implement
WEEKBL3D on the first day of your week, so all seven day-of-week
WEEKBL3T PDBs had the new dataset for the new WEEKly job.), and on
WEEKBLD any day of the month for the MONTHly job. Now, by using
VMACID SAS OPTIONS NODSNFERR NOVNFERR instead of just NODSNFERR,
Feb 12, 2009 the DATASET-NOT-FOUND is protected by NODSNFERR, and the
BY-VARIABLE-NOT-FOUND is protected by NOVNFERR.
Well, almost: A WARNING: BY VARIABLE NOT FOUND will be
printed on the SAS log, but that warning does not set
_ERROR_, so there is NO return/condition code created,
which is exactly what is desired for this condition.
However, it is inconsistent for a WARNING message to
not set a condition code, but since we do NOT want that
here, SAS Technical Support has said the "WARNING" text
will be changed to "NOTE" in the future.
Thanks to Diane Farias, IBM Global Services, CANADA
Change 27.004 Support for SMF 113 Hardware Instrumentation Services HIS
EXTY113 record, documented in SA23-2260,SA23-2261 and added by
FORMATS APAR OA25755 (and possibly other APARs), creates TYPE113
IMAC113 dataset with six Basic, six Program State, sixteen Crypto
TYPE113 and twenty-four Extended counters of Level One, Two and
TYPS113 Three Data and Instruction Cache activity counts for each
VMAC113 CPU engine. The counts are accumulated, so the TYPS113
VMXGINIT member, which does the de-accumulation in the _S113 SORT
Feb 8, 2009 macro, must be used, or with BUILDPDB, you must add the
_S113 product sort macro in your EXPDBOUT member.
Thanks to IBM z/OS Developer Support Program for providing SMF data!!
Change 27.003 Support for Tivoli Automation SMF 114 record.
EXTY114 Creates new TYPE114 dataset from subtype 1 record.
FORMATS This was originally completed on Jan 11, 2009, as Change
IMAC114 26.298, but I accidentally re-used/overwrote that change
TYPE114 text. The was no change to the code delivered in 26.26.
TYPS114
VMAC114
VMXGINIT
Jan 11, 2009
Feb 9, 2009
Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.
Change 27.002 -Original MXG 26.26 ONLY. Corrected in Feb 12 Version.
READDB2 -READDB2 in MXG 26.26: might not create all datasets that
Feb 11, 2009 you requested, and could impact ANALDB2R(PDB=SMF,...) as
Feb 16, 2009 the READDB2 member is invoked by ANALDB2R to read SMF.
Feb 17, 2009 Last minute changes for IFCID=255 and DB2STAT4 were made
Feb 20, 2009 but validation focused only on that correction.
-If VMXGTIME was being used, when READDB2 tried to resolve
a local macro variable it got a bad value placed in a
local macro variable by VMXGTIME. This generated a
WARNING: MACRO VARIABLE NOT RESOLVED. The macro variable
name was changed in READDB2 to prevent the conflict.
-The Second READDB2 in the re-dated MXG 26.26 could fail
if the DB2= operand was used to select DB2 SubSystems.
Fortunately (for me!), this caused an actual 180 ERROR
condition before any data was read, so it was NOT like
the first (insidious) error that you could overlook until
you tried to read a non-created DB2 dataset, thus this
error did not require another refresh! But the revision
revealed an unrelated/unreported inconsistency with the
documentation, if you had multiple selection criteria,
like %READDB2(DB2=DB2X DB2Y, PLAN=PLANA PLANB). Those
criteria were ORed, so all PLANs from DB2X or DB2Y were
selected, plus all subsystems with PLANA or PLANB were
also selected. The logic is now revised to AND all of
the selection criteria, so now only PLANA or PLANB from
only either DB2X or DB2Y would be selected.
And, a cosmetic change was made so that the selection
criteria are printed on the SAS log, so you can see what
was requested.
-A pair of additional errors were also corrected. Only
DB2ACCTP was created from ACCOUNT if IFCIDS=ALL was used,
and calling READDB2 from ANALDB2R could cause this error:
DATA=ZZDB2PST; %
ERROR: OLD-STYLE MACRO NAME % MUST CONTAIN ONLY
LETTERS, DIGITS, AND UNDERSCORES.
-May 20: Writing SMFOUT on PC's &RECFM corrected.
-May 24: The T102S225, DB2STAT4, IFCID=225 building was
significantly redesigned in Change 27.097.
Thanks to Raff Rushton, Kaiser Foundation Hospitals, USA.
Thanks to Scott Chapman, American Electric Power, USA.
Thanks to Tony Curry, BMC, USA.
Change 27.001 MXG 26.26 ONLY: PDB.RMFINTRV negative PCTCPUBY: HiperDisp
VMXGRMFI But ONLY if HiperDispatch is active, plus negative values
Feb 11, 2009 in variables PCTOVHTD CPUACTTM CPUOVHTM MSUINTRV MSUPERHR
MSU4HRAV and PCTOFHDW. A recalculation of CPUACTTM was
not tested with RMF data with HiperDispatch active (i.e.,
when SMF70PAT/CPUPATTM were GT zero). That recalculation
was removed by this change.
Thanks to Chuck Hopf, Bank of America, USA.
LASTCHANGE: Version 27.
=========================member=CHANGE26================================
/* COPYRIGHT (C) 1984-2009 MERRILL CONSULTANTS DALLAS TEXAS USA */
Final MXG Version 26.26 was dated Feb 12, 2009, thru Change 26.326
First MXG Version 26.26 was dated Feb 3, 2009, thru Change 26.325
MXG Version 26.26 is the 2009 "Annual Version".
MXG Newsletter FIFTY-THREE is dated Feb 3, 2009
MXG Version 26.12 was dated Jan 20, 2009, thru Change 26.308
MXG Version 26.11 was dated Jan 5, 2009, thru Change 26.296
MXG Version 26.10 was dated Dec 1, 2008, thru Change 26.271
MXG Version 26.09 was dated Oct 20, 2008, thru Change 26.240
MXG Version 26.08 was dated Sep 12, 2008, thru Change 26.209
MXG Newsletter FIFTY-TWO was dated Aug 24, 2008
MXG Version 26.07 was dated Aug 24, 2008, thru Change 26.197
MXG Version 26.06 was dated Aug 6, 2008, thru Change 26.176
Third MXG Version 26.06 was dated Aug 5, 2008, thru Change 26.175
Second MXG Version 26.06 was dated Aug 4, 2008, thru Change 26.173
First MXG Version 26.06 was dated Aug 1, 2008, thru Change 26.172
MXG Version 26.05 was dated Jun 18, 2008, thru Change 26.140
MXG Version 26.04 was dated Jun 4, 2008, thru Change 26.120
MXG Version 26.03 was dated May 11, 2008, thru Change 26.095
First MXG Version 26.03 was dated May 8, 2008, thru Change 26.093
MXG Version 26.02 was dated Apr 22, 2008, thru Change 26.075
MXG Version 26.01 was dated Mar 11, 2008, thru Change 26.037
First MXG 26.01 was dated Mar 10, 2008, thru Change 26.036
MXG Version 25.25 was dated Jan 28, 2008, thru Change 25.309
MXG 25.25 was last year's 2008 "Annual Version", dated January 28, 2008.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/ship_current_version
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 26.26 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 26.26.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
=======================================================================
I. MXG Version 26.26, dated Feb 3, 2009, the 2009 Annual Version.
Major enhancements added in MXG 26.26, dated Feb 3, 2009
TYPEDB2 26.311 DB2STATS4-IFCID=225 in DB2 V9 correction/additions.
TYPE23 26.312 Support for APAR OA27163, new interval variables.
TYPEOMMQ 26.319 Support for Omegamon XE MQ Export File
TYPEENQM 26.323 Support for IBM's ENQ/DEQ Monitor flat file.
ASMTAPEE 26.317 Enhanced SYSLOG message capture, MSGIDs read from DD.
TYPETMDB 26.313 New subtypes for TMON for DB2 V4 and V4.1.
READDB2 26.311 TEXT EXPRESSION LENGTH (65545) EXCEEDS corrected.
VMXGINIT 26.310 The MXGWORK= argument of VMXGINIT is removed.
TYPE70 26.308 TYPE70 PARTNICF/IFA/IFL/ZIP variables added.
TYPEACF2 26.324 Enhancement for ACF2 support to add IHDRACF2 exit.
UTILCVRT 26.322 UTILCVRT utility for z/OS to ASCII conversion revised
Major enhancements added in MXG 26.12, dated Jan 20, 2009
Many 26.300 Conflict Resolution, variables RE-NAMed,RE-LENGTHed
ANALZPCR 26.297 Execution errors in mismatched Tags corrected.
TYPE72GO 26.299 MXG 26.10-26.11. PERFINDX missing for R723TYPE=2.
RMFINTRV 26.303 Capture Ratios for zAAPs,zIIPs added to PDB.RMFINTRV
TYPE102 26.298 DB2 IFCID=22 INPUT STATEMENT EXCEEDED error fixed.
FORMATS 26.304 Internal format $MGUTILD for DOCVER created.
Major enhancements added in MXG 26.11, dated Jan 5, 2009
Many 26.289 QA Cleanup, variable LENGTHs changed, zdate added.
VMXGPRAL 26.293 Print all datasets with variable name + label heading
TYPERMFV 26.287 Support for RMF III CPUG3 z/OS 1.9 (INCOMPAT).
TYPE92 26.277 Support for APAR OA24208 new subtype 15 for ID=92.
TYPEOPCN 26.280 Support for Open Connect user SMF record.
ANALZPCR 26.283 zPCR failed with z/OS V1R9. SELECT=CECTIME supported.
IMACICMD 26.284 BMC Optional CMRDB2 segment increased to 256 INCOMPAT
TYPENMON 26.279 DISKSERV,DISKWAIT,MEMPAGESxxx supported, some fixes.
TYPE78 26.288 TYPE78CU variables for Aliases could be wrong.
ASUMUOW 26.282 APPLID could be blank in PDB.ASUMUOW.
BUILDPDB 26.281 IFAUNITS,IFEUNITS added to PDB.STEPS and PDB.JOBS.
ANALDBJO 26.278 Example analysis JOins DB2ACCT + DB2ACCTP, expensive.
TYPE72GO 26.276 Negative one value for CPUUNITS due to resolution.
BLDSMPDB 26.275 New WEK2KEEP=,MTH2KEEP= controls for keeping PDBs.
TYPEDB2 26.274 Some DB2 V9-only QWACxxxx vars were INPUT with V8.
TYPEXAM 26.272 Variable SIZE in HSTMEM incorrectly INPUT, is RB4.
Major enhancements added in MXG 26.10, dated Dec 1, 2008
ANALZPCR 26.264 Support for IBM zPCR model input from MXG PDB data.
PDB TYPE70,TYPE70PR,TYPE74 are read to create "External Study" files
for input to IBM's capacity modeling tool; by default, MXG selects
the RMF interval from each system with peak CPU usage to be modeled.
This should make your use of IBM's excellent zPCR tool even easier!
TYPE70 26.270 NRCPUS redefined, online-non-parked, value changed.
TYPE70PR 26.243 Support for OA21140 RMF HiperDispatch enhancements.
Because of these changes MXG 26.10 is now required for HiperDispatch
TYPE73 26.243 Support for OA21140 zHPF High Performance FICON.
TYPE120 26.262 Support for WebSphere Version 7, new subtype 9 data.
TYPEMVCI 26.254 Support for MAINVIEW for CICS 6.1 CMRDETL (INCOMPAT).
TYPEBVIR 26.250 Support for eight clusters in BVIR33 dataset.
TYPEHSM 26.249 Sorting HSM ABARS datasets caused NOT SORTED errors.
TYPE113 26.247 SMF 113 data records needed to finish support.
TYPE70 26.269 CPUWAIxx/MVSWAIxx for CP Engines 33-63 were missing.
TYEPRMFV 26.246 RMF III ASIPHTxx SRB CPU times wrong by x1000.
TYPETPMX 26.245 ERROR VARNAME=$JXSLMJ_ in Thruput Mgr SMF corrected.
GRAFWRKX 26.244 MIPS was not calculated for WORKLOAD=0, uncaptured.
ANALDB2R 26.256 %ANALDB2R(PDB=SMF); failed with error.
VMXGOPTR 26.242 Internal utility enhanced for multiple options.
TYPEVMXA 26.241 LINUXKRNL '02'x caused BROKEN CONTROL RECORD error.
TYPE112 26.257 TYPE112 now reads both V550 & V560 subtype 203 data.
TYPEOMCI 26.257 TYPEOMCI supports subtype 200,201,203, but only V550.
VMXGINIT 26.252 Forward Slash in a unix libref for WORK supported.
TYPECTLG 26.255 Enhancements to processing Catalog records.
Many 26.252 %QUPCASE(xxx) vs %UPCASE for forward slash protect.
Many 26.259 QA Stream revised to eliminate return code & warnings
WPS 26.258 WPS 2.3.4 now required for MXG, ARRAY(256,512) error.
Major enhancements added in MXG 26.09, dated Oct 20, 2008
TYPE70 26.236 HiperDispatch CPUPATTM, PCTMVSBY can be wrong TYPE70.
TYPE7072 26.222 Large CPUIFATM IFAUNITS when op varied CP on/offline.
ASUMMIPS 26.216 ZIPUSED MSU was incorrect, ZIP/ZAP metrics fixed.
TYPENMON 26.224 NMON variables without decimal point may be wrong.
TYPESVC 26.221 Support for IBM DS8000 2107 SAN Disk SVCPerfStats.
TYPENTSM 26.213 Support for new data in NTDS and ASP.NET App objects.
TYPETMDB 26.210 Support for ASG/Landmark DB2 Monitor V4.1 raw data.
TYPETNG 26.223 Support for NSM VMWARE ESX 2.5.5 new objects.
FORMATS 26.231 MEMLIMIT '00000FFFFFFFF000'x value is NOLIMIT.
READDB2 26.233 Dataset DB2STAT4 and T102S225 created for IFCID=225.
ASUMSTGP 26.228 Example to report DASD storage by Storage Group.
TYPERMFV 26.218 RMF III ASIRNM,ASIRDE (reporting class) names blank.
TYPENDM 26.215 NDM-CDI subtype 'UC' is now output in NDMAE.
TYPE1415 26.214 Invalid extended segment protection enhanced.
UPRINDOC 26.238 Utility to PROC PRINT the LABEL and VARIABLE NAME.
Major enhancements added in MXG 26.08, dated Sep 12, 2008
TYPEVMXA 26.203 Support for z/VM 5.4 (COMPATIBLE with MXG 25.04+).
TYPEDB2 26.201 Support for DB2 V9.1 SMF 100,101 (COMPAT MXG 25.25+)
TYPE1415 26.199 INVALID SMF1415 RECORD, even with Change 25.228, fix.
TYPEBVIR 26.198 All BVIR32 Pool 00-31 are now Pool 01-32 variables.
TYPETPMX 26.207 Support for Thruput Manager Subtype 7, new fields.
IMACICMR 26.206 Optional BMC CMRDATA increased in CICS/TS 3.2.
WEEKBLDT 26.205 SYSNAME incorrectly added to BY List for TYPE892.
TYPESHDW 26.204 Support for new subtypes, fields Shadow USER SMF.
BUILDPDB 26.208 Variables SMF30MLS, MEMLIMIT now kept in PDB.STEPS.
Major enhancements added in MXG 26.07, dated Aug 24, 2008
TYPE7072 26.071 Support for z/OS 1.10 (INCOMPAT, due to MXG code).
MXG code that protected an earlier IBM error in the number of
triplets caused z/OS 1.10 TYPE72GO to have zero observations,
so MXG 26.07 is REQUIRED to support z/OS 1.10 records. Sorry!
MXGSAS92 26.191 New JCL proc for SAS V9.2 with new z/OS DSNAMES.
VMXGINIT 26.189 SAS V9.2 Hot Fix F9BA07 eliminates new WARNINGs
MXG Version 26.03+ provided circumvention for new WARNING messages
that set condition Code 4 with SAS V9.2, but SAS Hot Fix F9BA07
now eliminates the need for that MXG circumvention.
TYPE42 26.187 Support for APAR OA25205 adds SMF 42 subtypes, data.
TYPEINSY 26.182 Support for MACRO4 INSYNC SMF user record.
ASMIMSL6 26.190 Support for IMS Log record 0A (CPI-CI Drive PGM).
TYPEIMS7 26.190 Support for IMS Log record 0A (CPI-CI Drive PGM).
ASUMCEC 26.188 HiperDispatch subtracts SMF70PAT from SMF70ONT
ASUMDB2P 26.183 Revised summary/trending of DB2ACCTP example.
TYPERMFV 26.178 RMF III z/OS 1.9 changed length of ASI segment.
Major enhancements added in MXG 26.06, dated Aug 6, 2008
ASMTAPEE 26.148 MXGTMNT ML-43 captures IEF233D mount event, improved.
UNDUPSMF 26.152 Utility removes duplicate SMF records, output is VBS.
RMFINTRV 26.165 New RMFWKLRV: RMFINTRV Workload-only dataset created.
TYPEQACS 26.166 Support for AS/400 Version 6.1.0 (COMPATIBLE).
TYPETPF 26.163 Support for TPF PUT22 changes, and corrections.
TYPEOMCI 26.160 Support for Omegamon CICS User records in SMF 112.
TYPE99 26.155 Support for SMF 99 Subtype 11 Group Capacity Limits.
TYPE28 26.151 Support for APAR OA24416, 'D6'x NPM record.
TYPEMVCI 26.145 Support for BMC Mainview CICS CMRTYPE=109 (ABENDS).
TYPETNG 26.172 Support for NSM VMware Virtual Center 2.5 Servers.
TYPEDCOL 26.142 DCOLDSET identifies 'HFS' and 'PDSE' datasets.
TYPETMS5 26.161 New BESKEY variable identifies encrypted CA-1 tapes.
TYPERMFV 26.150 SPG variables too small due to typo.
TYPEBVIR 26.143 TS7700 Statistical dataset BVIR32 was trashed.
TYPE110 26.141 CICS STID=74 dataset CICIMQ ERROR message removed.
BUILDPD3 26.164 JES3 BUILDPD3 variable JOBCLASS could be blank.
WEEKxxxx 26.157 NOTSORTED condition due to inconsistent BY lists.
TYPE77 26.139 TYPE77 QUEUE1-QUEUE4 were wrong, over 100%.
TYPE70PR 26.154 SMF70LAC missing in PDB.TYPE70PR after offline LPAR.
Major enhancements added in MXG 26.05, dated Jun 18, 2008
TYPESVIE 26.133 Support for CA SYSVIEW, CICS, IMS, MVS in one member.
replaces partial support (2005) TYPESYSV, TYPESYSI.
ASMTAPEE 26.135 ML-42 of MXGTMNT, backs out JOB error in ML-41.
ASUMTAPE 26.122 SYSLOG JOB parse failed with 3 commas in TRANWRD.
TYPETMNT 26.128A Correction for DEFECT in ASMTAPEE ML-41, CRITICAL.
users of MXGTMNT need all three changes above.
ASUMMIPS 26.131 MIPS/MSU analysis adds IFAs/zAAPs and zIIPs MIPS.
TYPEPRPR 26.128 Prisma SMF record change in April was not documented.
TYPENTSM 26.125 Support for BITS NET UTIL, PACER PIPE, USB objects.
TYPENTSM 26.123 Support for new fields in MEMORY, PROCESS objects.
TYPEOMAU 26.121 Support for OMEGAMON Audit Records in CICS record.
TYPE120 26.126 WebSphere allocfails wrong, invalid triplets, st 3.
UTILEXCL 26.130 Documentation for IMACICEZ/E1/E2 tailoring enhanced.
VMACDB2 26.136 Corrections to IFCID 119 and IFCID 225 variables.
Major enhancements added in MXG 26.04, dated Jun 4, 2008
TYPE70 26.112 26.03: TYPE70 CPUMVSTM/PCTMVSBY/SHORTCPS missing.
TYPE74 26.117 TYPE747C was missing most observations, now enhanced.
TYPE42 26.103 INPUT EXCEEDED ID=42 SUBTYPE=15 if more than one S2.
TYPE23 26.116 Support for APAR OA22414 new variables.
TYPETMVS 26.111 Full support for TMVS Release 4.1, INCOMPATIBLE.
TYPEINFO 26.098 Support for Informatics STAT user SMF record.
TYPE80A 26.107 INPUT EXCEEDED due to new ASSIZMAX in TOKDANAM.
TYPE7xxx 26.115 Inconsistent BY list for RMF data are now consistent.
TYPETMNT 26.103 TYPETASK='J ' in TYPETMNT corrected in VGETJEXN.
TYPEVMXA 26.114 MONWRITE BAD CONTORL RECORD, with 6.24 record
MONTHxxx 26.115 Inconsistent BY list for RMF data are now consistent.
WEEKxxxx 26.115 Inconsistent BY list for RMF data are now consistent.
Major enhancements added in MXG 26.03, dated May 11, 2008
==Support for SAS Version 9.2: COMPATIBLE, no ERRORS, new WARNings==
See revised note for Hot Fix F9BA07 in MXG 26.07 Major Enhancements
All recent MXG Versions execute WITHOUT error with SAS Version V9.2.
V9.2 libraries are read/written by SAS V8.2 or V9.1.3, & vice versa.
SAS V9.2 Phase I Foundation Level on z/OS and ASCII SAS was tested.
These MXG Versions WILL print a new SAS V9.2 WARNING, that sets CC=4
(condition/return code), but that warning is harmless (to MXG code),
so all MXG output SAS datasets are correct, even with that warning.
So the ONLY exposure with prior MXG Versions under V9.2 is on z/OS,
and ONLY if condition code tests are used in your MXG jobstreams.
This new-in-SAS V9 "MULTIPLE LENGTHS OF A VARIABLE" warning message
surfaced in MXG delivered code primarily in these two cases:
a.The intended shortening of the LENGTH of a numeric variable, but
only when the LENGTH statement precedes the SET/MERGE/UPDATE.
This occurs in VMXGSUM where the fixed-length-8 variables output
by PROC MEANS were reduced to 4-bytes, prior to option KEEPLEN.
The VMXGSUM utility is invoked in all MXG summarization, like
ASUMxxxx and TRNDxxxx, many ANALxxxx members, and in summarizing
RMFINTRV and CICINTRV programs included in BUILDPDB.
It is pervasive in MXG.
MXG Version 26.03 relocated its LENGTH statement to eliminate.
b.A JOIN of multiple datasets (SET MON.JOBS TUE.JOBS ...) where
a variable has different lengths in different datasets.
This also occurs in VMXGSUM, when multiple input datasets are to
be combined, like TRENDing, where TREND had shortened LENGTHs
but the "NEWTREND" internally has fixed, pre-KEEPLEN LENGTHs.
MXG 26.03 adds KEEPLEN option to PROC MEANS to eliminate.
MXG Version 26.03 eliminated the new SAS V9.2 WARNING internally,
in all MXG code members that generated that message.
In member VMXGINIT:
Change 26.065 (MXG 26.03) added OPTION VARLENCHK=NOWARN.
Change 26.189 (MXG 26.07) removed that option.
Without VARLENCHK=NOWARN, EVEN at 26.03+V9.2 the WARNING can OCCUR:
a. If you have tailoring members in "USERID.SOURCLIB" from old MXG
versions, that need the same code revisions to eliminate.
b. In user-written SAS programs, this could actually be a valid
warning that a variable was truncated.
or, at any time in the future, the WARNING can still occur:
c. When an MXG Version that changed variable LENGTHs is installed,
subsequent WEEKLY or MONTHLY jobs create the WARNING because
some PDB's have the old length and some have the new length,
when those multiple datasets are joined. Previous to V9.2,
length were changed with no WARNING nor CC. Between MXG 24.24
and 25.25 1206 variable's lengths were changed.
The Hot Fix is F9BA07.
Changes 26.191,26.189,26.090,26.078,26.065,26.060 have V9.2 details.
Note: Originally, MXG 26.02 claimed it supported V9.2, but changes
26.078 and 26.090 are required to eliminate the new WARNING
in MXG-delivered code, but there were no errors in 26.02/9.2.
VMXGSUM 26.090 Support for SAS V9.2 - See 26.078, 26.065, 26.060.
VMXGSUM 26.078 26.02 ONLY - VARIABLE NOT FOUND corrected.
ASUMTAPE 26.083 MAJOR rewrite of ASUMTAPE matches more, adds SPIN.
ASMTAPEE 26.095 ML-41 of MXGTMNT, TYPEARCV Allocation Recovery event
TYPEAFOP 26.086 Support for AF/Operator SMF record.
TYPECTMU 26.089 Support for Control-M log records on unix/open sys.
TYPECTMZ 26.089 Support for Control-M log records on z/OS.
TYPE112 26.088 Support for SMF 112 MQ segment (subtype 0200x).
ANALHSM 26.084 New MIGRATE/RECALL/BACKUP HSM report example added.
TYPE30 26.077 Negative CPUUNITS from zAAPs calculations eliminated.
Major enhancements added in MXG 26.02, dated Apr 22, 2008
Doc 26.060 Cosmetic SAS V9.2 differences with SAS V9.1.3.
TYPE7072 26.039 Support for APAR OA24074, corrected Parked Time.
ANALACTM 26.064 Implementation of Rich Olcott's The ACTuals Map.
TYPEACF2 26.051 Support for ACF2 Release 6.2.
TYPEMGCR 26.047 Support for Version 6 of MegaCryption SMF record.
IMAC6ESS 26.046 Support for GPARMKY=0050x ESSPRTA variable.
TYPEIMS7 26.045 Support for IMS Version 10 '08'x Log Record.
TYPECIMS 26.058 IMF dataset TYPECIMS variable INPUTCLS corrected.
Major enhancements added in MXG 26.01, dated Mar 11, 2008
TYPE7072 26.025 Support for APAR OA12774 new z10 RMF data (COMPAT).
MXG 25.25 supports the z10 hardware platform, but
did not know about this new APAR with TYPE70 data.
TYPE7072 26.031 Support/Correction Dedicated zAAPs/Dedicated zIIPs.
TYPE7072 26.006 Support for 64 CP Engines.
TYPE78CU 26.023 MXG 25.07-25.25. Last LCUID not output in TYPE78CU.
TYPE79 26.036 R723RCUT was .062 when it should have been 62.
TYPEIMSA 26.026 Support for new variables in IMS Version 9 and 10.
TYPEHSM 26.028A HSM FSR updated for z/OS 1.8 and 1.8 new variables.
TYPE102 26.011 Support for IFCID 22 APAR PK38803.
TYPEMPLX 26.014 IMPLX Version 4.1 is now supported.
VMXGINIT 26.012 SOURCLIB,SASAUTOS dsnames now printed at MXG INIT.
TYPE110 26.007 CICDS Dispatcher Statistics and PCTREGBY created.
ASUM70PR 26.003 LPARCPUS in ASUM70PR summary is not always integer.
TYPERMFV 26.032 Debugging PUT statement removed.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
MXG 26.26 executes with SAS V8.2 or SAS V9.1.3 or SAS V9.2, on any
supported platform. It has not executed under SAS V6 in years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
one of those listed SAS versions, but any of those data libraries
can be read or updated by any of those versions.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, new DSNAMES for SAS libraries are in the new MXGSAS92
JCL procedure example.
All recent MXG Versions execute WITHOUT error with SAS Version
V9.2. V9.2 libraries are read/written by SAS V8.2 or V9.1.3, &
vice versa.
Without SAS Hot Fix F9BA07, MXG versions prior to 26.03 will
print a new SAS V9.2 WARNING, that sets CC=4 (condition/return
code), but that warning is harmless (to MXG code) so all MXG
output SAS datasets are correct, even with that warning. So the
ONLY exposure with prior MXG Versions is only on z/OS, only if
condition code tests are used in your MXG jobstreams.
For SAS V9.1.3 on z/OS with Service Pack 4:
There are no reported errors, and MXG's CONFIGV9 now specifies
V9SEQ instead of V6SEQ. As V6SEQ does not support long length
character variables, it should not be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
to be completely safe. No earlier Version 8's were supported.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG 26.09 QA tests were executed on z/OS with SAS V9.1.3 and V9.2
and also both V9.1.3 and V9.2 on Windows XP.
(I can no longer run QA tests with "archaic" SAS Version 8.2.)
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 2.3.4 is required for MXG. See Change 26.258.
See NEWSLETTERS for "MXG Support for WPS Software"
IV. MXG Version Required for Hardware, Operating System Release, etc.
Availability dates for the IBM products and MXG version required for
the processing of that product's data records:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 26.08
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including cics/ts 3.1 22.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 25.04
V. Incompatibilities and Installation of MXG 26.26.
1. Incompatibilities introduced in MXG 26.26:
a- Changes in MXG architecture made between 26.26 and prior versions
that can introduce known incompatibilities.
ASUMTAPE: You must delete SPIN.SPINMOUN before using the revised
ASUMTAPE program. See change 26.083.
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 JCLINST9 for
SAS Version 9.1.3 (JCLINST8 for now-archaic SAS Version 8.2).
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 26.26 after MXG 25.25:
Dataset/
Member Change Description
ANALACTM 26.064 Implementation of Rich Olcott's The ACTuals Map.
ANALDB2R 26.256 %ANALDB2R(PDB=SMF); failed with error.
ANALDBJO 26.278 Example analysis JOins DB2ACCT + DB2ACCTP, expensive.
ANALHSM 26.084 New MIGRATE/RECALL/BACKUP HSM report example added.
ANALZPCR 26.283 zPCR failed with z/OS V1R9. SELECT=CECTIME supported.
ANALZPCR 26.297 Execution errors in mismatched Tags corrected.
ASMIMSL6 26.190 Support for IMS Log record 0A (CPI-CI Drive PGM).
ASMTAPEE 26.095 ML-41 of MXGTMNT, TYPEARCV Allocation Recovery event
ASMTAPEE 26.095 ML-41 of MXGTMNT, TYPEARCV Allocation Recovery event
ASMTAPEE 26.135 ML-42 of MXGTMNT, backs out JOB error in ML-41.
ASMTAPEE 26.148 MXGTMNT ML-43 captures IEF233D mount event, improved.
ASMTAPEE 26.317 Enhanced SYSLOG message capture, no reassembly.
ASUM70PR 26.003 LPARCPUS in ASUM70PR summary is not always integer.
ASUM70PR 26.031 Support/Correction Dedicated zAAPs/Dedicated zIIPs.
ASUM70PR 26.041 Default INTERVAL in ASUM70PR restored to QTRHOUR.
ASUMCEC 26.188 HiperDispatch subtracts SMF70PAT from SMF70ONT
ASUMDB2P 26.183 Revised summary/trending of DB2ACCTP example.
ASUMMIPS 26.131 MIPS/MSU analysis adds IFAs/zAAPs and zIIPs MIPS.
ASUMMIPS 26.216 ZIPUSED MSU was incorrect, ZIP/ZAP metrics fixed.
ASUMSTGP 26.228 Example to report DASD storage by Storage Group.
ASUMTAPE 26.083 MAJOR rewrite of ASUMTAPE corrects errors, adds SPIN.
ASUMTAPE 26.122 SYSLOG JOB parse failed with 3 commas in TRANWRD.
ASUMUOW 26.282 APPLID could be blank in PDB.ASUMUOW.
BLDSMPDB 26.275 New WEK2KEEP=,MTH2KEEP= controls for keeping PDBs.
BUILDPD3 26.164 JES3 BUILDPD3 variable JOBCLASS could be blank.
BUILDPDB 26.208 Variables SMF30MLS, MEMLIMIT now kept in PDB.STEPS.
BUILDPDB 26.281 IFAUNITS,IFEUNITS added to PDB.STEPS and PDB.JOBS.
Doc 26.060 Cosmetic SAS V9.2 differences with SAS V9.1.3.
FORMATS 26.231 MEMLIMIT '00000FFFFFFFF000'x value is NOLIMIT.
FORMATS 26.304 Internal format $MGUTILD for DOCVER created.
GRAFWRKX 26.244 MIPS was not calculated for WORKLOAD=0, uncaptured.
IEBUPDTE 26.235 INFILE option TERMSTR=CRLF reads unix LF-only files.
IMAC6ESS 26.046 Support for GPARMKY=0050x, new ESSPRTAT variable.
IMACICMD 26.284 BMC Optional CMRDB2 segment increased to 256 INCOMPAT
IMACICMR 26.206 Optional BMC CMRDATA increased in CICS/TS 3.2.
MONTHBL3 26.293 NOT SORTED for JES3 MONTHBL3.
MONTHxxx 26.115 Inconsistent BY list for RMF data are now consistent.
MXGSAS92 26.191 New JCL Proc for SAS V9.2, new z/OS DSNAMES.
Many 26.065 Support for no-WARNING execution under SAS V9.2.
Many 26.252 %QUPCASE(xxx) vs %UPCASE for forward slash protect.
Many 26.259 QA Stream revised to eliminate return code & warnings
Many 26.289 QA Cleanup, variable LENGTHs changed, zdate added.
Many 26.300 Conflict Resolution, variables RE-NAMed,RE-LENGTHed
READDB2 26.233 Dataset DB2STAT4 and T102S225 created for IFCID=225.
READDB2 26.311 TEXT EXPRESSION LENGTH (65545) EXCEEDS corrected.
RMFINTRV 26.165 New RMFWKLRV: RMFINTRV Workload-only dataset created.
RMFINTRV 26.295 New WKLDIOCN and WKLDIORT variables added to RMFWKLRV
RMFINTRV 26.303 Capture Ratios for zAAPs,zIIPs added to PDB.RMFINTRV
TYEPRMFV 26.246 RMF III ASIPHTxx SRB CPU times wrong by x1000.
TYPE102 26.011 Support for IFCID 22 APAR PK38803.
TYPE102 26.096 Variables QW0227FG/PG were always missing.
TYPE102 26.298 DB2 IFCID=22 INPUT STATEMENT EXCEEDED error fixed.
TYPE110 26.007 CICDS Dispatcher Statistics and PCTREGBY created.
TYPE110 26.052 Protection for SMF 110 St 2 STID 31 short segments.
TYPE110 26.141 CICS STID=74 dataset CICIMQ ERROR message removed.
TYPE112 26.088 Support for SMF 112 MQ segment (subtype 0200x).
TYPE112 26.257 TYPE112 now reads both V550 & V560 subtype 203 data.
TYPE113 26.247 SMF 113 data records needed to finish support.
TYPE119 26.067 ID=119 ST=21 INPUT STATEMENT EXCEEDED, NTHOSTTN short
TYPE120 26.126 WebSphere allocfails wrong, invalid triplets, st 3.
TYPE120 26.262 Support for WebSphere Version 7, new subtype 9 data.
TYPE1415 26.199 INVALID SMF1415 RECORD, even with Change 25.228, fix.
TYPE1415 26.214 Invalid extended segment protection enhanced.
TYPE23 26.116 Support for APAR OA22414 new variables.
TYPE23 26.312 Support for APAR OA27163, new interval variables.
TYPE28 26.151 Support for APAR OA24416, 'D6'x NPM record.
TYPE30 26.077 Negative CPUUNITS from zAAPs calculations eliminated.
TYPE42 26.103 INPUT EXCEEDED ID=42 SUBTYPE=15 if more than one S2.
TYPE42 26.187 Support for APAR OA25205 adds SMF 42 subtypes, data.
TYPE70 26.112 26.03: TYPE70 CPUMVSTM/PCTMVSBY/SHORTCPS missing.
TYPE70 26.236 HiperDispatch CPUPATTM, PCTMVSBY can be wrong TYPE70.
TYPE70 26.269 CPUWAIxx/MVSWAIxx for CP Engines 33-63 were missing.
TYPE70 26.270 NRCPUS redefined, online-non-parked, value changed.
TYPE70 26.308 TYPE70 PARTNICF/IFA/IFL/ZIP variables added.
TYPE7072 26.025 Support for APAR OA12774 new z10 variables (COMPAT).
TYPE7072 26.031 Support/Correction Dedicated zAAPs/Dedicated zIIPs.
TYPE7072 26.039 Support for APAR OA24074, corrected Parked Time.
TYPE7072 26.0781 Support for z/OS 1.10 (INCOMPAT, due to MXG code).
TYPE7072 26.222 Large CPUIFATM IFAUNITS when op varied CP on/offline.
TYPE70PR 26.154 SMF70LAC missing in PDB.TYPE70PR after offline LPAR.
TYPE70PR 26.243 Support for OA21140 RMF HiperDispatch enhancements.
TYPE71 26.069 TYPE71 HIUICMN,HIUICMX had wrong UIC values.
TYPE72GO 26.276 Negative one value for CPUUNITS due to resolution.
TYPE72GO 26.299 MXG 26.10-26.11. PERFINDX missing for R723TYPE=2.
TYPE73 26.243 Support for OA21140 zHPF High Performance FICON.
TYPE74 26.115 RMF BYLIST is SYSPLEX SYSTEM SYSNAME STARTIME.
TYPE74 26.117 TYPE747C was missing most observations, now enhanced.
TYPE77 26.139 TYPE77 QUEUE1-QUEUE4 were wrong, over 100%.
TYPE77 26.271 INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in RMF 77.
TYPE78 26.288 TYPE78CU variables for Aliases could be wrong.
TYPE78CU 26.023 MXG 25.07-25.25. Last LCUID not output in TYPE78CU.
TYPE79 26.036 Variable R793CUT was 0.062, should have been 62.
TYPE80A 26.107 INPUT EXCEEDED due to new ASSIZMAX in TOKDANAM.
TYPE92 26.277 Support for APAR OA24208 new subtype 15 for ID=92.
TYPE99 26.155 Support for SMF 99 Subtype 11 Group Capacity Limits.
TYPEACF2 26.051 Support for ACF2 Release 6.2.
TYPEACF2 26.324 Enhancement for ACF2 support adds IHDRACF2 exit.
TYPEAFOP 26.086 Support for AF/Operator SMF record.
TYPEBVIR 26.018 BVIR30 now contains both PG0 and Preference Grp 1.
TYPEBVIR 26.143 TS7700 Statistical dataset BVIR32 was trashed.
TYPEBVIR 26.198 All BVIR32 Pool 00-31 are now Pool 01-32 variables.
TYPEBVIR 26.250 Support for eight clusters in BVIR33 dataset.
TYPECIMS 26.058 IMF dataset TYPECIMS variable INPUTCLS corrected.
TYPECTLG 26.255 Enhancements to processing Catalog records.
TYPECTMU 26.089 Support for Control-M log records on unix/open sys.
TYPECTMZ 26.089 Support for Control-M log records on z/OS.
TYPEDB2 26.201 Support for DB2 V9.1 SMF 100,101 (COMPAT MXG 25.25+)
TYPEDB2 26.274 Some DB2 V9-only QWACxxxx vars were INPUT with V8.
TYPEDB2 26.311 DB2STATS4 for IFCID=225 in DB2 V9 corrections.
TYPEDCOL 26.142 DCOLDSET identifies 'HFS' and 'PDSE' datasets.
TYPEENQM 26.323 Support for IBM's ENQ/DEQ Monitor flat file.
TYPEHSM 26.028A HSM FSR updated for z/OS 1.8 and 1.8 new variables.
TYPEHSM 26.249 Sorting HSM ABARS datasets caused NOT SORTED errors.
TYPEIMS7 26.026 Support for new variables in IMS Version 9 and 10.
TYPEIMS7 26.045 Support for IMS Version 10 '08'x Log Record.
TYPEIMS7 26.190 Support for IMS Log record 0A (CPI-CI Drive PGM).
TYPEIMSA 26.026 Support for new variables in IMS Version 9 and 10.
TYPEINFO 26.098 Support for Informatics STAT user SMF record.
TYPEINSY 26.182 Support for MACRO4 INSYNC SMF user record.
TYPEIPAC 26.290 View Direct subtype 3 record error, needs ptf?
TYPEITRF 26.034 ITRF x'10' INPUT STATEMENT EXCEEDED with LENGTH=251.
TYPEMGCR 26.047 Support for Version 6 of MegaCryption SMF record.
TYPEMPLX 26.014 IMPLX Version 4.1 is now supported.
TYPEMVCI 26.145 Support for BMC Mainview CICS CMRTYPE=109 (ABENDS).
TYPEMVCI 26.254 Support for MAINVIEW for CICS 6.1 CMRDETL (INCOMPAT).
TYPENDM 26.215 NDM-CDI subtype 'UC' is now output in NDMAE.
TYPENMON 26.100 Invalid MEM header record protected.
TYPENMON 26.224 NMON variables without decimal point may be wrong.
TYPENMON 26.279 DISKSERV,DISKWAIT,MEMPAGESxxx supported, some fixes.
TYPENTSM 26.123 Support for new fields in MEMORY, PROCESS objects.
TYPENTSM 26.125 Support for BITS NET UTIL, PACER PIPE, USB objects.
TYPENTSM 26.213 Support for new data in NTDS and ASP.NET App objects.
TYPEOMAU 26.121 Support for OMEGAMON Audit Records in CICS record.
TYPEOMCI 26.160 Support for Omegamon CICS User records in SMF 112.
TYPEOMCI 26.257 TYPEOMCI supports subtype 200,201,203, but only V550.
TYPEOMMQ 26.319 Support for Omegamon XE MQ Export File
TYPEOPCN 26.280 Support for Open Connect user SMF record.
TYPEPRPR 26.128 Prisma SMF record change in April was not documented.
TYPEQACS 26.166 Support for AS/400 Version 6.1.0 (COMPATIBLE).
TYPERACF 26.022 TYPERACF supports ASCII execution with EBCDIC ftp.
TYPERMFV 26.032 Debugging PUT statement removed.
TYPERMFV 26.053 Calculations of ASIxxxxx variables to match RMF.
TYPERMFV 26.150 SPG variables too small due to typo.
TYPERMFV 26.178 RMF III z/OS 1.9 changed length of ASI segment.
TYPERMFV 26.218 RMF III ASIRNM,ASIRDE (reporting class) names blank.
TYPERMFV 26.287 Support for RMF III CPUG3 z/OS 1.9 (INCOMPAT).
TYPESHDW 26.204 Support for new subtypes, fields Shadow USER SMF.
TYPESRDF 26.059 SPDMXUSE is character, SRDMXUPS is new numeric pct.
TYPESVC 26.221 Support for IBM DS8000 2107 SAN Disk SVCPerfStats.
TYPESVIE 26.133 Support for CA SYSVIEW, CICS, IMS, MVS in one member.
TYPETMDB 26.210 Support for ASG/Landmark DB2 Monitor V4.1 raw data.
TYPETMDB 26.313 New subtypes for TMON for DB2 V4 and V4.1.
TYPETMNT 26.103 TYPETASK='J ' in TYPETMNT corrected in VGETJEXN.
TYPETMNT 26.128A Correction for DEFECT in ASMTAPEE ML-41, CRITICAL.
TYPETMS5 26.161 New BESKEY variable identifies encrypted CA-1 tapes.
TYPETMVS 26.111 Full support for TMVS Release 4.1, INCOMPATIBLE.
TYPETNG 26.033 Support for more new VMware Objects in CA NSM.
TYPETNG 26.172 Support for VMware Virtual Center Servers in NSM.
TYPETNG 26.223 NSM VMWARE ESX 2.5.5 new objects supported.
TYPETPF 26.163 Support for TPF PUT22 changes, and corrections.
TYPETPMX 26.207 Support for Thruput Manager Subtype 7, new fields.
TYPETPMX 26.245 ERROR VARNAME=$JXSLMJ_ in Thruput Mgr SMF corrected.
TYPEVMXA 26.114 MONWRITE BAD CONTORL RECORD, with 6.24 record
TYPEVMXA 26.203 Support for z/VM 5.4 (COMPATIBLE with MXG 25.04+).
TYPEVMXA 26.241 LINUXKRNL '02'x caused BROKEN CONTROL RECORD error.
TYPEXAM 26.272 Variable SIZE in HSTMEM incorrectly INPUT, is RB4.
UNDUPSMF 26.152 Utility removes duplicate SMF records, output is VBS.
UPRINDOC 26.238 Utility to PROC PRINT the LABEL and VARIABLE NAME.
UTILBLDP 26.212 SAS V9.2 only, %ELSE %THEN %DO correction overlooked.
UTILBLDP 26.294 SUPPRESS=CICSTRAN or DB2ACCT options added.
UTILCVRT 26.322 UTILCVRT utility for z/OS to ASCII conversion revised
UTILEXCL 26.130 Documentation for IMACICEZ/E1/E2 tailoring enhanced.
VMACDB2 26.136 Corrections to IFCID 119 and IFCID 225 variables.
VMXGCAPT 26.001 Typo VMUM corrected to VWUM.
VMXGINIT 26.012 SOURCLIB,SASAUTOS dsnames now printed at MXG INIT.
VMXGINIT 26.189 SAS V9.2 Hot Fix F9BA07 eliminates new WARNINGs
VMXGINIT 26.252 Forward Slash in a unix libref for WORK supported.
VMXGINIT 26.310 The MXGWORK= argument of VMXGINIT is removed.
VMXGOPTR 26.242 Internal utility enhanced for multiple options.
VMXGPRAL 26.293 Print all datasets with variable name + label heading
VMXGSUM 26.078 26.02 ONLY - possible VARIABLE NOT FOUND internally.
VMXGSUME 26.227 Now invokes normal VMXGSUM, no longer needed.
WEEKBLDT 26.205 SYSNAME incorrectly added to BY List for TYPE892.
WEEKxxxx 26.115 Inconsistent BY list for RMF data are now consistent.
WEEKxxxx 26.157 NOTSORTED condition due to inconsistent BY lists.
WPS 26.258 WPS 2.3.4 now required for MXG, ARRAY(256,512) error.
WPS 26.291 Circumvention for CCHHR, not supported in WPS.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 26.
====== Changes thru 26.326 were in MXG 26.26 dated Feb 12, 2009=========
Change 26.326 Two Errors in the First MXG 26.26 dated Feb 3 were fixed
READDB2 by replacement of READDB2 and VMXGRMFI:
VMXGRMFI -READDB2 in MXG 26.26: might not create all datasets that
Feb 12, 2009 you requested, and could impact ANALDB2R(PDB=SMF,...) as
the READDB2 member is invoked by ANALDB2R to read SMF.
Last minute changes for IFCID=255 and DB2STAT4 were made
but validation focused only on that correction.
-If VMXGTIME was being used, when READDB2 tried to resolve
a local macro variable it got a bad value placed in a
local macro variable by VMXGTIME. This generated a
WARNING: MACRO VARIABLE NOT RESOLVED. The macro variable
name was changed in READDB2 to prevent the conflict.
Thanks to Raff Rushton, Kaiser Foundation Hospitals, USA.
MXG 26.26 ONLY: PDB.RMFINTRV negative PCTCPUBY, HiperDsp.
But ONLY if HiperDispatch is active, plus negative values
in variables PCTOVHTD CPUACTTM CPUOVHTM MSUINTRV MSUPERHR
MSU4HRAV and PCTOFHDW. A recalculation of CPUACTTM was
not tested with RMF data with HiperDispatch active (i.e.,
when SMF70PAT/CPUPATTM were GT zero). That recalculation
was removed by this change.
Thanks to Chuck Hopf, Bank of America, USA.
====== Changes thru 26.325 were in MXG 26.26 dated Feb 3, 2009=========
Change 26.325 The calculation of RDHITPCT in TYPE42SR was corrected by
VMAC42 Change 19.006, but other instances (TYPE42VT,TYPE42DS)
Feb 3, 2009 were still divided by CACHCAND vs (CACHCAND-WRITCAND),
so the read hit percentage was wrong in those datasets.
Thanks to Scott Chapman, American Electric Power, USA.
Change 26.324 Enhancement for ACF2 support creates IHDRACF2 Header exit
IHDRACF2 taken after the header variables for ACF2 have been INPUT
VMACACF2 so record selection based on existing ACF2 variables can
VMXGINIT be used. The "instream" &MACACFH can be used to access
Feb 2, 2009 the same exit point. IHDRACF2 lists all vars that exist.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.323 Support for IBM's ENQ/DEQ monitor, described in IBM
EXENQMON Publication SA22-7600-07, "z/OS MVS Planning: Global
IMACENQM Resource Serialization", Chapter 3, creates a flat
TYPEENQM file that is read by this support from //ENQM DDname,
TYPSENQM creating dataset ENQMONIT.
VMACENQM The IBM ISGAJE1A report can be printed using the
VMXGINIT example PROC PRINT in the VMACENQM comments.
Jan 30, 2009
FORMATS
Feb 24, 2009
Thanks to Debby Blackey, HCH Healthcare, USA.
Change 26.322 The UTILCVRT utility is used if you transfer SAS datasets
FORMATS from z/OS to an ASCII platform (XPORT,CPORT), if a data
Jan 30, 2009 set contains CHAR variables that are FORMATted $HEX. In
Feb 13, 2010 transferring the values, SAS unilaterally converts all
CHAR variables from EBCDIC to ASCII, so a CPUTYPE='2086'x
gets translated to '8766'x in the ASCII SAS dataset. The
format used by UTILCVRT was completely wrong, because it
was based on the IND$FILE programs EBCDIC to ASCII table.
The $MGAS2EB format used in UTILCVRT is now based on the
TRANTAB SAS V9.1.3 CPORT mapping on z/OS at a USA site.
Feb 13, 2010: UTILCVRT is no longer needed. The new
TRANSCODE attribute, added by MXG Change 27.014 to all
$CHAR variables containing $HEX values, eliminates the
unwanted translation so downloaded values are valid.
Thanks to Roman Gudz, Penske, USA.
Change 26.321 Corrections to IBM RMF-like reports for zIIPs, zAAPs and
ANALRMFR IFLs, and revised sort order to match IBM's reports.
Jan 28, 2009
Thanks to Kim Westcott, OFT State of New York, USA.
Change 26.320 Variable EZA01A13 for the optional EZA01-A CICS segment
UTILEXCL was not in the generated KEEP statement.
Jan 28, 2009
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.319 Support for Exported Data from Omegamon XE MQ records.
EXOMAA10 This is non-standard, since an export file can contain a
EXOMDD10 number of datasets to be recreated. The MXG logic reads
EXOMDD20 the initial control records (AA10,DD10,DD20,DD30) and
EXOMDD30 writes the needed old-style macros to //INSTREAM which
IMACOMMQ is then processed by the second pass in _2NDOMMQ macro,
TYPEOMMQ to read the ROW1 records and create all datasets. This
TYPSOMMQ iteration doesn't label the variables nor datasets.
VMACOMMQ The EXPORT files cannot be concatenated, since they
VMXGINIT may have different tables/datasets to be created. The
Jan 29, 2009 JCL to process these export files is
// EXEC MXGSASV9
//OMMQ DD DSN=YOUR.EXPORT.FILE,DISP=SHR
//PDB DD DSN=THE.OUTPUT.sASDATA.LIBRARY,DISP=OLD
//SYSIN DD *
%INCLUDE SOURCLIB(TYPSOMMQ);
These eleven datasets have been created:
QMCHANIN QMCH_LH QMEVENTH QMLHBM QMLHLM QMLHMM
QMPS_LH QMQ_LH QM_APAL QM_APQL QM_APTL
This implementation automatically creates a dataset for
every table in the DD20/DD30 records, and will convert
the known 16-character datetime fields into datetime
variables, and formats known duration and hex-containing
fields, but new variables in new datasets will require
updates to MXG code to properly convert or format them,
because the AA10/DD10/DD20/DD30 control records do not
contain any intelligence describing contents of fields.
Thanks to Frank Cortell, Credit-Suisse, USA.
Thanks to Michael Reffler, Credit-Suisse, USA.
Change 26.318 Message "ARRAY SIZE TOO SMALL" added by Change 25.177 is
VMXGRMFI now only printed three times.
Jan 26, 2009
Thanks to Ed Long, FMR, USA.
Change 26.317 Enhanced SYSLOG message capture in SMF record subtype 9,
ASMTAPEE no longer requires a re-assembly to add or change the
Jan 25, 2009 MSGIDs to be written to SMF. Now, the list of MSGIDs is
read at MXGTMNT Start Up from the text file of messages
pointed to by the //MXGMSGID DD name in the MXGTMNT JCL.
See comments in the ASMTAPEE member for details.
This is now ML-44 maintenance level of the monitor.
(Previously, you had to list the MSGIDs in the ASMTAPEE
assembly source code; that table no longer exists, as it
is replaced by the external file of MSGIDs.)
Change 26.316 Variable RNAMEHEX contained the "hex of the hex" instead
VMAC77 of the hex value of the RNAME, for those cases in which
Jan 25, 2009 the RNAME/MINORQCB contains non-printable characters.
Thanks to Joe Kimberly, Kansas City Southern Railway Co., USA.
Change 26.315 Using MACDB2H= or MAC110H tailoring and UTILBLDP was not
UTILBLDP correctly coded, causing execution messages
Jan 23, 2009 *ERROR: OPEN CODE STATEMENT RECURSION DETECTED.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.314 Enhancement for CMRDETL records from BMC TMON for CICS.
IHDRMVCI -The INFILE "Header" EXIT IHDRMVCI is created, so records
VMACMVCI can be selected after the header has been read. The full
VMXGINIT list of variables that exist are listed in comments.
Jan 23, 2009 -The IHDRMVCI exit can be invoked with %LET MACMVCH=.
-The option JFCB=MVCIJFCB is added to INFILE CMRDETL so
that the JFCB is stored in variable MVCIJFCB, from which
the z/OS DSNAME can be retrieved. This is similar to the
existing SMFJFCB variable created with INFILE SMF.
For example, adding this code
//SYSIN DD *
%LET MACMVCH=
%QUOTE(
IF MVCIDSN=' ' THEN DO;
MVCIDSN=STRIP(SCAN(MVCIJFCB,1,' ');
MVCIGDG=SCAN(MVCIDSN,-1);
RETAIN MVCIDSN MVCIGDG;
END;
CALL SYMPUT('MVCIDSN',MVCIDSN);
);
%INCLUDE SOURCLIB(TYPEMVCI);
%PUT INPUT DSNAME WAS: &MVCIDSN;
would create variables MVCIDSN,MVCIGDG, and would create
a macro variable &MVCIDSN with the DSNAME that was read.
Thanks to Henk van der Veur, Fortis, THE NETHERLANDS.
Change 26.313 Revisions to support for TMON for DB2 V4 and V4.1.
VMACTMDB -Dataset TMDBDB2 had misalignments corrected.
Jan 23, 2009 -Support for BF variables in dataset TMDBBF.
-Support for BG variables in dataset TMDBBG.
-Support for BH variables in dataset TMDBBH.
-Support for BI variables in dataset TMDBBI.
Thanks to Ernie Amador, University of California Davis Health, USA.
Change 26.312 Support for APAR OA27161 which adds interval variables
VMAC23 to the SMF 23 record. Change 26.116 supported OA22414,
Jan 22, 2009 which added cumulative variables for the same metrics.
Change 26.311 -In DB2 V9, IFCID=225 creates the DB2STAT4 dataset and
READDB2 DB2 V8 creates the T102S255 dataset, but DB2STAT4 had
VMACDB2 all missing values for the QW0225xx variables in the
Jan 22, 2009 DB2STAT4 dataset because QWS02R1O was spelled with a
Jan 28, 2009 zero instead of an oh in VMACDB2.
Feb 2, 2009 -READDB2 could cause error messages
THE TEXT EXPRESSION LENGTH (65545)
EXCEEDS MAXIMUM LENGTH (65534).
-READDB2 did not create both T102S225 and DB2STAT4 when
IFCIDS=225 was specified, in spite of the claim made in
Change 26.233. Now, both datasets are created.
-Because T102S225 is created from SMF ID=102 but the
DB2STAT4 is created from SMF ID=100 subtype 4, there
are still some limitations in READDB2 using WANTONLY.
-New-in-DB2-V9 variables added and kept in DB2STAT4:
QW0225SF='FIXED*VIRTUAL*64BIT*SHARED'
QW0225SG='GETMAINED*VIRTUAL*64BIT*SHARED'
QW0225SV='VARIABLE*VIRTUAL*64BIT*SHARED'
QW0225SU='STACK*STORAGE*IN USE'
QW0225L2='ALLOC STORAGE*CACHED*THREADCPYS*ABOVE POOLS'
QW0225H2='HWMALLOCSTORE*CACHED*THREADCPYS*ABOVE POOLS'
QW0225F1='SERVICEABILITY*QW0225F1'
QW0225F2='SERVICEABILITY*QW0225F2'
QW0225S2='STATEMENT*CACHE*BLOCK*STORAGE*GT 2GB'
-This example shows how you can use MXG macros instead
of using READDB2 if you only wanted the DB2 Statistics
datasets (DB2STATS/DB2STATB/DB2STATR/DB2STAT4/DB2GBPAT
DB2GBPST) and T102S225 (i.e., you have both V8 and V9
IFCID=225 records in your SMF); the example reads only
the SMF 100 and 102 records and does not create any of
the DB2ACCTx datasets.
%LET MACFILE=
%QUOTE( IF ID=100 OR ID=102; );
%LET MACKEEP=
_N102
MACRO _W102225 PDB.T102S225 %
MACRO _EDB2ACC %
MACRO _EDB2ACB %
MACRO _EDB2ACP %
MACRO _EDB2ACG %
MACRO _WDB2ACC _NULL_ %
MACRO _WDB2ACB _NULL_ %
MACRO _WDB2ACP _NULL_ %
MACRO _WDB2ACG _NULL_ %
;
%LET PDB2ST0=WORK;
%LET PDB2ST1=WORK;
%LET WDB2PAT=PDB;
%LET WDB2PST=PDB;
%LET WDB2STR=PDB;
%LET WDB2ST2=PDB;
%LET WDB2ST4=PDB;
%INCLUDE SOURCLIB(VMACDB2,VMAC102,IMACKEEP);
DATA _VARDB2 _V102225;
_SMF
_CDEDB2
_HDR102 _C102225 _END102;
_SDB2STB
_SDB2STS;
RUN;
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Dan Case, Mayo Clinic, USA.
Change 26.310 The MXGWORK= argument of VMXGINIT hasn't worked for many
VMXGDEL years (Change 18.148, Jun 2000, Change 17.060, 1999) as
VMXGINIT a way to change the //WORK destination, and it was the
Jan 21, 2009 cause of errors reported in Change 26.252, so it has
been removed as an argument and is now a GLOBALed macro
variable name in VMXGINIT, and the now-redundant GLOBAL
statement in VMXGDEL is removed.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 26.309 Variable TMNTJOBC='JOB*CANCELLED*BY*OPERATOR' was wrong
VMACTMNT and always was the same as TMNTJOBI, because TMNTJOBC
Jan 21, 2009 was set 'Y' from the x'02' bit instead of the x'01' bit.
Thanks to Michael Creech, Lender Processing Services, USA.
====== Changes thru 26.308 were in MXG 26.12 dated Jan 20, 2009=========
Change 26.308 The TYPE70 dataset is enhanced with these counts of the
VMAC7072 specialty engines:
Jan 17, 2009 PARTNICF='PARTITION*NUMBER OF*ICF*ENGINES'
PARTNIFA='PARTITION*NUMBER OF*ZAAP*ENGINES'
PARTNIFL='PARTITION*NUMBER OF*IFL*ENGINES'
PARTNZIP='PARTITION*NUMBER OF*ZIIP*ENGINES'
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 26.307 The CLIST to process RMF III files had an incorrect GOTO
CLRMFV in line 943 that should be GOTO DONE. Fortunately, this
Jan 16, 2009 path thru the CLIST is seldom-to-never used.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.306 -If the new operand COPYONLY=YES was specified, READDB2
READDB2 tried to read the header using VMACDB2H, but that read
Jan 15, 2009 required prerequisites. Code now uses _CDEDB2 which
then calls VMACDB2H with all datasets to _NULL_ via the
_NDB2 to read only the headers if COPYONLY=YES.
-READDB2 was enhanced to allow selection by QWHCEUTX,
the End User Transaction Name, which might be useful
in the classification of DDF work in WLM, but only
if it is filled in by the calling application with
something other than a default value. It must also be
the first piece of the unit of work that is seen by WLM.
Thanks to Becky Clark, Bank of America, USA.
Change 26.305 CICSTRAN variables RTYPE and RRTYPE contain $EBCDIC text
VMAC110 but some of the INPUT statements in VMAC110, and in code
UTILEXCL built by UTILEXCL, incorrectly had $CHAR inputs. As long
Jan 15, 2009 as MXG is executed on z/OS, there was no difference, but
for ASCII execution, the INPUTs must be $EBCDIC.
Thanks to Glenn Bowman, Wakefern, USA.
Change 26.304 Internal changes for DOCVER enhancements and CONFLICTs.
FORMATS New $MGUTILD format maps each MXG-built DATASET name in
UTILVREF member DOCVER to both the INFILE that was read, and the
Jan 14, 2009 MXG member name that created that dataset, and a flag
for "second-level" datasets that are not created from an
infile but are created from SAS datasets. The format is
now used to add that information in the DOCVER member.
Also, the format is used in the new QA CONFLICTs report
to cluster datasets by INFILE to eliminate conflicts in
variable's type, length, format, or maybe even labels.
-So, if FORMAT $MGUTIL has been updated, but the QA Job
has NOT been rerun, the new datasets in DOCVER will NOT
have their INFILE identified; that line will be blank.
Thanks to Freddie Arie, Merrill Consultants, USA.
Change 26.303 Capture Ratios for zAAPs and zIIPs are now calculated in
VMXGRMFI PDB.RMFINTRV and TREND.TRNDRMFI datasets, and the total
Jan 13, 2009 Service Class zAAP and zIIP CPU times are creates:
CPUIFATM - IFA (zAAP) CPU TIME in Service Classes
CPUZIPTM - ZIP (zIIP) CPU TIME in Service Classes
IFAACTTM - IFA (zAAP) CPU TIME in TYPE70 (Hardware)
ZIPACTTM - ZIP (zIIP) CPU TIME in TYPE79 (Hardware)
CAPIFART - CAPTURE RATIO FOR ZAAP ENGINES
100*CPUIFATM/IFAACTTM
CAPZIPRT - CAPTURE RATIO FOR ZIIP ENGINES
100*CPUZIPTM/ZIPACTTM
Thanks to Brian Harvey, HCL America, USA.
Change 26.302 INPUT STATEMENT EXCEEDED for unexpected AAA record with
VMACNMON AAA,LPARNumberName,none
Jan 13, 2009 MXG expected LPARNumberName to be followed by the LPAR
number and the LPAR name. Why the LPARNumberName tag
exists when its value is "none" is unknown, but now, the
LPARNAME='none' will be output.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 26.301 Debugging PUT statements were always printed, because
UDB2GTF the IF DEBUG GE 2 THEN statement did not precede PUT.
Jan 13, 2009
Thanks to Steve Wood, DST Systems Inc, USA.
Change 26.300 Conflict Resolution of variable's TYPE/LENGTH/FORMAT.
VMAC94 -In MXG 26.11, I made changes to eliminate exposures to
VMAC89 possible conflicts (none had actually occurred), but
VMACTPMX did not document all of the changes in Change 26.289.
DOC One impacting change is now reversed: variable PRODREL
Jan 18, 2009 in TYPE892 has been restored (it was renamed PRODRL89 in
MXG 26.11, but that impacted the LCS product); it length
is now $6 to match other PRODREL variables, eliminating
any exposure.
-In MXG 26.11, TYPETPMX variable ACCT was renamed ACCTJOB
to avoid conflict with the older TYPE26J2 ACCT variable,
but incorrectly, causing an VARNAME ACCTJOB NOT FOUND.
Since ACCTJOB is then stored into the actual ACCOUNTn,
it should probably not have been kept, and is unlikely
that the change from ACCT to ACCTJOB has any impact.
But the new ACCTJOB variable is length $16 and all 16
converted into $EBCDIC, so individual ACCOUNTn fields of
16 are now supported; actual length is set in IMACACCT.
-In TYPE94, an actual conflict was reported by Ken and is
now fixed: the format of variables STARTIME and DURATM
was DATETIME18.0 and TIME8., because the SMF 94 records
only have seconds resolution; however, adding type 94 to
your BUILDPDB caused all of the RMF datasets to have the
shorter format for their STARTIME and DURATM variables,
as SAS uses the last instance of a FORMAT statement. By
changing the FORMAT in VMAC94 to match the "standard"
DATETIME21.2 and TIME12.2 formats the full RMF precision
is printed.
However, this is truly ONLY cosmetic; the FORMAT is
only used when values are printed, and they do NOT
change the stored data values; you can ALWAYS use a
FORMAT statement in your PROC PRINT, etc., to show
as many or as few decimals as you want displayed.
-The below variables were renamed to eliminate conflicts.
Many of these datasets are no longer even creatable, and
none are created from common IBM SMF records - most are
created from optional user SMF records and none of these
renamed variables are likely to be used in your reports.
Dataset Variable Name Dataset Variable Name
AIM098_R was FILENAME SAMONASR was APPLNAME
now FILENAAI now APPLNASA
CCCDAT was ACCOUNT SAMONAUR was APPLNAME
now ACCTCCC now APPLNASA
CMHMEVNT was EXPDT SAMONTSR was APPLNAME
now EXPDTDAT now APPLNASA
FILTEKID was GROUP SAMONUSR was APPLNAME
now GROUPSM1 now APPLNASA
ICEBRGDE was RELEASID SUPERIND was TERMINAL
now RELEASIC now TERMSUIN
ICEBRGUT was VDEVTYPE was USERNAME
now VDEVTYIC now USNASUIN
ILKVCONN was USERDATA SV08THRE was ABEND
now USDAILKV now ABENDTSK
ILKVDISC was USERDATA was CLASS
now USDAILKV now CLASSVIE
LDMSBASE was FUNCTION now GROUPTH3
now FUNCLDMS was GROUP
LDMSDIST was FUNCTION was STATUS
now FUNCLDMS now STATSVIE
LDMSPC was SERVER SV25TSUM was RESPTIME
now SERVLDMS now RESPSVIE
MEMOACCT was ACCTCODE SV27TRAN was NETNAME
now ACCTCOME now NTNMSVIE
was SESSION was OFCTYNME
now MEMOSESS now OFCTYTCP
was USERNAME was RTYPE
now USNAMEMO now RTYPSVIE
MVTPN was MTU was TRANPRI
now MAXMTU now TRANPRIS
MVTPS was LOCATION was TERMINFO
now LOCNMVTP now TERMINFS
was NAME T112MQCO was MQTRAN
now NAMEADMN now MQTRANID
NAFENTVA was TERMINAL T112MQCT was MQTRAN
now NAFTERM now MQTRANID
NAFGPSTO was VLU TYPE1031 was SUBSYS
now VLUNAF now SUBSY103
NAFGPSTR was VLU TYPE1032 was SUBSYS
now VLUNAF now SUBSY103
OMCIADA was AFNAME TYPE6367 was ACTION
now AFNAMECI now ACTIONRQ
OMCIBOTL was ESTTIME TYPEACC was MESSAGE
now ESTDTIME now MESSGACC
OMCIFIXD was ESTTIME TYPEDLMN was NEWNAME
now ESTDTIME now NWNMDLMN
OMCIRTA was ESTTIME was USERNAME
now ESTDTIME now USNADLMN
OMCITITL was ESTTIME TYPESTRS was VERSION
now ESTDTIME now VERSSTRS
OMCITRAL was ESTTIME TYPETPMX was ACCT
now ESTDTIME now ACCTJOB
OMCITRAN was ESTTIME TYPEX37 was ACCTNO
now ESTDTIME now ACCTNO37
OMCIVDCT was ESTTIME was MESSAGE
now ESTDTIME now MESSGX37
OMCIVENQ was ESTTIME was PRODREL
now ESTDTIME now PRODRL37
OMCIVFCT was ESTTIME XCOMDATA was USERID
now ESTDTIME now USERXCOM
OMCIVIO was ESTTIME XPTR10 was ACCOUNT
now ESTDTIME now ACCTXPTR
OMCIVJCT was ESTTIME XPTR21 was ACCOUNT
now ESTDTIME now ACCTXPTR
OMCIVPCP was ESTTIME was LOCATION
now ESTDTIME now LOCNXPTR
OMCIVVSA was ESTTIME XPTR45 was ACTION
now ESTDTIME now ACTNXPTR
PRORECOV was PRODREL ZARAERRV was VOLPOOL
now PRODRLPR now VOLPOOLZ
ROSCOAUD was USERID ZARAVOL was VOLPOOL
now USERROSC now VOLPOOLZ
ROSCOE was USERID
now USERROSC
was TERM
now TERMIOS
ROSCORPS was USERID
now USERROSC
ROSCOSTA was USERID
now USERROSC
ROSCOVPE was USERID
now USERROSC
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Thanks to Scott Wigg, U.S. Bank, USA.
Thanks to Kenneth D. Jones, Bell Aliant, CANADA.
Change 26.299 MXG 26.10-26.11. PERFINDX=. for all service classes with
VMAC7072 R723TYPE=2:ADDRESS SPACE WITH NO TIME GOAL. A "cosmetic"
Jan 12, 2009 Change 26.269, eliminated "missing value" value messages
but accidentally setting PERFINDX to a missing value for
those service classes.
Thanks to Dan Melton, Lowe's Companies, USA.
Change 26.298 DB2 ID=102 IFCID=22 INPUT STATEMENT EXCEEDED RECORD
VMAC102 error when length in the header field was zero; the
Jan 11, 2009 actual length is 2 bytes longer than stored in the
start of each segment. MXG logic revised to support.
Thanks to Tom Buie, Southern California Electric, USA.
Change 26.297 -Case in zPCR and ExternalSource tags were inconsistent
ANALZPCR and caused configuration errors.
Jan 13, 2009 -SELECT=CECTIME created multiple HOST tags.
-Printed ONLPCPUS in reports was correct, but the LCPs
tag value could be one higher than true number of CPs
in the LPAR, if ONLPCPUS was an integer. MXG algorithm
ONLPCPUS=CEIL(ONLPCPUS) now ONLPCPUS=CEIL(ONLPCPUS-.01)
to protect for both 3.0 and 2.999 values, and relocated
so the printed and tag values are the same.
-An "External Study File" can ONLY be LOADed from zPCR's
FUNCTION SELECTION window, using its FILE pulldown LOAD
option to browse/select the MXG-built xxxx.zpcr file.
Thanks to David Bixler, FISERV, USA.
====== Changes thru 26.296 were in MXG 26.11 dated Jan 5, 2009=========
Change 26.296 The BLSR option for IMS VSAM files is not supported; the
ANALBLSR ANALBLSR analysis created pages of reports for IMS VSAM
Jan 5, 2009 files, with PROGRAM='DFSRRC00', so this change deletes
all files that were accessed with that program name.
Thanks to Stephen Hughes, Excellus, USA.
Change 26.295 The RMFWKLRV interval workload dataset build by RMFINTR
VMXGRMFI creates two new variables WKLDIOCN and WKLDIORT, the
Jan 2, 2009 I/O count and I/O rate from R723CIRC.
Thanks to Don Goulden, SAS ITRM Development, USA.
Change 26.294 Two new arguments, CICSTRAN & DB2ACCT can be specified
UTILBLDP in the SUPPRESS= argument if you do not want the detail
Jan 2, 2009 CICSTRAN or any of the DB2ACCTx datasets to be created.
With SUPPRESS=CICSTRAN, SMF 110 subtype 1 records are
skipped, with SUPPRESS=DB2ACCT, SMF 101 records are.
Change 26.293 %VMXGPRAL(DDNAME=PDB,NOBS=20) prints ALL datasets in a
VMXGPRAL SAS data library, but now, it uses new VMXGPRNT to print
VMXGPRNT both the variable's LABEL and the variable's NAME in the
Jan 2, 2009 heading. The new VMXGPRNT macro can also be used alone
to print a single SAS dataset, or it can be used to
create a Comma-Separated-Variable file from a single SAS
dataset. I find VMXGPRAL very useful to print a few obs
with all of the variables to validate a new MXG-built
dataset. The logic for VMXGPRNT was originally posted
to MXG-L by John, and Mike recently reminded me of it.
The old UPRINDOC member did print the label and name,
and is used to create the ADOCxxxx prints/means, but
the new VMXGPRAL and VMXGPRNT is much nicer syntax.
Thanks to Mike O'Brien, Bank of America, USA.
Thanks to John Parkes, Experian, USA.
Change 26.292 MONTHBL3 was overlooked when Change 24.064 added simpler
MONTHBL3 override for NOT SORTED errors in creating MONTH PDB.
Jan 1, 2009 It is now updated to match MONTHBLD logic.
Thanks to Douglas G. Wells, First National Bank of Omaha, USA.
Change 26.291 WPS does not support the INFILE CCHHR nor CCHHR= options
VMACEREP which is required to read LOGREQ with TYPEEREP, and was
VMXGVTOC used in VMXGVTOC (now archaic, replaced by DCOLLECT), and
UTILSPAC also used in the UTILSPACE reporting utility. This
Jan 1, 2009 change removes the CCHHR options when MXG is executed
under WPS, so that the QAWPS QA test stream can run, to
test the compiler using only DUMMY INFILES. This change
will be revised if/when CCHHR support is in WPS.
See Change 27.239.
Change 26.290 The View Direct, Mobius, Infopac-RSD, etc., product's
VMACIPAC user SMF record, subtype 3 was INCOMPATIBLY restructured
Dec 30, 2008 with R3CALLER field relocated, the LUNAME field removed,
and seven extra bytes inserted. MXG was recoded to read
the new format with a heuristic test of the old location
of R3CALLER, pending response from support@asg.com, who
now owns this product.
Jan 5: A PTF has been provided, but not yet installed,
but even if it does correct the invalid SMF record, I
will leave the circumvention in place, since it will
protect sites without the correcting ptf.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 26.289 -Cleanup of inconsistent LENGTHs and CHAR/NUM conflicts
ANALCISH for variables created from the same INFILE. CHAR/NUM
VMAC112 conflicts were resolved by renaming the variable from
VMACFTEK the more obscure product. Lengths were mostly increased
VMACQACS with &MXGLEN replacing 4s, but some 8s are now &MXGBYLN.
DIFFROSC These LENGTH changes may cause WARNINGs with SAS V9.2,
VMACSVIE when creating WEEK or MONTH PDBs with PDBs built by MXG
VMXG70PR versions before/after this change, but by installing now
VMACSVIE if still under SAS V9.1.3, then your migration to V9.2
VMAC7072 could be warning-free.
No CHAR/NUM conflicts had been reported, so changes were
Jan 5, 2009 made to prevent future errors.
-Data Set Labels were added where they were blank.
-Variable ZDATE was added where it was not being created.
-Member DOCVER26 lists all of the changed variable names:
Variables TERMINFO TRANPRI were Numeric in SV27TRAN data
set built by TYPESVIE from SMF, which conflicted with
IBM SMF 110 records, so TYPESVIE was changed to create
them as character to avoid conflict if 110s and SVIE
were ever (unlikely) combined in a single DATA step.
ANALCISH, typo, CICSCONSR changed to CICCONSR.
VMACFTEX, variable GROUP renamed to GROUPSM1.
VMAC112, variable MQTRAN renamed to MQTRANID.
DIFFROSC, variable TERM renamed to TERMIOS.
VMACQAPM, variable XIDTYP changed to CHAR.
VMXG70PR, variable IFAUPTM LPARNUM SMF70CSF PCTIFABY
PCTZIPBY changed from length 8.
VMAC7072, variables NRPRCS, NRPHYCPS changed from len 8.
Change 26.288 TYPE78CU variables for Aliases could be wrong, as they
VMAC78 were retained but not initialized, so devices without an
Dec 29, 2008 alias could incorrectly have values in these variables:
R783HCNT R783HIX R783HLCU R783HCU R783HNAI R783HTIO
R783HAIU R783HCAD R783HIOQ
Thanks to Peter Schubert, CITEC, AUSTRALIA.
Change 26.287 Support for RMF III CPUG3 z/OS 1.9 (INCOMPATIBLE - zero
VMACRMFV observations in ZRBLCP without this change).
Dec 28, 2008 New variable in ZRBLCP: LCPUCURW - Current SHARE weight.
LCPUCURW='CURRENT*SHARE*WEIGHT'
New variables in ZRBCPU:
CPCGRPNM='CAPACITY*GROUP*NAME'
CPCGRPLM='CAPACITY*GROUP*MSU*LIMIT'
CPGRPJOI='DATETIME WHEN*LPAR JOINED*GROUP'
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 26.286 Very strange error messages in 26.08 and 26.10, where
VMXGRMFI the "x" is a non-printable character:
Dec 23, 2008 ERROR: LIBNAMES ARE RESTRICTED TO EIGHT CHARACTERS.
x HAS BEEN TRUNCATED.
Removal of an unneeded %VGETENG call in VMXGRMFI has
eliminated the strange errors, but still researching.
Thanks to Dan Case, Mayo Clinic, USA.
Change 26.285 Enhanced to do the dynamic allocation of DAYS based on
VMXGALOC the DAYSKEEP= value. On ASCII this creates a pseudo-GDG
Dec 23, 2008 architecture were days a DddMMMyy, weeks are Wddmmyy and
Jan 3, 2009 months are Mddmmmyy, and a variable number of each can
be kept, with old ones being deleted and new ones being
created over time.
So, if today is 22DEC08, the directory names would be
PDB - c:\MXG\D21DEC08
MON - c:\MXG\D15DEC08
TUE - c:\MXG\D16DEC08 ....
WEEK - c:\MXG\W15DEC08
WEEK1 - c:\MXG\W15DEC08
WEEK2 - c:\MXG\W08DEC08
WEEK3 - c:\MXG\W01DEC08 ....
MONTH - c:\M01DEC08
In addition, TREND databases can be allocated based on
doing TRENDing on a daily or weekly basis.
TRENDING=DAILY creates
TRENDIN - c:\MXG\T20DEC08
TREND - c:\MXG\T21DEC08
TRENDING=WEEKLY creates
TRENDIN - c:\MXG\T08DEC08
TREND - c:\MXG\T15DEC08
TRENDING=WTD creates
TRENDIN - c:\MXG\T15DEC08
TREND - c:\MXG\T22DEC08
The SPIN and TREND directory management follows the
pattern specified in DAYSKEEP WEEKKEEP. Older
directories will be erased/deleted based on the
numbers in those two arguments.
For those times when you may need to go back and rerun a
day's processing, FORCEDAY=22DEC08 will set the correct
directories for that day's processing to be allocated.
The basedir= argument defaults to c:\mxg\ but can be any
disk device and directory available to your system.
Change 26.284 The BMC Optional CMRDB2 segment was increased from 172
IMACICMD to 256 bytes in CICS/TS 3.2. The IMACICMD code is now
Dec 22, 2008 updates to support both lengths, based on SMFPSRVR.
Thanks to Jane Dickenson, Produban, ENGLAND.
Change 26.283 -zPCR failed with PDB=SMF, or SCP not 'z/OS V1R10', the
ANALZPCR SELECT=CECTIME option is now implemented, and new notes
Dec 21, 2008 have been added:
Dec 31, 2008 -PDB=SMF option had not been fully tested and caused a
180 underscoring a percent sign; the UTILBLDP logic is
revised to read only required SMF records and subtypes.
-zPCR support worked fine when SCP='z/OS V1R10' was set,
but I discovered XML doesn't tolerate extra blanks, so
SCP='z/OS V1R9 ' created an XML file that caused zPCR
configuration errors "UNKNOWN SCP". Now, trailing
blanks in the generated XML text are removed.
-The XML text is very case sensitive, so the ANALZPCR
member is also, and it must NOT be case-changed.
-Support for SELECT=CECTIME is now implemented. To be
valid, all SYSTEMs in each CEC must have the same RMF
Interval Duration, and must all have the same SYNC(0)
or the same SYNC(59) value. The CPU Dispatch Time for
all CP engines in the CECSER is summed and the interval
with the largest total is created for each CECSER as
the input. The file name has the CECSER value instead
of the SYSTEM name.
-MXG will create the external study file for any CPU type
but the zPCR tool will only accept data from a z9 or
above (CPUTYPE 2094, 2096, 2097, 2098). If you attempt
to load a file with an earlier CPU model, zPCR will not
accept it, and a zPCR warning box will display
Host LPAR Definition errors exist, please refer to
file "configuration errors" and correct the errors.
That configuration.errors file is in the \CPSTOOLS\ZPCR\
directory, and for this error condition will state
The following errors were found in the study file:
C:\CPSTOOLS\zPCR\s1942.d17dec08.t0130.zpcr
Unsupported Host processor specified;
It must be a z9 or above (2094, 2096, 2097, 2098)
Report any other error messages to support@mxg.com.
-The zPCR tool uses the TYPE70 CPU Utilization and the
TYPE74 DASDIOrate to select "workload" type for the
model. If there is no TYPE74 data, then zPCR will set
the workload type to "unknown" and you will have to then
manually change the workload type after you load the
MXG-created external study file.
Thanks to Warren Hayward, TJX, USA.
Thanks to David J. Schumann, Blue Cross Blue Shield of Minnesota, USA
Change 26.282 APPLID could be blank in PDB.ASUMUOW if the first part
VMXGUOW of a Unit of Work came from MQ rather than CICS. This
Dec 19, 2008 could also cause blank APPLID in PDB.CICS when ASUMCICX
Dec 23, 2008 is used.
Thanks to Douglas G. Wells, First National Bank of Omaha, USA.
Change 26.281 Variables IFAUNITS and IFEUNITS are now added to both
BUILD005 the PDB.STEPS and PDB.JOBS datasets from the SMF 30s.
BUIL3005 They should have been added with ZIP units were added.
Dec 19, 2008
Thanks to Jansson Ingegerd, Volvo IT, SWEDEN.
Change 26.280 Support for Open Connect user SMF record. New dataset
EXOPCNCL OPENCONN is created, but with these problems:
FORMATS - Records with DISP=00 have completely different format
IMACOPCN that the other records.
TYPEOPCN - Records with DISP GT 0 have hex text where JOB should
TYPSOPCN be, and JCTJOBID is not populated.
VMACOPCN - Value of DISP=4 occurs, but is not documented; guess
VMXGINIT is that it is NEW.
Dec 19, 2008
Thanks to Robert Brosnam, Goldman Sachs & Co., USA.
Change 26.279 Enhancement/correction to support for Nigel's Monitor.
VMACNMON -DISKSERV and DISKWAIT records supported and same named
Dec 18, 2008 variables are added to NMONDISK dataset:
DISKSERV='DISK*SERVICE*TIME*MSEC/XFER'
DISKWAIT='DISK*WAIT*QUEUE*TIME*MSEC/XFER'
-MEMPAGES4KB,MEMPAGES64KB,MEMPAGES16MB and MEMPAGES16GB
records are now supported, adding four sets of those
variables to NMONINTV dataset.
-Short AAA record protected.
-Invalid JFSFILE and JFSINODE records that have fewer
counters that described are detected and diagnostics
and print of the defective record is printed on the
log so you can send to and resolve with Nigel.
Change 26.278 Example analysis program joins DB2ACCT and DB2ACCTP, but
ANALDBJO must be used with extreme caution, as the resources to
Dec 18, 2008 sort both datasets first for the merge, can be extreme.
Change 26.277 Support for APAR OA24208 adds new subtype 15 to ID=92
EXTY9215 SMF record. The new subtype audits changes to USS file
IMAC92 security attributes for APF Authorized, Program Control,
VMAC92 and Shared Library that are maintained by USS and thus
VMXGINIT were not audited by RACF.
Dec 18, 2008
Change 26.276 CPUUNITS value of minus one in TYPE72GO has resulted in
VMAC7072 type 72 subtype 3 records for service classes that used
Dec 16, 2008 only a zIIP engine. The raw CPUUNITS field contains the
sum of CP, zIIP, and zAAP units, but MXG calculates the
ZIPUNITS and subtracts it from the raw CPUUNITS to store
only the CP engine units in CPUUNITS variable that is
output. These cases have a calculated ZIPUNITS that is
exactly one unit larger than the raw CPUUNITS, causing
the negative value. This is clearly not a real error,
and may be related to Change 26.222 in which IBM noted
small problems with IFAUNITS. So, to avoid confusing
negative values for CPUUNITS (and CPUTM and CPUTCBTM
for these cases) I have reset CPUUNITS to zero if the
value after removal of zAAP and zIIP units is -3 to 0.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 26.275 There was a conflict in parameters between VMXGALOC and
BLDSMPDB BLDSMPDB. BLDSMPDB uses WEEKKEEP MNTHKEEP to specify the
Dec 16, 2008 datasets to be kept in the WEEK/MONTH PDB library, but
VMXGALOC uses those parameters to specify how many weeks
or months to keep. BLDSMPDB is modified with two new
parameters to resolve the conflict:
WEK2KEEP=12 KEEP 12 WEEKS
MTH2KEEP=100 KEEP 100 MONTHS
Additionally, BLDSMPDB now supports concatenated SMF
INPUT files on an ASCII platform, internally. Now, they
can be specified as
SMFIN=FULLYQUALIFIEDDSN1 FULLYQUALIFIEDDSN2 ...
Up to 99 SMF datasets can be named to be read in.
Thanks to Lisa Lawver, Land's End, USA.
Change 26.274 DB2 V9-only variables added by Change 26.210 were INPUT
VMACDB2 when they should not have been, causing very large and
Dec 16, 2008 very wrong values for these 11 variables:
QWACSPZI QWACUDZI QWACSPZE QWACSPZC QWACUDZE
QWACUDZC QWACSPC1 QWACSPC2 QWACUDC1 QWACUDC2
QWACTRSE
These variables should have had a missing value with V8.
Thanks to Roger A. Webster, State of Oregon, USA.
Change 26.273 Statement ELSE IF MRHDRDM=8 and MRHDRRC=1 was relocated
VMACVMXA to preceed the LABEL statement; WPS got confuses, but the
Dec 15, 2008 location was inconsistent with the normal ELSE location.
Change 26.272 Variable SIZE in XAM dataset HSTMEM was incorrectly INPUT
VMACXAM as PIB4., but it is a floating point (RB4.) value.
Dec 15, 2008
Thanks to Roger Stock, Boston University, USA.
====== Changes thru 26.271 were in MXG 26.10 dated Dec 21, 2008=========
Change 26.271 INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in RMF 77 is
VMAC77 harmless, but resulted when there was no RNAME value.
Nov 27, 2008 Change 26.159 (MXG 26.06) decoded RNAME into RNAMHX but
didn't test for a non-zero length in MINORQCB (SMF77RLN).
Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.
Change 26.270 NRCPUS in PDB.TYPE70 is redefined for HiperDispatch/IRD
VMAC7072 as the AVERAGE NUMBER OF ONLINE, NON-PARKED CP ENGINES
Nov 27, 2008 during the interval. For IRD, it was redefined as the
average number of online engines, but now, any CP parked
time CPUPATTM/SMF70PAT is subtracted from the online time
SMF70ONT, so the NRCPUS will be smaller if any CP engines
were parked during the interval, i.e., if HiperDispatch
is active. These variables are recalculated/impacted
NRCPUS PCTCPUBY PCTCPUEF CPUUPTM
but ONLY IF HIPERDISPATCH IS ACTIVE.
-SHORTCPS in PDB.TYPE70PR was protected for erratic large
value when online and parked times were almost identical,
by requiring 10 seconds of CPUACTTM to be calculated.
Change 26.269 -Missing value messages for CPUWAITY-CPUWAIYC and for
VMAC7072 MVSWAITY-MVSWAIYC, wait times for CPUID/LPARADDR 33-63
Nov 26, 2008 WERE true errors, as those variables were not properly
set when support for more than 32 engines was added; for
systems with more than 33 engines, the MVSWAITM, CPUWAITM
could have been understated causing PCTMVSBY to be higher
that was correct.
-Missing value messages for OMVSWAIT were only cosmetic,
but are eliminated by test prior to calculation.
-Missing value messages for PERFINDX were also only
cosmetic, occurring when ACTELPTM was missing, as for
R723TYPE=2 or when TRAN=0, and are eliminated.
Jan 12 2009: This last part of this change was wrong;
see Change 26.299.
Change 26.268 Circumvention for defective NDM-CD CT user SMF record.
VMACNDM The Accounting Data length (bytes 969-970) is '00B9'x,
Nov 25, 2008 decimal 185, but the record is only 1020 bytes long.
This circumvention uses the MIN of NDMLENSA,LENLEFT
to only input what's left in the record while the
vendor is contacted to resolve their error.
Thanks to Arthur Sy, Depository Trust, USA.
Change 26.267 Hardcoded "PDB" DDNAME/LIBREF in the old-style macro refs
ASUMMIPS were changed to the dataset's Pdddddd macro variable, and
Nov 21, 2008 the reads changed to use the old-style macro reference:
MACRO _RMFIN &PDBRMFI..RMFINTRV %
MACRO _RMF72GO &PTY72GO..TYPE72GO %
MACRO _SMFIN &PDB30UV..SMFINTRV %
MACRO _RMFOUT &PDBRMFI..RMFMSUSE %
MACRO _SMFOUT &PDBRMFI..SMFMSUSE %
for easier building of RMFMSUSE/SMFMSUSE under ITRM.
But since the MSU-to-MIPS factors are also hardcoded,
MACRO _MIPSMSU MIPSFACT=5.8; %
MACRO _MIPSIFA IFAFACT=5.8; %
MACRO _MIPSZIP ZIPFACT=5.8; %
sites using different factors (for different hardware)
can override them "instream", using MACKEEP:
//SYSIN DD *
%LET MACKEEP=
%QUOTE(
MACRO _MIPSMSU MIPSFACT=5.8; %
MACRO _MIPSIFA IFAFACT=5.8; %
MACRO _MIPSZIP ZIPFACT=5.8; %
)
;
%INCLUDE SOURCLIB(ASUMMIPS);
_RMFMIPS
_SMFMIPS
to create both RMFMSUSE and SMFMSUSE in the same data
library where RMFINTRV lives.
Minor note: since the MACKEEP text contains semicolons,
the %LET MACKEEP= %QUOTE ( text ) ; syntax is required.
Thanks to Nicholas Ward, Centrelink, AUSTRALIA.
Change 26.266 Reserved Change Number.
Change 26.265 Change 20.112 corrected instances of '1A'x in ASCII MXG
PROCSRCE source, which are translated to '3F'x in EBCDIC source.
Nov 20, 2008 That hex character shows up as non-printable text, and in
some cases, caused a SAS syntax error. But eight more
have slipped in over time, all now manually removed.
This change to he PROCSRCE program used to build the MXG
master source adds detection of '1A'x characters, along
with other invalid data and long line tests, to eliminate
future re-occurrences of these invalid text.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 26.264 Support for IBM zPCR capacity tool to use MXG PDB data.
ANALZPCR MXG creates an "External Study File", a new zPCR feature
Nov 25, 2008 that can be used as input in zPCR Version C5.2b or later.
Implemented as %MACRO, %ANALZPCR reads MXG RMF datasets
PDB.TYPE70 and PDB.TYPE70PR and PDB.TYPE74 (or optionally
will read SMF data to create only those datasets) and
creates one ".zpcr" output text file of XML tags/values
for each SYSTEM and STARTIME interval that you select.
The default selection, SELECT=PEAK, will select the
interval with the highest PCTCPUBY for each SYSTEM.
The name of the .zpcr file identifies each SYSTEM and its
STARTIME, and contains the LPAR Configuration for all of
the LPARs in the same SYSPLEX, including engine counts,
z/OS SCP, utilizations and z/OS DASDIOrates.
The .zpcr files can be created on Windows or on z/OS and
copied to your zPCR Windows system, since they are simple
text files. You start zPCR, select LOAD option from the
FILE pulldown and you will be presented with each of the
file names, so you can select the specific system and
interval to be modeled.
You can then examine the configuration, by opening the
Configure LPAR option from the Function Selection page,
and then opening Detail under Reports. For all LPARs for
which utilization and DASDIOrate were found, you will see
their WORKload column will be populated; you will have to
enter your workload choice for those with "unknown".
The %ANALZPCR program has these execution parameters:
PARAMETER DESCRIPTION/SYNTAX
PDB=PDB USE PDB.TYPE70 AND PDB.TYPE70PR for INPUT.
PDB=SMF UTILBLDP READ SMF TO CREATE TYPE70,TYPE70PR.
SELECT=PEAKTIME
CREATE a .zpcr file for each STARTIME for each
SYSPLEX-SYSTEM with the highest total CPU
Dispatch Time for CP engines in a full interval.
THIS IS THE DEFAULT.
SELECT=PEAKPCT
CREATE a .zpcr file for each STARTIME for each
SYSPLEX-SYSTEM with the highest percent CPU busy,
based on the average number of online, non-parked
CP engines in a full duration interval.
SELECT=CECTIME
Select the STARTIME for each LPAR in a CECSER with
the highest total CPU Dispatch Time across all
LPARs and all engines. Not yet implemented.
SELECT=PEAK Create a .zpcr file for each system for the
interval with peak PCTCPUBY in PDB.TYPE70.
SELECT=PEAK is the default.
SELECT=ALL CREATE a .zpcr file for each RMF interval
for each SYSTEM in PDB.TYPE70.
SELECT= If non-blank and NOT PEAK nor ALL, text is
use as SAS CODE FOR SELECTION. For example:
IF (SYSTEM='9K01' AND
'01APR2008:07:44:00.00'DT LE STARTIME
'01APR2008:07:44:00.00'DT );
OR (SYSTEM='DL08' AND
'02APR2008:12:59:00.00'DT LE STARTIME
'02APR2008:12:59:00.00'DT );
PCDIRNAM For ASCII execution of %ANALZPCR, the name
of the directory to which the .zcpr files
will be written.
Default=C:\CPSTOOLS\ZPCR\
The dsnames/filenames of MXG's .zpcr files
are structured to display the variables:
SYSTEM.DDMONYY.HHMM.zpcr
sprd1.d02apr08.t0959.zpcr
ssysa.d02apr08.t2359.zpcr
so that the zPCR "LOAD" pulldown presents
the list of configuration's descriptive name
for this zPCR model's configuration.
ZOSDSN For Z/OS, the high-level qualifier of the
DSNAME to be created.
Each (very small) .zpcr file is created as a
sequential file, so that the full name with
system and date/time can be seen when these
MXG-created .zpcr files are ftp/downloaded
and then viewed in the zPCR "LOAD" Window.
DSN=MXG.Ssyst.Dddmonyy.Ttime.zpcr
DSN=MXG.SPRD1.D02APR08.T0959.zpcr
DSN=MXG.SSYSA.D02APR08.T2359.zpcr
-Additional note:
Sorting TYPE70 by SYSTEM STARTIME DESCENDING PCTCPUBY to
select the maximum CPU Busy percent interval sometimes
found max in an interval with short (2-3 min) duration,
which were the initial interval of an IPL, not the real
workload peak interval, so the SELECT=PEAK algorithm now
finds the MAX(DURATM) for each system, and then selects
only the peak PCTCPUBY with DURATM GE 95% of MAXDUR
( 95% = 14:15 for 15:00 interval) to be modeled.
For each z/OS LPAR, the Number of Logical CPs is the
average number of online-not-parked engines:
ONLCPUS=(SMF70ONT-SMF70PAT)/DURATM;
and Utilization also accounts for IRD and HiperDispatch:
ZPCRCPBY=100*LCPUPDTM/(SMF70ONT-SMF70PAT);
The MXG variable LPARCPUS, the count of engines that
were online for any part of an interval, is used for non
z/OS LPARs. %ANALZPCR prints reports with these details
from TYPE70/TYPE70PR/TYPE74 so you can see what values
were found in your data.
The IFL engines require the SCP (Linux or z/VM) to be
input, but there is no indication in the TYPE70PR data
as to which SCP is in use. I considered trying to parse
the LPARNAME for "V" or "L" but neither is safe, so I've
set the SCP to z/VM
Since ANALZPCR builds a model file for each z/OS SYSTEM,
there will be multiple files created for a CEC that has
multiple z/OS systems. Using SELECT=PEAK could create
different STARTIMEs, since SYSA's peak might not be at
the same time when SYSB peak utilization occurred.
Change 26.263 Thales e-Security's Security Resource Manager for IBM
VMACSRMH MVS RG1100, HSM Device Name field S04HSM is decoded into
EXSRMHCD four new variables depending on the device type:
EXSRMHDE S04HSMCH='HSM*CHANNEL*DEVICE*NAME'
EXSRMHHS S04HSMIP='HSM*IP*ADDRESS'
EXSRMHSN S04HSMAX='HSM*IP*AUXILLARY*PORT'
EXSRMHSV S04HSMVT='HSM*VTAM*DEVICE*NAME'
IMACSRMH -Additional subtypes are now supported, with five SMF
VMACSRMH record ID's possible.
VMXGINIT RECORD ID MACRO FOR EACH OF THE FIVE POSSIBLE RECORDS:
Nov 19, 2008 MACRO _IDSRM1 237 % /*CDS PARAMETER*/
Dec 20, 2008 MACRO _IDSRM2 238 % /*DETAIL EXCEPTION*/
MACRO _IDSRM3 236 % /*SECURITY VIOLATION*/
MACRO _IDSRM4 240 % /*SUMMARY*/
MACRO _IDSRM5 239 % /*SRM SNAPSHOT*/
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL
SRMHAP SRMHSMAP SRM HOST SECURITY MODULE APPL
SRMHCD SRMHCDSP CDS PARAMETER
SRMHDE SRMHSMDE SRM HOST DETAIL EXCEPTION
SRMHDV SRMHSMDV SRM HOST SECURITY MODULE DEVICE
SRMHHS SRMHHSMD CDS HSMD SEGMENT
SRMHNU SRMHSMNU SRM HOST SECURITY NULL RECORD
SRMHSN SRMHSMSN SRM SNAPSHOT
SRMHSV SRMHSEVI SECURITY VIOLATION
Thanks to Yves Cinq-Mars, CIE IBM Canada Ltee, CANADA.
Change 26.262 Support for WebSphere Version 7, new subtype 9 event.
FORMATS The new subtype 9 and its usage is discussed in this
IMAC120 IBM TecDocs paper
VMAC120 HTTP://WWW-03.IBM.COM/SUPPORT/TECHDOCS/
VMXGINIT ATSMASTR.NSF/WEBINDEX/WP101342
Nov 20, 2008 and its internal format is documented at
HTTP://PUBLIB.BOULDER.IBM.COM/INFOCENTER/WASINFO/
V7R0/TOPIC/COM.IBM.WEBSPHERE.ZSERIES.DOC/INFO/
ZSERIES/AE/RTRB_SMFSUBTYPE9.HTML
MXG creates four new datasets from the subtype 9 record:
dddddd dataset description
T1209E TYP1209E WEBSPHERE SUBTYPE 9 EVENT
T1209C TYP1209C WEBSPHERE SUBTYPE 9 CLASSIFICATION
T1209S TYP1209S WEBSPHERE SUBTYPE 9 SECURITY
T1209U TYP1209U WEBSPHERE SUBTYPE 9 CPU USAGE
There is one subtype 9 record for each request event, so
dataset TYP1209E contains all data from these sections
Platform Neutral Server Information Section
Platform Neutra Server Request Section
z/OS Server Information Section
z/OS Server Request Section
Network Information Section
which only exist once per SMF record. The other three
datasets can all have one or more observations for each
subtype 9 record. The "TIMESTAMPS" section is decoded
but it's variables are duplicates of the datetimestamps
in the z/OS section, so they are not kept in TYP1209E.
-Several new MG1209x formats were created in FORMATS to
decode new subtype 9 variables.
-Variables added to existing TYP120SI dataset:
SM120NPA='SIP*SESSIONS*ATTACHED AND*ACTIVE'
SM120BPT='BYTES*XFER*TO SERVER*FROM SIP'
SM120BFP='BYTES*XFER*FROM SERVER*TO SIP'
Change 26.261 Variables MSGSW, ='Y' or 'N', 'INPUT BY*MESSAGE*SWITCH'
TYPECIMS is now created in the _CHAIN macro to flag IMSTRAN obs.
Nov 17, 2008
Thanks to Shantha Hallett, CapGemini, ENGLAND.
Change 26.260 Variables CMF27CCU & CMF27CHN added to CMF27C93 dataset.
VMACCMF The were previously only output in dataset CMF27CAR.
Nov 17, 2008
Thanks to Shantha Hallett, CapGemini, ENGLAND.
Change 26.259 QA Stream revisions and some corrections to eliminate
ANALDB2R return codes and other issues unique to QA testing.
ANALDBTR -WARNING: VARIABLE IN DROP KEEP RENAME WAS NOT REFERENCED
ANALDMON was eliminated. Some were spelling errors for variables
ANALNPMR that should have been, and now are, kept. Some were just
ASUMAPAF spurious messages, for example, when a variable in the
JCLPDB92 KEEP= list was also (intentionally) in a DROP statement.
JCLTES92 In SPUNJOBS, a DKROCOND=NOWARN was inserted where the I/O
JCLTEST8 variables for archaic devices needed protection.
JCLTEST9 Interestingly, in the case of VMAC7072, where KEEP= list
MXGSAS92 had PCTCIBY0-PCTCIBY9 PCTCIBYA PCTCIBYB ... for variables
MXGSASV9 that were not created until the subsequent SORT/MERGE for
SPUNJOBS the SPLIT70 logic, the hyphenated variable's message was
TYPEIMSA WARNING: Not all variables in the list
TYPETNG PCTCIBY0-PCTCIBY9 were found.
TYPSTNG while the message for the individual variables was.
UNIXSAR1 WARNING: The variable PCTCIBYA in the DROP, KEEP,
UTILBLDP or RENAME list has never been referenced.
UTILXRF1 -z/OS QA job's JCL uses referbacks to eliminate PROC COPYs
VMAC112 that took time and CPU, but an error in SAS V9.2 (that
VMAC7072 is to be corrected) caused the referback to fail when a
VMAC92 LIBNAME xxx CLEAR was used (only to determine if xxx was
VMAC99 on a tape device, for performance), so the cases where
VMACBBMQ CLEAR is used in the QA stream, ANALDB2R, and VMXGTAPE
VMACBVIR (invoked by ANALDB2R and TYPECIMS) are now bypassed, but
VMACEVTA only under SAS V9.2, temporarily.
VMACIMS -Most "MXG" warnings printed MXGWARN: but now all MXG
VMACSFTA warnings print MXGWARN: instead of WARNING:.
VMACSVC -Dec 20: //TEMPSVC DD replaced //SVCTEMP DD in JCLTESxx.
VMACSVIE
VMACSYNC
VMACTMVS
VMACTNG
VMACTPF
VMACTPMX
VMACXAM
VMXGRMFI
VMXGTAPE
Nov 18, 2008
Dec 20, 2008
Change 26.258 WPS 2.3.3 failed in UTILGETM due to a WPS Error (#6276)
JCLQASAS in an ARRAY (256,512) statement; that error is corrected
JCLQAWPS in WPS 2.3.4, now the required release of WPS for MXG.
QASAS UTILGETM was originally used only in the JCLTESTx job, to
UTILGETM create the SMFSMALL file of 10 records per ID, but it was
VMXGGETM not included in the MXG QA tests until now. UTILGETM
Nov 15, 2008 invokes %VMXGGETM with JCLTEXTx defaults, but VMXGGETM
Nov 18, 2008 was previously enhanced (with no Change) to also print an
QAWPS excellent report of the SMF record ID and Subtypes found,
with both record count AND record BYTES. You can use:
// EXEC MXGSASV9
//SMF DD DSN=YOUR.SMF,DISP=SHR
%VMXGGETM(SMFOUT=,FREQ=YES);
to produce only the report.
-PROC TABULATE generated an innocuous, yet annoying
WARNING: Dimension crossing has multiple format modifiers.
message that was eliminated by the addition of a separate
FORMAT statement for ID and SUBTYPE variables, thanks to
SAS Technical Support.
Thanks to Alf-Terje Thomassen, Ergo Group, NORWAY.
Change 26.257 Corrections/enhancements for Omegamon CICS user SMF data.
VMAC112 Previously, three subtypes, 200 (INTR), 201 (SYSR) and
VMACOMCI 203 (ONDV) were written as user SMF records, supported
Nov 16, 2008 by MXG TYPEOMCI code, in Versions V550 and earlier, but
now, in Version V560, only subtype 203 is created, and it
is written as SMF ID=112 (now that Candle was absorbed
into IBM, they can use "IBM" SMF record numbers!).
MXG has supported the SMF 112 for some time, but in this
revisions, errors in the DataCom and MQ count/clocks were
found and corrected, so this change is now required.
-Only TYPEOMCI supports all three (200,201,203) subtypes,
but only for Version V550 and earlier.
-TYPE112 supports only subtype 203, because V560 only
creates that subtype, and only as SMF ID=112 records.
However, with this change, the TYPE112 code reads both
the new V560 and old V550 format subtype 203 records.
This change in VMAC112 tests ID=112 OR ID=_IDOMCI, so if
you have defined MACRO _IDOMCI nnn % in IMACKEEP for
your current OMCI User SMF record number, those records
and new SMF 112s will be read automatically.
-Or, you can set _IDOMCI "instream" using:
//SYSIN DD *
%LET MACKEEP= MACRO _IDMOCI nnn % ;
%INCLUDE SOURCLIB(TYPE112);
-The dataset names created for TYPE112 Subtype 203 are
different in TYPE112, starting with T112xxxx, instead
of the old OMCIxxxx dataset names, but all old variable
names are still created in the new-named datasets.
This text replaces Change 26.160, as it is/was incorrect.
-The Datacom counts/clocks were wrong in TYPEOMCI support
but were correct in TYPE112; four pairs of variables,
DTCNT/DTCLK/DTFCNT/DTFCLK 02,07,09,14 did not exist in
the records, but the old OMCI code input them, causing
other variables to have incorrect values.
-The 24 MQ counts did not exist; there are 8 pairs of MQ
clocks and counters now correctly input, and the MQ
filename was truncated.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 26.256 MXG 26.09 only. %ANALDB2R(PDB=SMF); i.e., reading SMF to
ANALDB2R create DB2 reports, caused many errors, starting with
TESTANAL ERROR: OLD-STYLE MACRO NAME % MUST CONTAIN ONLY LETTERS,
Nov 13, 2008 DIGITS, AND UNDERSCORES.
The error has existed for some time, caused by recursive,
mis-located include of VMACDB2 when SMF is read, and it
can be circumvented by using %READDB2 to read SMF, and
then use %ANALDBR only to create reports. The default
reports with %ANALDB2R(PDB=SMF); can be created using
%READDB2(PDB=SMF,PDBOUT=WORK,IFCIDS=ACCOUNT 106);
%ANALDB2R(PDB=WORK);
RUN;
until you install this corrected ANALDB2R. The MXG QA
stream tested only %ANALDB2R(PDB=PDB,...), but now a
new test of %ANALDB2R(PDB=SMF,...) is added.
Thanks to Dan Almagro, Automobile Club of South California, USA.
Change 26.255 -ASMVTOC updated to prevent ABEND when it scanned a device
ASMVTOC that was pending offline.
VMACCTLG -VMACCTLG syntax error for missing "B" in two bit tests
VMXGINIT for IF GDGATTR='1.......'.
EXCTLGE4 -User coded enhancements to Catalog Processing:
Nov 11, 2008 (a) Write observation to CTLGDSN for each Generation
Dec 23, 2008 Dataset (GDS) so this dataset includes an observation
for each non-vsam dataset.
(b) Write observation to CTLGVSAM for each AIX dataset.
Since AIX datasets exist in a Cluster Sphere, the
cluster gets written to the CTLGVSAM with the last
AIX data and index component names.
(c) When writing out the observation for CTLGVSAM, write
out the volumes used for the index separate from
the volumes used for the data component.
(d) Added support for Connector Records (a user catalog
connected to the master catalog). A Connector Record
is composed of a Name Cell c'U', an Owner Cell x'01',
0 or more Association Cells x'03', and a Volume Cell
x'04'.
(e) Use of the CATRECNR to merge the observations
together in the different datasets is problematic
when AIX datasets are involved. This change tracks
the sphere cluster name, the aix cluster name, and
the component name; these are output into the Vsam,
Association, and Volume datasets. Also, the
Generation Dataset (GDS) Name is output when writing
the Volume dataset, updating the tracking of volumes,
so that the volumes are associated with the specific
Generation Dataset.
-Additional protection/corrections made Dec 23, 2008.
Thanks to Ken Sharpe, Oklahoma Dept of Human Services, USA.
Change 26.254 Support for MAINVIEW for CICS 6.1 CMRDETL (INCOMPATIBLE).
EXMVCIC1 and support for 6.2 new data.
EXMVCIC2 The new 'F7'x records contain expanded 12-byte time data,
EXMVCICC so this change is required to process the new release.
EXMVCICE The support for the File segments is enhanced, with new
EXMVCICO datasets for CONNECT/SESSION, DB2, DBCTL, MQ and OTHER,
EXMVCICQ with their unique variables, so the existing CMRFILE
IMACMVCI dataset now contains only the CICS FILE segment data.
VMACMVCI The complete set of datasets now created are:
VMXGINIT dddddd Dataset Description
Nov 9, 2008 MVCICS CMRCICS MAINVIEW CICS CMRDETL DATA
Nov 10, 2008 MVCICC CMRFCON MAINVIEW CICS CMRDETL FILE CONNECT
MVCICE CMRFSES MAINVIEW CICS CMRDETL FILE SESSION
MVCICF CMRFILE MAINVIEW CICS CMRDETL FILE CICS
MVCICO CMRFCON MAINVIEW CICS CMRDETL FILE OTHER
MVCICQ CMRFCON MAINVIEW CICS CMRDETL FILE MQ
MVCIC1 CMRFCON MAINVIEW CICS CMRDETL FILE DBCTL
MVCIC2 CMRFCON MAINVIEW CICS CMRDETL FILE DB2
Thanks to Henk van der Veur, Fortis, THE NETHERLANDS.
Change 26.253 VM/ESA 2.5 1.22 record caused BROKEN CONTROL RECORD error
VMACVMXA as the support for that record was added for z/VM 5.3
Nov 7, 2008 and expected an 88-byte, versus 84 byte, record segment.
Note that this was VERY archaic VM/ESA data being tested
as part of a QA job, and is NOT a current z/VM error.
Change 26.252 In VMXGDEL, IF %UPCASE(&USERWORK) function caused ERROR:
ANALACTM A character operand was found in the %EVAL function
GRAFWORK or %IF condition where a numeric operand is required.
GRAFWRKX when the SAS WORK option was WORK=HFS:/usr/lpp/.../work.
GRAFWORX Those forward slashes were seen as divide-by operations
READDB2 by the macro compiler. By replacing IF %UPCASE(&xxx)
VMXGDEL syntax with %IF %QUPCASE(&xxx) function, that %QUPCASE
VMXGGETM function "quotes" the text strings, preventing the macro
Nov 7, 2008 compiler from seeing the slashes as an operator. Only
VMXGINIT VMXGDEL caused an error, but all IF %UPCASE(&xxx)
Nov 10, 2008 statements, where &xxx could contain a libref text, were
identified and corrected in the other listed members.
However, in addition, VMXGINIT was revised, to add a test
for a forward slash for unix (like the existing test for
a back slash for NT) when it sets the "WORK" librefs.
Thanks to Brian Watts, Dept of Education, Employment, AUSTRALIA.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 26.251 Cosmetic, but wrong. The $MG110TT format for TRANTYPE
FORMATS had 'E2C4'X='SD:BY ADI WITH DATA' but that is changed to
Oct 31, 2008 have 'E2C4'X='SD:BY ATI WITH DATA'.
Thanks to Clayton Buck, UniGroup, Inc, USA.
Change 26.250 -The four variable sets G1vvvvvv-G4vvvvvv in BVIR33 have
VMACBVIR the data for the first four clusters, but documentation
Oct 31, 2008 of this Hnode Grid Historical Record says there can be a
Nov 13, 2008 maximum of eight clusters, so new sets G5vvvvvv-G8vvvvvv
are now created, labeled, and kept.
-Variable DVMXMT00 was not kept due a typo in the KEEP=.
Thanks to Harald Seifert, HUK-COPBURG, GERMANY.
Thanks to Jens Mohring, HUK-COPBURG, GERMANY.
Thanks to Francois Vancoppenolle, Rainbow ICT, BELGIUM.
Change 26.249 The Two _Sdddddd Data Set SORT macros for ABARS HSM data,
VMACHSM _SHSMWWF and _SHSMWWV still contained DATA steps rather
Oct 30, 2008 than PROC SORTs, which could cause NOT SORTED errors.
The DATA step is coded when new datasets are created, as
the PROC SORT NODUP can't be added until I have test data
to know what BY variables are required for duplicate
removal. I assume I just forgot to go back when I finally
got ABARS test data to validate their _Bdddddd macros.
Thanks to Christine Wong, MMSA, USA.
Change 26.248 Member IMACKEEP is now included by ANALSMF after the
ANALSMF MACRO _MYCISIZ is defined, so &MACKEEP can be used to
Oct 29, 2008 change that definition. Last update to ANALSMF was 1996!
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 26.247 Support for SMF 113. Incomplete, do not use.
VMAC113 Test SMF data is needed to finish writing the support
Oct 29, 2008 for this new monitor record. See Change 27.002.
Change 26.246 Three RMF III pre-emptable SRB CPU time variables were
VMACRMFV wrong, by a factor of 1000, because their informat was
Oct 28, 2008 incorrect. Now, all three are correctly input as
ASIPHTMA &PIB.4.3 /*PREEMTEABLE*CLASS*SRB*TIME*/
ASIPHTZA &PIB.4.3 /*PREEMPTABLE*SRB*FOR ZAAPS*/
ASIPHTZI &PIB.4.3 /*PREEMPTABLE*SRB*FOR ZIIPS*/
ASIPHTMA was informat PIB4., and is now TIME12.2 format,
ASIPHTZA and ASIPHTZI were informat PIB4.6.
Thanks to Graham Harris, Royal Bank of Scotland, ENGLAND.
Thanks to Matt Ellis, Royal Bank of Scotland, ENGLAND.
Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.
Change 26.245 Change 26.207 (MXG 26.08) added variables JXSLMJ1 JXSLMJ2
VMACTPMX in dataset TYPETPMX, but labeled them as UNKNOWN. They
Oct 27, 2008 now renamed and correctly labeled:
JXSLMNGD='JXSLM*MANAGED'
JXSLSRVC='JXSLM*SERVICE'
Using an old MXG Version (prior to 26.08) to read SMF
records with either field caused this MXG message:
***ERROR.VMACTPMX. VARNAME=$JXSLMJ_ NOT FOUND,
TOKFIELD=$JXSLMJ_ WAS NOT INPUT.
TOKENID=53613 TOKENID=D16D TOKNAME=$JXSLM FLENGTH=1
Thanks to ???, BOA, USA.
Thanks to Nancy DiFilippo, MVS Solutions Inc, USA.
Change 26.244 Variable MIPS was not being calculated for WORKLOAD=0,
GRAFWRKX the uncaptured work, causing confusing graphs when the
Oct 27, 2008 MSU and MIPS were compared.
Thanks to Jorge Fong, DOITT NYC, USA.
Change 26.243 Support for OA21140 - High Performance FICON (zHPF) and
FORMATS RMF HiperDispatch enhancements.
VMAC7072 -TYPE70 existing SMF70Q00-SMF70Q12 counts of IN AND READY
VMAC73 users previously were based on the number of processors
VMAC74 that were online; now, with this APAR installed and with
VMAC79 HiperDispatch Active, the count is based on the number of
Oct 27, 2008 processors being ONLINE AND NOT PARKED when the sample
Nov 2, 2008 was taken.
Nov 10, 2008 -TYPE70 new variable SMF70NRM='zIIP*NORMALIZATION*FACTOR*/
-TYPE70PR field SMF70POF creates two new variables:
POLARITY='POLARIZATION'
0='0:Horizontally Polarized or not indicated'
1='1:Vertically Polarized Low Entitlement'
2='2:Vertically Polarized Medium Entitlement'
3='3:Vertically Polarized High Entitlement'
Variable POLARITY is decoded by new MG070PO format.
POLARCHG='POLARITY*CHANGED?'
value of Y if polarization was changed during interval.
-TYPE73 dataset has these new zHPF variables:
CHFACTV ='FICON*OPERATIONS*CONCURRENTLY*ACTIVE'
CHFDFER ='FICON*OPERATIONS*DEFERRED*PER SEC'
CHFRATE ='FICON*OPERATIONS*PER SEC'
CHFXACTV='ZHPF*OPERATIONS*CONCURRENTLY*ACTIVE'
CHFXDFER='ZHPF*OPERATIONS*DEFERRED*PER SEC'
CHFXRATE='ZHPF*OPERATIONS*PER SEC'
SMF73ECP='CHANNEL*PATH*IDENTIFICATION'
SMF73EIX='INDEX TO*EXTENDED*CHANNEL*MEASUREMENTS'
SMF73EOC='FICON*COMMAND MODE*OPERATIONS*ATTEMPTS'
SMF73EOD='FICON*COMMAND MODE*OPERATIONS*NOT INIT'
SMF73EOS='SUM COUNT OF*COMMAND MODE*OPERATIONS'
SMF73ETC='FICON*TRANSPORT MODE*OPERATIONS*ATTEMPTS'
SMF73ETD='FICON*TRANSPORT MODE*OPERATIONS*NOT INIT'
SMF73ETS='SUM COUNT OF*TRANSPORT MODE*OPERATIONS'
-TYPE74 dataset has this new variable:
R744FLPN='PARTITION*IDENTIFIER*OF CF'
-TYPE79C dataset for subtype 12 has the same new zHPF
fields as those added to TYPE73, above, but the SMF73
is changed to R79 to be consistent with existing TYPE79s.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Thanks to Brian Currah, Independent Consultant, CANADA.
Change 26.242 Enhancements to internal utility functions/programs.
ANAL115 -VMXGOPTR is used to store, set, and restore SAS options,
ANALCISH but only supported one option. Now, multiple options can
ANALRMFR be handled, but multiple new values must be separated by
ANALTCP exclamation points, because values can contain blanks:
VGETOBS %VMXGOPTR(OPTNAME=OP1 OP2 OP3,NEWVALUE=V1!V2!V3);
VMXGOPTR -VGETOBS could fail if no DDNAME was specified.
Oct 27, 2008 -ANALCISH, ANALRMFR, ANALTCP, and ANAL115 all now use the
VGETOBS macro instead of the archaic internal OBSCHEK.
Change 26.241 Extra data in LINUXKRNL '02'x Processor Record caused the
VMACVMXA BROKEN CONTROL RECORD error message. The CONTROL RECORD
Oct 23, 2008 was fine: any MXG out-of-alignment in z/VM MONWRITE data
Oct 30, 2008 surfaces with that error. The MXG circumvention to skip
the hundreds of extra bytes in the record based on NRCPUS
was defective and those extra bytes are now unilaterally
skipped, to eliminate the circumvention and exposure.
This problem was only observed in Release 3.5 data; the
data from z/VM 5.4 does not have any extra bytes.
-Divide by zero in daccumulation of VXAPLTCP dataset due
to insufficient BY list - variable CLUSNAME must be used.
Thanks to Nick Altieri, Wachovia Bank, USA.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
====== Changes thru 26.240 were in MXG 26.09 dated Oct 20, 2008=========
Change 26.240 Variable TRNOTCON is a time of day, and not a datetime
VMACCIMS value, even though it's input as TODSTAMP8, so it is now
Oct 20, 2008 TIMEPARTed and formatted TIME12.2.
Thanks to Kenneth D. Jones, Bell Aliant, CANADA
Thanks to Bruce Perry, Bell Aliant, CANADA
Change 26.239 Cosmetic. The CASE THREE example, in comments only in
IMACUOW VMXGUOW, is now in comments in IMACUOW, and all three of
Oct 17, 2008 the examples are documented completely in both members.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 26.238 Utility to PROC PRINT with the LABEL and VARIABLE NAME as
UPRINDOC the header is enhanced so you can select how many obs are
Oct 17, 2008 printed and change the Line Size if desired. This is NOT
an elegant implementation, but it works, and is very good
for investigation of new data sources so you can see both
the name and the label. Every dataset in the PDB library
is PRINTed, and a PROC MEANS N MEAN MIN MAX; is run with
all observations in each dataset, to show the statistics
of each numeric variable.
Previously, it was hard-coded to print only the first 9
obs, (for the ADOC members) with fixed line size.
Change 26.237 Support for MACRO _GRPNAME was incomplete in ASUMTAPE but
ASUMTAPE is now corrected, and the ASUMTAPE dataset now is output
Oct 17, 2008 with the _LSUTAPE macro, defined as &PSUTAPE..ASUMTAPE,
to be more consistent with MXG naming conventions. The
previous output was just to &PDBMXG..ASUMTAPE, but as the
default for PDBMXG and PSUTAPE are both //PDB, and it is
unlikely that you would have changed, this change SHOULD
be transparent.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.236 Sites with HiperDispatch enabled, only. The Parked Time,
VMAC7072 CPUPATTM could be missing in PDB.TYPE70, causing PCTMVSBY
Oct 17, 2008 to be too large and CPUMVSTM to be too SMALL, with wrong
values also in variables SHORTCPS & PLCPRDYQ, if a system
had offline CP engines (see Changes 26.197 and 26.192).
Those engines have IFARRAY=CP, but their parked time is a
missing value. The real culprit was this add statement:
IF IFARRAY(LCPUADDR+1)=0 THEN
CPUPATTM=CPUPATTM+PATWAIT(LCPUADDR+1);
which sets CPUPATTM to missing when PATWAIT is missing.
I should have added a test for PATWAIT non-missing, but I
instead now use the SUM() function in this revision:
IF IFARRAY(LCPUADDR+1)=0 THEN
CPUPATTM=SUM(CPUPATTM,PATWAIT(LCPUADDR+1));
to preserves the CPUPATTM value when PATWAIT is missing.
Your existing PDB.TYPE70 data can be corrected without
re-reading the SMF data, using this program:
DATA NEW.TYPE70;
SET OLD.TYPE70;
IF CPUPATTM=. THEN DO;
CPUPATTM=SUM(OF
CPUPATM0-CPUPATM9 CPUPATMA CPUPATMB CPUPATMC CPUPATMD
CPUPATME CPUPATMF CPUPATMG CPUPATMH CPUPATMI CPUPATMJ
CPUPATMK CPUPATML CPUPATMN CPUPATMO CPUPATMP CPUPATMQ
CPUPATMR CPUPATMS CPUPATMT CPUPATMU CPUPATMV CPUPATMW
CPUPATMX CPUPATMY CPUPATMZ CPUPATZA CPUPATZB CPUPATZC
CPUPATZD CPUPATZE CPUPATZF CPUPATZG CPUPATZH CPUPATZI
CPUPATZJ CPUPATZK CPUPATZL CPUPATZM CPUPATZN CPUPATZO
CPUPATZP CPUPATZQ CPUPATZR CPUPATZS CPUPATZT CPUPATZU
CPUPATZV CPUPATZW CPUPATZX CPUPATZY CPUPATZZ CPUPATYA
CPUPATYB CPUPATYC );
IF CPUPATTM GT 0 THEN
CPUMVSTM=CPUUPTM-MVSWAITM-CPUPATTM;/*-SMF70PAT*/
ELSE CPUMVSTM=CPUUPTM-MVSWAITM;
IF CPUUPTM GT 0 THEN DO;
PCTCPUBY=100*CPUACTTM/CPUUPTM;
PCTCPUEF=100*CPUEFFTM/CPUUPTM;
IF CPUPATTM GT 0 THEN /*PER OA24074*/
PCTMVSBY=100*CPUMVSTM/(CPUUPTM-CPUPATTM);
ELSE PCTMVSBY=100*CPUMVSTM/CPUUPTM;
END;
IF CPUACTTM=. AND CPUPDTTM=. AND PCTCPUBY=. AND
PCTMVSBY GT 0 AND CPUMVSTM GT 0 THEN DO;
PCTCPUBY=PCTMVSBY;
CPUACTTM=CPUMVSTM;
END;
IF PCTMVSBY GT 0 AND PCTCPUBY GT 0 THEN DO;
SHORTCPS=PCTMVSBY/PCTCPUBY;
PLCPRDYQ=100*(PCTMVSBY-PCTCPUBY)/PCTMVSBY;
IF . LT PLCPRDYQ LT 0 THEN DO;
SHORTCPS=1;
PLCPRDYQ=0;
END;
END;
ELSE DO;
SHORTCPS=.;
PLCPRDYQ=.;
END;
END;
RUN;
Thanks to Frank De Bree, DEXIA, BELGIUM.
Thanks to Christine De Clercq, DEXIA, BELGIUM.
Change 26.235 Running the IEBUDPTE.SAS program on Linux to read a file
IEBUPDTE that was created on Windows caused characters '0D'x (CR
Oct 15, 2008 or Carriage Return) to be treated as a data byte. This
is because when unix files are written, only a '0D'x CR
is written to terminate each line, while Windows files
are terminated with a '0D0A'x CRLF (CR plus Line Feed).
So SAS under unix only looks for an LF line terminator.
To get SAS under unix/linux to read a Windows file and
not store the '0D'x as data, the TERMSTR=CRLF option
must be specified on the INFILE statement. This id
documented in the SAS Companion for unix INFILE note at:
http://support.sas.com/documentation/cdl/en/
hostunx/59542/HTML/default/chifoptfmain.htm
Fortunately, TERMSTR=CRLF works under Windows, so it can
be added unconditionally to the INFILE statement and now
that program will run on all ascii platforms.
Thanks to Steve Clark, DHL IT Services Americas, USA.
Thanks to Jan Squillace, SAS Technical Support, USA.
Change 26.234 Strange ORACLE SMF records, with none of the offsets that
VMACORAC are expected, but with an offset in a formerly reserved
Oct 15, 2008 field, followed by variable length text data, are now
detected and the first 500 instance printed for tests.
Thanks to Diane Eppestine, IBM Global Services, USA.
Change 26.233 Dataset DB2STAT4 contains IFCID=225 in DB2 V9 as noted in
READDB2 the text of Change 25.090; now, READDB2 is enhanced to
Oct 14, 2008 create both datasets T102S225 and DB2STAT4 when IFCID=225
has been requested; observations from DB2 V8 or V7 will
be in T102S225 and from V9 or later in DB2STAT4, but the
variable names are the same. Jan 2009: See Change 26.311
which actually made the change correctly in READDB2.
Change 26.232 Reserved Change Number
Change 26.231 Variable MEMLIMIT printed ERROR for '00000FFFFFFFF000'x,
FORMATS but the Installation Exits manual discussion of MEMLIMIT
VMAC30 under IEFUSI (how's that for obscure SMF documentation)
Oct 10, 2008 notes that that value is set when MEMLIMIT is NOLIMIT.
Unfortunately, there's no easy way out, to print NOLIM
for that value, because MEMLIMIT is FORMATted with the
standard MGBYTES decoding format, used for all byte vars.
So, new MG030ME format is created MEMLIMIT, and the above
hex value sets MEMLIMIT=. so NOLIM is printed.
Thanks to Dan Case, Mayo Clinic, USA.
Change 26.230 Variable QPACPAC was incorrectly set in DB2ACCTP whenever
VMACDB2 variable QPACCLS7='Y'. QPACPAC was set from the same bit
Oct 7, 2008 in QPACFLGS after QPACCLS7 had been set.
Thanks to Don Cleveland, Wellpoint, USA.
Change 26.229 MQ variables QWHCPST and QWHCPSB for IMS access were
VMAC116 only correct for WTIDATYP=3; the MXG test for IMS should
Oct 4, 2008 have input those fields for 3 or 4, but code had 2 and 3.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.228 Example to report DASD Storage Group summarization using
ASUMSTGP MXG's DCOLLECT data.
GRAFSTGP - ASUMSTGP creates PDB.ASUMSTGP summary by storage group
TRNDSTGP and DSNAME.
Oct 3, 2008 - TRNDSTGP creates PDB.TRNDSTGP trending summary
- GRAFSTGP produces graph of allocated and used space
from the TREND data.
Larry Douty, ExxonMobile, USA.
Change 26.227 Previously, VMXGSUME protected for variables that did not
VMXGSUME exist in the incoming datasets, but changes to VMXGSUM
Oct 3, 2008 now provide that same protection, so there is no need for
a separate VMXGSUME member. So now, VMXGSUME will just
bring in the standard VMXGSUM member, and any references
in your code to use %VMXGSUME can be changed to %VMXGSUM,
or any %INCLUDE SOURCLIB(VMXGSUME); can be removed, but
those statements do not HAVE to be changed, as long as
you do NOT have your own VMXGSUME member in tailoring
libraries.
Change 26.226 Reserved Change Number.
Oct 2, 2008
Change 26.225 Variable QPACAAFG was still wrong after Change 26.080, as
VMACDB2 it is INPUT in two places, but only the first was fixed.
Oct 2, 2008
Thanks to Glenn Bowman, Wakefern, USA.
Change 26.224 NMON variables that did not have a decimal point in the
VMACNMON data were incorrectly input by MXG's 6.1 format, so they
Oct 2, 2008 were small by a factor of 10, and fields with more than
6 digits were truncated; both errors were due to the use
of INPUT(field,6.1) syntax, which divides by 10 when the
field does not contain a decimal point, and only reads in
the first six digits. Each variable in each MXG dataset
has now been validated against the NMON xls file after
this (embarrassing!) correction, and all are created with
INPUT(field,16.0) syntax.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 26.223 Support for NSM VMWARE ESX 2.5.5 formerly a/k/a TNG has
EXTVW020 ten new datasets for these new objects:
EXTVW021
EXTVW022 dddddd dataset description
EXTVW023
EXTVW024 VW020 VW020 VMWARE ENGINE CPU
EXTVW025 VW021 VW021 VMWARE ENGINE DISK
EXTVW026 VW022 VW022 VMWARE ENGINE MEMORY
EXTVW027 VW023 VW023 VMWARE ENGINE NETWOR
EXTVW028 VW024 VW024 VMWARE ENGINE SYSTEM
EXTVW029 VW025 VW025 VMWARE VM CPU
FORMATS VW026 VW026 VMWARE VM DISK
IMACTNG VW027 VW027 VMWARE VM MEMORY
VMACTNG VW028 VW028 VMWARE VM NETWORK
VMXGINIT VW029 VW029 VMWARE VM SYSTEM
Oct 3, 2008
Thanks to Michael Kynch, International Paper, USA.
Change 26.222 Extremely large values in CPUIFATM, CPUIFETM, IFAUNITS in
VMAC7072 TYPE72GO observations in an interval in which an operator
Sep 30, 2008 varies a CP engine on or offline were caused by invalid
values in R723IFAT and R723IFCT. IBM determined that the
CONFIG command invokes IRAEVCFG to recalculate RMCTADJC,
and when IWMRCOLL is invoked, IRAWRARC converts these
service units into microseconds using RMCTADJC (SU_SEC).
In the specific case, RMCADJC was x'194' prior to vary
and was x'166' after, which caused IFAT and IFCT to be
lower in the second IWMRCOLL, creating a "negative" value
i.e., first bit on, which MXG sees as a large positive.
IBM said it is not possible to fix because the microsecs
are correct based on the current RMCTADJC value; however
IBM support noted that the service unit values in fields
R723CIFA and R723CIFC were correct because they are not
adjusted by RMCTADJC, so IBM's permanent solution is for
MXG to recalculate CPUIFATM and CPUIFETM from service
units and to no longer use R723IFAT and R723IFCT values.
The defective fields, R723IFAT and R723IFCT were the
original IFA times, from which MXG IFAUNITS/IFEUNITS
were originally created. The recommended fields now
used, R723CIFA and R723CIFC were added by the APAR
that also added the zIIP service unit values that MXG
has always used to create the zip CPU times, so it is
consistent now to use all those service unit fields for
both zAAP and zIIP CPU times and service units.
This change implements that IBM solution.
Jul 29, 2010: Variables R723IFAT and R723IFCT are set to
a missing value to avoid confusion. The
APAR mentioned was OA13499, Change 24.046!
Thanks to Dianne Gamarra, IBM Level 2 Support, USA.
Thanks to Frank De Bree, DEXIA, BELGIUM.
Thanks to Christine De Clercq, DEXIA, BELGIUM.
Thanks to Eugent Van Ossalaer, DEXIA, BELGIUM.
Change 26.221 Support for IBM DS8000 2107 SAN Disk Controller stats in
EXSVCCP SVCPerfStats xml files, creates five statistics datasets:
EXSVCMD MACRO INFILE DDDDDD DATASET
EXSVCNO
EXSVCPO _TSVCMD SVCMDISK SVCMD SVCMDISK
EXSVCVD
IMACSVC _TSVCNOD SVCNODE SVCCP SVCCPBSY
TYPESVC SVCNO SVCNODE
TYPSSVC SVCPO SVCPORT
VMACSVC
VMXGINIT _TSVCVD SVCVDISK SVCVD SVCVDISK
Sep 28, 2008
Oct 20, 2008 The support for this data source requires an extra file,
named TEMPSVC, which is written to and read from, to
prevent thousands of lines to be written on the SAS log.
For ASCII execution,
FILENAME TEMPSVC 'C:\tempsvc' LRECL=52;
For z/OS execution,
//TEMPSVC DD UNIT=SYSDA,SPACE=(CYL,(100,100)),
// RECFM=VB,LRECL=512,BLKSIZE=0
Both SVC 4.1 and SVC 4.2 data has been tested.
The order of the SVCMDISK, SVCNODE, or SVCVDISK DD is
not important; use DD DUMMY if you don't want to read
an XML file. Example JCL to process SVC data:
// EXEC MXGSASV9
//PDB DD DSN=YOUR.SVC.OUTPUT.PDB,DISP=(NEW .....
//TEMPSVC DD UNIT=SYSDA,SPACE=(CYL,(100,100)),
// RECFM=VB,LRECL=512,BLKSIZE=0
//SVCMDISK DD DSN=YOUR.MDISK.FILE01.DATA,DISP=SHR
// DD DSN=YOUR.MDISK.FILE02.DATA,DISP=SHR
// DD DSN=YOUR.MDISK.FILENN.DATA,DISP=SHR
//SVCNODE DD DSN=YOUR.MDISK.FILE01.DATA,DISP=SHR
// DD DSN=YOUR.MDISK.FILE02.DATA,DISP=SHR
// DD DSN=YOUR.MDISK.FILENN.DATA,DISP=SHR
//SVCVDISK DD DSN=YOUR.MDISK.FILE01.DATA,DISP=SHR
// DD DSN=YOUR.MDISK.FILE02.DATA,DISP=SHR
// DD DSN=YOUR.MDISK.FILENN.DATA,DISP=SHR
//SYSIN DD *
%INCLUDE SOURCLIB(TYPSSVC);
This was my first venture into reading XML files; these
are directly created by the disk controller monitor, and
no predecessor "flat file" exists. Unfortunately, these
XML documents are not "well-formed" which could have been
directly read with the SAS XML engine; a well-formed XML
document has a matching end-tag for each start-tag, but
these documents often have only the start-tag. SAS does
provide a separate facility for these "non-generic" XML
documents, but it involves writing a tag-specific XML map
document that tells SAS how to read the XML document, but
that would require a significant redesign of MXG to have
a matching pair of "documents", a program and an XML map,
for each of the XML files to be read, with new naming .
conventions, etc. Instead, I wrote this support in SAS
data steps, using SAS NAMED INPUT (well suited to the XML
data format of tag1="value1" tag2=="value2"). Also, as
the monitor data is accumulated, additional DATA steps
would be required after the initial input.
One real negative of having to read XML documents instead
of a simple binary file is the massive increase in data
volume. For example, the VDISK file contained 1,143,405
physical records, but there were only 70,160 observations
created from that XML file.
Part of that volume is due to the monitor's design: it
creates a separate document for each interval, but all of
the documents must be read and sorted so the values can
be deaccumulated. There were 400 mdisk documents daily,
which were concatenated and read in a single data step,
but that generated 160,000 lines of the SAS log, because
each of those 400 input events not only print the file
name being read, but repeats the full "file list" of all
400 files! As a result, that first data step is wrapped
in an OPTIONS NONOTES to suppress that unwanted printing.
Users HAVE experienced problems attempting to ftp the xml
files to z/OS, because the files are "unix-format" files
that are created on Windows, and they are terminated ONLY
with LF (0Ax) and not the normal-for-windows-files CRLF
(0D0Ax).
One user was able to ftp the xml files to z/OS using:
ascii
quote site recfm=fb lrecl=2000 blksize=2000
put stats.xml 'uuuuuuuu.stats.xml' lf
where the z/OS ftp server was IBM FTP CS V1R8.
However, another user's ftp failed with IBM FTP CS V1R7.
(The ftp executed, but created a single record with the
'0A'x treated as data, and that record was truncated at
the LRECL length. That user found this IBM documentation
note in the IP User's Guide and Commands manual:
"The z/OS FTP server supports only the CRLF value for
incoming data."
After using a hex editor to change '0A'x to '0D0A'x they
were able to ftp the IBM xml file to the IBM ftp server.
This Windows command will change the '0A'x to '0D0A'x:
TYPE unix_file | FIND "" /V > dos_file
so the file can be ftp'd to an IBM ftp server on z/OS.
And for completeness, if the LF-only file is on a unix
system, you can use this Unix command to convert to CRLF:
unix2dos old.xml new.xml
prior to the ftp-ing.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Thanks to Steve Foskett, Lloyds TSB, ENGLAND.
Thanks to MP Welch, SPRINT, USA.
Change 26.220 Example report for Service Class percent CPU busy revised
ANALSRVC to show how to change the interval of the report, and the
Sep 27, 2008 default now produces hourly percent busy, and EXCSP are
added to the totals for each interval.
Thanks to Lisa Lawver, Land's End, USA.
Change 26.219 Change 26.101 was not implemented; the semicolon at the
VMXGFOR end of %VMXGFOR was still present. However, only very
Sep 26, 2008 old user code in tailoring library are exposed, since
all %VMXGFOR calls were removed in all MXG code in 2003
by Change 20.327. Note that Change 23.127 also claimed
of have removed this semicolon, but it didn't!
Thanks to Pius Nwaobasi, IBM Global Services, USA.
Change 26.218 RMF III variables ASIRNM, Reporting Class Name and ASIRDE
VMACRMFV Reporting Class Description were blank due to a misplaced
Sep 24, 2008 IF statement.
Thanks to Betty Wong, Bank of America, USA.
Change 26.217 Revised QA JOB stream example, and cosmetic cleanups.
ANALCNCR The old multi-step JCL used for MXG QA tests were needed
BATDOIT back in SAS V6 because it couldn't handle a single step,
JCLQASAS but for some time the PC QA stream has run only a single
JCLQAWPS SAS datastep. First one-step z/OS runs failed with JCL
PRODSRCE issues, because the QA "PDB" data library is used with
PRODTEST multiple LIBREFs (PDB,MON,TUE..,WEEK1..,MONTH...) but on
QASAS z/OS you couldn't use the same temporary DSN. Finally,
TESTANAL Chuck figured out what JCL referbacks were needed, so the
TRNDCICX PROC COPYs (a holdover from when the multi-step required
UTILVREF them) could be eliminated, and they were really a killer;
VMXGCICI PC run time of the QA dropped from over an hour to only
Oct 21, 2008 10 minutes; z/OS run time dropped from xx to yy.
Nov 15, 2008 QASAS now documents the MXG QA job stream in comments.
BATDOIT is the batch file I use to run QASAS.
PRODTEST is the IEBUPDTE-format directory used in QA job.
PRODSRCE creates PRODTEST from c:\QA\prodtest directory.
-Many members still had SASAUTOS=SOURCLIB in OPTIONS or in
JCL examples, but MXG's CONFIGV9 or AUTOEXEC now set all
options, including SASAUTOS=(SASAUTOS SOURCLIB) so these
old examples were actually wrong. Their existence in the
ANALxxxx member actually caused errors when they reset
SASAUTOS to only SOURCLIB, preventing %TRIM and other SAS
%MACROs that are provided in their SASAUTOS to be found.
-JCL with // EXEC SAS and // EXEC SAS,OPTIONS= ... were
replaced, where appropriate, with // EXEC MXGSASV9.
Many of these old examples also had //SOURCLIB or even
//SASLIB (archaic since SAS V5); all of those DDs were
deleted from examples as they are contained in MXGSASV9
JCL procedure example.
These members were cosmetically revised:
achap21 achap31 achap32 adoctrnd aixpds analbnc1
analbnch analcm29 analnpmr analnspy analpdsm analrrtm
analturn analvary analvm analvmdy analvmos asummips
docgraf doctrend exitmon6 grafhsm grafregr graftalo
graftmnt graftrnd grafwork grafworx jclpdb multivol
newsltrs rexxtes6 rexxwlm sas5fix1 senddata trndtmnt
typedms typeslri typsims1 utildocv utilspac utilvone
vmacndm vmxguse vmxgvtoc vmxgvtof xcompall xibmfdp
xjclcomp xmacsar xnpmsess xsyslog zrbbuild zrbjcl
zrbrpt1 zrbrpt2 analsupr
-VMXGCICI caused WARNING on COLLTIME when VMXGSUME used;
COLLTIME should be only in SUMBY and DATATIME= so it was
removed from ID statement.
-ANALCNCR caused WARNING on TIMESTMP when VMXGSUME used;
old logic similar to VMXGCICI was revised.
-COMPALL was tested, creating 1871 datasets in a single
DATA step compiling all MXG datasets created from SMF:
Compiler Platform Run Time Memory Required
SAS 9.1.3 Win/XP 75 seconds 1100 MB
WPS 2.2 Win/XP 120 seconds same box
SAS 9.1.3 z/OS 93 seconds 1145 MB
WPS 2.2 z/OS 32 minutes 1024 MB
Thanks to Chuck Hopf, Bank of America, USA.
Thanks to MP Welch, SPRINT, USA.
Thanks to Rich Anderson, SAS Technical Support, USA.
Change 26.216 -The ZIPUSED MSU was incorrect; obviously, CPUZIPTM should
ASUMMIPS have been used instead of CPUIFATM.
Sep 23, 2008 -If the same name was used for both a Service Class and a
Sep 28, 2008 Reporting Class, the PDB.RMFMSUSE dataset had incorrect
values in RPRTCLAS, CPUTM, and the MSU and MIPS used.
-Change 26.131 added ZIP/ZAP metrics, but only to _RMFMIPS
causing UNINITIALIZED VARIABLE messages when _SMFMIPS was
executed. Now, both _RMFMIPS and _SMFMIPS report on all
three engine types.
Thanks to Don Goulden, SAS Institute, USA.
Thanks to Robert Kuhne, Excelon Corp, USA.
Change 26.215 NDM-CDI subtype 'UC' was not output, because it was not
VMACNDM in the initial test for known subtypes, but it was in the
Sep 23, 2008 test and is now output in the NDMAE dataset.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.214 Protection for invalid extended segment did not cover
VMAC1415 all cases; protection and error message revised, could
Sep 17, 2008 still cause INPUT STATEMENT EXCEEDED RECORD error.
Thanks to Mayer Rosenthal, Infocrossing, USA.
Change 26.213 Support for new data in NTDS and ASP.NET Applications
VMACNTSM objects in NTSM adds these new variables:
Sep 16, 2008 -Dataset ASPNETAP new variables:
Sep 17, 2008 ASPARWTB ASPACMLU ASPACMLB ASPACPLU
ASPACPLB ASPACTTR ASPACATR ASPAOCTR
-Dataset NTDS new variables:
NTDSLNCS NTDSLCCS NTDSLNSC NTDSDPRO NTDSTGNC NTDSTGHS
NTDSLVUR NTDSTURP NTDSDWFN NTDSDSFN NTDSDRFN NTDSSAEL
NTDSSREL
Also, the XDS and LDAP Binds variables no longer exist.
-Dataset MEMORY had all variables missing when NRDATA=40,
due to my careless testing.
Thanks to Lisa E. Van Allen, Boeing, USA.
Thanks to James A. Young, Boeing, USA.
Change 26.212 Change 25.308 for SAS V9.2 corrected three instances of
VMXGSUME %ELSE %THEN %DO statements to %ELSE %DO, but two members
UTILBLDP were overlooked, VMXGSUME and UTILBLDP.
Sep 16, 2008 The symptoms of the V9.2-only error is this message
Sep 18, 2008 ERROR: THERE IS NO MATCHING %IF STATEMENT FOR THE %THEN.
A DUMMY MACRO WILL BE COMPILED.
Thanks to Kim Westcott, OFT, State of New York, USA.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 26.211 Cosmetic. Labels for G3DTIN01-07, G4DTIN01-07 were blank
VMACBVIR (they were caught in QA reports, but I overlooked them!).
Sep 16, 2008 Some duplicate labels were also removed.
Thanks to Markus Bansemir, HUK-Coburg, GERMANY.
Change 26.210 Support for Landmark The Monitor for DB2 V 4.1 raw data.
VMACTMDB -Dataset TMDBD7P adds new variables:
Sep 18, 2008 D7QAASC D7QAAWLG D7QAAWTI D7QAAWTJ D7QAAWTL D7QABPID
D7QADBID D7QAOBID D7QAOCUR D7QAOTSN D7QAOTTY D7QASDB2
D7QASDYN D7QASFL1 D7QASFL2 D7QASTAB D7QASTET D7QATRET
D7QAUDEA
-Dataset TMDBDB adds new variables:
DBACTRTE DBACTREE DBACSVPT DBACRLSV DBACRBSV DBACAWTK
DBACAWTM DBACAWTN DBACAWTO DBACAWTQ DBACARNK DBACARNM
DBACARNN DBACARNO DBACARNQ DB1ZIIP DB2ZIIP DBTZIIP
DBEZIIP DBFIL71 DBFIL72 DBFIL73 DBFIL74 DBAXAWFC
DBAXFCCT DBAXIXLE DBAXIXLT DBSETCPR DBDCLGTT DBDEGDTT
DBCRESEQ DBALTSEQ DBDROSEQ DBPRRESI DBALTVW DB0112IW
DB0112SC DB0112CC DB0112OF DB0112LN DB0112OH DBASHSQL
DBASLSQL SQLIDLEN SQLIDNAM
-Dataset TMDBDA2 adds new variables:
DAMSPSRB DAMSZSRB DADSPSRB DADSZSRB DAISPSRB DAISZSRB
DXSPSRB DAXSZSRB DASSPSRB DASSZSRB DAXSETCP DAXDCLGT
DAXDEGDT DAXCRESQ DAXALTSQ DAXDROSQ DAXPRESI DAXALTVW
DASEDFAL DASEDPGE DASEDFRE DASEDYNP DASECFAL DASECPGE
DASECFRE DAISTCOL DADNDBA DADPOOL DAGSFLMG DABSTLPL
DABPFIX DABVDQB DABSLA DABPGST DABGLGG DABGLHS
DABGL2H DABGLP1 DABGLP2 DABGLP3 DABGLU1 DABGLS1
DABGLS2 DABGLS3 DABGLN1 DABGLN2 DABGLN3 DA3STHWB
DA3STHWF DA3STHWC DA9STCX4 DAJSLSUS DAJSLOGW DAJSCIWR
DAJSSERW DAJSTHRW DAJSBPAG
Thanks to Martin Legendre, Regie des rentes du Quebec, CANADA.
====== Changes thru 26.209 were in MXG 26.08 dated Sep 12, 2008=========
Change 26.209 Enhancement for reading DB2 SMF records adds new parms:
READDB2 SMFOUT= DDNAME to which SMF records that met selection
Sep 12, 2008 criteria will be written
Change 26.208 Variables SMF30MLS and MEMLIMIT are now kept in BUILDPDBs
BUILD005 PDB.STEPS dataset. Previously, they were kept only in
BUIL3005 PDB.SMFINTRV and PDB.TYPE30U6.
Sep 11, 2008
Thanks to Paul Naddeo, FISERV, USA.
Change 26.207 Support for Thruput Manager Subtype 7, and new fields:
EXTPM701 -Dataset TPMXSLM new variables
EXTPM702 TPMSLXGN='EXECUTION*START*TIME'
EXTPM703 TPMSLXGF='EXECUTION*END*TIME'
EXTPM704 While the DSECT used LXTN,LXTF, those datetime fields do
EXTPM705 already exist, and these new fields, while DSECT'd as
EXTPM706 TODSTAMP, in fact, contain only TIME12.2 time-of-day.
IMACTPMX -Support for subtype 7 creates six new datasets:
VMACTPMX dddddd Dataset Description:
VMXGINIT TPM701 TPM0701 SERVER ENVIRONMENT
Sep 12, 2008 TPM702 TPM0702 GENERAL SERVICES QUEUE
TPM703 TPM0703 1ST DISCRETIONARY QUEUE
TPM704 TPM0704 SERVICES GROUP QUEUE
TPM705 TPM0705 JESPLEX MEMBER STATUS
TPM706 TPM0706 INTERVAL DATA
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.206 CICS/TS 3.2 BMC optional CMRDATA increased to 256 bytes
IMACICMR as CPU time fields were increased from 4 to 8 bytes, but
Sep 5, 2008 MXG's IMACICMR had not been updated for 3.2, causing
ERROR: INVALID STRTTIME when IMACICMR was tailored and
read 3.2 data. Turns out IMACICMR never decoded times
correctly, even with earlier CICS releases, but now both
old and new records are correctly decoded. There are 16
undocumented bytes at the end of the CMRDATA segment that
will be decoded if they are ever populated by BMC.
Thanks to Barry T. Mueller, RiteAid, USA.
Change 26.205 Change 26.115 erroneously added SYSNAME to the BY list
WEEKBLDT for TYPE892 dataset, causing WEEKBLDT to fail with
Sep 4, 2008 ERROR: VARIABLE SYSNAME NOT FOUND.
Thanks to Mark W. Brown, CapGemini, ENGLAND.
Change 26.204 New fields and new subtypes for Shadow USER SMF records:
EXSHDW05 -New variables in SHADOW01 dataset:
EXSHDW18 SM01ADCT=*ADABAS*COMMAND*COUNT'
IMACSHDW SM01CLRC=*CLIENT*READ*DATA*COUNT'
VMACSHDW SM01CLWT=*CLIENT*WAIT*TIME'
VMXGINIT SM01HONA=*HOST*NAME*CLMI'
Sep 3, 2008 SM01LNID=*CLIENT*LAN*NETWORK*USERID'
SM01SRCP=*SRB*CPU*TIME'
-New variables in SHADOW02 dataset:
SM02CLRC='CLIENT*READ*DATA*COUNT'
SM02CLWT='CLIENT*WAIT*TIME'
SM02ENZC='ENCLAVE*ZIIP*TIME*ON CP'
SM02ENZI='ENCLAVE*ZIP*CPU*TIME'
SM02ENZQ='ENCLAVE*ZIP*QUALIFIED*CPU TIME'
SM02MXUS='MAX*INTERVAL*CONCURRENT*USERS'
SM02RPCU='CURRENT*NUMBER*EXECUTING*RPCS'
SM02RPHW='RPC*HIGH*WATER*MARK'
SM02SLCP='SSL*CPU*TIME'
SM02SRCP='SRB*CPU*TIME'
-New SHADOW05 dataset for SHADOW NON SOAP REQUEST:
SM0501CR='WWW RULE*CRITERION*MATCH*STRING'
SM0501EU='RUNTIME*MVS*USERID*IN EFFECT'
SM0501RL='WWW RULE*EVENT*PROCEDURE*MEMBER NAME'
SM0501RS='WWW*RULE EVENT*PROCEDURE*SET NAME'
SM05ABCD='TRANSACTION*ABEND*CODE'
SM05ABRS='TRANSACTION*REASON*CODE'
SM05ADLT='TRANSACTION*CONNECT*TIME*LOCAL'
SM05AUTH='CLIENT*AUTHORIZATION*STATUS'
SM05CLIP='CLIENT*IP*ADDRESS'
SM05CLIP='CLIENT*IP*ADDRESS'
SM05CLUS='CLIENT*USER*ID'
SM05CNID='CONNECTION ID'
SM05DBCP='DB2*CPU*TIME'
SM05ELTM='TRANSACTION*ELAPSED*TIME'
SM05ENCP='ENCLAVE*CPU*TIME'
SM05INUR='ORIGINAL*INBOUND*URL*VALUE'
SM05IPAC='IPADDRESS*OF*CLIENT*HEX'
SM05IPAD='IP*ADDRESS'
SM05LGTM='TRANSCTION*CONNECT*TIME*GMT'
SM05LSCR='WWW RULE*CRITERION*MATCH*STRING'
SM05LSEU='RUNTIME*MVS*USERID*IN EFFECT'
SM05LSRL='WWW RULE*EVENT*PROCEDURE*MEMBER NAME'
SM05LSRS='WWW*RULE EVENT*PROCEDURE*SET NAME'
SM05MTCT='COUNT OF*URL*MATCHES*PROCESSED'
SM05NTCP='NETWORK*CPU*TIME'
SM05OHCP='OTHER*CPU*TIME'
SM05PDSS='PRODUCT*SUBSYSTEM*NAME'
SM05RDTO='TOTAL*BYTES*SENT*INBOUND'
SM05RESC='COUNT OF*URL*RE-SCANS'
SM05RPCP='USER*PROGRAM*CPU*TIME'
SM05RXCP='SHADOW/REXX*CPU*TIME'
SM05SLCP='SSL*PROCESSING*CPU*TIME'
SM05SMID='HOST*SYSTEM*SMFID'
SM05SRCP='SRB*CPU*TIME'
SM05TRRC='OVERALL*RETURN*CODE'
SM05TRRS='REASON*CODE'
SM05TRST='HTML*STATUS*CODE'
SM05USR1='USER*DATA*AREA*1'
SM05USR2='USER*DATA*AREA*2'
SM05WRTO='TOTAL*BYTES*WRITTEN'
-New SHADOW05 dataset for SHADOW Z/SERVICES:
SM18ABCD='TRANSACTION*ABEND*CODE'
SM18ABRS='TRANSACTION*REASON*CODE'
SM18ADLT='TRANSACTION*CONNECT*TIME*LOCAL'
SM18AUTH='CLIENT*AUTHORIZATION*STATUS'
SM18CLIP='CLIENT*IP*ADDRESS'
SM18CLUS='CLIENT*USER*ID'
SM18CNID='CONNECTION ID'
SM18DBCP='DB2*CPU*TIME'
SM18ELTM='TRANSACTION*ELAPSED*TIME'
SM18ENCP='ENCLAVE*CPU*TIME'
SM18ENZC='ENCLAVE*ZIIP*TIME*ON CP'
SM18ENZI='ENCLAVE*ZIIP*CPU TIME'
SM18ENZQ='ENCLAVE*ZIIP*QUALIFIED*CPU TIME'
SM18INUR='ORIGINAL*INBOUND*URL*VALUE'
SM18IPAC='IPADDRESS*OF*CLIENT*HEX'
SM18IPAD='IP*ADDRESS'
SM18LGTM='TRANSCTION*CONNECT*TIME*GMT'
SM18MTCT='COUNT OF*URL*MATCHES*PROCESSED'
SM18NASP='WEB*SERVICE*NAME*SPACE'
SM18NTCP='NETWORK*CPU*TIME'
SM18OHCP='OTHER*CPU*TIME'
SM18PDSS='PRODUCT*SUBSYSTEM*NAME'
SM18PORT='CLIENT*AUTHORIZATION*STATUS'
SM18RCCT='TRANSACTION*COUNT*FOR*SUMMARY*RECORD'
SM18RCTY='CLIENT*AUTHORIZATION*STATUS'
SM18RDTO='TOTAL*BYTES*SENT*INBOUND'
SM18RPCP='USER*PROGRAM*CPU*TIME'
SM18RXCP='SHADOW/REXX*CPU*TIME'
SM18SLCP='SSL*PROCESSING*CPU*TIME'
SM18SMID='HOST*SYSTEM*SMFID'
SM18SRBT='SRB*CPU*TIME'
SM18SRCP='SRB*CPU*TIME'
SM18TRFX='SOAP*FAULT*TEXT'
SM18TRRC='OVERALL*RETURN*CODE'
SM18TRRS='REASON*CODE'
SM18TRSE='SOAP*FAULT*LENGTH'
SM18TRST='HTML*STATUS*CODE'
SM18TYPE='CLIENT*AUTHORIZATION*STATUS'
SM18VDIR='VIRTUAL*DIRECTORY'
SM18WRTO='TOTAL*BYTES*WRITTEN'
SM18WSNA='WEB*SERVICE'
SM18WSOP='OPERATION*NAME'
SM18WSTG='TARGET*SYSTEM*NAME'
Thanks to Scott Chapman, American Electric Power,USA.
Change 26.203 Support for z/VM 5.4 (COMPATIBLE back to MXG 25.05) adds
EXMTRMCC new 5.4 variables and two new datasets, but there are
EXSTOADD 600 variables added by z/VM 5.3, now supported by MXG in
FORMATS this change.
IMACVMXA NEW MONWRITE DATASETS CREATED BY z/VM 5.4:
VMACVMXA
VMXGINIT -Dataset VXMTRMCC (1.21) MEMORY CONFIGURATION CHANGE:
Sep 1, 2008 SYSGSTBY='STANDBY*CENTRAL*STORAGE*SIZE'
SYSGSTRS='RESERVED*CENTRAL*STORAGE*SIZE'
-Dataset VXMTRMCC (1.21) MEMORY CONFIGURATION CHANGE:
CALMEMAD='ADDITIONAL*CENTRAL*STORAGE'
CALSXSAD='ADDITIONAL*SXS*STORAGE'
UPDATES TO EXISTING MONWRITE DATASETS FOR 5.3 and 5.4:
-Dataset VXSYTPRP (0.2) new variables in 5.4:
PFXFST44='FASTPATH*SIMULATIONS*OF DIAGNOSE*X44'
PFXFSTPX='FASTPATH*PARTIAL*EXECUTE*INTERRUPTS'
PFXFSTSG='FASTPATH*SIMULATIONS*SIGP EXT CALL*INTS'
PFXFSTXC='FASTPATH*REFLECTIONS*GUEST EXT CALL*INTS'
-Dataset VXSYTRSG (0.3) new variables (added in 5.3):
RSADRMA1='STOLEN*GT 2G*DORMANT*PASS 1='
RSADRMA2='STOLEN*GT 2G*DORMANT*PASS 2='
RSADRMAE='STOLEN*GT 2G*DORMANT EMERG*PASS='
RSADRMB1='STOLEN*LT 2G*DORMANT*PASS 1='
RSADRMB2='STOLEN*LT 2G*DORMANT*PASS 2='
RSADRMBE='STOLEN*LT 2G*DORMANT EMERG*PASS='
RSADRMC1='STOLEN*CONTIG GT 2G*DORMANT*PASS 1='
RSADRMC2='STOLEN*CONTIG GT 2G*DORMANT*PASS 2='
RSADRMCE='STOLEN*CONTIG GT 2G*DORM EMERG*PASS='
RSADRMD1='STOLEN*CONTIG LT 2G*DORMANT*PASS 1='
RSADRMD2='STOLEN*CONTIG LT 2G*DORMANT*PASS 2='
RSADRMDE='STOLEN*CONTIG LT 2G*DORM EMERG*PASS='
RSADSPA1='STOLEN*GT 2G*DISPATCH*PASS 1='
RSADSPA2='STOLEN*GT 2G*DISPATCH*PASS 2='
RSADSPAE='STOLEN*GT 2G*DISPATCH EMERG*PASS='
RSADSPB1='STOLEN*LT 2G*DISPATCH*PASS 1='
RSADSPB2='STOLEN*LT 2G*DISPATCH*PASS 2='
RSADSPBE='STOLEN*LT 2G*DISPATCH EMERG*PASS='
RSADSPC1='STOLEN*CONTIG GT 2G*DISPATCH*PASS 1='
RSADSPC2='STOLEN*CONTIG GT 2G*DISPATCH*PASS 2='
RSADSPCE='STOLEN*CONTIG GT 2G*DISPATCH EMERG*PASS='
RSADSPD1='STOLEN*CONTIG LT 2G*DISPATCH*PASS 1='
RSADSPD2='STOLEN*CONTIG LT 2G*DISPATCH*PASS 2='
RSADSPDE='STOLEN*CONTIG LT 2G*DISPATCH EMERG*PASS='
RSAELGA1='STOLEN*GT 2G*ELIGIBLE*PASS 1='
RSAELGA2='STOLEN*GT 2G*ELIGIBLE*PASS 2='
RSAELGAE='STOLEN*GT 2G*ELIGIBLE EMERG*PASS='
RSAELGB1='STOLEN*LT 2G*ELIGIBLE*PASS 1='
RSAELGB2='STOLEN*LT 2G*ELIGIBLE*PASS 2='
RSAELGBE='STOLEN*LT 2G*ELIGIBLE EMERG*PASS='
RSAELGC1='STOLEN*CONTIG GT 2G*ELIGIBLE*PASS 1='
RSAELGC2='STOLEN*CONTIG GT 2G*ELIGIBLE*PASS 2='
RSAELGCE='STOLEN*CONTIG GT 2G*ELIGIBLE EMERG*PASS='
RSAELGD1='STOLEN*CONTIG LT 2G*ELIGIBLE*PASS 1='
RSAELGD2='STOLEN*CONTIG LT 2G*ELIGIBLE*PASS 2='
RSAELGDE='STOLEN*CONTIG LT 2G*ELIGIBLE EMERG*PASS='
RSALTDA1='STOLEN*GT 2G*LONG TERM*DORMANT*PASS 1='
RSALTDA2='STOLEN*GT 2G*LONG TERM*DORMANT*PASS 2='
RSALTDAE='STOLEN*GT 2G*LNGTRMDORM EMERG*PASS='
RSALTDB1='STOLEN*LT 2G*LONG TERM*DORMANT*PASS 1='
RSALTDB2='STOLEN*LT 2G*LONG TERM*DORMANT*PASS 2='
RSALTDBE='STOLEN*LT 2G*LNGTRMDORM EMERG*PASS='
RSALTDC1='STOLEN*CONTIG GT 2G*LNGTRMDORM*PASS 1='
RSALTDC2='STOLEN*CONTIG GT 2G*LNGTRMDORM*PASS 2='
RSALTDCE='STOLCONTIG GT 2G*LNGTRMDORM EMERG*PASS*
RSALTDD1='STOLEN*CONTIG LT 2G*LNGTRMDORM*PASS 1='
RSALTDD2='STOLEN*CONTIG LT 2G*LNGTRMDORM*PASS 2='
RSALTDDE='STOLCONTIG LT 2G*LNGTRMDORM EMERG*PASS='
RSARESAC='RESIDENT*PTRM PAGES GT 2G='
RSARESBC='RESIDENT*PTRM PAGES LT 2G='
RSASHRA1='STOLEN*GT 2G*SHARED*PASS 1=' ='
RSASHRA2='STOLEN*GT 2G*SHARED*PASS 2='
RSASHRAE='STOLEN*GT 2G*SHARED EMERG*PASS='
RSASHRB1='STOLEN*LT 2G*SHARED*PASS 1='
RSASHRB2='STOLEN*LT 2G*SHARED*PASS 2='
RSASHRBE='STOLEN*LT 2G*SHARED EMERG*PASS='
RSASHRC1='STOLEN*CONTIG GT 2G*SHARED*PASS 1*='/
RSASHRC2='STOLEN*CONTIG GT 2G*SHARED*PASS 2*='/
RSASHRCE='STOLEN*CONTIG GT 2G*SHARED EMERG*PASS='
RSASHRD1='STOLEN*CONTIG LT 2G*SHARED*PASS 1*='/
RSASHRD2='STOLEN*CONTIG LT 2G*SHARED*PASS 2*='/
RSASHRDE='STOLEN*CONTIG LT 2G*SHARED EMERG*PASS='
-Dataset VXSYTRSP (0.4) new variables (added in 5.3):
PLSALECG='TIMES WHEN*GT 2G*CONTIG LIST*EMPTY'
PLSALECL='TIMES WHEN*LT 2G*CONTIG LIST*EMPTY'
PLSALEMG='TIMES WHEN*AVAIL GT 2G*LIST EMPTY'
PLSGCLEM='TIMES WHEN*GLOBAL*CLEAR LIST*EMPTY'
PLSMVABV='TIMES WHEN*PAGE LT 2G*MOVED GT 2G'
PLSMVB2G='PAGE TRANS*MOVED GT 2G*TO LT 2G'
-Dataset VXSYTSCG (0.10) new variables (added by 5.3):
SRME0ETF='ELAPSED*TIME*SLICE*TIME FACTOR'
-Dataset VXSYTCOM (0.11) new variables (added by 5.3):
PLSISEAS='TIMES WHEN*XFER*FROM*ASYNCMD*TO A VM'
PLSISESC='TIMES WHEN*XFER*FROM*SCLP*TO A VM'
PLSISEVE='TIMES WHEN*XFER*FROM*VMEVENT*TO A VM'
PLSISEVS='TIMES WHEN*XFER*FROM*VSWITCH*TO A VM'
PLSISTAS='TIMES WHEN*TRANSFER*TO*ASYNCMD'
PLSISTSC='TIMES WHEN*TRANSFER*TO*SCLP'
PLSISTVE='TIMES WHEN*TRANSFER*TO*VMEVENT'
PLSISTVS='TIMES WHEN*TRANSFER*TO*VSWITCH'
PLSISUAS='TIMES WHEN*FROM ASYNCMD*NOT*XFERED'
PLSISUSC='TIMES WHEN*FROM SCLP*NOT*XFERED'
PLSISUVE='TIMES WHEN*FROM VMEVENT*NOT*XFERED'
PLSISUVS='TIMES WHEN*FROM VSWITCH*NOT XFERED'
-Dataset VXSYTUWT (0.12) new variables in 5.4:
CALCFICF='VMDBKS*DSP LIST*WAIT ICF*CONSOLE*FUNCTON*/
CALCRICF='VMDBKS*DSP LIST*RUNNING*ON REAL ICF*/
CALCWICF='VMDBKS*DSP LIST*WAIT ICF*CPU WAIT*/
CALLLICF='VMDBKS*DSP LIST*WAIT ICF*MAX SHARE DELAY*/
CALSWICF='VMDBKS*DSP LIST*WAIT ICF*SIMULATE*WAIT*/
-Dataset VXSYTSCP (0.13) new variables (added by 5.3):
PLXCPUTH='CPU*TYPE'
PLSDSPCN='TIME WHEN*DSP LOOPED*200 TIMES'
-Dataset VXSYTSCP (0.14) new variables in 5.4:
TCMPINVA='PAGE FAULTS*RESOLVED*NO-4K*CASE'
TCMSTKEX='CPEBK*DEFERRED*WRITES'
TCMSTKPF='CPEBK*DEFERRED*PAGE FAULT*PRIORITY'
-Dataset VXSYTSYG (0.19) new variables in 5.4:
MAIMISS ='MISSING*ADAPTER*INTERRUPTIONS'
MAIUREC ='UNRECOVERABLE*ADAPTER*INTERRUPTIONS'
-Dataset VXSYTSXG (0.21) new variables (added in 5.3):
RSARSVSY='TOTAL*RESERVED*PAGES'
RSASXACT='SYS EXEC SPACE*BACKED*GT 2G*AVAIL Q'
RSASXALI='SYS EXEC SPACE*ALIAS*FRMTES*PAGES'
RSASXAVL='SYS EXEC SPACE*AVAILABLE*PAGES'
RSASXBCT='SYS EXEC SPACE*BACKED*LT 2G*AVAIL Q'
RSASXBKA='SYS EXEC SPACE*BACKED*GT 2G*PAGES'
RSASXBKB='SYS EXEC SPACE*BACKED*LT 2G*PAGES'
RSASXCLA='SYS EXEC SPACE*ALIAS*LOCKED*PAGES'
RSASXNOP='SYS EXEC SPACE*ALIAS*NO-OWNED*PAGES'
RSASXQCT='SYS EXEC SPACE*UNBLOCKED*AVAIL*PAGES'
RSASXUCP='SYS EXEC SPACE*INUSE*AS CP*PAGES'
RSASXUFG='SYS EXEC SPACE*BACKING*GT 2G*PAGES'
RSASXUFS='SYS EXEC SPACE*LT 2G*PAGES'
RSASXUID='SYS EXEC SPACE*ID-MAPPED*PAGES'
RSASXUSD='SYS EXEC SPACE*INUSE*DEFERRED*PAGES'
SXSSIZE ='SYS EXEC SPACE*SIZE IN*PAGES'
-Dataset VXSYTSXP (0.22) now supported (added in 5.3):
PFXCPUAD='PROCESSOR*ADDRESS'
PFXCPUTY='CPU TYPE'
PLSSPFSC='HCPSXPFS*CALLS'
PLSSPGCC='CONTIG*SYS EXEC SPACE*GT 2*PAGE REQUESTS'
PLSSPGCT='CONTIG*SYS EXEC SPACE*GT 2*GIVEN OUT'
PLSSPGFC='FREE STORAGE*PAGES*GIVEN OUT'
PLSSPGPC='SINGLE*NON-CONTIGUOUS*PAGES*GIVEN OUT'
PLSSPRCC='CONTIG*SYS EXEC SPACE*GT 2*RETURNS'
PLSSPRCT='CONTIG*SYS EXEC SPACE*GT 2*RETURNED FOR'
PLSSPRFC='FREE STORAGE*PAGES*RETURNED'
PLSSPRPC='SINGLE*NON0CONTIG*PAGES*RETURNED'
PLSSPRQC='SYS EXEC SPACE*RETURNS*OF QUEUES'
PLSSPRQT='SYS EXEC SPACE*RETURNS*VIA QUEUES'
PLSSXACC='CREATE*ALIAS*REQUESTS'
PLSSXAQC='QUEUE*SXSTE*REQUESTS*TO REQUEUE'
PLSSXARC='REMOVE*ALIAS*REQUESTS'
PLSSXREP='AVAILABLE*REPLENISHMENTS*ATTEMPTED'
-Dataset VXSYTSLCK(0.23) now supported (added in 5.3):
CALLCKID='IDENTIFIER*FOR THIS*LOCK'
CALSSCNT='TIMES LOCK*SPUN FOR*SHARED*MODE'
CALSTIME='ELAPSED*SPIN TIME*FOR*SHARED*MODE'
CALXSCNT='TIMES LOCK*SPUN FOR*EXCLUSIVE MODE'
CALXTIME='ELAPSED*SPIN TIME*FOR*EXCLUSIVE'
-Dataset VXSYTSXP (0.24) now supported (added in 5.3):
CALTYPE ='PROCESSOR*TYPE'
SRXABSDL='ABSOLUTE*SHARES*DSPLIST*VMDBKS'
SRXATOD ='ARTIFICIAL*TOD*SYSTEM*RUNNING'
SRXATOD2='ARTIFICIAL*TOD2*USER TIME*AND CPU WAIT'
SRXCONLL='USERS*ACTUALLY*ON LIMIT*LIST'
SRXLLCNT='ADDS*TO THE*LIMIT*LIST'
SRXRELDL='TOTAL*RELATIVE*SHARES*DSPLIST*VMDBKS'
-Dataset VXMTRSYS (1.4) new variable in 5.4:
SYSCMODE='PROCESSOR*CONFIGURATION*MODE'
-Dataset VXMTRDEV (1.6) new variables (added by 5.3):
CDVFLAGS='CALDEVFLAGS'
DVPTHCN1='EDEVPATHCONN 1'
DVPTHCN2='EDEVPATHCONN 2'
DVPTHCN3='EDEVPATHCONN 3'
DVPTHCN4='EDEVPATHCONN 4'
DVPTHCN5='EDEVPATHCONN 5'
DVPTHCN6='EDEVPATHCONN 6'
DVPTHCN7='EDEVPATHCONN 7'
DVPTHCN8='EDEVPATHCONN 8'
EDEVATTR='EDEV ATTRIBUTES
EDEVTABL='SCSI*DISK*ATTRIB*TABLE NAME'
PREFPATH='PREFERRED PATH MASK
RDEVHPPL='HYPERPAV POOL NUMBER
-Dataset VXMTRMEM (1.7) new variables added (by 5.3):
PFXFTLEN='FRAME*TABLE*LENGTH'
PFXSTLEN='SYS EXEC SPACE*MGMT TABLE*LENGTH'
RSAFNOTI='NOT*INITIALIZED*FRAMES GT 2G'
RSAGOFFL='OFFLINE*FRAMES*GT 2G'
RSALGFRM='USEABLE*FRAMES*GT 2G'
SXSSIZE ='SYS EXEC SPACE*SIZE IN*PAGES'
-Dataset VXMTRMEM (1.7) new variables added by 5.4:
SYSGSTBY='STANDBY*REAL*STORAGE*SIZE'
SYSGSTRS='RESERVED*REAL*STORAGE*SIZE'
-Dataset VXMTRUSR (1.15) new variables in 5.4
CALCPCT ='GUEST*DEFINED*CP*CPUS'
CALICFCT='GUEST*DEFINED*ICF*CPUS'
CALIFLCT='GUEST*DEFINED*IFL*CPUS'
CALZAPCT='GUEST*DEFINED*ZAAP*CPUS'
CALZIPCT='GUEST*DEFINED*ZIIP*CPUS'
CPHABSSH='CP*ABSOLUTE*SHARE*SETTING'
CPHFLG1 ='CP*SHARE*FLAGS'
CPHMXSHR='CP*MAX*SHARE*SETTING'
CPHRELSH='CP*RELATIVE*SHARE*SETTING'
ICHABSSH='ICF*ABSOLUTE*SHARE*SETTING'
ICHFLG1 ='ICF*SHARE*FLAGS'
ICHMXSHR='ICF*MAX*SHARE*SETTING'
ICHRELSH='ICF*RELATIVE*SHARE*SETTING'
IFHABSSH='IFL*ABSOLUTE*SHARE*SETTING'
IFHFLG1 ='IFL*SHARE*FLAGS'
IFHMXSHR='IFL*MAX*SHARE*SETTING'
IFHRELSH='IFL*RELATIVE*SHARE*SETTING'
VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
VMDPUST ='CPU*STATUS*FLAG'
ZAHABSSH='ZAAP*ABSOLUTE*SHARE*SETTING'
ZAHFLG1 ='ZAAP*SHARE*FLAGS'
ZAHMXSHR='ZAAP*MAX*SHARE*SETTING'
ZAHRELSH='ZAAP*RELATIVE*SHARE*SETTING'
ZIHABSSH='ZIIP*ABSOLUTE*SHARE*SETTING'
ZIHFLG1 ='ZIIP*SHARE*FLAGS'
ZIHMXSHR='ZIIP*MAX*SHARE*SETTING'
ZIHRELSH='ZIIP*RELATIVE*SHARE*SETTING'
-Dataset VXSCLADL (2.04) new variables added by 5.3:
SRXABSDL='ABSOLUTE*SHARES*DSPLIST*VMDBKS'
SRXATOD ='ARTIFICIAL*TOD*SYSTEM*RUNNING'
SRXATOD2='ARTIFICIAL*TOD2*USER TIME*AND CPU WAIT'
SRXCONLL='USERS*ACTUALLY*ON LIMIT*LIST'
SRXLLCNT='ADDS*TO THE*LIMIT*LIST'
SRXRELDL='TOTAL*RELATIVE*SHARES*DSPLIST*VMDBKS'
VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
VMDPUST ='CPU*STATUS*FLAG'
VMDTTMP ='USER*VTIME AND*SIMTIME*ON PRIMARY'
VMDTTMS ='USER*VTIME AND*SIMTIME*ON SECONDARY'
VMDVTMP ='USER*VTIME ON*PRIMARY*PROCESSOR'
VMDVTMS ='USER*VTIME ON*SECONDARY*PROCESSOR'
-Dataset VXSCLDDL (2.05) new variables added by 5.3:
VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
VMDPUST ='CPU*STATUS*FLAG'
VMDTTMP ='USER*VTIME AND*SIMTIME*ON PRIMARY'
VMDTTMS ='USER*VTIME AND*SIMTIME*ON SECONDARY'
VMDVTMP ='USER*VTIME ON*PRIMARY*PROCESSOR'
VMDVTMS ='USER*VTIME ON*SECONDARY*PROCESSOR'
-Dataset VXSCLAEL (2.06) new variables added by 5.3:
VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
VMDPUST ='CPU*STATUS*FLAG'
-Dataset VXSTORSG (3.01) new variables added by 5.3:
CALSSUBG='GT 2G*BLOCKS*FREE STORAGE*SUBPOOL*LIST'
RSA2GDCT='REQUESTS*AWAIT*ANY AVAILABLE*FRAME'
RSAAFSDB='LT 2G*HOST LOGICAL*ALIGNED*FREE STORAGE'
RSAAFSDW='GT 2G*HOST LOGICAL*ALIGNED*FREE STORAGE'
RSAAFSIB='LT 2G*HOST LOGICAL*ALIGNED*IN USE*BACKED'
RSAAFSIU='GT 2G*HOST LOGICAL*ALIGNED*IN USE*BACKED'
RSAALFMF='HCPALFMF*FREXSCAN*FRAMES*SCANNED'
RSAAVCHG='GT 2G CONTIG AVAIL LIST HI THRESH'
RSAAVCHT='LT 2G CONTIG AVAIL LIST HI THRESH'
RSAAVCLG='GT 2G CONTIG AVAIL LIST LOW THRES'
RSAAVCLT='LT 2G CONTIG AVAIL LIST LOW THRES'
RSAAVLHG='GT 2G*SINGLE FRAME*AVAIL*HIGH*THRESHOLD'
RSAAVLLG='GT 2G*SINGLE FRAME*AVAIL*LOW*THRESHOLD'
RSABLKGC='TASKS REQUESTING*OR DEFERRED*RSABLKGF'
RSACALLT='LOW THRESH*NON-NEGATIVE*FRMTES*NOT FREQUENT'
RSACALMT='MID THRESH*NON-NEGATIVE*FRMTES'
RSACALUT='UP THRES: NON-NEGATIVE*TARGET*FRMTES'
RSACPLKG='GT 2G*LOCKED*FRAMES*BY CP LOCK'
RSAEMBLO='TIMES*POOL BELOW*RSAEMLO'
RSAEMCPC='PGMBKS IN*EMERGENCY*POOL'
RSAEMDFR='TIMES*GUEST*DEFERRED*FOR EMERGENCY'
RSAEMERG='TIMES REQUEST*FOR*EMERGENCY*POOL'
RSAEMHI ='HI THRESH*EMERGENCY*PGMBK POOL'
RSAEMLO ='LOW THRESH*EMERGENCY*PGMBK POOL'
RSAEMPTY='TIMES*POOL*WENT*EMPTY'
RSAFRQDF='DEFERRED MULTIPLE FRAME REQUESTS'
RSAFRQDL='DELAYED*MULTIPLE*FRAME*REQUESTS'
RSAFRQMW='TASKS*ATTEMPTING*MULTIPLE*FRAMES*PGMBKS'
RSAFRQWT='LT 2G DEFERRED REQUESTS*NONE AVAIL'
RSAFRRDA='LT 2G*ATTEMPTS*TO REDRIVE*TASKS'
RSAFRRDC='LT 2G*REDRIVED*PERFORMED'
RSAFVMUB='LT 2G*VMDBK FREE STORAGE*IN USE'
RSAFVMUD='GT 2G*VMDBK FREE STORAGE*IN USE'
RSANOLKA='NO-OWNED*LOCKED PAGES*ABSOLUTE*STORAGE'
RSANOLKL='NO-OWNED*LOCKED PAGES*HOST LOCAL*STORE'
RSANPGCT='CONSECUTIVE*SXPFS*FAILURES'
RSANPGHI='HWM*CONSECUTIVE*SXPFS*FAILURES'
RSAPLPCB='PROCESSORS*LOOPING*IN HCPFRFGP*LT 2G'
RSAPLPCT='PROCESSORS*LOOPING*IN HCPFRFGP*GT 2G'
RSAPPTCS='ALB/TLB PURGES USING CSP'
RSAPPTPF='ALB/TLB*PURGES*FINISHED PRIOR TO'
RSAPPTPS='ALB/TLB*PURGES*PRIOR TO*ENTERING WAIT
RSARSVSY='PAGES*RESERVED*PER*PROCESSOR'
RSASTLWT='LT 2G*AVAIL LIST*REPLENISH*STEAL WRITES'
RSASWG2G='GT 2G*AVAIL LIST*REPLENISH*STEAL WRITES'
RSASWP2G='GT 2G REPLENIS*PAGE WRITES*TO DASE'
RSASWPWT='LT 2G REPLENIS*PAGE WRITES*TO DASE'
RSASXCLA='LOCKED*SYSEXSP*ALIAS*LOGICAL*IN LOGICAL'
RSASXCPL='LOCKED*SYSEXSP*ALIAS*LOGICAL*VIA CP LOCK'
RSASXNOP='NO-OWNED*SYS EXEC SPACE*ALIASES'
RSASYSFB='LT 2G*PAGES*IN USE FOR*SYSTEM*FREE STORE'
RSASYSFR='GT 2G*PAGES*IN USE FOR*SYSTEM*FREE STORE'
RSASYSUB='LT 2G*IN USE*SYSTEM*FREE STORAGE'
RSASYSUD='GT 2G*IN USE*SYSTEM*FREE STORAGE'
RSAVCBDB='LT 2G*VERIFIABLE*FREE*STORAGE*BACKED'
RSAVCBDW='GT 2G*VERIFIABLE*FREE*STORAGE*BACKED'
RSAVCBIB='LT 2G*VERIFIABLE*IN USE*FREE STORAGE'
RSAVCBIU='GT 2G*VERIFIABLE*IN USE*FREE STORAGE'
RSAVFSDW='VIRTUAL*FREE*STORAGE'
RSAVFSIU='VIRTUAL*FREE*STORAGE*IN USE'
RSAVMXFB='LT 2G*PAGES*USER FREE*IN USE'
RSAVMXFR='GT 2G*VMDBK*USER FREE*PAGES*ALLOCATED'
RSAVMXUB='LT 2G*IN USE*USER FREE*STORAGE'
RSAVMXUD='GT 2G*IN USE*USER FREE*STORAGE'
-Dataset VXSTOSHR (3.03) new variables added by 5.3:
ASCCTPRG='GT 2G*RESIDENT*PAGES'
ASCHLLC ='PAGES LOCKED*HOST LOG STORE'
ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
-Dataset VXSTOXSG (3.09) new variables added by 5.4:
XSTCTPGM='PGMBKS*SELECTED*WHILE*MIGRATING'
XSTMAXCT='TIMES*TARGET TIME*IS LOWERED'
XSTRHICT='TIMES*MIGRATE*THRES*BUFFER*DECREASED'
XSTRLOCT='TIMES*MIGRATE*THRES*BUFFER*INCREASED'
XSTUSRCY='NON-DORM*GUEST OWNED*ASIDS*MIGR TARGETS'
XSTUSRDM='DORM*GUEST OWNED*ASIDS*MIGR*TARGETS'
-Dataset VXSTOASI (3.14) new variables added by 5.3:
ASCCTPLK='GT 2G*PAGES*LOCKED*BY THIS*ASID'
ASCCTPRG='GT 2G*RESIDENT*PAGES*FOR ASID'
ASCHLLC ='PAGES LOCKED*IN HOST*LOGICAL*STORAGE'
ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
-Dataset VXSTOSCS (3.18) new variables added by 5.3:
CURRENT ='CURRENTLY*ALLOCATED*SUBPOOL*SIZE'
FREEF ='FAILED*FREE()*CALLS TO*SUBPOOL'
FREES ='FREE()*CALLS TO*SUBPOOL'
FRXPLEN ='SCSI*SUBPOOL*SIZE'
FRXROOT ='SSSI*SUBPOOL*ADDRESS'
MALLOC ='MALLOC()*CALLS TO*SUBPOOL'
MALLOCF ='FAILED*MALLOC()*CALLS TO*SUBPOOL'
MAXALLOC='HIGH WATER MARK*BYTES*ALLOCATED'
POOLNAME='POOL*NAME'
-Dataset VXSTOSXG (3.19) new variables added by 5.3:
RSASXAMX='GT 2G*MAX PAGES*BACKED'
RSASXBMX='LT 2G*MAX PAGES*BACKED'
RSASXCPL='SYSEXECSP*LOCKED*ALIAS*CP LOCK'
RSASXCTG='SYSEXECSP*IN USE*PAGES*CONTIG*REQ'
RSASXDCA='SYSEXECSP*CREATE*ALIAS*NOW DEFERRED'
RSASXDCT='SYSEXECSP*PAGE REQUESTS*NOW DEFERRED'
RSASXDFA='SYSEXECSP*PAGE REQUESTS*DEFERRED*ANY'
RSASXDFB='SYSEXECSP*LT 2G*REQUESTS*DEFERRED NOW'
RSASXDPA='SYSEXECSP*WITH BACKING*NOW DEFERRED'
RSASXDPB='SYSEXECSP*LT 2G*CURRENTLY*DEFERRED'
RSASXPCT='SYSEXECSP*POTENTIAL*STEALABLE*QUEUE'
RSASXQMN='THRESH*TRIGGER*REPLACEMENT*UNBACKED'
RSASXQRA='ALIASES*STOLEN*DURING*SINGLE*REPLEN'
RSASXRDA='ATTEMPTS*TO REDRIVE*TASKS*WAITING'
RSASXRDC='INDIVIDUAL*TASK*REDRIVES'
RSASXRPM='MIN NUMBER*ON UNBACKED*SXS PAGE QUEUE'
RSASXUOT='OTHER*CP*TYPE*PAGES'
-Dataset VXSTOSXP (3.20) new variables added by 5.3:
PFXCPUAD='PROCESSOR*ADDRESS'
PFXCPUTY='CPU*TYPE'
PLSSAPUC='GT 2G*AVAIL BACKED*WAS PREFERRED*AND USED'
PLSSAQMT='GT 2G*AVAIL BACKED*WAS PREFERRED*BUT EMPTY'
PLSSARTC='GT 2G*PAGES RETURNED TO*BACKED*AVAIL QUEUE'
PLSSATKC='GT 2G*TAKEN FROM*BACKED*AVAIL QUEUE'
PLSSBPUC='LT 2G*AVAIL BACKED*WAS PREFERRED*AND USED'
PLSSBQMT='LT 2G*AVAIL BACKED*WAS PREFERRED*BUT EMPTY'
PLSSBRTC='LT 2G*PAGES RETURNED TO*BACKED*AVAIL QUEUE'
PLSSBTKC='LT 2G*TAKEN FROM*BACKED*AVAIL QUEUE'
PLSSPDQC='HCPFRFDQ*CALLS*TO RELEASE*A PAGE'
PLSSPGBD='LT 2G*PAGE REQUEST*DEFERRED*ON FRAME'
PLSSPGFD='PAGE REQUESTS*DEFERED*ANY FRAME'
PLSSPGPD='PAGE REQUESTS*DEFERRED*ON PAGE'
PLSSPNDF='NON-DEFERRABLE*REQUESTS*FAILED*FRAME LACK'
PLSSPNDP='NON-DEFERRABLE*REQUESTS*FAILED*PAGE LACK'
PLSSUPUC='TIMES*AVAIL UNBACKED*WAS PREFERRED*AND USED'
PLSSUQMT='TIMES*AVAIL UNBACKED*WAS PREFERRED*BUT EMPTY'
PLSSURTC='PAGES*RETURNED TO*UNBACKED*AVAIL QUEUE'
PLSSUTKC='PAGES*TAKEN FROM*UNBACKED*AVAIL QUEUE'
PLSSXADC='LOCKED*ALIASES*DEQUEUED'
PLSSXAFC='NON-DEFERABLE*ALIAS*REQUEST*NOT FULFILLED'
PLSSXALD='CREATE*ALIAS*REQUESTS*DEFERRED'
PLSSXALS='ALIAS*STEALS*FROM POTENTIAL*AVAIL WAS EMPTY'
PLSSXASC='ALIAS STOLEN'
PLSSXCSP='CSP INSTRUCTIOS*TO INVALIDATE'
PLSSXIPC='IPTE INSTRUCTIONS*TO INVALIDATE'
PLSSXNST='RSASXNST*FLAG*TURN ONS'
-Dataset VXUSELON (4.01) and dataset VXUSELOF new
variables added by 5.4:
CPHABSSH='CP*ABSOLUTE*SHARE*SETTING'
CPHFLG1 ='CP*SHARE*FLAGS'
CPHMXSHR='CP*MAX*SHARE*SETTING'
CPHRELSH='CP*RELATIVE*SHARE*SETTING'
ICHABSSH='ICF*ABSOLUTE*SHARE*SETTING'
ICHFLG1 ='ICF*SHARE*FLAGS'
ICHMXSHR='ICF*MAX*SHARE*SETTING'
ICHRELSH='ICF*RELATIVE*SHARE*SETTING'
IFHABSSH='IFL*ABSOLUTE*SHARE*SETTING'
IFHFLG1 ='IFL*SHARE*FLAGS'
IFHMXSHR='IFL*MAX*SHARE*SETTING'
IFHRELSH='IFL*RELATIVE*SHARE*SETTING'
ZAHABSSH='ZAAP*ABSOLUTE*SHARE*SETTING'
ZAHFLG1 ='ZAAP*SHARE*FLAGS'
ZAHMXSHR='ZAAP*MAX*SHARE*SETTING'
ZAHRELSH='ZAAP*RELATIVE*SHARE*SETTING'
ZIHABSSH='ZIIP*ABSOLUTE*SHARE*SETTING'
ZIHFLG1 ='ZIIP*SHARE*FLAGS'
ZIHMXSHR='ZIIP*MAX*SHARE*SETTING'
ZIHRELSH='ZIIP*RELATIVE*SHARE*SETTING'
-Dataset VXUSEACT (4.03) new variables added by 5.4:
VMDCACHN='MINIDISK*CACHE*INSERTS'
VMDCTSTA='TIMES*CPU START*BY SIGP'
VMDCTSTO='TIMES*CPU STOP*BY SIGP'
VMDCUPGM='UNREFERENCED*PGMBKS*AT REORDER'
-Dataset VXUSEINT (4.04) new variables added by 5.4:
VMDCTSTA='TIMES*STARTED*BY SIGP'
VMDCTSTO='TIMES*STOPPED*BY SIGP'
-Dataset VXPRCAPC (5.09) new variables added by 5.3:
CRYNOFDQ='REAL*DQ*REQUESTS'
CRYNOFNQ='REAL*NQ*REQUESTS'
CRYNORPR='REAL*DQ*COMPLETIONS' (guess, mis-documented)
CRYNOVNQ='VIRTUAL*NQ*REQUESTS'
CRYNOVPC='VIRTUAL*DQ*COMPLETIONS'
CRYNOVPR='VIRTUAL*DQ*REQUESTS'
CRYNOWNQ='MESSAGES*WAITING*FOR NQ'
CRYNOXRN='REJECTED*REAL*NQ*REQUESTS'
CRYNOXVN='REJECTED*VIRTUAL*NQ*REQUESTS'
CRYRSERV='TIME FROM*REAL*NQ TO DQ'
CRYVSERV='TIME FROM*GUEST*NQ TO DQ'
-Dataset VXPRCINS (5.11) new variables added by 5.3:
PFXCPUAD='PROCESSOR*ADDRESS'
PLS0EPSW='EPSW*(B98D)'
PLS0ESEA='ESEA*(B99D)'
PLS0STFL='STFL*(B2B1)'
PLSBISAS='STAP*(B212)'
PLSBISBT='TB*(B22C)'
PLSBISCP='STIDP*(B202)'
PLSBISIU='IUCV*(B2F0)'
PLSBISPB='PTLB*(B20D)'
PLSBISSI='SIE*(B214)'
PLSBISST='STSI*(B27D)'
PLSBISTE='SCK*(B204)'
PLSBISXE='SPX*(B210)'
PLSBISXS='STPX*(B211)'
PLSCTCS ='REAL*CSCHS*EXECUTED'
PLSCTHS ='REAL*HSCHS*EXECUTED'
PLSCTRS ='REAL*RSCHS*EXECUTED.'
PLSCTSS ='REAL*SSCHS*EXECUTED.'
PLSESSA ='ESSA*(B9AB)'
PLSKEYIE='ISKE*(B229)'
PLSKEYIK='ISK*(09)'
PLSKEYRE='RRBE*(B22A)'
PLSKEYRR='RRB*(B213)'
PLSKEYSE='SSKE*(B22B)'
PLSKEYSK='SSK*(08)'
PLSLPSWE='LPSWE*(B2B2)'
PLSPCVSC='SERVC*(B220)'
PLSPRVGP='SIGP*(AE)'
PLSPRVLC='LCTL*(B7)'
PLSPRVLG='LCTLG*(EB2F)'
PLSPRVLP='LPSW*(82)'
PLSPRVMN='STNSM*(AC)'
PLSPRVMO='STOSM*(AD)'
PLSPRVMS='SSM*(80)'
PLSPRVSG='STCTG*(EB25)'
PLSPRVSV='SVC*(0A)'
PLSPRVTC='STCTL*(B6)'
PLSPRVTP='TPROT*(E501)'
PLSPRVVN='GUEST*SVC*76-S*REFLECTED'
PLSPTFF ='PTFF*(0104)'
PLSRSCHC='VIRTUAL*RSCHS*EXECUTED'
PLSSCKPF='SCKPF*(0107)'
PLSSIOCT='VIRTUAL*SIOS*EXECUTED'
PLSSIOFC='VIRTUAL*SIOFS*EXECUTED'
PLSSSCHC='VIRTUAL*SSCHS*EXECUTED'
PLSSTFLE='STFLE*(B2B0)'
PLSTCCC ='VIRTUAL*TEST AND CLEAR*CHANNELS'
PLSVIDTE='IDTE*(B98E)'
PLSVIESB='IESBE*(B259)'
PLSVPTNV='IPTE*(B221)'
PLSXPG5A='BSA*(B25A)'
PLSXPGIN='PGIN*(B22E)'
PLSXPGOU='PGOUT*(B22F)'
-Dataset VXPRCDIA (5.12) new variables added by 5.3:
PFXCPUAD='PROCESSOR*ADDRESS'
PLSDG200='DIAGNOSE*X200'
PLSDG204='DIAGNOSE*X204'
PLSDG208='DIAGNOSE*X208'
PLSDG20C='DIAGNOSE*X20C'
PLSDG210='DIAGNOSE*X210'
PLSDG214='DIAGNOSE*X214'
PLSDG218='DIAGNOSE*X218'
PLSDG21C='DIAGNOSE*X21C'
PLSDG220='DIAGNOSE*X220'
PLSDG224='DIAGNOSE*X224'
PLSDG228='DIAGNOSE*X228'
PLSDG22C='DIAGNOSE*X22C'
PLSDG230='DIAGNOSE*X230'
PLSDG234='DIAGNOSE*X234'
PLSDG238='DIAGNOSE*X238'
PLSDG23C='DIAGNOSE*X23C'
PLSDG240='DIAGNOSE*X240'
PLSDG244='DIAGNOSE*X244'
PLSDG248='DIAGNOSE*X248'
PLSDG24C='DIAGNOSE*X24C'
PLSDG250='DIAGNOSE*X250'
PLSDG254='DIAGNOSE*X254'
PLSDG258='DIAGNOSE*X258'
PLSDG25C='DIAGNOSE*X25C'
PLSDG260='DIAGNOSE*X260'
PLSDG264='DIAGNOSE*X264'
PLSDG268='DIAGNOSE*X268'
PLSDG26C='DIAGNOSE*X26C'
PLSDG270='DIAGNOSE*X270'
PLSDG274='DIAGNOSE*X274'
PLSDG278='DIAGNOSE*X278'
PLSDG27C='DIAGNOSE*X27C'
PLSDG280='DIAGNOSE*X280'
PLSDG284='DIAGNOSE*X284'
PLSDG288='DIAGNOSE*X288'
PLSDG28C='DIAGNOSE*X28C'
PLSDG290='DIAGNOSE*X290'
PLSDG294='DIAGNOSE*X294'
PLSDG298='DIAGNOSE*X298'
PLSDG29C='DIAGNOSE*X29C'
PLSDG2A0='DIAGNOSE*X2A0'
PLSDG2A4='DIAGNOSE*X2A4'
PLSDG2A8='DIAGNOSE*X2A8'
PLSDG2AC='DIAGNOSE*X2AC'
PLSDG2B0='DIAGNOSE*X2B0'
PLSDG2B4='DIAGNOSE*X2B4'
PLSDG2B8='DIAGNOSE*X2B8'
PLSDG2BC='DIAGNOSE*X2BC'
PLSDG2C0='DIAGNOSE*X2C0'
PLSDG2C4='DIAGNOSE*X2C4'
PLSDG2C8='DIAGNOSE*X2C8'
PLSDG2CC='DIAGNOSE*X2CC'
PLSDG2D0='DIAGNOSE*X2D0'
PLSDG2D4='DIAGNOSE*X2D4'
PLSDG2D8='DIAGNOSE*X2D8'
PLSDG2DC='DIAGNOSE*X2DC'
PLSDG2E0='DIAGNOSE*X2E0'
PLSDG2E4='DIAGNOSE*X2E4'
PLSDG2E8='DIAGNOSE*X2E8'
PLSDG2EC='DIAGNOSE*X2EC'
PLSDG2F0='DIAGNOSE*X2F0'
PLSDG2F4='DIAGNOSE*X2F4'
PLSDG2F8='DIAGNOSE*X2F8'
PLSDG2FC='DIAGNOSE*X2FC'
PLSDG300='DIAGNOSE*X300'
PLSDG304='DIAGNOSE*X304'
PLSDG308='DIAGNOSE*X308'
PLSDG30C='DIAGNOSE*X30C'
PLSDG310='DIAGNOSE*X310'
PLSDG314='DIAGNOSE*X314'
PLSDG318='DIAGNOSE*X318'
PLSDG31C='DIAGNOSE*X31C'
PLSDG320='DIAGNOSE*X320'
PLSDG324='DIAGNOSE*X324'
PLSDG328='DIAGNOSE*X328'
PLSDG32C='DIAGNOSE*X32C'
PLSDG330='DIAGNOSE*X330'
PLSDG334='DIAGNOSE*X334'
PLSDG338='DIAGNOSE*X338'
PLSDG33C='DIAGNOSE*X33C'
PLSDG340='DIAGNOSE*X340'
PLSDG344='DIAGNOSE*X344'
PLSDG348='DIAGNOSE*X348'
PLSDG34C='DIAGNOSE*X34C'
PLSDG350='DIAGNOSE*X350'
PLSDG354='DIAGNOSE*X354'
PLSDG358='DIAGNOSE*X358'
PLSDG35C='DIAGNOSE*X35C'
PLSDG360='DIAGNOSE*X360'
PLSDG364='DIAGNOSE*X364'
PLSDG368='DIAGNOSE*X368'
PLSDG36C='DIAGNOSE*X36C'
PLSDG370='DIAGNOSE*X370'
PLSDG374='DIAGNOSE*X374'
PLSDG378='DIAGNOSE*X378'
PLSDG37C='DIAGNOSE*X37C'
PLSDG380='DIAGNOSE*X380'
PLSDG384='DIAGNOSE*X384'
PLSDG388='DIAGNOSE*X388'
PLSDG38C='DIAGNOSE*X38C'
PLSDG390='DIAGNOSE*X390'
PLSDG394='DIAGNOSE*X394'
PLSDG398='DIAGNOSE*X398'
PLSDG39C='DIAGNOSE*X39C'
PLSDG3A0='DIAGNOSE*X3A0'
PLSDG3A4='DIAGNOSE*X3A4'
PLSDG3A8='DIAGNOSE*X3A8'
PLSDG3AC='DIAGNOSE*X3AC'
PLSDG3B0='DIAGNOSE*X3B0'
PLSDG3B4='DIAGNOSE*X3B4'
PLSDG3B8='DIAGNOSE*X3B8'
PLSDG3BC='DIAGNOSE*X3BC'
PLSDG3C0='DIAGNOSE*X3C0'
PLSDG3C4='DIAGNOSE*X3C4'
PLSDG3C8='DIAGNOSE*X3C8'
PLSDG3CC='DIAGNOSE*X3CC'
PLSDG3D0='DIAGNOSE*X3D0'
PLSDG3D4='DIAGNOSE*X3D4'
PLSDG3D8='DIAGNOSE*X3D8'
PLSDG3DC='DIAGNOSE*X3DC'
PLSDG3E0='DIAGNOSE*X3E0'
PLSDG3E4='DIAGNOSE*X3E4'
PLSDG3E8='DIAGNOSE*X3E8'
PLSDG3EC='DIAGNOSE*X3EC'
PLSDG3F0='DIAGNOSE*X3F0'
PLSDG3F4='DIAGNOSE*X3F4'
PLSDG3F8='DIAGNOSE*X3F8'
PLSDG3FC='DIAGNOSE*X3FC'
PLSDGUCT='ALL*USER*DIAGNOSE*OPERATIONS*/
PLSDGX00='DIAGNOSE*X00'
PLSDGX04='DIAGNOSE*X04'
PLSDGX08='DIAGNOSE*X08'
PLSDGX0C='DIAGNOSE*X0C'
PLSDGX10='DIAGNOSE*X10'
PLSDGX14='DIAGNOSE*X14'
PLSDGX18='DIAGNOSE*X18'
PLSDGX1C='DIAGNOSE*X1C'
PLSDGX20='DIAGNOSE*X20'
PLSDGX24='DIAGNOSE*X24'
PLSDGX28='DIAGNOSE*X28'
PLSDGX2C='DIAGNOSE*X2C'
PLSDGX30='DIAGNOSE*X30'
PLSDGX34='DIAGNOSE*X34'
PLSDGX38='DIAGNOSE*X38'
PLSDGX3C='DIAGNOSE*X3C'
PLSDGX40='DIAGNOSE*X40'
PLSDGX44='DIAGNOSE*X44'
PLSDGX48='DIAGNOSE*X48'
PLSDGX4C='DIAGNOSE*X4C'
PLSDGX50='DIAGNOSE*X50'
PLSDGX54='DIAGNOSE*X54'
PLSDGX58='DIAGNOSE*X58'
PLSDGX5C='DIAGNOSE*X5C'
PLSDGX60='DIAGNOSE*X60'
PLSDGX64='DIAGNOSE*X64'
PLSDGX68='DIAGNOSE*X68'
PLSDGX6C='DIAGNOSE*X6C'
PLSDGX70='DIAGNOSE*X70'
PLSDGX74='DIAGNOSE*X74'
PLSDGX78='DIAGNOSE*X78'
PLSDGX7C='DIAGNOSE*X7C'
PLSDGX80='DIAGNOSE*X80'
PLSDGX84='DIAGNOSE*X84'
PLSDGX88='DIAGNOSE*X88'
PLSDGX8C='DIAGNOSE*X8C'
PLSDGX90='DIAGNOSE*X90'
PLSDGX94='DIAGNOSE*X94'
PLSDGX98='DIAGNOSE*X98'
PLSDGX9C='DIAGNOSE*X9C'
PLSDGXA0='DIAGNOSE*XA0'
PLSDGXA4='DIAGNOSE*XA4'
PLSDGXA8='DIAGNOSE*XA8'
PLSDGXAC='DIAGNOSE*XAC'
PLSDGXB0='DIAGNOSE*XB0'
PLSDGXB4='DIAGNOSE*XB4'
PLSDGXB8='DIAGNOSE*XB8'
PLSDGXBC='DIAGNOSE*XBC'
PLSDGXC0='DIAGNOSE*XC0'
PLSDGXC4='DIAGNOSE*XC4'
PLSDGXC8='DIAGNOSE*XC8'
PLSDGXCC='DIAGNOSE*XCC'
PLSDGXD0='DIAGNOSE*XD0'
PLSDGXD4='DIAGNOSE*XD4'
PLSDGXD8='DIAGNOSE*XD8'
PLSDGXDC='DIAGNOSE*XDC'
PLSDGXE0='DIAGNOSE*XE0'
PLSDGXE4='DIAGNOSE*XE4'
PLSDGXE8='DIAGNOSE*XE8'
PLSDGXEC='DIAGNOSE*XEC'
PLSDGXF0='DIAGNOSE*XF0'
PLSDGXF4='DIAGNOSE*XF4'
PLSDGXF8='DIAGNOSE*XF8'
PLSDGXFC='DIAGNOSE*XFC'
PLSTOTDI='ALL Z/VM*DEFINED*DIAGNOSE*OPERATIONS*/
-Dataset VXIODDEV (6.03) new variables added by 5.3:
PAVCC3S ='INITIAL*CMR*TIME'
-Dataset VXVNDSES (8.01) new variables added by 5.3:
MSVCMAC ='VDEV*MAC*ADDRESS'
-Dataset VXAPLTC1 (10.01) TCP/IP SUBTYPE '01' added:
FORNIPV6='FOREIGN*IP*ADDRESS*IPV6'
LOCLIPV6='LOCAL*IP*ADDRESS*IPV6'
-Dataset VXAPLTC4 (10.02) TCP/IP SUBTYPE '04' added:
FPSPAV2G='FPSP*AVAILABLE*LOCKED PAGES*GT 2G'
FPSPALUS='FPSP*ALLOCATED*LOCKED PAGES*GT 2G'
-Dataset VXAPLTC9 (10.02) TCP/IP SUBTYPE '09' added:
ACBSSC00='PROCESS 00*ACBS SCHEDULED'
ELAPSE00='PROCESS 00*ELAPSED TIME ACB'
VIRTCP00='PROCESS 00*VIRTUAL CPU TIME ACB'
ELAPSM00='PROCESS 00*MAXIMUM ELAPSED TIME ACB'
VIMXCP00='PROCESS 00*MAXIMUM VIRTUAL CPU TIME ACB'
thru
ACBSSC80='PROCESS 80*ACBS SCHEDULED'
ELAPSE80='PROCESS 80*ELAPSED TIME ACB'
VIRTCP80='PROCESS 80*VIRTUAL CPU TIME ACB'
ELAPSM80='PROCESS 80*MAXIMUM ELAPSED TIME ACB'
VIMXCP80='PROCESS 80*MAXIMUM VIRTUAL CPU TIME ACB'
for all 81 "Process Name Types".
UPDATES PENDED FOR ADDITIONAL IBM DOC/ASSISTANCE:
-Dataset VXPRCAPM (5.10) is skipped as the documentation
is insufficient. The PRCAPM segment does not contain
the CMB Entry Type, which sets the size of the CMB:
Entry type 3, 5, 6 are 64 bytes
Entry type 4 is 336 bytes
Entry type 6 is 80 bytes
plus
- the length of the variable data depends on the type
of AP (determined by the PRCAPM_CT field in the
CMB Header, and the number of APs installed,
But: neither that PRCAPM_CT fields, nor is the number
of APs in the PRCAPM segment in MONWRITE data.
Fortunately, the PRCAPM 5.10 segment only exists if
there are PCI Crypto Cards installed.
-Dataset VXAPLTC9 (10.02) SUBRECORD '09'X, TCP/IP ACB is
still not understood sufficiently for complete support.
All of the datasets listed above have been tested with
data from z/VM 5.4. There are a few other records that
have new data fields, but they did not exist in the test
files, so they won't be updated until a user request is
accompanied by test data with those segments.
Change 26.202 Creating RMFINTRV or BUILDPDB with //PDB DD on tape fails
VMXGRMFI because both PDB.TYPE78 and PDB.TYPE78IO were opened in a
Aug 30, 2008 VMXGSUM invocation, but PDB.TYPE78 has always had zero
Oct 15, 2008 observations (with 3090's or later), so it was removed
from that step. PDB.TYPE78 is still VMXGSUM'd separately
to create these PDB.RMFINTRV variables, always missing
values, but there so your old report programs won't fail:
NRATTMPS NRSAMPLE SIO78CNT PCTDEFCU PCTDEFDV
PCTSUCES PCTALLBY
Oct 15: Using PDB=SMF with %VMXGRMFI failed because the
_STY78 had been inadvertently removed.
Thanks to Jorge Fong, DOITT NYC, USA.
Thanks to Atle Mjelde, Ergo Group, NORWAY.
Change 26.201 Support for DB2 V9.1 (COMPAT) SMF 100/101 + new V8 data:
FORMATS
VMACDB2 WOW: New Z/OS metrics in PDB.DB2STATS are added to both
Aug 30, 2008 DB2 V8.1 (APAR PK47659) and DB2 V9.1 (APAR PK56356).
Sep 1, 2008 Both DB2 APARs also need RMF APAR PK62116 (which has
prereq APARs PK66373 and OA24404), and PK62116 has
these installation notes from IBM:
Please be aware that there can be situations when
the z/OS metrics don't get provided at all or only
partially in the DB2 trace. The reason for this
is that there are setup problems related to RMF.
Please verify that actions 1 to 4 were completed
after installation of the PTF for PK62116:
1. Make sure that the PTF for the prereq APAR
PK66373 has been applied.
2. Verify that the fix for Resource Measurement
Facility (RMF), PTF for APAR OA24404 has been
installed. If this step is omitted, an abend
will occur in RMF.
3. Set DB2 subsystem parameter ZOSMETRICS to YES.
4. Start Resource Measurement Facility and RMF
Monitor 3 sysplex data retrieval service.
-Dataset DB2STATS new variables from DB2STAT0 in V8 & V9:
New z/OS variables in PDB.DB2STATS with above APARs:
QWOSDB2U='DB2*SUBSYSTEM*CPU*UTILIZATION'
QWOSDBMU='DB2*DBM1*CPU*UTILIZATION'
QWOSDPIR='DB2 SUBSYS*PAGE-IN*RATE'
QWOSDRSU='DB2 SUBSYS*USED REAL STORAGE*IN MB'
QWOSDVSU='DB2 SUBSYS*USED VIRTUAL*STORAGE*IN MB'
QWOSLNCP='CPS*IN*LPAR'
QWOSLPIR='LPAR*PAGE-IN*RATE'
QWOSLPRU='LPAR*CPU*UTILIZATION'
QWOSLRSF='LPAR*FREE REAL*STORAGE*IN MB'
QWOSLRST='LPAR*REAL STORAGE*IN MB'
QWOSLVSF='LPAR*FREE*VIRTUAL*STORAGE*IN MB'
QWOSLVST='LPAR*VIRTUAL*STORAGE*IN MB'
QWOSMSTU='DB2*MSTR*CPU*UTILIZATION'
NOTE: DB2 Parameter ZOSMETRICS=YES must be specified to
populate these variables. APAR PK62116 applies.
With the default NO value, fields contain 'FFFFFFFF'x.
-Dataset DB2ACCT new variables added by V9:
QWACALBW='WAIT TIME*TCP/IP LOB*MATERIALIZATION'
QWACALBC='WAITS FOR*TCP/IP LOB*MATERIALIZATIONS'
QWACSPC1='SP_CLS1SE*STORED PROC*CLASS 1*ON ZIIP'
QWACSPC2='SP_CLS2SE*STORED PROC*CLASS 2*ON ZIIP'
QWACSPZC='SPNF_CP*STORED PROC*CPU TIME*ON CP'
QWACSPZE='SPNF_ELAP*STORED PROC*ELAPSED*TIME'
QWACSPZI='SPNF_ZIIP*STORED PROC*CPU TIME*ON ZIIP'
QWACTRSE='TRTE_SE*NESTED*TRIGGER*CPU ON ZIIP'
QWACUDC1='UDF_CLS1SE*UDF STORED PROC*CLS 1*ZIIP'
QWACUDC2='UDF_CLS2SE*UDF STORED PROC*CLS 2*ZIIP'
QWACUDZC='UDFNF_CP*FUTURE*FUNCTION'
QWACUDZE='UDFNF_ELAP*FUTURE*FUNCTION'
QWACUDZI='UDFNF_ZIIP*FUTURE*FUNCTION'
-Dataset DB2ACCTP new variables added by V9:
QPACALBC='TCP/IP LOB*WAIT*TRACE*EVENTS'
QPACALBW='CPU TIME*ON ZIIP'
QPACSWIT='TIMES*PACKAGE WAS*SWITCHED TO'
-Datasets DB2ACCT, DB2ACCTP, DB2ACCTB, DB2ACCTG
new QWHC (Header) variables added:
QWHCOAUD='ORIGINAL*APPLICATION*USERID'
QWHCROLE='ROLE*NAME'
QWHCTCXT='TRUSTED*CONTEXT*NAME'
-Dataset DB2STATS new variables from DB2STAT0 in V9:
Q9STCTX5='DISPLAY*DDF*COMMANDS'
Q9STCTAD='ACCESS*DATABASE*COMMANDS'
Q9STCTSS='START*PROFILE*COMMANDS'
Q9STCTST='STOP*PROFILE*COMMANDS'
Q9STCTSD='DISPLAY*PROFILE*COMMANDS'
-Dataset DB2STATB and DB2STATS changes:
These DB2STATB variables are (or have been) reserved
QBSTALX QBSTARA QBSTARF QBSTAWA QBSTAWF QBSTDWC
QBSTDWX QBSTHBE QBSTHPA QBSTHPL QBSTHRA QBSTHRE
QBSTHRF QBSTHWA QBSTHWF QBSTHWR QBSTWEE
and all are now set to a missing value in DB2STATB.
Additionally, their QB1xxxx-QB4xxxx counterpart
variables in DB2STATS are now also missing values.
New variables in DB2STATB:
QBSTCIO ='PAGES*OF I/O*ON CASTOUT'
QBSTPCO ='PAGES*ON*UNLOCK*CASTOUT'
New variables in DB2STATS:
QB1TCIO ='1ST PAGES*OF I/O*ON CASTOUT'
QB1TPCO ='1ST PAGES*ON*UNLOCK*CASTOUT'
QB2TCIO ='2nd PAGES*OF I/O*ON CASTOUT'
QB2TPCO ='2nd PAGES*ON*UNLOCK*CASTOUT'
QB3TCIO ='3rd PAGES*OF I/O*ON CASTOUT'
QB3TPCO ='3rd PAGES*ON*UNLOCK*CASTOUT'
QB4TCIO ='4th PAGES*OF I/O*ON CASTOUT'
QB4TPCO ='4th PAGES*ON*UNLOCK*CASTOUT'
-Dataset DB2STATB new variable in V9:
QDBPASIZ='AUTOSIZE*ATTRIBUTE'
-Dataset DB2STATS new variables from DB2STAT1:
QISECTA ='PAGES*USED IN CT*ABOVE BAR'
QISEKFAL='FAIL*DUE TO*STMT SKEL*POOL FULL'
QISEKFRE='FREE PG*IN SKEL*EDM POOL*FRE CH'
QISEKNFA='NOT-FOUND*RECORD*ADDED*TO CACHE'
QISEKNFM='CACHED*NOT-FOUND*RECORD*LOCATED'
QISEKNFR='NOT-FOUND*RCRD*REMOVED*FRM CACHE'
QISEKPGE='PAGES*IN SKEL*EDM POOL'
QISEKTA ='PAGES*USED IN PT*ABOVE BAR'
QISESFAL='FAIL*DUE TO*STMT ABV*POOL FULL'
QISESFRE='FREE PG*IN STMT*ABV EDM*POL FRE'
QISESKCT='PAGES*USED*FOR SKCT'
QISESKPT='PAGES*USED*FOR SKPT'
QISESPGE='PAGES*IN STMT*ABV EDM*POOL'
-Dataset DB2STATS new variables from DB2STAT1:
QISTW04K='TOT 4KB*TABLESPACE*USED*FRACT MB'
QISTW32K='TOT 32KB*TABLESPACE*USED*FRACT MB'
QISTWF04='TOT 4KB*TABLESPACE*USED*WHOLE MB'
QISTWF32='TOT 32KB*TABLESPACE*USED*WHOLE MB'
QISTWFCK='CUR TOTAL*FRACT MB*USED IN*WF IN KB'
QISTWFCU='CUR TOTAL*WHOLE MB*USED IN*WF DB'
QISTWFMU='MAX TOT*USED IN*WF DB (MB)'
QISTWFMX='MAX*ALLOWABLE*USE LIMIT*P/AG MB'
QISTWFNE='TIMES MAX*ALLOWABLE*LIMIT*EXCEEDED'
QISTWFP1='TIMES 32KB*PAGE TS*USED WHEN*4KB SHOULD'
QISTWFP2='TIMES 4KB*PAGE TS*USED WHEN*32K SHOULD'
-Dataset DB2STATS new variables from DB2STAT1:
QXALTCTX='ALTER*TRUSTED*CONTEXT'
QXALTJR ='ALTER*JAR'
QXCRCTX ='CREATE*TRUSTED*CONTEXT'
QXCRROL ='CREATE*ROLE'
QXDRPCTX='DROP*TRUSTED*CONTEXT'
QXDRPROL='DROP*ROLE'
QXMERGE ='TIMES*MERGE*STATEMENT*WAS EXECUTED'
QXRNIX ='RENAME*INDEX'
QXSTXMLV='MAX STORAGE*USED FOR*XML VALUES'
QXTRTBL ='TIMES*TRUNCATE*TABLE*WAS EXECUTED'
-Dataset DB2ACCTP documentation.
Variables QPACCAST, QPACCANM, QPACUDST are always
missing in both V8 and V9, as they are Account level,
not package, metrics.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.200 NO CHANGE. Only documentation of the cause of message:
BUILDPDB ERROR:Variable SYSPLEX defined as both char and numeric.
Aug 28, 2008 ERROR:Variable SYSTEM defined as both char and numeric.
ERROR:Variable SYSNAME defined as both char and numeric.
followed by
WARNING: The data set WORK.MSU4HRAV may be incomplete.
The error is a broken SPIN.SPINRMFI, from an earlier test
job that failed; PROC CONTENTS DATA=SPIN.SPINRMFI will
show the three variables as NUMERIC instead of CHARACTER.
PROC DELETE DATA=SPIN.SPINRMFI and a rerun resolved.
Change 26.199 Change 25.228 added protection for invalid 14, 15 records
VMAC1415 that had only one NUCB while NUCB=2 in the record, but
Aug 28, 2008 the protection failed when the NUCB segment was the last
in the record. The protection itself CAUSED message:
ERROR: INVALID SMF1415 RECORD. INVALID UCB SEGMENT ERROR
which prevented those records from being output, so it
really is an ERROR, albeit caused by MXG and not a bad
record. Most 14/15s have the extended segments, and the
protection worked fine for those records.
Thanks to Herbert Sweeney, Verizon Data Services, USA
Change 26.198 All Pool 00 variables in BVIR32 are changed to Pool 32,
VMACBVIR as all IBM Virtualization Engine TS7700 reporting now
Aug 25, 2008 reports pools 1 thru 32 instead of the pool 0 thru 31 in
the DSECTS from which I wrote the original MXG code.
Variable names and labels are changed.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
====== Changes thru 26.197 were in MXG 26.07 dated Aug 24, 2008=========
Change 26.197 PCTMVSBY in PDB.TYPE70PR is now calculated for all engine
VMAC7072 types (CPs,zIIPs,zAAPs), because SMF70PAT parked time is
Aug 24, 2008 now recorded for the specialty engines. The existence of
SMF70PAT field required heuristic circumvention code when
it was discovered that a fully parked engine did not have
the SMF70PAT exactly equal to the SMF70ONT Online Time;
my first test for ONT-PAT GT .02 seconds was not enough
and caused PCTMVSBY greater than 100% when data with ONT
of ONT 15.00.01 and PAT of 14:59:97 was found, so that
heuristic was raised to 0.10 seconds. CPUWAITM greater
than DURATM by 0.01 seconds with SMF70PAT nearly DURATM
also required heuristic protection to prevent negative
PCTCPU calculations for individual engines in TYPE70PR.
Change 26.196 Variable DVRCP032 was removed from the KEEP list; there
VMACBVIR are only 31 pools. But now see Change 25.198.
Aug 24, 2008
Thanks to Jens Mohring, HUK-COBURG, GERMANY.
Change 26.195 The Multi-System Enclave Remote System dataset TYPE30MR
VMAC30 always had zero observations, because MXG's test for the
Aug 22, 2008 13 bytes remaining should have been 12, so the offset was
always missing and the segment was never read. This also
caused variables CPUMRDTM/CPUMRITM in TYPE30xx, PDB.JOBS,
PDB.STEPS, and PDB.SMFINTRV to always be zero. However,
fortunately, even IBM doesn't expect many (or any?) sites
to actually have these segments, so no one had noticed
their absence.
Thanks to Stephen Hughes, Excellus, USA.
Change 26.194 The MXGWPSV2 JCL procedure example was inconsistent in
MXGWPSV2 the example DSNAMEs, and the JCLINSTW example notes were
JCLINSTW clarified on the JCL Procedure Name to be used.
Aug 24, 2008
Change 26.193 Lots of cosmetic cleanup. Labels added, variables that
DOC should not have been kept aren't, formats added, etc.,
Aug 21, 2008 as a result of SAS ITRM Dictionary Build, MXG QA runs,
and user detected inconsistencies. Members touched:
IMACCICS IMAC110 VMAC110 VMAC6156 VMACTPMX VMAC116
VMACSMF VMACHSM VMACCMF VMXGCICI VMAC30 VMXGRMFI
JCLROCS ASUMTAPE CHANGESS VMACSUSE VMXGINIT IMACQAPM
VMAC7072 VMACNTSM VMACTPF
Thanks to Nick Johns, Sainsbury Supermarkets Ltd., ENGLAND.
Thanks to Chris Weston, SAS ITRM Development, USA.
Thanks to Freddie Arie, Merrill Consultants QA Guy, USA.
Change 26.192 Support for APAR OA24074. IBM recalculates PCTMVSBY when
VMAC7072 HIPERDISPATCH has parked an engine(s), by subtracting the
Aug 21, 2008 Parked Time (SMF70PAT) from both the numerator and the
denominator:
Online Time - (Wait + Parked Time)
MVS UTIL(%)=---------------------------------- * 100
Online Time - Parked Time
so MXG's calculation of PCTMVSBY is revised to match IBM.
This was noted in the MXG Newsletter discussion of Parked
time, but was not implemented in code until now.
Thanks to Brian Currah, Independent Consultant, CANADA.
(In 1972, the first person I ever called with a question about an
SMF record's contents was Brian; the late Steve Cullen knew him
to be an SMF guru at GUIDE! And, he knew the answer, then and now!)
Change 26.191 A new MXGSAS92 JCL Procedure for MXG under z/OS SAS V9.2
MXGSAS92 is provided because SAS changed their DSNAMES for CNTL
Aug 22, 2008 and SASMSG datasets:
-If you use the SAS Deployment Wizard (SDW) to install the
SAS V9.2 for z/OS release, the DSNAME of their CNTL
dataset is changed by the addition of a new qualifier
with the SAS Version, year, and julian date of install,
with this syntax
DSN=&SASHLQ..V92DYJJJ.CNTL(BAT&YY.)
or a specific DSNAME, for example, of
DSN=&SASHLQ..V92D8208.CNTL(BATW0)
for an install in 2008 on julian date 208, in the USA.
The MXGSAS92 JCL procedure now has
//CONFIG DD DISP=SHR,DSN=&SASHLQ..V92DYJJJ.CNTL(BAT&YY.)
// DD DISP=SHR,DSN=&MXGHLQ..MXG.SOURCLIB(CONFIGV9)
Get that exact YJJJ value from your SAS Installer.
-Also the SASMSG DSNAME with .SL. no longer exists, so the
SASMSG DD only has these two DDs:
//SASMSG DD DISP=SHR,DSN=&SASHLQ..&XX.&YY..SASMSG
// DD DISP=SHR,DSN=&SASHLQ..EN&YY..SASMSG
Thanks to Tom C. Frohnapfel, AAFES, USA.
Thanks to MP Welch, SPRINT, USA.
Change 26.190 -Support for IMS Log record 0A (CPI-CI Driven Program)
ASMIMSL6 records 0A07x (Terminate) & 0A08x (Start) creates IMS0A78
EXIMS0A7 dataset in both ASMIMSL6/TYPEIMSA and TYPEIMS7 programs.
EXIMS0A8 -For ASMIMSL6/TYPEIMSA log processing:
EXIMSA78 _IMSVERS defined in IMACIMSA now default is IMS 10.0.
IMACIMS Comments in IMACIMSA document how to change DDNAMES and
IMACIMS7 which %LET Wdddddd= or %LET Pdddddd you use for
IMACIMSA each of the six output IMS datasets.
TYPEIMS7 ASMIMSL6 was modified to pass the 0A records and report
TYPEIMSA the total count of those records written.
VMACIMS -For TYPEIMS7 processing:
Aug 23, 2008 _IMSVERS defined in IMACIMS7 now default is IMS 10.0.
Member IMACIMS is NO LONGER USED.
In _IMSUMRY macro CTR array was increased from 55 to 67.
These DDname Macros were previously defined in IMACIMS7:
_IMSTRAN, _IMSBMP, and _IMSWORK
but they are no longer used in IMS processing, as the
simpler Pdddddd and Wdddddd macro variables are now
fully implemented in the MXG IMS processing. They are
still defined, in case they exist in your user code.
All TYPEIMS7 output datasets are written to //WORK, but
comments in TYPEIMS7 show how to send its output to
other DDNAMES.
Thanks to Cornelia Dorr, Lufthansa Systems Infratec GmbH, GERMANY.
Thanks to Gero Wohlsperger, Lufthansa Systems, Infratec GmbH, GERMANY
Change 26.189 SAS V9.2 with Hot Fix F9BA07 removed the need for MXG to
VMXGINIT enable the (non-existent, as of now) VARLENCHK option, so
Aug 20, 2008 it was removed. See MXG Newsletter FIFTY-TWO, SAS Note 7
which discusses the Hot Fix for SAS V9.2.
Thanks to MP Welch, SPRINT, USA.
Change 26.188 The datasets ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP built by
DOC the ASUM70PR member currently do NOT subtract SMF70PAT,
Aug 19, 2008 Parked Time, from the SMF70ONT, Online Time, so the count
of LPnNRPRC (CP Engines) is not the average online count.
It might not be possible, easily, to modify ASUM70PR to
account for Parked Time in the two System-Level datasets
ASUM70PR and ASUM70LP, because the SMF70PAT only exists
in the per-MVS-system observations in TYPE70PR from the
parked MVS system records.
However, the two CEC-Level datasets, ASUMCEC and ASUMCELP
already use only the per-MVS-system observations, so it
appears that you could use the below example to create
two new PARKCEC and PARKCELP datasets in your PDB library
with the SMF70PAT parked time removed from SMF70ONT time,
which then causes the calculation of LPnNRPRC and related
related variables to account for the parked time of each
LPAR:
//REALPDB DD DSN=YOUR.REAL.PDB.DATASET,DISP=SHR
//PDB DD UNIT=SYSDA,SPACE=(CYL,(50,50))
//SYSIN DD *
DATA PDB.TYPE70PR; SET REALPDB.TYPE70PR;
IF SMF70PAT GT 0 THEN SMF70ONT=SMF70ONT-SMF70PAT;
%INCLUDE SOURCLIB(ASUM70PR);
DATA REALPDB.PARKCEC; SET PDB.ASUMCEC;
DATA REALPDB.PARKCELP; SET PDB.ASUMCELP;
Change 26.187 Support for APAR OA25205 for SMF 42 record, adds subtypes
EXTY4224 24 and 25, and to subtypes 20, 21, 24 and 25, the fields
EXTY4225 defined by IBM's ICHRUTKN DSECT are added to the record.
EXTY422A These new datasets are created:
EXTY424A DDDDDD DATASET DESCRIPTION
FORMATS TY422A TYPE422A SUBTYPE 21 DELETE MEMBER ALIAS
IMAC42 TY4224 TYPE4224 DFSMS MEMBER ADD/REPLACE ST24
VMAC42 TY42A4 TYPE42A4 DFSMS SUBTYPE 24 DELETE ALIAS
VGETUTKN TY4225 TYPE4225 DFSMS MEMBER RENAME ST25
VMXGINIT These MXG variables are created by VGETUTKN:
Aug 19, 2008 UTKNFLG1='UTKNFLG1*MISCELLANEOUS FLAGS'
Bit values, not (yet?) decoded by MXG:
TOKENCR X'80' TOKEN IS ENCRYPTED
TOKLT19 X'20' TOKEN CREATED BY PRE RACF 1.9 CALL
TOKVXPRP X'10' VERIFYX PROPAGATION OCCURRED
TOKUNUSR X'08' NJE UNKNOWN USER
TOKLOGU X'04' LOG USER INDICATOR
TOKRSPEC X'02' RACF SPECIAL INDICATOR
UTKNFLG2='UTKNFLG2*MISCELLANEOUS*FLAGS'
Bit values, not (yet?) decoded by MXG:
TOKDFLT X'80' DEFAULT TOKEN
TOKUDUS X'40' UNDEFINED USER
TOKERR X'10' TOKEN IN ERROR
TOKTRST X'08' PART OF TRUSTED COMPUTER BASE
TOKSUS X'04' SURROGATE USERID
TOKREMOT X'02' REMOTE JOB INDICATOR
TOKPRIV X'01' PRIVILEDGED USER INDICATOR
UTKNFLG3='UTKNFLG3*MISCELLANEOUS*FLAGS'
TOKDGRP X'80' DEFAULT GROUP ASSIGNED
TOKDSEC X'40' DEFAULT SECLABEL ASSIGNED
TOKNETF X'20' NETWORK NAME SPECIFIED
TOKIPV X'10' IP VALUE FOR SERVAUTH POE
TOKWDWN X'08' WRITE-DOWN IS ALLOWED
UTKNGRUP='SESSION*OWNER*GROUPID'
UTKNLEN ='UTOKEN*RTOKEN*LENGTH'
UTKNNETW='REMOTE*NETWORK*NAME'
UTKNPOE ='PORT*OF*ENTRY'
UTKNPOEX='PORT OF ENTRY*CLASS*INDEX'
Decimal values not (yet?) decoded by MXG:
TOKTERM EQU 1 TERMINAL CLASS
TOKCON EQU 2 CONSOLE CLASS
TOKJESI EQU 3 JESINPUT CLASS
TOKAPORT EQU 4 APPCPORT CLASS
TOKSERV EQU 5 SERVAUTH CLASS
UTKNSCL ='SECLABL'
UTKNSGRP='SUBMITTING*GROUPID'
UTKNSNOD='SUBMITTER*NODE'
UTKNSTYP='SESSION*TYPE'
Decimal values decoded by MGUTKNT format:
1=' 1:SYSTEM ADDRESS SPACE'
2=' 2:COMMAND'
3=' 3:CONSOLE OPERATOR'
4=' 4:STARTED PROCEDURE'
5=' 5:MOUNT'
6=' 6:TSO LOGON'
7=' 7:INTERNAL READER BATCH JOB'
8=' 8:EXECUTION BATCH MONITOR'
9=' 9:RJE OPERATOR'
10='10:NJE OPERATOR'
11='11:VERIFYX UNKNOWN USER TOKEN'
12='12:EXTERNAL READER BATCH JOB'
13='13:RJE BATCH JOB'
14='14:NJE BATCH JOB'
15='15:NJE SYSOUT'
16='16:EXTERNAL XBM'
17='17:RJE XBM'
18='18:NJE XBM'
19='19:APPCTP'
20='20:OMVSSRV'
21='21:IPLOOKUP VALUE'
UTKNSUSR='SUBMITTING*USERID'
UTKNUSER='SESSION*OWNER*USERID'
UTKNVERS='UTOKEN*RTOKEN*VERSION*NUMBER'
UTKNXNOD='EXECUTION*NODE'
APAR OA25068 is the Parent APAR for APAR OA25205, and
this change supports both APAR numbers.
Change 26.186 WPS did not tolerate a FORMAT statement between an END
VMACVMXA and an ELSE IF statement. The FORMAT statement should
Aug 18, 2008 normally have been prior to that END statement in MXG, so
it was relocated to eliminate the WPS-only error.
Change 26.185 Mostly zero observations in TMDBDB2 dataset, because no
EXTMDDB2 one had use the TYPETMDB code to read the native Landmark
IMACTMDB for DB2 records with TYPETMDB code since 2004. Change
VMACTMDB 22.121 corrected MXG handling of DB2 Rollup records for
Aug 16, 2008 IBM DB2 SMF records, but that change had not been applied
to the Landmark DB2 records. This change removed the DO
group in EXTMDDB2 that deleted most observations, added
the logic that creates DB2PARTY='R' for rollups, and also
removed the _TMDBVER macro that is no longer required, as
only Version 4+ records now exist.
Thanks to Charles Savikas, DCF, State of Florida, USA.
Change 26.184 Circumvention for defective SMF 101 subtype 0 record from
VMACDB2 Landmark reconstructed SMF records. Their error is in
Aug 13, 2008 the QPAC segment, which caused INPUT STATEMENT EXCEEDED
error because the offsets to the "truncated" name fields
are less than the QPACLEN value, and the offset should
not have been populated, since the name fields are not
"truncated". In addition, these fields prior to those
offsets are trashed, as the record contains character
text where these numbers are input (but since any text
is a valid PIB value, there was no error, only bad data
values in the DB2ACCP dataset):
QPACAWTK QPACAWTM QPACAWTN QPACAWTO QPACAWTQ
QPACARNK QPACARNM QPACARNN QPACARNO QPACARNQ
The MXG circumvention detects the record is created by
Landmark rather than IBM (by the location of the Product
segment, which Landmark puts at the beginning of the
SMF record, while IBM puts it at the end), and the
data starting at QPACAWTK is not input, so the variables
listed above will be missing, rather than wrong, until
a correction is available from Landmark.
Thanks to Howard Curtis, Progress Energy, USA.
Change 26.183 This change was rescinded by Change 27.039 as wrong.
Aug 13, 2008 The QBAC and QTXA variables have always existed in the
Mar 16, 2009 DB2ACCTP dataset in DB2 V8.1 or later. Change 27.039
restored those variables to the ASUMDB2P and TRNDDB2P
programs. Mar 16, 2009.
Below is the original (AND INCORRECT) change text:
Summary and trending of DB2ACCTP Package Dataset revised.
ASUMDB2P The QBACxxxx and QTXAxxxx variables are always missing in
TRNDDB2P DB2ACCTP (ever since DB2 V7.1, which moved Package Data
Aug 12, 2008 to IFCID 239 (SMF 101 Subtype 1) records, so they have
been removed from both ASUMDB2P and TRNDDB2P summaries.
They can be removed from your DB2ACCTP dataset, but I
can not remove them without risk of causing a failure
if any of your reports reference them in DB2ACCTP.
You can copy this macro definition into your IMACKEEP
member and they will no longer exist in your DB2ACCTP.
MACRO _KDB2ACP
QBACGET QBACSWS QBACRIO QBACSEQ QBACIMW QBACLPF
QBACDPF QBACNGT QBACSIO
QTXACHG QTXACHUS QTXACLMT QTXACLNO QTXACLUN QTXADEA
QTXADRNO QTXADRUN QTXAFLG1 QTXAILMT QTXAIRLM QTXALES
QTXALEX QTXALOCK QTXANPL QTXANRUN QTXAPREC QTXAQRY
QTXARLID QTXASLAT QTXASLMT QTXASLOC QTXASOTH QTXATIM
QTXAUNLK
%
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.182 Support for MACRO4 INSYNC SMF user record creates new
EXINSYDB datasets:
EXINSYDI DATASET DDDDDD DESCRIPTION
EXINSYDS
EXINSYDU INSYDB2 INSYNC DB2
EXINSYZO INSYDBDI INSYNC DB2 - D OR I
EXINSYZC INSYDBDS INSYNC DB2 - SQL TEXT
EXINSYZF INSYDBDU INSYNC DB2 - U
FORMATS INSYZOS INSYNC ZOS
IMACINSY INSYZOSC INSYNC ZOS FORMAT
TYPEINSY INSYZOSF INSYNC ZOS SELECTION CRITERIA
TYPSINSY This is the first iteration and further investigation is
VMACINSY needed with the vendor, as there are invalid SMF records
VMXGINIT (the number of segments exceeds the physical record size)
Aug 13, 2008 and there are unexpected numerous duplicate records that
need to be investigated).
Thanks to Josep Miquel Oliver, La Caixa, SPAIN.
Change 26.181 Accidentally skipped change number
Thanks to Brent Turner, CitiGroup, USA.
Change 26.180 -The circumvention for invalid UWD record to avoid a USER
ASMRMFV ABEND, by skipping over it, is now permanent.
Aug 8, 2008 -Warning RMFV106W was incorrectly issued, and CPD table
entries could be not-processed, but only if GEI records
were selected. The SSH register pointer was not reloaded
but now are.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.179 The typo in VMAC7072 that had a nine-character variable
VMAC7072 ELSE IFAHONRPR=' ';
Aug 8, 2008 is corrected to
ELSE IFAHONPR=' ';
This does not cause an error with MXG's CONFIGV9, which
sets SAS option VALIDVARNAME=V7 to permit long names, but
if the SAS option VALIDVARNAME=V6 is used, error message
VARIABLE NAMED IFAHONRPR CONTAINS MORE THAN 8 CHARACTERS
is printed. The typo was introduced in MXG 26.03.
Thanks to Brian Cummings, Federal Reserve Information Technology USA
Change 26.178 z/OS 1.9 changed length of RMF III ASI segment, adding
VMACRMFV eight bytes, which caused ASICNM (Service Class Name)
Aug 8, 2008 and subsequent ASI variables to be wrong. The added
eight bytes are now decoded and kept in ZRBSI as
ASILMEMO='MEMORY*OBJECTS*ALLOCATED'
ASILPGSZ='LARGE PAGE*BYTES BACKED*IN REAL*STORE'
While ASILPGSZ is in pages in the raw record, MXG has
converted it to bytes and formatted it with MGBYTES to
display that size in KB/MB/etc.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.177 Cleanup of MXG as a result of ITRM Dictionary build:
ASUMTAPE -ASUMTAPE: Dataset HELDMOUN was not deleted from //WORK.
VMXGRMFI -RMFINTRV: New RMFWKLRV dataset had these variables
VMAC85 WKLDCPU WKLDHPT WKLDIFA WKLDIFE WKLDIIP WKLDRCT
VMAC99 WKLDSRB WKLDTCB WKLDZIE WKLDZIP.
Aug 7, 2008 that are now FORMATed TIME12.2;
-TYPE85RE: Variables R85BT R85MT R85RCDY R85TKN R85VT
were unlabeled.
R85BT ='BACKUP*TYPE'
R85MT ='VOLUME*MEDIA*TYPE*OF FROM'
R85RCDY ='DAYS*SPECIFIED*FOR OBJECT*RECALL'
R85TKN ='VOLUME*LOCATION*TOKEN OF*FROM'
R85VT ='VOLUME*TYPE'
-TYPE99: Variable S99BPDTM is FORMATted TIME12.3.
Thanks to Chris Weston, SAS ITRM Development, USA.
====== Changes thru 26.176 were in MXG 26.06 dated Aug 8, 2008=========
Change 26.176 First MXG 26.06 of Aug 6 worked fine on PCSAS but FORMATS
FORMATS failed on z/OS with one specific line in MGTNGVN that is
Aug 6, 2008 to be investigated with SAS Technical Support, but this
iteration split the line and the FORMATS member now does
successfully execute on z/OS and PC SAS.
Thanks to Jerry Urbaniak, Acxiom, USA.
Thanks to Christian Hodel, SWISScom, SWITZERLAND.
Change 26.175 Support for NMON BBBP configuration records creates new
EXNMONBP NMONBBBP dataset. The LSCONF and LPARSTAT-I entries are
IMACNMON stored in variables BBBP001-BBBP047, with their labels
VMACNMON as the identifier of the item.
VMXGINIT
Aug 22, 2008
Thanks to John Keenam, Boeing, USA.
Change 26.174 First MXG 26.06's only. TYPE99_1 DATASET NOT FOUND in
TESTIBM2 JCLTEST8/JCLTEST9 because the TYPE99 code now writes to
VMACNMON //PDB (because the data must be deaccumulated) but the
Aug 5, 2008 TESTIBM2 member had PROC PRINT/PROC MEANS that expected
Aug 6, 2008 those data to be in the //WORK file.
-NMONBBBP By list had ENDTIME, now has STARTIME.
Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA.
====== Changes thru 26.173 were in MXG 26.06 dated Aug 4, 2008=========
Change 26.173 Support for Omegamon Tivoli Data Warehouse (TDW) data for
EXSUSELC z/Linux (SUSE 9.3) creates seven new datasets:
EXSUSELE DDDDDD DATASET Description Filename
EXSUSELI SUSELC SUSELCPU SUSE LINUX CPU SUSELCPU
EXSUSELN SUSELE SUSELNET SUSE LINUX NETWORK SUSELNET
EXSUSELP SUSELI SUSELIOE SUSE LINUX IO EXTERNAL SUSELIOE
EXSUSELS SUSELN SUSELNFS SUSE LINUX NFS STATISTICS SUSELNFS
EXSUSELV SUSELP SUSELPRO SUSE LINUX PROCESS SUSELPRO
IMACSUSE SUSELS SUSELSWA SUSE LINUX SWAP RATE SUSELSWA
TYPESUSE SUSELV SUSELVMS SUSE LINUX VM STATS SUSELVMS
TYPSSUSE Comments in member VMACSUSE show how to set up the
VMACSUSE FILENAME statements and then %INCLUDE SOURCLIB(TYPSSUSE);
VMXGINIT
Aug 4, 2008
Thanks to Jim Flanagan, ISO, USA.
====== Changes thru 26.172 were in MXG 26.06 dated Aug 1, 2008=========
Change 26.172 -Support for new NSM data fields NTCACHE, NTLOGICALDISK,
FORMATS NTMEMORY, NTPAGING FILE, NTPHYSICAL DISK, NTPROCESS and
VMACTNG NTSYSTEM datasets.
EXTNT133 -Support for new VMwares objects by Active Dictionary and
EXTNT134 VMware Virtual Center 2.5 Servers, VMware ESX 3.5.5 host
EXTNT135 servers and VM guest servers creates new datasets:
EXTNT136 TNT133 NT133 NSM CA INTERFACE GROUP
EXTNT137 TNT134 NT134 NSM VMWARE VC CLUSTER
EXTNT138 TNT135 NT135 NSM VMWARE VC DATASTORE
EXTNT139 TNT136 NT136 NSM VMWARE VC ESX HOST
EXTNT139 TNT137 NT137 NSM VMWARE VC ESX HOST C
EXTNT140 TNT138 NT138 NSM VMWARE VC ESX HOST D
EXTNT141 TNT139 NT139 NSM VMWARE VC ESX HOST M
EXTNT142 TNT140 NT140 NSM VMWARE VC ESX HOST N
EXTNT143 TNT141 NT141 NSM VMWARE VC EXX HOST P
EXTNT144 TNT142 NT142 NSM VMWARE VC RESOURCE P
EXTNT145 TNT143 NT143 NSM VMWARE VC SERVER
EXTNT146 TNT144 NT144 NSM VMWARE VC VM
EXTNT147 TNT145 NT145 NSM VMWARE VC VM CPU
EXTNT148 TNT146 NT146 NSM VMWARE VC VM DISK
Aug 2, 2008 TNT147 NT147 NSM VMWARE VC VM MEMORY
Aug 4, 2008 TNT148 NT148 NSM VMWARE VC VM NETWORK
Aug 6, 2008 TNT149 NT149 NSM AD EVENTS
Aug 24, 2008 TNT150 NT150 NSM AD PERFORMANCE
TNT151 NT151 NSM AD UTILIZATION
TNT152 NT152 NSM DNS
TNT153 NT153 NSM FILEREPLICACONN
TNT154 NT154 NSM FILEREPLICASET
TNT155 NT155 NSM NTDS
Added Aug 24 in 26.07:
TNT156 NT156 NSM VMWARE VC COMPUTE RE
Thanks to Michael Kynch, International Paper, USA.
Change 26.171 Protection so that ANALDB2R doesn't fail with USER=PDB.
ANALDB2R While USER=PDB is dis-recommended for BUILDPDB, and has
VMXGINIT caused errors with other programs, this change protects
Aug 2, 2008 but ONLY for ANALDB2R. DO NOT USE OPTIONS USER=PDB.
Thanks to Herbert Sweeney, Verizon Data Services Inc, USA.
Change 26.170 Circumvention for zero length VBS record in OPC Log file.
VMACOPC
Jul 31, 2008
Thanks to Andrew Davis, Produban, ENGLAND.
Change 26.169 Circumvention for 24 byte PRCAPM segment.
VMACXAM
Jul 29, 2008
Thanks to Tony Curry, BMC, USA.
Change 26.168 Support for DB2 SMF 102 IFCID=342 adds these variables:
VMAC102 QW0342TY ='DATABASE TYPE'
Jul 29, 2008 QW0342AT='AGENT TOKEN'
QW0342CI='CURRENT*INDEX*SPACE*USAGE'
QW0342CT='CURRENT*TABLES*SPACE*USAGE'
QW0342DB='DATABASE*DBID'
QW0342MI='MAXIMUM*INDEX*SPACE*USAGE'
QW0342MT='MAXIMUM*TABLES*SPACE*USAGE'
QW0342PS='TABLE/INDEX*SPACE*PSID'
QW0342PT='PARENT TOKEN'
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 26.167 Debugging version for invalid UWD record segments will
ASMRMFV avoid the USER ABEND and write defective records to the
Jul 29, 2008 //RMFSKIP DD (which needs to be added). ASMRMFVX, delete.
Thanks to Robert Carballo, Office Depot, USA.
Change 26.166 Support for AS/400 Version 6 Release 1 adds 3 variables
VMACQACS to the QAPMDISK dataset:
Jul 29, 2008 DSSECT ='DISK*UNIT*SECTOR*SIZE'
DSIOARN ='STORAGE*ADAPTER*RESOURCE*NAME'
DSSRLN ='DISK*UNIT*SERIAL*NUMBER'
and new variable to QAPMCONF dataset:
GDESXP ='PM*AGENT*DATA*OBTAINED?'
Thanks to David Bixler, FISERV, USA.
Change 26.165 A new "RMF Interval - WORKLOAD " dataset RMFWLKRV is now
EXRMFWKL also created when RMFINTRV is created; the new dataset
VMXGRMFI contains only the workload variables from RMF72, but
Jul 26, 2008 with one observation per workload, and only one set of
variables created, making workload analysis much easier.
The RMFWKLRV dataset has the same interval duration that
you chose for your RMFINTRV dataset; these are the
variables and labels in the new PDB.RMFWKLRV dataset:
DURATM DURATION*OF*INTERVAL
STARTIME START OF*INTERVAL
SYSNAME SYSNAME*FROM*IEASYSXX
SYSPLEX SYSPLEX*FROM*IEASYSXX
SYSTEM SYSTEM*ID
WKLDACTV WORKLOAD*ACTIVE*TIME
WKLDCPU WORKLOAD*CPU*TIME
WKLDDESC WORKLOAD*DESCRIPTION
WKLDEXCP WORKLOAD*EXCP*RATE
WKLDFRTM WORKLOAD*FRAME*TIME
WKLDHPT WORKLOAD*HPT*TIME
WKLDID WORKLOAD*ID
WKLDIFA WORKLOAD*IFA*PROCESSOR*TIME
WKLDIFE WORKLOAD*IFA*ELIGIBLE*PROCESSOR*TIME
WKLDIIP WORKLOAD*IIP*TIME
WKLDIOTM WORKLOAD*IO*CONNECT*TIME
WKLDMEMR WORKLOAD*MEMORY*USAGE
WKLDPGIN WORKLOAD*PAGEIN*RATE
WKLDRCT WORKLOAD*RCT*TIME
WKLDRESD WORKLOAD*RESIDENT*TIME
WKLDRESP WORKLOAD*AVG*RESPONSE
WKLDSERV WORKLOAD*SERVICE*UNITS
WKLDSRB WORKLOAD*SRB*TIME
WKLDSVRT WORKLOAD*SERVICE*RATE
WKLDSWAP WORKLOAD*SWAP*RATE
WKLDTCB WORKLOAD*TCB*TIME
WKLDTRAN WORKLOAD*TRANSACTIONS
WKLDTRRT WORKLOAD*TRANSACTION*RATE
WKLDWKST WORKLOAD*WORKING*SET
WKLDZIE WORKLOAD*ZIP*ELIGIBLE*PROCESSOR*TIME
WKLDZIP WORKLOAD*ZIP*PROCESSOR*TIME
Thanks to Don Goulden, SAS ITRM Development, USA.
Change 26.164 For the JES3 PDB, i.e., BUILDPD3, variable JOBCLASS was
BUIL3005 not kept from the SMF 30 subtype 1 and subtype 5, causing
Jul 26, 2008 it to be blank in some cases. It is now kept in both.
Aug 12, 2008 Additionally, it is now correctly kept as 8-bytes in the
PDB.SMFINTRV dataset, as well as being non-blank.
Thanks to Keving McCandlish, IBM Global Services, USA.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.163 Support for TPF PUT22 changes, and corrections to current
VMACTPF code.
Jul 21, 2008 New variables added by PUT22:
Dataset TPFDX:
DXNSDIN DXLMTRKS DXLMRSTT DXTSWB DXMODL DXCRYP
Dataset TPFSX:
SX4KFRMS
Corrections:
-The first SLOTNR was always re-read for all eight slots,
so dataset TPFMG never had data from the 2nd-8th slots.
-STARTIME was not populated for TPFMG dataset.
-The INPUT of SPXDISA1-4 and SPXRTRA1-4 were relocated to
the end of the SPX record; those variables were always
wrong until now.
Thanks to Bob Wilcos, EDS, USA.
Change 26.162 Reserved Change Number.
Jul 21, 2008
Change 26.161 New variable BESKEY='TAPE*ENCRYPTION*KEY*INDEX' is added
TYPETMS5 to dataset TMS to identify CA-1 encrypted tapes. This is
VMACTMS5 a reference/index into the CA Tape Encryption Data base
Jul 21, 2008 where the actual keys are stored, and it allows TMS to
determine when a key is no longer needed and can be
retired; TMS scans for non-scratch tapes that reference
a key, and if none are found for a specific index, that
key can then be safely retired.
Thanks to Jeff Harder, Indiana Farm Bureau, USA.
Change 26.160 Support for Omegamon User SMF records in SMF 112.
VMAC112 See Change 25.257, which replaced this text.
VMACOMCI
Jul 20, 2008
Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.
Change 26.159 TYPE77 QUEUE1 thru QUEUE4 were wrong and could be GT 100.
VMAC77 The correct denominator TOT77QUE=SUM OF (QUEUE1-QUEUE4)
Aug 13, 2008 is now used to calculate those percentages, and is kept.
The calculation of Average Queue Length now matches IBMs
reports, using AVG77QUE=WAITS/TOT77QUE, where WAITS is
SMF77AQL, the total waiting requests, and new TOT77QUE
is the total number of waiters.
New variable RNAMEHEX is the printable hex value of the
first MINORQCB bytes of RNAME, so those RNAMEs that have
hex values can be seen when printed as plain text.
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.158 Cosmetic, but confusing. PDB.TYPE70 offline zip/zap
VMAC7072 engines had CAIxx='20'x instead of '00'X, had PCTIFBYx
Jul 17, 2008 and PCTZIPBx both 100%, had IFAWAITx and ZIPWAITx both 0,
and IFAWAITM and ZIPWAITM were also both zeros if all of
the zIIP and zAAP engines were offline during interval.
The IFAUPTM and ZIPUPTM were both correct (missing) when
all of these engines were offline. the NRIFAS and
NRZIPCPU variables still count the number of engines
available to this MVS system, even when all are offline.
Thanks to Christine DeClercq, Dexia, BELGIUM.
Change 26.157 Change 26.115 made consistent the BY lists for RMF sorts,
MONTHASC but only for the first three common variables. The
MONTHBL3 TYPE70 sort order was still inconsistent between BUILDPDB
MONTHBLD and WEEKBLD/MONTHBLD. Now, those combining jobs all have
MONTHBLS been updated to match the BUILDPDB order, which is:
MONTHDSK SYSPLEX SYSTEM SYSNAME SMF70GIE GMTOFFTM STARTIME
MONTHWEK
WEEKBL3D
WEEKBL3T
WEEKBLD
WEEKBLDD
WEEKBLDT
Jul 15, 2008
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 26.156 Hex variable FSRDORG is decoded in new character variable
VMACHSM FSRDSORG using the same logic used for DCOLLECT, except
Jul 15, 2008 that DCOLLECT provides bits to identify PDSE vs PDS.
Thanks to James J. Byrnes, ???, ???
Change 26.155 Support for SMF 99 Subtype 11 (Group Capacity Limits)
EXTY99BG creates two new datasets:
EXTY99BS DDDDDD DATASET SUBTYPE DESCRIPTION
IMAC99 TY99BG TYPE99BG 99-11 CAPACITY GROUP
VMAC99 TY99BS TYPE99BS 99-11 SERVICE DATA
VMXGINIT
Jul 23, 2008
Thanks to Scott Chapman, American Electric Power,USA.
Change 26.154 If an offline LPARNUM preceded this PARTISHN, SMF70LAC
VMAC7072 was missing in PDB.TYPE70PR and PDB.ASUM70LP/PDB.ASUMCELP
Jul 10, 2008 and the corresponding LPnLAC in PDB.ASUM70PR/PDB.ASUMCEC.
Thanks to Barry T. Mueller, RiteAid, USA.
Change 26.153 -Using ANALRMFR from MXG 26.01+ with PDB=PDB where that
ANALRMFR input PDB was created with an earlier MXG version caused
Jul 18, 2008 a series of error messages that variables suffixed Y, Z,
ZA ... are missing; those new variables for CPs up to 64
were expected by ANALRMFR; rerun with PDB=SMF to correct.
-ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES corrected;
caused by hardcoded TYPE70SP instead of _WTY70SP.
-Updated to support 64 CP engines.
Thanks to Bill Cheng, Toyota, USA.
Change 26.152 New utility to remove duplicate SMF records from VBS data
UNDUPSMF file.
Jul 9, 2008
Thanks to Larry Stahl, IBM Global Services, USA.
Change 26.151 Support for APAR OA24416, which corrects overflow in
VMAC28 GBLCRPSA by adding a four byte "high part" at the end of
Jul 8, 2008 the 'D6'x NPM record.
Change 26.150 A typo caused the values of three SPG variables to be
VMACRMFV one tenth of their true value; the three variables
Jul 6, 2008 SPGTOTSP SPGFRESP SPGLGBLK are now multiplied by the
correct value of 1048576 instead of 104856.
Thanks to Roger Rush, Navistar, USA.
Change 26.149 Protection so that if SMF 21s and TYPETMNT were not added
UTILBLDP ASUMTAPE, ASUMTMNT and ASUMTALO are NOT included, but if
Jul 6, 2008 TYPETMNT is created, the ASUMTMNT and ASUMTALO are.
Thanks to Charles Savikas, State of Florida, USA.
Change 26.148 Enhancement to ASMTAPEE/MXGTMNT's capture of SYSLOG info,
ASMTAPEE now at ML-43 with this change, some revisions to ASUMTAPE
ASUMTAPE processing logic that improves the accuracy of several
VMACTMNT SYSLOG timestamps, and the creation of new SYLVTIME,
Jul 6, 2008 which is then used to improve the accuracy of variables
BEGTMNT, ENDTMNT, TOTMNTTM and TAPMTDTM values, some
variable labels were revised, and a new MXG Technical
Note to document what can still be missed by MXGTMNT.
-ML-43 of ASMTAPEE/MXGTMNT now captures the IEF233D mount
message in its subtype 8 records (output in TYPESYMT).
The IEF233D message is issued for non-ATL, non-VTS first
volume mounts from dynamic allocations that don't specify
the DEFER option. This message should have been in the
initial list (IEF233A, IEC501A, IEC501E) of mount events,
but was never observed until now, perhaps because it is
relatively infrequent.
-ASUMTAPE's logic revises how SYLMTIME, the SYSLOG Mount
time is populated; previously, if there was no SYSLOG
mount event, the time of a SYSLOG verify message was used
to populate SYLMTIME, but now, only mount event messages,
IEF233A, IEF233D, IEC501A, or IEC501E, are used.
-New logic in ASUMTAPE instead creates variable SYLVTIME,
SYSLOG Verify time, using the maximum time value of he
IECTMS6, IECTMS9, or IEC7095I SYSLOG messages.
-And SYLVTIME is now used in the creation of the ENDTMNT
mount event time variable in ASUMTAPE.
-The logic for BEGTMNT, ENDTMNT, TOTMNTTM and TAPMNDTM are
corrected, revised, and re-labeled:
BEGTMNT='BEGIN TIME*OF TAPE*MOUNT EVENT'
IF SYLMTIME GT 0 and TMNTTIME GT 0 THEN
BEGTMNT=MIN(TMNTTIME,SYLMTIME);
ELSE iF SYLMTIME GT 0 THEN BEGTMNT=SYLMTIME;
ELSE IF TMNTTIME GT 0 THEN BEGTMNT=TMNTTIME;
ELSE BEGTMNT=.;
It is the minimum timestamp of the start of
the mount event, from SYSLOG or MXGTMNT.
ENDTMNT='END TIME*OF TAPE*MOUNT EVENT'
IF SYLVTIME GT 0 AND TENDTIME GT 0 THEN
ENDTMNT=MAX(TENDTIME,SYLVTIME);
ELSE IF SYLVTIME GT 0 THEN ENDTMNT=SYLVTIME;
ELSE IF TENDTIME GT 0 THEN ENDTMNT=TENDTIME;
ELSE ENDTMNT=.;
It is the maximum verification time or mount
end, from SYSLOG or MXGTMNT.
TOTMNTTM='TIME IT TOOK*TO MOUNT*TAPE VOLUME'
IF ENDTMNT GT 0 AND BEGTMNT GT 0 THEN
TOTMNTTM=ENDTMNT-BEGTMNT;
It is the duration the job was delayed for
this tape mount.
TAPMTDTM='DURATION*TAPE WAS*MOUNTED*TO DISMOUNT'
IF (SYLKTIME GT 0 OR TY21TIME GT 0) AND
BEGTMNT GT 0 THEN
TAPMTDTM=MAX(SYLKTIME,TY21TIME)-BEGTMNT;
It is the duration that the tape volume was
mounted on the device for this mount event.
-VMACTMNT: New variables, decoded bits from TMNTFLAG,
were added to make debugging a little easier:
TMNTMSGI='MOUNT MESSAGE ISSUED'
TMNTJOBI='JOB*ENDED*EVENT'
TMNTJOBC='JOB*CANCELLED*BY*OPERATOR'
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 26.147 Cosmetic. The LPnNRPRC variables that count the number
VMXG70PR of CP engines in the ASUM70PR and ASUMCEC datasets are
Jul 2, 2008 now FORMATted 6.1 to match the LPARCPUS format that was
made in Change 26.003.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA
Change 26.146 Support for VXVNDSES dataset for zVM Domain 8 record 1.
FORMATS
VMACVMXA
Jul 2, 2008
Thanks to Sharon Moir, JPMorgan Chase Bank, USA.
Change 26.145 Support for BMC Mainview for CICS CMR record CMRTYPE=109.
VMACMVCI The CMRTYPE=109 records are written for ABENDs; only the
Jul 2, 2008 CMRTYPE=110 records were previously processed by MXG.
Variable CMRTYPE was added to both datasets as well.
Thanks to David Edge, Thompson Reuters, USA.
Change 26.144 The example ftp instructions for sending data files were
FTPSMF all corrected; the syntax /yourname.xxx are all now
FTPVB changed to the syntax of just yourname.xxx; that leading
JCLFTP slash tried to write to the root directory, which was not
NEWSLTRS the desired target destination.
SENDDATA
Jul 1, 2008
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 26.143 The Virtualization Engine TS7700 Statistical data in the
VMACBVIR MXG BVIR32 dataset was trashed; these 4 one-byte fields
Jun 30, 2008 were not INPUT, causing subsequent variables to be out
of alignment:
DVAVAD00='00*AVAILABLE*PHYSICAL*DEVICES'
DVAVAD01='01*AVAILABLE*PHYSICAL*DEVICES'
DVAVAD02='02*AVAILABLE*PHYSICAL*DEVICES'
DVAVAD03='03*AVAILABLE*PHYSICAL*DEVICES'
Thanks to Josep Miquel Oliver, La Caixa, SPAIN.
Change 26.142 New variables added to DCOLLECT dataset DCOLDSET:
VMACDCOL DCDCKDSI='CHECKPOINT*DS*INDICATED?'
Jun 30, 2008 DCDCPOIT='CHECKPOINTED*DATASET?'
DCDGT64K='GT 64K*TRACK*DATASET?'
and new values created for DCDDSORG for HFS and PDSE;
unfortunately, DCEDSORT is only three bytes, so the text
value for PDSE is set to PDS"
DCDDSORG='HFS' for HFS dataset
DCDDSORG='PDS' for PDSE dataset
These two values are set based on IBM support's reply, as
only the bits are documented in the IDCDOUT DSECT, but not
the logic:
IF DCDPDSE='Y' AND DCDPDSEX=' ' THEN DCDDSORG='PDS'; /*PDSE*/
IF DCDPDSE='Y' AND DCDPDSEX='Y' THEN DCDDSORG='HFS'; /*HFS*/
However, there are several hundred DCOLDSET observations
that have DCDDSORG blank, because the three flag bytes
whose bits are used to define DCDDSORG, MXG variables
DCDSORG1, DCDSORG2 and DCDFLAG3, all contain hex zeroes;
a new query back to DCOLLECT technical support is raised.
These blank values are believed to be from datasets
that were allocated but never opened.
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 26.141 CICS STID=74 (SMF 110 Subtype 2 Statistics) length of 228
VMAC110 was incorrectly documented in DFHMQGDS, causing MXG to
Jun 30, 2008 print ERROR (NEW DATA) SKIPPED message on the log. But,
MXG's INPUT was off by 4 bytes (Queue Manager is only 4),
The INPUT is corrected, the extra reserved bytes are now
skipped, that ERROR message is now a WARNING message, and
dataset CICIMQ (CICS MQ STATISTICS) is now corrected.
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Murray Town, Suncorp, AUSTRALIA.
Thanks to MP Welch, SPRINT, USA.
Thanks to David J Schumann, Blue Cross of Minnesota, USA.
====== Changes thru 26.140 were in MXG 26.05 dated Jun 18, 2008=========
Change 26.140 Example analysis of DB2 Package resources from DB2ACCTP.
ANALPKGS
Jun 17, 2008
Thanks to Myles M. Reed, NS Corp, USA.
Change 26.139 MXG's DOCVER and DOCVERnn members are limited to 72 bytes
UTILXRF1 per line, which permitted only 8-byte variable names; MXG
UTILVREF now creates some datasets with variable names longer than
Jun 17, 2008 8-bytes, so the DOCVER and DOCVERnn members are revised;
if the length of the variable is more than 8 bytes, the
variable name is printed on a separate line. SAS itself
limits variable names to 32 characters.
Change 26.138 EKC's EFT/R FIRECALL SMF 80 record was changed, causing
VMAC80A INPUT STATEMENT EXCEEDED RECORD length, because MXG
Jun 17, 2008 didn't expect the changed record.
Thanks to Yaohua Hu, ISO, USA.
Change 26.137 For QA testing; setting TAPENGN to V9SEQ/V8SEQ is now
VMXGINIT only done for MXG under z/OS; MONTHBLD died in QA tests
Jun 17, 2008. because V9SEQ does not exist in ASCII versions of SAS.
Change 26.136 -Variable QW0119GP, CURRENT GET PAGES, added to T102S199.
VMACDB2 -Variable QW0225BB was mis-located in the MXG Input, and
VMAC102 should not have been converted to bytes, it is blocks.
Jun 17, 2008 Both VMACDB2 and VMAC102 process the IFCID=225 segment.
Thanks to Steve Wood, DST Systems Inc, USA.
Change 26.135 ASMTAPEE ML-42 backs out the incorrect JOBname that was
ASMTAPEE added in ML-41. Change 26.128 revised MXG TYPETMNT code
Jun 16, 2008 to use JOB from the SYSLOG message text, while we still
try to find the location of that second JOB name.
Change 26.134 Cosmetic change; test for length remaining for optional
IMACICRD DFHRMI segment for CICS/TS 3.2 added for length 96.
Jun 16, 2008
Thanks to Paul C. Gordon, Bank of America, USA.
Change 26.133 Complete rewrite of MXG support for CA SYSVIEW, replacing
EXSVEV01 the partial support (2005) in TYPESYSV and TYPESYSI.
EXSVEV02 The new support now creates seventy-four datasets:
EXSVEV03
EXSVEV04 DDDDDD Dataset Description
EXSVEV05 token Name
EXSVEV06
EXSVEV07 SVEV01 SV01EV01 SVEV01: SYSVIEW AUDIT 01 NOOP
EXSVEV08 SVEV02 SV01EV02 SVEV02: SYSVIEW AUDIT 02 START
EXSVEV09 SVEV03 SV01EV03 SVEV03: SYSVIEW AUDIT 03 SHUTDOWN
EXSVEV10 SVEV04 SV01EV04 SVEV04: SYSVIEW AUDIT 04 SESSION
EXSVEV11 SVEV05 SV01EV05 SVEV05: SYSVIEW AUDIT 05 SESSION
EXSVEV12 SVEV06 SV01EV06 SVEV06: SYSVIEW AUDIT 06 COMMAND
EXSVEV13 SVEV07 SV01EV07 SVEV07: SYSVIEW AUDIT 07 COMMAND
EXSVEV14 SVEV08 SV01EV08 SVEV08: SYSVIEW AUDIT 08 THRESHOL
EXSVEV15 SVEV09 SV01EV09 SVEV09: SYSVIEW AUDIT 09 STATE MO
EXSVEV16 SVEV10 SV01EV10 SVEV10: SYSVIEW AUDIT 10 MONITOR
EXSVEV17 SVEV11 SV01EV11 SVEV11: SYSVIEW AUDIT 11 ASID ACT
EXSVEV18 SVEV12 SV01EV12 SVEV12: SYSVIEW AUDIT 12 CONSOLE
EXSVEV19 SVEV13 SV01EV13 SVEV13: SYSVIEW AUDIT 13 WEB MQ C
EXSVEV20 SVEV14 SV01EV14 SVEV14: SYSVIEW AUDIT 14 IMS COMM
EXSVEV21 SVEV15 SV01EV15 SVEV15: SYSVIEW AUDIT 15 CICS CEM
EXSVEV22 SVEV16 SV01EV16 SVEV16: SYSVIEW AUDIT 16 DSN SERV
EXSVEV23 SVEV17 SV01EV17 SVEV17: SYSVIEW AUDIT 17 LPA MODI
EXSVEV24 SVEV18 SV01EV18 SVEV18: SYSVIEW AUDIT 18 SVCTABLE
EXSVEV25 SVEV19 SV01EV19 SVEV19: SYSVIEW AUDIT 19 SUBSYS M
EXSVEV26 SVEV20 SV01EV20 SVEV20: SYSVIEW AUDIT 20 PPT MODI
EXSVEV27 SVEV21 SV01EV21 SVEV21: SYSVIEW AUDIT 21 WTOR REP
EXSVEV28 SVEV22 SV01EV22 SVEV22: SYSVIEW AUDIT 22 LOGSTREA
EXSVEV29 SVEV23 SV01EV23 SVEV23: SYSVIEW AUDIT 23 LOGSTREA
EXSVEV30 SVEV24 SV01EV24 SVEV24: SYSVIEW AUDIT 24 PRODUCT
EXSVEV31 SVEV25 SV01EV25 SVEV25: SYSVIEW AUDIT 25 LINKSET
EXSVEV32 SVEV26 SV01EV26 SVEV26: SYSVIEW AUDIT 26 LINKLIST
EXSVEV33 SVEV27 SV01EV27 SVEV27: SYSVIEW AUDIT 27 STORAGE
EXSVEV34 SVEV28 SV01EV28 SVEV28: SYSVIEW AUDIT 28 AMRF ACT
EXSVEV35 SVEV29 SV01EV29 SVEV29: SYSVIEW AUDIT 29 ESRTABLE
EXSVEV36 SVEV30 SV01EV30 SVEV30: SYSVIEW AUDIT 30 TSOTABLE
EXSVEV37 SVEV31 SV01EV31 SVEV31: SYSVIEW AUDIT 31 REGPROD
EXSVEV38 SVEV32 SV01EV32 SVEV32: SYSVIEW AUDIT 32 DUMPDS M
EXSVEV39 SVEV33 SV01EV33 SVEV33: SYSVIEW AUDIT 33 CICSTRAN
EXSVEV40 SVEV34 SV01EV34 SVEV34: SYSVIEW AUDIT 34 CICS THR
EXSVEV41 SVEV35 SV01EV35 SVEV35: SYSVIEW AUDIT 35 CICS STA
EXSVEV42 SVEV36 SV01EV36 SVEV36: SYSVIEW AUDIT 36 MQ QUEUE
EXSVEV43 SVEV37 SV01EV37 SVEV37: SYSVIEW AUDIT 37 USER EVE
EXSVEV44 SVEV38 SV01EV38 SVEV38: SYSVIEW AUDIT 38 MQ CHAN
EXSVEV45 SVEV39 SV01EV39 SVEV39: SYSVIEW AUDIT 39 CICS TS
EXSVEV46 SVEV40 SV01EV40 SVEV40: SYSVIEW AUDIT 40 SET EXTN
EXSVEV47 SVEV41 SV01EV41 SVEV41: SYSVIEW AUDIT 41 SET GRAN
EXSVEV48 SVEV42 SV01EV42 SVEV42: SYSVIEW AUDIT 42 CICS STA
EXSVEV49 SVEV43 SV01EV43 SVEV43: SYSVIEW AUDIT 43 CICS SHU
EXSVPLOT SVEV44 SV01EV44 SVEV44: SYSVIEW AUDIT 44 DATA SET
EXSVTHRE SVEV45 SV01EV45 SVEV45: SYSVIEW AUDIT 45 TASK STA
EXSVSTAT SVEV46 SV01EV46 SVEV46: SYSVIEW AUDIT 46 TASK STO
EXSVCEXC SVEV47 SV01EV47 SVEV47: SYSVIEW AUDIT 47 JES2 JOB
EXSVTSUM SVEV48 SV01EV48 SVEV48: SYSVIEW AUDIT 48 JES2 OUT
EXSVTRAN SVEV49 SV01EV49 SVEV49: SYSVIEW AUDIT 49 JES2 OUT
EXSVPROG SVPLOT SV02PLOT SVPLOT: SYSVIEW PLOT
EXSVFILE SVTHRE SV08THRE SVTHRE: SYSVIEW THRESHOLD EXCEPTI
EXSVTMPS SVSTAT SV09STAT SVSTAT: SYSVIEW STATE EXCEPTION
EXSVTDTA SVCEXC SV24CEXC SVCEXC: SYSVIEW EXCEPTION
EXSVABND SVTSUM SV25TSUM SVTSUM: SYSVIEW CICS TRANS SUMMAR
EXSVEXCE SVTRAN SV27TRAN SVTRAN: SYSVIEW CICS TRANSACTION
EXSVMEMP SVPROG SV27PROG SVPROG: SYSVIEW CICS PROGRAMS
EXSVDLI SVFILE SV27FILE SVFILE: SYSVIEW CICS FILES
EXSVTHRS SVTMPS SV27TMPS SVTMPS: SYSVIEW CICS TEMPORARY ST
EXSVRESM SVTDTA SV27TDTA SVTDTA: SYSVIEW CICS TRANSIENT DA
EXSVDCOM SVABND SV27ABND SVABND: SYSVIEW CICS ABENDS
EXSVEXIN SVEXCE SV27EXCE SVEXCE: SYSVIEW CICS EXCEPTIONS
EXSVWBMQ SVMEMP SV27MEMP SVMEMP: SYSVIEW CICS MONITOR EMPS
EXSVDB2 SVDLI SV27DLI SVDLI: SYSVIEW CICS DL/I
EXSVMEIE SVTHRS SV27THRS SVTHRS: SYSVIEW CICS THRESHOLDS
EXSVINTV SVRESM SV27RESM SVRESM: SYSVIEW CICS RESOURCE MAN
EXSVIMST SVDCOM SV27DCOM SVDCOM: SYSVIEW CICS DATACOM CSF
EXSVIMSP SVEXIN SV27EXIN SVEXIN: SYSVIEW CICS EXEC INTERFA
EXSVMQRR SVWBMQ SV27WBMQ SVWBMQ: SYSVIEW CICS WEBSPHERE MQ
IMACSVIE SVDB2 SV27DB2 SVDB2: SYSVIEW CICS DB2
TYPESVIE SVMEIE SV27MEIE SVMEIE: SYSVIEW CICS MEI EVENT
TYPSSVIE SVINTV SV28INTV SVINTV: SYSVIEW CICS INTERVAL SUM
VMACSVIE SVIMST SV32IMST SVIMST: SYSVIEW IMS TRANSACTION
VMXGINIT SVIMSP SV33IMSP SVIMSP: SYSVIEW IMS PROGRAM SUMMA
Jun 17, 2008 SVMQRR SV48MQRR SVMQRR: SYSVIEW MQ APP REGIONS
Change 26.132 Minor correction; if optional RMFFILT DD was missing but
ASMRMFV RMFSKIP DD was present, ASMRMFV could fail with USER 998
Jun 14, 2008 when attempting to close the nonexistent RMFFILT DDname.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.131 The reports on MIPS/MSU usage for CP engine is enhanced
ASUMMIPS to also report on zIIPs and zAAPs, by adding variables
Jul 18, 2008 CPUIFATM CPUZIPTM NRIFAS NRZIPCPU IFAUSED ZIPUSED MIPSIFA
MIPSZIP with _MIPSIFA and _MIPAZIP macros that define the
factors in the same way as base CP conversion factors.
Thanks to Robert Kuhne, Exelon Corporation, USA.
Change 26.130 Notes for CICS IMACICEZ, IMACICE1, IMACICE2 tailoring.
IMACICEZ These notes originated in Change 24.033, then 25.xxx and
IMACICE1 are repeated here, as well as in comments in UTILEXCL
IMACICE2 These members are required to be tailored if your CICS
UTILEXCL records contain 'EZA01' or 'EZA01' optional segments:
Jun 14, 2008
-IMACICEZ always has these 5 fields, identified by their
CMODNAME='EZA01' and CMODTYPE='S':
EZA01 S 001 12 ooo INIT
EZA01 S 002 12 ooo READ
EZA01 S 003 12 ooo WRITE
EZA01 S 004 12 ooo SELECT
EZA01 S 005 12 ooo OTHER
The CMODLENG=12 is from CICS/3.2; earlier CICS had only
CMODLENG=8, but IMACICEZ supports both lengths, so you
just remove the comment block to tailor IMACICEZ and it
will process data with either or both lengths.
-IMACICE1 can have up to 13 fields, identified by their
CMODNAME='EZA01' and CMODTYPE='A' (yes, CMODNAME is the
same 'EZA01' as IMACICEZ, but the CMODTYPE is different):
EZA01 A 001 4 ooo TINIT
EZA01 A 002 4 ooo TREAD
EZA01 A 003 4 ooo TWRITE
EZA01 A 004 4 ooo TSELECT
EZA01 A 005 4 ooo TOTHER
EZA01 A 006 4 ooo REUSABLE
EZA01 A 007 4 ooo ATTACHED
EZA01 A 008 4 ooo OPENAPI
EZA01 A 009 4 ooo TCBLIM
EZA01 A 010 4 ooo TREUSABL
EZA01 A 011 4 ooo TATTACHE
EZA01 A 012 4 ooo TOPENAPI
EZA01 A 013 4 ooo TTCBLIM
You will have to examine REPORT THREE (which may have the
last CMODHEAD field 'EZA01' instead of the names shown)
to know how many fields are in your data. If you have the
expected 13 fields, then you just remove the one comment
block. If you have fewer fields, then:
- Change the IF xxxx GE 52 THEN DO; statement so its
test value is 4 times the number of fields, e.g.
with seven fields change the "52" to "28".
- Change the INPUT statement's suffix from EZA01A13 to
the number of fields you have; if there are seven:
INPUT (EZA01A01-EZA01A07) (&PIB.4.) @;
- Delete the LABELs for variables that don't exist.
-IMACICE2 has 22 fields with z/OS 1.7 TCP/IP data, but had
only 11 fields with z/OS 1.4, which are identified by the
CMODNAME='EZA02' and CMODTYPE='A:
EZA02 A 001 4 330 CONN
EZA02 A 002 4 331 STARTED
EZA02 A 003 4 332 INVALID
EZA02 A 004 4 333 DISTRAN
EZA02 A 005 4 334 DISPROG
EZA02 A 006 4 335 GIVESOKT
EZA02 A 007 4 336 SECEXIT
EZA02 A 008 4 337 NOTAUTH
EZA02 A 009 4 338 IOERR
EZA02 A 010 4 339 NOSPACE
EZA02 A 011 4 340 LENERR
EZA02 A 012 4 341 TCONN
EZA02 A 013 4 342 TSTARTED
EZA02 A 014 4 343 TINVALID
EZA02 A 015 4 344 TDISTRAN
EZA02 A 016 4 345 TDISPROG
EZA02 A 017 4 346 TGIVESOK
EZA02 A 018 4 347 TSECEXIT
EZA02 A 019 4 348 TNOTAUTH
EZA02 A 020 4 349 TIOERR
EZA02 A 021 4 350 TNOSPACE
EZA02 A 022 4 351 TLENERR
You will HAVE to look at UTILEXCL REPORT THREE to confirm
if you have 22 or 11 fields, and remove only one of the
two comment blocks in IMACICE2 to tailor it.
-You create REPORT THREE with the _RPTEXCL macro run
with or after your UTILEXCL execution:
//SYSIN DD *
%INCLUDE SOURCLIB(UTILEXCL);
_BLDDICT;
_BLDEXCL;
_RPTEXCL;
Change 26.129 Format TAOTRMCD existed in FORMATS (but did not have the
FORMATS OTHER='UNKNOWN' value statement), and it was not applied
VMACTAO to variable TAOTRMCD in VMACTAO until now.
Jun 12, 2008
Thanks to Steve Clark, DHL IT Services Americas, USA.
Change 26.128A ASMTAPEE ML-41 (MXG 26.03-26.04) IS DEFECTIVE.
VMACTMNT But you do NOT need to replace the MXGTMNT monitor task
Jun 12, 2008 if it is already installed, as this circumvention will
correct the error. You will need to reprocess the SMF
records created with ML-41 with the new VMACTMNT from
this change.
The error impacts the PDB.ASUMTAPE dataset; the TYPETMNT
data is correct with ML-41 monitor. However, to capture
ALL tape mount events, you must use the ASUMTAPE program
and then use PDB.ASUMTAPE dataset (and not PDB.TYPETMNT)
to capture the DFHSM mounts, 2nd mounts and other mounts
that do not go thru the IBM/STC exits; those events are
depend on the subtype 8 SYSLOG records in PDB.TYPESYMT
that ASUMTAPE combines with TYPETMNT and TYPE21 datasets
to capture EVERY mount in PDB.ASUMTAPE.
The error is only in the PDB.TYPESYMT SYSLOG dataset; the
JOB field in the subtype 8 record with ML-41 is in error
as it contains the JCTJOBID value, rather than JOB name,
which causes JESNR to be a missing value in PDB.TYPESYMT,
which then causes ASUMTAPE to fail to match up the SYSLOG
event data with the TYPETMNT and TYPE21 records.
This revision to VMACTMNT captures the JOB name from the
SYSLOG message text, rather than the JOB field, and the
VGETJESN was relocated to use the correct JOB name to
decode the JESNR from JCTJOBID.
Not an error, but it was observed that the PROGRAM name
in the TYPETMNT dataset is always blank; that field was
only capturable when the (now archaic) cross-memory
XMEM=YES option was used, prior to the exit-driven
redesign. Since TYPETMNT has JOB READTIME and JESNR,
the PROGRAM can be acquired from the PDB.STEPS dataset.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.128 Prisma SMF record was changed by the vendor, by insertion
VMACPRPR of a text field, subsequently identified as the PRINTER
Apr 11, 2008 between ACCOUNT and SHEETS. The change was made in April
Jun 12, 2008 as Change 26.067, but never made it into CHANGES, and the
change number was reused.
Thanks to Carl Sablon, KBC Bankverzekerinngsholding, BELGIUM.
Thanks to Siegfried Trantes, IDG, GERMANY.
Change 26.126 Support for WebSphere incorrect triplets in subtype 3.
VMAC120 Instead of properly using the triplet SM120SRN field to
Jun 11, 2008 count the number of Server Region Sections, IBM chose to
implement an aberrant design by instead creating 0-n new
triplets (offset, length, count) in the record header!
This "feature" caused MXG to only output the first data
section in dataset TYP120SR. Circumvention code now uses
SM120TRN-2 (number of triplets minus two) to loop across
the Server Regions. This error was detected because the
total number of allocation failures, SM120HIC, was much
smaller than expected, and a detail trace identified that
only one Server Region was being output.
Thanks to Lisa Oulette, Wachovia Information Technology, USA.
Change 26.125 Support for NTSMF new Objects:
EXNTBITS DDDDDD DATASET DESCRIPTION/OBJECT NAME
EXNTPACE NTBITS BITSNET BITS NET UTILIZATION
EXNTUSB NTPACE PACEPIPE PACER PIPE
IMACNTSM NTUSB USB USB
VMACNTSM -Jun 17, 2008: Variable PACEINST was misspelled
VMXGINIT as PACEPIPE in the _BNTPACE macro definition, causing
Jun 17, 2008 the PROC SORT of dataset PACEPIPE to fail.
Jun 11, 2008
Thanks to Lisa E. Van Allen, Boeing, USA.
Change 26.124 INPUT STATEMENT EXCEEDED for short (possibly defective)
VMACITRF type '11'x ITRF record of only 176 bytes; current ITRF
Jun 10, 2008 record should be 304 bytes long. The record contains
only the Input Terminal and Date and Time and the 4-byte
"UNIQUE" hex field; all other fields are nulls or blanks.
The observation is still output in ITRFMSGO dataset, and
short records can be identified/counted by the variables
COT, LOQT, OQT (and others) having missing values.
Thanks to Prashant Joshi, Perot Systems, USA.
Change 26.123 -Support for new fields added to NTSMF MEMORY object:
VMACNTSM FRZRPLBY='FREE AND ZERO*PAGE LIST*BYTES'
Jun 9, 2008 MODFPLBY='MODIFIED*PAGE LIST*BYTES'
Jun 17, 2008 SBCACOBY='STANDBY*CACHE*CORE*BYTES'
SBCANPBY='STANDBY*CACHE*NORMAL*PRIORITY*BYTES'
SBCARSBY='STANDBY*CACHE*RESERVE*BYTES'
-Support for new field added to NTSMF PROCESS object:
WKSETPRV='WORKING*SET*PRIVATE'
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 26.122 Incorrect JOB name was parsed from SYSLOG text that had
ASUMTAPE three comma delimiters. The SAS SCAN function treats all
Jun 5, 2008 repeated delimiters as a single delimiter (why, no one at
SAS can explain, but that 'feature' is documented!), so
the use of TRANWRD(text,',,',', ,') ahead of the SCAN()
was suggested, which worked fine with two delimiters.
However, IEF234E messages with 'D 0F80,,,ZY11110,STEP099'
(unexpected, a dismount with no volser nor PVT/PUB/STR on
a 3590 device) were only expanded to 0F80, ,,ZY1110 so
the subsequent SCANs returned wrong values in WORD2-5.
Now, five TRANWRDs are executed to ensure the SCAN parse
properly decodes the JOB and STEP.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to David Bixler, FISERV, USA.
Change 26.121 IBM/Candle/OMEGAMON Audit Records can be buried inside
VMACOMAU CICS records; this change protects so only Audit records
Jun 4, 2008 are processed by TYPEOMAU. Several variables that do not
exist in the Audit records were removed.
Thanks to Joe Faska, Depository Trust, USA.
====== Changes thru 26.120 were in MXG 26.04 dated Jun 4, 2008=========
Change 26.120 The CICSEXCE Exception Report examples have been useless
ANALCICS for years, as the individual wait/counts have not been
Jun 4, 2008 been populated. Only these variables are populated in
the CICSEXCE dataset:
ENDTIME EXCMNBTR EXCMNCPN EXCMNFCN EXCMNNID EXCMNNPX
EXCMNNSX EXCMNRIL EXCMNRIL EXCMNRIX EXCMNRLU EXCMNRPT
EXCMNRTY EXCMNSRV EXCMNTCN EXCMNTRF EXCMNTYP EXCMNURI
EXCMNURI EXWAITTM LUNAME OPERATOR STRTTIME TASEXCNR
TASKNR TCLASS TERMINAL TRANNAME TRANPRI TRANTYPE
USER
A new report totals EXWAITCN and EXWAITM and calculates
the AVGWAITM for each APPLID EXCMNTYP EXCMNRTY EXCMNRIX
has been added to the examples in ANALCICS.
Thanks to Robert Carter, PNC Bank, USA.
Change 26.119 Variable LCU is added to TYPE74CA, by converting CSSSID
VMAC74 from character to numeric, and variables CUSERIAL and
Jun 4, 2008 CUVENDOR are created by substring from R745CCMT.
On IBM RMF reports, they print "CUID"-"CSDEVN" value and
"SSID"-"CSSSID" value (now, "SSID"-"LCU" value).
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 26.118 Almost cosmetic; the TEST parameter (which writes MXGTMNT
ASMTAPEE data to a flat file, instead of to SMF) did not work.
Jun 4, 2008 This first ML-42 was never distributed see Change 26.136.
Thanks to Alexander Raeder, ATOSORIGIN, GERMANY.
Change 26.117 Dataset TYPE747C was missing almost all observations; the
VMAC74 output statement was outside the DO loop over CUs. And,
Jun 4, 2008 variable R747SDEV is now KEPT in TYPE747C so it can be
matched up with TYPE747P observations.
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Change 26.116 Support for APAR OA22414 adds new variables to TYPE23
VMAC23 SMF Statistics Records:
Jun 4, 2008 SMF231RF='FIRST*REFERENCE*FAULTS'
SMF23NFR='FIX*REQUESTS*BELOW*2GM'
SMF23NGR='GETMAIN*REQUESTS*ISSUED'
SMF23NIO='TOTAL*I/O*OPERATIONS'
SMF23NRF='NON-FIRST*REFERENCE*FAULTS'
SMF23PBG='PAGES*BACKED*DURING*GETMAINS'
SMF23PFX='FRAMES*FIXED*BELOW*2GB'
SMF23SRB='SRB*DISPATCHES'
SMF23TCB='UNLOCKED*TCB*DISPATCHES'
SMF23SFG='STATISTICS*SECTION*FLAG'
The SMF23SFG bits 0 thru 8, if on, indicate that the
value in the corresponding nine variables were limited
to four bytes internally and could have wrapped if the
value was more than 4x10**9; MXG inputs all nine fields
as eight bytes.
Change 26.115 Inconsistent BY list for RMF data are now consistent.
VMAC7072 The correct sequence is SYSPLEX SYSTEM SYSNAME ... but
WEEKBLD SYSNAME was not always present, and in some cases it was
MONTHBLD SYSNAME, in others it was the &MXGSYSN macro variable
Jun 3, 2008 name (needed only way back in Version 23 to protect for
earlier MXG versions).
Unless you have duplicate SYSTEM names in a SYSPLEX, the
SYSNAME is identical to SYSTEM, so its insertion will not
have any impact on the actual sorted order.
(Of course, if you have multiple SYSTEMs with the same
SYSTEM name, then the SYSNAMEs will be different, so
there is a SMALL chance this could cause a NOT SORTED
condition when you combine dailies into weekly/monthly
PDB libraries).
Thanks to Brian Crow, BT, ENGLAND.
Change 26.114 z/VM MONWRITE BAD CONTROL RECORD error because MXG didn't
VMACVMXA protect the 6.24 correctly.
May 30, 2008
Thanks to Sharon Moir, JPMorgan Chase Bank, USA.
Change 26.113 Variable IORATE=DVTSAMPA/DURATM is now created in the
VMACRMFV ZRBDVT dataset.
May 30, 2008
Thanks to Rodger Foreman, Acxiom, USA.
Change 26.112 MXG 26.03: TYPE70 variables CPUMVSTM, PCTMVSBY, SHORTCPS
VMAC7072 and PLCPRDYQ are missing if not on a z10 processor; the
May 30, 2008 support added for SMF70PAT (CPUPATTM, parked time) failed
to protect those calculations when CPUPATTM was a missing
value. Fortunately, you can recalculate from PDB.TYPE70:
CPUMVSTM=CPUUPTM-MVSWAITM;
IF CPUUPTM GT 0 THEN PCTMVSBY=100*CPUMVSTM/CPUUPTM;
IF PCTMVSBY GT 0 AND PCTCPUBY GT 0 THEN DO;
SHORTCPS=PCTMVSBY/PCTCPUBY;
PLCPRDYQ=100*(PCTMVSBY-PCTCPUBY)/PCTMVSBY;
IF . LT PLCPRDYQ LT 0 THEN DO;
SHORTCPS=1;
PLCPRDYQ=0;
END;
END;
Thanks to Charles Savikas, DCF State of Florida, USA.
Change 26.111 -Support for TMVS Release 4.1, INCOMPATIBLE due to fields
EXTMVCN inserted in the "JD" records. Many new variables for the
EXTMVCNM zIIP and zAAP engines are created in the Job records.
EXTMVCNP -The code is enhanced to full "standard" structure, with
EXTMVCNS the _Vdddddd macros created, and the _Sdddddd sort macros
EXTMVCO now invoking PROC SORT NODUP to remove duplicates instead
EXTMVCOF of being simple DATA steps.
EXTMVCOH -Redundant variables with STARTIME, ENDTIME and DURATM are
EXTMVCOP removed.
EXTMVCOS -Thirty new datasets are created, for all of the possible
EXTMVCY record types, and all datasets for which I have data
EXTMVCYD records are populated and duplicate-removal-validated.
EXTMVEC -New IHDRTMVS exist allows deletion of unwanted record
EXTMVES types.
EXTMVHC
EXTMVHM
EXTMVHS
EXTMVMC
EXTMVMCL
EXTMVMCV
EXTMVRG
EXTMVX1
EXTMVX3
EXTMVX4
EXTMVXC
EXTMVXD
EXTMVXN
EXTMVXO
EXTMVXP
EXTMVXS
EXTMVXW
IHDRTMVS
IMACTMVS
VMACTMVS
VMXGINIT
Jun 2, 2008
Thanks to Sam Bass, McLane Co., USA.
Change 26.110 A new MXG ERROR message is printed for PDB.RMFINTRV if
VMXGRMFI there are no TYPE72GO observations that match the TYPE70
May 28, 2008 observations. The resultant PDB.RMFINTRV observation has
PCTOVHD and CPUOVHTM and CPUTM missing values.
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.109 Cosmetic. New values for QWACRINV were not formatted by
ADOCDB2 the MGDB2RC format, and value 40 should have been ABNORM.
FORMATS
May 22, 2008
Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.
Change 26.108 CICS optional IMS data segment with CMODNAME='USER' and
UTILEXCL CMODHEAD='SCHDPDS' or 'SCHDTIME' or 'CALLDLI' is now
May 22, 2008 recognized and is supported by the existing IMACICDL
member. Previously, all IMS segments had the values of
'PSB WAIT', 'PSB SCHD', 'DB CALL', and 'DB IO' for those
fields, and these unexpected text fields cause MXG to
NOT identify IMACICDL as needed when UTILEXCL ran.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 26.107 INPUT STATEMENT EXCEEDED with SMF 80 with new ASSIZMAX
VMAC80A value in TOKDANAM; that field is not INPUT as TOKASIZM
May 21, 2008 and kept in all TYPE80xx datasets with extended data.
Thanks to Clayton Buck, UniGroup, USA.
Change 26.106 Enhancement for AF/OPER SMF record support.
VMACAFOP These variables are now INPUT and KEPT in all datasets:
May 19, 2008 AFOMATNR AFOMATTY AFOTRNAM AFOCPUTM AFOEXECN AFOCONSN
The AFOCPUTM is now input as &PIB.4.3.
Thanks to Joe Faska, Depository Trust, USA.
Change 26.105 The label for variable R723CSUP is clarified to read
VMAC7072 R723CSUP='UN-NORMALIZED*ZIP*SERVICE*UNITS'
May 19, 2008 because it contains the zip service units before their
normalization back to the same scale as the CPUUNITS.
The variable ZIPUNITS contains the normalized service
units. ZIPUNITS and R723CSUP are different ONLY if the
CP engine speed is less than the ZIP engine speed.
Thanks to Bret Hoesly, Telephone & Data Systems, Inc, USA.
Change 26.104 Variable SMF70PMU was not divided by NRSAMPLE and its
VMAC7072 label was incorrect. It now is
May 19, 2008 SMF70PMU='AVG BLKED*DISPATCH*UNITS*PROMOTED'
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Change 26.103 INPUT STATEMENT EXCEEDED ID=42 SUBTYPE=15 when there were
VMAC42 more than one S2 segment. MXG logic for LENGTH test was
May 19, 2008 corrected.
Thanks to Dan Case, Mayo Clinic, USA.
Change 26.102 TYPETASK='J ' occurred in TYPETMNT/TYPESYMT because the
VGETJESN VGETJESN logic when there is no SUBSYS, and the JCTJOBID
May 19, 2008 contains 7 digits did not set TYPETASK='JOB'.
Thanks to Brian Felix, Wachovia Corporation, USA.
Change 26.101 The ending semicolon in the %VMXGVERS(VMXGFOR,xx.yy);
VMXGFOR statement caused a syntax error; that ending semicolon
May 17, 2008 is not only not required, in this instance it was wrong:
In the VMXGFOR macro, the last line calls %VMXGVERS with
a semi-colon at the end. These types of semi colons are
never required, since the macro processor knows to
execute the macro when the tokenization sees the right
parenthesis. In this particular scenario, what happens
is that that trailing semi colon gets returned to the
input stream to the datastep - in the middle of the proc
sort statement, which is why is complains at DATA= being
a Statement that is not valid or out of order.
Thanks to James Hein, Erie Insurance, USA.
Thanks to Chris Weston, SAS ITRM, USA.
Change 26.100 Invalid MEM header record with a missing comma caused
VMACNMON INPUT STATEMENT EXCEEDED RECORD LENGTH error. The header
May 16, 2008 had only 7 fields, causing the error, but the actual MEM
data records are valid, so the handling of the header is
revised to protect for the invalid record.
Thanks to Angelo Pezzella, SAS Italy, ITALY.
Change 26.099 Variable ELAPSTM is now calculated instead of missing.
VMACORAC
May 16, 2008
Thanks to Bret Hoesly, Telephone and Data Systems, USA.
Change 26.098 Support for Informatics STAT user SMF record.
EXIFOCLI Five datasets are created from the user SMF record:
EXIFODB2 IFOLIS INFOLISN INFORMATICS LISTENER
EXIFOEXC IFOEXC INFOEXCP INFORMATICS EXCEPTION
EXIFOFIL IFOFIL INFOFILE INFORMATICS FILE
EXIFOLIS IFODB2 INFODB2 INFORMATICS DB2
IMACINFO IFOCLI INFOCLIE INFORMATICS CLIENT
TESSUSR1 The datetimestamps of the INFO variables are still on the
TYPEINFO GMT clock, because there is no GMT offset in the records.
TYPSINFO The delta between the END (GMT) and SMFTIME (Local) can
VMACINFO not be used, because END is missing in many records. The
VMXGINIT vendor has been requested to add a GMT offset field so
May 21, 2008 the GMT datetimestamps can be converted to local zone.
Thanks to Elizabeth Griesse, Securian Financial Group, USA.
Change 26.097 Divide-by-zero for denominator CPUCPLEN is now protected.
VMACRMFV
May 13, 2008
Thanks to Betty Wong, Bank of America, USA.
Change 26.096 -Variables QW0227FG and QW0227PG were always missing; the
VMAC102 test for QWT02R1L should have been 17 and not 21.
May 13, 2008 -Variables QW0226DB and QW0026OB are now $HEX4. format.
Thanks to Karthik Vinayagam, Morgan Stanley, USA.
====== Changes thru 26.095 were in MXG 26.03 dated May 11, 2008=========
Change 26.095 -ML-41 of ASMTAPEE the MXG Tape Mount Monitor corrects the
ASMTAPEE JOB Name to use MDBGJBNM in the SMF records it writes for
May 10, 2008 WTO SYSLOG events; some records had HSM instead of VTCSS.
The new ASUMTAPE logic in Change 26.083 corrects the JOB
when it is not the same as SYSLJOB, but this corrects the
SMF records created by MXGTMNT monitor.
-The Allocation Recovery Event subtype created by MXGTMNT
was not correct for the (typical, usually automated) WAIT
event. ML-41 corrects the logic for that subtype, so the
observations in TYPEARCV contains job info and the delay
to that job due to insufficient tape devices, which is
what an Allocation Recovery Event describes.
-Some general performance enhancements were also made.
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.094 ERROR: LIBRARY PDB IS NOT IN A VALID FORMAT FOR ACCESS
CONFIGV9 METHOD SASV6SEQ.
May 9, 2008 occurs if OPTIONS SEQENGINE=V6SEQ or TAPENGN=V6SEQ are
in effect; you can use PROC OPTIONS to display the value
of those options. SEQENGINE is defined in CONFIGV9, and
TAPENGN is defined in VMXGINIT; both default to V9SEQ
(or V8SEQ if still using SASV8), but either option can
be changed with a %LET XXXX=VnSEQ, so searching your MXG
tailoring libraries for V6SEQ should locate that text.
The MXGSASV9 JCL procedure puts the MXG CONFIGV9 member
as the last datasets in the //CONFIG DD, so that any SAS
option I specify in CONFIGV9 will override the default
SAS options specified in its .CFG file. However, there
are only these options that are in both the SAS BATW0 and
the current MXG CONFIGV9 members:
Option SAS Value MXG Value
BUFNO 3 2
BLKSIZE 6144
MEMLEAVE 512K 10M
SEQENGINE TAPE V9SEQ
NLSCOMPATMODE NONNLSCOMPATMODE NLSCOMPATMODE
THREADS THREADS NOTHREADS
====== Changes thru 26.093 were in MXG 26.03 dated May 8, 2008=========
Change 26.093 TESTOTHR step failed because DDNAMES CTMUUNIX, CTMZZOS
JCLTESS9 were not added to support CONTROL-M support.
JCLTEST9
JCLTEST8
JCLTESS8
May 9, 2008
Thanks to Bernd Klawa, Stadwerke-Bielefeld, GERMANY.
Change 26.092 Divide By Zero warning in HyperPav SMF 74 when SMF74PSM
VMAC74 was zero in an interval when the device was Varied. The
May 9, 2008 divide is now protected.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 26.091 Mis-alignment of the CS Server by four bytes caused very
VMAC111 large values in some variables in CTG SMF 111 CS Server
May 7, 2008 records. The VMAC111 in 26.03 did not contain this
Jun 3, 2008 change.
Thanks to Ray Dunn, CIGNA, USA.
Change 26.090 Support for SAS Version V9.2: WARNING could still occur
VMXGSUM if OUTCODE= was specified; Change 26.065 COPYed, rather
May 7, 2008 than MOVEd the LENGTH statement to after the SET, so the
WARNING was still printed. As a result, MXG 26.03 is
now the required MXG Version to eliminate the WARNING in
MXG delivered code.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 26.089 Support for CONTROL-M logs from both Unix and z/OS.
EXCTM065 Separate programs, TYPECTMU for Unix, TYPECTMZ for ZOS
EXCTM100 read the "flat" log files to create new datasets.
EXCTM101 From Unix data, TYPECTMU/TYPSCTMU reads CTMLUNIX to
EXCTM133 create these datasets:
EXCTM134
EXCTM203 DDDDDD DATASET DESCRIPTION
EXCTM206
EXCTM207 CTM065 CTMU5065 CTL-M UNIX MESSAGE ID 5065'
EXCTM208 CTM100 CTMU5100 CTL-M UNIX MESSAGE ID 5100'
EXCTM209 CTM101 CTMU5101 CTL-M UNIX MESSAGE ID 5101'
EXCTM210 CTM133 CTMU5133 CTL-M UNIX MESSAGE ID 5133'
EXCTM211 CTM134 CTMU5134 CTL-M UNIX MESSAGE ID 5134'
EXCTM212 CTMUOT CTMUOTHR CTL-M UNIX OTHER MESSAGE ID'
EXCTM213 From ZOS data, TYPECTMZ/TYPSCTMX reads CTMLZOS to
EXCTM216 create these datasets:
EXCTM217
EXCTM219 DDDDDD DATASET DESCRIPTION
EXCTM281
EXCTM511 CTM203 SEL203I CTL-M ZOS MESSAGE ID SEL203I,220I,221I
EXCTM65A CTM206 SEL206W CTL-M ZOS MESSAGE ID 206W
FORMATS CTM207 SEL207E CTL-M ZOS MESSAGE ID 207E
IMACCTMU CTM208 SEL208I CTL-M ZOS MESSAGE ID 208I
IMACCTMZ CTM209 SEL209I CTL-M ZOS MESSAGE ID 209I
TYPECTMU CTM210 SEL210E CTL-M ZOS MESSAGE ID 210E
TYPECTMZ CTM211 SEL211W CTL-M ZOS MESSAGE ID 211W
TYPSCTMU CTM212 SEL212W CTL-M ZOS MESSAGE ID 212W
TYPSCTMZ CTM213 SEL213W CTL-M ZOS MESSAGE ID 213W
VMACCTMU CTM216 SEL216W CTL-M ZOS MESSAGE ID 216W
VMACCTMZ CTM217 SEL217W CTL-M ZOS MESSAGE ID 217W
VMXGINIT CTM219 SEL219I CTL-M ZOS MESSAGE ID 219I
May 6, 2008 CTM281 SEL281I CTL-M ZOS MESSAGE ID 281I
CTM511 JOB511I CTL-M ZOS MESSAGE ID 511I
CTM65A CTM64AI CTL-M ZOS MESSAGE ID 65AI
CTMZOT CTMZOTHR CTL-M ZOS OTHER MESSAGE IDS
Thanks to John Toohey, IBM, AUSTRALIA.
Change 26.088 Support for sub-subtype '0200' MQ segment creates two new
EX112MQC datasets from SMF 112 records:
EX112MQT DDDDDD DATASET DESCRIPTION
IMAC112 112MQC T112MQCO OMEGAMON CICS MQ DETAIL
VMAC112 112MQT T112MQCT OMEGAMON CICS MQ TOTALS
VMXGINIT There are also '0001' MQ Segments for which I do not yet
May 5, 2008 have a DSECT, to be added when documentation received.
May 9, 2008 May 9: Still no documentation for 0001 record, and the
0200 documentation is wrong; there are 25 4-byte
counters in the segment, but the DSECT from 2007
documented only 8 pair of 4-byte clock/counters.
For now, first 8 counters have the 8 labels from
the 2007 documentation, the rest a counter number.
Thanks to Ray Dunn, CIGNA, USA.
Change 26.087 Flag variable UBFLAG1 in DCOLBKUP was decoded into these
VMACDCOL variables, but they were not kept until now:
May 5, 2008 UBINCAT UBNOENQ UBBWO UBNQN1 UBNQN2
Thanks to Michael Friske, Fidelity Systems, USA.
Change 26.086 Support for AF/Operator SMF Record creates four datasets:
EXAFOPEX DDDDDD MXG MXG
EXAFOPFI DATASET DATASET DATASET
EXAFOPIM SUFFIX NAME LABEL
EXAFOPMA
IMACAFOP AFOPEX AFOPEXEC AFOP EXEC
TYPEAFOP AFOPFI AFOPFILE AFOP FILE
TYPSAFOP AFOPIM AFOPIMMED AFOP IMMED
VMACAFOP AFOPMA AFOPMATCH AFOP MATCH
VMXGINIT
May 5, 2008
Thanks to David Kaplan, DTCC, USA.
Change 26.085 Variable SMFTIME was not in the BY list for TYPE70PR and
WEEKBLD TYPE72MN in WEEKBLD, but was in the BY list for MONTHBLD.
May 5, 2008 The BY list in WEEKBLD was updated. The absence of the
SMFTIME variable caused a NOT SORTED condition when the
clocks were set back one hour on April 6.
Thanks to Peter Krijger, ANZ National, NEW ZEALAND.
Change 26.084 Enhancements to HSM sample reports adds a new REPORT6, a
ANALHSM time-interval summary of MIGRATE/RECALL/BACKUP activity.
May 2, 2008 about every tape mount event.
Additionally, new filtering parameters are created in the
RPTFILT1-RPTFILT6 macros.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.083 Major rewrite of ASUMTAPE corrects errors and supports
ASUMTAPE SPIN logic to create PDB.ASUMTAPE with EVERYTHING
May 2, 2008 possible about every tape mount event.
May 8, 2008
May 10, 2008 THIS IS AN INCOMPATIBLE CHANGE:
You MUST delete your old SPIN.SPINMOUN dataset before you
implement this revised ASUMTAPE algorithm.
The previous ASUMTAPE logic always correctly assembled
"complete" tape mount events, and most "incomplete"
mounts but there were cases with only a single SYSLOG
event (notable, from our friends HSM and DMS that do
their own unique thing!) in which the output was not
always correct or complete.
In addition, as documented, ASUMTAPE never implemented
the full "SPIN" logic to hold incomplete events for the
next execution of ASUMTAPE.
The TYPESYMT processing of SYSLOG records was reinvented,
using the SYSTEM JOB JESNR DEVNR sequence, rather than
the insufficient DEVNR DESCENDING EVENTIME sequence that
was incapable of full protection for these end cases.
-May 10: Final logic errors due to LASTDEVN being kept in
SPINSYSL cleaned up match up of "full" vs "SPLIT SPIN" so
observation counts again matched before and after tests.
-The unique DSNAMEs in the input TYPESYMT and TYPETMNT
were compared with the output DSNAMEs in PDB.ASUMTAPE and
many were blank, and some were wrong, as SYSLDSN is only
populated in IEC233A,IEC705I, and IEC501A/IEC501E SYSLOG
messages; the blank values in the other records overlaid
DSNAME. Now, all observations that had DSNAME in TMNT or
SYSLOG have non-blank DSNAME. Some events can never have
a DSNAME (e.g., HSM only-234E KEEP); variable MNTHAVE
identifies which SYSLOG records were found for this mount
event, and can be used to identify those cases where the
DSNAME is always blank.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Pat Jones, DST, USA.
Change 26.082 The old IEFU84 sample SMF exit failed with z/OS 1.7 and
IEFU84 z/OS 1.9; the addition of $CADDR after $HCCT in the ASM
May 1, 2008 code eliminated the ASMA044E UNDEFINED SYMBOL messages
for symbols C@XMXSRB, and CADDR, thanks to excellent ASM
sleuthing by Dean.
Thanks to Dean Gambill, Lowe's Companies, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 26.081 -The JCLDAYDS had a //PDB DD, but it is never used in the
DAILYDSR DAILYDSN or DAILYDSR programs, so it was removed from
JCLDAYDS that JCL example.
Apr 30, 2008 -The DAILYDSR example for using DFSMS/RMM instead of TMS
did not create the DCOLCLUS dataset from DCOLLECT data.
Thanks to Diane Eppestine, IBM Global Services, USA.
Change 26.080 MXG 26.01 wrongly changed QPACAAFG INPUT to $CHAR2. as I
FORMATS thought it contained hex text. The $EBCDIC2 input is now
VMACDB2 restored, a hex zero value is converted to blanks, and
Apr 29, 2008 its $MGDB2PK format enhanced to decode that blank value:
VALUE $MGDB2PK
' '='BLANK:NOT DEFINED'
'01'='01:STORED PROCEDURE'
'02'='02:USER DEFINED FUNCTION'
'03'='03:TRIGGER EXECUTING'
;
Thanks to Glenn Bowman, Wakefern, USA.
Change 26.079 Variable IFAHONOR could be blank when it should have
VMAC7072 been 'Y'; typo in logic was corrected.
Apr 25, 2008
Thanks to William Wailun Wong, HSBC, HONG KONG
Change 26.078 MXG 26.02 VMXGSUM caused VARIABLE NOT FOUND if variables
VMXGSUM that do not exist in the input dataset were named in one
Apr 24, 2008 of the output lists (eg., in SUM= ). This support was
accidentally deleted. This would happen if you used an
unmodified MXG ASUMxxxx member that listed all variables
to be summed, but you had dropped variables from the
input dataset. (Think ASUMDB2A which sums all DB2ACCT
variables).
Thanks to Jim Kovarik, Aegon, USA.
Change 26.077 MXG printed a WARNING: NEGATIVE CPUUNITS when a type 30
VMAC30 record had IFAUNITS greater than CPUUNITS, citing APAR
Apr 29, 2008 OA24836 as the IBM correction. But even with that APAR,
imprecision in zAAP and CP Service Units caused small
negative deltas equivalent to a few hundredths's of a CPU
second, as confirmed by IBM Support, who pointed to new
SMF updates documenting these service unit issues, and
recommended the CPUUNITS and IFAUNITS be recalculated
based on the proportions of the CPUTCBTM and CPUIFATM,
when the subtraction returned a negative value. In so
doing, I discovered that all test cases with negative
deltas actually had CPUTCBTM=0, i.e., they were tasks
that only used zAAPs, so the resultant CPUUNITS=0 after
recalculation is correct and not an approximation!
But, if the delta is greater than one CPU second, a
revised warning is printed with the before and after
service unit and cpu time values.
Thanks to Janet Harris, Navistar, USA.
Thanks to Roger Rush, Navistar, USA.
Change 26.076 This JCL example had an extra space on the // EXEC
JCLMQMCI statement and the symbolic WORKNUM instead of WORKVOL.
Apr 23, 2008
Thanks to Gary Green, Dow Jones, USA.
====== Changes thru 26.075 were in MXG 26.02 dated Apr 22, 2008=========
Change 26.075 -MXG logic incorrectly handled back-to-back TYPE21 from
ASUMTAPE different systems in the interleave with TYPETMNT; this
Apr 22, 2008 ultimately caused variable SYSTEM in PDB.ASUMTAPE to have
the wrong system's name for these mount events.
Thanks to Paul Naddeo, FiServ, USA.
Change 26.074 MXG 25.07-MXG 26.01 only. Fewer obs created in TYPE78CU,
VMAC78 even with Change 26.023, which only partially solved the
Apr 22, 2008 MXG error. The test for 58 should have been 56.
Thanks to Shantha Hallett, Capgemini, WALES.
Change 26.073 The SORTEDBY= attribute of DB2 datasets that are created
VMACDB2 by a DATA step (instead of a PROC SORT, which sets the
Apr 20, 2008 SORTEDBY list of BY variables automatically) is added to
DATA steps for DB2STATS, DB2GBPST, and DB2STATB, and for
DB2STAT0 and DB2STAT1, but they are already in DB2STATS.
SAS will bypass a subsequent PROC SORT of a dataset when
its SORTEDBY list matched the requested sort's BY list.
Change 26.072 Example ANALTCP reports adds API (Socket) data report,
ANALTCP corrects the date selection code (it didn't work when
Apr 20, 2008 both BEGTIME and ENDTIME were requested), and the SYSTEM
May 6, 2008 selection is revised for a list of SYSTEMs and to allow
a prefix. Option 'ALL' was added for the DATA selection.
Additional enhancements made on May 6.
Thanks to Steve Clark, DHL IT Services Americas, USA.
Change 26.071 Support for z/OS 10.0 (INCOMPATIBLE due to MXG coding):
VMAC1415 -New triplet in TYPE72GO - INCOMPATIBLE due to MXG test of
VMAC18 NRTRIPLT=7 (protected previous short-record IBM error)
VMAC19 causes zero observations in TYPE72GO without this change.
VMAC30 The new Resource Delay segment is not yet coded, awaiting
VMAC42 test data records; R723RDNX, R723RDNN index/number added.
VMAC7072 -TYPE72GO new CPU times (subset in existing CPUTCBTM):
VMAC71 CPUCRPTM='CPU TIME*AT CHRONIC*CONTENTION' (R723CPDP)
VMAC74 CPUPRMTM='CPU TIME*AT PROMOTED*DISPATCH*PRTY'(R723TPDP)
VMAC78 R723CPDP in TYPE72GO.
VMXGINIT -TYPE74. New variable:
Apr 18, 2008 SMF74CAP - AVAILABLE*VOLUME*CAPACITY*IN CYLINDERS.
Jul 21, 2008 -TYPE1415. New variables:
Aug 22, 2008 SMF14EAV='EAV BAM*DETECTED*EXCP OR*XDAP?'
DEB2XUPF='BSAM*PGFIX*OPTION*SPECIFIED?'
EADSCBOK='DCBEADSCBOK*FLAG*OK*ON?'
-TYPE1718. New variable:
SMF18CON='CONTINUATION*RECORD*INDICATOR*MULT-VOL'
-TYPE19. New variables (actually added in z/OS 1.9):
SMF19CYM='VOLUME*HAS*CYL-MANAGED*SPACE?'
SMF19TRK='TOTAL*TRACKS ON*VOLUME'
SMF19TRM=*TOTAL*TRACKS IN*TRACK-MANAGED*SPACE'
SMF19VLI='VOLUME*SIZE*INFORMATION'
-TYPE30. New variable added (by z/OS 1.9):
SMF30SNF='ZIIP NORMALIZATION FACTOR'
-TYPE42D2. New variable added:
SMF42GBQ='LOCK*STRUCTURE*NAME'
-TYPE4222. New subtype 22 creates new TYPE4222 datset
for DFSMS Audit Record:
JOB ='JOB NAME'
RACFUSER='RACF*USER*ID'
READTIME='READTIME'
S42CNABL='CONTROL*RECORD*ENABLE*FLAG'
S42CSYNC='CATSYNCH*DATETIME*STAMP'
S42GMTOF='LOCAL TIME/DATE OFFSE'
S42JNEXT='NEXT*JOURNAL*RECORD*NUMBER'
S42JRECN='JOURNAL*RECORD*NUMBER'
S42MACTY='ACTIVITY*TYPE'
S42MCUPD='VSI*WHEN*MCUPDACT*SET ON'
S42MFG1 ='SMF42MFG1*FLAG*ONE'
S42MJRN ='JOURNAL*RECORD*AVAIL?'
S42MLIS ='LAST*IN*SET?'
S42VRLTK='VSREL*LAST*CHANGE*TOKEN'
S42VRSCN='CURRENT*VRS*CHANGE*COUNTER'
S42VRSUN='LAST*HSKP*VRS*CHANGE*COUNTER'
S42VSICN='VSI*CONTROL*COUNT'
S42VTSFL='VIRTUAL*TAPE*SERVER*FLAG'
-TYPE4223. New subtype 23 creates new TYPE4223 datset
for DFSMS Security Record:
DSNAME ='DATA*SET*NAME'
DSSNO ='DATASET*SEQUENCE*NUMBER'
JOB ='JOB NAME'
LOCLINFO='LOCAL*INFO'
RACFGRUP='RACF*GROUP'
RACFUSER='RACF*USER*ID'
READTIME='READ*TIME'
S42DEVT ='DEVICE*TYPE'
S42GMTOF='LOCAL*TIME*OFFSET'
S42NACTY='ACTIVITY*TYPE'
S42NSTP ='SECURITY*TYPE'
S42NVER ='RECORD*VERSION*IDENTIFIER'
VOLSEQ ='VOLUME*SEQUENCE*NUMBER'
VOLSER ='VOLUME*SERIAL*NUMBER'
Note: Change 26.187 supports APAR OA25205 which adds
subtype 24 and 25 and adds data to subtypes 20 and 21.
-TYPE71. New variables added:
SMF71CFA='AVG*64BIT*COMMON MEM*OBJS*FIXED RSTORE'
SMF71CFM='MIN*64BIT*COMMON MEM*OBJS*FIXED RSTORE'
SMF71CFX='MAX*64BIT*COMMON MEM*OBJS*FIXED RSTORE'
SMF71COA='AVG*64BIT*COMMON MEM*OBJS*ALLOCATED'
SMF71COM='MIN*64BIT*COMMON MEM*OBJS*ALLOCATED'
SMF71COX='MAX*64BIT*COMMON MEM*OBJS*ALLOCATED'
SMF71CRA='AVG*64BIT*COMMON MEM*OBJS*BACKED RSTORE'
SMF71CRM='MIN*64BIT*COMMON MEM*OBJS*BACKED RSTORE'
SMF71CRX='MAX*64BIT*COMMON MEM*OBJS*BACKED RSTORE'
SMF71CSA='AVG*64BIT*COMMON MEM*AUXSTOR*SLOTS'
SMF71CSM='MIN*64BIT*COMMON MEM*AUXSTOR*SLOTS'
SMF71CSX='MAX*64BIT*COMMON MEM*AUXSTOR*SLOTS'
SMF71SOA='AVG*SHARED*MEM OBJ*ALLOCATED'
SMF71SOM='MIN*SHARED*MEM OBJ*ALLOCATED'
SMF71SOX='MAX*SHARED*MEM OBJ*ALLOCATED'
SMF71SRA='AVG*HI VERT*SHARED*FRAMES BACKED*RSTORE'
SMF71SRM='MIN*HI VERT*SHARED*FRAMES BACKED*RSTORE'
SMF71SRX='MAX*HI VERT*SHARED*FRAMES BACKED*RSTORE'
-TYPE78PA (Private Area for jobs) new variables added:
COBYHWM ='HWM*BYTES 64BIT COMMON 2GB'
COBYMAX ='MAX BYTES*64BIT COMMON*ABOVE 2GB'
COBYMIN ='MIN BYTES*64BIT COMMON*ABOVE 2GB'
COBYNTME='TIME STAMP*OF MIN*64BIT COMMON'
COBYTOTL='TOTAL*SAMPLES*64BIT COMMON 2GB'
COBYXTME='TIME STAMP*OF MAX*64BIT COMMON'
COMOHWM ='HWM*BYTES 64BIT*COMMON'
COMOMAX ='MAX BYTES*64BIT*COMMON'
COMOMIN ='MIN BYTES*64BIT*COMMON'
COMONTME='TIME STAMP*OF MIN*64BIT COMMON'
COMOTOTL='TOTAL*SAMPLES*64BIT*COMMON'
COMOXTME='TIME STAMP*OF MAX*64BIT COMMON'
LGMOHWM ='HWM*BYTES LARGE*MEMOBJ'
LGMOMAX ='MAX BYTES*LARGE*MEMOBJ'
LGMOMIN ='MIN BYTES*LARGE*MEMOBJ'
LGMONTME='TIME STAMP*OF MIN*LARGE*MEMOBJ'
LGMOTOTL='TOTAL*SAMPLES*LARGE*MEMOBJ'
LGMOXTME='TIME STAMP*OF MAX*LARGE*MEMOBJ'
R782MEML='ADDRESS*SPACE*MEMLIMIT*MB'
Change 26.070 Support for SMF 102 IFCID 217 Storage Pool Stats changes.
VMAC102 -Dataset T102S217 new variables (GM existed, relabeled):
Apr 16, 2008 QW0217GA='TOTAL*GETMAINED*STORAGE*ABOVE*THE BAR'
QW0217GM='TOTAL*GETMAINED*STORAGE*BELOW*THE BAR'
QW0217HF='FLAG*BITS*IN THE*HEADER'
QW021764='THE*ABOVE THE*BAR DATA*IS INCOMPLETE'
-The original IFICD=217 record was in error, with triplet
3's data in triplet 2, which MXG protected by hardcoded
tests for the segment length to figure out where is that
data? IBM has increased the 02 segment with +24 blank
bytes, but that caused zero observations in T102U217.
The new 152 Length is now supported, even though no new
data was decoded!
Thanks to Matt Clarke, Charles Schwab & Co., Inc, USA.
Change 26.069 Change 25.109 stored the new (0-65535) UIC values in the
VMAC71 old a (0-2054) variables HIUICAV/HIUICMN/HIUICMX, but
Apr 16, 2008 only HIUICAV=SMF71UAC matched the RMF Paging Report
HIGH UIC (AVG). HIUICMN (MIN) was UAM instead of ULC,
HIUICMX (MAX) was UAX when it should have been UHC.
Thanks to Ray Dunn, CIGNA, USA.
Change 26.068 This MXG utility to "PRINT/CONTENTS/MEANS" all datasets
VMXGPRAL in a SAS Data Library failed with NOCONT=PRINT because
Apr 16, 2008 while PROC CONTENTS NOPRINT is valid, its counterpart
syntax PROC CONTENTS PRINT is NOT valid, and MXG had used
macro variable &NOCONT to set CONTENT's PRINT/NOPRINT.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 26.067 MXG assumed NTHOSTTN in ID=119 ST=21 to be 8-bytes, but
VMAC119 this field at the end of the record is shortened to the
Apr 14, 2008 host name length, and I now see that LEN11903=6, so it is
now used in INPUT NTHOSTTN $VARYING8. LEN11903 @; code.
ERROR: INPUT STATEMENT EXCEEDED RECORD LENGTH occurred.
Thanks to Richard J. Schwartz, State Street Corporation, USA.
Thanks to Kathleen M. Hall, State Street Corporation, USA.
Change 26.066 This MXG SAS utility gets z/OS PDS directory block counts
UTILLPDS one dataset at a time. Added by Change 25.136 with typos
Apr 14, 2008 in comments, its documentation and code matches examples.
The one created dataset is now named UTILLPDS.
Thanks to Jeffrey A. Harder, Indiana Farm Bureau Insurance, USA.
Change 26.065 Support for SAS Version 9.2: Revised August 20.
ANALCNCR The WARNING code issues originally discussed below are
VMXGSUM corrected by SAS Hot Fix F9BA07. See Change 26.189 and
ANALDOS MXG Newsletter FIFTY-TWO, SAS Technical Note 7.
ASUMDOS
ASUMHSM Except for RETURN/CONDITION CODE 4 for SAS V9.2 WARNINGs,
EXTYTPMX (which ONLY impacts z/OS job processing, and ONLY if JCL
TYPEZARA or a scheduling package checks step condition codes):
UTILXRF1
VMACVMXA MXG Software runs without error with SAS Version 9.2.
VMXGUOW and
VMXGINIT MXG Software Version 26.03 eliminates the new WARNING.
Apr 20, 2008 (or Hot Fix F9BA07).
Apr 22, 2008
Aug 20, 2008 SAS V9.2 created a new WARNING message and sets CC=4 for
changes in variable LENGTHs, but the WARNINGs in MXG code
were NOT in error, the length changes were intended, the
output dataset was valid, so these warnings harmless:
"WARNING: Multiple lengths specified for variable XXXXXX"
EXCEPT FOR: a non-zero condition code/return code can
make your z/OS job stream that test condition codes to
ABEND.
MXG has enabled the new-in-SAS-V9.2 VARLENCHK option to
completely eliminate the existence of this WARNING.
(Removed by Change 26.189, Aug 20, 2008).
These warnings (all for numeric variables) primarily
occurred inside VMXGSUM in two different cases:
a. Inside VMXGSUM where PROC MEANS is used to create an
output (summary) dataset. The original MEANS created
8-byte variables with no option to change them, so MXG
shortened numeric variable's stored lengths in a DATA
step after the PROC MEANS (to save disk space).
Now, SAS V9.2 detects that (intentional) decrease in
variable length, and prints the above WARNING.
But ONLY if the LENGTH statement precedes the SET!
If the LENGTH statement is AFTER the SET statement,
the warning is NOT printed, but either before or
after, the numeric variable's LENGTH is changed!
These LENGTH statements were located before the
SET statement, because that is the only location
where the length of a character variable can be
changed; character variable's length are set by
the first assignment or attribute statement.
Since the before-the-SET-location also worked for
numeric variable, all LENGTH change statements
were located there.
But all numeric variables are 8-bytes in memory
and the LENGTH (from the last LENGTH statement)
is only used when the observation is written, and
so relocating the numeric LENGTH changes to be
after the SET statement eliminates the WARNING
and still changes the variable's LENGTH.
b. A JOIN of multiple datasets (SET MON.JOBS TUE.JOBS...)
where a variable has different lengths in different
datasets.
But only if the variable length in the first dataset
is shorter than other lengths. There is NO WARNING
if the largest length is in that first dataset!
This also occurred inside VMXGSUM, when multiple input
datasets are combined in a SET/MERGE/UPDATE/etc., like
TRENDing, where TREND has shortened LENGTHs but the
"NEWTREND" internally had fixed, pre-KEEPLEN LENGTHs.
MXG 26.03 added the KEEPLEN option to PROC MEANS to
eliminate these inside-VMXGSUM-cases.
HOWEVER: EVEN WITH MXG 26.03 AND SAS V9.2 THE WARNING CAN
OCCUR NOW:
a. If you have tailoring members in "USERID.SOURCLIB"
from old MXG versions, that need the same code
revisions to eliminate.
b. In user-written SAS programs, this could actually be a
valid warning that a variable was truncated.
OR AT ANY TIME IN THE FUTURE THE WARNING CAN STILL OCCUR:
c. When an MXG Version that changed variable LENGTHs is
installed, subsequent WEEKLY or MONTHLY jobs create
the WARNING because some PDB's have the old length and
some have the new length, when those multiple datasets
are joined. Previous to V9.2, length were changed
with no WARNING nor CC. Between MXG 24.24 and 25.25
1206 variable's lengths were changed.
Note: installing a new MXG version on the first day of
the week is always safest, i.e., make Tuesday morning
BUILPDB with the new MXG Version, so MON-SUN datasets
are all the same; this will eliminate WEEKLY exposure,
but next MONTHLY is still exposed.
THEREFORE: The only way to prevent job failure due to
the WARNING is that SAS Institute may provide a new
option for SAS V9.2 on z/OS to turn off the setting of
the condition code for this WARNING. When this happens,
MXG will enable that new OPTION by default so that the
length of variables can be changed by MXG without this
failure.
-Discovery of how SAS sets stored LENGTH of a variable.
A DATA step uses the last LENGTH statement to set length
of numeric variables, if there are multiple statements.
An existing numeric's variable's length can be changed in
with a LENGTH statement; that statement can be put BEFORE
or AFTER the SET statement, and can request the length be
be SMALLER or LARGER in size. A 7-byte numeric variable
was increased/decreased before/after with these results:
LENGTH NEW RESULT OUTPUT WARNING
STATEMENT WANTED OUTPUT REQUESTED MESSAGE
LOCATION LENGTH LENGTH LENGTH PRINTED
NUMERIC VARIABLES:
BEFORE SET SMALLER 6 YES,TRUNCATED YES-1
AFTER SET SMALLER 6 YES,TRUNCATED NO
BEFORE SET LARGER 8 YES NO
AFTER SET LARGER 8 YES NO
CHARACTER VARIABLES:
BEFORE SET SMALLER 6 YES,TRUNCATED YES-1
AFTER SET SMALLER 7 NOT CHANGED YES-2
BEFORE SET LARGER 8 YES,INCREASED NO
AFTER SET LARGER 7 NOT CHANGES YES-2
The output lengths are identical between V9.2 and V9.1.3,
so this is not new behavior. But further tests with both
NUMERIC and CHARACTER variables discovered that:
NUMERIC: BEFORE SET SMALLER caused WARNING message and
the length was truncated (as requested).
NUMERIC: AFTER SET SMALLER does NOT print WARNING, but
the variable was truncated (as requested).
NUMERIC: BEFORE or AFTER SET LARGER worked, no WARNING.
CHAR: BEFORE SET SMALLER caused WARNING message but
the length was truncated (as requested).
CHAR: AFTER SET SMALLER does NOT change the LENGTH,
and it prints a different WARNING:
"LENGTH OF CHAR VAR C HAS ALREADY BEEN SET."
i.e., it does not work, yet it still WARNs you.
Interestingly, this WARNING, if length is to be
shortened, does NOT set a condition code, with
either V9.2 or with SAS 9.1.3.
CHAR: AFTER SET LARGER also does NOT change LENGTH,
and it prints that second WARNING,
"LENGTH OF CHAR VAR C HAS ALREADY BEEN SET.",
also not working and yet WARNING you.
Very interesting, this WARNING, if length is to
be increased, DOES set a condition code, with
both SAS 9.1.3 or SAS 9.2.
CHAR: BEFORE SET LARGER worked, no WARNING.
For NUMERICs, the requested LENGTH is always created, so
moving the LENGTH statement to be AFTER the SET statement
will eliminate the V9.2 WARNINGs and create same output.
For CHARs, only BEFORE changes LENGTHs, but BEFORE SMALL
prints the new-in-V9.2 WARNING that sets Condition Code:
There is NO way to shorten a CHARACTER VARIABLE's LENGTH
with V9.2 on z/OS without that warning and setting CC=4.
Neither AFTER SMALL nor AFTER LARGE change LENGTH, and
both print the WARNING: CHAR VAR ALREADY SET, which may
or may not set condition code, but it's a moot point,
since they don't change the variable lengths.
Details of the log messages and condition codes with
test with SAS V9.1.3 and SAS V9.2 on z/OS and Windows:
NUM CHR
1 CC DATA BEFORE76SMALLER; NEW LEN: YES,YES
PC 9.1 NO WARNING
PC 9.2 MULTIPLE LENGTHS SPECIFIED FOR VAR N,C
ZOS 9.1 00 NO WARNING
ZOS 9.2 04 MULTIPLE LENGTHS SPECIFIED FOR VAR N,C
2 DATA AFTER76SMALLER; NEW LEN: YES,NO
PC 9.1 LENGTH OF CHAR VAR C ALREADY BEEN SET.
PC 9.2 LENGTH OF CHAR VAR C ALREADY BEEN SET.
ZOS 9.1 00 LENGTH OF CHAR VAR C ALREADY BEEN SET.
ZOS 9.2 00 LENGTH OF CHAR VAR C ALREADY BEEN SET.
3 DATA BEFORE78LARGER; NEW LEN: YES,YES
PC 9.1 NO WARNING
PC 9.2 NO WARNING
ZOS 9.1 00 NO WARNING
ZOS 9.2 00 NO WARNING
4 DATA AFTER78LARGER; NEW LEN: YES,NO
PC 9.1 LENGTH OF CHAR VAR C ALREADY BEEN SET.
PC 9.2 LENGTH OF CHAR VAR C ALREADY BEEN SET.
ZOS 9.1 04 LENGTH OF CHAR VAR C ALREADY BEEN SET.
ZOS 9.2 04 LENGTH OF CHAR VAR C ALREADY BEEN SET.
VMXGSUM is extensively used in MXG summarization programs
(ASUMxxxx,TRNDxxxx,RMFINTRV,CICINTRV) and in many ANALxxx
report examples. If you have local reports that invoke
VMXGSUM/ANALCNCR, that have LENGTH statements in INCODE=
or OUTCODE= parms, you could generate the WARNINGS. So
TEST your REPORTS!!
This change also eliminated the LNSUMOUT macro variable
in Change 25.248 that was thought needed to eliminate the
warnings. It only worked in simple cases and ended up
with the output variable lengths different than input.
Changes made to MXG members to eliminate this WARNING:
-VMXGSUM was revised internally, adding the KEEPLEN option
in PROC MEANS, to propagate the input length to output.
That option was added back in SAS Version 7, but only now
is it needed to eliminate the WARNINGs inside VMXGSUM in
the MXGSUM1/MXGSUM2/MXGSUM3 temporary datasets.
-VMXGSUM LENGTH statements for NUMERIC variables was moved
after SET statement to eliminate those WARNING messages.
-Other MXG programs listed had PROC MEANS/PROC SUMMARY and
warning messages that are similarly eliminated now.
-ANALCNCR. LENGTH &DEFAULT added to CONCURR2 step.
Specific MXG summary programs that required modifications:
-VMXGUOW Variable TRANNAME was incorrectly set to $8 in
several LENGTH statements, but CICS TRANNAME is
only four bytes long. The output PDB.ASUMUOW
dataset did have TRANNAME $4, but the $8 caused
WARNING messages.
-ASUMDOS LENGTH DEFAULT=&MXGLEN; needed in INCODE= for
variable DATE.
-TYPEZARA Invoked PROC MEANS, rather than VMXGSUM, so the
INHERIT option and &KEEPLEN were added.
Fixed so QA would run; dunno if product exists!
-VMACVMXA PROC MEANS were updated with /INHERIT &KEEPLEN,
and LENGTH statements moved to after SETs.
-UTILXRF1 SAS V9.2 PROC CONTENTS changed the length of
variables LABEL and MEMLABEL to $256, and
MEMNAME/DATASET from $8 to $32, causing this
MXG QA utility to generate WARNINGs due to hard
coded LENGTH statements. The PROC CONTENTS
output variable's length change also causes the
DOCVER step of QA job to print the WARNING,
when creating DOCVERnn by comparing OLD and NEW
version's QA data libraries that have intended
length changes. This is unavoidable, but not
an error, and only occurs in my QA job.
-ANALDOS Last updated 18 years ago. PROC MEANS and PROC
SUMMARY (same code as MEANS) needed INHERIT and
KEEPLEN options added.
-ASUMHSM Variable REQUEST needed LENGTH 8 when created
in a DATA step; it is a datetimestamp.
-EXTYTPMX The 99 optional TPMX User Character variables
are each INPUT with a $VARYING50 statement, but
all are then listed in a default DROP statement
(that you would tailor in this exit member if
you wanted one or more to be kept). But there
was a LENGTH TPMUC1-TPMUC99 $1.; statement, to
minimize disk space if all variables were kept
that generated the WARNING message. That LENGTH
statement is now inside comments.
The following note was superceded by Change 26.189:
-VMXGINIT Enables OPTION VARLENCHK=NOWARN; for SAS V9.2.
This requires a Hot Fix for Phase I Foundation
but the new option will be in Phase II V9.2
The OPTION VARLENCHK was added to Phase I by Hot Fix.
If that OPTION VARLENCHK does not yet exist, on your
SAS V9.2 platform, this note will be printed
NOTE: ARGUMENT 1 TO FUNCTION GETOPTION INVALID,
on the SAS log, but it has no impact, except to tell
you to install that Hot Fix to eliminate that note,
but more importantly to suppress the warning.
Thanks to MP Welch, SPRINT, USA.
Change 26.064 Implementation of Rich Olcott's "The Actuals Map" and the
ANALACTM "WLM Service Goal Summary", as described in his paper,
Apr 12, 2008 "Dimensions of Service - Exploring WLM's Solution Space".
The Actuals Map uses SAS/GRAPH to display a daily graph
of interval service units consumed by each Service Class,
color modulated by quality of service delivered (based on
PERFINDX value: Green LT 0.6, Blue 0.6-1.4, Red GT 1.4).
with the graph arranged top to bottom by the Importance
of that Service Class. The PowerPoint paper is available
at http://regions.cmg.org/regions/mcmg/
Rich%20Olcott%20-%20Dimensions%20of%20Service%20
-%20MCMG%20.ppt
The MXG implementation provides additional features and
creates html output for these reports, and will create a
report for each system, or report each sysplex, etc.
Reese is cited simply because he asked for the report!
Thanks to Rich Olcott, (now) IBM Global Services, USA.
Thanks to Chuck Hopf, Bank of America, USA.
Thanks to Reese Bailey, Progress Energy, USA.
Change 26.063 Only DB2ACCT observations with QWACATYP=4, CICS Attach,
VMXGUOW will be considered for merge with CICSTRAN, and only if
Apr 12, 2008 the UOWTIME is non-missing in the DB2ACCT dataset. Some
DB2ACCT observations that exceeded SPINCNT, because they
had a missing UOWTIME value, were inadvertently output.
Now, they are not output, but are counted and a note is
printed on the log with the number of these DB2ACCT obs
with QWACATYP=4 and UOWTIME=. were discarded by ASUMUOW.
Thanks to Diane Eppestine, IBM Global Services, USA.
Change 26.062 In some cases (from %UTILBLDP), where there were a lot of
VMXGPARS special characters like ( ) ; ' % in the text, the parser
Apr 12, 2008 got sick on macro quoting function idiosyncrasies. Using
the %SUPERQ macro function appears to solve the parsing.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA
Change 26.061 Internal dataset TYPE70SP, added for the "SPLIT70" logic,
VMAC7072 was explicitly named and was not in _N7072, so it could
VMXGINIT not be "_NULL_"ed. MACRO _WTY70SP &WTY70SP..TYPE70SP %
Apr 12, 2008 is now defined and VMXGINIT updated and _N7072 updated.
Since it uses _VTY70 and _KTY70 definitions for content
tailoring, no other _xTY70SP macros are not defined.
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.060 COSMETIC SAS V9.2 differences with SAS V9.1.3.
ANALRMFR SAS V9.2 changed some text in SASLOG NOTES, but none have
Apr 12, 2008 any impact on MXG execution. They do make comparison of
SAS logs of MXG QA runs from both versions a bit messy,
but these were noted in validating MXG execution .
-The FULLSTATS statistics at the end of each PROC/DATA
step is enhanced with new resource information:
NOTE: The SAS System used:
real time 28:46.70
user cpu time 3:26.99
system cpu time 3:55.99
Memory 89953k
OS Memory 101216k
Timestamp 4/11/2008 6:39:31 PM
The FULLSTIMER Statistics documentation states:
Real Time - amount of time spent to process the SAS
job, also referred to as elapsed time.
User CPU - CPU time spent to execute SAS code
System CPU - CPU time spent to perform operating
system tasks (system overhead tasks)
that support the execution of SAS code.
Memory - the amount of memory required to run a
step.
OS Memory - the maximum amount of memory that a
step requested from the System.
Timestamp - the end date/time of the step. Useful
in diagnosis of SAS run time issues,
and to correlate log events to time of
day. Better than the OPTIONS DTRESET;
that prints time to the minute at each
new page, but I would have preferred to
also see time to the milliseconds; a
simple data step with no variables runs
in about 5 milliseconds.
-A new LIBREF, MAPS, exists with SAS V9.2 on Windows; this
caused WORK.LIBNAMES and WORK.MXGENG datasets to have
observation count differences when %VGETENG was used to
get the engine type of a libname and saw the new libname.
This has zero actual other impact.
-The PROC CONTENTS output under SAS V9.1.3 printed only 42
lines per page, while SAS V9.2 prints 54 lines when both
had the OPTIONS PS=54 default. This caused the location
"printed pages 1-105" with 9.1.3 to be "pages 1-79" with
SAS V9.2, which, of course, then impacted the location in
all subsequent "printed pages n-m" log messages.
-Inconsistencies in character text in these NOTEs:
NOTE: The DATA step printed page 269.
NOTE: The DATASTEP printed page 325.
NOTE: No observations in input data set.
NOTE: No observations in input dataset.
-The SPF compare showed four cases of '0c'x before MXGNOTE
with SAS V9.2, and five different instances with V9.1.3.
The MXGNOTE text is a %PUT MXGNOTE statement, so having
any difference was quite confusing, until I realized that
the '0c'x in column 1 of the SAS log file when written to
a disk file under Windows, is the top-of-page control,
and these MXGNOTEs with '0c'x just happen to start a new
page, and with the PROC CONTENTS changing pages, there
were different lines at the top of each page, but nothing
more nefarious.
-COMPRESSION DISABLED for RDHITSP RDHITSNP datasets in 9.2
that was compressed in 9.1 suggest a minor change in the
internal when-to-compress algorithm.
-ANALRMFR: Harmless note new in V9.2 printed on SAS log:
"NOTE: The array IN has the same name as a SAS-supplied
or user-defined function. Parentheses following
this name are treated as array references and not
function references."
The array name was changed to ININ to eliminate printing
of this new harmless (and useless?) NOTE on the SAS log.
I also made all FILE statements parameters consistent,
left to right, for ease in reading, before I had realized
that '0c'x issue was NOT due to differences in the FILE
parameters in the ANALRMFR program itself!
-An additional NOTE: WORK.CICSUOW HAS 0 OBSERVATIONS when
datasets for ASUMUOW all has zero observations, possibly
due to use of VIEWs.
Change 26.059 Variable SRDMXUSE was input $1 Format $HEX2., but it is
VMACSRDF the numeric Max Percent Cache. New variable SRDMXUSP is
Apr 10, 2008 created to avoid an ABEND due to CHAR and NUM conflict if
May 5, 2008 the name were reused and you combined differently built
PDB datasets. The old variable is left unchanged, and
you can create the new numeric variable in old PDB's with
SRDMXUSP=INPUT(SRDMXUSE,&PIB.1.)/256;
May 5: Flags 3 and 4 decoded into individual variables.
Change 26.058 IMF dataset TYPECIMS variable INPUTCLS was increased to
VMACCIMS 2 bytes, but the FORMAT INPUTCLS $HEX2. statement seen
Apr 10, 2008 before INPUT defined the variable's length to one byte.
The $HEX2. was changed to $HEX4. But the INPUT was also
now incorrect, as the two-byte value starts @76, instead
of @77 for the one-byte value. An input class of ' T'
that would have been stored as INPUTCLS='T' in one byte
will now be stored as INPUTCLS=' T' in two bytes, so you
need to examine any tests for INPUTCLS in your reporting
programs.
Thanks to Geert De Batselier, KBC, BELGIUM.
Change 26.057 Change 25.090 added QW0225BB to the old T102S225 dataset,
VMACDB2 but it falsely said it was also added to DB2STAT4. Now,
Apr 8, 2008 it is kept in DB2STAT4.
Thanks to Kerry Sommers, Deere & Co., USA.
Change 26.056 Replaced by Change 26.264.
Change 26.055 SAS V8 only: ERROR: REQVECTOR DATAREP IN DROP, KEEP ....
UTILCONT because those two variables only exist with SAS V9. As
Apr 4, 2008 they were only referenced in a DROP statement for a temp
dataset, they are removed with no other impact.
Thanks to George Ellard, Fedex, USA.
Change 26.054 Cosmetic. Format MGBYTES added to the byte-containing
VMAC16 variables (BYTESORT ICEMOSIZ ICEFILSZ), and the format
Apr 4, 2008 MGKILO is added to these count variables, which can have
large values, so they will "print pretty".
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.053 The ASIxxxxx percentages calculated by MXG in ZRBASI use
VMACRMFV ASISMPCT='NUMBER OF*VALID*SAMPLES*THIS ASID', but RMF III
Apr 2, 2008 reports use SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'.
So if there are 2 samples for the job in question, in a
100 sample MINTIME interval, and one delay sample, MXG
calculated 1/2 = 50% while RMF reports 1/100 = 1%.
I could create 50 additional ASIxxxxx variables with the
RMF III percentage values, but I personally think the way
MXG calculates is more useful, since it reflects delay or
using only when the job is actually active. However, if
you wish to match the IBM RMF III display, you can use
IBMPCT=MXGPCT*ASISMPCT/SSHSMPNR;
because I have added SSHSMPNR to the variables kept in
ZRBASI dataset.
Thanks to Susan Kent, Charles Schwab, USA.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 26.052 IBM SMF 110 Subtype 2 Statistics STID=31 segments are not
VMAC110 always valid; the segment length of 808 indicates there
Mar 31, 2008 are 16 segments, but many segments have a value of one in
LDBNRDSN, so MXG now loops to MAX(LDRNRDSN,SKIP/44).
Impacts only the CICSDBDS dataset.
Thanks to Diane Eppestine, IBM Global Services, USA.
Change 26.051 ACF2 changed the format of ACSMFREL from a packed numeric
VMACACF2 value ('62'x for Release 6.2) to a hex character ('C0'x
Mar 28, 2008 for release 12), causing INVALID DATA FOR ACSMFREL, which
cause ACSMFREL to be a missing value, causing additional
potential errors. The INPUT was revised and 'C0'x will
now be converted to ACSMFREL=12.0;
Thanks to Patrick Holloman, Zions Bank Corp, USA.
Change 26.050 Cosmetic. Variables VOLSER and STORGRUP can be hex zeros
VMAC74 for tape devices (no volume mounted at end of interval);
Mar 28, 2008 MXG now translates to blanks to avoid non-printables.
Change 26.049 Transparent restructure of the _C102sss macros relocated
VMAC102 IF QWHSIID= nnn THEN DO; statements to be the first in
Mar 27, 2008 each definition, ahead of the LABEL, FORMAT, LENGTH, etc.
This permits the use of the _CDExxxx syntax to construct
MXG programs for multiple SMF record processing, using:
%INCLUDE SOURCLIB(VMACSMF,VMACID,VMAC110,VMAC26J2,
VMAC30,VMAC74,VMACDB2,VMAC102,IMACKEEP);
DATA
_VARID _VAR110 _VAR26J2 _VAR30
_VAR74 _VARDB2 _V102022 _V102044
_V102063
_SMF
_CDEID
ELSE _CDE26J2
ELSE _CDE30
ELSE _CDE74
ELSE _CDEDB2
ELSE _HDR102
ELSE _C102022
ELSE _C102044
ELSE _C102063
_END102
RUN;
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 26.048 If there was no SUM MIN MAX MINTIME MAXTIME or SUMLONG,
VMXGSUM VMXGSUM aborted, saying it had nothing to do, even if
Mar 27, 2008 you had asked for other statistics. Now corrected.
Change 26.047 Support for Version 6 of MegaCryption SMF records added
VMACMGCR two new variables (INCOMPATIBLY, as they were inserted):
Mar 27, 2008 MGCRCOMP='COMPRESS=*PARAMETER*IN MGCPARMS'
MGCRTSKI='TCB*ADDRESS'
and increased the length of two character fields,
MGCRIV from $8 to $16, and MGCRKS from $40 to $64.
Thanks to Denise Willers, InfoCrossing, USA.
Change 26.046 Support for GPARMKY=0050x ESS data creates new variable
IMAC6ESS ESSPRTAT='ESSPRTAT*PRINT*ATTRIBUTE*IN ESS'
VMAC6 Sample record has a value of "document-codepage=IBM-273".
Mar 28, 2008
Thanks to Peter MacCarthy-Morrogh, ATOSORIGIN, GERMANY.
Thanks to Alexander Raeder, ATOSORIGIN, GERMANY.
Change 26.045 VMACIMS support for '08'x log record for IMS Version 10
VMACIMS was incorrect even after Changes 26.026 and 26.045; the
Mar 27, 2008 logic was revised, and enhanced to use the LINTSUB bits
to store TRANSACT in LINTPSB (a new field added in V10)
and to store LINTSY2 into TRANSACT when appropriate.
Labels were added for many variables for IMS08 dataset.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Change 26.044 Change 26.026 misspelled TRANCLAS as TRABCLAS in its new
VMACIMSA in IMS 9.0+ two-byte INPUT, so TRANCLAS was still wrong.
Mar 26, 2008
Thanks to Steve Hudson, AVNET, USA.
Change 26.043 Initial header INPUT of SYSTEM in 1.4 to get SYSZONE was
VMACVMXA off by 4 bytes, but actual 1.4 INPUT was correct and the
Mar 26, 2008 value is retained from that INPUT.
Change 26.042 Support for new UARG record with PROGNAME added, but only
VMACNMON PID and FULLCOMD populated (and the short record caused
Mar 25, 2008 INPUT STATEMENT EXCEEDED error).
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 26.041 The default INTERVAL in ASUM70PR in MXG 26.01 was changed
ASUM70PR accidentally to INTERVAL=HOUR, but the intended default
Mar 21, 2008 of INTERVAL=QTRHOUR,CECINTRV=HOUR are reinstated.
Thanks to Jorge Fong, New York City DOITT, USA.
Change 26.040 Variables for zIIP engines are added to TREND.TRND72GO:
TRND72GO ZIPUNITS ZIEUNITS CPUZIPTM CPUZIETM
Mar 21, 2008
Thanks to Ingegerd Jansson, Volvo, SWEDEN.
Change 26.039 -Support for APAR OA24074 adds variable SMF70HHF to TYPE70
VMAC7072 (COMPATIBLY), with more complete HiperDispatch Status
Mar 17, 2008 than in the original HiperDispatch Status in SMF70HDM.
Mar 28, 2008 The new SMF70HHF is formatted HEX2 with these bit values:
Apr 5, 2008 SAS bit IBM Bit Meaning
'1.......' 0 HiperDispatch supported
'.1......' 1 HiperDispatch is active
'..1.....' 2 HiperDispatch status changed
-MXG 26.01 SMF70PAT/CPUPATxx, new parked time, was wrong;
my guessed INPUT of SMF70PAT/CPUPATxx Parked Time with no
test records was incorrect, needing a divide by 4096.
So MXG 26.02 is needed for HiperDispatch and Parked time.
-See Newsletter FIFTY-TWO for description and schematics
of this new "Parked Time" durations in TYPE70/TYPE70PR.
-The PCTMVSBY calculation now subtracts SMF70PAT (parked)
from SMF70ONT (online) for the denominator. Those three
elapsed time durations in SMF70PAT, SMF70ONT and DURATM
are gathered separately and small deviations are expected
and observed: SMF70PAT was 0.015 seconds (15 millisecs)
larger than SMF70ONT, which would have created a negative
PCTMVSBY, so MXG's heuristic now calculates the PCTMVSBY
only if the ONT-PAT delta is at least +.02 seconds.
-SMF70HDM was not initialized to blank and was incorrectly
kept in TYPE70 instead of TYPE70PR.
-This APAR and Change applies only to z10 and later CPUs.
Change 26.038 Datasets VXPRCIOP and VXAPLSL0 were not _NULL_'ed in the
VMACVMXA MACRO _NVMXA.
Mar 17, 2008
====== Changes thru 26.037 were in MXG 26.01 dated Mar 11, 2008=========
Change 26.037 The FORMATS step in the first MXG 26.01 fails on z/OS due
FORMATS to a syntax difference between Windows and z/OS SAS that
Mar 11, 2008 I added after the last QA test on z/OS.
Thanks to Nathan Loewenthal, CITI, USA.
====== Changes thru 26.036 were in MXG 26.01 dated Mar 10, 2008=========
Change 26.036 Variable R793CUT was 0.062 when it should have been 62,
VMAC79 the Percent MVS Utilization. Variable R793CUU, Percent
Mar 10, 2008 LPAR Utilization was correct. The 4.3 input is now 4.
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 26.035 Dataset TYPE74SY variable R742SDIR is FORMATed with the
FORMATS existing $MG074PD format, and that format is updated with
VMAC74 new value '20'x:'20X:LOCAL' so it can be used for both
Mar 10, 2008 R742SDIR and R742PDIR variables
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 26.034 ITRF TYPE='10'x INPUT STATEMENT LENGTH error because the
VMACITRF record with LENGTH=251 was not expected; now the code
Mar 8, 2008 tests each INPUT statement to verify data is present.
Comments added to indicate that MXG has been tested with
records from OMEGAMON XE FOR IMS 4.1 with DCR 77/78.
Change 26.033 Support for new VMWare Objects, CA NSM Performance cubes
EXTVW011 creates these new datasets with TYPETNG (NSM was TNG):
EXTVW012 DATASET DDDDDD DESCRIPTION
EXTVW013 VW011 VW011 NSM CA CPU INTERRUPT GRO
EXTVW014 VW012 VW012 NSM CA CUBE STORE GROUP
EXTVW015 VW013 VW013 NSM CA DISK GROUP
EXTVW016 VW014 VW014 NSM CA PROCESS GROUP (PI
EXTVW017 VW015 VW015 NSM FILESYSTEM
EXTVW018 VW016 VW016 NSM NETWORK
EXTVW019 VW017 VW017 NSM PRINTER QUEUE
FORMATS VW018 VW018 NSM PROCESS
IMACTNG VW019 VW019 NSM USERS
VMACTNG and new metrics were added to several existing VMWare
VMXGINIT datasets.
Mar 8, 2008
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 26.032 Debugging PUT _N_= _I_= _J_= LOCCONN=; statement printed
VMACRMFV lots of messages on the log if you enable CF data, but
Mar 7, 2008 had no other adverse impact, and is now removed.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 26.031 -Support for Dedicated zAAPs and fix for Dedicated zIIPs.
VMAC7072 Change 25.211 only worked for one Dedicated zIIP engine,
VMXG70PR because it used total ZIPWAITM vs the ZIPWAIT(LCPUADDR+1)
Mar 7, 2008 wait time for each engine, impacting TYPE70 variables
ZIPACTTM, PCTZIPBY, and PCTCIBYn. That logic is fixed,
and new logic for Dedicated zAAPS is added, impacting the
IFAACTTM, PCTIFABY, and PCTCIBYn variables. For Shared
zIIPs or zAAPs, the LPAR Dispatch time was always valid,
but for Dedicated zAAPs or zIIPS, the dispatch time was
always reported as 100% busy.
I recommend that you do not use the PDB.TYPE70PR dataset,
as it has too much detail and requires lots of logic in
your programs to sort out what's what; instead, use the
ASUM70PR-created PDB.ASUMCEC and PDB.ASUMCELP CEC-level
summary datasets or PDB.ASUM70PR and PDB.ASUM70LP, which
already have separate variables for the "CPU" times for
your CPs, ZIPs and ZAPs. But, if you still use TYPE70PR:
For Dedicated zIIPs and zAAPs, in the PDB.TYPE70PR
dataset, the LCPUPDTM and LCPUEDTM dispatch values are
not changed, and will still be the "100%" value. But
MXG now creates IFAACTTM and ZIPACTTM variables from
the ORIGWAIT field for each LCPUADDR that is an IFA or
a ZIP engine.
-Support for Dedicated zIIPs and zAAPs in ASUM70PR-created
summary datasets was also added by this change, so the
PDB.ASUM70PR, PDB.ASUM70LP, PDB.ASUMCEC and PDB.ASUMCELP
datasets have correct values.
Thanks to Mark Cohen, DTS, ITALY.
Change 26.030 -Two extraneous debugging PUT statements were removed from
VMACNTSM the SQL record processing.
Mar 6, 2008 -Datasets SQLDATAB and MSQDATAB have new variable
INSTANCE ('SQL' in SQLDATAB, MSQSRVDB in MSQDATAB),
and DATABASE is populated, for ease in combining them.
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 26.029 Cosmetic. A slash was missing in the SUCCESSFULLY READ
VMACSMF SMF message, causing a linewrap on the SAS log.
Mar 6, 2008
Thanks to Peter Krijger, ANZ National, NEW ZEALAND.
Change 26.028A Fields added COMPATIBLY to HSM FSR SMF record in z/OS 1.8
FORMATS and z/OS 1.9 are now created in HSMFSRST dataset, and all
VMACHSM bit flags are decoded.
Mar 6, 2008 New variables added in z/OS 1.8 SMF records:
FSRCPYME='REQUESTED*FAST REPLICATION*METHOD'
FSRFDASD='DASD*COPY*DELETED?'
FSRFDCPY='DUMP CLASS*COPY POOL*DELETED?'
FSRFDVER='ENTIRE*DUMP*VERSION*DELETED?'
FSRFPIGB='USED*TAPE*ALREADY*MOUNTED?'
FSRFRDMP='FAST*REPLICATION*DUMP OR*RESORE?'
FSRFREMO='COMPLETED*ON*REMOTE*SYSTEM?'
FSRFRHOS='MWE*PROCESSED*BY REMOTE*HOST?'
FSRFRTRY='BACKUP*DURING*RETRY*INUSE?'
FSRFBKTP='BACKUP*VERSION*DELETED*IS ON TAPE?'
FSRFEXBV='BACKUP*VERSION*DELETED BY*EXPIREBV?'
FSRFEXDT='DATASET*DELETED BY*EXPDT OR*MGMTCLASS?'
FSRFVINI='RECOVERY*SCHEDULED*FROM VOLUME*REQUEST?'
FSRFXPL1='DATASET*BEING*EXPIRED*IS FROM ML1?'
FSRFXPL2='DATASET*BEING*EXPIRED*IS FROM ML2?'
FSRRECON='RECONNECTION*MIGRATION?'
FSRFLG4 ='FSRFLG4*FLAGS'
FSRFG480='FSRF*FRRECOV*DSNAME*COMMAND?'
FSRFG440='FSRF*FRRECOV*FROMDISK*ONLY?'
FSRFG420='FSRF*MULTIPLE*DSNAMES*SPECIFIED?'
FSRFG410='FSRF*MULTIVOLUME*FRRRECOV*REQUEST?'
FSRFG408='FSRF*ALTERPRI*COMMAND?'
FSRFG404='FSRF*ALTERPRI*HIGH*KEYWORD?
FSRFG402='FSRF*INC*COPY POOL*INCREMENTAL?'
FSRORGID='HOST*ID THAT*GENERATED*REQUEST'
FSRFREAS='FSR*FR*REAS*RETURN*CODE'
FSRCLIP ='TARGET*VOL+FROM MWE*VOL RESTORE'
FSRCPNAM='COPY*POOL*NAME'
New variables added in z/OS 1.9:
FSRECYSO='SOURCE*FOR*RECYCLE*OPERATION'
FSRECYCN='RECYCLE*COUNTER'
FSRCALTW='RECALL*CAUSED*TAPE*TAKEAWAY?'
FSRPSQTY='TRACKS*NEEDED*WHEN ML1*OUT OF SPACE'
Bit variables now decoded that should have been decoded:
FSRFFSTR='FROM*STRIPED?'
FSRFFSTR='TO*STRIPED?'
FSRFNONQ='NOT*SERIALIZED*ENQUEU?'
FSRFNQN1='ENQUE*FAILED*ONCE?'
FSRFNQN2='ENQUE*FAILED*AGAIN?'
FSRFVER ='FSRGEN*CONTAINS*VERSON?'
FSRFVSDS='VSAM*DATASET?'
FSRFT0 ='CONCURRENT*COPY*FUNCTION*USED?'
Variables DSRTYPE,VSRTYPE,FSRTYPE,WFSRTYPE are decoded by
MGHSMFU format, which is updated with new values of:
21='21:FAST REPLICATION BACKUP FUNCTION'
22='22:FAST REPLICATION RECOVER FUNCTION'
23='23:FAST REPLICATION DELETE FUNCTION'
Thanks to Michael Friske, Fidelity Systems, USA.
Change 26.028 Protection for a divide by zero when SMF70GMU was zero,
VMXG70PR in the new Group Capacity PCTGCUSE creation in ASUM70GC
Mar 6, 2008 dataset.
Thanks to Alexander Raeder, ATOSORIGIN, GERMANY.
Change 26.027 Nigel's Monitor, NMON, writes RECTYPE='ERROR' records,
VMACNMON with a text message (ERRORMSG=), and MXG printed the text
Mar 6, 2008 on the SAS log, but ERRORMSG= made it look like it was an
MXG error. Now, when these records are read, the text on
the log is printed with this header information
NMON RECTYPE=ERROR: _N_=13720 SNAPSHOT=T0144
ENDTIME=25FEB2008:02:37:52.00
MESSAGE: ERROR,T0144,Disk statistics reset detected.
This time Read=0 Write=0 and Total So far=0
You'll have to contact your NMON guru over in AIX/LINUX
land, to find out if that message is expected or not.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 26.026 IMS Log updates for IMS Version 9 or IMS Version 10.
IMACIMS -TYPEIMS7 and TYPEIMSA (used in ASMIMSL6/JCLIMSL6) now
IMACIMSA both keep these new variables from 07 and 08 log records
VMACIMS in their IMS0708 and IMSTRAN and BMPS datasets:
VMACIMSA From IBM IMS 07 log record:
TYPEIMS7 DLRABRSN='ABEND*REASON*CODE'
TYPEIMSA DLRCPUID='CPU ID*PLACE*HOLDER'
Mar 6, 2008 DLRESAF ='ESAF*CALLS'
DLRFLD ='FASTPATH*FLD*CALLS'
DLRNPGM ='DLRNPGM '
DLRNWID ='NETWORK*IDETIFIER*OF LAST*MESSAGE'
DLROSAMR='OSAM*IO*READS'
DLROSAMW='OSAM*IO*WRITES'
DLRPOS ='FASTPATHP*POS*CALLS'
DLRRLSE ='RLSE*CALLS'
DLRTOTIO='TOTAL*DL/I*OSAM+VSAM*CALLS'
DLRVSAMR='VSAM*IO*READS'
DLRVSAMW='VSAM*IO*WRITES'
DLRXCOPY='COPY*CALLS*(XQUERY)'
DLRXRSTR='RSTR*CALLS*(XQUERY)'
DLRXSAVE='SAVE*CALLS*(XQUERY)'
From IBM IMS 08 log record:
LINTFLG1='FLAG*1'
LINTPGM ='PROGRAM*NAME'
LINTPSB ='PSB*NAME'
LINTSUB ='IMS08*SUBTYPE'
LINTSY2 ='TRANCODE OR DBNAME'
-The default in _IMSVERS value is now consistently 8.1.
Member IMACIMS is used only in archaic TYPEIMS member.
Member IMACIMS7 sets _IMSVERS for TYPEIMS7 member.
Member IMACIMSD sets _IMSVERS for TYPEIMSD (DBCTL).
Member IMACIMSA sets _IMSVERS for TYPEIMSA (ASMIMSL6).
Member IMACIMSA sets _IMSVERS for TYPEIMSB (ASMIMSL6).
-You can always use the &MACKEEP macro variable to set the
value of _IMSVERS instream, with this syntax:
%LET MACKEEP= MACRO _IMSVERS 10.0 % ;
%INCLUDE SOURLIB(TYPEIMS7);
-All datetime stamps are now converted to local time zone
when INPUT in the VMACIMS and VMACIMSA members, now that
GMTOFFTM exists in all active IMS Versions; this makes
the detail IMSxx datasets consistent with the final
IMS0708 and IMSTRAN output datasets. The GMTOFFTM logic
in the TYPEIMSA member was removed.
-These five variables are now correctly input as Packed:
DLRMINT /* WAIT TIME*FOR*INTENT*CONFLICT*/
DLRMPOL /* WAIT TIME*FOR*POOL*SPACE*/
DLRMSCH /* ELAPSED TIME*FOR*SCHED PROCESS*/
DLRTMEIO /* DBCTL*DB I/O*ELAPSED*TIME*/
DLRTMEPL /* DBCTL*LOCKING*ELAPSED*TIME*/
-Additional cleanup and validation with V8, V9, and V10
log records, and detection of incorrect _IMSVERS setting
in many cases will stop processing with log messages.
Thanks to Steve Hudson, AVNET, USA.
Change 26.025 Support for APAR OA12774 new z10 variables (COMPAT).
VMAC7072 MXG 25.25 supports (TOLERATE) the new z10 processor, and
VMAC71 it won't fail if you install this APAR, but you will need
Mar 2, 2008 MXG 26.01 if you want to use any of these new variables:
Mar 6, 2008 New variables in TYPE70 dataset:
SMF70HDM='HIPERDISPATCH*IS*ACTIVE?'
SMF70MCR='MODEL*CAPACITY*RATING OF*SMF70MDL'
SMF70MPC='MODEL*PERMANENT*CAPACITY*IDENT'
SMF70MPR='MODEL*PERMANENT*CAPACITY*RATING'
SMF70MTC='MODEL*TEMPORARY*CAPACITY*IDENT'
SMF70MTR='MODEL*TEMPORARY*CAPACITY*RATING'
CPUPATm0='CPU 0*PARKED*DURATION'
CPUPATm1='CPU 1*PARKED*DURATION'
CPUPAT.. ...
CPUPATYb='CPU 62*PARKED*DURATION'
CPUPATYC='CPU 63*PARKED*DURATION'
CPUPATTM='TOTAL*PARKED*DURATION*ALL CPUS'
New variables in TYPE70PR dataset:
SMF70CAN='AVERAGE*THIS SMF70CIN*ENGINES*IN CEC'
SMF70POW='AVERAGE*HIPERDISPATCH*WEIGHT'
SMF70PAT='LCPUADDR*PARKED*DURATION'
New variables in TYPE70Y2 Crypto dataset:
R702NH5C='SHA-384/512:CALLS*TO*HASH'
R702NH5B='SHA-384/512:DATA*BYTES*HASH'
R702NH5I='SHA-384/512:PCMF INSTR*USED TO*HASH'
CRYIH5R ='SHA-384/512*HASHING*RATE'
CRYIH5S ='SHA-384/512*HASHING*SIZE'
New variables in TYPE71 dataset:
SMF71LOA='AVG*LARGE MEMORY*OBJECTS*ALLOCATED'
SMF71LOM='MIN*LARGE MEMORY*OBJECTS*ALLOCATED'
SMF71LOX='MAX*LARGE MEMORY*OBJECTS*ALLOCATED'
SMF71LRA='AVG NR*1 MB FRAMES*BACKED*REAL STORE'
SMF71LRM='MIN NR*1 MB FRAMES*BACKED*REAL STORE'
SMF71LRX='MAX NR*1 MB FRAMES*BACKED*REAL STORE'
-Discovered: these 12 percentage vars for CPUIDs 10,11,12
PCTCPBYA-YC, PCTIFBYA-YC, PCTZIBYA-YC, PCTCIBYA-YC
were overlaid by values from CPUIDs 61,62,63 if they
existed, because those names were reused.
New variable names for these metrics are now:
PCTCPBXA-XC, PCTIFBXA-XC, PCTZIBXA-XC, PCTCIBXA-XC
-Discovered: these variables summed across all CPUIDs
did not include CPUIDs 54 thru 63 (suffix ZT-ZZ,YA-YC):
CPUWAITM MVSWAITM CPUPDTTM CPUPATTM CPUEFFTM
Change 26.024 DB2STATS variables QTPACAUT, QTPACNOT and QTPACPUB were
VMACDB2 not de-accumulated.
Mar 1, 2008
Change 26.023 MXG 25.07-MXG 25.25 only. Fewer obs created in TYPE78CU
VMAC78 and in TYPE72IO datasets. The last LCUID was never output
Feb 27, 2008 in TYPE78CU because MXG's test for 60 bytes remaining
Apr 11, 2008 should have been for 58 bytes after the pointer was at
the end of the 2-byte field.
Thanks to Steve Lottich, The University of Iowa Hospitals, USA.
Change 26.022 The RACF Unload utility IRRDBU00 was revised to support
VMACRACF reading the EBCDIC text file while MXG executes on ASCII.
Feb 26, 2008 The output file is all text/ZD fields and MXG assumed
that under ASCII the data would have been downloaded and
translated from EBCDIC, but using ftp access to read the
file from ASCII did not work without revisions.
-Also, there were '92'x ASCII text (instead of '27'x for
single quotes) that when uploaded to z/OS became '00'x,
a non-printable, fortunately inside comments in VMACRACF
so they had no impact. But then a search of all members
found those text were also in the VMAC122, NEWSLTRS, and
DOCVER members, which were also corrected to '27'x text.
Thanks to Paul Gillis, Pacific Systems Management Pty., AUSTRALIA
Change 26.021 Specifying OUTDATA=CICSVIEW and OUTVIEW=YES with VMXGSUM
VMXGSUM caused errors because there was an extraneous &VWUTDATA
Feb 26, 2008 reference outside the DO group in line 1874. Deleting
the line corrects the MXG error.
Thanks to Nigel Greenwood, EDS, UK.
Change 26.020 Support for optional user-created CICS fields:
IMACICU6 CMODHEAD CMODNAME Variables Created
IMACICU7 VZSOAP SOAPOUT SOAPOUCN, SOAPOUTM
UTILEXCL VXAOAP SOAPABCT SOAPABCT
VMAC110
Feb 24, 2008
Thanks to Herbert Sweeney, Verizon Data Services Inc, USA.
Thanks to Vernon W. Gordon - Verizon Data Services Inc, USA.
Thanks to Marshall S. Hellmann - Verizon Data Services Inc, USA.
Thanks to Michael F. Root - Verizon Data Services Inc, USA.
Change 26.019 The DURATM values in IMACSHFT are used only for _DURSET,
IMACSHFT but the values in the examples were wrong. For those
Feb 20, 2008 three example shift definitions, the DURATM values should
have been 9*3600, 15*3600, and 48*3600
Thanks to Jeffrey A. Harder, Indiana Farm Bureau Insurance, USA.
Change 26.018 Dataset BVIR30 contained only data for Preference Group
VMACBVIR Zero, PG0. These PG1 variables are now INPUT and KEPT:
Feb 20, 2008 VIRVOL01 DATRES01 AV4HAG01 VL4MIG01 AV48AG01 VL48IG01
AV35AG01 VL35IG01
Thanks to Stan Adriaensen, AXA, BELGIUM.
Change 26.017 The COMPBYTE and UNCOMBYT byte counts were increased to 8
VMACXCOM bytes with two overflow fields that are input and added.
Feb 19, 2008 One new field overlaid TCPIPPNR, so it's a missing value.
Thanks to Peter J. Gray, EDS, AUSTRALIA.
Change 26.016 BLDSMPDB options WEEKKEEP WEEKDROP MNTHKEEP MNTHSROP did
BLDSMPDB not protect for lower case in the user input text.
Feb 18, 2008
Thanks to Loren Mitchell, Los Angeles County Office of Education,USA.
Change 26.015 Variable R783HLCU was not kept nor labeled, even though
VMAC78 I used it to confirm SMF78HIX was wrong, which led to
Feb 18, 2008 IBM APAR OA21799 (see Change 25.141)!
Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.
Change 26.014 IMPLX Version 4.1 support was incorrect; six fields that
VMACMPLX were input as PIB4. are actually PIB8., causing trashed
Feb 15, 2008 values in many variables.
Thanks to David Bixler, FISERV, USA.
Change 26.013 -With PARM='NONE', ASMRMFV still attempted to open the
ASMRMFV DDNAMES RMFBSAM, RMFFILT, and RMFSKIP. NONE was intended
Feb 10, 2008 to product no output, but omitting //RMFBSAM resulted in
a spurious USER ABEND, now eliminated. The //RMFBSAM DD
is still required for all other RMF table based selection
-Comments documenting RMFBSAM and "NONE" were enhanced.
-PARM='NONE' caused unnecessary ASMRMFV processing: the
output records were completely built before the test for
NONE, which prevented the write of the record. The test
was relocated to bypass that unwanted processing.
Thanks to Jack Schudel, University of Florida, USA.
Change 26.012 Cosmetic, used by MXG technical support. VMXGINIT prints
VMXGINIT the z/OS full dataset name or the ascii full path name
Feb 8, 2008 of each of the SOURCLIB and SASAUTOS concatenations.
On ASCII, a FILENAME statement with the LIST; operand is
used, but that does not work on z/OS, so a DATA step that
reads VEXTFL is used:
DATA; SET SASHELP.VEXTFL (UPCASE(FILEREF)='SOURCLIB'));
Change 26.011 Change 25.306 did NOT support IFCID 22 APAR PK38803; that
EX102I22 change text claimed SMF records with the APAR were wrong,
IMAC102 but that was my error; the SMF records with the APAR do
VMAC102 match IBM's DSECT, which I misread. The T102S022 dataset
VMXGINIT created by Change 25.306 will only have valid data in the
Feb 8, 2008 first obs output from each record; subsequent segments
were mis-aligned and had trashed values.
Moreover, MXG output T102S022 for each INDEX in each plan
keeping repeated values for the plan fields and wasting
disk space. This change creates new T102I022 Index
dataset with an obs for each index, keeping only the
index and sort variables, and creates the existing
T102022 dataset with one obs for each plan segment,
keeping only the plan related variables.
These index variables were removed from T102S022 dataset
QW0022MS QW0022NM QW0022AC QW0022AN
QW0022MO QW0022XF QW0022FF QWOL22AC
QW0022AC QWOL22AN QW0022AN
as they are now only kept in the T102I022 index dataset.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 26.010 New utility %MACRO VMXGPARS parses macro variables, like
UTILBLDP MACKEEP=, INCODE=, etc., that are a long string of text,
VMXGPARS into "chunks" that fit in 72 bytes and that are chunked
Feb 8, 2008 into reasonably humanly readable pieces of code. Used
now in UTILBLDP, it's use will like be extended to other
%MACRO defining members in the future.
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.009 NOTE: INVALID DATA FOR TRNSTTRA and TRNSTOPA is cosmetic
VMACCIMS only, and occurs when either field is not populated. MXG
Feb 6, 2008 now protects the PD input with double question marks.
The output datasets were correctly created.
Thanks to Ermanno Bertolotti, Intesa SanPaolo, ITALY.
Change 26.008 New MYDATA parameter is added, and a new CASE 3 example
VMXGUOW of how you might use it to insert new dataset name(s) and
Feb 5, 2008 a keep list, so that you can create a subset of ASUMUOW
(eg, based on Transaction name), without having to repass
millions of records in ASUMUOW to create it.
Thanks to Chuck Hopf, Bank of America, USA.
Change 26.007 The CICS Dispatcher Statistics CICDS dataset created from
VMAC110 SMF 110 Subtype STID=60 statistics segments, and the MXG
VMXGCICI PDB.CICINTRV interval summary dataset have new variables
Feb 5, 2008 CICTCTTM='TOTAL*DSGTCT*DURATION*TIME'
CICTDTTM='TOTAL*DSGTDT*DISPATCHED*TIME'
CICTWTTM='TOTAL*DSGTWT*IN OS WAIT*TIME'
and the existing
CICTCBTM='TOTAL*DSGACT*CPU TCB*TIME'
summed across all 19 CICS TCB names for the interval.
These data were added primarily so an IBM "Rule of Thumb"
could be tested; new variable
PCTREGBY='PCT*TCB/(TDT+TCW)*BUSY;
calculates the percent of Dispatch+OS Wait time that was
executing CPU TCB time, and IBM's recommends that if the
PCTREGBY formula calculates to more than about 70 percent
busy, they suggest that you need additional CICS Regions.
Thanks to Jacob Nudel, Thompson BETA Systems, USA.
Change 26.006 Support for 64 CP Engines adds sets of variables for CPs
VMAC7072 54 thru 63 with suffixes ZS-ZZ and YA-YC for TYPE70 data.
Feb 1, 2008 No such systems yet exist, but are expected so the code
Mar 8, 2008 is now in place to create those per-CPU variables.
Change 26.005 In all XAM VM datasets, variable ZDATE was LENGTH 5,
VMACXAM because it was created by code in VMACXAM instead of the
Jan 31, 2008 %%INCLUDE SOURCLIB(IMACZDAT);
which sets ZDATE's length to 4, which is always used to
create ZDATE, not only for length consistency, but the
IMACZDAT member is the tailoring member you would use for
a rerun of a prior daily build PDB job, to set the value
of ZDATE to that prior date. Having LENGTH 5 is not an
error, even though only 4 bytes are used elsewhere in MXG
but it's inconsistency uncovered this inconsistency.
Thanks to Theo Peelen, Fortis Bank, BELGIUM.
Change 26.004 -MXG expected NMON's "AAA,time" record ahead of "AAA,date"
VMACNMON but this site's data had "AAA,date", several lines, then
Jan 31, 2008 "AAA,time", which caused STARTIME to always be a missing
value. Presuming a local specification changed the order
I protected STARTIME for either order, found STARTIME was
now always populated in NMONINTV, but was still always
missing in NMONCPUD and all of the other datasets. After
much debugging, I discovered the original NMON data file
had been SORTED, which not only put date ahead of time,
but had lumped all of the end of interval 'ZZZZ' records
at the bottom, so none of the ENDTIME-only records, like
the CPUnn records, had either ENDTIME or STARTIME.
The moral: DO NOT SORT NMON DATA;
-Support added for new record types: ESSREAD and ESSWRITE
with seven VPATHn KB/sec, and ESSXFER with seven transfer
rates per second for each vpath.
Thanks to Massimo Pugliese, ELSAG Spa, ITALY.
Change 26.003 LPARCPUS is not integer in PDB.ASUM70LP & PDB.ASUMCELP
VMXG70PR MXG summary datasets, and LPARCPUS=0 could have been a
Feb 5, 2008 value between 0 and 1, because MXG erroneously FLOOR'd
LPARCPUS to force an integer value. While LPARCPUS in
PDB.TYPE70PR observations at the LCPUADDR detail is an
integer number of CP engines, in summarizing counts of
LCPUADDRs in each LPAR, and/or multiple intervals, MXG
sums SMF70ONT (the Online Time) and divides by DURATM,
the interval duration to create LPARCPUS. But the IPL
interval for a 3-CP engine with DURATM 5 minutes had only
3 minutes of uptime, SMF70ONT, causing LPARCPUS=0, when
the true LPARCPUS=0.7 value should have been calculated.
Now, that FLOOR is removed, LPARCPUS is FORMATed 6.1,
(so the printed value will be rounded and hence those old
2.9999 values will print as 3.0), and is now labeled:
LPARCPUS='LPAR*AVERAGE*NUMBER OF*CP*PROCESSORS'
in the datasets built by ASUM70PR summarization program.
Thanks to William Wai Lun WONG, HSBC, HONG KONG.
Change 26.002 Cosmetic, but still wrong and possibly confusing: a dozen
FORMATS value statements in FORMATS had incorrect right-hand hex
Jan 31, 2008 for the left-hand value (like '04'X='40X: explanation').
A new QA job will catch this type of error in the future.
Thanks to Danny Ball, Con-way Enterprise Services, USA.
Change 26.001 Typo VMUM introduced in Change 25.252 corrected to VWUM.
VMXGCAPT
Jan 30, 2008
Thanks to Brian Carter, EDS, UK.
LASTCHANGE: Version 26.
=========================member=CHANGE25================================
/* COPYRIGHT (C) 1984-2008 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 25.25 is dated Jan 28, 2008, thru Change 25.309
First MXG Version 25.25 was dated Jan 21, 2008, thru Change 25.302
MXG Version 25.12 was dated Jan 21, 2008, thru Change 25.294
MXG Version 25.11 was dated Dec 7, 2007, thru Change 25.268
First MXG Version 25.11 was dated Nov 22, 2007, thru Change 25.256
MXG Version 25.10 was dated Oct 7, 2007, thru Change 25.215
MXG Version 25.09 was dated Sep 17, 2007, thru Change 25.199
MXG Version 25.08 was dated Sep 5, 2007, thru Change 25.187
First MXG Version 25.08 was dated Sep 4, 2007, thru Change 25.182
MXG Version 25.07 was dated Aug 10, 2007, thru Change 25.161
MXG Version 25.06 was dated Jul 4, 2007, thru Change 25.134
MXG Version 25.05 was dated Jun 7, 2007, thru Change 25.107
MXG Version 25.04 was dated May 7, 2007, thru Change 25.086
Second MXG Version 25.03 was dated Apr 12, 2007, thru Change 25.058
First MXG Version 25.03 was dated Apr 10, 2007, thru Change 25.057
MXG Version 25.02 was dated Mar 10, 2007, thru Change 25.033
MXG Version 25.01 was dated Mar 5, 2007, thru Change 25.025
MXG Version 24.24 was dated Feb 5, 2007, thru Change 24.306
MXG Newsletter FORTY-NINE was dated Feb 5, 2007
MXG 25.25 is the 2008 "Annual Version", dated January 28, 2008.
Instructions for ftp download of MXG 25.25 were mailed to all licensees,
but you can always request ftp download instructions using the form at
http://www.mxg.com/ship_current_version
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. Current MXG Software Version 25.25 is available upon request.
II. Incompatibilities and Installation of MXG 25.25.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Version 25.25, now re-dated Jan 28, 2008.
Minor cosmetic corrections in MXG 25.25, re-dated Jan 28, 2008
TYPEXAM 25.307 Extraneous PUT from testing removed.
ASUM70PR 25.303 Extraneous PROC PRINT from testing was removed.
Minor enhancements in MXG 25.25, re-dated Jan 28, 2008
TYPERMFV 25.309 Support for RMF III CPD, Channel Path Data Table.
TYPE102 25.306 IBM SMF 102 IFCID 22 APAR PK38803 wrong, supported.
TYPE30 25.304 Support for APAR OA23679, BLKSIZE might be wrong.
COMPINTV 25.302 Capture/Compare ALL CPU times in 30/70/72/100/101/110
Major enhancements added in MXG 25.25, dated Jan 21, 2008
ADOCs 25.296 All ADOCxxxx member's CONTENTS were updated.
Major enhancements added in MXG 25.12, dated Jan 21, 2008
TYPEDB2 25.265 DB2TCBTM Correction for DB2 V9.1, REQUIRED.
TYPEDB2 25.291 DB2ACCT variable QWACUDCP CPU time added in DB2TCBTM.
TYPE122 25.287 Support for SMF 122, Tivoli Tape Allocation Manager
TYPEITRF 25.286 Support for ITRF DCR77/DCR78 additions.
TYPENTSM 25.282 Support for new NTSMF Objects, Database Mirroring.
TYPEMQLG 25.280 Support for MQ V6 System Admin Accounting Queue Log.
TYPE85 25.279 Support for subtypes 38, 39 and 40 for ID=85 OAM.
TYPEPSYC 25.277 Support for PSYNCH/390 SMF record.
TYPE22 25.276 Support for APAR OA20043 Dynamic Volume Expansion
TYPE102 25.306 Support for APAR PK38803 INCOMPAT SMF 102 IFCID 22.
TYPE50 25.269 Support for OSA-MPC VTAM SMF 50 subtype 4 record.
TYPETIMS 25.271 Revisions for TMON/IMS support
ASUM70PR 25.270 INTERVAL=DURSET cannot be used.
CONFIGV9 25.267 VALIDVARNAME=V7 added to SAS CONFIGs.
ITRMTNG 25.262 233 DDU files to create ITRM definitions for TYPETNG.
Major enhancements added in MXG 25.11 dated Dec 7, 2007.
TYPE111 25.241 Support for CICS CTG 7.1.0 new SMF 111 record.
TYPE110 25.240 Full Support for CICS/TS 3.2 Compressed Data
EXITCICS 25.240 New "CICS" INFILE EXIT for CICS compressed SMF data.
TYPE7072 25.224 CPUTYPE tests are replaced with ZARCHMDE tests.
This means that with MXG 25.11 or later, a new IBM
CPUTYPE will NOT require a new MXG Version.
TYPETPMX 25.239 Support for Thruput Manager SLM and DB2 data.
TYPE82 25.257 Support for ISCF HCR7750 TKE Logging update.
TYPEEVTA 25.255 Support for Action Software's EventAction user SMF.
TYPE85 25.234 New variables in OAM subtype 32-35 records.
TYPE78 25.236 Zero obs in TYPE78IO with Change 24.171 if z/OS 1.7.
TYPEEVTA 25.255 Support for Action Sofware's EventAction SMF record.
TYPERMFV 25.246 Updates for CPU Segmentation changes.
TYPENTSM 25.253 Support for new NTSMF objects for MSSQL.
TYPETNG 25.221 Support for VM Ware VSX Systems in CA NSM records.
TYPETNG 25.235 New Solaris, AIX, and many RedHat objects added.
VMXGSUM 25.248 New &LNSUMOUT=8 will make all output to length 8.
UTILEXCL 25.256 Macro variable &MXGDEBUG revised for IMACEXCL plus!
EXITCICS 25.240 MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
TYPE110 25.240 MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
UPRINDOC 25.226 Utility prints NAME and LABEL of all variables.
TYPE30 25.260 MXG 25.10, INTRVLTM missing for TYPETASK='OMVS'
ANALACTP 25.254 Sample report summarizes DB2 Package data to UOW.
CONFIGW2 25.252 MXG updates for testing MXG Execution under WPS.
Major enhancements added in MXG 25.10.
TYPE7072 25.205 Support for z/OS 1.9, up to 54 CPUs per MVS, INCOMPAT
TYPERMFV 25.204 CFI Segmentation eliminates RMF III skipped CF data.
ANALDB2R 25.202 VARIABLE QBnTDPIO NOT FOUND error corrected.
TYPE70 25.211 ZIPACTTM, PCTZIPBY corrected for Dedicated zIIPs.
ASUMCELP 25.209 Duplicate observations in PDB.ASUMCELP eliminated.
TIMEBILD 25.209 Optional SYNC59 timeshifting using TIMETABL.
Major enhancements added in MXG 25.09.
IMPORTANT CHANGES:
Almost none! Only UTILEXCL in 25.08 had an error, but these other
fixes/enhancements are now ready for prime time:
UTILEXCL 25.193 MXG 25.08 ONLY: LABEL IMACICU3 NOT FOUND.
TYPERMFV 25.191 Support for RMF Monitor III CFI table enhancements.
TYPESRDF 25.195 Support for EMC's SRDF/A user SMF record.
READDB2 25.189 New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
ANALDB2R 25.189 New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
RMFINTRV 25.199 SMF70GIE now reset to 00/15 if SYNC59=YES is used.
TYPE89 25.198 SMF89HOF,SMF89DTO were incorrect due to typo.
UTILCSV 25.197 %UTILCSV creates a CSV (or TAB) Delimited flat file.
UTILBLDP 25.196 Large &MACKEEP string caused strange results.
TYPE92 25.192 New ID=92 ST=14 INPUT EXCEEDED if not a RENAME.
Major enhancements added in MXG 25.08.
IMPORTANT CHANGES:
TYPETNG 25.181 Support for CA NSM RedHat 4.01 Linux perf cube.
TYPE7072 25.176 Support for APAR OA18244, Blocked Workload z/OS 1.9.
TYPE7072 25.163 Support for Capacity Groups variables in TYPE70.
ASUM70PR 25.163 Capacity Group summarization, PDB.ASUM70GC/ASUM70GL.
TYPEQACS 25.178 AS400 APAR QAPMDISK with LRECL=456 added new data.
ADOCDB2 25.172 Example to process DB2 datasets to separate DDNAMES.
TYPEDB2 25.169 _RDB2ACC DB2 Parallel event "analysis" example.
Many 25.179 %UPCASE,%LOWCASE,%STR,%BQUOTE,%QUOTE, etc.
Doc 25.179 Use %LET MACxxxx= %STR( text ) ; to pass text.
Major enhancements added in MXG 25.07.
CRITICAL CHANGE:
TYPE78 25.141 APAR OA21799 for HiperPAV, ABEND, SMF78HIX invalid.
Installing HyperPAV can create invalid RMF 78-3's
that cause BUILDPDB to ABEND as it reads RMF 78's.
Change 25.141 will detect bad records and avoid the
ABEND, but you will need to install the IBM PTF for
the APAR to correct the invalid data values.
IMPORTANT CHANGES/ENHANCEMENTS:
Many 25.140 Prelim z/OS 1.9 (fails if 54-CPs, See Ch 25.205)
TYPECIMS 25.139 Support for IMF Version 4.3 (INCOMPATIBLE).
TYPE74 25.140 APAR OA17070 supports CF Level 15 measurements.
TYPE89 25.138 Support for APAR OA20314 new SMF89LPN/SMF89ZNA.
TYPE80A 25.137 Support for unknown TOKDANAMs, prevents ABEND.
UTILLPDS 25.136 Utility to count used/defined PDS Directory Blocks.
TYPE7072 25.135A LCPUCAP/LCPUCAPC Labels include "Hard CAP".
TYPE42 25.153 MXG 25.06 only, false INVALID TYPE42 SUBTYPE 5 error.
TYPEVMXA 25.151 180 Error _MPRCAPC not found, DEBUG prints removed.
ASUM70PR 25.150 ASUM70PR created PCTCPUBY GT 100%, final fix?
ASUM70PR 25.150 ASUM70PR now supports INTERVAL/CECINTRV=SHIFT.
ADOCITRM 25.149 Doc. Maps ITRM dataset names to MXG name.
ADOCDB2 25.148 Doc. How to create DB2ACCTB/DB2ACCTP in separate DDs.
ANALRMFR 25.146 ERROR: NO DATASETS TO LOOKUP correction.
TYPERMFV 25.145 RMF III dataset ZRBLCP missing obs for many LPARs.
UPCMEMDZ 25.144 ASCII utility to determine memory available to MXG.
TYPE71 25.143 SWAPrates were set missing if zero, now can be zero.
VMXGINIT 25.143 New MXGMISS macro variable changes TYPE71 SWAPrates.
Major enhancements added in MXG 25.06.
TYPE30 25.116 MXG 25.05, negative EXECTM, INTRVLTM, GMTOFF30 wrong.
TYPE110 25.041 Support for CICS/TS 3.2 (INCOMPATIBLE), Uncompressed.
TYPEBTE 25.107 Support for CA Brightstor Tape Encryption SMF.
TYPE80A 25.131 Support for CRL PUBLISH and SET UID RACFEVNT 52, 79.
TYPEFERT 25.133 Support for Williams Data FERRET product user SMF.
TYPECLAR 25.130 Support for Clarion Disk Array flat files.
TYPE119 25.119 SMF 119 from z/OS 1.8 caused INVALID DATA messages.
TYPESYNC 25.117 INVALID ARGUMENT due to incorrect HEX4/HEX3 formats.
ASUMUOW 25.121 Enhanced to keep each CICS segment response time.
ASUMHSM 25.113 HSM Summary enhanced with "HSM COMPLEX" HSMPLEX.
IHDRIDMS 25.112 CA IDMS PerfMon support enhanced with "IHDR" exit.
TYPENMON 25.110 Support for DISKBUSYn for all NMON Disk Monitoring.
TYPERACF 25.134 Support for IRRDBU00 record types 0560,0561,0562.
TYPE80A 25.131 Support for TOP SECRET (INCOMPAT) '90'x,'00'x VRSN.
MXG Version 25.05, dated Jun 7, 2007.
Major enhancements added in MXG 25.05.
TYPEITRF 25.103 Support for IBM OMEGAMON TRF ITRF V550 and V560.
TYPENMON 25.104 Full support for NMON, Nigel's Monitor for AIX/unix.
TYPEDB2 25.090 Support for PK37354 SMF 101 Subtype 4 in DB2 9.
TYPEDB2 25.097 Variable THREADTY blank if non-DDF transaction.
TYPE30 25.089 GMTOFF30 calculation corrections and problems.
CONFIGV9 25.101 MEMLEAVE=10M SORTBLOCKMODE now set in CONFIGV9
UTILBLDP 25.098 %UTILBLDP(BUILDPDB=JES3 ... enhancement.
Major enhancements added in MXG 25.04.
TYPE21 25.083 Fix for support for APAR OA20077 Device Bytes TYPE21.
TYPEXAM 25.082 Support for XAM Release 3.6, many new data.
TYPENMON 25.073 Support for LPAR and IOADAPTR Nigel's NMON data.
SYSLOG 25.070 Support for SYSLOG file enhanced, all records output.
TYPENDM 25.081 Support for NDM-CD type 'NM' records creates NDMNM.
DALYTAPE 25.072 Sample tape reports from STC VTS SMF + MXGTMNT.
TYPERMFV 25.079 ZRBLCP dataset had only first LPARs observations.
TYPEDB2 25.064 Several QISE variables were wrong.
TYPEDB2 25.075 QBGL variables in DB2 V8.1 now supported, were wrong.
TYPETMS5 25.084 FILSEQ in TMS.DSNBRECD could be wrong, mult-vol-file.
ANALDB2R 25.068 SQL Text QW0141TX was not printed, coding error.
UTILBLDP 25.071 Products that need deaccumulation now protected.
UTILBLDP 25.065 Default list of ASUMxxx to be included, MXGINCL=.
VMXGRMFI 25.069 Service Class Names can be "wild-carded"
VMXGUSE 25.067 Revised to invoke _STY70; UTILBLDP recommended.
FORMATS 25.063 Additional SWAP reason codes added to $MG079SR.
Doc 25.078 List of MXG-issued USER ABEND values & source member.
Major enhancements added in MXG 25.03.
CONFIGV8 25.037 SORTEQUALS should NOT have been in CONFIGV8, V9 only.
TYPE119 25.035 Support for SMF 119 for z/OS 1.8 (INCOMPATIBLE).
TYPE1415 25.047 Support for APAR OA19502, SMF14KET Key Exchange Time
TYPE21 25.040 Support for APAR OA20077, uncompress read/write bytes
TYPEAIXT 25.039 Support for AIX Tapas-C performance data files.
TYPESAMS 25.055 Support for SAMS objects 2151,2226,2229 and 2231.
TYPETDS 25.052 Support for TDSLink Version 630 ZCOST datasets.
TYPECSM 25.050 Support for CrossSysplexManager user SMF record.
TYPSCOCR 25.034 Support for CopyCross (now VTF Mainframe 2.1.0) SMF.
VMXGDUR 25.044 Interval= QUARTER, SEMIANN, ANNUAL now supported.
TYPEHSM 25.042 Process HSM with different SMF IDs/different SYSTEMs.
ASUMTAPE 25.040 Uncompress read/write SMF21DBR/DBW kept in ASUMTAPE.
ASUMUOW 25.054 QWACSPCP,QWACTRET added to PDB.ASUMUOW for OTE.
ASUMCEC 25.053 PDB.ASUMCEC, PCTCPUBY GT 100%, DURATM LT CECINTRV.
BLDSMPDB 25.048 Corrections to BLDSMPDB, new SORTEDBY= option.
Major enhancements added in MXG 25.02.
MXG 25.02 was created to protect sites who set the NOSORTEQUALS
option (i.e., changed the SORTEQUALS default). NOSORTEQUALS causes
invalid data in ASUM70PR-built datasets.
CONFIGV9 25.028 OPTION NOSORTEQUALS caused errors in ASUM70PR.
VMXG70PR 25.028 OPTION NOSORTEQUALS caused errors in ASUM70PR.
Other New Support and corrections added in MXG 25.02:
ASMTAPEE 25.033 Support for ASMTAPEE ML-40 assembly under z/OS 1.8.
ANALRMFR 25.032 IRD corrections to RMF reports.
TYPE42DS 25.030 TYPE42DS had carried-forward IOCOUNT and other vars.
TYPE70 25.028 IORATEn per-engine I/Os corrected for IRD.
VMXGPRAL 25.028 Print All utility now compares all datasets in LIBs.
UCOMPSOE 25.028 Utility to compare SORTEQUALS and NOSORTEQUALS output
ANALFIOE 25.026 Divide by zero message protected.
Major enhancements added in MXG 25.01.
The MXG 24.24 Annual Version is VERY solid, with only these three
relatively minor corrections:
TYPENTSM 25.015 INCOMPAT MXG CHANGE for NTSM WEEKly requires action.
TYPE7072 25.013 PCTMVSBY in PDB.TYPE70PR was wrong if IRD was active.
ASUM70PR 25.001 NRICFCPU,NRIFLCPU were wrong if you have more than 1.
Other New Support and corrections added in MXG 25.01:
TYPEIMS7 25.006 Support for IMS Version 10 (INCOMPATIBLE) IMS log.
TYPEBVIR 25.011A Support for TS7700 SMF records.
TYPE7 25.025 Support for APAR OA19453 for 4-byte LOSTRECS count.
TYPE74 25.003 NREXPOSR was wrong for HyperPAV devices.
IMACICMR 25.007 Optional CICS CMRDATA, CMDUDATA/CMDDBCCP reversed.
IMACICOB 25.008 Optional CICS OMDBDB2LN now spelled as OMBDB2LN.
IMACICOM 25.008 Optional CICS OMMLN now spelled as OMMQLN.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
All of these enhancements are described in the Change Log, below.
SAS Version requirement information:
MXG 22.08 or later is REQUIRED for SAS V9.1.2 or V9.1.3; see
"Major Enhancements in MXG 22.08" in CHANGES, above, for the major
items, then search Newsletters for V9 for all of the minor items.
MXG executes under SAS V8.2 and SAS V9.1.3, but MXG is no longer
supported under SAS V6. The "PDB" libraries written to by MXG
must have been created by V8/V9 (i.e, if ENGINE=V6 is shown in the
PROC CONTENTS output, you must convert that data library to the
current ENGINE=BASE by PROC COPYing it under SAS V8 or V9.
For SAS V9.1.3 on z/OS with Service Pack 4:
There are no reported errors, and MXG's CONFIGV9 now specifies
V9SEQ instead of V6SEQ. As V6SEQ does not support long length
character variables, it should not be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
to be completely safe. No earlier Version 8's were supported.
Sequential Engine Status:
V9SEQ is fixed in V9.1.3; it is now the default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG New-Version QA tests are executed on z/OS with SAS V9.1.3 and
V8.2, and on Windows XP with SAS V9.1.3. But previous QA tests
have been run with all SAS releases on z/OS, SAS V8.2 and V9.1 on
Linux RH8 on Intel, with V9.1 on Solaris v2.8 on Model V880, and
V9.1 on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V8.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
Availability dates for the IBM products and MXG version required for
the processing of that product's data records:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Oct 5, 2007 25.10
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 Jan 22, 2007 25.04
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Dec ??, 2004 22.08
IMS log 10.0 Feb 27, 2007 25.01
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including cics/ts 3.1 22.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 22.08
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 25.04
II. Incompatibilities and Installation of MXG 25.11.
1. Incompatibilities introduced in MXG 25.11:
a- Changes in MXG architecture made between 25.11 and prior versions
that can introduce known incompatibilities.
NTSMF Weekly/Monthly processing will fail on BLKBERRY dataset due
to new variable in the BY list. See Change 25.015 for required
actions you must take prior to running the Weekly/Monthly. The
incompatibility was introduced by Change 24.162 in MXG 24.06.
Change 25.189 revised %READDB2/%ANALDB2R when PDBOUT=, is null.
Now, ALL output datasets are written to //WORK, which was intended
when PDBOUT=null, but that did not always happen.
The error corrected was that a simple report with %ANALDB2R
failed if there was no //PDB DD name, because MXG tried used the
default DDnames, and did not force them to //WORK as desired.
That correction created a new exposure if you actually did have
a //PDB DD name, if you had changed DDNAME defaults with
%LET PDB2ACC or MACRO _LDB2ACC or _WDB2ACC,
and if you did not specify PDBOUT=PDB; Change 25.189 now caused
zero observations in PDB.DB2ACCT.
So if you want output datasets created by %READDB2/%ANALDB2R, you
must specify
PDBOUT=PDB (which works as documented, output all to //PDB), or
PDBOUT=YES (which outputs to the (tailored) default DDNames, or
PDBOUT=ZZZ (which outputs everything to ZZZ DDname).
Change 25.284, in MXG 25.25, corrected the original Change 25.189.
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 JCLINST9 for
SAS Version 9.1.3 (JCLINST8 for SAS Version 8.2).
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 in MXG 25.06 after MXG 24.24:
Dataset/
Member Change Description
Many 25.140 Support for z/OS 1.9 (COMPAT, minor SMF additions).
Many 25.179 %UPCASE,%LOWCASE,%STR,%BQUOTE,%QUOTE, etc.
ADOCDB2 25.172 Example to process DB2 datasets to separate DDNAMES.
ADOCDB2 25.148 Doc. How to create DB2ACCTB/DB2ACCTP in separate DDs.
ADOCITRM 25.149 Doc. Maps ITRM dataset names to MXG name.
ANALACTP 25.254 Sample report summarizes DB2 Package data to UOW.
ANALDB2R 25.202 VARIABLE QBnTDPIO NOT FOUND error corrected.
ANALDB2R 25.189 New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
ANALDB2R 25.068 SQL Text QW0141TX was not printed, coding error.
ANALFIOE 25.026 Divide by zero message protected.
ANALRMFR 25.146 ERROR: NO DATASETS TO LOOKUP correction.
ANALRMFR 25.032 IRD corrections to RMF reports.
ASMTAPEE 25.033 Support for ASMTAPEE ML-40 assembly under z/OS 1.8.
ASUM70PR 25.303 Extraneous PROC PRINT from testing was removed.
ASUM70PR 25.270 INTERVAL=DURSET cannot be used.
ASUM70PR 25.163 Capacity Group summarization, PDB.ASUM70GC/ASUM70GL.
ASUM70PR 25.150 ASUM70PR created PCTCPUBY GT 100%, final fix?
ASUM70PR 25.150 ASUM70PR now supports INTERVAL/CECINTRV=SHIFT.
ASUM70PR 25.001 NRICFCPU,NRIFLCPU were wrong if there was more than 1
ASUMCEC 25.053 PDB.ASUMCEC, PCTCPUBY GT 100%, DURATM LT CECINTRV.
ASUMCELP 25.209 Duplicate observations in PDB.ASUMCELP eliminated.
ASUMHSM 25.113 HSM Summary enhanced with "HSM COMPLEX" HSMPLEX.
ASUMTAPE 25.300 Blank SYSTEM, missing DEVNR in PDB.ASUMTAPE fixed.
ASUMTAPE 25.040 Uncompress read/write SMF21DBR/DBW kept in ASUMTAPE.
ASUMUOW 25.121 Enhanced to keep each CICS segment response time.
ASUMUOW 25.054 QWACSPCP,QWACTRET added to PDB.ASUMUOW for OTE.
BLDSMPDB 25.048 Corrections to BLDSMPDB, new SORTEDBY= option.
COMPINTV 25.302 Capture/Compare ALL CPU times in 30/70/72/100/101/110
CONFIGV8 25.037 SORTEQUALS should NOT have been in CONFIGV8, V9 only.
CONFIGV9 25.267 VALIDVARNAME=V7 added to SAS CONFIGs.
CONFIGV9 25.101 MEMLEAVE=10M SORTBLOCKMODE now set in CONFIGV9
CONFIGV9 25.028 OPTION NOSORTEQUALS caused errors in ASUM70PR.
CONFIGW2 25.252 MXG updates for testing MXG Execution under WPS.
DALYTAPE 25.072 Sample tape reports from STC VTS SMF + MXGTMNT.
Doc 25.179 Use %LET MACxxxx= %STR( text ) ; to pass text.
Doc 25.078 List of MXG-issued USER ABEND values & source member.
EXITCICS 25.240 MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
EXITCICS 25.017 SAS INFILE EXIT for compressed CICS SMF 110-1 data.
FORMATS 25.063 Additional SWAP reason codes added to $MG079SR.
IHDRIDMS 25.112 CA IDMS PerfMon support enhanced with "IHDR" exit.
IMACICMR 25.007 CMRDATA, CMDUDATA/CMDDBCCP reversed.
IMACICOB 25.238 OMEGAMON did NOT increase time-duration to 12 bytes.
IMACICOB 25.008 OMDBDB2LN now spelled as OMBDB2LN.
IMACICOM 25.008 OMMLN now spelled as OMMQLN.
ITRMTNG 25.262 233 DDU files to create ITRM definitions for TYPETNG.
MXGWPSV2 25.252 Revised JCL Procedure for MXG Execution under WPS.
READDB2 25.189 New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
RMFINTRV 25.199 SMF70GIE now reset to 00/15 if SYNC59=YES is used.
RMFINTRV 25.177 ARRAY SUBSCRIPT OUT OF RANGE, 9999 LIMIT externalized
SYSLOG 25.070 Major revisions to SYSLOG program, will be renamed.
TIMEBILD 25.209 Optional SYNC59 timeshifting using TIMETABL.
TYPE102 25.306 Support for APAR PK38803 INCOMPAT SMF 102 IFCID 22.
TYPE102 25.306 IBM SMF 102 IFCID 22 APAR PK38803 wrong, supported.
TYPE102 25.129 IFCID=224 updated with QW0224PN and QW0224CI.
TYPE110 25.240 MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
TYPE119 25.119 SMF 119 from z/OS 1.8 caused INVALID DATA messages.
TYPE119 25.119 Support for SMF 119 for z/OS 1.8 (INCOMPATIBLE).
TYPE120 25.247 SM120SNT=2 (two heap ids) caused INPUT EXCEEDED.
TYPE122 25.287 Support for SMF 122, Tivoli Tape Allocation Manager
TYPE1415 25.047 Support for APAR OA19502, SMF14KET Key Exchange Time
TYPE21 25.083 Actual support for APAR OA20077 Device Bytes TYPE21.
TYPE21 25.040 Support for APAR OA20077, uncompress read/write byte
TYPE22 25.276 Support for APAR OA20043 Dynamic Volume Expansion
TYPE30 25.304 Support for APAR OA23679, BLKSIZE might be wrong.
TYPE30 25.260 MXG 25.10, INTRVLTM missing for TYPETASK='OMVS'
TYPE30 25.116 MXG 25.05, negative EXECTM, INTRVLTM, GMTOFF30 wrong.
TYPE30 25.089 GMTOFF30 calculation corrections and problems.
TYPE42 25.153 MXG 25.06 only, false INVALID TYPE42 SUBTYPE 5 error.
TYPE42DS 25.030 TYPE42DS had carried-forward IOCOUNT and other vars.
TYPE50 25.269 Support for OSA-MPC VTAM SMF 50 subtype 4 record.
TYPE70 25.211 ZIPACTTM, PCTZIPBY corrected for Dedicated zIIPs.
TYPE70 25.028 IORATEn per-engine I/Os corrected for IRD.
TYPE7072 25.237 LCPUWAIT was accidentally not kept in TYPE70.
TYPE7072 25.227 Variable RPRTCLAS now kept in TYPE72DL dataset.
TYPE7072 25.224 CPUTYPE tests are replaced with ZARCHMDE tests.
TYPE7072 25.205 Support for z/OS 1.9 54 CP engines per MVS, INCOMPAT
TYPE7072 25.176 Support for APAR OA18244, Blocked Workload z/OS 1.9.
TYPE7072 25.163 Support for Capacity Groups variables in TYPE70.
TYPE7072 25.135A LCPUCAP/LCPUCAPC Labels include "Hard CAP".
TYPE7072 25.013 PCTMVSBY in PDB.TYPE70PR was wrong if IRD was active.
TYPE70PR 25.051 NRIFACPU now populated for z990/2084 CPUTYPE.
TYPE71 25.143 SWAPrates were set missing if zero, now can be zero.
TYPE71 25.109 UIC variables changed meaning in z/OS 1.8.
TYPE74 25.140 APAR OA17070 supports CF Level 15 measurements.
TYPE74 25.140 Support for APAR OA17070 RMF 74-4 Coupling Facility
TYPE74 25.108 R748CSER/CTYP/CDML now kept in TYPE748 dataset.
TYPE74 25.003 NREXPOSR was wrong for HyperPAV devices.
TYPE78 25.236 Zero obs in TYPE78IO with Change 24.171 if z/OS 1.7.
TYPE78 25.141 APAR OA21799 prevents ABEND, SMF78HIX invalid.
TYPE80A 25.137 Support for unknown TOKDANAMs, prevents ABEND.
TYPE80A 25.131 Support for CRL PUBLISH and SET UID RACFEVNT 52, 79.
TYPE80A 25.131 Support for TOP SECRET (INCOMPAT) '90'x,'00'x VRSN.
TYPE80A 25.111 TYPE80xx variable TYPSTRNG wrong after Change 25.024.
TYPE82 25.257 Support for ISCF HCR7750 TKE Logging update.
TYPE85 25.279 Support for subtypes 38, 39 and 40 for ID=85 OAM.
TYPE85 25.234 New variables in OAM subtype 32-35 records.
TYPE89 25.198 SMF89HOF,SMF89DTO were incorrect due to typo.
TYPE89 25.138 Support for APAR OA20314 new SMF89LPN/SMF89ZNA.
TYPE92 25.192 New ID=92 ST=14 INPUT EXCEEDED if not a RENAME.
TYPE99 25.012 SMF 99 with only Trace, INPUT STATEMENT EXCEEDED.
TYPEAIXT 25.039 Support for AIX Tapas-C performance data files.
TYPEBTE 25.107 Support for CA Brightstor Tape Encryption SMF.
TYPEBVIR 25.011A Support for TS7700 SMF records.
TYPECIMS 25.230 IMF 4.2 PTF BQI0129 caused INPUT EXCEEDED error.
TYPECIMS 25.139 Support for IMF Version 4.3 (INCOMPATIBLE).
TYPECLAR 25.130 Support for Clarion Disk Array flat files.
TYPECSM 25.050 Support for CrossSysplexManager user SMF record.
TYPEDB2 25.291 DB2ACCT variable QWACUDCP CPU time added in DB2TCBTM.
TYPEDB2 25.265 DB2TCBTM Correction for DB2 V9.1, REQUIRED.
TYPEDB2 25.169 _RDB2ACC DB2 Parallel event "analysis" example.
TYPEDB2 25.097 Variable THREADTY blank if non-DDF transaction.
TYPEDB2 25.090 Support for PK37354 SMF 101 Subtype 4 in DB2 9.
TYPEDB2 25.064 Several QISE variables were wrong.
TYPEDB2 25.020 DB2STATS, QWS3, QWS4 may have reversed contents.
TYPEEVTA 25.255 Support for Action Software's EventAction user SMF.
TYPEEVTA 25.255 Support for Action Sofware's EventAction SMF record.
TYPEFERT 25.133 Support for Williams Data FERRET product user SMF.
TYPEHSM 25.042 Process HSM with different SMF IDs/different SYSTEMs.
TYPEIMS7 25.006 Support for IMS Version 10 (INCOMPATIBLE) IMS log.
TYPEITRF 25.286 Support for ITRF DCR77/DCR78 additions.
TYPEITRF 25.103 Support for IBM OMEGAMON TRF ITRF V550 and V560.
TYPEMQLG 25.280 Support for MQ V6 System Admin Accounting Queue Log.
TYPENDM 25.242 NDM record 'UC' is now output in NDMAE dataset.
TYPENDM 25.081 NDM-CD type 'NM' records now decided into NDMNM.
TYPENDM 25.014 No observations in NDMRT due to incomplete comment.
TYPENMON 25.229 NMON for AIX CPUnn records vary in number.
TYPENMON 25.110 Support for DISKBUSYn for all NMON Disk Monitoring.
TYPENMON 25.104 Full support for NMON, Nigel's Monitor for AIX/unix.
TYPENMON 25.073 Support for LPAR and IOADAPTR Nigel's NMON data.
TYPENTSM 25.282 Support for new NTSMF Objects, Database Mirroring.
TYPENTSM 25.253 Support for new NTSMF objects for MSSQL.
TYPENTSM 25.015 INCOMPATIBLE MXG CHANGE for NTSM WEEK/MONTH BUILDs.
TYPEORAC 25.127 No change in Oracle Version 10, but data is trash.
TYPEPDSM 25.245 CA PDSMAN diagnostic trace records filled //WORK.
TYPEPSYC 25.277 Support for PSYNCH/390 SMF record.
TYPEQACS 25.178 AS400 APAR QAPMDISK with LRECL=456 added new data.
TYPEQACS 25.132 Revisions to AS400 TYPECONF GDES variables.
TYPERACF 25.244 IRRDBU00 Unload '0200' record has two lengths.
TYPERACF 25.134 Support for IRRDBU00 record types 0560,0561,0562.
TYPERMFV 25.309 Support for RMF III CPD, Channel Path Data Table.
TYPERMFV 25.246 Updates for CPU Segmentation changes.
TYPERMFV 25.225 Variable ENCCPUT corrected with zIIP time removed.
TYPERMFV 25.204 CFI Segmentation eliminates RMF III skipped CF data.
TYPERMFV 25.191 Support for RMF Monitor III CFI table enhancements.
TYPERMFV 25.145 RMF III dataset ZRBLCP missing obs for many LPARs.
TYPERMFV 25.079 ZRBLCP dataset had only first LPARs observations.
TYPESAMS 25.055 Support for SAMS objects 2151,2226,2229 and 2231.
TYPESRDF 25.195 Support for EMC's SRDF/A user SMF record.
TYPESYNC 25.117 INVALID ARGUMENT due to incorrect HEX4/HEX3 formats.
TYPETDS 25.052 Support for TDSLink Version 630 ZCOST datasets.
TYPETIMS 25.271 Revisions for TMON/IMS support
TYPETMS5 25.126 Circumvention skip new TMC 'FF20'x Vol Def record.
TYPETMS5 25.084 FILSEQ in TMS.DSNBRECD could be wrong, mult-vol-file.
TYPETNG 25.243 Automatic PROC DELETE of UNKNOWN dataset removed.
TYPETNG 25.235 New Solaris, AIX, and many RedHat objects added.
TYPETNG 25.221 Support for VM Ware VSX Systems in CA NSM records.
TYPETNG 25.181 Support for CA NSM RedHat 4.01 Linux perf cube.
TYPETNG 25.181 Support for CA Unicenter NSM is in MXG "TNG" product.
TYPETPMX 25.239 Support for Thruput Manager SLM and DB2 data.
TYPEVMXA 25.151 180 Error _MPRCAPC not found, DEBUG prints removed.
TYPEVMXA 25.043 Reserved Change Number.
TYPEXAM 25.307 Extraneous PUT from testing removed.
TYPEXAM 25.115 Incorrect memory variables in XMUCDSYS in MXG code.
TYPEXAM 25.082 Support for XAM Release 3.6, many new data.
TYPSCOCR 25.034 Support for CopyCross (now VTF Mainframe 2.1.0) SMF.
UCICSCNT 25.120 CICS record counting separates Resource segments.
UCOMPSOE 25.028 Utility to compare SORTEQUALS and NOSORTEQUALS output
UPCMEMDZ 25.144 ASCII utility to determine memory available to MXG.
UPRINDOC 25.226 Utility prints NAME and LABEL of all variables.
UTILBLDP 25.196 Large &MACKEEP string caused strange results.
UTILBLDP 25.098 %UTILBLDP(BUILDPDB=JES3 ... enhancement.
UTILBLDP 25.071 Products that need deaccumulation now protected.
UTILBLDP 25.065 Default list of ASUMxxx to be included, MXGINCL=.
UTILCSV 25.197 %UTILCSV creates a CSV (or TAB) Delimited flat file.
UTILEXCL 25.256 Macro variable &MXGDEBUG revised for IMACEXCL plus!
UTILEXCL 25.193 MXG 25.08 ONLY: LABEL IMACICU3 NOT FOUND.
UTILLPDS 25.136 Utility to count used/defined PDS Directory Blocks.
VMAC110 25.041 Reserved Change Number.
VMACDB2 25.075 QBGL variables in DB2 V8.1 supported, were wrong.
VMXG70PR 25.293 SMF70GIE is now set from STARTIME=DURATM after shifts
VMXG70PR 25.028 OPTION NOSORTEQUALS caused errors in ASUM70PR.
VMXGDUR 25.044 Interval= QUARTER, SEMIANN, ANNUAL now supported.
VMXGINIT 25.231 Unresolved &ARRAYRMF is SAS V8.1 or WPS was used.
VMXGINIT 25.143 New MXGMISS macro variable changes TYPE71 SWAPrates.
VMXGPRAL 25.028 Print All utility now compares all datasets in LIBs.
VMXGRMFI 25.069 Service Class Names can be "wild-carded"
VMXGSUM 25.248 New &LNSUMOUT=8 will make all output to length 8.
VMXGUSE 25.067 Revised to invoke _STY70; UTILBLDP recommended.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 25.
====== Changes thru 25.309 were in MXG 25.25 dated Jan 28, 2008=========
Change 25.309 Support for RMF III CPD, Channel Path Data Table, creates
ASMRMFV new ZRBCPD dataset.
CLRMFV
ADOCRMFV The RMFV documentation in DOCRMFV and the documentation
EXZRBCPD in the CLRMFV CLIST (without any code changes in CLIST)
IMACRMFV have been updated to match ASMRMFV's updated.
VMACRMFV
VMXGINIT
Jan 28, 2008
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 25.308 SAS V8.2-V9.1 %MACRO compiler accepts %ELSE %THEN %DO;
ANALDB2R syntax, but the documented syntax is only %ELSE %DO;
VMACMVCI The SAS Language compiler never accepted ELSE THEN DO;
VMXGSUM In early tests of SAS V9.2, its %MACRO compiler rejected
Jan 28, 2008 the extra %THEN, so all three accidental, unintended MXG
Sep 16, 2008 %ELSE %THEN %DO statements have been corrected.
If you have an old member in your "USERID.SOURCLIB", the
error message you will get with SAS V9.2 will be:
ERROR: THERE IS NO MATCHING %IF STATEMENT FOR THE %THEN.
A DUMMY MACRO WILL BE COMPILED.
Thanks to MP Welch, SPRINT, USA.
Change 25.307 Debugging PUT printed _N_= COL=nnnn PRCAPM for every one
VMACXAM of those segments, but had no impact on output data.
Jan 25, 2008 Remove the PUT statement after WHERE ('PRCAPM').
Thanks to Rodger Foreman, TransUnion, USA.
Change 25.306 Change was in error, did not support PK38033, and was
VMAC102 replaced by Change 26.011 which does support the APAR.
Jan 23, 2008 And the original change text was WRONG, as there was
Feb 8, 2008 NOTHING wrong with IBM SMF 102 IFCID 22 with PK38803
records; the records matched the DSECT which I misread.
Change 25.305 Error in %UTILBLDP with USERADD=TMNT/nnn + BUILDPDB=YES.
UTILBLDP Because TMNT processing is already in BUILDPDB, there was
Jan 23, 2008 special handling in the USERADD= logic, but in this case
Jan 27, 2008 it incorrectly didn't create the MACRO _IDTMNT nnn % that
it should have, so, while all TMNT datasets were created,
they all had zero observations, unless you had defined
your TMNT Record ID _IDTMNT in IMACKEEP/IMACTMNT.
The logic in UTILBLDP is corrected for all USERADDs,
whether or not they are already in BUILDPDB:
USERADD=TMNT/nnn, creates MACRO _IDTMNT nnn %
which will override any IMAC tailoring.
USERADD=TMNT, does not create _IDTMNT, but ensures
TMNT records are processed.
-Jan 27: Added support for USERADD=100 101 alias for DB2.
-In testing the UTILBLDP invocation in the new COMPINTV, I
had %MACRO errors about non-numeric in a %EVAL, (whose
clarity may be a separate SAS issue!), but which were the
result of incorrect code ordering in my COMPINTV program.
When %UTILBLDP has MACKEEPX= argument text with old-style
macros that you want to redefine AND execute in this one
step, then your MACRO _XXXXXXX ... % statements must
be located after the %UTILBLDP(); statement and before
the %INCLUDE statement that executes the UTILBLDP output:
statement that executes the UTILBLDP output:
%UTILBLDP(MACKEEPX= MACRO _ETY70 _SETTIME %, .... );
RUN:
MACRO _SETTIME STARTIME=FLOOR(STARTIME/900); %
RUN;
%INCLUDE INSTREAM;
If the old style macros are defined before %UTILBLDP is
executed, then they are expanded inside the macro
language when the %MACRO UTILBLDP is being compiled,
which can result in unexpected failures. If you move the
definition to after %UTILBLDP, only the name of the macro
is passed to the UTILBLDP output which works as expected.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 25.304 APAR OA23679 documents possible errors in BLKSIZE in SMF
VMACEXC1 30 records when DDCONS=YES is specified. Since MXG has
Jan 23, 2008 ALWAYS recommended DDCONS=NO and NEVER to use DDCONS=YES,
this shouldn't have impact. But when YES is specified,
IBM now says the consolidated SMF 30 record contains the
first non-zero BLKSIZE value from those DDs in SMF30BSZ,
the original 4-byte blocksize field, but the newer 7-byte
SMF30BXS blocksize field, contains the BLKSIZE value from
the last DD in the consolidation, which could be valid or
zero. MXG stored SMF30BSZ into BLKSIZE, but then INPUT
BLKSIZE from SMF30BXS when it existed, even when zero.
Now, BLKSIZE is set to SMF30BXS ONLY when it is larger
than SMF30BSZ.
Change 25.303 -Extraneous PROC PRINT from testing was removed.
VMXG70PR -Calculation of LPARCPUS could be non-integer value, for
Jan 22, 2008 example, 11.99995682 instead of 12. Algorithm refined.
Jan 28, 2008
Thanks to Clayton Buck, UniGroup, USA.
Thanks to William Wai Lun WONG, HSBC, HONG KONG.
====== Changes thru 25.302 were in MXG 25.25 dated Jan 21, 2008=========
Change 25.302 Compare all CPU variables from SMF 30,70,72,100,101,110s.
COMPINTV Single pass of SMF creates only the needed datasets with
UTILEXCL a "fast read" of SMF records keeping only the CPU and key
Jan 21, 2008 variables to minimize the run with a tailored %UTILBLDP
Jan 27, 2008 and MACKEEPX overrides to create two summary datasets:
Jan 30, 2008 PDB.INTVSRVC by SYSTEM STARTIME SRVCLASS 30+72
PDB.IN307072 by SYSTEM STARTIME 30+70+72
PDB.INALLCPU by SYSTEM STARTIME 30+70+72+100+101+110
Fast read: 6 GB SMF data, 2 Minutes CPU, 10 Min Elapsed
The type 30 SMF interval and type 72 RMF service class
create the PDB.INTVSRVC with CPU times by service class.
Those data and the CPUACVTM from TYPE70 are combined into
the PDB.IN307072 SMF+RMF CPU time for each interval. Then
the CICSTRAN and DB2ACCT transaction CPU times plus the
interval CICDS dispatcher and DB2STATS statistics CPU
times are added from the 100, 101, and 110 records to
create the PDB.INALLCPU with ALL possible CPU variables,
summed for each SYSTEM for each STARTIME.
Several PROC MEANS summary output reports are printed.
The SRVCLASS-level SMF30 and RMF72 summary CPU times
should match closely for most service classes, but there
can be significant differences in which "SRVCLASS" CPU
time is recorded. For example Enclave CPU time in SMF
may be in the SRVCLASS of the address space that started
the enclave, but in RMF that same enclave CPU time gets
put in the SRVCLASS where that enclave was classified.
And we've seen enclaves in two SRVCLASS in SMF30 while
spread across three SRVCLASS in RMF72. It can get messy!
The STARTIME-level interval summary should match RMF and
SMF totals, for the CPU fields that we expect to match,
and will show how much of that CPU time is captured in
the DB2 and CICS interval data as well, but its accuracy,
and the accuracy of the SRVCLASS-level data is dependent
on the synchronization of your SMF and RMF data.
The MACRO _SETTIME default expects 15 minute intervals
and SYNC(0), but can be tailored to your intervals.
You can get the totals of all CPU times for all of SMF
records in a single output observation per SYSTEM by
setting STARTIME to a single value for all records.
But the summary of the CICSTRAN and DB2ACCT times
can always be skewed by a long-running transaction,
or if SYNC59 is in the data (because not all CPU
records obey SYNC - RMF/SMF 30 does, CICS doesn't.
Jan 30: If you use COMPINTV and have an IMACEXCL member,
COMPINTV fails when it sees the second _VCICTRN
definition in your IMACEXCL. If you will insert
MACRO _VCICTRN _VCICTRN %
immediately before the existing MACRO _VCICTRN,
then COMPINTV will not fail. And, fortunately,
by accident, the MACRO _VCICTRN defined in the
MACKEEPX in UTILBLDP will be used for CICSTRAN,
(and it's required for the rename of STRTTIME to
STARTIME and to minimize disk space), because
MACKEEPX is instanced after IMACEXCL was read.
Syntax corrected in Change 26.020.
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.301 Due to typos that had DB where OB should have been, all
VMAC102 of the QW1145OB-QWF145OB variables were wrong (they had
Jan 21, 2008 the DB database value instead of the OB Object value).
Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.
Change 25.300 PDB.ASUMTAPE could have blank SYSTEM and VOLSER, DEVNR
ASUMTAPE missing when the SYSLOG Mount and Keep messages had the
Jan 21, 2008 same timestamp, and the Keep was seen first. Adding the
variables SMFTIME SYSLTEXT forces the KEEP to be first
to complete the prior event, but adding .001 seconds to
IF SYSLTMNT GT . THEN EVENTIME=SYSLTMNG+.001;
was also needed to force the correct sequence.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.299 Type 42 Subtype 18 CF Cache Partition Summary Section for
EXTY42P3 Directory/Element Ratio Data now creates new dataset:
IMAC42 DDDDDD DATASET Description
VMAC42 TY42P3 TYPE42P3 RLS CF DIRECTORY/ELEMENT RATIO
VMXGINIT which had been added in z/OS 1.8 but overlooked.
Jan 21, 2008
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 25.298 ADOCxxxx members that existed have been updated with new
ADOCs variables. New ADOCS member lists the VMACxxxx products
Jan 20, 2008 for which an ADOC member does not exist.
Change 25.297 Change 25.196 caused ERROR: CHAR OPERAND IN THE %EVAL ...
UTILBLDP when either or both MACFILE and MACKEEP were used and had
Jan 19, 2008 more than 65 characters of text.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.296 All ADOCxxxx members were updated with current CONTENTS.
ADOCs
Jan 19, 2008
Thanks to Freddie Arie, Merrill Consultants, USA.
Change 25.295 The COMPALL program compiles all of the VMACs for all SMF
COMPALL records in a single data step, and is back in MXG's QA
VMACIPAC tests, now that it can be compiled! It was used in early
VMACOMCI MXG Versions, testing only the IBM SMF records, by about
VMACSAMS Version 3 (1987!), it needed more virtual storage than I
Jan 19, 2008 could get back then, and it was set aside. It now brings
in all of the VMACs for all IBM and USER SMF records, and
it detected numeric-character variable conflicts in one
temp variable that was renamed in VMACIPAC, and two kept
variables were renamed to avoid the exposure to error,
if you were to add these and certain other SMF records to
your BUILDPDB job:
-VMACSAMS. Variable CLUSTR replaces numeric CLUSTER.
-VMACOMCI. Variable DIFTYPEF replaces char DIFTYPE.
The current COMPALL requires an 1150 MB Region on z/OS.
====== Changes thru 25.294 were in MXG 25.12 dated Jan 17, 2008=========
Change 25.294 Label PARTNCPU='TOTAL*NUMBER OF*CPUS*IN THE CEC' replaces
VMAC7072 the previous confusing "CPUS IN THE PARTITION" text that
VMXG70PR goes back to the days when we "physically partitioned" a
Jan 17, 2008 "hardware platform". The variables PARTNCPU PLATCPUS,
NUCPSCPU and temp variable NRCPSCPU have always counted
the CP/CPU engines in this CEC/CPC/platform/box/etc.
If there are no LPARNAME='PHYSICAL' records in TYPE70PR
(because your outsourcer turned them off?), the variables
PARTNCPU, PLATCPUS, NUCPSCPU and CPCNRCPU will be zero.
And the specialty engine counters NRIFACPU, NRZIPCPU, etc
will also always be zero. And, in the ASUM70PR/ASUMCEC
datasets, only your own LPARn variables are populated.
Finally (?), CPCMSU in PDB.RMFINTRV is also zero.
Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.
Change 25.293 SMF70GIE is now set from STARTIME+DURATM after SYNC59 to
VMXG70PR provide a more stable and consistent value for the
Jan 17, 2008 expected end of the interval. See Change 25.270.
Change 25.292 Internal logic was revised so when INTERVAL= is used, the
ANALRMFR variables LRDY00-LRDY11 are added to the MEAN= parm for
Jan 17, 2008 Cpu Reports.
Dollarsigns were needed in the below array definitions.
-ARRAY INICT05 $ STFBIT05(' ') ;
-ARRAY INICT05 $ STFBIT06(' ') ;
-Also, updated for 54 engines z/OS 1.9.
Thanks to Clay Duncan, Toyota, USA.
Thanks to Jerry Cobb, American Century, USA.
Change 25.291 DB2ACCT variable QWACUDCP, CPU time in DB2 User Functions
VMACDB2 is now included in MXG variable DB2TCBTM, as documented
Jan 17, 2008 in DB2 Technical Note 4 (PAR.TASKS) in Newsletter FIFTY.
Change 25.290 Variable JOBCLASS is $8 in JES3 and $1 in JES2, but MXG
BUIL3005 had INPUTs with both lengths, and that caused SAS WARNING
VMAC26J2 messages that the variable's length was CHANGED; these
VMAC26J3 warnings will set Return Code 4 in SAS Version 9.2, so
VMAC30 this change revised how MXG handles JOBCLASS for JES3
Jan 17, 2008 to keep the full 8-byte length. The contents of the
Jan 20, 2008 SPIN library are also changed; JOBCLASS is no longer kept
in SPIN26, and JOBCLAS8 is kept instead of JOBCLASS in
SPIN30_1, SPIN30_4, and SPIN30_5.
Note: This change was revised in MXG 25.25.
Do NOT use MXG 25.12 with JES3 BUILDPD3.
Thanks to MP Welch, SPRINT, USA.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.289 -Nigel's Monitor for AIX/LINUX variable NRCPUS in NMONINTV
VMACNMON dataset was one-tenth correct; the INFORMAT 6.1 should be
Jan 17, 2008 6.0. The AAACPU2 count was correct in NMONAAA dataset.
-Support for ERROR: records, sort of: they are printed on
the log in full when read.
Thanks to Michael W. Wolke, Boeing, USA.
Thanks to Steve Olmstead, Northwestern Mutual Trust, USA.
Change 25.288 Variable SMF70GJT is already on Local zone, so the adding
VMAC7072 of the GMT offset in MXG created incorrect datetimes.
Jan 16, 2008 Jan 26: a second instance was removed.
Jan 26, 2008
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 25.287 Support for SMF 122, Tivioli Allocation Record creates
EXT122IT six new datasets:
EXT122AL DDDDDD DATASET DESCRIPTION SUBTYPE
EXT122WA
EXT122FA T122IT T122INIT ATAM ASID INIT/TERM 0,4
EXT122DY T122AL T122ALOC ATAM SUCCESSFUL ALLOCATE 1
EXT122ON T122WA T122WAIT ATAM WAIT/NOHOLD/ALOCFAIL 2,3,5
IMAC122 T122FA T122FAIL ATAM VARY ONLINE FAILURE 6
TYPE122 T122DY T122DYNA ATAM UNSUPPORTED DYNALLOC 7
TYPS122 T122ON T122VONL ATAM VARY ONLINE TO WAIT 8
VMAC122
VMXGINIT
Jan 16, 2008
Change 25.286 Support for new ITRF variables in subtype '10'x and '18'x
EXITRCRG records and new subtype '20'x created by ITRF DCR77/DCR78
EXITRCRG (PTFs UA36089,UA37073). New variables added:
IMACITRF Dataset New Variables
VMACITRF ITRFMSG
VMXGINIT RECTOK ='FULL*RECOVERY*TOKEN'
Jan 16, 2008 IMSID ='IMS*ID'
COMN ='COMMITS*DURING*THIS*SCHEDULE'
OASN ='ORIGIN*APPLICATION*SEQUENCE*NUMBER'
SUSEC ='SERVICE*UNITS*PER*SECOND'
ITRFDB2
CPUDB2TM='IN DB2*CPU*TIME'
New dataset ITRFCRGN, 'CONTROL REGION CPU TIME', which is
created once each 24 hours with the daily total CPU Time
in the IMS Control Region:
Dataset New Variables
ITRFCRGN
CPUCRGTM='CONTROL*REGION*DAILY*CPU TIME'
IMSNAME ='IMSID*FOR THE*IMS SYSTEM'
INTBTIME='INTERVAL*START*DATETIME'
INTENDTM='INTERVAL*END*TIME'
The IMSNAME is retained from the prior ITRF record, as
the '20'x record contains only the time fields.
Change 25.285 The VALIDVARNAME=V7 option added by Change 25.267 to WPS
CONFIGW2 CONFIGW2 file caused ERROR: OPTION VALIDVARNAME NOT KNOWN
Jan 15, 2008 so it has been removed from CONFIGW2 member. That option
is the internal WPS default, but the option name is not
supported by WPS.
Change 25.284 Change 25.189 was not completely implemented.
ANALDB2R -Using %ANALDB2R with new PDBOUT=YES printed COPIED TO YES
READDB2 and did not perform as documented; an additional test for
VFMT102 AND &PDBOUT NE YES was required to support the new YES.
Jan 16, 2008 But then using PDBOUT=YES caused messages:
ERROR: Libname PDB is not assigned.
ERROR: Libname _VDB2A is not assigned.
when no //PDB DD or LIBNAME PDB was allocated.
That is an error. When PDBOUT=YES is specified, it
writes all DB2 output datasets to their default (or the
tailored) DDname, and PDB is the default for sorted DB2
datasets.
-But then using no PDBOUT operand, which should write
all DB2 output to //WORK, still caused
ERROR: Libname PDB is not assigned.
because READDB2 had an old segment of code that should
have been removed by Change 25.189, now corrected, so
that PDBOUT= null does NOW write only to //WORK.
-Warnings about T102S017 DOES NOT EXIST are removed with
enhancements made in VFMT102.
Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA.
Thanks to Robert Carballo, Office Depot, USA.
Change 25.283 An extraneous ); was inserted in %UTILBLDP output (on a
UTILBLDP separate line several lines after %LET EPDBOUT= text) if
Jan 15, 2008 both EXPDBOUT= and INCLAFTR= were specified.
Thanks to Robert Carballo, Office Depot, USA.
Change 25.282 Support for seven new NTSMF Objects:
EXNTCICP DDDDDD DATASET DESCRIPTION
EXNTCILI NTCICP CITRIXCP CITRIX CPU UTILIZATION MGMT USER
EXNTHSMG NTCILI CITRIXLI CITRIX LICENSING
EXNTHSRV NTHSMG HEALMGMT HEALTH SERVICE MANAGEMENT GROUPS
EXNTOPSM NTHSRV HEALSERV HEALTH SERVICE
EXNTSECT NTOPSM OPSMGRCN OPSMGR CONNECTOR
EXNTSQDM NTSECT SECTIKAU SECURE TICKET AUTHORITY
IMACNTSM NTSQDM SQLDATMI SQLSERVER:DATABASE MIRRORING
VMACNTSM or MSSQL:DATABASE MIRRORING
VMXGINIT The SQLSERVER and MSSQL Database Mirroring records are
Jan 15, 2008 both output in SQLDATMI dataset. The MSSQL records will
populate variable SQLDBNAM='SQL*SERVER*DATABASE*NAME'
while SQLDBNAM will be blank in the SQLSERVER records.
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 25.281 Cosmetic. If RMFINTRV definitions fall thru to create any
VMXGRMFI work in "OTHER", a new MXG NOTE alerts you to the SYSTEM
Jan 15, 2008 and SRVCLASS that fell thru your workload definitions.
Jan 28, 2008 This is not an error, but it is recommended that all of
your work be mapped to a unique workload variable in the
RMFINTRV dataset. The first ten workload names that fell
thru are printed on the SAS log.
-Cosmetic. Some ERROR:NEGATIVE CPU OVERHEAD for RMF 70-72s
were in intervals in which a Policy Activation occurred,
and data for those intervals are always wise to ignore.
There is no flag bit that activation occurred during this
interval, but the time of policy activation, R723MTPA, is
now printed along with STARTIME and DURATM of the raw RMF
record, so you can see if there was a policy activation
to blame. Variable CPUOVHTM in PDB.RMFINTRV will be
negative, non-missing value. to identify the intervals
that printed that log message.
This message may also be seen in intervals in which the
number of hardware CPUs was altered.
Thanks to Chuck Hopf, Bank of America, USA.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 25.280 Support for Websphere MQ V6 System Admin Account Queue
EXMQLGMD MQMD Structure in MQ Accounting Log non-SMF file creates
IMACMQLG the new MQLGMQMD Dataset with the Descriptor fields for
TYPEMQLG each event. This structure is documented on page 51 in
TYPSMQLG Chapter 7.
VMACMQLG
VMXGINIT
Jan 11, 2008
Change 25.279 SMF 85 subtypes 38, 39, and 40 now create three datasets
EXTY85RE TYPE85RE, TYPE85IB, and TYPE85TR. Archaic test records
EXTY85IB from year 2000 with shorter records were protected.
EXTY85TR
VMAC85
VMXGINIT
Jan 10, 2008
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 25.278 PDB.TYPE70 variables PCTZIBYx were created in MXG 24.02
VMAC7072 but were accidentally not kept after MXG 24.06; they are
Jan 10, 2008 now reinstated. PCTZIBYx/PCTIFBYx are the "MVS" values,
variables PCTCIBYx/IFATYPE are "LPAR" values for zIIP and
zAAP usage as noted in Change 24.184.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 25.277 Support for PSYNCH/390 SMF Record from M-Tech product
EXPSYC39 creates PSYNC390 dataset.
FORMATS Only one of the four flag variables will have a value in
IMACPSYC one record, but it's now too late to change the MXG code.
TYPEPSYC May 5: Formats were updated.
TYPSPSYC
VMACPSYC
VMXGINIT
Jan 10, 2008
May 5, 2008
Thanks to Joe Faska, Depository Trust, USA.
Change 25.276 Support for APAR OA20043 DFSMS DYNAMIC VOLUME EXPANSION
VMAC22 adds these two variables:
Jan 9, 2008 SMF22CYL='DEVICE*HIGH*CYLINDER'
SMF22PCP='DEVICE*HIGH*CYLINDER*PREVIOUS'
to the TYPE22_A dataset.
Change 25.275 -Strange error messages can occur if you did not update
VMACTPMX your IMACTPMX member with your SYSPLEX and SYSTEM names
Jan 4, 2008 and mapping tables; messages like these:
Jan 9, 2008 >>ERROR>> MXG/SAS VARIABLE TPMXPLEX NOT ASSIGNED
CORRECTLY USING LOCAL PROC FORMAT $MXTPMPX IN
>>ERROR>> EXIT MEMBER MXG.PROD.USERID.SOURCLIB(IMACTPMX).
>>ERROR>> RUN ABORTED. CORRECT THE FORMAT AND RESTART.
resulted when data from SYSTEMs not in IMACTPMX was read.
Adding an entry for each SYSPLEX and for its SYSTEMs in
IMACTPMX solved those errors.
-Variable JXJBSJ4 was incorrectly input as $EBCDIC, but it
is a hex flag field, now input and formatted $HEX8.
Jan 9: A debugging PUT was removed, VGETJESN %INCLUDEd to
create variable JESNR from JCTJOBID for subtype=5.
The current level: TM V6R1.2 at PTF TMT6116; the
fix for the truncated records is APAR TR61390, but
you are at PTF TMT6118, the APAR is TR61391.
Thanks to James D. Lieser, UHC, USA.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.274 A GDG member that had DSNAME .VnnnnGOO' (alpha oh) caused
VMAC6156 INVALID DATA warning message when MXG INPUT the oh's as a
Jan 2, 2008 numeric. Adding the double question mark modifier to the
INPUT function eliminates the warning and causes GENNO to
be a missing value:
IF ENTTYPID='H' THEN DO; /*GDG, GET GOOVO GEN/VER NUM*/
GDGLEN=LENGTH(ENTRNAME);
VCK =SUBSTR(ENTRNAME,GDGLEN-2,1);
DOTGCK=SUBSTR(ENTRNAME,GDGLEN-8,2);
IF DOTGCK='.G' AND VCK='V' THEN DO;
GENNO=INPUT(SUBSTR(ENTRNAME,GDGLEN-6,4),?? 4.);
VERNO=INPUT(SUBSTR(ENTRNAME,GDGLEN-1,2),?? 2.);
END;
END;
Scott had provided this elegant alternative that uses the
TRANSLATE and SCAN functions, worthy of sharing:
IF ENTTYPID='H' THEN DO; /*GDG, GET GOOVO GEN/VER NUM*/
LASTNODE = SCAN(ENTRNAME,-1,'.');
IF TRANSLATE(LASTNODE,'%%%%%%%%%%','0123456789') =
'G%%%%V%%' THEN DO;
GENNO=INPUT(SUBSTR(LASTNODE,2,4),4.);
VERNO=INPUT(SUBSTR(LASTNODE,7,2),2.);
END;
END;
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.273 APAR PK38803 incompatibly alters SMF 102 IFCID 22 Record.
VMAC102 -These variables were INPUT as fixed length text, but they
Jan 2, 2008 can be longer, and can be relocated in the SMF record.
MXG now detects the new OFFSETs and INPUTs $VARYING32:
Variable Fixed Length Label
QW0022CN $EBCDIC18. /*TABLE*CORRELATION*NAME*/
QW0022CR $EBCDIC8. /*TABLE*CREATOR*/
QW0022TN $EBCDIC18. /*TABLE*NAME*/
QW0022AC $EBCDIC8. /*QW0022XC:ACC INDEX CREATOR*/
QW0022AN $EBCDIC18. /*qw0022XN:INDEX NAME*/
(Note: 22AC and 22AN were original DSECT names)
Debugging is enabled for the first 10 instances that have
varying length fields on the MXG log, so I can validate.
-Records with QW0022PL=. have many missing values, and the
$CHAR vars formatted with $HEX have '20'x vice '00'x. The
obs was created from a second record, after a legitimate
instance with 6 observations, and has only R1O segment.
-_S102022 SORT MACRO revised and tested for dupe removal.
Jan 23, 2008: Change 25.306 is now required for PK38803.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.272 The Group Capacity Name SMF70GNM is now populated only if
VMAC7072 bit 1 of SMF70PFL is ONE, as that bit indicates this LPAR
Dec 21, 2007 is part of a capacity group of that name. If bit 1 is
zero, SMF70GNM is blanked, because some z/OS 1.8 data had
non-blank SMF70GNM when bit 1 was zero. While I could
have created a separate variable for bit 1 to identify
this LPAR is in a capacity group, with this change there
is no need for a second variable; now, IF SMF70GNM GT ' '
then this LPAR is in that Capacity Group, otherwise not.
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 25.271 Corrections for TMON/IMS support.
VMACTIMS -CM5612TM is a datetime variable, now format DATETIME21.2.
Dec 21, 2007 -CMCOMP, CPCOMP are formatted HEX8.
-XXTOKN Token variables are LENGTH 5 and HEX8 format.
-CMGMTA value's second division by 4096 was removed.
-ENDTIME is already on Local time, its GMT correction was
removed.
-These variables were incorrectly input as &PIB.8.6 vice
&PD.8.6, causing too-large values when non-zero:
TIMSCH: CMTMEIO CMTMEPL CMMINT CMMPOL CMMSCH
TIMSCM: CMTMEIO CMTMEPL CMMINT CMMPOL CMMSCH
TIMSCN: CNTMEIO CNTMEPL CNMINT CNMPOL CNMSCH
TIMSCP: CPTMEIO CPTMEPL CPMINT CPMPOL CPMSCH
TIMSCT: CTTMEIO CTTMEPL CTMINT CTMPOL CTMSCH
These fields were correctly documented as Packed in the
DSECT, but overlooked originally as they all were zero.
-Variables input &PIB.8.6 that are NOT GMT offsets are NOT
then divided by 4096: e.g., CTRSPTME when CTSDATE and
CTSPDATE are both non-missing matches their delta.
However, when CTSDATE is missing, CTRSPTME contains
the value of CTSPDATE shifted right by three nybbles,
i.e. a very large and very invalid data.
This problem will be passed to Landmark for correction,
but is circumvented by MXG setting CTRSPTME to missing.
-Five CPU variables are documented on the DSECT as (MILS)
for milliseconds and have always been input as &PIB.4.3:
CHCUMCPU CMCUMCPU CNCUMCPU CPCUMCPU CTCUMCPU
-But eleven REGION*CPU*TIME variables have no clue as to
their decimal place location:
CHCTCPUT CHDBCPUT CHDLCPUT CHIRCPUT CHCQCPUT
CJTXNCPU
CNCTCPUT CNDBCPUT CNDLCPUT CNIRCPUT CNCQCPUT
I have arbitrarily input them as &PIB.4.3 (MIL) but this
must be validated.
-These variables are assumed input of &PIB.4.6 to be like
their xxDUR counterparts, but this must be validated:
CMSQ6GM CMACCQ6 CNSQ6TM CNACCQ6 CPSQ6GM CPACCQ6
CUSQ6GM CUACCQ6
Thanks to Warren Waid, JC Penny, USA.
Change 25.270 For ASUM70PR, IMACRMFI tailoring with INTERVAL=DURSET
ASUM70PR can NOT be used, and output datasets created with that
VMXG70PR tailoring will be invalid if STARTIME is changed in your
Dec 19, 2007 IMACRMFI member and you used the default ASUM70PR, which
specified INTERVAL=DURSET as its default prior to this
change. You must use INTERVAL=HOUR, QTRHOUR, etc. in
in your %VMXG70PR invocation in your ASUM70PR member to
specify the desired interval.
For RMFINTRV, you can still use IMACRMFI/DURSET, because
it is a per-SYSTEM dataset, but I still recommend you use
INTERVAL=xxxx and not use IMACRMFI, for clarity.
Here's the problem with DURSET/IMACRMFI for ASUM70PR:
Because ASUM70PR summarization combines SYSTEMs that
can have different STARTIME, it uses and resets the
value in SMF70GIE. When I detect INTERVAL=DURSET, I
have to detect if STARTIME was changed in IMACRMFI, and
if so, then MXGDURTM (that you added in your IMACRMFI
per Change 25.150) must be added to STARTIME to create
SMF70GIE. I though I could use this code:
OLDSTART=STARTIME;
_DURSET;
IF STARTIME NE OLDSTART THEN DO;
and that worked with the first test case.
However, I now discover that the test will always fail
if STARTIME is already exactly on the interval, i.e.
STARTIME=DHMS(DATE,HOUR,0,0); for HOURly intervals will
equal OLDSTART when OLDSTART is exactly on the hour.
Since I can only detect some, but not all, changed obs,
I cannot support IMACRMFI and DURSET in ASUM70PR.
This is a rare problem; using INTERVAL=value in the
ASUM70PR invocations of %VMXG70PR and RMFINTRV invokes
of %VMXGRMFI is self-documenting and works safely,
so this change is mostly this change text and updates
to the INTERVAL= documentation comments in the cited
members.
Change 25.269 Support for SMF 50 subtype 4 OSA-MPC VTAM record adds new
EXTY50 observations with ATTCHTYP=4 to TYPE50 dataset, but only
FORMATS if this DEV had activity during this interval; the logic
VMAC50 that deletes zero-activity intervals is in the EXTY50
Dec 22, 2007 if you should want to output all of those observations.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
====== Changes thru 25.268 were in MXG 25.11 dated Dec 7, 2007=========
Change 25.268 The date in MXG 25.11 was typo'ed as year 2006 in several
AAAAAAAA members, but the member CHANGES was correct with 2007.
COPYRITE The dates were corrected and the ftp site was refreshed
Dec 7, 2007 on Tuesday with the Dec 7, 2007 date.
Thanks to Mike Ryan, Acxiom, USA.
Change 25.267 If the option VALIDVARNAME=V6 is set in your site's SAS
AUTOEXEC options, a temporary variable in VMAC78 caused
AUTOEXEU ERROR: The variable named N78HCNTCN contains more than
AUTOEXEW 8 characters
CONFIGV8 because the V6 value restricts the length of variable's
CONFIGV9 names to be 8 bytes or less.
VMAC78 MXG tests with the default VALIDVARNAME=V7, which allows
Dec 7, 2007 variable names to be up to 32 characters.
But almost all MXG variables will always be 8-bytes or
less, because I think shorter, encoded, albeit cryptic,
variable names are easier for PROGRAMMERs to work with.
But because some new open systems code was written with
their long names, and because change the default in the
MXG members can do no harm but can avoid future errors,
VALIDVARNAME=V7 has been added to MXG CONFIGVx and the
AUTOEXEx members.
Thanks to Andreas von Imhof, Rabobank Nederland, THE NETHERLANDS.
Change 25.266 The MXG ERROR.VMAC110... messages are updated to print
VMAC110 the CICS/TS 3.2 expected values.
Dec 6, 2007
Thanks to MP Welch, SPRINT, USA.
Change 25.265 Required for DB2 Version 9.1, DB2TCBTM correction.
VMACDB2 DB2TCBTM could be significantly less than it should be in
Dec 7, 2007 non-rollup observations in DB2ACCT. The CPU time delta
QWACEJST-QWACBJST was NOT included in DB2TCBTM when
QWACBJST was zero (and DB2PARTY NE 'R') in DB2ACCT.
And the loss has only been reported at sites with zIIP
engines for their DB2 systems.
Prior to DB2 V1.9, IBM DSNWMSGS documentation noted that
QWACBJST=0 meant that CPU timing was in error, and so MXG
had always NOT included that QWACEJST-QWACBJST delta in
MXG's DB2TCBTM variable. Accidentally, DB2TCBTM for the
Rollup Records (i.e., DB2PARTY='R") has always included
the QWACEJST when QWACBJST=0.
Note that
DB2TCBTM=SUM(DB2TCBTM,QWACSPCP,QWACTRTE);
is the final value output in DB2ACCT dataset.
Now, IBM DB2 Level 2 Support has confirmed in a reply to
an MXG site that QWACBJST=0 is valid and the QWACEJST in
those records should be included in DB2TCBTM, adding that
"If we have an agent running 100% on a zIIP, QWACBJST
will be zero." It was only after that reply from IBM DB2
Support that I looked to see the CPU timing not is not in
DSNWMSGS in the DB2 V 1.9 Macro Library.
To see if this change impacts your DB2ACCT dataset, you
can measure how much DB2TCBTM was lost with
PROC MEANS SUM DATA=PDB.DB2ACCT
(WHERE= (DB2PARTY NE 'R' AND QWACBJST=0));
VARIABLES QWACEJST;
TITLE TOTAL QWACEJST NOT INCLUDED IN DB2TCBTM;
If no observations are selected, no CPU time was lost.
Several folks at DB2 Support were ultimately involved in
the problem, providing this information about PK46171:
- Class 1 CP, zIIP, and elapsed times could be incorrect.
Because we don't get a 'start accounting' call:
1. QWACBSC would be from the last transaction to see a
start
2. QWACBJST would be the CP time from the last
transaction to see a start -- this can result in
this number being unrelated to QWACEJST
3. QWACCLSL_ZIIP would be effected similarly to
(QWACEJST - QWACBJST) since it is internally
calculated from a start ziip time that can be
unrelated to the end time
4. QWACAJST and QWACCLS2_ZIIP are probably not
noticeably effected although there could be an
extremely small amount of time that is not counted.
Above symptoms only occur in DRDA work when
connection-reuse is in effect. I can't see any
record said lacking of PK46171 will directly make
qwacbjst to zero.
- And this note on why QWACBJST can validly be zero.
From dump, we can see CPUTIME is 0 but zIIP time is >0
and this is a zIIP eligible distributed SRB. Thus
this is working as expected. The CP time can be 0
since all time might be on a zIIP at the time of the
first clocking. As long as either the CP or the zIIP
time > 0, that is normal.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY
Thanks to Derrick Haugan, MetLife, USA.
Thanks to Lisa Ouellette, Wachovia, USA.
Thanks to Jim Lazowski, NAV-INTERNATIONAL, USA.
Thanks to Uncha, DB2 Level 2 Support, GERMANY.
Thanks to Ronald Lobodzinski, DB2 Level 2 Support, USA.
Change 25.264 For consistency with MXG tailoring macro variables, new
IMACSPCK &MACSPCK is defined in VMXGINIT and referenced in the
VMXGINIT IMACSPCK tailoring member, though unlikely to be used.
Dec 5, 2007
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.263 Some DD DUMMY statements for INFILEs for new products
JCLTEST8 were missing in the TESTOTHR/TESSOTHR steps, and there
JCLTESS8 were inconsistencies in the TEST vs TESS members that
JCLTEST9 were corrected in these four test members. The main
JCLTESS9 purpose of these TEST/TESS jobs is to confirm that your
Dec 4, 2007 "USERID.SOURCLIB" tailoring did not cause any errors in
the TESTIBMx steps, so a failure in a subsequent step due
to a missing DD statement should not prevent you from
moving to JCLPDB8/JCLPDB9 testing.
Thanks to Eric Barnes, Scottish and Southern Energy, SCOTLAND.
Change 25.262 The 233 DDU files needed for ITRM sites to create ITRM
TYPETNG table definitions for each of the 233 datasets built
Dec 4, 2007 by MXG's TYPETNG (for CA's NSM product, formerly TNG).
There is also the cpddudef.sas program that is used
to generate all table definitions,. You will need to
replace &YOUR_PDB_PATH & Your_DDU_PATH in cpududef.sas
with your paths. The creation was run under a SAS ITRM
interactive session.
The itrmtng.sas file contains all 234 files in IEBUPDTE
format; the individual files can be created by using the
IEBUPDTE.SAS program in the MXG Source Library with the
itrmtng.sas file as it's input.
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 25.261 Variable LGGLGDEF in CICS dataset CICLGG is the Log Write
VMAC110 Defer Interval, the value specified in the site's LGDFINT
Nov 29, 2007 parameter, but the MXG format only printed 2 decimals;
the value is normally in milliseconds, so the format
TIME13.3 is now used so a value of 5 ms will print as
00:00:00.005.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 25.260 ITRTVLTM in TYPE30_V or PDB.SMFINTRV could be missing
VMAC30 for TYPETASK='OMVS' record; it is now protected twice,
Dec 1, 2007 in the SUBSTEP loop, and at the OUTPUT statement.
Thanks to Carl Sablon, KBC, BELGIUM.
Change 25.259 VMXGALOC bumped to the next week's PDB one day early, and
VMXGALOC could do even worse if the week-start-day was not Monday.
Nov 29, 2007 The logic was revised for both errors by this CodeShark.
Thanks to Patrick Holloman, Zions Bank Corporation, USA.
Change 25.258 Intentionally Blank Change (a/k/a skipped).
Change 25.257 Support for ICSF HCR7750 SMF Logging Update for TKE adds
FORMATS these new variables to SMF type 82 subtype 16 TYPE8216:
VMAC82 SMF82PAL='LENGTH OF*FIXED*AUDIT*DATA*'
Nov 29, 2007 SMF82PDE='DESCRIPTION'
SMF82PFI='FUNCTION*ID'
SMF82PFR='FUNCTION*RETURN*CODE'
SMF82PTA='TKE*AUTHORITY'
SMF82PUS='USER ID*NONCE*TSN'
and incorrectly spelled SMF82PDK is now SMF82PBK.
New MG082RC format decodes SMF82PFR.
Thanks to Greg Burt, Fifth Third Bank, USA.
====== Changes thru 25.256 were in MXG 25.11 dated Nov 22, 2007=========
Change 25.256 Macro variable &MXGDEBUG is revised for internal debugs.
TIMEBILD It's value is now the name of the member, suffixed with a
UTILRMFI numeric value when multiple values are needed. Previously
VMXGRMFI tests were for a simple numeric value, which triggered
VMXGSUM unwanted debugging diagnostics from other code members.
VMXGSUME And, UTILEXCL now exploits &MXGDEBUG with BEFORE/AFTER
UTILEXCL location for each of the optional CICS data segments, so
Nov 21, 2007 diagnosis of user tailoring errors will be faster!
For example, you could use:
OPTIONS FIRSTOBS=3800 OBS=3800;
%LET MXGDEBUG=IMACEXCL;
%INCLUDE SOURCLIB(TYPE110);
if you had an error after IMACEXCL/IMACICxx members
were tailored, and the error was in _N_=3800th record.
Change 25.255 Support for Action Software's EventAction SMF User Record
EXEVTA00 creates new datasets:
EXEVTA01 DDDDDD DATASET DESCRIPTION
EXEVTA02
EXEVTA03 EVTA00 EVTA00 DATASET CHANGE OR REFERENCE
EXEVTA04 EVTA01 EVTA01 CHANGESMXSMF)
EXEVTA05 EVTA02 EVTA02 REFERENCES MZSMF)
EXEVTA06 EVTA03 EVTA03 CHANGE ACTION CONTROLS
EXEVTA07 EVTA04 EVTA04 TEST ACTION C506)
EXEVTA08 EVTA05 EVTA05 COMMAND CONTROL C507)
EXEVTA09 EVTA06 EVTA06 CHG.DISTRIB TRANSMITS MZSMF)
EXEVTA0A EVTA07 EVTA07 REF.TRACKING BY MEMBERS CS501)
EXEVTA0B EVTA08 EVTA08 UPDATE TO EXCLUDES TABLE C41E)
EXEVTA0C EVTA09 EVTA09 UPDATE TO BLACKOUT TABLE C427)
EXEVTA0D EVTA0A EVTA0A UPDATE TO DATASET OPTIONS C404)
EXEVTA0E EVTA0B EVTA0B UPDATE TO MEMBER OVERRIDE C405)
EXEVTA0F EVTA0C EVTA0C OPTIONS AT OID LEVEL C40F)
EXEVTA10 EVTA0D EVTA0D GLOBAL PARMS C401)
EXEVTA11 EVTA0E EVTA0E DATA SET GLOBAL OPTIONS C401)
EXEVTA12 EVTA0F EVTA0F PXC
EXEVTA40 EVTA10 EVTA10 UPDATE TO USER GROUP
EXEVTA50 EVTA11 EVTA11 EXCLUDES NOT REF.TRK)
EXEVTA51 EVTA12 EVTA12 UPDATE TO CMD>TRACK OPTIONS
EXEVTAF0 EVTA40 EVTA40 CHANGE REQUEST DELETE
EXEVTAF1 EVTA50 EVTA50 USS CONTROLS
IMACEVTA EVTA51 EVTA51 USS EXCLUDES
TYPEEVTA EVTAF0 EVTAF0 ACCOUNTING RECORDS C50C)
TYPSEVTA EVTAF1 EVTAF1 USS CHANGS AND REFERENCES
VMACEVTA
VMXGINIT
FORMATS
Nov 18, 2007
Thanks to Craig Collins, State of Wisconsin DOA DET, USA.
Change 25.254 New sample report summarizes the DB2 Package data to the
ANALACTP UOW level keeping track of total response and CPU,
Nov 18, 2007 the longest package, the first 10 packages.
Jan 8, 2008 Jan 8: Typos in the untested code were discovered/fixed.
Example expected UOWIDCHR variable had been added
to your DB2ACCTP dataset, but didn't show how to,
or note it could be removed from ANALACTP example.
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 25.253 Support for new NTSMF MSSQL Objects.
EXNTQLBA DDDDDD DATASET DESCRIPTION
EXNTQLBN
EXNTQLBS NTQLBA MSQBROAC MSSQL:BROKER ACTIVATION
EXNTQLBT NTQLBN MSQBUFND MSSQL:BUFFER NODE
EXNTQLCA NTQLBS MSQBROST MSSQL:BROKER STATISTICS
EXNTQLCL NTQLBT MSQBRODT MSSQL:BROKER/DBM TRANSPORT
EXNTQLCT NTQLCL MSQCLR MSSQL:CLR
EXNTQLCU NTQLCA MSQCATME MSSQL:CATALOG METADATA
EXNTQLES NTQLCU MSQCURMG MSSQL:CURSOR MANAGER TOTAL
EXNTQLPC NTQLCT MSQCURTY MSSQL:CURSOR MANAGER BY TYPE
EXNTQLSR NTQLES MSQEXECS MSSQL:EXEC STATISTICS
EXNTQLTR NTQLPC MSQPLANC MSSQL:PLAN CACHE
EXNTQLWS NTQLSR MSQSQLER MSSQL:SQL ERRORS
IMACNTSM NTQLTR MSQTRANS MSSQL:TRANSACTIONS
VMACNTSM NTQLWS MSQWAITS MSSQL:WAIT STATISTICS
VMXGINIT
Nov 18, 2007
Thanks to Bob Gauthier, Albertsons, USA.
Change 25.252 Changes for testing MXG execution under WPS:
CONFIGW2 -MXGWPSV2. JCL procedure updated for WPS under z/OS
MXGWPSV2 -VMXGINIT. Test for identification of WPS revised, code
VMXGINIT was relocated to after TAPENGN was set for SAS:
VMXGPRAL %IF %SYSPROD(WPS) EQ 1 %THEN %DO;
ANALDB2K %LET WPSVER=&SYSVER;
ANALHTML %LET SASVER=8;
ANALMQMC %LET TAPENGN=WPDSEQ;
ASUM42DS %END;
ASUMCACH -CONFIGW2. CONFIG options now specify SEQENGINE=WPDSEQ.
ASUMHSM -VMXGPRAL. Tests for ENGINE adds WPDSEQ to list of seqs.
ASUMTALO Unrelated, SUM was added to PROC MEANS output.
CICSTRAN -VMXGINIT. WPS does not yet support VIEWS; all members
DB2PDB with /VIEW=XXXXXX were replaced with &VWxxxxxx
GRAFRAID macro variables that are %LET to the correct
JCLUOWP View-NAME under SAS but blanked under WPS.
JCLUOWV This change will be reversed when WPS has
UTILRMFI added support for Views.
UTILUOW -ANALDB2K thru VMXGUOWT listed at left were "View-Revixed".
VMXGCAPT WPS Level Tested successfully was Build (8460).
VMXGSUM
VMXGSUME MXG Newsletter FIFTY-ONE, VI.A WPS Technical Note reports
VMXGUOTT 1. Current status of MXG Testing under WPS Betas Nov 2007.
1.j. MXG Support Position for testing of WPS Release.
VMXGUOW 2. Run time comparisons.
VMXGUOWT 3. Revision to SAS Clones article in MXG Newsletter FIFTY.
Nov 19, 2007 4. Summary and statistics
Jan 30, 2008 Jan 30: typo VMUM corrected to VWUM.
Thanks to Brian Carter, EDS, UK.
Change 25.251 Several variables starting with R7021xxx had '2048-BIT'
VMAC7072 in their labels, but those are all '1024-BIT' counts and
Nov 17, 2007 durations; their labels are now corrected.
Thanks to Miguel F. Monferrer Carvajal, SPAIN.
Change 25.250 Variable TARCELAP is now FORMATed TIME12.2.
VMACTMNT
Nov 17, 2007
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.249 Variable TAUSRDAT was INPUT as $EBCDIC32. but can have up
VMACTMO2 to 240 bytes of data; INPUT statement was revised to use
Nov 17, 2007 TAUSRLEN to determine the length of user data input.
Thanks to Rodger Foreman, Acxiom, USA.
Change 25.248 The current VMXGSUM creates output variables with stored
VMXGINIT LENGTH of 5 (z/OS) or 6 (ASCII), based on the value of
VMXGSUM &MXGLEN (set in VMXGINIT), unless they are used in the
Nov 18, 2007 SUMLONG=, MAXTIME=, OR MINTIME= arguments, which always
create LENGTH 8 variables. You could change those lengths
with an explicit LENGTH statement in OUTCODE=, or you
could change the &MXGLEN value, but that would also
change subsequent LENGTHs of all defaulting variables in
subsequent steps in the same SAS session/step.
The SUMBY= and ID variables are output in the same length
they were in the input dataset, or in the INCODE= code if
that is where they were created. They could be changes
in the ORDER= argument.
This change creates macro variable &LNSUMOUT which will
only apply to VMXGSUM and makes all variables on which we
do mathematical operations to be LENGTH 8.
The default value of LNSUMOUT is blank, so the variables
will have the original (shorter) length unless you set
%LET LNSUMOUT=8; in your //SYSIN stream.
Apr 2008: DO NOT USE LNSUMOUT. See Change 26.065.
Thanks to MP Welch, SPRINT, USA.
Change 25.247 WebSphere SMF 120 Subtype 3 with two heap ids SM120SNT=2
VMAC120 caused INPUT STATEMENT EXCEEDED RECORD or INVALID DO LOOP
Nov 13, 2007 CONTROL error; only SM120SNT=1 records had been read and
this condition exposed an MXG logic error, now corrected.
Thanks to Bjorn Helgestad, VPS ASA, NORWAY.
Change 25.246 A CFI record with only a header segment caused ASMRMFV
ASMRMFV to burp and die with an 0C4; this revision protects.
Nov 13, 2007 Additional enhancements are noted in the changes in the
Nov 17, 2007 ASM source comments.
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 25.245 CA PDSMAN product's SMF record created megabytes of data
VMACPDSM when diagnostic trace records (LGRTYPE='D') were enabled,
Nov 12, 2007 and CA's recommendation was to suppress them and also the
Resource Monitoring (LGRTYPE='M') record processing.
Thanks to Sudie Wulfert-Shcickendanz, Anheuser-Busch, USA.
Change 25.244 The IRRDBU00 RACF DATABASE UNLOAD record '0200' comes in
VMACRACF two different lengths, 540 and 549, but MXG expected the
Nov 12, 2007 549 length record, which caused INPUT RECORD EXCEEDED
error when the shorter record was read. Both lengths are
now supported.
Thanks to Sean Angley, IBM, CANADA
Change 25.243 The automatic PROC DELETE of the WORK.UNKNOWN dataset is
TYPETNG removed, so that that dataset will exist after TYPETNG or
TYPSTNG TYPSTNG program is used to process CA NSM (old TNG) data.
Nov 6, 2007 If there are non-zero observations in WORK.UNKNOWN, it is
very possible that some or all data will not have been
output by MXG logic, so leaving WORK.UKNOWN will allow
it to be tested for possible unknown data records.
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 25.242 NDM record 'UC' is now output in NDMAE dataset.
VMACNDM
Nov 5, 2007
Change 25.241 Support for CICS Transaction Gateway 7.1.0 new SMF 111
EX111CM statistics record:
EX111CM datasets:
EX111CS DDDDDD MXG MXG
EX111CXE DATASET DATASET DATASET
EX111CXI SUFFIX NAME LABEL
EX111GD
EX111PH 111CM T111CM CICS CTG COMMUNICATIONS MANAGER
EX111SE 111CS T111CX CICS CTG CICS SERVER
EX111WT 111CXE T111CXE CICS CTG EXCI SERVER INSTANCE
IMAC111 111CXI T111CXI CICS CTG IPIC SERVER INSTANCE
VMAC111 111GD T111GD CICS CTG GATEWAY DAEMON
VMXGINIT 111PH T111PH CICS CTG PROTOCOL HANDLER
Nov 5, 2007 111SE T111SE CICS CTG SYSTEM ENVIRONMENT
Nov 21, 2007 111WT T111WT CICS CTG WORKER THREADS
Change 25.240 Full Support for CICS/TS 3.2 Compressed Data.
EXITCICS MXG incorrectly believed that '20'x bit in MCTMNOPN was
VMAC110 true when CICS/TS 3.2 SMF 110-1 records are internally
VMAC112 compressed, but that bit only indicates that the compress
Nov 3, 2007 option was enabled for this CICS region. This caused MXG
Nov 13, 2007 to falsely report the EXITCICS decompression exit was not
correctly installed, when Dictionary Records (MNSEGCL=1),
which are never compressed, were read. MXG now tests for
non-zero MCTSSCRL, which is the documented condition for
a compressed CICS SMF 110 or 112 record.
-VMAC112 was similarly changed to test for non-zero OMSPCL
to detect compressed SMF 112 records.
-This incorrect assumption had also been passed in my spec
for the EXITCICS logic, which had just turned off that
'20'x bit in its decompressed output. Now, EXITCICS sets
MCTSSCRL or OMSPCL to zero after decompression.
-If you previously assembled EXITCICS prior to this change
you must reassemble with this revised EXITCICS member AND
use the revised MXG's VMAC to read compressed records.
Change 25.239 -Support for new THRUPUT MANAGER variables in TYPETPMX:
EXTPMALG JXSLMCC ='JXSLM*CONTROL*CENTER'
EXTPMDBS JXSLMCC ='JXSLM*CONTROL*CENTER'
EXTPMSLM -New SLM JOB Statistics subtype 5 creates TPMSLM dataset.
FORMATS -New DBS POOL subtype 240 creates two new datasets:
IMACTPMX TPMALG - Algorithm data
VMACTPMX TPMDBS - DBS Pool data
VMXGINIT -Jan 4: Variables JESNR JCTJOBID added to TPMSLM dataset.
Nov 3, 2007 -Jan 9: GA records have corrected ETP truncation that was
Jan 4, 2008 originally reported here.
Jan 9, 2008
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.238 Optional OMEGAMON BSC segment for CICS/TS 3.2 did NOT
IMACICOB increase time-duration/count fields to the full 12-byte
IMACICOC resolution that I had ASS-U-Med, which caused MXG ERROR
IMACICO2 message INVALID STRTTIME. I made the same assumption for
Nov 2, 2007 all three Omegamon segments with time/count fields, so I
now assumed that the other two segments also have 8-byte
fields (IMACICOB for OMEGDB2, IMACICO2 for OMEGAMON), so
those two members also are reverted. And, of course, if
Omegamon does increase their fields to full 12-bytes,
yet another MXG change will be required.
Thanks to Ray Dunn, CIGNA, USA.
Change 25.237 Variable LCPUWAIT='LCPU 28*WAIT*COMPLETE?' in PDB.TYPE70
VMAC7072 was not kept after MXG 23.09, but the same named variable
Nov 1, 2007 LCPUWAIT='LPAR*WAIT*COMPLETION?' in PDB.TYPE70PR was, and
that was the source of the problem. Now, a rename fixes
this error, which was introduced in the infamous SPLIT70
rewrite.
Thanks to Enzo Rossi, Demand Technology Software, ITALY.
Change 25.236 Change 24.141 with z/OS at 1.7 or earlier caused TYPE78IO
VMAC78 dataset to have zero observations; MXG tested SMF78RSQ
Oct 31, 2007 for zero or one, but SMF78RSQ does not exist when the
Nov 1, 2007 RMF product segment is only 104 bytes. The test was
revised to output TYPE78 for missing value, zero or one.
But then, the duplicate observations created were NOT
removed by the NODUP option, because the SMFTIME in the
second or third replicates was not exactly the same value
as the first, so the _STY78IO sort macro was rewritten to
remove those with identical SMFTIMEs, and an extra DATA
step is used to keep only the FIRST.SMFTIME instance.
(The additional logic is invoked, but not needed, when
the SPLIT 78 records have a valid SMF78RSQ value.)
Thanks to Peter B. Hopper, CSC, AUSTRALIA.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 25.235 -Support for new Solaris CA CUBE STORE GROUP object and
EXTSO030 new variables in existing Solaris MIB-2.
EXTAI027 -Support for two new AIX Objects.
EXTAI028 -Support for 10 new RedHeat Objects, many new Metrics
EXTRH020 for existing RedHat Objects.
EXTRH021
EXTRH022
EXTRH023
EXTRH024
EXTRH025
EXTRH026
EXTRH027
EXTRH028
EXTRH029
FORMATS
VMACTNG
VMXGINIT
Oct 31, 2007
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 25.234 New variables added to OAM SMF 85 subtype 32-35 record
VMAC85 by z/OS 1.7 are now input and kept in TYPE85ST dataset:
Oct 28, 2007 R85B2ODK='BACKUP2*BYTES*DELETED FROF*OPTICAL'
Nov 1, 2007 R85B2ODO='BACKUP2*OBJECTS*DELETED FROM*OPTICAL'
R85B2ORK='BACKUP2*BYTES*READ FROM*OPTICAL'
R85B2ORO='BACKUP2*OBJECTS*READ FROM*OPTICAL'
R85B2OWK='BACKUP2*BYTES*WRITTEN TO*OPTICAL'
R85B2OWO='BACKUP2*OBJECTS*WRITTEN TO*OPTICAL'
R85B2TDK='BACKUP2*BYTES*DELETED FROF*TAPE'
R85B2TDO='BACKUP2*OBJECTS*DELETED FROM*TAPE'
R85B2TRK='BACKUP2*BYTES*READ FROM*TAPE'
R85B2TRO='BACKUP2*OBJECTS*READ FROM*TAPE'
R85B2TWK='BACKUP2*BYTES*WRITTEN TO*TAPE'
R85B2TWO='BACKUP2*OBJECTS*WRITTEN TO*TAPE'
R85NTE ='TAPE*VOLUMES*EXPIRED'
R85RCLD ='RECALLED*OBJECTS*PROCESSED*THIS CYCLE'
R85RCLK ='BYTES OF*RECALLED*OBJECTES*THIS CYCLE'
and these variables added by z/OS 1.8 are input/kept:
R85LOBD ='ROWS*DELETED*FROM LOB*STRUCTURE'
R85LOBI ='ROWS*INSERTED*INTO LOB*STRUCTURE'
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 25.233 The COMPRESSED RECORD FOUND error was printed for a CICS
VMAC110 dictionary record, but the MNSEGCL flag that identifies
Oct 27, 2007 the record IS a dictionary record was not printed.
Change 25.232 Change 25.124 added preliminary support for WPS execution
VMXGINIT but it forced WPSVER=2; now, the actual WPSVER is stored
Oct 26, 2007 in &WPSVER.
Change 25.231 Change 25.177 created new macro variable &ARRAYRMF, but
VMXGINIT the location in VMXGINIT was inside a DO GROUP that was
Oct 26, 2007 only executed for SAS V8.2, causing UNRESOLVED MACRO when
MXG executed under SAS Version 8.1. The statement was
relocated so it is always executed, no matter what SAS
version is used.
Thanks to John Compton, ACS, USA.
Change 25.230 MXG support for IMF 4.3 used the new offset field to the
VMACCIMS DBD segments when it was non-zero, but PTF BQI0129 for
Oct 23, 2007 IMF 4.2 populated that previously reserved field, which
caused INPUT EXCEEDED error and this error message:
INVALID IMS TRANSACTION RECORD LENGTH=836 WITH xxx
48-BYTE DBDS EXPECTED AFTER COL=32765 _N_=1
Now, MXG only uses the 4.3 offset to DBDs when the IMF
version is 4.3 or greater.
Thanks to Siegfried Trantes, IDG, GERMANY.
Change 25.229 -NMON data for AIX for PDB.NMONCPUD records can have the
VMACNMON number of CPUnn records increase and decrease as AIX adds
Oct 23, 2007 or subtracts "virtual" CPUs, and when a CPUnn goes away,
Nov 2, 2007 NMON wrote a short record, which caused INPUT EXCEEDED
error. Now, MXG detects and deletes these short records.
Note that the PDB.NMONINTV dataset, in NRCPUS variable,
has the number of "real" CPUs. However, in this case,
the value of NRCPUS was always 6, even though there were
CPUnn segments with CPU14 (i.e., there should have been
NRCPUS=7, as there are 2 "virtual" CPUs for each "real".
-Temporary variables WORD11-WORD24 were not set to LENGTH
$128, so they took the SAS default of 8-bytes for CHARs,
causing character variables stored from them to also have
a stored length of 8 bytes. Now, all WORDnn are $128,
and specific LENGTHs for kept variables are used where
needed.
-Variables NRCPU, PID, and PPID are now numerics.
-NMON data value 'nan' is 'Not a Number' and is stored in
the data records, causing INVALID DATA messages until
each instance is protected with double question marks!!
Sometimes spelled NaN.
Thanks to Mike Woelke, Boeing, USA.
Change 25.228 Protection for invalid SMF 14 record that had NUCB=2 but
VMAC1415 only one actual UCB segment. This record caused ERROR:
Oct 17, 2007 INPUT STATEMENT EXCEEDED RECORD LENGTH. Protection will
print error message for first three bad instances.
Thanks to William Carrol, Grange Insurance, USA.
Change 25.227 Variable RPRTCLAS is now kept in TYPE72DL dataset to flag
VMAC7072 a Service Class versus a Reporting Class observation. It
Oct 16, 2007 was not kept previously because the SMF manual mentioned
only service classes, but actual data shows TYPE72DL can
contain both Service and Reporting Class observations.
Thanks to Harald Seifert, HUK-COBURG, GERMANY
Change 25.226 UPRINDOC will PROC PRINT the NAME and LABEL of variables
UPRINDOC and is used to create the example output in the ADOCxxxx
Oct 16, 2007 members, and it also PROC MEANS all numeric variables.
It's been in MXG for years, but never documented.
Change 25.225 RMF III variable ENCCPUT is labeled 'CP*ENGINE*CPU TIME'
VMACRMFV now, because it is recalculated to remove zIIP CPU time:
Oct 16, 2007 ENCCPUT=ENCCPUT-ENCSUPT;
Oct 31, 2007 when it was found (and confirmed by RMF support) that it
contained both CP and zIIP Engine CPU time, but MXG will
always preserve the CP-Engine CPU times separately from
the zIIP and/or zAAP engine CPU times.
Thanks to Rodger Foreman, Acxiom, USA.
Change 25.224 The tests for CPUTYPE IN ('2064'X ...) are revised to now
VMAC7072 alternatively test for ZARCHMDE='Y', so that a new value
VMXGRMFI for CPUTYPE does NOT have to be added to MXG's table.
Oct 16, 2007 Previously, an unknown CPUTYPE was INCOMPATIBLE until
Oct 27, 2007 it was added to the tables in these two members.
The tests for CPUTYPE were needed to identify which data
exists in some of the early CPU types, but now that IBM
has added the bit for ZARCHMDE, it eliminates the need
for a new MXG version when IBM has a new CPUTYPE.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 25.223 The variable HOST is increased to 32 bytes; the original
VMACNMON length of 8 is insufficient for unix/AIX/linux host name.
Oct 15, 2007
Thanks to Michael W. Wolke, Boeing, USA.
Change 25.222 EXIT112 is the enhanced CICS INFILE EXIT for z/OS MXG
EXIT112 that reads compressed SMF 110 and SMF 112 records, but it
Oct 13, 2007 is temporary, as it will replace EXITCICS when a site
reports successful production sites with both records.
EXITCICS is running in production at several sites.
EXIT112 is an extension to EXITCICS, and EXIT112 has been
tested, but only with a small SMF file. I recommend that
EXIT112 be installed instead of EXITICS, and ask that you
confirm successful processing compressed 110 and 112 data
so that I can remove EXIT112 and rewrite this change.
Change 25.221 Support for CA NSM data from VM Ware VSX Systems creates
EXTVW001- ten new datasets. Many VMW metrics are the same as their
EXTVW010 Solaris and RedHat Linux counterparts, but with different
FORMATS variable names because not all exist and they are created
IMACTNG in different orders. While "TNG" still must be the suffix
VMACTNG for the MXG code members, the dataset labels of all "TNG"
VMXGINIT datasets are now changed to "NSM". New VM Ware datasets:
Oct 13, 2007 DATASET DDDDDD DESCRIPTION
VW001 VW001 NSM CA CPU GROUP
VW002 VW002 NSM CA FILE SYSTEM
VW003 VW003 NSM CA INTERFACE GROUP
VW004 VW004 NSM CA KERNEL CONFIG GROUP
VW005 VW005 NSM CA MEMORY GROUP
VW005 VW005 NSM CA NETWORK GROUP
VW007 VW007 NSM CA PER CPU GROUP
VW008 VW008 NSM CA SWAP GROUP
VW009 VW009 NSM CA PROCESS GROUP
VW010 VW010 NSM VIRTUALIZED ENVIRONMENT
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 25.220 The LABEL for SMF91OW was correct in TYPE91 datasets, but
ANAL91 it was changed in ANAL91, incorrectly, in an unneeded and
Oct 11, 2007 redundant and now removed LABEL statement.
Thanks to Dave Krouse, IBM, USA.
Change 25.219 TYPE74CA variable FWDC was replaced some time ago, but
VMAC74 the label was not corrected; the variable is labeled now:
Oct 11, 2007 FWDC ='DASD F/W*BYPASS*COUNT*R745DFWB'
Thanks to Ed Woodward, UPS, USA.
Change 25.218 Support for local CICS USER field CMODHEAD,CMODNAME=TRADE
IMACICU5 creates variable TRADEU5 in CICSTRAN, when enabled.
VMAC110 Jul 3, 2008: Field was increased to 80 bytes; the test
UTILEXCL and INPUT were also increased to 80.
Oct 11, 2007
Jul 3, 2008
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 25.217 VMACPRPR was revised, in June, but the Change text was
VMACPRPR lost. Originally support for the '1620' record was added
Oct 10, 2007 June 12, and test records had different delimiters in
date/time fields, so INPUTs were changed in MXG, but now
I see that no other record's date/times were changed.
This change, which was included in MXG 25.10, reverted
date/times for all other records to the original format,
but created a separate path to decode 1620 subtypes.
Thanks to Siegfried Trantes, IDG, GERMANY.
Change 25.216 The MXG support for optional CICS EZA01/EZA02 fields has
IMACICEZ been enhanced and documentation revised for clarity:
IMACICE1
IMACICE2 -IMACICEZ always has these 5 fields, identified by their
VMAC110 CMODNAME='EZA01' and CMODTYPE='S':
Oct 11, 2007
Jun 13, 2008 EZA01 S 001 12 ooo INIT
EZA01 S 002 12 ooo READ
EZA01 S 003 12 ooo WRITE
EZA01 S 004 12 ooo SELECT
EZA01 S 005 12 ooo OTHER
The CMODLENG=12 is from CICS/3.2; earlier CICS had only
CMODLENG=8, but IMACICEZ supports both lengths, so you
just remove the comment block to tailor IMACICEZ and it
will process data with either or both lengths.
-IMACICE1 can have up to 13 fields, identified by their
CMODNAME='EZA01' and CMODTYPE='A' (yes, CMODNAME is the
same 'EZA01' as IMACICEZ, but the CMODTYPE is different):
EZA01 A 001 4 ooo TINIT
EZA01 A 002 4 ooo TREAD
EZA01 A 003 4 ooo TWRITE
EZA01 A 004 4 ooo TSELECT
EZA01 A 005 4 ooo TOTHER
EZA01 A 006 4 ooo REUSABLE
EZA01 A 007 4 ooo ATTACHED
EZA01 A 008 4 ooo OPENAPI
EZA01 A 009 4 ooo TCBLIM
EZA01 A 010 4 ooo TREUSABL
EZA01 A 011 4 ooo TATTACHE
EZA01 A 012 4 ooo TOPENAPI
EZA01 A 013 4 ooo TTCBLIM
You will have to examine REPORT THREE (which may have the
last CMODHEAD field 'EZA01' instead of the names shown)
to know how many fields are in your data. If you have the
expected 13 fields, then you just remove the one comment
block. If you have fewer fields, then:
- Change the IF xxxx GE 52 THEN DO; statement so its
test value is 4 times the number of fields, e.g.
with seven fields change the "52" to "28".
- Change the INPUT statement's suffix from EZA01A13 to
the number of fields you have; if there are seven:
INPUT (EZA01A01-EZA01A07) (&PIB.4.) @;
- Delete the LABELs for variables that don't exist.
-IMACICE2 has 22 fields with z/OS 1.7 TCP/IP data, but had
only 11 fields with z/OS 1.4, which are identified by the
CMODNAME='EZA02' and CMODTYPE='A:
EZA02 A 001 4 330 CONN
EZA02 A 002 4 331 STARTED
EZA02 A 003 4 332 INVALID
EZA02 A 004 4 333 DISTRAN
EZA02 A 005 4 334 DISPROG
EZA02 A 006 4 335 GIVESOKT
EZA02 A 007 4 336 SECEXIT
EZA02 A 008 4 337 NOTAUTH
EZA02 A 009 4 338 IOERR
EZA02 A 010 4 339 NOSPACE
EZA02 A 011 4 340 LENERR
EZA02 A 012 4 341 TCONN
EZA02 A 013 4 342 TSTARTED
EZA02 A 014 4 343 TINVALID
EZA02 A 015 4 344 TDISTRAN
EZA02 A 016 4 345 TDISPROG
EZA02 A 017 4 346 TGIVESOK
EZA02 A 018 4 347 TSECEXIT
EZA02 A 019 4 348 TNOTAUTH
EZA02 A 020 4 349 TIOERR
EZA02 A 021 4 350 TNOSPACE
EZA02 A 022 4 351 TLENERR
You will HAVE to look at UTILEXCL REPORT THREE to confirm
if you have 22 or 11 fields, and remove only one of the
two comment blocks in IMACICE2 to tailor it.
-You create REPORT THREE with the _RPTEXCL macro run
with or after your UTILEXCL execution:
//SYSIN DD *
%INCLUDE SOURCLIB(UTILEXCL);
_BLDDICT;
_BLDEXCL;
_RPTEXCL;
-The only actual change made was to update VMAC110 to keep
the EXA01A13 13th variable.
-The text of this change was revised in June, 2008.
Thanks to Jane Dickerson, PRODUBAN, ENGLAND.
====== Changes thru 25.215 were in MXG 25.10 dated Oct 7, 2007=========
Change 25.215 Change 25.179 broke VMXGUOW, some overrides of _LDB2ACC
VMXGUOW caused CHARACTER OPERAND IN %EVAL FUNCTION errors.
Oct 7, 2007 Also, parameter HOWDEEP added to set kept array sizes.
Change 25.214 An example that finds all TSO and IDMS USERID that logged
TSOIDMS on,using IBM SMF 30 and IDMS PERFMON USER SMF records.
Oct 6, 2007
Thanks to Pat Curren, Supervalu, USA.
Change 25.213 Documentation only. DB2 variable THREADTY shouldn't have
VMACDB2 been added to DB2ACCTP dataset (Change 25.097), because
Oct 7, 2007 DB2 V8.1 writes all Package data in IFCID=239 (ID=101.1)
records, which do not contain a QLAC segment, and IBM's
THREADTY definition (in comments for QWHDRQNM field in
their DSNWMSGS member of the DB2 Macro Library) compares
QWHDRQNM with QLACLOCN. Since I can never safely remove
a variable, it will still exist in DB2ACCTP, but it will
always be blank in that dataset. No code was changed.
Change 25.212 -SYNCSORT variable SYNCUSET is now documented to be the
VMACSYNC sum of VSCORET plus the GDSM Adjustment, so its label
Oct 6, 2007 is revised to be:
Nov 17, 2007 SYNCUSET='CORE USED*TOTAL*VSCORET*PLUS GDSM ADJ'
-SYNCSORT added a new field, which MXG decodes as:
SYNHWMPF='HIGHWATERMARK*PAGEFIXED*STORAGE*USED'
where the old HPALLOC/HPUSED ESTORE BLOCKS was located.
-All reserved and unknown fields in SYNCSORT SMF record
are decoded, but none of these variables are kept:
/* SYNRSV41-SYNRSV45 SYNUNK01-SYNUNK15 */
/* SYNCHFUT SYNCBFUT SYNXXXX1 SYNSPARE */
Change 25.211 PDB.TYPE70 variables ZIPACTTM, PCTZIPBY, PCTCIBYn are now
VMAC7072 corrected for Dedicated zIIP Engines. For Shared zIIPs,
Oct 5, 2007 the LPAR Dispatch time is valid, but Dedicated engines
report 100% dispatch. For TYPE70, the ZIPWAITM is used
to correct ZIPACTTM, which corrects the other variables.
Thanks to Jerry Cobb, American Century, USA.
Change 25.210 -WARNING: LENGTH OF CHARACTER VARIABLE ACCOUNT1 HAS BEEN
VMACSFTA SET under SAS V9 is issued ONLY when a LENGTH statement
VMACDB2 changes the length of a character variable, and, like all
VMACOPC WARNING: messages in SAS V9, z/OS sets Condition Code 4.
VMACBE97 (Under V8, this specific WARNING did NOT set CC=4,
VMAC7072 but V9 has tightened specs so WARNINGS always CC=4.)
TRNDDB2S But it should never occur in MXG code: although there are
ANALCISH multiple LENGTH statements, they should always set the
Oct 4, 2007 same value.
But it did occur when VMACSFTA was executed standalone,
because the statement ACCOUNT1=XPUPNOAC; was located
prior to the %INCLUDE of IMACACCT, which is where the
LENGTH of ACCOUNT1 should always be defined. Relocating
that ACCOUNT1=XPUPNOAC; statement eliminated the WARNING.
-When WARNING for numeric vars (eg. QB1TALX) were printed,
I discovered there were six members that had hard-coded
values for LENGTH DEFAULT=4 that should have been changed
to LENGTH DEFAULT= &MXGLEN; the were overlooked or added
after Change 19.272, but now all are consistent so that
numeric variables are stored 5 on z/OS and 6 on ASCII,
except for the specific cases where length 8 is required.
Thanks to Ron van der Zande, KLM Info Services, THE NETHERLANDS.
Thanks to MP Welch, SPRINT, USA.
Change 25.209 -TIMEBILD/TIMETABL is enhanced to support the selective
TIMEBILD application by SYSTEM of "SYNC59" timeshifting logic:
TIMETABL - TIMEBILD now reads columns 71-72 of TIMETABL to INPUT
VMXGTIME the (+ or -) number of minutes to be added for SYNC59.
VMXGINIT That value is a part of the format built by TIMEBILD.
VMXG70PR - %TIMEBILD must be executed first to create the table.
Oct 5, 2007 - To enable the addition of SYNC59 offset, you must set
%LET MXGTIM59=YES;
and then you would run the program whose datetimes
are to be shifted by both TIMEBILD zones and SYNC59.
- The "SYNC59" option is intended to be used ONLY with
RMF/CMF data, and in particular, for data from a CEC
that has some systems SYNC59 and some SYNC00. It may
not work with other programs, including BUILDPDB, as
you may not want all records SYNC59'ed. And, if you
now use the SYNC59 option in TIMEBILD, you must also
change your ASUMxxx, TRNDxxxx, VMXGxxxx tailored code
to now specify SYNC59=NO to prevent a double shift.
- To process only the RMF data with a TIMETABL that has
been updated to include the SYNC59 flag, you could use
%LET MXGTIM59=YES;
%TIMEBILD;
%UTILBLDP ( BUILDPDB=NO,
USERADD=70 71 72 73 74 75 76 77 78,
ZEROOBS=74.1 74.5,
INCLAFTR=RMFINTRV ASUM70PR,
OUTFILE=INSTREAM);
%INCLUDE INSTREAM;
to build you RMF-only PDB Library (which will be small,
as that example does NOT create observations in the two
big TYPE74 and TYPE74CA datasets due to that ZEROOBS=).
- TIMEBILD will PROC PRINT the input TIMETABL and the
output TIMEBILD datasets by enabling MXGDEBUG:
//SYSIN DD *
%LET MXGDEBUG=1;
%LET MXGTIM59=YES;
%TIMEBILD;
RUN;
%LET MXGDEBUG=0;
- You can conditionally reset MXGTIME59 for some SMF data
and not for others; for example, to enable for59 add,
and you do NOT have to rerun TIMEBILD.
%TIMEBILD(TIMEBILD=YES);
%LET MACFILE=%QUOTE(
IF ID=30 THEN CALL SYMPUT('MXGTIM59','NO');
ELSE CALL SYMPUT('MXGTIM59','YES');
);
%UTILBLDP(USERADD=7072 30,BUILDPDB=NO);
%INCLUDE INSTREAM;
-Once TIMEBILD worked to selectively SYNC59, the original
problem, duplicate observations in PDB.ASUMCELP, could be
diagnosed: while BY variable GMTOFFTM is correctly used
to creating the "per-SYSTEM" datasets, it can never be
used in the "per-CEC" datasets, because they are built
from multiple SYSTEM's data, which can have multiple
values in GMTOFFTM. Removing GMTOFFTM from the creation
of PDB.ASUMCELP has eliminated the duplicates; I should
remove GMTOFFTM where it makes no sense, but instead, I
have set GMTOFFTM=. in ASUMCEC and ASUMCELP, so it will
not create a VARIABLE NOT FOUND ERROR.
Thanks to Ingegerd Jannson, Volvo, SWEDEN
Change 25.208 CICS local user field CMONDNAME DAT008 CMODHEAD ENTRADA
IMACICU4 creates new variable ENTRADA.
VMAC110
UTILEXCL
Oct 1, 2007
Thanks to Jane Dickenson, Santander Produban UK, ENGLAND.
Change 25.207 The NTSMF dataset LOGLDISK had the variables FREESPAC
VMACNTSM (FREE MEGABYTES and PCTFRESP (PCT Free space) but the
Sep 27, 2007 size of the volume did not exist until now, with the
new DISKSIZE variable.
Thanks to Michael Ryan, Acxiom, USA.
Change 25.206 MXG 25.09 only. If the SAS-provided default CONFIG member
FORMATS was not in your //CONFIG DD statement in your MXGSASV9
CONFIGV8 JCL procedure, the PROC FORMAT failed to build MXGTNGON,
CONFIGV9 because lines 12092 thru 12099 in FORMATS were low-case
Oct 3, 2007 duplicates of preceding lines, that should not have been
have been there, but they caused no error when the CONFIG
member was present. Since they also caused the error if
they were UPPERCASED, I assume the absence of the SAS
CONFIG member caused them to be treated as UPCASE. Also,
there were Macro Variable error messages because MERROR
is a required option that is normally set in SAS CONFIG.
To protect, MERROR is now added to CONFIGV9 and CONFIGV9.
Thanks to Jim Wertenberger, Antares Solutions, USA.
Change 25.205 Support for z/OS 1.9 54 CP engines - INCOMPATIBLE.
VMAC7072 Z/OS 1.9 allows up to 54 CP engines in a single image,
Sep 27, 2007 but SMF 70 records with CPUID=33 or higer caused ARRAY
Oct 4, 2007 SIZE EXCEEDED with MXG 25.09 or prior. Now, CPUs with
CPUID=33 thru CPUID=53 are supported in the PDB.TYPE70
dataset (the only MXG dataset altered due to 54-CPUs).
Each CPUID has a set of variables in PDB.TYPE70; existing
0-32 CPUIDs variable names were created with suffix 0-9
and A thru X. Now, Y and Z are used for 33-34, and ZA
thru ZS suffix are used for CPUIDs 35-53 variables.
Where the variable name is 8 characters, that "Za" had
to overlay the penultimate character in the name.
To operate on these CPU-specific variable names, they
are all defined in VMAC7072 with an ARRAY statement
that you can cut and paste into your program to avoid
spelling all those names.
-Unrelated, discovered in testing: APAR OA18244 documented
that the CPUC segment was increased to 116 bytes, but the
APAR actually increased its length to 160 bytes, causing
SMF70GJT and following variables to be missing value, as
the MXG test was for EQ 116 (without APAR is EQ 102).
Now, the test is for GE 160, as IBM RMF Development has
confirmed the correct length, to be documented, is 160,
adding 44 unused bytes of zeroes. This APAR applies to
both z/OS 1.8 and z/OS 1.9.
Thanks to Tony Curry, BMC, USA.
Change 25.204 CFI Segmentation feature added for RMF III VSAM support,
ASMRMFV which now eliminates the possibility of skipped CF data,
VMACRMFV new ASM symbolics for tailoring, and additional items.
Sep 25, 2007 Issues Resolved:
Oct 3, 2007 -PROCCFI is now a subroutine to conserve the mainline
Dec 4, 2007 base register.
-CFI Table output is now segmented in response to
reported problems by MXG users. This removes a long
standing restriction that the size of the CFI table
could not exceeding the 32K LRECL output maximum without
data loss.
-The RMFV005E error message could have overlaid text when
multiple ASMRMFV parameter errors were detected.
-Several problems with index data fields in the CFI table
output record either not being set or set incorrectly
that caused PDB build errors in VMACRMFV have been fixed
during alpha code testing.
Enhancements:
-There are a pair of new option keywords BYTES/NOBYTES.
These specify whether ASMRMFV should or should not
provide byte counts for 5 categories of data read,
decompressed, written, filtered, and skipped. The
counts are provided in each RMF data set detail report
and also as totals in the summary report. This feature
is intended to aid users to understand the volume of
data being processed by ASMRMFV, as a coarse comparison
tool when using different versions of (or sets of
keyword options with) ASMRMFV, and finally as a possible
diagnostic aid. The alias for BYTES is BY and the
aliases for NOBYTES is NOBY or -BY. The byte counts
now appear in message RMFV104I and the former RMFV104I
message is now RMFV105I. The distributed default is
BYTES Packed decimal arithmetic is used for these
counters to allow up to 15 decimal digits in magnitude
or up to a value of 999,999,999,999,999 bytes. The
assembler symbolic variable &BYTES is provided to allow
the user to change the default for BYTES/NOBYTES to
NOBYTES in the ASMRMFV source code. The distributed
default is 'Y' meaning that BYTES is the default. These
counters take little overhead to maintain and display.
So there is little benefit in suppressing them except to
reduce output report volume by 2 lines per data set.
But that choice is certainly available.
-A pair of new option keywords CFALL/CFMASTER is added in
support of the CFI segmentation support. CFALL
specifies that CFI tables from all input RMF III LPARs
are to be output as in prior versions of ASMRMFV.
CFMASTER specifies that by testing a particular flag
that only data from the LPAR designated as RMF III
Master Gatherer is to be output. The distributed
default is CFALL. Effective use of CFMASTER requires
that the RMF III parameter CFDETAIL be in effect in all
LPARs in the Sysplex. Due to the IBM usage of this
flag, using the CFMASTER option when RMF III NOCFDETAIL
is in effect (IBM default) will cause all CFI records to
be filtered out by ASMRMFV. CFALL has no alias.
Aliases for CFMASTER are CFMAST and CFM. With CFDETAIL
in effect only the single LPAR determined by RMF III to
be the Master Gatherer collects all Coupling Facility
detail data. So including incomplete CF data from the
remaining LPARs may be an unnecessary and redundant
overhead. The intent of CFMASTER is to automatically
exclude this extra data. The &CFALL assembler symbolic
is also provided to change the CFALL default in ASMRMFV
source code if needed. The &CFALL symbolic can be
changed in the ASMRMFV source to 'N' prior to assembly
to permanently enable CFMASTER processing. The
distributed default is 'Y'. Do not make this change
unless using CFDETAIL on all LPARs being input to
ASMRMFV.
-When CFMASTER is in effect the CFI table id in
the RMFV105I message displays as CFIM instead of the
usual CFI to indicate this option is in effect.
-When the BUFFERS option is in effect the RMFV102I
message will now display a count of both buffers
available and used for each buffer pool type. This
feature was intended mainly to enable MXG users to
intelligently size the large VSAM LSR buffer pool used
to optimize random RMF III data set read access by
ASMRMFV. The distributed default is 5000.
Unfortunately, at this time the VSAM SHOWCB macro
seems to always return a 1 for actual buffers used in
the LSR pool. Given the number of random I/Os
typically issued this value seems suspect and
requires further investigation.
-Program logic for both buffer pool accounting and
normal/filtered/skipped record output has been improved.
-Documentation on the contents of fields for several
messages has been improved to provide more details on
their content and meaning.
-ASMRMFV program prologue documentation is upgraded to
document all related program changes.
-Oct 3: corrected INPUT STATEMENT EXCEEDED; 1.8 CFI data
ends with CFISCCOC in member VMACRMFV.
-Dec 4: VMACRMFV restructured to output only the first
CPUG3 segment to ZRBCPU; the ASMRMFV CPU segmentation
creates a CPUG3 segment for each LPARNAME, which caused
duplicate observations in WORK.ZRBCPU; using TYPSRMFV
to sort ZRBCPU did remove those duplicate obs, but this
change compares CPUHNAME with LPARNAME an outputs only
the first instance for each interval.
Thanks to Jerry Urbaniak, Acxiom, USA.
Thanks to Ben Romano, Hewitt Associates, USA.
Thanks to Lawrence Jermyn of Fidelity Investments, USA.
Change 25.203 OPTIONS COMPRESS=NO was inserted in ASUMTALO back in 1995
ASUMTALO by Change 12.273, because the first (temporary) DATA step
Sep 25, 2007 was extremely expensive, but then Change 12.273 was not
recalled when MXG set COMPRESS=YES as the default value,
so INCLUDEing ASUMTALO turned off compression for any
subsequent programs. Now, VMXGOPTR is invoked to store
your current value of the COMPRESS option, which is then
reset prior to the creation of PDB.ASUMTALO, so it will
be compress based on your choice of the COMPRSS option.
Thanks to Patrick Holloman, Zions Bank Corp, USA.
Change 25.202 ANALDB2R Statistics Reports VARIABLE QBnTDPIO NOT FOUND
ANALDB2R and VARIABLE QLSTCRSR NOT FOUND errors because those
Sep 22, 2007 variable names should never have been in the VMXGSUM
Oct 4, 2007 invocation for the statistics reports.
Thanks to Clayton Buck, UniGroup, USA.
Thanks to Yaohua Hu, ISO, USA.
Change 25.201 -Unexpected FILESYSTEM data with characers caused errors
EXTRH019 INVALID ARGUMENT FOR FUNCTION, temporarily circumvented,
FORMATS but the circumvention causes RH017001 to be a mising
IMACTNG value until further investigation of the strange data.
VMACTNG -Unrelated, Red Hat object USERS is supported in the new
VMXGINIT RH019 dataset created by this change.
Sep 24,2007
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 25.200 Use of %LET mackeep= whatever ; was not supported.
READDB2
Sep 18, 2007
Thanks to Gary Diehl, Sun MicroSystems/STK, USA.
====== Changes thru 25.199 were in MXG 25.09 dated Sep 17, 2007=========
Change 25.199 If SYNC59=YES was specified in your %VMXGRMFI invocation
VMXGRMFI to create PDB.RMFINTRV, the STARTIME was reset to 00/15
Sep 15, 2007 but SMF70GIE was not. Now it is, so PDB.RMFINTRV will be
consistent with PDB.ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP.
Thanks to Douglas C. Walter, Citicorp, USA.
Thanks to Brent Turner, Citicorp, USA.
Thanks to Tom Koelle, Citicorp, USA.
Change 25.198 TYPE89 variable SMF89HOF (HYPERVISOR DATATIME OFFSET) and
VMAC89 SMF89DTO were wrong because the comment for SMF89PFL was
Sep 15, 2007 not present.
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 25.197 %UTILCSV creates a CSV (Comma Separated Values/Variables)
UTILCSV or TAB or ANY-character-DELIMITED "text file" from any
Sep 14, 2007 SAS dataset, with the ability to order left-to-right and
to use FORMAT statements to control the output text.
Change 25.196 If you set %LET MACKEEP= %STR( lots of lines of text );
UTILBLDP before invoking %UTILBLDP, some of your MACKEEP code may
Sep 14, 2007 not get executed, leading to strange errors or unexpected
results. We now parse the text inside the macro language
into line-sized chunks to eliminate the exposure.
And while we were at it, we've created new arguments that
you can use for tailoring, as an alternative to using
%LET's for these macro variables:
Macro Variable Name Macro Argument Name
macfile macfilex
mackeep mackeepx
ihdrdb2h macdb2hx
ihdr110 mac110hx
One reason to use the Macro Argument in your UTILBLDP
rather than a %LET statement is that macro argument are
significantly more robust in that they do not need to
be wrapped in %STR() and we have NOT been able to find
any text string the argument couldn't handle, vs the
many combinations that have broken %QUOTE, etc. in %LETs!
However, you can use both a %LET macxxxx= and macxxxxx=
argument; the text in your %LET will preceed any text you
passed in the corresponding argument.
And, just to be sure, we now "chunk" any EXPDBOUT text.
Thanks to Michael Creech, Fidelity National Information Svcs, USA.
Change 25.195 Support for EMC's SRDF/A user SMF record.
VMACSRDF
VMXGINIT
EXSRDFAA
TYPESRDF
TYPSSRDF
IMACSRDF
Sep 13, 2007
Change 25.194 Variable SJGRQRST='JVM*REQUESTS*WITH RESET' in CICTCPSJ
VMAC110 CICS Statistics dataset is now created; while it does not
Sep 13, 2007 exist in CICS/TS 3.2 (resettable JVMs were withdrawn in
3.2 because continuous use JVMs save lots of CPU), it is
useful for detecting these bad guys in 2.3 and 3.1.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 25.193 MXG 25.08 Change 25.182 was incomplete, which caused the
IMACEXCL ERROR: LABEL IMACICU3 NOT FOUND when UTILEXCL was run.
UTILEXCL
Sep 13, 2007
Thanks to Christelle Abily, Groupe Informatique Credit Mutuel, FRANCE
Change 25.192 INPUT STATEMENT EXCEEDED RECORD LENGTH SMF ID=92 ST=14
VMAC92 because the SMF92DNR/SMF92DRN Rename Length/Name fields
Sep 11, 2007 only exist when the file is RENAMEd, and because the SMF
manual did not document that feature. Now, MXG confirms
that data exists prior to its INPUT.
Thanks to John Schoenbeck, AT&T Services, Inc, USA
Change 25.191 Support for RMF Monitor III CFI table segmentation in the
ASMRMFV ASMRMFV, and their input in VMACRMFV. New datasets
EXZRBCFC ZRBCFC is created from the CFICONNUS Connection Table,
IMACRMFV and the new variables in the CFISTRES Table are created
VMACRMFV when they exist (i.e., when CFIDETAIL was specified in
VMXGINIT RMF III parameters).
Sep 10, 2007
Sep 14, 2007
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 25.190 Variable QDBPPFIX='PGFIX*ATTRIBUTE' is now kept in the
VMACDB2 DB2STAT2 dataset; it was added in DB2 V8.1, in the same
Sep 8, 2007 location as QDBPVTPT, which is now always blank.
Thanks to Lori Masulis, Fidelity Systems, USA.
Change 25.189 Revision to PDBOUT= options, when PDB=SMF is specified,
READDB2 and possible INCOMPATIBILITY when PDBOUT was null. Now,
ANALDB2R these options for PDBOUT= control output destination:
Sep 11, 2007 PDBOUT=, All datasets written to //WORK, always.
Sep 17, 2007 PDBOUT=PDB All datasets written to //PDB.
Sep 24, 2007 PDBOUT=YES All datasets written to their default
destination, with user tailoring honored.
PDBOUT=XXX ALL datasets written to //XXX.
This change could cause perfectly running jobs to fail,
if PDBOUT=, was specified and you had tailoring that
redirected the output dataset destinations. Sorry for
that, but using PDBOUT=YES instead of PDBOUT=PDB is now
the DOCUMENTED and SUPPORTED option to create output.
This revision was precipitated when ANALDB2R had been
invoked with PDBOUT=, and it failed with DDNAME PDB NOT
FOUND and _VDB2A UNDEFINED errors when no //PDB DD
existed.
Note: Only READDB2's code was changed; ANALDB2R calls
READDB2 with the same possible PDBOUT= argument,
so it is listed here for documentation
(that you'll only find after the error?).
Text revised Sep 17 for PDBOUT=PDB description.
-MXG 25.08 only, bit test for SADUCL=6 was one bit short;
only the list of Audit Trace Classes might be incorrect.
This was accidentally corrected in this change. 24Sep07.
Thanks to R. Berry, Internal Revenue Service, USA.
Thanks to Clayton Buck, UniGroup, Inc, USA.
Change 25.188 If RMFINTRV=NO and BUILDPDB=YES and ASUM70PR included,
UTILBLDP the invocation failed because the TYPE70xx datasets were
Sep 7, 2007 not sorted into the PDB due to the RMFINTRV=NO. Now, as
expected, BUILDPDB=YES sorts them into the PDB library.
Thanks to Trevor Holland, ANZ, AUSTRALIA
====== Changes thru 25.186 were in MXG 25.08 dated Sep 5, 2007=========
Change 25.187 IBM SMF Manual incorrectly documented SMF92RVN value of 3
VMAC92 but that was corrected in z/OS 1.9 manual to correct 2,
Sep 5, 2007 so two MXG tests for SMF92RVN GE 3 were change to GE 2.
This corrected the bit variables SMF92MFG and SMF92MF2.
Variable SMF9PPN is a path name so it was increased to
$VARYING1024. with input length set by SMF92PPL.
Thanks to Hyrum E. Smith, Charles Schwab & Co., USA
Change 25.186 Variable DB2PARTY not found when PMACC02 requested and
ANALDB2R PDB.ASUMDB2A existed was corrected with a compiler faker.
Sep 5, 2007
Change 25.185 New Capacity Group datasets created by Change 25.163 did
IMACSHFT not have a DURATM variable for the ASUM70GC and ASUM70GL
VMXGDUR datasets; the interval is forced to HOURLY, but interval
VMXG70PR datasets should always have a DURATM variable.
Sep 5, 2007 I tested this change with %VMXG70PR(INTERVAL=SHIFT,...)
and found it caused VARIABLE MXGDURTM UNINITIALIZED notes
because MXGDURTM was not defined in IMACSHFT example, and
MXGDURTM was not always protected in VMXGDUR.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 25.184 RMF Capacity Group reports added to ANALRMFR. Support for
ANALRMFR new data was added by MXG Change 25.163.
Sep 5, 2007
Change 25.183 These WORK library datasets are now deleted; several PROC
TYPETMS5 DELETEs commented out for testing are now uncommented.
Sep 5, 2007 CHANGED DSNBREC DSNBRECS DSNBRECT DSNBRECU
DSNBRECV DSNBRECW MGTMSVL TMSREC TMSRECS
Thanks to John Shuck, Sun Trust, USA.
Thanks to Stan Helms, Sun Trust, USA.
Thanks to Mike Duwve, Sun Trust, USA.
====== Changes thru 25.182 were in MXG 25.08 dated Sep 5, 2007=========
Change 25.182 Support for CICS User Field ARZAL (CMODNAME='ARZAL' and
IMACICU3 CMODHEAD='APPLINFO' is added.
UTILEXCL
Sep 2, 2007
Thanks to Peter Gschirr, ARZ, AUSTRIA.
Change 25.181 Support for CA Unicenter NSM has been in MXG under "TNG"
EXTAI026 for years, because TNG was NSM's original name, and the
EXTNT132 "performance cube" format was not changed at name change.
EXTRH001 Support for CA NSM PLATFORM='RHEL401', RedHat 4.01 Linux
EXTRH002 performance cube is added by this change, which initially
EXTRH003 populates the Solaris "SOnnn" datasets, as they exist and
EXTRH004 have the most objects/metrics in common with Linux, but
EXTRH005 there are Solaris-only variables that have missing values
EXTRH006 and there are RHEL objects/metrics not yet supported.
EXTRH007
EXTRH008 This change also externalizes the list of PLATFORM names
EXTRH009 that map to AIX or SOLARIS with new _AIPLAT and _SOPLAT
EXTRH010 macros (like the existing _NTPLAT macro). And, that test
EXTRH011 is now IF PLATFORM IN : ( _NTPLAT ) THEN DO; with the
EXTRH012 "colon modifier" inserted so the test matches only the
EXTRH013 starting characters of the platform names. I did this
EXTRH014 when I thought RHEL was a user-assigned name, which it
EXTRH015 isn't, but these macros are no-cost tokens that will make
EXTRH016 my testing easier for new PLATFORM names.
EXTRH017
EXTRH018 New variables were added to these existing datasets:
IMACTNG Dataset Description
VMACTNG AI019 AIX - CA MEMORY GROUP
VMXGINIT NT035 NT - PROCESS
Sep 2, 2007 New datasets are created from these new objects:
Dataset Object Name
AI026 AIX - PROCESS
NT132 NT - CA CUBE STORE GROUP
-New datasets are created from Red Hat Platform Objects:
Dataset Object Name
RH001 RH - CA CPU GROUP
RH002 RH - CA INTERRUPT
RH003 RH - CA CUBE STORE GROUP
RH004 RH - CA PER CPU GROUP
RH005 RH - CONTEXT SWITCHING
RH006 RH - INTERRUPTS
RH007 RH - PAGING
RH008 RH - PROCESS CREATION
RH009 RH - SWAPPING
RH010 RH - CA DISK GROUP
RH011 RH - CA FILE SYSTEM GROUP
RH012 RH - CA INTERFACE GROUP
RH013 RH - CA MEMORY GROUP
RH014 RH - CA PROCESS GROUP
RH015 RH - CA SWAP GROUP
RH016 RH - CPU
RH017 RH - FILESYSTEM
RH018 RH - NETWORK
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 25.180 The Omegamon OMCI subtype 203 is now written in SMF 112s,
VMACOMCI but can still be created in the old User SMF record; MXG
Aug 29, 2007 Change 25.099 moved the 203 code into VMAC112, but also
disabled subtype 203 in VMACOMCI. This corrects.
But now see Change 26.257, which revised support.
Thanks to Tom Kelman, Commerce Bank of Kansas, USA.
Change 25.179 Protection for %UPCASE() and %LOWCASE() for literals.
ANALDBTR Almost all of the SAS code in MXG is in UPPER CASE, but
BLDSMPDB some members are mixed case, with "case sensitive" noted
GRAFHSM in their comments, but that did not prevent accidental
GRAFLPAR low-case-ing some lines in BLDSMPDB that contained tests
GRAFTALO if %upcase(something) eq yes %then %do;
GRAFTMNT which failed because the yes value was now lower case.
GRAFTRND Macro variable tests are in many MXG members, especially
GRAFWORK those that define %MACROS where user-typed input text is
GRAFWORX shifted with %UPCASE() for consistent testing, but I had
GRAFWRKX never thought to protect the text being compared!
PRINTNL
READDB2 Now, all members were examined that used %UPCASE/%LOWCASE
UTILBLDP and those that tested for literal text values now use
UTILCONT
UTILDUMP if %upcase(something) eq %upcase(yes) %then %do;
VMACMWNT
VMXGALOC The DATA step UPCASE() function is also used in even more
VMXGDEL members, but as those values are not 'human-typed', I did
VMXGGETM not see the need for also wrapping those text values.
VMXGSUM
VMXGSUME New MXG Recommendation: Use %LET MACxxxx= %STR( text ) ;
VMXGUOW with blanks as shown, when storing any text string that
Aug 28, 2007 can contain semi-colons, into those MXG tailoring macro
variables, since those macro variables will be resolved
at "compile time", which is where %STR() is to be used.
Previously I suggested using %QUOTE() or %BQUOTE() to
pass text with semi-colons, but they are not resolved
until "execute time", and, while QUOTE/BQUOTE frequently
did work, the use of %STR, especially for MACKEEP/MACFILE
macros is the more appropriate among the many functions.
Thanks to Tom kelman, Commerce Bank of Kansas, USA.
Change 25.178 Support for V5R4MO QAPMDISK with LRECL=456 adds these 20
VMACQACS variables:
Aug 28, 2007 DSBKCT1='BUCKET*1*OPERATIONS'
DSBKCT2='BUCKET*2*OPERATIONS'
DSBKCT3='BUCKET*3*OPERATIONS'
DSBKCT4='BUCKET*4*OPERATIONS'
DSBKCT5='BUCKET*5*OPERATIONS'
DSBKCT6='BUCKET*6*OPERATIONS'
DSBKRT1='BUCKET*1*RESPONSE*TIME'
DSBKRT2='BUCKET*2*RESPONSE*TIME'
DSBKRT3='BUCKET*1*RESPONSE*TIME'
DSBKRT4='BUCKET*4*RESPONSE*TIME'
DSBKRT5='BUCKET*5*RESPONSE*TIME'
DSBKRT6='BUCKET*6*RESPONSE*TIME'
DSBKST1='BUCKET*1*SERVICE*TIME'
DSBKST2='BUCKET*2*SERVICE*TIME'
DSBKST3='BUCKET*3*SERVICE*TIME'
DSBKST4='BUCKET*4*SERVICE*TIME'
DSBKST5='BUCKET*5*SERVICE*TIME'
DSBKST6='BUCKET*6*SERVICE*TIME'
DSSRVT ='DISK*SERVICE*TIME'
DSWT ='DISK*WAIT*TIME'
Thanks to Clayton Buck, UniGroup, Inc, USA.
Change 25.177 ERROR: ARRAY SUBSCRIPT OUT OF RANGE in BUILDPDB/RMFINTRV
VMXGINIT with a month's SMF data from scores of systems. The
VMXGRMFI culprit is the MXG algorithm to calculate MSU4HRAV, the
Aug 24, 2007 rolling hourly average MSU over the past four hours,
created in RMFINTRV before IBM added the SMF70LAC value
(and SMF70LAC is the variable to use, not my MSU4HRAV,
as SMF70LAC is IBM's calculation that is used in WLM
capping decisions, and it is slightly different than the
MSU4HRAV, where I used total CPU and IBM didn't, and
where I calculate true average even across an IPL and
they don't!).
When MSU4HRAV was created, the size was set for a daily
or weekly RMFINTRV creation, so an array size of 9999
elements would hold hourly data for:
over 100 system's daily data at 15 minute intervals
over 14 system's weekly data at 15 minute intervals
but
only 3 system's monthly data at 15 minute intervals!
(and this site had 5 minute intervals!).
This is one of the MANY reasons why I avoid ARRAYs; while
increasing the ARRAY size will hold more system's data,
that requires more virtual storage, and that will grow as
the number of systems increase, exchanging OUT-OF-MEMORY
errors for OUT OF RANGE.
The immediate user circumvention was to process the SMF
data one week at a time, which worked just fine.
Though hopefully unneeded, I have externalized the size
of the three temporary arrays with new macro variable
with default value of %LET ARRAYRMF=9999; unchanged.
I have also inserted a trap to detect the array size was
exceeded and inform you via an ERROR message on the log.
Change 25.176 Support for APAR OA18244, Blocked Workload metrics, adds
VMAC7072 -These variables to the TYPE70 dataset:
Aug 24, 2007 SMF70PMI='AVG*BLKED*DISPATCH*UNITS*MAY GET'
SMF70PML='OPT*PARAMETER*BLWLINTHD'
SMF70PMP='MAX*DISPATCH*UNITS*BEING*BLOCKED'
SMF70PMT='OPT*PARAMETER*BLWLTRPCT'
(Note: The default you type is "5", but that will be
a value of .005 in SMF70PMT, i.e. one-half of a
percent. RMF reports that a .5% but the variable
is NOT labelled Percent so you need to know that
.005 is one-half percent default.
SMF70PMU='BLKED*DISPATCH*UNITS*PROMOTED*PERSEC'
SMF70PMW='AVG*DISPATCH*UNITS*BEING*BLOCKED'
STFBIT05='OPT PARM*BLWLTRPCT*CHANGED?
STFBIT06='OPT PARM*BLWLINTHD*CHANGED?
-This variable, previously added to the TYPE72GO dataset
by Change 25.140 is populated by this APAR:
R723TPDP='CPU TIME*AT PROMOTED*DISPATCH*PRTY'
and this new flag variable is created by this APAR:
ZIPHONPR='ZIP*HONOR*PRIORITY?'
Change 25.175 Internal logic was revised so when INTERVAL= is used, the
ANALRMFR variables LPARCPUX and SMF70BDA are added to the ID= parm
Aug 24, 2007 for Cluster Reports.
-Also, MVSCHRLV and NCYCLE are added to report headings.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 25.174 Corrections discovered by SAS/ITRM validation during the
ASUMTAPE build of their dictionary.
VMAC7072 -Variable JBACPU dataset QAPMJOBL now FORMATed TIME13.3.
VMACQACS -Variable MAXVLSEQ is no longer created/kept in TYPETMS5.
VMACTMS5 -Variables for CP/ICF/IFL/IFA/ZIP counts/time are labeled
VMXG70PR in VMXG70PR & VMAC7072, PROC DELETEs uncommented to clean
VMAC110 up WORK file. Variables IFAWSTTM,ZIPWSTTM formatted.
VMACDB2 -ASUMTAPE variables BEGTMNT, ENDTMNT, TOTMNTTM labeled.
VMACSTC -CICSDS variables DSGEJST DSGSRBT labeled and formatted;
Sep 5, 2007 they are the total TCB for all CICS TCBs and total SRB
for all SRBs in the interval.
-DB2ACCT variable QWHUCPU formatted.
-TYPESTC variable STC15CTP label corrected.
Sep 6 changes, not in 25.08:
-TYPE7072 - variables NRPHYCPX, NRPRCX no longer kept.
- variable GMTOFF70 GMTOFF72 formatted.
-TYPE85 - variables R85ST74F, R85ST78F labeled.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 25.173 -Support for NMON "CPU_VP_USE" and "CPU_EC_USE" objects
VMACNMON (Virtual Processor and Entitled Capacity) adds these new
Sep 1, 2007 variables to NMONINTV dataset:
NRECUS='CPU_EC_USE*COUNT'
NRVPUS='CPU_VP_USE*COUNT'
PCPUUSER='CPU_ALL*USER*PERCENT'
PECTOTAL='CPU_EC_USE*TOTAL*PERCENT'
PECUBUSY='CPU_EC_USE*BUSY*PERCENT'
PECUIDLE='CPU_EC_USE*IDLE*PERCENT'
PECUSYS='CPU_EC_USE*SYSTEM*PERCENT'
PECUUSER='CPU_EC_USE*USER*PERCENT'
PECUWAIT='CPU_EC_USE*WAIT*PERCENT'
PVPUBUSY='CPU_VP_USE*BUSY*PERCENT'
PVPUIDLE='CPU_VP_USE*IDLE*PERCENT'
PVPUSYS='CPU_VP_USE*SYSTEM*PERCENT'
PVPUUSER='CPU_VP_USE*USER*PERCENT'
PVPUWAIT='CPU_VP_USE*WAIT*PERCENT'
-Support for NMON NETSIZE object adds thes new variables
to NMONNETW dataset:
NETSRDRT='NETSIZE*READS/S'
NETSWRRT='NETSIZE*WRITE/S'
-The count of JFSFILE fields drops to less than the count
in the header record, occasionally, causing MXG to have
to delete of that record with an MXG ERROR MESSAGE on the
log. Under investigation with NMON support.
-The "UNKNOWN RECTYPE=" message for Nigel's Monitor NMON
is clarified to indicate it's not an error, but a new
monitor record that is not yet supported by MXG, but
will be if you send the input data file to MXG support.
Thanks to Michael W. Woelke, Boeing, USA.
Thanks to John Keenan, Boeing, USA.
Change 25.172 Example to process DB2 datasets to separate DDNAMES:
ADOCDB2 libname db2acctp 'c:\mxg\db2acctp\';
Aug 20, 2007 libname db2acctb 'c:\mxg\db2acctg\';
libname db2acctg 'c:\mxg\db2acctb\';
libname db2acct 'c:\mxg\db2acct\';
libname db2gbpat 'c:\mxg\db2gbpat\';
libname db2gbpst 'c:\mxg\db2gbpst\';
/* unsorted, written directly to individual DDNAME for parallelism */
%LET WDB2ACP=DB2ACCTP;
%LET WDB2ACB=DB2ACCTB;
%LET WDB2ACG=DB2ACCTG;
%LET WDB2PAT=DB2GBPAT;
%LET WDB2PST=DB2GBPST;
%LET PDB2ACC=DB2ACCT;
/* deflected to work, as they are combined into db2stats */
%LET PDB2STO=WORK;
%LET PDB2ST1=WORK;
/* sent to pdb, stats, should be small in size */
%LET PDB2ST2=PDB;
%LET PDB2ST4=PDB;
%LET PDB2STS=PDB;
%LET PDB2STB=PDB;
%LET PDB2STR=PDB;
%LET MACKEEP=
%BQUOTE(
MACRO _SDB2ACp %
MACRO _SDB2ACb %
MACRO _SDB2ACg %
MACRO _SDB2pat %
MACRO _SDB2pst %
MACRO _SDB2ACc %
);
%INCLUDE SOURCLIB(TYPEDB2);
or could be
%INCLUDE SOURCLIB(BUILDPDB);
or could be
%ANALDB2R(PDB=SMF);
Change 25.171 Documentation. The DOCVER and DOCVERnn text printed only
UTILVREF 3 positions for LENGTHs, causing a 32000-byte variable to
Aug 20, 2007 be printed as 3E4 in exponential format. While I can't
expand LENGTH to print 5 digits without truncating LABEL,
I now detect the TYPE='NUM' and print four positions for
those variables to be more accurate where I can. You can
always use PROC CONTENTS DATA=whatever; to see the actual
stored LENGTH of each variable.
See MXG Technical Note 2 in Newsletter FIFTY for a list
of "Very Long Stored Length" variables created by MXG.
Change 25.170 If there no Mount-Related SYSLOG messages were captured
ASUMTAPE by ASMTAPEE/MXGTMNT, i.e. TYPESYMT has zero observations
Aug 20, 2007 then there were no observations created in PDB.ASUMTAPE,
even though the TYPETMNT and TYPE21 records matched.
The missing SYSLOG records was due to backlevel ASMTAPEE
at ML-38 that missed messages now captured in ML-39, but
this revision tests for zero obs in TYPESYMT dataset, and
forces the OUTPUT of PDB.ASUMTAPE in that case. Note
that this only works when all systems do not capture the
SYSLOG data; if some systems do and others don't, this
revision will NOT work, and only systems with obs in the
TYPESYMT dataset will have output in PDB.ASUMTAPE.
Thanks to John Doherty, Capita, SCOTLAND.
Change 25.169 New DB2 Parallel event "analysis" selects all DB2ACCT obs
VMACDB2 for each "ACE group" that had any parallel activity,
Aug 18, 2007 (i.e., had one or more DB2ACCT obs with DB2PARTY=O/P/R),
keeps a large but manageable set of important variables,
and then PRINTs the detail DB2ACCT observations for each
"ACE Group", in time sequence, where each unique set of
values of these BY variables defines an "ACE Group":
SYSTEM QWHSSSID QWHSLOCN QLACLOCN QWHCCV QWHCCN ACE
and where ACE is either QWHSACE (S/O) or QWACPACE (P/R).
BUILDPDB does not sort PDB.DB2ACCT automatically, due to
it's size, but that turns out fortunate, as the default
sort order defined in MACRO _BDB2ACC in VMACDB2:
SYSTEM QWHSSSID QWHCPLAN QWHCAID QWHSLOCN QWHCCV
QLACLOCN QWHCCN QWACBSC QWHSSTCK,
is just fine for duplicate removal, so it's not "wrong",
but it is NOT the correct order to group all DB2ACCT obs
into their "ACE Group". Instead, the new report uses
uses this sort order (MACRO _XDB2ACC):
SYSTEM QWHSSSID QWHSLOCN QLACLOCN QWHCCV QWHCCN ACE
QWACBSC QWHSSTCK QWHCPLAN QWHCAID
that does correctly sort DB2ACCT into each "ACE Group".
This iteration defines old-style MACROs _Q, _X, _Y, _X
which are used by the MACRO _RDB2ACC that you execute:
// EXEC MXGSASV9
//PDB DD DSN=YOUR.DB2ACCT.PDB,DISP=SHR
//SYSIN DD *
%INCLUDE SOURCLIB(VMACDB2);
_RDB2ACC
This report was used for diagnostic understanding of the
events in DB2 Parallel, and thus is not likely to be used
by many MXG users, but it's there if needed. Also, the
structure of selecting all of a group that has one of
something (DB2 Parallel Transaction, in this case) could
easily be extended to select by some other criteria.
Change 25.168 Using %ANALDB2R(PDB=PDB,PMSTA02=YES); caused VMXGSUM to
VMXGSUM fail with ERROR: VARIABLE STRTTIME NOT FOUND. In this
Aug 17, 2007 one place in ANALDB2R, VMXGSUM was invoked with variable
STRTTIME used in the INCODE's internal DATA/PROC steps,
and it was in the KEEPIN= list, but STRTTIME was NOT in
any of the VMXGSUM output parameters. Now, variables in
the KEEPIN= list are added to the generated KEEP list to
protect for this unique VMXGSUM invocation.
The problem was introduced in MXG 25.04 VMXGSUM changes.
Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.
Change 25.167 Variable FCUSERID='LOGIN*USER ID*OR NAME' is INPUT and
VMAC119 kept in the TYP11903 dataset.
Aug 16, 2007
Thanks to Jim Kovarik, Aegon, USA.
Change 25.166 Trending example for DB2ACCTP dataset.
TRNDDB2P
Aug 16, 2007
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.165 The IMF FB Program Record is updated with new variables:
VMACCIMS PGMSAD56='SADFLAG5*AND*SADFLAG6'
Aug 14, 2007 FLGSPCHR='PROGRAM*SUBTYPE'
The $MGIMFCS format decodes FLGSPCHR, which is OUTPUT
in both CIMSTRAN and CIMSPROG, but only the first
three values of J, K, or O exist in CICSPROG:
VALUE $MGIMFCS
'O'='O:ODBA'
'J'='J:JMP'
'K'='K:JBP'
'Q'='Q:PSEUDO WFI'
'W'='W:WFI(WAIT FOR INPUT)'
;
SAPEXIT ='SAP*PGM*USING*SAPEXIT?'
OTMATRAN='OTMA*TRAN?'
The offset to SRVCLASS was also corrected.
Thanks to Doug Johnson, Blue Cross Blue Shield of Kansas, USA.
Change 25.164 The _VNDMRJ macro token was missing in the _WNDMRJ part
VMACNDM of the _VARNDM macro definition, so the NDMRJ datasets
Aug 14, 2007 kept ALL MXG VARIABLES IN THE DATA STEP, 7062 variables
to be exact, when NDM code was added to BUILDPDB in ITRM
tests!
Thanks to Chris Weston, SAS Institute, USA.
Change 25.163 Support for Capacity Group analysis. z/OS 1.8 added the
VMAC7072 SMF70GNM='CAPACITY GROUP NAME'
VMXG70PR SMF70GMU='MAXIMUM LICENSE UNITS OF GROUP;
VMXGINIT variables, but Change 24.092 output them in TYPE70, when
Aug 20, 2007 they should have been output in PDB.TYPE70PR dataset, as
they are LPAR-level capacity limits.
-ASUM70PR now creates two new Group Capacity datasets
PDB.ASUM70GC - CEC Totals for each Capacity Group
PDB.ASUM70GL - LPAR Detail within each Capacity Group
Dataset ASUM70GL matches the RMF Group Capacity Report,
while dataset SUM70GC provides the total MSU usage for
each Group, and the percent of Group capacity limit used.
Both new datasets are created with fixed INTERVAL=HOUR,
to match SMF70GMU capacity units of MSU per hour.
Thanks to Jim Dammeyer, State Farm Insurance, USA.
Change 25.162 The final example in comments was missing a close-paren.
UTILBLDP
Aug 12, 2007
Thanks to Trevor Holland, ANZ, AUSTRALIA
====== Changes thru 25.161 were in MXG 25.07 dated Aug 10, 2007=========
Change 25.161 Support for new z/OS 1.9 RMF III and APAR OA17070 fields.
VMACRMFV New variables INPUT from the CFIG3 Header Section are
Aug 9, 2007 added to the ZRBCFI dataset:
CFIRANGE='REPORTING*RANGE*SECONDS'
CFIPONAM='POLICY*NAME'
CFIPOACT='POLICY*ACTIVATION*TIME'
CFIPREQS='NOT ALL*STRUCTURES*CONTAINED'
CFIPREQC='NOT ALL*CONNECTIONS*CONTAINED'
New variables INPUT from the CFIG3 Entry Section are
added to the ZRBCFI dataset:
CFIENSCN='CONNECTED*MVS*SYSTEM*COUNT'
CFIENSTI='STRUCTURE*COUNT*IN*POLICY'
CFIENSTO='STRUCTURE*COUNT*OUT*POLICY'
CFIENTCS='TOTAL*CONTROL*SPACE'
CFIENFCS='FREE*CONTROL*SPACE'
CFIENTDS='TOTAL*DUMP*SPACE'
CFIENFDS='FREE*DUMP*SPACE'
CFIENSCT='SUM WAIT*FREE FOR*SYNCH IMMED'
CFIENFOC='COUNT*OF TIMES*FOR UNSUCCESSFUL'
CFIENFOT='SUM OF*SERVICE*FOR*UNSUCCESSFUL'
CFIENPDE='DEDICATED*PROCESSORS'
CFIENPSH='SHARED*PROCESSORS'
CFIENPWG='SHARED*PROCESSOR*AVERAGE*WEIGHT'
New variables INPUT from the CFIG3 Table Entry Section
are added to the ZRBCFI dataset:
CFISTCOM='MAX*CONNECTIONS*ALLOWED'
CFISTCOT='TOTAL*CONNECTIONS*TO*STRUCTURE*
CFISTCOP='CONNECTIONS*WITH*PROBLEMS'
CFISTQTM='SERVICETM*SUM FOR*QUEUED*REQUESTS.
CFISTFLE='STATUS*FLAGS*EXTENDED'
CFISTRBP='REBUILDPERCENT*IN ACTIVE*CFRM'
CFISTPL ='CF*PREFERENCE*LIST'
CFISTXL ='STRUCTURE*EXCLUSION*LIST'
CFISTETM='STRUCURE*EXECUTION*TIME*SUM'
Change 25.160 Sample reports for Velocity Software data.
ANALXAMR
Aug 9, 2007
Thanks to Robert Obee, IMS Health(R), USA.
Change 25.159 Support for APAR OA12865 for RMF 79 Subtype 9 Device
VMAC79 Activity added variable R799PSM='SUCCESSFUL*PAV*SAMPLES'
Aug 9, 2007 and relabeled variable R799PCT='UNSUCCESSFUL*PAV*SAMPLES'
and now INPUTs R799NDA as 4 bytes instead of 2, so that
variables R799NDA,R799DPB,R799CMR,R799PCT,R799PSM now are
correct, and variable R799CNX6='HYPERPAV*BASE*DEVICE?' is
created.
-RMF II 79 subtype 9 records written at 1 minute intervals
have the accumulated values reset when RMF Monitor I pops
its interval, which caused MXG to set the DIF()'d
values missing; now, only the first observation for each
device will have missing values for the deaccumlations,
since I don't know the prior value from yesterday!
-R799NUX required special handling as it is accumulated
if the device is HyperPav, and is not otherwise.
Thanks to Mike Romeo, Schwab, USA.
Change 25.158 The %QUOTE function had to be replaced with the %BQUOTE
UTILBLDP function, because %QUOTE does not "mask" percent signs,
Aug 8, 2007 and the user-provided text can contain percent signs
that needed to be masked. When a user sets the text
%LET MACKEEP= MACRO _S110 %; and executes %UTILBLDP(...)
this %LET MACBLDP= %QUOTE(&MACKEEP); created the MACBLDP
with MACRO _S110 ) instead of MACRO _S110 % because the
%QUOTE function saw the end of the text as %) and that
pair of adjacent characters are a "special character"
that is, by design, changed to a single paren by %QUOTE.
The %BQUOTE masks these characters that aren't by %QUOTE:
unmarked percent signs
unmatched, unmarked single and double quotation marks
unmatched, unmarked opening and closing parentheses
This issue comes up most often in the %LET MACKEEP= text,
as its usage can have a wide range of character text.
I have previously suggested that when setting MACKEEP to
text that can contain a semicolon, you must use %QUOTE(),
but for old-style macro redefinitions like _S110, there
was no need for the complexity of the %QUOTE() syntax.
And it appears if there happened to be blanks in the
right places, even percent signs could be passed without
either function. Now, if you have semicolons or percents
depending on the context and state of the macro language,
%BQUOTEs may be required in your %LET statements.
Specifically this is required:
%LET MACKEEP=%BQUOTE( MACRO _S110 %) ;
Thanks to Carmen Vitullo, Acxiom IT Outsourcing, USA.
Change 25.157 Change 24.064 added &MXGNOBY operand to circumvent errors
MONTHDSK NOT SORTED, but the invocation of &MXGNOBY was not added
MONTHWEK the WEEKBLDT and MONTHDSK members, where it didn't work!
WEEKBLDT
Aug 6, 2007
Thanks to Randy Parker, Trustmark National Bank, USA.
Change 25.156 The ARRAY LWAI(33) $ LCPUWAI0-9 + were one-byte lengths,
VMAC7072 but ARRAY LDED(33) $ LCPUDED0-9 + were eight bytes long,
Aug 6, 2007 and I cannot see why they are different, but as they are
one-byte variables, their ARRAY statement now explicitly
sets their length with ARRAY xxxx (33) $1;
Change 25.155 Variables created with the SCAN() function are set by SAS
VMACCLAR to character length of $200, even though the input length
VMACNMON is only $128. While I believe SAS should set the output
Aug 6, 2007 length to $128, as WPS does, adding LENGTH statements did
circumvent this SAS problem. Other character handling
functions, like SUBSTR() do set the new variable's length
from the input variable's length.
Change 25.154 PROC MEANS does not pass variable attributes (LENGTH etc)
VMXG70PR to the output dataset unless / INHERIT is added to the
Aug 6, 2007 OUTPUT statement; MXG normally uses %VMXGSUM, which does
specify INHERIT, but the two new PROC MEANS added for the
new IFA/ZIP variables did not specify INHERIT, causing
wrong or blank LENGTH/LABEL/FORMATs for those variables.
Change 25.153 False ERROR: INVALID TYPE42 SUBTYPE 5 RECORD DELETED
VMAC42 were printed because the tests revised by Change 25.095
Aug 3, 2007 should be OFF+LEN GT LENGTH+1 vice GT LENGTH. The
record was valid, but, as the message stated, it was
deleted.
Thanks to Joachim Mayr, Amadeus, GERMANY.
Change 25.152 The analysis of input queue time for Duplicate JOB HOLD
ANALINIT used LASTEND=LAG(JINTTIME) for the start of the input
Aug 3, 2007 queue delay of the next Duplicate JOB NAME, but JINTTIME
is the Start Time of the last job, and, as documented in
Change 12.274, that LAG() function statement
(which returns the value of that variable from the
prior observation)
should have been LASTEND=LAG(JTRMTIME), so that this
job's delay is calculated from the End of Execution of
the prior job.
Thanks to Larry Riggen, OneAmerica, USA.
Change 25.151 The example JCLVMXA invokes PROC MEANS for all datasets,
VMACVMXA that would not normally be executed except for the first
Aug 3, 2007 test, but it failed be cause _MPRCAPC and _MPRCAPM were
not defined (those macro names in lines 20396,20397 were
misspelled). The MONWRITE datasets were correctly built;
Also, MXG 25.06 had a DEBUG=1; statement left from tests
that printed a lot of messages on the SAS log, but with
no impact on the SAS datasets that MXG created.
Thanks to Yaohua Hu, ISO, USA.
Change 25.150 The ASUM70PR summarization could (still!) create PCTCPUBY
VMXG70PR over 100%, if adjacent intervals being summarized had the
Aug 3, 2007 exact same value of STARTIME SMF70GIE and DURATM after
the INTERVAL= operand had reset STARTIME and SMF70GIE.
These DURATM was also incorrect (too small) in these bad
observations, but ALL OTHER VARIABLES ARE CORRECT.
It was the heuristic use of DURATM that seemed to work,
but is now recognized as the culprit, as it failed when
two adjacent DURATMs were identical. Now, by instead
using the OLDSTART, the original unmodified interval
start, and inserting it in internal sorts in place of
DURATM, and testing IF FIRST.OLDSTART vice FIRST.DURATM
there's a clean algorithm for new intervals and this old
recurring problem should be fixed for good.
-Summarization with INTERVAL=SHIFT did not work, because
MXG can not know the duration of each of your shifts, and
message VARIABLE MXGDURTM UNINITIALIZED was printed.
However, if you will add a statement in your IMACSHFT
tailoring member for each shift, that sets then variable
MXGDURTM=nnnnn;, where nnnnn is the duration in seconds
(e.g., MXGDURTM=28800; for an 8-hour shift), then you can
INTERVAL=SHIFT to summarize PDB.ASUM70PR & PDB.ASUM70LP
to your shift definitions.
-Summarization with CECINTRV=SHIFT is also now supported,
proved you tailor IMACSHFT to set MXGDURTM, as above.
The MXG note that SHIFT could not be used is removed.
Thanks to Debby Blackey, HCA HealthCare, USA.
Change 25.149 The SAS/ITRM product (formerly SAS/ITSV) executes MXG to
ADOCITRM create its SAS datasets, but the MXG dataset names are
Aug 2, 2007 changed by ITRM. This member's table maps the ITRM names
to the original MXG dataset name.
Change 25.148 A tutorial on how MXG normally creates SORTed datasets,
ADOCDB2 two exceptions, and an MXG tailoring example that writes
Aug 1, 2007 the DB2ACCTB and DB2ACCTP datasets to separate DDNAMES,
also bypassing their SORTs.
MXG normally builds datasets that are PROC SORTed, and
the sort order can be exploited in subsequent programs
to avoid unneeded sorts. MXG's SORTs specify the NODUP
SAS option, which removes any duplicate SMF records.
However, two datasets, DB2ACCT and CICSTRAN have never
been SORTed by default, as they were always known to be
very large. So their "dataset sort _Sdddddd" tokens,
_SDB2ACC and _SCICTRN, were NOT in the default list of
datasets to be sorted in VMACDB2 and VMAC110 defaults.
With hindsight, I should also have NOT included SORTs of
the DB2 per-buffer (DB2ACCTB) and per-package (DB2ACCTP)
datasets, which now can be as large or larger than, their
DB2ACCT counterpart!
But now that MXG has sorted those datasets by default,
I can not safely remove those SORTs, without high risk
of causing a user program to unnecessarily fail. But,
you can use this MXG tailoring example to write them
to separate DDnames, and bypass their dataset sorts:
// EXEC MXGSASV9
//SMF DD DSN=YOUR.SMF,DISP=SHR
//DB2ACCT DD DSN=YOUR.DB2ACCT,DISP=(,CATLG),...
//DB2ACCTB DD DSN=YOUR.DB2ACCTB,DISP=(,CATLG),...
//DB2ACCTP DD DSN=YOUR.DB2ACCTP,DISP=(,CATLG),...
//PDB DD DSN=YOUR.OTHER.DB2.STUFF,DISP=(,CATLG),..
//SYSIN DD *
%LET WDB2ACC=DB2ACCT; /*DDNAME for DB2ACCT */
%LET WDB2ACB=DB2ACCTB; /*DDNAME for DB2ACCTB*/
%LET WDB2ACP=DB2ACCTP; /*DDNAME for DB2ACCTP*/
%LET MACKEEP=
MACRO _SDB2ACB % /*BYPASS DB2ACCTB SORT*/
MACRO _SDB2ACP % /*BYPASS DB2ACCTP SORT*/
;
%INCLUDE SOURCLIB(BUILDPDB);
RUN;
This same tailoring, using a %LET Wdddddd=DDNAME;
statement to name the output DDname for the "Work"
copy of a dataset, and using %LET MACKEEP= as shown to
define MACRO _Sdddddd % (i.e., to a blank value) can be
used for any other large dataset that you want written
to a separate DDNAME, unsorted, as your SMF data is read.
Change 25.147 Almost cosmetic. The IMACxxxx/MACxxxx tokens that were
VMACQACS defined for VMACQACS were the old IMACQAPM/MACQAPM tokens
VMXGINIT from when AS/400 support was in VMACQAPM, and I decided
Aug 1, 2007 to change the VMAC to QACS but still use the QAPM token
so existing AS/400 tailoring wouldn't need to be changed.
However, this is inconsistent for new users, so this
change adds the include of IMACQACS and created MACQACS,
so the expected token names are found, but the old tokens
are still invoked, so existing tailoring still works.
Thanks to Philip Downes, Fortis Bank, BELGIUM.
Change 25.146 Using PDB=SMF could cause ERROR: NO DATASETS TO LOOKUP
ANALRMFR because SPLIT70 changes were not fully implemented.
Aug 1, 2007 A circumvention was to use TYPS7072 first to create the
PDB datasets, and then use PDB=PDB in the %ANALRMFR,
but this change corrects the error.
Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA.
Change 25.145 RMF III dataset ZRBLCP might have no observations for
VMACRMFV many LPARs, due to an MXG error in its "SKIP" logic that
Aug 1, 2007 prematurely ended the scan over all LPARs.
The statement SKIP=CPUCPLEN-32-1280; was replaced with
the statement SKIP=CPUCPLEN-LPARPROF-LPARPRLN*LPARPRNR;
Thanks to Erik Torp, IMT Nordic IBM, DENMARK.
Change 25.144 For ASCII execution, the FULLSTIMER option (MXG default)
UPCMEMSZ will print the memory used by each DATA/PROC step. One
Jul 31, 2007 way to determine how much virtual memory is available to
your MXG programs is to execute this new utility
%INCLUDE SOURCLIB(UPCMEMSZ);
which iterates the number of variables allocated in a
temporary array of 32K-length-character-variables so the
array size varies from 150MB up to 3GB. You look on the
log for the last successful step prior to the ERRORs:
FATAL: Insufficient memory to execute data step
program. Aborted during the COMPILATION phase.
NOTE: The SAS System stopped processing this step
because of insufficient memory.
In my Windows/XP system with SAS 9.1.3, that last step
allocated ARRAY TESTMEMSIZE (30000) $32000 _TEMPORARY_;
and used 938,107 kbytes, or 916 MegaBytes
Change 25.143 MXG sets each of the 135 SWAP rate variables in TYPE71 to
VMAC71 a missing value if that field was zero and the field was
VMXGINIT INPUT, but that design is inconsistent with MXG's use of
Jul 29, 2007 missing values. Normally, an MXG variable has a missing
value, a value different from a "zero", when:
- the event didn't happen, like a datetimestamp JSTRTIME
for a JCL error - the job never "started".
- a new variable is not INPUT, because that new product
is not yet installed at your site.
- an old variable that no longer exists (like PERFGRP)
is no longer INPUT because the record segment is no
longer written.
This design is not perfect; if the new variable is INPUT
because it was added to an already-existing-segment, or
if the old variable is still INPUT because it's segment
exists, they will have a zero value instead of a missing
value, but examination of missing values with PROC MEANS
is used in MXG validation and technical support.
Back when these swap rates were added to the TYPE71,
most were zero, but I wanted blanks when PROC PRINTed,
so by setting their zero values to a missing value, and
using an OPTIONS MISSING=' '; statement, SAS printed
blanks instead of a sea of zeros or periods.
Since TYPE71 always been this way, I'm reluctant to make
changes to my default, but new &MXGMISS macro variable is
now defined in VMXGINIT:
%LET MXGMISS = GT 0 ;
and it referenced in VMAC71 for each swaprate with logic
IF variable &MXGMISS THEN variable=variable*INTTIME;
ELSE variable=.'
so you can put this statement in your IMACKEEP or SYSIN
%LET MXGMISS = GE 0 ;
and any zero values will no longer be missing values.
Advanced SAS notes:
a. I first defined MACRO _GT0 GT 0 % in VMAC71 member,
so it could be redefined with the MACKEEP, but its
re-execution caused unrelated code with ' GT 0 ' to
be seen as ' GT 0 0 ', causing compiler errors.
b. I tested IF X &MXGMISS THEN ... syntax for the case
when the variable MXGMISS was not defined, which
would happen if your site (unwisely) has a tailored
VMXGINIT member. Although there are UNRESOLVED
MACRO VARIABLE messages and one NOTE: VARIABLE
MXGMISS IS UNINITIALIZED, the end result
I also discovered that the value of &MXGMISS macro
variable, when it is undefined, is the MXGMISS text,
rather than the blank value I had assumed/presumed!
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 25.142 Change 18.211 identified most _xxxxID macro tokens that
IMACIPAC are "reversed" from the normal _IDxxxx syntax, but that
VMACIPAC change only updated member UTILBLDP so it would know of
Jul 29, 2007 those inconsistent _ID macro names. This change defines
new, "correct" _IDxxxx macro names for those products,
and modifies the SMF Record ID test syntax to
IF ID=_IDxxxx OR ID=_xxxxID THEN DO;
so that your old definition in your IMACKEEP tailoring
with MACRO _xxxxID nnn % does NOT need to be changed, but
more importantly, so that new users who use the expected
MACRO _IDxxxx nnn % will never find out about this MXG
inconsistency. These members were identified:
ARB, DLMN, DMON, HBUF, HURN, IPAC, M204, NSPY, PDSM,
RMDS, ROSC, RTE, SYNC, TSOM, VVDS, WYLA, WYLB, X37.
Thus far, this change has only been made to these xxxx:
IPAC
Thanks to Keith McWhorter, Georgia Technology Authority, USA.
Change 25.141 IBM APAR OA21799 corrects invalid values for SMF78HIX,
VMAC78 the offset to the new-with-HYPERPAV (SMF78HPS) segments
Jul 27, 2007 in RMF 78 Subtype 3 records. The value in SMF78HIX:
-sometimes exceeded the physical record length, causing
the MXG job to ABEND with this error message:
INPUT STATEMENT EXCEEDED RECORD LENGTH
-sometimes pointed to the wrong LCUID. MXG compares the
LCUID/R783ID2 from the old SMF78ASS segment with the
R783HLCU from the new SMF78HPS, and printed messages:
***ERROR.VMAC78 LCUID=002E DOES NOT MATCH R783HLCU=002F
HyperPAV support was shipped by IBM with APAR OA12865.
This change prevents the ABEND without the APAR installed
by validating SMF78HIX before the INPUT of the HYPERPAV
variables. Also, these new HyperPav variables:
R783HLCU R783HCU R783HNAI R783HTIO R783HAIU
R783HCAD R783HIOQ
are set missing when LCUID mismatch or beyond-record-HIX
is detected. Only 10 error messages will be printed.
-The actual records that contained invalid SMF78HIX values
happened to also be "SPLIT 78" records, i.e., multiple
records written for an interval when the data won't fit
in one 32K SMF record.
But split 78 records are not new; even before HyperPav,
records are split if there are more than 80 LCUIDs.
Fortunately, MXG has always created observations in the
TYPE78CF (Configuration, from the SMF78DCS segments, and
TYPE78CU (Control Unit, from the SMF78ASS and SMF78HPS
segments), since split records are fully self-contained
for each group of LCUIDs for those three segments that
create those two datasets.
But, UnFortunately, when 78 records are split, the 588
byte I/O Queue Global segment (pointed to SMF78QDS) is
repeated in each split record, causing duplicate,
triplicate, or more replicas of each interval's data to
be output in the TYPE78IO per-IOPIQID dataset. I think
the SMF78QDS data should have been written only in the
first split record, but now that I see what IBM does, the
change now only outputs TYPE78IO when SMF78RSQ is zero or
one; zero is the value in an un-split record, one is the
first record when records are split.
P.S. Because the split records have slightly different
values in SMFTIME, these duplicates cannot be
automatically recognized as dupes with the NODUP
option in PROC SORT after the fact; they must be
prevented up front.
-No one has noticed/reported the duplicate TYPE78IO data,
and only two sites encountered the ABEND in their daily
BUILDPDB due to the invalid SMF78HIX, but IBM immediately
accepted the problem and created the APAR to correct the
error. But RMF 78s are automatically processed by MXG's
BUILDPDB job, so the behind-the-scene installation of
HyperPAV might cause a fine-running-daily-accounting-JOB
to ABEND, so do not overlook this Change and/or APAR.
Thanks to Sam Knutson, Geico, USA.
Thanks to Mike Lewellen, Charles Schwab & Co., USA.
Change 25.140 Support for z/OS 1.9 (very minor additions, COMPATIBLE).
ADOC6 - Variables SMF22ETY and SMF22FNC values are formatted
EXTY8223 and decoded by existing MG022FN, MG022ET formats.
EXTY9214 - Variable R723TPDP='CPU TIME AT*PROMOTED*DISPATCH*PRTY'
IMAC82 is added to TYPE72GO dataset.
IMAC92 - Variables
VMAC1718 R742PSTM='MORE*PATH*STATUS*FLAGS'
VMAC22 R742PRCT='PATH*RETRY*COUNT'
VMAC30 R742PPND='CURR*PENDING*SIGNALS*OUTBOUND'
VMAC7072 R742PUSE='CURRENT*BLOCKS OF*BUFF SPACE*USED'
VMAC71 are added to the TYPE74PA dataset.
VMAC74 - Variables
VMAC79 R742MST1='EXTENDED*MEMBER*STATE*ONE'
VMAC82 R742MST2='EXTENDED*MEMBER*STATE*TWO'
VMAC92 R742MINT='STATUS*CHECKING*INTERVAL'
VMXGINIT R742MJOB='JOB THAT*JOINED*MEMBER'
Jul 26, 2007 are added to the TYPE74ME dataset.
- Variables
R744FPSN='NUMBER OF*SHARED*CF*PROCESSORS'
R744FPDN='NUMBER OF*DEDICATED*CF*PROCESSORS'
CFPTYP01='1ST CF*CPU*PROCESSOR*TYPE' thru
CFPTYP16='16TH CF*CPU*PROCESSOR*TYPE'
CFPWGT01='1ST CF*SHARED*PROCESSOR*WEIGHT' thru
CFPWGT16='16TH CF*SHARED*PROCESSOR*WEIGHT'
are added to the TYPE74CF dataset.
- Variable
R744SETM='STRUCTURE*EXECUTION*TIME'
are added to the TYPE74ST dataset.
- Variable
R791EXCW='EXCP*COUNT'
are added to the TYPE791 dataset.
- Variable
R792EXCW='EXCP*COUNT'
are added to the TYPE792 dataset.
- Variable
SMF82TKS='TKDS NAME'
are added to the TYPE8201 dataset.
- New dataset TYPE8223 dataset contains
SMF82TKF='TKDS*BITS'
SMF82TKH='TKDS*HANDLE*BEING*PROCESSED'
SMF82TKN='TKDS*NAME'
- New dataset TYPE9214 dataset contains
SMF92DDN='UNIQUE*DEVICE*NUMBER*FOR FILE'
SMF92DFG='FLAGS*80X=*RENAME'
SMF92DFN='NAME OF FILE*DELETED OR*RENAMED'
SMF92DFS='FILE*SYSTEM*NAME/
SMF92DFT='DATETIME OF*DELETE'
SMF92DIN='FILE*SERIAL*NUMBER'
SMF92DIP='FILE*SERIAL*NUMBER*OF PARENT'
SMF92DNL='LENGTH OF*FILE NAME*FOR DELETE'
SMF92DNR='LENGTH OF*FILE NAME*FOR RENAME'
SMF92DRN='NEW NAME*THAT WAS*RENAMED'
SMF92DTY='FILE TYPE*AS DEFINED IN*BPXYFTYP'
new variables.
-APAR OA17070 Additions to RMF 74-4 Coupling Facility CF
records provides the RMF support for accounting and the
measurement extensions of CF level 15. The COMPATIBLE
record change to RMF 74 records added these new data:
- Variables
R744FPSN='NUMBER OF*SHARED*CF*PROCESSORS'
R744FPDN='NUMBER OF*DEDICATED*CF*PROCESSORS'
CFPTYP01='1ST CF*CPU*PROCESSOR*TYPE'
thru
CFPTYP16='16TH CF*CPU*PROCESSOR*TYPE'
CFPWGT01='1ST CF*SHARED*PROCESSOR*WEIGHT'
thru
CFPWGT16='16TH CF*SHARED*PROCESSOR*WEIGHT'
are added to the TYPE74CF dataset.
- Variable
R744SETM='STRUCTURE*EXECUTION*TIME'
are added to the TYPE74ST dataset.
Change 25.139 Support for IMF Version 4.3 (INCOMPATIBLE). Part of that
VMACCIMS incompatibility was because MXG tested IMSVERS LT '13'
Jul 14, 2007 (because CIMS/Boole made major record format changes when
IMS 1.3 replaced IMS 1.2 years ago), but now, IMSVERS has
'1010' for IMS Version 10, causing MXG to try to read the
current records with ancient 1.2 code. However, many new
new fields were inserted by IMF 4.3, which relocated the
DBD segments incompatibly; this won't happen again, as
one of the new fields added is the OFFDBTRL, the offset
to the DBD segments. These new variables are created
in the CIMSTRAN dataset:
TRNARVTH TRNARVTJ TRNE1STD TRNEAPPL TRNEAPPU TRNEDB2
TRNEDB2U TRNEDLDB TRNEDLTM TRNEF2 TRNELDLI TRNEMQS
TRNEMQSU TRNEOESS TRNEOESU TRNEOPCL TRNESYNC TRNETFLG
TRNETIME TRNEWLMC TRNMODET TRNMSCTH TRNMSCTJ TRNMSCUT
TRNNUOWP TRNOTCLF TRNOTCLN TRNOTCON TRNOTCOR TRNOTIP
TRNOTMAM TRNOTMAP TRNOTPRT TRNOTSCF TRNOTSLF TRNOTSOC
TRNOTSTC TRNOTSTF TRNOTSYF TRNOTUSR TRNRSENM TRNSMQGN
TRNSTCKE TRNSTOPA TRNSTOPU TRNSTRTA TRNSTRTU TRNTCPU
TRNUOW TRNW1OTH TRNW2IOO TRNW2IOV TRNW2LCH TRNW2OTH
TRNW3LCH TRNW3OTH TRNW4DBR TRNW4IO TRNW4OTH TRNW5IOD
TRNW5IOO TRNW5IOV TRNW5LCH TRNW5LCK TRNW5OTH TRNWLMRE
TRNWLMRT TRNWLMSC TRNWLMZR TRNXCKPC TRNXCKPM TRNXCKPT
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 25.138 Support for APAR OA20314 which adds two variables
VMAC89 SMF89LPN='LPAR*NAME'
Jul 14, 2007 SMF89ZNA='LICENSE*ZNALC*IN*EFFECT?'
to both TYPE89 and TYPE892 datasets.
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 25.137 INPUT STATEMENT EXCEEDED RECORD LENGTH error with SMF 80
VMAC80A record that contained new TOKDANAMs CPUTIMEMAX,
Jul 13, 2007 ASSIZEMAX and FILEPROCMAX segments, because MXG did not
protect for unknown tokens. This fix protects so the
record will be read and the new tokens will be skipped.
This change and text will be revised to support those
three new tokens.
Thanks to Gerald Nagao, University of California, USA.
Change 25.136 Two utility programs to count PDS Directory Blocks used
TYPELPDS and defined.
UTILLPDS The first example, in TYPELPDS, uses IBM LISTVTOC and
Jul 4, 2007 LISTPDS programs to create flatfiles that are then read
Aug 7, 2007 in a second SAS step (so this could be used by sites with
SAS only on ASCII), and it captures all PDS on a volume,
with no prior knowledge of their DSNAMES.
The second example, in UTILLPDS, is a SAS example that
gets the blocks for a single dataset.
Christa requested the facility. Chuck wrote TYPELPDS.
Geert contributed UTILLPDS. I wrote the change/comments.
Thanks to Chuck Hopf, Bank of America, USA.
Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.
Thanks to Geert De Batselier KBC Bankverzekerinngsholding, BELGIUM.
Change 25.135A The label for TYPE70PR variables LCPUCAP and LCPUCAPC now
TYPE7072 include "Hard CAP" because those flag variables are set
Jul 4, 2007 'Y' when Hard Capping was specified when the LPAR was
defined (LCPUCAP) or if the Hard Capping status of the
LPAR was changed during this interval (LCPUCAPC). Hard
Capping tells PR/SM to cap resources delivered to that
LPAR at that LPAR's Designated Share (which is derived
from the weight given to this LPAR versus the total of
the weights you gave all of the other LPARs in the CEC).
Once an LPAR specified as hard capped reaches its
designated share, that LPAR is then "hard capped" and
normally does not receive more than its share of total
CEC resources.
Soft capping of an LPAR is done by WLM in response to
license manager determining that the LPAR's rolling
4-hour average MSU has exceeded the MSU specified for the
LPAR. A Soft Capped LPAR will have PDB.TYPE70PR variable
LPARNSW='PERCENT*LPAR SOFT*CAPPED' nonzero in soft capped
intervals (and LPnNSW variables nonzero in PDB.ASUM70xx
ASUMCExx summary datasets).
To further confuse the issue, there can be resource group
capping of service classes based on Resource Group
specifications.
Even more confusing is that Discretionary Management
algorithms can cap a service class period that is a
candidate for Discretionary Mangement if it significantly
exceeds its performance goal (PI LT 0.71), and this
Discretionary Management cap will show up even though the
service class is not assigned a Resource Group cap.
Thanks to ???, ???, FRANCE, for asking why LCPUCAP was never 'Y'.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
the above answers.
Change 25.135 %ANALRMFR(PDB=PDB,REPORT=DEVC,DEVICEC=20) caused several
ANALRMFR errors (variables CPUTYPE CPUVERSN, variable CAIM NOT
Jul 4, 2007 FOUND). A list with dashed names CPUSER0-CPUSER9 was
enumerated and CAIM was removed (no such variable), and
UNINITIALIZED VARIABLES SMF70CPA and SMF70WLA were fixed
by their addition to ID statements where needed. But the
removal of CPUTYPE and CPUVERSN from the TEMP74 ID list
was the correct revision, because the don't exist when
a report for only RMF 74 records is requested.
Thanks to Esti Sas, Bank Lemui, ISRAEL.
====== Changes thru 25.134 were in MXG 25.06 dated Jul 4, 2007=========
Change 25.134 Support for IRRDBU00 record types 0560, 0561, 0562 and
EXRAC560 05C0 create four new datasets (all of which, unlike prior
EXRAC561 IRRDBU00 records, contain multiple segments per record).
EXRAC562 dddddd Dataset Description
IMACRACF RAC560 RACF0560 GEN RES CERTIFICATE DATA
VMACRACF RAC561 RACF0561 GEN RES CERTIFICATE REFERENCE
VMXGINIT RAC562 RACF0562 GEN RES KEY RING DATA
Jul 3, 2007 RAC5C0 RACF05C0 GEN RES CDTINFO DATA
Thanks to Aimee Steele, Euroclear, BELGIUM.
Change 25.133 Support for Williams Data Systems FERRET product user SMF
EXFERTCP creates three new datasets:
EXFERTEE
EXFERTRT DDDDDD MXG MXG
IMACFERT DATASET DATASET DATASET
TYPEFERT SUFFIX NAME LABEL
TYPSFERT
VMACFERT FERTCP FERRETCP FERRET CP SUBTYPE 1
VMXGINIT FERTEE FERRETEE FERRET EE SUBTYPE 2
Jun 30, 2007 FERTRT FERRETRT FERRET RTP SUBTYPE 3
Change 25.132 AS400 TYPECONF variables GDESCL,GDESCN,GDESED,GDESET, and
VMACQACS GDES91 are now kept, GDES2 is formatted TIME8, and GDES3
Jun 30, 2007 is now INPUT as $7 (Model+System-TYPE - e.g., 8709406).
Date/Time variables GDESED, GDESET are character text, so
they cannot be formatted, but new GDESEDD and GDESETT are
numeric variables with DATE9 and TIME8 formats.
Thanks to Urs Kugler, Zurich Insurance Company, SWITZERLAND.
Change 25.131 -Support for RACFEVNTs 52 (SET UID) and 79 (CRL PUBLISH)
EXTY8052 creates two new datasets from SMF 80 records:
EXTY8079 DDDDDD MXG MXG
IMAC80A DATASET DATASET DATASET
VMAC80A TY8052 TYPE8052 RACF EVT 52 SET UID
VMXGINIT TY8079 TYPE8079 RACF EVT 79 CRL PUBLISH
Jun 30, 2007 -Support for TOP SECRET records with RACFVRSN '90'x.
Jul 2, 2007 The '90'x records contain ONLY the "standard" relocate
sections (they have SMF80DTP=RACFTYPE values 1-255, there
are NRSET sections, and they are located at OFFSET), and
the header ends at SMF80VER/RACFVRSN, the "short" CA SMF
80 header, which is different than the "standard" IBM 80
record header; MXG has always detected IBM vs TOP SECRET
format based on RACFVRSN and found the short header.
-Support for TOP SECRET records with RACFVRSN '00'x is an
INCOMPATIBLE change that required new logic to detect the
new and different format. The '00'x records contain ONLY
the "extended" relocate sections (they have segment type
SMF80TP2=EXTLNTYP values of 256-65535, there are SMF80OC2
sections, and they are located at SMF80OC2), but the '00'
records now have the "full" IBM header (thru SMF80RSV).
And, of course, CA changed the SMF80OC2 offset value in
the '00'x, but not in the '90'x, to match the way IBM
has always (incorrectly!) set OFFSET and SMF80OC2:
In all other IBM SMF records, offsets are from the RDW
and the INPUT is @OFFSET-3, but the IBM SMF 80s have
always required @OFFSET+1. The original and '90'x Top
Secret records require -3, the new ones require +1.
-The MXG code that formerly created TYPE80A and TYPE80CM
datasets has been changed, and there now should never be
any observations written to those datasets. Previously,
TYPE80A was OUTPUT if NRSET=0 (e.g., RACFEVNT=79 that
has only extended relocate segments), and TYPE80CM was
OUTPUT when an unknown SMF80DTP segment type was found.
TYPE80A now will contain obs only if the SMF 80 records
has no segments: OUTPUT only if NRSET=0 AND SMF80OC2=0.
TYPE80CM will contain obs only if SMF 80 records contain
relocate sections (standard or extended) that MXG does
not (yet) decode, but if you send your SMF records to
support@mxg.com, those segments will be decoded and those
observations will go away.
-Top Secret Documentation: MXG decodes the Top-Secret-Only
SMF80DTP segment values of 103, 104, 105, 109, and 114,
and outputs one observation in the TYPE80TS for each
segment (i.e., multiple observations from one SMF 80
record). MXG also outputs one observation per record to
the appropriate TYPE80xx dataset for that RACFEVNT=xx,
with all the "IBM" variables from the relocatable DTP/DT2
segments.
-New Top Secret DTP=115 and DTP=116 segments will be
decoded and output to TYPE80TS when documentation is
received; this text will be updated when completed.
Thanks to Greg Burt, Fifth Third Bank, USA.
Change 25.130 Support for Clarion Disk Array flat files creates new
EXCLARDI datasets:
EXCLARLU DDDDDD MXG MXG
EXCLARPO DATASET DATASET DATASET
EXCLARRA SUFFIX NAME LABEL
EXCLARSA
EXCLARSN CLARDI CLARDISK CLARION ARRAY DISK DATA
EXCLARSP CLARLU CLARLUN CLARION ARRAY LUN DATA
IMACCLAR CLARPO CLARPORT CLARION ARRAY PORT DATA
TYPECLAR CLARRA CLARRAID CLARION ARRAY RAID DATA
TYPSCLAR CLARSA CLARSAN CLARION ARRAY SAN DATA
VMACCLAR CLARSN CLARSNAP CLARION ARRAY SNAP DATA
VMXGINIT CLARSP CLARSP CLARION ARRAY SP DATA
Jun 29, 2007 Jul 5: Variable OBJECT removed from BY lists as it is
Jul 5, 2007 subordinate to their OWNERNAM, and it's parsed pieces
are already available in the other BY variables.
Thanks to Jim Quigley, ConEd, USA.
Change 25.129 Variable QW0224PN and QW0224CI are now created in the
VMAC102 T102S224 DB2 Trace IFCID=224 dataset.
Jun 29, 2007
Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.
Change 25.128 Variable UBRECRD is now formatted with $MGDCORF, and is
VMACDCOL INPUT as $CHAR1 instead of $EBCDIC1 so it is valid on the
Jun 27, 2007 ASCII platform as well as on EBDIC, and it is set to
LENGTH $1 (without the LENGTH set to $1, the length of
the format item, $MGDCORF, is used by SAS for the length
of the variable, wasting space).
Thanks to Trevor Ede, EDS New Zealand Limited, NEW ZEALAND.
Change 25.127 Support for Oracle Version 10 has been in place since MXG
VMACORAC Version 24.06, as there were no changes in the physical
Jun 27, 2007 contents of their user SMF record. However, V10 data for
Oct 16, 2008 the Kernel fields (MXG variables LOGREADS PHYREADS
LOGWRTS DMLCOMIT DMLROLLS DEADLOCK) is trashed with very
large values in the initial test records; a problem has
been opened with Oracle Technical Support and this note
will be updated when a fix is available from Oracle.
Oct 2008 update:
The incorrect I/O counts appear to have been fixed in
Oracle 10.2.0.3. The SMF fix 6725982 also requires fix
6138068 and 6646861.
Thanks to Sudie Wulfert-Shcickendanz, Anheuser-Busch, USA.
Change 25.126 Circumvention to skip new TMC 'FF20'x Volume Definition
VMACTMS5 record, awaiting doc and data to decode.
Aug 7, 2007
Change 25.125 VGETOBS added conditional use a DATA step for testing,
VGETOBS but that revision was removed and would not be executed.
Aug 7, 2007
Change 25.124 Preliminary changes to support testing of MXG under WPS.
AUTOEXEW -Member CONFIGW2 defines the SAS options for WPS execution
CONFIGW2 on z/OS platforms. Some SAS options do not yet exist in
MXGWPSV2 WPS, and some are no longer needed or are not changeable.
VMXGINIT It must be the last dataset in the //CONFIG DD in your
Jun 25, 2007 MXGWPSV2 JCL procedure.
Aug 8, 2007 -Member AUTOEXEW defines the SAS options for WPS execution
Sep 25, 2007 on ASCII platforms.
VMACSMF -VMXGINIT set new GLOBALed macro variable &WPSVER=2 when
execution under WPS V2 is detected, and sets the existing
macro variable &SASVER=8, so that MXG will generate code
for the SAS V8 environment that WPS V2 replicates.
Sep 25: test for SASVER EQ 2.00 in VMXGINIT was changed
to LT 6 when WPS changed version to 2.01.
-VMACSMF updated to protect FILENAME= option not in WPS.
Change 25.123 An undetected DIVIDE BY ZERO in VMXGRMFI occurred in the
VMXGRMFI PGPERBLK=PGPERBLK/BLKSAUIN calculation, but I do not know
Jun 25, 2007 why SAS did not detect and report the error (which is
inside the OUTCODE= of a PROC MEANS inside VMXGSUM). The
division is now protected.
Change 25.122 If BUILDPDB=NO, USERADD didn't function correctly for the
UTILBLDP TMNT, 5, 26J2, or 30 "products".
Jun 25, 2007
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.121 PDB.ASUMUOW dataset is enhanced to keep the response time
VMXGUOW of each of the CICS segments in the Unit of Work.
Jun 22, 2007
Change 25.120 Utility for counting CICS record, bytes, transactions for
UCICSCNT each region and subtype now separates CICS Resource field
Jun 22, 2007 segments from CICS Transaction segments in counts, and
report titles and labels were clarified.
Change 25.119 SMF 119 with (new in z/OS 1.8) IPV6 ICMP segments caused
VMAC119 INVALID DATA error messages due to blanks where &PIB.4.
Jun 20, 2007 should have been for the INFORMAT of several variables
in the TYP11905 dataset (after @OFF11907).
Thanks to Marty Rhodes, Hertz Corporation, USA.
Change 25.118 DEVMODEL='3380K' caused INVALID ARGUMENT error as noted
ASUMCACH in Change 23.073; logic revised to set MODEL=3380 when
Jun 20, 2007 DEVMODEL=:'3380' to circumvent.
Thanks to Tom Heller, Cincom Systems, Inc, USA.
Change 25.117 INVALID ARGUMENT TO FUNCTION INPUT reading SYNCSORT SMF
VMACSYNC records were due to incorrect HEX4 and HEX3 informats
Jun 19, 2007 that should have been HEX8 and HEX6, and (on ASCII only)
SYNSRTOU was input as $CHAR instead of $EBCDIC. The
variables that were wrong were Device Addresses
SIDEVNR and SODEVNR.
Thanks to Patrick Holloman, Zions Management Services Co., USA.
Change 25.116 MXG 25.05 GMTOFF30 was still wrong because Change 25.089
VMAC30 for TYPE30U6 GMTOFF30/INTETIME/INTBTIME was still wrong
VMAC30 in some cases; those variables are now created in the
Jun 19, 2007 _STY30U6 logic based on SMFTIME and the EXECTM; variable
SYNCTIME sometimes exists, and if it does, it is reset
from GMT; otherwise, it is set to INTETIME. With 25.05
TYPE30_V/SMFINTRV has negative EXECTM and ITRVLTM values.
With MXG 25.05,
Thanks to Rudolf Sauer, T-Systems Enterprise Services, GERMANY.
Change 25.115 Incorrect values for memory variables in XMUCDSYS were
VMACXAM the result of my inability to recognize PL/1 source, so
Jun 15, 2007 I overlooked several fields in this Linux under VM data.
Thanks to Robert Obee, IMS Health, USA.
Change 25.114 -The XCOM support is revised to conform to Change 18.338
VMACNDM by defining the MACRO _VTYXCOM for this product. Over
VMACSOLV time, all members will be revised to provide this option,
VMACXCOM but I tend to get motivated only when someone asks.
Jun 14, 2007 -Jun 27: SOLV enhanced to define _VTYSOLV, _VTYSOL1 macros
Jun 27, 2007 -Jun 27: NDM now defines _VNDMxx macro for all datasets.
Thanks to Trevor Ede, EDS, New Zealand.
Change 25.113 The HSM support is enhanced to create an "HSM COMPLEX"
ASUMHSM variable, HSMPLEX, for the HSM Summarization logic to
Jun 14, 2007 support sites with multiple DFHSM-managed storage
environment. HSMPLEX is blank by default, but the new
MACRO _ESUHSM has a commented exmaple on how you might
create values in HSMPLEX for your DFHSM data.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.112 The CA IDMS Performance Monitor support is enhanced with
IHDRIDMS the insertion of an INCLUDE for IHDRIDMS member after the
VMACIDMS IDMS header variables have been input. New &MACIDMSH
VMXGINIT macro variable is defined so either the IHDRIDMS member
Jun 14, 2007 or it can be used to access the header variables.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.111 A misplaced end comment after PUT 'DEBUG TWO' statement
VMAC80A after Change 25.024 caused variable TYPSTRNG to be wrong.
Jun 13, 2007 TYPSTRNG is an MXG-created variable that identifies which
RACFTYPE subtypes were found for this RACF event.
Thanks to John Hammonds, Texas Comptroller of Public Accounts, USA.
Change 25.110 -When there are more than some number of disks, NMON will
VMACNMON create additional objects DISKBUSY1/DISKREADn etc; they
Jun 12, 2007 are now supported.
-Inconsistent sort order BY statement were revised.
-JFSFILE name was increased in size to $128 to prevent
false duplicates
Change 25.109 z/OS 1.8 changed the meaning of UIC values in SMF71Uxx
VMAC71 variables to now represent the time for one steal cycle
Jun 14, 2007 through the whole storage area, with a range of values
from 0 to 65535 (18 hours). As before, low UIC implies
higher storage contention. The new UIC metrics for
Current UIC are calculated every second, while Min and
Max are the lowest/highest UIC during the last walk thru
the storage area. IBM has kept the old form of UIC
(values 0-2054) in SMF71LIC/HIC/ACA, MXG variables
HIUICMN/MX/AV, but this change now stores the new
SMF71Uxx values in the three old UIC MXG variables
HIUICMN/HIUICMX/HIUICAV variables, as their value has no
meaning with z/OS 1.8.
See Change 26.069, which corrected HIUICMN and HIUICMX.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 25.108 Unused Change.
====== Changes thru 25.107 were in MXG 25.05 dated Jun 7, 2007=========
Change 25.107 Support for CA Brightstor Tape Encryption user SMF record
EXBTENCR creates two new datasets:
EXBTEN32 DDDDDD MXG MXG
IMACBTE DATASET DATASET DATASET REC
TYPEBTE SUFFIX NAME LABEL St
TYPSBTE BTENCR BTENCRYP BTENCR: BRIGHTSTOR TAPE ENCRYPTION all
VMACBTE BTEN32 BETNCR32 BTEN32: BRIGHTSTOR SUBTYPE 32
VMXGINIT but this change was not included in MXG 25.05; 25.06+ is
Jun 7, 2007 needed for these data. See also Change 25.143.
Jun 14, 2007
Thanks to Ray Dunn, CIGNA, USA.
Change 25.106 MXG 25.04 only. Zero obs in TMSTMS due to a debug test
TYPETMS5 IF DSN='DB2SPEC.DBBKUP.ONSITE.CSTDB21R.CSTTSP10' THEN
Jun 5, 2007 statement that should have been deleted.
Thanks to Jan Bigalke, AGIS Allianz Dresdner Infosys, GERMANY.
Change 25.105 -Variable PARTNCPU contains the number of CP Engines, but
VMAC7072 the "in what" is different in different MXG datasets:
VMXG70PR In ASUMCEC and ASUMCELP the label now reads:
Jun 5, 2007 PARTNCPU='NUMBER OF*CP ENGINES*IN CEC'
in TYPE70PR, ASUM70PR, and ASUM70LP, the label now reads:
PARTNCPU='NUMBER OF*CP ENGINES*IN PARTITION'
For example, you could see PDB.ASUMCEC with
NRPRCS=5 NRPHYCPS=4 NRICFCPU=2 PARTNCPU=2
and PARTNCPU is thus the correct number of CP engines for
any "CPU Busy" calculations.
-Variable MXGCIN was not always set correctly for 'ICF's;
fortunately, there was no impact on other variables.
-If you should accidentally/incorrectly run ASUM70PR with
incorrect CECINTRV=QTRHOUR reading DURATM=30 Minute data,
then, as should be expected, the ASUMCEC output dataset
is invalid, and had many PCTCPU's much greater than 100%.
Change 25.104 Full support for NMON, Nigel's Monitor for AIX/unix. All
EXNMONAA OBJECTs are now supported; an NMONxxxx dataset is created
EXNMONCD from each OBJECT that has multiple instances per interval
EXNMONDS (e.g. NMONDISK has an observation for each DISKNAME), and
EXNMONIN
EXNMONIO NMONINTV dataset has all metrics from all OBJECTs that
EXNMONJF have only one instance per interval.
EXNMONNT
EXNMONFS These datasets are now created from NMON records:
EXNMONTO DDDDDD MXG MXG
EXNMONUA DATASET DATASET DATASET
EXNMONVG SUFFIX NAME LABEL Instance
EXNMONWL
IMACNMON NMONAA NMONAAA NIGELS MONITOR AAA CONFIG none
VMACNMON NMONCD NMONCPUD NMON CPU DETAIL CPUNR
VMXGINIT NMONDS NMONDISK NMON DISK DISKNAME
Jun 5, 2007 NMONIN NMONINTV NIGELS MONITOR INTERVAL none
NMONIO NMONIOAD NMON IOADAPTER IOADAPTR
NMONJF NMONJFSF NMON JFSFILE JFSFIL
NMONNT NMONNETW NMON NETWORK NETNAME
NMONFS NMONNFS NMON NFS CLIENT AND SERVER NFSTYPE
NMONTO NMONTOP NMON TOP PROCESS PID
NMONUA NMONUARG NMON UARG PROCESS PID PPID
NMONVG NMONVG NMON VOLUME GROUP VOLGROUP
NMONWL NMONWLM NMON WLM WLMCLASS
This table maps the objects to each MXG dataset:
DDDDDD MXG MXG The OBJECTs that create
DATASET DATASET DATASET are listed.
SUFFIX NAME LABEL
NMONAA NMONAAA NIGELS MONITOR AAA CONFIGURATION
OBJECTS: AAA
NMONCD NMONCPUD NMON CPU DETAIL
OBJECTS: CPUnn
NMONDS NMONDISK NMON DISK
OBJECTS: DISKBUSY DISKREAD DISKWRITE
OBJECTS: DISKXFER DISKBSIZE
NMONIO NMONIOAD NMON IOADAPTER
OBJECTS: IOADAPT
NMONJF NMONJFSF NMON JFSFILE
OBJECTS: JFSFILE JFSINODE
NMONNT NMONNETW NMON NETWORK
OBJECTS: NET NETPACKET NETERROR
NMONFS NMONNFSS NMON NFS CLIENT AND SERVER
OBJECTS: NFSCLIV2 NFSCLIV3
OBJECTS: NFSSVRV2 NFSSVRV3
NMONTO NMONTOP NMON TOP PROCESS
OBJECTS: TOP
NMONUA NMONUARG NMON UARG PROCESS
OBJECTS: UARG
NMONVG NMONVG NMON VOLUME GROUP
OBJECTS: VGBUSY VGREAD VGWRITE
OBJECTS: VGXFER VGSIZE
NMONWL NMONWLM NMON WLM
OBJECTS: WLMCPU WLMBIO WLMMEM
NMONIN NMONINTV NIGELS MONITOR INTERVAL
OBJECTS: CPU_ALL
VARS: PCPUUSER PCPUSYS PCPUWAIT
VARS: PCPUIDLE PCPUBUSY NRCPUS
OBJECTS: MEM
VARS: REALFREE VIRTFREE REMBFREE
VARS: VIMBFREE REMBTOTL VIMBTOTL
OBJECTS: MEMNEW
VARS: MNPROCPC MNFSCAPC MNSYSTPC
VARS: MNFREEPC MNPINNPC MNUSERPC
OBJECTS: MEMUSE
VARS: MUNUMPPC MUMINPPC MUMAXPPC
VARS: MUMINFPC MUMAXFPC
OBJECTS: PAGE
VARS: PGFAULTS PGIN PGOUT PGSIN
VARS: PGSOUT RECLAIMS SCANS CYCLES
OBJECTS: PAGING
VARS: PGMBFREE
OBJECTS: LARGEPAGE
VARS: FREEPAGE USEDPAGE PAGES
VARS: HIGHPAGE SIZEMB
OBJECTS: PROC
VARS: RUNNABLE SWAPIN PSWITCH
VARS: READ WRITE FORK EXEC SEM MSG
VARS: SYSCALL
OBJECTS: PROCAIO
VARS: AIOPROCS AIORUNNG AIOCPU
OBJECTS: FILE
VARS: IGET NAMEI DIRBLK READCH
VARS: WRITECH
VARS: TTYRAWCH TTYCANCH TTYOUTCH
OBJECTS: LPAR
VARS: PHYSICPU VIRTCPUS LOGLCPUS
VARS: POOLCPUS ENTITLED WEIGHT
VARS: POOLIDLE USEDALL USEDPOOL
VARS: SHARECPU
The JFSFILE and JFSINODE objects have errors in one file
out of many; after many intervals, the number of data
fields in those object records is smaller than the number
of file names in the "dictionary" record. Logic in MXG
detects and reports these bad records on the log, and
deletes the defective records. If a fix from Nigel is
forthcoming, this note will be updated.
Thanks to Steve Olmstead, Northwestern Mutual Trust, USA.
Thanks to Henry Steinhauer, Northwestern Mutual Trust, USA.
Change 25.103 Support for IBM OMEGAMON TRF ITRF V550 and V560.
EXITRMST -Many new variables added to datasets ITRFMSG & ITRFMSGO.
IMACITRF -Variables LOCLTIME and PSTNR added to all ITRF datasets.
VMACITRF -New ITRFMSGT dataset is created from subtype 12 with the
VMXGINIT text of the DFS554A message.
Jun 4, 2007 -There is a known error now fixed in APAR CCnnnnn; a few
'10'x records (39 out of 10000) are misaligned, causing
very high CPU time (1E13) and missing value in LOCLTIME.
Use PROC MEANS N MIN MAX SUM DATA=ITRFMSG; to examine
the maximum value of ACCPU and SRBTIME and LOCLTIME to
see if it has any missing values.
Thanks to Guenter Rucks, FinanzIT GmbH, GERMANY.
Thanks to John Maher, IBM Tivoli, USA.
Thanks to Bert Winberg, IBM Nordic Processor, DENMARK.
Change 25.102 The erase of the old month directory syntax was wrong;
VMXGALOC statement %let killmo="&basedir.w%trim(&killmnth)\*.*";
Jun 2, 2007 is now %let killmo="&basedir.m%trim(&killmnth)\*.*";
Thanks to Patrick Holloman, Zions Management Service Company, USA.
Change 25.101 MXG 25.04 only. Back in Change 25.085, I added options
MEMLEAVE=25M NOSORTBLKMODE in CONFIGV9 because they did
CONFIGV9 correct an error, but those values were suggested for the
Jun 1, 2007 diagnostics; this change restores SORTBLOCKMODE because
it is used by DFSORT for significant improvement in sort
performance, and it is the SAS default, so it no longer
set in MXG's CONFIGV9.
MEMLEAVE protects a virtual storage area used only by SAS
(especially needed when SAS calls an external product,
like a host sort program), but MEMLEAVE is taken from the
REGION size of the JOB; if you had an old job with the
prior-recommended-by-MXG of REGION=64M, with MEMLEAVE=25M
you only had 39M for the MXG job. Additionally, the SAS
recommended value is 10% of the REGION size, and almost
all of MXG will execute in a REGION=100M, changing the
value to MEMLEAVE=10M is more correct.
But what about REGION=0M, didn't that solve the need to
periodically increase any static REGION=nnnM values in
your JCL? Yes, it did, prior to the new Threaded Kernel
Memory architecture in SAS V9, which operates independent
of the prior "SAS Proper" WM Memory architecture, but the
existence of two independent memory managers in one ASID
has uncovered memory exposures if and only if REGION=0M
is specified. While a future version of SAS may resolve,
the safest recommendation now is to set REGION=100M on
your job card, with this revised CONFIGV9 member in use.
(MXG also sets NOTHREADS because there are exposures to
the use of THREADS on z/OS at this time that need to be
understood, so I leave it to you to decide to THREADS,
but even with NOTHREADS, the REGION=0M exposure exists,
because SAS V9 itself is threaded.)
Thanks to Jim Hayes, Huntington, USA.
Change 25.100 Documentation. References to JCLINSTL were changed to
INSTALL JCLINST9 for SAS V9.1.3 or JCLINST8 for SAS V8.2; the
JCLINSTx JCLINSTL member no longer exists because it didn't work
Jun 1, 2007 for both SAS versions, but I failed to update the doc.
Thanks to Allan Hardman, Co-Operative Bank, ENGLAND.
Change 25.099 Sub-subtype '4000'x (DLI) caused INPUT STATEMENT EXCEEDED
VMAC112 ERROR and/or incorrect values in T112DLI and T112DLIT
VMACOMCI datasets; an 8-byte field was overlooked.
May 31, 2007 -Jun 28: Detection of unknown TTYPE added for safety.
Jun 28, 2007 -The SMF 112 record replaced the OMEGAMON for CICS user
Jun 30, 2007 SMF record, but only the SUBTYPE=203 "ONDV" record is
processed by TYPE112, because that is the useful data,
because only the subtype 203 can be compressed, and
because the existing TYPEOMCI/TYPSOMCI code will read the
other two subtypes:
200 - SYST
201 - INTR
in a standalone job from SMF with this example
// EXEC MXGSASV9
//SMF
//PDB
//SYSIN DD *
%LET MACKEEP= MACRO _IDOMCI 112 %
%INCLUDE SOURCLIB(TYPSOMCI);
so you can investigate if the other two subtypes contain
data of interest. You could easily add processing of the
SMF 112 and OMCI records to your BUILDPDB, using:
%LET MACFILE=
%QUOTE( IF ID=112 THEN DO;
INPUT @OFFSMF+19 SUBTYPE &PIB.2. @;
IF SUBTYPE IN (200,201) THEN ID=299;
END;
);
%LET MACKEEP= MACRO _IDOMCI 299 % ;
%UTILBLDP(BUILDPDB=YES,USERADD=112 OMCI);
%INCLUDE INSTREAM;
Because the TYPE112 code now processes the subtype 203,
VMACOMCI now only reads subtype 200 and 201 records, it
was updated to accept V560 version, and the four bytes
inserted for compression statistics are skipped.
But see Change 26.257, which revised OMCI and 112 code.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Thanks to Ray Dunn, CIGNA, USA.
Change 25.098 %UTILBLDP is enhanced with new option BUILDPDB=JES3 to
UTILBLDP generate an %INCLUDE for BUILDPD3 instead of BUILDPDB to
May 31, 2007 create a PDB library with JES3 instead of JES2 records.
Thanks to Julian Smailes, Experian, ENGLAND.
Change 25.097 MXG-created DB2-variable THREADTY was blank if there was
VMACDB2 no QLAC segment (i.e., non-DDF), because the MXG code to
May 28, 2007 create THREADTY was located inside the QLAC processing,
Jun 6, 2007 because the logic needs to test QLACLOCN. The code block
was relocated to after the QLAC processing, and THREADTY
should, now, always be populated.
-THREADTY added to DB2ACCTP dataset default KEEP list.
Thanks to Eileen F. Van Etten, Bank of America, USA.
Change 25.096 Using an IMAC7072 tailoring that had an old _STY70 caused
IMAC7072 ERROR: VARIABLE LPARNAME NOT FOUND. from within a VMXGSUM
May 28, 2007 that was "INVOKED BY VMXGRMFI TYPE70 - R70HOUR", although
the real error was back when PDB.TYPE70 was created, as
it had zero observations because the new "SPLIT70" _STY70
must be executed, now, to create observations in TYPE70.
Removing the IMAC7072 corrected the error; it has been
the MXG recommendation to remove all of the old IMACnnnn
"product tailoring" members, and use only IMACKEEP to
redefine macros you know you want to change.
Long ago, the IMACxxxx members actually defined the
_L, _K, _S, _B etc macros, but those definitions moved
into the VMACxxxx member precisely because of these
exposures when I have to make an incompatible change
in MXG architecture.
Thanks to Jim Hayes, Huntington, USA.
Change 25.095 Reading VSAM SMF with TYPE42 caused false MXG messages
VMAC42 **ERROR SHORT SMF 42 SUBTYPE 6 ACCESS METHOD SECTION
May 28, 2007 (OFFDSAM=1 confirms it's a false message) and
**ERROR INVALID TYPE42 SUBTYPE 5 RECORD
(COL=229,S42VTVDO=228 confirms false message).
and these records were incorrectly deleted, but only when
the (undumped) VSAM SMF file is read; when the (normal,
dumped) BSAM SMF file is read, there are no errors.
Logic to handle OFFSMF for subtype 5 and OFFDSAM revised.
Thanks to Jim Poletti, Edward Jones, USA.
Change 25.094 Harmless divide by zero when EXCPDASD was zero; the obs
ANALBLSR is now deleted since it can't be a BLSR candidate.
May 28, 2007
Thanks to Rodger Foreman, TransUnion, USA.
Change 25.093 With BUILDPDB=YES,SUPPRESS=DB2, an %INCLUDE for ASUMCICX
UTILBLDP was generated, but the prerequisite %INCLUDE for ASUMUOW
May 22, 2007 was not generated, causing ASUMCICX to fail in a SORT.
Thanks to Robert Sample, Atlanta Journal Constitution, USA.
Change 25.092 Doc only. The example in the comments to run ASUM70PR
ASUM70PR against SMF data was incorrect; the corrected example is:
VMXG70PR %INCLUDE SOURCLIB(TYPS7072,ASUM70PR);
May 21, 2007 Error Dataset PDB.TYPE70PR NOT FOUND resulted if you used
the example in the comments.
Thanks to Art Cuneo, Health Care Services, USA.
Change 25.091 After MXG 25.04 QA completed, but before it was packaged,
TESSOTHR a untested TESSOTHR member was copied into SOURCLIB; the
May 15, 2007 PROC COPY that causes the ERROR in JCLTEST9 is removed.
Thanks to Randy Parker, Trustmark National Bank, USA.
Change 25.090 -Support for PK37354 SMF 100 Subtype 4 in DB2 V1.9, which
EXDB2ST4 will contain the old IFCID=225 (ID=102 Subtype 225) data.
IMACDB2 This makes my head hurt, because I can't safely use the
VMACDB2 old T102S225 dataset name: combining 100 and 102 records
VMAC102 in the same DATA step would cause SAS to fail due to the
VMXGINIT duplicate output dataset names. So the old IFCID=225
May 15, 2007 data will be output in new DB2STAT4 dataset.
-NEW QW0225BB='STORAGE POOL*MANAGER*BLOCKS BELOW*THE LINE'
was also added by this APAR, for both DB2 V1.8 and 1.9,
and it is INPUT and kept in T102S225 and DB2STAT4.
Apr 8, 2008: QW0225BB was only added to T102S225 by this
change. Change 26.057 added it to DB2STAT4.
Change 25.089 GMTOFF30 must be calculated because IBM does not put it
VMAC30 in SMF 30 records; it can only be calculated from the
May 14, 2007 subtype 2 or 3 interval records, which contain interval
May 31, 2007 start on both local and GMT clocks (SMF30IST is local and
Jun 1, 2007 SMF3ISS is GMT), and then GMTOFF30 was used to create the
Jun 18, 2007 local zone INTBTIME & INTETIME interval start/end times.
It was also RETAINed to convert INTETIME in the subtype 6
record, which has no local counterpart, and from which
INTBTIME will be created when TYPE30_6 is deaccumulated.
These problems existed prior to this change:
- Subtype 6 logic caused GMTOFF30 to be zero, causing
INTBTIME/INTETIME in TYPE30_6 to be wrong. Worse,
if the next subtype 2/3 did not have a CPU segment,
(MULTIDD='Y' observations have no CPU segment and
thus SMF30IST is a missing value), that RETAINed zero
GMTOFF30 value was used, causing INTBTIME/INTETIME
in TYPE30_V and PDB.SMFINTRV datasets to be wrong.
- Subtype 2 and 3 records for OMVS tasks do NOT have the
interval start time in SMF30IST (they appear to have
the original substep initiate time, not the current
interval's start time; this undocumented feature
caused very large GMTOFF30 values (like -29 hours).
This change revised the subtype=6 logic so GMTOFF30=0 is
not created, and the OMVS records (SUBSTEP GT 0) are not
used to calculate GMTOFF30; instead, they use the RETAIN
value of GMTOFF30 to recalculate INTBTIME and INTETIME.
There can still be errors in the value of GMTOFF30, or
INTBTIME or INTETIME because of the need to RETAIN the
GMT offset from prior records, but many records do not
have the needed data. These design errors exist in 30s:
- SMF30IST is wrong in OMVS (SUBSTEP GT 0) records.
- SMF30IST is not populated in subtype 6 records.
- SMF30IST is not populated in records with no CPU
segment, notably MULTIDD='Y' records with only EXCPs,
or records with more MULC segments than fit in one
physical SMF 30 record.
The only solution for auditable SMF 30 data is for IBM to
add the GMT Offset value in EVERY type 30 record.
-May 31, 2007: Variable INTRVLTM was missing after May 14
change, only for SUBSTEP GT 0 (USS - OMVS) tasks, because
it wasn't calculated in that revised code block.
-Jun 1, 2007: Variables SMF30IET/INTETIME/SYNCTIME with a
fixed datetime value of '17SEP2042:23:53:47.37' in all
subtype 6 records was found at one site; the hex value of
the field showed it was actually a negative binary value
of -22 (the number of leap seconds of offset!) when it
was INPUT as &IB.8.6 and then divided by 4096, which is
the TODSTAMP algorithm for negative values.
IBM's SMF manual only documents SMF30IST/SMF30IET for the
subtype 2 and 3 records; in subtype 6, SMF30IST is always
missing, but previously SMF30IET was the valid end time.
Now, additional logic detects the duration rather than
datetime in SMF30IET, and sets SMF30IET from SMFTIME in
those cases in TYPE30_6 observations.
-Jun 18, 2007: IF TST30IET GT 0 THEN test was corrected
of IF TST30IET LT -30 THEN because valid TODSTAMP values
have first bit on, which causes TST30IET to be always be
negative, but the -30 test detects the invalid values of
IET that contained leap seconds and not a valid time.
Thanks to Douglas C. Walter, Citicorp, USA.
Thanks to Rudolf Sauer, T-Systems Enterprise Services, GERMANY.
Change 25.088 The &VMXGVERS as the last line should have been %VMXGVERS
VGETDDS
May 10, 2007
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 25.087 BROKEN CONTROL RECORD error caused by DMN=10 RC=2 record
VMACVMXA for MDGPROD=:'5739A03RM0000000' logic, now corrected.
May 10, 2007
Thanks to Tom Draeger, Aurora, USA.
====== Changes thru 25.086 were in MXG 25.04 dated May 7, 2007=========
Change 25.086 New Analysis of CEC-level z/OS Capture Ratio combines PDB
ASUMCAPT ASUMCEC and RMFINTRV datasets, summing workload CPU & TCB
VMXGCAPT time for all Service Classes in all z/OS LPARS in the CEC
May 6, 2007 to create new dataset PDB.ASUMCAPT with total CPUACTTM
from PDB.ASUMCEC and total CPU72TM from PDB.RMFINTRV for
new variable CECAPTRT='CEC*CAPTURE*RATIO' to be created
CECAPTRT=100*CPU72TM/CPUACTTM;
You can simply add %INCLUDE SOURCLIB(ASUMCAPT); after the
your %INCLUDE SOURCLIB(ASUM70PR); in your BUILDPDB job.
The default summarization is by HOUR.
This hour's data shows how 17532 CPU Seconds of CEC Busy
time ends up as only 16389 CPU seconds captured in RMF 72
Service Class records, for a CECAPTRT=93.48 for the CEC:
__________________________________________________________
| ASUMCEC | RMFINTRV | RMFINTRV | RMFINTRV | RMFINTRV |
| CPUACTTM | CPUMVSTM | RMFACTTM | CPUEFFTM | CPU72TM |
| 17532 | 17500 | 17448 | 17389 | 16389 |
| | | | | |
| | | | | __16389__ |
| | | | / |
| | | |__17389__/| |
| | | /| | |
| | |__17448__/ | | |
| | /| | | |
| |__17500__/ | | | UNCAPTURED|
| /| ??Phys?? | PHYSICAL | CPUOVHTM | |
|__17532__/ |__ 32__ | __ 84__ | __ 143__|__ 1143__ |
Of those 16389 CPUTM seconds, only 14086 was CPUTCBTM,
showing why you MUST use total CPUTM and not just TCB.
Change 25.085 Strange V9.1.3 z/OS memory failures in the SAS Internal
CONFIGV9 SORT (no error message on SAS log nor in JOBLOG, even no
May 4, 2007 end of step IEF374I message, but SYSLOG shows the job was
placed in HOLD by JES after a S0F9 ABEND; system couldn't
acquire storage for an SVRB. The error was in _BLDEXCL
of UTILEXCL's sort to create dataset UNIQUE, which must
use internal SAS sort because its BY list is way over the
4092 character limit of host sort packages. By using a
REGION=256M (not REGION=0M, NO LONGER SAS-RECOMMENDED)
and by using these replacement values in CONFIGV9 that
were recommended by SAS Technical Support:
MEMLEAVE=25M
NOSORTBLKMODE
the error was eliminated. So I have added those option
values to the CONFIGV9 member in this change.
-z/OS 1.12 message IEF032I/33I replaced IEF374I/276I.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Change 25.084 Variable FILSEQ was wrong in TMS.DSNBRECD observations
TYPETMS5 created from the VOL record, for multi-volume, multi-file
VMACTMS5 tapes. FILSEQ does not exist in the VOL record, but MXG
May 4, 2007 creates a pseudo-DSNBRECD obs with the DSNAME in the VOL
May 29, 2007 record; MXG logic did not handle these cases correctly.
VMACTMS5 changed only cosmetic DEBUG statements.
May 29: TYPETMS5 member in MXG 25.04 did NOT contain this
correction; the member copied into MXG 25.04 was not the
tested member that is now updated and redated May 29.
Thanks to Tim Hare, Florida Department of Transportation, USA.
Thanks to Paul Naddeo, FiServ, USA.
Change 25.083 MXG 25.03 only. APAR OA20077 SMF 21 new compressed bytes
VMAC21 SMF21DBR and SMF21DBW were still wrong after two tries.
May 3, 2007 I missed the 4096 multiplier, and I reversed the label
text COMPRESSED/UNCOMPRESSED in all four variables.
Worse, the customer actually had to go to IBM Support,
who quickly and politely diagnosed my coding errors.
These old variables always had correct value:
BYTEREAD='UNCOMPRESSED*CHANNEL*BYTES*READ'
BYTEWRIT='UNCOMPRESSED*CHANNEL*BYTES*WRITTEN'
These new variables were wrong prior to this change:
SMF21DBR='COMPRESSED*DEVICE*BYTES*READ'
SMF21DBW='COMPRESSED*DEVICE*BYTES*WRITTEN'
These two new compression ratio variables are created:
SMF21CRR='READ*COMPRESSION*RATIO'
SMF21CRW='WRITE*COMPRESSION*RATIO'
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Thanks to Ken C. Jobbitt, IBM Support, USA.
Change 25.082 Support for new XAMAP segments HSTAPP,VSIAPP,VSINAP,
EXXMHAPP VSISFT,VSISYS,VSIUSR and STOSCS creates new VMXHSTAPP,
EXXMHAPP XMVSIAPP,XMVSINAP,XMVSISFT,XMVSISYS,XMVSIUSR, and
EXXMOSCS XMSTOSCS datasets. Variables fron new segments SYTSXP
EXXMVNAP and SYTSXP are added to XAMCPUBY/XAMCPUTO datasets, new
EXXMVSFT variables from old segments SUBSUM,SYTRSG,SYTXSG,MTRMEM,
EXXMVSYS STORSG and SYTCPU are added to XAMSYS dataset, variables
EXXMVUSR from new segments PRCAPC,PRCAPM,SYTSXG,STOSXG are added
IMACXAM to XAMSYS dataset, new vars from IODVSW,USRCON,USRACT
VMACXAM will be decoded.
VMXGINIT
May 1, 2007
Thanks to Robert Obee, IMS Health, USA.
Change 25.081 NDM 'NM' records are now decoded, and output in NDMNM
VMACNDM dataset (previously output, but with only the header
May 1, 2007 variables). Variable NDMTIME is kept but it is not
populated in the sample SMF record.
Thanks to Trevor Ede, EDS New Zealand, NEW ZEALAND.
Change 25.080 Cosmetic protection for a user syntax error if the user
VMXGDUR failed to specify a DATETIME= variable that cause strange
VMXGSUM syntax errors. Now, MXG issues USER ABEND 1916 when that
May 1, 2007 required operand is missing.
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.079 MXG RMF III code only output the first LPAR's data in the
VMACRMFV ZRBLCP dataset, which now has one observation for each
May 1, 2007 LCPUADDR for each LPARNAME that has engines assigned.
Thanks to Jerry Urbaniak, Acxiom, USA.
Thanks to Sam Knutson, Geico, USA.
Change 25.078 Documentation. These MXG members issue USER ABENDs with
INSTALL an ABORT ABEND nnnn; statement, so these programs could
May 1, 2007 ABEND with the listed User Abend Code:
Feb 1, 2015
USER Member USER Member
ABEND ABEND
1 VMACTMV2 1234 VMACTMS5
69 VMACSMF 1911 VMXGRMFI
69 VMACTMV2 1912 VMXGRMFI
69 VMACTMVS 1913 VMXGRMFI
99 VMACCADM 1914 VMACSET
99 VMXGVTOC 1914 VMXGSET
99 VMXGVTOF 1915 VMACSET
111 VMACTNG 1916 VMMXGDUR
666 UTILDUMP 1917 UTILBLDP
666 UTILDUMP 1918 UTILBLDP
666 VGETALOC 1919 UTILBLDP
666 VMACMVCI 1954 BLDSMPDB
666 VMACXAM 2098 VMACTMVT
666 VMXGALOC 2099 VMACTMD8
666 VMXGSUM 2099 VMACTMDB
666 VMXGSUME 2099 VMACTMDC
990 VMACRMFI 2099 VMACTMDQ
991 IHDRTMS5 2099 VMACTMTC
992 IHDRTMS5 8888 VGETOBS
0001 VMACTMV2 8888 VGETOBS
0010 VMACPKSZ MXGABND VMAC110
0069 VMACTMV2 MXGABND VMACSMF
0666 IMACNORM MXGABND VMACSMF
1099 TYPEMOND MXGABND VMACTMS5
1099 TYPETMON MXGABND VMXGRMFI
1099 VMACMON8
1099 VMACTIMS
1099 VMACTMO2
1111 MONTHASC
1111 MONTHBL3
1111 MONTHBLD
1111 MONTHBLS
1111 MONTHDSK
See text of Changes 23.184, 29.290, 29.304, 33.020 36.136
for syntax/usage of &MXGABND USER ABEND macro variable.
Change 25.075 DB2 V8.1 incompatibly changed the QBGL Group Buffer Stats
VMACDB2 segment, making these nine fields now reserved:
Apr 30, 2007 QBGLAD QBGLAN QBGLAR QBGLAZ QBGLMN QBGLRB QBGLRF
QBGLSU QBGLXN
and adding five new variables to PDB.DB2GBPST dataset:
QBGLCM QBGLCR QBGLMW QBGLWP QBGLWS
Thanks to Martin Packer, IBM, WORLDWIDE.
Change 25.074 Extraneous DATA; SET; BY ...; statements, left over from
VMAC7072 debugging the SPLIT70 logic, is removed.
Apr 30, 2007
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.073 Enhancement to "Nigel's Monitor for AIX and Linux' adds
EXNMONAA variables HOST and INTERVAL to NMONINTV dataset, decodes
IMACNMON the IOADAPTR and LPAR data types, and creates new NMONAAA
VMACNMON dataset with the "AAA" configuration records information.
VMXGINIT
Apr 29, 2007
Thanks to Massimo Pugliese, ELSAG Spa, ITALY.
Change 25.072 Sample tape statistics reports using STC VTS SMF records
DALYTAPE and the MXGTMNT tape mount and allocation records. Can
Apr 26, 2007 be used after a modified BUILDPDB, or with the %UTILBLDP
example in the comments, the reports can be created from
an SMF data file.
Change 25.071 MXG 25.03 only UTILBLDP: did not generate the _Sxxxx sort
UTILBLDP macros when BUILDPDB=NO was specified due to a typo; the
Apr 26, 2007 USERADD= datasets were not sorted into the PDB library.
May 7, 2007 Additionally, these products that need deaccumulation and
require their _Sxxxx product sort macros to be invoked:
7072 DB2 HSM NTCP ROSC TMDB TPX 103 28
will now have those macros invoked whenever USERADD= is
invoked for them.
-May 7: Support for SMF ID=102 record, which requires the
_HDR102, _END102 macros. With over 300 IFCID/subtypes,
you can select which T102Snnn datasets are created using
USERADD=102.63 102.106 102.141 102.142 syntax. The 102
tokens must be contiguous in your USERADD= parameter, but
do not need to be continuously numbered, nor do they need
to be in numeric order in your USERADD= in you %UTILBLDP.
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.070 -MXG's SYSLOG-reading program failed, INVALID ARGUMENT TO
SYSLOG FUNCTION INPUT, because the final tested changed member
Apr 25, 2007 was still in my "USERID.SOURCLIB" from Nov, 2005, when it
Apr 28, 2007 should have been moved into the MXG source library. The
Apr 29, 2007 output dataset TYPETMSG contains an observation for each
SYSLOG event (but not for each physical record in SYSLOG:
records starting with "S" are continuation records, and
their text is appended in the variable TMTGMTXT so that
only one output observation is created for these events.
-Variable TMTGMTXT was increased to $120 from $80, which
caused text for "S" records to be truncated.
-In addition to using thid code to read SYSLOG messages,
you can also write any SYSLOG message to SMF, using the
MXGTMNT Tape Mount Monitor program (in ASMTAPEE), which
with then be output in BUILDPDB's TYPESYSL dataset.
Thanks to MP Welch, SPRINT, USA.
Thanks to Stephen Van Scyoc, SPRINT, USA.
Change 25.069 Service Class names can be "wild-carded" using the colon
UTILRMFI symbol, if you have similarly named Service or Reporting
VMXGRMFI Class names to map to workloads in your WORKnn= argument.
Apr 24, 2007
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.068 The SQL text from QW0141TX was not printed if the length
ANALDB2R of text was less that 60 bytes, due to a typo; the line
Apr 23, 2007 ELSE TEXT=QW0141TX; is corrected to ELSE TEXT1=QW0141TX;
Thanks to Michael Gebbia, Eddie Bauer, USA.
Change 25.067 The VMXGUSE macro is updated to add the _STY70 macro if
VMXGUSE processing of the SMF 70 records was requested; VMXGUSE
UTILBLDP is still supported, but the newer UTILBLDP is recommended
Apr 20, 2007 as the better tool, as it offers many more options; it
was also updated to ensure _STY70 is invoked when needed.
-MXG25.03 also had double percent instead of %VMXGVERS.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.066 DB2 SMF 102 IFCID=225 record with invalid header offset
VMACDB2H of '0CB5'x, 3253 decimal, for QWHCEUID_Off, but with its
Apr 20, 2007 LRECL of only 486 bytes, caused INPUT STATEMENT EXCEEDED.
The input now validates that the offset is LE LENGTH.
Thanks to Robbie A. McCoy, Salt River Project, USA.
Change 25.065 Enhancement to UTILBLDP to select the ASUMxxxx members to
UTILBLDP be executed when BUILDPDB=YES is specified. The default
Apr 18, 2007 list of members %INCLUDEd after BUILDPDB is not changed,
but they are now set in the new MXGINCL= argument:
MXGINCL=
ASUMUOW ASUMCICX ASUM70PR ASUMCACH ASUMTAPE
ASUMTMNT ASUMTALO ASUMDB2A ASUMDB2B,
so you can now remove any unwanted ASUMs.
Thanks to Tom Kelman, Commerce Bank of Kansas, USA.
Change 25.064 Several QISE variables should have been DIF()'ed as they
VMACDB2 contained accumulated values; now all QISE variables are
Apr 17, 2007 DIF()'d except for those that contain counts of pages or
statements, in creating the PDB.DB2STATS dataset from the
SMF 100 Subtype 1 DB2 Statistics records. Also, QISExxxx
labels with "Dataspace" were corrected to "DBD POOLS".
Thanks to Lori Masulis, Fidelity Systems, USA.
Change 25.063 Additional SWAP resaons codes were added to $MGO79SR
ADOC71 format and in the ADOC71 member documentation.
FORMATS VALUE $MG079SR
Apr 17, 2007 '00'X='00X:UNKNOWN'
'AS ='AS:AUXSTOR SHORTAGE (VERY UNLIKELY)'
'AW'='AW:APPC WAIT'
'DW'='DW:DETECTED WAIT'
'EX'='EX:CAP EXCHANGE'
'IC'='IC:IMPROVE CSTORE'
'IP'='IP:IMPROVE PAGING'
'IW'='IW:OMVS INPUT'
'LW'='LW:LONG WAIT'
'MR'='MR:MAKE ROOM'
'NQ'='NQ:CAP ENQUEUE'
'NS'='NS:TRANSITION TO NON-SWAPPABLE'
'OW'='OW:OMVS OUTPUT'
'RQ'='RQ:REQUEST SWAP'
'RS'='RS:REAL STORAGE SHORTAGE'
'SR'='SR:IN-REAL'
'TI'='TI:TERMINAL INPUT'
'TO'='TO:TERMINAL OUTPUT'
'TS'='TS:TRANSITION'
'US'='US:CAP UNILATERAL'
'VR'='VR:VIRTUAL REAL REQUEST'
'WT'='LW:LONG WAIT'
'XS'='XS:AUX STORAGE SHORTAGE'
;
Thanks to Warren Hayward, TJX, USA.
Change 25.062 Protection for truncates RMF ID=72 SUBTYPE=7 LENGTH=78.
VMAC7072 while the site examines logs for x37 ABENDS and/or opens
Apr 16, 2007 a problem report with IBM.
Thanks to Ravi Kumar, CSC, USA.
Change 25.061 Variable SMF12WIC is padded with '00'x instead of blanks;
VMAC120 those '00'x are now translated to blanks.
Apr 15, 2007
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA
Change 25.060 Using TYPSTPF invoked very old PROC SORTs that still had
VMXGTPFI invocations of %VMXGFOR, long ago archaic and no longer
VMXGFOR needed, but they caused a 180 Syntax error for "FORCE".
Apr 12, 2007 The %VMXGFOR calls were removed from VMXGTPFI, and that
member was revised to "FORCE" is only created for SAS
V5 and V6 where it was originally required.
Change 20.327 in 2003 documented the removal of FORCE.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 25.059 All %VMXGVERS(25.03,MEMBER) invocations were typo'ed as
DOC %VMXGVERS(25.03MEMBER);. Wrong syntax, but, fortunately
Apr 12, 2007 there was no error; the old macros would still be noted
in the messages to the log, which still had the right
information, albeit slightly different than expected.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
====== Changes thru 25.058 were in MXG 25.03 dated Apr 12, 2007=========
Change 25.058 Variable NDMSNODE appeared twice in the _BNDMCT by list.
VMACNDM
Apr 12, 2007
Thanks to Trevor Ede, EDS New Zealand, NEW ZEALAND.
====== Changes thru 25.057 were in MXG 25.03 dated Apr 10, 2007=========
Change 25.057 The 9672x CPUTYPE without APAR OW37565 does not populate
VMAC7072 SMF70CIN, causing PARTNCPU to be zero. Now, MXG forces
Apr 10, 2007 SMF70CIN='CP' when CPUTYPE='9672'X and NRCIXGTO=0.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Change 25.056 DB2STATS SMF 100 Subtype 1 Language Environment QLExxxxx
VMACDB2 LE variables have always been wrong, partially due to MXG
Apr 10, 2007 code errors (I assumed the 8-byte fields contained both a
duration and a count, and deaccumulated some fields that
were not accumulated), and partially because IBM's record
is incorrectly written and does not agree with the DSECT.
The 8-byte header (normally has the 'QLES' eye catcher)
doesn't exist, but LENQLES=168, and visual examination of
hex dumps showed the extra 8 bytes are inserted between
QLELOWIM and QLESTG1M fields. DB2 Versions 1.6 thru 1.8
SMF records all have LENQLES=168 and the inserted field.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 25.055 Support for SAMS objects 2151,2226,2229 and 2231 has been
EXSAM151 validated and new datasets created.
EXSAM226 -Many variables in many of the existing SAMSnnnn datasets
EXSAM229 were renamed to avoid conflict with same-named variables
EXSAM231 created from other SMF records.
IMACSAMS
VMACSAMS
VMXGINIT
Apr 8, 2007
Change 25.054 DB2TCBTM in DB2ACCT/ASUMUOW includes QWACSPCP,QWACTRET
VMXGUOW CPU times, but with OTE, the DB2TCBTM includes some of
Apr 6, 2007 the CPU time already recorded in the CICSTRAN's TASCPUTM;
using PDB.ASUMUOW, the correct CPU metric would be the
sum of TASCPUTM from CICSTRAN and QWACSPCP and QWACTRET
from DB2ACCT. This change SUMs QWACSPCP and QWACTRET
into PDB.ASUMUOW so that you can add those DB2 CPU times
to the CICS CPU times with no overlap.
Change 25.053 Variable PCTCPUBY greater than 100% in PDB.ASUMCEC, but
VMXG70PR only in hour intervals when LPARs were started/stopped,
Apr 5, 2007 and only if the DURATM of the last LPAR (alphabetically)
was less than the full hour. DURATM was intended to be
set to CECINTRV, but MXG set it only for FIRST.SMF70GIE;
it was then being output from the DURATM of that last
LPARNAME. DURATM=CECINTRV is now set unconditionally.
Thanks to David Bixler, FISERV, USA.
Thanks to Randy Shumate, Lexus-Nexus, USA.
Change 25.052 Support for TDSLink Version 630 adds new ZCOST datasets
EXTDS16 from subtypes 16x, 17x, 18x and 19x:
EXTDS17 dddddd dataset description
EXTDS18 TDS16 TDSL16 ZCOST CPC
EXTDS19 TDS17 TDSL17 ZCOST LPAR
IMACTDSL TDS18 TDSL18 ZCOST SYSPLEX
VMACTDSL TDS19 TDSL19 ZCOST SYSPLEX/CPC
VMXGINIT
Apr 5, 2007
Change 25.051 Change 24.116 reported NRIFACPU for z990/2084 CPUTYPE was
VMAC7072 not countable - SMF70CIN='ICF' in LPARNAME='PHYSICAL' in
Apr 6, 2007 RMF 70 records instead of 'IFA' - and created the macro
variable CECIFANR so you could set NRIFACPU if needed.
Now, Al has found a way using the non-PHYSICAL-LPARNAME
segments (that do have SMF70CIN='IFA' for IFAs!) to count
and populate variable NRIFACPU for z990s with IFAs.
-New field SMF70CTN, the total count of engines of that
SMF70CIN type (CP,IFL,etc), in the CEC was incorrectly
INPUT, but it was not kept nor used. It still is not used
for NRxxxCPU in ASUM70PR, but now it is input correctly
and kept in PDB.TYPE70PR dataset. It will have the same
value in all obs of that engine type, so a 27-engine CEC
will have SMF70CTN=27 in all obs with SMF70CIN='CP', both
in both the LPARNAME='PHYSICAL' and LPARNAME='real' obs.
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 25.050 Support for CrossSysplexManager user SMF record (Skill
EXCSMDDN Software) creates two new datasets:
EXCSMJOB CSMDDN CSMDDN CROSS SYSPLEX DDNAME
IMACCSM CSMJOB CSMJOB CROSS SYSPLEX JOB
TYPECSM
TYPSCSM
VMACCSM
VMXGINIT
Apr 4, 2007
Thanks to ???, ???, Italy.
Change 25.049 Format $MGSASPR, which maps SAS Procedure Name in the SAS
FORMATS "USER" SMF record, has new QUANTREG and ROBUSTRE values
Apr 2, 2007 added for SAS STAT product.
Thanks to Len Rugen, University of Missouri, USA.
Change 25.048 Corrections to MXG 25.02 included correction for the
BLDSMPDB libname=PDB operand, the CALL SYMPUT('SRTDSN',SORTDBY)
DOC spelling, and logic related to VGETSORT invocation.
Apr 1, 2007 References to WEEK1 were replaced with WEEK.
Apr 17, 2007 New SORTEDBY= option can be set to sortedby=no to bypass
the requirement for input weekly/daily datsets to be
sorted. 17Apr07: Null input library protected with msg.
Thanks to Loren Mitchell, Los Angeles Couty Office of Education,USA.
Change 25.047 -Support for APAR OA19502, adds SMF14KET, the Key Exchange
FORMATS Time (Encryption Overhead). This time is only recorded
VMAC1415 in SMF 15 output records and only for a CLOSE processing
Apr 1, 2007 after a non-parallel OPEN writing file sequence one from
the loadpoint. Otherwise, SMF14KET is zero. This is the
elapsed "wall clock" duration, and is NOT a CPU time
metric. A "non-parallel OPEN" is when the parameter list
passed to OPEN includes only 1 DCB or ACB.
-New $MG014CD format decodes the SMF14CD1 and SMF14CD2
Encoding Mechanisms:
L:LABEL - the key label itself is to be stored as part
of the EEDK structure on the tape cartridge.
H:HASH - "Public Key HASH" - a hash of the public key
referenced by the key label is to be stored
on the cartridge rather than the key label
itself. Storing the hash value rather than the
key label itself allows for greater flexibility
when tapes are exported to another location,
especially if that location may be using a
different key label (than the originating site)
to refer to the same key.
Thanks to Jack Muehl, CitiGroup, USA.
Change 25.046 Cosmetic. INVALID DATA FOR MDY message and hex dumps of
VMACSTC the first two instances are printed when the LSBTIME date
Mar 31, 2007 field contains zeros. Now, LSBTIME is only created when
the data exists. These records with no date also have
zeros in all other fields, and so the defective records
were not output into the STCLMU dataset, either before or
after this change.
Thanks to David Kaplan, Depository Trust, USA.
Change 25.045 Variable TTTOD was not kept in TPFDH, TPFKC, or TPFSB
VMACTPF datasets, but were referenced in BY statement in _STPFKC.
Mar 30, 2007 Now, that retained variable is kept in those datasets.
Thanks to Chris Weston, SAS Institute, USA.
Change 25.044 New intervals (obviously for TRENDing, and not tactical!)
VMXGDUR of QUARTER, SEMIANN, and ANNUAL will create summary data
VMXGSUM when those arguments are used. The code change was in
Mar 28, 2007 VMXGDUR; only comments were changed in VMXGSUM.
Thanks to Nalini Elkins, Inside Products, USA.
Change 25.043 Support for z/VM 5.3.
EXIODHPC (Apr 12 changes were moved Apr 17, were not in 25.03.)
EXIODHPP
EXIODLPT
EXMTRHPP
EXPRCAPC
EXPRCAPM
EXPRCDIA
EXPRCINS
EXSAMSDT
EXSCLSCA
EXSTOSCS
EXSTOSXG
EXSTOSXP
EXSYTLCK
EXSYTSPT
EXSYTSXG
EXSYTSXP
EXVNDLSD
EXVNDLSU
EXVNDSES
IMACVMXA
VMACVMXA
VMXGINIT
Mar 28, 2007
Apr 12, 2007
Change 25.042 Enhancement to support HSM records with different SMF IDs
VMACHSM perhaps from different systems. HSM writes 2 SMF records
Mar 28, 2007 with and ID and ID+1 architecture, and MXG defined two ID
macros that you tailored with your SMF TYPE numbers:
MACRO _IDHSMDS 224 %
MACRO _IDHSMDS1 225 %
But I have redefined the second ID macro to now be
MACRO _IDSHMDS1 _IDHSMDS+1 %
which has no impact on your existing IMACKEEP tailoring,
but now, you could use this logic to redefine them:
MACRO _IDHSMDS 512 OR (ID=224 AND SYSTEM='SYS1')
OR (ID=229 AND SYSTEM='SYS2') %
MACRO _IDHSMDS1 512 OR (ID=225 AND SYSTEM='SYS1')
OR (ID=230 AND SYSTEM='SYS2') %
and MXG will process both pairs of HSM records.
This works because the reference syntax in VMACHSM is
IF _IDHSMDS THEN DO; IF _IDHSMDS1 THEN DO;
Thanks to Chuck Hopf, Bank of America, USA.
Change 25.041 Support for CICS/TS 3.2 (INCOMPATIBLE).
EXCICDHD -Major Change: All CICS CPU times are expanded to 8 bytes
EXCICISR with significant increase in captured TASCPUTM possible.
EXCICLDB -CICS Transaction Segments in SMF 110 subtype 1 can be
EXITCICS compressed; the new MXG member EXITCICS is the ASM code
IMAC110 to create a SAS Infile Exit (named "CICS") that will read
UTILEXCL the compressed (or uncompressed) records. To install,
VMAC110 you ASM and LinkEdit the EXITCICS code into a load module
VMXGINIT that you put in a load library you add to the //STEPLIB,
Apr 7, 2006 and tell MXG using %LET SMFEXIT=CICS; in your //SYSIN.
Sep 19, 2006 Test records were reduced from 32K to about 6K bytes, but
Oct 14, 2006 only the 110-1 records are compressible.
Mar 27, 2007 -UTILEXCL updated with new CICSTRAN fields added in 3.2.
Apr 12, 2007 -Updates for the changed Statistics Subtypes:
Jun 29, 2007 (INCOMPATIBLE except for DST, DSR, and MNG):
STID DSNAME New Variables added.
- 2 SMS
==> Nothing New in DSECT.
- 64 CICDST DSTCIUHI DSTCIULO DSTNIUHI
DSTNIULO
==> But 20 bytes added are not doc'd.
- 65 CICDSR DSRCIULO DSRCIUHI
==> But 20 bytes added are not doc'd.
- 67 CICFCR DFHA17DS DSECT.
==> Nothing New in DSECT
- 74 MQG MQ Connection Statistics Global
New
==> DFHMQGDS DSECT does not exist
- 81 MNG New Compression Variables
==> DFHMNGDS DSECT is not current.
-109 ISR IP Connection (Resource)
New
==> DFHUSRDS DSECT does not exist
-117 SJG
==> Nothing New in DSECT.
-117 SJR
==> Nothing New in DSECT.
MXG 25.03 contained the critical compatibility changes,
but MXG 25.07 contains the full support for compressed
ID=110 Subtype=1 CICS/TS 3.2 SMF records.
Change 25.040 Support for APAR OA20077, adds UNCOMPRESSED tape device
VMAC21 read/write bytes to TYPE21/PDB.TAPES, complementing the
ASUMTAPE existing COMPRESSED tape channel read/write bytes that
Mar 21, 2007 have always been in SMF type 21 records:
Apr 10, 2007 BYTEREAD='COMPRESSED*CHANNEL*BYTES*READ'
BYTEWRIT='COMPRESSED*CHANNEL*BYTES*WRITTEN'
SMF21DBR='UNCOMPRESSED*DEVICE*BYTES*READ'
SMF21DBW='UNCOMPRESSED*DEVICE*BYTES*WRITTEN'
-Apr 10: ASUMTAPE updated to keep SMF21DBR/SMF21DBW.
Change 25.039 Support for AIX Tapas-C performance data creates these
EXAXTCPS datasets:
EXAXTCPU dddddd DATASET Description
EXAXTDSK AXTCPS AIXTCPUS CPUS
EXAXTFS AXTCPU AIXTCPU CPU INTERVAL
EXAXTFSS AXTDSK AIXTDSK DISK
EXAXTIP AXTFS AIXTFS FS
EXAXTIPS AXTFSS AIXTFSS FS-S
EXAXTLAN AXTIP AIXTIP IP
EXAXTLPA AXTIPS AIXTIPS IPS
EXAXTMEM AXTLAN AIXTLAN LAN
EXAXTNFS AXTLPA AIXTLPA LPARS
EXAXTPGI AXTMEM AIXTMEM MEM
EXAXTPGS AXTNFS AIXTNFS NFS
EXAXTPRO AXTPGI AIXTPGI PAGSP-S
EXAXTSYC AXTPGS AIXTPGS PAGSP
EXAXTSYI AXTPRO AIXTPRO PROC
EXAXTTCP AXTSYC AIXTSYC SYSCALL
EXAXTUDP AXTSYI AIXTSYI SYSIO
EXAXTWLM AXTTCP AIXTTCP TCP
EXAXTWLS AXTUDP AIXTUDP UDP
VMACAIXT AXTWLM AIXTWLM WLM
IMACAIXT AXTWLS AIXTWLS WLMS
VMXGINIT
TYPEAIXT
TYPSAIXT
Mar 16, 2007
Change 25.038 TMON/DB2-created SMF 101 Subtype 1 caused INPUT STATEMENT
VMACDB2 ERROR because the record is defective; LENQPAC=390 but
Mar 16, 2007 there were only 358 bytes of data in the segment. This
INPUT EXCEEDED error is now protected, but the data in
second and subsequent observations in DB2ACCTP dataset
will be trashed.
Thanks to Robert McElhaney, Texas Workers Commission, USA.
Change 25.037 SORTEQUALS option should NOT have been added to CONFIGV8,
CONFIGV8 (MXG 25.02 only, Change 25.028) as that option was added
Mar 16, 2007 in SAS V9, and did not exist in SAS V8.
Thanks to Alan Gray, CareFirst, USA.
Change 25.036 INPUT EXCEEDED for SMF 1415 in MXG 24.24, when subtype=7
VMAC1415 encrypted tape segment exists; line 743 should have been
Mar 14, 2007 -130 and not -32. And now, with data, I can see that the
Encoding Mechanism Key 1 and 2 fields, SMF14CD1/SMF14CD2
actually contain EBCDIC characters (L, H), although IBM
still has not answered my queries as to how to decode the
field or what it contained. Also, the Key Label 1/2,
SMF14KL1/KL2 are now FORMATed $HEX128.
See Change 24.047 additions in MXG 25.03.
Thanks to Douglas C. Walter, Citicorp, USA.
Change 25.035 Support for SMF 119 for z/OS 1.8 (INCOMPATIBLE, because
VMAC119 MXG INPUT statements for subtype 70 were missing OFF119xx
Mar 14, 2007 to relocate the pointer). New fields were added to many
datasets by z/OS 1.8, as noted in the comments.
Thanks to Marty Rhodes, The Hertz Corporation, USA.
Change 25.034 Support for CopyCross SMF event record, with mounted and
EXCOPYCR unloaded datetimestamps, VOLSER, data volumes in and out,
IMACCOCR in the CPYCROSS dataset. CopyCross was formerly an EMC
VMACCOCR product, but now is a Diligent product which is named
TYPECOCR VTF Mainframe 2.1.0 (Virtual Tape Facility Mainframe
TYPSCOCR Systems.
VMXGINIT
Mar 14, 2007
Thanks to Brian Felix, Wachovia, USA.
Thanks to James Bentley, Wachovia, USA.
Thanks to Lana McCormick, Wachovia, USA.
====== Changes thru 25.033 were in MXG 25.02 dated Mar 10, 2007=========
Change 25.033 Support for ASMTAPEE assembly under z/OS 1.8. IBM has
ASMTAPEE deleted fields in internal macro definitions that caused
Mar 10, 2007 "NOT FOUND" errors when assembled under z/OS 1.8. This
revision only removed those references, but had no impact
on the actual execution of MXGTMNT.
Change 25.032 RMF-like "CPU Activity" report was incorrect when IRD was
ANALRMFR active (ONLINE TIME, MVS BUSY TIME, CPU NUM), in the
Mar 10, 2007 "Partition Data" report, WGT PROCESSOR NUM, LOGICAL
Apr 10, 2007 Processors effective were incorrect, and in the "LPAR
Cluster" report, LPARCPUS was incorrect.
-Missing comma in 25.02 after MAX=NRICFCPU ... , added.
Thanks to David Klein, DOITT City of New York, USA.
Change 25.031 Variable CA7INID was not kept, because it was misspelled
VMACTPMX as CAC7IDID in the KEEP list.
Mar 7, 2007
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 25.030 TYPE42DS variables from Data Set I/O Statistics Section,
VMAC42 input when OFFDSIO is non-zero for this observation:
Mar 7, 2007 AVGCONMS AVGCUQMS AVGDAOMS AVGDISMS AVGIOQMS AVGPNDMS
CACHCAND CACHHITS CACHRATE CHITPCT CIOPCT DASDMPL
DASDRATE DCMEPCT HITPCT ICLS IOCOUNT MAXRSPTM
MAXSRVTM RCIPCT RDHITPCT RESPTIME RLCS SEQIOS
WRITCAND WRITHITS
were incorrectly carried forward into the next physical
TYPE42DS observation, if it did not have a Data Set I/O
Statistics Section. Now, IF OFFDSIO=0, those variables
are set missing. Note that these variables TYPE42DS
S42AMSRB S42AMSRR S42AMSWB S42AMSWR S42AMDRB
S42AMDRR S42AMDWB S42AMDWR S42AMZRB S42AMZRR
S42AMZWB S42AMZWR
are only populated when the Access Method Statistics
Section exists, i.e., when OFFDSAM is non-zero.
I do not know why some DSNAME observations contain both
or only DSIO, or only DSAM data, but this sample had:
DSIO and DSAM 15808
DSAM only 914
DSIO only 6112
Thanks to Diane Eppestine, AT&T Services, Inc, USA
Change 25.029 The individual IORATEn per-engine I/O rates in PDB.TYPE70
VMAC7072 were divided by DURATM, but IBM Reports use the SMF70ONT
Mar 7, 2007 UpTime as the denominator, so the IORATEn variables are .
now changed to match the RMF Reports. The total IORATE
variable, however, is NOT changed, and is still divided
by the DURATM, to be consistent with total IORATE data
in TYPE74, TYPE78, and other data sources that don't have
and idea about individual CPU engine up times.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 25.028 Changing the SAS default option to NOSORTEQUALS created
AUTOEXEC incorrect values in PDB.ASUM70PR/PDB.ASUMCEC datasets for
CONFIGV9 DURATM,PCTCPUBY,plus, but there was no error message. A
VMXG70PR code change in MXG 24.07 in ASUM70PR is the real culprit,
VMXGPRAL but the code works perfectly with the default SORTEQUALS.
UCOMPSOE Please run PROC OPTIONS to confirm you have SORTEQUALS.
Mar 10, 2007 If not, then you should use this IMMEDIATE CIRCUMVENTION:
Mar 13, 2007 Change the option for the MXG job that runs ASUM70PR.
Mar 16, 2007 You can change the option:
- on the // EXEC statement:
//MXGSTEP EXEC MXGSASV9,OPTIONS='SORTEQUALS'
or you can change the option
- in your SYSIN stream, with an OPTIONS statement;
//SYSIN DD *
OPTIONS SORTEQUALS;
%INCLUDE SOURCLIB(....);
I didn't really know any of this stuff until this error:
When SORTEQUALS is specified, SAS ensures that the input
order is preserved when BY variables have equal values.
In the SPLIT70 redesign, I added logic that depended on
LCPUADDR to be ascending order, but I failed to made sure
it was; with SORTEQUALS, since the original PDB.TYPE70PR
was in LCPUADDR order, the new logic worked just fine.
However, when NOSORTEQUALS is specified, you have told
SAS to not spend any more resources to preserve the input
order, and, in this case, the output data was no longer
in LCPUADDR order when NOSORTEQUALS was specified.
The MXG coding error is now corrected, by adding LCPUADDR
to the BY LISTs for the CPS70PRn sorts, so the ASUM70PR
logic works with SORTEQUALS or NOSORTEQUALS.
-However, now that I have seen this error, and even though
it's extremely unlikely to occur elsewhere in MXG code,
since MXG has always used only the SORTEQUALS option, I
have added SORTEQUALS to CONFIGV9 and AUTOEXEC members,
to protect for any other exposures. At worst, changing
NOSORTEQUALS to SORTEQUALS might make the SORT use a few
more CPU cycles and do a few more I/O.
-Since the error results in very bad values, it looks like
most sites still have the SAS default of SORTEQUALS, or
this error would have surfaced during earlier testing.
-Summary of MXG setting of SAS options:
For z/OS execution of MXG, CONFIGV9 sets MXG SAS options:
MXG's CONFIGV9 member still specifies NOTHREADS due to
old SAS 9.1.2 errors; see Change 22.207. However,
THREADS is primarily useful in non-z/OS; running
multiple z/OS jobs in parallel on multi-engine boxes
is essentially what THREADS is all about!
MXG's CONFIGV9 member now specifies SORTEQUALS.
For ASCII execution, AUTOEXEC sets MXG SAS options:
MXG's AUTOEXEC member has never specified THREADS, so
you get your site's default.
MXG's AUOTEXEC now specifies SORTEQUALS;
-An unrelated, harmless DIVIDE BY ZERO message if PARTNCPU
was zero is now protected. Only occurred with old 1999
test data that was itself defective, but the exposure is
corrected.
-The VMXGPRAL ("Print ALL") utility was revised to invoke
PROC COMPARE on all datasets in two libraries.
-Why choose NOSORTEQUALS? It might save a few CPU cycles
and a few I/Os, since it just merges the final sort segs,
instead of sorting, but, according to informal feedback
from SAS folks, it's only really required if you are use
the THREADS option on ASCII platforms where you have more
than one CPU. So what to do if your SAS folks demand you
don't change NOSORTEQUALS? The new UCOMPSOE utility will
run two PDB-builds, with NOSORTEQUALS & SORTEQUALS, and
then uses the (enhanced) VMXGPRAL to PROC COMPARE each
datasets in the two PDB's for differences. Unfortunately,
PROC COMPARE will report all datasets with different sort
order, even though the two dataset's values are the same.
You use the PROC COMPARE output to identify differences,
and then use PROC MEANS N MIN MAX SUM DATA= OLD/ NEW to
verify that the numeric contents are the same.
For example, MXG 25.02 found these datasets were built
in different order with the two options in effect:
TYPE70 TYPE70PR TYPE74CO TYPE74DU TYPE74PA
TYPE74ST TYPE77
but the PROC MEANS showed no actual value differences.
Mar 16: Find four lines with BWM. Delete the line which
has PROC PRINT and printed lots of useless output.
Thanks to Salis Gross Curdin, Credit-Suisse, SWITZERLAND.
Thanks to MP Welch, SPRINT, USA.
Change 25.027 JCLTESTx only. INPUT DATASET PDBMONIDBDS DOES NOT EXIST
VMACMONI error in no-longer-used VMACMONI due to missing second
Mar 7, 2007 period; the correct syntax is
MACRO _LMONDBD &PMONDBD..MONIDBDS %
Thanks to Urs Kugler, Zurich Insurance Company, SWITZERLAND.
Change 25.026 Cosmetic. DIVISION BY ZERO message if IORATE was zero;
ANALFIOE now, that denominator is tested prior to the division.
Mar 6, 2007
Thanks to James Majeski, AT&T Services, Inc, USA
====== Changes thru 25.025 were in MXG 25.01 dated Mar 5, 2007=========
Change 25.025 Support for APAR OA19453, which adds a new 4-byte counter
VMAC7 (SMF7NROX) that is now used instead of the 2-byte SMF7NRO
Mar 6, 2007 count of lost SMF records when SMF 7 data lost record is
written. The MXG Variable LOSTRECS is populated from the
new SMF7NROX field if it is present and SMF7FL1 bit is
set that NROX is populated.
Change 25.024 INPUT STATEMENT EXCEEDED for RACF 80 WHEN (301) Extension
VMAC80A segment for OMVS and PROXY, but neither had any of the
Mar 2, 2007 expected data segments. Now, LENLEFT is calculated and
tested prior to the INPUT.
Thanks to Robert Sample, Atlanta Journal-Constitution, USA.
Change 25.023 The two examples that construct datetime ranges from one
ANAL16 dataset, to build a format for selection from a second
ANAL30 dataset used DATETIME21.2 characters in the format, but
Mar 2, 2007 that failed when months were crossed due to month names.
This redesign uses PUT(datetime,13.2) to create the text
(number of seconds since 1/1/1960) for the format item.
Less pretty when printed, but it will always work.
Thanks to Tom Elbert, Assurant, USA.
Change 25.022 The RMF III ENC extension was usually not INPUT because
VMACRMFV the ENCG3XEO offset does not point to the extension that
Mar 1, 2007 was added to the end of the record ASMRMFV creates. That
extension is located at ENCG3XEO=ENCG3DEO+ENCD3DEL which
is now used to INPUT Service and Reporting Class
information from the ENC Extension.
Thanks to Brenda Rabinowitz, Merrill Lynch, USA.
Change 25.021 UTILEXCL messages are enhanced if the IMACICEZ EZA fields
UTILEXCL are found, to point you to read the text of Change 24.033
Mar 1, 2007 because there are multiple EZA segments created, and that
Apr 17, 2007 change text has tailoring instructions. IMACICE2 message
for EZ2 fields now also point you to read Change 24.033.
Change 25.020 The QWS3xxxx and QWS4xxxx variables are labeled IRLM and
VMACDB2 DDF (DIST), but the data could be reversed, with the DIST
Feb 28, 2007 data values in the QWS3xxxx variables and IRLM in the 4th
set of variables, because IBM has changed which data is
in which segment. This change tests the QWSnPROC name to
determine which data is present, so that the QWS3xxxx are
now ALWAYS the IRLM and QWS4xxxx is now ALWAYS the DDF
data, so the data always matches the variable labels, no
matter which segment had that ASID's data. Variables
QWSnASCB,ASID,EJST,PROC,PSRB,SRBT,QWSnZSRB are created
in PDB.DB2STATS from QWSA segments in SMF 100 records.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori A. Masulis, Fidelity Systems, USA.
Change 25.019 The RACF 0900-series IRRHFSU Unix System Services unload
VMACRACF fields all contain EBCDIC, rather than ASCII text. The
Feb 28, 2007 test data had been converted to ASCII when it was sent;
all of the $ASCII inputs are changed to $EBCDIC now.
Change 25.018 Support for eleven more optional CICS EZA02 fields with
IMACICE2 these similar names:
VMAC110 EZA0TCON EZA0TSTA EZA0TINV EZA0TDIT EZA0TDIP
Feb 28, 2007 EZA0TGIV EZA0TSEC EZA0TA08 EZA0TA09 EZA0TA10
Apr 16, 2007 EZA0TA11
because I assumed they were now the default set of fields
in that optional segment. However, as I have not seen
them at other sites, I suspect they were accidentally
created at this site, and thus not likely to exist in
your EZA02 fields. As documented in Change 24.033, you
must look at the output report from UTILEXCL to see what
EZAxxxxx fields exist in your data, and then EDIT the
IMACICE2 to only INPUT and LABEL those in your records.
Text was revised Apr 16, 2007. No code change.
Thanks to Paul C. Gordon, Bank of America, USA.
Thanks to Peter Krijger, ANZ National Bank, NEW ZEALAND.
Change 25.017 EXITCICS is the Assembly code for a SAS INFILE EXIT that
EXITCICS will read and uncompress SMF 110 subtype 1 records as
Feb 28, 2007 they are read. You assemble/link edit the ASM code in
Mar 7, 2007 the EXITCICS member to create a load module CICSIFUE in
MaR 10, 2007 a Load Library, concatenate that DSNAME to //STEPLIB DD
in your MXGSASV9 JCL procedure, and then tell MXG you
have the INFILE exit installed, using the (new in 24.24)
SMFEXIT macro variable:
//SYSIN DD *
%LET SMFEXIT=CICS;
%INCLUDE SOURCLIB(TYPE110);
and MXG will read compressed and/or uncompressed records
transparently. You can alternatively use ENGINE=CICS in
your FILENAME statement to invoke the INFILE exit.
- The LOAD MODULE must be named CICSIFUE.
- The INFILE EXIT/ENGINE name is CICS.
You need EXITCICS dated Mar 7. the Feb 28 didn't work.
Thanks especially:
Thanks to Rich Anderson, SAS Technical Support, USA, for
his extensive testing and investigation that made this work!
Change 25.016 Cosmetic. Variable SMFTIME was added to EXCLUDED FIELDS
VMAC110 FOUND error message to identify when the record was
Feb 27, 2007 written, so it could be compared with the time when the
CICS Dictionary Records had been written.
Thanks to Shirly Fung, HSBC, HONG KONG.
Change 25.015 ERROR: BY VARIABLE BLKBINST IS NOT ON INPUT WEEK.BLKBERRY
VMACNTSM is an INCOMPATIBILITY created by MXG Change 24.162, when
Feb 25, 2007 the new variable BLKBINST was added to the BY list for
the NTSM dataset BLKBERRY. The error only occurs in your
WEEKly or MONTHly PDB build, and only when you have one
or more PDBs that were created with the prior MXG version
(i.e., the variable does not exist in the old datasets).
Mini-tutorial on BY list variables in MXG:
Adding a new variable to the BY list for an existing MXG
dataset is done ONLY when it is absolutely needed. The
primary reason MXG has a BY list for each dataset is to
protect for duplicate records in the input file, When MXG
uses the NODUP option in PROC SORTing from the "WORK" to
the "PDB" library. The BY list must be complete so that
duplicate observations are adjacent. A secondary reason
is for retrieval performance; by creating datasets in
sorted order, an extra SORT can be avoided in your report
programs.
Error correction techniques:
-Fix it permanently now, by adding the new variable to all
of the old, existing DAYly and/or WEEKly PDBs that will
be needed to build the new WEEKly and/or MONTHly PDBs,
creating the variable with blanks for Character or a
missing value for Numeric variables. You will need to
look up the variable in the DOCVER member to find its
DATASET, then the variable name in the listing to find
the CHAR/NUM type and the LENGTH of the new variable,
and then add that variable to all of the prior-built PDBs
using this syntax:
For a character variable:
DATA OLDPDB.BLKBERRY;
SET OLDPDB.BLKBERRY;
LENGTH BLKBINST $32;
BLKBINST=' ';
or for a numeric variable:
DATA OLDPDB.BLKBERRY;
SET OLDPDB.BLKBERRY;
LENGTH BLKBNUMR 4;
BLKBNUMR=.;
You will need to point "OLDPDB" to one of the prior PDB
libraries that does not contain the new variable and
run the datastep, then change "OLDPDB" to the next PDB,
until all of the INPUT PDBs (dailies for WEEKBLD, or
weeklies and dailies for MONTHBLD).
And if the OLDPDB is a data library on TAPE media,
it gets more complicated; you cannot have a TAPE
PDB open for both INPUT and OUTPUT, and you cannot
replace-in-place a dataset in a Tape media library,
so you would need to use this syntax for each "PDB":
PROC DELETE DATA=WORK._ALL_;
PROC COPY IN=OLDTAPE OUT=WORK;
DATA WORK.BLKBERRY;
SET WORK.BLKBERRY;
LENGTH BLKBINST $32;
BLKBINST=' ';
PROC DELETE DATA=OLDTAPE._ALL_;
PROC COPY IN=WORK OUT=OLDTAPE;
Once you have added the new variable to all of the INPUT
PDB libraries, you can then rerun the WEEKBLD/MONTHBLD.
-Fix it temporarily by redefining the _Bdddddd macro so it
does not reference the variable for the WEEKBLD/MONTHBLD
job:
-Look in the IMACxxxx member to find the "dddddd" text
for the dataset with the error. In IMACNTSM, it lists
that dddddd=NTBLKB for BLKBERRY dataset.
-Then, look in he VMACxxxx member for _Bdddddd to find
the BY list variables. In VMACNTSM, _BNTBLKB has
MACRO _BNTBLKB DOMAIN SYSTEM BLKBINST STARTIME %
-Then, in the //SYSIN for the WEEKly/MONTHly job, you
would redefine the _Bdddddd macro with that variable
removed:
//SYSIN DD *
%LET MACKEEP=
MACRO _BNTBLKB DOMAIN SYSTEM STARTIME %
;
%BLDNTPDB(your arguments for WEEKly/MONTHly);
Since the new variable does exist in one of the INPUT
data sets, it will be propagated into the new WEEKly
PDB, so you would only need to use this circumvention for
a maximum of five weeks, and then all of your Weekly PDBs
will contain the new variable, and the redefintion of the
MACRO _Bdddddd can be removed from your Monthly Job.
However, this circumvention might fail due to NOTSORTED
condition, (only if the "PDB" dataset had more than one
value in BLKBINST variable); in that case, you would need
to re-SORT those datasets using the _Sdddddd dataset SORT
macro with the new _Bdddddd BY list definition:
//SYSIN DD *
%INCLUDE SOURCLIB(VMACNTSM);/*get _Sdddddd def*/
%LET MACKEEP=
MACRO _BNTBLKB DOMAIN SYSTEM STARTIME %
;
DATA WORK.BLKBERRY;
SET PDB.BLKBERRY;
_SNTBLKB
NOTE BENE: It is always STRONGLY recommended that you
install a new version of MXG on the first day of your
week, so that all of that week's daily PDBs are built
with the same MXG Version. It just works better!
Thanks to Terry Hein, ECOLAB, USA.
Change 25.014 No observations were output in NDMRT because of a missing
VMACNDM end of comment */ text.
Feb 23, 2007
Thanks to Michael Creech, Fidelity National Information Svcs, Ind.
Change 25.013 The PCTMVSBY in PDB.TYPE70PR when IRD was active and the
VMAC7072 engine was not online for the entire interval were wrong;
Feb 23, 2007 This also impacted the SHORTCPS value as well. Now, the
SMF70ONT is used instead of DURATM for PCTMVSBY.
Thanks to John A. Doan, T-SYS, USA.
Change 25.012 INPUT STATEMENT EXCEEDED RECORD for IBM ID=99 Subtype=1
VMAC99 because MXG thought there would always be a System State
Feb 21, 2007 Information Section, but this record had none. The offset
and segment length fields were populated, but the number
of segments contained zero. Now, MXG tests segment count
non-zero before reading that segment, and before OUTPUT
of the TYPE99_1 dataset. This record contained Trace
Table entries, so was thus a legitimate record.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Warren Cravey, Fidelity Systems, USA.
Change 25.011A IBM Virtualization Engine TS7700 Series Statistics data
TYPEBVIR can now be created as a RECFM=U or RECFM=VB History file,
TYPSBVIR or those data can be written to SMF; this change supports
VMACBVIR both the SMF and History file records. By default, MXG
Feb 19, 2007 reads SMF data, but you must add MACRO _IDBVIR nnn % in
Feb 26, 2007 IMACKEEP tailoring member to define your SMF record ID.
To process the History File, change _SMF to _HISTFI in
your TYPEBVIR or TYPSBVIR member. The Point in Time
subtypes (01,02,10,11) are not written to the SMF file.
Change 25.011 The preliminary ANALMQMC member should no longer be used;
ANALMQMC it was preliminary and was replaced by revisions to the
Feb 21, 2007 ASUMUOW program. The dataset MQMUOW is no longer created
by ANALMQMC, as that logic is in a comment block, and now
only ASUMUOW is executed with ANALMQMC is executed.
Comments in the member were revised.
Thanks to Harald Seifert, HUK-COBERG, GERMANY.
Change 25.010 Support for TELEVIEW Release 4.4 was already in place;
VMACTELE there were no changes to their SMF record.
Feb 21, 2007
Thanks to Lawrence Hogg, NYU, USA.
Change 25.009 The new ERASEPDB option was not set to a default; it is
BLDSMPDB now set to YES.
Feb 15, 2007
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 25.008 -In IMACICOB, OMDBDB2LN should have been spelled OMBDB2LN.
IMACICOB -In IMACICOM, QMMLN should have been spelled OMMQLN.
IMACICOM
Feb 15, 2007
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 25.007 The optional CICS BMC CMRDATA has variables CMDUDATA and
IMACICMR CMDDBCCP reversed; the correct order is CMDUDATA first.
Feb 15, 2007
Thanks to Bill Keezer, SAS Institute, USA.
Change 25.006 Support for MXG IMS Log processing for IMS Version 10:
VMACIMS -For users of TYPEIMS7, members VMACIMS and TYPEIMS7 with
TYPEIMS7 this Change 25.006 (in MXG 25.01) are required, and you
ASMIMSL6 must update the _IMSVERS to 10.0 in IMACIMS7 in your
JCLIMSL6 "USERID.IMSV10.SOURCLIB(IMACIMS7)" tailoring.
Feb 19, 2007 -For users of ASMIMSL6,TYPEIMSA,JCLIMSL6 job stream, you
Feb 27, 2007 reassemble ASMIMSL6 with the IBM IMS V10 macro library to
create the "USERID.IMSV10.LOADLIB(MXGIMSL6)" for the
PGM=MXGIMSL6 for your V10 jobstream.
-Because there is no Version number in IMS log records,
separate job streams for each IMS version's log file is
required, so creating V10-only "USERID" and "LOADLIB"
datasets is required, along with associated JCL DSNAME=
changes will, unfortunately, also be required.
Updates were required to support new fields INCOMPATIBLY
that were inserted in IMS log 07 and 08 records, and new
variables are created in IMS0708 and IMSSUMRY datasets.
There is a new CPU metric, DLREXETM, that is documented
as the total CPU time from 08 to 07, but in test data,
it was very close to IMSCPUTM in three BMP transactions
but on BMP that ABENDed had much smaller DLREXETM than
the IMSCPUTM value, so it is somewhat suspect.
Other IMS log records will be validated shortly.
Thanks to Curdin Salis Gross, Credit-Suisse, SWITZERLAND.
Change 25.005 SQLServer:Replication objects now have instance names, so
VMACNTSM KNOWN SORA OBJECT. UNEXPECTED NRDATA message is gone and
Feb 12, 2007 variables SQRSNAME SQRMNAME SQRLNAME SQRDNAME SQRANAME
Feb 19, 2007 are now created. Labels for four cachxxxx were added.
Thanks to Bob Gauthier, Albertsons, USA.
Change 25.004 Change 24.159 added TWOHOUR, FOURHOUR, EIGHTHR arguments
VMXGDUR to VMXGCICI for CICS summarization; those INTERVAL values
VMXGSUM are now also supported in VMXGSUM and VMXGDUR %macros.
Feb 11, 2007
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 25.003 Variable NREXPOSR is INCOMPATIBLY changed by IBM for HPAV
VMAC74 to contain the accumulated product of UCBs and samples in
Feb 8, 2007 SMF74PSM. Now, MXG recalculates for HyperPav using:
IF HYPERPAV='Y' THEN NREXPOSR=NREXPOSR/SMF74PSM;
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Gilles Lachassagne, CA, FRANCE.
Change 25.002 VMACMWUX in MXG 24.24 was restored from the last changed
VMACMWUX member from MXG 22.22; somehow, I replaced MWUX with an
Feb 8, 2007 older and archaic member.
Thanks to Roman Gudz, Penske, USA.
Change 25.001 Correction to NRICFCPU and NRIFLCPU in ASUM70PR/ASUMCEC
VMXG70PR datasets, if you had more than one. The MAX= statement
Feb 8, 2007 in line 295 should have been
SUM=X NRICFCPU NRIFACPU NRIFLCPU NRZIPCPU;
The counts in NRIFACPU and NRZIPCPU were correct because
they are recalculated to be the Average number based on
those engines UP-time, in case IRD takes control
LASTCHANGE: Version 25.
=========================member=CHANGE24================================
/* COPYRIGHT (C) 1984-2007 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG 24.24 is the 2007 "Annual Version", dated February 5, 2007.
MXG Version 24.24 is dated Feb 5, 2007, thru Change 24.306
MXG Version 24.11 was dated Feb 3, 2007, thru Change 24.304
Fourth MXG Version 24.10 was dated Jan 31, 2007, thru Change 24.300
Third MXG Version 24.10 was dated Jan 28, 2007, thru Change 24.293
Second MXG Version 24.10 was dated Jan 22, 2007, thru Change 24.282
First MXG Version 24.10 was dated Jan 21, 2007, thru Change 24.279
MXG Version 24.09 was dated Dec 20, 2006, thru Change 24.251
MXG Version 24.08 was dated Oct 18, 2006, thru Change 24.216
First MXG Version 24.08 was dated Oct 17, 2006, thru Change 24.214
MXG Version 24.07 was dated Sep 22, 2006, thru Change 24.186
First MXG Version 24.07 was dated Sep 21, 2006, thru Change 24.185
MXG Version 24.06 was dated Aug 30, 2006, thru Change 24.165
MXG Version 24.05 was dated Jul 3, 2006, thru Change 24.120
MXG Version 24.04 was dated Jun 22, 2006, thru Change 24.109
MXG Version 24.03 was dated May 15, 2006, thru Change 24.075
First MXG Version 24.03 was dated May 13, 2006, thru Change 24.073
Second MXG Version 24.02 was dated Apr 26, 2006, thru Change 24.057
First MXG Version 24.02 was dated Apr 24, 2006, thru Change 24.050
MXG Version 24.01 was dated Mar 1, 2006, thru Change 24.012
MXG Newsletter FORTY-EIGHT was dated Feb 20, 20056
The instructions for ftp download of MXG 24.24 was mailed to all sites.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. 2007 Annual MXG Software Version 24.24 instructions were sent.
II. Incompatibilities and Installation of MXG 24.24.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Version 24.24, dated Feb 5, 2007 - the Annual Version for 2007.
Major enhancements added in MXG 24.24.
TYPENMON 24.296 Support for NMON (free from IBM) AIX/Linux Monitor.
TYPE1415 24.295 Support for APAR OA17569 Tape Encryption new fields
TYPE112 24.294 Support for SMF ID=112 CICS ONDV record.
TYPESFTA 24.304 Support for Tivoli License Compliance Manager 4.2
TYPERMFV 24.302 Support for additional zIIP data in RMF III ZRBENC.
TYPEEDGR 24.299 Support for z/OS (COMPATIBLE) changes to RMM data.
TYPE1415 24.295 Support for APAR OA17569, Encrypted Tape Keys/Mech.
TYPEWMQA 24.292 Support for WebSphere MQ V6.0 OPEN SYSTEMS acct/stats
TYPE119 24.289 Support for FTP Client Security fields in TYP11903.
IMACICO2 24.297 Support for CMODHEAD=OMEGAMON segment.
TYPEBBMQ 24.281 Support for BMC Mainview for MQ Series VSAM History.
TYPESAMS 24.279 Support for SAMS Vantage Version 6; new datasets.
TYPE116 24.293 Support for NETSNAME/UOWTIME from QWHCNID in SMF 116.
TYPETAND 24.286 Support for Tandem H06 release.
TYPETPF 24.283 Support for TPF thru PUT19.
ANALS225 24.282 New "DB2 Storage Analysis" uses IFCID 225+DB2STATS.
TYPE7072 24.290 Circumvention for invalid CPURCTTM in 72 and 30s.
IMACICOM 24.287 BMC CANMQ CICSTRAN MQTOTTM invalid due to MXG error.
TYPE102 24.291 Correction for SMF 102 IFCID 22.
TYPEBVIR 24.305 Support for IBM BVIR History for TS7700 VTS System.
BLDSMPDB 24.298 New BUILDPDB=COPYONLY option enhancement.
IMACICO2 24.297 Support for new CMODHEAD='OMEGAMON' CICS segment.
Major enhancements added in MXG 24.10.
ASUMTAPE 24.265 Critical correction for ASUMTAPE for IBM Volume Exit
UTILEXCL 24.254 Support for all Omegamon/Candle optional CICS data
TYPERMFV 24.272 Support for RMF III VSAM ENC Extension segment.
TYPEMVCI 24.264 Support for CMRDETL for Mainview for CICS V 5.9.00.
TYPEBETA 24.257 Support for Beta 93 Version 3.6.1
ADOC30 24.269 Schematic documentation of zIIP CPU variables.
VMXGSUM 24.267 New MINLONG=,MAXLONG= arguments created for 8-byters.
TYPEPROS 24.258 Product section character variables were wrong.
TYPE102 24.256 IFCID 226 and 227 new variables added.
TYPEIPAC 24.259 Mobius Subtype 8 INPUT STATEMENT EXCEEDED.
ASCISMFC 24.274 ASCII execution utility to create SMF subset from ftp
VMXG70PR 24.278 More ASUM70PR touch-up, dedicated CPUs, etc.
ANALCISH 24.277 Updated for dropped variableS MNGSYSER/MNGSYSEE.
Major enhancements added in MXG 24.09.
TYPE74 24.228 Support for HyperPAV APAR OA12865.
TYPE78 24.228 Support for HyperPAV APAR OA12865.
IMACEXD 24.221 Support for SAR/EXD SMF type 6 optional data.
TYPENTSM 24.218 Support for NTSM Beta Version 3.0.0.8 (COMPATIBLE).
TYPENSPY 24.212 Support for NetSpy Version 11 was added Aug, 2005.
TYPE99 24.210 Support for SMF 99 Resource Group, TYPE99RG dataset.
ASUMDB2G 24.244 New PDB.ASUMDB2G summary for DB2 Global Buffers.
VMXGINIT 24.242 Revisions for SAS V9 BI SAS/ITRM anticipated changes.
IMAC6ESS 24.227 Optional ESS GPARMKEY='4A'x caused INPUT error.
TYPE70 24.225 LPARs with no current weight has LPARSHAR=0.
TYPE7072 24.224 Fall Clock "Set Back" protection for dupe STARTIME.
TYPE78 24.223 Virtual Storage Above the Bar Shared not Input.
TYPE110 24.222 Stat vars DSGEJST,DSGSRBT now kept in CICDS.
TYPENTSM 24.220 NTSMF Object 'DATABASE ==> INSTANCES" new DATABASI.
TYPE119 24.215 Vars TSICDUTM thru TSICOUAR were incorrect in MXG.
ASMRMFV 24.214 Protection for z/OS 1.6 which had no SPG records.
TYPE7072 24.208 LPAR SHARE variables were wrong with Dedicated CPs.
MXGSASVn 24.246 REGION=0M added to MXG JCL procedure examples.
Major enhancements added in MXG 24.08.
CRITICAL: Final corrections to "SPLIT70" redesign in Change 24.207.
All SPLIT70 errors in MXG 23.23 thru MXG 24.07 have been corrected.
MXG 24.08 is required for z/OS 1.7 now because of these corrections.
MXG 23.23 thru MXG 24.07 should be replaced by MXG 24.08 or later.
TYPETPMX 24.199 Support for ThruPut Manager Version 6 new variables.
TYPENTSM 24.206 Support for NTSMF Version 3.0.0.7.
TYPEMPLX 24.204 Support for IMPLEX Version 4.10 (INCOMPATIBLE).
TYPEMWNT 24.191 Support for HP MeasureWare for Windows/NT.
TYPETNG 24.188 Support for new TNG object (NT and Solaris).
TYPETHAL 24.201 Support for E-Thales Security five user SMF records.
TYPE82 24.200 Support for SMF 82 subtype 22, correction to st 21.
VMACSMF 24.202 &SMFEXIT macro variable added to INFILE &SMF.
TYPE30 24.198 INTETIME in TYPE30_6 was wrong if GMT offset nonzero.
TYPE1415 24.196 TYPE1415 INPUT EXCEEDED with z/OS 1.7/1.8 PDSE data.
TYPEDB2 24.194 DB2STATS variables CPUTM, QWSnXXXX corrected.
Many 24.193 Support for 3592 Tapes, no change, they're 3590s.
ASUM70PR 24.187 INTERVAL=HOUR could create obs with smaller DURATM.
Major enhancements added in MXG 24.07.
ASMHSCEX 24.092 Support for z/OS 1.8 (COMPATIBLE).
ASMHSCEX 24.171 Support for CrossCopy in MXGTMNT HSC Exit.
TYPERMFV 24.181 Support for RMF III OPGG3, SPGG3, zips in CPUG3.
TYPE70 24.184 PCTIFBYn/PCTZIBYn are "MVS", new PCTCIBYn is "LPAR".
TYPERACF 24.178 Support for IRRHFSU (Unix z/OS file permissions).
VMACNDM 24.182 NDMCPUTM and NDMCPU now validated and correct.
TYPE1415 24.170 MXG 24.06 only. NO MATCHING IF error.
TYPEDB2 24.177 INPUT EXCEDED ID=100 SUBTYPE=0 more than 1 QLST.
TYPE110 24.166 Support for BMC Mainview/CICS optional DB2 and CMR.
VMAC110 24.185 Support for DMF Product's SMF 110 (CICS 4.1!) data.
Major enhancements added in MXG 24.06.
TYPENTSM 24.162 Support for NTSMF 3.0.0, also 35 new objects.
TYPEQACS 24.161 Support for i/Series QACS AS/400 Release 5.4.0.
TYPECMHM 24.153 Support for EMC's Centera Mainframe HSM Migrator SMF.
TYPEPRPR 24.145 Support for Oce's Prisma Print '9901' USER record.
TYPENDM 24.144 Support for NDM/Connect-Direct Release 4.3/4.5.
TYPE72GO 24.125 New ZIP variables were not kept in TYPE72GO.
BUILDPDB 24.128 New ZIP variables are now kept in PDB.STEPS/JOBS.
TYPE70 24.142 PCTRDYWT, new SMF70Qnn wrong, new PCTRDQWT created.
FORMATS 24.163 Support for z9EC on 32-bit; no change for 64-bit.
TYPEDB2 24.141 QLESxxxx DB2 statistics variables corrected.
ANALDEVN 24.157 Example to identify all devices allocated by a JOB.
CICSBAD 24.155 Not all PROGRAM='########' should be in CICSBAD?
TYPE80A 24.152 Protection for $VARYINGnn. mm input with nn GT mm.
VMXG70PR 24.124 Variables SHIFT, ZDATE, ZTIME in ASUM70LP fixed.
UTILEXCL 24.140 Support for ARZGEOS/FACHG, ARGZD/GSACCT optionals.
TYPEDB2 24.136 Support for DB2 V8 UIFCIDS=YES ASCII test.
ANALDB2R 24.138 Incorrect Plan counts, DB2PARTY='R" were summed.
TYPEXAM 24.135 MTRSYS variables were wrong after SYSTMID.
UTILEXCL 24.131 Candle short CICS dictionary record supported.
TYPEORAC 24.130 Oracle support is no longer subsystem dependent.
ASUMUOW 24.129 PDB.ASUMUOW support for 10 CICS ABCODE values.
IMAC6ESS 24.127 Support for GEPARMKY='4D'x and '4A'x
TYPE102 24.121 Support for IFCID=350, replaces IFCID=63, long SQL.
Major enhancements added in MXG 24.05.
ASUM70PR default restored to INTERVAL=DURSET
RMFINTRV enhanced to support SYNC59
WEEKBLD/WEEKBLDT typos (only in 24.04) corrected.
Major enhancements added in MXG 24.04.
TYPE7072 24.110 Support for z9BC Processor (COMPAT if 64-bit z/OS)
TYPE30 24.046 Support for zIIP-ZIP engines.
TYPE7072 24.046 Support for zIIP-ZIP engines.
TYPEDB2 24.046 Support for zIIP-ZIP engines.
TYPERMFV 24.046 Support for zIIP-ZIP engines.
ASUM70PR 24.105 Corrections, revisions, ASUM70PR, ZIP and IFAs.
ASUM70PR 24.105 INTERVAL=QTRHOUR is new default for ASUM70PR/70LP.
TYPE1415 24.094 Support for PDSE Caching statistics APAR OA12857
ASUMTAPE 24.102 PDB.ASUMTAPE will have zero obs if SYSLMNT has 0 obs.
ASUMTAPE 24.102 PDB.ASUMTAPE BEGTMNT, ENDTMNT, TOTMNTTM created.
ASMHSCEX 24.096 Revised STK Exit UX01 adds logic to save registers.
ASMRMFV 24.091 RMF III enhancement, ENC data, Index usage.
TYPERMFV 24.090 RMF III RESOURCE TYPE MISMATCH corrected for UWDG3.
RMFINTRV 24.079 New NOTYPE74= option will skip TYPE74 processing.
TYPEVMXA 24.078 All z/VM MONWRITE datasets have variable SYSTEM.
VMXGDUR 24.105 New MXGDURTM variable is created.
Major enhancements added in MXG 24.03.
ASUM70PR 24.064 Redesign of ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP code.
Corrects errors, supports different DURATMs in CEC.
Extensive discussion of CEC metrics in change text.
This change is required if you use these datasets.
TYPE89 24.063 TYPE89/TYPE892 MACHTIME calculation revised.
ANALRMFR 24.060 RMF CPU Activity Report updated for IFAs and IFLs.
WEEKBLxx 24.058 SORT order of PDB.ASUMTAPE was inconsistent.
WEEKBLxx 24.064 New &MXGNOBY to circumvent NOT SORTED in WEEKBLD.
MONTHxxx 24.064 New &MXGNOBY to circumvent NOT SORTED in MONTHLD.
ASMTAPEE 24.075 ML-39 of MXGTMNT, gets suppressed SYSLOG messages.
Major enhancements added in MXG 24.02.
Two more IMPORTANT/CRITICAL corrections to the "SPLIT70" redesign:
TYPE7072 24.032 PCTCPUBY/PCTMVSBY in TYPE70 wrong when IRD active.
TYPE7072 24.043 PCTCPUBY/CPUACTTM missing in non-LPAR'd system.
Other, less critical enhancements:
TYPERMFV 24.042 Support for CPC RMF III report data.
TYPETIAO 24.045 Support for APAR UK12301 (Tivoli Alloc Optimizer)
TYPEDB2 24.028 Support for APAR PK15468, adds QWSnPSRB.
TYPE16 24.013 Support for New Memory Object Data in DFSORT.
TYPE102 24.027 SQL Text missing in AUDIT trace 140-145 IFCIDs.
TYPESYNC 24.025 8-byte variables replaced 4-byte variables.
E2dddddd 24.024 New E2dddddd members for "2 Phase" tailoring.
VMXGINIT 24.023 MXG Default TAPENGN is now V9SEQ.
MONTHBLD 24.022 ASUMDB2B BY list did not match weekly BY list.
TYPE80 24.018 RACF Reloate 301 section INPUT STATEMENT EXCEEDED.
TYPEDB2 24.044 BEGTIME missing in DB2STATB dataset.
TYPE30 24.053 Negative CPUUNITS error suppressed if delta is small.
Major enhancements added in MXG 24.01 - 2006 Annual MXG Version
TYPEVMXA 24.003 Toleration Support for z/VM 5.2 (INCOMPATIBLE).
TYPE102 24.001 Support for truncated SQL Text in DB2 Audit Trace.
TYPE30 24.005 Support for APAR OA14340, adds 8-byte EXCPTOTL field.
TYPE70 24.010 Array subscript out of range with 60 LPARs.
TYPE30 24.011 Negative/missing values in PDB.TYPE30_6.
TYPE30 24.009 Variable AVGWKSET/PAGESECS accumed over TCB+IFA.
TYPE30 24.009 Variable CSTORE30 is now always missing.
TYPE102 24.001 INPUT EXCEEDED SMF 102 truncated SQL text fields.
TYPE70 24.010 Variable LPARNSW in RMFINTRV/TYPE70 could be zero.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
All of these enhancements are described in the Change Log, below.
SAS Version requirement information:
MXG 22.08 or later is REQUIRED for SAS V9.1.2 or V9.1.3; see
"Major Enhancements in MXG 22.08" in CHANGES, above, for the major
items, then search Newsletters for V9 for all of the minor items.
MXG executes under SAS V8.2 and SAS V9.1.3, but MXG is no longer
supported under SAS V6. The "PDB" libraries written to by MXG
must have been created by V8/V9 (i.e, if ENGINE=V6 is shown in the
PROC CONTENTS output, you must convert that data library to the
current ENGINE=BASE by PROC COPYing it under SAS V8 or V9.
For SAS V9.1.3 on z/OS with Service Pack 4:
There are no reported errors, and MXG's CONFIGV9 now specifies
V9SEQ instead of V6SEQ. As V6SEQ does not support long length
character variables, it should not be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are still SAS V9.1 or V9.1.2,
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
to be completely safe. No earlier Version 8's were supported.
Sequential Engine Status:
V9SEQ is fixed in V9.1.3; it is now the default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG New-Version QA tests are executed on z/OS with SAS V9.1.3 and
V8.2, and on Windows XP with SAS V9.1.3. But previous QA tests
have been run with all SAS releases on z/OS, SAS V8.2 and V9.1 on
Linux RH8 on Intel, with V9.1 on Solaris v2.8 on Model V880, and
V9.1 on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V8.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
Availability dates for the IBM products and MXG version required for
the processing of that product's data records:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 Sep 30, 2005 *24.24
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS ZIP Processor Support Jun 22, 2006 *24.24
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 ??? 15, 2006 24.??
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Dec ??, 2004? 22.08
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including cics/ts 3.1 22.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 22.08
Memorex/Telex
LMS 3.1 12.12A
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
II. Incompatibilities and Installation of MXG 24.10.
1. Incompatibilities introduced in MXG 24.24 (since Annual MXG 24.01):
a- Changes in MXG architecture made between 24.24 and prior versions
that can introduce known incompatibilities.
ITRM Sites MAY have to add _STY70 invocation in their EXPDBOUT
exit member, but only if they run BUILDPDB without RMFINTRV.
See Change 23.321. DATA SET PDB.TYPE70 NOT FOUND ERROR without.
If you use MXG _VAR7072 and _CDE7072 in your own program to read
RMF 70s, you MUST now invoke _STY70 after your data step due
to MXG support for split SMF 70 records. Change 23.321.
If you used EXTY70 or EXTY70PR to create new variables, you must
now use the E2TY70 or E2TY70PR "Second Phase" exit members.
See Change 24.024.
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 JCLINST9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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.
_PAGE_ 8
Alphabetical list of important changes in MXG 24.10 after MXG 24.01:
Dataset/
Member Change Description
ANALDB2R 24.138 Incorrect Plan counts, DB2PARTY='R" were summed.
ANALDEVN 24.157 Example to identify all devices allocated by a JOB.
ANALRMFR 24.060 RMF CPU Activity Report updated for IFAs and IFLs.
ASMHSCEX 24.096 Revised STK Exit UX01 adds logic to save registers.
ASMHSCEX 24.171 Support for CrossCopy in MXGTMNT HSC Exit.
ASMRMFV 24.091 RMF III enhancement, ENC data, Index usage.
ASMRMFV 24.214 Protection for z/OS 1.6 which had no SPG records.
ASMTAPEE 24.075 ML-39 of MXGTMNT, gets suppressed SYSLOG messages.
ASUM70PR 24.064 Redesign of ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP code.
ASUM70PR 24.095 Variables LPCTBY LPCTOV PCTLPBY PCTLPOV missing.
ASUM70PR 24.105 INTERVAL=QTRHOUR is new default for ASUM70PR/70LP.
ASUM70PR 24.187 INTERVAL=HOUR could create obs with smaller DURATM.
ASUMDB2G 24.244 New PDB.ASUMDB2G summary for DB2 Global Buffers.
ASUMMIPS 24.080 _SYNC59 option added to MIPS/MSU analysis.
ASUMRAID 24.057 New RAID Analysis, all VOLSERs on each CSSSID.
ASUMTAPE 24.102 PDB.ASUMTAPE BEGTMNT, ENDTMNT, TOTMNTTM created.
ASUMTAPE 24.102 PDB.ASUMTAPE will have zero obs if SYSLMNT has 0 obs.
ASUMUOW 24.129 PDB.ASUMUOW support for 10 CICS ABCODE values.
BLDSMPDB 24.298 New BUILDPDB=COPYONLY option enhancement.
BUILDPDB 24.128 New ZIP variables are now kept in PDB.STEPS/JOBS.
CICSBAD 24.155 Not all PROGRAM='########' should be in CICSBAD?
CLRMFV 24.037 New version of CLRMFV TSO CLIST for RMF III.
Doc 24.015 Identifying CRYPTO users and usage.
Doc 24.034 Example to create numeric hex from character hex.
E2TY70 24.024 New E2TY70 member for tailoring PDB.TYPE70 dataset.
E2TY70PR 24.024 New E2TY70PR member for tailoring PDB.TYPE70PR.
E2dddddd 24.024 New E2dddddd members for "2 Phase" tailoring.
EXPDB30V 24.158 Doc: how to drop variables from PDB.SMFINTRV.
FORMATS 24.163 Support for z9EC on 32-bit; no change for 64-bit.
IMAC6ESS 24.127 Support for GEPARMKY='4D'x and '4A'x
IMAC6ESS 24.227 Optional ESS GPARMKEY='4A'x caused INPUT error.
IMACEXD 24.221 Support for SAR/EXD SMF type 6 optional data.
IMACICE2 24.033 Documentation of different EZA01 fields in CICS
IMACICO2 24.297 Support for CMODHEAD=OMEGAMON segment.
IMACICO2 24.297 Support for new CMODHEAD='OMEGAMON' CICS segment.
JCLMNTHW 24.039 Example creates MONTH PDB from last six WEEK PDBs.
MONTHBLD 24.022 ASUMDB2B BY list did not match weekly BY list.
MXGSASVn 24.246 REGION=0M added to MXG JCL procedure examples.
Many 24.193 Support for 3592 Tapes, no change, they're 3590s.
READDB2 24.006 APPARENT MACRO MAC102S error with ANALDB2R/READDB2.
RMFINTRV 24.079 New NOTYPE74= option will skip TYPE74 processing.
TYPE102 24.001 INPUT EXCEEDED SMF 102 truncated SQL text fields.
TYPE102 24.001 Support for truncated SQL Text in DB2 Audit Trace.
TYPE102 24.027 SQL Text missing in AUDIT trace 140-145 IFCIDs.
TYPE102 24.121 Support for IFCID=350, replaces IFCID=63, long SQL.
TYPE102 24.256 IFCID 226 and 227 new variables added.
TYPE110 24.166 Support for BMC Mainview/CICS optional DB2 and CMR.
TYPE110 24.222 Stat vars DSGEJST,DSGSRBT now kept in CICDS.
TYPE110J 24.104 BMC CMRDETL converted to SMF 110 DOS Journal Format.
TYPE112 24.294 Support for SMF ID=112 "ONDV" CICS record.
TYPE112 24.294 Support for SMF ID=112 CICS ONDV record.
TYPE116 24.293 Support for NETSNAME/UOWTIME from QWHCNID in SMF 116.
TYPE119 24.215 Vars TSICDUTM thru TSICOUAR were incorrect in MXG.
TYPE1415 24.094 Support for PDSE Caching statistics APAR OA12857
TYPE1415 24.170 MXG 24.06 only. NO MATCHING IF error.
TYPE1415 24.196 TYPE1415 INPUT EXCEEDED with z/OS 1.7/1.8 PDSE data.
TYPE1415 24.295 Support for APAR OA17569 Tape Encryption new fields
TYPE1415 24.295 Support for APAR OA17569, Encrypted Tape Keys/Mech.
TYPE16 24.013 Support for New Memory Object Data in DFSORT.
TYPE16 24.071 DFSORT MEMOBJUS variable corrected.
TYPE23 24.065 TYPE23 STARTIME/SYNCTIME were GMT, now LOCAL zone.
TYPE30 24.005 Support for APAR OA14340, adds 8-byte EXCPTOTL field.
TYPE30 24.009 Variable AVGWKSET/PAGESECS accumed over TCB+IFA.
TYPE30 24.009 Variable CSTORE30 is now always missing.
TYPE30 24.011 Negative/missing values in PDB.TYPE30_6.
TYPE30 24.046 Support for zIIP-ZIP engines.
TYPE30 24.053 Negative CPUUNITS error suppressed if delta is small.
TYPE30 24.198 INTETIME in TYPE30_6 was wrong if GMT offset nonzero.
TYPE70 24.010 Array subscript out of range with 60 LPARs.
TYPE70 24.010 Variable LPARNSW in RMFINTRV/TYPE70 could be zero.
TYPE70 24.142 PCTRDYWT, new SMF70Qnn wrong, new PCTRDQWT created.
TYPE70 24.184 PCTIFBYn/PCTZIBYn are "MVS", new PCTCIBYn is "LPAR".
TYPE70 24.225 LPARs with no current weight has LPARSHAR=0.
TYPE7072 24.032 PCTCPUBY/PCTMVSBY in TYPE70 wrong when IRD active.
TYPE7072 24.043 PCTCPUBY/CPUACTTM missing in non-LPAR'd system.
TYPE7072 24.046 Support for zIIP-ZIP engines.
TYPE7072 24.208 LPAR SHARE variables were wrong with Dedicated CPs.
TYPE7072 24.224 Fall Clock "Set Back" protection for dupe STARTIME.
TYPE72GO 24.125 New ZIP variables were not kept in TYPE72GO.
TYPE74 24.228 Support for HyperPAV APAR OA12865.
TYPE78 24.223 Virtual Storage Above the Bar Shared not Input.
TYPE78 24.228 Support for HyperPAV APAR OA12865.
TYPE80 24.018 RACF Reloate 301 section INPUT STATEMENT EXCEEDED.
TYPE80A 24.097 INPUT EXCEEDED if more than six RACFTYPE=42 segments.
TYPE80A 24.098 Support for RACF DCE segment from RACFTYPE 301 seg.
TYPE80A 24.152 Protection for $VARYINGnn. mm input with nn GT mm.
TYPE82 24.200 Support for SMF 82 subtype 22, correction to st 21.
TYPE89 24.063 TYPE89/TYPE892 MACHTIME calculation revised.
TYPE99 24.210 Support for SMF 99 Resource Group, TYPE99RG dataset.
TYPEBETA 24.257 Support for Beta 93 Version 3.6.1
TYPEBVIR 24.305 Support for IBM BVIR History for TS7700 VTS System.
TYPECMHM 24.153 Support for EMC's Centera Mainframe HSM Migrator SMF.
TYPEDB2 24.028 Support for APAR PK15468, adds QWSnPSRB.
TYPEDB2 24.044 BEGTIME missing in DB2STATB dataset.
TYPEDB2 24.046 Support for zIIP-ZIP engines.
TYPEDB2 24.051 QISEDBW, QISEDSC, QISESTMT corrected, other QISEs.
TYPEDB2 24.088 Vars QJSTCIWR QJSTLOGW QJSTLSUS QJSTSERW/THRW wrong.
TYPEDB2 24.136 Support for DB2 V8 UIFCIDS=YES ASCII test.
TYPEDB2 24.141 QLESxxxx DB2 statistics variables corrected.
TYPEDB2 24.177 INPUT EXCEDED ID=100 SUBTYPE=0 more than 1 QLST.
TYPEDB2 24.194 DB2STATS variables CPUTM, QWSnXXXX corrected.
TYPEEDGR 24.299 Support for z/OS (COMPATIBLE) changes to RMM data.
TYPEHURN 24.150 HURN49 variables HU49BJOB,HU49BSET not kept.
TYPEIPAC 24.259 Mobius Subtype 8 INPUT STATEMENT EXCEEDED.
TYPEMPLX 24.204 Support for IMPLEX Version 4.10 (INCOMPATIBLE).
TYPEMVCI 24.264 Support for CMRDETL for Mainview for CICS V 5.9.00.
TYPEMWNT 24.191 Support for HP MeasureWare for Windows/NT.
TYPENDM 24.144 Support for NDM/Connect-Direct Release 4.3/4.5.
TYPENDM 24.160 Corrections (again, final?) for NDMCPUTM/NDMCPU.
TYPENMON 24.296 Support for NMON (free from IBM) AIX/Linux Monitor.
TYPENSPY 24.212 Support for NetSpy Version 11 was added Aug, 2005.
TYPENTSM 24.162 Support for NTSMF 3.0.0, also 35 new objects.
TYPENTSM 24.206 Support for NTSMF Version 3.0.0.7.
TYPENTSM 24.218 Support for NTSM Beta Version 3.0.0.8 (COMPATIBLE).
TYPENTSM 24.220 NTSMF Object 'DATABASE ==> INSTANCES" new DATABASI.
TYPEORAC 24.130 Oracle support is no longer subsystem dependent.
TYPEPROS 24.258 Product section character variables were wrong.
TYPEPRPR 24.145 Support for Oce's Prisma Print '9901' USER record.
TYPEQACS 24.161 Support for i/Series QACS AS/400 Release 5.4.0.
TYPERACF 24.178 Support for IRRHFSU (Unix z/OS file permissions).
TYPERMFV 24.042 Support for CPC RMF III report data.
TYPERMFV 24.046 Support for ZIIP-ZIP engines.
TYPERMFV 24.090 RMF III RESOURCE TYPE MISMATCH corrected for UWDG3.
TYPERMFV 24.181 Support for RMF III OPGG3, SPGG3, zips in CPUG3.
TYPERMFV 24.302 Support for additional zIIP data in RMF III ZRBENC.
TYPESFTA 24.304 Support for Tivoli License Compliance Manager 4.2
TYPESYNC 24.025 8-byte variables replaced 4-byte variables.
TYPESYSI 24.240 All times were 1000 times too large.
TYPETHAL 24.201 Support for E-Thales Security five user SMF records.
TYPETIAO 24.045 Support for APAR UK12301 (Tivoli Alloc Optimizer)
TYPETMS5 24.418 DATECLN was not converted to yyyyddd format.
TYPETNG 24.188 Support for new TNG object (NT and Solaris).
TYPETPMX 24.199 Support for ThruPut Manager Version 6 new variables.
TYPEVMXA 24.003 Toleration Support for z/VM 5.2 (INCOMPATIBLE).
TYPEVMXA 24.078 All z/VM MONWRITE datasets have variable SYSTEM.
TYPEXAM 24.035 XAM SYS error INPUT STATEMENT EXCEEDED due to FFFFx.
TYPEXAM 24.068 SHORT SEGMENT MXG error corrected for SYTCPC/STOSHR.
TYPEXAM 24.072 INVALID DATA FOR SYTNLPMG/SYTACTM with XAMSYS.
TYPEXAM 24.135 MTRSYS variables were wrong after SYSTMID.
UTILEXCL 24.131 Candle short CICS dictionary record supported.
UTILEXCL 24.140 Support for ARZGEOS/FACHG, ARGZD/GSACCT optionals.
UTILEXCL 24.254 Support for all Omegamon/Candle optional CICS data
VMAC110 24.185 Support for DMF Product's SMF 110 (CICS 4.1!) data.
VMACNDM 24.182 NDMCPUTM and NDMCPU now validated and correct.
VMACSMF 24.202 &SMFEXIT macro variable added to INFILE &SMF.
VMXG70PR 24.105 Corrections, revisions, ASUM70PR, ZIP and IFAs.
VMXG70PR 24.124 Variables SHIFT, ZDATE, ZTIME in ASUM70LP fixed.
VMXGDUR 24.105 New MXGDURTM variable is created.
VMXGINIT 24.023 MXG Default TAPENGN is now V9SEQ.
VMXGINIT 24.242 Revisions for SAS V9 BI SAS/ITRM anticipated changes.
WEEKBLxx 24.058 SORT order of PDB.ASUMTAPE was inconsistent.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 24.
====== Changes thru 24.306 were in MXG 24.24 dated Feb 5, 2007=========
Change 24.306 Support for IMS Version 10 (INCOMPAT) IMS log records,
VMACIMS which has these new data inserted in the 07 and 07 log
Feb 5, 2007 log records:
Dataset IMS07
DLRABRSN='ABEND*REASON*CODE'
DLRCPUID='CPU ID*PLACE*HOLDER'
DLRESAF ='ESAF*CALLS'
DLRFLD ='FASTPATH*FLD*CALLS'
DLRNWID ='NETWORK*IDETIFIER*OF LAST*MESSAGE'
DLROSAMR='OSAM*IO*READS'
DLROSAMW='OSAM*IO*WRITES'
DLRPOS ='FASTPATHP*POS*CALLS'
DLRRLSE ='RLSE*CALLS'
DLRTOTIO='TOTAL*DL/I*OSAM+VSAM*CALLS'
DLRVSAMR='VSAM*IO*READS'
DLRVSAMW='VSAM*IO*WRITES'
DLRXCOPY='COPY*CALLS*(XQUERY)'
DLRXRSTR='RSTR*CALLS*(XQUERY)'
DLRXSAVE='SAVE*CALLS*(XQUERY)'
Dataset IMS08
LINTCLAS='TRAN*CLASS'
LINTSY2 ='TRANCODE OR DBNAME'
LINTPGM ='PROGRAM*NAME'
LINTPSB ='PSB*NAME'
LINTFLG1='FLAG*1'
This change had not been tested with actual V10 records,
and there is a new 09 statistics record that will be
supported in the future, but this change protects the
TYPEIMS7 member that used VMACIMS.
Users of the ASMIMSLx/JCLIMSLx architecture will hav to
reassemble with the IMS 10 Macro Library.
Change 24.305 Support for IBM's BVIR History for TS7700 VTS System.
EXBVIR01 DDDDDD MXG MXG
EXBVIR02 DATASET DATASET DATASET
EXBVIR10 SUFFIX NAME LABEL
EXBVIR11
EXBVIR20 BVIR01 BVIR01 BVIR01: VNODE VIRTUAL DEVICE PIT
EXBVIR21 BVIR02 BVIR01 BVIR02: VNODE ADAPTER POINT IN TI
EXBVIR30 BVIR20 BVIR20 BVIR20: VNODE VIRTUAL DEVICE HIST
EXBVIR31 BVIR21 BVIR21 BVIR21: VNODE ADAPTER HISTORY
EXBVIR32 BVIR10 BVIR10 BVIR10: HNODE HSM POINT IN TIME
EXBVIR33 BVIR11 BVIR11 BVIR11: HNODE GRID POINT IN TIME
IMACBVIR BVIR30 BVIR30 BVIR30: HNODE HSM HISTORY
TYPEBVIR BVIR31 BVIR31 BVIR31: HNODE RESERVED
TYPSBVIR BVIR32 BVIR32 BVIR32: HNODE LIBRARY HISTORY
VMACBVIR BVIR33 BVIR33 BVIR33: HNODE GRID HISTORY
VMXGINIT IBM creates the data file as RECFM=U, without BDW or RDW,
Feb 4, 2007 so processing this data on ASCII may require the data to
be converted to VB, before download, using SAS on z/OS:
DATA _NULL_;
INFILE BVIRDATA RECFM=U BLKSIZE=32760;
FILE BVIRHIST RECFM=VB LRECL=32756 BLKSIZE=32760;
INPUT ; PUT _INFILE_; RUN;
Change 24.304 Support for IBM's TLCM 4.2 (formerly ISOGON's SoftAudit)
VMACSFTA which is now Tivoli License Compliance Manager for z/OS,
Feb 3, 2007 eliminates old tests for record length, which caused zero
observations to be created in SOFTMODS dataset, and adds
new variables:
Dataset SOFTPROD - Installed Products:
XPUPDEPR='DELETED*PRODUCT*INDICATOR'
XPUPFEAT='IBM*FEATURE*NUMBER'
XPUPPEEF='PRODUCT*ENABLEMENT*ELIGIBILITY*FLAG'
XPUPPRRL='PRODUCT*RELEASE'
Dataset SOFTMODS - Installed Load Modules:
XPMDELLI='DELETED*LIBRARY*INDICATOR'
XPMDELLM='DELETED*LOAD*MODULE*INDICATOR'
XPMDELPR='DELETED*PRODUCT*INDICATOR'
XPMPTHLN='LENGTH*OF FULL*PATHNAME*FOLLOWING'
XPMRECFM='RECORD*FORMAT*CODE'
XPMPTHNM='FULL*PATHNAME'
Dataset SOFTAUDM - Load Module Usage
XPUDELLM='DELETE*MODULE*INDICATOR'
XPUDELPR='DELETE*PRODUCT*INDICATOR'
XPUMLDEL='LIBRARY*DELETED?'
Dataset SOFTAUDP - Product Usage
XPUDELPR='DELETED*PRODUCT*INDICATOR'
***ERROR.IMACACCT.ACCOUNT FIELD 1 LENGTH WRONG
messages were due to records with the accounting
field containing "* NOT AVAILABLE" instead of normal
job accounting information (which always starts with
a length field; these data do not). Now, MXG looks
for this text and avoids calling IMACACCT to eliminate
the essentially spurious message.
Thanks to Urs Kugler, Zurich Insurance Company, SWITZERLAND.
Change 24.303 -Where Clauses were added to PROC PLOTS to circumvent an
ANALRMFI error when variables are missing in ANALRMFI,ANALDALY.
ANALDALY -The CPU Report had extra PHYSICAL lines printed if there
ANALRMFR were ICF processors.
Feb 4, 2007
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 24.302 -RMF III dataset ZRBDVT is enhanced with new calculated
VMACRMFV variables that have been found to be useful in reporting;
Feb 3, 2007 their names, labels, and formats match their RMF I TYPE74
counterparts and are in the same units:
AVGCMRMS='AVERAGE*COMMAND*RESPONSE*MSEC PER SSCH'
AVGCONMS='AVERAGE*I/O CONNECT*MSEC PER SSCH '
AVGDISMS='AVERAGE*I/O DISCONNECT*MSEC PER SSCH'
AVGIOQMS='AVERAGE*IOS QUEUE*MSEC PER SSCH'
AVGPNCUB='AVG (MS)*PEND DUE TO*CU BUSY'
AVGPNDEV='AVG (MS)*PEND DUE TO*DEVICE BUSY'
AVGPNDMS='AVERAGE*I/O PENDING*MSEC PER SSCH'
AVGPNSWP='AVG (MS)*PEND DUE TO*SWITCH PORT BUSY'
DURATM ='DURATION*OF*INTERVAL'
-The ZRBENC dataset supports these new zIIP fields that
were added by APAR OA13499:
ENCDECP ='DELAY*COUNT*CP'
ENCDESUP='DELAY*COUNT*ZIIP'
ENCDMSUP='DELAY*COUNT*ZIIP*(MULTI)'
ENCSUCT ='ZIIP*ON*CP*TIME'
ENCSUPT ='ZIIP*TIME'
ENCTSUCT='ZIIP*TIME ON*CP*SINCE*CREATION'
ENCTSUPT='ZIIP*TIME*SINCE*ENCLAVE*CREATION'
ENCUMSUC='USING*COUNT*ZIIP*ON CP*(MULTI)'
ENCUMSUP='USING*COUNT*ZIIP*(MULTI)'
ENCUSCP ='USING*COUNT*CP'
ENCUSSUC='USING*COUNT*ZIIP*ON CP'
ENCUSSUP='USING*COUNT*ZIIP'
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.301 -Yet another "SPLIT70" correction; actual split records
VMAC7072 had incorrect NRPHYCPS values in PDB.TYPE70PR because the
Feb 2, 2007 PHYSICAL segments came in the second, not first, record.
An extra SORT and MEANS were required to correct these
values in TYPE70PR dataset.
-Variable PARTNCPU was incorrect as it could sometimes
still include counts for non-CP engines.
-This change also corrected CPU count variables in the
ASUM70PR output datasets (ASUM70PR/70LP/CEC/ASUMCELP).
-TYPE70PR observations with LPARCPUX=0, an offline LPAR,
had values in SMF70WST/LAC/MSU/NSW/PMA that were carried
forward because they were not reset. Now, the variables
are set to missing values.
Thanks to Rudolf Sauer, T-Systems, GERMANY
Thanks to Martin Brauer, T-Systems, GERMANY.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
====== Changes thru 24.300 were in MXG 24.11 dated Feb 1, 2007=========
Change 24.300 Using the MXG "TAPETEMP" techinque to build PDBs on tape
WEEKBLDT without rewind/backspace has worked for years without any
WEEKBLDD glitches, but that's because no one had tried to stack
WEEKBL3D multiple "WEEK" PDBs in a separate LABEL=(SL,2) tape DSN.
WEEKBL3T That caused ABEND A13-10 when the Second Tape Label was
MONTHWEK opened. The circumvention required these code changes:
MONTHBLS - The MOD in the FILE WEEK MOD .. and FILE MONTH MOD..
MONTHBLD were replaced with new local macro variable &MXGMOD.
MONTHBL3 - A %LET MXGMOD=; is inserted BEFORE the first invoke
Feb 4, 2007 of either _WEEKBLD or _MNTHBLD, and
- After the FIRST invocation of _WEEKBLD or _MNTHBLD,
a %LET MXGMOD=MOD; is inserted.
The setting of MOD only after the first dataset has been
created has circumvented what appears to be a failure by
SAS to close the dataset; this logic eliminates the ABEND
when you stack multiple PDB libraries in separate tape
data sets on a single tape volume.
-An alternative circumvention was to create a dataset on
the output tape before the first invocation of the build,
and then to CLEAR the LIBNAME, as shown below, but the
MOD technique is more elegant and more robust.
DATA WEEK.MXGDUMMY; RUN;
LIBNAME WEEK CLEAR;
Thanks to Robbie A. McCoy, Salt River Project, USA.
Thanks to Chuck Hopf, Bank of America, USA.
Thanks to Rich Anderson, SAS Institute Cary, USA.
Change 24.299 Support for z/OS 1.8 changed (COMPATIBLE) to RMM Extract
VMACEDGR data:
Jan 31, 2007 Dataset EDGGOEXT - New variable
ROOWNEML='OWNER*EMAIL*ADDRESS'
Dataset EDGGVEXT - New variables
RVCAPACI='VOLUME CAPACITY IN MBYTES'
RVDCRSID='FIRST FILE CREATION SYSTEM ID'
RVDESTBI='DESTINATION BIN NUMBER'
RVDESTBN='DESTINATION BIN MEDIA NAME'
RVDSNNO ='NUMBER OF DATASETS ON VOLUME'
RVEXPTOK='UNIQUE VALUE AT START'
RVLABNO1='LABEL NO OF FIRST FILE'
RVPERCEN='VOLUME PERCENTAGE FULL'
*RVPRERR ='PERMANENT READ ERRORS'
*RVPWERR ='PERMANENT WRITE ERRORS'
RVRBYSET='VOLUME RETAINED BY SET?'
RVSTACKE='COUNT OF VOLUMES STACKED'
RVSTACKV='STACKED VOLUME ENABLED?'
*RVTRERR ='TEMPORARY READ ERRORS'
*RVTWERR ='TEMPORARY WRITE ERRORS'
RVVENDOR='VENDOR INFORMATION'
RVVOL1 ='VOL1 LABEL VOLSER'
RVVWMC ='WRITE MOUNT COUNT'
RVWWID ='UNIQUE WORLD WIDE IDENTIFIER'
The four *ERRORS fields did previously exist in 4-bytes;
they are now 5-bytes, but since they were originally kept
as characters, they remain character variables; you can
easily convert to a number with NR=INPUT(XXXXERR,5.);
-Feb 2: Type H added flag to identify the Date Format
(JULIAN, EUROPEAN, AMERICAN), and the GMT Offset.
When present, the GMTOFF is used to change the XXXXDATE
and XXXXTIME variables to their local values.
Thanks to Reinhard Nitsche, GAVI, GERMANY.
Change 24.298 The BLDSMPDB utility new option BUILDPDB=COPYONLY can be
BLDSMPDB used to copy/manage the daily/weekly/wtd PDB libraries
Jan 31, 2007 for non-SMF data. For example you could build a PDB with
TMS and DCOLLECT data and manage it with COPYONLY:
%INCLUDE SOURCLIB(TYPSDCOL);
%INCLUDE SOURCLIB(TYPSTMS5);
%BLDSMPDB(BUILDPDB=COPYONLY);
In addition, new option ERASEPDB=NO prevents the deletion
of all of the pre-existing datasets in the PDB library,
so you could process TMC, DCOLLECT, and SMF data into the
day-of-week datasets using
%INCLUDE SOURCLIB(TYPSDCOL);
%INCLUDE SOURCLIB(TYPSTMS5);
%BLDSMPDB(BUILDPDB=buildpdb,erasepdb=no);
====== Changes thru 24.297 were in MXG 24.10 dated Jan 30, 2007=========
Change 24.297 Support for optional CMODHEAD='OMEGAMON' CICS segment,
IMACICO2 adds duration/counts for ADABAS, IDMS, SUPRA, DATACOM and
UTILEXCL a user defined vent. The duration fields are in the new
VMAC110 CICS/TS 3.2 format, with 8 bytes for duration.
Jan 30, 2007
Change 24.296 Support for NMON for AIX/Linux, "Nigel's Monitor", a free
EXNMONIN monitor from IBM. That product's home page is located at
IMACNMON http://www-941.haw.ibm.com/collaboration/wiki/display/
TYPENMON wikiptype/nmon
TYPSNMON This is the first iteration, and some of the static info
VMACNMON (count of disks, disk names, directory names, etc) was
VMXGINIT hand coded for this site's choices, and the startup data
Jan 30, 2007 is not decoded yet, so this support will evolve, There
is a massive amount of documentation about data values
at the NMON web site, so this looks to be a very good
data source for AIX and Linux.
Dataset NMONINTV contains interval observations with all
of the interval metrics that were in the test file.
Thanks to Steve Ko, Honda Canada, CANADA.
Change 24.295 Support for APAR OA17569, new SMF 14/15 subtype=7 adds
VMAC1415 four variables that describe the Key Labels and Encoding
Jan 29, 2007 Mechanism for Encrypted Tape Data Sets.
SMF14CD1='ENCODING*MECHANISM*KEY 1'
SMF14CD2='ENCODING*MECHANISM*KEY 2'
SMF14KL1='KEY*LABEL*1'
SMF14KL2='KEY*LABEL*2'
Change 24.294 Support for SMF ID=112 record, the "ONDV" data that was
VMAC112 in the Omegamon User SMF record supported in TYPEOMCI.
Jan 29, 2007 This new record is completely restructured, with changed
clocks and counters, but the same twelve datasets are
created with most of the same variable names unchanged:
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL
OMCADA OMCIADA OMEGAMON CICS ADABAS DETAIL
OMCADT OMCIADAT OMEGAMON CICS ADABAS TOTALS
OMCDLI OMCIDLI OMEGAMON CICS DL/I DETAIL
OMCDLT OMCIDLIT OMEGAMON CICS DL/I TOTALS
OMCDTC OMCIDTCO OMEGAMON CICS DATACOM DETAIL
OMCDTT OMCIDTCT OMEGAMON CICS DATACOM TOTALS
omcidm OMCIIDMS OMEGAMON CICS IDMS DETAIL
omcidt OMCIIDMT OMEGAMON CICS IDMS TOTALS
OMCSUP OMCISUPR OMEGAMON CICS SUPRA DETAIL
OMCSUT OMCISUPT OMEGAMON CICS SUPRA TOTALS
OMCVSA OMCIVSAM OMEGAMON CICS VSAM FILE DETAIL
OMCVST OMCIVSAT OMEGAMON CICS VSAM TOTALS
====== Changes thru 24.293 were in MXG 24.10 dated Jan 28, 2007=========
Change 24.293 IBM note "Correlating MQSeries Accounting Data to CICS"
VMAC116 from 2004 documents that while QWHCTOKN is not populated
Jan 28, 2007 in SMF 116 records, MQSeries V5.R2 added QWHCNID which is
populated with the NETSNAME/UOWID/UOWTIME data that MXG
normally extracts from QWHCTOKN in CICS records. Now, MXG
creates NETSNAME, UOWID, and UOWIDCHR from QWHCNID when
it is populated.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 24.292 Support for IBM WebSphere MQ V6.0 Open Systems Accounting
EXWMQCHS and Statistics is preliminary; this iteration reads the
EXWMQMQA output file created by IBM's "amqsmon" program, but the
EXWMQMQS support will be changed to read the raw messages from the
EXWMQQUA open systems accounting and statistics queues. These
EXWMQQUS five data sets are created from either input:
IMACWMQA dddddd Dataset Description
TYPEWMQA WMQMQA MQIACTNG MQI ACCOUNTING
TYPSWMQA WMQQUA QUEACTNG QUEUE ACCOUNTING
VMACWMQA WMQMQS MQISTATS MQI STATISTICS
VMXGINIT WMQQUS QUESTATS QUEUE STATISTICS
Jan 26, 2007 WMQCHS CHNSTATS CHANNEL STATISTICS
Thanks to Milt Weinberger, Metropolitan Life, USA
Change 24.291 DB2 SMF 102 IFCID 22 dataset T102S022 variables were bad
VMAC102 after QW0022VN which was read with $VARYING64. QW0022VL;
Jan 25, 2007 IBM writes all 64 bytes, not just the expected QW0022VL
length-of-field bytes, so MXG was always misaligned, as
QW0022VN is always 26 characters. Now 64-22VN is SKIPed.
This was accidentally discovered in SMF data sent for an
unrelated question, so I suspect few have used T102S022.
Thanks to Rachel Holt, Fidelity, USA.
Change 24.290 APAR OA19257 caused invalid and large CPURCTTM values in
VMXGRMFI both RMF 72 and SMF 30, APAR OA19282 was a partial fix,
VMAC7072 but APAR OA19852 (Feb 7) fixes the error.
VMAC7072 The original error causes, among other things, ERROR:
VMAC30 NEGATIVE UNCAPTURED-CPU-TIME message when RMFINTRV
Jan 26, 2007 processes these data. But the error didn't print the
Feb 7, 2007 five components of the CPU72TM, and the message text
referenced ancient APARs. The revised message text gives
clearer instructions and prints the CPU components. If
you find these error conditions, prior to installing the
PTFs for the above APARs, you can:
a. Correct your PDB library data without rereading SMF
with these DATA steps:
DATA PDB.TYPE72GO; SET PDB.TYPE72GO;
CPUTM=CPUTM-CPURCTTM;
DATA PDB.STEPS; SET PDB.STEPS;
CPUTM=CPUTM-CPURCTTM;
CPUTOTTM=CPUTOTTM-CPURCTTM;
DATA PDB.JOBS; SET PDB.JOBS;
CPUTM=CPUTM-CPURCTTM;
CPUTOTTM=CPUTOTTM-CPURCTTM;
DATA PDB.SMFINTRV; SET PDB.SMFINTRV;
CPUTM=CPUTM-CPURCTTM;
CPUTOTTM=CPUTOTTM-CPURCTTM;
or
b. Correct when your MXG program reads SMF 30 or 70 data
records (whether by BUILDPDB, TYPS30, TYPS7072, etc):
Insert the below statements before the OUTPUT in the
MXG Exit Members (you copy the EXdddddd from the MXG
Source into your "USERID.SOURCLIB(EXdddddd)":
In member EXTY72GO:
CPUTM=CPUTM-CPURCTTM;
In members EXTY30U4, EXTY30U5, EXTY30U6, IMACINTV:
CPUTM=CPUTM-CPURCTTM;
CPUTOTTM=CPUTOTTM-CPURCTTM;
Thanks to Pat Curren, Supervalu, USA.
Change 24.289 FTP Client Security fields are now added to TYP11903:
FORMATS FCCIPHER='CIPHER*SPECIFICATION'
VMAC119 FCCPROTE='CONTROL*CONNECTION*PROTECTION*LEVEL'
Jan 25, 2007 FCDPROTE='DATA*CONNECTION*PROTECTION*LEVEL'
FCLOGINM='LOGIN*METHOD'
FCMECHAN=*PROTECTION*MECHANISM'
FCPROTBU='NEGOTIATED*PROTECTION*BUFFER*SIZE'
FCPROTOL='PROTOCOL*LEVEL'
FTP Server Security fields were added by Change 23.146.
Thanks to Debbie Shugerts, Verizon, USA.
Change 24.288 -Corrections to the sample VTS analyis report. The PUT
ANAL94 format for seven variables is $5 in place of 5 as they
VMAC94 are character variables. TOTPHYMT includes suffix 2s.
Jan 24, 2007 -SMF94VCA is zero after F/C 4001, so it is recalculated
Jan 31, 2007 as SMF94VCA=SUM(OF S94VCA41-S94VCA48)/8; when VCA=0.
Feb 2, 2007 -Feb 2: $5 changed to $13 to display full DEV name.
Thanks to Keith McWhorter, Georgia Technology Authority, USA.
Change 24.287 Variable MQTOTTM in CICSTRAN from CANMQ segment was wrong
IMACICOM because it was missing the multiply-by-16 to convert the
Jan 25, 2007 inputted PIB4.6 value to the correct time units.
The missing MQTOTTM=16*MQTOTTM; statement was added; your
existing CICSTRAN data is valid if you multiply MQTOTTM
by 16.
In the process of finding this MXG error, I realized that
I could detect an error in your CICS tailoring, at least
if you had the optional CANNQ segment, by validating that
its expected length of 76 was in fact found as expecte.
If you have only optional CICS segments, but no EXCLUDEd
fields, and you didn't tailor all of the needed IMACICxx
members for all of your optional segments that exist, and
if you didn't use UTILEXCL to create an IMACEXCL for your
optional CICS segments, then you could have no errors on
the log (because MXG can only detect EXCLUDEd fields),
but your CANMQ data (in this case) would be trashed as it
was read from the wrong part of the SMF 110 record.
At least for the CANMQ segment, the length of the segment
is contained in the record, so the IMACICOM member that
you tailor (by removing the comment block) will detect if
it doesn't find the correct length of 76 at the start.
Unfortunately, I had to not-ERROR on zero length, as
all of the records from an APPLID will have the 76 byte
segment, but if the transaction was not involved in MQ,
those bytes are all hex zeroes.
Although UTILEXCL has always been required for EXCLUDEd
fields, it really is required, to be completely safe,
even if you ONLY have optional CICS segments, with no
excluded fields. If you just manually update all of the
IMACICxx members for all of your SEGMENTS, but do not
have a UTILEXCL-created IMACEXCL in effect, then the
optioal segments are input in the default static order in
the IMACICDA member, which applies to ALL of your
records, so you could have data out of order, if all
regions don't have the same group of optional segments.
By using UTILEXCL, its IMACEXCL only calls the right
segment for each record, and MXG cannot get out of
alignment.
In any case, this change will detect an out of order
condition, and let you know you need to run UTILEXCL.
P.S. Perry's tailoring was correct; in examining the
CANMQ data, which appears to be incorrect, I
realized the exposure and made this change.
Thanks to Perry Lim, Union Bank of California, USA.
Change 24.286 Support for Tandem H06 release added variables compatibly
VMACTAND to the TANDPROC, provided you still create the "old" data
Jan 24, 2007 record format.
Thanks to Harriet Sollod, Wells Fargo Bank, USA.
Change 24.285 Comments in JCLWEEK were correct that that example is for
JCLWEEK building a weekly PDB on DISK, with daily PDBs on DISK,
Jan 23, 2007 but the //WEEK DD erroneously had UNIT=TAPE. JCL Example
is corrected.
Thanks to Lisa L. Lawyer, Lands End, USA.
Change 24.284 My attempt to add REGION=0 to the // PROC JCL statement
MXGSASV9 in Change 24.246 was wrong, generating JCL errors that
MXGSASV8 EXEC STATEMENT KEYWORDS ARE RESERVED AND CANNOT BE USED.
Jan 23, 2007 That REGION=0M belongs on the // EXEC PGM= JCL statement
inside the JCL Procedure, and not on the PROC definition.
Thanks to MP Welch, SPRINT, USA.
Change 24.283 Support for TPF thru PUT19 adds two new datasets
VMXGINIT dddddd dataset description
EXTPFKC TPFKC
EXTPFSB TPFSB
VMACTPF and additions to existing datasets:
VMXGTPFI - TCPIP Message counters (SXTCPIN) added to SS/SR/ST
Jan 23, 2007 - Multiple Systems with Same CPUID supported
- Label and KEEP for PUT12 implementation corrected
- Update to FF processing for PUT19 (IBM vanilla)
- Update SPX PUT15 Dispensed & Returned Counters
and new fields added in PUT15.
- Added SPXSS for "PS" processing, due to multiple
datasets (SPXSS) on FCA.
Thanks to Bob Wilcox, EDS, USA.
====== Changes thru 24.282 were in MXG 24.10 dated Jan 22, 2007=========
Change 24.282 A new report, "DB2 Storage Analysis" uses IFCID 225 and
ANALS225 the DB2STATS dataset to report on storage used by each
Jan 22, 2007 DB2 subsystem, above and below the line and above the
bar. The report creates an HTML report; the destination
must be a PDSE with LRECL=8000, LKSIZE=8004, and required
MXG 24.08 or later for the enhanced T102S225
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.281 -Support for BMC Mainview for MQ Series V4.2 VSAM History
ASMMNVW file; record changes caused MXG to not output any obs
EXBBMQAS with the new BMC version. Many new variables are now
EXBBMQCF created by this change.
EXBBMQDB -BMC's BBMQVSAM record are compressed, and member ASMMNVW
EXBBMQQU has the "MNVW" Infile Exit that you install to read BMC
IMACBBMQ compressed data, but I did not test for compressed data;
VMACBBMQ now, if you try to read compressed records without having
VMXGINIT the MNVW exit installed, you'll get an MXG message that
Jan 24, 2007 tells you what to do.
-Support for 'E6'x QUEUE STATISTICS RECORD creates new
BBMQQUES dataset with 187 variables.
-Support for 'E7'x DB2 MANAGER RECORD creates new
BBMQDB2M dataset with 445 variables.
-Support for 'E8'x COUPLING FACILITY RECORD creates new
BBMQCFAC dataset with 81 variables.
-Support for 'E9'x APPLICATION STATISTICS RECORD creates
new BBMQAPPL dataset with 200 variables.
-Jan 27: corrected variables with 9-byte names.
Thanks to Stuart Wildey, Morgan Stanley, USA.
Thanks to Patrick E. Fortune, Morgan Stanley, USA.
Thanks to Jeff Sorokin, Morgan Stanley, USA.
Change 24.280 An undocumented change in MXG 24.02 corrected variable
VMACICE name VDEVNAME to VDEVFDID in dataset ICEBRGUT, and also
Jan 22, 2007 revised the text in several variable's labels.
This is an INCOMPATIBLE change, if your reports use the
old variable name. My apologies: first, for spelling it
wrong, and second for not documenting it last year!
Thanks to Yves Terweduwe, CIPAL, BELGIUM
====== Changes thru 24.279 were in MXG 24.10 dated Jan 21, 2007=========
Change 24.279 -Support for SAMS Vantage (INCOMPATIBLE) changes in their
EXSAM099 Version 6.x. The new "POOLVOLS" segment appears to have
EXSAM100 exactly the same data as the old "LSPACEPO" segment, so
EXSAM101 they are OUTPUT in the same SAMSLSPC dataset.
EXSAM102 -Support for new SAMS DTOC and eight OBJ02nnn subtypes:
EXSAM103 SAMSDT SAMSDTOC SAMS DTOC RECORD DTOC
EXSAM119 SAM099 SAMO2099 SAMS 2099 EMC SYSTEMS OBJ2099
EXSAM120 SAM100 SAMO2100 SAMS 2100 EMC CHANNEL DIRECTOR OBJ2100
EXSAM121 SAM101 SAMO2101 SAMS 2101 EMC DISK DIRECTORS OBJ2101
EXSAM122 SAM102 SAMO2102 SAMS 2102 EMC PHYSICAL DEVICES OBJ2102
EXSAM129 SAM103 SAMO2103 SAMS 2103 EMC LOGICAL VOLUMES OBJ2103
EXSAM150 SAM119 SAMO2119 SAMS 2119 IBM ESS SUBSYSTEM OBJ2225
EXSAM225 SAM120 SAMO2120 SAMS 2120 IBM ESS SSIDS OBJ2225
EXSAM227 SAM121 SAMO2121 SAMS 2121 IBM ESS LOGICAL PATHS OBJ2225
EXSAM230 SAM122 SAMO2122 SAMS 2122 IBM ESS VOLUMES OBJ2227
IMACSAMS SAM129 SAMO2129 SAMS 2129 IBM ESS RAID RANKS OBJ2227
VMACSAMS SAM150 SAMO2150 SAMS 2150 IBM ESS PPRC INFO OBJ2227
VMXGINIT SAM225 SAMO2225 SAMS 2225 EMC ALL DEVICES OBJ2227
Jan 19, 2007 SAM227 SAMO2227 SAMS 2227 EMC RDF DEVICES OBJ2227
Jan 28, 2007 SAM230 SAMO2230 SAMS 2230 EMC BCV DEVICES OBJ2230
Jan 31, 2007
Thanks to Mark Daly, CitiGroup, USA.
Change 24.278 Further ASUM70PR summarization corrections,redesign:
VMAC7072 -In PDB.ASUM70LP dataset, variables LPCTBY/LPCTOV were
VMXG70PR slightly wrong (13.087 vs 13.705) with IRD because the
Jan 22, 2007 old integer LPARCPUS value was used; now, the actual
Jan 26, 2007 average number of CPs online is calculated in the
Jan 30, 2007 LPnPREC variables from SMF70ONT/DURATM in PDB.ASUM70LP,
and LPARCPUS in PDB.TYPE70PR is unchanged, containing
the maximum number of CPs online during the interval.
It was only those variables in PDB.ASUM70LP that were
slightly wrong; their counterpart variables LPCTnBY and
LPCTnOV in the PDB.ASUM70PR dataset were just fine.
Note that you cannot use SMF70BDA as it includes the
count of CPs plus any IFAs plus ZIPs.
-Variable LPnCHG, (Nr CPUs Changed?) is now always blank.
The variable was always 'Y' for IRD, and always blank if
you didn't summarize in ASUM70PR, and with IRD there's no
need, since LPnNRPRC is the average count that interval
-CURSHARE and SYSSHARE were corrected for Dedicated CPs.
-If all your systems are on the same time zone, GMTOFFTM
is valid in the ASUM70PR-created summary datasets, and
Change 24.xxx's use of GMTOFFTM to protect setting of the
system clock ahead/behind on an active system was fine.
Even if you have systems with different GMTOFFTM values
(i.e., some systems local, some systems GMT), the system-
level PDB.ASUM70PR/PDB.ASUM70LP dataset are fine, but
that change was removed for the PDB.ASUMCEC/PDB.ASUMCELP
CEC-level summary datasets, where it created invalid and
extra observations where there were multiple values of
GMTOFFTM in a CEC. With its removal from the BY list,
those datasets are now valid; however, the actual value
in GMTOFFTM in those two datasets may or may not be the
actual GMTOFFTM of the datetimestamps, and there may not
be a way for MXG to actually know what that true GMTOFF
value is from those two datasets. If this is a problem,
please discuss with support@mxg.com, but it should be a
minor nit for only a small number of sites.
-Jan 30: CURRSHARE corrected for non-IRD managed LPArs.
Thanks to Bill McDonald, KCC, USA, for the original error, and,
for testing several iterations of this significant exposure:
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Scott Barry, SBBWorks, USA.
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 24.277 The CICS Shutdown Report ANALCISH was revised to support
ANALCISH variables dropped by MXG (MNGSYSER and MNGSYSEE), and new
Jan 18, 2007 variables MNGRR and MNGRRS were added to the MONITOR
Feb 4, 2007 report. A04VADQK moved from SUM= to MAX= and AO4SKINS
was added to the ID= statement.
-New CICLGG Logstream Global Statistics added.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 24.276 Systems with Dedicated CP engines had variables PCTONLNx
ANALRMFR (Percent Online) always missing in PDB.TYPE70, which then
VMAC7072 caused ANALRMFR CPU Activity Report to have blank values.
Jan 19, 2007 Fortunately, the other variables in PDB.TYPE70 were okay;
this is NOW the final "SPLIT70" correction, and is needed
for z/OS 1.7 and later, if you have Dedicated z/OS CPUs.
-Unrelated, accidentally observed and corrected, the CPU
Number printed by ANALRMFR on the CPU Activity Report was
often incorrect.
Thanks to Bob Keller, Safeway, USA.
Change 24.275 ERROR.MORE THAN 255 STRUCTURES was due to an archaic test
VMAC74 for 255; the arrays had been increased to 1024, but the
Jan 18, 2007 test value and error message text were not revised.
Thanks to Bill McDonald, KCC, USA.
Change 24.274 Utility for ASCII execution to read SMF data via ftp and
ASCISMFC create a local disk file of only selected SMF records.
Jan 17, 2007
Thanks to Bill McDonald, KCC, USA.
Change 24.273 Extraneous '60'x character in column 1 of line 140 caused
WEEKBLDD a syntax error, now removed.
Jan 17, 2007
Thanks to Lisa Lawver, Land's End, USA.
Change 24.272 -Enhancement to ASMRMFV RMF III adds ENC Extension feature
ASMRMFV and ASM symbolics to let users tailor the ASMRMFV default
VMACRMFV parameters were added.
Jan 18, 2007 -Enhancement to VMACRMFV to decode the ENC Extension,
which adds these new variables to the ZRBENC dataset:
ENCCNM ='SERVICE*CLASS*NAME'
ENCCDE ='SERVICE*CLASS*DESCRIPTION'
ENCCWN ='ASSOCIATED*WORKLOAD*NAME'
ENCCRN ='ASSOCIATED*RESOURCE*GROUP'
ENCCPO ='OFFSET TO*SERVICE*CLASS*PERIOD ENTRY'
ENCCPN ='NUMBER OF*SERVICE*CLASS*PERIODS'
ENCCGI ='RESOURCE*GROUP*INDEX*IN ENCRG'
ENCCWI ='WORKLOAD*INDEX*IN ENCWD'
ENCCRC ='PERIODS*WITH*RESPONSE*TIME GOAL'
ENCRNM ='REPORT*CLASS*NAME'
ENCRDE ='REPORT*CLASS*DESCRIPTION'
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.271 -Variables AVGRSPMS, DEVACTTM, and DEVIOQTM are created in
VMACRMFV RMF III dataset ZRBDVT to match IBM response metrics, and
Jan 17, 2007 variable SWPODLTM is now kept.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.270 Variable GDESDP2 was incorrectly input @11 instead of @9,
VMACQACS causing a value of 16,448 for available processors.
Jan 16, 2007
Thanks to Robert Gilbert, Fortis Bank, BELGIUM.
Change 24.269 This is the schematic of zIIP CPU time variables in the
ADOC30 TYPE30xx, JOBS, STEPS datasets. zIIP CPU time is always
Jan 16, 2007 in separate variables that are never included in the old
"CPU" variables that, then and now, contain ONLY the time
spent on "CP Engines".
CPUZIPTM /*SMF30_TIME_ON_ZIIP*/
CPUDZITM /*SMF30_DEP_ENCLAVE_TIME_ON_ZIIP*/
CPUEZITM /*SMF30_IND_ENCLAVE_TIME_ON_ZIIP*/
CPUZIETM /*SMF30_ELIGIBLE*TIME_ZIIP_ON_CP*/
CPUDZETM /*SMF30_DEP_ENCLAVE_TIME_ZIIP_ON_CP*/
CPUEZETM /*SMF30_IND_ENCLAVE_TIME_ZIIP_ON_CP*/
CPUEZQTM /*SMF30_IND_ENCLAVE_TIME_ZIIP_QUAL*/
CPUDZQTM /*SMF30_DEP_ENCLAVE_TIME_ZIIP_QUAL*/
CPU TIME ON ZIIP ENGINES CPU TIME ON CP ENGINES
"Actual" "Eligible"
|--------CPUZIPTM---------| |--------CPUZIETM---------|
|--CPUDZITM--|--CPUEZITM--| |--CPUDZETM--|--CPUEZETM--|
(DEP) (IND) (DEP) (IND)
"Qualified - Dependent Enclave"
(Sum of DEP Actual and Eligible)
|-------CPUDZQTM----------|
|--CPUDZITM--|--CPUDZETM--|
"Qualified - Independent Enclave"
(Sum of IND Actual and Eligible)
|-------CPUEZQTM----------|
|--CPUEZITM--|--CPUEZETM--|
See also MXG Technical Note 31 in Newsletter FORTY-NINE,
"zIIP CPU Time Comparisons between TYPE72GO and TYPE30_V".
Thanks to Bob Keller, Safeway, USA.
Change 24.268 Variables SMF70GIE and STARTIME were not kept as 8-bytes
VMXG70PR in ASUMCEC and ASUM70LP datasets; now, using the new
Jan 15, 2007 MINLONG= argument added to VMXGSUM, they are.
Change 24.267 New MINLONG= and MAXLONG= arguments are added to create
VMXGSUM min/max output that are 8-bytes long, like the existing
Jan 15, 2007 SUMLONG= argument.
Change 24.266 If you change macro _IMSWORK in IMACIMS, TYPEIMS7 failed,
TYPEIMS7 dataset IMS07 NOT FOUND, because _IMSWORK was not used in
Jan 14, 2007 TYPEIMS7. Now, the syntax is consistent.
Thanks to Erling Andersen, SMT Data, DENMARK.
Change 24.265 MXG 24.04-24.09. PDB.ASUMTAPE lost many observations,
ASUMTAPE only for TMNTEXIT='IBM'. Change 24.109 added incorrect
Jan 14, 2007 logic to propagate READTIME into 2nd-vol (HAVEMNT=501A)
events that are always missed by TMNT. Propagation is
now corrected, but there can ALWAYS be missing values
in many of the variables in PDB.ASUMTAPE, depending on
which events were found for this mount (which combines
TMNT Mount, Syslog Mount or Keep, SMF21 dismount events.)
An output from PROC MEANS N DATA=PDB.ASUMTAPE shows:
Variable N Implication
ZDATE 4030 Total mount event obs created
READTIME 1675 Mounts for jobs with a TMNT record
TAPMNTTM 1328 Mounts with a TMNT record
BYTES 3866 Mounts with matching TYPE21
TAPMTDTM 3615 Mounts with BEGTMNT/ENDTMNT
-If TMS9 message was first, with no prior SYSLOG MOUNT,
the TOTMNDTM duration was negative, SYLMTIME was wrong,
and there were other defects. This happens when SYSLOG
mount event was in yesterday's event for a long running
task that's writing lots of datasets (TMS9 for each one).
-When SYLMTIME is missing, EVENTIME=SYLKTIME-5 is now set
with a 5 second adjustment; SYLKTIME can be fractions of
a second later than TY21TIME, and this ensures TMNT will
be seen before SYSL in the merge.
-When TMS9 message was first, retained times were not
clearedl
Thanks to Doug Medland, IBM Canada, CANADA.
Change 24.264 Support for CMRDETL (T6E) records for Mainview for CICS
VMACMVCI Version 5.9.00 adds (COMPATIBLY) 132 new variables to the
Jan 12, 2007 CMRDETL dataset.
Change 24.263 Comments only; if you want to use VMXGGETM's arguments to
UTILGETM select SMF data, you need to invoke %VMXGGETM (... ) ;
Jan 11, 2007 as UTILGETM will not accept arguments.
Thanks to Flavio Lima, Bank of America, USA.
Change 24.262 If you want to know how many bytes of SMF data is written
Example for each of your CICS regions, by subtype, this example:
Jan 11, 2007 //SMF DD
//SYSIN DD *
%LET MACKEEP=
MACRO _KCICTRN )
CICSHDR (KEEP=APPLID MEGABYTE SUBTYPE
%
_N110
;
%LET MAC110H=
%QUOTE(MEGABYTE=LENGTH/1048576; OUTPUT CICSHDR;)
;
%INCLUDE SOURCLIB(TYPE110);
PROC FREQ DATA=CICSHDR;
TABLES APPLID*SUBTYPE;
WEIGHT MEGABYTE;
TITLE SMF 110 MEGABYTES BY SUBTYPE FOR EACH APPLID;
Thanks to Bruce Sloss, PNC, USA.
Change 24.261 Analysis of CPU variability as a function of NRCPUS for
ANALCPUV investigation of IRD impact. Reads PDB.TYPE70 to create
Jan 9, 2007 a temporary format $MGNRCPU with NRCPUS for each STARTIME
interval, uses that format to add the variable NRCPUS to
to each PDB.SMFINTRV observation, also finds each JOB's
MINCPUTM and MAXCPUTM, used to calculate each interval's
PCTOVRMN (Percent CPU TCB was above minimum recorded) and
PCTBLOMX (Percent CPU TCB was below maximum recorded).
The intent is to analyze benchmark data in which the same
job is run multiple times on a system with wide range of
IRD-controlled NRCPUS, to see if there is a measurable
impact on recorded CPU TCB time due to IRD.
It is theorized that the recorded CPU seconds should
be smaller when NRCPUS is small, and larger when the
NRCPUS is large, because of the "MP effect", partly
because the SU_SEC used to calculate service units
is NOT adjusted when IRD changes NRCPUS.
This program is ready to test that theory, and will
quantify the observed variability in CPU times, if
any is observed.
Let's discuss, before you run your benchmark.
Change 24.260 Documentation. Variable SUBMUSER was not in Dataset JOBS
DOCVER in the DOCVER documentation, because JOBS/STEPS/PRINT in
QASAS DOCVER were all from the JES3 BUILDPD3, but SUBMUSER is a
Jan 8, 2007 JES2-only variable. While I figure out how to change the
descriptions in DOCVER, where same-named datasets with
different variables are created by MXG, moving the JES3
BUILDPD3 ahead of the JES2 BUILDPDB in the QASAS QA
job will cause DOCVER to contain the descriptions of the
datasets built by the JES2 BUILDPDB.
Change 24.259 Mobius Subtype 8 record caused INPUT STATEMENT EXCEEDED
VMACIPAC error, because the final field, IPPACCES was only 4 bytes
Jan 5, 2007 while MXG expected 8. Both lengths are now protected.
This change also added support for R6.3.
Thanks to Jolene Halibry, Nationwide, USA.
Change 24.258 Product section character variables after PROPMPRE (most
VMACPROS of them!) were wrong because MXG's INPUT statement was
Jan 5, 2007 off by one byte. Some character variables with hex data
were not formatted but now are.
Thanks to John Kim, ATCO I-Tek, USA.
Change 24.257 Support for Beta 93 (Report/Print) Version 3.6.1 SMF; new
VMACBETA variables were added compatibly for tested subtypes:
Jan 4, 2007 Subtype 0: BETA0 dataset:
BETACTYP='CLEANUP*TYPE'
BETARCME='ARCHIVE*MEDIA*TYPE'
BETARETA='ARCHIVE*RETENTION*PERIOD'
Subtype 1: BETA1 dataset: no changes.
New subtypes 10, 51, and 52 are documented but will only
be supported when they are available for validation.
Thanks to Engelbert Smets, Provinzial, GERMANY.
Change 24.256 New variables added to IFCID 226 and 227 are supported.
VMAC102 Variables QW0226PN/QW0227PN are now character zeros, as
FORMATS new QW0226PG/QW0227PG variables now contain page number,
Jan 3, 2007 new QW0226FG/QW0227FG contain table space type, which is
decoded by new MGD226S format.
Thanks to Bill Schray, IBM Global Services, USA.
Thanks to Ted Blank, IBM Global Services, USA.
Change 24.255 Cosmetic, but may be useful. The MXG Messages printed on
VMACSMF the log at the end of SMF input are enhanced with elapsed
Dec 29, 2006 duration and the read rate of the input data:
*******************************************************
*** MXG 24.09 SUCCESSFULLY COMPLETED READING SMF.***
26750 LOGICAL SMF RECORDS WERE READ.
THE SMF FILE CONTAINED 325,284,835 BYTES,
WHICH IS 310MB.
MINIMUM SMF RECORD TIMESTAMP WAS 02SEP2004:09:00:00.04.
MAXIMUM SMF RECORD TIMESTAMP WAS 02SEP2004:09:34:57.14.
MXG FINISHED READING SMF FILE AT 29DEC2006:15:54:40.06.
ELAPSED TIME TO READ SMF FILE 0:00:08.69.
SMF READ RATE PER ELAPSED TIME 35MB/SEC.
*******************************************************
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.254 -Support for the rest of the Candle/IBM optional CICS data
IMACICC5 segments are added to UTILEXCL:
IMACICC6 IMACICC5 CANSUPRN SUPRA*TOTAL*REQUESTS
IMACICC7 IMACICC6 CANSUPRT SUPRA*TOTAL*DURATION
IMACICC8 IMACICC7 CANDCOMN DATACOM*TOTAL*REQUESTS
IMACICC9 IMACICC8 CANDCOMT DATACOM*TOTAL*REQUESTS
IMACICE3 IMACICC9 CANRES01 VSAM*TOTAL*REQUESTS
IMACICE4 IMACICE3 CANIDMSN IDMS*TOTAL*REQUESTS
UTILEXCL IMACICE4 CANIDMSN IDMS*TOTAL*REQUESTS
VMAC110 -Validation discovered that the CANGMTOF GMT offset was
Dec 24, 2006 never correct, but IMACICC1 is now revised to correctly
IMACICC1 decode the partial TOD stamp into the offset duration.
Dec 28, 2006
Technical Note ons tailoring CICS IMACICxx members:
When you use UTILEXCL to create IMACEXCL (RECOMMENDED!!),
you can remove Comment Blocks in ALL of your IMACICxx
members, because IMACEXCL's code only %INCLUDEs the IMACs
needed for each "DO GROUP" found in your PDB.CICSDICT.
Each execution of _BLDDICT appends new CICS dictionary
records found in SMF to the old PDB.CICSDICT dataset,
which is then read by _BLDEXCL to create the IMACEXCL
code that will read your SMF 110 CICSTRAN records.
The KEEP= list in IMACEXCL has only those variables that
exist in your PDB.CICSDICT records. Or, the KEEP= list
could have ALL of the hundreds of optional variables and
now defunct variables, if you have a old CICS dictionary
record from a test system long ago in your PDB.CICSDICT.
You may PROC DELETE DATA=PDB.CICSDICT; and create a new
IMACEXCL based only on today's CICS dictionary records.
And/or you can delete unwanted APPLIDs from PDB.CICSDICT
before you run the _BLDEXCL.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 24.253 Internal macro variable WORD4 was never set to a value,
READDB2 due to a typo.
Dec 23, 2006
Thanks to R. Narruli, DST Systems, USA.
Change 24.252 The eight-byte EXCP count in SMF33EXX that replaces the
VMAC33 four-byte SMF33EXP count is now INPUT when it exists.
Dec 23, 2006
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
====== Changes thru 24.251 were in MXG 24.09 dated Dec 20, 2006=========
Change 24.251 Protection for Mainview MQ records RTIN='26'x that didn't
VMACBBMQ contain the ISHD header segment that MXG thought would
Dec 20, 2006 always be there. Variables DURATM ENTC and GMTOFF might
be missing when there is no ISHD header segment.
Thanks to Stuart Wildey, Morgan Stanley, ENGLAND.
Change 24.250 Protection for Export date format of DDMMYY instead of
VMACMWNT expected MMDDYY requires you to set new &DATEFMT macro
VMXGINIT %LET DATEFMT=DDMMYY;
Dec 19, 2006 %INCLUDE SOURCLIB(TYPSMWNT);
if the "MWA EXPORT DD/MM/YY" text in the first record has
that format.
-The INPUT of SOFTWARE and RELEASE was revised to protect
for a Logfile name that contains blanks.
Thanks to Dominik Covens, KBC, BELGIUM.
Change 24.249 The old MACRO _DIFFHSM definition did not add _Sdddddd
VMACHSM sort macros for HSMWWFSR and HSMWWVOL datasets, probably
Dec 18, 2006 because the _Sxxxx Product Sort macro had replaced the
early "DIFF" nomenclature, and _DIFFHSM was overlooked.
Now, those two datasets are included when _DIFFHSM is
invoked, but the preferred name to use in your EXPDBOUT
member is to have a _Sxxxx statement for each VMACxxxx
that you %INCLUDed in your EXPDBINC tailoring member.
Then, MXG is responsible for any deaccumulation as well
as adding any new datasets into your PDB library as part
of your BUILDPDB job.
Thanks to Dwain Majak, B, B, and T, USA.
Change 24.248 Enhancement to the "BUILD PDB EXAMPLE", BLDSMPDB, adds
BLDSMPDB optional processing of DCOLLECT and TMS/CA-1 records into
Dec 18, 2006 the daily PDB library, so they can also then be created
Dec 20, 2006 in your weekly and monthly PDB libraries.
New argments:
DCOLLECT=DCOLLECT - read INFILE DCOLLECT output PDB
=dsname - alloc FILENAME DCOLLECT to dsname
all output to PDB
TMC =TMC - read INFILE TMC output PDB
dsname - allocates FILENAME TMC to dsname
Additionally, SMF data weekly/monthly processing can be
weekly/wtd, and monthly/mtd. Weekly/Monthly will copy
all, or only selected, datasets. Exits were added for
flexibility during weekly/monthly/trend processing.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.247 Inconsistent macro definitions for _Vdddddd, _Wdddddd:
VMACCMA -VMACCMA User SMF record now have the standard, expected
VMACQACS macro token names and definitions for the syntax for
VMACTNG "Single Infile, Multiple Datasets Per Product" data:
VMACTMO2 For each output dataset:
VMACCIMS MACRO _Vdddddd
Dec 19, 2006 KEEP= list of variables
%
MACRO _Wdddddd &Wdddddd..DATASET %
MACRO _Kdddddd %
Output all datasets for the product:
MACRO _VARXXXX
_Wdddddd
(LABEL='dddddd: description'
_Vdddddd _Kdddddd
)
....
_Wdddddd repeat for each product dataset.
%
-VMACTMO2 User SMF record updated with standard, expected
macro token names, as above for "Single Infile, Multiple
Datasets Per Product" data.
-VMACCIMS User log record updated with standard, expected
macro token names, as above for "Single Infile, Multiple
Datasets Per Product" data.
-VMACTNG macro _NTNG had incorrect syntax, with the text
"MACRO" missing from each statement; it would have failed
if it had been used!
-But even though they are inconsistent naming conventions
now, the VMACQACS AS/400 macro names _VQAPxxx _CQAPxxx
cannot be changed without serious exposure to existing,
fine running jobs. For the record, for these datasets
from "MULTIPLE INFILES, ONE OUTPUT PER INFILE" data:
For each output dataset:
MACRO _TQAPxxx
DATA
_VQAPxxx
_CQAPxxx
%
MACRO _WQAPddd &Wdddddd..DATASET %
MACRO _Kdddddd %
Where the _VQAPxxx was already defined as:
MACRO _VQAPxxx
_Wdddddd
(LABEL='QAPxxx: description'
KEEP= list of variables
)
%
So your tailoring syntax is slightly different here, but
that's the lesser of causing production job failures!
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 24.246 REGION=0M added to MXGSASV9/MXGSASV8 JCL PROC examples to
MXGSASV8 protect sites that did not specify a REGION on their JOB
MXGSASV9 card. (The MXG JCL examples do show REGION=0M on JOB.)
Dec 15, 2006 -When REGION=0M is specified on the JOB JCL statement, the
job gets your installation default REGION=0M size, often
100MB-300MB, which is quite sufficient for most MXG jobs,
for every step in the job.
-With REGION=xxxM value specified on the JOB card, all of
the steps get that xxxM REGION size, even if there is a
larger or smaller REGION= value on a STEP card.
-If the JOB does not have a REGION= parameter, the job and
each step gets a different default region, of only about
40MB (9MB Private Area + 32MB Above the Line).
While much of MXG 24.08 does run in a 40MB REGION,
(including the JCLINSTL job that successfully created
the MXG Format Library), the BUILDPDB job failed when
run in only 40MB, with SAS FORMAT NOT FOUND errors
(but each individual formats was there and usable by
itself). The 40MB wasn't enough region for the
"BUILDPDB big DATA step", which allocates virtual
storage for all of the output buffers for all of the
datasets to be created, and then loads all referenced
formats into virtual storage.
-The default BUILDPDB needs a 64MB REGION, generally, but
may need 100MB+, if you have tailored your BUILDPDB to
process additional SMF records.
Thanks to Donald Likens, Combined Insurance, USA.
Change 24.245 DVTG3 table had new fields added in 1.7 and 1.8 that are
VMACRMFV now kept:
Dec 18, 2006 CMRTM Command*Response*TIME
DVTCUQTP Control Unit Queueing Time Previous
DVTCUQTN Accum CU Wait for non-FICON devices
DVTCUQTF Accum CU Wait for FICON devices.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.244 New PDB.ASUMDB2G summary dataset for DB2 Global Buffers
ASUMDB2G is created from PDB.DB2ACCTG dataset by ASUMDB2G member.
VMXGINIT
Dec 13, 2006
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA
Change 24.243 The test for which DB2ACCT observations are counted as
ASUMDB2A NORMAL was revised to include QWACRINV=4 thru 16 and 40
Dec 12, 2006 as NORMAL and all other QWACRINV values as ABNORMAL, to
be consistent with the formatted values of QWACRINV in
the MGDB2RC format.
Thanks to Nigel D. Greenwood, EDS, ENGLAND.
Change 24.242 Revisions to force TEMPxx macro variable explicitly to a
VMXGINIT value of WORK, and revised setting of SASSWORK, etc., for
VMXGSUM anticipated SAS/ITRM changes to support SAS V9 BI.
Dec 12, 2006
Change 24.241 Keyword parameter WORK73 was accidentally typo/deleted in
VMXGRMFI the macro definition, causing an error only if there were
Dec 11, 2006 73 or more workload's defined.
Thanks to Clayton Buck, UniGroup, USA.
Change 24.240 -All durations were 1000 times too large; I assumed the
VMACSYSI times were in 256*milliseconds, like most prior IMS data,
Dec 7, 2006 but data and documentation show they are 256*microsecs,
so all &PIB.4.3 informats were changed to &PIB.4.6.
Thanks to Betra Reeves, Infocrossing, USA.
Thanks to Joel Medberry, Infocrossing, USA.
Change 24.239 MACRO _ROSCDDN has not been used since the &Pdddddd and
VMACROSC &Wdddddd macro variables were defined, but comments in
Dec 6, 2006 IMACROSC and VMACROSC were still present/confusing.
To send all of the ROSCOE datasets to the //PDB DD, use
%INCLUDE SOURCLIB(TYPSROSC) which will sort, remove any
duplicates, and output them to //PDB.
Thanks to Lori Martin, Lockheed Martin, USA.
Change 24.238 RMF III variables ENCTCPUT and ENCCPUT are in millisecs
VMACRMFV in the RMF III record, but are not documented as such.
Dec 5, 2006 They are now corrected in their INPUT, and I have also
made the assumption that these IFA time variables in the
same segment are also in millisecs in the record, and are
also corrected in their INPUT informat.
ENCTIFAT ENCTIFCT ENCIFAT ENCIFCT
Thanks to Brenda Rabinowitz, Merrill Lynch, USA.
Change 24.237 Label for NRZIPCPU and NRIFAS in PDB.RMFINTRV had text of
VMXGRMFI "IN THE BOX", but as RMFINTRV is a PER-SYSTEM dataset,
Dec 1, 2006 the label is changed to "FOR THIS SYSTEM'.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 24.236 Reserved Change.
EXITCICS
VMACSMF
Nov 30, 2006
Change 24.235 EJBCRECT was input twice, the second time where EJBREMCT
UTILEXCL was located, so EJBCRECT was wrong and EJBREMCT did not
Nov 30, 2006 exist when UTILEXCL was used to process CICS data.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 24.234 If you specified %LET MACKEEP ahead of UTILBLDP, it may
UTILBLDP be ignored if you are also adding records in a BUILDPDB
Nov 21, 2006 process. This change puts your MACKEEP values inside of
the MACKEEP being generated by UTILBLDP. Note however
the error message that your use of MACKEEP here may
defeat something UTILBLDP is trying to do so use it with
caution.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 24.233 MXGERROR: More than 70 200 Byte Strings is circumvented
VMXGSUM by increasing the MXG default to 99 200 byte strings for
Nov 21, 2006 the variable lists (SUM=, etc.) that VMXGSUM must parse.
Using the full line for your variables, up to 72 bytes,
will maximize the number of variables that will fit in
the 99*200=19800 bytes for each argument, enough for 2200
variables with 8-byte names.
Change 24.232 The last field in subtype 2, ACTRREPQ is only 45 bytes,
VMACENTX not the 48 bytes documented by the vendor.
Nov 20, 2006
Thanks to Chris Taylor, GMAC Insurance, USA.
Change 24.231 Label for variables SOV2WMNT was corrected to read:
VMACHPDM SOV2WMNT='ACCUM*DELAY*WAITING*FOR MOUNT'
Nov 18, 2006
Thanks to Tom Elbert, Assurant, USA.
Change 24.230 SAS procedures BLKCOPY & FCOPY (used during Installation
FORMATS and Service Pack Updates, and MIGRATE are now recognized
Nov 14, 2006 by the $MGSASPR format. Even though the official SAS doc
(only found deep in the SAS Support site) says you cannot
use PROC MIGRATE from SAS 6.09E to SAS 9, that particular
conversion IS supported, but only under SAS on z/OS.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 24.229 The program worked fine if output to //WORK was used, but
TYPEIMS7 if you used either of the examples in the comments, to
Nov 9, 2006 send either IMS0708 or IMSSUMRY to the //IMSTRAN ddname,
that failed with ERROR 455-185 DATA SET WAS NOT SPECIFIED
ON DATA STATEMENT.
Thanks to Denise L. Jeffers, CIGNA, USA.
Change 24.228 Support for HyperPAV APAR OA12865.
VMAC74 -TYPE74 dataset: New variables created:
VMAC78 HYPERPAV='HYPERPAV*BASE*DEVICE?'
Nov 11, 2006 SMF74HPC='HYPERPAV*ALIASES*CONFIGURED*THIS LSS'
SMF74PSM='SUCCESSFUL*PAV*SAMPLE*COUNTS'
Variable SMF74TMS is deleted, as it never existed and was
input by MXG in error.
-TYPE78CU dataset: New variables added for each LCUID:
R783HCU ='HYPERPAV CU IDENTIFIER'
R783HNAI='TIMES I/O NO START*NO HYPERPAV*AVAILABLE'
R783HTIO='HYPERPAV I/O*REQUESTS*FOR THE LSS'
R783HAIU='HWM*IN-USE*HYPERPAV*ALIASES'
R783HCAD='HWM*ALIASES*IN USE*ONE BASE'
R783HIOQ='HWM*OF IO-S QUEUED'
Variable PCTALLBY set missing, per Change 19.203, instead
of generating a missing value note for each TYPE78CU obs.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 24.227 Optional ESS GPARMKEY='4A'x caused INPUT STATEMENT
IMAC6ESS EXCEEDED LENGTH error if there were more than one
VMAC6 addressee. MXG now keeps four (ESSMACC1-ESSMACC4)
Nov 7, 2006 and alerts you if there were more, with a note.
Nov 8, 2006 -Support for ESS GPARMKEY='4C'x creates ESSMFROM variable
Nov 9, 2006 and for ESS GEPARMKY='42'x creates ESSOFSYF variable.
-Support for ESS GEPARMKY='2023'x creates ESSOUTBN.
-Length of DEPT, TITLE, BUILDING increased to $60.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Change 24.226 Variable QWACWLME, Service Class Name, is now kept in the
VMACDB2 PDB.DB2ACCTP dataset for analysis. Note that APAR PK37312
Nov 7, 2006 corrects blank value in QWACWLME after zIIP maintenance.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.225 LPARs with no current share (no current weight points)
VMAC7072 had LPARSHAR=0 in PDB.TYPE70. Those LPARs are treated
Nov 7, 2006 now as Current Share = Initial Share.
Thanks to Rudolf Sauer, T-Systems Enterprise Services GmbH, GERMANY.
Change 24.224 Setting the Clock Back an hour, without quiescing for an
VMAC7072 hour, produces duplicate values of STARTIME in all RMF
VMXG70PR datasets, plus negative execution/elapsed/durations/etc
Nov 7, 2006 in many other records, and in many cases it is impossible
Nov 17, 2006 to even recognize the duplication/overlap.
However, for the 70 and 72 records, adding GMTOFFTM to BY
lists, after SMF70GIE, and to the KEEP= lists, appears to
prevent the duplicate STARTIME values from being summed
(which caused doubling of the values of PARTNCPU and
CPCMUS, among other errors), although duplicates will
still exist in these datasets.
Nov 17: Typo, APPCLAX in KEEP= in VMAC7072 should have
been APPCMAX, which caused APPCMAX to be not kept.
Jan 21: See Change 24.
Thanks to Rudolf Sauer, T-Systems Enterprise Services GmbH, GERMANY.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 24.223 Total Virtual Storage Above the Bar was captured in the
VMAC78 VSDGxxxx variables in TYPE78VS dataset, but the Shared
Nov 7, 2006 bytes were not INPUT. And because IBM reused the VSDG
Dec 19, 2006 prefix for both sets of variables, this change changes
the variables VSDGxxxx to TOBYxxxx for the Total Byte
fields, and now creates SHBYxxxx variables for Shared
byte fields above the bar.
Dec 19: Corrected long line for R783HNAI input.
Thanks to Ralph C. Baechle, John Deere, USA.
Change 24.222 CICS Statistics variables DSGEJST and DSGSRBT were INPUT,
VMAC110 and correctly calculated/formatted, but were not KEPT in
Oct 24, 2006 the CICDS dataset.
Thanks to Helmut Rose, Com-Software, GERMANY.
Change 24.221 -Support for changed field lengths in SAR/EXD SMF type 6
IMACEXD optional data.
Oct 24, 2006
Thanks to Joe Kimberly, Kansas City Southern, USA.
Change 24.220 -Support for NTSMF OBJECT='DATABASE ==> INSTANCES creates
EXNTDATI new DATABASI dataset; previously, those objects were
IMACNTSM output into the DATABASE dataset, which caused nearly-
VMACNTSM duplicate observations.
VMXGINIT -Support for DATABASE object with NRDATA=191.
Oct 25, 2006
Thanks to Paul Billick, Harleysville Insurance, USA.
Change 24.219 The optional ARZGS GSACCT segment for CICS can have any
UTILEXCL length; MXG's INPUT statement expected 8, which caused
Oct 21, 2006 errors when the real length was 12. Now, UTILEXCL prints
the CMODLENG and a message to compare your actual length
with MXG's, and to change IMACICU2 if needed.
Thanks to Richard Hilber, Allgemeines Rechenzentrum GmbH, AUSTRIA.
Thanks to Peter Gschirr, Allgemeines Rechenzentrum GmbH, AUSTRIA.
Change 24.218 Support for NTSM Beta Version 3.0.0.8 (COMPATIBLE), adds
VMACNTSM SUMRYINT and ORGANIZN to NTCONFIG dataset.
Oct 18, 2006
Change 24.217 If you want to process on the CICSTRAN data to create the
ASUMUOW PDB.ASUMUOW dataset without reading DB2ACCT, when there
Oct 18, 2006 are observations in DB2ACCT, you can use
%INCLUDE SOURCLIB(BUILDPDB);RUN;
%LET MACKEEP=
MACRO _NOOBS % MACRO _YESOBS % ;
MACRO _LDB2ACC WORK.DB2ACCT %
;
%INCLUDE SOURCLIB(ASUMUOW);
and MXG will use only CICSTRAN as input to PDB.ASUMUOW.
Thank to Christian Hodel, SwissCom, SWITZERLAND.
====== Changes thru 24.216 were in MXG 24.08 dated Oct 18, 2006=========
Change 24.216 Using SUPPRESS with TYPETMNT failed; logic in UTILBLDP
UTILBLDP didn't protect non-standard-named-tokens, now corrected.
Oct 18, 2006
Thank to Robbie A. McCoy, Salt River Project, USA.
Change 24.215 Incorrect values for ICMP Statistics variables TSICDUTM
VMAC119 thru TSICOUAR, because -3 was incorrectly subtracted
Oct 18, 2006 twice from OFF11905 when subtype 6 logic was added.
Thank to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
====== Changes thru 24.214 were in MXG 24.08 dated Oct 17, 2006=========
Change 24.214 Processing z/OS 1.6 with SPG processing enabled failed
ASMRMFV with an 0C4, as there were no SPG records in z/OS 1.6.
Oct 16, 2006 Correction bypasses SPG for old versions.
Thank to Betty Wong, Bank of America, USA.
Change 24.213 Variable MCDFBID is now formatted HEX8. vice HEX4.; the
VMXGHSM field was INPUT as PIB4.
Oct 16, 2006
Thank to Sam Bass, McLane Company, USA.
Change 24.212 Support for NetSpy Version 11 was added in August, 2005,
VMACNSPY when test data validated that records were unchanged.
Oct 16, 2006
Thank to Brian Conway, IBM Global Services, CANADA.
Change 24.211 INVALID DATA messages for SCBGN, SYSIUL, SYSCIU because
VMACQACS MXG had &NUM vice &PD, and incorrect lengths for those
Oct 15, 2006 QAPMSYST variables.
Thanks to Jim Wertenberger, Antares Solutions, USA.
Change 24.210 Support for SMF 99 Resource Group section now creates new
EXTY99RG TYPE99RG dataset.
IMAC99
VMAC99
VMXGINIT
Oct 13, 2006
Thanks to Claude Breault, Centre de Services Partages Quebec, CANADA.
Change 24.209 Syntax error corrected; the previous circumvention to run
UTILBLDP as a two step process should no longer be required with
Oct 13, 2006 the Oct 17th edition.
Oct 17, 2006
Thanks to Ralph Gifford, AIG, USA.
Thanks to Bruce Whittington, TIAA-CREF,USA.
Change 24.208 LPAR share variables were destroyed by Dedicated CPUs;
VMAC7072 the test was expanded for their calculation to bypass:
Oct 13, 2006 IF SMF70CIN='CP' AND LCPUSHAR NE 0FFFFX THEN DO;
These variables were impacted if you have Dedicateds:
TOTSHARE TOTSHARC LPARNSW LPARSHAR LPARSHAC
Thanks to Rudolf Sauer, T-Systems Enterprise Services GmbH, GERMANY.
Change 24.207 TYPE72GO CPUTCBTM (and hence CPUTM) will incorrectly have
VMAC7072 included the zAAP CPU time, if zIIP APAR OA13499 was put
Oct 13, 2006 on, but you did not also install the z/OS web-deliverable
FMID JBB722S (or JBB66S9) for that zIIP APAR. The APAR
extended the segment to 576 bytes, adding zIIP fields,
but also two new IFA Service Units in R723CIFA,R723CIFC.
The two IFA fields are created by the APAR, but with only
the APAR installed, they are always zero. IBM says this
is working as designed, that I should only use the new
fields if they are non-zero. Unfortunately, IBM did not
document that "design" feature in the SMF manual!
Prior to the INPUT of R723CIFA/CIFC, MXG created IFAUNITS
from the CPUIFATM, but then the zero in R723CIFA was put
in IFAUNITS, so those service units were not subtracted
from the raw CPUUNITS, causing CPUTCBTM/CPUTM to include
CPUIFATM. This condition can be detected in your data,
and/or corrected in PDB.TYPE72GO with this test/logic:
DATA TYPE72GO;
SET PDB.TYPE72GO;
IF IFAUNITS=0 AND CPUIFATM GT 0 THEN DO;
NFOUND+1;
IF NFOUND=1 PUT 'INCLUDED ZAAP TIME WAS FOUND';
CPUTCBTM=CPUTCBTM-CPUIFATM;
CPUTM=CPUTM-CPUIFATM;
END;
Jan 18: This change in MXG 24.08 was a CRITICAL CHANGE,
and was the final change to the SPLIT70 redesign. For one
site, it corrected negative CPUOVHTM in PDB.RMFINTRV and
the associated error messages RMFINTRV was created that
could occur with MXG 23.23 thru MXG 24.07.
Thanks to Tom Draeger, Aurora, USA.
Thanks to Heimir Hauksson, Barclays Bank, UK.
Change 24.206 Support for NTSMF Version 3.0.0.7 adds two new objects:
EXNTDTBU NTDTBU DTSBUFFU NT DTS.BUFFER USAGE
EXNTDTPL NTDTPL DTSPERFL NT DTS.PERFORMANCE LIBRARY
IMACNTSM
VMACNTSM
VMXGINIT
Oct 11, 2006
Change 24.205 Support for DATABASE ==> INSTANCES object with NRDAT=152.
VMACNTSM Two new variables created in NTSMF dataset DATABASE:
Oct 11, 2006 LOGCKPDP='LOG*GENERATION*CHECKPOINT*DEPTH'
SBPRDRT ='STREAMING*BACKUP*PAGES*READ PERSEC'
Thanks to Paul Billick, Harleysville Insurance, USA.
Change 24.204 Support for IMPLEX Version 4.10 (INCOMPATIBLE, fields are
EXMPLXAR expanded and new ones were inserted), with new variables
IMACMPLX and new IMPLEXAR dataset for the subtype 8 Alert Record.
VMACMPLX Sorts were updated to ensure duplicates are removed.
VMXGINIT
Oct 11, 2006
Change 24.203 If the number of workloads requested to be graphed in the
GRAFWRKX sample program exceeded 20, the program failed, and the
Oct 9, 2006 values for 21,31,41,51,61,71,81, and 91 were not defined.
Change 24.202 -New macro variable &SMFEXIT is added in VMACSMF to each
VMXGINIT statement INFILE &SMF &SMFEXIT .... in preparation for
VMACSMF MXG support for compressed SMF records. Soon, &SMFEXIT
Oct 7, 2006 will name the to-be-provided "INFILE EXIT" that will
Jan 28, 2007 decompress SMF records "on the fly". &SMFEXIT defaults
to blank in VMXGINIT. Stay tuned for a later change.
Note, however, SAS Infile Exits only exist under z/OS.
-While intended for a different purpose, this new macro
variable, since it is inside the MXG INFILE statement,
can be used also to pass INFILE options. In particular,
you can limit the observations that will be READ from the
SMF file, using
%LET SMFEXIT FIRSTOBS=nnn OBS=mmm;
%INCLUDE SOURCLIB(....);
This is very useful for MXG members that have to invoke
PROC SORTs to deaccumulate (like TYPEDB2,TYPEVMXA, etc),
because you can NOT use an OPTIONS FIRSTOBS=mmm OBS=nnn
global statement with those code members; the global will
restrict the INFILE processing, but they then need to be
reset to FIRSTOBS=1 and OBS=MAX prior to the SORTs, and
there is not simple way to do that for these members.
But now, you can use the preceding example to restrict
the INFILE but not the subsequent PROC SORTs.
Change 24.201 Support for E-Thales Security product's five user SMF
EXTHALCD records (poor choice: they should have created a single
EXTHALEX SMF record and used five subtypes!) creates these seven
EXTHALHS datasets:
EXTHALSA DDDDDD MXG MXG
EXTHALSD DATASET DATASET DATASET
EXTHALSN SUFFIX NAME LABEL
EXTHALVI
IMACTHAL THALCD THALCDS CDS PARAMETER RECORD
TYPETHAL THALHS THALHSMD HSMD ENTRY IN CDS RECORD
TYPSTHAL THALEX THALEXCE DETAIL EXCEPTION RECORD
VMACTHAL THALVI THALVIOL SECURITY VIOLATION RECORD
VMXGINIT THALSA THALSUMA APPL IN SUMMARY RECORD
Oct 5, 2006 THALSD THALSUMD DEVICE IN SUMMARY RECORD
THALSN THALSNAP SRM SNAPSHOT RECORD
Thanks to ??? , Public Bank, MALAYASIA
Thanks to Patrick Yap Chee Keong, SAS Institute, MALAYASIA
Change 24.200 Support for SMF 82 Subtype 22 (TRUSTED BLOCK CREATE CALL)
EXTY8222 creates TYPE8222 dataset.
IMAC82 Variable SMF82SXT in Subtype 21 is now input as numeric
VMAC82 numeric variable, and FORMATed DATETIME21.2, as the
VMXGINIT time value is TODSTAMP and not the documented $CHAR8.
Oct 10, 2006
Thanks to Greg Burt, 5th3rd Bank, USA.
Change 24.199 -Support for ThruPut Manager Version 6 adds new variables
VMACTPMX for IBM/STK/VTAPE/COPYCROSS virtual tape usage, and new
Oct 5, 2006 "Drive Booking Services":
CAC7IDID CA7INALI JXDBSPR JXDBSUU JXDBSWG JXSERVIC
JXIMPORT VOLVIBM VOLVIBMR VOLVIBMN VOLVSTK VOLVSTKR
VOLVSTKN VOLVVTS VOLVVTSI VOLVVTSN VOLVCPC VOLVCPCO
VOLVCPCM
-Change 24.147 incorrectly inserted NOT in the test for
JBAFF; that NOT is removed, that change text updated.
If the two formats in your IMACTPMX do not correctly
map your SYSPLEX and SYSTEMs, that will cause JBAFF to
be blank, but the original MXG logic is correct.
Thanks to Scott Barry, SBBWorks, Inc.
Change 24.198 Variable INTETIME (Interval End) in TYPE30_6 was wrong
VMAC30 if GMT offset was non-zero; the subtype 6 doesn't contain
Oct 4, 2006 SMF30IST, which was used to calculate GMTOFF30. Now, that
is calculated as GMTOFF30=SMFTIME-INTETIME for subtype 6.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Thanks to Michel Denervaud, UBS, SWITZERLAND.
Change 24.197 Variables DCVDVTYP DCVDPTYP from the VOLS record are now
VMACDCOL kept in both DCOLDSET and DCOLCLUS datasets, so the type
Oct 3, 2006 of device is known. For example,
DCVDVTYP='3390' DCVDPTYP='33909'
DCVDVTYP='3390' DCVDPTYP='2105'
Thanks to Brian Harvey, Blue Cross Blue Shield of Illinois, USA.
Change 24.196 TYPE1415 INPUT STATEMENT EXCEEDED RECORD with z/OS 1.7
VMAC1415 plus ptf's, or with z/OS 1.8 due to MXG coding error that
Oct 3, 2006 was introduced in Change 24.094 for new PDSE Cache Stats.
Dec 5, 2006 SKIP=SKIP-32; is required in place of the SKIP=SKIP-16
added by Change 24.094 (in MXG 24.04).
Thanks to Diane Eppestine, AT&T Services, Inc, USA
Thanks to Frank Debree, Dexia, BELGIUM.
Change 24.195 Variables QW0143UR and QW0144UR printed funny values.
VMAC102 They are now FORMATted $HEX12. and input as $CHAR6.
Oct 2, 2006 instead of $EBCDIC6. (required for ASCII execution, makes
no difference when executing MXG on z/OS), like the other
QW0nnnUR Unit Recovery Token variables.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 24.194 -CPUTM and QWSnXXXX variables in PDB.DB2STATS Statistics
VMACDB2 dataset was wrong, with large positive or negative values
Sep 29, 2006 due to incorrect login in MXG code.
Oct 10, 2006 -New QWSnZSRB variable, Preemptable SRB Time on zIIP is
now created and kept in the PDB.DB2STATS dataset.
-ADOCDB2 CPU variables were updated to indicate whether or
not they contained zIIP CPU time.
-Variable QWHUCPU is now kept in DB2ACCT.
-zIIP variables QW0231ZI and QW0231ZE for IFCID 231 are
now created and kept in T102S231.
Thanks to Jim Robson, HighMark, USA.
Thanks to John Paul, HighMark, USA.
Change 24.193 Support for 3592 Tape Devices (no change); they have the
VMAC30 same DEVTYPE as the 3590s, so usage will automatically
Sep 27, 2006 be stored in the xxxx3590 variables.
Change 24.192 Using %READDB2, you could not override the output DDNAME
READDB2 using %LET PDB2ACC=DB2ACCT; %READDB2(WANTONLY=ACCOUNT);
Sep 27, 2006 to create observations only in DB2ACCT.DB2ACCT. Now, if
PDBOUT= argument is null, the original _Ldddddd defs will
be used, so the %LETs can be used to changed output DD.
NOTE BENE: CHANGE 25.189 REVISED PDBOUT= options, and
THIS CHANGE IS NO LONGER CORRECT. SEE PDBOUT= option in
the READDB2 or ANALRMFR member for revised impacts.
NOW, if PDBOUT=, (the default) was specified, ALL output
datasets will be written to //WORK DD. PDBOUT=YES is now
required if you want your user tailoring honored.
Change 24.191 Support for HP MeasureWare for Windows/NT for Collector
EXMWNTAP Versions C.03.65.00 and C.04.50.00. C.04 has additional
EXMWNTCO variables that will be missing with C.03 data records.
EXMWNTDS These datasets are created:
EXMWNTGL DDDDDD DATASET DATASET
EXMWNTLA SUFFIX NAME LABEL
EXMWNTPR MWNTAP MWNTAPPL HPMWA MWNT APPL RESOURCES
EXMWNTTT MWNTCO MWNTCONF HPMWA MWNT CONFIGURATION
EXMWNTVL MWNTDS MWNTDSK HPMWA MWNT DSK ACTVTY FRM DIS
IMACMWNT MWNTGL MWNTGLOB HPMWA MWNT GLOBAL ACTIVITY
TYPEMWNT MWNTLA MWNTLANS HPMWA MWNT LANS
TYPSMWNT MWNTPR MWNTPROC HPMWA MWNT PROCESS RESOURCES
VMACMWNT MWNTTT MWNTTRAN HPMWA MWNT TRANSACTION TRACKER
VMXGINIT MWNTVL MWNTVOLS HPMWA MWNT VOLUME ACTIVITY
Oct 2, 2006
Thanks to Bobby Greer, Automobile Association of Michigan, USA.
Thanks to Dominik Covens, KBC Bankverzekeringsholding, BELGIUM
Change 24.190 Executing the output of %UTILBLDP as a separate step, if
UTILBLDP you specified both BUILDPDB=YES and EXPDBOUT= text that
Sep 25, 2006 had a %INCLUDE, caused an error deep inside SAS, either
a syntax error, or expression exceeded 64000 bytes error.
If you use %UTILBLDP this way in the two-step process,
then you must add this statement at the first //SYSIN
in the saved output that will be executed:
%LET BLDPOUT= xxxxxx ;
where xxxxx is the text in the EXPDBOUT= argument.
Thanks to Robert Carballo, Office Depot, USA.
Change 24.189 The options NOOPD and NOSPG did not suppress the OPD/SPG
ASMRMFV records, causing OPD or SPG records to be output when you
Sep 25, 2006 had intended to not write them. And, the NOCSR flag was
incorrectly set when NOSPG was specified.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.188 Support for new TNG object from NT and SOLARIS platforms:
EXTNT131 dddddd Dataset Description
EXTSO029 TNT131 NT131 SLM METRICS
IMACTNG TSO029 SO029 CA PROCESS GROUP
VMACTNG and additional variables in AI019, AI022, AI024, and the
VMXGINIT NT035 datasets, and labels were corrected.
Sep 26, 2006
Thanks to Michael Kynch, International Paper, USA.
Change 24.187 ASUM70PR with INTERVAL=HOUR (or any duration) can create
VMXG70PR observations with incorrect DURATM (50 vice 60 minutes,
Sep 23, 2006 which then caused PCTCPUBY and PCTOVHD to be too large),
Oct 8, 2006 because MXG's heuristic test IF FIRST.DURATM to recognize
a new group to store SYSDUR failed when adjacent DURATMs
happened to be identical. That test is enhanced to also
recognize a group when the new LCPUADDR is less than the
old LCPUADDR, a far more robust criteria. This error can
NOT occur with the defauit INTERVAL=DURSET in ASUM70PR,
which does not summarize by time, so this error can occur
only if you have a tailored ASUM70PR member. Five out of
twenty-four intervals were wrong in one day's data, but
only those three variables were wrong; all of the other
data were correct.
-Oct 8: Notes about uninit OLDSTART, OLD70GIE eliminated.
Thanks to Scott Weiner, WPS Insurance Corporation, USA.
====== Changes thru 24.186 were in MXG 24.07 dated Sep 22, 2006=========
Change 24.186 Support for zIIP variables in PDB.RMFINTRV dataset; I had
VMXGRMFI overlooked this addition. MXG 24.07 was redated with the
Sep 17, 2006 change so all of the "mainstream" MXG datasets now have
the additional sets of ZIP/ZIE variables.
Thanks to Jonathan M. Miller5, JohnDeere, USA.
====== Changes thru 24.185 were in MXG 24.07 dated Sep 21, 2006=========
Change 24.185 Support for DMF Product that creates SMF 110 records with
VMAC110 SMFPSRVR=41.1, i.e., CICS/ESA 4.1.1 (from 1994). While
Sep 17, 2006 MXG supported 4.1.0 and 5.1.0, there never was an MXG
site with 41.1, and it may be their creation, as it has a
seventh TCB, while 5.1.0 only had six.
Thanks to Vernon Stanton, Government of South Australia, AUSTRALIA.
Change 24.184 -Variables ORIGWAIT in PDB.TYPE70PR was not populated for
VMAC7072 IFAs and ZIPs, but it is needed so that both the "CPU"
Sep 17, 2006 busy (LCPUPDTM-based) and the "MVS" busy (ORIGWAIT-based)
can be calculated for analysis of logical ready queues.
Now, in the observations with PARTISHN=LPARNUM ("this"),
ORIGWAIT will be populated for SMF70CIN='IFA' or 'IIP'.
-PDB.TYPE70 existing variables PCTIFBYx and PCTZIBYx are
the "MVS" percentages, but MXG did not create the "CPU"
(LCPUPDTM-based) percentage for IFAs nor ZIPs. Now, new
PCTCIBYx variables are created with the "CPU"/"Logical"
percentages, for the IFA or ZIPs, and variable IFATYPx
identifies if the CPU is an IFA or a ZIP. This permits
the analysis of Logical Ready Queuing for IFAs and ZIPs,
as well as for CPs.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 24.183 Variables Q3STHWIB, Q3STHWIF, and Q3STHWCT are high water
VMACDB2 mark values and should not have been de-accumulated.
Sep 16, 2006 Oct 5: Also, variable QDSTMIN2.
Oct 5, 2006
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Ralph Baechle, John Deere, USA.
Change 24.182 -NDMCPUTM (created from the text string CPUTIME=) had a
VMACNDM few small negatives, because the BY list was insufficient
Sep 12, 2006 to force the correct order for de-accumulation.
Sep 13, 2006 The time sequence within NDMPRCNO was different when
Sep 14, 2006 sorted by NDMTIME vs SMFTIME; each created a different
group of observations with negative NDMCPUTM. Using
the raw NDMCPUTM value in place of time of day appears
of have corrected the negative values; but check your
own data to be sure.
-Change 24.144 created new variable NDMCPU when the DSECT
showed a four-byte "CPU TIMEUSED" field added in NDM 4.3,
but it took us several iterations to INPUT the field from
the right place with the (undocumented) correct decimal,
in part because with NDM 4.5, the first-bit of NZMZFMT is
off, indicating an 8-byte UID, but the record has the
64-byte Expanded UID. I assume it is always present in
the current versions, so MXG now always INPUTs 64-bytes.
And one site's network group validated the MXG NDMCPU
value, so the NDMCPU variable may be valid. Sterling
says the field was populated in Version 4.4.
Thanks to Rodger Foreman, Acxiom, USA.
Thanks to David Kaplan, Depository Trust & Clearing Corporation, USA.
Thanks to Rob Hollingum, HSBC, ENGLAND.
Change 24.181 -Support for OPDG3 and SPGG3 RMF III segments required
ASMRMFV updates to ASMRMFV and revision to MXG code to create:
EXZRBOPD ddddd Dataset Descriptino0
EXZRBSPG ZRBSPG ZRBSPG RMFIII STORAGE GROUP AND VOLUME DATA
IMACRMFV ZRBOPD ZRBOPD RMFIII OMVS PROCESS DATA TABLE
VMACRMFV -Support for zIIP data added to ASIG3 segment:
VMXGINIT ASIMCDLY='MULTI STATE*PROCESSOR*DELAY*PCT'
Sep 12, 2006 ASIMCUSE='MULTI STATE*PROCESSOR*USING*PCT'
Sep 16, 2006 ASIPHTZA='PREEMPTABLE*SRB*FOR ZAAPS'
Sep 19, 2006 ASIPHTZI='PREEMPTABLE*SRB*FOR ZIIPS'
ASISDCCP='PCT*DELAYED*BY CP*PROCESSOR'
ASISDCSP='PCT SINGLE STATE*SAMPLES*DELAYED*BY ZIIP'
ASISUCCP='PCT SINGLE STATE*SAMPLES*USING*CP'
ASISUCSC='PCT SINGLE STATE*SAMPLES*USING*ZIIP*ON CP'
ASISUCSP='PCT SINGLE STATE*SAMPLES*USING*ZIIP'
ASITIIP ='ACCUMULATED*ZIIP*TIME'
ASITIIPC='ACCUMULATED*ZIIP*ON CP*TIME'
-Support for new zIIP/zAAP data in RCDG3 segment:
RCDHST ='HIPERSPACE*CPU*TIME'
RCDIFACP='ZAAP*SERVICE*UNITS*ON CP'
RCDIFASU='ZAAP*SERVICE*UNITS'
RCDIFAT ='ZAAP*SERVICE*TIME'
RCDIFCT ='ZAAP*SERVICE*TIME*ON CP'
RCDIIT ='IO*INTERRUPT*CPU*TIME'
RCDRCT ='REGION*CONTRAL*TASK*CPU*TIME'
RCDSUPCP='ZIIP*SERVICE*UNITS*ON CP'
RCDSUPSU='ZIIP*SERVICE*UNITS'
-Support for new zIIP/zAAP data in CPUG3 segment:
CPUIFCOL='ACCUM*ONLINE*ZAAPS'
CPUIFCON='ZAAPS*ONLINE*AT END'
CPULOGIF='ZAAP*LOGICAL*CPU*TIME'
CPULOGZI='ZIIP*LOGICAL*CPU*TIME'
CPUONTIF='ACCUM*ZAAP*ONLINE*TIME'
CPUONTZI='ACCUM*ZIIP*ONLINE*TIME'
CPUPHYIF='ZAAP*PHYSICAL*CPU*TIME'
CPUPHYZI='ZIIP*PHYSICAL*CPU*TIME'
CPUZICOL='ACCUM*ONLINE*ZIIPS'
CPUZICON='ZIIPS*ONLINE*AT END'
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.180 Labels for IFATYPnn now contain IFA, ZIP, and CP text.
VMAC7072 Labels for SMF70Q01-Q11 were misleading, implying the.
Sep 11, 2006 values were cumulative, but they are discrete percents
when In-Ready WAS N+1, rather than In-Ready LE N+1.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 24.179 Cosmetic. Labels for HSM datasets HSMWWFSR and HSMWWVOL
VMACHSM were not propagated in their _Sdddddd dataset sort macro.
Sep 11, 2006
Thanks to Christa Neven, KBC Bankverzekeringsholding, BELGIUM.
Change 24.178 Support for IRRHFSU unload utility; Unix System Services
EXRAC900 for z/OS file-permissions are a "IRRDBU00-format" RACF
EXRAC901 0900-0903 records. While these new records contain only
EXRAC902 ASCII data, and the IRRDBU00 records contain only EBCDIC,
EXRAC903 this implementation supports either file or concatenation
IMACRACF of both record types, and can be executed under ASCII or
VMACRACF EBCDIC SAS systems. New datasets created are these:
VMXGINIT dddddd Dataset Description
Sep 10, 2006 RAC900 RACF0900 USS RACF BASIC RECORD
Sep 26, 2006 RAC901 RACF0901 USS RACF FILE ACCESS
RAC902 RACF0902 USS RACF DEFAULT ACCESS
RAC903 RACF0903 USS RACF DIRECTORY DEFAULT ACCESS
-Sep 26 Variables RECNR/RECTYPE added to RAC09xx datasets.
Variables GRNAME GRMEMBAL INTRNVOL input length expanded.
Variable ATTRIBS created for RACF0200
Variable TYPE0901 rename GRPORUSR.
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Thanks to Aimee Steel, Euroclear, BELGIUM.
Change 24.177 DB2 Statistics ID=100 SUBTYPE=0 caused INPUT EXCEEDED if
VMACDB2 there is more than one QLST segment, and LENQLST=0 in the
Sep 8, 2006 triplets, which is IBM's new way to read the length field
at the OFFQLST offset. But this record is in error; its
length field contains 176, when the actual segment length
is 178 bytes; this LENxxxx field does not contain itself,
but in all other LENxxxx=0 segments, the length at the
OFFxxxx contains the 2 byte of that field. Circumvention
code was added to protect the QLST segment for the
unexpected (incorrect?) length field value.
Thanks to Ray Dunn, CIGNA, USA.
Change 24.176 DB2 Statistics variable QISTRHIG was incorrectly DIF()'d;
VMACDB2 it is a maximum value, and is not accumulated, so that
Sep 8, 2006 variable is no longer deaccumulated.
Thanks to Steve Morris, State of Ohio BWC, USA.
Change 24.175 For PDB.ASUMTAPE with STATUS='TY21ONLY', the DSNAME field
ASUMTAPE should be blank, but it was populated with a DSNAME from
Sep 7, 2006 a prior job. Now, it will be blank as expected.
Thanks to Geoges Rondeau, Amicam, FRANCE.
Change 24.174 The new Release 4.3 fields, including NDMCPU and NDMRIP
VMACNDM were incorrectly INPUT due to undocumented alignment data
Sep 7, 2006 bytes in the record. See Change 24.182.
Thanks to Rob Hollingum, HSBC, ENGLAND.
Thanks to David Kaplan, Depository Trust & Clearing Corporation, USA.
Change 24.173 Documentation only. IBM VMA product incorrectly decoded
IMACACCT SMF ACCOUNTn fields that contained an underscore. APAR
Sep 6, 2006 OA17684 list the ACCOUNTn characters they consider valid:
Letters A thru Z, numbers 0 thru 9, space, period, dollar
sign, asterisk, dash, slash, comma, at-sign, pound-sign
(a/k/a hash mark), equal sign, and now, with that APAR,
an underscore.
Change 24.172 Using %UTILBLDP with EXPDBOUT= that has a %INCLUDE caused
UTILBLDP a syntax error if the output was directly executed; there
Sep 6, 2006 was no error with the output, so running it as a two-step
build-and-then-execute circumvented. See Change 24.190.
Thanks to Robert Carballo, Office Depot, USA.
Change 24.171 CopyCross+HSC caused MXGTMNT Tape Mount Monitor to stop
ASMHSCEX writing SMF records. Apparently, CopyCross alters the
Sep 4, 2006 JFCB, which we use to get the DSNAME of the tape mount,
and apparently the JFCB address in the TIOT is not valid;
MXGTMNT took five internal S0B0 ABENDS, the error from
the IBM service that reads data from SWA (IEFQMREQ) when
the data we've pointed to is not in SWA, and assumed we
had a real problem, and turned the monitor off.
We know that HSC mounts do not go thru the IBM Volume
Mount Exit; we assume in the HSC exit that if we didn't
see it in the IBM exit that it must be HSC controlled,
so we were seeing the CopyCross mounts in the HSC exit.
There doesn't seem to be a way to identify these mounts
as CopyCross, but "asmguy" as figured a way to obtain the
DSNAME so that the abend won't occur, and thus MXGTMNT
will now capture the CopyCross mounts thru HSC exit.
Thanks to Brian Felix, Wachovia Corporation, USA.
Change 24.170 A debugging PUT statement at line 664: IF SMF14TY NOT ...
VMAC1415 is deleted. It was also truncated and had no semi-colon,
Sep 1, 2006 which caused NO MATCHING IF error in TESTIBM in JCLTEST.
Thanks to Bernd Klawa, Stadtwerke Bielefeld, GERMANY.
Change 24.169 Format $MGTMDAC was not built, and $MGTIVSA was wrong;
FORMATS the semi-colon to end the $MGTIVSA format was missing.
Aug 31, 2006 Inserting the semicolon corrected both formats.
Thanks to Nick Johns, Sainsbury's Supermarkets LTD, ENGLAND.
Change 24.168 Variable CPUTYPE was blank in PDB.ASUMCEC (because the
VMXG70PR HOLD7CPT temp variable was not in the RETAIN statement).
Aug 31, 2006 Fortunately, variable CPFCNAME='2084-308' does have the
CPUTYPE in character, but CPUTYPE is now corrected.
Thanks to Curdin Salis Gross, Credit Suisse, SWITZERLAND.
Change 24.167 Support for MEMORY object with NRDATA=35 caused message
VMACNTSM KNOWN MEM OBJECT UNEXPECTED NRDATA/NRNAMES. DELETED
Aug 31, 2006 and MXG skipped the record. NRDATA=35 is now supported.
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 24.166 Support for BMC Mainview for CICS Optional DB2 and CMR.
IMACICDA -The existing IMACICMR for the CMRDATA segment was updated
IMACICMR with four new pairs of counts/times variables for ADABAS,
IMACICMD DATACOM, IDMS, and MQSeries.
UTILEXCL -The optional CMRDB2 data enabled by BMC BBSAMP CMR$2MCTs
VMAC110 is supported in IMACICMD optional member.
Aug 31, 2006 -UTILEXCL was updated to support the CMRDB2 segment and
Nov 7, 2006 the eight new variables in the CMRDATA segment.
-IMACICDA, used only for non-UTILEXCL segment processing
was updated to add the include for IMACICMD after the
existing IMACICMR, an assumed order that may need to be
reversed, if you don't use UTILEXCL.
-Unrelatedly, variables in Change 24.140 were still in the
FORMAT statement, causing UNITIALIZED VARIABLE ARZGEOS
(harmless), but they are now removed in VMAC110.
Thanks to Jane Dickenson, Santander Produban UK, ENGLAND.
====== Changes thru 24.165 were in MXG 24.06 dated Aug 30, 2006=========
Change 24.165 Variables CPUIFATM and CPUZIPTM are added to TRNDSMFI.
TRNDSMFI
Aug 29, 2006
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 24.164 IMACJBCK (the JOB-check exit for selection of SMF records
VMAC6 by JOB/READTIME/SYSTEM/etc.), for SMF 6 and 26 records,
VMAC26J2 was called before the JESNR had been INPUT. The %INCLUDE
VMAC26J3 was moved until after JESNR has been created, so it can
Aug 28, 2006 be used for selection, as documented in IMACJBCK.
Thanks to Kris Ferrier, State of Washington DIS, USA.
Change 24.163 Support for z9EC processors. MXG 23.09+ supported 64-bit
FORMATS z/OS on z9 and z9EC; this change is required ONLY if you
Aug 27, 2006 are using a 32-bit z/OS (See Change 24.110 for impact).
Thanks to Al Sherkow, I/S Management Strategies, USA.
Change 24.162 Support for NTSMF Version 3.0.0, new objects & variables.
EXNTARMA -Dataset SYSTEM new variable:
EXNTARMP RDYTHPER='READY*THREADS*PER*PROCESSOR'
EXNTASPA -Dataset MEMORY new variables:
EXNTASPN PCTAVLBY='PCT*AVAILABLE*BYTES'
EXNTASPS VTORATIO='V TO R*RATIO'
EXNTCCMQ -Dataset NETWINTR new variable
EXNTCIPS PCTNETBY='PCT*NETWORK*UTILIZATION'
EXNTIPV6 -Dataset DTSCPU new variables
EXNTNECD DTCPNCOS='SUPPORTED*CORES'
EXNTNECE DTCPNCOA='ACTIVE*CORES'
EXNTNECI -Dataset BLKBERRY has new instance variable, if there is
EXNTNECJ more than one blackberry server:
EXNTNECL BLKBINST='INSTANCE*NAME*FOR*ANTIGEN SCAN'
NOTE: SEE CHANGE 24.015 for INCOMPATIBILITY note.
EXNTNECM -Datasets MSQBUFMG and SQLBUFMG no longer populate the
EXNTNECR variable CACHSIZE, although it will continue to exist
EXNTNECS in MXG with a missing value.
EXNTNECT -Dataset MSQGENST and SQLGENST new variables:
EXNTPSPI ACTMPTBL='ACTIVE TEMP TABLES'
EXNTSAAL TMTACRDT='TEMP TABLES CREATION RATE'
EXNTSAJO LOGLCONN='LOGICAL CONNECTIONS'
EXNTSAJS TRANSACT='TRANSACTIONS'
EXNTSAST NATOMYRT='NON-ATOMIC YIELD RATE'
EXNTSQBA MARSDEAD='MARS DEADLOCKS'
EXNTSQBN HTTPAURQ='HTTP AUTHENTICATED REQUESTS'
EXNTSQBR SOAPMTRQ='SOAP EMPTY REQUESTS'
EXNTSQBS SOAPSQRQ='SOAP SQL REQUESTS'
EXNTSQCA SOAPMEIN='SOAP METHOD INVOCATIONS'
EXNTSQCL SOAPWSRQ='SOAP WSDL REQUESTS'
EXNTSQCT SOAPSEIR='SOAP SESSION INITIATE REQUESTS'
EXNTSQCY SOAPSETR='SOAP SESSION TERMINATE REQUESTS'
EXNTSQES PROCBLKD='PROCESSES BLOCKED'
EXNTSQPC TMTADEST='TEMP TABLES FOR DESTRUCTION'
EXNTSQSP EVNODLDR='EVENT NOTIFICATIONS DELAYED DROP'
EXNTSQSR TREVBIQU='TRACE EVENT NOTIFICATION QUEUE'
EXNTSQST SQTRPRLW='SQL TRACE IO PROVIDER LOCK WAITS'
EXNTSQWS -Dataset MSQLOCKS and SQLLOCK new variable:
EXNTTCV6 LOKTIMEO='LOCK*TIMEOUTS'
EXNTUDV6 -Dataset MSQLATCH and SQLLATCH new variables
IMACNTSM SUPRLACN='NUMBER OF*SUPERLATCHES'
VMACNTSM SUPRPRRT='SUPERLATCH*PROMOTIONS*PER SEC'
VMXGINIT SUPRDERT='SUPERLATCH*DEMOTIONS*PER SEC'
Aug 26, 2006 -Dataset MSQACCES and SQLACCES new variables
DEDRROST='DEFERRED DROPPED ROWSETS'
DRROCLRT='DROPPED ROWSET CLEANUPS/SEC'
DRROSKRT='DROPPED ROWSETS SKIPPED/SEC'
DEDRAUS ='DEFERRED DROPPED AUS'
AUCLUPRT='AU CLEANUPS/SEC'
AUCLBART='AU CLEANUP BATCHES/SEC'
FACLBART='FAILED AU CLEANUP BATCHES/SEC'
USTRPACO='USED TREE PAGE COOKIE'
FATRPACO='FAILED TREE PAGE COOKIE'
USLEPACO='USED LEAF PAGE COOKIE'
FALEPACO='FAILED LEAF PAGE COOKIE'
LOPRCRCN='LOBSS PROVIDER CREATE COUNT'
LOPRDECN='LOBSS PROVIDER DESTROY COUNT'
LOPRTRCN='LOBSS PROVIDER TRUNCATION COUNT'
LOBHCRCN='LOBHANDLE CREATE COUNT'
LOBHDECN='LOBHANDLE DESTROY COUNT'
BYLOCRCN='BY-REFERENCE LOB CREATE COUNT'
BYLOUSCN='BY-REFERENCE LOB USE COUNT'
PUOFROCN='COUNT PUSH OFF ROW'
PUINROCN='COUNT PULL IN ROW'
LOREAHCN='COUNT LOB READAHEAD'
-Dataset MSQSTATS and SQLSTATS new variables:
FRCPRMRT='FORCED*PARAMETERIZATIONS*PER SEC'
SQLATTRT='SQL*ATTENTION*RATE'
-And support for these 37 new objects:
DDDDDD DATASET OBJECT
NTARMA ASPNET ARMTECH APPLICATION
NTARMP ASPNETAP ARMTECH PROCESS
NTASPN ASPNET ASP.NET
NTASPA ASPNETAP ASP.NET APPLICATIONS
NTASPS ASPNETSS ASP.NETSTATESERVICE
NTCCMQ CCMSGQUE CCM MESSAGE QUEUE
NTCIPS CITRIXPS CITRIX METAFRAME PRESENTATION SERVER
NTNECD NETCLRDT .NET CLR DATA
NTNECI NETCLRIN .NET CLR INTEROP
NTNECJ NETCLRJI .NET CLR JIT
NTNECL NETCLRLO .NET CLR LOADING
NTNECT NETCLRLK .NET CLR LOCKSANDTHREADS
NTNECM NETCLRME .NET CLR MEMORY
NTNECS NETCLRSE .NET CLR SECURITY
NTNECE NETCLREX .NETCLREXCEPTIONS
NTNECR NETCLRRE .NETCLRREMOTING
NTIPV6 IPV6 NT IPV6
NTSAAL SAALERTS SQLAGENT:ALERTS
NTSAJS SAJOBSTP SQLAGENT:JOBSTEPS
NTSAJO SAJOBS SQLAGENT:JOBS
NTSAST SASTATS SQLAGENT:STATISTICS
NTSQBA SQLBRKAC SQLSERVER:BROKER ACTIVATION
NTSQBN SQLBUFND SQLSERVER:BUFFER NODE
NTSQBR SQLBRDBM SQLSERVER:BROKER/DBM TRANSPORT
NTSQBS SQLBRSTA SQLSERVER:BROKER STATISTICS
NTSQCA SQLCATMD SQLSERVER:CATALOG METADATA
NTSQCL SQLCLR SQLSERVER:CLR
NTSQCT SQLCURTO SQLSERVER:CURSOR MANAGER TOTAL
NTSQCY SQLCURTY SQLSERVER:CURSOR MANAGER BY TYPE
NTSQES SQLEXECS SQLSERVER:EXEC STATISTICS
NTSQPC SQLPLNCA SQLSERVER:PLAN CACHE
NTSQSR SQLSQLER SQLSERVER:SQL ERRORS
NTSQSP SQLSPIPE SQLSERVER:SSIS PIPELINE
NTSQST SQLTRANS SQLSERVER:TRANSACTIONS
NTSQWS SQLWAITS SQLSERVER:WAIT STATISTICS
NTTCV6 TCPV6 NT TCPV6
NTUDV6 UDPV6 NT UDPV6
-The _UNTDISC logic to recognize new DISCOVERY record was
revised to protect multiple systems (data with very old
and new NTSMF interleaved caused variable DISCOVRY to not
always be incremented; now, it will always be, but it can
skip a value, which is ok, as it is only for grouping).
-NTCONFIG dataset variable SUMRYVER could be incorrectly
carried forward if you have new and then old NTSMF data.
Thanks to Jim Quigley, CONED, USA.
Change 24.161 Support for i/Series QACS/QAPM AS/400 Release 5.4.0, is
VMACQACS INCOMPATIBLE, because when new data is added, the LRECL
Aug 26, 2006 in your JCL/FILENAME must be changed to read the new data
records. The comments in VMACQACS list the new LRECLs:
File LRECL Change
QAPMDISK 376 +3
QAPMJOBL 1116 +31
QAPMJOBM 542 +31
QAPMLPAR 172 +92
QAPMPOLB 83 +5
QAPMSYSL 3367 +23
QAPMSYST 555 +20
-Dataset QAPMCONF supports GKEY='21' to create new vars:
GDES21 ='GDES21*ASP*CAPACITY*IN*BYTES'
New GDKEYs 'B1' thru 'B5' create GDESB1N-GDESB5N numeric
and GDESB1C-GDESB5C character variables, awaiting doc to
properly label them.
-Dataset QAPMDISK new variables:
DSRDT ='RAID TYPE?*0=RAID 5*1=RAID 6'
DSIOPF ='MANAGED*BY IOP?*0=NO*1=YES'
DSCAT ='DISK*UNIT*CATEGORY?*0=NO*1=EXTERNAL'
-Dataset QAPMJOBM and QAPMJOBL new variables:
JBACPU ='ACCUMULATED*JOB CPU*TIME'
JBIPAF ='IP TYPE*02X=IPV4*18X=IPV6'
JBIPAD ='IP ADDRESS BINARY'
JBIPPT ='IP PORT*NUMBER'
-Dataset QAPMSYS and QAPMSYSL and QAPMSYST new variables:
SYVCPU ='VIRTUAL*PROCESSOR*TIME*CONFIGURED'
SYDPCH ='TOTAL*DISPATCH*TIME'
SYSHRF ='SHARED*PROCESSOR*FLAG 0=NO*1=YES'
-Dataset QAPMPOLB new variables:
POUNAL ='UNALLOCATED*POOL*SPACE'
-Dataset QAPMSYSL variables previously overlooked:
SYNUAL SYIFTA SYSPTU SYCTA SYUTA SYNUTC SYNPLU SYNPLA
-Dataset QAPMLPAR new variables decoded, but not yet
tested with data.
LPDDTM ='DATETIME*WHEN DISK*DATA WAS*COLLECTED'
LPCAP ='TOTAL*DISK*CAPACITY'
LPAVL ='TOTAL*DISK*CAPACITY*AVAILABLE'
LPBSY ='DISK*BUSY*TIME'
LPRSP ='DISK*RESPONSE*TIME'
LPRDS ='DISK*READ*COMMANDS'
LPWRTS ='DISK*WRITE*COMMANDS'
LPDISK ='NUMBER OF*SELECTED*DISKS'
LPMEM ='TOTAL*MEMORY*IN SYSTEM'
Thanks to Jim Wertenberger, Antares Management Solutions, USA.
Thanks to Tim Follen, Antares Management Solutions, USA.
Change 24.160 -NDMCPUTM could still be wrong, if the NDMLENPA/NDMLENSA
VMACNDM field lengths were more than the arbitrary $VARYING48 I
Aug 25, 2006 chose, thinking ACCT data would be an MVS 44-byte account
field, but the "ACCT" data is text. With lengths of 89
I arbitrarily increased the length to 256 bytes, but,
more importantly, longer lengths are protected.
-The INPUT for NDMCPUTM itself was revised to validate
that CPUTIME= text exists immediately prior to the INPUT
location.
-Code was revised to be independent of the order of the
four optional segments (SVOL,PVOL,SACCT,PACCT).
-NDMOFF43 and NDMLEN43 logic was removed, as the segment
is always present in current NDM-Connect Direct records.
-Some CT records contain nonzero NDMCTDOF (*P.DTOTAL) that
is the offset to an 80-byte "TOTALS (IF RESTARTED)" area,
from which I create NDMTOT01-NDMTOT20 variables, pending
finding documentation of what these totals are.
-Invalid date/times in 'MC' record is under investigation.
Thanks to David Kaplan, Depository Trust & Clearing Corporation, USA.
Change 24.159 Support added for CICS Statistics Intervals option values
VMXGCICI of TWOHOUR, FOURHOUR, and EIGHTHR.
Aug 25, 2006
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 24.158 Attempting to use MACRO _VTY30UV to DROP variables caused
EXPDB30V ERROR: VARIABLE EXCP2305 NOT FOUND; you cannot use that
Aug 23, 2006 macro to drop variables from PDB.SMFINTRV. Furthermore,
you must use BUILDPDB, BUILDPD3, or ONLINTV to create the
PDB.SMFINTRV dataset, as only those programs have logic
that combines the MULTIDD='Y' observations into a single
PDB.SMFINTRV observation; while %INCLUDE of TYPS30 does
create a dataset named PDB.SMFINTRV, that dataset will
still have multiple MULTIDD='Y' observations.
But, you can instead use the EXPDB30V exit member and use
a DROP statement to drop variables from the summarized
PDB.SMFINTRV dataset.
Thanks to Colin Bowen, CSC, SOUTH AFRICA.
Change 24.157 Analysis example to identify all jobs/STCs that allocated
ANALDEVN a DEVNR range or a DEVICE types, by creating only the
Aug 23, 2006 TYPE30_D dataset for selected DEVNR/DEVICEes.
Thanks to Yaohua Hu, ISO, USA.
Change 24.156 Corrections to reported ANALDB2 errors/omissions:
ANALDB2R -"STMT #: 4040 was printed instead of the correct 16448
Aug 21, 2006 for the statement number.
Thanks to ???, ???, ???
Change 24.155 The CICSBAD dataset added by Change 23.312 could contain
EXCICBAD legitimate transactions; the test for PROGRAM='########'
Aug 21, 2006 previously identified invalid CICS transaction names that
Sep 27, 2007 did not have a program name (i.e., typo'd TRANNAME).
However, some sites have chosen to use ######## to make
their transaction routing easier, which caused millions
of transactions to be output to CICSBAD, when this site
wanted them output to CICSTRAN. MXG's test for EXCICBAD
IF PROGRAM='########' OR
SUBSTR(TRANFLAG,6,1)='......1.'B THEN DO;
will %INCLUDE the EXCICBAD exit, so you can tailor the
code in your EXCICBAD member to decide which, if any,
transactions are output to CICSBAD or to CICSTRAN.
In this particular case, the site observed that all of
their TOR regions' transactions had PROGRAM='########',
but they also all had RSYSID NE '00000000'X, so the site
could use this logic in their EXCICBAD tailoring member:
IF PROGRAM='########' AND RSYSID NE '00000000'X THEN DO;
OUTPUT _WCICTRN;
END;
ELSE DO;
OUTPUT _WCICBAD;
END;
to output real bad to CICSBAD and the rest to CICSTRAN.
Sep 27, 2007:
-And if you DON'T want CICSBAD to be created, but instead
want these "bad" transactions output in CICSTRAN, you can
copy EXCICBAD into your tailoring library and change
_WCICBAD to _WCICTRN.
-And what about that bit test that sends transactions to
CICSBAD instead of CICSTRAN, that test for:
SUBSTR(TRANFLAG,6,1)='......1.'B THEN DO;
It was obscurely documented back in Change xx.yyy:
"When a CICS task is executing on an OPEN TCB, and is
then purged, APAR PQ86971 documents that all of the
clocks are invalid when this happens, and that APAR
adds a new bit to the TRANFLAG field to identify these
tasks. Since the clock values are all wrong, these
transactions are now also output in CICSBAD instead of
CICSTRAN."
There are 3 normal ways to terminate a CICS task, all
using a CEMT SET TASK command or CEKL SET TASK command:
1) Purge this is what is normally called a cancel.
The task is terminated. Task termination occurs
only when system and data integrity can be
maintained.
2)Forcepurge this is what is normally called a purge.
The task is terminated immediately. System integrity
is not guaranteed.
3)Kill has more option then a Forcepurge but seems to
have the same effect.
Both Forcepurge and Kill may crash the CICS region.
Kill may free up a stall CICS region.
Change 24.154 -ERROR: VARIABLE THREADTY NOT FOUND if both DB2ACCT and
ANALDB2R ASUMDB2A existed in the "PDB" with PMACC03/PMACC04=YES.
Aug 18, 2006 The PMACC03 and PMACC04 reports require detail data, but
the logic incorrectly used ASUMDB2A.
-In addition, references to ASUMDB2P dataset are commented
out, as that dataset does not (yet?) exist.
Thanks to Steve Olmstead, Northwestern Mutual Company, USA.
Change 24.153 Support for EMC's Centera Mainframe HSM Migrator user SMF
EXCMHMEV records. New CMHMEVNT dataset for each recall or migrate
IMACAAAA with start, end, and elapsed duration, dataset size, and
IMACCMHM attributes of the dataset.
TYPECMHM This support is preliminary, as both the contents of the
VMACCMHM new SMF record, and how MXG handles the data, may be
VMXGINIT changed when user's get their hands on the new product
Aug 18, 2006 and its SMF data.
Change 24.152 SMF 80 INPUT STATEMENT EXCEEDED RECORD LENGTH because MXG
VMAC80A did not protect $VARYINGnn lenmm for the case when lenmm
Aug 18, 2006 was greater than nn. While many RACF fields have a true
Oct 13, 2006 maximum nn (like 44 for DSNAMEs), some fields were INPUT
with $VARYING200. because no max was known or documented.
And 200 was used because SAS V6 was limited to 200 bytes
for character variables. But MXG no longer executes with
SAS V6, so all of the $VARYING200. are now $VARYING255,
and they are all protected if the text exceeds 255, with
a message and hex dump on the log printed if the length
exceeds MXG's expectation. Fields protected: RACF263,
RACF295, RACF298, TOKDANAM TOKHOME, TOKPROG, and TOKLDAP.
This was tested in Aug, but VMAC80A was not updated until
October.
Thanks to Kim Nguyen, National Australia Bank, AUSTRALIA.
Change 24.151 The _VMINPUT macro, to read z/VM MONWRITE data converted
VMACVMXA from it's native RECFM=U to RECFM=VB, did not include the
Aug 18, 2006 IMACVMXA member nor execute the &MACVMXA macro variable.
Thanks to Steven Clark, DHL, USA.
Change 24.150 Typo in the KEEP= list for dataset HURN49, and the label
VMACHURN statement had HU47BJOB and HU47BSTP, instead of correct
Aug 17, 2006 names of HU49BJOB and HU49BSTP, added by Change 20.248.
Thanks to Colin Bowen, CSC Computer Sciences, SOUTH AFRICA.
Change 24.149 -New variables in VTCS Subtype 15 are now decoded:
VMACSTC STC15CTP='*S-CART*OR*E-CART?'
Aug 17, 2006 STC15LRI='HSTRESIDENCY*RECALL OR*CREATE?'
Aug 21, 2006 -The _VSTCV13 keep list now keeps STC13MRC instead
of STC15MRC.
Rudolf Sauer, T-Systems, GERMANY.
Change 24.148 Variable DATECLN was not converted from the raw record's
VMACTMS5 cyyddd format, so the julian date of 2004241 printed as
Aug 17, 2006 104241. Now, like other TMS dates, DATECLN is converted
to yyyyddd format.
And if you need to see that as a "real date", you can
use CLNDATE=DATEJUL(DATECLN);
FORMAT CLNDATE DATE9.;
and see that 2004241 julian was 28AUG2004.
Thanks to DJ Chen, Florida Department of Corrections, USA.
Change 24.147 -Variable JBAFF in dataset TPMJBAFF was blank when it
VMACTPMX should have been populated, and populated when it should
Aug 16, 2006 not have been; the IF test missing the NOT now is coded:
IF SYSAFF NOT = : TPMXTEST THEN SYSAFF=' ';
NOTEBENE: THIS AUG CHANGE WAS WRONG, THE NOT DOES NOT
BELONG, AND THE CODE WAS CORRECTED IN CHANGE 24.199.
The two FORMATS in your IMACTPMX must match your SYSPLEX
and AFFINITY systems, for JBAFF to be correct. The MXG
logic was originally correct, and now is after Oct 5.
-Variables UMANUAL, UME, UMB now all contain "MANUAL" in
their labels.
Thanks to Kris Ferrier, State of Washington DIS, USA.
Change 24.146 The TRANSLATE(TRANSACT,' ','00'x) statement was relocated
VMACTMO2 so both TRANNAME and TRANSACT have those nonprintable
Aug 15, 2006 characters changed to blanks. TRANSACT was named from
the Landmark DSECT when TYPEMONI was written, but now,
with hindsight, I should have use TRANNAME as the name
for all Transaction Names. TRANNAME was added to the
MONITASK dataset because CICSTRAN users expected it when
they switched to TMON for CICS.
Thanks to Salis Gross Kurdin, Credit-Suisse, SWITZERLAND.
Change 24.145 Support for optional PRPRTYPE='9901' User Log Record in
VMACPRPR Oce's Prisma Print product log records creates new
VMXGINIT dataset PR9901 with variable PRPR9901 containing all of
EXPR9901 the text after ACCOUNT, and variable LEN9901 has the
IMACPRPR length of that text.
Aug 15, 2006
Thanks to Engelbert Smets, Provinzial, GERMANY.
Change 24.144 Reading NDM Log records (instead of SMF format), record
VMACNDM NDMRTYPE='RJ' caused INPUT STATEMENT EXCEEDED record
VMACSMF error; the OFFTODSN,OFFPACCT,OFFRSACCT offsets did not
Aug 16, 2006 include +OFFSMF in their calculation (for normal dumped
SMF records, OFFSMF=0, so the logic error was missed,
until the log-format records were read.
-NDM Logs with a single 13-byte '***NO DATA***' record are
now detected and deleted in the _LOGSMF macro defined in
VMACSMF, but only used by TYPENDML to read //LOGSMF DD.
-NDMCPUTM could be wrong and very large, when the VLR data
section was after the VLS data section, because MXG code
expected VLR first; now, the INPUT is reset correctly no
matter which order the segments are found.
Note: Change 24.160 corrected NDMCPUTM.
-Support for new variables that were added by 4.3 to the
NDMCT dataset:
NDMCKPI ='CHECKPOINT*INTERVAL'
NDMCPU ='CPU TIME*OF STEP*VIA*TIMEUSED'
NDMDBPAD='DBCS*PAD*CHAR'
NDMDBSI ='DBCS*SHIFT-IN*CHAR'
NDMDBSO ='DBCS*SHIFT-OUT*CHAR'
NDMDBTAB='DBCS*TABLE*NAME'
NDMRIPCH='INBOUND*OUTBOUND*IP ADDRESS'
NDMRPOR ='OUTBOUND*PORT'
In my small number of test records, the new NDMCPU
CPU time was zero, and NDMCPUTM was always missing.
Further investigation is needed. See Change 24.182.
-Perhaps support for 4.5. There is a bit flag in the DMRCT
DSECT for new fields added in 4.5, but there are no new
data fields described in that DSECT, so I believe this is
all that is required to support NDM/Connect Direct 4.5.
Thanks to Rob Hollingum, HSBC, ENGLAND.
Change 24.143 Format MGPLOT is added to FORMATS; it is used in ANALDB2R
FORMATS to generate text lines for some reports.
Aug 11, 2006
Change 24.142 -PDB.TYPE70 variables SMF70Q00-SMF70Q12 values were wrong,
VMAC7072 because they were missing the factor of 100 to convert to
Aug 11, 2006 percentages, and their labels, starting with SMF70Q04 had
the wrong +n values in the N+n part of the label. Correct
labels are belos (e.g., SMF70Q08 is the percentage of
time when the number of IN-AND-READY ASIDs was between
21 and 30 larger than the number of CPUs that were online
to this z/OS system when this sample was taken):
SMF70Q00='PERCENT*WHEN*IN READY*LE N CP-S'
SMF70Q01='PERCENT*WHEN*IN READY*LE N+1 CP-S'
SMF70Q02='PERCENT*WHEN*IN READY*LE N+2 CP-S'
SMF70Q03='PERCENT*WHEN*IN READY*LE N+3 CP-S'
SMF70Q04='PERCENT*WHEN*IN READY*LE N+4-5 CP-S'
SMF70Q05='PERCENT*WHEN*IN READY*LE N+6-10 CP-S'
SMF70Q06='PERCENT*WHEN*IN READY*LE N+11-15 CP-S'
SMF70Q07='PERCENT*WHEN*IN READY*LE N+16-20 CP-S'
SMF70Q08='PERCENT*WHEN*IN READY*LE N+21-30 CP-S'
SMF70Q09='PERCENT*WHEN*IN READY*LE N+31-40 CP-S'
SMF70Q10='PERCENT*WHEN*IN READY*LE N+41-60 CP-S'
SMF70Q11='PERCENT*WHEN*IN READY*LE N+61-80 CP-S'
SMF70Q12='PERCENT*WHEN*IN READY*GT N+80 CP-S'
-PDB.TYPE70 PCTRDYWT, the percentage of time there were
more READY asids than NRCPUS (used to estimate latent
demand), is calculated from the READY00-READY15 variables
summing READYnn's for nn's GE NRCPU, but there are only
14 READYnn buckets, so PCTRDYWT will always be missing
when NRCPUS is more than 14 in your SYSTEM.
-New variable PCTRDQWT may be used in place of PCTRDYWT,
as it's upper bucket is 80 ASIDs more than your NRCPUS,
and is quite easily calculated directly using
PCTRDQWT=100-SMF70Q00;
but PCTRDQWT is counting the IN-and-READY users, whereas
the PCTRDYWT was counting the READY ASIDs.
-PDB.TYPE70 labels for all of the READYnn variables are
corrected to "READY" instead of "IN READY", and
READY15 ='PERCENT*WHEN 15*OR MORE*READY'
is now that label.
-Observations were output in PDB.TYPE70PR for spare IFAs,
but my intention was not to output any spare segments, so
the test "OR SMF70CIN NE 'CP'" was removed, and now,
only if SMF70ONT NE 0 OR LPARNAME='PHYSICAL' will the
segment be OUTPUT in PDB.TYPE70PR.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Andrew Hebden, Barclay's, ENGLAND.
Change 24.141 Processing of DB2 data written to GTF was inconsistent,
UDB2GTF sometimes failed completely, or sometimes skipped data.
UDB2GTFA -The MXG utility UDB2GTFA, for MXG execution under ASCII
VMACDB2 SAS to convert the 256-byte DB2 GTF records into
Aug 10, 2006 legitimate complete DB2 SMF records from those itty-bitty
pieces, only worked for the first record. Revisions
correct that problem, and added more debugging facilities
to ease validation.
-The UDB2GTF utility for EBCDIC SAS execution was fine;
the only change was to enhance its debugging messages.
-For GTF input, VMACDB2 was resetting OFFSMF back to zero
too early for the 100-1 and 101-1 records, causing the
triplets for QBGN, QTGS, and QLES (DB2STATS) and for
QXPK, QBAC, QTXA (DB2ACCTP only) to be incorrect, which
could cause those variables to either be missing or to
be horiffically wrong, but with no error in either case.
Those triplets are now correctly input with OFFSMF=12 for
GTF, and OFFSMF is now correctly reset only after all of
the triplets have been input.
-For SMF or GTF input, VMACDB2 INPUT the QLES triplet from
the wrong (preceding) location, causing those statistics
variables to be incorrect. The QLExxxxx variables are
now also labeled.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 24.140 Support for optional user-created CICS fields with
IMACICU1 CMODNAME='ARZGEOS',CMODHEAD='FACHG' (IMACICU1) and
IMACICU2 CMODNAME='ARZGS',CMODHEAD='GSACCT' (IMACICU2).
UTILEXCL The UTILEXCL member must be used to create IMACEXCL
VMAC110 and the comment block in each of the IMACICU1/IMACICU2
Aug 9, 2006 members must be EDITED for those variables to exist.
Aug 10, 2006 -On Aug 9, I noticed that these optional variables
MQGETWTM MQGETWCN MQREQS MQWTCBUS MQONTCBU MQREQUS
created by a user-created CMODNAME='MQSeries' segment,
could be kept in CICSTRAN, when they shouldn't have been
(they were in the "compiler faker" block, not used for
optionals). They were removed from the faker block
today, today when John saw them present and wanted to
know why they were all blank; quite timely!
Thanks to Richard Hilber, Allgemeines Rechenzentrum GmbH, AUSTRIA.
Thanks to John Ferguson, Washington Mutual, USA.
Change 24.139 If there were no observations in TYPETALO but SPINTALO
ASUMTALO had observations, a strange syntax error was generated
Aug 8, 2006 about (LOWTIME='141515...'DT) being invalid due to a
PUT statement without DATETIME21.2 format.
(The actual error occurred in ANALCNCR text, but the
call was from ASUMTALO, which needed the correction.)
Thanks to Edward M. Burns, Blue Cross Blue Shield of Nebraska, USA.
Change 24.138 Incorrect inclusion of DB2PARTY='R' Rollup observations
ANALDB2R in creating accounting summary report caused average
Aug 4, 2006 values to be wrong; the R record was counted as a PLAN
(doubling the denominator when there was one execution).
Also, the in-DB2 elapsed time could be larger than total
elapsed time: ELAPSTM is missing in the R record, so the
average elapsed was one half the base record's elapsed
duration eg: ( 4 + 0 )/2 = 2 hr. avg total elapsed.
But both had QWACASC in-DB2-elapsed time which were then
averaged eg: ( 3 + 2 )/2 = 2.5 hr avg in-DB2 elapsed!
Clearly, including the elapsed and in-DB2 time from the
Rollup record, and counting it as a plan, created invalid
average values in the summary reports; now, for Rollups,
the count of plans is not incremented, and QWACASC is set
to zero in the sum, so the average class 2 elapsed in-DB2
time reflects the base transaction(s).
Thanks to Yaohua Hu, Insurance Service Office, USA.
Thanks to Issac Lukach, Insurance Service Office, USA.
Change 24.137 MXG Variable PRODUCT in the PDB.TYPE70 dataset identifies
VMACSMF "RMF" or "CMF=." as the creator of the 70-79 SMF records.
Aug 3, 2006 To identify CMF from RMF records in case both are being
created, you could test PRODUCT=:'CMF' in each of the
EXTY7xxx exit members, but you can alternatively use this
logic to input the RMF Product Segment header and skip
the CMF records:
%LET MACFILE=
%QUOTE(
IF 70 LE ID LE 78 THEN DO;
INPUT @25+OFFSMF OFFRMFP &PIB.4. /*SMF70PRS*/
@29+OFFSMF LENRMFP &PIB.2. /*SMF70PRL*/
@31+OFFSMF NRRMFP &PIB.2. /*SMF70PRN*/
@;
OFFRMFP=OFFRMFP-3+OFFSMF;
INPUT @OFFRMFP+28 SMF70RV6 &PIB.2. @;
IF SMF70RV6='........1.......'B THEN
PRODUCT='CMF-CPM';
ELSE IF SMF70RV6='.........1......'B THEN
PRODUCT='CMF-IPM';
IF PRODUCT=:'CMF' THEN DELETE;
END;
);
Thanks to Xiaobo Zhang, CheckFree, USA.
Change 24.136 When DB2 V8 option UIFCIDS=YES is used, many text fields
VMACDB2 in DB2 SMF records that used to contain EBCDIC characters
VMACDB2H will instead contain ASCII text, which, when INPUT by MXG
Aug 4, 2006 with $EBCDICnn INFORMAT, creates unprintable text data.
IBM puts %U in the DSECTS for these ASCII fields, and
in DSNDQWHS %U is described as UniCode UTF-8, but UTF-8
is just simple ASCII text. A few fields with ASCII text
were already supported in MXG, but with UIFCIDS=YES on,
all of these variables were found to contain ASCII text:
%U Header variables QWHCAID QWHCOPID
%U Package variables QPACCOLN QPACLOCN QPACPKID
%U Location variables QLACLOCN QLSTLOCN
%U in DSNDQMDA only QMDALOCN
%U nowhere, but ASCII: QWACNID
Except for QWACNID, all above have %U in their DSECT and
have offsets to their 128-byte extended area, so they now
must be increased to LENGTH $128. QWACNID was found with
ASCII text, but it is not listed as %U in DSNDQWAC nor
DSNDWMSG, and it has no extended area documented, so it
remains unchanged at LENGTH $16.
IBM sets QWHSFLAG='80'x if the %U fields contain Unicode,
and MXG sets variable DB2UNICD='Y' (now kept in DB2ACCT
and DB2ACCTP) to conditionally INPUT these fields as
EBCDIC or ASCII, so the resultant variable will always
contain printable characters.
While these %U variables must be LENGTH $128, MXG's sets
COMPRESS=YES to compress out those blanks, and so there
should not be any increase in disk space required.
This change supports all of the %U fields in the SMF 100
(Statistics) and SMF 101 (Accounting) records, and in the
DB2 Header for all DB2 SMF records, but there are many
other %U fields in the DB2 Trace IFCIDS that are written
in SMF 102 records; these will also eventually be fixed,
initially on an I-have-this-trash-in-this-IFCID basis.
Thanks to John Hammond, Texas State Comptroller of Public Accts, USA.
Change 24.135 XAM variables from the MTRSYS segment, starting with the
VMACXAM SYSTMID (system) variable were all incorrect; the +2 that
Jul 30, 2006 skip 2 bytes before SYSTMID was INPUT do not exist, and
that statement was removed by this change. These are the
variables that were wrong:
CPUCAPAB CPUCFGCT CPUCFGCX CPUCHAR CPUCOUNT
CPUCOUNX CPUDEDCT CPURESVD CPURESVX CPUSHARD
CPUSTNBX CPUSTNBY DEDCNT IOPCNT LPARCAF
LPARNAME LPNUMBER SCPCAPAB SYSCKVOL SYSMMODL
SYSMPOM SYSMSEQC SYSMTYPE SYSTMID SYSWMVOL
VL3CAF VL3CFGCT VL3COUNT VL3CPNAM VL3DBCT
VL3MNAME VL3RESVD VL3STNBY
Thanks to Mike Salyer, Citigroup Technology Infrastucture, USA.
Thanks to Bob Bates, Citigroup Technology Infrastucture, USA.
Change 24.134 If USEREPRT=COMPAT or USECNTRL=COMPAT was specified, no
VMXGRMFI values were created in any workloads. Change 24.079 had
Jul 30, 2006 removed that option, but a test for this option was left
that caused the deletion of all TYPE72GO obs. Only with
MPRINT turned on was it revealed that the statement
IF SYSTEM NE: 'COMPAT' THEN DELETE; was in the generated
code, so the code assumed that COMPAT was a system name.
Now if COMPAT is specified, and MXGWARN message will be
printed indicating that COMPAT is no longer supported,
and processing then continues.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 24.133 The IMACKEEP include was relocated so it is now after the
ASUMMIPS macro definitions, so they can be changed. And the MIPS
Jul 30, 2006 factor's comments are revised to now read:
THE MIPS CALCULATION DEFAULT IS A CONSTANT OF 5.8 TIMES MSU.
HOWEVER, THAT IS A SPECIFIC VALUE AT ONE POINT IN TIME FOR
ONE PROCESSOR, AND BY NO MEANS IS THAT A "RECOMMENDED" VALUE.
SINCE 'MIPS' ARE DEFINED BY YOU, AND NOT MXG, YOU CAN USE
WHATEVER VALUE YOU/YOUR-MANAGEMENT DECIDE IS THE APPROPRIATE
CONVERSION FACTOR TO GET MIPS FROM MSU.
THAT'S PRECISELY WHY THE FACTOR IS DEFINED IN THE _MIPSMSU
MACRO, SO YOU CAN CHANGE IT TO YOUR VALUE, AS SHOWN BELOW.
Thanks to Wayne Bell, UniGroup, USA.
Change 24.132 Analysis of DD segment counts was revised to use "new"
ANALDDCN MXG exit facility, instead of the old IEBUPDTE technique
Jul 30, 2006 to tailor the analysis program.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.131 INPUT STATEMENT EXCEEDED RECORD LENGTH error because the
UTILEXCL Omegamon/Candle type 110 dictionary entry is truncated if
Jul 30, 2006 the CMODHEAD field name of the last of their optional
fields is not 8 bytes. The dictionary entry is supposed
to always be fixed (MCTSSDRL=26), but in this case, the
last field name was OMEGDB2 and the last dictionary entry
was only 25 bytes. MXG now tests for the field length
and protects for the invalid dictionary record.
Thanks to Burt.Allen, Harris County ITC, USA.
Change 24.130 Support for Oracle was revised to support only current
VMACORAC versions, so I could eliminate the test for Subsystem.
Jul 22, 2006 Previously, if Subsystem ID changed but MXG's macro was
Dec 19, 2006 not updated, almost all variables were missing. These
ANALORAC pre-V9 variables have always been missing and are now
removed (not KEPT) from the ORACLE dataset:
CPUCICTM CPUSRBTM CPUTCBTM CPUTIMER DDLCOMIT DDLROLLS
ENDSRB ENDTCB ORACMSB PCCOUNT STRTSRB STRTTCB
SWTCHCNT TCBADDR
-Dec 19, 2006: ANALORAC updated to remove references to
the variables that were DROPed.
Thanks to Huug Tempelmans-Plat, CORUS Group, ENGLAND.
Change 24.129 Support for up to 10 CICS ABCODE values in PDB.ASUMUOW.
VMXGUOW The ASUMUOW program logic keeps three sets of ten arrays
Jul 19, 2006 one for transaction name, one for APPLID, one for ABCODE,
which can optionally be kept by adding a KEEP statement
in the TRANUOW macro in your tailored IMACUOW member.
The base variables are TRAN1-TRAN10, PATH1-PATH10, and
new ABEND1-ABEND10.
By default, the first blank ABENDn value is kept in the
ABCODE variable, but you can alter the logic in TRANUOW
as needed.
Thanks to Stan Adriaensen, Axa-Tech, BELGIUM.
Change 24.128 The new ZIP variables from SMF 30s were not kept in the
ASUMDB2A PDB.STEPS and PDB.JOBS variables, but are now added to
BUIL3005 both datasets. And, the DB2ACCT zip variables are now
BUILD005 summarized in ASUMDB2A.
Jul 22, 2006
Thanks to Jim Kovarik, AegonUSA, USA.
Change 24.127 Support for fourth GEPARMKY='4D'x and GEPARMKY='4A'x adds
IMAC6ESS optional variables ESSMAIL5 and ESSMACC1 respectively to
VMAC6 both TYPE6 and TYPE57 datasets. Also, the KEEP= list for
VMAC57 TYPE57 was updated to list all of the possible IMAC6ESS
Jul 19, 2006 variables, which had not been updated since 2004.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Change 24.126 Variables NDMPRCNM NDMPRCNO NDMSTEP NDMUNODE are now kept
VMACNDM in the NDMFI dataset, so that NDMFI can be matched to the
Jul 16, 2006 NDMCT record to obtain the full file name.
Thanks to Mary Lou Arredondo, Federal Reserve, USA.
Change 24.125 ZIP variables were not kept in TYPE72GO dataset; IBM had
VMAC7072 used different names in early and later documentation,
Jul 13, 2006 and I was awaiting a reply as to which set was actually
going to appear in the SMF manual, and I expected their
reply would trigger my revision of names, but no reply
was received, and I forgot to go back and add the names
that I had started with. These are the new variables
that are now kept in TYPE72GO dataset for zip data:
R723NFFS CPUZIETM CPUZIPTM R723CIFA R723CIFC R723CSUC
R723CSUP R723SUCU R723SUPD R723SUPU ZIEUNITS ZIPUNITS
But the error was mine, not IBMs; my ESP contact had said
that because it was "only a documentation/naming query,
that I should not expect a fast reply".
Thanks to Scott Wigg, USBank, USA.
Change 24.124 -Warnings ZDATE and ZTIME in DROP/KEEP/RENAME not being
VMXG70PR referenced for the FINL70LP dataset because the call to
Jul 13, 2006 include IMACZDAT to create them was missing. That also
caused those variables to NOT be populated in ASUM70LP,
and also impacted variable SHIFT.
-All four datasets default output token are now consistent
(all use the _LSUxxxx macro token, which has the same
default value, so this should be a transparent change,
but now the actual output agrees with the revised doc in
the comments.
Thanks to Paul Gillis, Pacific Systems Management Pty., AUSTRALIA
Thanks to Ken Jones, Xwave, CANADA.
Change 24.123 The debugging PROC PRINT DATA=R73HOUR; statement was
VMXGRMFI removed.
Jul 13, 2006
Thanks to Tom Kelman, Commerce Bank - Missouri, USA.
Change 24.122 Variable R85FLGS is now decoded for the TYPE85RQ,TYPE85TP
FORMATS datasets in new R85ST74F,R85ST78F variables by formats
VMAC85 $MG085DM and $MG085TM for optical disk and tape mounts:
Jul 13, 2006 VALUE $MG085DM
'80'X='80X:MOUNT NOT REQUIRED'
'40'X='40X:FLIP DISK REQUIRED'
'20'X='20X:MOUNT ON EMPTY'
'10'X='10X:DISMOUNT REQUIRED'
;
VALUE $MG085TM
'80'X='80X:MOUNT NOT REQUIRED'
'40'X='40X:MOUNT ON EMPTY'
'10'X='10X:ATL TAPE USED'
'20'X='20X:DISMOUNT REQUIRED'
;
Thanks to Betra Reeves, Infocrossing, USA.
Change 24.121 Support for IFCID=350, the SQL statement produced by the
VMAC102 parser written during the bind of dynamic or static SQL;
Jul 7, 2006 this IFCID can be activated with Trace Class 32 for 350.
Jul 13, 2006 The IFCID=350 replaces the IFCID=63 record because the
SQL text in the IFCID=63 record was limited to 5000 bytes
and any additional text was truncated. Instead now, DB2
writes multiple IFCID=350 records with 5000 bytes each if
the SQL text exceeds 5000 bytes.
Thanks to Christian Vandenbossche, Societe Generale, FRANCE.
====== Changes thru 24.120 were in MXG 24.05 dated Jul 3, 2006=========
Change 24.120 Internal utility used only in MXG QA revised to exeute on
UTILVREF ASCII or EBCDIC systems; previously, a manually edited
Jul 2, 2006 version was required to run on ASCII.
Change 24.119 Typos introduced in Change 24.064 had _WKBLD instead of
WEEKBL3D _WEEKBLD for the new datasets, causing 180 syntax errors.
WEEKBL3T
WEEKBLDD
WEEKBLDT
Jul 1, 2006
Thanks to Art Hunter, Penn Mutual, USA.
Change 24.118 The INTERVAL=DURSET default is restored in ASUM70PR, as
VMXG70PR it was in MXG 24.03 and earlier, so PDB.ASUM70PR/ASUM70LP
Jul 1, 2006 will again have the same STARTIME as RMFINTRV when both
have DURSET defaults. I changed the default in MXG 24.04
to QTRHOUR because with DURSET, the ASUMCEC/ASUMCELP
datasets sometimes had wrong STARTIME/SMF70GIE/DURATMs,
but 24.04 was needed for its zIIP engine support. Now,
with the other enhancements in 24.111 to support SYNC59
along with DURSET, VMXG70PR has again been revised so the
original MXG default can be restored safely.
Defaults are: INTERVAL=DURSET,CECINTRV=HOUR.
Change 24.117 Variables IFAUNITS IFEUNITS CPUIFATM and CPUIFETM are now
TRND72GO created in the TREND.TRND72GO dataset.
Jun 30, 2006
Thanks to Stan Dylnicki, Royal Bank of Canada, CANDAD.
Change 24.116 z990/2084 CPUs don't have 'IFA' in LPARNAME='PHYSICAL'
VMAC7072 segments, which caused NRIFACPU count in LPAR datasets
VMXGINIT (TYPE70PR,ASUM70PR,ASUMCEC) to be zero. The IFA variables
Jun 29, 2006 in System datasets TYPE70 and RMFINTRV is fine, because
they count the IFAs assigned to each SYSTEM, but RMF 70s
for z990s do not contain the number of installed IFAs in
your CEC (later hardware/software does). So, if you have
IFAs on z990s, you will have to tell MXG how many IFAs
you have, by setting a text value in new macro variable
with a %LET statement, in IMACKEEP or //SYSIN DD stream:
- If you have the same number of IFA engines in all of
your CECs, then you would use this statement:
%LET CECIFANR= %QUOTE( CECIFANR=1; );
which stores the text "CECIFANR=1;" (which is a SAS
statement to set variable CECIFANR to 1), in the macro
variable &CECIFANR. When executed, CECIFANR=1 causes
MXG to change SMF70CIN='ICF' to SMF70CIN='IFA' in that
many LPARNAME='PHYSICAL' segments in each interval;
these are output in the PDB.TYPE70PR dataset.
- If you have different numbers of IFAs in different CECs
you will need to tell MXG how many IFAs you have on
each of your CECs, by CECSER, using this logic:
%LET CECIFANR =
%QUOTE (
CECIFANR=0;
IF CECSER='ABCD' THEN CECIFANR=1;
ELSE IF CECSER='1234' THEN CECIFANR=2;
);
so that MXG will change 'ICF' to 'IFA' in the correct
number of TYPE70PR observations.
-Once you have created PDB.TYPE70PR with this change,
you can rerun your %INCLUDE SOURCLIB(ASUM70PR) program
to create the corrected ASUM70PR/ASUMCEC/etc summaries.
-VMXGINIT GLOBALs macro variable CECIFANR with blanks.
Thanks to Jan Bigalke, Allianz, GERMANY.
Change 24.115 CICSTRAN variable WTUNIOTM was not kept when UTILEXCL was
UTILEXCL executed; the logic to calculate it was correct, but the
Jun 28, 2006 added code that is needed in UTILEXCL to KEEP a cacluated
variable was missing in UTILEXCL.
Thanks to Robert Blackburn, Dominion Resources, USA.
Change 24.114 The "bucket" variables S94ADV00-S94ADV95 with the number
ASUM94 of volumes containing 0-5 pct, 5-10, etc, are shifted so
VMAC94 their values match S94AD00-S94AD95, and labels now are:
Jun 28, 2006 S94ADV00='VOLUMES*CONTAINING*0-5PCT*ACTIVE'
S94ADV95='VOLUMES*CONTAINING*95-100PCT*ACTIVE'
Those distribution values were incorrectly SUMmed in the
ASUM94 program; now, their MAX value is output in the
summary dataset.
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA
Change 24.113 The DTF segment was changed, causing invalid data values
VMACOMCI for DTFCKLnn and DTFCNTnn variables (but no error message
Jun 27, 2006 was printed. Segment increased from 140 to 172 bytes,
which now is the expected length.
Thanks to Karl B. Schweitzer, State Street Bank, USA.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 24.112 Variable RESIND/SMF77DFG, a bit map, is now decoded into:
VMAC77 RESIND00='RESOURCE*STILL IN*CONTENTION?'
Jun 27, 2006 RESIND01='SCOPE OF*SYSTEMS(A)*OR SYSTEM(B)?'
RESIND02='OWNER*HAD EXCLUSIVE*OR SHARED?'
RESIND03='FIRST JOB*WAITING*EXCLUSIVE*OR SHARED?'
RESIND04='SECOND JOB*WAITING*EXCLUSIVE*OR SHARED?'
RESIND05='RESOURCE*IS*GLOBAL?'
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.111 RMFINTRV is enhanced to support SYNC59 if INTERVAL=DURSET
VMXGRMFI is specified, provided that your IMACRMFI member _DURSET
VMXG70PR logic does NOT alter the value of STARTIME (i.e., the MXG
VMAC7072 default IMACRMFI is used). With INTERVAL=DURSET the
VMXGINIT STARTIME/SMF70GIE timestamps in RMFINTRV, ASUM70PR,
Jun 27, 2006 ASUM70LP, ASUMCEC, and ASUMCELP will be the original time
Jun 29, 2006 values of your RMF data, and you can now use SYNC59= in
Jul 1, 2006 both RMFINTRV and ASUM70PR members to shift times so the
times in the summary datasets are "exact and pretty".
Change 24.110 Support for z9BC processor CPUTYPE='2096'x, COMPATIBLE if
FORMATS your z/OS is 64-bit. If your z/OS is NOT 64-bit, this
VMAC7072 change is required so that variables SMF70CPA, which
VMXGRMFI becomes CECSUSEC, the SU_SEC value of the hardware CEC,
Jun 27, 2006 will be set by table lookup in the MG070CP format, which
was also updated by this change to contain the 2096 SUs.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
====== Changes thru 24.109 were in MXG 24.04 dated Jun 22, 2006=========
Change 24.109 -ASUMTAPE enhancement for MXGTMNT with IBM Volume Mount
ASUMTAPE Exit enabled now populates these job-level variables:
VMACTMNT ASID INITTIME JOBCLASS LOCLINFO PGMRNAME RACFTERM
Jun 22, 2006 RACFUSER READTIME STEPNAME STEPNR TMNTEXIT
from the first-volume mount, which goes thru that exit
and is captured by MXGTMNT, into subsequent multi-volume
mounts, that do not go thru IBM's exit, and thus are not
captured by MXGTMNT. This enhancement populates the job
variables, but the TAPMNTTM (MXGTMNT monitor mount time
duration) will still be missing in the second and later
multi-volume mounts. However, the new TOTMNTTM added by
Change 24.102, created from MAX of the SYSLOG or MXGTMNT
mount delay, is populated for these multi-volume mounts,
so the new BEGTMNT and ENDTMNT datetime values should now
be used for the start and end times of mount events.
The SYSLOG mount time is earlier than the mount start the
MXGTMNT monitor captures, and the SYSLOG mount verifiy is
later than the MXGTMNT end time, so the new TOTMNTTM is
a more accurate measure of tape mount delay to each job.
-The SORT order of PDB.ASUMTAPE is changed
from BY DEVNR DESCENDING EVENTIME;
to BY DEVNR EVENTIME;
but as the expected SORT order in WEEKBLD/MONTHBLD is
just BY DEVNR
the change from DESCENDING to ASCENDING order should have
no impact and is the more righteous order, anyhow.
-Note that the IBM Volume Mount Exit still misses mounts
issued by some programs: DFHSM, OPC, and DMS jobs have
mounted tapes that MXGTMNT did not see in the IBM exit,
and many of those missed mounts created a type 21 record
with a blank volume serial, and these missed do not have
the standard SYSLOG mount messages. But with those few
exceptions, this iteration of the ASMTAPEE/MXGTMNT
monitor and ASUMTAPE summary program captures all
possible IBM controlled tape mounts, to virtual or real
devices, and populates all possible job-related variables
in ASUMTAPE.
-VMACTMNT correction; SYSLOG records with INVALID MSGID
notes were due to incorrect processing of the IEC235D
WAITING FOR VOLUMES message, so those events were not
output in TYPESYMT dataset. However, as the IEC235D
message does not contain a DEVNR, it cannot be stored
in the PDB.ASUMTAPE dataset.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Thanks to Paul Naddeo, FISERV, USA.
Change 24.108 Variable TSUDRECD and TSUDXMDA, Datagrams Received/Sent
VMAC119 were incorrectly read as 4-bytes, but they are documented
Jun 22, 2006 as 8 byte binary fields.
Thanks to Al Smye, IBM Canada at PWGSC, CANADA.
Change 24.107 Variable CPUCEPTM is now kept in PDB.STEPS and PDB.JOBS;
BUILD005 it was already included by IBM in CPUTCBTM, but should
BUIL3005 have been kept when created, since BUILDPDB intends to
Jun 22, 2006 keep all of the CPU time component variables.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.106 Heuristic revisions to calculation of WAITTOTM total wait
VMXGUOW time of the constructed PDB.ASUMUOW event; the original
Jun 22, 2006 estimate included WTDISPTM and WTLMIOTM but data suggests
those wait durations are overlapped with other delays.
The total count of wait events WAITTOTL was also revised.
And RCT time should not be included; consider the MRO
TOR/AOR/DOR combination; the transaction starts in the
TOR, moves to AOR, then moves to DOR. While the tran
is not in TOR, the TOR CICSTRAN still clocks RCT wait,
even while the AOR may be waiting on something else.
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA
Thanks to Tom Kelman, Commerce Bank - Missouri, USA.
Change 24.105 Corrections, enhancements for ASUM70PR zIIP and zAAPs.
ASUM70PR -If you had more than one IFA or more than one ZIP, the
VMXG70PR counts NRIFACPU/NRZIPCPU and uptimes IFAUPTM/ZIPUPTM
VMXGDUR in PDB.ASUM70PR and PDB.ASUMCEC summary datasets were
Jun 20, 2006 wrong, but all other IFA/ZIP CPU times were summarized
Jun 22, 2006 correctly, and all of the individual LPAR data values
(LPnXXXX variables in PDB.ASUM70PR/ASUMCEC datasets, and
all of PDB.ASUM70LP and PDB.ASUMCELP datasets) were fine.
-SYNC59 logic (for ex-MICS sites!) was imperfect and did
not always create the expected shifted exact datetime.
-Note: See Change 24.118, which reversed the change in the
default for INTERVAL: The discussion is correct, but
the default was only changed in 24.04, then restored to
the original INTERVAL=DURSET in MXG 24.05.
-The INTERVAL=DURSET default for the summary interval for
PDB.ASUM70PR and PDB.ASUM70LP datasets only works if the
_DURSET macro does NOT change the value of STARTIME. If
the value is changed, there is no way that I can tell the
desired interval, and the logic to build the
PDB.ASUMCEC/ASUMCELP datasets requires knowledge of their
INTERVAL.
DURSET says to use the _DURSET macro definition in
the IMACRMFI member to redefine the STARTIME value,
but if you do change STARTIME therein, I cannot tell
what summary interval you wanted, and if you leave
STARTIME unchanged (MXG's IMACRMFI default) I still
can't tell what is your minimum RMF interval.
The DURSET can still be used to create PDB.ASUM70PR
and PDB.ASUM70LP datasets with their original STARTIME
values, but the PDB.ASUMCEC and PDB.ASUMCELP datasets
may not be completely valid. It may be possible to
figure out a way to safely use DURSET and still have
the correct DURATM values in ASUMCEC, but for now the
safe resolution is to require you to specify the
INTERVAL= and CECINTRV= values in your ASUM70PR member
and then I can build all four datasets without errors.
-Internal VMXGDUR invocations invoke SYNC59=YES only for
the ASUM70PR/ASUM70LP creation; the second invocations
for ASUMCEC/ASUMCELP specify SYNC59=NO because times have
already been shifted.
-Change: Variables IFAWSTTM and ZIPWSTTM are now set to
a missing value in the PDB.ASUM70PR/PDB.ASUMCEC datasets
as they are overlapped wait times across all LPARs that
had an IFA or a ZIP, and really are meaningless totals.
-LPMSUHR was actually per second rather than per hour,
not fixed until Jun 22.
-LPCTBY and LPCTOV were wrong in PDB.ASUM70LP as they were
not divided by LPARCPUS.
-Enhancement: Variables NRIFACPU and NRZIPCPU are added
to the PDB.ASUM70LP and PDB.ASUMCELP dataset, calculated
from IFAUPTM or ZIPUPTM divided by DURATM.
-Some Labels and Formats were revised, including remvoal
of *PCT from the Current and Initial SHARE WEIGHTs.
-This change has been extensively tested but only with Z9
processors that populate SMF70CIN. There may still be
a problem counting IFAs on earlier hardware that did not
populate SMF70CIN.
-VMXGDUR: Variable MXGDURTM is created/dropped for time
intervals and used to reset SMF70GIE after STARTIME has
been SYNC59'd/FLOORed back to start of final interval.
-Jun 22: Variables LPSHARE, LPSHARC, TOTSHARE, TOTSHARC
were sometimes incorrect but the LPnSHARE/LPnSHARC values
were correct.
-SMF70LAC was wrong (zero) in PDB.ASUM70PR and PDB.ASUMCEC
datasets (but LPnLAC values were valid for all LPARs).
Now, the LPnLAC values are summed to create the total of
the 4-hour Average MSU values back into SMF70LAC. But
SMF70LAC isn't an LPAR variable; it comes from the "this
system" segment of the TYPE70 record, and while it is
always valid in per-system TYPE70 & RMFINTRV datasets,
in the LPAR data in PDB.TYPE70PR, SMF70LAC is non-zero
ONLY in the "this system" observations, so this is just
one more variable that requires your ASUM70PR program to
read the PDB.TYPE70PR with data from ALL of your SYSTEMs
to create correct data in the CEC-level summary datasets
PDB.ASUMCEC and PDB.ASUMCELP.
Thanks to Nathan Loewenthal, CitiGroup, USA.
Thanks to Douglas C. Walter, CitiGroup, USA.
Thanks to Michael Salyer, CitiGroup, USA.
Thanks to Brent Turner, CitiGroup, USA.
Thanks to Tom Koelle, CitiGroup, USA.
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA
Thanks to Tom Kelman, Commerce Bank - Missouri, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Thanks to Ray Dunn, CIGNA, USA.
Change 24.104 BMC CMRDETL data file is created by their CMRCMPW program
TYPE110J but the output format is determined by a control card.
TYPEMVCI When FORMAT=CMR is specified, the output format is the
Jun 19, 2006 decompressed T6E record that MXG's TYPEMVCI processes.
When FORMAT=2.2 or FORMAT=2.2Y is specified, the output
format is an SMF 110 record, but written as RECFM=U that
does NOT contain valid BDW/RDWs, and instead has only a
4-byte record length field; this is the old "DOS JOURNAL"
type 110 format, which is processed by MXG's TYPE110J.
Thanks to Pat Perecca, Pershing, USA.
Change 24.103 Variable QWHCCV was misspelled in READB2 as QWHCCCV,
ADOCDB2 which caused selection by CORRID to fail. The variable
READDB2 was also misspelled in ADOCDB2 documentation.
Jun 17, 2006
Thanks to Julain Smailes, Experian, ENGLAND.
Change 24.102 Documentation: PDB.ASUMTAPE will have zero observations
ASUMTAPE if you do not have any observations in SYSLMNT dataset.
Jun 15, 2006 You must install ASMTAPEE (MXGTMNT) monitor at ML-38 or
later, which captures the SYSLOG mount information, now
required by the ASUMTAPE logic to create PDB.ASUMTAPE.
-New variables BEGTMNT, ENDTMNT, the begin and end times
of each tape mount event, and TOTTMNTM, total duration of
the tape mount are created:
BEGTMNT is SYLMTIME (SYSLOG Mount Start), which is
usually fractions of a second earlier than the
TMNTTIME when MXGTMNT saw the mount start, but
TMNTTIME is used if SYLMTIME is missing.
ENDTMNT is SYL5TIME (SYSLOG IEC705I Label Written) that
is usually fractions of a second later than the
TENDTIME when MXGTMNT saw the mount end, but
TENDTIME is used if SYL5TIME is missing.
TOTMNTTM=ENDTMNT-BEGTMNT, the mount delay to the job.
Change 24.101 Flag variable FSRFALT='WRITTEN*IN*DUPLEX*MODE?' is added
VMACHSM to the HSMFSRTP dataset.
Jun 14, 2006
Thanks to Michael E. Friske, Fidelity Systems, USA.
Change 24.100 Utility to get the ENGINE type of a SAS data library was
VGETENG revised to use PROC SQL instead of VGETOBS, to eliminate
Jun 14, 2006 the annoying MXGWARN that MXGENG datasets doesn't exist.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.099 Format MG116TY for SMF 116 MQSeries type was updated to
FORMATS add 0:INTERNAL TASK and 8:IGQ AGENT values, and to revise
Jun 14, 2006 so now 2:BATCH OR TSO.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 24.098 Support for the DCE segment in RACFTYPE 301 segment will
VMAC80A populate TOKDCE variable in the many events that can
Jun 14, 2006 have a DCE segment.
Thanks to Colin Wessels, Unicible, SWITZERLAND
Thanks to Pierre Beda, Unicible, SWITZERLAND
Change 24.097 More than six RACFTYPE=42 CLASS NAME segments caused MXG
VMAC80A to get INPUT STATEMENT EXCEEDED error, the "TRUNCATED
Jun 13, 2006 RECORD FOUND" that was added by Change 24.021. This
change added protection to skip over extra segments for
RACFTYPE 33, 42, and 43 segments.
Thanks to Michael Yuan, University of California Office of Pres, USA.
Change 24.096 Revised STK Exit UX01 protects a local UX01 exit that
ASMHSCEX does not save registers and status. This enhancement is
Jun 13, 2006 for sites that specify SYSPARM(Y) to include their local
UX01 exit in our link-edit step.
Change 24.095 PDB.ASUM70LP variables LPCTBY LPCTOV PCTLPBY PCTLPOV
VMXG70PR were always missing values because the DURATM=SYSDUR
Jun 10, 2006 statement was mis-located, and LPARDUR for PHYSICAL LPAR
was zero, now is set to DURATM*NRPHYCPS.
Thanks to Steve Olmstead, Northwestern Mutual Company, USA.
Change 24.094 Support for APAR OA12857 which adds PDSE Caching stats to
VMAC1415 the type 14/15 SMF records, with these new variables:
Jun 9, 2006 SMF14DRD ='PDSE*DIRECTORY*READ*REQUEST*COUNT'
SMF14DRDH='PDSE*DIRECTORY*READ*HIT*COUNT'
SMF14MCE ='PDSE*MEMBER*CACHE*ELIGIBLE*COUNT'
SMF14MCF ='PDSE*MEMBER*ELIGIBLE*CACHE FULL*COUNT'
SMF14MNC ='PDSE*MEMBER*ELIGIBLE*NOT CACHED*COUNT'
SMF14MRD ='PDSE*MEMBER*READ*REQUEST*COUNT'
SMF14MRDH='PDSE*MEMBER*READ*HIT*COUNT'
SMF14MST ='PDSE*MEMBER*CACHE*STOLEN*COUNT'
But see Change 24.196; it is required to avoid ABENDs.
Change 24.093 New variables added to EDALOGOF dataset:
VMACEDA EDACOMPL='COMP'
Jun 6, 2006 EDAOFA40='FULL*ACCOUNT*NUMBER'
EDAOFID1='SYSPLEX*ID1'
EDAOFID2='SYSPLEX*ID2'
EDAOFPID='POOLED*USERID'
EDAPRTY ='PRIORITY'
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
Change 24.092 z/OS 1.8 support (COMPATIBLE).
FORMATS -TYPE30 new EXSRMERR flag variable if SRM is unable to
VMAC108 return the SMF30AIx and SMF30EIx variables, and the
VMAC30 EXCPERR flag for over 4 Billion EXCP logic was revised.
VMAC7072 -SMF30MLS new value 10 decoded by MG030ML format.
VMAC71 -TYPE70 new variables:
VMAC74 SMF70CSC='SEQUENCE*CODE*OF*CONFIGURATION'
VMAC80 SMF70GJT='TIME WHEN*PARTISHN*JOINED*CAPACITY GROUP'
Jun 5, 2006 SMF70POM='PLANT*CODE*OF*MANUFACTURE'
Jun 22, 2006 -TYPE71 new variables for UIC statistics:
Aug 13, 2007 SMF71ULM LOWEST*MINIMUM*SYSTEM*UIC
SMF71ULC LOWEST*CURRENT*SYSTEM*UIC
SMF71UHC HIGHEST*CURRENT*SYSTEM*UIC
SMF71UHX HIGHEST*MAXIMUM*SYSTEM*UIC
SMF71UAM AVERAGE*MINIMUM*SYSTEM*UIC
SMF71UAC AVERAGE*CURRENT*SYSTEM*UIC
SMF71UAX AVERAGE*MAXIMUM*SYSTEMI*UIC
-TYPE72GO new Resource Group Capacity variables
R723GMLP='PERCENT*CAPACITY*OF LPAR?'
R723GMSS='PERCENT*CAPACITY*OF SINGLE*SYSTEM?'
-TYPE72DL new Resource Manager state samples
R723BPMI='BUFFER*POOL*IO*MISSES*SAMPLES'
R723RW05-R723RW15 'RESOURCE TYPE NN SAMPLES'
-TYPE74 new flag variable
IOTMERR ='CONNECT*TIME*IN ERROR?'
-TYPE74CF variable R744VLVL corrected to R744FLVL.
New variable R744FMPC with Plant Code of CF.
New variable R744FSEQ with CF Sequence Number.
-TYPE88 new variable
SMF88GRP='GROUP*VALUE*FOR THE*LOG STREAM'
-TYPE108, new transaction type values in MG108TR format.
-Jun 22: IBM confirmed SMF70GMU is binary, and not the
EBCDIC format in the pre-GA documentation.
-Aug 13, 2007: These group variables are in TYPE70PR and
should not have been output in TYPE70 dataset:
SMF70GNM='CAPACITY*GROUP*NAME'
SMF70POM='PLANT*CODE*OF*MANUFACTURE'
See Change 25.163.
Change 24.091 Revision to RMF III VSAM decompression utility corrects
ASMRMFV processing of the ENCG3 table for the ENC option, adds
DOCLRMFV reporting of the RMF III Index usages, and contains the
Jun 2, 2006 CPUG3 record size reduction.
-The CPUG3 Table output record is reduced in size to
contain only the data that is currently documented by
IBM; previously, a large number of LPARs/LCPUADDR could
generate a record that was greater than 32K.
-New optional messages RMFVO28I and RMFV029I report the
usage of RMF III Index; see prolog in ASMRMFV.
-DOCLRMFV documentation of the CLIST is updated.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.090 RMF III RESOURCE TYPE AND USE/WAIT TYPE MISMATCH messages
VMACRMFV caused ZRBUWENQ dataset to be incomplete or wrong; the
Jun 2, 2006 MXG code for REDG3 and UWDG3 segments was revised.
Thanks to Betty Wong, Bank of America, USA.
Change 24.089 MXGWARN: INTERVAL IS NOT A VALID VALUE FOR INTERVAL= may
VMXG70PR occur if you changed the default INTERVAL=DURSET in your
Jun 2, 2006 own %VMXG70PR invocation. The error was due to line 304
which should have had INTERVAL=&INTERVAL, syntax.
Thanks to David J Schumann, Blue Cross of Minnesota, USA.
Change 24.088 Variables QJSTCIWR QJSTLOGW QJSTLSUS QJSTSERW QJSTTHRW
VMACDB2 in the DB2STATS dataset have been wrong since they were
May 30, 2006 added by Change 18.305; the wrong variable name was used
in MXG's deaccumulation logic.
Thanks to Erling Andersen, SMT, DENMARK.
Change 24.087 Auditors requested the values of QW0141AC be formatted,
FORMATS so format $MGD141A now exists and it decodes:
VMAC102 'G'='G:GRANT'
May 30, 2006 'R'='R:REVOKE'
Thanks to Mike Duffy, LLoyds, ENGLAND.
Change 24.086 New variable R783CSSC is a character variable with $HEX2.
VMAC78 format that contains the value of R783CSs, which is a
May 26, 2006 numeric variable with HEX2. format, so that the TYPE78IO
R783CSSC and the TYPE73 SMF73CSS are both characters, so
they can be used without conversion to MERGE the two data
sets by Channel Subsystem ID.
Thanks to Bill Cool, EDS, USA.
Change 24.085 -Invalid values for NDMCPUTM because MXG read only the
VMACNDM first VOLSER in the Receiving or Sending VOLSER list.
May 26, 2006 -New values set for bits in NDMBYTE1 for NDMCOMPR:
NDMCOMPR='T' - COMPACTED?
NDMCOMPR='E' - COMPRS EXT?
NDMCOMPR='X' - DMDSSIOX
Thanks to John Shuck, SunTrust, USA.
Thanks to Srinivas Guntapalli, Citigroup, USA.
Change 24.084 Support for optional CICS fields with CMODHEAD/CMODNAME
IMACICMN values of MSGNAME and MSGTYPE.
IMACICMT
VMAC110
UTILEXCL
May 26, 2006
Thanks to Alan O'Hara, HBOS plc, SCOTLAND.
Change 24.083 Documentation. The ASUM70PR in MXG 24.03 can't summarize
ASUM70PR old PDB libraries built prior to MXG 23.23, because the
May 22, 2006 SMF70GIE variable was NOT kept in all RMF datasets until
Change 23.231. YOu can use ASUM70PR to summarize PDBs
built with 23.23-24.02, but you must add this OPTIONS:
OPTIONS DKRICOND=NOWARN;
%INCLUDE SOURCLIB(ASUM70PR);
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 24.082 RACF formats MG080EV for Event and MG080QU for Qualifier
FORMATS decoding were updated with new values of both Events and
May 22, 2006 Qualifiers.
Thanks to Linda S. Berkley, DISA, USA.
Change 24.081 -MXG 24.03 did not have ZDATE kept in PDB.ASUM70LP nor in
VMXG70PR PDB.ASUMCELP, which will cause an error if MONTHBLD from
May 19, 2006 24.03 is used, because those datasets were added to the
MONTHLY PDB, but ZDATE is used to select observations.
(The error message only occurs if ALL of your WEEK/DAY
datasets were created by MXG 24.03; if any PDB used in
the MONTH job was created with this change, then that
MONTHBLD run will not fail with an error; however, the
two output datasets will still be incomplete and wrong.)
-Since those two datasets never existed in the MONTH PDB
previously, you could use the prior MONTHBLD until all of
your DAY/WEEK PDBs have been created with this change.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 24.080 Analysis of MIPS/MSU from SMF 30 and RMF 72 by SRVCLASS
ASUMMIPS adds _SYNC59 macro for sites still stuck with the unwise
May 23, 2006 SYNCVAL(59) SMF option that was only required by MICS and
is unneeded and unwise if you no longer have MICS, and a
new _INTVAL macro so you can change the summary interval.
The default _INTVAL is HOUR, and _SYNC59 is NO.
Thanks to Pat Curren, SuperValu, USA.
Change 24.079 -New NOTYPE74=YES (DEFAULT) option skips PDB.TYPE74 data
VMXGRMFI when creating PDB.RMFINTRV dataset. Only these variables
May 18, 2006 AVGRSPMS DEVACTTM DEVCONTM DEVDISTM DEVPNDTM
SIO74CNT SIO74TAP
in PDB.RMFINTRV come from TYPE74 data, and they are total
across ALL of your DASD devices, so they have very little
value if you have ESCON and FICON channels, or have both
Cache/Non-Cache Controllers, or have different devices;
they will all have missing values with the YES default.
The new default can significantly reduce the run time and
CPU time of your RMFINTRV execution, but if you need the
above variables, specify NOTYPE74=NO in your RMFINTRV
will read the PDB.TYPE74 dataset and populate them.
-Datasets PDB.TYPE72 and PDB.TYPE73P are no longer used as
those datasets now always have zero observations.
-Comments document the only PDB datasets required are
TYPE70 TYPE71 TYPE72GO TYPE74 TYPE75 TYPE78 TYPE78IO.
Thanks to Steve Olmstead, Northwestern Mutual Company, USA.
Change 24.078 All z/VM MONWRITE datasets now have variable SYSTEM, that
VMACVMXA was previously only in the VMMTRSYS configuration dataset
May 18, 2006 from the 1.4 record, so you can combine MONWRITE data and
SORT/REPORT by each of your z/VM SYSTEMs.
Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.
Change 24.077 Value QLIM and MDC for SAS/ETS product were added to the
FORMATS $MGSASPR format that maps SAS Procedure Name to the SAS
May 17, 2006 product that "owns" that procedure, for the decoding in
the TYPESASU SAS User Record dataset.
Thanks to Len Rugen, University of Missouri, USA.
Change 24.076 -WARNING: VARIABLE CPCFNAME IN THE DROP KEEP RENAME LIST
VMXG70PR HAS NEVER BEEN REFERENCED (and the same warning for the
May 16, 2006 variables SMF70CPA, SYSDUR, MAXCPUS, MINCPUS, SYSSHARE
May 19, 2006 and CURSHARE), fortunately, does NOT impact the output.
These variables were left in DROP statements from an
earlier iteration of the redesign, but were not used in
the DATA steps that produced the warning message.
These messages are not printed using the MXG default
OPTIONS DKROCOND=NOWARN; using DKROCOND=WARN will cause
the above messages to be printed on the log, and if you
set OPTIONS DKROCOND=ERROR, my failure to remove them
will cause your job to fail with ERRORs.
-Variable DURATM in ASUMCELP is again TIME12.2 format.
Thanks to Randy Shumate, LexisNexis, USA.
====== Changes thru 24.075 were in MXG 24.03 dated May 15, 2006=========
Change 24.075 ML-39 of MXGTMNT Tape Mount Monitor enhancements include:
ASMTAPEE - support for the hardcopy message set, which allows for
May 15, 2006 the monitor to capture suppressed SYSLOG messages.
(Previously, if console messages were suppressed,
MXGTMNT didn't capture SYSLOG messages, and there
were zero observations in TYPESYMT dataset.)
- eliminates S0C4 ABEND in IEAQPGTM+01E6, which occurred
only at shutdown of the MXGTMNT task, with no impact
on the monitor's records. Because it was unexpected,
and appeared to be circumvented by changing the SYSOUT
class of the SYSUDUMP DD, IBM Support was invoked, but
their SLIP trap proved the error was, as they had said
before the SLIP trap, in our code!
- provides protection for future z/OS releases which may
enforce the No User Key CSA rule, by eliminating the
use of CSA Key 8 virtual storage in MXGTMNT coding.
While ASMTAPEE requested SP 241 in Key 0, it was
being ignored and the storage was allocated instead
in Key 8, which, while still "legal", is undesired.
Added Sep 2008: This change from 2005 does support
VSM ALLOWUSERKEYCSA(NO) to be specified in
your DIAGxx member.
- The B78-5C ABEND condition was also prevented in ML-39
Note added Apr, 2008: ML-39 is REQUIRED for z/OS 1.9.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Thanks to Ed Webb, SAS Institute z/OS, USA.
Thanks to Eladio Aviles, Arizona Public Services, USA
Thanks to George Kozakos, IBM Support, AUSTRALIA.
Change 24.074 Variables INTBTIME and INTETIME, Interval Begin and End,
VMAC30 were never defined for the TYPE30_4 and TYPE30_5 step and
May 15, 2006 job termination events, because they were previously only
output in the TYPE30_V Interval dataset. For the subtype
4 & 5 records, not only were they on the GMT clock, their
times were for the last interval, but for step and jobs,
the interval of the data is the step or job itself.
Fortunately, only the TYPE30TD dataset contained the two
variables from the subtype 4/5 records, and TYPE30TD is
only used internally in BUILDPDB to count tape drives,
and MXG's logic didn't use those timestamps; it was only
if you investigated the WORK.TYPE30TD dataset that you
could have observed the incorrect values. Now, for the
step and job termination records, the two variables are
now set as INTBTIME=INITTIME and INTETIME=SMFTIME, so the
variables describe the data interval in all cases.
Thanks to Mike O'Brien, Bank of America, USA.
Thanks to Betty Wong, Bank of America, USA.
====== Changes thru 24.073 were in MXG 24.03 dated May 13, 2006=========
Change 24.073 Change 23.334 caused type 30 interval records to always
IMACINTV be created, without having to edit IMACINTV, by removing
May 12, 2006 the old comment block around the OUTPUT statement. But,
the &MACINTV macro variable was located physically after
the OUTPUT statement, so it could not be used to alter
the TYPE30_V - PDB.SMFINTRV datasets as intended.
The &MACINTV statement was relocated ahead of the OUTPUT.
Thanks to Willy Iven, Fortis Bank Belgium, BELGIUM.
Change 24.072 INVALID DATA FOR SYTNLPMG/SYTACTM with XAMSYS 3507 data.
VMACXAM MXG used the TOTALs SEGLEN (if GE 48) to INPUT the two
May 11, 2006 percent SYTPCTBY/SYTPCTOV fields that may or may not be
present, and that worked for prior test data, but this
new data has SEGLEN=40 in TOTALs for its 1 LPAR, so the
LENDATA=12 (bytes after DURATM, so PCT fields are NOT in
the TOTALs section, but the LPARA section has LPAR count
of six with SEGLEN=168, but there are seven "buckets" of
LPAR data, so the LENDATA=20, and the "real" LPAR data
does have the PCT fields, while the TOTALs doesn't.
That 7th LPAR segment has a Partition Number of '0040'x.
To process these records and protect for the future, MXG
code now recalculates LENDATA for each SYTCUP record, no
longer retaining the value from the TOTALS record, and
used LENDATA to conditionally input the two fields.
May 13: Barton acknowledges the undocumented seventh LPAR
is actually a sub-total for that LPAR, with the
'40'x the LPARNUM of decimal 64 as his flag.
Outputting totals and details to the same dataset
is exposed to reporting errors, and since only
detail LPAR data was previously output to XAMSYT
dataset, this change does NOT output the new LPAR
sub-total section. The decision is internal now,
but could be externalized to EXXAMSYT if someone
convinces me they need that facility.
Thanks to Michael J. Salyer, CitiGroup, USA.
Change 24.071 The SMF manual mis-documented DFSORT bit 6 in ICEFLBY3 to
VMAC16 set new MEMOBJUS='Y' when a Memory Object is USED, but
May 10, 2006 SMF data shows MEMOBJUS must be IBM bit 7 (last), and the
updated DFSORT Installation and Customization Guide, pub
SC26-7524-00, page 212) confirms that bit, as well as
documenting that ICEMON is a 2-byte field at offset 438,
but MXG had input it as a 4-byte field at offset 436.
Fortunately, offset 436 and 437 are reserved and zeros so
ICEMON's value was correct, but MXG code is now revised.
Thanks to Diane Eppestine, AT&T Services, Inc, USA
Thanks to Gennady Katsnelson, AT&T, USA.
Change 24.070 The right-hand-value of format MG074PT for values of 3 is
FORMATS changed to '03'X='3:LIST STRUCTURE'
May 10, 2006 instead of '03'X='1:LIST STRUCTURE'
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Thom Kight, Fidelity Systems, USA.
Change 24.069 Comments only. ARRAY EXCEEDED error when running _BLDDICT
UTILEXCL if the PGM=DFHMNDUP was used to create CICS Dictionary
May 10, 2006 "SMF" records for five executing regions, but each of the
SMF files were read in five separate _BLDDICT executions.
The SMFTIMEs of DFHMNDUP were all the same (and in 1906!)
and because the records were processed one at a time, the
NREC variable was the same in all of the records, so the
MXG sort on SMFTIME NREC saw way too many entries.
If the five "SMF" files had been concatenated in one run
of _BLDDICT, the problem does not exist, even with same
SMF value, because they will get a different NREC when
there are five records read by _BLDDICT.
However, a new example in comments in UTILEXCL show
how you can correct an existing PDB.CICSDICT dataset
without going back to re-read the SMF data.
Thanks to Doug Jones, T-SYS, USA.
Change 24.068 -SHORT SEGMENT error messages in SYTCPC & STOSHR segments
VMACXAM are corrected; MXG logic did not protect for new fields.
May 9, 2006 The SHORT SEGMENT message is a real error in MXG code
that must be fixed, because that means that observations
were NOT output. Contact support@mxg.com if these occur.
-There were UNKNOWN SEGMENT xxxxx messages printed on the
SAS log that are NOT real errors; they are simply MXG
notes that new segments exist in the XAM data that are
not yet decoded, but the record was still output.
-The text of both messages was rewritten to clarify which
is an error (and what to do), and which is just a note.
-New segments are always supported when a user asks for
the new data, as I prefer to have real data and a real
user to validate new stuff, especially in zVM.
Thanks to Pat Curren, SuperValu, USA.
Change 24.067 Additional INTERVAL=DETAIL value is now supported, which
VMXGDUR will cause DATETIME value to be the original, raw, value
May 6, 2006 to be output, unmodified.
Change 24.066 Variables SYTPCTBY,SYTPCTOV, added by MXG Change 24.017,
VMACXAM were always expected, but they did not exist in Release
May 5, 2006 3507 of XAM. Logic revised to keep the SEGLEN of the
"Total" segment and use to INPUT the two fields that
were found in Release 3519.
Thanks to Michael J. Salyer, CitiCorp, USA.
Change 24.065 Variables STARTIME and SYNCTIME in TYPE23 were in the GMT
ADOC23 timezone while SMFTIME was (always) in Local time, but
VMAC23 the only documentation clue was that third argument "GMT"
May 4, 2006 in the %VMXGTIME(SYNCTIME,SYSTEM,GMT); statement
used only by the optional TIMEBILD facility, and only
when there was no GMT offset in the SMF record.
However, the PROC PRINT of TYPE23 (from 1999!!) in the
ADOC23 member clearly shows an exact 6-hour difference
between SMFTIME and SYNCTIME, so the GMTOFF23 can now be
calculated and used to convert SYNCTIME and STARTIME to
the local time zone. GMTOFF23 is kept in TYPE23, and if
it is non-missing, then STARTIME/SYNCTIME were converted
from GMT to local time zone.
I think this was not done before because nobody asked,
and maybe because SYNCTIME was not always present in
SMF 23 records way back when.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 24.064 Redesign of ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP creation.
VMAC7072 Major changes, perhaps incompatible:
VMXG70PR - ASUMCEC/ASUMCELP default summary interval is HOURLY.
VMXGINIT - ASUM70PR/ASUM70LP interval no longer set by IMACRMFI
WEEKBLD so you may have to add INTERVAL= in your ASUM70PR.
MONTHBL* - BY List variables were changed for all four datasets.
VMXGINIT
TRNDCEC This redesign is required because the old BY list of MXG
May 9, 2006 variables that I thought were sufficient to identify a
May 11, 2006 unique "SYSTEM", for summarization, these variables:
May 13, 2006 SYSPLEX SYSTEM SYSNAME STARTIME
are not sufficient, and cause incorrect output.
The new BY variables required to identify a "SYSTEM"
CECSER SYSPLEX SYSTEM SYSNAME LPARNUM LPARNAME SMF70GIE
are used in VMXG70PR logic to group, but you would use
CECSER SYSPLEX SYSTEM SYSNAME LPARNUM LPARNAME STARTIME
for your reports by Start time, and any other summaries.
-The ASUM70PR/ASUM70LP "SYSTEM" and "SYSTEM-LPAR" summary
data were less exposed to serious errors (because they
are per system with less time variance) than were the
ASUMCEC/ASUMCELP "CEC" and "CEC-LPAR" datasets, which
were very wrong when DURATM and/or STARTIME values were
not the same for all SYSPLEX and SYSTEMS in a CEC, but
all four datasets could be in error with the old "BYs".
And even with the revision, you need to remember that the
"SYSTEM" and "SYSTEM-LPAR" datasets have observations for
each interval from every SYSTEM in each SYSPLEX, so they
have duplicate and replicated data, and you must always
select which "SYSTEM" to use.
-While I do find a PROC PRINT of PDB.ASUM70PR/PDB.ASUMCEC
datasets can be useful to get a snapshot of overall usage
for each LPARs, those two datasets are very unwieldy for
reports, with their 61 sets of different variable names
to deal with. Furthermore, the "LPARNUM" bucket-number
changes with new LPARs so it's not really stable for long
term comparisons.
-Instead, the best datasets to use for LPAR analysis are
the ASUM70LP or ASUMCELP, as they have only one set of
variable names, and you can select and sort by LPARNAME
or SYSTEM, etc., without scanning 61 possible variables.
-The errors that were found in the old ASUMCEC/ASUMCELP
logic could result in multiple observations with slightly
different STARTIME or SMF70GIE values, and/or you could
have duplicate, overlapping, or incorrect data:
-The SPLIT70 rewrite correctly used SMF70GIE to group
by the end of interval for all "BY SYSPLEX-SYSTEM"
(TYPE70,RMFINTRV,ASUM70PR/ASUM70LP) datasets, but it
cannot be used (as-is) to group "BY CECSER", because
SMF70GIE is not the same value in all LPARs in a CEC
for a particular interval, and it caused multiple
observations with overlapping STARTIME to SMF70GIE.
-The DURATM of ASUMCEC was wrong when there were LPARs
with different interval durations. The minimum DURATM
for CEC summary must be at least the largest DURATM,
but for some DURATM values, it must be larger still.
It must be the Least Common Denominator of all of
your DURATMs, so with 10 and 15 minute DURATMs,
your minimum summary interval is 30 minutes.
-Interval DURATM values are very "fuzzy", even for the
"interval pop" observations that you expected to have
the exact INTERVAL you requested (10, 15, or 30 min).
Here's some reality from four CECs that share SYSPLEX:
Interval DURATM
Min Max
CECONE 14:58.99-15:53.26
CECTWO 14:59.62-15:00.50
29:59.88-30:00.11
CECTHREE 09:59:54-10:00.74
14:59.24-15:23.17
CECFOUR 14:59.75-15:00.23
28:54.08-30:00.08
And there are always intervals of much smaller DURATM:
the first RMF interval's end is forced so the next is
synchronized with time of day, so any value of DURATM
less than the maximum can occur in SMF data, which
prevents using the data to set the summary interval.
-CECs with LPARs with both SYNC(0) and SYNC(59) have
some SMF70GIE values of 00/15/30/45 minutes and some
with values of 59/14/29/44 minutes, so it's impossible
to exactly summarize that data to a true CEC interval.
-Inexactness of DURATM across LPARs in a CEC caused the
STARTIME=SMF70GIE-DURATM; to be as inexact as DURATM,
so STARTIME can not be used, either.
-With these inconsistent/fuzzy times, creating a perfect
CEC-LPAR summary dataset for each LPAR in each CEC is not
possible, but we can create a very-good summary dataset,
that gets to be nearly-perfect if all of your systems are
on the same SYNC() and INTERVAL() specifications in RMF.
But you still may occasionally get percentages over 100%!
-The PDB.ASUM70PR and PDB.ASUM70LP datasets summary DURATM
used to be set by the IMACRMFI member's _DURSET macro, so
the interval of those two datasets matched your RMFINTRV.
And this still works fine, if your _DURSET macro made no
change in STARTIME (i.e., your RMFINTRV/ASUM70PR/ASUM70LP
were at the original, raw datetimes of your RMF data).
But if you have used _DURSET to change the STARTIME of
PDB.RMFINTRV to a summary interval, I can't tell what you
wanted for your interval, so I will now print a message
that I have to build those two datasets a detail level,
and telling you to use the INTERVAL= parameter in your
ASUM70PR member, instead of IMACRMFI, to define interval.
-The redesign creates the CEC-level by-LPAR summary data
in the PDB.ASUMCELP ("CEC-LPAR") dataset, starting with
the just=built PDB.ASUM70LP ("per-SYSTEM-LPAR"
resources for each "LPAR" for each "STARTIME" within each
"CECSER" box, with the new duration DURATM = "CECINTRV":
"LPAR" - Variables SYSPLEX LPARNUM LPARNAME are
used to uniquely define each "LPAR", as
the same LPARNUM and/or LPARNAME can be
used in different SYSPLEX on same CECSER.
"STARTIME" - STARTIME and SMF70GIE are shifted to the
"expected, exact" time of day value for
CECINTRV interval. See algorithm below.
"CECINTRV" - Default summary interval is 60 minutes,
so STARTIME/SMF70GIE will be on the hour.
As noted above, the CEC summary interval
MUST be the Least Common Denominator of
all of your DURATMs, so using 60 minutes
safely summarizes every RMF Interval that
I've ever used (1,3,5,10,15,20,30,60).
You can use a smaller value for CECINTRV
only if it is equal to the LCD of all of
your DURATM values for all of your LPARs.
- SMF70GIE is changed to be the "correct" interval end
time of day for the CECINTRV duration. One minute is
added if SYNC(59) minutes of 14,29,44 or 59 are found,
other endtimes are pushed to the correct TOD value.
So the CEC-summary data can still be slightly wrong
because two slightly different intervals are summed
together, but that's all that can be done, unless
you change all of your interval and SYNCs to be the
same!
Each SMF70GIE and LPARNAME is summarized to combine the
short intervals into the summary interval, using
BY CECSER SYSPLEX LPARNUM LPARNAME SYSTEM SYSNAME
(revised) SMF70GIE
That summary of each LPARNAME is then sorted
BY CECSER SMF70GIE LPARNUM LPARNAME
DESCENDING SMF70LAC DESCENDING DURATM,
and the first instance of each LPARNAME is output
to create the PDB.ASUMCELP dataset, with the total
resoures consumed by each LPAR in that CEC for the
constructed CEC Interval. Variable STARTIME is
recalculated as SMF70GIE-CECINTRV so all of the obs
will have the same "pseudo" STARTIME for reporting.
-While the new sort order BY CECSER SYSPLEX .... is used
inside VMXG70PR to ensure correct assembly and summary,
at the end, the four output datasets are sorted back to
their old sort order, with the new variables added at the
end, hopefully to avoid NOTSORTED errors in your weekly
and/or monthly jobs that combine ASUMs built with both
the old and new logic. The final sort order is:
ASUM70LP:
BY SYSPLEX SYSTEM SYSNAME STARTIME SHIFT CECSER
LPARNAME LPARNUM
ASUM70PR:
BY SYSPLEX SYSTEM SYSNAME STARTIME SHIFT CECSER
ASUMCELP:
BY CECSER STARTIME SHIFT LPARNAME LPARNUM
ASUMCEC:
BY CECSER STARTIME SHIFT
-A new macro variable, &MXGNOBY, is created for NOTSORTED
circumvention in each of the WEEKxxxx/MONTHxxx members.
The current circumvention, documented in comments in each
of those members, still works fine, but it requires you
to EDIT your WEEKxxx/MONTHxxx member to insert:
MACRO _BY % MACRO _SORTBY %
which disables the BY processing in the SET statements.
Without the BY processing, the output dataset is not
in sort order, but instead is the concatenation of
the input datasets, but there is no requirement that
the datasets be sorted (except in MXG's MONTHxxx and
WEEKxxx code!!). Even though MXG normally builds its
datasets sorted, you should never make that assumption
and thus should always sort the input data yourself;
however, if the dataset is already sorted in the same
order, SAS will bypass your sort. Thus having output
of the weekly or monthly only impacts run times, but
not the contents of the output datasets.
This new &MXGNOBY macro variable is located so that it
can be used in your //SYSIN to disable BY processing,
without EDITing your WEEKxxx/MONTHxxx member, using
%LET MXGNOBY = MACRO _BY % MACRO _SORTBY % ;
%INCLUDE SOURCLIB(MONTHBLD);
And, then remove the %LET before the next MONTHBLD!
-May 11:
Variable LPARWAIT was incorrectly kept in ASUMCEC/TRNDCEC
but it is an LPAR-specific field that was stored into its
LCPUWAIn variable, so LPARWAIT is not kept in ASUMCEC nor
TRNDCEC. The labels for the LCPUWAITn variable now are
'LCPU n*WAIT*COMPLETE?'.
-May 13:
The variables NRIFCCPU/NRIFACPU/NRIFLCPU/NRZIPCPU that
count the number of "specialty engines" was sometimes
incorrect in the PDB.ASUMCEC and PDB.ASUM70PR datasets.
They are corrected, and documented as to when they will
be zero and when they won't:
For the "this system" PDB.TYPE70 dataset, SMF70CIN='IFA'
is used to count the NRIFAS available to "this system";
but even when SMF70CIN is not populated with that new
value, the original MXG heuristic algorithm detects and
counts IFAs, and populates CPUIFATM and the other IFA
durations. The "this system" datasets PDB.TYPE70 and
PDB.RMFINTRV do not depend on new values in SMF70CIN.
However, for "LPAR summary" PDB.ASUM70PR & PDB.ASUMCEC
datasets, SMF70CIN must be populated with "IFA" to count
each type of "specialty engines". But SMF70CIN is only
populated with new 'IFL' or 'IFA' values on z9 and later
processors, so only z9+ systems will have the correct
count values in all four NRxxxCPU counters. Pre-z9
systems have only 'CP' or 'ICF' in SMF70CIN so they will
have zeros in NRIFACPU and NRIFLCPU, and the NRICFCPU
variable will contain the total count of all of the
specialty engines in that CEC.
But it is only the NRxxxCPU counters that may be zeroed.
Whether it's a z9+ or not, the IFACPUTM,IFAUPTM,IFAWSTTM
duration variables were correct when an IFA is used, and
you can have NRIFACPU=0 with IFACPUTM non-zero pre-z9's!
Change 24.063 The calculation of MACHTIME in TYPE89 & TYPE892 datasets
VMAC89 was revised with SMF data that had SMF89DTO and SMF89HOF
Apr 29, 2006 populated. Now, MACHTIME=SMF89UET-SMF89DTO-SMF89HOF, and
May 4, 2006 it is the "TRUE" GMT Clock datetime when the actual usage
occurred to be used by IBM for usage charges. MACHTIME is
needed for IBM to charge you correctly, since you can IPL
IPL with any date/time/offset, as you did for Y2K tests,
and may to do again for Y2042 testing (8-byte STCK fields
will wrap at 23:53:48 on Sep 17, 2042, but must be fixed
prior to 2012, because tape retention can be 30 years.)
Only MACHTIME is is adjusted, as all of the other times,
SMF89UST, SMF89IST, SMF89IET, SMF89UET and SMFTIME are
always on the same (local) time zone.
And SMF89DTO, unlike all other SMF GMT Offset fields,
is the offset from local back to GMT.
The SMF89IST/SMF89IET times are the start/end of the
interval of data (twelve 5-minute intervals in an hour),
while the SMF89UST/UET are always the hourly start/end
of each usage hour, so they have the same value in all
twelve detail observations for that hour.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Thanks to Stephen H. Hodges, OneBeacon, USA.
Change 24.062 SAS ERROR: BIT CONSTANTS ARE NOT SUPPORTED BY SQL because
MXGSASV9 the Service Pack SASMSG DSN was not first in the //SASMSG
Apr 27, 2006 concatenation. When you install a SAS Service Pack, the
new SASMSG DSNAME contains ...SL..., and that DSNAME must
be first in the //SASMSG DD concatenation. This change
adds a ...SL... DD/DSNAME to the MXG Example JCL Proc.
Due to how SAS messages are built, if the wrong SASMSG
is first, you can get all types of failures, including
ABENDS. Many times there will be a message text that
makes no sense (there are no BIT tests in any of the
code that produced the above error), because the SAS
message formatting is processing the wrong message ID,
due to the incorrect library being first.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 24.061 Revised to work on ASCII systems; SAS WENT TO A NEW LINE
TIMEBILD error message if there was no data in the OFFGMT column.
Apr 26, 2006 On z/OS, TIMETABL is a RECFM=F/FB file, so there always
May 22, 2006 is at least a blank in column 64, where OFFGMT was read,
but on ASCII, the text file is variable length, and that
unconditional INPUT @64 with no data caused SAS to skip
the next line in TIMETABL. The INPUT @64 OFFGMT is now
conditionally executed only if there is data there.
The error was observed when the time stamps on systems
that were listed in TIMETABL were not being changed.
-May 22: The LRECL=72 in the INFILE &TIMETABL statement
left during testing this change was removed.
It caused an OPEN ERROR if the &TIMETABL DD
pointed to an LRECL=80 dataset (i.e. SOURCLIB).
Thanks to Ingegerd Jansson, Volvo, SWEDEN.
Change 24.060 The RMF-like CPU Activity Report is updated for IFAs and
ANALRMFR IFL engines.
Apr 26, 2006
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 24.059 For z/890's only, the three IFA CPU Time variables in the
VMAC30 TYPE30/STEPS/JOBS, CPUIFATM, CPUIFETM CPUIFDTM, were the
Apr 26, 2006 "measured" rather than "normalized to CP seconds" in MXG,
and thus their values were too large on z/890s. The
three times are now revised to be the "normalized" time:
CPUIFATM=CPUIFATM*SMF30ZNF/256;
CPUIFETM=CPUIEATM*SMF30ZNF/256;
CPUIFDTM=CPUIDATM*SMF30ZNF/256;
and those equations could be used to correct existing
MXG datasets.
Change 24.058 -The SORT order of PDB.ASUMTAPE was changed in MXG 23.09
ASUMTAPE (Change 23.300) to BY "LOCATION" DEVNR. Previously, it
WEEKBLD was BY SYSTEM DEVNR, but it was never correct to include
Apr 26, 2006 SYSTEM if you shared tape devices across systems. One of
the major corrections in Change 23.300 was the removal of
SYSTEM from the ordering (and the creation the optional
"LOCATION" to support multiple locations with the same
DEVNR for two different devices), as well as the addition
of the SYSLOG mount-related messages in the redesign.
Unfortunately, I did not document this change in the sort
order of PDB.ASUMTAPE, and I failed to update the WEEKBLD
programs, which still had the old BY statement. SYSTEM
has now been removed from the BYLIST in those WEEKBLx's.
-Macro _GRPMNCD to define the optional "LOCATION" was not
invoked in the ASUMTAPE member (which only proves that no
one yet had tried to use that option!), but now it can be
used if needed.
====== Changes thru 24.057 were in MXG 24.02 dated Apr 26, 2006=========
Change 24.057 New analysis of RAID boxes, creates new PDB.RAIDMAP and
ASUMCACH PDB.CSSSID datasets that shows, for each CSSID, all of
ASUMRAID the volumes on that CSSSID (typically 80 to 256). Some
GRAFRAID user tailoring of the ASUMRAID member will be required;
Apr 25, 2006 read the comments in ASUMRAID.
-The ASUMRAID analysis requires ASUMCACH to have been run
to create PDB.ASUMCACH; this change cleaned up ASUMCACH
so it won't fail even if there was no TYPE74CA dataset
observations.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.056 New GLOBAL macro variable MGCMPNY is now defined as null
VMXGINIT in VMXGINIT, but it will be used in MXG reports so your
Apr 25, 2006 Company Name can be printed on reports. You could set it
permanently in IMACINIT, with
%LET COMPANY='MERRILL CONSULTANTS;
or you could just put that %LET in your //SYSIN stream.
The reports that have been revised to use &MGCMPNY will
be added to this list:
ASUMRAID
Change 24.055 See Change 24.063.
VMAC89
Apr 25, 2006
Change 24.054 This example, which reads SMF data to run ASUMTAPE, was
ASMFTAPE not updated for the new SYSLOG Messages dataset, which
Apr 24, 2006 caused FILE PDB.TYPESYMT NOT FOUND error. The example
was revised to use the _STMNT product sort macro so that
all present and future TMNT datasets are sorted.
Thanks to Andre Vossen, ABN AMRO Bank, THE NETHERLANDS.
Change 24.053 Error messages printed for negative CPUUNITS are now only
VMAC30 printed if the delta is 1000 unweighted service units, or
Apr 24, 2006 about 0.05 CPU seconds on an SU_SEC=25000 machine. The
messages were added by Change 23.323 when the cause was
not known, but new analysis of a full day's SMF interval
records had only 56 records which had IFAUNITS greater
than ORGUNITS, but the max delta was only 650 units, or
0.03 seconds on the SU_SEC=25000 machine. The CPUTCBTM
was 0.00 or 0.01 CPU seconds, and CPUIFATM was between
0.25 to 0.44 CPU seconds for the 30 minute intervals.
MXG's value of CPUUNITS will not be changed, so you can
see if this occurs, but the MXG Error Message will only
be printed when the negative delta is significant.
After discussions of this data with IBM, I agree that
these negative values are the result of imprecision in
CPU timings (.01 resolution) and in the way Service Units
are calculated (remainders are discarded in some fields,
rounding is done in others) and are not a problem to be
immediately corrected, although IBM does plan to review
their remaindering/rounding logic.
Jul 27, 2006: It appears the correction to IBM Service
Unit remaindering is corrected by APAR OA16005.
Change 24.052 Debugging PUT statement removed.
VMACFILA
Apr 24, 2006
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 24.051 In DB2 V8.1, QISEDBW was missing but shouldn't have been,
VMACDB2 QISEDSC should have been but wasn't, and these four new
Apr 24, 2006 variables are now INPUT for the DB2ACCT dataset.
Apr 25, 2006 QISEDYNP QISECFAL QISECPGE QISECFRE
Apr 27, 2006 And, QISESTMT should not have been de-accumulated.
And, QISEDSI and QISEDSG are now de-accumulated.
Thanks to Clayton Buck, UniGroup, iNC.
====== Changes thru 24.050 were in MXG 24.02 dated Apr 24, 2006=========
Change 24.050 New variables INDXUSED and POLYUSED are created from DSIG
VMACRMFV offset variables that are now kept in ZRBBDSHI dataset,
Apr 23, 2006 to detect and eliminate "dead space" in RMF VSAM files.
RMF Monitor III "indexes" each Sample Set in the DSH
table; a sample set is written for each MINTIME interval
and the index provides the offset into the data set for
each sample. But the max DSH is 32K long; the fixed DSH
header is 256 bytes, leaving 32512 bytes for the 28-byte
indexes, for a maximum possible of 1161 indexes; Cheryl
Watson reported 50 are saved for Policy Indexes, leaving
1111 indexes for the actual sample data indexes. In the
past sites had cumbersome calculations to insure the RMF
III VSAM files were not too large; otherwise, those 1111
index entries could be exhausted. But with the INDXUSED
calculation, Jerry found they were only using 80-95 of
the indexes on each dataset because their sample sets are
so large. With RMF III data sets of only 2250 tracks
each, they would exhaust space long before running out of
indexes. The datasest could be made much bigger, keeping
more data online for interactive analysis, and still not
risk creating any "dead space". And adding new RMF III
datasets may not be an option, as there is a hard limit
of 100 datasets.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.049 Variables WTASFLAG and WTASFLG2 are now kept in MQMQUEUE
VMAC116 dataset, from MQMACCTQ segment, and new variable SM116EVT
Apr 23, 2006 is created to distinguish between records written at the
Apr 25, 2006 end of each thread from records written at interval end.
Data showed that the thread end had WTASFLAG='30'x and
the interval end had WTASFLAG '00'x or '20'x.
IBM now provided these bit explanations:
WTASFLAG
WTASERR 0 set if an error occurred
WTASLAT 1 Latency Error
WTASAEOT 2 Accounting End of Thread
WTASDEAL 3 Thread Deallocated
WTASFLA2
WTASHERE 8 WTASHERE Block has been used
So new MXG variable SM116EVT is now created, with
LABEL S116VENT='EVENT*I=INTERVAL*T=THREAD END';
IF WTASFLAG='..11....'B THEN SM116EVT='T';
ELSE SM116EVT='I';
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 24.048 A new version of the CLRMFV TSO Clist, the driver for the
CLRMFV ASMRMFV RMF Monitor III decompression utility, adds new
DOCLRMFV options to provide better support for the single large
Apr 23, 2006 output file if can now create with CALLBY(ALL):
-OUTSCL() SMS STORCLAS, now default is null.
-OUTMCL() SMF MGMTCLAS, now default is null
-OUTMLQ() to specify middle level qualifier for RMF dsn.
-OUTRLSE() to specify YES or NO (YES is default)
-OUTTYPE() to specify DSNTYPE.
See DOCLRMFV for full description and usage notes.
A special thanks to Acxiom leadership for allowing this
effort to continue to go forward.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.047 LABEL statements with duplicated variable names are now
Apr 23, 2006 detected in MXG's QA stream, and all have now been fixed.
DOC In some cases, this was a real error: two different data
fields were stored in the same variable, so a new named
variable had to be created for that second field. All of
the other cases were examined and the "better" label was
kept. SAS uses the last label it compiles, so if "last"
was "better", then there was no change, but some labels
will now be different (and, hopefully, "better').
Change 24.046 zIIP support. (APAR OA13499, z/OS 1.6, 1.7, and 1.8).
VMAC30 The metrics and variables for the new zIIP engines are
VMAC7072 very much like the metrics for IFA/zAAP engines.
VMACDB2 -TYPE30 New Variables:
VMACRMFV CPUZIPTM='TOTAL*EQUIVALENT*CPU TIME*ON_ZIP'
VMXG70PR CPUEZITM='INDEPENDENT*ENCLAVE*CPU TIME*ON ZIP'
Apr 20, 2006 CPUDZITM='DEPENDENT*ENCLAVE*CPU TIME*ON ZIP'
Jun 5, 2006 CPUZIETM='ZIP-ELIGIBLE*CPU TIME*ON CP'
Jun 13, 2006 CPUEZETM='ZIP-ELIGIBLE*IND ENCLAVE*CPU TIME*ON CP'
Jun 14, 2006 CPUDZETM='ZIP-ELIGIBLE*DEP ENCLAVE*CPU TIME*ON CP'
Jun 15, 2006 CPUEZQTM='ZIP-QUALIFIED*IND ENCLAVE*CPU TIME'
Jun 22, 2006 CPUDZQTM='ZIP-QUALIFIED*DEP ENCLAVE*CPU TIME'
Oct 13, 2006 ZIPUNITS='ZIP-EQUIVALENT*CPU*SERVICE*UNITS'
ZIEUNITS='ZIP-ELIGIBLE*CPU*SERVICE*UNITS'
-TYPE70 New Variables
NRZIPCPU='NUMBER OF*ZIP*ENGINES*AVAILABLE'
Oct 13, 2006 Note: Originally spelled NRZIPS in
this text, I chose NRZIPCPU for the new name in all
TYPE70/RMFINTRV/ASUM70PR/ASUMCEC/etc datasets.
Since NRIFAS already existed in TYPE70/RMFINTRV,
I had to leave that spelling in those datasets, but
I used NRIFACPU in the ASUM70PR/ASUMCEC/.. datasets
which previously didn't have a count of IFAs.
SMF70SUP='ZIP PROCESSORS*ONLINE*AT END OF*INTERVAL'
PCTZIPBY='ALL ZIPS*PERCENT*BUSY (DISPATCHED)'
ZIPAVAIL='ZIP*PROCESSOR*AVAILABLE?'
ZIPACTTM='ZIP ENGINE*EXECUTING*(ACTIVE) CPU TIME'
ZIPUPTM ='ZIP ENGINE*AVAILABLE*(UP) TIME'
ZIPWAITM='TOTAL*ZIP WAIT*DURATION'
ZIPWAIT0='ZIP WAIT*DURATION*ZIP 0'
ZIPWAIT1='ZIP WAIT*DURATION*ZIP 1'
ZIPWAIT2='ZIP WAIT*DURATION*ZIP 2'
... 3 thru 30 ...
ZIPWAITW='ZIP WAIT*DURATION*ZIP 31'
ZIPWAITX='ZIP WAIT*DURATION*ZIP 32'
PCTZIBY0='ZIP 0*PERCENT*CPU BUSY TIME'
PCTZIBY1='ZIP 1*PERCENT*CPU BUSY TIME'
PCTZIBY2='ZIP 2*PERCENT*CPU BUSY TIME'
... 3 thru 30 ...
PCTZIBYW='ZIP 31*PERCENT*CPU BUSY TIME'
PCTZIBYX='ZIP 32*PERCENT*CPU BUSY TIME'
-TYPE72GO New Variables
CPUZIETM='ZIP*ELIGIBLE*CPU*TIME'
CPUZIPTM='ZIP*CPU*TIME'
R723CIFA='IFA*SERVICE*UNIT'
R723CIFC='IFA-ELIGIBLE*SERVICE*UNITS'
R723CSUC='ZIP-ELIGIBLE*SERVICE*UNITS'
R723CSUP='ZIP*SERVICE*UNITS'
R723SUCU='ZIP-ELIGIBLE*ON CP*USING SAMP'
R723SUPD='ZIP*DELAY*SAMPLES'
R723SUPU='ZIP*USING*SAMPLES'
ZIEUNITS='ZIP*ELIGIBLE*UNITS'
ZIPUNITS='ZIP*SERVICE*UNITS'
-DB2 CPU Time fields added to DB2ACCT (APAR PK18454).
QWACZIEL='CPU TIME*ZIP ELIGIBLE*ON CP*ENGINE'
QWACZIS1='CPU TIME*EXECUTING*ON ZIIP'
QWACZIS2='CPU TIME*IN DB2*EXECUTING*ON ZIIP'
QWACZITR='CPU TIME*IN TRIGGERS*EXECUTING*ON ZIIP'
-DB2 CPU Time field QPACZITM for Package ZIP execution:
QPACZITM='CPU TIME*
-RMF Monitor III fields added to CPUG3 segment for zips:
CPUITSUP='LOGICAL CPU*TIME ON*ZIP*PROCESSORS'
CPUPRSUP='ONLINE*TIME ON ZIP*PROCESSORS'
CPUSTSUP='PHYSICAL CPU*TIME ON*ZIP*PROCESSORS'
CPUSUCOL='AVERAGE*ZIPS*ONLINE*DURING*INTERVAL'
CPUSUCON='ZIP ENGINES*ONLINE*AT END'
See Change 24.181 for more RMF III zIIPs data.
-ASUMCEC new calculated variables:
PCTIFABY='ALL IFAS*PERCENT*BUSY (DISPATCHED)'
PCTZIPBY='ALL ZIPS*PERCENT*BUSY (DISPATCHED)'
Jun 5: VMAC7072 was revised to correctly input variables
R723SUP/R723CSUC/R723CIFA/R723CIFC.
Jun 13: Some 70 zIIP variables had IFA in their labels.
Jun 14: Some 30 zIIP variables had IFA in their labels.
Jun 15: DB2 zIIP variables created in DB2ACCT,DB2ACCTP
Jun 15: TYPE72GO fields added to KEEP=, LABEL.
Jun 20: Change 24.105 revised ASUM70PR for zIIPs.
Jun 22: VMACRMFV updated for RMF Monitor III Zip data.
-And now that IFA/ZIP text is in all MXG variable labels,
the APAR documents that IBM has changed RMF reports to
now print 'AAP' for IFA/zAAPs and 'IIP' for zIIPs, but
I am not going to change either those existing labels nor
the variable names that already exist.
Change 24.045 Support for APAR UK12301 (Tivoli Allocation Optimizer SMF
VMACTIAO record) adds flag bit for Not Cataloged 2 error condition
Apr 19, 2006 (which only applies to non-SMS-managed datasets!), and
new TIAOVOL variable if Not Cataloged bit is on, with the
VOLSER of the dataset in error.
Change 24.044 Variable BEGTIME was missing in DB2STATB dataset for the
VMACDB2 startup record (QWHSISEQ=1), which is now corrected (by
Apr 19, 2006 setting BEGTIME=ENDTIME=QWHSSTCK and DURATM=0). But for
the first instance of each Buffer Pool that was not a
startup record, not only was BEGTIME a missing value,
but also the rest of the variables were trash, because
the accumulated values were output. A long term solution
would be to introduce "SPIN" logic into DB2 processing,
but as no one has noticed the trashed data, and as the
introduction of the need for the //SPIN DD into stanalone
DB2 processing could cause well-running programs to fail,
my present solution is to not output that first instance,
and if that observation is truly ever needed for ad hoc
problem analysis, using the prior day's SMF data and
today's SMF data, concatenated as input, will completely
provide correct data, without a redesign to use SPINing.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 24.043 Variables PCTCPUBY=. and CPUACTTM=. in PDB.TYPE70 dataset
VMAC7072 if the SYSTEM is is not-LPARed, but instead only exists
Apr 7, 2006 as a single image. This case is now detected and the
code sets PCTCPUBY=PCTMVSBY, and CPUACTTM=CPUMVSTM.
Thanks to Ronald Kveton, Experian, USA.
Thanks to William Whitehead, Experian, USA.
Thanks to John Rourke, Experian, USA.
Change 24.042 Support for CPC RMF III report data, which is now INPUT
EXZRBLCP from the ERBCPUG3 segment; some of the variables are
IMACRMFV output into the existing ZRBCPU dataset, but the LCPUADDR
VMACRMFV details are output in the ZRBLCP dataset.
VMXGINIT Five of the new fields in ZRBCPU dataset are accumulated:
Apr 7, 2006 CPUPRIFA, CPUWEICD, CPUWEIND, CPUUNCTD and CPUCAPTD and
a revision to this change will be made shortly to sort
and deaccumulate those values, and this text will be
revised when that logic has been added and tested.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 24.041 As noted in Change 23.132, the new MACHTIME variable was
VMAC7072 created but not validated, and my guess to add SMF70HOF
VMAC89 was incorrect; test data shows that SMF70HOF is to be
Apr 7, 2006 subtracted in VMAC7072 to get back to true GMT.
May 1, 2006 May 1: test 89 data confirmed SMF89HOF is also to be
subtracted in VMAC89 to create MACHTIME; Change 24.063.
Thanks to Manfred Giezendanner, Credit Suisse, SWITZERLAND.
Thanks to Gion Cabernard, Credit Suisse, SWITZERLAND.
Change 24.040 CICS/TS 3.2 iteration 2 time fields 12 bytes, April.
VMAC110 CICS/TS 3.2 iteration 3 time fields Pib8.8/4096.
Apr 7, 2006 Sep 21: UTILEXCL expanded for Iteration 3.
Sep 19, 2006 Oct 14: Updates for the changed Statistics Subtypes
Oct 14, 2006 (INCOMPATIBLE except for DST,DSR,MNG):
STID DSNAME New Variables added.
- 2 SMS
==> Nothing New in DSECT.
- 64 CICDST DSTCIUHI DSTCIULO DSTNIUHI
DSTNIULO
==> But 20 bytes added are not doc'd.
- 65 CICDSR DSRCIULO DSRCIUHI
==> But 20 bytes added are not doc'd.
- 67 CICFCR DFHA17DS DSECT.
==> Nothing New in DSECT
- 74 MQG MQ Connection Statistics Global
New
==> DFHMQGDS DSECT does not exist
- 81 MNG New Compression Variables
==> DFHMNGDS DSECT is not current.
-109 ISR IP Connection (Resource)
New
==> DFHUSRDS DSECT does not exist
-117 SJG
==> Nothing New in DSECT.
-117 SJR
==> Nothing New in DSECT.
Change 24.039 New example program to create a Monthly PDB from only the
JCLMNTHW six weekly PDBs that might be required to span the prior
MONTHWEK month when only WEEK PDBs are to be read. This example
can be run on any day of the next month to create last
Apr 7, 2006 Month's PDB library. You would still need to tailor:
May 4, 2006 JCLMNTHW - the _SELDSN macro to list only the datasets
that you want created, and
MONTHWEK - delete two lines (MACRO _DSET, MACRO _BYLIST)
for each dataset that you do not want created.
May 4: Revised to read 6 weekly files; while only five
are needed for the normal MONTHBLD on the first of
the month, some months (July 2006) would need to
read six weekly PDBs to create that month's PDB
if only the week PDBs were to be read.
Thanks to William Carroll, Grange Insurance, USA.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 24.038 "ERROR: UNABLE TO CREATE PDB.MXGENG.DATA BECAUSE VIEW
VMXGENG PDB.MXGENG.VIEW ALREADY EXISTS" with MXG 24.01 BUILDPDB
Apr 5, 2006 occurs only if OPTIONS='USER=PDB' was specified
For BUILDPDB that option should never be used. It
tells SAS to write all datasets that would have been
written to the //WORK DDname, to instead be written
to the //PDB DD. But the BUILDPDB design is to write
first to the //WORK DD, sort and write the output to
the //PDB DD, so you can get I/O between volumes and
not hammer the //PDB DATASET by read and write to a
single PDB library for both work and output.
The VMXGENG code used to create MXGENG as a VIEW, and
with USER=PDB, that created PDB.MXGENG.VIEW in the //PDB
library each day, but you can replace a SAS VIEW with a
SAS VIEW of the same name. But Change 23.328 revised
VMXGENG to create a DATASET of the same name, rather than
a VIEW, and (for reasons I don't understand) SAS will not
let you replace a VIEW with a DATASET, so this error
occurred when the new MXG Version wrote to a //PDB that
had been created by the prior version, that still had the
VIEW. By removing the USER=PDB option, the MXGENG and
similar MXG internal facilities' data will be written to
//WORK which is temporary and goes away at job step end,
so the replacement of a VIEW with a DATASET never is an
issue.
Thanks to Karen Fry, Comerica, USA.
Thanks to Theresa Johnston, Comerica, USA.
Change 24.037 A new version of the CLRMFV TSO Clist, the driver for the
CLRMFV ASMRMFV RMF Monitor III decompression utility, plus major
DOCLRMFV enhancements in the documentation in the DOCLRMFV member.
Apr 4, 2006
This CLRMFV version reduces the number of ASMRMFV calls
for users with many LPARs, and provides more flexibility
to specify the input and output data sets, so perhaps it
reduces the need to tailor CLRMFV or at least is easier.
There are no changes required for the ASMRMFV program.
Enhancements:
A new parameter CALLBY() lets the user control the
granularity of the RMF Monitor III data passed to ASMRMFV
in each call. CALLBY(DSN) invokes ASMRMFV once for each
and every RMF Monitor III data set. This setting is NOT
recommended due to overhead and is only included for
compatibility with earlier versions of CLRMFV.
CALLBY(SID) invokes ASMRMFV once for each unique LPAR and
is compatible with CLRMFV default behavior in prior
versions. CALLBY(ALL) invokes ASMRMFV once for all LPARs
and is ideal for users (such as our installation) who
want to process many LPARs at once with ASMRMFV with
minimal overhead. CALLBY(ALL) is the new default.
The ONECALL() parameter is now obsolete. If ONECALL(NO)
is coded, it is converted to CALLBY(DSN). If ONECALL(YES)
is coded it is converted to CALLBY(ALL). ONECALL() will
be removed entirely in a future version of CLRMFV, but is
here so you have plenty of time to remove it and use the
CALLBY() instead.
A new parameter INLLQ() lets the user specify the low
level qualifier if needed for the input RMF Monitor III
data set names. The default is null. Similarly a new
parameter OUTLLQ() lets the user specify the low level
qualifer for the output sequential data set(s). The
default is OUTLLQ(RMFIII) and produces the same data set
name as in prior CLRMFV versions.
A new parameter OUTDISP() gives the user more control on
the allocation method for the output data set(s). There
are three possible values: NEW, MOD, and OLD. The default
is OUTDISP(NEW) and produces the same behavior as prior
CLRMFV versions. See the DOCLRMFV documentation member
for more details. Regardless of this parameter setting
ASMRMFV always appends data from multiple input files
into the output file(s). Only the initial output file
allocation procedure is affected by OUTDISP().
A new parameter OUTDCL() allows the user to specify an
SMS Data Class for the output file(s). The default is
null. This is a companion to OUTMCL() and OUTSCL()
parameters which were available in the prior version for
SMS Management Class and SMS Storage Class respectively.
A new parameter OUTVOL() allows the user to specify a
non-SMS volume serial(s) for the output file(s). The
default is null.
A new parameter OUTVOL#() allows the user to specify a
maximum volume count for the output file(s). The
default is null. The z/OS maximum is allowed 255 and
CLRMFV will validate the value.
A new parameter OUTDEV#() allows the user to specify a
device count for the output file(s). The default is
null. The z/OS maximum allowed is 59 and CLRMFV will
validate the value.
A new parameter TS() allows the user to specify time
stamping on CLRMFV messages. The default is TS(NO) and
only the very first and last messages are time stamped.
TS(YES) causes all CLRMFV generated messages to be time
stamped and so provides the behavior in prior CLRMFV
releases. TS(NO) reduces CLIST overhead.
CLRMFV will now validate that the length of the total
PARM field passed to ASMRMFV does not exceed z/OS 100
character maximum and fail if this is not the case. As
before the //SYSIN DD in JCL can be use to provide
additional ASMRMFV parameters to overcome this z/OS
limitation.
The DOCLRMFV documentation member is enhanced, expanded,
and clarified to explain all the new parameters.
Migration Issues:
With the new CLRMFV default of CALLBY(ALL) the single
output file size will be now the sum of space used for
all the prior LPAR files with the old CLRMFV version .
The SPACE() parameter will need to be increased
substantially if output is to DASD to avoid SB37 abends
or alternately the output file will have to be directed
to tape. The new OUTDEV#() parameter can also help with
the additional space needs by spreading the space needed
over multiple volumes.
The benefit is a reduction in CPU usage by ASMRMFV
because initialization, termination, and summary code is
only used once instead of once for each LPAR. Users who
prefer not to make changes to support CALLBY(ALL) should
specify CALLBY(SID) to get the prior behavior.
With CALLBY(ALL) the single output data set name will be
of the form &OUTHLQ.ALL.&OUTLLQ where &OUTHLQ is the
value of OUTHLQ() and &OUTLLQ will be the value of
OUTLLQ(). So DSN= on the //RMFBSAM DD statement in the
MXG RMF III PDB Build step will need to be changed
accordingly. A DD concatenation of files from multiple
LPARs will no longer be required and the extra DDs should
be removed.
Since all RMF Monitor III data sets will be dynamically
allocated at once with CALLBY(ALL), users may need to
substantially increase the value of DYNAMNBR= in their
JCL invoking CLRMFV. Otherwise the Dynamic Allocations
done by CLRMFV can fail. The TIOT SIZE parameter in the
ALLOCxx member in SYS1.PARMLIB ultimately determines the
maximum size value allowed for DYNAMNBR=. This is
discussed in the DOCLRMFV member.
As a side effect since CALLBY(ALL) results in ASMRMFV
being invoked only once, the ASMRMFV summary report
produced will be for the grand totals from all LPARs
instead of 1 summary report per LPAR as in the prior
version. Users who want the earlier behavior should use
CALLBY(SID).
A special thanks to Acxiom leadership for allowing this
effort to continue to go forward.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.036 An extra, undocumented 8 bytes have been added to the
VMACRMFV RMF III ASI table in z/OS 1.7, although IBM will issue
Apr 4, 2006 a documentation change in the future. This change tests
for ASIVERE3 GE '10'X to skip the extra 8 bytes.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Thanks to Rodger Foreman, Acxiom CDC, USA.
Change 24.035 XAM SYS error INPUT STATEMENT EXCEECED LENGTH was caused
VMACXAM by an unexpected value of 'FFFF'x in the NSIMBUSY field,
Apr 4, 2006 or 65536 decimal, for the number of fields in the array
HFCHSIM that follow this count, which MXG tried to read
when there were no fields following.
Now, MXG detects this value, and bypasses the logic to
read any elements of HFCHSIM array.
The 'FFFF'x value is actually -1 if input as Integer
Binary, and is set by XAM because IBM no longer keeps
track of concurrent channels in use, so there no longer
is an HFCHSIM array to INPUT.
Thanks to Brian Carter, EDS UK Mainframe Hosting Services, ENGLAND.
Thanks to Jeff Gribbin, EDS UK Mainframe Hosting Services, ENGLAND.
Change 24.034 Converting a character variable that contains a hex value
DOC (e.g., a four-byte character variable DEVCHAR='1F1A')
Apr 4, 2006 into a numeric variable that contains that hex value
Apr 20, 2006 (e.g., a two-byte numeric variable DEVNR=1F1Ax when it is
FORMATed hex4.) can be done using the HEXnn INFORMAT
in an INPUT function:
DATA;
DEVCHAR='1F1A';
DEVNR=INPUT(DEVCHAR,HEX4.);
FORMAT DEVNR HEX4.;
will store the decimal value 7962 in DEVNR, which will be
printed as 1F1A with the HEX4. format.
This change was rewritten on April 20, when the HEXnn.
format was suggested in a SAS-L posting by Jiann-Shiun
Huang. Below, is the original April 4 change text:
The format $MGHEXC can be used to convert a character
variable that contains a hex value in EBCDIC text into a
numeric variable with the value formatted as HEX.
For example, if DEVCHAR='1F1A' is DEVNR='1F1A'x, then
this code will create numeric variable DEVNR:
DEVNR= 4096*INPUT(PUT(SUBSTR(DEVCHAR,1,1),$MGHEXC.),2.)+
256*INPUT(PUT(SUBSTR(DEVCHAR,2,1),$MGHEXC.),2.)+
16*INPUT(PUT(SUBSTR(DEVCHAR,3,1),$MGHEXC.),2.)+
INPUT(PUT(SUBSTR(DEVCHAR,4,1),$MGHEXC.),2.);
The $MGHEXC format was created to decode SYSLOG character
Device Number, but can be used for any hex-text .
Thanks to DJ Chen, Florida Department of Corrections, USA.
Thanks to Jiann-Shiun Huang, AmerUs Group, USA.
Thanks to Nick Johns, Sainsbury, ENGLAND.
Change 24.033 When UTILEXCL detects CMODNAMEs of EZA01 and EZA02, you
IMACICE2 must tailor members IMACICEZ, IMACICE1, and IMACICE2 to
Apr 4, 2006 process those data. The fields INPUT in IMACICEZ and E2
are consistent at all sites, but the number of fields in
the IMACICE1 exit varies from site to site, so if MXG's
REPORT ONE lists IMACICE1 to be tailored, you must then
look at REPORT THREE to see exactly which fields are in
your data, and will have to change the INPUT and LABEL
statements if your data does not contain all twelve of
those fields. This list is an excerpt of REPORT THREE
that is overlaid with the MXG variables that are INPUT.
MEMBER=IMACICEZ:
CMODHEAD CMODNAME MXG VARIABLES
EZA01 INIT S 001 8 TCPINITM TCPINICN
EZA01 READ S 002 8 TCPREATM TCPREACN
EZA01 WRITE S 003 8 TCPWRITM TCPWRICN
EZA01 SELECT S 004 8 TCPSELTM TCPSELCN
EZA01 OTHER S 005 8 TCPOTHTM TCPOTHCN
MEMBER=IMACICE1:
CMODHEAD CMODNAME MXG VARIABLES
EZA01 EZA01 A 001 4 EZA01A01
EZA01 EZA01 A 002 4 EZA01A02
EZA01 EZA01 A 003 4 EZA01A03
EZA01 EZA01 A 004 4 EZA01A04
EZA01 EZA01 A 005 4 EZA01A05
EZA01 REUSABLE A 006 4 EZA01A06
EZA01 ATTACHED A 007 4 EZA01A07
EZA01 EZA01 A 008 4 EZA01A08
EZA01 EZA01 A 009 4 EZA01A09
EZA01 EZA01 A 010 4 EZA01A10
EZA01 EZA01 A 011 4 EZA01A11
EZA01 EZA01 A 012 4 EZA01A12
MEMBER=IMACICE2:
CMODHEAD CMODNAME MXG VARIABLES
EZA02 CONN A 001 4 EZA02CON
EZA02 STARTED A 002 4 EZA02STA
EZA02 INVALID A 003 4 EZA02INV
EZA02 DISTRAN A 004 4 EZA02DIT
EZA02 DISPROG A 005 4 EZA02DIP
EZA02 GIVESOKT A 006 4 EZA02GIV
EZA02 SECEXIT A 007 4 EZA02SEC
EZA02 NOTAUTH A 008 4 EZA02A08
EZA02 IOERR A 009 4 EZA02A09
EZA02 NOSPACE A 010 4 EZA02A10
EZA02 LENERR A 011 4 EZA02A11
(See also text of Change 25.018.)
Compare your UTILEXCL report with those three IMACICEx's.
The IMACICEZ and IMACICE2 should always match; contact
support@mxg.com (send UTILEXCL report) if they don't.
If IMACICE1 in your REPORT THREE ends with "ATTACHED" as
the last field (i.e, you only have 7 fields in EZA01),
then must EDIT the IMACICE1 member into your tailoring:
-change the test for MCTSSDRL to GE 28 instead of GE 48
-delete the LABELs for variables EZA01A08 thru EZA01A12
-change the INPUT statement to read
INPUT (EZA01A01-EZA01A07) (&PIB.4.) @;
-You create REPORT THREE with the _RPTEXCL macro run with
or after your UTILEXCL execution:
//SYSIN DD *
%INCLUDE SOURCLIB(UTILEXCL);
_BLDDICT;
_BLDEXCL;
_RPTEXCL;
-This change added text in labels for EZA02A08-EZA02A11
with their contents (NOTAUTH,IOERR,NOSPACE,LENERR).
-This text was revised Oct 10, 2007; see Change 25.215.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 24.032 -SPLIT70 rewrite could cause PCTCPUBY/PCTMVSBY in TYPE70
VMAC7072 to be too small, for CPs that were not online for a full
Apr 3, 2006 interval. The recalculated PCTCPUBY used DURATM in the
Apr 5, 2006 denominator instead of SMF70ONT for these CPs.
-NRCPUS was wrong if an LPAR is WLM Managed AND the LPAR
has any IFAs, which affected many PCT calculations. When
an LPAR is WLM Managed, (LPARWLMG='Y'), MXG used variable
SMF70BDA=SMF70BDA/SMF70DSA, documented as the average
number of engines under WLM control, as NRCPUS, but
impossible values of 10.27 for a system in a CEC with
only 10 CP engines was observed. Using the sum of
SMF70ONT (online time of each engine) showed there were
only 8.27 CP engines online during that interval, and
IBM's own Partition Data Report had 8.3 for the Average
Processor NUM for that LPAR for that interval. In reply
to my "impossible" value allegation, IBM RMF Development
replied that SMF70BDA samples include both CPs and IFAs,
and thus the 10.27 value was not impossible, as there
were 8.27 CPs and 2 IFAs online; however it is a
completely useless value to use for anything.
As a result, the MXG calculation of NRCPUS is now always
calculated from the sum of SMF70ONT for CP engines, and
SMF70BDA is no longer used for NRCPUS.
And SMF70BDA will also include zIIPs, if any exist.
Thanks to Marco A. Micchia, Uniocredit Global Info Services, ITALY.
Change 24.031 Cosmetic cleanup of MXG variables during ITRM validation
ASUMTAPE for their dictionary updates:
VMAC80A -VMACTMNT: Variables SYSLDDN,SYSLDSN now labeled.
VMAC94 -VMAC80A : Variables TSREADTI,TSTIME now formatted, TSTIME
VMACTMNT is now KEPT in TYPE80TS dataset.
VMXG70PR Variable TOKDANAM now labeled.
VMACTMO2 -VMXG70PR: Formats for new variables added for 60 LPARs
Apr 3, 2006 were missing in ASUMCEC dataset.
Apr 10, 2006 Sort order in _BSU70PR was incorrect, but it
was not used, so only caused confusion and
deceptive documentation. Correct BY list is
SYSPLEX SYSTEM SYSNAME SMF70GIE
-ASUMTAPE: Instances of %VMXGWORL inside the MACRO _DEBUG
require double percent signs.
-VMAC79: Variables R799CNX2-5 were incorrectly decoded.
R799CNX is now labeled even though its decoded.
-VMAC94: Variables S94XLCSI/S94XLCLS are now kept; they
had been misspelled as XCLSI/SCLSL.
-VMACTMO2: Label for TAWRDCT corrected; QA stream now
tests for duplicate/different labels.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 24.030 Solaris 9 changed the format of the year in sar data from
TYPEUSAR YY to YYYY; code was revised to support either format.
Apr 3, 2006
Thanks to Greg Meyer, ITresources, USA.
Change 24.029 ERROR.CMRFILE. FILE SEGMENT LENGTH IS 16 BUT 220 EXPECTED
VMACMVCI messages are eliminated. The two file segment sizes are
Apr 2, 2006 supported. The short segment will cause missing values
in most variables in CMRFILE, but the data is valid.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Change 24.028 Support for APAR PK15468, which adds variable QWSnPSRB,
VMACDB2 Preemptable SRB CPU Time consumed by SRBs in the Address
Apr 1, 2006 Space named in QWSnASID. Note that this SRB CPU time in
the new QWSnPSRB variable is included in QWSnSRBT.
Thanks to Roger L. Rush, Nav-International, USA.
Thanks to James S. Lazowski, Nav-International, USA.
Change 24.027 SQL Text in DB2 102 Audit Trace IFCIDs 140,141,142,145
VMAC102 was missing after Change 24.01, for DB2 Version 7 and
Apr 1, 2006 earlier, because QW014nLE was only INPUT for DB2 8.1.
Now, IF QW014nLE=. THEN QW014nLE=QW014nLL; corrects.
Thanks to Jim Kovarik, AEGON USA, USA.
Change 24.026 Equal signs were missing from most of the value in the
FORMATS $MGSYSIP format definition.
Apr 1, 2006
Thanks to Lars-Olof Thellenberg, Svenska Handelsbanken, SWEDEN.
Change 24.025 Five 4-byte SYNCSORT fields had expanded 8-byte fields
VMACSYNC that MXG failed to use when the 4-byte fields were full.
Apr 1, 2006 These variables are now reset if their 8-byte field is
greater than their 4-byte field:
CHARACTS INRECS OUTRECS INSERTS DELETES
Unfortunately, the input and output byte count variables,
SIBYTES and SOBYTES exist only as 4-byte fields and do
not have 8-byte counterparts.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 24.024 New E2dddddd members created for "2 Phase" MXG datasets:
E2TY70 -Most MXG datasets are "SIMPLE" or "One Phase": obs are
E2TY70PR OUTPUT to a _Wdddddd dataset in the _Edddddd exit macro
VMAC7072 (which %INCs the EXdddddd exit member) from the raw data,
Apr 1, 2006 then _Wdddddd is sorted to create the _Ldddddd (PDB).
May 1, 2006 For those datasets, code in the EXdddddd member can be
used to create new variables and label them, and the
_Kdddddd macro is used to KEEP those new variables.
-But when datasets are created in a "Second Phase", those
original EXdddddd exit cannot be used for your SAS code
that creates your new variables; instead, you must use
a new exit member, the "Second Phase" exit. The name of
the member is E2dddddd, to be somewhat consistent with
the original EXdddddd naming; your SAS code to create or
modify variables, and LABEL, FORMAT or LENGTH statements
would be put in your E2dddddd exit member.
Note: all variables you create in that exit member
will automatically be KEPT, so you do not need to list
them to be kept. In fact, if you create any temporary
variables in your exit code, you would need to DROP
them so they won't be kept in the output dataset.
-The old EXdddddd exit member had an old-style macro
counterpart, MACRO _Edddddd, which could be redefined in
your IMACKEEP member. So this new "Second Phase" exit
member also has an old-style macro counterpart, named
MACRO _2dddddd, which can alternatively be used to tailor
these datasets.
-The SPLIT70 redesign changed the creation of TYPE70 and
TYPE70PR datasets from "SIMPLE" to "SECOND PHASE", and
thus invalided the use of EXTY70/EXTY70PR exit members
to add variables to the TYPE70 and TYPE70PR datasets, so
this first implemenatation of "Second Phase" exits are
the E2TY70 and E2TY70PR members added by this change.
May 1: SPLIT70 redesign documentation, related note:
You cannot drop these variables
SYSPLEX SYSNAME SMF70GIE SMFTIME
from TYPE7xxx RMF datasets. They are required
to reassemble the pieces, and the MXG logic.
-Example to add SHIFT to the PDB.TYPE70 and PDB.TYPE70PR
datasets you would need to add these two old-style macro
redefinitions in your IMACKEEP tailoring member:
MACRO _2TY70
%%INCLUDE SOURCLIB(IMACSHFT);
%
MACRO _2TY70PR
%%INCLUDE SOURCLIB(IMACSHFT);
%
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Warren Cravey, Fidelity Systems, USA.
Change 24.023 The default value of macro variable &TAPENGN, used for
VMXGINIT the engine for the TAPETEMP DD in Weekly/Monthly examples
Apr 1, 2006 that output to tape, is now changed to V9SEQ if executing
Jun 24, 2006 MXG under SAS V9, or to V8SEQ if executing under SAS V8.
This should have been done back in Change 23.061, which
changed CONFIGV9 to set the MXG default SEQENGINE=V9SEQ,
(it previously had been V6 due to SAS errors in V9SEQ),
but changing TAPENGN default was overlooked. The V6SEQ
engine does not support character variables longer than
200 bytes, and there are now many long variables in MXG.
Jun 24: The April change caused UNKNOWN ENGINE V9SEQ when
the Weekly or Monthly job was run for the first
time under SAS V8. New logic now tests the
&SASVERS to set V8SEQ or V9SEQ as appropriate.
Thanks to Robbie A. McCoy, Salt River Project, USA.
Change 24.022 The BY list in the default MONTHBLD example for ASUMDB2B
WEEKBLD now ends with ... QBACPID QWACBSC SHIFT to match the BY
MONTHBLD list used to build PDB.ASUMDB2B.
Mar 31, 2006 Jul 3: Unfortunately, the March change incorrectly had
Jul 3, 2006 MONTHBLD with QWACPID instead of QBACPID, and
WEEKBLD had QWACPID QBACBSC, and the preceding
change test also had incorrect spellings.
Now, all BYs agree with line 2 of this change.
Thanks to Michael Creech, Fidelity National Information Svcs, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 24.021 A invalid RACF SMF 80 record with NRSEGS=252 but that had
VMAC80A only 235 actual segments caused INPUT STATEMENT EXCEEDED.
Mar 31, 2006 The last segment was complete, and the RDW matched the
size of the actual SMF record, so this was not a record
that had been truncated in SMF post-processing. MXG now
prints an error message and hex dump on the log for each
instance of this type of invalid SMF record, so you can
send to IBM RACF Support if you choose to resolve their
invalid record. Jun 13, 2006: See Change 24.097.
Thanks to Randy Shumate, LexisNexis, USA.
Change 24.020 ASUMTAPE is still in development, pending STK reply to
ASUMTAPE our problem with their exit, but I accidentally made it
Mar 7, 2006 fail if run under ITRM; I replaced the previous use of
%VMXGWORL macro (to find the location, WORK or PDB, of
the input datasets) with hardcoded &MXGPDB..TAPES and
similar references. Now, the use of %VMXGWORL is
reinstated.
Thanks to Dan Squillace, SAS Institute ITRM, USA.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 24.019 MXG set OPTIONS DKROCOND=NOWARN in BUILD001/BUILD005/3005
BUILD001 to prevent WARNING: VARIABLES NOT REFERENCED messages,
BUILD005 as those members execute code with many optional variable
BUIL3005 names in its KEEP= lists, but in BUILD005/3005 the option
Mar 7, 2006 was reset back to DKROCOND=WARN, and if your code had the
condition, the warning message caused condition code 4.
So the hardcoded reset changed the MXG DKROCOND=NOWARN
that is set by CONFIGVn/AUTOEXEC at initialization.
Now, %VMXGOPTR is used to store the original value of the
DKROCOND option, and the hardcode reset is change to now
restore the original value of the option.
And so you won't see any of these messages, unless you
change the OPTION after MXG initialization, in your
code or in mine.
Thanks to H.E. Tempelmans Plat, Corus, THE NETHERLANDS.
Change 24.018 INPUT STATEMENT EXCEEDED in RACF Extended Relocate 301
VMAC80A SMF30TP2 because new TOKSUBSY='PROXY' records were not
Mar 6, 2006 supported.
Thanks to Fred Schmidt, Northern Territory Government, AUSTRALIA.
Change 24.017 Two four-byte fields were inserted in the SYTCUP segment,
VMACXAM causing INVALID DATA FOR SYTNLPMG messages, and trashed
Mar 5, 2006 data in some SYTxxxxx variables. New variables SYTPCTBY
and SYTPCTOV for each LCUCPUID are now created and kept
in the XAMSYT dataset.
-IODQDS segment no longer flagged as UNKNOWN.
Thanks to Tony Curry, BMC, USA.
Change 24.016 Datetimestamp variables WTNIDTIM, WTUOWTIM and QWHSSTCK
VMAC116 were not called by %VMXGTIME, which is used to shift date
Mar 2, 2006 time variable's values to a common time zone, if you have
LPARs or SYSTEMs on different time zones.
Note that while UOWTIME contains a datetime value, it is
never shifted, because it is used as a token to match to
other records; this part of Change 19.286 is added in the
comments in VMXGTIME as a self-reminder:
Two very important "token" variables that are necessary
to match records together, READTIME and UOWTIME, are
NOT converted by VMXGTIME.
Thanks to Chuck Hopf, Bank of America, USA.
Change 24.015 Documentation only. Identifying CRYPTO users and usage.
VMAC30 -TYPE30 variable ICSFSCNT/SMF30CSC may or may not identify
VMAC7072 crypto users. It is the number of crypto instructions
Mar 1, 2006 executed on behalf of the caller (within that caller's
address space). However, new machine instructions are
available on T-Rex processors with the CPACF feature that
provide clear key DES/TDES functions as well as hashing
functions, and applications can call these functions
directly, bypassing ICSF, and those application calls
would NOT be included in this count.
-TYPE70Y2 Crypto dataset variables added by OA10556 in
MXG 23.05 to record these CPACF function statistics:
R702NH2B='SHA-256*DATA*BYTES*HASH'
R702NH2C='SHA-256*CALLS*TO*HASH'
R702NH2I='SHA-256*PCMF INSTR*USED TO*HASH'
-This information was extracted from a lengthy and very
informative IBM note ASKQQA Item BDC000034378, in reply
to the question "Is there a way to measure encryption
overhead in TLS/SSL for TN3270":
There is no separate SMF field that tells you how much
CPU time is consumed to do this encryption. However,
since it is the TCP/IP address space that is doing the
instructions for encryption, the CPU time consumed
would be included in the regular SMF fields for that
Address Space, i.e., both TYPE30 for the ASID and
TYPE72GO for its Service Class and Reporting Class.
The CPU time consumed by the PCIXX engine (the
handshake part) will be reported in the R7023T0 in
dataset TYPE7002 (RMF 70 subtype 2 crypto).
-That note suggests that for other crypto applications,
their CPU time will also be recorded in the address space
and service class records for the address space that does
the encryption. The TYPE1415 record now contains the
elapsed time for tape encryption, but no separate CPU
time exists in any address space records.
Change 24.014 Support for new QWSnPSRB DB2 Address Space preemptable
VMACDB2 and non-preemptable SRB CPU time in PDB.DB2STATS dataset.
Mar 1, 2006 Variables QWSnSRBT have always contained the SRB time for
DB2 Address spaces and for the IRLM Address space, and
included both preemptable and non-preemptable SRB time.
New variables QWSnPSRB will now contain only the SRB CPU
time consumed by preemptable SRBs in the address space
specified by QWHAASID.
Note: CHANGE was made in Change 24.028.
Change 24.013 Support for new memory object data in DFSORT records:
VMAC16 ICEMON - MEMORY OBJECTS ALLOCATED
Mar 1, 2006 ICEMOUSE - MEGABYTES USED FOR MEMORY OBJECTS
ICEMOSIZ - MOSIZE VALUE IN EFFECT
MEMOBJUS - MEMORY OBJECT USED?
These data were added in z/OS DFSORT V1R5
Thanks to Rob D'Andrea, Royal Bank of Scotland, UNITED KINGDOM.
====== Changes thru 24.012 were in MXG 24.01 dated Mar 1, 2006=========
Change 24.012 INPUT STATEMENT EXCEEDED in RACF Extended Relocate 301
VMAC80A SMF30TP2 because MXG only expected 8 bytes for TOKDANAM.
Feb 27, 2006 Field expanded to 80. Values of NOCPUTIMAX, NOASSIZMAX,
NOFILEPROCMAX NOPROCUSERMAX NOTHREADSMAX NOMMAPAREAMAX
are observed as values for TOKDANAM, with no values after
the TOKDANAM field.
Thanks to Fred Schmidt, Northern Territory Government, AUSTRALIA.
Thanks to Andrew Krink, Northern Territory Government, AUSTRALIA.
Thanks to Scott Thomson, Northern Territory Government, AUSTRALIA.
Change 24.011 Negative and missing values were created in PDB.TYPE30_6
VMAC30 after Change 23.296 revised the deaccumulation logic to
Feb 27, 2006 support wrapping of ACTIVETM/RESIDTM. Additionally, the
coversion of GMT timestamps to local using GMTOFF30 fails
when ONLY subtype 6 records are read; subtype 6 records
don't contain the SYNCTIME value needed calculate the GMT
offset, so MXG gets the RETAINed GMTOFF30 from the prior
SMF 30 record of different subtype.
-The errors could also cause fewer observations to be
created in PDB.TYPE30_6.
-However, variable GMTOFF30 will still be missing value in
PDB.TYPE30_6 if no prior 30s were found, and that will be
the only clue that the INTBTIME/INTETIME/SYNCTIME values
that MXG created (for symmetry with PDB.SMFINTRV) are not
on local time, but are still on GMT.
Thanks to Diane Eppestine, AT&T Services, Inc, USA.
Change 24.010 Variable LPARNSW (percent when capped) in RMF/NTRV and
VMAC7072 TYPE70 datasets could be zero when capping was active,
Feb 26, 2006 due to an error in the SPLIT70 redesign. The statement
LPARNSW=SMF70NSW should only have been executed when the
LPARNUM=PARTISHN, but it was mislocated and executed for
the last LPARNUM. And, of course, my test data did have
PARTISHN equal to the last LPARNUM, so the error was not
caught sooner.
-Array subscript out of range with exactly 60 LPARS. The
S70LPCP array was defined with 60 elements, but 61 are
needed to account for the PHYSICAL LPAR. I had assumed
than only 59 real LPARs plus the PHYSICAL was the limit.
Thanks to Diane Eppestine, AT&T Services, Inc, USA.
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 24.009 Variable AVGWKSET in TYPE30 datasets was too large if you
VMAC30 have IFAs, because I didn't know that PAGESECS, which is
Feb 27, 2006 the source of AVGWKSET, is based on service, and IFA time
and TCB time are included in service. IBM separates the
IFA and TCB time in RMF for performance management, and
in SMF for charge back, but doesn't separate them in the
Service Units, nor for TIME= on JCL, or in the CPUTIMER
or TIMEUSED services. zIIPs will be handled the same
way. This would be important if AVGWKSET and PAGESECS
had any real use in memory utilization measurmement, but
they don't, as PAGESECS only counts the memory frames
owned by the task when it is executing TCB or IFA. All
of the pages owned by the task while in wait state
(wait for CPU dispatch, page fault, I/O, cross memory)
are NOT counted in PAGESECS. In addition, AVGWKSET by
itself is a poor metric, because it only measures the
average number of pages that might be swapped out; it
does NOT measure memory utilization because it does NOT
indicate how LONG those pages were held. Why does the
AVGWKSET exist? Primarily for modeling programs, which
can take that as a metric, and inside the model, multiply
by the modeled duration, so the model program can measure
memory utilization (like old K-Core HOURS) and compare
with the memory capacity (GIGABYTES times 24 Hours).
And finally, tasks don't "OWN" real memory; z/OS decides
how much memory to dole out to tasks based on service
objectives, so whatever memory utilization might be
measured is not because the task 'wanted' that memory,
but because z/OS decided to give it that memory.
-Variable CSTORE30 should never have been created as such.
It does not measure CSTORE pages, but only measures the
IARVSERV Shared Pages used by this task, and thus it is
almost always zero, except for tasks that share pages.
Shared segments allow two address spaces to have
addressability to the same data, like a private CSA,
and was added for posix compliance. The shared areas
must be overtly set up by applications and I'm not
aware of any current exploiters.
To avoid confusion, and hopefully to draw your attention
to this change, CSTORE30 is now set to a missing value.
Thanks to Gennady Katsnelson, AT&T Services, Inc, USA.
Thanks to Diane Eppestine, AT&T Services, Inc, USA.
Thanks to Jack Hudnall, AT&T Services, Inc, USA.
Change 24.008 Corrections for TPF Continuous Monitor date; the "QUICK
UTILTPFC FIX" that reset 3827 to 3826 was removed, since it fixed
VMACTPFC nothing and created errors. Debugging PUT statements in
Feb 23, 2006 UTILTPFC and VMACTPFC members were commented out.
-BY variables were corrected from SYSTEM SMFTIME (MVS!!)
to the TPFC variables TPFCSS TPFCSSU TPFCTIME.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 24.007 Support for the "Memory Monitor" that writes an SMF
ASMUSR1 record that tracks the memory object sizes by JOB.
EXUSR1ME This is in intial testing.
FORMATS You must run FORMATS and then update IMACKEEP with the
IMACUSR1 MACRO _IDUSR1 nnn %
TYPEUSR1 definition to set the SMF record number.
TYPSUSR1
VMACUSR1
VMXGINIT
Feb 22, 2006
Thanks to Dean Montevago, Visiting Nurse Service of New York, USA.
Change 24.006 APPARENT MACRO MAC102S error with ANALDB2R or READDB2 is
READDB2 corrected with this revision, although we have NOT been
Feb 22, 2006 able to replicate the error, we know the code was wrong.
Thanks to Jim Nickolas, LEXIS-NEXIS, USA.
Change 24.005 Support for APAR OA14340 (follow on the OA11675) which
VMAC30 now creates an 8-byte field (SMF30TEX) to replace 4-byte
Feb 22, 2006 SMF30TEP when TEP overflows. Variable EXCPERR=Y is set
if bit SMF30TEF is on by OA11675, but with OA14340, MXG
stores SMF30TEX in EXCPTOTL instead of SMF30TEP, and the
EXCPERR is blanked, since EXCPTOTL is now valid.
Similar change made to SMF32 fields also.
Change 24.004 ASUMTMNT failed if _GRPMNNM and _GRPMNCD were used to
ASUMTMNT define "Locations" for tape devices; Change 23.253 had
Feb 23, 2006 changed to those macro names, but ASUMTMNT still had the
initial _Gxxxxxx names that were later changed.
Thanks to Paul Bennett, JPMorganChase, ENGLAND.
Change 24.003 Toleration support for z/VM 5.2 (INCOMPATIBLE). The 10.1
VMACVMXA Application Server 10.2 record was changed from 24 to 28
Feb 23, 2006 bytes, but there is no field with the number of entries,
nor the length of the entries, so a MOD(CALDATLN,24) and
MOD(CALDATLN,28) to create LEN0D of 24 or 28 is inserted
to figure out which length is present.
Without this correction, BROKEN CONTROL RECORD messages
are printed on the log.
There are many new data fields added to the MONWRITE data
in z/VM 5.2, and these data are not yet supported in this
change. The known records and new data lengths are here
so I can whittle them down over time:
REC SKIP REC SKIP REC SKIP REC SKIP REC SKIP
1.6 12 0.22 64 3.1 220 3.14 20 6.21 8
1.14 2 0.3 96 3.19 68 3.18 40 4.9 20
4.9 20 0.21 64 3.2 80 4.3 20
0.4 12 3.3 12 3.20 108 5.9 92
Thanks to Pat Curren, SuperValu, USA.
Change 24.002 The ML-38 default DEBUG=YES should be changed to DEBUG=NO
ASMTAPEE (unless you are specifically working with MXG support).
Feb 20, 2006 The DEBUG=YES option was intended only for investigation
Apr 7, 2006 of STK HSC exit code, and should not have been enabled,
as DEBUG=YES causes a dump for any ABEND the monitor
encounters, even ones that we know can happen.
One specific known ABEND occurs when we are in cross
memory and running TIOT entries, and the chain has
been modified while we're in it: with DEBUG=NO, that
ABEND is ignored and suppressed and our code recovers
and then continues, minus only the information we now
can't find in the modified TIOT.
However, there is NO loss of data; the SMF records were
written and the monitor continued to monitor; it is only
to suppress the unneeded dumps.
While this change was dated in Feb, and should have been
made in the ASMTAPEE member in MXG 24.01, the actual
debug option was not disabled until April 7, 2006, which
is now the LAST CHANGED date in ASMTAPEE. Only if your
ASMTAPEE is dated earlier, would you need to change the
line 3248 in that ASMTAPEE at ML-38, from what was there:
DODEBUG EQU B'00001000' DO DEBUGGING STUFF
to now read:
DODEBUG EQU B'00000000' DO DEBUGGING STUFF
and then reassemble ASMTAPEE to disable DEBUG=YES.
Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Thanks to Beau Chavis, Bank of America, GERMANY.
Change 24.001 The DB2 Audit Trace IFCIDs 140, 141, 142, and 145 caused
VMAC102 INPUT STATEMENT EXCEEDED error if the SQL Text length was
Feb 20, 2006 more than 4000 bytes. MXG used length field QW014nLL in
its INPUT QW014nTX $VARYING. QW014nLL, but the ERROR made
me RTFM ("F=Fine"), amd I found that IBM did document the
truncation, providing adjacent QW014nLE field with the
length of the truncated SQL text in the record, so it is
now used for the SQL text INPUTs.
And IBM doesn't always store exactly the first 4000;
one record had QW0145LL=13120, but QW0145LE=3980.
Thanks to Bjorn Helgestad, VPS ASA, NORWAY.
Thanks to Steinar Amot, VPS ASA, NORWAY.
LASTCHANGE: Version 24.
=========================member=CHANGE23================================
/* COPYRIGHT (C) 1984-2006 MERRILL CONSULTANTS DALLAS TEXAS USA */
Annual MXG Version 23.23 is dated Feb 20, 2006, thru Change 23.358
PreRel MXG Version 23.23 was dated Feb 15, 2006, thru Change 23.351
Final MXG Version 23.11 was dated Feb 2, 2006, thru Change 23.340
Third MXG Version 23.11 was dated Feb 2, 2006, thru Change 23.338
Second MXG Version 23.11 was dated Jan 31, 2006, thru Change 23.336
First MXG Version 23.11 was dated Jan 30, 2006, thru Change 23.336
MXG Version 23.10 was dated Jan 23, 2006, thru Change 23.328
MXG Version 23.09 was dated Dec 7, 2005, thru Change 23.309
Third MXG Version 23.09 was dated Dec 6, 2005, thru Change 23.309
Second MXG Version 23.09 was dated Dec 1, 2005, thru Change 23.303
First MXG Version 23.09 was dated Nov 30, 2005, thru Change 23.300
MXG Version 23.08 was dated Oct 27, 2005, thru Change 23.273
First MXG Version 23.08 was dated Oct 25, 2005, thru Change 23.271
Final MXG Version 23.07 was dated Aug 10, 2005, thru Change 23.209
First MXG Version 23.07 was dated Aug 9, 2005, thru Change 23.207
MXG Version 23.06 was dated Jun 29, 2005, thru Change 23.176
MXG Version 23.05 was dated Jun 7, 2005, thru Change 23.154
First MXG Version 23.05 was dated Jun 5, 2005, thru Change 23.148
MXG Version 23.04 was dated May 4, 2005, thru Change 23.107
MXG Version 23.03 was dated Apr 22, 2005, thru Change 23.090
MXG Version 23.02 was dated Apr 4, 2005, thru Change 23.061
MXG Version 23.01 was dated Mar 15, 2005, thru Change 23.050
MXG Version 22.22 was dated Feb 1, 2005, thru Change 22.378
MXG Newsletter FORTY-SIX was dated Feb 1, 2005.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. 2006 Annual MXG Software Version 23.23 automatically was sent.
II. Incompatibilities and Installation of MXG 23.23.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. 2006 Annual MXG Software Version 23.23 dated February 20, 2006.
The Annual Version was available for ftp download on Feb 20, but
a CD-ROM containing MXG 23.23 will also be sent to all sites; the
copying/packaging began on the 20th, with mailing on Feb 25th, so
all sites should receive the package in early March.
Major enhancements added in MXG 23.23 - 2006 Annual MXG Version
TYPE70 23.348 Final "70's Record Rewrite", PARTNCPU corrected.
TYPE115 23.347 Support for MQ for z/OS Version 6.0 (COMPAT)
TYPE110 23.342 Support for CANDLE UMBRELLA optional CICSTRAN data.
READDB2 23.345 New WANTONLY= enhancement for %READDB2 utility.
MONTHxxx 23.351 &MXGSYSN macro variable for compatibility.
WEEKxxx 23.351 &MXGSYSN macro variable for compatibility.
MACKEEP 23.346 DB2 Tailoring Example to add DB2 102 to PDB.
Major enhancements added in MXG 23.11
1. Corrections for "Split 70/Over 60 LPAR" RMF 70 Re-Write.
TYPE70 23.330 Corrections to Split 70/Over 60 LPAR Change 23.321.
2. Yet another major revision to RMF 70 processing:
TYPE70 23.336 Support for RMF with repeated SYSTEMs in a SYSPLEX.
3. ITRM sites that build RMFINTRV do NOT have to change anything;
the previous "INCOMPATIBILITY" that required _STY70 to be put
in your EXPDBOUT member is NOT needed when RMFINTRV is created,
and everyone SHOULD create the XRMFINT/RMFINTRV dataset.
"Routine" enhancements/changes:
TYPENDM 23.331 Support for NDM/Connect Direct subtype TF, TL, TW.
TYPE30 23.329 Support for SMF30CEPI field, new CPUCIPTM variable.
TYPE7072 23.335 Variables SMF70OIL and SMF70SYN now KEPT in TYPE70.
TYPE30_V 23.334 IMACINTV default now OUTPUTs TYPE30_V/PDB.SMFINTRV.
TYPEVMXA 23.332 Variables HFLLIST,HFPGACT were accumulated.
Major enhancements added in MXG 23.10
1. Support for over 60 LPARs. Support for Split RMF 70 records.
Required extensive rewrite of the "heart and soul" logic in the
VMAC7072 and VMXG70PR members, potentially impacting datasets
TYPE70 TYPE70PR RMFINTRV ASUM70PR ASUM70LP ASUMCEC and ASUMCELP
from TYPE7072, TYPS7072, BUILDPDB/BUILDPD3, or RMFINTRV programs.
New DATA records that now exist that required this change:
INCOMPATIBLE: If you have more than 32 LPARs defined, versions
earlier than MXG 23.10 will fail with ARRAY errors.
See Change 23.322/23.321 text.
INCOMPATIBLE: IBM now splits RMF 70 records when you have lots of
LPARs and lots of spare engines; MXG 22.22+ detects
and reports split records were found in messages on
the SAS log, but created incomplete/wrong data in
TYPE70/TYPE70PR/ASUM70PR/ASUMCEC from split 70 SMF.
See Change 23.322/23.321 text.
New stuff YOU may have to do when you install MXG 23.10 or later:
INCOMPATIBLE: ITSV/ITRM sites that run BUILDPDB but do NOT create
the XRMFINT (RMFINTRV) dataset, MUST insert this
_STY70
text (an invocation of that old-style macro) in the
EXPDBOUT member of the site's "USERID.SOURCLIB" MXG
tailoring library. See Change 23.322/23/321 text.
Note: MOST ITRM SITES DON'T HAVE TO DO ANYTHING!
It is rare for an ITRM site's data dictionary
to specify processing of the RMF 70 records
and then NOT create the XRMFINT dataset.
This is ONLY REQUIRED if you have NOT
installed ITRM 27IS03 hotfix applied
INCOMPATIBLE: If you use the _VAR7072/_CDE7072 macros in your own
programs (or the programs you inherited!), then you
must also add the statement _STY70 after the data
step that reads the SMF data.
COMPATIBLE AND TRANSPARENT: MOST MXG USERS. Do nothing; drop-in
MXG 23.10+ and be corrected and protected.
NOTE: This is the most extensively tested change in MXG history:
un-split RMF/CMF 70 records from 34 sites with old and new
z/OS levels, were read with the old and new code and their
outputs compared with the TEST70SP program; PLEASE use the
TEST70SP program to read a day's RMF data and then examine
its reports for any un-documented discrepancies.
- SPLIT records can't be directly compared, since the old
code mishandled them. But the MXG data sets were run
thru ANALRMFR and those reports exactly matched IBM's
CPU reports for the split records. That code has been
in production for weeks with split records with no
reported errors. MXG now writes a note on the SAS log
that split records were processed, but it's just FYI.
- The rewrite corrected some errors and inconsistencies
that are noted in the change text that will cause false
positives in the PROC COMPARE output; primarily these
were intervals in which a policy change occurred or in
which an LPAR was not active for the full interval, or
in CPUs with CAI error bits set, and the new results
appears to be correct and consistent.
Major enhancements added in MXG 23.09
1. Critical corrections that require you to install MXG 23.09 for:
-JES3 with MXG 23.02 thru 23.08 must install MXG 23.09; there were
zero observations created in TYPE26J3. Change 23.282.
-DB2 V8.1 Package Data could be truncated. Change 23.280.
-z/VM VXSYTEPM deaccumulation now correct. Change 23.290
-ASUM70PR corrected for RMF Intervals with DURATM less than 1 min.
TYPE26J3 23.282 HIPER: 23.02-23.08, JES3 only. No obs in TYPE26J3.
TYPEDB2 23.280 DB2ACCTP Package Data required fix (final, trunc!).
TYPEVMXA 23.290 z/VM MONWRITE VXSYTEPM dataset finally correct.
ASUM70PR 23.289 RMF Intervals with DURATM less than one minute fix.
TYPE70PR 23.288 BMC SMF 70 from z9 have LPARCPUX=0, counts wrong.
VMXG70PR 23.276 PDB.ASUMCEC PCTL0OV,LP0MGTTM,LPCT0OV were zero.
2. New ML-37 of MXGTMNT captures SYSLOG messages for mounts, but can
also capture any SYSLOG message into its SMF records.
ASMTAPEE 23.300 ML-37 MXGTMNT monitor now captures SYSLOG messages
ASUMTAPE 23.300 Now merges SYSLOG, MXGTMNT, and IBM SMF 21s.
TYPETMNT 23.300 New TYPESYMT, TYPESYSL datasets from SYSLOG messages.
3. Easy creation of desired DB2 datasets with only wanted variables.
READDB2 23.287 Selective creation of DB2 datasets and data now easy.
4. Other enhancements, followed by less important fixes:
TYPE30 23.292 Support for APAR OA11675, EXCPTOTL max now 4 gig.
TYPENDM 23.291 Support for CDI/NDM subtypes HW and NM.
TYPEVM 23.285 Support for VM Account optional YYMMDD date format.
TYPESTC 23.279 Support for STK VTCS 6.0 and 6.1 SMF records (COMPAT)
TYPE80A 23.275 Support for CA TopSecret 103-105,109,255 SMF80DTPs.
TRNDxxxx 23.293 New &INTTRND can change default INTERVAL=WEEK in TRND
TYPE6 23.284 Print accounting for "Printway" tcp/ip SMF 6 records.
TYPE26J2 23.277 New UNSPUNJB, JOEPURGE status variables created.
TYPE30 23.296 TYPE30_6 RESIDTM/ACTIVETM wrapped after 51 days.
TYPEDB2 23.295 DB2ACCTG dataset didn't contain nine QBGA variables.
TYPETMVS 23.294 TYPETMVS CIJN and other CI variables INCOMPAT.
TESTIBM1 23.281 MXG 23.08 only. ERROR: File WORK.TYPE791.DATA does ..
VGETENG 23.298 MXG 23.08 only: FILE INSTREAM IN USE.
INSTREAM 23.298 MXG 23.08 only: INSTREAM DD was required, not now.
Major enhancements added in MXG 23.08
TYPE70 23.270 PCTIFBYn variables restored to TYPE70 dataset.
TYPEVMXA 23.269 z/VM MONWRITE dataset VXSYTEMP is now validated.
TYPE79 23.268 RMF 79 subtype 9 records are now validated/corrected.
RMFINTRV 23.265 23.05-23.07. IFA/IFE CPU times zero in RMFINTRV wkld.
TYPESYSI 23.258 Support for CA SYSVIEW IMS user SMF records.
TYPEMWSU 23.254 ADOCMWSU for HP MeasureWare on Sun was updated.
ASUMTAPE 23.253 Initial rewrite of ASUMTAPE for TMNT/21 records only.
ASUMUOW 23.251 More robust definition of "TRANNAME" in PDB.ASUMUOW.
READDB2 23.249 OBID and DBID are decoded in DB2 102 Trace datasets.
ASMTAPEE 23.247 ML-36 is now available of MXGTMNT.
VGETDDS 23.244 Using VGETDDS to get all DDNAMES can fail.
ASMRMFV 23.243 Enhancement to RMF III VSAM Support
TYPE82 23.242 Support for SMF type 82 subtypes 20 and 21 added.
ASUMUOW 23.240 IRESPTM and ELAPSTM in PDB.ASUMUOW revised.
VMXGDUR 23.239 Support for DURATM keywords TENMIN and FIVEMIN.
ASUM70PR 23.237 Variables NRIFACPU,NRIFLCPU added to PDB.ASUM70PR/CEC
TYPEENDV 23.236 Support for Endeavor Release 7; no changes.
TYPEDB2 23.235 DB2TCBTM in DB2ACCT obs with DB2PARTY='R' was wrong.
GRAFWLM 23.234 CPU Utilization graph by goal importance, Enrico's.
TYPEWWW 23.233 Enhancement/corrections to Web Log support.
TYPE1023 23.231 Support for DB2 IFCIC 225.
TYPETMS5 23.229 Support for DEVTYPE='3592' devices in CA-1.
TYPEEREP 23.228 INPUT STATEMENT EXCEEDED for IBM ATL record.
TYPENDM 23.227 NDMCPUTM in NDMCT is now deaccumulated and correct.
TYPEIPAC 23.223 Support for Mobiud/IPAC Rel 6.3 INCOMPATIBLE.
TYPE6156 23.219 ICF Catalog 05 record GATGEN and GATWRAP corrected.
TYPE88 23.213 All SMF88xxx datetime variables are now local zone.
Major enhancements added in MXG 23.07
TYPEDB2 23.181 DB2 V8.1 DB2ACCTP still wrong for multi-package.
ASMTAPEE 23.177 ML-34 MXGTMNT now GA, has ASMHSCEX for HSC mounts!!!
TYPE7072 23.186 Support for z9 CPU, new CPUTYPE='2094'x INCOMPAT.
TYPEMGCR 23.200 Support for MegaCryption's user SMF record
TYPETPFC 23.199 Support for TPF Continuous Data Collection TPFCDC.
TYPESARR 23.196 Support for CA SAR/VIEW R11, INCOMPATIBLY CHANGED.
TYPETNG 23.193 Support for TNG AIX CA PROCESS GROUP (PID) object.
TYPE7072 23.187 Support for APAR OA10346 adds LPAR User Partion ID.
MXGABND 23.184 New %LET MXGABND=nnnn forces ABEND for CICS EXCL ERR.
TYPE89 23.183 Support for APAR OA11036 added MACHTIME to SMF 89.
ASUMTALO 23.201 Condition Code (Return Code) 4 in ASUMTALO eliminated
BUILD005 23.197 Hardcoded "SPIN" DD replaced by &SPINOUT.
IMACICDA 23.190 Comments only. IMACICDA is not used with IMACEXCL.
Major enhancements added in MXG 23.06
TYPE6 23.159 PSF SMF 6 with SMF6LN6=24 another INPUT EXCEEDED.
TYPE22 23.175 Support for subtype 11 I/O Configuration Change
TYPESAMS 23.172 SAMS POOLS record INCOMPATIBLY CHANGED.
TYPE99 23.169 Support for SMF 99 Subtype 2 additional segments.
TYPEMVCI 23.166 Support for additional CMRFILE fields in CMRDETL.
TYPE120 23.164 Support for PQ96144, SM120JHF/JHT corrected.
TYPESYNC 23.163 New "SMS" UCB Address caused INVALID ARGUMENT error.
TYPE102 23.160 Many new variables added to T102S106 dataset.
Major enhancements added in MXG 23.05
TYPEDB2 23.140 REQUIRED FOR DB2 V8.1, more IBM INCOMPATIBLE CHANGES.
TYPEVMXA 23.128 z/VM 5.1 record 1.19 IBM misdocumented, had ERRORs.
TYPE119 23.146 Support for new FTP Server Security Section in st 70.
TYPEPRPR 23.142 Support for Oce's Prisma Print log file.
TYPECYFU 23.139 Support for CyberFusion user SMF record validated.
TYPESYSV 23.137 Support for CA SYSVIEW CICS data in XPFCMCR,XPFCSDCR.
TYPECMF 23.136 Support for 2180 RAID RANK data in CMF user record.
TYPE80A 23.135 Support for Top Secret Versions 5.2 and 5.3.
TYPE80A 23.134 Unexpected RACF TOK80LN2=0 record was deleted.
TYPESTC 23.125 Support for HSC V6 changes to STCLMU subtype 4 SMF.
TYPEIWAY 23.133 Support for Iway Software's IWAY (aka EDA/SQL) SMF.
TYPE102 23.131 Support for DB2 IFCID=313 creates T102S313 dataset.
ASUMMIPS 23.126 RPRTCLAS added to identify Service/Reporting Classes.
RMFINTRV 23.123 CPUIFATM/IFE and BATIFA,CICSIFA,etc now in RMFINTRV.
ASUM70PR 23.121 BY VARIABLES NOT SORTED corrected, PROC SORT added.
TYPE6 23.120 Support for ESS GEPARMKY=004Dx variable ESSMAIL2.
TYPETNG 23.113 Zero observations with a Solaris cube.
FORMATS 23.144 "Expanded Length" format values revised logic for S2.
TYPEDB2 23.111 Support for DB2 V8.1 Package Data INCOMPATIBLE.
BUILDPDB 23.124 Duplicate SMF 30 interval records duped in SMFINTRV.
Major enhancements added in MXG 23.04
TYPEIMS 23.099 Support for IMS Version 9.1 was already in MXG 22.22
TYPEDB2 23.098 Support for DB2 V8.1 restructured Package Data.
TYPE30 23.101 Support for APAR OA10901, SMF30ZNF zAAP noralize fact
TYPE74 23.093 Support for Type 74 subtype 8 corrected.
TYPETMO2 23.100 TMON for CICS/TS V2.3 for CICS/TS 3.1. No Changes.
VGETJESN 23.096 Blank TYPETASK in TYPE30_6 data, STCs, corrected.
TYPE6 23.091 Printway File Transfer, z/OS 1.6 from VPS corrected.
ASUMTALO 23.104 Enhancement to summarize by "groups".
ASUMTMNT 23.104 Enhancement to summarize by "groups".
Major enhancements added in MXG 23.03
ASUM70PR 23.071 PDB.ASUMCEC contains CEC total IFA CPU time
RMFINTRV 23.071 IFA CPU time added to PDB.RMFINTRV
TYPE7072 23.070 Correction for IBM inability to get STARTIME right.
ASUM70PR 23.069 Short RMF interval impacts PDB.ASUMCEC.
TYPERMFV 23.080 RMF III data for IFAs added to ZRBASI, ZRBENC
ANALPATH 23.078 Path Activity Report includes CMR and OTH pend.
UTILEXCL 23.075 CMODNAME=RMI,CMODHEAD=DB2CLOCK didn't generate skip.
ANALFIOE 23.074 FICON Open Exchange analysis includes CMR pend time.
TYPE73 23.072 Support for APAR OA09921 IBM TotalStorage DS6000.
BUILDPD3 23.282 BUILDPD3 now sets Condition/Return Code of zero.
TYPE80A 23.066 Support for RACF Events 27, 28, 29 for unix.
TYPE78SP 23.064 TYPE78SP only had below-16MB subpool variables.
TYPE90A 23.081 WLM Service Policy new name tracked in TYPE9024.
Major enhancements added in MXG 23.02
TYPEVMXA 23.051 Support for z/VM Linux Application Server data.
TYPEVMXA 23.061 Support for z/VM TCP/IP Application Server data.
Major enhancements added in MXG 23.01
Typos 23.012 MXG 22.22 JCLTEST/MXGSASVn had error-causing typos.
These typos only affected your testing of 22.22.
VMXGUOW 23.017 Default IMACUOW in 22.22 caused NO BY error.
If you use ASUMUOW, you MUST update your IMACUOW.
If you don't use ASUMUOW, remove it from JCLPDBn.
WEEKxxx 23.015 Sort Order for SMFINTRV may have to be changed.
MONTHxxx 23.015 Sort Order for SMFINTRV may have to be changed.
TYPETMS5 23.045 Support for TMS Release 11 - no changes.
TYPEMPLX 23.027 Support for IMPLEX Versions 3.1 and 3.3
TYPESTC 23.022 Support for VSM subtype 20, problems with ST 4.
TYPECYFU 23.020 Support for CyberFusion user SMF record.
TYPE80A 23.006 Support for many new RACF events.
TYPESAMS 23.004 Support for SAMS Vantage "LSPACE" record subtype.
TYPECSF2 23.024 CONTROL-D SF2 records INCOMPATIBLY changed.
UTILCONT 23.025 Failed if DISP=NEW dataset was contented.
TYPE74 23.029 AVGxxxMS variables now FORMAT 6.3.
TYPEVMXA 23.050 z/VM VXBYUSR CPU and DELTATM corrected.
TYPEDB2 23.011 DB2 QWHT/QWHU/QWHD/QWHA could be blank/missing.
ASUM70PR 23.021 LP0xxxxx variables were not populated.
TYPEQACS 23.007 CPU variables in QAPMJOBL were incorrect.
TYPENDM 23.001 INPUT STATEMENT EXCEEDED for NDM subtype 'SY'.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
All of these enhancements are described in the Change Log, below.
SAS Version requirement information:
MXG 22.08 or later is REQUIRED for SAS V9.1.2 or V9.1.3; see
"Major Enhancements added in MXG 22.08" in CHANGES, for the major
items, then search Newsletters for V9 for all of the minor items.
MXG executes best under the most recent SAS Version, with all
Critical HotFixes installed by your SAS Installer:
For SAS V9.1.3 on z/OS:
There are no reported errors, and MXG's CONFIGV9 now specifies
V9SEQ instead of V6SEQ. V6SEQ does not support long length
character variables. SAS V9.1.3 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with V7SEQ,V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are still SAS V9.1 or V9.1.2,
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 is REQUIRED to be safe.
Sequential Engine Status:
V9SEQ is fixed in V9.1.3; it is now the default in CONFIGV9.
V6SEQ, if used under V9.1.2, requires SN-013514.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
MXG New-Version QA tests are executed on z/OS with SAS V9.1.3 and
V8.2, and on Windows XP with SAS V9.1.3. But previous QA tests
have been run with all SAS releases on z/OS, SAS V8.2 and V9.1 on
Linux RH8 on Intel, with V9.1 on Solaris v2.8 on Model V880, and
V9.1 on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V8.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
Availability dates for the IBM products and MXG version required for
the processing of that product's data records:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 21.05
z/OS IRD TYPE70PR Mar 11, 2004 22.01
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 22.12
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 23.05
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *23.09
More than 32 LPARs Jan 30, 2006 23.11
SPLIT RMF 70 records Jan 30, 2006 23.11
Duplicate SYSTEMs in a SYSPLEX Jan 30, 2006 23.11
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Dec ??, 2004? 22.08
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS/ESA 2.1 - 20.04
The Monitor for CICS/ESA 2.2 - 20.335, 21.134 21.04
The Monitor for CICS/ESA 2.3 including cics/ts 3.1 22.08
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for MVS/ESA 3.1 - 21.02
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 22.08
Memorex/Telex
LMS 3.1 12.12A
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
II. Incompatibilities and Installation of MXG 23.09.
1. Incompatibilities introduced in MXG 23.09 (since MXG 22.22):
a- Changes in MXG architecture made between 23.11 and 22.22 that might
introduce incompatibilities.
ITRM Sites MUST add _STY70 invocation in their EXPDBOUT member.
See Change 23.321.
If you use MXG _VAR7072 and _CDE7072 in your own program to read
RMF 70s, you MUST now invoke _STY70 after your data step due
to MXG support for split SMF 70 records. Change 23.321.
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.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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.
_PAGE_ 8
Alphabetical list of important changes in MXG 23.11 after MXG 22.22:
Dataset/
Member Change Description
Typos 23.012 MXG 22.22 JCLTEST/MXGSASVn had error-causing typos.
ANALFIOE 23.074 FICON Open Exchange analysis includes CMR pend time.
ANALPATH 23.078 Path Activity Report includes CMR and OTH pend.
ASMHSCEX 23.177 ML-34 MXGTMNT GA, has ASMHSCEX for HSC mounts!!
ASMRMFV 23.243 Enhancement to RMF III VSAM Support
ASMTAPEE 23.177 ML-34 MXGTMNT GA, has ASMHSCEX for HSC mounts!!
ASMTAPEE 23.247 ML-36 is now available of MXGTMNT.
ASMTAPEE 23.300 ML-37 MXGTMNT monitor now captures SYSLOG messages
ASUM70PR 23.021 LP0xxxxx variables were not populated.
ASUM70PR 23.069 Short RMF interval impacts PDB.ASUMCEC.
ASUM70PR 23.071 PDB.ASUMCEC contains CEC total IFA CPU time
ASUM70PR 23.121 BY VARIABLES NOT SORTED corrected, PROC SORT added.
ASUM70PR 23.237 Variables NRIFACPU,NRIFLCPU added to PDB.ASUM70PR/CEC
ASUM70PR 23.289 RMF Intervals with DURATM less than one minute fix.
ASUM70PR 23.322 Support for 60 LPARs - INCOMPATIBLE
ASUMCACH 23.073 MODEL, taken from DEVMODEL, added to BY list.
ASUMDB2 23.319 Summary of DB2ACCT detail into interval buckets.
ASUMMIPS 23.126 RPRTCLAS added to identify Service/Reporting Classes.
ASUMTALO 23.104 Enhancement to summarize by "groups".
ASUMTALO 23.201 Condition Code (Return Code) 4 in ASUMTALO eliminated
ASUMTAPE 23.253 Initial rewrite of ASUMTAPE for TMNT/21 records only.
ASUMTAPE 23.300 Now merges SYSLOG, MXGTMNT, and IBM SMF 21s.
ASUMTMNT 23.104 Enhancement to summarize by "groups".
ASUMUOW 23.240 IRESPTM and ELAPSTM in PDB.ASUMUOW revised.
ASUMUOW 23.251 More robust definition of "TRANNAME" in PDB.ASUMUOW.
BUILD005 23.197 Hardcoded "SPIN" DD replaced by &SPINOUT.
BUILDPD3 23.282 BUILDPD3 now sets Condition/Return Code of zero.
BUILDPDB 23.124 Duplicate SMF 30 interval records duped in SMFINTRV.
CONFIGV9 23.061 SEQENGINE=V9SEQ now default in CONFIGV9 for 9.1.3.
FORMATS 23.144 "Expanded Length" format values revised logic for S2.
GRAFWLM 23.234 CPU Utilization graph by goal importance, Enrico's.
IMAC6ESS 23.008 Invalid ESS data caused INPUT STATEMENT EXCEEDED.
IMACICDA 23.190 Comments only. IMACICDA is not used with IMACEXCL.
INSTREAM 23.298 MXG 23.08 only: INSTREAM DD was required, not now.
MACKEEP 23.346 DB2 Tailoring Example to add DB2 102 to PDB.
MONTHxxx 23.351 &MXGSYSN macro variable for compatibility.
MXGABND 23.184 New %LET MXGABND=nnnn forces ABEND for CICS errors.
READDB2 23.249 OBID and DBID are decoded in DB2 102 Trace datasets.
READDB2 23.287 Selective creation of DB2 datasets and data now easy.
READDB2 23.345 New WANTONLY= enhancement for %READDB2 utility.
RMFINTRV 23.071 IFA CPU time added to PDB.RMFINTRV
RMFINTRV 23.123 CPUIFATM/IFE and BATIFA,CICSIFA,etc now in RMFINTRV.
RMFINTRV 23.265 23.05-23.07. IFA/IFE CPU times zero in RMFINTRV wkld.
TESTIBM1 23.281 MXG 23.08 only. ERROR: File WORK.TYPE791.DATA does ..
TRNDxxxx 23.293 New &INTTRND can change default INTERVAL=WEEK in TRND
TYPE102 23.056 Dataset T102S199 was incorrect; only first seg output
TYPE102 23.131 Support for DB2 IFCID=313 creates T102S313 dataset.
TYPE102 23.160 Many new variables added to T102S106 dataset.
TYPE1023 23.231 Support for DB2 IFCIC 225.
TYPE110 23.077 CICS STAT RECORD STID=106 message.
TYPE110 23.342 Support for CANDLE UMBRELLA optional CICSTRAN data.
TYPE115 23.347 Support for MQ for z/OS Version 6.0 (COMPAT)
TYPE116 23.049 MQM variable QWHCCV QWHSSSID renamed.
TYPE119 23.146 Support for new FTP Server Security Section in st 70.
TYPE120 23.164 Support for PQ96144, SM120JHF/JHT corrected.
TYPE22 23.175 Support for subtype 11 I/O Configuration Change
TYPE26J2 23.277 New UNSPUNJB, JOEPURGE status variables created.
TYPE26J3 23.282 HIPER: 23.02-23.08, JES3 only. No obs in TYPE26J3.
TYPE30 23.101 Support for APAR OA10901, SMF30ZNF zAAP noralize fact
TYPE30 23.292 Support for APAR OA11675, EXCPTOTL max now 4 gig.
TYPE30 23.296 TYPE30_6 RESIDTM/ACTIVETM wrapped after 51 days.
TYPE30 23.329 Support for SMF30CEPI field, new CPUCIPTM variable.
TYPE30_V 23.334 IMACINTV default now OUTPUTs TYPE30_V/PDB.SMFINTRV.
TYPE6 23.091 Printway File Transfer, z/OS 1.6 from VPS corrected.
TYPE6 23.120 Support for ESS GEPARMKY=004Dx variable ESSMAIL2.
TYPE6 23.159 PSF SMF 6 with SMF6LN6=24 another INPUT EXCEEDED.
TYPE6 23.284 Print accounting for "Printway" tcp/ip SMF 6 records.
TYPE6156 23.219 ICF Catalog 05 record GATGEN and GATWRAP corrected.
TYPE70 23.270 PCTIFBYn variables restored to TYPE70 dataset.
TYPE70 23.330 Corrections to Split 70/Over 60 LPAR Change 23.321.
TYPE70 23.348 Final "70's Record Rewrite", OS/390 support!
TYPE7072 23.013 LPARCPUX kept in TYPE70PR for count of reserved CPs
TYPE7072 23.070 Correction for IBM inability to have STARTIME right.
TYPE7072 23.083 Variable NRCPUD, CPU segments this MVS, added.
TYPE7072 23.186 Support for z9 CPU, new CPUTYPE='2094'x, INCOMPAT.
TYPE7072 23.187 Support for APAR OA10346 adds LPAR User Partion ID.
TYPE7072 23.306 PARTNCPU final correction for z9 microcode error.
TYPE7072 23.321 Support for Split RMF 70 Records: INCOMPATIBLE
TYPE7072 23.322 Support for 60 LPARs - INCOMPATIBLE
TYPE7072 23.335 Variables SMF70OIL and SMF70SYN now KEPT in TYPE70.
TYPE70PR 23.288 BMC SMF 70 from z9 have LPARCPUX=0, counts wrong.
TYPE73 23.072 Support for APAR OA09921 IBM TotalStorage DS6000.
TYPE74 23.029 AVGxxxMS variables now FORMAT 6.3.
TYPE74 23.093 Support for Type 74 subtype 8 corrected.
TYPE78SP 23.064 TYPE78SP only had below-16MB subpool variables.
TYPE79 23.268 RMF 79 subtype 9 records are now validated/corrected.
TYPE80A 23.006 Support for many new RACF events.
TYPE80A 23.066 Support for RACF Events 27, 28, 29 for unix.
TYPE80A 23.134 Unexpected RACF TOK80LN2=0 record was deleted.
TYPE80A 23.135 Support for Top Secret Versions 5.2 and 5.3.
TYPE80A 23.275 Support for CA TopSecret 103-105,109,255 SMF80DTPs.
TYPE82 23.242 Support for SMF type 82 subtypes 20 and 21 added.
TYPE88 23.213 All SMF88xxx datetime variables are now local zone.
TYPE89 23.183 Support for APAR OA11036 added MACHTIME to SMF 89.
TYPE90A 23.081 WLM Service Policy new name tracked in TYPE9024.
TYPE99 23.169 Support for SMF 99 Subtype 2 additional segments.
TYPEBE91 23.311 Support for Beta 91 Version 3.1.1.0, INCOMPATIBLE.
TYPECMF 23.136 Support for 2180 RAID RANK data in CMF user record.
TYPECSF2 23.024 CONTROL-D SF2 records INCOMPATIBLY changed.
TYPECYFU 23.020 Support for CyberFusion user SMF record.
TYPECYFU 23.139 Support for CyberFusion user SMF record validated.
TYPEDB2 23.011 DB2 QWHT/QWHU/QWHD/QWHA could be blank/missing.
TYPEDB2 23.082 QWHSLOCN CONTAINS UNICODE TEXT message
TYPEDB2 23.098 Support for DB2 V8.1 restructured Package Data.
TYPEDB2 23.111 Support for DB2 V8.1 Package Data INCOMPATIBLE.
TYPEDB2 23.140 REQUIRED FOR DB2 V8.1 More IBM INCOMPATIBLE CHANGES.
TYPEDB2 23.181 DB2ACCTP data was still wrong for DB2 V8.1, fixed.
TYPEDB2 23.235 DB2TCBTM in DB2ACCT obs with DB2PARTY='R' was wrong.
TYPEDB2 23.280 DB2ACCTP Package Data required fix (final, trunc!).
TYPEDB2 23.295 DB2ACCTG dataset didn't contain nine QBGA variables.
TYPEENDV 23.236 Support for Endeavor Release 7; no changes.
TYPEEREP 23.228 INPUT STATEMENT EXCEEDED for IBM ATL record.
TYPEHSM 23.179 All byte-containing HSM variables FORMATed MGBYTES.
TYPEIMS 23.099 Support for IMS Version 9.1 was already in MXG 22.22
TYPEIPAC 23.223 Support for Mobiud/IPAC Rel 6.3 INCOMPATIBLE.
TYPEIWAY 23.133 Support for Iway Software's IWAY (aka EDA/SQL) SMF.
TYPEMGCR 23.200 Support for MegaCryption's user SMF record
TYPEMPLX 23.027 Support for IMPLEX Versions 3.1 and 3.3
TYPEMPLX 23.143 IMPLEX subtype 4 revised, validated.
TYPEMVCI 23.166 Support for additional CMRFILE fields in CMRDETL.
TYPEMWSU 23.254 ADOCMWSU for HP MeasureWare on Sun was updated.
TYPENDM 23.001 INPUT STATEMENT EXCEEDED for NDM subtype 'SY'.
TYPENDM 23.227 NDMCPUTM in NDMCT is now deaccumulated and correct.
TYPENDM 23.291 Support for CDI/NDM subtypes HW and NM.
TYPENDM 23.331 Support for NDM/Connect Direct subtype TF, TL, TW.
TYPEPRPR 23.142 Support for Oce's Prisma Print log file.
TYPEQACS 23.007 CPU variables in QAPMJOBL were incorrect.
TYPERMFV 23.080 RMF III data for IFAs added to ZRBASI, ZRBENC
TYPESAMS 23.004 Support for SAMS Vantage "LSPACE" record subtype.
TYPESAMS 23.172 SAMS POOLS record INCOMPATIBLY CHANGED.
TYPESARR 23.196 Support for CA SAR/VIEW R11, INCOMPATIBLY CHANGED.
TYPESTC 23.022 Support for VSM subtype 20, problems with ST 4.
TYPESTC 23.125 Support for HSC V6 changes to STCLMU subtype 4 SMF.
TYPESTC 23.279 Support for STK VTCS 6.0 and 6.1 SMF records (COMPAT)
TYPESYNC 23.163 New "SMS" UCB Address caused INVALID ARGUMENT error.
TYPESYSI 23.258 Support for CA SYSVIEW IMS user SMF records.
TYPESYSV 23.137 Support for CA SYSVIEW CICS data in XPFCMCR,XPFCSDCR.
TYPETHST 23.076 BMC THRDHIST file contains invalid package records.
TYPETMNT 23.300 New TYPESYMT, TYPESYSL datasets from SYSLOG messages.
TYPETMO2 23.100 TMON for CICS/TS V2.3 for CICS/TS 3.1. No Changes.
TYPETMS5 23.045 Support for TMS Release 11 - no changes.
TYPETMS5 23.229 Support for DEVTYPE='3592' devices in CA-1.
TYPETMVS 23.294 TYPETMVS CIJN and other CI variables INCOMPAT.
TYPETNG 23.113 Zero observations with a Solaris cube.
TYPETNG 23.193 Support for TNG AIX CA PROCESS GROUP (PID) object.
TYPETPFC 23.199 Support for TPF Continuous Data Collection TPFCDC.
TYPETPFC 23.324 TPF Continuous Data rate variables now calculated.
TYPEVM 23.285 Support for VM Account optional YYMMDD date format.
TYPEVMXA 23.050 z/VM VXBYUSR CPU and DELTATM corrected.
TYPEVMXA 23.060 Support for z/VM 5.1 enhanced: all new data supported
TYPEVMXA 23.128 z/VM 5.1 record 1.19 misdocumented, caused ERRORs.
TYPEVMXA 23.269 z/VM MONWRITE dataset VXSYTEMP is now validated.
TYPEVMXA 23.290 z/VM MONWRITE VXSYTEPM dataset finally correct.
TYPEVMXA 23.332 Variables HFLLIST,HFPGACT were accumulated.
TYPEWWW 23.026 Zero length URIQVALU caused INVALID ARGUMENT.
TYPEWWW 23.233 Enhancement/corrections to Web Log support.
TYPExxxx 23.052 New EOdddddd, _Odddddd MXG architecture enhancements.
UTILBLDP 23.036 CC=4 with BUILDPDB=NO eliminated, now CC=0.
UTILBLDP 23.057 Enhanced; USERADD supports SMF record number.
UTILBLDP 23.087 EXPDBOUT= a %INCLUDE failed when output executed.
UTILCONT 23.025 Failed if DISP=NEW dataset was contented.
UTILEXCL 23.075 CMODNAME=RMI,CMODHEAD=DB2CLOCK didn't generate skip.
VGETDDS 23.244 Using VGETDDS to get all DDNAMES can fail.
VGETENG 23.298 MXG 23.08 only: FILE INSTREAM IN USE.
VGETJESN 23.096 Blank TYPETASK in TYPE30_6 data, STCs, corrected.
VMXG70PR 23.276 PDB.ASUMCEC PCTL0OV,LP0MGTTM,LPCT0OV were zero.
VMXGDUR 23.239 Support for DURATM keywords TENMIN and FIVEMIN.
VMXGFOR 23.127 Semi-colon at end of macro invocation in AUTOCALL.
VMXGUOW 23.017 Default IMACUOW in 22.22 caused NO BY error.
%VMXGVERS 23.005 New %VMXGVERS member embedded to detect old versions.
WEEKBLD 23.246 Support for adding un-sorted datasets to WEEKLY PDB.
WEEKxxx 23.015 Sort Order for SMFINTRV must be changed
WEEKxxx 23.351 &MXGSYSN macro variable for compatibility.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 23.
====== Changes thru 23.358 were in MXG 23.23 dated Feb 20, 2006=========
Change 23.358 Support for WebSphere Application Server z/OS Version 6.0
VMAC120 compatibly added 8-byte fields to replace 4-byte fields
Feb 18, 2006 in the Server Activity CSS and Server Interval SIL data.
MXG stores the new data into the existing variable names,
which were already formatted MGBYTES and thus kept long.
Thanks to Victoria Lepak, Aetna, USA.
Change 23.357 Macro variable "SYSNAME" is renamed "MXGSYSN" as SAS has
DOC recommended (SN-012275) that "SYS" not be used as a macro
Feb 18, 2006 variable name's prefix. Only sites with duplicate SYSTEM
names in the same SYSPLEX will need to change the default
value (blank) to "SYSNAME" as noted in Change 23.351.
Those sites could simply put this statement
%LET MXGSYSN=SYSNAME;
in their IMACKEEP member so their WEEKLY/MONTHLY will use
SYSNAME in its BY processing.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.356 Cosmetic, unless you are running a non-PR/SM system. The
VMAC7072 recalculation of CPUUPTM and CPUACTTM used the PR/SM vars
Feb 17, 2006 and overwrote the just-finished non-PR/SM calculation.
Thanks to Douglas C. Walter, CITIGROUP, USA.
Change 23.355 Enhancement to DB2PM-like reports, adds CONNTYPE= option
ANALDB2R for selection criteria for Accounting Detail (PMACC02).
Feb 17, 2006 For example, CONNTYPE=4, selects only CICS connections.
Thanks to John Paul, HighMark, USA.
Change 23.354 MXG 23.23 PreRel; variable PARTNCPU, the count of engines
VMAC7072 in the box/partition, could be too large, if you have ICF
Feb 17, 2006 or IFA engines, in some cases. The test to use SMF70BNP
Feb 19, 2006 instead of NRCPSCPU (temp count PHYSICAL CPs) was added
to protect sites that won't let an LPAR see its physical
segments, was replaced with IF NRCPSCPU GT 0 instead of
comparing IF PARTNCPU GT NRCPSCPU.
-Feb 19: NRCPSCPU was removed from a DROP statement where
it didn't belong, but it is NOT a kept variable.
-Apr 7: How do you cause SMF 70s to not have a PHYSICAL
LPAR segment, and not report on other LPARs?
On the HMC, there is a Global Performance Data
Control switch, which controls the amount of data
returned by the Diagnose instruction RMF uses to
obtain CPU utilization information; if not on,
the RMF 70s will contain only information on this
SYSTEM, and there will be no PHYSICAL segments.
Thanks to Stan Adriaensen, Axa-Tech Belgium GIE, BELGIUM.
Thanks to Scott Barry, SBBWorks, USA.
Change 23.353 Support for OCE Prisma Ser5ver Version 3.04 added new
FORMATS data, compatibly, to their user SMF records, and new
VMACPRPR values for the existing MGPRPRA format, in this perfectly
Feb 17, 2006 written user contribution update.
Thanks to Siegfried Trantes, IDG, GERMANY.
Thanks to Willi Weinberger, IDG, GERMANY.
Change 23.352 Short ML-36 SYSLOG record caused INPUT STATEMENT EXCEEDED
VMACTMNT error for the subtype 8 record. ASMTAPEE at ML-38 fixes
Feb 16, 2006 the short record, and VMACTMNT now tests SYSLLEN before
it inputs the MSGID fields in the captured SYSLOG event.
Thanks to Keith McWhorter, Georgia Technology Authority, USA.
====== Changes thru 23.351 were in MXG 23.23 dated Feb 15, 2006=========
Change 23.351 Change 23.336 had to change the RMF dataset sort order to
MONTHASC BY SYSPLEX SYSTEM SYSNAME STARTIME ....
MONTHBL3 by inserting SYSNAME, but if SYSNAME does not exist in an
MONTHBLD old PDB, your weekly/monthly/etc combining job fails with
MONTHBLS ERROR: BY VARIABLE SYSNAME NOT FOUND ON INPUT DATA ...
MONTHDSK While MXG must use SYSNAME in its logic, only sites with
VMXGINIT duplicate SYSTEM names actually need SYSNAME in their
WEEK70PR BY list for their weekly/monthly jobs, so this change:
WEEKBL3 - defines macro variable &MXGSYSN, with blank value
WEEKBL3D - uses &MXGSYSN in BY statements for post processing of
WEEKBL3T daily/weekly/monthly datasets.
WEEKBLD With the blank default, then your weekly/monthly jobs
WEEKBLDD will not fail when old/new RMF datasets with/without the
WEEKBLDT SYSNAME variable are combined.
Feb 15, 2006 If you have duplicate SYSTEM names, then when all of
Feb 18, 2006 the input datasets to the week/month merge contain
variable SYSNAME, you would then use this statement
%LET MXGSYSN=SYSNAME;
%INCLUDE SOURCLIB(Weekbld, monthbld, ... etc);
Feb 18: The PreRelease use macro variable "SYSNAME" but
Change 23.357 changed it to MXGSYSN.
Change 23.350 Labels for variables DSxTCBAF are now "ATTACH*FAILURES"
VMAC110 instead of "ATTACHES".
Feb 15, 2006
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 23.349 The exit _EPDBOUT is again invoked when BUILDPDB=NO; it
UTILBLDP had been in MXG 22.22, but was lost along the way. Note,
Feb 15, 2006 however, that EXPDBOUT=_EPDBOUT and BUILDPDB=YES can not
Feb 16, 2006 be used together, and a new warning message will be print
if they are both specified.
-Feb 16, 2006: Revised so EXPDBOUT= argument is now always
created either when BUILDPDB=YES is used or if EXPDBOUT
argument is non-blank.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Robbie A. McCoy, Salt River Project, USA.
Change 23.348 Final (?) "70's Record Rewrites" change, for OS/390 R2.1!
VMAC7072 The last error in validation was caused by really old RMF
VMXG70PR records from OS/390 R2.1 that didn't have SMF70CIN field,
VMXGRMFI which caused PARTNCPU to be zero. The revision uses the
Feb 14, 2006 value in SMF70BNP when SMF70CIN is not populated.
-PROC DELETEs were added for a few WORK datasets that were
not deleted after their last use, but now are.
Thanks to Dr. Alexander Raeder, AtosOrigin, GERMANY.
Change 23.347 Support for Websphere MQ for z/OS Version 6.0 (COMPAT).
VMAC115 -Added compatibly, i.e., at end of SMF 115 records:
VMAC116 Data Set MQMMSGDM new sets of duration variables:
Feb 14, 2006 LMSDEL ='DB2 BLOB*DELETE*REQUESTS'
LMSDSCUW='DB2 BLOB DELETE*SQL DELETE*CUM-TM'
LMSDSMXW='DB2 BLOB DELETE*SQL DELETE*MAX-TM'
LMSDTCUW='DB2 BLOB DELETE*THREAD DELETE*CUM-TM'
LMSDTMXW='DB2 BLOB DELETE*THREAD DELETE*MAX-TM'
LMSINS ='DB2 BLOB*INSERT*REQUESTS'
LMSISCUW='DB2 BLOB WRITE*SQL DELETE*CUM-TM'
LMSISMXW='DB2 BLOB WRITE*SQL DELETE*MAX-TM'
LMSITCUW='DB2 BLOB WRITE*THREAD DELETE*CUM-TM'
LMSITMXW='DB2 BLOB WRITE*THREAD DELETE*MAX-TM'
LMSLIS ='DB2 BLOB*LIST*REQUESTS'
LMSLSCUW='DB2 BLOB LIST*SQL DELETE*CUM-TM'
LMSLSMXW='DB2 BLOB LIST*SQL DELETE*MAX-TM'
LMSLTCUW='DB2 BLOB LIST*THREAD DELETE*CUM-TM'
LMSLTMXW='DB2 BLOB LIST*THREAD DELETE*MAX-TM'
LMSSEL ='DB2 BLOB*READ*REQUESTS'
LMSSSCUW='DB2 BLOB READ*SQL DELETE*CUM-TM'
LMSSSMXW='DB2 BLOB READ*SQL DELETE*MAX-TM'
LMSSTCUW='DB2 BLOB READ*THREAD DELETE*CUM-TM'
LMSSTMXW='DB2 BLOB READ*THREAD DELETE*MAX-TM'
LMSUPD ='DB2 BLOB*UPDATE*REQUESTS'
LMSUSCUW='DB2 BLOB UPDATE*SQL DELETE*CUM-TM'
LMSUSMXW='DB2 BLOB UPDATE*SQL DELETE*MAX-TM'
LMSUTCUW='DB2 BLOB UPDATE*THREAD DELETE*CUM-TM'
LMSUTMXW='DB2 BLOB UPDATE*THREAD DELETE*MAX-TM'
A BLOB object is used to access binary large objects
(BLOBs), such as sound byte (wav) or image (gif) file,
using the DB2Blob interface with Java 2. With the BLOB
class, the LOB threshold property specifies the maximum
large object (LOB) size (in kilobytes) retrieved as
part of a result set. LOBs over that threshold are
retrieved in pieces, requiring communications overhead
with the server, so they can reduce the frequency of
communications, but they also download more LOB data,
that unwanted data that was never used. Smaller LOBs
may increase the frequency of communications with
server, but may move much wasted data.
-Added compatibly, i.e., at end of SMF 116 records:
Data Set MQMACCTQ:
WTASVER ='WTAS*VERSION*NUMBER'
WTASDBPT='WTAS*DB2 BYTES*WRITTEN'
WTASDBGT='WTAS*DB2 BYTES*READ'
Data Set MQMQUEUE:
WQFLAGS '=FLAGS'
WQGETDVA'=SUCCESSFUL DESTRUCTIVE GETS'
WQGETJCE'=ELAPSED WAIT*FOR FORCE*JOURNAL GETS'
WQGETJCN'=NUMBER OF FORCE JOURNAL GETS'
WQMAXQDP'=MAXIMUM ENCOUNTERED QUEUE DEPTH'
WQPUT1JE'=ELAPSED WAIT*FOR FORCE MQPUT1*JOURNAL WRITES'
WQPUT1JN'=FORCE MQPUT1 JOURNAL WRITES
WQPUT1PW'=MQPUT1 CALLS WHERE MSG PASSED'
WQPUTJCE'=ELAPSED WAIT*FOR FORCE*JOURNAL WRITES'
WQPUTJCN'=FORCE JOURNAL WRITES'
WQPUTPWG'=NUMBER OF MQPUT CALLS WHERE MSG*PASSED'
WQSETJCE'=ELAPSED WAIT*FOR SET'
WQSETJCN'=NUMBER OF SET'
Thanks to Victoria Lepak, Aetna, USA.
Change 23.346 Documentation example; to add DB2 102 records to BUILDPDB
IMACKEEP and to create the T102S022 T102S044 T102S063 datasets and
Feb 13, 2006 copy them into the //PDB library you would use:
%LET MACKEEP=%QUOTE(
MACRO _CDEUSER
_HDR102 _C102022 _C102044 _C102063 _C102105 _END102
%
MACRO _VARUSER
_V102022 _V102044 _V102063 _V102105
%
);
%LET EPDBOUT=%QUOTE(
RUN;
PROC COPY INDD=WORK OUTDD=PDB;SELECT T102: ;
RUN;
);
%INCLUDE SOURCLIB(VMAC102);
%INCLUDE SOURCLIB(BUILDPDB);
We're not sure why both RUN; statements are required, but
the PROC COPY doesn't execute without them.
Thanks to Ricci Hsial, China Trust, TAIWAN.
Change 23.345 Enhancement for the %READDB2 utility to read DB2 records.
READDB2 New WANTONLY option lets you create observations only in
Feb 13, 2006 selected datasets, with sub-options to DROP or KEEP the
variables you want in that dataset, and logic to choose
which observations are output. See documentation in the
comments, but for example.
%READDB2(IFCIDS=ACCOUNT,WANTONLY=DB2ACTB,
DB2ACTB=YES/IF QBACGET GT 0);
would create observations only in the DB2ACCTB dataset,
and only if the observation had non-zero GETS count.
Change 23.344 The KEEP= list for dataset FICON73 needed SYSNAME added,
ANALFIOE as a result of the RMF changes in MXG 23.11.
Feb 10, 2006
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 23.343 MXG 23.11. PDB.TYPE72GO NOT SORTED. Several BY statements
VMXGRMFI had only BY SYSPLEX SYSNAME STARTIME; but the correct BY
Feb 10, 2006 list is BY SYSPLEX SYSTEM SYSNAME STARTIME;. This error
only occurred when SYSTEM and SYSNAME were not the same.
Thanks to Paul Naddeo, FISERV, USA.
====== Changes thru 23.342 were in MXG 23.23 dated Feb 9, 2006=========
Change 23.342 Support for more Optional CICSTRAN "Candle" CICS fields
IMACICD9 Field/Variable Label IMAC
IMACICC1 CANFLAGS CANDLE*UMBRELLA*FLAGS IMACICD9
IMACICC2 CANGMTOF CANDLE*GMT*OFFSET IMACICC1
IMACICC3 CANUMBTR CANDLE*UMBRELLA*TRANID IMACICC2
IMACICC4 CANUMBUS CANDLE*UMBRELLA*PROGRAM IMACICC3
UTILEXCL CANUSRWK CANDLE*UMBRELLA*USER*WORKAREA IMACICC4
VMAC110 The UTILEXCL program must be used to create a tailored
Feb 8, 2006 IMACEXCL member, and the UTILEXCL output tells you which
Feb 15, 2006 of the IMACICxx members also must be EDITed to create the
optional variable(s) in the CICSTRAN dataset.
Thanks to John Shuck, SunTrust, USA.
Change 23.341 CICS Statistics dataset CICSJR variable SJRPRXMX, the XMX
VMAC110 value, was read as an 8-byte binary value, but the field
Feb 5, 2006 contains either blanks or '32M ' in EBCDIC text, and
reading text fields as binary gets large values:
input field read as binary decimal exponential
8-bytes of blanks 4.6*10**18
'F3F2'x -32- in first bytes 17.5x10**18
4-bytes of hex FFx 4,294,967,294 4x10**9
4-bytes of FFx 1,077,952,576 1x10**9
Now, new character variable SJRPRXCH is the text field,
which is parsed and decoded into the original numeric
variable SJRPRXMX, now formatted MGBYTES.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
====== Changes thru 23.340 were in MXG 23.11 dated Feb 2, 2006=========
Change 23.340 MXG support for Omegamon for DB2 Archive file records.
VMACOMDB -A short IFCID 44 record caused INPUT STATEMENT EXCEEDED;
Feb 2, 2006 the record was only 350 bytes, and contained none of the
actual IFCID 44 data fields; MXG now INPUTs the first 350
and tests to see if there is any more before INPUTing.
-IFCID 63 had a fixed INPUT of $5000 for the SQL text,
which caused INPUT STATEMENT EXCEEDED error when there
was a shorter text. This statement was taken as-is from
Candle's SAS code in 2003, but apparently no IFCID 63
data had been tested before by an MXG user or Candle!
The MXG logic now INPUTs using VARYING informat
Thanks to Rosaline E. Howe, IBM Global Services, USA.
Change 23.339 -Harmless DIVIDE BY ZERO because TOTSHARC was not tested
VMAC7072 to be non-zero, but results are still fine; the variables
Feb 2, 2006 LPARSHAR and LPARSHAC will be missing when TOTHARC=0.
-SHIFTHRS references in DROPs removed as it doesn't exist.
-Missing labels, and other RMFINTRV cosmetics cleaned
-TEST70SP did not include VMXGRMFI for NEWRMFI compare,
which caused many false positive comparison differences.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Thanks to Chris Weston, SAS ITRM Cary, USA.
====== Changes thru 23.338 were in MXG 23.11 dated Feb 2, 2006=========
Change 23.338 ML-38 of MXGTMNT, Tape Mount/etc Monitor program adds new
ASMTAPEE event trace to the STK user exit in ASMHSCEX; we now have
ASMHSCEX excellent cooperation with STK developers who are working
Feb 1, 2006 with "asmguy" to install ML-38 at STK so we can diagnose
why we miss so many mounts in that user exit.
-ASMTAPEE corrects MXGC009E Unrecoverable error messages;
the error was introduced back in ML-30 with the Volume
mount enhancement, but only one site has reported only
two instances, and it was with ML-37.
-ML-38 also corrected 0C4 ABEND during processing of an
IEC6000I reply message in offline device allocation.
This note added Feb 21.
Thanks to Keith McWhorter, Georgia Technology Authority, USA.
Change 23.337 Missing values for these PR/SM variables in PDB.RMFINTRV
VMAC7072 PLATBUSY,PLATCPUS,TOTSHARE,TOTSHARC,LPARSHAR,LPARSHAC
VMXG70PR can occur, even with Jan 31 MXG 23.11, but only if there
VMXGRMFI were short intervals, as when an LPAR is started/stopped,
Feb 2, 2006 or as when a Policy Change is issued, which wrote two
short intervals (an 8:45 STARTIME with a 2 minute DURATM,
an 8:47 STARTIME with 13 minute DURATM).
-Previously, those variables were extracted by ASUM70PR
from PDB.ASUM70PR dataset and merged into PDB.RMFINTRV;
however the rewrite in Change 23.322 to ASUM70PR uses the
SMF70GIE time interval (9:00 in the above example),
but the PDB.RMFINTRV is created for each of the STARTIME
values, so all of the old logic was moved from VMXG70PR
into the VMAC7072 and VMXGRMFI members.
-So: ASUM70PR no longer updates PDB.RMFINTRV.
-This, too, was not a trivial revision.
The biggest difficulty with this change was validation;
these short intervals created invalid data in the old
ASUM70PR/ASUMCEC datasets, which now have fewer obs than
the old MXG version, so this change was filled with false
positive differences in the PROC COMPARE output!
Thanks to Diane Eppestine, AT&T Services, Inc, USA.
====== Changes thru 23.336 were in MXG 23.11 dated Jan 31, 2006=========
Change 23.336 Support for RMF with repeated SYSTEM names in a SYSPLEX.
VMAC7072 Variable SYSNAME (SMF70SNM) was inserted in the BY list
VMXG70PR for all RMF-based datasets. These RMF records all have
VMXGRMFI the same value in variable SYSTEM, but SYSNAME is unique
ANALRMFR to each system and must be used to separate them. Test
VMAC7072 data's SYSTEM was different from each of the two SYSNAME
ADOC7xxx values. The new RMF sort order is changed to:
ANALRMFR BY SYSPLEX SYSTEM SYSNAME STARTIME .... ;
Jan 29, 2006
ANALRMFR This change in sort order should have NO impact if you
VMAC70PR have no repeated SYSTEM names in a SYSPLEX. By putting
VMXG70PR SYSNAME to the right of SYSTEM, merges with old MXG data
Jan 31, 2006 (that were sorted BY SYSPLEX SYSTEM STARTIME...) won't
be impacted, and your report code with logic testing for
FIRST.SYSTEM or LAST.SYSTEM won't be impacted.
INCOMPATIBILITY:
ONLY if you have multiple SYSTEM names in a SYSPLEX do
you need to deal with this changes. You MUST revise BY
statements in your report programs, inserting SYSNAME
after SYSTEM, and using SYSNAME instead of SYSTEM in
reports. Tests for FIRST.SYSTEM or LAST.SYSTEM must be
changed to FIRST.SYSNAME or LAST.SYSNAME in your code.
But without this change, these multiple SYSTEM names
created incorrect output, without any error messages.
You might think having repeated SYSTEM names is dumb, but
it is useful for Disaster Recovery LPARs, and can avoid
changing SYSTEM in JCL, etc., when moving a SYSTEM to a
SYSPLEX that already has a SYSTEM with that same name.
Some initial revisions were made to ANALRMFR, but they
are still being validated, and those reports will be
enhanced to support selection by SYSNAME or SYSTEM.
Full list of members changed by this change:
ACHAP35 ADOC7072 ADOC70PR ADOC71 ADOC73 ADOC74
ADOC75 ADOC76 ADOC77 ADOC78 ADOC89 ADOCPDB
ANALDALY ANALFIOE ANALMPL ANALPGNS ANALRMFI ANALRMFR
ANALSRVC ANALSTOR ASUMMIPS DOCMXG GRAFWORK GRAFWORX
GRAFWRKX JCLQAOLD MONTHASC MONTHBL3 MONTHBLD MONTHBLS
MONTHDSK QASAS TEST70SP TRNDRMFN VMAC7072 VMAC71
VMAC75 VMAC76 VMAC77 VMXG70PR VMXGRMFI WEEKBL3
WEEKBL3D WEEKBL3T WEEKBLD WEEKBLDD WEEKBLDT
These changes are in the MXG 23.11 dated Jan 31, 2006:
Jan 31 updates (hooray - no critical changes!!):
-ANALRMFR: revised, not DROP SYSNAME after SHAR74).
-VMAC7072: cosmetic removal of duplicate SYSNAME in KEEP=
in several places, eliminated NOTE on log.
-VMXG70PR: variable SMF70GIE now kept in RMFINTRV.
-If _STY70 is executed twice, you will get an ABEND and
ERROR: DATASET WORK.TYPE70SP NOT FOUND
That error is intended, as it alerts you that your
program has caused that macro to be executed a second
time. Please rerun with
OPTIONS SOURCE SOURCE2 MACROGEN MPRINT;
and send the full log to support@mxg.com so we can
understand what you were doing that is incompatible with
the new MXG redesign.
-VMAC73: variable SYSNAME was added to KEEP= list for the
always-zero-obs TYPE73L,TYPE73P datasets; WEEKBLD etc
need those variables because they are in the BY list,
even though those datasets have not had observations for
decades. (And I can't safely stop creating them, as
that can only cause somebody's report program to fail.)
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Thanks to Alain Delaroche, CA-Atlantica, FRANCE.
Thanks to Chris Weston, SAS ITRM Cary, USA.
Change 23.335 Variables SMF70OIL and SMF70SYN are added to dataset
VMAC7072 TYPE70; they have always been INPUT but were not kept.
Jan 27, 2006 SMF70OIL='ORIGINAL*INTERVAL*LENGTH'
SMF70SYN='SYNC*VALUE'
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 23.334 MXG's unwise default to NOT create observations from type
IMACINTV 30 subtype 2/3 records is finally changed so that now,
INSTALL observations will always be output into TYPE30_V dataset,
Jan 26, 2006 if the SMF file contained SMF 30 subtype 2/3 records.
-Always use PDB.SMFINTRV, created by BUILDPDB and NOT the
"raw" TYPE30_V dataset, nor the PDB.SMFINTRV created by
TYPS30 program; those other "PDB.SMFINTRV/TYPE30_V" data
sets still have incomplete data because they still have
those multiple observations if MULTIDD='Y'. Only MXG's
BUILDPB logic combines the multiple TYPE30_V obs into
a single complete observation in PDB.SMFINTRV.
-The default was unwise because many new users have wasted
their time and were frustrated when they got no output,
and wasted more time looking for what they had done wrong
OK, they had done something wrong: they had failed to
read (and understand the impact of) every word in the
INSTALL member, which is where I documented that zero
obs would be created by default!
-I originally chose to not write the interval record when
they first appeared in 1980, because I was concerned for
the additional disk space that might blind-side your fine
running daily job, and because back then they weren't
sychronized with time of day, and were not of much use.
-Now, however, PDB.SMFINTRV is synchronized, so you can
create legitimate interval sums of all tasks to compare
with RMF, and potentially use in place of PDB.RMFINTRV
for workload measurement, and it so important that it is
normally created by everyone, and so I could have saved
many support calls if I'd changed the default a long time
ago. And, the cost of a little of DASD space is still a
lot cheaper than the cost of the beginner's time and
frustration, so it now is populated by default.
Change 23.333 Cosmetic. Missing Value calculations when OFFWQ was a
VMAC116 missing value; now, OFFQW is tested first so those log
Jan 26, 2006 messages are eliminated.
Change 23.332 Variables HFLLIST and HFPGACT are accumulated in the raw
VMACVMXA z/VM MONWRITE data, but were not de-accumulated in MXG.
Jan 25, 2006 Logic to use DIF() was added to properly decode and
Feb 1, 2006 convert them to percentages.
Feb 1: typo HFLPGACT corrected to HFPGACT
Thanks to Kris Ferrier, State of Washington DIS, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 23.331 Support for NDM/Connect-Direct subtypes TF, TL, and TW
EXNDMTX (TCQ Full, TCQ Below Threshold, or TCQ At Threshold)
IMACNDM create observations in the new NDMTX dataset.
VMACNDM
VMXGINIT
Jan 25, 2006
Thanks to David Kaplan, Depository Trust, USA.
Change 23.330 Change 23.321/322 corrections:
TEST70SP The "best tested ever" revisions in MXG 23.10 for RMF 70s
VMAC7072 were still not perfect. The TYPE70/TYPE70PR/ASUM70PR and
VMXG70PR ASUMCEC datasets have had no reported data-value errors,
VMXGRMFI but the RMFINTRV dataset had missing values for the PR/SM
Jan 24, 2006 variables, due to an incorrect sort order, and errors in
Jan 26, 2006 building the WEEK/MONTH PDBs with new/old data uncovered
Jan 27, 2006 the need for additional PROC SORTs to put the new data
back in the old and expected sort order.
Chronological list of revisions to the revision:
23Jan2006:
-VMXG70PR. Cosmetic. Variables SYSPLEX SYSTEM were in
KEEP list for the new ASUMCELP but should not have been;
only impact was a possible WARNING message.
24Jan2006,27Jan2006:
-TEST70SP fails in its comparison of OLDRMFI and NEWRMFI,
with VARIABLES SYNCTIME LPARNAME LCPUADDR not found. The
two BY statements for the two SORTs and one BY statement
for the DATA step in lines 88-96 of TEST70SP should be:
BY SYSPLEX SYSTEM STARTIME;
BY SYSPLEX SYSTEM STARTIME;
BY SYSPLEX SYSTEM STARTIME;
26Jan2006:
-VMXGRMFI fails if SPIN.SPINRMFI dataset had observations:
ERROR: BY VARIABLES NOT SORTED ON DATASET WORK.SPINRMFI
because the new logic needed a sort of the old SPINRMFI
into the new sort order.
-VMXG70PR rebuilt PDB.RMFINTRV caused OUT OF SORT ORDER
error when (for example, WEEKBLD) old and new RMFINTRV
datasets were combined. Adding a final sort to force the
output to be BY SYSPLEX SYSTEM STARTIME corrected.
27Jan2006:
-VMXG70PR creation of PDB.TYPE70PR needed an additional
PROC SORT to put it in the original SORT order for the
WEEKLY merge.
-VMXG70PR rebuild PDB.RMFINTRV had missing values for the
"PLATCPUS" variable; re-sequencing the BY statements was
necessary.
All four members have now been redated 27Jan2006, so you
will know you have all current changes.
Thanks to Dr. Alexander Raeder, AtosOrigin, GERMANY.
Thanks to Alain Delaroche, CA-Atlantica, FRANCE.
Thanks to Diane Eppestine, AT&T Services, Inc, USA.
Change 23.329 Variable CPUCEPTM, CPU Time while Enqueue Promoted is
VMAC30 accumulated in SMF 30 interval records, but Change 22.326
BUILDPDB added logic to deaccumulate CPUCEPTM in PDB.SMFINTRV.
BUILDPD3 Now, IBM has added field SMF30CEPI, the interval CPU time
Jan 23, 2006 and MXG creates new variable CPUCIPTM from that field in
all of the TYPE30 datasets, as well as in PDB.STEPS and
PDB.JOBS.
Thanks to Scott Barry, SBBWorks, Inc, USA.
====== Changes thru 23.328 were in MXG 23.10 dated Jan 23, 2006=========
Change 23.328 New macro variable &MXGEOF with null value is now called
VMACSMF when EODOFSMF or ENDOFLOG condition is true; you could
VMXGINIT use &MXGEOF to execute code, like storing the MNSMFTME
Jan 22, 2006 value into a macro variable for subsequent use. While
Jan 26, 2006 this may look slightly kludgy, using an old-style macro
to hold the text (quotes, parens, semicolons etc.) that
is to be stored into a %LETed macro variable is often
much safer, cleaner, and easier to type-in, although the
use of %LET macvar= %QUOTE ( ... text ... ) ; may often
be all that is required, and, occasionally, you can even
use %LET macvar= ... text ... ;, but this always works to
pass executable SAS code into a macro variable:
MACRO _MXGEOF
CALL SYMPUT("MNSMFTME",PUT(MNSMFTME,DATETIME21.2));
%
%LET MXGEOF= _MXGEOF ;
%INCLUDE SOURCLIB( .. any SMF processing ) ;
%PUT &MNSMFTME;
Jan 26: Two instances of ENDOFSMF in seldom-used JOURNAL
INFILEs were corrected to ENDOFLOG; only impact was an
UNINITIALIZED VARIABLE ENDOFLOG message on the log.
Thanks to Dr. Alexander Raeder, AtosOrigin, GERMANY.
Change 23.327 Enhancements to IBM-RMF-Report-like report examples.
ANALRMFR Revisions for Change 23.321 to insert _STY70 when PDB=SMF
Jan 22, 2006 and REPORT=CPU is requested.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 23.326 Macro variable PSUDB2 (used only by the new ASUMDB2) was
VMXGINIT not GLOBALed, even though it was %LET in VMXGINIT, caused
Jan 18, 2006 APPARENT SYMBOLIC REFERENCE PSUDB2 NOT RESOLVED on MVS.
Thanks to John Riera, InfoCrossing, USA.
Change 23.325 Syntax error 180 underscoring _C1020, only when TRACECLS
READDB2 argument is used, was introduced by Change 23.287 and is
Jan 18, 2006 corrected by relocating the test for TRACECLS argument to
Feb 17, 2005 after the include of VMAC102 code.
Feb 17: MAC102S initialized, eliminated error if no 102s
were requested.
Thanks to Thomas Zuber5, Independence Blue Cross, USA.
Change 23.324 On IBM's recommendation, these TPF Continuous Data values
VMACTPFC are now converted to rates per second by division by the
Jan 20, 2006 TPFCTDIF interval duration, which is already in seconds
and fractions. Their labels were also revised as shown:
Variable Label
TPFCHMSG HIGH*SPEED*MESSAGES*PER SEC
TPFCLMSG LOW*SPEED*MESSAGES*PER SEC
TPFCROEN ROUTED*ENTRIES*PER SEC
TPFCCREN CRTD*ENTS*PER SEC
TPFCSIMS SSCP*INPUT*MESSAGES*PER SEC
TPFCCIMS INSDB*IN*MESSAGES*PER SEC
TPFCCMTS COMMITS*PER SEC
TPFCCFRQ CF*REQUESTS*PER SEC
Thanks to Chris Weston, SAS Institute Cary, USA.
Thanks to Martha Hays, SAS Institute Cary, USA.
Thanks to Luis R. Vega-Zayas, IBM, USA.
Change 23.323 IBM APAR OA14365 corrects negative CPUUNITS in SMF 30s,
VMAC30 which occurs only when IFAs are used, and only when the
Jan 16, 2006 address space had little activity. The negative value is
created when CPUUNITS=CPUUNITS-IFAUNITS finds IFAUNITS
are greater than CPUUNITS. CPUUNITS is SMF30CSU, and
IFAUNITS=CPUIFATM*CPUCOEFF*LOSU_SEC or in IBM names:
(SMF30_TIME_ON_IFA) * SMF30CPC * (16000000/SMF30SUS)
MXG now detects that the CPUUNITS are negative, and
prints warning messages on the SAS log that you need to
install this APAR. Text revised March 6, 2006.
Thanks to Micchia Marco Antonio, UniCredit, ITALY.
Change 23.322 Support for 60 LPARs and corrections to ASUM70PR logic:
VMAC7072 z/OS 1.7 now supports up to 60 LPARs; your MXG code will
VMXG70PR fail with messages (ARRAY OUT OF RANGE) if you have an
Jan 19, 2006 LPARNUM greater than 32. This change was extensive:
-VMAC7072:
Size of temporary ARRAY S70LPCP was increased from 32
to 60. No other changes were required for the TYPE70
and TYPE70PR datasets.
-VMXG70PR summarization.
1. New PDB.ASUMCELP dataset is created from PDB.ASUMCEC,
with only one set of variable names, and it should be
used for reporting instead of PDB.ASUMCEC.
2. Major mechanical rewrite to support 60 LPARS.
Created 28 sets of 25 new variables for each of the
new LPARs in the PDB.ASUM70PR and PDB.ASUMCEC datasets
(so they are even more unwieldy for report writing).
While those datasets are valid, I strongly recommend
that you instead use PDB.ASUM70LP and PDB.ASUMCELP
datasets, instead of PDB.ASUM70PR and PDB.ASUMCEC;
those "LP" datasets have only one set of variable
names, for easy reporting, and you can select by
LPARNAME. The LPARNUM is no longer valid because an
LPARNAME's LPARNUM will change if a new LPARNAME is
created (LPARNUMs are set by alphabetical LPARNAME
order).
But in case you have reports based on those clumsy
sets of variable names in ASUM70PR/ASUMCEC datasets,
the variable names for LPARs 33-34 have Y and Z as
markers (1-9 and A-X were used for LPARs 0-32), and
these new names are created for LPARs 35-60 in the
(archaic, but valid) ASUM70PR and ASUMCEC datasets:
LPARS 0-34 LPARS 35-60
LPnAAAAA LQnAAAAA
LPCTnAAA LQCTnAAA
PCTLnAAA PCTQnAAA
3. MXG variable CPUOVHTM has been wrong for some time;
it contained both LPPUPDTM and LP0MGTTM, which are
identical measurements of the "PHYSICAL" CPU time, and
only one of them should have been included; this error
caused both the CPUOVHTM and PCTOVHD values to be
slightly too large.
4. LPARs with the same STARTIME but different DURATM's
caused incorrect calculations in PCTCPUBY and/or in
individual LPAR percentages, which could be over 100%,
in the ASUM70PR/ASUM70LP/ASUMCEC summary datasets.
To properly summarize data across a CEC, neither the
STARTIME nor SYNCTIME can be used to identify the
minimum set of interval data from all systems on that
CEC. STARTIME has been documented as varying by one
to several seconds for the same logical interval on
the same CEC. While SYNCTIME is constant in all RMF
records for a "normal" interval, when a WLM Policy
Change was made for six of nine LPARs in a CEC, there
were six 1.5-minute-DURATM obs, three 15-minute-DURATM
obs, and then six 13.5-minute obs. Those six 1.5
minute short duration records, written as a result of
the policy change, each had a unique SYNCTIME, so it
could not be used to group the observations. Only the
SMF70GIE value appears to be safe to use to get all of
the pieces together in CEC and 70PR/70LP summarization
and this redesign now uses SMF70GIE in place of the
STARTIME for the grouping into summary intervals.
(RMF Development later confirmed that they also use
SMF70GIE for their report grouping. 26Apr2006.)
5. PDB.ASUMCEC will contain invalid data if your LPARs
are on different time zones; you must use TIMEBILD to
force all of the datetimes to a single time zone for
ASUMCEC/ASUMCELP to be valid.
6. For ASUMCEC/ASUMCELP, comparisons should be extremely
close, but possibly not exact, for "normal" intervals.
For intervals were some LPARs were not present for the
full interval, or when a Policy Change was issued,
i.e., when there are more than one STARTIME in an
SMF70GIE interval, the new code should be correct,
creating only one observation for each SMF70GIE,
whereas the old code had an observation for each
STARTIME, and the old data for those "broken"
intervals was usually incorrect.
7. The circumvention member EXCECTIM is now unnecessary
and is no longer referenced by MXG code.
Thanks to Alain Delaroche, CA-Atlantica, FRANCE.
Change 23.321 Support for Split RMF 70 records: CRITICAL. SPLIT70.
VMAC7072 -If you have enough LPARs (32) with SPARE engines, IBM now
XMAC7072 splits the RMF 70 data into multiple physical SMF records
TEST70SP that are completely INCOMPATIBLE and REQUIRE this change.
Dec 7, 2005 MXG KNEW SPLIT RECORDS COULD EXIST AND PRINTS TEN ERROR
Jan 19, 2006 MESSAGES ON THE LOG THAT THERE ARE ERRORS AND BAD DATA.
Change 22.344, Jan, 2005, added that logic in MXG 22.22.
-But until I had actual records, I couldn't revise MXG.
-The support required a complete restructure of the code
and logic that creates the TYPE70 and TYPE70PR datasets
from RMF or CMF type 70 SMF records. None of the other
datasets created in the VMAC7072 "product" code were
touched by this change. Work started at CMG, and across
the holidays in chunks of development and testing using
RMF and CMF data from 33 sites that were not split (so
the old and new logic could be compared; the old logic
created trashed data with split records so there is no
"old" for split). Instead, the ANALRMFR RMF-like report
was compared with IBM RMF reports from the one split RMF
70 record that precipitated this major redesign!
-As long as you use BUILDPDB/3, RMFINTRV, TYPE7072 or the
TYPS7072 MXG code to read your RMF/CMF 70/72 records, the
MXG redesign will execute transparently with MXG 23.10+:
- Dataset WORK.TYPE70 initially has zero observations
after the SMF data is read; instead, new WORK.TYPE70SP
dataset will have observations, whether your records
are split or not.
- The WORK.TYPE70PR dataset is created from SMF, but it
is completely invalid if it was created from a SPLIT
SMF 70 record.
- The redesign now must invoke the _STY70 Data Set Sort
macro, which processes the WORK.TYPE70SP/TYPE70PR data
and in that process, creates these temporary datasets:
SORT70SP - Sort of TYPE70SP
PHYSICAL - LPARNAME='PHYSICAL' obs from TYPE70PR
NUCPCXPU - Count CPs, ICFs, IFLs, IAFs from PHYSICAL
THISPART - PARTISHN=LPARNUM subset from PHYSICAL
FROM70PR - Summary, create LPARn vars from THISPART
Three (SORT70SP, FROM70PR, NUCPSCPU) are then merged
to create the PDB.TYPE70 output dataset, which is also
enhanced by the addition of these new variables:
LPARNAME SMF70BDA LCPUDEDn-x, LCPUWAIn-x
Then _STY70 logic sorts TYPE70PR into SORT70PR so it
can be MERGEd with NUCPSCPU to populate the PARTNCPU
and NRICFCPU/NRIFLCPU/NRIFACPU variables from the
PHYSICAL segments to create the PDB.TYPE70PR dataset.
-If you use YOUR OWN CODE that uses the _VAR7072 _CDE7072
macros, then you MUST also invoke the _STY70 macro to
create the TYPE70 and TYPE70PR datasets; otherwise, you
will have zero observations in TYPE70 and bad data in the
TYPE70PR dataset. (If you already use the _S7072 product
sort macro to sort all of the 7072 datasets, you're home
free, since the product sort macro always invokes the
data set sort macro for all datasets from that product.)
The default output DD for _STY70 is "PDB" for both the
TYPE70 and TYPE70PR datasets. If you want your old
code to continue to write those two datasets to the
"WORK" DDname, you would insert:
%LET PTY70=WORK;
%LET PTY70PR=WORK;
before your DATA step.
-Note that _STY70PR sort macro is now null and must be
replaced with _STY70.
-The MXG TYPE7072 member now must invoke the _STY70 macro,
but with %LETs inserted in TYPE7072 so that the rebuilt
TYPE70/TYPE70PR datasets are still written to //WORK.
(So an existing %INCLUDE SOURCLIB(TYPE7072) will still
create those datasets in the //WORK library.)
But if you use %INCLUDE SOURLIB(TYPE7072), you can not
add an invocation of _STY70, because of that under the
covers execution. And you'll get an error if you do:
-You can get ERROR: FILE WORK.TYPE70SP DOES NOT EXIST:
a. if you do attempt to invoke _STY70 a second time,
b. if you have an old VMAC7072 in your "USERID" tailoring
source libraries
c. if your predecessor had (incorrectly) tailored MXG and
had redefined MACRO _VAR7072 or MACRO _CDE7072 macros
(usually in IMACKEEP member). It has ALWAYS been
incorrect installation tailoring to redefine those
critical MACRO _VARxxxx or MACRO _CDExxxx macros in
your USERID MXG Tailoring Library, precisely because
they block MXG from it correct definitions.
-ITRM/ITSV section: revised Jan 31, 2006:
Most ITRM sites do NOT have to do anything at all for the
new 70's architecture, as long as you create XRMFINT (the
RMFINTRV MXG dataset) with your %CMPROCES ITRM execution.
ONLY if you process RMF 70 records, but do NOT create
the RMFINTRV dataset, you will, at present, need to
insert the text _STY70 in your EXPDBOUT member.
This original change text said all ITRM sites needed
to add that statement, but that text was wrong, and it
is the rare site that would process 70s without also
creating the XRMFINT/RMFINTRV dataset. A later change
to ITRM can be expected that will make the invocation
of _STY70 internal to ITRM, and that statement will
need to be removed at that time.
-This iteration has no protection for incomplete sets of
split records: first record filled today's SMF file, next
record is in tomorrow's SMF file. That may be done in a
later iteration, using the //SPIN DD to hold data.
-VSETZERO member has been removed from the VMAC70s logic.
It was added in MXG 23.03 by Change 23.070 in an
attempt to deal with inconsistent STARTIME values
across LPARs, by setting STARTIME to the exact minute
when seconds were 58,59, or 01-10.
It is removed because the unchanged STARTIME value must
be used for the merge of the split records, but also
because VMXG70PR is revised in Change 23.323 to use the
SMF70GIE variable for the merge, and the minimum value of
STARTIME is used only for reporting those summary data.
-In both rewrites, I discovered a few cases in which the
old MXG code was inconsistent or even wrong:
- LPARn variables for unused LCPUADDRs were occasionally
zeros when they should have been a missing value; now
they are always missing. Had no impact on your data,
but they cause false positives in PROC COMPARE in the
TEST70SP program because they are different.
- Handling of engines with CAI='00'x (not on at end of
interval) and CAI='02'x or CAI='03'x (error flag on)
was inconsistent in the old code. Since SMF70ONT now
should be populated, it is used to determine if each
engine's dispatch/wait times are included in totals,
impacting the values in those individual "n" engine
variables and the totals, in particular variables
MVSWAITn,CPUWAITn,CPUPDTMn,CPUEFFMn and
MVSWAITM,CPUWAITM,CPUPDTMM,CPUEFFMM
If these values differ in your compare, look first at
the CAIn variables to see if they account for the
compare differences, knowing the new is correct now.
- Because values are now summed and then divided that
were previously divided and then summed, some small
differences (less than .001 absolute value) were found
in some time and percentage variables, but they only
impacted the PROC COMPARE, and not the real world.
- Duplicate SMF records were not always deleted, which
caused PCTCPUBY in ASUM70PR and ASUMCEC over 100%.
The sort order of TYPE70PR to remove duplicates is:
BY SYSPLEX SYSTEM SYNCTIME STARTIME SMF70GIE LCPUADDR;
- Variables NRICFCPU and NRIFAS in ASUM70PR/ASUMCEC were
sometimes incorrect in the old code.
- The SMF6CNF bit macro no longer exists; not needed with
the revised handling of the CAI '02'x and '03'x values.
- APAR OA14024 just reported that the IBM RMF Report Writer
fails with an ABEND 0C4 when it tried to read a split SMF
70 record from a system with 60 LPARs, because the total
length of all records was then over 64K bytes, a value
that killed the report writer, due use of a signed field.
And this happened after an RMF Developer told me that it
was very simple to reassemble their split data!
- This SMF 70 record really did not need to be split by
IBM now! The record contained 368 LCPUADDR segments from
the 32 LPARs, but there were actually only 68 LCPUADDR in
use; all of the other LCPUADDR segments were for each of
the SPARE engines on the z9, so if IBM had chosen to only
write the non-SPARE engine's, this rewrite would not have
occurred now. But, the rewrite is now done so the future
is safe.
- New TEST70SP member creates TYPE70/TYPE70PR datasets with
the old MXG 23.09 code (in XMAC7072 member) and with the
new VMAC7072 code, and uses PROC COMPARE to identify any
differences between new and old logic. TEST70SP can ONLY
be used with NON-SPLIT RMF 70s.
(The old code didn't support split records, which cause
multiple TYPE70 observations with same STARTIME and
with incorrect data values.)
It also created new and old ASUM70PR and ASUMCEC data and
compares them, but if your data has multiple STARTIMEs in
an SMF70GIE interval, the old and new will not compare,
as the old was split into multiple observations, but the
new logic correctly summarizes those multiples, so there
will be fewer observations in the new compared with the
old, which PROC COMPARE reports as lots of differences,
but there is no error.
Thanks to Matt Clarke, Charles Schwab & Co., Inc, USA.
Thanks to Neil Ervin, Charles Schwab & Co., Inc, USA.
Change 23.320 -Truncated SMF 102 record caused INPUT STATEMENT EXCEEDED
VMAC102 RECORD LENGTH error is now detected and reported on the
Dec 23, 2005 SAS log as a truncated record, rather than an ABEND.
-IFCID 83 record from DB2 V7.1 caused similar ABEND, but
this was because the MXG code for that IFCID was only
for DB2 V8.1, as only that version's test data had been
received; now, both V7 and V8 IFCID 83 are supported.
Thanks to Tony Pratt, Tampa Electric, USA.
Change 23.319 New ASUMDB2 program summarizes DB2ACCT events to create
ASUMDB2 interval (hourly default) transaction counts, resources,
VMXGINIT and response time buckets, using the same macro variables
Dec 18, 2005 to define those buckets as are used in ASUMCICS/ASUMCICX
that creates PDB.CICS.
Thanks to John Rivera, (i)Structure, USA.
Change 23.318 Incorrect syntax with character text for NRPERIODS caused
VMXGRMFI strange and unobvious error messages; now, if NRPERIODS
Dec 18, 2005 is not a number, the execution will ABEND so you can fix
your syntax.
Thanks to Robbie A. McCoy, Salt River Project, USA.
Change 23.317 -Syntax error in TRNDUOW due to a semi-colon after a ELSE.
TRNDCEC -Variable NRPRCS NOT FOUND in TRNDCEC because it was
TRNDUOW removed some time ago.
Dec 18, 2005 -TRND members had not been fully tested in QA, now are.
Thanks to Freddie Arie, Merrill Consultants, USA.
Change 23.316 Changes to VGETENG required corresponding changes to this
UTILCONT utility that provides the size of contents of your SAS
Dec 15, 2005 data libraries.
Thanks to Paul Naddeo, FISERV, USA.
Change 23.315 Dataset ICFD70PR NOT SORTED error due to short interval
ASUM70PR RMF records required yet another sort to force proper
Dec 15, 2005 sequence.
Thanks to Jimmy J. Hu, Ameren, USA.
Change 23.314 Documentation only. APAR OA06476 documents that TYPE74CA
VMAC74 fields R745INCR, R745BYTR, R745BYTW, R745RTIR, R745RTIW
Dec 13, 2005 have never been populated and are now reserved fields
that will always be zeros. The data was planned for the
2105 800 models, but the data was not available on those
boxes. The data has become available with the 2105 box,
but that interface and APAR OA06476 adds new R7451INC,
and R7451CT1-4 to RAID Rank/Extent Pool Section.
Change 23.313 -Variables R791TIFC/R792TIFC were incorrectly normalized
VMAC79 by R791NFFI/R792NFFI, but they are already in CP seconds
Dec 12, 2005 so they are no longer normalized.
-Variables R791TCP and R729TCP are now deaccumulated, and
the label for R792TCP is now correct.
-Text in Change 22.152 now has correct variable names and
labels for TYPE791 and TYPE792 IFA-related variables.
-Change 23.132 updated to list the TYPE79 changes made.
Thanks to Rick Southby, Insurance Australia Group (IAG), AUSTRALIA.
Change 23.312 New CICSBAD dataset contains "bad" CICSTRAN observations,
EXCICBAD that were previously output in CICSTRAN dataset, but are
IMACCICS known to be defective, and so are now output in CICSBAD.
VMAC110 There are two "bad" conditions supported in this change:
VMXGINIT -When a user types in a TRANNAME that is not a valid name,
Dec 9, 2005 there still is a type 110 segment created with missing
Feb 9, 2006 fields, and TRANNAME contains whatever was typed. Those
records are identified by PROGRAM='########', and are
now output into dataset CICSBAD rather than CICSTRAN.
While these records are usually just typos, hackers have
been known to keep typing names until they find one that
works, so these records might be useful in CICS security
issues. Each record has between 3 and 4 milliseconds of
CPU time in TASCPUTM, which I presume is the fixed cost
to create a CICSTRAN observation (speculation - there may
be uncaptured CPU) on a SU_SEC=10000 speed engine.
-When a CICS task is executing on an OPEN TCB, and is then
purged, APAR PQ86971 documents that all of the clocks are
invalid when this happens, and that APAR adds a new bit
to the TRANFLAG field to identify these tasks. Since the
clock values are all wrong, these transactions are now
also output in CICSBAD instead of CICSTRAN.
-So, CICSBAD will now contain all PROGRAM='########' obs,
and all transactions purged on an open TCB, and CICSTRAN
will no longer have any of those invalid transactions.
-The format for CPU-time fields were changed to TIME13.3,
to display the millisecond level; TIME16.6 would show the
full resolution, but would cause reports based on the
current length to be shifted, so it was not chosen.
Change 23.311 Support for Beta 91 Version 3.1.1.0, which INCOMPATIBLY
VMACBE91 changed the header of their record, and all subtypes.
Dec 8, 2005 This iteration supports BETA91B and BETA91C datasets,
Dec 12, 2005 which were validated with '44'x and '50'x subtypes. Two
other datasets have not been tested with real records.
Thanks to Herve Brusseaus, Fortis Bank, LUXEMBOURG.
Change 23.310 Variable ESMFNTRN was always missing because it existed
VMACMPLX only in a LABEL statement, and was misspelled. The count
Dec 8, 2005 of transactions is in variable ESMFTRAN.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch., USA.
====== Changes thru 23.309 were in MXG 23.09 dated Dec 7, 2005=========
Change 23.309 INVALID ARGUMENT TO FUNCTION SQRT error when an invalid
VMXGUOW transaction (PROGRAM='########') was processed. In the
TRNDUOW VMXGUOW member, CICSTRAN obs with that PROGRAM name are
Dec 7, 2005 now deleted prior to summary, and TRNDUOW is protected.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 23.308 MXG 23.08-23.09. Note VARIABLE JOBINFO1 IS UNINITIALIZED
VMAC26J2 because of an incomplete ending-comment; fortunately, the
Dec 5, 2005 only impact was that these four variables: OPTJOURN,
OPTOUTPT, TYPRUN and RESTARTD will all be blank.
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 23.307 INPUT STATEMENT EXCEEDED after "DTP=24 SEGMENT.." message
VMAC80A because the additional segments were not processed after
Dec 5, 2005 that MXG message.
Dec 9, 2005 -Dec 9. Same error corrected for DTP=25 SEGMENT.
Thanks to Coen Wessels, Unicible, SWITZERLAND.
Thanks to Mark Nouwen, Dexia, BELGIUM.
Change 23.306 MXG variables PARTNCPU and NRICFCPU/NRIFACPU/NRIFLCPUs
VMAC7072 still wrong on z9s, because IBM's SMF70BNP field is in
VMXG70PR error on z9s. MXG calculated PARTNCPU from SMF70BNP,
Dec 5, 2005 but in earlier platforms, SMF70BNP included the count of
Dec 7, 2005 ICFs, which MXG subtracted. So when the z9 added new
'IFA' and 'IFL' values to SMF70CIN, I assumed those also
needed to be subtracted from SMF70BNP. Now, however,
IBM confirmed SMF70BNP is in error and will be changed
with the next z9 microcode:
the expected MCL number containing this change is
J99671.014 in driver d63j (Jan, 2006)
and recommended that instead to count of engines in the
PHYSICAL segments, rather than use SMF70BNP, so this
change does set PARTNCPU from the count of CPs in the
PHYSICAL partition records.
Dec 7: The Dec 5 change accidentally fixed the z9 data
and un-fixed other processors, because I had
spelled PARTNCPU as PLATCPUS in both the code
and text of the original change. PARTNCPU is
the name in the type 70 datasets; PLATCPUS is
the name only in the RMFINTRV dataset.
-In VMXG70PR, NRICFCPU and NRIFACPU could also be wrong;
a SUM was used where a MAX was required; because my test
data has only one of each, the SUM and MAX were the same
and the logic error was not detected.
-Variable NRPRCS is no longer kept in PDB.ASUM70PR and
PDB.ASUMCEC datasets; it has no meaning for those data.
Thanks to Dave Crandall, Farmers Insurance, USA.
Change 23.305 Optional OPID variable was never INPUTed!
IMACICO1
Dec 2, 2005
Thanks to Lucy Fukushima, California Health and Welfare, USA
Change 23.304 ANALCNCR could fail when an observation with missing
ANALCNCR values for the number of concurrent events was being
Dec 2, 2005 generated, which caused the calculation of the Y-axis
to fail. The record with missing values is dropped and
axix calculations were protected for the possibility of
missing values.
Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.
====== Changes thru 23.303 were in MXG 23.10 dated Dec 1, 2005=========
Change 23.303 First MXG 23.09 only, and only under SAS Version 8: ERROR
VGETENG LIBNAMES IS NOT A RECOGNIZED PROC SQL DICTIONARY TABLE.
Dec 1, 2005 Change DICTIONARY.LIBNAMES to DICTIONARY.MEMBERS and
Dec 2, 2005 the PROC SQL will work under either V8 or V9.
The LIBNAMES dataset in the DICTIONARY was new in V9,
and we failed to test under V8 with the first 23.09.
Dec 2: We now test version, and use LIBNAMES with V9 or
use MEMBERS with V8. The advantage of the LIBNAMES is
that we can get the engine as long as the LIBNAME has
been referenced (either with a LIBNAME statement, or
implicitly by referencing a dataset), whereas the MEMBERS
only exists if a dataset in the library has been opened.
Thanks to Robbie A. McCoy, Salt River Project, USA.
Change 23.302 -The RACF Unload Utility output have always had a 4-digit
EXRAC2A0 numeric "RECNR", in EBCDIC, but now a new '02A0' value
IMACRACF is found, which caused INVALID DATA FOR RECNR error.
VMACRACF Since numeric RECNR was a kept variable in all datasets,
VMXGINIT new character variable RECTYPE is now INPUT and used in
Nov 30, 2005 all tests, were also changed to character syntax.
-The new RACF02A0 dataset, for USER OVM DATA, is now
created by this change.
-I am now aware of additional new RECTYPE values and they
are listed in the comments in VMACRACF as "NOT DECODED",
as I need test records to support them.
Thanks to Bruce Hewson, Citigroup N.A., SINGAPORE.
Change 23.301 The MXSMFTME and MNSMFTME variables now exclude SMF 2 & 3
VMACSMF header/trailer records (created in the output SMF file
Nov 30, 2005 when IFASMFDP dumps, or later copies, an SMF file). The
ID 2 and 3s record when the dump/copy program ran, and
do not describe the range of timestamps of the SMF data.
Thanks to Erik Janssen, ING Netherlands, THE NETHERLANDS.
====== Changes thru 23.300 were in MXG 23.09 dated Nov 30, 2005=========
Change 23.300 -ML-37 of MXGTMNT monitor now captures SYSLOG messages in
ASMTAPEE a new SMF subtype 8 for these mount-related events:
ASUMTAPE IEC501A IEC501E IEC705I IEF233A IEF502E IEF234E IOS070E
EXTMNSTS IECTMS6 IECTMS9 IOS690I IEF235D
EXTMNSYM and a new subtype 9 record can be written for any other
EXTMNSYS SYSLOG messages you want captured in your SMF data!
IMACTMNT -Two new MXG datasets are created from MXGTMNT's subtypes:
VMACTMNT dddddd dataset description
VMXGINIT TMNSYT TYPESYMT Mount-specific SYSLOG, subtype 8
Nov 28, 2005 TMNSYL TYPESYSL User-selected SYSLOG messages, st 9.
Jun 15, 2006 -Added Jun 15, 2006:
This redesign REQUIRES you to use ASMTAPEE at ML-38 or
later, as it depends on the SYSLOG Mount-specific records
and there will be zero observations in PDB.ASUMTAPE if
there are zero obs in TYPESYMT syslog mount dataset.
-For the IBM IEF_VOLUMEMNT exit, we seem to capture every
mount that is issued with an IEF233A mount message, and
we appear to capture no mount that is issued with any of
the other messages, in particular, the IEC501A message
that is issued for second-volume mounts of a multi-volume
tape dataset. IBM Support confirmed that is correct for
their exit; it is taken only for Allocation's mounts, and
those OPEN/CLOSE/EOV mounts (the IEC501x messages) do not
go thru that exit. I hope to propagate the jobstuff from
the first mount into the second mount for these multi-vol
mounts, but there are also IEC501A mounts that are the
first and only mount for a job, so I need more test data
from the ML-37 monitor with SYSLOG data to fully resolve
what is and is not captured in the IBM exit, and how the
logic in ASUMTAPE can be enhanced further.
-Revised Jun 15, 2006:
For the STK UX01 exit, STK Support has now installed our
ASMHSCEX and have captured 100% of all HSC-controlled
tape mounts, both to virtual and to real tape devices, in
several tests in their labs by Sun Technicians.
-For IBM, SYSLOG data goes a very long way to resolve.
True, you do NOT know the actual duration of the mount
(TAPMNTTM will be missing if MXGTMNT missed the mount)
and the READTIME variable will be missing, so you cannot
directly MERGE the ASUMTAPE back to the PDB.JOBS for any
simple match for billing, but almost all of the jobstuff
that we got from the MXGTMNT data is now picked up from
the SYSLOG data, so the PDB.ASUMTAPE with these changes
is of far better quality than it every as been before.
-But expect revisions to the ASUMTAPE program after more
test data has been received; early adapters of this new
code are requested to send their SMF records (the MXGTMNT
user-SMF record, AND the SMF type 21 dismounts) so that
the new data can be better understood; member SENDATA in
MXG 23.09 has the instruction (and new ip address) to
send SMF data to our ftp site.
-The Tape Allocation subtypes that create TYPETALO data
is still sampled, so job-related data can be missing in
that dataset; I hope to be able to merge the job-stuff
from this new PDB.ASUMTAPE dataset into those missing
variables in PDB.ASUMTALO, in a later enhancement.
-Additional documentation notes:
This enhancement makes the MXGTMNT program in ASMTAPEE,
the "MXG Tape Mount, Tape Allocation, Tape Swap, Tape
Allocation Recovery, and SYSLOG message monitor". The
messages captured in the "MXG-owned" subtype eight are
these that needed for tape mount event events:
IEF233A - First Volume Mount, Allocation Issued
IEF501A - OPEN/CLOSE/EOV, MULTI-VOL, or DEFERRED MOUNT
IEF501E - 2nd+ Volume for OPEN/CLOSE/EOV "Look Ahead"
==> 3 seconds --
IOS070E - MOUNT PENDING sss
IECTMS6 - DEVNR,VOLSER,IS APPROVED FOR TRTCH CHANGE
IECTMS9 - DEVNR,VOLSER, DSNAME17 at OPEN
==> actual time to mount ==> TAPMNTTM
IEC705I - TAPE ON DEVNR,VOLSER
==> duration tape was mounted ==> TAPMTDTM
TMS014 - Copy of IEC502E or IEF234E message
IEF502E - Intermediate Volume KEEP
IEC234E - Last Volume KEEP
and these additional messages are captured in subtype 8
to identify causes of known tape mount delays:
IEF690I - FOLLOWING VOLUMES UNAVAILABLE
IEF235D - JJJ STEP WAITING FOR VOLUMES
IEC205I - VOLUME LIST
New dataset TYPESYMT (SYSLOG MounTs) decodes those SYSLOG
records, which include the JOB, JESNR, SYSTEM, ASID, and
the EVENTIME (same .01 second resolution as SMFTIME).d
The below left-to-right examples show some examples of
the sequence of SYSLOG mount-related event records:
233A 234E
233A TMS6 TMS9 705I TMS014 234E
233A TMS6 TMS9 705I TMS014 502E for first vol
501A TMS6 TMS9 705I TMS014 502E for intermediates
501A TMS6 TMS9 705I TMS014 234E for final volume
or
501E TMS6 TMS9 705I TMS014 234E for final volume
233A 070E TMS014 502E
690D 235D 705I 234E
New dataset TYPESYSL (SYSLOG Messages) can be populated
with any SYSLOG messages you chose to ask MXGTMNT to
capture in subtype 9. At present, you must EDIT the name
table in the ASMTAPEE and re-assemble, but ASMTAPEE will
be revised so you can use the console MODIFY command to
turn on or turn off capture of any SYSLOG message.
I plan to create an ANALSYSL program to decode those
SYSLOG messages that you decide to capture, so let me
know what messages you find important and useful.
Change 23.299 Support for SPLIT RMF 70 records, created on a z9 with
VMAC7072 25 LPARS. To be investigated. Check text of this change
Nov 28, 2005 in the final MXG 23.09 that will be dated Nov 30, 2005.
No change made yet, await test data with split records.
Change 23.298 MXG 23.08 would fail if you did not have a //INSTREAM DD
VGETENG in your JCL Procedure (there is one in MXGSASVn example),
Nov 28, 2005 because VGETENG was changed to require the use of that DD
in the "mainstream" RMFINTRV processing, or would fail if
you used UTILBLDP and then %INCLUDE INSTREAM; to execute
the program built by UTILBLDP, with FILE INSTREAM IN USE
error. Both errors were introduced when revisions added
the use of //INSTREAM in VGETENG; both are corrected by
backing out the use of //INSTREAM in VGETENG.
That addition was yet another attempt to improve the
accuracy of VGETENG's logic to "GET" the ENGINE of a
LIBREF. Originally, this was to avoid a second tape
mount, but knowing the library is on tape when we are
going to read with a VIEW, we can avoid a second read
of the full (possibly multi-volume) tape dataset.
However, is just not possible to know the media of an
un-referenced DD, so we must revert to the original
logic that can only identify a tape that has been
previously referenced in this step.
So you could force that reference with a LIBNAME
statement, or a DATA _NULL_; SET DD.XX; STOP;
if you see there are multiple mounts on syslog.
In the case of VMXGSUM, which does not use the
VGETENG logic, we are still investigating if we
can detect and eliminate the second read with a
VIEW when the input is on tape.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.297 Support for TCP field ACCEPT in dataset AIXTCP.
VMACAIX
Nov 23, 2005
Thanks to Long N. Nguyen, Department of Home Security, USA.
Change 23.296 Macro _STY30U6 deaccumulates TYPE30_6 into PDB.TYPE30_6,
VMAC30 but it did not protect for wrapping of the four-byte
Nov 22, 2005 RESIDTM and ACTIVETM fields, which wrap at 1221 hours.
Additionally, ACTIVETM was not deaccumulated, but now is.
The created variable UPTM contains the original ACTIVETM
before deaccumulation, but UPTM will reset to zero every
51 days or so.
-Noted and corrected: INTETIME and SYNCTIME in TYPE30_6
were on GMT rather than local time if GMTOFF30 non-zero.
Thanks to Jean-Denis Lacourse, CGI, CANADA.
Thanks to Robert Petel, CGI, CANADA.
Change 23.295 Dataset DB2ACCTG didn't contain these nine QBGA variables
VMACDB2 QGBADG QBGAP1 QBGAP2 QBGAP3 QBGAS1 QBGAS2
Nov 22, 2005 QBGAS3 QBGAU1 QBGAWS
although their sums were kept in DB2ACCT. All variables
are now kept in DB2ACCTG.
Thanks to Steve Olmstead, Thomson BETA Systems, USA.
Change 23.294 TMVSCI dataset variable CIJN was off by four bytes, which
VMACTMVS caused wrong values in it and the subsequent CI variables
Nov 22, 2005 that track storage. In addition, the percentage field's
Nov 5, 2005 values were all off by a factor of 100, as I missed the
precision of that field in the TMVS documentation.
Thanks to Richard Jay Schwartz, State Street Bank, USA.
Change 23.293 The MXG Trending default INTERVAL=WEEK, is replaced with
TRND72GO INTERVAL=&INTTRND, with macro variable INTTRND defaulting
VMXGINIT to WEEK, i.e., the INTERVAL= value is externalized so it
Nov 22, 2005 can be changed with %LET INTTRND= whatever ; before your
%INCLUDE SOURCLIB(TRNDxxxx); statement (where "whatever"
is one of the valid values defined in VMXGDUR).
Only the TRNDxxxx members that had INTERVAL=WEEK, were
changed; a few don't use the INTERVAL= argument (instead
using a date/time variable in their SUMBY= argument) and
a few had INTERVAL=DATE, left unchanged. TRNDCICS/CICX
have INTERVAL=&TRCIINTV, but the %LET TRCIINTV=WEEK; is
inside those two members, so it couldn't be externally
changed. Now, INTERVAL=&INTTRND, is specified and the
useless reference to TRCIINTV is removed.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 23.292 Support for APAR OA11675, which increases EXCPTOTL's old
VMAC30 maximum count of 2 gig to a new maximum of 4 gig. The
VMAC32 field counts the step's lifetime total EXCPs (blocks or
VMAC33 SSCHs, depending on the Access Method used); the original
Nov 14, 2005 APAR text and title erroneously said "2 gigabytes". If
the count is now over 4 gig, (4,294,967,295), the APAR
stores 'FFFFFFFF'x and turns on a new bit to indicate the
count exceeded the maximum. MXG creates EXCPERR='Y' if
that bit is on, and sets EXCPTOTL to a missing value.
The variable name is EXCPTOTL in SMF 30s and PDB datasets
and in SMF 33s, but was named EXCPS in TYPE32.
Change 23.291 Support for NDM subtypes:
EXNDMHW Subtype Description
EXNDMNM HW HIGH WATER MARK STAT RECORD - supported
IMACNDM NM Unknown - Header only until I get the DSECT
VMACNDM
VMXGINIT
Nov 13, 2005
Thanks to David Kaplan, Depository Trust, USA.
Change 23.290 Deaccumulation of the VXSYTEPM dataset was still wrong;
VMACVMXA four byte wrap was not protected, but IBM has created a
Nov 12, 2005 new "architecture" that needed additional logic. For each
device's first instance, CALINIT='Y' and the contents of
that "initial" record is all zeros, so it is deleted.
However, the second record must also be deleted, as it
does not start from zero, but has some large non-zero
values that must be used in the DIF() but the observation
after the CALINIT='Y' instance must then be deleted also.
And since records with CALINIT='Y' are deleted, there is
no reason to keep that variable in VXSYTEMP dataset.
Thanks to Melanie Higching, British Telecom, ENGLAND.
Change 23.289 For RMF intervals with DURATM less than one minute, MXG's
VMXG70PR summarization into PDB.ASUM70PR didn't store the second
Nov 10, 2005 interval's DURATM in SYSDUR, which caused values over 100
percent in PCTCPUBY and the LPCTnBY value for that LPAR.
Change 23.070 documented these very short RMF intervals
(created when a WLM Policy Change was made), and dataset
PDB.ASUMCEC was corrected by that change, but 23.205 was
and additional revision, and it reinstated EXCECTIM exit
to force the STARTIME for all three datasets created by
the ASUM70PR/VMXG70PR program to the nearest minute, both
for cross-CEC timing issues, and to consolidate these RMF
short intervals. But the logic for PDB.ASUM70PR/ASUM70LP
to set SYSDUR was based on IF FIRST.LPARNUM, but that
didn't "see" the second instance with same STARTIME.
By adding DURATM as the last BY variable in the BY in
INCODE=, and by setting SYSDUR from IF FIRST.DURATM, the
summary DURATM is correct for those two datasets, which
also corrects the percentages based on DURATM.
-The WLM Policy Change was installed at 10:32:06, and the
STARTIME and DURATM of the adjacent RMF records were:
STARTIME DURATM
hh:mm:ss hh:mm:ss
10:15:00 00:15:00
10:30:00 00:00:20
10:30:20 00:01:46
10:32:07 00:12:52
Thanks to Jerry Urbaniak, Acxiom CDC Inc, USA.
Change 23.288 BMC CMF Product SMF 70 records for z9 have SMF70BND=0,
VMAC7072 MXG variable LPARCPUX, in the LPARNAME='PHYSICAL' segment
Nov 10, 2005 which processor counts, especially for NRIFACPU, NRIFLCPU
Jun 6, 2006 and NRICFCPU will always be zero; investigation with BMC
is in progress.
Jun 8, 2006 update: The error was only in the first level
of CMF support for the z9, and was corrected by CMF APAR
BAM9572, PTF BPM9543.
Change 23.287 Usability enhancement for selective output of DB2 data.
READDB2 You can choose which datasets are to be created, which
Nov 10, 2005 observations are to be output, and even which variables
Nov 16, 2005 will be kept in any of the created datasets:
Nov 22, 2005
SELECTION CRITERIA:
SMFBEGIN= DATE/TIME CONSTANT FOR BEGINNING OF TIME RANGE
SMFEND = DATE/TIME CONSTANT FOR END OF TIME RANGE
SYSTEM = SYSTEM(S) FOR WHICH DATA SHOULD BE SELECTED
PLAN = PLAN(S) FOR WHICH DATA SHOULD BE SELECTED
AUTHID = AUTHID(S) FOR WHICH DATA SHOULD BE SELECTED
CORRID = CORRELATION ID(S) WHICH SHOULD BE SELECTED
CONNID = CONNECTION ID(S) WHICH SHOULD BE SELECTED
DB2 = DB2 SUBSYSTEM(S) WHICH SHOULD BE SELECTED
CONNTYPE= CONNECTION TYPE(S) WHICH SHOULD BE SELECTED
PACKAGE = PACKAGE NAME (FOR DB2ACCTP DATASET ONLY)
DATASET CRITERIA:
DB2ACCT= Any of the below syntax
DB2ACTB= "
DB2ACTP= "
=YES - DATASET IS CREATED WITH ALL OBS/VARS
=NO - DATASET IS CREATED WITH 0 OBS
=KEEP/VAR1 VAR2 VAR3.. - DATASET IS CREATED AND
KEEPS ONLY THE LISTED VARIABLES
=DROP/VAR1 VAR2 VAR3... - DATASET IS CREATED AND
DROPS ALL THE LISTED VARIABLES
Thanks to John W. McAlinney, Vanguard, USA.
Change 23.286 Change 23.153 revised the value of SMF "subtype" for DB2
VMXGGETM 102 trace records to contain the "IFCID" because that is
Nov 9, 2005 the "logical" subtype for the 102s that don't have an SMF
subtype in the SMF header. That change also stores IFCID
for subtype in the 100 and 101 records, even though they
do have SMF subtypes, because DB2 documentation refers to
IFCIDs and not to SMF subtypes. These are the values
that were changed, but not documented.
IFCID: 1 2 202 3 239
Rec.Sty: 100.0 100.1 100.2 101.0 101.1
This change only added documentation notes in the member.
Thanks to Daniel T. Cannon, The Hartford, USA.
Change 23.285 VM Accounting datetimes were incorrect; Change 23.109 had
TYPEVM used the record LENGTH to identify the date format, but
Nov 9, 2005 that test was not sufficient, and I can find no other way
Nov 11, 2005 to discriminate safely between MMDDYY or YYMMDD than to
Nov 15, 2005 have you tell me in a new MACRO _DATEVM with values:
_DATEVM Date Format
1 MMDDYY (Default)
2 YYMMDD
The default format is the IBM MMDDYY format; you can use
this syntax to change the macro value if needed:
//SYSIN DD *
%LET MACKEEP= MACRO _DATEVM 1 % :
%INCLUDE SOURCLIB(TYPEVM);
Nov 15: LENGTH=LENGTH restored to the INFILE statement.
Even though it can't be used for date-discrimination, it
is needed to identify some VM data records.
Thanks to Wah Chu, SIAC, USA.
Change 23.284 PDB.PRINT,TYPE6 variables TOTLINES,NRLINES is 4294967295,
VMAC6 sometimes, in tcp/ip "Printway" file transfer records,
Nov 7, 2005 which are SMF 6 records written by PSF for "print" output
that was sent via tpc/ip to an ip address. That decimal
value results when SMF6NLR contains 'FFFFFFFF'x is the
SMF record.
-These TYPE6/PDB.PRINT tcp/ip records have SUBSYS='TCP',
and only variable SMF6BYTES can be used for print bills
or printer resource measurements.
-They do not have the PSF-APA segment, so SHEETPRN and the
other fields from that segment are all missing.
-Why NRLINES is someimes bad and sometimes has reasonable
values is unknown (query pending to IBM), but NRLINES has
never been recommended (see the PRINTERS section in the
MVS/ESA RESOURCE ACCOUNTING" article in NEWSLTRS.
-But because that large value is confusing and could mess
up your old print billing system with it, I have chosen
to test for the 'FFFFFFFF'x field value, and now set the
variable NRLINES to a missing value for those instances.
-PDB.PRINT variable TOTLINES is the equivalent of NRLINES.
Do not use the old PRINTLNE/PUNCHCRD/EXTWTRLN variables,
because there is no safe way to identify which kind of
device was at the destination, and they are archaic in
any case. TOTLINES is their sum, and the field to use,
if you still must have some count of "linew".
-Note that in non-TCP records for PSF, NRLINES can also be
wierd when the SMF6PRMD printer mode is "DATA" and not
"LINE", but at least those records have valid SHEETPRN
in their PSF-APA segments.
-Note for back-level-MXG users: SUBSYS='TCP' was added in
MXG 22.08 (Change 22.153), but SMF6BYTE has been input
since Change 13.328, and it will be non-missing only in
tcp/ip print records, so it could be used alternatively
to identify these records.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Philip Matthei, State of New York, USA.
Change 23.283 Support for ASG-Landmark TMVS Version 3.2 has confirmed
VMACTMVS that any changes made were COMPATIBLE, but I won't take
Nov 3, 2005 time to compare all of the DSECTS to look for new data
until a user finds a need for it. The last change in
MXG was prior to MXG Version 20.20.
See Change 23.294 for internal record changes in 3.2.
Thanks to Richard Evans, Worldspan, USA.
Change 23.282 MXG 23.08-MXG 23.02. Change 23.068 used a rare GOTO that
VMAC26J3 should have been a LINK statement. The GOTO caused the
Nov 3, 2005 RETURN statement after the label to be a DELETE statement
so the rest of the record was never read nor was the exit
for the OUTPUT every called for that record.
This behavior of the RETURN statement only occurs when
there are OUTPUT statements in the SAS data step.
If there are no OUTPUT statements, a RETURN after GOTO
causes all datasets in the DATA statement to be OUTPUT.
With the LINK statement, the label is called, but RETURN
brings the program back to the statement after the LINK,
so the rest of the record is read and OUTPUT.
Thanks to Dave Falzon, EDS Ottawa, CANADA.
Change 23.281 MXG 23.08. ERROR: File WORK.TYPE791.DATA does not exist
TESTIBM1 when JCLTESTx is run. TYPE79 now sorts the TYPE79xx data
Nov 2, 2005 (to deaccumulate) to the PDB library, but the TESTIBM1
program's PROC MEANS still expected those data in WORK.
TESTIBM1 was changed to find TYPE79xx in the default PDB.
Thanks to Bernd Klawa, Stadwerke Bielefeld GmbH, GERMANY.
Change 23.280 DB2 Package Data could STILL be wrong, if any of these
VMACDB2 fields are longer than the original un-truncated length:
Nov 1, 2005 variable label was now
Nov 2, 2005 QLACLOCN='LOCATION*NAME' $16 $16
Dec 13, 2005 QPACLOCN='LOCATION*NAME' $16 $16
QPACCOLN='PACKAGE*COLLECTION ID' $18 $18
QPACPKID='PROGRAM*NAME' $18 $18
QPACASCH='NESTED*ACTIVITY*SCHEMA*NAME' $8 $17
QPACAANM='NAME*OF*ACTIVITY' $18 $18
In the observed case, QPACASCH was increased to 16 bytes
and contained 'SYSPROC.S1BNLERP' as one example value.
For now, I've increased the default length of QPACLOCN
to $17, pending an understanding of whether the increase
was made by the installation or by IBM. The revised code
inputs them all with $VARYING128, which is the maximum
documented length With MXG's COMPRESS=YES default, they
could be changed to default $128 length, but that could
dramatically increase the size of the DB2ACCTP dataset
if you have turned off COMPRESS=YES, so I chose to leave
the other above fields in their original stored lengths.
The original text contained this next statemnt:
Insert Mar 27, 2013: THIS 2006 statement is false in sas version 9:
"You can change the stored length by the addition of:
LENGTH QPACxxxx $nn ;
in the EXDB2ACP exit; SAS uses the last LENGTH statement
to set the variables stored length."
SAS uses the FIRST instance of the character variable to
set its length, and prints a WARNING that first length if
a LENGTH statement with a different length os found.
SEE NEWSLETTER SIXTY - SECTION 7.1. CHANGING VARIABLE LENGTH.
end of Mar 27, 2013 Insert.
-Dec 13, 2005: HOORAY, package date WAS FIXED in November;
this is only additional documentation about package data:
In DB2 V8 data, in dataset DB2ACCTP, QWACBSC and QWACESC
variables (begin/end datetimes), are now always missing,
because V8 creates only SMF 101 Subtype 1 IFCID=239 data.
In V7 and earlier, IFCID=0003, Subtype=0 records (first
ten packages) did populate those variables, but IFCID=239
records always had BSC/ESC missing for the 11th-plus
package.
Thanks to Tory Lepak, Aetna, USA.
Change 23.279 Support for VTCS 6.0 and 6.1 SMF records (COMPATIBLE).
FORMATS These new variables are created, but only CTP appears to
VMACSTC be new in 6.1 records, all other variables below do have
Nov 1, 2005 real values in 6.0 SMF records:
Dataset STCVSM13:
STC13CTP='CARTRIDGE*TYPE'
decoded by $MGSTCCT format:
'0000'X='0000X:S-CART 400MB'
'0001'X='0001X:E-CART 800MB'
STC13HST='ORIGINATING*HOST*NAME'
STC15MNR='MOUNTED*WITHOUT*A RECALL?'
STC15MRC='MOUNTED*AFTER*A RECALL?'
Dataset STCVSM14:
STC14CTP='CARTRIDGE*TYPE'
decoded by $MGSTCCT format:
STC14HST='ORIGINATING*HOST*NAME'
STC14ULN='MVCS*TO*UNLINK'
In the 6.0 data tested, STC14DSN was always blank; STK is
investigating why.
-Variables 13FLG,14FLG,13HID,14HID,13SEQ,14SEQ,13VTI,14VTI
and STC13OID are archaic and always missing; those fields
only existed prior to version 5.0.
Thanks to Ruth Whitney-Parker, CitiGroup, USA.
Thanks to Nathan Loewenthal, CitiGroup, USA.
Change 23.278 This change was implemented in Change 23.300 and its text
was relocated into that change.
Change 23.277 Two new job status variables are created from new bits in
VMAC26J2 SMF26IX2 (old PRPRTY variable):
Oct 31, 2005 UNSPUNJB='JOB WENT*THRU*UNSPUN*IN ITS*LIFETIME?'
JOEPURGE='JOE*PURGED*DUE TO*PSO/SAPI?'
Thanks to Leendert Keesmaat, UBS AG, SWITZERLAND.
Change 23.276 -PDB.ASUMCEC variables LP0MGTTM, LPCT0OV and PCTL0OV were
VMXG70PR always zero after Change 23.021, due to incorrect logic.
Oct 31, 2005 This error was only in PDB.ASUMCEC; those variables were
correct in PDB.ASUM70PR.
-Also, ASUMCEC variables IFAUPTM, IFAACTTM, and IFAWSTTM
were not formatted with TIME12.2 format.
Thanks to Wayne Bell, UniGroup, Inc, USA.
Change 23.275 Support for CA TopSecret SMF 80 records with SMF80DTP of
EXTY80TS 103,104,105,109,255 values. This is preliminary support,
IMAC80A as the DSECT does not exactly match the SMF record, so
VMAC80A further validation is required. Dataset TYPE80TS is
VMXGINIT created from all of those DTP values.
Oct 28, 2005
Thanks to Chris Hober, Charles Schwab, USA.
Thanks to Neil Ervin, Charles Schwab, USA.
Change 23.274 The MACRO definition for MACRO _N120 was missing the text
VMAC120 MACRO for each of the _NULL_ entries; attempting to use
Oct 27, 2005 the _N120 macro to null out all datasets failed.
Thanks to Xiaobo Zhang, ISO, USA.
====== Changes thru 23.273 were in MXG 23.08 dated Oct 27, 2005=========
Change 23.273 NOT SORTED error in building PDB.ASUMCEC (error was right
VMXG70PR after the - IFA2 FOR CEC note on the log) can occur with
Oct 27, 2005 some data values. The reset of STARTIME to the nearest
minute (in EXCECTIM) caused the out of order condition,
which is now corrected by a PROC SORT.
Thanks to Joe Montana, Acxiom, USA.
Change 23.272 -First MXG 23.08 only. ARRAY SUBSCRIPT OUT OF RANGE error
VMAC7072 due to MXG logic introduced in Change 23.237 to count IFA
Oct 27, 2005 and IFL engines using the (new-in-z9) SMF70CIN values in
new NRIFACPU and NRIFLCPU variables (which are non-zero
ONLY if you have a z9 processor that puts IFA and IFL in
the SMF70CIN field). The new logic was fine, but the new
LCPUADDR values that are greater than the number of real
engines in the LPARNAME='PHYSICAL' caused the failure.
The solution was to relocate the LPARNAME='PHYSICAL' test
that sets MXGCIN='PHY' above the test for LCPUADDR.
-New MACHTIME was in the year 2041; the SMF documentation
had SMF70HWM after SMF70LAC, but the new SMF70HOF field
was inserted between LAC and HWM in z/OS 1.7.
Thanks to Joe Montana, Acxiom, USA.
====== Changes thru 23.271 were in MXG 23.08 dated Oct 25, 2005=========
Change 23.271 An unknown NAF record segment caused the record to be
VMACNAF DELETEd, so subsequent segments were not OUTPUT. The
Oct 22, 2005 DELETE was removed and the number of messages limited,
and a hex dump of the first five unknown records is now
printed on the SAS log.
When documentation for the 'C0' segment is found, the
segment causing the problem will be supported.
Thanks to Joe Babcock, JPMC, USA.
Change 23.270 Due to popular demand, though I really fail to see the
VMAC7072 need, I've put back the individual IFA engine percentage
Oct 21, 2005 busy variables, PCTIFBY0-PCTIFBY9,PCTIFBYA-PCTIFBYX in
Oct 25, 2005 the KEEP= list for dataset TYPE70.
Oct 25: And now, they have non-missing values; those
variables were added in 22.09 and then removed, but even
in 22.09 their values were always missing.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Thanks tO Lawrence Jermyn, Fidelity Systems, USA
Change 23.269 z/VM MONWRITE dataset VXSYTEPM, Extended Channel Metrics,
VMACVMXA had not been data-tested for accumulated data values.
Oct 21, 2005 Now, ESCON variables ECMCPBTC and ECMCPBTL and FICON
variables ECMCBC ECMCCWUC and ECMCCWUL are DIF()'ed.
ESCON and FICON observations have different variables
populated; variable CSCCMCMG identifies FICON/ESCON.
The default _TESTMW macro invokes the _SSYTEMP macro that
does the actual deaccumulation.
-Bit CALINIT was on in one observation, uncovering a data
record that must be used to initialize the DIF() function
but then must be delete.
Thanks to Melanie Hitchings, BT, ENGLAND.
Thanks to Brian Crow, BT, ENGLAND.
Change 23.268 RMF 79 subtype 9 records had never been validated; some
TYPE79 fields are accumulated and some are not, and IBM doesn't
VMAC79 choose to document which is which, so real data is needed
Oct 20, 2005 to know that these variables had to be deaccumulated:
R799PCT R799ALC R799ATV R799CMR R799CNN R799CUB
R799DIS R799DPB R799DVB R799MEC R799PEN R799SCC
R799QUE R799UTL
in the _STY799 "Dataset Sort Macro, which is invoked by
the _S79 "Product Sort Macro".
-The TYPS79 member did invokes the _S79 macro, but that
is now also added to the TYPE79 member so you don't
accidentally create only the accumulated datasets.
-Variables R799DPB and R799PCT have clearly invalid values
but IBM documents them as "not used".
Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 23.267 Optional CICS OPID field with CMODHEAD='OPID' creates new
IMACICO1 OPID variable in CICSTRAN dataset, but only if UTILEXCL
UTILEXCL was used to create an IMACEXCL, and only if a dictionary
VMAC110 record had that CMODHEAD entry, and only if the comment
Oct 20, 2005 block in member IMACICO1.
Thanks to Lucy Fukishima, California Health and Welfare, USA.
Change 23.266 Documentation. DFSORT SMF Release 16 SMF 16 records are
VMAC16 already supported; there have been no changes to the IBM
Oct 20, 2005 SMF 16 SMF record since Release 14.
Change 23.265 -MXG 23.05-MXG 23.07, the RMFINTRV workload variables with
VMXGINIT IFA and IFE CPU times were always zero; Change 23.123 did
VMXGRMFI not correctly create those workload variables.
Oct 20, 2005 -Logic was added to VMXGRMFI in Change 23.215 to determine
Nov 3, 2005 if a VIEW could be used, but macro variable name VGETENG
was not GLOBALed in VMXGINIT, which caused SAS error that
MACRO VARIABLE UNRESOLVED errors!
Nov 3: Text updated. Adding VGETENG also required there
be a //INSTREAM DD, which has been in MXGSAS JCL
for years, but I never told ITRM this change made
it now required that their JCL also have this
DDNAME.
Nov 28: See Change 23.298 which eliminated the use of the
//INSTREAM in VGETENG to avoid this exposure.
Thanks to Wolfgang Vierling, Allianz, GERMANY.
Change 23.264 The subtype 31 SARR records had a coding error; the code:
VMACSARR IF SV31IOF+SV31ILN-1 LE LENGTH AND SV30ILN GE 1 THEN DO;
Oct 19, 2005 should have been:
IF SV31IOF+SV31ILN-1 LE LENGTH AND SV31ILN GE 1 THEN DO;
Thanks to Wim Desmecht, NV INFOCO, BELGIUM.
Change 23.263 The length of MXG-created variable CPCFNAME, which is the
VMXG70PR concatenation of CPUTYPE and CPCMODEL, was increased from
Oct 12, 2005 $8 to $10 because an Amdahl GS2108E system has 2000-2108E
for CPCFNAME, which wouldn't fit in 8 bytes.
Thanks to Steve Rowe, DST Systems, Inc, USA.
Change 23.262 Documentation note only. If you get these error messages
BUILDPDB VARIABLE LOCLINFO HAS BEEN DEFINED AS BOTH CHAR AND NUM
Oct 12, 2005 DATASET WORK.TYPE30_4 MAY BE INCOMPLETE
The error is due to a corrupted SPIN library (due to a
prior failure when testing a %UTILBLDP or BUILDPDB run
that didn't complete successfully).
- If this is still in testing, and there WAS nothing of
value in the SPIN library, then you only need to use
PROC DELETE DATA=SPIN._ALL_; and can then re-test.
- If this should happen after BUILDPDB/UTILBLDP is in
production and you had data in the SPIN data library
(VERY RARE, because you had to have done something to
MXG to cause this failure and then tried to run the
production BUILDPDB job), then you must restore the
//SPIN data library to the way it was prior to what
you did that caused the failure, from the last PDB
data library from the last succesful BUILDPDB. This
is easy, because BUILDPDB backs up your SPIN library
datasets into each PDB data library, so you would use:
//YESTER DD DSN=YOUR.LAST.PDB,DISP=SHR
//SPIN DD DSN=YOUR.SPIN,DISP=OLD
PROC COPY IN=YESTER OUT=SPIN;
SELECT SPIN: ;
(the 'colon' is the wildcard in the SELECT statement).
Change 23.261 Invalid Extended Segment section in SMF 14 record caused
VMAC1415 INPUT STATEMENT EXCEEDED RECORD LENGTH error; MXG logic
Oct 11, 2005 tried to read the rest of the record after detecting this
bad segment, but the rest of this record was also trash,
so now, the error messages are printed:
***ERROR.TYPE1415.EXTENDED INFO SEGMENT DEFECTIVE
TYPE1415 OBSERVATION WAS NOT OUTPUT.'
and the rest of the INPUT is now skipped.
Thanks to Sidney Owens, District of Columbia Government, USA.
Change 23.260 Linux under z/VM dataset VXAPLSLM variable PGFAUMI label
VMACVMXA said "PAGE*FAULTS*MINOR*ONLY" but the field contained the
Oct 6, 2005 MAJOR*ONLY faults. This change creates PGFAUMJ with the
Oct 13, 2005 MAJOR*ONLY faults, and corrects the value in PGFAUMI so
it is the MINOR*ONLY to match it's label.
Oct 13: Original divide changed to multiply.
Thanks to Kris Ferrier, State of Washington DIS, USA.
Change 23.259 The SMF _ID macro for some early SMF records didn't start
VMACWYLB with _ID; this change adds the "standard" ID maro name of
Oct 4, 2005 MACRO _IDxxxx nnn % to replace those archaic spellings,
but the original macro can still be used, since the code
IF ID=_oldname OR _ID= _IDxxxx THEN DO;
is used in these members:
Oldname Standard
_WYLBUR _IDWYLB
Thanks to Freddie Arie, Merrill Consultants, USA.
Change 23.258 Support for SYSVIEW for IMS user SMF records.
EXSYSIDL dddddd Dataset Description
EXSYSIEV SYSITR SYSITRAN SYSITR: SYSV/IMS TRANSACTION
EXSYSIPG SYSIPG SYSIPGM SYSIPG: SYSV/IMS PGM
EXSYSISC SYSIDL SYSIDLI SYSIDL: SYSV/IMS DLI
EXSYSITI SYSISC SYSISCH SYSISC: SYSV/IMS SCHEDULE
EXSYSITR SYSITI SYSITIM SYSITI: SYSV/IMS TIMERS
FORMATS SYSIEV SYSIEVT SYSIEV: SYSV/IMS EVENT
IMACSYSI This code is still in early testing, but because all of
TYPESYSI the test file has only the TRN, CNT and CLK segments, and
TYPESYSI exactly one each, and multiple segments doesn't make any
TYPSSYSI sense for the transaction, I now combine those three into
VMACSYSI a single obs in the SYSITRAN dataset. Because none of
VMXGINIT other segments are populated, the code, for now creates a
Oct 5, 2005 separate dataset for each segment, which may or may not
be the final design.
-Also, there is undocumented data in the records. While
the triplet count is 3 and the first three triplets are
populated for the TRN, CNT, and CLK segments, the eighth
triplet, "WRK" is also populated, pointing to a segment
with at least 8 populated TODSTAMP fields, but the WRK
segment is not described in the DSECT.
Thanks to John Rivera, (i)Structure, USA.
Thanks to Ken Steiner, (i)Structure, USA.
Thanks to David Zelmer, (i)Structure, USA.
Change 23.257 All variables created from TEMP were LENGTH $200, even
VMACTPMX though the actual INPUT was INPUT TEMP $VARYING16. And,
Oct 4, 2005 variables JBBND and JLIMT should have had $VARYING17. as
they can contain two levels and a period. So, lacking a
clear knowledge of exact maximum lengths, I folded all of
the $VARYINGnn (nn=6,14,16,64,80), into (nn=17,80) using
only TEMP17 and TEMP80 variables to set the kept lengths.
Note that as long as the MXG default option COMPRESS=YES
is still in effect, essentiall no space was wasted even
when the length was $200.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 23.256 Updated revision; warning messages RMFV022W and RMFV023W
ASMRMFV could be incorrectly issued, ASI data would be missing
Oct 4, 2005 and ASMRMFV would set Return Code 4.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 23.255 The text for several TNG metrics in $MGTNGVN format were
FORMATS truncated in their VALUE statement, printing MXG messages
Oct 3, 2005 about UNKNOWN fields. Fields 31,34,36,37,46,and 113 for
the NT data for the SMPT Server Object were corrected.
Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.
Change 23.254 The ADOCMWSU member for HP MeasureWare for Sun has been
ADOCMWSU updated with the REPORT command syntax that creates the
VMACMWSU data fiels with the fields that TYPEMWSU expects.
Oct 3, 2005 -VMACMWSU's test for TYPE was expanded to test 'TRAN' so
Oct 5, 2005 those records will now be output.
Thanks to Albert Jacobs, KBC Bankverzekieringsholding, BELGIUM.
Change 23.253 Initial rewrite of the ASUMTAPE program that combines
ASUMTAPE MXG's Tape Mount TYPETMNT data with IBM's Tape Dismount
VMACTMNT TYPE21 SMF data to create PDB.ASUMTAPE dataset, with the
VMAC21 start and end times of the mount, the dismounted time,
Sep 30, 2005 and bytes read, written, and any tape error counts.
Oct 19, 2005 Because the "Exit-Driven" architecture of ASMTAPEE ML34+
captures all mounts and populates all JOB-related data,
only the PDB.TYPETMNT and PDB.TAPES (a/k/a TYPE21) are
needed to create PDB.ASUMTAPE. (PDB.TYPETALO was used
to populate missing fields when mounts were sampled.)
-The SPIN.SPINMOUN and SPIN.SPIN21 will hold incomplete
mount/dismount records, to be reintroduced tomorrow.
-These variables, from the allocation event, are no longer
created in PDB.ASUMTAPE:
ALEERROR ALOCEND ALOCSTRT ALOCVLTM RDRTM SMFUCB
SMFVOL01 TERMNAME TMNT008I XMEMABND
-These job-related variables were only in the Allocate
record; they are now created in PDB.TYPETMNT and will be
created in PDB.ASUMUOW, but they will be blank until the
ASMTAPEE monitor program adds them to the mount record:
PROGRAM RESGROUP RPTCLASS SRVCLASS WLMNAME
-VMAC21 now sets BLKSIZE=. if SMF21LB is not on.
-"Group" definition macros, _GRPMNNM and _GRPMNCD, are now
added in ASUMTAPE to group SYSTEMs that have overlapping
DEVNRs. Using the example in the comments to create a
_GRPMNNM variable, ASUMTAPE groups BY _GRPMNNM DEVNR so
each "location/group" is analyzed correctly.
-A macro _DEBUG is defined in ASUMTAPE, and when invoked
it will print a log of the sequence of mount, dismount
and allocation records for diagnostics if there is a
problem case observed; if you can also send the JOBLOG of
the job(s) involved, it will help our investigations.
-This revision is in early testing; it appears to work
perfectly when there is a match of mount/dismount, and
it recognized back-to-back dismounts (i.e., missed mount)
in variable STATUS, but it needs extensive validation and
comparisons to the SYSLOG of weird cases before I can
fully say it's ready for prime time.
-In testing this revision, I discovered that ASMTAPEE at
ML-34 thru ML-36 do NOT capture all tape mounts in their
exit logic: these are two known cases of missed mounts:
- Multi Volume Mounts - Only first Mount is captured in
the IBM Volume Mount Exit; STK's HSC exit sees all.
- DFHSM Mounts to 3590s - None captured, but mounts for
other jobs on 3590s are captured.
An investigation by "asmguy" has just been started today
as a result of this (unwanted!) discovery, which will
likely require SLIP traps, dumps, and possibly multiple
iterations to find out why these mounts were not seen.
-Oct 19: Macros _grpALxx are renamed to _grpMNxx to be
consistent; AL is for allocation and MN is for mounts,
and ASUMTAPE should be used instead of TYPETMNT for tape
mounts.
-See further revisions in Change 23.300 and later.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Thanks to Beau Chavis, Bank of America, USA.
Thanks to Jim Sherman, Lockheed-Martin, USA.
Change 23.252 TMS/CA-1 DEVTYPE variable was blank for TRTCH='E2'X, but
VMACTMS5 now DEVTYPE='STK9840-C' is decoded for that TRTCH value.
Sep 29, 2005 DEVTYPE='STK9842' already was decoded for TRTCH='E7'X.
Thanks to John Gebert, FDIC, USA.
Change 23.251 Enhancement to set TRANNAME in PDB.ASUMUOW from CICSTRAN
VMXGUOW observation in each Unit of Work that was not the CSMI
Sep 29, 2005 transaction but that had the longest IRESPTM duration, as
a more robust identification of the "real" transaction.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.250 OPTIONS NODSNFERR NOVNFERR; was missing from the TRNDCACH
TRNDCACH member; it is needed to protect the first-time-through,
Sep 28, 2005 when the TREND.TRNDCACH member doesn't yet exist.
All other TRND members had that option, so I assume it
was inadvertently deleted.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 23.249 Using %READDB2 to process DB2 Trace 102 SMF record now
ANALDB2R decodes the DBID and OBID values, if you enabled 105/107
READDB2 IFCIDs, and those records are in the input SMF data file.
VFMT102 (Previously, only the %ANALDB2R report printed the real
Oct 22, 2005 names of the OBID or DBID). Formats $MGDB2DB/$MGDB2OB
are created by VFMT102 member, used by both ANALDB2R and
VMAC102, if 105 or 107 records were found, but only cover
the time frame of the trace, since DBID and OBID can
change. The 105/107 records are only written at OPEN,
and the formats use the timestamp range of the data read
by READDB2, so you may still find $HEX4. values for the
DBID and OBID variables some of the time.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.248 An ending */ was missing in the exit member, but there
EXDB2ACC were subsequent end comments that apparently prevented an
Sep 22, 2005 error, as this was observed by Bruce, rather than the
result of a reported error condition. Sometimes, a
missing end comment, even when there are subsequent ends
for other comments, has caused strange errors.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 23.247 ML-36 of ASMTAPEE corrects a problem in the Allocation
ASMTAPEE Monitor introduced in ML-35 that cause a major increase
Sep 22, 2005 in the CPU time of the MXGTMNT task.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 23.246 Support for adding un-sorted datasets to your WEEKly PDB.
WEEKBLD MONTHxxx programs supported adding unsorted datasets by
WEEKBLDT using MACRO _BY % MACRO _SORTBY % in place of
WEEKBLDD the normal MACRO _BYLIST var1 var2 % definition, but the
WEEKBL3 WEEKxxxx programs were not revised to define those two
WEEKBL3D macros, until now. As a reminder, once these two macros
WEEKBL3T have been specified, all subsequent datasets will be
Sep 16, 2005 treated as non-sorted, so the un-sorted dataset build
macros should be at the very bottom of your EXPDBWEK or
EXPDBMON tailoring member.
Thanks to Cheryl Heiner, State of Montana, USA.
Change 23.245 A single quote (') in the WLM data for a variable was not
REXXWLM converted to two single quotes (''), which could cause a
Sep 16,2005 SAS error.
Thanks to Sam Bass, McLane Company, USA.
Change 23.244 NO LONGER TRUE, FIXED BY SAS IN 2005. Original text:
VGETDDS Using MXG's %VGETDDS(DDNAMES=XYZ: ...) and %VMXGSET to
VMXGSET read from all SAS data libraries in your JCL that have
Sep 16, 2005 DDNAMES starting with "XYZn" can fail to read all DDs,
but ONLY if you have installed the IBM PATCH for HSM that
is documented in IBM APAR OY63500, and ONLY if one of the
"XYZn" datasets is independently being migrated by HSM!
That PATCH allows HSM to bypass normal DSENQ protection;
the site runs an HSM job every 30 minutes to migrate data
from ML0 to ML2. The HSM task started the migration, and
then the MXG job started to run (because DSENQ had been
bypassed). VGETDDS tests each XYZn DD with PROC SQL to
find its ENGINE, but SAS did not recognize that XYZ3 was
a SAS Data Library in its DICTIONARY.MEMBERS table (due
to its migration-in-progress status), so VGETDDS saw
UNKNOWN engine, and stopped its search for other XYZn
DDNAMES when the first UNKNOWN engine type is found.
Since VGETDDS only saw XYZ1 and XYZ2, the XYZ3 DDNAME
was never opened by SAS, so the OPEN ABEND discussed in
the IBM APAR text never happened.
If you have the "PATCH" in OY63500, and you permit your
PDBs to be migrated by HSM while trying to use one, there
is no possible MXG fix for this error; the only clues
that there was an error was that many fewer obs were
read than expected, and/or the VGETDDS message on the log
explicitly said it only found two XYZn DDNAMES.
(But the whole point of VGETDDS/VMXGSET is so your JCL
determines how many XYZn DDNAMES are read, and so you
DON'T have to tell me how many to expect!).
The only way to prevent I can think of is to put these
PDB libraries in a dataclass that is not migrated by the
interval task, to eliminate the exposure.
Change 23.243 Enhanncement to RMF III VSAM support ASMRMFV/TYPERMFV.
ADOCRMFV -ASMRMFV corrects a few issues, reduces CPU utilization by
ASMRMFV use of MVCL instruction, and adds the ASI Extension that
CLRMFV had been requested by Lawrence Jermyn, along with other
DOCLRMFV minor changes. The ASI Extension improves the ability to
VMACRMFV subset and group RMF Monitor III data for historical
Sep 15, 2005 analysis at the Address Space level. This version also
Sep 16, 2005 offers additional Assembly Language symbolics to let you
tailor the ASMRMFV defaults.
-CLRMFV: There are no changes to the CLIST; its just here
as a reminder that it is used to process RMFV data.
-ADOCRMFV: Extensive notes on what Jerry did are added!
-DOCLRMFV: Updated notes.
-VMACRMFV:
Variables
ASICNM ASICDE ASICWN ASICRN ASICPO ASICPN
ASICGI ASICWI ASICRC ASIRNM ASIRDE ASIVERG3
were added to ZRBASI dataset. ASIVERG3 values '0F'x and
greater indicate that the zAAP fields are present in the
records.
-Sep 16: Old SVP Buffer Table cleanup added.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 23.242 Support for SMF type 82 subtypes 20 and 21 is added.
EXTY8220 Subtype dddddd Dataset Description
EXTY8221 20 TY8220 TYPE8220 Crypto Coprocessor Timings
FORMATS 21 TY8221 TYPE8221 ICSF Sysplex Group Change
IMAC82 -In TYPE8220, MXG variables NQAPDQAP and DQAPWAIT are the
VMAC82 calculated delta times between TNQ-TDQ and TDQ-TWT, after
VMXGINIT using the TWT-SMFTIME delta to create GMT82OFF. Since it
Sep 12, 2005 is the coprocessor duration, and not time of day, that is
of interest, the original SMF82TNQ, SMF82TDQ and SMF82TWT
variables are not kept.
-SMF82TSF, Coprocessor sub function code is not documented
in the SMF manual; it is a $HEX4. value, and will be
formatted when it's possible values are known.
-SMF82TRN will be missing until you install z/OS 1.7.
-TYPE8221 code has not been tested with records, yet.
Thanks to Ian Arnett, TD Canada Trust, CANADA.
Change 23.241 Two more typos: NR25SEGS in the WHEN (24) group should
VMAC80A have been NR24SEGS, and NR44SEGS in the WHEN(43) group
Sep 12, 2005 should have been NR43SEGS.
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Thanks to Stephen Morris, National Australia Bank, AUSTRALIA
Change 23.240 IRESPTM, the response time of the CICS Unit of Work, and
VMXGUOW ELAPSTM, the total elapsed duration of the DB2 portions
Sep 9, 2005 of the Unit of Work, some which could be in parallel,
are revised. IRESPTM is now the maximum of the CICSTRAN
segments in this unit of work, while ELAPSTM is the sum
of the individual elapsed times of the DB2ACCT segments,
in the PDB.ASUMUOW dataset built by INCLUDE of ASUMUOW.
In addition, new variable DB2IDLE, which was originally
created by archaic ANALDB2C, but lost when ASUMUOW was
built, is now created. DB2IDLE is the elapsed time from
last CICS ENDTIME to the DB2 QWACESC End time, and is the
duration when the DB2 thread was idle, but has not ended,
presumably for possible thread reuse. DB2IDLE is then
subtracted from the sum of the DB2ACCT ELAPSTMs, so the
final ASUMUOW ELAPSTM does NOT include DB2IDLE time.
-This change can make ELAPSTM smaller than before, for
serial transactions that had DB2IDLE time.
-This change can make ELAPSTM larger than before, for DB2
Parallel transactions (DBPARTY='P'), because the prior
ELAPSTM was start to finish. But since parallel=3 can
burn 3 hours of CPU time, the elapsed time must be the
sum of the parallel elapsed time, rather than start to
finish of the unit of work.
-In addition, the _TRANUOW user exit has these additional
variables available for examination, etc.
HOLDIRSP: MAX of IRESPTM from CICSTRAN
HOLDELAP: SUM of ELAPSTM from DB2ACCT
HOLDFSTR: Min of CICS STRTTIME start datetime
HOLDLSTR: Max of CICS STRTTIME start datetime
HOLDFBSC: Min of DB2 QWACBSC begin datetime
HOLDLESC: Max of DB2 QWACESC end datetime
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.
Change 23.239 Support for DURATM keywords TENMIN and FIVEMIN. Code had
VMXGDUR been added in VMXGDUR, but not in VMXGSUM. Obscure notes
VMXGSUM in member VMXGSUM did say that if you use DURATM= with an
Sep 9, 2005 unsupported keyword, variable DURATM will not be created.
The actuality is that these DURATM= values:
SECOND MINUTE FIVEMIN TENMIN QTRHOUR HALFHOUR
HOUR THREEHOUR DATE WEEK
do create variable DURATM, while these DURATM= values
MONTH and SHIFT
do not create variable DURATM.
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 23.238 Sites that run UTILEXCL daily to create IMACEXCL code
UTILBLDP (due to frequent CICS dictionary changes), normally write
Sep 8, 2005 their IMACEXCL code to a "flat file" rather than a PDS
(avoids need to compress the PDS), adding //IMACEXCL DD
to point to that code, and adding %INCLUDE IMACEXCL;
using MACKEEP= logic. However, the include of an external
DD statement was not supported in UTILBLDP. Now, it is,
with the new IMACEXCL= argument.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.237 -Variables NRIFACPU and NRIFLCPU are added to PDB.ASUM70PR
VMAC7072 and PDB.ASUMCEC datasets built by ASUM70PR for processors
VMXG70PR that populate 'IFA' and 'IFL' in SMF70CIN (only z9 now).
Sep 7, 2005 Variables LPnDSA are now labeled.
-MXGCIN variable now contains new IFA and IFL values.
Change 23.236 Support for Endeavor Release 7; there were no changes to
VMACENDV their user SMF record.
Sep 6, 2005
Thanks to Herb Strozinsky, US Bank, USA.
Change 23.235 DB2TCBTM for Rollup observations (DB2PARTY='R') is wrong
VMACDB2 and could be less than QWACAJST (the TCB time in DB2).
Sep 6, 2005 APAR PQ41012 documented that in rollups the accumulated
Elapsed and TCB were in QWACESC & QWACEJST, but only the
elapsed time was corrected in Change 22.121. Now, the
DB2TCBTM is recalculated when DB2PARTY='R' is set, using:
DB2TCBTM=SUM(QWACEJST,QWACSPCP);
(The final component, QWACTRTE is added in later.)
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.234 Peter Enrico's presentation at SHARE in August 2005 had
GRAFWLM graphs of CPU utilization grouped by SYSSTC, SYSTEM, work
Sep 8, 2005 with a goal, and work without a goal, to show how much
work could or couldn't be managed by WLM. This analysis
produces similar SAS/GRAPH stacked bar charts, showing
CPU Time and MSU consumed by these groupings from top to
bottom:
UNCAPTURED
SYSTEM
SYSSTC
IMP 1 CPU CRITICAL
IMP 1
IMP 2 CPU CRITICAL
IMP 2
IMP 3 CPU CRITICAL
IMP 3
IMP 4 CPU CRITICAL
IMP 4
IMP 5 CPU CRITICAL
IMP 5
SYSOTHER
(All unclassified discretionary work - should have
no unclassified work!)
DISCRETIONARY
(All work classified as discretionary, regardless
of importance. Discretionary work is work in a
service class period that does not have a goal.
An example of the output can be viewed at
http://www.mxg.com/samples/grafwlm
See comments in the member for usage documentation.
Thanks to Peter Enrico, Enterprise Performance Strategies, Inc.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.233 Several corrections and enhancements to Web Log support:
VMACWWW -ELAPSTM, at least for BEA WebLog was way too small; their
Sep 2, 2005 "time-taken" field contains 'seconds.fraction' value, but
Sep 3, 2005 MXG expected a millisecond integer value. Now, MXG will
detect a period in the time field, and inputs ELAPSTM as
'seconds.fraction' when a period is found; otherwise, the
field is input and divided by 1000 to get seconds.
-Example FILENAME now has LRECL=4096 to match the INPUT
$VARYING4096. If LRECL was not specified, LRECL=255 is
the default, which causes "ONE OR MORE LINES TRUNCATED".
-TRANSLATE(RECORD,' ','09'x); added, because BEA log has
a hard tab, '09'x between fields instead of blanks.
Dealing with '09'x can be nasty, since it is usually
turned into a blank by most editors, and blanked by
SAS when input records are displayed, so you often
don't even know there's an '09'x value, until your
read and display the field in hex, using:
INPUT FIELD $CHAR50.; PUT FIELD= $HEX100.;
-Change 23.026 protected one of the two URIQVALU=SUBSTR();
now both are protected for URIQVALU=0, which happens when
when an = in the URIQUERY string is immediately followed
by an &, causing LTOAND=1 and thus causing URIQVALU=0.
-Vars BYTES CSBYTES LBYTES SCBYTES now LENGTH &MXGBYLN.
Before Change 23.026, CSBYTES and SCBYTES were kept as
length $4096 because MXG used CSBYTES=WORD(....); and
WORD's is $4096, so CSBYTES/SCBYTES wasted space when
SAS compression was not used (COMPRESS=YES is default).
That change made them numeric, saving space, but they
were now 4-byte length due to MXG's DEFAULT=4. However,
byte-containg fields need more resolution, and thus they
are now properly set to LENGTH &MXGBYLN. ;
-BYTES added to KEEP= list for _VWWWIIS and WWWIIS22 was
added to $16 length statement.
Thanks to Andrzej Dabrowski, Computing Services, CSIR, SOUTH AFRICA.
Change 23.232 NDM dataset NDMPS ('PS'/'SW' records) now has variables
VMACNDM PSSDSN='DSNAME' and PSSDSNL='LENGTH OF*DATASET*NAME'
Sep 1, 2005 both input and kept, if this is an 'SW' subtype.
-Missing value messages were eliminated for DATE fields
that are known to have missing values; MXG now tests the
DATA field before constructing the DHMS function inputs.
Thanks to Tom Neurauter, Fidelity Systems, USA.
Change 23.231 Support for DB2 IFCID=225 variables
VMAC102 QW0225FA QW0225GA QW0225VA QW0225SJ
Sep 1, 2005 that report DB2 storage used "Above The Bar".
Thanks to Valerie J. Chisholm, Aetna, Inc, USA.
Change 23.230 "EXIT-DRIVEN" MXGTMNT Tape Mount Monitor is AVAILABLE!!
ASMTAPEE ML-35 should be the FINAL iteration in this major effort
ASMHSCEX that replaces the original sampling tape mount monitor
Sep 1, 2005 (it sampled the tape UCBs every 1/2 second, working just
fine for many years of real tape drives, but sampling
now misses many of your very fast VTS tape mounts)
with this event driven monitor that instead uses exits to
capture EVERY tape mount for real drives, silos, and/or
VTS devices, whether mounted by IBM or STK software.
-What's now available is this enhancement that supports
multiple instances of STK's HSC and/or CSC running in the
same system.
-The Exit Driven architecture has been available for some
time, using the IBM Volume Mount exit for all real tape
devices (whether IBM or STK drives), and for IBM VTS.
It was the enhancement to use the STK User Exit in their
HSC and CSC software, used for STK Silos and STK VTSs,
that was extremely difficult to develop, primarily due to
the complete refusal of STK to provide any technical help
(i.e., STK wouldn't/couldn't tell in which address space
their exit was executed!), so MXG's asmguy@mxg.com had to
figure it all out without assisance from that vendor.
-Both ASMTAPEE and ASMHSCEX were updated by this change.
-The solution for multiple HSC/CSC is in the new ASMHSCEX,
which now create two exits, SLSUX01 for HSC, and SCSUX01
for CSC, so all you're HSC guru will have to do is to
define the appropriate exit to whichever one (or ones)
your site is running for your STK Silos and VTSs.
-What to do when both are run:
There may be a little extra overhead for those sites that
run multiple exits on the same system, but that won't
affect a site that only runs one exit. Exit 01 in HSC or
CSC behave the same; either exit will provide the
information we need. With ML-35, you can run any number
of those exits, but now, we'll create only one record per
tape mount!
Asmguy's advice when both are running is to pick one,
whichever is most likely to be active all the time, and
define the exit to it. If you want to run multiple exits
on the same SYSTEM, ML-35 will allow this, but there is
additional overhead involved. If you chose to do this,
you can just define the exits as you would normally, and
no change is required to ASMTAPEE, as it automatically
will detect that multiple exits are running, and respond
accordingly.
-ML-35 ASMTAPEE is NOT compatible with earlier ASMHSCEX.
You must use the ML-35 ASMHSCEX with the ML-35 ASMTAPEE.
- ML-35 corrected several old ASM coding exposures found by
Dick Zieske, mostly dealing with cleanup of CSA when
MXGTMNT is cancelled, rather than STOPed, or if MXGTMNT
ever ABENDS (which has never happened in production)!
- Sampling is still used for Tape Allocation records.
Thanks to "asmguy@mxg.com" who has figured out how to use the HSC/CSC
exits in spite of complete lack of help from STK.
Thanks to Dick Zieske, AIG, USA.
Thanks to Steve Martin, Fidelity Systems, USA.
Thanks to Paul Naddeo, FiServ, USA.
Thanks to Jeff Holst, FiServ, USA.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Thanks to Shirley Fhng, Hong Kong Shanghai Bank, Hong Kong.
Thanks to Shane Dowling, DEWR, AUSTRALIA.
Thanks to Scott Chapman, American Electric Power,USA.
Thanks to Patricia J. Jones, DST Systems, USA.
Change 23.229 Support for DEVTYPE='3592' tape devices. Observations
VMACTMS5 were output by MXG for those devices, but variable DEN
Aug 31, 2005 was not decoded, causing "DENSITY IS MISSING" non-fatal
log messages; more important: variable DEVTYPE was blank.
DEN and DEVTYPE are populated by table lookup in the MXG
program, after I find out what hex value CA has chosen.
Thanks to Todd Wright, CSC Australia, AUSTRALIA.
Change 23.228 INPUT STATEMENT EXCEEDED RECORD error from IBM ATL record
VMACEREP that had a message shorter than the 96-bytes that MXG had
Aug 31, 2005 hardcoded for the INPUT of ETRMESSG. Code was revised.
Thanks to Steven Clark, DHL, USA.
Change 23.227 The NDMCT dataset contains accumulated NDMCPUTM for multi
TYPENDM step processes; deaccumulation is always done by MXG in
VMACNDM the "_Sdddddd" macro, the "Data Set Sort" macro, so the
Aug 31, 2005 heuristic logic to sequence and deaccumlate adjacent data
was added to the _SNDMCT macro.
-The TYPSNDM macro automatically sorts the output, but if
you have added processing of NDM data to your BUILDPDB,
you should replace your PROC COPY; SELECT NDM:; with the
"Product Sort" macro _SNDM in your EXPDBOUT member to
sort all of the NDM datasets, and deaccumulate NDMCT.
-If you are using ITRM, you only need the _SNDMCT "Dataset
Sort Macro" in your EXPDBOUT, since ITRM will separately
handle the adding of the other NDM datasets to DETAIL.
-While the TYPExxxx members normally only write to //WORK,
when an xxxx product requires deaccumulation, I add the
_Sdddddd data set sort macro (s) to the TYPExxxx member
to ensure you don't accidentally use the unaccumulated
data, so _SNDMCT was added to the TYPENDM member's code.
Thanks to Thomas Clark, SEI Investments, USA.
Change 23.226 Nearly Cosmetic. MXG deleted STK subtype 4 records that
VMACSTC were in error (see Change 23.125), but did not print a
Aug 30, 2005 message on the log that you were missing that PTF.
Now it does advise you that records were deleted.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.225 Requesting RUNTRND=DAILY in %BLDSMPDB did not work as
BLDSMPDB expected.
Aug 30, 2005
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 23.224 Cosmetic corrections found during ITRM dictionary build.
VMXG70PR -TYPE70LP: SMF70DSA was not labeled.
VMACCMF -CMF27C93: C2795RFL,C2795RTY "THUS:" removed from label.
VMACNDM -NDMRJ: NDMJOBNM,NDMRJDSN,NDMSYSRC were not labeled.
VMAC79 -TYPE791/TYPE792: R791NFFI,R792NFFI were not labeled.
Aug 30, 2005
Thanks to Chris Weston, SAS Institute ITRM Cary, USA.
Change 23.223 Support for Mobius/IPAC Release 6.3 (INCOMPAT, because of
EXIPAC08 changes in the length of IPSPAGE/IPEPAGE fields in the
IMACIPAC subtype 1 record). Other changes in this release:
VMACIPAC -New variable IPPACCES='PAGE*ACCESSED*COUNT' in IPAC03.
VMXGINIT -Variable IPLOC is now $8; it includes the former reserved
Aug 30, 2005 one following byte.
Aug 31, 2005 -New subtype 8 creates dataset IPAC08, similar to IPAC03.
-But, there still is no change in their VERSION field, so
the LENGTH of the record must be used to identify the new
data added to the subtype 1 and 3 records.
-And, the vendor documentation for Release 6.3 does not
document the SMF records they write:
The REQSTART and REQEND documentation is unchanged, but
records show the values are reversed physically, with
END first and START last, and the format of their time
part still says 0hhmmssF, but the data shows four-byte
EBCDIC numeric HHMM value.
The vendor's technical support chose not to compare the
hex dump of their defective record we sent, which shows
the START field with 2208 and the END field with 2205,
but simply replied that their their dsects were the
definitive documentation source.
Just in case they ever acknowledge their error, and fix
their code so the records match the "definitive" DSECT,
MXG code now tests START versus END and reverses their
values if necessary.
Thanks to Erik Janssen, ING Netherlands, THE NETHERLANDS.
Thanks to Debby Blackey, HCA Health Care, USA.
Change 23.222 Change 23.216 was updated for APAR OA10346; new values
VMAC7072 in SMF70CIX for "IFA", "IFL", are now used to create new
Aug 29, 2005 NRIFACPU and NRIFLCPU variables, and the count of those
non-"CP" engines is subtracted from variable PARTNCPU.
Without this change, PARTNCPU included IFAs and IFLs.
MXG variable MXGCIN was also updated with new SMF70CIN.
Data from z9 processor was used to validate this change,
which also validated Change 23.186, the z9 support.
Change 23.221 The default example variable names for the TSO workload
RMFINTRV was incorrectly/accidentally changed from the historic
Aug 29, 2005 "TSO" to "TSOP" in the RMFINTRV member in MXG 22.07.
The example is now corrected so the TSO variables will
start with just the historic "TSO" prefix. If you have
your own tailored RMFINTRV member, it controlls the names
of the variables, so this change would have no impact.
However, if you were using the MXG 22.07-23.07 default,
this change could cause your reports to fail, since your
reports expect TSOP.... variable names, so your best
choice is to copy the RMFINTRV from 22.07-23.07 into your
tailoring library, and your variables will continue to be
spelled TSOPxxxx. I made his reversion because the MXG
example reports expect the TSOxxxx variable names.
Thanks to Paul N. Ross, Computer Sciences Corporation, USA.
Change 23.220 MXG logic error caused INPUT STATEMENT EXCEEDED INPUT
VMAC80A for a valid SMF 80 record that contained no segments.
Aug 30, 2005 I noted the "USER IS NOT DEFINED TO RACF" bit was on.
Originally I had the customer open a problem with IBM
for their "short record" error, because the OFFSET was
greater than the LENGTH of the SMF record, but now I am
"eating my own words", as the record was completely valid
and it was an MXG logic error that wasted both IBM's and
this MXG Customer's time:
IBM's response was completely accurate and to the point
and completely detailed the offset and locations that
proved the record was completely valid. It's one of
the best written and complete replies I've seen!
I had inserted code in MXG to read in a 4-byte test for
a vendor product, but I put the input before the group
DO _I_= 1 TO NRSET that input the segments that exist.
My input was always executed, even when NRSET=0!
That IBM reply recommended the use of the count field,
which is now done, but I also test LENLEFT GE 4 to make
sure there really are 4 bytes left to be read.
The error was overlooked when tested with the vendor SMF
because they all had the field, and there were no errors
when QA SMF 80s from several sites were read, so the code
was released in October, 2003. Since then, billions and
bullions of SMF 80 records have been read, and all had
one or more segments and no error.
I can live with those odds!
Thanks to Christa Neven, KBC Bankverzekieringsholding, BELGIUM.
Thanks to Victor_Van-Cakenberghe,IBM, BELGIUM
Change 23.219 The ICF Catalog 05 record variable GATGEN should have
VMAC6156 been input as &PIB.2., instead of one byte, and variable
VMACCTLG GATWRAP='Y' is now set if the first bit of GATGEN is on,
Aug 29, 2005 to mark that this GDG member has "wrapped"; i.e., its
generation number has exceeded 9999. If GATWRAP is on,
GATGEN=GATGEN-32768 to contain the correct Gen number.
This discovery was precipitated by IGD07001I ABENDs in
production, which occurred when a GDG that had GATWRAP
on for some members, and GATWRAP off for others, when
that GDG generation number goes from 999 to 1000.
Normally, when all members of a GDG have wrapped, the
next catalog action turns off the wrap bit in all of
the catalog records. For a "normal" GDG, that should
happen when the +256th gen is created after wrap, as
only 255 members can exist in the catalog. But this
site had had a very old application that originally
created +1 thru +5 each day, and then deleted +1 thru
+4, leaving only +5 in the catalog. However, back when
Clinton was President, an application change was made
that created only +1 thru +3 and deleted only +1 & +2,
so there were 2 old GooooVoo's left in the catalog.
When the GDG wrapped, and when the create of +1 would
have created G1000V00, those old GooooVoo's still had
their wrap bit off, and the production job failed:
IGD07001I; GDG ROLL IN ERROR - RETURN CODE 140 REASON 122
Return Code 140:
Inconsistent or conflicting arguments were provided.
Reason Code 122:
Catalog G1000Vxx will cause the GDG to exceed the
limit of 10,999.
Programmer Response:
Clean up the GDG in error then catalog G1000Vxx.
The site found Information APAR II07276, which explained
how wrap works, but it says to 'see the "Z" page for
internal details of the wrap bit interface'.
So the site asked IBM Support: "We need to identify other
GDGs that have the same exposure to causing ABENDs. Can
I look at the 'Z' page? Does the 'wrap bit' appear in
SMF 61, 65, 66 ICF Catalog records?"
IBM Level 2 Catalog Support refused to answer the quite
valid question, with this answer:
"Unfortunately, the 'Z' page in our info APARs refer to
information meant for IBM eyes only, for helping us get
to problem determination quicker. We are not at
liberty to discuss any control block internals that are
not provided in our published manuals. As for
information in SMF records relating to this, this info
would be included in the updated record portion
of the SMF record, however we cannot discuss offsets
for those either. I am sorry I cannot be more helpful.
Please let me know if there are any other questions
that I can answer for you."
Even escalation to my IBM Poughkeepsie z/OS support did
not convince IBM Level 2 Catalog Support to identify
which bit is the "GATWRAP" bit. The ICF Support and
Developers hid behind "OCO", Object Code Only, as the
reason they could not provide catalog record
documentation (but DSECTS are NOT CODE!).
So I suggested the site could create a GDG and force it
to wrap, and by examining SMF records, we concluded that
first bit of GATGEN was the GATWRAP bit.
Then, I remembered I still had lots of archaic printed
manuals, and located the very old "MVS/XA Catalog
Diagnosis Reference for DFP Release 1.2", which confirmed
that the GATWRAP bit was indeed the first bit of the
GATGEN field in the 05 Catalog Record!
Thanks to Daniel F. Schwarz, Inc, Univ of Wisconsin Hospitals, USA.
Thanks to Joseph Stoll, University of Wisconsin Hospitals, USA.
Change 23.218 Format $MGDB2PT did not have value for 'R'='R:ROLLUP'.
FORMATS
Aug 23, 2005
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.217 Typo at line 392 had WEEKBLD instead of _WEEKBLD.
WEEKBLDT
Aug 23, 2005
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.
=Attended the 50th Anniversary meeting of SHARE, the world's first
=computer User Group, in Boston.
Change 23.216 APAR OA10346 was supported by Change 23.187, but it was
VMAC7072 revised on Aug 18, with these new enhancements:
VMXG70PR -TYPE72Y2 dataset, variables CRYIH2R and CRYIH2s created
Aug 19, 2005 for hashing rate and hashing size for SHA=256.
-Tests in VMXG70PR were revised, because SMF70CIN can now
contain "IFA", "IFL", "ICF" or "CP" to identify the type
of processor.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 23.215 While not "hard-coded" DDname, these two statements that
VMXGRMFI were inadvertently left in the middle of VMXGRMFI
Aug 18, 2005 %LET SPININ = SPIN;
%LET SPINOUT = SPIN;
were just as bad as hardcoded, and cause errors if you
had changed your SPIN library's DDNAME elsewhere in MXG.
Both lines were deleted.
Thanks to Ken Williams, CPT Global, ENGLAND.
Thanks to Mark Williams, Marks and Spencer, ENGLAND.
Change 23.214 Cosmetic. Label for variable A20E2HWM was corrected to
VMAC110 now read A20E2HWM='PEAK*CONTENTION*WINNERS'.
Aug 17, 2005
Thanks to Scott Wiig, U.S. Bank, USA.
Change 23.213 All SMF88xxx datetime variables were on GMT time zone.
VMAC88 Now, the GMT88OFF offset is calculated and the variables
Aug 17, 2005 are all now on the same time zone as SMFTIME.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 23.212 Cosmetic. Labels for RTSMAP01-RTSMAP14 were clarified to
VMAC7072 'BUCKET nn*RESPONSE TIME*GOAL*PERCENT' because they
Aug 16, 2005 contain the percentage of R723CVAL, rather than a goal
value. If you want to know the goal value of the nnth
bucket, it is RTSMAPnn*R723CVAL.
Thanks to Dave Crandall, Farmers Insurance, USA.
Change 23.211 Requesting USERADD=6 25 26J3 21 30, INCLAFTR=BUIL3001
UTILBLDP generated a MACRO _WTY26J2 _LTY26J2; statement which
Aug 16, 2005 should have been MACRO _WTY26J3 _LTY26J3 % statement.
Thanks to Hansruedi Zaugg, EDS, SWITZERLAND.
Change 23.210 MXG 23.07 only. Typo of CURRSHARE in the DROP statement
VMXG70PR should have been CURSHARE. Fortunately, there was no real
Aug 16, 2005 impact on any of the expected variables, just that the
variable CURSHARE was unnecessarily kept. The typo did
cause an error when MXG ran under V6, because the 9-byte
variable name exceeded SAS V6 limits. MXG variables are
normally also 8-bytes-max; our QA tests for name length,
but only for kept variables, and since CURRSHARE was a
typo that didn't exist in a KEEP= statement, this typo
was missed.
Note: I thought this was fixed in the final 23.07, by
Change 23.208, but I typo'd the typo, and MXG 23.07
had CURRSHAR instead of CURSHARE, so the problem was
not corrected until MXG 23.08.
Thanks to Jon Whitcomb, Great Lakes Higher Education Corporation, USA
====== Changes thru 23.209 were in MXG 23.07 dated Aug 10, 2005=========
Change 23.209 Not sure why, but the includes of VMAC7072,VMAC6,IMACKEEP
ASUMPRTR inside ASUMPRTR cause it to fail when it was INCLUDed in
Aug 10, 2005 EXPDBOUT in BUILDPDB to create the PDB.TYPE6ENH dataset.
Removing those three members from the %INCLUDE statement
in ASUMPRTR eliminated the ERROR: OLD-STYLE MACRO NAME
PDB.TYPE6 MUST CONTAIN ONLY LETTERS, DIGITS AND UNDERSC.
Those members only need to be included when SMF data is
read, and that JCL example in the comments has the needed
%INCLUDE statement, so the %INCLUDE for them in ASUMPRTR
was redundant, anyhow.
Thanks to Keith McWhorter, Georgia Technology Authority, USA.
Change 23.208 Replaced by Change 23.210.
====== Changes thru 23.207 were in MXG 23.07 dated Aug 9, 2005=========
Change 23.207 Variables IAMNOA and IAMNOP have traded places; they were
VMACIAM coded as documented, but the documentation was wrong.
Aug 9, 2005 Aug 10: it was IAMNOD and IAMNOP that traded places.
Aug 10, 2005
Thanks to Ken Wantuch, BB&T IT Systems Engineering, USA.
Change 23.206 Line 2704 contained a semicolon after SMFPSRVR, but that
ANALCISH should have been a comma. Only caused error if CFEC FEPI
Aug 9, 2005 Connection Statistics report was requested.
Thanks to Scott Wiig, U.S. Bank, USA.
Change 23.205 -Variables LPnNSW/SMF70NSW, percent when LPAR was capped,
EXCECTIM were wrong in PDB.ASUMCEC/ASUM70LP/ASUM70PR and could
VMXG70PR even be greater than 100%. Weighted average had wrongly
Aug 9, 2005 used LPARDUR instead of SMF70DSA. Logic revised.
Aug 10, 2005 -LP1LAC was always missing in PDB.ASUM70LP because of a
Nov 10, 2005 typo that had SMF71LAC instead of SMF70LAC.
-LPnLAC was often missing in PDB.ASUMCEC because logic to
select the first LPARNUM in each CECSER has been wrong.
Variable PCTMVSBY is populated only in "this system" obs
in TYPE70PR dataset, so adding DESCENDING PCTMVSBY to the
end of the sort order that creates CECCLEAN forces that
"this system" observation to be the one that is kept.
-The optional EXCECTIM member is reinstated in VMXG70PR
to change STARTIME in PDB.ASUMCEC, PDB.ASUM70PR, and in
PDB.ASUM70LP datasets to the exact nearest minute for the
summarized output's STARTIME value; observations with
slight differences caused duplicate or semi-duplicate
output. Nov 10: this paragraph revised; originally, it
said only PDB.ASUMCEC's STARTIME was changed. But, now,
you also need Change 23.289 for full short-interval fix.
-Aug 10 enhancement: VMXG70PR logic (ASUM70PR) now adds
variable LPARNSW, percent when this LPAR was capped, to
the PDB.RMFINTRV dataset, so your system-level analysis
will contain LPAR capping.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.204 Documentation only. Change 23.021 correctly populated
ASUM70PR the "PHYSICAL" LPAR's data in LP0xxxxx variables, so the
Aug 9, 2005 total MSU, summed across all LPARs, from PDB.ASUMCEC,
will be slightly larger than the MSUs from versions prior
to MXG 23.01.
Oct 31, 2005: See Change 23.276.
Thanks to Huch Lapham, Royal Canadian Mounted Police, CANADA.
Change 23.203 Change 23.143 did not correctly handle the length 8 data
VMACMPLX fields, and MXG's INPUT did not match the MPLX DSECT.
Aug 9, 2005
Thanks to David Bixler, FISERV, USA.
Change 23.202 -Variables KW21GL01-KW21GL05 are no longer created nor
VMAC80A nor kept in dataset TYPE8021, as the RDEFINE command does
Aug 8, 2005 not contain the GLAUFLGS field.
Aug 30, 2005 -Variables CLASNAM1-CLASNAM4 are now created in TYPE8024
to support up to 5 class names.
-Support for SMF80DTP (43) for SETROPTS GENLIST/NOGENLIST
and enhancement for (42) for SETROPTS RACLIST/NORACLIST;
up to five class names (CLASNAME,CLASNAM2-CLASNAM5) are
now kept from either 42 or 43 RACFTYPE entry.
This assumes that the SETROPTS record contains either
a (42) or a (43) segment, but not both. My test data
had no event 24 records so I could not validate that
assumption. If wrong, then new variable names will be
needed and this text will be revised.
-Aug 30: tests for NR44SEGS should be NR42SEGS in the
WHEN (42) logic; caused job to fail.
Thanks to Adam Thorn, Euroclear, BELGIUM.
Thanks to Aimee Steel, Euroclear, BELGIUM.
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Change 23.201 Condition Code (Return Code) 4 in ASUMTALO eliminated.
ASUMTALO The LENGTH statement in ASUMTALO specified DEVICE $8, but
Aug 8, 2005 the actual length of DEVICE is only $7; both the LENGTH
entry and the (redundant) "Compiler Faker" statement were
revised to make DEVICE only seven characters long.
The message appears when SPIN.SPINTALO exists, i.e., only
on the second or later execution of ASUMTALO, but it had
no impact, other than setting the condition code.
-After years of seeing those spurious LENGTH OF CHARACTER
VARIABLE HAS ALREADY BEEN SET messages, when there was no
change in the length (before SAS fixed the message so it
now only prints when the lengths are different), this is
the first time that message actually uncovered an error!
Note: The message text suggests that putting the LENGTH
statement ahead of the SET statement will eliminate the
message; however, that is not acceptable because if the
LENGTH statement precedes the SET statement, then this
DATA step could inadvertently truncate the kept length
of a variable, but there would be no warning message.
Instead, MXG puts the LENGTH statement after the SET
statement so that any mismatch will be detected.
Thanks to Mike Allen, Pacific Corp., USA.
Change 23.200 Support for MegaCrytion's user SMF record creates:
EXMGCRCR dddddd dataset description
IMACMGCR MGCRCR MEGACRYP MEGACRYPTION START/END
TYPEMGCR The start and stop datetimestamps MGCRSTRT/MGCREND are
TYPSMGCR on the GMT clock, and there is no GMT Offset in the
VMACMGCR record that could safely be used to infer the zone,
VMXGINIT until the vendor adds the GMTOFFSET field to the record.
Aug 4, 2005
Thanks to John Rivera, i-structure, USA.
Change 23.199 Support for TPF Continuous Data Collection, TPFCDC, which
EXTPFC80 is a new data source for TPF and creates many datasets:
EXTPFC81 dddddd dataset description typetype
EXTPFC82 TPFC80 TPFC80 SYSTEM MESSAGES 80X
EXTPFC83 TPFC81 TPFC81 SYSTEM LISTS 81X
EXTPFC84 TPFC82 TPFC82 SYSTEM BLOCKS 82X
EXTPFC85 TPFC83 TPFC83 DASD/POOLS 83X
EXTPFC86 TPFC84 TPFC84 DASD DEVICES 84X
EXTPFC87 TPFC85 TPFC85 SYSTEM VFA 85X
EXTPFC88 TPFC86 TPFC86 SUBSYSTEM VFA 86X
EXTPFC89 TPFC87 TPFC87 MPIF 87X
EXTPFC8A TPFC88 TPFC88 TAPE 88X
EXTPFC8B TPFC89 TPFC89 TCP/IP 89X
EXTPFC8C TPFC8A TPFC8A I-STREAM 8AX
EXTPFC8D TPFC8B TPFC8B SUBYSTEM MESSAGES 8BX
EXTPFC8E TPFC8C TPFC8C SUBSYSTEM USER 8CX
EXTPFC8F TPFC8D TPFC8D LODIC 8DX
EXTPFC90 TPFC8E TPFC8E MQ SUMMARY 8EX
EXTPFC91 TPFC8F TPFC8F MQ QUEUE DETAIL 8FX
EXTPFC93 TPFC90 TPFC90 MQ CHANNEL DETAIL 90X
EXTPFC94 TPFC91 TPFC91 USER DATA 91X
IMACTPFC TPFC93 TPFC93 CDC RECORD 93X
TYPETPFC TPFC94 TPFC94 STATIC SYSTEM INFO 94X
TYPSTPFC TPFCDC "records" have a '93'x segment with total length
UTILTPFC the number of segments that follow in that record, and
VMACTPFC then those segments, which can have repeated entries,
VMXGINIT and each of which contains its own-length field, follow.
Aug 3, 2005 -MXG creates an observation in each of the above datasets
Aug 19, 2005 for each instance of each segment.
-But the TPF creation splits these logical records into
multiple physical "tape" records that are most definitely
NOT standard variable length records, and that cannot be
directly read. The first 4095 bytes of data start the
first physical record, but TPF adds a 16-byte trailer
segment, creating a 4111-data-byte (4115 LRECL) variable
length first-record. The remaining bytes of the logical
record start in the first byte of the second "tape"
record, which is padded with nulls thru data byte 4095,
and to which the TPF 16-byte trailer is added at the end.
-Because of this non-standard record format, you will have
to pass the TPFCDC data file twice: first, with the MXG's
UTILTPFC program, which will read those split records and
create a legitimate VBS record for each split record, and
then second, that output file is processed by TYPETPFC to
create the preceding 20 TPFCDC datasets.
Note: UTILTPFC is heuristic based on the sample data,
and it reads a pair of records for each event.
It will need revision if your TPF data length
causes more than two split records to be needed.
-Product Problems Reported to IBM:
1. Their complicated split process is not working; one
byte of data is lost from the segment that is split!
In my test data that was always the '87'x segment,
so MXG resets that segment's length, but that only
works if the '87' is the segment across the split.
MXG will be revised when IBM corrects their error.
Oct 28 Update: IBM APAR PJ30503 corrects the one
byte loss error.
2. Two fields in the '90'x segment have blanks instead
of binary numeric values. Aug 19 update: IBM says
the two fields (TPFCBTSZ, TPFCSZLB) do not apply when
the MQ Channel Type is SERVER (TPFCCTYP='V'); MXG now
sets those two variables missing when TPFCCTYP='V'.
-Product exposure:
Several character fields have field lengths that can be
changed by the TPF installation; MXG code expects these
lengths for those fields; other lengths cause errors:
Length Field Name Length MXG Variable
CDC_SS_NAME_LEN 4 TPFCSSNA,TPFCSS
CDC_SSU_NAME_LEN 4 TPFCSSUN,TPFCSSU
MQ_Q_MGR_NAME_LENGTH 48 TPFCQMGR
MQ_Q_NAME_LENGTH 48 TPFCQNAM
MQ_Q_CHANNEL_NAME_LENGTH 20 TPFCCHAN
Thanks to Luis R. Vega-Zayas, IBM TPF, USA.
Change 23.198 Support for existing NT objects with fewer data fields
VMACNTSM (DATABASE with NRDATA=133, MSEXCHANGEIS MAILBOX with 49,
Aug 4, 2005 DATABASE==>INSTANCES with NRDATA=92, and MSEXCHANGE IS
with NRDATA=110) than MXG code expected. Those objects
records were deleted prior to this change.
Thanks to Paul Billick, Harleysville Insurance, USA.
Change 23.197 The hardcoded "SPIN" DD in PROC COPY IN=SPIN OUT=&PDBMXG
BUILD005 in BUILD005/BUIL3005 was changed to &SPINOUT so the new
BUIL3005 SPIN datasets will be backed up from the correct DD.
Aug 4, 2005 If the &SPINOUT was different than "SPIN", you could get
a VARIABLE NOT FOUND error when SPUNJOBS executed.
Thanks to Ken Williams, CPT Global, ENGLAND.
Thanks to Mark Williams, Marks and Spencer, ENGLAND.
Change 23.196 -Support for CA SAR/VIEW R11,they INCOMPATIBLY CHANGED the
FORMATS SMF records, increasing these variables to $EBDCID32:
VMACSARR SV20DIST,SV21DIST,SV30RID,SV30VID,SV31RID,SV31VID,
Aug 3, 2005 SV31DIST,SV31BNDL,SV32RID,SV33RID,SV34RID
and by increasing SV33LTM to PIB4. The test for SARR
Version got messy; SMFVPRL is now '11.0' but it used to
be '2.0 ', so instead of IF SMFVPRL GE '11.0' THEN....,
each test was more complicated:
IF INPUT(SCAN(SMFVPRL,1,'.'),5.) GE 11 THEN ....
-Format MGSARTY new value '10:DOC VIEW WEB' for Interface
Type was added.
Thanks to Mark Schrager, Metropolitan Life, USA.
Change 23.195 Line fifteen had an end comment but no start comment,
GRAFTALO which caused the %MACRO statement to never be read.
Aug 3, 2005
Thanks to Ep van der Es, Dow Chemicals, THE NETHERLANDS.
Change 23.194 -Missing value messages for DB2RDWTM when testing IMACEXCL
UTILEXCL built by UTILEXCL found DB2RDYTM had been misspelled as
Aug 2, 2005 DB2RDWTM, which does not exist. Value of DB2RDYTM was
incorrect by a factor of 16 due to that typo.
-Calculation of SEGLEFT for optional segments was only
correct for the first segment; fortunately, it appears
to have had no impact; using SEGSTRT instead of LOC in
each calculation corrects the exposure.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 23.193 Support for TNG AIX new object CA PROCESS GROUP (PID)
EXTAI025 creates new MXG AI025 dataset. New variables are added
FORMATS to datasets AI018 (CA KERNEL GROUP), AI020 (CA NETWORK
VMACTNG GROUP), and AI016, (CA INTERFACE GROUP).
VMXGINIT
Aug 2, 2005
Thanks to Dale Gilbert, AhYum, USA.
Change 23.192 Variable NDMUID in dataset NDMRJ (Run Job) was truncated
VMACNDM to 8 bytes, instead of being input as $EBCDIC64., because
Jul 30, 2005 the test for that input did not contain 'RJ'.
Aug 10, 2005 -Aug 10: additional variables are now read in from 'RJ'.
Thanks to Tom Neurauter, Fidelity Systems, USA.
Change 23.191 Cosmetic. Invocation of VMXGSUM had "ANALCACH" instead
ASUMCACH of "ASUMCACH" for the printed message text.
Jul 30, 2005
Thanks to Chuck Hopf, MBNA, USA.
Change 23.190 Comments only. IMACICDA is not used if IMACEXCL controls
IMACICDA the input for a CICS APPLID/REGION. When IMACEXCL is
Jul 27, 2005 used, it controls the INPUTing of the optional CICS data
segments. Only when there is no IMACEXCL, or IMACEXCL
does not protect an APPLID, does IMACICDA control the
order of the optional CICS data segments MXG expects.
Thanks to Normad Poitras, IBM Global Services, CANADA.
Change 23.189 The example should have had //DAY DD instead of //PDB DD,
PDBCPYDY to copy from the "TODAY" PDB library just created by the
ACHAP35 BUILDPDB program, into the day-of-week PDB library. I use
Jul 21, 2005 //PDB in the "build", but //DAY thereafter to refer to
the "today" PDB library.
Thanks to Jeff Harder, Farm Bureau Insurance, USA.
Change 23.188 Variable R744QFLG should have been defined LENGTH $1, but
VMAC74 ended up as CHAR 34 because it's formatted $MG074QF which
Jul 20, 2005 set the kept length as the longest text in that format.
This variable was not caught by Change 23.170 because it
does NOT appear in an INPUT statement, which was expected
in our original QA analysis program, but that report has
been revised to catch any other similar syntax issues.
Thanks to Travis Hicks, IBM GS (Telstra Account), AUSTRALIA.
Change 23.187 Support for APAR OA10346 adds the LPAR's User Partition
VMAC7072 Identifier (UPID, the value you specified on your HMC
Jul 20, 2005 Customize Image Profile) to RMF 70 PR/SM section for each
LPAR, as variable SMF70UPI in TYPE70PR dataset.
As was reported in MXG Newsletter 46, APAR II13668 said
that after z990s, LPARNUM (SMF70LPN) was no longer a
static identifier, but instead is now a system generated
number of the alphabetical location of the LPAR name, and
the LPARNUM of an LPAR changes when you add/delete LPARs.
But now, IBM has accepted Edward Williams suggestion and
added the new SMF70UPI variable to TYPE70PR dataset.
MXG code
If you want to use SMF70UPI in your reporting, please
send me some SMF 70 records (see member SENDDATA) after
you have the APAR installed, so we can decide how to
add SMF70UPI to the ASUM70PR and ASUM70LP datasets, and
so I can validate those changes.
Thanks to Edward Williams, BMC, USA.
Change 23.186 Support for new CPUTYPE '2094'x for the z9 processors;
VMAC7072 this is an INCOMPATIBLE change: without this change, your
VMXGRMFI TYPE70PR dataset will contain extra observations for
Jul 20, 2005 nonexistent LCPUADDR, and incorrect data values.
Aug 29, 2005 -The exposure in VMXGRMFI for RMFINTRV is minimal; the
CPUTYPE test is used only for OS/390 or very early z/OS
that did not have SMF70WLA or SMF70LAC populated, and it
is used only to create CECSUSEC, CPCNRCPU, CPCFNAME and
CPCMSU variable's values from table lookups.
-In VMAC7072 there are several CPUTYPE tests with impact:
It is used to set SMF70ONT missing when it is zero for
some cases, which affects counting of CPU engines, and
which is used to identify spare engines so they are not
output in PDB.TYPE70PR; without this change, extra and
spurious observations are created in PDB.TYPE70PR.
It is also used to populate SMF70CPA for OS/390 and
early z/OS before SMF70CPA was added to the SMF record.
Thanks to Patricia Hansen, ADP, USA.
Change 23.185 Roscoe creation of PDB.ROSCOE didn't work when UTILBLDP
VMACROSC was used to create the sysin stream to add ROSCOE to PDB.
Jul 19, 2005 Most "DIF" members invoke the _Sdddddd macro for that
dataset with accumulated data, but ROSCOE is unique and
is now revised, so that DIFFROSC is included when _SROSC
is invoked, and all of the datasets that are processed in
DIFFROSC no longer have their _Sdddddd sort macro invoked
in the revised _SROSC macro. And, the ROSCOE datasets
that are merged into PDB.ROSCOE are no longer kept.
Thanks to Jeff Harder, Farm Bureau Insurance, USA.
Change 23.184 Optional new %LET MXGABND=nnnn; enhancement can be used
VMXGINIT to make MXG fail with a USER ABEND nnnn, instead of just
VMAC110 printing error messages on the SAS log. This option is
VMXGRMFI whether or not you want the job to USER ABEND nnnn.
Jul 19, 2005
Oct 19, 2005 -To enable the new MXGABND enhancement, you would insert:
%LET MXGABND= 333;
as your first SYSIN statement, and if any of the below
errors occur, your MXG job will USER ABEND 333.
-The default value for MXGABND is 0000, for NO ABEND. You
must use a value between 0001 and 4095 for nnnn.
Actually, you can use a larger value for nnnn, but the
ABEND code you see will be MOD(ABEND,4096) so using
nnnn=4096 resulted in USER ABEND U0000,
nnnn=8000 resulted in USER ABEND U3904, and
nnnn=9999 resulted in USER ABEND U1807.
The option is only available for these specific errors:
-SMF type 110 CICS record processing (Jul 19, 2005):
***ERROR.TYPE110.CICS/ESA 3.1.0. EXCLUDED FIELDS HAVE
BEEN DETECTED. YOU MUST RUN UTILEXCL.
RECORD WAS DELETED. CICSTRAN DATA WAS LOST.
***ERROR.VMAC110 STRTTIME HAS MISSING VALUES and
***ERROR.VMAC110.ESA.2 INVALID TASKNR OR STRTTIME IN...
Those errors means that your CICS records have
changed or that you have excluded data and you must
run the UTILEXCL program to create IMACEXCL and to
tailor the IMACICxx's that you may also need to
EDIT to properly read the data. But, as the
message was only printed in the middle of the SAS
log of the daily job, which can be kilothousands of
lines of text, they requested a new option that
would let them choose to cause the MXG job to ABEND
for these CICS errors that delete data, in addition
to the error message (which will now be the last
thing printed on the log!!).
-RMFINTRV creation (Oct 19,2005):
***ERROR.RMFINTRV.CPUTM IS MISSING.
The CPUTM variable from TYPE72GO dataset is missing
which can be caused by incorrect tailoring in your
EXTY72GO exit member.
This change will be updated if other error messages are
added to this enhancement. See Change 39.180 for CCode.
Thanks to Mike Perry, Morgan Stanley, USA.
Thanks to Min-che Li, Morgan Stanley, USA.
Change 23.183 Support for APAR OA11036, which adds MACHTIME to SMF 89
VMAC89 and variables SMF89HOF and SMF89DTO values.
Jul 18, 2005
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 23.182 Test of LENCPUC GE 24 should have been GE 64 to input the
VMAC7072 SMF70HWM and SMF70HOF fields in support for APAR OA11375.
Jul 18, 2005
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 23.181 -DB2ACCTP, Package Data, was still wrong for new DB2 V8.1
VMACDB2 IFCID=239 record with LENQPAC=0 and more than one package
Jul 17, 2005 segment. The INPUTed LENQPAC at the beginning of each of
Aug 12, 2008 those segments does not include its own length, so a new
LENxxxx=LENxxxx+2; statement had to be added to each of
of the adjustment DO groups invoked when LENxxxx=0. The
text of Change 23.140 was revised to show new statement.
-For DB2 V7.1 and later, variables QBACxxxx and QTXAxxxx
are always missing in DB2ACCTP package data; those
variables only have values in the DB2ACCT dataset.
MXG logic for the IFCID=0003 record prior to V7.1 had
incorrectly input the QBAC and QTXA fields before the
loop across each of the OFFQPAC segments. Re-locating
the QPAC segment to be processed before the other
segments now correctly causes those sets of variables to
be always missing in DB2ACCTP.
Note: the text in this paragraph was completely wrong
prior to Aug, 2008, but the QBACxxxx,QTXAxxxx
variables have ALWAYS been missing values i
the DB2ACCTP dataset, in spite of that text,
now revised.
-It was noted that in the DB2 V8.1 DB2ACCTP IFCID=239 data
that QWACBSC and QWACESC are both missing, making it less
easy to match the DB2ACCTP back to it's DB2ACCT obs.
-Missing value calculation for QGBAXN eliminated, but that
variable is now always missing; instead, use QBGAEX.
Thanks to Victoria Lepack, Aetna, USA.
Change 23.180 DATETIME logic had incorrect word numbers for the SCAN of
VMACPRPR YYYY and SS, now corrected.
Jul 8, 2005
Thanks to Christa Neven, KBC Bankverzekieringsholding, BELGIUM.
Change 23.179 Variables VSRNBYTR and VSRNBYTW in dataset HSMVSRFU were
VMACHSM way too small, as their value in the record was in KB but
Jul 8, 2005 their label indicated bytes. They are now multiplied by
Jul 11, 2005 1024 to convert their value to bytes, and are formatted
with MGBYTES format to "print pretty". These variables
FSRBTTR FSRBTTW FSRDBYTR FSRDBYTW FSRTBYBK FSRTBYTR
FSRTBYTW DSRBYTR DSRBYTW
that contain bytes in both their values and labels are
now also formatted with MGBYTES for consistency.
However, these storage-value variables:
DSRNGBR ='GIGABYTES*READ'
DSRNGBW ='GIGABYTES*WRITTEN'
VSRTOTKB='TOTAL*CAPACITY*OF VOLUME (IN KB)'
are NOT converted to bytes, and are NOT formatted MGBYTES
because they agree with their labels, and changing their
internal value to bytes could impact existing reports.
Life is filled with compromises when you don't make the
correct first choice!
Thanks to Robert Chavez, Office Depot, Inc, USA.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.178 Variable PARTISHN was not labeled in dataset TYPE73, so
VMAC73 it was also unlabeled in dataset TYPE73OE.
Jul 8, 2005
Thanks to Chuck Hopf, MBNA, USA.
Change 23.177 ML-34 of ASMTAPEE and the HSC exit are production status!
ASMHSCEX Beta Tests with the new HSC exit uncovered some minor
VMACTMNT errors that are now corrected, but the exit works fine to
Jul 3, 2005 capture all HSC-controlled tape mounts, just like the IBM
Jul 11, 2005 Volume Mount Exit, previously implemented in ML-34, works
to capture all IBM-controlled tape mounts. Sampling is
no longer used to detect tape mounts, so none are missed.
As currently implemented, ASMHSCEX supports only a single
HSC or CSC, but now that we are aware that both products
and even multiple copies of HSC and/or CSC can exist, we
are investigating how to support those environments, and
will have a revised ASMHSCEX for those installations.
-Primary correction was in ASMHSCEX, which populated the
JOB file with the JCTJOBID value instead of JOB name.
-But because JCTJOBID=JOB, the MXG logic to create JESNR
from the JCTJOBID caused JESNR to be missing:
JOB=JCTJOBID is a valid condition for "early ASID" STCs
the don't have a "JESNR".
-And beta tests exposed MXG errors in VMACTMNT that caused
INITTIME and PROCSTEP to be missing/blank.
-With this Change, ML-34 is now ready for production use.
Thanks to Steve Martin, Fidelity Systems, USA.
====== Changes thru 23.176 were in MXG 23.06 dated Jun 29, 2005=========
Change 23.176 -Support for SMF 6 ESS GEPARMKY='04D'x with more than one
IMAC6ESS segment creates ESSMAIL3 and ESSMAIL4 variables. Caused
VMAC6 INPUT STATEMENT EXCEEDED error.
Jun 29, 2005 -Support for SMF 6 ESS GEPARMKY='04B'x creates ESSMFILE.
-Support for SMF 6 ESS GEPARMKY='04E'x creates ESSRPLY2.
Thanks to Engelbert Smets, Provinzial, GERMANY
Thanks to Cornelia Opel, Provinzial, GERMANY
Change 23.175 Support for SMF 22 Subtype 11 I/O Configuration Change
EXTY22UA creates new dataset:
IMAC22 dddddd Dataset Description
VMAC22 TY22UA TYPE22_A I/O Configuration Change
VMXGINIT
Jun 28, 2005
Thanks to Shane Dowling, DEWR, AUSTRALIA.
Change 23.174 Change 18.338 created the _Vdddddd macro definitions, but
VMACMVCI not all MXG code members have been revised to create that
Jun 27, 2005 token. This change creates _VMVCICS and _VMVCICF in the
VMACMVCI member.
Thanks to David Edge, Thomson BETA Systems, USA.
Change 23.173 Using TYPEHSM, datasets HSMWWFSR and HSMWWVSR were not
DIFFHSM sorted into the //PDB library, because TYPEHSM included
Jun 24, 2005 the DIFFHSM member, which had separate _Sdddddd sorts
for each dataset, but DIFFHSM had not been updated to add
sorts for those two datasets. Using TYPSHSM, those data
were sorted into the //PDB, because it invoked the _SHSM
product sort macro, which does list all HSM datasets.
The DIFFHSM member is revised to use the _SHSM member.
Normally, TYPExxxx members leave all of their datasets
in the //WORK file, while the TYPSxxxx members sort all
of the xxxx products datasets into the //PDB library.
But when there are accumulated data in the product, the
TYPExxxx member always will invoke the sort into //PDB
to de-accumulate that dataset, and HSM writes SMF data
with accumulated values, so both TYPEHSM and TYPSHSM
now produce identical results.
Thanks to Ian Arnett, TD Canada Trust, CANADA.
Thanks to Luc Audet, TD Canada Trust, CANADA
Change 23.172 -SAMS POOLS record was INCOMPATIBLY CHANGED in 002053V4 by
VMACSAMS increasing NRVOLS field from 4 to 6 bytes, causing all of
Jun 24, 2005 the variables to the right to have wrong values. With the
Jul 20, 2005 help of CA Technical Support to provide the DSECTS of the
Jul 30, 2005 SMF record, MXG code for POOLS was corrected and revised:
-The SAMS Version is used, rather than the circumvention
to test LRECL, to detect the longer NRVOLS field.
-Data in SAMSFBYX/TBYX/VBYX/LBYX were wrong because those
four fields are packed decimal, not binary values, and
MXG was using the incorrect informat for them.
-New in 002053V4 variables SAMSPALL & SAMSBALL are input.
-New in 002053V5 variables SAMSESA/ESB/ESC describe the
storage group in three lines of text.
-Support for 002053V6 was revised and valided Jul 30; the
V6 record's POOLS record was completely restructured.
-Variable SAMSJOBN was removed from the KEEP= and LABEL
statements, as there is no "JOB" name field in SAMS SMF.
Thanks to Abily Christelle, GICM, FRANCE.
Thanks to Patrick Notteghem, CA, FRANCE.
Change 23.171 -Variable LOCLINFO is INPUT $EBCDIC8, which works fine if
VMAC30 SMF30UID contains text or hex characters on z/OS, but if
Jun 24, 2005 executed on ASCII, that INPUT statement changes any hex
characters. The only solution for ASCII execution is to
create a second variable, LOCLINCH, INPUT as $CHAR8 and
FORMATed $HEX16. so any non-text characters in that field
are preserved, and available in the EXTY30Un exits.
-Missing value calculations when SMF30IST was missing were
eliminated; SMF30IST only exists in subtype 2, 3, and 6.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch, USA.
Change 23.170 Character Variables formatted with $MGdddxx formats that
VMAC102 were NOT in a LENGTH $1 statement were stored in LENGTH
VMAC110 of the maximum text in the $MGdddxx format values, which
VMAC74 wasted disk space. Now, all character variables with $MG
VMAC84 format names have been identified, and added to a LENGTH
VMAC85 statement if needed to reduce their stored length.
VMAC92 VMAC110: DS2TCBMD-DS9TCBMD DSaTCBMD SORSSLFL
VMACAIM6 VMAC74: R744QFLG
VMACBE91 VMAC84: JMFJSJSR
VMACBE97 VMAC85: R85ODT R85OVT R85TVT
VMACCIAO VMAC92: SMF92MFG SMF92UFG
VMACEDGR VMACAIM6: IOCTYPE
VMACFTP VMACBE91: BE91STP
VMACHIOM VMACBE97: B970OBT
VMACHURN VMACCIAO: CIAOETYP
VMACNSPY VMACEDGR: RDVRSTYP RRTYPE2 RSTYPE2
VMACOMDB VMACFTP: DVGSCOMP DVGSRPNT DVGSRTYP
VMACOMSM VMACHIOM: HIOOSTYP
VMACQACS VMACHURN: HU62UMOD HU62UTYP
VMACSAR VMACNSPY: NSPYRTPS
VMACSARX VMACOMDB: QMDAPTYP QPACAAFG QWHSRMID
VMACSPMS VMACOMSM: OMDEVMDL
VMACSYSV VMACQACS: ETLPRCL JBSTYP SCPRCL SHPRCL STPRCL
VMACTIE VMACSAR: SARPMDX
Jun 20, 2005 VMACSARX: GCRPMDX
Jul 21, 2005 VMACSPMS: SPMSRLS
VMACSYSV: TRANTYPE
VMACTIE: TIELOG
Thanks to Freddie Arie, Merrill Consultants, USA.
Change 23.169 Support for additional SMF 99 Subtype 2 data segments.
EXTY99Q2 -These variables added to TYPE99_2 dataset:
EXTY99R2 PCADP ='CURR*ACHIEAVABLE*DEMAND*PCT'
EXTY99S2 PESCS ='ASIDS*EXPLICIT*STORAGE*CRITICAL'
EXTY99V2 PGRIN ='GROUP*NAME'
FORMATS PIFAD ='IFA*DELAY*SAMPLES'
IMAC99 PIFAU ='IFA*USING*SAMPLES'
VMAC99 PIFLAG ='FLAGS'
VMXGINIT PSAMHST ='SAMPLE*HISTORY*ROWS*USED'
Jun 22, 2005 PSBCPUD ='SAMPLE*BASED*CPU*DELAYS'
PSBCPUU ='SAMPLE*BASED*CPU*USINGS'
PSBIOD ='SAMPLE*BASED*I/O*DELAYS'
PSBNIOD ='SYSPLEX*WIDE*NON I/O*DELAYS'
PSPMDP ='MINPCT*PROCTIME*DEMANDED'
PSWCPUU ='SYSPLEX*WIDE*CPU USING*SAMPS'
PSWCT ='SHORT*WAIT COUNT*ACCUMULATE'
PSWIDLE ='SYSPLEX*WIDE*WIDE IDLE*SAMPS'
PSWNONI ='SYSPLEX*WIDE*NON-IDLE*SAMPS*
PSWOTHR ='SYSPLEX*WIDE*OTHER*SAMPS'
SMF99SCI='SERVICE*CLASS*INDEX'
-New datasets are created from subtype 2 segments:
dddddd Dataset Description
TY99R2 TYPE99R2 99-2-Q REMOTE QUEUE DATA
TY99Q2 TYPE99Q2 99-2-Q QUEUE SERVER DATA
TY99S2 TYPE99S2 99-2-S SERVER SAMPLE DATA
TY99V2 TYPE99V2 99-2-V SERVER DATA
Thanks to Chuck Hopf, MBNA, USA.
Change 23.168 Cosmetic. Blanks in SMF6TARG (IP Address) are removed.
VMAC6
Jun 21, 2005
Thanks to Thomas Peiper, Tietoenator, SWEDEN.
Change 23.167 The Installation Data field, INSTDATA, was inconsistently
VMACRACF input as $200 with +55, or $40 with +215, and variables
Jun 21, 2005 OMVSHOME, OMVSPROG, USRDATA, and APPLDATA did not input
their full $255 byte field. The $200 was the SAS V6
limit for character variables, but I've been reluctant to
change those inputs to $255, because that would cause an
avoidable ABEND with V6, and besides, is there really
anything in those last 55 bytes that is needed? However,
since this RACF Unload utility code didn't exist when SAS
V6 was The Thing for MXG years ago, I've chosen to
increase all these variables to input and be stored as
$255, and hope no V6 sites try to use this support! Some
MXG members are already documented as requiring SAS V8
(like records with UCS data, for example), but the few
sites that I know are still on V6 are not their by their
own choice, so I'll try to protect the really important
SMF records, until a real need arises.
Thanks to Len Rugen, State of Missouri, USA.
Change 23.166 -Fields were added to CMRFILE, probably Version 5.6, but
VMACMVCI there is no length-of-file-segment field in the CMRDETL
Jun 21, 2005 record, so the new fields were overlooked, causing trash
values in the second and subsequent file segments in each
CMRDETL record with more than one file segment.
New variables are created and kept in CMRFILE dataset:
T6EF1='RNU*COUNT' T6EF2='RPU*COUNT'
T6EF3='RWD*COUNT' T6EF4='REDSET*COUNT'
T6EF5='RDUSET*COUNT' T6EF6='RNXSET*COUNT'
T6EF7='RPVSET*COUNT' T6EF8='RNUSET*COUNT'
T6EF9='RPUSET*COUNT' T6ET1='RNU*TIME'
T6ET2='RPU*TIME' T6ET3='RWD*TIME'
T6ET4='REDSET*TIME' T6ET5='RDUSET*TIME'
T6ET6='RNXSET*TIME' T6ET7='RPVSET*TIME'
T6ET8='RNUSET*TIME' T6ET9='RPUSET*TIME'
T6ETA='READ*TIME' T6ETB='RDU*TIME'
T6ETD='WRT*TIME' T6ETE='RWT*TIME'
T6ETG='DEL*TIME' T6ETH='UNK*TIME'
T6ETJ='SBR*TIME' T6ETK='RNX*TIME'
T6ETL='RPV*TIME' T6ETM='EBR*TIME'
T6ETO='RBR*TIME' T6ETP='OTH*TIME'
T6ETQ='FCTOT*COUNT' T6ETR='FCTOT*TIME'
T6ETS='FCWAIT*COUNT' T6ESR='SRECS*COUNT'
-T6EV1,T6EV2,T6EV3 are protected for hex zeros for Volume
Serial Numbers; T6EV3 contains hex values in byte 4 that
are changed to blanks by MXG.
-Variable TFILI was kept as $27, because it was assigned
the $MGMVICT format without also being set to the $1
length in a LENGTH statement. Variables that are assigned
an MXG-built character format will have the length of the
longest value statement, if their length is not fixed in
a LENGTH statement; this was overlooked, but we'll add a
new report to detect any other cases of wasted space.
-Variable SYSTEM was always blank; it was only populated
in Version 5.3 records, but now it is populated from the
T6ESMFID SMF TYPE field.
-These variables are now set to blank if they contained
hex zeros:
T6EBMSN T6ECMP53 T6EOPID T6EPSBN T6ERPTCL T6ETMID
T6EAUTH T6ECORR
-However, when T6EBMSN starts with "CSMI" in EBDCIC4., the
last four bytes are non-printable ('1C796A00'x) which may
be trash left over, or may be actual "data" for the BMS
Map Name. I've chosen to detect these and store only the
"CSMI " back in T6EBMSN, and have stored the last four
hex bytes in new variable T6ECSMI until we have an answer
from the vendor as to why that field has mixed EBCDIC and
HEX when it starts with the mirror transaction name CSMI.
Thanks to David Edge, Thomson BETA Systems, USA.
Change 23.165 New MGFMTVR identifies which MXG Version's FORMATS member
FORMATS was used to create the format library pointed to by the
Jun 21, 2005 //LIBRARY (or LIBRARY LIBREF). Using this program
DATA _NULL_; FMTVERS=.; PUT FMTVERS MGFMTVR. ;
will print, on the SAS Log:
MEMBER FORMATS FROM MXG 23.05 CREATED YOUR MXG FORMATS.
Thanks to Ron Alterman, Pacific Gas and Electric, USA.
Change 23.164 Additions in WAS Version 6.01, support for PQ96114 and
FORMATS MXG errors are corrected:
VMAC120 -MQ Series variable SM120CSO has new values of 5 and 6:
Jun 21, 2005 now decoded by the MG120CO format:
5:HTTP SESSION and
6:HTTP ENCRYPTED SESSION
-MQ Series variable SM120JB3 has overlooked values 4,5 and
a new value of 6 now decoded by MG1203B format:
4='4:BMP ENTITY BEAN'
5='5:CMP ENTITY BEAN'
6='6:MESSAGE DRIVEN BEAN'
-Variables SM120JHF and SM120JHT are now correctly input
as &PIB.8 instead of &PIB.4. JHF was always zero, and
JHT contained the value of JHF when they were wrong.
Thanks to Martyn Jones, Euroclear, BELGIUM.
Thanks to Phil Downes, Euroclear, BELGIUM.
Change 23.163 INVALID ARGUMENT FOR INPUT FUNCTION because SyncSort has
VMACSYNC a new and unexpected value of 'SMS' for ths UCB Address.
Jun 18, 2005 'SMS' is now tested to circumvent the error message.
Thanks to Jim Dammeyer, State Farm Insurance, USA.
Change 23.162 ML-34 of MXG Tape Mount Monitor provides ASMHSCEX member
ASMHSCEX that you assemble to create an HSC SLSUX01 user exit that
ASMTAPEE your HSC guru then installs in HSC, so that all of the
Jun 15, 2005 HSC-controlled mounts (STK VTS or STK Silos) will be
Jun 22, 2005 captured by exit (event-driven), instead of by sampling.
(Sampling, even at .5 seconds missed a lot of the very
fast VTS mounts; using an exit captures 100% of them.)
The STKX option tells MXGTMNT to use the HSC exit, like
the MXIT option in ML-31 used the IBM Volume Mount Exit;
the difference is that you have to install the HSC exit,
while IBM's exit was already there! With MXIT and STKX
enabled, all mounts to real drives, all IBM VTS mounts,
and (finally!) all HSC-controlled mounts are captured!
The SLSUX01 exit, created by assembly of the ASMHSCEX,
itself can be used in one of two ways, depending on your
site's current use of the STK HSC exit, and you control
which way via the SYSPARM input during assembly. If your
site does not currently use the STK HSC exit, SYSPARM(N),
which is the default, results in just the MXG replacement
exit code being assembled. But if your site does use the
HSC exit, specifying SYSPARM(Y) at assembly of ASMHSCEX
will cause MXG code to include your existing exit code
during the link edit step that creates the exit module.
Then, when MXG's exit is subsequently defined to HSC, our
exit will invoke your exit as if we weren't there, then
we'll do our thing to collect the necessary data and pass
that to the TMNT address space. This is well documented
in the ASMHSCEX comments, but please let us know if the
instructions need clarification or improvement.
You can assemble ASMTAPEE member to create the MXGTMNT
program load module before you assemble ASMHSCEX to
create the MXG SLSUX01 HSC exit, or vice versa; there is
no forced order for installation, and enablement of
MXGTMNT can occur in any order.
The implementation of the MXG HSC Exit is quite robust:
- it is essentially a NOP if it detects MXGTMNT is not
enabled or is not running, or, conversely,
- if MXGTMNT is enabled, but the exit is not there, the
environment exists to support the exit, but nothing
will happen until the exit is running.
We believe HSC 5.1 and HSC 6.0 versions are supported,
based on STK documentation; it might also work with 5.0,
but we don't have enought information from STK to confirm
if that is true, and, besides, 5.0 is archaic!
You can only specify STKX=YES at assembly or start-up of
the monitor; you cannot start the monitor and then use
a command to turn on STKX later; that might be added in
the future, but it would have delayed delivery of this
release.
We have Alpha tested this code as thoroughly as we can,
and we have NEVER caused a system outage with any ML of
the monitor, but since we don't have a Silo or VTS on our
test system, we ask that you ONLY test ML-34 on an HSC
test system that can afford to be "crashed", before you
use it on an real system. When we have more feedback
from Beta test sites, this text will be revised to
confirm successful tests at real sites.
a. Jun 22 update:
-First test of the HSC Exit did not succeed but it did no
harm: on the first mount after initializing the monitor
and exit, the user exit ABENDed with S978, and then it
disabled itself; tape mount processing then proceeded as
usual without the exit. asmguy@mxg.com examined the dump
and the listing of the assembly of the HSC exit and
corrected a "dumb mistake, bad branch" error in ASMHSCEX,
now dated Jun 22, 2005.
-An IBM-only site raised three question,:
1. Why do I get STKX=NO in the monitor output while I
have 'OPTIONS2 DC AL1(DOARCV+DOMXIT+DOSTKX) in the
assembler code:
asmguy answer ==>
Because I forgot to add code to change the STKX=NO to
STKX=YES if the code is modified to turn this on
instead of using input parms. This is a tough one for
me to remember since it's counter to the way I think
and I always use parms when I test so I don't catch
these things. Anyway, I'll correct it.
2. What does 'MXGC003I MXG STK MOUNT EXIT MONITORING
ENABLED' mean?
asmguy answer ==>
This is a message that indicates the environment
necessary to support the STK exit has been enabled in
MXGTMNT as a result of STKX=YES.
3. Do I need XMem at all?
Barry's answer ==>
XMEM is still needed to get the job-related fields in
the TYPETALO allocation records, at least for now, as
they are independent of the mount records. But I plan
to examine if I need to revise ASUMTAPE to use the new
exit-driven mount records to populate TYPETALO info,
once we've got the monitor working and I've got some
SMF data from a site with both IBM and HSC mounts.
b. Jun 24 update:
-For HSC, you may need to create exit SCSUX01 instead or
in addition to the SLSUX01 exit, depending on the HSC
interface your site uses. SCSUX01 is required if CSC is
used for remote access to the robot and VSMs, which may
be all that's available on your test system. SLSUX01 is
used for local access. Changing all SLSUX01 to SCSUX01
in ASMHSCEX and reassembling worked just fine, but we can
create a new SYSPARM option for ASMHSCEX that will create
both HSC and CSC exits in the same member.
c. Jun 28 update:
No errors have been reported by two sites successfully
using ML-34 and the new HSC exit. I'm awaiting test data
to update the ASUMTAPE program, but that won't happen
until late July, after some vacation time.
Thanks to "asmguy@mxg.com".
Thanks to Paul Naddeo, FiServ, USA.
Thanks to Jeff Holst, FiServ, USA.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 23.161 Comments said PDB.TYPE73OE dataset would be created, but
ANALFIOE the code created WORK.TYPE73OE; this change creates the
Jun 15, 2005 old style MACRO _LANFIOE PDB.TYPE73OE % so the default
dataset will be PDB.TYPE73OE, but also so that you could
change the DD or Dataset name using MACKEEP/IMACKEEP.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.160 New variables added to T102S106 dataset:
VMAC102 QWO4ADM2='OFF*SYSTEM*ADMIN ID2'
Jun 14, 2005 QWO4DFID='OFF*SYSTEM*DEFAULT*USER ID.'
QWO4OPR1='OFF*MVS*OPERATOR ID'
QWO4OPR2='OFF*MVS*OPERATOR ID2'
QWO4OZUS='OFF*ONLINE*ZPARM*USERID*MONITOR'
QWO4REGA='OFF*DDL REG*ART NAME'
QWO4REGC='OFF*DDL REG*TABLE OWNER'
QWO4REGO='OFF*DDL REG*ORT NAME'
QWO4SADM='OFF*INSTALL*SYSADMIN*USERID'
QWP4CONT='CONTRACT*CT*LONG*STORAGE*POOL?'
QWP4CRVW='DBA CAN*CREATE*VIEW-ALIAS*FOR OTHERS?'
QWP4DCFS='SMS*DATACLASS*FILE(DATA)*TABLESPACE'
QWP4DCIX='SMS*DATACLASS*INDEX*TABLESPACE'
QWP4DSMX='MAXIMUM*NUMBER OF*DATASETS'
QWP4EDBC='EDM*POOL*DBD*CACHE SIZE'
QWP4ESTC='EDM*POOL*STATEMENT*CACHE SIZE'
QWP4HINT='OPTIMIZATION*HINTS*ALLOWED?'
QWP4INTE='RTS*STATISTICS*TIMER*INTERVAL'
QWP4LEM ='MAXIMUM*NUMBER OF*LE TOKENS'
QWP4LRTH='UNCOMITD*READ*WARNING*THRESHOLD*(MINS)'
QWP4MDEG='MAX DEGREE*OF PARALLELISM'
QWP4MDSC='MIN SCALE*FOR DECIMAL*DIVISION*RESULT'
QWP4MNTY='MAINTAINED*TABLE*TYPE*BITMAP'
QWP4MXNC='MAX*CURSORS*OPEN PER*THREAD'
QWP4MXSP='MAX*ACTIVE*STORED PROCS*PER THREAD'
QWP4NPAG='NPAGES*THRESHOLD*FOR OPTIMIZER'
QWP4OJEH='OUTER*JOIN*PERFORMANCE*ENHANCEMENT?'
QWP4OZCI='ONLINE*ZPARM*CORRID*MONITOR'
QWP4OZTM='ONLINE*ZPARM*TIME*CHANGED'
QWP4OZTP='ONLINE*ZPARM*TYPE'
QWP4OZUS='ONLINE*ZPARM*USERID*MONITOR'
QWP4PDIX='PAD INDEXES BY DEFAULT?'
QWP4PKYU='ALLOW*UPDATE*PARTITIONING*KEY?'
QWP4RAC ='ROUTINE*AUTHORIZATION*CACHE SIZE'
QWP4RFSH='REFRESH*AGE'
QWP4SJRT='STAR*JOIN*RATIO'
QWP4SJTB='STAR*JOIN*THRESHOLD*(#TBLS/QB)'
QWP4SJXP='MAX SIZE*MEMORY POOL*FOR STARJOIN'
QWP4VDTY='DEVICE*TYPE FOR*TEMPORARY*DATA SETS'
QWP4WAIT='RETAINED*LOCK*TIMEOUT*MULTIPLIER'
QWP4EDMX='EDM POOL MAX DATA SPACE SIZE'
QWP4EDDS='EDM POOL DATA SPACE SIZE'
Thanks to Ron Alterman, Pacific Gas and Electric, USA.
Change 23.159 Yet another INPUT STATEMENT EXCEEDED RECORD for PSF SMF 6
VMAC6 record with SMF6LN6=24 (See Changes 23.091, 22.309).
Jun 13, 2005 The logic for SUBS=7 and SMF6LN6=24 was revised based on
the current SMF manual so that when SMF6LN6=24, there is
no longer an attempt to input SMF6PRTQ name, since there
cannot be roome for a name field when SMF6LN6=24.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 23.158 MXG RMF-like reports printed whole numbers for AVG RESP
ANALRMFR TIME and AVG IOSQ TIME but IBM reports now print one
Jun 13, 2005 decimal place, so MXG format was changed to match.
Thanks to Bob Anders, McMaster-Carr Supply Co., USA.
Change 23.157 SMF file might not have been found, depending on use of
BLDSMPDB SMFIN= argument, and whether FILENAME SMF existed. The
Jun 10, 2005 &SMF was changed to FILENAME SMF "&SMFIN"; to correct.
Thanks to Joe Key, BOC Gasses, ENGLAND
Thanks to Alex DaSilva, BOC Gasses, ENGLAND
Change 23.156 ASUMUOWT had incorrect syntax for _LMONTSK definition.
ASUMUOWT Two periods are required.
Jun 9, 2005
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 23.155 -First 23.05 only; incorrect syntax for default options in
ASMTAPEE "OPTIONS DC" statement, with a comma instead of plus.
Jun 9, 2005 -One site with ASM option CASE as their default had to use
ASM option COMPAT(NOCASE) because ASMTAPEE contains both
upper and lower case text, for readability.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Thanks to Shirley Fhng, Hong Kong Shanghai Bank, Hong Kong.
====== Changes thru 23.154 were in MXG 23.05 dated Jun 7, 2005=========
Change 23.154 First 23.05 only. Line 3138 extended into column 3138.
ASMTAPEE Comments clarified.
Jun 7, 2005
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 23.153 -Utility to read SMF to count IDs and Subtypes did not
VMXGGETM count ID=102 correctly, when run on ASCII platform; those
Jun 7, 2005 PIB4. and PIB2. should have been &PIB.4. and &PIB.2. so
that the code was transparently portable across all SAS
platforms. With PIB4. on ASCII, extremely large values
were created, which caused the ID=102 sub-logic to never
be executed, so all ID=102 had SUBTYPE=0 on ASCII.
-The realization that I had not checked ALL MXG members to
be transparently portable cause me to search and find
these members with either PIB instead of &PIB., or with
$ instead of $CHAR or $EBCDIC; all are now corrected:
ANALCM27 ANALCM29 ANALIPAC ANALSNAP CHANGES EXIMRACF
IDMSJRNL IDMSLO57 IDMSLOG JCLCIMS JCLPDBXX MAKECODE
TYPECIMS TYPEIMSB TYPEMONX TYPESLRI UDB2GTF UDEBLOCK
USMFRATE USTKVOL UTILDBLK UTILGEVB UTILGEVM UTILSPAC
VAXPDS VMACCMFV VMACCOMP VMACMONI VMXGGETM XADALOG
XGTFANAL XIBMFDP XLOGREC XMACACHE XMACVMXP XPAII
XTYPEMVT XTYPEVS1
Fortunately, all are pretty obscure, non-mainstream code,
or someone would have certainly noticed the incorrect
data values if they were exected on ASCII platforms.
Thanks to Alfred Holtz, Medco Health Solutions, USA.
Change 23.152 First MXG 23.05 Only. Debug PUTs at lines 2147 and 2148:
VMACTPMX PUT _N_= COL= FLENGTH= VARNAME= TPMFIELD=
Jun 7, 2005 TOKENID= TOKFIELD= TOKFIELD= $HEX16.;
printed unneeded lines of text on the SAS log.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 23.151 MXG 23.03-First 23.05. Debug PUT statement at line 1425
VMACNDM PUT _N_= COL= NDMPNODE= NDMSNODE= ;
Jun 6, 2005 printed unneeded lines of text on the SAS log.
Thanks to Michael Creech, Fidelity Information Systems, USA.
Thanks to David Kaplan, DTCC, USA.
Change 23.150 First MXG 23.05 only. VARIABLE NOT FOUND ERROR due to
ASUMMIPS typo: BY RPPTCLAS ... should be BY RPRTCLAS ....
Jun 6, 2005
Thanks to Pat Curren, Supervalu Inc, USA.
Change 23.149 Cosmetic. Examples of defining start and end of SHIFTs
IMACSHFT was clarified to make it easier for neophytes to change
Jun 6, 2005 the values to define their installation's shifts.
====== Changes thru 23.148 were in MXG 23.05 dated Jun 5, 2005=========
Change 23.148 General cleanup and revision to QA job stream:
ANALVM -Uninitialized xxxIFE and xxxIFA in RMFINTRV corrected.
QASAS -Specific reference to VMPDB removed in ANALVM, test of
TESTANAL ANALVM removed from TESTANAL as it was tested in TESTVM.
TRNDNTIN -QASAS code revised to PROC DELETE all LIBREFs.
TRNDNTLD -LENGTH/FORMAT added to MAXTIME/MINTIME for PRINTER data
TRNDPRTR set built in TRNDPRTR.
VMXGRMFI -TRNDNTIN,TRNDNTLD revised to use only &Pdddddd, and
Jun 5, 2005 eliminated the confusing _L macro definitions.
Thanks to Freddie Arie, Merrill Consultants, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 23.147 The response time buckets for the PDB.CICS dataset that
ASUMCICS is built by ASUMCICX from PDB.ASUMUOW dataset (which is
ASUMCICT the recommended way to measure CICS response with MRO),
ASUMCICX (or for the PDB.CICS dataset that can be built by the
VMXGINIT not-recommended ASUMCICS/ASUMCICT members from CICS
Jun 3, 2005 transaction segments in datasets CICSTRAN/MONITASK)
are defined as macro variables but they could not be
overridden without tailoring the ASUM member. Now, the
macro variables are externally defined in VMXGINIT, and
can be overridden in your //SYSIN DD *, before your
%INCLUDED SOURCLIB(ASUMCICx); statement. The default
values remain unchanged:
%LET SUCIVAL1=1;
%LET SUCIVAL2=2;
%LET SUCIVAL3=3;
%LET SUCIVAL4=4;
%LET SUCIVAL5=5;
%LET SUCIVAL6=8;
%LET SUCIVAL7=10;
%LET SUCIINTV=HOUR;
Thanks to Frank Lund, EDB, NORWAY.
Change 23.146 Support for new subtype 70 "FTP Server Security Section"
FORMATS adds these variables to TYP11970 dataset.
VMAC119 FSPSCCPL='CONTROL*CORRECTION*PROTECTION*LEVEL'
Jun 1, 2005 FSPSCIPH='CIPHER*SPECIFICATION'
FSPSDCPL='DATA*CORRECTION*PROTECTION*LEVEL'
FSPSLGME='LOGIN*METHOD'
FSPSMECH='PROTECTION*MECHANISM'
FSPSPRBF='NEGOTIATED*PROTECTION*BUFFER*SIZE'
FSPSPROT='PROTOCOL*LEVEL'
and new formats were created to decode four of them.
Thanks to Randy Shumate, LexisNexis, USA.
Change 23.145 The sample RMF III report had typos; ASISUPR should have
ZRBRPT3 been spelled ASISUCPR, and ASISCDOP should be ASISCDQP.
Jun 1, 2005
Thanks to Mike Obrien, Bank of America, USA.
Change 23.144 The "expanded length" format values introduced for TNG in
FORMATS Change 23.113 were most definitely non-trivial to code.
May 31, 2005 Initially, PROC FORMAT on ASCII SAS V9.1.3 ran without an
error, but values were not-found if a spanned-line had a
blank in column 72; those lines were then shifted right
so column 72 was non-blank, and values were then found.
But on z/OS V8.2, the new code failed to execute, with an
error 22-322 which underlined the equal sign on a line
that had 72 characters. Meanwhile, the new code executed
without error on z/OS 9.1.3, AND all values were found,
even for the spanned-text lines!
Noting that the V8.2 execution errors were on lines that
were exactly 72 positions, the code was revised to delete
a blank on the left of the '=' where possible, or the
line was split at the equal sign, and now the PROC FORMAT
executed without the 22-322 error on V8.2 on z/OS.
But now, values were not-found for spanned-text lines on
z/OS V8.2, while they were found on z/OS V9.1.3! This
problem had been opened with SAS Technical Support, and
their tests suggested that OPTIONS S2 might be involved,
as they could replicate the error when OPTIONS S2=71 was
used. Our real breakthrough was to compare execution on
z/OS V8.2 using %INCLUDE, versus copying the code into
the //SYSIN DD * and submitting the code; the instream
test had no errors AND properly found all values, while
the %INCLUDE-built format had values not-found!
More tests proved that the PROC FORMAT execution on z/OS
requires S2=72, while PROC FORMAT under ASCII requires
S2=0, so the end result is that member FORMATS now tests
its execution platform and sets S2=72 for PROC FORMAT on
EBDCIC, but sets OPTION S2=0 when executed on ASCII.
For z/OS, MXG's CONFIGV8 member has always had S2-72,
but two of the test sites were using SAS default S2=0,
which was known only in hindsight! MXG's CONFIGV9 for
z/OS has S2=0 (as extensively discussed in CHANGES; see
"Major Enhancements in MXG 22.08" and Newsletter 45),
but the AUTOEXEC for ASCII execution does not specify
either S= nor S2= option, so the S2=0 option on ASCII
accounts for my early tests not failing in execution.
This problem is still open at SAS, to understand what
is the righteous way to code formats that have values
that won't fit on one line, but the revised FORMATS
member now appears to work on all platforms with the
internal setting of S2 above.
Change 23.143 IMPLEX subtype 4 record's IMPLEXRT dataset did not have
VMACMPLX all of the possible variables kept, and the deaccumulate
May 31, 2005 logic was incomplete, causing zero observations in the
PDB.IMPLEXRT dataset; groups of the new variables will be
missing, as they are only input for specific values of
the EXMFRTYP variable. Some of the MXG tests for other
DIF()'d variables that were missing the "LT 0" for their
final test are now corrected.
Thanks to David Bixler, FISERV, USA.
Change 23.142 Support for Oce's Prisma Print log file creates these
EXPR1000 forty-five new datasets:
EXPR1010
EXPR1011 DDDDDD MXG MXG
EXPR1012 DATASET DATASET DATASET
EXPR1020 SUFFIX NAME LABEL
EXPR1030
EXPR1031 PR1000 PRPR1000 PR1000:INPUT FILTER
EXPR1032 *PR1010 PRPR1010 PR1010:PRINT JOB MANAGER JOB
EXPR1040 *PR1011 PRPR1011 PR1011:PRINT JOB MANAGER FILE
EXPR1041 *PR1012 PRPR1012 PR1012:ODS
EXPR1042 *PR1020 PRPR1020 PR1020:UI-MANAGER
EXPR1043 *PR1030 PRPR1030 PR1030:SPOOL PARAMETER READ
EXPR1110 *PR1031 PRPR1031 PR1031:JOB FINISHED OR DELETED
EXPR1120 *PR1032 PRPR1032 PR1032:USER DATA
EXPR1130 *PR1040 PRPR1040 PR1040:SNIPDS BACKEND
EXPR1140 *PR1041 PRPR1041 PR1041:BINS USED
EXPR1200 *PR1042 PRPR1042 PR1042:INPUT BIN USED
EXPR1201 *PR1043 PRPR1043 PR1043:OUTPUT BIN USED
EXPR1202 *PR1110 PRPR1110 PR1110:HOST DOWNLOADED
EXPR1400 PR1120 PRPR1120 PR1120:LP TRANSMISSION
EXPR1410 PR1130 PRPR1130 PR1130:HOT DIRECTORY PRINT JOB
EXPR1411 PR1140 PRPR1140 PR1140:LU 6.2 PRINT JOB
EXPR1412 PR1200 PRPR1200 PR1200:XFILTER LCDS REPORT INFO
EXPR1413 PR1201 PRPR1201 PR1201:XFILTER LCDS ADDITIONAL
EXPR1420 PR1202 PRPR1202 PR1202:XFILTER LCDS MORE ADDITI
EXPR1421 PR1400 PRPR1400 PR1400:B1 START SUBSYSTEM
EXPR1422 PR1410 PRPR1410 PR1410:E1 VOLUME HANDLING
EXPR1423 PR1411 PRPR1411 PR1411:F5 HDR1 HANDLING
EXPR1424 PR1412 PRPR1412 PR1412:F6 HDR2 HANDLING
EXPR1425 PR1413 PRPR1413 PR1413:F7 HDR3 HANDLING
EXPR1426 PR1420 PRPR1420 PR1420:N5 PARAMETER SECTION 1
EXPR1430 PR1421 PRPR1421 PR1421:N6 PARAMETER SECTION 2
EXPR1451 PR1422 PRPR1422 PR1422:N7 PARAMETER SECTION 3
EXPR1452 PR1423 PRPR1423 PR1423:P4 PARAMETER SECTION 4
EXPR1453 PR1424 PRPR1424 PR1424:P5 PARAMETER SECTION 5
EXPR1454 PR1425 PRPR1425 PR1425:P6 PARAMETER SECTION 6
EXPR1455 PR1426 PRPR1426 PR1426:P7 PARAMETER SECTION 7
EXPR1456 PR1430 PRPR1430 PR1430:PRINTING RUN
EXPR1457 PR1451 PRPR1451 PR1451:U1 USER SPECIFIC
EXPR1458 PR1452 PRPR1452 PR1452:U2 USER SPECIFIC
EXPR1459 PR1453 PRPR1453 PR1453:U3 USER SPECIFIC
EXPR1600 PR1454 PRPR1454 PR1454:U4 USER SPECIFIC
EXPR1601 PR1455 PRPR1455 PR1455:U5 USER SPECIFIC
EXPR1602 PR1456 PRPR1456 PR1456:U6 USER SPECIFIC
EXPR1603 PR1457 PRPR1457 PR1457:U7 USER SPECIFIC
FORMATS PR1458 PRPR1458 PR1458:U8 USER SPECIFIC
IMACPRPR PR1459 PRPR1459 PR1459:U9 USER SPECIFIC
TYPEPRPR PR1600 PRPR1600 PR1600:FTP BACKEND
TYPSPRPR *PR1601 PRPR1601 PR1601:FTP JOB FINISHED
VMACPRPR *PR1602 PRPR1602 PR1602:FTP TRANSMISSION PRINT FIN
VMXGINIT *PR1603 PRPR1603 PR1603:FTP TRANSMISSION GEN OCT
May 30, 2005 All of the datasets are created, but only those fifteen
asterisk-flagged datases have been decoded and validated
with test data records; all others have only one variable
kept. As there are multiple records for a single job, it
may be necessary to post-process these data to combine to
get job totals, so this is preliminary support.
Thanks to Krista Neven, KBC Bankverzekeringsholding, BELGIUM.
Change 23.141 Enhancement adds MIPFACTR= as a parameter to convert MSU
GRAFWRKX to MIPS, added graph of MIPS used, supported LPARSHAR as
May 30, 2005 a percentage to fix the LPAR percentages.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.140 DB2 Version 8.1 Support: More IBM INCOMPATIBLE changes.
VMACDB2 Errors INVALID DATA FOR QLACCPUR, QLACCPnt, causing
May 30, 2005 INVALID DATA FOR QLACCPUL, QLACCPUR, QLACDBAT messages.
Jul 17, 2005 Change 23.111 discovered that DB2 8.1 sets QPACLEN=zero
to indicate that the real QPACLEN is in the first 2 bytes
at OFFQPAC, but when a QLACLEN=0 segment caused errors,
I realized this "feature" apparently can apply to all DB2
segments, so VMACDB2 was revised to test each segment for
LENxxxx=0 and NRxxxx non-zero, with this inserted code
OFFxxxx=OFFxxxx
IF LENxxxx EQ 0 AND NRxxxx GT 0 THEN DO;
INPUT @OFFxxxx LENxxxx &PIB.2. @;
OFFxxxx=OFFxxxx+2;
LENxxxx=LENxxxx+2; <<= See Change 23.182
END;
to pick up the new LEN and modify the OFFSET.
-Note: The LENQLAC=0 SMF records did NOT produce that same
INVALID DATA message when those records were read by SAS
under Windows; instead, the misaligned RB8. fields were
input as very large negative numbers, but there was no
error message, and I had not used PROC MEANS to see that
that invalid values existed in the output dataset. This
is one of few real differences in executing MXG on ASCII
platforms; ASCII is more tolerant of bad data than z/OS!
-Change 23.181 updated this text and is required for V8.1.
Thanks to Ingvar Rosenberg, SEB, SWEDEN.
Thanks to Glenn Lundgren, SEB, SWEDEN.
Change 23.139 Support for CyberFusion user SMF record has been revised,
FORMATS now that DSECTS that match the data records have been
VMACCYFU received. All of the bit mapped fields are now decoded
May 29, 2005 by 43 new MGCYFxx formats, although there are a few cases
where the hex value is not described in the DSECT EQU's,
so some final tweaking will be required.
Thanks to Robin Murray, ManuLife, CANADA.
Change 23.138 Cosmetic. Labels for SMF88SC1/2/3 are clarified to read:
ADOC88 SMF88SC1='TYPE 1*COMPLETIONS'
VMAC88 SMF88SC2='TYPE 2*COMPLETIONS'
May 30, 2005 SMF88SC3='TYPE 3*COMPLETIONS'
and the explanation from the SMF manual Section 9.1.1.2
was added in the ADOC88 member for those three variables.
Thanks to Helmut Rose, COM Software, GERMANY.
Change 23.137 Support for CA SYSVIEW CICS XPFCMCR DSECT user SMF data
EXSYSVCI record creates these new datasets:
EXSYSVPC -Subtype 17: Documented in XPFCMRC, creates these data:
EXSYSVFC dataset dddddd description
EXSYSVTS SYSVCICS SYSVCI SYSVIEW CICS PERFORMANCE (CICSTRAN)
EXSYSVIN SYSVPROG SYSVPC SYSVIEW CICS PROGRAMS
IMACSYSV SYSVFILE SYSVFC SYSVIEW CICS FILES
TYPESYSV SYSVTEMP SYSVTS SYSVIEW CICS TEMP STORAGE
TYPSSYSV The SYSVCICS dataset is the same in structure as CICSTRAN
VMACSYSV and almost all of the variable names are also the same,
VMXGINIT although not all of the (newer) CICSTRAN fields exist in
May 29, 2005 the SYSVCICS dataset, and there are a few CICSTRAN vars
that are output instead in SYSVPROG,SYSVFILE or SYSVTEMP.
There are additional segments in the SYSVIEW subtype=17
record, but they were not populated in the test data, so
only the subtypes that could be validated were decoded in
this initial support. If data from the other segments is
really needed, updates will be made to this support.
-Subtype 23: Documented in XPFCSDCR, creates this data:
dataset dddddd description
SYSVINTV SYSVIN SYSVIEW SYSTEM DATA COLL INTERVAL
In a radical departure from previous MXG code, the names
of the variables in SYSVINTV are longer than 8-bytes. The
DSECT names are repeated inside structured names, and to
compact the names and avoid duplicates would have taken
more time that it was worth, at least for this first pass
as support for the SYSVIEW product, and especially for
this SYSVINT dataset, neither of which I expect will have
very much usage. I think long names, in general, are more
confusing than useful, so if it turns out that SYSVINTV
is of significant value, I'll revisit and compact the MXG
variable names.
- The DOCVER member will still only show the first eight
characters of the variable names, as that format is
limited so the format and label fit on one line. You
can always use a PROC CONTENTS to see the full name of
each variable in SYSINTV.
Thanks to James D. Lieser, United Health Group, USA.
Change 23.136 -Updates to BMC CMF "240" USER SMF record:
VMACCMF -New variables in CMF27C93 and CMF27CSC for 2105's:
May 26, 2005 C276RCRM='RECORD*CACHE*READ*MISSES'
C276LRED='LOC RCD*DMN/REC*CA*WRITES'
C2795AID='DEVICE ADAPTER ID'
C2795HDD='NO. OF HDD'S IN RAID RANK'
C2795HSS='HDD sector size'
C2795NVS='NVS space allocation'
C2795RFL='FLAGS BYTE, THUS:'
C2795RID='RAID RANK ID'
C2795RMR='record mode read requests'
C2795RRQ='RAID rank read requests'
C2795RRT='RAID RANK READ RESPONSE TIME'
C2795RSV='LOWER*INTERFACE*I/O*RESPONSE'
C2795RTY='RAID RANK TYPE, THUS:'
C2795SR ='RAID rank FB sectors read'
C2795SW ='RAID rank FB sectors written'
C2795TSP='TRACKS TRANSFERRED TO PPRC VO'
C2795WRQ='RAID rank write requests'
C2795WRT='RAID RANK WRITE RESPONSE TIME'
C2795XCW='XRC or CC contaminated writes'
C2795XSF='XRC or CC sidefile read requests'
C279XRSV='LOWER*INTERFACE*I/O*RESPONSE'
Thanks to John Kington, Convergys, USA.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 23.135 -Top Secret Version 5.2 and 5.3 are now supported, simply
VMAC80A by expanding the test for RACFVRSN to include 52x,53x.
May 26, 2005 -Top Secret creates its own user record with SMF80DTP=114,
but that record is really in SMF 80 format, so the user
SMF record can be processed with MXG TYPE80A code, using:
//SMF DD
//SYSIN DD *
%LET MACFILE= %QUOTE ( IF ID=231 THEN ID=80; ) ;
%INCLUDE SOURCLIB(TYPS80A);
to change the (example) ID=231 records back to ID=80 so
they are processed by TYPE80 code.
-The SMF80DTP=114 record is not yet decoded, so the above
code will only output the RACF header variables into the
TYPE80CM dataset; when documentation from CA is received,
the DTP=114 record will be decoded.
Thanks to Brent Turner, CitiGroup, USA.
Change 23.134 -RACF Extended TP2=301 with TOK80LN2=0 was not expected,
VMAC80A so it generated an error message on the SAS log stating
May 26, 2005 the record was deleted, but now, a valid TP2=301 segment
only TOK80FLG and TOKSUBSY='OMVS' is created, for NOOMVS
for RACFEVNT=13:ALTUSER record, although the record is
still does not agree with the IBM documentation:
MXG TOK80LN2 is byte 11 of the TP2=310 segment, which
is documented:
Byte 11: Length of subkeyword; 0 if byte 1 bit 1 is set
==> but byte 1 bit 1 is not set.
Byte 1 bit 4 "keyword has no subfield"
==> should be set, but it isn't.
-However, the documentation did allow the creation of two
new variables in datasets TYPE8009,8010,8012,8013:
KW301IGN='KEYWORD*IGNORED*INSUFFIENT*AUTHORITY?'
KW301DEL='SEGMENT*DELETED*VIA A*NOXXX*KEYWORD?'
so that you could detect the NOOMVS event.
Thanks to Erling Andersen, SMT, DENMARK.
Change 23.133 Support for Iway Software's IWAY (formerly EDA/SQL) SMF
EXIWAY1 record, creates these four datasets:
EXIWAY2 DDDDDD MXG MXG
EXIWAY4 DATASET DATASET DATASET
EXIWAY5 SUFFIX NAME LABEL
FORMATS
IMACIWAY IWAY1 IWAY01 IWAY SERVER START OF TASK
TYPEIWAY IWAY2 IWAY02 IWAY SERVER END TASK
TYPSIWAY IWAY4 IWAY04 IWAY SERVER BEGIN QUERY
VMACIWAY IWAY5 IWAY05 IWAY SERVER END QUERY
VMXGINIT
May 26, 2005
Thanks to Luis Mendoza, ABNAMRO, USA.
Change 23.132 Support for z/OS 1.7 (COMPATIBLE) and APAR OA10556.
VMAC1415 -TYPE70 dataset
VMAC7072 -New MACHTIME='MACHINE*TOD*DATETIME*STAMP' is created by
VMAC88 addition of new SMF70HOF='HYPERVISOR*DATETIME*OFFSET' to
VMAC94 SYNCTIME (SMF70IET + SMF70LGO). MACHTIME will be the
VMAC74 true GMT datetime value, independent of the IPL time and
May 21, 2005 site GMT offsets, and will be used by SCRT to know the
Oct 5, 2005 true time for IBM bills, since it is possible to IPL
Dec 12, 2005 with repeated/future/past datetimes, causing double
Oct 1, 2012 accounting for MSUs, etc. However, this value has not
yet been validated with SMF70LGO populated.
-SMF70HWM='CPC*PHYSICAL*MODEL*IDENTIFIER' is created, and
STFBIT04='SMF70MDL*MODEL*CAPACITY*ONLY?' flag, if true,
then SMF70MDL contains only the CPC MODEL CAPACITY, and
SMF70HWM has the CPC PHYSICAL MODEL IDENTIFIER.
-STFBIT03='SMF70LAC*NO LONGER*INCLUDES*CPU WAIT?'
-SMF70Q00='PERCENT*WHEN*IN READY*LE N CP-S' thru variable
SMF70Q12='PERCENT*WHEN*IN READY*LE N+12 CP-S' now track
the PCTRDYWT, but based on IN-READY greater than the
number of CP engines.
-TYPE70PR dataset:
-LPARCLND='CAPACITY*LIMIT*NOT*DEFINED' is now reserved.
so the new label (new in Sep 2012, MXG 30.07) reads
LPARCLND='RESERVED*FIELD*SINCE*Z/OS 1.7' and the value
is now a blank instead of either Y or N.
-Note that if LPARWTFD='Y' (WAIT TIME FIELD DEFINED?) is
true, then LPARCPUX (SMF70BND) contains the maximum
logical processors defined as shown at the HMC, starting
with z900 processors. The Active Logical Processors
have an online time SMF70ONT greater than zero, which is
how/why MXG now counts NRCPUS.
-TYPE70Y2 Crypto dataset, new variables:
R702NH2B='SHA-256*DATA*BYTES*HASH'
R702NH2C='SHA-256*CALLS*TO*HASH'
R702NH2I='SHA-256*PCMF INSTR*USED TO*HASH'
-TYPE74CA dataset, new variable:
R745DCCU='CONFIGURED*CONTROL*UNIT*TYPE'
-TYPE791/TYPE792: (Note added Dec 12, 2005):
-MXG used variable name suffix TIFE (Eligible CPU) but
the IBM field name is TIFC, and my choice caused some
confusion, so the IBM Field name of TIFC is now used.
-R791NFFI/R792NFFI normalization factor was added and
is used to normalize R791TIFA/R792TIFA times back to
CP seconds.
-TYPE88 dataset, new variables:
SMF88EAF='IXLOGR*STAGING*ASYNC BUFFER*FULL'
SMF88ERS='RESERVED*WRONG NAME' SMF88EDO in manual,
but that field name already exists. Investigating.
-TYPE94 dataset, new variables:
S9SDEMN1='SECURE*DATA*ERASE*MOUNTS*DC 1'
S9SDEMN2='SECURE*DATA*ERASE*MOUNTS*DC 2'
S94XLCSG='VTC 0*WRITE*PROTECT*MODE'
S94XLCSH='VTC 1*WRITE*PROTECT*MODE'
S94XLCSI='VTC 2*WRITE*PROTECT*MODE'
S94XLCSJ='VTC 3*WRITE*PROTECT*MODE'
S94XLCSK='VTC 4*WRITE*PROTECT*MODE'
S94XLCSL='VTC 5*WRITE*PROTECT*MODE'
S94XLCSM='VTC 6*WRITE*PROTECT*MODE'
S94XLCSN='VTC 7*WRITE*PROTECT*MODE'
-TYPE99U7 dataset Subtype 7 new variable
SM997SCS='SUB*CHANNEL*SET='
-TYPE99UA dataset Subtype 10 - need test data to decode
-TYPE1415 dataset, new flag variable ('Y',' '):
SMF14LGE='DSNTYPE*LARGE*FORMAT?'
Note that if SMF14LGE='Y', the value in variable TTRN
will contain 'TTTR', and if EXTNDSEQ='Y' the value in
TTRN will contain 'TTTT', the total number of tracks
used across all volumes.
Oct 5, 2005: Original Reserved Change Number replaced.
Change 23.131 Support for DB2 IFCID=313 creates T102S313 dataset, with
FORMATS dataset labeled 'CHECKPOING LONG RUNNING UR-S'.
VMAC102
May 24, 2005
Thanks to Christa Neven, KBC Bankverzekeringsholding, BELGIUM
Change 23.130 To update the ITRM data dictionary for MXG datasets, all
IMACACCT of my code and datasets created by that code are examined
IMACICD6 and numerous corrections were made as a result of that
IMACICMR process. Most are spelling errors, but many cause the
RMFINTRV variable to be not-kept, or incorrectly labeled, etc.
VMAC110 VMAC110: FILADDCN changed to FCADDCN in CICSRFDI keep.
VMAC30 DSxACT/TCT/TDE/TWT for DSH/DSI/DSJ/DSK FORMATed
VMAC6 DSGTOTMT/DS2/DS3/DS4 formatted.
VMAC7072 DSGTOTWL dual use, now DSGTOTWT kept in CICDS
VMAC80A instead of DSGTOTWL, DGTOTWT labeled.
VMACDB2 VMACICE: SRCEOD changed to SRCEOE in ICEBR8SN keep.
VMACICE IMACICD6: $EBCDUC8. changed to $EBCDIC8.
VMACTPMX IMACICMR: CMDDB2CT formatted TIME12.2.
VMACVMXA IMACACCT: IDMSCPTM formatted TIME12.2. (in comments).
May 24, 2005 VMAC80A: KW24ASTE,KW24KERB kept, labeled in TYPE8024.
CLAS26NM,RES25MEx,RES25TEx labeled in 25/26.
VMACTPMX: TPMUSERC,TPMXPLEX labeled.
VMAC30: SMF30MRD,SMF30MRI formatted TIME12.2
VMAC6: SMF6FTL, leading asterisk removed in label
VMAC7072: IFAWAITM, R723IFAT, R723IFCT formatted TIME12.2
MXGCIN, NRPHYCPS, R723NFFI labeled.
Also NRPHYCPS now labeled in ASUMCEC,ASUM70PR.
VMACDB2: QISESTMT kept in DB2STATS
RMFINTRV: PCTIFABY labeled.
VMACVMXA: APLSDTST labeled.
USAPLxxx temporary variables dropped in
VXAPLCMS/SLM/SLN/SLP/SLO datasets
PCT-prefixed VXAPLSLP/SLO and TICKS labeled.
MRHDRRC labeled
BYTOA and BYFRA are MGBYTES formatted, LENGTH 8
and BFFRA was removed from LENGTH 8.
Stray text in label of PT4ID corrected.
IFINOCWR/IFOUOCWR are kept, logic corrected.
New variables in VXAPLSRV labeled, kept.
Temp variable OLDTODON is dropped from VXBYUSR.
Thanks to Chris Weston, SAS ITRM Development Cary, USA.
Change 23.129 Cosmetic. Label for IPMIGR2 should have been SECONDARY
VMACIPAC as IMIGR1 is 'PRIMARY*MIGRATION*CLASS*NAME'.
May 23, 2005
Thanks to Tom Parquette, AXA Technology Services, USA.
Change 23.128 New z/VM 5.1 1.19 record was misdocumented by IBM, which
VMACVMXA caused ERROR* PROBABLE DATA LOSS DUE TO MONWRITE FAILURE.
May 23, 2005 Correct MRHDRLEN=368 was doc'd as 365, and two bytes at
offset 42 were not listed in the length column, but MXG
was also not guilt-free, as I had guessed wrong at where
those two undocumented bytes were located. Dataset
VXMTRQDC is now corrected.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 23.127 A semi-colon at the end of a %MACRO invocation caused a
VMXGFOR "180" syntax error, and now I know that it is NOT true
May 24, 2005 that every SAS statement ends with a semi-colon!
While MXG Change 20.327 removed all invocations of the
now-unneeded %VMXGFOR macro from all MXG PROC SORTs,
a site with an old PROC SORT DATA=A OUT=B %VMXGFOR; in
their report program failed with "FORCE" underlined.
%VMXGFOR was only needed because Version 5 of SAS did
not support the FORCE keyword; that macro generates
a blank for V5 and "FORCE" with V6 or later.
It turns out the culprit was the addition of the new
%VMXGVERS(23.05,VMXGFOR);
statement after the %MEND; statement in the VMXGFOR
member, added by Change 23.005. It also turns out that
it was that final semicolon after %VMXGVERS() that caused
the error, in this reply from SAS Technical Support:
"The problem is the semi-colons in the autocall source
files that follow the macro call. These semi-colons are
superfluous for the macro call, but not harmless when
contained in an autocall source file. When a macro call
is determined to be the first reference to an autocall
macro, the file containing the autocall macro definition
is processed until the end-of-file is reached and then
the macro is called. In this instance the macro
definition is read and processed. This consumes the
autocall source file up to and including the semi-colon
following the %MEND. Then the following macro call
(i.e., to %VMXGVERS) in the autocall source file is
processed. This consums the autocall source file up to
and including the right parenthesis, leaving the
semi-colon. The dangling semi-colon is then inserted
into the source stream (as model text) and then a call is
placed to the autocall macro that started the process.
This behavior is present in versions 6 thru version 9."
So, a final semi-colon has NEVER been needed after the
invocation of a %MACRO, and none of the examples in the
SAS Macro Manual (yes, we Read The Fine Manual!) show a
semi-colon after the invocation. For example, you can
use %ANALDB2R() and the report program executes!
Fortunately, it appears that only the %VMXGFOR member is
vulnerable, because it inserts text into a SAS statement.
All other VMXGxxxx members that have %VMXGVERS added are
"standalone" executions, and the extra semi-colon, even
though those members are autocalled, is superfluous.
But now I know what caused this strange error, and have
removed the trailing semicolon from the %VMXGVERS call
in the (still-archaic) VMXGFOR autocalled member.
Thanks to Matt Feeney, Defence Department, AUSTRALIA.
Change 23.126 -Dataset PDB.RMFMSUSE contains both Service and Reporting
ASUMMIPS Class obs, but variable RPRTCLAS was not kept, so you
May 18, 2005 couldn't identify which class the observation was for.
May 23, 2005 Now, RPRTCLAS is kept in PDB.RMFSUSE.
May 24, 2005 -Member IMACKEEP was not included, so you could not use
the MACKEEP= to tailor the ASUMMIPS execution. As an
example that you can now use:
//SYSIN DD *
%LET MACKEEP=
%QUOTE(
MACRO _RMFOUT RMFMSUSE %
MACRO _MIPSMSU
IF SYSTEM='TREX' THEN MIPSFACT=6.7;
ELSE MIPSFACT=5.7;
%
);
%INCLUDE SOURCLIB(ASUMMIPS);
_RMFMIPS;
_SMFMIPS
changes the output from PDB.RMFMSUSE to WORK.RMFMSUSE and
changes the MIPSFACT (MIPS per MSU) depending on SYSTEM.
-The default PROC PRINT for RMFMSUSE is now sorted by the
RPRTCLAS variable, so if you have both Reporting Class &
Service Class data, you will get separate reports. Since
they will overlap, having a single report was deceptive.
-The default PROC PRINT for SMFMSUSE did not use _SMFOUT,
causing an error if _SMFOUT was redefined.
Thanks to Dan Case, Mayo Foundation, USA.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 23.125 HSC V6 changed the STCLMU (subtype 4) SMF record, now STK
VMACSTC PTF L1H12EW documents the new record, but that PTF also
May 17, 2005 changes the record again, so records written with HSC V6
without the PTF will produce strange results in STCLMU.
-And, of course, no version flag is in the STK record, so
the (archaic) logic to test the Record Length is required
to determine if this is a valid pre-V6 record, a short
pre-V6 record (fixed by a prior PTF), an invalid HSC V6.0
prior to the PTF, or a valid HSC V6.0 record after PTF.
-And there are undocumented bytes in the record, as well,
between offsets 11 and 16 (decimal).
Thanks to Dean A. Ruhle, JC Penney Co., Inc, USA.
Thanks to Michael Gresham, JC Penney Co., Inc, USA.
Thanks to David M. Cole, STK, USA.
Change 23.124 -Duplicate SMF type 30 interval records caused duplicate
VMAC30 observations in PDB.SMFINTRV because the revisions in MXG
BUILD005 Change 22.320 removed the NODUP option from the SORT.
May 17, 2005 This change restores the NODUP option.
-The _BTY30UV macro in VMAC30 was revised so the first
five variables match the sort order used in BUILDPDB:
MACRO _BTY30UV READTIME JOB JESNR INITTIME INTBTIME
MULTIDD DESCENDING EXTRADD
just for consistency, even though the PDB.SMFINTRV that
can be created with TYPS30 (or with the _STY30UV macro
invocation) is NOT the same PDB.SMFINTRV dataset that is
created by BUILDPDB:
-The BUILDPDB-built PDB.SMFINTRV has consolidated all of
the "MULTIDD" observations into a single observation.
-The TYPS30/_STY30UV-built PDB.SMFINTRV still contains
all of the additional and confusing "MULTIDD" obs.
Thanks to Joan Nielsen, (i)Structure, USA.
Change 23.123 Variables CPUIFATM and CPUIFETM (total) are added to the
VMXGRMFI PDB.RMFINTRV dataset, and individual workload variables
May 17, 2005 (like BATIFA, BATIFE, etc) with IFA/IFE CPU times added.
Oct 19, 2005: See Change 23.265; 23.123 was incomplete.
Thanks to Andre Baltimore, Unigroup, Inc, USA.
Change 23.122 Datasets PDB.TYPE70LP and PDB.ASUMTAPE were not in the
WEEKBLD default WEEKBLD member, but as they are created in the
WEEKBLDD JCLPDBx daily job examples, they are now added to the
WEEKBLDT weekly example job.
May 17, 2005
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.
Change 23.121 ERROR: BY VARIABLES NOT SORTED ON DATASET WORK.BOTHCEC is
VMXG70PR corrected by an insertion of a PROC SORT to ensure the
May 16, 2005 order is correct; values for SHIFT were the culprit.
Thanks to Tony Curry, BMC, USA.
Change 23.120 Support for ESS GEPARMKY=004Dx creates ESSMAIL2 variable
IMAC6ESS in TYPE6 dataset when IMAC6ESS is enabled.
VMAC6
May 13, 2005
Thanks to Engelbert Smets, Provinzial, GERMANY.
Change 23.119 Change 23.025 was not tested with TRENDIN data, and the
UTILCONT semicolon after &PDBOUT..ASUMSIZE should not have been
May 13, 2005 there, since the macro code is still part of the SET.
Thanks to Jeffrey A. Harder, Farm Bureau Insurance, USA.
Change 23.118 Processing CICS Journal Records (SUBTYPE=0) didn't output
VMAC110 the last record. The test was changed to
May 12, 2005 IF LOC+GLRHLEN-1 LE LENGTH THEN GOTO JOUR5202;
Thanks to Helmut Roese, COM Software, USA.
Change 23.117 If you built your own program, and had _CDE40 before the
VMAC40 _CDE30 macro, you got ERROR 48-59 with the below two
May 12, 2005 notes:
WARNING: VARIABLE PROGRAM HAS ALREADY BEEN DEFINED AS NUMERIC
ERROR 48-59: THE INFORMAT EBCDIC WAS NOT FOUND OR COULD NOT BE LOADED
because MXG didn't fully protect the variable PROGRAM.
-Per the text of Change 20.243, PROGRAM was added to the
ARRAY statement for character variables in VMAC40 so that
the _CDE40 could be located prior to the _CDE30.
-This is really a bummer, as PROGRAM is not even input in
SMF 40 records, but the code in VMAC40 makes a call on
VMACEXC2, which has a PUT statement in case of an error
in the decoding EXCP segments, and when the PUT was the
first instance of variable PROGRAM, SAS made it numeric
which then spawned numerous other errors when it was
referenced as a character variable.
Thanks to Michael S. Noud, IRS, USA.
Change 23.116 Very bad values for some data fields in TYPE 74 subtype 5
VMAC74 records for HDS on their Tagmastore USP, like negative
May 12, 2005 values for SCTO (R745DTC). Under investigation with HDS.
Reporting site now has a microcode fix which is believed
to correct the error; no fix number at press time.
Change 23.115 The default OPTIONS and OPTIONS2 did not agree with the
ASMTAPEE documentation in Change 23.030, and the internal comments
May 11, 2005 about default options were inconsistent. The comments
May 29, 2005 were clarified, and the default options in OPTIONS and
OPTIONS2 are set as documented, for IBM VTS Systems.
As noted, if you have STC VTS, you must remove DOMXIT to
disable the IBM Volume Mount Exit, because we still have
not been able to find an equivalent Exit in STK's HSC,
but we're still working on that enhancement.
Updated: Jul, 2005. See Change 23.162/23.177/23.230.
-Line 3139 extended into column 72, making it look like a
continuation.
Thanks to Shane Dowling, DEWR, AUSTRALIA.
Change 23.114 DCOLLECT dataset DCOLCLUS, VSAM Dataset Info, was not
DAILYDSN used in the original "Daily Dataset Billing" (JCLDAYDS),
May 11, 2005 but has been added so that it will be there if needed.
Thanks to Chairat Tiajanpan, KCS, Thailand.
Change 23.113 -Zero obs with a Solaris cube. The _UTNGCNT array sizer
ADOCTNG only worked for NT data, so the INSTREAM code was not
EXTNT128 generated due to a missing OUTPUT statement, and the new
EXTNT129 MIB-2 UNKNOWN object was processed last, causing 0 obs.
EXTNT130 New So028 dataset supports the MIB-2 object and new field
EXTSO028 added to existing So027 dataset is now supported.
FORMATS -Cubes with data from multiple days had only last day's
IMACTNG data output. Two tests that previously read
TYPETNG IF NRPAREN GT 1 AND NRSYSTMS GT 1 THEN DO;
VMACTNG appear to be the culprit, and by commenting out to be
VMXGINIT IF NRPAREN GT 1 /* AND NRSYSTMS GT 1 */ THEN DO;
May 10, 2005 data from all days was output. That heuristic was needed
May 23, 2005 early on in TNG support, but I think subsequent redesign
May 28, 2005 eliminated the need for that part of the test to invoke
outputting, BUT PLEASE VALIDATE THAT YOU GET DATA FROM
ALL OF THE SYSTEMS, AND ALL OF THE DAYS IN YOUR INPUT!!
-New NT platform names of NTP500I and WNS502I were added
to the MACRO _NTPLAT to eliminate UNKNOWN PLATFORM msgs.
-Support for new Objects for NT: RAS PORT, MICROSOFT
GATHERER, and MICROSOFT SEARCH.
-May 28: $MGTNGVN Format was completely revised, as two
Solaris metrics were identical in first forty characters:
'Interface Traffic (Lifetime) Collisions %'
'Interface Traffic (Lifetime) Collisions'
causing INSTANCES EXCEEDED error messages when tested.
That %MGTNGVN format, used to lookup the concatenation of
Platform abbreviation, Object Name, and Metric Name, had
only allowed 40 positions for metric name. To eliminate
future duplicate exposures, all TNG cubes were read to
find the maximum metric name of 58 chars, so the format
was expanded to allow 64 char metric names, but with the
2-char platform abbreviation and the 20-character object
name, the "expanded length format" now had DEFAULT=86 in
its VALUE statement. But with only 72 positions of MXG
input text, some of the value definitions had to be split
into two lines, a nasty but necessary implementation.
But then the fun began. Read Change 23.144 for solution.
Since more than 40 bytes of METRIC name are now being
looked-up in the format, data for all past test cubes
was read to find all metrics longer than 40 bytes, and
those 55's format data-values were revised so they would
be found in the new format; the longest was 58 bytes.
But if I missed one, it will show up as an observation
in the UNKNOWN dataset, so please check your SAS log to
make sure I found them all.
Thanks to Michael L. Kynch, International Paper, USA.
Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.
Change 23.112 Change 23.070 reset STARTIME for 58,59, and 01 seconds,
VSETZERO but that didn't protect delays beyond 1 second; new data
May 9, 2005 shows that 70 and 72 records with seconds 02 are created;
in fact, the SMFTIME of the 72 subtype 4 was 4.5 seconds
after the interval pop, and that subtype 4 had 00 seconds
for its STARTIME! So the test in VSETZERO is now revised
to set seconds 58 thru 05 back to seconds 00. The main
impact without this change was that the PDB.ASUMCEC had
had two observations, one with 01 seconds, one with 02
seconds as their STARTIME.
Thanks to Diane Eppestine, SBC, USA.
Change 23.111 Support for DB2 V8.1 DB2ACCTP Package Data now validated.
VMACDB2 Change 23.098 guessed wrong, but IBM didn't help; in the
VMACDB2H new IFCID=239 structure, the LENQPAC is zero! But, in
May 9, 2005 a very weak defense of their redesign, there is a very
obscure note that says it is now "legal" to have a DB2
data segment with Length=zero, and it now means: read the
first two bytes at the offset, and use that as the length
of the data segment! So with a hex dump of one of the
new records, the code is now corrected and DB2ACCTP will
be valid for DB2 V8.1 or earlier versions as well.
-There was also an extraneous PUT QWHSRELN= in VMACDB2H
added by Change 23.098, only for DB2 V8.1, but lots of
messages would have been printed, if you had DB2 V8.1,
since it put that message for EVERY SMF 100/101 record!
It was removed by this change.
-Note that this change is required for DB2 V8.1 if there
are ANY package segments in your DB2 records; prior notes
that earlier versions of MXG support DB2 V8.1 are wrong.
Thanks to Steve Olmstead, Thomson, USA.
Change 23.110 Cosmetic. Variable ESMFFAVG was listed in the KEEP list
TYPEVM but was a misspelling and was removed; variables ESMFIAVG
May 5, 2005 and ESMFOAVG are now FORMATed TIME12.2.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch.
Change 23.109 Support for VM:Account product, which reversed the order
TYPEVM of dates from MMDDYY to YYMMDD and writes longer records.
May 5, 2005 This iteration does not support the additional data but
that support will be added in a later change.
Thanks to Richard J. Reents, Abbott Labs, USA.
Change 23.108 -Label was missing for variable PCTCPTBY in VMACQACS
VMACQACS PCTCPTBY='PERCENT WHEN*SYSTASK*CPU BUSY' and "8" in the
VMAC110 label for SYBTAC was changed to *.
VMACDB2 -VMAC110, new Stat variables prefixed DSH/DSI/DSJ/DSK
VMXGRMFI that are time values were not FORMATed TIME12.2;
May 5, 2005 DSxTOTMT variables were not formatted TIME12.2;
May 17, 2005 DSGTOTWT replaces DSGTOTWL in CICDS variable; TOTWL is
a suffix for CICDSPOO variables and had been reused.
-VMACDB2, new 8.1 variable QISESTMT was not kept.
-RMFINTRV, variable PCTIFABY labeled, ZOS70WLA removed.
Thanks to Chris Weston, SAS Institute ITRM Development, USA.
====== Changes thru 23.107 were in MXG 23.04 dated May 4, 2005=========
Change 23.107 Several macro definitions were incomplete or mislocated.
VMACVMXA -MACRO _SAPLSRV statement was missing; its code was
May 4, 2005 inside the MACRO _SAPLEDT definition.
May 16, 2005 -Invocations of _SAPLEDT and _SAPLSDT were missing in
the _DELTALL macro definition.
-The _SSYTSCG and _SSYTSYG macros had the DELTATM located
too late, and it was not set negative when missing to
protect the subsequent divides by DELTATM.
-There is no _SAPLAPL macro, but there's a _VAPLAPL macro
now created. The VMXA design preceded the _Vdddddd
macro definition (lists variables kept in the "dddddd"
token's dataset), and the old VMACVMXA uses _Vdddrrr
macros for domain/record groupings. _VAPLAPL wraps all
of the 25 Application Server _WAPLrrr datasets, each of
which has its own _Sdddddd macro, so that's why there
is on _SAPLAPL sort macro definition.
-A number of ommissions for new variables were fixed.
Thanks to Chris Weston, SAS Institute ITRM Development, USA.
Change 23.106 -Variable TIWRDCT should not have been kept in MONIIDS nor
VMACTMO2 should its second label exist; that name was used twice
May 3, 2005 but was caught in QA and the correct TIIDSWRC/TIIDSWRT,
May 5, 2005 fields were input and labelled, but I failed to clean up
this part of the original duplicate names.
-Label for PAJTDLYT and PAJTDLYC were reversed, and some
lables had blanks instead of '*' SPLIT characters.
Thanks to Chris Weston, SAS Institute ITRM Development, USA.
Change 23.105 TYPE73 variable SMF73CSS, Channel Subsystem ID was moved
VMAC73 to the end of the Channel Path Control Section, if bit 2
May 3, 2005 of SMF73CFL (Hardware allows multiple logical channel
subsystems) is enabled, by z/OS 1.5, but I missed that
relocation. SMF73CSS is now conditionally INPUT from the
new location when that bit is enabled.
Thanks to Joel Giacobbe, Federal Reserve Bank, USA.
Change 23.104 The ASUMTALO/ASUMTMNT summarization of tape drives and
ANALCNCR tape mounts is enhanced so that you can summarize by
ASUMTALO "groups" that you define, and ANALCNCR can now be used
ASUMTMNT to determine which jobs were active at the time of the
May 3, 2005 maximum tape drive allocation.
May 11, 2005 -For ASUMTALO, the default assumed all tape devices were
May 16, 2005 shared across all systems in the PDB.TYPETALO input data,
May 18, 2005 and were thus summarized by DEVICE.
-For ASUMTMNT, the default summarized all tape mounts BY
SYSTEM as the high level variable.
a. This change provides these local tailoring options:
-For ASUMTALO, you can define a "group" variable and then
create it based on SYSTEM, and that "group" variable
will then be used as the high-level summary variable in
the BY statements. For example, you can create a group
variable named LOCATION and populate that variable with
this example using the new old-style macros "instream":
//SYSIN DD *
%LET MACKEEP=
%QUOTE(
MACRO _GRPALNM LOCATION %
MACRO _GRPALCD
IF SYSTEM IN ('SYS1','SYS2') THEN LOCATION='DALLAS';
ELSE IF SYSTEM IN ('XYZ1','XYZ2') THEN LOCATION='NYC';
%
);
%INCLUDE SOURCLIB(ASUMTALO);
-The ASUMTALO data will then show tape device utilization
for each DEVICE type within each LOCATION.
-For ASUMTMNT, you can also define a "group" variable and
create it based on SYSTEM, and that "group" variable
will then be used as the high-level summary variable in
the BY statements. The two macro names are different, in
case you want to sum TMNT different than TALO, but the
structure is similar in this example:
//SYSIN DD *
%LET MACKEEP=
%QUOTE(
MACRO _GRPMNNM LOCATION %
MACRO _GRPMNCD
IF SYSTEM IN ('SYS1','SYS2') THEN LOCATION='DALLAS';
ELSE IF SYSTEM IN ('XYZ1','XYZ2') THEN LOCATION='NYC';
%
);
%INCLUDE SOURCLIB(ASUMTMNT);
-The ASUMTMNT data will then report tape mount statistics
for each SYSTEM within each LOCATION. If you want your
mount statistics to be summarized by each LOCATION (and
nor for each SYSTEM at each LOCATION, you would just add
SYSTEM=' ';
as the last statement in your _GRPMNNG definition.
-For your daily "BUILDPDB" job, which normally includes
both ASUMTALO and ASUMTMNT, you can put all four of those
macro definitions (_GRPALNM,_GRPALCD,_GRPMNNM,_GRPMNCD)
in a single %LET MACKEEP= for that job (or they could be
defined in the IMACKEEP member and then would apply to
any execution of their respective ASUM members).
b. Revision to find contributors to maximum value:
-ANALCNCR was enhanced so that you can print each of the
input events that caused the "maximum concurrent value".
When you specify %LET MXGDEBUG=ANALCNCR; prior to the
execution of ANALCNCR, then dataset WORK.MXGDEBUG will
be created with the first phase observations, and you can
then use this program to find the time of the peak value,
and then print the specific input events that created the
maximum. For example, ASUMTALO calculates maximum tape
drives allocated, so you would use:
%LET MXGDEBUG= ANALCNCR;
%INCLUDE SOURLCIB(ASUMTALO);
PROC SORT DATA=MXGDEBUG;
BY DESCENDING CONCURNT;
DATA _NULL_;
SET MXGDEBUG;
IF DEVICE=:'9840HSM';
PEAKTIME=PUT(TIMESTMP,DATETIME21.2);
CALL SYMPUT('PEAKTIME',PEAKTIME);
STOP;
RUN;
PROC PRINT DATA=PDB.TYPETALO;
WHERE DEVICE=: '9480HSM' AND
ALOCSTRT LE "&PEAKTIME"DT LE ALOCEND;
RUN;
to print which observations from the PDB.TYPETALO data
caused that maximum tape drive allocations.
For ANALCNCR with other input data, the test for the
"DEVICE" variable would need to be changed to use the
appropriate variable, the SET PDB.TYPETALO would need
to be changed to the input dataset, and the correct
start and end variables would need to be used in the
selection around "&PEAKTIME"DT test.
c. Additional chagnes:
-ANALCNCR was revised to re-locate the INCODE= operand;
this was required so that the "group" support, above,
could be implemented.
-A new TRACE= option for internal debugging was created
in ANALCNCR, unlikely to be needed outside development!
-An unrelated enhancement was also made to ASUMTMNT; the
definition of the mount time values for each of the mount
"buckets" was externalized, so they can also be changed
by redefining those macros with %LET MACKEEP=, as above.
Thanks to Andre D. Walker, Bank of America, USA.
Change 23.103 Documentation. Selecting ANALDB2R for an interval period
ANALDB2R (13:00 to 14:00), MXG's criteria selects any transaction
May 3, 2005 that started in that interval, or ended in that interval,
or started before and ended after that interval, so the
MXG report can easily show an "INTERVAL DURATION" that is
greater than the one hour you requested, but it includes
all transactions that spent any time in the requested
interval. IBM's DB2PM reports appear to only include the
transactions that started and ended within the requested
interval, so MXG can report more activity than DB2PM.
Thanks to Peter Farrell, Commerce Bank of Kansas City, USA.
Change 23.102 Cosmetic, but confusing! The label for PAGEINS/PAGEOUTS
VMAC30 is corrected to the TOTAL PAGE IN/OUT FROM AUX STORE, as
May 3, 2005 they count both blocked and unblocked pages moved.
Thanks to Melanie Hitchings, BT, ENGLAND.
Change 23.101 Support for APAR OA10901, new SMF30ZNF variable with the
VMAC30 zAAP CPU Normalization factor is added to the datasets
May 2, 2005 TYPE30_V/PDB.SMFINTRV, TYPE30_4 and TYPE30_5.
Change 23.100 ASG/Landmark TMON for CICS/TS V2.3 supports CICS/TS 3.1
VMACTMO2 with toleration PTFs for their product, but there are no
May 1, 2005 changes to their data dictionary, i.e., there were no
changes made in their records to add any new 3.1 fields.
Thanks to Roland Schiradin, Alte-Leipziger, GERMANY.
Change 23.099 Support for IMS Version 9.1 was already in MXG 22.22:
VMACIMS -IMS Monitors: BMC IMF, Candle ITRF, Landmark TIMS.
May 1, 2005 -MXG's "Supported" TYPEIMS7 to create IMS0708 dataset
-MXG's ASMIMSL6/JCLIMSL6 to create IMSTRAN dataset.
-There were no significant changes by IBM to any of the
IMS log records in IMS Version 9.1, compared with 8.1.
-The three IMS Monitors that are fully supported by MXG
(and are STRONGLY recommended - See Newsletter 25!!),
BMC's IMF, ASG/Landmark's TIMS, and IBM/Candle's ITRF
products all create their own data records:
-IMF writes two records to the IMS log file, 'F9'x, 'FA'x
but there were no changes made by IMF Version 4.1.00 for
IMS Version 9.1 to the IMF records. However, MXG 22.08
is required for IMF records for all IMS versions, due to
corrections in sequencing of CIMSTRAN in Change 22.199.
Also, Change 22.241 in MXG 22.10 added ASUMCIMS example
for summarization of CIMSTRAN/CIMSDBDS IMF datasets.
-TIMS writes data to its own file; the last update to
TYPETIMS code was in MXG Version 20.09.
-ITRF writes additional records to the IMS log, but then
an ITRF program combines their records with IBM records
to create their file that MXG TYPEITRF then processes;
the last TYPEITRF code change was in MXG Version 17.09.
-MXG's only "Officially Supported" IBM-IMS-log-record read
program is TYPEIMS7, which combines log records 07 and 08
to create the IMS0708 dataset (capturing only resources,
with no response time). Those records were not changed
by IBM in IMS V9.1, but MXG Change 22.199 (in MXG 22.08)
was a major revision to the TYPEIMS7 logic for all IMSs.
- You must update the _IMSVERS macro in IMACIMS to tell
MXG the IMS version you are processing, and you cannot
concatenate IMS logs from different versions, as IBM
does not put a version number in their log records!
-MXG's "pseudo-supported" IBM-IMS-log-record read programs
in the JCLIMSL6 jobstream required no changes to support
IMS Version 9.1, but you must re-assemble ASMIMSL6 with
the IBM IMS Macro Library for IMS Version 9.1 to create
the load module for V9.1 records, and you must run
separate JCLIMSLx jobs with different load libraries and
process each IMS version's data separately; you cannot
concatenate the IMS logs from two versions and read with
JCLIMSLx. MXG 20.03 contained the last changes to these
members, and thus there was no need to create L7, L8, or
L9 suffixed ASMIMSLx/JCLIMSLx members.
-For processing JCLIMSLx/ASMIMSLx on ASCII platforms, MXG
Version 22.06 is required due to Change 22.128.
-IBM did insert fields in the IMS log 31x record in V9.1,
and VMACIMS is updated by this change (in MXG 23.04) for
that insert, but the insert was after any "important" IMS
data, and could only be observed if you were looking at
the IMS31I or IMS31O datasets that are written to //WORK,
but are neither kept nor used by MXG programs.
Thanks to Roland Brugger, Credit Suisse, SWITZERLAND.
Change 23.098 DB2 Version 8 restructured Package Data, and added many
VMACDB2 new variables to DB2ACCTP dataset:
Apr 30, 2005 QTXACHG QTXACHUS QTXACLMT QTXACLNO QTXACLUN QTXADEA
QTXADRNO QTXADRUN QTXAFLG1 QTXAILMT QTXAIRLM QTXALES
QTXALEX QTXALOCK QTXANPL QTXANRUN QTXAPREC QTXAQRY
QTXARLID QTXASLAT QTXASLMT QTXASLOC QTXASOTH QTXATIM
QTXAUNLK
QBACGET QBACSWS QBACRIO QBACSEQ QBACIMW QBACLPF
QBACDPF QBACNGT QBACSIO
QPCALLCT QPCLOSET QPDELETT QPDESCCT QPFETCHT QPINSRTT
QPLOCKCT QPOPENCT QPPREPCT QPSELECT QPUPDTET
Originally, the first ten packages executed by a plan
were written as ten segments in the SMF 101 subtype 0
IFCID=0003 records, and if more than 10 packages were
executed, additional SMF 101 subtype 1 IFCID=239 records
were created. MXG creates an observation in the DB2ACCTP
dataset from each package segment, independent of whether
it was in the 0003 or the 239 IFCID record. But with
DB2 V8.1, package segments are no longer written in IFCID
0003 records; instead only the IFCID 0239 records will
contain package data, and there are three new DSECTS
added that are always present, one of each for each
package segment.
(QXPK, QBAC, and QTXA, and in that order; the DB2 MACRO
Library had inconsistent documentation that will be
corrected with a doc APAR)
MXG will transparently use either 0003 and 0239 or just
0239 segments to create the DB2ACCTP observations, and
those added new variables will exist, but will only be
populated (i.e., non-missing) from DB2 V81 records.
Thanks to Steven Olmstead, Thomson BETA Systems, USA.
Thanks to Ray Willoughby, Thomson BETA Systems, USA.
Thanks to John B. Tobler, IBM Silicon Valley Lab, USA.
Change 23.097 Variables CTCKPNTS MAXLOCKS TOTLOCKS were added to the
VMACCIMS KEEP list of both CIMSTRAN and CIMSPROG, but those three
Apr 29, 2005 variables are only INPUT from the CIMSTRAN records, so
they are now removed from CIMSPROG KEEP list.
Thanks to Christa Neven, KBC Bankverzekeringsholding, BELGIUM
Change 23.096 Change 22.203 protected decoding of JCTJOBID if it was
VGETJESN blank or hex zero, to prevent unnecessary log messages,
Apr 29, 2005 but that caused TYPETASK to be blank in TYPE30_6 data,
because the "Early Address Spaces" records that are
written as type 30 subtype 6 interval records now have
have blanks for JCTJOBID.
(Historically, these records had JOB name in JCTJOBID,
then JCTJOBID was hex zeros, but now JCTJOBID contains
blanks in current z/OS type 30 subtype 6 records).
But they have SUBSYS='STC', so the logic was revised to
sets TYPETASK='STC' (and JESNR=.) if JCTJOBID is blank or
hex zero, and SUBSYS='STC'.
(And if blank-TYPETASK-value-messages are printed now,
more code will be added to test and figure it out!)
Thanks to Michael Creech, Fidelity Information Services, Inc, USA.
Change 23.095 Variable PCTCFULL='PCT OF*CACHE*USED' was added to the
VMAC41 TYPE41VF dataset. Variable SMF41FND is clarified in the
Apr 29, 2005 ADOC41 as the number of objects found in cache in this
interval, which is NOT the total number of objects in the
cache (that number does not exist in SMF 41 records).
Thanks to Ulrich Krueger, National Semiconductor Corp., USA.
Change 23.094 The PROC DATASETS for HSMSTAT needed MT=ALL because that
ASUMHSM dataset is a VIEW, and the default MemType=DATA caused a
Apr 29, 2005 warning note.
Thanks to Chris Weston, SAS Institute ITRM Development, USA.
Change 23.093 SMF 74 subtype 8 INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC74 because I didn't have any test data to catch my typos!
Apr 28, 2005 The INPUT of R748RCNT was missing a period, variables
R748AASP/AAWD/AACP are now PIB1/2/4 instead of RB8, and
variables R748XRCP thru R748XTDY are PIB4. and not RB4.
Thanks to Miguel Francisco Monferrer Carvajal, EDS, SPAIN.
Change 23.092 MXG 23.03 only, and only for ITSV/ITRM. Two hardcoded
VMXG70PR references to "PDB." caused errors with ITSV/ITRM. The
Apr 28, 2005 macro variable "&PTY70PR.." replaced them to correct.
Thanks to Chris Weston, SAS Institute ITRM Development, USA.
Change 23.091 SMF 6 record INPUT STATEMENT EXCEEDED RECORD LENGTH with
VMAC6 a VPS record with the Printway File Transfer segment. The
Apr 28, 2005 Changes 22.309, 22.321 are revised, based on the z/OS 1.6
SMF Manual, which documents both the basic and extended
mode for records created by SUBSYS='TCP', but the values
in SMF6INDC in SUBSYS='VPS' records are 5 and 3 instead
of the 1 or 7 expected, so MXG logic is revised again to
provide special handling for VPS SMF 6 records that have
a file transfer segment. But in one SMF 6 record written
for SUBSYS='PSF', it's file transfer segment does not
agree with either the basic or extended mode TCP segments
or with the PSF segment documentation, so heuristic logic
is added to (hopefully) protect PSF records as well.
Thanks to Udo Frohling, Kommunales Rechenzentrum Niederrhein, GERMANY
Spent week in NYC at The Plaza during its last week as a real hotel, but
our real purpose was to attend the Jammy Awards ceremony at Madison
Square Garden, where our "godson", Keller Williams won one of only nine
Jammy's: Best Live Album, "Stage". See http://www.kellerwilliams.net.
====== Changes thru 23.090 were in MXG 23.03 dated Apr 22, 2005=========
Change 23.090 Executing MXG under ASCII platforms has some differences:
INSTALL -If you use the ftp access method to read your MVS data
IMACFILE directly, you won't have a copy of the SMF data on your
Apr 22, 2005 ASCII system; although most sites back up their SMF data
on MVS, it is possible to backup your SMF data on your
ASCII platform, as you are reading SMF with ftp access.
Writing a 13GB backup file added 20 minutes run time.
See the article "Can you run MXG on a PC' in NEWSLTRS.
Or, if you want to create an SMF file on your ASCII
system that contains selected SMF data, the below example
shows how you can use the "IMACFILE" exit to create an
SMF VBS file on your ASCII system.
-The _NULL_ data step creates macro variable, &DATETXT,
with the date and time as a text string, which is then
used to create the name of the "backup" SMF VBS file.
-The "instream" tailoring statement %LET MACFILE= adds
the code inside the %QUOTE() function (required because
there semi-colons in the code that would otherwise have
terminated the %LET statement) to the exit that is taken
after the SMF header has been read.
If you want to select SMF records, you would add an
IF ... THEN DO; statement after the %QUOTE( and would
add an END; statement before the ) that ends %QUOTE.
The SMF header variables ID SMFTIME SYSTEM and SUBTYPE
are available for selection, although some records with
subtypes don't put their subtype in the SMF header.
-Example to read SMF via FTP and create a local SMFBKUP
file of the input SMF records:
The example shows how to concatenate multiple SMF files:
//SYSIN DD *
DATA _NULL_;
DATE=TODAY();
TIME=TIME();
DATETXT='D'!!PUT(DATE,YYMMDD10.)!!'-'!!'T'!!
PUT(HOUR(TIME),Z2.)!!'-'!!
PUT(MINUTE(TIME),Z2.);
CALL SYMPUT('DATETXT',DATETXT);
RUN;
FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'" ... )
USER='XXXXXX' HOST='YYYYYYY'
S370VS RCMD='SITE RDW' LRECL=32760
PASS='XXXXXXXX';
FILENAME SMFBKUP "C:\MXG\SMFDATA\&DATETXT" ;
%LET MACFILE=
%QUOTE(
RDW=LENGTH+4;
BDW=RDW+4;
FILE SMFBKUP RECFM=N LRECL=32760;
PUT BDW &PIB.2. '0000'X RDW &PIB.2. '0000'X
_INFILE_ @;
);
RUN;
%INCLUDE SOURCLIB(BUILDPDB);
RUN;
The backup file name c:\mxg\smfdata\D2005-04-19-T04-20
contains the date and time of creation of the file. The
backup file is slightly larger than the input file
(325,498,825 versus 325,484,807, or +14,018 bytes)
because each VBS record creates a separate block. And,
the FILE with RECFM=N option does print the output file
name on the SAS log, there is not message that any data
was written. SAS Technical Support says that is because
RECFM=N doesn't write records that none are counted, but
a suggestion to provide byte count has been made, so that
you will know if the file was actually written to.
-Comments with this example were added to IMACFILE and to
member INSTALL, but no there was no change to MXG code.
-Example to read SMF via FTP and select a subset of SMF
records to be created on the ASCII platform;
The example shows how to concatenate multiple SMF files:
//SYSIN DD *
DATA _NULL_;
DATE=TODAY();
TIME=TIME();
DATETXT='D'!!PUT(DATE,YYMMDD10.)!!'-'!!'T'!!
PUT(HOUR(TIME),Z2.)!!'-'!!
PUT(MINUTE(TIME),Z2.);
CALL SYMPUT('DATETXT',DATETXT);
RUN;
FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'" ... )
USER='XXXXXX' HOST='YYYYYYY'
S370VS RCMD='SITE RDW' LRECL=32760
PASS='XXXXXXXX';
FILENAME SMFBKUP "C:\MXG\SMFDATA\&DATETXT" ;
%LET MACFILE=
%QUOTE(
IF ID IN (70,72);
RDW=LENGTH+4;
BDW=RDW+4;
FILE SMFBKUP RECFM=N LRECL=32760;
PUT BDW &PIB.2. '0000'X RDW &PIB.2. '0000'X
_INFILE_ @;
);
RUN;
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_;
_SMF;
RUN;
Thanks to Michael Gebbia, Eddie Bauer, USA.
Thanks to Glenn Bowman, Wakefern, USA.
Change 23.089 Variable DCVDVNUM, the Device Number, is retained from
VMACDCOL the DCOLVOLS record and kept in the DCOLDSET dataset;
Apr 21, 2005 this is possible because the DCOLLECT output is ordered
with the DCOLVOLS record before the DCOLDSETs on that
volume.
Thanks to Frank Lund, EDB IT Drift, NORWAY.
Change 23.088 -Variables EV40FLG1 EV40FLG2 and CATGNAME from RACFTYPE=40
EXTY8066 were incorrectly kept in TYPE8007 dataset and were not
IMAC80A kept in TYPE8008 dataset, now they are correct.
VMAC80A -Variables FROMRESN (13), VOLUME FVOLUME (14) and CLAS26NM
VMXGINIT (from RACFTYPE/DTP=26) are kept in TYPE8019.
Apr 23, 2005 -FROMVOLS in RACFTYPE=6 for RACFEVNT=8 is an 8-byte field,
Apr 27, 2005 but MXG only input 6 bytes, shifting SECLEVEL/SECLABEL.
May 12, 2005 Now, FROMVOLS is input as $EBCDIC8 and the "undocumented"
May 17, 2005 +2 bytes are removed from that INPUT statement.
May 29, 2005 -Variables KW09IG06 ande KW09SP06, UNIVERSAL, added to
May 30, 2005 dataset TYPE8009
-Variables SECLEVEL,SECLABEL,KW11SP28-29,KW11IG28-29
added to TYPE8011.
-Variables CLASSP02,04,05,06 added to TYPE8010,TYPE8013.
-Variable KW19CL07 added to TYPE8019.
-Variables KW19FC00-KW19FC07 replace 00-04, which were
incorrectly decoded.
-Variables KW24S102-S109 added, decoded from KW24RSV1.
-Variables KW25VI00-VI01 added, decoded from KW24OVIO.
-Variables KW59ST00-ST06 added, decoded from KW24STAT.
-Dataset TYPE8066 created for RACDCERT command; however,
only the standard RACF variables are output in this
iteration - time ran out for 23.02 QA, but this record
will be fully decoded in the next iteration.
-Variable LOGSTR change length to 200 from 64, but not
until May 12!
-Additional variables, thru KW24S132, KW24I117, KW24KERB
are decoded, May 17.
-ACEEUSER variable now kept in TYPE8024.
-Second (290) should have been (291).
-KW24SP46/KW24SP47/KW24IG46/KW24IG47 are corrected.
-KW11xx13 and later were incorrectly aligned with th4eir
bits and labels, and KW11xx28 and KW11xx29 should not
have been created for ALTDSD event.
-KW10ER00-KW10ER31 are now decoded and kept in both the
TYPE8010 and TYPE8013 datasets; all three of the sets
of bit maps KW10ERnn, KW10IGnn, and KW10SPnn are the same
for ADDUSER (10) and ALTUSER (13), except that some bits
that can be enabled for ADDUSER won't be for ALTUSER.
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Thanks to Andrew Davis, Euroclear, BELGIUM.
Thanks to Aimee Steel, Euroclear, BELGIUM.
Change 23.087 -If USERADD= contained two references (SYNC/208 SYNC/214)
UTILBLDP with different SMF IDs, UTILBLDP generated incorrect code
VMXGINIT but now it will use only the first reference.
BUILDPDB -EXPDBOUT=%INCLUDE SOURCLIB(ASUMPRTR); used in Example 7,
BUILDPD3 failed. Unfortunately, because of macro timing issues,
BUILD001 the only way UTILBLDP can create a %INCLUDE statement
BUIL3001 for EXPDBOUT= required a new macro variable, &BLDPOUT,
Apr 21, 2005 to be defined in VMXGINIT and inserted in the BUILxxxx
members where _EPDBOUT is invoked.
Thanks to Robert Chavez, OfficeDepot, USA.
Change 23.086 DB2STATS variable QDSTNQR2 should not have been DIF()'d.
VMACDB2 Variable QDSTQDBT should have been, and now is DIF()'d
Apr 21, 2005 as it contains accumulated values.
Thanks to Fred Nijdam, Rabobank, THE NETHERLANDS.
Change 23.085 Dataset ICEBRGCH old variables ENDTIME,STARTIME were not
VMACICE adjusted in VMXGTIME macros, old variable CHANSPED is now
Apr 19, 2005 converted to bytes and FORMATed MGBYTRT as it is channel
speed in Bytes per second, and new PCHANBY variable is
created. When ICEBERGs are shared across systems, you
must choose data from only one system, since each system
creates a replicated SMF record for each interval.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.084 The UTILEXCL utility now has "standard" MXG macro tokens
EXCICDIC _VCICDIC/_WCICDIC/_PCICDIC/etc instead of hard-coded name
IMACICD8 for the CICSDICT dataset.
UTILEXCL -Optional CANVRSN field is now supported in IMACICD8.
VMXGINIT
Apr 19, 2005
Thanks to Michael Oujesky, MBNA, USA.
Change 23.083 -Variable NRCPUD, the number of CPU segments in "this" MVS
VMAC7072 SMF 70 record is now kept in datasets TYPE70 and TYPE70PR
Apr 18, 2005 as it describes the maximum engines this system could use
perhaps as an upper bound on engines under IRD control.
-The IFAWAITM and IFAWAIT0-IFAWAITX IFA*WAIT*DURATION
variables have been reinstated in TYPE70 dataset, as it
turns out they are useful in IFA analysis.
Thanks to Art Cuneo, Health Care Service Corporation, USA.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 23.082 ***ERROR. QWHSLOCN CONTAINS UNICODE TEXT message printed
VMACDB2H with DB2 V8 record, so that I could see what IBM stored
Apr 18, 2005 in QWHSLOCN when QWHSFLAG='80'X. Now, with this first
instance of QWHSFLAG on, I can see that the text value
in QWHSLOCN is simple ASCII data, so MXG's INPUT of the
QWHSLOCN is now revised to INPUT either EBCDIC or ASCII
based on QWHSFLAG. The IBM documentation for QWHSFLAG in
the DSECT is "%U fields contain Unicode UTF-8)", which I
assumed meant that QWHSLOCN would contain UNICODE data
(i.e., 2-byte, DBCS text), but I've now googled UTF-8 and
find that UTF-8 is an ASCII-preserving encoding method,
so the INPUT with $ASCII16. is all that is needed!
With the ERROR message, the only error is that the value
in QWHSLOCN, Local Location Name, was trashed.
Thanks to Ian Arnette, Toronto Dominion Bank, CANADA.
Thanks to ??? , Toronto Dominion Bank, CANADA.
Change 23.081 Changes in WLM Service Policy can be tracked by TYPE9024,
VMAC90A now that the new policy name is input as SVPOLNSP from
Apr 17, 2005 the IWMVSPOL DSECT.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.080 Support for RMF III IFA data added by z/OS 1.6. New data
VMACRMFV was added to ZRBASI and ZRBENC datasets. No change was
Apr 17, 2005 required to the ASMRMFV program, which automatically sees
and writes out the longer records.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Thanks to Robert Vance, Zurich Insurance Company, USA.
Change 23.079 INVALID DATA FOR MM in NDM NDMRTYPE='SS' SMF record. MXG
VMACNDM input two bytes that should have been substringed from
Apr 14, 2005 NDMSID0, which also should have been INPUT as $CHAR8 and
formatted $HEX16 because it can have hex and character
data.
Thanks to Bernie Mazur, Bank of Montreal, CANADA.
Change 23.078 The path activity report is enhanced to report the CMR
ANALPATH (which can be significant for FICON channels) and the OTH
Apr 14, 2005 pend time in separate columns on the report.
Thanks to Tony P. Steward, CSC, ENGLAND.
Change 23.077 ***ERROR.TYPE110.SUBTYPE 2. CICS STAT RECORD STID=106.
VMAC110 MXG missed an 8-byte reserved field before PIWPGMNM, and
Apr 13, 2005 incorrectly only "skipped" 1160 bytes of the 1168 STILEN.
Apr 15, 2005 The last three variables, PIWPGMNM, PIWCONNM, PIWUSECT in
dataset CICPIW were wrong.
Thanks to Roland Schiradin, Alte-Leipziger, GERMANY.
Thanks to Lambros Theodorides, Alte-Leipziger, GERMANY.
Change 23.076 Invalid Package Data detected. The pseudo SMF 101 record
TYPSTHST created by BMC's DB2 THRDHIST file contain a standard
Apr 12, 2005 triplet for the first 10 packages, like an IBM IFCID 0003
record, but then, additional segments are written to the
end of the 32752 byte record. Unfortunately, there is
only room for 69/70 segments. Instead of writing a valid
IFCID 289 record with additional segments, THRDHIST puts
part of the next segment, as many bytes as fit, to fill
the records (splitting in the middle of a field!), and
then creates a new record, without header, with the rest
of that segment, followed by the remaining packages.
This is an invalid architecture, to split fields across
physical records. Until BMC redesigns its file, the best
MXG can do is to process those 69 or 70 segments that are
complete, and report with a message to the SAS log that
additional package segments existed but could not be
processed. (Prior to this change, MXG tested the triplet
to ensure MXG did not read beyond the end of the record,
but when the product of number of segments times their
length exceeded the record size, all packages were just
skipped, without an error message).
Thanks to Bernd Rueckrich, R & V Versicherung AG, GERMANY
Change 23.075 -UTILEXCL. Optional CMODNAME='RMI',CMODHEAD='DB2CLOCK'
UTILEXCL did not generate an UNKNOWN FIELD SKIPPED message, and
IMACICUS did not skip that field in the created IMACEXCL code.
Apr 11, 2005 The MXG code for a CMODNAME='RMI', with multiple fields,
decoded in IMACICRM was revised to recognize this new
RMI variant (which is not to be confused with yet
another RMI-containing segment with CMODNAME='DFHRMI'
that is supported in IMACICRD!
-IMACICUS. Cosmetic; comments were clarified.
Thanks to Christen Ole Christiansen, IBM, DENMARK.
Change 23.074 This Analysis of FICON Open Exchanges is based on work by
ANALFIOE Dr. Pat Artis that was documented in Change 21.087. He
Apr 11, 2005 has revised his calculation, slightly, by inclusion of
the new DLYCMRTM, the Command Response Time, which is a
subset of PEND time that occurs after the channel has
selected the I/O for processing, in his note "Managing
Complex FICON Configurations." DLRCMRTM is added to the
calculation by this change.
Thanks to Scott Barry, SBBWorks, USA.
Thanks to Mike Crowder, Humana, USA.
Change 23.073 Variable MODEL, taken from DEVMODEL, is a numeric value
ASUMCACH that is added to the BY list in TRNDCACH to provide more
TRNDCACH granularity in the summarization. All values of MODEL
Apr 10, 2005 are numeric (3390 33903 33909), but this revision will
need revision if a non-numeric DEVMODEL is ever created.
Thanks to Diane Eppestine, SBC, USA.
Change 23.072 Support for APAR OA09921 for IBM TotalStorage DS6000 adds
VMAC78 the Preferred Pathing Function, with these new variables
VMAC79 in type 78 subtype 3 records:
Apr 10, 2005 -TYPE78CF - R783CPAT - PATH*ATTRIBUTES
-TYPE78CU - LCUDST - DATA STATUS BITS
-TYPE78IO - R783CSS - CHANNEL SUBSYSTEM ID.
and in type 79 subtype 14 records
-TYPE79E - R79ECPAT - PATH ATTRIBUTESS
-TYPE79E - LCUDST - DATA STATUS BITS
Change 23.071 Enhanced IFA summarization in PDB.RMFINTRV, PDB.ASUM70PR,
VMXGRMFI PDB.ASUM70LP, and PDB.ASUMCEC. However, you have to be
VMXG70PR careful in understanding how IFAs are reported; they are
VMXGDUR much like CPs when they are shared across LPARs:
Apr 16, 2005 - "System-level" datasets (RMFINTRV/ASUM70PR/ASUM70LP)
can NOT provide accurate utilization of shared IFAs.
If you have 4 shared IFAs and two MVS systems, these
system obs do have the IFAACTTM (IFA CPU time) used by
that SYSTEM/LPAR, but each obs will also show there
were 4 IFAs, so any percent-used calculation will be
only this system's part of the utilization of all four
installed shared IFAs.
- "CEC/CPC-level" dataset PDB.ASUMCEC does correctly sum
the IFAACTTM across all systems running on that CECSER,
and the PCTIFABY in PDB.ASUMCEC is the correct percent
utilization of all four IFAs by both LPARs.
-VMXGDUR was enhanced with operands for interval values of
10-minute and 5-minute.
Thanks to Scott Weiner, WPS Insurance Corporation, USA.
Change 23.070 IBM cannot guarantee that RMF STARTIME values will be the
VSETZERO exact-on-the-minute value that you thought you'd get when
VMAC7072 SYNC(SMF) is specified in ERBRMFxx member of parmlib:
VMAC71 "When RMF Monitor I runs with SYNC(SMF) option, RMF
VMAC73 will be triggered by SMF via ENF37 at the end of the
VMAC74 SMF interval. SMF sends this ENF37 signal shortly
VMAC75 before the interval end, and RMF starts its interval
VMAC76 processing after receiving that signal. During this
VMAC77 interval processing, RMF sets the interval start time
VMAC78 for the next interval in the SMFxxIST field, and you
VMAC79 must expect some deviation in SMFxxIST time values;
VMACCMF since SMF ENF37 is sent shortly before the interval
VMACEPMV end, SMFxxIST times can also be earlier than the end.
Apr 10, 2005 If you use SMFxxIST field data, which only have one
second granularity, you must plan to tolerate small
deviations in SMFxxIST times."
per Peter Muench, IBM RMF Development, Germany.
IBM's SMFxxIST is the STARTIME variable in MXG RMF data.
Data with STARTIME at :59 seconds instead of :00 caused
the HOUR of the STARTIME to be one hour early, so with
IBM's note that STARTIME cannot be guaranteed to be the
expected exact minute, it is now up to MXG to detect and
correct STARTIME in your RMF datasets.
-New VSETZERO member is %INCLUDEd in all RMF-processing
code members to detect that seconds of STARTIME were
58, 59, or 01, and it resets the STARTIME to the exact
correct hour:minute:00 value.
-Note that it is still possible to have STARTIME values
that are not exact minutes; for example, the value in
Change 23.069 of 19:59:40 would not be changed.
Thanks to Wolfbang Vierling, Allianz, GERMANY.
Thanks to Bernd Tekath, Allianz, GERMANY.
Change 23.069 -RMF Interval less than one minute caused incorrect data
VMXG70PR in PDB.ASUMCEC, because MXG logic recalculated STARTIME
Apr 9, 2005 (only for PDB.ASUMCEC) to the nearest exact minute value.
The STARTIME was 19:59:40 and DURATM was 19 seconds, due
to a WLM Policy Reset just before 20:00:00, with a normal
15 minute interval with STARTIME of 20:00:00, but the obs
in PDB.ASUMCEC had STARTIME of 20:00 with DURATM=19 secs,
and all the calculated PCTxxxxx values were all wrong.
This change removed the code in VMXG70PR that modified
STARTIME for PDB.ASUMCEC, which corrected the error due
to the short interval data, but ONLY because all of the
SYSTEMS on this CEC had identical short intervals, and
because MXG default _DURSET in IMACRMFI was in effect,
causing each original STARTIME value was to be output
(i.e., no summarization to a new INTERVAL was requested).
The result was that there were two observations created
in PDB.ASUMCEC, one with its STARTIME of 19:59:40 and
DURATM of 19 seconds, and one at STARTIME of 20:00:00
with DURATM of 15 minutes, and each was valid, because
all of the SYSTEMs had the same short interval data.
-But if you want PDB.ASUMCEC summarized so that only one
observation is created at the "expected" 15-minute DURATM
then you must tailor the IMACRMFI member to set STARTIME
to the 15 minute time, and then that short interval will
be summed into a 19:45 STARTIME with DURATM of 15 min.
-BUT PDB.ASUMCEC WILL ALWAYS BE WRONG IF YOU HAVE SYSTEMS
ON THE SAME CEC WITH DIFFERENT DURATM VALUES, IF ANY OF
THOSE DURATMs ARE GREATER THAN THE IMACRMFI INTERVAL YOU
REQUESTED. For example, if systems have 15 minute and
hourly RMF data on the SAME CEC, PDB.ASUMCEC dataset has
an observation on the hour with DURATM of 60 minutes, but
there will also be hour:15, hour:30, and hour:45 STARTIME
observations with DURATM of 15 minutes, and all of that
data in PDB.ASUMCEC is likely wrong. Only if you set the
IMACRMFI summarization to hourly can MXG create a valid
PDB.ASUMCEC dataset from that kind of mixed DURATM data.
-Note that it is ONLY the PDB.ASUMCEC dataset that had any
problems; whether you have short DURATM or mixed DURATMs,
the PDB.ASUM70PR and PDB.ASUM70LP datasets were always
correct, since they are summarized by SYSPLEX SYSTEM.
Nov 10: Not True. See Change 23.289 which is needed.
-The IMACRMFI default tailoring sets the interval for the
PDB.RMFINTRV, PDB.ASUM70PR, PDB.ASUM70LP, and PDB.ASUMCEC
datasets, but that can be overridden if you have tailored
either the ASUM70PR member or the RMFINTRV member to use
their INTERVAL= arugment, instead of changing IMACRMFI.
Setting the INTERVAL= or IMACRMFI work equally well.
-Change 21.315 reset the STARTIME in VMXG70PR for ASUMCEC,
but the Change 23.070 enhancements eliminates both that
need and this exposure, so that code was safely removed
Thanks to Diane Eppestine, SBC, USA.
Change 23.068 BUILDPD3 now sets Condition/Return Code of zero under V9!
VMAC26J3 MXG Change 22.365 fixed the problem for JES2 BUILDPDB and
Apr 9, 2005 this revision fixes the problem for JES3. Two changes
were needed; JOBCLASS is now input as J3CLSONE as $1 and
then stored into JOBCLASS, and the initial reference to
ACCOUNT1 was relocated after the include of IMACACCT so
the length would be set by your IMACACCT tailoring. An
extremely-rare-in-MXG GOTO was used to preserve the flow
of execution.
Nov 3: This did not work as expected and caused zero
observations in TYPE26J3; corrected in Change 23.282,
added in MXG 23.09.
Thanks to Diane Eppestine, SBC, USA.
Change 23.067 Cosmetic. MXG 23.02 only. The four listed members will
VGETDDS cause this MXGERROR: message to be printed on the log:
VGETDDS VGETxxxx IS BACK-LEVEL AT 23.01, WHICH IS EARLIER
VGETDSN THAN THE EXECUTING MXG VERSION OF 23.02....
VGETENG Disregard for those members; they were not updated when
VGETSORT MXG 23.02 was created.
Apr 9, 2005 -Also, the message text now prints MXGWARN: vice ERROR.
Change 23.066 Support for RACF Events 27, 28, and 29 for unix
EXTY8028 dddddd Dataset Description
EXTY8029 TY8028 TYPE8028 RACF EVT 28 DIRECTORY SEARCH
EXTY8030 TY8029 TYPE8029 RACF EVT 29 CHECK ACCESS TO DIR
VMAC80A TY8030 TYPE8030 RACF EVT 30 CHECK ACCESS TO FILE
VMXGINIT
Apr 9, 2005
Thanks to Peter Schubert, CITEC, AUSTRALIA
Change 23.065 -Variable EXPCTSRD in dataset VXSTOASP was not
VMACVMXA deaccumulated, but now it is.
Apr 8, 2005 -Variable TCMMIDSZ was changed to bytes by 20.04, but
Apr 10, 2005 its label still had PAGES instead of BYTES.
-Variables PFXSPINC and PFXSPINT were incorrect because
their deaccumulation assumed descending order, but these
two variables are accumulated in ascending order.
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Thanks to Brian Crow, BT, ENGLAND.
Change 23.064 Dataset TYPE78SP, Virtual Storage Subpool for monitored
VMAC78 jobs, only contained subpool information below the 16MB
Apr 8, 2005 line (because I thought a subpool was either above or
below when I wrote that code years ago!). Now, variables
SUBPOOL5-SUBPOOL9 are created, and they will be populated
if the subpool for this job allocated above-16MB-space.
-The storage variables were not in a LENGTH .. &MXGBYLN
statement, so their stored length was the MXG default of
4 bytes, which could have caused small truncation if the
value was large (e.g., 999M instead of 1G). They all now
have the correct length set in a LENGTH statement.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 23.063 Cosmetic. Label is now ACTRELAP='ELAPSED*TIME'. Label
VMACENTX for prior variable had been copied incorrectly.
Apr 5, 2005
Thanks to Chris Taylor, GMAC Insurance, USA.
Change 23.062 Variables SRMWSSDL, SRMWSSD1, SRMWSSD2, SRMWSSD3 in
VMACVMXA VXSYTSCG are working set sizes, but were still in pages,
Apr 5, 2005 which is inconsistent with other z/VM working set size
variables, so they are now converted to bytes and
formatted MGBYTES.
Thanks to Kris Ferrier, State of Washington DIS, USA.
====== Changes thru 23.061 were in MXG 23.02 dated Apr 4, 2005=========
Change 23.061 The SEQENGINE=V9SEQ is now set in CONFIGV9 for z/OS. You
CONFIGV9 must be at SAS V9.1.3, or you must have HotFix SN-012437
Apr 3, 2005 if you are using SAS V9.1 or V9.1.2, but almost everyone
is now installing V9.1.3, so I deem it safer to use V9SEQ
now. The problem is that using V6SEQ does not work when
character variables are greater than 200 bytes, and there
are many new variables that need to be 255 or greater;
clinging to V6SEQ because you've not installed a Hot Fix
is not fair to all the smarties that are using V9.1.3.
If you've not installed that Hot Fix and are still using
V9.1/V9.1.2, then you MUST change the V9SEQ in CONFIGV9
back to V6SEQ (you cannot use V8SEQ with SAS Version 9).
If you want all the historic details of which sequential
engine did what, you can search CHANGESS and NEWSLTRS
members for V9SEQ for the litany of iterations on what
works and what doesn't work.
(While we can tell that you are at 9.1.3, for sites
still back on 9.1/9.1.2 we cannot tell if you have
the hot fix installed.)
Change 23.060 Support for z/VM 5.1 enhanced; all new data supported.
ADOCVMXA -Nine new "standard" MONWRITE datasets are created:
EOAPLCMS Domain Record dddddd Dataset Description
EOAPLTC0 1 18 MTRCCC VXMTRCCC CPU Capability Change
EOAPLTC1 2 11 SCLIOP VXSCLIOP I/O Priority Changes
EOAPLTC2 5 8 PRCIOP VXPRCIOP IOP Utilization
EOAPLTC3 6 21 IODVSW VXIODVSW Virtual Switch Activity
EOAPLTC4 6 22 IODVSF VXIODVSF Virtual Switch Failover
EOAPLTC5 6 23 IODVSR VXIODVSR Virtual Switch Recovery
EOAPLTC6 6 24 IODSZI VXIODSZI SCSI Device Activity
EOAPLTC7 6 25 IODQDA VXIODQDA Activate QDIO Device
EOAPLTC8 6 27 IODQDD VXIODQDD Deactivate QDIO Device
EOAPLTC9 -Eight existing MONWRITE datasets have new variables:
EOAPLTCA Domain Record dddddd Dataset
EOAPLTCB 0 8 SYTUSR VXSYTUSS
EOAPLTCC 2 4 SCLADL VXSCLADL
EOAPLTCC 2 5 SCLDDL VXSCLDDL
EOAPLTCD 2 6 SCLAEL VXSCLAEL
3 12 STOASC VXSTOASC
EOAPLVMR 4 1 USELON VXUSELON
EXAPLSL0 4 9 USEATE VXUSEATE
EXAPLSLM 4 10 USEITE VXUSEITE
EXAPLSLN 6 26 IODQDS VXIODQDS
EXAPLSLP -Domain 10 (Application Server) logic was revised; the
EXIODQDD separate decoding of Sample and Event data under two
EXMTRCCC separate internal macro pairs (_VAPLSDT,_CAPLSDT) and
EXPRCIOP (_VAPLEDT,_CAPLEDT) was replaced with a single internal
EXSCLIOP pair (_VAPLAPL,_CAPLAPL) because "Configuration Class"
FORMATS data for TCP/IP can be either Sample or Event, or both.
IMACVMXA -These new datasets are created from domain 10 records:
VMACVMXA Source: CMS APPLDATA MDGPROD=5684030MT1020100
VMXGINIT MXG Dataset VXAPLCMS 'CMS Multitasking'
Apr 3, 2005 Source: TCP/IP MDGPROD=5735FALSTx0ttt00
Multiple MXG datasets are created, based on the
hex value "x" in MGDPROD:
x Dataset Description
00 VXAPLTC0 TCP/IP MIB Record
01 VXAPLTC1 TCP/IP TCB OPEN Record
02 VXAPLTC2 TCP/IP TCB CLOSE Record
03 VXAPLTC3 TCP/IP Pool Limit Configuration
03 VXAPLTCX TCP/IP Pool Data
04 VXAPLTC4 TCP/IP Pool Size
05 VXAPLTC5 TCP/IP LCB Link
06 VXAPLTC6 TCP/IP UCB OPEN
07 VXAPLTC7 TCP/IP UCB CLOSE
08 VXAPLTC8 TCP/IP Link Definition
09 VXAPLTC9 TCP/IP ACB
0A VXAPLTCA TCP/IP CPU
0B VXAPLTCB TCP/IP CCB
0C VXAPLTCC TCP/IP Tree Size
0D VXAPLTCD TCP/IP Home
0E VXAPLTCE TCP/IP IPv6 Home
Source: VMRM MDGPROD=5739A03RM0000000
MXG Dataset VXAPLVMR 'VMRM Workloads'
Most of these new datasets have been tested with data,
but some of the de-accumulation may be incomplete, as I
only have a few observations in some of the TCP/IP data.
If you want to use the new data, especially TCP/IP stuff,
please contact support@mxg.com to send your MONWRITE data
so we can investigate these new metrics together.
-ADOCVMXA notes were revised; Richard Steele's paper from
1988 was changed into plain text, without control chars,
and moved to the top of the member, and IBM Manuals that
show you how to set up the MONWRITE Virtual Machine and
its Saved Segment are now references to make it easier
to enable and gather the MONWRITE data from z/VM.
Change 23.059 -z/VM format MGVXCMG had wrong values for CSCCMCMG, the VM
FORMATS Channel Measurement Group, which should have been values
Mar 31, 2005 1-ESCON, 2-FICON, 3-HiperSockets for z/VM, like z/OS.
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Change 23.058 Cosmetic. Comments referencing Change 22.050 should have
VMACHMF been 20.018, and Change 22.162 should have been 22.168.
Mar 31, 2005
Thanks to Larry Stahl, IBM Global Services, USA.
Change 23.057 UTILBLDP enhancements. The USERADD= xxxx text required
UTILBLDP you to list the "product suffix" xxxx value (e.g., 7072)
Mar 30, 2005 but if you only listed part of the suffix (USERADD=70),
incorrect code was generated and you got errors. Now,
the USERADD= argument can either be the product suffix,
or an SMF record number processed by that product. And,
if you should list duplicate entries (USERADD=7072 72,)
UTILBLDP is now smart enough to remove the duplicates.
Thanks to Jake M. Drew, MBNA, USA.
Change 23.056 DB2 Trace dataset T102S199 was incorrect; it contained
VMAC102 only the first segment, and the DBID/OBID were formatted
Mar 30, 2005 only as $HEX2 when they should have been $HEX4.
Thanks to Karthik Vinayagam, Morgan Stanley, USA.
Change 23.055 Variable DSEXCP: the label should have been EXCP*COUNT*
VMACCTLT SINCE*CREATED, rather than USE*COUNT*SINCE*CREATED.
Mar 30, 2005
Thanks to Stephen Hahne, Capital One Financial Services, USA.
Change 23.054 All z/VM variables that had "SLOTS" in their label are
VMACVMXA now corrected to contain "BYTES" in their labels, as all
Mar 30, 2005 of the variables had already been converted from a count
of 'slots' to the count of 'bytes'. These variables also
had been correctly formatted with MGBYTES format; it was
only their label that was incorrect.
Thanks to Kris Ferrier, State of Washington DIS, USA.
Change 23.053 Variables TTETIME, TTSTIME, and TITIME are now all on the
VMAC119 Local time zone, and their labels all have "GMT" removed.
Mar 25, 2005 TTETIME and TITIME were converted to local but had wrong
label, and TTSTIME was not coverted from GMT to local.
Thanks to Victor Chacon, Verizon Wireless, USA.
Thanks to Alan Klein, Verizon Wireless, USA
Change 23.052 -z/VM MONWRITE POSSIBLE BAD CONTROL RECORD were because
EOAPLSL0 the 1.17 record test should be SKIP=SKIP-16; instead of
EOAPLSLM SKIP-52. This caused many of the domain 1 records to be
EOAPLSLN skipped and were not output. Fortunately, these are the
EOAPLSLP seldom-needed startup information for MONWRITE, and the
EOdddddd 1.17 record is after all of the critical-to-MXG records.
VMACVMXA -The 1.19 record would have been skipped, as its test for
Mar 25, 2005 MRHDRRC should have been for 19 instead of 17.
-MXG architecture enhancement creates new EOdddddd members
and for "second Output" of a dataset, and defines new
macro tokens named _Odddddd for instream override of the
exit. This "second Output" exit is needed when raw data
is accumulated, so filtering of observations can't be
done during the "first Output" in the DATA step, but only
after the deaccumulation is available for creation of an
interval "usage" variable, USdddddd that is tested in the
new second Output EOdddddd exit member, so only intervals
with activity are output during the final pass of data:
-The EOdddddd member now tests to not output "nulls":
USdddddd=SUM(resources);
IF USdddddd GT 0 THEN DO;
OUTPUT _Ldddddd;
END;
-The MACRO _Odddddd %%INCLUDE SOURCLIB(EOdddddd); %
is defined in VMACxxxx, adjacent to the _Edddddd.
-The _Sdddddd macro sets contain:
IF DELTATM GT 0 THEN DO;
_Odddddd;
END;
Dataset updated thus far to only output active intervals:
Dataset - USdddddd Usage Activity Variable(s)
VXAPLSLP - TICKS (sum of all clock's ticks)
VXAPLSL0 - TICKS (sum of all clock's ticks)
VXAPLSLM - PGALLOC
VXAPLSLN - SUM(PKTSRCVD,PKTSSEND)
-Example in IHDRVMXA shows how you can skip domains and/or
records from being output, when you want to select which
datasets are created from MONWRITE data.
Some DATA step times reading 1024MB MONWRITE:
Elapsed CPU WORK MB Description
641 87 1382 Output ALL
589 61 902 Skip Domain 7 (SEEK)
413 20 20 Only Domain 10 (APPL SERVER)
321 18 0 No Output, READ ALL,DDecode Hdr
Change 23.051 Support for z/VM Linux Application Server data creates
EXAPLSLM four new datasets:
EXAPLSLN APLSLM VXAPLSLM LINUX MEMORY
EXAPLSLP APLSLP VXAPLSLP LINUX PROCESSOR SUMMARY
EXAPLSL0 APLSL0 VXAPLSL0 LINUX EACH CPU DETAIL
VMACVMXA APLSLN VXAPLSLN LINUX NETWORKING
VMXGINIT This support is preliminary, and is in process of being
Mar 16, 2005 validated - the clock tick duration value for Linux times
Mar 24, 2005 is not provided, so actual CPU time is not yet measured
in the VXAPLSLP/SL0 Processor records, and the Linux time
stamp is 18 to 20 seconds earlier than the start of the
MONWRITE interval; both issues are to be opened with IBM.
Thanks to Mike Reeves, Fidelity Systems, USA.
Thanks to Warren Cravey, Fidelity Systems, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
====== Changes thru 23.050 were in MXG 23.01 dated Mar 15, 2005=========
Change 23.050 z/VM MONWRITE dataset VXBYUSR didn't accurately recognize
VMACVMXA a new LOGON after the same VMDUSER had logged of, causing
Mar 11, 2005 incorrect DELTATM and CPU times for the first interval of
each LOGON in the MONWRITE file. The logic now tests for
a change in CALTODON to recognize each LOGON interval.
Thanks to Mike Salyer, CitiGroup, USA.
Change 23.049 MQ-Series Variable QWHCCV is renamed to QWHCCVMQ because
VMAC116 it conflicted with DB2 variable QWHCCV, and when MQ was
Mar 10, 2005 added to BUILDPDB, the MQ $HEX24. format on QWHCCV made
the DB2 QWHCCV jibberish.
You can make the DB2 QWHCCV print correctly simply
by adding FORMAT QWHCCV $12.; to your DB2 reports.
At the same time, variable QWHSSSID in MQ-Series is now
renamed to QWHSIDMQ and labeled 'MQ*SUBSYSTEM*NAME' so
that it wont override the DB2 QWHSSSID label.
Yes, I know that changing variable names may cause your
MQ Reports to fail, but since only bleeding-edge sites
have begun to use the MQ data, changing now is better
than changing later.
Thanks to Mike Gebbia, Eddie Bauer, USA.
Change 23.048 Amdahl CPUTYPE='2000'X does not populate SMF70ONT, z/OS
VMAC7072 up time of each engine, so for intervals when engines are
Mar 10, 2005 varied on or off line, MXG cannot accurately calculate
the true capacity, since it doesn't know how much of the
interval that varied engine was available. The result is
that NRCPUS counted 2 engines, but part of a third engine
was available, and the CPU time in RMF 72 Service Class
records slightly exceeded the CPUACTTM of those two CPUs.
This was detected ONLY by a NEGATIVE CPU UNCAPTURED TIME
warning from RMFINTRV, which compares the 70 and 72 CPU
times, and there is no cure for the Amdahl deficiency,
so this part of this change is only documentation of the
expected existence of that message with this processor.
(In TYPE70 for this interval, variable CAI3='03'x shows
the third engine was varied, so you can confirm the cause
of the warning message, but I can't use that information
to delete the interval without creating more questions!).
-In addition, this same interval record also caused error
DIVIDE BY ZERO; the unexpected SMF70ONT=0 value caused
PCTCPUBY to be zero when the new SHORTCPS variable was
created (the PCTCPUBY for this record is recalculated
later), but the real cause of the DIVIDE BY ZERO ERROR
was, as always, a programmer's error in not correctly
testing the divisor. IF PCTCPUBY GT . AND PCTMVSBY GT .
is now revised to test both variables for GT zero.
Historic Note: When I was using Netscape years ago,
and had reported erratic Divide by Zero errors and
had stated that this was clearly a programmer error,
their Senior Technician replied "a divide by zero
error is not a programming error - it is a normal
event that happens with Windows". B.S.: A DIVIDE
BY ZERO ERROR IS ALWAYS A PROGRAMMING ERROR.
I later found Netscape's problem; I had printed and
the printer was there, but when I had turned off the
printer, Netscape failed to test that the printer
was still alive, and failed with the DIVIDE error.
Thanks to Robert Blackburn, Dominion Resources Services, Inc, USA.
Change 23.047 The date part of READTIME, JHRRDOD, was changed from PD4
VMACESPH 0101303F for 30Oct2001 to 2005066F for 07Mar2005, causing
Mar 10, 2005 INVALID ARGUMENT TO FUNCTION DATEJUL when MXG read the
changed data format. MXG now tests for the new format.
Thanks to Larry Riggen, Cinergy, USA.
Change 23.046 -DB2ACCT vars QXCRESEQ,QXALTSEQ,QXDROSEQ,QXPRRESI,QXALTVW
VMACDB2 were incorrectly INPUT in DB2 V7 records; those fields
Mar 10, 2005 only exist in DB2 V8. The test IF LENQXST GE 440 for
that INPUT should have been GE 460.
-Those five QX variables were not INPUT at all in the STAT
records, but now are kept and deaccumulated in DB2STATS,
for DB2 Version 8.
-Variable QBGAWS was incorrectly INPUT in DB2 V7 records,
but it only exists in V8; logic was corrected.
Thanks to Allan Winston, MBNA, USA.
Change 23.045 Support for TMS Release 11 is already in place in MXG, as
TYPETMS5 the Appendix A for the TMC Volume and DSNB records shows
Mar 9, 2005 no changes to those records.
Thanks to Norm Hollander, CA, USA.
Change 23.044 Two new variables were added to ASUMCACH, and new member
ASUMCACH TRNDCACH was created:
TRNDCACH NREXPOSR - Maximum number of exposures during interval
Mar 9, 2005 INTCHGEX - Number of intervals in which exposure count
changed.
Also, labels for IORATE, IORATEC, and DURATM now exist.
Thanks to Diane Eppestine, SBC, USA.
Change 23.043 Global Macro Variables EPDBVAR,EPDBCDE,EPDBOUT are now
VMXGINIT defined in VMXGINIT, and referenced in their counterpart
EXPDBVAR EXPDBVAR,EXPDBCDE, and EXPDBOUT members, so that UTILBLDP
EXPDBCDE can use those macro variables for "instream" tailoring.
EXPDBOUT
Mar 9, 2005
Change 23.042 New SAS options DMSLOGSIZE=999999 and DMSOUTSIZE=999999
CONFIGV9 with those maximum values that increase the number of
Mar 9, 2005 lines that can be sent to the log or list windows; the
old limit was 99,999. Unfortunately, these options must
be set at SAS initialization, and cannot be set in the
autoexec.sas file under ASCII. For ASCII execution, you
must either update your sas.cfg file, or you can add
-dmslogsize 999999 to the options in your SAS icon.
Thanks to Kevin Hobbs, SAS Institute Cary, USA.
Change 23.041 This new analysis member calculates the DELTATM between
ANAL30V the end of one SMF 30 interval to the start of the next
Mar 8, 2005 interval for each job, and it also calculates SWAPEDTM,
the duration when the job was swapped out after the true
INTETIME end-of-interval. The true "resource duration"
of each type 30 interval record (subtype 2, 3, and 6) is
from INTBTIME to INTETIME, but if a task is swapped out
at the end of the interval, the SMF record is not written
until the task is swapped back in, which can be minutes
or hours later, and since no resources were consumed
while the task was swapped out, SMF resets the INTBTIME
of the next interval to the SMFTIME of the prior record.
So if you look at just the time between INTETIME and the
next INTBTIME, you can see very large values, because it
is the sum of SWAPEDTM plus DELTATM, but in a test with
70,000 interval records, I found a maximum DELTATM value
of only 0.37 seconds. I did discover that the "normal"
sort sequence of READTIME JOB JESNR INITTIME was not
sufficient for some started tasks (notably OPSOSF) that
have multiple instances per system and that start before
SMF initialization - those STCs have missing JESNR, but
had identical values for those variables for what were
separate instances, so SYSTEM ALOCTIME LOADTIME were
inserted in the sort sequence to separate them; if that
heuristic fails, the DELTATM can be a negative value.
Thanks to Dave Thorn, SUNGARD, USA.
Change 23.040 Condition Code/Return Code 0004 is set in ANALPRTR due to
ANALPRTR WARNING:APPARENT SYMBOLIC REFERENCE xxx NOT RESOLVED
Mar 8, 2005 when there were no observations in PDB.ASUMPRTR; those
two macro variables are normally created by CALL SYMPUT
in a DATA step, but when there are no observations, that
data step is not executed. To resolve the reference, the
%LET EARLIEST=; and %LET LATEST=; statements are inserted
at the beginning of the member, so there is no unresolved
macro even when there are no observations.
In this open code, the choice was either to use the
pair of %LETs, or to put both macro variables in a
%GLOBAL statement. Both choices effectively "GLOBAL"
the macro variable, since its value will exist for any
later program that references that same name. One big
difference is that using %GLOBAL does not change the
value if the macro variable was already %GLOBALed, so
you could (accidentally?) pick up a prior value, while
the %LET will set the always reset the macro variable
value. Finally, while not documented in Change 19.230,
using %GLOBAL to initialize macro variables to null
saved measurable CPU time, compared with using the
several hundred %LET statements, so the VMXGINIT
member now only uses %LETs where a non-null initial
value is required. If ANALPRTR were pervasively used,
I'd have put these two macro variables in VMXGINIT,
but it is very old analysis, and the CPU times that it
estimates are way out of date, and new printer devices
may not be amenable to its thruput measurements, so
using the two %LETs was the simple choice.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.039 Archaic variable QTXASUS is now set missing; long ago it
VMACDB2 was replaced by QTXASLOC, and while it was documented as
Mar 7, 2005 archaic in ADOCDB2, it caused confusion because it had a
value, when it should no longer be used. Instead, the
three variables QTXASLOC, QTXASLAT and QTXASOTH break out
the suspends for Lock, Latch, and Other conflicts.
Thanks to Marty Pruden, Nestle Purina PetCare Co., USA.
Change 23.038 Code was revised to eliminate MISSING VALUE messages by
VMAC30 either relocating calculations or by testing prior to
Mar 7, 2005 the calculation.
Change 23.037 -TYPE30MU and TYPE89 variable MULCURD is now forced to be
VMAC30 a missing value when the MULCUDF/MULCURT is zero, so that
VMAC89 a value is not carried forward when there are multiple
Mar 7, 2005 segments.
-The TYPE30MU decoding now expects MULCUDF=2 to be &PIB.8.
and MULCUDF=3 to be &RB.8., which is consistent both with
IBM documentation and the SMF 89 record descriptions.
All of my 30 test data has MULCUDF=2 with MULCURD=0, or
has MULCUDF=0, so this correction has not been confirmed
with real data; I do have 89 test data with MULCURT=2 and
binary values for MULCURD, so it makes sense to align the
MXG calculations in 30s with those in the 89 records.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.036 Using %UTILBLDP with BUILDPDB=NO and INCLAFTER=RMFINTRV,
UTILBLDP Condition Code 4 was set with SAS V9, because RMFINTRV
VMXGRMFI was not protected with OPTIONS DKROCOND=NOWARN when it
Mar 9, 2005 was executed outside of BUILDPDB code. Now, RMFINTRV
is internally protected, and, in addition, when %UTILBLDP
is used with BUILDPDB=NO, it generates DKROCOND=NOWARN
at the top and resets to DKROCOND=WARN at the bottom.
OPTION DKROCOND=NOWARN is extremely useful for MXG;
it lets me have variables in the KEEP= list that are
optional (e.g.: CICSTRAN has a lot of optional vars
that won't exist unless you open the comments in the
appropriate IMACICxxx tailoring member; using NOWARN
suppresses the normal warning that those variables were
not referenced). But prior to SAS V9, NOWARN was just
my convention to keep unneeded messages from your log;
in V9, SAS now sets Condition Code 4 with WARN, so it
is now necessary to protect all known instances in MXG.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.035 The incorrect references to _LTY30TD were replaced with
UTILBLDP _WTY30TD.
Mar 7, 2005
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 23.034 The addition of a new dataset (TYPE30TD) to VMAC30 caused
ANALJOBE the old ANALJOBE program to fail, because I failed to add
Mar 7, 2005 the needed override for that new dataset into ANALJOBE.
Adding overrides for that dataset would have worked, but
Scott very nicely revised the logic to use the _Vdddddd
macro tokens so that new datasets could be added to any
of the VMACxxxx members used in ANALJOBE, transparently,
and I don't have to remember to revise ANALJOBE to keep
up with future new datasets in the VMACx it uses!
He also removed the hardcoded MACJBCK= statement which
prevented the use of an instream MACKEEP=.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Sam Bass, McLane Co., USA.
Change 23.033 Example in comment should have been UTILS2ER instead of
UTILS2ER FINDS2ER, which was the earlier iteration; the member
Mar 7, 2005 FINDS2ER should not have been kept and is now deleted.
Thanks to Tom White, SPRINT, USA.
Change 23.032 Variables ASID and TARCASID were not formatted $HEX4. but
VMACTMNT now they are. ASID was only $HEX2. and TARCASID had no
Mar 6, 2005 format, so it printed a decimal value.
Thanks to Scott Chapman, American Electric Power,USA.
Change 23.031 Variables SRCDSN and TRGDSN do not exist in ICEBR8SN data
VMACICE set, but were accidentally in the KEEP= list, causing
Mar 6, 2005 confusion. They are now removed.
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 23.030 -ML-33 of MXGTMNT corrects zero values in these variables
ASMTAPEE in the TYPETARC Tape Allocation Recover Event records:
Mar 2, 2005 DEVNR and UCBTYPE were all 0s.
DEVNRCHR was blank
TARCSTRT and TARCEND had the same timestamps.
TARCELAP was 0
TYPESCRN was always 0.
-ML-33 Mount records now have the Mount Time stamp from
the mount message. Hardware errors caused a 20 minute
delay between allocation reserving the drive and the
issuance of the mount message. Allocation handed off to
OAM the request for the mount, but before issuing the
mount, OAM first made a call to the library to get
eligible device pools. Because of the VTS harware
problems, it was late in responding to the request,
causing the mount message to be delayed.
-Mar 11: Mount Records Mount Time is still not correct;
under investigation.
Thanks to Scott Chapman, American Electric Power,USA.
Thanks to Patricia J. Jones, DST Systems, USA.
Change 23.029 The display format for the average service times, which
VMAC74 are in milliseconds, are now printed by default to show
Mar 1, 2005 three decimal places:
AVGCONMS AVGDISMS AVGIOQMS AVGENQMS 6.3
AVGPNCHA AVGPNCUB AVGPNDEV AVGPNDMS AVGRSPMS 6.3
The need for this higher resolution is because the z990
changed the measurement resolution from 128 microsecond
units to one-half microsecond; Pat showed that with a
real value of 192 microseconds, the old resolution with
truncation was reported as .1 millisecond, but with the
new resolution and rounding, the disk service time was
reported as .2 milliseconds per SSCH, causing concern
that service time had increased, when, in fact, there
was not change in the actual service time, but a great
improvement in the measurement of disk service times.
His full paper on this subject, "Understanding the
Differences between z900 and z990 Service Time
Measurements" is available at http://www.perfassoc.com.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 23.028 DB2STATS variables QDSTCIN2 and QDSTNADS had very large
VMACDB2 values. MXG deaccumulated them, because IBM documentation
VMACDB2H did not indicate otherwise, and early test data had all
Mar 1, 2005 zeroes, but data now shows they should not have been DIFd
and both are no longer deaccumulated.
-Record with only header 1 and header 2 created false
error message that header was invalid.
Thanks to Peter Farrell, Commerce Bank, USA.
Change 23.027 Support for IMPLEX Versions 3.1 and 3.3.
VMACMPLX
Feb 28, 2005
Thanks to Bob Gauthier, Albertsons, Inc, USA.
Change 23.026 -Byte-containing fields were carried as characters; they
VMACWWW are now numeric with MGBYTE format to "print pretty".
Feb 28, 2005 -IIS Web Logs printed INVALID THIRD ARGUMENT FOR SUBSTR
Mar 2, 2005 because MXG did not expect a zero length URIQVALU.
Thanks to Bob Gauthier, Albertsons, Inc, USA.
Change 23.025 %UTILCONT(PDB=PDB); failed if //PDB was DISP=NEW, with
UTILCONT ERROR: LIBRARY DATA SET xxx.PDB CANNOT BE OPENED BECAUSE
Feb 28, 2005 IT IS EXTERNALLY ALLOCATED DISP=NEW OR DISP=MOD,
Mar 7, 2005 AND IT RESIDES ON MULTIPLE VOLUMES
The cause is our choice to not issue PROC CONTENTS if the
DDNAME points to a sequential library, unless you told us
to by removing SEQUENTIAL from the EXCLUDE= opearand.
(The CONTENTS against a sequential library has to read
the entire library, including all datasets, because there
is no directory in sequential librarys). The problem is
that we cannot detect the engine unless the library:
a) has had activity, or
b) a LIBNAME statement has been issued.
To solve that old problem, we used a LIBNAME xxx DISP=SHR
in UTILCONT so we could always know the engine of the
library, but that is what caused this error!
In this redesign, for z/OS only, when PDB= is a list of
one or more DDNAMEs, the LIBNAME is issued only when the
DD is not allocated, then a %VGETENG determines the
engine, the MXGENG dataset is deleted, and %VGETENG is
reinvoked to get to get the full list of all datasets in
that library.
Thanks to Jeffrey A. Harder, Farm Bureau Insurance, USA.
Thanks to Paul Naddeo, FISERV Phildelphia, USA.
Change 23.024 CONTROL-D SF2 records were INCOMPATIBLY changed; fields
VMACCSF2 for SF2PAGE and SF2DPAGE were increased in place from 6
Feb 25, 2005 to 8 bytes.
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 23.023 ABEND 878-10 with REGION=180M got thru seven systems data
ASMRMFV before the failure. REGION=200M processed the data from
Feb 25, 2005 all ten systems at one time.
Thanks to Chuck Hopf, MBNA, USA.
Change 23.022 -Support for VSM subtype 30.
VMACSTC -HSC V6 made changes to subtype 4, STCVMU dataset, but the
VMXGINIT SMF record does not agree with the documentation, and the
IMACSTC result is large and invalid values. No MXG change has
EXSTCV30 been made, pending STK corrections to their data or doc.
Feb 24, 2005 -Apr 18: Debugging PUT statement, un-commented in tests of
Apr 18, 2005 this enhancement, is now re-commented, as it printed an
un-needed line of text on the log for each STC record.
Thanks to Michael Creech, Fidelity Information Services, Inc, USA.
Change 23.021 -LP0xxxxx variables were not populated; Change 22.293 was
VMAC7072 not properly migrated from test to my master library.
VMXG70PR Only LP0MGTTM is populated with the CPU time, since all
Feb 23, 2005 PHYSICAL CPU time is really "management" time.
Feb 28, 2005 -Variable SHIFT was added to PDB.ASUM70LP dataset.
Oct 31, 2005: See Change 23.276.
Thanks to Ken Jones, Xwave, CANADA.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 23.020 Support for CyberFusion user SMF record.
EXCYFUSN
IMACCYFU
TYPECYFU
TYPSCYFU
VMACCYFU
VMXGINIT
Feb 23, 2005
Thanks to Robin Murray, ManuLife, CANADA.
Change 23.019 Although using DCOLLECT (see JCLDAYDS JCL example) is the
ASMVTOC recommended way to "graze" your DASD farm, ASMVTOC can be
Feb 21, 2005 used, but the comments did not give an example of how to
use the //VOLLIST DD to exclude volumes. The comments
now show the explicit syntas.
Thanks to Brian Crow, British Telecom, ENGLAND.
Thanks to Fabio Massimo Ottaviani, DTSITALIA, ITALY.
Change 23.018 Invalid ID=9 record caused ARRAY SUBSCRIPT OUT OF RANGE,
VMXGGETM when UTILGETM was used by JCLTEST8. The SMF 9 record
Feb 18, 2005 does NOT contain a subtype, but the first byte was '7F'x,
with bit 1 (the '40'x bit) on, and that caused MXG to
read the bytes 19-20 as a two-byte SUBTYPE value, which
contained '0200'x, so SUBTYPE=512. Subtype was originally
a one-byte field, so only values of 0-511 were valid
subtypes. But as subtypes can now be two bytes, and
because the array is only used in VMXGGETM to tabulate
the count of SMF IDs and their SUBTYPEs, MXG only
intended to count subtypes 0-511 (and it protected known
larger subtypes, like CICS records from Boole & Babbage
by resetting them). The array error was because MXG's
protection was incorrect, the statement IF SUBTYPE GT 512
should have been IF SUBTYPE GT 511, and that is the
statement corrected by this change. The 02 value in byte
19 that caused SUBTYPE=512 is SMF9VPC, which identifies
the issuer of the Vary Path command that caused this SMF
9 to have been written, and I now see a new value
described:
2=Enterprise System Connection Manager
previously, only 0=Operator was written, which explains
why we are now correcting this problem in VMXGGETM. BUT:
The real error is that Bit 1 in SMF9FLG is on, which says
there's a valid subtype, which is not true for ID=9.
Thanks to Charles Bellamy, SCANA, USA.
Change 23.017 If %INCLUDE SOURCLIB(ASUMUOW) is used (JCLTESTV8/9 do),
VMXGUOW but IMACUOW was not updated to tell MXG that you want us
Feb 17, 2005 to create observations in PDB.ASUMUOW, your job will fail
ERROR: NO BY STATEMENT USED OR NO BY VARIABLES SPECIFIED
WARNING: DATASET WORK.UOWSORT MAY BE INCOMPLETE.
You were not supposed to have to update IMACUOW, but the
changes we made to add MQ-Series data to PDB.ASUMUOW were
always tested with a tailored IMACUOW; I failed to test
with the default IMACUOW in MXG 22.22, and we always
build the PDB.ASUMUOW dataset in our QA streams, to make
sure it is created without error.
The source of the problem is arguably a SAS design error;
we added the creation of a second dataset in a data step
whose first dataset was created as a VIEW, but the
default IMACUOW sets OPTIONS OBS=0; to prevent ASUMUOW
from sorts of both CICSTRAN and DB2ACCT. Unfortunately,
it turns out that that second dataset is NEVER created
when OBS=0 is in effect. While SAS Technical Support
investigates to see if this is a feature or a defect, we
circumvent the error by always creating that dataset
(_UOWCIC) with zero obs, before the data step with the
VIEW, so that it always will exist. If you enable IMACUOW
to create obs, the dataset is re-created with obserations
when the VIEW is executed.
Thanks to Alan Chenoweth, EDS, USA.
Thanks to Linda Piekarski, National Grange Mutual Insurance Co., USA.
Change 23.016 A VM 4.4 system's MONWRITE control block data contained a
VMACVMXA value of 00028709X instead of the normal 00008709X;
Feb 17, 2005 change line 5071 to test for both values:
IF IPARMLF1 NE 00008709X AND IPARMLF1 NE 00028709X THEN DO;
while we await a reply from IBM VM Support as to whether
this is an error or an undocumented feature.
Thanks to Mike Salyer, Citicorp, USA.
Change 23.015 If you create a WEEK.SMFINTRV or MONTH.SMFINTRV, your job
MONTHASC may get ERROR: BY VARIABLES NOT SORTED MON.SMFINTRV. The
MONTHBL3 sort order of PDB.SMFINTRV was changed in MXG 22.13 for
MONTHBLD Change 22.320 consolidation of MULTIDD='Y' observations.
MONTHBLS The original BY list in BUILDPDB was:
MONTHDSK READTIME JOB JESNR INTBTIME INTETIME
WEEKBL3 and the new sort order internally is
WEEKBL3D READTIME JOB JESNR INITTIME INTBTIME
WEEKBL3T In the cases that failed, there were multiple instances
WEEKBLD of the same STC JOBNAME that was an "early ASID" that had
WEEKBLDD started before SMF (i.e., it did NOT have a JESNR), and
WEEKBLDT both interval records had exactly the same values for
Feb 16, 2005 READTIME JOB JESNR and INITTIME, but the INTBTIMEs were
.01 seconds out of order, causing the NOT SORTED.
The solution is simple: in your WEEKBLD/MONTHBLD members,
change the BY list for the PDB.SMFINTRV dataset to only:
READTIME JOB JESNR
to eliminate the exposure.
-While using %INCLUDE SOURCLIB(TYPS30) will create dataset
PDB.SMFINTRV, that is no longer a recommended way,
because that dataset still contains the multiple
MULTIDD='Y' obs. See the example in the text of Change
22.320 if you want to create PDB.SMFINTRV directly from
SMF without BUILDPDB.
Thanks to Kevin Fletcher, CONSECO, USA.
Change 23.014 Consoldiated into Change 23.012.
Change 23.013 -Variable LPARCPUX is now kept in TYPE70PR, because it is
VMAC7072 the count of logical CPs assigned to the LPAR, and that
Feb 13, 2005 includes the number of "initial" CP engines, the number
of "reserved" CPs (which also includes ICFs, IFLs, and
IFAs that are assigned to the LPAR). This is important so
that enough "reserved" CPs can be known for each LPAR.
If too few reserved CPs were defined, you cannot
non-disruptively use Dynamic Capacity Upgrade on Demand
to implement an upgrade to an LPAR.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 23.012 -Typos in MXG 22.22 JCL examples:
COVERLTR -JCLTEST9: Line 130, WORKVOL=5 needs a comma.
JCLTEST8 Lines 166,168 need // in col 1 and 2.
JCLTEST9 Line 392 should be MXGSASV9
MXGSASV9 -JCLTEST8 and JCLTEST9:
MXGSASV9 //TESTQAPM step needs //QAPMJSUM DD DUMMY.
README -MXGSASV9: Lines 58 and 60, JCL needs //.
UPRINDOC -MXGSASV8 and MXGSASV9: the INSTREAM DD should be:
Feb 12, 2005 //INSTREAM DD UNIT=SYSDA,SPACE=(CYL,(1,20)),
Feb 22, 2005 // RECFM=FB,LRECL=80,BLKSIZE=0
Feb 23, 2005 The change to LRECL=72 caused unnecessary error
May 23, 2005 when UTILS2ER was run, and there's no value in
changing the historic LRECL from 80 to 72.
-Coverltr: Ref to Change 22.133 should be 22.123 for V9.
-README File on CD and the README member was missing an
equal sign: SPACE=(80,2,1)) SPACE=(CYL,(25,5)).
The PUT should be PUT 'c:\mxgcd\ieb....'.
-UPRINDOC: JCL example was missing ending comma, line 11.
Comments updated for example ASCII execution.
The program works, but produces an error; the
lines after the RUN; after %INCLUDE INSTREAM;
were debugging lines that should be deleted.
Thanks to Linda Piekarski, National Grange Mutual Insurance Co., USA.
Thanks to Sam Bass, McLane Company, USA.
Thanks to Jack Basile, PCH, USA.
Thanks to Francisco Ojeda, SAS Cary, USA.
Thanks to John Mattson, EPSON, USA.
Thanks to David Klein, DOITT, City of New York, USA.
Thanks to Sam Bass, McLane Company, USA.
Thanks to Brian Felix, Wachovia Corporation, USA.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 23.011 MXG 22.22-22.12. DB2 variables QWHT../QWHU../QWHD./QWHA..
VMACDB2H from DB2 Trace, CPU, Distributed, Data Sharing Header may
Feb 11, 2005 be blank or missing; the extraneous statement at line 130
Feb 25, 2005 LENLEFT=LENGTH-COL+1;
May 20, 2005 must be deleted. Of course, they can also be blank when
those headers don't exist in a particular record, which
is completely normal! In addition, for SMF records that
are created from TMON/DB2 data, that statement caused the
INPUT STATEMENT EXCEEDED RECORD LENGTH, error: TMON SMF
records have headers at the start, rather than the end of
the SMF record (which is okay, since they are relocatable
sections with a "triplet" location pointers); it was MXG
recalculation of LENLEFT that was the cause of the error.
May 20,2005: This error also causes THREADTY variable to
be blank when it shouldn't be!
Thanks to Marty Pruden, Nestle Purina PetCare Co, USA.
Thanks to C. C. VanHook, DST Systems, USA.
Thanks to Steve Cunningham, DST Systems, USA.
Thanks to Craig Gifford, City of Lincoln NE, USA.
Change 23.010 Some fields that could contain '00'x are translated to a
VMAC119 blank value. RACFUSER, TTPOL, TTPROF, FCHOSTNM, FCM1,
Feb 8, 2005 FCRS, FCSUSER, and UDLPHIGH.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 23.009 The RACF Database "Installation data" filed, INSTDATA,
VMACRACF can be $255, but only $40 was input.
Feb 8, 2005
Change 23.008 -Invalid ESS data that cannot be corrected in MXG caused
IMAC6ESS INPUT STATEMENT EXCEEDED. 0038x segment had Length=127,
VMAC6 but only 27 bytes of data, 0027x segment had length=0.
Feb 3, 2005 While IBM is contacted to resolve their errors, the only
circumvention is to insert MACRO STOPOVER MISSOVER %
as the first statement after //SYSIN. You will still see
MXGWARN: UNDECODED KEYS IN EXTENDED SMG 6 ESS DATA notes.
-A 0047x segment had 64 bytes when MXG expected 62, so the
size of FSSDATA field was increased to 99 bytes in this
change.
-The 0044x segment is supported creates ESSOFSTY variable.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 23.007 Five CPU variables in QAPMJOBL were incorrectly input as
VMACQACS milliseconds (&PD8.3) instead of microsedonds (&PD.8.6).
Feb 3, 2005 The "8.3" was changed to "8.6" for these variables in
the VMACQACS (with Change 22.371 as the last change):
JBCPU 5672
JBRUT 5736
JBSZWT 5757
JBTCPU 5780
JBMTXT 5792
Thanks to Paul Gillis, Pacific Systems Management Pty, AUSTRALIA.
Change 23.006 -Support for RACF Events 32-34,38-39,42-45,48,50,54-55,57,
EXTY8032 59,61-62, and 64 creates these
EXTY8033 these 18 new TYPE80A datasets:
EXTY8034 dddddd Dataset Description
EXTY8038 TY8032 TYPE8032 RACF EVT 32 CHANGE DIRECTORY
EXTY8039 TY8033 TYPE8033 RACF EVT 33 CHANGE FILE MODE
EXTY8042 TY8034 TYPE8034 RACF EVT 34 CHANGE FILE OWNERSHIP
EXTY8043 TY8038 TYPE8038 RACF EVT 38 INIT OF PROCESS
EXTY8044 TY8039 TYPE8039 RACF EVT 39 TERM OF PROCESS
EXTY8045 TY8042 TYPE8042 RACF EVT 42 MAKE DIRECTORY
EXTY8048 TY8043 TYPE8043 RACF EVT 43 MAKE NODE
EXTY8050 TY8044 TYPE8044 RACF EVT 44 MOUNT FILE SYSTEM
EXTY8054 TY8045 TYPE8045 RACF EVT 45 OPEN NEW FILE
EXTY8055 TY8048 TYPE8048 RACF EVT 48 REMOVE DIRECTORY
EXTY8057 TY8050 TYPE8050 RACF EVT 50 SET EFFECTIVE UID
EXTY8061 TY8054 TYPE8054 RACF EVT 54 UNLINK
EXTY8062 TY8055 TYPE8055 RACF EVT 55 UNMOUNT FILE SYSTEM
EXTY8064 TY8057 TYPE8057 RACF EVT 57 CHECK PRIVILEGE
IMAC80A TY8059 TYPE8059 RACF EVT 59 RACLINK
VMAC80A TY8061 TYPE8061 RACF EVT 61 IPCGET
VMXGINIT TY8062 TYPE8062 RACF EVT 62 IPCCTL
Feb 9, 2005 TY8064 TYPE8064 RACF EVT 64 CHKOWN2
-SMF 80 records with SMF80EVT=0 were discovered and were
being output to TYPE80CM dataset (which should always
have zero observations, since it is used only for events
that are not supported in MXG, and once you have one of
those events and send the SMF data, that event will be
supported!). IBM APAR OA03336 documents on condition
that causes SMF80EVT=0 and installing the PTF for that
APAR eliminated the RACFEVNT=0 observations.
Thanks to Peter Schubert, CITEC, AUSTRALIA
Change 23.005 An old VMXGSUM member in "USERID.SOURCLIB" caused message
VMXGSUM ERROR: APPARENT MACRO VGETENG NOT RESOLVED in BUILDPDB.
VMXGVERS The INSTALL instructions remind you to remove all of the
Feb 2, 2005 VMXGxxxx & VMACxxxx members from your tailoring library
when you install a new version. But even if you enable
diagnosic OPTIONS SOURCE SOURCE2 MACROGEN MPRINT; we can
only see members %INCLUDEd from your library; %VMXGxxxx
members are AUTOCALLed %MACROs, and they do not print the
source text on the log. To prevent these errors due to
a back-level %VMXG.... or %VGET.... macro, each of them
now invoke the %VMXGVERS macro that compares the member's
internal version number with the current MXG version, and
if they are inconsistent, prints this message:
MXGERROR: VMXGxxxx IS BACK-LEVEL AT NN.MM, ....
reminding you to remove that back-level VMXGxxxx member.
Thanks to Bill Whitehead, Experian, USA.
Change 23.004 Support for SAMS Vantage "LSPACE" record subtype, creates
EXSAMLSP SAMSLSPC dataset.
IMACSAMS
VMACSAMS
VMXGINIT
Feb 1, 2005
Thanks to Christelle Abily, GICM, FRANCE.
Change 23.003 Unused Change.
Change 23.002 Comments only. Description of the arguments for SYSTEM=
ANALAVAI and APPn= were confusing, and have been clarified.
Feb 1, 2005
Thanks to Allen O. Homonyom, Department of the Army, USA.
Change 23.001 NDM Subtype 'SY' caused INPUT STATEMENT EXCEEDED RECORD
VMACNDM error; the length in NDMSYOPL included itself, which was
Jan 30, 2005 not documented, causing MXG to read one byte too many.
After the @; after the INPUT of NDMSYOPL, insert
IF NDMSYOPL GT 0 THEN NDMSYOPL=NDMSYOPL-1;
Thanks to Victor Chacon, Verizon Wireless, USA.
LASTCHANGE: Version 23.
=========================Member=CHANGE22================================
/* COPYRIGHT (C) 1984-2005 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 22.22 is dated Feb 1, 2005, thru Change 22.378
Early MXG Version 22.22 was dated Jan 22, 2005, thru Change 22.366
MXG Version 22.13 was dated Jan 13, 2005, thru Change 22.350
First MXG Version 22.13 was dated Jan 12, 2005, thru Change 22.345
Final MXG Version 22.12 was dated Dec 11, 2004, thru Change 22.316
Second MXG Version 22.12 was dated Dec 10, 2004, thru Change 22.313
First MXG Version 22.12 was dated Dec 2, 2004, thru Change 22.308
MXG Version 22.11 was dated Oct 26, 2004, thru Change 22.277
MXG Version 22.10 was dated Oct 13, 2004, thru Change 22.264
MXG Version 22.09 was dated Aug 25, 2004, thru Change 22.227
Final MXG Version 22.08 was dated Aug 20, 2004, thru Change 22.219
Second MXG Version 22.08 was dated Aug 13, 2004, thru Change 22.207
First MXG Version 22.08 was dated Aug 12, 2004, thru Change 22.205
Final MXG Version 22.07 was dated Jul 25, 2004, thru Change 22.180
MXG Version 22.07 was dated Jul 23, 2004, thru Change 22.177
MXG Version 22.06 was dated Jun 15, 2004, thru Change 22.129
MXG Version 22.05 was dated May 22, 2004, thru Change 22.108
MXG Version 22.04 was dated May 2, 2004, thru Change 22.099
MXG Version 22.03 was dated Apr 5, 2004, thru Change 22.066
First MXG Version 22.03 was dated Apr 2, 2004, thru Change 22.063
MXG Version 22.02 was dated Mar 24, 2004, thru Change 22.055
MXG Version 22.01 was dated Mar 11, 2004, thru Change 22.036
First MXG Version 22.01 was dated Mar 10, 2004, thru Change 22.034
Final MXG Version 21.21 was dated Feb 11, 2004, thru Change 21.320
MXG Newsletter FORTY-FOUR was dated Feb 11, 2004.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 22.22 is now available upon request.
II. Incompatibilities and Installation of MXG 22.13.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 22.22 is available upon request.
Major enhancements added in MXG 22.22
BUILDPDB 22.365 BUILDPDB now sets Condition/Return code of zero.
ASUMMIPS 22.354 Interval Capacity by Workload, MIPS and MSU used.
ASMTAPEE 22.366 MXGTMNT ML-32, has MEXIT=ON,XMEMF=ON,ARCV=ON
TYPE110 22.359 Support for CICS/TS 3.1 with no EXCLUDEd fields.
UTILEXCL 22.347 New CICS/TS 3.1 WBREPRDL/WBREPWDL/PGCRECCT supported.
TYPE7072 22.349 Negative PCTMVSBY/CPUMVSTM/SHORTCPs, SMF70CNF bit 6.
TYPE30 22.375 IBM error in CPUIFATM, MXG error in SRVTCBTM.
TYPETPF 22.374 Support for MQ Series in TPF operating system.
TYPEQACS 22.371 Support for OS/400 5.3.0, new QAPMSYS dataset.
TYPEVMXA 22.369 Support for z/VM 4.4 and 5.1 new data (INCOMPATIBLE).
Major enhancements added in MXG 22.13
BUILDPDB 22.342 TYPE115/TYPE116 are now in BUILDPDB, will cause error
if you have already tailored MXG to add 115/116s.
You must remove your 115/116 tailoring from EXPDBxxx
or you will get this error message if you miss this:
ERROR: DATA SET WORK.MQMLOG IS ALREADY OPEN ....
BUILDPDB 22.320 MULTIDD='Y' obs now combined in PDB.SMFINTRV.
BUILDPDB 22.326 Variable CPUCEPTM now deaccum in PDB.SMFINTRV.
TYPE110 22.312 Support for CICS/TS 3.1 (INCOMPATIBLE).
UTILEXCL 22.350 Support for CICS/TS 3.1 new fields, errors fixed.
ASUMUOW 22.336 MQMACCT/MQMACCTQ data can be added to PDB.ASUMUOW
TYPE70 22.325 "Short CPs" variable SHORTCPS created in TYPE70.
TYPE70PR 22.325 "Short CPs" variable SHORTCPS created in TYPE70PR.
TYPETNG 22.339 Major TNG enhancement - array sizes dynamically set.
TYPE74 22.334 Support for APAR OA06476 type 74 subtype 5 and 8.
ONLYINTV 22.326 Example to build only PDB.SMFINTRV/PDB.TYPE30_6.
TYPE6 22.321 Support for second format type 6 PrintWay record.
TYPE7072 22.340 Revision to support for varying IFAs online/offline.
IMAC6ESS 22.332 Support for GEPARMKY 0036, 0041, 0043, fix 0034x.
TYPEHIOM 22.331 Support for hIOmon File I/O Performance Monitor.
This is a Windows environment monitor that tracks
I/O activity to the filename and user.
MONTHDSK 22.343 "MONTHBLD" program to build MONTHLY PDB on disk.
Major enhancements added in MXG 22.12
MXG 22.12 corrects IRD errors introduced in MXG 22.10/22.11.
MXG 22.12 corrects TYPE6 errors introduced in MXG 22.10/22.10.
TYPE6 22.309 Final correction for type 6 INPUT EXCEEDED errors.
TYPE6 22.298 SMF 6 STOPOVER on PrintWay section - missing @;
TYPE7072 22.307 Negative CPU values for IRD - Required CHANGE.
TYPEHURN 22.304 Support for ObjectStar subtype 45 Page Sweep.
TYPE6 22.302 Support for VPS V1 R8.0 VPS-FAX data
TYPE102 22.294 Support for APAR PQ73385,PQ91101 for IFCIDs 217, 225
TYPE102 22.294 Support for APAR PQ87848 for IFCID 173
TYPECIMS 22.314 Support for Mainview IMS IMF 4.1.00 (NO CHANGES!).
UTILEXCL 22.313 Support for APPLNAME,CANDEXNM,CANDEXTY CICS segments.
TYPENSPY 22.312 Support for NetSpy Version 7.0 (COMPATIBLE).
TYPEQACS 22.311 Support for OS/400 5.3.0 CONF/DISK/POLL/JOBL data.
ASMRMFV 22.316 Enhanced support for RMF III VSAM files.
TYPETNG 22.291 Support TNG NT Platforms NTW400I, WNS502I, ZPP501I.
VMACSMF 22.300 Use of FTP access to read SMF MVS-to-MVS supported.
ASUM70PR 22.293 LP0xxxxx variables now populated with PHYSICAL's data
CICINTRV 22.288 Comments show how to create PDB.CICINTRV from SMF.
VMXGPRAL 22.287 Enhancement to use PROC FREQ, example for 102 "who".
TYPE80A 22.286 Numerous enhancements, multiple RACF segments, etc.
ANALSIZE 22.276 Utility to analyze size of SAS data libraries.
ASUM70PR 22.274 Vars TOTSHARE/TOTSHARC kept for orig/current weights.
Major enhancements added in MXG 22.11
MXG 22.11 is NOW required for z/OS 1.6 with IFA/zAAPs, and it HAS
been tested with SMF 30, 70, and 72s from a system with real IFAs!
MXG 22.09 and MXG 22.10 do correctly support z/OS 1.6 without any
zAAP engines, but actual test data uncovered MXG errors and IBM
undocumented fields (Changes 22.272, 22.262, 22.265) that caused
most of the IFA/IFE fields to contain invalid values.
Additional enhancements in 22.11:
TYPE30 22.272 Support for zAAP IFA engines.
TYPE7072 22.272 Support for zAAP IFA engines.
TYPE30 22.265 Support for APAR OA09118, adds CPUCOEFF to SMF 30s.
TYPE94 22.268 Support for VTS R7.3 additional statistics.
TYPECMF 22.266 Support for CMF Version 5504 User SMF (INCOMPAT).
VMACDB2H 22.270 22.08-22.10 only. DB2 V8.1 INPUT STATEMENT EXCEEDED.
TYPE71 22.269 22.07-22.10 only. LPAxxxx variables missing values.
Major enhancements added in MXG 22.10
MXG 22.10 supports z/OS 1.6, but only if there are no IFA engines.
Additional enhancements in 22.10:
TYPE7072 22.260 Support for z/OS 1.6 WITH IFA engines.
TYPEVMXA 22.240 Support for z/VM 4.4, INCOMPAT.
TYPENTSM 22.246 Support for NTSMF Release 2.4.7 COMPATIBLE.
TYPEXAM 22.245 Support for XAMAP Release 3.4 INCOMPAT.
TYPETDSL 22.249 Support for TDSLink product's user SMF record.
TYPEBETA 22.250 Support for BETA93 Release 3.5 subtypes 0-5.
TYPETMDB 22.235 Support for ASG/Landmark TMON for DB2 V4.0 (COMPAT)
SYSLOG 22.238 Preliminary support for SYSLOG file.
ANALGART 22.242 Example analysis for Gartner Group requests.
ASUMCIMS 22.241 Example summarization of the four IMF datasets.
ERRORASC 22.239 ASCII platform errors when incorrect SMF download.
ANALFLSH 22.236 New member tracks concurrent flash copies executing.
TRND.... 22.258 Symbolics &TRENDINP,&TRENDNEW,&TRENDOLD added.
Major enhancements added in MXG 22.09
MXG 22.09 supports z/OS 1.6, but only if there are no IFA engines.
See Change 22.221 and especially MVS Technical Notes in NEWSLTRS.
Major enhancements added in MXG 22.08
MXG 22.08 is required for safe execution with SAS V9.1.2 or V9.1.3.
While MXG 22.07 had critical revisions for SAS 9.1.2, more design
changes were discovered in V9.1.2 that required more MXG changes.
In addition, Syncsort's add-on product PROC SYNCSORT was found to
corrupt INFORMATs, causing fatal errors in BUILDPDB, but because
I could remove all MXG INFORMAT statements faster than they could
even examine their error, I believe you can safely use that add-on
with MXG code (but you'll need to check your own code for INFORMAT
and watch for their eventual revised version that will work with
SAS V9.1.2). Note, the errors are in the PROC SYNCSORT add-on
product (which prints "PROC SYNCSORT" on your SAS log if used).
We have not seen these errors with the Syncsort Sort product.
The Syncsort ticket number # SR387805 is open for PROC SYNCSORT.
The details of the MXG changes that support V 9.1.2 and V 9.1.3 are
in the change text of the below MXG changes, but for execution of
MXG under "MVS", the only critical changes required are to:
- Install MXG 22.08 and use MXGSASV9 and CONFIGV9 from 22.08, and
- Run the UTILS2ER utility against all of your source libraries to
see if any lines of your SAS programs conflict with S2=72 option
that was required to replace the previous S2=0 option in MXG.
Changes related to SAS V9.1.2 and MXG execution:
CONFIGV9 22.207 NOTHREADS specified for 9.1.2 error, fixed in 9.1.3.
(the NOTHREADS change caused the Aug 13 re-date of MXG 22.08!),
CONFIGV9 22.108 CRITICAL Hot Fix SN-012437 Required for SAS V9.1.2
CONFIGV9 22.123 SAS V9 on MVS VB INCOMPAT: S2=72 must be S2=0.
MXGSASV9 22.130 Revised MXG JCL example for SAS V9, NLS names, etc.
MXGSASV9 22.126 SAS dsnames must be "W0", w-zero, not w-oh.
CONFIGV9 22.108 Support for V6SEQ under SAS V9.1
UTILS2ER 22.123 Utility to detect errors with S2=0 in your programs.
FLASH 22.108 CRITICAL SAS Hot Fix SN-012437 is REQUIRED for V9.1.2
Many 22.184 SAS V9.1.2 $VARYING design change protected.
AUTOEXEU 22.102 autoexec.sas file for unix, protects SASAUTOS error.
Some 22.108 Support for SAS V9.1 and V6SEQ without Hot Fix.
Many 22.192 Protection for PROC SYNCSORT error with SAS V9.1.2
Additional important enhancements in MXG 22.08:
TYPETMO2 22.191 Support for ASG/TMON TCE for CICS/ESA 2.3, COMPATIBLE
Many 22.180 Support for IFA CPU variables for zAAP processors.
Many 22.177 Update to define MACRO _Vdddddd for numeric SMF plus.
Many 22.192 All INFORMAT $NOTRAN statements were removed.
TYPEIMS7 22.199 Major revision to IMS0708 dataset, all events output.
VMACDB2H 22.196 Support for extended length DB2 id variables.
TYPENTSM 22.193 Support for NTSMF Exchange/Outlook/DTS CPU objects.
TYPENTSM 22.190 Support for NTSMF MicroStrategy Server objects.
TYPEOMVT 22.186 Omegamon/VTAM V520 IRNUM 29 Divide by zero corrected.
TYPE80A 22.185 Invalid SMF 80 Extended Relocate Section protected.
ANALRMFR 22.181 Enhancements to RMF reporting.
ADOC110 22.189 Major updated added 1300 lines of CICS documentation.
Note: The Aug 20 re-date of MXG 22.08 was made only because it was
easy to do; I discovered that members were missing from the
3480 tapes (not from ftp nor CD-rom shipments) and so I chose
to create replacement tapes with the added changes that were
made during the week.
Major enhancements added in MXG 22.07
TYPE7072 22.152 Support for IFA Processors, APAR OA05731.
TYPE7072 22.137 Support for z890 CPUTYPE 2086, OS/390-INCOMPAT.
TYPE74 22.141 Support for RMF 74 subtype 8 ESS Link Stats record.
TYPETNG 22.170 Support for TNG Windows Server 2003 new objects+fix.
IMACICHO 22.169 Hogan optional CICS data member now exists
TYPEHMF 22.168 Support for HMF V2.7 new subtypes, compatible.
TYPEHPDM 22.166 Support for STK ExHPDM user SMF record.
BUILDPDB 22.165 BUILDPDB detects overlapped SMF data previously read.
IMAC6ESS 22.161 Support for ESS GEPARMKY 003Bx and 0045x fields.
TYPETNG 22.160 REGION reduced for JCLTEST8 TESTOTHR due to TYPETNG.
UTILBLDP 22.149 Enhancement supports subtype selection in ZEROOBS.
VGETENG 22.148 Enhancement to get Engine and Device Type of LIBNAME
ASUM42DS 22.147 Performance enhancement reduce I/O, CPU using view.
TYPE119 22.146 TYP119nn datasets had GMT time zone, now have local.
JCLRMF 22.143 Example to create "RMF-only" PDB from SMF data.
ASUMUOW 22.139 Variables APPLID/USER/LUNAME/TERMINAL incorrect.
ANAL4GB 22.138 Revised to use DCOLLECT to detect large VSAM files.
IEFU84 22.136 SMF exit to get Initiator Name and Number for jobs.
ASUM70PR 22.135 MVS System Name of each LPAR, SMF70STN, added.
TYPE70 22.134 Percent when each engine online PCTONLN0-PCTONLNX.
TYPENDM 22.133 Support for several additional NDM-CDI subtypes.
TYPENSPY 22.131 TYPENSPY and TYPENETM combined, only one SMF record.
TYPENETM 22.131 TYPENSPY and TYPENETM combined, only one SMF record.
MXGSASV9 22.130 Revised MXG JCL example for SAS V9, NLS names, etc.
UTILCONT 22.175 Utility to Inventory the Megabyte Sizes of PDBs.
Major enhancements added in MXG 22.06
Really major:
Change 22.123 - SAS V9 on "MVS" INCOMPAT due to RECFM=VB on the
SAS-supplied SASMACRO library requires the MXG
default S2=72 be changed to S2=0, which itself
raises another potential incompatibility in SAS
programs, so new UTILS2ER must be run against
your SAS programs before migration to SAS V9,
or your programs may have strange ABENDs. See
extensive discussion in text of Change.
Change 22.121 - CPU time for DB2 Parallel Trans was not output
(i.e., lost, could be very large) in DB2ACCT.
See the Change text, and also the DB2 Technical
Note in Newsletter FORTY-FIVE.
CONFIGV9 22.123 SAS V9 on MVS VB INCOMPAT: S2=72 must be S2=0.
UTILS2ER 22.123 Utility to detect errors with S2=0 in your programs.
TYPEDB2 22.121 DB2 Parallel CPU time lost, not output in DB2ACCT.
TYPEDB2 22.124 MXG 22.04-05, QWHSSTCK missing in SMF 102 trace data.
EXDB2ACC 22.121 DB2 Parallel CPU time lost, not output in DB2ACCT.
TYPEIPAC 22.125 Support for IPAC subtype 5 IPAC05 corrections.
IMAC6ESS 22.117 Support for optional ESS segment GEPARMKY=003Bx.
BUILDPDB 22.115 JES3 PDB only; wrong TYPE26J3 used in BUILDPD3.
TYPE102G 22.109 TYPE102G to read DB2 Trace written to GTF didn't.
BLDIMPDB 22.128 ASCII equivalent of JCL for JCLIMSLx execution.
TYPEIMSA 22.113 ASCII execution only, APPLID not readable.
TYPEEDGS 22.112 INPUT STATEMENT EXCEEDED with MVRECLEV '02'x.
ANALFIOE 22.127 Run time improvement if SMF, instead of PDB, input.
BLDSMPDB 22.111 unix case sensitivity corrections
BLDNTPDB 22.111 unix case sensitivity corrections
MXGSASV9 22.126 SAS dsnames must be "W0", w-zero, not w-oh.
Major enhancements added in MXG 22.05
CONFIGV9 22.108 Support for V6SEQ under SAS V9.1
FLASH 22.108 CRITICAL SAS Hot Fix SN-012437 is REQUIRED for V9.1.2
TYPE102C 22.104 Support for Candle Omegamon II for DB2 IFCID Trace.
AUTOEXEU 22.102 autoexec.sas file for unix, protects SASAUTOS error.
Major enhancements added in MXG 22.04
TYPE110 22.094 Support for CICS/TS 2.3 with no EXCLUDEd fields.
(If you use UTILEXCL with your CICS/TS 2.3 data,
there was no error, but CICSTRAN without IMACEXCL
was wrong if all fields were present in 110-1.)
TYPEQACS 22.095 Support for OS/400 5.2 QAPMMIOP record new fields.
TYPETNG 22.085 Support for NT objects SESSION and USER in TNG cubes.
TYPEAIX 22.083 Support for AIX PTX new objects.
TYPEIBSM 22.079 Support for IBM Session Manager user SMF record.
TYPETPMX 22.077 Support for alternative multiple-ACCT field TPM data.
TYPE74 22.075 Support for 1024 structures in Coupling Facility.
UTILEXCL 22.068 Support for optional RMI data in CICSTRAN.
VMXGINIT 22.096 Macro variables &MACINTV and &MAC30DD created.
TYPEDB2 22.090 MXG 22.02-22.03 only. QWHSSTCK 1960 date in DB2ACCT.
TYPEDB2 22.084 Large QBSTGET in DB2STATB due to DB2 restart fixed.
TYPE70 22.087 Non-PR/SM, IORATE/PCTTPI variables too low.
TYPE7072 22.072 TYPE72GO with R723CWMN GT 0, Periods not output.
MONTHASC 22.064 Example "MONTHBLD" for ASCII systems.
AUTOEXEC 22.064 LIBNAME DUMMY added to support MONTHASC.
Major enhancements added in MXG 22.03
Revision of ThruPut Manager TYPETPMX to not use ARRAYS to save CPU.
(34 new datasets); Change 22.060.
Major enhancements added in MXG 22.02
If you are using IRD, you must install MXG 22.12 or later:
(This note originally said MXG 22.02, but now, Change 22.307 in
MXG 22.12 is required for IRD values to be correct!)
--Full Support for IRD (Intelligent Resource Director) is now in all
CPU-related datasets. IRD support was incremental in MXG:
Datasets When MXG Version Change
ASUM70PR/ASUMCEC Sep 22, 2003 21.05 21.170
TYPE70PR Mar 11, 2004 22.01 22.011
TYPE70,RMFINTRV Dec 2, 2005 22.12 22.307
PCTCPUBY in TYPE70 and RMFINTRV were wrong in any interval when IRD
varied CPUs offline. I'm embarrassed, since PCTCPUBY is the second
most important variable in all of MXG (CPUTM for billing is the most
important); this is the first PCTCPUBY error in MXG's history! When
all engines remained online, however, there was no error.
BUILDPDB 22.052 PDB.STEPS can have wrong EXCP,IOTM,TAPExxxx values,
but only in rare circumstance of identical INITTIMEs.
RMFINTRV 22.050 Variable PCTCPUBY wrong in RMFINTRV when IRD active.
TYPE70 22.050 Variable PCTCPUBY wrong in TYPE70 when IRD is active.
DB2STATB 22.045 Negative QBSTGET, other QBSTxxx, when 4-byte wrapped.
TYPEDB2 22.042 DB2 Stats records not written in subtype order.
ANALALL 22.040 Example now can write all SMF for selected job(s).
ASMTAPEE 22.038 ML-31 of MXGTMNT corrects GMT, MSC APAR support.
Major enhancements added in MXG 22.01
VMXGRMFI 22.017 BUILDPDB run time elongation, if output is to tape.
Circumvention: USE FREE=CLOSE on tape DDs. See text.
TYPE117 22.029 Support for SMF 117 WBIMB WebSphere Business Integrat
TYPE82 22.005 Support for SMF 82 Crypto subtypes 14 thru 19.
TYPEENDV 22.032 Support for Endeavor Release 4.0, INCOMPATIBLE.
TYPEHURN 22.006 Support for Huron/Object Star additional subtypes.
TYPESMSX 22.030 Support for DF/SMS Storage Class Exit User SMF record
Many 22.018 Hardcoded "SPIN" DDname now &SPININ,&SPINOUT macros.
TYPE120 22.014 WebSphere SMF 120s had GMT for many timestamps.
TYPE30 22.022 Variable SRVTCBTM,SRVSRBTM,CPUTOTTM created in TYPE30
TYPETMNT 22.012 RACFUSER/RACFTERM reversed, GMT times, INPUT EXCEEDED
TYPETPMX 22.008 (Final?) revisions to internal Thruput array names.
TYPE30 22.021 Job delays SMF30HQT/JQT/RQT/SQT revisions.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
All of these enhancements are described in the Change Log, below.
SAS Version requirement information:
MXG 22.08 or later is REQUIRED for SAS V9.1.2 or V9.1.3; see
"Major Enhancements in MXG 22.08" in CHANGES for details.
MXG executes best under the most recent SAS Version, with all
Critical HotFixes installed by your SAS Installer:
For SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with V7SEQ,V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3; earlier MXG notes that
they were required for 9.1.3 are wrong.
For SAS Version 8.2, HotFix Bundle 82BX08 is REQUIRED to be safe.
Sequential Engine Status:
V9SEQ is fixed in V9.1.3; it would be my default in CONFIGV9,
but I can't tell that you are at V9.1.3, and because V9SEQ
was badly broken prior to 9.1.3, I still have to use V6SEQ
and MXG's default in CONFIGV9. You should change to V9SEQ
in CONFIGV9 if you have installed SAS V9.1.3.
V6SEQ, if used under V9.1.2, requires SN-013514.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
MXG New Version QA tests are executed on z/OS with SAS V9.1.3 and
V8.2, and on (archaic) V6.09, and on Windows XP with SAS V9.1.3.
Previous tests of MXG Software have been run with SAS V9.1.2, SAS
V8.2 and V9.1 with Linux RH8 on Intel, with V9.1 on Solaris v2.8
model v880, and V9.1 on HP-UX v11.11 model rp5470, confirming full
compatibility. So MXG executes with SAS V9.1+ or SAS V8.2 on
every possible SAS platform! Each new MXG version is also tested
with SAS/ITSV/ITRM by ITRM developers.
Availability dates for the IBM products and MXG version required:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 21.05
z/OS IRD TYPE70PR Mar 11, 2004 22.01
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 22.12
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate Mar 31, 2004 20.20
DB2 8.1 New Data Supported Mar 31, 2004 21.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS/ESA 2.1 - 20.04
The Monitor for CICS/ESA 2.2 - 20.335, 21.134 21.04
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
Memorex/Telex
LMS 3.1 12.12A
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
II. Incompatibilities and Installation of MXG 22.10.
1. Incompatibilities introduced in MXG 22.22 (since MXG 21.21):
a- Changes in MXG architecture made between 22.22 and 21.21 that might
introduce incompatibilities.
NONE.
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.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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.
_PAGE_ 8
Alphabetical list of important changes in MXG 22.22 after MXG 21.21:
Dataset/
Member Change Description
Many 22.018 Hardcoded "SPIN" DDname now &SPININ,&SPINOUT macros.
Many 22.177 Update to define MACRO _Vdddddd for numeric SMF plus.
Many 22.180 Support for IFA CPU variables for zAAP processors.
Many 22.184 SAS V9.1.2 $VARYING design change protected.
Many 22.192 All INFORMAT $NOTRAN statements were removed.
Many 22.192 Protection for PROC SYNCSORT error with SAS V9.1.2
Some 22.108 Support for SAS V9.1 and V6SEQ without Hot Fix.
ADOC110 22.189 Major updated added 1300 lines of CICS documentation.
ANAL4GB 22.138 Revised to use DCOLLECT to detect large VSAM files.
ANAL94 22.114 IBM VTS Stat Report used SMFTIME, not STARTIME.
ANALALL 22.040 Example now can write all SMF for selected job(s).
ANALFIOE 22.127 Run time improvement if SMF, instead of PDB, input.
ANALFLSH 22.236 New member tracks concurrent flash copies executing.
ANALGART 22.242 Example analysis for Gartner Group requests.
ANALIDMS 22.372 Sample contributed report for IDMS response times.
ANALPATH 22.275 Support for 256 LCUs in the example report.
ANALRMFR 22.062 REPORT=ALL request failed due to HTTP report, fixed.
ANALRMFR 22.181 Enhancements to RMF reporting.
ANALSIZE 22.276 Utility to analyze size of SAS data libraries.
ASMRMFV 22.316 Enhanced support for RMF III VSAM files.
ASMTAPEE 22.038 ML-31 of MXGTMNT corrects GMT, MSC APAR support.
ASMTAPEE 22.366 MXGTMNT ML-32, has MEXIT=ON,XMEMF=ON,ARCV=ON
ASMTAPST 22.366 Prototype test MXGTMNT for STK HSC = please test.
ASUM42DS 22.147 Performance enhancement reduce I/O, CPU using view.
ASUM70PR 22.135 MVS System Name of each LPAR, SMF70STN, added.
ASUM70PR 22.274 Vars TOTSHARE/TOTSHARC kept for orig/current weights.
ASUM70PR 22.293 LP0xxxxx variables now populated with PHYSICAL's data
ASUMCACH 22.248 Protection for zero obs in PDB.TYPE74CA.
ASUMCIMS 22.241 Example summarization of the four IMF datasets.
ASUMHSM 22.282 Variable DATETIME was missing.
ASUMJOBS 22.031 Incorrect stats for jobs that did not purge.
ASUMMIPS 22.354 Interval Capacity by Workload, used MIPS and MSU.
ASUMUOW 22.139 Variables APPLID/USER/LUNAME/TERMINAL incorrect.
ASUMUOW 22.336 MQMACCT/MQMACCTQ data can be added to PDB.ASUMUOW
AUTOEXEC 22.064 LIBNAME DUMMY added to support MONTHASC.
AUTOEXEU 22.102 autoexec.sas file for unix, protects SASAUTOS error.
BLDIMPDB 22.128 ASCII equivalent of JCL for JCLIMSLx execution.
BLDNTPDB 22.111 unix case sensitivity corrections
BLDSMPDB 22.111 unix case sensitivity corrections
BLDSMPDB 22.329 Major enhancement to "PC Job Stream" for SMF on PC.
BUILDPDB 22.022 Variable LOSU_SEC,SRVTCBTM,SRVSRBTM,CPUTOTTM in PDB.
BUILDPDB 22.052 PDB.STEPS can have wrong EXCP,IOTM,TAPExxxx values.
BUILDPDB 22.115 JES3 PDB only; wrong TYPE26J3 used in BUILDPD3.
BUILDPDB 22.140 BY VARIABLES NOT SORTED FOR DATASET WORK.SPIN30TD.
BUILDPDB 22.165 BUILDPDB detects overlapped SMF data previously read.
BUILDPDB 22.320 MULTIDD='Y' obs now combined in PDB.SMFINTRV.
BUILDPDB 22.326 Variable CPUCEPTM now deaccum in PDB.SMFINTRV.
BUILDPDB 22.342 TYPE115/TYPE116 added to BUILDPDB, may cause errors.
BUILDPDB 22.365 BUILDPDB now sets Condition/Return code of zero.
CICINTRV 22.288 Comments show how to create PDB.CICINTRV from SMF.
CONFIGV9 22.108 CRITICAL Hot Fix SN-012437 Required for SAS V9.
CONFIGV9 22.123 SAS V9 on MVS VB INCOMPAT: S2=72 must be S2=0.
DB2STATB 22.045 Negative QBSTGET and other QBSTxxx, 4-bytes wrapped.
ERRORASC 22.239 ASCII platform errors when incorrect SMF download.
EXDB2ACC 22.121 DB2 Parallel CPU time lost, not output in DB2ACCT.
IEFU84 22.136 SMF exit to get Initiator Name and Number for jobs.
IHDRMQM 22.290 New "header" exit for MQ record selection.
IMAC6ESS 22.117 Support for optional ESS segment GEPARMKY=003Bx.
IMAC6ESS 22.161 Support for ESS GEPARMKY 003Bx and 0045x fields.
IMAC6ESS 22.332 Support for GEPARMKY 0036, 0041, 0043, fix 0034x.
IMACICHO 22.169 Hogan optional CICS data member now exists
IMACSHFT 22.058 Temporary variable SHFTTIME now dropped and not kept.
IMACZDAT 22.004 New ZTIME variable available.
JCLMNTHD 22.343 JCL example to build MONTHLY PDB on disk.
JCLRMF 22.143 Example to create "RMF-only" PDB from SMF data.
MONTHASC 22.064 Example "MONTHBLD" for ASCII systems.
MONTHDSK 22.343 "MONTHBLD" program to build MONTHLY PDB on disk.
MXGSASV9 22.126 SAS dsnames must be "W0", w-zero, not w-oh.
MXGSASV9 22.130 Revised MXG JCL example for SAS V9, NLS names, etc.
ONLYINTV 22.326 Example to build only PDB.SMFINTRV/PDB.TYPE30_6.
RMFINTRV 22.050 Variable PCTCPUBY wrong in RMFINTRV when IRD active.
RMFINTRV 22.088 Second VMXGRMFI invocation requires SPINRMIN= arg.
RMFINTRV 22.289 Duplicate observations for first hour.
SYSLOG 22.238 Preliminary support for SYSLOG file.
TESTOTHR 22.279 TYPEVTOC no longer executed in MXG test stream.
TRND.... 22.258 Symbolics &TRENDINP,&TRENDNEW,&TRENDOLD added.
TYPE102 22.074 T102S125 variables QW0125SN/PC/PL/PN/TS missing.
TYPE102 22.234 Support for IFCIDs 140-145 SQL text that was blank.
TYPE102 22.294 Support for APAR PQ73385,PQ91101 for IFCIDs 217, 225
TYPE102 22.294 Support for APAR PQ87848 for IFCID 173
TYPE102C 22.104 Support for Candle Omegamon II for DB2 IFCID Trace
TYPE102G 22.109 TYPE102G to read DB2 Trace written to GTF didn't.
TYPE110 22.059 CICS/TS 2.3 Pool Variables corrected in CICDSPOO.
TYPE110 22.094 Support for CICS/TS 2.3 with no EXCLUDEd fields.
TYPE110 22.359 Support for CICS/TS 3.1 with no EXCLUDEd fields.
TYPE117 22.029 Support for SMF 117 WBIMB WebSphere Business Integrat
TYPE119 22.073 TYP11910 variables UCINxxxx,UCOUxxxx corrected.
TYPE119 22.146 TYP119nn datasets had GMT time zone, now have local.
TYPE120 22.014 WebSphere SMF 120s had GMT for many timestamps.
TYPE30 22.021 Job delays SMF30HQT/JQT/RQT/SQT revisions.
TYPE30 22.022 Variable SRVTCBTM,SRVSRBTM,CPUTOTTM created in TYPE30
TYPE30 22.221 Support for z/OS 1.6 and zAAP/IFA Processors.
TYPE30 22.265 Support for APAR OA09118, adds CPUCOEFF to SMF 30s.
TYPE30 22.272 Support for zAAP IFA engines.
TYPE30 22.375 IBM Error in CPUIFATM, MXG Error in SRVTCBTM.
TYPE30MR 22.345 TYPE30MR dataset restructured and corrected.
TYPE42 22.254 False ERROR:INVALID TYPE 42 SUBTYPE 5 corrected.
TYPE42DS 22.055 TYPE42DS variable AVGIOQMX small negative value.
TYPE57 22.057 Support for optional ESS fields.
TYPE6 22.153 SUBSYS='TCP' or 'TCPE' for Printway SMF 6 records.
TYPE6 22.298 SMF 6 STOPOVER on PrintWay section - missing @;
TYPE6 22.302 Support for VPS V1 R8.0 VPS-FAX data
TYPE6 22.309 Final correction for type 6 INPUT EXCEEDED errors.
TYPE6 22.321 Support for second format type 6 PrintWay record.
TYPE70 22.050 Variable PCTCPUBY wrong in TYPE70 when IRD is active.
TYPE70 22.087 Non-PR/SM, IORATE/PCTTPI variables too low.
TYPE70 22.116 Variables SMF70NSI/NSA/NSW incorrectly divided.
TYPE70 22.134 Percent when each engine online PCTONLN0-PCTONLNX.
TYPE70 22.325 "Short CP" variable SHORTCPS created in TYPE70.
TYPE7072 22.063 Calculation of variable PCTDLTDQ in TYPE72GO revised.
TYPE7072 22.072 TYPE72GO with R723CWMN GT 0, Periods not output.
TYPE7072 22.137 Support for z890 CPUTYPE 2086, OS/390-INCOMPAT.
TYPE7072 22.152 Support for IFA Processors, APAR OA05731.
TYPE7072 22.221 Support for z/OS 1.6 and zAAP/IFA Processors.
TYPE7072 22.260 Support for z/OS 1.6 WITH IFA engines.
TYPE7072 22.272 Support for zAAP IFA engines.
TYPE7072 22.307 Negative CPU values for IRD - Required CHANGE.
TYPE7072 22.340 Revision to support for varying IFAs online/offline.
TYPE7072 22.349 Negative PCTMVSBY/CPUMVSTM/SHORTCPs, SMF70CNF bit 6.
TYPE70PR 22.011 PCTCPUBY for IRD was incorrect.
TYPE70PR 22.150 LPAR names for LPARs 16-32 now 8 bytes, were only 1.
TYPE71 22.269 22.07-22.10 only. LPAxxxx variables missing values.
TYPE74 22.075 Support for 1024 structures in Coupling Facility.
TYPE74 22.141 Support for RMF 74 subtype 8 ESS Link Stats record.
TYPE74 22.334 Support for APAR OA06476 type 74 subtype 5 and 8.
TYPE78 22.091 Variable PCTALLBY, TYPE78CU always missing, correct.
TYPE80A 22.185 Invalid SMF 80 Extended Relocate Section protected.
TYPE80A 22.286 Numerous enhancements, multiple RACF segments, etc.
TYPE82 22.005 Support for Crypto subtypes 14 thru 19.
TYPE94 22.268 Support for VTS R7.3 additional statistics.
TYPEAIX 22.083 Support for AIX PTX new objects.
TYPEBETA 22.250 Support for BETA93 Release 3.5 subtypes 0-5.
TYPECIMS 22.314 Support for Mainview IMS IMF 4.1.00 (NO CHANGES!).
TYPECMF 22.266 Support for CMF Version 5504 User SMF (INCOMPAT).
TYPEDB2 22.042 DB2 Stats records not written in subtype order.
TYPEDB2 22.084 Large QBSTGET in DB2STATB due to DB2 restart fixed.
TYPEDB2 22.090 MXG 22.02-22.03 only. QWHSSTCK 1960 date in DB2ACCT.
TYPEDB2 22.121 DB2 Parallel CPU time lost, not output in DB2ACCT.
TYPEDB2 22.124 MXG 22.04-05, QWHSSTCK missing in SMF 102 trace data.
TYPEEDGS 22.112 INPUT STATEMENT EXCEEDED with MVRECLEV '02'x.
TYPEENDV 22.032 Support for Endeavor Release 4.0, INCOMPATIBLE.
TYPEHIOM 22.331 Support for hIOmon File I/O Performance Monitor.
TYPEHMF 22.168 Support for HMF V2.7 new subtypes, compatible.
TYPEHPDM 22.166 Support for STK ExHPDM user SMF record.
TYPEHURN 22.006 Support for Huron/Object Star additional subtypes.
TYPEHURN 22.304 Support for ObjectStar subtype 45 Page Sweep.
TYPEIBSM 22.079 Support for IBM Session Manager user SMF record.
TYPEIMS7 22.199 Major revision to IMS0708 dataset, all events output.
TYPEIMSA 22.113 ASCII execution only, APPLID not readable.
TYPEIPAC 22.125 Support for IPAC subtype 5 IPAC05 corrections.
TYPEMVCI 22.296 Reading CMRDETL on ASCII platform - BLKSIZE error
TYPENDM 22.133 Support for several additional NDM-CDI subtypes.
TYPENETM 22.037 Support for NetMaster 5000x subtype.
TYPENETM 22.131 TYPENSPY and TYPENETM combined, only one SMF record.
TYPENSPY 22.131 TYPENSPY and TYPENETM combined, only one SMF record.
TYPENSPY 22.312 Support for NetSpy Version 7.0 (COMPATIBLE).
TYPENTSM 22.082 Variable MEMINBOX in NTCONFIG was wrong.
TYPENTSM 22.190 Support for NTSMF MicroStrategy Server objects.
TYPENTSM 22.193 Support for NTSMF Exchange/Outlook/DTS CPU objects.
TYPENTSM 22.246 Support for NTSMF Release 2.4.7 (COMPATIBLE).
TYPEOMVT 22.186 Omegamon/VTAM V520 IRNUM 29 Divide by zero corrected.
TYPEQACS 22.095 Support for OS/400 5.2 QAPMMIOP record new fields.
TYPEQACS 22.311 Support for OS/400 5.3.0 CONF/DISK/POLL/JOBL data.
TYPEQACS 22.371 Support for OS/400 5.3.0.
TYPESASU 22.163 Cannot use NODUP option with TYPESASU SAS user SMF.
TYPESMSX 22.030 Support for DF/SMS Storage Class Exit User SMF record
TYPETDSL 22.249 Support for TDSLink product's user SMF record.
TYPETMDB 22.235 Support for ASG/Landmark TMON for DB2 V4.0 (COMPAT)
TYPETMNT 22.012 RACFUSER/RACFTERM reversed, GMT times, INPUT EXCEEDED
TYPETMNT 22.237 DDNAME/STEPNR missing in PDB.ASUMTMNT corrected.
TYPETMO2 22.191 Support for ASG/TMON TCE for CICS/ESA 2.3, COMPATIBLE
TYPETNG 22.081 Protection for '9E'x for Left Square Bracket.
TYPETNG 22.085 Support for NT objects SESSION and USER in TNG cubes.
TYPETNG 22.160 REGION reduced for JCLTEST8 TESTOTHR due to TYPETNG.
TYPETNG 22.170 Support for TNG Windows Server 2003 new objects+fix.
TYPETNG 22.291 Support TNG NT Platforms NTW400I, WNS502I, ZPP501I.
TYPETNG 22.339 Major TNG enhancement - array sizes dynamically set.
TYPETPF 22.374 Support for MQ Series data from TPF Operating System.
TYPETPMX 22.008 (Final?) revisions to internal Thruput array names.
TYPETPMX 22.060 Restructure TPM support, multiple datasets created.
TYPETPMX 22.077 Support for alternative multiple-ACCT field TPM data.
TYPETPMX 22.142 INNODE, JBSBIND, JVLVOL, REQCLA varnames supported.
TYPEVIOP 22.101 Support new VIO/PLUS (Performance Enhancer) subtypes.
TYPEVMXA 22.240 Support for z/VM 4.4, INCOMPAT.
TYPEVMXA 22.369 Support for z/VM 4.4 and z/VM 5.1 additions.
TYPEXAM 22.245 Support for XAMAP Release 3.4 (INCOMPATIBLE).
UTILBLDP 22.149 Enhancement supports subtype selection in ZEROOBS.
UTILBLDP 22.277 New MACFILEX argument to insert SAS code.
UTILBLDP 22.301 Use of ZEROOBS= parameter could fail.
UTILCONT 22.356 ABEND with SAS V9 when PDB=WORK requested fixed.
UTILEXCL 22.068 Support for optional RMI data in CICSTRAN.
UTILEXCL 22.313 Support for APPLNAME,CANDEXNM,CANDEXTY CICS segments.
UTILEXCL 22.317 The final @; was not created in IMACEXCL.
UTILEXCL 22.347 New CICS/TS 3.1 WBREPRDL/WBREPWDL/PGCRECCT supported.
UTILS2ER 22.123 Utility to detect errors with S2=0 in your programs.
VGETENG 22.148 Enhancement to get Engine and Device Type of LIBNAME
VMACDB2H 22.196 Support for extended length DB2 id variables.
VMACDB2H 22.270 22.08-22.10 only. DB2 V8.1 INPUT STATEMENT EXCEEDED.
VMACSMF 22.271 _LOGSMF revised for TYPENDML.
VMACSMF 22.300 Use of FTP access to read SMF MVS-to-MVS failed.
VMXGINIT 22.096 Macro variables &MACINTV and &MAC30DD created.
VMXGPRAL 22.287 Enhancement to use PROC FREQ, example for 102 "who".
VMXGRMFI 22.017 BUILDPDB run time elongation, if output to tape.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 22.
====== Changes thru 22.378 were in MXG 22.22 dated Feb 1, 2005=========
Change 22.378 Type 74 subtype 8 (ESS 2105 PPRC RMD data) with nulls for
VMAC74 R748CFDT (DATE WHEN FIRST RECORD WRITTEN) caused R748CFTM
Jan 30, 2005 to be midnight on 1JAN1960. Now, R748CFTM is set missing
when R748CFDT is not populated.
Thanks to Shirley Fung, Hong Kong & Shanghai Bank, HONG KONG.
Change 22.377 This elegant tweak discovered by this user to my enhanced
TYPETNG dynamic array sizing uses even less virtual storage when
VMACTNG you have multiple TNG cubes from different systems. My
Jan 29, 2005 enhancement in Change 22.339 kept all instances from all
systems to set the array sizes, but by changing counting
from BY PLATFORM OBJECT to BY PLATFORM SYSTEM OBJECT, the
true count of unique instances needed for the array size
is much smaller; for example, NT042I dropped from 1008 to
489, and REGION dropped from 266MB to only 149MB.
-TYPETNG now prints the INSTREAM file on the log after it
was created, useful for debugging.
Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.
Change 22.376 -MXG 22.22 is the last to be tested under SAS V6 on MVS,
UTILXRF1 because my MVS QA site is removing Version 6, but the
UTILXRF2 final tests discovered two variables whose names were
Jan 29, 2005 longer than 8 bytes. While SAS V8+ permits longer names,
Jan 30, 2005 it is my intention to NEVER use them in MXG, not only as
I find them user-unfriendly, but also because all of my
ADOC/DOC members are designed for 8-byte variable names.
But this last test was a great wakeup, so I have enhanced
my Cross Reference utility, run during my Alpha QA tests,
to detect long variable names, and also, for similar
reasons, detect if I have created labels longer than 40.
-Dataset Labels were missing from many datasets in DOCVER,
even though the MXG code had a LABEL= dataset option in
the VMACxxxx members. Dataset labels are propagated from
the input to the output dataset if PROC COPY or PROC SORT
is used (even if the dataset name is changed in SORT),
but creating a new dataset from an old dataset does not
propagate the dataset label. Most MXG _Sdddddd dataset
macros use PROC SORT, and test data is used to determine
the correct BY list to remove duplicates, but when there
is no test data, DATA _Ldddddd; _Wdddddd; is used to
copy the "Work" dataset to the "PDB" output library, and
it was those instances that had missing labels in DOCVER.
While getting test data and revising the _Sdddddd to SORT
and remove duplicates is the eventual solution, to get
the dataset labels for MXG 22.22, I revised CROSSREF to
copy the _Wdddddd datasets to one library, and to copy
the _Ldddddd datasets to a second library, and to use the
label from the _Wdddddd dataset if the _Ldddddd copy had
a blank label. I could not just use the _Wdddddd data,
because some of the _Sdddddd macros add new variables;
in particular, when adjacent interval records have to be
deaccumulated, the _Sdddddd logic creates the DELTATM.
-There are still a few datasets that don't have labels.
Thanks to Jake M. Drew, MBNA, USA.
Change 22.375 MXG variable SRVTCBTM, a CPU TCB time that is calculated
VMAC30 from CPU TCB Service Units was wrong if the task executed
Jan 29, 2005 on a zAAP (IFA) engine, because the MXG calculation used
CPUUNITS before IFAUNITS had been removed from CPUUNITS.
-Now, the order of calculation is correct.
- SRVTCBTM was added by Change 22.022 to the TYPE30xx
datasets so that it could be compared with CPUTCBTM.
Cheryl thought that using Service Units might provide
higher resolution and less truncation for small jobs
due to the .01 second precision of CPUTCBTM, but my
analysis had not shown a significant difference.
- Change 22.221 documented that the "raw" CPUUNITS in
SMF 30 records include the IFA Service Units, but as
IBM provides the CPUIFATM and the coefficients, that
MXG created a separate variable, IFAUNITS, and those
IFA Service Units are removed from CPUUNITS.
-However, new analysis of SRVTCBTM in type 30 records for
2086 (z/890s) for tasks that use IFAs shows an error in
IBM's creation of CPUIFATM: the calculated SRVTCBTM is
significantly larger than CPUTCBTM when IFAs are used:
IFA? SRVCLASS CPUTCBTM SRVTCBTM Diff CPUIFATM
Yes STCHI 31.14 90.58 +59 80
Yes STCMED 129.29 333.35 +204 211
Yes STCHI 4057.62 4517.82 +460 689
Yes STCMED 23.37 118.91 +95 13
No STCHI 1253.96 1248.32 -5
No STCHI 242.15 241.79 0
No STCMED 266.03 265.80 0
IBM is fully aware of this problem and will undoubtedly
correct it in the near future.
Change 22.374 Support for MQ Series data from TPF creates two datasets
EXTPFMQC dddddd dataset description
EXTPFMQQ TPFMQC TPFMQC MQ SERIES CHANNEL INFORMATION
IMACTPF TPFMQQ TPFMQQ MQ SERIES QUEUE INFORMATION
VMACTPF
VMXGINIT
Jan 28, 2005
Change 22.373 Change 22.055 set AVGIOQMS to zero if a negative value
VMAC42 was calculated, due to clock differences, but that change
Jan 28, 2005 only applied to AVGIOQMS for TYPE42SR dataset. Now, the
other two datasets, TYPE42VT and TYPE42DS are protected.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 22.372 Sample contributed report for IDMS response times, using
ANALIDMS the PDB.IDMSTAS dataset built by TYPEIDMS from the IDMS-R
Jan 28, 2005 SMF record. The report also shows how you can send any
SAS report to your company's web site.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 22.371 Support for OS/400 5.3.0. New data in QAPMJOBM, QAPMSYSC
EXQAPDPS QAPMSYST and QAPMIODn, and new QAPMSYS replaces QAPMSYSL.
EXQAPJSU Change 22.311 supported new data in QAPMCONF, QAPMDISK,
IMACQACS QAPMPOLL and QAPMJOBL. As always with AS/400 support, if
JCLTEST8 you are running MXG on z/OS, you must make the LRECL of
JCLTEST9 the MVS dataset into which the QAPM file is sent to be
QASAS the same as the LRECL in the table in VMACQACS for that
VMACQACS dataset; on ASCII, it's the LRECL in your FILENAME that
VMXGINIT must match.
Jan 28, 2005 -The new QAPMSYS with 567 variables replaces QAPMSYSL, but
none of the old JSxxxx variables from QAPMSYSL exist in
QAPMSYS. QAPMSYS is the "long" (LRECL=3344) system file,
and you will need to add _TQAPSYS and //QAPMSYS DD to
create the new dataset.
-The new QAPMJSUM dataset is created with Job Statistics
Performance Data.
-The new QAPMDPS dataset is created with Data Port Service
Performance Data.
-Variables added to QAPMSYSC:
SCTACT - The number of CPUs, so variable PCTCPUBY is now
calculated as 100*SUM(OF SCPU01-SCPU32)/(SCTACT*INTSEC).
-Variables added to QAPMJOBM:
JBASH JBASHA JBBFA JBBFW JBBTA JBBTW
JBCOP JBCOS JBDOP JBDOS JBFSH JBFSHA
JBNSJE JBPGA JBPGD JBPJE JBSJD JBTNW
JBTWT JBUJD JBXRBR JBXRBW JBXRFS JBXRRR
JBXRRW JCUSR
-Variables added to QAPMSYST:
SYBTAC SYBTAP SYBTAPC SYBTAPD SYBTAPP SYCTA
SYIFTA SYIFTE SYIFUS SYJOC1 SYJOC2 SYJOC3
SYJOER SYJOES SYJOIB SYJOS1 SYJOS2 SYJOS3
SYLPTB SYNPLA SYNPLU SYNUAL SYNUTC SYSDFAL
SYSDFRL SYSDNFE SYSDNFO SYSDNST SYSDPFD
SYSDPFF SYSDTET SYSPTU SYUTA
Thanks to Clayton Buck, Unigroup, USA.
Change 22.370 The dataset name in the comments in the code that invokes
TYPEHO15 the _Edddddd macro was incorrect in a number of members,
VMAC84 but in some cases, it wasn't the name in comments, but it
VMACARB was the _Edddddd that was wrong, which caused those data
VMACCMFV to be output to the wrong dataset. Fortunately, none of
VMACTMDB these are "mainstream" datasets, so that error was never
VMACVITA noticed. The MXG QA stream now validates the comment and
Jan 27, 2005 the _Edddddd macro are consistent.
invoke it. This change corrects the dataset name typos
and makes the macro use more consistent within MXG code.
TYPEHO15 VMAC84 VMACARB VMACCMFV VMACTMDB VMACVITA
Thanks to Jake M. Drew, MBNA, USA.
Change 22.369 Support for new fields added to z/VM 4.4 and z/VM 5.1;
EXIODQDS INCOMPATIBLE only because MXG did not properly use the
EXMTRQDC offsets and lengths for the SYTCUG and SYTCUP datasets.
FORMATS -Added prior to z/VM 4.4, but not in MXG until now:
IMACVMXA SYTSYG - CPUCAPAB CPUCFGCT CPUCOUNT CPURESVD
VMACVMXA CPUSTNBY CTNABORT CTNDONE CTNNOTEL VL3CAF
VMXGINIT VL3CFGCT VL3COUNT VL3CPNAM VL3DBCT VL3MNAME
Jan 26, 2005 VL3RESVD VL3STNBY
Jan 27, 2005 USELOF - ASCDEFSZ VMDCTPVG VMDMVB2G VMDMXSHR VMDTHRCT
USEACT - ASCDEFSZ IPQFO IPQRQLO IPQRQHI IPQEFLO
IPQEFHI IPQDSKIP VMDCTPVG VMDMVB2G
-Added in z/VM 4.4:
IODDEV - SCGCOUNT SCGSSCH SCMDBTIM SCMIRTIM
IODMOF - SCGCOUNT SCGSSCH SCMDBTIM SCMIRTIM
MTRMEM - CALSCMAX HCPMMO HCPSYS RSAGSTOR SYSGTORS
SYSSCMEX SYSTRCPC
MTRSYS - CPUCFGCT CPUCHAR CPUCOUNT CPUDEDCT CPURESVD
CPUSHARD CPUSTNBY LPARCAF LPARNAME LPNUMBER
SYSMMODL SYSMPOM SYSMSEQC SYSMTYPE
STOASP - SCGSSCH
STOASS - SCMSSCH (expanded to 4 bytes)
SYTCUG - CPUCFGCT CPUCHAR CPUCOUNT CPUDEDCT CPURESVD
CPUSHARD CPUSTNBY LPARCAF LPARNAME LPNUMBER
SYTEPM - CSCCMCDP CSCCMCDU CSCCMCMP CSCCMCMS ECMMDUS
ECMMDUSC ECMMSNT ECMMSNTC ECMMUATS ECMMURB
ECMMURBC
SYTRSG - TCMMNBLW TCMMNABV RSA2GDCT SYSSCGCT
SYTSCG - CALTLKCT CALTLKTM
-Added in z/VM 5.1:
IODDEV - EDEVTYPE RDEVDEV
IODDTD - RDEVDEV
IODVOF - RDEVDEV
IODVON - EDEVFCP1-EDEVFCP8 EDEVLUN1-EDEVLUN8
EDEVTYPE EDEVWPN1-EDEVWPN8 RDCOBRCO RDCRCUC
RDEVDEVP RDEVPVFG RDEVSER RDEVSID RDEVSIDP
RDEVTYPE
MTRDEV - EDEVFCP1-EDEVFCP8 EDEVLUN1-EDEVLUN8
EDEVWPN1-EDEVWPN8 EDEVTYPE RDEVDEVP RDEVPVFG
RDEVSIDP
MTRPAG - RDEVDEV
MTRSYS - CPUCAPAB SCPCAPAB
STOASS - RDEVDEV
STOATC - RDEVDEV
SYTCUP - LCXPUPID
SYTXSG - TCMFSHVM TCMRDCT TCMPIN4K
USELOF - VEBALERT VEBHDWAI VEBSVSCT VEBTPIAI
VEBTVSCT VEBVIRAI
USEACT - VEBALERT VEBHDWAI VEBSVSCT VEBTPIAI
VEBTVSCT VEBVIRAI
USEATE - VEBALERT VEBHDWAI VEBSVSCT VEBTPIAI
VEBTVSCT VEBVIRAI
SYTSYG - SCPCAPAB
-New Datasets created in z/VM 5.1:
MTRQDC - QDIO DEVICE CONFIGURATION
IODQDS - QDIO ACTIVITY
Other new records will be supported only if you
have a need and can send test data for them:
MTRCCC, IODVSM, IODVSR, IODSZI, IODQDA, IODQDD.
Thanks to Kris Ferrier, State of Washington Dept Info Services, USA.
Thanks to Alexandre Dorsimont, SCNH, FRANCE.
Change 22.368 The "TOTALS" record was still output in XAMSYT, because
EXXAMSYT the test in EXXAMSYT was spelled 'TOTAL' but the actual
Jan 26, 2005 LPAR name test needed to be 'TOTALS:'.
Thanks to Joachim Mayr, Amadeus, GERMANY.
Change 22.367 MXG 22.13-22.22 only. Change 22.320 combined MULTIDD obs
BUILD005 from TYPE30_V into one PDB.SMFINTRV obs, but if you used
BUIL3005 IMACINTV to only output some of the TYPE30_V obs, then
Jan 25, 2005 PDB.SMFINTRV had more obs than were in TYPE30_V. All DDs
for all tape devices from all interval records are output
in TYPE30TD, independent of the TYPE30_V selections. The
TYPE30TD then becomes TYPE30VT, which is merged with the
INTVS (which is a stripped down TYPE30_V) and INT30VSIO
(the sum of all I/Os for the interval records), but now,
the merge is only OUTPUT if the obs is in INTVS.
Thanks to Ron Lundy, AHOLD, USA.
====== Changes thru 22.366 were in MXG 22.22 dated Jan 22, 2005=========
Change 22.366 The MXGTMNT Tape Mount Event and Sampling Monitor ML-32
ASMTAPEE is in member ASMTAPEE, with these enhancements:
ASMTAPST -The ML-32 revisions are primarily for IBM Tape Devices,
ASMTAPSK because it defaults to use the IBM Volume Mount Exit, and
Jan 22, 2005 STK doesn't support that exit. Thus these defaults in
Jan 27, 2005 the ASMTAPEE member will ONLY work with IBM devices:
MXIT=ON, use the IBM Volume Mount Exit to capture all
Mount Events (exit-driven, not sampling for mounts),
which also gets job-level fields for the Mount Event
so Cross Memory Service calls are not needed for the
mount record.
XMEMF=ON, use Cross Memory Services to get job-level
fields for the Allocation Event, which are detected
by sampling.
ARCV=ON, enable detection of Allocation Recovery thru
exit, to write a separate subtype for each delay
because a tape device could not be allocated. This
subtype creates the (new) PDB.TMNTTARC dataset.
-However, you can use ML-32 with STK devices: you have to
set MXIT OFF, so that the old sampling monitor is used to
detect mount events, even though that means that many of
your fast VTS mounts will not be captured. You also need
to leave XMEMF ON, so that Cross Memory Services is used
to get the job-level information for both mount events
and allocate events, even though that may increase the
CPU time used by the MXGTMNT monitor (because there is no
way to know that an address space is no longer present,
except to issue the XMEM call, and then go thru the very
CPU-expensive recovery mechanism when XMEM fails to find
the job, because it had already ended).
-And if you have both IBM and STK devices, you will need
to assemble two different MXGTMNT programs and run them
in two Started Tasks, and use the EXCLUDE LIST DD to tell
the IBM instance to exclude the STK devices by DEVNR, and
to tell the STK instance to exclude the IBM devices.
You can create the same SMF record for both monitors, or
you could set different SMF IDs, and then you would use
MACRO _IDTMNT nnn OR ID= mmm % in the IMACKEEP member
to tell MXG to process both IDs as MXGTMNT records.
-STK devices are allocated by STK's HSC product, which
does not call the IBM volume mount exit; we have written
a test program for the HSC SLSUX01 exit, but have not had
an STK site run the program, which will determine if we
can use that exit for STK devices (and thus eliminate the
sampling and missed mounts). Here's what we need:
ASMTAPST is a test exit for potential STK support. The
program is a wrapper for the site's current SLSUX01 HSC
exit. There is a DD in the linkedit step, HSCLOAD, that
points to the location of the site's current SLSUX01
exit. The output of the linkedit is a combined SLSUX01
exit that the site will use, instead of their current
SLSUX01 exit code. The HSCLOAD and SYSLMOD DDs must not
point to the same library, or the site's SLSUX01 will be
replaced. Once the ASM/LKED are done, the site will
have to define the new MXG version of that exit to HSC.
The logic is as follows:
-HSC calls the MXG SLSUX01.
-MXG SLSUX01 executes the site's local SLSUX01 as-is,
taking whatever actions, were coded by the site.
-Control is returned to MXG SLSUX01 where the code
will do some data gathering and issue WTOs to the job
log, reporting what was discovered, from which we can
tell if the HSC exit can be used for STK devices.
-MXG SLSUX01 returns to HSC.
Once you've installed our exit, run some jobs that
cause both VTS and non-VTS tape mounts, and send us the
MXGTMNT job log, which will show us if all mounts do
actually go through the exit, and what environment
exists at the time the exit is taken. From that info,
we may be able to figure out how to handle the STK
devices. Unfortunately, we have to depend on you to
run these tests, as STK has been unwilling to run these
tests for us on their systems.
- Just discovered: STK no longer provides a dummy exit
SLSUX01 in HSC 6.0! Member ASMTAPSK is the variant
of ASMTAPST that doesn't call that user exit.
-ML-32 corrects ML-31, in which setting MEXIT bypassed the
XMEMF call in the Allocation Monitor (causing job-level
fields to be missing in the allocation records). Now,
XMEMF on/off is independent of the MEXIT on/of setting.
-The TMNT004I message is updated before it is issued at
MXGTMNT initialization, to show any user modifications.
-STEPNAME is now correctly populated, and PROCSTEP name
has been added to TYPETMNT record for mounts.
-Using MXIT on IBM systems is only supported on z/OS. We
have seen, on OS/390 systems, that second and subsequent
mounts for a job-step are not captured by MXIT, and also
mounts from STCs (like DFHSM and JES2) are also missed.
This is just not worth fixing for those archaic systems.
-There is one know error in ML-31/ML-32; the Mount Start
time is taken as the entry time into the Volume Mount
Exit, which now appears to be the same as the Allocation
Allocation Start time, and for most mounts that is very
close to the IEF233I Mount Message timestamp, and hence
not a problem. But one site experienced very significant
delays (30 minutes!, due to hardware errors) between the
TMNTTIME time and the IEF233I time, so "asmguy@mxg.com"
is now working on a revision, ML-33, but it won't be done
and tested in time for MXG 22.22; please email a request
to support@mxg.com when you read this text, asking for
ML-33, and we'll email the revised ASMTAPEE when ready.
Change 22.365 BUILDPDB now sets Condition/Return Code of zero under V9!
BUILD005 SAS V9 tightened when Condition Codes were returned, and
VMAC26J2 the WARNING: LENGTH OF CHARACTER VARIABLE HAS BEEN SET
Jan 21, 2005 returned a CC=0 with SAS Version 8.2, but CC=4 with V9,
because JES3 JOBCLASS is $8, VMAC30 reads JES2 and JES3
30s, but VMAC26J2 for JES2 26s had JOBCLASS of $1, and
VMAC26J2 was located first in BUILDPDB to set $1 length.
This design increased JOBCLASS length in VMAC26J2 to $8,
eliminating the WARNING in the SMF-reading step where
VMAC30 and VMAC26J2 coexist, and new LENGTH JOBCLASS $1
statements were inserted in BUILD005 to keep only $1 for
JES2 JOBCLASS in the PDB and SPIN datasets, so that old
and new datasets built before and after this redesign
will still have a one byte JES2 JOBCLASS variable.
-TYPE30 used by itself always had JOBCLASS $8, so that did
not change; only if you use TYPE26J2 by itself would you
notice that JOBCLASS's length is now $8 instead of $1.
But with MXG's COMPRESS=YES default, you shouldn't see
any increase in the size 'cause those 7 blank bytes will
get compressed real good!
-The SAS change was noted in MXG Newsletter FORTY-FOUR,
but that note was revised, citing this MXG change.
-This should make migration from V8 to V9 even easier.
Change 22.364 Variables BLKPAGE, BLKSAUIN, and NRBLKPAGE in TYPE71 are
VMAC71 rates (per second, like all paging activity rates), but
Jan 21, 2005 their labels did not so indicate; now, they do.
Thanks to David Kaplan, DTC, USA.
Change 22.363 -The JES3 Workload Management Section variables (added to
BUILD005 SMF 26 in OS/390 R2.4; already in TYPE26J2 and PDB.JOBS
BUIL3005 for JES2, are now kept in JE3's TYPE26J3 and PDB.JOBS.
VMAC26J3 JOBMODE0='RAN*IN*MODE=WLM'
Jan 21, 2005 JOBMODE1='RAN*F*J=JOB,RUN'
SMF26WCL='SERVICE*CLASS AT*EXECUTION'
SMF26WIN='JOB*INDICATORS'
SMF26WJC='JOB*CLASS'
SMF26WOC='ORIGINAL*SERVICE*CLASS'
SMF26WSE='SCHEDULING*ENVIRONMENT'
-Variable SMF26WSE, the Scheduling Environment name, was
only previously kept in JES2's PDB.JOBS, but this change
adds SMF26WSE to PDB.STEPS for both JES2 and JES3, as it
is often useful examine STEPS-level data (i.e., PROGRAM)
and the Scheduling Environment name that caused that PGM
to execute on this SYSTEM.
Thanks to Julian Smailes, Experian, ENGLAND.
Change 22.362 Cosmetic. The include of VMACSMF in these products was
Several not needed, as they read different INFILES. No error,
Jan 21, 2005 but it could have been confusing. Members changed:
TYPEASXT, TYPECMFV, TYPEEAGL, TYPEIDML, TYPEMVCI,
TYPEOMDB, TYPEUNIA, TYPEUNIK, and TYPEVITA and TYPS's.
Thanks to Freddie Arie, TXU, USA.
Change 22.361 Variable SYSTEM was blank in PDB.ASUMUOW if there was no
VMXGUOW DB2ACCT observation for that unit of work. The value of
Jan 20, 2005 SYSTEM comes from the last of the two input datasets
(CICS,DB2) that contributed to the PDB.ASUMUOW obs, so
if there are DB2 obs, the SYSTEM of the last DB2ACCT
observation will be the source of the value of SYSTEM.
Thanks to Ron Root, Texas Comptroller of Public Accounts, USA.
Change 22.360 On z/890s with z/OS 1.4 but with SMF70LAC=0, values in
FORMATS the variables CECSUSEC, CPCNRCPU, CPUMSU were missing
VMXGRMFI because the $MG070CP format's table for CPUTYPE='2086'x
Jan 19, 2005 was wrong. When SMF70LAC GT 0, those variables are in
the SMF 70, but the $MG070CP table has to be used when
SMF70LAC=0. MXG ERROR: CPUTYPE WAS NOT FOUND IN TABLE,
CECSUSEC IS MISSING was printed (obscurely) on the SAS
log by RMFINTRV code; this change enhanced that message
in case it again occurs. Changes 21.299 and 20.168 noted
that SMF70LAC was zero on basic (non-LPAR) machines, or
on LPAR'd machines if APAR OW55509 was not installed and
the LPAR had no defined capacity limit. This system was
not running in 64-bit mode, which may also be required
for SMF70LAC to be non-zero.
Thanks to Diane Parker, AmerisourceBergen Corp, USA.
Change 22.359 Full support for CICS/TS 3.1 was only in UTILEXCL in
VMAC110 22.13 as the three new fields (328,341,342) during the
Jan 18, 2005 ESP were not added to VMAC110 INPUT for SMFPSRVR=64.0
until today. MXG 22.13 tested MCTSSDCN=283, but now
MCTSSDCN=286 and MCTSSDRL=1848 is tested for
non-excluded-field records. Using UTILEXCL to create
IMACEXCL has always been the recommended way to minimize
the size of your CICS 110s, and even if there are added
fields, since UTILEXCL read your CICS dictionary records,
it will generate code to skip over any unrecognized
fields (and will tell you on the log it found unknown
fields, so they can be added to the MXG UTILEXCL and
VMAC110 members.
Thanks to Roland Schiradin, Alte-Leipziger, GERMANY.
Thanks to Lambros Theodorides, Alte-Leipziger, GERMANY.
Change 22.358 CALTODON, the datetime stamp when user Logged on, was not
VMACVMXA converted from GMT to local time, but now it is.
Jan 18, 2005
Thanks to Xiaobo Zhang, ISO, USA.
Change 22.357 UTILBLDP failed with USERADD=118 because VMACTCP defines
UTILBLDP the macros for SMF 118; originally, the TCP record was a
Jan 18, 2005 User SMF record, and only later was given ID=118. Now,
UTILBLDP is coded for this inconsistency and will work if
use USERADD=118 or USERADD=TCP.
Thanks to Keith McWhorter, Georgia Technology Authority, USA.
Change 22.356 UTILCONT reports SAS Data Set sized in MegaBytes; as is
UTILCONT documented in its comments, it can cause log messages of:
Jan 18, 2005 WARNING: LIBRARY xxx WAS ALREADY ALLOCATED
ERROR: LIBRARY xxx MAY NOT BE REASSIGNED
ERROR: DISP=SHR CONFLICTS ASSIGNED
ERROR: LIBNAME XXX IS NOT ASSIGNED
but with MXG default options, these messages to NOT cause
a condition code, nor does the job fail, and the reports
are produced. However, if you have set the SAS Option to
ERRORCHECK=STRICT (default is NORMAL), then errors like
the above in LIBNAME statements do cause ERRORABEND to be
invoked, and the step fails with USER ABEND 999.
An ABEND did occur with %UTILCONT(PDB=WORK); due to the
changes made in Change 22.175, when MXG 22.12 was tested.
This change to UTILCONT detects that the LIBNAME of WORK
was requested and does not reassign it, avoiding those
messages for the WORK library, and the ABEND.
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.
Change 22.355 EDGRKEXT was wrong; the first +1 did not exist. New
VMACEDGR variables RKRELIXD RKRELSI RKRETAND RKRETNCD RKRETNXD
Jan 17, 2005 are now output.
Thanks to Reinhard Nitsch, Provinzial Vershicherungen, GERMANY.
Change 22.354 Capacity used for each interval for each workload, for
ASUMMIPS each service and reporting class from PDB.TYPE72GO, and
Jan 16, 2005 for each job from PDB.SMFINTRV, with MIPSUSED, MSUUSED,
Jan 22, 2005 and PCTUSED variables, is created in two output datasets
named PDB.RMFMSUSE and PDB.SMFMSUSE by the ASUMMIPS code.
I think MSU is a much better capacity measure than MIPS,
but I used "MIPS" to name the member, so that, when your
boss asks for an MXG report on MIPS used, you will find
this program, which uses MSUUSED and MSU Capacity for the
PCTUSED, but also calculates MIPSUSED from MSUUSED.
-Note that the conversion from MSU to MIPS uses a factor
that you will likely have to change to meet your boss's
MIPS rating of your hardware. IBM giveth the MSU rating.
Comments show how to determine the factor for your boss,
and you can set different factors for different systems.
-The MIPSUSED are the MSUUSED, multiplied by the factor
you set; the default factor is 5.8 MIPS for each MSU, but
IBM now has a factor of 6.7 MIPS for each MSU for T-REX.
-See MXG Newsletter FORTY-ONE, MVS Technical Note 24, for
my documentation of MSU metrics and the MSU capacity
variables that are reported in the ASUMMIPS examples.
-PDB.RMFMSUSE is created from RMFINTRV and TYPE72GO data,
for capacity used by each Service and Reporting Class in
each interval. Be careful: PDB.RMFMSUSE has duplicate
data, because it keeps both the Reporting and Service
Class obs. You will need to select which obs are of
interest for your reporting, before you do any summary of
the data in PDB.RMFMSUSE.
-PDB.SMFMSUSE is created from RMFINTRV and SMFINTRV data,
for capacity used by each JOB in each interval. If your
SMFINTRV data is NOT globally synchronized, the results
in PDB.SMFMSUSE may be inaccurate:
If your RMF Interval is on 0 minutes, but your SMF data
is on 3 minutes, the 00:00 to 00:10 interval created in
PDB.SMFMSUSE includes CPU time from jobs's intervals
that executed from 00:03 to 00:13.
-In both datasets, the MSU capacity is calculated from the
CECSUSEC of the hardware platform, not from the SU_SEC of
the MVS System, because that's what IBM uses in its MSU
calculations. I use the NRCPUS (average number of CPUs
that IRD gave to this MVS system ) to get the capacity
of the specific interval (DURATM). To compare with IBM
hourly MSU rates, you need to multiply by the ratio of
3600 divided by DURATM of your interval data.
-The PCTUSED is the percentage of MSUUSED by the job or
service/reporting class during this interval, divided
by the interval MSU capacity (using average NRCPUS),
which MXG calculates in variable INTMSUCP.
-Be careful to not confuse MIPS/MSU counts with MSU rates.
Read the Newsletter Article (again).
-Macros define the input "RMFINTRV" dataset that is used,
which sets the output interval, and macros define the
output dataset names. The MXG default interval for
"RMFINTRV" is your RMF Interval, but you can execute the
RMFINTRV program many times to create multiple "RMFINTRV"
datasets, each with different interval (see comments in
member RMFINTRV). For example, Hourly in RMFINTHR,
Shiftly in RMFINTSH, Daily in RMFINTDY. Comments in
ASUMMIPS member show how to execute it and how to tailor
it for your needs.
Thanks to George Canning, Abbey Plc, ENGLAND.
Change 22.353 The ERROR*RMFINTRV. WORKLOAD CPU TIMES DO NOT MATCH ...
VMXGRMFI is printed when the sum (CPU72TM) of the workloads that
Jan 16, 2005 you defined, either in your tailored RMFINTRV member
(the recommended way to define which Service/Reporting
Classes you want combined into PDB.RMFINTRV workloads),
or in your tailored IMACWORK member (the old way), do not
match the sum (CPUTM) of all Service-only Classes.
The text of the message was enhanced to show both times
in both TIME12.2 and 8.2 formats and they are collimated
for easier reading.
-If you do receive that error message, you need to review
your RMFINTRV/IMACWORK definitions, and review your data,
which is the purpose of the UTILRMFI program, which will
examine both your TYPE72GO and STEPS/SMFINTRV data to
provide explicit answers, but UTILRMFI requires manual
EDITing, and could require re-reading of your SMF data.
This PROC FREQ might be sufficient to show the error:
PROC FREQ DATA=PDB.TYPE72GO
(WHERE=(STARTIME='02JAN2005:08:00:00'DT));
BY SYSPLEX SYSTEM;
TABLES RPRTCLAS*SRVCLASS*STARTIME/MISSING;
WEIGHT CPUTM;
FORMAT STARTIME DATETIME13.;RUN;
My error message was the result of using an old RMFINTRV
that had USEREPRT=GOAL (use ONLY Reporting Classes), but
the test data I was looking at (for other purposes!) did
not have 100% of its Service Classes mapped to Reporting
Classes. The preceding PROC FREQ showed that the CPUTM
was exactly equal to the RPRTCLAS=' ' observations, and
that CPU72TM was exactly equal to the RPRTCLAS='Y' obs,
and that CPU72TM was less than CPUTM. The PROC FREQ is
also useful since it shows the CPU time and the names of
all Service and Reporting Classes in the interval.
Change 22.352 Test for short record expanded to test both LENMONI and
VMACTMO2 LENGTH, because an archive file contained two 80-byte
Jan 14, 2005 records that contained '4040'x for LENMONI.
Thanks to Tom Parker, CSC, USA.
Change 22.351 HSM format MGHSMFU for 13 is 13:FULL VOLUME DUMP instead
FORMATS of 13:DELETE BACKUP VERSIONS, and descriptions were made
Jan 14, 2005 clearer for migration formats.
Thanks to Michael Yuan, University of California, USA.
====== Changes thru 22.350 were in MXG 22.13 dated Jan 13, 2005=========
Change 22.350 New CICS/TS 3.1 variables WBREPRDL, WBREPWDL, PGCRECCT
UTILEXCL were found in PDB.CICSDICT and are now supported in the
VMAC110 UTILEXCL member, and WBSNDOU1 test was corrected.
Jan 13, 2005 -Duplicate variables were not removed from SORTTEST so
and additional DATA step was added to remove them all.
Without this change, 180 errors when TYPE110 was executed
with IMACEXCL built by the earlier UTILEXCL.
Thanks to Tory Lepak, Aetna, USA.
Change 22.349 Change 22.325 created SHORTCPS/PLCPRDYQ variables, but
VMAC7072 negative values were found in a few TYPE70 observations.
VMXGINIT Those obs also had PCTMVSBY and CPUMVSTM negative, values
Jan 13, 2005 of MVSWAITx greater than DURATM, and unreasonably large
Jan 29, 2005 IORATE values, at two sites, both using IRD (Intelligent
Resource Director, the WLM component that varies engines
on/offline as needed. The occasionally bad data records
occurred with both z/OS 1.4 and 1.5, and all of the RMF
70 records with bad data had SMF70CNF bit 6 on ('02'x or
'03'x in MXG variables CAIx), and no observations with
bit 6 off had bad data values, and only some CPU Data
segments in each bad record had bad data.
-None of the LPAR bits indicated a change in CPUs, but in
one z/OS 1.5 case examined closely, in the LPAR segment
for the CPUID that had CAI='02'x, SMF70ONT was only 230
milliseconds less than SMF70INT/DURATM; the next interval
shows that engine remained offline (CAI='00'x), so it
appears the bad data may only occur when IRD has varied
an engine off right at the end of an interval.
-When engines had been IRD'd on/off with good data, they
had SMF70ONT values that were a multiple of 10 minutes,
the normal WLM decision interval for varying engines.
-SMF70CNF bit 6 was documented in the SMF manual as
"CPU reconfigured during the measurement interval (data
for this CPU is incorrect)"
However, RMF Development now says that the "incorrect"
part of the doc is out of data, is no longer true, and
will be revised.
-Both sites had SLIH counts of 20-30 million in 900 second
(15 minute) interval data, which was much above the value
in normal observations from both sites.
-Many obs had SMF70WAT (CPUWAITM) much larger than DURATM
in the observations with bit 6 on (as much as 26 Hours of
Wait in a 15 minute interval) at one site, while the
second size always had SMF70WAT of zero when bit 6 was on
(which is likely also wrong, as that would be 100% busy
for that engine, which was inconsistent with the other
engines in the LPAR for that interval).
-One of the sites will opening a PMR with IBM, after I had
extensive discussions with RMF Development, but that will
require IBM Support to design a SLIP trap to diagnose the
problem, which will take some time and effort by both IBM
and the customer.
-I had revised MXG code to detect that CNF bit 6 is on, in
this original change, so that you could choose to cause
those bad values to be instead be set to a missing value,
simply by inserting this optional statement:
%LET CNFBIT6=1;
after your //SYSIN. And this change originally made the
MXG default to calculate the bad values, so that you'd
know they existed. Fortunately, that bad data only
affects variables that are "MVS-specific" and are not the
"mainstream" variables you use for CPU calculations; they
have been there some time and were not observed until I
added the Short CPs variables.
HOWEVER: UPDATE JAN, 2006: SPLIT 70 Rewrite eliminated
the CNFBIT6 macro variable option, and these data are
always presented. See change 23.321.
-Several MXG sites without IRD have run the program and
none have seen the symptoms, but that's not conclusive.
-In conclusion, these MXG variables in PDB.TYPE70 and in
PDB.RMFINTRV (where not all are kept) may be negative or
incorrect with MXG's default
PCTMVSBY MVSWAITn SHORTCPS PLCPRDYQ CPUMVSTM
when corresponding CAIx variables have 02x or 03x values.
-Additional notes from RMF Development elaborate meanings:
MXG Variable LPARCHNR='Y' if Bit 1 of SMF70PFG is on:
Bit 1 of PFG (Number of Logical Processors has
Changed) does not indicate any online/offline
activity; it it indicates whether the number of
logical processors changed and does not care whether
those processors are online or offline or whether
their on/of status changed.
MXG Variable LCPUVARY='Y' if Bit 5 of SMF70VPF is on:
Bit 5 of VPF (log proc varied online during interval)
is only set when the processor turned ONLINE compared
to the status at the end of the previous interval
(this is more or less a bit from the old days, prior
to WLM CPU mgmt).
-You can use the below program, to analyze your existing
TYPE70 data to see if the problem exists in at your site:
/* CNFBIT6 PROGRAM, EXAMINE SMF70CNF BIT 6 ERRORS */
/* DISREGARD THE MESSAGES ON THE LOG THAT STATE: */
/* THERE ARE NO VALID OBSERVATIONS... */
PROC CHART DATA=PDB.TYPE70;
BY SYSPLEX SYSTEM MVSLEVEL DURATM NOTSORTED;
HBAR CPUWAIT1-CPUWAIT9 IORATE CAI1-CAI9;
TITLE MXG INVESTIGATION OF SMF70CNF BIT 6 ERROR;
TITLE2 CPUWAIT GT DURATM IS AN ERROR CONDITION;
TITLE3 IORATE GT 10000 IS LIKELY AN ERROR CONDITION;
TITLE3 ONLINE STATUS OF 02-03 ARE SMF70CNF BIT 6 ON;
LABEL SYSPLEX='SYSPLEX' SYSTEM='SYSTEM'
MVSLEVEL='MVSLEVEL' DURATM='DURATM';
Thanks to MP Welch, SPRINT, USA.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Michael Oujesky, MBNA, USA
Change 22.348 The actual variable names are CPUIFATM and CPUIFETM, but
Several there still were references in several members to the
Jan 12, 2005 original-last-August names of IFACPUTM and IFECPUTM.
Thanks to Raimo Korhonen, CompMeas Consulting Oy, FINLAND.
Change 22.347 The IMACEXCL member generated for CICS/TS 3.1 data could
UTILEXCL fail with 180 abend starting with variable PGTOTCCT.
Jan 12, 2005
Thanks to Victoria Lepak, Aetna, USA.
Change 22.346 PCTCPUBY for non PR/SM system was wrong; it was either
VMAC7072 the busy of the last engine, or missing, if the last CPU
Jan 12, 2005 was offline. And the IORATE was way wrong, as it was the
IORATE of the last engine, not the total of all engines.
Thanks to Mary Kay Pettengill, (i)Structure, USA.
====== Changes thru 22.345 were in MXG 22.13 dated Jan 12, 2005=========
Change 22.345 The support for Multi-System Remote Enclave CPU segment
VMAC30 in Change 22.051 was flat out wrong; I was misled by my
Jan 12, 2005 own error: my code INPUT the MOF/MLN/MNO triplet at the
same location as the ARM triplet offset. The data DOES
agree with IBM documentation, and, with this change, the
IBM field names are the MXG variable names in TYPE30MR.
Note: the SMF30MRD/SMF30MRI CPU times are normalized by
MXG back to the system on which this type 30 was created,
but both SMF30MRA and LOSU_SEC variables are kept in the
TYPE30MR dataset, in case you want to do it differently.
The sum of SMF30MRD/SMF30MRI in all MR segments in this
SMF 30 record are summed into variables CPUMRDTM/CPUMRITM
which already existed in TYPE30_4(PDB.STEPS) and TYPE30_5
and are now also kept in TYPE30_V (PDB.SMFINTRV).
However, CPUMRDTM/CPUMRITM are NOT added into CPUTM, at
least not yet by this change; since they have never been
right, they could not have been used, and it is not
clear exactly what use will be made of those CPU times
that occurred on other systems. Your feedback is wanted!
Especially, since I do not have any type 30 records with
the Multi-System segment with which to validate!!
-The original MXG variable names RMSU_SEC and MRENSYST are
now replaced by SMF30MRA and SMF30MRS respectively.
Thanks to Robert Vaupel, IBM RMF Development, GERMANY.
Change 22.344 If you have too many LPARs and LCPUADDRs, it is possible
VMAC7072 for IBM to split your RMF 70 data into multiple physical
Jan 11, 2005 records for each interval, and this is not YET supported
in MXG (because no one yet has actually made it happen).
At least now, MXG will detect the split records and will
alert you with error messages and hex dumps of the first
10 records with SMF70RAN non-zero, and will tell you that
your TYPE70, TYPE70PR, ASUM70PR, ASUM70LP, and ASUMCEC
data are wrong, and that TYPE70 will have multiple obs
for a single RMF interval. Eventually, MXG will support
the split records, and this change text will be revised.
====== Changes thru 22.343 were in MXG 22.13 dated Jan 10, 2005=========
Change 22.343 Discussion and examples for building MONTHLY PDBs.
JCLMNTH -The existing JCLMONTH and JCLMNTH both assume you want to
JCLMNTHD build your MONTH PDB on tape. The original JCLMONTH read
JCLMONTH five weekly PDBs and created MONTH as a sequential format
MONTHBLD ("tape format") SAS data library, but there are multiple
MONTHDSK mounts and rewinds when multiple data steps are used to
Jan 9, 2005 write multiple datasets to a seq-format library on tape.
So the JCLMONTH was revised (in 1987!) to write each
dataset first in sequential format to //TAPETEMP DD on
DASD, and MVS's MOD was used to add each dataset to the
end of the tape, to eliminate backspace/rewind delays.
-But even then, if your weekly PDBs were each on tape, the
JCLMONTH required six tape drives, one for each weekly
PDB and one for the MONTH output data library. So 1992s
JCLMNTH example enhanced the process by requiring only
one tape drive, by first PROC COPYing each weekly tape
PDB with SELECT of the needed datasets to temporary DASD,
(with UNIT=AFF so only one tape drive was needed to read
all weekly PDBs), and then the MONTH PDB was created
using //TAPETEMP, MOD, and UNIT=AFF on the same drive.
-While both JCLMONTH or JCLMNTH were designed to write the
//MONTH to tape, you could write MONTH to a DASD DD.
However, a data library in sequential (tape) format has
no directory, so you must read all N-1 preceding SAS
data sets to read the Nth dataset you wanted, wasting CPU
and I/O.
-In addition, you may have been wasting a lot of DASD
space if you wrote your //MONTH to DASD in sequential
format. This entire discussion was precipitated when the
reporting site's monthly job failed when it ran out of
disk space; they had moved from SAS V8.2 to SAS V9.1.3,
but were unaware they were creating their Monthly PDB in
sequential format:
-Using SAS V8, V8SEQ, and COMPRESS=YES (MXG Default),
and writing //MONTH to DASD in sequential format, they
needed only 55,830 tracks, because V8SEQ, SAS 8.2 and
COMPRESS=YES did compress sequential format libraries,
but V9SEQ and SAS V9.1.3 does NOT compress seq format,
so its data library was 106,710 (uncompressed) tracks!
-So I had Chuck then run these benchmarks to reveal the
source of their ABEND:
Tracks Engine SAS Version CPU sec Compress
34305 DASD V8 8.2 --- Yes
106710 V6SEQ 8.2 65 Yes
106725 V9SEQ 9.1.3 26 No
106725 V9SEQ 9.1.3 26 Yes
34380 DASD V9 9.1.3 138 Yes
63705 DASD V9 9.1.3 22 No
106723 V8SEQ 8.2 22 No
55830 V8SEQ 8.2 126 Yes
34305 V8SEQ 8.2 133 Yes
50145 V8SEQ 8.2 20 No
106725 V8SEQ 9.1.3 26 No
106725 V8SEQ 9.1.3 26 Yes
34380 DASD V8 9.1.3 137 Yes
63705 DASD V8 9.1.3 20 No
-Even though COMPRESS was specified, not all engines
and versions actually compress sequential format, but
that is what I want: if you are writing to tape, the
IDRC hardware compress the tape, so you don't want
SAS to burn CPU time to also compress the data.
Furthermore, you can write a single SAS dataset to
an extended-sequential, striped, hardware-compressed
DASD device, which also shouldn't be SAS-compressed.
-MXG CONFIGV9 still specifies V6SEQ today, because I
cannot tell from within SAS if you are at V9.1.3, or
if you have the critical Hot Fix for earlier V9s.
Originally I recommended V6SEQ, even under SAS V8.2,
because it did NOT waste CPU time by compressing.
While V9SEQ eliminated that compression, prior to
SAS V9.1.3, you MUST use V6SEQ, because there were
data corruption errors using V8SEQ or V9SEQ under
SAS V9s prior to 9.1.3. If you have installed 9.1.3,
it is NOW safe for you to change CONFIGV9 to V9SEQ.
-So back to the new JCL examples, and documentation of all
of your choices. This change adds example JCLMNTHD and
member MONTHDSK, which should be used when yow want your
monthly on DASD, and your weekly PDBs are also on DASD.
Additionally, once you've built "Last Month's" PDB on
DASD, you can archive it to a tape GDG by using:
PROC COPY IN=MONTH OUT=MNTHTAPE MT=DATA;
to write all of those datasets in a single write to tape
when you're finished with this month's reporting and then
free up the DASD space.
JCL Code Weekly Monthly Select Tape
Member include On On Copy Drives
JCLMONTH MONTHBLD Tape Tapes No Six
JCLMNTH MONTHBLD Tape Tapes Yes One
JCLMNTHD MONTHDSK Disk Disk No None
JCLMNTHT MONTHDSK Tape Disk Yes One
-To be complete, JCL example JCLMNTHT is created, but it
is likely to be unneeded - if you can't find space on
DASD for your weekly PDBs, then why try to write a month
to DASD? (Perhaps, if you only build a small number of
datasets monthly, which is really what I personally think
best - I only created the JOBS/STEPS/PRINT/RMFINTRV in my
monthly, and did all of my other reporting week-to-week.
Thanks to Bruce Green, MIB, USA.
Change 22.342 INCOMPATIBLE MXG CHANGE TO BUILDPDB, if you have tailored
BUILD001 your build to add SMF 115 or SMF 116 records. If so, you
BUIL3001 MUST remove the references to 115 and/or 116 in the PDB
BUILD004 exit members, EXPDBINC/EXPDBVAR/EXPDBCDE/EXPDBOUT. If
BUILDPDB you overlook this revision to your tailoring, your first
BUILDPD3 test of the new MXG BUILD will fail, because of duplicate
BUILD606 dataset names being built in the first Data Step.
Jan 10, 2005
Change 22.341 -If you have IFAs but don't have APAR OA09118 installed
VMAC30 (adds CPUCOEFF to SMF 30), MXG-created IFAUNITS/IFEUNITS
Jan 7, 2005 variables are missing, causing CPUUNITS to still include
the IFAUNITS. Now, if there are RMF 72s from the same
SYSTEM in the SMF file that precede the type 30 record,
the old MXG logic to calculate EXCPRMF using CPUCOEFF
from RMF is used to also populate IFAUNITS and IFEUNITS
and to subtracts IFAUNITS from CPUUNITS. If both the
IFAUNITS and EXCPRMF are still missing values, then both
the APAR is not installed and there was no RMF 72 record
from this system before that type 30 record.
-The IFA CPU time variables are now formatted TIME12.2.
Thanks to Bernie Pierce, IBM, USA.
Change 22.340 -If zAAP engines are offline, MXGs PCTIFABY in TYPE70 was
VMAC7072 100%, and IFAACTTM was equal to the DURATM, because MXG
Jan 6, 2005 did not consider offline IFAs. This change restructures
MXG code for IFAs, summing IFAs SMF70ONT into IFAUPTM and
summing IFAs LCPUPDTM into IFAACTTM to calculate PCTIFABY
and also new variable NRIFAONL, the number of IFAs that
were online (which, like NRCPUS, the number of CPs that
were online) can be a fraction if some are offline.
-The MXGCIN variable is also now correctly set to IFA even
for offline IFAs. The original NRIFAS variable is now a
count of installed IFAs, but is not used in calculations.
-The IFAWAITn and PCTIFBYn variables (32 of each!) are no
longer created; they are not needed in TYPE70 and they
can be determined from TYPE70PR.
-If CP engines were varied on/off, PCTMVSBY was wrong, as
it was calculated based on DURATM instead of SMF70ONT;
this also led to incorrect values of the new SHORTCPS
variable, that was added in Change 22.325.
-Mar 7, 2005: The MXGCIN 'guess' depends on IRD, because
variable SMF70SPN, the LPAR Cluster Name, is only found
in systems that are in an LPAR Cluster.
Thanks to Dave Cogar, CA, USA.
Change 22.339 -Major enhancement to TNG support:
EXTNT100- The instance macro variables values and the MAXROW value
EXTNT127 are now set dynamically from the input performance cubes,
EXTNT127 so you won't get any ARRAY SUBSCRIPT OUT OF RANGE errors!
FORMATS The cube's headers are read in a quick pass of the input,
IMACTNG and then used to write the %LET PPoooI=nnn; statements
TYPETNG (to //INSTREAM) for each object that was found in your
TYPSTNG input; the input is then re-read to create the output.
VMACTNG This will also minimize the amount of virtual storage
VMXGINIT required for the MXG job; a REGION of only 200MB was
Jan 6, 2005 used for test data with many objects and many instances
Jan 21, 2005 that previously required over 400MB. And since the array
size is now based on data, the default instance macro
variables in VMXGINIT are now all set to one, and metric
macro variables are back in the VMACTNG member, since
they are only changed when new metrics are added by CA,
and that requires other changes in the VMACTNG code.
-Support for 28 new NT objects with over 600 metrics:
Dataset dddddd Object Name
TNT100 NT100 ASP.NET APPS V1.1.43
TNT101 NT101 ASP.NET V1.1.4322
TNT102 NT102 DOUBLE-TAKE CONNECTI
TNT103 NT103 DOUBLE-TAKE KERNEL
TNT104 NT104 DOUBLE-TAKE SECURITY
TNT105 NT105 DOUBLE-TAKE SOURCE
TNT106 NT106 DOUBLE-TAKE TARGET
TNT107 NT107 FTP SERVER
TNT108 NT108 GOPHER SERVICE
TNT109 NT109 GROUPSHIELD FOR MICR
TNT110 NT110 HTTP SERVICE
TNT111 NT111 INDEXING SERVICE
TNT112 NT112 INDEXING SERVICE FIL
TNT113 NT113 MSEXCHANGE INTERNET
TNT114 NT114 MSEXCHANGECCMC
TNT115 NT115 MSEXCHANGEDS
TNT116 NT116 MSEXCHANGEES
TNT117 NT117 MSEXCHANGEIMC
TNT118 NT118 MSEXCHANGEIS
TNT119 NT119 MSEXCHANGEIS PRIVATE
TNT120 NT120 MSEXCHANGEIS PUBLIC
TNT121 NT121 MSEXCHANGEMSMI
TNT122 NT122 MSEXCHANGEMTA
TNT123 NT123 MSEXCHANGEMTA CONNEC
TNT124 NT124 MSEXCHANGEPCMTA
TNT125 NT125 SQLSERVER:BACKUP DEV
TNT126 NT126 DATABASE
TNT127 NT127 RSVP SERVICE
-When processing TNG data on ASCII platforms, which have
a default LRECL=255, you will need to add LRECL=32000 to
your FILENAME statement.
-Jan 20: temporary datasets used in _UTNGCNT now deleted.
Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.
Change 22.338 The AUTOEXEx and CONFIGVx members now specify the option
AUTOEXEC DLDMGACTION=REPAIR for all platforms; the option causes
AUTOEXEU SAS to automatically repair and rebuild indexes and the
CONFIGV8 integrity constraints, when a damaged SAS dataset is
CONFIGV9 detected; the most common reason for a damaged data set
Jan 4, 2005 is when it was left open because of a prior abnormal
termination (i.e., on z/OS, an x22 timeout ABEND). SAS
defaults are inconsistent, with z/OS having REPAIR for
batch and PROMPT for interactive, but FAIL for batch and
REPAIR for interactive for Windows systems.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 22.337 -WARNING: BIT MASK .. TOO LONG because the RACF variables
VMAC80A KW23SPEC and KW23IGNR are only one byte each, but the bit
Jan 4, 2005 tests were wrong, and were testing for two bytes.
-Variable RACF07DT was increased to 200 bytes.
Thanks to Erling Andersen, SMT, DENMARK.
Change 22.336 Major enhancement: MQMACCT/MQMACCTQ data (SMF 116) can be
ASUMUOW added to the PDB.ASUMUOW dataset for CICS transactions
IMACUOW created by MQ-Series (but you must enable their addition
JCLMQMCI in your IMACUOW member or in your input per comments.
VMXGUOW IBM does NOT provide the variables NETSNAME/UOWTIME in
VMXGINIT MQMACCT/MQMACCTQ datasets that are used to directly match
Jan 10, 2005 up to CICSTRAN data. (IBM MQ-series support claimed that
the STCK value in QWHCNID in MQMACCT could be used, but
its value is NOT the same as the UOWTIME STCK value.)
So this heuristic algorithm first matches CICSTRAN with
MQMACCT by APPLID TASKNR TRANNAME to get NETSNAME/UOWTIME
from CICSTRAN, which is then used to merge MQMACCT and
MQMACCTQ (which can have more than one obs per uow if
multiple MQ queues are used) with the CICSTRAN (and any
DB2ACCT data, although DB2ACCT data is not required).
-There is a clear exposure in using the TASKNR within an
APPLID to get the NETSNAME/UOWTIME from CICSTRAN, as the
IBM maximum for TASKNR is currently 99999, even though
the field is a PD4 that could contain 9999999, but there
is no other way at the present time.
-You MUST have tailored either IMACUOW or ASUMUOW to even
create observations in PDB.ASUMUOW in the first place,
since the MXG default is to create zero observations.
You must re-tailor using the new IMACUOQ or ASUMUOW
member from this MXG to add the MQ Series variables.
-ASUMUOW will not fail, even if there are no MQ data.
-Variable MQTRAN counts the number of MQMACCT/MQMACCTQ
records that were included in the Unit of Work.
-MXG's BUILDPDB was revised by Change 22.342 to add the
processing of SMF 115 and 116 data in the default PDB.
-Member JCLMQMCI is a JCL example that uses VMXGUOW for
standalone processing of SMF for CICSTRAN, DB2ACCT and
SMF 116 data to create PDB.ASUMUOW with all three.
-MXG 22.12. Error due to IMACUOW missing an end comment
symbol. At the same time, CICSUOW dataset was
externalized by MACRO _UOWICIC so that it's destination
can be overridden.
-VMXGINIT defines macro variable MXGMQADD, default blank.
-Cosmetic. Using %INCLUDE SOURCLIB(ASUMUOW); with no DB2
observations caused UNINITIALIZED variable messages that
are now eliminated by adding compiler fakers for DB2PARTY
QWACFLGS and QWHSSSID variables, and missing value notes
have also been almost completely suppressed.
Thanks to Ove Dall-Hansen, Codan Insurance, DENMARK.
Thanks to Diane Eppestine, SBC, USA.
Change 22.335 Unused Change Number.
Change 22.334 Support for APAR OA06476 changes to RMF 74 records.
EXTY748A -Subtype 5 adds these new metrics to TYPE74CA dataset:
EXTY748R R7451CT1='BYTES*READ'
EXTY748X R7451CT2='BYTES*WRITTEN'
FORMATS R7451CT3='READ*RESPONSE*TIME'
IMAC74 R7451CT4='WRITE*RESPONSE*TIME'
VMAC74 R7451PBR='PHYSICAL*STORAGE*BYTES*READ'
VMXGINIT R7451PBW='PHYSICAL*STORAGE*BYTES*WRITTEN'
Jan 1, 2005 R7451PRO='PHYSICAL*STORAGE*READ*OPERATIONS'
R7451PRT='PHYSICAL*STORAGE*READ*TIME'
R7451PWO='PHYSICAL*STORAGE*WRITE*OPERATIONS'
R7451PWT='PHYSICAL*STORAGE*WRITE*TIME'
R7451XID='EXTENT*POOL*ID'
R7451XTY='EXTENT*TYPE'
R7452XFL='EXTENT*POOL*FLAGS'
"Millisec" values are formatted TIME13.3 (so a value of
99 milliseconds will print as 0:00:00.099).
-Subtype 8 creates three new datasets:
TYPE78A - ESS RANK ARRAY DATA
R748AACP='ARRAY*CAPACITY'
R748AAID='RANK*ARRAY*IDENTIFIER'
R748AASP='ARRAY*SPEED*IN 1000*RPM'
R748AAWD='ARRAY*WIDTH'
R748AEBC='ARRAY*TYPE*EBCDIC'
R748ARID='RANK*IDENTIFIER'
R748ATYP='ARRAY*TYPE*CODED'
TYPE78R - ESS RANK STATISTICS DATA
R748RAIX='INDEX TO*FIRST ARRAY*SECTION OF*RANK'
R748RBYR='BYTES*READ'
R748RBYW='BYTES*WRITTEN'
R748RCNT='COUNT OF*ARRAYS*IN RANK'
R748RKRT='READ*TIME'
R748RKWT='WRITE*TIME'
R748RPNM='EXTENT*POOL*NUMBER'
R748RRID='RANK*IDENTIFIER'
R748RROP='RANK*READ*OPERATIONS'
R748RWOP='RANK*WRITE*OPERATIONS'
TYPE78X - ESS EXTENT POOL STATISTICS
R748XPID='EXTENT*POOL*IDENTIFIER'
R748XPLT='EXTENT*TYPE'
R748XRCP='REAL*EXTENT*POOL*CAPACITY*
R748XRNA='ALLOCATED*REAL*EXTENTS*IN POOL'
R748XRNS='REAL*EXTENTS*IN EXTENT*POOL'
R748XRSC='REAL*EXTENT*CONVERSIONS'
R748XSDY='SOURCES OF*DYNAMIC*RELOCATIONS'
R748XTDY='TARGETS OF*DYNAMIC*RELOCATIONS'
R748XVCP='VIRTUAL*EXTENT*POOL*CAPACITY'
R748XVNS='VIRTUAL*EXTENTS*IN EXTENT*POOL'
R748XVSC='VIRTUAL*EXTENT*CONVERSIONS'
Change 22.333 Cosmetic. If you used "views" for MXG datasets that still
DOC "housecleaned" with PROC DELETE DATA=_Wdddddd syntax, you
Jan 1, 2005 got a non-fatal SAS warning message; replacing the syntax
with the preferred %%VMXGDEL(DDDDDD=dddddd); eliminates
the messages. (All were oversights where VMXGDEL should
have been used.) These members were revised:
ANALVVDS ASUMTAPE TYPEDOS TYPETMS5 VMAC103 VMAC108
VMAC29 VMAC30 VMAC50 VMAC79 VMACAIX VMACCIMS
VMACCTLL VMACHMF VMACHSM VMACMPLX VMACTCP VMACTIMS
VMACTMDB VMACTPF VMACTPX VMACVITA VMACVMON VMACVMXA
VMACXXXX
Thanks to Joe Babcock, Bank One, USA.
Change 22.332 Support for (Optional) ESS segment GEPARMKY field values
IMAC6ESS 0036x=ESSRETAS, 0041x=ESSOFSTF, and 0043x=ESSOFSTB, plus
VMAC6 correction for '034'x field, which can have time-in-text
Dec 30, 2004 formats of 10:00 or 0150:00:00.
Jan 2, 2005
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Thanks to Harmuth Beckmann, Itellium, GERMANY.
Change 22.331 Support for hIOmon File I/O Performance Monitor.
VMACHIOM This Windows family I/O monitor records activity at the
Dec 30, 2004 individual file for each process for each user, with both
I/O activity counts, Bytes read/written, and duration of
the I/O. A special export option MXGall creates a csv
file of all 117 I/O metrics, with nulls for those fields
that are not being monitored, and that file is the file
supported in the TYPEHIOM code. Only a single dataset is
presently created, for both files and devices, but that
may change, based on user feedback. The inexpensive I/O
monitor can be downloaded at http://www.hyperio.com, and
a free trial is offered.
Thanks to Tom West, hyperI/O LLC, USA.
Change 22.330 Documentation. The CPUxxxTM variables created from SMF
ADOC30 30 records were not fully documented; they are updated
Dec 30, 2004 and identify what's included in which variables.
Thanks to Michael Bouros, Morgan Stanley, USA.
Change 22.329 Major enhancement to "PC Job Streams" for running MXG on
BLDNTPDB ASCII systems to create "SMF" or "NTSMF" PDB Libraries.
BLDSMPDB Uses the new VMXGALOC utility macro to allocate daily,
VMXGALOC weekly, and monthly PDB Directories, creating directory
VMXGSUM names that contain the DATE of the data, and logic to
Dec 30, 2004 read the correct directories for the MONTH PDB.
Jan 16, 2005 -UPCASE(KEEPALL) was added in VMXGSUM for pc execution.
UTILBLDP -Note: Only VMXGSUM was updated in MXG 22.13; the other
TRND70 three members were not revised until Jan 16, 2005.
ANALSHCP -UTILBLDP now supports OUTFILE=INSTREAM, needed for the
BLDSMPDB enhancement that lets you specify BUILDPDB= to
use the tailored UTILBLDP output for your BUILDPDB code.
-UTILBLDP now has an internal table of SMF records that
are automatically created by MXG's default BUILDPDB, so
that your USERADD= list can be compared and errors
prevented if you list a record that's already in PDB.
-UTILBLDP/BLDSMPDB logic for OUTFILE argument is robusted.
If the name is a PC dataset name it has to be inside
quotes, but if it is not (something like INSTREAM or like
SOURCLIB(MYPDB) then it must NOT be inside quotes in your
invocation. If a colon or backslash is found in your text
it will be put in quotes and treated as a PC filename.
-TRND70 now adds PCTMVSBY SHORTCPS PLCPRDQY MAXSHCPS and
MAXRDYQ to TRND70 dataset.
-ANALSHCP provides sample reports of SHORTCPs and PLCPRDYQ
for your systems.
Thanks to Chuck Hopf, MBNA, USA.
Change 22.328 Cosmetic, unless you used the _NTNG macro to null all of
VMACTNG the TNG datasets (the _NULL should have been _NULL_ in
Dec 29, 2004 each of the lines in MACRO _NTNG), or tried to use the
_KTNT015 macro to tailor NT015 (it was spelled _KTNT016).
Thanks to Freddie Arie, TXU, USA.
Change 22.327 Cleanup of BUILDPDB/BUILDPD3.
BUILDPDB -In BUILDPDB/BUILDPD3, TYPE30MR was not sorted into //PDB
BUILD002 (unless you used BUILD002, which did contain _STY30MR).
BUILDPD3 -Work datasets STEPS, STEPSIO, SPJB30T4 were created in
SPUNJOBS SPUNJOBS but were not deleted, now they are.
Dec 24, 2004
Change 22.326 Variable CPUCEPTM (CPU TIME WHEN TASK WAS ENQUE PROMOTED)
BUILD005 in what I regard as an IBM Design Error, is accumulated
BUIL3005 in the SMF 30 subtype 2 and 3 interval records; no other
ONLYINTV CPU metrics are accumulated in those records. This means
Dec 24, 2004 that the TYPE30_V dataset built from SMF is no longer
valid. But since MXG can correct IBM errors faster than
they can even acknowledge their errors (Level 2 says it's
not their problem to fix), this redesign in BUILDPDB code
deaccumulates the CPUCEPTM in the PDB.SMFINTRV dataset.
(Of course, the CPUCEPTM will be missing in the first
interval for each task that has more than one interval
record, since there is no prior interval record in
"today's" SMF file.)
Dataset PDB.SMFINTRV is automatically built by BUILDPDB.
-If you want to create PDBINTRV.SMFINTRV (and the other
interval dataset, PDBINTRV.TYPE30_6) directly from your
raw SMF file, you can use this example that uses the
BUILDPDB logic, but builds only the PDBINTRV.SMFINTRV
and the PDBINTRV.TYPE30_6 interval datasets:
//PDBINTRV DD DSN=YOUR.PDB.OUTPUT,DISP=(,CATLG),....
//SMF DD DSN=YOUR.SMF.DATA,DISP=SHR
//PDB DD UNIT=SYSDA,SPACE=(CYL,(5,5))
//SPIN DD UNIT=SYSDA,SPACE=(CYL,(5,5))
//SYSIN DD *
%INCLUDE SOURCLIB(ONLYINTV);
Thanks to Tony Hirst, Wells Fargo, USA.
Change 22.325 Variable SHORTCPS=PCTMVSBY/PCTCPUBY is created in TYPE70
VMAC7072 and TYPE70PR datasets, based on Kathy Walsh's Paper that
Dec 23, 2004 was presented at SHARE in August, 2004, available at
Jan 10, 2004 http://www-03.ibm.com/support/techdocs/atsmastr.nsf/
Oct 12, 2004 WebIndex/PRS1077, titled
"Performance Impacts of Running CICS in a Shared LPAR".
The term 'Short CPs' was created by IBM WSC Performance
Staff, and is a performance effect created by the LPAR
hipervisor enforcing LPAR weights on busy processors or
capped LPARs, that can reduce the MIPS delivered by the
logical CPs to the partition. She suggested that when
the SHORTCPS ratio exceeded 2, it could be a sign of
trouble. But Don Deese pointed out that another way of
looking at the phenomenon is as a measure of the queueing
delay when the LPAR is waiting for a CP engine to be
assigned, and that a ratio of 2:1 means that for 50% of
the elapsed time, the LPAR was waiting for a CP engine.
He suggests that even a lower ratio may be the threshold
of pain; a ratio of 1.5:1 means the LPAR was 33% waiting.
Don is working on an extensive discussion of this topic
in the next release of his CPExpert product, and I have
created variable PLCPRDYQ=100*(PCTMVS-PCTCPUBY)/PCTMVSBY;
so that you can use either the ratio or the percent of
time when there was a delay in your analysis to see if
this construct is useful in measuring your LPARs.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Dr. Robert Cross, JP Morgan, USA.
Change 22.324 Cosmetic. Missing value messages eliminated by testing
VMACTNG three NT006 fields before they are multiplied by 1024 or
Dec 23, 2004 1024*1024.
Change 22.323 Line 3624 should have named TOTSHARE TOTSHARC in KEEP=
VMXG70PR list for &OUT70LP dataset, instead of SYSSHARE CURSHARE,
Dec 23, 2004 to keep those variables in the PDB.TYPE70LP dataset.
Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA
Change 22.322 Hasty creation of JCL examples for MXG under SAS V9.1.3
MXGSASV9 did not have sufficient testing; W-OH should have been
JCLTEST9 W-zero, WORKVOL was not referenced in JCLTEST9, WORK
JCLPDB9 sizes are all now 500,500, the WORK=200 in JCLPDB9 was
Dec 23, 2004 removed (with only a primary allocation, you cannot use
multiple volumes), and comments with "V8" were revised to
"V9". The instream JCL PROC in the JCLTEST9 example now
matches the symbolics in MXGSASV9.
Feb 23, 2005: This change originally changed the INSTREAM
LRECL to 72, but Change 23.012 corrected that back to 80.
Thanks to Bruce Green, MIB, Inc, USA.
Thanks to Michael Gebbia, Eddie Bauer, USA.
Change 22.321 Type 6 PrintWay records apparently come in two flavors,
VMAC6 and Change 22.302 did not protect both; in some records
Dec 21, 2004 the SMF6PQNM is always 24 bytes, and SMF6PQLN is the
number of non-blank bytes, and in other records, SMF6PQNM
is only the length of SMF6PQLN. (And, to make it more
fun, in VPS-FAX records, SMF6PQLN is always zero, but
PQNM is 24 bytes!). Additional test for blanks when
SMF6PQLN is less than 24 bytes now protects INPUT
STATEMENT EXCEEDED error that occurred even with Change
22.302/MXG 22.12 installed. And, variable SMF6PQLN is
now output in TYPE6 dataset.
Thanks to Robert Vance, Zurich Insurance Co., USA
Thanks to Reiner Luken, Zurich Insurance Co., USA
Change 22.320 This long-overdue enhancement for PDB.SMFINTRV combines
BUILD005 the MULTIDD='Y' observations from TYPE30_V into a single
BUIL3005 observation in PDB.SMFINTRV, with the correct totals for
Dec 15, 2004 EXCPxxxx, IOTMxxxx, and TAPEDRVS variables for each SMF
interval. There will be fewer observations created in
PDB.SMFINTRV, and variables EXCPNODD, IOTMNODD, and
TAPEDRVS are now correct for each interval. Variable
EXTRADD is set to zero, since those extra DDs have been
consolidated in the single observation per interval.
Note: Long ago, the MULTIDD='Y' observations were summed
into the PDB.STEPS dataset in the BUILDPDB logic. It
was only PDB.SMFINTRV that still contained MULTIDD='Y'
observations:
MULTIDD='Y' - steps with more DDs than can fit in one
SMF 30 record write multiple type 30 records; those
additional records contain only IOTMxxxx,EXCPxxxx and
TAPEDRVS values, and are flagged with MULTIDD='Y'.
See Change 23.015 if ERROR: PDB.SMFINTRV NOT SORTED is
encountered in your WEEKLY or MONTHLY PDB jobs.
Thanks to Mary Kay Pettengill, (i)Structure, USA.
Change 22.319 The R747AVFR/R747AVFT average frame size received/sent
VMAC74 in dataset TYPE747P needed to be multiplied by four; the
Dec 15, 2004 source fields are in words, and have 4 bytes per word.
Thanks to Pat Jones, DST, Inc, USA.
Change 22.318 The JCLINSTL example used the SAS V8 JCL procedure; new
JCLINST9 JCLINST9 had the minor changes to execute under SAS V9.
Dec 15, 2004 The correct CONFIGV9 member and ENTRY=SAS are now in the
example that uses the site's installed SAS JCL procedure
to create the MXG Format library during install. Once
this JCL example has been executed, the MXGSASV9 JCL proc
should be use for all subsequent MXG testing/execution.
Thanks to Burchell Williams, HIPUSA, USA.
Change 22.317 The final @; was not correctly created in the second and
UTILEXCL subsequent GRNR's, when there were optional segments; at
Dec 15, 2004 first, I blamed the conversion of CMODLENG from numeric
Dec 21, 2004 to character was the culprit, and revised that logic in
the COMDNAME='USER' code segment to
!!PUT(CMODLENG,4.)!!, but in fact the real error was a
hanging end-comment-*/ in line 745 that I had
accidentally removed during the testing of the CMODLENG
code change!
Thanks to Sally Jordan, Bear Sterns, USA.
Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA
====== Changes thru 22.316 were in MXG 22.12 dated Dec 11, 2004=========
Change 22.316 Enhanced Support for RMF III VSAM files have many added
ASMRMFV features and options, all of which are discussed in the
ADOCRMFV documentation note at the beginning of ADOCRMFV member.
Dec 11, 2004 No changes are required to the CLRMFV nor TYPERMFV code.
Thanks to Jerry Urbaniak, Acxiom CDC Inc, USA.
Change 22.315 Example ASUM and TRND members for IBM SMF 94 VTS data.
ASUM94
TRND94
Dec 11, 2004
Change 22.314 Support for MainView for IMS IMF 4.1.00. DSECTS show no
TYPECIMS changes in the IMF records for IMS Version 9.1
Dec 11, 2004
Thanks to Tony Curry, BMC, USA.
====== Changes thru 22.313 were in MXG 22.12 dated Dec 10, 2004=========
Change 22.313 Optional field CMODNAME='DFHAPPL', CMODHEAD='APPLNAME'
IMACICAP had CMODIDNT='001', which tripped up MXG logic because
IMACICD6 only CMODNAME=:'DFH' (starting with) was tested; '001'
IMACICD7 generated an extra input of TRANNAME in the wrong place
UTILEXCL in IMACEXCL, which failed when it was executed.
VMAC110 -All of the CMODNAME tests were revised to test for the
Dec 10, 2004 full name (DFHTASK/DFHCICS/etc).
-New exits for optional fields and variables created:
CMODNAME CMODHEAD EXIT Variable
DFHAPPL APPLNAME IMACICAP APPLNAME
CANDEXNM CANDEXNM IMACICD6 CANDEXNM
CANDEXTY CANDEXTY IMACICD7 CANDEXTY
Thanks to Sally Jordan, Bear Stearns, USA.
Change 22.312 Support for NetSpy Version 7.0 (COMPATIBLE).
VMACNSPY -New variables in NSPYTCP.
Dec 10, 2004 NSPYAVRT NSPYINBU NSPYLOGM NSPYNROT NSPYNRTT NSPYOUBU
NSPYRCBS NSPYSGNL NSPYSOOP NSPYSSTZ NSPYTIMR NSPYTNID
NSPYTUID
-New variables in NSPYTCPS.
NSPYASID NSPYIFNR NSPYIPAE NSPYIPFC NSPYIPFD NSPYIPFF
NSPYIPFO NSPYIPFO NSPYIPHE NSPYIPID NSPYIPIR NSPYIPOD
NSPYIPON NSPYIPOR NSPYIPRF NSPYIPRO NSPYIPRR NSPYIPRT
NSPYIPSD NSPYIPUP NSPYIPVE NSPYTSSW NSPYUDDC NSPYUINE
NSPYUNOP NSPYUOUD NSPYURBS NSPYUSBS
Thanks to Leon Schiebel, IBM Global Services, CANADA.
Thanks to Nick Varvarigos, IBM Global Services, CANADA.
Thanks to Norman Hollander, CA, USA.
Change 22.311 Support for OS/400 5.3.0 for QAPMCONF, QAPMDISK, QAPMPOLL
VMACQACS and QAPMJOBL data files/data sets.
Dec 10, 2004
Thanks to Paul Gillis, Pacific Systems Management Pty, AUSTRALIA.
Thanks to Clayton Buck, UniGroup, Inc, USA.
Change 22.310 An OPTIONS SOURCE; statement inserted to circumvent a SAS
ANALRMFR V8 compiler error under Win98 caused a compiler error on
Dec 10, 2004 z/OS with SAS 9.1.3. Using a conditional test resolved.
Thanks to Steve Gear, Schneider National, INC.
Change 22.309 Change 22.302 revised the IBM File Transfer segment code
VMAC6 to support VPS, but I failed to test with IBM data after
Dec 8, 2004 the revision, causing INPUT STATEMENT EXCEEDED, on IBM
data. I was misled by IBM doc that said the SMF6PQLN was
the "length of the significant portion" of SMF6PRTQ but
it's DSECT length was 24 bytes, so I assumed 24 bytes.
It turns out that SMF6PQLN is the length of the field,
so the INPUT was restored to variable length, and code
knows that the VPS record does always have 24 bytes, and
the SMF6PQLN field is 0 in the VPS record. Both IBM and
VPS records have been tested with this change.
Thanks to George Waselus, State of Arizona, USA.
====== Changes thru 22.308 were in MXG 22.12 dated Dec 2, 2004=========
Change 22.308 Duplicate variable names in KEEP= list are detected by
VMACTDSL one of Freddie's many QA tests that read MXG source; most
Dec 1, 2004 were just duplicates, but the second instance of TDSL09PR
should have been TDSL09PN.
Thanks to Freddie Arie, TXU, USA.
Thanks to Jacky Hofbauer, Atlantica, FRANCE.
Change 22.307 MXG 22.10 & 22.11 only. Support for IRD was STILL wrong,
VMAC7072 causing PCTCPUBY, PCTMVSBY, CPUACTTM and other PCTxxxxx
Dec 1, 2004 to be wrong in ANY interval in which CPUs were varied by
Dec 2, 2004 IRD. If more than 33% of the engines were varied off,
some of those values could actually be negative values!
The revised NRCPUS calculation for IRD in Change 22.233
tested the LPARWLMG flag for the last LPAR (PHYSICAL)
instead of that flag for this MVS system's LPAR. Now,
the correct LPAR's flag is used, and variable LPARWLMG
is kept in TYPE70 dataset so you can tell when IRD is
managing this system's CPUs. This change also protects
for manual vary of engines when IRD is not in control.
The magnitude of the numeric error depended on what pct
of the engines were offline; my IRD test data had 12
CPUs, and only 1-2 were offline, masking the problem;
it took negative values to cause me to see my errors.
Thanks to Dan Case, Mayo Foundation, USA.
Change 22.306 Support for CICS/TS 3.1: INCOMPATIBLE, as ALWAYS, since
EXCICPIR IBM CICS Development continues to insert fields in the
EXCICPIW middle of the existing SMF 110 subtype 1 CICSTRAN record.
EXCICWBG -New variables added to CICSTRAN dataset:
EXCICWBR DSCHMDCN='DSCHMDLY*COUNT'
FORMATS DSCHMDTM='DSCHMDLY*DURATION'
IMACCICS ICSTACCT='LOCAL*IC*START*REQUESTS'
VMAC110 ICSTACDL='BYTES IN*START CHANNEL*REQUESTS'
VMXGCICI ICSTRCCT='INTERVAL*CONTROL*START*CHANNEL*REQUESTS'
VMXGINIT ICSTRCDL='BYTES IN*CONTAINERS*START*CHANNEL REQS'
Nov 30, 2004 L9CPUTCN='L9CPUT*COUNT'
Dec 10, 2004 L9CPUTTM='L9CPUT*DURATION'
Jan 2, 2005 MAXSTDCN='MAXSTDLY*COUNT'
MAXSTDTM='MAXSTDLY*DURATION'
MAXXTDCN='MAXXTDLY*COUNT'
MAXXTDTM='MAXXTDLY*DURATION'
PCDLCRDL='BYTES IN*DPL RETURN*CHANNEL'
PCDLCSDL='BYTES IN*DPL REQUESTS*ISSUED'
PCDPLCCT='DPL*REQUESTS*ISSUED'
PCLNKCCT='LOCAL*PROGRAM*LINK*REQUESTS'
PCRTNCCT='REMOTE*PSEUDOCONV*RETURN*REQUESTS'
PCRTNCDL='BYTES IN*PSEUDOCONV*CONTAINERS'
PCXCLCCT='PROGRAM*XCTL*REQUESTS*ISSUED'
PGBRWCCT='BROWSE*CHANNEL*CONTAINER*REQUESTS'
PGGETCCT='GET*CONTAINER*REQUESTS'
PGGETCDL='BYTES IN*GET CONTAINER*CHANNEL*COMMANDS'
PGMOVCCT='MOVE*CONTAINER*REQUESTS'
PGPUTCCT='PUT*CONTAINER*REQUESTS'
PGPUTCDL='BYTES IN*PUT CONTAINER*CHANNEL*COMMANDS'
PGTOTCCT='CHANNEL*CONTAINER*REQUESTS'
WBBRWOCT='BROWSE*HTTPHEADER*REQUESTS'
WBCHRIN1='BYTES*RCVD FOR*RECEIVE OR*CONVERSE'
WBCHROU1='BYTES*SENT FOR*SEND OR*CONVERSE'
WBIWBSCT='WBIWBSCT'
WBPARSCT='PARSE*URL*REQUESTS'
WBRCVIN1='RECEIVE OR*CONVERSE*REQUESTS'
WBREDOCT='READ*HTTPHEADER*REQUESTS'
WBSNDOU1='SEND OR*CONVERSE*REQUESTS'
WBWRTOCT='WRITE*HTTPHEADER*REQUESTS'
X8CPUTCN='X8CPUT*COUNT'
X8CPUTTM='X8CPUT*DURATION'
X9CPUTCN='X9CPUT*COUNT'
X9CPUTTM='X9CPUT*DURATION'
-New SP, L9, X8, and X9 TCBs exist in CICS/TS 3.1 and CPU
time for each TCB is in CICSDS and CICINTRV datasets. The
full list of CICS TCBs are:
TCB VAR PREFIX DESCRIPTION
QR DSG QUASI REENTRANT MODE
RO DS2 RESOURCE OWNING MODE
CO DS3 CONCURRENT MODE
SZ DS4 SECONDARY LU MODE
RP DS5 ONC/RPC MODE
FO DS6 FILE OWNING MODE
SL DS7 SOCKETS OWNING MODE (SL)
SO DS8 SOCKETS OWNING MODE (SO)
J8 DS9 J8 - OPEN MODE
L8 DSA L8 - OPEN MODE
S8 DSB S8 - SOCKETS (SSL) MODE
H8 DSC H8 - NOT IN CICS/TS 3.1+
D2 DSD D2 - DB2 MODE
JM DSE JM - JVM CLASS CACHE MODE
J9 DSF J9 - OPEN MODE
SP DSH SOCKETS PTHREAD OWNING MODE (SP)
L9 DSI L9 - OPEN MODE
X8 DSJ X8 - OPEN MODE
X9 DSK X9 - OPEN MODE
-New variables in CICCONSR Statistics Dataset (STID=52):
A14ESPCN A14ESPCS A14ESPCR A14ESTCN A14ESTCS A14ESTCR
A14ESICN A14ESICS A14ESICR
-New DS4 variables for H8 POOL statistics are added to
dataset CICDSPOO (STID=60).
-Four new Statistics Datasets are created; the full list
of all STIDs and their datasets is in ADOCCICS member:
MXG Symbolic
Dataset IBM
Name STID Description of Data Set Name
CICWBG 101 URIMAPS (Global) STIWBG
CICWBR 104 URIMAPS (Resource) STIWBR
CICPIR 105 PIPELINE (Resource) STIPIR
CICPIW 106 WEBSERVICE (Resource) STIPIW
Change 22.305 INVALID NUMERIC DATA, 'TOTALS:' AT LINE ... COL ... and
EXXAMSYT INVALID NUMERIC DATA, 'TOTAL:' AT LINE ... COL ... and
Nov 30, 2004 NOTE: CHARACTER VARIABLES HAVE BEEN CHANGED TO NUMERIC...
due to IF NOT UPCASE(NAME)='TOTAL:' THEN DO; syntax.
Using IF NOT (UPCASE(NAME)='TOTAL:') THEN DO; or
using IF UPCASE(NAME) NE 'TOTAL:' THEN DO; corrects.
Thanks to Rodger Foreman, Acxiom, USA.
Change 22.304 Support for subtype 45 (PAGE SWEEP LIMIT EXCEEDED) record
EXHRN45 in ObjectStar SMF user records.
IMACHURN The pdf documentation of this subtype is incorrect.
VMACHURN The first 64 bytes of the HU45MSG field are decoded into
VMXGINIT un-labeled variables HU45H1-HU45H5 (hex), HU45C1-HU45C3
Nov 30, 2004 (EBCDIC text) and HU45N1-HU45N5 (numeric values).
Thanks to Mark King, S.A. Dept of Human Services, AUSTRALIA.
Thanks to Robyn Mcgeachie, S.A. Dept of Human Services, AUSTRALIA.
Change 22.303 -MXG Change 21.251 added support for the optional new data
VMACSASU in the SAS user SMF record, but MXG code was off by one
Nov 29, 2004 byte, causing the last digit of JESNR to be lost.
-SAS Version 9.1.3 has SASVEREL ' 9.10', which SAS sets
for all 9.1 images (9.1.0 1MO, 9.1.0 1M2, and 9.1.0 IM3),
and that will also be the value when SAS releases the new
Service Pack levels starting with SP1.
-The ENTRY had to be changed to SMFEXIT3 in BASMF job to
create the optional 64 bytes in the SMF User Record.
//SYSLIN DD *
INCLUDE SYSLIB(SMFEXIT)
ENTRY SMFEXIT3
NAME SMFEXIT(R)
Thanks to MP Welch, SPRINT, USA.
Thanks to Wilson Chen, SPRINT, USA.
Thanks to Tom White, SPRINT, USA.
Change 22.302 Support for VPS V1 R8.0 VPS-FAX, which uses the PrintWay
VMAC6 file transfer segment to add information for TCP/IP print
Nov 29, 2004 devices. Minor revision to MXG coding for that existing
segment will populate existing variable SMF6URI with:
mailto:email address (primary recipient)
lpr://hostname/queue
lrsq://hostname:port
direct_sockets://hostname:port
Thanks to Peter Harmut, R + V Versicherung, GERMANY.
Change 22.301 Use of ZEROOBS= parameter could fail due to incorrect
UTILBLDP tests for length of operands; using MACFILEX= option did
Nov 29, 2004 circumvent the MXG coding error.
Thanks to Willy Iven, Fortis Bank Belgium, BELGIUM.
Change 22.300 Using the FTP access method to read SMF data from one MVS
VMACSMF system when MXG executes on a different MVS system fails
VMXGINIT with "ERROR 23-2: INVALID OPTIONS NAME JFCB" because MXG
Nov 26, 2004 needs JFCB=SMFJFCB on the INFILE SMF statement so that
either BSAM or VSAM SMF file can be read transparently,
but the FTP access method does not support that option.
Since that option is needed only to read VSAM SMF data,
and since the ftp access method itself does not support
reading any VSAM file, and because there is no way to
know that you have allocated your SMF filename using the
ftp access method, the solution is to create a macro
variable &MXGJFCB in VMXGINIT that is initialized to the
string JFCB=SMFJFCB by default, and use that macro
variable in VMACSMF instead of the hard-coded option.
Then, if you want to use the FTP access method to read
SMF data from a different MVS system, you can eliminate
the SAS error by using
%LET MXGJFCB= ;
to remove the JFCB option from MXG's INFILE statement.
Thanks to MP Welch, SPRINT, USA.
Thanks to Maurice Pascal, ???, ???
Change 22.299 -STORHWMH and STORHWMK were defined in both _KUOWCIC and
VMXGUOW _KUOWCICX, but they are high water marks (maxima) and so
Nov 26, 2004 should only have been maximized.
-Macro _SUOWTMO did not correctly handle max and mins;
macros _KUOWCIX and _KUOWCIN were inserted after _KUOWIDC
and _KUOWCIC as was done in _SUOWCIC.
-Macro _SUOWTMO was reading the CICSTRAN dataset and not
MONITASK; SET _LCICTRN was changed to SET _LMONTSK.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 22.298 MXG 22.11 only. A missing @; caused SMF type 6 records
VMAC6 with the "PrintWay" File Transfer Section to fail with
Nov 22, 2004 INPUT STATEMENT EXCEEDED error
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 22.297 Short 'IF' NDM/CDI record caused INPUT STATEMENT EXCEEDED
VMACNDM error; instead of the expected 64 byte NDMRUID, there
Nov 17, 2004 were only 45 bytes at the end of the record. INPUT of
NDMRUID is now conditional if it exists.
Thanks to Bernie Mazur, Bank of Montreal, CANADA.
Change 22.296 Processing CMRDETL data on ASCII platform failed because
VMACMVCI the INFILE statement and VMXGRFV attributes contained the
Nov 17, 2004 BLKSIZE= parameter, which is not supported on ASCII:
Perhaps ASCII SAS should be smart enough to disregard,
instead of fail, but since ASCII files are nothing but
a single string of bytes, BLKSIZE has no meaning there.
Thanks to Steven Olmstead, Thompson, USA.
Change 22.295 Variable ACCIPAD, IP Address, is now output in WSFEVTPR
VMACWSF as well as WSCEVTSC.
Nov 16, 2004
Thanks to Stephane Attouz, Infosud, FRANCE
Change 22.294 -Support for APAR PQ73385 which adds data to IFCID 217 and
VMAC102 to IFCID 225.
VMACDB2 -Support for APAR PQ87848 which adds data to IFCID 173 to
Nov 12, 2004 monitor Dynamic SQL Statements that exceed RLF ASUTIME
Limit (and issued SQLCODE905).
-Support for APAR PQ91101 which adds more data to IFCID
225, and which added QISESTMT to DB2ACCT dataset.
Change 22.293 In PDB.ASUM70PR and PDB.ASUMCEC, all LP0xxxxx variables
VMXG70PR for LPARNAME='PHYSICAL' are always missing values; at one
Nov 9, 2004 time, Amdahl used zero for a real LPAR, so MXG test for
LPARNAME didn't populate LP0xxxx variables unless it was
a real Amdahl LPARNUM=0). But since Amdahl is now long
gone, it makes sense to populate the PHYSICAL LPAR data
in the LP0xxxx variables for consistency and so that the
newer PDB.ASUM70LP dataset can contain the data for the
LPARNAME='PHYSICAL'. In PDB.ASUM70PR and PDB.ASUMCEC,
the existing LPPUPDTM and PCTPOV variables are unchanged,
and the calculations that included LPPUPDTM and LP0UPDTM
are revised to not double account the PHYSICAL time.
Thanks to Anthony Lobley, EDS, ENGLAND.
Change 22.292 Debugging PUT statement is no commented out.
VMACSFS The Xerox SFS architecture is being replaced by an export
Nov 8, 2004 file produced by the Xerox Docutech 6135 network printer.
Thanks to Robert McElhaney, Texas Workforce Commission, USA.
Change 22.291 -Concatentating TNG files from multiple systems caused
VMACTNG incorrect results when the sets of fields were different;
Nov 8, 2004 values from the first system could be propagated into the
subsequent system's output, because the initialization DO
loop limit had the instance macro (&NT018I for example)
but the upper value should be %EVAL(&NT018I*&MAXROWS).
In addition, the init of the NTxxxINM variables had to be
relocated into their own DO loop.
-New NT Platform Names of NTW400I, WNS502I, and XPP501I
are all supported.
-Also, NT Platform Names are now defined in a new _NTPLAT
macro, so that new TNG names can be added in only one
place, or can be added in your IMACKEEP member.
Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.
Change 22.290 Enhancement for MQM processing creates new IHDRMQM exit
IHDRMQMH that can be used to select MQ records using variables
VMAC115 MQMSSSID SUBTYPE SYSTEM STARTIME
VMAC116 SM115REL (blank if ID=116)
VMXGINIT SM116REL (blank if ID=115)
Nov 5, 2004 Either member IHDRMQMH can be edited with your selection
logic, or %LET MQCMQMH= %QUOTE(your code;); can be used.
The existing TYPENQM member will process both SMF 115 and
SMF 116 records in one pass.
Thanks to Helmut Roese, COM Software, USA.
Change 22.289 The PDB.RMFINTRV dataset could have duplicate obs for the
VMXGRMFI first hour, if your RMFINTRV logic summarized your detail
Nov 5, 2004 RMF data (e.g., written at 15 minutes, but you tailored
IMACRMFI or your RMFINTRV memer to create HOURLY data),
but only if some SMF records for that interval were in
yesterday's SMF and the rest of that interval's records
were in today's SMF data. The MXG logic to calculate the
MSU4HRAV was at fault, incorrectly combining the data in
SPINRMFI with today's data.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 22.288 Comments in CICINTRV show how to create PDB.CICINTRV from
CICINTRV SMF data; CICINTRV is automatically included by TYPS110
VMAC110 and by BUILDPDB/BUILDPD3.
Nov 5, 2004 Default in VMAC110 now creates WORK.CICSACCT instead of
PDB.CICSACCT, so that a //PDB DD is not required if you
run %INCLUDE SOURCLIB(TYPE110). CICSACCT has had zero
observations for years, but historically was written to
the //PDB library.
Thanks to Neil Ervin, Charles Schwab, Inc, USA.
Change 22.287 Enhanced %VMXGPRAL utility. New option to run PROC FREQ
VMXGPRAL can be used to find out who's writing DB2 SMF 102 Trace
Nov 4, 2004 Records with this example:
%LET MACDB2H %QUOTE(KEEP QWHSSSID QWHSLUNM QWHSLOCN;);
%READDB2(IFCIDS=ALL);
%VMXGPRAL(DDNAME=WORK,NOBS=MAX,NOFREQ=FREQ,
NOPRNT=NOPRNT,NOMEANS=NOMEANS);RUN
- Note: the KEEP statement should almost never be used,
but it turns out that by using MACDB2H to insert
that statement inside the READDB2 processing,
only those variables listed will be output, so
the Trace Datasets won't take much disk space.
I first kept QWHCCV and QWHCCN, but the SMF 102 trace
records do not contain the Correlation Header.
Thanks to Hoang Ho, Experian, USA.
Change 22.286 -Two variables were not converted to EBCDIC when MXG was
VMAC80A executed on ASCII platforms:
Nov 4, 2004 RACF07DT ENTITYNM
Nov 5, 2004 -Support for RACFTYPE=29 DTP adds variable RACF29AD to the
Nov 8, 2004 TYPE8020 and TYPE8021 datasets.
Nov 9, 2004 -RACFTYPE=42 DTP segment variable CLASNAME was not kept.
Nov 10, 2004 In almost all datasets with variable CLASNAME, it comes
Dec 10, 2004 from DTP=17 segments. But datasets TYPE8024 and TYPE8X24
Dec 7, 2006 can have CLASNAME from DTP=21 and/or DTP=42 segments:
- TYPE8024 dataset can have both 21 and 42 segments, and
can have more than one DTP=42 segment, so that dataset
contains variables CLASNAME,CLASNAM1-CLASNAM4 from any
DTP=42 segments, and variable CLASNA21 from DTP=21s.
- TYPE8X24 dataset contains only DTP=21 segments, so the
variable name kept is CLASNA21, so as to matches the
name in the related TYPE8024 dataset.
This text was revised 2006, no code was changed.
-Multiple RACFTYPE=24 DTP segments, up to fifteen, are now
supported in RALTER (TYPE8020) and RDEFINE (TYPE8021) in
variables RESBYTE1-RESBYTEF and RESNAME1-RESNAMEF, like
the handling of multiple RACFTYPE=44 DTP segments in the
ADDUSER (TYPE8010) and ALTUSER (TYPE8013) datasets. The
choice of 15 is arbitrary, and could be increased if it
is needed, or a secondary dataset could be created in the
future if there are many more repeated segments in one
SMF 80 record.
-Multiple RACFTYPE=25 DTP segments in RALTER/DELMEM are
also supported, as above.
-Note that some cases of multiple segments currently will
be created as separate observations in additional data
sets, rather than separate variables. Specifically:
Dataset Command Multiple Segments
TYPE8X13 ALTUSER 40s
TYPE8Y13 ALTUSER 41s
TYPE8X24 SETROPTS 21s
-Dataset Label for TYPE8X13 and TYPE8Y13 were corrected to
ALTUSER (incorrectly had SETROPTS).
-Variable RACF07DT is now correctly input and it length is
set at $80 to hold installation data.
-Variable RESBYTE uninitialized was corrected.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Thanks to Larry Krause, Rite-Aid, USA.
Change 22.285 Label values for two variables were incorrect/incomplete
VMAC7072 and are revised to this description:
Nov 3, 2004 PCTDLCDE='CPU DELAY*PERCENT*NOT INCLUDING*WLM CAP'
PCTDLPDE='PCT WHEN*RESOURCE GROUP*MAXIMUM*ENFORCED'
And PCTDLPDE is not a delay; only PCTDLCDE will show
if there actually was a delay.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 22.284 Allocation Recovery subtype 7 (TYPETARC) support was not
FORMATS correct for variables after TARCDSN, now revised to match
VMACTMNT the DSECT. But the SMF records are not always correct;
Nov 2, 2004 many have 0 for DEVNR and following fields, all have ACTN
value 0, and ASID is only two bytes. Those errors in the
SMF record will be corrected in the next ASMTAPEE.
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 22.283 Cosmetic. Error BIT MASK ... TOO LONG caused examination
VMAC1415 of all bit tests and three members were found to have
VMAC63678 bit literals that were not 8 or 16 symbols; fortunately,
VMACF127 none of those tests are currently executed, but the code
Nov 2, 2004 was revised nonetheless:
-TYPE1415 - bad test was inside ISAM code, not used now!
-TYPE6367 - VSAM catalog records no longer exist.
-TYPEF127 - FACOM operating system, probably defunct.
Change 22.282 Variable DATETIME was missing, because MXG code to create
ASUMHSM it from REQUEST was located before REQUEST was created;
Nov 2, 2004 this caused WHERE clause errors in a tailored IMACSHFT
Nov 5, 2004 member that used WHERE clauses and did not expect missing
values in DATETIME (nor should it have, since the error
was in MXG, not in the tailored IMACSHFT!).
-SUMBY FSRTYPE SHIFT logic in the internal invocations of
ANALCNCR had to be revised to remove SHIFT from SUMBY, as
it conflicted with SYNCINTV=YES default in ANALCNCR, and
the recalculation of SHIFT was relocated. This change
also corrected deeper errors, and the number of output
observations in PDB.ASUMHSM is now correct.
Thanks to Karl Lasecki, Chemical Abstracts, USA.
Thanks to Bruce Zink, Honda of America Manufacturing, USA.
Change 22.281 RACF SMF80DTP 44 segment with only SEGNAME and no text
VMAC80A caused *** RACF EV(44) ERROR. INVALID RACFDLNN=0 and
Nov 1, 2004 NOTE: INVALID THIRD ARGUMENT TO FUNCTION SUBSTR... and a
hex dump of each record. Code revised to protect zeroes.
Thanks to Ike Hunley, Blue Cross Blue Shield of Florida, USA.
Change 22.280 NRCPUS calculated in PDB.RMFINTRV using SMF70ONT could
VMXGRMFI have fractional values (0.999) instead of an integer when
Oct 29, 2004 IRD was not involved; the calculation was revised to add
0.005 and FLOOR/1000 to produce the expected integer.
Note that with IRD, fractional NRCPUS is very legitimate.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 22.279 Member TYPEVTOC is no longer executed in the test stream;
TESTOTHR it caused 0C4s under SAS V9 because of CCHHR= operang,
Oct 28, 2004 but it has been archaic ever since DCOLLECT/TYPEDCOL was
released. Because it is no longer in the test stream,
the three datasets it created VTOCLIST,VTOCMAP,VTOCINFO
will no longer be documented in DOCVER.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 22.278 In (archaic) VMAC90, variable SMF9029N was changed from
VMAC90 character to numeric in Change 21.320, but if you combine
Oct 28, 2004 TYPE90 built before and after that change, you got the
ERROR: VARIABLE SMF9029N HAS BEEN DEFINED AS BOTH CHAR...
This change replaces SMF9029N with SMF9029X to avoid that
error, but use of VMAC90A is the preferred solution.
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
====== Changes thru 22.277 were in MXG 22.11 dated Oct 26, 2004=========
Change 22.277 New argument MACFILEX allows you to insert SAS code after
UTILBLDP the SMF header has been read (like MACFILE), for user
Oct 26, 2004 tailoring of what records to read or not to read.
Change 22.276 A utility to analyze the size of SAS data libraries, with
ANALSIZE the number of datasets, number of variables, data bytes,
VMXGSIZE compressed bytes, and average compression percentages.
Oct 26, 2004
Thanks to Chuck Hopf, MBNA, USA.
Change 22.275 The array LCUZ in data step C4 was changed to LCU1-LCU256
ANALPATH and the final report will show up to 256 LCUs if present.
Oct 26, 2004
Thanks to Harald Seifert, HUK Coburg, GERMANY.
Change 22.274 Variables TOTSHARE and TOTSHARC are now kept in both the
VMXG70PR PDB.ASUM70PR and PDB.ASUMCEC so the original and current
Oct 26, 2004 total Weights are available; for summary intervals that
Oct 27, 2004 had more than one RMF record, the weights from the first
record are kept.
Thanks to Chuck Hopf, MBNA, USA.
Change 22.273 The variable PCTCPUBY in QAPMSYST is now set to a missing
VMACQACS value, because there is no "total" CPU busy in QAPMSYST;
Oct 26, 2004 it is still kept so your report programs won't fail with
VARIABLE NOT FOUND errors, but set missing because it was
calculated from SHCPUTM, which is only the SystemTask CPU
time. New PCTCPTBY='PERCENT WHEN*SYSTASK*CPU BUSY' is
now calculated from SHCPUTM.
Thanks to Chris Selley, Zurich, ENGLAND.
Change 22.272 Support for zAAP IFA engines now requires MXG 22.11 due
VMAC30 to this change and change 22.265.
VMAC7072 =TYPE72GO Corrections:
Oct 25, 2004 -New zAAP CPU time CPUIFETM was incorrectly adjusted with
R723NFFI from R723IFCT, but IFCT is the time when zAAP-
eligible work executed on a CP, and that work executes at
the CPU speed, so the NFFI adjustment in MXG was wrong.
-Label CPUIAFTM='IFA*EQUIVALENT*CPU TIME' more accurately
describes the contents of that MXG variable.
-Variables R723IFCT (now, always equal to CPUIFETM), and
R723IFAT (unadjusted, equal to CPUIFATM ONLY if R723NFFI
is 256, and hence probably more confusing that useful),
are both now kept in TYPE72GO dataset.
-Calculation of IFAUNITS, IFEUNITS was corrected, and the
code to subtract IFAUNITS from CPUUNITS was relocated.
=TYPE30 Corrections:
-All TYPE30 IFA/IFE CPU times were wrong: I could blame
IBM, because there are two undocumented bytes after the
SMF30TF2 field that caused misalignment (but my +2 after
the SMF30TF2 was also wrong, it is now +1 for the second
byte of TF2, but now there's a new +2 needed to skip over
those undocumented two bytes). However, my guess that the
new times were like the immediately preceding SMF30CEP
field (input PIB4.6, multiply by 1024) was also wrong;
the new CPU times are PIB4.2 without the multiply).
And the offsets in the SMF manual are wrong starting at
SMF30TF2. (In my defense, Change 22.221 did note that the
changes had NOT been tested with data!).
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Adam Warkow, Citigroup Technology Infrastructure, USA.
Change 22.271 The Macro _LOGSMF, used to read log files (like NDM/CDI)
VMACSMF that have "SMF Records" without the SMF Header, did work
Oct 23, 2004 when last tested, but DATA STEP STOPPED DUE TO LOOPING
error occurred using the TYPENDML example! Inserting
INPUT @; after the ELSE DO; appears to now be required
by SAS, and eliminated that error.
Thanks to Albert Jacobs, KBC, BELGIUM
Change 22.270 22.08-22.10 only. INPUT STATEMENT EXCEEDED RECORD LENGTH
VMACDB2H error with DB2 V8.1 SMF 100/101 records. INPUT of new
Oct 23, 2004 variable QWHSLOCO was PIB4, but the field is only PIB2.
Thanks to Roman Jost, ERGO Integration, NORWAY.
Change 22.269 MXG 22.07-22.10. Six variables in TYPE71 dataset:
VMAC71 LPAPGMN LPAPGMX LPAPGAV LPAFXMN LPAFXMX LPAFXAV
Oct 23, 2004 had missing values, because an extraneous "V" was added
to each variable name in its INPUT statement, when I had
added the IBM SMF field name in comments on each line.
Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.
Change 22.268 Support for VTS R7.3 adds many statistics to TYPE94 and a
FORMATS few to TYPE94P; some 2-byte fields were expanded to four
VMAC94 bytes, but existing, reserved bytes were used for the
Oct 23, 2004 expansion, so the changes are compatible. You can tell
Oct 27, 2004 that R7.3 has been installed because S94LVVCF=730.
Oct 27: MXG 22.11 input these fields as $HEX2 per IBM doc
but IBM reports show them as decimal values, so
they were changed to PIB2 numeric variables:
S94LVVCM='VTS*CODE*MODIFICATION*VALUE'
S94LVVCF='VTS*CODE*FIX*VALUE'
S94LVLMV='LIBRARY*CODE*VERSION*VALUE'
S94LVLMR='LIBRARY*CODE*RELEASE*VALUE'
Change 22.267 The debugging PUT statement at line 745 should have been
VMACMVCI removed; it could flood sysout with millions of lines of
Oct 22, 2004 text: COL=390 T6ECPRID=F5 AFTER F4X
Thanks to Udo Froehline, Signal Iduna, GERMANY.
Change 22.266 Support for CMF Version 55.04 user SMF record (INCOMPAT).
VMACCMF INPUT STATEMENT EXCEEDED for CMF Version 5504 because the
Oct 22, 2004 BMC user SMF record removed four fields from subtype 1;
CMFREC01 was changed by BPM8956/BPM9152. MXG now INPUTS
those fields only for the old length of CMF01CSL=232.
Thanks to Peter Giles, Centrelink, AUSTRALIA.
Change 22.265 Support for APAR OA09118 adds the Service Definition
VMAC30 Coefficients (CPUCOEFF,SRBCOEFF,IOCOEFF,MSOCOEFF) into
Oct 22, 2004 the SMF type 30 records; these fields are needed now for
Oct 25, 2004 zAAP calculations, but have always been wanted in SMF 30.
-If the SDCs are in the SMF 30 record, variable IFAUNITS
will be non-missing, and variable CPUUNITS will contain
ONLY the CP TCB Service Units (i.e., IFAUNITS will be
subtracted from CPUUNITS if this APAR is installed).
-And if SDC values are present, the MXG-created variables
SRVTCBTM and SRVSRBTM will use the CPUCOEFF/SRBCOEFF from
the SMF record, rather than the &CPUCOEFF/&SRBCOEFF macro
default values of one, and CPUTOTTM will use the correct
SRVTCBTM/SRVSRBTM values. See text of Change 22.022.
-This change replaced Change 22.256.
====== Changes thru 22.264 were in MXG 22.10 dated Oct 13, 2004=========
Change 22.264 Variable QTGSUSLM in DB2STATS was not deaccumulated, so
VMACDB2 it have very large and meaningless values. DIF() logic
Oct 13, 2004 was added.
Thanks to John Shuck, Suntrust, USA.
Change 22.263 Revision of the original ANALDSET (DataSet Analysis) that
ANAL42DS uses the TYPE42DS interval records instead of TYPE1415
Oct 13, 2004 and TYPE64 close records. However, only SMS managed DISK
datasets are captured in TYPE42DS (but then ANALDSET only
reports on CLOSED datasets, so both may be necessary!).
Thanks to Chuck Hopf, MBNA, USA.
Change 22.262 Hardcoded DDNAME of PDB for PDB.DTSLOGPR and PDB.DTSCPU
VMACNTSM were replaced by their symbolic &PNTDTLP and &PNTDTCP.
Oct 13, 2004
Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.
Change 22.261 The token for dataset TYPE4237 was missing from the _N42
VMAC42 and _S42 macro definitions, so that dataset was not NULLd
Oct 13, 2004 if _N42 was used, or wasn't sorted if _S42 was used.
Thanks to Ambat Ravi Nair, ATOSORIGIN, SINGAPORE.
Change 22.260 -MXG Change 22.221 for z/OS 1.6 IFAs has now been tested
VMAC7072 with real IFAs and found wanting, causing negative values
Oct 12, 2004 in PCTCPUBY and incorrect CPUWAITTM (but only for systems
that actually have an IFA; there are NO errors using MXG
22.08+ with z/OS 1.6 if you do NOT have any zAAPs).
The code has been updated for all three configurations of
Shared/Dedicated and Wait Completion Yes/No, but only the
Shared, Wait Complete=NO data has been validated.
-New variable MXGCIN in TYPE70PR is an attempt to identify
IFAs (which have SMF70CIN='ICF') from ICFs, with values:
'PHY' - Physical
'CP ' - CP Engine
'VM ' - VM Engine
'IFA' - IFA Engine
'ICF' - ICF (Coupling Facilit) or IFL (Linux) Engine
' ' - SPARE Engine
but this is a heuristic algorithm based on my test data,
but could use validation with your system's data.
-New variables IFACROSS and IFAHONOR are now kept in the
TYPE72GO dataset, where they are created, instead of the
TYPE70 dataset, where I originally kept them.
However: it really makes no sense for IBM to have put
the global parameters in the service-class TYPE72GO
records, but since that's where IBM put them, I have
to do the same.
-I originally spelled IBM field R723IFCU as R723IFEU in
TYPE72GO dataset, trying to use "IFE" for IFA-Eligible
and "IFA" for IFA-Actual, but the variable name is now
changed back R723IFCU to be consistent with the IBM name.
-The test data was from an early system, and these notes
may not be relevant to current IFAs, but are documented
in case these data are observed:
- During Startup Interval, the IFAWAITM is slightly
larger (tenths of a second) than the Interval Duration
which causes PCTIFABY to be slightly negative. While
I could detect and set PCTIFABY to zero, I will wait
to see if this is actually necessary with your data.
- The PHYSICAL LPAR data has LCPUADDR values that are
totally unexpected: 0,2,5,7,8,10,12,14,16,18,21,23,24,
26,28,30,32,34,37,39,40,42,44,46,48,50,53,55,56,60,62
for the 32 engines! While this has no impact, it does
look strange; IBM says its working as designed.
- Update from Martin Packer, Oct 17, 2005:
It turns out there is an explanation: when LCPUADDR
is displayed as a hex value, the first nybble is the
book number minus one, the second is the CPU number.
So the values above are for book 1 thru book 4, with
hex CPU numbers of 00,02,05,07,08,0A,0C,0E
-See Change 22.272, which corrected further errors and is
required for zAAP IFA processors.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 22.259 Variable NDMCPUTM had missing value in NDMPT dataset; a
VMACNDM circumvention now detects that "CPUTIME=" text is present
Oct 12, 2004 and inputs NDMCPUTM.
Thanks to Andreas von Imhof, RaboBank, THE NETHERLANDS.
Change 22.258 All TRND.... members were enhanced with macro variables
TRND.... &TRENDINP, &TRENDNEW, and &TRENDOLD (all of which are set
Oct 12, 2004 to "TREND" by default) so that you can override the MXG
default, and create a new TREND library, instead of reuse
(so that your TREND libraries can be GDGs, which is
required for CA's 11 job recovery product).
-Summarization of DB2ACCTB (Buffer used by Plans) should
have had WEEK.DB2ACCTB instead of WEEK.DB2ACCT.
Thanks to Chuck Hopf, MBNA, USA.
Change 22.257 Summarization of MXGTMNT Tape Mount Monitor data can now
ASUMTMNT alternatively use the STK VSM STCVSM13 and STCVSM16 data
Oct 11, 2004 sets as input. Comment blocks must be removed, and you
must provide a way to identify the VSM devices.
Change 22.256 This change was replaced by Change 22.265.
VMAC30
Oct 11, 2004
Change 22.255 MXG format $MGSASPR, which maps the SAS procedure name to
FORMATS SAS Product Name, was updated for alternative spellings
Oct 11, 2004 (eg., SUMMERY for SUMMARY). The SMF record contains what
name was typed in, but when incorrectly spelled, SAS can
often "guess" the correct procedure name, leaving the
wrong spelling in the SMF record.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 22.254 False ***ERROR.INVALID TYPE42 SUBTYPE 5 RECORD DELETED
VMAC42 message caused only the last entry for that VOLSER to be
Oct 11, 2004 not output in TYPE42VT dataset; all other entries were
correctly output. Three tests for invalid length were
revised: each needed "-4" to be added to each test:
IF 0 LT S42VTVDO LT COL OR S42VTVDO+S42VTVDL-4 GT LENGTH
0 LT S42VTVXO LT COL OR S42VTVXO+S42VTVXL-4 GT LENGTH
0 LT S42VTVVO LT COL OR S42VTVVO+S42VTVVL-4 GT LENGTH
Thanks to John Parkes, Experian, USA.
Change 22.253 Change 22.211 required BLDNTPDB/BLDSMPDB invocation text
BLDNTPDB in your source code to be all lower case, but internal
Oct 11, 2004 code in BLDNTPDB was incorrect; using upper case text
in your invocation caused errors in the Week and Month
selection.
Thanks to Terry Heim, ECOLAB, USA.
Change 22.252 Variable QW0258TS is revised; it is input TODSTAMP8. and
VMAC102 formatted as DATETIME21.2, and the divide by 4096 was
Oct 12, 2004 removed.
-All raw DB2 datetimestamps are on GMT clock, so each must
be converted to local by the addition of GMTOFFDB, and
then each must then be in a %VMXGTIME call (in case your
site uses %TIMEBILD to convert all times to a different
time zone). These variables were missing the GMTOFFDB
addition: QW0022TS,QW0022BT,QW0125TS,QW0316TS.
Also, extraneous refs for QW0260TS,QW0261TS,QW0262TS
were removed.
Thanks to Christa Neven, KBC, BELGIUM.
Change 22.251 Format $MGSTCMR, for the type of mount, had additional
FORMATS values '03'x thru '07'x that are now decoded.
Oct 10, 2004
Thanks to Gilles Fontanini, ABS Decision, FRANCE.
Change 22.250 Support for Release 3.5 of BETA93 product for subtypes
FORMATS 0, 1, 2, 3, and 5 has been revised and 0-3 validated:
VMACBETA -Dataset BETA1 new variables:
Oct 11, 2004 BETAPCR BETADCR BETAFRM BETAEXT BETAPDEF BETAFDEF
BETABTKN BETARBTK BETAREPR BETARMOD BETARUSR
- However, the new REPRINT variables BETARPUS, BETAREPR,
BETABTKN, BETARMOD, and BETARBTK appear to be trashed
in the SMF record, producing missing/strange values.
-Dataset BETA3 is now valid; most variables were missing.
-Dataset BETA5 new variables:
BETAFRM BETAEXT BETARPTN BETAWRPT BETALTKN BETARTKN
-Some inconsistent variable names (FRM2,FRMX,EXT2,EXTX)
were eliminated.
-Other subtypes will be validated when sample records are
received; some timestamps are now SMFSTAMP8 format, but
only real records will reveal their internal formats.
-The subtype 50 record still has not been validly created
so it is not yet supported.
Thanks to Graham Cornwell, Donovan Data Systems, ENGLAND.
Thanks to Klaus Messer, COMLAB GmbH, GERMANY.
Change 22.249 Support for TDSLink user SMF record creates 26 datasets:
EXTDS01F dddddd dataset description
EXTDS01I TDS01T TDSL01TC TCP REJECTED PORTS
EXTDS01M TDS01I TDSL01IC ICMP EVENTS
EXTDS01T TDS01F TDSL01FT FTP EVENTS
EXTDS01V TDS01X TDSL01XO XOT EVENTS
EXTDS01X TDS01V TDSL01VT VTAM EVENTS
EXTDS04 TDS01M TDSL01MV MVS EVENTS
EXTDS06 TDS04 TDSL04 XOT CONNECTIONS
EXTDS07 TDS06 TDSL06 TCP CONNECTIONS
EXTDS08 TDS07 TDSL07 IP INTERFACES
EXTDS09 TDS08 TDSL08 LOCAL APPLICATIONS
EXTDS0A TDS09 TDSL09 REMOTE APPLICATIONS
EXTDS0B TDS0C TDSL0C TCP/IP STACK
EXTDS0C TDS0A TDSL0A IP NETWORKS
EXTDS0D TDS0B TDSL0B ENTERPRISE EXTENDER/IP NODES
EXTDS0E TDS0D TDSL0D CSM BUFFERS
EXTDS0F TDS0E TDSL0E PING OBJECTS
EXTDS10G TDS0F TDSL0F MQ SERIES QUEUES
EXTDS10L TDS10X TDSL10XC XCA HEADER
EXTDS10M TDS10G TDSL10GR GROUP
EXTDS10P TDS10M TDSL10MX CROSS DOMAIN RESOURCE MGR
EXTDS10R TDS10P TDSL10PU PHYSICAL UNIT
EXTDS10S TDS10S TDSL10SK SKLETAL PHYSICALUNIT
EXTDS10X TDS10L TDSL10LU LOGICAL UNIT
EXTDS11 TDS10R TDSL10RX CROSS DOMAIN RESOURCE
EXTDS12 TDS11 TDSL11 CPU AND MEMORY
TYPETDSL TDS12 TDSL12 DISK
TYPSTDSL
VMACTDSL
VMXGINIT
Oct 7, 2004
Thanks to Khalid Meskinia, SAS France, FRANCE.
Thanks to Alain Delaroache, Atlantica (Credit Agricole), FRANCE
Thanks to Jacky Hofbauer, Atlantica (Credit Agricole), FRANCE.
Change 22.248 ASUMCACH revised to tolerate zero obs in PDB.TYPE74CA.
ASUMCACH Previously, zero obs caused $CACHID format to not be
Oct 6, 2004 created.
Thanks to Jeff Harder, Indiana Farm Bureau, USA.
Change 22.247 Default test for Oracle SUBSYSID EQ 'OSDI' replaced the
VMACORAC SUBSYSID EQ 'TGW9' value, left after debugging. If you
Sep 30, 2004 re-define the _IDORACO macro in your IMACKEEP, it will
use your subsystem IDs, rather than the default in the
VMACORAC member, but 'OSDI' should have been the default
in the MXG code. See also change 20.111 text.
Thanks to John Rivest, TDS Corporate, USA.
Change 22.246 Support for Demand Technology's NTSMF Release 2.4.7.
VMACNTSM -MSEXCHANGEDSACCESS PROCESSES object, dataset MSEXPROC
Sep 30, 2004 has only seven variables, down from thirty nine.
-EPOXY object, dataset EPOXY, has two new variables.
-MSEXCHANGEIS MAILBOX object, dataset MSEXCHPU has six
new variables.
Change 22.245 -Support for Velocity Software's XAMAP Release 3.4, which
EXXAMSYT is INCOMPATIBLE, because new SYTCUP segment with LPARNAME
VMACXAM of "Totals:" had an invalid value for the number of LCPUs
Sep 30, 2004 causing INPUT STATEMENT EXCEEDED RECORD Length error if
Release 3.4 records are read without this change.
-The "Totals:" record is not output, as it duplicates the
CPU time in XAMSYT dataset, and caused 200% CPU busy's!
That tailoring code is externalized into the EXXAMSYT
exit member, if you ever decide you need it, unlikely.
-New variables are added to the XAMSYS dataset:
CPUCAPAB CPUCFGCT CPUCFGCT CPUCHAR CPUCOUNT CPUCOUNT
CPUDEDCT CPURESVD CPURESVD CPUSHARD CPUSTNBY CPUSTNBY
DEDCNT IOPCNT LPARCAF LPARNAME LPNUMBER MONECONH
MONECONL MONEVNTH MONEVNTL MONSAMPH MONSAMPL MONSCONH
MONSCONL SCPCAPAB SYSMMODL SYSMPOM SYSMSEQC SYSMTYPE
VL3CAF VL3CFGCT VL3COUNT VL3CPNAM VL3DBCT VL3MNAME
VL3RESVD VL3STNBY
-New variables added to the XAMSYT dataset:
CALPTIS LCUCWCPL LCUCCAPP LCPTYCP LCPTYICF LCPTYIOT
-Additional data from SUBSUM, PRCIOP, and IODVSW will be
added later, when someone asks to use the new data, or
I get bored/caught up. The preceding changes are all
that are needed to keep your current reports valid, and
add those new variables.
This note will be revised when that happens.
Thanks to Tony Curry, BMC, USA.
Change 22.244 RACF REMOVE event, dataset TYPE8023, did not decode the
VMAC80A Data Type 6 segment; the OWNER/GROUP and bit variables
Sep 30, 2004 are now created.
Thanks to Robert D. Mitchell, UBS, USA.
Change 22.243 INPUT STATEMENT EXCEEDED if old VMACNSPY member (prior to
VMACNSPY Change 22.131) read a NETSPY record that is a NETMASTER
Sep 30, 2004 subtype. NETSPY and NETMASTER are now combined and write
Referenced: a single SMF record with both NSPY and NETM subtypes, and
EXNETM50 Change 22.131 added support to create both NETM and NSPY
VMXGINIT datasets from the single SMF record. However, messages
INVALID NETSPY SUBTYPE were printed with Change 22.131,
and NETMASTER datasets all had zero observations, because
the more robust test for NETMASTER subtype must be first,
and the test for a NETSPY subtype can be executed when it
is clear the record is not a NETMASTER subtype.
Note that TYPENETM will still process NetMaster subtypes
in the NETSPY record, but if you have added both NSPY and
NETM logic to your BUILDPDB, either VMACNSPY will ABEND,
because both want to create the five NETMxxxx datasets.
You should remove NETM tailoring and use only NSPY to
create both NSPYxxxx and NETMxxxx datasets.
-This VMACNSPY requires MXG 22.02 or later, because 22.02
contained Change 22.037, which created the new EXNETM50
member and updated VMXGINIT to support the new NETM5000
NetMaster dataset.
Thanks to Andy Creet, Department of Defence, AUSTRALIA.
Change 22.242 Example analysis provides Gartner Group with information:
ANALGART Batch Workload (e.g., MVS Batch Percentage CPU)
Sep 28, 2004 Interactive Workload (e.g., MVS/TSO Percentage CPU)
Online Workload (e.g., CICS,DB2,IDMS Percentage CPU)
across all partitions data.
The example assumes your Batch Work is in WORKLOAD=JES2,
TSO in WORKLOAD=TSO, Enclaves in DDF, CICS in CICS, so
you may need to tailor those definitions, and then it
reads your PDB library and build a tailored "RMFINTRV"
dataset named GARTNER, and print a summary report.
Thanks to Atle Mjelde, Ergo, NORWAY.
Change 22.241 Example summarization of the four IMF datasets:
ASUMCIMS PDB.ASUMIMTR : /*SUMMARY OF CIMSTRAN */
VMXGINIT PDB.ASUMIMDD : /*SUMMARY OF CIMSDBDS */
Sep 28, 2004 PDB.ASUMIMDB : /*SUMMARY OF CIMSDB2 */
PDB.ASUMIMPR : /*SUMMARY OF CIMSPROG */
Thanks to Ray Dorsing, Affiliated Computer Services, USA.
Change 22.240 Support for z/VM 4.4 INCOMPAT changes in SYTCUP record.
VMACVMXA New LCPTYPE='HARDWARE*CPU*TYPE' variable inserted in the
Sep 28, 2004 record is now supported. As no other errors with data
from z/VM 4.4 have been reported, I can claim "support"
with this change, but there could be new data variables
that are not yet decoded.
Thanks to Reinhard Lidzba, AGIS Allianz Dresdner, GERMANY.
Change 22.239 Member ERRORASC shows ASCII platform errors that occur if
ERRORASC you incorrectly download SMF data, and the member shows
Sep 28, 2004 how to use the %UDUMPEBC utility to determine what is in
the downloaded file, and how to resolve the cause of the
ERROR: Undetermined I/O failure.
ERROR: Unrecoverable I/O error detected...
This was originally in the undocumented "ERRORS" member,
but it contained unprintable characters that caused other
problems when that member was downloaded, so the revision
updated the contents and removed the unprintables.
Thanks to Dan Squillace, SAS Institute, USA.
Change 22.238 First pass at support for z/OS 1.4 SYSLOG file.
SYSLOG -Appends the type 'S' continuation record to create a
Sep 30, 2004 single event record
-Creates LOGGROUP sequence number for multi-record SYSLOG
events. See preliminary comments.
Please contribute suggestions for enhancements, as this
present implementation is still in first tests; some
important LOG events may be create new datasets, etc.
-Original example completely replaced.
Thanks to Freddie Arie, TXU Energy, USA.
Change 22.237 -To monitor STK tape devices with ML-31, you must use the
VMACTMNT XMEM=YES,MXIT=NO options when you assemble ASMTAPEE, to
Sep 27, 2004 capture the job-level information via Cross Memory calls.
Instead, for IBM tape devices, MXIT=YES,XMEM=NO is used
to eliminate Cross Memory calls and capture all mounts
in the IBM Volume Mount Exit - STK's HSC does not use
that exit, so you still have to use XMEM, until we can
find a usable HSC exit, research long underway.
Using the above options for STK caused DDNAME and STEPNR
to be blank/zero, because of a logic error in VMACTMNT:
The MXIT architecture captures these new variables:
ASID INITTIME JOBCLASS LOCLINFO PGMRNAME
RACFGRUP RACFTERM RACFUSER STEPNAME STEPNRX
TMNTACTN TMNTDEVC TMNTEDUR TMNTFLAG TMNTRCN
and these old variables:
DDNAME STEPNR
ML-31 SMF records have a new segment with those fields,
but they are not populated unless MXIT=YES was used;
MXG incorrectly INPUT those variables if the segment
was detected, causing the DDNAME/STEPNR fields in the
new segment overwrote the valid old . That logic was
corrected in this change.
-PDB.ASUMTAPE had missing values in RACFxxxx and ASID
variables because of the TYPETMNT error; that blank
DDNAME in TYPETMNT caused ASUMTAPE's merge of TYPETMNT,
TYPETALO, and IBM TYPE21 datasets to fail to correctly
propagate old ASID variables from TYPETALO into the
output PDB.ASUMTAPE dataset. Fixing TYPETMNT fixed.
Thanks to Normand Poitras, IBM Global Services, USA.
Change 22.236 New ANALFLSH member tracks how many flash copies are run
ANALFLSH in each 15 minute interval, as lots of parallel flashes
FORMATS can degrade performance. New format $MG022ST decodes the
VMAC22 copy status, and tests for LENGTH-COL were corrected to
Sep 26, 2004 use LENGTH-COL+1 for the bytes remaining in the record.
Since multiple records are written from multiple systems,
the ANALFLSH report must be tailored to select data from
only one system, since TYPE22_A dataset can have pseudo
duplicates. The sort order for TYPE22_A was changed to
SYSTEM SMFTIME SMF22CUA SMF22VOL to remove acutal dupes
when TYPS22 is used to sort TYPE22_A dataset.
Change 22.235 Support for ASG/Landmark TMON for DB2 Version 4.0.
VMACTMDB Only one dataset, TMDB7P appears to have been changed.
Sep 26, 2004
Thanks to Martin Legendre, Regie des Rentes du Quebec, CANADA.
=Drove to East Coast(NYC, NJ, DEL) then drove thru Hurricane Ivan in GA
=enroute to FLA (Wakulla County), then drove thru Hurricane Ivan again
=one week later in Shreveport, LA. Rain was 6 inches per hour, for
=about an hour both times, but traffic only slowed to 60 mph.
Change 22.234 Support for DB2 V8.1 IFCIDs 140,141,142,145 SQL text that
VMAC102 was relocated; without this change the QW014nTX variable
Sep 9, 2004 was blank even when there was SQL text in the record.
Thanks to Ep van der Es, Dow, BELGIUM.
Change 22.233 MXG's calculation of NRCPUS when IRD was NOT active could
VMAC7072 be very slightly wrong, calculating 2.0020 for 2 engines.
Sep 1, 2004 The use of NRCPUS=ROUND(SMF70ONT/DURATM,.001) was the
cause, but by replacing that calculation with
IF SMF70ONT GT 0 AND NRCPUS GT 0 AND LPARWLMG='Y' THEN
NRCPUS=SMF70BDA;
the correct IRD calculation (LPARWLMG='Y') is done, and
for non-IRD, MXG had correctly counted the integer number
of engines, which is unperturbed when LPARWLMG NE 'Y'.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 22.232 CMR time is added to the calculation of MPL74 time:
VMAC74 MPL74=SUM(DEVCONTM,DEVDISTM,DLYCMRTM)/DURATM;
Sep 1, 2004 Originally, errors in the CMR field in the record caused
it to be left out, but APARs have corrected the value.
This agrees with Cathy Cronin's "FICON and FICON Express
Channel Performance Version 2.0" IBM White Paper.
Thanks to Ray Waugh, Merrill Lynch, USA.
Change 22.231 If an NTSMF data set was unlabeled, using %BLDNTPDB with
EXNTDB2A RUNWEEK=WTD caused VARIABLE NOT IN DATASET errors. The
EXNTDB2D new PDB.DTSCPULP was build from two datasets by did not
FORMATS have a label.
IMACNTSM -FORMATS was updated with the $MGDDDDD and $MGDDDSN for
VMACNTSM all of the new NTSMF datasets.
VMXGINIT -DATABASE object with 170 fields support added.
Aug 31, 2004 -MSEXCHANGEIS object with 126 fields support added.
Sep 8, 2004 -DB2 DATABASE MANAGER (originally DB2 NT DATABASE MANAGER)
object with 28 fields is support added.
-New objects DB2 DATABASE and DB2 APPLICATIONS with 94 and
90 fields respectively create NTDB2DAT,NTDB2APL datasets.
Thanks to Terry Heim, ECOLAB, USA.
Change 22.230 Variable A17DTCFP, CFDT Pool Name was hex zeros rather
VMAC110 than blanks when there was no pool name. MXG now tests
Aug 30, 2004 and sets the variable to blanks instead of hex zeroes.
Thanks to Harald Seifert, HUK=COBURG, GERMANY.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 22.229 Cosmetic. ABNDRSNC TERMIND UNINITIALIZED messages were
BUILD005 printed the first time BUILDPDB/BUILDPD3 were executed,
BUIL3005 with nothing in the //SPIN library, but those messages
Aug 26, 2004 had no impact. Compiler fakers suppress the messages.
Change 22.228 Second instance of INCLASS in the KEEP list should have
VMACTPMX been INCLASSJ.
Aug 26, 2004
Thanks to Bruce W. Christopher, Housholde International, USA.
====== Changes thru 22.227 were in MXG 22.09 dated Aug 25, 2004=========
Change 22.227 Typo left a start-comment /* as the last line of member
VMAC99 VMAC99, which caused problems. Stray text was deleted.
Aug 25, 2004
Thanks to Chris Weston, SAS ITSV Development Cary, USA.
Change 22.226 Back-level ASG/TMON Version 2.0 records caused INVALID DO
VMACTMO2 LOOP CONTROL because I forgot that SAS won't tolerate a
Aug 25, 2004 missing value and had added DO _I_=1 TO TAAMQCNT; without
testing that TAAMQCNT had been input; it was a new field
in ASG/TMON Version 2.3 that was missing when 2.0 records
were read. All the DO _I_ statements are now protected.
Thanks to Nori Abakah, Progress Energy, USA.
Change 22.225 ANALDB2R(PDB=PDB,PMAUD02=YES) caused FORMAT MGD140O NOT
ANALDB2R FOUND (but a $MGD140O did exist in the format library),
Aug 25, 2004 because the variable that was PUT with $MGD140O format
did not exist, and thus was created as numeric, causing
SAS to look for a numeric rather than a character format.
The variable did not exist because not all datasets that
ANALDB2R expected were in the PDB library. If you use
%ANALDB2R(PDB=SMF...), it creates all needed datasets for
the requested reprots; if %READDB2(INFILE=SMF,IFCIDS=...)
is used to create a PDB, and all IFCIDs are not requested
then using %ANALDB2R(PDB=PDB ..) may fail. You can use
%READDB2(INFILE=SMF,CLASS=AUDIT...) to create a PDB with
all needed datasets for AUDIT reports (and that PDB will
have zero obs datasets for the IFCIDs with no records,
with all datasets created, all variables exist. Seeing
this exposure, a "compiler faker" was added for each of
the character variables that are PUT with FORMAT, forcing
those variables to be character variables, to circumvent
the error when all expected datasets are not present.
Thanks to Sharon Nagy, Comerica Bank, USA.
Change 22.224 SMF 6 or 57 record with ESS segment, but with SMF57TUL=0,
VMAC57 was not expected, caused INPUT STATEMENT EXCEEDED error.
VMAC6 Since there was an ESS segment, text was assumed present!
Aug 24, 2004 Now, the text length is tested. This text was revised
Oct 26, 2004 Oct 26, when same error did occur with SMF 6 record.
Thanks to Scott Wiig, US Bank, USA.
Thanks to Jurgen Strauch, Zweckverband Kommunale Stuttgart, GERMANY.
Change 22.222 NDM subtype QE record caused INPUT STATEMENT EXCEEDED.
VMACNDM The CDI DSECT does not agree with the record; the QTYPE
Aug 24, 2004 field is only 1 byte in the record but the DSECT shows a
Aug 26, 2004 halfword. The Queue Status contains a valid 'SS', and
the SEQ field contains '0000'x, but the error was because
MXG always expected that was followed by an 8-byte field
with SYSPLEX SERVER NAME, but that field does not exist
in all releases of NDM. Code was added to conditionally
input SERVER NAME only when it exists for the QE, TP, PI
and FA subtypes, and all with SERVER NAME field.
-Invalid value for OFFSET to JOB DATA SET NAME protected.
Thanks to Gerrit Van Meerbeek, HP/Procter and Gamble Cie, BELGIUM.
Change 22.221 Support for z/OS 1.6, but now, Change 22.272 is required.
VMAC30 Change 22.180 and prior APARs supportd most z/OS 1.6 new
VMAC7072 data and changes in MXG 22.07 and 22.08, but TYPE72GO
BUILD005 code (ONLY FOR z/OS 1.6 RECORDS) was wrong, causing many
BUIL3005 INVALID DATA messages and incorrect output in TYPE72GO
Aug 25, 2004 when z/OS 1.6 records were read (NO errors with 1.5 RMF).
The SKIP=SKIP-16 needed to be SKIP=SKIP-28 in SUBTYPE=3
code block for LENSCS GE 532.
-The extensive MXG Technical Note on IFAs/zAAPs in MXG
Newsletter FORTY-FIVE discussed MXG revisions to some of
the existing MXG variables; this change implements those
new calculations and new variables for TYPE72GO/TYPE70:
-In TYPE72GO:
CPUIFATM - IFA CPU Time spent on IFA
CPUIFETM - CP CPU Time that was Eligible to run on IFA
IFAUNITS - IFA Service Units spent on IFA
IFEUNITS - CP Service Units that were Eligible for IFA
CPUTCBTM - CP CPU Time (does NOT contain IFA CPU time)
CPUUNITS = CP Service Units (NOT contain IFA Units)
-It is likely the VELOCITY calculations in TYPE72GO will
be changed, but this is just a note that they have NOT
been revised to include IFA samples.
-TYPE70 dataset was revised to include only CP engines in
existing PCTCPUBY, CPUACTTM, etc, and labels now include
"CP" to identify. New IFA Capacity Variables added.
PCTCPUBY,CPUACTTM,CPUUPTM,CPUWAITM are all "CP-only".
PCTIFABY,IFAACTTM,IFAUPTM,IFAWAITM are all "IFA-only".
Individual PCTIFBYn and IFAWAITn variables exist for
each of the possible 32 IFA engines.
IFAACTTM='IFA ENGINE*EXECUTING*(ACTIVE) CPU TIME'
IFAUPTM ='IFA ENGINE*AVAILABLE*(UP) TIME'
NRIFAS ='NUMBER OF*IFA*ENGINES*AVAILABLE'
PCTIFABY='ALL IFAS*PERCENT*BUSY (DISPATCHED)'
IFAWAIT0-IFAWAITX - IFA wait for each of 32 engines
PCTIFBY0-PCTIFBYX - IFA PCT BUSY for each engine.
-This data has been tested with z/OS R 1.6 RMF 72 records,
but not with IFAs installed, so please validate the
old and new percentages when you install an IFA.
Change 22.272 updates have been tested with 30s and 72s.
-TYPE30 variable's names were changed to be consistent:
CPUIFATM='TOTAL*CPU TIME*ON*IFA'
CPUDFATM='DEPENDENT*ENCLAVE*CPU TIME*ON IFA'
CPUEFATM='INDEPENT*ENCLAVE*CPU TIME*ON IFA'
CPUIFETM='IFA-ELIGIBLE*CPU TIME*ON*CP'
CPUDFETM='IFA-ELIGIBLE*DEP ENCLAVE*CPU TIME*ON CP'
CPUEFETM='IFA-ELIGIBLE*IND ENCLAVE*CPU TIME*ON CP'
and these variables are added to the PDB.JOBS & PDB.STEPS
in the BUILDPDB/BUILDPD3 logic.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 22.220 All 275 ADOC members were updated with new variables and
ADOC.... the variable lengths were corrected back to their MVS
Aug 22, 2004 lengths. The text in these documentation members was not
touched by the elegant utility that Freddie implemented,
which uses the text in DOCVER to update the variables.
Thanks to Freddie Arie, TXU, USA.
====== Changes thru 22.219 were in MXG 22.08 dated Aug 20, 2004=========
MXG 22.08 was re-dated Aug 20, 2004, when I discovered seven members
were missing from the 3480 tapes,including VMAC0 which caused JCLTESTx
to fail. The re-dated version included these additional changes:
Change 22.219 -Variable DISKRATE was misspelled in two KEEP= lists ad
VMACMWUX DISKRT.
Aug 20, 2004 -Variable DISKNAME was increased to $64 as $20 was too
short; only $35 were seen thus far, but this will avoid
yet another change later, hopefully!
-Comments revised to caution that a dollar sign should not
be used as a delimiter, as dollar signs appear in the tty
field in the MeasureWare PROC records.
Thanks to Roman Gudz, Penske Logistics, USA.
Thanks to Albert Jacobs, KBC, BELGIUM.
Change 22.218 The PDB exit _EDBJOBS was relocated so it precedes the
BUILD005 OUTPUT ACCOUNT; statement; if you used the _EDBJOBS exit
BUIL3005 to populate ACCOUNTn variables for Started Tasks that do
Aug 20, 2004 not have accounting parameters on their "JOB" card, your
code worked just fine for the PDB.JOBS dataset, but the
observations in PDB.STEPS and especially in PDB.SMFINTRV
contained blanks for the ACCOUNTn variables, because the
ACCOUNT (temporary) dataset is used to "back fill" those
other PDB datasets. With this code relocation, any exit
changes to ACCOUNTn variables will be propagated into the
PDB.STEPS, PDB.PRINT, and PDB.SMFINTRV datasets.
Note: It used to be that you HAD to use a table lookup
based on JOB name to assign ACCOUNTn variables
for STCs, but for all current OS/390 and z/OS,
you can put account fields on the "JOB" card for
the STC, and they will automatically be carried
into the PDB.JOBS/STEPS/PRINT/SMFINTRV datasets.
Thanks to Ken Jones, Xwave, CANADA.
Change 22.217 The extraneous IF in IF BYTEAVAIL=MAX(...) was removed,
VMACNTSM but it had no impact since the prior test for AVAILMEK
Aug 20, 2004 was never satisfied.
Thanks to Xiaobo Zhang, ISO, USA.
Change 22.216 The utility to convert character-variables-containing-hex
UTILCVRT after you move SAS datasets from MVS to ASCII worked fine
Aug 20, 2004 but added temp variables LENGTH and _I_ to the output.
Now it doesn't, and LENGTH was respelled as _L_.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 22.215 Creating CPU graphs of NT SMF data caused errors VARIABLE
BLDNTPDB STARTIME NOT FOUND and INVALID VALUE FOR SORTEDBY; the
Aug 20, 2004 sumby= statement was corrected and the DROP was removed.
Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.
Change 22.214 Commas were missing after XX='EN' and YY='WO' in lines
MXGSASV9 15 and 16 in the JCL procedure for SAS V9.
Aug 20, 2004
Thanks to Wade Peterson, McMaster-Carr Supply Company, USA.
Change 22.213 Variable R723CRTF was not kept in the TRND72GO dataset
TRND72GO because it was misspelled as R723CRFT in the ID=
Aug 19, 2004 statement.
-The default example TRND72GO summarizes at the SRVCLASS
level of detail, but you may prefer to summarize at the
PERIOD level, since Goals and Importance can be set at
the lower level. You can add PERIOD at the end of the
SUMBY= statement in your tailored TRND72GO if you want
the PERIOD level included in the trending summary.
Thanks to Rick Mansfeldt, IBM Global Services, USA.
Change 22.212 The FTPREPLY field changed from a binary value to EBCDIC
VMACTCP numeric; APARs PQ92769 and PQ83055 documents this change
Aug 18, 2004 in the format of the field; MXG code supports both the
old and the new format transparently.
Thanks to Tom White, SPRINT, USA.
Change 22.211 The JCL example for testing with SAS Version 9 needed the
JCLTEST9 //MONITASK and //SPIN DDs in step TESTOTHR.
Aug 17, 2004
Thanks to Paul Gillis, Pacific Systems Management Pty. Ltd
Change 22.210 JES3 JMF SMF 84 caused INPUT STATEMENT EXCEEDED RECORD;
VMAC84 the statement LOCJSTOF+LOCJSTOF+48; in VMAC84 should
Aug 17, 2004 have been: LOCJSTOF=LOCJSTOF+48;
Thanks to Paul Gillis, Pacific Systems Management Pty. Ltd
Change 22.209 While all INFORMAT xxx $NOTRAN statements were removed in
BUILD005 Change 22.192, using PROC SYNCSORT still caused BUILDPDB
BUIL3005 to fail, because the SPIN.SPIN30_4 dataset had variables
Aug 17, 2004 with that INFORMAT. This change removes the informat for
the two variables ABNDRSNC TERMIND as that dataset is
read, eliminating that (hopefully!) final exposure.
Alternatively, you could just use
DATA SPIN.SPIN30_4;
SET SPIN.SPIN30_4;
INFORMAT ABNDRSNC TERMIND ;
to replace the SPIN30_4 data set and remove the INFORMAT.
-I discovered the INFORMAT statement must be AFTER the SET
statement to remove the informat from the variables!
Thanks to Michael L. Kynch, International Paper, USA.
Thanks to Peter Giles, Centrelink, AUSTRALIA.
Change 22.208 -Support for TOKDANAM=GID creates new variable TOKGID in
IMAC6ESS TYPE80xx datasets that can contain the 53 segment.
VMAC80A -Removed unneeded PUT statement in IMAC6ESS member that
Aug 13, 2004 was observed in the log.
Thanks to Engelbert Smets, Provinzial Rheinland Versicher., GERMANY.
====== Changes thru 22.207 were in MXG 22.08 dated Aug 13, 2004=========
Change 22.207 FLASH. For MVS SAS V9.1 and V9.1.2. SAS Note SN-12943
CONFIGV9 reports incorrect results with PROC MEANS,SUMMARY,REPORT
Aug 13, 2004 and TABULATE only on "MVS", if threading is used, and the
SAS default option is THREADS. Specifying NOTHREADS does
corrects the error, which is fixed in SAS V9.1.3, and SAS
will have a Hot Fix very soon for V9.1 and V9.1.2, but I
still decided this was sufficiently critical to re-date
the MXG 22.08 release and include NOTHREADS in CONFIGV9
member, since you could easily change that option in your
CONFIGV9 later, or use OPTIONS= on your // EXEC statement
when you have the fix and find threading is of value.
Thanks to MP Welch, SPRINT, USA.
Change 22.206 Cosmetic. Some fields caused 'Note 49' and blanks were
VMACEREP inserted, to support that future version possible change.
IMACICBB
Aug 13, 2004
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
====== Changes thru 22.205 were in MXG 22.08 dated Aug 12, 2004=========
Change 22.205 New CICS Statistics datasets were not listed in IMACCICS,
IMACCICS and worse, were not invoked in the _CICSTAT nor _S110ST
VMAC110 macros, and the example to use both in Change 18.152 did
Aug 12, 2004 not work. The new datasets are now added/listed.
-The _S110ST macro sorts all CICS Statistics datasets from
the "Wdddddd" work default (WORK) to their "Pdddddd" PDB
library.
-The _CICSTAT changes both the _W and _Pdddddd names, to
the value (ddname) you stored in macro variable CICSTAT,
but could not be used with the _S110ST macro because the
same DD would be used for both _W and _P datasets.
-The new _CICSTAS (S=sort!) changes only the Pdddddd for
the output of the SORTs, so it can be used in EXPDBOUT
ahead of _S110ST to sort all CICS statistics datasets to
the DDname specified in macro variable CICSTAT.
To COPY all cics stats datsets to DDname "CICSSTAT", use
%LET CICSTAT = CICSSTAT;
_CICSTAS;
_S110ST
in your EXPDBOUT member, and all of the CICS statistics
datasets will be CICSSTAT.CICxxxxx.
Thanks to Nori Abakah, Progress Energy, USA.
Change 22.204 Support for new fields added by DB2 V7 and V8 in T102S172
VMAC102 for IFCID=172 (all units of work involved in a deadlock).
Aug 12, 2004 The test for QWHSRELN EQ 7.1 was changed to GE 6, as the
Aug 13, 2004 "V7" data existed starting with DB2 Version 6.
Thanks to Andy Creet, Department of Defence, AUSTRALIA.
Thanks to Brad Kiemann, Department of Defence, AUSTRALIA.
Change 22.203 Cosmetic. VGETJESN decodes JCTJOBID to create JESNR and
VGETJESN TYPETASK, but if JCTJOBID was hex zeros or blank, as for
Aug 12, 2004 some records for JOB='INIT', unnecessary messages that
WARNING - TYPETASK NOT DECODED were printed on the log.
Now, VGETJESN tests to see that JCTJOBID is non-blank,
so the unnecessary warning messages won't be printed.
Thanks to Ng Kin, Acxiom, USA.
Change 22.202 Cosmetic. Invalid SMF 42 subtype 21 record cause MXG to
VMAC42 print an MXG error message that APAR OA02184 corrects the
Aug 11, 2004 bad records, but that APAR only corrects errors when the
delete used ISPF STOW command; if the delete was done by
DESERV FUNC=DELETE, the record is wrong and IBM has just
created APAR OA08693 to correct that error. The text of
MXG's error message said the record was DELETED, but at
the point of the error, MXG had already output TYPE4221.
The bad segment prevents an output to TYPE422A dataset,
so the text of the error message was clarified that it is
the rest of the record that is being deleted.
Thanks to Scott Wiig, U.S. Bank, USA.
Change 22.201 Aren't you glad SAS developers use MXG for testing new
VMXGSUM releases of SAS? Their early tests of SAS V9.2 found an
Aug 11, 2004 MXG syntax error that had previously been absorbed with
no compiler error. The text %ELSE %THEN %DO; was
corrected to %ELSE %DO;
Thanks to Rick Langston, SAS Institute Cary, USA.
Change 22.200 Variables SASVEREL SASUSER and SASJOBID are created by a
VMACSASU SUBSTR() of a $64 variable, so they defaulted to length
Aug 11, 2004 of 64. They are now defined in a LENGTH $8 statement.
These fields were added by Change 22.251, but, now, see
Change 22.303 for the (final?) correction.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 22.199 Major revision to IMS0708 dataset, created by TYPEIMS7,
EXIMS78 from the IMS 07/08 log records. Previously, transactions
EXIMSMRY with the same DTOKEN were summed into only one output
TYPEIMS7 observation, but that destroyed the detail "servictm" of
VMACIMS each program schedule event, and there can be thousands
VMXGINIT of Quick Restart program schedules with the same DTOKEN.
Aug 12, 2004 And each program schedule event could have serviced many
(NMSGPROC) transactions for each detail event. This
redesign eliminates the summarization by DTOKEN, creating
one observation for each program schedule event, with the
detail NMSGPROC, IMSCPUTM, etc., for each schedule event.
-If both 08 and 07 are found, STRTTIME and ENDTIME will
be non-missing; if only an 07 end event with no matching
08 start is found, STRTTIME will be missing, and for an
08 only with no 07 start (or back-to-back 08s) ENDTIME
will be missing.
-For events with the same DTOKEN, new variable INSTANCE
counts individual event instances.
-New variables SYSABEND and USRABEND decode the COMPCODE
into more meaningful variables in IMS0708 detail dataset.
-VMACIMS had to be revised to increase the stored length
of IMSRECNO to 8 bytes; it is now used to sequence events
within each DTOKEN. Originally it was a PIB4. field that
was stored in 5 bytes, but it was changed to a PIB8 field
in IMS Version 6, and should have been increased then.
-VMXGINIT was updated to support the new tokens PIMS78 and
PIMSMRY which can be used to set the DDNAME of IMS0708
and IMSSUMRY datasets. The default value for the output
DD is the _IMSTRAN old-style macro, so if you have set it
in your IMACIMS7 member to "IMSTRAN", the new TYPEIMS7
will still create IMSTRAN.IMS0708, or the example in the
TYPEIMS7 member shows you can use %LET PIMS78=IMSTRAN; in
your //SYSIN stream to set the destination DDname.
-But in case you really want the summary by DTOKEN, new
IMSSUMRY data set can be created by the _IMSUMRY macro,
as documented in comments in TYPEIMS7 member.
-And the original TYPEIMS7 program is preserved in the MXG
member ZTYPIMS7, just in case you feel a need to revert.
-The requestor of this change also wanted to create a new
dataset, IMSABEND, with only ABENDing transactions, but I
decided against making that an "MXG dataset", because the
IMACKEEP member and the _KIMS78 and _EIMS78 macros can
easily be used to create the new dataset, as shown below
in the example that also creates a new ORIGUSID variable
at the same time:
MACRO _KIMS78
ORIGUSID )
IMSABEND (KEEP=COMPCODE ORIGUSID USRABEND SYSABEND
%
MACRO _EIMS78
ORIGUSID=IMSUSID;
IF '0' LE IMSUSID LE '9' THEN IMSUSID='INTERNAL';
OUTPUT _LIMS78;
IF COMPCODE NOT
IN('00000000'X,'40404040'X,'20202020'X)
THEN OUTPUT IMSABEND;
%
The use of the _Kdddddd and _Edddddd macros to create new
datasets is documented in the DOCMXG member.
Thanks to Glenn Lundgren, SEB IT Service, SWEDEN.
Change 22.198 The PCTWFLOW calculation was revised to match the WFL %
ZRBRPT3 value shown on the RMF III panels, using the revised
Aug 6, 2004 equation from the RMF Programmers Guide that had been
overlooked since 1996.
Thanks to Randy Shumate, LexisNexis, USA.
Thanks to Steven L. Hankins, LexisNexis, USA.
Change 22.197 The Ficon Open Exchange analysis program was revised to
ANALFIOE keep only Online channels, and to delete Ficon Bridge
Aug 5, 2004 channels, to which the analysis does not apply.
The example in comments to create the datasets from SMF
was revised again, now using the three _Sdddddd dataset
sort macros instead of the _Sxxxx product sort macros.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Thanks to Betty Wong, Bank of America, USA.
Change 22.196 Support for longer length DB2 identification variables:
VMACDB2H QWHSLOCN QWHSAID QWHCOPID QWHCEUID QWHDRQNM QWHDSVNM
Aug 5, 2004 is prepared to read in the up-to-128-byte character text,
but the length of those variables is not changed, yet.
Only when you actually increased-length data would you
want to increase their stored length in each observation
in your DB2ACCT dataset, and that can be done in your
//SYSIN in the job that creates your DB2ACCT data, using:
%LET MACFILE= %QUOTE( LENGTH QWHSLOCN $128;);
The longer fields can also now be in UNICODE, but until I
have test data, and until there is a need, I chose not to
to add that alternative code (UNICODE requires SAS V8,
and because the DB2 code is used in BUILDPDB, the longer
I hold off adding the UNICODE support, the longer those
few sites still running SAS V6 can limp along).
Thanks to Charles Harbour, John Deere, USA.
Change 22.195 INVALID DATA FOR YYYY warning for SMF 102 IFCID=22 when
VMAC102 the QW0022TS field contained nulls; the inputs with NUM
Aug 4, 2004 informat were protected with ?? syntax.
Thanks to Jim Poletti, Edward Jones, USA.
Change 22.194 Typo. SUN.ASUM79PR should have been SUN.ASUM70PR.
WEEK70PR
Aug 4, 2004
Thanks to Ingegerd Jansson, Volvo Information Technology AB, SWEDEN.
Change 22.193 Support for many new NTSMF objects, including DTS CPU
EXNTDTCP configuration records, Exchange 2003, Exchange 2000
EXNTDTLP instant messaging, Outlook 2003, and RSVP objects create
EXNTIACP these new datasets:
EXNTIAUP dddddd dataset description
EXNTMEII NTDTCP DTSCPU NT DTS.CPU
EXNTMETF NTDTLP DTSLOGPR NT DTS.LOGICALPROCESSOR
EXNTMSAS NTIAUP IASAUTPR NT IAS AUTHENTICATION PROXY
EXNTMSDC NTIACP IASACCPR NT IAS ACCOUNTING PROXY
EXNTMSGC NTMEII MSEXIM NT MSEXCHANGEIM
EXNTOUTL NTMETF MSEXTRFS NT MSEXCHANGE TRANSPORT FILTER SINK
EXNTRSVI NTOUTL OUTLOOK NT OUTLOOK
EXNTRSVP NTRSVI RSVPINTR NT RSVP INTERFACES
EXNTSMSM NTRSVP RSVPSERV NT RSVP SERVICE
IMACNTSM NTMSAS MSEXCHAS NT MS EXCHG ACTIVESYNCNOTIFY OMAPUSH
VMACNTSM NTMSDC MSEXCHDC NT MS EXCHG DSACCESS DOMAIN CONTROLLER
VMXGINIT NTMSGC MSEXCHGC NT MS EXCHG DSACCESS GLOBAL COUNTERS
Aug 3, 2004 NTSMSM SMSMSE NT SMS SMSMSE 4.5
Aug 5, 2004 -Most of the sample data records from the test system have
zero values, so it is impossible to know which, if any,
will need to be de-accumulated; if you have real data for
any of these objects, please contact support@mxg.com for
instructions on sending us your file for validation.
-The new DTSCPU and DTSLOGPR objects indicate HyperThread
Support and Status. MXG merges the two objects into an
enhanced PDB.DTSLOGPR dataset (in the _SNTDTLP sort macro
when you use TYPSNTSM) with the CPU information from the
DTSCPU object and the logical processor information from
the DTSLOGPR object. HyperThreading is determine by:
DTCPNLPS - Number of Logical Processors Supported
DTCPNLPA - Number of Logical Processors Active.
DTCPNLPS DTCPNLPA
Hyperthreading Unsupported: missing one
Supported/Disabled: not missing one
Supported/Enabled: not missing more than 1
-The new HyperThread objects were added structurally by
NTSMF 3.4.7, so this change supports that release.
Change 22.192 All INFORMAT xxxx $NOTRAN.; statements are removed from
DOC all source code. That informat has never actually done
Aug 2, 2004 anything; it was planned to "mark" the hex-containing
character variables, so SAS could detect NOTRAN and not
translate them, but that was never implemented in SAS,
and the circumvention (to use UTILCVRT instead) has been
provided in MXG since Change 19.271.
Note that the $NOTRAN. format will always be created in
the MXG FORMATS member, to protect old MXG datasets.
The motivation for this change was the error in Syncsort
PROC SYNCSORT product under SAS Version 9.1.2, which does
not correctly handle INFORMATs, and since the $NOTRAN was
no longer needed, removing all will eliminate one more
possible error, if you have the PROC SYNCSORT product and
they have not fixed their error when you install 9.1.2.
Search NEWSLTRS for PROC SYNCSORT for details.
IMACICBB IMACICOC IMACICSA TYPEMOND TYPETMON TYPEVM
VMAC1415 VMAC21 VMAC22 VMAC28 VMAC33 VMAC36
VMAC37 VMAC38 VMAC39 VMAC41 VMAC42 VMAC60
VMAC6156 VMAC64 VMAC78 VMAC79 VMAC80 VMAC84
VMAC88 VMAC89 VMAC8911 VMAC90 VMAC90A VMAC91
VMAC92 VMACACF2 VMACACHE VMACAICO VMACAICS VMACAIM6
VMACBETA VMACBGSI VMACCIAO VMACCIMS VMACCMF VMACCMFV
VMACCOMP VMACCRAY VMACCTLG VMACDALO VMACDLMN VMACDMON
VMACEPIL VMACEPMV VMACFILA VMACFOCU VMACFTEK VMACFTP
VMACHBUF VMACHIPR VMACIAM VMACIDMJ VMACIDMS VMACILKA
VMACILKV VMACIMS1 VMACITRF VMACLMS VMACMDF VMACMIM
VMACMON8 VMACMPT VMACNAF VMACNNAV VMACNOAM VMACODS
VMACOMAU VMACOMCI VMACOMVT VMACOPC VMACPKMN VMACPRFS
VMACPROS VMACQAPM VMACRDS VMACROSC VMACRTE VMACSAMO
VMACSAR VMACSARS VMACSARX VMACSFTA VMACSMF VMACSNAP
VMACSOLV VMACSPMS VMACSTX VMACTCP VMACTIE VMACTIRS
VMACTMNT VMACTMS5 VMACTMV2 VMACTPX VMACTSOM VMACVMON
VMACVMXP VMACVSME VMACWSF VMACX37 VMACXCOM VMACXPSM
VMACXSTR VMACXXXX VMXGHSM VMXGVTOC VMXGVTOF
Subnote: in my class, discussing "sub-second" response
response time, I compare measures of EDITing under TSO
with three (okay, old!) connections: 2400 and 9600 baud
and local channel attached, and measured a max of 900
"TGET"s (inputs) per hour. This PC updated 120 members
took 20 minutes; there were at least one sequence of
SELECT, FIND, MARK, DELETE, FIND, SAVE for each member,
so, without the delay due to TSO swapping, this EDIT
session exceeded 2100 transactions per hour.
Change 22.191 Support for ASG/TMON TCE for CICS/ESA 2.3: COMPATIBLE, as
EXMONAMQ all new fields were added at the end of records, so MXG
IMACTMO2 21.21 or later will read the new records without error.
VMACTMO2 The new version added many fields now supported in MXG in
VMXGINIT the many TMON datasets, and one new dataset is created:
Aug 2, 2004 Dataset MONITASK dataset new variables:
TAWRDCT ='WAIT FOR*REDISPATCH*COUNT'
TAWRDTM ='WAIT FOR*REDISPATCH*TIME'
TAUSRWCT ='USERWAIT*TIME'
TAUSRWTM ='USERWAIT*COUNT'
Dataset MONISYST new variables:
TIMIDNSC='MIDNIGHT*NON-SEGMENTED*TASKS*COUNT'
TIUSRWCT='WAIT FOR*REDISPATCH*COUNT'
TIUSRWTM='WAIT FOR*REDISPATCH*TIME'
TIWRDCT ='WAIT FOR*REDISPATCH*COUNT'
TIWRDTM ='WAIT FOR*REDISPATCH*TIME'
Dataset MONIAWT new variables:
TAAWTWRC='WAIT FOR*REDISPATCH*COUNT'
TAAWTWRT='WAIT FOR*REDISPATCH*TIME'
Dataset MONICMX new variables:
TICMXHWM='CLASS*HIGH*WATER*MARK'
TICMX ='TICMX*SEGMENT*COUNT'
Dataset MONIIWT new variables:
TIIWTWRC='WAIT FOR*REDISPATCH*COUNT'
TIIWTWRT='WAIT FOR*REDISPATCH*TIME'
Dataset MONITJ new variables:
TJSREQCT='JVM*REQUESTS*WITH*RESET'
TJCREQCT='JVM*REQUESTS*WITH*CLASSCACHE'
Dataset MONIPA new variables:
PACBRNM ='CORBASERVER NAME'
PADSCWC ='STG CONSTRAINT WAIT COUNT'
PADSCWT ='STG CONSTRAINT WAIT TIME'
PADSMWC ='TCB MISMATCH WAIT COUNT'
PADSMWT ='TCB MISMATCH TIME'
PADSTHW ='PEAK OPEN TCBS'
PAEJBACT='BEAN ACTIVATION REQUESTS'
PAEJBCCT='BEAN CREATION REQUESTS'
PAEJBMCT='EJB METHOD CALLS'
PAEJBPCT='BEAN PASSIVATION REQUESTS'
PAEJBRCT='BEAN REMOVAL REQUESTS'
PAEJBTCT='TOTAL EJB REQUESTS'
PAHTDLYC='HOT POOL DELAYS'
PAHTDLYT='HOT POOL DELAYS TIME'
PAJ9CPUC='J9 CPU COUNT'
PAJ9CPUT='MODE J9 CPU TIME'
PAJTDLYC='JVM TCB DELAYS TIME'
PAJTDLYT='JVM TCB DELAYS'
PAKY9CPC='KEY 9 CPU COUNT'
PAKY9CPT='KEY 9 CPU TIME'
PAKY9DSC='KEY 9 DISPATCH COUNT'
PAKY9DST='KEY 9 DISPATCH TIME'
PAPTPWTC='PARTNER WAIT COUNT'
PAPTPWTT='PARTNER WAIT TIME'
PAROCPUC='RO CPU COUNT'
PAROCPUT='RO CPU TIME'
PARODSPC='RO DISPATCH COUNT'
PARODSPT='RO DISPATCH TIME'
PASOI1C ='SOCKET CHARS RECEIVED'
PASOIMC ='SOCKET RECEIVE REQUESTS'
PASOO1C ='SOCKET CHARS SENT'
PASOOMC ='SOCKET SEND REQUESTS'
Dataset MONIPA new variables:
PIRECICT='PI*RECORD*COUNT'
PIKY9DST='KEY 9*DISPATCH*TIME'
PIKY9DSC='KEY 9*DISPATCH*COUNT'
PIKY9CPT='KEY 9*CPU*TIME'
PIKY9CPC='KEY 9*CPU*COUNT'
PIJ9CPUT='MODE*J9*CPU*TIME'
PIJ9CPUC='J9*CPU*COUNT'
PIDSMWT ='TCB*MISMATCH*TIME'
PIDSMWC ='TCB*MISMATCH*WAIT*COUNT'
PIDSCWT ='STG*CONSTRAINT*WAIT*TIME'
PIDSCWC ='STG*CONSTRAINT*WAIT*COUNT'
PIEJBACT='BEAN*ACTIVATION*REQUESTS'
PIEJBPCT='BEAN*PASSIVATION*REQUESTS'
PIEJBCCT='BEAN*CREATION*REQUESTS'
PIEJBRCT='BEAN*REMOVAL*REQUESTS'
PIEJBMCT='EJB*METHOD*CALLS'
PIEJBTCT='TOTAL*EJB*REQUESTS'
PIRODSPT='RO*DISPATCH*TIME'
PIRODSPC='RO*DISPATCH*COUNT'
PIROCPUT='RO*CPU*TIME'
PIROCPUC='RO*CPU*COUNT'
PIPTPWTT='PARTNER*WAIT*TIME'
PIPTPWTC='PARTNER*WAIT*COUNT'
PISOOMC ='SOCKET*SEND*REQUESTS'
PISOO1C ='SOCKET*CHARS*SENT'
PISOIMC ='SOCKET*RECEIVE*REQUESTS'
PISOI1C ='SOCKET*CHARS*RECEIVED'
PIJVIRST='JVM*RESET*TIME'
PIJVIRSC='JVM*RESET*COUNT'
PIJTDLYT='JVM*TCB*DELAYS*TIME'
PIJTDLYC='JVM*TCB*DELAYS'
PIHTDLYT='HOT*POOL*DELAYS*TIME'
PIHTDLYC='HOT*POOL*DELAYS'
Dataset MONITKP new variables:
TKPTOTMT='MVS*STORAGE*CONSTRAINT*WAIT*TIME'
TKPTOTMW='MVS*STORAGE*CONSTRAINT*WAITS'
Dataset MONITR new variables:
TRSTGWWT='STORAGE*REQUEST*WAIT*TIME'
TRSTGWCT='STORAGE*REQUEST*WAITS'
New Dataset MONIAMQ for MQ variables:
TAAMQCLC='MQCLOSE*CALLS'
TAAMQCLT='MQCLOSE*CALL*TIME'
TAAMQFLG='QUEUE*MQ*API*FLAG'
TAAMQGTC='MQGET*CALLS'
TAAMQGTT='MQGET*CALL*TIME'
TAAMQICT='TAAMQ*SEGMENT*COUNT'
TAAMQIQC='MQINQ*CALLS'
TAAMQIQT='MQINQ*CALL*TIME'
TAAMQMGO='ORIG*QUEUE*MANAGER*NAME'
TAAMQMGR='MQ*QUEUE*MANAGER*NAME'
TAAMQOPC='MQOPEN*CALLS '
TAAMQOPT='MQOPEN*CALL*TIME '
TAAMQP1C='MQPUT1*CALLS '
TAAMQP1T='MQPUT1*CALL*TIME '
TAAMQPTC='MQPUT*CALLS'
TAAMQPTT='MQPUT*CALL*TIME'
TAAMQQUE='MQ*QUEUE*NAME'
TAAMQQUO='ORIG*QUEUE*NAME'
TAAMQSTC='MQSET*CALLS'
TAAMQSTT='MQSET*CALL*TIME'
Change 22.190 Support for NTSMF Objects MicroStrategy Server Jobs and
EXNTMSSJ MicroStrategy Server Users create new datasets MSTRSRJB
EXNTMSSU and MSTRSRUS (MSTRSRJB is complete, but only structure
IMACNTSM code exists MSTRSRUS, with no fields, as the dictionary
VMACNTSM record for the User's object has not yet been created).
VMXGINIT Because some of the fields are presented as totals, and
Jul 29, 2004 are not deaccumulated interval values, the _SNTMSSJ sort
macro must be used to de-accumulate the datasaet, so the
first observation for each instance has missing values.
Additional heuristics to detect when these total values
went to zero (perhaps a shutdown of the process?) were
necessary.
Thanks to Bob Gauthier, Albertsons, USA.
Change 22.189 Major update added 1300 lines of text to document most of
ADOC110 the undescribed CICSTRAN variables, using IBM's CICS
Jul 29, 2004 Performance Analyzer Report Reference 1.3 manual.
Change 22.188 Variables S94VCA41-S94VCA48, S94CA481-S94CA488, and
VMAC94 S94CA351-S94CA358 are all multiplied by 60 (so their
Jul 29, 2004 internal value is seconds) and then formatted TIME8.
so they will print as hh:mm:ss units of time, since they
are all rolling average cache ages.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 22.187 The format to map SAS Procs to their Product for the SAS
FORMATS user SMF record was updated for PROC SORTT, which is an
Jul 29, 2004 undocumented way of forcing the internal SAS Sort utility
to be used instead of a "host" sort product.
Thanks to Dave Thorn, SunGard Availability Service, USA.
Change 22.186 Omegamon/VTAM V520 IRNUM 29 caused DIVISION BY ZERO and
VMACOMVT LOOPING; the test for IRNUM IN (29,30) was incorrect for
Jul 28, 2004 IRIND NE 'L'.
Thanks to Phil Baxter, Capgemini Group, ENGLAND.
Change 22.185 Invalid SMF 80 Extended Relocate Section contained token
VMAC80A PROGRAM but there was no length of program name nor the
Jul 28, 2004 program name field following the token) caused and INPUT
STATEMENT EXCEEDED RECORD error. Circumvention tests for
expected length field, while IBM support is contacted.
Thanks to Engelbert Smets, Provinzial Rheinland Versicher., GERMANY.
Change 22.184 ASCII Execution only, SAS V9 only: EBCDIC character
DOC variables can contain hex zeros instead of blanks due to
Jul 28, 2004 a V9 SAS design change, which can cause character tests
to fail and/or cause spurious MXG error messages when an
expected character was not found. Under ASCII execution,
the $VARYINGn informat reads a variable length string,
but the value is "raw" and must be converted to EBCDIC if
that's what's really in the text. Previous to Version 9:
INPUT VARIABLE $VARYINGnn. LENTEXT @;
VARIABLE=INPUT(VARIABLE,$EBCDICnn.);
VARIABLE=TRANSLATE(VARIABLE,' ','80'X);
was sufficient: when LENTEXT was less than nn, $VARYINGnn
returned ASCII blank '20'x for the extra characters, the
INPUT function converted them to '80'x, and thus the
TRANSLATE of '80'x back to blank was necessary. Now, SAS
V9 $VARYING informat returns hex zeros, rather than ASCII
blanks for the extra characters, and the INPUT function
passes the hex zeros into it's output, so it is necessary
now to use these statements for each $VARYING variable:
INPUT VARIABLE $VARYINGnn. LENTEXT @;
VARIABLE=INPUT(VARIABLE,$EBCDICnn.);
VARIABLE=TRANSLATE(VARIABLE,' ','80'X);
VARIABLE=TRANSLATE(VARIABLE,' ','00'X);
to convert those unexpected hex zeros to character blank.
All 511 TRANSLATE statements with '80'x were replicated
and the '80'x changed to '00'x in the second instance in
these 55 MXG members:
ANALSNAP IMAC6ESS IMACACCT INSTALL SYSLOGJ3 UTILTPMX
UTILXREF VMAC102 VMAC103 VMAC119 VMAC120 VMAC24
VMAC33 VMAC37 VMAC42 VMAC4789 VMAC59 VMAC6
VMAC60 VMAC6156 VMAC80A VMACACC VMACACF2 VMACASXT
VMACCMA VMACCTLG VMACDB2 VMACEDGS VMACENDV VMACHMF
VMACHPDM VMACIMS VMACNDM VMACNETM VMACNSPY VMACOPFT
VMACPOOL VMACQACS VMACQAPM VMACRSDA VMACSARR VMACSASU
VMACSHDW VMACSOLN VMACTCP VMACTMDB VMACTPMX VMACTSOM
VMACVMON VMACVMXA VMACVVDS VMACXPSM VMXGHSM
- An alternative was to replace the INPUT and TRANSLATE
functions with INPUTC(variable,'$EBCDIC.'); but its
syntax needs additional quotes (the second argument
is not an INFORMAT, but a literal/variable containing
an informat), the length has to be removed, (it fails
if the informat has an "n" value), and in some cases
just didn't seem to work correctly (returned only one
character when there were three), all of which made
it very unattractive to EDIT/CHANGE those many times!
- The TRANSLATE statement supports multiple pairs, so
it could have been written as
VARIABLE=TRANSLATE(variable,' ','80'x,' ',00'x);
but that too was mechanically risky, and was too long
for some existing lines of code, so a second function
statement was inserted.
Change 22.183 The Working Set Size variables ACTVWSS and VMDWSSPR are
VMACXAM in 4096 byte blocks, so they are now converted to bytes
Jul 27, 2004 and FORMATed MGBYTES to "print pretty" storage units.
Aug 8, 2004 Aug 8: Semi-colon added to FORMAT statement to correct
error detected in Freddie's QA tests.
Thanks to Rodger Foreman, Acxiom, USA.
Thanks to Freddie Arie, TXU, USA.
Change 22.182 The field FCFILENM was truncated at 32 bytes; the INPUT
VMAC119 was 64 bytes, but the statement MINLEN=MIN(32,LEN11903);
Jul 26, 2004 is now corrected to MINLEN=MIN(64,LEN11903);.
Thanks to Ken Jordan, Pacific Gas & Electric, USA.
Change 22.181 Enhancements to RMF Reporting.
ANALRMFR -Online Time Percentage field added to CPU Activity Report
Jul 26, 2004 -Updates to Partition Data Report
-LPAR Cluster Report added, use REPORT=LCLUS to request.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
====== Changes thru 22.180 were in MXG 22.07 dated Jul 25, 2004=========
Change 22.180 IFA CPU variables added by APAR OA05731, Change 22.152
VMAC22 variable names are clarified and more consistent:
VMAC30 R723IFAT - IFA*CPU TIME*ON IFA
VMAC7072 R723IFCT - IFA-ELIGIBLE*CPU TIME*ON CP "C-for Coulda?"
VMAC71 Some additional revisions were made for IFA processors.
VMAC74 This change includes new fields added to RMF 74-5 by
VMAC75 APAR OA04877.
VMAC79
BUILD005
BUIL3005
Jul 24, 2004
Change 22.179 The UCICSCNT utility to examine and count CICS records in
FORMATS your SMF file was enhanced with additional reports on the
UCICSCNT Statistics STIDs found in your data, and corrected so the
Jul 23, 2004 PROC FREQs always work without error. New formats for
a description of STID and MNSEGCL are added in FORMATS.
Thanks to Tren Burner, City of San Antonio (TEXAS, of course), USA.
Change 22.178 The INSTANCE=, argument allows selection by "UOWIDCHR",
ANALDB2R the first six bytes of UOWID (which is also QWHSLUUV),
Jul 23, 2004 but the internal logic was wrong in ANALDB2R. The test
and comments for how to use INSTANCE= were revised; the
value passed must be hex characters, with no quotes and
without the "X" that is used for hex literals in data
step logic.
Thanks to Jim Mourgelas, TD Bank Financial Group, USA.
====== Changes thru 22.177 were in MXG 22.07 dated Jul 23, 2004=========
Change 22.177 Update to define MACRO _Vdddddd in selected members.
VMACIDMS -VMACIDMS: The _Sdddddd macros now invoke PROC SORT with
VMACTMS5 NODUP and the _Bdddddd macros are defined.
Jul 22, 2004 -VMACTMS5: _Vdddddd defined.
Aug 8, 2004 -Aug 8: These members were EDITed and support _V macros:
VMAC20 VMAC25 VMAC26J2 VMAC26J3 VMAC28 VMAC31
VMAC32 VMAC33 VMAC36 VMAC37 VMAC38 VMAC39
VMAC40 VMAC41 VMAC434 VMAC4345 VMAC44 VMAC4789
VMAC50 VMAC5234 VMAC535 VMAC5568 VMAC57 VMAC59
VMAC60 VMAC6156 VMAC6367 VMAC68 VMAC69 VMAC7
VMAC75 VMAC81 VMAC83 VMAC85 VMAC88 VMAC89
VMAC8911 VMAC90 VMAC90A VMAC91 VMAC92 VMAC94
VMAC97 VMAC99 VMACNSPY VMACSTC VMACSYNC VMACTCP
VMACTMNT VMACTPF VMACTSOM
Thanks to Dale Houg, Abbott Labratories, USA.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 22.176 Invalid SMF 42 subtype 5 caused INPUT STATEMENT EXCEEDED
VMAC42 error; this record contained only volume segments, with
Jul 21, 2004 422 valid segments, but the 423rd segment was overlaid.
It has valid S42VTNXT (00004FE4x) VOLSER (IMS210), DEVNR
(6BC5x) and S42VTFL1 (80x, indicating online), and 2 in
S42VTUNC, but the 2nd and 3rd offsets are overlaid:
S42VTVDO/S42VTVDL are '000000000000'x
S42VTVXO/S42VTVXL are '000000006C87'x and
S42VTVVO/S42VTVVL are '0001C4C2F2C2'x,
and the hex dump shows that last data is a VOLSER DB2B91
overlaying the third offset/length, and the rest of the
record is control unit information that doesn'b belong
there. MXG added tests to detect these invalid offsets,
and prints error messages for the first five bad records,
and prints a hex dump of the first bad record; variable
OFFVOL in the error message is the start of the defective
volume segment.
This text will be updated when an IBM fix is identified.
Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.
Change 22.175 Major revision to this Utility to inventory the Contents
UTILCONT of SAS data libraries, reporting on size of each dataset
Jul 21, 2004 in MegaBytes, and the percentage of the library occupied
by each SAS dataset. The inventory can be output to the
ASUMSIZE dataset, which could be added to your PDB and
then TRENDed over time to monitor growth of your PDBs.
But only datasets are reported; DICTIONARY.TABLES doesn't
provide the size of CATALOGS (GRAPHS, SASMACR) in the
LIBNAMEs.
You can specify the list of LIBNAMEs to be inventoried
PDB=PDB WEEK MONTH (default is PDB=PDB), so to size the
datasets in yesterday's PDB in a standalone job on MVS
you would need to use this syntax:
// EXEC MXGSASV9
//PDB DD DSN=YOUR.PDB,DISP=SHR
//SYSIN DD *
%UTILCONT(PDB=PDB);
Under MVS, when you supply a list of LIBNAMEs, UTILCONT
issues a LIBNAME DDNAME SHR; statement for each LIBNAME;
the DICTIONARY.TABLES requires that each LIBNAME has
been 'referenced' (OPENed, or in a LIBNAME statement).
If any LIBNAME is sequential-format (e.g., tape), that
ENTIRE physical library must be read to find its size,
taking time and resources; you can skip reading of all
sequential format libraries using EXCLUDE=SEQUENTIAL,
or just don't put that LIBNAME in your list!
Instead, you can use PDB=_ALL_ to inventory all LIBNAMEs
that have been referenced; the _ALL_ choice enables the
EXCLUDE=SEQUENTIAL DUMMY GISMAPS LIBRARY MAPS SAS SASHELP
default list to skip sequential and 'SAS-owned' LIBNAMEs
that we think you don't want reported, but you can use
EXCLUDE=DUMMY GISMAPS LIBRARY MAPS SAS SASHELP in your
%UTILCONT invocation if you do want sequentials reported.
On MVS, the reported size closely matches the MVS dataset
allocated size, but on ASCII platforms the actual files
are slightly larger than the reported size; the directory
of variables is not included in pagesize*number-of-pages.
Change 22.174 Using the IDCAMS EXPORT Catalog function, the output file
VMACCTLG always has a few defective records, but those records do
Jul 20, 2004 not appear to actually contain any catalog segments. This
change revises the old "NOT UNDERSTOOD" MXG messages with
specific description of the two possible defects found.
IBM's "trench-holder" technican who "owns" the catalog
records refused to provide any documentation, claiming
the catalog records are "object code only", and their
contents could not be released, and his manager was also
unable to listen to reason (like, do they really think
think Microsoft is going to create a competing catalog
dataset, as kludgy as IBM's???), so I can only continue
to delete the defective records in the export file.
-The comments now contain the JCL for the IDCAMS program.
Thanks to Greg Burt, Fifth Third Bank, USA.
Change 22.173 Support for RMF 99 subtypes 3, 4, and 8 create four new
EXTY99U3 datasets:
EXTY994I dddddd dataset description
EXTY998L TY99U3 TYPE99_3 99-3 Service Class Period
EXTY998P TY994I TYPE994I 99-4 Device Cluster
IMAC99 TY998L TYPE998L 99-8 LPAR
VMAC99 TY998P TYPE998P 99-8 Priority Table
VMXGINIT -None of the "Plot" tables are created for these subtypes;
Jul 17, 2004 only tables that had test data are supported.
-I made blind guesses as to the format of two variables,
S998CPUT and S998PTMA.
Thanks to Richard S. Ralston, Humana, USA.
Change 22.172 ASCII only. Zero observations in TYPEVVDS because the
VMACVVDS INPUT of VVRTYPE was $EBCDIC1. instead of $CHAR1. Other
Jul 17, 2004 HEX-containing variables were also corrected and INPUT
with $CHAR and formatted with $HEX. On "MVS", $EBCDIC
and $CHAR are the same, but not so on ASCII platforms
This member was overlooked, because most sites use the
TYPEDCOL/DCOLLECT data to examine VVDS data, but the
TYPEVVDS has more detail information and is now correct.
Thanks to Glenn Bowman, Wakefern, USA.
Change 22.171 Enhancement for RMF III VSAM file reading program.
ASMRMFV -The very last CSR table entry was not being output.
Jul 16, 2004 -RMFV104I message for RED record type always showed Y for
SELECT, even when that table was not selected. Only the
message was incorrect; data exclusion did occur if RED
table was not selected.
Thanks to Jerome Urbaniak, Acxiom CDC Inc, USA.
Thanks to Len Romano, Hewitt Associates, USA.
Change 22.170 Support for TNG NT Windows Server 2003 Enterprise Ed 5.2,
EXTNT067 PLATFORM='WNE502I', added 35 new objects, some of which
thru are also created on PLATFORM='NTS500I. New NT datasets
EXTNT099 NT065 thru NT099 are documented in updated IMACTNG.
FORMATS -LENTEXT GT 99 tests caused errors with INSTANCE names
IMACTNG greater than 36 characters; all were revised to test for
VMACTNG GT 35 (TNG's base-35 encoding has '10'=36) to bump LOC
VMXGINIT by 2 positions; this should have been fixed earlier, but
Jul 16, 2004 -New MIB-2 Object data had over 12,000 instances for three
metrics, which makes little or no sense, and until that
data is better understood, only the first instance will
be output in new NT089 dataset.
-If you use the distributed TYPETNG/TYPSTNG members, you
must remove the %LET MAXROWS=1; statement that was added
by Change 22.160 to override the MAXROWS=288 MXG default
(288 supports 24 hours of 5-minute-interval data cubes).
-With MAXROWS=288 and the MXG default array sizes, the
TYPETNG program now needs about 300MB of virtual memory.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 22.169 Support for Hogan System's optional CICS segment was not
IMACICHO complete; UTILEXCL recognized Hogan data was present, but
VMAC110 the IMACICHO member did not exist. It does now, and will
UTILEXCL create these four Hogan variables:
Jul 15, 2004 FPSAPPL - Application Code
FPSFUNC - Function Code
FPSCSCR - Current Screen
FPSSIPR - Previous Screen
Old code in IMACICUS had additional Hogan variables:
FPSACTN ='HOGAN*ACTION*CODE'
FPSOPTN ='HOGAN*OPTION*CODE'
FPSSCRN ='HOGAN*SCREEN*NAME'
PLDVERS ='HOGAN*PAS*VERSION'
TCTPLD ='HOGAN*ODS TCTNAME/*PAS PLDNAME'
TCBFUNC ='HOGAN*ODS TCT*TRANCODE'
and those variables will be in the _VCICTRN macro if the
Hogan data is detected by UTILEXCL, but only the fields
actually created in your IMACICHO will exist in CICSTRAN.
Thanks to Scott Wiig, USBank, USA.
Change 22.168 Support for HMF V2.7 adds subtypes 26, 27, 28 creating
EXTYHMFP St dddddd Dataset Description
EXTYHMFQ 26 TYHMFP TYPEHMFP ULTRANET SNMP TRANSPORT STATS
EXTYHMFS 27 TYHMFQ TYPEHMFQ ULTRANET SNMP TRANSPORT STATS
VMACHMF 28 TYHMFS TYPEHMFS ULTRANET SNMP DECOMPRESSION
VMXGINIT Variables in TYPEHMFT TYPEHMFU stored in the original
Jul 7, 2004 named/labeled variables; both 29 and 30 subtypes have
fewer variables, but Change 21.143 did not handle that
revision correctly.
Thanks to Perry Lim, Union Bank of California, USA.
Change 22.167 Variable STATIND in TYPE77 is a one byte numberic flag
ADOC77 byte, but it should have been formatted as HEX2. The bit
VMAC77 descriptions in ADOC77 were incomplete and incorrect, and
Jul 8, 2004 bit 6 ON was not even documented by IBM, but the bits are
now correct. A value of 03 is normal, as it indicates
that bit 6 and bit 7 are on, i.e., you have a GRS=STAR
configuration.
Thanks to Rodger Foreman, Acxiom, USA.
Change 22.166 Support for STK ExHPDM user SMF record.
EXHPDM00 DDDDDD DATASET DESCRIPTION
EXHPDM01
EXHPDM02 HPDM00 HPDMAU00 AUDIT STARTUP/SHUTDOWN
EXHPDM03 HPDM01 HPDMAU01 AUDIT CLIENT REQUEST
EXHPDM04 HPDM02 HPDMAC02 AUDIT CONNECTION ACCOUNTING
TYPEHPDM HPDM03 HPDMPE03 AUDIT STREAM TASK PERFORMANCE
TYPSHPDM HPDM04 HPDMAU04 AUDIT DATABASE TRANSACTION
VMACHPDM -Problems in data:
VMXGINIT Variable SOV2DEVN, 'Device Definition Name' has '0E'x in
Jul 19, 2004 in first byte, then 7 blanks in subtype 2, but is text
'DEVICE3' in subtype 3 records.
Thanks to Al Holtz, MEDCO, USA.
Change 22.165 BUILDPDB now detects "overlapped" SMF data was read in.
BUILD005 If you read the same SMF file in two separate PDB runs,
BUIL3005 or if you rerun BUILDPDB to re-create a PDB library and
Jul 8, 2004 did not restore the SPIN library, there will be duplicate
Aug 25, 2004 observations in the SPIN30_1 dataset; MXG now detects the
Oct 28, 2004 duplicates, and prints ERROR. DUPLICATE TYPE 30 SUBTYPE 1
messages on the SAS log. I had considered ABENDing for
this condition, but in this implementation, only error
messages are printed.
-The symptom that detected this problem was a change in
the number of observations in PDB.SMFINTRV, and messages
NOTE: MERGE STATEMENT HAS MORE THAN ONE DATASET... for
the TYPE30_V interval dataset, because the SPIN30_1 data
is used to populate the ACCOUNTn variables in PDB.SMINTRV
dataset, even though no interval records are "spun".
-For any rerun of BUILDPDB, you must restore the //SPIN
library to contain what it did before that failed run;
BUILDPDB automatically backs up your SPIN datasets into
the PDB library, so all you need do is to go back to the
last successfully build PDB library and restore the SPIN:
// EXEC MXGSASV9
//PDB DD DSN=LAST.GOOD.PDB,DISP=SHR
//SPIN DD DSN=YOUR.SPIN,DISP=OLD
//SYSIN DD *
PROC COPY IN=PDB OUT=SPIN;
SELECT SPIN: ;
and then you can rerun BUILDPDB with the SMF data that
failed; you may need to edit IMACZDAT to set the ZDATE
of the re-built PDB library, if you have skipped a day.
-Aug 25: Added restriction to only examine BAT/TSO/STC job
records with a JES Number. OMVS/USS creates multiple job
initiate records with the same READTIME/JOB/JINITIME and
a missing JESNR that erroneously caused the "duplicate"
MXG message.
-Oct 28: Corrected tests for BAT to JOB and TSO to TSU, as
those are the correct spelling of TYPETASK values. With
original spelling, only STC tasks were being examined.
And the CRITICAL ERROR. DUPLICATE TYPE 30 message now
shows where the overlapped records were found.
Thanks to Tim Gilchrist, Department of Defence, AUSTRALIA.
Thanks to Pat Curren, SuperValu Inc, USA.
Thanks to Udo Froehling, Signal-Iduna, GERMANY.
Change 22.164 The %VGETJESN invocation was moved after variable SYSTEM
VMACSFTA has been set. Initially, I saw no error in my tests, but
Jul 8, 2004 the PUT in VGETJESN for error conditions had a blank for
Aug 11, 2004 SYSTEM that was corrected by the relocation. However, I
now have test data that failed with error messages that
NOTE: INVALID NUMERIC DATA, STEPNAME='XXXX' that were
corrected by this change, so it all depends on which of
the SoftAudit files have data as to whether this change
is cosmetic, or required!
Thanks to Jim Kovarik, Aegon, USA.
Thanks to Ng Kin, Acxiom, USA.
Change 22.163 The SAS User SMF record does not contain enough data to
VMACSASU permit the use of the NODUP option in PROC SORT to safely
Jul 7, 2004 remove duplicates; NODUP removed 51,596 non-duplicates
from 2,687,811 SMF records. Using READTIME JOB SMFTIME
has only 10 milliseconds resolution, which is much larger
than the elapsed time of many SAS steps, especially the
repetitive SORTing of small datasets. A sequence number
of the proc/data step within the session is needed to be
able to safely remove duplicates, but for now, the NODUP
option was removed from the PROC SORT for TYPESASU, to
prevent the unwanted deletion of records that appear to
be duplicates, but aren't.
Thanks to MP Welch, SPRINT, USA.
Change 22.162 In TYPEBET0 dataset, new variable BETARETP, Retention
VMACBETA Period is now input as &PIB.4. where BETAEXPD was &PD4.,
VMACBE97 in VMACBETA, and in BETA974 dataset, variable B974XPDT is
Jul 7, 2004 input as &PD.4., as it is an expiration date.
Thanks to Ruben de Leeuwe, Independent Consultant, THE NETHERLANDS.
Change 22.161 Support for optional ESS segment GEPARMKY=003B creates
IMAC6ESS variable ESSITRAY (INTRAY) and GEPARMKY=0045 creates the
VMAC6 variable ESSPORNO (PORTNO) in TYPE6 when comment block
Jul 7, 2004 in member IMAC6ESS is opened.
Thanks to Engelbert Smets, Provinzial Rheinland Versich., GERMANY
Change 22.160 TYPETNG/TYPSTNG default array sizes, based on actual TNG
TYPETNG data from a large site, requires REGION=280M, but this
TYPSTNG caused INSUFFICIENT MEMORY errors in TESTOTHR step of the
JCLTEST8 JCLTESTn test job for sites that didn't even have TNG.
Jul 7, 2004 This change inserted %LET MAXROWS=1; so that only 20M
is required, but a site with real TNG data will need to
remove that statement, and may need 280M. However,
sites with TNG should read Change 21.269 which discusses
other MXG facilities for actual processing of TNG data.
Thanks to Pius Nwaobasi, IBM Global Services, USA.
Change 22.159 Variable SMF89LPI now always contains the correct LPAR ID
VMAC89 whether less than or greater than 15, and SMF89LP3 is no
Jul 5, 2004 longer kept, now that doc indicates what both contained.
Change 22.158 "Support" for JMF SMF 84 subtype 10, but only the header
EXTY84A variables are input; no one has actually ever requested
VMAC84 MXG to support this JES3-only SMF record, and I'd be very
VMXGINIT pleased if no one ever does.
Jul 5, 2004
Change 22.157 TYPE78IO new variable:
VMAC78 R783GFLG='IOQ*GLOBAL*FLAGS'
Jul 5, 2004
Change 22.156 TYPE73 new variables added by z/OS 1.5:
VMAC73 CHANDCMG='CHANNEL*PATH IS*DCM*MANAGED'
Jul 5, 2004 CHANCHCH='CHANNEL*PATH*CHARACTERISTICS*CHANGED'
Change 22.155 TYPE71 new variables added by z/OS 1.5:
VMAC71 SMF71PTH='AVG*TOTAL*SHARED*FRAMES*ABOVE 2GB BAR'
Jul 5, 2004 SMF71PCH='AVG*TOTAL*CSTORE*FRAMES*ABOVE 2GB BAR'
SMF71PAH='AVG*TOTAL*AUXSTORE*FRAMES*ABOVE 2GB BAR'
SMF71BLG='PEAK*SHARED*BYTES*LARGE*VIRTUAL'
SMF71PIH='PAGEINS*FROM AUXSTOR*FOR ABOVE*2GB BAR'
SMF71POH='PAGEOUTS*TO AUXSTOR*FOR ABOVE*2GB*BAR'
Change 22.154 TYPE1415 new variable created:
VMAC1415 SMF14EDI='EXTENDED*DATA*INTEGRITY*EDI*FLAG'
Jul 5, 2004 and FORMATed $HEX2.:
Bit Meaning
'1.......'B DSN found in EDI exclusion table
'.1......'B DSN being opened for out, already open in
'..1.....'B DSN being opened for in, already open out
'...1....'B application requested EDI be bypassed
Change 22.153 -TYPE6/PDB.PRINT variable SUBSYS='TCP ' is for PrintWay
VMAC6 basic mode records; SUBSYS='TCPE' is now set if the SMF 6
Jul 5, 2004 record is from PrintWay Extended mode records.
-New variables for PrintWay file transfer:
SMF6URI ='TARGET*UNIVERSAL*RESOUIRCE*INDICATOR*URI'
SMF6URIL='LENGTH*OF*URI'
SMF6FTL ='*FILE*TRANSFER*LEVEL*INDICATOR'
and SMF6BYTE is now input from PIB8 field.
Change 22.152 Support for IFA Processors, APAR OA05731.
FORMATS -TYPE70 dataset, new variables:
VMAC7072 IFAAVAIL='IFA Processor AVAILABLE?'
VMAC79 SMF70IFA='NUMBER OF*IFA PROCESSORS*ONLINE'
Jul 5, 2004 IFACROSS='IFA*CROSSOVER?'
Dec 12, 2005 IFAHONPR='IFA*HONOR*PRIORITY?'
-TYPE72GO dataset, new variables:
R723NFFI='*NORMALIZATION*FACTOR*FOR IFA*TIMES'
R723RCOD='CONTENTION*DELAY*SAMPLE*COUNT'
R723RCOU='CONTENTION*USING*SAMPLE*COUNT'
R723ECTC='CPU TIME*WHILE DP*RAISED'
R723IFAU='IFA*USING*SAMPLES'
R723IFEU='IFA-ELIGIBLE*ON CP*USING*SAMPLES'
R723IFAD='IFA*DELAY*SAMPLES'
R723IFAC='IFA*CPU TIME*ON IFA'
R723IFEC='IFA-ELIGIBLE*ON CP*CPU TIME'
-TYPE791 dataset, new variables:
R791TIFA='IFA*CPU TIME*ON IFA' (normalized to CP secs)
R791TCP ='CPU TIME*SPENT ON*STANDARD CPS'
R791TIFC='IFA-ELIGIBLE*CPU TIME*ON CP'
R791NFFI='NFFI*NORMALIZATION*FACTOR'
-TYPE792 dataset, new variables:
R792TIFA='IFA*CPU TIME*ON IFA' (normalized to CP secs)
R792TCP ='CPU TIME*SPENT ON*STANDARD CPS'
R792TIFC='IFA-ELIGIBLE*CPU TIME*ON CP'
R792NFFI='NFFI*NORMALIZATION*FACTOR'
Dec 12, 2005: TYPE791/TYPE792 variable names/labels now
match the actual variable names.
Change 22.151 Cosmetic, only labels were changed.
ADOC71 -CSLPFXAV/CSLPFXMN/CSLPFXMX contain only CSA FRAMES; back
VMAC71 in MVS/370 those variables contained the sum of CSA+LPA,
Jul 4, 2004 but ever since MVS/XA, they contain only the CSA Fixed
Frame counts, so LPA was removed from their Labels.
-Variables that had just "FRAMES" in their label now have
CSTORE*FRAMES if the area was CSTORE.
-Unfortunately, some variables in TYPE71 are in units of
byte-storage (and formatted MGBYTES to "print pretty"),
while these old variables still have counts of frames,
but there is no way to be consistent without destroying
your existing reports. Hindsight is wonderful, but can't
be applied now!
Thanks to Mayflor Dageforde, Blue Cross Blue Shield of Kansas, USA.
Change 22.150 The LPAR name variables for LPARs 16-32 were only one
VMXG70PR byte long; their initialization was corrected to eight
Jul 2, 2004 bytes to hold the full name.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 22.149 Enhancement to the UTILBLDP utility that "builds" a "PDB"
UTILBLDP (actually, builds the SYSIN code) for arbitrary combos of
Jul 1, 2004 SMF records:
- ZEROOBS= parameter supports subtypes, so datasets
built from specific SMF subtype can be created with
zero observations.
USERADD= 74,
ZEROOBS= 74.1 74.5,
creates TYPE74 and TYPE74CA with zero observations,
but all other TYPE74XX datasets will be populated.
- New MACFILEX= parameter allows insertion of code that
would normally be inserted with %LET MACFILE= ....;
UTILBLDP internally uses MACFILE=, so your MACFILE=
insert is ignored. Probably not needed, as the main
need for MACFILE= here was to suppress subtypes!
-See member JCLRMF
Thanks to Sue Castona, Rockwell, USA.
Change 22.148 With assistance from SAS developers, %VGETENG(DDNAME=XXX)
VGETENG returns the SAS Engine name (in macro variable &VGETENG)
VMXGENG and the Device Type (in macro variable &VGETDEV), if xxx
VMXGTAPE points to an existing SAS data library that was OPENed,
VMXGINIT and sometimes even if the library has not been opened.
Jul 6, 2004 The redesign also corrects these previous glitches:
Jul 20, 2004 - If the XXX pointed to a sequential format library,
on disk or on tape, the entire data library was read,
wasting CPU, I/O, and elapsed time.
- VMXGTAPE failed when the LIBNAME had not been opened.
-When a LIBNAME statement exists for XXX, VGETENG/VGETDEV
are always correct, whether XXX has been opened or not,
unless there is a LIBNAME (XXX or some other ddname) that
points to a non-existent data library on tape, i.e., a
DISP=NEW file that has not yet been written to.
The logic searches LIBNAMEs, and if an uncreated tape
DD is found (perhaps before your wanted XXX ddname) an
IEC145I 413-18 message is printed on SYSMSG and SASLOG
has an I/O ERROR HAS OCCCURRED message, and the search
is terminated (with a zero return code). If the XXX
ddname is the uncreated file, VGETENG will have the
Engine from LIBNAME XXX statement, but VGETDEV will
always be blank for an un-created file.
-If there is NO LIBNAME statement, the engine and device
are correct only if the DDNAME has been OPENED, but the
function does not fail; engine is UNKNOWN and device is
blanks for unopened or even uncreated ddnames, on tape or
on disk. Test %VMXGENG before using in production!
-If XXX accesses a REMOTE SAS/CONNECT file, the MVS device
type will be correct; on ASCII VGETDEV will be blank.
-The other %macros, VMXGENG and VMXGTAPE were revised with
the new logic, and return their original variables, but
they exist only for backwards compatibility, as MXG's
convention for %macros that "get" something is %VGETxxxx.
-VMXGINIT was updated to %GLOBAL macro variable VGETDEV.
LIBNAME Statement in SYSIN: YES NONE
VGETENG VGETDEV VGETENG VGETDEV
DISK
DISP=SHR/OLD REFERENCED CORRECT CORRECT CORRECT CORRECT
DISP=SHR/OLD NOT REFERENCED CORRECT CORRECT UNKNOWN BLANK
DISP=NEW CORRECT CORRECT UNKNOWN BLANK
TAPE
DISP=SHR/OLD REFERENCED CORRECT CORRECT CORRECT CORRECT
DISP=SHR/OLD NOT REFERENCED CORRECT CORRECT UNKNOWN BLANK
DISP=NEW CORRECT BLANK UNKNOWN BLANK
The 413-18 ONLY occurs when there is a LIBNAME, the
device is TAPE, and the DDNAME has not been referenced.
Thanks to Lewis King, SAS Institute Cary, USA.
Thanks to Rick Langston, SAS Institute Cary, USA.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Diane Eppestine, SBC, USA.
Change 22.147 Performance enhancements to reduce I/O and CPU time, by
ASUM42DS eliminating second pass of TYPE42DS, which was input to
Jun 30, 2004 VMXGSUM and then input again to ANALCNCR. The redesign
builds a View to create input to ANALCNCR at the same
time the data is being read into VMXGSUM. New SAS NOTES:
DATA STEP VIEW SAVED ON FILE WORK.SUM142DS
DATA STEP VIEW SAVED ON FILE WORK.MXGSUM1
THERE WERE x OBS READ FROM DATASET WORK.TYPE42DS
THE DATASET WORK.CNCR42DS HAS Y OBS AND 4 VARIABLES
COMPRESSING ....
MISSING VALUES ....
THE VIEW WORK.MXGSUM1.VIEW USED THE FOLLOWING RESOURCES
are printed on the log. The savings?
Resource Before After Redesign
EXCPs 1.8 Million 760K
CPU time 78 minutes 46 minutes
Elapsed 236 minutes 135 minutes
Thanks to Chuck Hopf, MBNA, USA.
Change 22.146 Most variables in the TYP119nn datasets, except for the
VMAC119 STARTIME and SMFTIME, were on the GMT clock, but all of
Jun 29, 2004 the internal variables are corrected to local time zone.
Thanks to Robert Sample, Atlanta Journal Constitution, USA.
Change 22.145 -TYPETCPC and TYPETCPF FTP Client/Server in SMF 118 record
VMACTCP has GMT time in TOD variables FTPSTART and FTPEND; they
Jun 29, 2004 are now corrected to local time zone.
-Variable ELAPSTM is added to TYPETCPC/TYPETCPF datasets.
-Without this change, ANALTCP reports sometimes had wrong
TOD and zero duration because of the GMT time issue. No
change was needed in the ANALTCP code.
Thanks to Robert Sample, Atlanta Journal Constitution, USA.
Change 22.144 DB2 Trace IFCID 140 variable QW0140RC, Return Code from
FORMATS Access Control Exit has legitimate negative value of -1
VMAC102 if the Exit was not called, so the input was changed to
Jun 29, 2004 IB instead of PIB; additionally, new format MGD140R is
created to decode all of the return codes. Also, the
QW0140RS, a four-byte reason code is HEX8. formatted.
-Additional new values for format MGD140P for V7 and V8
are added.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 22.143 An example that reads only RMF SMF records to create an
JCLRMF "RMF-only" PDB library, including PDB.RMFINTRV, and the
Jun 29, 2004 PDB.ASUM70PR, PDB.ASUM70LP, and PDB.ASUMCEC summary data.
The default example skips the RMF 74 subtypes 1 and 5,
so that PDB.TYPE74 and PDB.TYPE74CA datasets will have
zero obs (i.e., they take no disk space).
This example uses the enhancement in Change 22.149.
Thanks to Sue Castona, Rockwell, USA.
Change 22.142 Support for Thruput Manager SMF record VARNAME/TOKENID of
VMACTPMX INNODE/16448, JBSBIND/50240, JVLVOL/57920, REQCLA/58082
Jun 28, 2004 was added to the CARDS; section; these VARNAMEs had only
blank values for TOKENID, but had existing variables.
Thanks to Kasandra Natzke, Information Resources, Inc, USA.
Change 22.141 Support for RMF 74 subtype 8 ESS LINK STATISTICS record,
FORMATS added by APAR OA04877, creates new dataset TYPE748 with
EXTY748 counts of I/O operations, Bytes Read/Written, and Active
VMAC74 Time for ECKD, PPRC, and SCSI devices. Also, TYPE74CA
Jun 28, 2004 dataset has Bytes Read/Written, and Time to Read/Write.
The APAR adds the fields to the 74-5 and 74-8 records,
but the new data is only populated if the ESS D/T 2105
device has micro code version 2.3.0.455 (Sand) or higher.
Thanks to Willy Iven, Fortis Bank, BELGIUM.
Change 22.140 ERROR: BY VARIABLES NOT SORTED FOR DATASET WORK.SPIN30TD
BUILD005 because Change 22.052 did not add STEPNR in all places
BUIL3005 where it was needed (CVRT30TD and SPIN30TD); fortunately,
Jun 25, 2004 the exposure only occurs if two adjacent steps have the
same INITTIME, and all sorts are now protectd.
Thanks to Rich Lopez, Johnson and Johnson, USA.
Change 22.139 The CICS ID variables in PDB.ASUMUOW: APPLID,USER,LUNAME,
UTILUOWC SYSTEM,TERMINAL, and USERCHAR were incorrectly kept from
VMXGUOW the LAST transaction segment, but should have been kept
VMXGUOWT from the FIRST transaction segment. The sort order was
Jun 29, 2004 was changed in Change 21.220, from descending ENDTIME to
ascending STRTTIME to recognize the TOR transaction as
the first transaction within the UOW, but the logic to
store those ID variables was not changed.
-LISTALL= argument, primarily for debugging, can now be
used to add any of the FRSTxxxx, LASTxxxx, and HOLDxxxx
variables to the PDB.ASUMUOW dataset.
-New UTILUOWC member can be used to examine the CICSTRAN
observations that made up a Unit-of-Work, for debugging.
-Oct 2, 2020: Revised UTILUOW replaces UTILUOWC.
Thanks to Carla Fleming, King County, USA.
Thanks to Sydney Cheung, King County, USA.
Change 22.138 The original ANAL4GBO member uses the SMF TYPE64 records
ANAL4GB to identify VSAM files that are approaching the 4GB size
ANAL4GBO limit, but that only saw VSAM files that were opened in
Jun 25, 2004 the SMF file that was read. This revision uses the
DCOLCLUS dataset, created from IBM's DCOLLECT option of
IDCAMS (JCL example in JCLDAYDS) so that all VSAM files
can be examined for their size.
- Using TYPE64, the HIGHALLOC was 3354M from TYPE64, but
LISTCAT showed only 1234M, because it was run at a
later time, and that VSAM file was defined as reusable
and an RST was specified on the ACB at OPEN, so it was
reset to empty before the LISTCAT was run.
Thus both members may be useful in tracking VSAM size.
Thanks to Dennis Cole, Commerce Bank NJ, USA.
Change 22.137 Support for z890 new CPUTYPE='2086'x, REQUIRED ONLY for
FORMATS OS/390 R2.10; MXG does not error with data from z890s,
VMAC7072 but without this change, MSU-containing variables will be
VMXGRMFI missing if you are still running your z890 under OS/390.
Jun 28, 2004 -The '2084x CPUTYPE tests added to support the z990 CPU
in Changes 21.141, 21.149, and 21.216 are expanded to now
also test for the '2086'x CPUTYPE of the z890.
-The table of "MSU" values in MG070CP format are updated
with IBM announced Software Pricing MSU for the z890,
which will eliminate the "CPUTYPE NOT IN TABLE" messages.
Thanks to Ed May, Western Power, AUSTRALIA.
Thanks to Al Sherkow, I/S Management Strategies, Ltd, USA.
Change 22.136 The SMF Exit code to put Initiator Name and Init Number
IEFU84 if the PROGRAM field in the SMF 30 subtype 1 record that
Jun 24, 2004 was announced in Change 19.269 now exists in the member
IEFU84, which is the JOB to assemble that SMF exit. Your
System Programmer will need to install the exit for you,
as it must be placed in an authorized load library, and
he/she will want to examine this SMF exit code.
MXG member VMAC30 already has the code in place and will
now populate the variables INITNAME and INITNUM after you
have installed the IEFU84 exit to add the data to SMF 30.
But note that only "real" initiators have names/numbers;
WLM-managed initiators will have blank initname and no
value for initiator number.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 22.135 The "MVS" SYSTEM NAME of each LPAR, SMF70STN, is added to
VMXG70PR datasets ASUM70PR and ASUMCEC as variables LP0STN-LPXSTN,
Jun 24, 2004 and in dataset ASUM70LP as SMF70STN.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 22.134 The percentage of DURATM when each of the 32 CPU engines
VMAC7072 was online is added in variables PCTONLN0-PCTONLNX in the
Jun 24, 2004 TYPE70 dataset.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 22.133 -Support for additional NDM-CDI Connect Direct subtypes:
VMACNDM FA,FI,GO,IF,NL,PI,SY,TP,TR,UU,WS,ZI
Jun 23, 2004 -Exit members EXNDMEV,EXNDMSB,EXNDMWS were deleted, as
those subtypes are now output into existing datasets.
-Comments in VMACNDM identify all known subtypes, those
that have known DSECTS, and those for which I have had
test data; if you have observations created in any of the
datasets identified as "NO DSECT", contact support@mxg.
Thanks to Jim Petersen, Washington Mutual, USA.
Thanks to Stuart Hubbard, Washington Mutual, USA.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 22.132 This example for detail trace of the events in the life
ANALJOBE of a JOB did not keep CPUTM, had MULTIDD mispelled, did
VMACSYNC not use MACJBCK to select specific jobs whose events are
Jun 25, 2004 to be tracked, and deleted some 14/15 records for some
long-running jobs.
Change 22.131 NETSPY now writes both TYPENSPY and TYPENETM subtypes in
VMACNSPY one SMF ID, which caused messages ERROR.VMACNSPY.1 with
Jun 22, 2004 NSPYENTL=54754 and NSPYOFF=1539954642 in the text. This
change merges the VMACNETM code into the VMACNSPY code so
that NETSPY records (all of which have alpha subtypes)
and NETMASTER (which have two-byte hex subtype) are now
processed with the single TYPENSPY/VMACNSPY member to
creates all NSPY and NETM datasets. This change requires
MXG 22.01+, because of the new EXNETM50 and the revised
VMXGINIT members added by Change 22.037.
-While TYPENETM will still decode NETMASTER records, it is
now archaic, since TYPENSPY creates both NETMASTER and
NETSPY datasets.
-Change 22.243 is required; it corrected this change.
Thanks to Susan Fassette, Erie Insurance Group, USA.
Change 22.130 The "W0" in DSNAMEs in SAS V9 is only part of new naming
MXGSASV9 conventions, many of which are documented in the section
Jun 15, 2004 "Languages, Encodings, and Installation Codes" in the SAS
Aug 24, 2004 "Installation Instructions for SAS 9.1.2 Foundation for
z/OS" manual. The DSNAME and MEMBER names created depend
on the two NLS/LOCALE options for your country, the "XX"
Language Value and the "YY" Encode Value. Some DSNAMES
use XXYY, some member names end in YY, and both SASHELP
and SASMSG have ENYY in their DSNAME for the help and the
messages that have not been translated into local. For
example, "ENW0" for English in US, "DEW3" for most GERMAN
languages, but "DEWB" for GERMAN in Switzerland.
-To support this SAS change, the MXGSASV9 JCL procedure
example has two new symbolic parameters, &XX and &YY with
&XX=EN and &YY=WO as their default values, and you can
see in that JCL where the XX and where the YY is used to
form part of the DSNAME or MEMBER names.
-New DD statements added in V9 are also added in the JCL
example: TRNSHLP, ENCDHLP, and TMKVSENV.
Thanks to Bernd Klawa, Stat Bielefeld, GERMANY.
====== Changes thru 22.129 were in MXG 22.06 dated Jun 14, 2004=========
Change 22.129 "MVS" SAS only, I think! In SAS V9, the NLSCOMPATMODE
CONFIGV9 option was changed to default to NONLSCOMPATMODE, which
Jun 15, 2004 doesn't fail if your LOCALE option is ENGLISH or blank,
but with a LOCALE=GERMAN_GERMANY or other non-blank and
non-ENGLISH value, with the new NONLSCOMPATMODE option,
every "@" causes this error at compile time:
ERROR: The name 'A7'x49 is not a valid SAS name.
where that 'A7'x is a funny looking printed symbol.
(in the VMXGINIT code at statement INPUT @49 ....).
Changing the NONLSCOMPATMODE option back to the V8.2
default of NLSCOMPATMODE eliminated the error, so I have
added option NLSCOMPATMODE to the CONFIGV9 member, as it
appears to be safer, and I've listed the SAS help note
about the option for you to read, below. This note is
was added so MXG 22.06 could be completed, but it may be
revised when I know more about these options.
Specifying LOCALE=GERMAN_GERMANY and NONLSCOMPATMODE did
not cause a failure using SAS 9.1.2 under Windows/XP.
The SAS help documentation for NLSCOMPATMODE:
"NLSCOMPATMODE provides compatibility with previous
releases of SAS in order to process data in languages
other than English, which is the default language.
Programs that ran in previous releases of SAS will
continue to work when NLSCOMPATMODE is set.
When NONLSCOMPATMODE is in effect, SAS does not support
substitution characters in SAS syntax. If you run SAS
with NONLSCOMPATMODE, you must update existing programs
to use national characters instead of substitution
characters. For example, Danish customers who have
substituted the 'Å' for the '$' character in existing SAS
programs will have to update the SAS syntax to use the
'$' ("national character") in their environments.
Note: NLSCOMPATMODE might affect the format of outputs
that are produced using ODS. If you are using ODS, set
the option value to NONLSCOMPATMODE."
There is additional, extensive, documentation of LOCALE
and NLS in SAS Technical Note TS-653 at www.sas.com.
Jan 2012: See Change 27.356, which shows how to use the
CONFIMXG and // EXEC SAS and //MXGNAMES to use the site's
default SAS JCL and removes the NLSCOMPATMODE option.
Thanks to Bernd Klawa, Stat Bielefeld, GERMANY.
Change 22.128 New BLDIMPDB is "JCL" for ASCII platforms, for STEP03/04
BLDIMPDB of the JCLIMSLx/ASMIMSLx IMS log processing on ASCII SAS
TYPEIMSB platforms; BLDIMPDB provides the filename statements with
Jun 14, 2004 correct DCB attributes that are used after STEP01/STEP02
(which do not require SAS) were executed on "MVS".
-Member TYPEIMSB had to be changed to process character
fields containing hex data as $CHAR rather than $EBCDIC,
logic was added to convert text fields back to EBCDIC.
Thanks to Steven Hudson, Avnet Inc, USA.
Change 22.127 The example in comments to read SMF data (instead of PDB)
ANALFIOE was enhanced to create only the datasets, and keep only
Jun 14, 2004 the variables that are required, reducing run time and
DASD space. This is not needed if you run ANALFIOE with
BUILDPDB, since the PDB has all of the needed datasets
to analyze concurrent FICON Open Exchanges.
Thanks to Neil Ervin, Charles Schwab, Inc, USA.
Change 22.126 The "WO" must be "W0", i.e., w-zero not w-oh in the DSNs
MXGSASV9 and member names in the JCL example.
Jun 11, 2004
Thanks to Robert Chavez, Office Depot, USA.
Change 22.125 Support for Mobius/IPAC subtype 5 IPAC05 dataset duration
VMACIPAC variables were incorrectly input, but nobody had noticed,
Jun 9, 2004 until now. Version 6.2 data has been validated.
Thanks to Marty Wertheim, Bank of America, USA.
Change 22.124 MXG 22.04-MXG 22.05, QWHSSTCK was missing in SMF 102 DB2
VMACDB2H trace records after Change 22.090; the reset for ID=101
Jun 9, 2004 statement should have also have reset ID=102.
Thanks to David M. Forbes, McLeodUSA, USA.
Change 22.123 SAS Version 9 INCOMPATIBILITY, on "MVS" only, CRITICAL:
CONFIGV9 The MXG default value for the SAS system option S2=
UTILS2ER (it sets the line size of source statements that will
MXGSASV9 be read from %INCLUDE and AUTOCALL members),
Jun 8, 2004 which is set in the MXG CONFIGV9 member,
Jun 12, 2004 MUST now be changed for MVS from the MXG default of S2=72
(which was chosen so that SAS only read columns 1-72,
and prevented errors when user-written code had mixed
blank and non-blank lines, or had invalid line numbers
in columns 73-80. Only user-written code members had
the exposure, since all of MXG fits in 72 positions),
to be S2=0, because:
- MVS SASMACRO library was changed from RECFM=FB to VB.
There are no standards for line size of SAS-provided
%macros; previous MVS-used %macros fit in RECFM=FB, but
new V9 macros now have line sizes up to 255 positions.
These new macros were created on ASCII platforms,
where all text files are variable length, with 255
default length (which SAS handled because it treats
variable length input and fixed length differently),
so the coders (with no legacy background) had no
reason to restrict their code to the 72 bytes that
we had found necessary on MVS systems, and they did
all of their testing on ASCII platforms.
If they had known of the restriction, their macros
could easily have been written to fit, this change
wouldn't have been necessary, so you could have
read their source code, to understand and learn,
without line wrapping on green screen terminals!
- So the MVS folks had to change RECFM from FB to VB to
deliver these long-length %macros, and since the real
SAS System default is S2=0, the MVS QA tests did not
see any of the errors that their change causes when the
S2 option is set to S2=72.
- And, unfortunately, while MXG programs do use some of
the SAS-provided %macros (%LOWCASE,%LEFT,%CMPRES,%TRIM)
the utilities that use them (UTILBLDP,BLDSMPDB) weren't
executed with the arguments that happen to invoke them
in our QA, so we missed this V9 problem in our testing.
- The SAS Change to RECFM=VB with the MXG S2=72 default
has caused real errors, and has the potential for more:
- With VB and S2=72, real errors occurred:
A site that had always put their own local %macros
in the SASMACRO FB library in previous SAS versions
got "macro not found" errors when they copied their
%macros into the VB file, and executed with S2=72,
because SAS started reading in column 73, and never
saw their %macro definition. SAS Technical Support
recommended they change S2=0, SAS Note SN-011929,
which did correct this error.
An alternative to putting user %macros in the
SAS-supplied library is to put them in the MXG
"USERID" tailoring source library, because MXG
uses MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS)
precisely so that %macros will be found.
- But with VB and S2=0, potential errors may be worse:
Since MXG has always set S2=72, any text in your own
source code in columns 73-80 was ignored, but now,
if you have a member with invalid line numbers in
columns 73-80 (mixed numbers and characters; some
vendors use 73-76 for a line number and put version
characters in 77-80), or if you have a member with
unnumbered first line and numbers in later lines,
your perfectly running job now will fail under V9
(with a 180 syntax error, at the non-blank line),
and the defective numbering will not be identified.
That member must be either all unnumbered or all
lines must be numbered to eliminate this error.
MXG set S2=72 to protect users from the very common
human error we found in MVS systems, when a user
EDITed a new line with blank number into a member
that was already numbered, but now, you must detect
and correct those members so that S2=0 can be used.
- But since CONFIGV9 must now specify S2=0 to prevent the
real errors encountered, those potential errors due to
"bad" line numbers MUST be detected and corrected prior
to migration to V9. The new UTILS2ER program MUST be
run against each of your Source PDS libraries that have
SAS code; it will identify all members with "bad" line
numbers, so that you can EDIT those members and avoid
the potential errors caused by changing S2=72 to S2=0,
prior to migrating to SAS Version 9 on "MVS".
- Tutorial on S2 option values:
- The S2=72 option has completely different meanings for
RECFM=VB than for RECFM=FB:
-For FB, S2=72 says to only read the first 72 positions
-For VB, S2=72 says to skip the first 72 positions and
start reading in column 73!
- The S2=0 option is also different, for the two RECFMs:
-For FB, the last 8 columns of the first line of each
member is read; if that first line does not have a
valid sequence number, SAS reads the full LRECL of the
source line. If that first line has a valid sequence
number, SAS reads all but the last 8 columns of that
member's lines.
-For VB, columns 1-8 of the first line of each member
is read, and if a valid line number is found, SAS then
internally uses S2=8 to start reading in column 9.
If there is no line number in columns 1-8, SAS then
internally uses S2=0 to read the entire line length.
- Fortunately, SAS separately opens each member, so with
S2=0 and either FB or VB, SAS examines each member for
line numbers, so you can have one member without line
numbers, and another member with line numbers, even in
the same PDS, without any error; it is only when you
have invalid line numbers, or have a blank line before
a numbered line, that the 180 syntax error will happen.
Note that MXG did NOT change the S=72 default value:
- S controls SAS action on code read in from //SYSIN
- S2 controls SAS action on code read by %INCLUDE or
by SASAUTOS)
because you want that protection: it is very common to
have mixed numbered and unnumberd lines in your members
that have both the JCL and the SAS code, that you EDIT
and SUBMIT, and using S=72 allows that inconsistency,
so your job will continue to run without errors.
Summary of changes:
-CONFIGV9 now specifies S2=0 instead of S2=72.
-UTILS2ER is a new program to find S2=0 bad lines.
-MXGSASV8/V9 has //INSTREAM with SPACE=(CYL,(1,20))
instead of CYL,(1,1), which could only hold 168,000
lines of source for UTILS2ER. With (1,20) that temp
file has room for 3 million lines from each PDS.
Thanks to Michael L. Kynch, International Paper, USA.
Change 22.122 Cosmetic. Error messages were made consistent, with both
VMAC28 SYSTEM and SMFTIME printed with all errors.
Jun 8, 2004
Thanks to Pascal Maurice-Prestataire, La Poste, FRANCE.
Change 22.121 See the extensive discussion of DB2 Parallel Transactions
VMACDB2 (and the significant loss of DB2TCBTM if you have any)
EXDB2ACC in the "DB2 Technical Notes, Newsletter FORTY-FIVE).
EXDB2ACB -This old code in the MXG exit members EXDB2ACC/ACP/ACB:
EXDB2ACP IF DB2PARTY='P' AND QWACPARR='Y' THEN DELETE;
Jun 6, 2004 was removed by this change, and should be removed from
your exits. It was added by Change 20.266 to resolve a
problem with duplicate records, but the new DB2PARTY='R'
value is set when QWACPARR='Y', so the DELETE could never
have been executed.
-New value 'R' for the RollUp record, and value 'P' is now
for the Parallel Task (or Utility Subtask):
DB2PARTY Description Set by
'R' Rollup QWACPARR EQ 'Y'
'P' Parallel QWACPACE GT 00000000X
'O' Parent/Orig QWACPCNT GT 0, QXMAXDEG GT 0
'S' Sequential None of the above
-The code to set DBPARTY was relocated, and the test for
'O' is now set IF QWACPCNT GT 0 OR QXMAXDEG GT 0, which
is a stronger test for the Parent/Originating record.
Without this change, DB2PARTY was "S" for the Parent.
-In DB2PARTY='R' Rollup records QWACESC is not a datetime
value, but as noted in IBM APAR PQ41012, it contains the
total elapsed time for all child tasks, a duration. MXG
now detects when QWACESC is smaller than QWACBSC, (or if
QWACESC or QWACBSC are zero) and for those observations:
MXG stores the "QWACESC" time in variable CHIELPTM.
MXG creates QWACESC as datetime, equal to QWHSSTCK.
QWACBSC may be zero
ELAPSTM is set to missing
For all other observations, CHIELPTM will be missing,
and ELAPSTM=QWACESC-QWACBSC.
Thanks to Andy Creet, Department of Defence, AUSTRALIA.
Thanks to Andy Schuermann, Department of Defence, AUSTRALIA.
Change 22.120 MXG 22.05, MVS only, using UTILBLDP, you will get error:
CONFIGV8 APPARENT INVOCATION OF MACRO CMPRES NOT RESOLVED and
CONFIGV9 APPARENT INVOCATION OF MACRO LEFT NOT RESOLVED because
Jun 4, 2004 during tests for Change 22.102, I had mis-understood SAS
techs to say that the %LOWCASE and other %MACROS had been
implemented in base SAS, and that SASAUTOS was no longer
required, so I had changed SASAUTOS=SOURCLIB in testing,
but found it was only the function LOWCASE and not the
%macro %lowcase that had been implemented; unfortunately
I failed to go back and correct the SASAUTOS= statements
in those CONFIGVn members. The correct statement is
SASAUTOS=(SOURCLIB SASAUTOS)
which has always been required in CONFIGxx and AUTOEXEx
to retrieve the SAS-provided %macros that are not defined
in base SAS: %LOWCASE, %CMPRES, %LEFT, and %TRIM.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 22.119 Cosmetic: Four of the BY statements in the _CHAIN macro
VMACCIMS were replaced by _BIMFTRN, since that "BY" macro had the
Jun 3, 2004 same variables as the replaced BY statements.
Thanks to Joe Babcock, Bank One, USA.
Change 22.118 Cosmetic: Semi-colons at the end of some MACRO _BTY91xx
VMAC91 were removed, to be consistent with other definitions.
Jun 3, 2004
Thanks to Joe Babcock, Bank One, USA.
Change 22.117 Support for optional ESS segment GEPARMKY=003B creates
IMAC6ESS variable ESSFRMLN (FORMLEN) in dataset TYPE6, when the
VMAC6 comment block in member IMAC6ESS is opened.
Jun 3, 2004
Thanks to Engelbert Smets, Provinzial Rheinland Versich., GERMANY
Change 22.116 Variables SMF70NSI SMF70NSA SMF70NSW were incorrectly
VMAC7072 divided by NRSAMPLE, which is ten times greater than the
Jun 3, 2004 SMF70DSA that should have been used.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 22.115 JES3 only. The BUILDPD3 program could use the wrong type
BUIL3005 26 purge record, which caused ABEND='JCL' for jobs that
Jun 2, 2004 had actually executed, especially for jobs that were read
in on one system and sent to a second system via NJE for
execution, because the first TYPE26J3 observation was the
one used. This revision uses the SYSEXEC field, which is
non-blank only in the "execution" purge record; all other
purge records are output in dataset PDB.DJEPURGE prior to
the logic that matches the purge record with the other
job records.
-The READTIME value can be different in the purge record
that was written for the job's output processing which
occurred on the original node. The first two 26 records
(one on the read-in system, one on the execution-system)
but the third 26 record had a READTIME that was after the
purge time of the execution purge record. As this was a
non-execution purge record, it is output in PDB.DJEPURGE,
but searching for it by READTIME would not find the obs.
Thanks to Ray C. Lau, Nav-International, USA.
Thanks to Roger Rush, Nav-International, USA.
Change 22.114 This VTS Library Statistics report replicated the IBM
ANAL94 report, but IBM uses the SMFTIME (end) rather than the
Jun 1, 2004 STARTIME (begin) of the interval, so, to match their
report, SMFTIME is now used, and the REPORT TITLE has
been modified to indicate it the end of the interval.
Thanks to Cheri Sample, Ford Motor Car Company, USA.
Change 22.113 ASCII execution only, using ASMIMSLx/JCLIMSLx steps 3 & 4
TYPEIMSA on PC, variable APPLID was unreadable because it was not
May 27, 2004 converted back to EBCDIC. APPLID=SUBSTR(DTOKEN,1,4); was
replaced by APPLID=INPUT(SUBSTR(DTOKEN,1,4),$EBCDIC4.);
Thanks to Mark Van Der Eynden, Hewlett-Packard Australia, AUSTRALIA.
Change 22.112 INPUT STATEMENT EXCEEDED if MVRECLEV EQ '02'X but you did
VMACEDGS see the circumvention in the comments to change the 58 in
May 26, 2004 _SKPEDGS to 122, because the INPUTs for MVAUTID1-8 were
not compared with their length. However, this error is
now eliminated, as logic now tests MVRECLEV and sets the
value to either +58 or +122 automagically.
Thanks to Chuck Hopf, MBNA, USA.
Change 22.111 Durn unix, and it's case sensitivity: these two members
BLDSMPDB must be all lower case, and all of the %UPCASE functions
BLDNTPDB must be changed to %LOWCASE, and when you type in the
May 26, 2004 %bldsmpdb(....) or %bldntpdb(....) those text lines
must also be typed in lower case.
-References to &SYSSCP were changed to &OPSYS, because
&SYSSCP is a SAS-owned macro variable that cannot be
%LOWCASEd, but &OPSYS is set in VMXGINIT and can be.
Thanks to Steven Hudson, Avnet Inc, USA.
Change 22.110 The label for R744STSA was reversed; it is now
VMAC74 R744SSTA='REQUESTS*CHANGED FROM*SYNC TO ASYNC'
May 25, 2004
Thanks to Thom Kight, Fidelity Systems, USA.
Change 22.109 -DB2 data written to GTF and read with TYPE102G caused
ANALDB2R INVALID DO LOOP CONTROL INFORMATION error.
ANALDBTR because some IFCID 070 and 071 Trace Records contain only
VMAC102 a product section; MXG expected a second section with the
VMACDB2H QW0070 and QW0071 DSECTs, as described in DSNDQW01. The
VMACSMF two IFCIDs now only INPUT the second if QWHSNSDA GE 2.
May 30, 2004 When QWHSNSDA=1, T102S070/T102S071 dataset will have
missing values for the variables from those DSECTS, i.e.,
QW0070FR/CK or QW0071RT/RS/NI/FR will have missing value.
-Additionally, these two IFCIDs have only the Standard DB2
Header and the CPU Header in their Product Section. the
Correlation Header does not exist, so the QWHCCN QWHCCV
and all QWHC variables are missing in T102S070/T102S071.
-The _GTFDB2 macro in VMACSMF was corrected to run under
ASCII SAS; $EBCDIC was changed to $CHAR and $HEX format
was added.
-The _GTFDB2 macro did not store TODSTAMP into QWHSSTCK,
so the use of GTF data for ANALDBTR to create "PAIRS"
datasets, and/or the use oF PMSQLnn reports in ANALDB2R
did not work, causing blanks for Interval Start, etc.
-ANALDBTR did not include _114PAIR in ALLPAIRS macro,
causing S114S115/S114S116 DATA SET NOT FOUND errors in
ANALDB2R.
-ANALDB2R had misspelling of QW006PG vice QW0006PG, and an
incorrect &TRACEIN..S183S183 that is now just S183183; it
had caused a DATASET PDB.S183S183 not found error.
Thanks to Wayne Montefiore, CSC GIS Engineering Services, AUSTRALIA.
====== Changes thru 22.108 were in MXG 22.05 dated May 22, 2004=========
Change 22.108 CRITICAL for SAS V9.1, if you did NOT install CRITICAL
CONFIGV9 SAS Hot Fix in SN-012437 for V9.1 and for V9.1.2:
VMAC110 Summary: -SAS V9.1, using V7SEQ,V8SEQ,or V9SEQ, creates
VMAC120 corrupted and un-readable datasets, with no
VMAC80A error messages until you try to read the data,
VMACOMDB and the data is NOT recoverable; it's lost!
VMACSMSX See the FLASH posted May 21 to MXG-L/ITSV-L,
VMACTMTC or see FLASH in Newsletters at www.mxg.com.
May 22, 2004 -SAS V9.1, using V6SEQ, creates valid datasets
that have no errors, but if a dataset has any
long-length variables (greater than 200 bytes),
the copy/write caused error messages, and you
could not copy/write that dataset.
-SAS 9.1.3 has corrected all known errors and
V9SEQ can be safely used; however, CONFIGV9
still has V6SEQ, because I cannot tell that you
are running under SAS V9.1.3.
-Under SAS V8.2, V8SEQ creates valid datasets,
and supports "long length" variables; the error
only occurs under SAS V9.1, without hot fix.
This revision shortens all "long-length" variables in
datasets from MVS data, so that SEQENGINE=V6SEQ can be
safely used without errors; and the change reinstates
the SEQENGINE=V6SEQ in the CONFIGV9 member.
There is now another CRITICAL change to CONFIGV9 that is
also required for SAS V9, in Change 22.123.
These SMF variables were reduced to $200 bytes length,
(and it is extremely unlikely that your MVS data has
and text longer than 200 bytes in these fields):
SMF TYPE Dataset Variable Orig length
80 TYPE80EK EKC80FRD 1024
80 TYPE8XEK EKC80FRD 1024
110 CICSJR SJRPRPTH 255
110 CICPGR PGRJVCLS 255
120 TYP120JI SM120JI7 400
120 TYP120WA SM120WAL 400
120 TYP120WA SM120WAQ 400
120 TYP120WI SM120WIQ 400
120 TYP120WI SM120WIW 400
USER SMSX IGDACSSC ACEROJFL 256
USER SMSX IGDACSSC ACEROMFL 256
USER SMSX IGDACSSC ACEROSFL 256
USER TMTC TMTCIS ISCONTCT 256
USER TMTC TMTCIS ISDESCR 256
USER TMTC TMTCIS ISLOC 256
USER TMTC TMTCIS ISNAME 256
USER TMTC TMTCIS ISOBJID 256
These MVS-but-not-SMF variables were reduced to $200,
(and data loss here is also unlikely):
Product Dataset Variable
Candle OMDB DB0035 QMDAASTR 247
Candle OMDB DB0630 QW0063ST 5000
Candle OMDB DB1920 QW0192DT 250
Candle OMDB DB2060 QW0206MR 256
Candle OMDB DB2060 QW0206MS 256
Candle OMDB DB2080 QW0208MR 256
Candle OMDB DB2080 QW0208MS 256
Candle OMDB DB2360 QW0236MR 256
Candle OMDB DB2360 QW0236MS 256
Candle OMDB DB2571 QW0257MS 256
Candle OMDB DB3120 QW0312PR 250
Candle OMDB DB3140 QW0314PL 256
Candle OMDB DB3190 QW0319D1 256
Candle OMDB DB3240 QW0324CP 254
Candle OMDB DB3270 QW0327MS 256
And what's at least "slick" about this change:
If you need the extra characters in these variables,
once you have installed the Hot Fix, you can increase
them back to their maximum length just by inserting a
LENGTH var1 var2 ... varn $256 ;
statement in one EXdddddd member for each product!
MXG code still INPUTs the original long length, but
this change inserted a LENGTH varx $200; statement
in the VMACxxxx member, but SAS uses the LAST
LENGTH statement, and the EXdddddd member's code
will then change the stored length of the variable.
But not all variables over 200 bytes were changed:
- These variables created by TYPEWWW from Web Logs were
unchanged; that code is normally run on ASCII SAS,
which does not use the SEQENGINE option, and
Dataset Variable LENGTH
WWWIIS BROWSER URISTEM 256
" COMPNAME CSBYTES CSHOST 4096
" CSVERSN PORT SCBYTES 4096
" SITENAME STATUS32 URIQUERY 4096
WWWLOG BROWSER URISTEM 256
WWWLOG URIQUERY 4096
WWWREFER REFERER 4096
WWWURQRY URIQVALU 4096
WWWCOOKE COOKVALU 4096
- These variables are ONLY longer that 100 bytes if the
COMPRESS=YES option is enabled, none of the datasets
are likely to be created in BUILDPDB nor archived,
especially the T102Snnn DB2 trace datasets that are
usually created only for ad hoc analysis. And all of
these variables can be changed by inserting
%LET SASCHRLN=100;
or
OPTIONS COMPRESS=NO;
as your first //SYSIN statement:
Dataset Variable LENGTH
T102S004 QW0004MS 32000
T102S005 QW0005MS 32000
T102S059 QW0059CN 32000
T102S061 QW0061CN 32000
T102S062 QW0062ON 32000
T102S063 QW0063ST 32000
T102S064 QW0064CN 32000
T102S065 QW0065CN 32000
T102S066 QW0066CN 32000
T102S090 QW0090CT 32000
T102S092 QW0092P1 32000
T102S097 QW0097P1 32000
T102S124 QW01242T 32000
T102S140 QW0140TX 32000
T102S141 QW0141TX 32000
T102S145 QW0145TX 32000
T102S168 QW0168ST 32000
T102S180 QW0180DS 32000
T102S194 QW0194DS 32000
T102S203 QW0203PA 32000
T102S204 QW0204TH 32000
T102S206 QW0206MR QW0206MS 32000
T102S207 QW0207HR 32000
T102S208 QW0208MR QW0208MS 32000
T102S236 QW0236MR QW0236MS 32000
T102T124 QW01242T 32000
T102T140 QW0140TX 32000
T102T141 QW0141TX 32000
T102T145 QW0145TX 32000
TMDBBD QW0140TX 32000
TMDBBD0 QW0140TX 32000
SHADOW06 SM06SQSR 32000
Note: Jan 11, 2011. Change 28.325 updated this list.
Thanks to Diane Parker, AmerisourceBergen Corp, USA
Change 22.107 Formats MGTMDRC for ASG/TMON DB2 and MGDB2RC for IBM DB2
FORMATS slightly out of sync, but now match.
May 22, 2004
Thanks to Chuck Hopf, MBNA, USA.
Change 22.106 Variables EDSDSMEM, EDSESMEM, EDTDSMEM, EDTESMEM were not
VMACENDV correctly input.
May 22, 2004
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Change 22.105 MXG 22.04 ONLY. If there were no optional CICS segments,
UTILEXCL the IMACEXCL created by UTILEXCL failed with ERROR 22-322
May 22, 2004 on this statement: STRTTIME=STRTTIME+MCTMNTAD-MCTMNLSO;
The error was due to a mislocated comment symbol after
the LASTCHEK: label around a debugging PUT statement.
-ZDATE protected if _RPTEXCL run against PDB.CICSDICT that
had been created by an old UTILEXCL prior to ZDATE keep.
Thanks to George Waselus, Arizona State Department of Admin, USA.
Thanks to Noel D'Sousa, CSC, AUSTRALIA.
Thanks to Helmut Roese, Com-Software, GERMANY.
Change 22.104 Support for Candle Omegamon II for DB2 IFCID Trace data
TYPE102C that is written to a sequential file. Use the file name
VMAC102 //CANDB2 to point to their file, and %INC the TYPE102C
VMACSMF program to create obs for all IFCIDs in the file.
May 20, 2004
Thanks to Joseph Pugh, Fujitsu, ENGLAND.
Change 22.103 Cosmetic. Example had lines 648 and 652 the same; the
DOCPDB second MACRO _LDBJOBS &PDBJOBS..JOBS % statement in
May 20, 2004 line 652 was deleted.
Thanks to Christa Neven, KBC BankVerzekeringsHolding, BELGIUM.
Change 22.102 SAS under unix does not fileref SASAUTOS (SN=000444), and
AUTOEXEC this caused NO LOGICAL ASSIGN FOR SASAUTOS followed by
AUTOEXEU WARNING: Apparent invocation macro LOWCASE not resolved.
May 20, 2004 ERROR 23-2: Invalid option name ) messages, plus the MXG
Version number and date are missing from this message:
MXG DATED HAS BEEN SUCCESSFULLY INITIALIZED.
The real cause of this error is that the %LOWCASE macro
function is not implemented in base SAS, but instead is
provide as a %MACRO in the "SASAUTOS" library; if that
function (and %LEFT) were in base SAS, there
would be no need to concatenate the "SASAUTOS" fileref
with the MXG SOURCLIB. For both z/OS and Windows and
Linux, SAS does "fileref" the SASAUTOS (with a -SET in
the SASVn.CFG file, so this syntax in the MXG-provided
AUTOEXEC.SAS works just fine.
OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB,SASAUTOS);
However, under unix, you must provide the "pointer" to
the SASAUTOS directory; you could use a FILENAME to do
that, but it is simpler to use the new AUTOEXEU member
for your autoexec.sas under unix, as it contains
OPTIONS SASAUTOS=(SOURCLIB !SASROOT/SASAUTOS);
which should be the correct location of unix sasautos.
For Windows, of course, the location is different, and
OPTIONS SASAUTOS=(SOURCLIB !SASROOT\CORE\SASMACROS);
is the correct syntax.
If any of the above fail in the future, all you need do
is to search your disk for the file "lowcase.sas", which
will be found in some directory under the sas root, and
use that directory name in your AUTOEXEC/AUTOEXEU file.
Thanks to Steven Hudson, Avnet Inc, USA.
Change 22.101 Support for VIO/PLUS subtypes 1 and 2 create new datasets
EXTYVIOL subtyp dddddd dataset description
EXTYVION 1 TYVION TYPEVION VIO PLUS NON-VSAM STATISTICS
IMACVIOP 2 TYVIOL TYPEVIOL VIO PLUS LOAD STATISTICS
VMACVIOP and eliminates INPUT STATEMENT EXCEEDED RECORD LENGTH
VMXGINIT error. Both new subtypes have been validated with data.
May 5, 2004
Thanks to Billy Westland, Kaiser Permanente, USA.
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 22.100 Invalid SMF 80 created by EKC's ETF/R FIRECALL product
VMAC80A caused INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR. The
May 4, 2004 second segment length was 197, but only 7 bytes remained
in the record. This vendor's "ETFR" modified SMF 80 was
supported by Change 21.215, after a similar error in that
record was circumvented by Change 21.201. This new EKC
record contains "EKCS" rather than "ETFR", and eventually
I'll support that unique record, also, but for now, this
additional test will prevent your daily job from ABENDing
no matter what EKC comes up with next.
May 22: EKC Inc fix for this error is their PTF LK12029.
Thanks to John Grasing, Metropolitan Life, USA.
====== Changes thru 22.099 were in MXG 22.04 dated May 2, 2004=========
Change 22.099 Documentation only. If a "dddddd" macro variable WTNT063
VMXGINIT %GLOBALed but was not %LET a value, then SAS syntax
May 2, 2004 errors 22, 202, and 455 and their messages were created:
+ &WTNT063..NT063
22
202
455
ERROR 22-322: Syntax error, expecting one of the following:
a name, a quoted string, RC, _DATA_, _LAST_,;, _NULL_.
ERROR 202-322: The option or parameter is not recognized
and will be ignored.
ERROR 455-185: Data set was not specified on the DATA
statement.
Change 22.098 Variables LCPUSHAR,LPnSHARE in ASUM70PR/ASUM70LP/ASUMCEC
VMXG70PR are the Initial Weight of the LPAR (SMF70BPS). Now, new
May 2, 2004 variables LCPUSHAC,LPnSHARC in those datasets contain the
Current Weight of the LPAR (SMF70ACS).
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 22.097 Assembly error for ASMRMFV if an old OS/390 MACLIB was
ASMRMFV used: "ASMA017W Undefined keyword parameter - GETDS/LOC"
May 2, 2004 because the old GETDSAB macro did not support LOC=ANY.
Reassemble with a current z/OS MACLIB, or you can remove
",LOC=ANY" from the GETDSAB macro call in ASMRMFV source,
if you're still stuck with an old system and MACLIB.
No change was made in MXG code; documentation only.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 22.096 Global macro variables &MACINTV and &MAC30DD are defined
IMAC30DD in VMXGINIT and located in IMACINTV and IMAC30DD so that
IMACINTV TYPE30_V(PDB.SMFINTRV) and TYPE30_D(PDB.DDSTATS) datasets
VMXGINIT can be optionally created using %LET MACINTV= syntax as
May 2, 2004 an alternative to EDITing the IMAC members.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 22.095 Support for OS/400 5.2 QAPMMIOP with three new fields
VMACQACS that were added compatibly at the end of the record;
May 2, 2004 the length for QAPMMIOP is now 290 instead of 272.
Thanks to Clayton Buck, UniGroup, USA.
Change 22.094 CICS/TS 2.3 records with no excluded fields had wrong
VMAC110 values for all variables after CBSRVRNM in the CICSTRAN
May 1, 2004 dataset. If, instead, you had excluded fields from SMF,
Aug 13, 2004 like all my test CICS/TS 2.3 data, and used the UTILEXCL
program to create your IMACEXCL tailoring member, that
code did input CBSRVRNM correctly as $EBCDIC4., but the
code for un-excluded records input CBSRVRNM as $EBCDIC8,
throwing every thing else in the record off by 4 bytes.
Note: Not to defend my error, but I do STRONGLY recommend
that even if you do not have any EXCLUDEd fields in
CICS data, you should still use UTILEXCL to create
a tailored IMACEXCL for your installation; it will
minimize the size of CICSTRAN by keeping only the
CICS variables in your current release(s), and some
some optional CICS fields are only decoded if you
use UTILEXCL to create an IMACEXCL to create your
CICSTRAN data.
Aug 13: More Important Note: Variable TASCPUTM is one of
the VERY MANY CICSTRAN variables that are wrong if you
read CICS/TS 2.3 records without this change. As listed
in CHANGES since last May, MXG 22.04 or later is the
REQUIRED version to support CICS/TS 2.3 records fully.
Thanks to Helmut Roese, COM Software, GERMANY.
Change 22.093 Cosmetic. Blank lines between FIRST/LAST record messages
VMACSMF were removed, _N_= value is consistently located, and new
May 1, 2004 Start of Read SMF and End of Read Time of Day messages.
Change 22.092 For SMF 116 Subtype 1 and 2, the CICS and IMS id fields,
VMAC116 variables QWHCTNO,QWHCTRN,QWHCTASK for CICS and
May 1, 2004 variables QWHCPST, QWHCPSB for IMS
were not in the same location as the subtype 0 record.
New input statements correct those variables in the
MQMACCTQ and MQMQUEUE datasets.
Thanks to Helmut Roese, COM Software, GERMANY.
Change 22.091 Variable PCTALLBY in dataset TYPE78CU should have always
VMAC78 been a missing value, with z/OS 1.2+, per the June, 2002,
May 1, 2004 note added to the text of Change 19.203, but it has been
alway 100% instead of missing. The test was revised so
that it now is as documented, always missing value.
Thanks to Phil Baxter, Cap Gemini Ernst & Young, ENGLAND.
Thanks to Simon Bolland, Cap Gemini Ernst & Young, ENGLAND.
Change 22.090 MXG 22.02-22.03 only. Change 22.045 corrected QWHSSTCK in
VMACDB2 DB2STATx datasets (so statistics intervals would MERGE),
VMACDB2H but that change caused QWHSSTCK in the DB2ACCTx datasets
May 1, 2004 to be zero (printed as year 1960).
-MXG Logic in VMACDB2H was revised to RETAIN the STCK of
the first ID=100 record in variable STATSTCK, and use
QWHSSTCK=STATSTCK for statistics data, but directly use
QWHSSTCK=THISSTCK for ID=101 DB2ACCTx datasets.
-The RETAIN QWHSSTCK in VMACDB2 was removed as not needed.
Thanks to Dean Ruhle, J. C. Penney, USA.
Change 22.089 Variable QWHCCV was INPUT $EBCDIC12. in MXG 20.20, but as
VMAC116 the field contains both EBCDIC text characters and binary
May 1, 2004 hex values, the INPUT was changed to $CHAR12 in MXG 21.21
so that the hex values were preserved when MXG executed
under ASCII. On EBCDIC platforms, there is no difference
between $EBCDIC and $CHAR, but $CHAR informat variables
must be formatted $HEX: a binary '00'x value, PROC PRINTd
can stop VTAM output, so QWHCCV is now $HEX24 formatted.
16Jan04: Note that my choice to format QWHCCV as $HEX24
will cause printed reports to be expanded from 12 to 24
positions.
Thanks to Dean Ruhle, J. C. Penney, USA.
Change 22.088 If VMXGRMFI is invoked a second time with PDB= non-null,
RMFINTRV to re-read the PDB.TYPE7xx datasets to create different
VMXGRMFI output "PDB.RMFINTRVs", perhaps with different workload
Apr 30, 2004 definitions, the SPINRMFI dataset was reused and became
May 19, 2004 corrupted, causing spurious observations to be created.
Note:
This does NOT happen with the example in RMFINTRV using
PDB=, TRENDIN=PDB.RMFINTRV, to resummarize the first
output to create separate hourly and daily summary
datasets PDB.RMFINTHR and PDB.RMFINTDY. When the PDB=
argument is null, the SPINRMFI dataset is not used.
The SPINRMFI is only needed to keep the prior day's
last four hours, for calculation of MXG's MSU4HRAV.
If your PDB= argument is non-null in subsequent VMXGRMFI
invocations, you must use the SPINRMIN= argument to name
your spin dataset (e.g. SPINRMIN=SPINRMXX,), so that that
summarization's SPIN will be in SPIN.SPINRMXX dataset.
The default value for SPINRMIN is SPINRMFI, and I suggest
you use SPINRMxx naming convention for your dataset.
-This change also created new argument SPINRMOU, for the
output dataset name, for consistency, but it is unlikely
to be used. SPINRMOU defaults to the value in SPINRMIN.
-Each VMXGRFI with PDB=non-null must use a different SPIN
dataset; the SPINRMIN= argument changes the dataset name,
but the default "SPIN" library is used for all of them.
There is an alternative: you can have multiple "SPIN"
libraries, instead of multiple "SPIN" datasets, using the
&SPININ/&SPINOUT macro variables created in Change 22.018
(so that you could have different input and output SPIN
libraries so you could use a GDG for your SPIN library).
So you could %LET SPININ=SPIN01, to change the DDNAME for
each %VMXGRMFI invocation.
-May 19: Example in comments in RMFINTRV was missing the
comma after SPINRMIN=SPINRMDY, now corrected.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.
Change 22.087 Non-PR/SM systems. Datasets PDB.TYPE70 and PDB.RMFINTRV
VMAC7072 had variables IORATE and PCTTPI too low; they contained
Apr 30, 2004 values from only the last CPU, instead of the totals.
This error was introduced in MXG 21.05 when Change 21.170
moved the three lines inside the PR/SM Control Section,
which does not exist on non-PR/SM systems. The lines are
relocated after the PR/SM Control Section (NRPRCSS) loop.
Thanks to Dean Ruhle, J. C. Penney, USA.
Change 22.086 The second IF ID=xx AND MVSXA THEN DO; statement should
VMAC74 have been ELSE IF ID=xx ...., for performance reasons,
VMAC75 and to be consistent with SMF TYPE logic in MXG, but it
VMAC76 had no other impact on execution.
VMAC77
Apr 30, 2004
Thanks to Dr. Alexander Raeder, Intellium, GERMANY
Change 22.085 Support for TNG NT platform SESSION and USER objects:
EXTNT063
EXTNT064 dddddd Dataset Description Vars Instances
FORMATS TNT063 NT063 SESSION 77 181
IMACTNG TNT064 NT064 USER 17 75
VMACTNG You must update your MXG Format Library with this FORMATS
VMXGINIT member (see FORMAT step of JCLINSTL).
Apr 29, 2004
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 22.084 Large QBSTGET in PDB.DB2STATB after Change 22.045 occurs
VMACDB2 if the DB2 Subsystem was restarted, and the buffer pool
Apr 29, 2004 was not used in every interval. MXG Logic was revised
to use QWHSACE to detect a restart had occurred.
Thanks to Steve Dyck, Canadian Depository for Securities, CANADA.
Change 22.083 Support for additional unix AIX PTX objects create new
EXAIXIP datasets:
EXAIXNFS dddddd dataset description
EXAIXRPC AIXIP AIXIP AIX IP DATA
EXAIXTCP AIXNFS AIXNFS AIX NFS DATA
EXAIXUDP AIXRPC AIXRPC AIX RPC DATA
IMACAIX AIXTCP AIXTCP AIX TCP DATA
VMACAIX AIXUDP AIXUDP AIX UDP DATA
VMXGINIT
Apr 29, 2004
Thanks to Glenn Bowman, Wakefern, USA.
Change 22.082 Variable MEMINBOX in NTCONFIG dataset was 1/100th of the
VMACNTSM actual memory in the box; the INFORMAT MEMINBOX 16.2 was
Apr 28, 2004 changed to INFORMAT MEMINBOX 16. because the value is an
integer, and does not have two implied decimal places.
Thanks to Diane Parker, AmeriSource Bergen, USA.
Change 22.081 -If the translate table used to send TNG ASCII data to MVS
VMACTNG created '9E'x/'9F'x for Left/Right Square Bracket & '4F'x
Apr 28, 2004 for Exclamation Point, those unexpected values caused MXG
Apr 29, 2004 ERROR: UNEXPECTED CAPMPCM HEADER RECORD. The Left Square
Bracket test now has '9E'x for that EBCDIC value, and has
'92'x, because the ftp of the '9E'x value back to ASCII
created that unexpected value. The full test now is:
IF TYFLG IN : ('[','5B'X,'AD'X,'BA'X,'92'X,'9E'X)
-Change 21.269 blanked variable DOMAIN, but did not note
that there is no "domain" value in TNG, and that variable
should not have been created. SYSTEM is the one to use.
-The "DATA FROM PLATFORM" message now has the SYSTEM from
each new Header record; it was blank in the first message
and had the prior record's SYSTEM value in the rest.
Thanks to Gunner Jacobsen, Nordea, NORWAY.
Change 22.080 Variable CPUTM was removed from PDB.CICS built from ASG-
ASUMCICT The Monitor's MONITASK dataset, since TASCPUTM is the TCB
Apr 28, 2004 CPU time variable. CPUTM had been removed from PDB.CICSs
built by ASUMCICS and ASUMCICX by was accidentally left
in the ASUMCICT member.
Thanks to Frank Lund, EDB IT Drift, NORWAY.
Change 22.079 Support for IBM Session Manager User SMF record creates
EXIBSMSM IBMSESMG dataset. Unfortunately, there is no field that
IMACIBSM indicates what Application was connected to, so for a
TYPEIBSM specific USERID/LTERM (variables SSTUSER/SSTTNAM), that
TYPSIBSM connected to multiple applications, records with overlap
VMACIBSM between Session Start (SSTSTRTT) and SMFTIME (Signoff).
VMXGINIT Use SMFTIME instead of the lower resolution SSTSTIME for
Apr 28, 2004 the signoff time. Query to IBM as to why there is no
field for the application to which session connected.
Thanks to Dave Crandall, Farmers Insurance, USA.
Change 22.078 Cosmetic. Variable PCTDLCCA Label was corrected to be
VMAC7072 PCTDLCCA='CPU*CAPPING*DELAY*PERCENT'
Apr 27, 2004 instead of RESOURCE*GROUP... (which is in PCTDLPDE).
Thanks to Ronald Kveton, Experian, USA.
Change 22.077 Support for "second flavor" of ACCT fields; original data
VMACTPMX had the "standard type 30 job accounting string", but new
Apr 27, 2004 data has multiple ACCT fields; new logic detects which is
present and still populates ACCOUNT1-ACCOUNT9, LENACCT1-
LENACCT9 from the individual fields.
-TSSUSR2 and TSSUSR3 fields now supported.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 22.076 Cosmetic. Variable _N_ was added to PUT statements for
IMACACCT error conditions and messages were single spaced.
Apr 27, 2004
Change 22.075 ARRAY SUBSCRIPT OUT OF RANGE error occurs if you have
VMAC74 more than 255 structures in your CF; the temporary arrays
Apr 27, 2004 allocated only 255 elements, but they have been raised to
1024 elements, which I believe is the maximum number of
structures supported in a CF.
Thanks to Bob Miller, CONSECO, USA.
Change 22.074 DB2 Trace SMF 102 Subtype 125 dataset T102S125 variables
VMAC102 QW0125PC QW0125PL QW0125PN QW0125TS QW0125SN were missing
Apr 27, 2004 values because the test for QWT02R1L GE 64 should have
been GE 62. The original DSECT showed two reserved bytes
but those bytes do not exist in the current record, so
the +2 at the end of segment was also removed.
Thanks to Ron Alterman, PG&E, USA.
Change 22.073 SMF 119 Subtype 10 dataset TYP11910 had invalid values in
VMAC119 variables UCINDTGR UCOUDTGR UCINBYTE UCOUBYTE because +2
Apr 27, 2004 was needed to skip two reserved bytes before UCINDTGR.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 22.072 For Service or Reporting Classes with R723CWMN GT 0, not
VMAC7072 all periods were output. With three periods, only the
Apr 27, 2004 first period was output; with four periods, only the 1st
Aug 5, 2004 and 2nd periods were output. This is NOT a new error;
MXG has always been this way:
Inner loop IF R723CWMN GT 0 THEN DO _I_=1 TO R723CWMN;
(for the two state/delay sections), and the outer loop
(for each period), DO _I_=1 TO NRSCS; used the same _I_
variable! Transaction Service Classes have R723CWMN=2
(begin and end entries), causing _I_=3 when R723CWMN=2,
so if NRSCS (number of periods) was 2 or 3, only the
first period's data was created. (With 4 periods in
the service class, only the first and second period
data was output, but not the 3rd nor 4rd, etc.).
The DO variable in the inner loop was changed to _II_ to
correct this error.
-The April text cited R723TYPE=3 as the only exposure, but
the error actually occurred with any service or reporting
class with R723CWMN non-zero. This text was revised in
August, but the April code change was not affected.
Thanks to Tom Koelle, CitiGroup, USA.
Thanks to Dave Crandall, Farmers Insurance, USA.
Change 22.071 Test string for "SAS Product SMF Record" change to SASU
UTILBLDP (it was SAS) to correctly include VMACSASU, etc., when
Apr 26, 2004 SAS USER records are to be processed.
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 22.070 Modification to VMXGSUM to prevent a bizzare abend that
VMXGSUM should not happen but did happen in one isolated case,
VMXGSUME where a slash was used. Addition of %STR resolved.
Apr 26, 2004
Change 22.069 The BLDSMPDB utility for daily/weekly/monthly/trend PDB
BLDSMPDB had used SMF= for its input argument, but Change 22.060
Apr 26, 2004 replaced hardcoded SMF DDname in VMACSMF with &SMF, which
caused BLDSMPDB code to fail; the name in BLDSMPDB was
changed to SMFIN= to eliminate the conflict and error.
Thanks to ???, ???, USA.
Change 22.068 -Support for optional RMI data for both CMODNAME='RMI' in
VMAC110 IMACICRM and CMODNAME='DFHRMI' in IMACICRD adds similar
UTILEXCL but different sets of RMIxxxxx variables.
IMACICRD -UTILEXCL was revised to support DFHRMI and RMI segments;
IMACICRM without this change, if CMODNAME='DFHRMI' was in the CICS
Apr 17, 2004 dictionary, the IMACEXCL created by UTILEXCL failed with
a SAS 180 error, underscoring variable TRANTYPE.
Thanks to Neil Ervin, Charles Schwab, USA.
Change 22.067 Ending */ comment was missing, but the only impact was
SPUNJOBS that work datasets were not be deleted.
Apr 16, 2004
Thanks to Dov Brosch, Bank Hapoalim, USA.
====== Changes thru 22.066 were in MXG 22.03 dated Apr 5, 2004=========
Change 22.066 Cosmetic. Labels for SOMSGIN1 and SOMSGOU1 were reversed.
VMAC110
Apr 5, 2004
Thanks to Allan J. Winston, MBNA, USA.
Change 22.065 The six undocumented ESS fields in SMF 57 (Change 22.057)
VMAC6 are also in SMF 6 records, and are decoded in variables
Apr 5, 2004 SMF6C1, SMF6C2, SMF6C3, SMF6N1, SMF6N2,and SMF6N3
Thanks to Rainer Hertwig, Lufthansa Systems Infratec GmbH, GERMANY.
Change 22.064 -Executing "MONTHBLD" on ASCII platforms caused errors, as
AUTOEXEC it was designed to run on "MVS", with RECFM=FB, which SAS
MONTHASC does not honor on ASCII; it presumed MVS JCL provided the
INSTALL required //DUMMY DD'; it created the MONTHPDB in "tape"
Apr 2, 2004 (sequential) format, to eliminate MVS tape mounts, etc.
This new MONTHASC member executes under ASCII and creates
a "disk" format SAS Data Library, but it also executes on
"MVS", and it may be preferred there, now that Virtual
Tape drives have eliminated most of the concerns about
tape mounts, and the "disk" format library with directory
is much faster to access a single dataset; furthermore,
the "disk" format PDB can be migrated to tape by HSM!
-AUTOEXEC member was revised to add LIBNAME DUMMY, which
is used for "dummy" datasets in MONTHASC.
-INSTALL for MXG install under ASCII was revised to note
that you need to create c:\mxg\dummy directory and the
c:\mxg\userid\instream.sas file, if you did not copy the
MXG product from CD-ROM (that directory and file are now
created on the CD-ROM).
Thanks to Joe Keey, BOC, ENGLAND.
====== Changes thru 22.063 were in MXG 22.03 dated Apr 2, 2004=========
Change 22.063 The delay percentages in TYPE72GO are calculated by using
VMAC7072 R723CTSA, execution samples, if it is non-zero as the
Apr 1, 2004 denominator, replacing VALDSAMP. But PCTDLTDQ, pct total
delay including batch, when there was batch queueing is
incorrect, because in that case, VALDSAMP and R723CTSA
can be major-different (R723CTSA=7, VALDSAMP=202,206!),
so the calculation of PCTDLTDQ is now based on VALDSAMP
instead of R723CTSA, to get a sensible percentage!
Thanks to Phil Baxter, CGEY, ENGLAND
Thanks to Simon Bolland, CGEY, ENGLAND.
Change 22.062 When REPORT=ALL is specified, the HTTP report abends with
ANALRMFR ERROR: FILE WORK._LTY1031 DOES NOT EXIST. The HTTP report
Apr 1, 2004 logic was not included in the "ALL" logic, but now it is.
Thanks to David Klein, DOITT - City of New York, NY.
Change 22.061 Cosmetic. VARIABLE QWGTDSC1 IS UNINITIALIZED had no
UDB2GTF impact; it was in a Debugging PUT that was not executed.
Apr 1, 2004 This UDB2GTF utility is required as a pre-step to convert
GTF 256-byte "chunks" into readable VB records, which can
then be read by MXG. The output DDNAME of UDB2GTF is
GTFOUT, so to process that converted file, you would use
%READDB2(GTF=GTFOUT,IFCIDS=ALL) to create all possible
DB2 datasets and populate those found in your data.
Thanks to George French, Liberty Mutual, USA.
Thanks to John Pierce, Liberty Mutual, USA.
Change 22.060 -The ARRAYs added in TYPETPMX in MXG 21.21 cause horrific
EXTPMACT CPU time increases, from 3 Minutes to 71 Minutes for
EXTPMAFF TYPETPMX to read 4 million SMF records (4GB), of which
EXTPMAFT only 16,000 (70MB) were TPM records. (Processing the SMF
EXTPMBFR file of only those 16K TPM records took 3 CPU minutes.)
EXTPMBND The ARRAYs were used to store the variables that can have
EXTPMBVL multiple instances (like the list of VOLSERs used), and
EXTPMDEA you had to update IMACTPMX to tell MXG the maximum number
EXTPML10 of instances of each of the arrays. The problem is that
EXTPML11 real variables were defined in each array, and that was
EXTPML12 the cause of the CPU increase; for real variables, SAS
EXTPML13 initializes each array variable before each SMF record
EXTPML14 is read. Using _TEMPORARY_ instead of real variables
EXTPML15 eliminated the CPU hit, as did removing the ARRAYs and
EXTPML16 their references.
EXTPML17 -With real variables in an ARRAY, SAS initializes every
EXTPML18 one of the variables for each new SMF record, even for
EXTPML19 the non-TPM SMF records that are skipped after their ID
EXTPML20 in INPUT and tested, before any arrays were referenced.
EXTPML21 -The only solution was to completely rewrite TYPETPMX and
EXTPML22 eliminate the use of real variable ARRAYs, and instead,
EXTPML23 create 34 new TPMxxxxx datasets, one for each variable
EXTPML24 that can have multiple instances, keeping the instanced
EXTPMLL1 variable and JOB JESNR SMFTIME SYSTEM variables so you
EXTPMLL2 can select and report, or use those key variables to
EXTPMLL3 JOIN the instanced dataset with TYPETPMX if needed.
EXTPMLL4 There is a counter variable in TYPETPMX for each of the
EXTPMLL5 instanced variables to tell you if there are instances.
EXTPMLL6 -The %LETs that you were required to update in IMACTPMX,
EXTPMLL7 which told MXG the maximum number of instances are no
EXTPMLL8 longer required and were removed ("a Good Thing"), as
EXTPMLL9 were the now-unnecessary DROP statements in the EXTYTPMX
EXTPMLLM exit member for those instanced variables. And TYPETPMX
EXTPMLMT dataset now has only 480 variables, but you may have to
EXTPMVVL revise your TPMX reports as a result of this redesign.
EXTYTPMX -Before TYPETPMX was redesigned, a circumvention was seen
IMACTPMX possible: my changing the hardcoded INFILE SMF ... in the
VMACSMF MACRO _SMF definition in VMACSMF to INFILE &SMF ..., and
VMACTPMX transparently adding %LET SMF=SMF in VMXGINIT, you could
VMXGINIT then change the INFILE name "on the fly", and could use
Apr 1, 2004 the MACFILE exit to send the TPM records to a temp file,
and then use "TYPETPMX" only against the TPM records:
// EXEC MXGSASV9
//SMF DD YOUR.SMF,DISP=SHR
//SMFOUT DD UNIT=SYSDA,SPACE=(CYL,(200,200))
//SYSIN DD *
%INCLUDE SOURCLIB(VMACTPMX); /*defines _IDTPMX*/
%LET MACFILE=
%QUOTE(
IF ID=_IDTPMX THEN DO;
FILE SMFOUT DCB=SMF;
PUT _INFILE_;
FILE LOG;
END;
);
%INCLUDE SOURCLIB(BUILD001);
RUN;
%LET MACFILE= ;
%LET SMF=SMFOUT;
%LET PTYTPMX=PDB;
DATA _VARTPMX; _SMF; _CDETPMX; RUN;
%INCLUDE SOURCLIB(BUILD002,BUILD003,BUILD004,BUILD005)
Although this specific need to change the SMF infile to
use the temporary SMFOUT file is no longer needed with
the revised TYPETPMX support, it was left in place for
possible future use.
Thanks to Richard S. Ralston, Humana, USA.
Change 22.059 New CICS/TS 2.3 Pool variables were added using reserved
VMAC110 fields in STID=60 subtype 2 SMF 110 stat record, but were
Mar 30, 2004 not input (no vertical bars in CICS Data Areas!):
Mar 31, 2004 DSGMMWTS DSGMMWTM DSGCMMWS DSGPMWWS DSGCMMWT
DSGTOTMT DSGTOTMW
DS2MMWTS DS2MMWTM DS2CMMWS DS2PMWWS DS2CMMWT
DS2TOTMT DS2TOTMW
DS3MMWTS DS3MMWTM DS3CMMWS DS3PMWWS DS3CMMWT
DS3TOTMT DS3TOTMW
These new variables measure TCB Mismatch Waits/durations
and MVS Storage Waits/durations, and are output in the
CICDSPOO datas for the three pools.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 22.058 -Temporary variable SHFTTIME should have been DROPed in
IMACSHFT IMACSHFT when it was added by Change 21.204; now it is
VMACTMDB DROPped so it will not be kept in any MXG dataset.
Mar 29, 2004 -Variables added to ASG Monitor for DB2 in Change 21.237
were not labeled.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 22.057 -Support for the optional ESS fields in TYPE57J2, for JES2
VMAC57 sysout transmission between NJE nodes; the ESS variables
Mar 29, 2004 are now (optionally) created if your IMAC6ESS member has
been tailored (comment block removed) to keep them.
-Six undocumented variables SMF57C1-C3 and SMF57N1-N3 are
decoded from the 28 bytes following SMF57TUL; they will
be re-labeled if their documentation can be located.
-SMF 57 is created when sysout was sent thru this JES2 NJE
node, but it counts only the number of logical TP records
(which may or may not count actual lines or images!).
-The SMF 57 record is also created by unisys's DEPCON
(output management tool), which routes print from unisys
to the z/OS print queue. While actual lines printed may
not be available, at least the destination printer is
available, but as there is no MVS "job" that created the
output, merging with BUILDPDB for unisys print accounting
is not really possible.
Thanks to Rainer Hertwig, Lufthansa Systems Infratec GmbH, GERMANY.
Change 22.056 Q3STHWIB variable should still be good; UNINIT Q3STHIWB
VMACDB2 note caused by a typo, but code is executed only if field
Mar 26, 2004 wrapped, and the next interval's Q3STHIWB value is valid.
Thanks to Lori A. Masulis, FMR, USA.
====== Changes thru 22.055 were in MXG 22.02 dated Mar 24, 2004=========
Change 22.055 TYPE42DS variable AVGIOQMS=RESP-PND+DIS+CON+CUQ is often
VMAC42 a negative 0.128 milliseconds, which is one clock tick in
Mar 24, 2004 the type 42 "clock", and AVGIOQMS is at best an estimate
of an average value. Since this is a calculated value,
rather than a value in an SMF record, I think it wise to
just set these negative values to zero, and document what
I've done here, so you don't get sidetracked by the small
negatives; the max AVGIOQMS was 902 Millisec/SIO.
Thanks to Ron Alterman, PGE, USA.
Change 22.053 Cosmetic. The MXG-created character variable CPCFNAME
VMXGRMFI was inconsistently built, sometimes with a dash 2064-2C8,
VMXG70PR sometimes without, 20642C8. It now always has the dash.
Mar 24, 2004
Thanks to Kenneth D. Jones, xwave, CANADA.
Change 22.052 PDB.STEPS can have some EXCP, IOTM, TAPEDRVS, TAPNMNTS
BUILD005 and TAPSMNTS counts from one step of a job output in the
BUIL3005 previous step of that job, if both steps have exactly the
VMAC30 same INITTIME: the first step was FLUSHED (condition code
Mar 23, 2004 bypass), so it was never initiated, nor allocated, nor
executed), AND, the next step initiated instantaneously,
without any delay, in the same 10 millisecond clock tick.
MXG's BUILDPDB logic was revised to use INITTIME STEPNR
instead of INITTIME to separate the two steps, so these
I/O counts are now output in the correct PDB.STEPS obs.
While I/O counts were in the wrong PDB.STEPS observation,
the values were correct, so the PDB.JOBS observation did
have the correct total I/O counts for the job (although
the TAPEDRVS count could have been incorrect). Also, in
PDB.STEPS the STEPNR was not equal to variable STEP (but
that is normal for restarted jobs, as STEP is a counter
of steps executed, and restarted jobs will have multiple
instances of the same STEPNR with different STEP values).
-Member VMAC30 had to be changed to add STEPNR to KEEP=
list for the TYPE30TD dataset.
Thanks to John R. Parla, CIGNA, USA.
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Paul E. Cohen, CIGNA, USA.
Change 22.051 The Multi-System Remote Enclave CPU segment is 80 bytes
BUILD002 instead of the 20 bytes documented in SMF; I have guessed
VMAC30 what some of the fields contain, but the MRENxxxx names
Mar 22, 2004 will likely be changed when I understand what's what.
Mar 24, 2004 But assuming the data is eventually valid, I have added
Jan 12, 2005 _STY30MR to the BUILD002 so that PDB.TYPE30MR will now be
automatically created in the PDB library in BUILDPDB/PD3.
-Jan 12, 2005: This Change was COMPLETELY wrong; the code
was completely revised by Change 22.345, with correct
SMF30MRx variable names.
Thanks to Chuck Hopf, MBNA, USA.
Change 22.050 IRD caused wrong PCTCPUBY in TYPE70 and RMFINTRV datasets
VMAC7072 for intervals in which engines were varied offline. The
VMXGRMFI MXG support for IRD should now be complete; it was added
Mar 22, 2004 in these increments for these "CPU-measuring" datasets:
Datasets When MXG Version Change
ASUM70PR/ASUMCEC Sep 22, 2003 21.05 21.170
TYPE70PR Mar 11, 2004 22.01 22.011
TYPE70,RMFINTRV Mar 22, 2002 22.02 22.050
MXG accumulated CPUWAITM for each engine only when it was
online at the end of interval (CAIx='01'B), but when IRD
varies an engine CAIx='11'B, so CPUWAITM for that engine
was not added, causing CPUACTTM and PCTCPUBY both to be
too large. Now, CPUWAITM is accumulated if SMF70ONT is
non-zero (i.e., the engine was used, a stronger test).
-An unrelated error in the first RMF interval after an IPL
was also detected and corrected. The first records have
their interval DURATM greater than SMF70ONT, but CAI0=01
so engines were not varied off. For one IPL, the 25 sec
difference caused PCTCPUBY and CPUACTTM to be NEGATIVE!
These first interval records have short DURATM because
RMF is synchronizing with time of day:
IPL TIMESTAMP STARTIME DURATM SMF70ONT
22FEB04:02:15:05.95 02:19:12.00 0:09:47.39 0:09:24.26
22FEB04:02:22:46.45 02:26:59.00 0:02:00.63 0:01:35.19
22FEB04:01:28:39.42 01:31:52.00 0:12:07.05 0:11:39.81
I conclude that RMF starts to count DURATM before engines
are available for use, so MXG now uses SMF70ONT (if it is
non-zero) instead of DURATM to correct IBM's error.
-Variable CPUPDTTM is added to PDB.RMFINTRV. (It was the
validation of this user request that exposed the prior
MXG error!).
Thanks to Kenneth D. Jones, Xwave, CANADA.
Change 22.049 Variable TMNTUSER added to the Mount record is actually
VMACTMNT the existing LOCLINFO variable (in all JOB-related SMF
Mar 21, 2004 records), so TMNTUSER variable no longer exists.
Change 22.048 If SPF Statistics are enabled, the MXG.SOURCLIB PDS will
JCLINSTL now require 1199 directory blocks; JCL examples with 999
JCLTEST9 blocks were increased to 1199. Without SPF statictics,
COVERLTR only 399 blocks are required.
Mar 21, 2004
Thanks to Peter Giles, Centrelink, AUSTRALIA.
Change 22.047 -Datasets QAPMTCP and QAPMIFC were not automatically built
TYPEQACS by TYPEQACS/TYPSQACS, so they were not listed in DOCVER.
TYPSQACS -Variables PCTCPUBY NRCPUS were not labelled in QAPMSYSL.
VMACQACS -Variable INTSEC was not kept in QAPMTCP nor QAPMIFC.
Mar 21, 2004
Thanks to Chris Weston, SAS ITRM, USA.
Change 22.046 %VMXGTIME was invoked before SYSTEM had been input in two
VMACRMFV places; the %VMXGTIME and IMACSHFT invocations were moved
Mar 20, 2004 to below the INPUT of variable SYSTEM.
Thanks to Michael Oujesky, MBNA, USA.
Change 22.045 Dataset PDB.DB2STATB was not protected for wrap of 4-byte
VMACDB2 counters, which caused negative values in variables like
Mar 20, 2004 QBSTDPP,QBSTGET,QBSTRIO,QBSTSGT,QBSTSPP,QBSTSWS, all of
which can have very large raw values before their DIF().
All other DB2 variables that are DIF()'d were protected.
This error was introduced in Change 21.140 when DB2STATB
was restructured and I forgot to protect for wrapping.
Thanks to Ron Alterman, PGE, USA.
Change 22.044 The %%INCLUDE SOURCLIB(VGETJESN) should have been only
ANALEPMV one %INCLUDE SOURCLIB(VGETJESN) because it is inside a
Mar 18, 2004 %MACRO statement; two are needed inside MACRO statements.
Thanks to David Klein, DOITT - City of New York, NY.
Change 22.043 APPL records with or without the nine APPRM variables are
VMACMWUX supported in a heuristic test for LENGTH LE/GT 565, based
Mar 18, 2004 on 535/536 length without, 594/595 with, in test data.
Thanks to Miguel Fernandez, Information Services International, USA.
Change 22.042 DB2 Statistics SMF 100 Subtypes 0, 1, and 2 have always
VMACDB2H been written to SMF in order, but because their QWHSSTCK
Mar 18, 2004 datetime values could be fractions apart, I retained STCK
from each 0 into its 1 so DB2STAT0 and DB2STAT1 had the
same value in QWHSSTCK, so they could be MERGEd to create
DB2STATS directly. But now, one site's DB2 6.1 SMF 100
records are completely out of order, with subtype 0 with
an earlier STCK written after that interval's subtype 1
with a later STCK value, and MXG's algorithm to create a
common QWHSSTCK value created this ERROR message:
DB2 TYPE 100 SUBTYPE 1 FOUND AT START OF INPUT FILE.
The error corrupts the DB2STATS0,DB2STATS1 and DB2STATS
datasets; QWHSSTCK will have wrong values, and subtype 1s
from one interval may be merged with subtype 0 from next
interval in the DB2STATS dataset, and negative values in
DB2STATB dataset may result when this message is printed.
-The QWHSSTCK logic now recognizes the start of interval
as a delta of 10 seconds, and the first record's STCK is
now stored in QWHSSTCK for all three STAT subtypes.
-It's only a guess as to why this has not been seen before
but it may be the "tactical" interval of one minute that
exposed the error; for whatever reason, it is now clear
that each of these subtypes are created by independent
subtasks, so their physical writes are not in any order,
and my ASSUMEption of order was wrong.
Thanks to Ron Alterman, Pacific Gas and Electric, USA.
Change 22.041 If you EXCLUDEd variable OPERATOR or TERMINAL in CICS SMF
ASUMCICS and if you used ASUMCICS (which we no longer recommend)
Mar 17, 2004 to create PDB.CICS, the length of OPERATOR and TERMINAL
are now $1, but they were $4 in previous versions. This
can cause a warning if you combine PDB.CICS datasets in
your MONTHBLD that were built with two different versions
of MXG. This change restores the length to $4 for both.
See Change 21.xxx on why ASUMCICS may not be the
right program to use.
Thanks to Gary Keers, AES, USA.
Change 22.040 The ANALALL example, which selects all SMF records from a
ANALALL JOB(s), creates all MXG datasets from those SMF records,
Mar 17, 2004 and then prints all observations and all variables, can
also be used to create an SMF output VBS file with all of
the selected SMF records. Comments in the member show
how to add
FILE SMFOUT DCB=SMF;
PUT _INFILE_;
FILE LOG;
after the IF JOB=: selection in %LET MACJBCK=, and how
to add an //SMFOUT DD statement for those records.
Thanks to Alex Puno, LACO, USA.
Change 22.039 If you use the _N42 macro to null data set creation, the
VMAC42 _WTY4237 null definition was missing; it has been added.
Mar 16, 2004
Thanks to Jon Whitcomb, Great Lakes Educational Loan Services, USA.
Change 22.038 ML-31 of the Exit-Based MXG Tape Mount, Allocation, and
ASMTAPEE Allocation Recovery monitor corrects GMT timestamps that
Mar 15, 2004 should have been on the local clock, and supports an IBM
Mar 25, 2004 MSC APAR that changed bit meanings. The MXGTMNT DIAG
command provides additional diagnostics in its WTO text,
but will also write a "dump" to a file (for sites where
taking a "system dump" is political issue), if there is
an MXGDUMP DD included in the monitor program's JCL:
//MXGDUMP DD RECFM=FB,LRECL=4160,BLKSIZE=4160,
// UNIT=SYSDA,SPACE=(CYL,(100,100)),
// DISP=(,CATLG),DSN=YOUR.CHOICE
The DIAG command is issued from a console:
F jobname,DIAG
where jobname is the "job" name of the MXGTMNT monitor.
-The IBM IEF-VOLUME-MNT exit in our Exit-Based logic is
not called by StorageTek's HSC software, so you will NOT
see any mount records with HSC with MXIT=YES in ML-31.
Now that we've examined the dump and saw that STK did not
call the IBM exit, and knew who/what to ask, STK has been
very cooperative in providing documentation of HSC, so I
believe it is only a matter of time (weeks?) before our
"asmguy@mxg.com" will develop the needed enhancement to
support both HSC and IBM tape mounts with MXIT=YES.
April 1, 2004.
Change 22.037 Support for NetMaster subtype 5000x record, Performance
EXNETM50 Monitoring record.
IMACNETM
VMACNETM
VMXGINIT
Mar 24, 2004
Thanks to Andy Creet, Department of Defence, AUSTRALIA.
====== Changes thru 22.036 were in MXG 22.01 dated Mar 11, 2004=========
Change 22.036 The MG070CP format, used only if you are still on OS/390,
FORMATS or running z/OS on a non-zSeries machine, was updated for
Mar 11, 2004 the 2066-E1 and 2066-X2 processors.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Thanks to Edward Ogonosky, Blue Cross Northeast PA, USA.
Change 22.035 The z/VM MONWRITE "User" dataset, VXBYUSR, was left in
VMACVMXA the //WORK file and was not written to the //PDB, but now
VMXGINIT is; this is the dataset with interval data for each CMS
Mar 11, 2004 "user", i.e., each VM Machine, and is THE dataset to use
to track individual Linux-under-VM machine activity. Only
the default output "DDname" was changed.
Thanks to Reinhard Kelm, GAD, GERMANY.
Change 22.034 -Support for Candle optional CANADABN and CANADABT fields
IMACICD4 (for Adabas Count/Duration variables of same NAME) is
IMACICD5 added. UTILEXCL will detect and tell you to open the
UTILEXCL comments in the appropriate IMAC, if fields exist in your
VMAC110 CICS SMF 110 records, with Candle's additions.
Mar 10, 2004
Thanks to James Hein, Erie Insurance, USA.
Change 22.033 -Support for XIDTYP='A' ADAPATER record in new QAPMIOP5
EXQAPIO5 dataset.
IMACQACS -Correction for LRECL=359 QAPMIOPD record which has an
VMACQACS extra byte betwen XIDTYP and XIDTA1.
VMXGINIT
Mar 10, 2004
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 22.032 Support for Endeavor Release 4.0 user SMF (INCOMPATIBLE,
VMACENDV because ELEMT, DSNAME, and DSMEM fields were relocated.
Mar 10, 2004 The Action Record (subtype 2) has been validated with
new data; the Block Header's record version had to be
used to identify the new format record because C1VER was
not changed (only has before/after 2.5), and SM2RECVN is
'01' in the new records. The Security Record (subtype 2)
also had incompatible changes, and has been coded, but no
subtype 1 records have been validated. The DSECT shows
a subtype 3 (ESI Exception) and a subtype 4 (MCF CHANGES)
but there is no sub-DSECT for those records; if a 3 or 4
is found, MXG will print one record on the log.
Thanks to John Paul, Highmark, USA.
Change 22.031 The ASUMJOBS logic calculated the Initiation Wait Time as
ASUMJOBS IWT=INITTIME-JRDRTIME, but JRDRTIME is only in the Purge
Mar 9, 2004 record, so a PDB.JOBS observation that did not have a
Purge record (probably because member IMACSPIN had not
been tailored to change MXG's SPINCNT=0 default) had a
missing value for JRDRTIME, causing IWT to be missing.
This caused the summarized observations in PDB.JOBSKED to
have incorrect bucket percentages because IWT missing was
counted as a zero-wait job. It also caused IWT (summed)
to be equal to IWTMAX in some obs that had NUMJOBS more
than one (but closer examination showed that these case
actually had had only one job with non-missing IWT!).
The IWT calculation was revised; if JRDRTIME is missing,
IWT=INITTIME-SUM(READTIME,RDRTM) is used, as those data
are in the JOB Termination record. And if the IWT is
still a missing value, that job will be deleted.
Thanks to Miguel F. Montferrer Carvajal, RSI EDS, ESPAGNE.
Change 22.030 Support for DF/SMS Storage Class Exit User SMF record,
EXSMSXSC written at Storage Class assignment, so you can examine
FORMATS how your ACS rules actually perform. New dataset:
IMACSMSX dddddd Dataset Description
TYPESMSX SMSXSC IGDACSSC DF/SMS STORAGE CLASS EXIT
TYPSSMSX I arbitrarily only output the first six VOLSERS of the
VMACSMSX possible 1464 volumes that a dataset can have, until
VMXGINIT someone needs all of them!. I was unaware of that limit.
Mar 9, 2004
Thanks to Tobias Cafiero, Depository Trust and Clearing Company, USA.
Change 22.029 Support for new SMF 117 record from WBIMB, WebSphere
EX117FLO Business Integration Message Broker creates four new
EX117THR datasets:
EX117NOD dddddd Dataset Description
EX117TRM 117FLO S117FLOW MESSAGE FLOW
FORMATS 117THR S117THRD THREAD
IMAC117 117NOD S117NODE NODE
TYPE117 117TRM S117TERM TERMINAL
TYPS117 Data for FLOW, THREAD, and NODE have been validated.
VMAC117
VMXGINIT
Mar 8, 2004
Thanks to Victoria LePak, AETNA, USA.
Thanks to Jeff Martens, AETNA, USA.
Change 22.028 The BY-list-macro _BCICRDQ for new CICSRDQU had TSQNAME,
VMAC110 but that should have been TSQUEUE. This misspelling was
Mar 5, 2004 missed because CICSRDQU is not sorted by default.
Thanks to Chris Weston, SAS ITRM, USA.
Change 22.027 -Variable SM120WIP is a count, not a duration; it is input
VMAC120 now as &PIB.4. instead of &PIB.4.3, and is no longer in
Mar 5, 2004 the TIME13.3 format list.
Mar 10, 2004 -For subtype=7, MXG output only the first server segment
from web application section, causing the counts in the
web activity TYP120WA dataset to be wrong, and much lower
than corresponding web interval counts in TYP120WI. All
server segments are now output.
Thanks to Andre Baltimore, Unigroup Inc, USA.
Change 22.026 Cosmetic. The time-of-day when the read of the SMF file
VMACSMF ended is now printed in the "SUCCESSFULLY READ SMF FILE"
Mar 4, 2004 message on the SAS log.
Change 22.025 The JCL Procedure for MXG and SAS execution for SAS V 9.1
MXGSASV9 is slightly different than the original SAS V9.0 JCL. The
Mar 4, 2004 entry point is SAS, the "BATCH" config member is BATWO,
and the DSNAMES are now .WO.AUTOLIB, .ENW0.SASHELP, and
.ENW0.SASMSG.
Thanks to Ed Finnell, University of Alabama, USA.
Change 22.024 This text just documents all of the names of %MACROs that
doc are currently defined anywhere in MXG source code.
Mar 4, 2004 ACTIVITY ANAL115 ANAL94 ANALAVAI ANALBLSR ANALCISH
ANALCNCR ANALDB2C ANALDB2R ANALDBTR ANALDMON ANALEPMV
ANALHSM ANALMNTS ANALNPMR ANALRMFR ANALTCP ANALUOW
ARGS BITCHECK BLDNTPDB BLDSMPDB CALCPOLC CDE_BCR
CDE_BVR CDE_DCL CDE_DCR CDE_DGN CDE_DSR CDE_DVL
CDE_L2CR CDE_MC1 CDE_MCA CDE_MCB CDE_MCC CDE_MCD
CDE_MCM CDE_MCO CDE_MCP CDE_MCR CDE_MCT CDE_MCU
CDE_MCV CDE_MHCR CDE_TTOC CDE_VAC CDE_VSR CECLEVEL
CHART CHKWORK CICCONSM CICDLIR CICDUMP CICFILE
CICSTOR CONVERT COPYIT CPUGRAF DASDGRPH DB2DBID
DB2RSELA DB2RSORT DBUGDB2C DEVTYPE DISKREPT DMIDET
DMISUM DMONREP1 DMONREP2 DMONREP3 DMONREP4 DOMAIN
DSNUPDT DSNUPDT DSNUPDT DT EMAIL EPIVARS
EXTRACT FACILITY FINALRPT FTPDATA FTPRPTD FTPRPTS
GENFTP GETHEX GETOBS GETSUM GRAFDB2 GRAFHSM
GRAFLPAR GRAFREGR GRAFRMFI GRAFTALO GRAFTAPE GRAFTMNT
GRAFTRND GRAFWORK GRAFWRKX GROUP HEADALL HSMBALL
HSMDELT HSMDELU HSMMALL HSMMMIG HSMMTYP HSMPALL
HSM_SUMT HTTPDTL HTTPSRY IMFDLCHA IMFDLSRT IMFDLTRX
INTVREPT IOSTAT IPHOST IPHOSTF LBLCLS LDSKREPT
LOOP LPARSUM MIGSGRPH MMRYREPT MNMXTIME MONTH
MONTHMTD MQMBUF MQMCFS MQMDB2 MQMLOG MRPDBCMD
MXGCAH MXGCF MXGCHAN MXGCOMM MXGCPU MXGDAY1
MXGDEVC MXGDOMI MXGENQU MXGHTTP MXGIOQU MXGPAGE
MXGPGDS MXGSDV MXGSMRY MXGVDAIL MXGVHOUR MXGVSTOR
MXGVUSAG MXGWKLD MXGWLMG MXGXCF NETWREPT NODATA
NPMSMR01 NPMSMR02 NPMSMR03 NUMTYPE OBSCHEK OBSCHEK1
OPTIONS OUT_BCR OUT_BVR OUT_DCL OUT_DCR OUT_DGN
OUT_DSR OUT_DVL OUT_L2CR OUT_MC1 OUT_MCA OUT_MCB
OUT_MCC OUT_MCD OUT_MCM OUT_MCO OUT_MCP OUT_MCR
OUT_MCT OUT_MCU OUT_MCV OUT_MHCR OUT_TTOC OUT_VAC
OUT_VSR PCSRREPT PERIOD PMACC01 PMACC02 PMAUD01
PMAUD02 PMAUD03 PMIOS01 PMIOS02 PMIOS03 PMIOS04
PMIOS05 PMLOK01 PMLOK02 PMLOK03 PMLOK04 PMSPR01
PMSQL01 PMSQL02 PMSQL03 PMSQL04 PMSTA01 PMSTA02
PMTRC01 PMTRC02 PMTRN01 POLICY PRINTIT PRINTNL
PROCESS PROFILE PRT_BCR PRT_BVR PRT_DCL PRT_DCR
PRT_DGN PRT_DSR PRT_DVL PRT_L2CR PRT_MC1 PRT_MCA
PRT_MCB PRT_MCC PRT_MCD PRT_MCM PRT_MCO PRT_MCP
PRT_MCR PRT_MCT PRT_MCU PRT_MCV PRT_MHCR PRT_TTOC
PRT_VAC PRT_VSR PSSTAT RCLASS RDCAT READDB2
READMAP READMXG READREC READSAR REAL REG
REPDATE REPLAY REPORT REPORTS RESP RPTAUSS
RPTCONSM RPTDLIR RPTDUMP RPTFILE RPTJCR RPTLDG
RPTLDR RPTLGR RPTLGS RPTLSRFR RPTLSRR RPTNQG
RPTRMG RPTTCR RPTTSR RPTXMR SCLASS SCPER
SELECT SELTM SMBVTOC SMBVVDS SORTPDB SORTPDB
SPLITCHK SPMAP SRIF SRVPOLCY STM SUMRIZE
SUMTAB TEMP TEMPDB2 TESTLONG TESTN TESTSITE
TIMEBILD TMP70PR TNDATA TNRPTD TNRPTS TRENDIT
TRNDDB2A TRNDDB2B TYP30DD TYP_HDR TYP_HDR2 UDUMPEBC
UNIXTOP USERID USERS UTILBLDP UTILCONT UTILCVRT
UTILPRIN UTILRMFI UTILXRF1 V6COMPCL V6COMPEN VAR_BCR
VAR_BVR VAR_DCL VAR_DCR VAR_DGN VAR_DSR VAR_DVL
VAR_L2CR VAR_MC1 VAR_MCA VAR_MCB VAR_MCC VAR_MCD
VAR_MCM VAR_MCO VAR_MCP VAR_MCR VAR_MCT VAR_MCU
VAR_MCV VAR_MHCR VAR_TTOC VAR_VAC VAR_VSR VAXLOOP
VAXNUM VGETDDS VGETDSN VGETENG VGETOBS VGETSORT
VMACFRYE VMSTAT VMXG2DTE VMXG344 VMXG70PR VMXGCC
VMXGCHR VMXGCICI VMXGCOMP VMXGCON VMXGDEL VMXGDKRN
VMXGDOWN VMXGDSNL VMXGDUR VMXGENG VMXGETM VMXGEXP
VMXGFOR VMXGGETM VMXGGMT VMXGGOPT VMXGINIT VMXGINV
VMXGJFCB VMXGLBIN VMXGLRC VMXGLRF VMXGLRI VMXGLRO
VMXGLRV VMXGMLST VMXGOPTR VMXGPPDS VMXGPRAL VMXGPRO
VMXGRFM VMXGRFV VMXGRMFI VMXGSET VMXGSUM VMXGTAPE
VMXGTIME VMXGTPFI VMXGUOTT VMXGUOW VMXGUOWC VMXGUOWL
VMXGUOWT VMXGUSE VMXGVBS VMXGVTOC VMXGVTOF VMXGVTOR
VMXGWORL WEEKBLD WEEKWTD WGPER WGROUP WKLDUPDT
XMINX _MTG01 _MTG02 _NDMMAKE _VRD30
Change 22.023 No Change, doc only. PCHANBY over 100% for SMF73ACR='OSD'
VMAC73 channels occurs but variable VARIED='Y' (bit 6 SMF73FG2)
Mar 4, 2004 is true in those obs. The SMF manual says for bit 6:
"Data Recorded is incorrect because channel path was
reconfigured during the interval". While I could chose
to not calculate fields, it has always been my policy to
give you whatever IBM puts in the record, so you can then
chose to keep or not to keep that observation in reports.
And, hopefully, the larger-than-100% value will cause you
to find this note, understand why, and then take actions
for your installation to delete those observations from
your reports.
Thanks to Frank DeBree, DEXIA, BELGIUM.
Change 22.022 -Variable LOSU_SEC (unweighted service units per second of
BUILD005 the hardware platform where this step executed) is kept
BUIL3005 in PDB.STEPS and PDB.JOBS.
VMAC30 -Two new service-unit-based CPU variables are created in
Mar 4, 2004 TYPE30_x, PDB.SMFINTRV, PDB.STEPS, and PDB.JOBS datasets;
so they can be compared with the SMF-recorded TCB and SRB
fields:
SRVTCBTM='SERVICE*UNIT*BASED*TCB TIME'
SRVSRBTM='SERVICE*UNIT*BASED*SRB TIME'
The CPUUNITS, SRBUNITS & LOSU_SEC are in SMF 30 records,
but the CPUCOEFF/SRBCOEFF coeffs are not. They are only
in RMF 72s, but since they almost never are changed, the
new variables use macro variables which default to ONE,
a very common weighting value. You MUST override default
coefficients, using these %LETs in IMACKEEP or //SYSIN:
%LET CPUCOEFF=10;
%LET SRBCOEFF=10;
if CPUCOEFF and SRBCOEFF in TYPE72/TYPE72GO are not one.
Note: IBM added those coefficients into the SMF 30 record
with APAR OA09118, and they will be used if that
APAR has been installed. See Change 22.341.
Cheryl Watson suggested using SU-based CPU time instead
of SMF CPU time, because SUs have more precision than the
.01-second SMF resolution, and truncation of those extra
decimal places added up to a few hours of CPU per month.
I examined 879 step records (z/OS 1.5), and did find 216
steps with SRV TCB/SRB CPU times greater than their SMF
TCB/SRB CPU times, but the max delta was only 0.0069 secs
and the "extra" SRV time, due only to truncation, was a
total of only 0.62 seconds for those 216 steps.
However, I also found there were 377 other steps that had
SMF TCB/SRB CPU time greater than SRV CPU; 38 steps had
deltas of over 1 second, and the total SMF CPU captured
was 168 seconds more than the SRV captured CPU time, so
replacing the SMF CPU with the SRV CPU seems unwise.
But what does make sense, now that I have the variables,
is to use the maximum TCB/SRB time, so any decimals that
would have been truncated won't be, creating new variable
CPUTOTTM='TOTAL CPU*MAX TCB,SRB*FROM SMF OR SU'
with this equation in SMF 30 processing:
SUM(MAX(SRVTCBTM,CPUTCBTM),MAX(SRVSRBTM,CPUSRBTM),
CPITCBTM,CPISRBTM,CPURCTTM,CPUHPTTM,CPUIIPTM);
However, remember that CPUTOTTM is COMPLETELY DEPENDENT
on you having %LET correct CPUCOEFF and SRBCOEFF values,
if your coefficients are not the MXG default of one.
-Now, see also the text of Change 22.265.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 22.021 -Job delay variables SMF30HQT/JQT/RQT/SQT should not have
VMAC30 been created in TYPE30_V,PDB.SMFINTRV,TYPE30_6 interval
Mar 3, 2004 datasets from subtype 2,3,6 type 30 records, because they
Mar 8, 2004 are job-level, and not interval-level. Their value is
Mar 12, 2004 now always set to a missing value for those records.
-TYPE30_4 dataset, those job-related variables will now be
missing except in the STEPNR=1 observation.
-TYPE30_5 dataset, those job-related variables will now be
missing if TYPETASK IN ('STC','OMVS'), as they are not
"jobs that are initiated".
-No changes were made to BUILDPDB code; those variables
are summed from their TYPE30_5 observation(s) into the
PDB.JOBS dataset, so they will be non-zero if variable
INBITS contains a "J" in the third character, indicating
that a 30-5 job termination was found for this job.
-Variable SMF30PF2, flag byte 2 is now kept.
-Jobs run under CA's JobTrack control have zeros for these
variables in their type 30-5 record, even though they are
non-zero in step records, but it is not JobTrack's error.
We now find that ANY job that has a flushed last step has
zero values for SMF30HQT/JQT/RQT/SQT in the job's SMF 30
subtype 5, even when the step records have non-zero
values; JobTrack showed up because it adds a non-executed
step at the end of every job under its control for
tracking information! The zero values, I believe, are an
IBM error in failing to propagate the values when the
last step is flushed, and a problem report will be opened
with IBM; this note will be updated when IBM replies.
Thanks to Bret Hoesly, TDS, USA.
Change 22.020 The example to create only DB2ACCT.DB2ACCT & PDB.DB2STATS
ADOCDB2 fails with ERROR: FILE WORK.SUMSTATB DOES NOT EXIST. The
Mar 2, 2004 redesign in Change 21.140 moved the interval statistics
for buffers into DB2STATB, which is now required as input
to create the desired PDB.DB2STATS summary dataset. The
example now creates DB2STATB, DB2STAT0, and DB2STAT1 so
PDB.DB2STATS can be created, but they are written to the
//WORK file, so only the two desired datasets are kept.
//SYSIN DD *
%LET PDB2ACC=DB2ACCT;
%LET PDB2ST0=WORK;
%LET PDB2ST1=WORK;
%LET PDB2STB=WORK;
%LET MACKEEP=
%QUOTE(
_NDB2
MACRO _WDB2ACC _LDB2ACC %
MACRO _WDB2ST0 DB2STAT0 %
MACRO _WDB2ST1 DB2STAT1 %
MACRO _WDB2STB DB2STATB %
MACRO _SDB2 _SDB2STB _SDB2STS %
MACRO _SDB2ACP %
MACRO _SDB2ACB %
MACRO _SDB2ACG %
MACRO _SDB2PAT %
MACRO _SDB2ST2 %
MACRO _SDB2STR %
MACRO _SDB2PST % );
%INCLUDE SOURCLIB(TYPSDB2);
RUN;
Thanks to John Croasdale, Abbey National, ENGLAND.
Change 22.019 -Variables STARTIME and DURATM are now created in each of
VMAC119 the 119 interval statistic datasets, TYP11905, TYP11906,
Mar 3, 2004 TYP119A7, and TYP119B7. There are four duration variables
in TYP11905, but all have identical values in test data,
so DURATM is set to the MAX of the four variables. Some
labels were revised and misspellings corrected. All other
TYP119xx datasets are events, rather than intervals, so
they don't contain the STARTIME/DURATM pair.
-Variable TCDURTM and UDDURTM are now divided by 4096 vice
by 496.
-Protective double question mark modifiers were inserted
before the two &NUM.3. inputs for FCLREPLY and FSLREPLY.
Thanks to Chris Weston, SAS ITRM, USA.
Change 22.018 All references to the "SPIN" DDNAME/LIBNAME have been
ASUMTALO replaced with macro variables &SPININ or &SPINOUT, so
ASUMTAPE that input and output can be separate MVS datasets. As
BUIL3005 both macro variables default to "SPIN", this should be a
BUILD005 transparent change. This enhancement is needed by sites
JCLUOWP that run their MXG jobstream under CA's Job Scheduler,
JCLUOWV which requires separate datasets for its recoverability.
SPINSORT To use this enhancement, you would change your JCL to
VMACFRYE // EXEC MXGSASV9
VMXGINIT //SPININ DD DSN=OLDSPIN,DISP=SHR
VMXGRMFI //SPINOUT DD DSN=NEWSPIN,DISP=(,CATLG),...
VMXGUOTT and put your %LETs either in //SYSIN or in IMACKEEP:
VMXGUOW %LET SPININ=SPININ;
VMXGUOWT %LET SPINOUT=SPINOUT;
Mar 2, 2004 -These VMXGRMFI temporary datasets that should have been
deleted, now are:
MERGERMF SORINTRV MSU4HRAV SPUNRMFI MSU4HRMR
MERGEMSU MERGESOR SPUNRMFI
-Typo'd member named VMAGUOTT was discovered and deleted.
Change 22.017 FLASH: BUILDPDB (only-under"MVS") runtime elongation can
VGETENG be significant IF any output libraries (like CICSTRAN or
VMXGRMFI DB2ACCT) are on tape or in sequential format on DASD.
VMXGSUM This problem does NOT affect ITRM's normal job, because
VMXGSUME %CPPROCES/CMPROCES puts everything in //WORK, and ITRM
Mar 2, 2004 doesn't use tape libraries during its "BUILD".
Mar 12, 2004 This problem was introduced in MXG 19.19, when %VGETENG
was added in VMXGRMFI, to test if a //SPIN DD existed.
VMXGRMFI is called by RMFINTRV, which is automatically
included in MXG's BUILDPDB. If you do NOT use tapes for
output in your BUILDPDB job, you don't have this problem.
The PROC SQL with FROM DICTIONARY.MEMBERS in VGETENG gets
the ENGINE of //SPIN, but no WHERE LIBNAME=SPIN clause
was used, so the PROC SQL had to read all LIBNAMEs to
populate the DICTIONARY.MEMBERS table. If your CICSTRAN
and DB2ACCT are both multi-vol on tape, you would have
these mount messages on the BUILDPDB's job log:
hh:mm-hh:mm
SMF Opened, read started 14:25
CICSTRAN Mount-Dismount 5 vols 14:24-16:06
DB2ACCT Mount-Dismount 2 vols 14:24-15:25
SMF Closed, read completed 16:12
VGETENG-remount/read 2 DB2ACCT vols 16:17-16:30
VGETENG-remount/read 5 CICSTRAN vols 16:40-17:09
Total Elapsed time: 164 minutes with re-read.
VGETENG wasted 52 minutes, mounting and reading the seven
tapes! For DASD data libraries, PROC SQL only has to
read the directory of SAS datasets in that library, but
for sequential format libraries, PROC SQL has to read the
entire sequential file, because tape format libraries do
not have a directory of datasets.
And PROC SQL doesn't print any message on the SAS log to
tell you it was the cause of the extra CICSTRAN & DB2ACCT
mounts. The only clue to the elongation are those extra,
and unexpected, tape mount messages on the job's SYSOUT!
Elapsed and CPU time, and EXCPs of your daily job can be
reduced significantly, if you use tape output on MVS in
your BUILDPDB job, with either circumvention:
Immediate circumvention, any of the three fixes:
1. Replace MXG 21.21 with MXG 22.01, now available.
See text of Change 22.017 for lots of details.
2. Change the JCL:
Add ,FREE=CLOSE to the //CICSTRAN and //DB2ACCT and
to any other output DDs that are on tape/seq format.
3. Or, change the MXG source code:
a. EDIT/CREATE member EXPDBOUT in USERID.SOURCLIB
tailoring library, and add a statement:
LIBNAME CICSTRAN CLEAR;
LIBNAME DB2ACCT CLEAR;
for each tape (or sequential format) DDNAME.
b. Or do the same in your //SYSIN stream, using:
//SYSIN DD *
%LET MACKEEP=
%QUOTE( MACRO _EPDBOUT
LIBNAME CICSTRAN CLEAR;
LIBNAME DB2ACCT CLEAR;
%
);
%INCLUDE SOURCLIB(BUILDPDB);
....rest of job....
Discussion of the circumventions:
- Using FREE=CLOSE. This appears to always be safe.
The FREE=CLOSE occurs when CICSTRAN/DB2ACCT/etc are
closed, at the end of reading the SMF file, so PROC SQL
in VMXGRMFI won't see those sequential LIBREFs so they
won't be read. But even if your job does then %INCLUDE
any of the ASUMCICx, ASUMDB2A, or ASUMUOW members that
read those data libraries, SAS is still able to re-open
the LIBREF that was FREE=CLOSEd, without any error.
Like magic!
And using FREE=CLOSE on //SMF DD seems always wise and
courteous, so the device can be available to another.
- Using LIBNAME xxxxxxxx CLEAR; in EXPDBOUT also appears
to be completely safe. EXPDBOUT is a little later than
the close of the SMF file, after a few PROC SORTs, but
the CLEAR closes the LIBNAME so PROC SQL in VMXGRMFI
never sees those LIBNAMES to read, but the allocation
can be re-opened, if, for example, you %INCLUDE any of
the ASUMxxxx's that read DB2ACCT or CICSTRAN.
- With either circumvention, harmless messages are on the
SASLOG for each DDNAME, at deallocation time:
NOTE: DATASET XYZ HAS NOT BEEN DEALLOCATED BECAUSE
IT WAS ALLOCATED EXTERNALLY
NOTE: LIBREF XYZ HAS BEEN DEASSIGNED
- The circumventions do not have to be removed when you
install an MXG Version with this change.
- The choice of changing JCL or MXG source depends only
on whichever is easier to do within your production
change control system for your MXG daily jobs!
Permanent Changes made in this change:
a. VMXGRMFI. The permanent correction in this change:
- %VGETENG(DDNAME=SPIN) and ENGINE logic was removed.
- If you execute VMXGRMFI/RMFINTRV by itself, a //SPIN
DD is now required; you'll get an obvious SAS error
if you don't have one.
The test that caused this problem was added only to
prevent an abend that might happen, only if you used
RMFINTRV in a standalone job. RMFINTRV is normally
created by BUILDPDB, and a //SPIN DD has always been
provided in JCLPDBxx examples, but when the MSU4HRAV
variable was created in PDB.RMFINTRV, the history of
the last four hours was to be "spun" in SPIN.SPINRMFI
if a //SPIN DD was found. But if you ran RMFINTRV in
a standalone job that didn't have a //SPIN DD, the
MSU change would cause your "running just fine" daily
job to fail. So the VGETENG and associated logic was
added in VMXGRMFI in MXG 19.19 to protect no //SPIN.
Unfortunately, even that was also wrong. The PROC SQL
with DICTIONARY.MEMBERS sees only LIBNAMEs that are
OPEN, and BUILDPDB has not OPENed the SPIN library
when RMFINTRV is called, VGETENG set ENGINE=UNKNOWN
and so SPIN.SPINRMFI has never been created; only the
WORK.SPINRMFI has been output, and then deleted!
Fortunately, the only impact is that MSU4HRAV in
PDB.RMFINTRV has missing values for the first four
hours of each day. But since you have been wisely
using the PDB.ASUM70PR/ASUMCEC/ASUM70LP LPAR data
to measure and report "MSU" capacities, you have
never noticed nor used MSU4HRAV in PDB.RMFINTRV.
It was added for convenience when looking at a
single SYSTEM in RMFINTRV data.
Now, SPIN.SPINRMFI will always be created.
b. VGETENG: Permanent change, but VGETENG is NOT used in
VMXGRMFI with this change. Read carefully.
You can heal VGETENG's missing WHERE clause problem
by copying the member VMXGENG into member VGETENG,
and then CHANGE "VMXGENG" "VGETENG" ALL. The old
VMXGENG member does have the needed WHERE clause.
However, even with a WHERE clause, if the DDNAME is a
sequential format library, PROC SQL still must read
all of that (one) data library. And if it happens to
be a multi-volume, extended format, striped, and DASD
hardware compressed dataset; it will take time and
there won't even be mount messages to account for the
wasted time.
The VMXGENG member worked fine with its WHERE clause,
but when I standardize macro/member names that "GET"
a value to start with VGET instead of VMXG prefix, I
got a VGETENG without the WHERE clause. We would not
be having this pleasant conversation if I had used
%VMXGENG in VMXGRMFI in place of the new %VGETENG.
But since the %VGETENG is not removed from VMXGRMFI,
it really doesn't matter, now.
c. VMXGSUM, VMXGSUME: A very minor exposure to delay.
If you created your own %VMXGSUM execution that uses
TEMP01=, TEMP02=, TEMP03= arguments (DDNAMEs for temp
workspace), a PROC SQL; FROM DIRECTORY.MEMBERS is
used to find the engine, which was then set to VnSEQ,
if the fall-thru case of UNKNOWN engine is found, so
that an extended-format, hardware compressed, striped
file can be used, if that's in the DATACLAS/STORCLAS.
Since this PROC SQL does have the WHERE clause, only
the one TEMPnn DD would be read, but it would be read
once for every %VMXGSUM invocation.
But because the primary reason for TEMPnn= arguments:
to circumvent limitations back in SAS Version 6
for multi-volume temporary disk data libraries
was eliminated by SAS V8 multi-volume support, I have
removed this exposure by removing the PROC SQL and
logic for ENGINE in the VMXGSUM members. If you are
bright enough to use those specialized files that
require a sequential engine, that I believe you are
also bright enough to know that you need to add a
LIBNAME TEMPnn VnSEQ;
in your program before your %VMXGSUM invocation.
Especially since SAS will tell you if is needed!
d. Two other MXG "utility"s use FROM DICTIONARY.MEMBERS:
- VGETDDS, which you would use ahead of VMXGSET to
read multiple SAS libraries for the same dataset.
- VGETDSN, which returns the MVS DSNAME of a SAS data
library.
As both members have WHERE clauses for the LIBNAME,
so only one library would be read in any case, and as
both are optional and unlikely to be used during the
BUILDPDB process, they remain unchanged.
Thanks to Jim Poletti, Edward D. Jones, USA.
Change 22.016 The ANALSRVC report still had BY SYSTEM STARTIME for the
ANALSRVC RMF sort order, and failed with RECORDS OUT OF ORDER;
ANALPGNS BY SYSPLEX SYSTEM STARTIME has been the RMF sort order
ANALSTOR for years, but these examples had not been updated until
ADOCPDB now.
ACHAP35
XPRSMSUM
Mar 1, 2004
Thanks to Dave Crowley, Blue Cross Blue Shield of Florida, USA.
Change 22.015 Cosmetic. White space was inserted after single quotes
ANALDB2R to eliminate the SAS Version 9.1 " 49 " Warning message.
VMAC94
Feb 29, 2004
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 22.014 WebSphere SMF 120 records don't have GMT offset, and the
VMAC120 MXG algorithm was wrong, so all of the SM120xxx datetime
Feb 27, 2004 variables were wrong, if your GMT offset is non-zero.
Some were off by one-GMT-offset, some were off by two!
And SM120WAU could still be wrong, if it spans the
Spring/Fall time changes, since it can be several days
earlier than the SMFTIME of the record.
Thanks to Tom Draeger, Aurora Health, USA.
Change 22.013 -Members EXNDMIP and EXNDMSP were removed; all references
EXNDMIP to NDMIP and NDMSP were removed; the IP and SP subtypes
EXNDMQT are output in the NDMDT dataset.
EXNDMSP -Member EXNDMQT and all references to NDMQT were removed;
EXNDMTI subtype "QT" is output in NDMQE.
EXNDMUM -Member EXNDMTI and all references to NDMTI were removed;
VMACNDM subtype "TI" is output in NDMCI.
VMXGINIT -Member EXNDMUM and all references to NDMUM were removed;
Feb 26, 2004 subtype "UM" is output in NDMAE.
-Data set Label "NDM AUTHORIZATION" was revised to show
the subtypes, for severaly NDM datasets.
Thanks to Chris Weston, SAS ITRM, USA.
Change 22.012 -Variables RACFUSER & RACFTERM were reversed in MXG code.
VMACTMNT -The new subtype 6 stats record from ML-28/ML-29 caused an
Feb 26, 2004 INPUT STATEMENT EXCEEDED error; MXG expected ML-30, which
which added two new fields.
-Pending March 3: some timestamps created in ASMTAPEE are
on GMT clock, and support for a bit-changing APAR are in
development/testing.
Thanks to Tom L. White, SPRINT, USA.
Thanks to Jon Whitcomb, Great Lakes Educational Loan Services, USA.
Thanks to Normand Poitras, IBM Global Services, USA
Change 22.011 Calculation of PCTCPUBY in PDB.TYPE70PR for IRD was not
VMAC7072 correct for any engine with SMF70ONT less than DURATM.
Feb 24, 2004 The calculation of PCTCPUBY was revised to use SMF70ONT
as the denominator instead of DURATM when IRD has varied
the engine off during the interval. This only affected
the PDB.TYPE70PR dataset; both PDB.ASUM70PR and ASUMCEC
with MXG 21.05 (Change 21.170), but see Change 22.050.
Thanks to Scott Barry, SBBWorks, USA.
Change 22.010 Two typographic errors were corrected; /* before SMCASID
RMFMON instead of just /, and in the PUT statement variable name
Feb 24, 2004 IRARMCNS instead of IRAMCNS.
Thanks to Daniel T. Cannon, The Hartford, USA.
Change 22.009 Hyperspace buffers, reads, and writes variables are now
VMACMBO input and kept.
Feb 24, 2004
Thanks to Job Babcock, Bank One, USA.
Change 22.008 -The TPMX arrays were redesigned so that it is no longer
EXTYTPMX fatal to have more instances in your data than you %LET
IMACTPMX in your IMACTPMX member. A new message will be printed:
VMACTPMX ***ERROR.TPMX JBL19NN ARRAY SIZE EXCEEDED.
Feb 22, 2004 with the name "JBL19nn" of the %LET statement to change,
Feb 24, 2004 but extra instances are skipped and all records are now
Feb 25, 2004 output. New variables with the same name as the macro
Mar 11, 2004 variable are created in TYPETPMX dataset, so you can use
PROC MEANS DATA=TYPETPMX MAX; to see how many instances
were found in your data. The %LET statements in IMACTPMX
set the number of variables created in each array, and
all variables are normally kept, but you can increase the
%LET to eliminate the message, and then use the example
DROP statements in your EXTYTPMX member, if you don't
want to output that many instance variables.
-Array names were changed (since they are internal to the
VMACTPMX code) and all now match the base of the variable
name that are output; the "WHEN" values in the format are
also changed for the arrays and also match the base name.
-Format "VARNAME" values were also changed to match their
array base name.
-Bind variables were not output, but are now.
-The original count variables are still kept, to prevent a
VARIABLE NOT FOUND condition, but those variables can be
removed by uncommenting this DROP statement in EXTYTPMX:
DROP JBACTC JBAFFC JBBNDC JRBNDC JBDEAC JCAFTC JCBFRC
JLLIMC JLIMTC JBVOLC JVVOLC JBLL1C JBLL2C JBLL3C
JBLL4C JBLL5C JBLL6C JBLL7C JBLL8C JBLL9C JBL10C
JBL11C JBL12C JBL13C JBL14C JBL15C JBL16C JBL17C
JBL18C JBL19C JBL20C JBL21C JBL22C JBL23C JBL24C;
-Documentation of the syntax of the PROC FORMAT in the
IMACTPMX member was (hopefully!) improved.
Thanks to Richard S. Ralston, Humana, USA.
Change 22.007 Variable RVOLTYPE, VOLUME*TYPE*PHYSICAL*OR LOGICAL is now
VMACEDGR kept in EDGRVEXT dataset; previously it was only INPUT
Feb 18, 2004 and kept in EDGRXEXT dataset.
Thanks to Ray Bole, IBM Global Services, USA.
Change 22.006 Support for Huron/Object Star subtype 23, and corrections
EXHRN23 for subtypes 08, 11, 22, 24, 26, which could cause an
IMACHURN INPUT STATEMENT EXCEEDED error. New HURN23 dataset is
VMACHURN created. The symbol # was removed from labels; they
VMXGINIT are not needed and don't always print correctly. Huron
Feb 18, 2004 Versions R3 and R4 have been tested with this change.
Thanks to Greg Meyer, Isuzu, USA.
Change 22.005 Support for subtypes 14 thru 19 for SMF 82 CRYPTO records
EXTY8214 creates new TYPE8214 thru TYPE8219 datasets.
EXTY8215
EXTY8216
EXTY8217
EXTY8218
EXTY8219
IMAC82
VMAC82
VMXGINIT
Feb 17, 2004
Thanks to Willy Iven, Fortis Bank, BELGIUM.
Change 22.004 New variable ZTIME='ZEE DATETIME*ZEE OBS*WAS CREATED' is
IMACZDAT created and retained in member IMACZDAT, which currently
VMACEDGS creates the existing ZDATE variable. ZTIME is needed for
VMACTMS5 raw data that doesn't have a "datetime" event variable,
Feb 17, 2004 like TMS/CA-1 and DFSMS/rmm tape data that are created by
taking a "snapshot" of the tape catalog by running a job.
The new ZTIME variable can be used to detect or separate
multiple runs, and can be used for duplicate observation
detection, and can eliminate the need for ITSV sites to
tailor MXG exits.
Variable ZTIME is kept in TYPETMS5 and TYPEEDGS datasets.
Thanks to Christa Neven, KBC BankVVerzekeringsHolding, BELGIUM.
Change 22.003 Several new APPLICATION PRM METRICS are now supported and
VMACMWUX these variables created in HPUXAPPL dataset.
Feb 16, 2004 APPPRMMD='APPPRM*LOGGING*MODE*APP=0*PRM=1?'
PRMMEMUT='APPPRM*MEM*UTILIZED'
PRMSTATE='APPPRM*STATE'
PRMCPUCA='APPPRM*CPUCAP*MODE'
PRMCPUEN='APPPRM*CPU*ENTITLEMENT'
PRMMEMAV='APPPRM*MEM*AVAILABLE'
PRMMEMUP='APPPRM*MEM*UPPERBOUND'
PRMMEMEN='APPPRM*MEM*ENTITLEMENT'
Thanks to Miguel Fernandez, Information Services International, USA.
Change 22.002 -MQ Series variable WTINDXTY, index type, is now decoded
FORMATS with format MG116IN:
Feb 16, 2004 VALUE MG116IN
Feb 17, 2004 0='0:NO INDEX'
1='1:MSG_ID INDEX'
2='2:CORREL_ID INDEX'
4='4:MSG_TOKEN INDEX'
5='5:GROUP_ID INDEX'
Index type can be a critical factor in WebSphere MQ
message retrieval. With No Index, message retrieval for a
browse is sequential, and can take a long time for large
queues, since each page must be retrieved to see whether
the page contains the message of interest. With indexing
it can take only one page retrieval, and the difference
can be seconds or even minutes. If the browse is of many
messages, the difference can be "many" times the scan of
a single queue, since the queue must be scanned for each
message retrieved. And this really gets *ugly* if the
queue has spilled over to the page set on DASD.
-Labels for WQPUTPMS,WQPUT1PM are 'PERSISTENT*CREATED...'
instead of 'PERSISTENT*GOT'. MQPUT calls create messages,
MQGET calls retrieve messages (either GET-and-delete or
BROWSE). And the distinction between NON-PERSISTENT and
PERSISTENT is important because the two types should not
normally be intermingled in a queue, for performance.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA
Change 22.001 Support for MQ Series counts and times in ASG-TMON/CICS
VMACTMO2 adds four variables to MONITASK and
Feb 12, 2004 See MXG Tech Note 4.A in Newsletter FORTY-FOUR, 11Feb04.
Thanks to Alex Nielsen,
The below Change may be required for your MXG 21.21, depending on its
internal date. Tape were copied starting Feb 6, and that edition of the
MXG 21.21 annual version need this change. But if your CHANGES in your
MXG 21.21 indicates Feb 11, 2004, then this change is already installed.
Change 21.320 MXG 21.21 final post-QA corrections/incompatibilities:
CLRMFV -SEQENGINE=V6SEQ changed to V8SEQ/V9SEQ in CONFIGV8/V9.
NOTE: SEQENGINE HAD TO BE RESET TO V6SEQ IN CONFIGV9.
in May, 2004, in Change 22.108.
CONFIGV8 See MXG Tech Note 4.A in Newsletter FORTY-FOUR, 10Feb04.
CONFIGV9 -VMACDB2. Remove line 8259: PUT _N_= 'HAVE 239 ';
EXTMNSTS -UTILEXCL. Add a second percent-sign to change line 218 to
IMACTMNT %%INCLUDE SOURCLIB(IMACZDAT);
UTILEXCL -CLRMFV. Cosmetic. A "NOT" and EQUAL symbols slipped thru
VMAC90 and were changed to "NE"; NOTs don't translate well among
VMACDB2 platforms, and were removed back in Change 8.093
VMACTMNT -Only if you received MXG on CD: Change line 57 in member
VMXGINIT VMACTMNT, removing "DEVNR", changing the line to be:
Feb 10, 2004 MACRO _BTYSTS SYSTEM SHIFT INTBTIME %
-The CD-only VMACTMNT error was caused by my accidental
copying of support for the new TYPESTAT statistics data
from the subtype 6 ASMTAPEE ML-30 SMF record, after the
ftp and tape files were built. TYPESTAT was validated,
but I didn't use TYPSTMNT to test its sort macro. Member
EXTMNSTS was added and VMXGINIT updated for TYPESTAT and
the sort has been tested in this final iteration.
-Variables SMF9029N,SMF9029A,SMF9030I in archaic VMAC90
were renamed A, N, and Y, only in case someone foolishly
uses both VMAC90 and VMAC90A in same step. Use VMAC90A.
Thanks to George Canning, Abbey National Plc, ENGLAND.
Thanks to Vernon Kelley, IBM, USA.
LASTCHANGE: Version 22.
=========================member=CHANGE21================================
/* COPYRIGHT (C) 1984-2004 MERRILL CONSULTANTS DALLAS TEXAS USA */
Final MXG Version 21.21 is dated Feb 11, 2004, thru Change 21.320
Annual MXG Version 21.21 was dated Feb 6, 2004, thru Change 21.319
Last MXG Version 21.08 was dated Jan 28, 2004, thru Change 21.292
First MXG Version 21.08 was dated Jan 25, 2004, thru Change 21.289
Final MXG Version 21.07 was dated Dec 2, 2003, thru Change 21.247
First MXG Version 21.07 was dated Nov 30, 2003, thru Change 21.245
Final MXG Version 21.06 was dated Nov 12, 2003, thru Change 21.230
Second MXG Version 21.06 was dated Nov 10, 2003, thru Change 21.228
First MXG Version 21.06 was dated Nov 7, 2003, thru Change 21.226
MXG Version 21.05 was dated Sep 22, 2003, thru Change 21.183
First MXG Version 21.05 was dated Sep 18, 2003, thru Change 21.181
MXG Version 21.04 was dated Aug 25, 2003, thru Change 21.159
MXG Version 21.03 was dated Jul 28, 2003, thru Change 21.133
MXG Version 21.02 was dated Jun 9, 2003, thru Change 21.101.
Second MXG Version 21.02 was dated Jun 5, 2003, thru Change 21.094.
First MXG Version 21.02 was dated Jun 3, 2003, thru Change 21.091.
MXG Version 21.01 was dated Mar 24, 2003, thru Change 21.051.
Annual MXG Version 20.20 was dated Feb 7, 2003, thru Change 20.341.
MXG Newsletter FORTY-TWO was dated Feb 8, 2003.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 21.21 was shipped to all sites by Feb 13.
II. Incompatibilities and Installation of MXG 21.21.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 21.21, the Annual Version, was sent by Feb 13.
MXG 21.21 supports every new version of every new product that you are
likely to install this year, especially for MVS systems, including new
z/OS 1.5, CICS/TS 2.3, DB2 V8.1, and IMS V8.1 products, and new data
added by PTFs, and data for those releases from the monitor vendors
IBM, ASG, BMC, Candle, CA, etc. And for ASCII system there are new
objects in existing products (NTSMF, TNG) and more support for "sar"
and AIX Performance Tool for unix systems. Details provided below.
MXG 21.21 has been tested under SAS Version 9.1 and runs fine; use the
CONFIGV9 member and MXGSASV90 JCL Procedure member for z/OS execution;
for ASCII, use the current AUTOEXEC file. See Change 21.290.
And replacing your existing version of MXG is easy; as there are no
structural changes, you shouldn't have to change any of your current
MXG "Tailoring"; you build the Source Library, create/update the MXG
Format Library, change the DSNAME/DIRECTORY name to use MXG2121, and
run your acceptance test. That's all that should be required.
Major enhancements added in MXG 21.21
all 21.310 Support for z/OS 1.5.
AUTOEXEC 21.290 Option defaults changed for SAS V 9.1 for ASCII.
CONFIGV9 21.290 Option defaults changed for SAS V 9.1 for EBCDIC.
ASMTAPEE 21.304 New MXG Tape "Event" Mount/Allocate/Recvr Monitor.
TYPE120 21.294 Support for JVM Heap sizes in SMF 120 st 1 and 3.
TYPEBE97 21.312 Support for Beta97 User SMF record.
TYPEOMVT 21.311 Support for Omegamon/VTAM subtypes 29 and 30.
UNIXSAR1 21.309 Support for "sar", "acctcom", "ps" for AIX/SUN unix.
UNIXTOP 21.314 Support for "top" unix report.
DAILYDSR 21.293 Support for DFSMS/rmm+DCOLLECT in JCLDAYDS example.
EMAIL 21.308 Example to email a PROC PRINT to a list of users.
SYSLOG 21.307 Example program to read SYSLOG for job events.
Major enhancements added in MXG 21.08
SAS V9.1 21.289 Note 49-169 blanks inserted to eliminate note
TYPEDB2 21.281 Support for DB2 Version 8.1, COMPATIBLE back to 20.20
TYPE42 21.288 Support for Type 42 Subtype 10 TYPE42VS Vol Sel Fail
TYPENDM 21.286 Support more NDM/Connect Direct subtypes, 26 new dset
TYPENTSM 21.285 Support for Web Service Cache, WSRM objects.
PROCCOPY 21.279 Use MT=DATA with PROC COPY + SELECT for performance.
TYPETPMX 21.271 Major enhancement/validation of ThruPut Manager SMF
TYPETNG 21.269 Major enhancement/validation of new TNG objects.
TYPENETM 21.263 Support for UniCenter NetMaster Automate Services SMF
TYPE115 21.262 WebSphere MQ Version 5.3 SM115REL added.
TYPE116 21.262 WebSphere MQ Version 5.3 SM116REL added.
TYPEDB2 21.259 Using VMXGTIME with DB2 caused GMTOFFDB/QWACBSC wrong
BLDSMPDB 21.255 New BLDSMPDB builds SMF PDB Jobstream, weekly, etc.
VMXGINIT 21.253 Global macro variables TRENDOLD/TRENDNEW/TRENDINP.
RMFMON 21.252 Free Interactive RMF control block monitor.
TYPESASU 21.251 Support for SAS SMFEXIT adds SAS Version/User/JOBID.
ANALALL 21.250 ANALALL/ANALJOBN/VMXGPRAL job counting SMF records.
Major enhancements added in MXG 21.07
TYPEOMDB 21.243 Support for Candle Omegamon II for DB2 Historical.
TYPEOPFT 21.233 Support for Fujitsu Siemens openFT ftp SMF record.
TYPE110 21.240 Support for new S4RSP7CT in STID=124 CICS record.
TYPEMWUX 21.241 Revised support for HP Measureware for HPUX.
ASUMCICS 21.242 Protection for OPERATOR/TERMINAL variable not found.
TYPE74 21.238 Dataset TYPE74DU (RMF DUPLEX CF) was trashed.
ANALDB2R 21.239 Ability to read multiple PDBs in ANALDB2R restored.
ASUMUOTT 21.237 New ASUMUOTT combines TMDBDB2 and MONITASK datasets.
ASMRMFV 21.236 Wrong member replaced; this has change 21.186 code.
UTILBLDP 21.231 USERADD=80/90 create TYPE80A or TYPE90A execution.
Major enhancements added in MXG 21.06
ASUMUOW 21.220 FLASH: MXG 21.06 required to have all errors fixed.
TYPETSMF 21.210 Support for IBM Tivoli Storage Manager Acct Records.
TYPE102 21.175 Support for IFCIDs 217 and 254.
TYPETNG 21.160 Support for TNG Version 7 (INCOMPAT, Header changed).
TYPE99 21.217 Support for SMF 99 subtype 7 PAV Device record.
TYPE80A 21.215 Support for EKC's ETF/R FIRECALL SMF 80 data.
TYPEORAC 21.213 Support for Oracle V9.x, no changes.
TYPE110 21.212 Support for CMODNAME='MQSeries' CICSTRAN segment.
TYPE110 21.152 Support for CICS/TS 2.3 (INCOMPATIBLE)in MXG 21.05+.
TYPE80A 21.211 Support for RACF segment RACFDBP=44, new variables.
TYPECIMS 21.205 Support for Shared Message Queue Group in SMQGROUP.
TYPEEXCH 21.195 Support for Microsoft Exchange Server 5.5 Log file.
TYPE119 21.190 Support for APAR PQ77633, corrects FTPREPLY.
none 21.184 Support for 3592 Tape Drives, they look like 3590s.
TYPESYNC 21.192 Up to 255 SORTWORKs supported in z/OS 1.1 SMF record.
RMFINTRV 21.225 RMF WORKLOAD name can be used to define workloads.
TYPE70 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
RMFINTRV 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
TYPEDB2 21.200 Negative values for DB2TCBTM if QWACEJST small.
TYPE110 21.198 Missing value for STRTTIME in CICSTRAN possible.
VMXGSUM 21.185 New INTERVAL=SECOND now supported.
CONFIGV8 21.168 SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
RMFINTRV 21.216 z990 CPUTYPE 2084 NOT IN TABLE with OS/390 R2.10.
TYPE6 21.210 Support for several ESS segments '34x,35x,37x,47x'.
TYPEDB2 21.208 QWACBSC/QWACESC missing in DB2ACCTP, some packages
ASUMCACH 21.197 Enhanced to keep I/O by LPAR in PDB.ASUMCACH.
TYPE110 21.189 New 110 St=1 MNSEGCL=5 caused INVALID DO LOOP CONTROL
Major enhancements added in MXG 21.05
TYPE70 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
RMFINTRV 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
TYPE110 21.176 New TSQUEUE SMF 110 CL 5 INPUT STATEMENT EXCEEDED.
TYPE110 21.165 STID=126 UNEXPECTED data corrected.
TYPE102 21.175 Support for IFCIDs 217 and 254.
TYPE116 21.173 Subtype 0 SMF 116 INVALID PRODUCT SECTION message.
TYPE119 21.162 IFDURTM was incorrectly divided by 496 vice 4096.
TYPETNG 21.160 Support for TNG Version 7 (INCOMPAT, Header changed).
TYPEWWW 21.166 IIS Web Log with missing fields now supported
CONFIGV8 21.168 SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
MONTHBLD 21.163 Enhancement for un-sorted input, or NOT SORTED ERROR.
Major enhancements added in MXG 21.04
TYPE7072 21.149 Support for z990 - INCOMPATIBLE - REQUIRED.
While the support for z990s was in MXG 21.04, it was not
realized that MXG 21.04 is REQUIRED for z990s until 16Sep.
ASUM70PR 21.149 Major LPAR Measurement Enhancement: PDB.ASUM70LP.
ASMTAPES 21.137 ASMTAPES new Allocation Recovery event record.
UTILBLDP 21.148 Enhancement to the "Build your own PDB" utility.
TYPEEDGR 21.158 Support for z/OS 1.4 DFSMS/rmm EDGRXEXT (INCOMPAT)
TYPECTLL 21.156 Support for Control-D Log file.
TYPENSPY 21.155 Doc: support for NetSpy V6 or V7 in MXG 20.10+.
TYPECIMS 21.153 Support for BMC MVIMS IMF 3.3.0 (COMPAT)
TYPE120 21.150 Support for CPU Time in WASserver APAR PQ74463.
ASUMUOW 21.147 Near-constant value STRTTIME error in PDB.CICS.
TYPENTSM 21.146 Support for Windows 2003 Server MEMORY object.
TYPEHMF 21.143 Support for HMF Subtype 29,30,32,33 changes.
TYPETCP 21.142 TYPETCPS contained accumulated, not interval data.
FORMATS 21.141 $MG070CP updated for MSU for CPUTYPE 084 table.
TYPEDB2 21.140 PDB.DB2STATS QBGLxxxx wrong, negative B3HITRAT.
TYPE7072 21.138 R723Rxxx vars now kept in TYPE72DL vice TYPE72SC.
TYPENTSM 21.136 SMPTSERV for Windows 2000 had accumulated values.
ANALSTC 21.135 Report using STK SMF + MXGTMNT to track Virtual tape.
ANALDB2R 21.157 Accounting Summary Class 2 were totals, not avgs.
Major enhancements added in MXG 21.03
TYPE7072 21.130 Support for APAR OW56656 for RMF for z990 (COMPAT).
TYPE102 21.121 Support for IFCID 251, 257, corrections for 21.
TYPE103 21.115 Support for APAR PQ71799 HTTP Server SMF 103 data.
TYPE120 21.107 Support for WebSphere APAR PQ74463 - adds CPU time.
TYPETMMQ 21.129 Support for ASG-Landmark TMON for MQ Series.
TYPENDM 21.133 Support for NDM Release 4.3 (INCOMPATIBLE).
TYPEENTX 21.124 Support for EntireX user SMF accounting record.
TYPEICE 21.102 Support for STK IXFP SMF L2P00A2/LZP00A9 (COMPAT)
TYPEQACS 21.118 Support for TCP and TCPIEF objects for AS/400.
TYPEMVCI 21.117 Support for Mainview for CICS 5.6 CMRDETL (INCOMPAT).
TYPEAIX 21.116 Major revision to AIX PTX Support - new datasets.
VMXGRMFI 21.125 Different SRVCLASS definitions can map to same WORK.
Incompatible revision:
If you used ASUMCICS to read ASG-TMON/CICS MONITASK to create
PDB.CICS, you must now instead use ASUMCICT. But MXG recommends
you no longer use either ASUMCICS nor ASUMCICT, but instead you
should use ASUMUOW/ASUMUOWT to create PDB.ASUMUOW, and then create
PDB.CICS using ASUMCICX to properly measure CICS. See the
discussion in Change 21.105 text.
ASUMCICS 21.105 Reads only CICSTRAN, creates PDB.CICS, don't use.
ASUMCICT 21.105 Reads only MONITASK, creates PDB.CICS, don't use.
ASUMCICX 21.105 Reads PDB.ASUMUOW; use instead of ASUMCICS/ASUMCICT.
ASUMUOW 21.105 Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW, use!
ASUMUOWT 21.105 Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW, use!
Major enhancements added in MXG 21.02
TYPE7072 21.065 Support for more than 16 CPUs or LPARs.
TYPE74 21.058 Support for APAR OW54347 CMR Command Response time
TYPETMS5 21.097 Support for PDC # QI30130 new variables.
TYPEIMS7 21.064 Support for IMS Version 8.1, some changes.
ASMIMSL6 21.064 Support for IMS Version 8.1; just reassemble L6.
IMAC6ESS 21.082 Support for additional GPARMKY values in SMF 6 ESS.
IMAC6ESS 21.096 Support for GEPARMKY=001B.
TYPE30 21.086 Support for IDMS PerfMon type 30 subtype 3 per tran
TYPENTSM 21.063 Support for NTSMF 2.4.5 (INCOMPATIBLE).
TYPENTSM 21.053 Support for NTSMF BlackBerry Server object.
TYPETNG 21.095 Support for six new TNG objects, new fields.
EXUTILEX 21.069 Exit for UTILEXCL for non-standard "User" field.
VMXGRMFI 21.067 Examples to invoke RMFINTRV twice, general cleanup.
ASUMUOW 21.062 Revised SPINUOW logic, forward sequence of times.
ASUMUOW 21.093 Blank SYSTEM in PDB.ASUMUOW for CICS-only fixes.
TYPE102 21.061 Support for dataset T102S196 (locks) validated.
TYPE74 21.059 TYPE74ST negative values corrected, QSIZ retained.
FORMATS 21.057 RACF MG080QU,TY formats updated for z/OS 1.2-1.4.
BUILDPDB 21.056 Exit EXPDBSPJ created for local variables for spin.
UTILEXCL 21.054 Variables KY8DISTM/KY8CPUTM corrected.
MICSMXG 21.089 New member documenting MICS replacement by MXG.
Major enhancements added in MXG 21.01
ASMRMFV 21.002 Improved processing of RMF III data.
CLRMFIII 21.002 CLIST for batch execution to read all RMF III data.
DOCLRMFV 21.002 Documentation of CLRMFIII CLIST.
GRAFTRND 21.040 New plots of Peak to Average Utilization ratio.
MXGSASV8 21.009 Symbolic parm WORKVOL= added, default 5 volumes
SAS V9 21.028 Early V8-V9 comparisons flawed, V9 is better.
TYPE108 21.018 Support for Domino Server Relase 6.0.0 new data.
TYPECTLT 21.026 Support for Control-T Release 6.0/6.1(INCOMPATIBLE).
TYPEQACS 21.033 AS/400 5.2 file's LRECLs have been validated.
TYPETNG 21.024 Support for TNG "Enterprise Cubes", Processes, plus.
TYPEXAM 21.023 Support for TCP/Linux/etc, plust lots of cleanup.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
MXG New Version QA tests are executed on OS/390 & z/OS with SAS V8.2,
V9.0 and (archaic) V6.09, and on Windows 2000 & XP with V8.2 and V9.1
on Intel platforms. Additional tests have been run with SAS V8.2 on
Linux RH 7.2 on Intel, with V9.1 on Solaris v2.8 model v880, and V9.1
on HP-UX v11.11 model rp5470, confirming full compatibility. So MXG
executes under SAS V8.2 or later on every possible SAS platform!
Each new version is also tested with SAS/ITSV by ITSV development.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2, IRD enhancements Apr 26, 2002 20.01
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003 21.04
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate Mar 31, 2004 20.20
DB2 8.1 New Data Supported Mar 31, 2004 21.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 Jul 23, 2003 21.03
Note: An asterisk before the version number indicates that this
entry was changed to a later version of MXG being required,
after it was found that the previous version did not support
the listed product level, usually the result of an APAR to
the product that modified the products data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
SAS Institute
MXG executes best under SAS Version 8.2, with 82BA77 HOTFIX for
MVS-OS/390-z/OS which includes Critical fixes; see NEWSLTRS.
It has executed succesfully under SAS Version 9 Beta on both
MVS and Windows platforms.
See Newsletters for expanded discussion of other versions.
Read member NEWSLTRS (search 'V8') for SAS Version 8 notes.
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS/ESA 2.1 - 20.04
The Monitor for CICS/ESA 2.2 - 20.335, 21.134 21.04
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
Memorex/Telex
LMS 3.1 12.12A
Amdahl
APAF 4.1, 4.3 16.08
II. Incompatibilities and Installation of MXG 21.03.
1. Incompatibilities introduced in MXG 21.06 (since MXG 20.20):
a- Changes in MXG architecture made between 21.06 and 20.20 that might
introduce incompatibilities.
ASUMCICS: If you used ASUMCICS to read ASG-LANDMARK MONITASK CICS
data to create PDB.CICS, you must now use ASUMCICT.
See Change 21.105.
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.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
OBSERVATION COUNT CHANGE: xxxxxxxx more/fewer observations.
This new note will be the last line of new Changes that alter the
number of observations MXG creates in dataset xxxxxxxx.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 20.20 now in MXG 21.06:
Dataset/
Member Change Description
many 21.131 &OPSYS now consistently used in place of &SYSSCP.
many 21.289 Note 49-169 in SAS V9.1 is harmless.
none 21.310 Support for z/OS 1.5.
none 21.184 Support for 3592 Tape Drives, they look like 3590s.
ANALALL 21.250 ANALALL/ANALJOBN/VMXGPRAL job counting SMF records.
ANALDB2R 21.015 Using %ANALDB2R(PDB=SMF) caused syntax errors.
ANALDB2R 21.157 Accounting Summary Class 2 were totals, not avgs.
ANALDB2R 21.239 Ability to read multiple PDBs in ANALDB2R restored.
ANALSTC 21.135 Report using STK SMF + MXGTMNT to track Virtual tape.
ASMIMSL6 21.064 Support for IMS Version 8.1; just reassemble L6.
ASMRMFV 21.002 Improved processing of RMF III data.
ASMRMFV 21.236 Wrong member replaced; this has change 21.186 code.
ASMTAPEE 21.304 New MXG Tape "Event" Mount/Allocate/Recvr Monitor.
ASMTAPES 21.004 Using //EXCLUDE DD with highest DEVNR cause 0C4.
ASMTAPES 21.137 ASMTAPES new Allocation Recovery event record.
ASUM70PR 21.149 Major LPAR Measurement Enhancement: PDB.ASUM70LP.
ASUMCACH 21.197 Enhanced to keep I/O by LPAR in PDB.ASUMCACH.
ASUMCICS 21.105 Reads only CICSTRAN, creates PDB.CICS, don't use.
ASUMCICS 21.242 Protection for OPERATOR/TERMINAL variable not found.
ASUMCICT 21.105 Reads only MONITASK, creates PDB.CICS, don't use.
ASUMCICX 21.105 Reads PDB.ASUMUOW; use instead of ASUMCICS/ASUMCICT.
ASUMUOTT 21.237 New ASUMUOTT combines TMDBDB2 and MONITASK datasets.
ASUMUOW 21.062 Revised SPINUOW logic, forward sequence of times.
ASUMUOW 21.105 Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW, use!
ASUMUOW 21.147 Near-constant value for STRTTIME in PDB.CICS.
ASUMUOW 21.194 Variables added to PDB.ASUMUOW
ASUMUOW 21.220 FLASH: MXG 21.06 required to have all errors fixed.
ASUMUOWT 21.035 ASUMUOWT failed with BY VARIABLES NOT SORTED.
ASUMUOWT 21.105 Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW, use!
AUTOEXEC 21.290 Option defaults changed for SAS V 9.1 for ASCII.
BLDNTPDB 21.103 Relocated copying of WEEKn.
BLDSMPDB 21.255 New BLDSMPDB builds SMF PDB Jobstream, weekly, etc.
BUILDPDB 21.056 Exit EXPDBSPJ created for local variables for spin.
CLRMFIII 21.002 CLIST for batch execution to read all RMF III data.
CONFIGV8 21.168 SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
CONFIGV9 21.290 Option defaults changed for SAS V 9.1 for EBCDIC.
DAILYDSR 21.293 Support for DFSMS/rmm+DCOLLECT in JCLDAYDS example.
DOCLRMFV 21.002 Documentation of CLRMFIII CLIST.
DOCMXG 21.132 ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES cause
EMAIL 21.308 Example to email a PROC PRINT to a list of users.
EXUTILEX 21.069 Exit for UTILEXCL for non-standard "User" field.
FORMATS 21.057 RACF MG080QU,TY formats updated for z/OS 1.2-1.4.
FORMATS 21.141 $MG070CP updated for MSU for CPUTYPE 2084 table.
GRAFTRND 21.040 New plots of Peak to Average Utilization ratio.
IMAC6ESS 21.014 Multiple 6-ESS "0031" USERDATA segments supported.
IMAC6ESS 21.082 Support for additional GPARMKY values in SMF 6 ESS.
IMAC6ESS 21.096 Support for GEPARMKY=001B.
MONTHBLD 21.163 Enhancement for un-sorted input, or NOT SORTED ERROR.
MXGSASV8 21.009 Symbolic parm WORKVOL= added, default 5 volumes
PROCCOPY 21.279 Use MT=DATA with PROC COPY + SELECT for performance.
RMFINTRV 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
RMFINTRV 21.216 z990 CPUTYPE 2084 NOT IN TABLE with OS/390 R2.10.
RMFINTRV 21.225 RMF WORKLOAD name can be used to define workloads.
RMFMON 21.252 Free Interactive RMF control block monitor.
SAS V9 21.028 Early V8-V9 comparisons flawed, V9 is better.
SAS V9.1 21.289 Note 49-169 blanks inserted to eliminate note
SYSLOG 21.307 Example program to read SYSLOG for job events.
TYPE102 21.061 Support for dataset T102S196 (locks) validated.
TYPE102 21.121 Support for IFCID 251, 257, corrections for 21.
TYPE102 21.175 Support for IFCIDs 217 and 254.
TYPE103 21.115 Support for APAR PQ71799 HTTP Server SMF 103 data.
TYPE108 21.018 Support for Domino Server Relase 6.0.0 new data.
TYPE110 21.100 CICSTRAN RTYPE='S' or 'F' decoded.
TYPE110 21.101 CPURLSTM wrong with CICS/TS 1.1 or later
TYPE110 21.165 STID=126 UNEXPECTED data corrected.
TYPE110 21.176 New TSQUEUE SMF 110 CL 5 INPUT STATEMENT EXCEEDED.
TYPE110 21.189 New 110 St=1 MNSEGCL=5 caused INVALID DO LOOP CONTROL
TYPE110 21.198 Missing value for STRTTIME in CICSTRAN possible.
TYPE110 21.212 Support for CMODNAME='MQSeries' CICSTRAN segment.
TYPE110 21.240 Support for new S4RSP7CT in STID=124 CICS record.
TYPE115 21.183 SMF 115 ST 2 INPUT STATEMENT EXCEEDED corrected.
TYPE115 21.262 WebSphere MQ Version 5.3 SM115REL added.
TYPE116 21.173 Subtype 0 SMF 116 INVALID PRODUCT SECTION message.
TYPE116 21.262 WebSphere MQ Version 5.3 SM116REL added.
TYPE119 21.162 IFDURTM was incorrectly divided by 496 vice 4096.
TYPE119 21.190 Support for APAR PQ77633, corrects FTPREPLY.
TYPE120 21.107 Support for WebSphere APAR PQ74463 - adds CPU time.
TYPE120 21.150 Support for CPU Time in WASserver APAR PQW74463.
TYPE120 21.294 Support for JVM Heap sizes in SMF 120 st 1 and 3.
TYPE30 21.086 Support for IDMS PerfMon type 30 subtype 3 per tran
TYPE42 21.010 SMF 42 offsets subtype 20,21 wrong in IBM doc, fixed.
TYPE42 21.288 Support for Type 42 Subtype 10 TYPE42VS Vol Sel Fail
TYPE6 21.210 Support for ESS segments '34x,35x,37x,47x'.
TYPE6 21.226 Support for GEPARMKY=000B in ESS, variable ESSDEFAU.
TYPE6156 21.123 Non-duplicate (Data/Index) TYPE6156 were NODUPed.
TYPE70 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
TYPE7072 21.065 Support for more than 16 CPUs or LPARs.
TYPE7072 21.130 Support for APAR OW56656 for RMF for z990 (COMPAT).
TYPE7072 21.138 R723Rxxx vars now kept in TYPE72DL vice TYPE72SC.
TYPE7072 21.275 SMF70CIN/LPARCPUS wrong if VSAM SMF read
TYPE7072 21.287 NRCPUS=ROUND(NRCPUS,.001); for 2.00000040 value.
TYPE70PR 21.108 LPnNSW - Percent When Soft Capped variables added.
TYPE71 21.218 TYPE71 variables had AVAILABLE...USED, USED removed.
TYPE73 21.007 PCHANBY missing for 'CFS/CFP/CBP/CBS/IFP' TYPE73.
TYPE73 21.098 Some TYPE7204 "SUM OF" variables weren't.
TYPE74 21.058 Support for APAR OW54347 CMR Command Response time
TYPE74 21.059 TYPE74ST negative values corrected, QSIZ retained.
TYPE74 21.238 Dataset TYPE74DU (RMF DUPLEX CF) was trashed.
TYPE79 21.003 Variable R791FMCT needed to be multiplied by 4096.
TYPE80A 21.201 Protection for SMF80DTP=53 (RUTKN) with wrong len.
TYPE80A 21.211 Support for RACF segment RACFDBP=44, new variables.
TYPE80A 21.215 Support for EKC's ETF/R FIRECALL SMF 80 data.
TYPE85 21.104 OAM SMF 85 from R85PRVM 1.3.0 caused STOPOVER.
TYPE90 21.196 INVALID DATA FOR VERSN90 has no impact.
TYPE94 21.191 Variable SMF94VCZ recalculated when it is zero.
TYPE99 21.217 Support for SMF 99 subtype 7 PAV Device record.
TYPEAIX 21.116 Major revision to AIX PTX Support - new datasets.
TYPEBE97 21.312 Support for Beta97 User SMF record.
TYPECIMS 21.153 Support for BMC MVIMS IMF 3.3.0 (COMPAT)
TYPECIMS 21.205 Support for Shared Message Queue Group in SMQGROUP.
TYPECTLL 21.156 Support for Control-D Log file.
TYPECTLT 21.026 Support for Control-T Release 6 (INCOMPATIBLE).
TYPEDB2 21.006 Negative values in DB2STATB after stop/start DB2.
TYPEDB2 21.140 PDB.DB2STATS QBGLxxxx wrong, negative B3HITRAT.
TYPEDB2 21.187 PDB.DB2GBPST occasionally had invalid (large) values.
TYPEDB2 21.200 Negative values for DB2TCBTM if QWACEJST small.
TYPEDB2 21.208 QWACBSC/QWACESC missing in DB2ACCTP, some packages
TYPEDB2 21.259 Using VMXGTIME with DB2 caused GMTOFFDB/QWACBSC wrong
TYPEDB2 21.281 Support for DB2 Version 8.1, COMPATIBLE back to 20.20
TYPEEDGR 21.158 Support for z/OS 1.4 DFSMS/rmm EDGRXEXT (INCOMPAT)
TYPEEDGS 21.122 MACRO _LNEDGS resolves STOPOVER with rmm data.
TYPEENTX 21.124 Support for EntireX user SMF accounting record.
TYPEEXCH 21.195 Support for Microsoft Exchange Server 5.5 Log file.
TYPEHMF 21.143 Support for HMF Subtype 29,30,32,33 changes.
TYPEICE 21.102 Support for STK IXFP SMF L2P00A2/LZP00A9 (COMPAT)
TYPEIMS7 21.064 Support for IMS Version 8.1, some changes.
TYPEMVCI 21.117 Support for Mainview for CICS 5.6 CMRDETL (INCOMPAT).
TYPEMWUX 21.241 Revised support for HP Measureware for HPUX.
TYPENDM 21.133 Support for NDM Release 4.3 (INCOMPATIBLE).
TYPENDM 21.286 Support more NDM/Connect Direct subtypes, 26 new dset
TYPENETM 21.263 Support for UniCenter NetMaster Automate Services SMF
TYPENSPY 21.155 NetSpy Version 6 and 7 already supported since 20.10.
TYPENTSM 21.053 Support for NTSMF BlackBerry Server object.
TYPENTSM 21.063 Support for NTSMF 2.4.5 (INCOMPATIBLE).
TYPENTSM 21.136 SMPTSERV for Windows 2000 had accumulated values.
TYPENTSM 21.146 Support for Windows 2003 Server MEMORY object.
TYPENTSM 21.193 Variable BYTEAVAI can be zero.
TYPENTSM 21.285 Support for Web Service Cache, WSRM objects.
TYPEOMDB 21.243 Support for Candle Omegamon II for DB2 Historical.
TYPEOMVT 21.311 Support for Omegamon/VTAM subtypes 29 and 30.
TYPEOPC 21.202 INPUT STATEMENT EXCEEDED.
TYPEOPFT 21.233 Support for Fujitsu Siemens openFT ftp SMF record.
TYPEORAC 21.019 Oracle ASID, ELAPSTM corrected.
TYPEORAC 21.213 Support for Oracle V9.x, no changes.
TYPEQACS 21.013 INVALID DATA for QAPMDISK file corrected.
TYPEQACS 21.033 AS/400 5.2 file's LRECLs have been validated.
TYPEQACS 21.118 Support for TCP and TCPIEF objects for AS/400.
TYPEQACS 21.224 New QAPMCONF GDESIL/IT/PU were missing values.
TYPESARR 21.223 INPUT STATEMENT EXCEED for CA-VIEW SMF record.
TYPESASU 21.251 Support for SAS SMFEXIT adds SAS Version/User/JOBID.
TYPESYNC 21.192 Up to 255 SORTWORKs supported in z/OS 1.1 SMF record.
TYPETCP 21.142 TYPETCPS contained accumulated, not interval data.
TYPETMMQ 21.129 Support for ASG-Landmark TMON for MQ Series.
TYPETMO2 21.134 MONITASK UOW variables were incorrect.
TYPETMS5 21.097 Support for PDC # QI30130 new variables.
TYPETNG 21.024 Support for TNG "Enterprise Cubes", processes, plus.
TYPETNG 21.095 Support for six new TNG objects, new fields.
TYPETNG 21.160 Support for TNG Version 7 (INCOMPAT, Header changed).
TYPETNG 21.269 Major enhancement/validation of new TNG objects.
TYPETPMX 21.209 New fields supported.
TYPETPMX 21.271 Major enhancement/validation of ThruPut Manager SMF
TYPETSMF 21.210 Support for IBM Tivoli Storage Manager Acct Records.
TYPEWWW 21.166 IIS Web Log with missing fields now supported
TYPEWWW 21.221 Web Log INVALID ARGUMENT with negative GMT offset.
TYPEXAM 21.023 Support for TCP/Linux/etc, plus lots of cleanup.
UNIXSAR1 21.309 Support for "sar", "acctcom", "ps" for AIX/SUN unix.
UNIXTOP 21.314 Support for "top" unix report.
UTILBLDP 21.148 Enhancement to the "Build your own PDB" utility.
UTILBLDP 21.231 USERADD=80/90 create TYPE80A or TYPE90A execution.
UTILEXCL 21.054 Variables KY8DISTM/KY8CPUTM corrected.
VMACSMF 21.127 Variable INFILENM contains input DSNAME or dir/file.
VMXGINIT 21.253 Global macro variables TRENDOLD/TRENDNEW/TRENDINP.
VMXGRMFI 21.067 Examples to invoke RMFINTRV twice, general cleanup.
VMXGRMFI 21.094 Corrections to MSU4HRAV calculation.
VMXGRMFI 21.113 Parsing of more than 99 service class names.
VMXGRMFI 21.125 Different SRVCLASS definitions can map to same WORK.
VMXGRMFI 21.234 Test for '2084'x CPUTYPE, only needed S/390 R2.10.
VMXGSUM 21.185 New INTERVAL=SECOND now supported.
VMXGSUME 21.277 Enhanced alternative, tolerates non-present variables
VMXGUOW 21.093 PDB.ASUMUOW corrected, blank SYSTEM plus others.
WEEKBLDT 21.045 WEEKBLDT fails under SAS Version 6.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 21.
====== Changes thru 21.320 were in MXG 21.21 dated Feb 10, 2004=========
Change 21.320 MXG 21.21 final QA corrections/incompatibilities:
CLRMFV -SEQENGINE=V6SEQ changed to V8SEQ/V9SEQ in CONFIGV8/V9.
CONFIGV8 See MXG Tech Note 4.A in Newsletter FORTY-FOUR, 10Feb04.
CONFIGV9 -VMACDB2. Remove line 8259: PUT _N_= 'HAVE 239 ';
EXTMNSTS -UTILEXCL. Add a second percent-sign to change line 218 to
IMACTMNT %%INCLUDE SOURCLIB(IMACZDAT);
UTILEXCL -CLRMFV. Cosmetic. A "NOT" and EQUAL symbols slipped thru
VMAC90 and were changed to "NE"; NOTs don't translate well among
VMACDB2 platforms, and were removed back in Change 8.093
VMACTMNT -Only if you received MXG on CD: Change line 57 in member
VMXGINIT VMACTMNT, removing "DEVNR", changing the line to be:
Feb 10, 2004 MACRO _BTYSTS SYSTEM SHIFT INTBTIME %
-The CD-only VMACTMNT error was caused by my accidental
copying of support for the new TYPESTAT statistics data
from the subtype 6 ASMTAPEE ML-30 SMF record, after the
ftp and tape files were built. TYPESTAT was validated,
but I didn't use TYPSTMNT to test its sort macro. Member
EXTMNSTS was added and VMXGINIT updated for TYPESTAT and
the sort has been tested in this final iteration.
-Variables SMF9029N,SMF9029A,SMF9030I in archaic VMAC90
were renamed A, N, and Y, only in case someone foolishly
uses both VMAC90 and VMAC90A in same step. Use VMAC90A.
Thanks to George Canning, Abbey National Plc, ENGLAND.
Thanks to Vernon Kelley, IBM, USA.
====== Changes thru 21.319 were in MXG 21.21 dated Feb 6, 2004=========
Change 21.319 Variables PARTNCPU and CPCMSU were added to the new
VMXG70PR PDB.ASUM70LP dataset so the hardware attributes of
Feb 6, 2004 the number of engines and MSU capacity are kept.
Feb 10, 2004
Thanks to Una Cho, CIGNA, USA.
Change 21.318 The label for DB2 variable QLACRBND should be
VMACDB2 SQL STATEMENTS*BOUND FOR*REMOTE ACCESS insteadd of
Feb 5, 2004 ... REMOVE ....
Thanks to Marnel Groebner, State of Washington, USA
Change 21.317 IBM changed the contents of SMF64BMH; its new label is
VMAC64 SMF64BMH='REQUEST HITS*FROM RLS BMF*BUFFER POOL'
Feb 5, 2004 the number or requests obtained from the local shared
buffer pool, and not the old VSAM LSR pool.
Thanks to Thomas R. Coccia, Bank One, USA.
Thanks to Hari Maramraju, Bank One, USA.
Thanks to Raymond G. Seeley, IBM OS/390 Support, USA.
Change 21.316 Updates for SMF record from Serena Ultimizer fix an INPUT
VMACULTM EXCEEDED error and revised INPUT logic have been tested
Feb 4, 2004 with Version R313, but the DSECT indicates no changes
since R310.
Thanks to Scott Barry, SBBWorks, Inc, USA
Change 21.315 PDB.TYPE70PR data with STARTIME 10:13:59 and 10:14:00
VMXG70PR caused multiple observations in PDB.ASUMCEC; the logic
Feb 4, 2004 to force STARTIME across the CEC to the nearest minute
was changed to STARTIME=60*FLOOR((STARTIME+30)/60);
and now those two observations are correctly combined.
Why the STARTIME are off by a full second in a SYSPLEX
is not known at this time. See Change 23.070 redesign.
Thanks to Alan Gray, Carefirst, USA.
Change 21.314 Support for "top" unix command in this user contribution.
UNIXTOP This member contains input for IEBUPDTE to create a PDS
Feb 4, 2004 or directory of the sample program.
This code is not yet "MXG-structured".
Comments in the members tell you what to do!
Thanks to Xiaobo Zhang, ISO, USA.
Change 21.313 Error IEC143I 213-04 on STEPLIB DD with the SAS JCL PROC,
MXGSASV8 after you have executed MXGSASVx JCL Proc, tells you to
MXGSASV9 change your SAS proc to //NULLPDS DD DISP=(NEW,DELETE),
Feb 4, 2004 to matches MXG's discovery that (NEW,DELETE) is safer for
all sites than (MOD,PASS) - see text of Change 20.076.
However, if you do NOT have CA-11, and you are not the
SAS installer, you can circumvent this error by making
//NULLPDS in MXGSASxx PROC use the archaic (MOD,PASS).
This change is doc only; nothing was changed in MXG.
Thanks to Allana Jacob, IBM CANADA LTD, CANADA.
Change 21.312 Support for Beta97 creates new datasets in this user
EXTYB970 contribution.
EXTYB972
EXTYB974
EXTYB97L
IMACBE97
VMACBE97
VMXGINIT
Feb 4, 2004
Thanks to Stephen Bell, Sparkassen Informatik, GERMANY.
Change 21.311 Support for Omegamon for VTAM subtype 29/30 additions and
VMACOMVT protection for INPUT STATEMENT EXCEEDED error, and for
Feb 3, 2004 records that are too short to contain all IRECS.
Thanks to Manfred Engelhart, Candle GmbH, GERMANY.
Change 21.310 Support for z/OS 1.5 (V 1 Release 5) is already in place
DOC in MXG 21.04 and later (required for z/OS 1.4 PTFs), so
Feb 3, 2004 no new MXG changes are required. Minor additions in data
fields that were reserved were compatibly made by IBM.
Change 21.309 Enhanced support for "sar", "acctcom", and "ps" reports
UNIXSAR1 for AIX & SUN unix platforms, in this user contribution.
Feb 3, 2004 In addition to the existing UNIXSAR example, this member
contains four SAS members and two Perl scripts that you
can use to process "sar" data. You need to install the
daemons in the SUN and AIX operating systems; collect the
data in each system, ftp or nfs the data to MXG, and then
process the sar data with the SAS programs.
This member contains input for IEBUPDTE to create a PDS
or directory of the sample program.
This code is not yet "MXG-structured".
Comments in the members tell you what to do!
Thanks to Uriel Carrasquilla, NCCI. USA.
Change 21.308 Member EMAIL previously contained examples to send an
EMAIL email from SAS; this enhancement defines %MACRO EMAIL
Feb 3, 2004 that will send a PROC PRINT of any SAS dataset via a
list of email addressees.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.307 Example program that reads z/OS SYSLOG file for specific
SYSLOG events; an excellent starting place for additional event
Feb 3, 2004 analysis. Please send your updates for other events.
This example tracks these SYSLOG events:
AQ/HQ Activate/Hold JES2 input job queue
SI/TI/PI Start/Modify/Purge Initiators
TJ Modify a job - class, scheduling environment
SJ Force a job to start, disregard class limits
T JOBCLASS Modify characteristics of a job class
Thanks to Chuck Hopf, MBNA, USA.
Change 21.306 This change was rewritten. There is no new "87F3x" flag
VMACVMXA (which was actually a typo, the value was "873Fx") and
Feb 3, 2004 MONWRITE was not changed. However, if you ftp MONWRITE
Mar 22, 2004 data, and translate it from EBCDIC to ASCII, instead of
using a BINARY ftp transfer, you will find the incorrect
0000873Fx value instead of 00008709x at the start of the
data file, and you'll get *ERROR* PROBABLE DATA LOSS DUE
TO MONWRITE FAILURE messages. Always ftp MONWRITE as
BINARY, (i.e., NOASCII NOCRLF if using IND$FILE, etc.)
Aug 20, 2004: If you send VMACCT data and translate it
from EBCDIC to ASCII, CPUMODEL='3F84'x results, which is
the cause of INVALID DATA error for a '2084'x CPU.
Thanks to Dwain Majak, ACS, USA.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch Companies, USA.
Change 21.305 UNDECLARED ARRAY REFERENCED: ICSRDQU error precedeed by
VMXGINIT an APPARENT SYMBOLIC WCICRDQ NOT RESOLVED error was due
Feb 3, 2004 to back-level VMXGINIT in tailoring that didn't define
&WCICRDQ. The text &WCICRDQ..CICSRDQU (KEEP= without
the macro var was parsed to ISCRDQU (KEEP= which
looks just like an array reference to SAS compiler.
Real purpose of this note is to suggest to always take
care of the first SAS error first, and then rerun to see
if that also took care of subsequent SAS errors during
compile of complicated programs.
Thanks to Michael Cosentino, Rohm & Haas, USA.
Change 21.304 New MXG Tape "Event" Mount/Allocate/Recovery monitor sees
ASMTAPEE all tape events, no longer samples for mounts, and gets
VMACTMNT back all of the JOB-level data lost when we gave up XMEM.
Feb 5, 2004 ASMTAPEE is a complete redesign that executes in a mount
exit in the address space of the job, so we not only see
all mount events, but no longer have to use Cross Memory
Services. The new design had one field test iteration
last year, and only one graceful failure (i.e., only an
ABEND of the monitor program, no impact to the system)
when two concurrent allocation recovery events for the
same device occurred, which is now protected.
However, please test this new design with extreme care;
this text will be updated when we have had confirmed
field tests and feed back from new users. See comments
in the ASMTAPEE member for more information.
Since ASMTAPEE will eventually replace ASMTAPES, this
is "ML-30" of the MXGTMNT program.
When MXIT=YES is used, then the mount exit monitoring is
used instead of interval sampling. MXIT=NO is default;
you must change that default to create the exit monitor.
The new MXIT=YES exit monitor (like the recently added
allocation recovery monitor logic) runs in a subtask of
MXGTMNT to keep it separate and independent. If an
unrecoverable error occurs in the MXIT=YES subtask, it
will shut itself down and switch back to using the old
interval sampling method, so that records won't be lost.
New variable TMNTFLAG='1.......'B is set in records that
are created by the new exit monitor.
The tape allocation monitoring function still uses
interval sampling.
Most of the fields that were removed when we disabled
XMEM processing are populated by the exit monitor, and
these new variables are created in TYPETMNT dataset:
ASID ='ASID'
DDNAME ='DD NAME'
DSNAME ='DSNAME NAME'
JOBCLASS='JOB*CLASS'
PGMRNAME='PROGRAMMER*NAME'
RACFGRUP='RACF*GROUP*NAME'
RACFTERM='RACF*TERMINAL*NAME'
RACFUSER='RACF*USER*NAME'
STEPNAME='STEP*NAME'
TMNTACTN ='MNTFLG: 80 04 02 01'
TMNTDEVC='DEVICE*NUMBER AS*CHARACTER'
TMNTEDUR ='EVENT*DURATION'
TMNTFLAG ='MNTFLG: 80 04 02 01'
TMNTRCN ='RELATIVE*CONCATENATION*NUMBER'
Thanks to "asmguy@mxg.com".
Change 21.303 Variable ZARCHMDE, "System is running in z/Architecture"
VMAC7072 is now kept in TYPE70 dataset, since it has been found to
Feb 2, 2004 be a useful discriminant when activating Z/Arch mode.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 21.302 DB2 SMF 102 IFCID=22 variable QW0022OS was negative when
VMAC102 the &RB.4. field contained 'FFFFFFFF'x, an invalid float
Feb 2, 2004 value. MXG now tests and detects and sets QW0022OS to a
missing value instead of -7.237E75. There is no IBM note
describing why the SQL cost was not validly populated.
Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.
Change 21.301 Ahh, what we have to do to keep MXG running under SAS V6!
VMXGCICI VARIABLE S2ACT S2TCT IS UNINITIALIZED because their names
Jan 30, 2004 DS2ACT and DS2TCT started in column 1 of the ORDER= stmt,
and the preceding label's ending quote was in column 72,
and the V6 parsing was imperfect. Inserting a blank has
corrected this V6.09-only error, caught in our QA.
P.S. The only impact without this change was that the
real variables DS2ACT/DS2TCT had blank labels.
Thanks to Freddie Arie, TXU, USA.
Change 21.300 The calculated EXPORTIM was incorrect for hour 0; the
VMACHPAI logic was revised to protect that hour of the day.
Jan 30, 2004
Thanks to Nick Johns, Sainsburys, ENGLAND.
Change 21.299 PARTNCPU was zero for z800s running in basic mode. MXG
VMXGRMFI tested SMF70WLA, the image size, to determine what data
Jan 30, 2004 is present, because on OS/390 R2.10 or lower, SMF70WLA
was zero or missing. But when basic mode or LPAR mode is
running with OS/390 R2.10 or z/OS, SMF70WLA is populated
with the image size in MSUs. When there are no LPARS,
PARTNCPU was zero, so using CPCNRCPU=PARTNCPU was wrong.
The test was revised to use SMF70LAC, which is zero on
basic machines, but nonzero for LPARs.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.298 Nearly cosmetic; all variables were kept in TYPE30_4 when
ANAL30 four were needed; the MACRO _KTY30U4 V1 V2 V3 V4 % was
Jan 29, 2004 replaced with MACRO _VTY30U4 KEEP= V1 V2 V3 V4 %
Thanks to Diane Eppestine, SBC, USA.
Change 21.297 Variable ZDATE added to the list of variables kept in the
UTILEXCL PDB.CICSDICT dataset, for possible use.
Jan 29, 2004
Change 21.296 Does MXG support the VM Performance Tool Kit data file?
TYPEVMXA There is a VM Perf took kit that apparently creates its
Jan 29, 2004 own output data file, but that file is not supported in
MXG, because MXG's TYPEVMXA member supports all of the
monitor data from the IBM-supplied CMS MONWRITE command,
rather than the tool kit's subset of the monitor data.
I thought there might be an actual MONWRITE execution as
part of the tool kit's process, so that you would only
have to find and read that intermediate file,
and if you find there is one, please let me know,
or if you find there is tool kit data not in MONWRITE,
then I'll consider supporting the tool kit file,
but one user found it easier just to create a virtual
machine and run MONWRITE in it to monitor all of the VMs
on that system (including each of the Linux machines!);
His virtual machine had these directory statements:
IUCV *MONITOR MSGLIMIT 255 NAMESAVE MONDCSS
and then he can issue the "start" command:
MONWRITE MONDCSS *MONITOR DISK
command which will cause the MONWRITE records to be
copied from the monitor to this virtual machine and
written on its a-disk. Then the command
MONWSTOP
is issued to close the file and then reissue the "start"
command to start the monitor back up.
As he said, "it's crude, but it works."
Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 21.295 Documentation of /VIEW limitation. This simple program
doc should read SMF type 110 records, create dataset CICSTRAN
Jan 29, 2004 as a view (to skip a write and read of CICSTRAN), and at
the same time, create all of the CICS Statistics datasets
in the //WORK file, then PROC SORT each of the CICS stats
datasets to the //PDB by the _S110ST macro, and then the
_SUOWCIC macro will PROC SORT the CICSTRAN view to create
the PDB.ASUMUOW dataset. This program fails:
%INCLUDE SOURCLIB(VMAC110,VMACSMF,IMACKEEP...);
DATA
_VAR110 /VIEW=_WCICTRN;
_SMF
_CDE110
_S110ST
_SUOWCIC
because of the /VIEW operand. Remove the /VIEW= and the
program works as expected. Why? Because the existence
of a /VIEW defers the execution of that data step until
that dataset is referenced, but the _S110ST macro starts
with PROC SORT DATA=CICAUSS, so ERROR: CICAUSS NOT FOUND
results since that dataset hasn't yet been create; what's
really confusing is that the INFILE SMF messages are not
on the log, and SMF was never opened.
However, reordering the macro references:
DATA
_VAR110 /VIEW=_WCICTRN;
_SMF
_CDE110
_SUOWCIC
_S110ST
the program works just fine, because the CICSTRAN gets
referenced first, the data step runs, and _SUOWCIC runs,
and the CICS Statistics Data Sets are SORTed at the end.
Okay, since VIEW= is for performance, putting the Sort
of CICS Stats after _SUOWCIC means those stat datasets
will be occupying //WORK space until after _SUOWCIC
ends, which might itself be a bigger performance issue
than the write/read of CICSTRAN saved with the VIEW.
An alternative that writes those CICS Statistics Data
Directly to the PDB library, without the PROC SORT, so
no duplicates will be detected, but without the extra
copy, was described in Change 18.152:
//SYSIN DD *
%INCLUDE SOURCLIB(VMAC110,VMACSMF,IMACKEEP...);
%LET CICSTAT=PDB;
_CICSTAT;
... rest of your program
Change 21.294 Support for new JVM Heap data in SMF 120 subtype 1 and 3:
EXT120SH
EXT120SR Subtype dddddd dataset description
IMAC120 1 T120SH TYP120SH server region heap
VMAC120 3 T120SR TYP120SR server region intervval heap
VMXGINIT Has been tested with only one heap per server region, so
Jan 29, 2004 have not validated with multiple heaps and code is nasty.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 21.293 Support for DFSMS/rmm + DCOLLECT in the JCLDAYDS example.
DAILYDSR The original JCLDAYDS, for "Daily Data Set Accounting"
JCLDAYDS used DCOLLECT for DASD space accounting and TMS/CA-1 for
Jan 29, 2004 tape storage; this enhancement will use IBM's DFSMS/rmm
instead of TMS for your tape storage accounting.
Thanks to Diane Eppestine, SBC, USA.
====== Changes thru 21.292 were in MXG 21.08 dated Jan 28, 2004=========
Change 21.292 Jan 26 21.08: ERROR: VARIABLE R0723AX NOT FOUND TYPE7002,
VMAC7072 when sorted; correct name is R7023AX in the _BTY7002
Jan 28, 2004 macro definition.
Thanks to Craig Loubser, Winn-Dixie, USA.
Change 21.291 If your "PDB" Data Libraries were built by V6, reusing
TYPE102 that old V6 PDB under SAS V8/9 to create MXG datasets
Jan 27, 2004 with "long length character variables", i.e, those with
"LENGTH varname $ &SASCHRLN;" in their VMACxxxx member,
like SQL text variable QW0063ST in T102S063 dataset,
will fail. You must write those V8 SAS datasets to V8
data libraries; you cannot write them to a V6 library.
Create a new data library with SAS V8, and if you need
any of the old datasets as input, the use PROC COPY to
copy from the old V6 library to the new V8 library.
In this specific case, the error that surfaced was that
variables SEG10263 and LEN10263 were missing; they were
counts of 200-byte segments of SQL text under SAS V6.
Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.
====== Changes thru 21.290 were in MXG 21.08 dated Jan 26, 2004=========
Change 21.290 Changes in OPTIONS for SAS V9.1.
AUTOEXEC -The options for printing statistics on the SAS log have
CONFIGV9 been enabled and made consistent; benchmarks with V9.1
JCLTEST9 show there is no longer a CPU cost associated with these
MXGSASV9 options, now the default, as their informatiopn on the
Jan 27, 2004 log has been very useful in execution problem resolution.
Jan 31, 2004 -ASCII: AUTOEXEC STIMER FULLSTIMER
-EBCDIC: CONFIGV9 STIMER FULLSTIMER DLEXCPCOUNT MEMRPT
FULLSTATS
Under Windows, SAS V9.1 FULLSTIMER increased run time
by only 14 seconds in a 5 minute execution.
-New options DTRESET added to both AUTOEXEC and CONFIGV9,
to print the current date/time on the SAS log and SAS
listings (rather than the constant step initiate time on
every page!).
-See also Newsletter FOURTY-FOUR, which contains benchmark
comparisons of SAS V9.1, along with other notes
concerning using 9.1.
-The DLEXCPCOUNT option causes these messages to be on the
joblog:
12.56.18 JOB00052 +SAS processed 122 blocks and
and performed 64 EXCPs on library MXG.MONTHRPT.VOLS
====== Changes thru 21.289 were in MXG 21.08 dated Jan 25, 2004=========
Change 21.289 Execution tests with SAS Version 9.1 caused NOTE 49-169
VMAC6156 "NOTE 49-169: The meaning of an identifier after a
IMACICBB quoted string may change in a future SAS release.
VMACX37 Inserting white space between a quoted string and the
VMACEREP succeeding identifier is recommended."
ANALDB2R V9.1 fixed the 9.0 spurious 49 problem, so 9.1 notes were
ANALRMFR used to find the 7 members and 14 lines of MXG code that
ANAL94 needed a blank to be inserted to support for this future
Jan 25, 2004 SAS version now, and make these notes go away.
Because you may have similar now-non-recommended-syntax,
these are the statements that were flagged and revised.
Member Statement Text
VMAC6156 PUT '***'JOB
IMACICBB LABEL 'ID*(='23'x)'
VMACX37 IF EQ 'X37 3'OR PRODREL
VMACEREP LABEL '...('YY'X)'
ANALDB2R PUT ...text='QW0020PC' text'
PUT ...text='QW0020AN' text'
PUT ...text='QW0023PD' text'
PUT ...text='QW0024PD' text'
PUT ...text='QW0025PD' text'
ANALRMFR PUT "*"LPARNAME"*"
PUT PERIOD='PERIOD
ANAL94 PUT 'S94TVCS'GB' 3 times
Change 21.288 -Support for Type 42 Subtype 10, Volume Selection Failure'
EXTY42VS because of insufficient space when allocating a dataset
IMAC42 creates new TYPE42VS dataset.
VMAC42 -Type 42 subtype 3 TYPE42AU SMS AUDIT with SMF42EAC='VARY'
VMXGINIT needed +22 instead of +21 after SMF42ENM, causing vars
Jan 25, 2004 SMF42EVL/ESY/EST to be incorrect by one byte.
Thanks to Chris Edwards, Defence Computing Bureau, AUSTRALIA.
Change 21.287 Calculation NRCPUS=SMF70ONT/DURATM had value 2.00000040
VMAC7072 when IRD was not in use, and that fractional value had
Jan 25, 2004 impact on PCTRDYWT and CPUUPTM calculations. Calculation
now uses NRCPUS=ROUND(SMF70ONT/DURATM,.001);
to keep three decimal accuracy after that calculation.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.286 Enhancement to support many NDM/Connect Direct subtypes
EXNDMCS that were previously skipped, with/without log messages.
EXNDMEI All known NDMRTYPEs are now recognized and will be output
EXNDMEV in their corresponding NDMxx dataset; those for which I
EXNDMFA could find DSECTS have additional variables INPUT, and
EXNDMIP those for which I had test records have been validated.
EXNDMJX The ACCOUNT/DATASET name offsets are decoded, but the
EXNDMLS offset not yet exploited, since no one has actually asked
EXNDMMF for any of this new data; users just observed the log
EXNDMPE messages that these new types existed in their SMF data.
EXNDMPX Fully Decoded:
EXNDMQE Dataset NDMRTYPEs Output
EXNDMQT NDMPS - PS or SW
EXNDMRE NDMPX - PX
EXNDMRO NDMQE - QE QH QT QW
EXNDMS2 NDMSY - SY: NO DSECT, ADDL DATA EXISTS.
EXNDMSC NDMAE - AE DU,IU,SU,UM
EXNDMSD NDMSD - SD
EXNDMSH NDMCI - CI CE TI JI
EXNDMSP NDMDT - DT SP FT IB SS SN IS IA ID IP IF IX VP
EXNDMSY Header Only Decoded:
EXNDMTR CS FA GO IF JX LS MF NL PE PI RE RO S2 SB
EXNDMUM SC SH SY TP TR WS XO
EXNDMWS The Header Only subtypes are output, but only with header
EXNDMXO variables; MXG prints a message and hex dump of the first
IMACNDM of each new subtype, up to 10 new subtypes. If you have
VMACNDM the DSECT documentation of those Header Only subtypes,
Jan 25, 2004 please send them so I can fully decode those subtypes.
If you want to suppress those MXG messages from NDM, use:
//SYSIN DD *
%LET MACFILE= %QUOTE( RETAIN NDMNEWST 99; );
%INCLUDE SOURCLIB(TYPSNDM.... );
(or you can put that RETAIN NDMNEWST 99; in IMACFILE).
Change 21.285 New NTSMF Objects supported:
EXNTWBSC dddddd Dataset Object
EXNTWSRR NTWBSC WEBSRVCA NT WEB SERVICE CACHE
EXNTWSRC NTWSRR WSRMPRMC NT WSRM PROCESS MATCHING CRITERIA
EXNTWSRY NTWSRC WSRMPROC NT WSRM PROCESS
VMACNTSM NTWSRY WSRMPLCY NT WSRM POLICY
Jan 22, 2004 -New NRDATA=40 in Active Server Pages supported
Feb 18, 2004 -Variables CIINNAME in dataset CITRIXIN and SQBPNAME in
dataset SQLBUFPT were changed from numeric to character,
as they are Instance Name, and their original numeric
definition was wrong. If you build Week-to-Date, or
combine NTSM datasets built before and after this change,
you will get VARIABLE SQBPNAME HAS BEEN DEFINED BOTH AS
CHARACTER AND NUMERIC (or VARIABLE CIINNAME ....).
You must drop the old variable before combining the old
and new datasets.
Thanks to Terry Heim, ECOLAB, USA.
Change 21.284 TYPE99 variables S99TLPI and S99TSPI were 100 times too
VMAC99 large; they should have been input &PIB.4.2 instead of
Jan 22, 2004 &PIB.4.
Thanks to Adam Warkow, Cicigroup, USA.
Change 21.283 TYPE119 Variables UCRPORT/UCLPORT and CTLPORT/CTRPORT are
VMAC119 now kept as Port Number in numeric variables, instead of
Jan 22, 2004 the variables with suffix C (from which they are created,
but which should not have been kept).
Variables UCLLIP and NILLIP's translate statement typos
that had RIP instead of LIP were corrected.
Some labels were also revised.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 21.282 Change 21.277 created VMXGSUME to tolerate non-present
ASUMDBSB variables, but it ABENDed with several sample ASUM/TRND
ASUMHSM members that ran just fine with its predecessor design.
MNTHDB2S
MNTHDBDS In each case, the VMXGSUM arguments coded in the example
TRNDDB2S were actually in error, and the output dataset created by
VMXGSUME the old version were never correct nor as expected. but
Jan 22, 2004 the old VMXGSUM did not fail.
-ASUMDSDB had DATETIME=QWACBSC, but variable QBACBSC was
not in the SUMBY= argument list. This caused 22-322 and
180-322 errors underscoring DATETIME=&DATETIME with the
new code as only clue as to the real error.
ASUMDSDB was corrected with QWACBSC in place of QWHSSTCK
in the SUMBY.
-ASUMHSM did not create SHIFT in the INCODE for HSMINTRV,
but SHIFT was in the SUMBY, and BY SHIFT was used in the
step after than %VMXGSUM execution. The old design would
create the non-present SHIFT variable, but the design of
the revised VMXGSUM built its SUMBY without SHIFT, so the
VMXGSUM executed correctly, but then the following step
failed when it found no SHIFT variable.
ASUMHSM was corrected to create SHIFT in the INCODE, as
it did in the other steps of that example, with IMACSHFT.
-MNTHDB2S had the token "DATETIME" in the SUMBY list, and
not the correct variable name. Replaced DATETIME in the
SUMBY list with the STRTTIME variable (i.e, the variable
that was in the DATETIME= argument). However, MNTHDB2s
also had two datasteps in the INCODE=, which required a
change to VMXGSUM to support. Finally, however, because
"DATETIME" as a token in the SUMBY= list was the original
recommended syntax for %VMXGSUM, and probably is around
in lots of existing jobs, the enhanced VMXGSUM was again
enhanced, and with this revision:
If "DATETIME" string is in the SUMBY= list, and
it is NOT ALSO the DATETIME= variable name, and
the length of the DATETIME= variable name is not 0,
then the SUMBY uses the DATETIME= variable name
instead of the name DATETIME.
But because the use of "DATETIME" token in the SUMBY
is archaic, and so you know what we've done, there is
a log message that we found this archaic usage.
-MNTHDB2S - Variable QWHSSTCK not found.
-TRNDDB2S - Restructured.
Change 21.281 Support for DB2 Version 8.1, COMPATIBLE. MXG 20.20 or
VMACDB2 later will read V8 SMF 100 and 101 records without errors
Jan 21, 2004 ("MXG 20.20+ TOLERATES DB2 V8"); this change adds support
for the new fields added at the end of existing segments.
New variables in DB2ACCT:
QXCRESEQ='CREATE*SEQUENCES'
QXALTSEQ='ALTER*SEQUENCES'
QXDROSEQ='DROP*SEQUENCES'
QXPRRESI='PREPARES*RESTRICTED*PENDING*INDEX'
QXALTVW ='ALTER*VIEWS'
QLACOFF1='OFFSET TO*REST OF*TRUNCATED*QLACLOCN'
QBGAP1 ='P-LOCK*LOCK REQS FOR*SPACE MAP*PAGES'
QBGAP2 ='P-LOCK*LOCK REQS FOR*DATA*PAGES'
QBGAP3 ='P-LOCK*LOCK REQS FOR*INDEX LEAF*PAGES'
QBGAU1 ='P-LOCK*LOCK REQUESTS'
QBGAS1 ='P-LOCK*LOCK SUSPND FOR*SPACE MAP*PAGES'
QBGAS2 ='P-LOCK*LOCK SUSPND FOR*DATA*PAGES'
QBGAS3 ='P-LOCK*LOCK SUSPND FOR*INDEX LEAF*PAGES'
QBGAWS ='WRITE AND*REGISTER*WAR*REQUESTS'
New variables in DB2STATS:
QBSTLPL ='TIMES WHEN*PAGES ADDED*TO LPL'
QTGSFLMG='FALSE*CONTENTIONS*ENCOUNTERED'
Q3STHWIB='IDBACK*THREAD*HIGHWATER*MARK'
Q3STHWIF='IDFORE*THREAD*HIGHWATER*MARK'
Q3STHWCT='CTHREAD*THREAD*HIGHWATER*MARK'
-Apr 18, 2005: Version 8.1 is "almost" COMPATIBLE; some of
the data fields can be in "UNICODE UTF-8" format; an MXG
ERROR message will be printed if one is encountered, and
MXG 23.03, Change 23.082, supports QWHSLOCN in UNICODE.
-This change also inserted QBGAGG=TBGAGG to correct the
value in QBGAGG.
Thanks to Steve Cunningham, DST Systems, Inc, USA.
Change 21.280 -Variable LGMGEN was input as $EBCDIC8., but that field is
VMACPDSM actually a one byte number with range 1-99. New variable
Jan 20, 2004 LGMGENNR as numeric is now created, and LGMGEN is not.
Jan 23, 2004 -The logic for 'FF'x values and reset to blank values were
removed; that reset is needed for EBCDIC text fields, but
these fields are all $HEX formatted, so changing 'FF'x to
'40'x or '20'x is undesired.
-The FORMAT LGPSRRC LGJRC $HEX1. was changed to $HEX2., as
should be all MXG one-byte character variables containing
hex data; it makes no sense to display just the first hex
nybble. I assumed it was a typo, but a search of all of
MXG found $HEX1 in VMACXXXX, of all places, in VMACIMS,
and in XLOGREC members, which were changed to $HEX2.
However, HEX1. without the dollar-sign is validly used as
an INFORMAT for numeric variables, and was not changed.
Thanks to Peter Lines, RBS, UK.
Change 21.279 Using PROC COPY + SELECT dataset(s) to copy from a tape
DOC data library should specify MEMTYPE=DATA to minimize the
Jan 19, 2004 run time and the I/O resources. PROC COPY with a SELECT
statement without MT=DATA reads the entire tape dataset
(which could be multi-volume!!), and does not stop when
the last dataset in the SELECT list has been found.
Because PROC COPY can copy more than just datasets, it
continues to read for other entries (Graphs, Catalogs)
with the same name. By adding MT=DATA (or MEMTYPE=DATA),
SAS will stop reading the input when the last dataset has
been read, reducing CPU and elapsed time and I/O.
All PROC COPY statements in MXG that copy datasets now
have MEMTYPE=DATA or MT=DATA specified.
Change 21.278 -NTSMF Active Server Pages object has NRDATA=36, was 34,
ADOCNTSM but both new metrics are named "ASP.NET.V1.1.4322", and
EXNTIP4D added at the end of the record. Temp protection reads 34.
EXNTIP4I -Web Service object has NRDATA=86, was 81, with five new
IMACNTSM fields with "COUNTER NAME MISSING" inserted in 4 places.
VMACNTSM Temporary protection added second INPUT for know 81 vars.
VMXGINIT -Four new Objects are supported:
Jan 18, 2004 DDDDDD DATASET Object
NTASPN ASPNET ASP.NET Apps v1.1.4322
NTASPA ASPNETAP ASP.NET v1.1.4322
NTIP4D IPV4SDRV IPSEC v4 Driver
NTIP4I IPV4SIKE IPSEC v4 IKE
-Some recently added new variables, most from new objects,
were not listed in the (required) INFORMAT 16.2 list,
which would cause values to be 100 times too high.
PROC CONTENTS was used to identify those variables with
no informat and the list was updated (although there are
some counters, notably in the headers, that are integers
and correctly do not belong in the INFORMAT 16.2 list.
-Internal notes and instructions describing how to update
the MXG VMACNTSM code to add support for new object and
new variables were revised, and skeleton code examples
added to make my next revision more procedural.
Change 21.277 -VMXGSUME is an enhanced VMXGSUM, designed to tolerate
VMXGSUME dropped variables from a dataset that are expected by an
Jan 17, 2004 invocation of VMXGSUM, if a variable was in the SUMBY=
list, the VMXGSUM execution failed, or if the variable
was in one of the other lists, that variable with missing
value was created in the output dataset. This change
reads one observation of the input dataset and invokes
in INCODE argument to get the full list of all variables
that exist, and compares that with the variables in all
of the VMXGSUM arguments, and rebuilds the SUMBY=, etc.,
to use only the existing variables.
Specific example: Many sites drop OPERATOR from their
CICSTRAN dataset, but ASUMCICS has that variable in its
SUMBY= list, so previously you had to EDIT an ASUMCICS
to remove the references to OPERATOR. Now, that is
done automatically.
-Performance issues if the input dataset is on tape.
There will be multiple tape mounts on the job log; two if
KEEPALL=YES, and three if KEEPALL=NO, as we must open the
input dataset to determine variables that exist.
If this is a single-SAS-data-set tape library, the extra
mounts should not cause any delay, as only repositioning
is needed on real tape, especially if the tape is a VTS.
However, if the input tape data library contains multiple
SAS datasets, on multiple tape volumes, we must at least
open and read the data library sequentially twice to read
one observation, and then a final time to actually read
the full input dataset, and that could cause an increase
in the elapsed time.
You might consider PROC COPY; SELECT xxxxxxx; from tape
to disk before executing VMXGSUM, but initial test show
that is may not be any better, the copy must write the
full dataset with all variables, but VMXGSUM brings in
only the variables it will need, and write is much more
expensive than read.
Adding a PROC COPY step may increase, or may decrease
the execution time.
Note: This is a big performance hit, just discovered:
Always use MEMTYPE=DATA on PROC COPY with SELECT
statement from tape data libraries.
With MEMTYPE=DATA, SAS stops reading the input tape
library when it finds the last SELECTed dataset.
Without MEMTYPE=DATA, the PROC COPY doesn't know
you only want data entries, so it continues to read
the entire tape data library, because there could
be a different entry (Graphs,Catalogs,etc) with the
same name!
Because the enhanced VMXGSUM can cause errors in working
code, it is not used by default anywhere in MXG. But you
can use the enhanced macro defined in the VMXGSUME member
simply by using %INCLUDE SOURCLIB(VMXGSUME); as the first
statement in your //SYSIN stream, as that will compile
the Enhanced-but-named-the-same %VMXGSUM macro that will
be used by SAS for that job.
Change 21.276 Typos caused UNINITIALIZED VARIABLE message for WATSBACT
ANAL116 (s/b WTASBATC) and WTASPSEO (s/by WTASPSE-zero).
Jan 17, 2004
Change 21.275 Reading Active (undumped) VSAM SMF files caused TYPE70PR
VMAC7072 dataset variable SMF70CIN to be blank, which then caused
Jan 16, 2004 variables LPARCPUS, PARTNCPU, and NRIFCPU to be wrong.
The +OFFSMF (needed to read VSAM SMF transparently) was
not added to the OFFCPUID calculation.
Thanks to Melanie Hitchings, BT, ENGLAND.
Change 21.274 Protection for truncated SMF 110 record (LENGTH=76) was
VMAC110 added, testing the APS/ASS triplets before INPUTing the
Jan 15, 2004 rest of the record. Record was truncated because ACS
Jan 21, 2004 rules for Eagle tape drives forced LRECL=80, and the
ACS rule overrode the Model DSCB in the DD statement.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.273 Variable NTLIP, Local IP Address, was incorrect, typo.
VMAC119 The NTLIP=COMPRESS(NTRIP); should have been (NTLIP).
Jan 14, 2004
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 21.272 Typos corrected; MVSWAIT3=CPUWAITE is MVSWAITE=CPUWAITE
VMAC7072 and MVSWAITW=MVSWAITX is MVSWAITX=MVSWAITX twice.
Jan 12, 2004
Thanks to Hugh Lapham, RCMP, CANADA.
Change 21.271 -Enhancement decodes INSYSAF bit map to create variables
IMACTPMX JBAFF1-JBAFF32 for the System Affinities of each JOB, but
VMACTPMX you must EDIT the IMACTPMX member, which now defines two
Jan 11, 2004 formats ($MXTPMPX and $MXTPMBT) that map your SYSTEM IDs
Jan 12, 2004 to your SYSPLEXes, and that maps the bits in INSYSAF for
Jan 13, 2004 each SYSPLEX to the AFFINITY SYSTEM's name. If you do
Jan 20, 2004 not update your IMACTPMX, the values in JBAFFn variables
Jan 22, 2004 will be wrong, or more likely, always blank.
-The INPUT(INSYSAFF,$EBCDIC)/TRANSLATE statements for the
INSYSAFF were deleted: i.e., it was "un-EBCDIC'd". That
pair of functions are used only for variables containing
EBCDIC text characters. INSYSAFF contains hex bit string
data as characters, and is formatted $HEX8.
-Variables NRACCTFL and ACCOUNT1-ACCOUNT9 are now created
from the ACCT field, decoding with your IMACACCT member
that determines how many fields are actually kept. As
old variable ACCT contains both binary numbers and EBCDIC
text, it is "un-EBCDIC'd", and is formatted $HEX32.
-CURREC5, current time of day, was incorrect; it is now
input as hhmmssth in four PK1. fields, and converted to
a SAS time value and formatted TIME12.2. I created new
variable CURRENT from CURRECn, but then found it was
exactly equal to SMFTIME, so I chose to not keep CURRENT.
-Variable JALSYJ is not labeled; it appears to be the
same as SYSTEM.
-Variable RD is not labeled; it has value 'NC' in five obs
and is blank in the other five thousand observations.
-Variable RDRDATE is formatted DATE9.
-In testing, you cannot set OBS= to less than 634, because
there are 634 input records for the CNTLLIN for the token
table look up. You get TOKEN NOT FOUND with OBS=100.
-Variables JTSDATE and JTSTIME were missing because their
informats were incorrect; now they are populated.
-Variable CA7DD was incorrectly input.
-Variable CA7DT was created as a character variable, but
that field is a time duration, so variable CA7DTM is now
created as numeric and formatted. I cannot change CA7DT
from char to numeric without causing someone's perfectly
running weekly or monthly job that combines TPMX data to
ABEND due to a variable conflict, and since CA7DT was not
ever correct, it can safely be replaced by CA7DTM.
-Variables CA7JCL, CA7SCHID formatted Z3. to print 001.
-Variable CPU FORMATed TIME12.2.
-Variable CURPRIO now INPUTs only first for bits.
-Variables DISPLD1 formatted DATE9, DISPLD2 corrected.
-Variable INPRIO input BITS4.0.
-Variable INRMT is input $EBCDIC8, but the field changed
to numeric in 5.2.1; new numeric INRMTNR variable is now
created and input PIB.2., but INRMT is still created.
-Variable INSEI input $EBCDIC8 instead of 4.
-Variable JXCPUCA should have been name of JCXPUCA; both
variables now exist, but use only JXCPUCA.
-New variables JES3M26,JESM27,JES3M28 and JES3M29 were
replaced with JLSENQ, JLSENQN, JLSLIMTT and JLSLIMTN,
as they had nothing to do with JES3.
-User character variables TPMUC1-TPMUC99 and user numeric
variables TPMUN1-TPMUN99 are now supported, but none are
kept by default; you remove comments in the EXTYTPMX to
choose which user variables you want kept, and you code
LENGTH and FORMAT statements for character variables to
control their stored lengths and protect any $HEX data.
You also blank out the variable's name from the DROP code
in that member. The example also shows how you can
create variables from any binary fields in your character
fields, and how to use MACRO _KTYTPMX to also keep them.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Kelly Vogt, Humana, USA.
Change 21.270 Short CMRDETL record caused INPUT STATEMENT EXCEEDED
VMACMVCI and STOPOVER condition; test now validates the record
Jan 8, 2004 is at least 277 bytes, prints error messages and dump of
first two short records, but no longer ABENDs.
Thanks to Mike Kevlin, CSC, AUSTRALIA.
Change 21.269 -Support for many new TNG objects from AIX, NT,and SOLARIS
EXTAI013 dddddd dataset description
thru TAI013 AI013 CA CPU GROUP
EXTAI024 TAI014 AI014 CA DISK GROUP
EXTSO016 TAI015 AI015 CA FILE SYSTEM
thru TAI016 AI016 CA INTERFACE GROUP
EXTSO026 TAI017 AI017 CA KERNEL CONFIG GROUP
FORMATS TAI018 AI018 CA KERNEL GROUP
IMACTNG TAI019 AI019 CA MEMORY GROUP
VMACTNG TAI020 AI020 CA NETWORK GROUP
VMXGINIT TAI021 AI021 CA PER CPU GROUP
Jan 6, 2004 TAI022 AI022 CA SWAP GROUP
Jan 7, 2004 TAI023 AI023 PRINTER QUEUE
Jan 14, 2004 TAI024 AI024 USERS
TSO016 SO016 CA CPU GROUP
TSO017 SO017 CA DISK GROUP
TSO018 SO018 CA FILE SYSTEM
TSO019 SO019 CA INTERFACE GROUP
TSO020 SO020 CA KERNEL CONFIG GROUP
TSO021 SO021 CA KERNEL GROUP
TSO022 SO022 CA MEMORY GROUP
TSO023 SO023 CA NETWORK GROUP
TSO024 SO024 CA PER CPU GROUP
TSO025 SO025 CA SWAP GROUP
TSO026 SO026 USERS
TNT051 NT051 NTMSSQL$IN01:ACCESS ME
TNT052 NT052 NTMSSQL$IN01:BUFFER MA
TNT053 NT053 NTMSSQL$IN01:BUFFER PA
TNT054 NT054 NTMSSQL$IN01:CACHE MAN
TNT055 NT055 NTMSSQL$IN01:DATABASES
TNT056 NT056 NTMSSQL$IN01:GENERAL S
TNT057 NT057 NTMSSQL$IN01:LATCHES
TNT058 NT058 NTMSSQL$IN01:LOCKS
TNT059 NT059 NTMSSQL$IN01:MEMORY MA
TNT060 NT060 NTMSSQL$IN01:SQL STATI
TNT061 NT061 NTMSSQL$IN01:USER SETT
TNT062 NT062 NTMSSQL$IN01:BACKUP DE
NOTE: DATASETS NT051-NT062 CONTAIN DATA
FOR ALL SERVER='IN01' thru 'IN07'
Twelve MSSQL Server Objects are created for each unique
Server Name ("IN01"-"IN07"), so with 7 servers there are
84 unique objects, but only twelve datasets are needed.
Datasets NT051-NT062 contain data for all servers, with
variable SERVER="IN0n" identifying the server.
Capturing the server name from object name, and mapping
84 objects to 12 datasets required new algorithms, and
this implementation is specific to those server names.
Arrays nt063-nt134 are used for "IN02"-"IN06".
-The array sizes directly impact the REGION size needed.
Now, you can change array sizes directly with %LETs in
SYSIN, before the %INCLUDE SOURCLIB(TYPSTNG); statement.
One very large NT site, had to set:
//SYSIN DD *
%LET NT005I=21;
%LET NT007I=999;
%LET NT013I=75;
%LET NT014I=625;
%LET NT017I=625;
%LET NT035I=2000;
%INCLUDE SOURCLIB(TYPSTNG);
This works now, because all of the TNG macro variables
(MAXROWS,AInnnI,AInnnV,NTnnnI,NTnnnV,SOnnnI,SOnnnV,etc)
definition %LETs were moved to VMXGINIT and GLOBALed.
You cannot use %LET MACTNG= to redefine the array
size macro variables; you can't %LET a %LET. You can
define a MACRO _MYSIZE %%LET NT035I=2000; % and use
%LET MACTNG= _MYSIZE ; %INCLUDE SOURLIB(TYPSTNG); ,
but you cannot define MACRO _MYSIZE in your SYSIN
stream - that causes a recursion error.
-By default TYPETNG reads all cube types, and MXG default
array sizes (set so that I can read all test data sent
thus far) requires a REGION=225M. Region is NOT a real
resource, but some sites artificially constrain REGION
size. You can save some virtual storage by reading only
one cube type at a time, and also using MACTNG to specify
the _AIONLY, _SOONLY, or _NTONLY macro, to set unwanted
array sizes to a value of one.
//SYSIN DD *
%LET MACTNG= _NTONLY ;
%INCLUDE SOURCLIB(TYPSTNG);
With _NTONLY REGION=120M
With _SOONLY REGION= 66M
With _AIONLY REGION= 30M
-SAS V8.2 and MXG 21.07 defaults required REGION=100M on
z/OS 1.4; the same program used 86M Total Memory when run
with SAS V9.0 under Windows 2000.
-If there are any observations in the UNKNOWN dataset, it
means there were new objects and/or new metrics that are
not yet supported, and when there are obs in UNKNOWN, it
is possible that MXG will not output any observations
(when the last object in a group is unknown, the output
of the entire cube never occurs).
Adding support for all new objects and metrics causes the
observations to be output.
-An ARRAY EXCEEDED error messaged, because AI007V should
have been 7 instead of 2.
-Some of the new "CA.." objects have identical metrics in
both Solaris and AIX cubes, but other datasets, notably,
the SO016, 020, 021, 022, and SO023 have a different set
of variables than their AIX counterparts; always use the
variable's LABEL, and not the NAME, to match AIX data to
Solaris data in those dataset.
-Major enhancements in error detection and reporting of
array size issues were added; the number of instances
and the number of variables in your data are compared
to the array limits, and messages print which object's
value in which array is too small, and by how much.
Thanks to Ralton R. Van Heerden, CSC South Africa, SOUTH AFRICA.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 21.268 The PDB.ASUMCACH variable IORATE was wrong, because both
ASUMCACH TYPE74 and TYPE74CA datasets have a variable IORATE, and
VMAC74 both values were being summed. But in investigating the
Jan 6, 2004 error, I found that the TYPE74 IORATE variable is often
a very different value than IORATE in TYPE74CA:
In TYPE74, the SIO74CNT variable is directly used:
IORATE=SIO74CNT/DURATM; in TYPE74 dataset.
But in TYPE74CA, as there is no SIO count variable, the
I/O request counts RDREQS+WRREQS+ICLR+BPCR are added
to get the total I/O request count, SIO74CA:
IORATE=SIO74CA/DURATM; in TYPE74CA dataset.
Both SIO74CNT and SIO74CA variables are in PDB.ASUMCACH,
so you can see the differences in your own data. One test
had TYPE74 with 4,635,246, while TYPE74CA had 18,425,069.
-In VMAC74, variable SIO74CA is created in TYPE74CA data
set, for direct comparison with TYPE74 data.
-In ASUMCACH, the IORATE variable is now calculated in the
OUTCODE= argument, using IORATE=SIO74CNT/DURATM, since
the TYPE74 IORATE existed long before cache controllers,
but also, new variable IORATECA=SIO74CA/DURATM is created
so that you can compare the two I/O rates directly.
-The local variables IORATEA-IORATEZ were also removed.
Thanks to Kasandra Natzke, Infores, USA.
Change 21.267 -Syntax of the redefinition of old-style "dataset" MACRO
ASUMUOWT names _LDB2ACC _LMONTSK, _LCICTRN and _INMQ had hardcoded
VMXGUOW DDnames of DB2ACCT, MONITASK, CICSTRAN, and PDB, but now
VMXGUOWT have &PDB2ACC, &PMONTSK, &PCICTRN, and &PTY116 (&Pdddddd)
Jan 7, 2004 macro variable names for the LIBNAME/DDNAME, so they can
be easily overridden, and to be consistent.
-ERROR: OLD-STYLE MACRO NAME MUST CONTAIN ... in ASUMUOWT
was corrected by redefining each old-style macro name to
itself immediately before the %LET MACKEEP= statement.
(see Change 21.244).
-PSUUOW macro variable is no longer re-set in ASUMUOWT.
Thanks to Chris Weston, ITRM Development, USA.
Change 21.266 Calculation of CPCMSU in PDB.RMFINTRV and PDB.ASUM70PR
VMXGRMFI and PDB.ASUMCEC is now rounded to an integer, to more
VMXG70PR closely match the IBM values.
Jan 5, 2004 CPCMSU - Announced MSU alue, calculated from SMF70CPA.
CPCFNAME - MXG-created "standard" long name for the box.
SU_SEC - SRM "constant" value in SMF 72 record, changes
when the LPAR configuration is changed, cannot
be used to exactly calculate CPCMSU.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.265 Variable SMF70LAC (IBM's 4-hr-avg-MSU) was incorrectly
VMAC7072 output in every observation in PDB.TYPE70PR, which made
Jan 5, 2004 the LPnLAC values identical for all LPARs. This change
recognizes SMF70LAC is a "this-partition-only" value and
it is now non-missing only in PDB.TYPE70PR dataset from
the 'this-partition' records, which will correct values
of LPnLAC in PDB.ASUM70PR and PDB.ASUMCEC. However, MXG
must read the raw SMF type 70 records from each LPAR
for the LPnLAC values to be completely non-missing.
Thanks to Richard S. Ralston, Humana, USA.
Change 21.264 New utility %VGETSORT macro reads the contents of a SAS
VGETSORT data library, and, for each dataset in that library, will
Jan 5, 2004 build a macro variable that contains the member name and
the SORTEDBY variables,or UNSORTED if there is no SORTBY.
This will be used to dynamically build a WEEKBLD/MONTHBLD
process that will preserve the default sort order.
Change 21.263 Support for UniCenter NetMaster Automation Services SMF
EXNETM22 record with Event View, Resource View, and Server View
EXNETM30 Statistics creates two new datasets:
IMACNETM DDDDDD Dataset Description
TYPENETM NETM22 NETM2200 Subtype 2000, 2200 Event View
TYPSNETM NETM30 NETM3000 Subtype 3000, Resource/Service View
VMACNETM Some problems exist with datetimestamps that are under
VMXGINIT investigation, and no 2200/2000 data has been tested.
Jan 4, 2004
Thanks to Andy Creet, Defence Computing Bureau, AUSTRALIA.
Change 21.262 WebSphere MQ Version 5.3 new variables SM115REL/SM116REL
VMAC115 with Version and Release ("531") is now kept in all MQ
VMAC116 datasets. However, as there are no other changes in 5.3
Jan 3, 2004 DSECTS, except for these two new Release variables, MXG
Jan 23, 2004 21.05 or later supports MQ Version 5.3 SMF 115/116s.
-Label for QPSTDMC is now SYNC, it was incorrectly ASYNC,
a very important difference in this case, since Sync page
writes can significantly delay transactions.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 21.261 Dataset TYPE74CF could have multiple observations, when
VMAC74 more than one SMF 74 subtype 4 record was written (due to
Jan 2, 2004 a large number of structures). The MXG logic test to
output TYPE74CF included variable SMF744SN, which has
been removed, and only if the XN, GN, and PN segments are
present in this SMF 74 record will TYPE74CF be output.
Thanks to Art Cuneo, Health Care Service Corporation, USA.
Change 21.260 Macro compilation ERROR: A CHARACTER OPERAND .... is
UTILBLDP corrected; this error was introduced in Change 21.231.
Jan 2, 2004
Thanks to Scott Barry, SBBWOrks, Inc, USA.
Change 21.259 Using VMXGTIME to shift timezones caused MXG's calculated
VMACSMF GMTOFFDB GMT offset to be wrong, and so QWACBSC/QWACESC
VMACDB2H were also wrong. DB2 has no GMT offset value in the SMF
VMAC110 records, but all timestamps are on the TODCLOCK, so MXG
VMACOMCI compared SMFTIME with TODSTAMP values to create the GMT
Jan 2, 2004 offset, and then shift the DB2 timestamps to local zone.
But when VMXGTIME is enabled, the SMFTIME was shifted in
VMACSMF, before the GMT offset calculation in VMACDB2H,
causing this error. Variable UNMODSMF is now created and
it contains the un-modified SMFTIME value, and UNMODSMF
is used in VMXGDB2H to calculate the GMT Offset for DB2.
-SMFTIME was also used in the calculation of UOWTIME, to
find the FRSTBASE (epoch) of the 205-day-wrapping-clock.
While that exposure is extremely small, UNMODSMF is
also now used in that calculation.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.258 Label for variable ESFRLSAV in TYPE71 dataset revised to
VMAC71 ESTORE vice CSTORE, and ESFRLSAV=. is now set instead of
Dec 17, 2003 CSFRLSAV when ESFRLSAV is LT 0 (line 1412).
Thanks to Jennifer C. Chu, State Street Corporation, USA.
Change 21.257 Output statement for ZRBSVPP dataset was relocated to
VMACRMFV after the segment has been input, causing variables to be
Dec 17, 2003 populated.
Change 21.256 Variable CECSER now kept in PDB.TYPE70LP dataset.
VMXG70PR
Dec 17, 2003
Thanks to Hugh Lapham, RCMP, CANADA.
Change 21.255 New BLDSMPDB builds an executable "BUILDPDB jobstream"
BLDSMPDB that executes under either ASCII or EBCDIC SAS, reads an
Dec 16, 2003 SMF file to create the MXG recommended, enhanced, Daily
"SMF" PDB library, optionally copies that daily PDB to
the appropriate one-of-seven day-of-week PDBs, optionally
updates the current Week-To-Date PDB library, optionally
creates the Weekly PDB library from the seven dailies on
the first day of your week, optionally creates the
Monthly PDB on the 1st day of the month, and optionally
updates your TREND PDBs. First draft, to be revised.
This program effectively implements the suggestions in
the (still out of date documentation) ACHAP35 member.
Thanks to Joe Key, BOC, ENGLAND.
Change 21.254 Revised.
TRNDDB2A
Dec 16, 2003
Change 21.253 New GLOBAL macro variables TRENDOLD, TRENDNEW, TRENDINP
VMXGINIT default to TREND, TREND, and WEEK respectively, and will
Dec 16, 2003 be used in place of those hard-coded DDNAME/LIBNAMEs in
the MXG Trend Members.
Change 21.252 Two ways to see RMF control blocks, happy values, SU_SEC:
RMFMON one uses the LIST subcommand of the TSO TEST command,
Dec 16, 2003 a better one uses the SAS PEEK() function specifically to
display the SU_SEC value in your z/OS system.
Change 21.251 SAS has a new SMFEXIT that adds SAS Version/Release, User
VMACSASU and JOBID to the SAS User SMF record; those fields are
Dec 16, 2003 now input as variables SASVEREL, SASUSER, and SASJOBID.
The revised SMFEXITs are available from SAS Institute at:
http://ftp.sas.com/techsup/download/mvs/SMFEXIT.ASMSRC
Thanks to David Heiniluoma, Commonwealth of Massachussets, USA.
Thanks to Rich Anderson, SAS Institute, USA.
Change 21.250 -New ANALJOBN reads all job-related SMF records to count
ANALALL how many records of which type and subtype were written
ANALJOBN by each JOB, so you can track down which runaway JOB
VMXGPRAL filled your SMF file.
Dec 12, 2003 -Existing ANALALL member (prints all variables and all
Dec 15, 2003 observations for all job-related datasets created by
selected jobnames) was revised so only datasets with
JOB name are created.
-The VMXGPRAL utility (invokes PROCs PRINT or PROC MEANS
against all datasets in a SAS data library:
%VMXGPRAL(DDNAME=WORK,NOBS=50);
was enhanced with the NOFREQ= option used by ANALJOBN.
-The confusing SAS NOTE on the log when VMXGPRAL was run:
"The variable NOBS exists on an input dataset, but was
also specified on an I/OI statement option. The
variable will not be included on any output data set."
was eliminated, thanks to Charley.
Thanks to Adam Floro, Southern Illinois University, USA.
Thanks to Charley Mullin, SAS Technical Support, SAS Institute.
Change 21.249 TIC_UTIL in the NSPYTIC3 dataset was missing because the
VMACNSPY wrong time per frame variables were used in the equation.
Dec 10, 2003 Jan 17: Typo NSPYTMFS corrected to NSPVVTMFS.
Jan 17, 2004
Thanks to Steve Donahue, BCBS of Texas, USA.
Change 21.248 MWUX GLOB records with missing delimiter after the field
VMACMWUX "Process Queue Histogram" and before "Process Waiting"
Dec 5, 2003 caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Circumvention coded while the vendor is being contacted.
Thanks to Miguel Fernandez, Information Services International, USA.
====== Changes thru 21.247 were in MXG 21.07 dated Dec 2, 2003=========
Change 21.247 Support for MVS Solution's ThruPut Manager now supports
VMACTPMX all of the fields created as of their latest version,
Dec 2, 2003 TMT5210, adding 259 new variables to TYPETPMX dataset.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Nancy DiFilippo, MVS Solutions Inc, CANADA.
Change 21.246 Cosmetic, sort of. Text was added to two error messages
VMXGRMFI to clarify their known causes:
Dec 1, 2003
-If your workload definitions are incorrect:
***ERROR.RMFINTRV. WORKLOAD CPU TIMES DO NOT MATCH REAL CPU.
YOU HAVE CPUTM=00:30:00 REAL CPU TIME IN SMF 72, BUT HAVE
CPU72TM=00:45:00 CPU TIME IN YOUR WORKLOAD DEFINITIONS.
AT STARTIME=30NOV2003:00:02:30.00 FOR SYSTEM=SYS1.
THIS IS A SERIOUS ERROR IN YOUR TAILORING IN IMACWORK, OR
IN RMFINTRV MEMBERS. ALL OF YOUR WORKLOAD VARIABLES
(BATXXXX, TSOXXXX, CICSXXXX AND THEIR SUMS
(CPUTCBTM,CPUSRBTM,CPUHPTTM,CPU72TM) ARE WRONG.
SEE TEXT OF CHANGE 15.138.
-If MXG detects NEGATIVE UNCAPTURED CPU TIME in 70 vs 72:
*** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
*** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
*** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
FIRST: LOOK AT THE VALUES OF CPUTM AND CPU72TM, BELOW.
IF THEY ARE NOT EQUAL, THERE WAS AN EARLIER ERROR
MESSAGE: ERROR.RMFINTRV. WORKLOAD CPU TIME...
TELLING YOU THIS ERROR IS DUE TO TAILORING OF YOUR
WORKLOAD DEFINITIONS IN IMACWORK OR RMFINTRV.
THIS MESSAGE IS PRINTED HERE FOR REINFORCEMENT.
SECOND: LOOK AT THE VALUES OF CPUACTTM AND CPUEFFTM,
BELOW, IN THIS MESSAGE. IF CPUEFFTM IS MORE
THAN CPUACCTM, THEN READ APAR II10549 ABOUT
SLOW COUPLING FACILITY AND HARDWARE PROBLEMS.
YOUR CE NEEDS TO OPEN A HARDWARE PMH TO FIX.
SEARCH MXG NEWSLTRS FOR II10549 FOR MORE INFO.
THIRD: IF NEITHER, THEN YOU HAVE BAD DATA IN YOUR 70/72
RECORDS. BMC CMF PRODUCT NEEDS CMF PTF BPM6782.
IBM RMF APARS OW28256 (1997) OR OY51878 (1992).
ONLY 2 INSTANCES OF THIS MESSAGE ARE PRINTED.
READ TEXT OF CHANGE 15.238 IN MEMBER CHANGES.
*** ERROR. THIS IS A SERIOUS ERROR**********************
CPUOVHTM=-00:00:01.40
SYSTEM=PRD2 STARTIME=30NOV2003:00:30:00
CPUACTTM=0:05.22.35 CPUEFFTM=0:05:59.77
CPUTM=0:05:23.75 CPU72TM=0:05:23.75
and you can see this error was for the Second case.
Thanks to Hugh Lapham, RCMP, CANADA.
====== Changes thru 21.245 were in MXG 21.07 dated Nov 30, 2003=========
Change 21.245 Revisions to resolve errors and inconsistencies.
ASUMUOW
ASUMUOWT
ASUMUOTT
VMXGUOW
VMXGUOWT
VMXGUOTT
Nov 30, 2003
Change 21.244 Cosmetic cleanup after first MXG 21.07 QA runs:
ANALCNCR -ANALCNCR. UNINITIALIZED VARIABLE NEXTINTV/LASTINTV
VMXGTPFI messages had no impact on the results, but have been
VMACOMDB eliminated.
ANAL16 -VMXGTPFI revised to remove unneeded sorts and messages
Nov 28, 2003 about MXGSUM2.
-VMACOMDB minor revisions to remove duplicate variables in
FORMAT statement, and $CHAR instead of $EBCDIC for $HEX.
-ANAL16 following INCLUDE of TYPE16 failed with message
ERROR: OLD-STYLE MACRO NAME MUST CONTAIN ONLY LETTERS.
because ANAL16 used %LET MACKEEP to redefine old-style
macros. Redefinition (MACRO _KTY16 _KTY16 %) inserted
ANAL16 before the %LET MACKEEP re-definition, as noted in
the DOCMXG comments related to use of %LET MACKEEP.
Change 21.243 Support for Candle Omegamon II for DB2 Historical D2540
EXDB0010 file creates 312 new datasets, based on the SAS code that
...310 more Candle provided with the product. This iteration
EXDB3370 supports DB2 V7.1; only forty-two of the datasets have
IMACOMDB been populated with observations, and only cursory
TYPEOMDB validation of formats, labels, etc., has been completed.
TYPSOMDB
VMACOMDB
Nov 24, 2003
Change 21.242 JCLTEST8 fails with VARIABLE OPERATOR NOT FOUND if your
ASUMCICS CICS guru has Excluded OPERATOR or TERMINAL from CICSTRAN
JCLTEST8 dataset, because those two variables are historically in
Nov 24, 2003 in the default SUMBY list in MACRO _BSUCICS.
- See Change 21.105: We no longer recommend ASUMCICS be
used, since it summarizes transaction segments instead
of unit-of-work transactions.
Instead, you should create PDB.ASUMUOW and then use the
ASUMCICX program to create PDB.CICS summary dataset:
%INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
(and you need to tailor IMACUOW - read its comments).
- You should always use ASUMUOW, even if you don't have
DB2 data, to combine CICS MRO segments together to get
correct TRANNAME, etc. If you do not create the
PDB.DB2ACCT dataset, you can create a zero-observation
DB2ACCT dataset to satisfy ASUMUOW, using:
OPTIONS OBS=0;
%INCLUDE SOURCLIB(TYPEDB2);
RUN;
OPTIONS OBS=MAX;RUN;
&INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
- If you still must create PDB.CICS from CICSTRAN, you
can re-define the old SUMBY list "instream":
//SYSIN DD *
%LET MACKEEP=
MACRO _BSUCICS APPLID USER STRTTIME TRANNAME
SYSTEM SHIFT %
;
%INCLUDE SOURCLIB(ASUMCICS);
to remove the OPERATOR and TERMINAL variables.
- But so you don't get blindsided during testing with my
defaults,
One site with excluded fields had never used ASUMCICS
but their "clean running" JCLTEST8 job failed.
this change added "compiler fakers' in ASUMCICS to
create one-byte OPERATOR/TERMINAL variables when they
do not exist in your CICSTRAN.
Jan 25, 2004 Update: You can now use the VMXGSUME member
created in Change 21.277, and not have to modify ASUMCICS
or ASUMUOW to deal with dropped variables.
Change 21.241 Revised support for Hewlett Packards MeasureWare for HPUX
VMACMWUX now a/k/a OVPA.
Nov 22, 2003 -DISKKBYT,KBYTRATE,PREADKBS,PWRITKBS are mult by 1024.
-GLOBAL Transaction variables no input by default
-The REPORT ALL command in ADOCMWUX is the command to use
that creates the MXG-expected data fields.
-Many TRAN fields were removed as they are not in the HP
default REPTALL, and I had no test data to validate with.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Thanks to Miguel Fernandez, Information Services International, USA.
Change 21.240 Support for new S4RSP7CT in STID=124 CICS Statistics data
VMAC110 record. Caused "FOUND WITH SKIPPED FIELDS" warning with
Nov 21, 2003 STID=124,SKIP=4,STILEN=120, but no error.
Thanks to Tim Vanderhoek, Fidelity Systems, USA.
Change 21.239 The ability to read multiple PDB libraries was lost in a
ANALDB2R prior change, but has been restored, so you can again use
Nov 20, 2003 the documented syntax PDB=MON TUE WED THU FRI SAT SUN,
to read multiple PDBs as input to ANALDB2R.
Thanks to Bill Bonfitto, MassMutual Financial Group, USA.
Change 21.238 Dataset TYPE74DU (RMF DUPLEX COUPLING FACILITY) was trash
VMAC74 because the offset SMF744RO is unlike other RMF offsets.
Nov 20, 2003 It is from the first data byte and not from the RDW, so
SMF744RO=SMF744RO-3 used to calculate the byte location
had to be deleted. And with data to look at, the two sum
of squares R744RSSS and R744RSSD are actually &PIB.8 and
not the &RB.8 that I had assumed.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 21.237 New ASUMUOTT member creates new PDB.ASUMUOTT from the
ASUMUOTT ASG-Landmark DB2 TMDBDB2 dataset and ASG-Landmark CICS
EXTMDDB2 MONITASK dataset. The output is named PDB.ASUMUOTT,
IMACUOTT even though it is logically the same as PDB.ASUMUOW,
JCLUOTT because the TMDBDB2 variable names are used instead of
VMACTMDB the DB2ACCT names.
VMXGUOTT -Member VMACTMDB was modified to create the DB2PARTY
Nov 19, 2003 variable, to identify DB2 Parallel event records (see
Nov 30, 2003 Change 14.287).
Formats MGDB2RC and MGDB2LM applied to RINV/PREC vars.
All ACE vars are now all numeric, $HEX8. &MXGBYLN.
All /4096 are now formatted TIME12.2.
-Member EXTMDDB2 was revised to use DB2PARTY to delete
events that should not be output (see Change 19.027).
-Member JCLUOTT is a standalong example to read the raw
TMON CICS and TMON DB2 files to create PDB.ASUMUOW.
-Member VMACDB2, variable QWACLRAB now formatted MGBYTES.
Nov 30:
New member ASUMUOWT and VMXGUOWT created to support the
combination of MONITASK.MONITASK and DB2ACCT.DB2ACCT.
Thanks to Hamid Tavakolian, CSC, USA.
Change 21.236 The ASMRMFV member in MXG 21.06 was an earlier iteration
ASMRMFV that did not include the enhancements in Change 21.186.
Nov 18, 2003 I copied the wrong member into the source library. The
ASMRMFV at Change 21.236 dated Nov 18, 2003 (or later)
contains that major revision to the ASM program for the
RMF III VSAM data; Change 21.228 added VMACRMFV support.
Change 21.235 Variable CPCFNAME, the CPC FULL NAME (2064216) created in
VMXG70PR PDB.RMFINTRV, is now also created in PDB.ASUM70PR and in
Nov 18, 2003 PDB.ASUM70LP datasets.
Thanks to Kenneth D. Jones, xwave, CANADA.
Change 21.234 Test for '2084'X added, but only needed if OS/390 R2.10
VMXGRMFI with SMF70WLA=. (i.e., do not have the APAR that added
Nov 18, 2003 SMF70WLA installed) is running on a z990.
Change 21.233 Support for Fujitsu Siemens openFT file transfer propgram
FORMATS user SMF record creates new OPENFT dataset for each SMF
EXOPENFT event record.
IMACOPFT
TYPEOPFT
TYPSOPFT
VMACOPFT
VMXGINIT
Nov 17, 2003
Thanks to Wolfgang Prescher, Itellium, GERMANY
Change 21.232 Replaced change.
Change 21.231 Now, USERADD=80 USERADD=90 cause the TYPE80A or TYPE90A
UTILBLDP code to be generated, and not TYPE80 nor TYPE90, which
Nov 17, 2003 were replaced by their "A" counterparts. MXG's original
logic for RACF TYPE80 and OPERATOR COMMAND TYPE90 created
one TYPE80/TYPE90 dataset with hundreds of variables; the
"A" replacements create many TYPE80nn/TYPE90nn datasets,
one for each event with only that event's variables kept.
You can see what events occurred, just by looking at the
non-zero observation counts for each dataset on the log.
Previously: "USERADD=90," created obs in TYPE90, but
"USERADD=90 90A," generated both _CDE90 and _CDE90A
segments, and that first ELSE IF ID=90 ... in _CDE90
prevented _CDE90A from being executed, so there were
never any obs in any of the TYPE90nn datasets.
Thanks to Gadi Ben-Avi, Malam Systems Ltd, ISRAEL.
====== Changes thru 21.230 were in MXG 21.06 dated Nov 12, 2003=========
Change 21.230 SAS V6 Only. OUT OF MEMORY error with MXG 21.04+ because
VMXGCICI the ORDER= argument "clean up" by Change 21.152 increased
Nov 11, 2003 the number of lines which exceeded the maximum size of a
SAS V6 macro argument. Compacting the lines reduced the
total bytes and the code now executes under V6 or V8+.
Thanks to Kelvin Wells, ScaleOn GmbH, GERMANY.
Change 21.229 -Variable CPUTM=SUM(PRODTCB,PRODSRB) added to TYPE89 data
VMAC89 set for consistency; MXG datasets with multiple CPU Time
Nov 11, 2003 measurements were intended to always have variable CPUTM
as the total, unoverlapped, billable, etc., CPU time, but
TYPE89 was overlooked.
Thanks to Jake M. Drew, MBNA, USA.
====== Changes thru 21.228 were in MXG 21.06 dated Nov 10, 2003=========
Change 21.228 Support for RMF III ASMRMFV data added by Change 21.186.
EXZRBCFI - CFI segment creates ZRBCFI dataset
EXZRBRCB - RCD segment creates multiple datasets:
EXZRBRCD ZRBRCB ZRBRCDB RMFIII RESPONSE TIME BUCKETS
EXZRBRCP ZRBRCS ZRBRCDS RMFIII SERVICE CLASS
EXZRBRCR ZRBRCR ZRBRCDR RMFIII REPORT CLASS
EXZRBRCS ZRBRCP ZRBRCDP RMFIII PERIOD
EXZRBRCT ZRBRCT ZRBRCDT RMFIII RESPONSE TIME COUNTS
EXZRBSVC ZRBRCD ZRBRCDD RMFIII SUBSYSTEM DELAY
EXZRBSVG - SVP segment creates multiple datasets:
EXZRBSVP ZRBSVP ZRBSVPP RMFIII SERVICE POLICY
EXZRBSVR ZRBSVW ZRBSVPW RMFIII SERVPOLICY WORKLOAD DEFN
EXZRBSVW ZRBSVC ZRBSVPC RMFIII SERVPOLICY SRVCLASS DEFN
EXZRRSVZ ZRBSVZ ZRBSVPZ RMFIII SERVPOLCY SRVCLASS PERIOD
IMACRMFV ZRBSVR ZRBSVPR RMFIII SERVPOLICY REPORC CL DEFN
VMACRMFV ZRBSVG ZRBSVPG RMFIII SERVPOLICY RESOURCE GROUP
VMXGINIT - UWD segments produce warnings (first five) that will
Nov 9, 2003 will be investigated, and only cursory validation of
all of the new data has been accomplished. Some back
end merges/unions may be necessary, and/or there may
be some variables that need to be carried forwared,
but that awaits someone who really wants to use these
new data segments, but lots of the data is already in
the TYPE7xxx RMF Monitor I data.
Change 21.227 Final Cleanup after full QA runs:
ANALDBTR -ANALDBTR updated to include all pairs datasets; I183R183
ANALDB2R was changed to S183S183 for consistency in pair names.
CONFIG -Archaic CONFIG member for SAS V6 specifies MEMSIZE=128M.
JCLTEST6 -VMAC6,IMAC6ESS ESSPIMSG/ST spellings corrected, all vars
IMAC6ESS in DROP and KEEPs.
VMAC6ESS
Nov 8, 2003
Thanks to Freddie Arie, TXU, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA
====== Changes thru 21.226 were in MXG 21.06 dated Nov 7, 2003=========
Change 21.226 Support for GEPARMKY=000B in Extended SMF 6 ESS data now
IMAC6ESS creates ESSDEFAU variable if IMAC6ESS is enabled to
VMAC6 decode those optional ESS data fields.
Nov 7, 2003
Thanks to Engelbert Smets, Provinzial Rheinland Versicher, GERMANY
Change 21.225 -PDB.RMFINTRV workload definitions can now be based on the
VMXGRMFI WORKLOAD name, variable WKLDNAME, instead of a long list
Nov 7, 2003 of Service Class Names, by this enhancement that adds an
eight value to the WORK= argument.
Caveats: USECNTRL must be YES or GOAL, or nothing will
be found. And if you mix up workloads, service
classes, and reporting classes, the UTILRMFI
can't help you figure out what you've done wrong
because WORKLOAD doesn't exist in TYPE30 SMF.
-The SPIN logic to detect existence was enhanced.
-Note that if both SRVCLASS and WORKLOAD are specified,
that WORKnn workload will include all observations that
match either the SRVCLASS or the WORKLOAD names, so you
must be careful to avoid any overlap.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Thanks to ??? who actually asked for it earlier. Identify yourself.
Change 21.224 New QAPMCONF variables GDESIL/GDESIT/GDESPU were missing
VMACQACS values because they were not in the RETAIN statement, and
Nov 6, 2003 the configuration file has one record per parameter; all
Nov 10, 2003 GDESxxxx variables are now RETAINed.
-New variables GDESIL/GDESIT/GDESDL/GDESDT had incorrect
values; they are now input as PIB2.1 instead of PIB4.1;
I misread the OS/400 description of B(4,1) as being a
four byte field.
-New variable GDES18 decodes the GDESKEY='18' record.
-Variables GDESAP and GDESAT are addresses, and are now
formatted as MGBYTES (so they print 255G for 255 GBytes).
-Variable GDESI, interval value, was multiplied twice by
60, causing an incorrect value.
Thanks to Jim Wertenberger, Antares Management Solutions, USA.
Thanks to Al Kadowaki, IBM Corporation, USA.
Change 21.223 CA-VIEW TYPESARR user SMF records caused INPUT STATEMENT
VMACSARR EXCEEDED RECORD LENGTH error because MXG used $VARYING40.
Nov 6, 2003 but one instance had 45 characters. Now use $VARYING80.,
and protection was added if the text length is greater
than 80. Then I realized these character variables were
not even output (probably because I didn't have any data
with index data), so the subtype 30/31 datasets now have
variables SV30/31INAM,SV30/31IVAL,SV30/312VAL,SV30/313VAL
with the Index name and the first three index values.
Thanks to John Rivest, TDS, USA.
Change 21.222 SAS Version 6 ERROR 29-185 WIDTH INVALID $EBCDIC255 when
VMAC102 MXG was executed under SAS V6, which limited character
VMAC110 variables to 200 bytes. While execution under SAS V8.2
VMXGINIT or later is STRONGLY RECOMMENDED, it was my intention to
Nov 3, 2003 support execution under V6 for all of the "standard" code
Nov 27, 2003 members, so this oversight was corrected with a new macro
variable &EBC255 that will input $EBCDIC200. +55 for V6.
These new products require execution under SAS V8:
TYPEAIX - AIX Performance Tool
TYPETMTC - TMON ASG-Landmark TCP/IP monitor
TYPEWWW - Web Logs
TYPEOMDB - Omegamon II for DB2 Historical File
-In addition, a $VARYING250 in VMAC102 was changed to only
read in the first 200 bytes with $VARYING200.
Thanks to Kevin Wells, ScaleOn Gmbh & Co KG, GERMANY.
Change 21.221 -MXG Web Log processing of data with negative GMT offset
VMACWWW caused INVALID ARGUMENT messages, and causing variable
Oct 31, 2003 GMTOFFTM to be missing, but ENDTIME was correct.
Nov 5, 2003 -ELAPSTM was missing value in IIS logs due to typo, and
is now formatted TIME8.
Thanks to Robert Gauthier, Albertsons, USA.
Change 21.220 FLASH: MXG 21.07 is required for PDB.ASUMUOW to have all
ASUMCICX reported errors fixed. If you use JCLUOWV from an
ASUMUOW earlier MXG version, or use VMXGUOW, ASUMUOW, ASUMUOWT on
ASUMUOWT Landmark MONITASK data to build PDB.ASUMUOW, you're at
JCLUOWP risk of having incorrect data, like missing values for
JCLUOWV STRTTIME, or your perfectly running BUILDPDB can ABEND
VMACTMO2 with DATASET DB2ACCT NOT SORTED or with the VARIABLES NOT
VMXGUOW FOUND error condition. We have had a series of
Oct 30, 2003 architectural revisions to correct the sort sequence for
Nov 30, 2003 LU 6.2 transactions, and corrections to that redesign,
and restructured into ASUMUOW for IBM CICSTRAN and
ASUMUOWT for ASG MONITASK data, to eliminate double
mounts of tape libraries, and only now does it appear
we've fixed everything or at least documented that you
must use the JCLUOWV or JCLUOWP members from MXG 21.06,
due to these changes:
Change 21.194 - Added Variables
Change 21.147 - Populated STRTTIME
Change 21.134 - MONITASK fixed
Change 21.093 - SYSTEM blank, cleanup
Change 21.076 - Stored Procedure vars added
Change 21.062 - SORT ORDER CHANGED, vars dropped
Change 21.237 - ASUMUOWT fixed
This change is only documenation of the INCOMPATIBLE
changes that have been made to this very-important MXG
program that we strongly suggest you use to put the DB2
and CICS transaction data together.
Thanks to Larry Nova, Transamerica, USA.
Change 21.219 Support for IBM Tivoli Storage Manager Accounting Records
EXTSMACC creates new TSMACCT dataset when data files are
IMACTSMA transferred, with counts of transactions and bytes
TYPETSMA transferred.
TYPSTSMA
VMACTSMA
VMXGINIT
Oct 27, 2003
Thanks to Simone Niemczura, Sungard, USA.
Change 21.218 Six variables in TYPE71 had "AVAILABLE ..USED" in the
VMAC71 label, but the "USED" did not belong, as all count the
Sep 24, 2003 number of available, not used, frames:
AVLEXTAV AVLEXTMN AVLEXTMX PVTAFCAV PVTAFCMN PVTAFCMX
Thanks to Tom Buie, Southern California Edison, USA.
Change 21.217 Support for SMF 99 subtype 7 PAV Device data creates new
EXTY99U7 TYPE997 dataset. Observations are only output if there
IMAC99 were activity counts for the device.
VMAC99
VMXGINIT
Oct 23, 2003
Thanks to Randy Shumate, LexisNexis, USA.
Change 21.216 z990 CPUTYPE 2084 with OS/390 R2.10 caused CPU NOT IN
VMXGRMFI TABLE error; this member should have been updated by
Oct 23, 2003 Change 21.149, but my z990 test data was z/OS and the
VMXGRMFI test was overlooked.
Thanks to Peter Giles, Centrelink, AUSTRALIA.
Change 21.215 Support for EKC's ETF/R FIRECALL SMF 80 optional data
EXTY80EK segment creates two new MXG datasets:
EXTY8XEK TYPE80EK - Contains fixed data plus first EKC80FRD.
IMAC80A TYPE8XEK - Contains any additional EKC80FRD relocate
VMAC80A data segments.
VMXGINIT This change requires execution under SAS Version 8 to
Oct 23, 2003 input the full length (up to 1024 bytes) in EKC80FRD; the
Nov 2, 2003 code executes under SAS V6 without error, but variable
EKC80FRD will be truncated to 200 bytes.
Thanks to Jim Holloway, MetLife, USA.
Change 21.214 Cosmetic. The FORMAT statement in MACRO _VMRPT3 (for
VMACVMXA "report three" listed the variables from _VMRPT2, but
Oct 22, 2003 there is no need for those variables in _VMRPT3.
Thanks to Thom Kight, Fidelity Investment Systems Co, USA.
Change 21.213 Support for Oracle V9.x SMF data is already in MXG, as
VMACORAC there were no changes in their SMF record; you need to
Oct 20, 2003 set the record ID macro, and the Subsystem macro, but
they can be set "instream" after your //SYSIN DD *
%LET MACKEEP=
MACRO _IDORAC 200 %
MACRO _IDORACO SUBSYSID EQ 'TGW9' %
;
%INCLUDE SOURCLIB(TYPSORAC);
Thanks to Ralf-Henning Glomb, BMW, GERMANY
Change 21.212 Support for optional CMODNAME='MQSeries' CICSTRAN data
UTILEXCL fields from IBM, added starting in CICS/TS 3.2, creates
VMAC110 variables MQGETWTM,MQGETWCN,MQREQS,MQWTCBUS,MQONTCBU, and
Oct 20, 2003 MQREQUS. This support requires that you use UTILEXCL to
create an IMACEXCL for those variables to exist in the
CICSTRAN dataset. But see Change 31.223.
Thanks to Ricke Godehard, Itellium, GERMANY.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 21.211 Support for RACF segment RACFDTP=44 decodes the value of
VMAC80A the command into new variables EV44VAL1-EV44VALF and
Oct 20, 2003 stores only the name (PROC,ACCTNUM,SIZE,MAXSIZE, NOUNIT,
Oct 28, 2003 and COMMAND) in the existing EV44TXT1-TXTF variables.
Oct 29, 2003
Thanks to John McDermott, Blue Cross Blue Shield of Florida, USA.
Change 21.210 Support for several new ESS segments (34x,35x,37x,47x)
IMAC6ESS and for GEPARMNR more than 1 for 21x and 2Fx added in
VMAC6 (optional) IMAC6ESS, also adds new variables to TYPE6
Oct 14, 2003 (but only if comment block in IMAC6ESS is opened, and the
DROP= statement is edited in that member to keep the new
variables).
Thanks to Engelbert Smets, Provinzial Rheinland Versicher., GERMANY.
Change 21.209 New fields added by ThruPut Manager are now supported:
VMACTPMX ADDRSA CA7 CONVEC CURMSC CURREC1-CURREC6
Oct 14, 2003 observations in dataset DB2ACCTP if the package data
Thanks to Lawrence Jermyn, Fidelity, USA.
Change 21.208 Variables QWACBSC and QWACESC are missing in package
VMACDB2H observations in dataset DB2ACCTP if the package data came
Oct 13, 2003 from SMF 101 Subtype 1 (IFCID=239) records, as those
records do not contain the QWAC segment.
The SMF 101 Subtype 0 IFCID=3 Accounting Record
contains the first ten package executions, each of
which is output in DB2ACCTP; the SMF 101 Subtype 1
IFCID=239 records contains the rest of the package
segments when there are more than 10 per plan.
It is also not possible to retain the QWACBSC/ESC from
the prior SMF 101 Subtype 0 (IFCID=3) record, because IBM
in their infinite wisdom decided to write the 239 record
first (even though QWHSSTCK time in that first IFCID=239
record is later than QWHSSTCK time in the following
IFCID=3 record). Only with dual sorts of DB2ACCT and
DB2ACCTP plus a massive merge, could the QWACBSC/QWACESC
timestamps of the account record be added to the DB2ACCTP
package dataset, and that's a lot of cost for very little
value. The DB2ACCTP dataset variables QPACSCB & QPACSCE
are datetimestamps of the "entry to, and exit from" DB2,
like a start/end of the package call, but they are also
inconsistent:
QPACSCE always has a non-missing datetime value
QPACSCB is always missing in all IFCID=239 records, and
is only non-missing in the first package
segment in IFCID=3 records.
When QPACSCB is missing, you could consider calculating
variable PSEUDOSCB=QPACSCE-QPACSCT, to estimate the SCB
start time (by subtracting the execution duration from
the end datetime). PSEUDOSCB was slightly earlier than
QPACSCB when QPACSCB existed.
This change added disabled debugging PUT statements that
were used to examine these records, in case they are
needed for future investigations.
Thanks to Daniel O. Russo, Vanguard, USA.
Change 21.207 The test for NTSMF Object MSEXCHANGECCMC replaced the
VMACNTSM incorrect spelling (MSEXCHANGECMCC).
Oct 10, 2003
Thanks to Philip Henning, Demand Technology, USA.
Change 21.206 Variables QW0125PC QW0125PL QW0125PN QW0125SN QW0125TS
VMAC102 are now input and kept in DB2 102 IFCID=125 T102S125.
Oct 10, 2003 dataset.
Thanks to Ron Alterman, PG&E, USA.
Change 21.205 MXG Support for BMC's IMF/CIMS IMS already includes the
VMACCIMS variable SMQGROUP, the IMS Shared Message Queue Group
Oct 9, 2003 Name, so that you can summarize BY SMQGROUP to see the
total response and resources of the entire group. This
change is only for documentation (because I didn't know
what the heck an IMS Shared Message Queue Group was,
either)!
A Shared queues group is just a group if IMS systems
(an IMS Plex) that share incoming transactions with
their shared message queue stored as a structure in a
couling facility. A transaction arrives at any IMS
System but can be executed anywhere in the Plex. Only
one 'FA'x IMF Transaction record is created, even
though IMSA may have put the message on the Q and IMSB
executed the transaction (and IMSB will be where the
FA record was written).
Thanks to Ulrich DIllenberger, BMC, GERMANY.
Change 21.204 If you use %LET MACSHFT= syntax to replace or override
IMACSHFT the SHIFT definitions in your tailored IMACSHFT member,
Oct 8, 2003 the input temporary variable DATETIME will have been
changed by IMACSHFT logic to the start-datetime of the
shift, so that MXG Summarization and Trending datasets
have a common STARTIME value. The addition of &MACSHFT
support was done only for consistency with other IMACs,
but I never considered that anyone would ever want to
pass static definitions, like SHIFT, thru %LET MACSHFT!
This change stores the original value in DATETIME when
IMACSHFT was invoked into temporary variable SHFTTIME,
so that if you do use %LET MACSHFT, and don't tailor the
default MXG IMACSHFT member, you can set
DATETIME=SHFTTIME;
as your first statement in MACSHFT=, and then redefine
the shifts. However, your MACSHFT= logic must also
the DATETIME variable to the beginning of the shift,
to protect for later summarization in that job.
Thanks to Klaus Messer, COMLAB, GERMANY.
Change 21.203 Variable RESIND should have been formatted HEX2 as it
VMAC77 contains individual bit values regarding the enqueue.
Oct 7, 2003
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 21.202 INPUT STATEMENT EXCEEDED due to invalid OPC record that
VMACOPC had LENGTH=83 but TRLLENGT (expected length) of 420. OPC
Oct 7, 2003 records have new data inserted, currently the new fields
are skipped, pending documentation.
Thanks to Andrew Phillip Davis, Abbey, ENGLAND.
Change 21.201 Protection for SMF80DTP=53 (RUTKN) with SMF80DLN=76.
VMAC80A Segment is documented for z/OS 1.2 SecureWay as DLN=80.
Oct 9, 2003 Caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
This change circuvents by skipping over the segment.
This data segment is created by the add-on ETFR product
(EKC Tools for RACF is an extension to RACF.ETF/R that
selectively grants extended privileges under emergency
situations), and that vendor will be advised of their
invalid record.
Thanks to John Grasing, MetLife, USA
Change 21.200 Negative values for DB2TCBTM occur if QWACEJST (ending
VMACDB2 CPU time) is smaller than QWACBJST (starting CPU time).
Oct 5, 2003 Out of 9,000 transactions, four transactions were neg:
QWACBJST QWACEJST QWACRINV
1.61 0.00452 10
0.12 0.00458 10
0.25 0.00415 10
3.63 0.00436 10
IBM notes that BJST or EJST are zero when CPU timing is
not available; MXG only calculated the difference when
when both are non-zero; this change adds a test to also
calculate DB2TCBTM if EJST is greater than BJST, while
IBM investigates further.
PQ71119 is a correction for Tivoli that mentions why
EJST may be zero: rrs commit request can be issued in a
different address space than the original attach so DB2
does not have the original TCB; their solution was to
force a zero value, as was done here by MXG. However,
MXG adds QWACSPCP and QWACTRTE to the delta so you
could have DB2TCBTM non-zero even if the EJST-BJST
difference is not calculated.
Note added Jan 21, 2004: This note is also in NEWSLETTER
FORTY-FOUR, MVS Technical Note 2.:
APAR PQ79622 corrects error that caused QWACBJST to be
greater than QWACEJST, which caused negative DB2TCBTM.
The error occurred when an SQL statement fired a
trigger and that trigger called either a UDF or a
stored procedure, so that class 1 non-nested CPU time
could erroneously be a negative value.
Thanks to Roger L. Rush, Nav-International, USA.
Thanks to Richard L. Steele, Nav-International, USA.
Change 21.199 -IMACxxxx members with incorrect spelling of the DDDDDD
IMAC119 values in the comments, or that were missing new data
IMAC28 sets were revised. Only documentation was changed.
IMAC42 -VMAC members _Nxxxx and _Sxxxx Null/Sort macros had
IMAC74 tokens added for new datasets that had been overlooked.
IMAC85
IMAC94
IMACAIX
IMACDOS
IMACILKA
IMACMVTP
IMACNDM
IMACNSPY
IMACNTSM
VMAC90A
VMACMWAI
VMACNTCP
Oct 5, 2003
Change 21.198 A missing value for STRTTIME in CICSTRAN can occur if you
VMAC110 have optional data segments in your transaction SMF
Oct 5, 2003 records, but you did copy and remove the comment block
in the IMACICxx member for those optional segments.
The UTILEXCL program lists all optional data segments
and lists the IMACICxx members you must tailor. If
you don't tell MXG about the data, its INPUT gets out
of alignment, and if STRTTIME happens to have all hex
zeros, a missing value results. Since STRTTIME is the
Start Time of the transaction, it must always exist in
your CICS records. A new message is now printed if
STRTTIME is missing.
Change 21.197 -ASUMCACH enhanced to keep track of I/O by LPAR (in the
ANALCACH variables IORATEA, IORATEB,...) in PDB.ASUMCACH that it
ASUMCACH creates.
Oct 2, 2003 -Second example Analysis Report added to ANALCACH that
Nov 6, 2003 reads the PDB.ASUMCACH dataset, and uses two formats
(that you EDIT in your program) that map your DASD UCB
addresses to Raid Groups and HDS Rank, so that you can
report and measure I/O activity down to the Raid Group
within RAIDBOX.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.196 INVALID DATA FOR VERSN90 message had no impact on the
VMAC90 created dataset, but it and associated hex dump are
Oct 2, 2003 prevented by the insertion of ?? in the INPUT.
Thanks to Jim Petersen, Washington Mutual, USA.
Change 21.195 Support for Microsoft Exchange Server 5.5 Log file
EXEXCHLG creates EXCHANGE dataset from INFILE EXCHLOG. This
IMACEXCH support is preliminary and covers all fields, but parsing
TYPEEXCH of sub-fields is contemplated where needed, creating new
TYPSEXCH variables eventually.
VMACEXCH
VMXGINIT
Oct 2, 2003
Thanks to Bob Gauthier, Albertsons, USA.
Change 21.194 Variables added to _KUOWCIC (CICSTRAN) into PDB.ASUMUOW
ADOCUOW STORHWMH STORHWMK SYNCDLTM SYNPTCN
VMXGUOW ENQDIOCN ENQDIOTM LU62IOCN LU62IOTM
Oct 1, 2003 Variables added to _KUOWCIX (Max):
Oct 22, 2003 STORHWMH STORHWMK
ADOCUOW was updated to be consistent with VMXGUOW.
Oct 22: End Comment before ENQDIOCN =.; was added.
Thanks to Paul Gillis, ColesMeyer, AUSTRALIA.
Change 21.193 -Variable BYTEAVAI can be zero if AVAILMEM or AVAILMEK is
EXNTIPV4 zero (still under investigation). The MXG statement
EXNTTCV4 BYTEAVAI=AVAILMEM; is now replaced by the statement
EXNTUDV4 BYTEAVAI=MAX(BYTEAVAI,AVAILMEM,AVAILMEK); to cover all
IMACNTSM possibilities of values in the three fields.
VMACNTSM -Support for new IPV4, TCPV4, and UDPV4 objects create
VMXGINIT three datasets of the same name.
Oct 1, 2003 -Pending DISCOVERY Records, new data added to ACSR 0/36
and WEBS 1/86 are not yet supported.
Thanks to Barry Neff, Infores, USA.
Change 21.192 SYNCSORT for z/OS 1.1 can have 255 SORTWORKs, but MXG
VMACSYNC only outputs details on the first 99, and would have
Oct 1, 2003 failed (ARRAY OUT OF RANGE) if you had more than 99.
This change protects for more than 99, but only by
printing a message that more were found, and to contact
support@mxg.com, if you really have a need for details on
the 100th+ sort work area.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.191 SMF 94 variable SMF94VCZ (Average MB per Logical Vol) is
ADOC94 recalculated when it is zero in the IBM record but
VMAC94 SMF94VBA/SMF94VLA is non-zero. Many of the SMF94Vxx
Sep 30, 2003 variables are zero if SMF94VNO='FF'x (Composite), some
are the composite of all AX0's if VNO='FF'X, and some are
non-zero only if VNO='FF'x. ADOC94 was updated to
identify the "Note 1 and Note 2" variables in TYPE94.
Thanks to Art Hunter, Penn Mutual, USA.
Change 21.190 Support for APAR PQ77633, which corrects FTPREPLY code in
VMAC119 FTP client records; it should have been a three digit RFC
Sep 29, 2003 code in left-justified EBCDIC, but the SMF 119 record had
Mar 2, 2004 a binary value prior to this APAR. See Change 22.019.
Change 21.189 CICS SMF 110 subtype 1 MNSEGCL=5 records caused ERROR:
VMAC110 INVALID DO LOOP CONTROL INFORMATION because I forgot that
Sep 23, 2003 DO _I_=1 TO MNR5LEN3; fails if MNR5LEN3=., and the third
triplet is not always present. Change to IF MNR5LEN3 GT
0 THEN DO _I_=1 TO MNR5LEN3 to fix.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.188 NDM SMF user record subtypes 'IP','JI','QH','QW', and
VMACNDM 'WS' are still not undecoded, until an MXG user wants
Sep 23, 2003 those data, but the UNKNOWN RECORD messages are now no
longer printed for those subtypes.
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 21.187 Data values in PDB.DB2GBPST were occasionally way too
VMACDB2 large; the logic to deaccumulate did not test the
Sep 23, 2003 SEQCHECK variable, and thus missed restarts/resets. The
test for SEQCHECK was also added to the logic for
PDB.DB2STATR and PDB.DB2STATB, although neither had any
reports of bad data values.
Thanks to Lori A. Masulis, Fidelity Systems, USA.
Change 21.186 Another major enhancement for RMF III VSAM support now
ASMRMFV adds support for six new RMF III data tables:
Sep 23, 2003 CFI (Coupling Facility Information Table)
Nov 18, 2003 RCD (Resource Collection Data Table)
SVP (Service Policy Data)
SHD (Sample Header Data)
RED (Resource Data Record)
UWD (Use/Wait Record)
See change 21.228 for updates to VMACRMFV to support the
new data added by this change to ASMRMFV.
See Change 21.236.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 21.185 INTERVAL=SECOND in VMXGSUM, VMXGDUR, and ANALCNCR is
ANALCNCR added to MINUTE HOUR etc values to set the interval in
ANALCNCR summarization and concurrency analysis (e.g. counting
VMXGSUM concurrent NT processes in each second). But use the
VMXGDUR INTERVAL=SECOND value with care, as it can require
Sep 23, 2003 workspace that is many times the size of the input data.
Sep 30, 2003
Thanks to Art Morelock, CheckFree, USA.
Change 21.184 Support for 3592 Tape Drives already exists in MXG, as
none they are still 3590s (UCBTY34='8083'x) in SMF records.
Sep 23, 2003 The specific type and model is contained in the TYPE74
for each device in variable SMF74NID='003592J....'.
Thanks to MP Welch, SPRINT, USA.
====== Changes thru 21.183 were in MXG 21.05 dated Sep 22, 2003=========
Change 21.183 SMF 115 Subtype 2 INPUT STATEMENT EXCEEDED because the
VMAC115 protection in Change 21.161 was incomplete.
Sep 21, 2003
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 21.182 Support for z/OS 1.4 Feature 1 (COMPATIBLE) that adds
VMAC89 SMF89LP3 variable with one or two digit LPAR ID value.
Sep 19, 2003 Feature 0 is "z/OS V1.4 z999 Compatibility Support".
Feb 13, 2004 Feature 1 is "z/OS V1.4 z990 Exploitation Support".
Feature 2 is "z/OS V1.4 Consoles Enhancements".
====== Changes thru 21.181 were in MXG 21.05 dated Sep 18, 2003=========
Change 21.181 TMS/CA1 Release 5.2 (finally!) lets you block the TMC
TYPETMS5 file to half-track blocksize of its 340 byte records, so
Sep 18, 2003 the MXG recommendation to use BUFNO=200 on //TMC is
withdrawn when you have enabled half-track blocksize.
That large a BUFNO with half-track blocksize could cause
an 80A out-of-virtual-memory ABEND. Reblocking the TMC
to half-track reduced the MXG run time of TYPETMS5 from
6.5 minutes to only 2.5 minutes.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.180 -Example to build Weekly PDB from Daily PDBs on tape to
JCLWEEKD eliminate backspace/rewind/remount wasted time, using the
WEEKBLDD same technique as MONTHBLD: copy the selected PDB
WEEKBL3D datasets from tape to temporary DASD and build WEEKLY
Sep 17, 2003 from those disk copies rather than by reading tapes.
Thanks to Ron Lundy, AHOLDUSA, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 21.179 -TYPE50 records contain interval data, but there is no
FORMATS interval value in the record; this enhancement creates
VMAC50 new variable DELTATM as the delta between SMFTIMEs for
Sep 16, 2003 the same instance; however, DELTATM will be missing in
the first record for each instance, even though the rest
of the data is valid in those first-per-day data.
-Format MG050AT was updated for 3:Read Write Subchannel
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 21.178 Variable STARTIME is now created in TPXINTRV dataset in
VMACTPX the _STPXINT (DIFFTPX) deaccumulation logic.
Sep 16, 2003
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 21.177 Cosmetic; suppressed printing of temporary datasets that
VMXGPRAL were created by a prior run of VMXGPRAL.
Sep 12, 2003
Change 21.176 -Support for CICS APAR PQ76703 new Transaction Resource
EXCICDSR Class Monitoring TSQUEUE segment in SMF 110 Subtype 1
EXCICDST with MNSEGCL=5, which caused INPUT STATEMENT EXCEEDED
EXCICRDQ error: the new triplet and class were unexpected. You
VMAC110 can confirm this error by seeing MNSEGCL=5 in the list of
VMXGINIT variables after the error is printed. The new data
Sep 12, 2003 tracks Temporary Storage at the transaction level with ts
queue name, and is output in new CICSRDQU dataset. The
DFHMCT TYPE=INITIAL TSQUEUE=4 default captures four
queues, a maximum of TSQUEUE=32 is allowed, and if
TSQUEUE=0, no data segments will be created and the
CICSRDQU dataset will have zero observations.
-New STID=64 and STID=65 for DSR and DST DSECTS create two
new CICDSR and CICDST Statistics Datasets. These
segments were added by IBM APAR PQ76697.
Thanks to David Klein, DOITT - City of New York, USA.
Thanks to Eileen Barkow, DOITT - City of New York, USA.
Change 21.175 Support for DB2 102 IFCID=217 (Storage Manager Pool)
EX102T17 creates four datasets:
EX102U17 T102S217 QW0217HE DSECT - Storage Available
EX102V17 T102T217 QW02172 DSECT - Storage each QW0217PH
VMAC102 T102U217 QW02173 DSECT - Storage each QW02173H
VMXGINIT T102V217 QW02174 DSECT - Dictionary Storage
Sep 10, 2003 for initial investigation of the new data. These data
records are strange, with the 2nd,3rd,& 4th triplet's
segments containing different DSECTs in different SMF
records, so logic using Segment Length is required to
determine exactly which DSECT is in which triplet! The
only unique variable in T102T217 and T102U217 is the
undocumented "Serviceability" token, QW0217PH and
QW02173H. Revision is possible if a better way seen!
-Support for IFCID=254 (Group Buffer Pool) adds 22 new
variables to the T102S254 with only common variables.
existing T102S254
Thanks to Phil Parker, TNT Post Group, ENGLAND.
Change 21.174 The PROC FREQ in _RPDBID failed, if you used _STYID in
BUILD001 EXPDBOUT (to sort WORK.ID to PDB.ID), because MXG hard
BUIL3001 coded the DATA=_WTYID token, so SAS only looked for ID in
BUILDPDB the Work Lib. Instead, the %VMXGWORL macro is used to
BUILDPD3 determine where you left that dataset, populating macro
Sep 9, 2003 variable &MXGWORL ("W or L") with its location:
%VMXGWORL(DDDDDD=TYID);
PROC FREQ DATA=&MXGWORL;
This should have been done when %VMXGWORL was created.
Thanks to Hugh Lapham, RCMP, CANADA.
Change 21.173 SMF 116 Subtype 0 records with QWHS header LENQWHS=36
VMAC116 caused INVALID PRODUCT SECTION message, and were then
Sep 9, 2003 deleted (and hence not output in MQMACCT dataset).
LENQWHS=36 segment is now decoded, up thru QWHSMTN, but
QWHSLOCN/NID/LUNM/LUUV/LUCC/QWHSLUCN are all missing
values in MQMACCT short QWHS segment observations.
-Input of QWHCCV was changed to $CHAR12 from $EBCDIC12.,
to support execution under ASCII. See Change 22.089.
Thanks to Jacob Nudel, Thompson BETA Systems, USA.
Change 21.172 Variable PROCNAME in HPSUPROC dataset was not in the
VMACMWSU LENGTH $32 statement, so it defaulted to only 8 bytes.
Sep 9, 2003 It is now $32 bytes, as process names can be long.
Thanks to Chris Morgan, UFI, ENGLAND.
Change 21.171 ASCII execution only. RACF variables INTENT and ALLOW
VMAC80A were incorrect when MXG executed under ASCII SAS; the
Sep 7, 2003 INPUT of INTENTCH and ALLOWCH should be $CHAR1.
Thanks to Matthew T. Chappell, Queensland Transportation, AUSTRALIA.
Change 21.170 -TYPE70 variable NRCPUS is redefined to be the Average
VMAC7072 Number of CPUs that were Online, because IRD can vary
VMXGRMFI CPUs On and Off dynamically, and the original NRCPUS was
Sep 7, 2003 the integer number of CPUs online at interval end that
had not been varied, which is incorrect for IRD.
SMF70ONT, the Online Time from PR/SM segment is now
summed across all of the LCPUs in this MVS System, and
that sum is then used to recalculate NRCPUS
NRCPUS=SMF70ONT/DURATM
to now be the Average Number of Online CPUs, and its
Label changed. SMF70ONT is also now output in TYPE70,
and MXG percentages based on NRCPUS in TYPE70 were moved
to use the Average NRCPUS value in calculations. One
visible impact will be that NRCPUS will no longer be an
integer value!
-RMFINTRV was revised, adding new SMF70ONT variable and
with NRCPUS recalculated to be Average Number of CPUs.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 21.169 Specifying KEEPALL=YES in %VMXGSUM invocation in these
BUILD005 three members improves performance, and eliminates
BUIL3005 confusing messages if you happen to test with OBS=1.
SPUNJOBS
Sep 7, 2003
Thanks to Chuck Hopf, MBNA, USA.
Change 21.168 ERROR: DATASET WORK.MXGSUM2 IS NOT SORTED IN ASCENDING
AUTOEXEC may occurs if your SAS installation's SORTSEQ= option is
CONFIGV8 not SORTSEQ=EBCDIC or SORTSEQ=ASCII, as documented in SAS
Sep 7, 2003 Note SN-07151, which has no fix yet. So to eliminate the
exposure with MXG jobs, the appropriate SORTSEQ=EBCDIC or
SORTSEQ=ASCII is now set in MXG's defaults.
Thanks to Brian Sanger, Zurich Financial Services, ENGLAND.
Change 21.167 Support for multiple uniquely-named CICS user fields is
EXUTILEX added by the new _UNIQUE macro defined in member
UTILEXCL EXUTILEX, allowing you to create your own named variables
Sep 19, 2003 in CICSTRAN from your user data fields.
Thanks to Terry Fox, Principal Insurance, USA.
Change 21.166 IIS Web Log data caused UNRECOGNIZED HEADER and ARRAY
VMACWWW SUBSCRIPT OUT OF RANGE because MXG expected all 21 IIS
Sep 4, 2003 fields were present. Logic to recognize the end of
fields and protect for non-existent fields was added.
Thanks to Mike Penlington, Westpac, NEW ZEALAND.
Change 21.165 CICS/TS 2.2 STID=126 UNEXPECTED DATA due to STILEN=284
VMAC110 because MXG didn't INPUT variable S6RSP9CT, but now it
Sep 3, 2003 does and the variable is kept in dataset CICCFS6D.
Thanks to Allen Mayer, Prudential Securities, USA.
Change 21.164 Typos caused unprintable characters in MXG 21.04. In
DOCLRMFV member DOCLRMFV ASCII '85'x "dashes" were converted to
IMAC6ESS EBCDIC '25'X, but 'real dash' is '2D'x ASCII, '60'X on
Sep 3, 2003 EBCDIC. In member IMAC6ESS, there is a '0D'x that should
have been '40'X on EBCDIC, '20'x on ASCII.
Thanks to Scott Barry, SBBWorks, USA.
Change 21.163 Enhancement permits un-sorted datasets in MONTHBLD and
MONTHBLD circumvention for the (very rare) NOT-SORTED ERROR if you
MONTHBL3 build a monthly from daily/weekly PDBs that were created
MONTHBLS with two different MXG versions that spanned a change in
Sep 3, 2003 MXG sort order (last time this happened was when SYSPLEX
had to be added to RMF sort order!). Now, inserting this
statement:
MACRO _BY % MACRO _SORTBY %
before the _MNTHBLD invocation, both the expectation that
the input dataset is sorted, and the assertion that the
output dataset is sorted, are both disabled.
The building-in-sort-order by MXG is only for the
performance of your report programs, so that if you PROC
SORT in the same (recommended) order, SAS will bypass the
unnecessary sort. Nothing else in MXG requires datasets
be sorted.
Once you have nulled those macros, all subsequent
invocations of _MNTHBLD will be unsorted in and out.
Thanks to Caron Knox, Willis Corroon, ENGLAND.
Change 21.162 Typo of IFDURTM/496 instead of IFDURTM/4096 caused
VMAC119 invalid value for IFDURTM.
Sep 3, 2003
Thanks to Elisabeth Ballet, Michelin, FRANCE.
Change 21.161 MQ V5.3 CF dataset MQMCFMGR with MQ 5.3 has very large
VMAC115 values. MXG assumed QESTLL of 64, as documented, but
Aug 27, 2003 protection for longer QESTLL was added to see if that
could account for the problem. Await SMF test data.
Thanks to Ruud van Zundert, UBS, ENGLAND.
Change 21.160 Support for TNG Version 7 (INCOMPAT, due to insertion of
VMACTNG one field in the CAPMPCM HEADER record).
Aug 27, 2003
Thanks to Colin Bowen, CSC, SOUTH AFRICA.
====== Changes thru 21.159 were in MXG 21.04 dated Aug 25, 2003=========
Change 21.159 Variable SYNCTIME in TYPE23 is on the GMT time zone, so
VMAC23 it should have had ",GMT" at the end of its
Aug 21, 2003 %VMXGTIME(SYNCTIME,SYSTEM,GMT); statement.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.158 Support for new DFSMS/rmm EDGRXEXT data eliminates MXG
VMACEDGR "LESS THAN 545 BYTES" messages and incorrect data. New
Aug 20, 2003 variables in 'X' record, EDGRXEXT dataset:
RDLABNO ='LABEL NUMBER LABEL=(XX,LL) NEW'
RDLABNOX
RVALVERS='ANSI*LABEL*VERSION'
RVDCRSID='FIRST*FILE*CREATION*SYSTEM ID'
RVDSNNO ='LABEL*NUMBER OF*FIRST FILE*ON VOLUME'
RVEXPTKN='EXPORT*TOKEN'
RVLABNO1='LABEL*NUMBER OF*FIRST FILE*ON VOLUME'
RVOLTYPE='VOLUME*TYPE'
RVPERCNT='VOLUME*FULL*PERCENTAGE'
RVRBYSET='VOLUME*RETAINED*BY SET?'
RVSTKVCN='STACKED*VOLUME*COUNT'
RVSTKVLE='STACK*VOLUME*RECORD*ENABLED?'
New variables in 'D' & 'X' record, EDGRDEXT & EDGRXEXT
datasets: (SEE CHANGE 27.046 CORRECTIONS).
RDDEFRET='DEFAULT RETPD USED'
RDDSNSEQ='DATA SET SEQUENCE NUMBER NEW'
RDEXPDT ='DATA SET EXPIRATION DATE'
RDEXPDTO='ORIGINAL D/S EXPIRATION DATE'
RVDSTBIN='DESTINATION BIN NUMBER'
RVDSTMED='DESTINATION BIN MEDIA NAME'
RVMVDSN1='FIRST DSNAME OF A VOLUME SET'
RVVOL1 ='VOL1 LABEL VOLSER'
The two separate code blocks for the DEXT/RDEXT data was
consolidated into a single block and linked to.
Thanks to James D. Lieser, United Health Group, USA.
Change 21.157 DB2PM-like reports DB2 Accounting Summary had totals
ANALDB2R instead of averages for Class 2 Elapsed, Class 2 CPU, and
Aug 20, 2003 Lock Suspensions. Now they match DB2PM averages.
Thanks to Dr. Yao-Chun Rickert, Bank One, USA.
Change 21.156 Support for Control-D Log file creates 9 new datasets
EXCTLOGA reading their log records from the INFILE name CTLLLOG to
EXCTLOGB create a dataset for each record type:
EXCTLOGC MXG MXG
EXCTLOGD DATASET DATASET LOG
EXCTLOGE NAME LABEL TYPE
EXCTLOGF
EXCTLOGL CTLDOGA CTLD CONTROL REGION A
EXCTLOGM CTLDOGB CTLD ARCHIVE B
EXCTLOGX CTLDOGC CTLD USER C
FORMATS CTLDOGD CTLD DAILY D
IMACCTLL CTLDOGE CTLD AMF E
TYPECTLL CTLDOGF CTLD DECOLLATE F
TYPSCTLL CTLDOGL CTLD AUX REGION L
VMACCTLL CTLDOGM CTLD MIGRAION M
VMXGINIT CTLDOGX CTLD OTHER LOG TYPES ?
Aug 20, 2003 The "C" and "F" datasets contain the variables decoded
Nov 27, 2003 from the Log Message Text; for now, the other datasets
just contain the full LOGMSG text. If the CTLLLOG file
is to be sent to an ASCII platform for MXG execution, the
file must be sent as binary, as it contains both EBCDIC
text and binary values that cannot be translated to
ASCII. The correct DCB is RECFM=F,LRECL=6400, and that
is specified in the MXG program.
-Nov 27: Missing STARTIME in CTLDLOGF when log on/off time
stamps were identical corrected by revised SORT order.
Thanks to Elisenda Masacana, la Caixa, SPAIN.
Change 21.155 Support for Netspy Versions 6 and 7 already exists in MXG
VMACNSPY since MXG 20.10. Test V7 data was read without errors
Aug 18, 2003 nor any indications of inserted fields.
This change is documentation only; no change was made.
Thanks to Ron Byers, British Energy, ENGLAND.
Change 21.154 WARNING:LABELS EXCEED LENGTH 40 NOT SUPPORTED BY V6SEQ
ASUMCICS AND ARE BEING TRUNCATED had no impact, as it was only the
ASUMCICT DSNLABEL= argument revised in Change 21.090 that was too
ASUMCICX long.
Aug 18, 2003
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.153 -Support for BMC's MVIMS 3.3.0 (COMPAT) adds new data in
VMACCIMS reserved fields in 'FA'x IMS log record that are created
Aug 18, 2003 in these new variables in TYPECIMS dataset:
ABENDSYS='SYSTEM*ABEND*CODE'
ABENDUSR='SYSTEM*ABEND*CODE'
SAPEXTP1='SAP*EXIT*PASS*1?'
SAPEXTP2='SAP*EXIT*PASS*2?'
SAPTRNCD='SAP*TRANSACTION*CODE'
SMQFLAG ='SHARED*MESSAGE*QUEUE*ENVIRONMENT?'
SMQGROUP='SHARED*MESSAGE*QUEUE*GROUP NAME'
SRVCLASS='SERVICE*CLASS*NAME'
UOWTRANS='UOW*FOR*TRANSACTION'
The ABENDSYS/ABENDUSR variables already existed in the
CIMSPROG (program deschedule) dataset, they were added to
record Transaction Abends in CIMSTRAN dataset.
-Variables COREALOC/COREUSED are converted to bytes,
labeled 'BYTES*AVAILABLE/BYTES*USED' and formatted as
MGBYTES to "print pretty". Previously they contained the
count of 2K blocks.
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Change 21.152 Support for CICS/TS 2.3 (INCOMPATIBLE):
CICINTRV - New variables were inserted into CICSTRAN Subtype 1.
EXCICPGR - Two new CICS TCBs, 'J9' and 'JM' added, supported in
EXCICSJR Subtype 2 CICDS and CICINTRV datasets.
IMACEXCL - New Subtype 2 vars added to STID=2 and STID=117.
UTILEXCL - New Subtype 2 STID=118 and STID=119 create datasets.
VMAC110 -While you can use TYPE110/TYPS110/BUILDPDB to create the
VMXGCICI CICSTRAN dataset, we strongly recommend that you use the
VMXGINIT UTILEXCL program to read your CICS Dictionary records to
Aug 22, 2003 create an IMACEXCL tailoring member that will input and
Sep 1, 2003 keep only the CICSTRAN variables in your CICS records,
Sep 9, 2003 as that can reduce MXG runtime and save disk space.
Sep 10, 2003 UTILEXCL is required if you have excluded any fields
Nov 11, 2003 from your Performance Class (Subtype 1) records.
-New fields are inserted in SMF 110 Subtype 1 creating 17
new variables in CICSTRAN dataset:
CBSRVRNM='CORBA*SERVER*NAME'
DSMMSCCN='MVS*STORAGE*NO TCB*WAIT*COUNT'
DSMMSCTM='MVS*STORAGE*NO TCB*WAIT*TIME'
DSTCBMCN='TCB*MISMATCH*ELAPSED*WAIT*COUNT'
DSTCBMTM='TCB*MISMATCH*ELAPSED*WAIT*TIME'
EJBCRECT='EJB*BEAN*CREATION*CALLS'
EJBMTHCT='EJB*BEAN*METHOD*CALLS*EXECUTED'
EJBREMCT='EJB*BEAN*REMOVAL*CALLS'
EJBSACCT='EJB*BEAN*ACTIVATIONS'
EJBSPACT='EJB*BEAN*PASSIVATIONS'
EJBTOTCT='EJB*TOTAL*REQUESTS'
J9CPUTCN='USER TASK*J9 MODE*CPU TCB*COUNT'
J9CPUTTM='USER TASK*J9 MODE*CPU TCB*TIME'
KY9CPUCN='USER-TASK*KEY 9*TCB CPU*COUNT'
KY9CPUTM='USER-TASK*KEY 9*TCB CPU*TIME'
KY9DISCN='USER-TASK*KEY 9*TCB DISPATCH*COUNT'
KY9DISTM='USER-TASK*KEY 9*TCB DISPATCH*TIME'
-Two new TCBs, 'JM' and 'J9' are created in the CICDS and
CICINTRV datasets from the STID=60 Dispatcher Statistics
110 subtype 2 record, creating new DSExxxxx and DSFxxxxx
variables for those 14th and 15th TCBs. MXG input based
on TCB Number is no longer valid, as IBM uses the same
TCB number for different named TCBs; the TCB name is now
used to store TCB data into the correct set of variables
and the MXG Variable label accurately identifies what
TCB is stored in each set of MXG variables:
Prefix: DSG DS2 DS3 DS4 DS5 DS6 DS7 DS8 DS9
TCB Name: QR RO CO SZ RP FO SL SO J8
Prefix: DSA DBB DSC DSD DSE DSF
TCB Name: L8 S8 H8 D2 JM J9
-The VMXGCICI member was revised to include the two new
TCBs in the PDB.CICINTRV dataset.
-New variables added from STID=2 DFHSMSDS to CICSMDSA:
SMSWAITM='TOTAL*TIME*WAITING FOR*MVS STORAGE'
SMSWAICN='NUMBER OF*REQUESTS*CAUSING*WAITS'
-New variables added from STID=117 DFHSJGDS to CICTCPSJ:
SJGCUWCJ='JVM*CURRENT*WORKER CACHE*JVMS'
SJGMXWCJ='JVM*PEAK*WORKER CACHE*JVMS'
SJGRQWCJ='JVM*REQUESTS*CLASS*CACHE'
-New CICSJR dataset created from STID=118 DFHSJRDS with
the JVMPROFILE Resource Statistics, one observation per
Storage Key for each Profile/Path:
SJRJVCRE='SJR*NEW*JVMS*CREATED'
SJRJVDES='SJR*JVMS*DESTROYED*SOS'
SJRJVHWM='SJR*JVM*HEAP*HWM'
SJRJVRES='SJR*JVMS*RESETTABLE'
SJRLEHWM='SJR*LE*HEAP*HWM'
SJRMMSTE='SJR*MISMATCH*STEALER'
SJRMMVIC='SJR*MISMATCH*VICTIM'
SJRPRCLC='SJR*PROFILE*CLASS*CACHE*SETTING'
SJRPRCUR='SJR*CURRENT*PROFILE*USE COUNT'
SJRPRFRQ='SJR*PROFILE*REQUESTS'
SJRPRHWM='SJR*PEAK*PROFILE*USE*COUNT'
SJRPRNAM='SJR*PROFILE*NAME'
SJRPRPTH='SJR*PROFILE*PATH*NAME'
SJRPRXMX='SJR*PROFILE*XMX*VALUE'
SJRSTOKY='SJR*STORAGE*KEY'
-New CICPGR dataset created from STID=119 DFHPGRDS with
the JVM Program Resource Statistics, one obs per record
Storage Key:
PGRJVCLS='JVMPROGRAM*JVMCLASS*NAME'
PGRJVKEY='JVMPROGRAM*CICS/USER*KEY'
PGRJVPGM='JVMPROGRAM*NAME'
PGRJVPRO='JVMPROGRAM*PROFILE'
PGRJVUSE='JVMPROGRAM*USE*COUNT'
-The new and changed STIDs have been validated with data.
-Note: Several new fields in the SMF records can have up
to 255 characters; for now, MXG only inputs the first
200 characters, so that MXG can still execute under SAS
Version 6, with its 200-byte limit. But as soon as any
MXG customer actually has a name field that is 201 bytes
of text, I will revise those INPUTs to $EBCDIC256, and
the SMF 110 code will have to be executed under SAS V8.
P.S. New stuff, like WebSphere, that is not in the
default BUILDPDB already requires SAS V8!
CICS/TS 2.3 Documentation Errors:
1. In the Data Areas, the SJGDS description does not
show "117" for the STID of that segment, so you
cannot find that SJGDS is the DSECT for that STID.
2. The first SJRDS description is actually the PGRDS
descrption for the STID=119 segment; the bold face
title and the index entry need to be changed to
PGRDS. The ID field does not show "119".
3. The second SJRDS description is correct for the
STID=118 segment The ID field does not show "118".
Change 21.151 Total CREATES in DB2 reports was incorrect; the second
ANALDB2R occurrence of QXCRTAB in CREATES=SUM( ... ) should have
Aug 15, 2003 been QXCTABS.
Thanks to Dr. Yaou-Chun Rickert, Bank One, USA.
Change 21.150 -Support for CPU Time fields in SMF 120 WASserver that
VMAC120 were put in the SMF record by APAR PQ74463, but were only
Aug 13, 2003 documented in the HOLDDATA section of the PTF; Change
Aug 19, 2003 21.107 added support for the other new fields.
Dataset TYP120WI:
SM120WJ4='AVERAGE*CPU TIME' TIME13.6
SM120WJ5='MINIMUM*CPU*TIME' TIME13.6
SM120WJ6='MAXIMUM*CPU*TIME' TIME13.6
Dataset TYP120WA:
SM120CPU='CPU*TIME' TIME13.6
Variable SM120CPU was added by Change 21.107, but
units were undocumented; I assumed divide by 4096,
but the HOLDDATA documentation says microseconds,
so the divide was removed.
-Spurious "UN READ DATA FOUND" messages from SMF 120 were
due to incorrect calculation of SKIP, now fixed.
Thanks to Jan ter Laak, Rabobank, THE NETHERLANDS.
Change 21.149 -Support for z990 CPUs. INCOMPATIBLE: Variables in data
VMAC7072 sets TYPE70PR (LPARCPUS) and ASUM70PR (LPnNRPRC) have
VMXG70PR the total number of engines, rather than the number of
VMXGINIT online engines in RMF data with new CPUTYPE='2084'x.
Aug 13, 2003 MXG tests in VMAC7072 had to be revised for that new
Aug 15, 2003 value. The code was corrected in August in MXG 21.04.
Aug 22, 2003 (This note was not in the original change; it was
Sep 16, 2003 added Sep 16, 2003 to document the requirement).
-New PDB.ASUM70LP dataset for LPAR Reporting is easier and
safer to use than either the detail PDB.TYPE70PR dataset
or the summarized PDB.ASUM70PR dataset.
TYPE70PR - Most Detail - One obs for each LCPUADDR in
each LPARNAME, so CPs, ICFs, PHYSICALs, and
Linux engines are included; reporting must
select which obs to use, how/what to
summarize, and the criteria keeps changing
with IBM hardware or OS level, making your
report maintenance complex and exposed. Once
PDB.ASUM70PR existed, MXG has always
recommended its use, but many user reports
were written using TYPE70PR before there was
a PDB.ASUM70PR.
ASUM70PR - "Platform" summary - All LPARs measured in a
single observation, with a set of vars
(LP0NAME,LP0DUR,PCTL0BY,LP0MSUHR...) for 32
LPARs. Summarized from TYPE70PR with MXG
logic keeping track of what to count,
calculating percentages and MSU variables,
plus the totals for the "Platform". Very
Very accurate and useful, but having all
those different variable names makes for very
messy coding in your reportings, so:
ASUM70LP - A "vertical" dataset built from ASUM70PR.
For each online LPAR, one observation is
created in ASUM70LP for each LPARNAME, and
with only one set of variable names, so you
can select and sort and report easily. (This
is probably how ASUM70PR should have been
originally structured!)
You still must select the "production" SYSTEM whose
observations are used; each SYSTEM creates obs in
all three of the above datasets.
-Corrections/enhancement for PDB.ASUM70PR/PDB.ASUMCEC were
made in both VMAC7072 and VMXG70PR:
.Variables LPnDUR and LPCTnBY in PDB.ASUM70PR/ASUMCEC were
sometimes incorrect, perhaps since Change 19.189! Obs
with SMF70ONT=0 in PDB.TYPE70PR were included in LPnDUR,
so it to be much greater than DURATM*LPnNRPRC, and LPnDUR
is used to calculate LPCTnBY percentage.
.The VMAC7072 logic to creates SMF70ONT was revised
SMF70ONT - missing - Pre 2064, does not have ONT
SMF70ONT - zero - ONT valid and zero
SMF70ONT - nonzero - ONT valid and non-zero
to be more robust and consistent across hardware, and
then VMXG70PR logic that decides to sum this LPARDUR was
revised to include old and new but not spares:
IF SMF70ONT=. THEN LPARDUR=DURATM;
ELSE IF SMF70ONT GT 0 THEN LPARDUR=SMF70ONT;
ELSE LPARDUR=0;
.For LPARs with no CPUs (LPnNRPRC=0), these LPnXXXXX
variables LPnDUR,LPnBDA,LPnLAC,LPnMSU70,LPnNSW,LPnWST are
now set missing when LPnNRPRC=0, (i.e, when the LPAR had
no CPUs assigned) to be consistent with the other
variables that were already missing.
.Divide by zero error was corrected in ASUM70PR.
-Correction in VMAC7072 for PDB.TYPE70PR var SMF70CIN
which could be blank for observations after an offline
LPAR, because MXG's test to set SMF70CIN should have been
IF NRCIXGTO (instead of NRICFCPU) as the flag that
OW37565 was installed.
-The CSTORE storage, SMF70CSF, is added for each LPAR in
PDB.ASUM70PR, PDB.ASUM70LP, and PDB.ASUMCEC. (ESTORE is
a thing of the past; SMF70ESF not added.)
See also Change 21.216 if you are back-level on OS/390 or
early z/OS and SMF70WLA is not populated in SMF 70.
Thanks to Brian Cummings, Federal Reserve Information Technology USA
Thanks to Shirley Fung, HSBC, HONG KONG.
Thanks to Joe Key, BOC Gases, ENGLAND.
Change 21.148 This UTILBLDP enhancement honors your %LET MACKEEP=
UTILBLDP tailoring when you execute %UTILBLDP "instream", i.e.,
VMXGINIT when you invoke %UTILBLDP to create an OUTFILE= and then
Aug 12, 2003 %INCLUDE that file to execute the BUILD program.
Aug 14, 2003 (Previously, UTILBLDP disregarded any tailoring that you
Aug 18, 2003 tried to use in a %LET MACKEEP= statement).
- If you execute UTILBLDP "instream" with this syntax:
%LET MACKEEP= ... tailoring code ... ;
%UTILBLDP(..,OUTFILE=zzzzzzzz,...);
%INCLUDE zzzzzzzz;
the text in your %LET MACKEEP statement text will be
stored in the new &MACBLDP macro variable, which is
executed by a new &MACBLDP invocation appended to the
end of the %LET MACKEEP= statement in zzzzzzzz.
- So to execute %UTILBLDP a second time in the same
data step to create a different zzzzzzzz program
(not sure that you'd ever want or need to), you
need to null MACKEEP, or set to a new value,
before each %UTILBLDP execute.
- If instead you don't want to run the zzzzzzzz code in
this step, but you want to tailor it later with %LET
MACKEEP= logic, then you must have a non-blank
&MACKEEP when you run %UTILBLDP to create zzzzzzzz,
and then you must use %LET MACBLDP= instead of the
%LET MACKEEP= statement to pass your tailoring to the
zzzzzzzz program.
%LET MACBLDP= ... your MACKEEP text ... ;
%INCLUDE zzzzzzzz;
- If MACKEEP is blank when %UTILBLDP creates zzzzzzzz
there is no &MACBLDP statement created in zzzzzzzz.
- The %UPCASEs of macro variables OUTFILE, EXPDBOUT, and
IMACKEEP was removed because unix permits mixed case
file names. (This is not an exposure under Windows,
which sees the same name regardless of the case in its
file and directory names).
- If you have specified BUILDPDB=NO, but you want the
program to contain the _EPDBOUT invocation, you can
specify EXPDBOUT= _EPDBOUT, to create that text.
A later iteration of UTILBLDP may let you put SAS
statements in its EXPDBOUT= argument.
- Several dataset sort macros for type 30 datasets were
misspelled and should have been _STY30xx.
Thanks to Scott Barry, SBBWorks, INC, USA.
Change 21.147 MXG 21.02-21.05 Change 21.062 caused variable STRTTIME in
VMXGUOW dataset PDB.ASUMUOW to be wrong, although temporary
Aug 11, 2003 internal variable TIMESTMP (which should not have been
Sep 23, 2003 kept) was correct and could be used for STRTTIME. The
variables HOLDSTRT and HOLDEND were not initialized, but
now they are, and so STRTTIME will always equal TIMESTMP.
I'd should also drop the redundant variable TIMESTMP, but
since you may have used it, I'll hae to continue to keep
both STRTTIME and TIMESTMP variables. Note: This change
was not in MXG 21.04 nor 21.05. You can correct those
versions by inserting
HOLDSTRT=TIMESTMP;
HOLDEND=TIMESTMP;
after EARLIEST=TIMESTMP;
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.146 Support for Windows 2003 Server MEMORY object, which has
VMACNTSM NRDATA=31 with one new variable added.
Aug 9, 2003
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 21.145 MXG 21.02-21.03, Change 21.090 made variable DATETIME not
ASUMCICS exist in the PDB.CICS dataset. Variable STRTTIME should
ASUMCICT be used in reports, and it was just fine. Even though
ASUMCICX variable DATETIME is a temporary variable that is created
Aug 7, 2003 inside VMXGSUM logic, and should not have been kept, it
was accidentally added to some datasets, and since some
users have used it instead of STRTTIME, it is again
created in PDB.CICS so your existing reports that still
uses DATETIME won't fail.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.144 Protection for truncated (invalid) SMF 119 subtype 7
VMAC119 record with offsets for 32760 bytes of data, but the
Aug 6, 2003 maximum SMF data bytes are 32756. This invalid SMF
record caused INPUT STATEMENT EXCEEDED RECORD LENGTH
error condition. There either is, or will be, an APAR to
correct the SMF 119 record, but this type of bad record
is now recognized and the last segment is not input.
Thanks to Dan Doan, Verizon, USA.
Change 21.143 Support for HMF Release 2.7 (INCOMPAT) changed the
EXTYHMFW subtype 29 and 30 records, and added subtype 32 and 33
EXTYHMFX that create new TYPEHMFW and TYPEHMFX datasets.
IMACHMF See Change 22.162, which corrected this change.
VMACHMF
VMXGINIT
Aug 6, 2003
Thanks to John Mitchell, IBM Global Services, USA.
Change 21.142 SMF 118 TCP Statistics TYPETCPS dataset values are not
VMACTCP interval values, like in the other TYPETCPx datasets.
Aug 6, 2003 The _STYTCPS dataset sort macro is revised to sort and
deaccumulate the TYPETCPS variables. And to ensure you
don't overlook this need, the _STYTCPS dataset sort macro
is added in the TYPETCP member; if you have added TCP
processing to your BUILDPDB and have added either _STCP
(to sort all dataset) or at least the one _STYTCPS sort
macro, then your BUILDPDB-built TYPETCPS data will
contain legitimate interval values.
Thanks to Brian Crow, BT, ENGLAND.
Change 21.141 With S390/R2.10 on z990 processors, CPU NOT IN TABLE
FORMATS message for CPUTYPE=2084 is printed; R2.10 does not
Aug 6, 2003 contain SMF70CPA, so MXG must use a table lookup in the
Aug 17, 2003 $MG070CP format table. The message only impacts the
CECSUSEC and MSU variables, and is eliminated by adding
the new CPUTYPE and CPCMODEL to the format. The $MG070CP
has been updated for the CPCMODEL=307. 17Aug03: FORMATS
updated for all 2084's by Al.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.140 -Dataset PDB.DB2GBPST DB2 Global Buffer Pool has always
VMACDB2 had correct values for the QBGLxxx variables for each
Aug 6, 2003 Global pool, but the summarization of those data into the
Aug 24, 2003 QBGLxxx variables in PDB.DB2STATS was never right. MXG
summed those variables by interval as SMF data was read,
but that logic can never work because the data is
accumulated by buffer pool within each interval. Since
those variables in PDB.DB2STATS have never been valid,
all QBGLxxx variables were removed from both PDB.DB2STAT1
and PDB.DB2STATS datasets.
-Dataset PDB.DB2STATB DB2 Buffer Pool has always had
correct values for the QBSTxxx variables for each of the
buffer pools, but their sum in PDB.DB2STATS into the four
QB1Txxx/QB2Txxx/QB3Txxx/QB4Txxx variable sets were only
correct when there was only one buffer pool in a variable
set. Those variables are no longer created in DB2STAT1
during SMF read, but are created by summarization of the
PDB.DB2STATB dataset after it as been built by the
_SDB2STB macro in SUMSTATB temp dataset that is then
merged in _SDB2STS macro to add those variables back into
PDB.DB2STATS.
-Some old variables that have not existed for several DB2
versions were going to be dropped, but their absence
caused TRNDDB2S/MNTHDB2S to die with VARIABLE NOT FOUND
errors, so they are added back in, but are always missing
value:
QBnTBPX QBnTPFDC QBnTPID QBnTPWU QBnTSWU QBnTWMAX.
-B3HITRAT had negative value, due to QBnTxxx errors.
-To document in one place, the four buffer sets are:
QB1T=BP0 QB2T=BP1 QB3T=BP2-49 (other 4K)
QB4T=BP80-89 (32K) BP100-109 (16K) BP120-129 (8K)
-And in DB2 V7.1, data for a buffer pool can just stop,
perhaps when a pool is no longer used, and that caused
MXG's deaccumulation logic to require refinement.
Thanks to Sim Williams, Fidelity, USA.
Change 21.139 -Variable SU_SEC was missing in the optional TYPE6ENH
ASUMPRTR dataset with Goal Mode; TYPE72GO was added to the SET
Aug 5, 2003 statement to populate SU_SEC.
-The second ELSE THRUPUT=.; is now ELSE PCTAFP=.;
Thanks to Diane Eppestine, SBC, USA.
Change 21.138 Change 20.069 created new variables, but added them to
VMAC7072 the wrong KEEP= list. These variables:
Aug 4, 2003 R723RAPP R723RW01 R723RW02 R723RW03 R723RW04 R723RW05
R723RWRR R723RWRT R723RWST
are now relocated to the MACRO _VTY72DL's KEEP list for
the TYPE72DL datasets, instead of TYPE72SC's list.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 21.137 ASMTAPES enhancement detects Allocation Recovery of tape
ASMTAPES devices, creates new SMF subtype to record which job was
EXTMNTAR delayed for how long and which tape devices, real or
IMACTMNT virtual, were unavailable for allocation. The new subtype
VMACTMNT creates observations in new dataset TYPETARC.
VMXGINIT The MXG Allocation Recovery Monitor, "ARCV", feature of
Aug 4, 2003 the MXG Tape Mount and Tape Allocation Monitor is created
Oct 23, 2003 as a sub-task of the MXGTMNT monitor's main task. ARCV's
purpose in life is to establish, under Main Console
Services, an Extended MCS console whose purpose is to
look at those specific console messages that are related
to device allocation recovery. When an allocation
recovery event starts, information related to that event
is maintained for the duration of the event. When the
event concludes (device allocated or request cancelled),
an SMF record containing information about the event is
written.
This feature is implemented as a separate subtask within
the existing MXGTMNT address space, both for isolation
from the current functionality, and to exploit MVS
multiprocessing.
The "ARCV" function can be enabled in the ASMTAPES source
before assembly with the DOARCV flag (default is
ARCV=NO), or the ARCV=YES/NO can be specified in a PARM=
or via a Modify operator command, so it can be enabled or
disabled at any time without having to restart the
MXGTMNT address space.
To clean out ASUMTAPES codewebs that were there only for
seriously-old-releases of MVS, ML-29 eliminated exposures
in archaic code by eliminating the archaic code; ML-29 of
ASMTAPES now requires a minimum OS level of OS/390 2.8.
Six sites have had ML-29 for several weeks and none have
reported any failures, but then none have reported they
have tested it yet, either. 22Aug03.
Oct 23: Just discovered that ASMTAPES in MXG 21.04 and
MXG 21.05 did NOT contain ML-29 version. Now
it does.
Change 21.136 NTSMF dataset SMTPSERV, Windows 2000 and later, didn't
VMACNTSM input CATQUELN, causing the subsequent 85 variables to be
Aug 1, 2003 incorrect.
And with test data, I found that these variables
BYTESRCV BYTESSNT BYTETOTL CONNERRS CONNINBD
CONNOUBD MSBYSRCV MSBYSSNT MSBYTOTL MSGRCVD
MSGSENT MSGTOTS
are accumulated values, rather than interval values; the
_SNTSMTP sort macro now does the deaccumulation of those
variables. (Others variables may also need to be
deaccumulated, but only when I have non-zero data values
can I determine what needs to be deaccum'd.) And the
Instance Name is only one character long in the NTSMF
record - being investigated by NTSMF.
Thanks to Xiaobo Xhang, ISO, USA.
Change 21.135 Sample daily reporting from StorageTek SMF (TYPESTC) and
ANALSTC MXGTMNT (TYPETMNT) datasets to track STK Virtual Tape
Aug 1, 2003 activity. Documented in comments in the member. Note
that all of the internal timestamps in the STC records
are on GMT; you may need to enable VMXGTIME to set the
GMT times back to local time zone before running these
reports.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.134 ASG-TMON V2.2 only.
VMACTMO2 Dataset MONITASK, variables NETSNAME UOWID and UOWTIME
Jul 31, 2003 were incorrectly input, and TALOUOWID was not input at
all. Only critical if you use ASUMUOWT to create
PDB.ASUMUOW from MONITASK data.
Dataset MONIUTG, variable TAUTGICT was not input, and
variable TAUTSTIM has been removed, since it does not
exist.
Thanks to Shantha Hallett, CGEY, ENGLAND.
====== Changes thru 21.133 were in MXG 21.03 dated Jul 28, 2003=========
Change 21.133 Support for NDM Release 4.3 has been tested with most
VMACNDM existing subtypes, but only partial documentation has
Jul 26, 2003 been found. New subtypes exist and are protected, but
until users require the new subtypes, and their DSECTS
are located, the new subtypes are skipped. See the
comments in member VMACNDM as to status of individual
NDM subtypes.
Thanks to Thomas Heitlinger, FICUCIA Karlshruhe, GERMANY.
Change 21.132 Tailoring MXG to only create some datasets can cause
ADOCDB2 ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES
DOCMXG which is the result of trying to PROC SORT a dataset that
Jul 25, 2003 doesn't exist. This can happen even when you use _Nxxxx
"product null" macro to null out all datasets, redefine a
_Wdddddd "work dataset" macro for each one you want, and
redefine the _Sxxxx "product sort" macro to list only the
_Sdddddd "dataset sort" macros for those datasets that
you created: if a later part of your job has an _Sdddddd
macro invoked.
Most MXG programs use the _Sxxxx product macro, but
there are some cases where the individual _Sdddddd
macro is invoked, and the SAS/ITSV "BUILDPDB" job
invokes several _Sdddddd members, because they were
created in MXG before the more-recent _Sxxxx product
sort macro was created.
The _Nxxxx,_Sxxxx,_Sdddddd etc macros are documented
in the DOCMXG member.
This example for either MXG or ITSV will keep only the
DB2ACCT.DB2ACCT and PDB.DB2STATS datasets.
Mar 4, 2004: The earlier example, below, was replaced.
See the text of Change 22.020.
//SYSIN DD *
%LET PDB2ACC=DB2ACCT;
%LET PDB2ST0=WORK;
%LET PDB2ST1=WORK;
%LET PDB2STB=WORK;
%LET MACKEEP=
%QUOTE(
_NDB2
MACRO _WDB2ACC _LDB2ACC %
MACRO _WDB2ST0 DB2STAT0 %
MACRO _WDB2ST1 DB2STAT1 %
MACRO _WDB2STB DB2STATB %
MACRO _SDB2 _SDB2STB _SDB2STS %
MACRO _SDB2ACP %
MACRO _SDB2ACB %
MACRO _SDB2ACG %
MACRO _SDB2PAT %
MACRO _SDB2ST2 %
MACRO _SDB2STR %
MACRO _SDB2PST % );
%INCLUDE SOURCLIB(TYPSDB2);
RUN;
Thanks to Chrisa Neven, KBC, BELGIUM.
Change 21.131 The value in SAS macro variable &SYSSCP is the operating
VMXGINIT system of this execution, and it returns "OS", "CMS", or
VMXGGETM "others" (listed in comments in VMXGINIT). MXG copies
VMXGTAPE &SYSSCP into &OPSYS, and tests for "OS", "CMS", or ELSE,
VMXGVTOC creating different code on different execution platforms.
VMXGTAPE I was misinformed that SAS had changed values of &SYSSCP,
VMXGSUM and in revising my code, found inconsistent testing for
VMXGDSNL both &OPSYS and &SYSSCP, so all logic now uses only the
VMXGDEL MXG-created &OPSYS macro variable, whose value is set in
VMACVMXA VMXGINIT. Then my mis-informant RTFM and discovered that
VMACVMON it was not the macro &SYSSCP, but instead macro &SYSSCPL
VMACUNIK that SAS changed ("MVS" became "OS/390" or "z/OS", with a
VMACTPF lower case z!), but MXG never uses &SYSSCPL, so this
VMACTAND change was not actually required. But consistent coding
VMACOPC is the end result, and I consider the time well spent.
VMACMVCI
VMACEREP
VMACDCOL See SAS Notes SN/004/004358, SN/006/006346 on &SYSSCPL.
VAXPDS Note: If you did want to test &SYSSCPL for that new
UTILBLDP "z/OS" value, in macro language, the syntax is
PRINTNL %IF %QUOTE(%UPCASE(&SYSSCPL)) EQ %QUOTE(Z/OS) %THEN ..
GRAFWRKX
BLDNTPDB
ANALDB2R
ANALCISH
VMXGRMFI
Jul 24, 2003
Change 21.130 Support for APAR OW56656 for RMF for z990 family adds
VMAC7072 variables to existing datasets:
VMAC73 - TYPE70X2 dataset
VMAC74 R7024EN /*NUMBER OF*CRYPTO*ENGINES*/
VMAC78 - TYPE73 dataset
VMAC79 SMF73CSS /*CHANNEL*SUBSYSTEM*ID*/
Jul 23, 2003 SMF73SFL has new bit 2 value
Hardware Allows Multiple Channel Subsystems
SMF73FG4, MXG variable CHANINDY, has new bit 5 value
Chan Characteristics Changed in Interval
- TYPE74 dataset
SMF74ENF (not kept, has new bit 0 "Extended Mode")
- TYPE78 dataset
R783GFLG MXG variable IOPIFLG has new bit 6 value
Initial-Command-Response measure supported
- TYPE78CU dataset new variables:
R783CBTM='CU BUSY*TIME FOR*DCM MANAGED*CHANS'
R783CMRM='CMR*TIME FOR*DCM MANAGED*CHANS'
R783SBSM='SWITCH*BUSY COUNTS*FOR DCM*MANAGED'
R783CSST='CHANNEL*SUBSYSTEM*WAIT*TIME'
- TYPE78CF dataset new variables:
R783CBT ='CU BUSY*DELAY TIME'
R783CMR ='INITIAL*COMMAND*RESPONSE*TIME'
R783CPXF='CHANNEL*PATH*EXTENDED*FLAGS'
R783SBS ='SWITCH*BUSY*COUNTS*ALL PARTITIONS'
- TYPE799 dataset
R799CNX - new bit 3 value.
- TYPE79C dataset
R79FLAG - new bit 5 value.
New variable:
R79CCSS ='CHANNEL*SUBSYSTEM*ID'
R79CFG3 - new bit 5 value.
- TYPE79E dataset
IOPIFLG (R79EGFLG) new bit 6 value.
New Variables:
R79ECBT ='CU BUSY*DELAY*TIME'
R79ECMR ='CMR*TIME'
R79ESBS ='SWITCH*BUSY*COUNT'
R79ECPXF='CHANNEL*PATH*EXTENDED*FLAGS'
R79ECBTM='CU BUSY*DELAY*TIME'
R79ECMRM='CMR*TIME'
R79ESBSM='SWITCH*BUSY*COUNT'
R79ECSST='CHANNEL*SUBSYSTEM*WAIT*TIME'
Change 21.129 Support for ASG-Landmark's TMON for MQ-Series creates
EXTMQQC these new MXG datasets from the TMMQIN infile:
EXTMQQE Dataset Description
EXTMQQH TMMQQC CHANNEL STATISTICS
EXTMQQMA TMMQQE EVENT
EXTMQQMB TMMQQH DEAD LETTER QUEUE (DLQ) PROCESSOR ACTIVITY
EXTMQQMD TMMQQMA QUEUE MANAGER - ASID DATA
EXTMQQML TMMQQMB QUEUE MANAGER - BUFFER MANAGER
EXTMQQMM TMMQQMD QUEUE MANAGER - DATA DATA
EXTMQQS TMMQQML QUEUE MANAGER - LOG MANAGER
EXTMQQT TMMQQMM QUEUE MANAGER - MESSAGE MANAGER
EXTMQQU TMMQQS PAGE SET STATISTICS
EXTMQQV TMMQQT THREAD INTERVAL
EXTMQQX TMMQQU QUEUE STATISTICS INTERVAL
IMACTMMQ TMMQQV DLQ PROCESSOR ACTIVITY SUMMARY
TYPETMMQ TMMQQX EXCEPTION
TYPSTMMQ
VMACTMMQ
VMXGINIT
Jul 23, 2003
Change 21.128 If you used UTILEXCL (for CICS Excluded Fields) to create
IMACEXCL an IMACEXCL member, or if you tailored the MXG IMACEXCL
UTILEXCL member, variables SC24CHWM and SC31CHWM were wrongly
Jul 23, 2003 divided by 4 million (4E06 in floating point syntax),
and variables SC23COCC and SC31COCC were wrongly not
divided by 4E06. Using the un-modified VMAC110 produced
correct values for all four variables.
Thanks to Art Cuneo, BlueCross Blue Shield of Illinois, USA.
Change 21.127 The INFILE SMF statement has FILENAME=INFILENM added, and
VMACSMF LENGTH INFILENM $64; so that INFILENM will contain the
Jul 21, 2003 MVS DSNAME or the ascii directory/filename of the input
SMF file that is being read. INFILENM is NOT kept in any
MXG datasets, but is available as each record is read,
and could be used to track what DSNAMEs have been read.
Although MVS DSN is only $44, I picked $64 because of the
typical size of ascii directory and filenames.
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Change 21.126 TYPE74CA variable R745DCIR is now reserved; variables
VMAC74 R745CUID (from "CO" segment) and R745DCID (from "DO")
Jul 21, 2003 are documented by IBM as "Control Unit ID", but when
only two unique values ('1B'x=2105s and '15'x=3390-6s)
were found in RMF data, IBM was queried and confirmed
that the fields actually contain a unique code for the
cache controller type; IBM documentation will be revised.
Variable R745DCID is now formatted HEX2.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.125 You can now map different SRVCLASS from different SYSTEM
VMXGRMFI or SYSPLEXes into a single workload in PDB.RMFINTRV.
Jul 22, 2003 You use two WORKnn statements, with different nn values,
but with the same first two arguments (workload name,
label text), and then the SYSTEM or SYSPLEX arguments
control which SRVCLASS observations from TYPE72/TYPE72GO
are included in this workload name. For example
WORK01=TSOP/TSO Prod//TSOPROD/2//PLEXA,
WORK02=TSO/TSO//TSO/2//PLEXA,
WORK03=TSO/TSO//TSOPROD/2/PLEXB,
would create two workloads, TSO containing SRVCLASS
TSOPROD from PLEXA, and TSOP containing SRVCLASS TSO from
PLEXA and SRVCLASS TSOPROD from PLEXB.
Because PERIODS=2 is specified, the "PERIODS" response
variables for two periods will be created for each
of these workloads, comprising these variables:
TSOP1RSP TSOP1SWP TSOP1TRN
TSOP2RSP TSOP2SWP TSOP2TRN
TSO1RSP TSO1SWP TSO1TRN
TSO2RSP TSO2SWP TSO2TRN
In addition, because the workload name starts with TSO,
the "TSO" response variables for the entire system:
TRIVRESP TSO2RESP TSO3RESP TSO4RESP
TRIVTRAN TSO2TRAN TSO3TRAN TSO4TRAN
TRIVSWAP TSO2SWAP TSO3SWAP TSO4SWAP
(Note: Previously, only the workload 'TSO' exactly was
in these "TSO" response variables, but now, all
workloads with XXXX starting with "TSO" are
included in the "TSO" response variables, and
you can use the "PERIODS" response variable for
the individual TSO workloads if more than one.
The comments documenting the VMXGRMFI arguments was also
revised by this change.
Note: To use these enhancements, you MUST execute MXG
with SAS Version 8.2 or later.
Thanks to Shirley Fung, HSBC, HONG KONG.
Change 21.124 Support for EntireX user SMF accounting EXXACTR record
EXENTIRX creates ENTIREX dataset.
FORMATS
IMACENTX
TYPEENTX
TYPSENTX
VMACENTX
VMXGINIT
Jul 18, 2003
Thanks to John Cousins, Bristol City Council, ENGLAND.
Change 21.123 Non-duplicate TYPE6156 records were deleted by the NODUP
VMAC6156 in MXG's PROC SORT, because all of the kept variables in
Jul 17, 2003 TYPE6156 were identical. However, the two records were
different, only in the catalog segment E3 (TRUENAME), and
one record was for Data, the other for Index, so variable
TRUETYPE and TRUEDSN are now decoded from the 'E3'x data,
and are kept in TYPE6156, and are added to the _BTY6156
by list, so the non-duplicate records are not duplicates
any more.
Thanks to Art Cuneo, BlueCross Blue Shield of Illinois, USA.
Change 21.122 The +58 in Volume Record from MVSRECLV=01 RMM records
VMACEDGS was changed to +122 by Change 19.284, but now records
Jul 16, 2003 have been found with MVSRECLV=01 that still have only
+58 bytes to skip between MVDCRSID and MVDSN1L, and
I can find no flag that indicates how many bytes need to
be skipped. Using +122 with +58 record causes STOPOVER,
while using +58 with +122 causes no error (and only the
variables listed in Change 19.284 to be in error), so I
have changed the default back to +58, and have created
a new "old-style" MACRO _LNEDGS +58 % in VMACEDGS
that can be changed externally, if you have +122 records,
by inserting this statement as your first //SYSIN DD *:
%LET MACEDGS= MACRO _LNEDGS +122 % ;
Thanks to Jim Bentley, AHOLD Information Services, USA.
Change 21.121 DB2 Trace IFCID=21 variable QW0021GS, input as $CHAR4.,
VMAC102 should have been variable QW0021GF, input as $CHAR1., and
Jul 14, 2003 variable QW0021CS should have been input as $CHAR1. Both
QW0021CS and QW0021GF are now formatted $HEX2. and
variable QW0021GS is no longer kept in T102S021 dataset.
-IFCIDs 251 and 257 internal QW0251xx and QW0257xx are now
input, formatted, and kept.
Thanks to Richard Link, BlueCross BlueShield of Illinois, USA.
Change 21.120 Condition Code variable NDMSCC is a character variable
VMACNDM with $HEX8. format, so it prints '00000000' for a zero
Jul 14, 2003 and '00000008' for an 8, but that is messy for testing,
so new variable NDMSCCNR, a numeric variable, is added to
the NDM datasets that actually contain condition code:
AE CH CT DP DT FP GF MC RJ RT PS PT SI WO
and is created with NDMSCCNR=INPUT(NDMSCC, &PIB.4.);
Variable NDMSCC was incorrectly kept in these datasets:
CE CI FI GO IF NL PI SB TI TP
that do not contain it, so it was removed from them.
Thanks to George Canning, Abbey National, ENGLAND.
Change 21.119 One debugging "PUT" statement should have been removed,
TYPETHST and the second one commented out.
TYPSTHST
Jul 11, 2003
Change 21.118 Support for AS/400 TCP and TCPIEF objects create two new
EXQAPTCP datasets:
EXQAPIFC dddddd dataset contents
IMACQACS QAPTCP QAPMTCP TCP Statistics
VMACQACS QAPIFC QAPMIFC TCP-IFC Statistics
VMXGINIT
Jul 11, 2003
Jul 23, 2003
Thanks to Roger Zimmerman, Hewitt, USA.
Change 21.117 Support for MainView for CICS 5.6 CMRDETL file (INCOMPAT)
VMACMVCI required changes to the T6ECPRID NE 'F4'x tests to GE as
Jul 10, 2003 the new version has T6ECPRID='F5'x. There are a few new
Jul 16, 2003 variables that were added to the datafile, including the
Jul 17, 2003 GMT Time Zone offset, MVCVTTZ. So with this change:
Variables STARTIME,ENDTIME,T6ETKSTR and T6ETKSTO are
now converted to Local Time Zone; previously, they were
in the GMT time zone. Fortunatly, if you were using
datetime variables CMRLBEGN or CMRLENDT in reports,
the have always been on the local time zone.
-A number of duration variables were not formatted with
TIME12.2; all now are.
-Variable T6EUCPUT was incorrectly read as PIB8; it is a
pair of time and count PIB4 fields, T6EUCPUT & T6EUCPUC.
Variable T6EUCPUT is now identical to existing T6ECPUR,
and T6EUCPUC counts CPU dispatches.
-File data is now correct; the file offset is now used to
locate the file data.
Thanks to Udo Froehling, Signal-Iduna, GERMANY.
Thanks to Reinhold Lehmann, Signal-Iduna, GERMANY.
Change 21.116 Major revisions to AIX PTX support. The original TYPEAIX
EXAIXCPN member read the "SpreadSheet" format and created only the
EXAIXDSK AIXPTX interval dataset, with cryptic variable names and
EXAIXFS "room" for only 3 disk drives, etc., because that design
EXAIXFSV requires a new variable name for repeated values. The new
EXAIXINT code will continue to create AIXPTX from SpreadSheet
EXAIXIPN format (recognizable by the text "TIMESTAMP" in 2nd
EXAIXLAN record), but that format is no longer recommended and
EXAIXMEK AIXPTX will be static (i.e., will be missing data).
EXAIXMER
EXAIXMEV This re-design reads the "comma" PTX output format (has
EXAIXPRO text "TIME=" in 2nd and following records), and creates
EXAIXPSP multiple datasets, properly supporting an unlimited
EXAIXPSP number of disks, lans, paging spaces, processes, etc.,
IMACAIX for objects with multiple instances per interval. New
VMACAIX AIXMEMR, AIXMEMV, and AIXMEMK provide data for the MEM
VMXGINIT Real, Virt, and Kmem records; other segments that are
Jul 9, 2003 written once per interval (CPU, PAGSP, PROC, SYSCALL and
SYSIO, at present) are output in AIXINTRV dataset.
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL
AIXDSK AIXDSK AIX DISK DATA
AIXFS AIXFS AIX FS DATA
AIXFSV AIXFSV AIX FS VOLUME GROUP DATA
AIXLAN AIXLAN AIX LAN DATA
AIXCPN AIXCPUNR AIX CPU/CPUNUMBR DATA
AIXIPN AIXIPNET AIX IP/NETIF DATA
AIXMER AIXMEMR AIX MEM/REAL DATA
AIXMEV AIXMEMV AIX MEM/REAL DATA
AIXMEK AIXMEMK AIX MEM/KMEM DATA
AIXPSP AIXPAGSP AIX PAGESP/PAGESPAC DATA
AIXPRO AIXPROCS AIX PROC/PROCESS DATA
AIXPSP AIXPAGSP AIX PAGESP/PAGESPAC DATA
AIXINT AIXINTRV AIX INTERVAL DATA
(CPU/PAGSP/PROC/SYSCALL/SYSIO)
AIXPTX AIXPTX ARCHAIC "SPREADSHEET ONLY" INTERVAL
Some data appears to be completely destroyed when names
(process, file system, cpu number) are to long to fit in
the output file's LRECL; other data is ambiguous when the
three variables CPUACC, CPUMS, and CPUPCT are all trunc'd
to two positions of 'CP' in the PROC/CPUNUMBR records!
There are additional data (ICP/AREA, IP/ROUTING, IP/=,
TCP/=, UDP/=, RPC/CLSERV, NFS/SERV, and RTIME) that will
be supported (and create more datasets) when test data is
received to validate those data.
"INVALID OBJECT" messages with numbers for the object are
created in the PTX output file for Java processes that
have extremely long names; PTX cuts off the process name
at a specific maximum assumed length, and important info
is lost in the name pattern. One solution is to have the
application developer use shorter process names, but the
issue is still being investigated in Nov, 2003.
Thanks to Sam F. White, CocaCola, USA.
Thanks to C. Tim Browning, Coca-Cola Enterprises, USA.
Change 21.115 Support for APAR PQ71799 HTTP Server SMF 103 record fixes
VMAC103 errors in data, adds new variables, and adds options to
Jul 7, 2003 "separate" and "sync" SMF 103 records. See extensive
notes in the APAR text. Variables added to TYPE1032:
APLENVNM='APPLICATION*ENVIRONMENT*NAME'
CGIREQST='CGI*REQUESTS'
DNSLOKUP='DNS*LOOKUP*DIRECTIVE'
PROXYRES='PROXY*RESPONSES'
REQCOUNT='REQUEST*COUNTER'
SRVICPLG='SERVICE*PLUGINS'
SSLHANDS='SSL*HANDSHAKES'
SUBSYS ='SUBSYSTEM*NAME'
The first and last variables are also added to TYPE1031.
Change 21.114 The JCL example still had double single-quotes after each
JCLTEST6 MXG2102 that should have been a single single-quote.
JCLTEST8
Jul 7, 2003
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 21.113 -Only the first 99 service class names were examine in the
UTILRMFI VMXGRMFI parsing of its arguments, and arbitrary limit
VMXGRMFI that is now increased to 999 names in each argument list.
Jun 27, 2003 -KEEPALL=NO is now specified for the TYPE70 logic, so that
the new more-than-16-CPUs-in-TYPE70 logic in VMXGRMFI
won't fail if you read an old PDB with VMXGRMFI.
Thanks to Jay Brookover, First Citizens, USA.
Change 21.112 Variables CPUDETTM, Dependent Enclave CPU time, exists in
BUILD005 PDB.SMFINTRV, but it was not kept in PDB.STEPS, and was
BUIL3005 not summed into PDB.JOBS, until this change did so.
Jun 27, 2003
Thanks to Brenda Rabinowitz, The Prudential Insurance Co., USA.
Change 21.111 Variables GBLCACSA and GBLCAC24 should have been divided
VMAC28 by GBLSAMPL, to get their average values in NPM dataset
Jun 26, 2003 NPMVSVGB (VTAM Global Resourcesd).
Thanks to Andre D. Walker, Bank of America, USA.
Change 21.110 RMF type 78 subtype 2 "Job-Level Virtual Storage Monitor"
VMAC78 sections for "Early Address Spaces" may have invalid data
Jun 25, 2003 ('070E000000000000'x) for R782RDTM/R782RDDT, causing the
INVALID DATA FOR READTIME messages and dumps on the log.
This change adds the "??" modifier to the READTIME INPUT
to suppress the message and hex dumps, so READTIME will
still be missing, so you could identify which JOBs had
invalid values in TYPE78PA. You can identify your Early
Address Spaces by looking JOB in TYPE30_6 dataset, as it
only contains the obs for your Early ASID jobs. If you
find JOBs that are not Early ASIDs, then you probably
have CA's CA-7 Job Scheduling Product (which modifies the
read date/time of jobs under it's control) and you need
to contact CA Technical Support to correct their error.
Thanks to Josep Miquel, La Caixa, ESPAGNE.
Change 21.109 SYSTEM record with NRDATA=35 was unexpected; the record
VMACNTSM was from an NT 4.0 system with Service Pack 6, and NTSMF
Jun 25, 2003 was at PRFSENVR=2.4.4 and VERSION=2.2.2. The discovery
records show that six fields (five %total xxxxx time and
total interrupts) are repeated (just like NRDATA=32 case)
so there was no new data, just another exception now
covered!
Thanks to Xiaobo Zhang, ISO, USA.
Change 21.108 -In VMXG70PR, new variables LPnNSW for each LPAR, labeled
VMAC7072 LP1NSW ='LPAR 1*PERCENT WHEN*LPAR WAS*SOFT CAPPED'
VMXG70PR are created in PDB.ASUM70PR and PDB.ASUMCEC datasets,
Jun 26, 2003 from SMF70NSW.
-Labels for some capping-related variables were revised:
In TYPE70PR dataset:
SMF70NSW='PCT WHEN*LPAR WAS SOFT CAPPED*BY WLM'
In TYPE72GO dataset:
PCTDLCCA='RESOURCE*GROUP*CAPPING*DELAY*PERCENT'
PCTDLCDE='CPU*DELAY*PERCENT*INCLUDES*WLM CAP'
-Labels for variables PCTLGBY and PCTLGOV were corrected
to LPAR 16 and blank variables PCTLNBY and PCTLNOV are
now labeled for LPAR 23.
Thanks to Harry Price, Florida Power and Light, USA.
Thanks to Freddie Arie, TXU, USA.
Change 21.107 Support for WebSphere APAR PQ74463 that adds CPU time to
VMAC120 SMF 120 Version 5.0 records; that APAR pointed to new SMF
Jun 24, 2003 record documentation, and I found many new fields were
added by Version 5; all are now input and kept.
Datasets: TYP120SA,TYP120SI,TYP120JC,TYP120JI,TYP120WI:
SM120CEL='WEBSPHERE*CELL*NAME'
SM120NOD='WEBSPHERE*NODE*NAME'
Datasets TYP120JC and TYP120JI:
SM120JME='EJBLOAD*INVOCATIONS'
SM120JMF='EJBLOAD*AVG*EXECUTION*TIME'
SM120JMG='EJBLOAD*MAX*EXECUTION*TIME'
SM120JMH='EJBSTORE*INVOCATIONS'
SM120JMI='EJBSTORE*AVG*EXECUTION*TIME'
SM120JMJ='EJBSTORE*MAX*EXECUTION*TIME'
SM120JMK='EJBACTIVATE*INVOCATIONS'
SM120JML='EJBACTIVATE*AVG*EXECUTION*TIME'
SM120JMM='EJBACTIVATE*MAX*EXECUTION*TIME'
SM120JMN='EJBPASSIVATE*INVOCATIONS'
SM120JMO='EJBPASSIVATE*AVG*EXECUTION*TIME'
SM120JMP='EJBPASSIVATE*MAX*EXECUTION*TIME'
SM120JMQ='AVG*CPU*TIME'
SM120JMR='MIN*CPU*TIME'
SM120JMS='MAX*CPU*TIME'
Dataset TYP120SA:
SM120WCP='TOTAL*WLM ENCLAVE*CPU TIME'
Dataset TYP120SI:
SM120TEC='TOTAL*WLM ENCLAVE*CPU TIME'
SM120NHS='HTTP*SESSIONS*EXIST*AT END'
SM120NHA='HTTP*SESSIONS*ATTACHED*AND ACTIVE'
SM120BTH='BYTES*TO SERVER*FROM ALL*CLIENTS'
SM120BFH='BYTES*FROM SERVER*TO ALL*CLIENTS'
Change 21.106 Variable ENDTIME was incorrectly converted back to GMT;
VMACWWW raw log values of: [22/Jun/2003:23:32:54 +0400] are
Jun 24, 2003 the local time followed by the delta to add to convert
to GMT, but I thought the datetime was GMT and the +0400
was the GMT offset, and so ENDTIME ended up back on GMT.
The GMT conversion code was removed so ENDTIME is on the
Local time zone; new variable GMTOFFTM is created in case
you need to convert back to GMT or to know the zone.
The above example from Eastern Daylight Savings offset
of +0400 will have GMTOFFTM= -4 hours, consistent with
all GMT offset values, normally used in conversion:
LOCAL = GMT + GMTOFFTM;
So to convert WebLob ENDTIME back to GMT, you'd use:
ENDTIME = ENDTIME - GMTOFFTM;
Thanks to Jim Agrippe, Cleveland Clinic Foundation, USA.
Change 21.105 MXG 20.20 ASUMCICS caused zero observations in PDB.CICS
ASUMCICS if the input CICSTRAN was on tape. ASUMCICS has always
ASUMCICT caused two mounts (one open to test if CICSTRAN has data,
ASUMCICX reading one record, then one open to read the data), but
Jun 25, 2003 MXG 21.02 caused the full dataset to be read twice.
All of that complexity and exposure was so that ASUMCICS
would figure out if you had IBM or Landmark CICS data to
be used to create your PDB.CICS summary dataset.
But I do not recommend that you use ASUMCICS; with MRO,
CICS creates multiple observations in CICSTRAN/MONITASK
for one "unit of work", so that a PDB.CICS built from
CICSTRAN/MONITASK won't count user transactions, and all
CPU time will be under the TRANNAME=CSMI,etc.
Instead, you should have been using the ASUMUOW member
(if you have CICSTRAN data), or the ASUMUOWT (if you
have the MONITASK data), to first create PDB.ASUMUOW
dataset (one obs per "unit of work", correct TRANNAME,
etc) and use that for your CICS response measurement.
Then include the ASUMCICX member, which used PDB.ASUMUOW
as the input to create the PDB.CICS summary dataset.
To eliminate the multiple opens and complexity, I have
made an INCOMPATIBLE change, but only if you were using
ASUMCICS to summarize Landmark's MONITASK data:
Instead of using ASUMCICS to read MONITASK data, you
must use new ASUMCICT to create PDB.CICS from MONITASK.
If you were (wisely) using ASUMUOWT and ASUMCICX to
create your PDB.CICS from Landmark MONITASK, there is
no change required to your daily job.
To summarize what these members do after this change:
ASUMCICS - Reads only CICSTRAN, creates PDB.CICS.
ASUMCICT - Reads only MONITASK, creates PDB.CICS.
ASUMUOW - Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW
ASUMUOWT - Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW
ASUMCICX - Reads only ASUMUOW, creates PDB.CICS.
Verically: use ASUMCICS or ASUMCICT (left pair) if you
need the "old" PDB.CICS ("CSMI" tranname, segment counts)
but most sites should use one of the right pair, using
ASUMUOW/ASUMCICX for IBM, or ASUMUOWT/ASUMCICX for ASG,
to first create PDB.ASUMUOW (correct TRANNAME, counts a
unit-of-work as a transaction), and then create PDB.CICS
from that PDB.ASUMUOW data.
IBM ASG IBM IBM ASG IBM
dataset: CICSTRAN MONITASK CICSTRAN DB2 MONITASK DB2
program: ASUMCICS ASUMCICT ASUMUOW ASUMUOWT
dataset: PDB.CICS PDB.CICS PDB.ASUMUOW PDB.ASUMUOW
program: ASUMCICX ASUMCICX
dataset: PDB.CICS PDB.CICS
===wrong TRANNAME=== ====correct TRANNAME=====
==obs per CICS segment= ====obs per CICS UOW====
==not the recommended = ====the recommended=====
Thanks to Normand Poitras, IBM Global Services, CANADA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 21.104 OAM SMF type 85 records R85PVRM '130' caused STOPOVER and
VMAC85 INPUT STATEMENT EXCEEDED error condition in subtype 74
Jun 23, 2003 records. Four tests for R85PVRM GE '150' were changed
to R85PVRM GE '130' as these new records contain those
fields thought to have been added by their 1.5.0 level.
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
Change 21.103 The copying of WEEK4-WEEK5, WEEK3-WEEK4, WEEK2-WEEK1 and
BLDNTPDB WEEK-WEEK2 was relocated to be just prior to building of
Jun 12, 2003 the new WEEK pdb on the first day of the week; it will
also note on the log what is being done for you.
Thanks to Terry Heim, ECOLAB, USA.
Change 21.102 STK IXFP Iceberg SMF records fix L2P00A2 and LZP00A9 are
VMACICE already supported by MXG; the fix corrects a problem with
Jun 9, 2003 records being created that were greater than 32756 bytes;
the fix creates multiple records when necessary, and has
two new count fields added, but those fields are not
needed for MXG to handle the multiple records, so there
is no change to MXG needed for those fixes.
Records with the fixes have been read and validated.
However, SNAPDUR was corrected; it has always been wrong
by a factor of ten, because the documentation had it in
"hundredths" when it is actually in milliseconds.
Thanks to Mikal W. Green, STK, USA.
====== Changes thru 21.101 were in MXG 21.02 dated Jun 9, 2003=========
Change 21.101 CICSTRAN variable CPURLSTM was not multiplied by 16 when
VMAC110 created by VMAC110 for CICS/TS 1.1 or later, but if you
Jun 9, 2003 used UTILEXCL, it correctly multiplied by 16 for all CICS
versions. VMAC110 was revised to correctly calculate the
CPURLSTM for all versions. CPURLSTM is valid CPU time and
is included in variable CPUTM; fortunately, CPURLSTM is
usually small.
Thanks to Vernon Kelly, IBM Global Services, USA.
Change 21.100 CICSTRAN variable RTYPE has two new values, 'F' and 'S',
FORMATS that are now decoded by the $MG110RT format:
Jun 9, 2003 'C'='C:TERMINAL CONVERSE'
'D'='D:USER EMP DELIVER REQUEST'
'F'='F:FREQUENCY REQUEST'
'M'='M:SEMI-PERMANENT MIRROR SUSPEND'
'S'='S:SYNCPOINT'
'T'='T:TASK TERMINATION'
Thanks to Diane Eppestine, SBC, USA.
Change 21.099 Support for ten new NDM subtypes; this is incomplete;
VMACNDM only the skeleton set of variables is created for each
Jun 8, 2003 subtype, but all of the new members and VMXGINIT macros
exist, so only VMXGNDM will likely need to be updated;
just got DSECTs and no time to write the code today.
Thanks to Peter Lines, Royal Bank of Scotland, SCOTLAND.
Change 21.098 These TYPE7204 variables that contained 'SUM OF ALL'
VMAC7072 R724ACTF /*SUM OF ALL ACTIVE FRAMES*/
Jun 8, 2003 R724IDLE /*SUM OF ALL IDLE FRAMES*/
R724SLOT /*SUM OF ALL SLOTS USED*/
R724DIV /*SUM OF ALL DIV FRAMES*/
R724FIX /*SUM OF ALL FIXED FRAMES*/
in their label are now divided by NRSAMPLE to change
their value to the more useful and expected average
value for the interval, and 'SUM OF ALL' was removed from
their labels.
These variables had correct values because MXG did divide
by NRSAMPLES, but still had 'SUM OF ALL' in their labels:
R724TSV /*SHARED PAGE VIEWS*/
R724VIN /*VALID SHARED PAGES IN CSTOR*/
R724VLC /*SHARED PAGE VALIDATIONS*/
R724GPI /*SHARED PAGEINS FROM AUX*/
which is now removed.
And these variables were correct by accident, as they had
the average value already, but MXG had 'SUM OF ALL':
R724USER &PIB.4. /*USERS*FOUND*/
R724ACTV &PIB.4. /*ACTIVE USERS*FOUND*/
so only the label was changed and no division required.
The IBM documentation in both the SMF Manual and DSECTS
are incorrect for USER and ACTV variables; it took real
RMF data to revise the code to decode the data.
Thanks to Lawrence Jermyn, Fidelity, USA.
Change 21.097 -Support for CA/TMS PDC # QI30130 which adds 4 variables:
TYPETMS5 to the TYPETMS (Volume) dataset:
VMACTMS5 COMPRES ='PCT SPACE*SAVED*DUE TO*IDRC COMPRESS'
Jun 8, 2003 CTLGCNT ='NR TIMES*DATASET WAS*UNCATALOGED'
FILPERC ='PCT OF*PHYSICAL SPACE*USED BY*FILE'
VOLPERC ='PCT OF*PHYSICAL SPACE*ON VOL*IN USE'
and adds the first 3 variables to the TYPEDSNB (file)
dataset.
-Support for TRTCH='EC'x,'ED'x decode for 3590-384T
(standard) and 3590-384X (extended length cart) 3590
devices with 384 tracks.
-Variables B1INT and B1DIS were replaced by the new fields
and no longer exist.
Thanks to Len Rugen, University of Missouri, USA.
Change 21.096 Support for GEPARMKY=001B (PRTQUEUE) creates new variable
IMAC6ESS ESSPRQUE in TYPE6 if IMAC6ESS is used to decode ESS data.
VMAC6ESS The 001B also caused INPUT STATEMENT EXCEEDED error if
Jun 6, 2003 had a tailored, earlier IMAC6ESS in your USERID.SOURCLIB.
Thanks to Reinhard Nitsch, Provinzial Versicherungen, GERMANY.
Change 21.095 -Support for six new TNG objects from NT:
EXTNT036 ACTIVE SERVER PAGES, DISTRIBUTED TRANSACTION,
EXTNT037 HTTP INDEXING SERVICE, INTERNET INFORMATION,
EXTNT038 PRINT QUEUE, and WEB SERVICE,
EXTNT039 that create NT036 thru NT041 datasets.
EXTNT040 -Support for new fields in LOGICALDISK, PHYSICALDISK,
EXTNT041 MEMORY, SYSTEM, and UDP objects.
FORMATS -Support for 1-Header record, found only in a "Monthly"
IMACTNG TNG Performance Cube.
VMACTNG
VMXGINIT
Jun 8, 2003
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
====== Changes thru 21.094 were in MXG 21.02 dated Jun 5, 2003=========
Change 21.094 Calculation of MSU4HRAV in PDB.RMFINTRV was revised. It
VMXGRMFI was incorrect in several instances: after a change in RMF
Jun 5, 2003 interval value, or after an IPL, and it was calculated
when it should not have been, notably, if there was a gap
in the data. It can still be missing when SMF70LAC is
not, and it can be different from SMF70LAC when there are
not four hours of data available to MXG.
Thanks to Frank De Bree, DEXIA, BELGIUM.
Thanks to Mark Nouwen, DEXIA, BELGIUM.
Change 21.093 PDB.ASUMUOW corrections (SYSTEM could be blank) and logic
VMXGUOW revisions more robustly handle CICS and DB2 data merge.
Jun 5, 2003 -Several variables, including QWACAJST added to SUM= list.
-Added HOLDSTRT/HOLDEND to RETAIN, and a DATA step to get
the FIRST.UOWIDCHR values, to correct an exposure that
could have caused missing STRTTIME and wrong ELAPSTM.
-Corrected LAST.UOWIDCHR logic that was assigning blanks
for the SYSTEM variable for CICS-only work.
-Moved &OUTCODE to the end of the DATA step, for safety.
-Formatted WAITTOTM as TIME12.2.
-If an OBS was SPUN, when it came back in, if any MIN/MAX
variables had been specified, the values from SPIN were
not used in the MIN/MAX calculation, but now are.
These changes were suggested with implemenation examples!
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 21.092 User records RMDS,SYNC,WYLA,WYLB,HSM,TSMO,COM,M204 might
UTILBLDP have zero obs; those products have non-standard _aaaaID
Jun 4, 2003 macro names for their SMF IDs, or they create multiple
multiple SMF records and they all require separate tests,
but only 2 of 3 places had been fully updated to protect
all of these special user records. The error only
occurred whenf %LET MACKEEP= was used.
Thanks to Scott Barry, SBBWorks, Inc, USA.
====== Changes thru 21.091 were in MXG 21.02 dated Jun 3, 2003=========
Change 21.091 A major revision of support for RMF III VSAM files.
ASMRMFV Changes to ASMRMFV in particular are to position the code
CLRMFV for future upgrades to handle more RMF III tables.
DOCLRMFV -When ENDTIME of a MINTIME interval was the same as the
Jun 3, 2003 STARTIME of the next MINTIME interval, it was incorrectly
selected. RMF III almost always has the same time for
the end of one MINTIME interval and the start of the
next. Only noticed when testing for a single minute to
be selected, but two were output.
-Parameter processing completely rewritten to be table
driven, allowing new keywords and keyword aliases to be
easily added for new table support.
-Parm keywords have shorter aliases to fit in the JCL
limit of 100 characters for a parameter. The full list
of all alias names are given in the DOCLRMFV member.
NOxxx names added to assist.
-Max LRECL=32760 (increased from incorrect LRECL=32756).
-Date selection formats expanded YYYDDD YYYDDD YYDDD YDDD
DDD DD or D.
-Time-based selection added, with FROMTIME/TOTIME= parm
and HHMM, HMM, MM, or M formats, plus FROM/TO= nn, for
relative number of days before or after today.
-ASMRMFV output reports MXG Last Change Number in output,
includes DSNAME and filtering counts, and a summary if
multiple systems are processed, min/max times, etc.
NODETAIL keyword will suppress the detail reports.
-Debugging enhancement in RMFSKIP option.
-ENC record outputs only one per enclave, correcting case
where extensive use of Enclaves caused the RMF output
record to exceed the output LRECL limit.
-An (unexpected) Table ID mismatch will cause ASMRMFV to
issue a message and then ABEND.
Changes to the CLRMFV CLIST that executes ASMRMFV:
-The changes in CLRMFV are not backwards compatible; this
version must be used with the revised ASMRMFV program.
-PARM keyword default is no PARM('-D'), equivalent to the
old default of PARM('ALL,NODVT')
-New keyword RMFSKIP(NO) to control optional debugging.
-New keyword ONECALL(YES). This allocates all RMF III
Monitor Files for an LPAR first, and then calls ASMRMFV
once to process all records from that LPAR.
(Code ONECALL(NO) to invoke ASMRMFV once for each file,
which is how it was in prior versions).
The default YES should be best for typical use; ASMRMFV
specifies FREE=CLOSE internally so that each RMF III file
is freed after it was read, and the SHR enqueue released
as soon as possible. This produced a 9-11% reduction in
elapsed and CPU time with ONECALL(YES) default.
-Allocation messages show DDNAME
-New keywords FROMTIME/TOTIME added to support time based
data selection in ASMRMFV.
A special thanks to Acxiom management for allowing this
MXG user to contribute these enhancements for others!
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 21.090 Multiple enhancements to CICS summarization:
ASUMCICS -Macro _BSUCICS is used in the BY list instead of the
ASUMCICX list of specific variables, to be consistent and in case
TRNDCICS of future changes. Aug 7: this change caused variable
TRNDCICX DATETIME to not be created in PDB.CICS in MXG 21.02-03.
Jun 3, 2003 STRTTIME, which has always been the correct variable to
Jun 4, 2003 use, was not affected. But Change 21.145 reinstated the
Aug 7, 2003 creation of variable DATETIME in PDB.CICS, so you would
not have to cange your reports to use STRTTIME.
-SHIFT and SYSTEM added to the BY list.
-Modified to carry the values used to set the buckets in
variables RESPVAL1-RESPVAL7, and comments placed around
the place to reset the values for "User Change".
-The FLOOR(IRESPTM) was removed, so that fractional values
can be used for the RESPVALn bucket values.
-ESUCICS is used to control the output of CICS dataset.
-Macro variables SUCIVAL1-SUCIVAL7 are created so that the
response buckets values can be set externally, and macro
variable SUCIINTV externalizes the summarization interval
(with HOUR as the default). The chosen interval value is
imbedded in the dataset label, while the response bucket
values are imbedded in the variable labels for RESPBKTx.
-For Trending, macro variable TRCIINTV sets the interval
default of WEEK.
Note: We generally do NOT recommend the use of ASUMCICS
and TRNDCICS, based on CICSTRAN dataset, because
CICSTRAN has an obs for each segment of an MRO
unit of work; CICSTRAN observation are incomplete:
- the TOR obs has no CPU time, but has the real
TRANNAME and LUNAME
- the AOR obs has all of the CPU time, but its
TRANNAME is 'CSMI' (the mirror transaction).
- observation counts are not transaction counts.
Instead, we recommend you include ASUMUOW first,
to create the PDB.ASUMUOW "unit of work" dataset,
which has one observation for each UOW with the
correct TRANNAME, LUNAME, CPUTM, IRESPTM, etc,
and then include ASUMCICX, which reads ASUMUOW to
create a PDB.CICS dataset that summarizes UOWs.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.089 New MICSMXG member contains notes and comparisons from
MICSMXG users who have replaced CA's MICS with MXG Software.
Jun 2, 2003
Change 21.088 Execution under ASCII only.
ANALCISH -VMACDB2H. NETSNAME was incorrectly TRANSLATEed; the
VMACCRAY statement TRANSLATE(NETSNAME,'00'X,'40'X); needs to be
VMACDB2H TRANSLATE(NETSNAME,'00'X,' '); to execute under ASCII,
VMACEREP so that blanks (which are '20'x on ASCII) are converted
VMACSFS to hex zeroes.
VMACTMDB -All TRANSLATE() statements were examined, and these
VMACTMS5 members had similar incorrect-under-ASCII-only-syntax:
VMACTMVS VMACCRAY, VMACEREP, ANALCISH, VMACSFS, VMACTMDB,
VMACTSOM VMACTMS5, VMACTMVS, and VMACTSOM
Jun 2, 2003
Thanks to Matthew T. Chappell, Queensland Transport, AUSTRALIA.
Change 21.087 New variable MPL74 is created in the TYPE74 dataset, as
ANALFIOE MPL74=SUM(DEVCONTM,DEVDISTM)/DURATM;
VMAC74 LABEL MPL74='IO*MULTI*PROGAMMING*LEVEL'
Jun 3, 2003 an estimate of the concurrent I/Os to this device.
Jun 4, 2003
New ANALFIOE member reads TYPE73, TYPE74 and TYPE78CF to
create two new datasets:
TYPE74OE - Sums the MPL74 for each LCU from TYPE74.
TYPE73OE - The LCUs from FICON channels are selected,
and their I/O is uniformly distributed to
each CHPID in that LCU, and each CHPID's
concurrent "Open Exchange" variables are
estimated in these variables:
MPL73 ='ESTIMATED*FICON*OPEN*EXCHANGES'
IORATE ='ESTIMATED*FICON*CHANNEL*IORATE'
OEDURATM='EST*OPEN*EXCHANGE*msec per io'
The TYPE73OE is just the original TYPE73
with these variables added for FICON CHPID.
The MPL73, or "Open Exchanges" appears to be a useful
new metric for detecting saturation in FICON channels;
See http://www.perfassoc.com/publishedpapers for Pat's
"Understanding FICON Channel Path Metrics" article.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 21.086 Support for IDMS Performance Monitor type 30 subtype 3.
IMACACCT In addition to the user SMF record created by PERFMON,
VGETJESN that CA product also creates SMF type 30 subtype 3
VMAC30 records at transaction end. These are very-old-format
May 30, 2003 subtype 3 that do not contain JCTJOBID nor SUBSYS (fields
SMF30JNM/SMF30WID) causing TYPETASK NOT DECODED messages.
The record has a (very old length=14) Product section,
a (very old length=124) ID Section (causing INTBTIME
to be, and which caused ITSV to error these records as
it uses INTBTIME for its DATETIME validation!), a
Completion section, and a Storage Section, but it does
not have the UREC, CPU, PERF, OPER or EXCP sections.
The record is identifiable because PRODUCT (SMF30PNM)
is 'PERFMON'.
It does have useful information about each transaction,
in the unique accounting fields, with different fields
for batch, DC/UCF, and CICS access to IDMS.
-VGETJESN recognizes PERFMON records, sets TYPETASK='STC'
and SUBSYS='PERFMON'.
-IMACACCT contains a comment block around the PERFMON code
that creates these IDMS variables from the Account field
IDMSCPTM='IDMS*TRANSACTION*CPU*TIME'
IDMSTID ='IDMS*TASK*ID*NUMBER'
IDMSACT1='IDMS*BATCH*ACCOUNT*ONE'
IDMSACT2='IDMS*BATCH*ACCOUNT*TWO'
IDMSTRN ='IDMS*ERUS*TRANSACTION*ID'
IDMSTRM ='IDMS*ERUS*TERMINAL*ID'
IDMSOPR ='IDMS*ERUS*OPERATOR*ID'
IDMSTSK ='IDMS*DC/UCF*TASK*CODE'
IDMSLTE ='IDMS*DC/UCF*LTERM'
IDMSBLG ='IDMS*DC/UCF*BILLING*GROUP'
and when you remove the comment block, those variables
will then be output in TYPE30_V, PDB.SMFINTRV, XSMFINT
datasets. IMACACCT also populates INTBTIME if it is
still missing in these PERFMON type 30 records.
-VMAC30 was updated to output the IDMS variables if they
have been created; unrelatedly, those LENACCT1-LENACCT9
variables that exist will now be output in TYPE30_V; they
should have been there all along!
Thanks to Martin Legendre, Regie des Rentes du Quebec, CANADA.
Change 21.085 Protection for 0 length records, which are not created by
VMACNTSM NTSMF product, but have been unintentionally created by
May 27, 2003 user's SAS programs that copied raw data filed. On MVS,
the records actually have length 1.
Thanks to Uriel Carrasquilla, NCCI, USA.
Change 21.084 Type 42 Subtype 8 (which is not yet documented in the SMF
VMAC42 manual) caused ERROR.VMAC42.CLLEN and hex dump of the SMF
May 23, 2003 record. The record did not contain a CL segment, but MXG
did not test NRCL to see there was no segment before it
printed the error message. However, the record was then
deleted, whereas now it is output.
Thanks to Rita Bertolo, Canadian Pacific Railway, CANADA.
Change 21.083 With either RUNWEEK=WEEK or RUNWEEK=WTD, the rolling of
BLDNTPDB weekly datasets was occurring at the wrong time, causing
May 23, 2003 weeklies with no data.
Thanks to Terry Heim, ECOLAB, USA.
Change 21.082 GPARMKY=002F segment in SMF 6 Extended ESS data is now
IMAC6ESS recognized and decoded into new variable ESSNOTFY that
VMAC6 will be kept in TYPE6 dataset (only if IMAC6ESS has been
May 19, 2003 tailored and its commment block un-commented). Some
May 23, 2003 misspellings were discovered and corrected, and all of
May 26, 2003 the $VARYING fields are now translated to $EBCDIC; a few
had been overlooked.
-GEPARMKY=002E segment decoded, ESSULIB1-ESSULIB4 for up
to four DSNAMEs of USERLIBs.
-GEPARMKY=002B, 002C decode OUTDISP NORMAL/ABNORMAL in the
ESSOUTDB and ESSOUTDC flag variables.
-GEPARMKY=001B is now correctly decoded with 001B instead
of 000B in the IF test; variable ESSUCS is expanded to
four bytes to match the size of the UCS field.
-GEPARMKY=0021 is supported in ESSPMISG flag variable.
-A 002C segment with unexpected GEPARMLN=0 was found, so
all segments are protected for a zero length, and that
segment's variables are not created.
Thanks to Reinhard Nitsch, Provinzial, GERMANY.
Thanks to Denny Wong, New York Life, USA.
Change 21.081 The Undocumented +2 bytes for alignment are after SMSMC,
VMACCTLT not after DDSPOS, which caused wrong values for BLOCKCT
May 19, 2003 and DDSCSIZE thru DDSPOS. The +2 statement was moved.
Jul 8, 2003 -The BLKSIZE field had been relocated to the end of the
Jul 25, 2003 record as a 4-byte field, but that was overlooked in the
Jul 28, 2003 MXG support - 8Jul03.
-MXG 21.02 only: CTLT Version 5 created zero observations
because it has LRECL=460; MXG logic changed to test for
... 400 LE LENGTH LE 460 ....
in two places to read V4, V5, and V6 records. 25Jul03
Thanks to Francesco Bragadin, Phoneix Spa, ITALY
Thanks to Rob Gibson, CPR, AUSTRALIA.
Change 21.080 The example JCL procedure name of MXGSASV8 is now used in
JCLMNTH place of the old MXGSAS example name, to point new users
JCLMONTH to the correct, current JCL procedure example for SAS V8.
JCLWEEK
JCLWEEKT
May 19, 2003
Thanks to Matthew Collier, Oklahoma State University, USA.
Change 21.079 SMF 80 with APPLNAME less than 8 caused INPUT STATEMENT
VMAC80A EXCEEDED in RACFTYPE=20 segment, due to hard-coded input
May 19, 2003 with $EBCDIC8. Now, the RACFDLN=7, etc is honored.
Thanks to John Grasing, MetLife, USA.
Change 21.078 The optional CA-Dispatch variables are now automatically
IMACCADI added to PDB.PRINT dataset, when you open the comment
May 14, 2003 block in your IMACCADI member. By adding a %LET ADD6= ..
statement, the BUILDPDB &ADD6 macro will be added to the
KEEP= list for PDB.PRINT dataset.
Thanks to Dan Adams, NITC, USA.
Change 21.077 Variables EXCPDASZ EXCPTAPZ IOTMDASZ IOTMTAPZ RACFUSRZ
ANALDSET SELAPSTZ STEPTIME were not initialized, sometimes causing
May 14, 2003 their counterpart variables to be incorrect.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.076 Variables QWACSPEA QWACSPEB QWACSPNE QWACSPTT for Stored
VMXGUOW Procedure activity are now included in the PDB.ASUMUOW
May 5, 2003 dataset.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.075 This TCP/IP report example was truncating leading chars
ANALTCP of Host Name, and had additional revisions.
May 2, 2003
Thanks to R. Wells, American General Finance, USA.
Change 21.074 IBM documentation for the raw units of time in RMF III's
VMACRMFV DVT table was incorrect; instead of 128 microsecond units
May 2, 2003 the fields used to calculate CONNTM, PENDTM, DISCTM,
DVBUSYTM, CUBUSYTM and SWPODLTM are in 2048 microsecond
units, so those variables are now corrected in the ZRBDVT
dataset.
Thanks to Betty Wong, Bank of America, USA.
Change 21.073 Format MGPDSTY is updated for PDSMAN Version 7.41 which
FORMATS has new value "E:EXEC', used in TYPEPDSM support.
May 2, 2003
Thanks to Rob d'Andrea, Royal Bank of Scotland, SCOTLAND.
Change 21.072 ESAMAP v2.2 caused SHORT SEGMENT errors. MXG code had
VMACXAM not been tested with that earlier release. MXG code in
May 2, 2003 XAMSYS for MTRMEM, SYTSYG, and STOASI, in XAMCPU for
SYTRSP, and in XAMDEV for CONFIG and IODDEV was revised
to read the shorter segments.
Thanks to Tony Lobley, EDS, ENGLAND.
Change 21.071 If you used %VMXGTIME/TIMEBILD to shift time zones, you
VMAC30 could have negative RDRTM, and it was possible that
May 1, 2003 ALOCTIME and/or LOADTIME could have had the wrong date.
The calculation of RDRTM was moved above the %VMXGTIME
for REND, and the logic to set dates for ALOC/LOAD times
was precedeed by %VMXGTIME with REVERSE=YES, and then all
four datetimes (INIT,TERM,ALOC,LOAD) were un-REVERSED.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.070 Variable RDRETDAT should have been FORMATed DATE9., and
VMACEDGR now it is.
Apr 30, 2003
Thanks to Barry McQueen, Department of Defence, AUSTRALIA.
Change 21.069 Exit member EXUTILEX allows you to process a non-standard
EXUTILEX "User" segment (i.e., your CICS guru created a segment
UTILEXCL but did not use "USER" for the CMODNAME/CMODHEAD entries.
Apr 25, 2003 Comments in EXUTILEX show how to reset the CMODNAME/HEAD
Nov 3, 2003 values to "USER" so that MXG will generate IMACICUS call.
You will also, then, have to update IMACICUS to tell MXG
the length of data to be kept in the USERCHAR variable.
Nov 3, 2003 documentation update:
Using this EXUTILEX member solved USERCHAR always blank.
One site's Hogan data segment was named "HOGAN", and so
the IMACEXCL member created by UTILEXCL did not contain
the call to IMACICUS, where the site's code to decode the
Hogan data was located, but the UTILEXCL program didn't
see a "USER" segment, so it did not generate an include
for the IMACICUS code, so USERCHAR was always blank.
By using this (new) EXUTILEX exit, you can tell UTILEXCL
to treat your "HOGAN" segment as if it were named "USER".
An error "BY VARIABLES MUST BE IN FIRST 4096 BYTES" was
seen with SAS Version 6, but not with SAS Version 8+, so
run UTILEXCL under V8+ to be error-free.
Thanks to Michael Creech, Fidelity Information Services, USA.
Thanks to Herb Strozinsky,US Bank, USA.
Change 21.068 MXG variable VELOCIOD when I/O Priority Management is NOT
VMAC7072 enabled (i.e., R723VELI=' ') did not match IBM RMF report
Apr 24, 2003 value: MXG was including PCTDLTDQ (R723CTDQ) in the denom
but IBM's calculation does not include that value. MXG
was changed to match the IBM reports, assuming they are
correct.
Thanks to Russell Dewar, National Australia Bank, AUSTRALIA.
Change 21.067 -SYSPLEX was not in the BY list for TRNDRMFI, but now is.
VMXGRMFI -Variable PCTMVSBY is added to PDB.RMFINTRV and TRNDRMFI.
Apr 18, 2003 -In Trending logic, EXRMFINT is now invoked; without that
logic, variables dropped from RMFINTRV in EXRMFINT were
not being dropped in the TRNDRMFI dataset.
-Invoking VMXGRMFI twice, using PDB=PDB logic to create
two levels of summary (like RMFINTRV and RMFINTHR, as
suggested in comments in the original RMFINTRV member)
corrupted the SPINRMFI dataset so it did not keep enough
data for correct calculations of MSU4HRAV. The example
is revised, and the TREND logic should be used for the
second summary, to eliminate SPINRMFI corruption:
%VMXGRMFI(PDB=PDB,
OUTDATA=PDB.RMFINTRV,
INTERVAL=DURSET);
%VMXGRMFI(PDB=,TRENDIN=PDB.RMFINTRV,
TRENDOLD=,
TRENDOUT=PDB.RMFINTHR,
TRENDINT=HOUR);
%VMXGRMFI(PDB=,TRENDIN=PDB.RMFINTRV,
TRENDOLD=,
TRENDOUT=PDB.RMFINTDY,
TRENDINT=DATE);
These examples assume the IMACWORK=YES default, i.e., the
workload definitions are in your IMACWORK member. If you
instead invoke %VMXGRMFI with IMACWORK=NO and use its
WORKnn= arguments to define your PDB.RMFINTRV workloads,
then you must specify those same WORKnn= arguments when
you use the VMXGRMFI to create TREND.TRNDRMFI dataset;
otherwise, none of the extended varaibles will be in
TREND.TRNDRMFI.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 21.066 TYPSZARA was revised to copy the ZARA datasets into the
TYPSZARA PDB library; the ZARA support is unique in that it does
Apr 18, 2003 depend on the macro overrides in IMACZARA, so this was
the safest change to copy ZARAxxxx datasets into the
PDB ddname, and still preserve prior user's tailoring.
Thanks to Bob Miller, Conseco, USA.
Change 21.065 Support for servers with more than 16 CPUs or LPARs.
VMAC7072 -TYPE70 Dataset: Support for 32 engines.
VMXGRMFI The existing sets of 11 CPU-specific variables per CPUID
VMXG70PR CAIx CPUSERx CPUWAITx CPUEDTMx CPUPDTMx IORATEx
May 29, 2003 PCTCPUBYx PCTTIPx VFAFFTMx VMONx MVSWAITx
where suffix 0-9 and A-F are for CPUs 0-15, have 17 more
suffixes, G-L and N-X, for CPUs 16 thru 32 (187 vars).
Note that the suffix letter "M" had to be skipped,
because variable CPUWAITM was already defined.
Labels document which suffix is for which CPU number.
-TYPE70PR Dataset:
No change was needed for more than 16 LPARs; MXG stores
the LPARNUM in four bytes. Note, however, we recommend
you use the MXG-build PDB.ASUM70PR or PDB.ASUMCEC dataset
for your LPAR and CEC analysis, as those datasets know
how to recognize and not count LCPUs that are ICFs or
Linux partitions; if you use TYPE70PR, you'll have to
make sure you understand how to recognize what's what.
-RMFINTRV Dataset:
CPU Serial variables CPUSERG-CPUSERL and CPUSERN-CPUSERX
were added to the ID= operand for PDB.RMFINTRV dataset.
-ASUM70PR,ASUMCEC datasets (built by member ASUM70PR):
The existing sets of 22 LPAR-specific variables per LPAR
LPxNAME LPxDUR LPxUPDTM LPxUEDTM LPxMGTTM LPCTxBY
LPCTxOV PCTLxBY PCTLxOV LPxNRPRC LPxBDA LPxCAP
LPxCHG LPxDED LPxWAIT LPxSHARE LPxLAC LPxMSU
LPxMSUHR LPxMSU70 LPxONT LPxWST
where suffix 0-9 and A-G are for LPARs 0-16, have 16 more
suffixes, H-O and Q-X, for LPARs 17 thru 32 (+352 vars).
Note that the suffix letter "P" had to be skipped,
because variable CPUWAITM was already defined.
Labels document which suffix is for which LPAR number.
This was "Feature 0" or "z/OS 1.4 z990 Compatibility".
Change 21.064 Support for IMS Version 8.1:
ASMIMSL6 -BMC's IMF, Candle's ITRF, Landmark's TIMS.
VMACIMS -MXG's "Supported" TYPEIMS7 to create IMS0708 dataset
Apr 17, 2003 -MXG's ASMIMSL6/JCLIMSL6 to create IMSTRAN dataset.
May 21, 2003
-BMC's IMF, Candle's ITRF, and Landmark's TIMS products
write their own records that MXG reads, and none have
changed in their output records, so MXG 20.20+ supports
their products under all versions of IMS, including 8.1.
-MXG's "Supported" TYPEIMS7 program to create the IMS0708
dataset from 07 and 08 log records (has IMS resources by
transaction name, but no response times) does work with
IMS 8.1, but there are "INVALID DEQDATE" messages and hex
dumps printed on the job log, because IBM incompatibly
changed their 036x log record. VMACIMS has been updated
to support the non-fast-path IMS log records, and when
fast path 8.1 records are available along with DSECTS,
the VMACIMS code for them will be examined for changes.
The _IMSVERS macro default value in IMACIMS7 and
IMACIMS are left at 7.1, since some sites may be
exploiting that existing default; change to 8.1 to
process IMS Version 8.1 records.
-MXG's "pseudo-supported" ASMIMSL6 program and JCLIMSL6
examples work just fine with IMS Version 8.1 records, as
they do with IMS Version 7.1 records, but you must first
re-assemble the ASMIMSL6 assembly program using the IMS
Version 8.1 macro library to create the V 8.1 program,
and you must run separate JCLIMSLx jobs to process the
V7.1 and V8.1 data separately; you cannot concatenate
the IMS logs from two versions and read with JCLIMSLx.
MXG 20.03 contained the last change to this support.
-Log record 31x with PSTNUMBR=0 are output in IMS31O in
VMACIMS logic, and a FLAG2 test added for log record 36x.
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 21.063 NTSMF 2.4.5 new 0.10 record INPUT STATEMENT EXCEEDED due
VMACNTSM to NRTRIPLT=1 but no triplets in that record. Error is
Apr 16, 2003 circumvented by inserting a statement
IF OID=0 AND OBJECT NOT IN ('0','1') THEN DELETE;
before the test for the NRTRIPLT input statement.
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 21.062 MXG 20.07 thru 21.01 may have filled SPIN.SPINUOW with
FIXASUOW many observations that should not have been spun. Change
JCLUOWP 20.221 did not expect cases when the DB2ACCT ending time
JCLUOWV stamp was after the CICS end time, which caused TRANNAME
VMXGUOW to be blank, causing that observation to be "spun". And
Apr 15, 2003 because TRANNAME is now blank (and we will most likely
never see another record for that unit of work) that
record will spin up for 7 days (default in SPINUOW), and
that increased the size of SPIN.SPINUOW. This change
now uses a forward sequence of the Start Time to put all
the CICS and DB2 pieces together, and is not dependent on
the end times.
-If you wish to preserve the "spining" records currently
in your SPIN.SPINUOW dataset, member FIXASUOW can be used
to create a revised SPIN.SPINUOW dataset that can then be
used with the revised VMXGUOW to create the corrected
PDB.ASUMUOW. That first execution will "clean out" many
of the spinning transactions that should not have been
spun in the first place. Or, you can just delete your
existing SPIN.SPINUOW and start fresh with the new code.
-VMXGUOW has a new parmeter, TRACEUOW=YES (Default NO) to
trace the UOW chain for diagnostic purposes (printing
lots and lots of messages on the log).
Thanks to Alfred Nardi, CMX Group, USA.
Change 21.061 Dataset T102S196 was never fully decoded, but now is, for
FORMATS V6 and V7. An observation is created for each holder of
VMAC102 this lock that caused a timeout for the "victim". This
Apr 9, 2003 "victim" is identified in QWHCxxxx & QWHSxxxx variables.
Apr 14, 2003 The lock is identified in QW0196RH/RL/FR/KD/KP/K1-K7/WU
/WS/WD/WF/TI and QW0196TC variables; those QWHC, QWHS, &
QW0196xx variables repeat in subsequent observations if
there was more than one holder (QW0196NU counts holders)
segment in an SMF record. The identity of the holder(s)
are in the three sets of variables QW0196Hx, QW1196Hx, &
QW21196Hx for up to 3 holders of the lock. More than 3
holder prints a note.
-MGD044K format was expanded for new values.
Thanks to Ron Alterman, Charles Schwab, USA.
Change 21.060 The row between 16M-2G was added to the Paging Report;
ANALRMFR this row shows values only if your system is running in
Apr 6, 2003 ESAME mode; in ESA mode, the row will show 'N/A'.
The Channel report READ(MB/SEC) and WRITE(MB/SEC) values
in the IBM report are incorrect: IBM code divides the raw
byte values by 1000*1000 to print as MegaBytes, but they
should have used 1024*1024 to convert; the IBM values are
about 5% too high.
Thanks to David Kellerman, ADP, USA.
Change 21.059 -Type 74 Subtype 4 Structure data (TYPE74ST) has several
FORMATS fields thate were negative, because IBM documented them
VMAC74 as floating point, but they contained binary data. The
Apr 9, 2003 variables R744SPST,SPSS,SRST,SRSS,SCST,R744SCSS are now
Apr 22, 2003 correctly input as binary, and R744SLSV as TODSTAMP8.
Apr 24, 2003 -Some (but not all) observations in TYPE74ST had missing
values for R744QSIZ, when there were a large number of
structures. The QSIZ (SMF744QN) segments are written at
the beginning of one physical physical record, followed
by as many SSIZ segments that can fit in that record,
but additional SSIZ segments are in a separate physical
record. Those additional SSIZ elements had missing QSIZ.
By retaining the QSIZ array and storing the number of
elements, the subsequent SSIZ segments are now populated
with their QSIZ values.
-But R744QSIZ will only be non-missing in records from the
one system in a sysplex that "owns" the Coupling Facility
i.e., the "Sysplex Master" system. This is now discussed
in IBM Information APAR II13172, which applies to both
the RMF III data and the RMF 74 subtype 4 QSIZ segments.
-Variable R744QFLG is now decoded by new $MG074QF format,
which includes '00X: NOT SYSPLEX MASTER, NO QSIZ' value
for TYPE74ST observations from non-master systems, and
obs with R744QFLG='00'X will also have R744QSIZ missing.
Thanks to Coen Wessels, Unicible, SWITZERLAND.
Change 21.058 Support for APAR OW54347 adds Command-Response (CMR) time
VMAC74 to RMF records and RMF Device Activity Reports, and sets
VMAC79 the existing Director Port Busy (DBP) and Control Unit
Apr 6, 2003 Busy (CUB) Delay fields to zero in SMF 74 and 79 records.
Apr 29, 2003 The CMR time for a start or resume function of the sub-
channel is the time needed until the device indicates it
has accepted the command; this allows distinction between
real hardware errors versus workload spikes (contention
in the fabric and at the destination port).
-In dataset TYPE74, new variables DLYCMRTM and AVGCMRMS
are created. Variables DLYDIRTM, DLYCHATM, PCTPNDIR,
DLYCUBTM, AVGPNCUB PCTPNCUB will all be zero when this
APAR is installed. And I've assumed that DLYCMRTM should
also be subtracted from DEVPNDTM to calculate DLYOTHTM
(since DLYCUBTM and DLYDIRTM were).
-In dataset TYPE799, new variable R799CMR is created, and
variables R799DPB and R799CUB will be zero with the APAR.
-OW54347 documented that R799CMR was added at offset +92,
but the original text of APAR OW31701 had R799TMS added
at offset +92. IBM now confirms that OW31701's text was
wrong, R799CMR is at +92, and that R799TMS does not exist
in the RMF 79 record.
Thanks to Ermanno Bewrtolotti, Banca Intesa, ITALY.
Change 21.057 Format MG080QU for RACFQUAL, and format MG080TY for
FORMATS RACFTYPE are updated for new values in z/OS 1.2 and 1.4.
Apr 7, 2003
Thanks to Chuck Hopf, MBNA, USA.
Change 21.056 -Enhancements to BUILDPDB/BUILDPD3. Exit member EXPDBSPJ
BUILD005 and old-style macro _EPDBSPJ are created so that local
BUIL3005 variables can be added to the PDB.SPUNJOBS dataset.
EXPDBSPJ -Variable DATETIME (Start of Shift, equal to INTBTIME) is
SPUNJOBS added to PDB.SMFINTRV for consistency.
Apr 4, 2003 -Variables SMF6LPGE and DOCLENFT are added to PDB.PRINT,
and those variables plus PAGECNT are summed into the
PDB.JOBS and the PDB.SPUNJOBS datasets.
Thanks to Scott Barry, SBBWorks, USA.
Change 21.055 Support for FACOM SMF records 116 caused JCLTEST8 to fail
VMACAIM6 when ID=116 MQ Series records were in your test SMF data.
Mar 28, 2003 To avoid conflict, FACOM support was changed to use an
_IDAIMn macro to set SMF TYPE of FACOM records, and the
default value is set to the impossible value of 512. All
FACOM users will have to redefine the appropriate macro
in their IMACKEEP member to create observations in the
FACOM datasets from the FACOM records:
FACOM Record MXG MACRO NAME
110 _IDAIM0
111 _IDAIM1
112 _IDAIM2
113 _IDAIM3
116 _IDAIM6
117 _IDAIM7
98 _IDAIMR
For example, to process the FACOM 116 record, you would
put this statement
MACRO _IDAIM6 116 %
in your IMACKEEP member.
Thanks to Mike Hoiey, Ameren Services, USA.
Change 21.054 UTILEXCL created incorrect values in KY8DISTM & KY8CPUTM;
UTILEXCL the KY8DISTM=16*KY8DISTM; after the IF CMODIDNT='263'...
Mar 28, 2003 should have been KY8CPUTM=16*KY8CPUTM;
Jun 12, 2003 -Jun 12,2003: Original change only changed the first
instance, but there was a second instance in lines after
CMODIDNT='263' that also needed to be changed.
Thanks to Steve Yucha, Aetna, USA.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Change 21.053 Support for BlackBerry Server object.
EXNTBLKB
VMACNTSM
VMXGINIT
Mar 28, 2003
Thanks to Jim Quigley, ConEd, USA.
Change 21.052 -Archaic V6 JCL example was revised to match MXGSASV8 with
MXGSAS DISP=(NEW,DELETE) per Change 20.076.
MXGSASV8 -DISP was changed to NEW,DELETE in MXGSASV9 as it should
MXGSASV9 have been in MXG 20.20
Mar 27, 2003 -The WORK DD symbolic &WORK was not in parenthesis in V8
example.
Thanks to Yao Chun Rickert, Bank One, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 21.051 were in MXG 21.01 dated Mar 24, 2003=========
Change 21.051 -Negative values for LOGNATMP & TOTANONS in WEBSERVR occur
VMACNTSM because MXG de-accumulation did not recognize a stop and
Mar 23, 2003 start of the webserver. Adding SEQCHECK=DIF(SEQNR) and
testing SEQCHECK EQ 1 now correctly deaccumulates.
-Support for SYSTEM object with 32 fields; that object has
only 26 unique fields; the last six are repeats.
-The Discovery Print macro _UNTDISC was updated to support
multiple sets of discovery records.
Thanks to Xiaobo Zhang, ISO, USA.
Change 21.050 Support for 2105 Cache Controller data in CMF User SMF
VMACCMF record adds variable CMF27MDL to dataset CMF27C93, which
Mar 21, 2003 will now contain both 2105 and 3390 observations; the
2105 observations contain CMF27MDL='20', while 3990s have
CMF27MDL='96'.
Thanks to Kevin Batty, EMC Engineering, USA.
Change 21.049 MXG Execution under unix at SAS with early ports of V9.1
AUTOEXEC suggested revisions for MXG's IEBUPDTE program, and found
IEBUPDTE a workaround for a unix SASAUTOS error that is now fixed:
Mar 21, 2003 -MXG's IEBUPDTE program (IEBUDPTE for ASCII) needed these
Apr 10, 2003 revisions to work under unix:
- LENGTH MEMBER $200; was added, as that becomes the full
member plus path name and 50 was too short as default.
- Only the PDS_MEMBER is lower cased; previously, the
full path and member were lowcased, but unix path names
can be mixed case.
- The suffix "sas" in the member is now lower case, so
that the files do not have to be re-cased.
-The OPTIONS SASAUTOS=(SOURCLIB SASAUTOS) statement in the
MXG autoexec.sas file did not correctly work under unix:
SAS Note SN-000444 - SASAUTOS fileref is not
automatically generated on unix platforms.
The SASAUTOS is required, because MXG uses the associated
MAUTOSOURCE options so that %MACROs references (%ANALDB2R
%VMXGSUM, etc) are automatically resolved. A workaround
OPTIONS SASAUTOS=(SOURCLIB,
%scan(%sysfunc(getoption(sasautos)),1,%str(())));
was added in MXG's AUTOEXEC member in MXG 21.01, which
works on both unix and Wintel SAS platforms, but in April
SAS unix developers fixed the problem, so that syntax is
not required, and was removed in MXG 21.02.
Thanks to Jan Squillace, SAS Institute, USA.
Change 21.048 INFO: CHARACTER VARIABLES DEFAULTED TO LENGTH OF 200 are
TYPEVLFC printed if OPTIONS MSGLEVEL='I' is in effect; this has
VMAC6 been documented since V6, and occurs when a character
VMAC6156 variable is defined by a function, and the variable is
VMACCTLG not in a LENGTH/ATTRIB statement (unless the function is
VMACEAGL SUBSTR - then, the length of the first argument is used).
VMACTNG The longer length has no MXG impact, but the seven cases
Mar 21, 2003 where the message was produced are now protected with the
variables now in a LENGTH statement, just to eliminate
that possibly confusing message:
Member Variable
VMAC6 - PR
VMAC6156 - SYSPAR61 (was SYSPARM, but renamed).
VMACCTLG - SYSPARCL (was SYSPARM, but renamed).
TYPEVLFC - HITPCT
VMACEAGL - IDS, MSGIDC
VMACTNG - TEXT
Thanks to Stephen Bell, Sparkassen Informatik, GERMANY.
Change 21.047 Format $MGCICCL (applied to variable A17DTTYP in dataset
VMAC119 CICFCR) adds values for K:CFDT CONTENTION MODEL and
Mar 20, 2003 L:CFDT LOCKING MODEL'.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 21.046 Support for SMF 119 APAR PQ71376, which changes TICONNID
VMAC119 and TTCONNID from $EBCDIC8 to $CHAR4 with $HEX8 format.
Mar 19, 2003 Originally the CONNID fields had jobname, which was not
unique; now they contain the unique hex Connection ID.
Variable TISUBTSK was removed; it never really existed.
Change 21.045 The (LABEL= SORTEDBY= _BYLIST) fails under Version 6, and
WEEKBLDT works fine under Version 8, but the LABEL= was not fully
Mar 18, 2003 implemented, so it can be removed if you're under V6. I
intended to have (LABEL= _LABEL SORTEDBY=_BYLIST) and
set MACRO _LABEL 'this is the dataset label' for each of
the weekly and monthly datasets, but didn't do that yet.
Thanks to Jesse Gonzalez, CSC - NASA, USA.
Change 21.044 Using R70MAX to add maximum to the TRNDRMFI dataset did
VMXGRMFI not work, because the &R70MAX statement was left out of
Mar 18, 2003 the Trending part of VMXGRMFI, and because the doc was
not clear: to use the &R7xMAX= macro to "add" variables,
you must list all existing variables in the default list,
and then add you new variables in your invocation.
Thanks to Rick Mansfeldt, IBM Global Services, USA.
Change 21.043 Variables JHSUBT and JHEXCP are calculated, and JHRFLAG1
VMACESPH and JHRFLAG2 are decoded into individual variables.
Mar 18, 2003
Thanks to Jesse Gonzalez, The Gap, USA.
Change 21.042 Variables QPPCTNOW and QPPCTLOW, the percent buffers are
VMAC115 full now, and full lowest, are created in MQMBUFFER.
Mar 18, 2003
Change 21.041 Both members now tolerate the complete absence of input
ASUMCICS datasets while still creating a 0 obs output dataset with
ASUMCICX all variables labelled and formatted. Additionally, some
Mar 14, 2003 variables that were only output in ASUMCICX are now also
created by ASUMCICS.
Thanks to Diane Eppestine, SBC, USA.
Change 21.040 New graph plots the Peak to Average Utilization ratio at
GRAFTRND the SYSTEM SHIFT level; the peak value of the shift is
Mar 14, 2003 compared to the average for that shift and plotted on a
range of 1 to 2 by .1. If the ratio exceeds 2, it is set
to 2.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 21.039 Cosmetic. LABEL was missing for NDMCPUTM.
VMACNDM
Mar 12, 2003
Thanks to Khoan Dang, MBNA, USA.
Change 21.038 Protection for WORD7 to be the last word eliminated NOTE:
VMACWWW INVALID THIRD ARGUMENT TO FUNCTION SUBSTR when processing
Mar 11, 2003 a WebSphere HTTP log file.
Thanks to Craig Collins, State of Wisconsin, USA.
Change 21.037 Documentation. Thou shalt not use a RENAME= statement in
VMXGSUM your OUTCODE= argument to %VMXGSUM that renames variables
Mar 11, 2003 that are in the SORTEDBY= list; thy %VMXGSUM will fail
with ERROR: VARIABLE xxxxx NOT SORTED and
and ERROR: INVALID VALUE FOR THE SORTEDBY OPTION.
Thanks to Khoan Dang, MBNA, USA.
Change 21.036 -RSDA AUDIT error message was printed even though AUDHEXZR
VMACRSDA was zero; the test should have been 0000X (numeric) but
Mar 11, 2003 was incorrectly coded as '0000'X (character, so the test
failed when AUDHEXZR was zero).
-But then View Records (AUDACT=04) caused INPUT STATEMENT
EXCEEDED message, because those records do not have the
Folder Name segment that MXG expected; a test was added
to see that the Folder Name segment is present.
Thanks to Christa Neven, KBC BankVerzekeringsHolding, BELGIUM
Change 21.035 Using ASUMUOWT to combine TMON and DB2 data failed with
VMXGUOW BY VARIABLES ARE NOT SORTED ON WORK.TEMPCICS because the
Mar 10, 2003 BY list in MACRO _SUOWTMO was not updated in VMXGUOW.
Thanks to Tom Heaton, Texas Legislative Council, USA.
Change 21.034 Protection for missing STARTDTE was added; records with
VMACXCOM only ENDDTE populated caused INVALID DATA FOR STARTDTE
Mar 10, 2003 message, but no actual impact on the output XCOMDATA.
Thanks to Mark Williams, Marks & Spencer, ENGLAND.
Change 21.033 Additional AS/400 5.2 files LRECL have been validated and
VMACQACS are listed in the comments in VMACQACS. Minor cosmetic
Mar 7, 2003 changes were made to suppress INVALID DATA messages for
Mar 17, 2003 reserved packed fields. The data files had been sent to
MVS with incorrect LRECLs, and when those MVS files were
ftp'd to me, I discovered Padded Bytes added to the last
record of each file; the bytes are all hex zeros and they
caused invalid data messages when PD fields were input.
So MXG tests the INTNUM packed decimal field and prints a
message "PAD RECORD FOUND AND DELETED _N_= nnnn" on the
log. As long as the _N_= value is the same as the xx in
the SAS NOTE: xx RECORDS READ, then the delete record was
comprised of these pad bytes and there was no error.
Thanks to Brian Keller, ConAgra Foods, USA.
Change 21.031 -Tests for FTPSTART xx FTPEND and FTPEND xx SMFTM were
ANALTCP incorrect as GE, and are changed to the correct GT, and
Mar 7, 2003 two output columns were shifted one position.
Mar 14, 2003 -A sort step was added, required only when PDB=SMF.
Thanks to Matt Martin, USPS, USA
Thanks to Craig Collins, State of Wisconsin, USA.
Change 21.030 Protection added for subtype 8 record with NRSEGS=295
VMACICE (295*128 = 37760, which cannot fit in 32760 LRECL) while
Mar 7, 2003 reporting site contacts STK for a fix.
Change 21.029 MXG Newsletter FORTY cited APAR PQ56039, which supposedly
VMAC116 corrected invalid values for many of the MQMQUEUE fields,
Mar 7, 2003 in particular the WQMAXLAT and WQTOTLAT fields. However,
data records with very large values (168 hours plus) at
one site, and "large values" at another site are still
under investigation, which uncovered these unrelated
changes: The label for WQTOTUSE was corrected to be
WQTOTUSE='TOTAL*API CALLS*USING THIS*QUEUE', and the test
for the three PMS fields tests is LENWQ GE 588 instead of
the old test for 592.
Change 21.028 Early V8-V9 comparisons were flawed because CONFIGV8 did
CONFIGV9 not collect statistics, but CONFIGV9 enabled these:
Mar 7, 2003 DLEXCPCOUNT FULLSTATS FULLSTIMER STIMER MEMRPT
This change disables those statistics options in CONFIGV9
so that you should NOT see any increase in CPU time when
you install SAS V9 and use the same options as SAS V8.
Change 21.027 Mostly documentation. When you are using a SAS View to
JCLUOWV pass data from a data step to PROC SORT, SAS cannot give
Mar 6, 2003 the SORT the estimated record count (because SAS does not
know the observation count of a view), and thus the SORT
cannot be optimized in its choice of SORTKWs and memory.
In these cases, for SYNCSORT, you can use the $ORTPARM DD
to pass the size estimates to the sort program:
//$ORTPARM DD *
VSCORE=756K,VSCORET=512M,FILSZ=E40000000
which tells SYNCSORT to use 756K below the line (fixed)
and 512M total (fixed) storage, and the estimated record
count to be sorted is 40,000,000 records.
Previously, SORTSIZE=40000000 was used, but SYNCSORT
now ignores SORTSIZE= and instead uses the syntax of
FILSZ=Ennnnnnnn. The E is required; without it, SORT
fails if the record count is not exactly nnnnnnnn.
Similar parameters can be passed to DFSORT; if you
tell me that syntax, I'll update this note.
But note that the //$ORTPARM parameters apply to EVERY
sort in the job-step, so use with care, especially
because the memory will be fixed.
The change replaced SORTSIZE= with FILSZ=E.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Steve Dunn, Mainframe Performance Products Pty., AUSTRALIA
Change 21.026 Support for Control-T Release 6.0.0 (INCOMPATIBLE). New
VMACCTLT data fields were inserted, and the LRECL was increased to
Mar 6, 2003 600 bytes in their new version. Instead of feet, you get
Mar 27, 2003 bytes compressed/uncompressed for volume and datasets.
-Mar 26: Support for Control-T Release 6.1.0 (INCOMPAT,
because the LRECL was increased to 660 bytes, and MXG had
only protected for 600 bytes. Three fields were added to
their volume record by 6.1.
Thanks to Craig Collins, State of Wisconsin, USA.
Thanks to Stefano Baldi, Phoenix Spa, ITALY.
Change 21.025 Documentation only. The removal of Cross Memory Calls in
ASMTAPES ML-27 MXGTMNT causes these variables to be missing in the
Mar 6, 2003 TYPETMNT and ASUMTAPE datasets:
DDNAME INITTIME JOBCLASS PGMRNAME PROCSTEP PROGRAM
RACFGRUP RACFTERM RACFUSER RDRTM READTIME STEPNAME
and these variables to be missing in TYPETALO/ASUMTALO:
ALOCSTRT DDNAME STEPNR
(ALOCSTRT is commented in the ASM code and it appears
it has never been populated in the SMF record).
Stay tuned for a new algorithm that will merge TYPETALO,
TYPETMNT, TYPE1415, and TYPE30TD to not only populate the
missing fields, but enhance tape mount analysis with new
data as well. Maybe by the end of third quarter.
Note that the removal of Cross Memory calls was to solve
problems caused by VTS mounts; if your site does NOT
(yet!) have any VTS devices (or VTS-simulating-software)
so that all of your tape mounts are real mounts that take
real time, then you can still have the above variables
populated by MXGTMNT program, by re-assembling ASMTAPES
with the XMEM=YES parameter enables.
Change 21.024 -Support for TNG "Enterprise Cubes", which contain data
EXTNT007 from multiple servers, required structural revision of
EXTNT034 the code, which had expected a CAPMPCM Header record
EXTNT035 betweeen each system. This redesign has been tested
FORMATS with TNGVERS 6 data from multiple systems.
IMACTNG -New NT object NETWORK SEGMENT creates new NT034 dataset.
VMACTNG -New variables were added to existing SYSTEM object in
VMXGINIT dataset NT018.
Mar 7, 2003 -Support for NT PROCESS Object creates new NT035 dataset
Mar 19, 2003 and a major design change, because each process instance
Mar 27, 2003 does not record all process metris: out of 327 process
Apr 1, 2003 name records, only 175 had PROCESSOR TIME metric records,
but 324 had ID Process, and 326 had Page File records.
MXG presumed TNG recorded all metrics for each instance,
but now a new context-based array (NT035INM) maps each
process name to its metrics's location (INSTLOC), instead
of assuming a sequential INSTNR for each process metric.
-The arrays to support process data can require large
virtual storage if there are very many process names.
With NT035I=2000, NT007I=999, and MAXROWS=325, TYPETNG
required about 180MB of virtual storage! The MXG defaults
of NT035I=500, NT007I=100, MAXROWS=288 needs REGION=64M.
-TYPETNG will ABEND with USER 1111 if it finds more unique
process names than your chosen NT035I=value permits.
-EXTNT035 now only outputs observations that have non-zero
value of % PROCESSOR TIME; most processes are idle and do
not record any time. There were 2,448,576 observations
created when all process records were output, but only
31,320 observations had and CPU. That logic was located
in EXTNT035 in case you ever think you want to output all
observations.
-The process records for the Idle and _Total process names
both have % PROCESSOR TIME of 100, so they should be
removed in your analysis of process utilizations.
-EXTNT007 now only outputs observations that have non-zero
value of Total Bytes, i.e., that had activity.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 21.023 -Messages SHORT XAMSYS SEG FOUND, DELETED.... were caused
VMACXAM by incorrect subtraction in line 2275, which should be
Mar 5, 2003 SKIP=SKIP-20; instead of SKIP=SKIP-24; The error occurs
Mar 12, 2003 only in records with MTRSYS length of 164 or greater.
Mar 16, 2003 -Support for SYTCPC (Channel Activity) creates new dataset
Apr 22, 2003 XAMSYCPC with Channel Busy array HFCHB0-HFCHB255 (where
the CHPID is the array suffix, and the array is populated
with NBUSY entries), and Channel Simultaneous Bussy Array
HFCHSI0-HFCHSI50 (populated with NBUSYSIM).
-Support for TCP data files creates many new datasets from
Linux, NT, Sun systems, as well as from VM Monitor:
UCD - From UCD-SNMP or NET-SNMP
HST - From ANY SNMP DAEMON supporting HOST MIB
TCP - From either VM MONITOR RECORD FOR VM, or SNMP
FAL - From VM MONITOR RECORDS, exclusive to VM
OTHERS - SUBNET, TCPCON, TCPAPP come from either FAL
or a "NETSTAT" interface.
The datasets have been validated, but this is preliminary
support, and variable names may change slightly as the
data is better understood.
-Additional XAMDEV variables, including RDEVSER, VOLSER,
are now decoded. Apr 22, 2003.
Thanks to Rebecca Cates, Merrill Lynch, USA.
Thanks to Tom White, SPRINT, USA.
Change 21.022 All daily PDB datasets that are created in the JCLPDB8
WEEKBLD example JCL are now copied into the WEEKLY PDB in the
WEEKBLDT example WEEKBLD/WEEKBLDT members. Most datasets were
WEEKBL3 copied into the weekly PDB, but many new datasets were
WEEKBL3T created by BUILDPDB/BUILDPD3 that were not also copied
Mar 5, 2003 into the weekly that now are.
Yes, this change could cause a perfectly good weekly MXG
job to ABEND with an out of space condition, but that, I
decided, was less painful than discovering later that the
data you thought was in the weekly wasn't!
Thanks to Ronald Lundy, AHOLD, USA.
Change 21.021 The Active Server Pages object's INPUT statement has been
VMACNTSM incorrect, at least since NTSMF 2.2.2. ASMEMALO no longer
Mar 5, 2003 exists, and a DUMMYFLD was inserted after ASTMCAHT in the
logic for NRDATA=34 for the ACTVSRVR dataset.
Thanks to Chris Morgan, UFI, ENGLAND.
Change 21.020 Relocated the VMXGOPTR call that resets OBS= value to
VMXGSUM earlier; if KEEPALL=NO and the first data step bypassed,
Mar 4, 2003 and you had changed OBS= to a small value, the original
location was too late. Seen only in unrelated test runs,
has been that way for a long time and never reported, but
is now corrected.
Change 21.019 Oracle variable ASID was not input and ELAPSTM was not
VMACORAC created for Release 8. Several variables no longer are
Mar 1, 2003 created in the Oracle SMF record with that release, and
Mar 13, 2003 will always have missing values:
CPUCICTM CPUSRBTM CPUTCBTM CPUTIMER DDLCOMIT DDLROLLS
ENDSRB ENDTCB ORACMSB PCCOUNT STRTSRB STRTTCB
-Cosmetic. Text in labels had misspelled OSDI as ODSI and
OSID are now all OSDI.
Thanks to Forrest Nielson, State of Utah, USA.
Thanks to Marvin Wapnitsky, TIAA-CREF, USA.
Change 21.018 Support for Domino Server Release 6.0.0 added five new
IMAC108 HTTP-related variables to the Subtype 1 record that are
VMAC108 now output in dataset TYPE1081:
Mar 1, 2003 DOMCACOM='DOMINO*CACHE*COMMAND*COUNT'
DOMCADES='DOMINO*CACHE*DESIGN*COUNT'
DOMCAREQ='DOMINO*CACHE*REQUESTS*TOTAL'
DOMCASES='DOMINO*CACHE*SESSION*COUNT'
DOMCAUSR='DOMINO*CACHE*USER*COUNT'
Their existence was found in APAR PQ70810, which added
the fields to IBM's TIVOLI product; that is what alerted
me that there was a new Domino version to support.
Change 21.017 For devices with IORATE=0, variable DEVIOQTM was carried
VMAC74 from the preceding device that had non-zero IORATE. The
Feb 28, 2003 missing DEVIOQTM=.; statement was inserted where it
should have been, after the AVGIOQMS=.; statement.
Thanks to Barry McQueen, Department of Defence, AUSTRALIA.
Change 21.016 Several "Wdddddd" macro variables were incorrectly %LET
VMXGINIT to &DEFAULT instead of &MXGWORK: all for VMACLDMS and for
Feb 27, 2003 VMACMIM were wrong, as were two for VMACTAND. This only
surfaced as an actual error if you used the USER= option.
Thanks to Ken Kelso, National Australia Group, SCOTLAND.
Change 21.015 Using %ANALDB2R(PDB=SMF); to get the default set of DB2
ANALDB2R reports failed with 76-322 and other strange errors, due
READDB2 to changes made to READDB2 by Change 20.233. The READDB2
Feb 27, 2003 calling logic in ANALDB2R was corrected. However, using
%ANALDB2R(PDB=SMF,IFCIDS=ACCOUNT);
will circumvent the error.
-READDB2 now detects that it was invoked without arguments
and gracefully reports that error.
-IFCIDS=ALL is now recognized.
Thanks to D. J. Chen, State of Florida, USA.
Change 21.014 More than one type 6 ESS '0031'x USERDATA segment was not
IMAC6ESS expected, causing INPUT STATEMENT EXCEEDED if comments in
VMAC6 IMAC6ESS were opened. Multiple USERDATA now supported.
Feb 23, 2003
Thanks to Ricke Godehard, Itellium, GERMANY
Change 21.013 -INVALID DATA messages reading QAPMDISK file because of
VMACQACS ELSE INPUT INPUT in lines 3984 and 3985. Remove one.
Feb 22, 2003 -Variable DSASPN 'ASP RESOURCE NAME' was not kept and was
Mar 5, 2003 not labeled, but now it is.
Thanks to Paul E. Bennett, JPMorganChase, ENGLAND.
Change 21.012 The MNTH72GO example still had PERFGRP and PERFRPGN where
MNTH72GO it should have had SRVCLASS and RPRTCLAS
Feb 22, 2003
Thanks to Mike Kynch, International Paper, USA.
Taught the first tuition-free three-day class in Dallas to 64 students.
Change 21.011 The format MGSASPR had PARETO misspelled, and had several
FORMATS procedure names that were longer than 8 characters that
Feb 18, 2003 are now truncated to 8 bytes so they will match the name
in the TYPESASU dataset (from the SAS user SMF record).
And SETINIT (BASE) was added to the list of procs.
Thanks to Tom White, SPRINT, USA.
Change 21.010 SMF 42 offsets for subtype 20 and 21 are incorrect in the
VMAC42 z/OS SMF manual, but (without test records), I believed
Feb 17, 2003 the manual. Offsets for SMF42KN1 thru SMF42KN3 and for
SMF42LN1 thru SMF42LN6 should have started at decimal 36,
but the manual showed them starting at dec 52 and dec 60.
MXG printed error messages, but the job did not fail, but
it did not output those subtypes, either!
But the subtype 21 records that are only 176 bytes long
have invalid offset SMF42LN4 (177) and number of SMF42LN6
(1) for the Alias Names Deleted in Sympathy segments,
causing MXG to print an error message. It's not clear if
there were Alias names that were not written, or whether
the offset/number should have indicated there were no
Alias names in the record. This will be purusued with IBM
but this Change does correctly populate TYPE4221 dataset.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 21.009 Symbolic parameter WORKVOL= is added to the MXGSASV8 JCL
MXGSASV8 procedure, defaulting to 5 volumes, and the WORK= parm
Feb 12, 2003 is (200,200) in CYL. SAS only allocates what it needs,
but this will reduce the probability of B37 ABENDS for
new users.
Change 21.008 Documentation. TYPE70PR PR/SM data for IFL Linux LPARs
VMAC7072 are not identified as such: they have SMF70CIN='ICF', so
Feb 12, 2003 you can't tell an IFL from an ICF partition, so you must
use a table lookup of LPARNAME to select the Linux LPARs
from PDB.TYPE70PR. And only LCPUPDTM is non-zero; the
LCPUEDTM is always zero.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Change 21.007 PCHANBY is missing for SMF73ACR='CBP/CBS/CFP/CFS/ICP'
VMAC73 Channels. Originally corrected by Change 20.096, that
Feb 12, 2003 was overridden in Change 20.172, which reset it missing.
Feb 17, 2003 The initialization to prevent carry forward was moved to
above the PCHANBY calculations.
Thanks to John Gebert, Office Depot, USA.
Change 21.006 Negative values in DB2STATB variables occurred when a DB2
VMACDB2 subsystem was stopped and started, and the first record
Feb 11, 2003 after the start had QWHSISEQ=4, but MXG expected first
record to have QWHSISEQ=1. MXG's test to recognize start
was revised to also test SEQCHECK GT 0 or ISEQ=1. This
may be an IBM error, but the MXG circumvention should be
sufficient.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Change 21.005 Cosmetic. The INVALID DEVICE messages now include the
VMACEXC2 PROGRAM name, making it easier to identify if they are
Feb 11, 2003 coming from the same program.
Thanks to Paolo Uguccioni, UNICREDIT, ITALY.
Change 21.004 ML-28 corrects an 0C4 in ML-27 that occurred only with
ASMTAPES the //EXCLUDE DD, and only if the tape drive with the
Feb 11, 2003 highest DEVNR was excluded. Trivial to fix once seen,
Feb 17, 2003 hard to include in all combinations of our testing.
Thanks to Anthony A. Ziegler, UMB, USA.
Change 21.003 Variable R791FMCT should have been multiplied by 4096 to
VMAC79 convert from frame count to bytes, which will be printed
Feb 11, 2003 as nnnnKB/MB/GB; the variable is FORMATed MGBYTES.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 21.002 Major enhancements to MXG processing of RMF III VSAM data
ASMRMFV includes revisions to the ASMRMFV assembly program, the
CLRMFV new CLRMFV CLIST member that will read all of your RMF
DOCLRMFV III VSAM files on all your system in one job (since you
Feb 13, 2003 cannot concatenate VSAM, and member DOCLRMFV to document
Feb 18, 2003 the CLRMFV CLIST, and provides JCL examples of how to
use CLRMFV and ASMRMFV (which will create the RMFBSAM
file that is then read with MXG's TYPERMFV to create all
of the MXG RMF III datasets). Enhancements in ASMRMFV:
-Minimum and maximum LRECL output is now reported for each
RMF III Table/Header.
-Total Displays restructured to combine selection, input,
output records written/skipped and output LRECL min/max.
-CC=4 set when input records are skipped due to exceeding
32756 LRECL or decompression errors; previous CC was 0.
-Messages show FROM=/TO= keyword selection Time Stamps in
Date/Time Format for each RMF III data set processed.
-Messages show FIRST/LAST Sample Set Time Stamps
-Messages assigned RMFVNNN with I=INFO,W=WARN,E=ERROR, and
S=SEVERE ERROR suffixes.
-Major performance improvement with Selection: entire RMF
VSAM dataset is skipped if Data Set Header FIRST/LAST
shows all sample sets are outside FROM=/TO= keywork.
-Minor performance improvement: entire Sample Set bypassed
if FIRST/LAST header is outside FROM/TO keyword range.
-Table access validated by comparing eyecatcher.
-If a specific table exceeds maximum LRECL, next table is
processed; previously, remainder of this sample set was
abandoned.
-Internal ASM improvements; counters that used fullword
Register to Storage arithmetic instructions replaced with
Load Address or Branch on Count Register instructions.
-Improved documentation in the program prologue.
-Tables that are not processed by TYPERMFV (because no one
has needed them)are skipped by ASMRMFV and documented.
-Performance: processing 7 LPARs with 44 RMF III datsets
(a total of 308) in a single job reduced Elapsed Time,
CPU Time, and EXCP count by 70%
-CLRMFV is run in batch and repetitively calls ASMRMFV
for each RMF Monitor III dataset it finds, making ASMRMFV
truly useful for bulk processing; without this CLIST a
separate job step must be used for ASMRMFV, since VSAM
does not support concatenation.
The code, CLIST, and documentation were all written by
and contributed to MXG by Jerry.
-Feb 18: Use PGM=IKJEFT01 instead of PGM=IKJEFT1B, doc'd
in member DOCLRMFV. ASMRMFV now recognizes FROM= and/or
TO= keywords for filtering.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 21.001 Archaic report example member ANALCICS caused V8 to 0C4
ANALCICS ABEND in module VXBSM doing the autocall for %VMXGFOR,
Feb 8, 2003 now removed by MXG Change 20.327, but the cause was the
old OPTIONS SASAUTOS=(SOURCLIB SASAUTOS) statement in the
ANALCICS member, which as been unneeded for years, and
now removed, as MXG sets SASAUTOS at MXG Initialization.
But SAS had documented this problem before: "It is not
advisable to change SASAUTOS during a SAS session. If
you change the SASAUTOS= specification in an ongoing SAS
session, the SAS System will store the new specification
only until you invoke an uncompiled autocall macro, and
then SAS will close all opened libraries, and open all
the newly specified libraries that it can open."
LASTCHANGE: Version 21.
=========================member=CHANGE20================================
/* COPYRIGHT (C) 1984-2003 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 20.20 is dated Feb 7, 2003, thru Change 20.341.
MXG Version 20.12 was dated Feb 3, 2003, thru Change 20.335.
MXG Version 20.11 was dated Jan 30, 2003, thru Change 20.330.
MXG Version 20.10 was dated Jan 3, 2003, thru Change 20.307.
MXG Version 20.09 was dated Dec 20, 2002, thru Change 20.299.
MXG Version 20.08 was dated Dec 4, 2002, thru Change 20.280.
MXG Version 20.07 was dated Nov 4, 2002, thru Change 20.244.
MXG Version 20.06 was dated Oct 7, 2002, thru Change 20.215.
MXG Version 20.05 was dated Sep 6, 2002, thru Change 20.186.
First MXG Version 20.05 was dated Sep 1, 2002, thru Change 20.177.
MXG Newsletter FORTY-ONE was dated Sep 1, 2002.
MXG Version 20.04 was dated Aug 12, 2002, thru Change 20.157.
MXG Version 20.03 was dated Jun 19, 2002, thru Change 20.111.
MXG Version 20.02 was dated May 8, 2002, thru Change 20.082.
Final MXG Version 20.01 was dated Apr 11, 2002, thru Change 20.061.
Second MXG Version 20.01 was dated Apr 9, 2002, thru Change 20.058.
First MXG Version 20.01 was dated Apr 1, 2002, thru Change 20.046.
Annual MXG Version 19.19 was dated Feb 14, 2002, thru Change 19.300.
MXG Newsletter FORTY was dated Feb 14, 2002.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 20.20 is now available upon request.
II. Incompatibilities and Installation of MXG 20.20.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 20.20 is now available.
Major enhancements added in MXG 20.20
ASMTAPES 20.320 ML-27 now robust, low CPU, sees VTS, no XMEM, etc.
ML-27 eliminates the cross memory call and 0E0s,
changes interval to 0.5 seconds, which captures
all VTS allocations and most VTS mounts
TYPETMO2 20.335 Support for ASG/TMON CICS V2.2 INCOMPATIBLE.
TYPEXAM 20.315 Support for Velocity Software's ESAMON VM Monitor 3.2
and support for TCP and Linux data almost made it.
TYPE28 20.316 Support for Tivoli Netview NPM 2.7 SMF 28 records.
TYPE102 20.336 Support for IFCID=247 in T102S2347 dataset.
TYPEEDGR 20.331 Support for DFSMSrmm Extended Extract 'X' records.
TYPEESPH 20.318 Support for Cybermation's ESP Product JOBHIST file.
TYPESYNC 20.309 Support for SYNCSORT for z/OS 1.1 SMF record.
IMAC6ESS 20.332 Support for more ESS variables (on OUTPUT statement)
TYPERMFV 20.334 Numerous enhancements/corrections to RMF III support.
BUILDPDB 20.330 New CSTORE30,ESTORE30 variables in STEPS,SMFINTRV.
TYPE30 20.330 New CSTORE30,ESTORE30 variables in TYPE30_4,_5,_V.
TYPE30 20.310 TYPE30TD now has subtypes 2, 3, and 4 output.
ANAL116 20.313 Example graphs of MQ Series SMF 116 data.
VGETJESN 20.326 Type 30s with JCTJOBID='INTnnnnn' protected.
UNIXSAR 20.314 Enhancements to process unix sar command output.
VMXGFOR 20.327 All %VMXGFOR were removed, to avoid a SAS zap.
BUILDPDB 20.319 OMVS task filled //SPIN, had TYPETASK='JOB' in error.
BUILDPDB 20.310 TYPE30TD now has subtypes 2, 3, and 4 output.
JCLUOWP 20.312 JCL example for ASUMUOW using Views/Pipes corrected.
UTILBLDP 20.329 Enhancement if BUILDPDB=NO is specified.
BLDNTPDB 20.323 Some combinations of arguments didn't work right.
TYPEOPC 20.321 IBM's OPC Log causes INVALID ARGUMENT TO FUNCTION....
TYPE79 20.325 TYPE792 was incorrectly deaccumulated.
TYPESRMH 20.317 Security Resource Manager for MVS V2.3 correction.
Many 20.324 Semi-colons added after each _Edddddd exit statement.
Versions 20.11 and 20.12 were QA tests, sent to only a few sites.
Major enhancements added in MXG 20.10
TYPE7072 20.307 Errors in TYPE72GO (MXG 20.08-20.09 only) corrected.
TYPENSPY 20.305 Support for NetSpy Version 6 subtypes G,H (COMPAT).
TYPEIDMS 20.304 Support for IDMS V1500 new subtypes 13, 14, 15.
TYPECIMS 20.306 No observations in CIMSDBDS after Change 20.138.
Major enhancements added in MXG 20.09
VMAC115 20.288 Support for MQSeries V5.3 (COMPATIBLE) new data.
VMAC116 20.288 Support for MQSeries V5.3 (COMPATIBLE) new data.
FORMATS 20.291 Support for APAR OW57121 new SMF 99 trace codes.
TYPE94 20.283 Support for undoc SMF 94 Subtype 2, heuristically.
REXXWLM 20.289 Support to read Workload Manager's WLM Defs PDS.
A very slick REXX exec and SAS step to output the WLM
definitions into a SAS dataset.
TYPEQACS 20.295 AS/400 CPU times merged in optional QACSCPU dataset.
ANAL94 20.294 VTS activity reports selection SUBREP= parm added.
TYPE110 20.293 UNKNOWN STID=115 messages should not exist.
FORMATS 20.292 Mapping of SAS Procedure Name to Product updated.
TYPENTSM 20.286 MicroSoft added instance names for SMF objects.
RMFINTRV 20.297 Workloads can use SYSTEM/SYSPLEX as criteria.
Major enhancements added in MXG 20.08
TYPEQACS 20.260 Support for AS/400 5.2 Collection Services (INCOMPAT)
UTILEXCL 20.256 Major UTILEXCL enhancement, MCTSSDCN/DRL DO grouping,
so you don't have to rerun UTILEXCL for new APPLIDs.
TYPENTSM 20.276 Support for NTSMF new objects from MS Exchange 2000
SP3, XP Professional, Citrix, DataCore, MSMQ, and
changes to PROCESSOR and MQSERIES objects.
TYPE94 20.265 SMF 94 FC4001 undoc fields caused wrong values.
TYPEMVCI 20.263 Support for BMC MVCICS 5.6, fix for 5.5 CMRDETL data.
TYPETMO2 20.253 Support for ASG-Landmark TMON/V2.1 TH01595 (COMPAT)
TYPETAND 20.250 Support for Tandem G07 new data, fix TANDPROC G06.
CONFIGV9 20.252 Support for Version 9 TS M0 Production Release.
AUTOEXEC 20.252 Support for Version 9 TS M0 Production Release.
TYPE79 20.274 Support for APAR OW56739, RMF 79 subtype 3.
TYPE7072 20.274 Support for APAR OW56739, RMF 72 subtype 3.
GRAFWRKX 20.273 Workload Graph examples include MSU used by workload.
ANALRMFR 20.277 RMF Channel Activity Report CHP= selectivity added.
TYPE71 20.259 Medium Impact Frames ESFRMExx are now input in order.
TYPE119 20.267 TSIPxxxx variables wrong in TYPS11905, other fixes.
Major enhancements added in MXG 20.07
Status of ASMTAPES:
ML-26 tests show no improvement; CPU time same as ML-25, even
when scan excluded VTS devices. Update: USE ML-27, in 20.20.
TYPE73 has PCHANBY/PNCHANBY mising with SMF73CMG=0.
Support for CICS APAR PQ63143 changes to 110-2 stats; only STID=24
(for CICAUTO) was INCOMPATIBLY changed.
Support for RMF 74-4 APAR OW55968 (R744SST 4 to 8-byte).
Support for APAR OW54010 Large Virtual Memory (>2GB).
Support for Candle Omegamon for CICS V520 User SMF.
Support for Control-D "SF2" User SMF record.
Support for Control-D "POD" User SMF record.
Circumvention for IDMS Version 1500, no new data yet.
UTILEXCL USERCHAR variable generated wrong INCLUDE post 20.148
TYPEDB2 Negative DB2SRBTM with DB2 V7 forced back to missing.
Trending for TYPE23 (SMF Buffer Usage) was wrong.
Documentation: Don't use TEMP01 with %VMXGSUM.
Example of RACF Filtering with TYPE80A and MACJBCK=.
TYPE80A Support for UID/HOME/PROGRAM OMVS/USS RACF fields.
Major enhancements added in MXG 20.06
Status of ASMTAPES:
ML-25 uses lots more CPU time (30 minutes per day versus 30 secs
with ML-19) and there is no immediate fix. Update: Use ML-27.
Support for APAR OW52396 (no change) SMF 74-7 FICON.
Support for APAR OW56162 new SMF 64 CATALOG UPDATE.
Support for SMF 94 subtype 2 and subtype 1 new stuff.
Support for z/OS 1.4 is in MXG 20.06, but MXG 20.03 or later is all
that is truly REQUIRED for z/OS 1.4. The minor 1.4 enhancements
that are now supported (i.e., decoded) by MXG 20.06 have very
little impact. See Change 20.101 for why 20.03 is the minimum,
and see Change 20.205 for the z/OS 1.4 enhancements.
However, if you're leading edge enough to be install new releases
of your operating system, then you surely should install the most
recent MXG Version (20.06, this week), because of likely changes
to at least one of your other products; the current MXG is always
more aware of other product's changes than was the prior version.
And installing a new MXG Version, now, is very easy, and with no
changes needed to your MXG tailoring, very simple.
Note that IBM has announced that the next major z/OS release is
scheduled for March, 2004 (yes, 18 months), to be followed by a
release in September, 2004, and thereafter major z/OS releases
will be annually, each Fall.
But you can still expect to see a new MXG Version available
practically every month, as we keep up with constant change in
the other 399 products whose data records are supported by MXG;
z/OS itself is but one product.
Support for SMF 120 subtype 7 and 8 WebSphere 4.0.1.
Support for BMC's Mainview for DB2 THRDHIST file.
Support for ASG-Landmark TMON/MVS V3 (INCOMPATIBLE).
Support for CICS Transaction Resource Class new data.
Support for SAMS:VANTAGE 3.2.0 OBJ=POOLS record.
Major enhancements added in MXG 20.05
ASMTAPES: ML-25 corrects CPU loop or 0C4 in ML-24. Now: Use ML-27.
Support for Oracle and Analysis Server NTSMF objects.
Revision/enhancement of MSU calculations in RMFINTRV, ASUM70PR and
ASUMCEC, plus description of important MSU variables and MXG
recommendation to use MSU instead of MIPS. Change 20.168.
Support for EMC's Catalog Solution user SMF record.
Technical Note in NEWSLETTER FORTY-ONE: CICS-DB2 ACCOUNTING change.
Major enhancements added in MXG 20.04:
ASMTAPES: ML-24. Corrects 0E0 logrec, CPU loop. Update: Use ML-27.
Support for APAR PQ61349 to SMF 103 records.
Support for APAR OW54007 to SMF 42 records..
Support for RMF 74 subtype 7 FICON Port data.
Support for type 90 subtype 32 in TYPE90A member
Support for multiple CICS user fields in UTILEXCL.
Support for IMPLEX Version 2.1 has been coded.
Landmark TMON/CICS datetimes wrong zone if GMTOFF GT 0.
Landmark TMON/DB2 datetimes wrong zone if GMTOFF GT 0.
Support for NTSMF 2.4.4, MODULE Object, Disk pct and Averages.
Support for NTSMF File System Collector. DCOLLECT for NT!
New ANALDB2K merges package DB2ACCTP data with DB2ACCT data.
Major enhancements added in MXG 20.03:
Support for JES "Z2 Mode" (INCOMPATIBLE JESNR): YOU MUST HAVE THIS
version before you enable Z2 mode in z/OS 1.2 or later!!!!
ML-23 of MXGTMNT, skips over list of UCB addresses for VTS devices.
Support for subtype 27/28 of STK HCS/VSM records.
Support for many new TNG Platforms (SOL, AIX) etc.
Support for G06/G08 TANDPROC LRECL=442 (INCOMPAT).
Support for NTSMF Citrix process record.
Support for AIX PTX (Performance ToolBox) adds objects/variables.
GRAFWRKX Enhanced "Weighted LPAR Capacity" Graph/Tabular reports.
ANALRMFR "RMF HTTP Server Report" multiple servers, etc.
Domain Error in TYPE78, TYPE79 and TYPE91 were corrected.
PCHANBY missing for TYPE73 Coupling Facility channels.
Doc: Variable UOWTIME may look wrong, but it's okay.
Variable MSU72 created in TYPE72/TYPE72GO.
EXECAPPL, the "execution" APPLID, added to PDB.ASUMUOW.
UTILEXCL Final (?) cleanup covers all reported optional data.
Major enhancements added in MXG 20.02:
Support for z/OS 1.3 (COMPATIBLE, except SMF 42 needs MXG fix).
Biggest enhancement: new TYPE4221 dataset records every delete
of a PDS or PDSE member, and who dun it.
Support for APAR OW52227 (Active Application State) for WLM.
New state counters are used, changing percent calculations.
Support for multiple CICS versions with EXCLUDEs added in UTILEXCL.
Support for unexpected z/VM record with DATABYTE=0, caused STOP.
Support for IBM Product NPM/IP monitor user SMF record.
Support for TMON/CICS TCE 2.1 (COMPLETELY INCOMPATIBLE).
Support for full LRECL and VBS output for RMF III in ASMRMFV.
SAS Inherit option created wrong label in ANAL94.
Major enhancements added in MXG 20.01:
CPU Busy Pct in TYPE70/TYPE70PR/ASUM70PR wrong with WLM IRD.
There is no correction yet; see text of Change 20.046.
Additional corrections to UTILEXCL.
Support for z800 2066 CPU factors for OS/390 R2.8-R2.10.
Support for Top Secret V5.2, INCOMPATIBLE.
Support for Mobius RDS InfoPac Subtypes 6 and 7.
Support for Oracle OSDI format (8.1.7) SMF record INCOMPATIBLE.
Support for RMF III Enclave Table ENCG3.
Support for CA TNG Windows 2000 performance cube.
New ASUMUOWT creates PDB.ASUMUOW from Landmark TMON + DB2ACCT.
Enhanced UTILBLDP, examples for only RMFINTRV, only JOBS, etc.
MXG 19.19 corrections:
- TYPEIMSA Syntax error: Two %%VMXGTIME should be %VMXGTIME.
- AS/400 JBCPU/JBTCPU wrong in QAPMJOBM, IBM doc was wrong.
- VMXGUOW did not increment SPINCNT for ASUMUOW.
- If you used the new UTILEXCL utility to create your IMACEXCL, it
causes ASUMUOW to syntax fail; some computed variables weren't.
Also, some optional segments were not correctly recognized.
And it is enhanced to report if you have deleted any variables
are required to create ASUMUOW.
- DAILYDSN writes to PDB versus DATASETS; four _P should be _L.
- JCLTEST6 SAS V6 only, temp var SYS000008 name is too long.
- VMXGSUM with OPTIONS OBS=0 could cause errors.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
MXG QA test are with SAS V8.2 and (archaic) SAS V6.09 on OS/390, and
SAS V8.2 on Windows 2000, but previous QA tests on Linux RH 7.2 had
confirmed MXG's unix compatibility, so MXG should execute under SAS
V8.2 or later on every possible SAS platform!
MXG has also executed without error under SAS Version 9 beta, on both
"MVS" and Windows platforms.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2, IRD enhancements Apr 26, 2002 20.01
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CRR 1.6 Jun 24, 1994 12.02
CRR 1.7 Apr 25, 1996 14.02
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 30, 2001 19.19
DB2 7.1.0 corrections Mar 30, 2001 20.06
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
NTSMF 2.4.4 Aug 9, 2002 20.04
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 20.01
IMS 7.1 ??? ?, 199? 20.01
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
Note: An asterisk before the version number indicates that this
entry was changed to a later version of MXG being required,
after it was found that the previous version did not support
the listed product level, usually the result of an APAR to
the product that modified the products data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
SAS Institute
MXG executes best under SAS Version 8.2, with 82BA77 HOTFIX for
MVS-OS/390-z/OS which includes Critical fixes; see NEWSLTRS.
It has executed succesfully under SAS Version 9 Beta on both
MVS and Windows platforms.
See Newsletters for expanded discussion of other versions.
Read member NEWSLTRS (search 'V8') for SAS Version 8 notes.
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Windows 2000 Build 2195 17.10
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS/ESA 2.1 - 20.04
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
Memorex/Telex
LMS 3.1 12.12A
MXG IMS-Log Not-Officially-Supported
IMS 7.0 - ASMIMSL6/TYPEIMSA *20.01
IMS 6.1 - ASMIMSL6/TYPEIMSA *20.01
IMS 5.1 - ASMIMSL5/TYPEIMSA *19.08
Amdahl
APAF 4.1, 4.3 16.08
II. Incompatibilities and Installation of MXG 20.09.
1. Incompatibilities introduced in MXG 20.09 (since MXG 19.19):
a- Changes in MXG architecture made between 19.19 and 20.09 that might
introduce incompatibilities.
NONE.
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.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
OBSERVATION COUNT CHANGE: xxxxxxxx more/fewer observations.
This new note will be the last line of new Changes that alter the
number of observations MXG creates in dataset xxxxxxxx.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 19.19 now in MXG 20.12:
Dataset/
Member Change Description
Many 20.268 Syntax INPUT +(-4) @; replaces M4=-4; INPUT +M4 @;
Many 20.299 MXG Checked by SAS/ITSV Dictionary Build process.
Many 20.324 Semi-colons added after each _Edddddd exit statement.
ADOCxxxx 20.338 All 282 ADOCs updated with all variables, old text.
ADOCSASU 20.292 Mapping of SAS Procedure Name to Product updated.
ANAL116 20.313 Example graphs of MQ Series SMF 116 data.
ANAL94 20.080 Revised to use SMF94VLC rather than SMF94VLS.
ANAL94 20.294 VTS activity reports selection SUBREP= parm added.
ANALCICS 20.193 VARIABLE OPERATOR NOT FOUND if OPERATOR excluded.
ANALCNCR 20.224 KEEPIN= argument no longer used, won't cause failure.
ANALDB2K 20.128 New member combines DB2ACCTP with DB2ACCT data.
ANALPROG 20.075 SAS V8 INHERIT option caused wrong label for NRTIMES.
ANALRACF 20.015 Bogus SAS error; ENTITY was used as array name.
ANALREG 20.183 Example regression of two variables with DATA step.
ANALRMFR 20.104 "RMF HTTP Server Report" multiple servers, etc.
ANALRMFR 20.277 RMF Channel Activity Report CHP= selectivity added.
ASMRMFV 20.033 Support for RMF III Enclave Table ENCG3.
ASMRMFV 20.068 RMF III support enhanced and corrected.
ASMRMFV 20.135 OC4 ABEND in ASMRMFV if CSR table was empty.
ASMTAPES 20.320 ML-27 now robust, low CPU, sees VTS, no XMEM, etc.
ASUM42DS 20.124 SORTEDBY= in VMXGSUM required change to ASUM42DS.
ASUM7072 20.169 Variable LPnLAC (4-hr MSU) added to ASUM70PR/ASUMCEC.
ASUMDB2A 20.039 Tailoring example for dropped variables from DB2ACCT.
ASUMUOW 20.086 EXECAPPL, the "execution" APPLID, added to ASUMUOW.
ASUMUOWT 20.038 Create PDB.ASUMUOW from Landmark TMON/CICS + DB2ACCT.
ASUMUOWT 20.251 Change 20.221 to VMXGUOW caused ASUMUOWT to fail.
AUTOEXEC 20.252 Support for Version 9 TS M0 Production Release.
BLDNTPDB 20.323 Some combinations of arguments didn't work right.
BUILDPDB 20.310 TYPE30TD now has subtypes 2, 3, and 4 output.
BUILDPDB 20.319 OMVS task filled //SPIN, had TYPETASK='JOB' in error.
BUILDPDB 20.330 New CSTORE30,ESTORE30 variables in STEPS,SMFINTRV.
CONFIGV8 20.019 //USER or directory named "user" causes SAS errors.
CONFIGV9 20.252 Support for Version 9 TS M0 Production Release.
DAILYDSN 20.020 DCOLLECT datasets written to PDB instead of DATASETS.
EXddddd 20.266 EXdddddd members are now one executable statement.
FORMATS 20.127 IBM MSU Capacity for 7060s only in format table.
FORMATS 20.194 MSU constants updated for 2064-2xxx family.
FORMATS 20.291 Support for APAR OW57121 new SMF 99 trace codes.
FORMATS 20.292 Mapping of SAS Procedure Name to Product updated.
GRAFWRKX 20.105 Enhanced "Weighted LPAR Capacity" Graph/Tabular
GRAFWRKX 20.273 Workload Graph examples include MSU used by workload.
IMAC6ESS 20.332 Support for more ESS variables (on OUTPUT statement)
IMACESS6 20.090 Unknown ESS keys not skipped if GEPARMNR GT 1.
JCLTEST6 20.002 SAS V6, VMACTMV2, variable SYS000008 name too long.
JCLUOWP 20.312 JCL example for ASUMUOW using Views/Pipes corrected.
JCLUOWV 20.269 VARIABLE TIMESTMP NOT FOUND building ASUMUOW.
MONTHBLD 20.094 SORTEDBY= added to Monthly PDB datasets
READDB2 20.270 Enhancement for IFCIDs 202, 230, 230, not in SMF 102.
REXXWLM 20.289 Support to read Workload Manager's WLM Defs PDS.
RMFINTRV 20.168 MSU4HRAV corrected, MSU-related variables documented.
RMFINTRV 20.297 Workloads can use SYSTEM/SYSPLEX as criteria.
TRND23 20.239 Trending for TYPE23 (SMF Buffer Usage) was wrong.
TRNDRMFI 20.099 Variable MSU4HRMX was missing in TRNDRMFI.
TRNDRMFI 20.249 New TRENDOLD= parm lets you use GDGs for TREND.
TYPE102 20.228 QW0022TS/BT were wrong if your GMTOFFDB was non-zero.
TYPE102 20.336 Support for IFCID=247 in T102S2347 dataset.
TYPE103 20.104 TYPE103x HOSTNAME increased to $32
TYPE103 20.130 Support for APAR PQ61349.
TYPE108 20.032 Timestamps DOMBTIME/DOMETIME incorrect.
TYPE110 20.102 CICSJOUR was incorrect for CICS/ESA 4.1, 5.1.
TYPE110 20.108 Doc: Variable UOWTIME may look wrong, but it's okay.
TYPE110 20.200 Support for CICS Transaction Resource Class new data.
TYPE110 20.225 Support for CICS APAR PQ63143 changes to 110-2 stats.
TYPE110 20.293 UNKNOWN STID=115 messages should not exist.
TYPE119 20.085 Subtype 3 caused INVALID DATA, now corrected.
TYPE119 20.267 TSIPxxxx variables wrong in TYPS11905, other fixes.
TYPE120 20.029 Lower case "f" in DBCS variables changed to blank.
TYPE120 20.066 Datasets TYP120JC/JI were not sorted to PDB by _S120.
TYPE120 20.204 Support for SMF 120 subtype 7 and 8 WebSphere 4.0.1.
TYPE26J2 20.101 Support for JES "Z2 Mode" (INCOMPATIBLE JESNR).
TYPE26J2 20.149 TIMEBILD now uses correct SYSxxxx for time conversion
TYPE26J3 20.101 Support for JES "Z2 Mode" (INCOMPATIBLE JESNR).
TYPE28 20.316 Support for Tivoli Netview NPM 2.7 SMF 28 records.
TYPE30 20.082 Support for z/OS 1.3 (COMPATIBLE).
TYPE30 20.101 Support for JES "Z2 Mode" (INCOMPATIBLE JESNR).
TYPE30 20.197 JOB=JES2 blank READTIME caused INVALID READTIME msg.
TYPE30 20.310 TYPE30TD now has subtypes 2, 3, and 4 output.
TYPE30 20.330 New CSTORE30,ESTORE30 variables in TYPE30_4,_5,_V.
TYPE42 20.082 Support for z/OS 1.3 (MXG Change Required).
TYPE42 20.129 Support for APAR OW54007.
TYPE42 20.134 S42DSBUF was incorrect, buffer type wrong.
TYPE42 20.182 SMF42NRS, JPF,JPE,JNF,JNE documentation wrong.
TYPE6 20.101 Support for JES "Z2 Mode" (INCOMPATIBLE JESNR).
TYPE64 20.212 Support for APAR OW56162 new SMF 64 CATALOG UPDATE.
TYPE70 20.043 Support for z800 2066 CPUs at OS/390 R2.8-2.10.
TYPE70 20.046 PCTCPUBY etc wrong with WLM IRD controling CPUs.
TYPE7072 20.089 Variable MSU72 created in TYPE72/TYPE72GO.
TYPE7072 20.140A Values in SMF70CSF,ESF now correct, IBM doc wrong.
TYPE7072 20.169 Variable SMF70LAC (4-hr MSU) added to TYPE70PR
TYPE7072 20.274 Support for APAR OW56739, RMF 72 subtype 3.
TYPE7072 20.307 Errors in TYPE72GO (MXG 20.08-20.09 only) corrected.
TYPE71 20.259 Medium Impact Frames ESFRMExx are now input in order.
TYPE72GO 20.045 Variable VALDSAMP now reset to equal R723CTSA.
TYPE72GO 20.069 Support for APAR OW52227 (Active Appl State) for WLM.
TYPE73 20.096 SMF73ACR='CFS' TYPE73 obs had PCHANBY missing.
TYPE73 20.172 Variables PCHANBY/PNCHANBY/PBUSBY carried forward.
TYPE73 20.240 PCHANBY/PNCHANBY mising with SMF73CMG=0.
TYPE74 20.116 Support for type 74 subtype 7 FICON data.
TYPE74 20.205 Support for z/OS 1.4 (COMPATIBLE), minor change
TYPE74 20.213 Support for APAR OW52396 (no change) SMF 74-7 FICON.
TYPE74 20.241 Support for APAR OW55968 (R744SST 4 to 8-byte).
TYPE78 20.050 Domain Error in 78 IOP corrected.
TYPE78 20.077 Using TIMEBILD, STARTIME was converted twice.
TYPE78 20.235 Support for APAR OW54010 Large Virtual Memory (>2GB).
TYPE79 20.083 Domain Error in 79-12, new CMG data now DIF()'d.
TYPE79 20.205 Support for z/OS 1.4 (COMPATIBLE), minor change
TYPE79 20.274 Support for APAR OW56739, RMF 79 subtype 3.
TYPE79 20.325 TYPE792 was incorrectly deaccumulated.
TYPE80A 20.010 Support for Top Secret V.2.
TYPE80A 20.218 Support for UID/HOME/PROGRAM OMVS/USS RACF fields.
TYPE80A 20.226 Example of RACF Filtering with TYPE80A and MACJBCK=.
TYPE90A 20.125 Support for type 90 subtype 32 (don't use TYPE90).
TYPE90A 20.281 VERSN90 is binary in some subtypes, was EBCDIC.
TYPE91 20.097 Domain Error in SMF91SDI/SDO corrected.
TYPE94 20.080 SMF94VLS now contains characters, new SMF94VLC.
TYPE94 20.206 Support for SMF 94 subtype 2 and subtype 1 new stuff.
TYPE94 20.265 SMF 94 FC4001 undocumented fields caused wrong value.
TYPE94 20.283 SMF 94 Subtype 2 now heuristically decoded.
TYPEAIX 20.091 Enhanced AIX PTX (Performance ToolBox) adds obj/vars.
TYPECIMS 20.138 CIMSDBDS DBDORG='00'X no longer output.
TYPECIMS 20.306 No observations in CIMSDBDS after Change 20.138.
TYPECPOD 20.230 Support for Control-D "POD" User SMF record.
TYPECSF2 20.231 Support for Control-D "SF2" User SMF record.
TYPEDB2 20.173 QWAXvvvv variables shouldn't be used, but now valid.
TYPEDB2 20.195 DB2 QWACAWTK/M/N/O/Q ARNK/M/N/O/Q etc missing/wrong.
TYPEDB2 20.210 DB2 V6 variables QWACARLG & QWACAWLG were missing.
TYPEDB2 20.222 Negative DB2SRBTM with DB2 V7 forced back to missing.
TYPEDCOL 20.171 Variable DCDRECFM decodes FBA or VBA Record Formats.
TYPEEDGR 20.331 Support for DFSMSrmm Extended Extract 'X' records.
TYPEEMCS 20.165 Support for EMC's Catalog Solution user SMF record.
TYPEESPH 20.318 Support for Cybermation's ESP Product JOBHIST file.
TYPEHURN 20.248 Overlooked HU47xxxx and HU49xxxx variable input.
TYPEIDMS 20.237 Circumvention for IDMS Version 1500, no new data yet.
TYPEIDMS 20.304 Support for IDMS V1500 new subtypes 13, 14, 15.
TYPEIMSA 20.021 Syntax error. Two %%VMXGTIME( should be %VMXGTIME.
TYPEIPAC 20.014 Support for Mobius RDS InfoPac Subtypes 6 and 7.
TYPEMPLX 20.141 Support for IMPLEX Version 2.1 has been coded.
TYPEMVCI 20.263 Support for BMC MVCICS 5.6, fix for 5.5 CMRDETL data.
TYPENDM 20.211 NDM/Connect Direct writes invalid SMF record.
TYPENPIP 20.070 Support for new IBM Product NPM/IP monitor SMF.
TYPENSPY 20.305 Support for NetSpy Version 6 subtypes G,H (COMPAT).
TYPENTSM 20.100 Support for Citrix process record.
TYPENTSM 20.132 Support for NTSMF File System Collector. NT DCOLLECT!
TYPENTSM 20.144 PROCESS object POOLxxxx,HANDLES were wrong.
TYPENTSM 20.156 Support for NTSMF 2.4.4, MODULE Object, Disk percents
TYPENTSM 20.176 Support for Oracle and Analysis Server NTSMF objects.
TYPENTSM 20.276 Support for MS E2K SP3, XP Prof, new vendor objects.
TYPENTSM 20.286 MicroSoft added instance names for SMF objects.
TYPEOMCI 20.234 Support for Candle Omegamon for CICS V520 User SMF.
TYPEOMVT 20.189 Candle OMEGAMON/VTAM Release 5.2.0 IRNUM=27 corrected
TYPEOPC 20.321 IBM's OPC Log causes INVALID ARGUMENT TO FUNCTION....
TYPEORAC 20.007 Support for Oracle OSDI format (8.1.7) (INCOMPAT).
TYPEORAC 20.111 Oracle OSDI Subsystem Name text externalized.
TYPEQACS 20.004 JBCPU/JBTCPU wrong in QAPMJOBM, IBM doc is wrong.
TYPEQACS 20.078 AS400 4.5.0 INVALID data, 5.1.0 JBEDBC/JBTDCB fixed.
TYPEQACS 20.260 Support for AS/400 5.2 Collection Services (INCOMPAT)
TYPEQACS 20.295 AS/400 CPU times merged in optional QACSCPU dataset.
TYPERMFV 20.334 Numerous enhancements/corrections to RMF III support.
TYPESAMS 20.192 Support for SAMS:VANTAGE 3.2.0 OBJ=POOLS record.
TYPESASU 20.236 Variable SASPROD, SAS Product Name, now kept.
TYPESRMH 20.317 Security Resource Manager for MVS V2.3 correction.
TYPESTC 20.088 Support for St. 27/28/29 of STK HCS/VSM records.
TYPESTC 20.220 STC28TIM in STCVSM28 from STK User SMF was wrong.
TYPESTC 20.242 STK HSC Subtype 29 INPUT STATEMENT EXCEEDED error.
TYPESYNC 20.309 Support for SYNCSORT for z/OS 1.1 SMF record.
TYPETAND 20.106 Support for G06/G08 TANDPROC LRECL=442 (INCOMPAT).
TYPETAND 20.250 Support for Tandem G07 new data, fix TANDPROC G06.
TYPETMDB 20.095 TMON/DB2 Timestamps wrong if GMT Offset is nonzero.
TYPETMDB 20.139 Landmark TMON/DB2 datetimes wrong if GMTOFF GT 0.
TYPETMDB 20.161 Support of ASG-Landmark TMON/DB2 Version field 3.2.
TYPETMO2 20.072 Support for TMON/CICS TCE 2.1 (INCOMPATIBLE).
TYPETMO2 20.140 Landmark TMON/CICS datetimes wrong if GMTOFF GT 0.
TYPETMO2 20.187 MONITASK variables STORVIOL/ABNDMONI weren't created.
TYPETMO2 20.253 Support for ASG-Landmark TMON/V2.1 TH01595 (COMPAT)
TYPETMO2 20.335 Support for ASG/TMON CICS V2.2 INCOMPATIBLE.
TYPETMVS 20.201 Support for ASG-Landmark TMON/MVS V3 (INCOMPATIBLE).
TYPETNG 20.028 Support for CA TNG for Windows 2000.
TYPETNG 20.062 STARTIME in TNG datasets was an hour early.
TYPETNG 20.092 Support for many new TNG Platforms (SOL, AIX) etc.
TYPETNG 20.180 TNG Start Hour defaults to zero, externalized.
TYPETPMX 20.208 TYPETPMX variable SPACE renamed to SPACERQ.
TYPEVIOP 20.216 INPUT STATEMENT EXCEEDED with VIO PLUS SMF record.
TYPEVMXA 20.081 z/VM MONWRITE DATABYTE=0 caused MXG to stop reading.
TYPEXAM 20.315 Support for Velocity Software's ESAMON VM Monitor 3.2
TYPSMQM 20.188 Example member to read //SMF to create all MQM data.
TYPSTHST 20.202 Support for BMC's Mainview for DB2 THRDHIST file.
TYPSTHST 20.245A MACRO _THRDHST should have INFILE THRDHIST, not SMF.
UNIXSAR 20.314 Enhancements to process unix sar command output.
UTILBLDP 20.013 Enhancement, examples for only RMFINTRV, JOBS.
UTILBLDP 20.329 Enhancement if BUILDPDB=NO is specified.
UTILEXCL 20.008 UTILEXCL caused ASUMUOW to fail, missed IMS data.
UTILEXCL 20.040 Tests IF SEGLEFT GE CMODLENG now IF SEGLEN GE nn.
UTILEXCL 20.074 Excluded fields from multiple CICS versions support.
UTILEXCL 20.084 Final (?) cleanup covers all reported optional data.
UTILEXCL 20.118 Support for CANPROD2/CANPROD3 optional CICS data.
UTILEXCL 20.148 Support for multiple CMODNAME,CMODHEAD='USER' fields
UTILEXCL 20.223 USERCHAR variable generated wrong INCLUDE post 20.148
UTILEXCL 20.256 Major UTILEXCL enhancement, MCTSSDCN/DRL DO grouping.
UTILRMFI 20.162 Revised to use identical arguments as %VMXGRMFI.
VGETDSN 20.035 New utility to get DSNAME, can allocate next GDG.
VGETJESN 20.190 "Z2" Jnnnnnnn JESNR support protects SMF 6 record.
VGETJESN 20.326 Type 30s with JCTJOBID='INTnnnnn' protected.
VMAC115 20.288 Support for MQSeries V5.3 (COMPATIBLE) new data.
VMAC116 20.288 Support for MQSeries V5.3 (COMPATIBLE) new data.
VMAC7072 20.272 Zeroed MSU variables from old S/390 are now non-zero.
VMAC80A 20.257 Message VMAC80A.WARN. MORE DTP... revised, 15 kept.
VMXGFOR 20.327 All %VMXGFOR were removed, to avoid a SAS zap.
VMXGINIT 20.278 %UPCASE added by 19.295 was dropped in 20.019
VMXGINIT 20.296 Macro variables &TRNDIN,&TRNDOUT defined for TREND.
VMXGRMFI 20.017 OPTIONS OBS=0 could cause errors.
VMXGRMFI 20.079 Mismatch now reports all INn status variables.
VMXGSUM 20.017 OPTIONS OBS=0 could cause errors.
VMXGSUM 20.094 SORTEDBY= added to Output VMXGSUM dataset.
VMXGSUM 20.142 SORTEDBY= filed if dropped variable only in SUMBY=.
VMXGSUM 20.238 Documentation: Don't use TEMP01 with %VMXGSUM.
WEEK70PR 20.199 Typo SAT.TYPE70PR read twice, FRI not read.
WEEKBLD 20.094 SORTEDBY= added to WEEKLY PDB datasets
Inverse chronological list of all Changes:
NEXTCHANGE: Version 20.
====== Changes thru 20.341 were in MXG 20.20 dated Feb 5, 2003=========
Change 20.341 Support for APAR OW57396 adds two flag fields, SMF22CYS
VMAC22 and SMF22PCY to the TYPE22_A dataset (the APAR calls the
Feb 6, 2003 two fields SNSSDST3 and SSCBDVC4, to describe the reason
for the state-change interrupt during FlashCopy.
Thanks to Susan Greenlee, IBM, USA.
Change 20.340 Summarized RMFINTRV data (for example, RMFINTHR from 15
RMFINTRV minute RMFINTRV data) will have a high value for MSU4HRAV
Feb 6, 2003 in any interval that crosses an IPL. The interval will
have a DURATM considerably smaller than your requested
hour summary, so these intervals can be detected/deleted
by testing for DURATM less than your summary interval
This is an MXG coding error, only in RMFINTHR; the
ASUM70PR and ASUMCEC data is correct across an IPL
(but note that MXG keeps history, and uses those
prior hours, IBM's SMF70LAC starts new with each
IPL, so "correct" is in the eyes of the beholder).
and I will eventually take time and figure out how to
correct the logic, but not right now!
Jun 9 2003: See Change 21.094.
Thanks to Craig Collins, State of Wisconsin, USA.
Change 20.339 Support for MainView TCP/IP SMF record with many datasets
EXMVTPA and almost all of them are wrong; the only documentation
EXMVTPC available was the sample SAS code from BMC, and it was
EXMVTPD restructured into MXG source format, labeled, etc., and
EXMVTPF then the test records were examined, only to find that
EXMVTPH the data and sample code do not agree.
EXMVTPI If you are interested in this support, please contact me,
EXMVTPN send me your current SMF records, and I will pursue the
EXMVTPO actual DSECT documentation so I can rewrite the support.
EXMVTPP And since I could not validate the new support, there may
EXMVTPR be variable names in conflict with existing MXG names
EXMVTPS that may need to be changed.
EXMVTPT But at least the structure and contents of all of the 14
EXMVTPU new datasets is complete!
EXMVTPV
IMACMVTP
TYPEMVTP
TYPSMVTP
VMACMVTP
VMXGINIT
Feb 6, 2003
Change 20.338 All ADOCxxxx members were programatically updated with
ADOCs all variables created by MXG 20.10, but all existing
Feb 6, 2003 comments and descriptions (manually made) are preserved
by a slick utility program Freddie developed to read the
old and merge in the new (and by agreed syntax standards
in the ADOCs structure, so his program works!).
Thanks to Freddie Arie, TXU, USA.
Change 20.337 Using example 4 in UTILEXCL, which reads CICS records to
UTILEXCL create and write member IMACEXCL to your USERID.SOURCLIB
Feb 5, 2003 tailoring library, writing to this DD statement:
//IMACEXCL DD DSN=MXG.USERID(IMACEXCL),DISP=SHR
then the example reads that IMACEXCL member from that
dataset, using %INCLUDE SOURCLIB(IMACEXCL); from this DD:
//SOURCLIB DD DSN=MXG.USERID,DISP=SHR
// DD DSN=MXG.SOURCLIB,DISP=SHR
resulted in an UNDETERMINED SAS I/O ERROR and a SYSMSG
entry "OUT OF EXTENTS", with both SAS V8.2 and V9.0, but
only when:
the USERID.SOURCLIB was extended into another extent
by the writing of the IMACEXCL member to the PDS.
Breaking the example into two MVS steps did not fail; the
IMACEXCL member was read correctly from the extended-PDS
in the second step. While this will ultimately be fixed
by SAS (I hope!), if you use this technique of writing to
your USERID.SOURCLIB, you should make sure it has a large
primary, and compress it after each run, to avoid this
exposure.
That same error message is also documented in NEWSLTRS
for a completely un-related problem: if you have your
datasets in your //SOURCLIB concatenation that are
mixed PDS and PDSE source libraries.
Only all-PDS libraries is guaranteed to be error free!
The error will be discussed with SAS Institute, and this
note will be revised if a correction becomes available.
No code change was made; documentation only.
Thanks to MP Welch, SPRINT, USA.
Change 20.336 Support for DB2 Trace IFCID=247 (SMF 102 subtype 247) now
VMAC102 populates the trace variables in dataset T102S247.
Feb 2, 2003
Thanks to Terry L. Berman, DST Systems, USA.
====== Changes thru 20.335 were in MXG 20.12 dated Feb 2, 2003=========
Change 20.335 Support for ASG/Landmark TMON for CICS/ESA Version 2.2.
VMACTMO2 INCOMPATIBLE, causing INPUT STATEMENT EXCEEDED errors:
Feb 2, 2003 -Field inserted in 'TP' record header and sub records.
-Field inserted in 'TR' record header.
-Field inserted in 'TK' record header.
-Field inserted in 'TS' record header.
-Field inserted in 'T2' record header.
-Field inserted in 'TM' record header.
-Field inserted in 'TN' record header.
-Field inserted in 'TT' record header.
-Field inserted in 'TX' record header.
-Fields inserted and removed in 'TA' record.
-Some overlooked $CHAR fields are now formatted $HEX.
-Useful new MQSERIES counts/duration variables are created
in MONITASK dataset.
Change 20.334 -ZRBDVT kept twelve accumulated start and end values which
VMACRMFV are unneeded and are now dropped; the delta values are in
Feb 2, 2003 the six variables PENDTM DISCTM CONNTM DVBUSYTM CUBUSYTM
Feb 3, 2003 and SWPODLTM. The _SZRBDVT now actually sorts vice copy.
-ZRBGEI kept four accumulated start and end values which
are unneeded and are now dropped; the delta values are in
new variables GEIESPM and GEIESPR. OS/390 set several GEI
fields reserved, causing CPUWAITM to be zero and PCTCPUBY
to be missing. The PCTCPUBY is in dataset ZRBCPU.
-Variable ASIAUXSC is now divided by sample count, and the
_SZRBASI now actually sorts vice copy.
-ENCG3 record with RDW=804, DEO=@296 DEL=608 caused INPUT
STATEMENT EXCEEDED RECORD ERROR and is now protected, but
it was caused by using ASMRMFV program earlier than MXG
20.02, which corrected Enclave support. No-longer-needed
triplet variables are no longer kept.
-All _SZRBxxx macros now PROC SORT their dataset to PDB
(most just had a Data step) because their _BZRBxxx macro
now have BY-list variables of SYSPLEX SYSTEM SSHTIBEG and
possibly more.
Thanks to Betty Wong, Bank of America, USA.
Thanks to John Gebert, Office Depot, USA.
Change 20.333 Using READDBw with IFCIDS=ALL is strongly disrecommended,
READDB2 as it requires massive virtual storage and compile time
Jan 31, 2003 to generate the data step for all 300+ DB2 trace records,
and you could never have all those IFCIDs enabled; if you
did, you'd be running an SMF stress test, not a DB2 test!
but now, IFCIDS=ALL will compile correctly; Change 20.270
introduced syntax errors when IFCIDS=ALL was used.
Additionally, IFCIDS= 1 2 are now supported as arguments
(although they are redundant with ACCOUNT).
Thanks to John Gebert, Office Depot, USA.
Change 20.332 -IMAC6ESS: Support for optional ESS variables from OUTPUT
FORMATS statements, including the USERDATA= field, which can be
IMAC6ESS used: USERDATA=(ACCT=123456) to set accounting fields
VMAC6 for each OUTPUT statement, new variable ESSUSDAT, plus
Jan 31, 2003 less-important variables ESSTRC, ESSDATCK, ESSCHARS-4,
Feb 3, 2003 ESSUCS and ESS0013 for undocumented IEFDOKEY='0013'x.
Feb 4, 2003 Protection added if more than four ESSCHARn fields are in
the SMF record.
-VMAC6: Variable BINUSED='00'X is set for non-PSF type 6
records; all BINxxxxx fields only exist in APF-PSF data.
-FORMATS. Variable BINUSED's format MG006BN was updated
for bins 3,4 and combo's of bins, "NOT PSF" for '00'x.
Thanks to Ricke Godehard, Itellium, GERMANY.
Change 20.331 Support for DFSMSrmm Extended Extract Data Set Records,
EXEDGRX which are written as EDGRTYPE='X', along with the other
IMACEDGR records, by IBM's EDGHSKP program to a flat file that is
VMACEDGR read by MXG from the INFILE name of EDGHSKP. The new 'X'
VMXGINIT record creates new EDGRXEXT dataset with all variables
Jan 30, 2003 from the 'V' volume record (MXG dataset EDGRVEXT) and all
of the variables from the 'D' dataset record (MXG dataset
EDGRDEXT); now that I've written the code to create the
new dataset from the new X record, I realize I could have
instead created it simply by MERGEing the EDGRVEXT Volume
and EDGRDEXT Dataset MXG dataset, since the X record is
completely redundant with the V and D records. IBM added
the 'X' record with APAR OW47651, June, 2001.
Thanks to Donald P. Ludwig, United Health Care, USA.
====== Changes thru 20.330 were in MXG 20.11 dated Jan 30, 2003=========
Change 20.330 Useless MSO-based variable PAGESECS (SMF30PSC):
BUILD005 the CPU-TCB-only-based memory occupancy page-seconds,
BUIL3005 the soon to be useless variable RESESFTP (SMF30ERS):
VMAC30 active-time-based expanded memory storace occupancy,
Jan 30, 2003 and the very useful variable IARVPSEC (SMF30PSF):
active-time-based central memory storage occupancy
were all 2.4% too low; IBM now documents them as being in
'page-milliseconds - 1.024 milliseconds', but MXG had
used 1000 rather than 1024 in its internal conversion.
This change creates new CSTORE30 and ESTORE30 variables
with the average storage occupancy size in bytes, for the
TYPE30_4, TYPE30_5, TYPE30_6, and TYPE30_V datasets, and
those new variables are also propagated into the dataset
PDB.STEPS and PDB.SMFINTRV if BUILDPDB/BUILDPD3 is run.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 20.329 -With BUILDPDB=NO, and enabling USERADD=6 26 30, and also
UTILBLDP INCLAFTR=BUILD005, macro names generated for input data
UTILRMFI for BUILD005 now knows to get it from //PDB, which is
Jan 31, 2003 where USERADD= stored them. Also, UTILBLDP defaulted to
execute ASUMxxxx members if it found you were USERADDing
their input, even when you specified BUILDPDB=NO. Now,
those ASUMs are generated only with BUILDPDB=YES, so you
would use INCLAFTR=ASUM70PR, to execute only the ASUMs
you want.
-UTILRMFI now prints a report2 even if there is no data;
the report says there was no data. Previously, only a
message to the log was written when there was none.
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Change 20.328 The period in the //TAPETEMP DD was changed to a comma.
JCLWEEKT
Jan 28, 2003
Thanks to Dave Crowley, Blue Cross Blue Shield of Florida, USA.
Change 20.327 All references to %VMXGFOR and %%VMXGFOR were removed in
VMXGFOR all MXG members (except CHANGES/CHANGESS) and the VMXGFOR
Jan 28, 2003 member remains for historical interest! This %MACRO has
the value "FORCE" in SAS V6 and later, and was blank in
SAS V5. In SAS V6, SAS chose to prevent a SORT which had
the same input and output dataset names when the option
OBS=N (rather than =MAX) was in effect (so that a dumb
user didn't replace a million obs dataset with only N
obs), but then initially provided the FORCE option so you
could override that choice. Because using OBS=N is smart
for testing (so you don't have to read the whole file),
MXG added %VMXGFOR to all PROC SORTs to permit it. And
then SAS made the original behavior the default with a
6.07 zap, but MXG users didn't have to install the zap,
since %VMXGFOR permited the sorts with OBS=N anyhow.
Now, a new 0C4 error in SAS has occurred in the handling
of the autocall for %VMXGFOR in SAS V8.2, and SAS note
SN-009297 documents the problem that will be corrected,
but by removing the FORCE option from all 282 members,
the autocall is avoided, and you won't have to install
the SAS fix when its available.
Change 20.326 Type 30 records from OS/390 R2.10 with JOB='INIT' have an
VGETJESN undocumented and unexpected value of JCTJOBID='INTnnnnn';
Jan 28, 2003 JCTJOBID='STCnnnnn' is the expected value of SMF30JNM.
This unexpected prefix caused MXG to set TYPETASK='INT '.
The logic to set TYPETASK was changed to recognize these
values and set TYPETASK='STC ', and additional protection
for future undocumented values of JCTJOBID was added.
Thanks to Roger P. Martens, International Truck and Engine Corp, USA.
Change 20.325 TYPE792 was incorrectly deaccumulated, as there are many
VMAC79 repeated entries with same JOB (R792JBN); added ASID to
Jan 24, 2003 separate in the SORT and in the IF FIRST. logic. This
problem was only seen for OMVS jobs. Same change made in
TYPE791 just because it was also sorted by R791JBN.
Thanks to Stan Dylnicki, RBC, USA.
Change 20.324 Almost cosmetic; semi-colons were added after each of the
DOC _Edddddd exit invocations. In general, not required, but
Jan 24, 2003 their existence can be exploited in members that generate
code (BLDNTPDB, READDB2), and it was my intention to have
them always present, even if unneeded.
Change 20.323 Using RUNDAY=YES,RUNWEEK=YES,RUNMNTH=YES,RUNNTINT=NO
BLDNTPDB caused errors, attempting to create NTINTRV, even though
VMACNTSM RUNNTINT=NO. TRNDNTIN was initialized and fixed. The
Jan 23, 2003 KEEPERS= logic was revised.
Jan 28, 2003 -VMACNTSM did not have the normal semicolon after each of
the _Edddddd exit macro invocations, which are required
only if you re-define those exits (as is done in this
case by BLDNTPDB), and a dataset label was respelled.
Thanks to Fiona Benoist, UFI Limited, ENGLAND.
Thanks to Chris Morgan, UFI Limited, ENGLAND.
Thanks to Terry Heim, ECOLAB, USA.
Change 20.322 The PROC FREQ failed if &OUTDETAL was specified; a test
ANALCNCR for &OUTDETAL now uses DATA=&OUTDETAL when that option is
Jan 22, 2003 specified.
Thanks to Kris Ferrier, State of Washington, USA.
Change 20.321 IBM's OPC Log data causes: INVALID ARGUMENT TO FUNCTION
IHDROPC error messages followed by INVALID MTD SUBTYPE. IBM has
VMACOPC changed their data, but no OPC site has yet been able to
VMXGINIT get IBM to provide the DSECTS for the MTD sub-segment,
Jan 17, 2003 which is part of the TRLRCTYP=24 "MCP EVENT" OPC record.
Fortunately, since neither site needed the datasets built
from that OPC record, they just deleted that record and
were able to continue using OPCLOG for their purposes.
This change creates the IHDROPC "OPC LOG Header Exit"
member (and &MACOPCH macro variable) so that you can
delete the TRLRCTYP=24 records in the exit or instream.
In member IMACOPCH, use IF TRLRCTYP=24 THEN DELETE;
Or instream, after your //SYSIN, you would use:
%LET MACOPCH=%QUOTE( IF TRLRCTYP=24 THEN DELETE; );
Thanks to Andrew Phillip Davis, Abbey National, ENGLAND.
Change 20.320 ASMTAPES/MXGTMNT is healed in ML-27. Option XMEM=OFF now
ASMTAPES elimimates the increase CPU time cause by fast VTS mounts
TAPEVENT (that caused 0E0 ABENDs because the job was already gone)
Jan 20, 2003 by elminating the cross memory call. This permits the
MXGTMNT monitor to be run at 0.1 seconds with minimal CPU
ML-19 @2 sec 1.36 sec/hr ML-27 @2 sec 1.8 secs/hr
ML-27 @.5 sec 6 sec/hr ML-27 @.1 sec 28.5 sec/hr
Feb 5: Do not use //EXCLUDE DD statement; causes 0C4,
awaiting dumps to examine. No other problems
have been reported. At 0.5 seconds interval,
the monitor takes less than 1 second per hour
when there are no tape mounts on that system.
Change 20.319 VGETJESN erroneously set TYPETASK='JOB' for OMVS tasks,
BUILD005 instead of TYPETASK='OMVS', causing OMVS TYPE30_1/_4/_5s
BUIL3005 to be sent to SPIN, instead of being written to the PDB
VGETJESN (OMVS type 30s have no 6s nor 26s to match), causing the
Jan 15, 2003 SPIN library to increase in size.
VGETJESN now sets TYPETASK='OMVS' if SUBSYS='OMVS', even
though those OMVS data have JCTJOBID='JOBnnnnn'.
Fortunately, these type 30 step records for OMVS tasks
are rarely important; if you do nothing, these records
will be output into your PDB library in SPINCNT days.
To remove the OMVS records from your SPIN library and to
thus prevent further growth, you can use the IMACSPCK
tailoring member to set OKFLAG=1 for these OMVS jobs.
In the SPIN30_1 and SPIN30_4 datasets, variable SUBSYS
exists and can be tested for 'OMVS', but you will need to
examine variable RACFGRUP in your SPIN30_5 dataset, as it
is the only variable you can use for SPIN30_5 (other than
a large table of JOB names). Then you can put this code:
IF SUBSYS='OMVS' OR RACFGRUP='OMVSGRUP' THEN OKFLAG=1;
in your IMACSPCK tailoring library.
The MXG change-in-error was to support the new JCTJOBID
values in JES "Z2" mode; to further protect OMVS records
from being spun due to any future Merrill error, the two
members BUILD005 and BUIL3005 that hand the OMVS 30s was
redesigned to look for either TYPETASK='OMVS' or for the
SUBSYS='OMVS' value, for added protection.
Thanks to Roger P. Martens, Navistar International, USA.
Thanks to Roger Rush, Navistar International, USA.
Change 20.318 Support for Cybermation's ESP Product's JOBHIST file.
EXESPJHR Dataset ESPJBHIS is created from the INFILE ESPHIST.
IMACESPH
VMACESPH
TYPEESPH
TYPSESPH
VMXGINIT
Jan 14, 2003
Thanks to Jesse Gonzales, The Gap, USA.
Change 20.317 Correction for the Security Resource Manager for IBM MVS
VMACSRMH V2.3, Thales e-security, Host Security Module SMF record.
Jan 14, 2003 Datasets SRMHSMDV and SRMHSMAP did not output repeated
segments, but repeatedly output only the first segment.
Thanks to Russell Dewar, National Australia Bank, AUSTRALIA.
Change 20.316 Support for Tivoli Netview NPM 2.7 SMF 28 changes.
FORMATS -NAC. Eighteen existing variables LNACPT01-LNACPT18 are
VMAC28 now documented and each contains the 3746-900 line
Jan 14, 2003 processor type, now decoded by the new MG028LT format:
Jan 17, 2003 LNACPTnn
value Description
0050X='0050X:CBP (3745-3746/900 LINK)'
0051X='0051X:NNP (APP-Resource)'
0052X='0052X:CLP (SDLC, Frame Relay, X.25)'
0053X='0053X:ESCP (ESCON)'
0054X='0054X:TRP (Token-Ring'
The CPU "NN" value in the MXG label for each of those 18
sets of LNACPxNN variables in the MXG Label is documented
(e.g., LNACPT01='3746-900*LINE*CPU 1*TYPE') and this
table maps the NN value to these line address ranges:
CPU Line Addresses CPU Line Addresses
1 2080-2111 10 2624-2687
2 2112-2175 11 2688-2751
3 2176-2139 12 2752-2815
4 2240-2303 13 2816-2879
5 2304-2367 14 2880-2943
6 2368-2431 15 2944-3007
7 2432-2495 16 3008-2071
8 2496-2559 17 3072-3135
9 2560-2623 18 NNP Processor
-NIT. INCOMPATIBLE inserts of new variables:
NITALIMB='MESSAGE*I-FRAME*BYTES*RECEIVED'
NITALIXB='XID*BYTES*RECEIVED'
NITALOMB='MESSAGE*I-FRAME*BYTES*SENT'
NITALOXB='XID*BYTES*SENT'
NITAPPNI='APPN*DATA'
NITIFSPB='INTERFACE*TABLE*SPEED*BYTES'
NITIFUC ='INPUT*UNICASTS*PACKETS*DLVD HIGHER'
NITIFUTI='PERCENTAGE*TOTAL LINK*CAPACITY*USED'
NITINUC ='INPUT*BCST/MCST*PACKETS*DLVD HIGHER'
NITISLL ='TABLE*STACK*LOW*LAYER'
NITOFUC ='OUTPUT*UNICASTS*PACKETS*DLVD HIGHER'
NITONUC ='OUTPUT*BCST/MCST*PACKETS*DLVD HIGHER'
INCOMPATIBLE in that the NIT variables are trashed by the
inserted fields, but MXG will not fail with the new data;
however, it also will not tell you NIT data is trashed!
-SMC. Scores of new low/high criteria variables are added
(COMPATIBLY, at the end).
-ACD/RCD. The Session Type, LSCDSTYP field, formerly at
offset 006C, is now documented as reserved, but in 2.7
LSCDSTYP still contains known values of session type:
'02'X='02X:3270 RELAY'
'03'X='03X:3270 CONTROL'
'04'X='04X:3270 TRANSIT=DR'
'05'X='05X:3270 TRANSIT=DFC'
'06'X='06X:AGENT SERVER COMMUNICATIONS DATA'
'08'X='08X:APPC PROTOCOL 1'
'09'X='09X:APPC PROTOCOL 2'
'0A'X='0AX:TN3270'
'0B'X='0BX:TN3270=DR'
'0C'X='0CX:TN3270E'
'0D'X='0DX:TN3270E=DR'
(plus a new, undocumented '0007'x value was found once.)
-Jan 17: Logic for LSCDIPPN was corrected, and above 0A-0D
values were added to MG028ST format.
Thanks to Michael H. Thompson, IBM Global Services, USA.
Thanks to Vernon Kelly, IBM Global Services, USA.
Change 20.315 -Support for Velocity Software's ESAMON VM Monitor 3.2 and
EXXAMSTO 3.1 with both YY and YYYY year formats in either release.
EXXAMSTO Restructured CPU, SYS, DEV, and USR records are supported
EXXAMEP1 new fields added to some segments and existing datasets,
EXXAMEP2 and new datasets created for these repeated segments:
EXXAMEP3 SEGMENT DDDDDD DATASET
EXXAMSYC SYTEP1 XAMEP1 XMXAMEP1 EP1
EXXAMVDK SYTEP1 XAMEP1 XMXAMEP2 EP2
IMACXAM SYTEP3 XAMEP3 XMXAMEP3 EP3
VMACXAM SYTCPM XAMSYC XMXAMCPM CHANNEL PATH
VMXGINIT STOVDK XAMVDK XAMSTVDK STO VDK
Jan 12, 2003 SHRSTO XAMSTO XMXAMSTO SHARED DCSS/NCS
Feb 6, 2003 -Support for the TCP file, with IBM TCPIP Monitor records,
and HST and UCD segments for Linux, NT, and HP servers is
nearly ready; contact support@mxg.com for that update.
-The USER data segments SFSAPL and MTSAPL will be decoded
only when someone wants to use that data; I previously
have decoded it from the MONWRITE output, but want a body
to make it worth my while to reuse the old code.
-Support for the default YY date format, or the optional
(if you set XAM PARM Y2K=ON in localesa.write file) YYYY.
Thanks to Tony Curry, BMC Software, USA.
Thanks to Tom White, SPRINT, USA.
Change 20.314 Enhancements to process unix sar command output increase
UNIXSAR the size of some fields that were too short.
Jan 11, 2003
Thanks to Uriel Carrasquilla, NCCI, USA.
Change 20.313 Example graphs of MQ Series SMF116 data; CPU by Region,
ANAL116 Elapsed time by Region, Bytes Get/Put, etc.
Jan 11, 2003
Thanks to Amanda Sumner, Royal Bank of Scotland, SCOTLAND.
Change 20.312 JCL examples to create ASUMUOW using Views or using the
JCLUOWP Batch Pipes product did not create the TIMESTMP variable,
JCLUOWV which caused errors that are corrected by this change,
Jan 11, 2003 which also bypasses and additional pass of both data.
Thanks to Larry Nova, TransAmerica Distribution Finance, USA.
Change 20.311 Utility to create tailored BUILDPDB jobs has new argument
UTILBLDP EXPDBOUT= that lets you insert additional code. The need
Jan 11, 2003 was to copy the TYPE6 dataset to the PDB library, so that
use would be to use the new argument in your UTILBLDP:
EXPDBOUT= DATA PDB.TYPE6;SET WORK.TYPE6; ,
or similar code to copy the dataset in that exit.
It would be wiser to use the _STY6 macro to PROC SORT the
dataset to the PDB library, since that will remove any
duplicate type 6 SMF records, but that macro will also
delete the TYPE6 dataset from the //WORK file, which will
cause BUILDPDB to fail when it tries to build PDB.PRINT
from WORK.TYPE6. If you use this logic:
EXPDBOUT= _STY6 ;
DATA TYPE6 (SORTEDBY= _BTY6); SET PDB.TYPE6; ,
the _STY6 will sort and remove duplicates, and WORK.TYPE6
will be created, marked as sorted, so that the later PROC
SORT in BUILDPDB will be bypassed.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 20.310 Transparent redesign of processing of TYPETMNT/TYPETALO
BUILD005 in BUILDPDB was needed for the planned TAPEVENT program,
BUIL3005 which is still in development, but needed these changes:
VMAC30 -VMAC30 adds subtypes 2/3 interval tape DDs to TYPE30TD
Jan 6, 2003 dataset, and variables SUBTYPE INTBTIME INTETIME and
Jan 17, 2003 DDNAME are now kept in TYPE30TD. Subtype 4s are needed
by BUILDPDB now, and the 2/3s will be used later.
-BUILDPDB's now selects only subtype 4's in its PROC SORT
of dataset TYPE30TD, as the existing logic expects.
Change 20.309 Support for SYNCSORT for z/OS 1.1 User SMF (COMPAT).
VMACSYNC Five new variables are added, and two two-byte block
Jan 6, 2003 size of sortin and sortout are replaced by four-byte
fields, using the existing +36 bytes at end of record.
A new one byte SYNCHDB2 flag and reserved byte are input,
replacing variable NRWRKUSE, Number of Work Units Used,
which will now be missing with the new version. And the
new SYNCLVL value is 1.1 for this version, the previous
version was 3.7, making for less than elegant logic!
Thanks to Chuck Hopf, MBNA, USA.
Change 20.308 Variable ATTRQUAL was changed from LENGTH $8 to $24, as
VMACSOLN it can be longer than the original 8 byte length.
Jan 6, 2003
Thanks to Andy Creet, Department of Defence, AUSTRALIA.
=======Changes thru 20.307 were in MXG 20.10 dated Jan 03, 2003=========
Change 20.307 Change 20.274 (OW56739) was flawed, causing INVALID DATA
VMAC7072 FOR CPUHPTTM, EXETTM .. messages, and creating invalid
Jan 2, 2003 values in some observations in TYPE72GO dataset (only for
periods 2 and higher, and only if LENSCS was GE 488). The
code after IF LENSCS GE 488 THEN DO; should have INPUT
only R723PLSC field. Change 20.274 erroneously had four
additional fields that had been copied from earlier code.
Thanks to David Klein, City of New York, USA.
Change 20.306 Change 20.138 caused almost no observations in CIMSDBDS
VMACCIMS dataset; the correct test for output should have been:
Jan 2, 2003 IF NOT (DBORG EQ '00'X AND FLGOVERF EQ '00'X ) THEN DO;
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 20.305 Support for NetSpy Version 6.0 new subtypes 'G' and 'H'
EXNSPYIN create new datasets:
EXNSPYUD DATASET DDDDDD Subtype Description
IMACNSPY NSPYUDP NSPYUD G UDP Connections
VMACNSPY NSPYINTR NSPYIN H Interface
VMXGINIT However, the "H" Interface records are invalid, with only
Jan 2, 2003 76 bytes in each segment (while 176 is documented and is
the length field in these bad records). MXG will detect
and delete the invalid records, printing a note on the
SAS log. A problem will be opened with CA Support.
Thanks to Chris Selley, Zurich Finaincial Services, ENGLAND.
Change 20.304 Support for IDMS V1500 new subtypes 13, 14, and 15 create
EXIDMXLI new datasets:
EXIDMXLK DATASET DDDDDD Description
EXIDMXMS IDMSXLI IDMXLI DSG XESLOCK WAIT
IMACIDMS IDMSXLK IDMXLK DSG XESLIST WAIT
VMACIDMS IDMSXMS IDMXMS DSG XCFMSG WAIT
VMXGINIT
Dec 30, 2002
Thanks to Gilles St-Amand, DGSIG, Province of Quebec, CANADA
Change 20.303 This utility constructs DB2 GTF trace segmented records
UDB2GTF into legitimate variable length records, but printed the
UDB2GTFA "LOST EVENT" messages on the log.
Dec 30, 2002 -Member UDB2GTF only works on EBCDIC SAS (z/OS, etc).
-The new UDB2GTFA member works on ASCII SAS, if that's
where your DB2 trace records are downloaded.
Thanks to Ron Alterman, PGE, USA.
Change 20.302 Mostly cosmetic.
ANALUAFF -ANALUAFF (Unit Affinity Candidates analysis) needed an
ANALSRVC end comment in line 6.
Dec 30, 2002 -ANALSRVC replaced "compiler fakers" with ARRAYs statement
to initialize variables.
Thanks to Bruce Widlund, Merrill Consultants, USA
Change 20.301 This archaic member was replaced by VMXGTIME, but it had
VMXGGMT typo's corrected and comments updated to steer you to use
Dec 29, 2002 the VMXGTIME to convert timestamps between time zones.
Thanks to David Klein, DOITT - City of New York, USA.
Change 20.300 SAS Version 9 has tightened syntax validation, and found
VMACLMS these MXG syntax violations that were tolerated by V8.2:
VMACNTSM -VMACNTSM variable DUMMYFLD was LENGTH $32 but was also in
Dec 23, 2002 (incorrectly) INFORMAT 16.2 - error raised on the 16.2.
-VMACLMS had two instances of ELSE ELSE corrected.
-Many NOTES: 49-169 The meaning of an identifier .... that
won't go away until there's a V9 maintenance release.
=======Changes thru 20.299 were in MXG 20.09 dated Dec 20, 2002=========
Change 20.299 -Member ANALALL, which selects and prints all SMF records
ANALALL for a job is enhanced to include all user SMF records,
Dec 20, 2002 and some new SMF records added since it was last updated,
and the printing is now done with the %VMXGPRAL utility.
-Member VMACHSM now include member IMACJBCK, which is the
member that permits selection of SMF job-related records.
Thanks to Ronald Lundy, AHOLD, USA.
Change 20.298 The macro override in the MACKEEP= for LDCOVOL had the
DAILYDSN dataset name spelled wrong; the statement should be:
Dec 18, 2002 MACRO _LDCOVOL DATASETS.DCOLVOLS %
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.297 This enhancement adds SYSTEM and SYSPLEX to the criteria
VMXGRMFI that can be used to define RMFINTRV's workloads.
Dec 18, 2002 If you have the same SRVCLASS name on different systems
that have different meanings in your workload terms, you
can use the new positional arguments to differentiate.
(The old IMACWORK gave you access to write code for this,
but it is limited to only 15 workloads.)
Two new sections are added to the WORKx= macro arguments
(that you would tailor in the VMXGRMFI invocation in your
RMFINTRV member in your USERID.SOURCLIB).
The syntax to defina a workload now is:
WORKx=varname/label/pgn(s)/srvclass(s)/periods/system(s)/sysplex(s)
-varname is used as the first 4 characters of the name of
your workload variables
-label is the first line of the workload variable labels
-pgn(s) is a list of one or more performance group numbers
to sum into this workload (COMPAT MODE only).
-srvclass(s) is a list of one or more service or reporting
classes to sum into this workload (GOAL MODE only).
-periods is the number of periods in the workload
-system(s) is a list of one or more systems whose srvclass
or pgn will be summed into this workload.
-sysplex(s) is a list of one or more sysplexes whose pgn
or srvclass will be summed into this workload.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.296 New macro variables &TRNDIN and &TRNDOUT are defined in
VMXGINIT VMXGINIT and initialized to "TREND", so that the input
Dec 18, 2002 and output TREND libraries can be different. Originally,
I backed up the trend library and then updated in place,
but for restartability products, input and output must
be different. These macro variables can be %LET to your
different DDnames, and your Trend library can be a GDG.
Only TRND23 (Change 20.239) has been updated to use these
macros, but all of the MXG TRNDxxxx members will have
this enhancement.
Macro LSU23 was defined and set to PDB for TRND23.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.295 Investigation of CPU times in AS/400 datasets is enhanced
VMACQACS by new _400CPU and _400PRN macros to summarize and merge
Dec 18, 2002 all of the variables containing CPU time from QACSJOBL,
QACSSYSL, and QACSSYST into new dataset QACSCPU that
includes these CPU-related variables from these datasets:
QACSJOBL: JBCPU JBTCPU JBEDBC
QACSSYSL: SCIFUS SCIFTE SYSSWC
JSCPUTOT (sum of JS/3/1/b/c/d/e/i/m/p/s/CPU)
SCPUSTOT (sum of SCPU01-SCPU32)
NRCPUS (count of nonzero SCPUnn)
PCTCPUBY 100*SCPUSTOT/(NRCPUS*INTSEC)
QACSSYST: SHCPU
(the data in QACSSYSC is a subset of QACSSYSL).
Examination of these CPU times shows that the total CPU
time in SCPUSTOT is very close to JSCPUTOT+SHCPU.
Note that the old calculation of PCTCPUBY in QAPMSYS used
variable SHCPU, but this revision uses the total hardware
busy time (SCPUSTOT, the sum of SCPU01-SCPU32), as it is
clear that SHCPU is nothing close to the total CPU used.
To create the QACSCPU dataset, add _400CPU after you
have built the above datasets in the work file. To then
print the comparison, add _400PRN after the _400CPU
macro invocation.
Cosmetic: MXG 20.08 debug PUTs with COL=17 GDES=XX were
removed.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Thanks to John Gebert, Office Depot, USA.
Change 20.294 VTS activity reports enhanced and updated. A new
ANAL94 selection parameter, SUBREP= to select desired report:
Dec 17, 2002 ALL, PHY, VIR, TAP.
Dec 30, 2002 Dec 30: cosmetic: "compiler fakers" replaced with RETAIN.
Thanks to Wally Danielson, Airborne, USA.
Change 20.293 CICS Stats "UNKNOWN STID=nnn" messages are printed by MXG
VMAC110 to alert us both that IBM has added a new statistics STID
Dec 17, 2002 segment to the SMF 110 subtype 2 record, one that is not
yet supported by MXG, so that I can begin the process of
finding the documentation from IBM and updating MXG for
that new STID. But when the "UNKNOWN STID=115" message
was printed, it took several iterations of customer's
system programmers time to report the problem and send a
record dump, and hours here trying to find documentation
that doesn't exist, and then reinvolvement of the site's
CICS staff to open a PMR with IBM, and then IBM CICS
support technicians time to finally document that:
The STID=115 for Enterprise Java Beans (DFHEJBDS) was
produced by early levels of CICS/TS 2.1 code but then
withdrawn, with the external mappings and documentation
removed, so these records should not be produced by the
currently supported IBM CICS code. (If you are still
getting these records on CICS TS 2.2, you need to raise
a PMR with your CICS support centre.)
This record type may be reinstated in a future release.
This change in VMAC110 bypasses the UNKNOWN STID= message
for STID=115, and documents the STID number!
02Jan03: APAR PQ69408 was opened 24DEC02.
Thanks to Chris Selley, Zurich Financial Services, ENGLAND.
Thanks to Tony Hurlston, Zurich Financial Services, ENGLAND.
Change 20.292 SAS Technical Support provided updated mapping of SAS SMF
ADOCSASU User record's Procedure Names to the SAS Product Name, so
FORMATS the $MGSASPR format was updated with new procedure names,
Dec 16, 2002 and the table in member ADOCSASU was revised.
Thanks to Tom White, SPRINT, USA.
Change 20.291 Support for APAR OW57121 which documents many new SMF 99
FORMATS Trace Code values; format MG099TC was updated.
Dec 16, 2002
Change 20.290 The Management Class Name variable DMCNAME is padded with
VMACDCOL hex zeros, which are now converted to blanks.
Dec 11, 2002
Thanks to Dave Gibney, Washington State University, USA.
Change 20.289 Support for the Workload Manager's WLM Definitions PDS.
REXXWLM The REXX exec contributed by this user will read the WLM
Dec 11, 2002 PDS to extract the names of tables, keys, and variable
names, and the exec then generates the SAS code to read
the PDS to create a SAS dataset for each WLM table.
Thanks to Sam Bass, McLane Company, USA.
Change 20.288 Support for MQSeries V5.3 (COMPATIBLE) new data:
VMAC115 -SMF 115 Subtype 2 MQMMSGDM Data Set new vars:
VMAC116 QISTDLMM='DELETE*MARKED*MESSAGE*REQUESTS'
Dec 9, 2002 QISTENUM='ENUMERATE*SELECT*REQUESTS'
QISTGETB='GETS THAT*GOT MESSAGE*FROM BP'
QISTGETD='GETS THAT*GOT MESSAGE*OFF DISK'
QISTLOMM='LOCK*MARKED*MESSAGE*REQUESTS'
QISTMBLR='RELEASE*BROWSE*LOCK*REQUESTS'
QISTMCNT='MESSAGE*COUNT*REQUESTS'
QISTRABP='READ*AHEADS*FROM*BUFFER*POOL'
QISTRAIO='READ*AHEADS*DOING*I/O'
QLSTGETL='GET*LOCK*REQUESTS'
QLSTHLDL='TIMES*REQUESTED*LOCK*HELD'
QLSTRELL='RELEASE*LOCK*REQUESTS'
And all of the QSST fields that exist in DB2ACCT:
QSSTABND QSSTCONF QSSTCONT QSSTCONV QSSTCRIT QSSTEXPF
QSSTEXPV QSSTFPLF QSSTFPLV QSSTFREF QSSTFREM QSSTFREV
QSSTGETM QSSTGPLF QSSTGPLV QSSTRCNZ
-SMF 116 MQMACCTQ Data Set new vars:
QWHSRN =' RELEASE*INDICATOR'
QWHSACE ='ACE*ADDRESS'
QWHSSTCK='STORE*CLOCK*VALUE OF*HEADER'
QWHSISEQ='SEQUENCE*NUMBER*FOR*IFCID'
QWHSWSEQ='SEQUENCE*NUMBER*FOR*DESTINATION'
QWHSMTN ='ACTIVE*TRACE*NUMBER*MASK'
WQGETPMS='PERSISTENT*GOT BY*MQGET'
WQPUTPMS='PERSISTENT*GOT BY*MQPUT'
WQPUT1PM='PERSISTENT*GOT BY*MQPUT1'
Change 20.287 PROC DELETE DATA=_Wdddddd; syntax for four z/VM datasets
VMACVMXA were overlooked and are now %VMXGDEL(DDDDDD=dddddd); as
Dec 9, 2002 they should have been. The %VMXGDEL is used only for
datasets that are directly sorted from _W to _Ldddddd,
and prevents deletion when _W is equal to _L dataset.
Thanks to Chris Weston, SAS Institute ITRM, USA
Change 20.286 -Three SMS objects were revised to contain Instance Names;
EXNTSQBP variables SMEXNAME in SMSEXTHR, SMIMNAME in SMSINMEM and
VMACNTSM SMSENAME in dataset SMSSENDR are now supported.
Dec 8, 2002 -Dataset SQLBUFMG has new fields and fields deleted.
-New SQLSERVER:Buffer Partition Object supported.
-INPUT STATEMENT EXCEEDED INPUT with MSExchangeIS object
if it had NRDATA=49; MXG logic corrected.
-Antigen Scan object with only NRDATA=12 supported.
Thanks to Jim Quigley, ConEd, USA.
Change 20.285 Using the _NTIMS macro to tailor Landmark IMS processing
VMACTIMS failed; each line of that MACRO definition was missing
Dec 8, 2002 the work MACRO at the start of each line.
Thanks to Michael Gresham, JCPenny, USA.
Change 20.284 Cosmetic cleanup of first MXG 20.08 only:
VMAC119 VMAC119: PUT at line 1794 was deleted.
VMAC110 VMAC110: PUT at line xxxx was deleted.
VMACNTSM VMACNTSM: Labels for DAPASTRT, DBPAFLRT missing quote.
Dec 8, 2002
Change 20.283 SMF 94 Subtype 2 SMF94SOF/SLN/SON triplet is nonstandard,
VMAC94 so it cannot be used to determine how many pool segments
Dec 5, 2002 need to be output to TYPE942P. SMF94SON should be the
Jan 2, 2002 number of repeated segments, but is always 1. SMF94SLN
should be the length of a segment, but it is 1792, the
total length of all 16 possible pools, even when fewer
pools are used. MXG initially used SON, outputting only
the first pool, but the test site knew they had defined
two pools. Their SMF records had an (undocumented) field
S94PPP='...0....'B in the first 2 segments, and had
S94PPP='...1....'B in the other 14 segments, so that test
was added to VMAC94, to only output if that bit was zero,
while awaiting this answer from IBM:
"We consider all pools to be defined, they just may not
be in current use. Other than assuming that a pool
with no logical volumes in it is 'not defined', there
is no way to make that determination. The bits of
SMF94PPP are now described, but they will not help in
determining which pools are defined."
So the heuristic test was removed, and MXG now always
outputs all 16 pool segments to TYPE942P dataset.
These new variables are created from that S94PPP field:
S94PPPRA='RETURNS*ALLOWED?'
Bit 0:
"Y" if borrowed volumes are to be returned to
the common scratch pool when scratched; blank
if borrowed volumes remain in the pool that
borrowed them when scratched.
S94PPPFM='FIRST*MEDIA*TYPE*TO BORROW'
Bits 2-4 converted to a decimal value.
First media type to borrow, if additional
physical scratch volumes are needed by the
pool.
S94PPPSM='SECOND*MEDIA*TYPE*TO BORROW'
Bits 5-7 converted to a decimal value.
Second media type to borrow, if additional
physical scratch volumes are needed by the
pool, and none of the first media type are
available.
Both are decoded by MG094PP format:
0 - No Borrowing
1 - Borrowing of Media ID 0 is allowed
2 - Borrowing of Media ID 1 is allowed
3 - Borrowing of Both Media is allowed
Change 20.282 The debugging PUT _N_= STARTCOL= .... statement at line
VMACCTLG 580 was removed.
Dec 5, 2002
Thanks to Len Rugen, University of Missouri, USA.
Change 20.281 SMF 90s from OS/390 V2.9 and z/OS 1.3 have VERSN90 as a
VMAC90A binary field in subtype 30 records, although the z/OS 1.4
VMAC90 SMF manual still shows an EBCDIC number. INVALID DATA
Dec 5, 2002 messages were printed, but no impact, as VERSN90 is not
Dec 11, 2002 used. Revised code inputs VERSN90 ?? &NUM.2. and then
tests for missing to re-INPUT as &PIB.2. Subtype 6 have
VERSN90='0002'x, subtype 6s have 'F0F1'x, or EBCDIC 1.
Note: USE TYPE90A, the old TYPE90 was replaced by TYPE90A
and this fix was extended to TYPE90 just for protection.
I have opened a documentation issue with IBM.
Thanks to Peter Webber, Co-operative Insurance Society Limited, UK.
=======Changes thru 20.280 were in MXG 20.08 dated Dec 4, 2002=========
Change 20.280 MXG-constructed variable PLAN in DB2ACCT was incorrect in
VMACDB2 Distributed/Remote records (QWHCATYP=7,8); the statement
Dec 4, 2002 in the DO group for those attachments was changed from
PLAN=SCAN(QWHCCV,1,' .'); to PLAN=SCAN(QWHCPLAN,1,' .');.
Thanks to Warren E. Waid, JCPenney, USA.
Change 20.279 The Local IP address TCBINDIP in TYP119A7 dataset was not
VMAC119 correctly stored; the statement to compress TCBINDIP must
Dec 4, 2002 be: TCBINDIP=COMPRESS(TCBINDIP);
but MXG code had .... TCBINDIC .. causing the error.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 20.278 The %UPCASE(&SASSWORK) and %UPCASE(&USERWORK) added by
VMXGINIT Change 19.295 were lost, probably by Change 20.019. When
Dec 3, 2002 ITSV set USER=work (lowercase), their absence caused the
VMXGDEL to delete dataset work.ANYTHING because it was
different from dataset WORK.ANYTHING. %UPCASEs restored.
Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 20.277 RMF Channel Activity Report enhanced with two selection
ANALRMFR parmaters, CHP= to select desired CHPID values, and
Dec 3, 2002 CACR= to selected SMF73ACR channel types.
Thanks to Don Isenstadt, Parker Hannifin Corporation, USA.
Change 20.276 Support for numerous NTSMF new objects and new data:
VMACNTSM -Support for MS Exchange 2000 SP3 changes:
VMXGINIT -DATABASE: Variables renamed:
EXNTxxxx TOCAPCHT==>CACHTOHT
Dec 3, 2002 TOCAHIRT==>CACHTORT
TOCAMIRT==>CACHTOMI
Variables removed:
TOOPENRT LGTHWAIT FIOPPEND FIOPRATE LGWRITRT LGRESTRT
CACHSTAL
Variables added:
DBPAFLRT DAPAEVRT DAPASTRT DBCASIZE
-DATABASE ==> INSTANCES: Variables renamed:
TOCAPCHT==>CACHTOHT
TOCAHIRT==>CACHTORT
TOCAMIRT==>CACHTOMI
Variables removed:
CACHFALT CACHSIZE FIBYWRRT FIBYRDRT TOOPENRT FIOPPEND
FIOPRATE LGWRITRT LGRESTRT CACHSTAL
-MSEXCHANGEDSACCESS CACHES: New variables:
CAEXPIRX CAINSRRX TOTENTRX DNENTRX SEAENTRX NDNENTR
NGUENTRX TOTENTMX DNENTMX SEAENTMX NDNENTMX NDUENTM
CAEXPITX CAINSRTX
-MSEXCHANGEIMAP4: New variables:
INVALICR CONNFAIL CONNREJE
-MSEXCHANGEPOP3: New variable:
INVALICR
-MSEXCHANGEIS: New variables:
RPCAVLAT RPCSLOPK
-Support for XP Professional:
-PROCESSOR: New Variables
PCTIDLTM PCTC1TM PCTC2TM PCTC3TM TRNSC1RT TRNSC2RT
TRNSC3RT
-Two new XP Professional Objects supported:
dddddd Dataset Object
NTPSFL PSCHFLOW PSCHED FLOW
NTWMIO WMIOBJCT WMI OBJECTS
-Support for MQSERIES QUEUES: New Instance variable
MSMQINST added.
-Support for new objects: Antigen Scan, Citrix, MSMQ,
and Data Core:
dddddd Dataset Object
NTANGN ANTIGENS ANTIGEN SCAN
NTCIIN CITRIXIN CITRIX IMA NETWORKING
NTCIMF CITRIXMF CITRIX METAFRAME XP
NTDCCA DACOCACH DATACORE CACHE
NTDCDC DACODOMC DATACORE DOMAIN CONTROLLER
NTDCFC DACOFIBC DATACORE FIBRE CHANNEL
NTDCMI DACOMIRR DATACORE MIRRORING
NTDCND DACOSCHD DATACORE SCHEDULING
NTDCNP DACONMVP DATACORE NMV POOLS
NTDCSC DACONMVD DATACORE NMV DISKS
NTMQMQ MSMQUEUE MSMQ QUEUE
NTMQMS MSMQSRVC MSMQ SERVICE
Change 20.275 HSM new variables added to dataset HSMDSRDS:
VMACHSM DSRDRECN='DATA SETS*RECONNECTED'
Dec 2, 2002 DSRBRECN='TRACKS*RECONNECTED*TO TAPE'
DSREXRED='EXTENT*REDUCTIONS'
DSRABACK='ABACKUPS*REQUESTED'
DSRABAKF='ABACKS*FAILED'
DSRABXTR='EXTRA*MOUNTS*RECALL*TAKEAWAY'
HSM now has the ability to "Reconnect" the MCDS record
when migrating a dataset that had been recalled; the
update-bit is tested, and if the dataset was not changed,
HSM "Reconnect"s that MCDS record to the migrated copy
on tape, updates the catalog to MIGRATE, and avoids any
movement of data to tape, counting the tracks that were
not moved to tape!
-There are 13 function types, not 12, so the DO loop was
increased to read all 13 array elements.
Thanks to Frank Cortell, Credit Suisse First Boston, USA.
Change 20.274 Support for RMF APAR OW56739. For RMF 79 subtype 3, adds
VMAC79 4-byte fields at the end of the segment (i.e. COMPATIBLY)
VMAC7072 to replace the existing and now-overflowing 2-byte frame
Dec 2, 2002 count variables. For RMF 72 subtype 3, TYPE72GO dataset,
adds new variable R723PLSC, with the period-level service
class name, which is now used in RMF reports to flag as
'HETEROGENEOUS' if R723PLSC is not identical to R723CLSC
for a certain period across the sysplex.
See Change 20.306 - correction.
Change 20.273 Workload Graph examples now include plots of MSU used by
GRAFWRKX each workload.
Nov 27, 2002
Thanks to Chuck Hopf, MBNA, USA.
Change 20.272 MSU variables that were zero in ASUM70PR/ASUMCEC from old
VMAC7072 S390 data with SMF70CPA=0 are now populated by using the
Nov 26, 2002 CPUTYPE/CPUMODEL variables and the $MG070CP table lookup
to get and store the CECSUSEC value back into SMF70CPA in
the TYPE70PR dataset; the non-zero SMF70CPA is then used
to calculate the MSU values in ASUM70PR/ASUMCEC.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Change 20.271 -VMAC108: DOMPVN now labeled.
several -VMAC42: S42JDDSO now labeled.
Nov 26, 2002 -VMAC60: VVROPIND SMF60FNC VVRAMAT3 VVRTPEXT now labeled.
-VMACTPF: TPFRECNR, GMTOFF, SYSTEM are now labeled, and
temporary variable MZHDVAL is no longer kept.
-VMAC73: SMF73BSY now labeled.
Thanks to Chris Weston, SAS ITRM, USA.
Change 20.270 Enhancement for DB2 Trace IFCIDs 202, 230, and 239; those
READDB2 IFCID values are not SMF 102 subtypes, but are SMF 100
Nov 26, 2002 subtype 2 and 3, and SMF 101 subtype 1. READDB2 will now
create DB2STAT2 (202), DB2GBPAT (230) or DB2ACCTP (239)
datasets when those IFCIDs were requested in your READDB2
invocation.
Thanks to ???, ???, USA.
Change 20.269 Change 20.221 for ASUMUOW created variable TIMESTMP and
JCLUOWP changed the sort order of _SUOWCIC, but the JCL examples
JCLUOWV to use Views (JCLUOWV) or to use Pipes (JCUUOWP) were not
Nov 26, 2002 updated with the revised _SUOWCIC definition, causing the
VARIABLE TIMESTMP NOT FOUND error.
Thanks to Larry Nova, TransAmerica, USA.
Change 20.268 Cosmetic. Syntax of M4=-4; INPUT +M4 ... was replaced
DOC by INPUT +(-4) ... and the Assignment or RETAIN statement
Nov 25, 2002 for variables M1, M2, M4 ... were deleted. There is no
need to create/retain the negative valued variable to
move backwards in an INPUT statement.
Change 20.267 -Type 119 subtype 5 TYP11905 variable TSIPMAXS was not
VMAC119 input, causing the following 8 TSIPxxxx variables to be
Nov 23, 2002 wrong, and the label for TSIPCURS was changed to CURRENT.
-Type 119 subtype 2 TYP11902 variable TTSTATUS was 0 or
16777216 when it should have been 0 or 1; documented as
length 4, it's actually only length 1. Variable TTTOS is
only PIB1, TTXRT is PIB2, and TTINSEG and TTOUSEG are
both PIB8 instead of PIB4; IBM's originaly documentation
was corrected by the z/OS 1.3 online manual.
Thanks to Mark Cohen, DTS, ITALY.
Change 20.266 Most EXdddddd "Data Set Exit" members have one executable
EXDB2ACC statement, OUTPUT _Wdddddd or IF ... THEN OUTPUT ....
EXTY39 which permits instream tailoring syntax that will execute
EXNSPYAP the existing EXdddddd member's statement:
EXIMRACF %LET MACKEEP=
EXDB2ACP %QUOTE(
EXDB2ACB MACRO _EDB2ACC
EXCICJRN IF (your-new-selection-logic-is-true)
EXARBnnn THEN %%%INCLUDE SOURCLIB(EXDB2ACC); %%
Nov 20, 2002 );
However, that logic failed with EXDB2ACC, one of the few
exit members that has more than one executable statement:
IF something THEN DELETE; OUTPUT _WDB2ACC;
DB2 Parallel duplicate must be deleted by MXG, but IBM
techies using MXG inside DB2 Development needed to see
those records, so the normal DELETE was externalized.
Note: That DELETE was removed by Change 22.121.
a. The DELETE statement should not normally be used in
dataset exits, as it deletes the entire record; if
the record has repeated segments, a DELETE will stop
MXG from seeing the rest of that record's segments.
But by adding a DO; END; pair in the exit member code:
DO;
IF DB2PARTY='P' AND QWACPARR='Y' THEN DELETE;
OUTPUT _WDB2ACC; /* DB2ACCT, DEFINED IN IMACDB2 */
END;
there is only one executable statement, so the preceding
logic IF ... THEN %INCLUDE SOURCLIB(EX...) works.
All exit members were examined, and those with more than
one executable statement were wrapped in a DO; END; pair.
HOWEVER: The actual MXG recommended syntax for tailoring
in exit members when overriding the _Edddddd macro, as
shown in examples in member DOCMXG, show that I expected
that YOU would put the DO; ... END; pair in your logic:
%LET MACKEEP= %QUOTE(
MACRO _EDB2ACC
IF selection-critera THEN DO;
%%%INCLUDE SOURCLIB(EXDB2ACC);
END;
%%
);
and I still think that syntax is clearer and safer.
But this is still an worthy enhancement, because, now, no
matter which syntax you use to override _Edddddd macros,
either will work, transparently!
Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.
Change 20.265 Undocumented fields added by FC4001 cause new SMF 94 data
VMAC94 (added by Change 20.206, using the text of the IBM PTF!)
Nov 19, 2002 to be wrong. IBM Redbook SG24-2229-05 now lists the 128
Nov 25, 2002 byte field we found at offset 400, but an 8-byte field
Nov 26, 2002 between S94OPM_AVG_VDM at offset 534 and S94OPM_DC1 at
offset 536 is not documented; it was located only by this
user's astute validation, knowing what values to expect.
The validation and -05 document made these corrections:
-S94VPSET is now input as PIB2 instead of 1.
-S94PSVC0-S94PSVC3 are now input as PIB2 instead of 1.
-S94DRIC1-8, S94xxWN1-2, S42ADI, S42DTW are recorded in
megabytes and were too small by a factor of 1048076, and
ADI/DTW were not formatted MGBYTES.
-The *1 or *2 text in many labels that didn't belong was
removed (added by erroneous CHANGE X Y ALL edit command).
-Variable SMF94VLC, the 5-byte alphanumeric Library Serial
"number" is now kept in TYPE942 & TYPE942P datasets, and
SMF94VLC should now be used in place of SMF94SNO in your
reports, as the 12-byte SMF94SNO field does not exist in
subtype 2 records. SMF94SNO was replaced by SMF94VLC in
the sort macros for the TYPE94, TYPE942, and TYPE942P
data sets, for consistency and so they could be matched.
SMF94VLC is created from SMF94SNO in (older) subtype 1
records that still have hex zeros in the VLC field.
SMF94VLC is not documented in the SMF 94 subtype 2
record, but MXG creates it as a five-byte character
variable from the 3-byte hex field that was observed to
contain it in the VPS Message Header field. SMF94VLS
is always missing value in TYPE94 when VLC contains a
character, so SMF94VLS is of no use in reporting.
OBSERVATION COUNT CHANGE: TYPE942 fewer obs.
OBSERVATION COUNT CHANGE: TYPE942P more obs.
Thanks to Wally Danielson, Airborne Express, USA.
Change 20.264 Variable MSEXISPU in MSEXCHPU dataset was increased from
VMACNTSM $32 to $64 to hold names like:
Nov 19, 2002 "First Storage Group-Public Folder Store (ISOMAILP1)"
Thanks to Xiaobo Zhang, Insurance Service Office, USA.
Change 20.263 -Support for BMC MVCICS 5.6 and correction to 5.5 CMRDETL
FORMATS support. New data BMC added to file segments in 5.5 was
VMACMVCI optional, the old (5.4) 16 bytes, or an expanded 92 bytes
Nov 16, 2002 but MXG always expected the new 92 byte length, causing
Nov 19, 2002 INPUT STATEMENT EXCEEDED error if you did not turn on the
new optional longer length records. The MXG test to
INPUT the longer length segment was revised to
IF T6ECPRID EQ 'F4'X AND T6EQUAL EQ '1.......'B THEN
using the new T6EQUAL field added in 5.5 to discriminate.
-In MVCICS 5.6, BMC added segment length into a reserved
field; new variable T6EFENLN is created by this Change.
-And MVCICS 5.6 extends the extended information to DB2,
MQSERIES, and DBCTL so the $MGMVCTI format that decodes
the file type variable, TFILI, was updated to identify
those types of files that were accessed from CICS.
Thanks to Franco Carmignani, IntesaBCI, ITALY.
Change 20.262 Support for APAR xxyyyyy added new RMF 99-1 trace codes
FORMATS for WLM dynamic resource group additional measurements,
Nov 16, 2002 that are now decoded by the MG099TC format.
Change 20.261 Preliminary look at Velocity Software ESAMON V3.2 data.
VMACXAM Updated the header from YY to YYYY; received documenation
Nov 15, 2002 of the current version, but yet to validate and compare.
Text of this change will be updated when changes made.
Change 20.260 Support for AS/400 5.2 Collection Services. INCOMPATIBLE
VMACQACS because you must change the LRECL for the files that IBM
Nov 15, 2002 IBM changed; if you upload 5.2 data with the new LRECL,
these data are readable with prior versions of MXG since
IBM added the new data at the end of the record:
Dataset Variable 5.2 LRECL
QAPMSYSL SYLPTB Added at end 3294
But these data were inserted or increased in length, so
you must have this change and correct LRECLs to read:
Dataset Variable 5.2 LRECL
QAPMETH ETMDIF Length increased 266
QAPMETH ETMUPF Added at end 266
Dataset Variable 5.2 LRECL
QAPMDISK DSASPX was DSAASP now NUM 367
QAPMDISK DSASPN Added at end 367
Thanks to Warren Cravey, Fidelity Systems, USA.
Change 20.259 TYPE71 Medium Impact Frames variables ESFRMEAV/MN/MX were
VMAC71 input out of order (AV had Min, MN had Max, MX had Avg)
Nov 15, 2002 this change also affected ESFRHIAV,ESFRHIMN,ESFRHIMX due
May 12, 2003 to subsequent calculations.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Tony P. Stewart, Royal Mail, ENGLAND.
Change 20.258 -Cosmetic. Labels for variables MCTSSDCN/MCTSSDRL added.
VMAC110 Only if the new UTILEXCL is used to create IMACEXCL, will
Nov 21, 2002 those variables (field count, segment length) exist in
Nov 29, 2002 CICSTRAN, so that you can know which exclude code was in
use to create these observations with excluded fields.
-The debugging PUT statement for STID=82 was removed.
Thanks to Craig Collins, State of Wisconsin DEG, USA.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 20.257 Message VMAC80A.WARN. MORE DTP (44) SEGMENTS UNIMPORTANT
VMAC80A is unimportant, but the for the 10/13 RACFEVENTS, MXG now
Nov 14, 2002 will keep 15 segments (previously kept was 12, this site
had 14) to suppress the warning message.
Thanks to Hersch White, UICI, USA.
Change 20.256 Major enhancement in UTILEXCL redesigns its IMACEXCL.
UTILEXCL Instead of creating a DO-GROUP for each APPLID+SMFPSRVR,
Nov 15, 2002 only the SMFPSRVR (CICS Version), MCTSSDCN (field count)
and MCTSSDRL ("record" length) combination are used to
create a DO-GROUP for each unique record structure, so
you won't have a separate DO-GROUP for each APPLID. And
more important, you won't have to update IMACEXCL every
time you add a new APPLID that clones an existing record
structure. Thus to support a new CICS version (or any
changes in existing EXCLUDED fields), you only need one
dictionary record from a test run to create the IMACEXCL
that will support the new record format for all APPLIDs.
The reporting of UTILEXCL was enhanced. If optional CICS
segments are found in your data, it prints the list of
IMACICxx members whose comment blocks must be removed to
input those optional segments. New reports show which
APPLIDs are in which DO-GROUP, list the non-excluded
dictionary fields for each DOGROUP, and print the text
of the IMACEXCL that was created.
To detect the very unlikely event that your CICS guru
created two exclude lists for the same APPLID that have
exactly the same number of fields and same record length,
but have different fields excluded, UTILEXCL compares the
internal sequence of fields, and will print an ERROR
on its log if that conflict is discovered.
The redesign is inside the _BLDEXCL macro that creates
the IMACEXCL file from PDB.CICSDICT, so you don't need to
re-read SMF dictionary records. You use _BLDEXCL to read
your previously-built PDB.CICSDICT as shown in examples
in the comments in the UTILEXCL member.
This also corrects INPUT STATEMENT EXCEEDED errors with
the previous design caused by multiple dictionaries for
an APPLID+SMFPSRVR that had different DCN/DRL lengths.
The old logic did not handle correctly, and it created an
IMACEXCL that had repeated variables in the INPUT.
When you execute UTILEXCL on MVS to create IMACEXCL, with
SYNCSORT as your host sort, you'll get WARNINGS that the
BY list length is greater than 4092, which is a SYNCSORT
limit, but then SAS recognizes that SYNCSORT failed and
uses the internal SAS sort successfully. One site got a
ERROR: WER723A: CONTACT YOUR SYNCSORT REPRESENTATIVE
message, but I believe that was with SAS Version 6.09.
Using OPTIONS SORTPGM=SAS should circumvent on V6.
Thanks to Kevin Van Houten, Worldcom, USA.
Thanks to Erling Andersen, SMF, DENMARK
Change 20.255 MXG 20.08-20.07, only if VSAM SMF is read with TYPEDB2,
VMACDB2 an INPUT STATEMENT EXCEEDED RECORD LENGTH error occurs;
Nov 12, 2002 the test added by Change 20.202 should have been
ELSE IF TR03OFF GT 0 THEN OFFSMF=TR03OFF;
The original test with TR03OFF GT . THEN was always true
because it is TR03OFF is initialized to zero in RETAIN,
so when VSAM data (with OFFSMF=4) was read, the first 100
record resetn OFFSMF incorrectly to zero.
Thanks to Michael Oujesky, MBNA, USA.
Change 20.254 Invalid SMF ID=100 Subtype=226 record caused STOPOVER.
VMACDB2 The record was in fact not written by DB2, and MXG's code
Nov 12, 2002 recognized the non-standard subtype, but because IBM puts
the actual subtype in QWHSIID, in the DB2 product header,
MXG has to INPUT from @LOC, but did not validate that the
value in LOC was inside the record. The logic now checks
and detects invalid (short) records, printing the first
five on the log, but continuing to process the SMF file.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.253 Support for ASG-Landmark TMON/CICS V2.1 TH01595 (COMPAT).
VMACTMO2 TCB Switch counts and durations were restructured in both
Nov 10, 2002 TA and TI records, adding new count/duration variables:
TAWRDCT/M TIWRDCT/M Ready Queue Wait for Dispatch
TAAWTWRC/T TIIWTWRC/T Ready Queue Wait after Satis
TADSPWRC/T TIIDSWRC/T Ready Queue Wait While Switched
and making TADSPQCN/M and TIIDSQCN/M now reserved = zero.
The new fields were added compatibly and will be skipped
over without error with MXG 20.02 or later (Change 20.072
is required for base V2.1); this change will create and
populate the new variables when found.
Note: the order and location of the fields is a guess, as
the documentation is unclear, and no records with
the new fields have been tested. But since all are
input as binary, no errors in MXG execution will
occur, and I might have guessed luckily.
Thanks to Frank Lund, EDB Teamco AS, NORWAY.
Change 20.252 Support for SAS Version 9 TS M0 Production Release. MVS
CONFIGV9 Benchmarks in Newsletter FORTY-TWO show there is no real
AUTOEXEC change in resources between V8.2 and V9.00; this change
Nov 8, 2002 is not required for V9, but turns on reporting options
Mar 1, 2003 that can help in diagnosing problems with your SAS job.
-In CONFIGV9 (used only for "MVS" execution) SAS options
DLEXCPCOUNT FULLSTATS FULLSTIMER STIMER MEMRPT
are now enabled to print those statistics by default.
MXG's previous override to MSGCASE was removed so that
the SAS default of NOMSGCASE is specified (to circumvent
a SAS error in the DLEXCPCOUNT counts with MSGCASE).
-In AUTOEXEC (used only for "ASCII" execution), FULLSTIMER
was added; it had been removed due to problems way back
in SAS V6 for PCs.
-This change is not required, but has the recommended new
options for SAS Version 9 on MVS-OS/390-z/OS systems.
-SEQENGINE=V6SEQ is still required; see Change 20.150.
Change 20.251 Change 20.221 to VMXGUOW causes ASUMUOWT to fail; the new
VMXGUOW variable TIMESTMP was added by that change only to the
Nov 7, 2002 code used when CICSTRAN was input, and was not added to
the separate macro used when MONITASK data is input.
Thanks to Terry Warnke, CUNA Mutual, USA.
Change 20.250 -Enhancement for Tandem G07 and later creates new datasets
EXTANDIF TANDISKO (Disk Open) and TANDISKF (Disk File) from those
EXTANDIO same filenames. If you do not have a tailored TYPETAND
IMACTAND or TYPSTAND member, you will need to add //TANDISKO and
TYPETAND //TANDISKF DD DUMMY, as the default MXG member TYPETAND
TYPSTAND member always looks to read all possible Tandem files.
VMACTAND -MXG code for TANDPROC G06 record expected 42 bytes of the
VMXGINIT variables MSGSQTIM thru RPLCBYTE, but documentation shows
Nov 6, 2002 only a 16 byte reserved field added by G05, and I can't
Nov 25, 2002 find documentation that caused me to add those fields, so
their input is made conditional to eliminate STOPOVER.
In addition, the divide by DURATM was relocated until
after all fields have been input, and PER SEC was added
to several rate variables' label.
Thanks to Erling Andersen, SMF Data A/S, DENMARK.
Change 20.249 Enhancement adds TRENDOLD= parameter so you can have your
VMXGRMFI old TREND and new TREND be different datasets, i.e., be
Nov 6, 2002 part of a GDG, so the Trend Job is recoverable by CA-11.
Previously, the TREND parm was used for both the old and
the new Trend Library, and that is unchanged unless you
actually use the TRENDOLD= parameter in your VMXGRMFI.
Also, the disfunctional NORM70= (obviously had never been
used) was corrected to work as designed.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.248 Variables HU47BJOB and HU47BSTP were input and kept in
VMACHURN dataset HURN47, and variables HU49BJOB/HU49BSTP added to
Nov 6, 2002 dataset HURN49.
Thanks to Deborah Churchyard, IBM Global Services, AUSTRALIA.
Thanks to Roger Stenlake, TELSTRA, AUSTRALIA.
Change 20.247 ASUMUOWT stopped working in MXG 20.03-20.07; the _SUOWTMO
VMXGUOW macro definition that was in VMXGUOW in 20.02 when 20.038
Nov 6, 2002 was tested was somehow deleted in the VMXGUOW in 20.03.
Thanks to Terry Warnke, CUNA Mutual, USA.
Change 20.246 Two STG THLD titles were corrected and TOTEFS is now
ANAL88 spelled correctly as TOTALs in headings of this report
Nov 6, 2002 example for SMF 88 System Logger data.
Thanks to Fred Mathew, Nordstrom, USA.
Change 20.245A Internal note. MXG's PROCSRCE program is used to create
PROCSRCE the IEBUPDTE-format sequential file from the MXG Source
Nov 6, 2002 directory, and it is part of MXG QA, checking line length
and for unexpected ./ characters inside those files. It
now also checks for 'E3'x and 'FC'x in my ASCII source,
as they should have been ] '5D'x and u '75'x.
Change 20.245 MACRO _THRDHST should have had INFILE THRDHIST instead of
TYPSTHST SMF, which was left over from testing, and wasn't caught
Nov 5, 2002 in QA because there was an //SMF file allocated.
Thanks to Wolfgang Vierling, Allianz, GERMANY.
=======Changes thru 20.244 were in MXG 20.07 dated Nov 4, 2002=========
Change 20.244 A second instance of DSNLABEL= in TRNDCEC caused ERROR:
TRNDCEC THE KEYWORD PARAMETER DSNLABEL PASSED TO MACRO VMXGSUM
TRNDHSM WAS GIVEN A VALUE TWICE. The second instance was
Nov 4, 2002 removed, and a similar error prevented in TRNDHSM.
Thanks to Mike Kynch, International Paper, USA.
Change 20.243 Cosmetic, in seldom-used TYPE40 (last updated in 1995).
VMAC40 If TYPE40 is executed alone, SAS prints notes that
Nov 3, 2002 VARIABLE ABEND, CONDCODE IS UNINITIALIZED
because those variables don't exist in SMF 40 (dynamic
deallocate). That note is caused by a PUT statement in
included VMACEXC2 (common code that decodes the TIOT EXCP
counts in SMF 30s and 40s) that prints ABEND and CONDCODE
in an MXGERROR log message if an error is found in EXCPs,
and ABEND/CONDCODE do exist in the type 30s. There is no
impact on the TYPE40 dataset since those two variables
are not kept nor used to create TYPE40.
However, UNINITIALIZED notes often expose errors in logic
or in spelling during alpha testing, so the QA test looks
for those notes during error correction. But even when
the cause is valid, like here, and even though they have
no impact, those notes are eliminated (primarily because
they cause confusion and unnecessary support questions),
by a "compiler faker" statement:
IF charvar=' ' THEN charvar=' ';
IF numrvar=. THEN numrvar=.;
an executable statement, but one that is placed after the
RETURN; statement in VMAC40, they are never actually
executed. Nevertheless, I considered replacing those
executable statements with the RETAIN compiler statement:
RETAIN ABEND ' ' CONDCODE .;
to initialize, define length and char/numr type. However
RETAIN can never be used if the variable is conditionally
INPUT, because values from a prior record would then be
retained and incorrectly output when they were not INPUT.
When I asked Rick Langston about a RETAIN without retain
he pointed out that ARRAY statements could be used:
ARRAY INIC40 $ ABEND (' ');
ARRAY ININ40 CONDCODE (.);
as it initializes without retaining values. The ARRAY
statement must be physically located before the variable
name is used, and a unique token must be used for each
array (some names are restriced, like ENTITY, and the
array name cannot be the same as a variable name in some
other member that can be compiled together, but with the
naming convention INICxxxx and ININxxxx in VMACxxxx, the
compiler faker statements in VMAC40 were replaced by two
ARRAY statements, and I will likely replace others as I
find them in other members.
Thanks to Bruce Widlund, Merrill Consultants, USA
Thanks to Freddie, TXU, USA.
Change 20.242 STK HSC User SMF Subtype 29 (1Dx) caused INPUT STATEMENT
VMACSTC EXCEEDED error; MXG expected +6 at the end of the record
Oct 31, 2002 should have been +4, and STC29MVN is PIB4. and not NUM4.
And that subtype was incorrectly OUTPUT into STCVSM28,
but now those typos are corrected to OUTPUT to STCVSM29.
Thanks to Dwain P. Majak, Blue Cross Blue Shield of Kansas, USA.
Change 20.241 Support for APAR OW55968 replaced 4-byte R744RSST with a
VMAC74 new 8-byte field (R744RSSE) to prevent overflow. When
Oct 29, 2002 the new value exists, it is still stored in R744RSST,
as keeping R744RSSE would be redundant. Also OW55586.
Change 20.240 TYPE73 with SMF73CMG=0 still had missing PCHANBY/PNCHANBY
VMAC73 because the initialization logic was still incorrect and
Oct 29, 2002 had to be relocated, again.
Thanks to Michael L. Kynch, International Paper, USA.
Change 20.239 Trending for TYPE23 dataset (SMF Buffer Usage) was wrong;
TRND23 the include of ASUM23 was incorrect and macro names were
Oct 28, 2002 also corrected.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.238 Documentation. Using TEMP01= with %VMXGSUM can cause
VMXGSUM ERROR: FILE PDB1.MXGSUM1.VIEW IS SEQUENTIAL. THIS TASK
Oct 28, 2002 REQUIRES READING OBSERVATIONS IN A RANDOM ORDER, BUT
THE ENGINE ALLOWS ONLY SEQUENTIAL ACCESS.
Remove the TEMP01=PDB1 argument in your tailored %VMXGSUM
invocation to eliminate this error. MXG Change 19.151
documented the changes in use of the TEMP01/TEMP02/TEMP03
arguments; while you can make TEMP01= work (by changing
your DD or adding a LIBNAME PDB1 V6SEQ; statement), MXG
has recommended that you never use TEMP01, and you use
TEMP02/TEMP03 only for specific large dataset cases, e.g.
when you want to exploit hardware compression.
"MXGSUM1" errors are in an VMXGSUM invocation. When the
message is XXXX.MXGSUM1.VIEW instead WORK.MXGSUM1.VIEW,
it shows that your %VMXGSUM invocation has TEMP01=XXXX.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 20.237 IDMS Performance Monitor for Version 1500 circumvention;
VMACIDMS MXG will skip over unknown sections, rather than failing
Oct 25, 2002 with an INPUT STATEMENT EXCEEDED; new sub-subtype 13, 14
and 15 records are created, but I have no documentation
of those record subtypes, nor of any changes to any of
the existing subtypes (which, while seeming to be still
correct, should be closely examined and validated).
This text will be updated when those sub-subtypes are
requested to be supported by a site with documentation.
Change 20.236 SAS User SMF record variable SASPROD, SAS Product Name,
VMACSASU was decoded with the table look-up, but was neither kept
Oct 25, 2002 nor was the variable labeled.
Thanks to Alfred Holtz, Merck Medco, USA.
Change 20.235 Support for APAR OW54010 adds Large Virtual Memory (above
VMAC78 2 GigaBytes) fields to RMF's Private Area Virtual Storage
Oct 24, 2002 Job-Level Monitor SMF 78 subtype 2, in TYPE78PA dataset:
SHBYHWM ='HWM*BYTES SHARED*ABOVE 2GB'
SHBYMAX ='MAX BYTES*SHARED*ABOVE 2GB'
SHBYMIN ='MIN BYTES*SHARED*ABOVE 2GB'
SHBYNTME='TIME STAMP*OF MIN*SHARED*ABOVE 2GB'
SHBYTOTL='TOTAL*SAMPLES*SHARED*ABOVE 2GB'
SHBYXTME='TIME STAMP*OF NAX*SHARED*ABOVE 2GB'
TOBYHWM ='HWM*BYTES ALLOCATED*ABOVE 2GB'
TOBYMAX ='MAX BYTES*ALLOCATED*ABOVE 2GB'
TOBYMIN ='MIN BYTES*ALLOCATED*ABOVE 2GB'
TOBYNTME='TIME STAMP*OF MIN*ABOVE 2GB'
TOBYTOTL='TOTAL*SAMPLES*ABOVE 2GB'
TOBYXTME='TIME STAMP*OF MAX*ABOVE 2GB'
You must have put JOB name(s) for VSTOR in your ERBRMFxx
to monitor job-level and create 78-2s, and these new data
are present only if the Detail Option was set for VSTOR.
This change is required if you install this APAR; the MXG
code was not prepared to skip over the new data.
Thanks to Brian Currah, Performance Associates, CANADA.
Change 20.234 Support for Candle Omegamon for CICS V520 User SMF record
VMACOMCI was added by adding 'V520' to the IF FOCVER test; visual
Oct 24, 2002 scan of a PROC PRINT of first 20 observations showed no
obvious errors (as would occur if a field was inserted).
Thanks to Art Cuneo, Health Care Services Corporation, USA.
Change 20.233 Fairly obscure tailoring: the KEEP= _PDB30_4 LOCLINFO was
BUILD005 reversed to KEEP = LOCLINFO _PDB30_4 ; so that redefine
BUIL3005 of _PDB30_4 could use DROP= syntax without accidentally
Oct 24, 2002 dropping LOCLINFO; the MXG syntax in KEEP= must have the
old-style macro name last, so that DROP overrides KEEP.
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 20.232 Cosmetic. Labels for REGSEXAV/MN/MX are 'REG+SWA PAGES';
VMAC71 the original label mistakenly had 'REG+SQA PAGES'.
Oct 23, 2002
Thanks to Tom Buie, Southern California Edison, USA.
Change 20.231 Support for Control-D "SF2" User SMF record, described by
EXTYCSF2 their CTDSF2 DSECT, for Batch, creates new dataset
IMACCSF2 CTLDSF2, but the data does not exactly match the DSECT:
TYPECSF2 Variable SF2VSMCP, CPU Writing to VSAM, contains data
TYPSCSF2 values that are impossible ('0009CBEF'x, if that field
VMACCSF2 is in milliseconds, as are the preceding four fields);
VMXGINIT that value is greater than the elapsed time. Problem
Oct 22, 2002 will be opened with the vendor and this note updated.
Thanks to Kerstin Jansson, Tietoenator, FINLAND.
Change 20.230 Support for Control-D "POD" User SMF record, described by
EXTYCPOD their CTDPSMF DSECT, for Web-Access creates new dataset
IMACCPOD CTLDPOD, but the record does not agree with the DSECT:
TYPECPOD Variable PODPTMLI (Login Time) is hex zeros with no
TYPSCPOD time nor Julian Date. The next field, PODPCPUT, CPU,
VMACCPOD is '91FD75D4'x in one record, but is '40404040'x in
VMXGINIT two others, and the alignment of the rest of the fields
Oct 22, 2002 are thus in question.
Thanks to Kerstin Jansson, Tietoenator, FINLAND.
Change 20.229 -VMAC94:Variable S94BMPI2 was not in the $MG094MI. FORMAT.
VMAC94 -VMAC120: New WebSphere subtype 7 variables SM120WAF and
VMAC120 SM120WAG labels are Activity Begin and End datetimes.
VMACNTSM The _B120WI had all the SM120aaa variables, but now has
Oct 31, 2002 only these: SM120WIA-SM120WIE and SM120WIQ-SM120WIW.
In all new interval datasets (TYP120JI,TYP120SI,TYP120WI)
the interval duration is kept in variable DURATM. Some
old event datasets still have DURATM as their elapsed
time variable, but new event datasets like TYP120WA will
have elapsed time variable SM120ELP instead of DURATM.
Variable DURATM is kept in both TYP120CC and TYP120CM,
but only subtype=4 records will have non-missing DURATM.
Variable SM120ST is now labeled.
-VMANTSM: Variables EXCHHTEX, EXCHHTI1 and ORDFDATA were
input as $ but also in INFORMAT 16.2, which SAS did not
raise as an error, but SAS/ITSV does! All were removed
from the INFORMAT, and EXCHHTI1 added to $32 length.
The MACRO _BNTMECO still had all variables, from testing;
only the first five variables should have been listed.
-These inconsistencies were uncovered in the QA process by
ITSV/ITRM development while updating their dictionary
with new variables and new datasets from MXG 20.06.
Thanks to Chris Weston, SAS ITRM, USA.
Change 20.228 MXG 19.11-MXG 20.06. DB2 variables QW0022TS and QW0022BT
VMAC102 were wrong, if GMT Offset is non-zero. Change 19.286
Oct 21, 2002 incorrectly added +GMTOFFDB to those variables, but they
are already on the local time zone.
Thanks to Scott McDonall, Southern California Edison, USA.
Change 20.227 INTRNAME, the interface name in NETWINTR dataset, was
VMACNTSM increased from $32 to $64 in length; the original was too
Oct 21, 2002 short for 'Compaq Ethernet_Fast Ethernet Adapter_Module'.
Thanks to Xiaobo Zhang, ISO, USA.
Change 20.226 Documentation example for RACF TYPE80A processing.
VMAC80A The TYPE80A/TYPS80A member should be used for RACF SMF 80
Oct 17, 2002 (and not TYPE80), because TYPE80A creates a separate data
set for each RACF command, keeping only the variables for
that event. But that means there is an EXTY80xx exit for
each dataset, and if you wanted to filter the type 80 SMF
record and (for example, delete all events with RACFAUTH
with BIT0:NORMAL AUTH set, so you only output the events
with the other bits -SPECIAL, AUDITOR, etc-) you would
have to put your test in each of those EXTY80XX exits.
Fortunately, there is an MXG exit, IMACJBCK, that applies
to all of the TYPE80A-built datasets (although designed
just for "Job Checking"), and when it is taken, these
RACF variable have been input:
RACFDESC RACFEVNT RACFQUAL RACFUSER RACFGRUP
RACFAUTH RACFREAS RACFTLV RACFERR RACFTERM
JOB READTIME LOCLINFO RACFVRSN
To use the exit instream and delete all records with the
BIT0:NORMAL AUTH bit turned on (to output all the rest):
// EXEC MXGSASV9
//SMF DD DSN=your.input.smf.data,DISP=SHR
//PDB DD DSN=your.output.type80a.pdb,DISP=OLD
//SYSIN
%LET MACJBCK=
%QUOTE(
IF ID=80 AND RACFAUTH EQ '1.......'B THEN DELETE;
);
%INCLUDE SOURCLIB(TYPS80);
Thanks to Joseph Rannazzisi, Salomon Smith Barney, USA.
Change 20.225 Support for CICS APAR PQ63143 SMF 110 subtype 2 stats.
FORMATS Incompatibly changed STID=24, CICAUTO dataset segment,
VMAC110 added new fields at the end of other STIDs. Without the
Oct 17, 2002 change, MXG log messages about new data for STID= print,
but all other MXG datasets were still correctly built;
only CICAUTO is incorrect without this Change, and it is
seldom used.
-STID=24 +4 byte insert: CICAUTO changed INCOMPATIBLY.
In addition, time variables A04CIDLE/CMAXI/TIDLE/TMAXI
are now input correctly; they were missing previously.
-STID=60, reserved field now DSGTCBAF, variables DSnTCBAF
are created for each of the 13 CICS TCBs. DFHDSGDS.
-STID=81 +124 bytes added at end, eight new variables
added to dataset CICM compatibly. DFHMNGDS.
-STID=121 +4 bytes added at end, one new variable in the
CICXQ1 dataset compatibly. DFHXQS1D.
-The APAR did not list the STID=24 nor STID=121 changes
that were uncovered by MXG's "Skipped Data" messages.
-The APAR text also indicated that the SMDCC DSECT was
changed, but I can find no difference nor new data.
-The APAR text also indicated that the MNCBS DSECT was
changed, but I am unable to find that DSECT, nor have I
found any prior reference to DFHMNCxx DSECTS.
-That APAR text documents that APPLNAME=YES enables two
new EMPs, DFHAPPL.1 and DFHAPPL.2, that you can use to
move 4 and 8 bytes of user data; unfortunately, I've not
yet found where that data will be moved into the SMF 110
record. Let me know if you find where IBM puts it!
Note that new DFHMNRDS (Transaction Resource Class) data
also in this APAR was added by MXG Change 20.200.
Thanks to MP Welch, SPRINT, USA.
Change 20.224 The KEEPIN= argument provided no performance benefit and
ANALCNCR is no longer used; it remains defined only so that any
Oct 16, 2002 existing %ANALCNCR invocation with KEEPIN= will not fail.
All input variables are now kept, and the existing KEEP=
option on the DATA statement will keep only the variables
that are needed, to minimize the work space required.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.223 CICSTRAN variable USERCHAR was still wrong after 20.148.
UTILEXCL The %INCLUDE statement UTILEXCL creates should have been
Oct 16, 2002 IMACICDU, which inputs the temporary USRSTRNG variable,
and then it includes member IMACICUS. All notes telling
you to EDIT member IMACICUS (to set the length, etc.) are
still correct and unchanged.
Thanks to Victoria Lepak, Aetna, USA.
Change 20.222 Negative value for DB2SRBTM with DB2 V7 and CICS V2.2.
VMACDB2 Starting with DB2 Version 6, IBM's documentation in the
Oct 16, 2002 DSNDQWAC copybook states that "SRB times are no longer
set by DB2", and because QWACBSRB and QWACESRB fields
were always zero, the original MXG calculation logic:
IF QWACBSRB GT 0 AND QWACESRB GT 0 THEN
DB2SRBTM=QWACESRB-QWACBSRB;
was never executed and DB2SRBTM was always missing, as is
documented in the ADOCDB2 member. However, new data from
DB2 V7 (connected to CICS V2.2, which may be the factor)
show non-zero values for both BSRB and ESRB, causing the
unexpected non-missing (and negative) value in DB2SRBTM.
MXG is now changed to force DB2SRBTM to always be a
missing value, as was originally documented in MXG Change
19.094, no matter what values are found in the ESRB/BSRB.
We will ask IBM DB2 support to explain what is being put
in the ESRB/BSRB fields to see if this is new data that's
undocumented, or if it's just random noise!
Additional data observations: QWACASRB is also non-zero.
QWACESRB is nonzero for all connection types, not just
CICS. For CICS Attach (QWHCATYP=4), QWACASRB, QWACBSRB,
and QWACESRB may be cumulative (like QWACBJST, QWACEJST).
Thanks to Siegfried Trantes, IDG, GERMANY.
Change 20.221 Internal changes to ensure correct sequencing of multiple
VMXGUOW records with new (internal) TIMESTMP variable.
Oct 15, 2002
Nov 4, 2002
Change 20.220 Variable STC28TIM in STCVSM28 from STK's User SMF record
VMACSTC was input as &PIB.8. but it should have been &PIB.4. (and
Oct 15, 2002 that caused the subsequent ST=28 variables to be wrong).
Thanks to Nathan Walsh, STK, USA.
Change 20.219 ASMTAPES ML-26. This revision is the circumvention that
ASMTAPES lets you EXCLUDE your VTS devices from the Mount-Scan (to
Oct 14, 2002 eliminate the high CPU cost of recovery from 0E0 ABENDS;
Nov 2, 2002 see Change 20.214), while still scanning for Allocates to
record the job's JESNR/READTIME/etc and populate them in
the PDB.TYPETALO dataset for drive utilization measures.
And by using dataset PDB.ASUMTAPE instead of the original
PDB.TYPETMNT dataset, each mount event will be recorded
because ASUMTAPE merges PDB.TYPETALO and IBM's TYPE21 to
capture the mount event, although the MNTTM duration will
be missing for DEVNRs excluded from the Mount Scanning.
Comments in ASMTAPES document the syntax of the EXCLUDE
text file that is used during Assembly of MXGTMNT.
The ML-26 has been tested under z/OS 1.3, and it contains
additional enhancements:
One condition under which READTIME was incorrect was
found and corrected.
New messages are printed by MXGTMNT at startup:
TMNT018I - displays interval setting at initialization
TMNT020I - acknowleges the existence of EXCLUDE DD
TMNT021I - displays list of devices that are excluded
New diagnostic command (F MXGTMNT,DIAG) will display a
series of informational messages:
TMNT025I - count of cross memory ABEND recoveries
followed by one line per tape device with
UCB address, monitoring status, current job
name, and current volser. Status shows if
the DEVNR is enabled for Mount/Alloc/Both.
Any DEVNR not in the list is not monitored.
The ML-26 revision does not solve the problem of missed
VTS mounts, and won't solve all problems with missing job
fields in PDB.TYPETALO and PDB.ASUMTAPE when allocation
duration is too short for MXGTMNT sampling.
We are now looking for an exit that would capture mounts
and miss none and not require cross-memory services to
find the mounting job's identity and information, but
there is no guarantee we'll be successful.
Regretably, ML-26 early tests show it still uses the same
and significantly higher CPU time that ML-25 uses, even
when both mount scans and allocate scans were excluded,
so we still have no fix, as of 2Nov02.
Change 20.218 RACF USRSEKTN (Security Token, SMF80DTP=53) is decoded
FORMATS with new TOKxxxxx variables added to TYPE80nn datasets
VMAC80A that contained variable USRSEKTN. New data found in SMF
Oct 12, 2002 80 record from z/OS Secure Way Security RACF Server (with
Oct 21, 2002 SMF80RVM=7706), with keywords UID, HOME, and PROGRAM are
now realized to be Extended-length Relocate Sections with
SMF80RL2 offset and SMF80CT2 count of 3, whose existence
is documented in the SMF manual (previously unnoticed)
but whose contents are not documented. The one record
found with these keywords all have Data Type SMF80TP2=301
and are heuristically decoded. Because they were found
after the last "normal" Relocate Section, which happened
to be SMF80DTP-53, I thought they were part of USRSEKTN,
and gave them variable names of TOKUID, TOKHOME and
TOKPROG. For now theyu are kept only in the TYPE8013
(ALTUSER command) dataset, while I await documentation
from IBM RACF Support to see if there are other data in
these Extended-length Relocate sections.
Thanks to Peter Skov Sorensen, JN-data, DENMARK.
Change 20.217 Variables D6ASCODE and D7ASCODE are input &IB.4 instead
VMACTMDB of &PIB.4. because SQLCODEs can be negative values.
Oct 8, 2002
Thanks to Richard Schwartz, State Street Bank, USA
Change 20.216 INPUT STATEMENT EXCEEDED was circumvented by changing the
VMACVIOP input of VIOPDCA,VIOPBND, and VIOPBNI from 4 to 2.
Oct 7, 2002
Thanks to Michael E. Friske, Fidelity Systems, USA.
=======Changes thru 20.215 were in MXG 20.06 dated Oct 7, 2002=========
Change 20.215 This user contributed code has been in MXG since 17.17;
IMACAAAA it reads a Solaris flat file log from ddname SUNSLOG,
EXSUNSOG but it was never listed in a change, nor in the IMACAAAA
IMACSUNS "list of all products" member, nor documented in any way.
TYPESUNS Freddie's QA program detected this, and many, omissions:
TYPSSUNS Long ago (on a NEC 286 notebook and a 12 hour run) he
Oct 6, 2002 wrote a SAS program to read the MXG Source Library
looking for specific text (i.e., a smart parser), and
found code that he thought might be wrong, because he
had seen me correct similar code in earlier CHANGES.
For example, a duplicate variable name does not cause
an execution error in a SAS program, but is a true
programmER error (not a programmING error - they do
not exist) when a separate variable name was needed.
That text scan of the MXG Source now looks for scores
of exceptions (e.g. DATETIME formatted variables not
stored in 8 bytes) and for inconsistencies between the
contents of documentation members and reality (do all
members listed in IMACAAAA exist in the MXG Source?).
But his QA program goes much further: by exploiting
the consistent structure of the VMACxxxx members that
create MXG datasets, and the consistent macro names
for the data-set-related _L/_W/_E/_B/_Sdddddd macros,
(and by telling me to fix my code when I'm careless)
he compares the documentation in comments with what
happens when the program is run. For example:
_Edddddd /* EXdddddd OUTPUTS DATASET */
is examined to verify that "DATASET" is the actual
dataset created when that statement is executed.
The SAS error-detection during the MXG QA Execution,
followed by Freddie's Source QA Program provides the
Quality Assurance to MXG users that the newest version
is better than the last and most likely error-free.
If you contributed the VMACSUNS, let me know to cite you,
or if this is useful, let me know so I can update this
text as to what Sun log, etc.
Thanks to Freddie Arie, TXU, USA.
Change 20.214 This is documentation of the status of of ASMTAPES ML-25.
ASMTAPES If you have Virtual Tape devices, ML-25 uses a lot more
Oct 4, 2002 CPU time (30 min per day vs 30 secs) than ML-19, but if
you have no VTS devices, there was no increase in cost:
- When you have VTS devices with their very fast scratch
mounts, 0E0 ABENDs occur when MXGTMNT Cross Memory's to
get the JOB/JESNR/READTIME/etc from the job's ASID, but
finds the job issuing the mount has already gone away.
- When ML-19 encountered an 0E0 condition during the UCB
scan for mounts, it recovered, but then quit for that
interval, and did not scan the rest of the UCBs for a
mount condition, nor did it even start the scan of UCBs
for allocations. This caused many TYPETMNT/TYPETALO
events to be missed (i.e., no SMF record written), and
0E0 recoveries could fill SYS1.LOGREC, and made it look
like MXGTMNT was not scanning 4-digit UCBs!
- ML-25 recovers from each mount UCB with a 0E0, (but it
still writes a record when appropriate, although the
ASID-related variables will be missing), and then scans
all UCBs for allocations, so it should see a lot more
allocaations, since allocations are usually much longer
than mounts. ML-25 also prevents the 0E0 LOGREC write.
And the DDNAME in TYPETMNT can be wrong, like JOBLIB!
- STROBE showed that the increase in CPU time is in the
IBM recovery modules, which are now being invoked many
more times than before, and we can't rewrite IBM code.
ML-26 is in development as a short-term circumvention that
will let you skip the UCB scan for mounts for VTS devices
(you'll specify the device addresses to be skipped), which
should significantly reduce the 0E0 recovery CPU cost, but
the UCBs will still be scanned for allocations. Due to a
(presumed) longer duration of allocation than mount time,
we should have very few 0E0 recoveries for allocations.
While the TYPETMNT record won't exist for the skipped VTS
UCBs, TYPETALO data will exist and it contains ASID info.
Not only is TYPETALO sufficient for measurement of tape
device utilization, but also member ASUMTAPE combines the
TYPETMNT, TYPETALO, and TYPE21 to create the PDB.ASUMTAPE
dataset that records each mount-dismount event, even for
VTS mounts without a TYPETMNT, and the ASID fields from
will populate the ASID variables into PDB.ASUMTAPE for
mount analysis (but with MNTTM missing for skipped UCBs).
This "ML-26-to-be" might be avaliable in early November.
It's availability will be posted to MXG-L when tested.
Once the ML-26 is available, we intend to go continue our
investigation of a permanent fix, to be exit-driven rather
than sampling UCBs, and hope to locate an exit that runs
in the mounting job's address space, which would remove
the 0E0 exposure, but that is clearly a non-trival and
major re-design of the MXG Tape Mount and Alloc Monitor.
Change 20.213 Support for APAR OW52396 (COMPAT) for Ficon Switches adds
VMAC74 meaning for existing bits in R747PTFL and R747PSFL, which
Oct 3, 2002 are already formatted $HEX2. to expose all flag bits.
No change was made to VMAC74.
Change 20.212 Support for APAR OW56162 for SMF type 64 new VSAM EOV SMF
VMAC64 that is written when there is a record management catalog
Oct 3, 2002 update request. Variable SITUIND='CATALOG UPDATE' is set
from SMF64RIN bit 7 for this new event; this record will
not contain any extent information.
Change 20.211 NDM caused INPUT STATEMENT EXCEEDED error when it wrote
VMACNDM an invalid NDM Statistics SMF record (it also wrote a
Oct 3, 2002 message to SYSLOG to let you know it knew it messed up),
that was only 24 bytes long. MXG now tests the length
of the NDM record and avoids the ERROR, instead printing
an ERROR message on the MXG log that an invalid NDM SMF
record was found and deleted. This text will be updated
when a resolution is provided by NDM's vendor.
NDM is now called Connect Direct.
Thanks to Jim Petersen, Washington Mutual, USA.
Thanks to Rick Ramirez, Washington Mutual, USA.
Change 20.210 For DB2 V6 variables QWACARLG & QWACAWLG were not input
VMACDB2 because the two tests for LENQWAC 224 AND QWHSRELN 7
Oct 3, 2002 should have tested QWHSRELN LT/GE 6 instead of 7.
Thanks to Terry L. Berman, DST Systems, Inc, USA.
Change 20.209 VGETDSN now detects that the requested DDNAME is not
VGETDSN allocated, printing a message on the log.
Oct 3, 2002
Change 20.208 TYPETPMX for ThruPut Manager SMF records, variable SPACE
VMACTPMX had to be changed to SPACERQ, because variable name SPACE
Oct 2, 2002 was already defined in TYPE1415 as a character variable.
If you combined TPMX and 1415 SMF records processing in
the same step, you got a strange "INFORMAT PIB UNKNOWN"
error.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 20.207 Variable MODULE was increased from $32 to $64 because the
VMACNTSM length of the module path was found to exceed 32 bytes.
Oct 1, 2002
Thanks to Xiaobo Zhang, ISO, USA.
Change 20.206 Support for SMF 94 subtype 2, and subtype 1 enhancements
EXTY942 adds many valuable VTS variables to existing TYPE94 data
EXTY942P set and creates new TYPE942 dataset with Volume Pooling
FORMATS Statistics added by IBM Field Change 4001.
VMAC94
VMXGINIT
Sep 30, 2002
Change 20.205 Support for z/OS 1.4 (COMPATIBLE) has only minor changes
FORMATS to the SMF manual text and one new variable in TYPE74CA:
VMAC74 -Variable R7451RTY added to TYPE74CA dataset identifies
VMAC79 the RAID Rank Type of RAID-5, JBOD, or RAID-10. Note
Sep 30, 2002 that JBOD is 'Just a Bunch of DASD'!
-SMF records 63, 67, and 69 pages now clearly state they
do not exit because VSAM catalogs no longer exist.
-SMF71LIC (HIUICMN) documents that UIC values can range
from 0 to 2540 seconds; Don Deese clarified that those
larger values are for systems with all central (i.e., no
expanded storage), while 0 to 254 seconds is recorded for
systems that have expanded storage.
-R793CPUU in TYPE793 set missing if it 7FFFx or 00FFx, and
"PERCENTAGE" is added to its label.
-R793CUT should not have been TIME12.3, as it contains the
MVS Utilization (MVS Non-Wait) as a percentage of the
interval length; it is the same as R793CUU if not LPAR.
-These TYPE79A variables are documented as reserved (maybe
was an earlier release): R79AMPLT,R79AGOOU,R79ATCTL,
R79ATYPE, and R79AMSO.
Change 20.204 Support for SMF 120 Subtype 7 and 8 from WebSphere
FORMATS Application Server V4.0.1 for z/OS and OS/390 creates new
EXT120WA datasets:
EXT120WI TYP120WA - Web Container Activity - subtype 7
VMAC120 TYP120WI - Web Container Interval - subtype 8
VMXGINIT These data were added by APAR PQ59911.
Sep 30, 2002
Thanks to Randy Shumate, LEXISNEXIS, USA.
Change 20.203 Variable PONBR should have been kept in the QAPMPOLL
VMACQACS dataset for OS/400 5.1 Collection Services; now it is.
Sep 29, 2002
Thanks to Raymond Dunn, CIGNA, USA.
=Attended 35th Reunion of the NESEP (Navy Enlisted Scientific
=Engineering Program) Class of 1967 at Purdue University.
Change 20.202 Support for BMC's Mainview for DB2 THRDHIST file. The
TYPSTHST type 'K' record contains a beheaded SMF 101 accounting
VMACDB2 record. This new TYPSTHST member reads the THRDHIST data
Sep 23, 2002 and creates all of the DB2 Accounting datasets (DB2ACCT,
DB2ACCTB, DB2ACCTG, and DB2ACCTP) in the PDB library.
Member TYPSTHST defines macro _THRDHST to decode the BMC
header and uses it in place of the standard _SMF macro,
so that the MXG code in VMACDB2 can be used to decode
THRDHIST records. However, when there are more than 10
packages, THRDHIST puts extra package segments in a new
area at the end of their record. Reading the additional
package segments could not be done within VMACDB2 code,
so it was necessary to create a copy of the QPAC logic
from VMACDB2 in the TYPSTHST member, and to invoke that
code in the EXDB2ACC exit redefinition in TYPSTHST.
So now, anything I or IBM does to the QPAC logic in
VMACDB2 must be repeated in TYPSTHST!
-One additional IF statement to reset OFFSMF for THRDHIST
had to be added in VMACDB2 to support this change.
Thanks to Mr. Globisch, R+V, GERMANY.
Thanks to Mr. Peters, R+V, GERMANY.
Change 20.201 Support for ASG-Landmark TMON/MVS 3.0 and 3.1, INCOMPAT.
EXTMVWG TMVS records are completely revised, a new header in all
EXTMVWGS records, and reordering of fields within the existing
FORMATS segments, so you must have this change for TMVS V3 data.
VMACTMVS All existing datasets have been fixed and tested. These
VMXGINIT new subtypes: MC,XC,XD,XS,X2,X3,X4,XP, and XW will be
Sep 23, 2002 supported in the order you request. Comments in member
Oct 1, 2002 VMACTMVS list the record subtypes and TMVS version and
Oct 17, 2002 which MXG datasets are populated by which TMVS version.
Oct 21, 2002 Note: The support for TMON/MVS V3.0 and later is now
Nov 4, 2002 back in TYPETMVS/TYPSTMVS. (Do not use TYPETMV2).
Nov 4: RETAIN M8 (-8); statement inside MACRO _TMVS was
relocated; it was not in the IMACTMVS example, and
if you redefined IMACTMVS for Compressed Data you
got M8 UNINITIALIZED and STOPOVER ABEND.
Thanks to Yves Terweduwe, CIPAL, BELGIUM
Thanks to Michael Stark, 5-3 Bank, USA.
Change 20.200 Support for CICS Transaction Resource Class Data.
EXCICRDS Added by CICS APAR PQ63143 and documented in DFHMNRDS,
EXCICRDF this new CICS SMF 110 Subtype 1 MNSEGCL=5 creates these
IMACCICS two new datasets:
VMAC110 CICSRDS - Resource Class Data - Transaction data
VMXGINIT CICSRDFI - Resource Class Data - File Details.
Sep 21, 2002 There is one observation in CICSRDS for each transaction
whose data is collected, and one observation in CICSRDFI
for each FILENAME that was accessed by the TRANNAME in
the CICSRDS dataset. The transaction data is in the
CICSRDS dataset, and the File information is in CICSRDFI
to minimize the disk space for these data; it may be
necessary to merge the two datasets for some reports.
This new data (finally!) allows you to track what files
had how much activity (counts AND durations) for each
CICS transaction.
As both datasets can be large, neither are sorted by MXG
by default, and both are written to the //WORK file.
To instead write both to the "PDB" ddname, you can use
%LET WCICRDS = PDB;
%LET WCICRDF = PDB;
before your %INCLUDE SOURCLIB(TYPE110) or (BUILDPDB).
Note that to create this new files-used-per-transaction
data, you must change the IBM default FILES=0 in DFHMCT.
Change 20.199 This example program read SAT.TYPE70PR twice and failed
WEEK70PR to read FRI.TYPE70PR at all, causing the WEEK.TYPE70PR
Sep 21, 2002 dataset to be incorrectly build.
Thanks to Michael Marcus, Affilliated Computer System, USA.
Change 20.198 These MONIDBDS variables, from old versions, should not
VMACTMO2 not have been created and can be dropped in _KMONDBD
FORMATS FILEADIN FILEUPRP FILEGET FILEBROW FILEOPCL FILEDEL
Sep 21, 2002 FILESRV
(but they are still kept by default, so any existing
reports you have won't fail with VARIABLE NOT FOUND).
And the field that was used to create those variables is
new variable FILEACM, decoded by new format $MGMONAM.,
to describe the access method that was used for this
file: (ISAM,BDAM,VSAM,QSAM,RMTE,DL/I,DB2,DCOM)
Thanks to Richard Jay Schwartz, State Street Bank, USA.
Change 20.197 Type 30s for JES2 job have blanks for READTIME with valid
VMAC30 REND (Reader End), causing INVALID READTIME messages. Now
Sep 21, 2002 the READTIME=REND if READTIME is blank.
Change 20.196 The ***ERROR.VMACEXC2.2 INVALID DEVCLASS/DEVTYPE message
VMACEXC2 now prints variables ABEND and CONDCODE and a hex dump of
Sep 21, 2002 the first three instances; these messages should be sent
to support@mxg.com for examination. This message occurs
when MXG reads a type 30 with a DD segment in the TIOT
with an unknown Class/Type value. This has been caused by
- errors in your installation's SMF exit code, which can
accidentally overwrite data in the type 30 before the
record is actually sent to the SMF data set. The step
termination exit is often used to print step resources
on the job's SYSMSG, and that exit code has been found
to overlay these fields in the past, (but usually the
DDNAME is still valid). The "your" code may have been
provided by a vendor; for example, CA's job scheduling
product changes the values in SMF records in SMF exits.
- an overlay of the TIOT by the executing program in this
job. Often, the step will have ended with an ABEND, of
a SYSTEM 5xxF or 9xxF, if other control blocks were
also overlaid.
If there were EXCPCNTs in this segment, they can't be put
in the correct EXCPdddd/IOTMdddd bucket, since I don't
know the device type/class to put them in!
Change 20.195 New variables QWACAWTK/M/N/O/Q QWACARNK/M/N/O/Q and
VMACDB2 QWACSPVT/RLSV/RBSV were missing; IBM changed QWACLEN from
Sep 21, 2002 500 to 496 bytes, and removed a reserved field, but MXG
code was expecting 500 bytes.
Thanks to Victoria Lepack, Aetna, USA.
Change 20.194 Formats for MSU constants were updated for the 2064-2xxx
FORMATS processor family. These values are used only if you do
Sep 18, 2002 not have z/OS (which populates the CECSUSEC directly).
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Change 20.193 ANALCICS example ERROR: VARIABLE OPERATOR NOT FOUND if
ANALCICS you excluded the archaic OPERATOR field; Change 13.268
Sep 17, 2002 noted that OPERATOR is almost always blank and that USER
is better, but ANALCICS still used OPERATOR. The example
was revised to use USER, as ANALCICS is included in the
JCLPDB8 job, and the old reference caused an unnecessary
test run to fail.
Thanks to Rick Salazar, City of Long Beach, USA.
Change 20.192 Support for the SAMS:VANTAGE 3.2.0 OBJ=POOLS record adds
EXSAMPOO new SAMSPOOL dataset with interval DASD pool statistics.
IMACSAMS There is an undocumented datetime value, but when decoded
VMACSAMS it is slightly earlier than the SMFTIME, but not enough
VMXGINIT to be a start of interval value:
Sep 17, 2002 SMFTIME SAMSTIME
Sep 30, 2002 07:19:13.44 07:17:45
07:39:05.58 07:37:45
08:00:27.22 07:57:45
Thanks to Jennifer Chu, Goldman, Sachs & Co., USA.
Change 20.191 Tape Mount Monitor records with blank JCTJOBID can occur,
VMACTMNT causing WARNING - TYPETASK NOT DECODED log messages and
Sep 16, 2002 TYPETASK blank in datasets TYPETMNT/TYPETALO/ASUMTAPE.
To suppress the warning message, VGETJESN is now only
invoked when JCTJOBID is non-blank, but TYPETASK will
still be blank when JCTJOBID is blank.
Thanks to Jesse Gonzales, The Gap, USA.
Change 20.190 The new MXG logic to create TYPETASK from "Z2" JCTJOBID
VGETJESN (i.e., the Jnnnnnnn format), tested variable SUBSYS for
Sep 16, 2002 TSO/JES2/JES3/STC to set TYPETASK='JOB', but variable
SUBSYS in TYPE6 is print subsystem (VPS,PFS, etc), and
and those records had TYPETASK='J ' (as would any SMF
record without a SUBSYS variable). This revision sets
TYPETASK='JOB ' for any record whose SUBSYS is not one
of the above four values, if JCTJOBID starts with a "J".
Thanks to Don Cleveland, Wellpoint Health Networks, Inc, USA.
Change 20.189 Candle OMEGAMON/VTAM Release 5.2.0 caused STOPOVER for
VMACOMVT IRNUM=27 internal subtype. Field OMVTINTV was inserted
Sep 16, 2002 and 40 new variables are now created in OMVTTCP dataset.
Thanks to Dave Crandall, Farmer's Insurance, USA.
Change 20.188 Example/member TYPSMQM will read //SMF and create all of
TYPSMQM the MQMxxxxx datasets from SMF 115 and 116 MQ-Series data
Sep 16, 2002 in one pass of SMF, sorting the output in to //PDB.
Thanks to Walt Blanding, Washington Mutual Bank, USA.
Change 20.187 Landmark/ASG for CICS 2.1 variables decoded from TAFLAG1
VMACTMO2 were not all decoded; variables STORVIOL and ABNDMONI are
Sep 5, 2002 now created and output, so the MONITASK dataset has the
same variables as with TYPEMON8 datasets.
Thansk To Arvid Lilleng, IBM Global Services, NORWAY.
=======Changes thru 20.186 were in MXG 20.05 dated Sep 6, 2002=========
Change 20.186 The RMF Reports printed blank for the MVS Level for z/OS
ANALRMFR systems; the test for MVSCHRLV was revised to test for
Sep 5, 2002 ZV prefix to recognize z/OS and print "Z/OS" for Level.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 20.185 Change 20.168 caused MXG to create missing values for the
VMXGRMFI MSU-related variables, but only for non-z/OS systems that
Sep 5, 2002 don't have any IBM MSU numbers, and for which MXG uses a
table look-up to get the values for MSU calculations.
These old records don't have SMF70WLA populated, and MXG
incorrectly tried to calculate a value for WLA, when the
table can only return CPCMSU. The variable ZOS70WLA is
now always zero, as it should never have been created.
This error was caught in the deep QA of the first 20.05.
Note that old SMF 70s not only have SMF70WLA=., but also
SMF70CPA=., so the MSU variables in ASUM70PR/ASUMCEC will
also be missing until your SMF 70s have the added fields.
Change 20.184 Support for z800 processors might be incomplete; tests
VMAC7072 for CPUTYPE='2064'X must be CPUTYPE IN('2064'x,'2066'x).
Sep 5, 2002 Might affect LPARCPUS count and whether spare CPUs were
Sep 6, 2002 output in TYPE70PR for 2066, but if variable SMF70ONT is
populated, i.e., your z/OS maintenance is current, then
that eliminates the need to know the CPUTYPE, and your
z800 TYPE70/TYPE70PR data was just fine. No problem was
reported; this was accidentally observed as a possible
exposure that needed protection.
Change 20.183 A nice example of using a DATA step to perform a linear
ANALREG regression for two variables, returning the equation of
Sep 5, 2002 the best-fitting line, without requiring SAS/STAT.
Documented in its comments and contributed to MXG.
Thanks to Rab McGill, Standard Life, SCOTLAND.
Change 20.182 Type 42 Subtype 19 SMF42NRS='NUMBER OF SYSTEMS' is wrong.
VMAC42 Created when I saw "total cpu across sysplex" and the
Sep 4, 2002 "average cpu per system" and the number=total/average,
SMF42NRS=JNF/JNE for X1, and = JPF/JPE for X2 always
produced a value of 60 for the total to average value
for both the X1 and the X2 segments; for example, one
obs had JPF=71.555 seconds, JPE=1.193 for one system,
with SMF42JPA (interval)=900 seconds. The only clue
as to the meaning of the total:average ratio of 60 is
that SMF42JPG, the number of buffer intervals processed,
was also 60. Assuming the total CPU time is the total,
then the "average" CPU time is the average per buffer
interval, rather than the average per system, so the
label for JNE and JPE were corrected to reflect this
conclusion. The number of systems is now set from the
number of system segments, SMF42NRS=NR42X2.
Thanks to Helmut Roese, COM Software, GERMANY.
Change 20.181 Messages FILE WORK.DSNBREC WAS NOT FOUND BUT APPEARS ON A
TYPETMS5 DELETE STATEMENT were eliminated by replacing two PROC
Sep 4, 2002 DATASETS and DELETE TMSREC and DSNBREC with PROC DELETEs
with DATA=_WTMSTMS and DATA=_WTMSDSN.
Thanks to Dr. Alexander raeder, Itellium, GERMANY.
Change 20.180 MXG used the undocumented STARTHR-1 as the start time of
VMACTNG eachstart time of a performance cube, but the STARTHR may
Sep 4, 2002 only be a daylight savings flag and may not be the start.
Since the TNG data apparently should always start at hour
zero, that is now the MXG default, but that zero default
is externalized in the new MACRO _TNGSTHR TNGSTHR=0; %
If your data needs the MXG equation, you can replace that
TNGSTR=0; statement with any SAS statements that set the
variable TNGSTHR to your desired start hour. Your MACRO
definition would be put in member IMACKEEP, or could be
set in the SYSIN stream using this syntax:
%LET MACKEEP=
%QUOTE( MACRO _TNGSTHR TNGSTHR=STARTHR-1; % );
%INCLUDE SOURCLIB(TYPETNG);
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 20.179 TNG variable INSTANCE was blank in the NT014 (PROCESSOR)
VMACTNG data instead of zero. MXG expected the INSTANCE variable
Sep 4, 2002 to exist and be input from each 3-HDR record, and so set
INSTANCE=' ' to prevent an unexpected carry-forward of
the RETAINed value. This worked with all other objects
with more than one instance, but for the PROCESSOR object
(and presumably any other objects that can have more than
one instance, but actually have only one), CA puts the
INSTANCE value only in the 2-HDR for the object. To fix,
the INSTANCE=' '; statements were removed from the 3-HDR
logic so that the INSTANCE from the 2-HDR will be output.
For documentation and future reference, the sequence of
the TNG records for an NT server are listed here:
Record Object Metric Instance OOO
(-HDR Logical Disk %Disk Time 0;C: 5
4-HDR 1;D: 5
4-HDR _total;_total 5
3-HDR %Free Space 0;C: 5
4-HDR 1;D: 5
4-HDR _total;_total 5
... repeat one 3, two 4 for each metric in object
2-HDR Memory Avail Bytes blank 6
3-HDR Comm Bytes blank 6
... repeat one 3 for each metric in this object
2-HDR Network Interf Bytes Recvd 1 10
4-HDR Bytes Recvd 2 10
3-HDR Bytes Sent 1 10
4-HDR Bytes Sent 2 10
... repeat one 3, one 4 for each metric in object
2-HDR PROCESSOR %priv time 0 10
3-HDR %proc time blank 10
3-HDR %user blank 10
... repeat one 3 for each metric in object
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 20.178 The JCLTEST8 example did not have a DB2ACCT DD statement
JCLTEST8 in step TESTIBM3; if you change the default to send your
Sep 4, 2002 DB2ACCT data to the DB2ACCT DD, this test job failed.
Thanks to Jesse Gonzalez, The Gap, USA.
=======Changes thru 20.177 were in MXG 20.05 dated Sep 1, 2002=========
Change 20.177 The PHYSDISK dataset from Win 2000 Beta 3 (NRDATA=31) had
VMACNTSM incorrect values in AVGSKQL, AVDSKWQL, PCTDSKRD, PCTDSKWR
Aug 30, 2002 and SPLTIORT. Variables are now correctly INPUT in order.
Thanks to Andrzej Dabrowski, CSIR, SOUTH AFRICA.
Change 20.176 Support for ten new Oracle objects and ten new Analysis
EXNTANAC Server objects create these new MXG datasets:
EXNTANCO NTANAC ANSRAGCA ANALYSIS SERVER:AGG CACHE
EXNTANLA NTANCO ANSRCONN ANALYSIS SERVER:CONNECTION
EXNTANLO NTANLA ANSRLAQU ANALYSIS SERVER:LAST QUERY
EXNTANPA NTANLO ANSRLOCK ANALYSIS SERVER:LOCKS
EXNTANPI NTANPA ANSRPRAG ANALYSIS SERVER:PROC AGGS
EXNTANPR NTANPI ANSRPRIN ANALYSIS SERVER:PROC INDEXES
EXNTANQD NTANPR ANSRPROC ANALYSIS SERVER:PROC
EXNTANQU NTANQD ANSRQUDI ANALYSIS SERVER:QUERY DIMS
EXNTANST NTANQU ANSRQURY ANALYSIS SERVER:QUERY
EXNTORBC NTANST ANSRSTRT ANALYSIS SERVER:STARTUP
EXNTORD1 NTORBC ORACBUFF ORACLE9 BUFFER CACHE
EXNTORD2 NTORD1 ORACDBW1 ORACLE9 DBWR STATS 1
EXNTORDD NTORD2 ORACDBW2 ORACLE9 DBWR STATS 2
EXNTORDF NTORDD ORACDADI ORACLE9 DATA DICTIONARY CACHE
EXNTORDY NTORDF ORACDAFI ORACLE9 DATA FILES
EXNTORFR NTORDY ORACDYSM ORACLE9 DYNAMIC SPACE MANAGEMENT
EXNTORLI NTORFR ORACFREE ORACLE9 FREE LIST
EXNTORRL NTORLI ORACLIBR ORACLE9 LIBRARY CACHE
EXNTORSO NTORRL ORACREDO ORACLE9 REDO LOG BUFFER
IMACNTSM NTORSO ORACSORT ORACLE9 SORTS
VMACNTSM
VMXGINIT
Aug 29, 2002
Thanks to Steven M. Dunn, Mainframe Performance Products, AUSTRALIA.
Thanks to Wojtek Stanczew, Northern Territory Government, AUSTRALIA.
Change 20.175 Comments only. Corrected typo and revised descriptions of
WEEKBLD which WEEKBLD/WEEKBLDT/WEEKBL3/WEEKBL3T/JCLWEEK/JCLWEEKT
Aug 29, 2002 member to use for what.
Thanks to Ed Billowitz, Medical College of Virginia - VCU, USA.
Change 20.174 -Change 19.176 created variable R791MLIM but did not add
VMAC79 that variable to the KEEP= list for dataset TYPE791.
Aug 28, 2002
Change 20.173 Change 18.348 documented that QWACvvvv variables should
VMACDB2 be used instead of the QWAXvvvv counterparts in DB2ACCT,
Aug 28, 2002 and why the QWAXvvvv variables were kept. This change
makes these shouldn't-be-used-variables to be correct:
QWAXAWDR QWAXALOG QWAXAWCL QWAXAWAR QWAXOCSE QWAXSLSE
QWAXDSSE QWAXOTSE; they needed to be divided by 4096.
Thanks to Glen Yee, The Gap, USA.
Change 20.172 Variables PCHANBY, PNCHANBY and especially PBUSBY were
VMAC73 not initialized; PBUSBY was non-missing in SMF73CMG=1 and
Aug 27, 2002 SMF73CMG=2 records, causing confusions. Now, all three
are initialized to missing along with the others.
See Change 20.240, 29Oct2002 correction.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.171 Variable DCDRECFM now contains values 10, 11, 12, or 13
FORMATS for FBA/FBM/VBA/VBM Record Formats; DCDRECFM is now set
VMACDCOL and formatted to 10:VBA, 11:FBA, 12:VBM, 13:FBM
Aug 27, 2002 by addition to the MGDCORF format.
Sep 4, 2002 Feb 4, 2003: Text and values for 10: and 11: had been
Feb 4, 2003 reversed; now change text, code, and format all agree.
Thanks to Steve Gormley, Royal Bank of Scotland, ENGLAND.
Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.
Thanks to Steve Lottich, University of Iowa Hospitals, USA.
Change 20.170 Labels for Single-Engine CPU Utilization variables SBUTIL
VMACQAPM SIUTIL, SUTIL, and SWUTIL now contain "Single Engine" and
Aug 27, 2002 PCTCPUBY now contains "All Engines" for clarity.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 20.169 -VMAC7072 adds variable SMF70LAC to TYPE70PR dataset, and
VMAC7072 -VMXG70PR creates new variables LPnLAC from SMF70LAC with
VMXG70PR IBM's 4-hour average hourly MSU, which can be compared to
Aug 25, 2002 the interval hourly rate in LPnMSUHR, and to the LPAR's
Defined Capacity, LPnMSU70, to both PDB.ASUM70PR and
PDB.ASUMCEC datasets.
-New macros added in VMXG70PR let you set the "RMFINTRV"
dataset that will be updated with the PLATxxxx variables,
and set the "ASUM70PR" and "ASUMCEC" dataset names that
will be output, making it easier to create multiples of
"PDB.RMFINTRV/PDB.ASUM70PR/PDB.ASUMCEC" with different
names and different INTERVAL= values. New comments in
member RMFINTRV show examples of the new possibilities.
For example, to build detail, hourly, and daily datasets,
you could use this code as your RMFINTRV member:
%VMXGRMFI(INTERVAL=DURSET,OUTDATA=PDB.RMFINTRV);
%VMXG70PR(INTERVAL=DURSET,RMFINTDS=RMFINTRV,
OUT70PR=PDB.ASUM70PR,OUTCEC=PDB.ASUMCEC);
%VMXGRMFI(INTERVAL=HOUR,OUTDATA=PDB.RMFINTHR);
%VMXG70PR(INTERVAL=HOUR,RMFINTDS=RMFINTHR,
OUT70PR=PDB.ASUM70HR,OUTCEC=PDB.ASUMCEHR);
%VMXGRMFI(INTERVAL=DATE,OUTDATA=PDB.RMFINTDY);
%VMXG70PR(INTERVAL=DATE,RMFINTDS=RMFINTDY,
OUT70PR=PDB.ASUM70DY,OUTCEC=PDB.ASUMCEDY);
which will create these datasets in your PDB library:
Raw RMF Interval RMFINTRV ASUM70PR ASUMCEC
Hourly RMFINTHR ASUM70HR ASUMCEHR
Daily RMFINTDY ASUM70DY ASUMCEDY
You should also put a member ASUM70PR with only comments
in USERID.SOURCLIB, so it is not executes a second time.
Your %VMXG70PR/ASUM70PR must use the same INTERVAL= value
that was used to create the RMFINTRV it will update, by
either using the same INTERVAL= argument, or by using the
DURSET macro for both RMFINTRV and ASUM70PR programs.
The system in the numeric example inChange 20.168 was in
LPARNUM 10, so that LPAR's data in PDB.ASUM70PR will be
in the LPnxxxx variables, (where n=A), for example:
STARTIME LPALAC LPAMSU LPAMSUHR LPAMSU70
12:30 42 6.65 26.62 50
Changes 20.168 and 20.169 should correct and clarify the
calculations of MSU, and I believe that MSU, rather than
MIPS, is the way we will be measuring usage and capacity
on z/OS systems. A newsletter article is in progress.
Change 20.168 With z/OS 1.1 or later, MXG logic to calculate MSU4HRAV
VMXGRMFI could be wrong, and PDB.RMFINTRV variables CECSUSEC,
Aug 24, 2002 CPCMSU, CPCNRCPU and CPCFNAME were missing. MXG logic
Aug 28, 2002 for non-zero SMF70WLA was wrong, revised, and broken in
two steps for clarity and debug, and fewer variables are
needed to be kept in SPIN.SPINRMFI.
I and others believe that the IBM MSU, Million Service
Units per hour, will replace MIPS, and that the MSU will
be the primary metric to express CPU hardware capacity
and/or workload consumption, whether or not MSU is also
used for Software Pricing. MIPS was a constant provided
by a consulting company to describe your processor. MSU
is a constant provided by IBM to describe your processor.
For either constant, it is the CPU seconds that are used,
along with the constant, to describe your capacity and
your capacity used in MIPS or MSU.
These are the important MSU-related variables:
-MSUINTRV - "CPU seconds" * CECSUSEC / 1E6 - is a count
and not an hourly rate, used to calculate
rates. Use only if you are summing MSU.
-MSUPERHR - MSUINTRV * 3600 / DURATM - is the interval
count of MSU (extended to an hourly MSU rate
if the interval is less than an hour).
-MSU4HRAV - MXG 4-hour rolling average MSU per hour from
RMF Interval data. MXG calculates the value
across an IPL, "SPIN"ing the last four hours
for tomorrow's input. Always calculated.
-SMF70LAC - IBM 4-hour rolling average of theMSU rate.
Not calculated when Hardware Capped.
Reset at IPL.
-SMF70WLA - The Defined Capacity of the LPAR MSU rate.
Zero if capacity is not defined. Based on
LPAR share and CPC capacity if Hardware Cap.
-CPCMSU - The CPC total capacity in hourly MSU rate.
-Al Sherkow's excellent research with IBM has found that:
-The WLM measures MSU for its 4-hour rolling average and
max values based on 10 second samples of "LPAR Effective
CPU Time", averaged over a five minute period.
-This value is used internally by WLM when managing (i.e.
"capping") to "Defined Capacity", but those 5-minute
data values are not written to RMF 70 records.
-SMF70LAC, IBM's 4-hr Average Hourly MSU, contains the
most recent calculation of the 4-hr average. It was
calculated within the last 5 minutes but represents four
hours of data from those 5 minute data values.
-The WLCTool uses SMF70LAC and reports at the customers
SMF interval.
-The Sub Capacity Reporting Tool uses SMF70LAC, but it
averages all values per LPAR per hour.
-The SMF 99 subtype 1 record field SMF99_SLAvgMsu has the
current WLM view of the four hour average in 48 service
buckets with the 5 minute interval data. The buckets
are broken up by service accumulated with the partition
was capped and while the partition was uncapped.
-MXG can never exactly match the IBM 10-second sampled MSU
values from WLM 5-minute buckets using RMF interval data,
especially for the maximum values, but using 15 minute or
hour intervals still provides very accurate MSU measures,
as demonstrated below. The RMFWDM command was issued at
12:43 and is compared to the 15-minute RMF interval at
12:30, and with the hour RMF interval starting at 12:00:
Hourly MSU Rate
4-hr Average 4-hr Maximum
RMFWDM snapshot 41 58
IBM SMF70LAC in 12:30 RMFINTRV 42 43
MSU4HRAV (RMFINTRV 15-min data) 41.95 55.4
MSU4HRAV (RMFINTRV hourly data) 40.28 43.8
IBM SMF70LAC (one hour RMFINTRV) 43 43
5-min max=58, 15-min max=55, hour max=44, LAC max=43
STARTIME MSUINTRV MSUPERHR MSU4HRAV SMF70LAC
08:30:00 11.48 45.93 33.93 31
08:45:00 13.84 55.37 35.88 33
09:00:00 11.08 44.35 37.01 35
09:15:00 8.78 35.14 37.57 36
09:30:00 12.66 50.55 39.07 36
09:45:02 13.16 52.62 40.56 38
10:00:03 10.17 40.77 40.91 40
10:15:01 10.73 42.94 41.57 40
10:30:01 10.88 43.48 42.30 41
10:45:02 10.58 42.35 42.99 41
11:00:02 11.18 44.65 43.66 42
11:15:04 10.93 43.81 44.48 43
11:30:02 9.75 38.98 43.78 43
11:45:02 7.89 31.58 43.89 43
12:00:02 9.55 38.20 43.54 43
12:15:02 9.79 39.20 43.18 43
12:30:01 6.65 26.61 41.95 42
(This system had SMF70WLA=50, CPCMSU=118.92)
-MXG'S MSU calculations use the total LPAR CPU time (LPAR
Partition Dispatch CPU time), because that is the MSU the
LPAR really consumed, and that is what you should use for
(conservative) capacity measurement. But because the CPU
Dispatch time is slightly larger than the CPU Effective,
and because IBM samples the Effective CPU to calculate
SMF70LAC for WLC Software Charging, MXG's MSU4HRAV can be
slightly larger than IBM's SMF70LAC (and recall that the
value in SMF70LAC is a truncated integer).
-Keith Munford's has also observed that:
-With Defined Capacity and Hard Capping both enabled:
-The value in SMF70LAC (4-hr average) is zero; IBM has
APAR OW55509 open internally and LAC should be fixed.
However, MXG's MSU4HRAV variable is always valid.
-The value in SMF70WLA is not the Defined Capacity that
you set on the HMC Management Console for that LPAR,
but instead SMF70WLA is the MSU rating of the CPC,
weighted by the LCPUSHAR for the LPAR:
Eg: WLA Set Value = 18 CPCMSU = 119
LCPUSHAR = 43 (out of 299) = 14.38%
IBM recorded SMF70WLA=17 (.1438*119=17.11).
-With Defined Capacity not enabled but with Hard Capping
enabled, SMF70LAC is still zero, and SMF70WLA is again
the CPCMSU rating weighted by its LCPUSHAR:
Eg: WLA Set Value = none CPCMSU = 153
LCPUSHAR = 85 (out of 400) = 21.25%
IBM recorded SMF70WLA=33 (.2125*153=32.51).
-The text of MXG Changes 20.046, 20.043, 19.083, 19.018
and 18.317 all had something to say about WLA and MSU;
some were revised to be accurate when read now, and to
be consistent with what is now known.
-See also Change 20.169 for associated MSU notes.
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Thanks to Melanie Hitchings, British Telecom, ENGLAND.
Thanks to Andy Billington, British Telecom, ENGLAND.
Thanks to Keith Munford, British Telecom, ENGLAND.
Change 20.167 Using BLDNTPDB with the KEEPERS= option failed, with an
BLDNTPDB "Apparent symbolic reference SUFX not resolved." message.
Aug 23, 2002 First two references to &SUFX should have been &DDDDDD.
Aug 29, 2002 Similar error with _S&KEEPS1X then was exposed and fixed.
-A new value for RUNDAY=PDB, can be used if you just want
to create a PDB from an NTSMF file and put it in the PDB
libname (you want to suppress the normal Daily, Weekly,
Monthly and Trending process that are executed when the
default of RUNDAY=YES is used).
Thanks to Andrzej Dabrowski, CSIR, SOUTH AFRICA.
Change 20.166 Variable RDPERCNT was not input in the EDGRDEXT dataset,
VMACEDGR causing the subsequent variables to be misaligned.
Aug 19, 2002
Thanks to Reinhard Nitsch, Provinzial Versicherungen, GERMANY
Change 20.165 Support for EMC's Catalog Solution user SMF record
EXEMCASO (earlier from Softworks, and even earlier that product
IMACEMCS was named VSAM Mechanic) creates new EMCATSOL dataset.
TYPEEMCS
VMACEMCS
VMXGINIT
Aug 17, 2002
Thanks to Lawrence Jermyn, Fidelity, USA.
Change 20.164 This Analysis example caused sort errors that have been
ANALHSM corrected by this change.
Aug 16, 2002
Thanks to Steve Clark, California Federal Bank, USA.
Change 20.163 Support for the additional four fields in subtype=15,
FORMATS variables SMF15TIM, SMF15LTR, SMF15RSN, and SMF15MGT.
VMACSTC Format $MGSTCVT was created to decode SMF15RSN reason.
Aug 15, 2002
Thanks to Perry Lim, Union Bank of California, USA.
Change 20.162 The UTILRMFI utility (used if RMFINTRV reports duplicate
UTILRMFI CPU time, or to find out what is being put in 'OTHR') now
Aug 15, 2002 has arguments identical to VMXGRMFI, so to run UTILRMFI
reports with your definitions, just copy your tailored
"%VMXGRMFI(..." text into your //SYSIN file, change that
"%VMXGRMFI" to "%UTILRMFI", keeping all your tailoring
arguments, and UTILRMFI reports will be produced using
your definitions, with no retyping!
Comments in UTILRMFI were revised.
Thanks to Ada Phillips, University of Michigan Medical, USA.
Change 20.161 -Support for ASG-Landmark TMON/DB2's Change in format of
EXTMDBD0 the Version field. Originally a binary number, in 3.2
IMACTMDB it became an EBCDIC numeric, 'F3F2'x for 3.2, which made
VMACTMDB LMRKVER=24.3. Accidentally, all of the MXG tests worked,
VMAC102 but MXG code now detects and inputs the new format.
VMXGINIT -INPUT of the header fields starting with HDLEN was out of
Aug 14, 2002 aligment because of undocumented fields (inserted by the
assembler to maintain alignment) that are now skipped.
-The new DBHCDUID, DBHCEUTX, and DBHCEUWN End User USERID,
Transaction Name, and Workstation Name were observed to
contain lower case characters, just FYI for testing, etc.
-Dataset TMDBBD, Authorization Failure, 'BD' record, which
is the data segment from IBM's SMF 102 IFCID=140, now has
all of the QW0140xx variables created and kept, using an
extract of the VMAC102 source code.
-VMAC102 and VMACTMDB documentation of SQL text variables:
(This design change was made in Change 17.251, but was
never clearly documented, especially the zero obs part):
For the SMF 102 DB2 trace records containing SQL text:
T102S063,T102S124,T102S140,T102S141,T102S142,T102S145
(or for the Landmark dataset TMDBBD QW0140TX variable),
the SQL text variable that contains the SQL text
QW0063ST,QW01242T,QW0140TX,QW0141TX,QW0142TX,QW0145TX
was broken into 100 byte chunks, with the 1st 100 output
in the T102Snnn dataset, and the rest "chunked" into the
T102T063,T102T124,T102T140,T102T141,T102T142,T102T145
(for Landmark, TMDBBD0)
"text" datasets that contain only the text and key vars.
But SAS Version 8 supports long character variables, so
with V8 and (the MXG default of) COMPRESS=YES enabled,
only one observation is output in the T102Snnn dataset,
with the entire text stored in the SQL variable, and the
"Text" T102Tnnn datasets will contain zero observations.
(With archaic SAS V6, or with V8 and COMPRESS=NO, MXG
reverts back and "chunks" the test into the T102Tnnn.
-Some incorrect EBCDIC conversions were found in the
VMAC102 code that had impact only when the code executed
under ASCII SAS were relocated and corrected, and then
that code was used in VMACTMDB.
Thanks to Richard Jay Schwartz, State Street Bank, USA.
Change 20.160 MACRO _K102CMN is defined so that you can add variables
VMAC102 to the _V102CMN list of variables that are kept in all
Aug 14, 2002 T102xxx (DB2 trace) datasets, as this is safer than
redefining the _V102CMN macro, in case MXG ever needs to
add variables to that common list.
Thanks to Dr. Alexander raeder, Itellium, GERMANY.
Change 20.159 ASMTAPES ML-25 replaces ML-24; two sites had CPU loops in
ASMTAPES MXGTMNT itself, and one noticed 0C4 Logrec records. The
Aug 13, 2002 error was an unexpected fall-thru after recovery of a 0E0
Aug 30, 2002 or 0C4 ABEND in one of the two cross memory environments
(one, during device scan, and the second during a check
for device allocation for the subtype 4, each of which is
protected by a separate recovery ESTAE). The recovery
logic was revised to fix the CPU loop, but ML-25 now also
eliminates MXGTMNT logrec entries for those 0E0, 0C4, and
any other abends that occur in cross memory (because the
called address space had already been terminated before
our next 2-second sample). Any "real" abends in MXGTMNT
will not be suppressed from logrec.
Thanks to Steve Simon, Alltel, USA.
Change 20.158 First PROC DELETE DATA=ZZAIXPTX is changed to _WAIXPTX.
VMACAIX
Aug 13, 2002
=======Changes thru 20.157 were in MXG 20.04 dated Aug 12, 2002=========
Change 20.157 MXG 20.04 QA cleanup:
-Non-used or typo-s members EXAIXAIX,EXCICEJB,EXQCSCON,
VMACAIX EXQCSDIS,EXQCSJOB,EXQCSPOO,EXT120JM,EXTMTCIN,EXZRBASH,
VMACNPIP EXZRBDSI,EXZRBDVH, and EXZRBENH were deleted.
VMACTMO2 -In _SAIXPTX and _SNPIP02 sort macros in members VMACAIX
VMAC103 and VMACNPIP, typos WAIXPTX and _WNPIP02 were corrected
Aug 11, 2002 to ZZAIXPXT and ZZNPIP02.
-In VMACTMO2, variables QAPRCPUT/QAPRCPUC were misspelled
in MONIPA KEEP list and were not kept, and duplicate
variables in KEEP list were removed, and some VMXGTIMEs
were added.
-Datetime variables not in %VMXGTIME() calls were found in
VMAC103/SERVSTRT
Change 20.156 Support for new NTSMF object, MODULE, tracks DLL modules
EXNTMODU used for application analysis, in new MODULE dataset.
VMACNTSM The new %Disk Busy, Avg Disk Service Time, and Avg Disk
VMXGINIT Queue Time counters created in NTSMF 2.4.4 are now
Aug 9, 2002 supported in both the Logical and Physical Disk datasets.
Change 20.155 Specifying INTERVAL=NONE for CICINTRV is not typically
VMXGCICI useful, since it sums all data for all executions of an
Aug 9, 2002 APPLID, but at least now it works without a zero divide
error, and comments suggest it is not likely useful.
If you specify INTERVAL=HOUR, etc., you must have data
with SMFSTREQ='INT', i.e., you must have interval records
enabled by your CICS guru, and the actual interval must
be less than or equal to the INTERVAL= value you use in
your CICINTRV - IBM default interval is 3 hours. Check
the SAS log, as MXG will print a warning if your INTERVAL
request can't be honored.
Thanks to Brian Keller, ConAgra Inc, USA.
Change 20.154 MXG expected LDSKNAME to be a single letter, but now data
VMACNTSM with HarddiskVolume1, etc., appear in a Win/2000 server
Aug 9, 2002 that shares data on a Hitachi Data Systems 7700E array.
(This is a fail-over cluster, and the system that is
'in control' has the expected disk letter as LDSKNAME,
but on other servers in the cluster that are not in
control, this longer name value is seen).
The problem is that MXG kept LDSNAME in $8, which caused
all of these separate disks to be combined as HARDDISK.
Increasing the length of variable LDSKNAME to $16 should
be sufficient to store the longer name value.
Thanks to John Compton, Bristol and West, ENGLAND.
Change 20.153 Documentation only. If you have multiple systems with
IMACTIME different time zones sharing a common JES spool, and you
Aug 9, 2002 failed to use TIMEBILD to convert those datetimes to a
common zone, your //SPIN library will fill and nothing is
output to the PDB.JOBS/STEPS/PRINT datasets, because MXG
compares the type 26 JES purge JTRTIME/JENDTIME with the
JINITIME from the type 30 (to ensure, only for restarted
jobs, that the correct (final) job termination record has
been found). When you realize this is why your SPIN
library is growing, you first need to enable the TIMEBILD
to correct future timestamps, but you can clean out old
records in the SPIN file using the old IMACTIME member,
which has always externalized the time test logic. Use
IF IN26 AND IN30_5 THEN OKFLAG=1;
to completely suppress the time check part of PDB logic.
This change only added comments to member IMACTIME.
Change 20.152 SMF 118 Subtype 70 caused INPUT STATEMENT EXCEEDED error.
VMAC119 Four MAX(nn,xxxLEN) were changed to MIN(nn,xxxLEN).
Aug 8, 2002 Three were in subtype 70 and one was found in subtype 3.
Aug 9, 2002 Also, variable IFHOMEIP was corrected in subtype 6.
Also, variables FCLREPLY and FSLREPLY were changed from
character variables to numeric variables, because they
are the 3-digit numeric FTP reply codes in RFC959.
Note that FCLREPLY is a four-byte binary value, with
'000000E2'x for decimal 252, but FSLREPLY is a three
byte EBCDIC numeric value 'F2F5F0'x for 250, so the
two fields are input with different informats and the
extra byte of FSLREPLY is skipped.
Thanks to Bob C. Allen, John Deere, USA.
Thanks to Jonathan M. Miller, John Deere, USA.
Change 20.151 This example report now shows local time rather than GMT,
ANALTCP offers new %MACRO arguments to control the reports, and
Aug 9, 2002 made minor corrections. See comments in the member.
Oct 15, 2002 Note that IBM still does not provide the Start Date in
TCP data, so with only a Start Time of Day value, the
elapsed time calculation will be wrong for multi-day
sessions.
Oct 15: Realignment of columns on TOTAL report and clean
up of comments.
Thanks to Jim Hayes, Huntington Services, USA.
Thanks to Judy Doherty, Florida Legislature, USA.
Change 20.150 -Initial support for SAS Version 9 Pre-Production. In MXG
CONFIGV9 20.04-20.05, the CONFIGV9 member had no SEQENGINE option,
MXGSASV9 so the V9 default V9SEQ engine was used. But MXG 20.06
Aug 8, 2002 added SEQENGINE=V6SEQ when it was discovered that the V9
Oct 3, 2002 sequential engine still compresses tape dataset.
Mar 1, 2003 -The JCL Procedure example member MXGSASV9 is the same as
MXGSASV8, but points to the CONFIGV9 member, just in case
you look for the MXGSASV9 JCL example.
Note: Updated Oct 3, 2002 here, without the reason:
The SEQENGINE=V6SEQ was added to CONFIGV9 because both
the V8SEQ and V9SEQ engine compress tape datasets.
SEQENGINE=V6SEQ is the only safe sequential engine.
Do NOT use the default SEQENGINE=V9SEQ.
See Newsletter FORTY-ONE, SAS Technical Notes, for V9.
Change 20.149 If you enabled TIMEBILD/VMXGTIME to change timestamps,
VMAC26J2 datasets TYPE26J2/TYPE26J3/PDB.JOBS had variables
VMAC26J3 JRDRTIME JCNVTIME JCNETIME JSTRTIME JENDTIME JPRNTIME and
Aug 8, 2002 JFINTIME incorrect if that event occurred on a system
which has a different GMT offset than the SYSTEM of the
purge event. Variable SYSTEM was used to get the GMT
offset. Now, the correct event system variable is used
(SYSREAD SYSCVRT SYSEXEC SYSOUTP) to get the GMT offset.
Change 20.148 Multiple CMODNAME='USER' CMODHEAD='USER' fields are now
UTILEXCL correctly supported, creating a single INCLUDE statement
Aug 8, 2002 for the IMACICUS member, with the sum of CMODLENG from
the multiple fields used for detection/protection logic.
Previously, multiple INCLUDEs were created, with notes
for you to remove those duplicates, but the length tests
were wrong, so the output dataset was trashed.
Thanks to Victoria Lepak, Aetna, USA.
Change 20.147 Variable PLATFORM was added to all TNG datasets so you
VMACTNG can identify the software version that created each
Aug 7, 2002 observation in each dataset.
Thanks to Gunner Jacobsen, Nordea Bank Sverige AB, SWEDEN.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 20.146 ASMTAPES/MXGTMNT ML-24 provides these revisions:
ASMTAPES -Fix to eliminate filling logrec due to 0E0 ABENDs:
Aug 7, 2002 the 0E0 Software ABENDs still occur when the mount is
so fast that the ASID has gone away, and MXGTMNT still
recovers, but now it prevents the unneeded and unwanted
logrec record from ever being created.
-Enhanced recovery logic. Previously, the 0E0 recovery
routine would skip all remaining devices after a 0E0.
Now it only skips the DEVNR with the 0E0.
-Fix for high CPU loop and/or high SMF record write loop
(only in ML-21 thru ML-23).
We're pretty certain this is corrected, but please
look closely and verify all is well with the CPU
time used by MXGTMNT.
-Correction for a pre-existing programming error in
memory management (a "storage leak") in the recovery
logic found while testing.
That it has taken since February until August to find a
solution to the original problem of filling logrec shows
this was a non-trivial redesign!
ML-24 doesn't solve the missed mount due to fast VTS
mounts, since some are as fast as tens of milliseconds.
But reducing the 2 second sample pop to 1/2 second can
improve the percent of mounts captured, and you can see
if there was a significant cost in the CPU time of the
MXGTMNT monitor (and let me know your results!).
However, by using the ASUMTAPE program to merge TYPETMNT
mount, TYPETALO allocate, and (always-there) TYPE21
dismount record to create the PDB.ASUMTAPE dataset, and
use it instead of the PDB.TYPETMNT dataset, then your
total mount activity will be captured; fast mounts will
just have missing/blank values for MNTTM (and other
variables only available when the mount is captured).
Depending on feedback from you as to how important these
missed mounts actually are, we may begin to investigate
if there is any alternative to sampling, but at the very
best, that would be a many-month, many tests, redesign.
Let me know your thoughts.
Thanks to my new ASMTAPES support person, who chooses to be anon.
Change 20.145 SAS Version 9 Beta prints a warning when it finds syntax
VMAC74 with a quoted string that is not followed by a blank:
Aug 6, 2002 NOTE 49-169: THE MEANING OF AN IDENTIFIER AFTER A QUOTED
STRING MAY CHANGE IN A FUTURE SAS VERSION....
Only one instance was detected in MXG, in VMAC74, where a
blank was needed before the OR in IF R74ETYPE='B'OR ....
A blank was not previously required, and even with V9,
the program compiled correctly, but the warning will let
you identify and correct any similar "unwise" syntax in
your SAS programs, so you can revise your code now, long
before SAS tightens up the syntax requirements.
Thanks to MP Welch, SPRINT, USA.
Change 20.144 MXG incorrectly read NTSMF PROCESS object records with
VMACNTSM NRDATA=20 or NRDATA=27 (NTSMF 2.2.2 with NT 4.0 or 5.0).
Aug 6, 2002 Variable CREATPID was not INPUT, causing the next three
three variables (POOLPGBY, POOLNPBY, and HANDLES) to be
wrong, and for NRDATA=20, the new READYTHR variable was
not INPUT. The IN() test for CREATPID now tests for both
20 and 27, and the IN() test for READYTHR now tests for
20 to correct these errors.
Thanks to Xiaobo Zhang, Insurance Services Office, USA.
Development stopped from August 1st thru August 5th, 2002, so Judy and I
could attend the Terrapin Station concert at Alpine Valley, Wisconsin,
the first reunion of "The Other Ones" as the remaining four originals
from "The Grateful Dead" now call themselves. Fantastic performances,
peace and love among deadheads prevailed; it was a "grate show".
Change 20.143 APAR OW55735 for the NPM/IP 1.3 and 1.4 product changes
VMACNPIP the documentation for BYTESSNT and BYTESRCV variables in
Jul 30, 2002 dataset NPMIP02; previously "ACCUMulated", now "DELTA"
values, so the DIF() logic in the _SNPIP02 Sort Macro
was removed.
Change 20.142 Addition of SORTEDBY= still failed if a dropped variable
VMXGSUM only appeared in the SUMBY= argument, because VMXGSUM
Jul 30, 2002 used the original SORTBY= string as the SORTEDBY= value.
(For example, if variable OPERATOR was not in CICSTRAN,
your TRNDCICX now failed). Code was relocated so now the
variables that actually exist are used for both SORTBY=
and SORTEDBY= values, protecting dropped variables.
Thanks to John Gebert, Office Depot, USA.
Thanks to Justin Peterson, Office Depot, USA.
Change 20.141 Support for Williams Data Systems IMPLEX Version 2.1 adds
VMACMPLX five new datasets for Protocol Monitor of FTP, NTT, EE,
Jul 26, 2002 OSPF, and MIBs. No SMF records from new version have
Feb 3, 2003 been tested. Feb 3: This change supports Version 2.3.
Change 20.140A Actual data values for SMF70CSF,SMF70ESF show they are in
VMAC7072 megabytes and not frames, so their 4096 multiplier needs
Jul 26, 2002 to be 1048576. IBM acknowledged the documentation error.
Thanks to Allan Winston, MBNA, USA.
Change 20.140 MXG 20.02-20.03 only. ALL Landmark TMON/CICS datetimes
VMACTMO2 are wrong, if your GMT Offset value is non-zero. MXG
Jul 25, 2002 Change 20.072 incorrectly assumed that TODSTAMP values
were in GMT and incorrectly added the GMTOGMTO offset to
every datetimestamp variable. Close examination of data
with non-zero GMT offset shows all timestamps are local,
except for TMMDCCLK, which is not kept nor converted, so
all of the xx=xx+GMTOGMTO; statements were removed.
-Variable TKLSTTOD was incorrectly treated as a duration,
but now is input and formatted as a datetimestamp.
-The one statement GMTOGMTO=GMTOGMTO/4096; was deleted.
Thanks to Dean Ruhle, J C Penny, USA.
Change 20.139 If your GMTOFFTM is non-zero, most datetimes in TMON/DB2
VMACTMDB will be wrong; Change 19.288 assumed all STCKs were GMT,
Jul 25, 2002 but data shows that only REGNTIME, DBKSCB/DBKSCE, and
(only for LMRKREC=:'B') HSSTCK and HDTSTP are GMT and now
only those variables have +GMTOFFTM conversion to local.
Thanks to Martin Legendre, Regie des Rentes du Quebec, CANADA.
Change 20.138 CIMSDBDS dataset had obs with DBORG='00'X that should not
VMACCIMS have been output. Those DBD segments are now documented
Jul 22, 2002 as dummy, when DB2 was called but no DB2 data collected;
previously, documented as ALLDBS Sync Point Writes. This
change no longer outputs to CIMSDBDS if DBORG='00'X AND
FLGOVERF='00'X, added to ensure that only dummy segments
are skipped.
OBSERVATION COUNT CHANGE: CIMSDBDS has fewer obs.
Note: 02Jan02: See Change 20.306 revision.
Change 20.137 The Print/Means/Contents all datasets utility VMXGPRAL
VMXGPRAL had minor corrections to eliminate a note about TITLEs,
Jul 22, 2002 and to reset OBS=MAX after its execution, and defaults
were changed so %VMXGPRAL(DDNAME=WORK,NOBS=10); now will
only PROC PRINT the first ten obs of each dataset in the
work file that had any observations, which I find quite
useful in validating datasets I've just created.
Change 20.136 The %LET DDNAME=QAPMPOLB; after MACRO _TQAPPOL should be
VMACQACS %LET DDNAME=QAPMPOLL; to read from the correct file.
Jul 18, 2002
Thanks to John Gebert, Office Depot, USA.
Change 20.135 An 0C4 ABEND reading RMFVSAM was caused by a bad branch
ASMRMFV in old code in ASMRMFV, which was exposed only if the CSR
Jul 18, 2002 Common Storage Remaining table was (unexpectedly) empty.
Jul 22, 2002 The CSRG3 table was empty because the DIAG member in
parmlib was set to OFF on one LPAR, but the correction
protects for an empty table. Thanks to Jerry for his ASM
skills, and to his management for allowing him to examine
Betty's dump to diagnose and correct the error. And an
error if only ASI was selected was also corrected.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Thanks to Betty Wong, Bank of America, USA.
Change 20.134 Variable S42DSBUF in dataset TYPE42DS was off by one bit,
VMAC42 so Buffer Type (NSR/RLS/LSR/GSR) values were incorrect.
Jul 18, 2002 The corrected decoding of VSAM Buffer Type is:
S42DSBUF=FLOOR(INPUT(S42DSFL1,&PIB.1.)/64);
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 20.133 Variable TYPETASK was added to LENGTH as $4 to protect
VMAC26J2 and to be consistent with other instances of TYPETASK.
Jul 18, 2002
Change 20.132 Support for the new NTSMF File System Collector, which is
VMACNTSM like DCOLLECT for NT! The new FS Statistics object will
Jul 17, 2002 capture the size, type, name, owner, etc., of all or some
NT disk files with the create, last access, and last use
datetimes, so you can measure and chargeback disk space.
The new dataset FSSTATS will have an observation for each
file that was captured (you can set thresholds on size,
etc., to determine if all or only some files are reported
by this new collector.
Change 20.131 Cosmetic. The conversion of variable AVAILMEK is now
VMACNTSM tested to be non-missing, to suppress the Missing Values
Jul 17, 2002 SAS Note if you do not collect that field in NTSMF data.
Thanks to Bob Gauthier, Albertsons, USA.
Change 20.130 Support for APAR PQ61349 adds SERVSTRT (HTTP Server Start
VMAC103 Datetime) to both TYPE1031 and TYPE1032 datasets, and
Jul 16, 2002 JOB and ASID to TYPE1031 dataset. When not running in
single server mode, the entity name is not unique, these
fields provide unique tokens so the subtype 1 and subtype
2 can be merged together.
Note: Jul 16, 2024. Dataset TYPE1031 is not kept as it
is created in //WORK but then combined with TYPE1032 to
create PDB.TYPE1032 and WORK.TYPE1031 and WORK.TYPE1032
are then deleted.
Change 20.129 Support for APAR OW54007, which adds SMF42ESA (UCBSTAT)
VMAC42 and SMF42EFL (UCBSFLS) variables to TYPE42AU dataset.
Jul 16, 2002
Change 20.128 -New ANALDB2K member combines DB2ACCTP Package counts with
ANALDB2K DB2ACCT Accounting variables and creates dataset DB2ACCTK
EXDB2ACB with both Package and Accounting data. Comments in the
EXDB2ACP ANALDB2K document what was discovered about Packages.
VMACDB2 -This analysis uncovered errors in MXG; observations were
Jul 16, 2002 output into DB2ACCTP and DB2ACCTB for Parallel RollUp
records that were not output in DB2ACCT (See discussion
in text of Change 19.027). The logic added to EXDB2ACC
to delete if DB2PARTY='Y' AND QWACPARR='Y' was added to
the EXDB2ACB and EXDB2ACP members so all rollups will be
deleted. This required relocation of code inside VMACDB2
so those variables would exist for those exits.
OBSERVATION COUNT CHANGE: DB2ACCTP has fewer obs.
OBSERVATION COUNT CHANGE: DB2ACCT has fewer obs.
Thanks to Nicholas Ward, Northern Territory Government, AUSTRALIA.
Change 20.127 IBM MSU Capacity Values for MultiPrise 7060 CPUs are not
FORMATS going to be provided by IBM (!!!), but Al used Cheryl's
Jul 16, 2002 input and his best guess to estimate an MSU capacity in
this update to the MXG format $MG070CP, used to create
the MSU capacities in dataset RMFINTRV, for the 7060
models H30, H50, H55, H70, and H75.
Thanks to Andrew Woods, FT Ineractive Data, ENGLAND.
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 20.126 Variable UNITADDR was changed to DEVNR in this report
ANALCACH example, so all four digits of the address are displayed.
Jul 16, 2002
Thanks to Jon G. Whitcomb, Great Lakes Educational Loan Service, USA.
Change 20.125 The SMF type 90 subtype 32 record was not supported in
EXTY9032 the TYPE90A member (which should be used instead of the
FORMATS old TYPE90 member) and the MG090CM format was updated for
VMAC90A subtypes 27-32.
VMXGINIT
Jul 16, 2002
Thanks to Bruce Hewson, Citicorp, SINGAPORE.
Change 20.124 The automatic creation of SORTEDBY= added to VMXGSUM by
ASUM42DS Change 20.094 caused this special case to fail, because
Jul 15, 2002 one of the variables in the SORTEDBY= list was renamed in
the final data step. The code was revised to relocate
the rename to avoid the error.
Thanks to Gary Keers, Indianapolis Light & Power, USA.
Change 20.123 Unused Change Number.
Change 20.122 Variable QWACAWDR, Wait Time for Drain Lock, was wrong.
VMACDB2 The statement QWACAWDR=QWAXAWDR; was deleted, because it
Jul 14, 2002 overrode the QWACAWDR=QWAXAWDR/4096; statement a few
lines earlier that set the correct value.
Thanks to Scott Mcdonall, Southern California Edison, USA.
Change 20.121 The Read/Write variables S94CLRD0-7 and S94CLWD0-7 were
VMAC94 formatted with MGBYTES to display bytes transferred, but
Jul 14, 2002 not converted internally from frames to bytes; they are
now multiplied by 4096 to correctly contain and display.
Thanks to Thomas Heitlinger, FIDUCIA IT AG Karlsruhe, GERMANY.
Change 20.120 Cosmetic. Labels for NSPL/NSPP/NSPS frames now contain
VMACNSPY Logical Link, Physical Link, and Physical Unit to clarify
Jul 14, 2002 their contents.
Thanks to Bruce Rosenthal, Inovant, USA.
Change 20.119 Variable S94MTVCA, Maximum Age of any Volume in VCA, was
VMAC94 not converted to seconds nor format TIME8, and thus was
Jul 14, 2002 unlike SMF94VCA, Average Age of volumes in the VCA. Now
both "age" variables are displayed in units of duration.
Thanks to Frank Zemaniak, Vanguard, USA.
Thanks to Ep van der Es, Dow Chemicals, BELGIUM.
Change 20.118 Two additional optional Candle CICS segments, CANPROD2
IMACICD2 and CANPROD3 are now supported when UTILEXCL detects they
IMACICD3 have been added to your type 110 SMF records. Each is a
UTILEXCL four byte field that now creates variables CANPROD2 and
VMAC110 CANPROD3 with those data.
Jul 14, 2002
Thanks to Junaina Haji Abdul Jalil, Qantas Airways Limited, AUSTRALIA
Change 20.117 SAS V6-only: %macro compiler appears to have mis-parsed
VMXGRMFI and lost an end-of-comment */ that ended in column 72,
Jul 14, 2002 immediately prior to an imbedded old-style definition of
MACRO _KRMFINT, with a user-tailored VMXGRMFI execution.
Removing the */ and rerunning under V8 generated the same
error message. This is not the first time that parsing
MXG code with both old-style MACRO definitions and %macro
statements has gone astray when text was in column 1 or
72, but since this error does not occur with SAS V8, I
chose to EDIT end comments so column 72 and 1 are blank
in VMXGRMFI, just for future problem avoidance, and so
the program will still work with Version 6.
Thanks to Albert Nosier, Qantas Airways Limited, AUSTRALIA.
Change 20.116 Support for Type 74 subtype 7 FICON data, new datasets:
EXTY747P TYPE747P - FCD Global, Switch, and Port data
EXTY747C TYPE747C - FCT Connector data
VMAC74 TYPE74P matches RMF reports, but only ports of type CHPID
VMXGINIT (R747PTFL='20'X) appear to have real data. Other ports
Jun 25, 2002 have R747PTFL='00'X and R747PCU='0000'X, but have large
Jul 14, 2002 (and unreasonably large) counts for frames and bytes.
I chose to output any port that had non-zero frame count,
since those ports are the only ports printed by RMF.
This support will likely be enhanced/revised when more
test data has been analyzed and IBM has been contacted.
Jul 14: Labels for PCTPNCHA/DLYCHATM variables changed to
"Director" verus Channel to agree with Change 17.269
APAR OW49638 relates to an RMF problem with FCD option.
Oct 5: Without this change, 74-7 caused DOMAIN ERROR
message; R747PFPT was only input as 4 bytes.
Thanks to Scott Wiig, U.S. Bank, USA.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 20.115 Cosmetic, has been this way for a long time; the dataset
VMXGSUM label was a single double-quote (rather than blank) for
Jun 24, 2002 datasets when DSNLABEL was not used to label the dataset.
Thanks to Freddie Arie, TXU, USA.
Change 20.114 STCVSM28 dataset (new in MXG 20.03) variable STC28CLN had
VMACSTC STC28VID as its value, and STC28VID was not kept. Change
Jun 23, 2002 the second STC28CLN of each pair to STC28VID.
Variables STC27RES an STC27STP are formatted $MGSTCSL.
and $MGSTCSD. after extraneous lines were removed.
Thanks to Freddie Arie, TXU, USA.
Change 20.113 VVDS fields were not correctly decoded if the component
VMACVVDS name was exactly 44 bytes; the MXG $VARYING44. INPUT must
Jun 21, 2002 be increased to $VARYING45. (four places) because the one
byte length field has a value of 45 when the name is 44,
and that put MXG's INPUT out of alignment.
Thanks to Mike Field, Royal Bank of Scotland Group, ENGLAND.
Change 20.112 197 source files in my master directory had a '1A'x EOF
DOC character as their last byte; these stray characters are
Jun 20, 2002 created on Windows by SPF/PRO or SPFPC EDITORs, when the
FILE TERMINATOR='Y' is specified instead of ='N'. That
option is set for each profile (file suffix) on the 2nd
page of the PROFILE options. That character only causes
a problem if you upload the ASCII file to MVS, which will
create a new source line with an unprintable '3f'x hex
character that causes a syntax error, or an ASM error.
The MXG tape and CD-ROM have never contained an '1A'x,
nor do the ftp ebcnnnn/ascnnnn files (it did exist in the
ftp dirnnnn.zip file). All '1A'x were removed. This
change was included in the MXG 20.03 release.
Thanks to MP Welch, SPRINT, USA.
=======Changes thru 20.111 were in MXG 20.03 dated Jun 19, 2002=========
Change 20.111 Oracle OSDI records can only be recognized by SUBSYSID;
VMACORAC MXG's default IF SUBSYSID='OSDI' THEN DO; in VMACORAC
Jun 18, 2002 caused lots of missing values if your subsystem name(s)
were something else. This change created new _IDORACO
macro definition to externalize the test. To select your
Oracle subsytems, you would code the expression you want
to be true as the value of the _IDORACO macro:
MACRO _IDORACO
SUBSYSTEM IN ('ABCD','EFGH', :'OSD')
%
and that MACRO definition can be put in your IMACKEEP
tailoring member, or can be defined in the //SYSIN with
//SYSIN DD *
%LET MACKEEP= MACRO _IDORACO .... % ;
Note the colon before 'OSD' selects starting-with-OSD.
Thanks to Dick Triplett, Lockheed Martin, USA.
Change 20.110 New WEEKCEC annd WEEK70PR members based on TRNDCEC/70PR
WEEKCEC will build the WEEK.ASUMCEC/WEEK.ASUM70PR correctly from
WEEK70PR partial weeks data.
Jun 18, 2002
Thanks to Diane Eppestine, SBC Services, USA.
Change 20.109 ENCG3 record with no segments (ENCG3TEO=0 or ENCG3DEO=0,
VMACRMFV or both 0), caused INPUT STATEMENT EXCEEDED error. MXG
Jun 17, 2002 tests TEO/DEO, deletes record if either are zero, and
prints a message for each deleted zero segment record.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 20.108 Documentation note. Variable UOWTIME can have a value in
VMAC110 the future or the past, but not likely a valid "present"
May 23, 2002 value. UOWTIME is decoded from the first six bytes of
Jun 17, 2002 UOWID field, historically displayed as a datetime value.
Jul 25, 2002 But its only use is as a token, to match multiple CICS
MRO transactions together, or to match CICS and DB2ACCT;
so the datetime value is never used nor important.
Now, IBM often puts a valid TODSTAMP value in those six
bytes of UOWID, but I cannot change the MXG UOWTIME code,
safely, simultaneously, in all of the datasets that have
the UOWTIME variable for matching, so we are thus stuck
with a seemingly invalid value in variable UOWTIME.
But, if you see that UOWIDCHR does contain a TODSTAMP
value, (like 'B74AA17CB093'x for 07MAR2002:14:03:56.26),
you can create the actual arrival time in a new variable
UOWTOD, using the UOWIDCHR and GMTOFFxx variables:
UOWTOD=INPUT(UOWIDCHR!!'0000'X,TODSTAMP8.);
FORMAT UOWTOD DATETIME21.2;
LENGTH UOWTOD 8;
UOWTOD=UOWTOD+GMTOFFTM;
in your analysis programs. Adding the GMT Offset is
required because the UOW time is on GMT; note that MXG
has different names for the GMT offset variable.
P.S. That 'B74AA..'x UOWID value was decoded by MXG
in UOWTIME as '13OCT2001:01:56:38.49'.
Change 20.107 Syntax ARRAY CTR{54} was not accepted by SAS 6.09 at TS
TYPEIMSA TS450; CTR {54} with a blank inserted before and after
Jun 17, 2002 the "Squiggly" parentheses was required for old 6.09.
Thanks to Romain Capron, MATMUT, FRANCE.
Change 20.106 Support for G06 TANDPROC LRECL=442 record (INCOMPATIBLE)
VMACTAND eliminated the DIVIDE BY ZERO error. This record had
Jun 15, 2002 DURATM of zero in the record; MXG re-calculates duration
as DURATM=ENDTIME-STARTIME if the DURATM field is zero.
Variables starting with DEVICENM were misaligned; GNPUT,
because TMFFILL3 in the G05 record is where DEVICNM is
found in this G06 record. Six new variables are INPUT as
F1-F6 from the end of the record; they will be renamed
and labeled when I get G06 TANDPROC documentation.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Change 20.105 Enhanced with new graph of "Weighted LPAR Capacity" used,
GRAFWRKX and a new print report (PROC TABULATE) can be printed if
Jun 15, 2002 you don't have SAS/GRAPH. The tabular report will be
created if you specify TABULATE=YES. If you do have
SAS/GRAPH, specifying TABULATE=YES will create both the
graphs and the report.
The "Weighted LPAR capacity" can be important because it
is based on the defined weight of the LPAR and the number
of processors, whereas the "MVS Capacity" (PCTCPUBY
in RMFINTRV) is based solely on the number of processors
defined to an LPAR. The Weighted utilization can exceed
100%, which means simply that the LPAR is exceeding the
share of the CEC that is defined by its specified weight.
As an example, assume an LPAR with 2 CPs and a weight
of 15, on a 10 engine CEC with total weight of 100.
Then this LPAR has a weighted capacity of 1.5 CPs, and a
maximum usable capacity of 2 CPs. When the CEC is
constrained, the PCTCPUBY reported by RMFINTRV from the
MVS perspective will never exceed 1.5/2.0 or 75% busy,
but the LPAR is running at 100% of its weight-defined
capacity. However, if the CEC is not constrained, the
LPAR can use some or all of the extra 0.5 CP. RMFINTRV
could show PCTCPUBY=90%, using 1.8/2.0 but that means the
LPAR used 120 "percent of the weighted capacity", which
may be an indication that this LPAR needs more power.
Whether you are creating graphs or tabular reports, you
can create HTML and GIF datasets on an OS/390 platform to
be displayed only on OS/390, or you can create HTML/GIF
output with TRANTAB=ASCII that can only be displayed on
ASCII systems. The VMXGWRKX argument HTMLDEST=ASCII
sets ASCII as default; to create EBCDIC-displayable PDSE
members, add HTMLDEST=, i.e., a null value, to your
%VMXGWRKX(HTMLDEST=, ...); invocation.
The HTML output must be written to a PDSE on OS/390 with
RECFM=VB,LRECL=8000,BLKSIZE=8004; that PDSE dataset must
be allocated using a FILENAME statement rather than with
a DDNAME in your JCL. When %VMXGWRKX is executed the
HTML text and images are written to the PDSE library to
members named FRAMWRKX, GRAFWRKX, CONTWRKX, and GCHARTnn,
if graphs were also generated. For ASCII viewing, those
those members should be downloaded (as binary files) to
file on your ASCII system using names of:
framwrkx.html grafwrkx.html contwrkx.html gchartnn.gif
(NOTE: CASE is important. Your browser may not find them
all if the case does not match its expections.)
One either EBCDIC or ASCII systems, point your browser at
member FRAMWRKX or the FRAMWRKX.HTML file to access the
contents and the reports and graphs you created.
Obscure Note: If HTMLDEST=ASCII and TABULATE=YES, a
FORMCHAR='xxxxxxxxxxxxxxxxxxxxxxxxxx' is generated on
the PROC TABULATE, and it makes the printed report on
the SASLIST output pretty much meaningless; however,
without that FORMCHAR= operand, HTML written to the
PDSE is pretty much useless.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.104 The MXG ANALRMFR "RMF HTTP Server Report" didn't print
ANALRMFR web server name (MXG variable HOSTNAME), didn't print
VMAC103 separate reports for multiple servers on same system,
Jun 14, 2002 and had incorrect/transposed values. VMAC103 was revised
to increase variable HOSTNAME from $8 to $32; I thought
it was MVS System "host" name and limited to $8 bytes.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 20.103 Whether or not to comment out the BO DROPMAP NONRECOV?
ASMIMSL6 instruction for OTMA records may be something you have
Jun 13, 2002 try both ways and see which gives correct results. One
site, with IMS 6.1, found it necessary to reinstate the
comment to disable the BO DROPMAP NONRECOV? statement.
Change 20.102 Logic for CICSJOUR dataset (unidentified CICS Journal
VMAC110 segment in SMF 110 Subtype 0 record) was not correct for
Jun 12, 2002 CICS/ESA 4.1 and CICS/TS 5.1, causing the USERDATA field
to be blank. ELSE IFs were missing, and 4.1 did not set
the LENUDAT field from JCRLL.
Thanks to Len Rugen, University of Missouri, USA.
Change 20.101 Support for JES2/JES3 "Z2 Mode" (INCOMPATIBLE) to allow
ANAL30DD 200,000 jobs and 9,999,999 job numbers. MVS Technical
ANALEPMV Note 11 in MXG Newsletter FORTY-ONE provides reference to
IMACCADI the IBM Flash that lists the many exposures when your
VGETJESN enable the Z2 Mode, which changes JCTJOBID to "Jnnnnnnn"
VMAC26J2 for JOBS, etc. This change created member VGETJESN to
VMAC26J3 decodes both formats of JCTJOBID into TYPETASK & JESNR.
VMAC30 Note: CONTROL-D has only a 5-byte position for JESNR;
VMAC32 That product will require changes in their SMF
VMAC42 record to support the Z2 mode, and this note will
VMAC6 be updated when/if that product supports Z2.
VMAC91 Some additional symptoms: TYPETASK='J00', 'T00', 'S00'.
VMACBETA
VMACDALO
VMACIPAC
VMACNNAV
VMACSFTA
VMACTMNT
VMACXPSM
Jun 13, 2002
Thanks to Michael Richard, CompuWare, USA.
Change 20.100 Support for Citrix was not included in Change 19.148; the
VMACNTSM Citrix process record has an extra counter (NRDATA=22)
Jun 11, 2002 that is now supported by this change.
Thanks to Robert Gauthier, Albertsons, USA.
Change 20.099 New variable MSU4HRMX was missing in PDB.TRNDRMFI dataset
TRNDRMFI because it was calculated in the INCODE= argument, but
Jun 11, 2002 its source variable, MSU4HRAV was not in any of the other
arguments to VMXGSUM. While using KEEPIN=MSU4HRAV would
have corrected this one variable, KEEPALL=YES is better,
as it has lower overhead and protects future variables.
Thanks to Fred Kaelber, Southwestern Bell, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.098 This is "Maintenance Level, ML-23" of MXGTMNT, the Tape
ASMTAPES Mount and Tape Allocation Monitor program, which adds the
Jun 10, 2002 EXCLUDE logic so you can suppress monitoring of your VTS
devices by DEVNR, so you can avoid filling your Logrec
file with 0E0 Software ABEND records.
When a very fast VTS scratch mount occurs, MXGTMNT can
receive (and recover from) the 0E0 ABEND (because the
job had already terminated before its next sample),
but our friends at IBM still write a Logrec record for
each 0E0 recovery, and MXGTMNT has filled Logrec with
over 25,000 records in one day, causing a B37 in EREP!
After four months research with IBM'd trying to use an
STOKEN to prevent the logrec record, IBM now says that
only an FRR (Functional Recovery Routine) can suppress
the Logrec record, and an FRR is not trivial to add.
This change is an interim solution, pending the FRR code.
To exclude DEVNRs from MXGTMNT, you will need to add the
optional //EXCLUDE DD statement (FB,LRECL=80) to the JCL
for the MXGTMNT Started Task that points to the file that
contains your exclude control statements. The new logic
skips over UCBs that are both Tape Devices AND that are
specified in the EXCLUDE statements. Single DEVNRs
and/or ranges of DEVNRs are supported in this syntax:
Device Numbers can be specified like this, separated from
each other by blanks:
XXX /* ONE 3-DIGIT DEVICE NUMBER */
XXXX /* ONE 4-DIGIT DEVICE NUMBER */
XXX-XXX /* A RANGE OF 3-DIGIT DEVICE NUMBERS */
XXXX-XXXX /* A RANGE OF 4-DIGIT DEVICE NUMBERS */
Any combination of the above can be used, separated by
blanks in columns 1 thru 80 on the statements read from
the //EXCLUDE DD. Characters in device numbers must be
Hex Digits, 0-9 and/or A-F.
These Device number Specifications are NOT valid:
XX-XX
X-XX
XX-X
X-X
XXX-XX
XX-XXX
X
XX
Comments may NOT appear on the same statement as a device
number to exclude.
Each device number or device number range must be
followed by at least one blank.
In addition to adding the FRR to ASMTAPES/MXGTMNT monitor
program to ultimately monitor VTS devices without 0E0s, I
hope to enhance the ASUMTAPE program (that creates the
PDB.ASUMTAPE dataset from the MXGTMNT records and IBM's
SMF 21 dismount record) first by adding the STK VTC SMF
data, and second with the IBM SMF 94 data to provide
additional timestamps and values from those records into
an enhanced PDB.ASUMTAPE dataset. The ASUMTAPE changes
will hopefully be completed by the end of Summer.
17Jun02: ASMTAPES is now being enhanced, and an FRR is
not going to be required, so the ML-24 that will monitor
VTS devices (catching those mounts longer that 2 seconds,
but without writing 0E0 messages to logrec) should be
available very soon.
Change 20.097 Another instance of DOMAIN ERROR was caused by IBM's mis-
VMAC91 documentation of fields SMF91SDI and SMF91SDO as long
Jun 10, 2002 floating point values, but the data values in the subtype
3 were '0000000000000002'x and '000000B600000070'x, which
are clearly not floating point values. The second value
is 728GB is highly suspect, as all of the other counters
are zero in this particular record. A problem will be
opened with IBM and this note will be updated when they
respond, but the two inputs for SDI and SDO are now PIB
instead of RB, which will eliminate the DOMAIN ERROR.
See NEWSLETTER FORTY-ONE, SAS TECHNICAL NOTE 7.
Thanks to Dan Doan, Verizon, USA.
Change 20.096 TYPE73 observations for SMF73ACR='CFS' (Coupling Facility
VMAC73 Channels) had PCHANBY missing, but RMF Reports showed non
Jun 7, 2002 zero values for "Total" Channel Utilization (but had dash
for the "Partition" percent). The records had SMF73CMG=1
and thus I calculated PCHANBY and PNCHANBY only if the
SMF73PTI (measurement interval) was non-zero. But in the
'CFS' records, SMF73PTI, PBY, PTI, PUT, and TUT are all
zero. In looking in detail, it turns out that for the
'CFS' channel, the old SMF73BSY and SMF73STP fields are
what IBM is using to calculate PCHANBY, and the PNCHANBY
file is not calculatable for the CFS channels. MXG now
uses the PTI-based fields if present, but will use the
original BSY/STP calculation when PTI is zero.
Thanks to John Gebert, Office Depot, USA.
Change 20.095 MXG did not correctly input the GMT Offset value, causing
VMACTMDB GMTOFFTM and all timestamps were incorrect, if your GMT
Jun 6, 2002 offset was non-zero. The timestamps printed as astricks.
Thanks to Paul van den Brink, Fortis Bank, THE NETHERLANDS.
Change 20.094 A combination of circumstances caused NOT SORTED error in
MONTHBLS dataset TYPE30OM, but MXG Change 19.172, that increased
MONTHBLD the stored length of many numeric variables from 4 to 5
MONTHBL3 bytes, was the underlying culprit:
WEEKBLD - TYPE30OM is unique; it's BY list has integer numeric
WEEKBL3 variables OMVSOSI, Session ID and OMVSOPI, Process ID.
WEEKBLDT Most variables in BY lists are character variables.
WEEKBL3T - The problem occurs only when both OMVS/USS and OS/390
Jun 4, 2002 have stayed up a long time, allowing ID number value in
VMXGSUM OMVSOSI/OMVSOPI to exceed 16,217,666. Only integers of
Jun 18, 2002 that value can be truncated when stored in 4 bytes.
VMXG2DTE In this case OMVSOSI and OMVSOPI were equal and large!
Jun 13, 2002 - The problem occurs only when the WEEK1 DD, which is the
ASUM78CF first libref in the SET statement, points to an old PDB
Jun 14, 2002 that was built by MXG earlier than 19.10. That old PDB
had the original, sort, 4-byte length, and the first
dataset in the SET statement is used by SAS to define
the stored length of the output MONTH.TYPE30OM dataset.
It is better that the WEEK1 DD points to the most
recently build PDB, created by the new MXG version,
so that all new changes (like the longer length) are
seen first to set the definitions.
And it is best to install a new MXG Version on
the first day of your week; if you build WEEKLYs
on Monday morning, then install the new version
Monday afternoon when all is done, so that all of
next week's PDBs are built with the same version.
With the MXG change and those circumstances, the old PDB
4-byte definition was used, causing the new 5-byte values
to be truncated to smaller numeric values, which SAS saw
as an out-of-sequence error in the sort-order validation
that is invoked when there is a BY statement in a DATA
step. The simple correction is to point WEEK1 at the new
PDB, so that the new attributes are seen first and used.
Or you could add a LENGTH OMVSOSI OMVSOPI 5; statement
between the DATA statement and the SET statement.
One other alternative is to remove the BY statement,
since no reports in MXG demand that the TYPE30OM dataset
is in sort order.
When you have DATA ONE; SET TWO THREE FOUR; BY A B C;
the BY statement causes the output dataset to be built
in the A B C sort order of the input datasets, without
invoking a PROC SORT. When there is no BY statement,
dataset ONE will be the concatenation of TWO, THREE,
and FOUR, and won't be sorted. The big advantage of
having the dataset sorted is so you don't have to SORT
in report program that exploit the same sort order.
And if you should invoke PROC SORT to sort an already
sorted dataset, PROC SORT recognizes sorted data and
will bypass an unnecessary sort, saving lots of time
with big datasets.
That was the end of the original text, and there had been
no MXG code changed, until after I added this note:
When you create a dataset with PROC SORT, SAS stores
the BY list in the directory of that dataset, but when
you create an output dataset with a DATA step, you
need to use the SORTEDBY= dataset option to tell SAS
that the dataset is created in that SORT order, so
that subsequent PROC SORTs can be bypassed by SAS.
I then looked at my code; while SORTEDBY= is used in the
BUILDPDB code for datasets created by DATA steps instead
of by PROC SORT, I discovered I had never implemented the
SORTEDBY= dataset option in the weekly and monthly code.
The actual code change made by this MXG Change was to add
SORTEDBY= to each DATA step in the listed MONTHxxx and
WEEKxxxx members, so that SAS can now recognize and
bypass unnecessary sorts of the weekly and monthly PDBs.
-VMXGSUM was revised to set the SORTEDBY= parameter when
it creates its output dataset, whether it uses a DATA
step, or a PROC MEANS to create the dataset. This change
exposed an unanticipated option in ASUM78CF's invocation
of VMXGSUM, which had the dataset options (LABEL=...) in
its OUTPUT= argument, which previously worked but was not
supported (instead, the DSNLABEL= argument is provided in
VMXGSUM for the output dataset label option). While the
ASUM78CF member was revised to use DSNLABEL, VMXGSUM was
revised to detect the existence of a start paren in the
OUTDATA= and will now suppress the addition of SORTEDBY=
so your existing ASUM78CF won't fail. A later revision
will actually parse to the end-paren and insert the
SORTEDBY= list inside your dataset options!
-VMXGSUM revised to protect DATETIME in a SUMBY= list by
moving the DATETIME= list into the SORTEDBY= list.
This will be further enhanced in the next version to move
the SORTEDBY string inside the parens, if possible, but
this eliminated the abend caused by ASUM78CF syntax.
Obscure Note: In this revision it was noticed that
VMXGSUM could ABEND with INVALID DATASET OPTIONS:
- 1. you use dataset options in the OUTDATA=, and
- 2. the final data setp is flagged as unneeded
- 3. PROC MEANS is used to conditionally drop vars:
This happens only if all these are true:
no NORMx, ERASEOUT NE NO, no OUTCODE statement,
no FREQ, no INTERVAL, no NEWSHIFT, SAS V8+.
Has not occurred, it is likely no one is using dataset
options in the OUTDATA= argument, but now documented.
Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA
Change 20.093 Variables VVROPIND, SMF60FNC, VVRAMAT3 and VVRTPEXT were
VMAC60 not kept in dataset TYPE60. Those variables and VVRSMSFG
Jun 3, 2002 are now input as $CHAR1 instead of $EBCDIC1 (which has no
impact when MXG is executed on MVS, but is required for
hex-containing variables if MXG is executed on ASCII);
all five variables are now formatted $HEX2.
Thanks to Michael E. Friske, Fidelity Systems, USA.
Change 20.092 Major enhancement for TNG support for new Platforms, new
EXTAI006 Objects, and new Variables, plus logic revisions to cover
EXTAI007 new idiosyncrasies in the TNG performance cube data:
EXTAI008 -Platform tests for PLATFORM=:'SOL' and PLATFORM=:'AIX'
EXTAI009 should eliminate dependency on specific platform name.
EXTAI010 -Instance counts were increased where new instances found.
EXTAI011 -Algorithm for text length in the CAPCM Header was found
EXTAI012 to be inconsistent with text length in other records,
EXTNT021 which caused the DOMAIN name to be incorrect; whereas the
EXTNT022 base-26 syntax is used in data records (i.e., '10'=36),
EXTNT023 the Header algorithm has '10'= 10!
EXTNT024 Note: Always look to see if any observations were output
EXTNT025 in the UNKNOWN dataset, and send the performance
EXTNT026 cube to support@mxg.com if there are any. If the
EXTNT027 last metric for an object is UNKNOWN, there will be
EXTNT028 zero observations output for that object.
EXTNT029 The complete list of TNG Objects now supported:
EXTNT030 PLATFORM OBJECT MAXIMUM MAXIMUM MXG
EXTNT031 NAME INSTANCE VARIABLES DATASET
EXTNT032
EXTNT033 AIX BUFFER 1 8 AI001
FORMATS AIX CPU 1 5 AI002
IMACTNG AIX PAGING 1 4 AI003
TYPETNG AIX QUEUES 1 4 AI004
VMACTNG AIX SWAPPING 1 1 AI005
VMXGINIT AIX IPC 1 2 AI006
May 27, 2002 AIX SYSTEM-CALLS 1 7 AI007
Jun 3, 2002 AIX FILE-ACCESS 1 3 AI008
AIX FILESYSTEM 1 2 AI009
AIX NETWORK 1 4 AI010
AIX TABLES 1 4 AI011
AIX TERMINAL 1 6 AI012
CIS2500 CISCO 7 130 C2001
CIS2500 MIB-2 34 89 C2002
CIS7500 CISCO 24 166 C7001
CIS7500 MIB-2 34 89 C7002
NT BROWSER 1 20 NT001
NT CACHE 1 27 NT002
NT ICMP 1 27 NT003
NT IP 1 17 NT004
NT LOGICALDISK 5 21 NT005
NT MEMORY 1 27 NT006
NT NBT CONNECTION 8 3 NT007
NT NETBEUI 2 39 NT008
NT NETBEUI RESOURCE 13 3 NT009
NT NETWORK INTERFACE 3 17 NT010
NT OBJECTS 1 6 NT011
NT PAGING FILE 2 2 NT012
NT PHYSICALDISK 3 19 NT013
NT PROCESSOR 2 10 NT014
NT REDIRECTOR 1 37 NT015
NT SERVER 1 26 NT016
NT SERVER WORK QUEUES 3 17 NT017
NT SYSTEM 1 25 NT018
NT TCP 1 9 NT019
NT UDP 1 5 NT020
NT NWLINK IPX 1 38 NT021
NT NWLINK NETBIOS 1 38 NT022
NT NWLINK SPX 1 38 NT023
NT SQLSERVER:ACCESS MET 1 19 NT024
NT SQLSERVER:BUFFER MAN 1 16 NT025
NT SQLSERVER:CACHE MANA 6 4 NT026
NT SQLSERVER:DATABASES 7 21 NT027
NT SQLSERVER:GENERAL ST 1 3 NT028
NT SQLSERVER:LATCHES 1 3 NT029
NT SQLSERVER:LOCKS 6 6 NT030
NT SQLSERVER:MEMORY MAN 1 14 NT031
NT SQLSERVER:SQL STATIS 1 7 NT032
NT SQLSERVER:USER SETTA 10 1 NT033
SOL BUFFER 1 8 SO001
SOL CPU 1 5 SO002
SOL DISK 3 6 SO003
SOL FILE-ACCESS 1 3 SO004
SOL FILESYSTEM 2 3 SO005
SOL IPC 1 2 SO006
SOL KERNEL MEMORY ALLOC 1 8 SO007
SOL MEMORY 1 2 SO008
SOL NETWORK 5 5 SO009
SOL PAGING 1 11 SO010
SOL QUEUES 1 4 SO011
SOL SWAPPING 1 5 SO012
SOL SYSTEM-CALLS 1 7 SO013
SOL TABLES 1 7 SO014
SOL TERMINAL 1 6 SO015
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 20.091 Support for IBM AIX PTX (Performance ToolBox) adds over
VMACAIX 100 new fields, and additional variable name sequences:
May 24, 2002 LABEL STARTS WITH BECOMES VARIABLES NAMED
CPU/ AIXCPU01-AIXCPU21
DISK/ AIXDIS01-AIXDIS56
FS/ AIXFS01 -AIXFS03
IP/NETIF AIXIP01- AIXIP49
LAN/ AIXLAN01-AIXLAN16
MEM/ AIXMEM01-AIXMEM15
NFS/ AIXNFS01-AIXNFS02
PAGSP/ AIXPAG01-AIXPAG05
PROC/ AIXPRO01-AIXPRO02
RPC/ AIXRPC01-AIXRPC04
SYS/ (SYSCALL,SYSIO) AIXSYS01-AIXSYS07
TCP/ AIXTCP01-AIXTCP06
UDP/ AIXUDP01-AIXUDP02
Thanks to Glenn Bowman, Wakefern, USA
Change 20.090 Unknown ESS keys were printed on the SAS log correctly,
IMAC6ESS but MXG did not skip over second and subsequent parms if
May 23, 2002 a key had GEPARMNR GT 1 parameter per key value. The
protection logic now skips correctly and prints the keys
found, but only in the first SMF type 6 record found.
The second part of this change will be the actual decode
GEPARMKY=0021x,2022x,002E segments, as soon as I can find
the new IBM documentation, which ain't easy for ESS data.
Thanks to Roman Jost, ERGO Integration, NORWAY.
Change 20.089 Variable MSU72 is created for each observation in TYPE72
VMAC7072 and TYPE72GO, using the total CPUTM captured:
May 23, 2002 MSU72=CPUTM*SU_SEC/1000000;
Thanks to Jim S. Horne's posting to MXG-L, Lowe's Companies, USA.
Change 20.088 Support for new Subtypes 27, 28, and 29 for STK HSC/VSM
EXSTCV27 user SMF record create these three new datasets:
EXSTCV28
EXSTCV29 dddddd Dataset Description
FORMATS STCV27 STCVSM27 VTV Scratch Status
IMACSTC STCV28 STCVSM28 VTV Replication
VMACSTC STCV29 STCVSM29 VTV and MVS Unlink Event
VMXGINIT
May 20, 2002
Thanks to Harold Radalin, Reader's Digest, USA.
Change 20.087 Internal macro definition of MACRO _VTYTPMX was added
VMACTPMX as described in the Change 18.338 that had not yet been
May 20, 2002 applied to this member.
Thanks to Lawrence Jermyn, Fidelity, USA.
Change 20.086 New variable EXECAPPL, hopefully the "execution" APPLID
VMXGUOW of the CICS Unit-of-Work observation in PDB.ASUMUOW, will
May 15, 2002 contain the APPLID name of the first region found with a
May 20, 2002 TRANNAME starting with CSxx (expected CSMI for the mirror
transaction). This should be the first AOR that handles
the Unit of Work, after the TOR. If you need more logic
to store an "APPLID" in variable EXECAPPL for a UOW that
uses many APPLIDs, new temp PATH1-PATH10 and TRAN1-TRAN10
variables are created with first ten APPLIDs (PATHs) and
corresponding first ten TRANNAMEs, so you could use them
in your "Case" logic to tailor VMXGUOW. The examples of
Case 1 and 2 were revised and tested, Case 3 example was
deleted.
Thanks to Ron Root, Texas Comptroller of Public Accounts, USA
Change 20.085 Type 119 subtype 3 records caused INVALID DATA message
VMAC119 and were not correctly decoded, because no test records
May 15, 2002 were available. Dataset TYP11903 is now validated.
Thanks to Keith Jefferson, Citicorp, USA.
Change 20.084 Continued picking away at flaws; if you EXCLUDEd WTTCIOTM
UTILEXCL (Terminal Control Wait), UTILEXCL did not create the code
May 15, 2002 statement "IRESPTM=ELAPSTM-WTTCIOTM;" in the IMACEXCL.
May 22, 2002 Now "IRESTPM=ELAPSTM;" is coded if WTTCIOTM is EXCLUDEd,
and since WTTCIOTM is normally zero except in the TOR
records, you should see little difference in IRESPTM.
22May02: Typo 'PSB SCHL' was changed to 'PSB SCHD',
to fix error message with IMS DL/I optional segment.
Thanks to Pat Curren, SuperValu Inc, USA.
Thanks to Richard S. Ralston, Whirlpool Corp. USA.
Change 20.083 Type 79 subtype 12 PIB fields were input as RB, causing
VMAC79 invalid values (and a DOMAIN ERROR on MVS), and new CMG
May 14, 2002 data was not DIF()'d, nor reset. Logic was revised.
Thanks to Dan Doan, Verizon, USA.
=======Changes thru 20.082 were in MXG 20.02 dated May 6, 2002=========
Change 20.082 Support for z/OS 1.3 (COMPATIBLE, except for SMF 42).
VMAC30 IBM changes to SMF records in z/OS 1.3 were compatibly
VMAC42 made (no data inserted), but MXG logic for SMF type 42
May 6, 2002 did ot correctly handle the IBM changes.
May 7, 2002 -New data added in SMF type 30 records:
New CPUCEPTM added to TYPE30_V,TYPE30_4,TYPE30_5,TYPE30_6
dataset; records the CPU time for an address space while
it was Enqueue Promoted, i.e., getting ERV Service Units
at high priority because it owned an enqueued resource,
and had been swapped out.
-New data added in SMF type 42 records:
New variables in dataset TYPE42D1 from subtype 16:
SMF42GAP='DATA CLASS NAME'.
SMF42GAJ='GT 4K CF*CACHE*ACTIVE*STATUS'
Values: blank or GT4ACTIVE, GT4KNOTACT, ALL,
UPDATESONLY, or NONE.
SMF42GRA='RE-DOS'
SMF42GRB='RECURSIVE*RE-DOS'
SMF42GRC='BMF*WRITES'
SMF42GRD='SCM*READ*REQUESTS'
SMF42GRE='SCM*READ REQUEST*CASTOUT*CONTENTIONS'
SMF42GRG='RE-DO*PERCENTAGE'
SMF42GRH='RECURSIVE*RE-DO*PERCENTAGE'
SMF42GRI='SCM*CASTOUT*LOCK*PERCENTAGE'
SMF42GZ8='SMS*DIRECT*WEIGHT'
SMF42GZ9='SMS*SEQUENTIAL*WEIGHT'
SMF42GBN='WLM*SERVICE*CLASS*NAME'
SMF42GBO='WLM*REPORT*CLASS*NAME'
SMF42GBP='SMS*DATA*CLASS*NAME'
-New variables in dataset TYPE42D2 from subtype 16:
SMF42GRL='RE-DOS'
SMF42GRM='RECURSIVE*RE-DOS'
SMF42GRN='BMF*WRITES'
SMF42GRO='SCM*READ*REQUESTS'
SMF42GRP='SCM*READ REQUEST*CASTOUT*CONTENTIONS'
SMF42GRR='RE-DO*PERCENTAGE'
SMF42GRS='RECURSIVE*RE-DO*PERCENTAGE'
SMF42GRT='SCM*CASTOUT*LOCK*PERCENTAGE'
-New variables in dataset TYPE42X1 from subtype 19:
SMF42JN7='WRITE*REQUEST*SYSPLEX*TOTAL'
SMF42JTA='AVG SCM*READ REQUEST*CASTOUT'
SMF42JTB='TOT SCM*READ REQUEST*CASTOUT'
SMF42JTC='AVG SCM*READ REQUEST'
SMF42JTD='TOT SCM*READ REQUEST'
SMF42JTE='CURR PCT*SCM*READ REQUEST*CASTOUT'
SMF42JTF='LOW PCT*SCM*READ REQUEST*CASTOUT'
SMF42JTG='HIGH PCT*SCM*READ REQUEST*CASTOUT'
SMF42JTH='AVG PCT*SCM*READ REQUEST*CASTOUT'
SMF42JTI='AVG*RE-DOS'
SMF42JTJ='TOTAL*RE-DOS'
SMF42JTK='AVG*RECURSIVE*RE-DOS'
SMF42JTL='TOTAL*RECURSIVE*RE-DOS'
SMF42JTM='CURR PCT*RE-DOS'
SMF42JTN='LOW PCT*RE-DOS'
SMF42JTO='HIGH PCT*RE-DOS'
SMF42JTP='AVG PCT*RE-DOS'
SMF42JTQ='CURR PCT*RECURSIVE*RE-DOS'
SMF42JTR='LOW PCT*RECURSIVE*RE-DOS'
SMF42JTS='HIGH PCT*RECURSIVE*RE-DOS'
SMF42JTT='AVG PCT*RECURSIVE*RE-DOS'
SMF42JUA='AVG*INTERVALS*PROCESSED*ACCELERATED'
SMF42JUB='TOT*INTERVALS*PROCESSED*ACCELERATED'
-New variables in dataset TYPE42X2 from subtype 19:
SMF42JP2='INTERVALS*PROCESSED*ACCELERATED'
SMF42JSA='SCM*READ REQUEST*CASTOUT'
SMF42JSB='SCM*READ REQUEST'
SMF42JSC='CURR PCT*SCM*READ REQUEST*CASTOUT'
SMF42JSD='LOW PCT*SCM*READ REQUEST*CASTOUT'
SMF42JSE='HIGH PCT*SCM*READ REQUEST*CASTOUT'
SMF42JSF='AVG PCT*SCM*READ REQUEST*CASTOUT'
SMF42JSG='RE-DOS'
SMF42JSH='CURR PCT*RE-DOS'
SMF42JSI='LOW PCT*RE-DOS'
SMF42JSJ='HIGH PCT*RE-DOS'
SMF42JSK='AVG PCT*RE-DOS'
SMF42JSL='RECURSIVE*RE-DOS'
SMF42JSM='CURR PCT*RECURSIVE*RE-DOS'
SMF42JSN='LOW PCT*RECURSIVE*RE-DOS'
SMF42JSO='HIGH PCT*RECURSIVE*RE-DOS'
SMF42JSP='AVG PCT*RECURSIVE*RE-DOS'
-New SMF 42 subtype 20 is written when STOW INITIALIZE IS
used to delete all members of a PDSE. The new TYPE4220
dataset contains variables:
SMF42KJB='JOB NAME*STC OR*TSO USERID*WHO STOW-D'
SMF42KST='STEP*NAME'
SMF42KPR='PROC*NAME'
SMF42KDS='DATA SET NAME'
SMF42KVS='VOLSER'
-New SMF 42 subtype 21 is written when a member of a PDS
or a PDSE is deleted, with new dataset TYPE4221 vars:
SMF42LJB='JOB NAME*STC OR*TSO USERID*WHO STOW-D'
SMF42LST='STEP*NAME'
SMF42LPR='PROC*NAME'
SMF42LDS='DATA SET NAME'
SMF42LVS='VOLSER'
SMF42LNL='LENGTH*OF MEMBER*NAME'
SMF42LFL='ALIASES*EXCLUDED*DUE TO*RECORD LENGTH'
SMF42LMN='MEMBER*NAME*THAT WAS*DELETED'
-New SMF 42 subtype 21 is also written with the Alias
Names that were deleted because its primary member
name was deleted. New variable description says it all:
SMF42LAN='ALIAS NAME*DELETED IN*SYMPATHY'
-Status:
This change has not been validated with 1.3 data.
IBM additions to RMF 79 Channel data, and additions to
SMF 99 (License Manager) won't be written until I have
test data records.
Change 20.081 z/VM MONWRITE Control Records with DATABYTE=0 caused the
VMACVMXA "WHOOPS ..." error and MXG stopped reading records. IBMs
May 4, 2002 MONWRITE now creates an "E" Event Control Record with
May 14, 2002 DATABYTE=0 that is followed by a data record that MXG did
not expect, since the control record said there were zero
bytes following! Pairs of bad records were found 4 times
in 900 intervals; each bad pair was immediately followed
by a valid pair of an Event Control Record (DATABYTE=20)
and an Event data record with one 20 byte (1.11) segment.
Knowing what IBM writes, this change detects and deletes
both records, and prints a one-line message when any of
these bad DATABYTE=0 records are found and deleted. If
IBM ever corrects these records, it will be noted here.
May 14: IF DEBUG=. THEN DEBUG=-99; changed to DEBUG=.;
Thanks to Pat Curren, SuperValu Inc, USA.
Thanks to Jean Nelson, SuperValu, USA.
Change 20.080 The SMF94VLS (Library Sequence Number) is no longer a
ANAL94 number, but now contains characters ('B1031'), causing
VMAC94 SMF94VLS to have a missing value; and ANAL94 produced
May 2, 2002 no reports if you had selected a Library number. Since
Aug 11, 2002 SMF94VLS is defined as a numeric variable, changing it
to a character variable could cause execution errors in
your perfectly running reports, so new variable SMF94VLC
with LABEL='LIBRARY*SEQUENCE*NUMBER*CHARACTER' is created
in dataset TYPE94, and the ANAL94 program was changed so
you can use the value in your SMF94VLC to select reports
for a specific Library.
Thanks to Oliver H. Richter, American Management Systems, USA.
Change 20.079 Cosmetic. When there is a mismatch between 70s and 72s
VMXGRMFI in building RMFINTRV, the MXG note was enhanced to print
May 2, 2002 the IN71 IN73 IN74 IN75 and IN78 status variables in
addition to the IN70 and IN72, for diagnostic help.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.078 AS400 Version 4.5.0 (but not 5.1.0) had INVALID DATA FOR
VMACQACS variable SYSJDUM in the QAPMSYST dataset because fields
May 2, 2002 SYSDBC and SYSSWC were inserted by the earlier '4.5.0'
May 5, 2002 version. Change the IF ASLEVEL GE '5.1.0' THEN INPUT...
before SYSDBC/SYSSWC to QIF ASLEVEL GE '4.5.0' THEN ....
And PCTCPSBY was wrong; the SYSDBC was changed to SYSSWC
in its equation. And Change 20.004 needs to be applied
to the other two CPU-time-variables JBEDBC and JBTDBC in
both QAPMJOBL and QAPMJOBM datasets; non-zero data values
now show they too are &PD.8.6 rather than documented 8.3.
Thanks to Andre Baltimore, Unigroup Inc. USA.
Change 20.077 If you enabled TIMEBILD/VMXGTIME to change timestamps,
VMAC78 TYPE78 data had incorrect STARTIME; it was converted
May 2, 2002 twice. Remove the STARTIME in the second %VMXGTIME
invocation.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.076 The JCL Procedure examples MXGSAS and MXGSASV8 contained
MXGSAS DISP=(MOD,PASS) for //NULLPDS, as does SAS defaults, but
MXGSASV8 the CA Job Scheduler CA-11 product regards any step with
May 2, 2002 DISP=PASS to be non-restartable (because it cannot tell
JCLTEST6 if that dataset will be referred to in a later step). The
JCLTEST8 DISP=(SHR,PASS) were changed to DISP=SHR, and the NULLPDS
Sep 7, 2002 DD was changed from MOD,PASS to now MOD,DELETE in May.
Updated Sep 7: MOD,DELETE failed in second execution in
SMS site, 213-04. Change back to MOD,PASS avoided that
SMS-induced error, but that site did not have CA-11.
Changing MOD,PASS to NEW,DELETE resolves both the CA-11
and SMS errors, and there is no real need for MOD anymore
(it's a hold-over from pre-SMS days to protect if a real
dataset already existed that would have failed with NEW
but now that all datasets must be cataloged, MOD is not
needed here).
Bottom line:
DISP=(NEW,DELETE) for NULLPDS works for SMS and CA-11
and DISP=SHR instead of DISP=(SHR,PASS) works for CA-11.
Thanks to J.C. Houck, Bank of America, USA.
Thanks to Jesse Gonzales, The Gap, USA.
Thanks to Art Cuneo, Health Care Services Corporation, USA.
Change 20.075 Variable NRTIMES was created with PROC MEANS NOPRINT with
ANALPROG OUTPUT OUT=SUMS N=NRTIMES; VARIABLES CPUTCBTM; but the
May 1, 2002 LABEL for NRTIMES in the output dataset is the label of
the CPUTCBTM variable, which I thought was a SAS error.
However, documentation of V8 INHERIT option does state:
By default the statistics in the output data set
automatically inherit the analysis variable's format
and label. However, statistics computed for N, NMISS,
SUMWGT, USS, CSS, VAR, CV, T, PROBT, SKEWNESS, and
KURTOSIS do not inherit the analysis variable's format
because this format may be invalid.
so INHERIT is working as designed, even though I still
think the LABELs for those listed stats also should not
be inherited. In any event, ANALPROG was re-written to
use %VMXGSUM and to correctly label NRTIMES.
Thanks to Mark McCallum, EDS, USA.
Change 20.074 Support for multiple CICS Versions with Exclude added.
UTILEXCL The IMACEXCL created by UTILEXCL failed with syntax error
Apr 30, 2002 if APPLID had multiple dictionary records from different
releases of CICS. This change supports multiple releases
for the same APPLID, by creating a code block for each
APPLID and CICS version:
ELSE IF APPLID='CICSTNW1' AND SMFPSRVR=53 THEN DO; ...
ELSE IF APPLID='CICSTNW1' AND SMFPSRVR=62 THEN DO; ...
And IMACEXCL will print an ERROR message on the SAS log
(as it reads your SMF data), if it finds a new version
for a CICS APPLID that is already in your list of regions
with excluded fields. Thus to support two CICS Versions,
you only have to run the _BLDDICT with the new version's
dictionary records to create a new PDB.CICSDICT, combine
that with your old PDB.CICSDICT from the old version, and
run _BLDEXCL to create an IMACEXCL that is aware of both
CICS version's excluded variables.
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 20.073 Under ASCII only, a latent 180 syntax error was triggered
VMXGRMFI and corrected in the macro logic that failed to expand a
Apr 29, 2002 macro variable J due to a missing ampersand.
Thanks to John G. Talafous, Timken, USA.
Change 20.072 Support for TMON/CICS TCE 2.1 (INCOMPATIBLE). Landmark
EXMONPA (now Allen Services) completely restructured all records,
EXMONPI and even changed the version from numeric to character!
EXMONTF HWM/maximum values were removed from some datasets, some
EXMONTFF variables will have missing values. New fields were added
EXMONTJ to many existing datasets, and new records are supported.
EXMONTK Since every record and subtype was touched, MXG support
EXMONTKM for TCE was enhanced with all the MXG bells and whistles:
EXMONTKP duration variables are formatted TIME13.3, storage and
EXMONTN byte-containing variables are formatted MGBYTES, etc., to
EXMONTO both "print-pretty", and to document what data is stored
EXMONTOS in which of these hundreds of new variables.
IMACTMO2 The new PA/PI records capture IBM CICS Monitor Facility
VMACTMO2 data at the transaction and interval level, and the new
VMXGINIT TK Dispatcher Record provides CPU time for each CICS TCB.
Status: TA,TD,TI,TP,TR,TS, TX, and T2 records were all
Apr 28, 2002 changed, some new variables, some dropped.
May 1, 2002 TF was so changed that new MONITF/MONITFF datasets are
May 5, 2002 created for TF records with Release 2.1.
New PI,PA records create MONIPI/MONIPA with massive
numbers of new variables.
New TJ for Java, TN for Enqueues, and TO records for
Sockets create MONITJ, MONITN, MONITO and MONITOS, for
a total of 11 new datasets and hundreds of variables.
PTF TCE3400-21 changes were added May 5.
This complete rewrite took three full days to write and
validate (thanks to a full suite of test records from
Landmark, and nearly accurate documentation); over 3000
lines of code were added by this change.
Thanks to Martin Jensen, JyskeBank, DENMARK.
Change 20.071 The JCL example (Testing MXG under SAS Version 8) still
JCLTEST8 MXGSAS instead of MXGSASV8 as its JCL procedure name.
Apr 28, 2002 Also, the example suggests REGION=80M for installations
that restrict the use of REGION=0M.
Thanks to Donald J. Likens, AON, USA.
Change 20.070 New IBM Product, NPM/IP user SMF record, is supported.
EXNPIP01 Two datasets are created from the two subtypes:
EXNPIP02 DDDDDD Dataset Description
IMACAAAA NPIP01 NPMIP01 Performance Record - each observation
IMACNPIP measures the round trip response time
TYPENPIP for one of four packet sizes to a
TYPSNPIP specific IP address.
VMACNPIP NPIP02 NPMIP02 Workload Record - accumulated bytes
VMXGINIT from an application to an ip address.
Apr 28, 2002 Records must be deaccumulated (use
TYPSNPIP or _SNPIP in your EXPDBOUT)
to create interval duration and bytes
sent/received during each interval.
To minimize the size of PDB.NPMIP02,
observations are created only for
intervals with non-zero bytes.
Many duplicate SMF records were
found, but MXG logic deletes them;
IBM will be contacted to fix or to
explain their duplicate records:
Subtype 2 records in SMF: 29762
duplicate records removed: (14407)
unique subtype 2 records: 15265
MXG obs in PDB.NPMIP02: 6963
Updated 2Jan03: APAR OW56033 reports duplicate records
were cut by the "AESTNETS" task's AEST044 program, and
provides the PTF to correct that error.
Thanks to Sue Kemper, Universal Music Group, USA.
Change 20.069 Support for APARs OW52227 and OW51848 for z/OS 1.2, adds:
VMAC7072 -New variables to TYPE72GO dataset (type 72 subtype 3):
Apr 26, 2002 New wait state sample counts (SSL Thread, Regular Thread,
Registration to Work Table, R723RWST/RWRT/RWWR), and new
"Active Application State" sample count, R723RAPP, that
indicates there is a program executing on behalf of a
work request, from the perspective of the WLM (this does
not mean that the program is active from the BCP's
perspective), so RMF reports can distinguish between
active subsystem and active application; from APAR text:
Before this APAR, state samples were reported as percent
of response time, calculated when a transaction ends,
which could cause values over 100% when samples for long
running transactions were included that did not complete
in the RMF interval. With OW52227, the problem is solved
by showing the single states as percentages of total
state samples, instead as percentages of response time.
This eliminates percentages over 100% in the BREAKDOWN
section. Thus the RESPONSE TIME BREAKDOWN is replaced
by a STATE SAMPLE BREAKDOWN, and the STATE SWITCHED TIME
is replaced by a STATE SWITCHED SAMPL(%) breakdown. Only
the TOTAL column will be kept as percentage of response
time, which is the current view; however, the field name
will be changed to RESP TIME(%).
The APAR text contains a numeric example of the change
in the values printed with and without OW52227.
The APAR also states that the RMF III SYSWKM Report has
changed the meaning of ACT (Active State); in addition
to the time spent in an active subsystem state, it also
contains the time spent in an active application state,
if that information is provided by the subsystem, for
example, WebSphere.
The APARs also now count delays for service classes with
goal types other than response time goals, and count
delays for multi-period service AND report classes.
This MXG change adds the new variables to TYPE72GO data.
A later change to ANALRMFR will detect OW52227 and will
use R723RAPP to match IBM calculations, when test data
is available for validation.
The associated OW51848 added the new function that allows
Performance Block (PB) state reporting for enclaves. Now,
report-only PBs can be associated with an enclave or an
address space in a service class with multiple periods.
(Previously, a PB could only be associated with an ASID
that was in a Service Class with a response time goal.)
-The APAR documents that the new delay and sample counts
are also added to RMF III VSAM ERBRCDG3 segment, but that
segment is not yet supported in MXG's VMACRMFV, because
no one has yet sent sample data records to be decoded.
Change 20.068 Significant user contribution enhances the MXG RMF III
ASMRMFV support. This change is the last part of Change 20.033.
VMACRMFV -ASMRMFV, the program that reads the RMF III (compressed)
Apr 26, 2002 VSAM file to create the RMFBSAM flat file that is then
read with MXG's TYPERMFV, originally had hardcoded LRECL
of 800 bytes, but IBM now writes 1500 byte records that
were truncated by the original program. This revision
sets DCB to RECFM=VBS,LRECL=32756,BLKSIZE=0, which will
support any future record length. VBS is used (instead
of VB) so that half-track DASD will be allocated and DASD
space won't be wasted by the output flat file.
-VMACRMFV was enhanced to create variables SHIFT, SYSTEM
and SYSPLEX in all datasets, added SSHTIBEG/SSHTIEND to
datasets that did not contain them, corrected four vars
(GEIESPMB/SPME/SMRB/SMRE) to be input with RB instead of
with informat PIB, creates PCTLOGBY and PCTCPUBY vars as
percents of logical and physical CPU busy, added labels,
and corrected typos and spelling errors! Whew!
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 20.067 z/VM datasets VXBYUSR, VXSUMUSR, VXBYCPU, VXSUMCPU, and
TYPSVMXA VXBYTIME were not copied into the PDB library when the
Apr 26, 2002 TYPSVMXA member was used to SORT all datasets into the
PDB library. These summary datasets are built from the
other datasets, so they are now copied with a PROC COPY
that was added at the end of TYPSVMXA.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 20.066 New datasets TYP120JC and TYP120JI were created in the
VMAC120 //WORK file, but their _ST120JC/_ST120JI Sort macros were
Apr 26, 2002 not invoked inside _S120, so they were not sorted into
the PDB library by TYPS120 nor when _S120 was invoked.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 20.065 Support for BMC MAINVIEW FOR CICS 5.4 CMRDETL file, which
VMACMVCI was completely and incompatibly changed. Release 5.5 only
Apr 24, 2002 added two fields in reserved fields; both are supported.
Apr 30, 2002
Thanks to Ermanno Bertolotti, INTESABCI, ITALY.
Change 20.064 The example to send email from an MVS SAS job should have
EMAIL spelled the option EMAILSYST as EMAILSYS, without that
Apr 15, 2002 "T".
Thanks to James A. Monahan, National Grid USA, USA.
Change 20.063 Boole/BMC CIMS/IMF CIMSTRAN dataset variables CTCKPTNTS,
VMACCIMS MAXLOCKS, and TOTLOCKS were input but not kept; now they
Apr 15, 2002 are kept in dataset CIMSTRAN.
Thanks to Siegfried Trantes, IDG mbH, GERMANY.
Change 20.062 STARTIME in TNG datasets was an hour earlier than actual.
VMACTNG I originally assumed the "hour" was the hour of end of
Apr 12, 2002 the data, and used STARTHR-1 to set the ORIGTIME to the
previous hour. But the hour really is the START hour of
the data, so the two STARTHR-1 were changed to STARTHR.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
=======Changes thru 20.061 were in MXG 20.01 dated Apr 11, 2002=========
Change 20.061 UTILEXCL recognized and reported "UNKNOWN FIELD" but did
IMACICD1 not build correct logic in IMACEXCL to skip over the data
IMACICDA so the CICSTRAN dataset was invalid, strange dates, etc.,
UTILEXCL if that "POTENTIALLY SERIOUS ERROR" message was printed
VMAC110 when you executed UTILEXCL. The particular unknown field
Apr 11, 2002 CANPROD1 perhaps is the last CICS field to be supported.
This change corrects UTILEXCL to properly skip over any
future unknown CICS segments, and supports the CANPROD1
segment, creating the 4-byte variable CANPROD1.
Candle describes CANPROD1 as "Internal, used to provide
statistics for VSAM, DL/1, IDMS, ADABAS, SUPRA, and
DATACOM. Used to provide Application Trace Statistics.
Thanks to Hailin Wu, Cover-All, CANADA.
Change 20.060 SAS V6 Only, Warning. Labels added in Change 20.05x were
VMXG70PR longer than V6 limit of 40 bytes; non-fatal.
Apr 11, 2002
Thanks to Freddie Arie, TXU, USA.
Change 20.059 With UTILEXCL created IMACEXCL, STRTTIME/ENDTIME were not
UTILEXCL converted to Local Time if your GMT offset was non-zero,
Apr 10, 2002 and variable CPUTM was not populated. Both are corrected.
Thanks to Raff Rushton, Kaiser Permanente, USA.
=======Changes thru 20.058 were in MXG 20.01 dated Apr 9, 2002=========
Change 20.058 DB2 report PMSQL02 had missing TCB time values for two
ANALDB2R trace events (62058 and 59058) due to carry-down typos.
Apr 9, 2002 The CPU=S058UCPU-S066UCPU; is now CPU=S058UCPU-S062UCPU;
and CPU=S058UCPU-S066UCPU; is now CPU=S058UCPU-S059UCPU;
for those trace events.
Thanks to Frank d'Hoine, Nationale Bank van Belgie, BELGIUM.
Change 20.057 -The daily NT PDBs are no longer all deleted when the WEEK
BLDNTPDB NT PDB is built, in keeping with the MVS BUILDPDB design,
Apr 9, 2002 so that you can read FRI's PDB on TUE without reading the
entire past-week's WEEKLY PDB.
-The RERUN parameter now works, but is subject to this
exposure that requires intelligent manual intervention:
If RERUN is used and it happens to be the day of the
week that is specified for running of the weekly or
the monthly, those programs will automatically be run.
Turn off the weekly and/or monthly options with RERUN,
and then evaluate what restores may be needed before
you can rerun to build weekly or monthly.
Thanks to Terry Heim, Ecolab, USA.
Change 20.056 Enhancements for MSU-based Capacity Measurement for IRD
VMAC7072 (z/OS Intelligent Resource Director, see Change 20.046):
VMXG70PR -Variable SMF70BDA,SMF70CSF,SMF70ESF, and SMF70MSU are now
Apr 8, 2002 corrected in dataset PDB.TYPE70PR; they were zero because
I used early doc and missed document revisions at GA.
-Variable SMF70CPA is kept into TYPE70PR from the TYPE70
segment, so the MSU can be calculated later in ASUM70PR
and ASUMCEC - see Change 20.046 equation.
-Both PDB.ASUM70PR and PDB.ASUMCEC now contain six new
variables for each LPAR:
LPnBDA ='LPAR n*AVERAGE*LOGICAL*CPUS*SMF70BDA
LPnMSU ='LPAR n*INTERVAL*MSU*COUNT
LPnMSUHR='LPAR n*INTERVAL*MSU*AS HOURLY*RATE
LPnMSU70='LPAR n*MSU*DEFINED*CAPACITY*SMF70MSU
LPnONT ='LPAR n*LPAR*ONLINE*DURATION*SMF70ONT
LPnWST ='LPAR n*LPAR*WAIT STATE*DURATION*SMF70WST
and three new variables for totals:
MSULICEN='SUM OF*LICENSED*MSU CAPACITY*OF ALL LPARS'
MSUTOTAL='TOTAL*MSU*DELIVERED*TO ALL LPARS'
MSUPERHR='HOURLY*MSU RATE*DELIVERED*TO ALL LPARS'
-SMF70BDA is usually equal to LPARCPUS, and sometimes is
slightly less, showing that IRD seems to be working,
but it does not seem to be useful to calculate any of
the LPAR utilizations.
-SMF70ONT (LPAR Online Time) and SMF70WST (LPAR Wait State
Time) are summed for each LPAR in ASUM70PR/ASUMCEC, but
are also still not understood for these 5 LPAR's data:
LPAR LPnDUR LPnUPDTM LPnBDA LPnONT LPnWST
1 2:15:00 0:19:06 9 2:15:00 0:51:50
3 2:15:00 0:12:02 9 2:15:00 1:07:33
5 0:15:00 0:00:00 1 0:15:00 0:00:00
7 2:15:00 0:08:23 8.37 2:05:36 1:32:51
14 2:15:00 0:04:12 8.40 2:06:07 1:43:43
Total+Phys: 0:46:24 ==> 34.3% busy, 9 engines, 15 min.
-I note that the only place where IBM records their 4-hour
rolling average MSU is in the TYPE70 data for each MVS in
variable SMF70LAC, but IBM does not calculate that value
in the PR/SM data for each LPAR. The MXG calculation of
the rolling average MSU4HRAV is in the PDB.RMFINTRV data.
Change 20.055 The Group Buffer Pool GBPxxxxx variables in DB2ACCTG (for
VMACDB2 each pool) and their sum in DB2ACCT have never been right
Apr 5, 2002 if more than one GBP was used; MXG repetitively input the
first segment. Adding OFFGBP=OFFGBP+LENGBP; and removing
the unused SKIP logic corrects the error.
Thanks to Warwick Robinson, National Westminister Bank, plc, ENGLAND.
Change 20.054 -The optional CICS User segment is now the last segment in
IMACICDA the default order in member IMACICDA, as was intended and
IMACICMR as is documented. If you have your own IMACICDA, it will
UTILEXCL still input the CICS segments in your chosen order. If
VMAC110 you use member UTILEXCL to create IMACEXCL, IMACICDA is
Apr 4, 2002 not used, so this has no impact there.
-The optional CICS CMRDATA segment from Mainview is now
supported in member IMACICMR, and UTILEXCL now knows of
that member for that optional data for its notes to you.
-VMAC110 was updated with the optional CMRDATA variables.
Thanks to Helgund Linck, BASF-IT-Services, GERMANY.
Change 20.053 Mitchem ACC/SRS support corrections. The offset was INPUT
VMACACC into variable SRHPHL, but references spelled it SHRPHL,
Apr 4, 2002 so ASHxxxxx variables were not INPUT. MSGLENGTH was 3
bytes short when SRHPHL was present. And so that this
member will execute correctly under ASCII SAS, INPUT()
and TRANSLATE() functions were added (because
EBCDIC-containing variable MESSAGE must be INPUT with
$VARYING informat).
Thanks to Heinz-Bernd Leifeld, Provinzial Rheinland Versich., GERMANY
Thanks to Engelbert Smets, Provinzial Rheinland Versicherung, GERMANY
Change 20.052 INSTANCE was blank if a 3-HDR records contained (*) for
VMACTNG the length of the instance field, indicating there was no
Apr 4, 2002 new instance value. MXG incorrectly blanked the value in
Apr 5, 2002 retained variable INSTANCE. Now, INSTANCE will be from
the preceding 2-HDR record, unless the 3-HDR has a real
length for the INSTANCE. Noted in NT014, but pervasive.
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 20.051 Documentation. When you use UTILEXCL to create IMACEXCL
UTILEXCL for CICSTRAN, old variables that no longer exist in CICS
Apr 3, 2002 are no longer kept; these variables will not exist:
Pre CICS/ESA: FCOTHCN MAXTASK SHRTSTOR OPERATOR PAGEINS
CICS 3.3 only: PC24UHWM PC31UHWM TCSTG TCLASS
Thanks to Helgund Linck, BASF-IT-Services, GERMANY.
Change 20.050 MXG incorrectly decoded the second TYPE78IO IOP segment
VMAC78 if z/OS 1.2 extended data was present, causing very large
Apr 3, 2002 values for R783ICPB/IDBP/ICUB/IDVB when &RB.8 input was
Apr 25, 2002 mis-aligned. Those values caused PROC MEANS to fail with
Mar 25, 2003 a "DOMAIN ERROR", because SAS does not validate data when
the "RB" (floating point) informat is used.
Mar 25 2003: This change may increase the number of obs
created in dataset TYPE78IO, and may increase NRIOPREQ,
the SIO count, and that variable is summed and renamed in
RMFINTRV as SIO73CNT.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Jeff Rash, American Honda, USA.
Change 20.049 TYPE89 dataset variable MULCURD was wrong when MULCURT=2
VMAC89 or MULCURT=3. For MULCURT=2 the INPUT is &PIB.8. and for
Apr 3, 2002 MULCURT=3 the INPUT is &RB.8, but MXG had them reversed.
The specific error with MULCURT=2 and incorrect informat
of &RB.8. used for a data value of '00.....01'x resulted
in a MULCURD value of -1.606E60, and that value caused a
SAS DOMAIN ERROR when PROC MEANS summed that dataset.
Thanks to Glenn Harper, Memorial Hermann Hospital System, USA.
Change 20.048 The KEEP= list spelled SMF4VLS instead of SMF94VLS, so
VMAC94 that variable was not kept in TYPE94 dataset.
Apr 2, 2002
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 20.047 DAILYDSN still wrote to the //PDB libref, after Change
DAILYDSN 20.020. Change OUTDATA=&PDBMXG..DATASETS,
Apr 2, 2002 to OUTDATA=DATASETS.DATASETS,
Thanks to Tien Truong, Citicorp Asia Pacific, SINGAPORE.
=======Changes thru 20.046 were in MXG 20.01 dated Apr 1, 2002=========
Change 20.046 CPU Busy Percentages are very different if WLM's IRD is
VMXGRMFI in control of allocating CPUs to LPARs. Previously the
Mar 31, 2002 PCTCPUBY (TYPE70) and PCTLnBY (ASUM70PR/ASUMCEC) measured
the percentage of the fixed capacity (NRCPUS*DURATM) that
you gave to an LPAR, i.e., that you gave to the system
running in that LPAR, so 100% meant the MVS system was
using all of the CPUs you gave that LPAR.
Now, WLM's Intelligent Resource Director will dynamically
change the number of engines given to an LPAR, so there
is no fixed capacity to measure an LPAR's work against:
variables NRCPUS/LPARCPUS/LPnNRPRC now contain the count
of engines that were used (even briefly) in an interval.
Fortunately, though, when IRD is in control, the PCTCPUBY
(TYPE70 and RMFINTRV), and the PCTLnBY (ASUM70PR/ASUMCEC)
calculations are valid; they have just changed in meaning
and now measure the percentage of the hardware platform
(the CPC, all PARTNCPUs) that was used by this MVS system
or this LPAR. If you had a 2-engine LPAR running at 100%
of those two engines, PCTCPUBY=100% in that MVS's system.
But if that 2-engine LPAR is now run under IRD on a z900
10-way, the PCTCPUBY will be measured as 20%, since only
the fixed capacity of the total CPC platform can be used
now to measure "percent CPU busy".
So what to do? For starters, while we all learn this
new playground, MSUINTRV, the total MSU consumed by each
LPAR during each interval, can be summed for each hour
and compared with SMF70WLA, the (hourly) Defined Capacity
that you chose for your Licensed Software MSU capacity.
You can also convert the MSUINTRV value for intervals
less than an hour to an hourly rate with the ratio:
MSUPERHR= MSUINTRV*3600/DURATM.
But what capacity percentage makes sense anyhow. On a
2064-1C9 (MSU hardware capacity of 305/hour), you could
assign an LPAR to a Defined Capacity of 50 MSU, but you
could easily consume all 302 MSU in that LPAR for an
hour (only impacting Software costs!); what percentage
should be calculated: 302/50= 600% of capacity?
You can detect that WLM's IRD is in control in the
TYPE70PR dataset, which will have LPARWLMG='Y' (SMF70WLM
bit in field SMF70PFG), but only in observations with
SMF70CIN='CP'; the LPARNAME='PHYSICAL' observations have
LPARWLMG='N',and SMF70CIN=' '.
The number of LCPUADDRs in TYPE70PR varies for the same
LPAR; some intervals had 9 LCPUADDRs of 0-8, and some
some intervals had only eight LCPUADDRS of 0-7.
Unless you change the Defined Capacity for an LPAR, the
hourly MSU Capacity of each LPAR, SMF70WLA, is constant,
in spite of the change in the actual count of LCPUs.
The CPC capacity of the 2064-1C9 is 302 MSU (9 CPUs with
SMF70CPA=9329.45), but the sum of SMF70WLA across all of
the LPARs in each CPC is only 185 MSU:
CPCSER xxx3: 65 40 60 15 5 (sum=185)
CPCSER xxx2: 65 55 50 15 (sum=185).
So this site is a perfect example of the real value of
IRD and the IBM License Manager: IBM has installed a 302
MSU box, but the customer is only paying for the 185 MSU
that they currently need for all their LPARs.
Note that even though the CPC has 11 engines, because two
are ICF engines, the CPUMODEL='2064-1C9', showing 9 CPUs.
The change was to revise the calculation of RMFINTRV's
MSUINTRV value, to use the CPUACTTM*SMF70CPA/1E6 rather
than the original that was based on LPAR percent busy.
Expect additional enhancements as we learn more, and
as we decide how to measure this changing landscape.
NOTE: Change 21.170 re-defines NRCPUS and recalculates
PCTCPUBY using the new SMF70ONT online-time measure.
Thanks to Raimo Korhonen, CompMeas Consulting Oy, FINLAND.
Change 20.045 MXG 19.04-19.19. PCTDLxxx variables in TYPE72GO divided
VMAC7072 by variable VALDSAMP can be slightly different than the
Mar 29, 2002 RMF report values; the calculation of the PCTDLxxx and
Apr 5, 2002 PCTUSxxx variables is now based on R723CTSA instead of
on VALDSAMP to match the RMF system level reports, and
both VALDSAMP and R723CTSA are kept in TYPE72GO so that
sysplex-wide velocity can be calculated.
Thanks to John A. Doan, Total System Services, USA.
Change 20.044 If two products write the same user SMF record number,
VMACSMF you can still tailor MXG to read both records, although
Mar 29, 2002 it would be wise to use unique SMF record numbers! The
exact syntax depends on finding a "marker" in one of the
records that can be used to differentiate between the two
products. In this case, both CA's NETSPY and Sterling's
NDM wrote ID=132 SMF records, and the NETSPY Version of
"R5.3" could be used as the "marker", and this example
assumes the NDM record ID will be changed to ID=133. The
example uses MACFILE and MACKEEP macro variables in the
job's input stream, and will read the existing (old) 132s
and the new 133s when they show up in your SMF file:
%LET MACKEEP=
MACRO _NSPYID 132 %
MACRO _IDNDM 133 %
;
%LET MACFILE=
%QUOTE(
IF ID=132 AND LENGTH GE 50 THEN DO;
INPUT @39+OFFSMF MARKER $EBCDIC4. @;
IF MARKER NE 'R5.3' THEN ID=133;
END;
);
%INCLUDE SOURCLIB(BUILDPDB);
(or if you only wanted one or the other, you would
%INCLUDE the TYPSNDM or TYPSNSPY record instead of the
example's BUILDPDB member).
P.S. Yes, the SMF Record ID macro for NETSPY is spelled
backwards. It should be _IDNSPY, like almost every other
_IDxxxx macro names, but it is one of the inconsistent
names. The exact name of the ID macro for each SMF data
record is in the IMACxxxx member for that product, in the
IMACNSPY and IMACNDM members for this example.
Thanks to Aldo Raimondo, Global Value Services, Italy.
Change 20.043 Support for z800 2066 CPUs running OS/390 R2.8, R2.10.
FORMATS These records without the type 70 SMF70WLA field do not
VMXGRMFI have their MSU capacity in their SMF 70 record, causing
Mar 29, 2002 MXG messages "CPU NOT IN TABLE CPUTYPE=2066", causing the
MSU-related variables to be missing in RMFINTRV dataset.
Some non-IBM machines are in the table, but we don't yet
have #CPs nor their SU_SEC value, but if you get one, the
SU_SEC is in the TYPE72/TYPE72GO dataset for the update.
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Thanks to Winnie Pang, Hawaiian Medical Service Association, USA.
Change 20.042 Extraneous last byte '1A'x hex value in ASCII IMACPTF
IMACPTF was translated to '3F'x and could cause SAS 180 syntax
Mar 29, 2002 error. Deleted that byte.
Thanks to John R. MacDonald, Public Works and General Svcs, CANADA.
Change 20.041 Change 19.248 removed ID statement from member ASUMNTIN,
TRNDNTIN but should also have removed the ID statement from the
Mar 28, 2002 TRNDNTIN member.
Thanks to Terry Heim, ECOLAB, USA.
Change 20.040 -UTILEXCL incorrectly generated IF SEGLEFT GE CMODLENG in
IMACICOC the IMACEXCL it created; "CMODLENG" should have been the
IMACPTF expected segment length value, not the variable name.
UTILEXCL -If you enabled IMACICOC, and did NOT have _QOC0109 turned
Mar 25, 2002 on in IMACPTF, the IMACEXCL INPUT statement was out of
Mar 30, 2002 alignment and CICSTRAN was not valid. Since all Omegamon
records now have that old APAR enabled, I have removed it
from the IMACICOC member that was the only place it was
used, and changed the default value in IMACPTF from 0 to
1, just for compatibility.
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 20.039 The default ASUMDB2A member will fail if variables are
ASUMDB2A DROPed from the input DB2ACCT dataset, but with minor
VMXGSUM tailoring, ASUMDB2A will tolerate dropped variables.
Mar 24, 2002 ASUMDB2A invokes the %VMXGSUM macro, and in ASUMDB2A,
MXG specifies KEEPALL=YES for performance reasons. But
if you remove variables from the input dataset, you need
create a tailored ASUMDB2A member, with these changes to
the %VMXGSUM invocation in that member:
- Change the KEEPALL=YES to KEEPALL=NO in your ASUMDB2A.
- Run the ASUMDB2A against your modified data, and look
for any uninitialized variable messages on the log,
where the view WORK.MXGSUM1.VIEW was used:
NOTE: Variable QTXAPREC is uninitialized.
NOTE: Variable QTXAILMT is uninitialized.
NOTE: Variable QTXANRUN is uninitialized.
NOTE: Variable QWACRINV is uninitialized.
NOTE: Variable THREADTY is uninitialized.
NOTE: Variable DB2PARTY is uninitialized.
NOTE: View WORK.MXGSUM1.VIEW used:
- Those variables are used in the INCODE logic, but are
not in any SUM, MIN, etc. request, so they were not
kept by KEEPALL=NO, so you must add an argument to the
%VMXGSUM invocation to cause them to be kept for the
input phase, with this syntax:
KEEPIN= QTXAPREC QTXAILMT QTXANRUN QWACRINV
THREADTY DB2PARTY,
You cannot (safely) drop the variables in the KEEPIN=
argument, nor can you drop the variables in the SUMBY=
argument, as they are all required for the logic of the
summarization.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.038 ASUMUOWT builds the PDB.ASUMUOW dataset, using MONITASK
ASUMUOWT from Landmark's TMON/CICS, instead of the CICSTRAN data
VMXGUOW from IBM SMF 110s. Unlike ASUMUOW, the default in the
Mar 23, 2002 ASUMUOWT program creates observations; you only need to
%INCLUDE SOURLCIB(ASUMUOWT); with the correct DDnames:
//DB2ACCT and //MONITASK, and with //ASUMUOW for output,
as shown in the example in the ASUMUOWT member.
The MONITASK values are stored in CICSTRAN variables, but
I could not find 43 CICSTRAN variables in the MONITASK
dataset, so I have just sent the list of those missed
fields to Landmark, and will update this note is any of
them are identified. (All are set missing and listed in
the _SUOWTMO macro in VMXGUOW.)
Thanks to Jacky Kwoka, ATOS Origin, FRANCE.
Change 20.037 The calculation of VELOCPU in TYPE72GO was incorrectly
VMAC7072 calculated when I/O Priority Management is enabled.
Mar 23, 2002 VELOCPU is the velocity calculated if only CPU is enabled
but with IOPM, VELOCPU included I/O effects. Now, the
VELOCPU is recalculated to measure the CPU-only velocity.
Of coure, variable VELOCITY has always been the correct
velocity value - variables VELOCPU and VELOCIOD are only
"what if" calculations of possible velocity values.
Thanks to Pat A. Perreca, Bear Stearns, USA.
Change 20.036 CICS/TS Statistics dataset CICXQ3 (Shared ts queue server
VMAC110 storage, STID=123) fields have been mis-documented in all
Mar 23, 2002 releases, TS 1.3 thru TS 2.2. The Data Areas lists them
May 14, 2002 as RQG(Gets) ,RQF(Fails) ,RQS(Frees) ,RQC(Compress), but
SMF data shows RQG and RQF are equal, and RQS and RQC are
both zero, so I assume that RQF contains Frees instead of
Failures, and so RQS must contain Storage Failures, and
not Frees. The S3ANYRQF/RQS and S3LOWRQF/RQS variable's
labels were corrected to match the observed data values.
May 14: IBM confirms my assumption, and Don found and IBM
confirmed the same problem exists in the Coupling
Facility Data Tables S9ANYxxx and S9LOWxxx) and the Named
Counter Sequence Number Server Statistics (S5ANYxxx and
S5LOWxxx); those variable's LABELs were also corrected.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 20.035 New %macro that will get the DSNAME of an allocated SAS
VGETDSN Data Library, and if that DSNAME is an MVS Generation
Mar 22, 2002 Data Group (GDG), %VGETDSN will allocate the next new
member (next "Go0ooVoo") dynamically, specifying its UNIT
SPACE, DISP, and ENGINE in the %VGETDSN arguments. And
You can specify JOB= to cause the dynamic creation of the
next GDG to only occur if that Job name invoked %VMXGDSN.
Thanks to Chuck Hopf, MBNA, USA.
Change 20.034 Cosmetic - variable labels. The Dispatcher Variables
VMAC110 DSGSYSW,DSnSYSW, documented as 'Operating System Waits',
Mar 22, 2002 were re-described by IBM as 'Exits from Partition' when
IBM moved the Dispatcher Statistics to STID=60 and added
twelfth and thirteenth TCBs to CICS, and some of those
variables labels were changed. Since the CICS/TS 2.2
Performance Guide still refers to the DSnSYSW fields as
Operating System Waits, the newer labels were removed and
all labels are as before.
Thanks to Gerhard Hellriegel, ???, GERMANY.
Change 20.033 Support for RMF III (RMF VSAM) for Enclave Table ENCG3.
VMACRMFV Only ENCG3 support was actually added by 20.033; the rest
Mar 22, 2002 of the original change was implemented in Change 20.069.
Thanks to Betty Wong, Bank of America, USA.
Change 20.032 Domino R5.04+ DOMBTIME/DOMETIME variables could be wrong,
VMAC108 because the GMT offset field was input as &IB.4. when it
Mar 18, 2002 should have been input as $CHAR4. The actual bad values
depended on your actual GMT offset, but were in the year
2020 if your offset was zero.
Thanks to Bob Furlong, JPM Chase UK, ENGLAND.
Change 20.031 Example Trend member had PDB.DB2STATS syntax, instead of
ANALDB2R WEEK.DB2STATS syntax, but is now correctly using WEEK. as
TRNDDB2S input. Additional typos were corrected
Mar 18, 2002 In TRNDDB2S: QJSTWT should have been QJSTWTB.
Mar 30, 2002 In ANALDB2R: QXSETCR should have been QXSETCRL.
Thanks to Scottt Snyder, First Data, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.030 Divide by Zero messages (but no error) when TOTBECPP, the
VMACICE total back end capacity, production partition, was zero.
Mar 14, 2002 The calculation of NCL is now protected for zero divide.
Thanks to David Ehresman, University of Louisville, USA.
Change 20.029 A typo changed all lower case "F" values to a blank in
VMAC120 WebSphere DBCS character values (SM120JA8='De ault').
Mar 14, 2002 The many TRANSLATE() statements had '86'x, but should be
SM120xxx=TRANSLATE(SM120xxx,' ','80'X);
which is needed because of the $VARYING and DBCS data.
Thanks to Bill Feeney, Hennepin County, USA.
Change 20.028 -Support for Windows 2000 TNG. PLATFORM name tests for NT
VMACTNG data look for both NTS400I and (new) NTS500I for Win 2K.
Mar 12, 2002 The same NTnnn datasets are created from either version.
Mar 18, 2002 -Both old and new TNG NT records caused ABENDS, because
Mar 25, 2002 SAS does not properly input numbers-with-leading-blanks
Apr 3, 2002 when you mix LIST and non-LIST input modes, and you have
INFILE xxx DLM='' specified. The MXG statement:
INPUT VALUE FLAG $1. @; INFORMAT VALUE 20.;
stored zero in VALUE when its input column was blank.
And BZ20. can not be used - SAS documents that you must
change DLM='' to "something" for the BZ20 informat to
treat blanks as zeros, but MXG logic requires that the
INFILE TNG DLM='' be specified so that it can parse all
of the other data fields in the records.
So the INPUT VALUE FLAG $1. @; logic was revised and is
first input as a variable length string, and then blanks
are detected and skipped before the numeric INPUT.
-Variable DOMAIN kept length increased from $20 to $30 to
keep longer domain names.
-46 character Instance Name of Network Interface value of
'Compaq Ethernet_Fast Ethernet Adapter_Module#1' exceeded
MXG's default of 40, requiring revision to the INSTANCE
handling logic to handle 64 character instance name.
(This last part was only in the Apr 3 dated member).
Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 20.027 NDM PNODE and SNODE Account fields are now input and kept
VMACNDM in the NDMCT and NDMRT datasets.
Mar 8, 2002
Thanks to Betra Reeves, (i)Structure, Inc.
Thanks to John Rivera, (i)Structure, Inc.
Change 20.026 The Availability Report example would terminate with no
ANALAVAI output & no diagnostics if no applications were defined
Mar 8, 2002 or failed if the DATASET options was used to change
the name of the output dataset.
Change 20.025 Worked, but only with a KEEPER or DROPER argument used;
VMXG2DTE without both, either invalid syntax error or no SET
Mar 6, 2002 statement was generated.
Change 20.024 -If UNKNOWN FIELD messages were printed on the log when
UTILEXCL UTILEXCL was executed, the created IMACEXCL had extra
VMXGUOW END; statement for each unknown field.
Mar 6, 2002 -MXG expected both ABCODE fields 113 and 114 so it input 8
Mar 7, 2002 bytes into ABCODE; now UTILEXCL is enhanced to create the
Mar 8, 2002 8-byte ABCODE variable as before, from either or both of
the abend code fields, when one or both are found.
-The "ASUMUOW-CRITICAL-ALERT" tests in both UTILEXCL and
added in VMXGUOW did not test for variable "UOWID", so it
was always reported as not being in your CICSTRAN data.
-Variables UOWTIME and UOWIDCHR were not kept when UOWID
was found, causing spurious "ASUMUOW-CRITICAL-ALERT" that
listed those two variables, but not UOWID, as missing.
Thanks to Hailin Wu, Cover-ALL, CANADA.
Thanks to Chris Voris, QRS Corporation, USA.
Thanks to MP Welch, SPRINT, USA.
Change 20.023 ANALDB2R failed if your report request SORT list had only
ANALDB2R one variable. Line 2978 was changed
Mar 6, 2002 from /@1 &SORT2 $CHAR16.
to /@1 ' ' to correct the error.
Thanks to Brad Brewer, Humana Inc, USA.
Change 20.022 The PDBOUT parameter did not work in ANAL94, but now it
ANAL94 does.
Mar 5, 2002
Change 20.021 TYPEIMSA (19.19 only) fails with 180 syntax error; the
TYPEIMSA two statements %%VMXGTIME(... should have only one
Mar 5, 2002 percent sign %VMXGTIME(... in both statements.
Thanks to Yves Terweduwe, CIPAL, BELGIUM.
Change 20.020 Change 19.230 sent the four DCOLLECT datasets to the PDB
DAILYDSN DDname instead of the DATASETS because the 4 lines with
Mar 4, 2002 MACRO _PDCOxxx should have been spelled MACRO _LDCOxxx.
Mar 22, 2002 And the correct SAS dataset name should be:
MACRO _WDCOVOL DCOLVOLS %
MXG 19.19 incorrectly had DCOLDVOL instead of DCOLVOLS.
Thanks to John Muir, Illinois State University, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 20.019 SAS Version 8.2 under Windows Professional Service Pack 2
SASV8.CFG fails if there is a directory named "user" under either
VMXGINIT the SAS root, or (in this specific case), under \WINDOWS
Mar 4, 2002 under \SYSTEM32. This error was first reported for unix
Mar 18, 2002 systems under SN-001262 but was reportedly fixed in V8.
That note gave this unix fix: add -user work in your
SASV8.CFG member, which also fixed the error on Windows.
This error surfaces as a DATA SET NOT FOUND when MXG
tries to delete a WORK.xxxxxxxx dataset, but the SAS log
shows the data was written instead to USER.xxxxxxxx
instead. Under MVS, we found the existence of //USER in
the JCL also caused an error, so VMXGINIT was revised to
detect a user option value problem, to change it to work,
to report what we found on the SAS log, and to keep on
truckin' without an error. SAS Usage Note ZZ-yyyy will
document these discoveries.
Thanks to Mark Darvodelsky, Royal SunAlliance Australia, AUSTRALIA.
Change 20.018 HMF Subtypes 29, 30, and 31 variable HMFHDNOD is actually
VMACHMF an IP Address in those subtypes, so new HMFIPADR variable
Mar 1, 2002 is created to decode and display the n.n.n.n ipaddress.
Thanks to Perry Lim, Union Bank of California, USA.
Change 20.017 Using OPTIONS OBS=0 can be useful, but can cause errors.
VMXGSUM You can use OBS=0 to syntax-test your programs, and it is
VMXGRMFI the correct way to create a 'zero-obs' SAS dataset or an
Feb 28, 2002 'zero-obs' SAS data library with multiple SAS datasets,
so you can test subsequent references to datasets and to
variables, and OBS=0 and PROC COPY is the recommended way
to initialize a SAS data library with all datasets, etc.
But: when OPTIONS OBS=0 is used with summary programs
that use %macros, especially %VMXGSUM, it can cause error
messages, because macro variables are not created if the
SYMPUT/SYMGET statements are after SET statements that
don't get executed, so code has to be relocated just to
support OBS=0. We continue to plug holes when we find
them; this change relocated %VMXGOPTR calls to support
OPTION OBS=0 in VMXGSUM and VMXGRMFI, but there is an
alternative for testing: use a DUMMY file as input, so
that all datasets have zero observations, but with the
OPTION OBS=0 being set. On MVS you can do this with JCL
with //SMF DD DUMMY for the input file, or on all SAS
platforms you can use FILENAME SMF DUMMY; to read nil.
And if your need is to actually test, but you don't want
to use much CPU nor disk space, use OPTIONS OBS=5000; to
to restrict the input volume; it is only the exact OBS=0
value that is our nemesis.
Change 20.016 Sample PROC PRINTs of WebSphere SMF 120 data had several
ANAL120 prints bypassed during testing (by adding MACRO __ before
Feb 28, 2002 and a % after the block of code to be bypassed, which is
fine ONLY if there are no percent signs in the code being
bypassed!), but that MACRO and Percent Sign should have
been removed so all PROC PRINTs would execute.
Thanks to Jim Kovarik, AEGON, USA.
Change 20.015 This old report program has ENTITY as an array name, and
ANALRACF under SAS V8.2, a bogus message is printed on the log:
Feb 28, 2002 ERROR: THE PRODUCT WITH WHICH THE FUNCTION/SUBROUTINE
IS ASSOCIATED IS EITHER NOT LICENSED FOR YOUR SYSTEM OR
THE PRODUCT LICENSE HAS EXPIRED. PLEASE CONTACT YOUR
SAS INSTALLATION REPRESENTATIVE.
but there was no real error, and data step was correctly
executed. Once discovered (and with same day service!),
SAS Technical Support Usage Note SN-007039 documents that
the names: ENTITY, GENDER, STDNAME, should not be used as
array names in V8, but those names will be changed in V9,
to protect the innocent. I changed ENTITY to ENTITI to
eliminate the exposure.
Thanks to Clive Talbot, EDS, UK.
Change 20.014 Support for new subype 6 and 7, Mobius RDS InfoPac View
EXIPAC06 Direct Product's user SMF record create new datasets:
EXIPAC07 DDDDDD Dataset Description
IMACIPAC IPAC06 IPAC06 PAGES/HIERARCHY CODE
VMACIPAC IPAC07 IPAC07 ARCHIVE PLACEMENT/LONGEVITY
VMXGINIT
Feb 27, 2002
Thanks to Mary Beth Delphia, Texas Comptroller of Public Accounts, TX
Change 20.013 Enhancements for building "PDB's" from various SMF data
UTILBLDP is enhanced so that datasets can be "ZERO-OBS'ed". This
Feb 27, 2002 is needed if you want to build PDB.ASUM70PR & PDB.ASUMCEC
from SMF, which needs only PDB.TYPE70 and PDB.TYPE72GO
datasets, but the logic in member ASUM70PR also updates
the PDB.RMFINTRV dataset, so it must be created, but with
zero obs for all of the unwanted RMF datasets. Two new
examples in the comments are show here so you can see
that UTILBLDP is a powerful tool if you want to create
particular MXG datasets without running BUILDPDB:
Example 2.
Create PDB.ASUM70PR and PDB.ASUMCEC from SMF 70 and 72s:
%UTILBLDP(OUTFILE=INSTREAM,
USERADD=7072 71 73 74 75 78,
ZEROOBS=71 72 73 74 75 78,
BUILDPDB=NO,
INCLAFTR=RMFINTRV ASUM70PR
);
RUN;
%INCLUDE INSTREAM;
RUN;
Note that by using OUTFILE=INSTREAM, and then by using
%INCLUDE INSTREAM; this example will actually execute
the code that it just built.
Example 3.
Create only PDB.JOBS, PDB.STEPS, and PDB.PRINT from the
SMF 6, SMF 26 (JES2 in this example), and SMF 30 records.
Since PDB.JOBS is the sum of the steps data, you must
create PDB.STEPS to be able to create PDB.JOBS.
%UTILBLDP(OUTFILE=INSTREAM,
USERADD=6 26J2 30,
SORTOUT=NO,
BUILDPDB=NO,
INCLAFTR=BUILD005
);
%INCLUDE INSTREAM;
RUN;
Change 20.012 This report that mimics IBM's IXGRPT1 was wrong in column
ANAL88 headed "NTRY FULL", because variable SMF88ALS was printed
Feb 27, 2002 instead of SMF88EFS; All SMF88ALS were changed to EFS,
Mar 1, 2002 and some report field widths were increased from 5 to 6.
The SORT order now uses SMF88LTD to match IBM's report.
Thanks to Wesley Andrews, Alltel, USA.
Change 20.011 DO NOT USE ML-21 OF THE MXG TAPE MOUNT MONITOR. That
ASMTAPES level of the monitor was included only in the fix1919.zip
Feb 27, 2002 file, but as found to create still more 0E0 ABENDS. The
ASMTAPES member in MXG 20.01 is still at ML-20. A new
Maintenance Level is in development.
Change 20.010 Support for Top Secret V5.2 required only the change of
VMAC80 OR RACFVRSN=051X THEN DO; to
VMAC80A OR RACFVRSN=051X OR RACFVRSN=052X THEN DO;
Feb 25, 2002 While both members were updated, the TYPE80A member
is really the only member to use for SMF 80 RACF records.
Thanks to Chris Taylor, GMAC Insurance, USA.
Change 20.009 Execution of MXG under ASCII only. Some source members
TYPEMOND still had hardcoded informats of IB, PIB, PK, and RB
TYPETMON instead of "&IB.", of "&PIB.", &PK.", and "&RB." macro
TYPEVM variable names, needed for transparent execution of MXG
VMAC33 across platforms. The members that had IB or PIB would
VMAC71 have had incorrect values for those variables if MXG was
VMAC94 was executed under ASCII SAS, and they are listed below.
VMACAXC The other members revised had only PK and RB hardcoded,
VMACFTEK which works fine, but which are now changed so they are
VMACMONI consistent across MXG source, if ever needed.
VMACQTRT Members with PIB or IB:
VMACSTRS Member VARIABLE Notes
VMACTMDB VMAC71 GMTOFF71 - would impact STARTIME
VMACXAM VMACFTEK REASON
Feb 25, 2002 VMACSTRS Many
VMACXAM Several
Thanks to Freddie Arie, TXU, USA.
Change 20.008 Fixes for UTILEXCL and ASUMUOW for CICS after MXG 19.19:
UTILEXCL -ASUMUOW still did not increment SPINCNT, even with Change
VMXGUOW 19.230, but now it does. This had no impact if you left
Feb 21, 2002 the default SPINCNT for ASUMUOW at zero, or if you had
Mar 5, 2002 relatively few "inflight" transactions.
-UTILEXCL caused ASUMUOW to fail, with VARIABLES NOT FOUND
because the utility failed to create 9 CICSTRAN variables
(computed from other variables) that were required by the
syntax of the ASUMUOW program:
UOWTIME UOWIDCHR
CPUTM ELAPSTM IRESPTM TRMCHRCN
WTOTIOTM WTTOIOTM WTUNIOTM
You could circumvent the syntax error in ASUMUOW program
by adding those variables to the list in MACRO _VCICTRN
in the IMACEXCL member you created with UTILEXCL, but
your PDB.ASUMUOW dataset could still be invalid:
Satisfying the syntax above does not satisfy the logic in
ASUMUOW that requires these MXG variables be populated in
CICSTRAN so that matchup by Unit of Work is possible:
Variables required in CICSTRAN to build ASUMUOW
MXG variable IBM CMODHEAD IBM CMODIDNT
TRANNAME TRAN DEC 001
STRTTIME START DEC 005
ENDTIME STOP DEC 006
NETSNAME NETNAME DEC 097
UOWID UOWID DEC 098
UOWIDCHR UOWID DEC 098
UOWTIME UOWID DEC 098
So UTILEXCL is now enhanced and will tell you if you have
excluded fields that are required to run ASUMUOW, and
will list which of the above fields are not in your CICS
transaction records.
But VMXGUOW should not have failed when a variable in the
sum list is deleted from your SMF record, so by inserting
OPTIONS DKRICOND=NOWARN; and OPTIONS DKRICOND=ERROR;
appropriately, VMXGUOW now only sums variables that are
found in your CICSTRAN dataset.
-UTILEXCL did not correctly recognize DBCTL and IMS data
segments, causing messages "POSSIBLE CRITICAL ERROR" and
UNKNOWN FILED CMODHEAD=PSB WAIT CMODNAME=USER
UNKNOWN FILED CMODHEAD=DBCTL CMODNAME=DBCTL
UNKNOWN FILED CMODHEAD=RMIDATA CMODNAME=DBCTL
notes on the UTILEXCL log. The CICS dictionary lists the
DBCTL/DBCTL fields as 64 individual 4-byte fields, while
the DBCTL/RMIDATA field is a single field of 256 bytes; I
believe both describe the same DBCTL data fields, and are
processed by IMACICDB, and are different than the 60-byte
example in IMACICUS (that I want to believe was replaced
by the DBCTL/DBCTL and DBCTL/RMIDATA data segment). This
note will be revised if the two DBCTLs are not the same.
Thanks to Barry Mueller, Tyco Electronics, USA.
Thanks to Donald Williams, University of North Carolina, USA.
Change 20.007 -Variable ORACMSB (Max Additional Stacks Used) is created
VMACORAC in TYPEORAC from the old-format Oracle SMF records.
Feb 22, 2002 -Oracle8 i Enterprise Edition with OSDI, Release 3 (8.1.7)
Mar 1, 2002 for OS/390 has INCOMPATIBLY changed the layout from "MPM"
based to "OSDI" based, and it took several iterations to
discover their data did not agree with their DSECT:
DSECT: DTAI-8,DTAO-8,XCPU-8,RPCS-4,HWST-4,INV-1 but the
DATA: DTAI-8,DTAO-8,RPCS-4,XCPU-8,HWST-8,INV-1 showed
where the fields really were to get realistic values.
The only CPU time measure now is the CPUXMETM, so CPUTM
variable (always the total of all CPU times) will only be
equal to CPXMETM in the OSDI records; the other CPUxxxx
variables are all missing, as are all of the variables
that are no longer created in the new OSDI record. And
that includes the ORACMSB field added earlier in this
change that is not carried forward into the OSDI record.
This support also protects the READTIME field from CA-7,
which writes a 'EE'x or 'EF'x in the first byte of Read
Time to flag jobs, but CA-7 did not provide the exit code
for IEFU83 to correct their overwrite. MXG detects and
resets to 00, but it turns out that SAS read the EE1B897F
time value as a negative, and shifted the READTIME back
four days; I've suggested that the SAS SMFSTAMP8 format
should not treat the first bit as a sign bit, but instead
should have input the field as positive, causing the
READTIME to be 462 DAYS into the future, and more likely
to be detected as incorrect, so you will notice and then
get the fix you need from CA to correct the Oracle SMF.
Mar 1: the above change did handle the OSDI format Oracle
8.1.7 records, but there was a missing @; in the MPM-only
section of code, so the 8.1.7 MPM format records were not
correct; this change inserted the missing @;.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch, USA.
Thanks to Matt Martin, United States Post Office, USA.
Thanks to Leslie Arndt, NITC/USDA, USA
Thanks to Yvonne McDonough, NITC/USDA, USA
Change 20.006 READDB2 and VMAC102 only recognized DB2 102 subtypes thru
EX102316- 314; this changes adds the exits and macros needed to
EX102350 recognize those subtypes. However, the actual subtypes
READDB2 themselves are not decode; test data is required to write
VMAC102 the support code, so only when you enable a new subtype
VMXGINIT and send sample data can the subtype be supported.
Feb 15, 2002
Thanks to Ford Wong, Workers Compensation Board of Alberta, CANADA.
Change 20.005 -Variables STC16SCL, STC17SCL, and STC17MVC were created
VMACSTC as stated in MXG Change 19.298, but only in my test lib.
Feb 15, 2002 The tested member is now moved to the source library and
Feb 27, 2002 those three variables will now be created and kept.
-Variables STC11CUB is now FORMATed TIME12.2; it was
always the time in seconds and fractions, but now will be
printed as a time duration, and documented as a time
variable by virtue of being formatted with a TIME format.
Thanks to Kis Ranai, Citicorp, USA.
Change 20.004 IBM documentation for AS/400 V5R1 QAPMJOBM JBCPU/JBTCPU
VMACQACS CPU time fields are wrong; documented as in milliseconds,
Feb 15, 2002 the data in QAPMJOBM is in microseconds, but QAPMJOBL's
same-named variables are still in milliseconds. The two
&PIB.8.3 in the INPUT lines for JBCPU and JBTCPU after
the INFILE QAPMJOBM statement were changed to &PIB.8.6
and the QAPMJOBM CPU times now match the QAPMJOBL CPU.
Thanks to Pat Wingfield, Bank of America, USA.
Change 20.003 Change 19.264 described NPM documentation errors for the
VMAC28 NRP/NRT/NIT RTYP field in APAR OW53087 which led me to
Feb 12, 2002 think there were undocumented data, but IBM has clarified
and will revise their APAR text. There is only one value
for RTYP in each of those segments: NRPRTYP=2, NRTRTYP=1
and NITRTYP=3, so there is no need to test RTYP value.
NRPRTYP was correctly tested in 19.264, but the MXG test
for NRTTYPE=2 was removed by this change, once IBM
documented what's really there!
25Apr02: Variable NRTDTYPE was removed by this change; it
is now a reserved field, but that removal was not noted.
Change 20.002 MXG 19.19 with SAS Version 6 only: fails in the JCLTEST6
JCLTEST6 because of one error in spelling, but also because some
VMACTMV2 MXG support for new products that did not exist before,
Feb 12, 2002 now require SAS V8.2 or later:
Mar 29, 2002 -Landmark TMVS. MXG support for new release was added to
19.19 on the last day, only QA'd under SAS V8.2, and the
unacceptable-to-SAS-V6-nine-byte-character-variable-name
of SYSFIL003 (temporary, and not KEPT!) was not detected
(until you ran JCLTEST6 under SAS V6!). Deleted one byte.
New support members were NOT changed; they are listed for
documentation only; all require SAS V8 for execution:
-TYPEWWW WebLog requires SAS V8 because web data is long
strings of variable length text that requires V8.2's
support for stored character variables length of 32K.
By using COMPRESS=YES, you don't waste any DASD, but
can have the entire string in one variable.
Both LENGTH and $VARYING4096 text caused error messages.
-TYPEAIX code requires V8.2 for $VARYING4096 statement.
-TYPETMTC code requires V8.2 for $256 length variables,
and PDJULI6. informat; that informat was added in the
SAS Y2K release 6.09E (TS-470) for the IBM mainframe,
and in 6.12 for all other platforms.
Thanks to Freddie Arie, TXU, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 20.001 Never Used.
LASTCHANGE: Version 20.
=========================member=CHANGE19================================
/* COPYRIGHT (C) 1984-2002 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is MXG Version 19.19, dated Feb 14, 2002, thru Change 19.300.
MXG Version 19.11 was dated Feb 4, 2002, thru Change 19.288.
MXG Version 19.10 was dated Jan 28, 2002, thru Change 19.282.
MXG Version 19.09 was dated Jan 21, 2002, thru Change 19.267.
MXG Version 19.08 was dated Dec 20, 2001, thru Change 19.247.
MXG Version 19.07 was dated Nov 3, 2001, thru Change 19.218.
First MXG Version 19.06 was dated Oct 31, 2001, thru Change 19.214.
MXG Version 19.05 was dated Oct 24, 2001, thru Change 19.207.
MXG Version 19.04 was dated Oct 5, 2001, thru Change 19.189.
First MXG Version 19.04 was dated Oct 1, 2001, thru Change 19.183.
MXG Version 19.03 was dated Jul 30, 2001, thru Change 19.151.
First MXG Version 19.03 was dated Jul 26, 2001, thru Change 19.148.
MXG Version 19.02 was dated Jun 1, 2001, thru Change 19.098.
First MXG Version 19.02 was dated May 27, 2001, thru Change 19.097.
MXG Version 19.01 was dated Apr 4, 2001, thru Change 19.060.
First MXG Version 19.01 was dated Apr 3, 2001, thru Change 19.057.
MXG Version 18.18 was dated Feb 12, 2001, thru Change 18.360.
MXG Newsletter THIRTY-EIGHT is dated Feb 12, 2001.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 19.19 is the 2002 Annual Version.
II. Incompatibilities and Installation of MXG 19.19.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 19.19 dated Feb 14, 2001, is available.
Major enhancements added in MXG 19.19:
Support CICS/TS 2.2 CICSTRAN (INCOMPATIBLE).
Support for TYPE94 APAR OW52989, adds 8-way AX0 controlers.
Support for OS/400 Release 5.1.0 Collection Services, in TYPEQACS.
New UTILEXCL program for CICS EXCLUDEd fields automatically creates
an IMACEXCL member to read your records, without any EDITing, but
this major enhancement should be used by ALL sites that read SMF
110 records, even if you do not EXCLUDE fields. UTILEXCL creates
an IMACEXCL member with these performance enhancements:
- a single INPUT statement (more efficient than conditionals)
- eliminates unnecessary arithmetic (avoids missing values)
- KEEPs only the variables that exist in your records; all the
EXCLUDED fields are dropped, and all of the extra variables
that are in the CICSTRAN KEEP= list for new/old versions that
do not (yet) exist in your data are also not kept.
See text of Change 19.293 and examples in member UTILEXCL.
User contributed code to read the output of the unix sar command.
ASMVTOC enhanced to select/exclude VOLSER and UCBs above the line.
Versions 19.12 thru 19.18 were never created.
Major enhancements added in MXG 19.11:
INCOMPATIBILITY: MXG CHANGED LANDMARK SUPPORT FOR IMS, DB2, MVS:
Datetime values are now automatically converted from GMT fo LOCAL
Landmark CICS values are NOT changed, but now could be.
See Change 19.288.
TIMEBILD/TIMETABL/VMXGTIME supports LOCAL and GMT Time Zone deltas
and has identified all MXG datetime variables that contain GMT
(few) in the text of Change 19.286. If you have SYSTEMs on
different time zones that needs to be shifted to a common zone,
of if you have GMT values to change to Local, this massive change
will let you do all of the above. And if you do nothing, it does
nothing; the VMXGTIME() statements do nothing until TIMEBILD has
been invoked for a specific job to change datetimes.
UGMTCHEK Utility will check for datetime variables still on GMT
Major enhancements added in MXG 19.10:
MXG sets OPTIONS COMPRESS=YES as the default. Change 19.279.
MXGLEN=5 (EBCDIC) or MXGLEN=6 (ASCII) LENGTH CHANGE in MXG 19.10.
MXG changes LENGTH DEFAULT=4 to =5 on EBCDIC, to =6 on ASCII, to
eliminate any truncation of PIB4-input numeric variables, and the
stored length of MGBYTES-Format'd PIB4 variables was reduced from
8 to 5/6 to eliminate wasted space. &MXGLEN/&MXGBYLN macro vars
can be %LET if you need to restore original defaults; only known
exposure is if you use PROC APEND, but did not specify FORCE.
No size increase with compress; benchmarks/text in Change 19.272.
Initiator Number and Name variables added to PDB.JOBS and TYPE30_1
but missing until you install the IEFU84 SMF Exit Assembly code
that moves those fields into type 30 subtype 1. Change 22.136.
Major enhancements added in MXG 19.09:
Support for SMF 119 from IBM z/OS V1R2.0 Communications Server.
Support for IBM AIX Performance Toolbox, PTX V2.
You can change the time zone of all SMF datetime variables, by
SYSTEM and TimeRange, to put all of your systems on their own
time zones (EST/PST/GMT) to the common time zone of the floor
of the data center, so you can compare RMF, response, etc.,
when your SYSTEMS are on different time zones. This is in the
VMXGTIME, TIMEBILD, and TIMETABL members.
ML-20 ASMTAPES, wrong DDNAME in MXGTMNT SMF if tape on 4-digit.
Select step records, then corresponding 14 15 & 64s - see ANAL30.
Select SORTs with concat SYSIN, then matching 14 15 - see ANAL16.
Support for WebLogs: IIS, WebSphere, CLF, Cookies+.
Major enhancements added in MXG 19.08:
MXG 19.04-19.07: TYPE73 PCHANBY/PNCHANBY zero, ONLINE wrong.
Support for Crypto (for SSL) RMF 70 Subtype 2 APAR OW49808.
Support for IBM CICS/TS 2.2 Statistics Record TCBs
Support for IDMS Log Statistics Records.
Support for Landmark's TMON for TCP/IP v1.1.
Support for RSD Folders ASTRE Auditing User SMF record.
MXG Software (all versions) supports euro symbol.
New HSM variables, start/end timestamps for HSMFSRST events.
Sample MQ Series reports were enhanced.
Enhanced support for NPM subtypes 18x/19x.
ANALDB2R PMACCnn reports caused ERRORS and ABENDS.
ASUMUOW Doc updated: which _K macro to use for what data.
%GLOBAL macro variables no longer %LET to null value.
Major enhancements added in MXG 19.07:
Errors in datasets PDB.ASUM70PR, PDB.ASUMCEC, and PDB.TYPE70PR
were introduced by MXG 19.05 and not completely fixed by MXG 19.06
changes. IBM's unexpected insertion of segments for spare CPUs in
type 70 records (APAR OW49536) precipitated Change 19.189 to fix,
and that worked fine with 2064 CPUs, but failed with 9672 data.
The next fix took care of 9672s, but that fix created too large
values for LPnDUR, causing bad percentages, but now only on 2064s.
And then a user pointed out that Dedicated CPUs were not quite
correctly summed in ASUM70PR logic. Another user had mis-matched
values for LPAR busy of the same LPAR from three different systems
with MXG 18.18, because he had Dedicated/Wait Complete CPUs, and
(after hours of looking at his data, I re-found my) Change 17.203
that created PDB.ASUMCEC to solve the problem with missing values
and Dedicated/Wait Complete processors. (That the values were not
missing in his 18.18 data was itself an error also now corrected).
And Change 19.201 was needed to correct variable SHIFT in ASUM70PR
and ASUMCEC.
But, in summary, we did not handle that APAR well!
Major enhancements added in MXG 19.06:
Support for Tivoli/Netview NPM 2.6 COMPATIBLE.
Support for NTSMF SMS Objects.
"Support" for DB2 QLES section added to DB2STATS.
Major enhancements added in MXG 19.05:
Support for APAR OW49806, z/OS 1.1 and 1.2 required correction.
Support Windows 2000, SP2 for Exchange 2000, SQLSERVER, objects.
Support for Serena's Ultimizer user SMF record
Support for SMF type 82 crypto facility record.
New RMFINTRV vars PARTISHN TOTSHARE LPARSHAR CECSER
Revised to invoke VMXG70PR to match RMFINTRV interval
Major enhancements added in MXG 19.04:
Support for z/OS Version 1 Release 2, most new stuff (COMPATIBLE):
Existing important SMF and RMF records have been updated, but
some new data records, SMF 109, SMF 119 are not yet written.
See Change 19.176. (SMF 119 support was added in MXG 19.09).
Support for CICS/TS 2.2 Subtype 1 CICSTRAN (COMPATIBLE, unless you
have tailored MXG process any optional "user" segments in your
SMF 110 Subtype 1 Performance record (how to tell?: if you have
any tailored IMACICxx members in your USERID.SOURCLIB).
This support does NOT yet support the Subtype 2 Statistics 110.
See Change 19.181.
Support for IMS 6.1 Fast Path records (INCOMPAT)
Support for CISCO Works Blue ISM user SMF record st 01/05/06/66.
Support for WAS/390 4.0 EE Websphere SMF 120; won't fail, but this
support requires SAS V8.2+ for some character variables to be
valid; IBM introduced "Unicode" UCS/DBCS data in SMF 120's.
New SPINSORT member to sort SPIN if MXG moves from MVS to ASCII.
Documentation of the IHDRxxxx "INFILE" header exits.
Support for NTSMF V 2.4.2.11 & Windows 2000 changes.
Major enhancements added in MXG 19.03:
Support for TPF releases PUT08, PUT10, PUT12 (INCOMPATIBLE).
Support for z/VM 3.1 and VM/ESA 2.4 on z900 CPUs.
Revisions to ASMIMSL5 (5.1) and ASMIMSL6 (6.1 and 7.1) IMS log.
Enhanced ASUMCACH, from 74s: DASD Cache and DASD I/O.
New TYPE42XV dataset for XRC Volume segments.
Correction for TNG STARTIME, two-digit base-36, etc.
Read same MXG dataset from many DDnames/libraries with VGETDDS
Major enhancements added in MXG 19.02:
New MSU calculations were wrong with new z/OS 70 records.
PDB.ASUMUOW now contains USERCHAR from CICSTRAN.
Support for BMC Mainview Batch Optimizer, BMO SMF.
Support for DCOLLECT APAR OW48529, new value.
Support for HMF Subtypes 29, 30, and 31.
Support for IBM changes to Websphere SMF 120 record.
Support for SMF 102 IFCID 096 was corrected.
Support for objects NETWORKINTERFACE and PAGINGFILE.
ANALUSS example sums CPU time from USS/OMVS task's type 30s.
ASMIMSLn deletes IMS 01 records with recovery bit.
CICSTRAN STRTTIME/ENDTIME did not include Leap seconds.
JCL example to use BatchPipes with SAS - big savings!
KEEPALL=YES is now specified in ASUMs to save CPU.
SAS V8.2 WARNING: OPTION BLKSIZE(2311) NOT SUPPORTED.
Spurious SAS NOTE: "might be uninitialized".
TYPE73 records different for SMF73CMG=1 and SMF73CMG=2.
Major enhancements added in MXG 19.01:
z900 2064s and ICFs without OW48190 have wrong CPU count.
- causes CPU busy values to be wrong, too. Change 19.015
DB2ACCT Parallel Transactions are double accounted.
- See 19.027. IBM now "rolls up" child records into duplicate.
Duplicate observations created in MQMMSGDM dataset.
- See Change 19.054. MXG 18.18 error had two outputs.
Support for APAR OW46268 TYPE74 USS Kernel in place.
Support for APAR OW46622 for Temporal Affinity.
Support for CICS TCP/IP EZA01 optional variables.
Support for IMS Version 7.1 Log Records - no changes.
Support for Omegamon/IMS V500 - no changes.
Support for Tandem G06/G07/G08 CPU & DISK records.
Support for Landmark's The Monitor for IMS records.
Support for TLMS Release 5.5 (COMPATIBLE).
Support for CA/TNG new, post-9907 V6, format (INCOMPAT).
CICS CPU time captured is now documented in ADOC110.
Protection for invalid ALOCTIME (before INITTIME).
CHAIN logic in IMF IMS trans corrects negatives.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
MXG 19.19 has been tested with SAS V8.2 and SAS V6.09 on OS/390, and
with SAS V8.2 on Windows 98 and 2000 and Linux RH 7.2, but should run
without error under V8.2 on every possible SAS platform!
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Oct 31, 2001 19.04
CICSTRAN subtype 1 support only 19.04
CICSTRAN subtype 2 completed 19.05
CRR 1.6 Jun 24, 1994 12.02
CRR 1.7 Apr 25, 1996 14.02
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 7.1.0 Mar 30, 2001 18.11
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 16.04
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
SAS Institute
MXG executes best under SAS Version 8.2, with 82BX01 HOTFIX for
MVS-OS/390-z/OS which includes Critical 81BA57 fix).
See Newsletter FORTY for expanded discussion of other versions.
Read member NEWSLTRS (search 'V8') for SAS Version 8 notes.
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Windows 2000 Build 2195 17.10
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 16.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1) 16.04
Memorex/Telex
LMS 3.1 12.12A
MXG IMS-Log Not-Officially-Supported
IMS 6.1 - ASMIMSL6/TYPEIMSA 19.03
IMS 5.1 - ASMIMSL5/TYPEIMSA 19.03
Amdahl
APAF 4.1, 4.3 16.08
II. Incompatibilities and Installation of MXG 19.19.
1. Incompatibilities introduced in MXG 19.19 (since MXG 18.18):
a- Changes in MXG architecture made between 18.18 and 19.19 that might
introduce incompatibilities.
- A small increase, perhaps 5-6MB, of virtual storage may be
required for BUILDPDB due to MXG code changes (new variables
and datasets require more REGION=, and Change 19.272) has
has been observed. If you have a fixed REGION=nnM in your
JCL, even a small increase could cause an ABEND, so you must
compare the region used in your current job (Total Memory on
on the SAS log, for that big DATA step) with your REGION,
and may need to increase your fixed REGION size. At present
REGION=128M is larger than any BUILDPDB, and thus should be
safe, if you can't use REGION=0 and must specify a value.
- COMPRESS=YES is now the MXG default for new datasets. ITSV
sites have always had COMPRESS=YES specified, but if you did
not have that option set, you could see an increase in the
CPU time of BUILDPDB jobs. On some early CMOS systems cost
of compression was significant; you can turn it off with:
OPTIONS COMPRESS=NO;
Our benchmarks on 2064s with 307MB SMF showed:
Data Step sec BUILDPDB total CPU sec
NO YES NO YES CPU increase
18.18 71 -> 110 54% 172 -> 243 41% 71 seconds
19.19 106 -> 123 16% 205 -> 255 24% 50 seconds
The cost of compression with 18.18 was substantially higher
as a percentage than is the cost of compression with 19.19,
which mostly shows how poor percentages can be for real
comparisons. The real cost of total job compression is one
minute of CPU time per day for 300 MegaBytes of SMF data.
And you not only save lots of DASD space, but also avoid the
3am phone call that BUILDPDB had a B37 ABEND!
- Changes between 18.18 and 19.19 (new data, new subtypes
of existing BUILDPDB records) may cause a small increase in
the MXG CPU time for the "Big DATA" step; perhaps 2-3% for
an untailored BUILDPDB. But even when the new VMXGTIME time
zone convert option was enabled, the monster BUILDPDB that
reads almost every IBM and user SMF records, saw only a 12%
increase in the Big Data Step. However, other MXG changes
(KEEPALL=YES in VMXGSUM invocations) actually significantly
reduced the CPU time for the rest of the BUILDPDB job, and
the net increase (again, with VMXGTIME enabled) was only 5%:
Extended BUILDPDB Timings 307MB SMF;
Big DATA step BUILDPDB Job Total
18.18 110 sec 102MB 243 sec 104MB
19.19 123 sec 105MB 255 sec 107MB
Other cross-hardware benchmarks without VMXGTIME enabled
showed 2064 CPU time increased by 3% but by 5% on 9672
- MXG changed Landmark Support code for IMS, DB2, MVS:
Datetime values are now automatically converted from
GMT to LOCAL, as there is an offset in those records.
Landmark CICS values are NOT changed, because I could
not confirm if they should be. See Change 19.288.
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.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 18.18 now in MXG 19.11:
Dataset/
Member Change Description
none 19.234 MXG Software (all versions) supports the euro symbol.
Many 19.176 Support for z/OS Version 1 Release 2 (COMPAT)
ADOC110 19.025 CICS CPU time captured is now documented in ADOC110.
ANAL115 19.231 Sample MQ Series reports were enhanced.
ANAL16 19.257 Select SORTs with concat SYSIN, then matching 14 15.
ANAL30 19.257 Select step records, then corresponding 14 15 & 64s.
ANALDB2R 19.222 ANALDB2R PMACCnn reports caused ERRORS and ABENDS.
ANALQAPM 19.262 Sample AS/400 report from QAPM Perf Monitor data
ANALUSS 19.087 Example to sum CPU time from USS aka OMVS 30 records.
ASMIMSL5 19.135 MXG 19.01-19.02 only. Change 19.061 removed.
ASMIMSL6 19.135 MXG 19.01-19.02 only. Change 19.061 removed.
ASMIMSLn 19.061 IMS 01 records with recovery bit are deleted.
ASMTAPES 19.259 MXGTMNT DDNAME in SMF wrong if tape on 4-digit UCB.
ASUM70PR 19.015 z900 and ICFs without OW48190 have wrong CPU count.
ASUM70PR 19.201 Revised to invoke VMXG70PR to match RMFINTRV interval
ASUMCACH 19.123 Enhanced ASUMCACH, from 74s: DASD Cache and DASD I/O.
ASUMCACH 19.167 INVALID ARGUMENT TO FUNCTION INPUT corrected.
ASUMUOW 19.219 Doc only. Which _K macro to use for what.
ASUMxxxx 19.074 KEEPALL=YES is now specified in ASUMs to save CPU.
AUTOEXEC 19.279 MXG now sets OPTIONS COMPRESS=YES as default.
BLDNTPDB 19.199 Incorrect copying in the weekly phase corrected.
BUIL3005 19.162 JES3-only, variable NETNAME (DJC) now kept in JOBS.
BUILDPDB 19.036 Variable ABENDS in PDB.JOBS counted pseudo steps.
BUILDPDB 19.237 Variable LOCLINFO in PDB.STEPS was not from step.
BUILDPDB 19.269 Initiator Number and Name added to PDB.JOBS.
CONFIGV8 19.089 SAS V8.2 WARNING: OPTION BLKSIZE(2311) NOT SUPPORTED.
FORMATS 19.073 Support for DCOLLECT APAR OW48529, new value.
IEFU84 19.269 SMF Exit to add Initiator Number and Name to SMF 30.
IHDRxxxx 19.232 Documentation of the IHDRxxxx "INFILE" header exits.
IMACICEZ 19.047 Support for CICS TCP/IP EZA01 optional variables.
JCLUOWP 19.079 JCL example to use BatchPipes with SAS - big savings!
MXGBYLE 19.272 Default of MXG numeric variables changed, externalizd
MXGLEN 19.272 Default of MXG numeric variables changed, externalizd
RMFINTRV 19.011 CPCNRCPU,CPFCNAME wrong for CPUTYPE='2064' in 18.18.
RMFINTRV 19.020 %VMXGRMFI(PDB=SMF) error, MERGERMF not found.
RMFINTRV 19.156 Using fewer than the default workloads caused Notes.
RMFINTRV 19.201 New RMFINTRV vars PARTISHN TOTSHARE LPARSHAR CECSER
SPINSORT 19.172 PROC SORT of SPIN if MXG moves from MVS to ASCII.
TIMEBILD 19.260 Change time zone of all datetime variables by SYSTEM.
TIMEBILD 19.286 LOCAL and GMT Time Zone Deltas for VMXGTIME.
TIMETABL 19.260 Change time zone of all datetime variables by SYSTEM.
TIMETABL 19.286 LOCAL and GMT Time Zone Deltas for VMXGTIME.
TRNDCEC 19.150 Example of TRENDing the ASUMCEC dataset.
TYPE102 19.019 Type 102 subtype 140 INPUTE EXCEEDED error.
TYPE102 19.081 Support for SMF 102 IFCID 096 was corrected.
TYPE110 19.028 Variables DSxPERCT in CICDS are endpoint values.
TYPE110 19.076 CICSTRAN STRTTIME/ENDTIME did not include Leap secs.
TYPE110 19.181 Support for CICS/TS 2.2 Subtype 1 CICSTRAN
TYPE110 19.224 Support for IBM CICS/TS 2.2 Statistics Record TCBs
TYPE110 19.293 Support for CICS/TS 2.2 CICSTRAN (INCOMPATIBLE).
TYPE115 19.054 Duplicate observations created in MQMMSGDM dataset.
TYPE116 19.139 Invalid SMF 116 with QWHS length=108 protected.
TYPE119 19.267 Support for SMF 119 IBM z/OS V1R2 CS TCP/IP Product
TYPE120 19.077 Support for IBM changes to Websphere SMF 120 record.
TYPE120 19.180 Support for WAS/390 4.0 EE Websphere SMF 120
TYPE28 19.211 Support for Tivoli/Netview NPM 2.6 COMPATIBLE.
TYPE28 19.221 Enhanced support for NPM subtypes 18x/19x.
TYPE28 19.264 NRPxxxxx variables in NPMINNRP were all missing
TYPE30 19.056 Protection for invalid ALOCTIME (before INITTIME).
TYPE30 19.163 Variable JOBCLASS was unprintable under ASCII SAS.
TYPE30 19.169 Initiator Number and Name added to TYPE30_1 job init.
TYPE30 19.283 Actual Midnight ALOCTIME=0 caused ELAPSTM=24 hours.
TYPE30_D 19.060 Variable BLKSIZE in TYPE30_D, PDB.DDSTATS, wrong.
TYPE42 19.043 TYPE 42 subtype 5 INPUT EXCEEDED reading VSAM SMF.
TYPE42 19.145 New TYPE42XV dataset for XRC Volume segments.
TYPE42 19.147 Invalid SMF 42-5 protected.
TYPE42 19.160 Type 42 subtypes 7 and 8 were revised.
TYPE42 19.173 INPUT STATEMENT EXCEEDED, SMF 42 ST 6, invalid.
TYPE60 19.174 INPUT STATEMENT EXCEEDED, VVRTYPE='Z' SMF 60.
TYPE7072 19.018 Zero-divide by SMF70CPA corrected (no impact).
TYPE7072 19.245 Support for CRYPTO RMF 70 Subtype 2 APAR OW49808.
TYPE70PR 19.030 LPARCPUS=0 if back level OS/390 and no OW37565.
TYPE70PR 19.189 APAR OW49536 "spare" LPARCPUS/LPnNRPRC counted.
TYPE71 19.270 CSFRLSAV/ESFRLSAV can be small negative, reset to 0.
TYPE73 19.084 Offline channels in TYPE73, document CMG=1 and CMG=2.
TYPE73 19.240 MXG 19.04-19.07: PCHANBY/PNCHANBY/ONLINE were WRONG.
TYPE74 19.017 Support for APAR OW46268 TYPE74 USS Kernel in place.
TYPE74 19.186 "Broken" 74 subtype 4 incorrectly output in TYPE74CF.
TYPE74 19.239 TYPE74CF/TYPE74ST some R744S/R744F variables wrong.
TYPE78 19.070 TYPE78SP's _BTY73SP BY list didn't remove all dupes.
TYPE78 19.203 Support for APAR OW49806, z/OS 1.1 and 1.2 correction
TYPE79 19.051 Support for APAR OW46622 for Temporal Affinity.
TYPE82 19.200 Support for SMF type 82 crypto facility record.
TYPE91 19.241 Batch Pipes datasets have added variables for merge.
TYPE94 19.290 Support for APAR OW52989, adds 8-way AX0 controlers.
TYPEAIX 19.261 Support for IBM AIX Performance Toolbox, PTX V2.
TYPECIMS 19.031 CHAIN logic in IMF IMS trans corrects negatives.
TYPECISM 19.158 Support for CISCO Works Blue ISM user SMF record.
TYPEDB2 19.027 DB2ACCT Parallel Transactions are double accounted.
TYPEDB2 19.213 DB2 V7 QLES section variables added to DB2STATS.
TYPEEDGR 19.252 Variables added by OW40710 in 1999 now added in MXG.
TYPEEDGS 19.284 DFSMS/rmm "V" records had blank MVDSNx variables.
TYPEHMF 19.082 Support for HMF Subtypes 29, 30, and 31.
TYPEHSM 19.227 New vars, start/end timestamps for HSMFSRST events.
TYPEIDML 19.244 Support for IDMS Log Statistics Records.
TYPEIMS 19.046 Support for IMS Version 7.1 Log Records.
TYPEIMS 19.242 IMSGTEXT/OMSGTEXT were incorrect.
TYPEIMS7 19.117 NMSGPROC in IMS0708 no longer counts unmatched 08's.
TYPEIMSA 19.177 Support for IMS 6.1 Fast Path records (INCOMPAT)
TYPEIMSA 19.188 Times were GMT vice local: IMS SRV/RES/ TM/TS.
TYPEITRF 19.003 Support for Omegamon/IMS V500 - no changes.
TYPEMBO 19.067 Support for BMC Mainview Batch Optimizer, BMO SMF.
TYPEMPLX 19.185 Support for the Implex User SMF record.
TYPENDM 19.275 NDMCPUTM added in NDM/Connect Direct records.
TYPENSPY 19.044 NETSPY type 'R' INPUT STATEMENT EXCEEDED.
TYPENTSM 19.065 Support for objects NETWORKINTERFACE and PAGINGFILE.
TYPENTSM 19.148 Support for NTSMF V 2.4.2.11 & Windows 2000 changes.
TYPENTSM 19.153 Corrections for Process with NRDATA=27, old NTSMFs.
TYPENTSM 19.197 New Windows 2000, Exchange 2000, etc, objects.
TYPENTSM 19.214 Support for NTSMF SMS Objects.
TYPENTSM 19.276 MSEXCHANGE DS object has new variables.
TYPEQACS 19.289 Support for OS/400 Release 5.1.0 Collection Services
TYPERSDA 19.229 Support for RSD Folders ASTRE Auditing User SMF rec.
TYPESFTA 19.166 Soft Audit variable STEPNAME contained SYSTEM.
TYPESHDW 19.032 Shadow Direct INPUT STATEMENT EXCEEDED error.
TYPESTC 19.264 Zero observations in HSC dataset STCHSC from STK SMF.
TYPESYNC 19.004 Array name DD conflicts with existing DD variable.
TYPESYNC 19.228 VARIABLE UNIT1 HAS BEEN DEFINED AS BOTH CHARACTER
TYPETAND 19.029 Support for Tandem G06/G07/G08 CPU & DISK records.
TYPETCP 19.053 SMF 118 ERROR.4. HFS FILE error created in error.
TYPETIMS 19.050 Support for Landmark's The Monitor for IMS records.
TYPETIMS 19.288 Landmark for IMS datetime variable now on Local zone.
TYPETLMS 19.013 Support for TLMS Release 5.5 (COMPATIBLE).
TYPETMDB 19.288 Landmark for DB2 datetime variable now on Local zone.
TYPETMNT 19.088 INITTIME could be off by one day.
TYPETMS5 19.164 TMS Audit variables TMAUxxxx/TMVAxxxx correct now.
TYPETMTC 19.225 Support for Landmark's TMON for TCP/IP v1.1.
TYPETMV2 19.288 Landmark for MVS datetime variable now on Local zone.
TYPETMV2 19.297 Support for Landmark Monitor for MVS Version 3.
TYPETNG 19.009 Support for CA/TNG new, post-9907, format (INCOMPAT).
TYPETNG 19.146 Correction for TNG STARTIME, two-digit base-36, etc.
TYPETPF 19.125 Support for TPF releases PUT08,PUT10,PUT12 INCOMPAT.
TYPETPF 19.136 TPF datetimes now corrected from GMT to local zone.
TYPETPF 19.170 TPF enhancements for wrapped counters.
TYPETSOM 19.075 New TSMPxxxx variables now kept in TSOMCALL dataset.
TYPEULTM 19.202 Support for Serena's Ultimizer user SMF record
TYPEVMXA 19.132 Support for z/VM 3.1 and VM/ESA 2.4 on z900 CPUs.
TYPEWWW 19.249 Support for WebLogs: IIS, WebSphere, CLF, Cookies+.
UGMTCHEK 19.287 Utility to check for datetime variables still on GMT
UGMTCHEK 19.287 Utility to examine if GMT values are in your data.
UNIXSAR 19.294 User contribution reads unix sar -A -f reports.
UTILCVRT 19.271 Utility converts historic MVS PDB's $HEX on ASCII.
UTILEXCL 19.293 UTILEXCL creates IMACEXCL without EDIT for CICS.
VGETDDS 19.116 Read same MXG dataset from many DDnames/libraries.
VGETOBS 19.247 New MXGDSN macro variable exist/zero obs detection.
VGETxxx 19.002 Documentation of VGETxxx macro naming convention.
VMXGDEL 19.268 Replaced use of PROC SQL/VTABLE in internal macro.
VMXGDEL 19.295 Lower case work. did not match upper case WORK.
VMXGDUR 19.282 SYNC59=NO specification did not work.
VMXGINIT 19.230 %GLOBAL macro variables no longer %LET to null value.
VMXGINIT 19.279 MXG now sets OPTIONS COMPRESS=YES as default.
VMXGOPTR 19.268 Replaced use of PROC SQL/VTABLE in internal macro.
VMXGRMFI 19.083 New MSU calculations wrong with new z/OS 70 records.
VMXGSUM 19.151 Use of TEMP01/TEMP02/TEMP03 revised.
VMXGSUM 19.246 New HOUSKEEP= option to leave temporary datasets.
VMXGSUM 19.251 &MXGLEN added, TEMPnn logic corrected, PROC SQL fix.
VMXGTIME 19.260 Change time zone of all datetime variables by SYSTEM.
VMXGTIME 19.286 LOCAL and GMT Time Zone Deltas for VMXGTIME.
VMXGUOW 19.092 PDB.ASUMUOW now contains USERCHAR from CICSTRAN.
VMXGWORL 19.063 Spurious SAS NOTE: "might be uninitialized".
Inverse chronological list of all Changes:
NEXTCHANGE: Version 19.
=======Changes thru 19.300 were in MXG 19.19 dated Feb 14, 2002=========
Change 19.300 One site using MXGTMNT MXG Tape Mount Monitor found their
ASMTAPES LOGREC filled with MXGTMNT generated X'E0' ABEND messages
Feb 13, 2002 to the extent that they had to stop MXGTMNT. This site
is a massive user of virtual tapes, and the E0 results
when the monitor saw the job at one pop, but the job is
no longer in the system a 2-second pop later, because its
done its virtual mount and ended in milliseconds.
The original design used a previously saved ALET during
cross-memory access to an address space for which a tape
mount occurred, but, no check was made to see if the ALET
has been invalidated because the job had ended.
Instead, this redesign will
- Save the ASID and JOBNAME for the job associated with
the device when it sees a mount pending, and now save
the STOKEN for the address space. Each STOKEN value is
unique across the life of the IPL, whereas the ASID and
the ALET are not.
- When the CROSSMEM routine executes, it checks to see if
the STOKEN for the address space it is in (ASSBSTKN in
the ASSB) matches what was saved previously when the
mount was detected; if it matches, it's safe to do the
SAC instruction. If the STOKEN does not match, then
the original address space that caused the mount is
indeed gone, and we will stop CROSSMEM processing for
that address space.
-The SMF record will be written the same way a job
change is currently handled: MXGTMNT writes out the
SMF record as it is up to that point, without the
allocation information in it. The data currently
captured from the ACEE, JCT, OUCB, ACT, JMR, DSAB, and
the SCT will be missing from these records.
This enhancement to MXGTMNT will be "ML-21" and the
ASMTAPES member will have that noted at its beginning.
As of the February 14 start of tape build for MXG 19.19
this change has only been designed; if you encounter
significant counts of LOGREC 0E ABEND messages from the
MXGTMNT program, please request the "ML-21" level of
the ASMTAPES member, and it will be sent when tested.
Feb 27, 2002: ML-21 is now available, Change 20.011.
Change 19.299 MXG Messages "New NTSMF OBJECT Found" did not contain the
VMACNTSM name of the SYSTEM with the new object, making it hard to
Feb 13, 2002 know on which system to enable NTSMF's DISCOVERY option.
Sending the discover file to support@mxg.com is all that
is needed to add support for the new object into MXG.
But if that message has OBJECT=, then you
will need to contact NTSMF support, because that message
results when the MicroSoft code-writer failed to comply
with standards, so the NTSMF programmers have to develop
a fix to Cover Their Actions and get the correct name.
Thanks to Denny C. Wong, New York Life Insurance, USA.
Change 19.298 Variables for Storage Class name are now input in subtype
VMACSTC 16, 17, and 18 STK records, as is STC17MVC, the VOLSER in
Feb 13, 2002 subtype 17.
Thanks to John Ellis, Powergen Retail, ENGLAND.
Change 19.297 Support for Landmark TMON for MVS Version 3.0 (INCOMPAT).
VMACTMV2 The documentation does not agree with their actual data,
Feb 13, 2002 but by considerable sleuthing I believe I have found what
Oct 17, 2002 was changed, but you must validate this support with your
data, and report any discrepancies to support@mxg.com.
The DV record is bypassed because it has inserted data
that I can't figure out, but these 3.0 datasets have been
created and printed and look okay except as noted:
XIS, XIM, XI, WG , TR (DURATM is in error in the record)
SYS, YSSW, YSUI, PS (CHANGED) NQ, MLV, MLL, MLG, LC,
JDSW, JDDL, JDIN (suspect) EL CS,CP,CH,CF (suspect)
Oct 17, 2002: Support for TMON/MVS V3.0 and 3.1 is
now in member TYPETMVS/TYPSTMVS/VMACTMVS and not in
the TMV2 suffixes. See Change 20.201.
Thanks to John Jackson, REDCATS (UK), ENGLAND.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 19.296 While DCOLLECT is generally used to graze your DASD farm
ASMVTOC for dataset space, etc., there are cases when ASMVTOC is
Feb 13, 2002 needed, and this revision will make it easier and better
when you need to look at all the VTOCs.
-The program now allows Volume select/exclude processing,
so you can avoid multiple scans of volumes shared between
images. To invoke select/exclude, set PARM='VOLLIST' and
add a //VOLLIST DD.
-The program revised the CVAFSEQ access to handle UCBs
that are above the line.
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 19.295 An ITSV-only problem appears to have been introduced by
VMXGDEL SAS Version 8.2; apparenly the ITSV %CMSTART macro now
VMXGINIT sets the option USER='work', and VMXGDEL tried to compare
Feb 13, 2002 work.DB2STAT2 with WORK.DB2STAT2, which was not equal, so
VMXGDEL deleted the WORK.DB2STAT2 dataset it had built.
This change protects the VMXGDEL test with UPCASE, but
also VMXGINIT was enhanced to force the USER and SASWORK
options to upper case if they had been lower case, for
consistency.
Thanks to Roderic Gass, British Energy Group, ENGLAND.
Change 19.294 This user contribution processes unix sar reports files
UNIXSAR created with the command sar -A -f sardata.mmmyy
Feb 12, 2002 This preliminary code will eventually be revised into the
normal MXG member naming, macros, etc, but this code will
give you access to the sar information now.
Thanks to Carmen Vitullo, Acxiom, USA
Thanks to Uriel Carrasquilla, NCCI, USA.
Change 19.293 -Support for CICS/TS 2.2 CICSTRAN (INCOMPATIBLE, IBM again
VMAC110 inserted new fields in their SMF 110 subtype 1 records.
UTILEXCL -New UTILEXCL program for EXCLUDEd fields in CICS records
Feb 9, 2002 automatically creates the tailored IMACEXCL member from
Feb 11, 2002 your CICS dictionary SMF records, eliminating any manual
EDITing of the IMACEXCL member. In addition, using the
UTILEXCL to create an IMACEXCL member, even if you don't
exclude fields, will provide performance benefits:
- a single INPUT statement for each APPLID is created;
the default TYPE110 code has many conditional tests
that break up the INPUT statement, and that is more
CPU-expensive that a single INPUT execution.
- conversion statements (times are multiplied by 16) are
only generated for the fields that are input. The
old IMACEXCL you created skipped over Exclude fields,
but then all variables were converted, causing many
unnecessary calculations on missing values, which is
itself a performance negative in SAS V8.
- all EXCLUDEd fields are DROPped automatically, so you
do not have to tailor the KEEP or DROP macros for the
CICSTRAN dataset.
This is new and very powerful; see its comments.
And this design will be enhanced: I would like to detect
changes in your CICS dictionary and create a new IMACEXCL
that can use SMFTIME to differentiate the old from the
new records from the same APPLID, in a future revision.
Change 19.292 Overdue cleanup of TRENDing for DB2 datasets has correct
TRNDDB2A spelling of all variables and KEEPALL=YES is specified on
TRNDDB2B each VMXGSUM invocation so they work. The TRNDDB2X member
TRNDDB2S summarizes the DB2STATB, Interval Buffer Statistics, by
TRNDDB2X Buffer Pool, named TRNDDB2X because TRNDDB2B is used for
Feb 8, 2002 the DB2ACCTB (Plan Buffer Details, by Buffer Pool).
Change 19.291 The NOAMSGID field in the Version 2.3 record is now an
VMACNOAM 8-byte character variable, instead of a 2-byte numeric,
Feb 6, 2002 so it is now input into new variable NOAMSGCH.
Thanks to Mike Fry, HSBC, ENGLAND.
Change 19.290 Support for IBM SMF 94 record, APAR OW52989 that added
VMAC94 support for 8-way AX0 controllers (AX0 to AX7). MXG will
Feb 6, 2002 input the additional 4 AXO's data fields when they are
present.
Thanks to Alex MacFarlane, Bank of New York, USA.
Change 19.289 MXG Support for OS/400 Release 5.1.0 Collections Services
EXQAPJOL was added in the TYPEQACS member (introduced in 4.5 for
EXQAPJOM IBM's first Collection Services), instead of the TYPEQAPM
EXQAPJOM member, because the records were completely incompatibly
EXQAPJOL restrucured, and in three instances, split apart. While
EXQAPPOB the Member name you execute is changed from QAPM to QACS,
EXQAPPOL all datasets created still start with QAPMxxxx and all of
EXQAPPOT the former variable names are preserved. Three old files
EXQAPSYC are split: JOBS, POOL, and SYS. For example, from IBM's
EXQAPSYL Collection Services documentation:
EXQAPSYT Performance data files: QAPMJOBS and QAPMJOBL.
IMACQACS The QAPMJOBL file is provided for compatibilty with
TYPEQACS the PM and combines data from QAPMJOBMI and QAPMJOBOS
TYPSQACS files. The QAPMJOBS file is created when the PM
VMXGINIT database files are migrated with the Convert
Feb 6, 2002 Performance Data commmand (CVTPFRDTA) to the new
Feb 9, 2002 release, but Collection Services does not create the
QAPMJOBS file.
MXG will create QAPMJOBL, or QAPMJOBM, or QAPMJOBO, from
whichever those three files you create, but it appears
the new "Logical" dataset, QAPMJOBL, contains all that
was in the old QAPMJOBS dataset, so the JOBMI/JOBOS files
probably are not needed. And similarly, the POOL records
are split and create QAPMPOLB, QAPMPOLL (old QAPMPOOL),
and QAPMPOLT datasets from those three Pool files, and
the SYS records now create QAPMSYSC, QAPMSYSL (old
QAPMSYS), and QAPMSYST datasets from those files. Your
choice of macros you invoke in your copy of TYPEQACS
determines what MXG will create. This changes has been
validated with all of the above records, plus QACSCONF
and QACSDISK, but there are three new records (JSUM, TCP,
and TCPIFC) that have not been requested (i.e., test
data). The list of specific LRECLs that must be used to
upload to MVS (or to use in your FILENAME statement on
ASCII) are listed in the comments in VMACQACS.
Thanks to Paul Gillis, Pacific Management Systems, AUSTRALIA.
Thanks to Gary Katerelos, Coles Meyer, AUSTRALIA.
Thanks to Martyn Jones, ABN-AMRO, THE NETHERLANDS.
======Changes thru 19.288 were in MXG 19.11 dated Feb 4, 2002======
Change 19.288 MXG Support for Landmark's IMS, DB2, and MVS products is
VMACTIMS changed INCOMPATIBLY, possibly, because all datetimes are
VMACTMDB now converted from GMT to LOCAL, using the record's GMT
VMACTMO2 offset, which is the way is should have been done.
VMACTMV2 IF YOU USE THESE PRODUCTS, YOUR TIMES WILL CHANGE FROM
Feb 3, 2002 GMT TO LOCAL, OR IF YOU ARE ALREADY CHANGING THOSE FIELDS
IN MXG EXITS OR IN OUR REPORTS, YOUR REPORTS WILL CHANGE
FROM RIGHT TO WRONG, and you will need to remove your
tailoring code. (Of course, if your site's GMT offset is
zero, no change in before or after values will occur.)
Alternatively, you could use the new TIMEBILD/TIMETABL
in Change 19.286 to change those local times back to
GMT, using a TIMETABL just for these MXG jobs with the
negative of the GMT offset in the LOCAL delta entry,
and with SYSTEM blank. help.
Note that ONLY Landmark IMS, DB2, and MVS were changed;
the CICS support in TYPETMO2 is still unchanged, because
there IS no GMT offset in those records. In fact, you
can now use the new TIMEBILD architecture for your
TYPETMO2 jobs to convert those GMT datetimes into local.
Change 19.287 Utility UGMTCHEK selects all datetime variables in all
UGMTCHEK datasets in a SAS data library, PROC PRINTs only those
VMXGPRAL variables from the first observation, and PROC MEANS to
Feb 2, 2002 get the min and max value of each datetime variable, so
that you can see whether a datetimestamp is on the local
or GMT time zone. Change 19.286 required knowledge of
the zone of each datetime variable, rarely found in the
record's documentation; only actual data can confirm the
time zone of a datetime variable, hence this new utility.
MXG always intends to convert datetime variables to the
local timezone, if a GMT offset is present in the record,
and for the vast majority of data, times are local zone.
UGMTCHEK requires SAS V8 because it uses the AUTONAME
option (so variable names in MEANS output are appended
with their statistic: SMFTIME_MIN and SMFTIME_MAX for
these reports; it is still my intention NOT to create any
real MXG variables in MXG datasets with names longer than
8-characters, but AUTONAME was perfect for this report.
UGMTCHEK uses %VMXGPRAL to "PRint ALL datasets in a SAS
Data Library"; VMXGPRAL was revised to choose any or all
of the three procs (CONTENTS, MEANS, PRINT) to execute;
in this instance, I only wanted a PRINT of each dataset.
Change 19.286 LOCAL and GMT Time Zones Delta conversion in VMXGTIME.
IMACINIT -This enhancement to Change 19.260 supports two time zones
TIMEBILD in TIMETABL: a LOCAL delta for datetime variables on the
TIMETABL local time zone, and a GMT delta for those few variables
VMACmanymany still on GMT time zone (because there is no GMT-offset
VMXGTIME in their record). All GMT-time-zone datetime variables
VMXGINIT were put in separate %VMXGTIME source statements:
Feb 2, 2002 %VMXGTIME(.list-of-GMT-vars.,SYSTEM,GMT=YES)
Feb 5, 2002 so that VMXGTIME uses the GMT delta column in TIMETABL
Feb 8, 2002 member to convert those variables.
Feb 11, 2002 Almost all important variables are in local time zone,
but actual data is the only way to know for sure, so
all possible data records were run thru the UGMTCHEK
utility that display the actual values of each variable
that has a datetime format in all datasets in a PDB.
But since vendors can add GMT offsets, and they will be
used when found, you should use UGMTCHEK against your
own datasets to confirm and validate your datetimes.
The full list of GMT variables is at the end of this
change, and it will be revised if vendors add GMT
offsets to their records, or if your validation shows
that I've overlooked something.
If there is a difference in your datetime values, check
your "USERID.SOURCLIB" Exit members (EXdddddd) to see
if the previous MXG-person changed those values in your
installation tailoring exit member.
The specific case that created VMXGTIME was a site with
multiple LPARs, each on different time zones, and this
change is running in production to bring all of those
data to the common, local time zone of the data center.
But for records that do not contain a GMT Offset, you can
now enable TIMEBLD with a zero LOCAL Delta and your site
GMT offset for the GMT delta, and convert GMT datetimes
based on your instructions in TIMETABL.
Most MXG datetimestamp variables contain local time; the
SMFSTAMP/RMFSTAMP informats are local; most TODSTAMPs are
GMT, but are converted if there is a GMT offset. Records
that contain only the first 4-bytes of GMT offset were
originally decoded with this calculation:
INPUT OFFSET &IB.4. @; OFFSET=1.048576*OFFSET;
but the result can be off by a second, it has no obvious
reason for that constant, and must be "rounded" to give
picture-pretty values. And now, real logic can be used
to replace that engineering estimate:
INPUT GMTCHAR $CHAR4. @;
OFFSET=INPUT( (GMTCHAR!!'00000000'X),&IB.8.6)/4096;
IF . LT OFFSET LT 0 THEN OFFSET=CEIL(OFFSET);
ELSE OFFSET=FLOOR(OFFSET);
Only a few members had the old code.
Two very important "token" variables that are necessary
to match records together, READTIME and UOWTIME, are
NOT converted by VMXGTIME:
READTIME - its time zone is that of the SYSTEM that saw
the job card, but the records on this SYSTEM
do not tell where the job was input (except
for the type 26 purge record), so it is not
possible to correctly re-zone READTIME. And
even if it were, you would have the READTIME
in your PDB datasets different that READTIME
in the other (unprocessed) SMF data.
UOWTIME - similarly, it's time zone is unknown, and it
must be unchanged to allow CICS and DB2 to
be merged in ASUMUOW.
The variables below are still in GMT time zone (because
there is no GMT offset value in their data records) so
they are in VMXGTIME (GMT=YES) statements, and will be
converted only if you have a non-zero GMT-offset value
in your TIMETABL member:
VMAC110:
A06GOFTM A06GONTM A08GBKCD A08GBKDD A14GACT A14GADT
A17GCLST A17GOPNT AUSGOFTM AUSGONTM D2GCONGM D2GDISGM
DS2LSTRT DS2START DS3LSTRT DS3START DS4LSTRT DS5LSTRT
DS6LSTRT DSGLRT DSGLSTRT DSGLSTRT DSGLSTRT DSGSTART
GLRHGMT GLRUGMT SORCLOSG SOROPENG STACTIME STADTIME
STGCSTRT STGLRTVL
VMAC116:
WQCLOSTI WQOPENTI WTASINTE WTASINTS WTASSTRT
VMAC119:
CITITIME CTTITIME CTTTTIME FCSETIME FCSTTIME FSSETIME
FSSTTIME NIINTIME NTTITIME NTTTTIME STTIME TITIME
TTETIME TTSTIME UCCTIME UCOTIME
VMAC42:
STARTIME ENDTIME
S42EXSTM S42EXETM
S42CCSST S42CCEIT S42CCSET
VMACCMF:
CMF29SCK CMF29TIM SMF29ECK SMF29PCK
VMACACF2:
ACSMFTOD LIDLUPT LIDPSTOD
VMACAPAF:
APAFTOD IMLTOD LITOD UPDATE
VMACASXT:
RSIOMT RSIO RCENDT
VMACHURN:
HU01RST HU02END HU05RST HU06RST HU08RST HU09RST
HU10RST HU11RST HU12RST HU12TIM1 HU12TIM2 HU12TIM3
HU12TIM4 HU12TIM5 HU13ETIM HU13RST HU13STIM HU16SSTM
HU22RST HU24RST HU25RST HU26RST HU40DRST HU42CRTM
HU47ONDT HU47RST HU49ONDT HU49RST HU50CRTM HU51CRTM
HU51DRST HU51RST HU52DRST HU52RST HU60CRTM HU60DRST
HU60SSTM HU61CRTM HU61DRST HU61RST HU62CRTM HU62DRST
HU62RST HU62SSTM HU72CRTM HU72DRST HU72RST HU72SSTM
HU72TSTM
VMACOMSM:
OMFS2STM OMFS2ETM OMFS2JTM
VMACSTC:
STC09TIM STC13MET STC13MST STC13TIM STC14TIM STC16MET
STC16MST STC18MET STC18MST STC18TIM STC19RET STC19RST
STC19TIM STC23TIM STC26MET STC26MST VARDATI VARDATL
VMACSUNS:
ENDTIME
VMACTMV2:
ENDTIME JDINTST JDITIME JDJETIME JDJSTIME JDOSTCK
JDRDTIME JDSETIME JDSSTIME LMRKCARK STARTIME TRLAST
TRSTCK TRSTK1 TRSTK2 TRSTK3
-Performance Impact:
- Changes between 18.18 and 19.19 (new data, new subtypes
of existing BUILDPDB records) may cause an increase in
the MXG CPU time for the "big DATA" step: perhaps 3%
for an untailored BUILDPDB, and as much as 12% at one
test site with a heavily tailored and extended PDB that
contains almost all possible IBM and user SMF records.
However, the CPU time for the post-big-DATA processing
was significantly with 19.19 than with 18.18, so the
net increase in the entire BUILDPDB job was only 5%:
Extended BUILDPDB Timings 307MB SMF;
Big DATA step BUILDPDB Job Total
18.18 110 sec 102MB 243 sec 104MB
19.19 123 sec 105MB 255 sec 107MB
- Many %VMXGTIME() invocation statements were added in
source code, but MXG initialization invokes %TIMEBILD
with TIMEBILD=NO to create a dummy %VMXGTIME macro that
has minimal impact on CPU and virtual storage costs.
- Enabling %TIMEBILD in your //SYSIN will create the real
%VMXGTIME macro, with a small, measurable compile cost,
but the actual execution CPU costs depend on how many
variables in how many records are actually changed.
- BUILDPDB with only default SMF records with no DB2/CICS
(375K records, 1.1GB) showed no increase between 18.18
and 19.19. Enabling VMXGTIME, CPU increased from 9 to
10 minutes.
- BUILDPDB with only default RMF records (4.8GM) also had
no increase between 18.18 and 19.19; enabling VMXGTIME
increased 79 seconds CPU time to 98 seconds.
MXG 19.07 base - 1637 CPU secs Virtual 69411K
MXG 19.19 disabled - 1638 CPU secs + 0% Virtual 69574K
MXG 19.19 enabled - 1839 CPU secs +12% Virtual 70951K
- The delta between 19.07 and 19.19 VMXGTIME-disabled
run shows there was no cost in adding that code.
- The VMXGTIME-enabled increase of 201 seconds is the
(small, fixed) compile-time cost of each %VMXGTIME
statement, and the actual execution costs to change
377 variable's values across those 10 million SMF
records to shift all records to the local zone.
There were 210 VMACxxxx members that were EDITed for this
change, with 1054 %VMXGTIME statements added that list in
excess of 1,500 datetime variables.
-Feb 8 revision. TIMEBILD with TIMEBILD=NO is now invoked
at MXG Initialization to create a null %VMXGTIME macro,
so there is NO cost for those %VMXGTIME() statements
added in MXG source code to provide this enhancement.
-Unrelated, but done as part of this change, there is a
new IMACINIT, for user tailoring at MXG Initialization,
which is included as the last statement each time that
%VMXGINIT is initialized or re-initialized. Likely very
few sites will ever need it, but now it's there.
-If you enable TIMEBILD, you can get a count of how many
variables were changed by adding this statement:
%PUT MXG USED VMXGTIME TO CONVERT &MXGTIMEC VARIABLES.;
at the end of your sysin.
Change 19.285 Incorrect macro references caused syntax errors if you
VMXG70PR used the OUT70PR= WORK.ASUM70PR or OUTCEC=WORK.ASUMCEC
Feb 1, 2002 arguments of %VMXGRMFI to send those two datasets to WORK
(VMXG70PR was wanted to only update the PLATxxxx vars in
the PDB.RMFINTRV dataset). The correct macro references
now work as documented.
Thanks to Helgund Linck, BASF IT Services GmbH, GERMANY.
Change 19.284 DFSMS/RMM "V" records have changed at some point in the
VMACEDGS past, but unless you wanted the MVDSNx fields, you would
Jan 31, 2002 not have notices. The +58 in the INPUT for the V record
is now +122 to skip over the new blank data inserted in
the record.
See Change 21.122, which changed the +122 back to +58,
and externalized the value in MACRO _LNEDGS.
Thanks to Bruce J. Danderline, Memorial Sloan Kettering, USA.
Change 19.283 My very earliest (1972) heuristic, to identify steps that
VMAC30 did not Allocate or Load by setting ALOCTIME or LOADTIME
Jan 31, 2002 to a missing value, was based on exact zero values in the
Feb 1, 2002 raw data, but has finally been exposed by a step that did
allocate exactly at midnight (0.00), causing ALOCTIME to
be wrong, ELAPSTM to be 24 hours, and ALOCTM negative in
step and interval datasets. A heuristic is required here
because IBM only provides times, without dates, for these
events timestamps. This revision eliminates any exposure
to incorrectly setting LOADTIME, now setting it missing
only when virtual storage was not acquired; if PVTTOP=0
PVTTOP=0, the "PROGRAM FETCH" event never occurred. And
with this external criteria to guarantee LOADTIME valid,
ALOCTIME can be always valid when LOADTIME is nonmissing.
One remaining exposure cannot be corrected: a step that
did not load, so it has LOADTIME=., but had an allocation
start time exactly at midnight, will still have ALOCTIME
missing, rather than a midnight time on potentially the
wrong date, because there is no separate criteria to tell
whether that was a midnight or a no-allocate event, but
since LOADTIME is missing in this case, ALOCTIME is far
more likely to have also been missing, and not midnight.
SMF 30 records for STCs for O/MVS a/k/a USS can be valid
but appear inconsistent. Step records for JOB=BPXAS with
both ALOCTIME and LOADTIME missing, but a SELAPSTM of 45
minutes, and with PVTBOT and PVTTOP both zero but with a
small non-zero CPUTCBTM recorded have been observed; the
examples all had PGM=IEFIIC, the initator program name.
Because Change 19.056 reported that the ALOCTIME can be
slightly earlier than INITTIME, and won't be fixed by IBM
a 5-second fuzziness is included in the revision.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 19.282 Explicitly specifying SYNC59=NO in $%VMXGRMFI invocations
VMXGDUR did not work, printed "uninitialized variable NO " notes,
Jan 30, 2002 and could create incorrect datetime value; even though
SYNC59=NO is the default in VMXGRMFI and works. The user
found that SYNC59=N circumvented this error, that occurs
only if you add SYNC59 to your invocation of
%VMXGRMFI(PDB=...,SYNC59=NO);
The actual error was in the VMXGDUR macro that is called
by %VMXGRMFI, and its handling of SYNC59 is now correct.
Thanks to Helgund Linck, BASF IT Services GmbH, GERMANY.
======Changes thru 19.281 were in MXG 19.10 dated Jan 29, 2002======
Change 19.281 Internal utility macro %VGETOBS is now modified to test
VGETOBS that DDNAME is not blank; instead of failing, it will pop
Jan 29, 2002 a warning message and will set the DDNAME to WORK.
Thanks to Michael Oujesky, MBNA, USA.
Change 19.280 WebLog read fails if the ASCII-to-EBCDIC conversion table
VMACWWW in the ftp/upload program that moved the web log to MVS
Jan 29, 2002 changed left/right ASCII square brackets into 'AD'x/'BD'x
instead of the expected 'BA'x/'BB'x hex values. IBM's
"Yellow Card" does show 'AD'x/'BD'x for EBCDIC square
brackets, and some editors and (we now know!) some ftp
packages also output AD/BD values, but IBM's own ISPF/PDF
editor has always created the BA/BB value that is in MXG
source code on MVS! Now, when MXG code that reads data
records with brackets as delimiters is executed on MVS,
MXG will use the TRANSLATE function to change 'AD'x/'BD'x
into 'BA'x/'BB'x so either delimiter will be recognized.
Thanks to MP Welch, SPRINT, USA.
Change 19.279 MXG now sets option COMPRESS=YES by default, to enable
AUTOEXEC compression of new SAS datasets, to significantly reduce
CONFIGV8 the disk space required for work and PDB libraries:
CONFIGV6 - primarily to eliminate unnecessary out-of-space ABENDs
CONFIGxx that wake up a human at 3 am when BUILDPDB fails,
Jan 28, 2002 - Avoid B37 ABENDS
- Job that now needs two or more work volumes will still
run without changing its JCL to UNIT=(SYSDA,3)
- Big reduction in I/O time and I/O conflicts
- Faster run time: lots on Intel, somewhat on IBM
- Automatic; no human intervention or action on your
part is required; many sites already made this choice
- For MXG under ITSV: no impact; ITSV has always used
COMPRESS=YES default option.
- Reversible; just specify OPTIONS COMPRESS=NO; as your
first statement in the //SYSIN stream.
Those benefits far outweigh the only possible negative:
a moderate increase in CPU time on old CMOS pre-G6 CPUs.
The savings in human intervention alone is worth the very
small increase in CPU time of your MXG jobs.
Benchmarks in Newsletter FORTY justify this change.
-All CONFIGs now have OPTION SOURCE, so that the SAS code
statements in your //SYSIN stream will be printed on the
SAS log (so I can figure out what program you are running
if you have a problem).
Change 19.278 Support for RMDS 2.3 added new RMDSORG=5 RMDSACT=A Report
FORMATS with several new variables in TYPERMDS, and new Sign On
VMACRMDS and Sign Off RMDSORG=4 RMDSACT=U/X events with no new
Jan 28, 2002 data fields. FORMATS was updated for RMDSORG values.
Thanks to Bruno Peeters, Dexia Bank, BELGIUM.
Change 19.277 New examples of Availability Reporting based on TYPE30_V
ANALAVAI a/k/a PDB.SMFINTRV data from type 30 interval records.
Jan 27, 2002
Thanks to Chuck Hopf, MBNA, USA,
Change 19.276 NTSMF object MSEXCHANGE DS has two added fields:
VMACNTSM MSEXCMTA='MSEXCHANGE*MTA'
Jan 27, 2002 ABANRRRT='AB*ANR*PER SEC'
Thanks to Terry Heim, ECOLAB, USA.
Change 19.275 Support for NDM Connect Direct for OS/390 CPU time that
VMACNDM was added to the end of PT, CT and RT statistics record.
Jan 27, 2002 MXG variable NDMCPUTM now exists in those datasets, and
will be non-missing if the extra field is found.
Thanks to John Rivera, (i)Structure, Inc, USA.
Change 19.274 Variables B1HITRAT/B2/B3/B4 in DB2STAT1 dataset were not
VMACDB2 changed when BPHITRAT in DB2STATB was, by Change 17.338.
Jan 26, 2002 Now all Buffer Hit Ratios use that same equation.
Thanks to Helmut Roese, COM Software GmbH, GERMANY.
Change 19.273 IMACEXCL now defines MACRO _CICXC22 for CICS/TS 2.2, if
IMACEXCL your CICS guru has excluded CICSTRAN fields from the SMF
VMAC110 type 110 subtype 1 record.
Jan 24, 2002
Change 19.272 The default stored length of numeric variables is changed
VMACmanymany from 4 bytes for most and 8 bytes for MGBYTES-formatted
Jan 24, 2002 memory variables, to 5 bytes for most, and 5 bytes for
Jan 28, 2002 memory, on EBCDIC, and to 6 bytes for both under ASCII.
Two macro variables were created so you can change either
default back; %LET MXGLEN=4; for most numerics, and with
%LET MXGBYLEN=8; the variables will be their original
stored lengths. MXGLEN=5 ON EBCDIC MXGLEN=6 ON ASCII.
MXG Newsletter FORTY, SAS Techical Note 2 documented the
truncation of up to 255 counts when a large-value 4-byte
binary input field is stored in 4 bytes (floating point).
It was SAS's original choice of using floating point
that made SAS shine in 1972; other programs used
integer values in fixed length fields, and truncated
the high-order digits with large values! Using FP
keeps track of the decimal point, avoiding errors!
All LENGTH DEFAULT=4 are now LENGTH DEFAULT=&MXGLEN,
and all variables with MGBYTES format lengths are now
set with &MXGBYLN instead of ' 8 ' bytes.
Both MXGLEN and MXGBYLN are set by VMXGINIT when MXG
initialized, but can be changed in your //SYSIN code
or in IMACKEEP with %LET MXGLEN=4; %LET MXBYLN=8; to
restore the pre-MXG 19.10 default values.
There is only one exposure when I change variable length:
If you use your own PROC APPEND, you must make certain
that it uses the FORCE operand, which has always been an
MXG reconnendation, so that datasets with dissimilar
attributes can be concatenated.
The only use of PROC APPEND in MXG is optional in the
VMXG2DTE member, which has always specified FORCE.
This change has been under discussion for some time, but
it was DB2 Statistics records, which contain accumulated
counters, that precipitated the change, which was not
needed until now (because DB2 and OS/390 used to crash
before the counters got this large: QB2TGET=301,219,072).
Two adjacent intervals with truncated large values with
a delta less than 255 resulted in a zero delta value.
I considered just identifing the MXG variables that are
accumulated and could get "big" enough now, but that is
both human-intensive and high-exposure-to-missing-one;
the real exposure should never have existed, and the
default length of 5 for a PIB4 has absolutely integrity.
Historical choice of 4 versus 5. In early 70s, sorts
with SYNCSORT failed when lengths other than 4 or 8
were used; SYNCSORT thought only FORTRAN *4 and *8 FP
could exist. Old memories of 3am ABENDS remain strong!
But MXG has had length 3, 5, and 6 for sometime, so I
now deem it completely safe to use!
Datetimestamp variables are still kept in 8 bytes stored
length, as are a few other variables that need the full
resolution possible (like SERVUNIT, which may be used
directly for billing, and there, pennies ARE important!).
With the increased lengths, PROC COMPARE between 19.10
and 19.09 showed many variables are slightly larger now
than before, but the magnitude of the difference is very
small; a 60 minute time value was 0.006 seconds larger.
But PROC COMPARE will not show exact values before and
after MXG 19.10.
The net impact of changing the default stored lengths on
the size of the //WORK space and the //PDB libraries, as
usual, depends! It depends on how many numeric variables
were increased from 4 to 5, and how many were reduced
from 8 to 5, in the datasets that interest you.
But, if you use compression, almost always a wise choice
now, there is NO increase in the disk space required.
Without compression, the storage increase depends on how
many records of what type you keep, but here are a two
examples of what we have measured with MVS defaults:
a. An 842 MB 6/26/30 SMF file created JOBS/STEP/PRINT
datasets; PDB increased from 350MB to 390MB, 11%.
b. A 456 MB all-record SMF file, 30 RMF intervals, full
PDB increased from 316MB to 356MB, 12% increase.
c. Chuck's big 1160 Cyl PDB increased by 30 Cyl, 3%.
There is also a small increase in Virtual Storage needed
for a big job like BUILDPDB. Chuck's Total Memory went
from 69MB to 71MB, but that 2MB increase did cause one
one site to fail with an out-of-memory error:
viloada: autoload failed for module SASXKRN2
because they were limited to 64M by their defaults:
In V6: set by the MEMSIZE=64M default in CONFIGV6.
In V8: Do not have MEMSIZE in CONFIG, use REGION=80M
You should compare the Total Memory used reported on the
SAS log, or in the IEF374I message on the job's SYSLOG,
with your REGION= parm to make sure you have VS left!
-z/OS 1.12 message IEF032I/33I replaced IEF374I/276I.
Thanks to M.J.H. Elbersen, Rabobank, THE NETHERLANDS.
Thanks to F. Nijdam, Rabobank, THE NETHERLANDS.
Change 19.271 This conversion utility, used to convert $HEX FORMATed
UTILCVRT character variables in PDB libraries moved from EBCDIC
Jan 23, 2002 to ASCII platforms (if you move your MXG processing from
MVS to PCs/unix, you'll copy your historical PDBs),
never did work right, but it now works as designed.
CPORT/EXPORT changes all characters variables values,
like '40'x EBCDIC to '20'x ASCII, during download,
but we need the original '40'x value so bit tests work
and so that the CPU Model is '9672'x and not '96B7'x.
The 1994 iteration used $EBCDIC, but Change 19.163 shows
that won't work. Instead, UTILCVRT now uses the $MGAS2EB
mapping ASCII-2-EBCDIC, defined in member FORMATS, and
selects variables with FORMAT=:'$HEX', no longer using
the original and 'not happening' INFORMAT=:'NOTRAN' test.
Of course, this conversion works only if the table that
SAS uses in your country matches that format; some sites
may find it necessary to edit the $MGAS2EB format into
the IMACFMTS tailoring member to match your tran table.
But any MXG datasets that you create under ASCII, reading
SMF,etc, data, are correct and do not need UTILCVRT.
Thanks to Mark Darvodelsky, Royal Sun, Australia
Change 19.270 Two variables that estimate the Average Logically Swapped
VMAC71 frames, CSFRLSAV and ESFRLSAV were found to be negative
Jan 22, 2002 CSTORE=1040MB,CSFRTOAV=920,CSFRFXAV=142==>CSFRLSAV=-4MB
which printed as -42E5. The problem is subtracting two
average values on a system with essentially no logical
swapping, the "zero" is slightly negative. I now test
the calculation, and when negative, the variable is set
to a missing value, so that a real zero value would still
be preserved as a zero value, but these negative values
will just be missing.
Thanks to Kenneth D. Jones, xwave, CANADA.
Change 19.269 The Initiator Number, INITNUMB and Name, INITNAME are now
BUILD005 added to the type 30 subtype 1 (job initiate) record when
BUIL3005 you install the Assembly code in SMF exit IEFU84 that
IEFU84 will move those values into the subtype 1 record.
VMAC30 -This change creates and keeps those two new variables in
Jan 23, 2002 dataset TYPE30_1, and updated BUILDPDB logic to add them
Jun 24, 2004 to the PDB.JOBS dataset as well. The variables will be
missing/blank if the SMF exit has not been installed.
Jun 24, 2004: The IEFU84 exit code member was added by
MXG Change 22.136; the original IEFU83 references were
wrong, as it is IEFU84, not IEFU83, that writes the SMF
30 subtype 1 SMF record. Text was changed from 83 to 84.
-The SMF exit IEFU84 source code is in member IEFU84,
along with notes, so your SYSPROG can see what it does.
The exit moves the initiator number (in binary) into
the first four bytes of PROGRAM (SMF30PGM) name field,
and the initiator name (character) into the second
four bytes of PROGRAM name. SMF30PGM is not populated
at job initiate since PROGRAM doesn't exist until
after the step initiates.
-However, it is your System Programmer's responsibility to
install and test any SMF exit, and thus your company, and
not Merrill Consultants, must take all risk in choosing
to adapt this enhancement SMF exit into your systems:
recognize that the risk with an SMF exit-in-error could
be as bad as a system outage.
I would not provide this example if I did not think it is
safe, and almost every MVS site uses an SMF exit, but you
should read up on SMF exits in the SMF manual before you
convince your friendly SysProg to install the exit.
Remind them that the exit will let you to help them track
which job us which initiator, to help in chasing ABENDS
with overlaid initiators, or in measuring which init is
used how often, etc.
This exit is provided because IBM does not currently
provide this information in their SMF type 30 record. I
have provided them with the tested exit code in the hope
that they will eventually add the fields so that you
don't have to install an SMF exit to get them.
Several MXG-L postings on the subject of initiator number
precipitated this change, but the guys who suggested and
coded the solution, respectively, get the CodeShark cite!
Thanks to Mike Shaw, MVS QuickRef/Chicago Soft, USA.
Change 19.268 Under very strange circumstances: when %LET MACKEEP= was
VMXGDEL used to redefine an old style macro that contained an
VMXGOPTR %VMXGDEL(DDDDDD=dddddd) invocation, the internal call to
VMXGSUM %VMXGOPTR by VMXGDEL generated this error message:
Jan 23, 2002 ERROR 14-12: Invalid option OBS=;; for SAS option OBS.
Jan 26, 2002 VMXGOPTR was needed by VMXGDEL solely because PROC SQL
doesn't execute if OBS=0, but PROC SQL/VTABLE had to run
in VMXGDEL (even when OBS=0 was specified) to populate
macro variables, and OBS=0 is commonly set for testing.
We had used VMXGOPTR to store the old OBS=value, set it
to OBS=MAX (so PROC SQL would execute), and then restore
the original OBS= value, all inside VMXGDEL. But when
we could not diagnose this particular macro error, Rick
Langston at SAS showed us the GETOPTION() function, which
allowed us to remove the PROC SQL/VTABLE in both VMXGDEL
and in VMXGOPTR, with a cleaner, safer approach.
The GETOPTION() function can be used in two ways:
- DATA step solution:
%GLOBAL OBSVALUE;
DATA;CALL SYMPUT("OBSVALUE",GETOPTION("OBS"));RUN;
- pure macro solution:
%MACRO GETOBS;
%GLOBAL OBSVALUE;
%LET OBSVALUE=%SYSFUNC(GETOPTIONS(OBS));
%MEND GETOBS;
%GETOBS;
We chose the pure macro solution in VMXGDEL and VMXGOPTR.
We also changed the design of VMXGOPTR so that it resets
the option value to what it was in the prior VMXGOPTR
execution; the original design kept the value of the
option only from the very first invocation of VMXGOPTR,
and did not recognize if you changed the option between
paired invocations of VMXGOPTR. See comments in VMXGOPTR.
-In QA tests of these VMXGOPTR and VMXGDEL changes, Bruce
set OPTION OBS=10, and found two places inside VMXGSUM
where we had failed to use %VMXGOPTR to protect for user
change of OBS=; VMXGSUM was corrected to now protect.
With OBS=11, this error would not have been corrected!
Thanks to Bruce Widlund, Merrill Consultants, USA.
Thanks to Rick Langston, SAS Institute, USA.
Thanks to Rosalind Howe, IBM Global Services, USA.
======Changes thru 19.267 were in MXG 19.09 dated Jan 21, 2002======
Change 19.267 Support for IBM SMF 119 (TCP/IP) record from z/OS V1R2.0
EXT11901 Communications Server, which replaces the SMF 118 record
EXT11902 from the current IBM TCP/IP product. The data content is
EXT11903 significantly enhanced beyond what is in the current 111,
EXT11905 with many new subtypes and these datasets created:
EXT11906
EXT119A7 SUBTYPE DATASET description
EXT119B7 1 TYP11901 TCP CONNECTION INITIATION
EXT11908 2 TYP11902 TCP CONNECTION TERMINATON
EXT11910 3 TYP11903 FTP CLIENT TRANSFER COMPLETION
EXT11920 5 TYP11905 TCP/IP STATISTICS
EXT11921 6 TYP11906 INTERFACE STATISTICS
EXT11922 7 TYP119A7 SERVER PORT STATISTICS - TCP
EXT11923 7 TYP119B7 SERVER PORT STATISTICS - UDP
EXT11970 8 TYP11908 TCP/IP STACK START/STOP
EXT11972 10 TYP11910 UDP SOCKET CLOSE
FORMATS 20 TYP11920 TN3270 SERVER SNA SESSION INIT
IMAC119 21 TYP11921 TN3270 SERVER SNA SESSION TERM
TYPE119 22 TYP11922 TSO TELNET CLIENT CONNECTION INIT
TYPS119 23 TYP11923 TSO TELNET CLIENT CONNECTION TERM
VMAC119 70 TYP11970 FTP SERVER TRANSFER COMPLETION
VMXGINIT 72 TYP11972 FTP SERVER LOGIN FAILURE
Jan 18, 2002
Change 19.266 Variable RVSTBIN, Bin Number, can be characters, but MXG
VMACEDGR did not know that, and character data caused a non-fatal
Jan 16, 2002 INVALID DATA FOR RVSTBIN message. New variable RVSTBINC
is now Character; RVSTBIN is still numeric, but missing
value now if RVSTBINC has non-numeric characters.
Thanks to Joe Ellis, American Century, USA.
Change 19.265 Dataset STCHSC has zero observations, because STK changed
VMACSTC the length of the record; long ago MXG had to protect for
Jan 16, 2002 records shorter than the then-written 140 bytes, but now
their subtype=7 record is only 120 bytes. Logic revised.
Thanks to Fraser Wong, CitiCorp, USA.
Change 19.264 Cisco Memory Pool variables NRPxxxxx in NPMINNRP were all
FORMATS missing; MXG tested NRPDTYP=1 for Cisco, but the records
VMAC28 contained NRPDTYP=0, so nothing was input. Now, the test
Jan 14, 2002 is for NRPRTYP=2 (Record Type, not Data Type) for the
Jan 16, 2002 Memory Pool data. IBM lists two other NRPRTYP values of
NRPRTYP=1 - CPU and Memory NRPRTYP=3 - Interface
but does not document the contents of the NRP segment for
those (as yet) unsupported values. Variables NRPRTYP and
NRPDTYP are now kept in NPMINNRP so you can see if any of
the new Record Types are in your SMF data; contact MXG
support when you find any, so we can decode them!
New format MG028PT decodes Cisco pool type variables
NRPCPTYP and LNCDCPTY:
1='1 PROCESSOR MEMORY 4='1:FAST MEMORY'
2='1:I/O MEMORY' 5='1:MULTIBUS MEMORY'
3='1:PCI MEMORY'
Jan 24: IBM APAR OW53087 documents that the DTYP=0 in the
NRP and NRT segments is now a reserved field, but that
APAR does not document the RTYP=1 and RTYP=3 data.
Feb 15: IBM will correct OW53087. The xxxRTYP field has
only one value in each record: NRPRTYP==2 NRT=1 NIT=3,
so there are no undocumented segments, and the misleading
documentation will be revised by IBM. See Change 20.003.
Thanks to Howard Swift, HSBC Bank, UK.
Thanks to John Wilmot, HSBC Bank, UK.
Change 19.263 The _SDB2ACC sort macro for DB2ACCT and _BDB2ACC BY list
VMACDB2 were defined as blank, to prevent an accidental sort of
Jan 14, 2002 that potentially large dataset, but since the _SDB2ACC
reference in _SDB2 is commented out, both macros are now
defined, in case you do need to sort and remove dupes
from your DB2ACCT dataset.
Thanks to Rosalind E. Howe, IBM Global Services - South, USA.
Change 19.262 A sample AS/400 report from TYPEQAPM Performance
ANALQAPM Monitor data.
Jan 11, 2002
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND
Change 19.261 Support for IBM AIX Performance Toolbox and Performance
ADOCAIX AIDE for POWER, PTX Version 2, refs: SG24-2011-00.
EXAIXPTX This internal design is extremely robust, and is similar
IMACAIX to the new WebLog support; the list of fields in your
TYPEAIX data is read and used to input the record, so you can
TYPSAIX have different sets of fields defined for different AIX
VMACAIX servers, and the one MXG program will work on all their
VMXGINIT data, transparently.
Jan 15, 2002 This implementation supports the default set of 55 fields
Jan 17, 2002 and the heavy work is done; expansion to keep any of the
other 2000 possible fields is easy, when anyone actually
has actually created those additional fields!
Thanks to Glenn Bowman, Wakefern, USA.
Thanks to Al Sias, Wakefern, USA.
Change 19.260 New optional design will change timezones of all datetime
TIMEBILD variables read from SMF records, based on a table lookup
TIMETABL of SYSTEM/SYSPLEX/datetime-range in which you set the
VMACmanymany offset to be added to all datetime variables.
VMXGTIME This is needed when you have SYSTEMs with different time
Jan 11, 2002 zones, so you can have a common timezone for analysis of
Jan 15, 2002 shared dasd, time of day, etc.
Jan 26, 2002
The table is defined in member TIMETABL (copied into your
USERID.SOURCLIB tailoring library) with a syntax of:
SYSA 01/01/2002 00:00:00 01/31/2999 23:59:59 -21600
to change SYSA datetimes back 6 hours, for a datetime
range from now until infinity.
Even if you have defined your table in member TIMETABL,
nothing happens until you enable time change with this
statement in your //SYSIN stream:
%TIMEBILD;
Invoking %TIMEBILD enables the time changing logic, and
reads the TIMETABL member with the TIMEBILD program that
creates the (temporary) format $MGTMPTM that is the look
up table that is used by %VMXGTIME.
The default table is the TIMETABL member in your SOURCLIB
concatenation, but you can use %TIMEBLD(TIMETABL=XYZ);
to use a different time change table; see its comments.
While the table supports SYSPLEX for selection, SYSPLEX
only exists in some records, so it is really there only
for future selection. Only in the case where you know
that all records you want to change (RMF is the only one
at present) contain SYSPLEX, then and only then could you
have a value for SYSPLEX in the TIMETABL, and you could
not then use that same TIMETABL to select TYPE1415 data
that does not contain a SYSPLEX variable.
To make the actual time change itself, this statement
%VMXGTIME(var1 var2 var3,system,sysplex);
was inserted in the correct place in every VMACxxxx
member that creates datetime variables from SMF records.
All MXG members that process IBM or User SMF records have
been updated, as were most other products that contain a
SYSTEM variable. Some non-SMF products that do not have
a "SYSTEM" field were set aside until a need arises.
VMXGTIME statements were inserted 874 places in 380 MXG
members, listing 1,300 variables that can be changed in
'one felt swoop': update TIMETABL, invoke %TIMEBILD.
See VMXGTIME revisions, GMT support, and corrected CPU
and memory cost measurements in Change 19.286/MXG 19.11.
Change 19.259 The MXGTMNT Tape Mount and Tape Allocation Monitor SMF
ASMTAPES record had the wrong DDNAME if the tape UCB was a 4-digit
VMACTMNT address (the incorrect DDNAME was the last DDNAME in the
JAN 20, 2002 TIOT). The previous logic compared UCB address to get the
the correct DDNAME; this revision compares device numbers
for the UCBs, so this logic will work regardless of
whether the tape UCB address is above or below the 16MB
line, or 3 or 4-digit device address. The revision also
gets the correct DSAB allocation flags for tape mounts.
This revision is "ML-20" of the monitor program. Your
SysProg must re-assemble ASMTAPES and link edit the new
MXGTMNT program that is executed by your MXGTMNT started
task that writes the SMF records, to get the corrected
DDNAME into those SMF records, but you don't need to do
anything to your daily MXG SMF processing jobs; they will
get the correct DDNAME without any change. Only if you
want the new DSABFLAG variable (which is not currently
used by MXG) in your TYPETMNT dataset, will you need to
use the revised VMACTMNT member.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Jim Sherman, FDC, USA.
Change 19.258 Variable XCPUFLAG is now formatted with new $MGXCMCP
FORMATS format to decode the CPU type of the ftp transfer, and
VMACXCOM the list of old and new values for XCPUFLAG in ADOCXCOM
Jan 9, 2002 was updated with the new values.
Thanks to Tony P. Steward, Post Office, ENGLAND.
Change 19.257 Two examples that select related pairs of SMF records.
ANAL16
ANAL30 Program ANAL16 reads SMF to create TYPE16 (sort) obs for
Jan 8, 2002 selected sorts (in this example, those with concatenated
Jan 15, 2002 SORTIN datasets, because only the first DSNAME is in the
TYPE16 record), and uses those selected TYPE16 obs to
create a table lookup that is then used to re-read SMF
and select only the matching SMF TYPE1415 records; the
site could thus find the dsnames of all SORTIN datasets.
Program ANAL30 reads SMF to create only TYPE30_4 obs for
steps you selected (this example, programs IEBCOPY and
IEBGENER), creates the lookup table, which is then used
to select all of the non-VSAM TYPE1415 and VSAM TYPE64
datasets that were opened by that step.
These examples are easily extended to select other
pairs of data where one event defines a timerange, and
the matching events must occur within that timerange.
I've been meaning to write this example technique for
some time; this specific request precipiated the program!
Thanks to David Goldstein, EDS, AUSTRALIA.
Change 19.256 Variable UMRECRD in dataset DCOLMIGS is now formatted by
FORMATS the new $MGDCORF format to decode the Record Format when
VMACDCOL UMRECRD is printed or displayed. And variable DCERECRD
Jan 4, 2002 in dataset DCOLDSET is now kept, and formatted with the
new $MGDCORF format, also displays the Record Format (and
eliminates the need to combine the same information from
the variables DCDRECFA/B/C/F/J/S/U/V to get it!
Thanks to Wanda Prather, The John Hopkins Applied Physics Lab, USA
Change 19.255 Comments only. If you add NPM TYPE28 processing to your
DIFF28 BUILDPDB, you must either add %INCLUDE SOURCLIB(DIFF28);
Jan 2, 2002 in member EXPDBOUT (to deaccumulate the NPMINPMT data) or
if you want all NPM datasets written to your PDB library,
then you would instead add _S28 in member EXPDBOUT, as
that "product" sort macro sorts (and deaccumulates where
necessary) all datasets created by TYPE28 code.
The DIFF28 member contains only _S028IN7, the "dataset"
sort macro for NPMINPMT, which is included in _S28 macro.
DIFFxxx members exist only for products with accumulated
data fields, and MXG always invokes the DIFFxxx member in
both the TYPExxx and TYPSxxx members, to hopefully assure
that you always have legitimate (i.e., deaccumulated)
values. But now, the DIFF logic is contained in the
"dataset" sort macro, so the DIFFxxx members contain only
the specific datasets that must be deaccumulated.
Thanks to Bruce Hewson, CitiCorp, N.A., SINGAPORE.
Change 19.254 Support for the configuration record (NTCONFIG dataset)
VMACNTSM adds variables DCSDURATM (DCS Interval) and DSCVRYRT
Jan 2, 2002 (Discovery Record Types) - existing fields not decoded,
and variable SUMRYVER (Summary Version Number), to be
added to the record when this data file was created by
NTSMF's summarization program, which is also the flag
that this input file contains summarized data.
Change 19.253 Variable LABEL in TYPETMNT was wrong; the INPUT location
VMACTMNT of TMNTLAB should have been the first byte, with the
Dec 30, 2001 second byte unused.
Thanks to Mike Jacques, Branch Banking & Trust, USA.
Change 19.252 "New" DFSMS/rmm variables include Creating Program Name,
VMACEDGR Total Block Count across all volumes, and "Last Used"
Dec 30, 2001 Program/Job/Step/DD/DEVNR are now INPUT and kept in
TYPEEDGR. They were added by IBM by OW40710 in 1999.
Thanks to Joe Lodyga, Whirlpool Corporation, USA.
Change 19.251 Use of long-variable-names was not fully supported in
VMXGSUM VMXGSUM; names could be truncated to eight bytes. Since
VMXGINIT MXG does not use long variable names, this only impacted
Dec 27, 2001 use of VMXGSUM with long variable names in SAS V8.
Dec 30, 2001 To accomplish this change, TEMPnn libnames will be built
Jan 4, 2002 with ENGINE=V8SEQ under V8, and ENGINE=V6SEQ under V6,
Jan 20, 2002 and TEMPnENG is set blank if TEMPnn is not used.
Corrected logic if KEEPALL=NO was used.
-In member VMXGINIT, new global macro variable MXGLEN
defaults to 4, and it is used by VMXGSUM (instead of the
hardcoded 4) to set the length of variables on the output
side of VMXGSUM, for those rare cases where you need to
increase kept length, by using %LET MXGLEN=8; before
your %VMXGSUM invocation. NO LONGER TRUE.
PARAGRAPH WAS CHANGED BY CHANGE 19.272 in JANUARY.
-PROC SQL's scope was limited to look only at LIBNAMEs;
under very unlikely circumstances, it could read all SAS
datasets on a multi-volume tape data library; nothing
failed, but the job took longer than expected.
Thanks to Paul Gillis, Pacific Systems Management Pty, AUSTRALIA.
Change 19.250 The Logically Swapped ESTORE in variable ESFRLSAV was
VMAC71 wrong; ESFRHSAV was being added instead of subtracted.
Dec 27, 2001 ESFRLSAV=ESTORE-(ESFRTOAV+ESFRHSAV); is now used.
Thanks to Peter Webber, CIS, US.
Change 19.249 Major revision in support for Web Logs.
EXWWWCOO The original TYPEWWW was completely restructured and now
EXWWWIIS creates multiple datasets, and more are likely over time.
EXWWWLOG -Multiple web log data formats are automatically detected,
EXWWWREF and multiple "Log Event" datasets will be created where
EXWWWURQ the contents of the logs are sufficiently different. An
IMACWWW observation in the "Log Event" dataset is created for
VMACWWW each web log record that is not filtered. At present:
VMXGINIT
TYPEWWW Dataset Description of Web Log
TYPSWWW WWWLOG Netscape/I-planet,Common Log Format,Websphere
Jan 7, 2002 WWWIIS Microsoft IIS (old and new versions)
-"Multiple segment" datasets are created for content items
when there can be more than one item in a log event. The
individual segments can be mapped back to their parent
log event observation using the ZTIME/WEBSEQNR variables.
At present, these multiple segments are decoded:
Dataset Description of contents
WWWCOOKE Cookies, COOKNAME and COOKVALUE pairs
WWWREFER Referer text, may be revised.
WWWURQRY URI Query, URIQNAME, URIQVALU pairs.
-By default, MXG Sorts invoke the NODUP option to remove
all duplicates, but duplicate log events occur (refresh
same page in same second), and to allow you to override
and keep duplicates, macro variable &SASNODUP is defined
in VMXGINIT (Default is NODUP) and it is used in VMACWWW
so you can supress duplicate removal in web logs by
using %LET SASNODUP=; in your //SYSIN
-There is a lot of logic in VMACWWW that will eventually
be documented in ADOCWWW, and there will be new exits to
allow filtering of what records are kept during INPUT, as
web log data can be voluminous. Current notes:
Variable HOST is LOWERCASED, so that all of the casing
spelling variants (WWW.MXG.COM, www.mxg.com) will be
combined.
Variable VISITOR is created from cookies if either the
SITESERVER=ID= or ASPSESSIONID cookie name (COOKNAME)
is found, to track the same user thru your servers. If
neither cookie is found, a VISITOR variable is created
as TRIM(HOST)!!TRIM(CLIENTIP)!!TRIM(USERNAME). Note the
USERNAME exists only for URLs in the authenticated
realm
For web logs with self-contained documentation of their
contents (currently, the IIS "#FIELDS" record and the
Netscape "format=" record), this new architecture reads
those header records to determine what data fields are in
your data records, and in what order, to automatically
process logs with excluded, skipped, optional fields,
and with those fields in any order, transparently!
These powerful algorithms will be easy to use to support
other new data that contain self-documenting headers.
While this support is fully usable now, I anticipate the
expansion of analysis and reporting of this clickstream
data. Unfortunately, at present, there is no way to
correlate the computer resources that are associated with
these web activities. But this is ongoing research, and
additional enhancements can be expected.
Thanks to Tom Gray, SPRINT, USA.
Change 19.248 Change 19.187 was incomplete; an ID statement referenced
ASUMNTIN non existent variables and was removed.
Dec 21, 2001
Thanks to Jim Quigley, ConEd, USA.
======Changes thru 19.247 were in MXG 19.08 dated Dec 20, 2001======
Change 19.247 Some ANALDB2R reports failed if all DB2 datasets had zero
ANALDB2R observations. The original design of %VGETOBS macro did
VGETOBS did not differentiate a non-existent dataset from one
VMXGINIT with zero observations. This enhancement to %VGETOBS
Dec 19, 2001 creates new GLOBALed macro variable VGETDSN that will be
blank if the dataset does not exist in the DDNAME, or
will contain the data set name if it exists. If the
dataset is found, an MXGNOTE with name and number of
observations is printed on the log; if not, an MXGWARN is
printed that the requested dataset was not found.
The invocations of %VGETOBS in ANALDB2R were then revised
to exploit the enhancement.
Change 19.246 Sophisticated option for VMXGSUM when two output summary
ADOCSUM datasets at different summary levels are to be created.
VMXGSUM MXG's normal HouseKeeping deletes the MXGSUMx temporary
Dec 18, 2001 datasets, to make disk space available, but with the new
HOUSKEEP=NO specified in your first %VMXGSUM invocation,
no housekeeping is done, so a second %VMXGSUM can then
specify NOSORT=YES to bypass the PROC SORT, and since the
first step (when needed) will be a VIEW, there is no I/O
associated with the output side of the first data step,
which is then read directly by the PROC MEANS.
You have to be very sure of what you are doing; if the
sort order is not correct, the second %VMXGSUM invocation
will fail. Examples of using these options are given in
member ADOCSUM.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.245 Support for APAR OW49808 to RMF Type 70 Subtype 2 CRYPTO
EXTY70X2 record (new in z/OS 1.2, Change 19.176) enhances the data
EXTY70Y2 measures and there are now three datasets created from
IMAC7072 the 70-2 record:
VMAC7072 DDDDDD Dataset Description
VMXGINIT TY7002 TYPE7002 RMF PCI CRYPTO COPROCESSOR PCICC
Dec 18, 2001 TY70X2 TYPE70X2 RMF PCI CRYPTO ACCELERATOR PCICA
TY70Y2 TYPE70Y2 RMF CRYPTO COPROCESSOR FACILITY CCF
These data will become important as they will be used by
the Secure Sockets Layer associated with Websphere and
similar secured systems.
These data have not yet been validated with test records.
Change 19.244 Support for IDMS Log Statistics Records decodes LGRTYPE
EXIDML01- 'F6'x and '76'x record's into eleven datasets, one for
EXIDML11 each STLTYPE (01x-11x), but only the STLTYPE=02 TASK
FORMATS records are fully decoded (in dataset IDMLOG02). Records
TYPEIDML with STLTYPE=01 (SYSTEM) have three non-zero fields, but
VMACIDML do not match their DSECT descriptions, and all other STL
VMXGINIT TYPEs in the test file have no data fields.
Thanks to Hugh O'Neill, Dow Jones, USA.
Change 19.244 This Windows Disk Space Used utility read the output of
UDSKCONT DIR commands to report disk space by direcory and file.
Dec 13, 2001 It now supports Windows NT/2000/XP, which has a different
output format for the DIR command, but you have to tell
it which format you want to read. I use this to find out
why I've run out of space on a PC disk.
Change 19.243 IBM declared field QBACSWU to be 'Reserved' in DB2 6.1,
VMACDB2 but the field appears to continue to contain QBACSWU, so
Dec 13, 2001 the QBACRSVD field is now input into QBACSWU variable,
but please validate and use it with caution.
Thanks to Charles Harbour, John Deere, USA.
Change 19.242 For users of TYPEIMS7 and VMACIMS, variables IMSGTEXT and
VMACIMS OMSGTEXT in IMS01/IMS03 datasets were blank with IMS 6.1
Dec 12, 2001 and wrong with 5.1 that are now correctly input in this
almost-archaic member. Some unnecessary/confusing tests
IF _IMSVERS were removed for readability. Several new
variables were INPUT but not kept; MSGRACUS (RACF User
ID, also "LogonID"), MSGSAFNM, MSGUSIDI, and MSGWLMSC are
now kept in the 01/03 datasets.
The recommended MXG IMS Log processing is in the members
JCLIMSLn, ASMIMSLn, and TYPEIMSA/TYPEIMSB, and they are
not impacted by this change. This site had reports that
were based on the raw IMSnn datasets created by VMACIMS,
so it was updated to preserve their reports.
Thanks to James Seitz, Oklahoma Department of Human Services, USA.
Thanks to Ken Sharpe, Oklahoma Department of Human Services, USA.
Change 19.241 MXG enhancement for Batch Pipes adds these variables
VMAC91 DDNAME JESNR JOB READTIME STEPNAME STEPNR to the
Dec 11, 2001 TYPE91nn datasets for subtypes 11,12,13, and 15, and
increases the number of system names/flags variables
SMF91XYn and SMF91XFn from eight to sixteen to support
sixteen systems in a sysplex.
Thanks to Michael Oujesky, MBNA, USA.
Change 19.240 MXG 19.04-19.07 only. Variables PCHANBY and PNCHANBY can
VMAC73 be always zero in error. Change 19.176 mis-located the
Dec 10, 2001 initialization of those variables for SMF73CMG=0 records.
Thanks to John Gebert, Office Depot, USA.
Change 19.239 Several Coupling Facility variables in TYPE74CF/TYPE74ST:
VMAC74 R744SASQ/R744SSSQ/R744SQSQ/R744SDSQ/R744FCSQ/R744FSQU
Dec 6, 2001 were all sums of squares that are now divided by 1000000.
Variables R744FTIM/R744FCTM were incorrectly divided by
4096. Our test data had all zeros, so these incorrect
conversions were not previously caught.
Thanks to Bill Cool, EDS Federal Government, USA.
Change 19.238 Variable DEVNR is now created in dataset TYPE42VL as a
VMAC42 numeric field with format HEX4; variable SMF42DEV in that
Dec 6, 2001 dataset is a 4-byte character device number in hex, but
Dec 18, 2001 DEVNR is numeric in all other datasets, and is needed to
merge TYPE42VL with other data.
Dec 18: SMF42DEV input changed to $CHAR and logic to
INPUT the DEVNR variable was revised to work.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA
Change 19.237 Variable LOCLINFO in PDB.STEPS was incorrect. Its value
BUILD005 in a step record was being overlaid with LOCLINFO from
BUIL3005 the other job-level records, so if you put different data
Dec 4, 2001 in the STEP records, it was lost. Now, the step value
is preserved for each step.
Thanks to Diane Eppestine, Southwestern Bell, USA
Change 19.236 Values for SMF73CPD (Channel Path Description), decoded
FORMATS by MXG Format MG073CD, were updated for new '14'x,'15'x,
Nov 26, 2001 values for HSSI and Ethernet Open System Adapter Channel.
Change 19.235 Observations were created in new dataset MQMCFMGR only by
VMAC115 accident; the test IF SM1152O2 GT 0 THEN DO; should have
Nov 26, 2001 been coded as IF SM1152OC GT 0 THEN DO;
Thanks to Martin Lee, Safeway Stores PLC, ENGLAND.
Change 19.234 MXG Software (all versions) supports the euro symbol, as
none there are no MXG variables that contain financial values
Nov 23, 2001 in euros, dollars, or any other units of currency.
Of course, you can always create financial variables
in your reporting and billing programs, and there, you
can use the SAS FORMAT EUROw.d, which complies with
the European Monitary Union rules and displays an "E"
as the euro symbol, without any special characters.
But be careful with EUROw.d (and DOLLARw.d) formats;
you must not underspecify the field width w, or SAS
will truncate from the left and your euro/dollar sign
will not be printed (as shown in SAS documentation!):
With a value of x= E1254.71 euros
using format will print as
EURO6.0 E1,255
EURO5.0 1,255
EURO5.1 1255
EURO6.1 1254.7
Thanks to K. Strange Bruun, IBM Denmark A/S, DENMARK.
Change 19.233 For NT Trending, default DDNAMES could not be changed, as
BLDNTPDB the user tailoring could be overwritten by TRND defaults.
TRNDNTIN Now, user tailoring of DDnames works as expected.
TRNDNTLD
Nov 23, 2001
Thanks to Greg Jackson, National Life Insurance of Vermont, USA.
Change 19.232 The new IHDRTMO2 exit that was supposedly added by Change
IHDRTMO2 Change 19.154 was created but not included in VMACTMO2.
VMACTIMS This change adds the %INCLUDE of IHDRTMO2 in VMACTMO2; it
VMACTMO2 is called after the Transaction Header or Interval Header
VMACTMV2 has been INPUT. Comments in IHDRTMO2 were updated and
Nov 20, 2001 now include an examples of tailoring, either by EDIT of
Nov 23, 2001 the IHDRTMO2 member, or by using the %LET MACTMOH= in
your //SYSIN input.
-Similarly, the INCLUDE of IHDRTIMS and IHDRTMV2 have been
added to their appropriate VMAC member.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 19.231 Sample MQ Series reports were updated. Originally, the
ANAL115 ANAL115 member contained an MXG "program" that was read
Nov 20, 2001 with a %INCLUDE, and then executed with the syntax:
%INCLUDE SOURCLIB(ANAL115);
Now, the ANAL115 member defines %MACRO ANAL115;, so your
%INCLUDE statement is now replaced with:
%ANAL115;
to execute with all defaults, or with
%ANAL115(PDB=SMF,REPORTS=ALL);
if you want to change the input to use SMF data, select
reports, etc. See the complete list of arguments in the
comments in the ANAL115 member. The member was changed
into a %MACRO so that we could provide you with arguments
to tailor the execution and provide report selection:
- The %INCLUDE(ANAL115); statement now would not fail,
but it would only read the member and compile the
%ANAL115 macro, but it would not "do" anything, since
it does not invoke the actual %MACRO name.
- You don't need the %INCLUDE(ANAL115); statement now,
because when SAS sees that %ANAL115; statement in your
//SYSIN (because MXG set options SASAUTOS=SOURCLIB and
MAUTOSOURCE in its CONFIGV8/AUTOEXEC), SAS will read,
compile, and execute the %MACRO defined in ANAL115.
There are extensive IBM notes about measuring/monitoring
MQ series in the comments of this report member.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 19.230 -Using %LET MACKEEP= to tailor the DCOLLECT part of the
DAILYDSN DAILYDSN program (used in the JCLDAYDS example to read
VMXGINIT DCOLLECT and TMS data for "Daily Dataset Accounting")
Nov 19, 2001 did not work. The second execution of %VMXGINIT inside
DAILYDSN was re-executing the %LET MACKEEP=; statement to
set the MACKEEP macro variable back to blank. Further
examination of the %GLOBAL statement documentation showed
A macro variable created with a %GLOBAL statement has
null value until you assign it some other value. If a
global macro variable already exists and you specify
that variable in a %GLOBAL statement, the existing
value remains unchanged.
so there is no need to initialize macro variables to null
value if the variables is in a %GLOBAL statement, and the
removal of those %LET xxxxxx=.; (null value) statements
permits multiple execution of %VMXGINIT.
-However, the purpose of the user's MACKEEP= tailoring was
to make DAILYDSN only create the four DCOLLECT datasets
that are used in DAILYDSN, so that member now has an
example of a %LET MACKEEP= statement that only keeps the
four DCOLxxxx dataset that are used by DAILYDSN:
DCOLDSET DCOLVOLS DCOLMIGS DCOLBKUP
Thanks to Joseph Stoll, University of Wisconsin Hospital, USA.
Change 19.229 Support for RSD Folders ASTRE Auditing User SMF Record
EXRSDAUD creates new RSDAUDIT dataset with member TYPERSDA, and
FORMATS new formats MGRSDAU and $MGRSDFO. One set of fields,
IMACRSDA Folder Type is not documented, but will eventually be
TYPERSDA decoded with another format.
TYPSRSDA Note that the other RSD Folder SMF records are supported
VMACRSDA in TYPERSDF.
VMXGINIT The tested version is RSD/Folders V 4.1.
Nov 17, 2001
Thanks to Christa Neven, KBC Bank, BELGIUM.
Change 19.228 MXG 19.01-19.07 only, execution under ITSV, received this
VMACSYNC ERROR: VARIABLE UNIT1 HAS BEEN DEFINED AS BOTH CHARACTER
Nov 16, 2001 AND NUMERIC, because MXG 19.01 unintentionally changed
those variables from CHAR to NUM, but ITSV's dictionary
(righteously!) expected them to still be character.
This change creates variables UNIT0-UNIT99 as CHAR $4
variables, as they were in MXG 18.18, but it also creates
new numeric variables DEVNR0-DEVNR99, that should be used
instead of UNITn variables, so that your devices are in
numeric order: 181x..18Ax..A18x..B41x... If you use the
character unit address, you get A81x..B41x..18Ax..181x..
Variables DEVNR0-DEVNR99 are FORMATed HEX4, so they
print the same value as the UNITn variables.
Thanks to Bob Funk, Progressive Insurance, USA
Change 19.227 Fields added to HSM User SMF (usually 240/241) last year,
VMACHSM compatibly, in what were reserved bytes. These new MXG
Nov 15, 2001 variables now exist in HSMFSRST dataset:
FSRFLG3 ='FSRFLG3*REQUEST*FLAGS'
FSRTIMS2='TIME WHEN*PREPROCESSING*COMPLETED'
FSRTIMM1='TIME WHEN*DATA MOVEMENT*STARTED'
FSRTIMM2='TIME WHEN*DATA MOVEMENT*COMPLETED'
FSRTIME1='TIME WHEN*HOST PROCESSNG*STARTED'
FSRHOST ='HOST*IDENTIFIER'
Those new timestamps for phases of HSM may be useful.
I chose to keep only the one-byte flag variable FSRFLG3,
to save DASD space, but these tests can be used for the
bit-level-field-names, some of which may be important:
FSRFLG3='1.......'B FSRFVINI RECOVERY REQUEST
FSRFLG3='.1......'B FSRVXPL1 DS EXPIRED FROM ML1
FSRFLG3='..1.....'B FSRFXPL2 DS EXPIRED FROM ML2
FSRFLG3='...1....'B FSRFEXBV BACKUP VER BEING EXPIRED
FSRFLG3='....1...'B FSRFBKTP BACKUP VER DELTD IS TAPE
FSRFLG3='.....1..'B FSRFEXDT DELETED BY EXPDT/MGTCL
FSRFLG3='......1.'B FSRRECON MIGRATE DUE TO RECONNECT
Thanks to Judith Bruner, Wal-Mart, USA.
Change 19.226 There was a missing end-of-comment */ in this member.
ASUMTCPT
Nov 15, 2001
Thanks to Dan Riggs, Wachovia, USA.
Change 19.225 Support for Landmark's The Monitor for TCP/IP v1.1 has
EXTMTCIA been tested with actual data for all subtypes! These new
EXTMTCIC datasets are created from the dumped TMON records:
EXTMTCIE dddddd dataset description
EXTMTCIF TMTCIA TMTCIA TMON TCP/IP IA API TERM
EXTMTCIG TMTCIC TMTCIC TMON TCP/IP IC TCP GROUP
EXTMTCIL TMTCIE TMTCIE TMON TCP/IP IE EXCEPTION
EXTMTCIM TMTCIF TMTCIF TMON TCP/IP IF INTERFACE/ICMP
EXTMTCMO TMTCIG TMTCIG TMON TCP/IP IG PING RESULTS
EXTMTCIO TMTCIL TMTCIL TMON TCP/IP IL TELNET EVENT
EXTMTCOD TMTCIM TMTCIM TMON TCP/IP IM CSM INTERVAL
EXTMTCIP TMTCMO TMTCIMO TMON TCP/IP IM CSM OWNER
EXTMTCPA TMTCIO TMTCIO TMON TCP/IP IO CISCO
EXTMTCPR TMTCOD TMTCIOD TMON TCP/IP IO CISCO DEVICE
EXTMTCPT TMTCIP TMTCIP TMON TCP/IP IP IP GROUP
EXTMTCIR TMTCPA TMTCIPA TMON TCP/IP IPA IP ADDRESS
EXTMTCIS TMTCPR TMTCIPR TMON TCP/IP IPR IP ROUTING
EXTMTCIU TMTCPT TMTCIPT TMON TCP/IP IPT IP TRANSLATE
EXTMTCIZ TMTCIR TMTCIR TMON TCP/IP IR TRACE ROUTE
IHDRTMTC TMTCIS TMTCIS TMON TCP/IP IS SYSTEM GROUP
IMACTMTC TMTCIU TMTCIU TMON TCP/IP IU UDP GROUP
TYPETMTC TMTCIZ TMTCIZ TMON TCP/IP IZ FTP EVENT
TYPSTMTC Invalid packed dates in IASDAT, IZSDAT, and ILSDAT have
VMACTMTC '101271F0'x instead of '0101271F', causing missing values
VMXGINIT values, and IZFTPTY is sometimes shifted right, but there
Nov 16, 2001 is lots of new data here, especially from SNMP v1/v2 MIB.
Thanks to Julie Haines, Direct Line, ENGLAND.
Thanks to Pete Gain, SAS Software PTY, ENGLAND.
Change 19.224 Support for CICS/TS 2.2 Statistics Record was enhanced
EXCICDSP with new datasets CICDSPOO, CICS Dispatcher TCB Pools to
IMACCICS record the number of TCBs attached, allocated, etc., for
VMAC110 the Open, JVM and HP TCB pools. Now understanding that
VMXGCICI CICS TCB number is no longer valid to identify what is in
VMXGINIT which TCB, the text of Change 19.204 and ADOC110 were
Nov 13, 2001 revised to show that the TCB "Name", rather than number
Nov 19, 2001 determines what is stored in the dsNxxxxx set of CICS TCB
variables: trust the variable's Label, not its number!
-The VMXGCICI member was updated to bring in the twelfth
and thirteenth TCBS
-New (and undocumented) "D2" TCB is now recognized.
The STID=114 EJR and STID=66 STG segments have new fields
added to their existing datasets.
Change 19.223 Invoking _N108 to null out all TYPE108x datasets failed
VMAC108 because the MACRO _N108 statements were wrong - each was
Nov 12, 2001 of the subsequent lines were missing the word "MACRO".
Thanks to Martin Lee, Safeway Stores PLC, ENGLAND.
Change 19.222 -%ANALDB2R WARNING: ARGUMENT 2 TO MACRO FUNCTION and then
ANALDB2R ERROR: FILE WORK.DB2ACCTP.DATA DOES NOT EXIST, if there
Nov 14, 2001 are no observations in DB2ACCTP, but observations were in
Nov 22, 2001 both DB2ACCT and ASUMDB2A, causing USEACCT to be blank,
Nov 26, 2001 causing SKIPPAK to be wrong, which caused the incorrect
open. The logic to set USEACCT and SKIPPAK and the code
that uses then was corrected and made consistent for both
PMACCT01 and PMACCT03 reports.
-%ANALDB2R failed when PMACC01 and PMACC03 were requested,
with ERROR: FILE WORK.ASUMDB2A.DATA DOES NOT EXIST,
because the OPTIONS NODSNFERR NOVNFERR statement was not
executed the second time (after the PMACC01 report was
created, it reset those options to DSNFERR and VNFERR).
Adding the OPTIONS statement inside %MACRO PMACC01 fixed
that error, but uncovered an extra END; statement in the
PMACC03 report, that had to be conditionally generated.
-With PDB=SMF and both PMACC01 and PMACC03 requested, no
package detail was printed, but UNINITIALIZED VARIABLE
log messages were, because the VMXGSUM output of PMACC01
was written to OUTDATA=DB2ACCTP, but that overwrote the
original DB2ACCTP data, and then that summary was used as
the input to PMACC03. Using a different dataset name in
the OUTDATA= statement (and in subsequent references) was
required for both DB2ACCTP and DB2ACCTB, and now they are
OUTDATA=OUTACCTP and OUTDATA=OUTACCTB.
-A conditional execution of a PUT statement was inserted
in the Package Detail.
-Statements were indented to make the logic more obvious.
-Nov 26: Eliminated UNINITIALIZED DATETIME varialbe notes,
two CPUTIME headings became one ELAPSED and one CPUTIME,
and when there's more than a page of package detail, the
headings on package section now propagate to the first
heading lines on the second and following pages.
Thanks to Simone Niemczura, Harleysville Insurance Companies, USA.
Thanks to Andrew Taylor, AXA Shared Servicess Limited, ENGLAND.
Change 19.221 Enhanced support for NPM subtype 18/19x (Exception and
EX028EX1 Resolution events) are now output in eight new datasets
EX028EX2 based on NPMTYPE (LSCDRTYP) value, with detail sets of
EX028EX3 variables from each Volume/AOFTYPE segment. This will
EX028EX4 cause zero observations in datasets NPMEVNET & NPMERNET,
EX028EX5 which are replaced by the new datasets:
EX028EX6 NPMTYPE Exit Dataset Event Description
EX028EX7 24x EX1 NPMEXXPU X.25 (NPSI/XI/3746) PU
EX028EX8 26x EX2 NPMEXXVC X.25 (NPSI/3746) VC
VMAC28 27x,47x EX3 NPMEXNEO Generic NEO link/PU
VMXGINIT 28x,4Cx EX4 NPMEXCSL ODLC LAN
Nov 12, 2001 2Ax,2Bx EX5 NPMEXFRP Frame Relay
49x,4Ax " "
44x,45x EX6 NPMEXTRI NTRI logical/physical link
46x EX7 NPMEXXLK X.25 (NPSI/XI/3746) link
4Bxc EX8 NPMEXETH Ethernet LAN physical link
These Event/Resolution records were not reported as being
a problem, but in validating NPM 2.6 records, INVALID
DATA FOR MDY FUNCTION with NPMTYPE=28x exposed the need
to create a separate dataset for each of these events.
-Variable BASTIME now existsin NPMSUBTY 51x & 62x records,
so the test for NPMSUBTY added by Change 7.237 (!) is now
removed; only BASNCPDT and BASNCPTM GT 0 are now tested.
-Labels for CONTENT*FLAG variables were made consistent
and all are now formatted $HEX2.
-All Byte-Measurement variables are now formatted MGBYTES
so that their values will be printted with K/M/G suffix.
-Four variables previously in Kilo-Bytes are now converted
to contain bytes, and formatted with MGBYTES:
LLBVP1BB LLBVP1NB LLBVP2BB LLBVP2NB
-FORMAT statements were sorted and reorganized.
Thanks to William Sherriff, IBM Global Services, USA.
Change 19.220 SMF type 42 subtype 6 INVALID DATA FOR READTIME message
VMAC42 and hex dump were caused by blanks for both JOB name and
Nov 9, 2001 for READTIME, in a record from (old) DFSMS/MVS 3.1 for a
started task that may have been cancelled/forced. This
change supresses the message and hex dump by inserting
double-question-mark-modifier, but with or without this
change, READTIME is missing in the TYPE42DS dataset for
a record with blanks instead of a time and date.
The blanks could also have been caused by user SMF exits.
Thanks to Jesse Gonzales, The Gap, USA.
Change 19.219 Documentation only. Comments added to identify which of
VMXGUOW the "_K" macros are to be used for what. There is a pair
Nov 9, 2001 of "_Kxxxxxx" macros that can be tailored to control what
additional variables are kept from CICSTRAN, DB2ACCT, and
MQACCT. One is for numeric variables that are summed and
kept in PDB.ASUMUOW from each input dataset:
_KUOWCIC CICSTRAN
_KUOWDB2 DB2ACCT
_KUOWMQC MQACCT
and one is for character variables that are added to the
ID statement and are kept in PDB.ASUMUOW:
_KUOWIDC CICSTRAN
_KUOWIDD DB2ACCT
_KUOWIDM MQACCT
Thanks to Kenneth Johnsonk, Vanguard, USA.
======Changes thru 19.218 were in MXG 19.07 dated Nov 3, 2001======
Change 19.218 Revision to RMF III ASMRMFV program, additional revisions
ADOCRMFV to VMACRMFV will follow. Extensive documentation of the
ASMRMFV changes in ADOCRMFV.
Nov 3, 2001
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 19.217 CPUTYPE='2064'x with Spare CPUs still made PDB.ASUM70PR
VMAC7072 have bad values for LPnDUR and LPnPERCENTAGES. The real
Nov 3, 2001 source of the problem was that the TYPE70PR dataset had
an observation for each spare CPU, with non-zero DURATM,
and the LPARDUR included the DURATION of all the spares.
I considered deleting the spares in the ASUM70PR logic,
but believe many MXG users do their own sums of TYPE70PR,
so it makes more sense to only output observations in the
TYPE70PR dataset for 2064 CPUS for LPARNAME=PHYSICAL (as
it has SMF70ONT=0), or if SMF70CIN NE 'CP' (so ICFs and
anything else will be output) or if SMF70ONT NE 0 (so the
2064s with the APAR will have non-zero ONT for non-spares
and 2064s without the ONT APAR will have missing ONT and
will also be output.
If you have LPnDED='Y' or LPnWAIT='Y' (Dedicated CPUs or
Wait-Complete), then the only PDB.ASUM70PR observations
that have non-missing values for those LPARs will be the
ASUM70PR observation written on the Dedicated LPAR, i.e.,
those with SYSTEM=LPnNAME. For Dedicated/Wait Complete
CPUs, the PDB.ASUMCEC dataset was invented to solve this
problem; read the extensive discussion in the text of the
Change 17.203 that added the creation of PDB.ASUMCEC into
the ASUM70PR logic, and see member ACHAP10 for general
PR/SM CPU measurement discussion.
OBSERVATION COUNT CHANGE: TYPE70PR fewer obs.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Thanks to Joseph Rannazzisi, Salomon Smith Barney, USA.
Thanks to Jim Gilbert, EDS-Sabre, USA.
Change 19.216 MXG ASCII Execution only: R723MSCF in TYPE72GO is wrong,
VMAC7072 but not when MXG runs under MVS. It was INPUT with the
VMAC71 $EBCDIC format, but it is a character-variable-containing
VMAC73 hex-values, formatted with $HEX, and all such variables
VMAC74 MUST be INPUT with $CHAR informat to preserve the bits
VMAC75 and for MXG to be portable across platforms.
VMAC76 Under MVS, $EBCDIC and $CHAR are identical, but on ASCII
VMAC77 platforms, the INPUT must be with $CHAR to preserve the
VMAC78 original bits; if you input with $EBCDIC under ASCII, as
VMAC79 designed, SAS converts '40'x to '20'x for blanks, etc.,
VMAC102 for each byte in the field. Under ASCII, $CHAR stores
TYPEDOS the unmodified hex value in the character variable (and
VMAC102 so does $VARYING).
VMAC110 Don's discovery precipitated an audit of old MXG source
VMAC116 for other cases of incorrect informat: all variables
VMAC22 listed below are now correctly INPUT with $CHAR and
VMAC42 formatted with $HEX; none are important flags, some are
VMAC6 not even kept, many are reserved fields, but a few are
VMAC6156 used to create other (apparently-not-very-important) flag
variables, and since no one else had caught this failure
in MXG transparency across platforms, I feel very lucky!
VMAC80A I should have done this long ago.
VMAC84
VMAC90A VMAC7072: R723MSCF TEMPIOML SMF70PRF SMF70PRF
VMACACF2 SMF72RV5 SMF70V
VMACACHE VMAC71: TEMPIOML SMF71PRF
VMACAPAF VMAC73: TEMPIOML SMF73PRF
VMACAPAF VMAC74: R747PNUM R747PADR R747CNUM R747CADR
VMACBETA VMAC75: TEMPIOML SMF75PRF SMF75RV3 SMF75RVA
VMACCTLG VMAC76: TEMPIOML SMF76PRF
VMACDB2 VMAC77: TEMPIOML SMF77PRF
VMACEREP VMAC78: TEMPIOML SMF78PRF
VMACFTP VMAC79: TEMPIOML SMF79PRF SMF79RV2 R79FRCVT R79RV1
VMACIDMJ R79RSV R79USER R796FLG R797FLG R797RES
VMACIDMS R798FL1 R799RVO R799CNF R799RV0 R799CNF
VMACIMS R79BFL2 R79BRESV
VMACIMSA TYPEDOS: SUFFIX
VMACMVCI VMAC102: QW0011PS QW0015C2 QW0021KD QW0021KP QW0021K1
VMACOPC QW0021K2 QW0087AD QWP1SMRC QWP3WLST QWP4DATE
VMACSNAP QWP4DATE QW0170FC QW0177CT
VMACSPMS VMAC110: TRANPRI TCLASS TRANPRI TRANPRI TRANPRI
VMACSYNC TRANPRI TRANPRI TRANPRI TCLASS
VMACTMV2 VMAC116: WTIDUOWI WQCORREL
VMACTMVS VMAC22: CPUTYPE
ZMACxxxx VMAC42: SMF42DEV
Nov 1, 2001 VMAC6: SMF6OTOK
VMAC6156: RELFLAG
VMAC7072: R723MSCF
VMAC79: R79FRCVT
VMAC80A: CLASOPT1
VMAC84: SMF84FL1
VMAC90A: SMF9031U
VMACACF2: ACVMFMF
VMACACHE: DEVMAP1 DEVMAP2 CSDEV DVID
VMACAPAF: CPUMAP
VMACAPAF: IOPMAP
VMACBETA: BETAALVL
VMACCTLG: RELFLAG
VMACDB2: QBGBGR1 QBGBGR2
VMACERE: SYRELLVL
VMACFTP: DVGDRETC DVGDREAC
VMACIDMJ: DBKOWNER DBKOWNER
VMACIDMS: DBKOWNER DBKOWNER
VMACIMS: SYNCDMAP
VMACIMSA: SYNCDMAP
VMACMVCI: T6EUDATA
VMACOPC: EXRPURGE
VMACSNAP: SNAPSVCI SNAPDTE SNAPSTA1 SNAPSTA2 SNAPREAS
SNAPDIAO
VMACSPMS: SPMSEXTB SPMSEXTE
VMACSYNC: SYNSOIO SYNSOIO
VMACTMV2: JDCLASS
VMACTMVS: ICLCUNUM ICSUBCHN IOELCUNO IOEDDVNO IVDEVADR
IVDEVNR JDCLASS
Fortunately, except for R723MSCF in TYPE72GO cited above,
none of these variables have been reported in error by
users.
Note: most of these CHAR variables were assigned MXG's
$NOTRAN informat: that was to be used by SAS as a flag to
"Not Translate" that variable between platforms, but that
scheme will not be implemented, so whether hex-containing
character variables have informat $NOTRAN or not has no
impact. Sep 2009: MXGNOTRA in CHANGE 27.014 implemented
the NOTRAN attribute support for SAS.
I also eliminated many ZMACxxxx members that were old and
no longer needed as penultimate backup for major changes.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 19.215 MXG 19.05 only. PDB.ASUM70PR and PDB.ASUMCEC variable
VMXG70PR SHIFT was usually wrong. The _DURSET logic changes made
Nov 2, 2001 by Change 19.201 were incorrect and were revised with the
insertion of DATETIME=STARTIME; before the first include
statement for IMACSHFT, and that code block was copied to
the second include statement for IMACSHFT.
Thanks to Bruce Widlund, Merrill Consultants, USA.
======Changes thru 19.214 were in MXG 19.06 dated Oct 30, 2001======
Change 19.214 Support for NTSMF SMS Objects create five datasets:
EXNTSMDI dddddd dataset description
EXNTSMEX NTSMDI SMSDISDM SMS DISCOVERY DATA MANAGER
EXNTSMIM NTSMEX SMSEXTHR SMS EXECUTIVE THREAD STATES
EXNTSMSE NTSMIM SMSINMEM SMS IN-MEMORY QUEUES
EXNTSMST NTSMSE SMSSENDR SMS STANDARD SENDER
IMACNTSM NTSMST SMSTATUS SMS STATUS MESSAGES
VMACNTSM
VMXGINIT
Oct 31, 2001
Thanks to Jim Quigley, ConEd, USA.
Change 19.213 "Support" for DB2 V7 QLES section was added to DB2STATS
VMACDB2 dataset (from 100 subtype 1) record, even though none of
Oct 31, 2001 the QLES fields are described in the DSNDQLES DSECT; they
are all flagged with (S) - Serviceability. Additionally,
the 8-byte QLETIMEx "time" fields, are actually two four
byte fields, which I have assumed to be like CICS "time"
values, with a 4-byte time value and a 4-byte count when
the time value was updated. While all of the other four
byte counters are accumulated, five of the "time" fields
are not accumulated: QLETIMEW,QLECNTM,QLETIMEI,QLECNTDY,
and QLECNTW. (The pair of time and count variables are
named QLETIMEx and QLECNTx, labelled "QLETIMEx*TIME" and
"QLEXTIMEx*COUNT". The QLExxxxx variables are discussed
in IBM documentation concerning the use of DSNTIP7 and
Section 2 of the DB2 Installation Guide, specifically to
measure and set the MAXIMUM LE TOKENS (LEMAX) on that DB2
panel to ensure that there are enough, and not too many,
LE tokens. Whether I've guessed correctly on the order
of time-count, and whether my assumed time units of secs
are valid, will hopefully confirmed or corrected, when
either IBM provides additional documentation, or when you
users can prove or disprove the numbers! Why only five
counters are not accumulated, especially since they are
really in pairs, suggests possible alignment errors, but
even then, I would expect four or six, not five.
Thanks to Harry Price, Florida Light and Power, USA.
Thanks to Ed Gambon, Florida Light and Power, USA.
Change 19.212 MXG 19.05 ONLY, CPUTYPE not 2064, LPARCPUS count is wrong
VMAC7072 in TYPE70PR and in ASUM70PR, because the test added by
Oct 30, 2001 Change 19.189 to support APAR OW49536 only was valid if
the CPUTYPE='2064'x. The revised change now counts CPUS:
IF SMF70CIN NE 'ICF' AND ( (SMF70ONT NE 0) OR
(SMF70ONT EQ 0 AND CPUTYPE NE '2064'X) )
THEN LPARCPUS=LPARCPUS+1;
and thus is CPU-Type dependent until IBM externalizes the
DDBOnlin flag into the RMF type 70 record as a safer test
field in the future.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Thanks to Alan Sherkow, I/S Management Strategies, USA.
Change 19.211 Support for Tivoli/Netview NPM 2.6 COMPATIBLY added one
EX028INN new subtype, 17x, for new NPMINNRC dataset containing
VMAC28 Router CISCO CIP Interval Volume Data (i.e., records are
VMXGINIT written only for the routers that have installed CISCO
Oct 30, 2001 CIP card).
Oct 31, 2001
Change 19.210 NOT SORTED TYPE72GO error in WEEKBLDT caused by Change
WEEKBLDT 17.353 that added variable RPRTCLAS to the BY list in
WEEKBL3T TYPE72GO/WEEKBLD/MONTHBLD but missed WEEKBLDT/WEEBL3T.
Oct 30, 2001 This worked fine for two years, but a SET CLOCK event at
two sites exposed the MXG inconsistency that caused the
error. Correcting the BY list eliminated the error.
Thanks to Art Hunter, Penn Mutual, USA.
Thanks to Richard Lopez, Johnson and Johnson, USA.
Change 19.209 RMF III job monitor total storage is created in new
VMACRMFV variable ASIDTOT=SUM(ASIFMCT,ASIFMCTI,ASIESF,ASIESFI);
Oct 28, 2001 in ZRBASI dataset.
Thanks to Mark Wittie, FMR, USA.
Change 19.208 First 19.05 only. SYSTEM object has missing counters if
VMACNTSM NRDATA=24; first IF test was revised.
Oct 24, 2001
Thanks to Jim Quigley, ConED, USA.
======Changes thru 19.207 were in MXG 19.05 dated Oct 24, 2001======
Change 19.207 Some sample MQ Series Exception reports based on SMF 115
ANAL115 records (TYPS115).
Oct 24, 2001
Thanks to Bruce Widlund, Merrill Consultants, USA.
Thanks to Yakov Nudel, Beta Systems, USA.
Thanks to Jan Hess, America West, USA.
Change 19.206 Unexpected blank 80-byte record at start of compressed
VMACTMO2 Landmark file caused INPUT STATEMENT EXCEEDED error. This
Oct 24, 2001 change detects short records, lists them on the SAS log,
and deletes them. These records are probably being added
as part of the site's tape initialization process, rather
than being created by Landmark.
Thanks to Tim Sisk, CSC Corp, USA
Change 19.205 Using ASUMCICS with Landmark TYPSTMO2 member failed, due
ASUMCICS to the incorrect include of member IMACMONI instead of
Oct 23, 2001 VMACTMO2 (so _LMONTSK was not defined).
Thanks to Robin Murray, Maritime Life, CANADA
Change 19.204 Support for CICS/TS 2.2 Statistics changes to CICDS data.
VMAC110 IBM has changed the 9th and 11th TCB buckets contents and
Oct 23, 2001 added a twelfth bucket:
Nov 12, 2001 MXG Prefix TCB Number TCB Name 2.1 TCB 2.2 TCB
DSG 1 QR 1 1
DS2 2 RO 2 2
DS3 3 CO 3 3
DS4 4 SZ 4 4
DS5 5 RP 5 5
DS6 6 FO 6 6
DS7 7 SL 7 7
DS8 8 SO 8 8
DS9 9 J8 9 H8 12
DSA 10 L8 10 11
DSB 11 S8 11 9
DSC 12 D2 -- D2 10
MXG variable DSnTCBNM, where n is the TCB number, will
contain the actual name of the TCB so you can verify
which set of TCB values applies to which TCB; because of
the IBM change, the LABEL values for DS9,DSA,DSB, and DSC
variables may be incorrect, but DSnTCBNM will be valid.
There are additional DSG Pool segments that are not yet
decoded, as I need actual data to validate their location
in the SMF record to write that code.
Change 19.203 Support for z/OS Version 1.1 and 1.2 APAR and MXG error.
VMAC78 APAR OW49806, for z900 with z/OS 1.2, adds new IOP
Oct 23, 2001 (I/O Processor) utilization measurements have been added
TYPE78IO dataset:
R783IIPB='TIMES WHEN*IOP*WAS BUSY'
R783IIPI='TIMES WHEN*IOP*WAS IDLE'
R783IIFS='IO FUNCTIONS*INITIALLY*STARTED'
R783IPII='PROCESSED*I/O*INTERRUPTS'
R783ICPB='RETRIES*DUE TO*CHANNEL*PATH*BUSY'
R783IDPB='RETRIES*DUE TO*DIRECTOR*PORT*BUSY'
R783ICUB='RETRIES*DUE TO*CONTROL*UNIT*BUSY'
R783IDVB='RETRIES*DUE TO*DEVICE*BUSY'
But in installing this support, I found the new variables
for DCM managed channels, added by Change 18.134 for 1.1
(R783MCMN/MX/DF/PTM/DBPM/CUBM added to dataset TYPE78IO),
should have instead been added to dataset TYPE78CU, so
this change is required for z/OS 1.1 and 1.2 on all
platforms, not just z900s.
14May02: Documented in comments in VMAC78, but not here,
z/OS 1.2 R783GSAM/NRCMPTSM and R783PB/PCTPTHBY are now
reserved, causing PCTPTHBY to be missing in TYPE78CF.
16Jun02: This also causes PCTALLBY to be missing in
TYPE78CU, beginning with Z/OS 1.2.
Change 19.202 Support for Serena's Ultimizer user SMF record.
EXULTM01 Four datasets are created:
EXULTM02 ULTM01 ULTMIZ01 VSAM BLOCKSIZE OPTimIZATION
EXULTM03 ULTM02 ULTMIZ02 QSAM BUFFER OPTIMIZATION
EXULTMNN ULTM03 ULTMIZ03 QSAM BLOCKSIZE OPTIMIZATION
FORMATS ULTMNN ULTMIZNN BLDVRP OVERRIDE OR BYPASSES
TYPEULTM This vendor puts the RDRDATE where the SYSTEM should be
TYPSULTM in the SMF header. The subtypes 4 thru 10 are all output
VMACULTM in the ULTMIZnn dataset, which appears to also have
VMXGINIT duplicate records created for some subtypes.
Oct 20, 2001
Change 19.201 Several enhancements to PDB.RMFINTRV and PDB.ASUM70PR:
ASUM70PR -Variables PARTISHN TOTSHARE LPARSHAR and CECSER added to
VMXG70PR PDB.RMFINTRV by your include of ASUM70PR after BUILDPDB
VMXGRMFI that updates PDB.RMFINTRV after PDB.ASUM70PR is built.
Oct 22, 2001 -The SYNC59 logic in VMXGRMFI was revised; it could be
off by one minute in creating PDB.RMFINTRV.
-The 70ID list was cleaned up and now is in one place.
-If you used the (recently added) INTERVAL= and SYNC59=
arguments in your RMFINTRV member to control %VMXGRMFI's
summary interval, variables PLATBUSY and PLATCPUS could
be missing, because the ASUM70PR program that adds them
into PDB.RMFINTRV uses the _DURSET macro in IMACRMFI to
set the ASUM70PR interval, causing the mis-match. This
exposure is fixed by new member VMXG70PR, a new %MACRO
definition, that is now invoked by member ASUM70PR, with
the same arguments as VMXGRMFI, so that if you do tailor
RMFINTRV with INTERVAL= and/or SYNC9=, you now can (and
now MUST!) use the same arguments and values in both your
RMFINTRV and ASUM70PR members, so that the intervals in
RMFINTRV, ASUM70PR, and ASUMCEC are identical.
-The default value in both RMFINTRV and ASUM70PR are set
to INTERVAL=DURSET and SYNC59=NO, so that the default
interval in PDB.RMFINTRV and PDB.ASUM70PR is set by the
member IMACRMFI (in it's _DURSET macro definition).
By default, IMACRMFI member does no summarization, and
instead creates one observation in PDB.RMFINTRV and
PDB.ASUM70PR for each original RMF interval.
-If you have tailored member IMACRMFI to set the summary
interval (eg, HOUR, SHIFT, etc) you want, then it will
be used for both RMFINTRV and ASUM70PR.
-If instead you tailored member RMFINTRV to use INTERVAL=
or SYNC59= arguments, then you MUST also tailor member
ASUM70PR to use those same arguments and values.
-With the added variables, the maximum percent CPU busy
that a system can reach based on LPAR weights can be
calculated
LPARMAX=100*(LPARSHAR/TOTSHARE)*(NRCPUS/PARTNCPU);
E.g.: CEC with 11 physical engines and with 3 LPARS:
6 engines and weights of 47 in two LPARS
2 engines and weight of 6 in one LPAR
LPARMAX = 100 * (47/100) * (11/6) = 86.6 %
is the busyiest those six engine LPARs can be,
even though PLATBUSY is 100%
-Correction in ASUM70PR for Dedicated processors to change
IF LCPUDED='Y' AND LCPUWAIT='Y' THEN DO; to now read
IF LCPUDED='Y' OR LCPUWAIT='Y' THEN DO;
because the logic only worked for Dedicated and LCPUWAIT,
which could cause the non-dedicated CPU busy to be wrong.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Steve Emson, TESCO, ENGLAND.
Thanks to Richard Rich, State of California Teale Data Center, USA.
Change 19.200 Support for SMF type 82 crypto facility record
EXTY8201 creates thirteen new datasets:
EXTY8203 TY8201 TYPE8201 INITIALIZATION
EXTY8204 TY8203 TYPE8203 STATUS CHANGE
EXTY8205 TY8204 TYPE8204 CONDITION CODE 3
EXTY8206 TY8205 TYPE8205 SPECIAL SECURITY MODE
EXTY8207 TY8206 TYPE8206 MASTER KEY PART
EXTY8208 TY8207 TYPE8207 KEUK PART
EXTY8209 TY8208 TYPE8208 CKDS REFRESH
EXTY8210 TY8209 TYPE8209 CKDS UPDATE
EXTY8211 TY8210 TYPE8210 PKA KEY PART
EXTY8212 TY8211 TYPE8211 CLEAR NEW MASTER KEY PART
EXTY8213 TY8212 TYPE8212 PUBLIC KEY SECURE CABLE
VMAC82 TY8213 TYPE8213 PUBLIC KDS UPDATE
VMXGINIT
Oct 19, 2001
Change 19.199 Incorrect copying in the weekly phase was corrected by
BLDNTPDB inserting a RUN; statement between the PROC COPY and the
Oct 19, 2001 %VMXGOPTR invocation (to force macro resolution).
Thanks to Greg Jackson, National Life of Vermont, USA
Change 19.198 Invalid values for sample counts of 'FFFFFFFF'x for the
VMAC7072 PCTDLTOT (R723TOT) and PCTDLQ (R723CQ) and 'FFFFFFFA'x
Oct 19, 2001 for PCTDLTDQ (R723CTDQ) caused very small VELOCITY and
very large PERFINDX values. MXG now tests those three
fields and forces a missing value when large values are
found in the IBM record.
Updated: Oct 30, 2001: IBM APAR OW50380 fixes the error,
at least for basic mode.
Thanks to Jiann-Shiun Huang, CIGNA, USA
Thanks to Perry Metzel, Hewitt, USA.
Change 19.197 -Support for revised SYSTEM object with NRDATA=24, which
EXNTEPXY reinstated Total Interrupts/Sec counter to match all of
EXNTEXEX the SYSTEM fields that used to exist in NT 4.0.
EXNTMEAL -Support for the restructured SQL 2000 objects creates
EXNTMECA these seventeen new SQLServer datasets:
EXNTMECO NTQLAM MSQACCES NT MSSQL:ACCESS METHODS
EXNTMEIM NTQLBD MSQBKPDV NT MSSQL:BACKUP DEVICE
EXNTMEM NTQLBM MSQBUFMG NT MSSQL:BUFFER MANAGER
EXNTMEOE NTQLBP MSQBUFPA NT MSSQL:BUFFER PARTITION
EXNTMEOR NTQLCM MSQCACMG NT MSSQL:CACHE MANAGER
EXNTMEPO NTQLDA MSQDATAB NT MSSQL:DATABASES
EXNTMEPR NTQLGS MSQGENST NT MSSQL:GENERAL STATISTICS
EXNTMESA NTQLLA MSQLATCH NT MSSQL:LATCHES
EXNTMESR NTQLLO MSQLOCKS NT MSSQL:LOCKS
EXNTMETD NTQLMM MSQMEMMG NT MSSQL:MEMORY MANAGER
EXNTMETS NTQLRA MSQREPAG NT MSSQL:REPLICATION AGENTS
EXNTMEWM NTQLRD MSQREPDI NT MSSQL:REPLICATION DIST.
EXNTMIGA NTQLRL MSQREPLR NT MSSQL:REPLICATION LOGREADER
EXNTMIGP NTQLRM MSQREPME NT MSSQL:REPLICATION MERGE
EXNTMISC NTQLRS MSQREPSN NT MSSQL:ACCESS METHODS
EXNTMISE NTQLSE MSQUSRSE NT MSSQL:USER SETTABLE
EXNTMISI NTQLSS MSQSTATS NT MSSQL:SQL STATISTICS
EXNTQLAM -Support for 14 new MS Exchange objects create datasets:
EXNTQLBD NTMEAL MSEXMEAL NT MSEXCHANGEAL
EXNTQLBM NTMECA MSEXCACH NT MSEXCHANGEDSACCESS CACHES
EXNTQLBP NTMECO MSEXCONT NT MSEXCHANGEDSACCESS CONTEXTS
EXNTQLCM NTMEIM MSEXIMAP NT MSEXCHANGEIMAP4
EXNTQLDA NTMEM MEMORY NT MEMORY
EXNTQLGS NTMEOE MSEXOLEV NT MSEXCHANGE OLEDB EVENTS
EXNTQLLA NTMEOR MSEXOLRE NT MSEXCHANGE OLEDB RESOURCE
EXNTQLLO NTMEPO MSEXPOP3 NT MSEXCHANGEPOP3
EXNTQLMM NTMEPR MSEXPROC NT MSEXCHANGEALACCESS PROCESSES
EXNTQLRA NTMESA MSEXMESA NT MSEXCHANGESA - NSPI PROXY
EXNTQLRD NTMESR MSEXSRS NT MSEXCHANGESRS
EXNTQLRL NTMETD MSEXTRDR NT MSEXCHANGEIS TRANSPORT DRIVER
EXNTQLRM NTMETS MSEXTRSD NT MSEXCHANGETRANSPORT STORE DRIVER
EXNTQLRS NTMEWM MSEXWEBM NT MSEXCHANGEWEB MAIL
EXNTQLSE The duplicate removal logic was validated and BY lists
EXNTQLSS were enhanced where needed to ensure removal. There are
IMACNTSM actual duplicates in MSEXCONT that are being investiaged.
NTINTRV -In NTINTRV, the NTCONFIG dataset is no longer combined in
VMACNTSM to PDB.NTINTRV because is is not an interval dataset.
VMXGINIT -SP2 for Exchange 2000 added object MSExchangeIS Mailbox
Oct 19, 2001 that appears to have the same fields as MS..eIS Public,
so the Mailbox records are output in MSEXISPU dataset.
Object for MSExchangeIS was restructured with some new
and some removed fields. The "Database ==> Instances"
object is questionable, and missing fields in Database
object have yet to be resolved, but both objects with
"Database" in their name are now output into DATABASE.
-New Epoxy object creates new EPOXY dataset.
-New MicroSoft Gatherer object creates new MIGATHER
-New " Gatherer Projects object creates new MIGATHPR
-New Microsoft Search object creates new MISEARCH
-New " Search Catalogs object creates new MISEARSC
-New " Search Indexer Catalogs creates new MISEARSI
-New Exchange Server HTTP Extensions new EXCHHTEX
Change 19.196 Variable QBGBGCS, the current status of GBPCACHE (NO/YES)
VMACDB2 was added by DB2 Release 6, but was skipped by MXG; now
Oct 17, 2001 that variable is INPUT and kept in dataset DB2GBPAT.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 19.195 Cosmetic. Some of the error messages for bad segments
VMAC108 had incorrect segment name in the text, possibly causing
Oct 17, 2001 confusion, if any of those conditions ever occurred.
Thanks to Bob Furlong, Chase, USA.
Change 19.194 Change 19.101 removed PGMRNAME from the TYPE30_4 step
BUILD005 dataset in BUILDPDB processing to protect against blank
BUIL3005 values, but that change caused PGMRNAME to not be kept
Oct 17, 2001 in PDB.STEPS; by adding PGMRNAME to the PDBADD2/PDBADD3
Apr 5, 2002 macros, the PGRMNAME from the PDB.JOBS dataset will now
be copied into the PDB.STEPS dataset. However, PGMRNAME
will still be blank if no PGMRNAME was used on the JOB
card: PDB.JOBS and PDB.STEPS contains observations for
all "jobs": STCs, TSO, OMVS, USS, APPC, etc, all will
create "job" records that can have no PGMRNAME value,
so variable TYPETASK may explain blank PGMRNAME values.
Since BUILDPDB keeps PGMRNAME from only the 30.1 Job Init
and 26 Job Purge, if "Spinning" was not enabled in your
IMACSPIN, and if only step/job/print without init/purge
are found for a job, then variable INBITS won't contain
an I or a P, and PGMRNAME will be blank in JOBS/STEPS.
5Apr02: Text revised: why it can still be blank.
Thanks to Bob Greer, Nissan North America, USA.
Change 19.193 Support for IFCID=225, DB2 Storage Manager Pool Summary
VMAC102 Statistics to create dataset T102S225, with lots of stats
Oct 17, 2001 on pool sizes and concurrent activity.
Thanks to Sim Williams, Fidelity, USA.
Change 19.192 New formatted variable S42DSBUF for VSAM Buffer type:
FORMATS S42DSBUF='VSAM*BUFFER*TYPE'
VMAC42 with values 0:NSR 1:RLS 2:LSR 3:GSR
Oct 16, 2001 and new character flag variables ('Y' or blank) are added
S42DSEXC='OPEN FOR*EXCP*PROCESSING?'
S42DSFXD='NONVSAM*FIXED*LENGTH*RECORDS?'
S42DSPL ='PROGRAM*LIBRARY?'
S42DSEF ='EXTENDED*FORMAT?'
S42DSEFC='COMPRESSED*FORMAT?'
to TYPE42DS by decoding the existing S42DSFL1 variable.
These new variables were used to examine why the S42AMxxx
Access Method Statistics variables are sometimes missing
in TYPE42DS. Thus far, all observations with
S42DSEXC='Y' - EXCP Access Method
do not contain an Access Method Statistics section, but
no other pattern has been found to explain why that A.M.
segment is not present (S42DSAMO=0) for other datasets.
Thanks to Rob D'Andrea, NatWest, ENGLAND.
Change 19.191 Variable CPUTYPE was added to the KEEP= list for TYPE70PR
VMAC7072 dataset.
Oct 15, 2001
Thanks to Helmut Roese, COM Software GmbH, GERMANY.
Change 19.190 This example report to calculate per-service-class CPU
ANALSRVC busy percentages had a FORMAT PGPCTCAP PGPCTUSE 5.1; that
Oct 7, 2001 should have been FORMAT SVPCTCAP SVPCTUSE 5.1; .
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch, USA.
======Changes thru 19.189 were in MXG 19.04 dated Oct 5, 2001======
Change 19.189 Support for APAR OW49536 (INCOMPAT if you have SPARE CPU
VMAC7072 engines on your 2064 CPU). Reserve/Spare CPUs on 2064s
Oct 5, 2001 have segments in type 70 records that were being counted
as a real CP engine (both in RMF reports and in MXG!).
This change tests SMF70ONT, the new LPAR "online time";
only if that value is non-zero will that CP be counted.
A missing value in SMF70ONT will be counted; that is a
record without the new field that can't have the problem.
A non-zero non-missing value in SMF70ONT will be counted,
because it was online during the interval.
Variable LPARCPUS in dataset TYPE70PR, and the LPnNRPRC
variables for each LPAR in dataset ASUM70PR will be wrong
and LPAR percentages based on these variables will also
be incorrect without this change.
Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.
Change 19.188 TYPEIMSA corrected ENDTIME and STRTTIME for GMTOFFTM, but
TYPEIMSA variable END7TIME was not corrected, so these variables
Oct 5, 2001 IMSSRVTM IMSRESTM IMSSRVTS and IMSRESTS were off from TOD
by the value of GMTOFFTM. All are now corrected.
Thanks to Daniel Cannon, The Hartford, USA.
Change 19.187 Enhancements for MXG NTSMF support:
ASUMNTIN -NTCONFG file has been added in NTINTRV so KEEPALL=YES can
BLDNTPDB be used in ASUMNTIN.
NTINTRV -ASUMNTIN now uses KEEPALL=YES for performance reasons.
-RUNMNTH processing in BLDNTPDB corrects problem passing
Oct 5, 2001 a variable that should not have been.
Stay tuned: more enhancements, like RERUN, in progress.
Change 19.186 Support for RMF type 74 subtype 4 "Broken Records" output
VMAC74 observations from the subsequent, incomplete record when
Oct 2, 2001 that record should have been deleted, as it was precedeed
by the MXG "Broken Record" message from the previous SMF
record. This change only outputs to TYPE74CF when the
SUM(SMF744XN,SMF744GN,SMF744QN,SMF744SN,SMF744PN)
is greater than zero.
For First 19.04: This change relocate the RO section,
inserted the missing END; and corrected the comment that
has masked the missing END;
Thanks to Wally Danielson, Airborne, USA.
Change 19.185 Support for Implex USER SMF record creates five datasets
EXMPLXGA one per subtype, from Williams Data Systems:
EXMPLXIN Subtype DDDDDD Dataset
EXMPLXPE 1 MPLXIN IMPLEXIN Interface Statistics
EXMPLXPM 2 MPLXSE IMPLEXSE Service Statistics
EXMPLXPO 3 MPLXGA IMPLEXGA Gateway Statistics
EXMPLXRT 4 MPLXRT IMPLEXRT RTT Statistics
EXMPLXSE 5 MPLXPR IMPLEXPR Protocol Monitoring
FORMATS These records contains accumulated fields, so the member
IMACMPLX both TYPEMPLX and TYPSMPLX invoke the _SMPLX "sort MPLX"
TYPEMPLX macro, which sorts and deaccumulates these datasets into
TYPSMPLX the default DDname of PDB. Implex is an IP monitor with
VMACMPLX 3270 response time monitoring.
VMXGINIT
Oct 5, 2001
Thanks to Rolf Meinert, Volkswagen, GERMANY.
Change 19.184 MXG Data Sets contain labels with unique syntax DDDDDD:,
BLDNTPDB that is used via PROC CONTENTS to control copying of the
Oct 2, 2001 daily/weekly/monthly in the BLDNTPDB logic. However, the
DATA WEEK.NTxxxxx; SET MON.NTxxxxx ... SUN.NTxxxxx; does
not propagate a dataset LABEL, causing RUNMNTH=YES to
fail with ERROR: BY VARIABLE _B IS NOT ON INPUT DATASET
(because the DDDDDD value is used to create &SUFX, but if
there is no DDDDDD value in the label, &SUFX is blank).
The circumvention is to use the PDB, instead of the WEEK.
as the library to read to get the DDDDDD values. Change
%VMXGINV(LIBNAME=WEEK); to %VMXGINV(LIBNAME=PDB) after
the comment "BUILD THE MONTHLY" to circumvent.
Thanks to Liz Slack, Premera Blue Cross, USA.
======Changes thru 19.183 were in MXG 19.04 dated Oct 1, 2001======
Change 19.183 Variable R742PIOT in dataset TYPE74PA was always missing.
VMAC74 The test IF SKIP GT 4 THEN DO; prior to its INPUT should
Oct 1, 2001 have been IF SKIP GE 4 THEN DO;
Thanks to Philip Foster, CGI Inc, CANADA.
Change 19.182 A new alternative report member for GRAFWORK, enhanced to
GRAFWRKM support all workload that are now createable in RMFINTRV,
GRAFWRKX with an additional neat twist. With GRAFWORK, workloads
Oct 1, 2001 are stacked from bottom to top and the order was fixed:
Overhead, CICS, IMS, TSO, BATCH, OTHER OTH1-OTH9.
But now with GRAFWRKS, if IMACWORK=NO is used, there is
total control of the order of stacking (except that the
"overhead", or uncaptured, is always at the bottom, so
you can order the stacking to map the priorities of your
workloads. GRAFWRKM is an example using GRAFWRKX.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.181 Support for CICS/TS 2.2 SMF 110 Subtype 1 CICSTRAN record
VMAC110 is almost compatible! IBM added two new variables at the
Sep 29, 2001 end of the standard transaction segment:
PTPWAITM='3270 BRIDGE*PARTNER*WAIT*ELAPSED*TIME'
PTPWAICN='3270 BRIDGE*PARTNER*WAIT*COUNT'
so that all of the standard IBM fields are still correct
with earlier versions of MXG that supported TS 2.1 data.
However, if you are processing any of the optional CICS
segments, this change is required so that the optional
variables are valid: (you ARE processing optional CICS
segments if there are IMACICxx members in your tailoring
MXG library).
This change supports only the subtype 1 record. A later
change will support the CICS TS 2.2 Statistics subtype 2
record changes (INCOMPAT: CICDS data moved to STID=60).
Change 19.180 Support for SMF 120 WAS/390 4.0 EE (Websphere Application
EXT120JI Server, Enterprise Edition) which adds new Server Type:
EXT120JC -MOFW server supports both C++ and Java BOs (in 3.02)
FORMATS -J2EE server supports EJBs only (new in 4.0)
VMAC120 The existing subtype 1 and 3 records for MOFW servers are
VMXGINIT reused for the new J2EE server, so existing MXG datasets
Sep 28, 2001 TYP102SA and TYP102SC from subtype 1 Server Activity and
Oct 17, 2001 TYP102SI from subtype 3 Server Interval are changed only
by the addition of new variable SM120ST, Server Type, to
identify MOFW or J2EE server type. Existing MOFW subtype
2 and 4 could not be reused; new subtypes 5 and 6 create
MXG dataset TYP120JC (subtype 5 J2EE Container Activity)
and dataset TYP120JI (subtype 6 J2EE Container Interval).
-These new records are the first SMF records to contain
UCS, or Unicode DBCS (Double Byte) character data in new
variables SM120JA8/SM120JB1/SM120JM1/SM120JA, with the
names of containers, ejbRoles, methods, and AMCNames of
the bean, etc. However, SAS support for UCS (Informat
$UCS2Bnnn.) became available in SAS V8, so those new
UCS variables will have valid printable names only if
SAS Version 8 or later is used to build the datasets.
Although those names can be as large as either 256 or 512
characters (512 or 1024 bytes of DBCS data in the record)
until there is a need for more text, and for simplicity
and compatibility, only the first 200 characters are
kept, creating a unique new MXG macro variable named
UCS2B4, with value:
IF &SYSVER GE 8.2 THEN %LET UCS2B4= $UCS2B4 ;
ELSE %LET UCS2B4= $EBCDIC2;
so that using "&UCS2B4.00" syntax, SAS V8.2+ will INPUT
with $UCS2B400. while earlier INPUT is with $EBCDIC200.
Code was revised and validated with J2EE data, Oct 17.
Change 19.179 RMF III LENGTH=0 cause INPUT STATEMENT EXCEEDED error,
VMACRMFV but a rerun does not fail, (but a rerun against the VSAM
Sep 28, 2001 file to create the BSAM file will have different records
because RMF III VSAM continuously runs and wraps). This
change tests and deletes LENGTH=0 records with a message
on the log to show how many records were found.
Thanks to John F. Gebert, Office Depo Inc, USA.
Change 19.178 DB2 variable QWHSLUCC is the character variable with the
VMACDB2 Commit Count, but that should have been a numberic value.
VMACDB2H Since I can't change the type from CHAR to NUM without a
Sep 27, 2001 serious compatability issue, I have created QWHSLUCN as
a numeric variable with the Commmit Count.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.177 Support for IMS 6.1 Fast Path records (INCOMPAT).
VMACIMS Fast Path subcodes 01, 03, 36, 37, and 38 were all
VMACIMSA changed by IBM; fields were inserted in all records, and
Sep 27, 2001 new variables are now created and kept. Support was then
Oct 15, 2001 revised Oct 15 to correct VARIABLE STRTTIME NOT FOUND
errors introduced by the first change.
Thanks to Pete Gain, SAS, ENGLAND.
Change 19.176 Support for z/OS Version 1 Release 2 changes in SMF data:
EXTY7002 -TYPE30xx - bit 2 in field SMF30SFL (Storage/Paging) new
EXTY74DU variable IEFUSIME='IEFUSI*CHANGED*MEMLIMIT?'
FORMATS in TYPE30_4, TYPE30_V, TYPE30_5, TYPE30_6.
IMAC7072 - new vars MEMLIMIT='MEMLIMIT*VALUE'
IMAC74 and SMF30MLS='SOURCE OF MEMLIMIT' which
VMAC30 is decoded by new MG030ML format:
VMAC7072 1:MEMLIMIT SET BY SMF
VMAC71 2:MEMLIMIT SET IN JCL
VMAC73 3:MEMLIMIT BASED ON REGION=0
VMAC74 4:MEMLIMIT SET BY IEFUSI
VMAC78 but SMF30MLS and MEMLIMIT are set missing (and
VMAC79 not zero) if SMF30MLS has no bit set (i.e., if
VMAC90 MEMLIMIT is not specified).
VMXGINIT -TYPE70PR - Existing SMF70BDA is now divided by SMF70DSA
Sep 25, 2001 to calculate Average number of LCPUs Active,
as the variable was labelled, and existing
SMF70ACS is now documented as 4 bytes (z/OS
R1.1 doc had ACS 2 bytes with +2 after MAS; I
assume this is an IBM doc correction).
SMF70ACS is now divided by SMF70DSA.
-TYPE7002 - New Dataset for Cryptographic Coprocessor data
contains PCCI Cryptographic Hardware execution
times and counts for all operations and all
RSA-key-generation operations.
-TYPE71 - New Swap Reason "In-Real Swap" is added in new
variables SWAPIR/EXTAUXIR/LOGAUXIR/LOGEXTIR/
PHYAUXIR/PHYEXTIR.
-TYPE72GO - New variable R723CLSC, only in Reporting Class
observations, contains the name of the Service
Class that last contributed to this Reporting
Class; blank if this obs is for Service Class.
Note: Previously Reporting Classes did not
have Periods, (only Service Classes
had periods), but now both can have
up to 8 periods.
- New variable R723HETR='Y' if this report class
period is "Heterogeneous":
If the report class contains transactions
from a single service class, R723HETR='N'
for a "Homogeneous" reporting class.
Report classes now can combine transactions
running in different service classes, and
those "Heterogeneous" have R723HETR='Y'.
BUT: IBM says data is invalid if hetero.
- New variables R723CAMU/R723CAMD (CAM CRYPTO)
and R723APU/R723APD (AP CRYPTO) contain TCB
USING and TCB DELAY samples for Cryptographic
Asynchronous Message Processor (CAM) and for
Cryptographic Assist Processor (AP).
- New R723FQD Feature Queue Delay Samples: a TCB
was found waiting on a processor feature queue
associated with a CPU, are also included in
the delay samples in R723CCDE (MXG PCTDLCDE).
Note: Feature Queue Using Samples are in
MXG variable PCTUSCUS (R723CCUS).
-TYPE7204 - Type 72 subtype 4 delay samples have new var
R724OR18 for new "In-Real" Swap Reason delays.
-TYPE73 - New CPMF Channel Measurement Groups 3 adds new
channel traffic variables for HiperSockets, or
the IQDIO, a/k/a IQD (Internal Queued Direct
Communication) channel type, a high-speed LAN
for communications between LPARs in a CEC/CPC.
Eleven variables with byte rates per second,
for both LPAR and Totals, for both data unit
and message unit traffic, plus unsuccessful
sends and receive counts, but there is no
capacity measure for the IQD. These new
variables exist only for SMF73CMG=3:
SMF73PDS SMF73PDU SMF73PMS SMF73PUB SMF73PUM
SMF73TDS SMF73TDU SMF73TMS SMF73TUB SMF73TUM
SMF73PUS
-TYPE74CF - New variables added to TYPE74CF with bit masks
of paths available and installed and channel
path type acronym for each of 8 possible paths
in variables
R744FPAS R744FPIS R744FPCM R744FTA1-R744FTA8
-TYPE74ST - New variables for waits, wait duration, and
square of wait duration for waiting for peer
subchannel, for waiting for peer with reserve
held, and for waiting for peer completion in
these new variables:
R744SCSS R744SCST R744SCTC R744SLSV R744SPES
R744SPLN R744SPSS R744SPST R744SPTC R744SRSS
R744SRST R744SRTC
-TYPE74DU - New remote facility data section in subtype 4
Coupling Facility data for your Duplexed CFs
creates new dataset TYPE74DU.
-TYPE746x - SKIP calculation corrected for 746BL/746DL.
-TYPE747x - While decoding of the subtype 7 FICON Director
is in place in VMAC74, no datasets are created
until I have test data to understand.
-TYPE78CF - IBM removed PCTPTHBY and NRCMPTSM fields, so
they will now have missing values.
-TYPE791 - Variable R791TTOD now is non-zero and contains
"Real Time into Transaction".
- Added swap 'SR'='IN REAL' to FORMAT $MG079SR
- New R791MLIM variable ASID Memory Limit added.
- Bits in R791FLG and R792FLG added for temporal
affinity
-TYPE79C - New CMG=3 data added
-TYPE79E - Variables CHPIDTKN and NRCMPTSM now reserved.
-TYPE90 - Support for subtypes 26,27,28,29,30,31,32.
Change 19.175 Statistics reports for multiple intervals used the number
ANALDB2R of intervals as a divisor, incorrectly, but only on one
Sep 25, 2001 summary page, and only for the Long Statistics summary
and trace, PMSTA01/PMSTA03, which are not invoked by
default. It's been this way for some time, suggesting
that a) that page of that report is not very useful, or
b) no user has looked at it that closely until now!
Thanks to Liesbeth Post, KLM, THE NETHERLANDS.
Change 19.174 Two separate sites report errors in SMF type 60 records,
VMAC60 causing INPUT STATEMENT EXCEEDED RECORD error when read.
Sep 21, 2001 Both had VVRTYPE=Z:PRIMARY, but the two SMF records are
Oct 1, 2001 wrong in different ways:
-ENTTYPID=C:CLUSTER record, VVR has impossible value for
offset-to-next-field of 1792 in a 588 byte SMF record:
VVRLOKYL=1792 (0700x located at byte 563) can't be
valid, but the expected fields VVRXSC1 that I tried to
INPUT look like they are there after VVRLOKYL in the
record. Maybe first byte of VVRLOKYL is now a flag
(note '.....11100000000'B value in this record)?
CIRCUMVENTION: This change now compares VVRLOKYL with
LENGTH to prevent INPUT, but when prevented, those
additional fields will have missing or blank values.
-ENTTYPID='A:NON-VSAM', NVR has invalid values in length
and name fields for the Storage Class, Data Class, and
the Management Class names:
VVRSTGLN Length field = 6 , but 8 EBCDIC bytes follow
before the next length:
VVRDATLN Length field = 4 , and 4 bytes do follow, but
only 3 are EBCDIC, final is
'00'x instead of '40'x, and
VVRMGTLN Length field = 6 , but four unprintable hex
bytes are followed by four
EBCDIC bytes.
so the name field variables VVRSTGCL, VVRDATCL, VVRMGTCL
are trashed, as is the VVRSBKUP datetimestamp, whose byte
location is now indeterminate with those invalid length
length fields. My old DSECT ends with VVRSBKUP, but this
record has nearly 200 bytes more data, with several new
TODSTAMP fields that should be new event variables, since
type 60s are frequently used to investigate security
issues about who has access, and who accessed, and when
did they access sensitive data on DASD volumes.
Oct 1, 2001 update to this change text:
I held this as the last change for 19.04, expecting IBM
would supply me with the VVR and NVR "DSECTS" so I could
see if something had been changed, and if so, how to
continue decoding the SMF type 60 records without error.
IBM's official reply to Merrill Consultant's request for
the DSECTS for the SMF type 60 record came from the IBM
DFSMS Vendor Activity manager:
"I've discussed this matter with the developer and since
the VVR and NVR contains proprietary information, we
cannot honour you request to acquire the DSECT for the
VVR and NVR records in the VVDS. Instead, please
contact IBM Service and be prepared to FTP the dump and
the SMF records for analysis. No promises are made as
to how we'll choose to resolve this issue."
Stay tuned for future updates to this bigger problem!
Feb 14: IBM DFSMS refuses to provide documentation of
either the Catalog or the VVDS records. One of the
above IBM errors was fixed by OW51353/OW50528 that
reports creation of defective VVR; it's a shame that
IBM would not let me have the documentation so I could
have detected the bad record and told you the APAR that
you need to correct IBM's error, but I've given up.
Thanks to Lawrence Jermyn, Fidelity, USA.
Thanks to Peter Krijer, National Bank of New Zealand, NEW ZEALAND.
Change 19.173 Invalid SMF type 42 subtype 6 (TYPE42DS) record caused
VMAC42 INPUT STATEMENT EXCEEDED error. OFFDSAM segment started
Sep 19, 2001 data byte 32697 but the record length of 32722 data bytes
left only 26 bytes for the 48-byte Access Method segment.
This change now protects for the short record, printing a
message that bad records were found and missing values
were set for the S42AMxxx variables.
Thanks to Linda S. Berkley, USPS, USA.
Change 19.172 Moving your EBDCIC SPIN library from an existing BUILDPDB
SPINSORT to run under ASCII versions of SAS will require a re-SORT
Sep 19, 2001 of the SPIN library after it has been XPORT/IMPORTed to
ASCII, or you will get SPINxxxx NOT SORTED errors.
This member has the PROC SORT and BY statements to resort
all of the SPIN datasets.
Thanks to Robert Battilana, Franklin Mint, USA.
Change 19.171 Misspelled variable CSRENTLE was corrected to CSRENTIN,
VMACRMFV and the dataset labels for ZRBCPU and ZRBENC were revised
Sep 14, 2001 in this almost-cosmetic change.
Thanks to ???, ???, ???
Change 19.170 -Dataset TPFFM variable FMIOTIM, unlike the SXxxxxxx wait
VMACTPF variables, should not have been divided by 4096.
Sep 14, 2001 -All accumulated counters in all TPF datasets are now
protected for wrapping (when they exceed their four byte
field max value) using this logic to correct the wrap:
IF . LT FVDATAn LT 0 THEN FVDATAn=FVDATAn+4294967296;
This change was not originally needed, because the TPF
monitor was only permitted to run for a few hours, so the
counters didn't wrap, but now that TPF SYSPROGs/Managers
are seeing how useful it to measure TPF, they permit the
monitor to run all day, and the counters now do wrap!
-In the TPFFV dataset (VFA Database Activity), variable
SLOTNR was replaced with new variable FVDATBAS that has
the Database Number, 1 if there is only one database,
sequentially more when there are more than one.
Thanks to Robert Wilcox, Sabre, USA.
Thanks to Jim Gilbert, Sabre, USA.
Change 19.169 The IBM field name DCVFRAGI should have been used as the
VMACDCOL variable name, but DCVFRAG1 is what I thought it was, but
Sep 10, 2001 now its too late to change the name without impact, so I
added a comment with the DCVFRAGI name for documentation.
Thanks to Moira Hunter, SchlumbergerSema, ENGLAND.
Change 19.168 Change 19.104 missed some SU_SEC variables that should
VMACTMV2 have been stored in 8 bytes now; variables SU_SEC in the
VMAC97 TMON/MVS data, variable THSU_SEC in TYPE97, and variables
VMAC30 RMSU_SEC and LOSU_SEC in some TYPE30xx are now changed.
Sep 10, 2001
Change 19.167 INVALID ARGUMENT TO FUNCTION INPUT caused messages and a
ASUMCACH hex dump on the log, and missing value in R7451RID that
Sep 9, 2001 are now corrected.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.166 The Soft Audit product's records now contain SYSTEM in
VMACSFTA the field location that previously contained STEPNAME.
Sep 9, 2001 New variable SYSTEM and old variable STEPNAME will now
contain the value of that field.
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 19.165 Revision; if APPEND=YES was specified and DDIN and DDOUT
VMXG2DTE are not the same, the output will reflect only the most
Sep 9, 2001 current day, and an error was generated.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.164 TMS Audit variables TMAUxxxx have been always missing,
TYPETMS5 the TMVAxxxx variables should never have been created,
VMACTMS5 and labels for some TMAUxxxx/TMVAxxxx variables had
Sep 9, 2001 LAST UPDATE when they should have been LAST AUDIT.
This change revises the creation of TMAUxxxx variables,
(which should be used in place of TMVAxxxx variables)
in your report programs (although the TMVAxxxx variables
are correct and still kept in TMS.TMS so reports work).
Note: The TMVAxxxx variables in your old TMS.TMS data
did have correct values with wrong label. TMVATIME,
for example, contains the Last Audit Date, but now you
should use the TMAUTIME variable instead of TMVATIME.
Thanks to Terry Duchow, United States Postal Service, USA.
Change 19.163 Variable JOBCLASS has always been unique, because it had
ADOC30 valid EBCDIC characters (A-Z,0-9) for real TYPETASK='JOB'
VMAC30 records, but non-printable hex characters ('00'x) for SMF
Sep 9, 2001 type 30 records from non-JOBs (TYPETASK=STC/TSU/OMVS...).
Before variable TYPETASK existed, I thought that keeping
those non-printable values might be useful, so JOBCLASS
used the $CHAR informat to preserve the hex value. But,
under ASCII execution, this causes all values of JOBCLASS
to be unprintable; MXG stores a hex 'C1'x in JOBCLASS for
class 'A', but ASCII requires hex '41'x to print an 'A'!
Then, when IBM added the 8-byte class name field SMF30CL8
years ago, MXG input it in JOBCLAS8 with $CHAR8, adding
logic to use it as JOBCLASS only when it was present:
IF JOBCLAS8 GT ' ' THEN JOBCLASS=JOBCLAS8;
But under ASCII, that test was always true when JOBCLAS8
was blank (EBCDIC '40'x), because that GT ' ' test is
IF '40'x GT '20'x , so JOBCLAS8 was always used, even
when the one-byte JOBCLASS had a non-printable hex value!
The fix: SMF30CL8 is now always present, and it does not
contain unprintable characters, so it is now INPUT into
the JOBCLASS variable (not JOBCLAS8), using $EBCDIC as
the Informat, and "IF JOBCLAS8 GT ' ' test was deleted.
What do you do with existing MXG datasets under ASCII?
I thought you could just use the $EBCDIC format in your
PROC PRINT to display the job class value, but that does
not work under either V6 or V8 under Windows:
DATA; X='C1'x; PUT X $EBCDIC1.;
prints a lower case "e" instead of an "A"
However, you can convert the actual data value in the
JOBCLASS variable in your TYPE30_5 or PDB.JOBS dataset
on your ASCII system, using this data step:
DATA JOBS;
SET PDB.JOBS;
JOBCLASS=INPUT(JOBCLASS,$EBCDIC8.);
The description of JOBCLASS in ADOC30 was updated.
Thanks to Paul Gillis, Pacific Systems Management Pty Ltd, AUSTRALIA.
Thanks to Robert Battilana, Franklin Mint, USA.
Change 19.162 JES3-only. Variable NETNAME, The JES3 DJC (Dependent JOB
BUIL3005 Control) Network ID, is now propagated into PDB.JOBS when
Sep 5, 2001 BUILDPD3 is used to create your JES3-PDB.
Thanks to Graham Cornwell, Donovan Data Systems, ENGLAND.
=Cruised from Nome, Alaska, south to St. Lawrence, St. Matthew, St.
=George in the Pribilofs to Chugulak, and thence west across all of the
=Aleutian Islands to Russia's Bering Island, Kamchatka Peninsula's
=Valley of the Geysers (pronounced "geezers" in Russian), and
=Petropavlovsk on the 340-foot Clipper Odyssey, with "birders" from the
=American Birding Association. Landings each morning via Zodiacs to see
=birds at sunrise, often second island landing in afternoon, phenomenal
=weather (while the Alaskan State wine is "When is this fog going to
=lift?", we had sun on every single day!). And evening lectures on the
=geology, flora and flauna! Saw over 100 bird species, including Steller
=Sea Eagles on their nest, 10 mammals (five whale species!), and bones
=of the extinct Steller Sea Cow. Fantastic naturalist experience,
=especially for this EE!
Change 19.161 MXG 19.03 only. Change DEBUG=1; to DEBUG=.; and those
VMACTNG "AFTER HEADERS _N_=" (harmless) notes won't be printed on
Aug 16, 2001 the SAS log.
Change 19.160 Support for type 42 subtypes 7 and 8 was revised; a six
VMAC42 byte filler is now skipped, the OFFCL calculation was
Aug 16, 2001 corrected, and S42FFN and SMF42CHN are now input variable
length, and converted and translated to be printable
under MVS or ASCII platforms.
Thanks to Richard Fortenberry, Mitsubshi Motor Sales of America, USA.
Change 19.159 While TYPEMBO tested just fine, the TYPSMBO member had
TYPEMBO a type _SDEMBO should be _SMBO, and the VMACMBO member's
VMACMBO definitions of _NMBO and _SMBO were obviously incorrect.
Aug 10, 2001
Thanks to David Bixler, FISERV, USA.
Change 19.158 Support for CISCO Works Blue ISM User SMF record creates
EXCISM01 twelve new datasets, one for each subtype:
EXCISM02 Dataset Description
EXCISM03 CISM01 CISCO ISM ROUTER/SWITCH CPU/MEM'
EXCISM04 CISM02 CISCO ISM CMCC(CIP) CPU/MEM'
EXCISM05 CISM03 CISCO ISM OSA CPU/MEM'
EXCISM06 CISM04 CISCO ISM TN3270 STATISTICS'
EXCISM07 CISM05 CISCO ISM INTERFACE PERF STATS'
EXCISM21 CISM06 CISCO ISM INTERFACE STATISTICS'
EXCISM31 CISM07 CISCO ISM PATH STATISTICS'
EXCISM41 CISM21 CISCO ISM REAL SERVER STATS'
EXCISM42 CISM31 CISCO ISM VIRTUAL SERVER STATS'
EXCISM66 CISM41 CISCO ISM FORWARDING AGENT STAT'
IMACCISM CISM42 CISCO ISM WILD CARD STATISTICS'
TYPECISM CISM66 CISCO ISM ISM EVENT LOG'
TYPSCISM This support is preliminary; only subtypes 01,05,06,66
VMACCISM are decoded and tested, and these issues have just been
VMXGINIT observed from the small data sample:
Aug 6, 2001 - The SYSTEM field in the CISCO SMF record is blank.
- There is an extra undocumented file at the end of
the '01' record, that looks like a percentage?
- Additional '06' fields are documented for FDDI, etc
that won't be decoded until they appear in data.
- The documentation shows 8 fields in the '06' record
after the "OE(" marker (UN,OE,CO,IR,RS,OBF,OBS,TR),
but there are only 7 data fields in the '06' record.
Thanks to Harvey Aviles, SSA, USA.
Change 19.157 The PDB.CICS dataset can be created by either ASUMCICS,
JCLPDB8 which always counts from CICSTRAN, or by ASUMCICX, which
JCLPDB6 will use PDB.ASUMUOW if it exists (i.e, if ASUMUOW was
Aug 6, 2001 both included and member IMACUOW updated to create obs in
PDB.ASUMUOW), but what is counted is quite different:
when PDB.CICS is built from CICSTRAN, it counts all CICS
transaction names separately, since each observation in
CICSTRAN is a separate "CICS" transaction, but if ASUMUOW
is built, it has summarized all of the CICS transactions
in one "Unit-of-Work" into one observation, with only the
"Real" transaction name of that UOW, and thus the counts
in PDB.CICS using ASUMCICX are counts of units-of-work,
not CICS transactions, and only the "Real" TRANNAME will
be in the PDB.CICS dataset built from ASUMCICX.
Thanks to Art Hunter, Penn Mutual Life Insurance Company, USA.
Change 19.156 -Using %VMXGRMFI(IMACWORK=NO) in your RMFINTRV member and
EXRMFINT defining fewer than the default workloads can cause many
VMXGRMFI notes NOTE: VARIABLE OTHnACTV IS UNITIALIZED one set for
Aug 6, 2001 each workload you didn't use, and all of those UNINIT
variables listed are actually created in PDB.RMFINTRV.
The problem was caused by the default LABEL statement in
EXRMFINT, which was there to support the earlier design
in which you defined the workloads in IMACWORK and their
labels in EXRMFINT. With the revised VMXGINIT design,
the labels in EXRMFINT are not needed in my default code,
and are now commented out, as an example if you are still
using IMACWORK=YES and want to change labels.
-MXG 19.03 only. Change 19.105 causes errors if %VMXGRMFI
arguments end with slash before the comma (mis-matched
DO;-END; pair). This change makes the final slash
optional.
Thanks to Nancy R. Brizuela, University of Wyoming, USA.
Change 19.155 Dataset CTLGVSAM, created by reading an exported Catalog,
VMACCTLG had unique variables missing because macros were spelled
Aug 6, 2001 wrong. Folowing _WCTLGVS /* CTLGVSAM */, the statement
after the label should have been _VCTLGVS _KCTLGVS to
match the CTLGVS (was mistyped as _VCTLGDS _KCTLGDS).
Thanks to Barry McQueen, Department of Defense, AUSTRALIA.
Change 19.154 IHDRxxxx exit members exist for each "INFILE" that MXG
IMACFILE reads from, and are taken after the record header or
IHDR110 sub-header, has been INPUT. They exist so that you can
IHDR110S use ID, SUBTYPE, SYSTEM, APPLID, SMFTIME, etc., in these
IHDRCIMS exits to control whether or not MXG creates observations,
IHDRDCOL primarily for ad hoc runs when you want to output just a
IHDREAGL little bit of the input. For example, IHDR110S for CICS
IHDRNTSM Statistics Segments lets you select by STID value to only
IHDRTMDB output to specific a CICxxxxx statistics dataset, and not
IHDRTMO2 waste temporary disk space with unwanted statistics.
IHDRTMV2 These IHDRxxxx members are not new, but this change adds
IHDRTPF a macro variable to each, so that you can alternatively
IHDRVMXA tailor these headers "instream", using this syntax:
IHDRTMDC %LET MACxxxx= %QUOTE( your code );
IHDRIMS instead of having to EDIT/SAVE of the IHDRxxxx member.
IHDRTIMS The IHDR members and their new MACxxxx macro variables:
Aug 2, 2001
IHDRxxxx Macro
Member Name Data Source
IMACFILE MACFILE SMF Record Header, ID, SUBTYPE, etc.
IHDR110 MAC110H CICS 110 Sub-Header, APPLID, etc.
IHDR110S MAC110S CICS 110 Statistics Sub-Sub, STID.
IHDRCIMS MACCIMH IMF/CIMS Record Header
IHDRDCOL MACDCOH DCOLLECT Record Header
IHDREAGL MACEAGH Eagle Header
IHDRNTSM MACNTSH NTSMF Record Header
IHDRTMDB MACTMDH TMON/DB2 Record Header
IHDRTMO2 MACTMOH TMON/CICS Record Header
IHDRTMV2 MACTMVH TMON/MVS Record Header
IHDRTPF MACTPFH TPF Record Header
IHDRVMXA MACVMXH VM/ESA, z/VM Record Header
IHDRTMDC MACTMCH TMON/DBCTL Record Header
IHDRIMS MACIMSH IMS Log Record Header
IHDRTIMS MACTIMH TMON/IMS Record Header
The MACFILE macro has existed for some time; IMACFILE was
the original name for the SMF File Header, but now all
new INFILE exit member names start with IHDR.
Thanks to MP Welch, SPRINT, USA.
Change 19.153 -NTSMF Process object record with NRDATA=27 is supported.
VMACNTSM -Records from Win2000 Servers with older NTSMF versions
Aug 1, 2001 for Indexing Service, Indexing Service Filters, and Site
Aug 3, 2001 Server Authentication Srevice had an unexpected instance
field, which is now expected, but not kept, as there is
no instance field with the current NTSMF version.
Thanks to Jim Quigley, ConEd, USA.
Change 19.152 Variable NCL, Net Capacity Load, the back-end space used
VMACICE is now created in ICEBRGSY and ICEBRGUT dataset (but the
Jul 31, 2001 ICEBRGUT records are generated only if you run a REPORT
SPACEUTILIZATION, daily, and have turned on subtype 7 in
SVAA or IXFP in SYS1.PARMLIB(SMFPARM), so using ICEBRGSY
which is always present is recommended).
Thanks to Rob Gibson, Centrelink, AUSTRALIA.
======Changes thru 19.151 were in MXG 19.03 dated Jul 30, 2001======
Change 19.151 If you use TEMP01/TEMP02/TEMP03 in a VMXGSUM invocation,
VGETENG a non-impacting Warning 413 may result, if those DDs were
VMXGSUM on tape devices that had not been opened. Our open to
Jul 27, 2001 determine the device type of your (optional) TEMPnn DD
Jul 30, 2001 caused the warning when the tape had not been opened.
Those TEMPxx parms were primarily needed before SAS V8
provided good multi-volume support, and are less needed
now, but as sequential format datasets on disk, they can
be striped and hardware compressed, and for VMXGSUM runs
with large volumes of data, they are still very useful.
This change eliminates the 413 warning by first looking
to see if the TEMPnn libname is already open, in which
case we will use its current engine, and if the TEMPnn DD
is not open, we will force the Sequential Engine for you,
and avoid the open that caused the warning. The TEMPnn
options are not used in any MXG VMXGSUM invocations.
Jul 30: Added GLOBAL to VMXGSUM and VIEW MXGENG.
Thanks to Mike Hoey, Ameren, USA.
Change 19.150 Example of TREND summarization for the ASUMCEC dataset,
TRNDCEC similar to TRND70PR trending of ASUM70PR for LPAR/MDF,
Jul 26, 2001 but TRENDCEC is a the hardware CEC/CPC level.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 19.149 First 19.03 only. TNG support still had incorrect values
VMACTNG for STARTIME for some PLATFORMS, now corrected on all.
Jul 26, 2001
======Changes thru 19.148 were in MXG 19.03 dated Jul 26, 2001======
Change 19.148 Support for NTSMF V 2.4.2.11 and Windows 2000 changes to
VMACNTSM the SYSTEM and PROCESS objects, including new variables
Jul 26, 2001 for I/O activity at the process level:
Jul 27, 2001 IORDOPRT='IO READ OPERATIONS/SEC'
IOWROPRT='IO WRITE OPERATIONS/SEC'
IODTOPRT='IO DATA OPERATIONS/SEC'
IOOTOPRT='IO OTHER OPERATIONS/SEC'
IORDBYRT='IO READ BYTES/SEC'
IOWRBYRT='IO WRITE BYTES/SEC'
IODABYRT='IO DATA BYTES/SEC'
IOOTBYRT='IO OTHER BYTES/SEC'
READYTHR='READY*THREADS'
Revisions to PROCESS and UNTDISC made Jul 27, 2001.
Thanks to Jim Quigley, ConEd, USA.
Change 19.147 Invalid type 42 subtype 5 record caused INPUT STATEMENT
VMAC42 EXCEEDED RECORD LENGTH and/or DIVISION BY ZERO. This
Jul 26, 2001 record was overlaid after 20,500 bytes, with a dataset
name appearing where there should be no data set name!
Segments thru VOLSER DX0004 (starting at byte 20249) were
valid, but the segment for VOLSER DX0003 (at byte 20409)
contains offsets of S42VTVDO=7 and S42VTVXO=1, when those
offsets must be greater than the current column, or zero,
and subsequent fields are clearly invalid. A heuristic
circumvention based on those observed values will detect
and delete these bad records, while the site contacts IBM
for a correction to their invalid SMF 42-5 record created
by DFSMS 2.1
Thanks to M.J.H. Elbersen, RABOBANK, NL.
Change 19.146 -TNG records with (*) in their object name, such as the NT
FORMATS object "NWLINK IPS(*)(G)" saw the (*) and set TEXT='*'
VMACTNG instead of the expected TEXT='G', causing LENTEXT to be
Jul 25, 2001 missing instead of 16, and deleting that record with an
Jul 27, 2001 MXG note. Now, the scan knows to skip (*) when looking
for the (X) length field.
-Existing Format MGALFA only decoded single base-36 values
for TNG field lengths (1)=1, (A)=10, (Z)=35, but now two
position base-36 characters, (12)=38 are supported when
that value was found for an object length. Values to
(1Z)=71 are now decoded by MGALFA:
-The related tests LENTEXT LE 36 were revised to LE 35,
and a separate test for 36 LE LENTEXT LE 40 was added
due to (10)=36 taking one more position than (Z)=35.
-The revised MGALFA format should not have been used in
pre-9907 logic; the old format that stopped at (Z) did
not have values for (11), etc, so an old (12) was seen
as length 12, but the revised format now has (12)=38,
so even though nobody probably still is using the old
TNG format, I fixed it so my QA run with old and new
data still works.
-STARTIME was correct for the first group of records, but
it grew well into the future because it was not reset to
ORIGTIME at the start of each object's counter's input.
-STARTIME was still wrong in the first day's MXG 19.03,
but was corrected in VMACTNG internally dated Jul 27.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 19.145 Support for the Volume sections of type 42 subtype 11 XRC
EXTY42XV (Extended Remote Copy Session statistics) now create new
IMAC42 dataset TYPE42XV to track the read/write/update activity
VMAC42 at the VOLSER level. In addition, all duplicates were
VMXGINIT not being removed in TYPE42S2, but adding SMF42FBG (Cache
Jul 20, 2001 Structure Name) to MACRO _BTY42S2 removed all duplicates.
However, multiple observations from the same subtype 6
SMF record exist in TYPE42DS that were also not removed
by the NODUP sort. These multiples have different I/O
counts, but otherwise are identical, except that their
location in the record (S42JDDSO) is different, so it was
added to MACRO _BTY42DS to remove the duplicates if dupe
SMF records are read, but the two otherwise observations
from the same record will now have different S42JDDSO
values. If you discover why there are these multiples,
let me know and I'll update this text.
OBSERVATION COUNT CHANGE: TYPE42DS fewer obs.
Thanks to Mike Delaney, Pershing, USA.
Change 19.144 RMF Partition data report was updated to report on the
ANALRMFR communication devices. To get full comm reports using the
Jul 20, 2001 DEVICEC=40 parameter for commmunications, add 41 to get
the CTC adapters included.
Thanks to Joseph Rannazzisi, Salomon Smith Barney, USA.
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 19.143 Candle did NOT correct the unsupported '20'x (instead of
VMACNAF the expected '01'x) value for the century "bit" in their
Jul 21, 2001 internal time stamps; they ONLY corrected the date part
in the SMF header field. The circumventions of Changes
18.025 and 15.211 were replaced with directly forcing the
century bit into their fields and then using an INPUT
function to convert the modified character field. This
circumvention may fail at the end of this century.
Thanks to Joe Faska, Depository Trust, USA.
Change 19.142 MXG 19.02 only. The SPIN logic did not keep SPINCNT, so
VMXGUOW the SPINUOW dataset continued to grow, as there are many
Jul 20, 2001 CICS transactions whose end we don't see until the region
is terminated, and the SPIN logic depends on SPINCNT to
recognize and output those type of events into ASUMUOW.
This error was not caught in our testing because of an
incorrect IMACUOW member in our tailoring library. Sorry!
This change won't be seen until the second day's run.
Thanks to Alan Lankin, Towers Perrin, USA.
Change 19.141 The new type 74 subtype 7 FICON Director record has a new
VMAC74 option in ERBRMFxx of FCD/NOFCD that causes creation of
Jul 18, 2001 that subtype.
Change 19.140 The SASGRAPH argument was not UPCASE'd, causing test to
ANALCNCR fail if you typed your SASGRAPH=yes in lower case.
Jul 18, 2001
Thanks to Ian Davies, Independent Consultant, CANADA.
=Attended the superb SAS 25th Anniversary Party in Raleigh, NC, with
=7,200 SAS employees and families, with two bands popular in 1976:
= The Village People and KC and the Sunshine Band!
Change 19.139 An SMF 116 with invalid QWHS segment length of 108 bytes
VMAC116 (110 is expected) caused INPUT EXCEEDED STOPOVER error.
Jul 13, 2001 The QWHS segment it self was trashed, with invalid data
values for CAID, CCV, CCN, and XTYP, and the 22-byte
accounting segment was only 20 bytes. This change only
detects the short segment and prints an error message on
the SAS log. This note will be updated if an APAR is
found/developed to correct the IBM error in the record.
Thanks to Mat Elbersen, RABOBANK, THE NETHERLANDS.
Thanks to Ian Davies, Independent Consultant, CANADA.
Change 19.138 Local variables ENTEJECT caused a warning because it did
GRAFTAPE not exist, and was not referenced in sample reports, so
Jul 13, 2001 it was removed from the member.
Thanks to Ian Davies, Independent Consultant, CANADA.
Change 19.137 IMF Program record's variable FLGUESQL was incorrectly
VMACCIMS input @79 when that field is located @80. It and a few
Jul 13, 2001 other flag variables were also formatted $HEX2.
Thanks to Sergio Fastella, ALITALIA, ITALY.
Change 19.136 -TPF datetimestamp variables are written in GMT zone, but
VMACTPF MXG now converts them all to your local time of day, by
VMXGTPFI using the DB/DE records, which are written first in each
Jul 11, 2001 file, containing the GMT datetime and a local time and
Jul 12, 2001 local date (but its '01JUL' with no year, so conversion
from GMT to local has special logic to deal with JAN01
and DEC31 data to set the local year correctly!
-Variable SHIFT is now created in all datasets that have
STARTIME, that is, all interval datasets. Your IMACSHFT
definitions are used with STARTIME to set the shift of
each observation.
Change 19.135 MXG 19.01 and 19.02, IMS Log processing. Change 19.061
ASMIMSL5 was incorrect, causing invalid time stamp values. The
ASMIMSL6 asterisk in column one that was added by that change:
Jul 11, 2001 * BO DROPMAP NONRECOV Change 19.061
is removed by this change so the statement now reads:
BO DROPMAP NONRECOV Change 19.135
Thanks to Rita Bertolo, Canadian Pacific Railway, CANADA.
Change 19.134 Documentation only. When I/O delay is NOT included in
VMAC7072 velocity in your WLM, MXG's calculated VELOCIOD variable
Jul 9, 2001 estimates what the velocity would be if I/O delays, in
R723CIOD/PCTDLIOD, and WLM-managed batch initiator delay,
in R723CTDQ/PCTDLTDQ, were both included. Both impacts
are in the one VELOCIOD variable, because I didn't think
more velocity estimate variables were needed for the now
several possible combinations, and because you could
always use the EXTY72GO exit to recalculate your own
estimate if really needed.
My VELOCIOD won't match either of RMF report's values in
I/O PRTY or INIT MGMT; IBM calculations assume only the
one impact, and also say that if R723VELI is not on, that
both I/O useage and I/O delay are not included!
When I/O delay and/or Init delay are enabled in your WLM,
i.e., when R723VELI='Y', there is no discrepancy, because
VELOCITY and VELOCIOD are equal and correct.
Thanks to Steve Dyck, CDS, USA.
Change 19.133 Some JCL Examples for Assembly and LinkEdit of programs
DOC written in IBM ASM still had PGM=IEV90 and PGM=IEWL for
Jul 3, 2001 the Assembler and Link Editor, but Carl, an ASM Guru at
SAS, pointed out that the more likely names in use in
this millennium would be PGM=ASMA90 and PGM=HEWL.
Thanks to Carl Meredith, SAS Institute, USA.
Change 19.132 Support for both VM/ESA V2.4 and z/VM V3.1. The V2.4
VMACVMXA changes were added first, then the 3.1 LIST1403 was used
Jun 30, 2001 to update those changes, which are listed separately in
this change text.
Some of the new numeric variables may be accumulated and
will need to be DIF'd, so you should verify their values
before using!
These new variables were added in the Jun 30 change:
Dataset New Variables
SYTSYP: PLSDGUCT PLSXITCT
SYTPRP: PFXSPINT PFXSPINC
SYTRSG: TCMMIDSZ TCMMAIN TCMMNMIN TCMMNMAX TCMMNDL TCMSTLMN
SYSSCMAV
SYTSCG: SRMTOTST SRMWSSDL SRMWSSD1 SRMWSSD2 SRMWSSD3 SRMLLCNT
SRMCONLL SRMATOD SRMATOD2 SRMWTCPU CALSLKCT CALSLKTM
SYTUWT: CALLLIST
SYTXSG: TCMXIDSZ TCMXSMIN TCMSTLXS TCMAVGAG HCPSTPXB
MTRSYS: CALADMF VRFSG SYSTEM SYSCKVOL SYSWMVOL
MTRPRP: PFXTYPE CALUDED
MTRDEV: CALTHROT RDCRCUC RDCOBRCO RDEVSER THRDLYS THRIORTE
MTRUSR: VMDBYVAL VMDMXSHR
MTRSCH: SRMXPCTG
STOSHR: ASCCTXBK
USEACT: IUCTOTCN IUCMXCN VMDMXSHA VMDLIMTH VMDTHRCT
USEINT: HFLLIST HFPGACT VMDSLCNT
PRCPRP: CALUDED PFXTYPE HFUSERM
IODDEV: THRDLYS SCMCQTIM
IODCAD: CALSSS2
Thanks to Pat Curren, SuperValu Inc, USA.
Change 19.131 Validation of SOL260S TNG data found several minor errors
VMACTNG that have been corrected and MXG's values now matches the
Jun 29, 2001 Excel spreadsheet created by TNG.
Thanks to Bill Shanks, SEMA, ENGLAND.
Thanks to Paul Hargreaves, SEMA, ENGLAND,
Change 19.130 IBM has redefined type 103 variable TIMEWRIT as the time
VMAC103 since the last SMF write, now called SMFRecordingInterval
Jun 29, 2001 in IBM documentation, so it's label was clarified.
Thanks to Dave Cogar, Computer Associates, USA.
Change 19.129 Using UTILBLDP with BUILDPDB=NO option printed warning:
UTILBLDP APPARENT SYMBOLIC REFERENCD IDFLAG NOT RESOLVED
Jun 29, 2001 because IDFLAG was not initialized in that loop. Insert
%LET IDFLAG=NO;
after the existing %LET DE2FLAG=NO; in that loop.
Thanks to Ian Davies, Independent Consultant, CANADA.
Change 19.128 Running MXG under unix hit another lower case problem:
VMXGINIT ERROR: File does not exist /mxg/sourclib/AAAAAAAA.SAS
Jun 28, 2001 Under unix SAS, %INCLUDE SOURCLIB(MEMBER) looks for file
INSTALL "member.sas", while INFILE SOURCLIB(MEMBER) looks for
Feb 4, 2003 "member.dat", both in lower case only, so all MXG source
files must be lower cased on unix. It turns out that
when the MEMBER name has no extension, unix SAS looks
only for lower case file name, but if ANY extension name
is used (MEMBER.EXT), SAS instead looks for a file name
in the case of the source code, and the MXG statement
that was added that caused the error is in upper case:
INFILE SOURCLIB(AAAAAAAA.SAS)
One earlier fix (actually, one still discussed in INSTALL
member's instructions until Feb, 2003!) was to uppercase
the source file to AAAAAAAA.SAS, because that is the only
file in MXG that is read with an INFILE syntax. Or, you
could have lowercased the VMXGINIT member, or I might be
able to modify the MXG install process for unix to UPCASE
that one file.
But instead, the %LOWCASE macro function was inserted in
the INFILE statement for ASCII (i.e. unix/linux/WINDOWS):
INFILE SOURCLIB(%LOWCASE(AAAAAAAA.SAS))
which will cause unix to look for aaaaaaaa.sas, and you
don't have to change anything to run MXG under unix.
This also works under Windows because file names there
are not case sensitive.
Note: Don't try this under EBCDIC systems; using MVS
syntax of INFILE SOURCLIB(%LOWCASE(AAAAAAAA));
fails with a JFCB error, because MVS still can't
handle lower case DDnames.
Feb 4, 2004: The INSTALL member was revised, telling
you to leave the aaaaaaaa.sas filename in lower case.
Thanks to Chris Weston, SAS ITSV Development, USA.
Thanks to Mark Rothschild, Caremark, USA.
Change 19.127 An obscure exposure in VMXGSUM is corrected; if you had
VMXGSUM both INTERVAL= and NORMn= arguments, some variables could
Jun 28, 2001 be missing in the output dataset. None of the MXG uses
of VMXGSUM had both, but the ASUMCACH enhancement added
the INTERVAL= to an existing NORM1= argument, uncovering
the error. Correction was to relocate a code segment.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.126 DFHSM 1.4 via PTF and standard in DFHSM 1.5 and later,
VMXGHSM two new variables for stacked volumes (field sequence
Jun 28, 2001 number DGNFLSEQ, file block ID DGNFBID) were added to the
DGN dataset. A reserved area was used for the two new
fields, so the IBM change is COMPATIBLE.
Thanks to Wanda Prather, Johns Hopkins Applied Physics Lab, USA
Change 19.125 Support for TPF releases PUT08, PUT10, and PUT12, which
VMACTPF inserted data fields incompatibly in several records.
VMXGTPFI The major changes were internal, to add the many new
Jun 27, 2001 variables for the 9th thru 16th Instruction Streams into
Jun 29, 2001 TPFSX dataset, and two new variables in dataset TPFDX.
Jul 10, 2001 Variable SXTWCSPR was dropped from TPFSX dataset and the
VMXGTPFI was revised to not reference that variable.
Internal mapping formats for TPFDR & TPFDH now use CPUID
so that TPF data from multiple systems can be processed
by concatenation of the input files. New variable SYSTEM
is created in dataset TPFINTRV; you must update the table
in your member IMACTPF to map which CPUIDs are in which
system to populate variable SYSTEM. There still is one
observation per CPUID per interval in TPFINTRV dataset,
but if you update that table, variable SYSTEM will exist
so that you can use it in subsequent summarization.
Jul 10: Added ZDATE to TPFINTRV.
Obs with FFCCHHR='00'X are now OUTPUT in TPFFF;
they are Virtual File Access and should not have
been deleted.
Several misspellings of 9-G variables corrected.
Thanks to Robert Wilcox, Sabre, USA.
Thanks to Jim Gilbert, Sabre, USA.
Change 19.124 -Adding the processing of SOLVE SMF to BUILDPDB caused
VMACLDMS WARNING: VARIABLE YYYY HAS ALREADY BEEN DEFINED AS NUM...
VMACMDF Change temporary variable YYYY to YYYYCH in two places to
VMACSOLV eliminate the conflict and the warning message.
Jun 28, 2001 -Changed CONDCODE to CONDCODH in VMACLDMS, to avoid a
conflict, and because it is the Highest CondCode value.
-Changed temp variable DOMFLAGn to DOMDFLGn in VMACMDF.
-This change was precipiated by the VMACSOLV error, but
the MXG QA stream should have caught this conflict of
variable types, because ANALCOMP is now run to compile
simultaneously all SMF-reading MXG programs to find any
such conflicts. Why were all three not caught then? In
fact, this error was caught by the April 5 QA run, but it
took this error to remind me to use that enhancement to
make these corrections!
Thanks to John Temme, Department of Defence, AUSTRALIA.
Change 19.123 Enhancement to ASUMCACH, for DASD Cache and DASD I/O.
ASUMCACH Variables that identify the control unit are added using
Jun 28, 2001 a PROC FORMAT as a table lookup. Summarization is now
forced to QTRHOUR level (so that if there are multiple
systems where the TYPE74 and TYPE74CA dataset times are
not exactly aligned, we will now always put the data
together. And additional variables are created to allow
better downstream reporting capabilities. The SORT order
of the output is now SYSPLEX STARTIME DEVNR VOLSER, so
you can examine the data by SYSPLEX.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.122 Documentation of an example use of the EXPDBSPN exit.
EXPDBSPN The site had used IEFACTRT exit to put account info for
Jun 26, 2001 STCs in type 30_4 and 30_5 SMF records in PGMRNAME, but
BUILDPDB keeps PGMRNAME only from TYPE26 and TYPE30_1,
and their exit was after the type 30-1 was created.
Adding variable PGMRNAME to the Keep list for 30_5 did
now work, because the MXG MERGE statement has TYPE30_5
first, and then TYPE30_1 (as required by BUILD005 logic),
causing the blank value in TYPE30_1 for these STCs to
overwrite the non-blank PGMRNAME in TYPE30_5. For this
site's specific SMF modifications, the solution was to
use the EXPDBSPN exit, which is taken just before the
"Big Merge" (see member DOCPDB for more details than you
probably want to read), and in their exit code, add the
PGMRNAME from their TYPE30_5 dataset into the TYPE30_1
dataset, and then the "Big Merge" logic works just fine.
This example is the code they inserted into EXPDBSPN:
DATA TEMP30_5 (KEEP=READTIME JOB JESNR PGMRNAME);
SET TYPE30_5;
DATA TYPE30_1;
MERGE TYPE30_1 (IN=IN1) TEMP30_5 (IN=IN5);
BY READTIME JOB JESNR;
IF IN1 THEN OUTPUT;
and they also had to insert:
%LET ADD30U5=PGMRNAME;
before their %INCLUDE SOURCLIB(BUILDPDB); statement, to
add the variable PGMRNAME to be kept in TYPE30_5 inside
the BUILDPDB logic.
Thanks to Duncan Walker, Experian Limited, ENGLAND.
Change 19.121 The macros did not UPCASE the DDNAME, so it returned an
VGETENG incorrect value if you used lower case DDNAME in the MXG
VGETOBS macro invocation.
VMXGENG
Jun 26, 2001
Change 19.120 IBM APAR OW49536 documents new bit which is now variable
VMAC7072 LCPUVARY='Y' in dataset TYPE70PR if this LPAR was varied
Jun 26, 2001 online during this interval.
Change 19.119 New VMXGSUM option OUTVIEW=YES (default is OUTVIEW=NO)
VMXGSUM will cause VMXGSUM's output dataset to be a VIEW instead
Jun 25, 2001 of a dataset. We will use this internally so MXG will
be faster & cheaper when we can pass the output from one
VMXGSUM execution into another data step (or VMXGSUM!).
Note that if you use OUTVIEW=NO, the View will have the
same name as the OUTDATA= that you specified, but, since
it is a VIEW, that dataset will NOT exist when VMXGSUM
finishes, and if you do not reference the VIEW after it
is created, it will not physically exist as a dataset.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.118 Test for &SASVER EQ 6 was changed to &SASVER GE 6, but
ANALDB2R luckily, running under Version 8 produced the correct
Jun 25, 2001 reports. The test will bypass a data step when under SAS
V6+ (by using the INHERIT option), but executing the data
step under V8 still worked correctly.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.117 IMS Log processing with TYPEIMS7 (resources, no response)
TYPEIMS7 warning messages *** LCODE 35X NOT OUTPUT for ENQFLG=0C
VMACIMS and FLAG2=40x or 60x are now output to IMS35O dataset.
Jun 23, 2001 The warnings had no impact on the IMS0708 dataset that is
create by the TYPEIMS7 program, since only 07 and 08 log
records are used in IMS0708.
In addition, the MXG logic to set NMSGPROC=1 for 08-only
matches caused the total NMSGPROC in IMS0708 to be more
that the true NMSGPROC in the 07 reocrds, so NMSGPROC=0
is now set for the 08-only matches in TYPEIMS7.
And IMSQBLDN is now a positive number; it was initialized
to -34, but that RETAIN statement was corrected.
Thanks to Rita Bertolo, Canadian Pacific Railway, CANADA.
Change 19.116 New %MACROS allow you to read many PDB libraries for one
VGETDDS MXG dataset (SET WEEK1.JOBS WEEK2.JOBS WEEK3.JOBS), and
VMXGSET only those DDnames that are found will be used! You can
VMXGINIT control, by the DDNAMES (or LIBNAMES) in your JCL, which
Jun 22, 2001 PDB libraries will be read, but you do have to change the
SET statement in your SAS program! Two %MACROS are used:
-%VGETDDS - "Get" ddnames:
%VGETDDS(DDNAMES=WEEK: PDB: ALLWEEK);
You tell VGETDDS the DDnamePrefixes and specific DDnames
that you want to use. That example will find all DDnames
starting with WEEKn, PDBn, and the DDnames MON TUE WED
THU FRI SAT SUN that are SAS data libraries, and only
those DDnames will then be read by the second macro.
-%VMXGSET - Use in place of your SET statement:
DATA COMBINE.JOBS;
%VMXGSET(DATASET=JOBS,DEFER=YES);
RUN;
You tell VMXGSET what MXG dataset (aka table) you want to
read, and if any of your datasets are on tape media, you
can specify DEFER=YES (SAS V8+ only) and the OPEN=DEFER
option will be on the SET statement that we construct,
causing each individual dataset in the SET statement to
be opened, read, and closed, left to right, so you use
UNIT=AFF in your JCL, and need only one tape drive to
read all of your datasets!
The only caution with DEFER=YES is that it cannot be
used if there is a BY statement with %VMXGSET, because
a BY statement opens all datasets in a SET statement.
So to read five PDB libraries, PDB1-PDB5, you would have
// EXEC MXGSASV9
//PDB1 DD DSN=YOUR.PDB(0),DISP=SHR
//PDB2 DD DSN=YOUR.PDB(-1),DISP=SHR
//PDB3 DD DSN=YOUR.PDB(-2),DISP=SHR
//PDB4 DD DSN=YOUR.PDB(-3),DISP=SHR
//PDB5 DD DSN=YOUR.PDB(-4),DISP=SHR
//COMBINE DD DSN=YOUR.OUTPUT.PDB,DISP=(,CATLG)....
//SYSIN DD *
%VGETDDS(DDNAMES=PDB:);
DATA COMBINE.JOBS;
%VMXGSET(DATASET=JOBS);
... rest of your subsetting logic ...
More details.
You would execute %VGETDDS(DDNAMES=....); once to build
the DDnames, and then execute a DATA step that executes
%VMXGSET(DATASET=....) for each data set to be read.
(While not likely, you can also execute %VGETDDS multiple
times).
Special values exist for %VGETDDS's DDNAMES= argument:
CCCCCCCC - 1-8 char, specific DDname (all characters)
CCCCCCnn - 1-7 char, final 1-2 numeric - scan CCCCCC1,
CCCCCC2 .. until an CCCCCCn+1 is not found
use CCCCCC1 to CCCCCCn DDnames
ALLWEEK - SUN MON TUE WED THU FRI SAT DDnames
Note: If there is more than one tape dataset, and you
use OPEN=DEFER and UNIT=AFF so that only one tape
drive is needed, there will be two mounts of each
tape dataset's first volume: one to recognize it
is a PDB, and, because UNIT=AFF will dismount the
first to recognize the second, there will be the
re-mount of the first dataset when the read
begins. Of course if your tapes are in a VTS,
there is no actual second physical mount, but you
will see both of the mounts on the SYSLOG.
Currently, an arbitrary limit of 99 DDs can be used in
the ultimate SET statement that results.
Even though references are mostly to MVS DDnames, the
new macros work also work on ASCII SAS platforms.
-VMXGINIT was updated to GLOBAL the VGETDDS name.
-HOWEVER: PRIOR TO 2005, there was a serious problem
in that some LIBNAMEs could have been missed by VGETDSN,
but only if the Data Library were controlled by HSM, and
only if you were missing an IBM Patch. That should not
now be a problem, but you can read the full details in
the text of (old) MXG Change 23.244. (Updated 2009).
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Rick Langston, SAS Institute, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA
Change 19.115 You can disregard these confusing SAS NOTES:
None NOTE: DATA STEP VIEW SAVED ON FILE WORK.MXGSUM1.
Jun 21, 2001 THE ORIGINAL SOURCE STATEMENTS CANNOT BE RETRIEVED FROM
A STORED DATA STEP VIEW NOR WILL A STORED DATA STEP VIEW
RUN UNDER A DIFFERENT RELEASE OF THE SAS SYSTEM OR UNDER
A DIFFERENT OPERATING SYSTEM.
PLEASE BE SURE TO SAVE THE SOURCE STATEMENTS FOR THIS
DATA STEP VIEW.
These notes are because MXG now uses VIEWs where possible
to eliminate I/Os, but the "source" is already in your
MXG Source library, so there is nothing to save or do.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 19.114 RMF type 74 subtype 5 (Cache Subsystem) "broken" records
VMAC74 cause the same "INPUT STATEMENT EXCEEDED" error that was
Jun 21, 2001 seen with subtype 4. See the extensive discussion in the
text of Change 17.398. IBM RMF Development has agreed to
create only 'self-contained' records (and they may well
have done so, as this particular RMF record was written
by SP5.1), but this change replaced the statement:
IF SMF745XN GT 0 THEN DO;
with this replacement statement:
IF NDVCNT LE SMF745XN THEN DO;
so that MXG will only look for Extension sections when
they exist in the first "broken" record.
In this instance, the first record had 254 Device Data
Sections, but only 11 Device Data Extension Sections
(i.e., for the first 11 devices). A second SMF record
contains the remaining 243 Extension Sections, but there
is no Device Section with which to match them, so they
are never input. This change prevents MXG from INPUTing
a non-existent extension section, but that will cause
all of these variables to have missing values in TYPE74CA
when a broken record is processed:
R745XDVN /*DEVICE*NUMBER*- SAME AS DEVN */
RSV /*R745XRSV*LOWER*IO*MILLISEC*/
DCTC /*XCTC*DEV CACHE TRKS CONFIGED*/
DCTR /*XCTR*DEV CACHE TRKS REMOVED */
DVRD /*XVRD*DEV READS*BY CU*/
DVRH /*XVRH*DEV READ HITS*BY CU*/
DVWR /*XVWR*DEV WRITES*BY CU*/
DVWH /*XVWH*DEV WRITE HITS*BY CU*/
TSRR /*XSRR*TRKS*STAGED*FOR RAID RE*/
SFRD /*XFRD*TRKS*READ*FROM SIDEFILE*/
CWCC /*XWCC*CONCUR*COPY*CONTAM*WRIT*/
PPRC /*XPRC*PPRC*WRITE*COUNT*/
The MXG change now also protects the LN/RN/1N/VN INPUTs
in case those segments are in a second record.
Thanks to MXG/ITSV Technician, Promise Co. LTD, JAPAN.
Change 19.113 Several examples were revised; some caused errors and the
NEWUSER others were updated to be clearer.
Jun 20, 2001
Thanks to Lary Nova, COMSI, USA.
Change 19.112 PDB.CICINTRV dataset can contain negative minimum values
VMXGCICI or missing values, when there are no INT (Interval) CICS
Jun 20, 2001 statistics records, i.e., when there are only 'EOD' data.
First, if there are no 'INT' records, and you request the
default INTERVAL=HALF-HOUR for PDB.CICINTRV, you will get
unexpected results - I can't create intervals where there
are not, so you must request INTERVAL=EOD in CICINTRV.
But even if you specified INTERVAL=EOD, there was still
an error in the logic in VMXGCICI, because in each of the
processing code for these datasets ('suffixes'):
DL1 DL3 DBU PGG IRC DMR FEP FEC FET JCR LDR LS1 LS3
SDR SMD SMT TC1 TDR XMC USG XMG XMR
a statement IF FIRST.APPLID THEN DELETE; existed that
could cause those datasets to be not included in the
PDB.CICINTRV (so their variables would be missing).
This change removed that code from VMXGCICI.
Additional internal documentation note:
These yyy's did not have the DELETE statement:
TC TSR DMG VT AUT LDG DTB TCR DQR DQG TSQ
DS ST FCR M TDG SDG SMS AUS CO1 CO3 CON,
These yyy's are not currently used in VMXGCICI:
CSF6/7/8/9, D2G,D2R,LGR,LSG,NCS4,NCS4,NQG,
SOR,XQS1/2/3.
Thanks to Sally Weber, Washington Mutual, USA.
Change 19.111 Support for DFSMS/RMM data in MXG is confusing, because
VMACEDGR IBM has similar data in different formats that can be
VMACEDGS written to SMF or dumped with IBM's EDGHSKP utility in
Jun 20, 2001 two different formats. This is documentation only.
1. MXG's "EDGSxxxx" processing:
RMM can create two SMF records with different SMF IDs,
so MXG has two separate macros to define the SMF record
numbers your installation told rmm to use:
_IDEDGSU for the "Security" record, one subtype,
populates dataset EDGSSECU if found,
_IDEDGSA for the "Audit" record, many "subtypes":
EDGATYPE='C' populates EDGSAREC, only from
SMF records, but the "Audit" record also has
all of the rmm control records subtypes with
EDGATYPE=D/K/O/P/E/F/U/R/S that populate the
EDGSVREC,DREC,KREC,OREC,PREC,RREC,SREC,OVOL
EDGSPVOL datasets.
MXG's members TYPEEDGS and TYPSEDGS will read the infile
"SMF" and create all of the EDGSxxxx datasets.
But the IBM utility EDGSKIP can create a Control Backup
flat file from the rmm Control file (EDGSKIP with BACKUP
option), and that flat file is in almost-SMF-format that
contains the same Audit subtypes, so the same EDGSxxxx
datasets can be crated from either SMF records or the
Control Backup file. Because of slightly different input
format, two different members are needed in MXG, but they
both create all of the EDGS datasets, which will be
populated with observations when those subtypes are read
TYPEEDGS - Reads Infile "SMF" to create "EDGS" datasets
TYPEEDGB - Reads Infile "LOGSMF" from Backup option to
create "EDGS" datasets.
2. MXG's "EDGRxxxx" processing:
But you can also run EDGHSKP to Extract instead of Backup
(EDGSKKIP with RPTEXT), and that creates a flat file that
is physically different in record layout, but it contains
almost all of the same record subtypes. Unfortunately, I
did not recognize the similarities, so MXG dataset names
are EDGRxxxx, and different variable names are used:
TYPEEDGR - Reads Infile "EDGHSKP" from Extract option to
create "EDGR" datasets.
This table should identify which MXG datasets are similar
from these multiple possibilities:
Type "EDGS" process "EDGR" process
- EDGSSECU SMF - Security does not exist
C EDGSAREC SMF - Activity does not exist
D EDGSDREC Data Set EDGRDEXT
K EDGSKREC Vital EDGRKEXT
O EDGSOREC Owner EDGROEXT
O EDGSOVOL ", per volume does not exist
P EDGSPREC Sftw Product EDGRPEXT
P EDGSPVOL ", per volume does not exist
E/F/U EDGSRREC LIB Shelf Location EDGRREXT
R/S EDGSSREC Storage Loc Shelf EDGRSEXT
V EDGSVREC Volume EDGRVEXT
Thanks to Dale Haug, Philip Morris, USA.
Change 19.110 New CICSTRAN variables BARSPACT and BATIAECT were wrongly
VMAC110 spelled BARACTCT and BADFTECT, but are now corrected to
Jun 19, 2001 agree with the IBM field names.
Thanks to Gary L. Keers, Indiana Power & Light, USA.
Change 19.109 ACCOUNTn variables in TYPE33 APPC SMF records are blank
VMAC33 if the TP profiles specify TAILOR_ACCOUNT(YES) and the
Jun 19, 2001 RACF WORKATR account code is not populated. Specifying
TAILOR_ACCOUNT(NO) corrected that problem, but caused MXG
to set READTIME to a missing value because these lines:
JOB=RACFUSER;
READTIME=REQDTIME;
were executed when MXG found both a TP usage section and
an accounting section in the type 33 SMF record, i.e.,
only when TAILOR_ACCOUNT(NO) is specified. When YES is
specified, there is no accounting section in the SMF
record. Those lines were inserted only to suppress a SAS
"UNINITIALIZED VARIABLE" note, back when there was no JOB
name nor READTIME in the type 33 record, so that the MXG
IMACACCT member could be used to decode the ACCOUNTs, but
as both JOB and READTIME are now input in the VMAC33
member, that protection is unneeded, and its unintended
consequence, this error, is eliminated by deleting them.
Thanks to Walter Medenbach, IBM Global Services, AUSTRALIA.
Change 19.108 MXG output only one observation per SMF 108 subtype 2/6
VMAC108 record, because multiple sections were not expected, but
Jun 13, 2001 as they are now known to exist, many observations that
Jul 9, 2001 were not output are now created:
Subtype 2: 513 records, 10487 observations (now)
Subtype 6: 527 records, 71592 observations (now)
Additionally, variables DOMRVN and DOMPVN are now kept in
each subtype dataset (to identify version changes).
Jul 9: SM180UDO re-spelled as SM108UDO.
OBSERVATION COUNT CHANGE: TYPE1082 more obs.
OBSERVATION COUNT CHANGE: TYPE1086 more obs.
Thanks to Wolfgang Vierling, Allianz, GERMANY.
Change 19.107 New exit member EXTPFINT for the TPFINTRV dataset is now
EXTPFINT added, so that new variables can be created in TPFINTRV.
VMXGTPFI See comments in the exit member.
Jun 12, 2001
Thanks to Jim Gilbert, Sabre, USA.
Change 19.106 Archaic VMACIMS member had incorrect IMSRECNO because the
VMACIMS statement LOCRECNO=LEN-3; was missing for three IMS 5.1
Jun 11, 2001 code segments for the 35x log record (which is not used
by the TYPEIMS7 program, which is now the only user of
the VMACIMS member, and it doesn't use the 35x records).
Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.
Change 19.105 -SU_SEC variable is now kept in 8 bytes, because the new
UTILRMFI larger values can loose some low decimal digits in 4.
VMAC7072 For example, a Z-series 5-way has SU_SEC=10540.1845, but
VMXGRMFI that was truncated in 4 bytes to only SU_SEC=10540.1818,
Jun 11, 2001 so the magnitude of the truncation is small, only .0027.
Jun 21, 2001 -The original implementation of VMXGRMFI/UTILRMFI for WLM
required blanks between the parameters of the WORKnn=
operands of VMXGRMFI, causing confusion and errors. Both
members were revised to now tolerate blanks, but they are
no longer required. The / character still is required as
a delimiter to positionally identify the operand.
-Use of both KEEPxxx and DROPxxx VMXGRMFI arguments is not
supported; now you will get a USER ABEND 1913 if you try.
Thanks to Larry Nova, TransAmerica Commercial Finance, USA.
Change 19.104 -TYPE72GO variables VELOCITY/VELOCIOD/VELOCCPU were
VMAC7072 propagated into subsequent periods in the same SMF record
VMXGRMFI if there was no activity in those subsequent periods.
Jun 11, 2001 Now, all are set to missing if they cannot be calculated.
-Temporary dataset WORK.RMF72DS (built in VMXGRMFI) is now
deleted, as it should have been, for housecleaning.
-Comment references to NORM70=YES were removed, as that
normalization is now automatically performed for all the
variables in R70NRM list. NORM70 was never needed.
Thanks to Shantha Peetham-Baran, Cap Gemini Ernst & Young, ENGLAND.
Change 19.103A The default DDname of "PDB" in BUILDPDB can be changed by
VMXGINIT re-invocation of the %VMXGINIT macro in your //SYSIN.
Jun 11, 2001 If you want to write directly to the "MON","TUE",etc.,
'day-of-week' dataset and not have a "PDB" ddname, you
can use a DATA step to create the name of "Day-of-Week"
in a macro variable &DAY, and then use that macro as the
default value instead of "PDB":
DATA _NULL_;
DAY=UPCASE(PUT((TODAY()-1),WEEKDATE3.)); /*variable*/
CALL SYMPUT('DAY',DAY); /*macro variable*/
RUN; /*force evaluate*/
%VMXGINIT(DEFAULT=&DAY); /*invoke*/
%INCLUDE SOURCLIB(BUILDPDB.....);
The change made in member VMXGINIT was cosmetic; a flag
for first-time is now used to change the text of the note
printed on the SAS log to "RE-INITIALIZED" (and the new
DEFAULT value is printed) when VMXGINIT is re-executed.
Thanks to Derek Twist, CSC, AUSTRALIA.
Change 19.103 Support for StorageTek VSM NCS 4.0 ("HSC") enhancements
FORMATS for subtypes 13, 14, 18, and 19 add new variables, but
VMACSTC the record changes are INCOMPATIBLE (STCnnTIM is now 4
Jun 11, 2001 bytes, vice 8, in different format), so this MXG change
is required for that version's SMF records. New things:
Dataset Variables Description FORMAT
STCVSM13 STC13RCI RECALL INDICATOR $MGSTCRC.
'01X:MOUNTED WITHOUT A RECALL'
'02X:MOUNTED AFTER A RECALL'
STC13MGT MANAGEMENT CLASS
STCVSM14 STC14MGT MANAGEMENT CLASS
STCVSM18 STC18MT MIGRATE REQUEST TYPE $MGSTCMT.
'01X:AUTO'
'02X:DRAIN'
'03X:DEMAND'
'04X:RECLAIM'
'05X:CONSOLIDATE'
'06X:EXPORT'
STC18MGT MANAGEMENT CLASS
STC18SCL STORAGE CLASS
STCVSM19 STC19RT RECALL REQUEST TYPE $MGSTCRT.
'01X:AUTO'
'02X:DRAIN'
'03X:DEMAND'
'04X:RECLAIM'
'05X:CONSOLIDATE'
'06X:EXPORT'
STC19MGT MANAGEMENT CLASS
STC19SCL STORAGE CLASS
Thanks to Martin Jensen, JyskeBank, DENMARK.
Change 19.102 Variable CPCMODEL ('ZX7' or 'Z77' for example) is added
ASUM70PR to PDB.ASUM70PR and PDB.ASUMCEC datasets to identify what
Jun 10, 2001 is the exact model of the platform. This is important if
a Z-series machine is an 'upgrade' from a G6, as the CPU
Serial Number does not change, even though the physical
hardware does.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.101 Variable PGMRNAME was removed from the KEEP= list for the
BUILD005 TYPE30_4 dataset in the BUILDPDB logic. If a job had no
BUIL3005 Purge record, the always-blank-PGMRNAME-in-TYPE30_4 would
Jun 10, 2001 blank out the PGMRNAME from the TYPE30_1 dataset.
See Change 19.194.
Thanks to Duncan Walker, Experian, ENGLAND.
Change 19.099 Syntax for Goal Mode no longer requires the -99 place
VMXGRMFI holder.
Jun 9, 2001
Thanks to Larry Nova, COMSI, USA.
======Changes thru 19.099 were in MXG 19.02 dated Jun 1, 2001======
Change 19.098 First MXG 19.02 only. Two lines were left from testing:
VMXGRMFI Lines 2398 and 2417: IF SYSTEM='SYSA' THEN
Jun 1, 2001 must be deleted. This error caused PDB.RMFINTRV to have
many missing variables, including NRCPUS and PARTNCPU.
======Changes thru 19.097 were in MXG 19.02 dated May 27, 2001======
Change 19.097 Labels for two variables were confusing and are revised:
VMAC94 SMF94VBR='BYTES*READ*THRU HOST*CHANNEL*FROM VOL'
May 25, 2001 SMF94VBW='BYTES*WRITTEN*THRU HOST*CHANNEL*TO VOL'
Thanks to Simon Everitt, NPI Financial Services, ENGLAND.
Change 19.096 Variables SMF94IN4 and SMF94EX4 were not multiplied by a
VMAC94 1024*1024, but now are (as were IN3 and EX3) to convert a
May 24, 2001 raw megabyte value back into bytes, so the MGBYTES format
will correctly display these bytes-completed variables.
Thanks to David Bixler, Fiserv, USA.
Change 19.095 EMC's InfoMover SMF records INFSTART and INFTIME are now
VMACINMV INPUT as &PIB.4.2; their bad values reported back in MXG
May 24, 2001 Change 17.396 are now corrected to the normal SMF time
format, replacing the MXG circumvention that had &RB4.
and a divide by 150.
Thanks to Bob Bradley, United Airlines, USA.
Change 19.094 Documentation. Variable DB2SRBTM is missing in DB2ACCT,
VMACDB2 beginning with DB2 Version 6.1, and as documented by IBM
May 23, 2001 and as noted in member ADOCDB2. This note added so that
searching changess for DB2SRBTM will expose itself.
But as a result, if you have any reporting code that uses
DB2CPU=DB2TCBTM+DB2SRBTM;
because the SAS assignment statement A=B+C will have A
missing if B or C are missing. Instead, you must replace
the assignment statement with a SUM() statement:
DB2CPU=SUM(DB2TCBTM,DB2SRBTM);
or, you could remove +DB2SRBTM from your equation.
Change 19.093 Support for Release 5.06 (INCOMPATIBLE, in TYPE1082 data
VMAC108 set, because DOMUNAME was expanded from 32 to 36 bytes).
May 23, 2001 And new field DOMPRPID, Process ID, is added to TYPE108
datasets.
Thanks to Wolfgang Vierling, Allianz, GERMANY.
Change 19.092 The PDB.ASUMUOW dataset is enhanced to now keep variable
VMXGUOW USERCHAR (the real transaction name of some transactions
May 23, 2001 can be stored in the USERCHAR field). The first non-blank
May 25, 2001 (character) or non-missing (numeric) value is output. All
CICS "ID" variables are now listed in new MACRO _KUOWIDC
so you can override and add additional "ID" variables.
The current list of "ID" variables from CICSTRAN is:
APPLID USER LUNAME SYSTEM TERMINAL USERCHAR
To add another variable, say CLIPADDR, you would code:
%LET MACKEEP=
%QUOTE(
MACRO _KUOWIDC
APPLID USER LUNAME SYSTEM TERMINAL USERCHAR
CLIPADDR %
);
New macros _KUOWIDD and _KUOWIDDM for DB2 and MQ are now
defined as null, but can be used in future tailoring.
Option LISTALL=YES on the VMXGUOW invocation can be used
to identify which HOLDxxxx, FRSTxxxx, or LASTxxxx
variable is being used to retain/sum the values for which
real variables in the data step that builds ASUMUOW.
If you really want to create observations in PDB.ASUMUOW
you can use this instream logic before your include:
%LET MACKEEP=
%QUOTE(
MACRO _NOOBS % MACRO _YESOBS %
);
%INCLUDE SOURCLIB(ASUMUOW);
Thanks to Alan Lankin, Towers Perrin, USA.
Change 19.091 An incorrect statement in format $MGFDROP was not caught
FORMATS by SAS, and caused no error, but should have. The text
May 23, 2001 '00'X'='00'X:OTHER (FDRABRM)' was corrected to now read
'00'X='00'X:OTHER (FDRABRM)'
Thanks to Joe Faska, Depository Trust, USA.
Change 19.090 Documentation. Comments had the wrong IBM field name for
VMAC74 two variables. Corrected field name in comments are:
May 21, 2001 @45+OFFSMF LENDDSS &PIB.2. /*SMF74DDL*/
@47+OFFSMF NRDDSS &PIB.2. /*SMF74DDN*/
Thanks to Michael Spencer, BMC Software, USA.
Change 19.089 SAS V8.2 "WARNING: OPTION BLKSIZE(2311) SET INTERNALLY
CONFIGV8 IS NOT SUPPORTED IN THIS VERSION" has no impact; SAS data
May 21, 2001 libraries are still created with half-track blocksize and
SAS Institute will eventually eliminate the spurious
message; a SAS Usage Note will be created later. The SAS
defect was precipitated by a BLKSIZE(DASD)=HALF statement
in MXG's CONFIGV8 member, and to circumvent the SAS error
and eliminate the warning, I have replaced the statement
BLKSIZE(DASD)=HALF
with
BLKSIZE(3390)=27648
BLKSIZE(3380)=23040
so as to still set the desired half track block size for
new SAS data libraries on DASD.
You could make the WARNING go away by removing that
BLKSIZE(DASD)=HALF statement from CONFIGV8, but without
those device-specific half-track values being set in your
CONFIGV8 member, you will instead get the SAS System
default value of 6144 that is set their SAS.CNTL(CONFIG)
member in your //CONFIG DD concatenation.
SAS Institute still sets their default block size for
new MVS SAS data libraries to 6144, because, for some
SAS datasets that have INDEXes, the half-track block
size may be sub-optimal, but specifically for MXG, and
in general for any data-intensive SAS application that
writes large volumes of SAS data that are sequentially
accessed and do NOT use SAS Indexes, a small 6144 byte
block size will waste massive amounts of CPU time, I/O
I/O time, cause unneeded EXCPs, SIOs, and waste real
memory! And your DASD datasets at 6144 byte blocksize
will also waste DASD space! You want your MXG-built
SAS datasets to be built with half-track blocksize on
DASD!
Thanks to John R. Myers, Vanguard, USA.
Thanks to Tricia Henry, John Fairfax Holdings, AUSTRALIA.
and now others, but they reported it first!
Change 19.088 Variable INITTIME in both TYPETMNT and TYPETALO were off
VMACTMNT by one full day starting March 1, 2001, because the MXG
May 15, 2001 logic using YEARSEC did not protect for this year's leap
day, and because ASMTAPES does not get the century bit on
when it copies these IBM fields. The logic using YEARSEC
was revised to force the century bit for INITTIME.
Thanks to Joan Nielsen, i-structure, USA
Thanks to Mike Shapland, i-structure, USA.
Change 19.087 This contributed example sums up all of the CPU time for
ANALUSS a job using Unix System Services (USS) under MVS's OMVS
May 15, 2001 (OpenEdition), as described by its author:
Jobs that call Unix System Services (USS) can have their
Unix work spawned to independant address spaces that are
started tasks. OMVS creates the jobnames for these
address spaces by appending a 1-digit numeric suffix to
the jobname of the original job. (Job ABCD will spawn
STC OMVS address spaces named ABCD1, ABCD2, etc). Eight
character jobnames will spawn A/S's named the same as the
job (e.g., ABCD5678 will spawn ABCD5678). There will
likely be more than one OMVS ASID per job, so the CPU for
the USS work of a job will be in multiple type 30 records
with different job names, numbers, and initiate times.
This program matches up those job records and sums up the
CPU time for the job. (The starting and ending time of
the USS tasks will be within the start/end time of the
originating job.)
The program makes these assumptions:
1. An 8-digit USS jobname could be spawned by either a
7 or 8 digit job. The code assumes the 8-digit USS
job is spawned by an 8-digit job unless it's found
to come from a 7-digit job.
2. We assume the job started yesterday. This code
could be removed or changed.
Thanks to Alan Lankin, Towers Perrin, USA.
Change 19.086 JCL example still referenced &&SOURCLIB, but that temp
ANALDSET dataset is no longer created nor used in the revised JCL
May 15, 2001 to analyze dataset activity from 14/15/64 and SMF 30s.
Thanks to Freddie Arie, TXU, USA.
Change 19.085 TLMS date variables BAPURCH BACLNDT BACERTDT with invalid
VMACTLMS julian day-value of zero (Packed field '0100000C'x in the
May 15, 2001 record) caused INVALID ARGUMENT FOR DATEJUL FUNCTION.
Jul 6, 2001 This change tests the day value of those three fields and
sets the date missing if the day value is zero.
Also, the value of BACTIME was not correctly converted to
a time value but now is and is formatted as TIME8.
Jul 6: Variable BALUNIT was changed to BAIUNIT to match
the TLMS dsect name.
Thanks to Dietmar Lakemann, Rechenzentrum Verden GmbH, GERMANY.
Thanks to Ian Davies, Independent Consultant, CANADA.
Change 19.084 MXG output observations in TYPE73 for channels that were
VMAC73 offline (but with all zeros, the extra observations had
May 15, 2001 no real impact), but they are no longer output. The old
MXG logic had bit tests to protect for MVS/ESA 4.3 that
can now be removed, and the test to output TYPE73 now is:
IF ONLINE='Y' AND VALIDPTH='Y' THEN DO;
Also, variable SMF73BSY was added to the KEEP list, in
case it is needed for later re-calculation.
I was writing this update for ADOC73 to better document
that there are two, different, kinds of observations in
TYPE73, when I found the need for this change.
TYPE73 Contains Different types of Observations, based on
the value of SMF73CMG, the CPMF Group:
SMF73CMG = . or 0 ==> old record, without extension
PCHANBY calculated from SMF73BSY/NRSTCPS
PNCHANBY calculated from SMF73PBY/SMF73PTI
SMF73CMG = 1 ==> CPMF=COMPAT
When present, variables SMF73TUT/SMF73PUT, the new
durations when Total Channel Path, LPAR Channel Path
was busy are INPUT (i.e., will be non-missing).
PCHANBY re-calculated from SMF73TUT/SMF73PTI
PNCHANBY re-calculated from SMF73PUT/SMF73PTI
"Normal" TYPE73 record for ESCON channels, CTC's, etc.
FICON channels are reported upon, but only to the same
level of detail as other channel types.
SMF73CMG = 2 ==> CPMF=EXTENDED
This "new" extended subtype is currently written for
OSD and FICON channels (SMF73CPD=11x:OSA DIRECT
EXPRESS, SMF73CPD=1Cx:FICON BRIDGE). It adds
read/write/total byte counts for total/lpar from which
MXG creates four read/write rates in bytes/second:
SMF73TRU=SMF73TRU*SMF73US/SMF73PTI;
SMF73PRU=SMF73PRU*SMF73US/SMF73PTI;
SMF73TWU=SMF73TWU*SMF73US/SMF73PTI;
SMF73PWU=SMF73PWU*SMF73US/SMF73PTI;
and re-calculates PCHANBY and PNCHANBY:
PCHANBY=100*SMF73TUC/(SMF73MCU*SMF73PTI);
PNCHANBY=100*SMF73PUC/(SMF73MCU*SMF73PTI);
and calculates the new "Bus Busy Percent" in PBUSBY
(which is non-missing only in these SMF73CMG=2 obs).
PBUSBY=100*SMF73TBC/(SMF73MBC*SMF73PTI);
Whether type 73 (and type 79-12) records contain CMG 1 or
2 data is determined by the CPMF parameter of IEAOPTxx
member of PARMLIB. CPMF=COMPAT produces MG1 format data
records and CPMF=EXTENDED produces the MG2 format record.
Note that all TYPE73 observations have variables PCHANBY
and PNCHANBY calculated for Total/LPAR percent channel
busy measurements, so if you need seconds of busy time
you can calculate as BUSYTM= PCHANBY*DURATM/100;
OBSERVATION COUNT CHANGE: TYPE73 fewer obs.
Thanks to David M. Kellerman, ADP, USA.
Change 19.083 MXG's creation of SMF70WLA and MSU4HRAV/MSUINTRV values
VMXGRMFI in PDB.RMFINTRV is wrong if you now have the new z/OS
May 14, 2001 records that have SMF70WLA populated by IBM. I thought
May 16, 2001 SMF70WLA would contain the "this-system" MSU capacity in
May 26, 2001 the type 70 record, so in records without that field, I
created SMF70WLA in PDB.RMFINTRV, and for a 1-way system
I set SMF70WLA=36 (the correct MSU capacity available to
that LPAR with one engine), but now I find that IBM puts
SMF70WLA=253 in their record, which is the "all-engine"
or total "image" MSU capacity of the CPC, the hardware
MSU capacity of the box. Spinning was also corrected.
*** NOTE: IBM NOW STORES THE LPAR CAPACITY VALUE, 36,
AND NOT THE CPC MSU VALUE, 253. THIS WAS
APPARENTLY AN EARLY TEST SITE?
SEE CHANGE 20.168.
Since MXG generally never changes the value of IBM fields
in IBM records (although sometimes "Sums" are converted
into "Averages", and labelled accordingly):
- corrects the MXG value of SMF70WLA in PDB.RMFINTRV
to contain the IBM value and the label now reads
SMF70WLA='DEFINED*CAPACITY*IN MSU*AVAILABLE*TO CPC'
- and creates new variable ZOS70WLA in PDB.RMFINTRV
ZOS70WLA='DEFINED*CAPACITY*IN MSU*AVAILABLE*TO MVS'
to contain the value that you really want, the MSU
capacity of this MVS System, so you can compare this
MVS System's MSU usage (MSU4HRAV/MSUINTRV) with its
MSU capacity (ZOS70WLA). Both SMF70WLA and ZOS70WLA
variables are kept in the PDB.RMFINTRV dataset
So now: NOTE: after Change 20.168:
SMF70WLA is the Defined Capacity of the LPAR
ZOS70WLA is the same as SMF70WLA
MSU4HRAV is MXG's 4-hour average hourly MSU
MSUINTRV is the MSU count for this RMF interval.
SMF70LAC is IBM's 4-hour average hourly MSU
Thanks to Pat Curren, SuperValu Inc, USA.
Change 19.082 Support for HMF Subtypes 29, 30, and 31 create threee new
DIFFHMF MXG datasets:
EXTYHMFT Subtype "dddddd" DATASET Description
EXTYHMFU 29 TYHMFT TYPEHMFT CNT2 COMPRESSION ENTRY
EXTYHMFV 30 TYHMFU TYPEHMFU CNT2 IFENTRY
IMACHMFU 31 TYHMFV TYPEHMFV CNT2 SYSGROUP/CNTSYS
VMACHMF Datasets TYPEHMFT and TYPEHMFU have accumulated counters
VMXGINIT so their sort macros _STYHMFT and _STYHMFU were added to
May 14, 2001 the DIFFHMF member.
Thanks to Perry Lim, Union Bank of California, USA.
Thanks to Theo Peelen, Rabobank, THE NETHERLANDS.
Change 19.081 Support for DB2 SMF 102 IFCID 096 was mis-aligned. Field
VMAC102 QW0096WF should have been &PIB.4. instead of 2, and a two
May 10, 2001 byte reserved field was not input after QW0096RC.
Thanks to John Mourtgos, Albertsons, USA.
Change 19.080 NPM processing with TYPS28 invoked only _S028IN7 macro to
TYPS28 sort the NPMINPMT dataset; instead, it should invoke the
May 10, 2001 _S28 macro so that all NPM datasets are sorted to the PDB
DD name.
Thanks to Sue Kemper, Universal City Studios, USA.
Change 19.079 JCL with comments to run ASUMUOW using batch pipes or
JCLUOWP pipes plex. SAS Institute has enhanced their product at
May 9, 2001 our request so that it interfaces with IBM's BatchPipes
product; this example shows how to use SAS and pipes to
significantly reduce run time and physical I/Os. The SAS
support for BatchPipes will be available in SAS Version 9
but if there is enough demand to Technical Support at SAS
for support, a "hot fix" for SAS 8.2 could be possible.
There are 3 jobs and they must all run concurrently.
-READDB2 reads the DB2 SMF data, and, using a view,
passes DB2ACCT to a SORT which outputs into the PIPE for
DB2ACCT and uses a pipe fitting to harden the DB2ACCT
dataset.
-READCICS reads the CICSTRAN data and again, using a
view, passes the data the SORT which then outputs into
the PIPE for CICSTRAN and hardens the CICSTRAN dataset.
-ASUMUOW uses the PIPEs from READDB2 and READCICS to read
the DB2ACCT and CICSTRAN datasets and create ASUMUOW.
Note the SPININ and SPIN DD usage in ASUMUOW allows the
SPIN dataset to be a GDG for ease of recovery.
The hardening via a pipe fitting is certainly optional
but does not materially affect the run, time. In theory,
when the sort of CICSTRAN ends, so does ASUMUOW.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.078 Truncated type 14 record caused INPUT STATEMENT EXCEEDED
VMAC1415 error because MXG did not validate the real length with
May 9, 2001 the length fields in the record. This rare bad record is
now detected and deleted with an MXG message but the rest
of the SMF file will now be read.
Thanks to Howard Unich
Change 19.077 IBM made changes to the SMF 120 record (Websphere CB) and
VMAC120 now with actual records, the MXG design was revised, as
May 9, 2001 only five datasets are now created:
May 11, 2001 TYP120CC - Container and Class information, from either
Subtype 2 (Container Activity) or Subtype 4
(Container Interval). Variable SM120STY can
be used to identify which event created the
observation; the interval records will also
have DURATM,SM120SST,SM120SET non-missing.
TYP120CM - Class and Method information, from either
Subtype 2 (Container Activity) or Subtype 4
(Container Interval). Variable SM120STY can
be used to identify which event created the
observation; the interval records will also
have DURATM,SM120SST,SM120SET non-missing.
TYP120SA - Server Activity from subtype 1
TYP120SC - Communications Session from subtype 1
TYP120SI - Server Interval from subtype 3
Thanks to Martyn Jones, ABN AMRO, THE NETHERLANDS.
Change 19.076 The STRTTIME/ENDTIME values in CICSTRAN segments could be
VMAC110 later than the SMFTIME of the physical record; the MXG
May 8, 2001 conversion from STCK(GMT) to LOCAL did not include the
Leap Seconds. The revised equation is now:
STRTTIME=STRTTIME+MCTMNTAD-MCTMNLSO;
Thanks to Ralph Alcorn, Safeway, USA.
Change 19.075 TSO/MON variables were input but not kept in TSOMCALL.
VMACTSOM These variables are now labeled and kept:
May 7, 2001 TSMPEMCT TSMPEMTM TSMPRTYP TSMPSDCT TSMPSEQN TSMPSWCT
TSMPTRAN TSMPURR
Variable TSMPURR=00x observations do not have counts in
the LONG, TRIV, or NONTRIV transaction counts; those
counts exist only if the '01'x bit is on in TSMPURR.
Thanks to Gerry Girard, Canadian Utilities, USA.
Change 19.074 KEEPALL=YES is now specified in the VMXGSUM invocation in
ASUMCICS these ASUMxxxx members that are all included in JCLPDBx
ASUMDB2A examples. Using KEEPALL=YES bypasses the execution of
ASUMDB2B many DATA steps by VMXGSUM, saving CPU time in these ASUM
ASUMJOBS members. (The prior KEEPALL=NO default caused steps to
ASUMTMNT be executed to build a KEEP= list that was used only for
May 7, 2001 the INPUT dataset to prevent variable not found errors in
subsequent PROC MEANS executions.)
-In ASUMJOBS, IF JSTRTIME=. was changed to IF INITTIME=.
to eliminate jobs that did not initiate more robustly.
Change 19.073 Support for DCOLLECT APAR OW48529 which documents the
FORMATS value of 3 for DSCAVAIL as "Continuous Preferred" so the
Apr 18, 2001 MGDCODV format was updated to decode that value.
Thanks to Jim Petersen, HomeSide Lending, USA.
Change 19.072 USERADD=HSM, resulting in _IDHSM, but in VMACHSM the IF
UTILBLDP statement is looking for _IDHSMDS.
May 2, 2001 Also, COMPLETE has five macro names, now generated.
Thanks to Wayne Bell, National General Insurance Co., USA.
Change 19.071 To allow for the override of _IDTMNT with IMACTMNT
ASMFTAPE Line 53 ( MACRO _IDTMNT 238 % ) must move before the
Apr 26, 2001 %INCLUDE(VMACSMF,VMAC21,VMACTMNT);
Thanks to Normand Poitras, IBM Global Services, USA.
Change 19.070 The _BTY78SP BY list for TYPE78SP was not complete enough
VMAC78 to remove duplicate records, so it was revised to be:
WEEKBLD MACRO_BTY78SP SYSPLEX SYSTEM STARTIME READTIME JOB
MONTHBLx SUBPOOL %
APR 26, 2001 with the addition of SUBPOOL. Since TYPE78SP is optional
job-level subpool monitoring, this exposure is minimal,
but since TYPE78SP is a part of the BUILDPDB process, the
BY lists for it in the WEEKBLDx and MONTBLx also had to
be updated.
Thanks to Iven Willy, Fortis Bank, ENGLAND
Change 19.069 The BY-list MACRO _BFDRDSF had DSNAME instead of FDRDSN
VMACFDR as the name of the variable, causing DSNAME NOT FOUND.
TESSUSR1 Added TYPSFDR to test stream for _S, _B macros.
Apr 26, 2001
Thanks to David Ehresman, University of Louisville.
Change 19.068 Format $MG073CD for type 73 records was updated to
FORMATS include 23X Internal Coupling Peer.
Apr 12, 2001
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 19.067 Preliminary support for BMC Mainview Batch Optimizer, BMO
TYPEMBO that will replace HiperCache product. BMO records quite
Apr 6, 2001 different; code works but at Alpha test site now.
Thanks to Jim Petersen, HomeSide Lending, USA.
Change 19.066 GOPTIONS statement was mis-located; it should be located
GRAFRMFI after the %SYSPROD(GRAPH) statement. Only impact was if
Apr 6, 2001 you did not have SAS/GRAPH on your system.
Thanks to Art Hunter, Penn Mutual Life Insurance Company, USA.
Change 19.065 NTSMF Object NETWORK INTERFACE is now NETWORKINTERFACE
VMACNTSM and PAGING FILE is now PAGINGFILE, both without the old
Apr 6, 2001 blank, requiring the test for object name to
now look for either spelling.
Thanks to Bob Gauthier, Albertsons, Inc, USA.
Change 19.064 Cosmetic, to avoid confusion. In this example JCL for a
JCLTREND TRENDing, the DISP=OLD on //CICSTRAN and //WEEK is not
Apr 6, 2001 needed, as both are input-only in that job, and so they
were changed to DISP=SHR.
Thanks to Art Hunter, Penn Mutual Life Insurance Company, USA.
Change 19.063 SAS Version 8.2 Spurious NOTE "might be uninitialized".
VMXGWORL Fortunately, there is no impact, other than the printing
Apr 6, 2001 of several new NOTES on the SAS log, and SAS Technical
Apr 9, 2001 Support now acknowledges the note should not have been
Jun 11, 2001 printed and SAS be revised to recognize that NOBS will be
initialized by the NOBS=NOBS parameter.
The MXG change was to initialize the NOBS variable before
the CALL to prevent the compiler notes.
Read on, only if details interest you.
Some of the new NOTES include these:
546: LINE AND COLUMN CANNOT BE DETERMINED
NOTE: NOSPOOL IS ON. RERUNNING WITH OPTION SPOOL MAY
ALLOW RECOVERY OF THE LINE AND COLUMN WHERE THE ERROR
HAS OCCURRED.
NOTE: 546-185: THE VARIABLE NOBS MAY BE UNINITIALIZED.
Enabling the SPOOL option did print the source statement,
which was inside the VMXGWORL macro, which MXG uses to
figure out if observations are in "WorL", i.e., in the
"_W" OR the "_L" dataset macro. That code:
DATA;
CALL SYMPUT('MXGOBS',NOBS);
____
546
STOP;
SET CONTENTS NOBS=NOBS;
is code originally recommended by SAS as a safe way to
set macro variable &MXGOBS non-zero if there are obs in
dataset "CONTENTS", to set it zero if there are 0 obs,
or to not-fail if there is no "CONTENTS" dataset.
The NOBS variable in our SYMPUT is uninitialized when the
CALL SYMPUT is seen, but SET CONTENTS NOBS=NOBS populates
variable NOBS, so MXG's logic works just fine.
If we moved the CALL to be after the SET, NOBS would
have been populated, but that logic won't work here:
If the CALL is after the SET, the CALL statement
won't be executed when there are zero observations
in CONTENTS or when CONTENTS dataset doesn't exist.
SAS added this new "may be" note to correct a problem
where it an uninitialized variable was not identified,
but that fix unintentionally fired spuriously here, and
SAS will correct the compiler to recognize the NOBS=NOBS
will populate the CALL statement, even when the CALL is
seen before the SET statement.
To eliminate the printing to these notes SAS V8.2, MXG
simply added a compiler faker statement:
IF NOBS=. THEN NOBS=.;
before each of the two CALL SYMPUTs in member VMXGWORL
to satisfy the compiler's need for NOBS to appear in an
assignment statement; this will work now and when SAS has
fixed the spurious NOTE.
11Jun01: The extraneous %PUT statement was deleted:
%PUT BARRY DEBUG &MXGLYES= &MXGWORL= &MXGOBS=;
Change 19.062 MXG 19.01 only. Change 19.059 introduced an error when
VMACSOLV temporary variable MONTH was changed to numeric. Now, it
Apr 5, 2001 is reverted back to character but renamed MONTHSL.
Change 19.061 IMS 01 records with the recovery bit on were deleted,
ASMIMSL5 causing differences in observation counts in IMSSUMSO,
ASMIMSL6 IMSMERGE, and NODTOKEN. The Branch statement (at line
Apr 5, 2001 1444 in ASMIMSL6, line 1415 in ASMIMSL5), following the
TM MSGFLAGS,MSGFNRQU statement, was commented out to
prevent the incorrect deletion of valid 01 records.
NOTE: JUL 11: This change was in error and was undone by
Change 19.135.
======Changes thru 19.060 were in MXG 19.01 dated Apr 4, 2001======
Change 19.060 Variable BLKSIZE in the optional TYPE30_D => PDB.DDSTATS
VMACEXC1 dataset is wrong in OS/390 R2.10 and z/OS; I input the
Apr 4, 2001 new 8-byte SMF30XBS as floating point with RB8, causing
values of -1E64 or +1E18, as the input should have been
binary &PIB.8. However, IBM uses the first bit as a flag
that the block size was changed, and then I re-discovered
that SAS cannot store all digits of a field input as PIB8
when the first bit is turned on:
X = '8000000000006D10'X; /*hex literal */
Y = INPUT (X,&PIB.8.); /*input as binary*/
Z = MOD(Y,8000000000000000X); /*get the 6d10 */
returns z= 28762 under PC SAS,
z= 27904 under OS/390 SAS,
but z= 27920 is the correct value for '6D10'x.
so the actual INPUT was revised to use &PIB.7.
Fortunately, BLKSIZE/MULTSIZE variables are rarely used.
Thanks to Rob Gibson, CentreLink, AUSTRALIA.
Change 19.059 Compiling of all MXG members that process SMF records has
VMACF127 uncovered a few conflicts where variables are defined as
VMACLDMS numeric in one record and character in another record.
VMACMOUN Renaming the variable in the more-seldom-used product
VMACDECS eliminate the possible exposure.
VMACRMDS VMACF127 - Not-kept DEVNUM renamed.
VMACROSC VMACLDMS - JESNR is now a numeric variable.
VMACSOLV VMACMOUN - Variable UCBTYPE is now a numeric variable.
VMACAIMR VMACDECS - Variable DSORG now DSORGDEC.
VMACLMS VMACRMDS - Not-kept RECSEQNO renamed.
VMAC102 VMACROSC - Not-kept DELETE renamed.
VMACHBUF VMACSOLV - Not-kept YYYY now numeric.
VMAC90 VMACAIMR - Not-kept YY1-SS1 and YY2-SS2 now YY-SS.
VMAC90A VMACORAC - Not-kept Reserved variables renamed.
Apr 4, 2001 VMACLMS - Not-kept DSTYPE renamed to DSTEMPTY.
VMAC102 - Not-kept VALUE renamed VALUE4BY.
VMACHBUF - RECTYPE renamed RECTYPEC.
VMAC90 - Not-kept DOMFLAG renamed.
VMAC90A - DOMFLG renamed DOMFLG90.
Change 19.058 If you changed the PDB2ACC default from PDB to DB2ACCT,
JCLTEST6 the JCL TEST programs failed, because MXG had failed to
JCLTEST8 provide a //DB2ACCT DD statement in some steps.
Apr 4, 2001
Thanks to Jesse Gonzales, Gap Inc, USA.
======Changes thru 19.057 were in MXG 19.01 dated Apr 3, 2001======
Change 19.057 The NTCONFIG dataset only recorded model/speed/etc for
VMACNTSM the first four CPUs; now CPUNUM,CPUSPED,FAMILY,MANUFAC
Mar 31, 2001 variables exist for 32 processors.
Thanks to Bob Gauthier, Albersons, Inc, USA.
Change 19.056 Protection for invalid ALOCTIME in type 30 records, while
VMAC30 IBM investigates the cause. Step records with ALOCTIME
Mar 31, 2001 that is a fraction of a second earlier than the INITTIME
are not possible (steps initiate first, then allocate,
and then load), but are written by OS/390 R2.10. The
MXG logic must compare those times to determine the step
ALOCDATE and LOADDATE (because ALOC/LOAD have only times
with no dates in type 30s), and it concluded "INIT Today,
ALOC Tomorrow" when the ALOC Time was earlier than INIT.
The IBM error of the earlier ALOC time causes MXG to add
one day to the ALOCTIME variable, which then caused the
DSENQTM to be 23:59 hh:mm, ALOCTM to be -23:59, and the
EXECTM could also be very large, positive or negative.
Knowing that it will take IBM time to diagnose and fix
their eror, I have revised the MXG logic to be smarter.
Now, if the INITDATE and TERMDATE are the same, then the
ALOCDATE and LOADDATE are known so the "date bump" logic
is bypassed (all seen observations fell into this case).
So only when the TERMDATE is a day or more later than the
INITDATE will the INITTIME, ALOCTIME (and LOADTIME) be
tested, and their dates are now bumped only if the delta
is more than 5 seconds, so small errors in the time value
in the SMF record won't cause the algorithm to misfire.
Note Sep 25, 2001: IBM APAR OW50134 acknowledges their
error, but that APAR resolution is "FIN", Fixed in Next.
Thanks to Andrew Hebden, Barclays, ENGLAND.
Change 19.055 -Change 18.233 documented new SYNC59 parameter, but it was
VMXGDUR actually added until this change. SYNC59 argument values
VMXGSUM can be:
Mar 30, 2001 N - do nothing.
Y - add 1 Minute to time
nnn - add nnn minutes to time
and a null value is the same as N.
-Additionally, a typo for TEMP02 option that caused error
FILE DDD.MXGSUM1.VIEW IS SEQUENTIAL when TEMP02 was used
was corrected.
Thanks to Karen Florup, Fidelity Investments, USA.
Change 19.054 MXG 18.10-18.18. MXG creates duplicate observations in
VMAC115 MQ-Series dataset MQMMSGDM, because there were duplicate
Mar 29, 2001 _ETY1152 macro executions. Delete the first invocation
of _ETY1152 macro (line 598), leaving one at line 639.
OBSERVATION COUNT CHANGE: MQMMSGDM fewer obs.
Thanks to Jun dela Rosa, U.S. Customs Service, USA.
Change 19.053 TCP SMF118 ERROR.4. HFS FILE TWO NAME ERROR message may
VMACTCP be created-in-error, if the second HFS filename is first
Mar 29, 2001 in the SMF record. MXG protection logic (for invalid
offset values) tested IF COL LE ... (which assumed that
COL would increase as the record was read. But now that
records with the physical positions reversed are found,
changing those tests to IF 205 LE ... will protect for
invalid offsets, and let MXG find the name segments in
whatever order IBM writes them in their SMF record.
The only impact of this error was that one or both HFS
filenames would be blank.
Apr 9, 2003: IBM APAR PQ73030 will correct the offsets,
which should only be non-zero for a RENAME event.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 19.052 INVALID DATA for MOUNSMND/MOUNEMND occurs if those dates
VMACMOUN are nulls; one pair of PD4 INPUT was protected with "??",
Mar 29, 2001 but now all PD4 INPUTs are protected.
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 19.051 Support for APAR OW46622 identifies Address Spaces that
VMAC79 have Temporal Affinity (see also OW45238). No code was
Mar 28, 2001 changed, since R791FLG and R792FLG variables already are
input and kept, and bit 7 ('.......1'B) is the flag.
Change 19.050 Support for Landmark's The Monitor for IMS V1.1 records.
EXTIMCH Use TYPSTIMS to create and deaccumulate these datasets:
EXTIMCJ TIMSCH History Statistics
EXTIMCJD TIMSCJ Transaction Statistics
EXTIMCK TIMSCJD Transaction Statistics - Detail
EXTIMCKD TIMSCK Database Statistics
EXTIMCL TIMSCKD Database Statistics - Detail
EXTIMCL1 TIMSCL Buffer Statistics
EXTIMCL2 TIMSCL1 Buffer Statistics - First Pools
EXTIMCL3 TIMSCL2 Buffer Statistics - Second Pools
EXTIMCM TIMSCL3 Buffer Statistics - Third Pools
EXTIMCN TIMSCM Input Messages
EXTIMCO TIMSCN Interval Statistics
EXTIMCP TIMSCO Output Messages
EXTIMCT TIMSCP PSB Completion
EXTIMCU TIMSCT Thread Termination
EXTIMCUD TIMSCU PST Statistics
EXTIMCX TIMSCUD PST Statistics - Detail
IMACTIMS TIMSCX Exception Alerts
TYPETIMS Use the INFILE name of MONITIMS for the Landmark records.
VMACTIMS If your data records are compressed, Assemble and install
VMXGINIT member EXITMON6, an "Infile Exit" for SAS V6/V8, that can
Mar 28, 2001 read the compressed records. See comments in EXITMON6.
Apr 1, 2001
All above datasets have been created, and unexpected and
unwanted accumulated counters were found, so that you
must use member TYPSTIMS to first write to //WORK and
then SORT/Deaccumulate into the //PDB library.
Detection of accumulated fields requires non-zero values,
and some of the fields in the test data were zero, so you
need to use PROC MEANS MIN ; to examine each dataset for
negative minimum (improper deaccum) or large minimum
(variable that probably should be deaccumulated).
TIMSCU: CUMSGOQ and CUPWAIT are occasionally negative
and some timestamps are always missing.
Thanks to Warren Waid, J. C. Penny Company Inc, USA.
Change 19.049 Using JCLTEST8, warnings about CODEPASS option was
JCLTEST8 printed, because the instream proc still referenced the
Mar 27, 2001 (CONFIG) member instead of (CONFIGV8) for SAS V8.
Thanks to Art Hunter, Penn Mutual, USA.
Change 19.048 Variable STC11CSP should have been input as &PIB2.2 so
VMACSTC that its value is 20 for a 20 MegaByte/Sec Channel Speed.
Mar 27, 2001
Thanks to Chuck Hopf, MBNA, USA.
Change 19.047 Support for optional CICS TCP/IP timings and counts from
IMACICDA the EZA01 segment adds ten variables to the CICSTRAN
IMACICEZ dataset, but ONLY if you remove the comment block in the
IMAC110 IMACICEZ member. You need to also run UTILCICS to see
Mar 26, 2001 where the EZA01 segment was added, and may have to change
the expected order of segments in member IMACICDA.
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
Change 19.046 Support for IMS Version 7.1 IMS Log Records is almost
VMACIMS compatible; only the '40'x log record was incompatibly
Mar 26, 2001 changed (and it is needed only if he message queue was
built), based on documentation review of the log DSECTS.
Some additional fields are now decoded, but no new
variables were added to the existing log record datasets.
Thanks to Engelbert Smets, Provinzial Versicherungen, GERMANY.
Change 19.045 Variable VERSNRMF was kept in most, but not all, RMF/CMF
VMAC7072 datasets, but is now kept in TYPE70PR/7204/72SC/78PA and
VMAC78 TYPE78SP datasets.
Mar 26, 2001
Thanks to Ian Davies, Independent Consultant, CANADA.
Change 19.044 NETSPY type 'R' records caused INPUT STATEMENT EXCEEDED
VMACNSPY because MXG expected 89 bytes, but NETSPY 5.3 creates a
Mar 26, 2001 type R record of only 77 bytes, so the three fields that
were added (NSPYBPQU NSPYBPST NSPYRNLP) are now input if
NSPYENTL=89.
Thanks to Reuben de Leeuwe, IZB, GERMANY.
Change 19.043 Reading VSAM SMF caused INPUT STATEMENT EXCEEDED RECORD
VMAC42 for type 42 subtype 5 record. This particular subtype has
Mar 26, 2001 internal offset variables, and the MXG logic looped on
Mar 27, 2001 those offset variables (instead of looping on the count
field, as these internal segments have no count field),
but the MXG logic to convert from IBM offset value to the
SAS byte location: OFFzzzz=OFFzzzz-3+OFFSMF; was
being executed even when OFFzzzz=0, causing OFFzzzz=1
when a VSAM subtype 5 was read (OFFSMF=4 for VSAM SMF).
Now, IF OFFzzzz GT 0 THEN OFFzzzz=OFFzzzz-3+OFFSMF;
logic protects for the input zero value with VSAM input.
(BSAM SMF has OFFSMF=0, so it produced OFFxxxx=-3 if the
input value was zero, but since the subsequent MXG logic
tests IF OFFxxxx GT 0 THEN DO; so the segment was not
input when not present with BSAM dumped SMF input).
Thanks to Ken Williams, IBM Global Services, ENGLAND.
Thanks to Mark Williams, Marks and Spencer, ENGLAND.
Change 19.042 Variables XMGMXT, XMGPAT, and XMGPQT should have been in
VMXGCICI a MAX= argument instead of the SUM= argument in the first
Mar 26, 2001 %VMXGSUM invocation. Their values were incorrect in the
PDB.CICINTRV dataset.
Thanks to Brian Hawthorne, MONY Life Insurance Company, USA.
Change 19.041 Support for APAR II12xxx clarifies documentation of the
VMAC50 VTAM type 50 record.
Mar 23, 2001
Change 19.040 If a file spanned more than five volumes, the VOLSERs in
VMACCTLG CTLGDSN dataset were overlaid with the subsequent VOLSER;
Mar 23, 2001 (i.e., VOLSER1='BARRY6' instead of 'BARRY1' if 6 vols).
Thanks to Gordy Rogers, Principal Financial Group, USA.
Change 19.039 Error: INVALID ARGUMENT TO SQRT FUNCTION is corrected;
ANALUOW small negative values due to rounding caused the error.
Mar 22, 2001
Thanks to Ed Long, FMR, USA.
Change 19.038 Change 18.286 corrected 1.024 to 1024 for SMF30JQT/RQT/
VMAC30 HQT/SQT, but ENCLACTM should also have been corrected to
Mar 22, 2001 use 1024 instead of 1.024 as the multiplier.
Thanks to Alan Freed, ADP, USA.
Change 19.037 Format MG060ID for type 60 records was updated from the
FORMATS SMF manual; several UNKNOWNs are now known.
Mar 19, 2001
Thanks to Chuck Hopf, MBNA, USA.
Change 19.036 Variable ABENDS in PDB.JOBS counts each OMVS/USS pseudo
BUILD005 step record as an abend. Change 10.325 set variable
BUIL3005 ABEND='OMVSEX' to identify each pseudo step record
Mar 17, 2001 (created when an OMVS/USS address space is "dubbed"), but
Change 16.183, which added variable ABENDS to PDB.JOBS,
should have skipped over these steps. The test in
BUILD005 to count abends was revised to now read:
IF ABEND NE: ' ' AND ABEND NE:'OMVSEX'
AND ABEND NE: 'FLUSH' THEN DO;
This error also could cause ABEND to be blank when it
should not have been, if the job had both pseudo steps
and other real steps that did have abends or returns.
Thanks to Rex Pommier, Western Surety Company, USA.
Change 19.035 New values for format MGSTCLB for variable STC07LBL are
FORMATS added:
Mar 16, 2001 /* $MGSTCLB FORMAT FOR VMACSTC */
VALUE $MGSTCLB
'1'='1:VERIFY LABEL VOLSER (IGNORE MEDIA)'
'2'='2:VERIFY UNLABELED CARTRIDGE (IGNORE MEDIA)'
'3'='3:BYPASS VOLSER AND MEDIA LABEL CHECK'
'4'='4:RECOVERY CARTRIGE NUMBER SPECIFIED'
'5'='5:VERIFY MEDIA TYPE, BYPASS VOLSER CHECK'
'6'='6:VERIFY MEDIA TYPE AND VOLSER'
'7'='7:VERIFY MEDIA TYPE AND UNREADABLE VOLSER'
;
Thanks to Martin Jensen, Jyskebank, DENMARK.
Change 19.034 Support for TNG for SOL260S records added. The SOL260S
VMACTNG records seem to be the same as SOL240S, so both formats
Mar 16, 2001 will create the same SOnnn Solaris TNG MXG datasets.
Thanks to Paul Hargreaves, SEMA, ENGLAND.
Change 19.033 Documentation/example only. No code change was made.
CONFIGV8 If you want to change the global MXG Default "PDB" DDNAME
VMXGINIT to something else, for example "MXG" because that's what
Mar 14, 2001 someone before you did, you should NOT make the change by
EDITing the VMXGINIT member, because that member changes
with every MXG version to GLOBAL all MXG macro variables,
and you would have to re-tailor every time you install a
new MXG version. Instead, you can change the DEFAULT=PDB
to DEFAULT=MXG by EDITing a USERID.SOURCLIB(CONFIGV8),
and changing the statement that invokes %VMXGINIT:
INITSTMT='%INCLUDE SOURCLIB(VMXGINIT);%VMXGINIT;RUN;'
to set the DEFAULT=MXG:
INITSTMT='%INCLUDE SOURCLIB(VMXGINIT);%VMXGINIT(DEFAULT=MXG);RUN;'
The CONFIGV8 member is one that sites may choose to EDIT,
since some of those options are site choices, but it does
not typically change between MXG versions, and it is the
intended location for any changes to the %VMXGINIT parms.
Further note: there should never be members starting with
VMAC nor VMXG in your USERID.SOURCLIBs, except as interim
corrections until you install the next MXG version. Old
VMAC/VMXG members in your tailoring libraries can cause
ABENDs, and require re-tailoring with each new Version.
They should always be removed when the new version is
installed, and all MXG tailoring can be put in the MXG
exit members or in your //SYSIN input stream, so you
never have to change your changes.
And while I'm in tutorial mode, if you have tailored any
VMXG members into your USERID.SOURCLIB, you probably did
it because you wanted to change the default arguments,
and you found how to make it work. But that is not the
correct way to %MACROs should be used. Instead of EDIT
of the VMXGxxxx member that defines the %MACRO %VMXGxxxx,
you simply EDIT the invocation of the %VMXGxxxx macro,
and change the parameter value there. For a specific
example, member RMFINTRV is where the statement that
invokes the execution of %VMXGRMFI macro is located, to
create PDB.RMFINTRV dataset. To change workloads, etc.,
you would EDIT the existing %VMXGRMFI
%VMXGRMFI statement in your RMFINTRV
member in USERID.SOURCLIB(RMFINTRV), adding the new parm:
%VMXGRMFI(PDB=PDB,...,PARM=WHATEVER);
In this manner, never editing the VMXG/VMAC members, the
install of a new MXG version means that you never have to
retrofit your MXG tailoring.
Thanks to Jerry J. Lentz, State of Arizona, USA.
Change 19.032 INPUT STATEMENT EXCEEDED RECORD for Shadow Direct subtype
VMACSHDW 06 record; the record says there was 417 bytes of SQL
Mar 14, 2001 text, but there were only 256 bytes of data, so the logic
to parse the SQL text into 100 byte chunks was revised to
use LENLEFT=MIN((LENGTH-COL+1,SM06SQLN) to control the
length of text bytes read.
Thanks to Chris Morgan, IBM Integrated Technology Services, ENGLAND.
Change 19.031 The CHAIN logic in processing IMF IMS transactions was
VMACCIMS revised by this user-contributed enhancement. When IMS
Mar 14, 2001 transactions are chained, the IMF record for the second
and subsequent transactions contain the arrival time of
the original transaction, which produced incorrect input
queue time measures. The CHAIN algorithm sorted thru the
chain and reset the arrival time of the second to the end
time of the preceding. But the original algorithm was
redesigned by Wolfgang:
- When transactions were started before the prior
transaction had finished, the RESPNSTM was cumulative;
that is corrected, and noted in new variables NEGTIME
and NEGCNT (kept only so you can see the impact of the
enhancement to see how wrong prior values were!).
- Data Steps 2 and 3 were removed, coding was moved into
the last step, reducing the execution and CPU time, I/O
and work space required.
Thanks to Wolfgang Vierling, AGIS GmbH, GERMANY.
Change 19.030 If your OS/390 was back level and did not have OW37565
VMAC7072 (flags ICF CPUs) MXG logic added in Change 19.015 caused
Mar 13, 2001 LPARCPUS=0 in TYPE70PR and missing data in ASUM70PR. The
Nov 15, 2001 logic now confirms the APAR is installed by checking the
NRCIXGT0 field before using SMF70CIX to id an ICF CPU.
Note added Nov 15, 2001: LPARCPUS=0 was a symptom here
because it was always zero AND caused missing data in the
ASUM70PR dataset, in that specific environment. After
this change, it is still normal to have observations in
TYPE70PR with LPARCPUS=0: those with LPARNAME='PHYSICAL',
or with SMF70CIN='ICF', or with LCPUADDR=. (for inactive
LPARs) will have LPARCPUS=0, and that's okay.
Thanks to Joe Montana, Acxiom, USA.
Change 19.029 Support for Tandem G06/G07/G08 TANCPU & TANDISK records.
VMACTAND -New fields were added to the end of the TANCPU record,
Mar 13, 2001 and variable DISKIOSF is now input as DISKIOS because it
is just the 8-byte DISKIOS field. The calculation of
rates was moved to the end of the TANCPU logic.
Code is in place for G06, G07, and G08 changes, but only
G06 with LRECL=770 has been validated.
-New fields were added to end of TANDISK record.
Code is in place for G06, G07, and G08 changes, but only
G06 with LRECL=746 has been validated.
Thanks to Patricia A. Wingfield, Bank of America, USA.
Change 19.028 Variables DSGPERCT and DS1PERCT-DS6PERCT in PDB.CICDS are
VMAC110 are not interval TCB Busy percent, as labeled, but are
Mar 12, 2001 the instantaneous value at the end of interval, which can
be quite different from the actual TCB Percent Busy:
Hour 03 06 09 12 15 18
DSGPERCT: 88 74 88 77 69 19
AVGPERCT: 22 70 58 65 64 40
IBM doesn't create DSxPERCT fields for the newer TCBs.
The PDB.CICINTRV dataset has all 11 TCBs DSnPERCT values
and all are recalculated (DSGPERCT=100*DSGACT/DURATM) so
they do match their label in the PDB.CICINTRV dataset.
The only change was to add "AT END" to the labels for the
7 TCB variables DSGPERCT-DS6PERCT in the PDB.CICDS data
Thanks to Normand Poitras, IBM Global Services, CANADA.
Change 19.027 Duplicate DB2ACCT records created by IBM Parallel Trans
EXDB2ACC are now deleted, but without this change, you will have
VMACDB2 duplicate DB2 accounting, negative DB2TCBTM, missing
VMXGUOW ELAPSTM, and these strange values in your DB2ACCT data:
Mar 12, 2001 QWACESC 01JAN1900:02:00:00 QWACEJST less than a second
Jun 5, 2001 QWACBSC 05JUN2001:19:20:21 QWACBJST minutes
The double accounting was introduced by IBM in DB2 APARS
PQ22260,PQ22451,PQ10864,PW06968,PQ45496 but it sure was
not obvious from the text of those APARs. The end result
is that, now, when DB2 parallelism is used, instead of
writing many individual child records, IBM "rolls up"
(sums) all child records into a single record, but that
record now is a duplicate of the previously existing
parent record. IBM finally documented how to identify
and delete these duplicate DB2ACCT records: New MXG
bit flag variable QWACPARR is now created
IF QWACFLGS='.........1......'B THEN QWACPARR='Y';
ELSE QWACPARR=' ';
to identify these "rolled up" records, and the statement:
IF DB2PARTY='P' AND QWACPARR='Y' THEN DELETE;
was added in the EXDB2ACC exit member so that MXG will
delete this duplicate data.
Note: That IF/DELETE statement was a circumvention and it
was removed from all exits by Change 22.121.
Additionally, VMXGUOW was similarly updated so ASUMUOW
will also delete the dupes, and it could be re-run
against existing DB2ACCT/CICSTRAN data to re-build
PDB.ASUMUOW without duplicates. Normally, I am reluctant
to delete any SMF data, but this duplication is so
obscure and could be so impacting, that I chose to delete
them in MXG to prevent their accidental introduction into
DB2ACCT (and ASUMUOW), which are used for DB2 billing. I
am not aware of any other data in these records which
justifies keeping them, but since the logic was added in
the Exit, you could easily change it to create these
rolled-up data records, if needed.
This note's documentation was enhanced Jun 5, but no code
was changed.
Thanks to Being Hwang, DOA, State of Wisconsin, USA.
Thanks to Gunther Vogt, Audi AG, GERMANY.
Change 19.026 ASUMV14 summarizes STK VTS dismount records to get total
ASUMV14 bytes compressed and uncompressed and the compression
ASUMV11 ratio. ASUMV11 summarizes STCVSM11 to the QTR hour too
Mar 10, 2001 get the back end channel busy for STK VSM.
Note that the STCVSM11 dataset must be selected from only
one system; each system connected to the VSM writes what
are effectively duplicate records, at slightly different
intervals.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.025 CICS CPU time captured in CICSTRAN/CICDS/TYPE30/TYPE72 is
ADOC110 now docummented in member ADOC110. This change adds the
VMAC110 variables QRCPUTTM, MSCPUTTM and KY8CPUTM, which already
VMXGCICI exist in the CICSTRAN dataset, to the CICDS Dispatcher
Mar 10, 2001 Statistics dataset and to the CICINTRV summary dataset.
Change 19.024 Cosmetic. Status variables DVLCSMSS DVLCSMS2-DVLCSMS8
VMACDCOL are now formatted with existing MGDCOVS format, as were
Mar 8, 2001 variables DVLSMSS DVLSMSS2-DVLSMSS8.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 19.023 Change 19.015 removed NRCPUS from TYPE70PR dataset; this
ANALRMFR change revises the RMF reporting to match that change.
Mar 6, 2001
Change 19.022 The First SQL Page Number QW0006PN, a 3-byte character to
ANALDB2R display up to 999, was replaced by QW0006PG, a numeric,
Mar 6, 2001 so now the '1ST PAGE' value for large values will print.
Thanks to Andrew Schmid, EDS Canberra, AUSTRALIA.
Change 19.021 If the rarely used TEMP01 and TEMP02 options of VMXGSUM
VMXGSUM are used, and TEMP02 is tape format, there will be a SAS
Mar 6, 2001 error attempting to open two datases on a tape.
Thanks to Khoan Dang, MBNA, USA.
Change 19.020 Using %VMXGRMFI(PDB=SMF) caused ERROR: FILE WORK.MERGERMF
VMXGRMFI NOT FOUND. The default, PDB=PDB, worked fine. The test
Mar 6, 2001 %ELSE %IF &PDB=PDB %THEN %DO; was changed to now read:
%IF &PDB=PDB OR &PDB=SMF %THEN %DO;
Thanks to Wayne A. Schumack, Blue Cross of Minnesota, USA.
Change 19.019 INPUT EXCEEDED RECORD LENGTH SMF 102 subtype 140 because
VMAC102 new fields INCOMPATIBLY inserted by DB2 5.1 were not read
Mar 5, 2001 in for this Audit Trace record subtype.
Thanks to Brad Dorn, Kohl's, USA.
Change 19.018 Protection for zero-divide in new z/OS variable SMF70CPA,
VMAC7072 (no actual error in the MXG output, only a hex dump print
Mar 5, 2001 on the SAS log) because OS/390 2.10 unexpectedly writes
SMF type 70 records with LENCPUC=40, (2.10 doc says 28).
If LENCPUC GE 40, MXG Inputs SMF70CPA/SMF70WLA/SMF70LAC
(new MSU capacity stuff) and then divided without testing
the denominator before the divide, and the new fields are
all zero in the R2.10 extended segment. And MXG expected
SMF70WLA to be missing if the record did not contain that
new MSU capacity measure, using IF SMF70WLA=. THEN DO...
logic in VMXGRMFI to detect its presence, so this change
also forces SMF70WLA=. if it is found to contain zeroes.
Thanks to Alan Freed, Automatic Data Processing, USA.
Change 19.017 Support for APAR OW46268 for TYPE74 USS Kernel data was
VMAC74 already in place; incorrect format and documentation was
Mar 5, 2001 recognized during MXG validation of those fields.
Change 19.016 Cosmetic. The A2THID=UPCASE(AUTHID) should have been
ANALDB2R AUTHID (only impact would be if you typed selection names
Mar 1, 2001 in lower case, and none would have been selected). Three
repeated IF AUTHID=:' ' THEN AUTHID=' ' "compiler
fakers" were redundant and were deleted.
Thanks to Tom Parker, CSC Hogan Systems, USA.
Change 19.015 If you have 2064 (z900) CPU with ICF-s installed, and
ASUM70PR do not have the PTF for APAR OW48190 installed, the count
VMAC7072 of ICF-s will be incorrect, causing incorrect CPU busy.
VMXGRMFI Without that APAR (no PTF until April), the IBM type 70
Mar 1, 2001 70 field SMF70CIX does NOT properly flag ICF CPUs, so the
Mar 6, 2001 PARTNCPU and LPARCPUS variables that count real CPs will
be wrong in TYPE70, TYPE70PR, ASUM70PR, and RMFINTRV, and
MSU4HRAV will also be incorrect. This change completely
revises how ICFs are counted, moving that logic from the
ASUM70PR back into VMAC7072 so all four datasets above
will be correct, and this change corrects the count with
logic that works whether or not you have installed the
PTF for OW48190.
Caveat: You must use VMAC7072, VMXGRMFI, and ASUM70PR
from this change; make sure you do not have any of those
three members in your "USERID.SOURCLIB" (or if you do,
you must re-tailor your changes into these new members).
First, the code loops thru the type 70 PR/SM segments to
count the number of non-zero values of SMF70CIX. If the
count is always zero, then APAR OW37565 (which populates
SMF70CIX with 1 for "CP" and 2 for "ICF") is not on this
system, so ICF's can't be counted. A non-zero value in
NRCIXGT0 proves the SMF70CIX field is valid, and IFCs can
be counted, and then I can recognize an invalid value of
zero in SMF70CIX is really an ICF, as that is the IBM
error that will be fixed by OW48190s PTF: SMF70CIX had a
zero instead of a 2 for an ICF. This allows MXG to count
and remove ICFs from the PARTNCPU count of CPs in a box.
However, the variable PARTNCPU in TYPE70 and TYPE70PR did
include ICFs; it was only in PDB.ASUM70PR/PDB.RMFINTRV
that both PARTNCPU and LPARCPUS were corrected for ICFs.
This change now corrects all four datasets, so the logic
in ASUM70PR (which both creates PDB.ASUM70PR and updates
PDB.RMFINTRV) was revised to no longer subtract ICFs.
Note also that VMXGRMFI at Change 19.012 is also neeeded
to support the 2064 processors, independent of this fix,
for variable MSU4HRAV valid on 2064s, so it is listed
here as well to alert you to use all three new memgers.
-Variable NRCPUS was removed from TYPE70PR, because it did
not belong there; LPARCPUS is the correct variable that
counts CPs in this LPAR, while NRCPUS is a TYPE70-only
variable that counted the CPUs in the SYSTEM that wrote
this type 70 record, and NRCPUS in TYPE70PR could be
misleading and/or confusing.
-Mar 6 additions. The summarization interval in ASUM70PR
and RMFINTRV is set in member IMACRMFI's macro _DURSET
definition; by default, each original interval is output.
If you change the interval of your PDB.RMFINTRV data:
a. You can tailor your own RMFINTRV member, using
VMXGRMFI(INTERVAL=HOUR);
but then you have to change the _DURSET definition in
your IMACRMFI member to set variable STARTIME hourly:
STARTIME=DHMS(DATE,HOUR,0,0);
because member ASUM70PR not only created PDB.ASUM70PR
using _DURSET, but also then reads and rewrites the
PDB.RMFINTRV dataset (adding Platform Busy, Percent of
Hardware, etc., variables), so, instead,
b. Leave the default INTERVAL=DURSET, in the RMFINTRV
member (if you still need one), and just tailor the
STARTIME value in member IMACRMFI.
c. Watch for a possible re-design to make it consistent.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 19.014 The original text of this change (about CPUTM in CICSTRAN
VMAC110 possibly being the sum of many variables) was wrong; the
Feb 23, 2001 MXG equation for billable CPU time in CICSTRAN:
Mar 12, 2001 CPUTM=SUM(TASCPUTM,CPURLSTM).
has always been correct and should not be changed.
See member ADOC110 for the new note on CPU capture in the
CICSTRAN, CICDS/CICINTRV, SMFINTRV and TYPE72/72GO data,
which provides a schematic of what's captured where.
Thanks to Trevor A. Holland, TELSTRA, AUSTRALIA.
Change 19.013 Support for TLMS Release 5.5 (COMPATIBLE). Two new
VMACTLMS variables, BACUNIT (Create Unit) and BALUNIT (Last Unit)
Feb 23, 2001 were added compatibly at the end of the record; both of
these new fields were actually added back in Release 5.4.
Thanks to Jon Whitcomb, Great Lakes Higher Education Corp, USA.
Change 19.012 Change 18.348 created QWACALOG/AWCL/AWAR/OCSE/SLSE/DSSE/
ASUMDB2A OTSE/IXLT from QWAX variables, but did so incorrectly,
VMACDB2 they were not formatted as TIME12, and ASUMDB2A was not
Feb 23, 2001 revised to include the QWACs instead of the QWAXs.
Apr 4, 2001 Line 105 in 18.18's ASUMDB2A was removed to eliminate the
"duplicate variables" message (but it had no impact).
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 19.011 MXG 18.18 only, new variables only. Incorrect SUBSTR()
VMXGRMFI argument caused CPCNRCPU to be missing, CPFCNAME could
Feb 19, 2001 have extraneous characters, CPUTYPE='2064'x was not found
Mar 1, 2001 in the MG070CP table because CPCMODE3='404040'x should be
removed. The correct block of code now reads:
END;
CPUSTUFI=CPUTYPE!!CPUVERS1!!CPCMODE3;
CPUSTUFO=PUT(CPUSTUFI,$MG070CP.);
IF CPUSTUFO NE CPUSTUFI THEN DO;
CPCMSU =INPUT(SUBSTR(CPUSTUFO,1,4),4.);
CPCFNAME=SUBSTR(CPUSTUFO,6,8);
CECSUSEC=INPUT(SUBSTR(CPUSTUFO,15,10),10.);
CPCNRCPU=INPUT(SUBSTR(CPUSTUFO,26,2),2.);
SMF70WLA=CPCMSU*NRCPUS/MAX(CPCNRCPU,PARTNCPU,NRCPUS)
END;
No change was made to the logic in member FORMATS that
creates the MG070CP format, but comments that describe
that format's format were revised to match the format.
Note: This correction only applied if the FORMAT was
used. If SMF70WLA was populated, the FORMAT is
not used. But Change 20.168 is then needed.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 19.010 The FTPREPLY character variable contains '000000FA'x, but
VMACTCP is converted by this change to ' 250', its numeric value
Feb 19, 2001 in a character variable, by inserting this statement
FTPREPLY=PUT(INPUT(FTPREPLY,&PIB.4.),4.);
and by changing the input from $EBCDIC4. to $CHAR4. to
prevent conversion of the binary value.
Using $CHAR versus $EBCDIC under OS/390 doesn't matter
here, but under ASCII, leaving the $EBCDIC4. informat
would convert any binary value that happened to be a
valid EBCDIC character into its ASCII equivalent:
(eg: '0000C1FA'x becomes '000041FA'x when INPUT with
$EBCDIC4. informat under ASCII SAS.)
Now the Reply values for the Client (FTPREPLY) will be in
the same format as the Server (FTPRSRSR) reply.
Change 19.009 Support for CA/TNG post-9907 (INCOMPAT). The initial MXG
VMACTNG support was for the "old" data records, which had simple
Feb 19, 2001 data format, but CA's complete revision (with internal
version 6 or higher), with its base-36 counting and with
repeat-count counters, is now supported with this change.
Thanks to Roman Jost, Gjensidige, NORWAY.
Change 19.008 Variable SYNCNAME was added to the KEEP= for IMS597 so
VMACIMSA that variable PROGRAM will be populated in Fast Path
Feb 19, 2001 dataset.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 19.007 MXG 18.18 only. The BY statement in _SHPSUGL was missing
VMACMWSU its ending semicolon, and the extra semicolon at the end
VMACMWUX of MACRO _BHPUXDS was removed.
Feb 19, 2001
Change 19.006 The calculation of RDHITPCT in TYPE42DS was incorrect in
VMAC42 the denominator; the revised equation is:
Feb 19, 2001 RDHITPCT=(CACHHITS-WRITHITS)/(CACHCAND-WRITCAND);
The previous denominator was just CACHCAND and the value
calculated was too low.
Thanks to Ep van der ES, Dow Chemicals, BELGIUM.
Change 19.005 NTSMF files that have been COPYed and APPENDed without
VMACNTSM the /B parameter (search NEWSLTRS) and/or concatenated on
Feb 16, 2001 MVS have been found with a record of nulls (hex zeroes)
that MXG did not expect. This change detects and deletes
those records, printing a message that these bad records
were found in your input.
Thanks to Howard Glastetter, Weyerhaeuser, USA.
Change 19.004 SAS does not permit an ARRAY name to be the same as a
VMACSYNC variable name; a new ARRAY named DD defined in VMACSYNC
Feb 16, 2001 conflicted with a variable named DD in VMACRMDS, (only
if you tailored MXG to process both RMDS and SYNCSORT SMF
records in the same MXG datastep). Changing the ARRAY
names in VMACSYNC transparently corrects the conflict.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 19.003 IMS Version 7 requires Omegamon/IMS V500, but Candle says
TYPEITRF the upgrade from V300 to V500 is transparent as far as
Feb 14, 2001 their ITRF data records are concerned.
Thanks to Gene Quinn, Blue Cross of Rhode Island, USA
Change 19.002 Two new VGETxxx %MACROs were included in MXG 18.18 but
VGETENG they (and the new VGETxxx prefix) were not documented.
VGETOBS %MACROS that "Get" and return a value are named VGETxxx,
VMXGENG and the value "got" is returned in a macro variable that
Feb 14, 2001 is named VGETxxx. The two new implementations are:
Executing Will return
%VGETENG(DDNAME=yyyyyyyy); The Name of the SAS Engine
that created that yyyyyyyy
data library, in &VGETENG.
(Needed by MXG so we can
exploit V8 features.)
%VGETOBS(DDNAME=,DATASET=); The number of observations
in dataset DDNAME.DATASET
in &VGETOBS.
The earlier %VMXGENG macro still exists for compatibility
but it now invokes %VGETENG.
Thanks to Chuck Hopf, MBNA, USA.
Change 19.001 The _BTY30UV BY list in VMAC30 was not quite the same as
VMAC30 the order needed in BUILDPDB, and was corrected to be:
Feb 12, 2001 MACRO_BTY30UV READTIME JOB JESNR INITTIME INTETIME
DESCENDING INTBTIME MULTIDD EXTRADD %
(Note that SMFTIME is appended during the initial NODUP
sort in _STY30UV sort, but is not needed subsequently.)
Thanks to Barry McQueen, Department of Defence, Australia.
LASTCHANGE: Version 19.
=========================member=CHANGE18================================
/* COPYRIGHT (C) 1984-2001 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 18.18 is dated Feb 12, 2001, thru Change 18.360.
MXG Newsletter THIRTY-EIGHT is dated Feb 12, 2001.
MXG Version 18.12 was dated Jan 30, 2001, thru Change 18.341.
MXG Version 18.11 was dated Jan 4, 2001, thru Change 18.315.
First MXG Version 18.10 was dated Dec 20, 2000, thru Change 18.303.
MXG Version 18.09 was dated Oct 24, 2000, thru Change 18.264.
MXG Newsletter THIRTY-SEVEN was dated Oct 24, 2000.
MXG Version 18.08 was dated Sep 25, 2000, thru Change 18.238.
MXG Version 18.07 was dated Aug 31, 2000, thru Change 18.217.
First MXG Version 18.07 was dated Aug 30, 2000, thru Change 18.216.
Test MXG Version 18.07 was dated Aug 27, 2000, thru Change 18.204.
MXG Version 18.06 was dated Jul 28, 2000, thru Change 18.177.
MXG Version 18.05 was dated Jul 1, 2000, thru Change 18.154.
MXG Version 18.04 was dated May 15, 2000, thru Change 18.109.
Final MXG Version 18.03 was dated Apr 17, 2000, thru Change 18.086.
MXG Version 18.03 was dated Apr 12, 2000, thru Change 18.083.
First MXG Version 18.03 was dated Apr 11, 2000, thru Change 18.081.
Final MXG Version 18.02 was dated Mar 29, 2000, thru Change 18.052.
Second MXG Version 18.02 was dated Mar 16, 2000, thru Change 18.046.
First MXG Version 18.02 was dated Mar 15, 2000, thru Change 18.043.
MXG Version 18.01 was dated Mar 3, 2000, thru Change 18.021.
MXG Version 17.17 was dated Feb 7, 2000, thru Change 17.398.
Newsletter THIRTY-SIX was dated Feb 7, 2000, thru Change 17.398.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 18.18 was shipped to all MXG licensees.
II. Incompatibilities and Installation of MXG 18.18.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 18.18 is the annual version, Feb 12, 2001, and
it was sent to all MXG sites, and contains NEWSLETTER THIRTY-EIGHT.
Major enhancements added in MXG 18.18:
Support for z/OS Version 1.1 (COMPATIBLE).
Support for CICS/TS for z/OS Version 2.1 (INCOMPATIBLE).
Support for DB2 Version 7.1 (COMPATIBLE).
Support for Vital Signs VisionNet VSV TCPIP stats.
Support for Innovation Data Processing's FDR SMF.
Support for SYNCSORT Release 3.7 (COMPAT).
Support for IBM TapeTools MOUNTMON user SMF record.
ASUMTALO MAXDRVS greater than installed tape drives corrected.
New MACRO _Vdddddd KEEP=x y z %; finally makes KEEP= easy.
Major enhancements added in MXG 18.12:
Support for CA UNICENTER TNG AIX, CISCO, NT, and SOLARIS objects.
Support for SOLVE SMF Subtypes 1 and 2.
Support for SHADOW SMF Subtype 6.
Support for IBM Domino WebServer Logs enhanced.
Support for DFSMSRMM 1.5 changes (COMPATIBLE).
Major enhancements added in MXG 18.11:
Support for DB2 Space Manager 2.1 (INCOMPAT).
Support for NPM APAR OW45788 corrects LXETxxxx.
Scheduling Environment variables added to PDB.JOBS
MXG execution under SAS V8.1 notes consolidated in NEWSLTRS member.
Documentation of the Internal Logic of BUILDPDB in DOCPDB member.
Erroneous EXCLUDED FIELDS message, MXG 18.10 only, TS 1.3 only.
Major enhancements added in MXG 18.10:
RMFINTRV now calculates MSU4HRAV 4-hour running MSU avg for z/OS.
DB2ACCT variable DB2TCBTM included Stored Proc AS CPU time twice.
Support for MQ Series V5.2 (INCOMPATIBLE) SMF 115 and SMF 116.
Support for Websphere Appl Server (EE) Component Broker SMF 120.
Support for TMON for MVS 2.0 NQ records corrected.
Support for ANALRMFR to create HTTP Server Report from SMF 103.
Using IMACJBCK for DB2ACCT selection saves CPU time
NPM Type 28 Subtype 'DC'x caused INPUT EXCEEDED.
CICINTRV request for "EOD" did not sum correctly.
CICS 1.3 SAP Journal records in CICSJOUR vice CICSSAP
Support for Vital Signs VisionNet VSAM file.
Short JES3 type 6 record protected.
Support for APAR OW37743 corrected.
CICINTRV DSA size variables corrected.
Support for NETVIEW SMF 38 APAR OW45728.
Major enhancements added in MXG 18.09:
Support for NPM APAR OW37743 (INCOMPATIBLE if TIC3 and 3746).
Support for Neon System's Shadow Server V4.5 SMF record.
Support for NTSMF ADSM, ColdFusion, MQSeries, WorldSecure objects.
Support for Candle's Omegamon for VTAM TCP record.
TYPE74 PCTDVUSE,PCTDVCON, etc for PAV Volumes now less than 100%.
GRAFWORK/GRAFRMFI/GRAFTAPE SAS/GRAPH examples now output as HTML
TYPE70 variable CPCMODEL ('RX6') added, was already in TYPE70PR.
Format $MGSASPR maps SAS PROC name to Product name, for SAS SMF.
Major enhancements added in MXG 18.08:
Support for Landmark TMON for VTAM.
Support for Landmark TMON for DBCTL.
Support for Omegamon for VTAM V500 (COMPAT).
Support for Enterprise Data Access, EDA, SMF record.
Support for AS/400 Collection Services records.
Summarization/Trending for STC datasets.
ANALUAFF finds wasted tape drives for SORT without UNIT=AFF.
Major enhancements added in MXG 18.07:
Support for OS/390 R2.10 (INCOMPAT!). See Change 18.134.
R2.10 support was included in MXG 18.06, although there was no
statement of support in that Version, and the Change text was
"Reserved". MXG 18.06 or later is required for OS/390 R2.10.
Support for BMC MainView for MQ Series History File V2.1.
Support for APAR II11493 (INCOMPAT) type 50 SMF.
Support for APAR PN61399 TCP type 118 SMF.
Support for NTSMF object "SESSION", from Term Svcs.
Support for APAR OW45168 SMF type 94 confirmed.
Support for APAR OW43854, adds OPENTIME to SMF 62 and 64.
VMXGSUM revisions, VIEW used, can avoid I/O, can be big savings.
ASUMUOW revised, MQ Series added to DB2+CICS, VIEW used for speed.
TYPE71 Memory (Hi,Med,Low Impact Frames) now correct and useful.
Datasets TYPE7 and TYPE23 now automatically built by BUILDPDB/3.
Example ANALCNCR and PROC TABULATE create HTML format reports.
New %MACRO VMXGENG returns the ENGINE of a SAS dataset.
MXG Y2K error, BMC CICS Manager type 110 segment corrected.
Major enhancements added in MXG 18.06:
Support for OS/390 R2.10 (INCOMPAT!). See Change 18.134.
Support for OS/400 Release 4.5.0 (INCOMPATIBLE).
Support for IHS WEBSERVER SMF 103 APAR PQ32435, adds JOB/ASID.
Support for BETA93 Release 321 INCOMPATIBLE subtype 1 record.
Revised support for TYPEEDGS/TYPEEDGB for DFSMS/rmm.
TCP SMF 118 Bad Record INPUT STATEMENT EXCEEDED corrected (again).
SAS Version 8.1 causes Condition Code 4 and prints log message:
WARNING: ARGUMENT 3 TO MACRO FUNCTION %SUBSTR IS MISSING
because the length of their &SYSVER Version macro was shortened
from four to three. There is no execution impact, fortunately,
except that the warning causes MVS Condition Code/Return Code of
four instead of zero, and wastes your time in reading this!
See further discussion in Change 18.159 which revises MXG.
Major enhancements added in MXG 18.05:
Support for Domino Server R5.0.3 subtypes 2 and 6.
Support for Type 42 RLS Subtype 19 enhanced, fixed.
Support for COM Tran Integrator, TN3270 Server, etc.
Support for new NTSMF Objects in Windows 2000 Server.
Support for IBM Websphere SMF type 103 subtype 2 undoc field.
Support for 3494 Peer-to-Peer (Gemini).
Support for APAR OW41317 support, INCOMPAT R2.7, R2.8, R2.9.
IMS Log Version 5.1 caused zero obs in IMSTRAN in TYPEIMSA.
ANALSMJB Who is filling your active VSAM SMF file utility.
MEMSIZE removed, S=72,S2=72 restored to CONFIGV8.
Trending of NTSMF LOGLDISK for NT disk space in TRNDNTLD.
Additional ESS variables now decoded from type 6.
Summarize TYPETCPT to track concurrent users in ASUMTCPT.
Major enhancements added in MXG 18.04:
SAS V8.0/V8.1 errors can corrupt variable labels in tape datasets
built by the V8SEQ "tape" engine. Until the errors are fixed, I
strongly recommend that you change the default "tape" engine to
V6SEQ instead of V8SEQ (by adding SEQENGINE=V6SEQ to the CONFIGV8
member in your CONFIG concatenation, and by changing any LIBNAMEs
with "TAPE" engine specified to "V6SEQ", as discussed in the SAS
Technical Note 5 in Newsletter-to-be THIRTY-SEVEN (in NEWSLTRS &
in Newsletters on homepage), and in the text of Change 18.104.
Update July 26: SAS ZAP Z8002651 exists and corrects the error,
so that with that ZAP installed, the V8SEQ engine can be used.
TYPEIMSB correction for IMS 6.1 log processing.
Support for Roger Software Development RSD FOLDERS.
Support for MainView for CICS 5.3.01 (INCOMPATIBLE).
Major enhancements added in MXG 18.03:
Support for OS/390 Release 2.9 (17.17 support was not correct).
Support for NETSPY Release 5.3 (COMPATIBLE).
Support for CMA Release 1.11 (COMPATIBLE).
Support for OAM Release 1.5.0 (INCOMPATIBLE) SMF 85.
Support for Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE.
IMS Log OTMA/APPC transactions supported, dates fixed in ASMIMSLx.
ASUM70PR/ASUMCEC with ICFs had PCTLnBY and LPnDUR wrong
ASUMTALO corrected for SPINning (in-flight) allocations.
KEEPALL= argument for VMXGSUM was externalized to a Global macro.
Major enhancements added in MXG 18.02:
Support for Tivoli Netview Performance Monitor NPM 2.5 (SMF 28).
Support for GUTS Gutenberg Time Sharing user SMF records.
Support for optional CICS RMI counters.
Support for Oracle Version 7.3.3 (INCOMPATIBLE)
Support for retrofit APAR OW41317 was in MXG 17.17
Support for type 21 APAR OW40414, added four byte fields.
Recognition and non-counting of ICF processors is now corrected.
Major enhancements added in MXG 18.01:
MXG 18.01 replaced MXG 17.17 for ITSV sites. Changes made in MXG
17.17 to BUILDPDB/BUILDPD3, RMFINTRV, and ASUMTALO members had not
been tested with ITSV when MXG 17.17 was shipped. Change 18.009.
Using Report Performance Groups or Reporting Classes in IMACWORK
to define the workloads in our RMFINTRV dataset did not work in
MXG 17.17; enhancements to VMXGRMFI (invoked in RMFINTRV) support
using any mixture of report/control/service class to define your
RMFINTRV workloads. Revised UTILRMFI can be used to discover any
overlap if you get the "CPU TIMES DO NOT MATCH" error message.
Support for DB2 6.1 Buffer Pools 100+ in DB2ACCT/DB2STATS.
Support for Type 79 Subtype 15 IRLM Long Lock now validated.
ASUMUOW adds DB2ELAP to output, corrects wait for SPUN UOWs.
You can now use (COMPRESS=YES) with MACRO _Ldddddd definitions.
Blank value in JOBCLASS corrected.
ANALDSET needed _NULL to be added to its DATA statement.
Invalid Y2K date in BETA93 product now protected.
Type 39 record INPUT EXCEEDED RECORD error corrected.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
MXG 18.18 has been tested with SAS 6.09, SAS V8.0 TS M0/M1 and V8.1.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CRR 1.6 Jun 24, 1994 12.02
CRR 1.7 Apr 25, 1996 14.02
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 7.1.0 Mar 30, 2001 18.11
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
RMDS 2.1, 2.2 Dec 12, 1995 12.12
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 ??? ??, ???? 16.08
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 16.04
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
SAS Institute
SAS V8 (TS M0), (TS M1):
(Read member NEWSLTRS (search 'V8') for other V8 notes.
MXG 16.16 runs, prints "options CODEPCT/BLKSIZE don't exist".
MXG 17.01 removed options in CONFIGv8 member, Change 17.073.
MXG 17.07 exploits 32K character var length, Change 17.253
MXG 17.08 exploits INHERIT option VMXGSUM, Change 17.265.
MXG 18.04 changes V8 default to SEQENGINE=V6SEQ. Change 18.104.
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Windows 2000 Build 2195 17.10
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 16.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1) 16.04
Memorex/Telex
LMS 3.1 12.12A
MXG IMS-Log Not-Officially-Supported
IMS 6.1 - ASMIMSL6/TYPEIMSA 18.03
IMS 5.1 - ASMIMSL5/TYPEIMSA 18.03
Amdahl
APAF 4.1, 4.3 16.08
II. Incompatibilities and Installation of MXG 18.10.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
1. Incompatibilities introduced in MXG 18.10 (since MXG 17.17):
a- No changes in MXG architecture were made between 17.17 and 18.10
that introduced incompatibilities.
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.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 17.17 now in MXG 18.10:
Dataset/
Member Change Description
SAS V8 18.xxx SAS Version 8.1 notes are updated in member NEWSLTRS.
many 18.001 Duplicate removal by MXG _Sdddddd macro enhanced.
many 18.338 Description of soon-to-be-pervasive MACRO _Vdddddd.
many 18.317 Support for z/OS R1.1 (COMPATIBLE).
many 18.338 New MACRO _Vdddddd KEEP=x y z % ; syntax defined.
ANAL94 18.218 Report failed with PDB=SMF/PDBOUT=PDB.
ANALCNCR 18.326 Support for interval specification of MINUTE.
ANALCNR 18.089 Last period for synchronized intervals corrected.
ANALDB2R 18.067 Negative DD counts for OPEN/USED DDs in reports.
ANALDB2R 18.246 DB2 Report PMAUD03 failed, semicolon missing.
ANALDB2R 18.329 DB2 Accounting Summary enhanced for DB2 Version 6.
ANALDSET 18.010 _NULL_ needs to be added to DATA statement.
ANALHTML 18.177 ANALCNCR/PROC TABULATE HTML format reports w/ODS.
ANALRMFR 18.028 Partition Data Report supports CP/ICF.
ANALRMFR 18.302 Support for RMF HTTP Server Report from SMF 103.
ANALSMJB 18.149 Who is filling your active VSAM SMF file utility.
ANALTCP 18.091 Sample TCP/IP basic analysis reports.
ANALUAFF 18.234 Detect wasted tape drives for SORT without UNIT=AFF.
ASMIMSL5 18.030 APPC transactions caused negative SERVICETM
ASMIMSL5 18.060 IMS transactions thru OTMA and APPC revised.
ASMIMSL6 18.287 Assembly error: CLOSE (R3) s/b CLOSE ((R3)).
ASUM42DS 18.140 Variables CIOPCT, HITPCT, RDHITPCT were incorrect.
ASUM70PR 18.131 Amdahl SMF 70 LPARNUM=0, LPARNAME=Inactive error.
ASUMSTC 18.235 Summarization/Trending for STC datasets.
ASUMTALO 18.013 Failed under ITSV or with USER=WORK: Member Lock....
ASUMTALO 18.346 MAXDRVS greater than installed tape drives corrected.
ASUMTCPT 18.122 Summarize TYPETCPT to track concurrent users.
ASUMUOW 18.007 Wait times for spun UOWs corrected, DB2ELAP added.
ASUMUOW 18.204 Major rewrite, adds MQ Series data, easy tailoring.
BLDNTPDB 18.145 Revisions to use symbolics instead of hardcode dsn.
BUILDPD3 18.124 BUILDPD3 fails, VARS NOT SORTED WORK.TYPE25.
BUILDPDB 18.018 Blank value for JOBCLASS corrected.
BUILDPDB 18.094 If you want to write the PDB output to tape.
BUILDPDB 18.184 Datasets TYPE7 and TYPE23 now automatically built.
BUILDPDB 18.217 BUILDPDB Missing _S21 to build PDB.TAPES.
BUILDPDB 18.259 Do not redefine MACRO _BLD005 under SAS V8.
BUILDPDB 18.306 Scheduling Environment variables added to PDB.JOBS
BUILDPDB 18.312 Variable DATETIME now contains correct value.
BUILDxxx 18.014 Warning CODEPASS=2 eliminated, can be disregarded.
CONFIGV8 18.104 SAS V8 requires SEQENGINE=V6SEQ for tape datasets.
CONFIGV8 18.147A MEMSIZE removed, S=72,S2=72 restored to CONFIGV8.
DOCITSV 18.310 Example of ITSV macros needed to add new variable.
DOCMXG 18.168 Example of how to use USER=XYZ with MXG.
DOCPDB 18.315 Documentation of the Internal Logic of BUILDPDB.
EXCECTIM 18.066 Exit for PDB.ASUMCEC with different system clocks.
FORMATS 18.240 SAS user SMF record, $MGSASPR maps Proc to Product.
FORMATS 18.256 MG073CD decodes OSA EXPRESS and OSA EXPRESS DIRECT.
GRAFRMFI 18.263 GRAFRMFI Graphs from RMFINTRV now output as HTML.
GRAFSAMP 18.264 GRAFWORK sample using mainframe PDB, output to LAN.
GRAFTAPE 18.262 GRAFTAPE MXGTMNT and STK TRENDing, output as HTML.
GRAFWORK 18.264 GRAFWORK Graphs from RMFINTRV now output as HTML.
GRAFxxxx 18.220 SAS V8.0 (not 8.1) ERRORABEND with missing values.
IMAC6ESS 18.138 Additional ESS variables now decoded from type 6.
IMACICBB 18.190 MXG Y2K error, BMC CICS Manager now data-validated.
IMACICUS 18.036 Support for optional CICS RMI counters added.
IMACJBCK 18.289 Using IMACJBCK for DB2ACCT selection saves CPU time
JCLIMSL5 18.318 SORT FIELDS value should have been 35,8.
JCLMNTH 18.113 Monthly failed trying to build MONTH.ASUMCEC.
JCLUWOV 18.204 JCL Example for CICS+DB2+MQ Series merge.
MONTHBLD 18.135 WEEKBLD and MONTHBLD had wrong BY for TYPE30MU.
PRINTNL 18.058 No output if you did not use MXGSAS or CONFIG=.
RMFINTRV 18.000 Failed under ITSV, because of hardcode PDB.RMFINTRV.
RMFINTRV 18.111 Variable MVSLEVEL now kept in RMFINTRV.
RMFINTRV 18.298 Calculation of z/OS License Manager MSU4HRAV added.
RMFINTRV 18.345 High/Med/Low Impact Frame variables added to RMFINTRV
TRNDNTLD 18.145 Trending of NTSMF LOGLDISK for NT disk space util.
TYPE102 18.178 DB2 6.1 only, IFCID 106, end comment missing.
TYPE102 18.330 SQL Text truncated to 100 characters with V8/NoCOMP.
TYPE103 18.092 TYPE1032 dataset had missing values for variables.
TYPE103 18.129 IBM Websphere SMF type 103 subtype 2 undoc field.
TYPE103 18.172 Support for IHS WEBSERVER SMF 103 APAR PQ32435.
TYPE103 18.198 Variable BYREADCA negative, now BYREADCA=KBREADCA.
TYPE108 18.119 Support for Domino Server R5.0.3 subtypes 2 and 6.
TYPE110 18.188 INPUT STATEMENT EXCEEDED 110 Journal GLRHTYPE=2.
TYPE110 18.250 CICS STAT STID=126 zero obs in CICCFS6D dataset.
TYPE110 18.276 CICS 1.3 SAP Journal records in CICSJOUR vice CICSSAP
TYPE110 18.313 EXCLUDED FIELDS error message for TS 1.3 in error.
TYPE110 18.314 Support for CICS/TS for z/OS Version 2.1 (INCOMPAT).
TYPE110 18.333 New "Header" exit IHDR110S to skip unwanted STID's.
TYPE115 18.292A Support for MQ Series V5.2 (INCOMPATIBLE)
TYPE116 18.292A Support for MQ Series V5.2 (INCOMPATIBLE)
TYPE120 18.299 Support for Websphere Appl Server Comp Brok SMF 120.
TYPE21 18.026 Support for APAR OW40414, adds four byte fields.
TYPE28 18.032 Support for Tivoli Netview NPM V2R5 new subtypes.
TYPE28 18.254 Support for NPM APAR OW37743 (INCOMPAT if TIC3,3746).
TYPE28 18.257 NPM 28 NPMSUBTY=14x NRT non-fatal MXG messages.
TYPE28 18.273 Support for APAR OW37743 corrected.
TYPE28 18.279 NPM Type 28 Subtype 'DC'x caused INPUT EXCEEDED.
TYPE28 18.308 Support for NPM APAR OW45788 corrects LXETxxxx.
TYPE30 18.001 _Bdddddd list macros were updated for NODUP.
TYPE30 18.286 Init delays SMF30JQT/RQT/HQT/SQT incorrect.
TYPE30 18.344 Some duplicate steps were not removed by NODUP.
TYPE37 18.266 Support for NETVIEW SMF 38 APAR OW45728.
TYPE38 18.015 INPUT EXCEEDED RECORD SMF type 38 record.
TYPE39 18.185 Protection for NETVIEW SMF 39 overlaid ROUTE seg.
TYPE42 18.118 Support for Type 42 RLS Subtype 19 enhanced, fixed.
TYPE42 18.334 TYPE42XR dataset (XRC) was trashed; misaligned INPUT.
TYPE50 18.197 Support for APAR II11493 (INCOMPAT) type 50 SMF.
TYPE6 18.137 Variable CUTSHEET in TYPE6/PDB.PRINT was wrong.
TYPE6 18.274 Short JES3 type 6 record protected.
TYPE64 18.187 Support for APAR OW43854, adds OPENTIME to SMF 64.
TYPE70 18.258 Variable CPCMODEL ('RX6') added to TYPE70.
TYPE7072 18.023 SMF70CIN was reread, didn't remove ICFs.
TYPE7072 18.027 Support for retrofit APAR OW41317 was in MXG 17.17.
TYPE7072 18.120 APAR OW41317 support, INCOMPAT R2.7 or R2.8.
TYPE71 18.199 TYPE71 Memory (Hi,Med,Low Impact Frames) now useful.
TYPE74 18.049 "Broken RMF Record" over-protective, revised.
TYPE74 18.125 Extra observations in TYPE746B (HFG Global Buffs).
TYPE74 18.166 Variables R744Cxxx in TYPE74ST wrong in 2nd segment.
TYPE74 18.261 TYPE74 for PAV had over 100% for PCTDVUSE/ACT/CON/PND
TYPE79 18.004 Type 79 subtype 15 IRLM Long Lock now validated.
TYPE80A 18.024 INPUT STATEMENT EXCEEDED in RACFTYPE=39 segment.
TYPE85 18.055 Support for OAM Release 1.5.0 (INCOMPATIBLE) SMF 85.
TYPE94 18.123 Support for 3494 Peer-to-Peer (Gemini).
TYPE94 18.176 Support for APAR OW45168 confirmed.
TYPEAPAF 18.021 Support for APAF Release 4.6.
TYPEBETA 18.019 Invalid Y2K date now protected in BETA93 records.
TYPEBETA 18.164 Support for BETA93 Release 321 INCOMPATIBLE.
TYPECIMS 18.051 IMF Fast Path INPQUEUE, ARRIVTIME corrected.
TYPECIMS 18.191 New variable PSBNAME was still blank.
TYPECIMS 18.225 Counts in CIMSDB2 and CIMSDBDS wrong after Ch 17.303.
TYPECMA 18.056 Support for CMA Release 1.11 (COMPATIBLE).
TYPECMA 18.142 Subtype 6 variable SMFT06PC incorrect.
TYPEDB1 18.226 Variable JOB in DB2ACCT can be blank.
TYPEDB2 18.003 Support for DB2 6.1 Buffer Pools 100+ in DB2ACCT.
TYPEDB2 18.202 DB2GBPST,DB2STATS some QGBxxxx and QXxxxx vars wrong.
TYPEDB2 18.305 Support for DB2 Version 7.1 (COMPATIBLE).
TYPEDB2 18.348 QWAXxxxx variables now put back in QWACxxxx.
TYPEDCOL 18.224 DCOLLECT sort macros now remove duplicates.
TYPEEDA 18.227 Support for Enterprise Data Access, EDA, SMF record.
TYPEEDGR 18.322 Support for DFSMSRMM 1.5 changes (COMPATIBLE).
TYPEEDGS 18.128 DFSMS/rmm dataset EDGSVREC had blank dataset names.
TYPEEDGS 18.162 Support for DFSMS/rmm TYPEEDGS/TYPEEDGB still wrong.
TYPEEREP 18.183 EREP Symptom Record was incorrectly output.
TYPEFDR 18.351 Support for Innovation Data Processing's FDR SMF.
TYPEFTP 18.141 Variable DVGSBCNT has always been wrong.
TYPEGUTS 18.040 Support for GUTS, Gutenberg Time Sharing, SMF.
TYPEICE 18.136 RECTYPE=5 records were incorrectly output.
TYPEIMSB 18.103 IMS log processing, 18.03 only, IMS 6.1 only, error.
TYPEIMSB 18.139 IMS Log Version 5.1 caused zero obs in IMSTRAN.
TYPEIMSB 18.283 IMS 6.1, MSGSZOUT a constant, wrong value.
TYPEMIM 18.029 Variables labeled and reformatted
TYPEMVCI 18.087 Support for MainView for CICS 5.3.01 (INCOMPATIBLE).
TYPENSPY 18.069 Support for CA's NETSPY 5.3 (COMPATIBLE).
TYPENSPY 18.232 STOPOVER ABEND NETREC='I' with NSPYENTL=124.
TYPENSPY 18.323 Variable TIC_UTIL now created in NSPYTIC3 dataset.
TYPENTSM 18.110 Support for COM Tran Integrator, TN3270 Server, etc.
TYPENTSM 18.143 Support for new NTSMF Objects in Windows 2000 Server.
TYPENTSM 18.193 Support for NTSMF object "SESSION", from Term Svcs.
TYPENTSM 18.245 Support for NTSMF ADSM/ColdFusn/MQSeries/WorldSecure
TYPEOMVT 18.229 Support for Omegamon for VTAM V500 (COMPAT).
TYPEOMVT 18.244 Support for Candle's Omegamon for VTAM TCP record.
TYPEORAC 18.034 Support for Oracle Version 7.3.3 (INCOMPATIBLE).
TYPEORAC 18.133 Oracle CPUTM is revised based on Oracle feedback.
TYPEQACS 18.222 Support for AS/400 Collection Services records.
TYPEQAPM 18.173 Support for OS/400 Release 4.5.0 (INCOMPAT LRECLs).
TYPERMFV 18.326 CSA, ECSA, SQA, ESQA variables calculated.
TYPERMFV 18.349 Support for RMF III for z/OS (COMPAT).
TYPERSDF 18.093 Support for Roger Software Development RSD FOLDERS.
TYPESARR 18.270 SARRU33 records from CA-VIEW subtype 33 corrected.
TYPESHDW 18.247 Support for Neon System's Shadow Server V4.5 SMF.
TYPESHDW 18.311 Support for SHADOW SMF Subtype 6.
TYPESOLV 18.332 Support for SOLVE SMF Subtypes 1 and 2.
TYPESPMG 18.311 Support for DB2 Space Manager 2.1 (INCOMPAT).
TYPESTC 18.035 VTCS 2.2 VTV Timestamps invalid, corrected.
TYPESYNC 18.347 Support for SYNCSORT Release 3.7 (COMPAT).
TYPETCP 18.171 TCP SMF 118 Bad Record INPUT STATEMENT EXCEEDED.
TYPETCP 18.196 Support for APAR PN61399 TCP type 118 SMF.
TYPETLMS 18.355 Support for TLMS 5.5 records; there was no change.
TYPETMDC 18.231 Support for Landmark TMON for DBCTL.
TYPETMS5 18.054 PROC SORTs now have _WTMSTMS/_WTMSDSN for Work copy.
TYPETMV2 18.290 Support for TMON for MVS 2.0 NQ records corrected.
TYPETMVT 18.236 Support for Landmark TMON for VTAM.
TYPETNG 18.337 Support for CA's UNICENTER TNG performance cubes.
TYPEVITA 18.275 Support for Vital Signs VisionNet VSAM file.
TYPEVITA 18.353 Support for Vital Signs VisionNet VSV TCPIP stats.
TYPEWWW 18.327 Support for IBM Domino WebServer Logs enhanced.
TYPEXPTR 18.073 Support Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE
UTILRMFI 18.017 Utility to detect overlap in RMFINTRV workloads.
VMACDB2 18.300 DB2ACCT variable DB2TCBTM included SPAS CPU twice.
VMXGCICI 18.268 CICINTRV DSA size variables corrected.
VMXGCICI 18.278 CICINTRV request for "EOD" did not sum correctly.
VMXGDEL 18.020 You can use (COMPRESS=YES) with MACRO _Ldddddd.
VMXGDUR 18.326 Support for interval specification of MINUTE.
VMXGENG 18.182 New %MACRO to determine the ENGINE of a SAS dataset.
VMXGRMFI 18.009 Using Report PGNs or Reporting Classes didn't work.
VMXGRMFI 18.038 Added COMPAT GOAL SYSx to USECNTRL/USEREPRT
VMXGRMFI 18.062 New RMFINTRV parms KEEPPGN/KEEPRPGN/KEEPSRV/KEEPRSRV
VMXGRMFI 18.088 Using VMXGRMFI with TREND= and PDB=blank corrected.
VMXGSUM 18.182 VIEW used to avoid physical I/O, can be big savings.
VMXGSUM 18.326 Support for interval specification of MINUTE.
VMXGUOW 18.204 New %MACRO to support ASUMUOW revisions.
VMXGUOW 18.281 Logic errors corrected.
WEEKBLD 18.135 WEEKBLD and MONTHBLD had wrong BY for TYPE30MU.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 18.
======Changes thru 18.360 were in MXG 18.18 dated Feb 12, 2001======
Change 18.360 Support for IBM's free MOUNTMON tape mount and allocation
EXMOUNTM monitor creates the new MOUNTMON dataset from either the
TYPEMOUN flat file or the SMF record. Support for this monitor
TYPSMOUN was prompted by concerns that the MXG Tape Mount Monitor
VMACMOUN was missing fast, scratch Virtual Tape mounts, and if the
VMXGINIT IBM freebie did better, I was prepared to restructure the
Feb 11, 2001 ASUMTAPE logic to use their record instead of ASMTAPE's
TYPFMOUN SMF record, but the initial comparison with three day's
data with both monitors running showed MOUNTMON saw 462
mounts with 1 second sampling and MXGTMNT saw 452 with 2
second default sampling, so I'm greatly encourages that
no errors are seen in MXGTMNT capture of mounts. However
as the IBM monitor captures Device Pend/Dis/and Connect
times, I will evaluate an enhancement to combine both
monitor's data and improve the quality of MXG measurement
of tape mounts and tape drive usage. The IBM MOUNTMON
monitor is written and supported by Dennis Haight, and is
available at ftp://ftp.software.ibm.com/storage/tapetool/
-Member TYPFMOUN processes the flat file when MOUNTMON is
not writing to SMF.
Thanks to Mike Shapland, (i)Structure, USA.
Change 18.359 This analysis of the new z/OS MSU capacity was provided
ANALMSU by Alan Sherkow. See the text of Change 18.298 for the
Feb 11, 2001 discussion of PDB.RMFINTRV's new MSU4HRAV variable that
measures your current capacity in Millions of Service
Units (per hour) for License Manager pricing.
Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.
Change 18.358 My QA stream reports variables with blank labels, but now
DOC I've actually used it to clean up labels in these members
Feb 11, 2001 ASUMCACH ASUMTAPE ASUMVMON CHANGES TYPEIMS TYPETMS5
VMAC30 VMAC42 VMAC50 VMAC90A VMAC91 VMACBGSI
VMACGUTS VMACHURN VMACIMS VMACNTSM VMACRSDF VMACSTC
VMACTMDB VMACTMS5 VMACTMV2 VMACTNG VMACVITA VMACXPTR
VMXGRMFI. These member's update date was updated but
the last change referenced is the prior change.
Change 18.357 Eight TMS flag variables from the TMSREC record are now
TYPETMS5 propagated into the pseudo TMSDSNB observation created
VMACTMS5 from the TMSREC. The DSNBssss suffixes updated are
Feb 11, 2001 DSNBUSRU/TMSI/ECAT/ABND/ISCA/DFXU/WSCA/DFLT (into DSNB)
UPD/ETM/CAT/ABN/FILEISCA/DEFEXPOO/E99/DEF (from TMS).
New DEVTYPE values for Redwood, STK 9842 and 3590E are
created from TRTCH values of E4-E7 and EA-EB.
Thanks to David Ehresman, University of Louisville, USA.
Change 18.356 SAS SMF record pads SASPROC with '00'x instead of blank,
VMACSASU causing SASPROD to be UNKNOWN because the $MGSASPR table
Feb 9, 2001 expected blanks. SASPROC= TRANSLATE(SASPROC,' ','00'x);
was added to convert the '00'x to blank (and note that
a blank, rather than '40'x is used so the code will work
under either ASCII or EBCDIC) before the create of:
SASPROD=PUT(SASPROC,$MGSASPR.);
Thanks to Jim Peddycord, The Northern Trust Company, USA.
Change 18.355 Support for TLMS 5.5 records; there were no changes to
TYPETLMS the record or to MXG; this is just for documentation.
Feb 9, 2001
Change 18.354 Collected updates and new features added.
ASUMCACH -ASUMCACH added KEEPALL=YES, ID=DEVICE and the logic to
ASUMSMFI keep only DASD devices; tape devices were reported.
FORMATS -New ASUMSMFI summarizes PDB.SMFINTRV, keeping only the
VMXG2DTE variables needed for problem solving and accounting.
ASUM23 -New format MGPCTGR is used to print horizontal graphs in
TRND23 DB2 reporting.
ASUMVMNT -New VMXG2DTE macro is self-documenting and provides the
TRNDVMNT creation of week-to-date and month-to-date summarization.
ASUMVTVM The algorithms can interleave or APPEND the output.
ADOCUOW -Summarization and trending of TYPE23 (SMF activity) is
Feb 12, 2001 provided in the new ASUM23/TRND23 members
-Summary of VSM recall and migrate activity by hour from
STCVSM19 records is provided in new ASUMVTVM member.
-Summary of VSM mount activity is summarized in ASUMVMNT
and TRNDVMNT from STCVSM13 records.
-Revision of documentation for large volume CICS/DB2 shows
how best to set up VMXGUOW processing, in member ADOCUOW.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 18.353 Support for Vital Signs VisionNet Record created new MXG
EXVITATC dataset VSVTCPIP with VSV TCPIP Interface Stats, but
IMACVITA there will be additional datasets created from their VSAM
TYPEVITA file.
TYPSVITA
VMACVITA
Feb 8, 2001
Thanks to Craig Collins, State of Wisconsin IT Services, USA.
Change 18.352 Running MXG under ASCII SAS to create DB2ACCT dataset did
VMACDB2H not convert the NETSNAME to ASCII, so you could not match
Feb 8, 2001 the DB2 plan back to its CICS transaction.
Thanks to Mark Cohen, DTS, ITALY.
Change 18.351 Support for Innovation Data Processing's FDR user SMF
EXFDRDSF record creates new FDRDSF dataset with an observation for
FORMATS each FDR event.
IMACFDR
TYPEFDR
TYPSFDR
VMACFDR
VMXGINIT
Feb 8, 2001
Thanks to Shawn Beardsley, NDC Health Information Services (AZ), USA.
Change 18.350 Cosmetic. Labels were missing for variables in VMACDB2
VMACDB2 (PLAN,TRAN), in VMAC28(NRTDTYPE), in VMXGRMFI(CECSUSEC),
VMAC28 VMAC42(SMF42NRS), and VMAC74(SMF74CNF,SMF74CNX). Labels
VMXGRMFI for CSFRxxAV and ESFRxxAV that didn't have AVE, now do.
VMAC42
Feb 7, 2001
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 18.349 Support for RMF III changes for z/OS COMPATIBLY added a
EXZRBCPU few fields, and three previously undecoded segments are
EXZRBCSR now decoded to create these three new datasets:
EXZRBPGP ZRBCPU - Processor
IMACRMFV ZRBCSR - Common Storage Remaining
VMACRMFV ZRBPGP - Performance Group Period
VMXGINIT This change also added the CSA/ECSA/SQA/ESQA variables in
Feb 5, 2001 Change 18.325. Many variables are still the accumulated
value, and have not been divided by their sample count.
Please validate that the variables of interest to you do
match their RMF III screen values, and let me know if you
find any needed corrections for MXG variables.
Thanks to Thom Kight, Fidelity Systems, USA.
Change 18.348 MXG created QWAXvvvv variables in DB2ACCT from the new
VMACDB2 QWAX segment, but I failed to realize that most of those
Feb 5, 2001 QWAX fields were existing QWACvvvv variables, with some
new QWAX fields. Instead of extending QWAC, IBM created
the new QWAX segment; if it exists, your QWAC fields are
all zero. I should never have created the QWAXvvvv names.
So this change now stores the QWAXvvvv values in QWACvvvv
variables that exist, and creates new QWACvvvv variables
for the new QWAX fields.
I should DROP the QWAXvvvv variables now, but I can't do
that without warning, as those few of you who found the
QWAX variable names would have reports failed, so this is
your warning: Do Not use QWAXvvvv variable names.
Use their QWACvvvv counterpart instead.
Variable names starting with QWAXvvvv will go away soon!
And if you want to drop them now, with this change, you
can use the _KDB2ACC macro to drop them, with:
MACRO _KDB2ACC DROP=
QWAXALCT QWAXALOG QWAXANAR QWAXARNC QWAXARND QWAXAWAR
QWAXAWCL QWAXAWDR QWAXOCSE QWAXSLSE QWAXDSSE QWAXOTSE
QWAXOCNS QWAXSLNS QWAXDSNS QWAXOTNS
QWAXAWFC QWAXFCCT QWAXIXLE QWAXIXLT
QWAX fields so your existing and future programs work
with the same QWACvvvv names in your future reports, and
this change accomplishes that: use QWACvvvv instead of
QWAXvvvv in any reports you write.
QWAXxxxx variables should not have been created at all,
but since I can't safely DROP them without warning, here
is your warning:
Don't USE DB2ACCT variables named QWAXxxxx;
Instead, use QWACxxxx with the same suffix
Thanks to Alan Winston, MBNA,USA.
Change 18.347 Support for SYNCSORT Release 3.7 (COMPAT) adds variables.
VMACSYNC SYNCSORT now permits up to 100 SORTWORK DDs, so VMACSYNC
Feb 8, 2001 can creates up to 100 sets of variables for each sort
work area, but the MXG default is 32, previously the max
that SYNCSORT allowed. You can increase the number of
sets of variables if you have more than that:
-You can change it permanently by adding this statement in
your IMACKEEP member to re-definite the default value:
MACRO _NSYNCWK 100 %
-Or, to increase it just for this execution of TYPSSYNC,
you can change it "Instream" with this in your //SYSIN:
%LET MACSYNC= MACRO _NSYNCWK 99 % ;
(you can track variable NRWRKUSE in TYPESYNC to see if
more than 32 sort works are being used).
Note: Dec 2001: The DDnames are SORTWK00-SORTWK99, but
SAS will start with SORTWK01 and not use SORTWK00.
Thanks to Chuck Hopf, MBNA,USA.
Change 18.346 ASUMTALO could have MAXDRVS greater than installed drives
ASUMTALO when tape drives are switched between systems, because of
Feb 3, 2001 slightly different timer pops on different systems. One
event with ALOCEND=11:22:05.79 on SYSA was followed by an
event with ALOCSTRT=11:22:05.60 on SYSB. The overlap is
always less than the monitor interval (2 second default);
code inserted into an existing step now detects any such
overlap and resets the ALOCSTRT to the previous ALOCEND.
Thanks to Bruno Peeters, Dexia, BELGIUM.
Change 18.345 The High/Med/Low Impact Average Frame variables are now
VMXGRMFI MAX'ed for each interval and added to PDB.RMFINTRV. The
Feb 2, 2001 variables that are added are these:
CSFRSRAV CSFRWLAV CSFRFXAV CSFRLSAV CSFRTOAV CSFRAVAV
CSFRHIAV CSFRLOAV CSFRMEAV ESFRSRAV ESFRWLAV ESFRHSAV
ESFRLSAV ESFRTOAV ESFRAVAV ESFRHIAV ESFRLOAV ESFRMEAV
Thanks to Peter Smith, SEMA, ENGLAND.
Change 18.344 Some duplicate steps were not removed by PROC SORT NODUP
VMAC30 because the BY list did not force adjacency if there was
Feb 1, 2001 a real step and a flushed step with the same TERMTIME.
Variable INITTIME was needed at the end of the BY list
defined in MACRO _BTY30U4.
Thanks to Michael Oujesky, MBNA, USA.
Change 18.343 MXG 18.12 only. Typo in label had *' instead of * in
VMACIAM one label in this (fortunately) seldom-used code; typo
Jan 31, 2001 was made incorrectly after final QA.
Change 18.342 Variables CSFRLSAV and ESFRLSAV were incorrect; parens
VMAC71 were missing. The correct equations are:
Jan 31, 2001 CSFRLSAV=CSTORE-(CSFRTOAV-CSFRFXAV);
ESFRLSAV=ESTORE-(ESFRTOAV-ESFRHSAV);
Thanks to Peter Smith, Sema plc, ENGLAND.
======Changes thru 18.341 were in MXG 18.12 dated Jan 30, 2001======
Change 18.341 A short first record in the Catalog Export's output file
VMACCTLG caused notes on the log, but no error. The record is now
Jan 30, 2001 decoded and the time stamp text string is printed on log.
Thanks to Len Rugen, State of Missouri Department of Education, USA.
Change 18.340 BETA93 variable JESNR was missing for JOB/TSU/STC. Add
VMACBETA ELSE DO;
Jan 29, 2001 JESNR=INPUT(SUBSTR,JCTJOBID,4,5), ?? 5.);
END;
in two places so JESNR will be populated.
Thanks to Klaus Messer, COMLAB GmbH, GERMANY.
Change 18.339 Divide by zero protected in two places in this analysis
ANALCACH example.
Jan 29, 2001
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 18.338 New MXG enhancement defines new MACRO _Vdddddd that
DOC lets you use this simple and straightforward syntax:
Jan 28, 2001 %LET MACKEEP= MACRO _Vdddddd KEEP= A B C % ;
(or you can put that MACRO _Vdddddd in member IMACKEEP)
to KEEP only those variables want kept in an MXG dataset!
The original design of the _Kdddddd macro will still
be supported (documented in DOCMXG), but that syntax
still requires you to list those variables that you do
not want to keep, using a DROP= statement; kludgy!
This change moves the text of the KEEP= and its list from
inside the _VARxxxx macro into a new _Vdddddd for each
MXG dataset, and the syntax of the _VARxxxx definition
was changed to use that new _Vdddddd token:
_Wddddddt (LABEL='THE*LABEL*FOR*THE*DATASET'
_Vdddddd _Kdddddd )
While being easy to use, the new _Vdddddd will also truly
keep only what you want; using _Kdddddd to DROP variables
only drops variables you listed; all new MXG variables
(a new release of CICS?) will be kept in your output data
set until you edited your DROP= list.
You can put the MACRO _Vdddddd definitions in IMACKEEP
if you ALWAYS want only those variables kept in that data
set, or you can tailor a job in its //SYSIN "instream",
so the macro changes only what's created by that job.
Using the CICSTRAN dataset as an example, you look up the
"dddddd" dataset-suffix name in the IMACxxxx member for
the TYPExxxx product, so IMAC110 tabulates the dddddd for
each MXG dataset built from the type 110 SMF record. The
IMAC110 member show you that "CICTRN" is the dddddd name
for the "CICSTRAN" dataset, so this instream tailoring
creates CICSTRAN.CICSTRAN with only three variables kept:
//SYSIN DD *
%LET MACKEEP=
MACRO _VCICTRN KEEP= APPLID TRANNAME TASCPUTM% ;
;
%INCLUDE SOURCLIB(TYPE110);
This is an internal text change inside VMAC members, and
it should be transparent to your existing tailoring.
Since datasets with lots of variables are the ones most
likely to need KEEP= tailoring, datasets with the most
variables were revised first; most have been enhanced but
not all MXG members were finished when 18.18 was ready.
These members that already defined an _Vxxxxxx macro were
set aside to be examined later:
TYPEAXC,TYPECMA,TYPEFTP,TYPEICE,TYPEIMS1,TYPEOMCI,
TYPEPW,TYPEQACS,TYPEQAPM,TYPEQTRT,TYPETUX,TYPEVMXA,
TYPEXAM,TYPE102,TYPE28,TYPE79,TYPE84
Change 18.337 Support for CA's UNICENTER TNG performance cubes data for
EXTAI001- AIX, CISCO, WIN-NT, and SOLARIS platforms creating these:
EXTAI005 MXG
EXTC2001- Platform Object Max Max Max DATASET
EXTC2002 Instance Vars Rows NAME
EXTC7001 AIX411: BUFFER 1 8 95 AI001
EXTNT001- CPU 1 5 95 AI002
EXTNT020 PAGING 1 4 95 AI003
EXTSO001- QUEUES 1 4 95 AI004
EXTSO015 SWAPPING 1 1 95 AI005
FORMATS CIS2500: CISCO 7 130 76 C2001
IMACTNG MIB-2 34 89 76 C2002
VMACTNG CIS7500: CISCO 24 166 76 C7001
TYPETNG NTS400I: BROWSER 1 20 95 NT001
TYPSTNG CACHE 1 27 95 NT002
UTILTNGO ICMP 1 27 95 NT003
VMXGINIT IP 1 17 95 NT004
Jan 28, 2001 LOGICALDISK 5 21 95 NT005
MEMORY 1 27 140 NT006
NBT CONNECTION 8 3 95 NT007
NETBEUI 2 39 71 NT008
NETBEUI RESOURCE 13 3 71 NT009
NETWORK INTERFACE 3 17 140 NT010
OBJECTS 1 6 95 NT011
PAGING FILE 2 2 140 NT012
PHYSICALDISK 3 19 140 NT013
PROCESSOR 2 10 95 NT014
REDIRECTOR 1 37 95 NT015
SERVER 1 26 140 NT016
SERVER WORK QUEUES3 17 140 NT017
SYSTEM 1 25 140 NT018
TCP 1 9 95 NT019
UDP 1 5 95 NT020
SOL240S: BUFFER 1 8 12 SO001
CPU 1 5 12 SO002
DISK 3 6 12 SO003
FILE-ACCESS 1 3 12 SO004
FILESYSTEM 2 3 12 SO005
IPC 1 2 12 SO006
KERNEL MEMORY ALLOC1 8 12 SO007
MEMORY 1 2 12 SO008
NETWORK 5 5 12 SO009
PAGING 1 11 12 SO010
QUEUES 1 4 12 SO011
SWAPPING 1 5 12 SO012
SYSTEM-CALLS 1 7 12 SO013
TABLES 1 7 12 SO014
TERMINAL 1 6 12 SO015
The dataset names in this implementation are structured:
Dataset Name: PPOOO
WHERE PP= Platform Type 2-Character Abbreviation:
AI=AIX411 C2=CIS2500 C7=CIS7500
NT=NTS400I SO=SOL240S
OOO= Object Number within Platform (see above)
Variable Name: PPOOOVVV
VVV= Variable (metric) number within object.
The Label for each MXG dataset is the Object Name; the
Label for each MXG variable is the Metric Name. Use the
PROC CONTENTS DATA=PDB._ALL_ DETAILS; to display what is
what in the AInnn,C2nnn,C7nnn,NTnnn and SOnnn datasets.
This is a departure from MXG variable naming. Most MXG
names are abbreviations for what it is, but these names
are all cryptic, except for the common BY variables of
PLATFORM SYSTEM INSTANCE and STARTIME. If it turns out
that having "real MXG variable names" is needed, perhaps
to match existing variables from other data sources, an
optional rename with PROC DATASETS will be developed.
New metrics/platforms/objects are easy to add; MXG notes
new objects and metrics on the log, telling you to run
UTILTNGO program, and email me the report and the OBJECTS
dataset. I can create the needed code from those files.
The next major enhancement to TNG support (2nd Quarter?)
will make the processing of TNG data completely dynamic:
I will only create datasets for those objects that had
data in the input file, and will only keep variables for
metrics that were found in the input file. That will
minimize the space required and remove the clutter of the
un-measured variables, and the completely new algorithms
in this support were designed with that intention.
Standard MXG PDB:
You will continue to have the option of building the
standard all-variable all-datasets PDB library from TNG
data, so your PDB libraries are consistent, with missing
values in variables that were not measured, and with
zero observations in datasets for objects that were not
found in today's data.
Dynamic MXG PDB:
You can tell MXG to construct the datasets and variables
that were found in today's input data stream, using only
the amount of storage and processing to be determined by
the data stream.
This architecture is extendable to other data sources
that have one row of raw data describing the object and
the metric followed by that one column of data values.
-Over a year ago, Roman Jost tried to convince me that
TNG was a find source of data, and sent me code that
read the TNG data, but it took me a year to finally
realize how I could write supportable code. This
development was actually triggered by a phone call
after CMG from the mid-west insurance company that had
written a C-program to "decode the performance cube
data". I had all along assumed that some API-issuing C
program or a vendor-provided utility was needed to read
the data, but when I realized this C program read a
flat file and wrote a flat file, and then actually
looked at a faxed dump of three records, I saw that the
raw data could be processed with SAS.
-My first pass took two days, and I read each record to
create one dataset for each variable, outputting an obs
for each data value, and then merged those datasets
together to create a dataset per object. I tested the
prototype with an NT cube with four objects and twenty
metrics, and the logic performed as designed.
-Then I wrote a SAS utility to generate all of the SAS
statements I would need to create a dataset for all of
the other objects and variables in all cubes for five
platforms, executed the generated code, and it worked.
However, with a small performance cube (64KB in size),
the program used 330 MegaBytes of disk storage and 10
minutes to create those 800+ datasets!
-Examining the structure of these data, I realized that
with fairly limited numbers of observations and limited
numbers of objects in one single input cube, arrays to
store a single performance cube was all that was needed
and that generated names for variables and datasets was
the best solution for this type of data structure; at
the end of each input cube, one dataset per object is
created, containing all of that object's metrics, so
there are 44 datasets created, one per object.
-The final run with multiple input of 24 daily cubes, at
15 minute intervals, 10,000 records, 6.6MB of raw data,
now took 25 seconds (12 to read and create datasets,
and 13 seconds to sort them into the PDB), used 17MB of
disk work space, with less than 6MB virtual storage for
all arrays, so the algorithm should scale well as new
objects and metrics are added in the future. The MXG
output PDB library was 6MB of disk for 24 days data,
using COMPRESS=YES under Win98 on a 500MHz Pentium III.
COMPRESS=NO took 2 seconds longer, needed 37MB for
work space and created a 12MB PDB on disk; I've
previously reported that COMPRESS=YES saves time and
disk space on Pentium architecture.
Change 18.336 -Device Number variables STC13DID/STC14DID are character
VMACSTC variables formatted with $HEX4., which do not translate
Jan 24, 2001 correctly between EBCDIC and ASCII platforms. New DEVNR
variable is created as numeric and formatted HEX4., so it
matches DEVNR in other MXG datasets like TYPE74.
See Newsletter "Executing SAS on PCs and Workstations"
-STC does not store anything into the channel interface
name field, variable STC11INM, so we will now store the
channel interface number as a character in STC11INM with:
IF STC11INM LE ' ' THEN STC11INM=PUT(_I_,8.);
so that if they change their mind and store a value in
the future, you'll get it, but for now, we need to sort
by STC11INM. (The LE ' ' catches both blanks and hex
zeros).
Thanks to Chuck Hopf, MBNA, USA.
Change 18.335 Testing statement PUT RTYPE= $HEX2.; should have been
VMACNAF deleted, and now it is. Only impact was a large SASLOG.
Jan 24, 2001
Thanks to Robert A. Brown, Arthur Anderson, USA.
Change 18.334 XRC dataset TYPE42XR had trash; the INPUT was misaligned.
VMAC42 The following INPUT statement was inserted before the
Jan 23, 2001 existing DO statement in member VMAC42:
INPUT @S42XRSSO @;
DO _I_=1 TO S42XRSSN;
Thanks to John Nalesnik, The Prudential, USA.
Thanks to Brenda Rabinowitz, The Prudential, USA.
Change 18.333 New "Header" exit IHDR110S for the CICS 110 Statistics
IHDR110S STID segments allows you to skip unwanted subsubtypes
VMAC110 and thereby save CPU time for the INPUT statements, if
Jan 22, 2001 you only want to output one or a few STID's (like STID=25
a year's CICLDR observations). See IHDR110S comments;
you simply set variable STIDWANT to 1 or zero, using:
IF STID =25 THEN STIDWANT=1;
ELSE STIDWANT=0;
or
IF STID IN (1,5,9, ..) THEN STIDWANT=1;
ELSE STIDWANT=0;
to skip unwanted STID segments, you should also throw
away the unwanted subtype 1 transaction record and other
unwanted statistics subtypes using the MACFILE tailoring:
%LET MACFILE= %QUOTE (
IF ID=110 ;
IF SUBTYPE=2;
);
so only (in this case) subtype 2 records, which contain
subsubtype 25 records, are input past the SMF header.
Note these mappings of subtypes to STID's:
0 - Journal
1 - Transaction, Exception, Dictionary
2 - Statistics - all other STIDs
3 - Statistics - STIDs 121,122,123
4 - Statistics - STIDs 126, 127, 128, 129
5 - Statistics - STIDs 124, 125
Change 18.332 Support for Solve SMF subtypes 1 and 2 create new dataset
EXTYSOL1 TYPESOL1 for FTS File Send/Receive.
FORMATS
IMACSOLV
VMACSOLV
VMXGINIT
Jan 20, 2001
Thanks to Aubrey Tang, Westpac Banking Corporation, AUSTRALIA.
Change 18.331 Validation of Shadow SMF subtype 6 changed variable
VMACSHDW SM06SQSR from numeric to variable length 32000 if under
Jan 19, 2001 V8 with COMPRESS=YES, or will be broken down into 100
byte pieces and output in multiple records (with resource
counts set to missing values in the SM06SEGN=2nd and
subsequent observations). All test records had SQL text
truncated at byte 255, with the rest of the SM06SQLN
bytes filled with hex zeroes. That may be an error or
an installation choice; it is under investigation, but
MXG prints one instance if found.
Thanks to Chris Morgan, IBM Integrated Technology Services, ENGLAND.
Change 18.330 Character strings (SQL text) greater than 100 bytes long
VMAC102 were truncated to 100 bytes if run under SAS V8 without
Jan 19, 2001 COMPRESS=YES. The tests to decide to break the long text
into 100 byte chunks was IF &SASVER GE 7 THEN DO; but
that was changed to IF &SASCHRLN LE 100 THEN DO; because
the &SASCHRLN length is set greater than 100 only if both
SAS V8 is being used AND COMPRESS=YES is used.
Change 18.329 The DB2 Accounting Summary report is enhanced to match
ANALDB2R the DB2 Version 6 DB2PM reports.
Jan 18, 2001
Jan 30, 2001
Change 18.328 The MQIN view/dataset was not deleted at the end of the
VMXGUOW program, causing no error, but inconsistent with MXG's
Jan 17, 2001 deleting of temporary datasets from the work file.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 18.327 IBM Domino WebServer logs are readable with TYPEWWW code,
TYPEWWW but the statement FULLURL=SUBSTR(FULLURL,1,LOC-1); was
Jan 16, 2001 changed to FULLURL=SUBSTR(FULLURL,1,LOC-10). Without the
change, variable FULLURL contained the URL plus the
variable HTTPCLVS.
Thanks to Greg Meyer, Isuzu Motors, USA.
Change 18.326 Interval specification of MINUTE are now supported in the
ANALCNCR VMXGSUM, VMXGDUR, and ANALCNCR functions, if you need the
ASUMTALO minute details. Hardcode INTERVAL=HOUR and divides by
VMXGDUR 3600 were replaced with _TALOINT and _TALOSECS macros
VMXGSUM that can be changed to MINUTE and 60 to get minutes.
Jan 15, 2001
Thanks to Luc Mattheus, DEXIA Bank, BELGIUM.
Change 18.325 Variables CSA, ECSA, SQA, and ESQA are now calculated in
VMACRMFV the RMF Monitor III dataset ZRBASI to track the sizes of
Jan 15, 2001 those memory areas allocated to each ASID/JOB, and the
variables GEICSAAS and GEISQAAS are divided by samples.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 18.324 Invalid data for RMGTSHTR (CICS Statistics) is because
VMAC110 the MSEC8. format still does not support values greater
VMACTMDB than 24 hours. I thought I had replaced all uses of the
Jan 12, 2001 MSEC8. informat with &PIB.8.6 and a divide by 4096, back
in Change 12.030, a few MSEC8 crept back in the IBM CICS
and the Landmark DB2 code. All have been replaced.
Thanks to Roman Jost, Gjensidige, NORWAY.
Change 18.323 Variable TIC_UTIL is now created in the NSPYTIC3 dataset.
VMACNSPY
Jan 11, 2001
Thanks to Tom Neurauter, Fidelity Investments, USA.
Change 18.322 Support for DFSMSRMM 1.5 changes (COMPATIBLE, new fields
EXEDGRK were added at end, new subtype added):
IMACEDGR -Dataset EDGRDEXT (DSN Record) new variables:
VMACEDGR RDVRSSCH='PRIMARY*VRS*SUBCHAIN'
VMXGINIT RD2VJBN ='SECONDARY*VRS*JOBNAME*MASK'
Jan 9, 2001 RD2VNME ='SECONDARY*VRS*NAME*MASK'
RD2VSCH ='SECONDARY*VRS*SUBCHAIN*NAME'
RD2VXDS ='SECONDARY VRS*SUBCHAIN*START DATE'
RDVRSXDS='PRIMARY*VRS*SUBCHAIN*START DATE'
-Dataset EDGRVEXT (VOL Record) new variables:
RVCONTNR='IN*CONTAINER*NAME'
(appears to be updated only for exported tapes).
RVRQPRTY='MOVEMENT*PRIORITY'
-New dataset EDGRKEXT created from new type K record.
RKCOUNT ='VITAL RECORD COUNT'
RKCRDATE='VITAL*RECORD*CREATE*DATE'
RKCRSID ='CREATE*SYSTEM*ID'
RKCRTIME='VITAL*RECORD*CREATE*TIME'
RKCRTJBN='JOBNAME'
RKDELAY ='DAYS*DELAY*BEFORE*SELECTION'
RKDELDAT='DATE VRS*IS TO BE*DELETED*BY RMM'
RKDESC ='DESCRIPTION'
RKDSNAME='DATA*SET*NAME'
RKDSNG ='DATASET*NAME*MASK IS*GDG?Y/P/N?'
RKGENKEY='DSET/VOL*GENERIC*CHARACTERS?'
RKLCDATE''LAST*CHANGE*DATE'
RKLCSID ='LAST*CHANGE*SYSTEM ID'
RKLCTIME''LAST*CHANGE*TIME'
RKLCUID ='LAST*CHANGE*USER ID'
RKLOC ='NAMEAOF LOCATION TO BE STORED'
RKLOCTYP='LOCATION*TYPE?*A/M/S/ '
RKNAME ='VRS*NAME'
RKNEXT ='NAMEAOF NEXT VRS IN THE CHAIN'
RKOWNER ='VITAL*RECORD*OWNER'
RKRETNC ='RETAIN*BASED ON*CYCLES?'
RKRETND ='RETAIN*BASED ON*ELAPSED DAYS?'
RKRETNR ='RETAIN*BASED ON*UNREFERENCED DAYS?'
RKRETNW ='RETAIN*ONLY WHILE*CATALOGED?'
RKRETNX ='RETAIN*UNTIL*EXPIRED?'
RKSTNUM ='STORE KEEP NUMBER'
RKTYPE2 ='VRS*TYPE*V=VOL*D=DSET*N=NAME'
RKVOLSER='VOLUME*SERIAL'
Thanks to Carl Kyonka, Enbridge, CANADA.
Change 18.321 Warning that variable RPRTCLAS was duplicated in an ID
TRND72GO argument was valid, but of no impact. RPRTCLAS was added
Jan 9, 2001 to the SUMBY= by Change 18.189 but should have also been
removed from the ID= argument. Now it is.
Change 18.320 MXG 18.06-MXG 18.10, and only if VMXGSUM was called twice
BLDNTPDB with &DDNAME as an input argument (we found it only in
VMXGSUM BLDNTPDB and only in the LDSK report). Change 18.182
Jan 9, 2001 added a call to new %VMXGENG (to determine the SAS engine
that created the input dataset), but used DDNAME for a
temporary macro, and then changed its value. This change
eliminates the use of DDNAME inside VMXGSUM. There was no
change made to member BLDNTPDB.
Thanks to Terry Heim, ECOLAB, USA.
Change 18.319 The calculation of Standard Deviation was incorrect;
TRNDCICS the logic from TRNDCICX was imported into TRNDCICS.
Jan 9, 2001
Change 18.318 The SORT FIELDS= value in JCLIMSL5 should have been
JCLIMSL5 SORT FIELDS=(1,12,A,35,8,A,29,1,A),FORMAT=BI
Jan 9, 2001 The change was made in JCLIMSL6 but not in L5.
Thanks to Roman Jost, Gjensidige Gruppen, NORWAY.
Change 18.317 Support for z/OS R1.1 (COMPATIBLE).
VMAC7072 TYPE70: New z/OS metrics for this CPU/SYSTEM:
VMXGRMFI CPUADJCH='PHYSICAL*CPU*ADJ FACTOR*CHANGED?'
Jan 5, 2001 Changed only by Capacity Upgrade on Demand.
Jan 20, 2001 SUAVAICH='SU*AVAILABLE*CHANGED?'
SMF70CPA='SU_SEC*OF THE*PHYSICAL*CEC'
SMF70LAC='IBM*4-HR*AVERAGE*HOURLY MSU'
SMF70WLA='Defined*Capacity*SU*Available'
TYPE70PR: New z/OS metrics for each LPAR segment:
LPARCLND='CAPACITY*LIMIT*NOT*DEFINED?'
LPARDCLC='DEFINED*CAPACITY*LIMIT*CHANGED?'
LPARWLMG='WLM*MANAGEMENT*OF THIS*LPAR?'
LPARWTFD='WAIT*TIME*FIELD*DEFINED?'
SMF70MSU='DEFINED*CAPACITY*LIMIT*IN MSU'
SMF70NSA='PCT WHEN*AT MAXIMUM*PARTITION*WEIGHT'
SMF70NSI='PCT WHEN*AT MINIMUM*PARTITION*WEIGHT'
SMF70NSW='PCT WHEN*LPAR WAS CAPPED*BY WLM'
SMF70ONT='LPAR*ONLINE*TIME'
SMF70PMA='AVERAGE*IRD*ADJUSTED*PARTITION*WEIGHT'
SMF70WST='LPAR*WAIT*TIME'
RMFINTRV: Variables from TYPE70 now maxed into RMFINTRV:
SMF70LAC='IBM*4-HR*AVERAGE*HOURLY MSU'
SMF70WLA='MAX SU*AVAILABLE*TO MVS*IMAGE'
Additional z/OS changes:
New TYPE74 Subtype 7 FICON Director - await test data,
will be supported ASAP, new MXG dataset(s) to be.
New TYPE99 Subtype 8 LPAR CPU Management - no data.
Similar to subtype 2, will decode upon request.
New TYPE99 Subtype 9 Dynamic Channel Path Management.
Have data, will decode upon request.
Type 78.1 documentation was removed.
Type 79.13 documentation was removed.
MXG support is based on pre-GA documentation, and there
may be differences in the GA level of the product.
Change 18.316 The null macro _NSHDW was incorrect and if you tried to
VMACSHDW use it, you got a strange "180" error about "WORK".
Jan 4, 2001
Thanks to Wayne A. Schumack, Blue Cross Blue Shield of Minnesota,USA.
======Changes thru 18.315 were in MXG 18.11 dated Jan 3, 2001======
Change 18.315 Documentation of the Internal Logic of the MXG PDB. This
DOCPDB was presented as a 3-hour Workshop prior to CMG 2000.
Jan 3, 2001
Change 18.314 Support for CICS TS for z/OS Version 2.1 (INCOMPAT):
EXCICEJR As usual, while there's some interesting new metrics that
EXCICIIR IBM added to the CICSTRAN record, they inserted those new
EXCICSJG fields (instead of adding them at the end of the segment)
EXCICSOG so you MUST install this change to process 2.1 records.
EXCICSOR -Dataset CICSTRAN - New variables inserted:
IMACCICS JVMITICN='CICS JVM*INITIALIZE*ELAPSED*COUNT'
VMAC110 JVMITITM='CICS JVM*INITIALIZE*ELAPSED*TIME'
VMXGINIT JVMRTICN='CICS JVM*RESET*ELAPSED*COUNT'
Jan 3, 2001 JVMRTITM='CICS JVM*RESET*ELAPSED*TIME'
Jan 28, 2001 KY8CPUCN='USER-TASK*KEY 8*TCB CPU*COUNT'
KY8CPUTM='USER-TASK*KEY 8*TCB CPU*TIME'
KY8DISCN='USER-TASK*KEY 8*TCB DISPATCH*COUNT'
NETID ='NETWORK*QUALIFIED*NAME*NETWORK ID'
OTSINDCN='OTS*INDOUBT*WAIT*COUNT'
OTSINDTM='OTS*INDOUBT*WAIT*TIME'
OTSTID ='OTS*TRANSACTION*ID*(TID)'
PORTNUM ='TCP/IP*SERVICE*PORT*NUMBER'
RLUNAME ='NETWORK*QUALIFIED*NAME*NETWORK*NAME'
RQPWAICN='REQUEST*PROCESSOR*WAIT*COUNT'
RQPWAITM='REQUEST*PROCESSOR*WAIT*TIME'
RQRWAICN='REQUEST*RECEIVER*WAIT*COUNT'
RQRWAITM='REQUEST*RECEIVER*WAIT*TIME'
SOCHRIN ='SOCKET*CHARACTERS*RECEIVED'
SOCHROUT='SOCKET*CHARACTERS*SENT'
SOCNPSCT='CREATE*NON-PERSISTENT*SOCKET*REQUEST'
SOCPSCT ='CREATE*PERSISTENT*SOCKET*REQUEST*COUNT'
SOEXTRCT='SOCKET*EXTRACT*REQUEST*COUNT'
SONPSHWM='NON-PERSISTENT*SOCKET*HIGH-WATER-MARK'
SOOIOWCN='OUTBOUND*SOCKET*I/O*WAIT*COUNT'
SOOIOWTM='OUTBOUND*SOCKET*I/O*WAIT*TIME'
SOPSHWM ='PERSISTENT*SOCKET*HIGH-WATER-MARK'
SORCVCT ='SOCKET*RECEIVE*REQUEST*COUNT'
SOSENDCT='SOCKET*SEND*REQUEST*COUNT'
SOTOTCT ='SOCKET*TOTAL*REQUEST*COUNT'
TCPSRVCE='TCP/IP*SERVICE*NAME'
WBBRWCT ='WEB BROWSE*REQUEST*COUNT'
WBEXTRCT='WEB EXTRACT*REQUEST*COUNT'
WBREADCT='WEB READ*REQUEST*COUNT'
WBWRITCT='WEB WRITE*REQUEST*COUNT'
-New CICS Statistics STIDs create new MXG datasets:
STID Name MXG DSN Description
107 STISOG CICTCPSO TCP/IP Sockets Global
108 STISOR CICTCPIP TCP/IP Services (Sockets)
111 STIIIR CICTCPII TCP/IP II Domain RequestModel
114 STIEJR CICTCPEJ TCP/IP Entrprse Java ObjContainer
117 STISJG CICTCSJG TCP/IP JVMPOOL Statistics
MXG support is based on pre-GA documentation, and there
may be differences in the GA level of the product.
Change 18.313 MXG 18.10 only. Change 18.280 caused CICS/TS 1.3 records
VMAC110 to print error messages about EXCLUDED fields when there
Jan 2, 2001 were no excluded fields, and records were deleted:
***ERROR.TYPE110.CICS TS 1.3. EXCLUDED FIELDS HAVE BEEN DETECTED.
MXG EXPECTED MCTSSDCN=202 AND MCTSSDRL=1260.
RECORD WAS DELETED, CICSTRAN DATA WAS LOST.
SYSTEM=XXXX APPLID=YYYYYYYY SMFPSRVR=53 MCTSSDCN=203 MCTSSDRL=1288
(Disregard the "MXG EXPECTED" text, which was also wrong,
and note that the final line of the error message showing
MCTSSDCN=203 is the correct minimum number of fields.)
The test in line 6977 in VMAC110 was changed from 203 to
204 when it should have remained 203. The correction is
to change that line back to test for LT 203:
6976 ELSE IF SMFPSRVR GE 53.0 THEN DO;
6977 IF MCTSSDCN LT 203 OR MCTSSDRL LT 1288 THEN DO;
If optional fields exist in your type 110 record, this
error does not occur, which is why I missed it in 18.10!
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.312 Variable DATETIME is kept in 169 MXG datasets, but it has
BUILD005 different meanings depending on which dataset it was in,
BUIL3005 and in the PDB.JOBS/STEPS/PRINT/SPUNJOBS datasets, it was
SPUNJOBS not correct. In those four datasets, while labeled as
Jan 2, 2001 "DATETIME OF SHIFT CALCULATION", its value was the time
of the beginning of the shift, rather than the actual
DATETIME value of the job.
Originally, "DATETIME" was a temporary variable that
was used as the input datetime value for your IMACSHFT
definition, to set the value of the character variable
SHIFT. So that summarization with VMXGSUM could
exploit your shift definitions, IMACSHFT changes the
value returned in variable DATETIME, setting its value
back to the time of the start of this shift.
But along the way, DATETIME was accidentally kept in
some datasets, so now it must be corrected where it is
wrong, and documented where it is different.
Now, in the PDB.JOBS/STEPS/PRINT/SPUNJOBS dataset, the
value that is returned in variable DATETIME will be the
original value that was used to calculate the shift:
PDB.JOBS and PDB.SPUNJOBS:
MAX(READTIME,INITTIME,JINITIME,JINLTIME,JSTRTIME);
PDB.STEPS:
MAX(READTIME,INITTIME);
PDB.PRINT:
MAX(READTIME,PRINTIME);
The MAX() is used since some timestamps may be missing,
and the Max/Last datetime value is the logical time of
the job start, step initiate, or print file print time.
In these summary datasets that contain variable DATETIME:
ASUMxxxx CICINTRV CICS JOBSKED MNTHxxxx TRNDxxxx
it is properly labeled 'START OF INTERVAL' and contains
that correct value. In some of those datasets. variable
STARTIME exists and is equal to DATETIME, and where it
exists, STARTIME is better as it is self-describing!
In dataset EREPTIM, DATETIME='DATETIME FOR IPL RECORDS'
and is correct, as IMACSHFT is not invoked in VMACEREP.
In the many OPCxxxxx datasets, DATETIME='EVENT DATETIME',
and is correct, as IMACSHFT is not used here, either.
Thanks to Cendrine Pezier, ABS Technologies, FRANCE.
Change 18.311 Support for DB2 Space Manager 2.1 (INCOMPATIBLE) from SE
FORMATS (Software Engineering). The "current" date/time fields at
VMACSPMG the start of the record were removed, shifting the real
Jan 2, 2001 date/time fields to the left. No error message occurs,
but variable SPMGTIME is missing. FORMATs were updated
to print "Blank:TYPE1" instead of " :TYPE1" (cosmetic).
And variables FARINDRF,NEARINDR,PCTACTIV and PCTDROP are
set missing if they contain all FFx.
Thanks to Anke Mineur, DVG, GERMANY.
Change 18.310 Documentation. Example invocation of the ITSV macros
DOCITSV that are needed to add a new MXG variable into the ITSV
Jan 2, 2001 PDB (in case you need something not yet in ITSV).
Thanks to Chris Weston, SAS ITSV, USA.
Change 18.309 The WorldSecure SMTP Relay object printed UNEXPECTED OBJ
VMACNTSM message; the NRNAMES=NRNAMES-1; statement for that object
Jan 2, 2001 should have been deleted.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.308 Support for APAR OW45788 for NPM corrects the lengths of
VMAC28 several LXETxxxx variables in the X.25 Session dataset
Dec 26, 2000 NPMEVX25 that were originally mis-documented by IBM.
Change 18.307 Variable MSU4HRAV was correct for a uni-processor, but
VMXGRMFI was wrong in magnitude for multi-processors; NRCPUS(II)
Dec 26, 2000 was needed in the numerator of MSU4HRAV calculation.
Variable CECSUSEC is now kept, and the absence of //SPIN
DD statement no longer causes a failure.
Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.
Change 18.306 The Scheduling Environment name, SMF30PFL, and durations
BUILD005 SMF30HQT/JQT/RQT/SQT, are added to the PDB.JOBS dataset
BUIL3005 (JES2 or JES3, BUILDPDB/BUILDPD3. Those five variables
VMAC30 will be of long term importance in job scheduling, and so
Dec 23, 2000 are now automatically in PDB.JOBS. The change in VMAC30
was cosmetic; SMF30PFL was hex zeros when not populated;
now those '00'x will be translated to blanks.
Thanks to Stephen Marksamer, The Hartford, USA.
Change 18.305 The text of Change 18.300, re DB2TCBTM, was revised and
VMACDB2 the MXG equation, changed by this change, is now:
Dec 21, 2000 DB2TCBTM=
Jan 29, 2001 SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);
This change added support for DB2 Version 7.1 (COMPAT):
DB2ACCT new variables:
QBGA2H ='ASYNC*IXLCACHE*FOR SECC GBP'
QBGA2S ='COMPLETION*CHECKS*SUSPENDED'
QBGA2W ='CHANGED PAGE*WRITES TO*SEC GBP '
QBGAEX ='*EXPLICIT*XI-S'
QBGAHS ='ASYNCH*IXLCACHE*FOR PRI GBP'
QBGAGG ='GET PAGES*FOR GBP*DEP PAGES'
QWACARLG='TRACE EVENT*FOR WAITS*FOR LOG WRITE*I/O'
QWACARNK='CHILD L-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNM='OTHER L-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNN='PAGESET P-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNO='PAGE P-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNQ='OTHER P-LOCKS*GLBL CONTENTION*EVENTS'
QWACAWLG='WAIT TIME*FOR LOG WRITE*I/O'
QWACAWTK='WAIT TIME*GLBL CONTENT*CHILD L-LOCKS'
QWACAWTM='WAIT TIME*GLBL CONTENT*OTHER L-LOCKS'
QWACAWTN='WAIT TIME*GLBL CONTENT*PAGESET P-LOCKS'
QWACAWTO='WAIT TIME*GLBL CONTENT*PAGE P-LOCKS'
QWACAWTQ='WAIT TIME*GLBL CONTENT*OTHER P-LOCKS'
QWACRBSV='ROLLBACK TO*SAVEPOINT*REQUESTS'
QWACRLSV='RELEASE*SAVEPOINT*REQUESTS'
QWACSVPT='SAVEPOINT*REQUESTS'
QWAXAWFC='WAIT TIME*FOR FORCE*AT COMMIT'
QWAXFCCT='WAITS FOR*FORCE*AT COMMIT'
QWAXIXLE='EVENTS FOR*ASYNC*IXLCACHE*IXLFCOMP'
QWAXIXLT='WAIT TIME*FOR IXLCACHE*IXLFCOMP'
QXDCLGTT='DECLARE*GLOBAL*TEMP TABLE*STMTS'
QXDEGDTT='PARALLEL*GROUPS*DECLARED*TEMP TABLE'
QXSETCPR='SET*CURRENT*PRECISION*STATEMENTS'
DB2ACCTP new variables:
QPACARNK='CHILD L-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNM='OTHER L-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNN='PAGESET P-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNO='PAGE P-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNQ='OTHER P-LOCKS*GLBL CONTENTION*EVENTS'
QPACAWTK='WAIT TIME*GLBL CONTENT*CHILD L-LOCKS'
QPACAWTM='WAIT TIME*GLBL CONTENT*OTHER L-LOCKS'
QPACAWTN='WAIT TIME*GLBL CONTENT*PAGESET P-LOCKS'
QPACAWTO='WAIT TIME*GLBL CONTENT*PAGE P-LOCKS'
QPACAWTQ='WAIT TIME*GLBL CONTENT*OTHER P-LOCKS'
DB2ACCTG new variables:
QBGA2H ='ASYNC*IXLCACHE*FOR SECC GBP'
QBGA2S ='COMPLETION*CHECKS*SUSPENDED'
QBGA2W ='CHANGED PAGE*WRITES TO*SEC GBP '
QBGAEX ='*EXPLICIT*XI-S'
QBGAGG ='GET PAGES*FOR GBP*DEP PAGES'
QBGAHS ='ASYNCH*IXLCACHE*FOR PRI GBP'
DB2STATS new variables:
(DB2STAT0)
Q9STCTRZ='DISPLAY*FUNCGION*COMMANDS'
Q9STCTX0='START*FUNCTION*COMMANDS'
Q9STCTX1='STOP*FUNCTION*COMMANDS'
Q9STCTX2='SET*LOG*COMMANDS'
Q9STCTX3='DISPLAY*LOG*COMMANDS'
Q9STCTX4='SET*SYSPARM*COMMANDS'
QDSTCIN2='CURRENT*TYPE 2*INACTIVE*THREADS'
QDSTMADS='MAXIMUM*ACTIVE DBAT SLOTS NOT INUSE'
QDSTMIN2='MAXIMUM*TYPE 2*INACTIVE*THREADS'
QDSTMQR2='MAXIMUM*TYPE 2*QUEUED*REQUESTS'
QDSTNADS='CURRENT*ACTIVE DBAT SLOTS NOT INUSE'
QDSTNDBA='REQUESTS*REQUIRING*DBAT'
QDSTNITC='CONNECTIONS*TERMINATED*MAX TYPE 1'
QDSTNQR2='CURRENT*TYPE 2*QUEUED*REQUESTS'
QDSTPOOL='REQUESTS*SATISFIED*BY POOL THREAD'
QDSTQIN2='QUEUED*RECEIVE*REQUESTS*FOR TYPE 2'
QJSTBPAG='LOG-WRITE*BUFFER*PAGE INS'
QJSTCIWR='LOG*CI-S*WRITTEN'
QJSTLOGW='LOG WRITE*I/O*REQUESTS'
QJSTLSUS='SUSPENDS*FOR LOG WRITE'
QJSTSERW='SERIAL*LOG WRITE*REQUESTS* FOR REWRITE'
QJSTTHRW='TIMES*LOG WRITE*THRESHOLD*WAS REACHED'
(DB2STAT1)
QISEDFAL='FAIL*DUE TO*DATASPACE FULL'
QISEDFRE='FREE PAGES*IN DATASPACE*FREE CH'
QISEDPGE='PAGES*IN EDM*DATASPACE'
QTRACAUT='SUCCESS*AUTH CHECKS*FOR ROUTINES'
QTRACNAC='DB2 UNABLE*TO ADD ENTRY*TO AUTH CACHE'
QTRACNOT='ROUTINE*AUTH CHECKS*NON USE*AUTH CACHE'
QTRACOW1='DB2 OVERWROTE*AUTHID IN*AUTH CACHE'
QTRACOW2='DB2 OVERWROTE*ENTRY IN*AUTH CACHE'
QTRACPUB='SUCCESS*AUTH CHECKS*HELD BY*PUBLIC'
QXDCLGTT='DECLARE*GLOBAL*TEMP TABLE*STMTS'
QXDEGDTT='PARALLEL*GROUPS*DECLARED*TEMP TABLE'
QXSETCPR='SET*CURRENT*PRECISION*STATEMENTS'
DB2STAT2 new variables:
QDBPPGST='PGSTEAL*ATTRIBUTE'
QDBPSLA ='QDBPSLA*SERVICEABILITY'
QDBPVDQB='POOL*VERTICAL*WRITE*THRESHOLD'
QDBPVPTY='VPTYPE*ATTRIBUTE'
T102S006 new variables:
QW0006PG QW0006FG
T102S016 new variables:
QW0016WT
T102S017 new variables:
QW0017TY
T102S022 new variables:
QW0022AS QW0022CC QW0022CE QW0022FG QW0022QO QW0022RS
QW0022CY QW0022F2 QW0022NP QW0022PA QW0022TT
T102S022 new variables:
QW0023R1
-Additional T102Snnn subtypes will be decoded upon request
MXG support is based on pre-GA documentation, and there
may be differences in the GA level of the product.
======Changes thru 18.304 were in MXG 18.10 dated Dec 20, 2000======
Change 18.304 First MXG 18.10 only. Cosmetic. Label was truncated for
ASUMCICS variable SYSTEM and CPUTM had no label, because the equal
Dec 20, 2000 sign after CPUTM was missing.
======Changes thru 18.303 were in MXG 18.10 dated Dec 20, 2000======
Change 18.303 Cosmetic, in that the statement was never executed, but
VMXGCICI %ELSE INTRVSEC=0; should have been %ELSE %LET INTRVSEC=0;
Dec 19, 2000
Thanks to Russell Dewar, National Australian Bank, AUSTRALIA
Change 18.302 Support for APARs OW44845 and OW47050 adds a new report,
ANAL103 the HTTP Server Report, from SMF 103 records!
ANALRMFR MXG parameter overrides:
Dec 19, 2000 MXG HTTP Server Summary Report
%ANALRMFR(REPORT=HTTP);
DEFAULT is to create:
Interval of DATE and Report is HTTPSUM.
To create another Interval other than Date.
%ANALRMFR(REPORT=HTTP,RPTOPT=HTTPSUM,
INTERVAL=HOUR);
Create MXG HTTP Server Detail Report
%ANALRMFR(REPORT=HTTP,RPTOPT=HTTPDTA);
Values have not been verified, see comments within
ANALRMFR for more detail of overrides.
A DDNAME of PDB is now required anytime ANALRMFR is
invoked, whether it is a TEMPORARY SAS library
//PDB DD UNIT=SYSDA,SPACE=(CYL,(5,5))
or a CATALOGED SAS library:
//PDB DD DSN=MXG.PDB,DISP=(,CATLG),
// DCB=RECFM=FS,
// UNIT=SYSDA,SPACE=(CYL,(5,3))
New member ANAL103(HTTP), documentation only, how to
create the associated Post-processor RMF reports.
Change 18.301 Validated reports with FICON data records. REPORT=CHAN,
ANALRMFR columns READ(MB/SEC) and WRITE(MB/SEC) values were output
Dec 19, 2000 even if they were missing. Values were corrected to
match IBM RMF report. APAR OW42945 updated the Partition
Data Report to now include two TOTAL lines, one for all
CP partitions and one for all ICF partitions.
Thanks to Trevor Holland IBM/GSA Australia
Change 18.300 MXG 17.17 thru MXG 18.09 only. Variable DB2TCBTM in data
VMACDB2 set DB2ACCT included CPU time in Stored Procedure Address
Dec 07, 2000 Spaces twice. Both variables QWACSPCP and QWACSPTT were
Dec 18, 2000 added by MXG Change 17.382 to the DB2TCBTM formula,
Dec 21, 2000 DB2TCBTM=SUM((QWACEJST-QWACBJST),QWACSPCP,QWACSPTT);
because I read "not recorded" in IBM DB2 V6.1 DSNWMSGS:
QWACSPCP ACCUMULATED TCB TIME SPENT PROCESSING SQL CALL STATEMENTS
QWACSPCP IN THE DB2 STORED PROCEDURES ADDRESS SPACE OR A WLM
QWACSPCP ADDRESS SPACE. THIS TIME IS CALCULATED ONLY IF
QWACSPCP ACCOUNTING CLASS 1 IS ACTIVE.
QWACSPCP FOR A THREAD THAT USES RRSAF TO CONNECT TO DB2 AND
QWACSPCP IS SWITCHED AMONG TASKS, THIS VALUE IS 0.
QWACSPTT ACCUMULATED TCB TIME SPENT IN DB2 PROCESSING SQL
QWACSPTT STATEMENTS ISSUED BY STORED PROCEDURES. THIS IS <===
QWACSPTT THE TIME NOT RECORDED IN QWACSPCP. THIS TIME IS
QWACSPTT CALCULATED ONLY IF ACCOUNTING CLASS 2 IS ACTIVE.
and so I concluded that both SPCP and SPTT must be added,
and made Change 17.282 in January, 2000. But when data
had large and nearly equal values in both SPCP and SPTT,
we queried IBM DB2 support, who investigated and replied
that internal documentation showed that SPTT was included
in SPCP, and DSNWMSGS was wrong and would be corrected.
IBM DB2 support also confirmed that the additional CPU
time field for the execution of triggers under enclaves,
variable QWACTRTE, is also not included in EJST-BJST and
it must also be added to get the Total DB2 TCB CPU time
in DB2ACCT. So the final (Dec 21) equation is:
DB2TCBTM=
SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);
The SPAS accounting error surfaced when one user saw the
daily DB2 CPU time for his AUTHID jump from 20.17 seconds
when only EJST-BJST was charged, to 137.57 seconds when
SPCP=58.76 and SPTT = 58.60 were both added by MXG; the
user's bill increased by a factor of six!
His real cost without the double accounting was 78.93,
so his bill should increase by a factor of only four.
For this one AUTHID, SPAS CPU time was significant, and
because the SPTT time recorded was also large, the MXG
double accounting was significant. But that may not be
the general case; overall, SPTT seems to be quite small,
even when SPCP is large. Looking at the daily totals
from two sites shows that including SPCP can be
significant, but the CPU time in SPTT was insignificant:
One site Other site
EJST-BJST 166,612 1,095,220.92
QWACSPCP 205,839 389.34
QWACTRTE 0 0
DB2TCBTM 372,451 1,095,610.26
QWACSPTT 2,902 388.00
You should run a PROC MEANS SUM DATA=PDB.DB2ACCT;
to determine the impact of including SPTT at your site.
Dec 21 update: Today I looked at the DSNDQWAC DSECT, and
it was right all along, as it documents that:
QWACSPTT THE ACCUMULATED TCB TIME CONSUMED IN DB2 PROCESSING SQL
STATEMENTS ISSUED BY STORED PROCEDURE(S)
AND INCLUDED IN QWACSPCP <<===== !!!!!
It's all about knowing which documentation to believe!
To summarize what has been true in DB2ACCT and ASUMUOW:
- DB2TCBTM is calculated as
SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);
QWACSPCP and QWACTRTE are added by MXG into DB2TCBTM
QWACSPTT is NOT added, because it is in QWACSPCP.
Thank to Steve Colio, CIGNA, USA.
Thanks to Jiann-Shiun Huang, CIGNA, USA
Thanks to Curt Cotner, IBM, USA.
Change 18.299 Support for SMF 120 record for Websphere Application
EXT120CC Server Enterprise Edition OS/390 Component Broker
EXT120CM Version 3.02, added by APAR OW44456.
EXT120SA There are four subtypes, described by IBM as:
EXT120SC
EXT120SI Subtype=1: Server Activity Record:
FORMATS Created for each activity that is running inside a
IMAC120 Websphere Application Server. This record can be used to
TYPE120 perform basic charge back accounting as well as profiling
VMAC120 of customer written applications to determine in detail
VMXGINIT what is happening inside the Websphere Application
Dec 16, 2000 Server.
MXG dataset TY120SA
Subtype=2: Container Activity Record
Created for each activity that runs inside a container
located in a Websphere Application Server. This record
can be used to perform basic charge back accounting,
application profiling, problem determination, and
capacity planning. MXG Datasets TYP120CA/TYP120CC and
TYPE102CM.
Subtype=3: Server Interval Record
Created for each server instance that has interval
recording active during the interval. The purpose of this
record subtype is to record activity that is running
inside a Websphere Application Server. This record is
produced at regular intervals and is an aggregation of
the work that has run inside the server instance during
the interval. MXG Dataset TYP120SI.
Subtype=4: Container Interval Record
Created for each active container located in a Websphere
Application Server. This interval record provides a
snapshot view of the activity running inside the
container. This record can be used to perform application
profiling, problem determination, and capacity planning.
MXG Dataset TYP120CI.
And IBM APAR OW44456 requires the following doc changes:
Periodically, IBM refreshes documentation on our Web
site, so the changes might have been made before you
read this text. To access the latest on-line
documentation, go to the product library page at:
www.ibm.com/software/webservers/appserv/library_390.html
And support provides a new edition:
Document Name: WebSphere Application Server Enterprise
Edition for OS/390 Operations and Administration
Document Number: GA22-7328-01
The new edition contains a chapter (Chapter 9) that
explains how to set up and use the new SMF recording
support and an appendix (Appendix A) that describes
the new SMF record type 120.
To get the new edition, go to our Web site at:
www.ibm.com/software/webservers/appserv/library_390.html
IBM support also requires changes to existing doc:
Document Name: WebSphere Application Server Enterprise
Edition for OS/390 Component Broker Planning and
Installation Guide
Document Number: GA22-7325-00
See revisions in the APAR OW44456 text.
This support has not been tested with 120 SMF records.
Change 18.298 Support for the z/OS License Manager's new LPAR capacity
VMXGRMFI measurement: "Four-Hour Running Average MSU", with MSU in
TRNDRMFI "Million Service Units per Hour", based on the raw SU_SEC
Dec 12, 2000 of the physical platform. New MXG variable MSU4HRAV is
Dec 18, 2000 now created in the PDB.RMFINTRV dataset, and it is that
Feb 10, 2001 value that z/OS will pass to the License Manager, which
is compared with the licensed MSU for that LPAR (which
you chose in your software License Certificate for that
LPAR). WLM measures the MSU consumed by the LPAR every
five (may be changed) minutes, and if the licensed MSU is
exceeded, WLM will cap the LPAR to that licensed MSU for
the next interval.
So this new License Manager can save you lots on software
license costs, if you don't need an entire machine for an
LPAR; you can even license only part of an engine.
BUT to save that money, you will need to know your peak
MSU4HRAV for the month, in advance, so you can purchase a
correct size license, and you will need to track when
that peak MSU4HRAV consumption occurs, perhaps so you can
time-shift work to reduce that peak MSU consumed. Since
each month's charge is likely to be based on the maximum
peak running average during each calendar month, tracking
closely at near-month-end may be needed!
When WLM capping is invoked (because the LPAR exceeded
its licensed MSU4HRAV), response times may be elongated,
and it remains to be seen what feedback will be available
to alert you that dynamic capping was applied, but with
this new variable now, you can at least estimate the size
of each of your Systems to see how you will be able to
take advantage of License Manager product pricing.
The MSU4HRAV variable is created in PDB.RMFINTRV when
you run BUILDPDB/BUILDPD3, or if you run RMFINTRV or
invoke %VMXGRMFI in your own program. The algorithm
also creates the new SPIN.SPINRMFI dataset, which holds
the last four hours of the previous day, and is read by
the next day's BUILDPDB so that continuous four-hour
means are calculated. Variable CECSUSEC, the SU_SEC of
the physical CEC, is also created in PDB.RMFINTRV.
New variable MSU4HRMX in TRNDRMFI is the maximum value
of the MSU4HRAV during each trended interval.
You can add the new variables MSU4HRAV and CECSUSEC to
existing PDB.RMFINTRV datasets (without re-reading the
SMF data), by using the PDB=ADDMSU option in %VMXGRMFI to
read each existing PDB.RMFINTRV dataset and write back a
replacement, enhanced PDB.RMFINTRV dataset, as shown:
//PDB DD DSN=YOUR.EXISTING.PDB,DISP=OLD
//SYSIN DD *
%VMXGRMFI(PDB=ADDMSU);
If you add a //SPIN DD to that example, and start your
re-creation from the oldest to the newest, MSU4HRAV
will exist in all observations (except for the first
four hours of the oldest PDB):
//WEEKOLD EXEC MXGSAS
//PDB DD DSN=YOUR.WEEKOLD.PDB,DISP=OLD
//SPIN DD DSN=YOUR.SPIN,DISP=OLD
//SYSIN DD *
%VMXGRMFI(PDB=ADDMSU);
... one step per week ...
//WEEKNEW EXEC MXGSAS
//PDB DD DSN=YOUR.WEEKNEW.PDB,DISP=OLD
//SPIN DD DSN=YOUR.SPIN,DISP=OLD
//SYSIN DD *
%VMXGRMFI(PDB=ADDMSU);
If you use the first example, without SPIN, the first
four hour's observations in each output PDB.RMFINTRV
dataset will have missing value for the new variables.
Definitions and description of the algorithm:
"MSU" is Millions of Service Units per Hour, and it is
calculated from the raw (un-weighted) Service Unit Per
Second value (MXG's SU_SEC variable from TYPE72). The
equation to calculate the hourly MSU capacity is:
MSU= 3600*SU_SEC*NRCPUS/1000000 = 336 MSU (per hr)
(e.g.: 10 engine, SU_SEC=9334.8828, a z900 2064-110)
- But SU_SEC value in PDB.RMFINTRV and TYPE72 data is an
LPAR value, and is based on the number of CPU engines
that you gave to that LPAR for this system; increasing
the number of engines decreases the SU_SEC value, due
to the Multi-Processor effect that causes the recorded
CPU time to increase with the number of engines:
Spin loops for access to serialized storage is seen
as CPU time, and the recorded CPU time increases as
the number of engines increases, so to get constant
Service Units, we must multiply by a smaller factor.
An example of the 9021-711 family's MP Factors
CPUs 1 2 3 4 5 6 7 8 9 10
Pct: 100 95 92 88 85 81 79 77 75 72
So instead of using the SU_SEC value for each LPAR,
which varies with the number of engines in each LPAR,
the MSU capacity measurement in z/OS is based on the
new CECSUSEC variable, which is the SU_SEC for all
engines, the "SU_SEC" of the physical "box" or "CEC"
CEC, was Central Electronics Complex,
CPC, now Central Processing Complex,
and CECSUSEC is constant from LPAR to LPAR in a box.
CECSUSEC did not exist in the RMF records, and it has now
been added in z/OS as SMF70CPA, but MXG creates it now so
we can calculate MSU capacity even before you're at z/OS.
a. The original (18.11) algorithm to calculate CECSUSEC
and MSU from pre-z/OS records (replaced, below):
In OS/390 RMF TYPE72 records, we only have the SU_SEC
of this LPAR, but we could calculate the CECSUSEC from
the LPAR SU_SEC and the "table of MP factors",
above, given the engines in the LPAR and in the box:
CECSUSEC=SU_SEC*MP(PARTNCPU)/MP(NRCPUS);
where
MP(n) is the MP factor for n engines, above, and
PARTNCPU=engines in the physical CEC, and
NRCPUS =engines in this LPAR.
A numerical example:
An LPAR with an SU_SEC = 1000
with NRCPU = 2 (2 engines for this LPAR), and
on a 6-way CEC (PARTNCPU=6) would have a
CECSUSEC = 1000 *(81)/(95) = CECSUSEC = 852
At 100% busy that 2-CPU LPAR has MSU capacity of:
MSU = 3600sec*852SU_sec*2engines/1000000=6.1 MSU
b. The present (18.18) algorithm to get IBM MSU capacity
(pre-z/OS) using table lookup of IBM published values:
The original code worked fine for that one set of MP
factors, but the factors vary with CPU families, and
IBM does not publish a table of MP factors; instead
IBM publishs the MSU capacity of each CPU, and with
the help of Alan Sherkow, the new $MG070CP format is
created as a look-up table that returns the capacity
in MSU and the CECSUSEC, given the CPUTYPE, CPUVERSN,
and (for 2064's) the CPCMODEL.
Alan also noted that the MSU capacity calculated from
CECSUSEC does not exactly match IBM's MSU table value,
even though we thought it should; differences of up to
10% were observed on some particular machines.
c. When you're running under z/OS with License Manager,
the needed fields are added by IBM to the type 70 RMF
record and are kept in PDB.RMFINTRV dataset:
MXG Variable z/OS Variable Description
CECSUSEC SMF70CPA SU_SEC of n-way CPC
MSU4HRAV SMF70LAC 4-hour Average MSU
MSUINTRV n/a Interval MSU count
temp SMF70WLA Defined MSU Capacity
While IBM will provide the SMF70LAC field in z/OS, MXG
now calculates MSU4HRAV from RMF Interval records, going
back four hours, and uses the actual interval durations
so it supports different interval sizes. The last four
hours of each system is written out to SPIN.SPINRMFI so
they can be re-introduced tomorrow so that the four-hour
is continuous in RMFINTRV. (If you're using ADDMSU with
a large PDB.RMFINTRV, default array sizes of 9999 permit
three month's worth of 15 minute intervals.)
This is new territory, and we'll know a lot more about
MSU4HRAV when the License Manager product is released,
but at least now you can begin to measure your LPARs in
these IBM units that will certainly be important in the
future of capacity measurement.
Please do not confuse the License Manager measurements
with Usage Based Pricing, because they are not related.
Under the License Manager, it will be the size of the
LPAR that you define that sets the price you pay for
Software that runs in that LPAR, and it is the total
work in that LPAR (and not the usage of any software
product) that is measured and compared with the LPARs
defined capacity in MSU. There is no measurement of
product's software usage under License Manager, and it
is all work in the LPAR that will be capped if the
MSU4HRAV/SMF70LAC exceeds the SMF70WLA capacity.
Change 18.297 Cosmetic. The test IF NUMTRANS GT 0 for the calculation
ASUMCICX of SQRTARG is redundant so it was removed.
Dec 8, 2000
Thanks to Ian Mackay, Royal Bank of Scotland, SCOTLAND.
Change 18.296 Variable SYSTEM and CPUTM are kept/summed respectively
ASUMCICS from input CICSTRAN/MONITASK data into the PDB.CICS
Dec 8, 2000 summary dataset. CPUTM=TASCPUTM+CPURLSTM in CICSTRAN.
Thanks to Aubrey Tang, Westpac Banking Corporation, AUSTRALIA.
Change 18.295 Support for APAR OWxxxxx which adds a flag bit to type 79
VMAC79 subtype 2.
Dec 8, 2000
Change 18.294 QBGLGG now decoded and kept, although the counters in the
VMACDB2 QBGL section are suspect and under investigation.
Dec 7, 2000
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 18.293 SPINCNT=SPINCNT+1; changed to SPINCNT=SUM(SPINCNT,1); so
IMACUOW that SPINCNT would actually be retained and incremented
Dec 7, 2000 and the SPIN library actually used.
Change 18.292A Support for MQ Series V5.2 SMF 115/116.
EXTY1152 -INCOMPATIBLE because subtype is now a two-byte binary at
EXTY1161 @19, having been corrected by IBM from the non-standard
EXTY116Q one-byte @19 (and that VMACSMF had catered for, and now
FORMATS had to be revised to cover both old and new 115/116 SMF).
VMAC115 -Reading new records with old MXG versions will create
VMAC116 zero observations from the new records.
VMACSMF -Type 115 Subtype 1, dataset MQMLOG has 7 new variables:
VMXGINIT QJSTBPAG QJSTCIWR QJSTLLCP QJSTLOGW QJSTLSUS QJSTSERW
Dec 8, 2000 QJSTTHRW
Dec 18, 2000 -Type 115 Subtype 2, new Q5ST DB2 manager statistics adds
70 new variables to existing dataset MQMMSGDM:
ABNDCNT ACTTASK CONNCNT DEADCNT DELECNT DELESCUW
DELESMXW DELETCUW DELETMXW DHIGMAX DISCCNT LISTCNT
LISTSCUW LISTSMXW LISTTCUW LISTTMXW NUMTASK READCNT
READSCUW READSMXW READTCUW READTMXW REQUCNT SCSBFTS
SCSDEL SCSDSCUW SCSDSMXW SCSDTCUW SCSDTMXW SCSINS
SCSISCUW SCSISMXW SCSITCUW SCSITMXW SCSMAXR SCSSEL
SCSSSCUW SCSSSMXW SCSSTCUW SCSSTMXW SCSUPD SCSUSCUW
SCSUSMXW SCSUTCUW SCSUTMXW SSKDEL SSKDSCUW SSKDSMXW
SSKDTCUW SSKDTMXW SSKINS SSKISCUW SSKISMXW SSKITCUW
SSKITMXW SSKSEL SSKSSCUW SSKSSMXW SSKSTCUW SSKSTMXW
UPDTCNT UPDTSCUW UPDTSMXW UPDTTCUW UPDTTMXW WRITCNT
WRITSCUW WRITSMXW WRITTCUW WRITTMXW
-Type 115 Subtype 2, new QEST Coupling Facility statistics
segment, MXG creates new MQMCFMGR dataset, one obs for
each structure (if QESTSTR structure name is non-blank:
IBM writes an array of 64 possible structures but MXG
outputs only the entries with data). MXG also calculates
the average duration of IXLLSTE and IXLLSTM calls in new
new variables QESTAVGE and QESTAVBM.
Updates to elements in the CF can be made one at a
time with IXLLSTE, or requests to update multiple
elements, a group of changes that have to be made
together, are done with IXLLSTM.
The other IBM variables created in MQMCFMGR dataset:
QESTCMEC QESTCSEC QESTMLUS QESTMNUS QESTMSTC QESTRMEC
QESTRSEC QESTSFUL QESTSSTC QESTSTR QESTSTRN
-Type 116: FORMAT MG116TY updated for '7:RRS BATCH' type
of attachment type.
-Type 116 subtype 0 creates old MQMACCT Message Manager
accounting; this was the only data set created from SMF
116 record prior to Version 5.2.
-Type 116 subtype 1 creates new MQMACCTQ Queue Level
Accounting dataset with WTIDxxxx and WTASxxxx variables.
This is the important, task-level, dataset, with elapsed
and CPU times per verb for commit and back out requests,
and has task identification, including Job, User ID,
Transaction Name if applicable, and Channel Name (TCP/IP
address or APPC LU).
-Type 116 subtype 1 or subtype 2 creates new MQMQUEUE
Queue Detail with WTIDxxxx and WQxxxx variables. This
data set has an observation for each QUEUE used by the
task, including number/elapsed/CPU times for MQOPEN,
MQCLOSE,MQPUT,MQPUT1,MQGET,MQINP and MQSET calls, and
the WTIDxxxx task identifiers.
Change 18.292 Cosmetic. Comment corrected and labels for Mount Wait
ASUMTMNT bucket variables MNTBKTn changed from 'PCT JOBS' to
Dec 6, 2000 the more accurate 'PCT MOUNTS*MOUNT WAIT*LESS THAN....'.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.291 Cosmetic. Labels added for DOMTRESP/DOMTWAIT/DOMTRTYP/
VMAC103 DOMTRNUM variables in VMAC108, and dataset labels in the
VMAC108 VMAC103 are now "HTTP Web Sphere Server" instead of the
Dec 6, 2000 Lotus Domino no-longer-used name.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.290 TMON for MVS 2.0 NQ records were not correct; Landmark
VMACTMV2 inserted data between 1.3 and 2.0, but no one noticed!
Dec 5, 2000 Both record formats are now supported, and new variables
are now created in dataset TMONNQ.
Thanks to Lindsay Robertson, GMAC Insurance, USA.
Change 18.289 Using IMACJBCK exit for DB2ACCT selection saves CPU time!
IMACJBCK The IMACJBCK exit (or MACJBCK= macro) is invoked in every
VMACDB2H SMF record that contains JOB name. For the DB2 SMF 101
Dec 5, 2000 Account records, using it instead of the EXDB2ACC/ACB/ACP
exit member to delete unwanted records can save lots of
CPU time, because it is invoked earlier in the processing
code, after the QWHS (Standard) and QWHC (Correlation)
Headers have been input, and before INPUTing all of the
other variables in all of the segments in the rest of the
accounting record, and then invoking the EXDB2ACx exit.
These QWHSxxxx and QWHCxxxx variables exist when IMACJBCK
exit is taken, and can be used to delete SMF 101 records
early, fully decoding only the selected records and then
taking EXDB2ACx exit before output into DB2ACCT/ACCTB/P:
SMFTIME ='TIME WHEN*SMF RECORD*WAS WRITTEN'
QWHSSTCK='STORE CLOCK*VALUE FOR*HEADER'
QWHSSSID='SUBSYSTEM NAME'
QWHCAID ='AUTHORIZATION ID '
QWHCCV ='CORRELATION ID '
QWHCCN ='CONNECTION NAME '
QWHCPLAN='PLAN NAME '
QWHCOPID='ORIGINAL OPERATOR ID'
QWHSRELN='RELEASE INDICATOR'
JOB ='JOB NAME*OR*TSO USER'
QWHSLUNM='LUNAME'
NETSNAME='ORIGINATING*SYSTEM*NET-NAME'
QWHCEUTX='END USERS*TRANSACTION*NAME'
QWHCEUID='END USERS*USERID*AT WORKSTATION'
QWHCEUWN='END USERS*WORKSTATION*NAME'
QWHCATYP='CONNECTING*SYSTEM TYPE*CODE'
Numeric values and their meaning:
0='0:UTILITY'
1='1:TSO'
2='2:DB2 CALL ATTACH'
3='3:DL/I BATCH'
4='4:CICS ATTACH'
5='5:IMS ATTACH BMP'
6='6:IMS ATTACH MPP'
7='7:DISTRIBUTED UOW'
8='8:REMOTE UOW'
9='9:IMS CONTROL REGION'
0AX='AX:IMS TRANSACTION BMP'
0BX='BX:UTILITY JOBS'
In your logic in IMACJBCK, you must DELETE unwanted SMF
records, so you must use NOT logic to select wanted:
//SYSIN DD *
%LET MACJBCK= %QUOTE(
IF ID=101 THEN DO;
IF QWHSSIID NE 'DB2SYS1' THEN DELETE;
IF NOT (JOB='MINE' AND QWHCPLAN='PLAN1') THEN DELETE;
END;
);
%ANALDB2R(PDB=SMF);
This change is minor: it moved the %INCLUDE of IMACJBCK
in member VMACDB2H to the end of the Correlation Header,
so all QWHCxxxx variables exist when at IMACJBCK. Added
are QWHCATYP/NETSNAME and new-in-6.1 QWHCEUID/EUTX/EUWN.
(There was no change to IMACJBCK; it just listed here so
you'll find this change when searching for that string!).
Savings: Reading 4.3GB of SMF 101 records to create all
these obs on an SU_SEC=2700 engine took 1426 CPU seconds.
Data Set Observations MegaBytes
DB2ACCT 1,842,166 1500
DB2ACCTG 1,289,146 800
DB2ACCTB 3,915,350 1430
DB2ACCTP 2,700,571 920
Total Output 4650
Deleting all obs in the _EDB2ACx exit took 1257 secs. The
delta of 1426-1257 = 169 seconds is the CPU cost for SAS
write out the 4.5 GB of output, about 27 MB/CPU second.
Using MACJBCK to delete all obs took 318 CPU seconds, so
the delta of 1257-318 = 939 seconds (deleting in _E exit)
is the CPU cost for SAS to execute the INPUT statements
for the 4.3 GB of SMF or about 4.6MB/CPU second.
The 318 seconds is the CPU cost just to read in all 4.3GB
of SMF, because the Headers are actually at the physical
end of each SMF record, so SAS reads SMF records at about
13.8 MB/CPU second.
Case Study:
Read 4.3GB Execute Write 4.5GB
SMF Data Input SAS Output Total
Output all: 318 secs 939 secs 169 secs 1426 secs
Output half:
_EDB1ACx 318 939 85 1342
IMACJBCK 318 470 85 873
Using IMACJBCK to select half of the obs saves 470 secs.
With this much possible saving, we will enhance ANALDB2R
in the near future so that any selection we can do in the
IMACJBCK exit will be done there if you use PDB=SMF for
your DB2PM-like reports, but you can exploit this exit
right now using the above example.
Thanks to Ron Alterman, Charles Schwab & Co., Inc, USA.
Change 18.288 The JCL in the TESTOTHR step of JCLTEST8 did not have the
JCLTEST8 //TMDCIN DD DUMMY and //TMDVTIN // DD DUMMY statements.
Dec 4, 2000 Member TESTOTHR had been updated to test the new support
and JCLTEST6 was updated, but JCLTEST8 was overlooked.
Thanks to Peter Herden, TUI (Touristik Union) Hannover, GERMANY
Change 18.287 Assembly error IEC293I FIRST DCB IN CLOSE NOT ACCESSIBLE
ASMIMSL6 because CLOSE (R3) must be CLOSE ((R3)) in line 1333.
Dec 1, 2000 Many MXG users have seen this error when they assembled
that program, but being ASM experts, they fixed it and
never told me about it! Since R3 is an address in reg 3
the parens tell the ASM that R3 is not a ddname!
Thanks to Alan Green, Zurich Financial Services, ENGLAND.
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 18.286 The four new duration variables for initiator delays:
VMAC30 SMF30JQT /*JOB*PREPARATION*TIME*/
Nov 30, 2000 SMF30RQT /*INELIGIBLE*FOR*EXECUTION*TIME*/
SMF30HQT /*JOB*HOLD*TIME*/
SMF30SQT /*ELIGIBLE*FOR*EXECUTION*TIME*/
were multiplied by 1.024, but should have been multiplied
by 1024, as they are in 1024-microsecond units.
May 22, 2004: APAR OA07041 corrected SMF30SQT.
Thanks to Steve Simon, ALLTEL, USA.
Change 18.285 Cosmetic. Label for QWACARNG was corrected to be
VMACDB2 QWACARNG='WAITS FOR*SEND MSGS*DATA SHARING'.
Nov 30, 2000
Thanks to Allan J. Winston, MBNA, USA.
Change 18.284 JES 3 only. The WEEKBLD/WEEKBLDT/MONTHBLD members all
WEEKBL3 referenced dataset NJEPURGE which is JES2 only. These
WEEKBL3T three members can be used for JES3 sites; the only change
MONTHBL3 is that DJEPURGE instead of NJEPURGE is processed, and
Nov 29, 2000 the TYPE25 (also JES3-only) processing is added.
Thanks to Robert Sample, Atlanta Journal-Constitution, USA.
Change 18.283 IMS 6.1 only; variable MSGSZOUT is a constant and wrong
TYPEIMSB value in IMSTRAN dataset; the PUT "SUBQ6 $EBCDIC12." was
Nov 29, 2000 corrected to "SUBQ6 $EBCDIC4." to prevent the overlay.
My apologies to Pete Gain who's correct fix I typoed!
Thanks to Alan Green, Zurich Financial Services, ENGLAND.
Change 18.282 Invalid length ILKA record subtype 20 is protected now,
VMACILKA but the record is still invalid. The length of data in
Nov 29, 2000 SMFACDLN is 11,640, but the record is only 4092 bytes,
and the number of subpools expected is 256, but there is
room only for the first 98 subpool segments. This change
detects the bad record, prints a message on the log, and
outputs only the found subpool segments, while awaiting
a correction from the vendor. Only ILKAST20 dataset is
affected by this error.
Thanks to Frank d'Hoine, Nationale Bank van Belgie, BELGIUM
Change 18.281 Three logic errors in VMXGUOW were corrected:
VMXGUOW -IRESPTM was being summed from all MRO transactions, due
Nov 24, 2000 to the mis-location of the code that sets IRESPTM to the
single internal response time of the "TOR" transaction
(i.e.: now, IRESPTM is the response of the transaction
used for TRANNAME and TERMID).
-Counters were being summed as: HOLDX=HOLDX+X; but that
results in a missing value in the PDB.ASUMUOW output data
set if any counter was missing for any observation in the
input. Instead, the more robust HOLDX=SUM(HOLDX,X);
statement is used in VMXGUOW, so that only if all values
of a variable is missing in all input observations will
that variable have missing value in PDB.ASUMUOW output.
-The INCODE= segments (intended to allow tailoring things
like normalize CPU times across different processors, or
to add new variables) was mis-located after the code that
added the new variables, so new variables were missing.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.280 Cosmetic, only affected MXG processing under ASCII SAS.
VMAC110 The variables RTYPE and RRTYPE should have been INPUT as
Nov 24, 2000 $EBCDIC1. instead of $CHAR1., so that they were converted
into ASCII characters for printing and MG110RT format.
See Change 18.313.
Change 18.279 NPM Type 28 Subtype 'DC'x (VTAM CSM Buffer Pool data) had
VMAC28 INPUT STATEMENT EXCEEDED INPUT RECORD error because I
Nov 24, 2000 mis-read the documentation. The four fields input at the
Nov 27, 2000 end of the sub-subtype VCSVDTYP=1 record (VCSMAXFS thru
VCSCUREC) exist in the VCSDTYPE=2 record, where they are
properly input. The four lines in the VCSVDTYP=1 INPUT
statement were replaced by +4 (to skip over the four
undocumented bytes at the end of the 176 byte segment).
Nov 27: Variable NRTDTYPE now kept with other NRT vars.
Thanks to Bruno Peeters, Dexia Bank Belgium, BELGIUM.
Change 18.278 -Summarization of CICS Statistics into CICINTRV for "EOD"
ADOCCICI (sum all "INT" and "End-of-Day" shutdown records into one
VMXGCICI total observation for each execution of a CICS region)
Nov 23, 2000 did not work properly: INTERVAL=EOD was never defined in
VMXGSUM/VMXGDUR, causing missing COLLTIME and STARTIME,
and multiple executions were lumped together. Since EOD
is defined only for CICS "EOD" in CICINTRV (set by adding
MACRO _CICINTV EOD % in your IMACKEEP or IMACCICS),
VMXGCICI was revised if EOD was requested and now passes
INTERVAL=MYTIME, and MYTIME= DATETIME=COLLTIME;, values.
The end result is that you get one observation for each
APPLID COLLTIME, where COLLTIME=CICSSTCK, logically the
the READTIME of each CICS region execution.
Note that if you dump your SMF data at midnight, and
stop/start the CICS regions daily at, say 4am,
requesting EOD will create two observations in todays
PDB.CICINTRV, one with yesterday's CICSSTCK time,
for the interval from midnight until 4am, and one with
today's CICSSTCK, summarizing the interval from 4am
until midnight, and neither observation would have the
total resources for each execution.
-Additional enhancements were also made. The PDB.CICINTRV
dataset is now created with the variables in alphabetic
order (with SYSPLEX SYSTEM SMFPSSPN COLLTIME etc. first)
by inserting a LABEL statement in the ORDER= argument of
the final VMXGSUM invocation.
-Two variables that had been summed are now maxed from the
SMD data: MAX=SMDHWMPS SMDIFREE
-Two variables that had been summed are now maxed from the
SMT data: MAX=SMTHWMPS SMTNTASK
-One variables that had been overlooked is now summed in
the XMC data: SUM=XMCPWQ
-These variables that had been overlooked are now summed
in the XMR data:
SUM= XMRAMISM XMRFAIT XMRFANW XMRFAOPN XMRFAOT
XMRFATX XMRITOV XMRIWAIT XMRRC
-Member ADOCCICI now documents which variables from which
Statistics datasets are SUM, MIN, MAX, and MEANed, and
how interval datasets are sorted. All except the MEANed
variables are defendable: for some datasets with multiple
records per interval (LSRPOOL, FCR), I calculate average
values that are of dubious value, so disregard them if
they are useless. Sometimes, averages are useful for
trending, and in all these cases, you still can go back
to the original detail to examine specifics.
Thanks to Normand Poitras, ISM, Canada.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.277 Cosmetic. Labels for R744SSTA, R744STAC, and R744STRC
VMAC74 were corrected from the original documentation and now
Nov 20, 2000 match the SMF manual's description.
Thanks to Raimo Korhonen, CompMeas Consulting Oy, FINLAND
Change 18.276 CICS TS 1.3 SAP Journal Format SMF records were output in
VMAC110 dataset CICSJOUR instead of CICSSAP. The MXG test
Nov 16, 2000 IF JCRUTRID='SA' AND JCRLL GE 250 THEN DO;
was false because JCRLL is not created for the GLRHTYPE=2
sub-subtype journal format record. Instead of testing
JCRLL, the variable LENUDAT is used to verify that there
are at least 250 bytes of journal data left to read:
IF JCRUTRID='SA' AND LENUDAT GE 250 THEN DO;
and also the test for 00D1 was similarly changed to:
ELSE IF JCRUTRID='00D1'X AND LENUDAT EQ 50 THEN DO;
Thanks to L. Theodorides, Alte-Leipziger, GERMANY.
Change 18.275 Support for Vital Signs VisionNet VSAM file.
TYPEVITA Work in progress; only the subtype '38'x has been decoded
Nov 16, 2000 and code is not yet fully structured. But it works.
Thanks to Craig Collins, State of Wisconsin IT Services, USA.
Change 18.274 JES3 only. A short SMF type 6 record (90 bytes) had a
VMAC6 short "I/O Data Section", with SMF6LN1=30, which MXG had
Nov 16, 2000 not ever seen before. Normally, SMF6LN1=52 because all
thirteen fields existed, and MXG read them all. This
record ended with field SMF6DFE='01C9'x, which itself is
also not expected. Now, MXG tests for SMF6LN1=52 before
inputting SMF6DFE and the four subsequent fields.
Thanks to Robert Sample, Atlanta Journal-Constitution, USA.
Change 18.273 MXG 18.09 only. NPM APAR OW37743 inserted a four byte
VMAC28 field in the CSL segment in the NPMSUBTY='A0'x ODLC SMF
Nov 16, 2000 type 28 record, and MXG attempted to support that APAR in
Change 18.254, using IBM documentation only and no test
data, but now I find out IBM fibbed. MXG coded to test
the bit that IBM said would be on when the new field was
present, but data now shows the bit is on in records that
don't have the field (and without the APAR!), causing an
INPUT STATEMENT EXCEEDED RECORD LENGTH error. MXG now
uses the LENAOF segment length to determine if the field
is or is not inserted in your record. The original code:
IF LCSLCON6='1.......'B THEN INPUT LCSLT3S &PIB.4. @;
IF LENAOF GE 192 THEN DO;
INPUT
was replaced by these statements:
IF LENAOF GE 192 THEN DO;
IF LENAOF GE 196 THEN INPUT LCSLT3S &PIB.4. @;
INPUT
Thanks to Richard Rich, California Stephen P. Teal Data Center, USA.
Change 18.272 This example that analyzes allocation time components
ANALALOC (including HSM recall) had "IOPDB.xxx", but that was
Nov 13, 2000 changed to "PDB.xxx" to be consisted with other ANALs.
Thanks to Forrest Nielson, State of Utah, USA.
Change 18.271 Variable STC14VSZ now is formatted MGBYTES. (so that
VMACSTC it prints pretty!).
Nov 8, 2000
Thanks to Chuck Hopf, MBNA, USA.
Change 18.270 The SARRU33 records from CA-VIEW for subtype 33 (DELETE
VMACSARR REPORT) reserved field before SV33LNES should be +2 and
Nov 8, 2000 not +1. This caused subsequent fields in the dataset
to be incorrect.
Thanks to Craig Raridon, RadioShack, USA.
Change 18.269 ASTEX records were not read under ASCII SAS; the test for
VMACDMON DMONREC='F1'x, 'F2'x, and 'F3'x must be changed to '1',
Nov 8, 2000 '2', and '3' respectively, as DMONREC was INPUT with
$EBCDIC1, it became an ASCII character value under ASCII
SAS.
Thanks to Neil Ervin, Charles Schwab, USA.
Change 18.268 DSA size variables (SMSDSALI,SMDSATO,SMSHWMDS,SMSHWMDT,
VMXGCICI others) were incorrectly summarized into CICINTRV.
Nov 5, 2000 Some size variables were summed when they should not be.
Nov 12, 2000 These SMSDSANM count variables are summed in CICINTRV:
SUM=SMSASR SMSCREL SMSCRISS SMSCSS SMSCSSCM
SMSCSUBP SMSDSR SMSEXTS SMSEXTSA SMSEXTSR
SMSFMREQ SMSGMREQ SMSHWMSS SMSPWWS SMSSOS
SMSSV SMSTSOS SMSUCSS ,
and these SMSDSANM size variables are maxed in CICINTRV:
MAX=SMSUSSCU SMSUSSHW SMSCSSHW SMSDSALI SMSEDSAL SMSDSAT
SMSEDSAT SMSHWMDT SMSHWMED SMSNPAGP
Sizes (current, hwm, total, cushion) of each specific
DSA (CDSA,RDSA,SDSA,UDSA,ECDSA,ERDSA,ESDSA,EUDSA)
were correct in the CICSMDSA detail dataset, and it
must be used for analysis by SMSDSANM (DSA name).
Also, ANALCISH produced correct values.
Thanks to William Sherriff, IBM Global Services, USA.
Change 18.267 Variables SMF14CDL, SMF14CDS, SMF14UDL, and SMF14UDS are
VMAC1415 now formatted with MGBYTES, and they contain byte counts.
Nov 4, 2000
Thanks to Chuck Hopf, MBNA, USA.
Change 18.266 Support for NETVIEW "Hardware Monitor" type 37 SMF record
VMAC37 APAR OW45728 added new variable BRFRIBID, the
Nov 3, 2000 Ring Number (for token-ring LAN) or the bus number (for a
CSMA or token-bus LAN) to dataset TYPE37.
Change 18.265 Corrections based on source code scanning.
VMAC90A -Variable NEWFWKLD was not in keep in VMAC90A.
VMACTMDC -Variable CNSRRBA was not created nor kept in VMACTMDC.
VMACOMVT -Variables ON29UNK1-OM29UNK5 were removed from KEEP list
VMACPMTR as they are now known, input, with correct names.
Nov 3, 2000 -Dataset OMVTTCPC was incorrect, because "NEW" string had
been left in columns 1-3, but now have been removed.
-There was no %%INCLUDE SOURCLIB(IMACZDAT) in VMACPMTR,
so variable ZDATE was never created in dataset PERFMETR.
Thanks to Freddie Arie, TXU Gas, USA.
We took real vacation in Chena Hot Springs, near Fairbanks, Alaska. No
email for six days, saw the aurora three nights, made 9,000 ham radio
contacts (at KL7RA, with six other hams, during the annual 48-hour CQ
World Wide DX contest: made 8,600 contacts during the first 24 hours,
and then aurora hit Saturday night, and we made only 400 more QSO's in
the last 24 hours of the contest!).
======Changes thru 18.264 were in MXG 18.09 dated Oct 24, 2000======
Change 18.264 Changes to this SAS/Graph report example for RMFINTRV and
GRAFWORK TRNDRMFI Workload reporting now exploits HTML and SAS V8.
GRAFSAMP -PDBOUT added, allows you to write the output graphics
Oct 23, 2000 catalog to a different location than the input PDB.
This is important if you are using SAS/CONNECT to read
the input data from a mainframe PDB but want to store
the output on your PC or LAN. The default is "PDB".
-New parameter HTMLPATH= (default is null) should point
to a directory where all of the JPG files and HTML code
created by GRAFWORK will be stored.
-Member GRAFSAMP is a sample execution of GRAFWORK based
on a mainframe PDB as input using SAS/CONNECT with an
output PDB on a LAN and HTML being generated.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.263 Changes to this SAS/Graph report example for RMFINTRV and
GRAFRMFI TRNDRMFI reporting has been enhanced to exploit HTML and
Oct 23, 2000 SAS V8, and to remove the now-obsolete VMXGGOPT macro.
-DEVICE= operand now directly used the GOPTIONS statement
rather than using VMXGGOPT.
-New parameter HTMLPATH= (default is null) should point
to a directory where all of the JPG files and HTML code
created by GRAFRMFI will be stored. At the conclusion
of GRAFRMFI, point your browser at the RMFIFRAM.HTML
dataset in the HTMLPATH= directory to view the generated
WEB pages.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.262 Changes to this SAS/Graph report example for tape usage
GRAFTAPE has been enhanced for usability, and new options that
Oct 23, 2000 exploit ODS and SAS Version 8 for HTML output. This
example uses data from MXG's Tape Mount Monitor and from
STK's HSC and LSM records, expecting these datasets in
your TREND library: TAPEMNTS TRNDTALO TRNDHSC TRNDLMS.
-New parameter HTMLPATH= (default is null) should point
to a directory where all of the JPG files and HTML code
created by GRAFTAPE will be stored.
-DEVICE=JPEG provides a good choice of devices to make
your output more accessible and useable.
-DISPLAY=NODISPLAY now has no effect, since with SAS V8,
no output is produced if this option is in effect.
-GOUTTYPE=INDEPENDENT was removed to eliminate a warning
that had no meaning, and NOLIST added to all executions
of PROC DATASETS.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.261 TYPE74 data for PAV Volumes had percentages over 100% for
VMAC74 PCTDVACT, PCTDVCON, PCTDVPND, and PCTDVUSE, because MXG
Oct 21, 2000 did not average those values across the number of UCBs
that were used during that interval. But now, to match
the IBM RMF report philosophy, all of the duration-based
device percentages are now divided by NREXPOSR to give
the average percentage. Note that only the percentage
values are divided by NREXPOSR; the duration variables
are unchanged, so in a 15 minute you could record true
DEVACTTM=39:58, DEVCONTM=21:33, DEVPNDTM=15:45 (with
DLYDEVTM=04:53 and DLYOTHTM=10:52).
This table maps the MXG variable names for the TYPE74
measures of duration, milliseconds per SIO, and percent
of the interval duration to their IBM DASD Report tag:
IBM MXG Duration Per-SSCH Percentage
---- ACT DEVACTTM dne PCTDVACT
CONN CON DEVCONTM AVGCONMS PCTDVCON
DISC DIS DEVDISTM AVGDISMS PCTDVDIS
IOSQ IOQ DEVIOQTM AVGIOQMS dne
PEND PND DEVPNDTM AVGPNDMS PCTDVPND
CUB CUB DLYCUBTM AVGPNCUB PCTPNCUB
DB DEV DLYDEVTM AVGPNDEV PCTPNDEV
DPB DIR DLYDIRTM AVGPNDIR PCTPNDIR
--- OTH DLYOTHTM dne PCTPNOTH
RESP RSP dne AVGRSPMS dne
USE USE dne dne PCTDVUSE
where dne = "does not exist" = is not created.
Schematically, these fields are related:
|----------------------ACT--------------------|
|----------PND----------|--DIS--|-----CON-----|
|-CUB-|-DEV-|-DIR-|-OTH-|
MXG creates the "Other" Pending time because the sum of
individual pends (CUB + DEV + DIR) is less than the total
device PND time. IBM does not directly report that other
component of pending time (although RMF shows it if you
compare DPB+CUB+DB DLYs with PEND). This PCTPNOTH has
usually zero, but now with PAV volumes, it has been seen
to be quite significant in this DURATM=900 sec interval:
One PAV Volume. NREXPOSR=4. DURATM=900 seconds.
|---------------------2398--------------------|
|----------------------ACT--------------------|
|----------945----------|--159--|----1293-----|
|----------PND----------|--DIS--|-----CON-----|
|-0.0-|-293-|-0.0-|-652-|
CUB DEV DIR OTH
The "Other" Pend time of 652 seconds is significant, and
according to none other than Dr H.P. Artis, for PAV, that
Other Pend, PCTPNOTH, includes the response time of the
subsystem to receive, verify, and acknowledge the first
CCW of the channel program. PEND time ends when the
subsystem (i.e., the logical volume) acknowledges the
first CCW. (Included in Other Pend is the percent of
time when I/O was pended due to conflicting Data Extents
for a track range, that is, overlapping writes and reads
waiting for a Data Extent area that is already being
written.
This Other Pend is the I/O delay to shared users of the
same dataset due to PAV parallelism, but without PAV,
that contending job could have had a much larger delay:
in the old days with MIM, the job would have run into
a DSENQ event, been put in hold and still be waiting in
the JES2 Held Job Queue until the enqued dataset was
freed by the first job, or now, with no limit on number
of batch initiators, the job is waiting in the DSENQTM
duration, initiated and holding an initiator, awaiting
allocation, held due to DSNAME ENQ due to DISP=OLD.
Note also that the Connect duration of 1293 seconds is
greater than the interval duration; PAV drops the point
of exclusive control to the track range in the data
extent for writes, and any number of simultaneous reads
can be concurrent even for one track as long as there is
not a write active for that track. I had trouble with
this until I realized that PAV must be behind cache so
parallel I/O to the channel occurs, and even for a cache
miss, the back end can have a 6:1 raid scheme which would
also permit six parallel I/Os between cache and raid.
Note that EMC's PAV's do not have any miss-parallelism,
due to their choice of a raid-1 back end.
A recent MXG-L posting reported an ADABAS volume with
an average of 37 UCB's assigned, showing PAV might be
a real salvation for that old database system!
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 18.260 REPORT=DEVC, columns %DEV RESV, %ANY ALLOC and %MT PEND
ANALRMFR have no values. AVG NUMBER ALLOC value is incorrect.
Oct 21, 2000 Line 4036
Change IF DEVCLASS NE 20X OR DEVCLASS NE 80X
To IF DEVCLASS NE 20X AND DEVCLASS NE 80X
Line 4056
Change IF DEVCLASS EQ 20X THEN PUT @1 STORGRUP @128" " @;
To IF DEVCLASS EQ 20X THEN PUT @1 STORGRUP @;
Change 18.259 Under SAS V8, you cannot re-define MACRO _BLD005 using
BUILDPDB %LET MACKEEP= to add PROC SORT and DATA steps before the
Oct 21, 2000 include of BUILD005, although it worked under V6. Instead
you can redefine MACRO _EPDBOUT (or use member EXPDBOUT)
to insert you code, and that is actually the exit that
should be used. In this case, the user wanted to sort
and create a PDB.TYPE30_5 dataset of today's records.
I will pursue the V8 problem with SAS when time permits.
Thanks to Simon Briggs, Allied Irish Bank, IRELAND.
Change 18.258 Variable CPCMODEL was added to dataset TYPE70PR by Change
VMAC7072 17.138, and is now also added to dataset TYPE70.
Oct 18, 2000
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.257 Tivoli NPM Type 28 Subtype 14X NRT record caused either a
VMAC28 NONZERO AOF NPMSUBTY=14 or UNEXPECTED NRPDTYPE=1 error.
Oct 14, 2000 Only NRPDTYPE=2 records (IBM Router) had been received,
so MXG forced this error to validate the Cisco NRPDTYPE=1
record, which turn out to be validly supported by MXG if
the DO group writing this message is deleted and the test
IF NRTDTYPE=2 THEN DO; is replaced with
IF NRTDTYPE IN (1,2) THEN DO; /*IBM/CISCO */
Thanks to Sandra Mischianti, Nicus Software, USA.
Thanks to Ken Patterson, Chemical Abstracts Service, USA.
Change 18.256 The MG073CD format for SMF73CPD (Channel Path Type) now
FORMATS decodes bits: 10X:OSA EXPRESS and 11X:OSA EXPRESS DIRECT
Oct 14, 2000 for those types of channels.
Thanks to Bob Falla, Clarica, CANADA.
Change 18.255 A semi-colon was missing after _ETY30TD invocation, so if
VMAC30 you tailored _ETY30TD and did not end your tailoring with
Oct 14, 2000 a semi-colon, ERROR 79-322 EXPECTING SEMICOLON occurred.
Thanks to Lawrence Jermyn, Fidelity Investments, USA.
Change 18.254 Support for NPM APAR OW37743 (INCOMPAT) SMF 28 for 3746
VMAC28 devices if NPM is collecting TIC3 (ODLC) link resources.
Oct 12, 2000 A four byte field, LCSLT3S='ACTIVE PU*COUNT*PER TIC3',
was inserted into the CSL segment, trashing some fields
in MXG dataset NPMLANOD dataset. The APAR text notes
that TIC3 data can be created by an NPM NETCOLL command
naming a generic resource, such as ODLCLNLK or ALLLINES,
which will match any ODLC (TIC3) link resource cause the
TIC3 data to be captured and sent to NPM.
Thanks to John Wilmot, Midland Bank, ENGLAND.
Change 18.253 The IBM sample report had two columns labeled STG THLD
ANAL88 which we replicated, but the second column is STG FULL,
Oct 11, 2000 and we've corrected our Logger replica report.
Thanks to Tom Elbert, Fortis, USA.
Change 18.252 Support for APAR OW44456 which creates the new SMF 120
record from the Component Broker element of WebSphere
IMAC120 Application Server Enterprise (EE) Edition. WebSphere
VMAC120 Application Server Standard Edition (SE), Advanced
TYPE120 Edition (AE), and Enterprise Edition (EE) is an IBM
TYPS120 product suite that runs on NT, AIX, Solaris, OS/390 and
VMXGINIT more. The SE version includes JAVA and the WebSphere
Oct 10, 2000 Application Server, but the EE version adds the Component
Broker element, and APAR OW44456 provides SMF type 120
records to record measurement of the Component Broker
that runs on OS/390.
Note: none of these members exist; no doc yet.
Change 18.251 Even after Change 17.348, this SAS/GRAPH example failed
GRAFLPAR if you didn't have SAS/GRAPH. The Graph-only SYMBOL1,
Oct 10, 2000 etc., statements were protected by the %IF .. %DO group,
but the following four lines were not deleted.
Thanks to John Allgire, Group Health, USA.
Change 18.250 ERROR.TYPE110.SUBTYPE 2. CICS STATISTICS RECORD STID=126
VMAC110 is an MXG error. The STILEN is 280, but MXG had miscoded
Oct 18, 2000 STILEN-STILEN-272; where it now has STILEN=STILEN-280;.
The error caused zero observations in CICCFS6D dataset.
STID=126 is new CFDT Coupling Facility statistics.
-Two new data fields were added to STID=127 record for
the CICFS7D CFDT Server Table Access dataset.
Thanks to Bernard Cadet, Michelin, FRANCE.
Change 18.249 Variables IMSGTEXT and OMSGTEXT, the first forty bytes of
IHDRIMS the message text, are decoded from the IMS 01 and 03 log
VMACIMS records. They have been useful in fraud investigation!
Oct 5, 2000 In addition, new exit IHDRIMS has been added, after the
IMS record has been read, but before decoding, so that
unwanted IMS records can be deleted.
Thanks to Frank Baird, Oklahoma Department of Human Services, USA.
Change 18.248 Unused Change number.
Change 18.247 Support for Neon System's Shadow Server V4.5 SMF record
EXSHDW01 creates three datasets:
EXSHDW02 dddddd dataset description
EXSHDW06 SHDW01 SHADOW01 SHADOW END CONNECTION
IMACSHDW SHDW02 SHADOW02 SHADOW INTERVAL
TYPESHDW SHDW06 SHADOW06 CLIENT REQUEST
TYPSSHDW The SHADOW01 observations may be end of Session, SM01RCTY
VMACSHDW ='S', or if the Logging feature is enabled, you will also
VMXGINIT get Interim Interval (='I') and Final Interval (='F').
Oct 4, 2000 Only subtype=1 data has been validated.
Thanks to Jim Gilbert, Sabre, USA.
Change 18.246 DB2 Report PMAUD03 failed (Uninit error for IF, NE, THEN)
ANALDB2R because the semicolon was missing from this line:
Oct 3, 2000 @90 'ORIGINAL AUTHID: ' QW0087OP;
Thanks to Bill Hamilton, Scottish Widows, SCOTLAND.
Change 18.245 Support for new NTSMF Objects:
EXNTADSM dddddd dataset Object
EXNTCFSE NTADSM ADSMCLNT ADSM Client Performance
EXNTMQQU NTCFSE COLDFUSE ColdFusion Server
EXNTWSCT NTMQQU MQQUEUES MQSeries Queues
EXNTWSQU NTWSCT WRLDMSCT WorldSecure/Mail Message Count
EXNTWSSM NTWSQU WRLDMSQU WorldSecure/Mail Message Queue
IMACNTSM NTWSSM WRLDSMTP WorldSecure SMTP Relay.
VMACNTSM The ColdFusion object still has errors in their data that
VMXGINIT Demand Technology is working to resolve. All except the
Oct 1, 2000 ADSM object's records have been tested.
-In addition, the "Full Image" object is now supported, as
it's counters are the same as the "Image" object with the
only difference being the instance name. In the Full
Image object the name includes the full file path name of
the loaded modules, while Image has only the filename.
Oct 24: The new ADSM object had no test records, so its
INPUT statement had not been executed. Compiling
under SAS V8 did not detect an MXG coding error
(there were no comments around the label text in
the ADSM INPUT statement), but SAS V6 did detect
an error at compile, but only accidentally: both
versions of SAS saw each word in the comment as a
variable to be input, but under V6, "variable"
TRANSFERRED was MORE THAN 8 CHARACTERS long.
CHARACTERS! This MXG coding error would have
been eventually detected, when test records were
read, but by using both V6 and V8 in the MXG QA,
yet another, later, change has been avoided!
Change 18.244 Candle's Omegamon for VTAM TCP record documentation was
VMACOMVT incorrect; revised DSECT was received and the code for
Oct 1, 2000 TCPA and TCPB datasets now matches the data records.
Change 18.243 While writing my CMG Workshop Paper on BUILDPDB, I was
MXGSAS stunned to find REGION=4096K on the EXEC PGM= statement
Sep 28, 2000 in the MXGSAS JCL Procedure that I distribute! That
should have been removed long ago. You should specify
either REGION=0 or REGION=64M on your JOB card.
Change 18.242 MXG 18.05-18.08 only. CICSTRAN variable PROGRAMB was not
VMACCIMS kept because it was spelled as ROGRAMB in the KEEP= list
VMACEDGS fortunately PROGRAM is the same as PROGRAMB, so the name
VMACSRMH is still there, and this was not reported, but instead
VMACLDMS was detected by Freddie continued source analysis. Other:
VMACRSDF -VMACIISL - Include of IMACZDAT added to create ZDATE.
VMACIISL -VMACEDGS - MDNDS removed from KEEP= list
Sep 28, 2000 -VMACSRMH - _KSRMNNU changed to _KSRMHNU
Oct 23, 2000 -VMACLDMS - corrected to PCDJJNAM,PCDJPSTN,PCDJCOND,
PCDDRLNG,DIRSVERS,DIRSCTL1 which were missing
the last character in KEEP= list, and LPCABR
changed to LPCAGR.
-VMACRSDF - RSDUNKN1-RSDUNKN4 instead of 2-5.
Oct 23: %%INCLUDE for IMACZDAT.
Thanks to Freddie Arie, TXU Utilities, USA.
Change 18.241 Macro _LNTTN32 was not defined, creating dataset _LNTTN32
VMACNTSM instead of TN3270SV. Insert, before MACRO _WNTTN32:
Sep 28, 2000 MACRO _LNTTN32 &PNTTN32..TN3270SV %
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 18.240 For SAS user SMF record, new format $MGSASPR maps the
FORMATS variable SASPROC (Procedure Name) to the new variable
VMACSASU SASPROD (SAS Product Name that owns that Procedure).
Sep 27, 2000
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 18.239 Cosmetic. Freddie's post-QA analysis of every line of
VMAC90A MXG source code continues to get better! This iteration
VMAC28 identified variables in the KEEP= list in MXG source
UTILXREF members that were never referenced:
UTILXRF2 -In VMAC90A, variables NEWWKLD and MCPNAME in the KEEP=
Sep 26, 2000 list should be spelled NEWFWKLD and MPCNAME. This does
not cause an error, but those variables did not exist in
the output dataset because of the spelling error; only if
you went looking for those fields would you have noticed
the did not exist.
-And when he ran under SAS Version 6, he got VMAC28 NOTE:
LABEL VALUE FOR VARIABLE NITIFODP HAS BEEN TRUNCATED TO
A LENGTH OF 40, but that note did not appear under my SAS
Version 8 QA run, because V8 permits 256 byte Labels!
I have always limited my LABELS to 40 positions, only so
that you didn't get that TRUNCATED message on your log.
In fact, it is only by searching the SAS Log as part of
my own Post-QA analysis for the string TRUNCATED that I
find and correct these long labels in MXG source.
But now that the message goes away in SAS V8, should I
still keep LABELS to only 40 characters? I say YES:
- For sites still running under SAS V6, eliminating any
unneeded or non-impacting message might save me a tech
support call/email, and will save new users confusion
and wasted time.
- Since PROC PRINT SPLIT='*' is the MXG way to print the
label as column heading, if I were to increase label
length, it could mess up our nicely arranged reports.
Besides, you can always use your own LABEL statement
with your PROC PRINT if you want a wordier heading.
- MXG ADOCxxxx and DOCVER members only have room for 40.
- Forty has been enough to describe the first 112,498
variables I've created in MXG.
So I have modified my UTILXREF/UTILXRF2 programs to
detect any labels longer than 40 bytes as part of the
MXG QA stream, and shorten them before you see them.
Thanks to Freddie Arie, TXU Utilities, USA.
======Changes thru 18.238 were in MXG 18.08 dated Sep 25, 2000======
Change 18.238 The new logic fails when the SPIN.SPINUOW dataset exists,
ASUMUOW because a VIEW cannot be used when the input and output
VMXGUOW datasets are the same. Remove /VIEW=_TMPSPIN from the
Sep 25, 2000 DATA _TMPSPIN; statement.
Sep 26, 2000 Members IMACKEEP and IMACUOW were removed from %INCLUDE
Nov 17, 2000 in member ASUMUOW, and IMACUOW was added to the existing
INCLUDE of IMACKEEP in member VMXGUOW, so that MACKEEP is
only invoked once.
Sep 26: If ASUMUOW were executed in a separate step, and
not in the step that built CICSTRAN, the program fails
with CHAR/NUM conflicts, because macro _LCICTRN did not
exist. Now, new logic validates the existence of that
macro, and defines it with the MXG default if not found.
Nov 17: Under SAS V8, the error message was:
YOU CANNOT OPEN SPIN.SPINUOW.DATA FOR OUTPUT ACCESS
WITH MEMBER-LEVEL CONTROL BECAUSE SPIN.SPINUOW.DATA
IS IN USE BY YOU IN RESOURCE ENVIRONMENT SASDSVX.
Bottom line: Scratch and Reallocate the SPIN Library.
Thanks to Hank Oerlemans, Western Australia Police Service, AUSTRALIA
Change 18.237 The TYPS102A member was expected by the test job TESSIBM3
TYPS102A but that member did not exist.
Sep 22, 2000
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.236 Support for Landmark TMON for VTAM creates datasets:
EXTMVTAA dddddd dataset
EXTMVTAE TMVTAA TMVTAA
EXTMVTAS TMVTAE TMVTAE
EXTMVTIB TMVTAS TMVTAS
EXTMVTIN TMVTIB TMVTINB
EXTMVTSE TMVTIN TMVTIN
EXTMVTSI TMVTSE TMVTSE
EXTMVTSS TMVTSI TMVTSI
EXTMVTTN TMVTSS TMVTSS
EXTMVTVR TMVTTN TMVTTN
IMACTMVT TMVTVR TMVTVR
TYPETMVT Records AA, IN, SI, TN, and VR have been tested; the
TYPSTMVT TN records were discovered to have some fields that are
VMACTMVT accumulated, the _STMVTTN macro will deaccumulate TMVTTN
VMXGINIT dataset, and _STMVTTN is added to the TYPETMVT member so
Sep 21, 2000 that dataset TMVTTN is always deaccumulated; using the
TYPSTMVT member is recommended, since the TYPSxxxx member
invokes the _Sdddddd sort macros, which is where the MXG
DIF() logic for deaccumulation is invoked.
Thanks to Siobhan Hansen, Merrill Lynch, USA.
Change 18.235 Summarization and trending of STC datasets.
ASUMSTC Input dataset(s) Summarized dataset
TRNDSTC PDB.STCLMU PDB.ASUMLSM
Sep 21, 2000 PDB.STCENTER, PDB.STCEJECT PDB.ASUMENEJ
PDB.STCHSC PDB.ASUMHSC
Thanks to Chuck Hopf, MBNA, USA.
Change 18.234 This analysis uses SYNCSORT SMF records to identify jobs
ANALUAFF that used tape-to-tape sort steps, but that did not use
Sep 21, 2000 UNIT=AFF=SORTIN on the //SORTOUT dd statement, causing
the job to use an extra tape drive.
Thanks to Al Holz, Merck, USA.
Change 18.233 Both VMXGDUR and VMXGSUM now have new argument SYNC59 to
VMXGDUR add one minute to DATETIME for Interval calculations, so
VMXGSUM that sites which write at :59 minutes can have the start
Sep 21, 2000 of the interval be one minute later.
Thanks to Ian Davies, Canadian Utilities Ltd, CANADA.
Change 18.232 NETSPY 'I' record with NSPYENTL=124 caused STOPOVER ABEND
VMACNSPY because MXG expected NSPYENTL=170. The INPUT statement
Sep 20, 2000 is interrupted after variable OPTSEGSZ and the remaining
fields are only INPUT if NSPYENTL GE 170.
Thanks to Mark Bailey, HM Land Registry, ENGLAND.
Change 18.231 Support for Landmarks The Monitor for DBCTL creates four
ADOCTMDC new datasets from the 'CN', 'CT', and 'CX' records.
EXTMDCCN These new datasets are created:
EXTMDCCV dddddd DATASET Description
EXTMDCCT TMDCCN TMDCCN Interval Statistics from CN record.
EXTMDCCX TMDCCV TMDCCV VSAM Intervals from CN record
IHDRTMDC TMDCCT TMDCCT PSB/Thread Detail from CT record.
IMACTMDC TMDCCX TMDCCX Exception record
TYPETMDC See member ADOCTMDC for notes on some data values.
TYPSTMDC These TMON records can be dumped in compressed format,
VMACTMDC and MXG member EXITMON6 is the code and instructions to
VMXGINIT install the TMON INFILE exit so MXG will read compressed
EXITMON6 TMON records directly; comments and examples in EXITMON6
Sep 19, 2000 were revised and updated for all TMON products.
Thanks to ???, ???, EUROPE
Thanks to Daniel Strgarsek, SAS EMEA, GERMANY.
Change 18.230 Cosmetic. The LABEL for variables PGPEXCP and PGPIOTM
VMAC7072 are now *BY THIS*PERFGRP/SRVCLASS instead of the old
Sep 19, 2000 PERF GROUP PERIOD. These variables exist in both TYPE72
and TYPE72GO datasets, so their contents were clarified.
Thanks to Joe Martin, Amdahl, USA.
Change 18.229 Support for Omegamon for VTAM V500 (COMPAT) adds new
EXOMVTCA TCP/IP measurements in four new MXG datasets:
EXOMVTCB dddddd Dataset Description
EXOMVTCC OMVTCP OMVTTCP TCP/IP Address Space
EXOMVTCP OMVTCA OMVTTCPA TCP/IP Application
IMACOMVT OMVTCB OMVTTCPB TCP/IP Buffer Pool
VMACOMVT OMVTCC OMVTTCPC TCP/IP Connection
VMXGINIT Only the first three datasets have been tested with data.
Sep 19, 2000
Thanks to Eric Barnes, Prudential, ENGLAND.
Thanks to Norman Hollander, Candle, USA.
Thanks to Dave Crandall, Farmers Insurance, USA.
Change 18.228 Add logic to MXGCPU report for number ICF's and CP's
ANALRMFR within the Partition data report.
Sep 18, 2000 Error PDB not assigned, when parameters are PDB=SMF,
REPORT=IOQU, and PDBOUT=PDBO was corrected.
Change _STY78 to _STY78CF;
Add _STY78CU; _STY78IO;
Error Physical file does not exist. When parameters are
PDB=SMF,REPORT=WKLD,PDBOUT=PDBO,RPTOPT=PERIOD corrected.
Change all _N72 to _N7072.
Change all VMAC72 to VMAC7072.
Change all _CDE72 to _CDE7072.
Change all _VAR72 to _VAR7072.
Change 18.227 Support for EDA, Enterprise Data Access, SMF user record.
EXEDALOF Two datasets are created from the four subtypes:
EXEDALON dddddd Dataset Subtype Description
FORMATS EDALON EDALOGON 1,4 EDA LOGON OR BEGIN QUERY
IMACEDA EDALOF EDALOGOF 2,5 EDA LOGOFF OR END QUERY
TYPEEDA The EDALOGON dataset seems useless, since it has only the
TYPSEDA SMFTIME of the start, which becomes MXG variable EDASTIME
VMACEDA in the EDALOGOF dataset. Sorted by EDASTIME, EDALOGOF
VMXGINIT has the 2:LOGOFF event record first, which has the total
Sep 18, 2000 CPU Time and EXCP count, and then each of the individual
5:END QUERY event records follow that LOGOFF record. The
CPU time in the 5:END QUERY records is already contained
in the 2:LOGOFF even record.
Thanks to Glen Yee, California Health & Human Services, USA.
Change 18.226 Variable JOB was blank if QMDACORR was blank, for DB2
VMACDB2 attachment QWHCATYP IN (1,2,0Bx) (TSO, CALL ATTACH, and
Sep 15, 2000 UTILITY JOBS). For those QWHCATYP values, MXG now tests
IF QMDACORR GT ' ' THEN JOB=QMDACORR;
so JOB won't be overwritten if QMDACORR is blank.
Thanks to Diane Parker, Bergen Brunswig, USA.
Thanks to Warren E. Waid, JC Penny, USA.
Change 18.225 Change 17.303 was wrong. The DBORG='00'x segment does
VMACCIMS not contain SQL information, and should not have been
Sep 15, 2000 output to CIMSDB2. That segment (with DBDNAME='ALLDBS')
is the I/O activity for DLI buffers during Syncpoint
processing and is now output back into CIMSDBDS (as it
was before Change 17.303), and its I/O counts are summed
into the CIMSTRAN observation for that transaction. It
is called IOWAITS because only IOWAITS code generates
statistics during this processing.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 18.224 The DCOLLECT _Sdddddd and _Sxxxx SORT macros are updated
VMACDCOL as PROC SORT NODUP and the _Bdddddd BY list will remove
Sep 12, 2000 duplicate observations in the input DCOLLECT data.
Change 18.223 MXG 18.02-18.07 GOAL MODE only. Report 2 printed too
UTILRMFI much because test for RPRTCLAS=Y should have been='Y',
Sep 12, 2000 and reports were revised to use PDB.SMFINTRV/PDB.STEPS
or TYPE30_V/TYPE30_V instead of interval and Job Term,
and the comments were clarified.
Thanks to Bob Falla, The Mutual Group, CANADA.
Change 18.222 Support for AS/400 Collection Services records, which is
EXQAPCON a separate product, different from the AS/400 Performance
EXQAPDIS Monitor that is still available (free) and supported by
EXQAPJOB MXG's TYPEQAPM code. This new product captures only a
EXQAPPOO small subset of the data in the Performance Monitor.
IMACQACS This new TYPEQACS support creates these datasets:
TYPEQACS DDDDDD INFILE/DATASET Description LRECL
TYPSQACS QAPCON QACSCONF CS Configuration data 16
VMACQACS QAPDIS QACSDISK CS Disk Storage data 352
VMXGINIT QAPJOB QACSJOBS CS Job data 544
Sep 14, 2000 QAPPOO QACSPOOL CS Main Storage data 78
Aug 21, 2008 (QACSYS/QACSYSM/EXQCSSYS reference/member removed 2008.)
The AS/400 CS data is completely dependent on the correct
LRECL having been specified when the data was uploaded
to MVS, or in the FILENAME statement on ASCII systems.
Member VMACQACS documents the correct LRECL sizes.
Thanks to Joe Faska, Depository Trust, USA.
Thanks to Colin Bowen, CSC, SOUTH AFRICA.
Thanks to Stuard R. Burnett, Reynolds Metal Company, USA.
Change 18.221 Cosmetic. A single byte value, 10995116167810048 was
FORMATS skipped in the MGBYTES format and would not have been
Sep 12, 2000 formatted; the range for TB was increased to include.
Thanks to Danny Ball, CNF, USA.
Change 18.220 SAS V8.0 (TSM0 and TSM1), but not SAS V8.1. SAS/GRAPH
DOC "missing values" warning message in SAS V6 became a real
Sep 9, 2000 _ERROR_ condition in SAS V8.0, causing either CC=12, or a
USER 999 ABEND (because MXG sets option ERRORABEND so
that any true error causes an ABEND instead of just a
condition code), if any graph has missing values for one
variable! This has been corrected in SAS V8.1; only a
WARNING message is printed on the log, as it should have
been. If you are still at SAS V8.0, you can specify
OPTIONS NOERRORABEND; for the steps that use SAS/GRAPH,
and the USER 999 will be avoided, although the condition
code will still be non-zero.
Thanks to Caron Knox, Willis Group Services, ENGLAND.
Change 18.219 ERROR: CHARACTER VARIABLE QW0140TX HAS TOO LONG A VALUE
VMAC102 THE SASEB ENGINE when you execute BUILDPDB or TYPE102
Sep 8, 2000 under SAS V8, but point your output to a pre-existing
V6-built SAS data library (i.e., your "PDB"). You should
build V8-format data libraries when executing under V8;
you must allocate new physical OS data sets and write to
them: you CANNOT use PROC DELETE to clear a V6 library
and then write to it with V8 to create a V8-built data
library, since the SAS Directory is still V6-built.
See SAS Technical Note 11 in Newsletter THIRTY-SEVEN.
However, if you intentionally must keep your PDB in the
V6-format, executing under SAS V8, you can circumvent
the above error by using %LET SASCHRLN=100; as your
first //SYSIN statement.
Thanks to Caron Knox, Willis Group Services, ENGLAND.
Change 18.218 Report macro failed if PDB=SMF and PDBOUT=PDB was used.
ANAL94 The internal logic was revised so that macro &PDB was not
Sep 7, 2000 reset.
Thanks to Steve Gossage, Cummins Engines, USA.
======Changes thru 18.217 were in MXG 18.07 dated Aug 31, 2000======
Change 18.217 First MXG 18.07 only. First day's tape (dated Aug 30).
BUILDPDB Member BUILDPDB was missing the _S21 invocation, causing
Aug 31, 2000 dataset PDB.TAPES to have not been built.
Thanks to Bruce Widlund, Merrill Consultants, USA.
======Changes thru 18.216 were in MXG 18.07 dated Aug 30, 2000======
Change 18.216 Erroneous "BAD HFS" segment messages were produced from
VMACTCP SMF 118 errors with legitimate data; COL-LENGTH should
Aug 30, 2000 have been LENGTH-COL, and LT LENGTH-1 should have been
LE LENGTH-1.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.215 Each INFILE statement was enhanced with END=ENDOFTAN
VMACTAND so that the end of input file is flagged, as this can
Aug 30, 2000 be used to simplify duplicate data checking in ITSV.
Thanks to Peter Christie, IT Performance Consulting, USA.
Change 18.214 INPUT STATEMENT EXCEED RECORD LENGTH for SMF ID=65 record
VMAC6156 because the '04'x Catalog Segment in the Catalog Record
Aug 30, 2000 that is appended to the SMF record without documentation,
now has Low and High Key field lengths of 112 bytes when
previously that field was only 64 bytes long. The IBM
development programmer who "owns" these catalog records
that are output in the type 61, 65, and 66 records has
refused to make their documentation available ("its OCO")
even for this Vendor, so I have to stumble into changes
in field lengths in the data in the field. The logic to
read those varying length fields was revised to protect
for whatever length is now found.
Thanks to John Doan, TotalSystem, USA.
Change 18.213 Support for BMC MainView for MQ Series History File V2.1.
EXBBMQCH Two new subtypes, 'E4' and 'E5' are now supported and new
EXBBMQLM data was added to the existing 'E1' Queue Manager record.
IMACBBMQ DDDDDD Dataset Description
VMACBBMQ BBMQCH BBMQCHAN 'E5' CHANNELS RECORD
VMXGINIT BBMQLM BBMQLMGR 'E4' LOG MANAGER RECORD
Aug 29, 2000 These data sets have been created and sorted, but only
Sep 5, 2000 just examined; the interval DURATION does not exist in
these records, and I can't tell if the values are exact
or whether they are accumulated until I look at more
data, but the datasets and variables look good.
Sep 5: CHLLRTRY and CHLSEQHI are now stored in length 8,
because their default hex value of '3B9AC9FF'x=999999999
became '3B9AC900'x internally when stored in length 4.
Thanks to Martyn Jones, ABN AMRO, THE NETHERLANDS.
Change 18.212 Cosmetic. Spelling in comments of asterisk are now all
DOC the same; variants asteric, asterics, and asterisk were
Aug 29, 2000 corrected in many places. And occurrences of occurance
Sep 5, 2000 and occurence were corrected, too!
Thanks to Bruce Green, MIB, USA.
Change 18.211 This "BUILDPDB" utility now knows about the inconsistent
UTILBLDP spelling of the SMF "MACRO _IDxxxx" in 17 MXG members.
Aug 29, 2000 While most of the SMF ID macro names are _IDxxxx, these
products have non-standard macro names, typically _xxxxID
and they are now properly generated if you request these
products be added to the BUILDPDB code built by UTILBLDP:
ARB, DLM, DMON, HBUF, HURN, IPAC, M204, NSPY, PDSM, RMDS
ROSC, RTE, SYNC, TSOM, VVDS, WYLA, WYLB, X37.
Thanks to Ian Davies, ATCO I-Tek, CANADA.
Change 18.210 Documentation. Support for Netview 1.3 SMF records
VMAC37 type 37, 38, and 39 has been in MXG since before 16.16,
VMAC38 but there was no MXG note to that effect. No changes
VMAC39 were made by this change.
Aug 29, 2000
Thanks to Harald Seifert, HUK-COBURG, GERMANY
Change 18.209 Cosmetic. The "LAST RECORD IN GROUP" message was not
VMACSMF written if the last record was not a subtype 3 record,
Aug 29, 2000 as when reading only part of an SMF file.
Change 18.208 Y2K Error. MainView for CICS Statistics SMF type 110
IMACICBB special subtype 0B02x records cause year 2020 in 2000:
VMAC110 -in the IBM Statistic Header COLLTIME/STARTIME variables,
Aug 28, 2000 because the BMC type 110 subtype 2 record for CICS 4.1
did not update the SMFMNMFL Maintenance Level field.
That field was updated for IBM type 110 subtype 2 by
PN69653, which changed the date format from YY to YYYY.
With the MFL still zero, MXG assumed the old YY format
and generated the wrong dates. As it's too late for
BMC to fix their error, MXG now tests the ORIGSUBT to
recognize 4.1 BMC records with the YYYY date format.
Logic in VMAC110 was enhanced to protect BMC.
-in the unique datetime variable in all CICSBBxx datasets,
the BMC documentation showed binary (PIB) for their new
YYYY,MO,DD dates, but now with data records, those fields
turn out to be unsigned-packed (PK) format, so member
IMACICBB was corrected.
Thanks to Hartmut Peter, R+V Allgemeine Versicherung AG, GERMANY.
Change 18.207 Documentation for MXG Support for BMC MainView products.
DOC Member Infile Product/Description
Aug 28, 2000 ASMMNVW n/a INFILE Exit for Compressed BMC data
TYPEBBMQ BBMQVSAM MainView for MQ
TYPECMFV CMFVSAM MainView for OS/390, MMR, CMF-VSAM.
TYPECMF SMF MV for OS/390, CMF User SMF record.
TYPECIMS IMSLOG MainView for IMS
TYPEMVCI CMRDETL MainView for CICS CMRDETL/CMRFILE.
IMACICBB SMF MV for CICS Type 110-2 Stat records.
TYPEDB2 SMF MainView for DB2 (no unique records).
Change 18.206 Three TMON V2 Segments did not have the offset variable
VMACTMO2 in their INPUT statement, causing misalignment. The
Aug 27, 2000 offset variables that were added to their INPUT:
TRDSAOFF,TREXPOFF, and TRXMCOFF, for datasets MONIDSA,
MONIEXP, and MONIXMC.
Thanks to Alex Benny Nielsen, TeleDanmark IT, DENMARK.
Change 18.205A The xxxxCMFV members were named for "CMF-VSAM", because
VMACCMFV member xxxxCMF already existed (for the CMF user SMF
Aug 27, 2000 record), and the records came with the BMC CMF product.
Change 18.205 However, the records that xxxxCMFV processes are actually
created by the MMR component of the "New CMF" product,
but as the records are common to both the "CMF" and the
"MMR" products, they exist even if you have only "MMR"
(for example, if you use RMF instead of the "old CMF"
part of the "New CMF" product).
Five datetime variables in ZNTS format are now decoded
(PIB6.2 seconds since 1JAN1980, IB2. minutes GMT offset,
and add 63115200 seconds for the 1960-1980 delta).
The corrected variables are
SYREXTDI SYREXPTI GLSTDAY1 GLSTDAY2 RWREDATE
Thanks to Bill Blair, BMC, USA.
Change 18.204 Major rewrite of ASUMUOW to add variables, make it
ADOCUOW simpler for you to add or delete variables, add the
ASUMUOW possibility of MQ series data, and allow you to break
JCLUOWV the processing of DB2 and CICS data into separate jobs
VMXGUOW to increase parallelism and decrease run times.
Aug 26, 2000
Sep 25, 2000 In larger installations, the processing of CICS and DB2
data can be extremely time and resource consuming. In a
large shop, over 120 million CICS transactions/day are
processed and over 3 million DB2 accounting records in
3 separate runs per day. Each of these creates 5-6
3490 volumes of CICS transaction data and 1-2 of DB2
data. The total processing time often exceeds 18 hours
per day. In the event of an ABEND, recovery time is
very painful.
Consider the flow of the processing. TYPE110 reads the
SMF data and creates the CICSTRAN dataset. This must
be sorted and then read by ASUMUOW. That means that 5-6
cartridges of data are read and written by TYPE110, read
and written by SORT, and read by ASUMUOW. If we assume
6 cartridges for each, then there are 5 full passes of
the data (a total of 30 cartridges!)
Now revise the flow so that a VIEW is used to pass the
data directly from TYPE110 into the SORT. Two full
passes of the data (writing it from TYPE110 and reading
it in the SORT) are eliminated. At 10 minutes per tape
this adds up to about 2 hours of processing time in each
of the three cycles of CICS data per day!
Member JCLSUOW is a set of JCL containing three jobs.
Job TYPE110V executes TYPE110 to read only the CICS
transaction data and sort it into the correct sequence
for ASUMUOW keeping only those variables needed by
ASUMUOW. TYPEDB2V process all of the DB2 data and uses
a VIEW to pass the DB2ACCT data into the SORT for
ASUMUOW. All other DB2 data uses the normal sorts and
processing for DB2. ASUMUOWV uses the output of the
first two jobs as input to ASUMUOW.
ASUMUOW now contains some substitution style macros
for keeping lists of variables and datasets and uses a
new macro VMXGUOW to dynamically build the code to
perform the summarization so that adding and deleting
variables is much simpler (you don't have to invent new
variables names for all of the counters!)
Substitution MACROS in ASUMUOW:
_LASSPIN - SPIN.SPINUOW - OUTPUT SPIN DATASET
_PRESPIN - SPIN.SPINUOW - INPUT SPIN DATASET
_TMPSPIN - TEMPSPIN - INTERMEDIATE SPIN DATASET
_SUUOW - &PSUUOW..ASUMUOW - FINAL OUTPUT
_WSUUOW - NOT USED
_KSUUOW - NOT USED
_BSUUOW - NETSNAME UOWTIME UOWIDCHR - SORT ORDER
_SSUUOW NOT USED
_NOBS - %%VMXGOPTR(OPTNAME=OBS,NEWVALUE=0);RUN;
Controls number of observations
Must be overridden in member IMACUOW
(by completing comment statements)
to create observations in PDB.ASUMUOW.
_YESOBS - %%VMXGOPTR(OPTNAME=OBS,NEWVALUE=MAX);RUN;
Resets number of observations
Must be overridden in member IMACUOW
(by completing comment statements)
to create observations in PDB.ASUMUOW.
_TRANUOW logic to determine which transaction name
is the real transaction name
_SPINUOW - 7 How many spins
_LASCICS &TEMP01..TEMPCICS - intermediate CICSTRAN
_LASDB2A &TEMO02..TEMPDB2A - intermediate DB2ACCT
_LASMQ WORK.TEMPMQM - intermediate MQMACCT
_INMQ _NULL_ - input MQMACCT dataset
_KUOWCIC list of variables to be kept and accumulated
from CICSTRAN
_KUOWDB2 list of variables to be kept and accumulated
from DB2ACCT
_KUOWMQ list of variables to be kept and accumulated
from MQMACCT
_SUOWCIC the sort of the CICSTRAN dataset
_SUOWDB2 the sort of the DB2ACCT dataset
_SUOWMQ the sort of the MQMACCT dataset
_SUOSPN building of the intermediate SPIN dataset
VMXGUOW parameters:
INCODE= A stub of code executed
during INPUT processing
INCICS= A stub of code executed
when a CICS record is found
INDB2 = A stub of code executed
when a DB2 record is found
INMQ = A stub of code executed
when an MQ record is found
INSPIN= A stub of code executed
when a SPIN record is found
OUTCODE= A stub of code executed
during OUTPUT processing
Currently calculates
CLASS3 DB2 times and counts
and SQL counts
CICSVARS=_KUOWCIC variables kept and counted
for CICS
DB2VARS=_KUOWDB2 variables kept and counted
for DB2
MQVARS=_KUOWMQ variables kept and counted
for MQ Series
If all you do with ASUMUOW is a %INCLUDE, you will
not need to make any changes.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.203 RMF Paging Activity Report: corrected values for LPA and
ANALRMFR CSA columns named NON SWAP BLOCK and NON SWAP NON BLOCK.
Aug 25, 2000
Change 18.202 Some DB2 statistics variables, new in DB2 6.1, were input
VMACDB2 but were not deaccumulated, so their values were wrong.
Aug 25, 2000 This change does not affect the DB2ACCT dataset, which
Sep 5, 2000 contains interval values (i.e., valid); it is only the
statistics records that have accumulated values that must
be deaccumulated in MXG logic.
-Group Buffer Pool variables in DB2GBPST/DB2STATS/DB2STAT1
datasets were not deaccumulated:
QBGLAX QBGLAY QBGLAZ QBGLCC QBGLCK QBGLCS
QBGLDG QBGLDN QBGLRB QBGLRD QBGLRG QBGLUN
Don found this error because he knew that QBGLUN must
be lots less than QBGLRC. I had INPUT and KEEPt them but
failed to update the _SDB2PST and _SDB2ST1 macros that do
the deaccumulation. This cause me to examine the other
variables added to the statistics records, and I found:
-QXxxxxx variables in dataset DB2STATS/DB2STAT1 dataset
were only INPUT, and were neither kept nor deaccumulated:
QXALPRO QXALUDF QXCASCDP QXCAUD QXCAUDAB QXCAUDRJ
QXCAUDTO QXCRATB QXROIIDX QXROIMAT QXROITS QXROWTRG
QXSTLOBV QXSTTRG QXTRGERR
-Sep 5: Variables QBGBGR1 and QBGBGR2 were moved from the
$HEX8. to $HEX12. format list; they are 6 bytes long but
with the shorter $HEX8. format, they appeared to be blank
when the first four characters were blank or nulls.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 18.201 The four variables that measure bytes are now formatted
VMACTCP with MGBYTES so the values will be more readable in the
Aug 24, 2000 units of /KB /MB /GBytes. The four variables are:
APIBYTIN APIBYTOU FTPBYTEC TELINBYT TELOUBYT
Thanks to Chuck Hopf, MBNA, USA.
Change 18.200 The Workload name printed only the first two characters.
UTILRMFI A LENGTH WORK $8; statement had to be inserted after
Aug 25, 2000 each of the INCODE= arguments.
Thanks to David Ehresman, University of Louisville, USA.
Change 18.199 The High Impact (Low UIC), Medium Impact (Medium UIC),
VMAC71 Low Impact (High UIC), and Available Impact frame count
Aug 25, 2000 fields for CStore and for EStore were added to TYPE71 by
Sep 5, 2000 OS/390 R2.4, but only now, as a result of Peter's looking
Sep 12, 2000 at real numbers after seeing a presentation by Martin
(who had them added to type 71), and with free advice
from Don Deese (who first documented their cousins in RMF
type 99), MXG now correctly decodes those twenty-four
memory measurements into these variables:
HI mn/mx/av HI mn/mx/av
CSFR ME mn/mx/av ESFR ME mn/mx/av
LO mn/mx/av LO mn/mx/av
AV mn/mx/av AV mn/mx/av
The field values are accumulated between adjacent values;
it is necessary to subtract MED from HI to get HI values,
LOW from MED to get MED, and AVAIL from LOW to get the
LOW values. Because the MED memory is quite small with
the current IBM-set UIC buckets, its average value was
often a small negative value; in those cases, the MED are
set to missing, and HI-LO is used for HI values. Fields
are in frames, but as the variables were never correct, I
converted all CSFR/ESFR variables to bytes, formatted
them with MGBYTES, and re-labeled them as IMPACT MEMORY.
Martin's paper precipitated creation of additional memory
measures, based on average values that are now created in
MXG's TYPE71 dataset:
CSFRSRAV "SRM-BUFFER" in CSTORE
ESFRSRAV "SRM-BUFFER" in ESTORE
The frames needed to support the Available
Frame Queue, calculated by subtracting the
new free size from the old free size.
CSFRWLAV "Free as Seen by WLM" in CSTORE
ESFRWLAV "Free as Seen by WLM" in ESTORE
The free memory as seen by WLM, calculated
by removing the SRM-Buffer value from the
CSFRAVAV/ESFRAVAV values.
But the "Impact" memory includes only the UIC-updated
pages. WLM updates UICs in Expanded, but not DREF nor
hiperspaces, (but hiperspace size is in TYPE71). Also,
fixed frames and nucleus frames are not UIC-updated (but
they also are in TYPE71). Since the installed CSTORE and
ESTORE memory is known, the missing piece of memory is
all of the memory owned by all of your logically swapped
ASIDs plus any storage isolated pages!
With this change and these new variables, the CSTORE and
ESTORE memory is mapped by these MXG variables:
Online memory CSTORE ESTORE
Logically Swapped CSFRLSAV ESFRLSAV
Fixed CS, Hiper ES CSFRFXAV ESFRHSAV
WLM-viewed Free Memory CSFRWLAV ESFRWLAV
SRM-Buffer Memory CSFRSRAV ESFRSRAV
Low-Impact High-UIC Memory CSFRLOAV ESFRLOAV
Med-Impact Med-UIC Memory CSFRMEAV ESFRMEAV
Hi-Impact Low-UIC Memory CSFRHIAV ESFRHIAV
Because we are adding averages to averages, the measures
are not perfect, and small negative values can still show
up for the MN and MX values, but this provides a complete
picture of how your CSTORE and ESTORE are being used.
Sep 5: The calculation of CSFRFXAV was corrected to use
FIXEDAV instead of PRVFXAV for the fixed memory.
These new CSFRxxxx measures above were compared with the
existing CSTORE72 and ESTORE72 variables in RMFINTRV and
TYPE72/TYPE72GO datasets; those type 72 measurements are
based on resident frame time, and are more accurate than
the averages of averages, in my opinion, and they also
provide memory usage by SRVCLASS/PERFGRP so you can tell
which tasks are occupying how much of your memory.
Sep 12: CSTORE and ESTORE creation was moved up in the
code so that CSFRLSAV and ESFRLSAV are not missing.
Thanks to Martin Packer, IBM, EUROPE
Thanks to Peter Webber, CIS, UK.
Thanks to Tony P. Steward, Post Office, UK.
Change 18.198 TYPE103 variable BYREADCA could have negative values and
VMAC103 contained only the bytes portion of Bytes Read From Cache
Aug 23, 2000 while variable KBREADCA contained only the bytes from the
KiloByte part of the total. Now that IBM revised their
field descriptions, I can correctly sum the KB*1024 plus
the Bytes, and that value is stored in both variables;
both contain bytes and are formatted with MGBYTES format,
and now both describe total bytes read from cache.
An eight byte binary field would have been better!
Thanks to Rex Elbert, SPRINT, USA.
Change 18.197 Support for APAR II11493 changes to SMF type 50 VTAM
FORMATS Statistics record (INCOMPAT) adds new subtype 03 and
VMAC50 restructures that record different from other subtypes.
Aug 22, 2000 The new record provides statistics for TCP connections.
Thanks to Mark Rosen, Office Depot, USA.
Change 18.196 Support for APAR PN61399 (corrects TELNET SMF LOGF record
VMACTCP 'SAVF' in error instead of 'LOGF') adds 'SAVF' to the
Aug 21, 2000 commands that MXG recognizes as TELNET SERVER record, so
even if you don't have the APAR installed, MXG protects.
Change 18.195 Cosmetic. Comments in EXPDBSTP containing the old macro
EXPDBSTP names (prior to MXG 16.04 changes) were revised to show
Aug 16, 2000 the current macro name, _LDBSTEP, in the example.
Thanks to Patrick Julien, France Telecom, FRANCE.
Change 18.194 Error: INVALID DATA FOR GDESIS because the input should
VMACQAPM have &PD.3. instead of &PD.4., but this field indicates
Aug 16, 2000 the data is from Collection Services and not QAPM.
Thanks to Joe Faska, Depository Trust, USA.
Change 18.193 Support for new NTSMF object "SESSION", previously named
VMACNTSM "TERMINAL SERVICES SESSION and with seven new fields:
Aug 16, 2000 ELAPSTM PID PRTYBASE TOTPROHI TOTPROHR TOTPRORE
UNKNCTR1
and removes two:
TOTRANER TOTAL*TRANSPORT*ERRORS
OUTRANER OUTPUT*TRANSPORT*ERRORS
INTRANER INPUT*TRANSPORT*ERRORS
and one unnamed counter is thought to be HANDLES, so the
new record has a total of 80 data fields. It is still
output to the TERMSESS dataset.
Thanks to Luc Gariepy, Regie des Rentes du Quebec, CANADA.
Change 18.192 MXG 18.05-18.06 only INPUT STATEMENT EXCEEDED RECORD. The
VMAC16 +6 before ICEOTBKF should have been +2.
Aug 16, 2000
Thanks to Shabida Khan, Royal Bank, CANADA.
Change 18.191 PSBNAME, added by Change 18.083A was blank because it was
VMACCIMS inserted in the wrong KEEP= list. It should have been
Aug 16, 2000 immediately before _KIMFTRX instead of _KIMFPGM so it
is kept in CIMSTEMP instead of CIMSPROG.
Thanks to Tammy Wellstood, Clarica, USA.
Change 18.190 Year 2000 support for BMC CICS Manager data segments in
IMACICBB type 110 records was incorrect, causing year to be 2020
Aug 15, 2000 instead of 2000. Change 15.179 had never been
tested with Y2K data, and its change was incorrect for
each of its six datetime variables.
Thanks to ???, ???, EUROPE.
Change 18.189 If you had the same name for both a Service Class and a
TRND72GO Reporting Class, TRND72GO lumped them together. Adding
Aug 12, 2000 variable RPRTCLAS at the end of the SUMBY= now separates.
Thanks to Mike Schwencer, Banner Health, USA.
Change 18.188 CICS type 110 Journal (Subtype 0) with GLRHTYPE=2 caused
VMAC110 an INPUT STATEMENT EXCEEDED RECORD error. The statement
Aug 11, 2000 IF CLUPRLE GT 0 THEN INPUT +CLUPRLE @; should not have
been there, and has been deleted (those bytes are read by
the included exit member and the double read were wrong).
Thanks to Shoab Kamran, U.S. Postal Service, USA.
Change 18.187 Support for APAR OW43854 adds new fields to SMF type 62
VMAC62 VSAM OPEN and especially to the SMF type 64 VSAM CLOSE
VMAC64 record, finally adding the OPENTIME of the VSAM file, so
Aug 9, 2000 it is no longer necessary to merge 62 and 64 just to get
the OPENTM duration of a VSAM file! New ACB bits are
also decoded; these variables are added to TYPE64:
ACBMACR4='ACBMACRF*BYTE*FOUR'
OPENTIME='DATETIMESTAMP*WHEN THIS*FILE WAS*OPENED'
OPENTM ='DURATION*THIS FILE*WAS OPEN'
SMF64FG1='MISCELLANEOUS*FLAG*ONE'
SMF64RSC='SMB*INFORMATION'
SMF64SMB='SMB*ACCESS*BIAS*INFORMATION'
ACBBWO ='ELIGIBLE*FOR BACKUP*WHILE*OPEN?'
ACBCCT ='CONTROL*CHARACTER*TYPE?'
ACBJES ='OUTPUT*AND*JES*?'
ACBNLEX ='NO LSR*EXCLUSIVE*CONTROL?'
ACBRLS ='RLS*PROCESSING?'
ACBSNP ='SNP*OPTION?'
-TYPE62 was also enhanced: the OPENTIME variable was added
and all four ACBMACRx bytes were added, so all of the MXG
ACBxxxxx variables in TYPE64 now also exist in TYPE62.
-The new data fields were added compatibly, using either
previously reserved fields or added at the end.
Dec 2005 note: APARs OW45393 and OA03866 reference the
"new" OPENTIME field, but they were already supported and
no additional code changes were needed for those APARs.
Change 18.186 An extra observation in PDB.STEPS can result if a step
BUILD005 with multiple TYPE30_4 records (MULTIDD='Y') has some of
BUIL3005 the records in today's SMF file and the rest are at the
Aug 9, 2000 start of tomorrow's SMF file, i.e., when MULTIDD='Y' step
records are "spun" today and re-introduced tomorrow.
Fortunately, that extra observation has zeroes in all of
the resource variables, so there is no real impact, but
it should not have been created, and is confusing, with
STEP=0, MULTIDD=' ' instead of MULTIDD='Y', and SYSTEM is
blank. The spun MULTIDD records (SPIN30_4) are combined
with today's new MULTIDD records (TYPE30_4) into GOOD30_4
which is then sorted for its SET with GOOD30_5 to create
STEP number, but that sort of GOOD30_4, did not ensure
that the real MULTIDD=' ' step record was always first.
If any spun records with MULTIDD='Y' were physically
before the real MULTIDD=' ' step record, they created the
extra STEP=0 observation!
The original BY list of READTIME JOB JESNR SORTTIME (with
SORTTIME=INITTIME of the step) was expanded to now be by
READTIME JOB JESNR SORTTIME MULTIDD DESCENDING EXTRADD
as this forces the real step record to be first, and also
sequences the MULTIDD='Y' in the order they were written,
by that addition of DESCENDING EXTRADD to the BY list.
Variable RDRTM was removed for the TYPE30_4 keep list, as
it exists only in the TYPE30_1 and TYPE30_5 datasets.
Thanks to Mat Elbersen, Rabobank, THE NETHERLANDS.
Change 18.185 NETVIEW SMF 39 record with invalid ROUTE segment caused
VMAC39 INPUT STATEMENT EXCEEDED RECORD LENGTH. The record looks
Aug 9, 2000 like it was overlaid starting in the SCS section with the
LSESCOSA filed, thru the APPN and ROUTE segments. MXG
added test to INPUT only if there is enough data left in
the record, while investigating the cause of the record.
Thanks to Bruno Peeters, Dexia Bank, BELGIUM.
Change 18.184 Datasets TYPE7 and TYPE23 are now automatically created
BUIL3001 in your PDB library by BUILDPDB/BUILDPD3 programs. The
BUIL3606 PDB.TYPE7 dataset will have observations only if there
BUILD001 was a loss of SMF records. The PDB.TYPE23 dataset has
BUILD002 one observation per SMF interval with the activity to the
BUILD606 SMF datasets, and is useful in tracking down the cause of
BUILDPDB any TYPE7 SMF Data Lost events. Both are very small.
BUILDPD3 Note: if you tailored BUILDPDB to add either of these two
Aug 9, 2000 datasets, you must back out your tailoring in the members
EXPDBINC, EXPDBVAR, EXPDBCDE, and EXPDBOUT.
Change 18.183 The EREP Symptom Record was output to EREPSIM instead of
VMACEREP to EREPSYM; the _EERPSIM in line 2680 should have been
Aug 9, 2000 _EERPSYM.
Thanks to Peter Webber, CIS, ENGLAND.
Change 18.182 VMXGSUM enhancements - 4 major changes:
VMXGSUM -Small differences in results could be seen if INHERIT is
VMXGENG used with V8 to set the lengths of variables and bypass
VMXGINIT the second data step. VMXGSUM was modified to only use
Aug 9, 2000 the inherit option when the data step can be bypassed
Aug 26, 2000 (when no OUTCODE= or NORMx= operands are specified.)
-If TEMP01 or TEMP02 was used and they were sequential
format datasets, the MXGSUM1 and MXGSUM2 datasets were
left in place. Since this can cause subsequent uses
of VMXGSUM to run longer and a PROC DATASETS will fail
on a sequential format dataset, macro %VMXGENG now exists
to detect the ENGINE for a LIBNAME and to set the global
macro variable &MXGENG to contain the ENGINE name, so
that either a PROC DATASETS or LIBNAME DDNAME CLEAR;
LIBNAME DDNAME ENGINE; will be done to appropriately
reset the work files.
-If KEEPALL=YES is used, more WORK space may be required
because there was no KEEP= list on the MXGSUM1 dataset.
So now a KEEP= list (the UNION of all parameters sorted
with duplicates removed) is created, and this is a better
than KEEPALL=NO or KEEPIN=xxxx since it avoids all of the
resources needed to determine what variables exist.
-Significant savings can be had by avoiding the physical
I/O involved in the first data step. This is now done by
using a VIEW on MXGSUM1, but since a VIEW will not work
on a sequential format SAS dataset, the new logic detects
that a sequential engine is being used and instead uses
a data step within the INCODE instead of a VIEW.
In a test of ASUMDB2A with 1743212 OBS in input DB2ACCT
dataset the following results were attained:
CPU EXCP WORK TRACKS
Current 16.75 minutes 124805 117630
New 11.82 100178 59442
-The new %VMXGENG macro can be used to detect the engine
for a LIBNAME/DDNAME, using this syntax:
%VMXGENG(DDNAME=xxxxxxxx);
The name of the SAS engine is returned in the global
macro variable &MXGENG.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.181 Variable CLASS3WT was incorrect in ASUMUOW if there was
ASUMUOW any WAIT FOR IO UNDER DIFF THREAD, variable QWACARNW.
Aug 9, 2000 The count rather than duration variable was in the SUM.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.180 Variable DEVTYPE now supports TRTCH values of E8x,E9x for
VMACTMS5 3590 and 3590E devices, although you must manually update
Aug 8, 2000 the TRTCH value in TMS.
Thanks to Renzo Serena, ENEL, ITALY.
Change 18.179 Variable QLACMDWT, elapsed time waiting because the max
VMACDB2 number of DBATS has been exceeded, is now input and kept
Aug 8, 2000 in DB2ACCT dataset.
Thanks to Phil Downes, ABN AMRO Bank, THE NETHERLANDS.
Change 18.178 DB2 Version 6.1 only, IFCID 106. The end of comment was
VMAC102 missing in line 11081.
Aug 4, 2000
Thanks to Harald Seifert, HUK Coburg, GERMANY.
======Changes thru 18.177 were in MXG 18.06 dated Jul 28, 2000======
Change 18.177 Report example that uses ANALCNCR and PROC TABULATE and
ANALHTML produces reports in HTML format using ODS.
Jul 28, 2000
Thanks to Chuck Hopf, MBNA, USA.
Change 18.176 Doc only. Support for APAR OW45168's minor changes to
VMAC94 SMF Type 94 were already in place in MXG.
Jul 28, 2000
Change 18.175 MXG 18.05 only. INVALID DATA FOR PHMSDATE because three
VMACIDMS debugging lines were incorrectly left. Delete the three
Jul 28, 2000 lines (1223-1226) starting IF PHMRTYPE=18 THEN ....
Thanks to Wim Desmecht, DOLMEN, BELGIUM.
Change 18.174 Documentation only. Comments in both members still had
ASMIMSL5 LRECL=132 for the IMSSUM,INQUEUE, and OUTQUEUE DD names,
ASMIMSL6 but the correct LRECLs (which are ok in the JCLIMSLx's)
Jul 28, 2000 are 136 for V5 and 144 for V6. If you used our old JCL
with incorrect LRECL value, you got IEC141I 013-20 ABEND.
Thanks to Brian Sanger, Zurich Financial Services, ENGLAND.
Change 18.173 Support for OS/400 Release 4.5.0 (INCOMPAT LRECLs and
VMACQAPM data was inserted in the QAPMETH record). If you don't
Jul 27, 2000 use the QAPMETH record, you can change the LRECLs as
Sep 19, 2000 indicated for QAPMBUS, QAPMJOBS, and QAPMSYS, and the
previous MXG Version will work with 4.5 records.
-QAPMBUS has an undocumented single byte character field
added, changing it's LRECL from 111 to 112. New variable
BUCHAR created, was always 'S' in my sample records.
-QAPMETH had six fields with undocumented length changes.
The suffixes MEXR, MM14, MTR, and MDCN increased from 3
to 6 bytes, and MBRV and MBTR increased from 6 to 8.
The LRECL is now 257 for QAPMETH.
-QAPMJOBS has two undocumented 8-byte fields added at the
end of the record, variables JBUNDOC1/JBUNDOC2. The
LRECL for QAPMJOBS is now 835.
-QAPMSYS has five undocumented 4-byte fields added at the
end of the record, variables; the QAPMSYS LRECL is 3288.
Sep 19, 2000: The undocumented variables are now named,
but I still have no description of their contents:
JOBS: JBEDBC, JBTDBC SYS: SYIFUS, SYIFTE, SYDBC, SYSWC
SYSTEM: SCIFUS SCIFTE SYHFTH SYSDBC SYSSWC
BUS: BUTYPE
Thanks to Stuart R. Burnett, Reynolds Metal Corporation, USA.
Change 18.172 Support for APAR PQ32435 OS/390 IHS WEBSERVER SMF 103
VMAC103 adds variables JOB and ASID to the TYPE1032 dataset.
Jul 27, 2000 The APAR also describes changes in values put into the
"EntityName" and "EntityAddress" fields, and documents
when the interval value is not the expected interval:
- The initial write on startup has an interval of zero.
- The termination write on shutdown or restart has an
interval of the time since last write.
- The initial write on restart has an interval of the
time since the restart termination write.
Change 18.171 MXG's protection logic for TCP SMF 118 records with bad
VMACTCP HFS Filename offsets or lengths was still incomplete and
Jul 27, 2000 permitted INPUT STATEMENT EXCEEDED errors. Logic was
revised and the first two bad records are printed on the
SAS log. This supercedes Change 18.144.
Thanks to Francis Berckman, Astra Zeneca, USA.
Change 18.170 MXG 18.04-18.05 only. Variables ONLINE,CMBINVLD,PARTIAL,
VMAC74 BASE, and VARY were always blank. The five lines setting
TYPE74 those variables blank were not removed after the logic to
Jul 26, 2000 set those variables was moved up thirty lines.
Jul 28, 2000
Thanks to Diane Parker, Bergen Brunswig, USA.
Thanks to Peter Webber, CIS, ENGLAND.
Change 18.169 Variable PERFINDX was incorrect in TRND72GO because the
TRND72GO variables R723CVAL and R723CPCT should have been in the
Jul 26, 2000 ID= list, and not in the SUM= list.
Thanks to Pat Perreca, Bear Stearns & Co., USA.
Change 18.168 Documentation. The SAS option USER=XYZ can be used to
DOCMXG send "//WORK" datasets instead to the "//XYZ" DDname.
Jul 25, 2000 However, for MXG to recognize the USER=option, it needs
Oct 11, 2002 to be set before MXG initialization has executed:
OS/390: put USER=XYZ on the EXEC statement:
//STEPNAME EXEC MXGSAS,OPTIONS='USER=XYZ'
ASCII: put USER=XYZ in the AUTOEXEC.SAS file:
LIBNAME XYZ 'C:\XYZ';
OPTIONS USER=XYZ;
If you must put the USER= option in your //SYSIN stream,
then you must insert a %VMXGINIT; statement after it:
//SYSIN DD *
OPTIONS USER=XYZ;
%VMXGINIT;
which will re-invoke the MXG initialization using your
USER= value (printing a second "WELCOME TO MXG" message).
If the USER= value is put in //SYSIN without the VMXGINIT
MXG will not see your USER= option. If you have USER= on
the // EXEC, and you also have USER= and VMXGINIT in your
//SYSIN, the USER= in SYSIN will be used because of the
second MXG initialization.
Putting USER= on the //EXEC statement is preferred, as it
does not require the extra cost of the second VMXGINIT.
An alternative for re-directing datasets in the //SYSIN
is to use the %LET Wdddddd=XYZ; syntax for the "work"
copy of the unsorted dataset (or use %LET Pdddddd=XYZ;
for the sorted, "PDB" copy). The "dddddd" value for each
MXG dataset is documented in the IMACxxxx member for the
product that creates the dataset.
Oct 11: text was revised for clarity.
Thanks to Mike Delaney, Pershing, USA.
Change 18.167 New variables QBGBGR1N and QBGBGR2N are input as numeric
VMACDB2 variables. The original variables QBGBGR1 and QBGBGR2
Jul 25, 2000 were input as characters (because I didn't realize what
they were), and worse, while input as $EBCDIC6, they were
truncated to a kept length of only $4 because they were
in the $HEX8 format item list! Now the character vars
are kept as full length (by moving to $HEX12 format), and
numeric counterparts now exist in DB2GBPAT dataset for
Global Buffer Pools counts of current or pending
directory entries.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 18.166 The new R744Cxxx variables in the TYPE74ST Structure data
VMAC74 set were wrong if there were more than one segment, due
Jul 25, 2000 to a typo: the 26 lines with SUM(R744Caaa,R744Caaa) were
changed to SUM(R744Caaa,R744Xaaa). The
RLS and OSAM structures have 20+ and 60+ segments each,
but DB2 group buffer pools have only one segment so their
counts were always correct.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 18.165 New format MGBYTEN converts bytes to KB/MB/GB/TB/PB like
FORMATS existing format MGBYTES, but MGBYTEN handles negative
Jul 25, 2000 and positive byte values (to track increase/decrease in
DASD memory) so it must be 6 characters wide to have room
for the minus sign, so it had to be a different name than
the 5-character-wide MGBYTES format.
Thanks to Tan York Sin, Singapore Exchange Limited, SINGAPORE.
Change 18.164 Support for Release 321 INCOMPATIBLY changed time stamp
VMACBETA formats for BETABT and BETASTRT. More testing may be
Jul 25, 2000 required if other fields were changed, as only the one
subtype=1 record was received for validation.
Thanks to ???, ???, EUROPE.
Change 18.163 Statement IORATE=0; was removed. The devices with no
ANALCACH cache records needed to have cache-related fields zero,
Jul 25, 2000 but not the IORATE.
Change 18.162 Support for DFSMS/rmm TYPEEDGS/TYPEEDGB was still wrong.
VMACEDGS Zero obs or INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Jul 25, 2000 The "D" and "V" dataset/volume records did change in 1.5
Sep 5, 2000 but the old-format 1.4 records still exist in the catalog
dataset. And the handling of variable length name fields
that worked in 16.16 was somehow lost. In any event, the
change has been tested with TYPEEDGB reading a catalog
with both formats of both records, and works correctly,
using the MD/MVRECLEV variable to identify record format.
There are some 1.4 records that have '40'X in their name
length fields, and have enough record length to contain
a DSN, but they do not contain real DS names; however,
they also do not cause any error.
Sep 5: Variable MVRETDAT was not kept.
Thanks to Richard Fortenberry, Mitsubishi Motor Sales, USA.
Taught classes in Amsterdam and London.
Change 18.161 Y2K support was incorrect, but nobody noticed! Inserted
VMACAXC IF IDTE LT 1900000 THEN IDTE=IDTE+1900000; and changed
Jul 7, 2000 each IDTE,5.),JULIAN5. to IDTE,7.),JULIAN7.
Thanks to Stephen Bell, Informatik Kooperation, GERMANY.
Change 18.160 The %INCLUDE of member IMACKEEP was missing from a number
DOC of MXG TYPExxxx and TYPSxxxx members, which prevented use
Jul 7, 2000 of the new-in-16.04 architecture for instream tailoring.
Most are archaic or not mainstream. Members updated were:
TYPxCRAY TYPxFRYE TYPxHO15 TYPxHPAI TYPxHPCS TYPxHPSU
TYPxHPUX TYPxIMFL TYPxIMS TYPxIMS1 TYPxMWAI TYPxMWSU
TYPxMWTE TYPxMWUX TYPxPW TYPxQTRT TYPxRMF TYPxSAM
TYPxSFS TYPxSNIF TYPxSUPR TYPxTRSN TYPxTUX TYPxVMON
TYPxVMXA TYPxXAM TYPxZARA TYPxZRB TYPEIMSD
Thanks to Bart Decat, KBC Belgium, BELGIUM.
Change 18.159 WARNING: ARGUMENT 3 TO MACRO FUNCTION %SUBSTR IS MISSING
ANALDB2R occurs with SAS Version 8.1, because the length of their
BUIL3001 &SYSVER Version macro was shortened from four to three.
BUIL3005 There is no execution impact, fortunately, except that
BUILD001 the warning now sets a step Condition Code/Return Code of
BUILD005 four instead of zero, and wastes your time in diagnosis!
BUILDPD3
BUILDPDB In Version 8.1, SAS changed the length of their &SYSVER
READDB2 macro from four digits (6.06,6.07,6.08,6.09,8.00) to only
VMXGFOR three digits (8.1), but MXG used %SUBSTR(&SYSVER,1,4):
VMXGINIT to differentiate 6.07 from 6.08, so that options that
VMXGSUM were new in 6.08 would be bypassed under 6.07. While
Jul 6, 2000 the %SUBSTR fails, because the option now exists in
SAS releases, there is no execution error. And the
only purpose was to suppress unneeded SAS messages!
To eliminate this exposure in future SAS Version names,
all MXG references to &SYSVER were revised. Now, all
tests for SAS Version use the MXG-created macro variable
&SASVER, which is set by VMXGINIT from &SYSVER to the SAS
Version number (6, 7, 8, etc.). All of the old 4th-digit
of &SYSVER tests are no longer required:
The tests that set OPTIONS CODEPASS=2 were removed
completely, as that option no longer exists and is no
longer set, and tests around OPTIONS DKROCOND= were
also removed, as that option is now present in all
executable SAS versions.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 18.158 The NTSMF Trending macro variables PTRNTIN and PTRNTLD
VMXGINIT were not defined in VMXGINIT. Three labels in VMACNTSM
VMACNTSM longer than 40 characters, that were not caught by the
Jul 6, 2000 SAS compiler when VMACNTSM ran, but were caught when the
data set was copied.
Thanks to Howard Glasetter, Weyerhaeuser, USA.
Change 18.157 The example REPORT command in the ADOCMWUX member did not
ADOCMWUX create the file that was expected by VMACMWUX, so that
VMACMWUX command was revised to include the new variables that are
Jul 6, 2000 expected. Four variables, TFRSTSEC,TPRMPSEC,TTHNKUSE,
and TPRMPUSE are set missing because I cannot find them
in the current list of MeasureWare fields for HPUX.
Thanks to Roman Gudz, Penske, USA.
Thanks to Bart Decat, KBC Belgium, BELGIUM.
Change 18.156 Variable SMF74CNF was not kept, but not initialized, as
VMAC74 it was INPUT into DEVIND, which was not kept. Now it is.
Jun 30, 2000
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 18.155 MXG 18.05 only. Variables S42DSMXR,S42DSMXS were never
VMAC42 input, having been misspelled as DXMXR and DSMXS in the
Jun 30, 2000 INPUT statement.
Thanks to Bruce Widlund, Merrill Consultants, USA.
======Changes thru 18.154 were in MXG 18.05 dated Jul 1, 2000======
Change 18.154 ANAL4GB member reports on VSAM files approaching 4GB in
ANAL4GB size, but included Extended VSAM files, which show over
Jun 30, 2000 100% utilized space, so IF SMF64EF='Y' THEN DELETE; was
added so those datasets will not be reported.
Thanks to Alfred Holz, Merck & Co., USA.
Change 18.153 Corrections found during QA runs.
VMAC108 -VMAC108. The KEEP list for TYPE108T and TYPE108P did not
VMAC74 keep the variables DOMSPN and DOMSYN, and DOMDBNAM should
WEEKBLD not have been in _BTY108T.
WEEKBLDT -VMAC74. Two variables R745DCID; the "Real CU ID" variable
MONTHBLD was changed to R745DCIR.
VMACEDGS -WEEKBLD/WEEKBLDT/MONTHBLD. The Sort Order for TYPE72SC
VMACMIM was revised to match the VMAC7072 definition, and is now
VMACTMV2 SYSPLEX SYSTEM STARTIME SRVCLASS
VMACSOLV R723SCSN R723SCSR SMFTIME
VMXGCICI -VMACEDGS. Variable MDPDSN repeated in KEEP and LABEL.
Jun 30, 2000 -VMACMIM. Variable DURATM repeated in KEEP list.
-VMACTMV2. Variable WGMSOSCE repeated in KEEP list.
-VMACSOLV. Variable SOLVFLAG had two formats.
-VMXGCICI. Variable STARTIME repeated in FORMAT.
Thanks to Freddie Arie, Lone Star Gas, USA
Thanks to Bruce Widlund, Merrill Consultants, USA
Change 18.152 New _S110ST and _CICSTAT macros are defined in VMAC110 so
VMAC110 that you can control where the CICS Statistics datasets
Jun 29, 2000 are written. With TYPE110 or BUILDPDB, CICS statistics
Aug 29, 2000 datasets are created in the "WORK" DD; BUILDPDB reads 'em
to create the PDB.CICINTRV summary dataset, but those
individual CICS Statistics datasets are not copied or
sorted; they just die at end of step in the //WORK file.
This enhancement lets you control where they written, if
you want to keep any or all of them.
1. You can write them to the 'CICSSTAT' library, sending
all of the CICS statistics datasets (unsorted) to that
DD as the SMF records are read. You would use this:
after your //SYSIN DD statement:
%LET CICSTAT=CICSSTAT;
_CICSTAT;
The _CICSTAT macro invocation uses the value of the
&CICSTAT macro variable as the destination library for
the &WCICddd and &PCICddd CICS statistics data sets.
If you %LET CICSTAT=PDB; before the _CICSTAT invoke,
CICS stats would be written unsorted to the PDB DD.
2. Alternatively, by default, BUILDPDB builds all CICS
Statistics datasets in the //WORK file, and then reads
them to create the PDB.CICINTRV dataset, but then the
CICS Statistics datasets are left in the //WORK DD,
which is temporary and goes away at step end. You can
thus use the member EXPDBOUT to select/sort any of the
CICS Statistics datasets into your PDB. You can use
individual dataset "_Sdddddd" macros for each dataset
that you want to output, or you can use this new
"_S110ST" macro, which will sort only the Statistics
CICS datasets. (The old _S110 macro can't be
used in EXPDBOUT, because it invokes two _Sdddddd sort
macros, _SCICEXC and _SCICSYS, which were already
invoked by BUILDPDB logic.) Just adding _S110ST in
your EXPDBOUT member will sort all CICS statistics
data to the PDB library. You can also invoke the
_CICSTAT macro in member EXPDBOUT after resetting the
default DD name, can could then sort all of the CICS
statistics datasets into the "MYDD" library, using:
%LET CICSTAT=MYDD;
_CICSTAT;
_S110ST
Note: _S110ST did not exist until MXG 18.07, when the
change was revised.
Thanks to Glenn Bowman, Wakefern, USA.
Change 18.151 INPUT STATEMENT EXCEEDED with NETSPY 5.2 subtype "I" and
VMACNSPY MXG 18.03-18.04. In 5.2, the "I" subtype was for TELNET
Jun 29, 2000 sessions, but NETSPY 5.3 deleted the TELNET data, and
reused subtype "I" record for TCP/IP data. MXG 18.03 now
supports the TCP/IP data, but Change 18.069 did not test
for and delete that now-defunct 5.2 "I" record. The code
test after IF NSPYREC='I' THEN DO; was revised to insert
IF NSPYENTL LE 70 THEN DELETE; since the 5.2 "I" record
segment length was 70.
Thanks to Rita Bertolo, Canadian Pacific Railroad, CANADA.
Change 18.150 Negative values for RANDOM PAGES fields in reports. The
ANALDB2R calculation of variable RANDOMP was incorrectly located,
Jun 29, 2000 and was moved to after MEAN=QB&B.TCBA/NUMINTVL;
Thanks to Gary L. Keers, Indianapolis Power & Light, USA.
Change 18.149 New analysis: Who is filling your active SMF VSAM file?
ANALSMJB This program reads the active VSAM SMF file (or any SMF
Jun 29, 2000 file) and counts how many type 14, 15, 30, 42, and 64 SMF
records in that SMF file were created by each JOB, so
that your operators can use this report to cancel a
runaway job. (The program stops reading SMF records when
it sees a timestamp after the start of this program, so
that SAS does not have to read over all the unused CIs
in your VSAM SMF file).
Change 18.148 Documentation only. Change 17.060 showed example syntax
VMXGINIT of %VMXGINIT(MXGWORK=XYZ); to redirect datasets from the
Jun 29, 2000 //WORK default to the "XYZ" libref, but VMXGINIT changes
(VOPTIONS table, resetting MXGWORK based on SASSWORK and
USERWORK) cause that old syntax to no longer work. If you
should ever need to redirect work, now the correct syntax
is to use OPTIONS USER=XYZ; See also Change 18.168
Thanks to MP Welch, SPRINT, USA.
Change 18.147A-SAS V8 no longer requires the MEMSIZE parameter in the
CONFIGV8 CONFIG member, and in some cases it has caused memory
Jun 29, 2000 ABENDs that were eliminated by removing MEMSIZE, so I
have removed it from CONFIGV8 member. Using REGION=0M
on your JOB card is recommended, but you should be aware
that installation exits IEALIMIT and/or IEFUSI can limit
the virtual storage that be allocated.
-I had to reinstate the S=72 and S2=72 options in CONFIGV8
member. It was removed (Change 17.392) to protect from
potential problems if your SOURCLIB was RECFM=VB, but its
absence caused errors if you had numbered lines in your
MXG Tailoring Library (USERID.SOURCLIB), including 180
syntax ABENDs, and APPARENT MACRO &WORDI UNRESOLVED.
Unnumbering your lines eliminated the error, but so does
putting back the S=72 and S2=72 in the CONFIGV8 member,
and you don't have to touch your numbered lines.
Thanks to John Mattson, Espon, USA.
Change 18.147 The data step previously in the _STYMEMx sort macros were
VMACMEMO replaced with PROC SORT and the _BTYMEMx macros now have
Jun 29, 2000 the correct BY list variables.
Thanks to Fred Kuhstoss, Norfolk Southern Corp, USA.
Change 18.146 Variables S42DSMXR and S42DSMXS were added to TYPE42DS
VMAC42 when they were discovered in the SMF manual.
Jun 29, 2000
Change 18.145 -New TRNDNTLD trends NT DISK Space Utilization using the
BLDNTPDB NTSMF dataset LOGLDISK.
NTINTRV -Hardcode dataset names in BLDNTPDB text were replaced
TRNDNTLD with their _Ldddddd symbolic macro name, and NTINTRV was
VMXGINV changed to use the symbolic, and to %INCLUDE the member
Jun 28, 2000 IMACKEEP so the BLDNTPDB builds a fully compatible code
member that accepts IMACKEEP/MACKEEP= tailoring.
If TRENDing is invoked by BLDNTPDB, both TRNDNTSM and the
new TRNDNTLD are invoked.
Thanks to Greg Jackson, National Life of Vermont, USA.
Thanks to Howard Glasetter, Weyerhaeuser Company, USA.
Change 18.144 Protection for bad length/offset for TCP HFS filename
VMACTCP segments was over slightly in error; some records with
Jun 26, 2000 valid HFS lengths of zero were flagged as in error. The
test for IF 0 LT FTPHFS01 LT LENGTH-1 THEN DO; line 440
and IF 0 LT FTPHFS02 LT LENGTH-1 THEN DO; line 472
were changed IF 0 LT FTPHFS01 LE LENGTH-1 THEN DO; 440
and IF 0 LT FTPHFS02 LE LENGTH-1 THEN DO; 472
so only bad segments with non-zero length are detected.
Thanks to Sal Fazzino, First American, USA.
Change 18.143 -Support for new NTSMF Objects in Windows 2000 Server:
EXNTBENG "dddddd" "dataset" vars description
EXNTDHCP NTBENG BEENGINE 131 BE Engine
EXNTDNS NTDHCP DHCP 14 DHCP Server
EXNTFIRC NTDNS DNS 62 DNS
EXNTFIRS NTFIRC FILREPCO 24 FileReplicaConn
EXNTNTPC NTFIRS FILREPSE 91 FileReplicaSet
EXNTNTPS NTNTPC NNTPCMND 44 NNTP Commands
EXNTNTDS NTNTPS NNTPSERV 40 NNTP Server
EXNTNTSH NTNTDS NTDS 140 NTDS
EXNTWMSS NTNTSH NETSHIEL 40 NetShield
EXNTWMUS NTWMSS WINMEDSS 3 Windows Media Station Service
IMACNTSM NTWMUS WINMEDUS 24 Windows Media Unicast Service
VMACNTSM -And the NTSMF 2.2.2 change that puts back into the SYSTEM
VMXGINIT object the variables PCTCPUTM PCTUSRTM PCTPRVTM that
Jun 27, 2000 Microsoft had previously removed from SYSTEM.
-And the NTCONFIG file was corrected; the CPUSPEDn/FAMILYn
MANUFACn/CPUNUMn fields were RETAINed from each 0,0, but
were not initialized, and so could contain data in the
N+1 fields when the value of NRCPUS was only N.
Thanks to Hansueli Vogt, Credit-Suisse, SWITZERLAND.
Change 18.142 CMA SPOOL record, subtype 6, variable SMFT06PC, added by
VMACCMA Change 18.056, was incorrectly decoded, as a two-byte
Jun 26, 2000 reserved field precedes that field. The DSECT shows a
two byte reserved field after SMFT06PC, but it is not
input (to preserve compatibility).
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.141 Variable DVGSBCNT, the Transfer Byte Count, has always
VMACFTP been wrong; it should have been input as &PD.8., but it
Jun 26, 2000 was documented as binary instead of packed decimal.
Jul 25, 2000 In addition, variable DVGSCFAC should have been &PIB.1.1
but was previously only &PIB.1.
Thanks to John Sheridan, Aer Lingus, IRELAND.
Thanks to Theo Peelen, RABOBANK, THE NETHERLANDS.
Change 18.140 Variables CIOPCT, HITPCT, and RDHITPCT were not being
ASUM42DS recalculated after the summation; the were revised into
Jun 26, 2000 NORM= operands to be properly recalculated as percents.
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 18.139 IMS Log Version 5.1 cause zero observations in IMSTRAN
TYPEIMSB in STEP4 of JCLIMSL5, because IF _IMSVERS LE 5 THEN DO;
Jun 22, 2000 should have been IF _IMSVERS LE 5.1 THEN DO; in three
places in member TYPEIMSB.
Thanks to Pete Gain, SAS UK, ENGLAND.
Change 18.138 Additional, optional variables are now decoded from the
IMAC6ESS ESS segment in the type 6 record. Comments in IMAC6ESS
VMAC6 describe how to enable the creation of these variables,
Jun 21, 2000 and how to add them to TYPE6, or to PDB.PRINT. The full
list of TYPE6/PDB.PRINT variables that are decoded from
the ESS/IEFDOKEY optional fields are these:
ADDRESS1='FIRST LINE*OF ADDRESS'
ADDRESS2='SECOND LINE*OF ADDRESS'
ADDRESS3='THIRD LINE*OF ADDRESS'
ADDRESS4='FOURTH LINE*OF ADDRESS'
BUILDING='BUILDING'
DEPT ='DEPARTMENT'
DESTNATN='DESTINATION'
ESSBURST='BURST*IN*ESS'
ESSCHARS='CHARS*IN*ESS'
ESSCLASS='CLASS*IN*ESS'
ESSCOPIE='COPIES*IN*ESS'
ESSFCB ='FCB*IN*ESS'
ESSFMDEF='FORMDEF*IN*ESS'
ESSFORMS='FORMS*IN*ESS'
ESSLINCT='LINECT*IN*ESS'
ESSMODFT='MODIFY TRC*IN*ESS'
ESSMODFY='MODIFY*IN*ESS'
ESSPGDEF='PAGEDEF*IN*ESS'
ESSPRMOD='PRMODE*IN*ESS'
ESSPRTY ='PRTY*IN*ESS'
ESSWRITR='WRITER*NAME*IN ESS'
GROUPID ='GROUP ID'
NAME ='NAME'
ROOM6 ='ROOM6'
TITLE ='TITLE'
Thanks to Todd Wright, CSC, AUSTRALIA.
Change 18.137 Variable CUTSHEET='Y' in dataset TYPE6 and PDB.PRINT was
VMAC6 incorrectly decoded; the wrong bit was tested. It should
Jun 21, 2000 have been IF OPTBIT='..1.....'B THEN vice '.1......'B.
Thanks to Peter Robinson, IGM-GSA, AUSTRALIA.
Change 18.136 The RECTYPE=5 Deleted Data Space Release records were put
VMACICE in ICEBRGDR instead of ICEBRGDE, because the statement in
Jun 21, 2000 the RECTYPE=5 DO group should have been _EICEDEL instead
of _EICEDRV (i.e., the comments were correct).
Thanks to Nick Johns, J. Sainsbury, ENGLAND.
Change 18.135 WEEKBLD and MONTHBLD still had the wrong BY list for the
MONTHBLD TYPE30MU dataset (but WEEKBLDT was correct!). All were
WEEKBLD changed to match variables in the _STY30MU sort macro
Jun 12, 2000 that is used in BUILDPDB:
READTIME JOB JESNR INITTIME SUBTYPE PRODOWNR PRODNAME
PRODQUAL PRODID SMFTIME
Thanks to Michael Creech, ALLTEL, USA.
Thanks to Ed Billowitz, Medical College of Virginia Hospital, USA.
Change 18.134 Support for OS/390 R2.10 (INCOMPATIBLE).
VMACEXC1 -TYPE30 DD segment has new 8-byte SMF30XBS field for large
VMAC1415 tape block size that requires revised VMACEXC1 to read.
VMAC16 Processing V2.10 data with old MXG will cause INVALID
VMAC30 DEVICE DATA error messages, with trashed DDname, because
VMAC7072 of this INCOMPATIBLE change to SMF type 30.
VMAC71 Note: A common symptom of using an MXG version without
VMAC73 this change to read OS/390 R2.10 or later SMF is
VMAC74 ***ERROR.VMACEXC2.2 INVALID DEVICE DATA message
VMAC78 that has TEMPLSEG=30 in that message text.
VMAC79 This note was added Jun 20, 2001.
Jun 10, 2000 -TYPE1415 has new 8-byte BLKSIZE field for large tape
blocksize, and the CCSID Information added in 2.7 is
now decoded into new variables SMF14CFG/USR/TPE/LBL.
-TYPE16 had only cosmetic changes.
-TYPE30 new variables added to 30_4, 30_5, 30_V, 30_6
datasets: SMF30ASP SMF30CCP SMF30CPR SMF30CSP SMF30JPN
SMF30SME SMF30SPR
-TYPE70 new variable SMF70DSA
-TYPE70PR new variables SMF70ACS SMF70BDA SMF70CSF
SMF70ESF SMF70MAS SMF70MIS SMF70NSA SMF70NSI SMF70ONT
SMF70SPN SMF70STN
-TYPE71 new variables ESAMEMOD SMF71AFB SMF71AHI SMF71AVI
SMF71HRS SMF71HWS SMF71MFB SMF71MHI SMF71MVI SMF71VRS
SMF71VWS SMF71XFB SMF71XHI SMF71XVI
-TYPE72GO new variables R723PRCP R723PRST
-TYPE73 new variable SMF73SFL
-TYPE74 new variable TIMFACNO
-TYPE74PA new variable R742PIOT
-TYPE74CA new variables R745DCID R745LFRE R745LKBF
R745LKBR R745RBYF R745RBYS R745RRID R745VBYW R745VFLG
R745VNTR R745VNUM R745VSER
-TYPE74?? new subtype 7, two or three datasets, but need
test data to decide on structure of datasets created.
Code is in place for Global/Switch/Port sections.
-TYPE78IO new variables R783CUBM R783DPBM R783MCDF
R783MCMN R783MCMX R783PTM
-TYPE791 new variables R791RLG2 R791RCL
-TYPE792 new variables R792FXAB
-TYPE79E R79EEPTM R79EDPBM R79ECUBM R79EMCDF R79EMCMN
R79EMCMX
Change 18.133 Variable CPUTM, the total CPU Time for billing Oracle use
ADOCORAC is modified based on Oracle technical feedback. For the
VMACORAC Batch/TSO connections (CONNID='BATCH' OR CONNID='TSO'):
Jun 9, 2000 CPUTM=SUM(CPUTIMER,CPUCICTM,CPUTCBTM,CPUSRBTM);
and for all other connections,
CPUTM=SUM(CPUTIMER,CPUCICTM,CPUXMETM);
Further discussion of Oracle data is in member ADOCORAC.
Thanks to Yvonne McDonough, USDA, USA.
Thanks to Leslie Arndt, USDA, USA.
Change 18.132 VMXGSUM failed if you used both AUTONAME=YES and NORMx
VMXGSUM operands. AUTONAME is a new feature in SAS Version 8,
Jun 8, 2000 and when specified with PROC MEANS/SUMMARY, new variable
names are longer than 8-bytes and are suffixed with the
statistics (VARIABLE_SUM instead of VARIABLE). With this
change, AUTONAME can be used with VMXGSUM. Why use the
AUTONAME option? If you wanted to sum PDB.JOBS to get
the min/max/mean/sum/std of CPUTM/SELAPSTM/IOTMTOTL, the
VMXGSUM invocation without AUTONAME would be:
%VMXGSUM(INDATA=PDB.JOBS,
OUTDATA=JOBSSUM,
SUMBY=JOBCLASS,
SUM=CPUTM SELAPSTM IOTMTOTL,
MIN=MINCPU MINELAP MINIOTM,
MAX=MAXCPU MAXELAP MAXIOTM,
MEAN=MEANCPU MEANELAP MEANIOTM,
STD=STDCPU STDELAP STDIOTM,
INCODE=
MINCPU=CPUTM;
MINELAP=SELAPSTM;
MINIOTM=IOTMTOTL;
MAXCPU=CPUTM;
MAXELAP=SELAPSTM;
MAXIOTM=IOTMTOTL;
MEANCPU=CPUTM;
MEANELAP=SELAPSTM;
MEANIOTM=IOTMTOTL;
STDCPU=CPUTM;
STDELAP=SELAPSTM;
STDIOTM=IOTMTOTL;
);
But with AUTONAME specified, only this is required:
%VMXGSUM(INDATA=PDB.JOBS,
OUTDATA=JOBSSUM,
SUMBY=JOBCLASS,
AUTONAME=YES,
SUM=CPUTM SELAPSTM IOTMTOTL,
MIN=CPUTM SELAPSTM IOTMTOTL,
MAX=CPUTM SELAPSTM IOTMTOTL,
MEAN=CPUTM SELAPSTM IOTMTOTL,
STD=CPUTM SELAPSTM IOTMTOTL
);
The major difference using AUTONAME=YES is that you no
longer need to equate the new variables in the INCODE=
operand as they are built automatically using the
variable name suffixed by the statistic. This can also
result in the bypassing of a data step or two depending
on the invocation; in this example, two data steps are
bypassed and all that is left is a PROC SORT and a PROC
MEANS, but you are then left with long variable names!
Change 18.131 Amdahl processors can create type 70 RMF records with
ASUM70PR PR/SM segment with LPARNAME='Inactive',LPARNUM=0, and
Jun 7, 2000 LPARCPUS=0, but LPARNUM=0 was previously used to identify
the LPARNAME='PHYSICAL' obs. These records have missing
values for durations, so there was no error in
PDB.ASUM70PR numeric values, but variable LP0NAME had
'Inactive' (yes, in mixed case) instead of PHYSICAL. The
change is to delete these observations as ASUM70PR reads
them, but they will still exist in the TYPE70PR dataset,
as they are really there in the type 70 SMF record.
Change 18.130 Tailoring in EXDB2STS to create variables in DB2STATS did
EXDB2STS not work, because the exit was not included properly.
VMACDB2 -In VMACDB2, the OUTPUT _LDB2STS ; statement was replaced
Jun 2, 2000 with _EDB2STS to invoke the EXDB2STS exit, and
-In EXDB2STS, the _WDB2STS must be OUTPUT _LDB2STS.
The DB2STATS data set is different because it is created
not during the SMF processing, but in subsequent data
steps (after de-accumulation of DB2STAT0 and DB2STAT1,
which are then merged to create DB2STATS). As a result,
the EXdddddd member outputs to the final destination
"_Ldddddd" macro instead of the "_Wdddddd" work file.
Additionally, any variable that is created in EXDB2STS
exit member will be kept in DB2STATS, and thus there is
no need to update the _KDB2STS macro, as it is never
referenced (but now a comment in VMACDB2 explains!).
Thanks to Mr. Chiarle, Gruppo Miroglio Tessile, ITALY.
Change 18.129 IBM Websphere SMF type 103 subtype 2 record contained
VMAC103 an undocumented 4-byte reserved field between CONNSNLA
Jun 2, 2000 and RTDNSMAX caused the subsequent min/max/avg response
Jun 7, 2000 fields to be incorrect. The field was not in the -03
manual but was added in SC31-8690-04. In addition, the
-03 had the 7 ERRORnnn fields ahead of the 4 ERRLVnnn,
but the -04 manual has the ERRLVnnn first, so MXG was
revised to match the revised documentation. Some thread
wait variables are now "IBM internal", but MXG still
inputs that field into the original variable names.
Thanks to Rex Elbert, SPRINT, USA.
Change 18.128 DFSMS/rmm dataset EDGSVREC had blank data set names in
VMACEDGS the volume record, because the data was located +62 from
Jun 1, 2000 where MXG expected, but since the record level value in
the record is still 01, I don't know if this record was
always this way, or was changed between versions.
New variables were added by SMS 1.5 to both the EDGSVREC
and EDGSDREC datasets that are supported by this change.
Thanks to Pat Osborne, DND/DGISDS/DIOM, CANADA.
Change 18.127 Comments only, but message TMNT010E RC=0028 is written by
ASMTAPES MXGTMNT when there is an SMF buffer shortage (or all SMF
May 31, 2000 datasets are full). The RC in MXGTMNT's TMNT010E is the
return code from the SMFWTM macro (documented in the SMF
Manual, GC28-1783-09) and thus this message appears on
your SYSLOG when MXGTMNT tried to write a mount or an
allocation record, but found it couldn't. The list of
all SMFWTM return codes was added in comments.
Thanks to Herb Strazinski, US Bank, USA.
Change 18.126 The string LABEL='NTACSR: was misspelled once as NTACRS,
VMACNTSM and was repeated incorrectly five times that are changed
May 31, 2000 to NTDIST, NTIACC, NTIACS, NTIATC, and NTIATS. These
typos caused BLDNTPDB to see duplicates in &MXGDSNS.
Also _KNTACSR was misspelled once as _KNTACRS.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 18.125 Extra observations were created in TYPE746B (HFS Global
VMAC74 buffers) and R746GBF/R746GBNF were negative, because the
May 30, 2000 DO R746GSBN=1 TO SMF746FN should have been TO SMF746BN.
Also, variable R746GSB, R746GSBF, and R746GSBP are now
formatted MGBYTES.
Thanks to Alan Deepe, Perot Systems, ENGLAND.
Change 18.124 BUILDPD3 fails "BY VARIABLES NOT SORTED WORK.TYPE25" when
BUIL3005 two jobs with the same READTIME and JOB are executed with
May 29, 2000 the second JESNR first. MXG's heuristic algorithm merges
Jun 1, 2000 TYPE30_1 with TYPE25 to add JESNR into the TYPE25 dataset
(because IBM still has not added JESNR to the TYPE25),
but previously, the output dataset was in order by JESNR.
This unexpected out-of-sequence execution is corrected
by adding PROC SORT DATA=TYPE25; BY READTIME JOB JESNR;
to ensure the TYPE25 is now in the expected order. This
is the first instance I have seen that confirms that the
two jobs can be read-in in the same .01 second READTIME,
but MXG addition of JESNR in BUILDPDB/BUILDPD3 was done
knowing that someday the reader would be fast enough to
create two jobs of same job name with same READTIME.
Thanks to Ron Lundy, Navistar, USA.
Change 18.123 Support for 3494 Peer-to-Peer (Gemini) adds an Enhanced
FORMATS Statistic segment with dozens of new variables, added by
VMAC94 APARs OW42071 and OW42073. Code has not yet been tested
May 25, 2000 as records are not yet available.
Thanks to Greg Kent, IBM Global Services, USA.
Change 18.122 Summarization of TYPETCPT to track the number of users
ASUMTCPT concurrently logged on, using TYPETCP/TYPSTCP to first
May 24, 2000 create the TYPETCPT dataset.
Thanks to Charlie Sticher, University of Georgia, USA.
Change 18.121 Bad offset for second HFS filename caused INPUT EXCEEDED
VMACTCP error; the record is wrong and being investigated, but
May 24, 2000 logic was now added to prevent reading off the record,
while we open a problem with IBM.
Thanks to Michael Creech, Alltel, USA.
Change 18.120 MXG 17.17-18.02 only. Revision to text of Change 18.071.
RMFINTRV That change (in MXG 18.03 and later) is now required for
VMAC7072 OS/390 R2.7 or R2.8 if APAR OW41317 is installed (and 2.9
May 24, 2000 which includes the APAR). That APAR added multi-system
May 30, 2000 enclave fields that were incorrectly read by MXG. While
R2.9 generates error messages, R2.7 and R2.8 do not; both
create bad values (negative, asterisk, etc) in TYPE72GO
observations for periods two and higher.
RMFINTRV sums the TYPE72GO data, so data in RMFINTRV
will also be bad without this change; this is just an
alert, as nothing in RMFINTRV was changed.
This change is really just to update the text of 18.071,
as that change only mentioned Release 2.9. A cosmetic
change (LENSCS test from GE 448 to GE 460) that has no
execution impact was made in VMAC7072.
Thanks to Jane Huong, Cigna, USA.
Thanks to Steve Colio, Cigna, USA.
Change 18.119 Support for Domino Server R5.0.3 new subtype 2 & 6
EXTY1082 type 108 records now create two new datasets:
EXTY1086 Dataset Description
IMAC108 TYPE1082 Domino Server User Activity
VMAC108 (IP address of user, Notes User Name, Type
VMXGINIT of connection, CPU time, Bytes Read/Written
May 23, 2000 an interval record).
May 31, 2000 TYPE1086 Domino Server Database Activity
(Database name, index ops, replicates, docs
added, docs deleted)
In addition, the _Sdddddd sort macros for all TYPE108x
datasets were revised for duplicate SMF record removal.
These new data are a good start to tracking Domino Server
activity to users and causers, but it is still incomplete
and provides only resource measurements, with no counts
of user activity other than bytes, and no intersect of
which databases were used by which users when! The good
news is that IBM is listening and we will continue to see
enhancements in the SMF 108 records as Domino Server is
finally a mainstream product for mainframes!
The type 108 SMF record's product has had these names:
Domino Server R5.0.3
Lotus Domino Server R5.0.2
Domino Server R5.0/R5.0.1
Lotus Domino R5
Lotus Notes Domino Server
The MXG-L Archives contain several discussions of Domino
Server: IBM Redbooks SG24-2083 (Install, Customization,
Admin) and SG24-5149 (Performance Tuning and Capacity
Planning) have both been recommended, especially the USS
customization and installation in SG24-2083.
See Change 18.092 for the type 103 SMF record.
Thanks to Stella Lim, United Air Lines, USA.
Change 18.118 Support for Type 42 RLS Subtype 19 has been revised and
EXTY42X2 validated; two datasets are now created:
IMAC42 Dataset Description
VMAC42 TYPE42X1 VSAMRLS Local Buff Mgr SYSPLEX Totals
VMXGINIT TYPR42X2 VSAMRLS Local Buff Mgr SYSTEM Details
May 18, 2000 However, these two datasets have lots of data, and in
keeping the IBM field name as part of the prefix of each
variable name for the 16 buffer pool with six measures
per buffer pool got messy, but here is the table of the
variable name prefixes for the Buffer Pool measurements:
IBM Buffer Pool Megabytes Buffer Pool Extents
Array LOW HIGH CURR LOW HIGH CURR
"JOE" SMFJOF SMFJOG SMFJOH SMFJOJ SMFJOK SMFJOL
"JRL" SMFJRJ SMFJRK SMFJRL SMFJRN SMFJRO SMFJRP
"JPY" SMFJPZ SMFJQA SMFJQB SMFJQC SMFJQD SMFJQF
There are sixteen variables for each of these prefixes
and their suffixes are 01-09,0A-0G, so SMFJOF01 is the
Low Size (in Megabytes - note that MXG Labels & Formats
for the Megabyte variables have been converted from the
min/max/current count of buffers to the size of that
buffer pool in bytes, and is formatted to print KB/MB/GB
with the MGBYTES format) of the 2K buffer pool, and
SMFJOL0G is the current number of extents in the 32K
buffer pool. Labels identify the pool size.
This is valid data, but may be enhanced as the data is
viewed and used.
APAR OW44739 (May 30, 2000) acknowledges that the SMF
manual for V2R5 and V2R6 subtype 19 documentation was
wrong and that the V2R7 and later are correct.
Thanks to Edward McCarthy, IBM GSA, AUSTRALIA.
Change 18.117 Tailoring failed because IMACKEEP was not included in the
TYPEMWUX TYPEMWUX member.
May 18, 2000
Thanks to Bart Decat, KBC Belgium, BELGIUM.
Change 18.116 Two occurrences of AND SV30ALN GE 1 THEN must be changed
VMACSARR to AND SV31ALN GE 1 THEN and to AND SV32ALN GE THEN as is
May 18, 2000 obvious from the other variables in those statements.
Thanks to Ian Mackay, RBS, UK.
Change 18.115 Assembly of ASMTAPES under OS/390 R2.8 or 2.9 with ASM H:
ASMTAPES IEV122 ERROR ILLEGAL OP-CODE FORMAT MACRO STCKCONV, due
May 17, 2000 to IBM error (APAR OW39924, macro STCKCONV has blank line
at sequence number 10075000 - remove or commend out blank
line. Or use the High Level Assembler instead of ASM H,
which tolerates the blank and is IBM's recommended ASM
Thanks to Scott Wigg, USBank, USA.
Change 18.114 Variable UOWTIME was kept LENGTH 4 in dataset MONITASK,
VMACTMO2 which would cause a problem only if you were to merge the
May 17, 2000 MONITASK and DB2ACCT datasets; UOWTIME is INPUT from the
first six bytes of UOWID; it is only a token for matching
DB2ACCT to MONITASK/CICSTRAN, but it needs to be kept as
LENGTH 8, as it is everywhere else in MXG except this one
member. (It was also not formatted as DATETIME21.2, but
rarely is the time value of UOWTIME useful; the truncated
value wraps every few weeks and from some originations is
completely off from current time, but that's ok for a
token.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 18.113 The SELDSN macro did not list ASUMCEC after ASUM70PR,
JCLMNTH but MONTHBLD expected to create MONTH.ASUMCEC. Added
May 17, 2000 ASUMCEC to the list of datasets.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 18.112 Variable NSPYTIPL is now formatted DATETIME21.2 and kept
VMACNSPY as LENGTH 8 instead of the default 4 (which can truncate
May 17, 2000 a datetime variable by as much as 255 seconds).
Thanks to Freddie Arie, Texas Utilities, USA.
Change 18.111 RMF variable MVSLEVEL from RMF 70 is now kept in the
VMXGRMFI RMFINTRV dataset.
May 16, 2000
Thanks to Marc Matthys, Hudson Williams, BELGIUM.
Change 18.110 -NTSMF object SNA ADAPTER SNADLC* has an Instance Field
EXNTCOTI that is now decoded when it is present.
EXNTTN32 -Support for COM Transaction Integrator object in the new
IMACNTSM COMTRNIG dataset.
VMACNTSM -Support for TN3270 Server object in the new TN3270SV
VMXGINIT dataset.
May 15, 2000
Thanks to Tom Aaslet, SMT, DENMARK.
Thanks to Richard P. Clarke, Freemans PLC, ENGLAND.
======Changes thru 18.109 were in MXG 18.04 dated May 15, 2000======
Change 18.109 Comments only were changed in MONTHBLD (that it expects
MONTHBLD that your Weekly PDB is built on Monday morning), and new
MONTHBLS member MONTHBLS expects that your Weekly PDB is built on
May 15, 2000 Saturday instead. The actual weekly job doesn't care
when it is run; it simply combines the last seven dailies
to create a Weekly PDB thru that morning's daily PDB, but
the MONTHBLx has to know what is your first day of week.
Thanks to Larry Heath, Shaw, Inc, USA.
Change 18.108 Variable SVCCIO inserted between SVCCKERN and SVCCSEM4.
VMACSVCC However, 75% of Peregrine's elapsed times are zeroes, and
May 13, 2000 many records that should be there aren't! Open problem.
Change 18.107 Variable NOAMIDBK is now INPUT as &PIB.2 (instead of 4),
VMACNOAM variable NOAMCOLN=INPUT(NOAMCOLL,&PIB.4.) is the numeric
May 15, 2000 value of NOAMCOLL, which is now input as $CHAR4. with
$HEX8. format, and the non-Y2-compliant 0yymmddF NOAMMIGD
"Object Migration Date" is now protected with a 1960
window.
Thanks to Peter Skov Sorensen, Jyske Bank, DENMARK
Change 18.106 Inconsistent macro names were used in BLDNTPDB and in the
BLDNTPDB TRNDNTIN trending for NTSMF. The Macro _LASUMNT in the
May 13, 2000 BLDNTPDB member was changed to _LSUNTIN to be consistent
with the TRNDNTIN naming conventions.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 18.105 -Workload Activity Report was updated for APAR OW41317:
ANALRMFR three enclave fields (AVG ENC/REM ENC/MS ENC) added in
May 13, 2000 the TRANSACTIONS column.
-Workload Activity Report was updated for APAR OW41317:
goal mode, REPORT=WLMGL,RPTOPT=WGPER, the PERIOD
summarization and calculations were revised to remove
SYSTEM from all BY statements.
-Device Activity Report was updated for APAR OW31701:
Add column MX to DASD ACTIVITY REPORT to show the
number of UCBs that were active for PAV devices.
-Channel Activity Report was updated for APAR OW35586:
columns for Ficon data transfer rates and Bus Utilization
were added.
Change 18.104 SAS data libraries built in tape format with OS/390 SAS
CONFIGV8 V8.0 TS MO, TS M1, and V8.1 cannot be safely used. You
JCLQAJOB may get errors when you write or read; or worse, datasets
JCLUXRE6 created from tape datasets can have trashed labels.
MONTHBLD See "SAS Technical Notes" in Newsletter THIRTY-SEVEN for
MXGSASV8 a technical discussion of the errors (also on homepage).
VMXGINIT Instead of using the V8SEQ engine, until these errors are
WEEKBLD corrected by SAS Institute, you must change the default
WEEKBLDT tape engine so that the V6SEQ engine is used, by either:
May 13, 2000 - adding SEQENGINE=V6SEQ to your CONFIG member, or
- using MXGs revised CONFIGV8 member with that option, or
- adding OPTIONS SEQENGINE=V6SEQ; in every job's SYSIN
input stream, or
- adding ,OPTIONS='SEQENGINE=V6SEQ' to each // EXEC SAS
or // EXEC MXGSAS JCL statement for each job.
Also, MXG members WEEKBLDT and MONTHBLD, which create
tape format datasets on temp DASD, will fail, as they
contain LIBNAME TAPETEMP TAPE ; statements that force
the V8SEQ engine even when SEQENGINE=V6SEQ is set, so
"TAPE" in those LIBNAME statements was replaced with a
new macro variable &TAPENGN, set to V6SEQ by VMXGINIT.
And there now exists member MXGSASV8, a JCL Procedure
example to use for SAS Version 8, as I discovered that
SAS member BATCHXA in the SAS CNTL library is now named
BATCH, and the MXGSASV8 example now uses member CONFIGV8
(instead of CONFIG) for execution under SAS V8.
(Confused? CONFIG08 was for SAS 6.08, not SAS V8)
SAS Institute opened SAS Note 002651 and found that the
LABEL error applies to all platforms where TAPE engine is
supported, so they are aggressively attacking the error.
July 26 update: SAS ZAP Z8002651 now exists for SAS V8.0
and V8.1, and the error is corrected in SAS V8.2.
With that zap, you can change the CONFIGV8 to V8SEQ, but
since I can't detect if that ZAP is installed.
Thanks to Dan Riggs, Wachovia, USA.
Thanks to Ron Adkins, Wachovia, USA.
Thanks to Alan Lankin, Towers Perrin, USA.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to MP Welch, SPRINT, USA
Change 18.103 IMS log processing, MXG 18.03 only, IMS 6.1 only (whew!):
TYPEIMSB WARNING: UNINITIALIZED VARIABLE _IMSVERS message because
May 12, 2000 %INCLUDE SOURCLIB(VMACIMSA,IMACKEEP);
should have been added by change 18.086. Our testing was
with IMS Version 5, so we missed this error, as even with
that note, the 18.03 IMS Support processes V5 just fine.
Thanks to Pete Young, University of Toronto, CANADA.
Change 18.102 SMF 108 records from the early release 5.0 cause error
VMAC108 INVALID DO LOOP CONTROL because the DO loop on SM108PTN
May 12, 2000 did not test first that SM108PTN was non-missing.
Thanks to Coen Wessels, UNICBLE, SWITZERLAND.
Change 18.101 INVALID DATA FOR REQSTART resulted when the date field
VMACIPAC contains packed decimal value of zero for both the time
May 11, 2000 and date parts ('0000000C0000000C'x). Inserting the
"double question-mark modifier" in the INPUT statement
suppresses the note and hex dump of the SMF record. This
subtype (for KSDS VSAM) should not have been created by
IPAC, since that feature is not enabled at this site.
So MXG now protects the zero date in this useless record.
Thanks to Jim Petersen, Homeside Lending, Inc, USA.
Change 18.100 Variable FILDATEX was not protected for invalid Julian
VMACZARA date values of 1998000, but now those expiration dates
May 11, 2000 will be set to MXG's "infinite" date of '31DEC2099'D.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 18.099 Dataset ASUMCEC is now automatically built in the Monthly
MONTHBLD and Weekly PDB libraries. Since it is built by %INCLUDE
WEEKBLD of ASUM70PR member, and MXG already expected the ASUM70PR
WEEKBLDT dataset to exist, adding ASUMCEC to the WEEK/MONTH PDBs
May 11, 2000 should be transparent.
Thanks to Normand Poitras, ISM, Canada.
Change 18.098 Variable FTPDATFM added to LENGTH $1 statement, as it
VMACTCP is decoded by $MGTCPFM and its length must be forced in
May 10, 2000 the LENGTH statement.
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Change 18.097 Summarization example for DB2STATB, the DB2 Statistics
ASUMDBSB Buffer Pool data, which is not yet provided by ANALDB2R
May 2, 2000 Statistics Detail report. This is a first pass effort.
Thanks to Chad Heck, BEPC, USA.
Change 18.096 Execution under ASCII only. Some hex variables were read
VMAC74 with $EBCDIC instead of $CHAR, causing possible incorrect
Apr 30, 2000 values in internal variables TEMPIOML/SMF74PRF/DASDRCFG/
SMF74CNX/RF8FLAG/DSG2 and kept variables TYPEIOML,
EXTNDSTO,ESCAENAB,ESCACONF,MTPATBEG,MTPATEND,DEVDYNCH,
DEVDISNV,BASE,NRALEXCH,SNAV,DVID,RCOL,DIFN,DBDP, &PDAT,
but only if the raw SMF data was read with MXG under SAS
on an ASCII platform. Fortunately, most of these are new
variables, and the old ones were rarely used.
-I misread APAR OW31701 and used the wrong hex field to
set variable NRALEXCH (number of aliases changed?).
and overlooked bit 2 of SMF74CNX, now variable PAVBASE.
Change 18.095 The HFS Dataset Names for FTP Client and Server are now
VMACTCP created as variables FTPHFSD1/FTPHFSD2 in the TYPETCPF
Apr 30, 2000 and TYPETCPC datasets. While the theoretical length of
an HFS dsname could be 1024 bytes, only the first 200
bytes (the maximum length of a character variable under
SAS V6) are kept. However, if you actually have dsnames
longer than 200, this could easily be changed, and when
the entire world is on V8 with compression, variable
lengths can be 32000 with no wasted space!
Thanks to Steve Clark, California Federal Bank, USA.
Change 18.094 Building the daily MVS PDB on tape is not recommended, as
VMXGCICI there will be lots of rewinds (and possible dismounts and
VMXGRMFI remounts). If you want to put your daily PDB on tape, it
Apr 30, 2000 is far better to create it on temporary DASD and then use
Feb 27, 2003 PROC COPY IN=PDB OUT=PDBTAPE MEMTYPE=DATA; to copy all of
the PDB datasets to the tape in one write after creation.
MXG has always intended that the BUILPDB could write to
//PDB when it points to tape, so code was revised so that
you could make the below changes and put //PDB to tape:
To write all the PDB datasets directly to //PDB on tape:
//SYSIN DD *
%LET PCICTRN=WORK;
%LET PDB2ACC=WORK;
%LET PCICACC=WORK;
%INCLUDE SOURCLIB(BUILDPDB);
PROC COPY IN=WORK OUT=PDB;
SELECT DB2ACCT CICSTRAN CICSACCT;
DB2ACCT and CICSACCT are normally written to //PDB during
the SMF-processing step, but you cannot have two datasets
open simultaneously in a sequential data library, so they
will be written initially to //WORK and copied to //PDB.
The CICSTRAN dataset is normally written to //CICSTRAN as
a separate sequential data library, but in this example,
CICSTRAN will be written to //WORK and then copied to the
//PDB. Of course, if you don't want to keep CICSTRAN and
DB2ACCT you can eliminate the PROC COPY. (CICSACCT always
has zero observations, and is not likely used anymore.)
If you have large CICSTRAN and DB2ACCT datasets, you may
prefer to write them to separate tape datasets and have
the rest of the PDB datasets written to //PDB, taking
much less //WORK space and eliminating double handling:
// EXEC MXGSASV9
//CICSTRAN DD DSN=CICSTRAN,DISP=(,CATLG),UNIT=TAPE
//DB2ACCT DD DSN=DB2ACCT,DISP=(,CATLG),UNIT=TAPE
//SYSIN DD *
%LET PCICTRN=CICSTRAN;
%LET PDB2ACC=DB2ACCT;
%LET PCICACC=WORK;
%INCLUDE SOURCLIB(BUILDPDB);
And if you want to include ASUMCACH, you must use this
code; ASUMCACH normally reads PDB.TYPE74 and PDB.TYPE74CA
and outputs to PDB.ASUMCACH:
DATA TYPE74; SET PDB.TYPE74;
DATA TYPE74CA; SET PDB.TYPE74CA;
The actual MXG changes made in CHANGE 19.084 were these:
-In VMXGCICI, protection for archaic CICEOD/REQ/RRT/USSRV
datasets had input and output from the PDB ddname; now a
temporary file is created and used for the four inputs.
-In VMXGRMFI, the TYPE72 and TYPE72GO datasets were read
concurrently from the PDB ddname; a temporary copy is
made of the TYPE72 dataset (which eventually will have
zero observations always when the world is goal mode!).
Read Change 18.104 before using SAS V8 tape datasets.
The text of this change was revised in Feb 2003.
Change 18.093 Support for Roger Software Development, RSD FOLDERS 4.0.
EXRSDFBA Two datasets are created
EXRSDFOL dddddd dataset description
IMACRSDF RSDFBA RSDFOBAT RSD FOLDERS ASTRES BATCH
TYPERSDF RSDFOL RSDFOONL RSD FOLDERS ASTRES ONLINE
TYPSRSDF Most fields documented in DSECTS ACCIO and ACCIOAP are
VMACRSDF now decoded, but there still are a few unknown fields
VMXGINIT in the record, but they seem to contain zeroes.
Apr 29, 2000
May 13, 2000 Note that member TYPEWSF supports RSD's EOS/WSF product.
Thanks to Chairat Tiajanpan, KrungThai Bank, Thailand.
Change 18.092 The _ETY1032 statement, which OUTPUTs SMF 103 subtype 2,
VMAC103 was in the wrong place (too early in the INPUT logic),
Apr 27, 2000 causing many TYPE1032 variables to have missing values.
The type 103 SMF record's product has had these names:
Websphere Application Server for OS/390
HTTP Server Version 5.2
Lotus Domino GO Webserver
ICSS (Lotus Domino GO)
IICS V2 R2
See Change 18.119 for the type 108 SMF record.
Thanks to Steve Clark, California Federal Bank, USA.
Change 18.091 A set of sample reports for some basic TCP/IP analysis
ANALTCP from IBM type 118 records (MXG Member TYPETCP) for the
Apr 27, 2000 analysis of FTP and Telnet usage.
Thanks to Steve Clark, California Federal Bank, USA.
Change 18.090 Cosmetic, to avoid confusion. VMXGSUM's WARNING message
VMXGSUM that a dataset did not exist had a confusing reference to
Apr 27, 2000 KEEPALL=NO that was removed. The message now states that
it is normal for the first TRENDing run; but otherwise
the warning that an input dataset did not exist is valid.
Thanks to Normand Poitras, ISM, CANADA.
Change 18.089 The last period for any BY group when intervals are
ANALCNCR synchronized may not have been synchronized, because the
Apr 26, 2000 RUNTIME variable was not forced to be a discrete interval
time value. Adding RUNTIME=CEIL(RUNTIME/&TIMER)*&TIMER;
and DO up to LASTINTV in &TIMER chunks fixed the error.
Thanks to Anthony P. Lobley, EDS, ENGLAND.
Change 18.088 Using VMXGRMFI with TREND= specified and PDB= blank to
VMXGRMFI invoke only for TRENDing failed with messages:
Apr 26, 2000 WARNING: APPARENT SYMBOLIC V70NRM NOT RESOLVED....
Local macro definitions mis-located inside the PDB loop
were relocated, and KEEPALL=YES was added to the VMXGSUM
invocation in its TRENDing section.
Thanks to Normand Poitras, ISM, CANADA.
Change 18.087 Support for MainView for CICS 5.3.01 (INCOMPATIBLE). The
VMACMVCI CMRDATE format was changed to YYYYMMDD, and a PTF added
Apr 26, 2000 variables STRTTIME, ENDTIME, and SYSTEM to the CMRDETL
transaction dataset. Nine new file count variables were
added in the CMRFILE dataset.
Thanks to Steve Smith, BMC, USA.
======Changes thru 18.086 were in MXG 18.03 dated Apr 17, 2000======
Change 18.086 Revised TYPEIMSB member for IMS log processing completes
TYPEIMSB MXG 18.03 revisions, correcting earlier TYPEIMSB members
Apr 17, 2000 (post 17.17) that created dates of Jan 1, 2000 instead of
the correct date. MXG 18.03 dated Apr 17, 2000 has now
corrected all reported IMS 5.1 log errors, and thus the
IMS Log processing now requires that release of MXG.
Change 18.085 Revisions to Sterling's Solve Management Services V3.7
VMACSOLV support. New subcategory '50'x is undocumented, and MXG
Apr 15, 2000 code will be revised to create separate datasets for each
subcategory. The original MXG code was only for the '06'
USERCPU segment, which is now the only subcategory that
is output in TYPESOLV, pending receipt of documentation
and additional test data.
Apr 29: SOLVLAST changed from TODSTAMP8. to SMFSTAMP8.
Thanks to Silas J. White, FDIC, USA.
Thanks to Ian Davies, Workers' Compensation Board of Alberta, CANADA.
Change 18.084 Variable VERSION is now XPTRVERS, because it conflicted
VMACXPTR with pre-existing character variable VERSION, and it is
Apr 14, 2000 now labeled 'XPTR*REPORT*VERSION'. The KEEP= list for
May 12, 2000 XPTR50 and XPTR52 were missing SYSTEM/SUBSYSTEM/SMFTIME
May 15, 2000 causing _SXPTR50/_SXPTR52 to fail. I protected the Y2K
non-Ready records for 2000, expecting only new dates, but
the RPRTTIME date in XPTR52 have 98 and 99, which MXG
interpreted as 2098/2099. Apparently, the RPRTTIME date
is when the report (format?) was put out to this X/PTR
Report repository, and so now both 19xx and 20xx dates
are protected. LOC_7ATA is respelled as LOC_DATA.
May 12: SRC_FLG logic revised.
May 15: SRC_FLG '... .100'B now '.....100'B.
Thanks to Mike Shapland, PKS Information Services, Inc, USA.
Change 18.083A IMF variable PROGRAMB (@149) was originally documented
VMACCIMS "BMP Program name", when it was added to the IMF record
Apr 14, 2000 by IMF Release 1.3 years ago, because variable PROGRAM
May 22, 2000 was already input (@53), and so MXG used the logic
"IF PROGRAMB GT ' ' THEN BMP='Y';"
to identify BMPs. However, BMC Technical Support has
informed me to instead use variable PROGTYPE (@78), so
IF PROGTYPE='B' THEN BMP='Y';
is now the revised change in VMACCIMS to identify BMPs.
BMC Technical Support also told me that the field I named
PROGRAM has always actually contained the PSBNAME, and
the field I named PROGRAMB contains the actual program
name. This has not been noticed; first, MPPs must have
PSBNAME and PROGRAM name the same, second, for BMPs and
other transaction types that can have different names,
most sites use the same name, and third, IMS analysis is
usually more interested in transaction name than program.
But now that I know the truth, VMACCIMS was changed:
- variable PROGRAMB is still input @149 but re-labeled
to make no reference to "BMP".
- variable PROGRAM is now input @149 instead of @53.
- new variable PSBNAME is now input @53 and kept in the
CIMSTRAN dataset from the 'FA'x IMF records.
The entire text of this change was revised May 22, 2000,
but the change to VMACCIMS that corrected BMP='Y' was
made by the original change contained in MXG 18.03 of
April 17, 2000. Only the changes to PROGRAM/PSBNAME
were not available until MXG 18.05.
Thanks to Betty Paterson, BMC, USA.
Thanks to Dan Sills, The Mutual Group, CANADA.
Thanks to Bob Falla, The Mutual Group, CANADA.
======Changes thru 18.083 were in MXG 18.03 dated Apr 12, 2000======
Change 18.083 ICF CPUs support was still imperfect. The PCTLnBY in
ASUM70PR both PDB.ASUM70PR and PDB.ASUMCEC was wrong (too low)
Apr 11, 2000 if there was an ICF in the box, and the LPnDUR in
PDB.ASUMCEC was DURATM instead of LPnNRPRC*DURATM.
Note that for ICF removal from capacity calculations,
you need APAR OW37565 or the current OS/390 release that
stores 'ICF' into SMF70CIN. If you have systems that are
back level, you can use EXTY70PR to force SMF70CIN='ICF'
for the TYPE70PR observations for the ICF LPARNAME, but
you also must set SMF70CIN='ICF' for the PHYSICAL entry
for that LPAR by its LCPUADDR:
IF SYSTEM='CMC1' AND (LPARNAME='CFP2' OR
(LPARNAME='PHYSICAL' AND LCPUADDR=2))
THEN SMF70CIN='ICF';
Thanks to Richard S. Ralston, Whirlpool, USA.
Change 18.082 First MXG 18.03 only. Sort macro for TYPE64X had a
VMAC64 missing underscore before the _WTY64X in the PROC SORT.
Apr 11, 2000
Thanks to Bruce Widlund, Merrill Consultants, USA.
======Changes thru 18.081 were in MXG 18.03 dated Apr 11, 2000======
Change 18.081 Very minor. Protection for a 16th IFCID destination
VMACDB2 eliminates the VMACDB2 NOTE: YOUR DATA HAD NRQWSC=16.
Apr 11, 2000
Change 18.080 Revisions to correct tape drive counts for SPINing tape
ASUMTALO allocations, and additional exits have been added so that
Apr 11, 2000 selection by SYSTEM and changes to bucket definitions can
Apr 12, 2000 be made without EDITing the ASUMTALO member (by using
%LET MACKEEP= to redefine the exit macros:
_ESUTAL1 allows for the insertion of code to select
which SYSTEMs data is summarized.
_ESUTAL2 allows for overriding the buckets built by
ASUMTALO's invocation of ANALCNCR.
_ESUTAL3 allows for adding to the renames of buckets
if more than 8 bucket are present (supports
new buckets added in _ESUMTAL2)
Thanks to Anthony Lobeley, EDS, ENGLAND.
Change 18.079 These two summary members require KEEPALL=NO to override
ASUMCICS the VMXGSUM new default of KEEPALL=YES, Change 18.065.
ASUMCICX These members will read either IBM or Landmark CICS data,
Apr 10, 2000 but only one set of variables was kept; with KEEPALL=NO,
VMXGSUM constructs a KEEP= with only needed variables,
but KEEEPALL=YES passes the hardcode SUM= list, which
caused variable not found condition. I will revise the
members in a cleaner fashion in a later release, but by
restoring KEEPALL=NO for these two VMXGSUM invocations,
it constructs the correct KEEP= list, and all is well!
Change 18.078 The change in order of sort variables by Change 18.001
MONTHBLD was not propagated into WEEKBLD, WEEKBLDT or MONTHBLD,
WEEKBLD causing NOT SORTED errors TYPE30MU, TYPE30OM, and TYPE89
Apr 10, 2000 datasets. The BY lists were corrected and now match the
Apr 24, 2000 BUILDPDB sort order, but NOT SORTED errors will still
Apr 27, 2001 occur if you build weekly/monthly from daily/weeklys that
Aug 7, 2001 were created with different sort orders.
To get that failing weekly/monthly job to finish, you
only need to add the NOTSORTED option to the end of the
BY list in your WEEKBLD/WEEKBLDT/MONTHBLD:
in WEEKBLD: add NOTSORTED to the BY statement after
each SET statement BY .... NOTSORTED ;
in WEEKBLDT: add NOTSORTED to the MACRO _BYLIST ... %
& MONTHBLD after each MACRO _DSET TYPExxxx %
Explanation: The BY statement with multiple datasets
in a SET statement creates an output
dataset that is sorted, so that a SORT in
a report programs can be bypassed by SAS
to save time and resources, but nothing
else in MXG requires datasets to be in a
sort order, so adding option NOTSORTED
will create the output dataset (which is
partially sorted!) without the error.
Install a new MXG version on the first logical day of
your week (e.g.: my week is MON to SUN PDBs, or Tue-Mon
daily runs, so I move my new version into production on
Monday afternoon, before the Tuesday morning's BUILDPDB,
so that all of the new week's dailies will be created by
the same MXG version) to minimize sort change issues.
Thanks to David Ehresman, University of Louisville, USA.
Thanks to Alan Lankin, Towers Perrin, USA.
Thanks to Scott Snyder, First Data, USA.
Change 18.077 A final PROC SORT was added to put PDB.CICINTRV back in
VMXGCICI the correct order for the WEEKLY merge. The final step
Apr 9, 2000 logic can recalculate STARTIME, so the added sort was:
PROC SORT DATA=CICINTRW OUT=&OUTDATA;
BY SYSTEM APPLID SMFPSSPN STARTIME;
Thanks to Michael L. Knych, International Paper, USA.
Change 18.076 NETSPY report NSPYPRT exposed that MXG NETSPY datasets
VMACNSPY needed revisions in some of its response calculations.
Apr 9, 2000 -Julian discovered and tested with TARGETS=HOST:
NETRSPNO and NETRSPN6 appear to be the number of
instances where a 'definite response' has occurred, as a
result of either (1) FORCEDR in the NetSpy INITPRM, or
(2) the application running in DR-mode anyway. Therefore
they represent the number of times network response time
has been measured, and can correctly be used to calculate
average network response time (by division by CRSPNET and
CRSPNET6). They can only be used to calculate %responses
on target if TARGETS=USER is in force. With TARGETS=HOST
the value of NETRSPNO and NETRSPN6 should be irrelevant.
-The revision of TRANSNO +1 or -1 relates to the number of
inputs to the number of transactions terminated at the
host, which is redundant with LUNRSPSS, and was removed.
-TARGETS=HOST/USER based on NETRSPNO LT Sum(T1-T4RSPNO)
is an approximation that fails with small numbers.
Instead, using SMFTFLG1 for NSPYLU and XDOMAIN for the
NSPYAPPL is a better determination.
Thanks to Julian Smailes, Experian Limited (UK), ENGLAND.
Change 18.075 Dataset TMVSWG's _STMVWG and _NTMVWG macros were not in
VMACTMV2 the _STMV2 and _NTMV2 macro lists, and comments with the
Apr 9, 2000 TMVSWKP instead of TMVSWG were corrected.
Thanks to John Jackson, Redcats (UK), ENGLAND.
Change 18.074 CICS Statistics dataset CICTCPIP variables SOROPENG/OPENL
VMAC110 which should be open timestamp on GMT and Local are bad;
Apr 9, 2000 OPENG is zero, and OPENL is 'FFFFFFFFD1' which produces
a datetime of 17SEP2042:18:53:47.18 in every record. And
the GMT and Local clock values for OPEN/CLOSE are not the
same; they are off by about .2 seconds.
This change is only for documentation; when an IBM APAR
exists that corrects those fields, this will be updated.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.073 Support for Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE
EXXPTR02 product's user SMF record. There are 30 XPTRnn datasets
... created, but only these subtypes have been data tested:
EXXPTR52 04,06,09,10,11,12,18,20,50,51,52. This vendor provides
IMACXPTR sample SAS code that was used as a starting point, and
TYPEXPTR some of its variable names were used in MXG datasets, but
TYPSXPTR that program failed when executed, had fields input from
VMACXPTR wrong locations, was incomplete, and not Y2K compliant,
VMXGINIT so the DSECTS were used to create this MXG support with
Apr 9, 2000 its structure, formatting, exits, etc.
Thanks to Mike Shapland, PKS Information Services, Inc, USA.
Change 18.072 ObjectStart/Huron have new HU62KEYn/HU72KEYn variables so
VMACHURN that the multiple observations from a single type 62/72
Apr 7, 2000 (multiple Process, Accounting, Locking, etc) can be
Apr 10, 2000 combined into a logical transaction. HU47INTV/APL/SSNO,
HU49INTV/HU49APL/HU49SSNO and HUxxHPSN/PUIN/ACTN/SCN/SAN/
PERN/LKN/RPN/ for 62 and 72 subtypes are all now kept.
Variables HUnnSSNO were changed from &PIB.4. to $CHAR4.
with $HEX8 so that the type 49 and 62 records can be
merged together by HU49SSNO and HU62UNQI to show Huron
resource usage by JOB/STEP. The LABEL for HU49TCPU is
TCB+SRB (was TCB).
Thanks to Lindsay Oxenham, TELSTRA, AUSTRALIA
Thanks to John Toohey, TELSTRA, AUSTRALIA.
Thanks to Greg Meyer, Isuzu Motors, USA.
Change 18.071 MXG 17.17-MXG 18.02 only INPUT STATEMENT EXCEEDED or
VMAC7072 INVALID DATA FOR R723CIEA in Goal Mode Type 72 Subtype 3.
Apr 7, 2000 The OS/390 R2.9 added code was wrong. The INPUT of CXEA
Apr 10, 2000 and CFEA should have been &RB.8. vice &RB.4., and there
was a missing SKIP=SKIP-24; after that input statement.
See Change 18.120: R2.8 with APAR OW41317 also requires
this change, but has no error message. 24May2000.
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.070 DB2ACCT variable JOB has been revised based on the source
ASUMDB2A of the connection, and new variables TRAN and PLAN are
VMACDB2 also created for possible use in matching to CICSTRAN:
Apr 7, 2000 TRAN=' ';
Apr 10, 2000 PLAN=QWHCPLAN;
IF QWHCATYP IN (1,2,0BX) THEN DO;/*TSO,CALL ATTACH*/
JOB=QMDACORR; /*UTILITY JOBS*/
END;
ELSE IF QWHCATYP IN(3,5,6,9,0AX) THEN DO;/*DLI,IMS*/
JOB=QWHCCN;
END;
ELSE IF QWHCATYP =4 THEN DO;/*CICS*/
JOB=QWHCCN;
TRAN=SUBSTR(QMDACORR,5,4);
END;
ELSE IF QWHCATYP IN (7,8) THEN DO;/*DISTRIBUTED,REMOTE*/
JOB=QWHCOPID;
PLAN=SCAN(QWHCCV,1,' .');
END;
-Testing with the new VMXGSUM change (KEEPALL=YES) found
that some DB2 6.1 variables had been added to ASUMDB2A
but were not in the KEEP= list for dataset DB2ACCT. The
old default of KEEPALL=NO had masked the omission, and
ASUMDB2A's spelling of two QZZ variables as QXX.
Thanks to Paul Weissman, Perot Systems, USA.
Change 18.069 Support for CA's NETSPY 5.3 (COMPATIBLE) adds nine new
EXNSPYAD datasets and removes one. The NSPYTELE TELNET dataset
EXNSPYAT introduced in 5.2 has been completely replaced in 5.3,
EXNSPYHP so references to NSPYTELE and EXNSPYTE were deleted.
EXNSPYMA The nine new dataset created are:
EXNSPYMC dddddd Dataset Record Description
EXNSPYMR NSPYAD NSPYAPPD D APPN Directory Services
EXNSPYRT NSPYAT NSPYAPPT E MNPS Application Recovery
EXNSPYTC NSPYHP NSPYHPR N High Performance Routing
EXNSPYTS NSPYMA NSPYMNPA M MNPS Application
IMACNSPY NSPYMC NSPYMNPF F MNPS Coupling Facility Struct
VMACNSPY NSPYMR NSPYMNPR E MNPS Application Recovery
Apr 7, 2000 NSPYRT NSPYVRTP R VTAM RTP
NSPYTC NSPYTCP I TCP/IP Connections
NSPYTS NSPYTCPS J TCP/IP Stack
These datasets have been added but only syntax tested, as
no test records are yet available for validation.
Thanks to Roger Zimmerman, Scudder Kemper Investments, USA.
Change 18.068 DB2ACCT variables ACCOUNT1-ACCOUNT9 were not populated
VMACDB2 for DBAAS nor for non-Local-DB2-ACCOUNTING records. The
Apr 6, 2000 logic for Local-DB2 was replicated for the other two DB2
record types. Note if you put your own accounting values
in your DB2 records, you must use a 'FF'x delimiter if
you want those accounting fields separated into separate
account variables; only DB2 takes MVS accounting fields
and inserts a 'FF'x delimiter in its 101 records, so that
is what MXG's VMACDB2 logic expects. If there is only
on field with no 'FF' delimiter, then it will be stored
into variable ACCOUNT1 (and member IMACACCT sets the
stored length of each of the ACCOUNTn variables).
Thanks to Ian McKay, Royal Bank of Scotland, SCOTLAND.
Change 18.067 Negative DD counts for OPEN/USED DB2 Dataset calculation:
ANALDB2R -IBM APAR PQ21969 (see NEWSLTRS for APAR details) corrupts
Apr 5, 2000 QTSLWDD, "Slow DDs", which is subtracted from QTDSOPN.
-MXG logic error if there were more than one interval in
the summary. The statement QTDSOPN=QTDSOPN/INTRVLS;
was moved to follow DSUNUSED=(QTDSOPN-QTSLWDD)/INTRVLS;
so total-total instead of average-total is subtracted!
Thanks to John McCray, Huntington National Bank, USA.
Change 18.066 The PDB.ASUMCEC dataset requires that all SYSTEM's clocks
ASUM70PR are on the same timezone, since the merge is by STARTIME.
EXCECTIM This change adds new exit member EXCECTIM to allow you to
Apr 5, 2000 insert your own logic to change the time zone of STARTIME
to a common time zone. You could use logic like this:
IF SYSTEM='CST ' THEN STARTIME=STARTIME+HMS(-5,0,0);
ELSE IF SYSTEM='EUR ' THEN STARTIME=STARTIME+HMS(1,0,0);
to change STARTIME from local to GMT.
Thanks to Richard S. Ralston, Whirlpool, USA.
Change 18.065 The KEEPALL=NO default of VMXGSUM can cost CPU time with
ANALCISH minimal benefit, especially when VMXGSUM is used multiple
ASUMCICS times, as in ANALCISH which invokes 45 executions of the
ASUMCICX VMXGSUM macro if all CICS shutdown reports are requested!
ASUMDBDS MXG enhancements to support all possible syntax in that
ASUMHPAI KEEPALL=NO logic (constructs KEEP= statements with only
ASUMHPSU needed variables, but parsing must be in macro language
MNTHDB2S that is more expensive that data step logic) cost too:
TESTOTHR 16.16 17.17 17.17
TYPEMON8 KEEPALL= NO NO YES
TYPEMONI CPUTM 62 sec 93 sec 43 sec
VMACMON8 ELAPSTM 15 min 19 min 10 min
VMACMONI Hi Block Used 1905 1905 1921
VMXGSUM for ANALCISH, with no savings in the work space needed!
Apr 4, 2000
Apr 11, 2000 I had planned to change the default to KEEPALL=YES, but
found that some VMXGSUM invocations require KEEPALL=NO
to prevent VARIABLE NOT FOUND errors:
With KEEPALL=NO, variables can be listed that don't
exist in the input dataset; both IBM and TMON vars are
listed in the dual-input ASUMCICS program, but only
one set will actually exist. With KEEPALL=YES, all
variables must exist. And with KEEPALL=NO, you can
still use ASUMDB2A to summarize DB2ACCT, even if you
have removed variables that you don't need, since the
KEEPALL=NO option tolerates non-existent variables.
By adding an explicit KEEPALL=YES in each VMXGSUM use in
member ANALCISH, and by adding an EXPLICIT KEEPALL=NO in
ASUMCICS/ASUMCICX, and by cleaning up variables in SUM=
lists that didn't belong there, all of MXG members in the
18.03 library have been tested with KEEPALL=YES as the
default, but I decided that it was not worth the exposure
of creating an error perfectly running programs to save a
few seconds of CPU time, so the MXG default remains
KEEPALL=NO.
But because KEEPALL=YES can be very useful in specific
cases, I have instead externalized KEEPALL to a Global
macro variable, so it can be changed from KEEPALL=NO with
%LET KEEPALL=YES;
in your //SYSIN before the program that invokes VMXGSUM,
so you can test the possible savings and any impact.
Note that if your program uses %VMXGSUM(KEEPALL=xxx,...),
i.e., explicitly specifies the KEEPALL= argument in its
invocation, that local xxx value will always override and
replace the Global value set with a %LET statement.
Thanks to Steve Colio, CIGNA, USA.
Change 18.064 MXG 18.01-18.02 only. Changes in the _Bdddddd "BY list"
VMAC6156 macros caused VARIABLE xxxxxxxx NOT FOUND errors:
VMAC64 -VMAC6156: VARIABLE SMF6XFNC NOT FOUND. Macro should be:
VMAC79 MACRO _BTY6156 SYSTEM READTIME JOB FUNCTION CATNAME
VMACGUTS ENTRNAME VOLSER1-VOLSER5 ACTION SMFTIME %
Apr 4, 2000 -VMAC64: VARIABLE SITUATN NOT FOUND. Macro should be:
MACRO _BTY64X SYSTEM READTIME JOB CATNAME ENTRNAME
COMPONT BEGCCHH VOLSER EXTENTNR SMFTIME %
-VMAC79: VARIABLE SYSPLEX NOT FOUND. Here the KEEP= for
dataset TYPE79F was incomplete; variables SYSPLEX
SYSNAME and STARTIME were added to its KEEP list.
-VMACGUTS: VARIABLE JOB NOT FOUND. Here the KEEP= for
datasets GUTSSESS and GUTSINTR was incomplete;
variable JOB was added to their KEEP lists.
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 18.063 The count of CLASS3WT events typographically included the
ANALDB2R variable QWACAWTW, the wait duration, when it should have
Apr 4, 2000 been QWACARNW, the number of wait events, (three places).
Thanks to Tom Benson, Amdahl U.K., ENGLAND.
Change 18.062 New RMFINTRV parameters KEEPPGN/KEEPRPGN/KEEPSRV/KEEPRSRV
VMXGRMFI can be used to minimize the list of entries when you only
Apr 3, 2000 want to keep/drop a few PERFGRPs/SRVCLASSes.
Thanks to Normand Poitras, ISM, CANADA.
Change 18.061 The statement segment AND %LENGTH(&USERADD) NE 0
UTILBLDP was removed, because it could have caused no USERADD=
Apr 3, 2000 to be created when there should have been one.
Thanks to Dave Gibney, Washington State University, USA.
Change 18.060 Continued IMS quirk removal; Open Transaction Manager
ASMIMSL5 Access, OTMA, and APPC differences in LCODE=31x records
ASMIMSL6 were revised. While OTMA may have been only an IMS 5.1
Apr 3, 2000 facility, I put the code in both members while we await
an answer from IBM. We think OTMA is very rare in any
event, so this change should have no negative impacts!
Thanks to Pete Gain, SAS Institute, ENGLAND.
Thanks to Carl Meredith, SAS Institute ITSV, USA.
Change 18.059 -TPF support did not work with SAS USER= or WORK= options,
IMACTPF causing ERROR DATASET WORK.TPFTD NOT FOUND because the
TYPSTPF PROC COPY at the end of member TYPSTPF should have been
VMXGINIT removed when the _STPFxx PROC SORT macros were added.
VMXGTPFI -Hardcode "PDB." references were replaced with _Ldddddd
TESTUSER macro references in VMXGTPFI.
Apr 3, 2000 -VMXGINIT now defines WTPFINT and PTPFINT macro variable
for dataset TPFINTRV for consistency in naming.
-IMACTPF now documents the many TPF datasets/dddddd.
-VMACTPF had data set labels that were repeated/unclear.
-These were found by running TESTOTHR with their options.
-TESTUSER was also revised, with its one PROC COPY with
INDD=WORK being replaced with three separate PROC COPYs
each with INDD=&Wdddddd for the specific dataset to copy.
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.058 Zero observations were processed if you did not use the
PRINTNL MXGSAS procedure (or used the SAS procedure without the
Apr 1, 2000 CONFIG=MXG.SOURCLIB(CONFIG) parameter specified) because
the MXG macro variable OPSYS was tested instead of the
original SAS macro variable SYSSCP. Since nothing else
in CONFIG is required for PRINTNL, changing to use the
SAS macro variable SYSSCP eliminates the exposure so that
PRINTNL will work with the plane vanilla SAS JCL proc.
Thanks to Glenn Harper, Memorial Hermann Hospital System, USA.
Change 18.057 Variable PROCSTEP should not have been kept in TYPE30_1
VMAC30 or TYPE30_5, as it is a step-level variable, and it was
Apr 1, 2000 added to the KEEP= list for all TYPE30 datasets that
contained STEPNAME (except for TYPE30_D, because that is
a DD-level dataset, and adding PROCSTEP doesn't see to
be needed there and would only waste space (and you can
always use the MACRO _KTY30UD to add PROCSTEP if you
really decided you needed it at the DD-level dataset.
Thanks to Michael Oujesky, MBNA, USA.
Change 18.056 Support for CMA Release 1.11 (COMPATIBLE) added two new
VMACCMA variables, SMFT05PL and SMFT06PC to the subtype 5 and 6
Apr 1, 2000 SMF records.
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.055 OAM Release 1.5.0 changed the type 85 subtypes 74-77 and
VMAC85 subtypes 78-79 and 88 INCOMPATIBLY by inserting 32 bytes
Mar 31, 2000 (R85ORMN,R85OTMN) at the front of the segment, and by
Apr 10, 2000 inserting R85LXQT in the middle of the segment. Jobname,
stepname/procname were added to the OAM product segment
and those are now kept in all OAM data sets.
Apr 10: corrected tests for 1.4.0 to 150.
Subtypes 80-86 are not supported yet because I have no
test data, but MXG now prints a note if one of those
unsupported records are found, and I'll add support if
you'll send me your type 85s with those subtypes!
Thanks to Jeff Schuster, American Century, USA.
Change 18.054 The two PROC SORTs should have had _WTMSTMS and _WTMSDSN
TYPETMS5 instead of TMSRECS and DSNBREC, so that you could change
Mar 31, 2000 the location of the WORK copy. If you changed the ddname
you will get "TMS MERGE ERROR" message because MXG did
not use your changed destination.
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY
Change 18.053 The macro token _K102TX5 did not follow the _W102TX5
VMAC102 segment in the DATA statement; an oversight, but no
Mar 30, 2000 impact unless you wanted to change the variables kept.
Thanks to Jim Kovarik, AEGON USA, USA.
======Changes thru 18.052 were in MXG 18.02 dated Mar 29, 2000======
Change 18.052 IMS log record 01s are now deleted if MSGFLAGS '10'x bit
ASMIMSL5 is set (MSGFNRQU, the non-recoverable bit). Pete found
ASMIMSL6 duplicate IMSTRAN observations for some transactions that
Mar 29, 2000 were being submitted to the IMS input queue via the IMS
OTMA facility from an MQ series box. The non-recoverable
transaction exists merely to enter the message onto the
queue so that it can be requeued for execution. That
original (non-recoverable) 01 lacks critical identifiers
anyway, cannot be analyzed, and its processing is not
recorded in a type 7 record as a processed message, so
there is no loss by discarding that record.
The non-OTMA log records sequence all had the same DRRN:
01/35/08/56/31/03/35/37/7/33/56/07; the OTMA sequence was
01/35/08/56/31/03/31/33/56/37/33/56/07 records, but the
03/35/31/33 had one DRRN value, while the 01/31/33 had a
second DRRN generated by OTMA's processing, and it was
the second DRRN that created the "duplicate" transaction.
This change removed nine redundant XC USERKEY,USERKEY
statements in ASMIMSL5/ASMIMSL6 to make room for the four
new statements added to drop the unwanted records.
Thanks to Pete Gain, SAS Institute, ENGLAND.
Thanks to Carl Meredith, SAS Institute ITSV, USA.
Thanks to Pete Sadler, IBM, ENGLAND.
Change 18.051 IMF Fast Past records contain INPQUETM as a PD instead of
VMACCIMS the documented PIB format, affecting both INPQUETM and
Mar 28, 2000 ARRVTIME. CICS transactions with ARRVTEST='0000000C'x
are now included in the fast path calculation for the
ARRVTIME, although they are not strictly queueing.
Thanks to Stephen Hoar, Lloyds TSB ENGLAND.
Change 18.050 -IMS transactions with non-zero value for SUBQ6 time had
ASMIMSL6 the divide by NMSGPROC incorrectly located, causing the
JCLIMSL6 averaged resources (CPUTM, DLI, etc) to be incorrect.
IMACIMSA Fortunately, only one site has observed the problem. The
TYPEIMSA moved code had been added by Change 17.315 to cover the
TYPEIMSB rare case when FIRST.DTOKEN also has INIO and MTYPE='7 '
VMACIMSA because then, the averaging needed for Quick reschedule
Mar 28, 2000 transactions must be bypassed. (That change also added
Jun 5, 2001 IMSACCQ6, IMSSQ6TM and DLRUSSN to the list of variables
to be averaged.)
-Alan's changes that accommodate the 10-byte timestamps in
IMS 6.1 were incorporated in this change, and cosmetic
changes (colons to long vertical bars) were cleaned up.
-Note: error WORK.IMSMERGE.DATA DOES NOT EXIST occurs if
you try to copy an archaic IMACIMS member into your new
IMACIMSA member in your USERID.SOURCLIB. In general,
no tailoring of the IMACIMSA member is required for most
sites, and it is delivered with only comments.
-1Jun01: This change also changed the default in IMACIMSA
to IMSVERS 6.1 instead of 5.1, but that was not noted
in the original change text.
Thanks to Alan Green, Zurich, ENGLAND.
Thanks to Daniel Cannon, The Hartford, USA.
Thanks to John Pierce, Liberty Mutual, USA.
Thanks to Carl Meredith, SAS ITSV Cary, USA.
Thanks to Yves Terweduwe, CIPAL, BELGIUM.
Change 18.049 TYPE 74 subtype 4 "Broken RMF Record" Change 18.045 was
VMAC74 over-protective, falsely throwing away each last segment
Mar 26, 2000 with that error message. The test CDSILOC+SMF744CL GT
should have been CDSILOC+SMF744CL-1 GT LENGTH THEN DO;
Change 18.048 Cosmetic cleanup of MXG members. Sample PROC Prints in
CREATEBC ADOCxxxx members had non-text hex-values (like '00'x)
IMACEAGL that are now blanks, and the hex values in IMACEAGL and
VMACEAGL are replaced by hex literals. Some members had
DOC a small circle or a tiny "3" instead of the long vertical
Mar 25, 2000 bar for flow chart documentation inside comments (members
had been emailed from ASCII to EBCDIC with non-standard
conversion tables, particularly RHUMBA and/or European
ASCII to EBCDIC tables). The creation of MXG EBCDIC text
from ASCII text has not been documented previously, but
it uses the SAS ASCII to EBCDIC conversion, except that
two changes are required to the SAS ASCII to EBCDIC table
to match OS/390 TSO ISPF EDIT's characters:
Left Bracket - ASCII '5B'x EBCDIC 'BA'x
Right Bracket - ASCII '5D'x EBCDIC 'BB'x
Split Vertical - ASCII none EBCDIC '6A'x
New member CREATEBC is a ASCII SAS program that reads the
ASCII IEBUPDTE file to creates the MXG EBCDIC IEBUPDTE
file. The Variable length ASCII IEBUPDTE file is about
half the size of the fixed length EBCDIC 80-byte file.
The output of CREATEBC is a binary file that can be
written directly to a 3480 tape drive under ASCII, or the
EBCDIC file can be ftp'd into an RECFM=FB,LRECL=80 MVS
file which can then be directly read by PGM=IEBUPDTE to
create the MXG PDS Source Library under OS/390.
Change 18.047 Change 18.044 was still incomplete; variable STARTIME was
VMXGRMFI not reset after %VMXGDUR, so changes to _DURSET were
Mar 19, 2000 still not being applied until this (final!) revision.
======Changes thru 18.046 were in MXG 18.02 dated Mar 16, 2000======
Change 18.046 Variable RESPSTD was not created in this member, so it
TRNDCICX was inconsistent with TRNDCICS.
Mar 16, 2000
Thanks to Alan Deepe, Perot Systems Europe, ENGLAND.
Change 18.045 TYPE 74 subtype 4 "Broken Record" protection added in MXG
VMAC74 Change 17.378 did not protect when the number of segments
Mar 16, 2000 exceeded the count in the record, but now it does.
Thanks to Steve Lottich, University of Iowa Hospitals, USA.
Change 18.044 MXG 18.01-First 18.02. If you changed _DURSET, either
VMXGRMFI in IMACKEEP or with %LET MACKEEP= , it caused CPU TIMES
Mar 16, 2000 DO NOT MATCH ERROR. Relocate the IF &INTERVAL EQ DURSET
and following eight lines so they are after &INCODE72.
======Changes thru 18.043 were in MXG 18.02 dated Mar 15, 2000======
Change 18.043 Lotus Domino Server SMF type 108 variable DOMTMXSZ, the
VMAC108 Maximum Size of NSF Bufferpool, needs to be multiplied by
Mar 15, 2000 4096, as it is the number of 4096 byte frames.
Thanks to B. Brewer, Humana, USA.
Change 18.042 -This report fails under SAS V8 under OS/390 (but not with
ANAL30DD Windows) with APPARENT SYMBOLIC MAXRUN error because the
Mar 15, 2000 statement %LET MAXRUN=%EVAL(&MAXRUN); is invalid in open
SAS code, and should have caused a syntax error under V6
and under V8 under Windows, but didn't. If there was no
syntax error, the report ran fine, because MAXRUN is set
in the following statement, but the line is now deleted.
-The report example had 'B3'x instead of '7C'x in seven
places, causing a little 3 instead of a vertical bar to
be printed on these example reports.
Thanks to Edward J. Finnell, III, University of Alabama, USA
Change 18.041 ITSV 2.1 and 2.2 failed with CA1-TMS records, due to
VMACTMS5 hardcode TMS.TMS and TMS.DSNBRECD references, that are
TYPETMS5 now replaced with _LTMSTMS and _LTMSDSN tokens, which are
Mar 15, 2000 themselves redefined in VMACTMS5 now (they were not used
Apr 13, 2000 until now, so there is no compatibility issue) to be:
MACRO _LTMSTMS &PTMSTMS..TMS %
MACRO _LTMSDSN &PTMSTMS..DSNBRECD %
and in member VMXGINIT, the default value of PTMSTMS and
PTMSDSN was changed to "TMS" for both macro variables.
This change makes TMS processing consistent with the MXG
16.04 architecture. TMS records are initially written to
their two _Wdddddd tokens, and then sorted and combined
and output to the _Ldddddd tokens.
There was an additional ITSV fix required on top of this
MXG change for ITSV Release 2.2 and earlier (see ITSV
defect number S0079863), but the problem is corrected
in ITSV Release 2.3.
Thanks to Harald Seifert, HUK=COBURG, GERMANY.
Change 18.040 Support for GUTS, Gutenberg Time Sharing, user SMF
EXTYGUTI records. Two records are created, so two _ID macros are
EXTYGUTS defined, and either or both datasets will be populated.
IMACGUTS dddddd dataset description
TYPEGUTS TYGUTI GUTSINTR GUTS Interactive Execution Session
TYPSGUTS TYGUTS GUTSSESS GUTS Session
VMACGUTS
VMXGINIT
Mar 14, 2000
Thanks to Jeffrey Ball, Information Resources Inc, USA.
Change 18.039 Variable LOSU_SEC is now decoded from SMF30SUS, which
VMAC30 was added in OS/390 R2.6, and provides the Service Units
Mar 13, 2000 per second of CPU value for the SYSTEM on which his step
Mar 28, 2000 locally executed. Variable LOSU_SEC was added to dataset
TYPE30_V, TYPE30_4, TYPE30_5, and TYPE30_6.
Additionally, variables SMF30MSI and SMF30WMI were added;
those variables, new in OS/390 2.9, were documented in
MXG Change 17.385, but were not created until now.
March 28, 2000:
Variable SMF30SUS replaced SMF30TET, but SMF30TET has not
had any value so nothing is lost by its removal.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 18.038 Further enhancements now permit USECNTRL/USEREPRT to use
VMXGRMFI YES NO COMPAT GOAL SYS1 SYS1... to select control
UTILRMFI or report groups or classes for your workload definition.
Mar 15, 2000 All RPRTCLAS='N' were replaced with RPRTCLAS NE 'Y'
because RPRTCLAS is either Y or blank, and defaults work.
Thanks to Michael L. Kynch, International Paper, USA.
Change 18.037 %INCLUDE SOURCLIB(IMACJBCK) was added to VMACTMNT
VMACTMNT in case that job selection member is used for TYPETMNT
Mar 13, 2000 or TYPETALO selection.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.036 Support for optional CICS RMI counters is added as an
IMACICUS example in using IMACICUS to decode user segments, and
Mar 13, 2000 the comments on how to use IMACICUS were updated.
Thanks to Bernie McGinnis, Charles Schwab, USA.
Thanks to Neil Ervin, Charles Schwab, USA.
Change 18.035 Invalid datetime values in VTCS 2.2 VTV Timestamp in VSM
VMACSTC subtypes 13,14,18,19 STCxxTIM variables. New 2.2 version
Mar 14, 2000 records have start/end variables in TODSTAMP8 format
Mar 16, 2000 ('B3B5488A226EE1C1'x) but have '38A8D15E000580C0'x for
VTV timestamp. Old 2.1 version records have all three as
valid seconds-since-1970 values '0000000038CD028F'x, so
the VTV timestamp was shifted left by four bytes, with
new flag variables in the low four bytes.
Because there is no version number in the STK records,
MXG's heuristic to detect VTCS Version 2.2 versus 2.1
did not expect this shifted value, causing STCxxTIM to
have a date in 1931 (or 1970 if value was zero). MXG's
algorithm to decode VTV STK timestamps is expanded to
Value greater than corresponds to input with
4294967295 FFFFFFFFF missing value
'B000------00'x 11Feb1998 TODSTAMP8.
'3800------00'x 10Oct1999 Left 4 PIB+DEL6070
'0000000038--'x All 8 PIB+DEL6070
I first tried IF X GT 0B000000000000000X syntax, but
doesn't work, and SAS Institute has accepted a bug in
both V6 and V8: you cannot use a 16-digit hexadecimal
constant literal value that starts with A or higher,
because the leading zero that is required (so that SAS
doesn't think it is a variable name) makes the string a
rejected 17 positions. SAS promises a fix in a future
release, but here I just used the decimal value for the
test:
X GT 4E18 for TODSTAMP, or
X GT 1.2E19 for shifted, or
otherwise input as unshifted PIB8.
If STK ever puts a version number in their record, this
heuristic will be removed.
The media size variables are now formatted MGBYTES and
the VPOs to HEX. See also Changes 17.195 and 17.332.
Mar 16: The low four bytes of VTV timestamp now create
STCxxSEQ, STCxxHID, STCxxVTI, and STCxxFLG for subtypes
13, 14, 18, and 19 thanks to STK documentation.
Change 18.034 Support for Oracle Version 7.3.3. INCOMPATIBLE. The SMF
VMACORAC record with CONNID=CICS have KERNNUM=0, but it should be
Mar 10, 2000 KERNNUM=1 because there is a valid Kernel segment in the
record. When KERNNUM=0, MXG does not read the kernel
segment, causing missing values for all kernel variables.
Now, MXG detects and corrects the Oracle error and will
read a Kernel segment even if the count field is wrong.
This error has been reported to Oracle.
An additional problem is being investigated: CPUTCBTM and
CPUSRBTM fields are zero with the 7.3.3 release, and so
far, Oracle has no knowledge of any change, but this text
will be updated when more is known.
Thanks to Yvonne McDonough, USDA NITC, USA.
Thanks to Leslie Arndt, USDA NITC, USA.
Change 18.033 Member ASUMTAPE was finally tested under ITSV and it too
ASUMTAPE contained hardcode references to PDB.xxxxxxxx that are
Mar 10, 2000 now changed to their &PDBMXG..xxxxxxxx symbolic names.
Change 18.032 Support for Netview NPM V2R5 changes and two MXG errors.
EX028INK -MXG error: VCD segment was not input for 'DC' or 'DE'.
EX028INL It would have helped if IBM and documented those subtypes
EX028INM in NPM 2.4 tables 73/74 or NPM 2.5 tables 80/81! Change
FORMATS to ELSE IF 0D0X LE NPMSUBTY LE 0DEX THEN COFTYPE='VCD';
IMAC28 -MXG error: VCS segment has two flavors, and the last 4
VMAC28 variables, VCSMAXFX/CURFX/MAXEC/CUREC are now input only
VMXGINIT if VCSVDTYP=2; MXG code was restructured for VCS segment.
Mar 10, 2000 -IBM error: APAR OW37758 for NPM 2.4 corrected error in
subtype DDx record, but that APAR is not included in the
NPM 2.5 release: new APAR AW43578 documents the error.
Change 16.336's circumvention still works to protect 2.5.
-New datasets from new subtypes:
Subtype Exit Dataset Description
14x 028INK NPMINNRT Router Interval
15x 028INL NPMINNRP Cisco Pool Interval
16x 028INM NPMINNIT Router Interface Interval
-The NCD and SCD segments' logic was revised to only input
the IP address for IP resource, and not input SLUNAME,
SLUPU, SLNKNAME and NPMNAME for IP resource type.
Thanks to Jerome Vitner, Experian Information Solutions, USA.
Thanks to Cendrine Pezier, ABS Technologies, FRANCE.
Change 18.031 Uninitialized variable messages for MROTRAN and DB2TRAN
ASUMUOW caused no actual problem, but they are now initialized in
Mar 9, 2000 the first DO; loop in the last DATA step.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 18.030 IMS Log processing with APPC transactions caused negative
ASMIMSL5 SERVICTM and N+1 rather than N transactions per schedule.
ASMIMSL6 After label P031, after USING statement, insert:
Mar 9, 2000 TM QLGUFLGX,QLGUAPPC APPC?
BO DROPMAP SKIP APPC REDUNDANT 31
This has only been tested with IMS 5.1 data. If you have
APPC under IMS 6.1 and have validated this change, or if
you find any problems under IMS 6.1, please contact MXG.
Thanks to Kenneth D. Jones, ISM, CANADA.
Thanks to Carl Meredith, SAS Institute ITSV, USA.
Change 18.029 Variables were labeled, times were re-formatted and the
VMACMIM label (MS) was removed and fields divided by 1000 to put
Mar 3, 2000 durations in units of TIME13.3.
Mar 6, 2000 Mar 6: Uninit variable messages MIMCELL-MIMVCF were in
first 18.01, but had no impact. Variable MIMMPOS is now
labeled and variables MIMADTCR/MIMHDTCR/MIMATMCR/MIMHTMCR
are no longer kept
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 18.028 Partition Data Report was updated for APAR OW37565, in
ANALRMFR the body of the Partition Report, where 'CP ' or 'ICF'
Mar 3, 2000 will be shown for Processor TYPE.
Mar 7, 2000 Mar 7: VMAC75 replaced VMAC71,VMAC77 in line 938.
Change 18.027 APAR OW41317 retrofits the OS/390 R2.9 multi-system
VMAC7072 enclave support (which added data fields in type 72)
Mar 3, 2000 back to OS/390 R2.7. Change 17.385, in MXG 17.17 and
later already supports those fields; this change is
only for documentation; no change was made.
Change 18.026 Support for APAR OW40414, which adds two four-byte fields
VMAC21 at the end of the record (i.e., compatibly) that replace
Mar 3, 2000 the existing two-byte fields for SIOCOUNT and BLKSIZE.
Mar 7, 2000
Change 18.025 If you did not put all SuperSession maintenance on, its
VMACNAF SMF record still contains CENT=39 instead of CENT=01
Mar 3, 2000 caused MXG's circumvention algorithm to be off by one
day. Remove the term (CENT-38)*86400 from each of the
datetime adjustments when CENT=39 and Y2K dates after
March 1, 2000 will be correct.
Thanks to Joe Faska, Depository Trust, USA.
Change 18.024 RACF SMF 80 INPUT STATEMENT EXCEEDED RECORD LENGTH error
VMAC80A in RACFTYPE=39 segment (PROGRAM NAMES, PERMIT). The line
Mar 3, 2000 SKIP=RACFDLNN=64-3 must be SKIP=RACFDLN-RACFDLNN-3;
Mar 9, 2000 Mar 9: The debugging PUT statement was deleted.
Mar 14, 2000 Mar14: Variables KW21AU04/05 and KW21GL04/05 formatted.
Change 18.023 SMF70CIN was reread from the same offset, and it should
VMAC7072 have been LENGTH $3 instead of $2, since it contains CP
Mar 3, 2000 or ICF. This error prevented ASUM70PR from recognizing
and removing ICF processors from the CEC capacity.
Change 18.022 Variable DURATM was added to those MIM datasets that
VMACMIM contained start and end time; it previously had been
Mar 3, 2000 kept only in the MIMTAPE dataset, but MXG intends to
keep DURATM in all interval datasets. Only the TYMIM2,
TYMIM4, and TYMIM6 are event datasets. Mar 6 note:
Uninitialized variables messages MIMCELL-MIMVCF are
created but have no impact; labels were removed.
======Changes thru 18.021 were in MXG 18.01 dated Mar 3, 2000======
Change 18.021 APAF Release 4.6 added a new field Series Name to the
VMACAPAF Pool segment, causing the second and subsequent pools'
Mar 1, 2000 data to be trashed. Insert
IF LENPOOL GE 36 THEN INPUT APAFSENM $EBCDIC16. @;
add APAFSENM='SERIES*NAME' to the LABEL, and to the KEEP=
list for dataset APAFPOOL, and then notice and correct
the _KAPAFLC to be _KAPAFPO for the APAFPOOL dataset.
The other APAF data sets appear to have been unchanged
by this release
Thanks to Art Cuneo, Health Care Service Corporation, USA.
Change 18.020 Using MACRO _Ldddddd to add (COMPRESS=YES) did not work,
VMXGDEL but revisions to this %VMXGDEL macro now supports that
Feb 29, 2000 syntax. I had not provided an option for compressing of
a sorted dataset, but redefining the dataset's _L macro:
MACRO _Ldddddd ddname.dataset (compress=yes) %
is now valid for compressing individual datasets.
VMXGDEL now uses PROC DATASETS MT=ALL so that if you
made a SAS dataset to be a SAS view, both will be deleted
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Thanks to Michael L. Kynch, International Paper, USA.
Change 18.019 The vendor of BETA93 writes non-Y2K-Ready date values in
VMACBETA the BETAJOBT SMFSTAMP8 value, with 00dddF format for Y2K
Mar 1, 2000 with no century bit turned on. The SMFSTAMP8 input was
broken into Time and Date pieces, the Date is now
protected with MXG's DATEJUL algorithm, and BETAJOBT is
then reconstructed from its (protected) pieces.
Thanks to Frank d'Hoine Nationale Bank van Belgie, BELGIUM.
Change 18.018 Variable JOBCLASS in datasets TYPE30xx, PDB.JOBS/STEPS
VMAC30 may be eight blanks, or may have only the first of JES3's
Feb 29, 2000 8-character job class, because IBM changed SMF30CLS, the
old one-byte job class field. Before IBM added SMF30CL8
in 1993, SMF30CLS was INPUT into the 1-byte MXG variable
JOBCLASS. In support for IBM's 8-byte SMF30CL8 field for
JES3, MXG increased JOBCLASS to 8-bytes, read SMF30CLS
into the first byte of JOBCLASS, then input SMF30CL8 into
variable JOBCLAS8, and used this logic to prevent a blank
JOBCLAS8 value from overriding a non-blank JOBCLASS:
IF JOBCLASS LE ' ' AND JOBCLAS8 GT ' '
THEN JOBCLASS=JOBCLAS8;
But now in JES2 R2.8 OS/390 records, SMF30CLS is blank
and SMF30CL8's first byte contains the JES2 jobclass, and
now in JES3 R1.3 OS/390 records, that 1-byte SMF30CLS
field that used to be blank is not blank, so the MXG
logic had to be changed to match the IBM Incompatibility:
IF JOBCLAS8 GT ' ' THEN JOBCLASS=JOBCLAS8;
Variable JOBCLASS is length 8 in TYPE30xx datasets built
by VMAC30 code (because I can't tell if a type 30 record
is from JES2 or JES3), and kept as length 8 in JES3's
BUILDPD3's datasets, but with JES2's BUILDPDB, I can
keep the variable JOBCLASS in only one byte.
Thanks to Allan Koch, Ford Motor Company, USA.
Thanks to Rich Anderson, SAS Institute Cary, USA.
Thanks to Ken Hansen, Exxon, USA.
Change 18.017 The UTILRMFI utility is used to examine any overlap of
UTILRMFI CPU time in your RMFINTRV workload definitions. It has
Feb 29, 2000 been updated to match the VMXGRMFI workloads, and uses
type 30 and type 72 records. See its comments for usage.
Change 18.016 Variable TYPEIOML was blank in dataset TYPE70 because of
VMAC7072 an extraneous line IF SMF70RAN THEN that should have
Feb 26, 2000 been deleted. Fortunately, TYPEIOML is always '3090' and
is unlikely to have been used in any reports!
Thanks to Bill Shanks, SEMA, UK.
Change 18.015 -INPUT EXCEEDED RECORD LENGTH error because the INPUT of
VMAC38 S38CUSER should have been $EBCDIC4. instead of $EBCDIC8.
Feb 25, 2000 -Additionally, TYPE38 failed if you tried to read the VSAM
SMF file because OFFSMF was not added to each offset
calculation.
Thanks to Kenneth D. Jones, ISM, CANADA.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 18.014 SAS Version 7/8 only. Option CODEPASS=2 no longer exists
BUILD001 in SAS Version 7 or 8; it caused a warning message that
BUIL3001 had no other impact, and CODEPASS=2 itself had no impact
BUILDPDB on MXG, and was only specified to suppress a V6 message
BUILDPD3 that suggested you should try CODEPASS=2! Now it will be
Mar 1, 2000 specified only under SAS V6 execution.
Thanks to Mike Hoey, Ameren Services, USA.
Change 18.013 MXG 17.17 only. Running ASUMTALO under ITSV (or using the
ASUMTALO USER= option to send all of the datasets created during
Feb 25, 2000 ASUMTALO's execution to the same DDname) fails with error
V6: You cannot open WORK.TYPETALO.DATA for output access
with member level control because WORK.TYPETALO.DATA
is in use by resource environment SASEDSNX
V8: MEMBER lock is not available for WORK.TYPETALO.DATA
lock held by another user
because views and datasets of the same name cannot exist
in the same data library. The logic was revised and
temporary dataset/view names that do not conflict are now
used, and SPINTALO is no longer a view to avoid conflict.
Thanks to Sharon L. Nagy, Comerica, USA
Thanks to Robert K. Hare, Comerica, USA
Change 18.012 The calculation of RESPSTD (Std Deviation of Response)
TRND72GO did not protect for TRANS=0 before the divide by TRANS,
Feb 24, 2000 causing DIVIDE BY ZERO note on the log (but the dataset
created was still valid). Now divide is protected.
Thanks to Mike Hoey, Ameren Services, USA.
Change 18.011 The object SNA ADAPTER SnaDlc* caused Unknown Object
VMACNTSM message because MXG was expecting SnaDlc1 as the string.
Feb 24, 2000 The test was changed to SNADLC*, and the label of the
SNAADAPT dataset was also corrected.
-Variables DATABASE and APPLETLK appear in both LENGTH $32
and in INFORMAT 16.2 statements, but the SAS compiler did
not flag the inconsistency. Both were removed from the
numeric INFORMAT statement as they are indeed characters.
Thanks to Richard C. Clarke, Freemans PLC, ENGLAND
Change 18.010 Change 17.343 to ANALDSET causes error message "dataset
ANALDSET _NULL_ is not in the data statement". Change the DATA
Feb 19, 2000 statement and insert the needed _NULL_ so it reads:
DATA _VAR1415 _VAR30 _VAR64 _NULL_ _SMF _CDE1415 _CDE30 _CDE64;
Thanks to Ed Long, Fidelity Investments, USA.
Change 18.009 MXG 17.17 only. Using RMFINTRV under ITSV failed, or use
RMFINTRV of Report PGNs or Reporting Classes to define workloads
VMXGRMFI (either in your IMACWORK definitions, or in your
Feb 18, 2000 tailored %VMXGRMFI invocation your RMFINTRV member)
Feb 25, 2000 caused the error message "CPU TIMES DO NOT MATCH" on the
SAS log during creation of dataset PDB.RMFINTRV.
That error message occurs because either:
- you used the new DROPPGN= or DROPSRV= operands, which
didn't work correctly until this change to VMXGRMFI, or
- you didn't use those new operands, in which case there
was double accounting.
This change corrects VMXGRMFI logic for the new operands.
and now has six operands to make tailoring easier if you
want to use RPGNs/Reporting Classes to define workloads:
USEREPRT= Default NO, set to YES to permit Report PGN
or Reporting Classes to be used.
USECNTRL= Default YES, set to NO to delete all Control
PGNs or Service Classes. This is only used
if you want to use only Report PGN/Classes,
and you don't want to list all of them in the
DROPSRV= or DROPPGN= arguments.
DROPSRV = List of Service Classes to drop.
DROPPGN = List of Control Performance Groups to drop.
DROPRSRV= List of Reporting Classes to drop.
DROPRPGN= List of Report Performance Groups to drop.
To be able to use either Reporting Classes or Report PGNs
to define your workloads in dataset RMFINTRV, you MUST
use these new arguments in your member RMFINTRV's invoke
of VMXGRMFI to drop the Control PGN or Service Class
observations that correspond to the RPGN/Reporting Class
observations you want kept in your workloads, to avoid
double accounting and that error! You must also ensure
that every SUBSYS has a default Report PGN or Reporting
Class so that all work in the corresponding Control
Performance Group or Service Class is recorded in type 72
records.
-RMFINTRV failed when it was finally tested under ITSV
because it contained a hardcode OUTDATA=PDB.RMFINTRV,
in the actual %VMXGRMFI invocation in member RMFINTRV,
but ITSV expected the symbolic &PDBRMFI..RMFINTRV so
that ITSV could redirect to the WORK library. The real
bummer is that that OUTDATA= operand is not needed in the
actual invocation, and was added only as a documentation
example and reminder of the default output dataset name!
Remove that operand from the %VMXGRMFI invocation, and
the expected symbolic value will be used.
-This change also corrects an unrelated problem: when no
PERFGRP number was needed to be specified, a blank value
caused VMXGRMFI to fail. While using a bogus number like
9999 circumvented the problem, now a blank can be used,
but using a null value ( // ) fails. Use / / instead.
Thanks to Normand Poitras, ISM, CANADA.
Thanks to Jon G. Whitcomb, Great Lakes Higher Education Corp, USA.
Change 18.008 Variable NRSAMPLES is now kept in dataset TYPE7204; it is
VMAC7072 used to create several variables and should have been
Feb 17, 2000 kept.
Thanks to Frank Cortell, Credit Suisse Group, USA.
Change 18.007 SPIN logic was revised to correctly pick up class three
ASUMUOW wait times, and DB2ELAP (elapsed time in DB2) was added
Feb 29, 2000 to the final dataset. Previously, if a UOW was SPUN,
the DB2 Wait buckets and transaction counts were not put
in the record in the SPIN dataset.
Thanks to Brandon Persinger, The Gap, USA.
Thanks to Allan Winston, MBNA, USA.
Change 18.006 If the QAPMCONF configuration file has a start date of
VMACQAPM 02Sep99, records from this century will have dates in
Feb 16, 2000 year 1900 instead of year 2000. The QAPMCONF file must
match the century of the data you want to process, since
MXG gets AS400CC "Century" value from QAPMCONF.
However, you can circumvent the missing CC=1 value
in your QAPMCONF file by resetting the value of
the macro variable after you have invoked _TQAPCON:
%INCLUDE SOURCLIB(VMACQAPM);
_TQAPCON
%LET AS400CC=1; /*<<= insert to set cc=1 */
RUN; /*<<= insert to set cc=1 */
_TQAPSYS
etc...
Thanks to Kim Johnson, Bank of America, USA.
Change 18.005 There is an end-of-comment */ missing from the second
TRNDSMFI line of this trending example.
Feb 15, 2000
Thanks to Carl Kyonka, Enbridge Consumers Gas Company Ltd, CANADA.
Change 18.004 Type 79 subtype 15 IRLM Long Lock record has SMF79TRN=2
VMAC79 but there is no product section, so STARTIME, SYSPLEX,
Feb 17, 2000 DURATM and other product fields do not exist in TYPE79F.
Feb 22, 2000 In addition, the second triplet is SMF79ASS rather than
SMF79MCS, so the input logic for triplets was revised.
Finally, variables are now formatted to HEX when they do
not contain printable characters, and R79FTRNM is now
kept and labeled.
Note that this type 79 subtype 15 record replaces the
type 74 subtype 100 dataset that MXG creates in VMAC74.
That subtype 100 was a test version that doesn't exist.
Thanks to Johannes-Matthias Laveuve, DVG, GERMANY.
Thanks to Jurgen Scherwa, DVG, GERMANY.
Change 18.003 DB2 6.1 added Buffer Pools 100-109 (8K) and 120-129 (16K)
VMACDB2 and they cause "UNEXPECTED BUFFER POOL ID" messages to be
Feb 11, 2000 printed, because MXG did not know about .
Those new buffer pools are output in the detail by-pool
datasets DB2STATB and DB2ACCTB (although you have to have
removed the comment block in member EXDB2ACB to cause MXG
to create observations in DB2ACCTB), but the new pools
counts were not included in DB2ACCT or DB2STAT datasets.
In DB2ACCT/DB2STAT, MXG creates four sets of buffer pool
variables: QB1xxxx for BP zero, QB2xxxx for BP one,
QB3xxxx for all other 4K buffers, and QB4xxxx for all 32K
buffers. Rather than create yet another set of summary
counters for the 8K and 16K buffer pools, I have added
the 8K and 16K buffer counts to the QB4xxxx variables
in DB2ACCT and DB2STAT, since you can always retrieve the
individual buffer pool counts from DB2ACCTB/DB2STATB.
This change replaces the statement:
ELSE IF 80 LE QBACPID LE 80 THEN DO;
with
ELSE IF 80 LE QBACPID LE 89 OR 100 LE QBACPID LE 109
OR 120 LE QBACPID LE 129 THEN DO;
for DB2ACCT, and replaces this statement:
ELSE IF 80 LE QBSTPID LE 80 THEN DO;
with
ELSE IF 80 LE QBSTPID LE 89 OR 100 LE QBSTPID LE 109
OR 120 LE QBSTPID LE 129 THEN DO;
for dataset DB2STATS.
Thanks to Joachim Mayer, Amadeus Data Processing GmbH, GERMANY.
Change 18.002 Omegamon V500 records were deleted simply because the
VMACOMCI test for version number did not include V500. Add
Feb 7, 2000 AND FOCVER NE 'V500' and the records will be read.
Thanks to Peter Webber, CIS, UK.
Change 18.001 The _Bdddddd BY List macro was not sufficiently robust to
VMAC1415 remove all duplicates for some datasets, so the BY list
VMAC30 of variables has been revised so that you can PROC APPEND
VMAC42 to combine possibly duplicated data and then use the MXG
VMAC6156 _Sdddddd sort macro (which uses the revised _Bdddddd BY
VMAC64 list macro) to eliminate duplicates. However. there are
VMAC7072 four datasets that contain intrinsic duplicates; there
VMAC74 are repeated observations for the same set of BY vars
VMAC89 for the first four datasets listed (with asterisk) that
VMAC115 will require further research and discussion with IBM.
VMAC116 *MQMACCT _BTY116 now SYSTEM MQMSSSID QWHCAID
VMACACC QWHCCV QWHCCN SMFTIME
VMACTCP *TYPETCPA _BTYTCPA now SYSTEM APIJOBNM APISTART
Feb 18, 2000 APILCLPO APILCLPN APILOCAL
APIREMOT SMFTIME
*TYPE42DS _BTY42DS now SYSTEM STARTIME JOB READTIME
DSNAME DEVNR
*TYPE30MU _BTY30MU now READTIME JOB JESNR INITTIME
SUBTYPE PRODOWNR PRODNAME
PRODQUAL PRODID SMFTIME
TYPEACC _BTYACC now SYSTEM READTIME JOB SRHSTEPN
SRHDDN MESSAGE SMFTIME
MQMBUFER _BTY115B now SYSTEM MQMSSSID QPSTPOOL
SMFTIME
TYPE30OM _BTY30OM now READTIME JOB JESNR SUBTYPE
STEPNR SUBSTEP OMVSOPI
OMVSOUI OMVSOSI SMFTIME
TYPE892 _BTY892 now SYSPLEX SYSTEM PRODOWNR
PRODNAME PRODFEAT PRODID
PRODSTFL PRODREGS SMF89IST
SMFTIME
TYPE89 _BTY89 now SYSPLEX SYSTEM PRODOWNR
PRODNAME PRODQUAL PRODID
MULCUFG SMF89IST SMF89UST
SMFTIME
TYPE74SY _BTY74SY now SYSPLEX SYSTEM STARTIME
R742SNME R742SDIR R742STCN
SMFTIME
TYPE74ME _BTY74ME now SYSPLEX SYSTEM STARTIME
R742MSYS R742MGRP R742MMEM
SMFTIME
TYPE72SC _BTY72SC now SYSPLEX SYSTEM STARTIME
SRVCLASS R723SCSN R723SCSR
SMFTIME
TYPE64 _BTY64 now SYSTEM READTIME JOB CATNAME
ENTRNAME SITUATN COMPONT
DDNAME VOLSER1-VOLSER3
SMFTIME
TYPE6156 _BTY6156 now SYSTEM READTIME JOB SMF6XFNC
CATNAME ENTRNAME GENNO VERNO
VOLSER1-VOLSER5 SMFTIME
PDB.SMFINTRV _BTY30UV add SMFTIME DESCENDING INTBTIME
MULTIDD EXTRADD
TYPE1415 _BTY1415 now SYSTEM READTIME JOB OPENTIME
DDNAME DSNAME UCBSEGNR
SMFTIME
TYPE1718 _BTY1718 now SYSTEM READTIME JOB DSNAME
VOLSER NEWNAME SMFTIME
This is work still in progress; I need to formally open
a problem with IBM to discuss the duplicate records that
we've identified. This note updated 1Mar00.
Thanks to Abakah Nori, United Parcel Service, USA.
LASTCHANGE: Version 18.
=========================member=CHANGE17================================
/* COPYRIGHT (C) 1984-2000 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 17.17 is dated Feb 7, 2000, thru Change 17.398.
MXG Version 17.11 was dated Feb 2, 2000, thru Change 17.395.
First MXG Version 17.11 was dated Jan 31, 2000, thru Change 17.394.
First MXG Version 17.10 was dated Jan 20, 2000, thru Change 17.375.
MXG Version 17.09 was dated Dec 22, 1999, thru Change 17.339.
MXG Version 17.08 was dated Nov 12, 1999, thru Change 17.308.
First MXG Version 17.08 was dated Nov 10, 1999, thru Change 17.301.
MXG Version 17.07 was dated Oct 8, 1999, thru Change 17.264.
First MXG Version 17.07 was dated Oct 7, 1999, thru Change 17.261.
MXG Version 17.06 was dated Aug 12, 1999, thru Change 17.216.
MXG Version 17.05 and dated Aug 5, 1999, thru Change 17.207.
First MXG Version 17.05 and dated Aug 4, 1999, thru Change 17.203.
MXG Version 17.04 was dated Jul 16, 1999, thru Change 17.175.
First MXG Version 17.04 was dated Jul 14, 1999, thru Change 17.172.
MXG Version 17.03 was dated Jun 8, 1999, thru Change 17.126.
MXG Version 17.02 was dated May 19, 1999, thru Change 17.104.
MXG Version 17.01 was dated May 3, 1999, thru Change 17.079.
First MXG Version 17.01 was dated Apr 29, 1999, thru Change 17.073.
MXG Version 16.16 was dated Feb 20, 1999, thru Change 16.394.
Newsletter THIRTY-FIVE was dated Feb 20, 1999, thru Change 16.367.
Contents of member CHANGES:
(Please see member NEWSLTRS for Technical Notes
that were previously in member CHANGES).
I. MXG Software Version 17.17 is now available.
IX. Incompatibilities and Installation of MXG 17.17.
X. Online Documentation of MXG Software.
XI. Changes Log
I. MXG Software Version 17.17 is now available, upon request.
1. Major enhancements added in MXG 17.17:
Support for OS/390 Release 2.9.
Support for Lotus Domino Server Release 5.02.
CICINTRV dataset creation logic was wrong.
Revised utility to print NEWSLTRS/CHANGESS members.
Revisions and updates with new variables in all ADOCs.
Major enhancements added in MXG 17.10:
Year 2000 errors fixed for TYPEZARA and VMXGVTOF.
Y2K Cosmetic conversion of Julian dates from 00cyyddd to yyyyddd.
TELNET LOGF Time field is Duration, not datetime, not Y2K prob!
RMFINTRV/VMXGRMFI enhancements fixed and documented.
Support for Beta91 Balancing Manager SMF record.
Support for Software Innovation's LDMS product.
Added a replica of MICS SNTNSS report from NETSPY (and fixed it).
EXPDBOUT Example to add CICS Statistics datasets to your PDB.
Several ANALRMFR enhancements, this was just most recent.
Test version of VMXGSUM in XMXGSUM, uses SAS View to save DASD+.
Major enhancements added in MXG 17.09:
ABEND 2415, some sites due to no RECFM in //NULLPDS in SAS proc.
Starting with MXG 17.07, VMXGINIT now opens //SOURCLIB, and
some SMS sites get ABEND2415. Adding RECFM=U to the //NULLPDS.
DD statement corrects the ABEND. See Change 17.317.
Support for IIS Log.
Support for Windows 2000 Build 2195 NTSMF data.
Support for remaining CA-VIEW Metrics validated.
Support for additional Landmark TMVS subtypes.
More IMS Log revisions for negative values, more in testing.
RMFINTRV now invokes VMXGRMFI, supports 115 workload, SYNC59.
ASUMTALO Last-complete-interval now corrected.
Major enhancements added in MXG 17.08:
TYPEIMSA IMS Log revisions correct negative RESPNSTM/SERVICTM.
TYPECIMS IMF SQLCALLS are lost due to INCOMPAT change in MVIMF.
TYPE73 FICON PCHANBY/PNCHANBY wrong in initial FICON support.
TYPE74 PCTPNCHA/PCTPNOTH/PCTDVPND/PCTPNDEV revisions.
Support for APAR OW41147 ORGEXPDT=99999 - Read it: Y2K Critical.
Support for CA View Metrics SARSMFUX SMF record.
Support for RACF Unload IRRDBU00 Started Task subtype.
Support for TRMS Version 51A08 (COMPATIBLE).
Support for Landmark DB2 Monitor V 3.2 (INCOMPAT).
Support for APAR OW40579/41407 SMF 42 subtype 4.
Support for APAR PQ28258 for SMF 103 record.
Support for unix PerfMeter Freeware Monitor records.
Support for DFSMS/MVS V1R5 - in place, no changes.
Support for CA VIEW Metrics SARSMFUX SMF record.
Support for SQL*NET NIV adds IPADDR/PORTNR to ORACLE.
Enhanced TYPE1032 Web Server eliminates negatives.
Negative QXSELECT because DB2 overflowed counter!
CECSER wrong if CPUs added or deleted during interval.
Utility to show IMACWORK definitions CPU sources.
TYPE90A replaces TYPE90 member for SMF type 90 data.
CICS Statistics EOD record has missing DURATM.
Major enhancements added in MXG 17.07:
Major IMS Enhancements for MXG IMS log processing.
Support for Domino Server R5.0/R5.01 SMF type 108 record.
Support for Top Secret 5.1 (INCOMPATIBLE).
Support for TMON/MVS V2 PTF TD01655 (COMPAT).
Support for MQ Series Version 2.1 (COMPATIBLE).
Support for TeleView 4.3B subtype 3 record.
Support for OS/400 Release 4.4.0 (LRECLs INCOMPAT)
Support for Mobius View Direct 6.1.2 (INFOPAC).
Support for APAR OW39508 7060 Multiprise EIO and DSD.
Support for OS/390 R2.8 (COMPAT, changes were APARs).
ASUM70PR now creates PDB.ASUMCEC BY CECSER vice BY SYSPLEX.
Major enhancements added in MXG 17.06:
Support for OS/390 R2.8 (Compatible, 16.09 or later supports).
Support for Lotus Notes, SMTPDS, SMTPRS objects in NTSMF data.
Y2K Ready: ASMTAPES must have been Assembled with ES6 parameter.
Major enhancements added in MXG 17.05:
Support for IBM's TPF (Transaction Processing Facility) OS.
Support for APAR OW31701 for ESS Parallel Access Volumes.
Support for OW39128 for RACF, adds DSNAME of PDS used for PROGRAM
Support for STK's VTCS 2.2.0 (INCOMPATIBLE) VSM SMF records.
IBM's sample IXGRPT1 for SMF type 88 records is replicated.
New PDB.ASUMCEC corrects errors in PDB.ASUM70PR, more useful.
TYPETASK='OMVS' instead of TYPETASK='STC ' for OMVS/USS jobs.
OMVS/USS jobs filled SPIN, never purged, now output to PDB.
Major enhancements added in MXG 17.04 dated Jul 16, 1999:
Correction for preliminary IMS Log Enhancements.
Major enhancements added in MXG 17.04 dated Jul 14, 1999:
Support for CICS TS 1.3 new field inserted in CICSTRAN, INCOMPAT!
If you have CICS TS 1.3, you must install MXG 17.04 (or the one
line Change 17.156) or many variables in CICSTRAN will be bad.
Support for APAR OW37565 identifies CP or ICF CPUs in TYPE70PR.
ICF CPUs are now detected and deleted automatically in ASUM70PR.
Significant IMS Log processing enhancements available for test.
Utility to examine dates in SAS data library for Y2K.
Support for APAR OW37816, new 2105 cache data in TYPE74CA.
Support for Connect Direct R 3.2 'CT' record.
Support for MIM user record enhanced, new dataset.
Support for RMM European or American Date formats.
Support (preliminary) for NTSMF Windows 2000 Beta Three records.
Enhanced RMFINTRV/VMXGRMFI permits over 100 workloads now works.
Major enhancements added in MXG 17.03:
Support for Type 42 subtype 7/8 NFS Usage/Users.
Support for APAR OW37091 Measured Usage SMF 89 changes.
Support for SoftAudit Version 7.1 (COMPATIBLE).
Support for STK's NearOAM V2.2 (COMPATIBLE).
Support for 32 (up from 16) sortworks for SYNCSORT.
Support for OS/400 V4.3.0, no change, is in MXG 16.16.
BUILDPDB vars TAPEDRVS/TAPE3480/etc corrected for MULTIDD='Y'.
BUILDPDB vars EXCPNODD/IOTMNODD now corrected for MULTIDD='Y'.
Enhancement for PDB.ASUMTAPE obs with STATUS=MISSEDMNT.
Major enhancements added in MXG 17.02:
Support for DB2 type 102 subtype 199, Dataset I/O.
Support for Lexmark MarkVision Job Statistics
Support for CICS TS 1.2 Journal segment GLRHTYPE=2, used by SAP.
Support for SOFTAUDIT 6.1.2 (COMPATIBLE).
Support for TELEVIEW 4.3 (INCOMPATIBLE).
Support for RACAL IT Security's SRM product for HSM.
Support for i-data afp-software's SMF record.
Support for NTSMF 2.3 (COMPAT), 21 new NT objects added.
Enhanced RMFINTRV/VMXGRMFI permits over 100 workloads. See 17.04.
RACF command keywords specified/ignored now decoded in TYPE80A.
Major enhancements added in MXG 17.01:
Support for DB2 type 102 subtype 199, Dataset I/O.
Support for Index Statistics in T102S022.
Support for deaccumulation of TYPE30_6 data.
Support for APAR OW37708/APAR OW38073 new fields.
Support for APAR OW15406 (IODF Creation now YYYY).
Support for "FICON" channels adds fields compatibly.
Support for Candle V400 Omegamon for CICS Epilog.
Support for IXFP/ICEBERG Subtype 8 and fix forsubtype6.
Support for NTSMF new Quota Server object.
Support for TANDEM F40, G04 and G05 INCOMPATIBLE.
Changing Interval with DURSET didn't change ASUM70PR.
Don't use PDB.TYPETMNT. USE PDB.ASUMTAPE for mounts.
ML-19 of ASMTAPES supresses TMNT005E messages.
TYPEIMSA processing is wrong in 16.16. Use 17.08.
STC SILO SMF record sometimes short.
Unexpected TCP/IP command of STOU protected.
TMS Julian dates printed as 2E6, format now 7.
Revised and documented utility to modify BUILDPDB.
Text in col 72 cause unexpected failure.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/PAV/SHARK Aug 24, 1999 17.08
OS/390 2.9.0 Mar 31, 2000 17.17
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CRR 1.6 Jun 24, 1994 12.02
CRR 1.7 Apr 25, 1996 14.02
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 Mar 15, 1999 16.09
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
RMDS 2.1, 2.2 Dec 12, 1995 12.12
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 ??? ??, ???? 16.08
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 16.04
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Windows 2000 Build 2195 17.10
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 16.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1) 16.04
Memorex/Telex
LMS 3.1 12.12A
MXG IMS-Log Not-Officially-Supported
IMS 6.1 - ASMIMSL6/TYPEIMSA 17.08
IMS 5.1 - ASMIMSL5/TYPEIMSA 17.08
Amdahl
APAF 4.1, 4.3 16.08
IX. Incompatibilities and Installation of MXG 17.17.
1. Incompatibilities introduced in MXG 17.17 (since MXG 16.16):
a- No changes in MXG architecture were made between 16.16 and 17.17
that introduced incompatiblities.
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.
X. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
XI. 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 always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
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 16.16 now in MXG 17.17:
Dataset/
Member Change Description
All 17.060 MXG Enhancement %LET &Wdddddd=ddname for //WORK copy.
many 17.171 PRINTWAY JCTJOBID='PSnnnnnn' support in TYPETASK.
many 17.214 Support for OS/390 R2.8 (COMPAT, changes were APARs.
ADOCall 17.379 Revisions and updates with new variables in all ADOCs
ANAL42 17.223 Report failed with more than one SYSTEM.
ANAL88 17.185 IBM's sample IXGRPT1 for SMF type 88 replicated.
ANAL91 17.243 Batch Pipes Analysis for APAR PQ25641.
ANALCNCR 17.070 Concurrency analysis now tolerates missing values.
ANALDATE 17.168 Utility to examine dates in SAS data library for Y2K.
ANALDB2R 17.300 Field-width enhancement to DB2PM-like reports
ANALDSET 17.240 MXG 17.03-17.06. DATA SET NOT FOUND corrected.
ANALDSET 17.343 Revised to use MACKEEP instead of IEBUPDTE, NEXTENT.
ANALDSOP 17.198 ANALDSET enhancements (42s, 30 interval, 62s, 6156).
ANALNSPY 17.358 Added and corrected a replica of MICS SNTNSS report.
ANALRMFR 17.160 All BY variables must be in first 4092 bytes.
ANALRMFR 17.369 Several enhancements, this was just most recent.
ASMDALO 17.061 The MXG DASD Allocation Monitor may 0C4.
ASMIMSL5 17.064 0C4 if &DFSMS left at 0 (for DFP) in IMS 5.1.
ASMIMSLx 17.172 Significant IMS Log processing enhancements for test.
ASMIMSLx 17.228 Major IMS Enhancements for MXG IMS log processing.
ASMIMSLx 17.315 Final IMS Revisions for all know negative values.
ASMTAPES 17.046 ML-19 of ASMTAPES supresses TMNT005E messages.
ASUM70PR 17.045 Changing Interval with DURSET didn't change ASUM70PR.
ASUM70PR 17.163 ICF CPUs are now detected and deleted automatically
ASUM70PR 17.203 Dedicated CPU error fixed, use new PDB.ASUMCEC.
ASUM70PR 17.232 PDB.ASUMCEC now created BY CECSER vice BY SYSPLEX.
ASUM78CF 17.178 New ASUM78CF member summarizes PDB.TYPE78CF data.
ASUMDB2A 17.170 DB2 5.1/6.1 new variables added to DB2ACCT summary.
ASUMTALO 17.242 Lost output when multiple days are input is fixed.
ASUMTALO 17.320 Last-complete-interval now corrected.
ASUMTAPE 17.010 PDB.ASUMTAPE replacement for PDB.TYPETMNT.
ASUMTAPE 17.041 Don't use PDB.TYPETMNT. USE PDB.ASUMTAPE for mounts.
ASUMTAPE 17.106 PDB.ASUMTAPE with STATUS=MISSEDMNT handling revised.
ASUMUOW 17.324 WTIRIOTM no longer sum of all IR waits in ASUMUOW.
AUTOEXEC 17.392 Options S=72,S2=72 removed from AUTOEXEC and CONFIG.
BUILDPDB 17.025 Adding/Dropping variables from PDB.JOBS/STEPS/PRINT.
BUILDPDB 17.110 Vars EXCPNODD/IOTMNODD now corrected for MULTIDD='Y'.
BUILDPDB 17.111 Vars TAPEDRVS/TAPE3480/etc corrected for MULTIDD='Y'.
BUILDPDB 17.113 PDB.PRINT new variables SMF6PRMD and SMF6USID added.
BUILDPDB 17.176 OMVS/USS jobs fill SPIN, never purge, now forced out.
CICINTRV 17.391 CICINTRV dataset creation logic was wrong.
CONFIGV7 17.073 Revised CONFIG for SAS V7 eliminates warning msgs.
DOCMXG 17.051 Typos in MACKEEP= examples in documentation corrected
EX80ASEG 17.247 New TYPE80A exit for Top Secret unique segments.
EXPDBOUT 17.357 Example to add CICS Statistics datasets to your PDB.
FORMATS 17.222 Support for APAR OW39508 7060 Multiprise EIO and DSD.
IMACACCT 17.327 Order of code revised so &MACACCT now works.
IMACEXCL 17.229 Omegamon Exclude logic needed SMFPSRVR test.
IMACEXCL 17.356 CICS TS 1.3 Excluded Field example did not work.
MXGSAS 17.317 ABEND 2415 due to no RECFM=U in //NULLPDS in SAS proc
PRINTNL 17.381 Revised utility to print NEWSLTRS/CHANGESS members.
RMFINTRV 17.238 Non-contiguous shift definitions now supported
RMFINTRV 17.322 RMFINTRV now invokes VMXGRMFI, supports 115 workload
RMFINTRV 17.360 RMFINTRV/VMXGRMFI enhancements fixed and documented.
SPUNJOBS 17.311 DATASET CONDCODE NOT FOUND with old IMACPDB.
TYPE102 17.006 Support for DB2 type 102 subtype 199, Dataset I/O.
TYPE102 17.020 Typos. _C012297 should have been _C102297.
TYPE102 17.044 Typos. _C102206 should have been _C102106.
TYPE102 17.056 Support for Index Statistics in T102S022.
TYPE103 17.270 Support for APAR PQ28258 for SMF 103 record.
TYPE103 17.304 Enhanced TYPE1032 Web Server eliminates negatives.
TYPE103 17.314 Deaccum of TYPE1032 for duplicate IPADDRESS.
TYPE108 17.384 Support for Lotus Domino Server Release 5.02.
TYPE110 17.096 Support for GLRHTYPE=2 CICS TS 1.2 Journal segment
TYPE110 17.156 Support for CICS TS 1.3 new field (INCOMPATIBLE)!
TYPE110 17.279 CICS Statistics EOD record has missing DURATM.
TYPE115 17.248 Support for MQ Series Version 2.1 (COMPATIBLE).
TYPE21 17.013 TYPE21/PDB.TAPES variable OPEN is always blank.
TYPE28 17.018 NPM 2.4. Datasets NPMINSES/NPMEVSAL trashed.
TYPE28 17.049 Zero obs in dataset NPMSEEND corrected.
TYPE30 17.009 Support for deaccumulation of TYPE30_6 data.
TYPE30 17.176 TYPETASK='OMVS' instead of TYPETASK='STC ' for USS.
TYPE30 17.385 New foreign enclave times and TYPE30MR in OS/390 R29.
TYPE42 17.042 Type 42 subtype 16 (SMF42Gxx) was out of alignment.
TYPE42 17.059 Support for APAR OW37708/APAR OW38073 new fields.
TYPE42 17.124 Support for Type 42 subtype 7/8 NFS Usage/Users.
TYPE42 17.278 Support for APAR OW40579/41407 SMF 42 subtype 4.
TYPE42 17.355 Type 42 st 7/8 NFS caused INVALID NF-CL TRIPLET.
TYPE50 17.007 Variables BSIZE and MXTRSIZE corrected in TYPE50.
TYPE64 17.032 Extended Format datasets, HIGHRBA now calculated.
TYPE7072 17.162 Support for APAR OW37565 identifies CP or ICF CPUs.
TYPE7072 17.299 CECSER wrong if CPUs added or deleted during interval
TYPE73 17.026 Support for APAR OW15406 (IODF Creation now YYYY).
TYPE73 17.027 Support for "FICON" channels adds fields compatibly.
TYPE73 17.286 PCHANBY/PNCHANBY wrong in initial FICON support.
TYPE74 17.161 Support for APAR OW37816, new 2105 cache TYPE74CA.
TYPE74 17.180 Support for APAR OW31701 ESS Parallel Access Volumes
TYPE74 17.182 TYPE74OM (OMVS/USS) had several variables wrong.
TYPE74 17.269 PCTPNCHA/PCTPNOTH/PCTDVPND/PCTPNDEV revisions.
TYPE74 17.378 Broken Type 74.4 RMF caused INPUT STATEMENT EXCEEDED.
TYPE74CF 17.211 Doc. XSYSn variable blank is most observations.
TYPE79 17.023 CPU time for Pre-emptible SRBs added in TYPE79s.
TYPE80A 17.012 RACF type 80 with optional RACFTYPE=7 had STOPOVER.
TYPE80A 17.094 RACF keywords specified/ignored are now decoded.
TYPE80A 17.158 Top Secret causes many SEGMENT SKIPPED messages.
TYPE80A 17.199 Support for OW39128, PDS DSNAME for PROGRAM access.
TYPE80A 17.218 Support for Top Secret Release 5.1 (INCOMPAT)
TYPE89 17.116 Support for APAR OW37091 Measured Usage SMF 89 change
TYPE90A 17.287 Replacement for TYPE90 member for SMF type 90 data.
TYPE91 17.298 Batch Pipes IC/OC counts propagated into 12/13/15.
TYPE94 17.213 Support for type 94 import/export statistics.
TYPE94 17.245 ERROR.VMAC94.AUDITLEN INVALID error corrected.
TYPE97 17.385 New in OS/390 Release 2.9
TYPEBETA 17.368 Support for Beta91 Balancing Manager SMF record.
TYPECIMS 17.303 IMF, MVIMF, CIMS: SQLCALLS not counted, INCOMPAT.
TYPEDB2 17.090 DB2STATS dataset some QXxxxxxx variables were wrong.
TYPEDB2 17.338 BPHITRAT, Buffer Pool Hit Ratio, revised.
TYPEDB2 17.382 DB2 TCB times QWACSPCP/QWACSPTT included in DB2TCBTM.
TYPEDCOL 17.244 DCOLLECT variables DCACSIZ/DCACACIC were missing.
TYPEDCOL 17.281 Support for DFSMS/MVS V1R5 - in place, no changes.
TYPEDCOL 17.307 Support for APAR OW41147 ORGEXPDT=99999 Y2K Critical
TYPEDCOL 17.347 Year 2000. IBM APAR OW42559, UCCOLDT in DCOLCAPD.
TYPEEDGR 17.016 Dataset EDGRDEXT has zero observations.
TYPEEPIL 17.003 Support for Candle V400 Omegamon for CICS Epilog.
TYPEEREP 17.339 INPUT STATEMENT EXCEEDED for EREP records.
TYPEHSM 17.019 HSM _DIFFHSM macro relocated into VMACHSM.
TYPEHSM 17.021 HSM Julian dates printed as 2E6, format now 7.
TYPEICE 17.048 Support for IXFP/ICEBERG Subtype 8 and fix for st 6.
TYPEICE 17.346 INVALID DATA FOR IOSSTIME, Icebert IXFP subtype 8.
TYPEIDAP 17.100 Support for i-data afp-software SMF record.
TYPEIISL 17.321 Support for IIS Log.
TYPEIMSA 17.011 TYPEIMSA processing is wrong in 16.16. Use 17.08.
TYPEIMSA 17.290 More IMS Log revisions correct negative RESPNSTM.
TYPEIPAC 17.234 Support for Mobius View Direct 6.1.2 (INFOPAC).
TYPEITRF 17.336 Variables IMSVERS,IMSRELEASE,SMBCLASS numeric now.
TYPELDMS 17.371 Support for Software Innovation's LDMS product.
TYPEMIM 17.152 Support for MIM user record enhanced, new dataset.
TYPEMRKV 17.099 Support for Lexmark MarkVision Job Statistics
TYPENDM 17.155 Support for Connect Direct R 3.2 'CT' record.
TYPENOAM 17.122 Support for STK's NearOAM V2.2 (COMPATIBLE).
TYPENSPY 17.154 Zero obs in NSPYTIC3 (again, due to Change 16.147).
TYPENSPY 17.367 NETSPY NSPYAPPL dataset had missing response times.
TYPENTSM 17.055 Support for NTSMF new Quota Server object.
TYPENTSM 17.101 Support NTSMF Version 2.3 (COMPAT), 21 new objects.
TYPENTSM 17.165 Protection for Win 2000 Beta 3. IIS, Web changes.
TYPENTSM 17.209 Support for Lotus Notes, SMPTDS/SMTPRS objects.
TYPENTSM 17.335 Support for Windows 2000 Build 2195 NTSMF data.
TYPEORAC 17.308 Support for SQL*NET NIV adds IPADDR/PORTNR to ORACLE.
TYPEPMTR 17.297 Support for unix PerfMeter Freeware Monitor records.
TYPEQAPM 17.107 Support for OS/400 V4.3.0, no change, is in 16.16.
TYPEQAPM 17.235 Support for OS/400 Release 4.4.0 (LRECLs INCOMPAT)
TYPERACF 17.305 Support for RACF Unload IRRDBU00 Started Task subtype
TYPESARR 17.306 Support for CA View Metrics SARSMFUX SMF record.
TYPESARR 17.309 Support for remaining CA-VIEW Metrics validated.
TYPESFTA 17.092 Support for SOFTAUDIT 6.1.2 (COMPATIBLE).
TYPESFTA 17.123 Support for SoftAudit Version 7.1 (COMPATIBLE).
TYPESRMH 17.085 Support for RACAL IT Security's SRM product for HSM.
TYPESTC 17.040 STC SILO SMF record sometimes short.
TYPESTC 17.195 Support for STK's VTCS 2.2.0 INCOMPATIBLE VSM SMF.
TYPESTC 17.230 Variables STC07FPS/TPS now match STK utility report.
TYPESTC 17.313 Variables STC11CI/CE/TOL were blank.
TYPESYNC 17.145 SYNCSORT variables COREREQ/COREUSED now 8-byte store.
TYPESYNC 17.199 Support for 32 (up from 16) sorworks for SYNCSORT.
TYPESYNC 17.350 Flags CONTIGn,CACHFWn fixed, DYNALOn,UNOPENn added.
TYPETAND 17.037 Support for TANDEM F40, G04 and G05 INCOMPATIBLE.
TYPETAND 17.115 TANDEM G05 and later TANDDISK corrected.
TYPETCP 17.034 Unexpected TCP/IP command of STOU protected.
TYPETCP 17.349 TELNET LOGF Time field is Duration, not datetime!
TYPETELE 17.091 Support for TELEVIEW 4.3 (INCOMPATIBLE).
TYPETELE 17.246 Support for TeleView 4.3B subtype 3 record.
TYPETMDB 17.280 Support for Landmark DB2 Monitor V 3.2 (INCOMPAT).
TYPETMNT 17.216 ASMTAPES needed 'ES6' at ASM for Y2K, this protects.
TYPETMO2 17.169 Landmark TARSPTM contains sum of all conversations.
TYPETMS5 17.021 TMS Julian dates printed as 2E6, format now 7.
TYPETMS5 17.151 Undocumented DENX='DE'x TMS records now supported.
TYPETMS5 17.352 Year 2000. Variable OUTDATE was still 0cyyddd.
TYPETMV2 17.259 Support for TMON/MVS V2 PTF TD01655 (COMPAT).
TYPETMV2 17.333 Support for additional Landmark TMVS subtypes.
TYPETPF 17.200 Support for IBM's TPF Operating System records.
TYPETPX 17.036 TPX Start Up record subtype 1 not properly decoded.
TYPETRMS 17.284 Support for TRMS Version 51A08 (COMPATIBLE).
TYPEUNIC 17.002 TYPEUNIC support for CA UniCenter is for Open VMS.
TYPEZARA 17.344 Year 2000. Support for ZARA Release 1.3 (INCOMPAT).
UTANDSTR 17.241 Tandem Utility to read "Unstructured" with new LRECLs
UTILBLDP 17.054 Revised and documented utility to modify BUILDPDB.
UTILRMFI 17.271 UTILRMFI to show IMACWORK definitions CPU sources.
VMAC102 17.253 DB2 trace SQL text variables use &SASCHRLN length.
VMAC110 17.220 SMF type 110 subtype 0 JCRLL=0 error.
VMAC28 17.018 NPM 2.4, NPMINSES/NPMEVSAL datasets trashed.
VMAC80A 17.316 WARNING: BIT MASK TOO LONG corrected.
VMACDB2 17.300 Negative QXSELECT because DB2 overflowed counter!
VMACIMSA 17.011 MXG ASMIMSLG/L5/L6, STRTTIME is missing due to typo
VMACIMSA 17.228 SAP IMS 'AE'x log record was NOT Y2K Ready.
VMACTMDB 17.319 Landmark DB2 Version 3.0 INPUT STATEMENT EXCEEDED.
VMXGINIT 17.250 MXGVERS specification removed from VMXGINIT.
VMXGINIT 17.251 USER= option protected, &SASCHRLN= created
VMXGRMFI 17.142 Enhanced RMFINTRV permits over 100 workloads.
VMXGRMFI 17.388 Added DROPPGN=,DROPSRV= for easier RMFINTRV tailoring
VMXGSUM 17.193 Dashed-variable-list now correctly supported.
VMXGSUM 17.255 New stats, INHERIT exploitation under SAS V8.
VMXGSUM 17.265 VMXGSUM revisions now implemented in MXG 17.08.
VMXGVTOF 17.341 Year 2000. CREATED,EXPIRES,LASTUSE wrong.
WEEKBLDT 17.029 Text in col 72 cause unexpected failure.
XMXGSUM 17.370 Test version of VMXGSUM using SAS View to save DASD+.
YEAR2000 17.363 Year 2000. Julian 0cyyddd values convert to yyyyddd.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 17.
======Changes thru 17.398 were in MXG 17.17 dated Feb 7, 2000======
Change 17.398 DEVICE Activity Report can now utilize the INTERVAL and
ANALRMFR MYTIME parameters for summarization tailoring. All of
Feb 6, 2000 the ANALRMFR reports will eventually hav these options.
Change 17.397 The revised CICINTRV dataset did not contain variable
VMXGCICI DATETIME, which is archaic and STARTIME should be used
Feb 6, 2000 in your reports, but now they will still work.
Change 17.396 Support for EMC's InfoMovers Product's SMF record.
EXINMVCL creates two datasets:
EXINMVSR INMVCLNT - Infomover Client Record Subtype 1
IMACINMV INMVSRVR - Infomover Server Record Subtype 2
TYPEINMV These records look much like FTP records, but do not
TYPSINMV contain IP addresses, but do have additional statistics.
VMACINMV However, the start and end time variables INFSTART/END
VMXGINIT are bad, containing INFEND= '38970868'x which should be
Feb 6, 2000 close to the record's SMFTIME of '005F7F11'x.
Feb 7, 2000 EMC has opened tracking number 2951232 to resolve, but
was unaware of the error.
Thanks to Charles Piggott, SAS Europe, GERMANY.
Thanks to Mr. Ragaglia, ITS - FIAT, ITALY.
======Changes thru 17.395 were in MXG 17.11 dated Feb 2, 2000======
Change 17.395 Change 15.268 was supposed to have added DURATM=INTERVAL,
ASUMHSM to the VMXGSUM invocation in ASUMHSM, but was overlooked
Feb 2, 2000 until now. And work datasets HSMINTVL/HSMSTAT are now
deleted at the end of execution of ASMHSM.
Thanks to Chris Weston, SAS Institute ITSV, USA.
======Changes thru 17.394 were in MXG 17.11 dated Jan 31, 2000======
Change 17.394 Example had three sets of pairs of strange characters in
ANALBATW lines 77, 78, and 170; those characters should each be
Jan 31, 2000 an exclamation point, since a pair of exclamation points
are used for character string concatenation (instead of
long vertical bars, precisely because exclamation points
are correctly translated by Rhumba, but long vertical
bars are not, and I missed that error when I edited this
contribution that had gone thru Rhumba enroute to MXG).
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 17.393 IBM RMF-like CACHE Subsystem Activity Report can now be
ANALRMFR created by ANALRMFR. New REPORT=CACHE argument will
Jan 31, 2000 create the report from TYPE74CA Cache DASD records.
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 17.392 MXG 17.01-17.11, on ASCII (PC or Workstations) only. To
AUTOEXEC make AUTOEXEC and CONFIGxx members consistent, I added
CONFIG OPTIONS S=72 S2=72 into the AUTOEXEC member in MXG 17.01,
CONFIGV7 but only today did Chuck discover that those options have
CONFIGV8 entirely different meanings to SAS under MVS than under
Jan 31, 2000 ASCII! Originally they were needed to prevent SAS from
reading source statement columns 73-80, because that's
where MVS fixed length files are numbered, and under MVS
with fixed length input, options S=72/S2=72 do set the
MAXIMUM column to be read. However, under PC/unix, with
variable length -SYSIN input, SAS documents that they
instead set the MINIMUM column to be read, causing SAS to
skip input columns 1-71! When PC SAS read that OPTIONS
statement in AUTOEXEC.SAS, it began ignoring columns 1-71
in remaining lines, and never read nor ran the %VMXGINIT
statement that followed that OPTIONS statement!
Fortunately, those options are now deleted from AUTOEXEC
(and for consistency, also from the CONFIGxx members),
because MXG Software has been unnumbered since 1992.
P.S. I keep several AUTOEXEC.xxx members in the SAS root
directory and copy the one I want (kinda like JCL) into
the AUTOEXEC.SAS member and then start SAS. However, you
can also change the autoexec using
c:\sas\sas.exe -config 'c:\mxg\sourclib\config.sas'
-autoexec 'c:\mxg\sourclib\autoexec.sas'
either in batch execution or in separate shortcuts for
your differing file allocations, etc.
Making MXG.SOURCLIB VB on MVS reduced it from 150 cyl
to 95 cylinders, reduced BUILDPDB EXCPs for compile
from 13,326 to 12,886, and CPU time from 45 to 43 sec.
It doesn't hardly seem worthwhile!
Change 18.147 reinstated S=72,S2=72 in CONFIGV8. 29JUN00.
But S=72,S2=72 should NOT be in your AUTOEXEC.SAS file.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.391 -CICINTRV dataset creation logic was wrong, causing the
CICINTRV non-INT event records (REQ/USS/EOD) to be put in the
VMXGCICI wrong interval. But IBM caused STARTIME to be wrong in
VMXGDUR INT interval records, because DURATM was found wrong:
VMXGSUM CICDS Interval records with DURATM=03:00:00 and the
Jan 30, 2000 COLLTIME=06:00:00 (so then STARTIME=03:00:00), but
CICSSTCK=03:48:00 when this region started. The
interval record has SMFSTINO=1, but that interval
number is reset at midnight! Since the CICDS record
has the dispatcher durations, adding DSGTWT=DSGTDT
showed the true duration of this interval was 02:12:00
and the IBM DURATION of 3 hours was wrong!
MXG uses COLLTIME to group records. The COLLTIME in the
INT records is the end-of-interval value and is the same
in all INT records for that interval (e.g. 03:00:00),
which VMXGCICI floored correctly to 03:00:00 for summary.
However, because the COLLTIME in the EOD, REQ and USS
records is a distinct event time (e.g. 03:05:01.99 for a
file close), it is not the end of interval, so VMXGCICI
incorrectly floored that COLLTIME back to the 03:00:00
end time of the prior interval. This logic error was
corrected by adding the INTERVAL value to the COLLTIME
for the non-INT records and then flooring that sum back
to the end of this interval.
This works for timed intervals, but INTERVAL=SHIFT is
not supported at this time, as there is no obvious
way to determine the end of shift. Call if wanted.
-STARTIME is now calculated based on the DSGTDT+DSGTWT or
DURATDS from the dispatcher record, if one is found, and
the STARTIME will be exact if the COLLTIME is exact and
the DURATDS is within 30 seconds of exact. If there were
no CICDS records for an interval both the STARTIME and
DURATM will be set missing and COLLTIME will be the end
of interval.
-Variable SMFSTRQT is now kept in PDB.CICINTRV to identify
the source (EOD/INT/REQ/USS).
-New INTERVAL=EOD option will combine all of the records
for a region's execution together and give you total
resources for each execution.
-New INTERVAL=THREEHR option is an attempt to match IBM's
default interval, and works fine as long as all regions
create interval records.
-But you can still get strange results if you request
CICINTRV to be summarized at an INTERVAL that is smaller
that your CICS interval, or if a region writes EOD,REQ
and USS but doesn't write interval records: a region
started at 01:00, wrote three USS CICFCR close records at
05:05:, and then wrote an EOD record at shutdown at
12:00. CICINTRV with hourly default created one obs for
the 05:00-06:00 event, with only the FCR counts, and then
the EOD record created an overlaping 01:00-12:00
observation with all other measurements.
Thanks to Normand Poitras, ISM, CANADA.
Change 17.390 The default value for &SASCHRLN was changed back to 100
VMXGINIT from 200 so those SQL text variables under SAS V6 are the
Jan 28, 2000 original length and agree with labels. See Change 17.253.
Thanks to Jarl L. Bruvoll, VPS, NORWAY.
Change 17.389 Support for HP's Measureware V11.0 for HPUX adds several
VMACMWUX fields (incompatibly, since they were inserted in the
Jan 28, 2000 middle of the records).
Thanks to Tony P. Steward, Post Office, ENGLAND.
Change 17.388 Additional arguments were added for better tailoring, and
VMXGRMFI additional new variables are now kept in both RMFINTRV
Jan 27, 2000 and TRNDRMFI datasets.
-New OPERANDS:
If you specified IMACWORK=NO and USEREPRT=YES, you could
not drop unwanted Control Performance Groups or Service
Classes; now you have these new operands:
DROPPGN= A list of performance groups numbers, which
could be either Control or Report Performance
groups, that are to be deleted.
DROPSRV= A list of service class names, which could be
either Service or Reporting Class names, that
that are to be deleted.
In case you really need to add special logic as each of
the individual TYPE7xxx datasets are brought in, these
new macro variables permit insertion of any SAS code:
INCODE70= INCODE71= INCODE72= INCODE73= INCODE74=
INCODE75= INCODE78=
-Migration age was not being tracked by RMFINTRV so the
MIGAGEMX, MIGAGEMN, and MIGAGEAV variables were added,
and if it makes sense to track migration age, it should
make sense to also add the HIUIC values.
RMFINTRV new variables:
HIUICMN HIUICMX MIGAGEMN MIGAGEMX MIGAGEAV IORATE70
TRNDRMFI new variables:
HIUICMN HIUICMX MIGAGEMN MIGAGEMX MIGAGEAV IORATE70
PMGIEXAU
-Note that the actual values many variables in RMFINTRV &
TRNDRMFI datasets that came from TYPE71 with labels that
indicate they are average values are actually the maximum
value of the average value of each of the individual RMF
interval values. These variables are:
FIXEDAV CSLPFXAV LPAFXAV LSQAFXAV PRVFXAV SQAFXAV
FIXLOAV PCTLSWAP PVTAFCAV CSTORE ESTORE
Thanks to Normand Poitras, ISM, CANADA.
Thanks to Raymond Schwartz, First Data, USA.
Change 17.387 The _STY94 macro contained PROC DELETE instead of invoke
VMAC94 of %VMXGDEL(DDDDDD=TY94), so you could not change the PDB
Jan 26, 2000 ddname and sort into work. With this correction, the MXG
syntax: %INCLUDE SOURCLIB(TYPE94);
%LET PTY94=WORK;
_STY94;
will sort WORK.TYPE94 into WORK.TYPE94. Note that this
syntax is general, and works with all TYPExxxx members.
Thanks to Joseph M. Marchesani, Equitable, USA.
Change 17.386 MXG 17.10 only. Labels for BYTEREAD and BYTERPCR contain
VMACNTSM extraneous trash and hex characters that should have been
Jan 26, 2000 errored by the SAS compiler, but weren't detected until
execution of their data records, causing unrelated error
message INVALID HEXADECIMAL CONSTANT STRING CONNXAFA=....
Thanks to Bob Gauthier, Albertsons, Inc, USA
Change 17.385 Support for OS/390 Release 2.9.
BUIL3005 TYPE30:
BUILD005 - New SMF30WMI variable 'Y' identifies jobs executing in
EXTY30MR a WLM managed batch initiator.
EXTY9207 - New SMF30MSI variable 'Y' if remote system data is
EXTY94 incomplete. I don't know what this really means, but
FORMATS suspect it means a permanent data loss.
IMAC97 - New triplet for the Multisystem Enclave Remote Data,
TYPE97 with a separate section for each system on which remote
TYPS97 enclaves of this job were executed, contains:
VMAC30 RMSU_SEC - CPU SU_SEC OF THIS REMOTE SYSTEM
VMAC7072 MRENSYST - SYSTEM ID OF THIS REMOTE SYSTEM
VMAC97 CPUMRDTM - CPU TIME FOR DEPENDENT REMOTE ENCLAVES
VMXGINIT CPUMRITM - CPU TIME FOR INDEPENDENT REMOTE ENCLAVES.
Jan 26, 2000 These variables are output in the new TYPE30MR dataset
with an observation for each segment in this job, but
the CPUMRDTM and CPUMRITM are summed across all of the
remote segments and the sum is kept in TYPE30_V, _4,
and TYPE30_5 datasets, as well as being kept in the
PDB.STEPS and PDB.JOBS built by BUILDPDB.
If your remote systems are of different speeds, you
may want to normalize these remote CPU times before
they are output; the exit member EXTY30MR allows you
to normalize the new CPUMRDTM and CPUMRITM if needed.
TYPE72/TYPE72GO
- Three new Active durations for enclaves were added:
to the TYPE72 and TYPE72GO datasets:
TYPE72 TYPE72GO Description
SMF72IEA R723CIEA INDEP*ENCLAVES*ORIGINATED*ACTIVETM
SMF72XEA R723CXEA EXPORTED*ENCLAVES*TOTAL*ACTIVETM
SMF72FEA R723CFEA FOREIGN*ENCLAVES*TOTAL*ACTIVETM
TYPE92
- New subtype 7 for NFS FILE SYSTEM MOVE creates new
TYPE9207 dataset with 33 variables.
TYPE97
- New SMF type 97 for FOREIGN ENCLAVE CPU TIME creates
dataset TYPE97 with an observation for every system
that exported Enclaves to this system containing the
Dependent and Independent Enclave CPU time consumed
by Foreign Enclaves on this system.
Change 17.384 Support for Lotus Domino Server Release 5.02 SMF 108,
EXTY1083 added GMT interval start/end times, system, sysplex and
IMAC108 level to the product section, which are now added to the
VMAC108 existing subtype 1 datasets (with a heuristic algorithm
VMXGINIT to convert GMT to local until IBM adds the GMT Offset).
Jan 26, 2000 The new subtype 3 Monitoring and Tuning data record now
creates new dataset TYPE1083 with interval activity and
buffer pool statistics. Problems with subtype 3 data:
- Five counters in Release 5.02 are accumulated:
DOMTDBCI (DBCACHE Initial DB Opens) and
DOMTDBCO (DBCACHE OVERCROWDING REJECTIONS)
DOMTDBHI (DBCACHE Hits)
DOMTDBPR (DATABASE BUFFERPOOL READS)
DOMTDBPW (DATABASE BUFFERPOOL WRITES)
which was not IBM's intention, and those counters will
be fixed in Release 5.03 later this year. The MXG
_STY1083 SORT macro deaccumulates those variables only
if the record is from Release 5.02, but you will need
to add _STY1083 in your EXPDBOUT member if you add
SMF 108 record processing to you BUILDPDB.
- These MXG subtype 3 variables are set by environmental
server variables, rather than being measurements:
DOMMXUS /*MAXIMUM*NUMBER*OF USERS*/
DOMTLMCS /*LIMIT FOR*CONCURRENT*TRANSACTIONS*/
DOMTMXCS /*MAXIMUM*CONCURRENT*SESSIONS*/
DOMTTMOT /*DURATION*IN*TIMEOUT*/
DOMTMXCU /*MAXIMUM*CONCURRENT*UPDATE*TASKS*/
DOMTMXRE /*MAXIMUM*CONCURRENT*REPLICATORS*/
DOMTSATH /*SERVER*AVAILABILITY*THRESHOLD*/
If you don't change the corresponding environmental
variable at your installation, a default value is put
in the SMF record. For the 2nd-4th fields, default
values are meaningless: FFFFFFFF FFFF000 F900, (so
variables DOMTLMCS, DOMTMXCS and DOMTTMOT are set
missing if they contain those values).
Thanks to Tom Wieland, Phoenix Home Life, USA.
Change 17.383 Member IMACJBCK ("Job Check" exit) is now included in
VMAC83 these members that input JOB and READTIME. The IMACJBCK
VMAC92 exit lets you select SMF records for specific JOBs. Four
VMACHIPR other members, VMACSTC, VMACSUIN, VMACTCP, and VMACWSF
Jan 24, 2000 do contain job name, but they do not have the READTIME so
without both JOB and READTIME (the "job log"), they are
not really written on behalf of a job execution, and so
they don't include IMACJBCK.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.382 DB2 TCB time for stored procedures (QWACSPCP & QWACSPTT)
VMACDB2 are now added into DB2TCBTM variable in DB2ACCT, as they
Jan 24, 2000 are not already captured in DB2TCBTM.
Thanks to Brandon Persinger, The Gap, USA.
Change 17.381 Revised utility program to print MXG Newsletters from the
PRINTNL member NEWSLTRS or CHANGESS, under either MVS or ASCII.
Jan 24, 2000 To print Newsletters using MS Word:
Open NEWSLTRS.SAS as a new document.
Adjust the page setup:
Select portrait
Set top.bottom margins to .6 inches.
EDIT/REPLACE ALL _PAGE_ with a "manual page break",
by select "more" on the replace panel then
"special" to get to this option.
EDIT/SELECT ALL change font to COURIER NEW 9 point
PRINT
Change 17.380 First MXG 17.10. The first few tapes had version date of
AAAAAAAA Jan 20, 1999, which was not Y2K Ready. MXG 17.10 dated
Jan 24, 2000 Jan 24, 2000 corrected that cosmetic error, since that
is only a display string and is not a SAS date value.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.379 Documentation. All ADOCxxxx members were examined and
ADOCall revised to be consistent (i.e., force ZDATE to always be
Jan 24, 2000 the last listed variable for each dataset) so that we can
programatically compare the variables in member DOCVER
with each ADOC and update the ADOC with new or changed
variables while still keeping the original ADOC text.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.378 Type 74 subtype 4 (Coupling Facility) records caused MXG
VMAC74 to "INPUT STATEMENT EXCEEDED" because only 12 of the 18
Jan 24, 2000 structures had complete data in the RMF record. Whenever
the total size of the structure Request Data and Cache
Data sections is greater than 32760, IBM creates multiple
"broken" records from the "large" record, but the 74.4
"broken" records, unlike the 74.1 and 74.2, are invalid.
Instead of RMF writing one SMF record with 12 structure
Request Data sections and the associated 134 Cache Data
sections, and then writing a second record with the other
6 structure's Request Data sections and the associated 2
Cache Data sections, RMF wrote a first record containing
all 18 structure Request Data sections and the 134 Cache
Data sections for structures 1-12, and then RMF wrote a
second SMF record containing only the two remaining Cache
Data sections (one each for structure 13 and 14), but as
neither the Structure nor Request Data sections are in
that second record, it is IMPOSSIBLE for MXG to decode
the second broken record.
The record has SMF74RAN=1, indicating the "Reassembly
Area" exists, but that design (to reassemble multiple
"broken" records into a large record in the virtual
memory of the reading program) requires offsets from one
SMF record to be used to input fields in another SMF
record, and that algorithm fails unless all of the SMF
broken records are adjacent and found in the input SMF
file, which cannot be guaranteed (as, for example, when
the first broken record is the last record in today's SMF
file, or if the SMF data was presorted).
"Broken" records and reassembly areas are not new, but
IBM has previously never spanned logical data fields
between two physical records. Both the 74 subtype 1 and
subtype 2 records are "broken" when there are many
devices, but each "broken" record is self-contained and
can be decoded with no dependency on other records. The
required solution for the type 74 subtype 4 record is for
IBM to write self contained data records. The first
record should contain only as many Request Data sections
as will fit with their associated Cache Data sections.
Second and subsequent records must contain the Product,
Local Coupling Facility, and Structure data sections, and
then as many Request Data and their Cache Data sections
that will fit together.
To circumvent the error, an additional condition:
AND CDSILOC+SMF744CL LT LENGTH
was inserted in the existing IF statement
IF R744CDSI GT 0 AND R744CDNE GE 1 THEN DO;
before the THEN, so that the missing cache data sections
are skipped (causing missing values in TYPE74ST). Thus
far, only a few bad 74.4 records have been found per
day on this OS/390 R2.8 system.
While IBM's RMF Reporter does handle these broken records
if they are found in the same SMF input file (which RMF
has to first sort for the reassembly algorithm), if the
second record is not in today's data, the RMF Report just
skips that interval in its reports!
In conversation with RMF developers, they have now agreed
to revise their design so that when "broken records" must
be written, they will be self-contained and not dependent
on the contents of other records for decoding.
This investigation also uncovered an MXG oversight; only
the first cache data section was read for each structure,
but there are a few structures that have as many as 63
cache data sections, (but only two of those sections had
any non-zero counter values!). Now MXG sums all of the
cache data section counters for each structure.
Thanks to Steve Lottich, University of Iowa Hospitals, USA.
Change 17.377 Change 17.290 changed SORT fields, but this JCL example
JCLIMSL6 was overlooked (LG and L5 were correct). It should be:
Jan 21, 2000 SORT FIELDS=(1,12,A,43,8,A,29,1,A),FORMAT=BI
as described in the text of that change.
Thanks to John Pierce, Liberty Mutual, USA.
Change 17.376 Variables POOLNPBY and POOLPGBY in NTINTRV dataset were
NTINTRV from the SERVER dataset instead of from the MEMORY data,
Jan 21, 2000 so their values were not correct in NTINTRV. Inserting
(DROP=POOLNPBY POOLPBY) after _LNTSERV in the MERGE
statement will correct this error.
Thanks to Greg Jackson, National Life of Vermont, USA.
======Changes thru 17.375 were in MXG 17.10 dated Jan 20, 2000======
Change 17.375 Report was showing equal utilization of the channel for
ANALPATH both the LPAR and the CEC.
Jan 20, 2000
Thanks to Tony P. Steward, Post Office, ENGLAND.
Change 17.374 Windows 2000 NTSMF enhancements, etc.
EXNTSMTN -Objects 'Job Object' and 'Job Object Details' are still
EXNTTRMS flakey, sometimes containing NRNAMES and instance names
EXNTTRMV (1 in Job Object, 2 in Details), sometimes NRNAMES=0.
FORMATS While this is being resolved, MXG now protects both,
IMACNTSM (but if NRNAMES=0, then the names will be blank and the
VMACNTSM records of questionable utility!).
VMXGINIT -New variable FTPUPTME added to FTPSERV dataset from the
Jan 20, 2000 'FTP Service' object.
-Three new objects supported:
dddddd Dataset Object
NTSMTN SMTPNFS SMTP NFS Store Driver
NTTRMV TERMSERV Terminal Services
NTTRMS TERMSESS Terminal Services Sesion
-Sixty new variables added to SMTPSERV dataset from the
'SMTP Server' object are protected, but not input; I
ran out of time in building MXG 17.10, but call for
the update.
Jan 21, 2000: No update needed; MXG 17.10 did contain
all of the new variables, but I forgot to go back and
change this text.
Thanks to Jim Quigley, Con Edison, USA.
Change 17.373 TRNDRMFI has been updated to keep xxxxMEMR memory vars
TRNDRMFI as 8 bytes, like all other measures of memory, so that
Jan 20, 2000 there is no loss of resolution.
Change 17.372 Replaced by Change 17.378.
VMAC74
Jan 20, 2000
Change 17.371 Support for LDMS product creates three new datasets:
EXLDMSDB dddddd dataset label
EXLDMSDI LDMSDB LDMSBASE SI-LDMS-BASE
EXLDMSPC LDMSDI LDMSDIST SI-LDMS-DIST
FORMATS LDMSPC LDMSPC SI-LDMS-PC
IMACLDMS in this user-contributed enhancement.
TYPELDMS LDMS is from Software Innovation in Germany, and it is
TYPSLDMS used for archiving and viewing JCLLOG, SYSLOG, reports
VMACLDMS and lists that were previously printed and delivered.
VMXGINIT
Jan 20, 2000
Thanks to Thomas Heitlinger, FIDUCIA IT AG AG, GERMANY.
Change 17.370 This test version of VMXGSUM enables a SAS VIEW in the
XMXGSUM first datastep to reduce time and resources (CPU, I/O,
Jan 19, 2000 and especially DASD space, since a VIEW is essentially a
pipe that avoids hardening a dataset. This version also
allows you to create the output dataset as a view with
OUTDATA=X/VIEW=X, syntax (but of course you must use that
dataset before you invoke VMXGSUM again). This member
will become VMXGSUM in the next version, but is placed
here for wider testing; copy this XMXGSUM into VMXGSUM
in your USERID.SOURCLIB to test it yourself.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.369 CPU Activity Report can now utilize the INTERVAL and
ANALRMFR MYTIME parameters for summarization tailoring.
Jan 18, 2000
Change 17.368 Support for Beta91 Balancing Manager SMF Record creates
EXTYBE9A four new datasets from the many subtypes:
EXTYBE9B "dddddd" Dataset Label
EXTYBE9C TYBE9A BETA91A BETA91 HEX ST 10,14,28,48
EXTYBE9C TYBE9B BETA91B BETA91 HEX ST 22,24,36,42,44
FORMATS TYBE9C BETA91C BETA91 HEX ST 50
IMACBE91 TYBE9D BETA91C BETA91 HEX ST 60
TESTUSR1 The second variable data portion of the subtype 22-44
TYPEBE91 record is not documented, so those fields are not yet
TYPSBE91 decoded into dataset BETA91B.
VMACBE91 -Minor, but SMFCSTIM was shifted one byte to the left in
VMXGINIT the record ('45400000'x instead of '00454000'x for noon),
Jan 17, 2000 so there is an extra divide by 256 required.
Thanks to W. Waldeyer, BHF-Bank AG, GERMANY.
Change 17.367 NETSPY NSPYAPPL dataset had missing values for response
EXNSPYAP time and percentages when NETRSPN6 (computed number of
VMACNSPY LU6.2 responses) was zero. Logic was added to use the
Jan 15, 2000 TOTRSPN6 (total number of LU 6.2 responses) if NETRSPN6
is zero. Additionally, exit EXNSPYAP tested only TRANSNO
or OUTPUTNO, which suppressed output of any interval that
had LU6.2 traffic but no 3270 traffic. The test now also
tests TOTRSPN6 so that LU6.2-only intervals are output.
Thanks to Julian Smailes, Experian Limited (UK), ENGLAND.
Change 17.366 Deleted TMS volumes still in the TMC that had DENX=00x
VMACTMS5 printed DENSITY IS MISSING and a hex dump of the record
Jan 14, 2000 on the log, with no other impact. The existing test
ELSE IF DENX=0DEX THEN DEN=0; was expanded to read
ELSE IF (DENX=0DEX OR DEL='Y') THEN DEN=0; and that
block of code was relocated to after DEL='Y' is set.
Thanks to Warren Hayward, TJX, USA.
Change 17.365 The _Sdddddd and _Bdddddd macros (SORT and BY list) have
VMACTCP been updated so they can now be used. The _SUBTCP5 macro
Jan 13, 2000 was deleted, as it was never referenced; the statistics
record is recognized by length, not by subtype (which was
user-settable and thus not reliable!).
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 17.364 XCF Path Statistics report, updated to report all
ANALRMFR paths.
Jan 13, 2000
Thanks to Neil Ervin, Schwab and Company, USA.
Change 17.363 Year 2000. Julian Date Values for these products have
VMACACF2 been protected to convert 01yyddd values to 20yyddd:
VMACCTLT TYPEACF2 - LIDADATE, LIDCDATE, LIDDXPDT, LIDIPDAT, prot.
VMACLMS TYPECTLT - CTLTDSN/CTLTVOL variables protected.
VMACPROS but there are EXPDT fields that are not
Jan 14, 2000 protected for invalid dates (like 99366).
TYPELMS - This code had not been updated in a long time.
EXPDT is now correct, but several datasets
were also corrected, and the code now runs
under ASCII as well as EBCDIC versions of SAS.
These changes support Sutmyn/VTS/LMS 3.4.
TYPEOMAU - OMJULDAT is protected, and OMDATIME corrected.
TYPEPROS - GWADATE protected. GWAEXPDT is character.
TYPEWSF2 - No julian date variable, listed in error.
Unfixed, awaiting raw data:
TYPEIAM: IAMCDATE=0852 decimal, 0354 hex, doc dddy!!!
Unvalidated, these products have unvalidated fields and
no test data has been made available. See the
member YEAR2000 for variables and datasets:
TYPEBETA TYPECMF TYPEDECS TYPEEDGR TYPEEDGS
TYPEEPIL VMXGHSM TYPESARS TYPETMDB TYPETMVS
TYPETLMS
Thanks to Warren Hayward, TJX, USA.
Thanks to David Ehresman, University of Louisville, USA.
Thanks to Kevin Marsh, AT&T Solutions EMEA, ENGLAND.
Thanks to Caron Know, Willis, ENGLAND.
Thanks to Steve Clark, California Federal, USA.
Thanks to Coen Wessels, UNICIBLE, SWITZERLAND.
Thanks to Caron Knox, Willis Corroon Group Services Limited, ENGLAND.
Change 17.362 Documentation only; no code was changed. Highwatermark
VMACTMO2 and lowatermark values in TMON for CICS/ESA 2.0 (TCE)
Jan 13, 2000 statistics interval records will be always zeroes after
applying SYSMOD TH01288 to TMON, but the HWM values in
the TI record will still be valid, as they are obtained
differently than the TCE records. The SYSMOD text has an
extensive discussion of why the TCE HWM/LWM values cannot
be calculated when the TCE interval is different than the
CICS statistics interval. These fields in these records
will be zero:
Record Fields
TP TPGWLRHW TPGHWMT
TS TSGSTA6F TSGQNUMH TSGNCIAH TSGBUWTH TSGNVCAH
TSGVUWTH TSGQINH
TD TDGAMXIU TDGAMXAL TDGAMXWT TDGAMXCI TDGSMXAL
TDGSMXWT
TX TXGPAT TXGPQT
TR TRVRPLX TRVRPLXT TRXMCPAT TRXMCCPQ TRVLUHWM
T2 T2TCBQHW T2TCBHWM T2ETHDHW T2EPTHDP T2EHTASK
T2EH
TM TMCE1HWM TMCE2HWM TMCEBHWM TMCESTAM
TT TTRMCNT
TF TFFDSHSW TFFDTSHI
Change 17.361 Extension to Change 17.339 for EREP records. Now, all
VMACEREP EREP record types are tested and will be bypassed (and
Jan 12, 2000 and MXG WARNING message printed on the log) if any of the
invalid record bits are enabled; previously only the
record types that had experienced bad bits were
protected. IBM's EREP writes out truncated records when
it runs out of buffer space, and sometimes EREP doesn't
edit the record and only writes out what's in the buffer,
and sometimes EREP writes out incomplete records. Also,
MCH '13'x record conditionally inputs ERRORID by testing
length in LRBMLNH to avoid STOPOVER.
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Thanks to Les Geraghty, DMR (an Amdahl Corporation), IRELAND.
Change 17.360 The RMFINTRV/VMXGRMFI enhancements added in MXG 17.09
VMXGRMFI have been revised and corrected, so the errors and fixes
RMFINTRV apply only to the 17.09 code, but all of the new stuff
TRNDRMFN now works! Your existing IMACWORK member will continue
Jan 12, 2000 to work to define your workloads, if you do nothing, but
Jan 20, 2000 now you can EDIT member RMFINTRV (instead of IMACWORK) in
your USERID.SOURCLIB to create new workloads either in
addition to your IMACWORK workloads, or instead of, by
ignoring in IMACWORK completely. Member RMFINTRV invokes
%VMXGRMFI, so you EDIT RMFINTRV to change the arguments.
Remember, you NEVER change member VMXGRMFI; you only read
it for its documentation of the arguments in comments.
Then, in your RMFINTRV member, you invoke %VMXGRMFI with
your chosen workload definitions, parameters, etc.
Member RMFINTRV has documentation and examples in its
comments.
To match output to input sums exactly, all of the length
4 variables in RMFINTRV are now stored in 8 bytes. The
truncation when stored in four bytes is only in the 7th
significant digit, so using length 4 is not wrong, but
with a daily totaly of 1,000,000 seconds, that caused a
visually-obvious-even-if-not-significant difference of
0.1 of those million seconds lost between RMF & RMFINTRV.
Since I wasted a full day chasing down that difference, I
decided the small increase in DASD space would be worth
you never having to ask why there was any difference!
RMFINTRV now uses SAS VIEWS to pass data from one step to
another without using DASD space, but now, an ignorable
note "A stored DATA STEP view cannot run under a
different operating system" is printed on the SAS log.
Some additional documentation comments.
Specifying IMACWORK=NO may cause UNINITIALIZED VARIABLE
messages on the SAS log for the old variables that you
no longer want. Putting a comment block aroung the
label statement in your EXRMFINT member will eliminate
those messages, but they have no impact.
Any workload can be broken into periods, with a set of
variables for each period, including response time,
transaction count, and swap count as has always been
done for the TSO workload. You need to tell VMXGRMFI
how many periods to be mapped with the syntax:
WORKn=NNNN/LLLLLLLL/PGN/SRVCLASS/PERIODS
See PERIODS= in member VMXGRMFI.
If you specify to use Report Classes/Perfgrps, but you
also say to use your IMACWORK member, and that IMACWORK
member still contains the default to delete Report stuff
the IMACWORK will have deleted the Report stuff before
the new definitions are used. You will need to revise
your IMACWORK member to permit use of Report stuff.
Trending on the new RMFINTRV variables can now also be
done, with this new VMXGRMFI's TRENDIN=, TRENDOUT=,
TRENDBY=, and TRNDINTV= arguments, and by setting PDB=.
Member TRNDRMFN is an example of the new syntax that
will invoke VMXGRMFI to create TREND.TRNDRMFI with all
of the new workload variables.
These 17.09-only errors were corrected:
-The default IMACWORK=YES caused MXG error message that
RMFINTRV CPU TIMES DO NOT MATCH because OTHRCPU was
included twice in the creation of variable CPU72TM.
17.09 sites can remove the OTHRCPU from the end of:
,BATCPU,TSOCPU,CICSCPU,IMSCPU,OTHRCPU,
OTHRCPU is the fallthru workload for undefined PERFGRP or
SRVCLASS that were not mapped in your IMACWORK, so if all
work was mapped, then OTHRCPU will be zero and this error
does not occur.
-That error message does NOT set a return code nor stop
your BUILDPDB job (because once you see the error and
fix your workload definitions in your IMACWORK member
or in your RMFINTRV invocation of %VMXGRMFI, you can
simply re-run the RMFINTRV program to re-create the
PDB.RMFINTRV dataset, without re-reading SMF data.
-Detailed validation of 17.09 corrected values in a few
variables from TYPE71 and TYPE74 datasets.
-Using IMACWORK=NO and RPGNs did not use the RPGN data.
Thanks to Bruce Lietz, Cessna Aircraft, USA.
Thanks to Normand Poitras, ISM, CANADA.
Change 17.359 VMXGSUM fails if variable names are created in lower case
VMXGSUM and KEEPALL=NO default is used with SAS V7/V8, as that
Jan 12, 2000 space-saving option invokes logic to figure out what
variables need to be kept, and because the output dataset
created by PROC CONTENTS that contains the list of
variable names that exist has lower case values in
variable NAME, but the dataset created by parsing of the
arguments (like SUMBY=) that contains the list of
variables that are needed has upper case values in its
variable NAME, which then causes the MERGE matchup:
MERGE A (IN=INA) B (B=INB); BY NAME; IF INA AND INB;
to fail, as it sees those NAMEs as different values.
And since there is no SAS facility for case-insensitive
character tests nor case-insensitive MERGEing, three
UPCASE() functions were inserted in the three places
where variable NAME is read from the PROC CONTENTS output
dataset.
I discovered this one while creating CHANGE 17.358, and
accidentally used lower case in my test program, but it
was very nasty in impact and not obviously caused. There
was no error condition, but the output dataset had only
17 observations instead of 212; there were a few MISSING
VALUES messages on the log during MXGSUM1 creation. Only
when the SUMBY variables were printed was it found that
one of them did not exist in the output dataset, which
led to the discovery and fix.
Using argument KEEPALL=YES will circumvent this error,
because that bypasses the NAMEs matchup, but it can waste
//WORK space if there are many unused variables.
Ain't mixed case fun?????
Change 17.358 An additional sample NETSPY report that replicates the
ANALNSPY MICS SNTNSS report from MXG's NSPYLU dataset was added to
Jan 12, 2000 the examples in ANALNSPY. (However, the MICS report does
not correctly count input transactions; the MXG report
prints both the MICS number and the true number).
Thanks to Gene Rahe, Experian, USA.
Change 17.357 To modify BUILDPDB to copy CICS Statistics datasets to
EXPDBOUT your PDB, you should insert this code in EXPDBOUT:
Jan 12, 2000 _S110
Jan 20, 2000 MACRO _SCICEXC %
The BUILDPDB writes all CICS Statistics datasets to the
work file (to later create PDB.CICINTRV), but those 50+
individual CICxxxx datasets are not copied into the PDB
by default (they can be large; if you don't ask for them,
they won't waste any space in your PDB). That macro
invocation of _S110 sorts each TYPE110 dataset to the
PDB, and the two MACRO redefinitions to null out the
sorts of datasets CICSEXEC and CICSYSTM are needed
because BUILDPDB will try to sort them later in its own
logic, after the EXPDBOUT exit has been executed.
Note: if you don't want to create any observations from
the type 110 subtype 2 CICS statistics records, add this
statement: IF ID=110 AND SUBTYPE=2 THEN DELETE; in
your IMACFILE exit member.
Thanks to David Ehresman, University of Louisville, USA.
Change 17.356 Using Excluded CICS fields with CICS TS 1.3 failed,
IMACEXCL because the DO group IF MCTSSDCN LT 202 ... should have
Jan 11, 2000 been deleted when the TS 1.3 INPUT logic was copied into
member IMACEXCL. Delete that DO group.
Thanks to Tony P. Steward, Post Office, ENGLAND.
Change 17.355 Type 42 Subtype 7/8 NFS records caused INVALID NF-CL
VMAC42 SECTION TRIPLET error, but the message itself was in
Jan 11, 2000 error. The test OFFCL+LENGTH GT LENGTH should have been
OFFCL+LENGTH-1 GT LENGTH. The INPUT of SMF42CHL (twice)
was changed from &PIB.4. to &PIB.2. and SUBTYPE= was
added to those INVALID messages. Datasets TYPE42NF and
TYPE42NU were affected.
Thanks to Alan Deepe, Perot Systems Europe, ENGLAND.
Change 17.354 Summarized variable RESPSTD was always zero; the code
ASUMCICS SQRTARG=(SSQELAP/NUMTRANS)-(IRESPTM**2);
ASUMCICX must be changed to read:
Jan 11, 2000 SQRTARG=(SSQELAP/NUMTRANS)-((IRESPTM/NUMTRANS)**2);
Thanks to Normand Poitras, ISM, CANADA.
Change 17.353 Protection for the unwise. If you use the same name for
VMAC7072 a Service Class and for a Report Class, the MXG NODUP
WEEKBLD removal would not remove all duplicates. Adding variable
MONTHBLD RPRTCLAS at the end of MACRO _BTY72GO will not impact the
Jan 11, 2000 existing sorted datasets but will delete any duplicate
records in TYPE72GO.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.352 Year 2000. Variable OUTDATE was still a 0cyyddd value,
VMACTMS5 having been overlooked by Change 16.330, but now it is
Jan 11, 2000 converted into a yyyyddd value.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 17.351 Format MGSTCRS was corrected to 00/01 UN-/CONFIGURED.
FORMATS Labels for STC26MST/MET were changed to TAPECOPY vice
VMACSTC MIGRATE, for STC26VPO was changed to Position on the new
Jan 8, 2000 MVC, and for STC26MID was changed to VTV VOLSER.
Thanks to Herb Strazinski, US Bank, USA.
Change 17.350 SYNCSORT flag variables CONTIGn was wrong if SMFWKCID
VMACSYNC contained multiple bits, variable CACHFWn was created but
Jan 8, 2000 not kept, and two new flag variables were not decoded.
Now, CONTIGn and CACHFWn are kept and right, and two new
variables are decoded and kept:
DYNALOn = 'WORK n*DYNAMICALLY*ALLOCATED?'
UNOPENn = 'WORK n*UNOPENED*DISP=OLD?'
for n=1 to 32, for each possible Sort Work Area. Also,
the UCB address in variables UNIT1-UNIT32 is now the four
digit character address, so their stored length was
increased from $3 to $4.
Thanks to Steve Colio, CIGNA, USA.
Change 17.349 IBM Documentation of TELNET LOGF Date and Time Fields was
VMACTCP wrong, causing MXG variable TELLOGFT to be wrong.
Jan 7, 2000 Instead of being the time of logoff, the time field at
offset 82-85 is the elapsed duration of the session! And
the date field at 86-89 is redundant with the SMF date
field (and this is the date field that IBM's APAR PQ34359
plans to change from the non-standard yyyydddF format to
0cyydddF in spite of its uselessness!). Adding the
session duration and that date field created a value on
Jan 3, 2000, for a session that ended Jan 1, which made
this look like a Year 2000 problem, but it was just bad
documentation! Now, TELLOGFT is the LOGF datetime value,
new variable TELLOGON is the calculated LOGN datetime
value, and new variable TELLOGTM is the elapsed session
duration.
Thanks to Freddie Arie, Texas Utilities, USA.
Thanks to Jerome Vitner, Experian, USA.
Change 17.348 This GRAF example failed if you did not have SAS/GRAPH;
GRAFLPAR while the actual PROC GPLOTS were protected, the graph
Jan 6, 2000 control statements AXIS1, SYMBOL1, etc, were not and
caused AXIS1; to create a 180 syntax error.
Thanks to Michael E. Rounceville, Shaw Industries, USA.
Change 17.347 APAR OW42559. Variable UCCOLDT contains 1900001F for
VMACDCOL data on Jan 1, 2000, and records will be lost until the
Jan 5, 2000 end of January, 2000, according to that APAR text.
Change 17.346 INVALID DATA FOR IOSSTIME error because an additional 4
VMACICE bytes were added to the subtype 8 ICEBERG SMF record, but
Jan 5, 2000 MXG failed to protect for a change in segment size. The
correction is to insert these two lines:
SKIP=LENSEG-128;
IF SKIP GT 0 THEN INPUT +SKIP @;
immediately before this line:
_EICE8NP /*INC SOURCLIB(EXICE8NP); _WICE8NP .... */
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Change 17.345 MXG 17.06-17.09 only. INVALID NUMERIC DATA CECSER=...
ASUM70PR error because MXG 17.06 added statements that used CECSER
Jan 5, 2000 as a numeric variable, but it is created as a 6-byte
character variable. The actual CPU Serial number
contained xxC4, which surfaced this error.
The test IF CECSER=. THEN CECSER=.; must be changed
to IF CECSER=' ' THEN CECSER=' '; and the
test IF CECSER=. THEN DELETE; must be changed to
IF CECSER=' ' THEN DELETE;
Thanks to Darlene Wnukowski, Schreiber Foods, Inc, USA.
Change 17.344 Year 2000. Support for ZARA Release 1.3 (INCOMPATIBLE).
VMACZARA Release 1.3 is the only Y2K Ready version of ZARA, and
Jan 5, 2000 the record format was changed to the API records, so you
will need this change to support ZARA records. In
addition to 1.3 record changes, MXG's logic for the
FILDATEX was wrong; the test FILDATEX GE 1999365 was
corrected to read:
FILDATEX EQ 1999365 OR FILDATEX EQ 1999366 OR
FILDATEX EQ 1999999)
Thanks to Norbert Ravarani, European Commission, LUXEMBURG.
Change 17.343 Variable NEXTENT, the number of extents on this volume,
ANALDSET was added to dataset DSETOPEN created by ANALDSET. The
Jan 3, 2000 DCOLLECT/TYPEDCOL is probably better for analysis of
Feb 2, 2000 dataset extents, because DCOLLECT sees all datasets on a
volume at the time DCOLLECT is run, while ANALDSET only
sees datasets that were closed in input SMF file time
interval (SMF type 14,15,64). Nevertheless, if you need
to track which job and which open is causing datasets to
extend, using this revised ANALDSET will now provide
NEXTENT for both VSAM and non-VSAM files. The structure
of ANALDSET was also revised; no longer do you need to
IEBUPDTE step to create the temporary tailoring PDS
library; the revised program now tailors instream using
%LET MACKEEP= architecture.
Feb 2: _N30, _N1415, _N64 added to null all datasets and
then define the wanted; creation of new TYPE30MR caused
the earlier revision to fail, but now its futurized.
Thanks to Tien Truong, CITICORP, SINGAPORE.
Change 17.342 Year 2000. TYPE1415 variables EXPDT and CRDATE were not
VMAC1415 converted to yyyyddd format (they were overlooked in
VMXGINIT Change 16.330) and are still in cyyddd format, so they
Dec 31, 1999 print as 100001 for 1Jan2000. This change adds in the
Jan 12, 2000 algorithm from member YEAR2000 to convert both EXPDT and
CRDATE to value 2000001 instead of 100001, and changes
their label to show YYYYDDD as their value. Member
VMXGINIT is also needed if you are still at MXG Version
16.16, or you can insert this statement:
%LET WTY1415=WORK;
as your first //SYSIN DD statement.
Thanks to Rebecca Cates, PKS Information Systems, USA.
Thanks to Frank Cortell, CSFB, USA.
Change 17.341 Year 2000. MXG created SAS date variables CREATED,
VMXGVTOF EXPIRES, and LASTUSED are wrong in Y2K in this archaic
Dec 31, 1999 VTOC reading program (which was replaced by DCOLLECT),
although the julian date variables CRDATE, EXPDT, and
LASTUSE are correct. The correct equations are:
CREATED=DATEJUL((CRCENT+19)*100000+CRDATE);
EXPIRES=DATEJUL((EXCENT+19)*100000+EXPDT);
LASTUSED=DATEJUL((LACENT+19)*100000+LASTUSE);
The incorrect equation produced dates that were either
off by one day if YEARCUTOFF=1900, or off by 36525 days
if YEARCUTOFF was 1960.
Thanks to Geoff Morley, Origin Netherlands, THE NETHERLANDS.
Change 17.340 Three cases of "$EBCDIC8 " were changed to "$EBCDIC8."
VMACOMVT
Dec 24, 1999
Thanks to Freddie Arie, Texas Utilities, USA.
======Changes thru 17.339 were in MXG 17.09 dated Dec 22, 1999======
Change 17.339 INPUT STATEMENT EXCEEDED RECORD LENGTH for EREP records
VMACEREP because the HDRIS flag bits were not being tested for all
Dec 21, 1999 record subtypes. IBM's EREP writes out truncated records
when it runs out of buffer space, it sometimes doesn't
edit the record but writes out what's in the buffer, and
writes out incomplete records, all of which are flagged
by HDRIS and BYTE0 flag bytes. MXG covered most but not
all cases, writing out an MXG WARNING that EREP had
created bad records, but now all cases are protected.
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Change 17.338 -The calculation of BPHITRAT, Buffer Pool Hit Ratio, in
VMACDB2 DB2STATB dataset was revised based on Don's research: The
Dec 20, 1999 new algorithm substitutes QBSTRIO for QBSTSIO, and
restores QBSTSPP, which was removed due to negatives:
BPHITRAT=
QBSTGET-(QBSTRIO+QBSTSPP+QBSTDPP+QBSTLPP)/QBSTGET;
-QBSTSPP had been removed when MXG had negative ratios,
but it is better to use it (as it includes all prefetch
pages, regardless of whether these pages were discarded
before actually being used by the application), so that
negative values indicates a potentially serious problem
that could be overlooked without QBSTSPP: pages that are
read via prefetch, discarded before use, and then read
via synchronous sequential read. Large values in QBSTSIO
would also be true for this case, but negative BPHITRAT
would be less likely to be overlooked. Without QBSTSPP,
the equation calculated terrific buffer hit ratios that
were meaningless, since they did not consider the number
of pages that were read via normal sequential prefetch.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 17.337 -Remove TYPE79 processing, not used in IBM reports.
ANALRMFR -Remove TYPE76 processing, not used in IBM reports.
Dec 20, 1999 -New optional parameter ALLTYPE= to build TYPE70-75,
TYPE77 & TYPE78 datasets, or build only those record
types needed for the reports that are requested.
-New optional parameter DEVICEC=, allows selection of
only certain device classes for device reports.
-Update Channel Avtivity report column TYPE of channel.
Change line
IF LPARCPUS GT 0 AND LPARNAME NE 'PHYSICAL' THEN DO;
To
IF LPARCPUS GT 0 THEN DO;
Thanks to Neil Ervin, Charles Schwab & Co.
Thanks to Al Sherkow, Management Strategies, Ltd.
Thanks to Susan Walters, Michelin Tires, USA.
Change 17.336 Variables IMSVERS, IMSRELEASE, and SMBCLASS were changed
VMACITRF from character to numeric (input now with &PIB.1.) to be
Dec 20, 1999 directly readable and to now make sense!
Thanks to Warren E. Waid, JC Penny, USA.
Change 17.335 -Support for Windows 2000 Build 2195 changed field counts
EXNTACRS from the Beta 3 release, so the code was revised to read
EXNTDIST only the Build 2195 records:
EXNTIACC Memory - AVAILMEK and AVAILMEM variables added.
EXNTIACS Logical Disk - Instance Name restored (was missing).
EXNTIATC Print Queue - Instance Name restored (was missing).
EXNTIATS Web Service - SRVUPTME (service up time) added.
IMACNTSM Job Object - Instance Field added, sometimes, but
VMACNTSM data fields are accumulated.
VMXGINIT Job Object Details - Instance Fields added, sometimes.
Dec 19, 1999 Note: we're still researching why some of the Job and
Job Detail records contain no instance fields,
and NTSMF will need to be revised to deaccumulate
the Job Object counters.
-New Objects found in Build 2195:
Dataset dddddd Description
ACSRSVPS NTACRS ACS/RSVP Service
DISTRNCO NTDIST Distributed Transaction Coordinator
IASACCTC NTIACC IAS Accounting Clients
IASACCTS NTIACS IAS Accounting Server
IASAUTHC NTIATC IAS Authentication Clients
IASAUTHS NTIATS IAS Authentication Server
Thanks to Jim Quigley, Con Edison, USA.
Change 17.334 Variables PGBKSYSA PGBKLPA SHPGINAU SHPGOUAU SHPGINES
VMAC71 SHPGOUES in TYPE71 are now converted to rates per second
Dec 19, 1999 and their labels corrected, since they paging rates.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.333 Support for additional Landmark TMVS subtypes, including
EXTMVXC WG (Workload Manager) and XC (Coupling Facility), and
EXTMVXC1 additional fields in other records are now decoded and
EXTMVXC2 created. Test data was available, and most number have
EXTMVXC3 been verified, but there was lots of coding here!
EXTMVXC4
IMACTMV2
VMACTMV2
VMXGINIT
Dec 15, 1999
Thanks to John Jackson, Redcats, UK.
Change 17.332 INPUT STATEMENT EXCEEDED error for VSM subtype 24; the
VMACSTC input of STC24MID should have been $EBCDIC6 instead of
Dec 15, 1999 $EBCDIC8.
Dec 21, 1999 In addition, variable STC13TIM is now corrected by the
addition of DEL6070 (the delta seconds between unix's
1970 epoch and SAS's 1960 epoch - see Change 17.195),
and further protected in case STC changes that to the
TODSTAMP format in the future!
And more: All of the VSM timestamps (except SMFTIME) are
on GMT, and there is no offset provided!
And finally, just in time for the 17.09 build, the bit
test for STC11TOL had an extra 9th postition to delete.
Thanks to Herb Strazinski, US Bank, USA.
Change 17.331 Variable SMF77RF2, a second status indicator, is input to
VMAC77 match RMF report replication in member ANALRMFR.
Dec 14, 1999
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.330 17.05-17.08 only. STOPOVER and/or BAD RECORD messages
VMAC80A if you have installed APAR OW39128, which added RPDSNAME
Dec 13, 1999 to the WHEN (66) decoding, but I believed IBM and read in
with INPUT RPDSNAME $EBCDIC44. But actual data records
show the segment is variable length. Change the above
line to read: RPDSNAME $VARYING44. RACFDLN
Thanks to Joe Faska, Depository Trust, USA.
Change 17.329 Partition Data Report, *PHYSICAL* values zero. Change
ANALRMFR IF LPARCPUS GT 0 AND LPARNAME NE 'PHYSICAL' THEN DO;
Dec 10, 1999 to
IF LPARCPUS GT 0 THEN DO;
References to TYPE79 were removed, as it is not used in
any reports, and caused space problems if PDB=SMF was
specified.
Thanks to Neil Ervin, Charles Schwab & CO.
Thanks to Al Sherlow, Management Strategies, Ltd., USA.
Thanks to Susan Walters, Michelin Tires, USA.
Change 17.328 This utility to show the size (MegaBytes) of each data
UTILCONT set in a SAS Data Library did not have the DETAILS
Dec 10, 1999 parameter specified, and thus returned zero when run
under SAS Verson 6, 7, or 8. Now it always works.
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Change 17.327 The order of the code in IMACACCT was revised, so that
IMACACCT the &MACACCT invocation now is located after the LABEL
Dec 7, 1999 statement and before the LENGTH statement, so that the
length and label of the account variables can both be
changed instream. For example, this syntax in //SYSIN:
%LET MACACCT=
%QUOTE(
DROP ACCOUNT4-ACCOUNT9 SACCT4-SACCT9
LENACCT4-LENACCT9;
LENGTH ACCOUNT3 SACCT3 $12; ) ;
will drop and change the length as indicated.
Thanks to Paul Oliver, BHP Petroleum, AUSTRALIA.
Change 17.326 Documentation only. The old //PROCLIB DD DSN=xxxxxxx
INSTALL statement was replaced some time ago by the JCLLIB
Dec 7, 1999 statement. An example of that syntax is:
//PROCLIB JCLLIB ORDER=MXG.USERID.SOURCLIB
Thanks to MP Welch, SPRINT, USA.
Change 17.325 This CICS utility to detect what PTFs are installed so
IMACPTF that you can then update member IMACPTF to tell MXG what
UTILCICS is installed has been cleaned up. The double output for
Dec 6, 1999 OMEGADLI, CANMQ, and CANWLMSC were removed, the test for
PTF UN98309 should have been for SMFPSRVR=51.0 instead of
SMFPSRVR=41.0 (and the associated comments in member
IMACPTF were corrected to 51.0), and the test for DBCTL
now tests for CMODNAME=DBCTL.
Thanks to Harry Olschewski, DeTecCSM GmbH, GERMANY.
Change 17.324 The WTIRIOTM (inter region wait time) in ASUMUOW was the
ASUMUOW sum of all of WTIRIOTM values from all transactions in
Dec 6, 1999 the unit of work, but this value is meaningless, as the
multiple waits in the TOR, AOR, etc., were summed. Now,
the WTIRIOTM in ASUMUOW is the WTIRIOTM from the first
transaction, which is also the source of IRESPTM, as this
will provide a more meaningful indication of IR wait for
the unit of work.
Thanks to Alan Meyer, Prudential-Bache Securities, USA.
Change 17.323 -This utility to understand the sequencing of CICS TOR/AOR
UTILUOW transactions now avoids all duplicates in the reports by
Dec 5, 1999 adding variables APPL5, TRAN5, ... TRAN10 to the BY list
for the PROC SORTs of datasets FIRST/MIDDLE/LAST/MOREONE,
and variable INDEX was added at the end for a better sort
sequence.
-Comments for Report 5 were enhanced, because when DBCTL
is used, there are lots of non-mirror transactions with
RTYPE=D that belong to one unit-of-work, that show up in
Report 5 and that are correct and should use case 1.
-Eliminated the first step (and IEBUPDTE to create a temp
PDS for tailoring) by using the 16.04 design to override
instream.
Thanks to Harry Olschewski, DeTecCSM GmbH, GERMANY.
Change 17.322 -Parameter SYNC59 will correct the RMFINTRV interval for
EXRMFINT sites still stuck with SYNC(59) in SMFPRMxx in PARMLIB.
RMFINTRV Because MICS originally used the end-of-interval SMFTIME
VMXGRMFI to summarize data, they required the RMF interval to be
Nov 30, 1999 at 59 minutes rather than on the exact hour. This new
Dec 21, 1999 parameter will "correct" the STARTIME in PDB.RMFINTRV
by adding one minute to STARTIME and ENDTIME so your old
13:59 to 14:59 report shows 14:00 to 15:00.
-Member IMACKEEP was only included if PDB=SMF.
-Parameter IMACWORK=NO did not function in VMXGRMFI, and
it has been corrected, redefined, and redocumented in
member VMXGRMFI. The default IMACWORK=YES causes MXG to
use definitions in member IMACWORK to create workloads in
dataset PDB.RMFINTRV in addition to any workloads that
are created in the WORKnn= parameters in your %VMXGRMFI
invocation. Now, if IMACWORK=NO is specified, not only
is the INCLUDE of IMACWORK suppressed, but also the old
MXG workload variables (BATxxxx,TSOxxxx,..,OTHnxxxx) will
NOT be created in PDB.RMFINTRV; only the workloads that
you define in your %VMXGRMFI invocation will create
workload variables (but you can still create workloads
with those old prefixes in your invocation and they will
be kept).
-Member RMFINTRV now invokes %VMXGRMFI to create the data
set PDB.RMFINTRV, using the IMACWORK definitions, to
exploit the VMXGRMFI performance enhancements (by using
VMXGSUM, especially in SAS V8, when entire data steps can
be skipped due to the new PROC MEANS INHERIT feature).
-An example of how you can invoke VMXGRMFI multiple times
to create additional "RMFINTRV" datasets that are at the
Hour (RMFINTHR), or at the Shift (RMFINTSH), etc., are in
sample VMXGRMFI invocations in member RMFINTRV.
-If you have tailored EXRMFINT to provide labels for OTHxx
variables, your definitions will be used for RMFINTRV,
but if you use VMXGRMFI to create a different dataset
name (like RMFINTHR), you will first need to change the
OUTPUT in your EXRMFINT to read OUTPUT _LRMFINT ; cause
if you don't, you'll get a 455-185 error due to your old
OUTPUT statement in your old EXRMFINT member.
Thanks to Normand Poitras, Banque Nationale du Canada, CANADA.
Change 17.321 Support for IIS Log provides event records with identity
EXIISLOG of user, IP Address, byte counts, etc. in new dataset
IMACIISL IISLOG. This support reads the #FIELDS list of fields and
TYPEIISL populates only those variables in your log records. All
VMACIISL possible IIS Log variables are kept in IISLOG dataset, so
Nov 27, 1999 compression is strongly recommended to eliminate wasted
Dec 19, 1999 space, especially since many character variables are
defined as $64, but usually contain far fewer characters.
Of course you can always use MACRO _KIISLOG to drop any
unwanted variables as well.
Thanks to Xiaobo Zhang, Insurance Services Office, USA.
Change 17.320 The logic to detect the last-complete-interval-time to
ASUMTALO control SPINTALO was imperfect, and could cause part of
Nov 24, 1999 the data for an hour to be split into two separate obs
Dec 5, 1999 in two day's separate PDB.ASUMTALO datasets. The logic
Dec 20, 1999 was revised, which required a change in the sort order of
dataset PDB.ASUMTALO to now be BY DEVICE DEVNR ALOCSTRT.
In addition, we are now using SAS Views to "pipe" data
and avoid physical writing and then reading records.
This works fine, but prints notes on the log reading:
"A stored DATA STEP view cannot run under a different
operating system.", which has no impact.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 17.319 Landmark DB2 Version 3.0 caused INPUT STATEMENT EXCEEDED
VMACTMDB error, because MXG tried to input the CF fields (starting
Nov 24, 1999 with variable DABRH) that don't exist in that version.
The INPUT statement was revised.
Thanks to Paul P. van den Brink, MeesPierson, THE NETHERLANDS.
Change 17.318 Documentation. MXGTMNT TMNT010E WRITE FAIL RC=0024 will
ASMTAPES result if you try to create SMF records with MXG's Tape
Nov 24, 1999 Mount monitor, but have excluded that SMF record number
in your SMFPRMxx member. Depending on how your SYSPROG
chose to code the TYPE/NOTYPE, etc parameters, you may
have to update SMFPRMxx before you can write the SMF
record, and you'll get one of these messages for each
tape dismount and deallocation.
Thanks to Steve Smith, BMC, USA.
Change 17.317 ABEND 2415 due to no RECFM=U in //NULLPDS DD in SAS proc,
MXGSAS and message "INVALID RECFM is DCB NOT (U|F|V)" is printed
on your SYSMSG, if your SMS ACS allocation rules for new,
Nov 23, 1999 temporary PDS libraries leaves RECFM blank, and you are
Nov 29, 1999 using MXG 17.04 or later. The permanent fix from SAS is
Jan 31, 2000 in Usage Note G645 for V6, Usage Note 1651 for V8, is to
add RECFM=U to the //NULLPDS DD statement in SAS proc.
The ABEND was precipitated by MXG 17.04, which added an
INFILE read of //SOURCLIB during initialization, but as
SOURCLIB is also in SASAUTOS, SAS opened that DD, which
concatenates the //NULLPDS DD, and SAS cannot tolerate
a blank value for RECFM when an INFILE is opened.
The MXGSAS JCL Procedure was changed, but if you use
// EXEC SAS instead of // EXEC MXGSAS, you will need to
add RECFM=U to the //NULLPDS DD in the SAS procedure.
The //NULLPDS DD statement exists in the SAS JCL proc,
but it is there only for maintenance and testing, and it
and was included in MXGSAS only for consistency. That
default was changed from only DCB=BLKSIZE=6160, to now
DCB=(RECFM=U,BLKSIZE=6160).
Adding RECFM=FB to //NULLPDS fixed the ABEND and it was
my initial circumvention, because MXG 17.04+ reads from
the //SASAUTOS DD, which points to RECFM=FB datasets.
Now, SAS Technical Support and I now agree that RECFM=U
is slightly the better choice: Both work fine now, but
NULLPDS is also used in //STEPLIB, which is read by IBM
programs, so using RECFM=U protects if a future OS/390
release decides not to tolerate RECFM=FB in STEPLIB.
Thanks to Mike Kepler, Wright State University, USA.
Thanks to Phil Wise, Wright State University, USA.
Thanks to Eladio Aviles, Arizona Public Services, USA
Change 17.316 WARNING: BIT MASK TOO LONG, TRUNCATED ON THE LEFT occurs
VMAC80A if two bytes of bits are compared with a one byte field,
Nov 23, 1999 but the warning is not detected by the compiler, and it
give no clue as to which statement is in error, which was
introduced in Change 17.094 decoding of keyword bits.
Three tests for KW08AUDT, 8 tests for KW25SPEC, and two
tests for KW25ADSP were stripped of the right eight dots.
eg, the line IF KW25ADSP='........1........'B THEN ...
now reads IF KW25ADSP='........1'B THEN ...
Thanks to Joe Faska, Depository Trust, USA.
Change 17.315 MXG 17.08 only. I introduced typos into IMS Log members
ASMIMSL6 when I updated the MXG library from the tested members,
ASMIMSL5 and one more houskeeping statement was added to TYPEIMSA:
ASMIMSLG - TYPEIMSA:
TYPEIMSA Semicolon was missing in this statement:
Nov 22, 1999 IF MTYPE EQ: 'T' THEN STRTTIME=GUTIME; /*RESET....*/
Nov 23, 1999 New statement ENDTIME=STRTTIME; was inserted after
the WSRVTS=ENDTIME-NEWSQ6; statement (line 864).
- ASMIMSL6/L5/LG: Three statements must be changed:
BNZ P301000I should be BNZ P031000I.
CLI MTYPE+3,=C'P' should be CLI MTYPE+3,C'P'
MVI MTYPE+3,=C'T' should be MVI MTYPE+3,C'T'
- ASMIMSL6:
Blank line before label P031000C must be removed.
I thought that my revisions had been re-tested before
MXG 17.08 was sent, but it is now painfully obvious that
they were not!
Thanks to Alan Green, Zurich, ENGLAND.
Change 17.314 The de-accumulation of the Web Server TYPE1032 data was
VMAC103 expanded to BY SYSTEM HOSTNAME IPADDRES PORTNUMB SMFTIME;
Nov 19, 1999 because you can have two copies of the server running in
the same host with same IP Address, differing only in the
Port Number.
Thanks to Joe Faska, Depository Trust, USA.
Change 17.313 Tests for STC11CI, STC11CE, and STC11TOL should have been
VMACSTC IF STC11xx='.......1.B THEN DO .... instead of ='01'.
Nov 17, 1999 Variables were blank without this change.
Thanks to Herb Strazinski,
Change 17.312 The _KSU70PR "Keep/Drop" macro was not referenced in the
ASUM70PR building of ASUM70PR dataset, so variables could not be
Nov 17, 1999 dropped. The token _KSU70PR was added inside the parens.
Thanks to Gary Morris, Centre Link, AUSTRALIA.
Change 17.311 If you had an old IMACPDB from before MXG 16.04, you can
SPUNJOBS get and error DATASET CONDCODE NOT FOUND. Removing your
Nov 12, 1999 old IMACPDB and instead using the new %LET ADDnn= macro
variables will correct the error, but this change also
protects by using the same logic in BUILD005 to create a
zero obs CONDCODE dataset.
Thanks to Rudolf Werner, Audi Ag, GERMANY.
Change 17.310 Input statement #25 (STIVSR36-STIVSR44) should have been
VMACCADM #25 (STIVSR37-STIVSR44).
Nov 12, 1999
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.309 The remaining subtypes of CA-VIEW Metrics have now been
VMACSARR validated and corrected. Segment tests were change to
Nov 12, 1999 IF SV31xOF+SV31xLN-1 LE LENGTH AND SV30xLN GE 1 THEN DO;
and the input of SV30IVAL now uses SV30IVLN vice SV30INLN
to eliminate INPUT STATEMENT EXCEEDED on some subtypes.
Thanks to Bruce Sloss, PNC Bank, USA.
======Changes thru 17.308 were in MXG 17.08 dated Nov 12, 1999======
Change 17.308 Support for the SQL*NET Network Information Vector, added
VMACORAC to the Oracle user SMF record. New variables IPADDR and
Nov 12, 1999 PORTNR for TCP/IP connnections or NIVNETNM and NIVLUNAME
for SNA connnections are created and kept.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch, USA.
Change 17.307 Support for APAR OW41147 to recognize ORGEXPDT=0099999 as
VMACDCOL a "valid" migration date when creating variables DCDEXPDT
Nov 12, 1999 and UMEXPDT. This change (insert before ORGEXPDT=9999999
in two places the line ORGEXPDT=99999 OR ) corrects
SAS dates to be "MXG infinite" date in 2099 instead of to
be missing in DCDEXPDT or UMEXPDT. However, the variable
ORGEXPDT is unchanged, so you can use your current MXG to
examine your DCOLLECT datasets DCOLDSET and DCOLMIGS, and
if you have any datasets with ORGEXPDT=99999, then you
MUST either install that APAR or follow its instructions
to prevent unexpected loss of any SMS dataset with its
ORGEXPDT=99000 on Jan 1, 2000. What is critical is that
you read the APAR and see if it has impact on our site.
This MXG change is not required for year 2000 support in
MXG Software.
Change 17.306 Support for CA VIEW Metrics report program SARSMFUX SMF
EXSARR20 records create seven datasets:
EXSARR21 Dataset Label
EXSARR30 SARRU20 User Logon
EXSARR31 SARRU21 User Logoff
EXSARR32 SARRU30 Report was viewed
EXSARR33 SARRU31 Report was reprinted
EXSARR34 SARRU32 Report was loaded to database
TYPESARR SARRU33 Report was deleted
TYPSSARR SARR&34 Report was deleted from disk
VMACSARR
Nov 11, 1999
Thanks to Bruce Sloos, PNC Bank, USA.
Change 17.305 Support for RACF General Resources Started Task subtype
EXRAC540 540 in RACF Database Unload Utility IRRDBU00 file.
IMACRACF
VMACRACF
Nov 11, 1999
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 17.304 Counts could be negative in TYPE1032 Web Server dataset,
TYPE103 because the accumulated counters are reset each time the
TYPS103 server is "bounced". Now, MXG interleaves the subtype 1
VMAC103 (start) and 2 (interval) records to eliminate negative
Nov 11, 1999 values. Additional protection prevents negative values
if a subtype 2 is read before a subtype 1, or if data
records were lost, for the first subsequent record.
Member TYPE103 or TYPS103 both now invoke the DIFF103
member to sort both TYPE1031 and TYPE1032 datasets.
(So the //PDB ddname is required for TYPE or TYPS103).
Thanks to Joe Faska, Depository Trust, USA.
Change 17.303 IMF DB2 counts are lost in datasets CIMSTRAN and CIMSDB2
VMACCIMS in MVIMF 3.2, because BMC enabled IOWAITS by default,
Nov 11, 1999 which puts some SQLCALLS in a new, undocumented DBORG=00x
Nov 19, 1999 DBD segment, instead of the documented DBORG='80'X DBD.
Sep 15, 2000 IOWAITS is the MVIMF Event Collector DBIO initialization
parameter, and the new 00x segment accounts for sync
point write activity and is also flagged by the
PLANNAME='ALLDBS'. MXG previously only knew about the
80x DBD, so the new 00x segments were decoded incorrectly
and output to the CIMSDBDS instead of CIMSDB2. And while
MVIMF documentation said there would be only one '80'x
segment, logic was added to sum SQLCALLS for these
multiple segments into CIMSTRAN. The drop in SQLCALLS
coincided with installing IMF 3.2.61.
This change was not correct. See Change 18.225.
Thanks to Winfried Waldeyer, BHF Bank, GERMANY.
Change 17.302 Format $MG074PT expected 'F1'X or 'F3'X, but actual data
FORMATS values are '01'X or '03'X, so the format now supports
Nov 11, 1999 both formats, just in case.
Thanks to Alan M. Sherkow, I/S Management Strategies, Ltd., USA.
======Changes thru 17.301 were in MXG 17.08 dated Nov 10, 1999======
Change 17.301 Variable DURATM was not created in PDB.CICS built with
ASUMCICX member ASUMCICX. Insert DURATM=INTERVAL, before the
Nov 10, 1999 INTERVAL=HOUR, macro argument.
Thanks to Alan Deepe, Perot Systems Europe, ENGLAND.
Change 17.300 If DB2 stays up long enough, and does enough SELECTs, the
ANALDB2R four-byte accumulated counter in the type 100 SMF records
VMACDB2 can wrap, causing MXG to create a negative value when it
Nov 10, 1999 DIF()'d the adjacent observations. Now, each DIF() is
followed by a test for four-byte wrapping of the form:
IF . LT Qxxxxxxx LT 0 THEN Qxxxxxxx=Qxxxxxxx+4294967296;
in member VMACDB2 (the "DIFFDB2" logic was relocated into
the _SDB2xxx sort macros in MXG 16.04 redesign). Also,
several fields in MXG's ANALDB2R reports were not wide
enough for large values, causing SAS to print exponential
notation (valid, but confusing to neophytes), so they are
now expanded along with other minor report revisions.
Thanks to Victor Chacon, Bell Atlantic Mobile, USA.
Change 17.299 MXG Variable CECSER is created by substringing the last
VMAC7072 four nybbles of the three byte CPUSER to get the hardware
Nov 9, 1999 serial number of the "CEC" or "CPC", (i.e., the box), but
Nov 10, 1999 CPU segments have been found with 'E03333'X instead of a
valid CPU Serial Number. These segments are all flagged
for an engine "not online at the end of the interval", or
"came online during the interval", and the CPUSER is not
valid in those instances. So now, MXG sets CECSER only
IF CECSER GT '000000'X AND CAI EQ '......01'B THEN ...
so that only CPUs that were online at the end of the
interval and had not come online during the interval
will be used to set the CECSER. Note, however, that
CPUSERnn (CPUSER stored into a serial number for each
CPU) will still contain whatever CPUSER value was in
its CPU segment if CAI had any bits turned on.
Thanks to Linda S. Berkley, Amdahl, USA.
Change 17.298 Batch Pipes datasets TYPE9112, TYPE9113, and TYPE9115 now
FORMATS contain the Input and Output counts summed from all of
VMAC91 the IEC and OEC connection segments for the End, Close,
Nov 9, 1999 or Delete events, and the Highest Error Code from those
Nov 27, 1999 connection segments. Format $MG091EC was also updated.
Nov 27: additional formats added to $MG091EC.
Thanks to Michael Oujesky, MBNA Hallmark Information Services, USA.
Change 17.297 Support for unix PerfMeter Freeware Monitor that creates
EXTYPMTR interval resource data on CPU, PKTS, PAGE, SWAP, INTR,
IMACPMTR DISK, CNTXT, LOAD, COLLS, and ERRS rates in new dataset
TYPEPMTR PERFMETR. This monitor is free from Sun MicroSystems,
TYPEPMTR for their unix.
VMACPMTR
VMXGINIT
Nov 8, 1999
Thanks to Michael Lefkofsky, Wayne State University, USA.
Change 17.296 The de-accumulation logic in DIFFTPX caused NOT FOUND as
DIFFTPX was not updated; now it has only _STPXINT invocation, as
Nov 8, 1999 deaccum is now done in the data set sort macro.
Thanks to Mike Shapland, PKS Information Services, Inc.
Change 17.295 The creation of ZDATE in this VMAC member was replaced by
VMACCTLT %%INCLUDE SOURCLIB(IMACZDAT); to be consistent with the
Nov 8, 1999 rest of MXG VMACs. The ommission was an oversight.
Thanks to Steve Clark, California Federal Bank, USA.
Change 17.294 MXG 17.06 added macro _CICXC13 to support excluded fields
IMACEXCL for CICS/TS 1.3, but the "END; /* END CICS TS 1.3 ..."
Nov 8, 1999 line number 547, must be deleted to use the 1.3 Excludes.
Thanks to Alan Deepe, Perot Systems Europe, ENGLAND.
Change 17.293 TYPEIMSA did not include member IMACKEEP; now it does.
TYPEIMSA This should have been included in Change 17.228 but was
Nov 8, 1999 overlooked.
Thanks to Gilles Fontanini, SAS Institute, FRANCE.
Change 17.292 Variable SMF6DDNM contains hex zeros for DDNAME in some
IMAC6ESS type 6 SMF records (perhaps spin data sets?), but the ESS
VMAC6 segment appears to have the DDNAME in the SWBTU text, so
Nov 5, 1999 this change inputs new variable SMF6TUDD from ESS segment
and stores SMF6TUDD into SMF6DDNM if SMF6DDNM is blank or
nulls. I'm still seeking the DSECTS for the SWBTU, and
the ESS segment itself is incorrectly documented in the
SMF manual and the DSECT, to make sure this is permanent.
Thanks to Hartmut Richter, BASF Computer Services GmbH, GERMANY.
Change 17.291 -Variable PERFINDX in dataset TYPE72GO was non-zero when
EXTY72DL it should have been missing for Service Classes with a
EXTY72GO Percentage goal. MXG calculated PERFINDX even when there
VMAC7072 were no transactions completed in the interval. Now, the
Nov 5, 1999 statement ELSE IF R723CRGF='P' THEN DO; was changed to
read ELSE IF R723CRGF='P' AND TRANS GT 0 THEN DO; so that
PERFINDX will be missing when TRANS=0. Additionally,
PERFINDX was not reinitialized for each Period, and thus
it could have been carried forward as non-zero when it
should have been missing. However, PERFINDX will always
be missing in Reporting Class (RPRTCLAS='Y') observations
and in observations for Service Classes that have System
or Discretionary Goals (R723CRGF='S' or 'D'). PERFINDX
will also be missing if the percent of transactions that
meet the goal falls into the 14th (last) bucket, which
make it impossible to calculate the PERFINDX. On RMF
reports, IBM prints four asterisk for the index; you
can recognize these cases in MXG because R732CRGF='P',
PERFINDX=., but TRANS or TRANSEXC will be non-zero.
-Observations were output in TYPE72GO for Service Classes
that had no resources nor transaction completions. The
variable NOACTVTY was non-zero (indicating activity) when
it should have been zero. Logic in VMAC7072 was revised
so R723RESS (trans states sampled) is no longer included
in NOACTVTY, and VELOCITY and PERFINDX are initialized
for each period (they were propagated into subsequent
periods in the same record that had no activity), and the
logic in EXTY72GO now tests only
IF NOACTVTY GT 0 THEN OUTPUT _WTY72GO;
-Observations were also output in TYPE72DL where there
were no delay samples. Now, EXTY72GO was revised so that
observations are only output in TYPE72DL when R723RESS is
non zero (i.e., there were transaction states sampled).
Thanks to Tan York Sin, Stock Exchange of Singapore, SINGAPORE.
Change 17.290 MXG 17.07 IMS code still had negative RESPNSTM/SERVICETM
ASMIMSLG in 5704 (out of 130000) IMS transactions. Data records
ASMIMSL5 for this (yet another!) unique sequence of IMS log events
ASMIMSL6 plus lots of detailed digging thru mounds of data allowed
JCLIMSLG Carl to enhance MXG for these new IMS idiosyncrasies:
JCLIMSL5 1. TYPEIMSA corrected 5411 of the negative cases, which
JCLIMSL6 included all of the negative RESPNSTM values. Logic
TYPEIMSA added protects when ENDTIME is less than GUTIME. This
Nov 10, 1999 left 293 transactions with negative SERVICTM.
2. ASMIMSLx assembly program revision protects cases when
IMS rerouting exits change destinations causing the
IMS communications manager to do the get unique of a
message that was originally destined to an SMB. The
change sets MTYPE='PTOT' for messages GU'd by comm.
So you must re-assemble the ASMIMSLG/L5/L6 program for
your version of IMS to correct this problem, which
corrected 291 cases of negative SERVICETM.
3. TYPEIMSA corrected the remaining two cases of negative
SERVICETM was to change the reset of STRTTIME=GUTIME
for all transactions, to use that reset only for MTYPE
starts with T, and otherwise reset STRTTIME=ENQTIME
for cases such as MTYPE='PTOT' in which the GU happens
ascynchronous to the end of the transaction.
4. The SORT statement in STEP02 of the JCL examples needs
to be changed. The "35,8" entry, for the message
arrival time, is changed to "43,8" so that the enq
timestamp is used to force the records in absolute
order (because the arrival timestamp can be zero, as
for 03 output record messages for PTOT transactions).
In summary, you need to reassemble ASMIMSLx, use the new
TYPEIMSA, and change the SORT parameter in your JCL.
The cause of the 291 negatives is documented in IBM APAR
PQ01976; they result when the site uses the IMS Input
Message Routing Exit, DFSNPRT0, to reroute a message that
was originally destined to an SMB instead to a CNT. In
this case, a multisegment IMS log 03 record has MSGDFLG2
indicating a program-to-program message switch ('81'X),
but the Exit changed the destination from another SMB to
the CNT of an IBM 3614 cash dispensing ATM terminal, so
the message is picked up by the IMS communications
manager instead of by DLI, so the get unique from the
message queue for that message is represented by a type
31 record that has a QLGUFLGS ('A0'X), indicating it's
pretty much just a normal output message, but the
resultant mismatch in log coding created a transaction
record with negative value for SERVICTM variables in
IMSTRAN. The PTF associated with IBM APAR PQ01976 does
NOT correct the log records; it only prevented IBM's
merge utility DFSLTMG0 from ABENDing (as it did when it
first saw this sequence of IMS log records!).
Thanks to Carl Meredith, SAS Institute ITSV Development, USA.
Change 17.289 Labels for several sets of TYPE71 variables AV/MN/MX
VMAC71 suffixed, now contain "*USED", to clarify which are the
Nov 3, 1999 usage measures and which are capacity measures.
Thanks to Forrest Nielson, State of Utah, USA.
Change 17.288 Variable TOTSHARE was removed from the DROP statement so
ASUM70PR it will be kept, as it may be useful to recalculate the
Nov 3, 1999 original system weights.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.287 Revised Support for SMF Type 90, TYPE90A/VMAC90A should
EXTY9001 be used instead of the old TYPE90/VMAC90 members, which
EXTY9003 will no longer be updated. That old architecture kept
EXTY9004 all variables from subtypes 1-26 in the TYPE90 dataset,
EXTY9005 which not only wastes DASD space, but always requires a
EXTY9006 subset operation to select the observations you want.
EXTY9008 The TYPE90 code was the first written when subtypes were
EXTY9010 added to SMF records, and when there were only a few and
EXTY9011 they were similar in content, it made sense to create one
EXTY9012 TYPE90 dataset, and when new subtypes were added it was
EXTY9014 easier to add variables to an existing data set than to
EXTY9016 create a new data set, but now with 31 often-dissimilar
EXTY9017 subtypes, this "redesign with hindsight" is the righteous
EXTY9018 way it should have been done in the first place, as it
EXTY9019 creates 26 separate datasets, TYPE9001-TYPE9031, one for
EXTY90.. each of the operator commmand events, with only variables
EXTY90.. from that event kept in that TYPE90nn dataset. There was
EXTY9030 no complaint with the old design, since everything that
EXTY9031 was supported was in the old TYPE90 dataset, but the need
IMAC90A to support the new subtypes (27 and above, plus some that
TYPE90A per previously missed) motivated the redesing. Now all
TYPS90A subtypes are decoded, except for data segments of subtype
VMAC90A 24 and 31 (no request, no test data, complicated, shelve
Nov 3, 1999 until someone want's to us them).
Thanks to Philip Foster, Desjardins, CANADA.
Change 17.286 MXG Support for FICON Channels was wrong. Variables
VMAC73 PCHANBY/PNCHANBY were incorrectly calculated for FICON,
Nov 2, 1999 and Percent Bus Busy, PBUSBY was not even created, and
variables SMF73PRU/PWU/TRU/TWU are recalculated to now
contain read/write lpar/total rates in bytes per second,
formatted with MGBYTRT to print KB/Sec, MB/Sec, etc, to
match IBM RMF reports, now that I have test data and RMF
reports for validation!
Thanks to Joseph Rannazzisi, Salomon Smith Barney, USA.
Change 17.285 New NPM 2.4 field LSCDIPNM (IP Name) was input for all
VMAC28 records but is valid only if resource type is 'IP', so
Nov 1, 1999 that field will now be blank if not an 'IP' record.
Variable LSCDUSER is blank if LENCOF is 112, which is the
documented length for VM Session Configuration (SMF28SCD)
records, and other LSCDxxxx fields are only input if the
record is for Session Managers.
Thanks to Robert A. Brown, Arthur Andersen, USA.
Change 17.284 Support for TRMS Version 51A08 changes (COMPATIBLE) to
EXTRMS05 their user SMF record. New fields were added to subtype
VMACTRMS 3 and 4 datasets TMRS03 and TMRS04, and new subtype 5
VMXGINIT record creates new dataset TMRS05, 'Browse Tracking'.
Oct 28, 1999 The S0nACCT character variables are now formatted as
$HEX64, because the contain non-printable characters.
The length of new fields S05KEY is not defined in the
dsect, but was found to be 14 bytes in this site's data
record. It's length, T00KLEN is set somewhere else and
could be different; we're investigating.
Thanks to Carol King-Baer, Vanderbuilt University, USA.
Change 17.283 Format $MG091EC now decodes Batch Pipes error codes in
FORMATS variables SMF91IEC and SMF91OEC.
VMAC91
Oct 28, 1999
Thanks to Michael Oujesky, MBNA Hallmark Information Services, USA.
Change 17.282 Protection for bad type 80 record was not robust if MXG
VMAC80A got out of alignment and thought it had a bad record; it
Oct 27, 1999 could STOPOVER abend instead of gracefully deleting that
bad record, but protection logic from WHEN (00) was also
added in OTHERWISE DO; logic to eliminate the abend.
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Change 17.281 Support for DFSMS/MVS V1R5 is already in place, as there
VMACDCOL were no changes in the DCOLLECT records in 1.5.
Oct 26, 1999
Change 17.280 Support for Landmark DB2 Monitor Version 3.2 (INCOMPAT).
EXTMDD7 Many new variables were added to existing MXG datasets
EXTMDD7B TMDBDB, TMDBDA2, TMDBDAB, TMDBDBB, TMDBDBF, TMDBDBK and
EXTMDD7P TMDBDE2, and TMDBD6, and the new 'D7' record creates new
VMACTMDB TMDBD7, TMDBD7B, and TMDBD7P datasets. This version has
VMXGINIT lots of new stuff, including pairs of duration/counts of
Oct 26, 1999 many waiting-for-something's. Since Landmark inserted
new fields instead of adding at the end, you must install
the change to process Version 3.2 or higher data. Using
an earlier MXG version for TMDB Version 3.2 records will
cause the job to fail with many errors!
Thanks to John Enevoldson, Ellos AB, SWEDEN.
Change 17.279 CICS Statistics "EOD" records do not contain a duration,
UCICSCNT even though the "EOD" records is just the Interval Record
VMAC110 since the last "INT" record. (The "EOD" is written at EOD
Oct 24, 1999 but DOES NOT contain the entire day's data!). With no
Oct 27, 1999 DURATM, MXG sets STARTIME=COLLTIME (SMFTIME), so while
all of the obs are really there in the MXG data set, it
looks like the 9pm interval was missed with STARTIME:
STARTIME COLLTIME SMFSTRQT
31OCT:15:00 31OCT:18:00 INT
31OCT:18:00 31OCT:21:00 INT
1NOV:00:00 1NOV:00:00 EOD
1NOV:00:00 1NOV:03:00 INT
While STARTIME is wrongly equal to COLLTIME in the "EOD"
interval record in CICxxxxx Statistics datasets built by
the TYPE110/BUILDPDB programs, STARTIME is set correctly
in the PDB.CICINTRV dataset that is created from nineteen
of the "raw" CICS Stat datasets by the member CICINTRV:
-It constructs true intervals from INT/EOD/USS/REQ/RRQ
records, some of which are intervals and some of which
are accumulated, and by sorting and merging, it creates
the correct STARTIME of each interval.
-Fifteen CICS statistics datasets that are used in the
creation of PDB.CICINTRV are created one-per-interval,
so they are merged into PDB.CICINTRV with no loss of
detail; thus there should be no need to use these "raw"
CICxxx datasets with wrong STARTIME in their EOD record
because they are redundant with PDB.CICINTRV:
CICAUTO CICDMG CICDQG CICDS CICDTB CICLDG
CICM CICSDG CICST CICTC CICTDG CICTM
CICTSQ CICVT CICXMR
-Four CICS statistics datasets used in the creation of
PDB.CICINTRV have multiple observations per interval
CICDQR CICFCR CICTCR CICTSR
(i.e., CICFCR has an observation for each File). Some
useful counters are summed per interval and merged in
PDB.CICINTRV, but detail observations are likely needed
to be kept in your PDB, and you will have to live with
the incorrect STARTIME in the EOD obs.
So why not fix IBM's ommission (which was designed this
way and not likely to change)? Because the only way to
correct it would be to add a PROC SORT and DATA step for
each stat dataset to re-construct the correct STARTIME,
and that seems an unnecessary expense at this time.
However, the architecture of each _Sdddddd macro would
make this possible, so if this remains a problem for you,
let's discuss this as a future enhancement.
The initial "Missing 9pm Interval" report was thought to
be a real data loss, but that possibility was eliminated
when there were no messages that CICS had suspended write
to SMF. But to re-document what might happen:
When CICS cannot send data to the SMF address space, you
get "DFHMN0101 CICS COPYNAME SMF RC '0028'X" or
"DFHST0103 CICS COPYNAME SMF RC '0028'X" messages
on both SYSLOG and the JOBLOG of that CICS region. The
MN message says CICSTRAN (subtype 1) records were lost,
the ST message is for Statistics (subtype 2) records.
This happens briefly when SMF Buffers are being expanded
or when SMF SWITCH occurs (because both are serialized
functions under the single SMF TCB). By scheduling the
SMF dump/SWITCH away from the interval pop, its impact
may be eliminated. By increasing the size of your SMF
buffers with APAR OW12836 (increases minimum from 1MB
to 8MB, which might eliminate the need for expansion;
increases the maximum from 32MB to 128MB; and increases
each increment from 1MB to 8MB so there are fewer buffer
expansions and fewer exposures to data loss) you may be
lucky and avoid the problem, until IBM responds to the
SHARE requirement to fix this design!
The only code change was an enhancement to the UCICSCNT
program that counts CICS records by APPLID and type; a
new reports details Statistics counts by STID and record
so I could tell if stat data really was lost!
Thanks to David Lyle, Total System Services, USA.
Change 17.278 Support for APAR OW40570/OW41407 for SMF 42 Subtype 4
VMAC42 adds S42CVLUX to contain the 4-digit UCB address in MXG
Oct 22, 1999 dataset TYPE42CV. The existing 3-digit S42CVLUA variable
contains 'UCB' for any 4-digit UCB address!
Change 17.277 Documentation only, no code was changed. TYPE94 data
VMAC94 fields VMV/VPS/VPM/VPR/VMP/VBW/VBR/VTW/VTR will be zero,
Oct 22, 1999 and fields VBA/VEC/VLA/VNM/VCA/VCZ will stop accumulate,
if the screen on the PC that is attached to the VTS/ATL
and that is collecting those physical back end activity
counters is minimized! Discussions with IBM in progress.
Change 17.276 New Format $MGTCPFM decodes the FTPDATFM data format
FORMATS variable (ASCII/EBCDIC/IMAGE/DOUBLE-BYTE/UCS-2) values.
VMACTCP Variable FTPDSNA2 is no longer kept in TYPETCPC dataset
Oct 22, 1999 (FTP Client), as that field exists only in TYPETCPF
(FTP Server), and was filled with hex trash.
Thanks to Jason Cooley, CITICORP, USA.
Change 17.275 Reading type 39 SMF records directly from VSAM SMF file
VMAC39 failed because the calculation of offset for two optional
Oct 21, 1999 triplets did not include (+OFFSMF).
Thanks to Bruce Hudson, Payless Cashways, USA.
Change 17.274 The symbolic &TAILOR and its //TAILOR DD were removed
JCLTEST6 from the MXGSAS example JCL procedure, because in a few
MXGSAS sites either SAS 180 errors or USER ABEND 2415 occurred
Oct 20, 1999 due to (strange?) problems, and so I've decided that the
optional tailoring library is more pain than value, as
no one really used it anyhow!
Thanks to Richard Phelps, Arizona State University, USA.
Change 17.273 The estimated length of tape, DSNBFEET and TAPEFEET, was
TYPETMS5 non-zero when BLKSIZE=0 because the two calculations in
Oct 20, 1999 TYPETMS5 did not match the logic in VMACTMS5, so tests
for BLKCNT GT 0 and BLKSIZE GT 0 AND RECFM conditions
in VMACTMS5 were added to calculations in TYPETMS5.
Thanks to Pat Moffett, CMX Group, USA.
Thanks to Patsy Hildreth, CMX Group, USA.
Change 17.272 Calculation of variable OVRSPPC6 incorrectly used the
VMACNSPY 3270 buckets instead of the LU6.2 buckets. It should be:
Oct 20, 1999 OVRSPPC6=100-T1RSPPC6-T2RSPPC6-T3RSPPC6-T4RSPP6;
Thanks to Julian Smailes, Experian Limited (UK), ENGLAND.
Change 17.271 This utility was developed to show you how your IMACWORK
UTILRMFI definitions cluster PERFGRP or SRVCLASS into the workload
Oct 18, 1999 variables in RMFINTRV dataset. It shows where the type72
CPU times came from, using your IMACWORK, and it also
reads type 30s to show SRVCLASS/RPTCLASS/JOB CPU times.
The utility is needed when your RMFINTRV execution prints
error messages that your workload definition CPU time
does not match the true CPU time in SRVCLASS/PERFGRPS.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.270 Support for APAR PQ28258 for the SMF type 103 record that
VMAC103 was created by Internet Connection Secure Server (R3,R2)
Oct 18, 1999 and then by Lotus Domino Go Webserver for OS/390 (R4-R6),
May 31, 2000 now named WebSphere Application Server OS/390 (R7-R8),
(and now May, 2000 sub-titled HTTP Server Version 5.2),
adds many new statistics, including five sets of avg/min
max response times for DNS, Plugins, CGI, SSL, & Proxy,
to subtype=2 record in dataset TYPE1032.
Change 17.269 Long ago, when I observed that the total device pending
VMAC74 time (PCTDVPND) was more than the sum of its two parts,
Oct 18, 1999 Pend for Device (PCTPNDEV) plus Pend for CU (PCTPNCUB),
Dec 16, 1999 I stored the difference as the Pend for Chan (PCTPNCHA).
But when IBM added Pend for Director Port (PCTPNDIR), I
did not treat that as a component of PCTPNCHA, and now I
measure there still is a difference between the Total and
its components, so I now:
- Store Pend Dir Port into PCTPNCHA/DLYCHATM variables
and changed their labels to be Chan Dir Port delay
- Calculate the Other Pending PCTPNOTH/DLYOTHTM as
PCTPNOTH = PCTDVPND - (PCTPNDEV+PCTPNCUB+ PCTPNDIR)
Other Pend = Total - (Device + CU + Dir Port)
Independent of this change, type 74 data records with
Total Pend Time (SMF70PND) of 28 seconds but Pending for
Device component (SMF70DVB) was 37 seconds are written
occasionally for devices simulated in an EMC box. The
error causes PCTPNOTH to be negative (and, before this
change, PCTPNCHA was also negative because it used to
be the same as PCTPNOTH). We have also seen similar, but
much smaller differences, for tape devices.
Thanks to Robert Girard, EMC, USA.
Change 17.268 Variables UBCOMPR UBUSRSIZ UBCMPSIZ were INPUT but were
VMACDCOL not in the KEEP= list for dataset DCOLBKUP. Now they are.
Oct 18, 1999
Thanks to Alastair Gray, Philip Morris EDC, SWITZERLAND.
Change 17.267 The VTS report program was corrected; while its example
ANAL94 in comments worked fine, invoking %ANAL94(PDB=SMF); to
Oct 13, 1999 read SMF to produce reports did not produce! Parameter
REPORT=HOURLY is now the default, so that a report will
now always be produced, plus other cleanup.
Change 17.266 The "GT" was changed to "GE" so all lines now read
VMACHARB IF HH GE 0 AND MM GE 0 AND SS GE 0 THEN ....
Oct 11, 1999 because the "GT" caused some missing timestamps.
Nine flags, AXR0nFL1, are now formatted $HEX2.
Thanks to Patsy Hildreth, CMX Group, USA.
Change 17.265 The VMXGSUM error in Change 17.264 is corrected, by
VMXGSUM relocating the ALLVARS initialization higher up in the
Oct 11, 1999 logic; it was bypassed when INCODE= was not used, and
was blank when it should have had a list of variables.
When &ALLVARS was blank, VMXGSUM generated code was
PROC MEANS; VAR ; OUTPUT OUT=X SUM(A B C);
(i.e., a VARIABLES statement with no variables).
This PROC MEANS failed "NO ANALYSIS VARIABLES" with
SAS V6, but under SAS Version 8, it ran just fine!
Exactly why is under investigation; but I think it is
enhancements SAS made under SAS V8: in this specific
PROC MEANS invocation, a VAR statement is not needed
because the SUM(A,B,C) syntax provides the names, so
SAS V8 ignored the unneeded VAR statement?
In any event, VMXGSUM now always populates ALLVAR with
the list of variables so it won't be blank.
======Changes thru 17.264 were in MXG 17.07 dated Oct 8, 1999======
Change 17.264 The VMXGSUM of Change 17.255 was never put in MXG 17.07,
VMXGSUM because it was not correct. MXG QA under SAS V8 had no
XMXGSUM errors, so 17.07 was built, but final QA with SAS V6
Oct 8, 1999 found errors in VMXGSUM that were not caught by V8, so I
removed VMXGSUM for the MXG 17.07. Note that 17.255 was
reinstated by Change 17.265 in MXG 17.08.
Change 17.263 Support for Domino Server SMF type 108 record creates
EXTY1081 three new datasets from subtype 1 interval records:
EXTY108P Dataset Description
EXTY108T TYPE1081 Server Statistics
IMAC108 TYPE108P Port Statistics
TYPE108 TYPE108T Transaction Statistics
TYPS108 Additional development work is ongoing by IBM so you can
VMAC108 anticipate additional measurements for Domino soon.
Oct 8, 1999 Domino Release R5.0 & R5.01 are supported by this change.
The type 108 record originated with Lotus Notes Domino
Server, and was primarily a mail server for Lotus Notes,
but now the Lotus Domino Server provides services for
Notes, and contains its own HTTP server & JAVA function.
Note that the Websphere Application Server HTTP Server
is the product that creates the SMF 103 record.
Thanks to John Milne, Suncorp Metway, AUSTRALIA.
Change 17.262 Revisions in DAILYDSN to use TYPSDCOL instead of TYPEDCOL
DAILYDSN (so the PROC SORT and NODUP logic would be taken from the
Oct 8, 1999 VMACDCOL instead of being coded in DAILYDSN) wrote the
output to the //PDB instead of the expected //DATASETS.
By inserting %VMXGINIT(DEFAULT=DATASETS); before the
include of TYPSDCOL, the default PDB becomes DATASETS and
DAILYDSN now works as it did previously.
Thanks to Craig Gifford, City of Lincoln, USA.
======Changes thru 17.261 were in MXG 17.07 dated Oct 7, 1999======
Change 17.261 Unexpected Expiration date of 2099366 (also invalid, as
VMACDCOL 2099 is not a leap year) was found, and caused missing
Oct 7, 1999 value for DCDEXPDT/UMEXPDT. The logic was revised to add
test (YREXPDT=199 AND DAYEXPDT GE 365) OR in two places
so that the '31DEC2099' infinite MXG date is stored in
DCDEXPDT or UMEXPDT.
Thanks to Jens Mohring, HUK Coburg, GERMANY.
Thanks to Harald Seifert, HUK Coburg, GERMANY.
Change 17.260 NTSMF SQLServer Objects Cache Manager, Databases, Locks,
VMACNTSM and User Settable were corrected (NRNAMES and/or NRDATA,
Oct 5, 1999 and NRNAMES=NRNAMES-1 was added) and validated with data.
Thanks to Leigh Ann Payne, Wachovia Operational Services, USA.
Change 17.259 Landmark PTF TD01655 for TMON Version 2 added fields
VMACTMV2 COMPATIBLY to the CI and JD records:
Oct 5, 1999 -Variables CICSALUB,CIECSLUB added to TMVSCI dataset.
-Variables (enclave CPU times)
JDDECPU JDENCSU JDENCTR1 JDENCTR2 JDIECPU JDJDECPU
JDJENCSU JDJIECPU JDSDECPU JDSENCSU JDSIECPU JDSWPRSN
were added to TMVSJD dataset.
-Variables
JDOPRID JDOSTCK
were added to TMVSJDOM dataset.
Thanks to ???, IDUNA NOVA, ITALY.
Change 17.258 The trending of ASUMUOW into TRNDUOW failed with error
TRNDUOW TREND.TRNDUOW.DATA DOES NOT EXIST because the statement
Oct 4, 1999 OPTIONS NODSNFERR; should have been at the start of the
TRNDUOW member. "No DSN Not Found" option protects the
first-time execution of TRND members, but was left out of
the TRNDUOW member.
Thanks to Tom Marchant, Wayne State University, USA.
Change 17.257 Variable SMF26WIN, a bit map, is now formatted $HEX2.
VMAC26J2
Oct 4, 1999
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.256 This revision, used by UTILGETM, allows you to read an
VMXGGETM SMF file and report on the contents by type, subtype, and
Oct 4, 1999 system, using PROC TABULATE. If you specify SMFOUT= a
null string, and specify FREQ=YES, the report is created.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.255 This revision adds new statistics (notably percentiles)
VMXGSUM in VMXGSUM output, and detects execution under SAS V7/V8
Oct 6, 1999 so that the new INHERIT parameter in PROC MEANS can be
used, which may eliminate the need for the final datastep
(previously required to reset variable lengths).
Thanks to Chuck Hopf, MBNA, USA.
Change 17.254 A number of new timestamp fields from DB2 and CICS were
IMACNORM added to the PDB.ASUMOW dataset. In addition, new member
ASUMUOW IMACNORM is added to permit you to normalize the CPU time
Oct 3, 1999 created in the PDB.ASUMUOW dataset, in case you have CICS
Regions and/or DB2 Subsystems executing in machines of
different speeds. IMACNORM is preliminary, and may be
changed in the future, but it has no impact unless you
change it, as IMACNORM now only contains commments.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.253 -MXG options SASCHRLN is implemented to save space in some
VMAC102 DB2 trace records that contain variable length text. See
Oct 3, 1999 Change 17.251 text. Both COMPRESS=YES and execution with
SAS V7, V8, or later is required.
-For trace subtypes 206, 208, and 236, if the message text
was greater than 200 bytes, the first 200 bytes were not
input, but now are. The first INPUT of QW0207HR was
removed, as the second one, inside the test for length,
was the correct one.
See minor revision in Change 17.390.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.252 This analysis of all SAS dates in all SAS datasets that
ANALDATE was added by Change 17.168 now works; the debugging lines
Oct 3, 1999 302 and 303 are now removed, and line 10 now has an
ending */.
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 17.251 If SAS options USER= or WORK= were specified, the output
VMXGINIT of an MXG %INCLUDE SOURCLIB(TYPExxxx); program always
Oct 2, 1999 went to //WORK, but with this change, the WORK= or USER=
destination will be honored.
Apr 5, 2000: The USER= or WORK= options must be specified
on // EXEC SAS or on the SAS command; they are resolved
when VMXGINIT executes at MXG startup, and cannot be
changed later with an OPTIONS statement.
-A new macro variable, SASCHRLN, is set to 32000 if SAS V7
or V8 is executed AND if COMPRESS=YES is turned on, but
SASCHRLN=200 for V6 (and for V7, V8 with COMPRESS=NO).
This macro may be used to set the length of character
variables in some specific cases:
With the SAS character variable limit of 200 bytes, MXG
datasets with long text strings (SQL text in DB2 trace
averages 2000 bytes per statement) are output into many
observations for each 200 bytes of text (and the fixed
fields are many hundred repeated bytes!). Instead, now
that variables can be 32000 bytes long, only one output
observation is needed, and by using compression, only
the actual data has to be stored, so the unused length
won't actually take up any space, and you can get the
effect if variable length text storage in SAS!
Thanks to Michael Oujesky, MBNA Hallmark Information Services, USA.
Change 17.250 Member VMXGINIT creates macro variable MXGVERS, the MXG
VMXGINIT Version Number that is printed in MXG messages and kept
Oct 4, 1999 in dataset TYPE70. The MXGVERS value was kept in member
VMXGINIT, but its value is now read from member AAAAAAAA
used because it has always had the version and because
it is never modified by user tailoring), so that now I
can email you a change that includes an altered VMXGINIT
member (two new macro variables are defined there for a
new MXG dataset), but the MXG Version will be unchanged.
Only when you install the full new MXG Version will the
new number be seen. This had not caused any error nor
had anyone noticed, but this seems more righteous.
Change 17.249 New FORMAT MGKILO is created to print five-position
FORMATS values with K/M/G/T/P suffix for Kilo/Mega/Giga factors
Oct 2, 1999 (not 1024 byte-factors, but 1000 kilo-factors) for pretty
printing of data with wide range of values compactly. It
is not used in MXG Software, and will not replace MGBYTES
format for true "mega-bytes" values, but if your manager
demands that you use "million-byte" values to match the
lies from your DASD vendor, you can use MGKILO in your
reports to satisfy him/her, but I suggest you create a
second variable and format it MGKILO and print both the
MGBYTES and MGKILO values side-by-side, and use a LABEL
to clearly identify which is which!
Thanks to Alan Phelan, PKS Systems, USA.
Change 17.248 Support for MQ Series Version 2.1 (COMPATIBLE) type 115
VMAC115 SMF records adds new variables QISTMGET/QISTMPUT to the
Oct 2, 1999 MQMMSGDM MQ Message Data Manager dataset. Previously
reserved fields were used for the new data.
Thanks to MP Welch, SPRINT, USA.
Change 17.247 A new exit member, EX80ASEG, for type 80 SMF records
EX80ASEG (RACF or TOP SECRET) is added so that installation-unique
VMAC80A RACFTYPE segments can be decoded external to the VMAC80A.
Oct 2, 1999 Old-style macro _E80ASEG is defined so MACKEEP= logic can
be used as an alternative to EDITing EX80ASEG.
Thanks to Marc Matthys, Hudson Williams Europe, BELGIUM.
Change 17.246 The subtype 3 TELEVIEW SMF record has four extra bytes
VMACTELE inserted before the startup/shutdown times in the 4.3B
Oct 2, 1999 release that is now supported. An additional internal
TeleView error in the USERID field is corrected by their
fix T19C017.
Thanks to Tom Parquette, MONY Life Insurance Company, USA.
Change 17.245 MXG 17.06 only. Change 17.213 typo caused VTS variables
VMAC94 to have zero values, and ERROR.VMAC94.AUDITLEN INVALID
Oct 1, 1999 messages printed. The line added by that change:
IF SMF94XOF+SMF94VLN*SMF94XON-1 GT LENGTH THEN DO;
should have been
IF SMF94XOF+SMF94XLN*SMF94XON-1 GT LENGTH THEN DO;
(and the SMF94VLN= in the following PUT statement should
also have been SMF94XLN=).
Thanks to Robert Carballo, WORLDSPAN, L.P. USA.
Change 17.244 DCOLLECT variables DCACISZ and DCACACIC were missing,
VMACDCOL because the test before the INPUT of DCAHURBC should have
Oct 1, 1999 been GE 16 instead of GE 32, and the +16 after the INPUT
of DCAHARBC should have been deleted.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to Stewart Spyker, FISERV, USA.
Change 17.243 The _BTY91xx By List macros and _STY91xx Sort macros are
ANAL91 populated and will eliminate duplicate Batch Pipes SMF
FORMATS records. The label for SMF91OW as changed from EMPTY to
VMAC91 FULL, format $MG091XW was updated, and the new ANAL91
Oct 3, 1999 was intended to summarize TYPE91IC/TYPE91OC data to look
for lost data as described in APAR PQ25641. However, as
SMF91IEC/SMF91OEC are almost always zero (7 nonzero in
33,609 TYPE91IC obs, 3 nonzero in 23,570 TYPE91OC obs),
ANAL91 is not much use (yet) in detecting that data loss.
Also, type 91 is incomplete. These pipe criteria values
(ALLOCSYNC,ALLOCNOW,FIT/FITDD,OPENSYNC,NOEOF,EOFREQUIRED,
ERC,CLOSESYNC,TERMSYNC) are not reported in type 91s, nor
are replacement values for WAITALLOC,WAITOPEN,IDLE,WAIT,
WAITEOF,WAITCLOSE or WAITTERM reported when one of those
values is overriden for a specific pipe connection. And
the STEPNAME in TYPE91IC/TYPE91OC still does not match
the SMF 30 record's STEPNAME for same job/step number!
A new APAR PW31018 will correct some documentation for
type 91 records, but a new ETR is still open on counts.
Thanks to Michael Oujesky, MBNA Hallmark Information Services, USA.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.242 If you ran ASUMTALO against a months input, and you had
ASUMTALO one system whose last TYPETALO timestamp was on Aug 5th,
Oct 1, 1999 (either that system went away, or the MXGTMNT monitor
program that writes the SMF records was STOPped, or
MXGTMNT was no longer automatically started at IPL, or
MXGTMNT had shut itself down with an MXGTMNT message on
SYSLOG, etc.) then PDB.ASUMTALO output had data only thru
Aug 5, because the MXG SPIN logic in ASUMTALO put all of
the TALO records for Aug 6-31 into the spin library!
The SPIN logic in ASUMTALO uses the TMNTTYPE=5 Hourly
Interval records (created just for this logic so that
active allocations can be included) in TYPETALO input
to get the timestamp of the last-complete-interval on
each SYSTEM, and uses the minimum last-interval time
across all SYSTEMs as the spin criteria: TYPETALO obs
with timestamps greater than that criteria (both the
TMNTTYPE=5 hourly and the TMNTTYPE=4 end-of-allocation
event) go to SPIN.SPINTALO for tomorrow's ASUMTALO,
because only records up thru the last complete interval
from ALL systems can be used to count tape allocations
when tape drives can be shared across systems.
This SPIN logic works fine when you run ASUMTALO daily,
(ASUMTALO is invoked by BUILDPDB), although if the last
TYPETALO timestamp for one system is at 9:00am THU, the
PDB.ASUMTALO built early Friday will contain data only
up to 9:00am THU, but then the next day's PDB.ASUMTALO
will have picked up the spun records, so PDB.ASUMTALO
built early Saturday will contain 9:00am THU thru FRI
end of day, so no data is really lost, but at most is
delayed one day.
But to support processing of multiple day's TYPETALO data,
the ASUMTALO spin logic now calculates the delta between
the minimums of each system last-complete-interval, and if
there is more than 24 hours difference between systems,
that execution of ASUMTALO will suspend the SPIN logic and
will output all TYPETALO events in the input data.
If you have missing data in PDB.ASUMTALO datasets that
were created from multiple day's TYPETALO, you can delete
the subtype 5 interval records and recreate ASUMTALO with:
//PDB DD DSN=PDB.TO.BE.REPAIRED,DISP=OLD
DATA PDB.TYPETALO;
SET PDB.TYPETALO;
IF TYPETMNT=5 THEN DELETE;
%INCLUDE SOURCLIB(ASUMTALO);
Deleting the subtype 5 interval records eliminates SPIN
logic in ASUMTALO, so all dates will be output into the
replacement PDB. The tail-end intervals will be missing
in-flight tape allocations, but the real data will be
correct. Note that if your PDB.ASUMTALO dataset is on
tape, you cannot directly replace it, and would have to:
//REALPDB DD DSN=REAL.PDB.ON.TAPE,DISP=OLD
//TAPECOPY DD DSN=TEMPTAPE,DISP=(,DELETE,CATLG),UNIT=TAPE
//PDB DD DSN=&&TEMPPDB,DISP=(,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(100,100))
DATA PDB.TYPETALO;
SET REALPDB.TYPETALO;
IF TYPETMNT=5 THEN DELETE;
%INCLUDE SOURCLIB(ASUMTALO);
PROC COPY INDD=REALPDB OUTDD=TAPECOPY;
EXCLUDE ASUMTALO;
PROC DELETE DATA=REALPDB._ALL_;
PROC COPY INDD=TAPECOPY OUTDD=REALPDB;
PROC COPY INDD=PDB OUTDD=REALPDB;
SELECT ASUMTALO;
Thanks to Jonathan A. McVey, Lowe's Companie, Inc, USA.
Thanks to David Zeems, Bank of America, USA.
Change 17.241 The Tandem Utility to read "Unstructured" records was
UTANDSTR re-commented and set up to convert the five Measure files
VMACTAND that MXG supports, and the table of LRECLs for both the
Sep 30, 1999 "Normal" and "Unstructured" tandem records in VMACTAND
was updated.
Change 17.240 The addition of dataset TYPE30TD by Change 17.111 was not
ANALDSET nulled out in ANALDSET, causing ERROR 455-185. New lines
Sep 29, 1999 XY ADD NAME=EXTY30TD
/* override and output no type30td records */
were added to STEPONE.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.239 Variable ENDDTE was not converted back into a SAS date,
VMACXCOM because ENDTIME was created so ENDDTE was redundant, but
Sep 28, 1999 since ENDDTE was also kept, it is now a valid SAS date.
Thanks to Andrew Nyiri, EDS Australia, AUSTRALIA.
Change 17.238 RMFINTRV didn't support non-contiguous shift definitions,
RMFINTRV like a three hour peak-shift that includes 10:00-11:59
Sep 28, 1999 and 14:00-14:59, because some TYPE7xD datasets were not
resorted after the value of STARTIME was changed by the
DURSET macro in member IMACRMFI. Now, all of the TYPE7xD
data sets are sorted BY SYSPLEX SYSTEM STARTIME, so as
long as your shift definition for this peak shift resets
STARTIME to 10:00 as the start of this three hour shift,
all three hours will be summarized as expected.
Thanks to Jim Quigley, Con Edison, USA.
Change 17.237 NETSPY X.25 line stats are in NSPYNPSI dataset instead of
VMACNSPY dataset NSPYLINE (only non-X.25 lines are there), and now
Sep 28, 1999 the line utilization variables SLNU/PLNU are calculated
and kept in NSPYNSPI, for NSPNRECI='04'x (X.25 lines).
Variable NSPX25R is no longer kept in NSPYLINE dataset,
because NSPYLINE contains no X.25 resources and the
existence of that variable was misleading.
Thanks to Sharon Hindle, EDS Australia, AUSTRALIA.
Change 17.236 Invalid user SMF records written with '40'x for record ID
VMAC64 caused TYPE64 code to fail, so protection was added to
Sep 27, 1999 prevent the INPUT EXCEEDED RECORD error. The INPUT is
now conditionally executed:
IF 137+LENEXT+OFFSMF+114 LE LENGTH THEN
INPUT @137+LENEXT+OFFSMF
Thanks to Fred Kaelber, Pacific Bell, USA.
Change 17.235 Support for OS/400 Release 4.4.0 (INCOMPATIBLE due to the
VMACQAPM changes in LRECL of the new records), but if you change
Sep 27, 1999 the LRECLs in your JCL, then MXG 16.02-17.06 "tolerate"
the new records: MXG does not fail, reads all of the
existing fields, but the new fields will not be input
until you install this change, in MXG 17.07 or later).
4.2 4.4
File LRECL LRECL
QAPMBUS 57 111
QAPMDISK 346 352
QAPMECL 276 277
QAPMJOBS 812 819
QAPMLIOP 144 150
QAPMMIOP 232 270
QAPMRESP 58 68
QAPMSYS 3250 3268
-Dataset QAPMCONF now has only one observation, with all
of the Configuration options in that one observation,
instead of a separate observation for each GKEY value.
-Dataset QAPMSYS has three new variables, SYSHEAO, SYHFTH
and SYHFTS.
-Dataset QAPMJOBS has two new variables: JBSVIF JBTFLT.
-Dataset QAPMDISK has one new variable: DSCERC
Change 17.234 Mobius View Direct 6.1.2 (a/k/a INFOPAC) added new field
VMACIPAC for the Caller Type, new variable IPCALLER in dataset
Sep 26, 1999 IPAC03, compatibly.
Thanks to Steve Clark, California Federal Bank, USA.
Change 17.233 TRND70 was enhanced to contain OMVSAVG, OMVSMIN and
TRND70 OMVSMAX to track number of Open Edition users.
Sep 26, 1999
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 17.232 The new PDB.ASUMCEC dataset was created BY SYSPLEX CECSER
ASUM70PR but SYSPLEX should not have been used in the summary (a
Sep 26, 1999 CEC can have LPARs in different SYSPLEXes) and has been
removed. Also, the "PDB" was hardcoded, but it should
have been the "&PDBMXG" macro reference (which defaults
to "PDB" but permits global destination changes by ITSV).
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Thanks to Toby Olberding, Hudson Williams, USA.
Change 17.231 The date variables XPMLKDT and XPMXPDT were formatted as
VMACSFTA DATE9, but they contained Julian dates and had not been
Sep 26, 1999 converted to SAS dates. These lines were inserted after
their input so they will now contain valid SAS dates:
XPMLKDT=DATEJUL(XPMLKDT);
XPMZPDT=DATEJUL(XPMZPDT);
The actual code change was more extensive, as it includes
the Y2K JULDATE algorithm from member YEAR2000.
Thanks to Ove Dall-Hansen, CODAN Insurance A/S, DENMARK.
Change 17.230 MXG constructed variables STC07FPS and STC07TPS did not
VMACSTC match the format printed on the STK Silo LSM Info report
Sep 26, 1999 but once STK Technical Support told me how they drop the
Oct 5, 1999 first nybble and print three character positions with the
last nybble of ACS in one hex and both nybbles of LSM in
two hex positions, both fields now match the STK utility
report format from the STK user SMF record.
However, truncated subtype 1, 4, and 7 records that cause
INPUT RECORD EXCEEDED RECORD LENGTH, STOPOVER abends were
found and are under now protected in VMACSTC.
One circumvention for these short records (prior to
this change) that eliminates the ABEND and lets MXG
read thru all of the SMF data is to use MACRO STOPOVER
MISSOVER % after //SYSIN to change MXG's default of
STOPOVER to MISSOVER.
However, MISSOVER will still OUTPUT each of the bad
records, so the MXG datasets will contain unexpected
missing values, possibly causing your report programs
to die with divide by zero exceptions!
A safer workaround was to delete the short records
in the IMACFILE exit member, using:
IF ID=222 AND SUBTYPE=7 AND LENGTH LT 140 THEN DELETE;
IF ID=222 AND SUBTYPE=4 AND LENGTH LT 552 THEN DELETE;
IF ID=222 AND SUBTYPE=1 AND LENGTH LT 198 THEN DELETE;
Thanks to Jorge Fong, Depository Trust, USA
Thanks to Joe Faska, Depository Trust, USA.
Change 17.229 The EXCLUDE logic for Omegamon for archaic CICS Version 2
IMACEXCL in macro _CICXCOM did not test for SMFPSRVR, so if you
Sep 26, 1999 had both _CICXCOM and _CICXCU4 enabled, the _CICXCOM code
was executed for the 4.1 region, causing INVALID RECORD
DELETED error message and STOPOVER abend. Inserting
IF SMFPSRVR LE 3 THEN DO; ... END;
inside the MACRO _CICXCOM definition in IMACEXCL allows
the old and new version's excludes to coexist.
Thanks to Charles McAfee, Cover-all, CANADA.
Change 17.228 MXG Change 17.172 enhancements to MXG IMS log processing
ASMIMSLG are now implemented as the standard MXG support members.
ASMIMSL5 (Those changes were added in new "X" members for testing
ASMIMSL6 and with no reported errors, they have now become the MXG
EXIMSBMP support for IMS log processing.) In addition, the exit
EXIMSTRN members for the IMSTRAN, IMSBMPS, and IMSFASTP datasets
JCLIMSLG are now used (i.e., the _EIMSxxx macro did not call the
JCLIMSL5 %INCLUDE SOURCLIB(EXIMSxxx); ) so that the MXG exit
JCLIMSL6 facility can be exploited by ITSV.
TYPEIMSA
TYPEIMSB I strongly recommend that you install the new IMS support
VMACIMSA and use it to reassemble the ASMIMSLx member to re-create
Sep 25, 1999 the MXGIMSLn program, which is then used in the JCLIMSLx
JCL example. Using these new members will correct the
SubQ 6 times as well as provide the many enhancements
to IMS log processing described in member ADOCIMXA.
Change 17.227 The SAP IMS log record 'AE'x was NOT Y2K Ready until SAP
VMACIMSA Release 5.0i, which (INCOMPATIBLY) changed the date from
VMACIMS 0DDMMYYF to YYYYMMDD format. This change supports the
YEAR2000 new format, adds Y2K protection for their old YY format,
Sep 25, 1999 and also corrects an MXG error in the HH/MM/SS fields
that could cause the SAPTIME date to be a day later than
the actual date (those fields are actually PK format, but
they were input with PIB format, so an HH of '18'x or
larger became 25 hours, and bumped the date when HH was
added to create SAPTIME.
Thanks to Alain Kerninon, Generali AG, AUSTRIA.
Thanks to Ottfried Dorok, ICG Informationssys, GERMANY.
Change 17.226 An expiration date of 2099366 caused INVALID VALUE FOR
VMACDCOL DATEJUL FUNCTION and UMEXPDT or DCDEXPDT were missing,
Sep 18, 1999 although ORGEXPDT still contained the 2099366 value.
Since 2099366 itself is an invalid value (2099 is not a
leap year), MXG's algorithm for invalid dates (which is
to set the calculated expiration date to 31Dec2099 so
that any calculation on days-to-expire will be large) is
now extended to protect the invalid date of 2099366,
by inserting
(YREXPDT=199 AND DAYEXPDT GE 365) OR
after the (YREXPDT=99 AND DAYEXPDT GE 365) OR statement
in two places.
Thanks to Harald Seifert, HUK-Coburg, GERMANY.
Thanks to J. Hohring, HUK-Coburg, GERMANY.
Change 17.225 SAS/GRAPH examples are now updated to report
GRAFWORK BY SYSPLEX SYSTEM; instead of just
Sep 18, 1999 BY SYSTEM;
Thanks to Tom Kelman, Sun Trust, USA.
Change 17.224 Member IMACKEEP was not included in TYPETAND, but it now
TYPETAND has been added after the include of member VMACTAND.
Sep 17, 1999
Thanks to Steve Hurley, National Westminster Bank, ENGLAND.
Change 17.223 Report example fails if there were more than one SYSTEMs
ANAL42 data, because the PROC SORT DATA=JIM2 OUT=JIM; and DSD
Sep 15, 1999 BY DESCENDING IOCOUNT;
should have been BY SYSTE DESCENDING IOCOUNT;
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.222 Support for APAR OW39508 adds support for 7060 Multiprise
FORMATS 3000 Enterprise Server's new EIO (Emulated I/O) and DSD
Sep 15, 1999 (Direct System Device) type of CHPIDs. MXG Format named
$MG073CD decodes the CHPID type and was updated for these
two new entries, plus additional entries that were in the
complete list (which should have been in the APAR text,
but was not printed there).
Change 17.221 Deaccumulation of WEBSERVR dataset had DURATM and
VMACNTSM STARTIME missing because PREVWEBS=SYSTEM should have been
Aug 27, 1999 PREVWEBS=WEBSERV. Additional variables are deaccumulated
and minor other corrections were made.
Thanks to Jim Quigley, CONED, USA.
Change 17.220 SMF type 110 subtype 0 records written by CICS 5.1 caused
VMAC110 JCRLL=0 MXG error message, because MXG expected the new
Aug 27, 1999 Journal Format SMF records in CICS 5.2 instead of 5.1!
To correct, find the two IF statement with comments that
contain "Journal Format" and change them to now read:
IF SMFPSRVR LT 51 THEN DO /* PRE 5.1 JOURNAL FORMAT */
ELSE IF SMFPSRVR GE 51 THEN DO; /*POST 5.1 JOURNAL FORMAT*/
Thanks to Andre van de Riet, Hudson Williams Europe, THE NETHERLANDS.
Change 17.219 SAS ITSV CPDUPUPD fails with APPARENT MACRO error because
DIFFTPX an old statement: OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB;
DIFFROSC was still in these members. The SASAUTOS was changed to
TYPEDOS OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS); back in
TYPEIMS Change 16.066, and since they are set in member CONFIG,
TYPEIMS1 those old statements in these members were deleted so as
Aug 23, 1999 to eliminate the error.
Thanks to Jens Mohring, HUK Coburg, GERMANY.
Thanks to Harald Seifert, HUK Coburg, GERMANY.
Change 17.218 Support for Top Secret Release 5.1 (INCOMPATIBLE, due to
VMAC80 the need for a specific test to recognize Top Secret type
VMAC80A 80 records from the standard IBM type 80 record). To fix
Aug 23, 1999 MXG to support this release, you need only to add
OR RACFVRSN=051X
to the existing test for Top Secret Versions.
Thanks to Peter Vines, THE University of Virginia, USA.
Change 17.217 The member still contained a %INCLUDE for EXTY94 instead
VMAC94 of invoking the _ETY94 substitution macro, so overriding
Aug 16, 1999 the _ETY94 did not work. Now it does.
Thanks to Tom Parker, CSC/Hogan, USA.
======Changes thru 17.216 were in MXG 17.06 dated Aug 12, 1999======
Change 17.216 To be Y2K Ready, ASMTAPES must be assembled with "ES6"
VMACTMNT when the MXGTMNT Tape Mount Monitor program is assembled
Aug 12, 1999 for under OS/390 R1.3 or later. Your old MXGTMNT program
that had been assembled with "ES5" or "ESA" still ran on
OS/390 R1.3, so there was no error to alert you that the
"ES6" was now required, but if you are still running the
old MXGTMNT after January, 2000, the date in the INITTIME
field will still be 1900! IBM moved that date from a 3
to a 4 byte field that is only seen by "ES6".
ASMTAPES documents that "ES6" is for OS/390 R1.3, but
I had not previously highlighted that requirement.
This change protects VMACTMNT; if 1900 records are still
being written at your site in Jan, 2000, the variable
INITTIME in TYPETMNT and TYPETALO will be correct.
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 17.215 The variable R791ES in this old report example became the
ANALSTOR variable R791ESCT in Change 8.167, but the report was not
Aug 10, 1999 updated until now.
Thanks to Tony P. Steward, Post Office, ENGLAND.
Change 17.214 OS/390 R2.8 is already supported in MXG, as there were
several only minor, compatible changes, most of which have been
Aug 10, 1999 released as APARS to the type 89, 92, and 94 SMF records.
MXG Versions 16.09 or later can process the R2.8 records.
Change 17.213 Support for the Import/Export Statistics section in SMF
VMAC94 type 94 adds new variables to dataset TYPE94.
Aug 10, 1999
Change 17.212 TYPE110 SUBTYPE 2 ERROR STID=67 SKIP=80 because the value
VMAC110 of A17DT was hex '00' in the record, but MXG's statement
Aug 8, 1999 A17DT=TRANSLATE(A17DT,' ','00'x) was incorrectly changing
the '00'x to a blank, causing the two 40-byte sections
to be skipped. Delete that line and these records will
be properly decoded in to the CICFCR statistics dataset.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.211 TYPE74CF observations have the XSYSn variables non-blank
VMAC74 in only one record per SYSPLEX, and you can't pick which
Aug 8, 1999 SYSTEM's record has the info, accoring to this IBM reply:
To avoid collection of redundant data within a sysplex,
RMF selects one system as a 'master system'. This
selection is RMF internal, there is no option to select
the master system. For this 'master system' all CF
data, SMF 74-4 data, are collected. For the other
systems within a sysplex, the redundant but expensive
CF-data are omitted (expensive in terms of CPU
utilization). That explains why we see the
'Connectivity Data Section' and 'Structure Data
Section' only for one system within a sysplex. For
more details, please see apar OW31699, as this was
introduced with this APAR.
Thanks to Dennis Wong, New York Life Insurance, USA.
Change 17.210 -PDB.ASUMTAPE can have the wrong JOB/READTIME/INITTIME for
ASUMTAPE some jobs from TYPETMNT, but these events are detected
Aug 8, 1999 and the TYPETALO information is used to identify the job
that caused the mount. These mismatched events occur
only for jobs that went thru allocation recovery and are
usually few in number (5 of 2500).
-PDB.ASUMTAPE can have small negative values for TAPMTDTM
because the TENDTIME is the sampled MXGTMNT end of mount,
but TY21TIME is the exact dismount timestamp. The value
will be less than two seconds (the default MXGTMNT sample
rate) so to avoid negative numbers for the duration a
a tape is mounted, these negatives are now set to zero.
Thanks to Gene Rahe, First American, USA.
Thanks to Judy Arroyo, Summit Bank, USA.
Change 17.209 Support for NTSMF: Lotus Notes, SMTPDS & SMTPRS objects:
EXNTLNAG Object Dataset Variables
EXNTLNCA Lotus.Notes.Agent LONOAGNT 8
EXNTLNDB Lotus.Notes.Calendar LONOCALN 6
EXNTLNDI Lotus.Notes.Database LONODB 21
EXNTLNDV Lotus.Notes.Disk LONODISK 2
EXNTLNDO Lotus.Notes.Disk.Inventory LONODINV 1
EXNTLNMA Lotus.Notes.Domino LONODOMI 66
EXNTLNME Lotus.Notes.Mail LONOMAIL 16
EXNTLNNE Lotus.Notes.Memory LONoMEM 5
EXNTLNNL Lotus.Notes.Network LONONETW 11
EXNTLNRE Lotus.Notes.Network.Log LONONETL 2
EXNTLNSE Lotus.Notes.Replica LONOREPL 5
EXNTLNWE Lotus.Notes.Server LONOSERV 16
VMACNTSM Lotus.Notes.Web LONOWEB 39
VMXGINIT SMTPDS SMTPDS 4
Aug 7, 1999 SMTPRS SMTPRS 4
-NTSMF 2.1.1 could write an interval begin (0,0) with the
DURATM=0, which caused STARTIME to be missing. While now
fixed, this change also protects that case and uses the
previous interval to construct STARTIME.
Change 17.208 The RECFM=F and LRECL=256/512 were removed from the
VMACSPMG INFILE statements so that the DCB attributes are read
Aug 6, 1999 from the dataset. SpaceManager files can be F or FB.
Thanks to Anke Mineur, dvg Hannover, GERMANY.
======Changes thru 17.207 were in MXG 17.05 dated Aug 5, 1999======
Change 17.207 Microsoft SP4 and HotFixes have changed the version text
VMACNTSM from "Service Pack 3" to "Service Pack 4, RC 1.2", which
Aug 5, 1999 was passed by NTSMF into its output comma delimited file,
so an extra new field was inadvertently inserted in this
configuration record. MXG now looks for that syntax and
appends the "RC 1.2" to the NTVERSN. NTSMF will protect
the field in a future version to blank the comma.
Thanks to Norbert Ravarani, European Commission, LUXEMBURG.
Change 17.206 Member IMACJBCK (the "job check" exit to select SMF
IMACJBCK job-related records by JOB/READTIME/etc) was not changed
VMXGINIT to support dynamic changes, but by defining MACJBCK in
Aug 5, 1999 VMXGINIT and locating &MACJBCK; at the end of IMACJBCK
you can now use %LET MACJBCK= ... ; syntax instream
instead of editing your tailoring into IMACJBCK member.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 17.205 Variables MCTDLWTV and MCTDPWTV, bytes logically written
VMXGHSM and bytes physically written, are now created in dataset
Aug 5, 1999 MCT from the HSM catalogs. Many sites now use DCOLLECT
rather than reading the catalogs directly with MXG.
Thanks to Dave Jackson, Capital One Financial Services, USA.
Change 17.204 Negative PGMLODTM was caused by the DEFAULT=4 which was
VMACCIMS truncating timestamps and record number. Change the
Aug 5, 1999 both DEFAULT=4 to DEFAULT=8.
Thanks to Alan Green, Zurich Co., ENGLAND.
Thanks to Brian Sznger, Zurich Co, ENGLAND.
======Changes thru 17.203 were in MXG 17.05 dated Aug 4, 1999======
Change 17.203 If you have Dedicated CPUs in LPARs, PR/SM forces Wait
ASUM70PR Complete=Yes (which makes sense: to reduce overhead when
Aug 4, 1999 there's nothing to share), but MXG's PDB.ASUM70PR reports
100% CPU busy in that LPAR (LCPUPDTM, partition dispatch
time is 100% in a Wait Complete=YES LPAR) because MXG did
not see this before! The immediate fix to your ASUM70PR
member is to insert this DO group in the INCODE= section,
immediately after the "LPARDUR=DURATM;" statement:
IF LCPUDED='Y' AND LCPUWAIT='Y' THEN DO;
IF PCTCPUBY GT . THEN DO;
LCPUPDTM=LPARCPUS*PCTCPUBY*DURATM/100;
LCPUEDTM=LCPUPDTM;
END;
ELSE DO;
LCPUPDTM=.;
LCPUEDTM=.;
END;
END;
The PCTCPUBY that is tested is MVS CPU busy for Dedicated
CPUs, but it exists only in the SMF record from the MVS
System running in that LPAR. In the ASUM70PR observation
from other LPARs in this CEC (Central Electronic Complex)
the dedicated LPAR CPU busy measures will be missing, as
they simply are unknown to the other LPARs. If you have
only one LPAR in a CEC, then there is only one SYSTEM and
the ASUM70PR data will be valid with the above fix.
However, this error is an opportunity to design a better
solution to measuring CEC/LPAR CPU busy. The ASUM70PR
dataset is created per SYSTEM, but what you need is now
the new PDB.ASUMCEC dataset that summarizes TYPE70PR data
by the CECSER (CPU Serial Number of the CEC/CPC), so the
hardware platform is measured by PDB.ASUMCEC, with true
CPU busy for each of the LPARs running on that CEC.
The structure of PDB.ASUMCEC has the same variable names
(except for SYSTEM, which doesn't have any meaning here),
so your existing reporting should require minimal change.
But MXG has to read all of the type 70 records from every
MVS system that executes in an LPAR with Dedicated CPU to
create true CPU measurements; you cannot measure CPU busy
in a Dedicated-CPU-LPAR from any other LPAR's SMF record;
if MXG does not see the true CPU busy record, the CPU for
those dedicated engines will be missing values and the
total CPU busy will be wrong.
Check your EXTY70PR exit to see if there was user code
added to output records from only one system; delete
that logic if you find it, so you output all records.
The bottom line is that PDB.ASUMCEC should have been the
dataset created long ago, but now it should correct the
existing error and give you a single record per box to
measure total and per-LPAR CPU utilizations.
Thanks to Brandan Hock Kwan Wong, DBS, Singapore.
Thanks to Chee Hwee Chua, DBS, Singapore.
Change 17.202 This example report program processes VTS SMF type 94
ADOC94 records and replicates IBM PGM=VTSSTATS reports. The
ANAL94 report is documented in member ADOC94. Remember to use
Aug 2, 1999 only one system's data to report on a library box.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.201 APAR OW40390 identifies SMF92CPN, pathname, that may be
VMAC92 in your type 92 OMVS/USS file records; that field is now
Aug 2, 1999 input if present. The APAR also adds two subtypes to SMF
Aug 10, 1999 type 94 that create two new MXG datasets for OMVS/USS:
Subtype Dataset Description
12 TYPE9212 MMAP
13 TYPE9213 MUNMAP
Change 17.200 Support for IBM's TPF Operating System.
EXTPFxx Forty datasets are created from the fifty or so records.
FORMATS Some datasets are written at monitor initialization to
IMACTPF map things, but the interval records are deaccumulated
TPFINTRV and written as individual PDB datasets, and then TPFINTRV
TYPETPF is invoked to summarize into PDB.TPFINTRV. This support
VMACTPF has been tested with data from one system, and TPFINTRV
VMXGINIT intervals the SA/NX/SX/SU/SP/MD/MG/FV/FS/SC records.
VMXGTPFI This is preliminary support, but TPFINTRV and its input
Aug 2, 1999 datasets have been tested extensively; there are still a
number of questions and some variable names may change.
For over two years I have requested the DSECTS for the
TPF records; it took a vote of the TPF Users Group to
"convince" IBM it would be worthwhile to allow MXG to
support this high-speed transaction processing system.
Formerly know at the Airline Control Program, it can
drive 30,000 I/Os per second on an 8-engines CPC!
The initial development of the VMACTPF code took 40 hours
across four days to write about 4,000 lines of SAS code.
Another 40 hours were required to add the roughly 400
lines to deaccumulate and validate the PDB.TPFINTRV data.
Thanks to Jack Opgenorth, Sabre, USA.
Thanks to Linda Tallent, Sabre, USA.
Change 17.199 Support for APAR OW39128 adds DSNAME to SMF type 80-2
VMAC80A Resource Access event, so that you can tell what library
Aug 2, 1999 an audited controlled program was loaded from! So if
you need to know which program library is being used by
which users for which programs, you can use RACF to
control access and write a record for each successful
or failed attempt to run that program and finally know
which STEPLIB dataset was actually used by that job!
Variable RPDSNAME is added to dataset TYPE8002. The APAR
also populates variable VOLSER in the DTP=15 section for
this case, but that variable is already in TYPE8002.
Change 17.198 Variables that contain '00'x, when printed across VTAM or
VMAC110 downloaded as a text file from MVS to your PC, can cause
Aug 2, 1999 the download to stop. Other unprintable characters in
a PROC PRINT output can make your PC see an end-of-file
long before the real end of the file. When these values
are seen for a character variable, it is either formatted
with a HEX/$HEX format, or if the variable is normally a
printed variable that maybe has nulls at the end, then
the TRANSLATE function is used to convert nulls to blank
values. Variable SMFSTRTK was formatted $HEX16. and the
variables A13LVW, A17FLOC, A17DTTYP, A17DT, and DS5TCBNM
have any nulls translated to blanks.
Change 17.197 Starting from ANALDSET, this new ANALJOBE, "Job Events"
ANALJOBE adds to the 14, 15, 64, and 30s, the information from the
Aug 2, 1999 the VSAM type 62 OPEN time, the statistics from the type
Aug 12, 1999 42 subtype 6 TYPE42DS close, and the type 30 interval
records are used to capture PROGRAM name for Started
Tasks and long running steps whose step termination type
30 has not yet been seen. Additionally, if new datasets
were cataloged, the 61/65/66 SMF records in TYPE6156
identify that activity. The result will be a tool to
examine every timestamp in the life of a job, for delay
analysis, etc. This phase is complete, but HSM is soon
to be added.
And ANALJOBE is a single step, cleaner implementation:
When ANALDSET was first written in 1976, tape had to
be used because of data volume, and frequent system
crashes were circumvented by using multiple steps, so
a recovery might not have to re-read the SMF data
again!. Reliability, cheaper DASD, and better code
makes that unnecessary: two days SMF data opens used
than 1000 Cylinders (a/k/a 750 MB) of //WORK space.
The output dataset of this algorithm, ANALJOBE, may be,
in a future program, merged into the ASUMTAPE dataset to
identify the first-open-time and last-close-time of each
tape dataset, to identify where FREE=CLOSE can be used to
save tape drives.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.196A If the CPMF segment exists in the record, but SMF73CMG,
VMAC73 the CPMF Measurement Group is 0, MXG did not skip over
Aug 2, 1999 the CPMF segment, and stopped reading Channels at CHPID
'55'x (one third of 'FF'x, because the old segment was
24 bytes long, the new is 72). Also, variables CHANIND
CHANINDX CHANINDY SMF73CPD SMF73FG5 are now hex format.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 17.196 Dataset CONTROLD variable ACCOUNT2 is renamed CTLDACCT,
VMACCTLD so that its label does not override the real ACCOUNTn
Aug 2, 1999 field if CTLD records are processed with BUILDPDB. The
label as changed from second to first, as CTLDACCT has
(in ten fixed bytes) the first account field.
Thanks to Mike Penlington, Westpac Truse, NEW ZEALAND.
Change 17.195 Support for STK's VTCS 2.2.0 INCOMPATIBLE change to VSM
VMACSTC SMF subtype 13-26 records. Version 1 timestamps used the
Aug 2, 1999 unix epoch of 1/1/1970, which MXG handled, but now their
developers decided to waste my time and your time by
changing what was working just fine, back to what it
should have been in the first place, a TODSTAMP8 format.
And it doesn't appear that they put a version indicator
in their record, so I have to test each subtype to see
which version you have installed. And because at least
one field (VTV time) was not changed to TODSTAMP, I have
to test each of those timestamps in case they change the
format again! The test uses the first four bytes of the
timestamp, an algorithm that won't fail until Sep, 2042,
when the TOD clock wraps. Hopefully, STK will have added
a version indicator in their record before then.
Thanks to Sue Yarker, Midland Bank a/k/a HSBC, ENGLAND.
Change 17.194 The MXG 16.04+ revisions to HP Measureware did not define
VMACMWUX macros _HPUXCPU and _HPUXDLM in member VMACMWUX, and the
Aug 2, 1999 examples in IMACMWUX were commented out. The correction
was to define the macros in VMACMWUX, so that they are
defined by default in the VMAC, so they can be tailored
in the IMACMWUX, IMACKEEP or with %LET MACKEEP=. logic.
Thanks to Glenn Delvecchio, Stelco Inc, CANADA.
Change 17.193 -Using INTERVAL=NONE caused a warning message that the
VMXGSUM VARIABLE DATETIME IS UNINITIALIZED with no other impact.
Aug 2, 1999 The warning message is eliminated by this change.
-Using a dashed-list of variables in the NORM= argument
could cause errors messages about &EVAL function or
extra variables to be created, but only if there was
more than one dash per line and/or blanks around the
dash. Now the parser handles dashed-lists and blanks.
Change 17.192 The BY list for TYPE42DS needed DEVNR added to the end of
VMAC42 the list to fully protect for duplicate records.
Jul 30, 1999
Thanks to Chuck Hopf, MNBA, USA.
Change 17.191 Comments. The Subtype 5 Interval record is automatically
ASMTAPEE synchronized with SMF ENF Event 37, so there is no longer
Jul 28, 1999 a need to issue the console command to synchronize.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 17.190 The SPIN.SPINMOUN and SPIN.SPINALOC datasets were not
ASUMTAPE copied into the PBD library (for backup and recovery),
Jul 28, 1999 but now they are.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.189 Member DIFFDB2 is automatically invoked by TYPEDB2, and
DIFFDB2 it separately listed the _Sdddddd macro for each dataset
VMACDB2 to be sorted/deaccumulated, which works fine, until you
Jul 27, 1999 try to create only dataset DB2ACCT. You can null all DB2
datasets with the _NDB2 macro, and can reinstate DB2ACCT
with the MACRO _WDB2ACC redefinition, but then DIFFDB2
fails ("NO DATASET OPEN TO LOOK UP VARIABLES") when it
tries to sort the non-existent datasets. You can fix the
design flaw by nulling out each of the individual sort
sort macros that are listed in DIFFDB2:
%LET MACKEEP= _NDB2
MACRO _WDB2ACC DB2ACCT.DB2ACCT %
MACRO _SDB2ACP %
MACRO _SDB2ACB %
MACRO _SDB2ACG %
MACRO _SDB2PAT %
MACRO _SDB2ST2 %
MACRO _SDB2STB %
MACRO _SDB2STR %
MACRO _SDB2STS %
MACRO _SDB2PST %
;
%INCLUDE SOURCLIB(TYPEDB2);
to build only the DB2ACCT.DB2ACCT dataset. However, to
correct the design flaw, the definition of MACRO _SDB2
in VMACDB2 was changed so that it does not sort the
DB2ACCT dataset (just like _S110 doesn't sort CICSTRAN)
and DIFFDB2 now invokes _SDB2 instead of all of the
individual _SDB2ddd macros, so now (17.05+) you can use:
%LET MACKEEP= _NDB2
MACRO _WDB2ACC DB2ACCT.DB2ACCT %
MACRO _SDB2 %
;
%INCLUDE SOURCLIB(TYPEDB2);
to create only DB2ACCT.DB2ACCT. And this protects you
for future datasets, and they will be listed in both the
_NDB2 and _SDB2 macro definitions.
Thanks to Alastair Gray, Phillip Morris International, SWITZERLAND.
Change 17.188 This user contribution was posted on MXG-L; it reads the
USTKVOL output of the StorageTek Volume Report utility to find
Jul 26, 1999 the date when each volume was mounted in the ATL, and the
the date when each volume was mounted in the ATL, and the
example invokes MXG member TYPETMS5 and appends the ATL
data with the TMS information on each volume.
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 17.187 The MXG Test JCL stream step TESTOTHR fails in VMXGTAPE
JCLTEST6 because SAS option USER=PDB had been added to their JCL.
Jul 26, 1999 Don't do that to this JCL example that didn't expect it!
A comment has been added to the member.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 17.186 IBM RMF Report replicator example used TYPE74OM dataset
ANALRMFR to now produce their OMVS KERNEL ACTIVITY REPORT.
Jul 22, 1999
Change 17.185 IBM's sample IXGRPT1 for SMF type 88 Logger records is
ANAL88 now replicated in this example report program that uses
Jul 21, 1999 both TYPE88 and TYPE8811 datasets.
Change 17.184 Revision to correct ZEROOBS= argument, which did not work
UTILBLDP in the prior version. Further updated August 3.
Jul 21, 1999
Thanks to Mike Utting, Hitachi Data Systems, AUSTRALIA.
Change 17.183 Continued IMS Log enhancements for Fast Path transactions
TYPEIMS is revised and made available for testing.
VMACIMS
Jul 21, 1999
Change 17.182 Numerous errors in OMVS/USS dataset TYPE74OM. MXG failed
VMAC74 to divide seven variables by NRSAMPLE, so they had large
Jul 21, 1999 values: OMVSSYSC OMVSCPU OMVSOPRP OMVSOUS OMVSOPRU
OMVSCURP OMVSCURU
And NRSAMPLE was not kept in TYPE74OM, but now is there.
Then IBM documented twelve fields as binary, but they in
fact contain s_float (RB4.) data, also causing largeness:
OMVSCMSG OMVSCSEM OMVSCSHM OMVSCSPG OMVSCMAP OMVSCPAG
OMVSOMSG OMVSOSEM OMVSOSHM OMVSOSPG OMVSOMAP OMVSOPAG
-A few labels had TOT or TOTAL for Average variables.
-Note that the IBM OMVS Kernel Activity Report prints
CPU time in units Hundredths of a Second, so a MAX CPU
of 8 on their report is actually .08 CPU seconds, which
is what MXG variable OMVSCTMX contains.
-RMF fields for Shared Memory, Memory Map Storage, and
Shared Storage are in bytes in the raw data, so MXG now
formats those variables with MGBYTES to show the true
MegaBytes, etc, but IBM still prints K or M after the
value for a factor of 1000 instead of 1024. For Shared
Storage actual value 32,768,000, IBM prints 32.8M, but
MXG prints that true size in megabytes as 31M.
Thanks to Ed Woodward, ADP/BSG, USA.
Change 17.181 Cosmetic. DCOLLECT variables DCDCUDSZ and DCDUDSIZ were
VMACDCOL correct, but their labels were reversed. DCDCUDSZ is the
Jul 21, 1999 Data Size AFTER compression, DCDUDZIZ the size BEFORE.
Thanks to Alan Winston, MBNA, USA.
Change 17.180 Support for APAR OW31701, "ESS Parallel Access Volumes"
VMAC74 adds new variables to TYPE74 and TYPE799 datasets:
VMAC79 PAVBASE ='PAV*DEVICE?'
Jul 20, 1999 NRALEXCH='NUMBER OF*ALIAS*EXPOSURES*HAS CHANGED'
Sep 12, 2000 SMF74PCT='SUCCESSFUL*PAV*SAMPLE*COUNTS'
SMF74TMS='TIME SKIPPED*IF NR*ALIAS EXP*WAS CHANGED'
NREXPOSR='NUMBER OF*UCBS FOR*PAV VOLUME'
Text of this change revised after change 18.096 added the
variable PAVBASE instead of old variable BASE.
Change 17.179 Using the 17.04 ANALRMFR against a 14.14-built PDB failed
ANALRMFR with VARIABLE SMF72QDT NOT FOUND; five variables added to
Jul 20, 1999 TYPE72GO (SMF72QDT/IQT/ADT/IOT/CVT) by later versions of
MXG were not protected for non-existence in ANALRMFR, but
now they are and it can be used against back-level PDBs.
Thanks to Normand Poitras, Banque Nationale du Canada, CANADA.
Change 17.178 New summarization member creates PDB.ASUM78CF dataset by
ASUM78CF summarizing dataset PDB.TYPE78CF for analysis of I/O
Jul 20, 1999 Configuration activity.
Thanks to John Meli, Queensland Rail, AUSTRALIA.
Thanks to Paul Dirkis, Queensland Rail, AUSTRALIA.
Change 17.177 Support for Control D release 5.1.4 has been confirmed,
VMACCTLD as there were no changes in the record format.
Jul 20, 1999
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 17.176 OMVS (Open Edition/MVS), now USS (Unix System Services)
BUILD005 tasks create no purge records, so BUILDPB held their data
BUIL3005 in the SPIN library for SPINCNT days (in member IMACSPIN)
VMAC30 before they were OUTPUT into the PDB.STEPS and PDB.JOBS.
Jul 20, 1999 These OMVS tasks have SUBSYS='OMVS' but TYPETASK='STC '.
To output the OMVS tasks without purge records, BUILD005
and BUIL3005 were revised to detect and to not spin OMVS
tasks. To be consistent with its purpose, MXG variable
TYPETASK='OMVS' will now contain 'OMVS' for OMVS tasks.
You can fix the SPIN problem by using member IMACSPCK
by inserting: IF SUBSYS='OMVS' THEN OKFLAG=1;
until you install the version with this change.
Note that these JOBS/STEPS observations for OMVS tasks
are the TSO resources; the count of OMVS functions are in
the TYPE30OM dataset, which was not affected.
Thanks to Larry Ludwig, Northern Illinois University, USA.
======Changes thru 17.175 were in MXG 17.04 dated Jul 16, 1999======
Change 17.175 The preliminary IMS Log Enhancements in Change 17.172
ADOCIMS required one more tweak. The SubQ 6 time from the type
TYPEIMSA 7 record was being applied to the following transaction
VMACIMSA instead of the preceding transactio for pseudo/WFI or
Jul 16, 1999 Quick Reschedules, causing timestamps used to calculate
service times to be bad in occasional transactions.
Also, the member ADOCIMSX now exists in the MXG 17.04
dated Jul 16 that is now being shipped.
Change 17.174 IBM has confirmed Don's discovery that the R723CCHS
VMAC7072 (MXG variable PCTDLCHS) was trashed (like 600,000%!),
Jul 16, 1999 and will eventually fix their in counting those delays.
This correction recalculates by subtracting all of the
other wait fields so that PCTDLCHS will be valid with
or without the IBM correction.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 17.173 -Reading AS/400 data on ASCII platforms caused variable
VMACQAPM AS400SYN to be trash, because it wasn't converted from
VMXGINIT ASCII to EBCDIC when it was input as variable GDESS, but
Jul 15, 1999 inserting these two lines after the input of GDESS:
Jul 20, 1999 GDESS=INPUT(GDESS,$EBCDIC8.);
GDESS=TRANSLATE(GDESS,' ','80'X);
will create readable values for GDESS and AS400SYN.
-Also, WARNING: APPARENT SYMBOLIC REFERENCE LOLEVEL NOT
RESOLVED note is eliminated by the addition of LOLEVEL
in VMXGINIT as a GLOBAL macro variable with null value.
Macro variable LOLEVEL was used under MVS to pass the
lowest level of the DSNAME of the input file into an
MXG variable (AS400SYS in this case), because there
used to be no "System" name in the AS400 records.
Now, the MXG variable AS400SYN contains the system
name, so AS400SYS can be left blank.
-The include of member IMACKEEP was missing from TYPEQAPM
member, so tailoring in IMACKEEP was not recognized for
the AS/400 processing. It has now been added.
Thanks to Don Goulden, SAS Institute, USA.
======Changes thru 17.172 were in MXG 17.04 dated Jul 14, 1999======
Change 17.172 Significant enhancements to IMS log processing are now
ASMIMSLG available for testing. These added members will replace
ASMIMSL5 their counterparts in the next version of MXG, so I
ASMIMSL6 chose to use temporary names with an X in the penultimate
JCLIMSXG position to keep the new members apart. For the ASM and
JCLIMSX5 JCL members, change the X to an L, and for the TYPE and
JCLIMSX6 VMAC members, change the X to an S, as you copy them into
TYPEIMSA your USERID.SOURCLIB for testing.
TYPEIMSB Member ADOCIMSA contains the discussion of the changes in
VMACIMSA these revisions.
Jul 14, 1999
Thanks to Carl Meredith, SAS Institute ITSV, USA.
Thanks to Ken Whitehead, Bank of New York, USA.
Change 17.171 PRINTWAY records contain JCTJOBID='PSnnnnnn', so the MXG
DOC logic to create TYPETASK='PS' and JESNR=nnnnnn in all of
Jul 13, 1999 these MXG members that create TYPETASK from JCTJOBID:
VMAC6,VMAC26J2,VMAC26J3,VMAC30,VMAC32,VMAC42,VMAC91,
VMACBETA,VMACDALO,VMACIPAC,VMACNNAV,VMACTMNT,VMACXPM
and BUILD005 was revised to test for the 'PS' value.
Thanks to Bob Falla, The Mutual Group, CANADA.
Change 17.170 DB2ACCT variables added by versions 5.1 and 6.1 are now
ASUMDB2A added to the summarization by member ASUMDB2a in creating
Jul 13, 1999 dataset PDB.ASUMDB2A. Comments in member ASUMDB2A list
the 75 variables added to the SUM and one to the MAX.
Thanks to Glenn Bowman, Wakefern, USA.
Change 17.169 Landmark TMON V2 response time TARSPTM will contain the
VMACTMO2 sum of all conversations if SEGMENT CONVERSTATION is NOT
Jul 13, 1999 set to Y in Landmark Record Collection Options, and the
total count of conversations is counted in TARSPCT. So
if TARSPCT is greater than one, TARSPTM is recalculated
as the average response time of those conversations:
IF TARSPCT GT 1 THEN TARSPTM=TARSPTM/TARSPCT;
Thanks to Dan Ternosky, IBM, USA.
Change 17.168 This utility will analyze a SAS data library for date or
ANALDATE datetime formatted variables, and will print a summary of
Jul 12, 1999 minimum and maximum dates found in your data, as well as
dates outside the expected range (user definable, default
earlier than 1/1/1999 or later than 1/1/2001). This may
be useful in your final Y2K testing of SAS libraries.
Thanks to Freddie Arie, LONE STAR GAS, USA.
Change 17.167 Corrections to Boole's MainView for CICS VSAM file. The
VMACMVCI division of T6EP24HW by 62500 was incorrect and was thus
Jul 12, 1999 removed. The input of T6EUSTGO was moved back two bytes,
by creating M6=-6; and using +M6 instead of +M4, and by
inserting +2 after the input to re-align with the rest of
the data fields.
Thanks to Mrs. Peridon, Ministere du Budget, FRANCE.
Thanks to Mr. Deledalle, SAS Institute, FRANCE.
Change 17.166 An IBM-provided PSF ZAP (change APSPPSMF to set SMF6IMPS
VMAC6 with Logical Page Count in DIAPAGE instead of Side Count
Jul 12, 1999 from DIAIMPS) overlays the record with zero for SMF6LN2,
that cause INPUT STATEMENT EXCEEDED error condition.
While IBM investigates, this circumvention resets a zero
SMF6LN2 to 36 so that the rest of the record is output.
If these invalid records are found, MXG will now print a
note for the first three instances.
Thanks to Rick Knapp, AON, USA.
Change 17.165 Preliminary NTSMF support for Win 2000 Beta 3 and support
VMACNTSM for new data and record formats for four existing objects
Jul 11, 1999 as well as protection for the new 0.8 and 0.9 records.
The Beta changes are incomplete, as the discover records
had fields with missing names that are input with place
holders, but the important existing fields should be ok.
Win 2000 Beta 3 Changes:
Object Status
Memory: Reordered, 3 Name Missing field
Process: 6 Name Missing fields
PhysDisk: 5 new fields inserted somewhere
LoglDisk: No Instance name, 3 new
Other Object Changes:
Object Status
IIS Global: Complete Revision, all new vars
Web Service: Twenty-Seven new variables
Indexing Service: Instance variable removed
Indexing Service Filter: Instance variable removed
Thanks to Jim Quigley, Con Edison, USA.
Change 17.164 The _SVMxxxx sort macros had PROC COPY syntax instead of
TYPEVM the DATA _LVMxxxx; SET _WVMxxxx; logic that is needed
Jul 11, 1999 until the _BVMxxxx BY macros are populated.
Thanks to Anthony P. Lobley, EDS, ENGLAND.
Change 17.163 ASUM70PR discards SMF70CIN='ICF' observations so they are
ASUM70PR not counted in NRCPUS, LPARCPUS, or PARTNCPU variables in
Jul 11, 1999 PDB.ASUM70PR (as long as you have APAR OW37565 on your
system - see Change 17.162). If you have more than one
ICF CPU, the circumvention in member XSUM70PR from Change
16.381 is not valid, and this revision does not depend on
a table of SYSTEM/LCPUADDR. It first counts the number
of ICF engines, and then subtracts that count from the
above variables in the real CPU records while deleting
the ICF CPU records. It also creates new variable
NRICFCPU with the count of the number of ICF engines
found in the CPC (and whose detail can still be found in
the TYPE70PR 'ICF' observations), but whose data are not
included in PDB.ASUM70PR (nor in TRND70PR either).
If you use this new ASUM70PR to summarize old TYPE70PR
data, you will get 'SMF70CIN UNINITIALIZED' messages, but
that has no impact unless you actually have ICF, in which
case you will need to recreate TYPE70PR with the new
TYPE7072 with Change 17.162 installed.
Change 17.162 Support for APAR OW37565 creates SMF70CIN='CP ' or 'ICF'
VMAC7072 in TYPE70PR dataset to identify if the CPU is a General
Jul 11, 1999 Purpose CPU (SMF70CIN='CP '), or an Internal Coupling
Facility CPU (SMF70CIN='ICF'). While most sites use the
PDB.ASUM70PR dataset, revised by Change 17.163, for PRSM
measurements, if you use the PDB.TYPE70PR detail dataset
you will want to revise your reporting to exclude the
ICF CPUs from your capacity counts and measurements.
Change 17.161 Support for APAR OW37816 adds data for new 2105 cache
VMAC74 subsystem to dataset TYPE74CA, and the data looks very
Jul 11, 1999 interesting with these new variables:
R7451AID='DEVICE*ADAPTER*ID'
R7451DVN='DEVICE*NUMBER'
R7451FLG='0=NO INFO*1=RAID RANK DATA'
R7451HDD='NUMBER OF*HDDS IN*RAID RANK'
R7451HSS='HDD*SECTOR*SIZE'
R7451NVS='NVS*SPACE*ALLOCATION'
R7451RID='RAID*RANK*ID'
R7451RMR='RECORD*MODE*READ*REQUESTS'
R7451RRQ='RAID*RANK*READ*REQUESTS'
R7451RRT='RAID*RANK*READ*RESPONSE*(MILLISEC)'
R7451RSV='R7451RSV*LOWER*IO*MILLISEC'
R7451SR ='RAID*RANK*FB SECTORS*READ'
R7451SW ='RAID*RANK*FB SECTORS*WRITTEN'
R7451TSP='TRACKS XFERED*TO SECONDARY*PPRC VOL'
R7451WRQ='RAID*RANK*WRITE*REQUESTS'
R7451WRT='RAID*RANK*WRITE*RESPONSE*(MILLISEC)'
R7451XCW='XRC OR CC*CONTAMINATED*WRITES'
R7451XSF='XRC OR CC*SIDEFILE*READ*REQUEST'
The change also populates field R745XRSV, which has been
in dataset TYPE74CA as MXG variable RSV for some time:
RSV ='LOWER*INTERFACE*IO*(MILLISEC)'
And the Real Control Unit ID, R745CUID/R745DCID was added
to both the Cache Control Section and the Cache Device
Data Sections.
This change has been syntax checked, but not yet tested
with records with the PTF installed. This note will be
deleted when the change has been validated with data.
Change 17.160 SAS requires all BY list variables to be in the 1st 4092
ANALRMFR bytes of the physical record, a SAS restriction that I
Jul 11, 1999 had not hit before, but this RMF report program failed
when many reports were requested, as it creates a single
dataset with many variables. By creating a copy of the
data with an added RETAIN statement (as suggested by the
text of the SAS Error message!!):
DATA newcopy; RETAIN list-of-BY-variables; SET oldcopy;
the zY variables are located at the front of the newcopy.
Thanks to Jon Whitcomb, Great Lakes Higher Education Corporation, USA
Change 17.159 RMF Type 99 Subtype 2 variable PCDCLOCK was input as PIB
VMAC99 but it can be negative, so it should have been input IB,
Jul 11, 1999 and it was input from the wrong location, and new fields
added by OS/390 R2.6 are now decoded in dataset TYPE99_2.
Thanks to Ralph Acorn, Safeway, USA.
Change 17.158 Top Secret writes TYPE80 SMF records with RACFTYPE values
VMAC80A of 0,103-105,109, and 255 that caused "SEGMENT SKIPPED"
Jul 11, 1999 messages on the MXG log. This change revised the MXG
logic so only five messages will be printed on the log:
INPUT +RACFDLN @; old
NSKPRACF+1; new
IF NSKPRACF LE 5 THEN new
PUT /' SKIPPED SEGMENT ' RACFEVNT= .... old
Fortunately, the TYPE80xx datasets created are valid.
I'm awaiting test data to decode these TSS-only events,
and this text will be updated when MXG is enhanced to
deal with the TSS-only data records and fields.
Thanks to Marc Matthys, Hudson Williams Europe, BELGIUM.
Change 17.157 The new _STY30TD sort macro for TYPE30TD had SMFTIME in
VMAC30 the BY statement, but it is not kept in the dataset, and
Jul 9, 1999 the BY list is now READTIME JOB JESNR DEVNR INITTIME.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.156 Support for CICS TS 1.3 new field TRNGRPID which was
IMACEXCL inserted in the CICSTRAN record (INCOMPATIBLY), causing
VMAC110 many fields to have incorrect values. IBM did not
Jul 7, 1999 automatically refresh my documentation when they added
the field (which happens to reuse a previously used field
number, 082 decimal). To just skip over the new field,
insert a line with +28 after CLIPADDR $EBCDIC16.
Thanks to Dirk Frijlink, Shell Services International, NETHERLANDS.
Change 17.155 Support for Connect Direct Release 3.2 record 'CT'.
VMACNDM The documentation is wrong in their Appendix pages,
Jul 6, 1999 but MXG tolerates the 3.2 record. There are three
fields added in existing location, one of which,
MXG variable NDMCTDOF, is an offset to a new table,
but I have no example record with that offset present,
so the CTDTOTAL table cannot be decoded until a data
record with that event (process was restarted) is
available.
Thanks to Fiona Crane, IBM United Kingdom, ENGLAND.
Change 17.154 Zero observations in dataset NSPYTIC3 and non-zero in
VMACNSPY NSPYETHR is the result of Change 16.147 overriding
Jul 6, 1999 Change 15.268. The tests for NSPYRECI have been again
corrected, so that for NSPYREL 4.5 and higher, only the
NSPYRECI is used to select ETHERNET versus TIC3, but
4.4 and earlier are protected by using the other flags,
but only for R 4.4.
Thanks to Simon D. Briggs, Allied Irish Bank, IRELAND.
Change 17.153 Variable MCBSCRD, Uncatalog Date, is now created in HSM
VMXGHSM dataset set in dataset MCB from the HSM control file.
Jul 6, 1999
Thanks to Stephen Hahne, Capital One Financial Services, USA.
Change 17.152 Support for MIM's user SMF record is enhanced, and a new
EXTYMIMD dataset is now created, with GDIF benefit counts at the
VMACMIM MIIPLEX LPAR level. The new dataset keeps the old name
Jul 6, 1999 of MIMGDBE, but is at a higher level of detail now, and
the lower level of detail at the enqueue QNAME level that
was MIMGDBE is now created as dataset MIMGDBC.
Thanks to Martyn A. Jones, Chase, ENGLAND.
Change 17.151 TMS records containing DENX='DE'x are undocumented, but
VMACTMS5 appear to be stored in records for Deleted VOLSERs, as
Jul 6, 1999 none of the dates are populated, and Create Job Name is
Jul 11, 1999 DELETE, and Stepname is EBCDIC zeroes. This unexpected
DENX value caused MXG to print a note and a hex dump on
the SAS log, because Density is used to estimate the feet
of tape used, but this note has no real impact on the TMS
datasets created by MXG. To suppress the notes, I added
ELSE IF DENX=0DEX THEN DEN=0; after ELSE IF DENX=0E8X...
-The %%INCLUDE SOURCLIB(EXdddddd); statements should have
been replaced with their _Edddddd macro invocations in
the 16.04 re-architecture; they are now revised so that
those MXG dataset exits can be overridden with MACKEEP=.
Thanks to Andre van de Riet, Hudson Williams Europe, THE NETHERLANDS.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.150 While support for CICS TS 1.3 was in member VMAC110, the
IMACEXCL support for excluded fields was not added to IMACEXCL
Jul 5, 1999 until this change.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 17.149 The VVDS Key Cluster Name was not converted to blanks
VMACVVDS if the fieldname contained '80'x or '00'x, but now, like
Jul 5, 1999 the other names, the TRANSLATE function converts.
Thanks to Tom Benson, Amdahl U.K., ENGLAND.
Change 17.148 Cosmetic. Label for variables DSG32NAM and DVL32NAM
VMACDCOL are now 'DSG FLAG*SMS 8-WAY OR*32 WAY?' and 'DVL ....'
Jul 5, 1999
Thanks to Grahm West, NPI, ENGLAND.
Change 17.147 MXG 17.03, "BY VARIABLES NOT SORTED IN WORK.SPIN30TD"
BUILD005 error is corrected by moving these two existing lines:
BUIL3005 PROC SORT %VMXGFOR DATA=CVRT30TD OUT=CVRT30TD ;
Jun 30, 1999 BY READTIME JOB JESNR INITTIME DEVTYPE DEVNR;
from before the DATA SPIN30TD; statement, to after the
PROC DELETE DATA=CVRT30TD; statement, and then change
the CVRT30TD in both places in the PROC SORT to SPIN30TD.
Thanks to Dirk Frijlink, Shell Services International, NETHERLANDS.
Change 17.146 Inconsistencies and typos were corrected.
MONTHBLD -The BY list in WEEKBLD-MONTHBLD for TYPE89 caused NOT
WEEKBLD SORTED error because SYSPLEX should have been added as
WEEKBLDT the first var in the BY list after Change 16.xxx was made
VMAC25 to its VMAC.
VMAC80A -The BY list for TYPE70PR caused no error, but was changed
VMACRMFV in WEEKBLD-MONTHBLD by adding LPARNUM LCPUADDR, so as to
VMACTMO2 be consistent with its VMAC.
VMACTMV2 -The BY list for TYPE30_6 could error, so it was changed
Jun 28, 1999 in WEEKBLD-MONTHBLD by inserting SYSTEM after JESNR so as
to be consistent with its VMAC.
-Typo WTY24 was changed to WTY25 in member VMAC25.
-Typo WTY8025 and WTY8X25 were changed to WTY8X24 in
member VMAC80A.
-Typo ZRBSDSIH was changed to ZRBBDSIH in VMACRMFV.
-Typo MONIDBD was changed to MONIDBDS in VMACTMO2.
-Type TMVSSSW was changed to TMVSYSSW in VMACTMV2.
Thanks to Fredie Arie, Lone Star Gas, USA.
Change 17.145 SYNCSORT variables COREREQ and COREUSED are now format as
VMACSYNC MGBYTES (to print KB/MB/GB etc), and their stored length
Jun 28, 1999 is increased from 4 to 8 bytes (because memory values of
16MB or larger cannot be stored exactly in 4 bytes).
If you use PROC APPEND to combine datasets with variables
of different length, you will get an error if you do not
specify FORCE, and even when you specify FORCE (which I
recommend: I think FORCE should be PROC APPEND's default)
you will still end up with the variables as 4-bytes. You
must recreate your "BASE" dataset with corrected lengths:
DATA BASE; LENGTH list-of-variables 8; SET BASE; and then
PROC APPEND won't fail and will have correct length 8.
The TYPESYNC variables that are now length 8 are:
SYNCAVLA SYNCAVLT SYNCREQT SYNCUSEA SYNCUSET SYNDSMVL
SYNVSCOR SYNVSCRT COREREQ COREUSED
Change 17.144 Cosmetic. The deaccumulation logic that was still in the
DIFFNTCP DIFFNTCP member was moved into the _SNTCPSY macro in the
Jun 28, 1999 VMACNTCP member; now, DIFFNTCP member invokes _SNTCPSY.
Change 17.143 The BY list was insufficiently specified and might not
VMAC42 remove duplicates for dataset TYPE42VL (variable SMF42VOL
Jun 24, 1999 was added to _BTY42VL), and for dataset TYPE74PA (macro
_BTY74PA has variables R742PTCN R742PDEV R742PODV added).
Thanks to Chuck Hopf, MBNA, USA.
Change 17.142 VMXGRMFI creates PDB.RMFINTRV with up to 115 workloads,
VMXGRMFI but had uninitialized and missing values if you used the
Jun 24, 1999 new WORKn= variables; those ommissions are now corrected.
-New option PDB=PDB or SMF lets you create RMFINTRV from
either an existing PDB library, or directly from SMF.
-Comments have examples of how to create new workloads:
%VMXGRMFI(WORK1=OMVS/OMVS/66 67/OMVS);
xxxx yyyy nn aaaa
where xxxx = prefix of the variable names to be created,
yyyy = prefix of the label of the created variables
nn = for Compatibility Mode: list of PERFGRPs
that make up this workload.
aaaa = for Goal Mode: list of Service Class Names
that make up this workload.
will create 17 variables named OMVSCPU,OMVSIOTM,... from
PERGRPS=66 or 67 or from SRVCLASS='OMVS' records.
Comments in the member show how you can invoke %VMXGRMFI
multiple times with different INTERVAL= values to create
multiple "RMFINTRV,RMFINTHR,RMFINTDY..." hourly, daily,
summary datasets in the same PDB library, and more.
Change 17.141 -The utility to create the SYSIN for a tailored BUILDPDB
UTILBLDP did not null the _Sdddddd sort macro when you suppressed
Jun 24, 1999 an SMF record. Also, while most product's ID macro name
Jul 9, 1999 is of the form _IDxxxx, a few members had the _xxxxID,
and these exceptions are now known by UTILBLDP logic,
so the correct macro name will be generated.
-We recommend that the ID macros for your user SMF records
be defined in member IMACKEEP, so that anyone running an
MXG TYPExxxx program will get the right records selected.
If you use UTILBLDP and specify USERADD=XXXX/NNN, it will
create the _ID macro, but if you use only USERADD=xxxx,
UTILBLDP will not generate an _ID macro for product xxxx,
and instead expects to find your _ID macro in IMACKEEP.
-A new parameter, IMACKEEP=, has been added, so you can
write all _IDxxxx and _xxxxID macro definitions to a
file, and then use that file as your IMACKEEP member, if
you have not already created the IMACKEEP definitions.
-New parameter RMFINTRV will suppress creation of RMFINTRV
dataset, and is used: if TYPE7072 is suppressed, RMFINTRV
won't be built and warning message will be printed; if
other datasets needed by RMFINTRV are suppressed, the
PDB.RMFINTRV will be built, but warning messages will be
printed on the SAS log.
-If TYPE70PR dataset is detected, ASUM70PR will be added.
-Only the _DIFFxxx's that exist will be created.
-USERADD=6, 30, or 26 caused BUILD005 to fail because the
datasets were deleted; now they are kept for BUILD005.
-IMACKEEP= option will create an IMACKEEP member with your
optional records added, etc.
Thanks to Simon Briggs, Allied Irish Bank, IRELAND.
Change 17.140 The PROC SORT of TYPE30_D had SMFTIME specified twice; in
VMAC30 the _BTY30UD macro and at the end of the BY statement.
Jun 24, 1999 This is not really an error, but now SAS Version 7 will
not permit repeats in the BY list, so the SMFTIME in the
BY statement was removed to satisfy SAS syntax.
Thanks to Andre van de Riet, Hudson Williams Europe, THE NETHERLANDS.
Thanks to Ed Powers, Pearson, USA.
Change 17.139 Documentation. One of the examples had a LIST; statement
SENDDATA that should have been after the FILE LOG; statement, but
Jun 23, 1999 it was after the FILE SMFOUT; statement.
Thanks to Solomon Baker, The Prudential, USA.
Change 17.138 Support for APAR OW37254 "Capacity Upgrade on Demand" for
VMAC7072 type 70 record (COMPATIBLE) adds flag variable STSICPC=Y
Jun 23, 1999 if the STSI facility is available for the CPC, and adds
CPCMODEL (CPC Model Identifier) to TYPE70PR dataset.
A "CPC" is a Central Processing Complex (previous IBM
name: "CEC" for Central Electronic Complex), for example,
a parallel enterprise server 9672 is a CPC, and variable
CPUTYPE='9672'X. An RX6 is a model of 9672, so the new
variable would contain CPCMODEL='RX6' in TYPE70PR.
Note: Change 18.258 added CPCMODEL to TYPE70 dataset.
Thanks to Bob Falla, The Mutual Group, CANADA.
Change 17.137 Format $MG039SN for type 39 Netview record has new value
FORMATS '5'='5:CP-CP' now created; the value is not new but had
Jun 23, 1999 been overlooked.
Thanks to Chris Taylor, Wachovia, USA.
Drove 990 miles to Telluride BlueGrass Festival, Telluride, Colorado.
Four days, forty groups, four hundred tunes - a great show!
Change 17.136 TCP TELNET Server variable TELLOGFT in dataset TYPETCPT
VMACTCP is created by IBM with date format of yyyydddF, which is
Jun 15, 1999 not supported by the SMFSTAMP8. format (which expects
Jul 29, 1999 the IBM SMF "century bit" format of 0cyydddF). With a
raw value 1999099F, SMFSTAMP8 creates year 3899 for date!
The SMFSTAMP8. input was replaced with the algorithm from
member YEAR2000 to support the unexpected date value.
Jul 29: Removed PUT TELLOGTM= ; debugging statement.
Thanks to Colin Bowen, Old Mutual, SOUTH AFRICA.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 17.135 Support for NETSPY type I Telnet Session record creates
EXNSPYTE new NSPYTELN dataset with written at interval and session
FORMATS end, with bytes in/out, smooth time, IP addresses and the
IMACNSPY LUNAME of the session.
VMACNSPY
VMXGINIT
Jun 10, 1999
Thanks to Stuart Robertson, GIO, AUSTRALIA.
Change 17.134 MXG message ERROR - STID=123 FOUND WITH SKIPPED FIELDS
VMAC110 is an MXG error. The statement SKIP=STILEN-100; in the
Jun 10, 1999 ELSE IF STID=123 THEN DO; must be SKIP=STILEN-104;
Thanks to Jean-Pierre Ravera, Michelin, FRANCE.
Change 17.133 Using TYPSCIMS caused errors (but TYPECIMS was okay).
VMACCIMS The _BIMFDB2 by-list macro must have PLANNAME instead
Jun 10, 1999 of DBDNAME, and variable DBDSEQNR must be added to the
KEEP= list for the CIMSDB2 dataset
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.132 Cosmetic. Temporary variables MNSMFTME and MXSMFTME are
VMACSMF now formatted DATETIME21.2, so they will be readable if
Jun 10, 1999 printed on the SAS log due to an error condition.
Change 17.131 If you used VMXGSUM with the NORM= argument to normalize
VMXGSUM values, and if the denominator was zero, you got DIVIDE
Jun 10, 1999 BY ZERO. Now, the divide is protected. No error was
reported; the exposure was observed and protected.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.130 RMM Extract EDGHSKP, support for its four date formats:
IMACEDGR Julian 1999/365 YYYY/DDD JULIAN7.
VMACEDGR ISO 1999/12/31 YYYY/MM/DD YYMMDD10.
Jun 9, 1999 European 31/12/1999 DD/MM/YYYY DDMMYY10.
Jun 24, 1999 American 12/31/1999 MM/DD/YYYY MMDDYY10.
Jun 29, 1999 is implemented in this revision. Originally, dates were
Jul 9, 1999 stored as character fields, and MXG 16.16 converted them
into date variables (so you can count number-of-days),
but MXG 16.16 only supported the ISO format. All four
date formats are now supported, but only JULIAN and ISO
are supported automatically, by default. So if your RMM
extract dates are European or American format, you must
update member IMACEDGR and change the default definition
of MACRO _EDGRDTE YYMMDD10. % to the desired format (or
you could put that redefinition in member IMACKEEP).
-RMM Extract Type='V' records (EDGHSKP utility) caused
INVALID DATA FOR RVLCDATE. MXG was off by 6 bytes. The
line with RVCFTIME $EBCDIC6. /*DSN*CREATE*TIME*/
must be deleted (it's decoded by the following HH/MM/SS).
-Variables RDRETDAT/RVRETDAT may contain a date, but can
be CYCL/nnnnn or WHILECATLG, so new variables RDRETCHR/
RVRETCHR now contain the character string of their date.
If the RDRETDAT/RVRETDAT are not valid dates, they will
be missing values, but RDRETCHR and RVRETCHR will
contain the original string value.
-Times are now calculated IF SS GE 0 THEN ... instead of
IF SS GT 0 THEN ... as zero is a valid value for SS; the
test is to protect if SS/HH/MM are missing, not zero.
-Variables RVSTBIN and RVOBIN are changed from character
to numberic, as they are bin numbers.
Thanks to Darlene E. Wnukowski, Schreiber Foods, Inc, USA.
Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.
Change 17.129 SAP R/2 5.0i under CICS 4.1 at one site created type 110
VMAC110 subtype 0 journal records with JCRLL=30, which was not
Jun 9, 1999 not expected nor protected in VMAC110 for 4.1, so the
three statements IF JCRUTRID='SA' THEN DO; are changed
to IF JCRUTRID='SA' AND JCRLL GE 250 THEN DO;
Thanks to W. Weber, V.I.S. Informationssysteme Gmbh, GERMANY.
Change 17.128 Utility to produce EBCDIC hex dumps under ASCII SAS was
UDUMPEBC enhanced with OUTPAGES= operand to limit the number of
Jun 9, 1999 pages printed. I needed this so I don't have to print
all 32760 bytes of a type 110 record if I don't need it!
Change 17.127 Support for APAR OW29849, which adds variables counting
VMAC88 writes and suspends by the system logger; this APAR also
Jun 9, 1999 improves the write performance of IXGWRITE by offloading
asynchronously to overlap I/O.
======Changes thru 17.126 were in MXG 17.03 dated Jun 8, 1999======
Change 17.126 Boole and Babbage has provided an enhancement to their
ASMMNVW MainView history file decompression SAS Infile Exit that
Jun 7, 1999 decompresses on the data on the fly. The new algorithm
supports both the original implementation as well as the
current compression implementation.
Change 17.125 Sample ANALPATH report expected no more than 16 LCUIDs on
ANALPATH on CHPID, and was revised in MXG 17.03 to handle up to 32
Jun 7, 1999 but the report was revised after 17.03 was built to only
Jun 9, 1999 print a line for LCU17-LCU32 if there were 17 LCUIDs.
Thanks to Bruce Koelker, Gates Rubber Company, USA.
Change 17.124 Support for TYPE 42 Subtypes 7 NFS File Usage and subtype
EXTY42NF 8 NFS User Session Statistics, creates new TYPE42NF and
EXTY42NU TYPE42NU. TYPE42NF File has only the end time; there is
FORMATS no OPEN/Start time, but includes counts in bytes and I/O
IMAC42 blocks. TYPE42NU User Session interval record has start
VMAC42 and session end times, elapsed/active durations, bytes
VMXGINIT read/written for network/files during the session. Both
Jun 5, 1999 TYPE42NF and TYPE42NU contain RACFUSER,RACFGRUP, the unix
Process and Group Ids, IP Address of the client host and
the client host name. Some field names in subtype 7 are
the same as existing subtype 15 field names, so some new
variables are named S42xxx instead of SMF42xxx. Two new
formats were added to decode NFS variables. These two
subtypes have existed since 1994, but no one noticed, as
they are only documented in "NFS Customization and Ops"
manual; they are not listed in the SMF manual!
Thanks to Mat J.H. Elbersen, Rabobank, THE NETHERLANDS.
Change 17.123 Support for SoftAudit Version 7.1 COMPATIBLY added the
VMACSFTA CPU Product Group and CPU Product Version variables to
Jun 4, 1999 the SOFTPROD Installed Products dataset.
Change 17.122 Support for STK's NearOAM V2.2 COMPATIBLY added variables
VMACNOAM like intercept and scheduling datetimestamps, the name of
Jun 4, 1999 the requesting job, name of the object, ... to TYPENOAM.
Thanks to Fiona Crane, Sun Alliance Insurance Group, ENGLAND.
Change 17.121 Variable SMF88AWB was mis-documented by IBM as RB8., but
VMAC88 it is a PIB8. Variable SMF88AIT was a character string,
Jun 4, 1999 but is actually a TODSTAMP value, so it is now decoded as
numeric and formatted as DATETIME21.2. The subtype 11
record has an observation written at the end of each
interval with blank SMF88STN (structure name), with only
SMF88ALS (log streams connnected at end of interval).
The TYPE8811 dataset now has variable SMF88LTD (interval
end datetimestamp) kept from the preceding subtype one,
since there is no interval end value in TYPE8811. Also,
there is no interval start nor interval duration in the
subtype 1, so the rates cannot be calculated without an
extra de-accumulation step to construct the duration of
the interval. Pending IBM's reply as to whether they
will correct the problem, and due to overwhelming nonuse
thus far, I have not added deacculumulation yet.
Since SMF88LTD is on the GMT clock and since there is no
GMT offset in the record, the times cannot be converted
to local time of day.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.120 For Goal Mode (a/k/a Workload Manager Mode), the PERFGRP
VMAC30 variable had value of zero in type 30s but missing in 72
Jun 2, 1999 so it is now set missing in type 30s, so it won't be
confused with Compat Mode PERFGRP=0, and so that BY lists
can contain PERFGRP SRVCLASS to merge step interval data
with either TYPE72 or TYPE72GO data. To know from the
job's TYPE30s/PDB.JOBS datasets if a job ran under Goal
Mode or under Compat Mode, you can now test IF PERFGRP=.
(or alternatively, IF SRVCLASS GT ' ') and both are true
for Goal Mode) and both are false if Compat mode.
Change 17.119 SyncSort supports up to 32 sort work areas, but MXG had
VMACSYNC only decoded the first twelve. Now all thirty-two sets
Jun 2, 1999 of the eight variables are created for all possible.
Thanks to Chairat Tiajanpan, KTB, THAILAND.
Change 17.118 Minor cleanup. The default DDNAME for the CIMSTEMP
TYPSCIMS temporary dataset is now //WORK instead of //PDB, and
VMXGINIT member TYPSCIMS now invokes _S macros to sort the
Jun 1, 1999 CIMSDBDS, CIMSDB2, and CIMSPROG datasets into the default
ddname of PDB.
Thanks to Carl Meredith, SAS Institute, USA.
Change 17.117 Sample RACF Violation reports, originally posted on MXG-L
ANAL80A use the TYPE80A and TYPE8002 datasets for reports.
May 31, 1999
Thanks to Brian Cavanaugh, Key Services Corporation, USA.
Thanks to Sean Sullivan, Key Services Corporation, USA.
Change 17.116 Support for APAR OW37091 for Measured Usage (MULC) adds
VMAC89 support for Concurrent CP Upgrades ("the capability to
May 31, 1999 increase the number of usable CPs without requiring a
hardware IML or operating system IPL"). New fields are
added to the ID section, so they are kept in both usage
and state datasets: Type/Model/Manufacturer/Plant/etc,
counts of the configured and standby CPUs, and the value
of SMF89CPC, the "CPU Capability" value, an integer that
specifies the CPU capability of one engine. While there
is no formal description of the algorithm used to create
the value, CPU Capability Value is used as an indication
of the capability of this CPU relative to the capability
of other CPU models. Then to adjust that single engine
Capability value to get the actual value for your number
of CPs in use, you use the Multiprocessing CPU Capability
Adjustment Factor for that number of CPs. There are up
to fifteen factors, each containing the percentage of the
single engine CPU capability for that number of CPs: MXG
variable SMF89MA1 contains the percentage for 2CPs, and
SMF80MAF contains the percentage if there are 16CPs. The
new information comes from the Store System Information
Instruction (STSI).
Change 17.115 IMF/CIMSTRAN variable FLGSPCHR decoded 'W' for WFI, but
FORMATS did not know that value 'Q', documented as "Pseudo WFI",
VMACCIMS but also called Quick Restart, exists also. Now the MXG
May 31, 1999 format MGIMFCS decodes both Q and W in FLGSPCHR.
Thanks to Ulrich Dillenberger, BMC Software, GERMANY.
Change 17.114 Change 17.037 was wrong for TANDDISK for TANDEM G05 plus.
VMACTAND Two IF OPSYSVER GE ... should end with "@;", not "END;".
May 28, 1999 The ERROR message is INVALID DATA FOR END ....
If you pull the data files from the Tandem System using
UserAccess - Stream Mode, you get the "unstructured" file
format discussed in Change 15.119, and you will have to
EDIT and use the UTANDSTR utility to double process the
records to create the "structured" records to be read.
Change 17.113 Variables SMF6PRMD (Print Mode) and SMF6USID (User) are
BUILD005 now carried into the PDB.PRINT dataset in BUILDPDB/PD3
BUIL3005 logic, by adding them to the _PDB6 list of variables to
May 28, 1999 be kept from TYPE6 into PDB.PRINT.
Thanks to Bob Falla, The Mutual Group, CANADA.
Change 17.112 MXG 17.02 only, cosmetic. WARNING: NOT ALL VARIABLES
VMAC80A KW24MO00-KW24MO50 WERE FOUND is eliminated by changing
May 27, 1999 KW24MO50 to KW24MO18 in the KEEP= list, but there was no
impact of this warning, as there were only 18 to keep.
Thanks to Jos Schwab, Newell Company, USA.
Change 17.111 Variables TAPEDRVS/TAPE3420/TAPE3480/TAPE3490/TAPE3590 in
BUIL3005 observations in TYPE30_V, TYPE30_4 and TYPE30_5 datasets
BUILD005 count only the number of tape devices allocated in each
EXTY30TD physical step record, and that is still true after this
FORMATS change. But this redesign in BUILD005/BUIL3005 will now
IMAC30 count the number of unique tape drive addresses that were
SPUNJOBS allocated by the step (across all multiple records) in
VMAC30 those TAPExxxx variables in the PDB.STEPS dataset.
VMXGINIT Note, however, that even the corrected TAPExxxx count for
May 27, 1999 the step is not necessarily the number of concurrent tape
Jun 7, 1999 drives that were used by the step, but is just the total
number of drives allocated by the step: you cannot tell
from the step data whether those allocations were
sequential or concurrent. In addition to changes in the
BUILD005/BUIL3005 members, a new "temporary" dataset
WORK.TYPE30TD is created by VMAC30, with one observation
for each tape DD segment, that is used to correctly count
tape drives. This also required a new SPIN.SPIN30TD
dataset to hold these new data for incomplete jobs, and
revisions to member SPUNJOBS, as well as logic to convert
spun Step records tape drive counts to the new design.
And macros _S30 and _N30 were corrected in member VMAC30
so they include TY30UD and TY30UV datasets that had been
overlooked.
Note 10/19/2000: The TAPEDRVS/TAPExxx variables were
removed from the SPINxxxx datasets (because they were the
old, probably wrong values), and were relocated into the
SPIN30TD dataset (tape allocation count by DEVNR) that
will be used tomorrow to put TAPEDRVS/TAPExxxx variables
back in the output PDB.STEPS and PDB.JOBS.
Change 17.110 Variables EXCPNODD/IOTMNODD are now corrected, and the
BUILD005 observations with MULTIDD='Y' in PDB.STEPS dataset will
BUIL3005 no longer exist (although they still will exist in the
SPUNJOBS TYPE30_4 and TYPE30_5 datasets). Instead of there being
May 25, 1999 multiple observations for those steps, there now is only
one observation for each step in PDB.STEPS, so the number
of observations in PDB.STEPS will be reduced by this fix.
This redesign sums the STEP I/O counts from the multiple
step records to create only one observation per step, and
it re-calculates the NODD "Not Recorded in a DD" values.
Previously, the NODD numbers were TOTL - TODD, but when
the step had MULTIDD='Y' records, the TODD counts in the
"real" step record (the one with MULTIDD=' ') did not
include the TODD counts from the MULTIDD='Y' records, so
the NODD values in the MULTIDD=' ' observation were too
high, and the NODD values in the MULTIDD='Y' observation
were missing (because the TOTL values exist only in the
MULTIDD=' ' record). The values of the NODD variables in
the PDB.JOBS dataset were also incorrect, because they
were sums of the incorrect NODD values from PDB.STEPS.
This internal redesign splits the STEPS dataset into
STEPS and STEPSIO, with all EXCP/IOTM counts in STEPSIO,
which is VMXGSUM'd and merged to re-created STEPS with
NODD calculations now based on the TODD sum from all
records, and so there is no longer any need to create the
MULTIDD='Y' observations in the PDB.STEPS dataset.
This change was precipitated by the analysis of a step
record from TSO-in-batch that executed DB2 that had very
large values for EXCPNODD and IOTMNODD. The large NODD
counts were completely valid, had nothing to do with any
MULTIDD='Y' steps, and in fact were caused a design flaw
in the site's DB2 QMF exit that caused repeated loads of
the same module from a linklist library, and all linklist
accesses are captured by the NODD counts.
But before I knew that, I had asked Chuck Hopf to scan
his PDB for executions under TSO that called DB2 to see
if DB2 might be involved in high NODD counts. While his
data proved high NODD counts were not DB2 related, he did
serendipitously find MULTIDD='Y' steps with the incorrect
NODD counts that led to this redesign.
Thanks to Kirk Hampton, Texas Utilities, USA.
Change 17.109 Typo and a logic error that have been in VMXGHSM for some
VMXGHSM time were detected and corrected. The corrections:
May 25, 1999 IF MCPDGNCT=. THEN MCPDGNCT=0 instead of MCTDGNCT, and
P2=P2+14; instead of P2=P2+(14C);
Thanks to Neville Wright, TELSTRA, AUSTRALIA.
Change 17.108 Type 39 records may cause SHORT RECORD messages and zero
VMAC39 observations output, depending on APARs you have applied,
May 21, 1999 because Change 16.258 was incorrect.
The ELSE DO; group must be relocated to be before the
first "IF OFFPROD-3-COL+1 GE 8 THEN INPUT" statement.
And APPN fields may be incorrect, because the INPUT after
the second "IF OFFPROD-3..." statement should have offset
values of @61, @65, and @67 vice @53/@57/@59.
Thanks to Jim Tintle, Mack Trucks, USA.
Change 17.107 Support for OS/400 V4.3.0 (compatible) was in MXG 16.16,
VMACQAPM as a comparison of the 4.3 and 4.2 record formats found
May 21, 1999 no changes.
Change 17.106 PDB.ASUMTAPE observations with STATUS='MISSEDMNT' due to
ASUMTAPE to the fuzzyness of sampled mount times in MXGTMNT are
May 20, 1999 now STATUS='MATCHED', by changing the TYPETMNT timestamp
used in sorting the Allocate, Mount, and Dismount events.
The problem is that the timestamp of the TYPE21 record
is exact, whereas the TMNTTIME/TENDTIME (mount start and
mount end times) are up to 2 seconds later (with MXGTMNT
sampling default value) than their real event time.
Using TENDTIME gave good results, but when TENDTIME was
later than TY21TIME, the sequence was A/D/M and the mount
was missed. By using SMFTIME=MAX(TMNTTIME,TENDTIME-2),
in the step that creates MOUNT dataset, those now match.
-Status of known causes of STATUS='MISSEDMNT':
-tape ape "knocking-down" the outstanding mount for a
specific volser by mounting the wrong VOLSER, perhaps
by accident, perhaps intentionally so that the message
"Mount Pending For 10 Minutes" won't be created, which
stops the MVS console operator from harrasing tape ape.
Tape apes know they can put in any VOLSER and that MVS
Volume Verification will reject and dismount the wrong
tape (so the job doesn't fail) and that the new mount
event for the original VOLSER resets mount pending!
In this case, MXGTMNT still was in mount pending state,
so the second mount does not reset the TMNTTIME start of
mount pending, but the TENDTIME end of mount does not
occur until after the bad mount was dismounted and the
correct VOLSER was verified, so the TY21TIME is in the
middle of the mount start and end times:
Wrong Vol Right Vol
TMNTTIME TY21TIME TENDTIME TY21TIME
10:50:51.26 10:52:15.96 10:52:39.00 10:58:29.11
ASUMTAPE creates an observation for the dismount of the
wrong volume with STATUS=MISSEDMNT, but I can't yet see
how to status that mount as a "wrong volume mount", or
even if that is needed! ASUMTAPE also creates the real
observation for the mount of the right volume, and its
TAPMNTTM=TENDTIME-TMNTTIME does include all of the delay
caused by mounting-the-wrong-volume, because the real
mount (and this job) is still pending until the correct
VOLSER is mounted).
-one mount of a tape by one job that was not used but the
tape was then picked up (without a new mount event, as
the tape was in the drive) by a second job. The first
mount is output to EXTRAMNT dataset rather than ASUMTAPE
and the second job has ASUMTAPE obs with MISSEDMNT.
-tape swap (an I/O error caused your VOLSER to be moved
to a different physical tape drive) creates an extra
mount event for each swap, and MXG properly creates an
obs in ASUMTAPE, so these mounts are true, counted mount
events, but they were not caused by the job.
-I may investigate if a further post-processing step is
needed to merge TYPETSWP to identify mounts caused by
tape swaps, to detect passing of an unused tape from one
job to another, or to identify "kicked-down" mounts.
-Note that observations in PDB.ASUMTAPE with MISSEDMNT for
STATUS are still completely valid tape mount events, with
true dismount time, bytes, etc,; it just that the start
and end of tape mount time are not known because there
was no MXGTMNT mount event found.
Change 17.105 TYPE39 variable LSESFQLN should have been &PIB.1. instead
VMAC39 of &PIB.2., which caused LSESFQNM to be missing its first
May 20, 1999 byte.
Thanks to Anthony Pagliano, Summit Bank, USA.
======Changes thru 17.104 were in MXG 17.02 dated May 19, 1999======
Change 17.104 DF/SMS 1.4 additional variables UMUSRSIZ, UMCMPSIZ, and
VMACDCOL UMFRVOL may be missing because the tests for existence
May 19, 1999 should have been GE 8 for the first two, and GE 20 for
the DO group for UMFRVOL.
Thanks to Dave Cogar, U.S. Department of Transportion, USA.
Change 17.103 TCP records for APICALLS have invalid APISTART values
VMACTCP in the IBM record. While contacting IBM, the INPUT was
May 19, 1999 changed to APISTART ?? SMFSTAMP8., inserting the double
question marks to suppress the error message and dump.
Nov 3, 1999 update: APAR PW29974 and PQ32322 document
negative values for APICALLS bytes in and bytes out.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch Companies, USA.
Change 17.102 TMS variable DEVTYPE was blank for 3490-E tape volumes;
VMACTMS5 a new test IF TRTCH=0E1X THEN DEVTYPE='36TRK-E'; was
May 18, 1999 added to decode them.
Thanks to Sal Fazzino, Excelis, Inc, USA.
Change 17.101 Support for NTSMF Version 2.3 (COMPATIBLE), and support
EXNTSQAM for new Seagate, Site Server, and SQLSERVER 7 objects:
EXNTSQBD
EXNTSQBM Dataset Object Name Vars
EXNTSQCM
EXNTSQDA QUOTAS QUOTAS 5
EXNTSQGS SEAGATE SEAGATE INFO 13
EXNTSQLA SITESVAU SITE SERVER AUTHENTICATION SERVICE 32
EXNTSQLO SITESVCO SITE SERVER CONTENT DEPLOYMENT 34
EXNTSQMM SITESVLD SITE SERVER LDAP SERVICE 86
EXNTSQRA SITESVMB SITE SERVER MESSAGE BUILDER SERVICE 7
EXNTSQRD SQLACCES NT SQLSERVER7 ACCESS METHODS 20
EXNTSQRL SQLBKPDV NT SQLSERVER7 BACKUP DEVICE 1
EXNTSQRM SQLBUFMG NT SQLSERVER7 BUFFER MANAGER 18
EXNTSQRS SQLCACMG NT SQLSERVER7 CACHE MANAGER 5
EXNTSQSE SQLDATAB NT SQLSERVER7 DATABASES 22
EXNTSQSS SQLGENST NT SQLSERVER7 GENERAL STATISTICS 3
FORMATS SQLLATCH NT SQLSERVER7 LATCHES 4
IMACNTSM SQLLOCK NT SQLSERVER7 LOCKS 6
VMACNTSM SQLMEMMG NT SQLSERVER7 MEMORY MANAGER 14
VMXGINIT SQLREPAG NT SQLSERVER7 REPLICATION AGENTS 1
May 17, 1999 SQLREPDI NT SQLSERVER7 REPLICATION DIST. 3
SQLREPLR NT SQLSERVER7 REPLICATION LOGREADER 3
SQLREPME NT SQLSERVER7 REPLICATION MERGE 3
SQLREPSN NT SQLSERVER7 REPLICATION SNAPSHOT 2
SQLSTATS NT SQLSERVER7 SQL STATISTICS 7
SQLUSRSE NT SQLSERVER7 USER SETTABLE 1
Only dataset QUOTAS has been data-tested, but there is a
lot of new NT measurements in this change!
-Additionally, the WEBSERVR dataset is now deaccumulated,
as suggested by Jim Quigley's posting to MXG-L LISTSERV.
These IIS counters are accumulated in NT 4.0, but are
supposedly corrected in NT 2000, so the deaccumulation
(done in the _SNTWEBS sort macro, where all DIF() code
is now located) may need to be suppressed in NT 2000.
Change 17.100 Support of i-data afp-software SMF record. The dataset
EXTYIDAP TYPEIDAP has counters of pages and bytes printed by
FORMATS i-data, for distributing AFP print thru the enterprise
IMACIDAP network, using commodity laser printers.
TYPEIDAP See their homepage at www.i-data.com.
TYPSIDAP
VMACIDAP
VMXGINIT
May 15, 1999
Thanks to Engelbert Smets, Provinzial Versicherungen Duessl,GERMANY.
Change 17.099 Support of Lexmark MarkVision "job statistics file" for
EXTYMRKV printing on Windows, OS/2 and Windows-NT platforms. The
FORMATS dataset MARKVISN created counts sheets and impressions,
IMACMRKV by treys and feeders and by auto and manual and by color
TYPEMRKV of toner. Each observation is either a successful print
TYPSMRKV or an error condition (in which case varible ERROR will
VMACMRKV be blank and most fields will be missing. This code has
VMXGINIT only been tested executing under ASCII reading ASCII data
May 14, 1999 but the program should work under EBCDIC reading the raw
datafile that were sent to MVS (and converted to EBCDIC).
Thanks to Martin Laursen, Danske Data, DENMARK.
Change 17.098 Enhanced creation of RMFINTRV now permits over 100 unique
VMXGRMFI workloads to be defined.
May 14, 1999
Change 17.097 MXG 17.01 only. Some dataset names for AICS and APAF
VMACAICS were misspelled in their _Wdddddd macro definition (but
VMACAPAF if you used the _Sdddddd or TYPSxxxx member to sort from
May 14, 1999 //WORK to the //PDB, there was no error).
Thanks to Freddie Arie, TXU, USA.
Change 17.096 Support for CICS TS 1.2 Journal segment for SAP. CICS TS
VMAC110 1.2 has two different formats of Journal data in SMF 110,
VMXGINIT and only GLRHTYPE=1 was previously validated, but now the
May 14, 1999 GLRHTYPE=2 segment (which happens to be used by SAP) are
May 17, 1999 recognized and decoded, eliminating "SOR TYPE NOT ONE"
MXG error message and hex dump of the record.
This change also corrected a 17.01-only error: the macro
&WCICACC was repeated inside other _WCICxxx definitions,
and &WCICJRN is now defined in VMXGINIT.
Thanks to Roy Pennington, Vertex, ENGLAND.
Change 17.095 In an undocumented, verbal change to SYNCSORT records,
VMACSYNC new variable MAXSORT='Y' or blank if the MAXSORT option
May 13, 1999 was specified for a sort.
Thanks to John Parla, Cigna, USA.
Change 17.094 Extensive additional decoding of RACF bit flags create
FORMATS new one-byte character variables to identify the keywords
VMAC80A specified, keywords ignored, keywords in error, and many
May 13, 1999 other options of RACF events. Since each RACF command
has a unique set of keywords, and there can be many in
each single record, the naming convention and variable
labels convey the keyword specified/ignored etc. The
naming convention is KWnnSPmm for Specified Keywords,
KWnnIGmm for Ignored Keywords, and similar names for
other options, class names, and other flags. For example
the TYPE8019 (PERMIT) command has fourteen keyword
specification variables, named KW19SP00-KW19SP13,
and the corresponding keyword ignored variables are
named KW19IG00-KW19IG13:
KW19SP00='KEYWORD*SPECIFIED*CLASS?'
KW19SP01='KEYWORD*SPECIFIED*ID?'
KW19SP02='KEYWORD*SPECIFIED*ACCESS?'
KW19SP03='KEYWORD*SPECIFIED*FROM?'
KW19SP04='KEYWORD*SPECIFIED*DELETE?'
KW19SP05='KEYWORD*SPECIFIED*FCLASS?'
KW19SP06='KEYWORD*SPECIFIED*VOLUME?'
KW19SP07='KEYWORD*SPECIFIED*FVOLUME?'
KW19SP08='KEYWORD*SPECIFIED*GENERIC?'
KW19SP09='KEYWORD*SPECIFIED*FGENERIC?'
KW19SP10='KEYWORD*SPECIFIED*RESET?'
KW19SP11='KEYWORD*SPECIFIED*WHEN?'
KW19SP12='KEYWORD*SPECIFIED*RESET(WHEN)?'
KW19SP13='KEYWORD*SPECIFIED*RESET(STANDARD)?'
KW19IG00='KEYWORD*IGNORED*CLASS?'
KW19IG01='KEYWORD*IGNORED*ID?'
...
KW19IG13='KEYWORD*IGNORED*RESET(STANDARD)?'
About 800 new variables are created, with a max of 205 in
one dataset (TYPE8024), but at one byte per variable, the
impact is minimal. If you use PROC PRINT SPLIT='*', the
variable label prints as column heading and you can see
which keywords were specified/ignored/errored/etc. You
can look at member DOCVER to see what variable name is
created for each keyword, or you can use PROC CONTENTS to
see the label, but the variable label names the contents.
This code has NOT been validated, and there was lot's of
opportunity for typos, so please verify with known RACF
events that all of the bits are mapped correctly.
-One new format was added and old one enhanced.
Thanks to Michael Brench, National Bank of Australia, AUSTRALIA.
Change 17.093 The LRECL=xxx value for each Tandem file was specified on
VMACTAND each INFILE statement, but that was removed so that you
May 11, 1999 don't have to modify the VMAC for new Tandem versions;
instead you can use the LRECL of the dataset on MVS or
a FILENAME statement with LRECL=xxx to specify the LRECL.
Thanks to Kim S. Johnson, NationsBank, USA.
Change 17.092 Support for SOFTAUDIT 6.1.2 (COMPATIBLE) added three new
VMACSFTA fields at the end of the Installed Products File.
May 11, 1999
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY
Change 17.091 Support for TELEVIEW 4.3 (INCOMPATIBLE). Field TELUSER
VMACTELE was expanded to 9 bytes and 3 bytes were inserted in the
May 10, 1999 subtype 1 and subtype 2 record. In addition, while the
May 18, 1999 variable SMFTIME has been accurate, none of the internal
datetimestamps were validated and all were wrong, but now
are corrected and Y2K compliant!
Thanks to Yvonne McDonough, USDA NITC, USA.
Change 17.090 Some QXxxxxxx variables in DB2STATS were misaligned and
VMACDB2 wrong, starting with QXRLFDPA. The stat code was revised
May 10, 1999 and the line with +4 after QXDEGENC was replaced with the
input of QXRLFDPA and its associated +3, and the tests
for length were corrected: the 256 to 252, 284 to 280,
and 316 to 312. Only DB2STATS was affected; the QXxxxxxx
variables in DB2ACCT were not misaligned.
Thanks to Ken Michalik, Kraft Foods, Inc, USA.
Change 17.089 Unused.
Change 17.088 Variable BANDTIME in NPM dataset NPMINNSA is missing.
VMAC28 The equation should be BANDTIME=DHMS( ... BANDTTME);
May 10, 1999 instead of the typo BANDTIME=DHMS( ... BANDTIME);.
Thanks to Mr. Holscher, BWS Munster, GERMANY
Change 17.087 Documentation. If your DB2 datasets are on tape, you
ANALDB2R must specify DATASET=DDNAME, arguments and PDB=PDB to
May 6, 1999 prevent TWO OPEN SEQUENTIAL DATASETS ON ONE TAPE error.
If your DB2ACCT, DB2ACCTP, and DB2ACCTB datasets are on
tapes with DDNAMES of DB2ACCT, DB2ACCTP, and DB2ACCTB,
then you would specify
%ANALDB2R(
PDB=PDB,
DB2ACCT=DB2ACCT,
DB2ACCTB=DB2ACCTB,
DB2ACCTP=DB2ACCTP,
... );
The documentation in the comments has been revised;
the code has been in place since version 14.14!
Thanks to Alan Fendler, Pershing, USA.
Thanks to Harold Wentz, Pershing, USA.
Change 17.086 The DCOLLECT example had LRECL=644 in comments, but you
JCLDAYDS must specify LRECL=32756. With LRECL=644, DCOLLECT sets
May 6, 1999 a Return Code of 4 and a message that it encountered a
record that was too long to process, but does not ABEND,
and some of the records are not created. (Fortunately,
the long records are the SMS structure definitions for
Storage Class, Storage Group, etc., rather than the real
Dataset and Cluster records used for accounting/sizing.
Thanks to Chuck Hopf, MBNA, USA.
Change 17.085 Support for RACAL IT Security's SRM product for HSM SMF
EXSRMHAP record creates three new datasets:
EXSRMHDV SRMHSMAP SRM HOST SECURITY MODULE APPL
EXSRMHNU SRMHSMDV SRM HOST SECURITY MODULE DEVICE
FORMATS SRMHSMNU SRM HOST SECURITY NULL RECORD
TYPESRMH The Null Record dataset is created from records that have
TYPSSRMH no Device nor Application segment, just a 36-byte record;
VMACSRMH it is not clear of what use they may be.
VMXGINIT
May 6, 1999
Thanks to Choo Hui Chuin, Maybank, MALAYSIA.
Change 17.084 -The %INCLUDE of IMACIMSA should have been just before the
TYPEIMSA MACRO _VARxxxx definition, and has been moved, but there
VMACIMSA was no error since IMACIMSA is re-included by TYPEIMSA.
May 15, 1999 -The _KIMSBMP macro was added to the step that builds the
BMPS dataset so that full tailoring is supported.
Thanks to Chris Weston, SAS Institute, USA.
Change 17.083 The label for variable STRTTIME was changed to INTERVAL
VMAC25 START TIMESTAMP because in BUILDPD3, the type 25 label
May 4, 1999 was overriding the CICS and other Interval datasets.
I should have chosen a different name for the JES3 TYPE25
dataset, but its too late for that now, but changing its
label will eliminate the JES3 confusion.
Thanks to Neal Musitano, Jr., Department of Veterans Affairs, USA.
Change 17.082 DATASET PDB.TYPE200 NOT FOUND results when TYPSIDMS is
VMACIDMS used; the four lines _STY200, _STY201, _STY202, _STY203
May 4, 1999 are deleted as the TYPE200 members were IDMS 10.2 only.
Thanks to Alan Deepe, Perot Systems Europe, ENGLAND.
Change 17.081 The invocation of the sort macro, _STMVS, should have
TYPSTMV2 been spelled _STMV2 in member TYPSTMV2.
May 4, 1999
Thanks to Kathy Gordon, General Nutrition, Inc, USA.
Change 17.080 Comments only were changed, on how to handle CADI record
IMACCADI with ID=239 instead of ID=6. Those comments are now the
May 4, 1999 MXG Note Example of using IMACFILE to change ID number.
Thanks to Bob Cooney,
======Changes thru 17.079 were in MXG 17.01 dated May 3, 1999======
Change 17.079 Yet another enhancement to the UTILBLDP utility that will
UTILBLDP create the //SYSIN file BUILDMXG to build your tailored
May 1, 1999 PDB. This iteration detects if CICS, DB2, TMNT, or TY74
May 14, 1999 data was requested, and if the ASUM member appropriate to
that data are not included, they will be added with a new
comment "/*RECOMMENDED*/". New options to run BUILDMXG
instead of creating the file, INCLAFTR= to name members
to be included after BUILDMXG runs, and SPINUOW to pass
the SPIN count for ASUMUOW build, if requested.
Change 17.078 Change 17.029 was also needed in MONTHBLD; two lines with
MONTHBLD non-blank character in column 72 caused failure, even tho
May 1, 1999 the syntax should be valid.
Thanks to David Gibney, Washington State University, USA.
Change 17.077 Chuck discovered that some PDB.ASUMTAPE observations with
ASUMTAPE STATUS=MISSEDMNT had TMNTTIME incorrect and traced some
May 3, 1999 to be caused by "multi-unit,never-used" tape mounts:
May 20, 1999 Using UNIT=(TAPE,2) allocates two tape drives, and
See 17.106 two scratch tapes will be initially mounted. When a
volume fills, writes switch to the second drive while
a new tape is mounted on the first drive, so at CLOSE
of the DDNAME, there will always be a hanging mount
that was never used and never opened. But MXGTMNT
saw that mount, and at deallocation time it writes the
SMF record with the actual (earlier) mount start and
end times; MXG sets VOLSER='UNKNWN' because without an
OPEN, the VOLSER is unknown. And IBM's type 21 SMF
record contains blanks for VOLSER for the dismount!
This and other discoveries led to revisions in internal
algorithms in ASUMTAPE, described below, but there was
no error in the number of observations in PDB.ASUMTAPE.
Some obs that previously had STATUS='MISSEDMNT' will now
be MATCHED, and a few will now be STATUS='WRONGVOL'.
-The VOLSER=UNKNWN mount records are no longer discarded.
They are for those "multi-unit,never-used" mounts in
which the MXGTMNT monitor is still waiting for a VOLSER,
and their type 21 record has blanks for volser.
-The "sorttime" used for MOUNT records is now based on the
end of mount timestamp, TENDTIME, moved two seconds back
to account for the MXGTMNT timer pop, but not moved back
before the start of the mount timestamp, TMNTTIME:
sorttime = MAX(TMNTTIME,TENDTIME-2);
These choices for sort order were tested:
TMNTTIME - start of mount (sampled) timestamp. Used
early, but found to cause many MISSEDMNT
events, correcting moved it before ALOCSTRT
so TENDTIME was used in 17.01/17.02.
TENDTIME - end of mount (sampled) timestamp. Used
in 17.01 and 17.02, revised above in 17.03.
Without subtraction, a few were found with
TENDTIME after the TY21TIME, which created
MISSEDMNT events, but the 2 second pop now
sorts the mount record before the dismount,
and the MAX(TMNTTIME) ensures the it will
not be shifted to earlier than TMNTTIME (as
that could put the mount before allocate).
SMFTIME - when record written, can be after TENDTIME,
eg., for "multi-unit,never-used" mounts
whose SMF records are written at (sampled)
deallocate time, so SMFTIME can even be
after TY21TIME.
-Some MISSEDMNTs had mount records, but their mounts had
been discarded due to missing JESNR, which was used to
recognizing a new JOB. I have revised that logic to not
require JESNR, and thus can keep those mount records.
-Some MISSEDMNTs are for "start-up effect missed-mounts"
whose mount had occurred before the begin time of the SMF
file (ALOCSTRT earlier than the first dismount), but they
occur on the first day's run of ASUMTAPE and are
eliminated when the SPIN library takes effect on the
second run.
-Some MISSEDMNTs are now STATUS=TY21ONLY, because the test
is now IF ALOCSTRT LE TY21TIME LE ALOCEND THEN (added
test for ALOCEND) so that 21s with times after the end of
the held alloc record are recognized.
-Some MISSEDMNTs are now STATUS=WRONGVOL, because I found
I can recognize many instances of the operator putting in
(intentionally) an incorrect volume (when he/she cannot
find the correct volser, the stick in any tape to knock
down the outstanding mount message).
-Some remaining MISSEDMNTs in non-VTS environment are the
result of allocation recoveries when allocation switching
occurs; sometimes the mount was seen but the wrong job
name was put in the mount record so the mount did not
match up. A new version of MXGTMNT is in testing that
may be able to detect this state and correct or eliminate
those bad mount records.
-This revision now matched 13,822 tape mounts, found 5
WRONGVOL, 26 TY21ONLY, and only 24 are now MISSEDMNTs!
Thanks to Chuck Hopf, MBNA, USA.
Change 17.076 Type 73 with APAR OW15406 (IODF date expanded to YYYY)
VMAC73 and first 17.01 printed debugging lines on the SAS log:
May 1, 1999 YYYY IODFTIME=25MAR1999:08:24:18.00 _N_= ....
because the PUT statement had not been deleted.
Thanks to MP Welch, SPRINT, USA.
Change 17.075 The SORT order in these examples did not include SYSPLEX
ANALMTP variable in the PLOTs of TYPE70 and RMFINTRV, causing
ANALMPL a NOT SORTED error. SYSPLEX was added to RMF sort order
Apr 30, 1999 in MXG Change 16.288 but these examples were overlooked.
Thanks to MP Welch, SPRINT, USA.
Change 17.074 EXCP/IOTM variables did not exist in TYPE434 because the
VMAC434 "%INCLUDE SOURCLIB(IMAC434);" statement should have been
Apr 30, 1999 "%INCLUDE SOURCLIB(IMAC30IO,IMAC434);". This error was
introduced in the MXG 16.04 redesign.
Thanks to Mike Hoey, Ameren Services Corporation, USA.
======Changes thru 17.073 were in MXG 17.01 dated Apr 29, 1999======
Change 17.073 -SAS Version 7 causes error message on SYSMSG that options
AUTOEXEC CODEPCT and BLKSIZE(TAPE) are not supported in V7, but
CONFIGV7 there a return code of zero is set, so there is no real
Apr 28, 1999 error condition. To eliminate those messages, however,
new CONFIGV7 member exists and it can be used instead of
CONFIG in your MXG SAS JCL procedure. (Note that members
CONFIG, CONFIG07 and CONFIG08 are identical, and they are
for SAS Version 6.07 thru 6.09.).
Note: Feb 17, 2000: Members CONFIGV8 and CONFIGV7 are
the same and eliminate warning messages on the SAS log
with SAS Version 8.
-For ASCII execution, member AUTOEXEC is the equivalent of
CONFIG and it has been updated to pass the same options
for ASCII MXG execution as are set by CONFIGV7 for MVS.
Change 17.072 ANALDALY's sort order had not been updated to include the
ANALDALY SYSPLEX variable (BY SYSPLEX SYSTEM STARTIME), causing a
Apr 28, 1999 NOT SORTED error message.
Thanks to MP Welch, SPRINT, USA.
Change 17.071 Duplicate obs were detected and deleted from MQMACCT data
VMAC116 set (type 116 MQ-series accounting) because identical 116
Apr 28, 1999 records are created, in pairs and triplets (284 removed
of 24,000). The sort macro _BTY116 was expanded to hold
the full set of unique variables, but each observation is
from a different SMF record, so variable SMFRECNR was
added to the KEEP list, so that no records are duplicates
and so none are deleted by the SORT. (TYPE116 does not
sort, so it deleted no observations; only if you used the
TYPS116 member or the _S116 or _Sty116 macros were dupes
removed.) Further investigation with IBM is planned.
Note added Feb 18, 2000: While SMFRECNR was added to the
KEEP= list for dataset MQMACCT, it was not added to the
BY-list macro, because it would prevent removal of dupes
that came in two different SMF-reading jobs. See the
sort revisions in Change 18.001 and discussion there.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 17.070 Using ANALCNCR to count concurrency failed if the values
ANALCNCR for start or end were missing. ANALCNCR now deletes any
Apr 28, 1999 input observations with missing timestamps (and reports
how many if any were found).
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 17.069 Thirty-nine instances of "&NUM.2 "
VMACEDGR were changed to "&NUM.2. "
Apr 28, 1999 Retention Date field RDRETDAT can contain "WHILECATLG"
as date value; that string is now reported and new MXG
variable RDWILCAT='Y' and RDRETDAT will be missing.
Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.
Change 17.068 Change 16.078 increased variables CSTORE and ESTORE in
RMFINTRV dataset TYPE71 to eight bytes stored length, but RMFINTRV
Apr 28, 1999 had the variables in the new LENGTH 8 and in the old
LENGTH 4 statement; remove them from LENGTH 4 statement.
Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.
Change 17.067 Inconsistent documentation and code, but thankfully with
VMXGSUM no impact. The invocation of &INCODE1 is now located
Apr 28, 1999 after the invocation of &INCODE instead of before, but we
have never used &INCODE1= nor do I really think anyone
else would have; it was really there just for insurance
if we ever needed it.
Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.
Change 17.066 Several IMACs still had active macro definitions for the
IMACxxxx "_L and _K" macros that should have been removed in the
Apr 21, 1999 16.04+ design (they are now defined in the VMAC, and the
IMAC should be only comments). Only if you tried to use
the %LET MACKEEP= architecture to tailor these IMACs was
there a problem - your tailoring may have been ignored!
These IMACs were revised: IMACNTCP, IMACSTX, IMACSUIN,
IMACSUPR, IMACSVCC, IMACSTC, IMACICE.
Change 17.065 Eight DB2 variables in DB2ACCT and DB2STATS were only
VMACDB2 input if LENQXST was GE 428, for DB2 Version 6, but the
Apr 21, 1999 fields exist in DB2 Version 5.1. These variables
QXALOCL QXALOCC QXSTFND QXSTNFND QXSTIPRP
QXSTNPRP QXSTDEXP QXSTDINV
are now INPUT if LENQXST is GE 16, and the remainder of
the 6.1 fields are then input if LENQXST is GE 428.
Thanks to Ken Michalik, Kraft, USA.
Change 17.064 The ASMIMSLG/ASMIMSL5 programs still had symbolic value
ASMIMSLG &DFSMS set to 0 (for DFP) that must be changed to one if
ASMIMSL5 you have DF/SMS instead. If you overlooked this value,
Apr 20, 1999 you might read 107 out of 110 log tapes without error and
then fail with 0C4 abends on the other three log files!
I have made the default now to be DF/SMS installed with:
&DFSMS SETB 1
in both programs (ASMIMSL6 already had 1 as its default).
Thanks to David Pearce, Westpac Banking, AUSTRALIA
Thanks to Andrew Barrett, Westpac Banking, AUSTALIA
Change 17.063 Reserved Change.
Apr 20, 1999
Change 17.062 Comments only. TMON data can be dumped in two modes, and
EXITMON6 MXG supports only the "Data-Image" format. If the TMON
Apr 20, 1999 data instead is dumped with their "Export-Import" format,
an extra 104 bytes prefix each record. Comments remind
you to create "Data-Image" format, but also provide an
example of how to use the INFILE's START=105 value to
strip off those extra bytes so MXG can process the badly
dumped data anyhow!
Thanks to Coen Wessels, UNICIBLE, SWITZERLAND.
Change 17.061 The DASD Allocation Monitor program had return code 4 in
ASMDALO its assembly, but runs fine on an OS/390 2.4 system with
Apr 19, 1999 all of its UCBs below the 16MB line, while it 0C4's at
one site which has dynamic UCBs - we are investigating
and will update this text when more is known.
Thanks to Paul Parragio, U.S. Geological Survey, USA.
Change 17.060 "Final?" enhancement to MXG 16.04 architecture defines a
VMXGINIT new &Wdddddd macro variable for the //WORK destination of
VMACXXXX each MXG dataset, just like the &Pdddddd macro variables
Apr 17, 1999 for the output "PDB" destination. The macro _L and _W
are now defined with this syntax in their VMACs:
MACRO _Ldddddd &Pdddddd.DATASET %
MACRO _Wdddddd &Wdddddd.DATASET %
so any existing overrides of the _L or _W macros continue
to work, but instead you can use the simpler syntax:
%LET &Wdddddd = DDNAME ;
to redirect that dataset to DDNAME. That %LET can be
stored in your IMACKEEP member, or can be put ahead of
of the %INCLUDE program statement. I'm only sorry I did
not think of this in time to include in MXG 16.16!
This enhancement is transparent, unless you use USER=XYZ:
There were 272 members EDITed for this change.
Before, if you use // EXEC MXGSAS,OPTIONS='USER=XYZ'
all datasets that SAS wrote by default to //WORK would
be sent to the XYZ DDname, but now, SAS sees a real
DDNAME (yep, it happens to be "WORK", but SAS doesn't
see that, so the datasets are not output to XYZ).
Now, to send all //WORK datasets to the //XYZ DDname,
you can re-initalize MXG and change the work default:
%VMXGINIT(MXGWORK=XYZ);
%INCLUDE SOURCLIB(TYPExxxx);
and get the same effect as the USER=XYZ option.
Jan 2009: The preceeding example to send //WORK to //XYZ
has not worked since 2000. See Change 18.148.
The MXGWORK argument of %VMXGINIT was removed
in Change 26.310.
It took 240 minutes to locate and change the 2450 lines
in 272 members. It then took 120 minutes to locate and
correct the 19 characters in 17 lines in 14 members that
had been incorrectly typed. I had an error in 5.1% of
the members I edited, but that is only 0.7% of the lines
Change 17.059 Support for APAR OW37708 and/or APAR OW38073 add four new
VMAC42 variables, SMF42BUF/BMX/LRU/UIC to the TYPE42TO dataset,
Apr 16, 1999 with total and highwater mark of BMF buffers and BMF LRU.
interval and cycles until castout.
Change 17.058 For RMM/EDGS records EDGATYPE R or S, there are two
VMACEDGS different sets of variables depending on MSRMSTID. Now
Apr 16, 1999 both sets are decoded, and new variables MSUSTNAM,
MSMEDIA and EDGATYPE are added to dataset EDGSSREC.
Thanks to Richard Fortenberry, Mitsubishi Motor Sales of America, USA
Change 17.057 -Change 16.225 was incomplete; the INPUT of the variables
VMACHSM WFSCPUTM and WFSACCT was added in the ID+1 record but was
FORMATS not added in the ID record, but since the FSR segment is
Apr 16, 1999 now in the ID+1 record, there should be little impact,
unless you are missing the APAR that moved the segment.
-Format MGHSMFU was updated to include values 15 and 16,
for ABARS ABACKUP and ABARS ARECOVERY records.
Thanks to Richard Fortenberry, Mitsubishi Motor Sales of America, USA
Change 17.056 Support for the index information in DB2 Type 102 subtype
VMAC102 22 for DB2 5 and later is now decoded and creates ten new
Apr 16, 1999 variables in dataset T102S022.
Thanks to Scott Mcdonall, Southern California Electric, USA.
Change 17.055 Support for NTSMF new Quota Server object creates new MXG
EXNTQTAS dataset QUOTASRV.
FORMATS
IMACNTSM
VMACNTSM
Apr 15, 1999
Change 17.054 Using UTILBLDP to create your tailored sysin for BUILDPDB
UTILBLDP had errors and not clearly documented. If your tailoring
Apr 15, 1999 generated a MACRO _Edddddd .... statement, it was missing
an end comment on that line that cause a recursion error.
If you added the TMNT (MXG Tape Mount) product records,
you got an OPEN failure because UTILBLDP forgot that TMNT
records are in BUILDPDB by default. The missing "*/" is
now created, and your request to add TMNT records will be
used to set the _IDTMNT value without the OPEN failure,
so that observations are created in TYPETMNT dataset.
Comments were revised to document that you run %UTILBLDP
once to build an output text file, (BUILDMXG is now the
recommended name, and the recommended destination is in
your USERID.SOURCLIB). Then that "BUILDMXG" file with
your tailoring changes is used instead of the BUILDPDB
member in your daily job, either by pointing the SYSIN
of the daily job at BUILDMXG file:
//SYSIN DD DSN=USERID.SOURCLIB(BUILDMXG),DISP=SHR
or by replacing the %INCLUDE SOURCLIB(BUILDPDB); in your
daily PDB job with %INCLUDE SOURCLIB(BUILDMXG);
If you name the output file "BUILDPDB", it cannot be
put in the //SOURCLIB concatenation, because it will
recursively include itself. It could be put in a PDS
that is not in the SOURCLIB concatenation and pointed
to in that source library, but using BUILDMXG as the
member/file name for the output of UTILBLDP is much
safer and clearer.
Thanks to Keith McWhorter, State of Georgia DOAS, USA.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 17.053 Typo in VMXGINIT caused _S110 (sort all type 110s) to
TYPS110 fail with APPARENT SYMBOLIC REFERENCE PCICCF9 error. The
VMXGINIT two occurrences of PCICCF0 in VMXGINIT were changed to
Apr 15, 1999 PCICCF9. The ultimate cause of the error, however, was
Jul 20, 1999 that the _S110 macro was not used in the TYPS110 member,
so it was not fully tested; now, _S110 will execute when
member TYPS110 (to sort all datasets) is tested.
Jul 20: Typos in text: PCICFCn changed to PCICCFn.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Thanks to Tom Elbert, FORTIS, USA.
Change 17.052 Variable A08DURAT was missing in CICS/ESA 4.1 and later,
VMAC110 because the timestamps used to create it moved from the
Apr 14, 1999 STID=37 to the STID=39, and I overlooked creating the
duration variable from them. In addition, A08DURAT is
now truly the duration, since now the start and stop
variables are datetimestamps; previously they were only
a 24-hour time of day, so its calculation is direct:
A08DURAT=A08LBKDD-A08LBKCD;
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 17.051 A MACKEEP= example in Change 16.134 and DOCMXG does not
ChangeSS work safely, and was removed. The bad example showed
DOCMXG that you could sometimes tailor an _Edddddd exit macro
Apr 14, 1999 without using a semicolon and avoid the %QUOTE( ), but
that does not always work, depending on the contents of
the EXdddddd member used by the _Edddddd macro. Instead,
the second (and good) example showed that you should add
IF ... THEN DO; %include (member); END; logic around
the include of the EXdddddd member, and how to put the
MACKEEP= argument inside the %QUOTE ( ) function. This
is always safe, and only that second example was kept.
Thanks to C. Fred Kuhstoss, Norfolk Southern Corporation, USA.
Change 17.050 Using the new PDB.ASUMTAPE as input to member ASUMTMNT
ASUMTAPE can cause INVALID DO CONTROL error for "MISSEDMNT" mounts
Apr 14, 1999 because their TMNTTIME and TENDTIME variables were left
missing. But these MISSEDMNT events are all very fast
mounts, which had physical mount time in less than one
sample interval (max 2 seconds by default, may be 0.5),
so I have chosen to set the TMNTTIME and TENDTIME equal
to the ALOCSTRT datetimestamp for MISSEDMNT events in the
PDB.ASUMTAPE dataset to protect member ASUMTMNT.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 17.049 Typo caused no observations for dataset NPMSEEND. The
VMAC28 statement _E028SE1; after IF NPMSUBTY=49X THEN DO;
Apr 14, 1999 should be _E028SE2; (as in the comment).
Thanks to Bill Shanks, SEMA, ENGLAND.
Change 17.048 Support for IXFP/ICEBERG Subtype 8 and Subtype 6 fix.
EXICE8CL -IBM/STK mis-documented the IXFP SNAPSHOT DDSR segment,
EXICE8DD causing INVALID DATA FOR DSSRTIME error. DDSRTYPE is
EXICE8DS a four-byte binary and not a one-byte character.
EXICE8NP -New subtype 8 is an extended subtype 6 record that now
FORMATS creates four new MXG datasets, replacing two:
IMACICE ICEBR8CL - Cluster Definition
VMACICE ICEBR8DS - Dataset Name Segment
VMXGINIT ICEBR8SN - Snapped Extents List Segment
Apr 15, 1999 ICEBR8DD - DDSR Extents List Segment
Thanks to Judy Arroyo, Summit Bank, USA.
Change 17.047 Some 24 variables with MGBYTES format also had labels
VMACDCOL with "(MGBYTES)", which misled some to think the field
VMACTSOM contained "mega-bytes". MXG variables formatted with
VMACNETP the MGBYTES format contain bytes, but are converted when
Apr 13, 1999 printed to display their value in K/M/G/T-suffix for
Kilo/Mega/Giga/Tera-byte (i.e., 1024*) units. Because of
this confusion, the "(MGBYTES)" in the LABEL of all
variables was removed. The LABEL of a variable describes
the contents of that variable; the FORMAT of a variable
describes its display format, and implicitly its internal
units (MGBYTES in bytes, TIME/DATETIME in seconds, etc.).
I just read that the International Standards body has
defined new prefixes of KIBI/MEBI/GIBI/TEBI to
explicitly describe "binary thousands", or units of
1024-per-"thousand", so the MGBYTES format formally
supports those units with its "K/M/G/T/P" suffixes!
Change 17.046 ML-19 of ASMTAPES supresses the TMNT005E messages that
ASMTAPES should not have been printed. Originally a message for
Apr 12, 1999 an unexpected event, these messages occur with very fast
mounts. We detected that an ASID has a tape allocation,
but when we (slightly later) scan to that UCB, it no
longer is owned by the ASID number we got at the start
of the sample. Fast scratch VTS mounts now cause this
message to print in flurries, but the message has no
impact on the SMF records created by ASMTAPES, which are
just fine even when there are TMNT0005E log messages.
This correction returns to the caller with an RC-8, which
will cause the main logic to simply continue processing
with the next tape drive. At the next sample interval
we'll detect the ASID change and cut the allocation for
the job that used to have the drive allocated.
Thanks to David Gayle, Alltel, USA.
Change 17.045 Changing the Interval of PDB.ASUM70PR with _DURSET macro
ASUM70PR no longer worked, because of internal changes to VMXGSUM
Apr 12, 1999 to the &DATETIME parameter. To synchronize ASUM70PR with
RMFINTRV, IMACRMFI's _DURSET macro was used in a MYTIME=
argument, instead of using the VMXGSUM interval settings.
Additionally a SHIFT variable was needed to be created,
complicating the old logic. This redesign removed the
MYTIME= and INTERVAL=, and instead substitues the _DURSET
and IMACSHFT statements directly in the INCODE= argument.
This is both simpler and forces synchronization with the
PDB.RMFINTRV that is demanded in the later merge.
Thanks to Mike Hill, Abbey Life Assurance Company Limited, ENGLAND.
Change 17.044 Another typo in the _CDE102 macro causes error if TYPE102
VMAC102 is used to create all 300+ possible IFICIDs. The line
Apr 9, 1999 _C102206 _C102107 _C102108 ... should have been
_C102106 _C102107 _C102108 .... See Change 17.020.
Thanks to Hans Coolen, Zwolsche Algemeene, THE NETHERLANDS.
Change 17.043 Variable FSRDLM was not converted to yyyyddd julian date.
VMACHSM Eleven lines after CC=FLOOR(FSRDLM/100000) statement, the
Apr 9, 1999 IF YYYYDDD GT . THEN FSRBDATE=YYYYDDD; should have been
IF YYYYDDD GT . THEN FSRDLM=YYYYDDD; (Date Last Moved).
Thanks to Solomon Baker, Prudential, USA.
Change 17.042 Type 42 subtype 16 was out of alignment; after the input
VMAC42 of SMF42GAI and SMF42GBI, lines with +3 were inserted
Apr 9, 1999 to skip over the remaining three bytes of those four byte
fields. Type 42 subtype 19 timestamps SMF42JNE/SMF42JNF
are now input as &PIB.8.3 instead of 8.6. Many times that
were documented as microsec in OS/390 R2.6 SMF manual are
now documented as milliseconds in OS/390 R2.7 manual, and
most were caught in MXG 16.16, but these two were missed.
Thanks to Ben Cheung, Bank of Montreal, CANADA.
Change 17.041 The original PDB.ASUMTAPE dataset had SYSTEM='ALL ' for
ASUMTAPE all observations, but that is now corrected and the obs
Apr 9, 1999 will contain the SYSTEM of the Allocate (or Mount, if
there was no Matching Allocate, or Dismount if neither
an Allocate or a Mount was found. MXG sets SYSTEM='ALL'
internally so that grouping is done by DEVNR, but now the
true system is reset into variable SYSTEM.
See Change 17.010 for more complete details on why you
must use the new PDB.ASUMTAPE in place of PDB.TYPETMNT.
Thanks to David Ziems, NationsBank, USA.
Change 17.040 STC SMF record subtype 14 apparently does not always
VMACSTC contain step name and dataset name, STC14SNM/DSN (and
Apr 9, 1999 the label for STC14DSN was typoed too!). Now the MXG
logic tests for those fields existence before input.
Thanks to Jorn Ernebjerg, Kommunedata A/S, DENMARK
Change 17.039 Cosmetic. Typos in example for DATASET=DB2STATB were
DOCMXG corrected. The actual _SDB2STB code in member VMACDB2
Apr 6, 1999 was correct and can be viewed as an example.
Thanks to Engelbert Smets, Provinzial Versicher. Dusseldorf, GERMANY
Change 17.038 Cosmetic. Typos in the list of DDDDDD and DATASET names.
IMACACF2 ACFJEL/ACF2JEL should be ACFJRL/ACF2JRL and ACFAR/ACF2VR
Apr 6, 1999 should be ACFVR/ACF2VR. Only comments were changed.
Thanks to Mike Penlington, WestPac Trust, NEW ZEALAND.
Change 17.037 Support for TANDEM F40, G04, and G05 Operating System
VMACTAND changes to CPU, DISK, and PROCESS (INCOMPATIBLE, because
Apr 6, 1999 you must specify the exact LRECL when you upload TANDEM
records, and the LRECL is different for these records for
these operating systems. A number of new variables,
including Bytes In/Out have been added in this change.
Although these changes have been coded, no test data for
any of these operating systems has been available yet.
Thanks to Kim S. Johnson, NationsBank, USA.
Change 17.036 TPX Start Up record, subtype 1, was not properly decoded.
VMACTPX Now TPX subpool entry count is corrected, and the total
Apr 6, 1999 pool size (instead of entry size) is calculated for each
Apr 8, 1999 of the twelve pools, above and below the 16M line.
Thanks to Tom Parker, CSC Logic, USA.
Change 17.035 DENSITY IS MISSING message will now produce a hex dump of
VMACTMS5 the bad record for the first two errors, for diagnosis of
Apr 6, 1999 the raw record, but the message is no longer printed if
STPNAME='PRE-TMS', which are the only records that that
have had their density field zero.
Thanks to Joe Bruns, Cargill, USA.
Change 17.034 UNEXPECTED TCP/IP DATA VALUE message with TSTTCPCM=STOU
VMACTCP is fixed by adding 'STOU', to the list of commands for
Apr 6, 1999 FTPCLIENT/FTPSERVER events. Also, the message will now
also print a hex dump of the full record for the first
three instances on the SAS log.
Thanks to Pat Hearne, Experian, USA.
Change 17.033 New ratio variables are created in TYPE74CA dataset to
VMAC74 match RMF cache reports and eliminate an extra pass of
Apr 5, 1999 the data in your reports. Variables PCTREAD, TOTDEVHR
and WRITEHR (Percent Read, Device Hit Ratio and Write Hit
Ratio) were added.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Taught my 3-day Class in Dallas, March 31 - April 2, 1999.
Flew to Steve Cullen's retirement at State Farm Mutual Automobile
Insurance Co, Bloomington, Il, on April 2, 1999, in a Lear 25.
Change 17.032 For extended format datasets, HIGHRBA contains not the
VMAC64 highest byte address, but the highest CI number, and
Mar 29, 1999 so MXG stored HIGHRBA into HIGHCIEX, and tried to set the
HIGHRBA to missing (but misspelled it as HICHRBA). But
now, the spelling was corrected and the block of code
for extended format datasets was moved to after the INPUT
of CISIZE, and for extended format datasets, now the
HIGHRBA=HIGHCIEX*CISIZE calculates the highest relative
byte address of these datasets too.
Thanks to Alan Winston, MBNA, USA.
Change 17.031 Documentation. Boole's CMF product can create type 74
VMAC74 subtype 5 Cache records by specifying CMFREC=74 on the
Mar 29, 1999 CACHE control Statement. See CMF Monitor Batch User
Guide and Reference, Version 5 Release 2.3 pp 134-135.
Thanks to Bernd Klawa, Stadt Bielefeld, GERMANY.
Change 17.030 The calculation of RATCNT was revised, based on an email
VMACDMON from a CA technician. They now report that their code
Mar 29, 1999 calculates RATCNT=(RTCNT-RRSCNT)+SSAMPRT; but the old MXG
equation was RATCNT=(RTCNT-RRSCNT)*SSAMPRT+RRSCNT;.
Thanks to Ian Jones, Standard Life Assurance Company, ENGLAND.
Change 17.029 One site encountered syntax errors because two lines had
WEEKBLDT extended into column 72 (which is not wrong, and we can't
Mar 29, 1999 figure out why the one site had a failure), but the blank
before the percent sign was removed in the BYLIST macros
for TYPE72GO and TYPE7204, so that the line had a blank
in column 72, and the syntax error went away. The site
is at SAS 6.09 TS460!
Thanks to Bob LeMaster, Compass Bank, USA.
Change 17.028 TLMS expiration dates of 9990000 caused INVALID ARGUMENT
VMACTLMS TO FUNCTION DATEJUL, and variables BAVEXPDT or BADEXPDT
Mar 28, 1999 had missing values. These fields are now protected just
like TMS: two new variables, ORVEXPDT and ORDEXPDT will
contain the original EXPDT values, and for these non-date
dates (see Change 16.382 for the set of non-date values),
variables BAVEXPDT/BADEXPDT will contain '31DEC2099'D so
than any calculations will return a large value for these
non-date expiration values.
Two statements were changed for each variable in each
TLMS-version-block. The changes for BADEXPDT are:
IF 0 LT BADEXPDT LT 9999999 THEN .... was changed to
IF 0 LT BADEXPDT LT 9900000 THEN .... and
ELSE IF BADEXPDT=9999999 THEN .... was changed to
ELSE IF BADEXPDT GE 9900000 THEN ....
Thanks to Jim VanArsdale, IBM Global Services, USA.
Change 17.027 Support for APAR OW35586 "FICON" channels adds fields to
VMAC73 type 73 record from RMF Monitor I, and the type 79-12 RMF
Mar 28, 1999 Monitor II (optional) record. The TYPE73 and TYPE79C
Jul 11, 1999 datasets have new fields (variables prefixed SMF73 in the
TYPE73 dataset are prefixed R79C in dataset TYPE79C).
Depending on the CPMF Channel Measurement Group for the
Channel, SMF73CMG, one of these two sets of measurements
will be populated in dataset TYPE73:
For SMF73CMG=1, the Group 1 measurements are:
SMF73FG5='CPMF*VALIDATION*FLAGS'
SMF73TUT='TOTAL*CHANNEL*PATH*BUSY*TIME'
SMF73PUT='LPAR*CHANNEL*PATH*BUSY*TIME'
or for SMF73CMG=2, the Group 2 measurements are:
SMF73MBC ='MAXIMUM*BUS*CYCLES*PER SEC'
SMF73MCU ='MAXIMUM*CHANNEL*WORK UNITS*PER SEC'
SMF73MWU ='MAXIMUM*WRITE*DATA UNITS*PER SEC'
SMF73MRU ='MAXIMUM*READ*DATA UNITS*PER SEC'
SMF73US ='DATA*UNIT*SIZE'
SMF73TBC ='TOTAL*BUS*CYCLES*COUNT'
SMF73TUC ='TOTAL*CHANNEL*WORK UNITS*COUNT'
SMF73PUC ='LPAR*CHANNEL*WORK UNITS*COUNT'
SMF73TWU ='TOTAL*WRITE*DATA UNITS*COUNT'
SMF73PWU ='LPAR*WRITE*DATA UNITS*COUNT'
SMF73TRU ='TOTAL*READ*DATA UNITS*COUNT'
SMF73PRU ='LPAR*READ*DATA UNITS*COUNT'
-And these were added to TYPE79C by Change 17.023.
-They provide Channel Path Activity data transfer rates
and bus utilization for FICON bridges (FCV), with new
IBM descriptions:
Bus Utilization: Percentage of bus cycles when
bus has been found busy for
this channel in relation to the
theoretical limit.
Read (MB/SEC) PART: Data transfer rates from the
or control unit for this individual
LPAR partition.
Write(MB/SEC) TOTAL: Data transfer rates from the
control unit for the entire
CPC/CEC.
Change 17.026 APAR OW15406 added YYYY value for IODF Creation Date/Time
VMAC73 IODFTIME. Fortunately, this date is not likely to be
VMAC74 used for anything other than display, if at all! The MXG
Mar 28, 1999 logic to protect the 2-digit YY field in systems without
that APAR was added, and now the MXG code for IODFTIME is
the same for type 73 and type 74 records.
Change 17.025 Adding new variables to the PDB.JOBS/STEPS/PRINT datasets
BUILD005 with the new %LET ADD30U4= NEWVAR1 ... ; syntax is easy,
BUIL3005 but I hadn't thought about an easy way to drop variables
Mar 25, 1999 from those PDB datasets. Of course, you could always do
as before, by copying the appropriate _PDBnnnn macro from
BUILD005/BUIL3005 into your IMACPDB or IMACKEEP member
and blanking out the unwanted variables. But I realized
that by locating all _PDBnnnn macro references to the end
of the KEEP= list (some were, some weren't!), you can now
use the new ADDnnnn macro variable either to add new or
to drop old variables from those three PDB datasets:
%LET ADD30U4= NEWVAR1 NEWVAR2 DROP= UNWANT1 UNWANT2 ;
%INCLUDE SOURCLIB(BUILDPDB);
Since the &ADDnnnn token is at the end of each _PDBnnnn
definition, adding variables worked no matter where the
_PDBnnnn macro occurred after the KEEP=, but the _PDBnnnn
reference must be at the end of the KEEP= list to safely
use the above syntax to both drop and add variables.
In truth, you could have used the ADDnnnn macro to
add and drop, even without my relocating, but you
would have had to protect any variables that followed
the _PDBnnnn reference in the BUILxxxx member by the
use of this syntax for following variables:
%LET ADDnnnn= V1 V2 DROP= X1 X2 KEEP= ;
because SAS accepts this syntax:
DATASET (KEEP=list DROP=list KEEP=list )
Thanks to Larry Melamed, SHL Systemhouse, CANADA.
Change 17.024 I can't seem to ever get VMACIMSA right. Line 1374 has a
VMACIMSA missing semicolon. Actually, the semicolon was in column
Mar 25, 1999 73, which MXG truncates under MVS because S=72 is set in
CONFIG, but my testing under ASCII accepted the longer
record. Shift the line left and put the semicolon in 72.
Thanks to Pete Young, University of Toronto, CANADA.
Change 17.023 -CPU time for Pre-emptible SRBS running in this ASID, and
TYPE79 the CPU time for Pre-emptible SRBs running on behalf of
TYPS79 this ASID, and the Total CPU time consumed in this ASID
VMAC79 are now variables R791ASST/R791PHTM/R791TCPC in TYPE791
Mar 25, 1999 dataset, and R792ASST/R792PHTM/R792TCPC in TYPE792. The
Mar 28, 1999 fields were added by OS/390 Version 2 Release 5.
-In validating the TYPE791 dataset, I note that it has
mostly-accumulated fields, so the _STY791 Sort macro now
includes additional data steps to deaccumulate the data,
and the deaccumulation is automatic if you use member
TYPS79. Or you can use TYPE79 and then invoke _STY791,
so that dataset TYPE791 contains valid interval values.
-Support for FIBERCON/FICON new measures were added. See
text of Change 17.027 for details of new measurements, as
the same variables were added to TYPE73 as to TYPE79C.
-In TYPE79 and TYPS79, the line with _CDE79S was deleted
because it did not belong there; fortunately it had no
external impact, except to confuse my debugging!
Thanks to Tim Crocker, National Council on Compensation Insurance,USA
Change 17.022 IMS 6.1 only, MXG 16.16 still was wrong. Six lines with
VMACIMSA "DHMS(DATEYYYY," must be "DHMS(DATEJUL(YYYYDDD),"
Mar 24, 1999 so that timestamp values are not missing. While IMS 6.1
records had been validated with MXG 16.09, VMACIMSA was
later "cleaned up" to create unique julian date fields to
examine for debug that were not kept, and that revision
introduced this error in MXG 16.16.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 17.021 HSM and TMS Julian Date variables are internally Y2K ok,
VMACHSM but their default print format was still "6.", causing a
VMACTMS5 julian date of 2000001 to print as 2E6. The default
Mar 19, 1999 print format is now changed from "6." to "7." in both
members, but the MXG 16.16-built datasets are still
completely valid internally, and you can add a statement
FORMAT DSRDATE 7.; in your reports to print the seven
digit julian dates.
Thanks to John McCray, Huntington Services Company, USA.
Change 17.020 Typo in the _CDE102 macro causes error if TYPE102 is used
VMAC102 to create all 300+ possible IFICIDs. The text _C012297
Mar 19, 1999 should have been _C102297.
Thanks to Jules Troxler, Swiss National Bank, SWITZERLAND.
Change 17.019 The definition of HSM macro _DIFFHSM was relocated from
DIFFHSM the DIFFHSM member to the VMACHSM member so that you can
VMACHSM redefine the _DIFFHSM macro if you only want one HSM
DOCMXG dataset. For example, after this change, to create only
Mar 19, 1999 the HSMDSRST dataset, you could use:
%LET MACKEEP=
_NHSM
MACRO _WHSMDSR HSMDSRST %
MACRO _DIFFHSM _SHSMDSR %
;
Bob also found a type in DOCMXG examples; the second use
of _N110 example needed a second percent sign to end the
MACRO _ECICTRN definition as it is inside the %QUOTE.
Thanks to Bob Barton, DaimlerChrysler, GERMANY.
Change 17.018 NPM 2.4 only. Datasets NPMINSES and NPMEVSAL have trash
VMAC28 in LSCDxxxx variables. IBM added fields for IP address
Mar 16, 1999 and IP Port Number, but I misread the DSECT and thought
they were inserted; in fact they overlaid existing fields
causing the INPUT statement to be miis-aligned with data.
There are two places that needed correction.
The original code in the first location was:
SLNKNAME $EBCDIC8.
@;
IF COFTYPE='SCD' AND LSCDREVL GE 3 THEN INPUT
LSCDIPNM $EBCDIC15.
@;
INPUT SLUSUBPU $EBCDIC8.
and the correct code in that location now is:
SLNKNAME $EBCDIC8.
@;
M16=-16;
IF COFTYPE='SCD' AND LSCDREVL GE 3 THEN INPUT
+M16 LSCDIPNM $EBCDIC15.
+1
@;
INPUT SLUSUBPU $EBCDIC8.
to back up 16 bytes and input LSCDIPNM correctly.
The original code in the second location was:
VRNUM &PIB.2.
@;
IF LSCDREVL GE 3 THEN INPUT
LSCDIPPN $EBCDIC5.
@;
INPUT
TRANPRTY &PIB.2.
and the correct code in that location now is:
VRNUM &PIB.2.
@;
M5=-5;
IF LSCDREVL GE 3 THEN INPUT
+M5 LSCDIPPN $EBCDIC5.
@;
INPUT
TRANPRTY &PIB.2.
to back up 5 bytes and input LSCDIPPN.
Thanks to Steve Donahue, Blue Cross Blue Shield of Texas, USA.
Change 17.017 Cosmetic. The BY list for the TYPETMNT dataset in the
ASUMTMNT ASUMTMNT and TRNDTMNT members had "DATETIME", but that
Mar 15, 1999 can now be changed to the real variable name of TMNTTIME
Apr 5, 1999 (changes to VMXGSUM several versions ago made that change
possible), and the sort order in TRNDTMNT was changed
changed from ... SHIFT DEVICE ... to ...DEVICE SHIFT ...
to be consistent with the prior sorts. In addition, the
ID=TMNTTIME, statement has to be deleted for this change.
Thanks to John Sheridan, Aer Lingus, IRELAND.
Change 17.016 RMM EDGR dataset EDGRDEXT has zero observations because
VMACEDGR _EEDGRV /*INC SOURCLIB(EXEDGRD); _WEDGRD OUTPUTS EDGRDEXT*/
Mar 15, 1999 should have been:
_EEDGRD /*INC SOURCLIB(EXEDGRD); _WEDGRD OUTPUTS EDGRDEXT*/
Thanks to John Paul, Capital Blue Cross, USA.
Change 17.015 The input dataset was WEEK.PRINTER but member ASUMPRTR
TRNDPRTR now creates WEEK.ASUMPRTR, so the input was changed to
Mar 11, 1999 WEEK.ASUMPRTR. The output remains TREND.PRINTER.
Thanks to John McCray, Huntington Service Company, USA.
Change 17.014 Documentation and revision. The original 16.16 example
UTILBLDP did not properly handle SMF records that had fixed ID,
Mar 24, 1999 such as IBM type 39 records, and there was a missing
end comment sign.
Change 17.013 Dataset TYPE21/PDB.TAPES variable OPEN is always blank
VMAC21 now (MXG 16.04+), but it used to always be "INPUT". In
Mar 9, 1999 fact, the DCBOFLGS field that is tested to set OPEN is
not valid, since it always contains nulls in our data.
(IBM documentation says that if no bit is on in that
field, it was not available to the SMF record). Since
the type 21 record now contains BYTEREAD and BYTEWRIT,
which are clearer indicators of activity, I will leave
the code as it is, with OPEN=blank. If IBM every fixes
the record to retain the DCBOFLGS, then the MXG code
will populate OPEN. In addition, if the new ASUMTAPE
is enhanced to merge in TYPE1415 records, the actual
OPEN value will be available with that analysis.
Thanks to Khoan Dang, MBNA, USA.
Change 17.012 RACF type 80 record with optional RACFTYPE=7 user segment
VMAC80A had INPUT STATEMENT EXCEEDED RECORD LENGTH error. Delete
Mar 8, 1999 the statement INPUT +RACFDLN @; that is immediately after
the statement WHEN (7) DO;
Thanks to Joe Faska, Depository Trust, USA.
Change 17.011 MXG 16.09-MXG 16.16. TYPEIMSA processing is wrong, with
VMACIMSA missing values for STRTTIME. There is one instance of
Mar 8, 1999 DATEJUL(YYYDDD) that has only three YYYs, and that must
be changed to four YYYYs: DATEJUL(YYYYDDD).
Thanks to Werner Bundschuh, SAS Institute, EUROPE.
Thanks to Dr. Harald Lindenmuller, Bayerische Beamtenversich, GERMANY
Change 17.010 MXGTMNT can miss some mounts or can create false ones!!
ASMFTAPE
ASUMTAPE The MXG Tape Mount and Tape Allocation Monitor program
ASUMTMNT MXGTMNT (in member ASMTAPES), has two newly discovered
Mar 11, 1999 serious errors in dataset PDB.TYPETMNT:
Apr 5, 1999
- extra tape mount event records may be created during
allocation recovery with a NOHOLD reply, and
- some very fast VTS scratch mounts are missed.
Fortunately, those errors can be corrected with the new
ASUMTAPE program, which will read these PDB datasets:
PDB.TYPETMNT - Sampled Tape Mount Events
PDB.TYPETALO - Non-sampled Tape Allocation Events
PDB.TAPES - Rename of TYPE21, IBM Dismount Tape
to create the new PDB.ASUMTAPE dataset, that not only
discards any extra mounts, but recognizes missed-mounts
by merging the Allocate with Dismount events, so that the
ownership, durations, plus bytes read/written is known!
This major enhancement should have been written long ago.
A "tape event" is created in PDB.ASUMTAPE for every tape
volume dismounted. An event starts with the allocation
for a volume and ends with the dismount of that volume.
An event could be an allocate/mount/dismount with one
open/close of one dataset on that volume, or a tape event
could have opened many datasets on a volume during one
mount of the volume, or an event could allocate a volume
and mount it in one step and then retain the volume and
use it many times in many subsequent steps until dismount
of the volume. All these are recognized and handled.
These are important variables in the new PDB.ASUMTAPE:
STATUS - MATCHED/MISSEDMNT/TY21ONLY status
VOLSER - Volume Serial Number
DEVNR - Device Number (a/k/a UCB Address)
DDNAME - DDNAME of first use of this volume
INITTIME - Step Initiate time of first step to use
PROGRAM - PROGRAM from first step to use volume
STEPNAME - STEPNAME from first step to use volume
ALOCSTRT - Start Time of allocation for this volume
ALOCVLTM - Duration this volume was allocated
TMNTTIME - Timestamp when Mount was issued
TAPMNTTM - Duration that it took to mount the tape
TMTDTIME - Timestamp when Mount was satisfied
TAPMTDTM - Duration when the tape was mounted
TY21TIME - Timestamp when Volume was Dismounted
BYTEREAD - Bytes Read
BYTEWRIT - Bytes Written
SIOCOUNT - SSCH/SIO Count, number of I/O operations
ERRORxxx - Tape Permanent/Temporary/Erase error counts
JOB - JOB/READTIME/JESNR, and all of the other
information from the first allocate record
and from the mount record.
To correct the errors, all you need do is to insert this
statement after your %INCLUDE SOURCLIB(BUILDPDB):
%INCLUDE SOURCLIB(ASUMTAPE);
and then use PDB.ASUMTAPE instead of PDB.TYPETMNT in your
reports and analysis programs.
If you already %INCLUDE SOURCLIB(ASUMTMNT), to create the
PDB.TAPEMNTS from PDB.TYPETMNT, you will need to add the
include of ASUMTAPE before ASUMTMNT:
%INCLUDE SOURCLIB(ASUMTAPE,ASUMTMNT);
so that the new PDB.ASUMTAPE dataset will be built and
then the revised ASUMTMNT member will create PDB.TAPEMNTS
from the new PDB.ASUMTAPE instead of from PDB.TYPETMNT.
You can correct past PDBs by running this job for each
PDB, starting with the oldest PDB first, because those
"inflight" allocations and mounts are written to the new
SPIN.SPINALOC and SPIN.SPINMOUN datasets at the end of
ASUMTAPE's execution, and are then used as input for its
next run:
// EXEC MXGSAS
//SPIN DD DSN=YOUR.SPIN.LIBRARY,DISP=OLD
//PDB DD DSN=YOUR.PDB,DISP=OLD
%INCLUDE SOURCLIB(ASUMTAPE,ASUMTMNT);
Here are the details of the errors, their cause, etc:
See additional enhancements in Change 17.077.
-MXG SMF Mount records are created for some mounts that
never happened. Jobs that are in allocation recovery
that receive WAIT and NOHOLD replies have mount records
written when message IEF433D "NOHOLD" is printed (but
there are more IEF433D messages than extra records).
Many of these extra mount records have missing JESNR or
READTIME, which are required for validation of matchup,
so those are output to READMSNG dataset and not used.
Some of these extra mount records had VOLSER='UNKNWN',
(MXGTMNT could not get the VOLSER), and originally they
were discarded until Change 17.077. UNKNWN are now used
to build PDB.ASUMTAPE, and also output in dataset UNKNWN.
just in case they are needed. The EXTRAMNT dataset
counts the additional extra mounts that were detected and
discarded in ASUMTAPE. One site had 110
UNKNWN+READMSNG+EXTRAMNT with 745 true tape mounts, while
a second had 406+507+179=1092 false mounts with 8166 true
mounts, so the impact is severe.
While just discovered, this error in MXGTMNT has probably
been there all along. We are presently unable to locate
any flags in OS/390 that can differentiate these IEF433D
mounts as false mounts; all of the bits available to us
when we sample the UCB status during the IEF433D state
look just like the bits during a real mount event, but we
are still investigating corrections to the monitor.
-MXG SMF Mount records are missed for some very fast VTS
scratch mounts, even with 1/2 second sampling. MXGTMNT
missed 219 VTS scratch mounts with 2 second sampling, but
missed only 19 with 1/2 second sampling.
Fast VTS mounts that were too fast and were missed by
MXGTMNT sampling are now captured and identified with
JOB/JESNR/etc by merging their Dismount and Allocate,
although the durations TAPMNTTM will be set to zero
and TAPMTDTM will be set to ALOCVLTM for those mounts
with STATUS='MISSEDMNT'.
-Two new code members were added and one was revised:
ASUMTAPE reads a PDB library to create the PDB.ASUMTAPE
dataset from the PDB.TYPETMNT/TYPETALO/TAPES datasets
that are build by BUILDPDB. ASUMTAPE is in JCLPDB6 so
that it will be build automatically with that JCL.
ASMFTAPE will read SMF data to create the PDB.ASUMTAPE
dataset, for sites that don't run BUILDPDB:
// EXEC MXGSAS
//SMF DD DSN=your.smf,DISP=SHR
//PDB DD DSN=the.output.library,DISP=(,CATLG)...
//SPIN DD DSN=the.inflight.spin,DISP=(,CATLG)
%INCLUDE SOURCLIB(ASMFTAPE);
ASUMTMNT creates the PDB.TAPEMNTS summary dataset that is
used in your tape mount reporting. It is now revised to
use PDB.ASUMTAPE as its input, instead of PDB.TYPETMNT,
if there are observations in PDB.ASUMTAPE. Thus you can
create the corrected PDB.ASUMTAPE dataset and use it in
place of the incorrect PDB.TYPETMNT dataset.
A print of the PDB.ASUMTAPE dataset can be produced by
the macro _TAPERPT, using this syntax:
%INCLUDE SOURCLIB(ASxxTAPE); _TAPERPT;
These WORK datasets are available for examination:
- From the TYPETMNT dataset these defective observations
were not used in the combine logic, but instead were
output to these work datasets:
READMSNG Mount missing READTIME or JESNR.
UNKNWN Mounts with VOLSER=UNKNWN, usually false
mounts, but mounts that were not opened,
like the last volume of multi-unit alloc
for scratch tape that was pre-mounted but
was not used.
- From the TYPETALO dataset these defective observations
were not used in the combine logic, but instead were
output to these work datasets:
ALLOCBAD Allocation with JESNR or JOB missing.
- From the combine of Allocate, Mount, and Dismount:
EXTRAMNT - Extra Mount or Mount with no Dismount, they
were discarded and not counted nor used.
BK2BKDIS - Back to Back Dismounts without alloc/mount.
Has not occurred in testing, but coded for.
ALLOCNOT - Allocation event that was not used; no mount
nor dismount found. Could identify jobs
that are wasting a tape drive, but most of
these are partial allocation events during
allocation recovery. A job needs two drives;
it gets the first but can't get its second.
We see the allocate event record for that
first allocate, but there was no mount nor
dismount because the job never allocated.
The job goes to the bottom of allocation
recovery, and another job is now allocated
to the drive. Typically there is a series
of back-to-back allocates for alternating
job names on the same device as jobs bounce
around.
ALLOCRET - Allocation event that was retained. Very
common to see A,M,A,A,A,A,D sequence for
a tape that was mounted once and then passed
and retained across multiple steps.
DEBUG - Zero obs unless you enable, typically for a
single device, to examine what records come
in what sequence.
SPUNMOUN - Inflight Mounts, held for tomorrow, they get
written out to SPIN.SPINMOUN.
SPUNALOC - Inflight Mounts, held for tomorrow, they get
written out to SPIN.SPINALOC.
The logic expects that a DEVNR is a unique tape drive,
i.e. no two tape devices have the same DEVNR/UCBADDRESS.
By default the variable SYSTEM is set to 'ALL ', so that
the logical merge is by DEVNR, because the IBM dismount
record can be written on a different system than the
system where the allocate and mount were written.
If you do have two tape devices with the same DEVNR
on two different systems, you can group your SMF data
for systems that share and for systems that don't and
run the ASxxTAPE program separately against each set
of SMF records, or better, you will be able to update
a new format table that MXG will use to reset the
variable SYSTEM to separate the shared and non-shared
devices. Contact Merrill to be the test site!
The implementation requires the //SPIN DD exist in your
JCL, and writes out to the //SPIN DD the SPINMOUN and
SPINALOC datasets, holding the inflight mount/allocate
records to be reintroduced in tomorrows processing.
The SPINCNT value in IMACSPIN is not used for ASUMTAPE,
because new allocations will eventually either match up
or confirm that the inflight allocate can be discarded.
I have done a lot of testing, with data from several
systems with different hardware, but this is a brand new
algorithm with lots of opportunities for validation.
I am highly confident that the PDB.ASUMTAPE matchup is
okay, and almost as confident that all other possible
non-matchups are decoded correctly into //WORK.
This program is validated for JES2 only, at present.
It does not fail with JES3, and does match the MXGTMNT
records from JES3 with the TYPE 21 records, but initial
JES3 tests suggest that because JES3 MDS allocations are
never seen by MXGTMNT, this program may not be as useful
for JES3. More JES3 testing is planned and this note
will be revised when more is known about JES3.
These sequences of Alloc/Mount/Dismount events are seen:
Normal: A M D
Multi-Volume A M D M D M D
Retained Allocation A M A A A A D
Dynamic Allocate A M D A M D
Missed Mount A D
Missed Mount Multi-Volume A D D D
Thanks to Chuck Olsen, ALLTEL, USA, whose analysis found the error.
Change 17.009 Support for deaccumulation of TYPE30_6 data. These funny
VMAC30 subtype 6 records are written for address spaces that are
Mar 4, 1999 started before SMF is up, and contain accumulated values
for most fields (but not all, and IBM doesn't document
which are accumulated and which are not) that require the
SORT and DIF() operation to produce valid interval data.
The JOB names that typically write subtype 6 records are:
ALLOCAS CONSOLE EYUX130 GRS IEFSCHAS JES2AUX JES3AUX
PCAUTH RACFDS RASP SMXC SYSBMAS TNF TRACE
VMCF
The dataset sort macro _STY30U6 for TYPE30_6 was revised
to deaccumulate the TYPE30_6 data into PDB.TYPE30_6, and
comments in VMAC30 list which variables are kept, dif()d,
which are not, and which are always missing values. Only
the PROD, ID, UREC, CPU, STOR, and PERF segments exist.
The change also corrects variables INTBTIME/INTETIME in
TYPE30_6. Because subtype 6 records contain nulls for
the SMF30IST timestamp from which GMTOFF30 is calculated,
INTB/INTE were never converted from GMT in TYPE30_6. By
revising the logic so that INTBTIME=SMF30IST only when
SMF30IST is non-missing, and by only calculating GMTOFF30
only when SMF30IST is non-missing, the GMTOFF30 from the
prior type 30 (non-subtype-6) can be used to convert GMT.
Thanks to Ron Hackett, US West, USA.
Change 17.008 Cosmetic. The &MACSHFT statement was moved to the end of
IMACSHFT the member.
Mar 4, 1999
Thanks to Chuck Hopf, MBNA, USA.
Change 17.007 TYPE50 dataset. Input should be BSIZE &PIB.4. instead of
VMAC50 BSIZE ?? 4. and the input of MXTRSIZE should be @75+
Mar 2, 1999 rather than @74+.
Thanks to Peter Durrant, National Australia Bank, AUSTRALIA.
Change 17.006 Support for DB2 type 102 subtype 199 adds QW0199xx fields
VMAC102 that report DB2 Dataset I/O statistics (avg/min/max delay
Mar 2, 1999 time in millisecs for sync/async/cached I/O plus counts).
There is an observation for every Piece or Partition of
every DB2 dataset (DBID/OBID), but only if the piece/part
averaged more than one I/O per second in the interval.
Looks interesting, and I too have used a one-I/O-per-sec
threshold to separate the wheat from the chaff.
One test record out of ten has QW0199xx fields missing
because it has only two segments (QWHSNSDA=2) when
there should be three. To be investigated with IBM.
Thanks to Dennis Pugh, BMC, USA.
Change 17.005 In the "Print first 50 obs of every NTSMF dataset" macro
VMACNTSM _RNTPRNV, the PROC PRINT DATA=_LNTDDB2 should be _LNTDB2.
Mar 1, 1999
Thanks to Mike Kynch, International Paper, USA.
Change 17.004 SYNCSORT variable INVOKSAS was not always set; the test
VMACSYNC should be IF INVOKFLG='...1....'B THEN INVOKSAS='Y'; as
Mar 1, 1999 the value of CMFSAS are x'10' or x'11'.
Thanks to Bruce Christopher, Household International, USA.
Change 17.003 Support for Candle V400 Omegamon for CICS Epilog records.
VMACEPIL Change IF OMPRDVER=451 OR OMPRDVER=450 THEN DO; to read
Feb 24, 1999 IF OMPRDVER=451 OR OMPRDVER=450 OR OMPRDVER=400 THEN DO;
and add MACRO _EPILOFF OFFEPIL=4; % in member IMACKEEP,
as there is an extra four byte length field at the start
of the V400 record.
Thanks to Malcolm Campbell, Marks and Spencer, ENGLAND
Change 17.002 The TYPEUNIC support for CA UniCenter is not for Unix,
TYPEUNIC but is for the Open VMS or VMS operating system, and test
Feb 22, 1999 data validated was from VMS 7.0. Also, the suffix is
UNIC (UNCI was typoed in change 16.391 and Newsletter).
The code is fine, I just failed to realize the data was
from VMS (but I
Change 17.001 The optional IMAC6ESS for the type 6 ESS segment was fine
IMAC6ESS under MVS, but the $VARYING fields were not converted to
Feb 22, 1999 EBCDIC when run under ASCII SAS. The INPUT and TRANSLATE
functions were added to correct.
LASTCHANGE: Version 17.
=========================member=CHANGE16================================
/* COPYRIGHT (C) 1984-1999 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 16.16 is dated Feb 20, 1999, thru Change 16.394.
Newsletter THIRTY-FIVE was dated Feb 20, 1999, thru Change 16.367.
First MXG Version 16.10 was dated Feb 8, 1999, thru Change 16.364.
MXG Version 16.09 was dated Jan 20, 1999, thru Change 16.334.
MXG Version 16.08 was dated Dec 23, 1998, thru Change 16.315.
Last MXG Version 16.07 was dated Dec 5, 1998, thru Change 16.299.
First MXG Version 16.07 was dated Dec 4, 1998, thru Change 16.296.
Last MXG Version 16.06 was dated Dec 2, 1998, thru Change 16.292.
Fifth MXG Version 16.06 was dated Nov 30, 1998, thru Change 16.289.
Fourth MXG Version 16.06 was dated Nov 21, 1998, thru Change 16.285.
Third MXG Version 16.06 was dated Nov 18, 1998, thru Change 16.284.
Second MXG Version 16.06 was dated Nov 17, 1998, thru Change 16.279.
First MXG Version 16.06 was dated Nov 16, 1998, thru Change 16.278.
MXG Version 16.05 was dated Nov 1, 1998, thru Change 16.259.
Fourth MXG Version 16.04 was dated Oct 19, 1998, thru Change 16.242.
Third MXG Version 16.04 was dated Oct 9, 1998, thru Change 16.231.
Second MXG Version 16.04 was dated Oct 7, 1998, thru Change 16.224.
Newsletter THIRTY-FOUR was dated Sep 30, 1998, thru Change 16.221.
First MXG Version 16.04 was dated Sep 30, 1998, thru Change 16.221.
Beta 6 MXG Version 16.03 was dated Sep 23, 1998, thru Change 16.216.
Beta 5 MXG Version 16.03 was dated Sep 9, 1998, thru Change 16.196.
Beta 4 MXG Version 16.03 was dated Aug 11, 1998, thru Change 16.171.
Beta 3 MXG Version 16.03 was dated Jul 15, 1998, thru Change 16.147.
Beta 2 MXG Version 16.03 was dated Jul 14, 1998, thru Change 16.147.
Beta 1 MXG Version 16.03 was dated Jul 10, 1998, thru Change 16.147.
Final MXG Version 16.02 was dated Jun 8, 1998, thru Change 16.120.
First MXG Version 16.02 was dated Jun 2, 1998, thru Change 16.112.
Real MXG Version 16.01 was dated Apr 9, 1998, thru Change 16.053.
First MXG Version 16.01 was dated Apr 8, 1998, thru Change 16.052.
MXG Version 15.15 was dated Feb 23, 1998, thru Change 15.391.
Newsletter THIRTY-THREE was dated Feb 23, 1998, thru Change 15.382.
Contents of member CHANGES:
I. MXG Software Version 16.16 is now available.
II. MXG Technical Notes
III. MVS Technical Notes.
IV. DB2 Technical Notes.
V. IMS Technical Notes.
VI. SAS Technical Notes.
VII. CICS Technical Notes.
VIII. Windows NT Technical Notes.
IX. Incompatibilities and Installation of MXG 16.16.
X. Online Documentation of MXG Software.
XI. Changes Log
I. MXG Software Version 16.16 was shipped with Newsletter THIRTY-FIVE.
1. Major enhancements added in MXG 16.16 (not printed in Newsletter 35)
Support for CA UniCenter Unix Performance Monitor.
Support for TMON for CICS Version 2 PTF TH01129
Support for NETSPY Version 5.2 (COMPAT).
Support for new SNA BASE and IBM SNA objects.
ANALHSM rewritten as %MACRO, new thread use/queue measures.
XSUM70PR created to not-count ICF partition's CPU as a CPU.
Trending member for PDB.SMFINTRV / TYPE30_V dataset.
Automatically tailor BUILDPDB with the new UTILBLDP utility.
CPU increase (16.06-16.10) in BUILDPDB due to CICINTRV corrected.
Major enhancements added in MXG 16.10:
OS/390 R2.7, CICS TS 1.3 and DB2 6.1 were supported in MXG 16.09
and that support is now documented. See 16.09 enhancements.
Support for IDMS Version 14 Journal Records.
Support for Sterling's SOLVE NetMaster TCP/IP SMF.
Support for BETA93 subtypes 1,2,3,4,20,40,41,42.
Support for WINDOWS NT 5.0 (INCOMPATIBLE) with NTSMF.
Support for new NT 4.0 objects.
Major enhancements added in MXG 16.09 (revised):
Support for Year 2000 kept julian date fields input as 0cyyddd.
Support for CICS TS 1.3 (INCOMPATIBLE):
Lots of new CICSTRAN data, including Java execution
and wait times and web statistics, and new statistics data for
each of the now-eleven CICS TCBs. See Change 16.322.
Support for DB2 Version 6.1 (COMPATIBLE).
New header identifies end user's USERID and TERMINAL, more
wait information, CPU time for Stored Procs and Triggers and
User Defined Functions (with SQL time separated). Change 16.318.
Support for OS/390 Release 2.7 (COMPATIBLE)
New Type 74-6 HFS Global/Buffer/File Statistics, Type 73/79 CPMF
mode, Type 70 Dec/Shared Processors Changed, new type 74 time of
Device-Active-Only, and OS/390 Firewall Server Log Messages are
written in new Type 109 SMF record. See Change 16.329.
Major enhancements added in MXG 16.08:
Support for APAF for more than 8 CPU Engines.
Support for BETA93 Release 3.1.3 INCOMPATIBLE subtype 0, 20.
VMXGSUM will use new INHERIT if executed under SAS Version 7.
IMS 6.1 support corrected for APPC, CPIC driven transactions.
Support for DOS/VS Power V6.3.0 (COMPATIBLE).
Revisions to RMM EDGR support - numeric date variables.
Major enhancements added in MXG 16.07:
Support for APAF 4.1 and 4.3 (INCOMPATIBLE).
Support for BETA93 Release 3.1.3 INCOMPATIBLE subtype 21.
ANALRMFR RMF reports added REPORT=XCF.
Major enhancements added in MXG 16.06:
Support for NPM 2.4, unfortunately very INCOMPATIBLY changed!
PDB.CICINTRV dataset may be real bad; please get this new code!
Support for CICS TS 1.2 Journal Format, INCOMPATIBLE.
Support for PSF/MVS Release 3.1.0 (COMPATIBLE).
Support for subtypes 17-20 (FSRTYPE=) HSM FSR records.
Support for IXFP / ICEBERG fields added by APAR L170017.
Support for Boole & Babbage MainView for CICS CMRDETL file.
Correction for SMF 118 TCP/IP logic to not use length/subtype.
MXG 16.04-16.05 only. ASUM70PR summarized to SHIFT vice HOUR.
Major enhancements added in MXG 16.05:
Fix for TMS5 multi-datasets tapes (was wrong).
Fix for IMS 6.1 Log Records (TYPEIMSA) if GMT Offset was not zero.
Support for OAM (Optical Access Method) SMF type 85 record
Support for DFSORT Release 15 (no change)
Support for Interlink TCPaccess Vers 5.2 (INCOMPAT)
Support for decompression of MainView history files.
Support for RACF "installation-defined data field".
ML-18 of MXG ASMTAPES MXGTMNT monitor fixes DSAB circular queue.
Major enhancements added in MXG 16.04:
2. MXG 16.04 is a major internal redesign of MXG, the new "MACKEEP"
architecture, which makes tailoring of MXG datasets simpler and more
powerful. You can change the output DDNAME for a large dataset with
a simple "%LET Pdddddd=DDNAME;" statement, you can put all of your
MXG changes in the single member IMACKEEP (instead of having to EDIT
an IMACxxxx for each product), or you can even tailor MXG instream
using the new "%LET MACKEEP = ;" logic, and never have to EDIT any
members into your USERID.SOURCLIB!. This redesign to externalize
all attributes of every dataset began in MXG 10.10 with the "_L,_K"
macros; now that the software is finally done, I can get back to the
rewrite of MXG documentation (but note that member DOCMXG already
exists to document the new architecture, with examples!).
And most, if not all, of your existing MXG tailoring should still
work without change!
"MACKEEP" Architecture of MXG-built SAS "Datasets"
Highlights
Everything about the creation of an MXG dataset is now
fully externalized, and ALL MXG tailoring can now be done
either by
EDIT into a single member, IMACKEEP (instead of EDITing
a separate IMAC for each product)
or
all tailoring can be done "instream" using the new syntax
%LET MACKEEP= MACRO _oldname newvalue % ;
All MXG datasets now have an &Pdddddd macro variable as the
destination DDNAME/LIBREF, so you can use %LET Pdddddd=MYDD;
in IMACKEEP or with MACKEEP to change the DD to which each
MXG dataset is written or read from.
See member DOCMXG, INSTALL, and Change 16.134 for details.
Major enhancements added in MXG 16.04:
MXG "MACKEEP" Architecture - see INSTALL, DOCMXG, Change 16.134.
Support for OS/390 Release 2.6 (COMPATIBLE).
Support for IMS Log processing for IMS 6.1.
Support for NTSMF Version 2.2.
Support for ACF2 Version 6.2 type 'V' (INCOMPATIBLE).
Support for TCP/IP 3.4 SMF type 118 (INCOMPATIBLE) changes.
Support for NCR Teradata DBS performance data.
Support for Landmark's SQL/CAPTURE Products 'D6' record.
Support for XCOM Release 3.0 (COMPATIBLE).
Support for Soft Audit's Installed Products File.
Support for BGS I/O Monitor Version 5.1.0 (COMPAT).
Support for HSM APAR OW31281 adds RECALL, DSR, FSR statistics.
Support for DFSMS 1.4.0 added WFSCPUTM for ABARS CPU cost.
Support for NTSMF CachingManager and Packet Filter objects.
Support for NT Service Pack 5A SYSTEM/PROCESS fields.
Major revision of TMS/CA-1 processing logic in TYPETMS5.
ML-17 of MXGTMNT/ASMTAPES synchronizes automatically.
Enhanced TPM support reads all possible variables in TYPETPMX.
Analysis of SMF Write Rates (MEGABYTES at 10/100sec)
MXG CONFIG value of VMCTLISA=40K raised to 160K.
VMXGSUM syntax for "DATETIME" now uses real name.
ABEND/CONDCODE in PDB.JOBS is now valid, has 1st ABEND.
(MXG 16.03 was only released as a Beta.)
Major enhancements added in MXG 16.02:
Support for TYPEIMS7 for IMS 6.1.
Support for OS/400 Version 4.2.0 COMPATIBLE.
Support for MQ Series Version 1 Release 2 INCOMPATIBLE.
Support for Landmark's Monitor for DB2 V 3.1 INCOMPATIBLE.
Support for Candle Omegamon V400 CANMQ and CANWLMSC.
Support for Candle Omegamon CICS V400 "255" record.
Support for Raptor Systems' Eagle Firewall 121 Log.
Support for TME 10 NetView for OS/390 V1 R1 SMF 38.
Support for Web Proxy logs Extended Common Log fmt.
Support for Magstar tapes in TYPETMS5 INCOMPATIBLE.
&PDBxxxx and &yyyzzz "Dataset &Macro" naming rules.
New PDB datasets TYPE74CO/ME/PA/SY/OM/LK added to daily PDB.
New ANALABND report ABENDs from PDB.STEPS, uses PROC TABULATE.
Multiple JES3 purge records created duplicate PDB.JOBS obs.
All MXG variables with format MGBYTES are now stored in 8-bytes.
New ANAL6264 merges VSAM type 62 and 64 for OPENTIME.
Major enhancements added in MXG 16.01:
The major thing in 16.01 is support for Year 2000 products that
were not Y2K compliant when 15.15 was built, so MXG 16.01 is now
the minimum level to support all vendor records that provide year
2000 dates, but there are also a few fixes and several enhancements
and new products supported.
Year 2000 issues that require MXG 16.01 or the specific change:
TYPE6 READTIME was 1900 in 2000 due to MXG error (Change 16.039).
AS/400 Year 2000 Support was Incorrect (Change 16.035).
NETVIEW NPM type 28 year Y2K Ready but INCOMPATIBLE record change.
Landmark TMON for CICS V2 converted to V8.1 Y2K Ready, INCOMPAT.
IPAC RDS View Direct V 6.1 Y2K Ready, but INCOMPATIBLE change.
MXG Software now warrants it is "Year 2000 Ready".
Support for new NTSMF objects (Database, SMTP Server, WEB Service).
Support for revised NTSMF Active Server Pages and IISG records.
Support for Software Engineering's SpaceManager data records.
Support for DECnet/SNA DTF SMF records.
MXG 15.15 problems reported and fixed:
Variable MXGVERSN in TYPE70 was blank in 15.15; impacts CPEXPERT.
Deactivated PR/SM Partition may cause over 100% CPU Busy for CEC.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
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 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 Oct 27, 1997 15.06
CICS-TS V1R3 Mar ??, 1999 16.09
CRR 1.6 Jun 24, 1994 12.02
CRR 1.7 Apr 25, 1996 14.02
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 Mar ??, 1999 16.09
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 16.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 ??? ??, ???? 16.08
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 16.04
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 16.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1) 16.04
Memorex/Telex
LMS 3.1 12.12A
MXG IMS-Log Not-Officially-Supported
IMS 6.1 - ASMIMSL6/TYPEIMSA 16.06
IMS 5.1 - ASMIMSL5/TYPEIMSA 16.01
Amdahl
APAF 4.1, 4.3 16.08
II. MXG Technical Notes
1. Counting tape mounts.
Tape mount counts from the MXGTMNT monitor can be compared with the
tape mount counts (TAPNMNTS+TAPSMNTS) in the step records, and there
can be differences, mostly due to the difference in time-frame of
the mount records (when they occur) and the step records (when the
step ended):
- MXG will count high for Started Tasks that never end (e.g.DFHSM),
or for any job whose step record had not yet been written in the
SMF time-frame you examined.
- MXG will count low for steps that ended in the SMF time-frame, but
whose mounts occurred before the start of that SMF file.
- MXG counts physical mount events, but the type 30 counts completed
mounts, so when your tapeape intentionally mounts the wrong VOLSER
five times
if they can't find the right tape, they mount any tape, knowing
MVS label-check will prevent it from being used, but any mount
terminates the outstanding mount message so the MVS console guy
can't see how long the real mount has been waiting!
the MXG count is five mounts, the step record count is one.
- MXG misses some VTS scratch mounts, when using the default two
second sampling in MXGTMNT, because scratch mounts to VTS can be
fast. In one day MXG missed 200 VTS scratch mounts out of 2000
total VTS mounts with the two second sampling, but MXGTMNT saw
all of the VTS scratch mounts with one-half second sampling.
Recommendations:
If you want to compare totals, use the TYPE30_V or PDB.SMFINTRV data
from type 30 interval records instead of TYPE30_4 or PDB.STEPS data
to minimize (but not eliminate) time-frame error, since the interval
records will count the mounts for those long-running jobs and STCs.
If you do have Virtual Tape Devices, you could change the interval
constant in member ASMTAPES (INTERVAL DC F'200' to DC F'050') to
change the MXG default of 2.00 seconds to 0.50 seconds, and then
re-assemble to change the MXGTMNT program to sample at half-second
intervals. While 2 seconds is still the MXG default, half-second
was tested and briefly suggested as an alternative, as the CPU cost
was still small:
At half-second sampling, it took less than 3 CPU seconds per
15 minute interval to scan 100 tape devices, and another 1 CPU
second for every 100 tape mounts, or a few minutes per day with
2000 mounts.
However, even with .5 second interval, the mount monitor missed some
fast VTS mounts, which caused me to create the completely new logic
in the ASUMTAPE program, which creates the new PDB.ASUMTAPE dataset
(that should be used in place of PDB.TYPETMNT in tape mount
analysis). The new logic is driven by the type 21 dismount record,
so even if MXGTMNT missed the fast mount, PDB.ASUMTAPE has the tape
event, albeit with the tape mount duration missing (so you know it
was less than 2 secs!), so the original 2 second default was kept.
If you decide to change the sample interval, you can compare the
number of observations in PDB.ASUMTAPE that have missing TAPMNTTM,
to see how many more of the fast-scratch-VTS-mounts you actually
capture at 1/2 second instead of the MXG default of 2 seconds.
III. MVS Technical Notes.
1. APAR OW35684 confirms that the BLKSIZE in the DD segments of type 30
records is correct for tape but incorrect for a DASD dataset that is
being opened for output DISP=NEW when DADSM allocate did not
determine a system determined blocksize (SDB) even though BLKSIZE=0
was specified on the DD statement. DADSM SDB processing was not
done because DSORG and/or LRECL were not also specified. The APAR
is closed "FIN" - Fixed in Next DF/SMS Release in 18-24 months.
2. APAR OW31700 RMF OS/390 type 74 subtype 5 describes "short records"
created when there are more than 153 devices on a cache controller
(because 153 segments fills the 32756-byte limit of SMF data). They
have no impact on MXG, as MXG reads each record and outputs from
each device data section (but IBM had to add counters so RMF
could reassemble the large event from these 32K "small" records).
There may be an error, as I have seen type 74 subtype 5 records with
only the Product and Control section, with no status nor data and
with R745CCNT, record sequence, of 2. Site is talking to IBM.
3. SMF type 42 APARS:
APARs OW29633 corrects timestamps in TYPE42DS (type 42 subtype 6)
SMF records that caused SMF42PTS to be much earlier than the job's
READTIME. Reported in OW10694 (closed RET) and OW25624 (closed PER)
the actual error was a failure to freemain between jobs, so you
would have someone else's READTIME in your record. This error was
not fixed to correct SMF, but because someone's system stayed up
long enough that the memory leak causes a storage shortage ABEND!
APAR OW32248 discusses type 42 VSAM/RLS counter errors, affecting
SMF41IAY/IAZ/IBA/IBB/ICY/ICZ/IDA/IDB/IBG/IDG fields.
APAR OW35762 corrects count of SEQ blocks read and written for PS
datasets on non-SMS managed volumes.
4. APAR OW35952 corrects large value for IOUNITS in type 30 records;
the problem primarily affected DB2 address spaces with very large
(but legitimate) I/O counts that caused an overflow internally in
IBM code. The APAR text cites negative values in SMF30IO (IOUNITS),
but as MXG uses PIB instead of IB, very, very large values (so they
are noticed!) are created rather than small negative values.
5. APAR PQ18797 for MQ Series Release 1.3.0, PTF UQ23424 corrects zero
values for 'QMSTxxxx' variables in dataset MQMMSGDM from type 115
SMF record subtype 2.
IV. DB2 Technical Notes.
1. Boole and Babbage's MainView for DB2 product's THRDHIST VSAM file is
used for online access and its keyed record format is not public, so
MXG cannot support that file. But Boole recommends you create DB2
SMF records (their DB2 batch reports use the 100/101/102 records) so
THRDHIST was never intended to be useful for accounting or trending.
2. MXG Newsletter 34 reported that after installing APAR PN55122 and
migrating to CICS 5.1, that LU6.2 terminal's QWHCTOKN no longer had
the UOWID token in their DB2ACCT record (as a result, MXG's ASUMUOW
could not match DB2ACCT to CICSTRAN by Unit-of-Work ID). IBM has
now released APAR PQ15565 (and PTF UQ18583) to correct their error.
3. APARs PQ10864/PQ06968/PQ10864 discuss excessive numbers of DB2 type
101 SMF records that are created with CPU parallelism; if your DB2
application is running with more than 1 degree of CPU parallelism,
the child tasks will create SMF 101 accounting records every time
they are spawned (i.e., every SQL execution). In cases where an
application loops thru static SQL frequently or for transaction type
queries the volume can be a very serious problem. Use the DSNZPARM
macro DSN6SYSP PTASKROL parameter for parallel task accounting
control. APAR PQ06968 has been created to allow RLF to disable
modes of parallelism during static BIND; by using RLFFUNC=4 during
BIND, you can force problem applications back to IOP parallelism
(versus CPU parallelism). APAR PQ28414 provides a new ability to
limit the degree of query parallelism, and provides a maximum degree
parameter, PARAMDEG, and adds the field to the install process in
Version 6. This note updated with IBM input 19Dec1999.
V. IMS Technical Notes.
VI. SAS Technical Notes.
1. MXG 16.05 QA stream has executed using the SAS Version 7 Beta, under
OS/390, Windows 95/98 and Windows NT. Minor changes were needed in
MXG code, mostly to circumvent Beta things that SAS will have fixed
by the Production release this fall. A complete list will be in a
future MXG Technical Note when Version 7 is available.
Initial performance measurements of the MXG QA stream show no change
in the runtime between Version 6.12 TS045 and Version 7 Beta, so
it looks like lots of new features at no cost, for a change!
SAS Version 7 datasets cannot be read by SAS Version 6; the format
of SAS data libraries on all platforms was changed incompatibly.
Fortunately, MXG will not exploit on any SAS Version 7 features in
the near future, and there are no compelling reasons to migrate to
SAS Version 7 (run times and resources were about the same), but
when you do migrate to SAS V7, you will either have to drop it in
all at once, or at least you will need to install from the back end:
convert your report programs first and then convert the programs
that build the datasets that the reports use.
2. RETAIN statement only retains variables in assignment statements.
You cannot use a RETAIN statement with SET A B logic to retain the
value of variable A from dataset A into processing of observations
from dataset B. While the A variable will exist in the OUT dataset
its value will be missing:
DATA A; A=1;
DATA B; DO B=1 TO 5; OUTPUT B; END;
DATA OUT; SET A B;
RETAIN A;
To retain the value of variable A, you must assign it to a new name
(AA) while reading an observation from dataset A, retain that AA
name, and then when reading an observation from dataset B, assign AA
back to its original name A (and then DROP variable AA from OUT):
DATA OUT; SET A (IN=INA) B (IN=INB);
RETAIN AA; DROP AA;
IF INA THEN AA=A;
IF INB THEN DO; A=AA; OUTPUT; END;
Fortunately, variable A's attributes (LABEL, FORMAT, etc) are indeed
propagated into variable A in the OUT dataset.
3. SAS 6.09 TS455 and TS460 on MVS may encounter SAS "VM1319" or "NO
MKLEs" ABENDs, due to a memory overlay introduced by TS455. SAS ZAP
Z609E449 exists and is flagged as REQUIRED, but is not a true fix.
That ZAP forces SAS options MVARSIZE=0 and MSYMSIZE=0, which causes
%MACRO variables and symbol tables to be written/read to/from disk
instead of from memory. By reducing memory for macros, the overlay
may be avoided, but depending on how %macros are used, that ZAP
could impact runtime performance. The text of ZAP Z609E449 suggests
that increasing MEMSIZE may circumvent the error, since the overlay
is less likely with more addressability, so if you encounter the
error, first increase MEMSIZE by 8MB (and remember to increase your
REGION size), and then if that doesn't work, then either install the
ZAP, or install its effect by setting MVARSIZE=0 and MSYMSIZE=0
yourself.
4. SAS 6.09 TS455/TS460 do not free memory for user formats, which can
cause an out of memory error if there are repeated references to a
user format, e.g.,a DO Loop around PUT(variable,format) statement
where the format is NOT one supplied with SAS (MGxxxxx formats or
your own build with PROC FORMAT are "user formats").
SAS ZAP Z609F331 will correct this memory "leak".
VII. CICS Technical Notes.
1. There are two CICS summary programs in MXG:
ASUMCICS summarizes the detail CICSTRAN.CICSTRAN transactions, so
variable NUMTRANS counts the number of transactions.
ASUMCICX summarizes the already-summarized ASUMUOW unit-of-work
dataset, so NUMTRANS counts the number of unit's-of-work,
and variable MROTRANS counts the number of CICSTRAN
transactions that were executed by that unit-of-work.
2. APAR PQ13647 corrects invalid Y2K date in IBM type 110 subtype 2
TS Server records written by CICS TS 1.1 and 1.2. The dates will
contain 1AYY instead of 20YY without this fix.
VIII. Windows NT Technical Notes.
There are no Windows NT Technical Notes in this Newsletter.
IX. Incompatibilities and Installation of MXG 16.16.
1. Incompatibilities introduced in MXG 16.16 (since MXG 15.15):
a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
must refit your tailoring, starting with the new IMAC member):
IMACPDB - new PDB.STEPS/PDB.JOBS CONDCODE. Change 16.106
b- Other incompatibility changes:
All MGBYTES formatted variables are now length 8, instead of 4.
If you use PROC APPEND without FORCE, SAS will ERROR when you try
to combine new and old datasets with dissimilar length variables.
c- These products were incompatibly changed by their vendor, and they
require MXG Version 16.01 as indicated:
MXG Y2K support for AS/400 MXG 16.01 Change 16.035
CA-1/TMS TYPETMS5 with Magstar drives MXG 16.02 Change 16.088
LANDMARK CICS V2 recs convert to V8.1 MXG 16.01 Change 16.049
LANDMARK DB2 V 3.1 MXG 16.02 Change 16.097
MQ Series V1 R2 SMF 115 MQMLOG dataset MXG 16.02 Change 16.099
MXG Y2K support for Type 6 SMF record MXG 16.01 Change 16.039
NETVIEW NPM (Year 2000 dates) MXG 16.01 Change 16.003
NTSMF EXCHANGE 5.5 MXG 16.01 Change 16.024
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.
X. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
XI. 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 is normally
created after the newsletter is sent to the printer! Member CHANGES
on the www.MXG.com homepage are the most timely, as they are updated
(sometimes) between MXG versions.
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 than 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 15.15 now in MXG 16.16:
Dataset/
Member Change Description
Many 16.216 Support for OS/390 Release 2.6 (COMPATIBLE).
Many 16.078 MXG variables with format MGBYTES are now 8-bytes.
Many 16.068 &PDBxxxx and &yyyzzz "Dataset &Macro" naming rules.
ADOCQAPM 16.301 Enhanced documentation for AS/400 processing
ANAL6264 16.071 Analysis merges VSAM type 62 and 64 for OPENTIME.
ANALABND 16.082 ABEND stats from PDB.STEPS, uses PROC TABULATE.
ANALCISH 16.104 MORE THAN 32767, MORE THAN 10 errors corrected.
ANALPATH 16.006 SUBSCRIPT OUT OF RANGE, report expected 10 LCUs max.
ANALRMFR 16.295 ANALRMFR RMF reports added REPORT=XCF.
ANALSRVC 16.098 Report now works for CPU Percent by Service Class.
ANALUOW 16.075 Enhancements, DB2 Class 3 waits. etc were added.
ANALVTS 16.162 Analysis combines 30s, TMNT, TALO and 21s for tapes.
ANANCNCR 16.206 COUNT= option corrected.
ASMIMSL5 16.058 ASMIMSL5 in MXG 15.15 failed during assembly.
ASMIMSL6 16.185 Support for IMS Log processing for IMS 6.1.
ASMMNVW 16.247 Support for decompression of MainView history files.
ASMTAPES 16.154 ML-17 of MXGTMNT synchronizes automatically.
ASMTAPES 16.164 MXGTMNT misses too-fast VTS tape mounts.
ASMTAPES 16.259 ML-18 of ASMTAPES protects DSAB circular queue.
ASUM42DS 16.046 New summary member for TYPE42DS by dataset.
ASUM70PR 16.028 Deactivated Partition may cause over 100% CPU Busy.
ASUM70PR 16.271 16.04-16.05. ASUM70PR summarized at SHIFT vice HOUR.
ASUMCACH 16.141 DURATM in ASUMCACH revised for accuracy.
ASUMCICS 16.137 INVALID ARGUMENT TO FUNCTION SQRT when N=1.
ASUMHSM 16.315 Revision to Support HSM Y2K julian dates.
ASUMHSM 16.345 HSM summarization separates HSM active from queued.
ASUMTALO 16.076 Revised to work with TALO records from old ASMTAPES.
ASUMTALO 16.169 SPIN.SPINTALO now backed up into PDB library.
BLDNTPDB 16.180 NTSMF Daily/Weekly/etc BUILD program enhanced.
BUILDPD3 16.080 JES3 BUILDPDB - Multiple PDB.JOBS obs - multi purges.
BUILDPDB 16.008 Duplicate TYPE30_V records might not be deleted.
BUILDPDB 16.107 PDB.TYPE74CO/ME/PA/SY/OM/LK added to day/week PDB.
BUILDPDB 16.183 ABEND/CONDCODE in PDB.JOBS now valid, has 1st ABEND.
BUILDPDB 16.230 Duplicate type 30 records caused RESTARTS to be high.
BUILDPDB 16.231 TYPE6 vars STDUPLEX/FCB/OVLYLOAD/OVLYUSED added.
BUILDPDB 16.348 BINxxxx variables added to PDB.PRINT.
CICINTRV 16.253 Revision of CICINTRV auto-determine input location.
CICINTRV 16.277 PDB.CICINTRV dataset may be real bad; get this code!
CONFIG 16.066 Option SASAUTOS=(SOURCLIB SASAUTOS) is now used.
CONFIG 16.117 CODEPCT=150 now set to eliminate SAS message.
CONFIG 16.157 MXG CONFIG value of VMCTLISA=40K raised to 160K.
CONFIG 16.209 NOSTIMER now specified, SAS 6.12 TS045 changed.
DOCGRAF 16.018 Examples of getting graphs from mainframe to your PC.
DOCMXG 16.134 New &MACKEEP and IMACKEEP MXG architecture changed.
FORMATS 16.214 Support for DF/SMS 1.4 changes to HSM (COMPAT).
IMACFILE 16.016 &MACFILE macro added for instream tailoring.
IMACICDM 16.067 Support for Candle Omegamon V400 CANMQ and CANWLMSC.
IMACPDB 16.106 Enclave CPU time and count added to PDB.STEPS/JOBS.
IMACPDB 16.341 IMACPDB documentation, no code was changed.
MXGSAS 16.081 JCL parameter TAILORNG now spelled TAILOR.
RMFINTRV 16.288 Sort order of RMF is now BY SYSPLEX SYSTEM STARTIME.
TRND70 16.021 TRENDing of TYPE70 now supports 16 buckets of CPUs.
TRND72GO 16.029 Variable R723CIMP in TRND72GO SUMmed vice IDd.
TRNDTALO 16.221 Overlapped hour could miscount tape allocations.
TYPE109 16.329 Support for TYPE109 OS390 Firewall Server.
TYPE110 16.031 CICS UNEXPECTED STID=0 was error in STID=94 segment.
TYPE110 16.153 GMT offset calculation in CICS off by up to 1.4 secs.
TYPE110 16.270 Support for CICS TS 1.2 Journal Format, INCOMPATIBLE.
TYPE110 16.322 Support for CICS TS 1.3 (INCOMPATIBLE).
TYPE115 16.099 Support for MQ Series Version 1 Release 2 (INCOMPAT).
TYPE16 16.254 Support for DFSORT Release 15 (No Change).
TYPE28 16.003 NETVIEW NPM type 28 INCOMPATIBLE year 2000 change.
TYPE28 16.290 NPMLANOD dataset TIC_UTIL variable was missing.
TYPE28 16.336 STOPOVER NPM 2.4 NPMSUBTY='DD'x; IBM doc was wrong.
TYPE30 16.150 TYPETASK='ASCH' or TYPETASK='OMVS' now set in PDB.
TYPE38 16.101 Support for TME 10 NetView for OS/390 V1 R1 SMF 38.
TYPE42 16.339 SMF type 42 subtypes 15-19 (VSAM RLS) now validated.
TYPE57 16.234 JES3 with more than 9999 job numbers INVALID DATA.
TYPE6 16.039 READTIME in TYPE6 and hence PRINT is 1900 in 2000.
TYPE6 16.264 Support for PSF/MVS Release 3.1.0 (COMPATIBLE).
TYPE7072 16.009 Variable MXGVERSN in TYPE70 was blank in 15.15.
TYPE7072 16.194 Delay Percents now divided by R723CTSA.
TYPE7072 16.326 TYPE72 Compat Delay variables were incomplete.
TYPE7072 16.327 PERFINDX sometimes missing for Average Resp Goals.
TYPE7072 16.328 Variable PCTMETGO added to TYPE72GO for Percentiles.
TYPE7072 16.342 New variable CECSER with CPU Serial of the CEC.
TYPE72GO 16.064 Variables AVGRESP, EXETTM, AVGXETTM added/changed.
TYPE72GO 16.083 Variables R723CQDT/CADT/CCVT/CIQT wrong multiplier.
TYPE74 16.032 NO STRUCTURE MATCH message understood and eliminated.
TYPE74 16.095 TYPE74 variable IORATE changed to match IBM's RMF.
TYPE74 16.329 Support for TYPE746B/F/G datasets in OS/390 R2.7.
TYPE79 16.213 Type 79 Subtype 15 (IMS Long Lock) corrected.
TYPE7xxx 16.288 Sort order of RMF is now BY SYSPLEX SYSTEM STARTIME.
TYPE80A 16.236 Support for RACFEVNT=26 APPCLU Session Establish.
TYPE80A 16.245 Support for RACF "installation-defined data field".
TYPE85 16.255 Support for OAM type 85 SMF record, 11 datasets.
TYPE94 16.135 VTS variables SMF94VBA/VLA were misdocumented by IBM.
TYPE99 16.026 New subtype 6 SMF type 99 INVALID SERVER SECTION.
TYPEACF2 16.215 Support for ACF2 Ver 6.2 type 'V' (INCOMPATIBLE).
TYPEAPAF 16.305 Support for more than 8 engines in APAF data.
TYPEBETA 16.293 BETA93 Version 3.1.3 INCOMPATIBLY changed.
TYPEBETA 16.351 Support for BETA93 subtypes 1,2,3,4,20,40,41,42.
TYPEBGSI 16.155 Support for BGS I/O Monitor Version 5.1.0 (COMPAT).
TYPECIMS 16.030 ABENDUSR in CIMSPROG has never been right.
TYPECIMS 16.227 IMF 3.2 with IMS 5.1 INPUT STATEMENT EXCEEDED.
TYPEDB2 16.318 Support for DB2 Version 6.1 (COMPATIBLE).
TYPEDB2 16.148 Dataset DB2STATR was invalid, duplicate observations.
TYPEDCOL 16.017 DCOLLECT DSORG field expanded to 3 in MXG (PSU etc).
TYPEDECS 16.034 Support for DECnet/SNA DTF SMF records.
TYPEDOS 16.312 Support for DOS/VS Power V6.3.0 (COMPATIBLE).
TYPEEAGL 16.102 Support for Raptor Systems' Eagle Firewall 121 Log.
TYPEEDGR 16.308 Revisions to RMM EDGR support - numeric dates.
TYPEHSM 16.136 DFSMS 1.4.0 added WFSCPUTM for ABARS CPU cost.
TYPEHSM 16.145 Support for APAR OW31281 adds RECALL, DSR, FSR.
TYPEHSM 16.149 SHORT ABAR message after Change 16.025 fixed.
TYPEHSM 16.263 Support for FSRTYPE=17 thru 20 HSM FSR records.
TYPEHSM 16.315 Revision to Support HSM Y2K julian dates.
TYPEICE 16.280 Support for IXFP fields added by APAR L170017.
TYPEIDMJ 16.361 Support for IDMS Version 14 Journal Records.
TYPEIDMS 16.002 New TASNxxx variables labels were incorrect.
TYPEIDMS 16.012 IDMS 10.2.1 caused INPUT STATEMENT EXCEEDED.
TYPEIDMS 16.033 IDMS 10.2 records were not output.
TYPEILKA 16.249 Support for Interlink TCPaccess Vers 5.2 (INCOMPAT)
TYPEIMS7 16.119 Support for TYPEIMS7 for IMS 6.1.
TYPEIMSA 16.069 ASMIMSL5 process now has _L, _K macros, exit members.
TYPEIMSA 16.257 IMS 6.1 Support correct only in European Summer Time.
TYPEIMSA 16.343 Zero observations in IMSFASTP, SUBCODE not kept.
TYPEIPAC 16.052 Y2K INCOMPATIBLE IPAC RDS 6.1 user SMF record.
TYPEMON8 16.049 Y2K Support for TMON V2 records converted to 8.1.
TYPEMON8 16.073 INVALID DATA FOR TMMDMODL message corrected.
TYPEMON8 16.091 TMON for CICS V2 Converted records MONIRECD='D'.
TYPEMVCI 16.260 Support for Boole & Babbage MainView CMRDETL file.
TYPENDM 16.060 Sterling's Connect Direct aka NDM PI=754129 open.
TYPENSPY 16.147 NETSPY='N' record support was restored for old 4.4.
TYPENTSM 16.024 Support new "Database" object and EXCHANGE 5.5.
TYPENTSM 16.045 Support for IISG, Active Server Pages, Web Service.
TYPENTSM 16.049 New SNA LU, SNA 3270 Response, etc, NTSMF objects.
TYPENTSM 16.121 Support for NTSMF Cache Mgr & Packet Filter objects.
TYPENTSM 16.133 Summarization of NETWSEGM into NTINTRV wrong if two.
TYPENTSM 16.177 Support for NT Service Pack 5A SYSTEM/PROCESS fields.
TYPENTSM 16.199 NTSMF Object='WidetoMBErr' explained.
TYPENTSM 16.208 Support for NTSMF internal 0.1 configuration record.
TYPENTSM 16.217 New objects NetShow Station/Unicast Service support.
TYPENTSM 16.228 Support for NTSMF V2.2 with Record Header 2.2.1.
TYPENTSM 16.317 Support for NTSMF 2.2.1 header (or use COMPRESS).
TYPENTSM 16.337 Support for new NT 4.0 objects.
TYPENTSM 16.350 Support for WINDOWS NT 5.0 (INCOMPATIBLE) with NTSMF.
TYPEOMCI 16.116 Support for Candle Omegamon CICS V400 "255" record.
TYPEOMVT 16.262 Candle Omegamon for VTAM documentation error.
TYPEQAPM 16.035 Year 2000 Support for AS/400 was corrected.
TYPEQAPM 16.063 Support for OS/400 Version 4.2.0 (COMPATIBLE).
TYPESFTA 16.175 Support for Soft Audit's Installed Products File.
TYPESOLN 16.356 Support for Sterling's SOLVE NetMaster TCP/IP SMF.
TYPESPMG 16.020 Support for Software Engineering's SpaceManager data.
TYPETAND 16.118 Tandem variables CnBLKS and CnBLKSAV corrected.
TYPETCP 16.211 Support for TCP/IP 3.4 (sorta INCOMPATIBLE).
TYPETCP 16.242 TCP SMF record subtype externalized _SUBTCP5 macro.
TYPETDTA 16.170 Support for NCR Teradata DBS performance data.
TYPETMDB 16.097 Support for Landmark's Monitor for DB2 V 3.1 INCOMPA
TYPETMDB 16.160 Support for Landmark's SQL/CAPTURE type 'D6' record.
TYPETMO2 16.122 Variables SYSID,APPLID,SYSPLEX blank in MXG.
TYPETMS5 16.088 Lost obs in TMS dataset DSNBRECD for Magstar tapes.
TYPETMS5 16.129 Major revision of TMS/CA-1 processing logic.
TYPETMS5 16.191 Final revisions to TMS logic changes for FILSEQ.
TYPETMS5 16.251 TMS support for multi-dataset tapes now correct.
TYPETMV2 16.212 TMON for MVS V2 variables wrong in TMVSSYS dataset.
TYPETPMX 16.189 Enhanced TPM support reads all possible variables.
TYPETPX 16.019 TPXBYTI/BYTO wrong due to CA's documentation error.
TYPEVLFC 16.089 Zero observations in dataset TYPEVLFC corrected.
TYPEVMXA 16.310 Support for VM/ESA 2.3 MTRSYS and USEACT segments.
TYPEWWW 16.105 Support for Web Proxy logs Extended Common Log fmt.
TYPEXCOM 16.114 XCOM variable REQTYPE renamed REQTYPEX, conflict.
TYPEXCOM 16.187 Support for XCOM Release 3.0 (COMPATIBLE).
USMFRATE 16.158 Analysis of SMF Write Rates (MEGABYTES at 10/100sec)
UTILBHEX 16.070 Utility creates SMF records from hex dump from LIST;.
UTILCICS 16.061 Incorrect Candle value ERRMQ=64 in CANMQ detected.
VMAC7072 16.130 Type 70 records have CPU segment after VARY OFF.
VMACIMSA 16.313 IMS 6.1 type 08 correction for APPC, CPIC driven.
VMXGSUM 16.120 New ERASEOUT parameter added.
VMXGSUM 16.131 UNIX forward slashed caused VMXGSUM to fail.
VMXGSUM 16.146 VMXGSUM syntax for "DATETIME" now uses real name.
VMXGSUM 16.179 Support for SAS Version 7 (INCOMPATIBLE).
VMXGSUM 16.306 INHERIT (SAS V7 only) now exploited in VMXGSUM.
VMXGSUM 16.306 INHERIT parameter used if under SAS Version 7.
VMXGSUM 16.323 Correction after Change 16.271 &DATETIME=DATETIME;
VMXGWORL 16.266 Sorted status now validated by SORT flag for _L data.
WEEKBLDT 16.140 Weekly build of ASUMDB2B fails with wrong sort order.
XMXGSUM 16.314 New function enhancements for VMXGSUM for testing.
YEAR2000 16.330 MXG 16.09 now required for 100% YEAR2000 Support.
TYPEUNIC 16.391 Support for CA UniCenter VMS Performance Monitor.
TYPE102 16.390 Support for IFCIDS 252 and 260.
TYPETMO2 16.387 Support for TMON for CICS Version 2 PTF TH01129
TYPENSPY 16.386 Support for NETSPY Version 5.2 (COMPAT).
BUILDPDB 16.385 New WLM variables added to PDB.JOBS dataset
TYPENTSM 16.384 Support for new SNA BASE and IBM SNA objects.
ANALHSM 16.383 Rewrite as %MACRO, new thread use/queue measures.
TYPETMS5 16.382 Documentation of TMS EXPDT values.
XSUM70PR 16.381 Circumvention for IBM including ICF partition as CPU.
VMACDB2H 16.380 Invalid QWHSSTCK data value trashed dates/times.
IMAC6ESS 16.376 Optional ESS decoding of type 6 fails with 2 fields.
VMXGSUM 16.375 Invalid Argument to Substring message eliminated.
TRNDSMFI 16.374 Trending member for PDB.SMFINTRV / TYPE30_V dataset.
UTILPLDB 16.373 Automatic generate BUILDPDB utility.
ASUMUOW 16.371A Revisions for SPIN and missing values.
UTILCICS 16.371 Subtype 0 CICS 4.1 caused INPUT STATEMENT error.
TYPE7072 16.370 New PCTMETGO variable was not correct.
CICINTRV 16.367 Big CPU increase in 16.06-16.10 corrected.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 16
======Changes thru 16.394 were in MXG 16.16 dated Feb 20, 1999======
Change 16.394 Support for CA MIM Version 4.3 Product SMF record adds
EXTYMIM thirteen new datasets created from its subtypes. The
EXTYMIM1 original MIMTAPE dataset is still built, but the names
EXTYMIM2 of the variables are changed to be consistent with the
EXTYMIM3 MIM documentation; where they started with STCxxxxx in
EXTYMIM4 the documentation, the variable names are MIMxxxxx now.
EXTYMIM5 This revision was a user contribution that I revised for
EXTYMIM6 the new MXG architecture, but have only run syntax check,
EXTYMIM7 as I have no sample records to test with before 16.16 is
EXTYMIM8 finalized and tapes are built!
EXTYMIM9
EXTYMIMA
EXTYMIMB
EXTYMIMC
EXTYMIMD
IMACMIM
TYPEMIM
TYPSMIM
VMACMIM
Feb 21, 1999
Thanks to Martyn A. Jones, CHASE, ENGLAND.
Change 16.393 This is the "40 GIG" paper that Chuck Hopf and I have
DOC40GIG presented at SHARE and CMG in 1998. The graphs, tables,
Feb 19, 1999 and charts that are not text documents cannot be included
in this text member, but the text contains the link to
those graphic documents, which are now on our homepage.
Change 16.392 Preliminary MXG "New User" manual is far from complete,
NEWUSER but has excellent examples of how to use MXG, how to set
Feb 19, 1999 up SMF, etc., and comprehensive documentation of the MXG
summarization macro, VMXGSUM. This will be expanded.
Most of this document can be directly read, but there are
some figures that are graphics or tables that cannot be
included in a text document; instead, the document has
the link to that document on the MXG homepage, so if you
can connect to the internet while you read, you can see
the figures and tables that can't be included in text.
Thanks to Chuck Hopf, MNBA, USA.
Change 16.391 Support for CA UniCenter VMS Performance Monitor data
EXUNICCP from their ADVISE PERFORMANCE EXPORT/TYPE=ASCII command.
EXUNICDI Thirteen datasets are created:
EXUNICDV dddddd dataset description
EXUNICIO UNICCP UNICTRCP UniCenter CPU statistics
EXUNICLK UNICDI UNICTRDI UniCenter DISK statistics
EXUNICME UNICDV UNICTRDV UniCenter DEVICE statistics
EXUNICPG UNICIO UNICTRIO UniCenter I/O statistics
EXUNICPR UNICLK UNICTRLK UniCenter LOCK statistics
EXUNICSC UNICME UNICTRME UniCenter MEMORY statistics
EXUNICSR UNICPG UNICTRPG UniCenter PAGE statistics
EXUNICSY UNICPR UNICTRPR UniCenter PROCESS METRICS stats
EXUNICVR UNICSC UNICTRSC UniCenter SYSTEM COMM stats
EXUNICXQ UNICSR UNICTRSR UniCenter SERVER statistics
FORMATS UNICSY UNICTRSY UniCenter SYSTEM statistics
IMACUNIC UNICVR UNICTRVR UniCenter VERSION number
TYPEUNIC UNICXQ UNICTRXQ UNICENTER XQP statistics
TYPSUNIC Some counters (RMTPAGNT,RMTSWPNG) in UNICTRDI Disk data
VMACUNIC that have a value of minus one that is not documented but
Feb 19, 1999 I assume means that field was not used? There is a lot
Feb 24, 1999 of information captured by UniCenter in these records!
Feb 24: Originally was mis-stated as UNIX support, but
records are from the VMS and Open VMS operating system).
Thanks to Frank d'Hoine, Nationale Bank van Belgie, BELGIUM.
Change 16.390 Support for DB2 Trace IFCIDs 250, 252 and 260, 261, and
VMAC102 262 has been added and validated with DB2 5.1 records.
Feb 18, 1999
Change 16.389 An include of IMACKEEP was added after the definition
CICINTRV of _CICINTV macro that sets the interval duration so
Feb 18, 1999 it can be overridden with IMACKEEP/MACKEEP logic.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK
Change 16.388 An include of IMACKEEP was added after the include of
RMFINTRV IMACRMFI so that the _DURSET macro that set interval
Feb 18, 1999 duration can be overridden with IMACKEEP/MACKEEP.
Thanks to Paul Oliver, BHP Information Technology, AUSTRALIA.
Change 16.387 Support for TMON for CICS Version 2 PTF TH01129 (COMPAT)
VMACTMO2 adds MQ Series fields to both the MONISYST and MONITASK
Feb 18, 1999 records, using existing reserved fields. New variables:
MONISYST MONITASK Description
TIMQQMGR TAMQQMGR MQ Series Queue Manager Name
TIMQSRCT TIMQSRCT MQ Series API Request Count
TIMQSRTM TIMQSRTM MQ Series API Request Duration
TIMQSWCT TIMQSWCT MQ Series Wait Count
TIMQSWTM TIMQSWTM MQ Series Wait Time
These new variables are defined, but the actual DSECT had
not been received so the fields are not yet actually read
in yet, so they will all be missing until this is fixed.
Thanks to Brian Kaczkowski, Kohl's Department Stores, USA.
Change 16.386 Support for NETSPY Version 5.2 is already in MXG, as none
VMACNSPY of the supported subtypes were changed. There is a new
Feb 18, 1999 NSPYREC='I' record for TCP/IP, but that new subtype is
not yet supported, pending fixes from the vendor (there
is time for all transactions and network time for 3270
emulation, but no network time for GUI users who telnet
in, etc.). When valid data is available and the record
format is stable, I will add support for type "I" data.
Thanks to Roger Zimmerman, Zurich Kemper Investments, USA.
Change 16.385 New WLM variables added by OS/390 2.4 are now added to
BUILD005 the PDB.JOBS dataset. Variables are JOBMODE0 JOBMODE1
Feb 18, 1999 SMF26WCL, SMF26WIN, SMF26WJC, SMF26WOC, SMF26WSE.
Thanks to Jack Hudnall, Southwestern Bell, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 16.384 Support for three new IBM SNA Objects:
EXNTSNA1 dddddd Dataset Object Variables
EXNTSNA1 NTSNAB SNABASE SNA BASE 19
EXNTSNAB NTSNA1 SNAIBMCS IBM SNA CLIENT SERVICES 2
FORMATS NTSNA2 SNAIBMLB IBM SNA LOAD BALANCING 2
IMACNTSM Also, the _UNTDISC macro used to print discover records
VMACNTSM was revised for changed headers.
VMXGINIT
Feb 17, 1999
Change 16.383 HSM Analysis example was rewritten as a %MACRO so that
ANALHSM arguments can be passed, and additional reports on HSM
Feb 17, 1999 activity (concurrent threads, threads queued, etc). The
program requires the ASUMHSM member of change 16.345.
Change 16.382 No change, documentation only. TMS a/k/a CA-1 now has
TYPETMS5 new values for EXPDT that have special meaning:
Feb 17, 1999 EXPDT Meaning TMS Prints
9989xxx Conversion from Prior STATS/xxx
9990000 Catalog Retention CATALOG
9998xxx Retain xxx after LastRef LDATE/xxx
9999xxx Number of Cycles CYCLES/xxx
9999999 Permanent Retention PERMANENT
I have been unsuccesful in creating a FORMAT that will
extract that xxx value and print these special EXPTD
values the way TMSBINQ and other CA programs do.
Thanks to Wayne Hartman, Prudential, USA.
Change 16.381 CECs with an Integrated Coupling Facility, ICF, count the
XSUM70PR "spare" CPU in which the Coupling Facility is running as
Feb 17, 1999 a real processor. This summer, IBM will document changes
to the Diagnose 204 and 224 to define 3-byte codes for CP
types (general purpose and ICF) and will update the RMF
Type 70 SMF record so that the records for the ICF
Partition (and its PHYSICAL record for the ICF) can be
recognized and either deleted or at least excluded from
the count of CPUs. In advance of that APAR, this change
lets you delete the TYPE70PR observations from the ICF
LPAR (by LPARNAME/LCPUADDR) and lets you correct the
number of engines, so that the created PDB.ASUM70PR
counts the real workload and the real processors. You
will have to examine your TYPE70PR observations to see
what combination of LPARNAME, LPARNUM, and LCPUADDR can
be used to identify the ICF LPAR and its "PHYSICAL"
partition observations.
Thanks to Forrest Nielson, State of Utah, USA.
Thanks to Barry Rozemeijer, ING Nederland, THE NETHERLANDS.
Change 16.380 Invalid QWHSSTCK value in DB2ACCT records causes datetime
VMACDB2H variables QWACBSC and QWACESC to be trashed (dates in the
Feb 17, 1999 year 2082, wrong times). Instead of an expected 8-byte
field in TODSTAMP format (for example, the raw QWACESC is
'B1CFB43F08BF37F1'x for '15FEB1999:17:57:26.02'), the bad
QWHSSTCK field has a value in SMFSTAMP format (the raw
value '0020734600099031F'x is '31JAN1999:05:05:54.78' as
an SMFSTAMP, but that date is two weeks earlier than the
actual records (created on Feb 15, 1999), so not only is
the format wrong, the value is wrong too! MXG uses that
bad QWHSSTCK value to calculate your GMT offset, so that
QWACBSC/QWACESC can be converted back to local time, but
MXG input that bad QWHSSTCK as the expected TODSTAMP, it
is '26JAN1900:20:15:19.53', which causes GMTOFFDB to be
98 years (SMFTIME is 15FEB1999:11:57:23.02), which is
what then corrupts the QWACBSC and QWACESC values.
While investigating the source of this bad value, which
may have come from one of those Y2K-date-simulator-tools
that intercept STCK macro calls inside MVS, I now check
to see that the calculated GMTOFFDB is less than 24 hours
and if it is not, then I print an error message on your
SAS log that I could not calculate GMT offset and that
your BSC/ESC timestamps will be on GMT rather than local,
and set GMTOFFDB to zero. I will update this note when
we know if this error is due to a STCK-interceptor or if
it is an IBM DB2 error.
Thanks to Warren E. Waid, JC Penny, USA.
Change 16.379 Syntax error in this JCL example. The test should be
JCLADHOC IF APPLID='PROC' THEN OUTPUT _WCICTRN;
Feb 17, 1999
Thanks to Khalid Meskinia, SAS Institute, FRANCE.
Change 16.378 This analysis failed with dataset not found. This line
ANALVVDS PROC SORT DATA=_WTYVVDS..TYPEVVDS OUT=MXGVVDS.TYPEVVDS;
Feb 17, 1999 should have been
PROC SORT DATA=_WTYVVDS OUT=MXGVVDS.TYPEVVDS;
Thanks to David Mesiano, Sharp Electronics, USA.
Thanks to Steve Mesiano, Sharp Electronics, USA.
Change 16.377 -Format MGX37FL, used in TYPEPROS (STOPX37 replacement),
FORMATS had values of 12/16/20/24/28/32x when the actual data
VMACPROS values are 0c/10/14/18/1c/20x.
Feb 16, 1999 -Label for ABDISP now is 'ABEND*DISPOSITION'.
Thanks to Michael E. Friske, Fidelity Investments, USA.
Change 16.376 Optional decoding of the ESS segment in SMF type 6 record
IMAC6ESS fails with INPUT STATEMENT EXCEEDED RECORD LENGTH if you
Feb 16, 1999 have more than 1 address parameter in the JCL. The line
GEPARTLN=0; must be moved to before IF GEPARMKY=27X....
and new line
IF GEPARTLN GT 0 THEN GEPARMLN=GEPARTLN+(GEPARMNR-1)*2;
was added before GEOFFSET=GEOFFSET+GEPARMLN+6;
Thanks to Waldemar Rathfelder, ADP TAYLORIX GmbH, GERMANY.
Change 16.375 Fixes logic dealing with the length of the dataset names
VMXGSUM in the INDATA= that cause warning messages about invalid
Feb 16, 1999 arguments to SUBSTR function. Improved KEEP logic now
uses NODETAILS options on PROC CONTENTS to avoid reading
the entire dataset just to find out what variables exist.
Change 16.374 Trending member for the PDB.SMFINTRV dataset (which is
TRNDSMFI from Type 30 Subtype 2/3 records and is created as
Feb 16, 1999 dataset TYPE30_V, controlled in member IMACINTV.
Change 16.373 Confused by the syntax for the new %LET statements in
UTILBLDP MXG 16.16? This macro will build the SYSIN stream for
Feb 16, 1999 you to run BUILDPDB completely from SYSIN using the new
%LET architecture. You tell us the SPINCNT desired, any
time differences, any additional SMF records that you
want to add to the BUILDPDB process, and anything that
you want to suppress, and this utility builds the sysin
stream, complete with comments.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.371A If you were not using ASUMUOW's normal default (use the
ASUMUOW earliest transaction record as the real transaction name)
Feb 16, 1999 then some of the variables that are used to identify the
Feb 18, 1999 transaction (such as LUNAME, USER, TERMINAL, SYSTEM,
SMFTIME) may not have come from that real transaction
record, but were erroneously picked up from the last
transaction record in the unit of work, which might have
come from the SPIN library and might have blank values.
This change treats these identifying variables the way
that TRANNAME is, so that they all come from the same
record, and corrects the logic for SPINning records.
Thanks to Kevin Marsh, AT&T Solutions EMEA, ENGLAND.
Change 16.371 Subtype 0 records from CICS/ESA 4.1 caused UTILCICS to
UTILCICS fail with INPUT STATEMENT EXCEEDED RECORD error. Replace
Feb 16, 1999 IF '02' LE OLDVERCI LE '03' THEN SUBTYPE=0;
IF SUBTYPE EQ 00 THEN DO;
with
IF '02' LE OLDVERCI LE '03' THEN DO;
SUBTYPE=0; /* CICS 1.6, 1.7, 2.1 FORMAT DATA */
The real culprit was the MXG logic error, not the record!
Thanks to Andre van de Riet, Hudson Williams Europe, THE NETHERLANDS.
Change 16.370 New variable PCTMETGO was not calculated correctly; the
VMAC7072 test should be IF R723CVAL*RTSMAP(M) GE R723CVAL THEN DO;
Feb 16, 1999 so we compare the bucket's response time (instead of the
percentage value for that bucket) to the response goal.
At present, counting the first six buckets would produce
the same value, as the 6th bucket is the 100% bucket, but
this algorithm should protect future changes.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 16.369 MXG 16.06-16.10. Cosmetic. Names of some DROP variables
VMXGCICI were truncated (DIFTQTEM,DIFIOCRS,DIFIOCWF,DIFSTL,DIFST)
Feb 16, 1999 and so they were not dropped from temporary datasets, but
the MXG datasets were built without error.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK
Change 16.368 MXG 16.09-16.10. Macro PMVCICS had not been defined in
VMXGINIT VMXGINIT for the new CMRDETL support added in 16.09.
Feb 16, 1999
Thanks to Stephen Mesiano, Sharp Electronics Corp., USA.
==Changes thru 16.367 were in MXG NEWSLETTER THIRTY-FIVE Feb 20, 1999==
Change 16.367 MXG 16.06-16.10. Big CPU increase in BUILDPDB due to
VMXGCICI CICINTRV revisions introduced in MXG 16.06. MXG's use of
CICINTRV VMXGSUM's KEEPIN= option (which creates KEEP= statement
Feb 9, 1999 to keep only the needed variables) turns out to be very
CPU intensive in CICINTRV/VMXGCICI, even when there are
zero CICS observations! Replacing KEEPIN= option with
KEEPALL=YES removed the excessive cost of KEEPIN= logic.
In a single invocation of VMXGSUM when you need to keep
only a few variables from a large number of variables,
and when you have many observations (e.g., summing ten
variables from CICSTRAN, which was its purpose) using the
KEEPIN= option still makes sense, as it will save lots of
work space during the summarization. But CICINTRV, with
its many invocations of VMXGSUM (and a KEEPIN execution
for each argument of each VMXGSUM), and with essentially
all variables kept, so no space could be saved, the CPU
cost of KEEPIN was greater than the runtime without it!
Mac reported his BUILDPDB increased from 324 to 2650 CPU
seconds, a factor of eight! In my confirming tests, I
isolated the increase to CICINTRV and saw it jumped from
64 seconds to 446 seconds, about the same increase ratio!
That high cost (one build of the OPTVAR dataset took 53
seconds) is because we have to use SAS macro language to
parse arguments into macro variables and then convert to
variables in data steps so we can sort and remove dupes!
Note that VMXGSUM turns off SAS log messages, especially
for the data steps executed by the KEEPIN= algorithms,
and so the sum of "Step Used CPU" log messages will be
much smaller than the "Total CPU Used" value. For Mac,
his Total was 2650 seconds, but sum was only 380 seconds;
over 2270 seconds of KEEPIN= were not printed on the log!
Thanks to Mac Moss, Burlington Industries, Inc.
Change 16.366 NTSMF dataset PROCESOR variable DPCQUERT replaced DPCQUED
NTINTRV but the old variable name was still used in NTINTRV,
Feb 9, 1999 causing a missing value in NTINTRV.
Thanks to Chris Weston, SAS Institute ITSV Development, USA.
Change 16.365 Type 42 subtype 9 (dataset TYPE4237) was validated and
VMAC42 revised, and subtype 19 records showed wholesale revision
Feb 9, 1999 from their earlier documentation. Revised in 10Feb tape.
Thanks to Edward McCarthy, Health Insurance Commission, AUSTRALIA.
======Changes thru 16.364 were in MXG 16.10 dated Feb 8, 1999======
Change 16.364 QA test and MXG 16.04+ revision cleanup analysis:
DOC -TYPETMS5: PROC DELETE DATA=MGTMSVL; added after last use.
Feb 8, 1999 -SPUNJOBS: Variable DATETIME now formatted.
-MNTHDB2S: Variable STRTTIME now formatted.
-VMACTMDB: Variables D6ACBSC/D6ACESC now formatted.
-VMACVMXA: Variable DELTATM is now LENGTH 4 instead of 8.
-VMACEDGS: EDGSV: and EDGSU: added to dataset labels.
-VMACIMS/VMACIMSA: dddddd: added to dataset labels.
-TYPEMON8: dddddd: added to dataset labels.
-VMACOPC: OPC20: added to dataset label.
-VMAC28: L028IN7: corrected to 028IN7:.
-VMAC42: TY42P2: was missing colon in label.
-VMACMDF: Dataset Label was added.
-VMACHMF: Dataset Labels were added where missing.
-DIFFTPX: Dataset Labels was added.
-DIFFNTCP: Dataset Labels was added.
These products are not yet converted to the 16.04 design,
because they are second phase processes that don't read
raw data and don't really need the additional macro names
but they will eventually be revised to be consistent:
TRND70,TRND70PR,TRND71,TRND72,TRND27GO
TRNDDB2A,TRNDDB2S,TRNDDBDS,TRNDIDMS,TRNDRMFI,TRNDVMXA,
MNTH70,MNTH70PR,MNTH71,MNTH72,MNTHCICS,MNTH72GO MNTHDB2A
MNTHDB2S,MNTHDBDS,MNTHRMF,RMFINTRV.
VMXGHSM - does read HSM catalogs, but is standalone.
These products have not yet been 16.04 converted, and
won't be until someone asks for it, or until a change in
data requires an enhancement in these either standalone
or archaic programs:
TYPECRAY, TYPEFACO, TYPEPDL, TYPEVLFC, TYPEWWW, TYPEZARA
TYPE200, TYPETPNS, TYPERRTM.
Change 16.363 16.09 only, JCLTEST6 only. The new VMACMVCI for CMRDETL
JCLTEST6 still had RECFM=S370VB from PC testing, and MVS SAS does
VMACMVCI currently accepts only RECFM=VB, (although SAS has plans
Jan 21, 1999 for a fix to make S370VB an alias on MVS in Version 8?).
Change 16.362 The dataset name in MACRO _LHSMFUN should be HSMDSRFU.
VMACHSM The typo, HSMFSRFU, has never been a real dataset.
Feb 5, 1999 This 16.04 error has impact only if you used the _LHSMFUN
macro as the destination of your own PROC SORT, or if you
used the new _SHSMFUN macro; that created PDB.HSMFSRFU
instead of PDB.HSMDSRFU (but since it has all of the
variables, you can just rename it back to PDB.HSMDSRFU
without re-read of your SMF data).
Thanks to John McCray, Huntington Services Company, USA.
Change 16.361 Support for IDMS Version 14 Journal Records. Most IDMS
TYPEIDMJ sites write to SMF rather than a journal, and the SMF
VMACIDMJ records were fine, but the TYPEIDMJ support for journal
Feb 5, 1999 format had not been updated from IDMS Version 12! This
change only works with Version 14 data; I didn't take the
time to write it to work with both, as I don't think you
can be still running Version 12, but if you need it, I'll
enhance it for the old version too!
Thanks to David Thorn, Dow Jones, USA.
Change 16.360 -VMAC110: 16.09 only, new time variables in CICDS and in
IMACICOM CICINTRV did not have TIME12.2 format.
VMAC110 -IMACICOM: several MQxxxxTM duration variables had the
VMACDB2 same label as the MQxxxxCN count variables.
VMACTMDB -VMACDB2: new variables QXCOORNO/QXCRGTT/QXISORR/QXSTREOP
TYPETMON and QZZCBPNX/QZZCSKIP were missing because they had been
TYPEMONI added to the KEEP= list for DB2STAT0 instead of DB2STAT1.
Feb 5, 1999 -VMACTMDB: variable LMRKFLG1 was listed twice in FORMAT
statement; the last instance - $HEX2. - was removed as
it was overriding the $MGTMDGF decoding format.
-Archaic TYPETMON and TYPEMONI were upgraded to the 16.04
architecture, mostly for QA purposes than real need, as
both are archaic (replaced by TYPETMO2 and TYPEMON8).
Thanks to Chris Weston, SAS Institute ITSV Development, USA.
Change 16.359 Change 16.204 externalized tailoring for IMACACCT among
IMACACCT others, but the &MACACCT; statement was not added to
Feb 3, 1999 the end of the IMACACCT member until now.
Thanks to Paul Oliver, BHP, AUSTRALIA.
Change 16.358 TYPE39_6 variables DURATM, STARTIME, in the SCS segment
VMAC39 were originally only created in Netmaster records, but
Feb 3, 1999 became unneeded when IBM added ACTSTIME/ACTETIME to the
accounting segment. I never noticed, but now in NetView
for OS/390 Version 1 Release 1 type 39 records, IBM has
put several character fields where those old fields were
input, causing strange dates (like 2008) when MXG reads
those characters as TODSTAMP datetimes! The unneeded old
Netmaster variables are now set missing/blank, and the
new fields (Primary/Secondary CP NetworkID/Name and APPN
class of service name and APPN transport priority) were
added to each of the subtype 1-8 TYPE39 datasets.
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 16.357 Variable DDNAME was not kept in TYPETMNT, but no one had
VMACTMNT need of it. But now, in developing a new MXG tool that
Feb 3, 1999 decomposes all job delays, we find DDNAME is needed so we
can detect "parallel" tape mounts (when one tape DD has
multiple tape drives allocated) so we can not-include the
second-and-subsequent mount delays in the job delay total
(the reason you allocate two drives for one tape DD is so
that the rewind/mount time of one is in parallel with the
job's use of the other, to prevent any delay to the job).
Change 16.356 Support for Sterling's SOLVE NetMaster for TCP/IP SMF
EXTYSOLN creates one observation in dataset TYPESOLN for each
FORMATS record (which are identified as either interval or
IMACSOLN event), decoding as many of the up-to-12 fields that
TYPESOLN might be present. Variable ATTRID identifies what is
VMACSOLN measured in each record, and has values in mixed case
VMXGINIT (like "ifInPktsNUcast" and "ifInPktsDiscard") for each
Feb 3, 1999 metric. There are nearly 60 metrics available:
TCP/IP Stack: FTP/TELNET/Workload Connection activity
TCP/IP Node Monitor: SNMP counters/response/available
CISCO Monitor: Channel card load/errors/TN3270 use
Local Interface: Status and Thruput
The complete list and description is in SOLVE:Netmaster
Graphical Performance Manager User's Guide, Appendix C,
Attribute Descriptions.
Thanks to Wendy Wong, Sterling (Field Engineer), AUSTRALIA
Change 16.355 The DB2 Buffer Hit Ratios calculated in DB2STATS became
VMACDB2 negative because the TSPP field apparently should not be
Feb 2, 1999 included. The old equation TGET-(TSIO+TDPP+TLPP+TSPP)
had values of 175-(101+0+0+1621) so clearly TSPP is out
of place, and thus has been removed from the equations
for B1HITRAT/B2HITRAT/B3HITRAT/B4HITRAT and BPHITRAT.
I am now looking for an IBM update to their equations.
Change 16.354 There are additional fields captured in HPs MeasureWare
VMACMWSU for Sun that can now be output; some fields were removed
Feb 2, 1999 and some were reordered. The new fields are defined, but
you may need to compare the headings of the report with
the MXG input sequence to see that they are the same.
Thanks to Tim Crocker, NCCI, USA.
Change 16.353 The RMF WKLD Workload Activity Report was updated for
ANALRMFR OS/390 MODE=COMPAT, the WLMGL Report RPTORP=RCLASS
Feb 2, 1999 SCLASS SCPER has been updated for MODE=GOAL, the WGPER
Feb 20, 1999 BY lists now have BY SYSPLEX STARTIME ....
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 16.352 Some report/summary members had not been revised for the
ANALARB 16.04+ architecture and still %INCLUDEd their product's
ANALDB2R IMACxxxx member instead of its VMACxxxx member. As long
ANALPDSM as the program ran in the same step that built its data
ASUMHPSU sets, there was no error, because the VMACxxxx member
ASUMHPUX would have already been %INCLUDEd, but standalone runs
Feb 2, 1999 caused SAS "180" syntax errors due to missing macros.
MXG no longer defines macros in the product IMACxxxxs,
but instead MXG defines its macros in the VMACxxxx's,
which themselves include the IMACxxxx if you have one.
any overrides of the MXG defaults.
But not all includes of IMACxxxx members were changed,
as there are non-product IMACxxxx members (IMACRMFI)
that are still validly included by these programs.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.351 -Support for BETA93 3.1.3 Subtypes 1, 2, 3, 4, 20, 40, 41
FORMATS and 42 has been validated with single-record tests. In
VMACBETA one subtype 20, the READ DATE and TIME are invalid, which
Feb 2, 1999 means variable READTIME (which is necessary to match the
Beta records to other SMF records for the job accounting)
has a missing value, so the Beta records can't be matched
to their jobs other data! In the one test record:
valid LINP date invalid LJOB date
S20LINPT+S20LINPD S20LJOBT+S20LJOBD
time cyyddd time cyyddd
'0064B47A 0095001F' '00000000 0100000F'x
That record was written on 2Nov98; the 95 date shows the
document has been around for a while. This discovery
will be forwarded to the MXG site to forward to the Beta
vendor for response and correction. I will update this
MXG note when I hear back from the vendor, but since the
invalid date causes a hex dump of the record on the SAS
log, I have added "??" to suppress the dump and message.
Create the Beta datasets and use PROC MEANS N DATA=....
to see how many records have invalid data for READTIME.
-Existing format MGBETRT for variable BETAATT4 was updated
since it now has character rather than hex values.
Thanks to Wolfgang Prescher, Quelle, GERMANY.
Change 16.350 Support for WINDOWS NT 5.0 (INCOMPATIBLE) for NTSMF adds
EXNTAPLT new objects and new counters, but NT 5.0 appears to have
EXNTGWNW removed some important data:
EXNTHTIS =Changes to existing supported objects:
EXNTINSF -SYSTEM object removed all of the CPU busy fields; these
EXNTINSR variables will have missing value in the SYSTEM dataset:
EXNTJOB APCBYPAS DPCQUERT DPCRATE DPCBYPAS INTERUPT
EXNTJOBD PCTCPUTM PCTUSRTM PCTPRVTM PCTDPCTM PCTINTTM
EXNTMACF But those variables are also in the PROCESOR dataset
EXNTPRNQ (although per-CPU instead of per-interval), and NTINTRV
EXNTRASI logic sums those PROCESSOR variables into the interval
FORMATS CPU busy measures (by accident, because it happens that
IMACNTSM the MERGE statement lists SYSTEM before PROCESOR, and SAS
VMACNTSM always takes values from the last dataset when the same
VMXGINIT variable is in multiple datasets), so you should make
Feb 1, 1999 sure you are creating the Processor object so you can get
Feb 4, 1999 those most-important measures in PDB.NTINTRV dataset.
And if you were using dataset SYSTEM in your reporting
for those fields, you'll need to change to use PROCESOR
or PDB.NTINTRV for the interval utilizations in NT 5.0.
Two new variables, PROCESES and THREADS were added to the
SYSTEM object to count processes and threads.
-LOGLDISK object no longer has the physical disk name,
variable PDSKNAME, so you can't recognize which logical
disks are on which physical devices! Two new measures
PCTIDLE (percent idle time) and SPLTIORT (SPLIT I/Os per
second) were added to this object.
-PHYSDISK object has the same two new measures, PCTIDLE
and SPLTIORT that were added to LOGLDISK object.
=New objects, their "NTdddd" suffix and dataset name:
suffix dataset
AppleTalk NTAPLT APPLETLK
Gateway Service for Netware NTGWNW GTWYNETW
Http Indexing Service NTHTIS HTTPINSR
Indexing Service NTINSR INDEXSRV
Indexing Service Filter NTINSF INDSRVFL
Job Object NTJOB JOB
Job Object Details NTJOBD JOBDETLS
MacFile Server NTMACF MACFILE
Print Queue NTPRNQ PRINTQUE
RADIUS Server [IAS] NTRASI RADIUIAS
This support is based on Windows NT 5.0 Beta 2 discovery
records, and some records have been tested, but none of
new objects yet. NT 5.0 is to be renamed Windows 2000.
With 486 processors and NTSMF earlier than 2.2, an INPUT
STATEMENT EXCEEDED RECORD LENGTH on the 0.0 record is now
avoided; the CPUSPEED fields are now only input if your
NTSMF version is 2.2 or higher.
Change 16.349 The statement SQRTARG=(SSQELAP/TRANS-(RESPAVG**2);
ASUMCICS caused INVALID ARGUMENT TO SQRT function because it
ASUMCICX should have been IF TRANS GT 0 THEN SORTARG=(....
TRNDCICS Change 16.137 protected for negative square roots, but
TRND72 did not protect for zero divide with zero transactions.
Jan 30, 1999
Thanks to Normand Poitras, ISM, CANADA.
Change 16.348 The internal _PDB6 macro was enhanced, adding variables:
BUILD005 BINUSED BIN1BNCT BIN2BNCT BIN3BNCT BIN4BNCT
BUIL3005 BIN5BNCT BIN6BNCT BIN7BNCT BIN8BNCT BIN1USED
Jan 30, 1999 BIN2USED BIN3USED BIN4USED BIN5USED BIN6USED
BIN7USED BIN8USED
so they are kept in PDB.PRINT to measure bin activity.
Thanks to John A. Rivest, TDS-Computing Services, USA.
Change 16.347 Preliminary report merges datasets HSMFSRST and PDB.JOBS
ANALALOC to report how much of ALOCTM allocation delay was due to
Jan 30, 1999 HSM recall (and recall time spent queueing for an HSM
Feb 17, 1999 thread is separated from actual recall time), and how
much was real allocation delay. Further enhancements to
bring in other delay records (e.g., MXGTMNT allocation
and tape mount delay) are planned, to ultimately provide
measurement of each separable delay in a job's life.
Revised, Feb 17, 1999, but does not yet account for
overlap of mount times when parallel devices mounts are
used (i.e., multiple tape devices for one DD).
Thanks to Rebecca Cates, PKS Computer Services, USA.
Change 16.346 Thruput Manager SMF records with no token entries caused
VMACTPMX ERROR.VMACTPMX. TOKEN NOT FOUND, FIELD WAS NOT INPUT.
Jan 30, 1999 because MXG logic assumed there would always be tokens.
Change the DO UNTIL (NEXLOC=0); to now read
IF OFFXFE GT 0 THEN DO UNTIL (NEXTLOC=0);
and the record will be output.
Thanks to Joseph Montana, Trans Union Corporation, USA.
Change 16.345 Enhanced HSM summarization now separates the HSM delay
ASUMHSM into active and queued requests so you can track HSM's
TRNDHSM concurrent thread count, used and required. Triggered
Jan 30, 1999 by the new ANALALOC program, in Change 16.347, and now
used by the revised ANALHSM in Change 16.383.
Change 16.344 RMF Reports are enhanced:
ANALRMFR -Coupling Facility, Average CF utilization corrected.
FORMATS PCTCFBSY, if logical processors present, calculate
Jan 30, 1999 using logical processor effective.
-Updates PARTITION DATA REPORT for deactivated LPARs.
The values for counts in the MXG reports, will be
output as they are in the MXG/SAS database. (IBM
reports counts as 80K but ANALRMFR shows 80396).
Some values (standard deviation, delay time and /all
time), are still in development/validation.
-ADD Subchannel Activity Report.
-Format MGRMFF was revised to round percentages better.
Thanks to Scott Wiig, USBank, USA.
Change 16.343 Using JCLIMSLG/ASMIMSLG logic to read IMS log records for
VMACIMSA IMS FastPath transactions created zero observations in
Jan 30, 1999 IMSFASTP dataset, because the variable SUBCODE was not
kept in the IMS591,593,596,597, and IMS598 datasets.
The variable was added to the KEEP= list for those five
datasets (but Pete just used the five _KIMS59x macros
to add SUBCODE to circumvent the error in the interim).
Also, the PUT _ALL_'s that were unlimited will now only
print for the first five instances of unmatched fastpath.
Thanks to Pete Gain, SAS Software Pty, ENGLAND.
Change 16.342 New variable CECSER, the CPU SERIAL NUMBER OF THE CEC,
VMAC7072 (Central Electronic Complex) is created from CPUSER in
Jan 29, 1999 TYPE70 and TYPE70PR datasets, to identify the hardware
box in which this MVS system ran. The last two bytes of
CPU Serial (CPUSER) are converted to hex representation
and stored in the new 4-byte character variable CECSER,
so a CPUSER='03870F'X has CECSER='870F'.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 16.341 IMACPDB documentation. No code was changed.
BUILD005 The new architecture eliminates tailoring member IMACPDB,
BUIL3005 but I failed to document how! Previously, you EDITed the
IMACPDB macros (_PDB6, _PDB26J2, etc.) in IMACPDB to add fields
ZMACPDB (not kept by default) from type 6, 25, 26, and 30 SMF
Jan 29, 1999 records, into the PDB.JOBS, PDB.STEPS, and PDB.PRINT
datasets. But then you had to update your IMACPDB each
time when I changed something, because your IMACPDB will
(still) override my defaults. But now, with the 16.04+
design, you can instead use the &ADDxxxx macro variables,
with %LET ADDxxxx= var1 var2 ... ; syntax, to add your
variables. Your %LET can be in member IMACKEEP or can
be in the SYSIN stream using the "MACKEEP=". So if you
have an IMACPDB member, compare it with the old member in
ZMACPDB to see what your site added, and use the %LETs to
add those variables and eliminate your IMACPDB.
The new macro variable names and their function are:
MACRO Variable For Dataset/Function
ADD6 TYPE6
ADD25 TYPE25 (JES3 only)
ADD26J2 TYPE26J2 (JES2 only)
ADD26J3 TYPE26J3 (JES3 only)
ADD30U1 TYPE30_1
ADD30U4 TYPE30_4
ADD30U5 TYPE30_5
ADDACT2 Account fields back-merged
from JOBS to STEPS/PRINT
(JES2 only)
ADDACT3 Account fields back-merged
from JOBS to STEPS/PRINT
(JES3 only)
The macros formerly defined in IMACPDB member are now
defined in members BUILD005 (JES2) or BUIL3005 (JES3).
Thanks to Mike A. Geiger, A. C. Nielsen, USA.
Change 16.340 Some variables in ENDEAVOR dataset ENDEVRSE were wrong
VMACENDV because the end-of-comment was missing after the INPUT
Jan 29, 1999 of variable EDVIFUNC, causing out-of-alignment.
Thanks to Kenneth D. Jones, SHL Systemhouse, CANADA.
Change 16.339 Type 42 subtypes 15-19 (VSAM RLS) now exist and test data
VMAC42 exposed IBM errors: their length field in the triplet has
Jan 29, 1999 total length, instead of the length of the segment, which
caused MXG to DELETE all the records with a WRONG LENGTH
message on the log because of this invalid length value.
MXG circumvents by constructing the segment length from
the total length and number of segments. However, IBM
has changed some fields after the early documentation,
and real data corrected several typos & logic errors so
that now each repeated segment will be output. Also, all
TYPE42xx datasets now have their _BTY42xx "By" and their
_STY42xx "Sort" macros implemented.
Thanks to Ed McCarthy, Health Insurance Commission, AUSTRALIA.
Change 16.338 The old &PDB70,&PDB71,...&PDB78 macro variable names were
ASUM70PR still used as the source DDNAME of the TYPE7xxx datasets
RMFINTRV that are read into RMFINTRV, but in the new 16.04+ design
Jan 28, 1999 those names should have been &PTY70,&PTY71... PTY78.
There was no execution error, because both sets of macros
variable names have default values of "PDB", but if you
tried to use the new 16.04+ tailoring to split your PDB
into multiple destinations, DATASET NOT FOUND errors
would result. All of the &PDB7xxx's are now &PTY7xxx's.
Note that &PDBRMFI is still the name for RMFINTRV.
-Same error in ASUM70PR, but &PDB70PR is now &PTY70PR.
Thanks to Linda Carroll, IBM Global Services, USA.
Change 16.337 -Support for these new NT objects:
EXNTBENC -DB2 NT DATABASE MANAGER object creates dataset DB2.
EXNTDB2 with one instance variable and 15 counter variables.
EXNTFAXG -FAX SR. GATEWAY MONITOR object creates dataset FAXGATEW,
EXNTMSCC with one Instance variable and 8 counter variables.
EXNTPCHB -VPN ADAPTER object creates VPNADAPT dataset with two
EXNTRADI Instance variables and 15 counter variables.
EXNTUSER -Terminal Server object USER creates dataset USER with
EXNTVINE one instance variable (USER) and the other fields in the
EXNTVPN PROCESS object (except for IDUSER/IDLOGON!).
FORMATS -Radius Server object creates dataset RADIUS, but only
IMACNTSM discovery records have been read.
VMXGINIT -Benchmark Factory object creates dataset BENCHMRK, but
VMACNTSM only discovery records have been read.
Jan 30, 1999 -Microsoft Exchange object MSExchangeMSCC created MSEXCHCC
with counts and rates of mail activity between Exchange
and Lotus CC:MAIL. Only Discovery have been read.
-Vines Communications object creates dataset VINES with
33 counters.
=Enhancement/correction to existing NT objects:
-PROCESS dataset variables IDLOGON and IDUSER had missing
values, because MXG had a test for NRDATA=20 instead of
NRDATA=21. The WIDE2MBE variable was renamed to CREATPID
when Demand Technology was able to discover what was put
in that undocumented field (Creation Process ID).
-WINPROXY dataset has two variables now removed from the
record (but MXG still creates them, with missing value,
so your reports won't die), and five new fields were
added (incompatibly, of course!).
Thanks to Jim Quigley, Consolidated Edison, USA.
Change 16.336 IBM Documentation for NPM 2.4 is wrong, causing STOPOVER
VMAC28 error with NPMSUBTY='DD'x record. The VTT section has a
Jan 26, 1999 documented length of 196 bytes, but records with only 176
bytes (thru VTTNNCDS) are being created by IBM. To avoid
the error, two lines were inserted in the VTT input:
VTTNNCDS &PIB.4. original line
@; inserted line
IF LENAOF GE 196 THEN INPUT inserted line
VTTNRRGC &PIB.4. original line
Mar 10, 2000: APAR OW37758 fixed the 2.4 error, but that
APAR was not applied to the 2.5 release, so APAR AW43578
exists for 2.5, with no PTF. See Change 18.032.
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 16.335 Variables H15TCSDT and H15TCEDT in TYPERDSn RDS datasets
VMACRDS have never been correct, because MXG used JULDATE() where
Jan 22, 1999 it should have had DATEJUL(). No one noticed/complained,
probably because variable SMFTIME was valid, but now the
dates use DATEJUL() and its protection algorithm.
Thanks to Forrest Nielson, State of Utah, USA.
======Changes thru 16.334 were in MXG 16.09 dated Jan 20, 1999======
Change 16.334 Variable INNODE in TYPETPMX was changed to INNODEC, from
VMACTPMX numeric to character because INNODE was already defined
Jan 19, 1999 as numeric in other datasets created from SMF records.
Change 16.333 ADSM data transfer units were true Kilobytes so their
VMAC42 multiplier is changed from 1000 to 1024 for variables
Jan 17, 1999 ARCBYTCS,BKPBYTCS,DATBYTCS,ARCBYTRE and BKPBYTRE in
dataset TYPE42AD. I guessed the 1000 because most of
storage in IBM "KB" means 1000 rather than 1024, but
this guess was wrong.
Thanks to Kristyann Manske, University of Wisconsin-Milwaukee, USA.
Change 16.332 Variables DPRTY and IODP are both now formatted as HEX2.
VMAC99 to be consistent with historic priority ranges that are
Jan 17, 1999 commonly in hex (00-FF) rather than decimal.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.331 "Cosmetic Audit" of duplicate variables in LABEL, LENGTH
DOC and FORMAT statements, incorrect dataset name in comments
Jan 17, 1999 and _L macro names where _W macro names belong, and other
similar typos were corrected in these members:
VMAC102 VMAC110 VMAC28 VMAC30 VMAC40 VMACAPAF
VMACCIMS VMACCIMS VMACCMF VMACCMFV VMACDCOL VMACHSM
VMACICE VMACILKA VMACIMS VMACIMSA VMACMWAI VMACMWUX
VMACNTSM VMACPW VMACRMFV VMACVMON VMACVMXA
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 16.330 Status of MXG Year 2000 Support as of Jan 20, 1999.
ASUMHSM
TYPE80A MXG 16.09 is now required for full Year 2000 Support of
TYPEBETA all fields in all records from all supported products.
TYPEDCOL This replaces all prior statements of MXG Y2K Support.
TYPEHSM
TYPEMON8 MXG 16.01 and later do support almost all products, but
TYPEMOND five common products now require MXG 16.09 or later:
TYPEOPC HSM SMF Records
TYPETMON CA-1 aka TMS Tape Management Records
TYPETMS5 BETA93 SMF Records
TYPETMV2 Landmark Monitor for MVS Version 2
TYPETMVS VM Accounting records
TYPEVLFC Additionally, six other products that have variables
TYPEVM that were not Y2K compliant, but those variables were
YEAR2000 unlikely to have been used in your reports:
Jan 17, 1999 DCOLLECT - one julian date variable, UCCOLDT
Jan 20, 1999 OPC/A - three obscure julian date variables
Landmark - CICS: TYPEMON8,TYPETMON,TYPEMOND
MVS: TYPETMV2,TYPETMVS
one internal datetime TMMDCCLK.
ASTEX - one julian date SDATE
RACF SMF - two variables REVOKEDTE, RESUMEDTE
VLF - VLF Catalog records from SYSLOG.
Products were found with julian dates that were kept as
0cyyddd value (0100001 for 01Jan2000), which is a valid
Y2K format, but which is one not supported by SAS's
DATEJUL() function, so while MXG correctly created valid
Y2K values, your reports or exit logic would fail if they
used DATEJUL() on those 0cyyddd values. No ABEND, but
missing values or invalid argument messages on your log.
For example, TMS records have julian date values like the
EXPDT that are kept as 0cyyddd that could cause problems.
This DATEJUL() problem itself is not new. MXG reported
it and has provided an algorithm (described in member
YEAR2000, implemented by Change 15.050) that protects
julian dates as they are converted into SAS DATETIME
or DATE variables, which are Y2K compliant. But that
algorithm did not change the raw julian date value.
This change revises the protection algorithm so that it
now replaces the original 0cyyddd value with the valid
yyyyddd value in the raw julian date variable, unless the
yyyyddd value is missing (i.e., an invalid "date" like
99000), when the original raw value is not overwritten.
ASUMHSM testing with Y2K HSM records exposed the error,
and I realized that TMS and all products that keep julian
date variables were exposed, so every MXG member that had
a julian date field was examined, and I found four more
with the kept-julian-date-problem. I also found six
products (nine variables) that had been overlooked by MXG
Change 15.050 that were having unprotected sex with the
DATEJUL() function. All are now algorithm-protected.
Members with kept-julian-date-fields and the variables
that are now converted to yyyyddd:
TYPEDCOL UCCOLDT
TYPEHSM DSRDATE,VSRDATE,FSRBDATE,FSRDATR,FSRDLM,
FSRDLU
ASUMHSM DSRDATE
TYPEOPC TRLEVDAT,MT0CPED,MT0DAT
TYPETMS5 BTHDATE,CRTDT,DSADT,EXPDT,TMVADATE,LDATE,
TMAUDATE
TYPETMV2 JDRDATE
TYPETMVS (archaic) JDRDATE
Members overlooked in Change 15.050 and the variables
that are now protected:
TYPEBETA BETASTRT, BETAEND, BETASTSE, BETAENSE
TYPEDMON SDATE
TYPEHSM WFSRDATR, WFSRDATS, WFSRDATE
TYPETMV2 LMRKDATE, ENDTIME, STRTTIME
TYPETMVS (archaic) LMRKCARK
TYPE80A REVOKDTE, RESUMDTE
TYPEMOND TMMDCCLK
TYPEMON8 (archaic) TMMDCCLK
TYPETMON (archaic) TMMDCCLK
TYPEVLFC DATETIME
TYPEVM STARTIME, ENDTIME
In addition, thirty-five other members were changed
to streamline the algorithm where the creation of the
DATEYYYY variable was not required. These members
were and still are Y2K compliant, but are now more
robustly protected and their non-kept julian dates
are now converted to yyyyddd format:
TYPE90,TYPE84,TYPE434,TYPE37,TYPE1415,TYPE110,
TYPECTLT,TYPEFILA,TYPEIDMJ,TYPEIDMS,TYPEIMS,
TYPEIMSA,TYPEIPAC,TYPEITRF,TYPENDM,TYPENETP
TYPENSPY,TYPEOMVT,TYPEPDSM,TYPEROSC,TYPESIM,
TYPETRMS,TYPEWSF,TYPEXCOM,TYPEXSTR,TYPESUPR,
TYPESLRI,TYPERTEJ,TYPEDMS,IDMSLO57,IDMSJRNL,
ANALTMS,ANALSNAP,ANALRACF,ANALCM29
Thanks to John McCray, Huntington Services Company, USA.
Thanks to Xiaobo Zhang, Insurance Service Office, USA.
Change 16.329 Support for OS/390 R 2.7 (COMPATIBLE) adds new subtypes,
EXTY746B records, and segments:
EXTY746F -RMF type 74 record has new subtype 6 which creates three
EXTY746G new MXG datasets describing Hierarchical File Systems.
FORMATS While storage size fields in the raw record are in pages
VMAC42 or MB, MXG converts them all to bytes and formats with
VMAC7072 MGBYTES so the storage variables have the same, standard
VMAC73 units that display as MegaBytes, GigaBytes, etc.
VMAC74 -TYPE746G - HFS Global Statistics - one per interval
VMAC79 R746G1C ='FIRST PAGE*FINDS*IN CACHE'
VMXGINIT R746G1NC='FIRST PAGE*NOT FOUND*IN CACHE'
VMAC109 R746GLRC='RETURN CODE*BPX1PCT*BUFFLIM'
EXTY109 R746GLRS='REASON CODE*BPX1PCT*BUFFLIM'
IMAC109 R746GMC ='METADATA*FINDS*IN CACHE'
TYPE109 R746GMNC='METADATA*NOT FOUND*IN CACHE'
TYPS109 R746GMNF='VALUE OF FIXED(MIN)'
Jan 16, 1999 R746GMXV='VALUE OF*VIRTUAL(MAX)'
R746GSFL='STATUS FLAGS'
R746GSRC='RETURN CODE*BPX1PCT*GLOBSTAT'
R746GSRS='REASON CODE*BPX1PCT*GLOBSTAT'
R746GUSF='PERMANENT*FIXED*STORAGE*IN USE'
R746GUSV='VIRTUAL*STORAGE*IN USE'
-TYPE746B - HFS Buffer Statistics - one per buffer pool
R746GBF ='BUFFER*WAS FIXED*PRIOR TO*IO REQUEST'
R746GBNF='BUFFER*WAS NOT FIXED*PRIOR TO*IO REQUEST'
R746GNDS='NUMBER OF*DATA SPACES*FOR BUFFER POOL'
R746GSB ='SIZE OF*BUFFERS*IN BUFFER POOL'
R746GSBN='BUFFER*POOL*NUMBER'
R746GSBF='SIZE OF*PERMANENT*FIXED*BUFFERS'
R746GSBP='SIZE OF*BUFFER*POOL'
-TYPE746F - HFS File System Detail Statistics
R742PSNM='FILE*SYSTEM*NAME*(DSN)'
R746F1C ='FIRST PAGE*WAS FOUND*IN CACHE'
R746F1NC='FIRST PAGE*NOT FOUND*IN CACHE'
R746FCTM='CURRENT*TIME*STAMP'
R746FIJ ='INDEX JOINS'
R746FINT='INDEX NEW TOPS'
R746FIRH='INDEX PAGE READ HITS'
R746FIRM='INDEX PAGE READ MISSES'
R746FIS ='INDEX SPLITS'
R746FIWH='INDEX PAGE WRITE HITS'
R746FIWM='INDEX PAGE WRITE MISSES'
R746FMC ='METADATA WAS FOUND IN CACHE'
R746FMNC='METADATA NOT FOUND IN CACHE'
R746FMTM='MOUNT*TIME*STAMP'
R746FPC ='DATA BUFFER BYTES CACHED BY THIS FILESYS'
R746FPD ='BYTES USED FOR ATTRIBUTE*DIRECTORY'
R746FPF ='BYTES*INTERNALLY*USED*BY HFS'
R746FRFI='RANDOM FILE DATA I/O REQUESTS'
R746FSF ='BYTE SIZE OF*FILE*SYSTEM'
R746FSFI='SEQUENTIAL FILE DATA I/O REQUESTS'
R746FSFL='STATUS*FLAGS'
R746FSNL='LENGTH OF*FILE*SYSTEM*NAME'
R746FSRC='RETURN CODE*BPX1PCT*FSSTATS'
R746FSRS='REASON CODE*BPX1PCT*FSSTATS'
-RMF type 70 record has new bit values for SMF70PFG that
MXG decodes into two new variables in TYPE70PR:
LPARCHDE='NUMBER OF*DEDICATED*PROCESSORS*CHANGED?'
LPARCHSH='NUMBER OF*SHARED*PROCESSORS*CHANGED?'
-RMF type 73 record has new CPMF (Channel Path Measurement
Facility) mode variable in dataset TYPE73:
SMF73CMI='CPMF*MODE'
which is decoded by the new MG073CP format:
0='0:CPMF IS NOT ACTIVE'
1='1:COMPATIBILITY MODE'
2='2:EXTENDED MODE'
-RMF type 79 record subtype 12 also has a new CPMF*MODE
variable in dataset TYPE79C
R79CCMI='CPMF*MODE'
that is also decoded by the new MG073CP format, above.
-SMF type 42 subtype 5 and 6 contain new field S42DSDAO
that MXG creates in datasets TYPE42DS, TYPE42SR, and
TYPE42VT as new variable named:
AVGDAOMS='AVERAGE*I/O DEV-ACTIVE-ONLY*MS PER SSCH'
-New SMF type 109 record is written by OS/390 Firewall
Server, and contains log messages of firewall activity
that appear to be quite useful to security folks. The
ICAxxxxx and ICACxxxx message structure will be decoded
when I have test data from an interested site; for now,
those messages are just carried as text strings.
These changes have not been tested with 2.7 data yet.
Change 16.328 For Percentile Goal Service Classes, a new MXG variable
VMAC7072 PCTMETGO reports the actual percentage of transactions
Jan 14, 1999 that met the goal. For example, take a Service Class
Sep 17, 2002 that has a goal value of 1 second. Its MAP values are
actually percentages of the goal and the product of the
MAP value and the goal value is the response time value.
If the goal is 90% in 1 second, and your data values are:
MAP .5 .6 .7 .8 .9 1 1.1 1.2 1.3 1.4 1.5 2 4 FF
TRN 8638 108 101 69 59 53 56 43 42 30 1 147 134 22
then 90.9% (8638/9503) of those transactions ended in the
first bucket, in one-half-second. You easily met your
90%-in-one-second goal; in fact 90% of your transactions
were satisfied in less than 50% of your goal value, so
your goal is being met at a level of 50% of the response
time goal, so IBM's PERFINDX is 0.5, "twice as good".
(See why you need to be careful with percentages,
and always include, "of what").
But if we sum the number of transactions in the first six
buckets (i.e., those transactions whose response time was
less than or equal to the goal value), there were 9028 of
the 9503 transactions (95%) that met the one second goal,
and the value of new variable PCTMETGO=95.00.
Thanks to Chuck Hopf, MNBA, USA.
Change 16.327 For Service Classes with Average Goal value that had no
VMAC7072 delay samples (i.e., PCUTSOU=0 and PCTDLTOT=0), VELOCITY
Jan 14, 1999 cannot be calculated so it was missing value, but MXG
then erroneously set PERFINDX to zero, even when it
could be calculated. The original logic:
IF (TRANS EQ 0 AND TRANSEXC GT 0) OR R723CRGF='A' THEN ..
IF R723CVAL LE 0 OR VELOCITY LE 0 THEN PERFINDX=0;
ELSE PERFINDX=AVGELPTM/R723CVAL;
END;
now has the test for VELOCITY removed:
IF (TRANS EQ 0 AND TRANSEXC GT 0) OR R723CRGF='A' THEN ..
IF R723CVAL LE 0 THEN PERFINDX=0;
ELSE PERFINDX=AVGELPTM/R723CVAL;
END;
Thanks to Chuck Hopf, MBNA, USA.
Change 16.326 TYPE72 for Compatibility Mode OS/390 R2.4+ was incomplete
VMAC7072 as new delay variables were input in the subtype 3 SMF
Jan 14, 1999 record for WLM Goal Mode, but were not input for the
subtype 1 Compat Mode record. These variables are new:
SMF72ADT='INELIGIBLE*AFFINITY*TIME'
SMF72CVT='JCL CONVERSION*TIME'
SMF72IOD='TOTAL*I/O*DELAYS*SAMPLES'
SMF72IOT='DASD*IOS QUEUE*TIME'
SMF72IQT='INELIGIBLE*OTHER*RESOURCE*TIME'
SMF72QDT='TOTAL*QUEUE*DELAY*TIME'
SMF72TSA='TOTAL*EXECUTION*SAMPLES'
Thanks to Rick Mansfeldt, GE Capital, USA.
Change 16.325 Documentation only; the instructions implied you needed
BLDNTPDB to run three separate BLDNTDPBs, one for DAY, WEEK, and
Jan 14, 1999 MONTH, but in fact, all you need is to use daily:
%BLDNTPDB(RUNDAY=YES,RUNWEEK=YES,RUNMNTH=YES);
and the daily will always be built, the weekly will be
built on the WEEKSTRT= date (default=MON), and the
monthly will be built on the first day of the month.
Thanks to Wayne Holzback, Reynolds Metal Company, USA.
Change 16.324 Variables R744FTIM, FSQU, FCTM, and FCSQ should have
VMAC74 been divided by 4096.
Jan 14, 1999
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 16.323 Change 16.271 was not supposed to change VMXGSUM, but it
VMXGSUM did; the comments around &DATETIME=DATETIME; statement
Jan 14, 1999 that were added by 16.271 have now been removed.
Thanks to Freddie Arie, Lone Star Gas, USA
Change 16.322 Support for CICS TS 1.3 (INCOMPATIBLE). IBM inserted
ADOC110 data fields in the middle of the accounting record, so
EXCICCF6 you MUST use MXG 16.09 or later to read CICS TS 1.3 data.
EXCICCF7
EXCICCF8 Lots of new measurements have been added, especially for
EXCICCF9 Web activity (and the first JAVA measurements in MVS!!!).
EXCICNC4 There are also new subtypes 3, 4 and 5, and new stat data
EXCICNC5 records and new fields added to existing statistics, and
EXCICSOR there are now 11 TCBs that CICS can dispatch!
FORMATS The type 110 subtype 1 (CICSTRAN dataset) has these 61
VMAC110 new variables added:
VMXGCICI ACTVTYID='ACTIVITY*ID'
Nov 29, 1998 ACTVTYNM='ACTIVITY*NAME'
Jan 12, 1999 BAACDCCT='ACTIVITY*DATA*CONTAINER*REQUESTS'
BAACQPCT='ACQUIRE*PROCESS*REQUESTS'
BADACTCT='DEFINE*ACTIVITY*REQUESTS'
BADCPACT='DELETE*ACTIVITY*AND CANCEL*REQUESTS'
BADFIECT='DEFINE*INPUT*EVENT*REQUESTS'
BADFTECT='DEFINE*TIMER*EVENT*REQUESTS'
BADPROCT='DEFINE*PROCESS*REQUESTS'
BALKPACT='LINK*PROCESS*ACTIVITY*REQUESTS'
BAPRDCCT='PROCESS*DATA*CONTAINER*REQUESTS'
BARACTCT='RESET*ACTIVITY*REQUESTS'
BARASYCT='RUN*PROCESS*ACTIVITY*ASYNC'
BARATECT='RETRIEVE*REATTACH*EVENT*REQUESTS'
BARMPACT='RESUME*PROCESS*ACTIVITY*REQUESTS'
BARSYNCT='RUN*PROCESS*ACTIVITY*SYNC'
BASUPACT='SUSPEND*PROCESS*ACTIVITY*REQUESTS'
BATOTCCT='TOTAL*DATA*CONTAINER*REQUESTS'
BATOTECT='TOTAL*EVENT*REQUESTS'
BATOTPCT='TOTAL*PROCESS*ACTIVITY*REQUESTS'
CFCAPICT='OO CLASS*LIBRARY*API*REQUESTS'
CFDTWACN='CF DATA*TABLE*WAIT*COUNT'
CFDTWATM='CF DATA*TABLE*WAIT*TIME'
CHMODECT='CICS*DISPATCHER*MODE*CHANGES'
CLIPADDR='CLIENT*IP*ADDRESS'
DB2CONCN='DB2*CONNECTION*WAIT*WAIT*COUNT'
DB2CONTM='DB2*CONNECTION*WAIT*WAIT*TIME'
DB2RDYCN='DB2*READY*QUEUE*WAIT*COUNT'
DB2RDYTM='DB2*READY*QUEUE*WAIT*TIME'
DB2REQCT='DB2*REQUEST*COUNT'
DB2WAICN='DB2*WAIT*WAIT*COUNT'
DB2WAITM='DB2*WAIT*WAIT*TIME'
DHCRECT ='DOCUMENT*CREATE*REQUESTS'
DHINSCT ='DOCUMENT*INSERT*REQUESTS'
DHRETCT ='DOCUMENT*RETRIEVE*REQUESTS'
DHSETCT ='DOCUMENT*SET*REQUESTS'
DHTOTCT ='TOTAL*DOCUMENT*REQUESTS'
DHTOTDCL='TOTAL*DOCUMENT*CREATED*LENGTH'
GNQDELCN='GLOBAL*ENQUE*DELAY*COUNT'
GNQDELTM='GLOBAL*ENQUE*DELAY*TIME'
IMSREQCT='IMS*REQUEST*COUNT'
IMSWAICN='IMS*WAIT*COUNT'
IMSWAITM='IMS*WAIT*TIME'
J8CPUTCN='USER TASK*J8 MODE*CPU TCB*COUNT'
J8CPUTTM='USER TASK*J8 MODE*CPU TCB*TIME'
JVMSUSCN='JAVA*VM*SUSPEND*COUNT'
JVMSUSTM='JAVA*VM*SUSPEND*TIME'
JVMTIMCN='JAVA*VM*EXECUTION*COUNT'
JVMTIMTM='JAVA*VM*EXECUTION*TIME'
L8CPUTCN='USER TASK*L8 MODE*CPU TCB*COUNT'
L8CPUTTM='USER TASK*L8 MODE*CPU TCB*TIME'
MAXOTDCN='MAX*OPEN*TCB*DELAY*COUNT'
MAXOTDTM='MAX*OPEN*TCB*DELAY*TIME'
MSCPUTCN='USER TASK*OTHER MODE*CPU TCB*COUNT'
MSCPUTTM='USER TASK*OTHER MODE*CPU TCB*TIME'
MSDISPCN='USER TASK*OTHER MODE*DISPATCH*COUNT'
MSDISPTM='USER TASK*OTHER MODE*DISPATCH*TIME'
PCDPLCT ='DPL*PROGRAM*LINKS'
PRCSID ='PROCESS*ID'
PRCSNAME='PROCESS*NAME'
PRCSTYPE='PROCESS*TYPE'
QRCPUTCN='USER TASK*QR MODE*CPU TCB*COUNT'
QRCPUTTM='USER TASK*QR MODE*CPU TCB*TIME'
QRDISPCN='USER TASK*QR MODE*DISPATCH*COUNT'
QRDISPTM='USER TASK*QR MODE*DISPATCH*TIME'
QRMODDCN='QR*MODE*DELAY*COUNT'
QRMODDTM='QR*MODE*DELAY*TIME'
RRMSURID='RRMS/MVS*UNIT OF RECOVERY*ID'
RRMSWACN='RRMS/MVS*WAIT*COUNT'
RRMSWATM='RRMS/MVS*WAIT*TIME'
RUNTRWCN='RUN*TRANSACTION*WAIT*COUNT'
RUNTRWTM='RUN*TRANSACTION*WAIT*TIME'
S8CPUTCN='USER TASK*S8 MODE*CPU TCB*COUNT'
S8CPUTTM='USER TASK*S8 MODE*CPU TCB*TIME'
SOBYDECT='BYTES*DECRYPTED'
SOBYENCT='BYTES*ENCRYPTED'
SOIOWTCN='SOCKET*IO*WAIT*COUNT'
SOIOWTTM='SOCKET*IO*WAIT*TIME'
SRVSYWCN='SERVER*SYNCPOINT*WAIT*COUNT'
SRVSYWTM='SERVER*SYNCPOINT*WAIT*TIME'
SYNCDLCN='SYNCPOINT*DELAY*COUNT'
SYNCDLTM='SYNCPOINT*DELAY*TIME'
TCBATTCT='CICS*DISPATCHER*TCB*ATTACHES'
WBCHRIN ='WEB*CHARACTERS*RECEIVED'
WBCHROUT='WEB*CHARACTERS*SENT'
WBRCVCT ='WEB*RECEIVE*REQUESTS'
WBREPRCT='REPOSITORY*READS'
WBREPWCT='REPOSITORY*WRITES'
WBSENDCT='WEB*SEND*REQUESTS'
WBTOTCT ='TOTAL*WEB*REQUESTS'
The type 110 subtype 1 (CICSEXCE dataset) adds variables:
EXCMNBTR='BRIDGE*TRANSACTION*ID'
EXCMNCPN='CURRENT*PROGRAM*NAME'
EXCMNFCN='TRANSACTION*FACILITY*NAME'
EXCMNNPX='NETWORK*UNIT-OF-WORK*PREFIX'
EXCMNNSX='NETWORK*UNIT-OF-WORK*PREFIX'
EXCMNRIL='EXCEPTION*RESOURCE*ID*LENGTH'
EXCMNRIX='EXCEPTION*RESOURCE*ID'
EXCMNTRF='TRANSACTION*FLAGS'
EXCMNURI='RRMS/MVS*UNIT OF RECOVERY*ID'
-Statistics STID=55 now creates CICDS Dispatcher Stats
dataset (replacing STID=56 or STID=57). There are now
eleven TCBs separately reported in CICDS dataset:
TCB Var Prefix Abbreviation Description
1 DSG QR Quasi Reentrant
2 DS2 RO Resource Owning
3 DS3 CO Concurrent
4 DS4 SZ Secondary LU
5 DS5 RP ONC/RPC
6 DS6 FO File Owning
7 DS7 SL Sockets Owning SL
8 DS8 SO Sockets Owning SO
9 DS9 J8 J8 Open
10 DSA L8 L8 Open
11 DSB S8 S8 Open
The CICDS labels now conain the TCB abbreviation.
-Statistics STID=67 (CICFCR dataset) has new variables:
A17DTCFP='CF*DATA*TABLE*POOL NAME'
A17DTCON='CHANGED*RESPONSES*FOR CFDT'
A17DTLDS='LOADING*RESPONSES'
-Statistics STID=42 (CICTQR dataset) has new variable:
TQRPDSMN='PDS*MEMBER*NAME'
-Statistics STID=52 (CICCONSR dataset) has new field:
A14ESTPC='PROGRAM*CONTROL*FUNCTION*SHIP*REQUESTS'
-Statistics STID=97 now creates CICNQG ENQ Manager data;
it was previously in STID=96, but not only was the STID
changed, there are four new variables:
NQGGNQSW='TOTAL*SYSPLEX*ENQUES*WAITED'
NQGGNQWT='TOTAL*SYSPLEX*ENQ*WAITING TIME'
NQGSNQSW='CURRENT*SYSPLEX*ENQUEUE*WAITING'
NQGSNQWT='CURRENT*SYSPLEX*ENQ*WAITING TIME'
-New Statistics segments and new Subtypes create seven new
datasets, but I have no test data to validate the code,
so no deaccumulation (if needed) has been written. The
contents of these new datasets are impressive:
MXG DATASET STID DSECT Subtype Description
CICTCPIP 108 SOR 2 TCP/IP Statistics
CICNCS4D 124 NCS4D 5 NC Server List Structure
CICNCS5D 125 NCS5D 5 NC Server Storage Stats
CICCFS6D 126 CFS6D 4 CFTD Server List
CICCFS7D 127 CFS7D 4 CFTD Buffer Statistics
CICCFS8D 128 CFS8D 4 CFTD Request Statistics
CICCFS9D 129 CFS9D 4 CFTD Storage Statistics
Contents of CICTCPIP - TCP/IP Statistics
SORBACKL='TCP/IP*SERVICE*BACKLOG'
SORBYTRC='BYTES*RECEIVED*(ALL SOCKETS)'
SORBYTSN='BYTES*SENT*(ALL SOCKETS)'
SORCLOSG='GMT SERVICE*CLOSE TIME*(GMT)'
SORCLOSL='LOCAL SERVICE*CLOSE TIME*(LOCAL)'
SORCUCON='CURRENT*NUMBER OF*CONNECTIONS'
SORIPADR='TCP/IP*SERVICE*IP ADDRESS'
SOROPENG='GMT SERVICE*OPEN TIME*(GMT)'
SOROPENL='LOCAL SERVICE*OPEN TIME*(LOCAL)'
SORPKCON='PEAK*NUMBER OF*CONNECTIONS'
SORPORTN='TCP/IP*SERVICE*PORT*NUMBER'
SORRECVS='RECEIVES*(ALL SOCKETS)'
SORSENDS='SENDS*(ALL SOCKETS)'
SORSERVN='TCP/IP*SERVICE*NAME'
SORSSLFL='TCP/IP*SERVICE*SSL*SUPPORT'
SORTRANA='TRANSACTIONS*ATTACHED'
Contents of CICNCS4D - NC Server List Structure
S4ASYCT ='NUMBER OF*ASYNCHRONOUS*REQUESTS'
S4CNPREF='PREFIX FOR*CONNECTION*NAME'
S4CNSYSN='OWN MVS*SYSTEM NAME*FROM*CVTSNAME'
S4CRECT ='CREATE*COUNTER'
S4DELCT ='DELETE*COUNTER'
S4ENTRCT='CURRENT*NUMBER*OF ENTRIES*IN USE'
S4ENTRHI='HIGHEST*NUMBER*OF ENTRIES*IN USE'
S4ENTRLO='LOWEST*NUMBER*OF FREE*ENTRIES'
S4ENTRMX='MAX ENTRIES*RETURNED*BY IXLCONN'
S4GETCT ='GET AND*INCREMENT*COUNTER'
S4KEQCT ='INQUIRE*KEQ'
S4KGECT ='INQUIRE*KGE'
S4POOL ='POOL NAME*PART OF*STRUCTURE NAME'
S4PREF ='FIRST*PART OF*STRUCTURE*NAME'
S4RSP1CT='NORMAL RESPONSE EVERYTHING OK'
S4RSP2CT='NO MATCHING*ENTRY*WAS FOUND'
S4RSP3CT='ENTRY*VERSION*DID NOT*MATCH'
S4RSP4CT='LIST*AUTHORITY*COMPARISON*MISMATCH'
S4RSP5CT='THE LIST*STRUCTURE*IS OUT*OF SPACE'
S4RSP6CT='IXLLIST*RETURN*CODE*OCCURRED*OTHER'
S4SETCT ='SET*COUNTER'
S4SIZE ='STRUCTURE*SIZE*(UNSIGNED*FULLWORD)'
S4SIZEMX='MAXIMUM*STRUCTURE*SIZE'
Contents of CICNCS5D - NC Server Storage Statistics
S5ANYFR ='NUMBER OF*FREE PAGES*IN THE POOL'
S5ANYLO ='LOWEST*FREE*PAGES*(SINCE RESET)'
S5ANYMX ='TOTAL PAGES*IN THE*STORAGE*POOL'
S5ANYNAM='POOL NAME*AXMPGANY'
S5ANYPTR='ADDRESS OF*STORAGE*POOL*AREA'
S5ANYRQC='COMPRESS*(DEFRAGMENTATION)*ATTEMPTS'
S5ANYRQF='GETS*WHICH FAILED*TO OBTAIN*STORAGE'
S5ANYRQG='STORAGE*GET*REQUESTS'
S5ANYRQS='STORAGE*FREE*REQUESTS'
S5ANYSIZ='SIZE OF*STORAGE*POOL*AREA'
S5ANYUS ='NUMBER OF*USED PAGES*IN THE POOL'
S5LOWFR ='NUMBER OF*FREE PAGES*IN THE POOL'
S5LOWLO ='LOWEST*FREE*PAGES*(SINCE RESET)'
S5LOWMX ='TOTAL PAGES*IN THE*STORAGE*POOL'
S5LOWNAM='POOL NAME*AXMPGLOW'
S5LOWPTR='ADDRESS OF*STORAGE*POOL*AREA'
S5LOWRQC='COMPRESS*(DEFRAGMENTATION)*ATTEMPTS'
S5LOWRQF='GETS*WHICH FAILED*TO OBTAIN*STORAGE'
S5LOWRQG='STORAGE*GET*REQUESTS'
S5LOWRQS='STORAGE*FREE*REQUESTS'
S5LOWSIZ='SIZE OF*STORAGE*POOL*AREA'
S5LOWUS ='NUMBER OF*USED PAGES*IN THE POOL'
Contents of CICCSF6D - CFTD Server List
S6CNPREF='PREFIX*FOR*CONNECTION*NAME'
S6CNSYSN='OWN MVS*SYSTEM NAME*FROM CVTSNAME'
S6ELEMCT='CURRENT*NUMBER OF*ELEMENTS*IN USE'
S6ELEMHI='HIGHEST*NUMBER OF*ELEMENTS*IN USE'
S6ELEMLN='DATA*ELEMENT*SIZE'
S6ELEMLO='LOWEST*NUMBER OF*FREE*ELEMENTS'
S6ELEMMX='MAX ELEMENTS*RETURNED*BY IXLCONN'
S6ELEMPE='MAX ELEMENTS*PER ENTRY*(FOR 32K)'
S6ELEMPW='DATA*ELEMENT*SIZE*AS POWER OF 2'
S6ELEMRT='ELEMENT SIDE*OF ENTRY*ELEMENT RATIO'
S6ENTRCT='CURRENT*NUMBER OF*ENTRIES*IN USE'
S6ENTRHI='HIGHEST*NUMBER OF*ENTRIES*IN USE'
S6ENTRLO='LOWEST*NUMBER OF*FREE*ENTRIES'
S6ENTRMX='MAX ENTRIES*RETURNED*BY IXLCONN'
S6ENTRRT='ENTRY SIDE*OF ENTRY*ELEMENT RATIO'
S6FREECT='NUMBER OF*ENTRIES*ON FREE LIST'
S6FREEHI='HIGHEST*ENTRIES*ON FREE LIST'
S6HDRS ='MAXIMUM*NUMBER OF*LIST*HEADERS'
S6HDRSCT='HEADERS*USED FOR*CONTROL*LISTS'
S6HDRSTD='HEADERS*AVAILABLE FOR*TABLE DATA'
S6INDXCT='NUMBER OF*ENTRIES*IN TABLE INDEX'
S6POOL ='POOL NAME*PART OF*STRUCTURE*NAME'
S6PREF ='FIRST PART*OF*STRUCTURE*NAME'
S6RSP8CT='AN IXLLIST*RETURN*CODE*OCCURRED*OTHER'
S6SIZE ='STRUCTURE*SIZE*'
S6SIZEMX='MAXIMUM*STRUCTURE*SIZE'
S6USEDCT='NUMBER OF*ENTRIES*ON USED LIST'
S6INDXHI='HIGHEST*ENTRIES*IN TABLE INDEX'
S6APPLCT='NUMBER OF*ENTRIES*IN APPLID LIST'
S6APPLHI='HIGHEST*ENTRIES*IN APPLID LIST'
S6UOWLCT='NUMBER OF*ENTRIES*IN UOW LIST'
S6UOWLHI='HIGHEST*ENTRIES*IN UOW LIST'
S6RDICT ='READ*TABLE*INDEX*ENTRY'
S6WRICT ='WRITE*TABLE*INDEX*ENTRY'
S6RWICT ='REWRITE*TABLE*INDEX*ENTRY'
S6DLICT ='DELETE*TABLE*INDEX*ENTRY'
S6CRLCT ='CREATE*LIST'
S6MDLCT ='MODIFY*LIST'
S6DLLCT ='DELETE*LIST'
S6RDDCT ='READ*DATA*ITEM'
S6WRDCT ='WRITE*DATA*ITEM'
S6RWDCT ='REWRITE*DATA*ITEM'
S6DLDCT ='DELETE*DATA*ITEM'
S6INLCT ='INQUIRE*ON*DATA LIST'
S6RDMCT ='READ*MESSAGE*QUEUE'
S6WRMCT ='WRITE TO*MESSAGE*QUEUE'
S6RDUCT ='READ*UOW*ENTRY'
S6WRUCT ='WRITE*UOW*ENTRY'
S6RWUCT ='REWRITE*UOW*ENTRY'
S6DLUCT ='DELETE*UOW*ENTRY'
S6RDACT ='READ*APPLID*ENTRY'
S6WRACT ='WRITE*APPLID*ENTRY'
S6RWACT ='REWRITE*APPLID*ENTRY'
S6DLACT ='DELETE*APPLID*ENTRY'
S6RRLCT ='REREAD*ENTRY FOR*FULL DATA*LENGTH'
S6ASYCT ='NUMBER OF*ASYNCHRONOUS*REQUESTS'
S6RSP1CT='NORMAL*RESPONSE*EVERYTHING*OK'
S6RSP2CT='BUFFER LEN*TOO SHORT*FULL LENGTH*REREAD'
S6RSP3CT='NO MATCHING*ENTRY*WAS FOUND'
S6RSP4CT='ENTRY VERSION*DID NOT*MATCH'
S6RSP5CT='LIST*AUTHORITY*COMPARISON*MISMATCH'
S6RSP6CT='MAXIMUM*LIST*KEY*REACHED'
S6RSP7CT='THE LIST*STRUCTURE*IS OUT OF*SPACE'
S6USEDHI='HIGHEST*ENTRIES*ON USED LIST'
Contents of CICCSF7D - CFTD Buffer Statistics
S7OCCLOS='CLOSE*TABLE'
S7OCDELE='DELETE*TABLE'
S7OCOPEN='OPEN*TABLE'
S7OCSET ='SET TABLE*ATTRIBUTES'
S7OCSTAT='EXTRACT*TABLE*STATISTICS'
S7RQHIGH='RETURN*HIGHEST*KEY'
S7RQLOAD='LOAD '
S7RQPOIN='POINT '
S7RQRDDL='READ*AND*DELETE'
S7RQREAD='READ*(INCLUDING READ*FOR UPDATE)'
S7RQREWR='REWRITE'
S7RQUNLK='UNLOCK'
S7RQWRIT='WRITE*(NEW RECORD)'
S7TABLE ='TABLE*NAME'
Contents of CICCSF8D - CFTD Request Statistics
S8IQINQU='INQUIRE*TABLE'
S8OCCLOS='CLOSE*TABLE'
S8OCDELE='DELETE*TABLE'
S8OCOPEN='OPEN*TABLE'
S8OCSET ='SET TABLE*ATTRIBUTES'
S8OCSTAT='EXTRACT*TABLE*STATISTICS'
S8RQDELE='DELETE*RECORD'
S8RQDELM='DELETE*MULTIPLE*RECORDS'
S8RQHIGH='RETURN*HIGHEST*KEY'
S8RQLOAD='LOAD*RECORD*AT INITIAL*LOAD TIME'
S8RQPOIN='POINT*TO*RECORD'
S8RQRDDL='READ*AND*DELETE*RECORD'
S8RQREAD='READ*RECORD*(INCLUDES*FOR UPDATE)'
S8RQREWR='REWRITE*EXISTING*RECORD'
S8RQUNLK='UNLOCK*RECORD'
S8RQWRIT='WRITE*NEW*RECORD'
S8SPBACK='BACK OUT*UNIT OF WORK'
S8SPCOMM='COMMIT*UNIT OF WORK'
S8SPINQU='INQUIRE*ABOUT*UNIT OF WORK'
S8SPPREP='PREPARE*TO COMMIT*UNIT OF WORK'
S8SPREST='RESTART*RECOVERABLE*CONNECTION'
S8SPRETA='RETAIN*LOCKS FOR*UNIT OF WORK'
Contents of CICCSF9D - CFTD Storage Statistics
S9ANYFR ='NUMBER OF*FREE PAGES*IN THE POOL'
S9ANYLO ='LOWEST*FREE*PAGES*(SINCE RESET)'
S9ANYMX ='TOTAL PAGES*IN THE*STORAGE*POOL'
S9ANYNAM='POOL NAME*AXMPGANY'
S9ANYPTR='ADDRESS OF*STORAGE*POOL*AREA'
S9ANYRQC='COMPRESS*(DEFRAGMENTATION)*ATTEMPTS'
S9ANYRQF='GETS WHICH*FAILED TO*OBTAIN STORAGE'
S9ANYRQG='STORAGE*GET*REQUESTS'
S9ANYRQS='STORAGE*FREE*REQUESTS'
S9ANYSIZ='SIZE OF*STORAGE*POOL*AREA'
S9ANYUS ='NUMBER OF*USED PAGES*IN THE POOL'
S9LOWFR ='NUMBER OF*FREE PAGES*IN THE POOL'
S9LOWLO ='LOWEST FREE PAGES (SINCE RESET)'
S9LOWMX ='TOTAL PAGES*IN THE*STORAGE POOL'
S9LOWNAM='POOL NAME*AXMPGLOW'
S9LOWPTR='ADDRESS OF*STORAGE*POOL*AREA'
S9LOWRQC='COMPRESS*(DEFRAGMENTATION)*ATTEMPTS'
S9LOWRQF='GETS WHICH*FAILED TO*OBTAIN STORAGE'
S9LOWRQG='STORAGE*GET*REQUESTS'
S9LOWRQS='STORAGE*FREE*REQUESTS'
S9LOWSIZ='SIZE OF*STORAGE*POOL*AREA'
S9LOWUS ='NUMBER OF*USED PAGES*IN THE POOL'
Change 16.321 If the last structure in a type 74 subtype 4 record had
VMAC74 an extension, the extension was not input, so variables
Jan 12, 1999 R774CRHC thru R744CWUC were missing TYPE74ST dataset for
that observation. My existence test for the extension:
IF R744CDSI GT 0 AND CDSILOC+200 LE LENGTH THEN DO;
INPUT @(SMF744CO+(R744CDSI-1)*SMF744CL)
should have been:
IF R744CDSI GT 0 AND CDSILOC+200 LE LENGTH-1 THEN DO;
but clearer/safer logic is to use R744CDNE to validate
the existence of the extension, so the test now is:
IF R744CDSI GT 0 AND R744CDNE GE 1 THEN DO;
INPUT @CDSILOC
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 16.320 This test member had hex strings that caused FTP to gag
ZTIMECHK when the MXG Source Library was FTP'd from MVS; as it was
Jan 10, 1999 only for my internal testing, the member was deleted.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 16.319 Using the new TYPSAIM0 member (for FACOM operating sys)
VMACAIM0 failed, as the MACRO _SAIM0 _SAIM0 % syntax failed. As
Jan 10, 1999 it was not really needed, it was deleted. This was the
only instance in which a dataset sort macro name was the
same as the member sort macro name, and the only place
that that syntax was used in a VMAC member.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.318 Support for DB2 Version 6.1 (COMPATIBLE):
EX102230 It appears that all of the changes in 6.1 were added at
EX102233 the end of segments, so MXG 15.15+ will not fail with the
EX102242 DB2 6.1 records, but none of the new information will be
EX102243 decoded by MXG until you install MXG 16.09 or later.
EX102247 -The QWHA Data Sharing Header (new in Version 5.1) is now
EX102248 decoded, creating new variables in Accounting datasets
EX102249 DB2ACCT,DB2ACCTP, DB2ACCTB and DB2ACCTG:
EX102250 QWHAMEMN='DB2*MEMBER*NAME'
EX102251 QWHADSGN='DB2*DATA SHARING*GROUP*NAME'
EX102252 -The QWHC Correlation Header was extended and contains new
EX102254 End User information added to DB2ACCT,DB2ACCTP,DB2ACCTB
EX102255 and DB2ACCTG Accounting datasets.
EX102256 QWHCEUID='END USERS*USERID*AT WORKSTATION'
EX102257 QWHCEUTX='END USERS*TRANSACTION*NAME'
EX102258 QWHCEUWN='END USERS*WORKSTATION*NAME'
EX102259 -New QWAX segment contains waits and counts, some of which
EX102260 were previously QWACxxxx fields in the DB2ACCT datasets:
EX102261 QWAXALCT='ARCHIVES*LOG MODE*(QUIESCE)'
EX102262 QWAXALOG='WAIT TIME*DUE TO PROCESSING*OF ARCH LOG'
EX102263 QWAXANAR='WAITS FOR*ARCHIVE READS'
EX102265 QWAXARNC='WAITS FOR*SUSPENSIONS*FOR CLAIMS'
EX102266 QWAXARND='WAITS FOR*A DRAIN LOCK'
EX102267 QWAXAWAR='WAIT TIME FOR ARCHIVE READS (TAPE)'
EX102268 QWAXAWCL='WAIT TIME FOR A DRAIN FOR CLAIMS'
EX102272 QWAXAWDR='WAIT TIME FOR A DRAIN LOCK'
EX102273 QWAXDSNS='WAITS FOR*DATASPACE MGR*TASKS'
EX102305 QWAXDSSE='WAIT TIME*FOR DATASPACE SERVICE'
EX102306 QWAXOCNS='WAITS FOR*OPEN/CLOSE OR*HSM RECALL'
EX102311 QWAXOCSE='WAIT TIME*FOR OPEN/CLOSE OR*HSM RECALL'
EX102312 QWAXOTNS='WAITS FOR*SWITCH TO OTHER*DB2 SERV TASKS'
EX102313 QWAXOTSE='WAIT TIME*SWITCH TO OTHER*DB2 SERV TASKS'
EX102314 QWAXSLNS='WAITS FOR*SYSLGRNG*RECORDING'
FORMATS QWAXSLSE='WAIT TIME*FOR SYSLGRNG*RECORDING'
VMACDB2 -The QWAC segment was extended with SIGNIFICANT NEW DATA!!
VMACDB2H for DB2's interaction with Workload Manager's new Enclave
Jan 9, 1999 architecture, as well as new measurements of the elapsed
Jan 12, 1999 and TCB CPU time spent in Stored Procedures and in User
Defined Functions, and with SQL time separated as well:
QWACLRAB='BYTES*LOGGED'
QWACLRN ='LOG*RECORDS*WRITTEN'
QWACPECT='TCB TIME*BEFORE*ENCLAVE*CREATION'
QWACSPEA='ET EXECUTING*STORED PROCS*INCLUDES SQL'
QWACSPEB='ET EXECUTING*STORED PROCS*SQL TIME'
QWACTREE='ET*EXECUTING*TRIGGERS*UNDER AN*ENCLAVE'
QWACTRET='ET EXECUTING*TRIGGERS*NOT UNDER ENCLAVE'
QWACTRTE='TCB TIME*EX TRIGGERS*UNDER AN*ENCLAVE'
QWACTRTT='TCB TIME*EX TRIGGERS*NOT UNDER ENCLAVE'
QWACUDCP='TCB TIME*USRDEFUN*STORED PROC*OR WLM AS'
QWACUDEA='ET USRDEFUN*TOTAL INCLUDES*SQL TIME'
QWACUDEB='ET USRDEFUN*ONLY*SQL TIME'
QWACUDNE='SQL ENTRY/EXIT*EVENTS*USER DEF FUNCTION'
QWACUDST='ET WAITNG FOR AVAIL TCB*TO SKED*USRDEFUN'
QWACUDTT='TCB TIME*USRDEFUN*SQL TIME*(IN QWACUDCP)'
QWACWLME='SERVICE*CLASS*NAME'
-The first QWDA segment is now decoded creating variable
QWDAXCQO='MEMBER NAME OF*PARALLELISM*COORDINATOR'
for child tasks. There can be multiple segments for the
coordinating task, but only the first is read now, until
test data and a need presents itself.
-For packages, the QPAC segment that created DB2ACCTP has
been enhanced with new variables:
QPACAAFG='ACTIVITY*TYPE*FLAG'
(decoded with new format $MGDB2PK with values of
01-stored proc,02-userdefun,03-trigger executing)
QPACAANM='NAME*OF*ACTIVITY'
QPACASCH='NESTED*ACTIVITY*SCHEMA*NAME'
QPACSPNS='STORED*PROCEDURES EXECUTED'
QPACUDST='ET WAITING*FOR TCB*BEFORE SKED*USRDEFUN'
QPACUDNU='USER-DEFINED*FUNCTIONS*SCHEDULED'
-The QXST segment was extended with new variables in both
the DB2ACCT and DB2STATS datasets:
QXALOCC ='ALLOCATE*CURSOR*STATEMENTS*EXECUTED'
QXALOCL ='ASSOCIATE*LOCATOR*STATEMENTS*EXECUTED'
QXALPRO ='ALTER*PROCEDURE*STATEMENTS'
QXALUDF ='ALTER*FUNCTION*STATEMENTS'
QXCASCDP='MAX LEVEL*OF NESTED*SQL CASCADING'
(includes cascading due to triggers, udfs,
and stored procedures).
QXCAUD ='USER*DEFINED*FUNCTIONS*EXECUTED'
QXCAUDAB='TIMES*USERDEFUN*ABENDED'
QXCAUDRJ='TIMES USERDEFUN*WAS REJECTED'
QXCAUDTO='TIMES*UDF*TIMED OUT*WAITING TO BE SKED'
QXCDIST ='CREATE*DISTINCT*TYPE*STATEMENTS'
QXCRATB ='CREATE*AUX TABLE*STATEMENTS'
QXCRPRO ='CREATE*PROCEDURE*STATEMENTS'
QXCRUDF ='CREATE*FUNCTION*STATEMENTS'
QXCTRIG ='CREATE*TRIGGER'
QXDDIST ='DROP *DISTINCT*TYPE*STATEMENTS'
QXDRPFN ='DROP*USER*DEFINED*FUNCTION'
QXDRPPR ='DROP*STORED*PROCEDURE'
QXDRPTR ='DROP*TRIGGER'
QXFREEL ='FREE*LOCATOR*STATEMENTS'
QXHOLDL ='HOLD*LOCATOR*STATEMENTS'
QXREPOP1='PARALLEL*GROUPS*REFORMULATED*SYSPLEX'
QXREPOP2='PARALLEL*GROUPS*REFORMULATED*BUFFERS'
QXRNTAB ='RENAME*TABLE'
QXROIIDX='DIRECT ROW*REVERTED*USED*AN INDEX'
QXROIMAT='DIRECT ROW*ACCESS*WAS SUCCESSFUL'
QXROITS ='DIRECT ROW*REVERTED*USED*TABLESPACE SCAN'
QXROWTRG='ROW TRIGGER*WAS ACTIVATED'
QXSETPTH='SET*CURRENT PATH*STATEMENTS'
QXSTDEXP='EX COPY*DISCARDED*DUE TO*MAXKEEPD LIMIT'
QXSTDINV='EX COPY*PURGED*DUE TO*DEPENDENT OBJECT'
QXSTFND ='PREPARE REQUESTS*SAT BY*COPY FROM CACHE'
QXSTIPRP='IMPLICIT PREPARE*BUT DB2*HAD NO VALID'
QXSTLOBV='MAX STORAGE*BYTES USED*FOR LOB VALUES'
QXSTNFND='PREPARE REQUEST*BUT NO*MATCH IN CACHE'
QXSTNPRP='PREPARE AVOIDED*DB2 HAD*VALID KEEPDYNAM'
QXSTTRG ='STATEMENT TRIGGER*WAS ACTIVATED'
QXTRGERR='SQL ERRORS*DURING EX*OF TRIGGERED ACTION'
-The QBGL segment added new variables to DB2STATS:
QBGL2F ='CHANGED*PAGE WRITES*FAILED*STORAGE'
QBGL2D ='DELETE*NAME*LIST*REQUESTS'
QBGL2N ='DELETE*NAME*REQUESTS'
QBGL2R ='READ*CASTOUT*STATS*REQUESTS'
QBGL2S ='COMPLETION*CHECKS*SUSPENDED'
QBGL2W ='CHANGED*PAGE WRITES*FOR DUPLEXING'
DB2 Trace Records:
-IFCID 106 added these new variables to T102S106:
QWP1BDUR='RESTART*BACKOUT*LIMIT*(0-255)'
QWP1DBPR='DATABASE*PROTOCOL*FOR 3-PART*NAMES'
QWP1DTIM='TIME*BETWEEN*RESET OF*DSET STATS'
QWP1EXBR='MAX EXTRA*DRDA QUERY BLKS*REQUESTER'
QWP1EXBS='MAX EXTRA*DRDA QUERY BLKS*SERVER'
QWP1FLBZ='MAX DSN1DBM1 STORAGE*FAST LOG APPLY'
QWP1IXPL='DEFAULT*BUFFER POOL*FOR USER INDEXES'
QWP1LMBO='LIMIT*RESTART*BACKOUT*(NO,YES,AUTO)'
QWP1LVA ='KILOBYTES*FOR LOB VALUES*PER AGENT'
QWP1LVLC='QWP1LVLC*(S)'
QWP1LVS ='MEGABYTES*FOR LOB VALUES*PER SYSTEM'
QWP1SCER='EXTENDED*SECURITY'
QWP1TBPL='DEFAULT*BUFFER POOL*FOR USER DATA'
QWP1URCK='UR*CHECKPOINT*THRESHOLD'
QWP1WLME='DEFAULT*WLM*ENVIRONMENT'
QWP4AURT='QWP4AURT*(S)'
QWP4FLBS='QWP4FLBS*(S)'
QWP4FLMT='QWP4FLMT*(S)'
QWP4MXKD='MAXIMUM*KEPT*DYNAMIC*STATEMENTS'
QWP4PAC ='PACKAGE*AUTHORIZATION*CACHE'
QWP4RHTI='QWP4RHTI*(S)'
QWP4SREC='QWPRSREC*(S)'
QWP4UBS ='QWP4UBS*(S)'
QWP4UMD ='QWPRUMD*(S)'
QWP4WBMP='IMS/BMP*TIMEOUT*FACTOR'
QWP4WDLI='IMS/DLI*TIMEOUT*FACTOR'
QWP4XCTH='QWP4XCTH*(S)'
QWP9MAX1='MAXIMUM*TYPE 1*INACTIVE*THREADS'
QWPBAGID='ASCII GBCS CCSID'
QWPBAMID='ASCII MBCS CCSID'
QWPBAR ='DECIMAL ARITHMETIC DEFAULT'
QWPBASID='ASCII SBCS CCSID'
QWPBCHAR='CHARSET DEFAULT'
QWPBCMP ='COMPATIBILITY OPTION'
QWPBDATE='DATE FORMAT (ISO,JIS,EUR,LOCAL,USA)'
QWPBDE ='PERIOD/COMMA DEFAULT'
QWPBDL ='DELIMITER DEFAULT'
QWPBDLEN='LOCAL (ONLY) DATE LENGTH DEFAULT'
QWPBDSD ='DISTRIBUTED SQL STRING DELIMITER'
QWPBENS ='DEFAULT ENCODING SCHEME'
QWPBGID ='GBCS CCSID'
QWPBGRA ='YES/NO MIXED GRAPHIC DEFAULT'
QWPBLANG='LANGUAGE DEFAULT'
QWPBLVL ='QWPBLVL*(S)'
QWPBMID ='MBCS CCSID'
QWPBREL ='VERSION*RELEASE*MOD LEVEL'
QWPBRIB ='POINTER TO RELEASE INFO BLOCK'
QWPBSDL ='SQL DELIMITER DEFAULT'
QWPBSID ='SBCS CCSID'
QWPBSQL ='LEVEL OF SQL LANGUAGE SUPPORT'
QWPBSSID='SUBSYSTEM DEFAULT'
QWPBTIME='TIME FORMAT (ISO,JIS,EUR.LOCAL,USA)'
QWPBTLEN='LOCAL (ONLY) TIME LENGTH DEFAULT'
-IFCID 0258 was added by APAR PQ17544 for 5.1 and 6.1. It
is decoded (even though I have no test data) as it may be
very useful: dataset T102S258 tracks when any of your DB2
databases are expanded in size. You can use it to track
database growth and avoid the catastrophy of exceeding
the maximum size of a DB2 table! These variables are
in the new T102S258 (DB2 DATASET EXTEND SPACE) dataset:
QW0258DB='DATABASE*ID*(DBID)'
QW0258DN='DATABASE*NAME'
QW0258DS='DATASET*NAME'
QW0258HA='HIGH*ALLOCATED*AFTER*EXTEND,BYTES'
QW0258HB='HIGH*ALLOCATED*BEFORE*EXTEND*BYTES'
QW0258MS='MAXIMUM*DATA*SET*SIZE,BYTES'
QW0258PQ='PRIMARY*QUANTITY*BYTES'
QW0258PS='PAGESET*ID*(OBID)'
QW0258SQ='CURRENT*SECONDARY*QUANTITY,BYTES'
QW0258TN='TABLE/INDEX*SPACE*NAME'
QW0258TS='TIMESTAMP*AFTER*EXTEND*COMPLETED'
QW0258VA='NUMBER OF*VOLUMES*AFTER'
QW0258VB='NUMBER OF*VOLUMES*BEFORE'
QW0258VM='MAXIMUM*VOLUMES'
QW0258XA='NUMBER OF*EXTENTS*AFTER'
QW0258XB='NUMBER OF*EXTENTS*BEFORE'
QW0258XM='MAXIMUM*EXTENTS'
The storage measures labeled "bytes" are formatted with
MGBYTES so they will print as MB, GB, etc.
The QW0258TS timestamp is a blind guess as to format, so
it may be wrong until I get test data for validation.
-Trace IFCIDs thru 314 now exist, although many IFCIDs are
skipped. MXG defines a set of macro names for all 314 of
the possible IFCIDs, thru dataset T102S314, so that IFCID
ranges can be selected in READDB2 and ANALDB2R logic, but
there are only 32 new IFCIDs (some of which were added by
DB2 5.1) that can have any observations. I have created
the DB2 header variables in the new datasets for these
new subtypes of type 102 records, but I need test SMF
data records before I can decode their innards.
Dataset Description
T102S230 DATA SHARING GLOBAL STATS'
T102S233 START/END CALL TO STORED PROC'
T102S242 BEGIN WAIT FOR SKED STORED PROC'
T102S243 END WAIT FOR SKED STORED PROC'
T102S247 INPUT HOST VARIABLE'
T102S248 INPUT HOST VARIABLE'
T102S249 INPUT HOST VARIABLE'
T102S250 CONNECT/DISCONNECT GROUP BUFPOOL'
T102S251 INTEREST CHANGES DATA SHARING'
T102S252 BEGIN XES REQUEST'
T102S254 CACHE STRUCTS FOR GROUP BUFPOOL'
T102S255 BUFFER REFRESH CROSS-INVALIDATED'
T102S256 ALTER GROUPBUFFERPOOL COMMAND'
T102S257 INTER-DB2 NOTIFY MESSAGE SENDING'
T102S258 DB2 DATASET EXTEND SPACE'
T102S259 P-LOCK STATE CONSTANTS'
T102S260 END MVS XES REQUEST'
T102S261 GROUP BUFFER POOL'
T102S262 GBPOOLT CASTOUT THRESHOLD'
T102S263 PAGESET AND PARTITION CASTOUT'
T102S265 SCA ACCESS REQUEST BEGIN'
T102S266 SCA ACCESS REQUEST END'
T102S267 START CF STRUCT REBUILD/EXPAND'
T102S268 END CF STRUCTURE REBUILD/EXPAND'
T102S272 ASSOCIATE LOCATORS STMT EXEC'
T102S273 ALLOCATE CURSOR STATEMENT EXEC'
T102S305 TABLE CHECK CONSTRAINT'
T102S306 LOG RECORDS'
T102S311 GLOBAL TEMPORARY TABLE USAGE'
T102S312 DCE SECURITY AUDIT TRAIL'
T102S313 CHECKPOINT LONG RUNNING UR-S'
T102S314 ACCESS CONTROL AUTH EXIT PARMS'
Change 16.317 Protection for NTSMF 2.2.1, which does not write a 0.0
VMACNTSM record for each interval. Change the test
Dec 28, 1998 IF VERSION LT : '2.1' THEN to IF VERSION LT : '2.1' or
VERSION EQ '2.2:1' THEN ....
If you have specified COMPRESS, then the expected header
version value of 2.2.2 is created and MXG has no error.
Thanks to Wayne Holtz, Reynolds Metal, USA.
Change 16.316 First MXG 16.08 only. CICINTRV failed in building CICDS
VMXGCICI because the member VMXGCICI from CICS TS 1.3 testing was
Dec 23, 1998 inadvertently shipped. The VMXGCICI from MXG 16.07 has
been put back in this MXG 16.08.
Change 16.315 Year 2000 dates cause this summarization example to fail.
ASUMHSM The DATEJUL() function does not support the Century Byte
Dec 23, 1998 (which is an MVS-only Packed-Decimal-implementation) and
this example used DATEJUL() in an INCODE= on a DSRDATE
value of 0100001 (01Jan2000 in 0cyyddd format). The MXG
use of DATEJUL() was replaced by the YEAR2000 member's
algorithm to protect this example. See Change 16.330.
Thanks to John McCray, Huntington Services Company, USA.
======Changes thru 16.315 were in MXG 16.08 dated Dec 23, 1998======
Change 16.314 New function enhancement to VMXGSUM. Named XMXGSUM for
XMXGSUM testing; it is not yet the default. Copy it into your
Dec 21, 1998 USERID.SOURCLIB, rename to VMXGSUM, and check it out.
Feb 16, 1999 This rewrite exploits some new features added by SAS in
Version 7 (if it finds it is running under V7), and adds
new parameters for additional descriptive statistics
under either Version 6 or Version 7 of SAS.
New Parameters and defaults:
(Percentile values only in version 7+.)
P1=, List of variables to calculate Pctile 1
P5=, List of variables to calculate Pctile 5
P10=, List of variables to calculate Pctile 10
P25=, List of variables to calculate Pctile 25
P50=, List of variables to calculate Pctile 50
P75=, List of variables to calculate Pctile 75
P90=, List of variables to calculate Pctile 90
P95=, List of variables to calculate Pctile 95
P99=, List of variables to calculate Pctile 99
STD=, List of variables for Standard Deviation
STDERR=, List of variables for Standard Error
CV=, List of variables for coeff of variation
T=, List of variables for T value
VAR=, List of variables for variance
KURTOSUS= List of variables for kurtosis
AUTONAME=NO, Use the AUTONAME feature
In prior releases of VMXGSUM, you always had to ensure
that any variable you specified in one of the operands
actually existed or the output variable would not be in
the output dataset. Thus, if you wanted the MAX and the
SUM of the variable CPUTM, you would have to specify:
%VMXGSUM(...
SUM=CPUTM,
MAX=MAXCPU,
INCODE=MAXCPU=CPUTM;,...
The INCODE created the variable MAXCPU as being the same
as CPUTM and the MAX=MAXCPU calculated the maximum value
found. With version 7, there is a new option in PROC
MEANS called 'AUTONAME.' By using this feature, you can
create 'long' variable names and avoid the need to create
the variables via INCODE processing that you want. The
variable name is constructed by adding an underscore
followed by the statistic name such as MEAN or MAX or
SUM. Using the example above, the specification would
be:
%VMXGSUM(...
SUM=CPUTM,
MAX=CPUTM,
AUTONAME=YES,...
In the output dataset you would then have the variables
CPUTM_SUM and CPUTM_MAX. The format, length, and labels
are all inherited from the initial variable so all of
these have exactly the same labels and formats.
It is NOT my intention to use this feature; I do NOT
intend to create MXG variables with long names (at least
not in the near future!). MXG-provided invocations of
VMXGSUM will NOT exploit this capability; they continue
to use the current design of creating 8-character names
in the INCODE= operand.
But adding this feature to VMXGSUM may be useful in your
own invocations of VMXGSUM.
-Both Versions.
Number of obs were counted with SUM(MISS,NMISS) but now
_FREQ_ variable is used because it's better and avoids an
exposure in V7:
If INHERIT is used, the format of output variables
MISS/NMISS will have a DATETIME format if the first
variable in the VARIABLE statement happens to be a
DATETIME variable. Quite confusing, but not wrong!
Feb 16, 1999: Enhanced code after 16.08 version.
Change 16.313 IMS 6.1 support did not correctly decode type 08 records
VMACIMS for IMS usage via APPC, CPIC driven, due to a modified
VMACIMSA record layout. The quick circumvention is to replace the
Dec 19, 1998 line ELSE IF LINTSUB='.1......'B THEN DO;
with ELSE DO;
to ensure TRANSACT is always input. CPIC records caused
"INVALID DATA FOR YYYYDDD in line xx 65-68" messages.
Thanks to Johannes M. Laveuve, dvg Hannover, GERMANY.
Change 16.312 Support for DOS/VS Power V6.3.0 COMPATIBLY added fields
TYPEDOS LSTEPGN and LSTPGN for RECID='L' (dataset DOSLIST) and
Dec 19, 1998 INCOMPATIBLY inserted DESTUID in the RECID='M' and 'V'
(dataset DOSXRC) shifting LOCLNODE/ADJCNODE/NACACCT/
NACINCR/NACDLR. This change assumes you have V6.3.0;
if you have an earlier version, you will need to find
the line with comment "DELETE IF PRE 6.3.0" and delete!
Thanks to Trevor Ede, EDS (NZ) Ltd, NEW ZEALAND.
Change 16.311 A type in a LABEL for variable ASIESF had CSTORE, but the
VMACRMFV variable contains Average ESTORE for Swapped In users.
Dec 19, 1998 The label for ASIESF is now ESTORE, and variables ASIFMCT
and ASIFMCTI contain 'CSTORE' to be consistent and clear.
Thanks to Tim VanderHoek, Fidelity Investments, USA
Thanks to Juergen Holtz, IBM RMF Development, GERMANY
Change 16.310 Support for VM/ESA 2.3 (COMPATIBLE) changes to MTRSYS and
VMACVMXA USEACT segments adds four new variables to VXMTRSYS data
Dec 19, 1998 set and two new variables to VXUSEACT dataset.
Thanks to Steve Clark, California Federal Bank, USA.
Change 16.309 New variable MKDELDAO contains the original julian value
VMACEDGS for the MKDELDAT value (which becomes the data part of
Dec 19, 1998 datetime variable MKLCTIME). For special values that MXG
changed to 2099 in MKLCTIME, you will have the exact,
original value as a numeric in MKDELDAO.
Thanks to Sam Bass, McLane Co., USA.
Change 16.308 -Revision to RMM EDGR support creates numeric SAS date and
VMACEDGR SAT time variables for CREATE/LAST CHANGED dates/times so
Dec 19, 1998 normal SAS data manipulation can be done. Previously the
fields were carried as character variables. This change
is INCOMPATIBLE if you join old and new EDGR datasets
together, but this finalizes the support as it should be.
-Variables RVRETDAT, RVRELIXD and RVRELSI are now input.
Thanks to Don Friesen, ISM-BC, CANADA.
Thanks to Bob Lembo, American Stores, USA.
Change 16.307 -DB2 GTF-format records only. Using TYPEDB2G or PDB=GTF
VMACDB2 to read GTF records created zero observations in DB2ACCT
UDB2GTF and DB2ACCTB because SUBTYPE was missing for the ID=101
Dec 19, 1998 record. The GTF record doesn't have ID/SUBTYPE and MXG
has to create, but this GTF section was not updated when
the ID=101 record was split into subtypes. Most use of
GTF-format for DB2 is trace records, so this had little
impact for most sites.
-It turns out that not all segments for a single record
occur together in the GTF file. For example, the final
segment for record 160 came after the first segment of
record 161. This requires that the GTF file be SORTed
before it is input to UDB2GTF to reconstruct full length
records that MXG can read. The SORT FIELDS=(37,4,BI,A)
will do the trick. Comments added to UDB2GTF.
Thanks to Ted Blank, IBM, USA.
Change 16.306 -SAS Version 7 only. The new INHERIT parameter causes the
VMXGSUM attributes (LABEL, LENGTH, FORMAT, etc.) of same-named
Dec 19, 1998 variables to be propagated from input to output when PROC
MEANS/SUMMARY is used. Designed for MXG, INHERIT is now
invoked when VMXGSUM is run under V7; with it, VMXGSUM
can frequently bypass the last step.
Change 16.305 The APAF variables kept depended on the __NRLPS macro,
VMACAPAF but even if it was set to 10, only 8 engine's data was
Dec 18, 1998 kept. The logic was revised and the &__NRLPS macro was
eliminated; sixteen CPU variables will always exist now,
with online CPUs populating their set of variables.
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 16.304 MXG 16.04-16.07 only. Observations for RACFEVNT=19
VMAC80A (PERMIT COMMAND) were output into dataset TYPE8018
Dec 18, 1998 instead of dataset TYPE8019 due to a typo. The line
_ETY8018 after ELSE IF RACFEVNT=19 should be _ETY8019.
Thanks to Michael A. Yaffee, Duke Power, USA.
Change 16.303 Archaic members TYPEMONI and TYPETMON still had _L macro
TYPEMONI names instead of _W macro names, but since TYPEMONI is
TYPETMON for now-defunct version 7 and was replaced by TYPEMON8,
Dec 17, 1998 and since TYPETMON was replaced by TYPETMO2 for V2, this
slipped thru testing.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 16.302 The MACRO _LCIMSPGM CIMSPGM % statement should be
VMACCIMS MACRO _LCIMSPGM CIMSPROG %
Dec 17, 1998 The value was misspelled starting in 16.04.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 16.301 An extended example of AS/400 processing using FTP to
ADOCQAPM send and manage the multiplicity of OS/400 files that
JCLQAPMX must be moved to the SAS execution platform for TYPEQAPM.
Dec 16, 1998
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 16.300 Unused Change Number.
======Changes thru 16.299 were in MXG 16.07 dated Dec 5, 1998======
Change 16.299 Variable MKDELDAT contained '14MAY2051'D for YY=99 and
VMACEDGS DDD GE 365; the statement YYYYDDD='20DEC2099'D; should be
Dec 5, 1998 YYYYDDD=2099365;, which is the julian date, because later
code converts the julian date to a SAS date.
Thanks to Sam Bass, McLane Co., USA.
Change 16.298 Variable DSGTAMXT was removed from PDB.CICINTRV because
VMXGCICI it only existed in CICS 3.3; variables STAMATHD,STAMITHD,
Dec 5, 1998 and STAHIWAT were put back in PDB.CICINTRV; they had been
inadvertently dropped.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 16.297 MXG 16.07 Dec 4 only; end-comment */ was missing after
VMAC28 variable VRTSTATE, causing UNINITIALIZED variable and
Dec 4, 1998 incorrect data in NPMLANOD dataset.
Thanks to Freddie Arie, Lone Star Gas, USA.
======Changes thru 16.296 were in MXG 16.07 dated Dec 4, 1998======
Change 16.295 Enhancement to MXG RMF reporting replicates IBM XCF
ANALRMFR report. Specify REPORT=XCF,RPTOPT=USAGE MEMBER PATH.
Dec 4, 1998
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 16.294 Cosmetic cleanup of variable labels.
VMAC28 -VMAC110. CICRELSE='CICS*RELEASE*IN JOURNAL*SEGMENT'
VMAC110 -VMACIKLA S23TTIME='SESSION*TERMINATE*TIME'
VMACILKA -VMACMEMO ACTMTEDA='ACCMTEDA='ACC NUMBER OF*PICKED UP*EDA'
VMACMEMO ACTMTETR='ACCMTEDA='ACC NUMBER OF*PICKED UP*ETR'
Dec 3, 1998 Variable SENDNCO now kept in MEMODIST.
(If you have the MEMO product, please send me
the current documentation, as there are other
variables that I do not have good labels for).
-VMAC28 VRTNRCPN='NEW*REMOTE*CP*NAME'
VRTNRNID='NEW*REMOTE*NETWORK*ID'
VRTRTCID='REMOTE*TCID'
Thanks to Chris Weston, SAS Institute ITSV, Cary.
Change 16.293 BETA93 Version 3.1.3 INCOMPATIBLY inserted fields in all
VMACBETA subtypes, causing INPUT EXCEEDED RECORD LENGTH errors,
Dec 3, 1998 and many fields previously in the valid SMFSTAMP8 format
Dec 17, 1998 (BETALT,BETASTSE,BETAENSE,BETASTRT,BETAEND) are now in a
never-before-seen-in-SMF time format of packed hhmmss00!
If you use SMFSTAMP8 to input these non-standard times,
there is no SAS error, but incorrect datetime values
are created. Their data value for 10:12:23 on 23NOV98
is '101223000098325F'x, but when INPUT with SMFSTAMP8
the result is a wrong value of 22Dec1998:04:57:20.64
because SMFSTAMP inputs the 10:12:23:00 time value as
PIB4. and gets 2696240.64 seconds (31.2 days) which is
then added to midnight on julian date 98325, 23Nov98!
READTIME fields should be unchanged, since BETA93 copies
rather than creates them. The below table lists the data
that has been verified that it was changed to new format,
and are supported in this version of MXG. The NODATAYET
subtypes will be printed on your SAS log if found in your
data; please email me that log so I can enhance MXG to
support and validate those NODATAYET subtypes.
Subtype datetime fields MXG dataset/status
0 BETALT BETA0 VERIFIED
1 BETABT, BETALT BETA1 NODATAYET
3 BETART BETA3 NODATAYET
5 BETALT BETA5 NODATAYET
6 BETAWST BETA6 NODATAYET
20 BETALT, BETASTRT, BETAEND BETA20 VERIFIED
21 BETALT, BETASTRT, BETAEND BETA21 VERIFIED
40 BETALT BETA40 NODATAYET
41 BETALT BETA41 NODATAYET
42 BETALT BETA42 NODATAYET
Thanks to Jurgen Niegsch, AUGI AG, GERMANY.
======Changes thru 16.292 were in MXG 16.06 dated Dec 2, 1998======
Change 16.292 Support for APAF Versions 4.1 and 4.3 (INCOMPATIBLE):
EXAPAFPO -Version 4.1 adds new variables to APAFSYSD dataset:
VMACAPAF CPUDEDF ='BIT MAP*OF DEDICATED*FENCED*CPUS'
Dec 2, 1998 CPUDEDG ='BIT MAP*OF DEDICATED*G-POOL*CPUS'
Dec 18, 1998 CPUDEDMP='BIT MAP*OF DEDICATED*CPUS'
CPUFENCE='BIT MAP*OF FENCED*C-POOL*CPUS'
CPUINSTL='BIT MAP*OF INSTALLED*CPUS'
CPUSHRMP='BIT MAP*OF SHARED*CPUS'
IOCD1DAT='IOCDS-1*DATE'
IOCD1NAM='IOCDS-1*NAME'
IOCD1NUM='NUMBER OF*THE ACTIVE*IOCDS-1'
IOCD1TIM='IOCDS-1*TIME'
TOTWEIGF='TOTAL*OPER SPECIFIED*WEIGHTS'
There are two elapsed fields, one in the System section
and one in the LPAR CPU Utilization section, and they
are not exactly the same:
LPAR Duration System Duration LPAR minus System
13:24.79 13:24.71 +.08
15:02.08 15:01.96 +.12
14:59.59 14:59.08 +.51
15:00.48 15:00.79 -.31
14:59.43 14:59.79 -.38
While awaiting an explanation from Amdahl, I keep the
value from the System section as variable DURATM. Amdahl
INCOMPATIBLY inserted TIMESLIC in LPAR CPU Util section,
but it already existed in the System Data Section; if it
is possible to have different timeslice values per LPAR,
then I will change MXG, but for now I keep the TIMESLIC
from offset 82 in the System Data Section.
-Version 4.1 adds new variables to APAFLPAR dataset:
ACTLCPS ='NUMBER OF*ACTIVE*LCPS'
CIDVALUE='CID*VALUE*ZERO*OR ONE'
DEDLCPS ='NUMBER OF*DEDICATED*LCPS'
OPRLCPS ='NUMBER OF*OPERATING*LCPS'
PCPMAP ='BIT MAP*CPUS*EXECUTED ON'
SHRLCPS ='NUMBER OF*SHARED*LCPS'
-Version 4.1 adds new variable to APAFCHN dataset:
CHPSCA ='SYSTEM*CHANNEL*ADDRESS*HEX'
-Version 4.1 creates new APAFLPAC dataset from the
subtype 32x LPAR CPU Utilization Data Subsection.
-Version 4.3 adds a new Pool Data Section, but the test
data was received in time for first release, but the new
APAFPOOL dataset was added Dec 18, from subtype 49 data.
Thanks to Robert Gilbert, National Power, ENGLAND.
Change 16.291 MXG 16.06 dated Nov 30 only. Member RMFINTRV had three
RMFINTRV typos (corrected in testing, but member not updated):
Dec 2, 1998 Line 226, remove SYSPLEX. Lies 361 and 362, add SYSPLEX
to both KEEP= lists.
Change 16.290 NPMLANOD dataset variable TIC_UTIL was missing because
VMAC28 variable DURATM, the denominator of TIC_UTIL equation in
Dec 1, 1998 the AOFTYPE='CSL' logic, was not calculated. The lines
of code inside 'CSL' that created ENDTIME and STARTIME
are moved above the TIC_UTIL calculation, and a new line
of code: DURATM=ENDTIME-STARTIME; was added. Also, the
test IF LENAOF GE 204 in 'CSL' was changed to GE 192.
Variable DURATM was also not calculated in the ETH, LSV,
and SAM segments; it is now calculated there, and is also
added to macros VA28CSL/ETH/LSV/SAM so it will be kept in
the datasets created by those segments.
Variable TIC_UTIL exists in dataset NPMLANOD but has
a missing value. You can create values without having
to re-reading SMF by running this program:
DATA PDB.NPMLANOD; SET PDB.NPMLANOD;
DURATM=ENDTIME-STARTIME;
TIC_UTIL=100*
((((LCSLBYTS*LCSLBTPT)+(LCSLBYTR*LCSLBRPT))/1000000000)+
(((LCSLTFRS*LCSLFTPT)+(LCSLTFRR*LCSLFRPT))/1000000))
/DURATM;
I recommend that you cut and paste those lines of code,
rather than trying to type them!
Thanks to Anke Mineur, dvg Hannover, GERMANY.
======Changes thru 16.289 were in MXG 16.06 dated Nov 30, 1998======
Change 16.289 Final testing of 16.06 left a PUT 'JOURN= ' ... statement
VMAC110 in the (archaic) CICS non-ESA code that could print many
Nov 30, 1998 lines on SAS log, with no other impact. Deleted the line.
Thanks to Ben Coonfield, Browning-Ferris Services, Inc, USA.
Change 16.288 In 16.04+ the sort order for all RMF datasets was changed
ANALRMFI to BY SYSPLEX SYSTEM STARTIME from BY SYSTEM STARTIME,
ASUM70PR but I failed to note the change, and I failed to change
GRAFRMFI the BYs in RMFINTRV until this change. The change is
MONTHBLD required because the same SYSTEM name can be in multiple
RMFINTRV SYSPLEX members. If you have only one SYSPLEX, this
VMAC7072 change has no impact, but if you have multiple SYSPLEXs,
VMAC71 you may have to change your BYs to BY SYSPLEX SYSTEM....
VMAC73 (Otherwise, your reports may fail with NOT SORTED error).
VMAC74 The member ANALRMFI (four PROC PLOTS) was change to add
VMAC75 SYSPLEX to the BY list. In the other ????RMFI members,
VMAC76 GRAFRMFI/TRNDRMFI/etc., the reporting is SORTED by SYSTEM
VMAC77 without the SYSPLEX variable to preserve your existing
VMAC78 reporting BY SYSTEM. Unless you actually have the same
VMAC79 SYSTEM name in two SYSPLEXes, this MXG choice will keep
WEEKBLD your existing reports BY SYSTEM and hopefully avoid any
WEEKBLDT need to change your reports.
Nov 30, 1998
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 16.287 MXG 16.03-MXG 16.06. NPM datasets NPMIN25L and NPMIN25P
VMAC28 were misspelled as NPMINB5L and NPMINC5P beginning with
VMAC110 MXG 16.03, but are now spelled correctly. CICS Stats
Nov 30, 1998 datasets from Boole's MainView for CICS were misspelled
as CICBBxx instead of CICSBBxx, but are now correct.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 16.286 MXG 16.06 only, CICS TS 1.2 only. INPUT STATEMENT EXCEED
VMAC110 error. Variables DS6SWT and DS6SCT should not have been
Nov 30, 1998 input at all. When I cleaned up the code for the sixth
CICS TCB, I inadvertently INPUT those two variables, but
they existed only back in CICS/ESA 3.3 and do not exist
in the CICS Transaction Servers (and only the CICS TS
releases have the sixth TCB!). Deleting all references
to variables DS6SWT and DS6SCT will correct my error.
Thanks to Thomas Wieland, Phoenix Home Life Mutual Insurance, USA.
======Changes thru 16.285 were in MXG 16.06 dated Nov 21, 1998======
Change 16.285 IBM TCP/IP undocumented fields changed the record lengths
VMACTCP and caused MXG's length-based logic to classify FTPSERVER
Nov 21, 1998 events as TCPSERVER. This revision no longer uses LENGTH
nor subtype; events are now identified based on data in
the record. While there are subtypes that theoretically
could be used, and the initial support for the new STAT
expected subtype 5, using subtypes would require a table
that you would have to update, since IBM did not see fit
to fix subtypes to events, but left them for you to set!
This redesign eliminates the need for subtype tables too.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
======Changes thru 16.284 were in MXG 16.06 dated Nov 18, 1998======
Change 16.284 Support for NPM Release 2.4 (INCOMPATIBLE)!
EX028VCS The good news is that NPM can capture IP resources from
EX028VMN TCP/IP connections. The bad news is that the NPM coders
EX028VRT INSERTED the new fields in the middle of the SCD segment,
FORMATS so many existing fields are trashed without this change.
IMAC28 -SCD segment inserted LSCDIPNM and LSCDIPPN incompatibly:
VMAC28 LSCDIPNM='IP ADDRESS*IF RESOURCE*IS IP' $15
VMXGINIT LSCDIPPN='IP PORT NUMBER*IF RESOURCE*IS IP' $5
Nov 18, 1998 Previously, the ACD/NCD/RCD/SCD segments used the same
MXG code, because they were congruent, but the new data
was inserted only in the SCD segment, so the MXG code was
restructured to separate SCD processing from ACD/NCD/RCD.
-VCD segment added three new fields compatibly:
LVCDCSMN='CSM*GROUP*NAME' $8
LVCDMNPN='MNPN*NAME' $8
LVCDRTPN='RTP*NAME' $8
-VVR segment added new variable
VVRNRBLK='TIMES WHEN*VR*WAS BLOCKED'
-Format MG028VA values 20x-26x (32-38 in decimal) are
actually 14x-1Ax (20-26 in decimal); format corrected.
-Format MG028NT, NPM Resource Type decoding, adds new
values: 14X='14x:IP'
6CX='6CX:CSM BUFFER POOL'
6DX='6DX:CSM STORAGE'
6EX='6EX:APPN TOPOLOGY'
6FX='6FX:APPN DIRECTORY SERVICES'
70X='70X:RTP DATA'
71X='71X:MNPS DATA'
-New subtype 'DC'x creates NPMVSVCS dataset:
LABEL='028VCS: VTAM CSM COMMON STORAGE MANAGER'
with buffer pool/storage/data space statistics
for 4k/16k/32k/64k areas.
CSM enables host applications to share data with VTAM
and other CSM users without having to physically copy
the data, saving memory and CPU by sharring buffers.
-New subtype 'DE'x creates NPMVSVRT dataset:
LABEL='028VRT: VTAM RTP RAPID TRANSIT PROTOCOL'
with first-in/middle-in/last-in/non-seg sent/rcvd pius,
bytes sent/received over RTP, back pressure count/times
RTP is a highly efficient mechanism used by the High
Performance Routing (HPR) to enable SNA to run highspeed
multi-megabit links with low bit error rates on LANS and
WANS and is used by SNA to exploit frame relay, SMDS and
ATM and other new switched virtual network technologies.
-New subtype 'DF'x creates NPMVSVMN dataset:
LABEL='028VMN: VTAM MNPS MULTINODE PERSISTENT SESSION'
VTAM uses multinode persistent sessions MNPS to preserve
sessions across application outages when connected thru
the S/390 coupling facility. While MNPS is primarily
for recovery of hardware, VTAM, MVS, or other failures,
NPM 2.4 now collects, for each application connected
thru MNPS, the percent of CF blocks in use by all MNPS
sessions and by this application, with CF Structure name
and structure sizes/bytes/writes and recovery counts!
The "IBM Marketing" descriptions came from pages xxix-xxx
of NetView Performance Monitor Reference Version 2 Rel 4,
(SH19-6965-02), which also describes the new TCP/IP
Session Collection Capability (response time data for
TELNET sessions to a mainframe application, including
the IP network segment, available for TN3270E servers
that reside on the same host as NPM and are running
OS/390 Release 5 or higher).
The NetWare resource counters, although not new in
NPM 2.4, are described in Appendix B (and support for
those NCV, NGV, NLS, NLV, NRV, NVS, and NVV NetWare
segments and subtypes has been in MXG for some time).
Change 16.283 Comments only, but the LRECL values for AS/400 4.2 were
IMACQAPM wrong for QAPMCONF (LRECL=16 in 4.2, was 46 earlier) and
VMACQAPM AS/400 support is critical for correct LRECL. Comments
Nov 18, 1998 were revised and updated with correct LRECLS where known.
Thanks to Bob Eastlake, Hosiery Corporation of America, USA.
Change 16.282 Comments only, but the examples to create ASUM70PR from
ASUM70PR raw SMF were old and had not been updated for changes in
Nov 18, 1998 the datasets needed by RMFINTRV. These examples have
now been revised and tested.
Thanks to Bob Eastlake, Hosiery Corporation of America, USA.
Change 16.281 The IP Address variable CTCPIPAD in dataset CTCPPERF was
VMACCTCP blank; the eight lines decoding CTCIPAD from CTCPLOAD in
Nov 18, 1998 the SUBTYPE=2 DO group must be moved to within the
SUBTYPE=1 DO group.
Thanks to Patsy Hildredth, CMX, USA.
Change 16.280 Support for IXFP / ICEBERG fields added by L170017 adds
VMACICE new test/prod/both unique/shared capacity/used statistics
Nov 18, 1998 in new variables:
BEBYTSHR BEBYTUNQ NOTRMAPU PHCAPUSS PHCAPUSU TPHCPSRB
TPHCPSRP TPHCPSRT TPHCPUNB TPHCPUNP TPHCPUNT
Thanks to Bonnie Jean Walter, Summit Bank, USA.
======Changes thru 16.279 were in MXG 16.06 dated Nov 17, 1998======
Change 16.279 Errors only in the first 16.06 tape dated Nov 16:
FORMATS -Format MGMVCIT was missing equal signs in member FORMATS,
VMAC434 causing JCLINSTL to fail. Format was added after QA.
VMAC80A -VMAC80A MACRO name is _S80A rather than _STY80A.
VMACTSOM -VMAC434 variable TERMTIME rather than TERMIME.
VMACHMF -VMACTSOM _BTSOCAL/_BTSODRU STRTTIME vice SMFTIME.
Nov 17, 1998 -VMACHMF ending comment missing in _STYHMFB macro.
Change 16.278 SYNCSORT virtual storage sizes are now FORMATed MGBYTES.
VMACSYNC The variables are: SYNCAVLA SYNCAVLT SYNCREQT SYNCUSEA
Nov 16, 1998 SYNCUSET SYNDSMVL SYNVSCOR SYNVSCRT
Thanks to Chuck Hopf, MBNA, USA.
Change 16.277 The PDB.CICINTRV dataset can be very wrong; users must
CICINTRV install MXG 16.06 or later to correct the errors in the
VMAC110 MXG logic. Depending on which CICS Statistics records
VMXGCICI had observations, CICINTRV could be valid, but the logic
Nov 15, 1998 was completely redesigned. Many datasets did not pass
Jul 22, 1999 thru VMXGSUM, so their COLLTIME was never reset to the
start-of-interval-value, and if there were multiple obs
to be summed, their unique COLLTIME values created many
repeated instances in the MERGE which were then falsely
summed. The revised logic sends all 45 CICS Statistics
datasets thru VMXGSUM, and all have INTERVAL=&INTERVAL
and DATETIME=COLLTIME specified so that shorter intervals
are correctly summarized. KEEPIN= and ID= were also set
so that LABELs and FORMATs are propagated, which produces
notes: "Variable xx exists on file WORK.MXGSUM3".
Now that PDB.CICINTRV is valid, you can use it to measure
the maximum CPU time required for any of CICS's six TCBs,
to confirm that that single CICS TCB will fit in single
engine, for capacity planning and for backup site sizing.
MXG creates the interval duration from DSGTDT+DSGTWT and
the individual DSxPERCT is the percent of DURATM when
DSx's TCB was busy; new variable PCTCICBY is the percent
of DURATM when all TCBs in this region were busy.
Note that if you want to see the raw interval data and
set MACRO _CICINTV % (i.e., "none"), and you thought
you were writing 5 minute interval CICS statistics data,
you will find some intervals only seconds apart, because
if there are SMFSTREQ='REQ' or 'USS' event records in
between the 'INT' and 'EOD' records, the CPU times and
counts have to be de-accumulated, and you end up with
erratic, but completely accurate, intervals.
In VMAC110, the _BCICxxx BY lists now agree with those
that are used in CICINTRV, so you can insert in EXPDBOUT
MACRO _SCICEXC %
_S110
to sort and save all CICS Stat datasets into the PDB
library (and CICINTRV detects and uses sorted data).
The redefinition of MACRO _SCICEXC to a null was added
in Jul 99; it is needed because in BUILDPDB, that sort
was already invoked, and the work copy of CICSEXCE has
already been deleted. By nulling the one _Sdddddd
macro, the _S110 can be executed without error.
However, the raw CICxxxxx Statistics Datasets frequently
contain accumulations rather than interval values; this
is especially true of the CICDS (Dispatcher) dataset,
which contains the CPU TCB times (DSGACT, DS2ACT...).
Those numbers in CICDS can be very deceptive, and thus
you should use this new PDB.CICINTRV to be safe. If you
already have existing CICDS data, you can PROC SORT it
PROC SORT DATA=PDB.CICDS OUT=SRTDS;
BY SYSTEM APPLID SMFPSSPN CICSSTCK COLLTIME ;
PROC PRINT; VAR APPLID COLLTIME DSGACT ... SMFSTRQT;
DATA DIFDS; SET SRTDS;
DSGACT=DIF(DSGACT);
DS2ACT=DIF(DS2ACT);
...
DS6ACT=DIF(DS6ACT);
PROC PRINT; VAR APPLID COLLTIME DSGACT ... SMFSTRQT;
and disregard the negative numbers, to get a quick view.
If there is a need, I may expand CICINTRV to optionally
create de-accumulated CICxxxxx Stat datasets, but for
now PDB.CICINTRV in MXG 16.06 is the dataset to use!
Thanks to Mike Marek, First Card - FCC National Bank, USA.
Thanks to Tom Elbert, Fortis, USA.
Change 16.276 Testing of the new TYPSxxxx members uncovered typos:
VMXGINIT -VMXGINIT: PTY848, PTY849, PTY8026 added to GLOBAL.
VMAC79 -VMAC79: SYSTEM added to KEEP= list 79DF/79E/79EF.
VMAC80 -TYPS80: _S80 macro invocation added.
VMAC85 -VMAC85: "%" in column 72 caused SAS ERROR 180 error,
VMAC88 which technically is a SAS compiler bug, but it
VMAC94 is easier just to split the long line into two
Nov 14, 1998 and not use column 72 for ending percent signs!
-VMAC88: _BTY8811 variable is SMF88ANM, not SMF88LSN.
-VMAC94: _STY94 macro, added BY _BTY94 ; after PROC SORT.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 16.275 The INPUT of MVDSNL $VARYING44. MVDSN1L should have been
VMACEDGS MVDSNL $VARYING44. MVDSNLL so that the DSN
Nov 14, 1998 length input was the length of last DSN.
Thanks to Richard Fortenberry, Mitsubishi Motor Sales of America, USA
Change 16.274 -The _S110 macro no longer sorts CICSTRAN (high volume)
VMAC110 nor CICSACCT nor CICSYSTM (both pre-CICS/ESA only). The
Nov 14, 1998 _S110 macro should be invoked in your EXPDBOUT member if
you want all of the CICS Statistics and CICS Journal data
sets sorted into your PDB library with BUILDPDB. If you
use member TYPS110 to directly read type 110 SMF records,
it invokes _S110 to sort from work to PDB library.
Change 16.273 The default for &DFSMS was changed from 0 to 1, i.e.,
ASMIMSL6 DF/SMS is installed. Using the MXG default of zero
Nov 13, 1998 caused an 878 out of memory error, because the table
that had been moved above 16MB by Change 14.149 was put
below the line by the zero value. The correct default,
that DF/SMS is installed (not necessarily active), will
put the table above the line and eliminate the ABEND.
Thanks to Harry Olschewski, DeTeCSM/SLM - Kiel, GERMANY.
Change 16.272 The PROC SORT of TYPE25 in the _STY25 macro had SMFTIME
VMAC25 after _BTY25, but _BTY25 already contained SMFTIME. For
Nov 13, 1998 reasons still not understood, that redundant SMFTIME at
the end caused the data set to be not sorted in BUILDPD3
so it was removed.
Thanks to Jean Quinkert, Inland Steel, USA.
Change 16.271 MXG 16.04-16.05 only. PDB.ASUM70PR summarized by SHIFT
ASUM70PR rather by expected HOUR default. Change 16.146 added new
VMXGDUR line &DATETIME=DATETIME; in VMXGSUM after %VMXGDUR call,
VMXGSUM but the VMXGSUM invocation in member ASUM70PR has both
Nov 15, 1998 NEWSHIFT='Y' and MYTIME=_DURSET specified, which caused
the DATETIME variable used in VMXGDUR to inadvertently be
the start of shift. The correction is in member VMXGDUR,
so that it uses the correct DATETIME value in all cases.
Member ASUM70PR was the only place in MXG where VMXGSUM
used both the NEWSHIFT='Y' and MYTIME=xxxxx options.
Only member VMXGDUR was changed by this change.
Thanks to Lee Teague, Lockheed Martin, USA.
Thanks to Sandra M. Rodriguez, Liberty Mutual, USA.
Change 16.270 Support for CICS TS 1.2 Journal Format 110s (INCOMPAT).
EXCICJRN The type 110 subtype 0 Journal Format record was entirely
VMAC110 restructured in CICS TS 1.2 (a/k/a 5.2). The record now
Nov 12, 1998 contains an LGMS header, an LGMS CICS Product Segment,
a 56-byte LGGF (GLRH Record Header), and a 20-byte LGGF
SOR record at the start of each subtype 0 record. Then
one or more LGGF (GLRH Record Header again), an LGGF
CL_USER-HEADER (which is where the JCRUTRID Journal ID
value is finally found) and then bytes of user data.
This new code has been tested with user journal data, but
not yet with either SAP nor Shared Medical journals from
CICS TS 1.2. IBM provides a COMPAT41 facility for
journal records written to the logger, but IBM says there
is no compatibility service for user journalling records
written to SMF.
Thanks to Thomas Weiland, Phoenix Home Life Mutual Insurance, USA.
Thanks to Mark Hawks, Phoenix Home Life Mutual Insurance, USA.
Change 16.269 New variables DCMEPCT and RCIPCT added to TYPE42DS:
VMAC42 DCMEPCT 'DCME*INHIBIT*PERCENTAGE'
Nov 12, 1998 RCIPCT 'RECORD*LEVEL*CACHE*INHIBIT*PERCENTAGE'
Thanks to Michael Marek, First Card, USA.
Change 16.268 Some variables were not input from SMF type 90 subtypes:
VMAC90 Subtype 5/9/13/15 new variable SMF90SBU (SMF Flags) is
Nov 12, 1998 created, and variable ACTIVEMN is increased to $44 to
contain the full (long) name of the SMF dataset. Subtype
6, OLDDSNSM and NEWDSNSM are increased to $44.
Thanks to Jan van Kemenade, Candle, THE NETHERLANDS.
Change 16.267 MXG 16.04-16.05 only. MACRO _LRAC507 needed two decimal
TYPSRACF points: MACRO _LRAC507 &PRAC507..RACF507 % in VMACRACF,
VMACRACF and the PROC FREQ was removed from member TYPSRACF.
Nov 11, 1998
Thanks to Tom Downey, IBM Global Services, CANADA.
Change 16.266 Change 16.253 for CICINTRV used the new VMXGWORL to find
VMXGWORL the location (_W or _L) of the CICS Stat dataset that are
Nov 12, 1998 read by CICINTRV, but if found in the _L location it was
assumed that the PROC SORT could be bypassed. However,
if you used PROC COPY IN=WORK OUT=PDB; SELECT 7IC:; in
the EXPDBOUT member, CICINTRV failed as the data was not
sorted. Now, the logic in VMXGWORL tests the SORTED flag
in the found data and only if it is true is the PROC SORT
bypassed by MXG now. Why did I not let the PROC SORT
detect that the data was sorted so it would bypass the
actual sorting? Because invoking the PROC SORT would
still result in an unnecessary copy from input to output
that is avoided by MXG not evening calling the PROC SORT.
Instead of the PROC COPY syntax in your EXPDBOUT, you
should instead add the single line containing _S110
which will sort all of the CICS Statistics datasets into
the work file, (and CICINTRV will skip their sorts!).
Thanks to Jean Quinkert, Inland Steel, USA.
Change 16.265 The type 88 subtype 11 was badly misdocumented, but it is
VMAC88 now corrected by APAR OW36033, which also describes three
Nov 11, 1998 new fields, SMF88ATW, SMF88ALS, and SMF88AFG that are now
input and kept in dataset TYPE8811.
Change 16.264 Support for PSF/MVS Release 3.1.0 (APAR 35685) compatibly
VMAC6 adds a new count of the accumulated number of logical
Nov 11, 1998 pages per side, SMF6LPGE, and the size of paper (length
and width in millimeters, BINxBNLE and BINxBNWI).
Change 16.263 Change 16.214 formatted new HSM Functions in DF/SMS 1.4,
VMACHSM but failed to output the new subtypes 17-20.
Nov 11, 1998 FSRTYPE Description
17 Expire primary or migrated data set
18 Partrel function
19 Expire incremental backup version
20 Expire incremental backup version
Now, test data shows they are the same structure as the
existing subtypes 1-14, so changing the test to read:
IF (1 LE FSRTYPE LE 14) OR (17 LE FSRTYPE LE 20) THEN DO;
will output them into dataset HSMFSRTP.
Thanks to Solomon Baker, The Prudential Service Company, USA.
Change 16.262 Candle's Omegamon for VTAM SMF record NTRI segment was
VMACOMVT incorrectly documented, causing INPUT STATEMENT EXCEEDED
Nov 10, 1998 error. The eight-byte reserved field after ON14OP is in
fact only four bytes. Change the +8 to +4.
Thanks to Eric Barnes, Prudential, ENGLAND.
Change 16.261 The LABEL='NTNSHS: should have been LABEL='NTNSHU:
VMACNTSM following the _WNTNSHU reference (lines 1815-1816).
Nov 10, 1998
Thanks to Carl Kyonka, Consumers Gas Company Ltd., CANADA
Change 16.260 Support for Boole & Babbage MainView for CICS CMRDETL
EXMVCICF VSAM file creates two new datasets from CMR52:
EXMVCICS Dataset dddddd Description
FORMATS CMRDETL MVCICF MAINVIEW CICS CMRDETL file detl
IMACMVCI CMRFILE MVCICS MAINVIEW CICS CMRDETL TRANSACTS
TYPEMVCI There is one observation in CMRDETL for each transaction
VMACMVCI and one observation in CMRFILE for each file that was
VMXGINIT accessed by each transaction. The CMRDETL is similar to
Nov 7, 1998 type 110's CICSTRAN and the CMRFILE is similar to CICFCR.
Nov 13, 1998 The raw CMRDETL file is compressed, but the compression
Nov 16, 1998 algorithm Boole used for CMRDETL is not the same as the
compression algorithm that Boole now uses for its other
MainView products (i.e., the new ASMMNVW does NOT work
with CMRDETL file), but Boole intends to provide me with
a separate ASMxxxxx member to handle CMRDETL compression.
You can use Boole's PGM=CMRCMPW to decompress the data
until the new Infile Exit for CMRDETL exists.
Boole also corrected documentation errors; CICS 5.2 date
format is now MMDDYYYY and T6EUSTGX replaces T6EUSTGO.
New format $MGMVCIT decodes File type.
Thanks to Peter Hartmut, R & V Allgemeine Versicherung AG, GERMANY.
======Changes thru 16.259 were in MXG 16.05 dated Nov 1, 1998======
Change 16.259 ML-18 of ASMTAPES to protect against the circular queue
ASMTAPES situation associated with the DSAB flag. The original
Nov 1, 1998 logic looked for the end-of-queue marker, but now the
code uses the count of entries to find the end-of-queue,
as we found one instance in which there was no end-mark
and MXGTMNT went into a loop and had to be cancelled.
Change 16.258 RMFR Reports, variables SYSPLEX and STARTIME NOT FOUND if
ANALRMFR parameter overrides are PDB=SMF and REPORT=ALL. Fields
Nov 1, 1998 R744FMOD/FVER/VLVL added to Coupling Facility Usage, and
the LPAR MGMT column in the Partition Data report was
corrected (it was sometimes negative).
Change 16.257 The new IMS 6.1 Support in ASMIMSLG6 was tested with data
TYPEIMSA from European Summer time, which had GMTOFFTM of zero,
VMACIMSA but with non-zero GMT offset, VMACIMSA converted GMT to
Nov 1, 1998 local only for the ENDTIME variable in the 07/08 records
(because they contain the GMTOFFTM), but the IMSMERGE
records created as output from ASMIMSL6 do not contain
the GMT offset (because it did not exist prior to 6.1!).
The mixed time zones caused invalid (large negative in
the western hemisphere, large positive east of GMT) for
SERVICTM (service time) and RESPNSTM. This fix removed
the conversion of ENDTIME/STRTTIME in VMACIMSA, instead
keeping variable GMTOFFTM from the 07/08 record, and
then in the final MERGE, the GMT offset is added to all
timestamps in that one place. PLEASE VERIFY THIS LOGIC!
Thanks to David Martin, USS-Posco Industries, USA.
Change 16.256 DB2 Version 5.1 variables QISEDSI, QISEDSG, & QISEDSC
VMACDB2 were not input, but now they are.
Nov 1, 1998
Thanks to Craig Collins, State of Wisconsin, USA.
Change 16.255 Support for new DF/SMS OAM type 85 SMF record with 31
EXTY85AC subtypes create eleven datasets tracking Optical Access
EXTY85CV Method activity, volumes, space, durations, objects,
EXTY85LS bytes, deletes, etc., etc:
EXTY85RD Subtypes MXG Dataset Description Test Data?
EXTY85RQ 1- 7 TYPE85AC OAM OSREQ ACTIVITY Y
EXTY85SO 32-35 TYPE85ST OAM OSMC STORAGE MANAGEMENT Y
EXTY85ST 36 TYPE85SO OAM OSREQ SINGLE OBJECT N
EXTY85TD 37 TYPE85LS OAM OAMC LIBRARY SPACE Y
EXTY85TP 64-67 TYPE85VL OAM VARY LIBRARY/DRIVE N
EXTY85TV 68-73 TYPE85CV OAM LCS CARTRIDGE/VOLUME Y
FORMATS 74-77 TYPE85RQ OAM LCS READ/WRITE/REQUESTS Y
IMAC85 74-77 TYPE85RD OAM LCS READ/WRITE DETAILS Y
TYPE85 78,79,88 TYPE85TP OAM LCS TAPE READ/WRITE Y
VMAC85 78,79,88 TYPE85TD OAM LCS TAPE READ/WRITE DETAILS Y
VMXGINIT 87 TYPE85TV OAM TAPE VOLUME DEMOUNT N
Oct 31, 1998 While the record contains "kilobytes", MXG converts all
those storage size variables into bytes and formats them
with MGBYTES format which prints as KB/MB/GB etc.
I assumed 1024 bytes per kilobyte, but need to confirm.
The start and end timestamps are on the GMT clock but
there is no GMT offset in the records, but I used the
delta between SMFTIME and the R85PENDT to create the
GMT85OFF (but it probably won't contain leap seconds).
There are 24 undocumented bytes in the product section
that look suspiciously like job/step/procstep names, but
they are not decoded until they are documented by IBM.
There is an incredible wealth of information provided by
IBM for accounting, performance and capacity planning,
and the SMF manual has a brief discussion of OAM data.
Thanks to Gary Matney, American Century, USA.
Change 16.254 Support for DFSORT Release 14 SMF type 16 record (COMPAT)
VMAC16 required no change in MXG, since the record format was
Oct 31, 1998 not changed, and MXG already supported APARs that had
added bits to some flag fields.
Change 16.253 CICINTRV now figures out whether your CICS Statistic data
CICINTRV is sitting in the Work file ("_Wdddddd") or whether you
TYPS110 had used the _Sdddddd macro to PROC SORT it into the PDB
VMXGCICI ("_Ldddddd destination). This applies only to the type
VMXGWORL 110 subtype 2 SMF records. Normally, BUILDPDB/3 will
Nov 1, 1998 build AND sort all datasets for a product from WORK into
the PDB, but CICS type 110 subtype 2 records are only
created in the WORK file and are not SORTed to PDB,
(because the CICS Statistics datasets can be large and
are not useful unless your are going to use them!).
The old way to add CICS Stat data into your PDB with the
BUILDPDB added a PROC COPY IN=WORK OUT=PDB; SELECT CIC:;
in tailoring member EXPDBOUT to copy all, or individual
PROC SORTs were added in EXPDBOUT. But now with the new
MACKEEP design, you only need to add the _SCICddd macro
for each dataset you want, and you don't even have to use
a %LET PCICDS=PDB; because the default value for PCICDS
is already PDB!
Well, adding the _SCICDS macro in EXPDBOUT does create
dataset PDB.CICDS, but CICINTRV failed with DATASET
NOT FOUND, because it hardcoded the input CICS stat data
to be in the _Wdddddd, but the PROC SORT is from _W to
the _L, and housekeeping deletes the _Wdddddd dataset!
This solution is a redesign of CICINTRV to invoke new
member VMXGCICI (because CICINTRV is a "%INCLUDEd member"
but we needed the power of a "%MACRO), and creation of
a new utility %MACRO VMXGWORL to determine for a given
dddddd value whether the data is in the _W or in the _L
(and if it is in the _L, the new CICINTRV logic will
bypass the PROC SORT since it's already sorted.)
In the interim, you can override the _Wdddddd definition
and send the un-sorted dataset to the PDB library, and
then CICINTRV will use that dataset. Philosophically,
I don't want you to have to manipulate the _W or _L
macro names, just because they are messy to use, but they
will always be there, so this fix will work - it's just
not as pretty as simply adding the _Sdddddd macro(s) in
EXPDBOUT! For example, you would add
MACRO _WCICDS PDB.CICDS %
in either member IMACKEEP or with %LET MACKEEP= logic.
Additionally, member TYPS110 now invokes _S110 to sort
all of the CICS Stat datasets, as it should have.
See final revision in Change 16.266.
Thanks to Jean Quinkert, Inland Steel, USA.
Change 16.252 Six lines with pairs of 'DD'x (ASCII) or 'BD'x (EBCDIC)
ANALBATW characters should have been pairs of exclamation points
Oct 30, 1998 (for concatenation). I use exclamation points instead of
long vertical bars because exclamation points translate
between ASCII and EBCDIC in all languages and long bars
did not translate from UK to USA (hence this change).
Thanks to David Nuechterlein, Nissan Motor Corporation, USA.
Change 16.251 TMS support was still not correct for multi-dataset tape
TYPETMS5 volumes; some variables from TMSRECS dataset were blank
Oct 30, 1998 in the output DSNBRECD dataset, because it turns out that
the RETAIN statement doesn't work like I thought it did!
See SAS Technical Note 1., Newsletter 35 about RETAIN.
The SET statement to combine TMSRECS and DSNBRECS was
changed back to MERGE, the IF FIRST.VOLSER THEN was
changed to IF FIRST.VOLSER and INTMS THEN DO;, and the
subsequent adjacent END; and IF INTMS THEN DO; statements
were deleted (so that now the logic is FIRST.VOLSER to do
all the INTMS processing followed by IF INDSNB to do the
DSNBREC processing, and then the if LAST.VOLSER to output
the volume record into TMS.TMS).
Thanks to Chuck Hopf, MNBA, USA.
Change 16.250 -MXG 16.04 only. Zero observations in dataset SYNCSORT if
ASUMPRTR you used IMACSYNC from 16.04. Syncsort's ID macro name is
IMACRMDS _SYNCID, but the example in IMACSYNC had _IDSYNC. MXG's
IMACRTE convention now is for the name to be _IDxxxx, but three
IMACSYNC early names were spelled _xxxxID ( _SYNCID in IMACSYNC,
Oct 27, 1998 _RMDSID in IMACRMDS, and _RTEID in IMACRTE ) and all are
now correctly spelled in their IMAC comments. These IMAC
members: CADM, CIMS, DIOS, HO15, OLDV, SAM, SFS, TAND had
incorrect comments that have been revised
-Member ASUMPRTR deletes datasets with PROC DATASETS, but
it was missing the NOLIST option, so it printed lines of
unneeded/unwanted messages on your SAS log. Now it don't.
Thanks to Glenn Harper, Memorial HealthCare System, USA.
Change 16.249 Support for Interlink TCPaccess Version 5.2(INCOMPAT).
EXILKA23 -New subtypes and new headers for new subtypes will cause
EXILKAAP the old MXG code to fail.
EXILKAIU -New variables were added to the ILKAST20 dataset, and it
EXILKAOE now contains both subtype 20 and subtype 22 events; the
EXILKAPR variable SMFACTYP identifies which subtype created the
EXILKASP observation (20 is end of ftp, 22 is end-of-volume ftp).
EXILKAVS -New ILKAST23 dataset tracks TELNET sessions from st 23.
FORMATS -Subtypes 110 thru 124 create new ILKASTPR protocols
VMACILKA dataset. Note: Nov 4: The IF 150 LE ... statement was
VMXGINIT wrong; it should have been ELSE IF 150 LE ... and the
Oct 27, 1998 IN (110-112,118,123-124) should have been written as
Nov 4, 1998 IN (110,111,112,118,123,124) to process 111 records.
-Subtypes 150,151,152 create new ILKASTAP, ILKASTIU, and
ILKASTOE for API, IUCV, or Open Edition Close events.
-Subtype 80 creates ILKASTVS with global virtual storage
and creates ILKASTSP with individual subpool virtual
storage; only subpools with non-zero allocation/usage are
output in ILKASTSP.
-Subtype 100 is not yet decoded, no test record yet.
-However the new subtypes 80 and 150-152 have severe data
errors. The UOF and DOF offsets are off by one byte due
to SMFACACB being only 7 instead of 8 bytes. (MXG can
protect that offset). In the subtype 152, the counters
appear to be off by one byte (open problem with vendor).
In the subtype 80, the subpool sections are not all 40
bytes long - some are 39 (open problem with vendor).
Thanks to Will Evans, CNF Transportation, USA.
Change 16.248 The two ELSE IF PCTRDYWT=.; statements should have been
VMAC7072 written ELSE PCTRDYWT=.; but very fortunately, this
Oct 23, 1998 typo-that-became-a-logic-error has never been executed.
Only when there are OS/390 systems with 15 or more CPUs
would this typo have become an execution error, and then
the results (if not the cause) would have been obvious:
zero obs would have been created in dataset TYPE70!
Thanks to Harry Olschewski, DeTeCSM/SLM, GERMANY
Change 16.247 Support for MainView Compressed history files. Beginning
ASMMNVW with MainView for MVS 2.5, and soon with other MainView
TYPEBBMQ products, Boole history files are compressed (although
TYPECMFV specifying HISTCOMP=N as a parm on the EXEC card in the
VMACBBMQ MMR PAS JCL will turn compression off). Boole's SAMPLIB
VMACCMFV member MMRHUNC contains a standalone decompression job,
Oct 23, 1998 but this change creates a new SAS INFILE exit "MNVW" that
decompresses the compressed data during INPUT on the fly!
You assemble the ASMMNVW member to create the load module
named MNVWIFUE and store that member in a load library
that you concatenate to the //STEPLIB for the SAS step
that will read the compressed data.
You then copy the INFILE-macro definition from the VMAC
into the IMACxxxx member for the specific product:
IMACxxxx INFILE-macro INFILE Product
IMACCMFV _CMFV CMFVSAM CMF/MMR
IMACBBMQ _BBMQ BBMQVSAM MQ Series
and add the string "MNVW" (which is the exit name) after
the INFILE name:
MACRO _CMFV
INFILE CMFVSAM MNVW STOPOVER .... ;
%
MACRO _BBMQ
INFILE BBMQVSAM MNVW STOPOVER .... :
%
These INFILE statements are now externalized by new MXG
macros _CMFV and _BBMQ that are defined in their VMACxxxx
member, so you can enable the MNVW INFILE exit either by
copying the _CMFV or _BBMQ macro definition into the
IMACxxxx for that product, or you can use the MACKEEP
architecture to change the definitions in your SYSIN.
As long as you have the load module in the //STEPLIB
concatenation, you can enable the INFILE exit now as it
will read any mixture of compressed or uncompressed data.
The Assembly code in ASMMNVW was written by Ray Revis.
Thanks to Ray Revis, Boole and Babbage, USA.
Change 16.246 Tandem variable RESPTM in dataset TANDLINE was too large
VMACTAND by a million; it should be INPUT as @119 RESPTM &PIB.8.6
Oct 22, 1998 instead of just &PIB.8.
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 16.245 Support for the RACF "installation-defined data field" in
VMAC80A SMF80DTP='07'x data segment is now INPUT as new variable
Oct 20, 1998 RACF07DT with maximum length of 32 bytes.
-replace
WHEN (7) DO;
INPUT +RACFDLN @;
END;
with
WHEN (7) DO;
IF 0 LT RACFDLN LE 32 THEN
INPUT RACF07DT $VARYING32. RACFDLN @;
ELSE IF RACFDLN GT 32 THEN DO;
INPUT RACF07DT $EBCDIC32. @;
SKIP=RACFDLN-32;
INPUT +SKIP @;
END;
END;
-add variable name RACF07DT to the KEEP= list for datasets
TYPE8008,TYPE8009,TYPE8010,TYPE8011,TYPE8012,TYPE8013,
TYPE8020 and TYPE8021, as this field can exist in all of
those RACF events.
Thanks to Albert Venetitay, CTICEP, FRANCE.
Change 16.244 Notes amplifying what is captured in which TCP records
ADOCTCP from an IBM Support person were added to documentation.
Oct 20, 1998 The TYPETCPA "APICALLS" event appears to capture all
bytes of all TCP/IP traffic, and even includes FTP counts
so it appears using TYPETCPA for accounting bytes in/out
may be feasible.
Thanks to Xiaobo Zhang, ISO, USA.
Change 16.243 Variable ENDTIME should have been kept in all datasets in
VMACCMFV VMACCMFV, but it was missing from the KEEP= list for some
Oct 20, 1998 datasets.
Thanks to Neil Ervin, Huntington Services, USA.
======Changes thru 16.242 were in MXG 16.04 dated Oct 19, 1998======
Change 16.242 MXG expected the new TCP Statistics record to be created
IMACTCP as SUBTYPE=5, but TCP lets the TCP installer set whatever
VMACTCP value they want for each subtype. MXG has always been
Oct 19, 1998 able to look inside the TCP record to determine what it
was without using the subtype, but the Statistics record
support does depend on the SUBTYPE value. This change
defines the new MACRO _SUBTCP5 5 % with its default of
5 than can be changed with MACKEEP/IMACKEEP/IMACTCP if
your subtype is not five.
Thanks to Ben Coonfield, Browning-Ferris Services, Ind., USA.
Change 16.241 MXG 16.04 only. Dataset VXMTRDEV was not created, so the
VMACVMXA PROC MEANS caused ERROR: THERE ARE NO ANALYSIS VARIABLES.
Oct 19, 1998 The correction was inside MACRO _SIODDEV definition; the
SORT was changed to OUT=_LMTRDEV instead of ZZMTRDEV, and
the SET ZZMTRDEV was changed to SET _LMTRDEV;
Thanks to Steve Clark, California Federal Bank, USA.
Change 16.240 Counter variables MROTRAN/DB2TRAN were set to zero, but
ASUMUOW this should be done only if the observation did not come
Oct 19, 1998 from the SPIN library, so IF NOT INSPIN THEN DO; ... END;
was added around the two statements. After IF LAST.
logic, new variables WTRLIOCN/WTRLIOTM were not reset,
but now are equated to HTRLIOCN/HTRLIOTM.
Thanks to Harry Olschewski, DeTeCSM/SLM, GERMANY.
Change 16.239 Variables SMF30AIC/SMF30AID/SMF30AIW were multiplied two
VMAC30 times by 128, and variables SMF30EIC/SMF30EID/SMF30EIW
Oct 19, 1998 were not multiplied at all; the last three lines should
have been for EIC/EID/EIW instead of repeat AIC/AID/AIW.
These new address space level connect/disconnect/pend
durations were added in OS/390 Release 2.4.
Thanks to Martin Peck, iT-AUSTRIA, AUSTRIA.
Change 16.238 MXG 16.04 only. The dataset names for SMF type 115 MQ
IMAC115 Series are now as they were before 16.04. The correct
VMAC115 names of MQMLOG, MQMMSGDM, and MQMBUFER are created,
Oct 19, 1998 instead of TYPE1151, TYPE1152, and TYPE115B.
Thanks to Brian Crow, British Telecom, ENGLAND.
Change 16.237 The first occurrence of &OPTNAME=S2 should have been
VMXGOPTR &OPTNAME=S. This had no effect in any delivered code,
Oct 19, 1998 but if you had used %VMXGOPTR to reset the S= option, it
did not work.
Thanks to Tom Parker, CSC/Hogan Systems, USA.
Change 16.236 New RACFEVNT=26:APPCLU SESSION ESTABLISH now creates new
EXTY8026 dataset TYPE8026. This event is new in RACF 2.2. This
VMAC80A new record causes MXG 14.14 to fail, but MXG 15.15 and
Oct 19, 1998 later did not fail with either TYPE80A or TYPE80.
Thanks to Roger Lowe, CITIBANK Asia Pacific Center, SINGAPORE.
Change 16.235 Invalid CICS type 110 Journal Format Subtype 0 records
VMAC110 with JCRLL value of zero caused MXG to loop on the same
Oct 19, 1998 record. MXG now protects for this invalid record, prints
an error message and deletes the bad records.
Thanks to Tom Wieland, Phoenix Home Life Mutual Insurance Co., USA.
Change 16.234 JES3 with more than 9999 job numbers caused log message
VMAC57 INVALID DATA FOR JESNR because the old 4-byte location is
Oct 19, 1998 now hex zeros. Adding the ?? modifier between JESNR and
&NUM.4. eliminates the message. There actually was no
error in the TYPE57 dataset, since the real JESNR is read
from a 5-digit field later in the record, but this will
eliminate an unnecessary and confusing message.
Thanks to Bendt Wiberg, CSC Computer Management A/S, DENMARK.
Change 16.233 MXG 16.04 only. Two Sort Macros, _SDB2STB and _SDB2STR,
VMACDB2 referenced &PDB2STB..DB2STATB and &PDB2STR..DB2STATR
Oct 19, 1998 instead of _LDB2STB and _LDB2STR, causing ANALDB2R to
fail when PDB=SMF was specified, if there was no PDB DD.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.232 The PROC SORT of dataset INTWKLD needed variable DURATM
NTINTRV to be added at the end of the BY statement.
Oct 14, 1998
Thanks to Howard Glastetter, Weyerhaeuser Company, USA.
======Changes thru 16.231 were in MXG 16.04 dated Oct 9, 1998======
Change 16.231 Variables STDUPLEX, FCB, OVLYLOAD, and OVLYUSED are added
BUILD005 to MACRO _PDB30_6 so that they will exist in PDB.PRINT
BUIL3005 dataset (and hence will be in ITSV's XPRINT table). These
Oct 8, 1998 variables were needed because they had been kept in MICS.
Thanks to Theo Peelen, SHELL, THE NETHERLANDS.
Change 16.230 If there are duplicate type 30 subtype 5 records, and you
VMAC30 have job records with MULTIDD='Y' (there were so many DDs
BUILD005 that SMF had to write multiple physical type 30 records),
BUIL3005 the PROC SORT of TYPE30_5 was not robust enough to delete
Oct 8, 1998 those MULTIDD duplicates, which causes variable RESTARTS
in PDB.JOBS to be greater than 1 for job/TSO/STCs that
were not restarted. Fortunately, nothing else was bad!
Member VMAC30 was changed to KEEP variable EXTRADD in the
TYPE30_5 dataset, and the BY statement in macro _STY30U5
was changed by adding MULTIDD EXTRADD at its end.
Members BUILx005 had the BY statement for the PROC SORT
of DATA=TYPE30_5 changed by adding MULTIDD EXTRADD also.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.229 Validation of revised VMACTPMX uncovered several spelling
VMACTPMX typos and token id typos in the format table. Message is
Oct 9, 1998 now printed on log if an unknown token is encountered.
Oct 19, 1998 The token finding logic was revised to work under ASCII.
Variables PERFORM and INSYSAF no longer have $HEX format.
Labels were "split" with * characters and ending parens.
IMACTPMX's comments were corrected.
Thanks to Lawrence Jermyn, Fidelity Investments, USA.
Change 16.228 NTSMF Version 2.2 records with Record Header 2.2.1
VMACNTSM cause NEW OBJECT errors, OBJECT='SERVICE PACK 3', because
Oct 8, 1998 I did not understand the new Record Header Values:
Header Description
2.0 Original Header format, no 0.0 record
2.0.h Extended Header format, 0.0 record created
2.1 Compressed Header format.
2.2.1 0.1 record created, 2.0.H Extended Format
2.2.2 0.1 record created, 2.1 Compressed Format
Records with Record Header 2.2.2 were read without error.
HEADER FORMAT 1 should be specified in your DCS, as it
reduces the amount of data in each record header and
hence the volume of data sent from the monitored to the
monitor. However, if you have not installed 2.2 on all
of your machines, NTSMF 2.2 will use the old spec on the
monitored machines, and if they contains HEADER FORMAT 0,
you will write the old, longer records until you change
that parameter.
The MXG variable, VERSION, is used not only to determine
the format of the record, but whether there will be a 0.0
record (used to calculate STARTIME if it exists), whether
there are CPU fields in the 0.0 record, whether there
will be a 0.1 record, and whether it will precede (prior
to NTSMF 2.2) or follow (NTSMF 2.2+) the 0.0 record!
Thanks to Howard Glastetter, Weyerhaeuser Company, USA.
Change 16.227 IMS 5.1 records with IMF 3.2 cause INPUT STATEMENT EXCEED
VMACCIMS error, because MXG only input the new segment for 6.1.
Oct 8, 1998 Change the IMSLEVEL test from 61 to 51 so it will read:
IF IMSLEVEL GE '51' AND IMFLEVEL GE '32' THEN INPUT
@373+OFFIMS UTCA ....
Thanks to Harmut Peter, R & V Allgemeine Versicherung AG, GERMANY
Thanks to Don Cleveland, Wellpoint, USA.
Change 16.226 Variable SYSTEM was added to the KEEP= list for dataset
VMAC110 CICSSAP from the optional SAP journal segment. In 16.04,
Oct 8, 1998 the _LCICSAP and _WCICSAP datasets had incorrectly spelt
the dataset CICSAP instead of CICSSAP.
Thanks to Theo T. Peelen, Shell, THE NETHERLANDS.
Change 16.225 MXG 16.04, DFSMS 1.3 caused INPUT STATEMENT EXCEEDED, but
VMACHSM DFSMS 1.4 records caused no error message. MXG Change
Oct 8, 1998 16.136 incorrectly located the INPUT for new variables
WFSCPUTM and WFSACCT to before the INPUT of the VOLSER
segments. If there were 36 bytes of VOLSER data, the new
logic INPUT them as WFSCPUTM/WFSACCT, and then when the
old logic tried to read the VOLSERs, there were none!.
In addition, only the first VOLSER segment would have
been input. This change moves the new logic until after
any VOLSERs were input, and also iterates on WFSRNENT.
Thanks to Michael E. Friske, Fidelity Investments, USA.
======Changes thru 16.224 were in MXG 16.04 dated Oct 7, 1998======
Change 16.224 First MXG 16.04 only. JCLTEST6 fails with ID=220 SMF if
VMACOMVT they are not from OMEGAMON for VTAM. (If you have OMVT
Oct 6, 1998 records and have overridden the _IDOMVT macro in either
your IMACOMVT or IMACKEEP, you don't see this error - it
is only if you don't have OMVT but some other product is
writing type 220 records). Change the "220" in _IDOMVT
to "512", which is the impossible default SMF number that
should have been in VMACOMVT.
Thanks to Edd Carter, General Mills Restaurant, USA.
Change 16.223 The labels for variables CPUACTTM and CPUOVHTM were
RMFINTRV changed from "PROCESSOR" to "PROCESSORS" to be consistent
Oct 6, 1998 with variable CPUUPTTM and because all three variables do
contain the total time that all processors in the CEC
were active, uncaptured, or "up" (i.e., available).
Thanks to Edd Carter, General Mills Restaurant, USA.
Change 16.222 -First MXG 16.04 only. The new _STYTCPA "Sort" macro,
VMACTCP used only by the new TYPSTCP member, was missing an
VMXGINIT ending parenthesis in its definition. The DATA statement
Oct 6, 1998 that follows "MACRO _STYTCPA" statement should be:
DATA _LTYTCPA (LABEL='TYTCPA: .... API CALLS (SOCKETS)');
-Macro variable PTCPTCPS was not GLOBALed nor %LET in the
VMXGINIT member, causing unresolved macro reference.
Thanks to Chuck Hopf, MBNA, USA.
======Changes thru 16.221 were in MXG 16.04 dated Sep 30, 1998======
Change 16.221 Trending of Tape Allocations could overcount in a last
ASUMTALO interval that had data spread across two week's input
TRNDTALO with overlap during the same hour (i.e., last weeks last
Sep 30, 1998 allocation was from 0300-0315, this week has an allocate
from 0330-0345). This change corrects the allocate tape
count in that interval, but MXG's revisions in ML-17 of
ASMTAPES/MXGTMNT automatically synchronizes its interval
with SMF interval, so the exposure is reduced further.
Thanks to Jim Stevens, MBNA, USA.
Change 16.220 Logic for creation of NTCONFIG dataset from 0.0 and 0.1
VMACNTSM records was revised. For NTSMF 2.0 and 2.1, the 0.1 was
Sep 28, 1998 written first and then the 0.0, so MXG could OUTPUT to
NTCONFIG from the 0.0 record (including the three fields
that were RETAINed from the preceding 0.1 record). Now,
the output for NTCONFIG was located until after both the
0.0 and 0.1 were read and all their fields RETAINed, and
then OUTPUT from the 0.1 if NTSMF is 2.2 or later, or
OUTPUT from the 0.0 if NTSMF is Version 2.1 or earlier.
This really has minimal impact, as the NTCONFIG dataset
is only a log of configuration status, and not critical,
but now as new configuration fields are added to the 0.1
record, they will be added to dataset NTCONFIG.
Change 16.219 Final validation of MXG Support for IMS 6.1 Log Records.
ASMIMSL6 -The TIME DEC call returns a 0CYYDDDF format that is used
Sep 28, 1998 as a reference date to decide whether to delete or ignore
"old" INQUEUE records, but that value should have been
converted to the YYYYDDDF format of the INQUEUE record.
-ASMIMSL6 was enhanced to prevent U0012 abends if there
were insufficient slots being allocated on the initial
table load. While the number of slots can be provided to
ASMIMSL6 thru the //SLOTS DD statement, this enhancement
eliminates the need to specify slots in advance; the
INQUEUE is read (fast) to count records and NUMSLOTS is
reset to records+1000 if the slots are too few.
Thanks to Alan Green, British American Financial Services, ENGLAND.
Change 16.218 The VMXGTAPE macro sets TAPELIB=YES if an MVS SAS dataset
VMXGTAPE is on tape, but when run under ASCII SAS, produced notes
Sep 30, 1998 the SAS log. Additionally, when VMXGTAPE was used with a
DISK dataset, the second execution failed with an error
message UNABLE TO CLEAR LIBNAME. That error is fixed by
relocating the RUN; statement to be before the LIBNAME.
The error was not reported, because the only member to
use VMXGTAPE twice, TYPECIMS, uses tape rather than disk
for those large IMSTRAN files from IMF, and VMXGTAPE did
work fine when the MVS SAS dataset was on tape.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 16.217 -Support for NTSMF new objects NetShow Station Service and
EXNTNSHS NetShow Unicast Service creates NETSHOWS and NETSHOWU
EXNTNSHU datasets, respectively.
VMACNTSM -Logic for NTCONFIG was revised to read CPU Speed field
Sep 23, 1998 when VERSION GE '2.0.H' AND NTVERSN GE '3.51' because
the segment exists in the 2.0.h records. Additionally,
VERSION=UPCASE(VERSION); was inserted after its INPUT
and before the test to avoid case sensitivity.
Thanks to Jim Quigley, Con Ed, USA.
Thanks to Denny C. Wong, New York Life, USA.
======Changes thru 16.216 were in MXG 16.03B6 dated Sep 23, 1998======
Change 16.216 Support for OS/390 2.6 (COMPATIBLE) added new data:
VMAC73 -Dataset TYPE73 new var SMF73ACR, Channel Path Acronym
VMAC74 -Dataset TYPE74 new var DEVDISNV, Device Disconnect Time
VMAC79 Is Not Valid flag, Y or Blank.
Sep 23, 1998 -Dataset TYPE74. IBM renamed field SMF74NID to SMF74DCT
and increased it from 26 to 28 bytes, but MXG continues
to name the variable SFM74NID and it contains either the
Node Descriptor ID for self-describing devices, or the
four-byte Device Number.
-Dataset TYPE74CA new var R745CCMT, Hardware Type and
Model of the Control Unit, 28 byte character variable.
-Dataset TYPE79C new var R79CACR, Channel Path Acronym.
-Changes to TYPE99 subtype 6 were already in MXG.
Change 16.215 ACF2 Version 6.2 INCOMPATIBLY changed the type 'V' record
VMACACF2 causing INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Sep 23, 1998 Fortunately, most sites don't use the ACF2VR dataset that
is built from this record, so you can process their other
6.2 data by inserting the new line that tests LENGTH-COL
so that member VMACACF2 then contains:
IF ACVMFIDC GT 0 THEN DO _I_=3 TO ACVMFIDC;
IF LENGTH-COL+1 GE 8 THEN
INPUT ACVMFSEC $EBCDIC8. @; /*SECONDARY*AUTHID*/
CA provided same day documentation and technical support
of the changes in their record, which inserted an offset
field to the optional DB2 data fields, which is now used
and tested by MXG. No other new data was added.
Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.
Thanks to Tim Dockter, CA, USA.
Thanks to Fred Duminy, CA, USA.
Change 16.214 Support for DF/SMS 1.4 changes to HSM records added new
FORMATS values for $MGHSMFU format to decode FSRTYPE:
Sep 22, 1998 Value Formatted value
6 USER requested Delete of a Migrated Data Set
17 HSM Expired/Deleted a Data Set
(FSRFLG3 then indicates where the dataset
existed when HSM expired/deleted it)
18 Partial Release
19='19:EXPIRE OR ROLL OFF INCREMENTAL BACKUP'
20='20:(H)BDELETE INCREMENTAL BACKUP'
Also it was noted that for a full volume restore (FSRTYPE
= 14), FSRFVOL is actually the target volume name, not
the source volume name.
Thanks to Michael E. Friske, Fidelity Investments, USA.
Change 16.213 The type 79 subtype 15 (IMS Long Lock record) fields were
VMAC79 not documented completely accurately, but will be in the
Sep 22, 1998 next SMF manual. New variable F79FTRNM is now INPUT, and
new format $MG079RT decodes F79FRGTY values. R79FPSTN is
either a PST number as 4 hex digits, or the character
string 'ID', which is 'C9C4'x. R79FLHTI is 8-bytes long,
but only the first four are used, as seconds after
midnight. R79FRSNA is now only INPUT if R79FETYP='W'.
Thanks to John Keenan, Boeing, USA.
Change 16.212 MXG did not input seven fields in the System record from
VMACTMV2 Landmark's The Monitor for MVS Version 2, causing dataset
Sep 22, 1998 TMVSSYS to have incorrect values. To circumvent, you can
insert a line with +28 between the INPUT lines for
SYSRESV4 and SYSUIC. The seven new variables in TMVSSYS:
SYSUASID,-AASID,-NASID,-SASID,-RASID,-OSASI,and SYSORASI.
are counters of ASIDs in USE/Available/etc.
Thanks to Jeff Justice, Integon, USA.
Change 16.211 Support for TCP/IP 3.4 Type 118 Subtype 5 SMF record.
EXTYTCPS The new TCP Statistics subtype causes MXG CRITICAL ERROR
FORMATS message and a delete of the new subtype, but the other
IMACTCP datasets are correctly built from the other records.
VMACTCP This support created new dataset TYPETCPS with TCP
Sep 21, 1998 Statistics counters.
Thanks to Huug Tempelmans-Plat, Hoogovens Staal BV, THE NETHERLANDS.
Thanks to Xiaobo Zhang, Insurance Service Office, USA.
Change 16.210 INVALID DATA FOR HH/MM/SS/INBUFFSZ/OUBUFFSZ from Super
VMACSUIN IND$FILE SMF records because some EBCDIC numeric fields
Sep 19, 1998 contain nulls instead of valid EBCDIC zeroes. Knowing
this now, each of the INPUTs that use &NUM. informat are
now preceded with ?? to suppress the warning messages.
The records with nulls also contain UNAVAIL for both the
TERMINAL name and the Logmode Entry Name, and the other
counters are zeroes, so I suspect these null records are
otherwise valid, and so their uninitialized fields are
now protected.
Change 16.209 SAS 6.12 for Windows, Maintenance TS045 changed what is
CONFIG printed on the SAS log when option STIMER is enabled.
Sep 18, 1998 Now, sixteen lines of Stack, Heap, Memory, and Images
stats are preceded by "HOST STATS FOR: xxxxxx" and are
printed for every data or proc step by the STIMER option.
MXG's CONFIG member has always enabled STIMER/FULLSTATS,
as they were useful in diagnosing memory problems back in
early V6, but the new output flooded my QA stream log, so
I have removed the overrides from MXG's CONFIG member, so
the SAS defaults (NOSTIMER,NOFULLSTATS) will be used. If
ever needed, they can easily be enabled in your CONFIG
file, thru the OPTIONS= in MVS JCL, or by using an
OPTIONS STIMER FULLSTATS; statement at the beginning
of your SAS program.
Change 16.208 Internal support for the NTSMF DTS 0.1 configuration data
VMACNTSM record created three new variables in NTCONFIG dataset:
Sep 17, 1998 PRFSENVR='PERFORMANCE*SENTRY*VERSION*THAT WROTE'
DCSLOCN ='LOCATION*OF DCS: REGISTRY/PRIDCS/DCSFILE/ETC'
DCSINTRN='INTERNAL*NAME*OF THE*DCS'
Change 16.207 PROC GPLOT has never worked right when its input dataset
ANALVARY has zero observations; in various SAS releases there have
ANALRRTM been Notes or Error messages, but _ERROR_ was never set.
Sep 17, 1998 But under SAS Version 7 Beta, these notes were created:
Sep 25, 1998 NOTE: No Observations in Data Set xxxxxxxx.
NOTE: The SAS System Stopped Processing due to errors.
NOTE: SAS Set Options OBS=0.
That false error message, and the setting of OBS=0, has
been accepted by SAS as a defect. However, SAS Tech
Support found that by relocating the SYMBOL statement to
precede the PROC GPLOT statement, the OBS=0 was not set,
so now the MXG 16.04 QA Stream has successfully executed
all steps under SAS Version 7 Beta!!!
Thanks to Chris Noto, SAS Institute Technical Support, USA.
Change 16.206 If you use the COUNT= option in ANALCNCR, and it has more
ANALCNCR than one variable, the BY list was wrong and it contained
Sep 17, 1998 repeated variable names. The MXG logic error is fixed by
changing &&COUNT&NUMCNT to read &&COUNT&I. Fortunately,
the important uses of %ANALCNCR in MXG don't use COUNT=.
In fact, this error was discovered by the new feature in
SAS Version 7 (ERROR: Duplicate variables in a BY list)
when the archaic example ANALTAPE that has %ANALCNCR with
COUNT=TAPEDRVS TAPE3420 TAPE3480 TAPE3490 TAPE3590,
was tested in the MXG QA stream.
Change 16.205 New format MG099TC decodes the Trace Action Codes in the
FORMATS Type 99 Goal Mode Workload Manager trace data, using the
VMAC99 Table 76 in Appendix A of OS/390 V2R5.0 MVS Workload
Sep 16, 1998 Management Services, mapping number to Trace Code Name.
The codes describe WLM decisions, and their full meaning
from that table is also in ADOC99.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.204 The externalization of tailoring for IMACACCT, IMACSHFT,
IMACACCT IMACWORK, and IMACUCB can now use the "MACKEEP" design of
IMACSHFT Change 16.134, with new MACACCT, MACSHFT, MACWORK, and
IMACWORK MACUCB macros defined and nulled in VMXGINIT and invoked
IMACUCB at the end of each of those IMACs. The BUILxxxx members
BUILDPDB/3 were updated also to invoke new EPDBINC macro variable to
BUILD001 permit tailoring of the EXPDBxxx members as well.
BUIL3001
VMXGINIT
Sep 16, 1998
Thanks to Chuck Hopf, MBNA, USA.
Change 16.203 The statement LENGTH=LEN; was changed to LENGTH=LENGTH;
UTILDUMP to eliminate the Warning "Unitialized Variable LEN". The
Sep 16, 1998 new SENDDUMP is probably better documented to get dumps.
Thanks to Hertwig Rainer, Lufthansa Systems GmbH, GERMANY.
Change 16.202 Finally, the logic to create SASSWORK and USERWORK macro
VMXGDEL variables (so we know where your WORK= and USER= point)
VMXGSUM works under both SAS V6 and SAS V7 and under OS/390 as
VMXGOPTR well as Windows and Unix. All this is for housecleaning
Sep 16, 1998 (delete work datasets when we can), but we needed to not
delete WORK.X after SORTing into USER.X if you had set
SAS options WORK= and USER= to the same data library.
Our logic executes PROC SQL on VTABLE to get the WORK=
and USER= current values. We expected DDNAMES, and the
code worked on OS/390, but under Unix and Windows you get
the full file specification name, with forward and back
slashes, etc, which required more logic revisions. Now,
we find that only under OS/390 can WORK= and USER= point
to the same library, so the logic was simplified. But
then, under Version 7, we found that PROC SQL no longer
reads the VTABLE when OBS=0 is specified, which caused
macro variables SASSWORK/USERWORK to be blank. (That
PROC SQL in Version 6 did not honor OBS=0 was accepted as
a bug and fixed in Version 7; that we got output under V6
was an unintended design feature, now corrected!). But
by inserting VMXGOPTR invocations before and after each
PROC SQL to momentarily override the OBS=0 to OBS=MAX and
then reset OBS to whatever it was, solves that problem.
And VMXGOPTR itself had to be revised for first time run
so it too will work properly when OBS=0 is specified.
Now, MXG has been executed under the SAS Version 7 Beta
on both MVS (OS/390) and Windows (98 and NT) platforms.
Change 16.201 Type 74 Cache data, variable R745CSC was not kept in data
VMAC74 set TYPE74CA, and variables CSDPIDAT and DEVPIDAT were
Sep 15, 1998 misspelled as CSDPIPID and DEVPIPID, and are now correct.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 16.200 The created variable STARTIME in contained only the date
VMAC94 and hour of the calculated Start time; now the equation
Sep 15, 1998 is STARTIME=SMFTIME-DURATM; but DURATM=3600; is set in
MXG because there is (as yet) no actual duration in the
VTS record, and no way to change IBM's default of hourly.
Thanks to Pat Hansen, Automated Data Processing, USA.
Change 16.199 NTSMF OBJECT='WidetoMBErr' created dataset WIDE2MBE, but
EXNTWIDE that was an April Fool's day trick. I found that object
VMACNTSM name in Discovery records last April, assumed it was a
Sep 15, 1998 new thing, and created the new dataset in Change 16.048.
Today, I discover that THAT string is the error code that
is returned by the translate function API when a Unicode
to ASCII translation fails (like when the Microsoft field
documented as Unicode actually contains ASCII values!),
and there really was no WIDE2MBE dataset to be built, so
its exit member EXNTWIDE and the code in VMACNTSM were
removed by this Change. Demand Technology discovered the
record was really for the SNA Adapter Object, and revised
their code to deal with its idiosyncrasies! So now, when
WidetoMBErr shows up, its time to call Demand Technology
so they can look inside PERFMON to find the actual name
for these aberrant objects, but also please run Discovery
and send the data file, so that I can circumvent it.
For example, the Beta of Microsoft Terminal Server 1.0
now has a counter object named 'WidetoMBErr' inserted in
the middle of the Process object, INCOMPATIBLY causing
an INPUT STATEMENT EXCEEDED RECORD LENGTH error ABEND.
While Demand Technology gets the data to investigate
their end and tell me what's really there, this change
creates variable WIDE2MBE in the PROCESS dataset to get
the field and support the new record. Later, when we
know the field name, this text will be revised to rename
and label and possibly format the variable.
Thanks to Leigh Ann Payne,Wachovia Operational Services, USA.
Change 16.198 -MXG 16.03 only. MACRO _LIMSUNM UNMATCHED % was spelled
IMACIMSA wrong, and must be MACRO _LIMSUNM UNMATCHD % instead.
TYPEIMSA -PROC SORT DATA=IMSMERGE %VMXGFOR ; worked as long as you
Sep 10, 1998 didn't tailor the _LIMSMRG macro in your IMACIMS, but it
is now PROC SORT DATA=_LIMSMRG OUT=ZZIMSMRG %VMXGFOR;
The MERGE PRG (IN=INPRG) IMSMERGE (IN=INIO); is now
MERGE PRG (IN=INPRG) ZZIMSMRG (IN=INIO); and the DELETE
of IMSMERGE now deletes ZZIMSMRG, to make this work. The
macros will change once more when the 16.134 architecture
is applied to the IMS processing shortly.
Thanks to Kenneth D. Jones, Maritime Telephone and Telegraph, CANADA.
Change 16.197 The extra include of member IMACCICS in member TYPE110
TYPE110 prevented the &MAC110 or &MACKEEP logic from working to
Sep 10, 1998 redefine the _L macros. Member IMACCICS was removed from
member TYPE110's include, as it is already included by
the VMAC110 member, and there it include is followed by
the MAC110 and MACKEEP macros, so it can be overridden.
Thanks to Jerry Layne, Virigina Power, USA.
======Changes thru 16.196 were in MXG 16.03B5 dated Sep 9, 1998======
Change 16.196 Variables ELAPSTM, INPREQTM, and QUEUETM were calculated
VMAC33 before the variables used had been input. Now, the three
Sep 7, 1998 statements are inside the DO group, after TPNDTIME.
Variable TPUSRTYP was input and formatted, but not kept;
now it is in both TYPE33_1 and TYPE33_2 datasets.
Thanks to John Strumila, IBM Global Services Australia, AUSTRALIA.
Thanks to Lindsay Oxenham, IBM Global Services Australia, AUSTRALIA.
Change 16.195 The Printer Throughput analysis now created PDB.ASUMPRTR
ANALPRTR instead of PDB.PRINTER, to be consistent with current MXG
ASUMPRTR naming conventions. Scan your MXG Tailoring library and
Sep 6, 1998 change PDB.PRINTER to PDB.ASUMPRTR if it exists, but very
few sites regularly use this detailed analysis.
Change 16.194 -IBM now calculates the TYPE72GO Using/Delay Percentages
VMAC7072 using R723CTSA instead of CTOU+CTOT+CUNK+CIDL samples as
Sep 6, 1998 the denominator. R723CTSA adds CIOU+CIOD samples, and is
Sep 22, 1998 used even if I/O Delays are NOT being included in your
Oct 20, 1998 Velocity definition! Since R723CTSA is now larger, the
percentages will be smaller. So that MXG calculations
match the RMF reports, the correction in VMAC7072 is to
insert:
IF R723CTSA GT 0 THEN VALDSAMP=R723CTSA;
before:
IF VALDSAMP GT 0 THEN ....
-Variable PCTEXTSA is now set to missing value, as it is
a total sample count, now in R723CTSA, and not a percent.
-The I/O Velocity calculation when I/O Delay is NOT turned
on was changed to match IBM reports. MXG's old equation
VELOCITY=(CTOU+CIOU)/(CTOU+CIOU+CTOT) is changed to read
VELOCITY=(CTOU+CIOU)/(CTOU+CIOU+CTOT+CTDQ+CIOD) and the
code relocated until after CTDQ had actually been input!
OS/390 R2.4 added CTDQ in an extension of the SMR
record, but MXG's equation was back in the block of
code for the R1.3 extension. Now, 1.3 calculates
without CTDQ while 2.4 and later includes CTDQ.
When I/O Delay IS turned on, MXG sets R723VELI='Y' so the
velocity and I/O velocity are calculated the same way:
VELOCITY=VELOCIOD=CTOU/(CTOU+CTOT);
These changes now match the IBM RMF 2.4 Report values.
Oct 20, 1998 revision:
I/O Velocity enablement is system wide, and when enabled,
all of the Service Classes have R723MSCF='...1....'B, but
that bit is not on in the Reporting Class records. IBM
RMF has acknowledged their error and will fix it in a
future version of RMF, but MXG now stores R723MSCF from
the Service Class record (written first) into retained
variable SERVMSCF, which is now used instead of R723MSCF
to set R723VELI='Y' when I/O is enabled, so the correct
velocity equation will be used in spite of their error.
Thanks to Leonard Ponich, AT&T, USA.
Change 16.193 New reporting variables were added to MEMOACCT dataset:
VMACMEMO MEMDIST MEM3270 NEWMEM RETMEM SENMEM SESSION
Sep 6, 1998 TRXTOT USERPRF for direct reports from MEMOACCT.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 16.192 Variable A08DURAT=A08BKDTD-A08BKCTD is now created in
VMAC110 CICS statistics dataset CICSLSRR to report how long the
Sep 6, 1998 pool existed. However, the base times are time-of-day
rather than datetimes, so if the pool exists for more
than 24 hours, the duration will not be accurate.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 16.191 TMS revisions were still not complete, as FILSEQ was
TYPETMS5 missing in second and subsequent VOLSEQs. Before the
Sep 5, 1998 END; statement for the ELSE IF FILSEQ=. THEN DO; insert
MAXFLSEQ=FILSEQ;
LSTFLSEQ=FILSEQ;
and after IF MAXFLSEQ LT 999999 THEN FILSEQ=MAXFLSEQ;
insert IF FILSEQ=. THEN FILSEQ=1;
to always populate FILSEQ variable correctly.
Thanks to John Rosewarne, Telstra, AUSTRALIA.
Change 16.190 Variable PCTDLNDI is now set missing, as it was not a
ADOC7072 valid percent of anything. Instead, the raw count of
VMAC7072 samples, R723CNDI, from which PCTDLNDI was erroneously
Sep 5, 1998 calculated, is now kept. See the detail description in
member ADOC7072 for new variable R723CNDI.
Thanks to Don Deese, (CPExpert), Computer Measurement Sciences, USA.
Change 16.189 Support for Thruput Manager, TPM, was supported earlier
EXTYTPMX by member TYPETPM, but that program INPUT only the data
FORMATS fields it knew about. This new TYPETPMX was written by
IMACTPMX Susan, and it creates temporary FORMAT $MXTPMTK to token
TESTUSR1 each possible TPM field, and then VMACTPMX uses that in
TYPETPMX its TPM record processing. The output dataset contains
TYPSTPMX all possible variables, but will likely be very sparce as
VMACTPMX most TPM sites don't enable all fields, so COMPRESS=YES
VMXGINIT is specified, since sparce datasets compress so well that
Sep 5, 1998 dropping the nonexistent variables is unwarranted. As an
example, 1000 obs uncompressed required 1005 pages, but
compressed by SAS, the TYPETPMX dataset needed only 40!
Thanks to Susan Marshall, SAS Institute ITSV Cary, USA.
Change 16.188 Variable R742PSIG is now documented in ADOC74 that its
ADOC74 contents, inbound or outbound request counts, are in or
FORMATS out depending on variable R742PDIR, path direction, which
VMAC74 is now FORMATed ('80'X=Inbound, '40'X=Outbound). Also,
Sep 5, 1998 variable R742PTYP, path type, is now FORMATed ('1=CTC,
3='List Structure') by $MG074PD and $MG074PT formats.
Thanks to Leonard Ponich, AT &T, USA.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 16.187 Support for XCOM Release 3.0 (COMPATIBLE) adds variables
VMACXCOM TCPIPNAM, TCPIPADR, and XCOMMICR to TYPEXCOM dataset. But
Sep 1, 1998 I discovered that variables FLDSNNME REPTDEST REPTFORM
REPTFCB REPTNAME COPYCNT HOLDFLAG CONTFLAG SPOOFLAG
DISPFLAG and REMFLENM were input from wrong locations. I
have confirmed the two important variables, FLDSNNME and
REMFLENM (input/output dataset names) are properly input,
and I think the others are also now properly aligned, but
they are all blank in my test data.
The test data also XCOMVERS=300 when the connection is
from Unix to MVS, and XCOMVERS=3 when the connection
is from MVS to Unix (actually, the value is 'F30000'X
but it prints as 3). But there's no real problem, as
XCOMVERS is not used in any MXG logic.
Thanks to Aubrey Tang, GIO Australia, AUSTRALIA.
Change 16.186 The PROC SORT %VMXGFOR DATA=_WCICDL2 OUT=SRTDLIR; should
CICINTRV be PROC SORT %VMXGFOR DATA=_WCICDL1 OUT=SRTDLIR; as the
Sep 1, 1998 CICDLIR dataset is _WCICDL1 instead of _WCICDL2 (which is
CICDLIT, but that dataset always has zero observations).
Without this change, the A18xxxx variables were missing.
Thanks to Fiona Crane, Royal and Sun Alliance, ENGLAND.
Change 16.185 MXG Support for IMS 6.1 (Change 16.171) is now validated!
ASMIMSL6 -ASMIMSL6 had references to MXGIMSLG, but the program name
TYPEIMSA CSECT name, and comments were changed to MXGIMSL6 to be
VMACIMSA consistent with the JCLIMSL6 member, and so that IMS 6.1
Sep 1, 1998 program name is different than earlier releases.
-VMACIMSA inputs of ARRTIM, NQTIM, GUTIM and DQTIM were
changed from &PD.4. to &PK.4., and the algorithm to
convert was changed. These inputs are now separated into
a block for pre-IMS 6 and post-IMS 6, using _IMSVERS to
choose the correct format.
-TYPEIMSA KEEP= list for _IMSTRAN.IMSTRAN has variables
OLTERM and OVTAMNDE added; they were inadvertently
dropped.
-With these changes, MXG support for IMS 6.1 matches the
Transit Log Report from IBM's IMS Performance Analyzer!
-See also Change 16.171.
Thanks to Alan Green, Allied Dunbar, ENGLAND.
Change 16.184 Utility to create MXG source for Formats $MGDDDDD and
UDDDDDD $MGDDDSN to map "dddddd" to "dataset" and vice versa,
FORMATS for internal use in Change 16.134 programs, like the new
Sep 5, 1998 %BLDNTPDB. UDDDDDD reads the MXG source to find all _W
macro definitions and writes out the VALUE statement that
defines each format, and the output is copied in at the
end of member FORMATS.
Change 16.183 Revision of MXG logic for ABEND and CONDCODE in PDB.JOBS.
BUILD005 While I still think using the PDB.STEPS dataset for job
BUIL3005 ABEND analyis is strongly preferred (because steps ABEND,
IMACPDB jobs don't, and because the STEPS data gives you the
SPUNJOBS PROGRAM name so you can identify who wrote the program
Aug 31, 1998 that ABENDed, and because jobs can have multiple step
ABENDs), this revision populates the PDB.JOBS variables
ABEND and CONDCODE with useful values, and creates new
variable ABENDS that counts the abending steps in a job.
Previously in PDB.JOBS, the ABEND value indicated that
one or more steps abended, but the CONDCODE value was
taken from the last executed step. If COND=ONLY or EVEN
was specified in the JCL, you could have had an ABEND
with a wrong or zero CONDCODE. Or if a step had what is
called a pre-execution ABEND that causes the step to be
not-executed (this includes FLUSHed steps, steps with a
SYSTEM 822 ABEND, and steps with SYSTEM 213 ABEND on the
STEPLIB, which are not explicitly identified in the step
records) the ABEND='SYSTEM' but CONDCODE was zero.
With this revision, the values of ABEND and CONDCODE will
be stored from the FIRST step that ABENDed. If there are
no ABENDs, but there were non-zero condition codes in any
step, the highest non-zero condition code will be stored
in CONDCODE and ABEND='RETURN'. And if there were no
ABENDs in the step records, but the 30-5 job termination
record has the ABENDed bit set in SMF30STI bit "6", the
logic sets ABEND='PREEXE' to flag that some step of the
job had a preexecution error. (Steps with pre execution
errors will have ABEND='FLUSH', so if there was only one
step with FLUSH, you could determine which step failed,
but if there were multiple FLUSH steps, you may not be
able to identify which step actually had the ABEND).
The default of FIRST can be overridden with the MXGCOND
macro variable, which can be %LET of the values of LAST,
HIGHEST, or LOWEST to choose which ABEND/CONDCODE pair
will be stored in PDB.JOBS.
Defaults:
One or more ABENDing STEPS
CONDCODE=CONDCODE of first ABENDing step
ABEND='SYSTEM' or 'USER' from first ABENDing step
ABENDS=number of ABENDing steps
However: If the JOB TYPE30_5 record has the ABEND
bit on but CONDCODE=0, which happens if
the last step did NOT ABEND, MXG sets
ABEND='ABEND' in the PDB.JOBS dataset.
No ABENDing STEPS - ABEND flag on in type30_5
CONDCODE=CONDCODE from type30_5
ABEND='PREEXE'
ABENDS=1
No ABENDing STEPS - No ABEND flag on in type30_5
CONDCODE=highest non-zero CONDCODE from STEPS
ABEND='RETURN'
ABENDS=0
These possible values for ABEND now exist in MXG:
ABEND Description
JCL PDB.JOBS only - Job did not Start on JES.
CRSH PDB.JOBS only - Job active during SYS FAILURE
PREEXE JOBS-only: Step had a pre-execution ABEND.
SYSTEM System ABEND
USER User ABEND
RETURN Return Code
CANCEX Cancelled in SMF Exit, CONDCODE tells which
FLUSH Step Flushed or Pre-Execution ABEND
RESTAR Step was RESTARTED
NOTCTL Not Cataloged Dataset Error
OMVSEX Open Edition/MVS Execution
COND=J COND= was specified on JOB card
OTHER Any other ABEND condition
If you have an IMACPDB member in your USERID.SOURCLIB, it
must be removed and instead you use the new 16.04+ design
that lets you add variables to PDB.STEPS/JOBS/PRINT with
%LET ADDxxxx= syntax (placed in your IMACKEEP member) as
described in the text of Change 16.341. This is because
to support CONDCODE, a new dataset WORK.CONDCODE is now
created in _PDBSUMS, but your old IMACPDB will override
that with the old logic, causing a SAS error message:
ERROR: FILE WORK.CONDCODE.DATA DOES NOT EXIST.
MXG now protects execution errors by creating a
zero-observation WORK.CONDCODE dataset just before
_PDBSUMS is invoked, but if your IMACPDB is in place, you
will end up with CONDCODE always zero in your PDB.JOBS
dataset. (No matter what you do, the CONDCODE in
PDB.STEPS is always correct!).
Change 16.182 Revised logic because %VMXGDEL did not always delete the
VMXGDEL _Wdddddd dataset, even when it was different from the
Aug 31, 1998 _Ldddddd dataset. This left datasets in //WORK library.
Change 16.181 The label for GDES2 was corrected, and the INFORMAT of
VMACQAPM variable DMSTS was changed from $EBCDIC1. to &PD.1., and
Aug 30, 1998 the INPUT of DIIDLT was changed from &PD.6. to &PD.6.8,
as it caused the value of PCTIOPBY in dataset QAPMDIOP
to be 10**8 too large.
Thanks to Colin Bowen, Old Mutual, SOUTH AFRICA.
Change 16.180 The %BLDNTPDB macro for NTSMF processing is structurally
BLDNTPDB functional for building daily, weekly, monthly PDBs or
IMACNTSM for ad hoc analysis. Some reports exist, more to come!
TYPENTSM -By default, %BLDNTPDB now will read your raw NTSMF data,
TYPSNTSM (KEEPERS= or DROPERS= can be used if you don't want ALL),
Sep 5, 1998 then SORT what you kept to your PDB, then create the
PDB.NTINTRV at the raw data's interval, then create the
PDB.ASUMNTIN summary hourly interval dataset, then copy
your PDB datasets into the correct day-of-week library,
and then print and graph the daily reports. Additional
arguments RUNWEEK=YES or RUNMNTH=YES can be specified to
create the WEEKLY, MONTHLY and TREND libraries, and all
parameters are described in the BLDNTPDB member itself.
For example, if you wanted no reports or summary data,
but want only the four datasets PROCESS, PROCESSOR,
MEMORY, and LOGLDISK, you would use this invocation:
%BLDNTPDB(KEEPERS=NTPROC NTPROR NPMEM NTLDSK,
RUNNTINT=NO,ASUMDUR=NO,RPTDAY=NO);
to read those four objects and sort them into the PDB.
There are more reports to be added, and eventually the
logic will figure out when it is so a single invocation
can be used in every day's run, but that's a while away!
-Member TYPENTSM now only reads the NTSMF data and writes
to the default WORK location using the _WNTdddd macros;
TYPENTSM no longer sorts nor writes to the _LNTdddd macro
names, because new member TYPSNTMS (with the "S" instead
of the "E" to indicate "SORTs") performs the SORTs and
invokes NTINTRV to create PDB.NTINTRV.
If you were using TYPENTSM for your daily processing, you
should now use TYPSNTSM instead.
Member IMACNTSM no longer overrides the _L definitions.
Change 16.179 -SAS Version 7 incompatibility - long variable names.
VMXGSUM SAS Version 7 supports long variable names, and changed
Aug 28, 1998 the length of variable NAME (created by PROC CONTENTS)
Sep 8, 1998 from 8 to 32. MXG uses PROC CONTENTS in VMXGSUM and
expected 8-bytes; there is also a new SAS V7 warning when
different length variables are merged, and all of these
V7 "features" conspire to change the job condition code
from zero to four, which is just enough to cause your job
scheduling system to take notice of the change! The MXG
solution to this incompatibility between V6 and V7 is to
insert the statement LENGTH NAME $8 ; after the first
two statements DATA VAR1 (KEEP=NAME); in member VMXGSUM,
as that forces SAS to expect length 8 (and it is NOT my
intention to use long variable names in MXG, certainly
not in this millennium!).
-SAS Version 7 enhancement - OPEN=DEFER on SET statement.
A long-wanted Version 7 enhancement, OPEN=DEFER, lets you
read several datasets from different weekly PDBs using
only one tape drive:
SET TAPE1.JOBS TAPE2.JOBS TAPE3.JOBS OPEN=DEFER;
However, inside VMXGSUM, if you used this logic for
your input, and those datasets are on tape and KEEP=
logic was also used, VMXGSUM could have caused
unnecessary tape mounts, as it tries to figure out
what data is where, but VMXGSUM has no real awareness
of the individual datasets, and we are still examining
the best solution, but this revision now recognizes
the OPEN=DEFER parameter (and note it is not enclosed
in parenthesis, since it is a SET option and not a
dataset option. It might be that the best fix will be
to build the output keep list rather than the input
list when processing a tape, but that still is under
investigation. The caveat is that if you use the
OPEN=DEFER syntax with VMXGSUM, there will be multiple
mounts if the OS datasets are all multi-volume and the
default KEEPALL=NO is used.
With this change, MXG 16.04 or later is required for MXG
to execute under SAS Version 7. See MXG Newsletter, SAS
Notes for additional Version 7 Compatibility Issues.
-VMXGSUM now correctly figures out where the WORK option
points, so we can do housekeeping without erasing what
you just created. On an MVS system the value of the WORK
option returned by PROC SQL is the DDNAME/LIBREF "WORK",
but on Unix and PCs you get a full path name, for example
"!sasfolder\saswork" or "c:/sas/saswork" depending on the
platform. This change supports these idiosyncrasies.
"Line generated by the macro variable "TEMP01"
followed by E:\SASWORK.M was fixed by this change.
Change 16.178 MXG 16.03 only. Variables added with _PDBADD2/_PDBADD3
BUILD005 were not added to PDB.STEPS or PDB.JOBS because ACCOUNT
Aug 26, 1998 dataset was not output in the new architecture. In both
members, OUTPUT ACCOUNT; was added before _EDBJOBS;
Thanks to Dave Gibney, Washington State University, USA.
Change 16.177 Support for Microsoft Terminal Server 1.0 adds new data:
VMACNTSM for NT 3.51 and Service Pack 5A these were added:
Aug 28, 1998 Dataset SYSTEM:
ICABYTRT='TOTAL*ICA BYTES/SEC'
WINSTNAC='ACTIVE*WIN*STATIONS'
WINSTNIN='INACTIVE*WIN*STATIONS'
Dataset PROCESS:
IDLOGON ='ID*LOGON'
IDUSER ='ID*USER'
-Cosmetically, the LABEL statements in macro _CDENTSM were
consolidated and alphabetized so that they will control
the alphabetizing of the variables in each dataset.
Thanks to Bill Feeney, Hennepin County, USA.
Thanks to Leigh Ann Payne,Wachovia Operational Services, USA.
Change 16.176 MXG 16.03 only. VMXGINIT "TALO" comments were corrected
VMXGINIT and IMACKEEP spelling corrected. Labels added for the
BUIL3005 SPIN datasets.
BUILD005
Aug 21, 1998
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Change 16.175 Support for Soft Audit's "Installed Products File" will
EXSFTPR read from filename XPPROD to create new MXG dataset
VMACSFTA SOFTPROD to track installed products.
VMXGINIT
Aug 19, 1998
Thanks to Normand Poitras, ISM, CANADA.
Change 16.174 MXG 16.03 only. The statement PUT ' DEBUG NDM .... ;
VMACNDM clearly should have been deleted.
Aug 15, 1998
Thanks to Chuck Hopf, MBNA, USA.
Change 16.173 MXG 16.03 only. Macro variable PSUNTIN was not defined.
VMXGINIT It must be added to the GLOBAL statement and then %LET to
Aug 15, 1998 DEFAULT.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 16.172 MXG 16.03 only. The LABEL='NTTUDP: ...' should have been
VMACNTSM 'NTUDP: ...', as the DDDDDD portion of the label is used
Aug 15, 1998 to drive the _S sort macros.
Thanks to Greg Jackson, National Life of Vermont, USA.
======Changes thru 16.171 were in MXG 16.03B4 dated Aug 11, 1998======
Change 16.171 Support for IMS Log processing for IMS 6.1. As stated in
ASMIMSL6 MXG Newsletter TWENTY-FIVE, this code is not officially
JCLIMSL6 supported. This code has not been fully tested, but the
VMACIMSA ASMIMSL6 program's output was read, and the VMACIMSA code
Aug 11, 1998 changes to the 07 and 08 record were lifted from VMACIMS.
I have high hopes this code will work without problem,
but plan validation against IMF records in September,
as I ran out of time to squeeze this code in as it is!
The logic in ASMIMSL6 stores the MSC time for ARRTIME
when there is an MSC segment, which I think is a change
from ASMIMSL5 - does it make any difference in your data?
Thanks to Dario Franceschi, Nordbanken, SWEDEN.
Thanks to Sal Fazio, IBM Global Services, USA.
Change 16.170 Support for the NCR Teradata DBS performance data. This
ADOCTDTA user contribution works, and even has documentation in
JCLTDTA ADOCTDTA, and the JCL will need to be tailored. This
TYPETDTA was added to MXG 16.03B4 at the last minute and has not
Aug 11, 1998 yet been added to the MXG QA stream.
Nov 12, 1998 Nov 18: Members JCLTDTA and TYPETDTA actually added!
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 16.169 Member ASUMTALO did not copy SPIN.SPINTALO into the PDB
ASUMTALO library for backup, but it should have, so I added:
Aug 11, 1998 PROC COPY IN=SPIN OUT=&PDBMXG;SELECT SPINTALO;
BUILDPDB has backed-up its SPIN datasets into the PDB
since Version 8, and all MXG components that use the
SPIN library will now also backup their SPIN datasets.
Why backup the SPIN library? Because if your daily PDB
job fails, you can recover by copying all of the SPINxxxx
datasets from your last good PDB library into your //SPIN
library: PROC COPY IN=PDB OUT=SPIN; SELECT SPIN:; and
then pick up processing with the SMF data from the day
after the last good PDB was built!
Thanks to Kevin Marsh, AT&T Solutions EMEA, ENGLAND.
Thanks to David Ehresman, University of Louisville, USA.
Change 16.168 Variable SMF88RAT was described in Change 13.156, but was
VMAC88 not created in dataset TYPE88 until this change.
Aug 11, 1998
Thanks to Martin Peck, iT-Austria, AUSTRIA.
Change 16.167 Minor. Cleaned up VMACUNIK so it will execute under MVS,
VMACUNIK just for MXG test stream. The real member for UNIKIX on
JCLQAJOB MVS is unchanged, VMACUNIA.
Aug 8, 1998
Change 16.166 Variables SMSHWMDS 'HWM SIZE' and SMSHWMDT 'HWM TOTAL'
ANALCISH were reversed in their INPUT statement; DT is first, then
VMAC110 DS is input. ANALCISH reports were correct, because it
Aug 7, 1998 used the wrong names, so now it too must be changed to
use DS for Peak DSA Size and DT for Peak DSA Total.
Thanks to Andrew Adams, Australian Taxation Office, AUSTRALIA.
Thanks to Craig Magill, Australian Taxation Office, AUSTRALIA.
Change 16.165 Type 79 subtype 15 (IRLM Long Lock) records contain only
VMAC79 two triplets, and IBM's documentation makes no note that
Aug 7, 1998 there are only two, and since all other subtypes had 3,
MXG expected three. Now, the number of triplets is
tested and only two are input when there are only two!
Thanks to Kenneth C. Jones, Boeing, USA.
Change 16.164 MXG's MXGTMNT monitor misses too-fast VTS tape mounts.
ASMTAPES Scratch Tape Mounts to VTS (Virtual Tape System) can be
Aug 11, 1998 satisfied in much less than the 2-second sampling rate.
Tests at 1/2 (500ms) and 1/10 (100ms) will be made, but
the internal VTS log shows the Mount and Ready times can
be in the same .01 second. It might be that the software
delay can be captured with the 100ms sampling even when
the VTS itself thinks it took less time, but it may also
require a significant change to the architecture of the
MXG Tape Mount monitor - we may have to capture the Mount
message as an event to capture these too-fast mounts!
There was no change made by this change, but this text
will be revised when the tests have been completed.
VTS is a pretty slick technology, even if it causes me
design problems in the tape mount monitor. In the day
in question, MXG missed about 300 mounts out of 1200.
Note: Member ASUMTAPE was added after this change, and
corrects the need to reduce the ASMTAPE interval time.
Change 16.163 Variables JESNR, INITTIME, and READTIME were INPUT but
VMACTMNT not kept in TYPETMNT dataset, so Mount and Step records
Aug 6, 1998 can be combined.
Change 16.162 This analysis is not complete, but the program matches
ANALVTS SMF type 30 DD segment for tape allocations, the MXGTMNT
Aug 6, 1998 Tape Allocation SMF record, the MXGTMNT Tape Mount SMF
record, and the type 21 Tape Dismount record to construct
a complete picture of each tape allocation and mount.
The program needs some cleanup to deal with long running
tasks and steps that span the time interval in the SMF
file (start-before-end-in and start-in-end-after), but
for events which all occur within the SMF file, it's
pretty accurate. If you are interested, run the program
and give me a call - there are lots of ways these tape
events can be analyzed, now that we have total duration
of allocation and mount and usage and bytes read/written!
The ultimate name may change; this program was used to
verify that MXGTMNT was missing Virtual Tape System tape
mounts - see Change 16.163 and 16.165.
Thanks to Chuck Olsen, Alltel, USA.
Thanks to Ken Lamonda, Alltel, USA.
Change 16.161 Variables ALOCTIME and LOADTIME were added to the KEEP
VMAC30 list for dataset TYPE30_D (a/k/a PDB.DDSTATS) to support
Aug 6, 1998 the ANALVTS utility.
Change 16.160 Support for Landmark's SQL/CAPTURE type 'D6' record adds
EXTMDD6 three new datasets:
EXTMDD6B TMDBD6 - Base segment stats, CPU, counters, etc.
EXTMDD6S TMDBD6B - Per Buffer Pool counts
VMACTMDB TMDBD6S - SQL Text
Aug 4, 1998 Variable D6RECNR will be common for all observations in
the Buffer Pool and SQL Text datasets for each record and
is the merge variable to use to match observations.
This was challenging: the SQL text field has either text
in ASCII or in EBCDIC but there is no flag. I now test
the first character of the first segment for EBCDIC or
ASCII, and use that mode to decode the rest of the 100-
byte segments of SQL text. Initially, I tested the first
character of each 100-byte segment, until I hit a segment
starting with '6D'x that is an ASCII "m" or an underscore
in EBCDIC. Using the start of the SQL text will decode
correctly since the start text is real text characters.
(And the '6D'x was actually an EBCDIC underscore!).
Thanks to Robin Tremblay, Regie des Rentes du Quebec, CANADA.
Change 16.159 The calls for OUTCODE and OUTCODE1 exits were moved to be
VMXGSUM after the calculation of DURATM so that its value would
Jul 31, 1998 be available in those exits.
Change 16.158 A new analysis of SMF Write Rates (MEGABYTES at 1/10/100
USMFRATE second intervals) reads your SMF file and produces print
Jul 31, 1998 reports and an export dataset to be sent if needed. If
you have had SMF Buffer shortages, this analysis will let
you know how much SMF data is being produced and how well
it is being handled by your DASD and SMF Buffering. Read
the comments, run the program, and send the listing. An
MXG Technical Article on this subject will follow soon.
Change 16.157 MXG CONFIG member's value of VMCTLISA=40K can cause a 0C4
CONFIG ABEND in function VMZGMAE that goes away if VMCTLISA=60K,
Jul 29, 1998 and the SAS default value in 6.09 is now VMCTLISA=160K!
That old value for VMCTLISA as well as old values for the
VMPAISA VMPAOSA VMPBISA VMPBOSA PSUM SORT31PL PROCLEAVE
and SYSLEAVE options were set years ago for SAS 6.06, but
they are now deleted from member CONFIG so that MXG will
no longer override those SAS memory options.
Thanks to Lee West, Direct Line, ENGLAND.
Change 16.156 Variable R723CQDT in TYPE72GO was misspelled R723CDQT.
VMAC7072 Now, both variable names exist to protect for past usage
Jul 29, 1998 but R723CDQT is the correct spelling.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 16.155 Support for BGS I/O Monitor Version 5.1.0 (COMPATIBLE)
VMACBGSI added new triplet to support of Goal Mode changes that
Jul 27, 1998 creates new B1MONSRV dataset (I/O by Device by SRVCLASS),
and the new version supports the year 2000.
Change 16.154 ML-17 of MXGTMNT Tape Mount and Alocation Monitor adds:
ASMTAPES - SMF interval support; MXGTMNT now listens for ENF 37
Jul 27, 1998 and automatically synchronizes to your global interval
- Initialization messages are issued when MXGTMNT is run
as a batch job instead of a started task.
- Error recovery recursion was improved.
- USINGs were cleaned up to prevent HLASM warning message
and eliminate CC=4 due to USINGs.
Note that ML-16 was never generally distributed.
Change 16.153 The CICS GMT offset value, MCTMNTAD, is only four bytes,
VMAC110 causing it to be truncated by as much as 1.04 seconds.
Jul 27, 1998 Since MCTMNTAD is added to STRTTIME/ENDTIME to convert to
the local time-of-day, they were also slightly off. But
now I see there is an 8-byte GMT offset value MCTMNDTO
that is exact and eliminates the truncation, so now the
variable MCTMNTAD will be set equal to MCTMNDTO as long
as the two values are within two seconds (to protect for
a zero value in DTO?), by the addition of the line:
IF ABS(MCTMNTAD-MCTMNDTO) LT 2 THEN MCTMNTAD=MCTMNDTO;
immediately after the MCTMNTAD=1.048576*MCTMNTAD line.
(Back in MXG 14.14 I had tried to make MCTMNTAD exact
with MCTMNTAD=3600*FLOOR((MCTMNTAD+900)/3600) logic, but
but I had removed that approximation by MXG 15.15, and it
was the comparison between MXG versions that provided
this opportunity to use the exact GMT offset value.)
Thanks to Andrea C. Schiro, Duke Energy Company, USA.
Change 16.152 These archaic members that were needed only in the past
VMAC110M are deleted to save space and avoid wasting your time
VMAC110S reading their comments to find out what they were! The
VMACRRTM VMAC110's were for SAS 5.18, VMACRRTM became VMACROSC,
VMACZRB VMACTMS became VMACTMS5, and VMACZRB became VMACRMFV.
Jul 26, 1998
Change 16.151 Macro _CMFDATA was still defined in these members, but it
IMACCMF has not been referenced in MXG since Change 7.119, when
VMACCMF Boole added bits by which variable PRODUCT could be set
Jul 25, 1998 to 'CMF...' instead of 'RMF'. The macro definition and
its now-incorrect comments have been deleted.
Thanks to Dan Worsham, Ohio Bureau of Worker's Compensation, USA.
Change 16.150 Variable TYPETASK='A ' for both ASCH and OMVS address
VMAC30 spaces, but in those SMF records that contain the SUBSYS
VMAC32 field, it contains either ASCH or OMVS, so it makes sense
VMAC42 to set TYPETASK=SUBSYS when TYPETASK starts with an 'A'.
VMAC91 There are other SMF records that contain TYPETASK that do
Jul 23, 1998 not contain the SUBSYS field: VMAC's 434, 6, 26J2, 26J3,
BETA, CTLD, IPAC, NNAV, PROS, SFTA, TMNT, X37, XPSM, so
they will still have TYPETASK='A '; While both type 6
26 have a variable SUBSYS, it is not the MVS SUBSYS field
but the PDB.JOBS/STEPS/PRINT datasets will now have the
correct TYPETASK value, from the type 30 records.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 16.149 The SHORT ABAR message still existed after Change 16.025
VMACHSM because an INPUT @15+OFFSMF @; is also needed after the
Jul 20, 1998 ELSE IF 15 LE FSRTYPE LE 16 THEN DO; statement.
Thanks to Alan Freed, ADP, USA.
Change 16.148 Dataset DB2STATR contained repeated outputs of the first
VMACDB2 QLST segment because CHANGE 14.195 was dropped somewhere
Jul 16, 1998 after MXG 14.14 and was not in MXG 15.15. Insert the
statement OFFQLST=OFFQLST+LENQLST; immediately before the
END; /* END TRACE SECTION FOR TYPE 100 SUBTYPE 0*/ as was
described in CHANGE 14.195.
Thanks to Warren E. Waid, JC Penny, USA.
======Changes thru 16.147 were in MXG 16.03B3 dated Jul 15, 1998======
Change 16.147 NETSPY 'N' records from old release 4.4 were dropped by
VMACNSPY MXG between MXG 14.14 and MXG 15.15, because I did not
Jul 9, 1998 think anyone was still using 4.4. The NSPYREC='N' logic
had been changed to use only NSPNRECI in recognizing the
subsubtype, but back with 4.4, NSPNRECI is always zero,
so I have had to put back the test for NCPELTYP and
NSPNSUBT to support these old records.
Thanks to Kevin Marsh, AT&T Solutions EMEA, ENGLAND.
Change 16.146 -VMXGSUM syntax for the "DATETIME" variable was kludgy;
VMXGSUM you had to say DATETIME=xxxxTIME, and then use DATETIME
Jul 9, 1998 in the SUMBY= list instead of the real xxxxTIME variable
name. This was needed so that the variable DATETIME
could carry the modified datetime values generated by
VMXGDUR when you specified INTERVAL= and DATETIME= to
create a new interval value. And, in order to retain
the original labels for the variable used in the
datetime calculations, you also had to use an ID
statement and then manually drop the variable DATETIME.
This change that logic; you no longer need to code the
name "DATETIME" in the SUMBY or ID arguments. You only
need to specify the argument DATETIME=xxxxTIME, to tell
VMXGSUM what variable to use as the datetimestamp value,
and now you can use the real xxxxTIME variable name in
the SUMBY= argument. This change is backward compatible
and will work properly if DATETIME is still used in the
SUMBY= list, but using the real variable name is better!
-VMXGSUM arguments TEMP01=,TEMP02=, and TEMP03= will still
be used to send intermediate WORK files to those DDnames
(for performance or space considerations), when they are
coded on the VMXGSUM invocation, but now you can redirect
the intermediate files externally, by %LETting the new
MXGTMP1, MXGTMP2, or MXGTMP3 global macro variables
to the desired DDname, before the include of the program
that invokes VMXGSUM. For example,
%LET MXGTMP1 = TEMPDD1 ;
%LET MXGTMP2 = TEMPDD2 ;
%INCLUDE SOURCLIB(ASUMDB2A);
Change 16.145 Support for APAR OW31281 adds HSM statistics for RECALL
FORMATS RECOVER, and additional fields to the DSR and FSR SMF
VMACHSM records. New DSR variables DSRNRCL DSRNRCV in dataset
Jul 7, 1998 HSMDSRST measure the number of times when RECALL/RECOVER
was satisfied by a tape that was already mounted. New
FSR variables FSRDEVCL FSRDEVTY FSRDSMNT FSROFF83
FSRRECRE FSRSCNAM in dataset HSMFSRBO provide device
class and device type, the number of tape mounts that
were avoided thru recall/recover, flags, number of tries
to recall, and the Storage Class Name.
The APAR also provided new values 19 and 20 for the
FSRTYPE field that were added to format MGHSMFU, but
values 15-18 have been skipped or are undocumented!
Thanks to Dave Cogar, U.S. Department of Transportation, USA.
Change 16.144 Significant enhancement uses Change 16.134 architecture
BLDNTPDB to build daily/weekly/monthly/week-to-date/month-to-date
Jul 7, 1998 PDBs for NTSMF data, with some simple reports implemented
and more to come. This member is documented in ADOCNTSM.
Change 16.143 One GRAPH of Tape Mounts had seconds instead of hours on
GRAFTMNT the x-axis, and GRAFTMNT did not accept SASGRAPH=YES if
Jul 7, 1998 specified (but using the default SASGRAPH=, did work).
Thanks to Billy Westland, Litton Enterprise Solutions, Inc.
Change 16.142 This utility, used only in JCLTEST6 to get 10 SMF records
VMXGGETM of each type and subtype, is now expanded to expect 512
Jul 7, 1998 subtypes, as DB2 type 102 records exceeded 255 subtypes.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.141 The DURATM calculation in ASUMCACH was revised. Because
ASUMCACH the TYPE74 data can contain data from many systems, the
Jul 7, 1998 DURATM could have been inflated by the number of systems
that shared that volume with activity. Since you must
chose a single source system for the TYPE74CA dataset,
(in EXTY74CA), its DURATM is now used in ASUMCACH.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.140 The weekly interleave of ASUMDB2B in WEEKBLDT failed with
WEEKBLDT wrong sort order. The correct sort variables are:
Jul 6, 1998 SYSTEM QWHSSSID QWHCPLAN QWHCAID QWHSLOCN
QWHCCV QLACLOCN QWHCCN QBACPID QWACBSC
SHIFT
Thanks to Scott Snyder, First Bank, USA.
Change 16.139 Invalid CMF User "240" SMF record has 20 Cache Statistics
VMACCMF segments (CMF27CCN=20) but only 19 Cache Device segments
VMACCMF (CMF27DIN=19); the device address in the 1st CCN segment
Jul 6, 1998 does not have a corresponding DIN segment. This is a CMF
record error that caused INPUT STATEMENT EXCEEDED error,
but MXG now compares device addresses in the two segments
instead of assuming they matched as documented, and MXG
circumvents their error. Boole fixes BMP6301 (4.3.0) and
BPM6303 (5.2.2) exist to correct the record, now that I
have circumvented their error!
Thanks to Ken Williams, Sun Life of Canada, ENGLAND.
Change 16.138 Landmark CICS Version 2 native records protection added.
VMACTMO2 A message is now printed if you try to read compressed
Jul 1, 1998 records without having installed the EXITMON6 decompress
exit.
Thanks to Glenn Delvecchio, Stelco Inc, CANADA.
Change 16.137 NOTE: INVALID ARGUMENT TO FUNCTION SQRT apparently occurs
ASUMCICS due to very small differences (9th digit) in calculating
TRND72 the Standard Deviation as SQRT(A-B) when N=1. A=B to 14
Jun 29, 1998 14 places with PROC PRINT, but A-B is different in 9th
place! Since the real STD is zero in these cases, the
logic now tests A-B for positive before SQRT() and sets
STD=0 if A-B is not GT zero.
Thanks to Jon Whitcomb, Great Lakes Higher Education Council, USA.
Change 16.136 DFSMS 1.4.0 added (compatibly) new variables WFSCPUTM and
VMACHSM WFSRACCT in HSMWWFSR dataset, so you can measure CPU time
Jun 26, 1998 used by HSM for ABARS ABACKUP/RECOVERY processing. If
you can figure out how to populate that WFSRACCT account
field, it might be useful too!
Thanks to Michael E. Friske, Fidelity Investments, USA.
Change 16.135 VTS variables SMF94VBA and SMF94VLA were mis-documented
VMAC94 by IBM. They are not the "Midnight" values of data bytes
Jun 26, 1998 and virtual volumes, but are the "End of Interval" values
so their label was corrected.
Thanks to Joseph G. Ogurchak, Westfield Companies, USA.
Change 16.134 -The new &MACKEEP and IMACKEEP MXG architecture is here!
BUILDPDB "MACKEEP" Architecture of MXG-built SAS "Datasets"
DIFFXXXX
DOCMXG Everything about the creation of an MXG dataset is now
fully externalized, and all dataset tailoring can now be
IMACXXXX EDITed into a single member, IMACKEEP (instead of using
TYPEXXXX each product's IMAC), or dataset tailoring can be done
TYPSXXXX "instream" using %LET MACKEEP= syntax, with no EDIT!
VMACXXXX
VMACXXXX All MXG datasets can be referenced using the new syntax
VMXGDEL &Pdddddd.DATASET and you can use %LET Pdddddd= MYDD;
VMXGINIT to change the destination to which a dataset is written
VMXGINV or the library from which it is to be read from.
VMXGLBIN
VMXGSUM Member DOCMXG contains the following description, and
Jul 4, 1998 additional discussion of the new architecture, and will
Sep 3, 1998 be the primary documentation of MXG syntax and design.
"MACKEEP" Architecture of MXG-built SAS "Datasets"
Fifth Draft Sep 3, 1998
"Product Suffix"
The xxxx suffix of the TYPExxxx/VMACxxxx/IMACxxxx/
ASUMxxxx/GRAFxxxx/ANALxxxx members for a "product":
Product xxxx Datasets
SMF Type 0 0 TYPE0
SMF Type 30 30 TYPE30_1,TYPE30_4,..
SMF Type 74 74 TYPE74,TYPE74CA,TYPE74CF,..
SMF 110 SMF 110 CICSTRAN,CICINTRV,CICFCR,..
NTSMF NTSM PROCESS,NTINTRV,PROCESOR,..
An MXG "Product" is defined by its VMACxxxx member,
which defines all of the macros for product xxxx, and
defines all datasets MXG builds from that product.
You run %INCLUDE SOURCLIB(TYPExxxx); syntax to read a
product's records and create all MXG SAS datasets in
the //WORK file. You run %INCLUDE SOURCLIB(TYPSxxxx);
to read the records and create SORTED output, normally
into the //PDB file. TYPSxxxx instead of TYPExxxx is
now the recommended program to use for a product.
IMACxxxx product members are now used only to override
the macros that you want to change. Definitions of
the Product Macros (_IDxxxx, _Nxxxx, and _Sxxxx) and
Dataset Macros (_Ldddddd, _W, _K, _E, _B, _Sdddddd)
were moved from the IMACxxxx into the VMACxxxx member.
Product IMACxxxx members are now only comments listing
the product's xxxx and its dddddd and DATASET names.
Even better and also new, all tailoring changes can
now be EDITed into only one place, member IMACKEEP,
instead of having to EDIT a separate IMACxxxx member
for each product. (Your old IMACxxxx's will still be
honored, but IMACKEEP is called after the IMACxxxx, so
existing IMACxxxx changes can still be overridden.
And still even better and also new, especially if you
don't like having to EDIT and SAVE a member to tailor,
you can now do it "on the fly", in your SYSIN stream,
by %LETting the new "&MACKEEP" macro to change any of
the dataset macros, including the Exit Member code to
select which observations are written!
And best of all, if you only want to change the DDNAME
to which a sorted DATASET is written, there is a new
&Pdddddd macro for each DATASET that you can %LET in
your SYSIN with this syntax:
%LET PTY74CA=TAPE74CA ;
%INCLUDE SOURCLIB(BUILDPDB);
to create your normal PDB, except that the TYPE74CA
dataset would be written to TAPE74CA.TYPE74CA instead
of being written to the default of PDB.TYPE74CA.
"DATASET"
SAS "Table Name" or SAS DATASET NAME, 8-characters,
are defined in the dataset's _L macro. Examples are
TYPE0, TYPE30_1, TYPE74CA, CICSTRAN, PROCESS, NTINTRV.
"Dataset Macros"
_L, _W, _K, _E, _B, _S, one set for each DATASET, are
defined in the VMACxxxx member for the product:
_L - "&P OUTPUT/SORT Destination LIBREF" macro
_W - "Work Library Dataset Name" macro
_K - "Keep/DROP Dataset Tailoring" macro
_E - "Dataset Exit" macro
_B - "BY List of Variables" macro
_S - "Dataset PROC Sort" macro
They can be overridden in &MACKEEP/IMACKEEP/IMACxxxx.
"Dataset Suffix"
The six character "dddddd" dataset suffix is a unique
string for each dataset. It is used in the old-style
_Ldddddd/_Wdddddd/_Kdddddd/_Edddddd/_Bdddddd/_Sdddddd
"dataset macros", is the suffix of the EXdddddd exit
member name, and is the suffix of the new &Pdddddd.
The dddddd values are encoded. For datasets starting
with TYPE (TYPE0, TYPE70PR, TYPE74CA) the dddddd is
TYaaaa (TY0, TY70PR, TY74CA). Other datasets encode
dddddd= yyzzzz/yyyzzz/yyyyzzz value with y= product
and z= dataset. CICS 110's have dddddd=CICTRN/CICINT
for CICSTRAN/CICINTRV datasets where yyy=CIC.
Similarly, NTSMF encodes dddddd as NTzzzz, so NTBROW
and NTPROR are dddddd for BROWSER and PROCESOR.
The dddddd value of each MXG dataset is defined in the
VMACxxxx members, but the IMACxxxx for the product is
the documentation of the dddddd and DATASET values.
"&PDB/&P macros"
The seven-character Pdddddd macro variable name, one
for each DATASET, defines the DDNAME/LIBREF to which
that sorted DATASET will be written. First, MXG
writes each DATASET to the //WORK file, using the
old-style substitution macro _Wdddddd:
MACRO _Wdddddd DATASET %
MXG then SORTs from the _Wdddddd to the _Ldddddd macro
that contains the new-style &Pdddddd macro variable:
MACRO _Ldddddd &Pdddddd..DATASET %
The default Pdddddd value, usually "PDB", is set by
VMXGINIT at MXG initialization, so now you can use a
%LET statement in you program to change the output
destination DDname for a dataset:
//SYSIN DD *
%LET PTY74CA = MYDD74CA ;
%INCLUDE SOURCLIB(TYPE74);
and you no longer have to EDIT into an IMAC member.
Most sites should never need to change much else!
(Note that while references use &Pdddddd syntax, the
ampersand is not used in the %LET statement.)
"Product Macros"
_IDxxxx, _Nxxxx, _Sxxxx, _VARxxxx, _CDExxxx members
are defined in the VMACxxxx member for the product:
_IDxxxx - "Record ID macro for user SMF records"
_Nxxxx - "_NULL_ all datasets in this product"
_Sxxxx - "SORT all datasets in this product"
_VARxxxx - "Variables/Datasets structure macro"
_CDExxxx - "Code to Decode structure macro"
The _VARxxxx and _CDExxxx macros should NEVER be
changed, as they are the heart and soul of MXG code;
all tailoring macros exist precisely so that you can
change MXG without changing the _VAR or _CDE macros!
The _IDxxxx macro sets the record number for user SMF
records, and must be changed in IMACxxxx/IMACKEEP or
with MACKEEP= logic to read product xxxx records.
The new _Sxxxx and _Nxxxx macros make tailoring easy.
The _S Sorts all datasets, the _N Nulls all datasets:
MACRO _S74 MACRO _N74
_STY74 MACRO _WTY74 _NULL_ %%
_STY74CA MACRO _WTY74CA _NULL_ %%
... ...
% %
If you %INCLUDE SOURCLIB(TYPS74) or run BUILDPDB, all
eleven TYPE74zz datasets are created and sorted. Now,
if you only want the TYPE74 dataset, and you want to
write it to the "TY74TAPE" DD name (perhaps, a tape?):
//SYSIN DD *
%LET PTY74=TY74TAPE;
%LET MACKEEP=
_N74
MACRO _WTY74 TYPE74 %
MACRO _S74 _STY74 %
;
%INCLUDE SOURCLIB(TYPS74);
and only dataset TY74TAPE.TYPE74 would be created, in
the WORK file, then sorted into the "PDB" default, and
then WORK.TYPE74 is automatically deleted.
The %LET PTY74 sets the Pdddddd macro variable value
with the output LIBREF/DDNAME of the desired dataset.
In the %LET MACKEEP=, the _N74 invocation changes the
default _Wdddddd dataset names to _NULL_, and then the
MACRO _WTY74 override "un-_NULL_'s" that dataset so
TYPE74 will be created, and the MACRO _S74 definition
contains only the _Sdddddd sort macro for the TYPE74
dataset that you want created! It's that simple.
"Old-Style Macro"
All MXG Old-Style macros start with an underscore.
The definition MACRO _oldstyl whatever %
will have "whatever" substituted when SAS sees the
string "_oldstyl" at compile time. "Whatever" can
contain characters and symbols to be used as parts of
SAS statements, or can be entire blocks of SAS code.
If "whatever" contains a percent-sign it must be a
double-percent in the MACRO definition. As SAS uses
the last MACRO definition encountered, any old-style
macro can be redefined with &MACKEEP, or in IMACKEEP.
"Macro Variable"
SAS Macro Variables are also used to substitute stored
text, but with different syntax. They start with &
when they are referenced, but that ampersand is not
used when defined with %LET or CALL SYMPUT statements:
%LET PDByyyy = value ;
or inside a DATA step, you can use SYMPUT:
CALL SYMPUT('Pdddddd','value');
For MXG's &Pdddddd macros, "value" is a LIBREF/DDNAME
for the output DATASET, which can always be %LET.
But for &MACKEEP macro, "value" can be anything from
the (most likely) redefinition of an old-style macro:
%LET MACKEEP = MACRO _IDHSMDS = 240 % ;
to the (less likely) lines of SAS statements to create
new variables, select observations to be output, etc.,
(as when you tailor a "Dataset Exit" _Edddddd macro).
If the text does not contain a semicolon, the simple
syntax of %LET MACKEEP = value ; is used,
even when there are % or %% in the value text.
But if MACKEEP= value contains any semicolons, then
syntax of %LET MACKEEP= %QUOTE( value ) ;
must be used:
And, if the value contains single-percent signs,
they must be doubled inside the %QUOTE function.
And, in a new quirk of the SAS macro language,
if the text contains double-percent-signs (as in
%%INCLUDE in the _Edddddd Dataset Exit macros),
those double-precents must be triple-percents!!
CICSTRAN Example.
You want to read type 110 CICS records but only create
CICSTRAN observations for a specific APPLID, and you
want to write them (unsorted) to the CICSTRAN DDNAME.
The product IMACxxxx member documents which dddddd to
use for which dataset, but in the expected IMAC110
member, it admits that the IMACxxxx for SMF type 110
is the inconsistently-named IMACCICS member, and there
you find out that the dddddd value for the CICSTRAN
dataset is "CICTRN". Then you can use:
// EXEC MXGSAS
//SMF DD DSN=smf.data,DISP=SHR
//CICSTRAN DD DSN=output,DISP=(,CATLG)
//SYSIN DD *
%LET MACKEEP=
%QUOTE(
_N110
MACRO _WCICTRN CICSTRAN.CICSTRAN %
MACRO _ECICTRN
IF APPLID='CICP' AND TRANNAME='XYZ1' THEN DO;
%%%INCLUDE SOURCLIB(EXCICTRN)
END;
%
)
;
%INCLUDE SOURCLIB(TYPE110);
The _N110 invocation nulls out all type 110 datasets,
so we then re-instate MACRO _WCICTRN so that it's data
is created, and by prefixing the dataset name CICSTRAN
with "CICSTRAN.", that dataset will be written to the
//CICSTRAN DD instead of //WORK, so its "full" name is
CICSTRAN.CICSTRAN.
The %QUOTE ( ) syntax is used to add a DO group around
the %%%INCLUDE, and any number of SAS statements could
be used inside the _ECICTRN macro in this better way:
Note that percent-signs were increased by one due
to the QUOTE ( ). Also, don't use "DELETE" logic
in your "Dataset Exit" logic, because records can
contain multiple transaction segments, and the
DELETE would prevent MXG from looking at the rest
of the transactions in the record. Instead, always
cause an OUTPUT of observations you want and skip
past the ones you don't want to output.
The preceding example was revised April, 1999.
The following text describes additional changes that were
made in this redesign, and that is followed by discussion
of possible compatibility issues with past tailoring.
-VMXGINV will "Inventory" a DDNAME with PROC CONTENTS and
will extract the "dddddd" dataset suffix from the LABEL
of every dataset in that library, so we can know which
datasets exist, with their "dddddd" values, so we can
auto-drive additional processing.
-VMXGLBIN will initialize a SAS data library to match the
contents of an existing library, but all datasets in the
new library will have zero observations. This is used in
the first-time logic in WEEKLY/MONTHLY processing.
-VMXGDEL will delete a _W dataset by its dddddd token if
the library pointed to by the _Wdddddd value is NOT the
same as the _Ldddddd (output) library and dataset. This
is used after the PROC SORT to delete its input, but not
when you sort the output back into the input dataset!
-BUILDPDB/BUILDPD3 phases are externalized with new macros
_DIFFDB2, _INTRMF, _INTCICS, and _BLD005 that can be set
to blank to bypass processing. The JOBS/STEPS/PRINT
logic was externalized to BUILD005/BUIL3005, and all of
the _PDB macros are defined in BUILD005/BUIL3005 rather
than in the BUILDPDB/BUILDPD3/BUILD001 members.
-MULTIDD logic in old BUIL3005 was corrected (BUILDPD3 had
been correct all along, and now BUILDPD3 calls BUIL3005).
-New formats $MGDDDDD and $MGDDDSN map dddddd to dataset
and dataset to dddddd values.
-New macro variables MXGTMP1 thru MXGTMP5 are GLOBALed,
defined in VMXGINIT, and default to WORK. Their names
&MXGTMP1, &MXGTMP2, etc., are the "Standard" macro names
for temporary work space that you can set globally. You
used to have to code TEMP01= on the %VMXGSUM invocation,
and VMXGSUM still honors TEMP01 if coded, but now you can
use %LET MXGTMP1 = MYTEMPDD ; and VMXGSUM will use that
destination instead of the //WORK default.
-LIMITATION: If you use %LET MACKEEP= logic to redefine
old-style macros, you can't use %LET MACKEEP= again in
the same SAS execution, unless you reset the old-style
macro to itself before the second %LET MACKEEP= logic:
%LET MACKEEP= MACRO _WTY0 FIRSTDSN % ;
%INCLUDE SOURCLIB(TYPE0);RUN;
MACRO _WTY0 _WTY0 %
%LET MACKEEP= MACRO _WTY0 SECNDDSN % :
%INCLUDE SOURCLIB(TYPE0);RUN;
If you did not have that MACRO _WTY0 _WTY0 % reset, the
second %LET would have used "FIRSTDSN" for the _WTY0 and
you would have %LET MACKEEP= MACRO FIRSTDSN SECNDDSN %;
and the second MACKEEP would not have changed _WTY0!
COMPATIBILITY NOTES:
-If you used a %INC SOURCLIB(TYPExxxx); program and you
also used the IMACxxxx to change the _Ldddddd macro, the
old version wrote to your modified _L destination, while
the new version writes to the _W (work) destination.
Circumvention/workaround/the way to do it now include:
a. Use: %LET MACKEEP= MACRO _Wdddddd _Ldddddd % ;
to use your _L definition from your IMAC for the _W
destination of the unsorted dataset.
b. Change your IMACxxxx to override _W instead of _L.
c. Use new TYPSxxxx instead of TYPExxxx, to write to _W
first and then SORT to your _L destination. Since the
_S SORTS eliminate duplicate records, it is now MXG's
recommendation to use TYPSxxxx instead of TYPExxxx.
d. See notes in member INSTALL, with examples of errors.
Status in MXG 16.04:
-Except for five products, (CRAY,FRYE,RSxx,SNIF,VMXP), all
VMACxxxx members and TYPExxxx members have been revised.
-Some _Sdddddd "sort" macros still have a DATA step rather
then the PROC SORT because I don't know the unique set of
variables that will eliminate duplicates for that data.
-IMACs now contain only comments that define the dddddd
and DATASET names.
-No Beta site has had any real problems with this change!
Change 16.133 -The summarization of NETWSEGM into NTINTRV was wrong if
NTINTRV there was more than one network segment instance. Now
VMACNTSM the rate variables are summed and the maximum percent of
Jun 24, 1998 any segment is added to NTINTRV dataset as NETSxxxx.
-The number of Physical Disks is counted and added into
NTINTRV as variable NRPDISK.
-The instance field NETWSEGM was missing in the _BNTNETS
definition in VMACNTSM.
Change 16.132 Revised utility that reconstructs VB or VBS data on MVS
UDEBLOCK that was uploaded from a PC file. This utility creates
Jun 24, 1998 one record per block, so if you intend to re-read the
output file multiple times, it would be worthwhile to
reblock the output file by copying with IEBGENER or SAS.
The earlier version did not always work correctly.
Change 16.131 On UNIX, VMXGSUM fails because of UNIX forward slashes.
VMXGSUM The failure produces these messages:
Jun 22, 1998 ERROR: A character operand was found in the %EVAL....
ERROR: The macro VMXGSUM will stop executing.
The failing statement is part of MXG housekeeping:
%IF &SASSWORK NE WORK %THEN ....
where &SASSWORK is a macro variable filled in by SAS
from SASHELP.VOPTION table that under MVS contains the
value of the WORK= option, which is a DDNAME or libref.
If your WORK= option is 'WORK' we do housekeeping and
delete work files, but if your WORK= is anything else,
then we don't delete anything in your library.
This statement fails under UNIX, because under UNIX, the
&SASSWORK value does not contain a libref, but instead
has a full UNIX directory pathname, with forward slashes
that here are interpreted by the SAS %Macro Compiler as
divide-by signs, which is invalid in this context, so
VMXGSUM fails to compile under UNIX!
It might be argued that the error is in the SAS macro
compiler, but the real error was in not knowing that what
is returned by SAS in &SASSWORK depends on the platform
on which MXG is executing. For PC SAS, $SASSWORK also
contains a pathname, but since PC pathnames use reverse
slashes, so SAS had no problems in compiling under UNIX.
Although the underlying logic will never be satisfied as
written for PC or UNIX SAS, adding the %QUOTE() function
around the &SASSWORK string tells SAS to ignore those
strange characters, so this change:
IF %QUOTE(&SASSWORK) NE WORK %THEN ....
allows VMXGSUM to execute anywhere!
I did test most of MXG in 1995 under UNIX, but that was
with an earlier VMXGSUM. I do not run MXG QA stream on
UNIX, as I do not have nor intend to have a UNIX system,
and believe that testing under PC SAS, plus many happy
users running MXG under UNIX with no errors, is enough.
This is the first and hopefully the last incompatibility
between ASCII SAS platforms that has had any impact on
MXG, and it's because no one had used the VMXGSUM utility
under UNIX yet.
Chris detected, diagnosed, and provided this solution.
July 9, 1998: See MXG Change 16.146.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 16.130 -Type 70 RMF records contain an unexpected segment for
VMAC7072 CPUs that were varied offline. The segment does have
Jun 22, 1998 CAI=0 (SMF70CNF) that flags that this CPU was neither
online at the end of the interval nor reconfigured, and
has invalid VOLSER ('E00000'x). The unexpected segment
populated variables CPUSERn, CPUWAITn, IORATEn, where n
is the CPUID that the offline processor had when it was
last online. Now, MXG protects for this segment by only
populating the n-th variables when CAI is non-zero. The
PCTTPIn value was also wrong for the nth segment, but the
cause was a missing ELSE PCTTPI=.; clause to protect its
value when the IOINT denominator is zero, as was found in
these segments. Fortunately, this segment had little
impact on important type 70 measurements, because all of
the CPU-busy variables were already missing or zero. I
intend to suggest that IBM not write this unexpected and
wrong segment in type 70 records.
Thanks to Martyn A. Jones, Chase Manhattan Bank, ENGLAND.
Change 16.129 -A major revision to TMS/CA-1 processing was precipitated
ADOCTMS5 by the discovery that the DSN in the VOL records is not
TYPETMS5 always the true dataset name on that VOLSER: for multi-
VMACTMS5 volume, multi-file sets, the DSN in the VOL record of the
Jun 23, 1998 second and subsequent volumes is the dsname of the first
Aug 11, 1998 dataset in the set of multiple files. This meant there
were observations in TMS.DSNBRECD with the wrong DSN for
some VOLSERS. If you tried to select all VOLSERs for a
specific DSN, you would miss all of the interior VOLSERs
as well as the final VOLSER that contained that dataset.
Fortunately, this past error probably had little, if any,
impact on tape chargeback using TMS.DSNBRECD, for at
least two reasons. First, these sets are usually backups
of groups of common files for an application, so all of
the DSNs are usually owned by the same department that
you billed. Second, since the BLKCNT in these bad VOL
records is always zero, calculated FEET or BYTES would be
zero, so you probably zero billed the wrong DSN anyhow!
The Block Count must be zero in these VOL records (i.e.,
for datasets that start with a DSNB) because the total
block count for the entire dataset across all of its
volumes is recorded in the BLKCNT in the DSNB record.
Unless CA-1 is redesigned to break the total dataset
Block Count into the count per VOLSER, we will never know
how much of one volume is occupied by each piece of these
datasets, but at least now you have the correct DSN for
each VOLSER which contains any part of that DSN.
The final SORT order of TMS.DSNBRECD is
BY ZDATE OVOLSER VOLSEQ FILSEQ CURR;
where OVOLSER is the "Original, or first VOLSER of a set"
and is blank for single-volume tapes, where VOLSEQ and
FILESEQ have been propagated/created by the new logic,
and where CURR is the (current) DSNB number for the
DSNBRECD observations created from DSNB records. CURR
has a missing value in DSNBRECD obs created from VOL
records, and is used as a discriminate in MXG logic.
Additionally, the size of each dataset in TMS.DSNBRECD in
bytes, calculated as Block Size times Block Count, (as
was TAPEFEET) is now created in variable DSNBYTES, and
the total size of each VOLSER in TMS.TMS is now created
in variable TAPEBYTE; both are formatted MGBYTES.
This is a major revision of the logic for TMS processing,
and the gory details of the problem and its solution,
(which took three full days to figure out and implement),
complete with example, is now in member ADOCTMS5.
The before and after runs with a 194MegaByte TMC show:
TMS.TMS TMS.DSNBRECD Elapsed Duration
obs obs vars (PENTIUM II 350)
BEFORE 510,000 203,772 42 12 minutes
AFTER 510,000 203,765 46 14 minutes
so the added cost of the new sorts and data steps seems
minimal. The smaller number of observations in the new
DSNBRECD is the result of removing the VOL records which
have blanks or " IO ERROR" as their DSN values.
The AFTER run with same data on an Amdahl millennium took
15 minutes elapsed (and 9 minutes CPU) under OS/390!
Thanks to John Rosewarne, Telstra, AUSTRALIA.
Change 16.128 For NTSMF Version 2.1.0 running under NT 3.51, the error
VMACNTSM INPUT STATEMENT EXCEEDED RECORD LENGTH occurs because the
Jun 18, 1998 NTSMF record is missing the CPU Speed field in the 0,0
CONFIG record. This change only inputs the new sections
if both VERSION GE '2.1' AND NTVERSN GT '3.51'.
Thanks to Jim Quigley, Con Ed, USA.
Change 16.127 This member is still in testing, but now at least it has
BLDNTPDB been debugged and corrected and works. More is planned.
Jun 18, 1998
Thanks to J. Wayne Holzbach, Reynolds Metal Company, USA.
Change 16.126 Unused Change Number.
Change 16.125 IMACKEEP was added at the end of the %INCLUDE list, where
TYPEIMS7 it had been overlooked. Member IMACKEEP was part of the
Jun 12, 1998 original MXG architecture, designed to let you override
the _VAR macros to change the contents of MXG datasets,
but that turned out to be the wrong way to tailor MXG,
because your _VAR override died when I had to add a new
dataset for that product, so Change 10.175 introduced the
new way, by defining _L and _K macros in each IMAC for
each product. However, I kept the IMACKEEP INCLUDE in
all members, just in case it might be useful to have a
common exit in the future, and its future is now!
That future is described in Change 16.134, but it was a
conversation with Peter that triggered the realization
that IMACKEEP will again be the right place, and that led
to the &MACKEEP architecture.
Thanks to Peter Enrico, Watson and Walker, USA.
Change 16.124 Variables SELAPSTM, the step elapsed time, and JOBCLASS
ANALDSET are now kept in both DSETOPNS and DSETSUMS datasets, so
Jun 12, 1998 the OPENTM can be compared to SELAPSTM, for candidate
analysis for HiperBatch and BatchPipes, and so JOBCLASS
can be used to filter unwanted job observations.
Thanks to Lawrence Jermyn, Fidelity Investments, USA.
Change 16.123 ROSCOE code revised to execute under ASCII SAS; several
VMACROSC $EBCDIC1. fields were changed to $CHAR1. and formatted to
Jun 12, 1998 $HEX2. Fields used in binary tests, for example,
IF ROSREC EQ '60'X THEN ... failed when TYPEROSC was run
under ASCII sas with $EBCDIC informat, because SAS change
the '60'X to '2D'x with that informat. Using the correct
$CHAR informat for these binary values fixed the error.
Thanks to Martha Wearen, Department of Agriculture & Food, IRELAND.
Change 16.122 -Variables SYSID, APPLID, and SYSPLEX were blank in most
VMACTMO2 datasets. Change TMSYSID to SYSID, TMENAPLD to APPLID,
Jun 12, 1998 TMSMFSID to SYSTEM, and TMMVSID to SYSPLEX.
Jun 17, 1998 -The GMT offset variables TMENGMTO and TDENGMTO are now
input as &IB.8. rather than &PIB.8., like TAENGMTO, but
while the TAENGMTO value is almost correct, the other
two GMT offsets are wrong in Landmark's records:
Record Hex Value In Record Input as &IB8.6 value
TA FFFFFFFB CF100000 -5:00:00.90
TI FFFFBCF1 DCC00000 -20480:00:00:00.00
TD FFFFBCF1 DCC00000 -20480:00:00:00.00
Note that the TI and TD values are clearly shifted left
three nybbles, causing their invalid value, but also note
that the TA value is truncated on the right, so it is not
exactly five hours. The correct 8-byte value should be:
FFFFFFFB CF1DCC00 -5:00:00.00
Landmark has opened Activity 111176 to correct the GMT
offset; until a fix is available, the GMT offsets are not
usable.
Thanks to Brian Sanger, Eagle Star, ENGLAND.
Thanks to Mike Wroot, SAS UK Customer Support, ENGLAND.
Change 16.121 New NTSMF objects "Caching Manager" creates CACHEMGR and
EXNTCAMG "Packet Filtering" creates PACKTFLT datasets, and revised
EXNTPKFL object "Web Proxy Server Service" increased the data from
IMACNTSM 37 to 56 fields, which are now supported.
VMACNTSM
Jun 11, 1998
Thanks to Leigh Ann Payne,Wachovia Operational Services, USA.
======Changes thru 16.120 were in MXG 16.02 dated Jun 8, 1998======
Change 16.120 New ERASEOUT parameter was added so that the output data
VMXGSUM set can be erased before creation. For the TREND system
Jun 8, 1998 this will reduce the size of the TREND library, since the
old design created the new TREND dataset while the old
TREND dataset still existed, so the library needed to be
exactly twice the size of the TREND dataset. Making the
change in VMXGSUM will not change the TREND dataset sizes
until a later change adds the ERASEOUT parameter to the
TRND members. The options are NO, YES, or DDNAME, and if
DDNAME is specified, a copy of the old TREND library is
made in that DDNAME before replacement by the new data.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 16.119 Preliminary support for IMS 6.1 Log Records has tested
IMACIMS the 07 and 08 records, so that member TYPEIMS7 is now
IMACIMS7 supported (it counts transactions and total resources,
VMACIMS without response time, for resource accounting of IMS).
Jun 8, 1998 There were massive changes in all IMS log records, with
new information as well, and more work will be done in
the next few weeks to the other parts of MXG IMS code,
notably there will be an ASMIMSL6 for the JCLIMSLG code.
This change includes the 01, 03, 31x and 35x log records,
but none of the new variables have been added and there
is still much validation needed.
Thanks to Dario Franceschi, Nordbanken, NORWAY.
Change 16.118 Tandem variables C0BLKS, C1BLKS, C2BLKS, and C3BLKS are
VMACTAND the cache blocks of 512/1024/2048/4096 bytes allocated,
Jun 4, 1998 and should not have been divided by DURATM. Variable
C1BLKSAV, average entried in the dirty queue should have
been divided by DURATM (like the other three measures).
Thanks to David Foster, Norwest Services, Inc.
Change 16.117 CODEPCT=150 is now the default, replacing CODEPCT=134.
CONFIG This is a compiler option that controls how much virtual
Jun 4, 1998 storage is set aside for the generated program in a DATA
step. If SAS's original guess is too small, it prints a
message suggesting a larger value of CODEPCT (usually one
unit higher!). By setting MXG's default to 150, that SAS
message and user questions about it are eliminated, and
you may save a couple of CPU seconds during the compile
phase of BUILDPDB's SMF processing step. You can also
eliminate the message (which is seen only if you have
modified your BUILDPDB to process additional SMF record
types) by passing CODEPCT as an option in your JCL:
// EXEC SAS,OPTIONS='CODEPCT=150'
Thanks to Thierry Van Moer, COMPAREX, BELGIUM.
Change 16.116 Support for Candle Omegamon for CICS V400 SMF record 255
VMACOMCI subtype 203 sub-subtypes 1 and 2 (INCOMPATIBLE) added no
Jun 4, 1998 new information but inserted blanks and FFFFs. Other
sub-subtypes are probably affected, but only these two
were available at this time for validation.
Thanks to Steve Smith, BMC Systems, USA.
Change 16.115 The support for Landmark DB2 Version 3.1 (Change 16.097)
VMACTMDB worked fine with 3.1, but failed with 3.0 'DA' record,
Jun 4, 1998 INPUT STATEMENT EXCEEDED, because MXG read in a number of
fields in the 3.0 logic that are not in the 3.0 records!
This change deleted those fields and their INPUTs.
Thanks to Robin Tremblay, Regie des Rentes du Quebec, CANADA.
Change 16.114 Processing ICEBERG and XCOM SMF records together cause an
VMACXCOM error because variable REQTYPE is numeric in ICEBERG but
Jun 4, 1998 was Character in XCOM. Hoping that changing XCOM has
less impact than changing ICEBERG, I have change the name
in the XCOM datasets from REQTYPE to REQTYPEX.
Thanks to Sharon Hindle, EDS Australia, AUSTRALIA.
Change 16.113 Landmark DB2 Version 3.1 INVALID DATA FOR HSRN is printed
VMACTMDB on the log for record 'DE', but the output datasets built
Jun 2, 1998 are not affected. MXG incorrectly tried to read the
"standard header" but the 'DE' record doesn't have one!
To eliminate the message and hex dump, change the line
IF LMRKREC NOT IN ('DC','DD','DF','DW') THEN DO;
to read
IF LMRKREC NOT IN ('DC','DD','DE','DF','DW') THEN DO;
Thanks to Robin Tremblay, Regie des Rentes du Quebec, CANADA.
======Changes thru 16.112 were in MXG 16.02 dated Jun 2, 1998======
Change 16.112 Cosmetic. If you drop variables from DB2ACCT and use the
ASUMDB2A ASUMDB2A to summarize, UNINITIALIZED VARIABLE messages
Jun 2, 1998 are printed on the log during the ASUMDB2A execution of
VMXGSUM. These have no impact on the end results, and
are printed for those variables that are used in INCODE=
logic, but cannot be eliminated because VMXGSUM cannot
parse the INCODE or OUTCODE arguments for variable names.
However, additional UNINIT messages that were printed due
to the LABEL statement in the OUTCODE= argument are now
eliminated, by moving that LABEL statement into INCODE.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 16.111 -MQ Series SMF 115 MQMBUFER dataset misspelled QPSTDWT as
VMAC115 as QPSTDTW, so now (for a while) both variables exist,
VMAC116 but the DTW spelling will go away in a future version.
Jun 2, 1998 Variables QPSTID, QPSTLL and QPSTEYEC are dropped, as
they are always constant and should not have been kept.
-MQ Series SMF 116 MQMACCT dataset variable QWHCXTYP is
named ATYPE in MQ SMF documentation, but the values that
MQ chose for their ATYP are not at all the same as the
DB2 values for ATYP, and so MXG had to spell ATYP XTYP
in the MQMACCT dataset so that it could be formatted
for its values instead of the DB2 ATYP values. This is
not a code change, but rather explanation as to why the
ATYP variable is spelled XTYP in MQMACCT.
Thanks to Richard Tsujimoto, Chase Manhattan, USA.
Change 16.110 Cosmetic. The input data can only be the _LIDMTAS data
ASUMIDMS from the IDMS Perfmon SMF data, and this eliminates
Jun 1, 1998 UNINITIALIZED errors in my QA stream. Previously, there
were MXG-created SMF records for IDMS, and this report
would use either, but the old MXG monitor only ran under
IDMS Version 10 and earlier, and those records no longer
exist.
Change 16.109 IBM has trashed the IODF Creation Date field in RMF type
VMAC73 73-1, 74-1, and 78-3 records at least in OS/390 R1.3.
VMAC74 All three records have two separate IODF Creation Date
VMAC78 fields, and both have exactly the same character strings:
Jun 1, 1998 Field Names format data value
SMF73TDT, SMF74TDT, R783TDT mm/dd/yy 19/98/04
SMF73TDY, SMF74TDY, R783TDY mm/dd/yyyy 19/98/2004
This OS/390 R1.3 production system had never been tested
with a year 2000 IPL - I think the 2004 is an accidental
value. Several APARs document the IODF format starting in
back in 1993 (OY64585) and in 1996/1997 (OW15406/OW27552)
but there is currently no open APAR about bad values.
This error was seen in an RMF record, but CMF could have
the same problem, if IODF is creating a bad value and both
RMF and CMF are simply copying that bad value.
The nasty symptom of these bad date fields are two SAS
"INVALID ARGUMENT TO FUNCTION MDY AT LINE nnnn COL mmm"
messages, hex dumps of the several thousand bytes of the
bad record, the PUT _ALL_ lists of VARIABLE=VALUE for
about 30-40 pages of printed output.
While we research the problem with IBM, I have changed
each IF YY GT 0 THEN IODFDATE=MDY(MO,DD,YY) to now read:
IF 1 LE MO LE 12 AND 1 LE DD LE 31 AND YY GT ) THEN ....
(or YYYY for the TDY fields) to validate the arguments of
the MDY() function to prevent print of the hex dump/list.
Either way, with or without this print-prevention, the end
result is the same: variable IODFTIME will be missing
until IBM corrects their records, but everything else in
the MXG-built datasets is just fine and dandy!
Thanks to Jean Murphy, Capital Group, USA.
Change 16.108 This "NTSMF PDB Build" example is still not in its final
BLDNTPDB state, but it is getting there. This change removed the
Jun 1, 1998 PROC COPY INDD=WORK OUTDD=PDB that was left from testing
(it copied unsorted datasets over top of sorted datasets
and caused DATASET NOT SORTED errors).
Thanks to Carl Kyonka, Consumers Gas, USA.
Change 16.107 The PDB now PROC SORT's the other six TYPE74xx datasets
BUILDPDB into the daily PDB library. Four XCF datasets (TYPE74CO,
BUILDPDB TYPE74ME,TYPE74PA, and TYPE74SY), the OMVS Kernel dataset
BUILDPD3 TYPE74OM, and the IRLM Long Lock dataset TYPE74LK that
BUILD003 should have been put in your daily PDB library now are!
VMXGINIT VMXGINIT was updated to define the &PDB74xx macro name
May 29, 1998 for each PDB dataset. See Change 15.320 for discussion.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 16.106 Enclave CPU and transaction variables CPUASRTM CPUENCTM
IMACPDB and ENCLTRAN from TYPE30_4 step termination records are
May 29, 1998 now kept in PDB.STEPS and summed into PDB.JOBS datasets
with this enhancement.
Thanks to Brenda Rabinowitz, Prudential Securities, USA.
Change 16.105 Support for the Web Proxy logs in Common Log Extended
TYPEWWW format adds new variables to TYPEWWW:
May 29, 1998 CLHEADER CLRQSIZE CONTLGTH HTTPCLVS HTTPSTAT PRREQHDR
PRRESHDR PRRQSIZE RMRESHDR TOTALTM
The left and right square brackets on UNIX have hex value
of '5B'x and '5D'x, but when FTP'd to MVS, they become
'AD'x and 'BD'x, and if IND$FILE'd to MVS they then are
'4A'x and '4F'x, so MXG now tests for all three values
that have been encountered when these ASCII logs are
sent thru different ASCII to EBCDIC translation tables.
Thanks to Brian J. Farley, Reliastar Life Insurance Co., USA
Change 16.104 -ANALCISH CICFCR report can cause ERROR: MORE THAN 32,767
ANALCISH VARIABLES. The PROC TRANSPOSE and array logic that was
May 29, 1998 used (so that one pass of the CICFCR dataset could
generate four reports) breaks that SAS limit when there
are thousands of CICS files. This redesign eliminates the
array and transpose logic, with one pass of CICFCR for
each report requested. We will enhance the redesign so
that only a single pass will be required, but that change
is more extensive, and this change solves the immediate
problem of getting the reports printed.
-CICJCR report can cause ERROR: MORE THAN 10 LINK
STATEMENTS HAVE BEEN EXECUTED. The LINK HEAD;
logic was eliminated.
Thanks to Eain Aronott, Toronto Dominion Bank, CANADA.
Thanks to Ian Mackay ,Royal Bank of Scotland, SCOTLAND.
Change 16.103 Deleted change.
Change 16.102 Support for Raptor Systems' Eagle V4.0 Log Message 121
EXEAG121 is decoded into dataset EAGLE121 with information on the
IHDREAGL individual connections thru that UNIX firewall product.
IMACEAGL EAGLE121 contains duration, type of service, source and
TYPEEAGL destination IP addresses (with port number), url and the
VMACEAGL filename accessed, and bytes sent and received, etc. The
May 28, 1998 other log messages are output into dataset EAGLEOTH with
the MSGID and LOGTIME and other header variables.
The MXG support reads the Version 4.0 records that were
created by Raptor Systems' FLATTEN program. While those
records are created on UNIX, MXG can read them either as
native ASCII records if you run MXG under ASCII SAS, or
you can ship the records to your MVS system (translating
them to EBCDIC in the process) and run MXG there.
FLATTEN records have a header of fixed fields that are
delimited by '09'x on ASCII (which becomes '05'x on MVS)
and then a series of field1=value1 field2=value2 ...
that are delimited by blanks, and then an undocumented
set of six numeric fields containing one byte of zero
in ASCII/EBCDIC that is delimited by '09'x/'05'x. While
the SAS NAMED INPUT technique is meant to handle data
like the field1=value1 series, it could not be used here
for two reasons: a) one of the data fields (ARG, which is
the full url and filename) can contain equal signs, which
would prematurely terminate its input and truncate its
value, and b) once SAS starts NAMED INPUT in a record,
there can be no following fields. So MXG instead must
parse and test the name field for each field.
These records look useful for tracking firewall accesses
but there are some quirks in the data. First, not all of
the fields in Table 6 in the Eagle Configuration Guide
V4.0 are in each record. In particular, USER and AUTH
appear infrequently (only 98 of 1658 records had them),
and there are some blank values for OP(10), PROTO(59),
RESULT(124), and SRCIF(7).
Most records end with the two fields RESULT and PROTO and
the six numeric fields:
result="200 OK" proto=http.0.0.0.0.0.0.
but some records instead have a date value following the
result= field, and there is no proto= field:
result="200 OK" 05/18/1998.0.0.0.0.0.0. 320
ZONE 2767767323332442233233233330303030303030
NUMR 02535C4D22000FB2005F18F19989090909090909
and some records seem to have trashed the second quote:
280 result="200 Docume05/18/1998.0.0.0.0.0.0. 320
ZONE 76776732333246676633233233330303030303030
NUMR 2535C4D220004F35D505F18F19989090909090909
MXG has additional logic to handle these anomalies.
These values for RESULT have been found in data. Note
the real joy of UNIX programmers who have five different
case sensitive spellings for RESULT 304 and conflicting
meanings for RESULT 200 and other RESULT values!
RESULT value Count
blank or incomplete double-quote 124
"200 Document follows" 36
"200 File data follows" 2
"200 OK" 881
"204 No content" 28
"302 Found" 4
"302 Moved Temporarily" 12
"302 Object Moved" 3
"302 Object moved" 5
"302 Redirection, oh yay" 1
"304 File Has Not Been Modifed" 8
"304 NM" 40
"304 Not Modified" 183
"304 Not modified" 2
"304 Use local copy" 186
"403 Forbidden" 3
"404 File not found" 3
"404 Hostname lookup failure" 5
"404 Not Found" 2
"404 Not found" 3
"404 Object Not Found" 6
"500 Internal Server Error" 2
"500 Unable to connect to remote 6
"Not HTTP/1.0 response" 113
Thanks to Brian Harvey, Navistar International, USA.
Change 16.101 Support for TME 10 NetView for OS/390 V1 R1 SMF type 38
EXTY3801 record creates these new datasets:
EXTY3802 TYPE3801 Command Authorization Table subtype 1
EXTY3803 TYPE3802 Task Resource Utilization Data subtype 2
IMAC38 TYPE3803 Span Authorization Table subtype 3
VMAC38 but only the TYPE3802 has been tested with data. The
Jun 1, 1998 NAME column is missing in tables 45-50 for subtype 3 in
Jul 16, 1998 IBM's "Application Programmers Guide" SC31-8223-01, but
IBM provided the DSECT so MXG variable names match!
In addition, this product is NOT Year 2000 Compliant,
as the date fields in the subtype 1 and 3 are in the
MM/DD/YY HH:MM:SS format! As usual, however, MXG will
protect the YY using the 1959 windowing technique.
Note that many of the raw data fields contained units of
KB per minute, but they have been converted to bytes per
second and formatted with MGBYTES format so they will
print rates in bytes, KB, MB, etc, per second, to be more
consistent with the rest of MXG than this narrow world
that measures per minute. Also, I/O rates were converted
to rates per second versus per minute, and all rates have
"per sec" in the label to make it clear.
Thanks to Leo Meyer, Humana, Inc, USA.
Change 16.100 The NON-FATAL STRUCTURE MISMATCH message that I thought
VMAC74 I had eliminated in Change 16.032 can still show up. The
May 27, 1998 tests R744SFLG EQ '00......'B and R744SFLG NE '00......'B
was added because that value was observed in data, but
those tests must be changed to
R744SFLG EQ '0.......'B and R744SFLG NE '0.......'B
because when the structure is not online (EQ 0) there
never will be a match, so there is no message to print.
Only if there is a mismatch AND the structure was online
at the end of interval, will the message now print.
Thanks to Gary L. Beers, Boeing Information & Support Services, USA.
Change 16.099 Support for MQ Series Version 1 Release 2 (INCOMPATIBLE,
VMAC115 but only for dataset MQMLOG, Log Manager Statistics,
May 26, 1998 which will have missing values for all of the QJSTxxxx
variables without this change). New variable QJSTLLCP
was added to dataset MQMLOG by the new version.
There were no changes to the type 116 SMF record in 1.2.
Note that previous MQM Version numbers were 1.2 and 1.4,
but those were really 1.1.2 and 1.1.4 and this new one,
Version 1 Release 2, is really MQ Series 1.2.0.
Thanks to ???, ???, ???.
Change 16.098 ANALSRVC reports CPU Percentage by Service Class for Goal
ANALSRVC Mode from TYPE72GO (like ANALPGNS for Performance Groups
May 21, 1998 in Compatibility Mode from TYPE72). Two percentages are
calculated:
SVPCTCAP - Pct of total Interval Capacity (NRCPUS*DURATM)
SVPCTUSE - Pct of total CPU Used (CPUACTIV during Intvrl)
For example, a SRVCLASS that recorded 1 hour of CPU time
in a 1 hour interval on a 2-engine CEC that was 75% busy
(TYPE70 was 1.5 hours) would have its SVPCTCAP= 50% and
SVPCTUSE= 66.6%. This report was incomplete in MXG 14.14
so Glen cleaned it up so it actually works!
Thanks to Glenn Bowman, Wakefern Food Corporation, USA
Change 16.097 Support for Landmark's Monitor for DB2 Version 3.1 is
VMACTMDB INCOMPATIBLE (i.e., you must have this update to read
May 21, 1998 the 3.1 records) because fields were inserted in their
Jun 1, 1998 records. New variables were added to these datasets:
TMDBDA2 - 26 TMDBDAB - 18 TMDBDAF - 1
TMDBDB2 - 19 TMDBDBB - 1 TMDBDBR - 1
The headers are now decoded for all records, but there
are additional data in some record segments (notably
the BB-BL family, and the DC, DE, DD, and DF) that are
not decoded until someone wants to use that detail data.
Jun 1: INPUT for DABGLCK comment line was shortened.
Thanks to Robin Tremblay, Regie des Rentes du Quebec, CANADA.
Change 16.096 The Structure Type Identifier, variable R744STYP is now
VMAC74 formatted with $MG074TT format:
May 19, 1998 '01'X='01X:UNSERIALIZED LIST STRUCTURE'
'02'X='02X:SERIALIZED LIST STRUCTURE'
'03'X='03X:LOCK STRUCTURE'
'04'X='04X:CACHE STRUCTURE'
and IBM has agreed to update the SMF manual to document
the values for that field.
Thanks to Yanara Perez, UPS, USA.
Change 16.095 The TYPE74 variable IORATE has been calculated by divide
VMAC74 of SSCHSAMP (SMF74MEC) by DURATM. SSCHSAMP is the number
May 15, 1998 of SSCH instructions for which pending, connect, and
actives were stored, and is returned by the hardware to
RMF. But IBM uses SIO74CNT (SS74SSC), which is the
number of requests to the device and it includes SSCH and
RSSCH instructions, to calculate IORATE in RMF reports.
I have changed to use SIO74CNT in the numerator of IORATE
not only to match IBM, but because this will provide the
IORATE even if SSCHSAMP is zero (which Diane discovered
and is investigating with IBM and her hardware vendor).
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 16.094 The test IF &LOMONTH LE ZDATE LE HIMONTH; must be changed
BLDNTPDB to read IF "&LOMONTH"D LE ZDATE LE "&HIMONTH"D; to avoid
May 15, 1998 a 73-222 error when BLDMNTH=YES (the default) is used.
This member is undergoing revisions and enhancements,
and a new option FIRSTRUN= has been implemented to init
initialize the PDB, daily, weekly, etc., libraries.
but this will not be completed in time for MXG 16.02.
Thanks to Bob Gauthier, American Stores, USA.
Change 16.093 The test IF LENGTH EQ 1464 THEN DO; in the Interval CICS
TYPEMON8 record is now IF LENGTH-COL+1 GE 212, because the fields
May 15, 1998 starting with TIAPREQ are present but were not input (so
they had missing values in dataset MONISYST) in records
of different lengths.
Thanks to ???, ???, GERMANY.
Change 16.092 CICS Statistics (type 110 subtype 2) dataset CICDS has
VMAC110 four divides by 5096 should have been divide by 4096.
May 15, 1998 The four variables for the fifth TCB, DS5TWT, DS5TDD,
DS5TCT and DS5ACT would have been about 20% smaller than
they really were. DS5ACT is a included in CPUTCBTM, so
it too was a little bit low. Fortunately, although there
are now six TCBs in a CICS region, almost all of the CICS
CPU time is still in the first TCB (762 second out of 765
seconds, for example), so the impact of this error in the
fifth TCB is minimal on this CICS statistics dataset.
Thanks to Tony P. Steward, Post Office, ENGLAND.
Change 16.091 Landmark TMON for CICS V2 Converted Records do not set
TYPEMON8 TAFLAG6 bits to "Detail" (because V2 no longer has the
May 14, 1998 History or Summary records - all V2 records are "D"),
but MXG sets MONIRECD=' ' and then tests TAFLAG6 to set
MONIRECD to D,S, or H. But with no bits set in V2,
MONIRECD remained blank. The correction is to initialize
MONIRECD='D' instead of MONIRECD=' ' so that the V2
records will always be "D" and older version's with
TAFLAG6 bits will set the "S" or "H" if appropriate.
Only if you have added logic using MONIRECD that expects
the 'D' will this problem cause you an error (but this
site had IF MONIRECD='D' THEN OUTPUT MONITASK; in their
EXMONTSK exit, to discard the old History/Summary data,
so they had zero observations in MONITASK dataset due to
the blank value in MONIRECD in V2 records!
Thanks to Tim Downs, CSC TMG Warren, USA.
Change 16.090 Four additional fields were added to the type 42 st 14
VMAC42 ADSM SMF record that are now output as MXG variables
May 14, 1998 in dataset TYPE42AD:
SMSBYTCS='SPACE-MANAGED*DB OBJ BYTES*SENT CL-SRV'
SMSBYTRE='SPACE-MANAGED*DB OBJ BYTES*RETRIEVED'
SMSOBJIN='SPACE-MANAGED*DB OBJECTS*INSERTED'
SMSOBJRE='SPACE-MANAGED*DB OBJECTS*RETRIEVED'
and the conversion of kilo-bytes to bytes now uses the
factor of 1024 instead of 1000.
Thanks to David Ehresman, University of Louisville, USA.
Change 16.089 Zero observations occurred, apparently because the INPUT
TYPEVLFC of RESTOFIT $CHAR80. needs to be RESTOFIT $CHAR72.
May 13, 1998 The actual change was more extensive, calculating LENLEFT
in the record and INPUTting with $VARYING72.
Thanks to Martin Lee, Safeway, UK.
Change 16.088 Magstar drives have 0E8x for both DENX and TRTCH, but
VMACTMS5 MXG failed to decode those values, causing variable DEN
May 13, 1998 to be missing, and DEN is used to create observations in
DSNBRECD records, so datasets were not reported, and DEN
is also used to estimate the number of feet of tape).
This fix sets DEN=99000 for MAGSTAR so that observations
will be created, but a better density estimate may be
needed if length of tape is important. However, with
compressed data on tape, the ability to measure the feet
used is non-existent, since CA-1 provides only the
uncompressed size.
Thanks to Trevor Holland, Telstra, AUSTRALIA.
Change 16.087 The &MAC50 statement was misspelled as &MAC40 in MXG
VMAC50 15.15, but has now been corrected to &MAC50.
May 11, 1998
Thanks to Bill Shanks, BRBS Sema Group, UK.
Change 16.086 The UDKSCONT utility reads the output of PC DIR commands
UDSKCONT to measure PC filespace and estimate PC diskspace needed
May 9, 1998 (considering FAT cluster waste per file), but the MXG
algorithms (which assume the space in the last cluster
is lost) are not exact. My C: drive has 1546MB capacity,
129MB free and 1413MB in use, according to Properties.
Issuing these five DIR commands:
DIR *.* /S >> DISKFARM
DIR *.* /S /AH >> DISKFARM
DIR *.* /S /AR >> DISKFARM
DIR *.* /S /AS >> DISKFARM
DIR *.* /S /AA >> DISKFARM
to get Hidden/Read-only/System files/Archive files.
Change 16.085 The new support for Mobius InfoPac RDS View Direct 6.1
VMACIPAC in change 16.052 was validated, and minor changes were
May 8, 1998 made to deal with the changed records: subtype 1 and 2
are same length but 2-byte century field was added at the
beginning and a 2-byte filler at the end was deleted; the
subtype 3 and 4 was increased by 4-bytes, and the revised
code has been tested with both 5.2 and 6.1 releases.
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 16.084 The new calculation of RESPSTD should have used RESPAVG
TRND72 instead of AVGELPTM.
May 8, 1998
Change 16.083 The new OS/390 R2.5 Job queueing durations in TYPE72GO
VMAC7072 variables R723CQDT, R723CADT, R723CCVT, and R723CIQT were
May 8, 1998 incorrectly multiplied by 128 when they should have been
multiplied by 1024. They are in 1024 microsecond units,
but I carried down the 128 from R723CIOT, which is in 128
microsecond units. Also, R723CQDT was incorrectly
spelled as R723CDQT, but now matches the DSECT name.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 16.082 This ABEND report uses PDB.STEPS (because programs ABEND,
ANALABND jobs don't) to produce a report similar to the example in
May 8, 1998 Table 27.5 in the MXG Guide (see member ACHAP27). This
report tabulates ABENDs by Group, where you define the
groupings by EDITing the PROC FORMAT statements. In this
example, the variable JOBCLASS is used to define groups,
but any variable in PDB.STEPS (including ACCOUNT1, JOB,
etc.) could be used to group the tabulation.
This is also a good example of how to build table lookups
with PROC FORMAT and report with PROC TABULATE.
Thanks to Kevin Clark, Amtrak, USA.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.081 The JCL parameter TAILORNG in the MXGSAS JCL Procedure
MXGSAS causes a JCL error with JES 3.1.3, because the symbol is
May 8, 1998 more than seven characters, so it has been changed to
TAILOR to avoid the error. However, one other site had
to remove both references to the TAILOR parameter to
eliminate a strange SAS 180 error, after the SAS
Initialization but before the MXG initialization
messages, that was followed by another SAS message that
the USERID.SOURCLIB was not a PDS when it most definitely
was. TAILOR is an MXG optional JCL parameter that is not
explicitly used anywhere in MXG and can be removed
without causing a problem.
Thanks to Tom Marchant, Wayne State University, USA.
Change 16.080 Multiple purge records can be created for JES3 jobs,
BUILDPD3 but MXG logic in BUILDPD3/BUIL3005 did not expect more
BUIL3005 than one purge record. These JES3 purge records are
May 7, 1998 identical with same READTIME, JOB, and JESNR values, and
only these variables are different in the three records:
JFINTIME JPURTIME ENTERDJ LEFTDJ TYPETASK SPOOLREC
. 04:46:29 Y STC 780
07:53:00 07:53:00 Y JOB 468
07:53:48 07:53:48 Y JOB 468
Most triplets had STC in the first record, JOB in the
second and third record, and came from started tasks that
had run for a week, were taken down, apparently had their
SYSOUT "dumped" and later had it "entered". There were
also pairs of purge records with TYPETASK='TSU' followed
by TYPETASK='JOB', and there were many pairs with both
first and second records containing TYPETASK='JOB'. It
looks like when JES3 "enters" the SYSOUT, it uses the
same JOB and JESNR, but sets TYPETASK='JOB' in those
subsequent purge records, even when the original "job"
was a STC or a TSO USer.
In all cases of multiple JES3 purge records, the first
record had LEFTDJ='Y', indicating the job left the system
by way of DJ (dump job), and the subsequent records have
ENTERDJ='Y', indicating the job entered the system by way
of DJ, so perhaps if you never use JES3 DJ, you never had
a problem. (There were purge records with LEFTDJ='Y'
and/or ENTERDJ='Y' that did not have multiple records,
but I only looked at part of a day's data.)
The problem with these multiple purge records is that
they cause multiple observations to be built in the
PDB.JOBS dataset, so I had to add logic to ensure that
only one purge record, the first one (i.e. earliest
JPURTIME) will be used to create PDB.JOBS, and the other
purge records create a new dataset DJPURGE for further
investigation.
The actual change was
-add DJPURGE to the DATA statement that creates
TYPE26J3 from SETS TYPE26J3 and SPIN26,
-after the END; statement, insert:
IF FIRST.JESNR THEN OUTPUT TYPE26J3;
ELSE OUTPUT DJPURGE;
Thanks to Brian Harvey, Navistar, USA.
Change 16.079 New format MGDECSR had extra quotes which caused a SAS
FORMATS "WARNING: At least one string was over 98 characters long
May 6, 1998 and had special characters and had to be truncated to
98 characters" that was overlooked (perhaps because that
warning did not set a condition code - I am now revising
the MXG QA stream to automatically detect any warnings in
the PROC FORMAT step, even if it set no condition code.
(SAS does not always set a condition code for a WARNING).
Thanks to Scott Wiig, US Bank, USA.
Change 16.078 All variables with format MGBYTES are now stored in 8
DOC bytes rather than 4 bytes. There were 2051 variables
May 6, 1998 in 332 MXG-built SAS datasets with that format, but by
searching all members of MXG for MGBYTES, there were
only about 220 that had to be scanned and only 105 that
were actually changed. Typically, the lines of the
FORMAT statement were copied into the LENGTH statement
and set to length 8. It is the DEFAULT=4 operand in
the LENGTH statement that sets the stored length. Some
report members that had no length statement did not have
to be changed, and code that only used MGBYTES in a PUT
statement in a DATA step were not changed, because all
SAS numeric variables are length 8 during the data step
that creates them; it is only when output to DASD that
the variable is truncated into four floating point bytes.
See MXG Technical Note on this subject.
Change 16.077 -Under SAS V7, when you create an output dataset using
VMXGSUM the PROC CONTENTS OUT= operand, the lengths of some of
May 5, 1998 the created variables are changed. In particular, NAME
Sep 9, 1998 will be 32 bytes long in the V7 output dataset, whereas
NAME was only 8 bytes long in the V6 output dataset. In
VMXGSUM, we create a list of names in your arguments as
length 8, but when we merge that list with the output of
PROC CONTENTS (to verify the variables you listed are
actually there to summarize), SAS V7 raised a warning
message. This change forces the length of NAME to 8 s
bytes, but was not actually made until Sep 9, 1998.
Change 16.076 -Using the new ASUMTALO summarization with a version of
ASUMTALO MXGTMNT/ASMTAPES earlier than MXG 14.01 (ML-10, which
May 5, 1998 was the first version that created the End-of-Interval
allocation records) created zero observations in ASUMTALO
because the new logic did not validate that there were
any interval records to use. Now the logic only uses
interval records when they are found in your SMF records,
so ASUMTALO observations will always be created now.
-The LENGTH of variable DEVICE defaulted to 8 if there was
no SPIN.SPINTALO (i.e., for the initial run of ASUMTALO),
but the length of DEVICE in TYPETALO is 7. Under SAS V7
this raised a WARNING message about unmatched lengths
of character variables when the new and old datasets are
interleaved, so now DEVICE is set to length 7 to avoid
the warning and its associated return code of four.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.075 -DB2 variables CLASS3WT and CLASS3TM (DB2 Class 3 wait
ANALUOW counts and wait durations) are added to ASUMUOW and
ASUMCICS TRNDUOW datasets. These are the sum for all of the
ASUMUOW twenty individual class 3 wait buckets, for a high
TRNDCICS level view of DB2 waits in the ASUMUOW dataset.
TRNDUOW -The new wait variables added by CICS TS 1.2 (see text
May 5, 1998 of change 15.274) are included in the ASUMUOW and the
TRNDUOW datasets.
-CICS variables SSQELAP, RESPSTD and MAXRESP are now
created in TRNDUOW.
-ANALUOW analysis reports now have MAXRESP on report 2 and
both MAXRESP and RESPSTD on report 3 to show how tightly
clustered response times are. New option PLOTIT= sets
the number of minutes between tickmarks on the X axis for
plots of response time versus time of day (and uses the
specified STARTIME= and ENDTIME= values on the x axis).
If PLOTIT is not specified, no plot is produced. If both
PLOTIT= and GRAFOUT are specified and you have SAS/GRAPH,
a graphics catalog named ANALUOW will be built in the DD
pointed to by GRAFOUT.
-Variables SSQELAP and RESPSTD were added to ASUMCICS and
TRNDCICS output datasets.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.074 Change 15.320 replaced hardcoded PDB DDname references
ANALBLSR with &PDBMXG macro variables to externalize the DDname,
VMACFRYE but these members had wrong syntax. In ANALBLSR &PDBMXG
XDB2LOCK was changed back to &PDB because the usage was inside a
XNALCACH %MACRO with a PDB= operand, while VMACFRYE had PDBMXG
ZGRAFRMF changed to &PDBMXG; the other three disused members were
May 5, 1998 corrected for consistency but are not actively used.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.073 INVALID DATA FOR TMMDMODL message is printed because the
TYPEMON8 INPUT TMMDMODL &NUM.2. should be TMMDMODL ?? &NUM.2.
May 5, 1998 Add the ?? modifier to suppress printing of the message
and hex dump when invalid data is attempted to be INPUT.
MXG's logic to detect whether this Landmark record has YY
or YYYY dates knows that TMMDMODL will be invalid (and
hence set to missing value) for the non-Y2K compliant
records, and so it rereads TMMDMODL as &PIB.2. when
TMMDMODL is missing, and so the datasets built by
TYPEMON8 were just fine. I just forgot to add the ??
modifier to eliminate the unnecessary print messages.
Thanks to Diane DePasquale, CSC TMG Warren, USA.
Change 16.072 Old variables FSPCBTRP FSPCBTRT FSPCCOLP and FSPCCOLT in
VMACICE dataset ICEBRGSY are renamed to FSBYxxxx because the FSPC
May 5, 1998 prefix is was intended for percentages, not storage size,
and FSPCCOLP and FSPCCOLT already existed in ICEBRGUT,
and their label and format was overlaying the ICEBRGSY
variables. The FSBYxxxx variables are formatted MGBYTES.
Thanks to Ken Williams, Sun Life of Canada, ENGLAND.
Change 16.071 This new program merges VSAM type 62 and 64 SMF records
ANAL6264 to add OPENTIME to each CLOSE record. Dataset VSAMOPEN
May 4, 1998 has an observation for each open from each job for each
VSAM ENTRNAME.
The ENTRNAME in the OPEN record will end with blanks,
'CLUSTER', 'CL', or 'BASE', but its corresponding CLOSE
records for that open end will end with blanks, 'DATA',
'DT', 'INDEX', or 'IX'. MXG strips the "last" part of the
ENTRNAME, merging on the stripped name, and stores the
"last" part in variable LAST.
For CLOSE (64s) without an OPEN, the OPENTIME is set to
the minimum SMF time of the 62/64s on that system, and
for OPEN (62s) without a matching CLOSE, their SMFTIME is
set to the maximum SMF time found. Variable OPENTM is
created only for a match-up. Close-without-open will
have OPENTM=. and ID=64, while open-without-close will
have OPENTM=. and ID=62 in the VSAMOPEN dataset.
There are often four close records for each open; I guess
the Data and Index are closed, and then when the Cluster
is closed, there is a second pair for the Data and Index.
This is work in progress, and the efficiency of the merge
will be enhanced. One consideration is using the output
dataset to measure availability of VSAM production
datasets, so there will likely be revisions to ANAL6264.
Thanks to Rachel Quiroz Holt, Fidelity Systems, USA.
Change 16.070 New utility likely to be needed only by me. UTILBHEX will
UTILBHEX build a file of readable SMF records from an email of the
May 4, 1998 SYSOUT print file of the SAS log that contains the hex
dump of SMF record(s) that were printed by the "LIST"
statement, or were printed when "INPUT STATEMENT EXCEEDED
RECORD" errors occur. That automatic hex dump on the SAS
log has been invaluable in resolving errors, incompatible
records and new product validation, and I still rely on
the dump, but debugging a problem in CICS type 110 SMF
records with excluded fields plus optional segments was
made much easier by writing this utility to create the
record and then enabling the debugging logic in MXG code.
While member SENDDATA provides instructions by which you
can re-read the SMF data and create an SMF file on MVS to
then be downloaded, zipped, and emailed, now, if you have
an error and I need to see the record, you can simply
save the SYSOUT as a file on MVS, download it and zip it
on your PC, and then email it to me for diagnosis. Also,
member SENDDUMP shows how to produce a hex dump of select
SMF records, and now its output can also be converted to
readable records by this utility.
Change 16.069 IMS log processing datasets now have _L, _K macros for
IMACIMS the additional datasets created by JCLIMSLG's TYPEIMSA,
VMACIMSA so you can control the contents of all IMS log datasets.
Apr 30, 1998 New exit members EXIMSTRN, EXIMSBMP, EXIMSUNM, EXIMSMRG
EXIMS07I, EXIMSFAS, and EXIMS598 (and similarly named
_L and _K macros) exist for the IMSTRAN, BMPS, UNMATCHED,
IMSMERGE, IMS07, IMSFASTP, and IMS5938 datasets.
Change 16.068 Macro variables &PCICTRN, &PDB2ACC, &PIMFTRN and &PIMSTRN
VMXGINIT created and GLOBALed to continue the externalization of
Apr 30, 1998 DDnames for datasets created by BUILDPDB. I have decided
Jun 25, 1998 on the naming conventions for dataset LIBNAME macros:
Exit Member Name Dataset Name Dataset &Macro
EXTYxxxx TYPExxxx &PDBxxxx
EXdddddd All others &Pdddddd
All VMACs that process SMF records will have their
&PDBxxxx or &Pdddddd "Dataset &Macro" defined and set
with a %LET in VMXGINIT member. All resolve to "PDB" by
default, except for the CICSTRAN and DB2ACCT (high
volume) datasets that are not sorted by MXG's BUILDPDB.
See Change 15.320 for further discussion.
Change 16.067 Candle's Omegamon Version V400 for CICS/ESA 4.1 and
IMACICDA CICS TS 1.2 have two new optional segments added to their
IMACICOC type 110 record, CANMQ with MQ Series counts and duration
IMACICOM and CANWLMSC with WLM Service Class names. These new
IMACICOW segments are now supported in new members IMACICOM and
VMAC110 IMACICOW respectively, and member IMACICDA was updated to
Apr 30, 1998 add their include in the default order (MQ before WLMSC),
and the new variables were added to the KEEP= list in the
VMAC110 member (but no new variables are created unless
you remove the comment block in IMACICOM or IMACICOW).
As always, you need to run UTILCICS to find out which of
the segments exist and in what order in each region, and
and might have to update IMACICDA if UTILCICS shows the
order is different in your records than MXG expects.
Since I now have the DSECTS, I found that there are two
bytes of flags in the OMEGBSC segment that are now two
variables, OMDBWRN (DB Warnings) and OMGENWRN (General
warnings) added to CICSTRAN if you enable IMACICOC.
Thanks to Melanie Floyd, UPS, USA.
Thanks to Jon Taf, UPS, USA.
Thanks to Dennis Hancock, UPS, USA.
Change 16.066 The MXG CONFIG option SASAUTOS=(SOURCLIB SASAUTOS) is now
CONFIG used so that sites that have their own macro libraries in
Apr 28, 1998 their SASAUTOS collection can be found under MXG.
The earlier option was just SASAUTOS=SOURCLIB, which
prevented you from finding your macros in your SASAUTOS.
(Many sites concatenated their macro libraries and/or
the SAS.MACRO library to their //SOURCLIB DD.)
Thanks to Alfred Mueller, ABN - Amro, USA.
Change 16.065 The NPM format MG028VA decoded an undocumented '0A'x
FORMATS value. IBM has confirmed the '10'x documented for the
Apr 28, 1998 LVMATYP field should be '0A'X, so FORMATS now contains:
10='0AX:PCT TIME IN BLOCKED RATE' instead of
16='10X:PCT TIME IN BLOCKED RATE'.
Thanks to Paul Hill, Midland Bank, ENGLAND.
Change 16.064 In dataset TYPE72GO, variable RESPAVG is kept and EXETTM
VMAC7072 is created and kept. RESPAVG is equal to AVGELPTM, but
Apr 28, 1998 keeping RESPAVG, which was the name in TYPE72, will help
Aug 14, 2001 sites migrating to Goal Mode. The Total Transact
Execution time, R723CXET, is now kept in new variable
EXETTM. Previously, only the average value AVGXETTM was
kept in TYPE72GO, and it was calculated only if TRANSEXC
was non-zero (because I thought EXETTTM was updated only
when TRANSEXC - when a transaction in execution phase had
ended). But Brenda found non-zero EXETTM with zero count
in TRANSEXC, and Don Deese's current paper confirms that
EXETTM is non-zero for batch service classes, even though
TRANSEXC is always zero for batch. So now, not only is
EXETTM a kept variable, but also AVGXETTM is calculated
as EXETTM/TRANSEXC if there were subsystem transactions
terminating, or else AVGXETTM=ELAPSTM/TRANS if there were
no TRANSEXC but TRANS was non-zero.
For non subsystem transaction service classes (like batch
and TSO), variable EXETTM now measures in Goal Mode what
was measured in ELAPSTM in Compatibility Mode.
In debugging my change, (examining the missing value
notes on the log), I found a line with PCTUSNDI that
did no harm but is now deleted, and I discovered that
replacing:
SUMPTRAN=SUMPTRAN+RTSTRN(M); /*ADDING*/
with
SUMPTRAN=SUM(SUMPTRAN,RTSTRN(M)); /*SUM FUNCTION*/
not only eliminated the missing value notes on the
log, but also saved CPU time! While SUMPTRAN (the
accumulated transaction count as I loop across the
thirteen response count buckets) was always set to
zero before the loop, if a service class had no
response buckets, RTSTRN(M) was missing, and the loop
ran thru all thirteen buckets, because the ADDING zero
to missing is still missing. Instead, using the SUM
function, zero plus missing is zero, so the test that
follows (IF SUMPTRAN GE NRPTRANS) is now satisfied on
the first iteration, so we bail out of the loop,
instead of DOing it thirteen times!
Thanks to Brenda Rabinowitz, Prudential Securities, USA.
Thanks to Carole Storby, LMCO, USA.
Change 16.063 Support for OS/400 Version 4.2.0 (COMPATIBLE).
VMACQAPM -New QAPMCONF configuration GKEY values of 'CI' and 'SJ'.
Apr 27, 1998 -New QAPMJOBS variables JBTCPU,JBTHDF,JBTHID,JBTHAC,
JBTHCT,JBMTXT, and JBSTSF were added. The QAPMJOBS file
is now LRECL=812 vice 617.
-The +52 after JBSJFG was changed to +58. This change
corrects 4.1.0 variables after JBSJFG.
-New QAPMDISK variables DSBGDR,DSBGDW,DSBGS,DSCOMP,
DSFGDR,DSFGDW,DSFGRE,DSFGS,DSFGWE,DSLBA,DSLBW,DSPBA,
DSPBCO and DSPBU were added. The QAPMDISK file is now
LRECL=346 vice 267. The variable PCTIOPBY seems to be
invalid, as the DSIDLC field contains very large values.
This needs to be examined further, and will be updated
if I learn more.
-New QAPMECL variable EMDUP was added.
-New QAPMETH variable ETMDUP was added.
-New variable XIADRN was added to QAOMIOP1-4 datasets.
Except for possible LRECL changes in your JCL, the 4.2
records were compatibly changed.
Thanks to Clark Jennings, Reynolds Metal, USA.
Thanks to Stuart Burnett, Reynolds Metal, USA.
Change 16.062 This revision to the RMF III VSAM assembly program adds
ASMRMFV support for the CSR, the Common Storage Remaining data
May 10, 1998 segments. This level 002 of ASMRMFV has been tested, but
I have not yet updated the TYPERMFV code for the CSR.
Change 16.061 The UTILCICS output listed UN98309 for any region, but
UTILCICS that APAR only applied to CICS 4.1; the fields added by
Apr 27, 1998 that APAR are in CICS TS by default, so the test to set
PTF='UN97309' now also tests SMFPSRVR=41.0. This CICS
dictionary-reading utility also now knows about the new
CANMQ and CANWLMSC sections and sets the ERRMQ=64 error
if CANMQ segments of only 64 bytes are found. The early
Candle documentation showed 64 bytes, but the correct
length is 76; if you get ERRMQ=64, then your CICS guru
needs to correct the MCT length for CANMQ to be 76 bytes.
Thanks to Melanie Floyd, UPS, USA.
Thanks to Jon W. Taff, UPS, USA.
Change 16.060 Sterling's Connect Direct (formerly NDM) subtype "PT"
VMACNDM process termination data is trashed; timestamp variables
Apr 27, 1998 NDMSUBTM and NDMSKDTM get INVALID VALUES messages, and
other PT variables are also wrong. Sterling has an open
problem report, item PI-754129, but no fix yet, but now
called Sterling CASE 7916. In 1994 there was a similar
error in "PT" in Change 11.326, but this time I found
Sterling Tech Support and received same-day service!.
But there was also an MXG error, as the INPUT for the PT
segment was off by two bytes, and there was a new
variable, NDMSEQ, added at the end that was overlooked.
Also, to prevent those INVALID VALUE messages before you
get a fix from Sterling, I inserted the ?? modifier for
each packed PT field. The MXG fix to the PT input:
change LOC=LENGTH-21; to LOC=LENGTH-23;.
Thanks to Brian Crow, BT, ENGLAND.
Change 16.059 -Variable NWMSINRT was not kept in dataset MSEXCHIS due to
VMACDECS mispelling as NWMSINRJ in the KEEP=list.
VMACNTSM -Repeats of six variables in KEEP= list in VMACDECS were
Apr 27, 1998 removed, though they caused no problem.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 16.058 Changes made in MXG 15.15 caused ASMIMSL5 to fail during
ASMIMSL5 assembly were corrected and the revised member was tested
Apr 27, 1998 with IMS 5.1 log records without error.
Thanks to George Ellard, FEDEX, USA.
Change 16.057 -The label for variable OMVSOPR in dataset TYPE30OM built
VMAC74 by BUILDPDB was wrong, because dataset TYPE74OM also has
VMAC78 a variable OMVSOPR, and the 74's label replced the 30's.
Apr 27, 1998 To resolve the conflict, the type 74 variable OMVSOPR was
renamed to OMVSOPRP to protect the TYPE30OM variable,
which could cause VARIABLE OMVSOPR NOT FOUND, but only if
you use the TYPE74OM data set AND explicitly referred to
OMVSOPR in your SAS report code.
-The label for variable SYSNAME in member VMAC78 was used
for all BUILDPDB datasets, but it had a typo. The
correct spelling is IEASYSXX and not IESAYSXX.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 16.056 Comments and INVOKEBY= were changed to ASUMCICX in this
ASUMCICX optional replacement for ASUMCICS (see Change 15.205).
Apr 25, 1998
Thanks to Jim Ray, Branch Banking and Trust, USA.
Change 16.055 Archaic FMXGUCBL failed under SAS 6.09, but re-assembly
FMXGUCBL of the member with the SETSSI AF010000 (as mentioned in
Apr 25, 1998 Change 12.015), eliminated the 0C4, and by changing
TXTUC15 DC X'0015',X'0001',X'0003' CODE 15 - UNIT ADDRESS
to increase its length from three to five bytes:
TXTUC15 DC X'0015',X'0001',X'0005' CODE 15 - UNIT ADDRESS
eliminated the DYNAMIC ALLOCATION FAILURE FOR VOLUME xxxx
with REASON-021C error on each volume.
The SETSSI statement now sets AF010000 vice AF000000.
This member is archaic in that DCOLLECT is now the MXG
recommendation, and before that, ASMVTOCs had replaced
the very old FMXGUCBL. However, it still works and
fixing it with a re-assembly was easier than re-writing
the existing reports to use ASMVTOC or DCOLLECT!
Thanks to Karl Schlichting, CSC New Zealand, NEW ZEALAND.
Change 16.054 Cosmetic. Now, if you try to use TYPETMO2 to read TMON
VMACTMO2 records that were converted to V 8.1 format, member
Apr 25, 1998 TYPETMO2 (which is for native V 2.0 unconverted format)
will tell you that you should be using member TYPETMO8.
Thanks to Diane DePasquale, CSC TMG Warren, USA.
======Changes thru 16.053 were in MXG 16.01 dated Apr 9, 1998======
Change 16.053 Minor errors corrected after first MXG 16.01 tapes:
ASUMPRTR ASUMPRTR now %INCLUDEs IMAC6 and IMAC7072 to protect the
TRND72 _LTY6 and _LTY72 macro names when ASUMPRTR is run as part
VMACIPAC of the MXG QAJOB. TRND72 had RESPSTD located after the
VMACTRSN the ending parenthesis, causing syntax error.
Apr 9, 1998 VMACIPAC syntax error. IF CC=. THEN IF .... changed to
IF CC=. AND IF .... in four lines.
VMACTRNS was deleted again; it was a misspelling that was
removed from 15.15 but crept back into the first 16.01.
======Changes thru 16.052 were in MXG 16.01 dated Apr 8, 1998======
Change 16.052 Another INCOMPATIBLE Year 2000 change, the RDS 6.1 SMF
VMACIPAC record inserted two bytes to change YY to YYYY in four of
Apr 8, 1998 their five subtypes. This change tests variable VERSION
to be NE 'V-1', but I have not been able to verify if the
record version is actually going to be useable to detect
the changed record format. At worst, you might have to
use a different SMF record number for the RDS 6.1 record,
and change the MXG test in VMACIPAC that reads IF VERSION
NE 'V-1' in four places to IF ID=nnn. V-1 is in current
version records, but is also shown in the Mobius copybook
for 6.1, so I don't know if they actually changed the
VERSION field or not. Look for an update to this change
text on our homepage once 6.1 records have been created.
View Direct 6.1 is the new name of RDS / IPAC product.
See revisions in Change 16.085.
Thanks to Clark Jennings, Reynolds Metal, USA.
Change 16.051 Variable RESPSTD, the standard deviation of the average
TRND72 response of ended SRM transactions, is now created in the
TRND72GO TRND72 and TRND72GO trending. The default MXG summary
Apr 8, 1998 level of PERFGRP or SRVCLASS can be changed to break out
each PERIOD, by simply adding variable PERIOD at the end
of the SUMBY= statement in those members, if you want to
see individual periods' data (so you can trend TSO period
one, for example). I cannot safely change my default to
a lower level without potentially destroying somebodys
reports, but you can change it for your site and then
add PERIOD to your reports.
Thanks to Chuck Hopf, MBNA, USA.
Change 16.050 PROC PRINT's that have multiple pages per BY group are
ANALCNCR messed up due to a SAS problem, a conflict between the
Apr 8, 1998 NOBYLINE parameter (which permits us to make reports
prettier) and the existence of an ID statement with the
same list of variables as the BY statement (and we used
BY &SUMBY; ID &SUMBY; to make the reports even prettier).
SAS Usage note V6-PRINT-6788 discusses the error, found
in SAS 6.07, but there will be no fix sooner than SAS
Version 7. So, while the reports are prettier still with
both the NOBYLINE parameter and the ID statement, I have
commented the two ID &SUMBY; statements, so you still get
pretty reports, but now they will print All report pages!
Thanks to Glenn Bowman, Wakefern Food Corporation, USA
Change 16.049 Landmark's TMON Version 2 records that are converted to
TYPEMON8 Version 8.1 format by TMON utility program TMONCNVT are
Apr 7, 1998 now Year 2000 compliant, but the change was INCOMPATIBLE
so you will need MXG 16.01 or later is you still convert
your new TMON records to the old format. Landmark also
replaced the TMMDCCLK field which was a series of packed
fields (0962821314185700 was 96282 13:14:18.57) with a
new value (B043AA3E81B0F701 now for April 6, 1998),
which causes INVALID DATA FOR D12 messages because D12 is
no longer a valid packed field, and since I have no clue
from Landmark documenting this change (I have only a dump
of the record causing that message), and since it is late
at night and I want to wrap up MXG 16.01 before I sleep,
variable TMMDCCLK will be a missing value in these new
Y2K-compliant-8.1-format records, and the INVALID DATA
message is eliminated. Fortunately, TMMDCCLK is an
internal datetimestamp that was not even kept by MXG.
Thanks to Tim Downs, WCI/CSC Warren Ohio, USA.
Thanks to Mike Cezarro, City of Rochester, USA.
Thanks to Kumar Thavakumar, City of Rochester, USA.
Change 16.048 -Support for NTSMF new Object SNA Logical Unit Sessions
EXNTMSES creates new SNALUSES dataset with the same variables as
EXNTSNAL in the SNA Connection Object (dataset SNACONN).
EXNTSNAR -Support for NTSMF new Object SNA 3270 Response Times
EXNTWIDE creates new SNARSPTM dataset with five response buckets
IMACNTSM R3270TH1-R3270TH5 with percentage of responses (whatever
VMACNTSM that is) in each bucket. However, the values are the
Apr 8, 1998 same for each SNACONNM value, so I believe these data
are still wrong in NTSMF 2.1.0 (which had to deal with
the people writing this object not following the rules
to write data correctly!).
-Support for new MS Exchange Event Services object
creates new MSEXCHES dataset.
-Support for the SNA Adapter SnaDlC1 (yep, that's a
lower case l, a upper case C and the numeral one!)
outputs to the existing SNAADAPT, but there is no
longer an SNAADAPT name field. I reused the same
dataset because there never were any NTSMF records
created with the original name field + counters.
-Support for the WideToMBErr object creates new dataset
WIDE2MBE.
-The _BNT macros needed these variables added to the BY
list for the dataset sorts: _BNTPROC has PID added,
_BNTNETI has INTRNAME added, and _BNTMSMC has CONNNAME
added.
Thanks to Jim Quigley, Con Ed, USA.
Change 16.047 Variable JCSPTOD in CICS Journal Segment was validated
VMAC110 for Shared Medical System's journal data, but only with
Apr 7, 1998 CICS Version 2 data. The CICS/ESA logic in VMAC110 still
had JCSPTOD ?? PDTIME4., which produced wrong values.
The logic from V2 journal was copied into the CICS/ESA
journal processing logic. This error impacts you
only if you were decoding your own journal segments.
Thanks to John Croasdale, Barclays Bank Group, UK.
Change 16.046 New ASUM member to summarize TYPE42DS (SMS Interval
ASUM42DS I/O activity) by dataset to report total I/O to each
Apr 6, 1998 dataset from all users, counting the number of users
using that dataset during each interval.
Thanks to Simone Niemczura, FISERV, USA.
Change 16.045 -Support for Internet Information Services Global Object
EXNTSMTP Version 4.0 in INCOMPATIBLE with Version 3.0; the two
EXNTWEBS counter objects Cache Size and Cache Used, MXG variables
IMACNTSM CACHSIZE and CACHUSED in dataset IISG, were removed by
VMACNTSM the new 4.0 version of IIS.
Apr 3, 1998 -Support for Active Server Pages object's nearly complete
restructure, with 14 fields kept from prior version,
with 19 new fields added, and these 10 fields deleted:
ASTHPOCU ASRQCURR ASRQERRT ASRQTOEX ASRQTONQ
ASCOMFAI ASMEMUSE ASMEMFRE ASRQBREX ASRQTOTQ
-Support for new FTP Service Object replaced the previous
FTP Server Object, but MXG outputs into the same FTPSERV
dataset that was built from the prior FTP Server Object.
The only difference between the old and new objects is
that the new FTP Service Object has an instance field,
new MXG variable FTPSERVR (name of the FTP Server), that
did not exist in the old FTP Server object.
-Support for new Web Service Object creates new WEBSERV
dataset; this new Web Service Object logically replaces
the previous HTTP Service object that created MXG HTTP
dataset, but as many HTTP fields no longer exist in the
new Web Service Object, and as there are many new fields,
the new WEBSERV dataset must be used in place of HTTP.
-Support for new SMTP Server Object creates new SMTPSERV
dataset.
Thanks to Leigh Ann Payne, Wachovia Operational Services, USA.
Change 16.044 The JCL example had //DB2ACCT DD pointing to the DB2ACCT
ANALDB2C dataset, but the default in IMACDB2 creates PDB.DB2ACCT,
Apr 2, 1998 so the example now has //PDB instead of //DB2ACCT.
The newer combination of ASUMUOW and ANALUOW are really
the better tools for matching CICS and DB2 transactions.
Thanks to Alfred Holtz, Merck Medco, USA.
Change 16.043 -ASUMIDMS was touched up. Variable TASTTYPE and TASKTYPE
ASUMIDMS now have their length set as $1 and @26 respectively, in
TESTUSER LENGTH statements instead of FORMAT statements. The
TRNDIDMS -TESTUSER was touched up. The hardcoded IDMSxxx dataset
Apr 2, 1998 names were replaced by the _LIDMxxx macro names.
Jan 19, 1999 -TRNDIDMS is a new contribution from Alan, based on the
TRNDCICS member of MXG, and provides IDMS trending.
-Updated Jan 19, 1999: In ASUMIDMS, the line that read
TSKTIMUS=TASTIMWT; was changed to TSKTIMUS=TASTIMUS;
Thanks to Alan Deepe, Perot Systems, ENGLAND.
Thanks to Richard S. Ralston, Whirlpool, USA.
Change 16.042 Using TYPERACF to read the unloaded RACF database that is
VMACRACF created by IBM utility IRRDBU00, variable OMVSPROG was
Apr 2, 1998 not created in dataset RACF0270, but now it is, being
INPUT @1050 as a $CHAR200 variable.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 16.041 Change 15.320 inadvertently changed the PDB to PDBMXG in
UTILCONT two places and lost an &, so this new utility to print
Apr 2, 1998 the contents (in mega-bytes and obs) of SAS datasets in
a SAS Library fails. Change both PDBMXG to PDB, and
add the missing & to %LET PDB=%UPCASE(&PDB); .
Thanks to Rick Salazar, City of Long Beach, USA.
Change 16.040 Corrupted type 42 subtype 6 caused INPUT EXCEEDED error.
VMAC42 The record has SMF42PDL=DFSMSV1R and SMFPDN='DF TP' but
Apr 2, 1998 the rest of the product section is trash and the record
is longer than its triplets indicate is should be!
The INPUT EXCEEDED occurs because MXG did not validate
that the offset field in the PRODUCT section was less
than the record length. To detect and delete these
corrupted records, insert this circumvention:
IF OFFJDDS+LENJDDS GT LENGTH+1 THEN DELETE;
after the statement LOOP42:
The actual MXG change was more extensive, and will
produce a diagnostic message on the SAS log that the bad
record is being skipped.
Thanks to Melanie Floyd, United Parcel Service, USA.
Change 16.039 Year 2000 only. READTIME in TYPE6 will be 1900 for a job
VMAC6 read in year 2000. MXG's protection for CA-Dispatch's
Apr 2, 1998 corruption of the first byte of julian date was resetting
May 14, 1998 the century bit to zero. The statement in VMAC6 could
have been changed from
IF SUBSTR(READCADI,5,1) GT '00'X THEN
SUBSTR(READCADI,5,1)='00'X;
/*CA-DISPATCH CORRUPTION FIX*/
to
IF SUBSTR(READCADI,5,1) GT '01'X THEN
so both year 2000 and CA corrupt records can be processed
correctly. Following text revised May 14, 1998.
However, the actual change that I made was to remove the
protection for the CA corruption, since their current
versions must be installed for year 2000 anyhow, and the
MXG heuristic protection is just another opportunity for
a future error! This error would also have affected
BUILDPDB; the print records would not match the READTIME
of the other job records, so they will create separate
obs in PDB.JOBS with the 1900 date and only print
resources, while the real PDB.OBS with 2000 date will
have no print resources counted.
Thanks to Arzina Merali, Alberta Public Works, CANADA.
Thanks to Joe Zelyas, Alberta Public Works, CANADA.
Taught 3-day class in Dallas, Mar 30 - April 1, 1998.
Change 16.038 Cosmetic. Messages about INVALID SUBTYPE VALUES that
VMXGGETM seemed endless are now printed only for the first five
Mar 27, 1998 records in this utility used to create SMFSMALL file.
Thanks to Joe Zubras, Pennsylvania Hospital, USA.
Change 16.037 Cosmetic. Format $MG028ST was created by Change 13.072,
VMAC28 but was supposed to be used for variable LSCDSTYP, but
Mar 27, 1998 that was only accomplished now, with this change.
Change 16.036 Nine instances of "=F" must be changed to "@" in this
ANALMULT example report; different character translation tables
Mar 27, 1998 were used during transmission of this member.
Change 16.035 Year 2000 Support for AS/400 was incorrect. There are 44
VMACQAPM instances of IF YY GT 0 THEN ... that must be changed to
Mar 27, 1998 IF YY GE 0 THEN ....
and the four lines preceding GDES1=MDY(MO,DD,.... that
input variables YY MO DD and CC with informat &NUM.n.
need double-questionmarks between the variable and the
informat, eg., YY ?? &NUM.2.
Without this fix, the date variables in the year 2000
(only) will have 1960 dates (Because their value is zero
and the zero SAS date is 1960.
Thanks to Mike Wroot, SAS UK Customer Support, ENGLAND.
Thanks to Paul Hill, Midland Bank, ENGLAND.
Change 16.034 Support for DECnet/SNA DTF SMF records creates nine new
EXDECS01 MXG datasets:
EXDECS03 Subtype Dataset Description
EXDECS04 01x *DECSSTAR DECNET/SNA ADDRESS SPACE START
EXDECS05 03x *DECSBEGN DECNET/SNA SESSION BEGIN
EXDECS06 04x *DECSEND DECNET/SNA SESSION END
EXDECS07 05x DECSDIR DECNET/SNA DIRECTORY REQUEST
EXDECS08 06x *DECSALOC DECNET/SNA FILE ALLOCATION
EXDECS09 07x DECSOPEN DECNET/SNA FILE OPEN
EXDECS0C 08x *DECSCLOS DECNET/SNA FILE CLOSE
EXDECS0d 09x *DECSERAS DECNET/SNA FILE DELETE
EXDECS0f 0Cx DECSREQB DECNET/SNA IBM REQUEST BEGIN
EXDECS10 0Dx DECSREQE DECNET/SNA IBM REQUEST END
FORMATS 0Fx DECSTERM DECNET/SNA ADDRESS SPACE TERMINATE
IMACDECS 10x DECSRCAL DECNET/SNA DATASET RECALL ON DIR
TYPEDECS The six datasets prefixed with '*' above have been
VMACDECS tested with data records.
Mar 26, 1998
Thanks to Brian Harvey, Navistar International Transportation, USA.
Change 16.033 IDMS 10.2 records were not output, so all seven lines
VMACIDMS with IF 'xxxx' LE SMFHVER LT '1400' THEN DO; were
Mar 25, 1998 changed to IF SMFHVER LT '1400' THEN DO;
Thanks to Ron Larue, FDISG Boston, USA.
Change 16.032 The MXG DISCOVERY. NO STRUCTURE MATCH. NON FATAL message
VMAC74 should no longer occur. The message was printed when a
Mar 25, 1998 structure in the Request Data Section was not found in
the Structure Data Section, and the only impact was that
variable R744QSIZ in TYPE74ST would be missing for that
structure name in that observation. But now, having
examined sample mismatches, I find that there is an entry
for the Structure in the Request Data Section, but there
is no corresponding entry in the Structure Data Section,
and the Request Data Section has R744SFLG='00000000'B, so
this structure neither was Online at End of Interval, nor
did it Become Active during the interval, but it had been
connected at the start of the interval, hence the Request
Data Section. But IBM explains that the Structure data
is a snapshot at interval end of all allocated structures
in the coupling facility (returned by IXCQUERY), and as
the structure was not allocated at interval end, there is
no structure data. This accounts for the mismatch, so
now, the mis-match message won't be printed when R744SFLG
is zero.
Thanks to Steve Smith, BGS, USA.
Change 16.031 CICS UNEXPECTED STATISTICS RECORD with STID=0 or = large
VMAC110 was caused by incorrect processing of STID=94 record. The
Mar 25, 1998 +11 after LGSAUTOP was INPUT must be +7. This also caused
zero observations in dataset CICLGS.
Thanks to Steve Smith, BGS, USA.
Change 16.030 Variable ABENDUSR in dataset CIMSPROG has never been
VMACCIMS right. The equation ABENDUSR=MOD(ABENDSYS,16)+ABENDUSR;
Mar 24, 1998 must be replaced with ABENDUSR=MOD(ABENDUSR,4096); and
ABENDUSR must be removed from the HEX4 format statement
as IMS User Abends range from 0 to 4095, not 0 to FFFx,
so they will now print as decimal by default.
Thanks to Karen Sherman, Franklin-Templeton, USA.
Thanks to Wayne Collins, Franklin-Templeton, USA.
Change 16.029 Variable R723CIMP (Importance Level) was in the SUM=
TRND72GO argument, making it meaningless in non-zero CPU Dispatch
Mar 24, 1998 times and non-zero Percent CPU Busy values.
Change 16.028 MXG 15.15-15.07 Only. For PR/SM Deactivated Partitions,
ASUM70PR observations were created that had non-zero CPU Dispatch
VMAC7072 times and non-zero Percent CPU Busy values, which when
Mar 24, 1998 summed into ASUM70PR could record more than 100% CPU Busy
for the CEC. Fortunately, very few sites have Partitions
Deactivated, but if you have this error, there will be
observations in TYPE70PR with LPARCPUS=0, as that is the
Deactivated Partition flag.
If you do have LPARCPUS=0 obs, you can correct the old
PDB.TYPE70PR data simply by deleting TYPE70PR obs with
LPARCPUS=0, and then re-run ASUM70PR (which reads the
corrected TYPE70PR dataset) to re-create the corrected
PDB.ASUM70PR dataset:
DATA PDB.TYPE70PR; SET PDB.TYPE70PR;
IF LPARCPUS=0 THEN DELETE;
%INCLUDE SOURCLIB(ASUM70PR);
You can prevent the creation of LPARCPUS=0 observations
in tomorrow's PDB by adding an IF test before the OUTPUT
statement in member EXTY70PR:
IF LPARCPUS GT 0 THEN OUTPUT ....;
until you install this change or MXG 16.01 or later.
The Permanent Fix. Change 15.299 created observations
for the Deactivated Partitions (for availability
reporting) but it failed to reset the variables from the
previous segment in this record. The permanent fix is to
insert these lines immediately after the existing IF:
IF LPARCPUS=0 THEN DO;
LCPUPDTM=.;
LCPUADDR=.;
LCPUSHAR=.;
LPARVPF =.;
LCPUEDTM=.;
LCPUDED =' ';
LCPUWAIT=' ';
LCPUCHST=' ';
LCPUCHWT=' ';
LCPUCAP =' ';
LCPUCAPC=' ';
ORIGWAIT=.;
NEWWAIT=.;
PCTCPUBY=.;
PCTMVSBY=.;
Thanks to Wayne Lauck, State of South Dakota, USA.
Change 16.027 While Change 15.273 mentioned that JES3 APAR UW41108
VMAC26J3 was required to fix an IBM error in the JES3 type 26
Mar 23, 1998 purge record, it did not protect the absence of that
APAR. By inserting IF LENGTH-COL+1 GE 10 THEN
immediately before the INPUT SMF27LN7 &PIB.2.
statement, even if the APAR is not installed, MXG won't
fail.
Thanks to Pete Gain, SAS Software, ENGLAND.
Change 16.026 New subtype 6 SMF type 99 record caused INVALID SERVER
VMAC99 SECTION TRIPLET because SMF99CPO=SMF99CPO+SMF99CPN;
Mar 22, 1998 should have been SMF99CPO=SMF99CPO+SMF99CPL;
This also caused truncated values for SRVCLASS.
Thanks to Steve Smith, BGS Systems, USA.
Change 16.025 "SHORT ABAR" warning messages about deleted records could
VMACHSM be erroneously created. Insert the INPUT statement below
Mar 22, 1998 between the ELSE DO; and the LENGTH-COL test so it reads:
ELSE DO;
INPUT @15+OFFSMF @;
IF LENGTH-COL+1 LT 274 THEN DO;
The COL value was still @40 as a result of the prior
INPUT, so records that were sufficiently long were
incorrectly deleted, but with the warning message.
Thanks to Don Friesen, B.C. Government, CANADA.
Change 16.024 -Support for new object "Database" creates new MXG dataset
EXNTDATA named DATABASE. This object has 104 fields in the record
IMACNTSM but only 16 are populated with field names and data.
VMACNTSM -Support for EXCHANGE 5.5 (INCOMPATIBLE) inserted data in
Mar 21, 1998 seven MS Exchange objects (IMC, IS Private, IS Public,
IS, Internet Protocols, MTA, and MTA Connections), which
caused INVALID TRIPLET warnings and skipped records until
this change is installed. Scores of variables were added
and some no longer exist in the Exchange records.
-Messages INVALID DATA FOR DURATM for Discovery Records
(Discovery Records have OID=0) occurs with NTSMF 2.1.4
records, but it has no impact on the real datasets that
MXG creates. The format of the Discovery Records was
changed, causing the MXG message.
-In addition, the _UNTDISC utility to print the Discovery
Records no longer worked with Release 2.0.h, which has a
NRNAMES field only in the 0.5 and not in the 0.6 or 0.6,
and there is an extra field at the end of each 0.7 record
that contains a repeat of the penultimate field. Also,
records from NTSMF 2.1.4 have still different Discovery
records, but the NTSMF Version is still 2.0.h, so logic
based on whether DURATM is missing or not (because the
new format has OBJECT name where DURATM was) is used to
decode which Discovery Format is in place, so that
_UNTDISC is now functional.
Thanks to Jim Quigley, Con Edison, USA.
Change 16.023 Change 15.368 added the DURATM=INTERVAL parameter to the
ASUMJOBS VMXGSUM invocations in most ASUM members, but ASUMJOBS
Mar 20, 1998 was overlooked until now.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 16.022 Only for those few who use the &DEBUGMXG symbolic during
VMXGSUM testing is this minor fix needed. The three lines
Mar 20, 1998 %IF &MXGDEBUG GE 2 ...; %ELSE %IF &MXGDEBUG GE 3 ...;
May 14, 1998 and %ELSE %IF &MXGDEBUG GE 4 ....; need the %ELSE
removed from the second and third lines.
This Change was not included in MXG 16.01, but was in
MXG 16.02.
Thanks to Graham Bell, Blue Cross Blue Shield of Kansas, USA.
Change 16.021 The TRENDing of TYPE70 dataset had not been updated for
TRND70 more than 8 CPUs. While TYPE70 contained sixteen buckets
Mar 20, 1998 for CPU's (variables suffixes 0-9,A,B,C,D,E,F), but the
TRND70 member was overlooked when variables 9 and above
were added to TYPE70. The lists of these variables were
expanded: CPUWAITn, IORATEn, PCTCPBYn, PCTTPIn, VFAFFTMn,
and logic added for PCTTPIn, PCTCPBYn and PCTRDYWT
calculations.
Thanks to Graham Bell, Blue Cross Blue Shield of Kansas, USA.
Change 16.020 Support for Software Engineering's SpaceManager's two
EXSPMGSP flat files, Space Records and Volume Records create two
EXSPMGVL new datasets:
FORMATS SPMGSPAC - SpaceManager Space Records
IMACSPMG SPMGVOL - SpaceManager Volume Records
TYPESPMG MXG requires both a //SPMGSPAC DD and a //SPMGVOL DD and
VMACSPMG will read both files with member TYPESPMG. If you only
Mar 20, 1998 want to process one file, simply DD DUMMY the unwanted.
Apr 7, 1998 Several new $MGSPMxx formats are created, so you will
need to update your MXG Format library using this new
FORMATS member.
Thanks to Hans Juergen-Beck, DVG, GERMANY.
Change 16.019 -Variables TPXBYTI and TPXBYTO have always been wrong, due
VMACEPIL to an error in CA's documentation. Instead of being two
VMACOMAU 8-byte fields, they are now input as &PIB.4. and a line
VMACOMCI with +4 follows each to skip over the unused 4-bytes.
VMACTPX -It was also noted that all of the internal TPX datetimes:
VMAC39 TPXETIME, TPXSTIME, TPXUTIME were on the GMT clock, while
Mar 20, 1998 the SMFTIME is on the local clock, but there is a GMT
Apr 6, 1998 offset in the record, so now, MXG converts those three
timestamps into local. The CVTTZ field in the record is
the high four-bytes of the GMT offset, which is not an
exact value, so the following algorithm is required to
get the GMT offset in seconds into TPXCVTTZ:
INPUT TPXCVTTC $CHAR4. @;
TPXCVTTZ=INPUT((TPXCVTTC!!'00000000'X),&IB.8.6)/4096;
IF . LT TPXCVTTZ LT 0 THEN TPXCVTTZ=FLOOR(TPXCVTTZ);
ELSE TPXCVTTZ=CEIL(TPXCVTTZ);
For example values, the raw TPXCVTTC is '00000D69'x for
a +1 hour (3600 seconds) European offset, and for a -5
hour (-18000 seconds) USA EST is 'FFFFBCF2'x.
Then to correct timestamps to local, you add TPXCVTTZ:
TPXETIME=TPXETIME+TPXCVTTZ;
-In validating this change, I looked at all of the members
that contain CVTTZ and I discovered that in four members,
VMACEPIL, VMACOMAU, VMACOMCI, and VMAC39, I had reversed
the FLOOR and CEIL functions, which caused a one second
error in value of the GMT offset, so those four members
were also corrected by this change.
Thanks to Harry Olschewski, DeTeCSM, GERMANY.
Change 16.018 Member DOCGRAF is updated with examples of getting graphs
DOCGRAF from the mainframe to your PC. The new examples were
Mar 20, 1998 originally postings on our MXG-L ListServer.
Thanks to Bob Hare, Comerica, INC, USA.
Thanks to Neal Musitano, Jr., Department of Veterans Affairs, USA.
Change 16.017 The three DSORG fields in DCOLLECT (DCDSORG,UMDSORG, and
VMACDCOL UBDSORG) are increased to three bytes long from two, and
Mar 19, 1998 the suffix "U" will be added (e.g., DSORG='PSU') for the
files that "contain location dependent information, the
old "Unmoveable" attribute. I had erroneously set the
DSORT='U' for the Unmoveable attribute.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 16.016 Change 15.356 introduced the &MACxxxx macros, but member
IMACFILE IMACFILE was overlooked. Now, &MACFILE is initialized as
VMXGINIT blank in VMXGINIT and a line with only &MACFILE now ends
Mar 18, 1998 member IMACFILE (which is included after the SMF header
has been input), so that any tailoring of member IMACFILE
(formerly done EDIT and SAVE into your USERID.SOURCLIB)
and now be done inline by setting the &MACFILE variable.
Because this &MACFILE variable will be inserting actual
SAS statements with semi-colons, the always-safe-syntax
to use to insert statements in &MACFILE is:
%LET MACFILE= %QUOTE(
LINE OF CODE TO BE EXECUTED ;
LINE OF CODE TO BE EXECUTED ;
LINE OF CODE TO BE EXECUTED ;
) ;
For a specific example, your //SYSIN program could be:
%LET MACFILE= %QUOTE(
IF ID=110 AND SUBTYPE=2 THEN DELETE;
) ;
%INCLUDE SOURCLIB(TYPE110);
would delete the CICS subtype 2 (Statistics) records so
no //WORK space would be needed by them, but would read
the CICS subtype 1 transaction records to create CICSTRAN
observations. Note that while the references are
&MACFILE, the %LET syntax does not use the ampersand.
If you have an-already-tailored IMACFILE member, you must
either add &MACFILE to the end of your tailored member
(so that any code added inline with &MACFILE will be
executed AFTER the code in member IMACFILE), or you must
remove your tailored IMACFILE member and do all your
tailoring in the %LET MACFILE= statements.
For reasons that are still unclear, it was necessary to
add a semicolon after the &MACFILE statement in the
IMACFILE member to satisfy the SAS compiler under MS
Windows, but not under MVS!
Thanks to Chuck Hopf, MBNA, USA.
Change 16.015 Documentation. Variable JCSPTIME had been INPUT but not
VMAC110 kept, but was re-spelled as JCSPTOD when it was added to
Mar 17, 1998 the KEEP= list for dataset CICSSMED in Change 15.157.
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Change 16.014 Variables XMGMXT and XMGTNUM were not kept in CICINTRV
CICINTRV dataset (in CICS 4.1 XMGMXT replaced DSGTL's MAXTASK
Mar 16, 1998 limit; DSG fields for AMAXTASK no longer exist in 4.1).
In the last VMXGSUM invocation in member CICINTRV, add
XMGTNUM to the SUM= argument and XMGMXT to the MAX=.
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 16.013 Cosmetic. Variable WTSCWTCN was given FORMAT TIME12.2,
VMACTMO2 but the variable that should have been in the FORMAT
Mar 16, 1998 statement was WTSCWTTM.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 16.012 IDMS Version 10.2.1 PMHRTYPE=1 records caused error INPUT
VMACIDMS STATEMENT EXCEEDED RECORD LENGTH. Find the FIRST instance
Mar 16, 1998 of the line reading:
ELSE IF '1201' LE SMFHVER LT '1400' THEN DO; and change
it to read: ELSE IF '1021' LE SMFHVER LT '1400' THEN DO;
Thanks to Alan Deepe, SBC Warburg Dillon Read, ENGLAND.
Change 16.011 Variable SRHCRWRT is now SRCHRWRT to be consistent with
VMACNTSM the other spelling of other SRCHxxxx variables in dataset
Mar 15, 1998 FULCRUM built from NTSMF records.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 16.010 Member YEAR2000 now warrants that MXG is (in IBM terms)
YEAR2000 "Year 2000 Ready", and the cover letter that is normally
Mar 15, 1998 sent in reply to year 2000 requests is now included at
the beginning of member YEAR2000.
Change 16.009 Variable MXGVERSN in dataset TYPE70 was blank in 15.15.
VMAC7072 Originally MXGVERSN=SYMGET('MXGVERS'); was before the
Mar 13, 1998 IF (ID=70 OR ID=72) AND NOT MVSXA THEN DO; logic, but
Change 15.354's relocation of IF tests (for BUILDPDB's
performance) inadvertently caused the SYMGET to only be
executed for pre-XA RMF records. The simple fix is to
just copy the three lines:
IF MXGVERSN=' ' THEN DO;
MXGVERSN=SYMGET('MXGVERS');
END;
to immediately follow the IF ... AND MVSXA THEN DO;....
statement, so the SYMGET statement is executed once for
either type of record. However, Don Deese showed me that
RETAIN MXGVERSN "&MXGVERS" ;
will initialize a RETAINed character variable to the
value of a macro variable, so the actual change replaced
the existing RETAIN MXGVERSN ' ' statement with the
above syntax, deleted the three-line DO group on MXGVERSN
and added a line with MXGVERSN $6 to the LENGTH statement
to define MXGVERSN's length.
Users of CPExpert will need to install this change or get
a one-line fix from Don Deese to circumvent my error.
The PROC COMPARE that should have caught this error that
was not run for MXG 15.15 has been reinstated in MXG QA!
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Lynn Meyer, Storage Tek, USA.
Thanks to David Ehresman, University of Louisville, USA.
Change 16.008 Duplicate observations in TYPE30_V might not be deleted.
BUILDPDB Change 15.235 discussed the addition of MULTIDD EXTRADD
BUILDPD3 to the BY list for TYPE30_4 and TYPE30_5, but those two
BUILD005 variables were not added to the TYPE30_V sort until this
BUIL3005 change.
Mar 13, 1998
Thanks to Allan Winston, MBNA, USA.
Change 16.007 Cosmetic. Format MGILKAT had repeated 4: for the RETR,
FORMATS APPE, and STOR actions, instead of having 8:RETR, 16:APPE
Mar 13, 1998 and 32:STOR for the format values.
Thanks to Ken Mazer, Internal Revenue Service WVA, USA.
Change 16.006 The ARRAY statement permitted only 10 LCUIDs, causing the
ANALPATH SUBSCRIPT OUT OF RANGE error. The array statement was
Mar 11, 1998 increased to 16, the LCU1-LCU9 instances were change to
LCU1-LCU16 and variables LCU10 thru LUC16 were added to
the initialization logic.
Thanks to Tobias Cafiero, Mercedes Benz of North America, USA.
Change 16.005 Variable PCTDLSSW was added by Change 14.318, but its
VMAC7072 value was incorrect because it was never divided by the
Mar 5, 1998 variable VALDSAMP due the misspelling as PCTLDSSW in the
line in which it should have been divided by VALDSAMP.
Thanks to Chris Weston, SAS Institute CARY, USA.
Change 16.004 Change 15.293 discussed why YEARSECS and YEARDAYS can not
TYPEDMS be used to protect non-Y2K-compliant date fields, but the
TYPEMON8 code in these four non-compliant products was not changed
TYPETMON until this change, which uses smart logic to protect.
VMACNSM
Mar 5, 1998
Change 16.003 IBM's NPM product now creates a "century" value in their
VMAC28 unique date fields, but the new and unexpected format of
YEAR2000 'CYYMMDDF'x is still not documented by IBM. APAR II10481
Mar 4, 1998 does make the following statement:
Mar 9, 1998 "97/04/30 NPM will support the year 2000. User's do
not need to do anything special.
Further details provided by NPM development:
NPM's SMF record header contains the date (SMF28DTE)
in the form 0CYYDDDF, where the '0C' represents the
century. This byte contains '00' in this century
(the 20th century) and will contain '01' in the 21st
century. Therefore, for any NPM record, it is always
possible to identify the century"
but nothing in that Informational APAR said that the 99
internal date values (like start and stop times!) were
changed to CYYMMDDF, which is a new brand new date format
that exists in no other SMF record, and that new format
causes an INVALID ARGUMENT error when MXG 15.15 read NPM
records with year 2000 dates. So NPM users do in fact
have to do something special - they now have to install
(unnecessarily) a new version of MXG because the NETVIEW
NPM product did not document their INCOMPATIBLE changes
to type 28 SMF records!
And in addition, one field in NPM, LXETTMST, has yet
another unique date format of "MM/DD/YY.DDDHH.MM.SS"
which does not have room for a "century" nybble, so NPM
is still NOT YEAR 2000 READY. However, by adding MXG
windowing protection (YY LE 59) for LXETTMST, I have now
changed member YEAR2000's NPM entry to move NPM from the
"IS NOT" to "NOW IS" YEAR2000 compliant, even though NPM
really is not compliant without help from MXG logic.
Finally, the implication in the Informational APAR that
only the date field in the SMF header needs a century bit
to be "YEAR 2000 READY" is inaccurate. To truly be YEAR
2000 READY requires that each date value be complete and
self-described. A record that requires programming logic
to test one date field to then set the date of another
date field (which may or may not have been on the same
date as the first date value) is not YEAR 2000 READY.
That IBM ultimately had to change all 99 internal fields
shows that setting only the century bit in the SMF header
was not sufficient!
By the way, NPM APAR, OW28971 is also required to correct
an error in NPM's computation of leap years; without that
APAR, NPM incorrectly thinks 2000 is not a leap year.
This extensive MXG change inserted seven new lines for
each of the ninety-nine date values to decode the new
format, and exists only because CIGNA found the data
values in their year 2000 test partition's type 28 data.
Thanks to Steve Colio, CIGNA, USA.
Change 16.002 IDMS 14.0 new variables TASNINS,TASNUPD,TASNDEL,TASNSRT
VMACIDMS TASNSRR,TASNSMI,and TASNSMX had incorrect labels, and new
Mar 3, 1998 variable TASNAMC was not created. TASNAMC is now INPUT
as &PIB.4. following TASNSMX and the labels corrected.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 16.001 Variable PKSENOUN was renamed PKSENONU in NTSMF dataset
VMACNTSM NETWINTR for consistency with PKRCNONU, but variable
Mar 3, 1998 PKSENOUN is still built, so your old programs won't fail.
Thanks to Marti Henley, MatriDigm, USA.
LASTCHANGE: Version 16
=========================member=CHANGE15================================
/* COPYRIGHT (C) 1984-1998 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is MXG Version 15.15 - dated Feb 23, 1998, thru Change 15.391.
Second MXG Version 15.09 - dated Feb 17, 1998, thru Change 15.384.
First MXG Version 15.09 was dated Feb 16, 1998, thru Change 15.382.
Newsletter THIRTY-TWO was dated Feb 23, 1997, thru Change 15.382.
MXG Version 15.08 was dated Jan 15, 1998, thru Change 15.340.
MXG Version 15.07 was dated Dec 18, 1997, thru Change 15.311.
MXG Version 15.06 was dated Nov 24, 1997, thru Change 15.287.
MXG Version 15.05 was dated Oct 02, 1997, thru Change 15.238.
Newsletter THIRTY-TWO was dated Sep 12, 1997, thru Change 15.206.
MXG Version 15.04 was dated Sep 01, 1997, thru Change 15.206.
Final+ MXG Version 15.03 was dated Jun 30, 1997, thru Change 15.151.
Final MXG Version 15.03 was dated Jun 26, 1997, thru Change 15.148.
Second MXG Version 15.03 was dated Jun 25, 1997, thru Change 15.145.
First MXG Version 15.03 was dated Jun 24, 1997, thru Change 15.144.
MXG Version 15.02 was dated May 23, 1997, thru Change 15.103.
MXG Version 15.01 was dated May 6, 1997, thru Change 15.087.
Newsletter THIRTY-ONE was dated Feb 21, 1997, thru Change 14.343.
Contents of member CHANGES:
I. MXG Software Version 15.15 is now available, upon request.
II. MXG Technical Notes
III. MVS Technical Notes.
IV. DB2 Technical Notes.
V. IMS Technical Notes.
VI. SAS Technical Notes.
VII. CICS Technical Notes.
VIII. Windows NT Technical Notes.
IX. Incompatibilities and Installation of MXG 15.15.
X. Online Documentation of MXG Software.
XI. Changes Log
I. MXG Software Version Status.
I. Annual MXG Software Version 15.15 was shipped to all sites,
along with the printed copy of MXG Newsletter THIRTY-THREE,
during the last week of February, 1998, by US Air Mail.
1. Major enhancements added in MXG 15.15 dated 23Feb1998:
MXG Tape Mount Monitor ASMTAPES ML-16 now supports four-digit UCBs.
Support for RMF Monitor III CPU, PGP, ENC records.
Support for TME 10 Netview OS/390 1.1 SMF type 37.
Major enhancements added in MXG 15.09 dated 16Feb1998:
Support for OS/390 Release 2.5 (no changes, need 15.04 or later).
Support for AIX commands IOSTAT/PSSTAT/VMSTAT output into SAS.
Support for StorageTek's VSM SMF records subtypes 9 thru 25.
Support for IDMS Journal format for IDMS V12.
Support for Boole's IMF 3.2 (for IMS 6.1) INCOMPATIBLE
Landmark TMON for CICS V2 variables renamed.
Landmark for MVS V2 INPUT STATEMENT EXCEEDED.
New &MACxxxx macro variable added to all VMACs to override IMACs.
All VMACs for SMF records now start with IF ID=....
Major enhancements added in MXG 15.08 dated 15Jan1998:
Support for Netview NPM Version 2.3 and APAR OW17876.
Support for AS/400 - OS/400 Release 4.1.0 (INCOMPATIBLE).
Support for ICSS SMF type 103 (Internet Connection Secure Server).
Support for RMF type 79 subtype 15 (IMS IRLM Long Lock) record.
Hardcoded "PDB." DDname externalized into &PDBxxxx macro variables.
ASUMUOW option to get real TRANNAME instead of CPMI/CSMI tranname.
Performance improvements in BUILDPDB (_CDE's ordered, ELSE DOs).
New _Sxxyyy "PROC SORT" macros defined for PDB datasets in IMACs.
Major enhancements added in MXG 15.07 dated 18Dec1997:
Support for DPPX/370 Performance Reporter output.
Support for MODEL204 Version 3.4 INCOMPATIBLE.
Support for SAR CA-VIEW SMF exit SARSRQUX.
Support for Omegamon for VTAM V400 (COMPATIBLE).
Support for Landmark the Monitor for MVS Version 2 (INCOMPATIBLE).
Support for SAR CA-VIEW SARSRQUX SMF record.
Support for Fujitsu's AIM V20 AIM/RDBII SMF type 98 record.
ASMTAPES ML-15 adds dump suppression, OS/390 1.3 JCT changes.
(MXG 15.06 said it contained ML-15, but actually still had ML-14).
VELOCITY variables are now multiplied by 100.
Major enhancements added in MXG 15.06 dated 24Nov1997:
Support for CICS Transaction Server 1.2, INCOMPATIBLE. IBM inserted
new fields in the middle of CICSTRAN record, so you must install
MXG 15.06 or later for CICS TS 1.2 processing. New statistic data
is also captured; see Change 15.274.
Support for Landmark's The Monitor for CICS/ESA 2.0, INCOMPATIBLE.
CICS TS V1.1 APAR UN98309 INCOMPATIBLE, Must install MXG 15.06.
Support for NTSMF Version 2.1 (INCOMPATIBLE), install MXG 15.06.
CICINTRV logic validated, must use this newest revision.
Duplicate CICS UOWTIME values due to SAS non-resolution of DATETIMEs.
Support for Subtype 11 Type 88 System Logger.
Support for Applied Expert Systems Clever TCP/IP.
Support for HP MeasureWare for Terra Data OS.
Support for DFSORT APAR PN71137 (COMPATIBLE).
Support for HP MeasureWare for Terra Data OS in TYPEMWTE.
Support for Boole & Babbage MQ Series MVMQS VSAM History Records.
OS/390 R2.4 Goal Mode IBM Doc Error INVALID DATA R723CIDT fixed.
New IHDR110 exit for CICS record selection by APPLID.
Utility to recreate VBS from data with no RDW/BDW.
Major enhancements added in MXG 15.05 dated 02Oct1997:
Support for JES3 TYPE26 APAR OW26297 adds account fields.
Support for APPC APAR OW16975 APAR-in-Error (INCOMPATIBLE).
Support for 255 Structures in a Coupling Facility (INCOMPAT).
Support for CA's IDMS 14.0 (INCOMPATIBLE).
Support for BETA93 Release 1.3 (INCOMPATIBLE) (subtype 21 only).
Support for SMF type 91 new subtype 21 (SmartBatch) data.
Support for TCP/IP 3.2 API Calls record changes.
Duplicate MULTIDD='Y' step records may not be deleted in BUILDPDB.
Catalog SMF Type 65 record INPUT STATEMENT EXCEEDED corrected.
PDB.ASUMUOW options externalized, zero obs now created by default.
DB2 Trace 102 subtype 140 INPUT STATEMENT EXCEEDED.
Iceberg / IXFP subtypes 2,3,4 not output, MXG 15.02-15.04 only.
TYPE70 variable PCTMVSBY incorrect in MXG 15.01-15.04.
Major enhancements added in MXG 15.04 dated 01Sep1997:
MXG 15.04 Software is now over one million lines (1,008,660)!
MXG now protects ALL date fields for year 2000.
Support for OS/390 Version 2 Release 4 (COMPATIBLE).
Support for "Goal Mode SMF" type 99 subtype 6.
Support for DCOLLECT in DFSMS 1.4 (COMPATIBLE)
Support for VTAM 4.4 changes to SMF type 50.
Support for CA-1/TMS Release 5.2 (COMPATIBLE).
Support for ObjectStar 3.0 (INCOMPATIBLE in MXG).
Support for Xerox's XPSM Version 2 SMF records.
Support for HMF SMF Subtype 11 (DS3 Statistics).
Support for five new NTSMF Objects.
Support for VM ADSM Account Records in VM/ESA.
Support for TMON/DB2 record type "DE".
Support for Boole MainView for CICS stat records.
Support for Catalog Cell 'E7'(Alias) and invalid '05'x segment.
Support for RACFEVNT=22 and 59 in TYPE80A.
Support for Shared Medical CICS Journal OASMON records.
Support for Peregrine's Service Center SMF record.
Table of Holidays for SHIFT example added in IMACSHFT.
Major enhancements added in MXG 15.03 dated 30Jun1997:
Support for NTSMF Version 2.0 (INCOMPATIBLE; 15.02 was not correct).
Support for Windows NT 4.0 Service Pack 2 (INCOMPATIBLE also).
Support for IXFP SMF subtypes 6 and 7 (SNAPSHOT, SPACE UTILIZATION)
Support for TYPE1415 APAR OW25263 (for 3590s).
Support for TYPE42 APAR OW26451/OW26543/OW26497 MAXRSPTM added.
Support for TYPE42 APAR OW20921 adds TYPE42VT VTOC/VVDS counts.
Support for OMVS RACF data with RACF utility IRRDBU00.
Support for new fields in TYPEEDGR DFSMSrmm extracts.
ASMTAPES at ML-14 populates fields, protects 0C4 ABENDs better.
RMFINTRV now allows Report RPGNs/Classes to be used in IMACWORK.
Format MGBYTRT (Bytes per Second) can truncate value on the left.
BUILDPDB enhanced to rename WORK.STEPS for IT Service Vision.
Leap second support for type 30, 110, and 100-102 "GMT" conversion
Trending for TYPE72GO into TREND.TRND72GO added.
ANALCNCR Example counts Avg & Max Logged-ON TSO users from PDB.JOBs.
Major enhancements added in MXG 15.02:
Support for DB2 Version 5.1 (MXG 14.14 tolerates, COMPATIBLE!!)
Support for Filetek's Optical Disk SMF record
Support for OMVS data in RACF database (IRRDBU00 unload)
Enhancements to VMXGSUM for OBS=0 processing
Replacement for MXG 15.01's defective CICINTRV.
ASMTAPES Technical Note updated - cause of 0C4 is now known.
Major enhancements added in MXG 15.01:
Errors in MXG 14.14 that are fixed in MXG 15.01:
ASMTAPES (ML13) is available, recovers from 0C4s, see MXG Tech Notes.
WORK.CICINTRV.DATA DOES NOT EXIST.
OS/390 R3 Goal only: Type 72 INPUT STATEMENT EXCEEDED RECORD LENGTH.
FILE counts in TYPETMON were incorrect before and after 14.14.
New Support in MXG 15.01:
ANALDDCN to analyze impact of DDCONS(NO) on duplicated SMF bytes
TYPEIMSD for IMS DBCTL transactions from IMS 07/08 log records
SMFPRM00 with first draft of MXG discussion for SMF parameters
Support and exploitation of new TALO fields added by ASMTAPES ML-12.
Support for APAR OW25152 (adds PRINTWAY Queue Name to TYPE6).
Support for Altai's ZARA Tape Management Release 1.2
Support for Anacom's Anastack spooler's type 6 SMF
Support for Boole and Babbage IMF 3.2.
Support for CA-DISPATCH Version 6 with 5-digit JESNR
Support for CA-ROSCOE Version 6 SMF record verified.
Support for COMPAQ hardware NTSMF objects.
Support for Hitachi 7700 changes to TYPE74CA/CACHET90 (INCOMPAT)
Support for Landmark's Performance Works/Smart Agents for UNIX 4.0
Support for MEMO subtype 8 creates new MEMODIST dataset.
Support for NETSPY Version 5.0 is already in MXG 14.14
Support for Virtual Tape Server additions to SMF type 94
Support for World Wide Web Common Log Format records.
Support for all OS/400 Release 3.7.0 records.
UDUMPEBC utility for MVS-like LIST; hex dump under ASCII systems.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28 1997 15.02
OS/390 2.4.0 Sep 28 1997 15.06
OS/390 2.5.0 Feb 24 1998 15.06
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. 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 Oct 27, 1997 15.06
CRR 1.6 Jun 24, 1994. 12.02
CRR 1.7 Apr 25, 1996. 14.02
DB2 2.3.0 Oct 28, 1991. 10.01
DB2 3.1.0 Dec 17, 1993. 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DFSMS/MVS 1.1 Mar 13, 1993. 11.11
DFSMS/MVS 1.2 Jun 24, 1994. 12.02
DFSMS/MVS 1.3 Dec 29, 1995. 13.09
DFSMS/MVS 1.4 Sep 28, 1997. 15.04
MQM 1.2, 1.3, 1.4 Apr 25, 1996. 14.02
NETVIEW 3.1 type 37 ??? ??, 1996. 14.03
NPM 2.0 Dec 17, 1993. 12.03
NPM 2.2 Aug 29, 1994. 12.05
NPM 2.3 ??? ??, 1996. 15.08
RMDS 2.1, 2.2 Dec 12, 1995. 12.12
TCP/IP 3.1 Jun 12, 1995. 12.12
VM/ESA 2.0 Dec 23, 1992. 10.04
VM/ESA 2.1 Jun 27, 1993. 12.02
VM/ESA 2.2 Nov 22, 1994. 12.06
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
Availability dates for non-IBM products and MXG version required:
Availability MXG Version
Product Name Date or Change Required
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.03
NTSMF Version 2.1 15.06
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3 15.03
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for SMS V100/V110 12.03
CA
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
Memorex/Telex
LMS 3.1 12.12A
II. MXG Technical Notes
1. Measurement of CPU Utilization in PR/SM,MDF,MLPF environments.
This note was written for ACHAP10, "Processor Utilization".
The ASUM70PR dataset is built from the TYPE70PR detail data using
%INCLUDE SOURLIB(ASUM70PR); as shown in JCLPDB6 example. There
is one observation in ASUM70PR from each MVS SYSTEM for each RMF
Interval, and that observation describes the utilization of each of
the LPARS, and their sum, which is the hardware busy of the platform.
If you have multiple MVS Systems, and if you process their SMF
data together, then duplicate data will exist in ASUM70PR, since
SYSA's type 70 record will describe all LPARs, and SYSB's type 70
will also describe all LPARs, so you must select only one set of
observations (from SYSA or from SYSB) to avoid duplication.
For each partition, the Partition Dispatch Time and the Effective
Dispatch Time (and their difference, the CPU time when this partition
was dispatched for LPAR management of this partition) are recorded.
There is also a "pseudo" partition named "PHYSICAL" that exists only
in the RMF type 70 record that records the LPAR management dispatch
time that could not be charged to a specific partition.
Schematic of ASUM70PR observation
Total Partition Dispatch (CPU) Time
CPUACTTM= LPnUPDTM summed for all real partitions + LPPUPDTM
CPUACTTM
|______________________________________________________________|
| |
| LPAR #1 | LPAR #2 | LPAR # 3 | "PHYSICAL" |
| LP1UPDTM | LP2UPDTM | LP3UPDTM | LPPUPDTM |
| Dispatched | Dispatched | Dispatched | Dispatched |
|_______________|_______________|_______________|______________|
| | | | | | | |
| | LP1UEDTM | | LP2UEDTM | | LP3UEDTM |
| | LPAR1 | | LPAR2 | | LPAR3 |
| | Effective | | Effective | | Effective |
| | | |
__ __ __ ______________
| | | | | | | |
1 2 3 "Physical"
LP1MGTTM LP2MGTTM LP3MGTTM LPPUPDTM
In-partition LPAR Management Time Unassigned LPAR time
Important variables in PDB.ASUM70PR dataset:
LPnUPDTM - Partition Dispatch Duration for LPAR n.
LPnUEDTM - Partition Effective Dispatch Duration for LPAR n.
LPnMGTTM - LPnUPDTM minus LPnUEDTM, this partition management.
LPPUPDTM - Physical partition dispatch duration.
PARTNCPU - Number of engines in this platform.
PCTCPUBY - Percent CPUs were Busy in all LPARS, equal to the sum
of all partition's (including PHYSICAL) dispatch time,
minus HiperDispatch Parked Time, divided by the Total
"capacity" of all ONLINE, NON-PARKED engines:
100*CPUACTTM/(NRCPUS*DURATM). This is the percent
of the total capacity of the box that was used. If
the Average NRCPUS is 5.5, and CPUACTTM was 4 hours
in a one hour interval, PCTCPUBY would be 72% busy.
PCTLnBY - Percent "Physically" Busy in LPAR n, equal to the LPAR
Dispatch time divided by the Total "capacity" of all
engines in the box: 100*LPnUPDTM/(PARTNCPU*DURATM).
If an LPAR was dispatched for 1 hour, and the CEC has
5 engines, then PCTLnBY for that LPAR would be 20%,
because that LPAR used 20% of the hardware platform.
PCTLnOV - Percent "Phsyically" Busy in "LPAR Overhead" in this
LPAR, 100*LPnMGTTM/(PARTNCPU*DURATM).
LPnNRPRC - Number of engines available to LPAR n.
LPnDUR - LPAR n's "Up time" or "Availability time to execute
CPU", the sum of DURATM across all LCPUs in LPAR n,
or LPnDUR=LPnNPRC*DURATM. This is the duration when
this LPAR could have been dispatched. If the LPAR was
IPLed as a 3-engine MVS machine, in one hour, it would
have 3 hours of "Up Time" (or 3 hours of "capacity").
LPCTnBY - Percent "Logically" Busy in LPAR n, equal to the LPAR
Dispatch time for the partition divided by the LPAR's
"Up Time", 100*LPnUPDTM/LPnDUR. If a 3-engine LPAR
was dispatched for 60 minutes in one hour, its LPCTnBY
would be 33%. This variable describes the percent of
LPAR capacity, in contrast to variable PCTLnBY which
describes the percent of Hardware Platform capacity.
If that same 3-engine LPAR was executing on a 5-engine
CEC, PCTLnBY would be 20%, because that LPAR used 20%
of the hardware platform, while LPCTnBY is 33% of the
CPU time available to this LPAR.
LPnCAP - 'Y' if this partition is capped.
LPnCHG - 'Y' if something changed in LPAR n.
LPnDED - 'Y' if this partition has all-dedicated-CPUs.
LPCTnOV - Percent "Logically" Busy in "LPAR Overhead"
100*LPnMGTTM/LPnDUR, describes how much of the
Dispatch Duration was for management of this LPAR.
Important variables in PDB.TYPE70PR dataset:
LPARNUM - Logical Partition Number, = PARTISHN in TYPE70 dataset
LCPUPDTM - Partition Dispatch Time
LCPUEDTM - Partition Effective Dispatch Time
The following example is real data from a 5-engine CEC (Central
Electronic Complex, the preferred name for a platform). This CEC
has three LPARs: LP1 has two engines (and is lightly used), LP2 has
five engines, and LP3 has three engines. All CPUs are shared and
Wait Completion is No. One hourly observation in ASUM70PR showed:
PARTNCPU 5 - Number of real engines in CEC
DURATM 1:00:00.05 - Duration interval
CPUACTTM 4:40:35.32 - Total CPU Dispatch, all engines
CPUOVHTM 15:35.40 - Total CPU Overhead in LPARS
LPPUPDTM 6:40.28 - Total "Physical" Overhead
PCTCPUBY 93.53% - CPUACTTM as a percent of hardware
PCTOVHD 5.20% - CPUOVHTM as a percent of hardware
PCTPOV 2.22% - LPPUPDTM as a percent of hardware
LP1 LP2 LP3
LPnNRPRC 2 5 3
LPnDUR 2:00:00.10 5:00:00.25 3:00:00.15
LPnUPDTM 4:49.67 3:33.06.54 55:58.85
LPnUEDTM 2:56.63 3:29:16.51 52:46.77
LPnMGTTM 1:53.03 3:50.02 3:12.07
LPCT1BY 4.02% 71.04% 31.10%
LPCT1OV 1.57% 1.28% 1.78%
PCTL1BY 1.61% 71.04% 18.66%
PCTL1OV .63% 1.28% 1.07%
The LP2 has the same PCTL2BY as LPCT2BY because it can use
all five engines, and its logical and physical utilization
are the same. The LP3, with only three engines available
to its MVS, shows it is using 18.66% of the five hardware
engines (PCTL3BY), while LPCT3BY shows that this actually
is 31.1% of the CPU time possible for those three logical
CPUs available to LP3.
The dispatch time measurements in ASUM70PR are always accurate in
describing the total platform busy and each LPARs use of the total,
because when an LPAR is dispatched, its processors are not available
to any other LPAR, and thus ASUM70PR does report platform capacity.
Furthermore, if all CPUs are shared and Wait Completion is No, the
ASUM70PR dispatch duration is the actual CPU busy time, so not only
is the total platform capacity known, but also the utilization of
individual LPARs is measured in ASUM70PR.
The problem arises when CPUs are Dedicated to an LPAR, or when Wait
Complete = Yes is used, because the dispatch time in those cases is
NOT equal to the CPU executing time. While a dispatch time of one
hour does mean that one hour of total platform capacity was used by
an LPAR, (i.e., not available to other LPARs), the actual CPU time
used by that LPAR may be a lot less than one hour. What we need is
the Wait time measured inside each MVS system, which is in the MVS
TYPE70 dataset, but each type 70 record only has a single TYPE70
segment (for the LPAR in which this MVS System executed); we do not
get a TYPE70 segment for the other LPARs. But MXG does store the
MVS Wait Time from the TYPE70 segment into variable ORIGWAIT in the
TYPE70PR observation for each LCPUADDR, which shows this data:
Wait Complete = YES example: System SYSC (LPARCPUS=2 PARTNCPU=4)
LPARNUM=PARTISHN=2
LCPU=0 LCPU=1
DURATM=15 min DURATM=15 min
|---------------------------------|-------------------------------|
8 min 7 min 15min
|--------------------|------------|-------------------------------|
Dispatched LPAR Wait Dispatched
LCPUPDTM 70PR calc LCPUPDTM 70PR
5 min 3 min 7 min 11 min 4 min
|----------|=========|------------|---------------------|=========|
ORIGWAIT BUSY LPAR Wait ORIGWAIT BUSY
70 calc calc 70 calc
This LPAR has two LCPUs, Wait Complete=Yes, but due to the other
LPAR on this platform (that was also using Wait Complete=Yes), the
LCPU=0 was dispatched for only 8 minutes of the 15 minute interval,
while LCPU=1 was dispatched for all 15 minutes. The ORIGWAIT from
TYPE70 shows that LCPU=0 was actually CPU Busy for only 3 minutes,
and LCPU=1 was actually CPU Busy for only 4 minutes.
While there are only two LCPUs for this LPAR, this LPAR is in a
platform that has four engines, so the ASUM70PR calculation is:
PCTL2BY = (8 disp + 15 disp )/ (4*15) = 23/60 = 38%
because 38% of the dispatch capacity of the four engines in the
hardware platform was consumed by this LPAR in this interval.
However, RMF in its CPU Activity Report calculates two percentages
(and MXG replicates in both TYPE70 and TYPE70PR data):
PCTCPUBY = "LPAR Busy Time" = (3 busy + 4 busy) / (2 * 15) = 23%
PCTMVSBY = "MVS Busy Time" = (10 busy+lparwait + 4 busy)/30 = 48%
The "LPAR Busy Time" shows that this LPAR was busy for 7 of the 30
minutes that the two engines in the LPAR could have been executing,
and thus is a measure of how busy the MVS system might have been.
However, the "MVS Busy Time" calculated by IBM is at best confusing
and at worst wrong, for Wait Completion = Yes LPARs, because it
calculates the MVS busy time as DURATM minus ORIGWAIT, adding the 3
minutes busy and 7 minutes of LPAR wait from LCPU=0 to the 4 minutes
busy from LCPU=1 to conclude 14 minutes of "busy time" out of the
30 minutes that the two engines could have been executing, for 48%!
But the MVS SRM never saw those possible 30 minutes of execution; it
was dispatched for only 8 + 15 = 23 minutes, so a far more accurate
measure is "SRM Busy Time", the busy time over the dispatched time:
PCTSRMBY = "SRM Busy Time" = (3 busy + 4 busy) / 23 (dispatch) = 30%
which more accurately reflects what MVS can do with Wait Comp=Yes,
and it strongly suggests that the IBM "MVS Busy Time" is wrong for
Wait Comp=Yes. Note: Jan 2006: Using WAITCOMP=YES is no longer an
issue; only the early AMDAHL implemented that option, as I recall.
(The example used the Partition Dispatch times, but to be
slightly more precise, using the Effective Dispatch times would
show what was delivered to MVS. I am still deciding if I should
create a new variable for PCTSRMBY, but want to send this
preliminary note to MXG-L, so I will update this part of this
note at a later date.)
Dedicated example: System SYSA (LPARCPUS=3 PARTNCPU=4)
LCPU=0 Dedicated, Wait=No
LCPU=1,2 Shared, Wait=No
LPARNUM=PARTISHN=5
LCPU=0
DURATM=15 min DURATM=15 min
|---------------------| |------------------------------------|
LCPU=1
14:59.20 5:48.92 8:25.73 0:45.35
|---------------------| |===============|---------|----------|
Dispatched Dispatched ORIGWAIT Non-Disp
LCPUPDTM 70PR LCPUPDTM 70PR 70 Non-Wait
BUSY calc
LCPU=2
3:11.51 11:48.49 5:49.20 8:25.41 0:45.39
|----------|==========| |===============|---------|----------|
ORIGWAIT BUSY Dispatched ORIGWAIT Non-Disp
70 calc LCPUPDTM 70PR 70 Non-Wait
BUSY calc
For all the three LCPUs in this LPAR, MXG calculates in ASUM70PR:
PCTL5BY = 100* ( 26.5 / 4*15) = 100 * 26.5 /60 = 44.37%
because the total dispatch time of the three LCPUs was 26.5 minutes
of the possible 60 minutes of dispatch time in the four engines of
the platform, and this is this LPAR's use of dispatch capacity.
But if we have the TYPE70PR observation from the system that has the
ORIGWAIT measurement from TYPE70 for that dedicated LCPU, we can see
the LPAR's total CPU busy time was only 11:48 + 5:48 + 5:49, or 22.5
minutes, since 3 minutes of that dispatch time was in MVS wait time!
The IBM RMF calculations for each LCPU and the total for all three
LCPUs in this LPAR show:
LCPU PCTCPUBY (calc) PCTMVSBY (calc) Status
0 78.72 (11:48/15) 78.72 (11:48/15) Ded,Wait=No
1 38.77 ( 5:48/15) 43.81 ( 6:33/15) Shr,Wait=No
2 38.80 ( 5:49/15) 43.84 ( 6:34/15) Shr,Wait=No
all 52.10 (23:17/45) 55.46 (24:55/45) Combined
For the Dedicated LCPU, both PCTCPUBY and PCTMVSBY are calculated
PCTCPUBY=PCTMVSBY= 100*(DURATM-ORIGWAIT)/DURATM = 78.7%
PCTMVSBY=PCTCPUBY= 100*(DURATM-ORIGWAIT)/DURATM = 78.7%
For the Shared, Non-Wait LCPUs, the "Lpar Busy Time" is
PCTCPUBY= 100*LCPUPDTM/DURATM = 38.7%
but the IBM calculation for the "MVS Busy Time" is
PCTMVSBY= 100*(DURATM-ORIGWAIT)/DURATM = 43.8%
because the PCTMVSBY value includes the 45 seconds of non-dispatched
non-wait time recorded in the MVS Busy Time calculation!
Again, while PCTCPUBY is legitimate, PCTMVSBY raised more questions
than it answers, initially. Note: Jan 2006: However, now it is
used to calculate the SHORTCPS variable, and is thus useful.
To summarize what percentages are printed where by IBM and reported
where by MXG, on RMF CPU Activity Report, the "LPAR Busy Time Perc"
is variable PCTCPUBY, and the "MVS Busy Time Perc" is variable
PCTMVSBY in dataset TYPE70 (and now in TYPE70PR as well). On RMF's
Partition Data Report, IBM's "Logical Processors Total" is variable
LPCTnBY, and IBM's "Physical Processors Total" is PCTLnBY in dataset
ASUM70PR for each LPAR, and the "Physical Processors Total" is the
variable PCTCPBUY in ASUM70PR.
Note: I intend to revise this note as I learn more, especially for
millennium and/or MDF, in the near future. The purpose of this
much of the note was to document what is calculated by MXG and by
IBM when you try to compare RMF reports to MXG datasets, and to
point out basic problems if you have Dedicated or Wait Comp = YES.
Not only is there a problem in ASUM70PR in that we do not know the
true CPU busy time, we also have assumed the "capacity" was the
DURATM of the interval, but that is not always the case, especially
when LPAR weighting is taken into account. No single percentage
value can be used, as it depends on your perspective. ASUM70PR
reports usage percentages of the "dispatch" capacity, while TYPE70
still must be used to understand what is happening inside each MVS.
2. FAT32 file system reduces space needed for MXG from 139MB to 68MB.
On Windows 95 and Windows NT with FAT File Systems, the MXG Source
Library directory DIR command shows 3549 files totaling 57.7 MB,
but the files in that directory actually required 139.1 Megabytes
of disk space! The 2GB disk drive with 32K cluster size wastes
space if the file is less than 32KBytes, and as only 272 of MXG's
source files are over 32K in size, the other 3277 small files waste
lots of disk space with large cluster size under FAT file systems.
Well that is a dead problem with the newer FAT32 file system that
virtually eliminates the space waste problem. That same source
library required only 68.23 MegaBytes on a 9GB FAT32 disk drive!
III. MVS Technical Notes.
1. APAR OW25609 corrects a stoppage of SMF type 30 interval records
(subtypes 2 & 3) and type 23 records, after a serialization problem.
The APAR applies to MVS/4.3 thru OS/390 2.4.
2. APAR OW28289 changes counts in type 30 variables TAPNMNTS/TAPSMNTS
(SMF30PTM/SMF30TPR). In DF/SMS 1.2 and earlier, tape mount counts
were the number of physical mounts (actually, a count of volumes
that were verified by OPEN/CLOSE/EOV via a loadpoint read of the
VOL1 tape label). That was changed by an SPE to DF/SMS 1.2.0 (which
was included in DF/SMS 1.3.0 and 1.4.0); IBM decided instead to
count logical volumes (i.e., increment the mount count when OPEN
processing is entered with the tape drive in a ready state and with
the mounted volume at loadpoint). A document change was prepared
but never distributed, and now IBM is backing out the SPE's effect,
and with this APAR, the counts revert to physical mount counts. The
APAR's text is confusing, because it lists PTFs for DF/SMS releases
1B0, 1C0, and 1D0, which turn out to be DFSMS 1.2, 1.3, and 1.4,
respectively. If you depend on the count of tape mounts in type 30
records, you will want to apply this PTF.
3. APAR OW28613 corrects errors in the JES2 Type 26 Purge record in the
SMF26OAG Accounting Section offset. I earlier thought MXG would not
fail, but without that APAR, MXG offset validation was insufficient,
an INPUT STATEMENT EXCEEDED occurs. Now, Change 15.330 circumvents
the wrong value for SMF26OAG, but the ACCOUNTn fields in TYPE26J2
will be blank until you install to APAR to correct IBM's error.
Fortunately, MXG only uses the TYPE26J2 ACCOUNTn fields for jobs
that do not produce type 30s (JCL Errors or Cancel before start).
4. APAR OW28256 reports invalid CPU times measured (once again!) in RMF
type 72 field SMF72RCT (MXG Variable CPURCTTM, which is summed into
variable CPUTM); PTF was available November 14 1997. This causes
the total CPU time captured in type 72 records to exceed the total
CPU busy time, causing the Uncaptured CPU time (misnamed as CPUOVHTM
and labeled as "Overhead") to be negative in RMFINTRV. This same
field was in error in 1992, fixed then by APAR OY51878. MXG now
detects the negative value and prints this error message on the log:
"ERROR. NEGATIVE CPU-UNCAPTURED-TIME (TYPE70-TYPE72)".
See text of Change 15.238 for more details.
5. APAR OW26619 for OS/390 V2.4, in Goal Mode corrects WLM errors found
by IBM during final function test, and corrects SMF values.
6. APAR OW26421 for OS/390 V1.3 is needed only for ASMTAPES. In OS/390
IBM created two 4-byte fields for Y2K support to replace the 3-byte
fields JCTSSD and JCTJMRJD (step and job start/init dates), but I
missed that change, so ASMTAPES still used the 3-byte fields. But
IBM also zeroed the 3-byte fields, which caused INVALID DATA when
TYPETMNT was executed, and variable INITTIME has missing value.
This APAR restores the dates in the 3-byte fields, so INITTIME will
not be missing. The ML-15 of the MXG ASMTAPES avoids the exposure
by using the 4-byte fields if they are present.
7. SYNCSORT 3.6 can ABEND 0C9 during a PROC SORT; SYNCSORT fix SY49930
is the correction.
8. APAR OW30153 corrects type 30 Measured Usage (MULC) segments. There
are multiple occurrences of the same product name and qualifier for
PRODNAME=CICS PRODQUAL=DFHKETCB in the interval records that should
have had only a single segment. There are still other errors that
are not addressed in creating the subtype 4 and subtype 5 records
from the interval records. One CICS job had 39 DHFKETCB segments in
its interval records (subtype 2 and 3), but had 37 segments in its
step termination record (subtype 4) and then had only 36 segments in
its job termination record (subtype 5). Further, the job had 12
DFHSIP segments in the interval records but had 16 segments in both
step and job terminate. Finally, the job had 2 DFHDUP segments in
the job term but none in either the interval or step term records.
A new problem has been opened with IBM on this error.
Note that old APAR OW16176, which consolidates MULC sections for
each product, should be installed. Increasing SMF buffers with
APAR OW12836 is also recommended to minimize the problems with SMF
buffers, and especially specification of DDCONS=NO in SMFPRMxx in
SYS1.PARMLIB is strongly recommended to eliminate the SMF address
algorithm to consolidate DD segments.
Note added Dec 30, 1997:
APAR PN80497 corrects a problem after applying UN84065 with Measured
Usage (MULC) that can create millions of type 30 subtype 3 records
with the same product name in the MULC segment. The problem
occurred with an IMS BMP that used MQ Series. The excess records
could cause IEE979W SMF DATA LOST - NO BUFFER SPACE AVAILABLE.
9. APAR OW30059 (PTF available 12Dec97) reports type 42 values for
Direct Write and Direct Read SMF42DWB/SMF42DRB and this APAR is
likely the fix that was originally described in note 26 in MVS
Technical Notes in MXG Newsletter THIRTY-TWO for APAR OW20926.
When the channel program did single CI reads and writes, residual
data was left in the counter that was not used.
10. APAR PQ09396 (Target 26Dec97) for MQSERIES SMF type 116 reports
inconsistencies between 115 and 116 record's statistics.
11. APAR PQ09083 is for subtype '51'x of the FTP SMF record (VMACFTP).
The text mentions SMF Record Type 51, but there is no type 51 SMF
record (yet). The APAR corrects missing values in variables
DVGSETME/DVGSEDTE in dataset FTP51X.
12. Job Accounting for Started Tasks became available with MVS/ESA 5.1,
because you can now have a JOB card in the JCL for your STC's, and
can put ACCOUNT parameters in that JOB card that show up in MXG's
ACCOUNTn variables in PDB.JOBS/PDB.PRINT/PDB.STEPS datasets. The
JCL Reference Manual Sections 7.2, 7.3, and 16.7 discuss how.
13. What happens to measurements if I have a Y2K Test System in an LPAR?
You can use the ASUM70PR dataset and select the observations from
your production LPAR (SYSTM='PROD') to measure the Y2K Partition's
resources, since the STARTIME of the records with SYSTEM='PROD'
will be your local time of day.
All of the records written on SYSTEM='Y2K' will have the year 2000
dates (although the READTIME value could be earlier if jobs were
read into the hold queue before IPLing with year 2000). Since the
Y2K system will be re-IPLed repetitively with the same start value
(probably 31DEC99:23:45:00), RMF interval data will appear to have
duplicate data and the jobs/steps from all IPLs will be jumbled
together, because MXG sorts RMF data by STARTIME and job data by
READTIME.
You can extract SYSTEM='Y2K' data for a specific "test run" by
finding the record number (_N_) of each SMF IPL record, using:
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_;
_SMF;
IF ID=0 THEN PUT 'IPL RECORD FOUND ' _N_= SMFTIME=;
and then use the record number of the specific IPL to select only
the SMF records desired. If you wanted the third run, and the third
IPL record had _N_=8,000 and the next IPL record had _N_=10,000, you
would use this logic:
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_;
_SMF;
FILE SMFOUT DCB=SMF;
IF 8000 LE _N_ LE 9999 THEN PUT _INFILE_;
IF _N_ EQ 10000 THEN STOP;
to write to //SMFOUT DD only those records for that test run.
There is an alternative. You can use the IPL PROMPT feature to
require the operator to reply with the (local) time and the reason
(describe the test run) for each IPL, and there will be a SUBTYPE=8
observation in dataset TYPE90 with variables DTIME and IPLREASN with
the operator's reply, so the TYPE90 dataset can be used to identify
the records in each test run (variable SMFRECNR, equal to _N_, was
added to the TYPE90 dataset by Change 15.267).
You must have specified PROMPT(IPLR) or PROMPT(ALL) in member
SMFPRMxx in SYS1.PARMLIB dataset to prompt the operator for the
reply at each IPL.
14. Almost-Duplicate TYPE74 records, differing only by one second in the
STARTIME, can be written by Boole & Babbage's CMF Product, if both
IPM and CPM modes are enabled. This has happened recently as sites
installed OS/390. In MXG's TYPE7xxx datasets, variable PRODUCT will
be 'CMF-IPM' in one almost-duplicate record, and 'CMF-CPM' in the
other observation. Boole does NOT recommend both modes!
15. Channel Type variable CHANTYPE in dataset TYPE73 still exists, but
variable SMF73CPD provides a better description as it describes both
ESCON and Parallel Channel types. SMF73CPD was new in MVS/ESA 5.1.
16. APAR OW27855 corrects PSF/MVS-written type 6 SMF records so that
they now contain the node number of the current node in field
SMF6ROUN, which MXG decodes into variable NODE and RMOTID in TYPE6
dataset.
17. APAR OW20844 enables JES2 job numbers greater than 32000, but has
no impact on MXG, since MXG has supported 5-digit JES Numbers thru
99999 from the JCTJOBID for several years.
IV. DB2 Technical Notes.
1. There are no DB2 Technical Notes in this newsletter.
V. IMS Technical Notes.
1. Support for Boole's IMF 3.2 (for IMS 6.1) was added in MXG 15.09.
Candle has not informed me of any changes in their ITRF product.
2. Discussion of IMS Log support in MXG Software.
I strongly recommend you use an IMS monitor (Boole or Candle)
that creates a transaction record, rather than attempt to use
IBM's IMS log for transaction response and resource measurement.
See MXG newsletter TWENTY-FIVE, IMS Technical Notes, for the MXG
position statement of the technical reasons why you cannot measure
the response time and resources (CPU, DL/I calls) for transactions
with only IBM's standard IMS log records.
However, you CAN use the TYPEIMS7 MXG program to get accurate counts
of transactions and resources by transaction, because it uses IMS 07
and IMS 08 log records, written for each deschedule of an IMS
program, which contains the count of IMS transactions that were run
during that program schedule (can be 1, usually is at least 5
transactions per schedule, and be millions for WFIs), the
transaction name, and the total CPU time and DL/I calls for all
of those IMS transactions. But you cannot get accurate resources
per transaction from the IMS 07/08 records. At best, you can get
the "average" of each group of transaction processed if you are
willing to divide the CPU time by the number of transactions run,
and you'll get fractional numbers of DL/I calls per transaction!
MXG Member TYPEIMFL will read the IMS log and will select and create
all possible datasets from any combination of Boole's IMF log
records (LCODE=FAx) IBM IMS log records (01,03,07,08,31x,36x,40x,
plus fastpath 59x subtypes 01,03,36x,37x,38x) and SAP IMS log
records (LCODE=AEx). Members TYPEIMFL and TYPEIMS7 both use macros
that are defined in VMACIMS to decode those IMS log records, and
which are fully supported by MXG.
It is not the reading of the IMF, IBM, and SAP IMS log records that
is the problem, but rather it is the construction of the
many-records-per-transaction-without-a-merge-key into a single
transaction record with per-transaction resources and response that
is in principle impossible with IMS log records.
Nevertheless if you still must try to get IMS response time with
only IBM's IMS log records, because your management still won't buy
you an IMS monitor tool, then, at your own risk, you can probably
get good results with the MXG assembly program ASMIMSL5 (IMS 5) or
ASMIMSLG (IMS 4) and their JCLIMSLG example. The ASM program acts
like an IMS MPR and reads the log to figure out which records go
with which transaction, and writes a copy of the IMS log records
with an appendage to identify the transaction, and then the MXG SAS
programs invoked in JCLIMSLG read the extended IMS log records to
crate dataset IMSTRAN with observations on a per-transaction basis.
These transaction records will always contain only average CPU and
DL/I calls, but the response time for each transaction is usually
quite accurate, although a few transactions may not be perfectly
matched and can have very large response times (and sometimes the
output queue time is accurately very large!). It is not guaranteed
that ASMIMSL6 will exist, but it is my hope to continue to provide
this crutch for IMS sites unwilling to purchase an IMS monitor.
VI. SAS Technical Notes.
1. There are no MXG problems using the Version 6.09 of the SAS System.
In fact, there have been no MXG problems with Version 6.08 at TS430
or later maintenance levels! Perhaps that is because MXG Software
is now a standard part of the SAS Quality Assurance test stream?
VII. CICS Technical Notes.
1. How can you use USER instead of TERMINAL to bill CICS transactions.
IBM note RTA000013242 Library item Q451666 answers the question,
"How can you use USER instead of TERMINAL to bill CICS transactions
in an ISC or MRO CICS environment (i.e., when using transaction
routing?", by pointing out that when you specify USERSEC=IDENTIFY
or ATTACHSEC(IDENTIFY) on the SYSTEM entry or CONNECTION definition,
the USER field is then propagated into the records created in the
AOR and other regions observations in CICSTRAN.CICSTRAN.
If you are billing CICS and DB2 by transactions, you really should
look at the ASUMUOW member that summarizes CICSTRAN and DB2ACCT and
their CPU times into one record per Unit of Work, reducing the
number of "things" you have to count. ASUMUOW keeps both TERMINAL
and USER as well as both CICS and DB2 CPU times plus CICS response
buckets in its output dataset PDB.ASUMUOW. If you were using
ASUMCICS to create PDB.CICS summary data, you will find ASUMUOW
preserves the CICS resource and response fields from PDB.CICS and
adds in the DB2 information. ASUMUOW replaces the earlier ANALDB2C
report program that merged DB2ACCT and CICSTRAN records.
VIII. Windows NT Technical Notes.
1. Use /B "Binary" switch on the COPY command to eliminate '3F'x.
Two sites had STOPOVER ABENDS on MVS reading NTSMF data that had
been COPYed under Windows NT Server before uploading to MVS. The
hex dump showed a one-byte physical record containing a '3F'x.
Another site's TYPENTSM job failed with a 180 abend; the VMACNTSM
member had been COPYed, and an extra line containing '3F'x had been
appended to the source file. It is apparently a documented fact
that the COPY command can add an ASCII End-of-File Character at
the end of a copy whenever multiple input files are copied into an
output file. That ASCII End-of-File Character then becomes the
separate physical record on MVS after uploading and translation
from ASCII to EBCDIC with ftp. Using the /B "Binary" switch on
the COPY command was found to eliminate the extra character.
To read the uploaded file with the short record without ABENDing,
you can change MXG's STOPOVER option to MISSOVER by using:
MACRO STOPOVER MISSOVER %
as your first SAS statement, before the %INCLUDEs in your SYSIN.
IX. Incompatibilities and Installation of MXG 15.15.
1. Incompatibilities introduced in MXG 15.15 (since MXG 14.14):
a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
must refit your tailoring, starting with the new IMAC member):
IMACPTF, if you install PTF UN98309 for CICS Transaction Server 1.1
b- Other incompatibility changes:
Users of SAS ITSV V1 and V2.0 and SAS/CPE must install the two line
circumvention described in the text of Change 15.320 to use MXG
Version 15.08 or later. SAS ITSV Version 2.1 is compatible and
the circumvention is not required.
c- These products were incompatibly changed by their vendor, and they
require MXG Version 15.xx as indicated:
Boole's IMF 3.2 (for IMS 6.1) MXG 15.09 Change 15.372
CICS TS V1.2 MXG 15.06 Change 15.274
CICS TS V1.1 APAR UN98309 MXG 15.06 Change 15.258
Landmark TMON CICS 2.0 MXG 15.06 Change 15.281
Landmark TMON MVS 2.0 MXG 15.09 Change 15.346
NTSMF Version 2.1 MXG 15.06 Change 15.249
255 Structures in a Coupling Facility MXG 15.06 Change 15.226
BETA93 Release 1.3 MXG 15.06 Change 15.237
IDMS 14.0 MXG 15.05 Change 15.218
Coupling Facility more than 64 Structs MXG 15.05 Change 15.226
APPC APAR OW16975 APAR-in-Error MXG 15.05 Change 15.227
ObjectStar 3.0 MXG 15.04 Change 15.195
NTSMF Version 2.0 MXG 15.05 Change 15.220
DB2 Version 5.1.0 two SMF 102 IFCIDs MXG 15.02 Change 15.095
Hitachi 7700 Cache R.R. records MXG 15.01 Change 15.008
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.
X. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
XI. 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 is normally
created after the newsletter is sent to the printer! Member CHANGES
on the www.MXG.com homepage are the most timely, as they are updated
(sometimes) between MXG versions.
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 than 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 14.14 now in MXG 15.15:
Dataset/
Member Change Description
Many 15.167 MXG now protects ALL date fields for year 2000.
Many 15.169 SAS inconsistencies between MVS and ASCII fixed.
Many 15.320 Hardcoded PDB. DDname externalized with &PDBxx macro.
Many 15.354 All VMACs for SMF records start with IF ID=....
Many 15.356 New &MACxxxx macro variable added to all VMACs.
Many 15.170 Support for OS/390 Version 2 Release 4 (COMPAT).
None 15.373 Support for OS/390 Version 2 Release 5 (no changes).
ADOC1415 15.304 Using 14/15 records to determine dataset size.
ADOCTAND 15.119 Cannot use Tandem's ftp program to upload Measure.
AIXPDS 15.337 Support for AIX commands IOSTAT/PSSTAT/VMSTAT.
ANALAVAL 15.262 Availability analysis example with PROC CALENDAR.
ANALBATW 15.378 'Batch Window' graphical reports from PDB.JOBS/STEPS.
ANALCISH 15.365 CICS reports CICNQG, CICSLGS, CICLGR are added.
ANALCNCR 15.126 New example counts Avg and Max Logged on TSO Users.
ANALCNCR 15.174 ANALCNCR with large INTERVAL had large WORK space.
ANALDB2R 15.191 ANALDB2R fails, ERROR 31-185 if no PLAN in SORTBY.
ANALDB2R 15.223 Some datetimes shifted right two positions, overlay.
ANALDB2R 15.279 APPARENT MACRO &SORTUOW NOT RESOLVED error.
ANALDBTR 15.259 Pairing DB2 IFCID 59 & 63 wrong if multiple 63s.
ANALDBXX 15.173 Merge DB2 102s with DB2ACCT and CICSTRAN example.
ANALDDCN 15.062 Analysis of impact of DDCONS(NO)'s duplicate bytes.
ANALMULT 15.367 Corrected values of EXCPNODD/IOTMNODD for MULTIDD=Y.
ASMIMSLG 15.229 Archaic pre-DFP 3.0 systems retrofit.
ASMRMFV 15.384 Support for RMF Monitor III CPU, PGP, ENC records.
ASMTAPES 15.047 ML-13 of ASMTAPES protects 0C4s, stays up, etc.
ASMTAPES 15.141 ASMTAPES ML-14 populates fields, protects 0C4s.
ASMTAPES 15.285 ML-15 adds dump suppression, OS/390 1.3 JCT changes.
ASMTAPES 15.381 ASMTAPES ML-16 supports four-digit UCBs.
ASMTAPES 15.291 MXG 15.06 did not contain ML-15; MXG 15.07 does.
ASMVVDS 15.302 Out of Storage eliminated, UCBs above 16MB
ASUMTALO 15.077 Exploitation of TALO Interval Records added by ML-12
ASUMTALO 15.301 Starting/Ending Interval counts include SPUN.
ASUMUOW 15.079 IRESPTM, ENDTIME corrected.
ASUMUOW 15.221 Specific reference to TEMP01 caused error, removed.
ASUMUOW 15.307 MROTRAN count included "spun" observation counts.
ASUMUOW 15.315 ASUMUOW option to get real TRANNAME versus CPMI/CSMI.
BUILDPD3 15.020 JES3 BUILDPD3 had extra observations created.
BUILDPD3 15.235 Duplicate step records might not be deleted.
BUILDPDB 15.235 Duplicate step records might not be deleted.
BUILDPDB 15.329 _CDExxxx macros reordered, now inside ELSE DOs.
CICINTRV 15.251 CICINTRV logic corrected, must use this version.
CLMXGSAS 15.084 Sample CLISTs for MXG and SAS execution under TSO.
CONFIG 15.194 MXG default for MEMSIZE raised from 48M to 64M
CONFIG 15.293 YEARCUTOFF=1960 is now MXG default, protects non-Y2K.
DIFFDB2 15.070 DB2STATS values are negative in startup interval.
DIFFDB2 15.278 Variables B1HITRAT-B4HITRAT were wrong.
EXPDB30V 15.142 PDB exit EXPDB30V added for PDB.SMFINTRV.
FORMATS 15.057 New RACF events decoded by MG080EV.
FORMATS 15.109 Format MGBYTRT (Byte per second) truncated on left.
FORMATS 15.152 Formats $MGHEX2H, $MGHEX4H, $MGHEX8H blanks '40'x.
FORMATS 15.175 CICS formats $MGCICDL,$MGCICDS corrected.
IHDR110 15.268 CICS Type 110 Header Exit for record selection.
IMACICBB 15.179 Support for Boole MainView for CICS stat records.
IMACICSM 15.157 Support for Shared Medical CICS Journal OASMON.
IMACKEEP 15.123 Member IMACKEEP is documented as archaic.
IMACPDB 15.002 Variable TERMIND added to PDB.STEPS.
IMACPDB 15.048 Variables SMF6FDNM/SMF6PDNM (Formdef/PrintDef) kept.
IMACPDB 15.091 Variables ACTBYTES/ACTPAGES from TYPE26J2 in PDB.
IMACSHFT 15.151 Table of Holidays for SHIFT example added.
IMACUOW 15.221 SORT output destination, other options externalized.
IMACs 15.328 New _Sxxyyy "PROC SORT" macro defined in IMACs.
INSTALL 15.277 VM/CMS cannot use a MACLIB member for CONFIG option.
NTINTRV 15.255 Multi-processors properly summarized in NTINTRV.
RMFINTRV 15.138 Report RPGNs/Classes can be used in IMACWORK!!!
RMFINTRV 15.238 "ERROR. NEGATIVE CPU OVERHEAD TIME (TYPE70-TYPE72)".
RMFINTRV 15.250 Test CPUTM NE CPU72TM too strong due to truncation.
SMFPRM00 15.053 First draft of MXG recommendations for SMF parms.
TRND72GO 15.135 Trending for TYPE72GO WLM Goal Mode Service Classes.
TYPE102 15.113 DB2 Trace IFCID=125 logic revised.
TYPE102 15.121 Negative values for DB2 fields decoded with format.
TYPE102 15.132A DB2 Trace dataset T102S106 now corrected.
TYPE102 15.216 DB2 Trace 102 subtype 140 INPUT STATEMENT EXCEEDED.
TYPE102 15.245 DB2 Type 102 Subtype 140 INPUT STATEMENT EXCEEDED.
TYPE102 15.245 Invalid Type 102 subtype 140 protection added.
TYPE103 15.313 Support for ICSS SMF type 103 (Lotus Domino).
TYPE110 15.133 Leap Seconds support correct "GMT" to local.
TYPE110 15.258 APAR UN98309 CICS TS V1.1 INCOMPATIBLE
TYPE110 15.269 UOWTIME duplicate values, UOWIDCHR added to resolve.
TYPE110 15.274 Support for CICS Transaction Server 1.2 INCOMPATIBLE.
TYPE116 15.043 TYPE116 variable QWHCTNO remains numeric.
TYPE116 15.241 MQ Series type 116 blank CICS TASKNR, questions.
TYPE116 15.241 Type 116 INVALID DATA FOR QWHCTASK message
TYPE1415 15.124 Support for APAR OW25263 (for 3590s)
TYPE1415 15.239 New variable LASTVOFL flags if this is Last Volume.
TYPE16 15.243 Support for DFSORT APAR PN71137 (COMPATIBLE).
TYPE16 15.243 Support for DFSORT APAR PN71337 added flag fields.
TYPE26J3 15.228 APAR OW26297 adds job account fields to JES3 type 26.
TYPE26J3 15.273 JES3 ACCOUNT fields in type 26 were not read.
TYPE28 15.336 Support for NPM 2.3 and APAR OW17876.
TYPE28 15.362 NPM type 28 subtype 82 error corrected.
TYPE30 15.063 TYPE30OM for OMVS discoveries
TYPE30 15.065 EXCP/IOTM for UCB addresses over '8000'x wrong.
TYPE30 15.133 Leap Seconds support converts "GMT" to local.
TYPE30 15.227 APAR OW16975 INCOMPATIBLY in error, APPC type 30.
TYPE37 15.385 Support for TME 10 Netview OS/390 1.1 SMF type 37.
TYPE42 15.106 Support for APAR OW20921 creates TYPE42VT (VTOC+).
TYPE42 15.112 Support for APAR OW26451/OW26453/OW26497 MAXRSPTM+.
TYPE42 15.358 TYPE42AU dataset was incorrectly built.
TYPE50 15.185 Support for VTAM 4.4 changes to SMF type 50.
TYPE6 15.009 Support for APAR OW25152 (PRINTWAY Print Queue Name)
TYPE6 15.015 Support for Anacom's Anastack spooler type 6 SMF.
TYPE6 15.016 Support for CA-DISPATCH Version 6 w/5-digit JSENR.
TYPE6 15.039 Invalid "MVS PSF DOWNLOAD" type 6 records, APAR.
TYPE6156 15.176 Support for Invalid Catalog Cell '05'x segment.
TYPE6156 15.193 Another invalid '04' Catalog Cell STOPOVER.
TYPE6156 15.222 INPUT STATEMENT EXCEEDED, Change 15.166 was wrong.
TYPE7072 15.004 OS/390 R3 type 72 INPUT STATEMENT EXCEEDED RECORD.
TYPE7072 15.013 Variable SSTORE72 (Shared Pages Bytes) created.
TYPE7072 15.023 TYPE70 variable PCTMVSBY wrong in MDF shared CPUs
TYPE7072 15.026 New variable VELONOIO calculates NO I/O Velocity.
TYPE7072 15.038 TYPE72GO PERFINDX, R723CIRC and R723CICT wrong.
TYPE7072 15.182 TYPE72GO VELOCITY wrong for Discretionary/System
TYPE7072 15.183 TYPE72GO was OUTPUT when NOACTVTY was zero.
TYPE7072 15.214 TYPE70 PCTMVSBY incorrect MXG 15.01-15.04.
TYPE7072 15.270 OS/390 R2.4 Goal MODE INVALID DATA FOR R723CIDT/CDQT
TYPE70PR 15.299 TYPE70PR had no obs for deactivated partition.
TYPE71 15.064 Variable SLOTUTIL added to TYPE71 - slot usage
TYPE72GO 15.297 VELOCITY variables are now multiplied by 100.
TYPE74 15.008 Support for Hitachi 7700 Cache Records (INCOMPAT)
TYPE74 15.011 Variable SMF744PN added to TYPE74CF to count CPUs.
TYPE74 15.058 Cache TYPE74CA clean up and new variables added.
TYPE74 15.226 Support for SMF type 74 CF more than 64 structures.
TYPE78 15.061 PCTDIRPT/PCTCUBSY in TYPE78CF wrong.
TYPE80A 15.107 Dataset TYPE8025 now created for RACF Event 25.
TYPE80A 15.158 Support for RACFEVNT=22 and 59, repeated segments.
TYPE80A 15.309 RACF RVARY INPUT STATEMENT EXCEEDED 1.0.9.2 release.
TYPE88 15.257 Support for subtype 11 type 88 System Logger.
TYPE90 15.267 Variable SMFRECNR is now kept.
TYPE91 15.213 Support for SMF type 91 subtype 21 SMARTBATCH data.
TYPE92 15.003 OMVS file GMT datetimestamps now converted to local.
TYPE94 15.073 Support for Virtual Tape Server additions to SMF 94.
TYPE94 15.130 TYPE94 variable SMF94ETO restored.
TYPE99 15.165 Support for "Goal Mode SMF" type 99 subtype 6.
TYPE99 15.357 Support for APAR OW29790.
TYPEACF2 15.197 ACF2JR dataset variable ACLFLDVL populated.
TYPEAIMR 15.311 Support for Fujitsu's AIM V20 AIM/RDBII SMF type 98.
TYPEBBMQ 15.263 Support for Boole & Babbage MQ Series VSAM file.
TYPEBETA 15.181 INVALID ARGUMENT in BETA93 SMF record *RELOAD*.
TYPEBETA 15.237 Support for BETA93 Release 3.1 (INCOMPATIBLE).
TYPECACH 15.008 Support for Hitachi 7700 Cache Records (INCOMPAT)
TYPECIMS 15.033 ABENDSYS/ABENDUSR in IMF 1.3+ is corrected.
TYPECIMS 15.082 Support for Boole and Babbage IMF 3.2 (for IMS 6.1.)
TYPECIMS 15.372 Support for Boole's IMF 3.2 (for IMS 6.1) INCOMPAT
TYPECMF 15.187 Variable C279SSI changed from numeric to character.
TYPECMF 15.376 CMF Subtype 15 now creates CMF16MAP & CMF16LPA.
TYPECMF 15.377 CMF Cache dataset CMF27CSC now contains CMF27C93.
TYPECMFV 15.380 Boole & Babbage CMF VSAM History File supported.
TYPECTCP 15.248 Support for Applied Expert Systems Clever TCP/IP.
TYPECTLG 15.166 Support for Catalog Cell 'E7' (Alias).
TYPECTLT 15.276 IOA/Control-T 5.0 variable DSEXPDT changed.
TYPECTLT 15.306 CONTROL-T vars DSUSECT/DSEXCP wrong, undoc bytes.
TYPEDB2 14.095 Support for DB2 Version 5.1.0 (COMPATIBLE).
TYPEDB2 15.133 Leap Seconds support correct "GMT" to local.
TYPEDB2 15.269 UOWTIME duplicate values, UOWIDCHR added to resolve.
TYPEDCOL 15.108 High Used RBA can be greater than Allocated Space.
TYPEDCOL 15.163 Support for DCOLLECT in DFSMS 1.4 (COMPAT).
TYPEDCOL 15.324 VOLSER added to DCOLLECT DCOLCLUS dataset.
TYPEDPPX 15.305 Support for DPPX/370 Performance Reporter output.
TYPEEDGR 15.140 Support for new fields in DFSMSrmm extracts.
TYPEEDGS 15.021 Variables EDGSADTE,EDGSARSD,EDGSASID, formats value.
TYPEEREP 15.246 EREP records past logical EOF were read from DASD.
TYPEFTEK 15.102 Support for Filetek Optical Disk SMF record
TYPEHMF 15.192 Support for HMF SMF Subtype 11 (DS3 Statistics).
TYPEHPTE 15.247 Support for HP MeasureWare for Terra Data OS.
TYPEHURN 15.195 Support for ObjectStar 3.0 (INCOMPATIBLE).
TYPEICE 15.134 Support for IXFP SMF subtypes 6 and 7
TYPEICE 15.215 IXFP subtypes 2,3,4 not output, MXG 15.02-15.04 only.
TYPEIDMJ 15.363 Support for IDMS Journal format for IDMS V12.
TYPEIDMS 15.218 Support for CA's IDMS 14.0 (INCOMPATIBLE).
TYPEIDMS 15.264 IDMS 10.02 observations not output.
TYPEIMFL 15.375 Read IMF + SAP + IBM IMF log records at one time.
TYPEIMSD 15.081 Support for IMS DBCTL transactions from IMS 07/08s.
TYPEM204 15.303 Support for MODEL204 Version 4.1 INCOMPATIBLE.
TYPEMEMO 15.071 Support for MEMO subtype 8, creates MEMODIST dataset
TYPEMIM 15.059 Segments not output after MIMCNT=0 with MIM V 3.
TYPEMON2 15.281 Support for Landmark's The Monitor for CICS/ESA 2.0.
TYPEMWSU 15.068 Revised support for HP's MeasureWare for SUN
TYPEMWTE 15.247 Support for HP MeasureWare for Terra Data OS.
TYPEMWUX 15.022 HP-MW and HP-PCS base date now JAN1970 vice JAN70.
TYPENSPY 15.067 Support for NETSPY Version 5.0 is in MXG 14.14.
TYPENSPY 15.069 ARSPHOST missing in NSPYLU dataset for NETSPY 4.4
TYPENSPY 15.168 Zero obs in NSPYTIC3 corrected.
TYPENTSM 15.012 NTSMF records from NT 3.51 now supported.
TYPENTSM 15.027 NTSMF new objects created by COMPAQ hardware.
TYPENTSM 15.147 Support for NTSMF Version 2.0 (INCOMPAT).
TYPENTSM 15.147 Support for Windows NT 4.0 Service Pack 2 (INCOMPAT)
TYPENTSM 15.190 Support for five new NTSMF Objects.
TYPENTSM 15.220 Support for NTSMF Version 2.1 (COMPAT), new objects.
TYPENTSM 15.249 Support for NTSMF Version 2.1 (INCOMPATIBLE).
TYPENTSM 15.265 NTSMF Version 2.0.H caused INPUT STATEMENT EXCEEDED.
TYPEOMVT 15.150 INPUT STATEMENT EXCEEDED Omegamon VTAM 200 IRNUM=12.
TYPEOMVT 15.296 Support for Omegamon for VTAM V400 (COMPATIBLE).
TYPEOPC 15.188 OPC 3.1 datasets OPC23, OPC29, OPC31 corrected.
TYPEOPC 15.256 OPC type 29 INPUT STATEMENT EXCEEDED error.
TYPEPW 15.010 Support for Landmark's Performance Works/Smart Agent
TYPEQAPM 15.052 Support for all OS/400 Release 3.7.0 records.
TYPEQAPM 15.105 Dataset QAPMAPPN has variables wrong.
TYPEQAPM 15.127 AS/400 variable AS400SYN missing if SYSTEM LT 8.
TYPEQAPM 15.316 Support for OS/400 Release 4.1.0 (INCOMPATIBLE).
TYPERACF 15.103 Support for RACF utility IRRDBU00's OMVS RACF data.
TYPERDS 15.144 Zero observations in TYPERDS1-TYPERDS7 datasets.
TYPERMFV 15.321 Some RMF III VSAM variables were corrected.
TYPERMFV 15.355 CSA and SQA values were wrong; should be &RB.4.
TYPEROSC 15.017 Support for CA-ROSCOE Version 6 SMF is verified.
TYPESARX 15.300 Support for SAR CA-VIEW SMF exit SARSRQUX.
TYPESFTA 15.030 SOFTAUDIT collect only at JOB record was deleted.
TYPESTC 15.186 STK 4400, STCLMU variables decoded.
TYPESVCC 15.200 Support for Peregrine's Service Center SMF.
TYPETCP 15.234 Support for TCP/IP 3.2 API Calls record changes.
TYPETMDB 15.114 TMON/DB2 subtype "DW" now supported.
TYPETMDB 15.184 Support for TMON/DB2 record type "DE".
TYPETMNT 15.077 Support for new fields added by ML-12 of ASMTAPES.
TYPETMNT 15.110 Enhancements in preparation for ASMTAPES ML-14.
TYPETMO2 15.353 Landmark TMON for CICS V2 variables renamed.
TYPETMON 15.001 File counts incorrect in TYPETMON datasets.
TYPETMON 15.054 Variables SYSTEM/SYSID truncated to only one byte.
TYPETMON 15.139 Landmark CICS fix TT00032 creates one bad record.
TYPETMON 15.266 MXG 15.04-MXG 15.05 only. CREATIME, other dates wrong
TYPETMON 15.294 SYSID was length five instead of length four.
TYPETMS5 15.199 Support for CA-1/TMS Release 5.2 (COMPATIBLE).
TYPETMV2 15.346 Landmark for MVS V2 INPUT STATEMENT EXCEEDED.
TYPEVLFC 15.230 Support for VLF Catalog activity from SYSLOG.
TYPEVM 15.189 Support for VM ADSM Account Records in VM/ESA.
TYPEWWW 15.086 Support for World Wide Web Common Log Format records
TYPEXPSM 15.172 Support for Xerox's XPSM Version 2 SMF records.
TYPEZARA 15.074 Support for Altai's ZARA Tape Management Release 1.2
TYPEZARA 15.323 Packed Decimals protected, DATELU corrected.
UDSKCONT 15.388 Utility to report PC Disk File sizes.
UDUMPEBC 15.085 Utility to produce MVS-like LIST; hex dump on ASCII.
UTILCONT 15.056 Now a %MACRO - displays SAS dataset sizes (in MB).
UTILUOW 15.335 CICS MRO - which CICSTRAN record has real TRANNAME.
UVBSNRDW 15.242 Utility to re-create SMF VBS with no RDW/BDWs.
UVBSNRDW 15.242 Utility to recreate VBS from data with no RDW/BDW.
VMAC80A 15.289 RACF DTP EV44xxxx variables added for RACFEVNT=13.
VMACIMSA 15.275 SAP IMS timestamp SAPTIMTR is Start of Transaction.
VMACSTC 15.364 Support for StorageTek's VSM SMF records.
VMACUCB 15.125 VIO detection conflict with DEVNR='7FFFF'x.
VMXGCOMP 15.100 %MACRO utility to compare SAS Data Libraries
VMXGOPTR 15.099 %MACRO to reset (most) SAS Options.
VMXGSUM 15.098 Enhancement to protect OBS=0, and USER= options.
WEEKBLDT 15.115 Dataset TYPE77 causes failure, wrong BY list.
YEAR2000 15.045 DATETIMExx won't display yyyy if truncated.
YEAR2000 15.167 MXG now protects ALL date fields for year 2000.
YEAR2000 15.293 MXG cannot protect all non-Y2K-compliant dates.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 15
======Changes thru 15.391 were in MXG 15.15 dated Feb 23, 1998======
Change 15.391 Zero observations in MIMTAPE dataset, because somewhere
VMACMIM along the way, the variable MIMCNT, which used to be the
Feb 20, 1998 sample count, is now zero in the MIM SMF record. MXG had
heuristically only invoked the EXTYMIM exit if the record
had "samples" but now no observations were created. The
two DO groups around the %INCLUDE SOURCLIB(EXTYMIM); that
tested MIMCNT GT 0 were eliminated, so all MIM segments
will be output.
Thanks to Joseph Montana, Acxiom, USA.
Change 15.390 Three variables in these two members still had DATE7 as
ANALDB2P their format, but are now changed to DATE9 so that all
ASUMIDMS four digits of year will be displayed.
Feb 20, 1998
Thanks to Pete Gain, SAS UK, ENGLAND.
Change 15.389 Reading type 42 records directly from the SMF VSAM file
VMAC42 caused INPUT STATEMENT EXCEEDED because some of the new
Feb 20, 1998 subtypes did not have "+OFFSMF" added when their offsets
were calculated. The code worked fine with dumped SMF
Thanks to Ken Williams, Sun Life of Canada, ENGLAND.
Change 15.388 New utility program that reports PC Disk File sizes and
UDSKCONT disk space required by directory and high-level directory
Feb 20, 1998 names. To use, from the root directory, you issue:
DIR *.* /S >> C:\DISKFARM
which creates the listing of all files in "DISKFARM",
and then, under SAS, you issue:
%UDSKCONT
and the reports will show the total disk space required
(assuming 32K worst-case cluster size for FAT) and the
file bytes in each directory, and then a summary report
shows filesize and space required by highlevel dir name.
Change 15.387 Support for TME 10 Netview for OS/390 1.1 SMF type 39
VMAC39 will not fail with the new records, but there are two
Feb 18, 1998 segments (accounting and availability data section and
APPN route data section) that are added to the existing
subtypes, and there are two new subtypes:
007 - Init Failure Record
008 - Storage and Event Counter Record
If you have these records, see member SENDDATA and email
me a few hour's worth so I can validate the enhancement.
Change 15.386 Support for TME 10 Netview for OS/390 1.1 SMF type 38
VMAC38 is NOT included in MXG; the type 38 record was completely
Feb 18, 1998 restructured and I need test data records to enhance it.
There are now three subtypes that now exist in type 38:
001 - Command Authorization Table
002 - Task Resource Utilization Table
003 - Span Authorization Table
First glance shows lots of interesting fields. If you
have type 38's from Version 1.1, see member SENDDATA and
email me a few hours worth, and I can enhance MXG with
these three new datasets.
Change 15.385 Support for TME 10 Netview for OS/390 1.1 SMF type 37
VMAC37 record IS already included in MXG, as there were no
Feb 18, 1998 changes to the type 37 record, although the table numbers
were changed in documentation: "TME 10 Netview for OS/390
Application Progrmmer's Guide Version 1 Release 1, pub
number SC31-8223-00 (but don't look for that order number
on the publication itself; only on the Readers Comment
Form could I find the pub number!). IBM saves ink???
That publication documents SMF 37, 38, and 39 records.
======Changes thru 15.384 were in MXG 15.09 dated Feb 17, 1998======
Change 15.384 Support for RMF Monitor III VSAM file adds support for
ASMRMFV new record types of CPU, PGP, and ENC, but I have not had
ASMRMFV test data (ASMRMFV, when assembled, converts the RMF III
Feb 17, 1998 compressed files into flat records for TYPERMFV to read),
so output records from ASMRMFV with CPU, PGP, or ENC
enabled needs to be verified with TYPERMFV. In addition,
the support for the CSR records cannot be finished until
we can get a hex dump of the ASMRMFV program when it
tries to read a CSR record. We have created a special
version of ASMRMFV, named ASMRMFVX, that will Abend S0C3
when it tries to read a CSR record; if you have those
enabled and can generate the S0C3 Abend Dump, please send
it (tape or printed) to Merrill Consultants so we can
decode that RMF III record as well.
Change 15.383 MXG 15.09 only. Comma missing at end of INCODE= caused
TRNDRMFI error. This was caught in my QA test, but I failed to
Feb 17, 1998 copy the change from the QA library back into the master!
====Changes thru 15.382 were printed in MXG Newsletter THIRTY-THREE====
Change 15.382 NPM variables STARTIME, ENDTIME, and DURATM had missing
VMAC28 value in dataset NPMINRTM from SMF type 28 subtype '30'x.
Feb 16, 1998 Valid STARTIME and ENDTIME were INPUT in the STT section
processing, but the SAA section also INPUT STARTIME and
ENDTIME, and when there were no timestamps in the SAA
section, their missing value overrode the valid STT
values. To correct, the calculation of STARTIME and
ENDTIME in the AOFTYPE='SAA' section is performed by
IF STARTIME=. THEN DO; and IF ENDTIME=. THEN DO;
logic so that valid STARTIME/ENDTIME will be preserved.
Thanks to ???, Spar Handels AG, GERMANY.
Change 15.381 ASMTAPES Maintenance Level ML-16 now writes records for
ASMTAPES devices with four-digit UCBs. (We thought we had added
ZSMTAPES that support long ago, but testing uncovered our error.)
Feb 17, 1998 In addition, ML-16 corrects the "TEST" SYSPARM which did
not work as advertized. Note that "TEST" (which writes
to a flat file instead of SMF), does not support the WLM
(Workload Manager Fields) that ARE supported in non-TEST.
Thanks to Mark Schmitt, First Card, USA.
Change 15.380 Major enhancement to support for Boole & Babbage CMF
EXCMFVAL VSAM History File. MXG Previously decoded a dozen or
EXCMFVCD so subtypes, but this massive user contribution added
EXCMFVCF fourteen completely new datasets and their exits, and
EXCMFVCS creates variables in ten existing datasets that were only
EXCMFVDC a skeleton dataset before this change.
EXCMFVDV
EXCMFVGL The bulk of this change was written by
EXCMFVHD Pino Todesco, Boole and Babbage, Australia.
EXCMFVMP
EXCMFVMS This text will be updated with correct name, etc.
EXCMFVMV
EXCMFVRV As test data is received from interested sites for the
EXCMFVSO subtypes not yet decoded, MXG will be enhanced to also
EXCMFVST support those subtypes.
VMACCMFV
Feb 15, 1998 This is also called "Mainview" by Boole.
Thanks to Pino Todesco,Boole & Babbage, AUSTRALIA.
Change 15.379 Two new reports for "Batch Window" analysis, one based on
ANALBATW PDB.STEPS as input, and the second based on PDB.JOBS were
Feb 15, 1998 written by Grant and contributed by Ken.
Thanks to Grant Mackay, Standard Life, SCOTLAND
Thanks to Ken Williams, Southern Electric, UK.
Change 15.378 Some simple reports of Data Set activity based on the SMF
ANAL42 type 42 record's dataset TYPE42DS were contributed by
Feb 15, 1998 Ken from a previous lifetime.
Thanks to Ken Williams, Standard Life, SCOTLAND.
Change 15.377 Boole's CMF Cache Stats were split into two CMF datasets
VMACCMF CMF27CSC and CMF27C93, but there were no merge variables
Feb 15, 1998 with which to combine them, so the internal logic was
redesigned, so now the CMF27CSC dataset contains both
sets of variables. The CMF27C93 dataset is still built as
before (so your old reports won't fail), but you should
now use CMF27CSC for Cache reporting (and you can then
use your EXCMFC93 exit member to turn of creation of obs
in the now-archaic CMF27C93 dataset. Use CMF27CSC!
Thanks to Neil Ervin, Banc One Services Corporation, USA.
Change 15.376 Boole CMF subtype 16 record now creates two new datasets
EXCMF16M CMF16MAP (Virtual Storage Map) & CMF16LPA (LPA Modules)
EXDMF16L thanks to this significant user contribution.
VMACCMF
Feb 13, 1998
Thanks to Paul Hill, Midland Bank, UK.
Change 15.375 IMS Log records from Boole's IMF and from SAP and IBM's
TYPECIMS IMS log records can now be processed in one pass of the
TYPEIMFL IMS log. Member VMACIMS had internal variable MSGDRRN
VMACCIMS (a numeric variable) replaced by CMSGDRRN (a character)
VMACIMS to avoid conflict between CIMS and IMS member, and some
Feb 13, 1998 lines were relocated in both VMACCIMS and VMACIMS, and
macro _IMS in member VMACIMS now creates the variables in
the header that VMACCIMS expected, and new macro _CHAIN
is defined in member VMACCIMS, replacing the inline code
that handled Chained Transactions in member TYPECIMS, so
the end result is that new member TYPEIMFL contains:
%INCLUDE SOURCLIB(VMACCIMS,VMACIMS);
DATA _VARCIMS _VARIMS ;
_IMS ; _CDECIMS _CDEIMS ; _CHAIN ;
so TYPEIMFL creates all 25 datasets from IMF, IMS, and
SAP's IMS log records in one pass of the IMSLOG tape:
CIMSTRAN CIMSDBDS CIMSDB2 CIMSPROG
IMS01 IMS01M IMS03 IMS03P IMS07 IMS08
IMS31I IMS31O IMS35I IMS35M IMS35O IMS35P
IMS36 IMS36M IMS5901 IMS5903 IMS5936 IMS5937
IMS5938A
SAPIMSBA SAPIMSON SAPIMSSP
And if you don't want to create all 25 datasets, you can
use MXG's new &MACxxxx macro variable (Change 15.356) to
redefine the _Lxxxxx dataset macros to _NULL_ for the
unwanted data sets, and they won't be created:
%LET MACIMS=
MACRO _LIMS01 _NULL_ % MACRO _LIMS01M _NULL_ %
MACRO _LIMS03 _NULL_ % MACRO _LIMS03P _NULL_ %
MACRO _LIMS07 _NULL_ % MACRO _LIMS08 _NULL_ %
MACRO _LIMS31I _NULL_ % MACRO _LIMS31O _NULL_ %
MACRO _LIMS35I _NULL_ % MACRO _LIMS35M _NULL_ %
MACRO _LIMS35O _NULL_ % MACRO _LIMS35P _NULL_ %
MACRO _LIMS36 _NULL_ % MACRO _LIMS36M _NULL_ %
MACRO _LIMS591 _NULL_ % MACRO _LIMS593 _NULL_ %
MACRO _LIMS596 _NULL_ % MACRO _LIMS597 _NULL_ %
MACRO _LIMS598 _NULL_ %
;
%INCLUDE SOURCLIB(TYPEIMFL);
would only create the 4 IMF and the 3 SAP datasets.
Thanks to Reinhard Kelm, GRZ, GERMANY.
Thanks to Friedhelm Danne, GRZ, GERMANY.
Change 15.374 There was no KEEPs example that worked with ASUMUOW, but
IMACCICS comments implied there was. Now the three examples show
Feb 12, 1998 the KEEPs for CICSTRAN that are required for ASUMCICS,
ASUMCICX, and ASUMUOW. The actual KEEPs examples use
the DROP= statement in the _K macro to control keeping.
Thanks to Tom Weiland, Phoenix Home Life Mutual Insurance Co, USA.
Change 15.373 Support for OS/390 Version 2 Release 5 is contained in
none MXG 15.04 or later, as there were no changes to the SMF
Feb 12, 1998 records between OS/390 2.4 and OS/390 25., and MXG Change
15.270 added support for Version 2 Release 4 in 15.04.
Change 15.372 Support for Boole's IMF 3.2 (for IMS 6.1) INCOMPATIBLE
VMACCIMS because 400 bytes were inserted at the end of the fixed
Feb 12, 1998 portion of the record, causing DBD counts to be wrong
without this change. The 400 bytes added only four new
fields: GMT Adjustment, UTCA, Checkpoints/Syncpoints
CTCKPNTS, Maximum Locks Held MAXLOCKS and Total Locks
Held, TOTLOCKS.
Thanks to Reinhard Kelm, GRZ, GERMANY.
Thanks to Friedhelm Danne, GRZ, GERMANY.
Change 15.371 The new BLDNTPDB macro provides simple daily/weekly/
BLDNTPDB monthly dataset building and reporting from NTSMF data
Feb 12, 1998 records. This macro does everything for you, or you
can override its options. It even supports reruns!
Especially for new users who are not familiar with the
PDB architecture, this runs-only-on-ASCII-SAS example
should make life simple. More documentation on how to
use this facility will be forthcoming, and this is still
in development.
Thanks to Marti Henley, Matridigm, USA.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.370 Concurrency analysis routine ANALCNCR has new MYTIME=
ANALCNCR argument for sites that want to specify a non-standard
Feb 12, 1998 time period for summarization. (Note: the MYTIME=
specification is not used to "sync" the intervals, and
SYNCINTV=YES is ignored if INTERVAL=MYTIME is used.
Thanks to Tom Parker, CSC FSG Banking Division, USA.
Change 15.369 Trending for the ASUMUOW using the PDB.ASUMUOW dataset
TRNDUOW daily as input, rather than building ASUMUOW weekly, is
Feb 12, 1998 recommended for sites that need to analyze CICS MRO with
or without DB2 by UOWID, i.e., by Unit of Work ID, due
to potential large volumes of data, CPU time, work space
and I/O operations if the trending were done from the
weekly PDB.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.368 New argument DURATM=INTERVAL will cause variable DURATM
ASUMCICS to be created in VMXGSUM's output dataset, and DURATM
ASUMDB2A will contain the duration specified on INTERVAL (for the
ASUMDB2B "real" durations of QTRHOUR, HALFHOUR,HOUR, and DATE), to
ASUMHSM be consistent with MXG design intentions of having DURATM
ASUMJOBS in all interval datasets. The eight ASUMxxxx members
ASUMPRTR listed are the first to exploit this new DURATM=INTERVAL
ASUMTMNT argument for VMXGSUM. In addition, both VMXGSUM and
VMXGDUR VMXGDUR now contain new argument MXGWEEK= that allows
VMXGSUM you to change your "first day of the week" in Trending
Feb 12, 1998 datasets from MXG's default of MONday.
Thanks to Chris Weston, SAS ITSV Cary, USA.
Change 15.367 The EXCPNODD and EXCPTODD counts in step and job records
ANALMULT with MULTIDD='Y' (i.e., there were so many DD segments
Feb 12, 1998 that MVS created multiple type 30 records for a step)
are incorrect, because they are created for each step
record and are not summed across all of the multiple
records. Since these MULTIDD='Y' jobs are almost always
data center work (like SAR/RMDS/etc spoolers) the error
has not had any real effect, but this user has provided
a series of macros that will start with the raw SMF data
and correctly calculate EXCPNODD and EXCPTODD for these
MULTIDD='Y' tasks. Because it must sort lots of records,
and takes appreciable CPU and IO resources, I have no
plans to add the logic to BUILDPDB, but it is here if
you need it!
Thanks to Dr. Alexander Raeder, Karstadt, GERMANY.
Change 15.366 Member ANALUOW as announced in Change 15.205, but it did
ANALUOW not get copied into the MXG library until MXG 15.09, and
Feb 12, 1998 it was cleaned up and enhanced now as well.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.365 CICS DFHSTUP "Shutdown" reports CICNQG, CICLGS, and
ANALCISH CICLGR have been added to member ANALCISH.
Feb 20, 1998
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 15.364 Support for StorageTek VSM SMF records adds 17 new data
EXSTCV09- sets for HSC subtypes 09 thru 26. The datasets are
EXSTCV25 named STCVSM09 thru STCVSM26 and they provide significant
VMACSTC measurements, including bytes read/written, duration of
Feb 12, 1998 mount, dismount, recall, migrate, etc., etc., etc!
Feb 20, 1998 The code has been syntax checked and subtypes 13, 14, 15
and 21 records have been processed.
Change 15.363 IDMS Journal Format Performance Records were apparently
TYPEIDMJ changed in IDMS Version 12, and the old Journal support
VMACIDMJ failed. This revision heuristically skips over the non
Feb 11, 1998 performance segments and has been tested with real data.
Unfortunately, the quick solution was to create VMACIDMJ
that knows about the idiosyncrasies of the Journal data,
but this means dual maintenance in VMACIDMS/VMACIDMJ with
each new version of IDMS!
Thanks to Alfred Mueller, ABN-AMRO Services Co., USA.
Change 15.362 NPM type 28 subtype 82 caused INPUT STATEMENT EXCEEDED
VMAC28 because 36 bytes were input when there were only 24. The
Feb 10, 1998 statement ELSE IF LENAOF GE 172 AND NPMSUBTYP NE 83X
THEN INPUT +36 @;
must be changed to ELSE .... THEN INPUT +24 @;
Thanks to Mel Hitchings, British Telecom, WALES.
Change 15.361 Creation of the WKnnPCPU, WKnnPPRV, and WKnnPUSR percent
NTINTRV values in the NTINTRV dataset was revised to convert the
Feb 10, 1998 percentages to durations, sum the durations, and recalc
the percentage values. If the DURATM of all PROCESS
intervals is the same, the new and old calculations are
identical, but the old calculations were wrong if there
were dissimilar values of DURATM in the PROCESS dataset.
Thanks to Wayne Holzback, Reynolds Metal Company, USA.
Change 15.360 Variable OTHRPUSR was not in the RETAIN list in member
NTINTRV NTINTRV, causing that variable to be missing from the
Feb 10, 1998 NTINTRV dataset.
Thanks to Marti Henley, Matridigm Corporation, USA.
Change 15.359 DCOLLECT variables DDCXSYS and DDCXREG were reversed in
VMACDCOL the input statement; DDCXSYS should have been first and
Feb 10, 1998 then DDCXREG second, as it was in DCOLLECT 1.2. In 1.3
the documentation reversed the order, but tests with
data confirm the real order is XSYS and then XREG.
Thanks to Mike Blocker, Fidelity Investments, USA.
Change 15.358 The TYPE42AU (Audit ACTIVATE, ENF, or VARY SMS events)
VMAC42 was not input correctly, but the record is also wrong!
Feb 10, 1998 MXG errors: insert +16 between INPUT and SMF42ETY.
change +72 to +88 before SMF42ESD.
IBM error: there are only 31 total bytes between SMF42ETY
and SMF42EVL, instead of the 32 documented.
I changed the +22 after SMF42ENM to +21 while
we sort out IBM's error.
Thanks to Michael E. Friske, Fidelity Investments, USA.
Change 15.357 Support for APAR OW29790 adds variables PGOALPCT and
VMAC99 SERVER01-SERVER05 and SERVPN01-SERVPN05 to the TYPE99_6
Feb 10, 1998 dataset to track service classes served.
Change 15.356 This enhancement adds a &MACxxxx macro variable in each
DOC VMACxxxx member so that you can dynamically override the
VMXGINIT IMACxxxx member without having to EDIT and save an IMAC!
Feb 8, 1998 In each VMACxxxx member, a new line with "&MACxxxx;" was
added immediately after the %INCLUDE SOURCLIB(IMACxxxx).
For example, in member VMACHSM, the statements are:
%INCLUDE SOURCLIB(IMACHSM);
&MACHSM;
Each of the &MACxxxx macro variables are initialized to
a null string, and GLOBALed, in member VMXGINIT.
So in your program, you can set the value of the &MACxxxx
macro variable equal to the old-style macro definition
syntax ("MACRO macro-name macro-text %" to thus change
the definition of the _L,_K dataset tailoring macros:
MACRO _Lxxxxxx - tailor Libref and Dataset Name
MACRO _Kxxxxxx - tailor KEEP/DROP list of vars
or to change the new _S PROC SORT macro added in 15.328:
MACRO _Sxxxxxx - PROC SORT and BY statements
or in a future version, change the planned _E Exit macro:
MACRO _Exxxxxx - will allow you to override the
%INC SOURCLIB(EXxxxxxx) exit.
and thus have complete dynamically tailoring for each
individual dataset. For example, for SMF 30, you could:
%LET MAC30=
MACRO _LTY30U1 _NULL_ %
MACRO _LTY30U4 MYDD.TYPE30_4 %
MACRO _LTY30U5 _NULL_ %
MACRO _LTY30UV _NULL_ %
MACRO _LTY30UD _NULL_ %
MACRO _LTY30U6 _NULL_ %
MACRO _LTY30MU _NULL_ %
MACRO _LTY30OM _NULL_ %
;
%INCLUDE SOURCLIB(TYPE30);
to create only the dataset TYPE30_4 from the subtype
4 record, and it would be written to the //MYDD library.
For a User-SMF record, where you must set the SMF record
ID in the MACRO _IDxxxx in the IMACxxxx for the product,
you can now redefine the _ID macro with the &MACxxxx.
For example, to process the HSM User SMF record and put
all HSM datasets in the //WORK library, you could use:
%LET MACHSM=
MACRO _IDHSMDS 240 %
;
%INCLUDE SOURCLIB(TYPEHSM);
For those not familiar with the syntax of the %LET, you
use %LET MACxxx= before the old-style macro statements
and then you end the %LET statement with a semi-colon.
If the text contains semi-colons, you can instead use
%LET MACxxx= %QUOTE( whatever-with-semicolons) ;
For those not familiar with the syntax of the old-style
MACRO statement, it is simply
MACRO macro-name macro-text
and then a single percent-sign ends the definition.
If the macro text has a percent-sign, then double it:
MACRO _EXXXXXX %%INCLUDE SOURCLIB(EXYYYY); %
This new &MACxxxx architecture is a significant piece of
the complete redesign to allow external control of all
MXG datasets. Because the &MACxxxx enhancement is safe
and can be used to override existing IMAC definitions, it
is added in MXG 15.09. The remaining pieces of this big
change will be implemented after MXG 15.15 has shipped!
Change 15.355 Variables ASICSAA, ASISQAA, ASIECSAA and ASIESQAA were
VMACRMFV horifically large, because they should have been read in
Feb 5, 1998 with &RB.4. informat instead of &PIB.4.
Thanks to Peggy Dunne, Depository Trust Company, USA.
Change 15.354 All VMACs that process SMF records were made consistent,
VMACSMF by locating the "IF ID = ..." statement immediately after
BUILD606 the MACRO _CDExxxx statement. All new VMACs have been
BUIL3606 written that way, but some old VMACs had LABEL statements
Feb 5, 1998 between the macro definition and the IF test. Now that
the _CDExxxx macros for SMF records all start with the IF
test for record IDs, the efficiency improvements of MXG
Change 15.329 are revised again. Instead of the logic
ELSE IF ID=xx THEN DO;
_CDExxxx
END;
now, the logic
ELSE _CDExxxx
can be used, eliminating the extra test imposed by the
external IF statement.
The VMACs whose IF statement was relocated are:
VMAC25 VMAC7072 VMAC71 VMAC73 VMAC74 VMAC75 VMAC76
VMAC77 VMAC78 VMACCTCP VMACEDGS VMACF127 VMACFTEK
VMACHSM VMACODS VMACSYNC VMACTSOM
Thanks to Chuck Hopf, MBNA, USA.
Change 15.353 Support for Landmark's TMON for CICS Version 2 (MXG1506)
VMACTMO2 conflicted with ITSV because some variables were changed
Feb 5, 1998 incorrectly by MXG, and some variables were not created.
Variable MONIMANT is now created, variable TATASKNN is
re-spelled TATASKNR, variable CICSLV is renamed to be
CICSLEV (Landmark changed it from PIB1 to $CHAR4 so I
had no choice), and variable FACTYP is changed back to
PIB1 and formatted as it was in prior versions.
Thanks to Rod Gaas, Eagle Star, UK.
Change 15.352 MXG 15.08. The label for variable S1ELEMLO was typed as
VMAC110 S1ELEMLO='LOWEST*FREE*ELEMENTS*='/ but SAS did not die
Feb 4, 1998 or produce an error message! The extraneous characters
are now removed. Also, macro _CICSTCMN was added to the
KEEP= list for dataset CICSSMED so the common variables
(in particular, SYSTEM and SMFTIME) will now be kept.
Thanks to Chris Weston, SAS ITSV, USA
Change 15.351 Cosmetic. Variable LCSLOV1 label should have been
VMAC28 'OVERFLOW*FLAG*BYTE'.
Feb 4, 1998
Thanks to Ley Teng, QANTAS, AUSTRALIA.
Change 15.350 The explicit dataset names TYPE72 and TYPE6 were replaced
ASUMPRTR with _LTY72 and _LTY6 macro names instead, so that if you
Jan 31, 1998 re-direct either dataset from the default of "WORK", MXG
will find it where you put it.
Thanks to Chris Weston, SAS ITSV, USA.
Change 15.349 The example "reptprod" file to control fields extracted
ADOCMWAI from HP's MeasureWare for AIX is now provided in the
Jan 28, 1998 ADOCMWAI member.
Thanks to Lorenzo Wright, NCCI, USA.
Thanks to Thierry Van Moer, Comparex, BELGIUM.
Change 15.348 Member VMACTRNS was a copy of VMACTRSN that had been
VMACTRSN saved under the incorrect VMACTRNS name, so the member
Jan 27, 1998 VMACTRNS has been deleted.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 15.347 The VMXGFOR references in the commented out example that
RMFINTRV can be used to read SMF directly must all be %VMXGFOR.
Jan 27, 1998 Only if you remove the comment block to read SMF direct
would you see this error.
Thanks to Jim Chappell, Pacific Power and Light, USA.
Change 15.346 Support for Landmark for MVS Version 2 segments that were
VMACTMV2 not available for testing in MXG 15.08. New segments
Jan 26, 1998 that have now been data-validated are: JD, LM, and TR.
These record subtypes caused INPUT STATEMENT EXCEEDED.
Thanks to Jonathan McVey, Lowe's Company, USA.
Thanks to Mark Derreks, Hershey's, USA.
Change 15.345 MXG 15.08 only. The new MACRO _SCICEXC should have had
IMACCICS &PDB..CICSEXCE instead of &PDB.CICSEXEC. Fortunately,
Jan 20, 1998 the new macro is not (yet!) used in MXG code, so there
was no execution error.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 15.344 Variable NTVERSP was truncated to 12 positions, so it
VMACNTSM had only "Service Pack" instead of "Service Pack 3".
Jan 20, 1998 Move the NTVERSP in the line with $12 to the next line,
with $32, so it will be 32-bytes long.
Thanks to Marty Henley, Matridigm, USA.
Change 15.343 MXG 15.08 only, JES2 only. Change 15.329 reordered the
BUILD606 _CDE macros for performance, but putting _CDE30 ahead of
Jan 20, 1998 _CDE26J2 caused variable JOBCLASS to be 8 bytes instead
of 1 byte. (JES2 has a one byte JOBCLASS, JES3 has three
bytes kept, but the variable is input at $EBCDIC8 in the
type 30 logic.) By placing the _CDE26J2 processing prior
to the _CDE30 processing for the JES2 BUILDPDB, the
JOBCLASS variable will be 1 byte in JES2 and 8 in JES3.
Thanks to Tom Parker, CSC Hogan Systems, USA.
Change 15.342 MXG 15.08 only. Change 15.330 was not correct, causing
VMAC26J2 type 26 ACCOUNTn fields to be not input. The test
Jan 20, 1998 (SMF26OAG+SMF26LAG-1 LE LENGTH) should have been
(SMF26OAG+SMF26LAG-4 LE LENGTH).
Thanks to Tom Parker, CSC Hogan Systems, USA.
Change 15.341 Support for 'DD'x NPM record did not input the VCD data.
VMAC28 Change the test that sets COFTYPE='VCD' to read:
Jan 19, 1998 ELSE IF 0D0X LE NPMSUBTY LE 0DBX OR
NPMSUBTY EQ 0DDX THEN COFTYPE='VCD';
Thanks to Mel Hitchings, British Telecom, WALES.
======Changes thru 15.340 were in MXG 15.08 dated Jan 15, 1998======
Change 15.340 Cosmetic. Extra variables were kept in NPMINFRP because
VMAC28 the KEEP= list contained _VA28ACD, but that should have
Jan 15, 1998 been _VA28NCD, which is the shorter configuration record
that is in NPMINFRP. Variable names that were misspelled
are corrected: LFRPOBOL is LFRPOBQL, LXLKTSLP/LXLKRSLP is
LXLKTLSP/LXLKRLSP and LXPUTSLP/LXPURSLP is ....TLSP/RLSP.
Thanks to Ley Teng, QANTAS, AUSTRALIA.
Change 15.339 The first MXG 15.08 tapes dated Jan 14, 1998 contained an
UTILUOW error: the member UTILUOW was added at the last minute,
Jan 15, 1998 and I failed to change its "./" IEBUPDTE control cards
to "XY", so when IEBUPDTE read the tape to create your
source library, those "./" cards in UTILUOW overwrote
all of the (previously unloaded successfully!) EXCICxxx
members. Replacement tapes with Jan 15, 1998 date (and
with XY vice ./) were shipped to the 23 sites getting the
bad tape, but you could copy the tape and delete lines
864,653 thru 865,135 inclusive, and then use that copy as
input to IEBUPDTE.
Thanks to Freddie Arie, Texas Utilities, USA.
======Changes thru 15.338 were in MXG 15.08 dated Jan 14, 1998======
Change 15.338 Further cleanup and enhancements to eliminate unneeded
ANALCISH datasets (the INT, EOD, USS, RRT, and REQ datasets are
Jan 14, 1998 not used by any ANALCISH report, so they are no longer
created when PDB=SMF is specified, for example). You
can select from more than one PDB library for input with
the PDB=TUE WED THU, syntax, and handling of the many
WORK.TRANSxx merges was revised.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 15.337 Support for AIX commands IOSTAT, PSSTAT and VMSTAT
AIXPDS has been revised and enhanced from the original unix
Jan 14, 1998 examples in member VMACRSxx. Those members and new
ones, including JCL examples for FTPing the unix data
to MVS, are provided in this find enhancement authored
and contributed by Joe. See the comments to expand the
member into a separate MXG.RX6000.SOURCLIB library.
Using the unix commands to measure unix performance is
marginal at best, but if you do not have a monitor
product for unix, you can get useful information by
running the PSSTAT, IOSTAT and/or VMSTAT commands and
using this code to turn them into MXG datasets.
Thanks to Joe Faska, Depository Trust, USA.
Change 15.336 Support for NPM APAR OW17876 and NPM Version 2.3 added
EX028VTT variables to the CSL, FRP, GBL, TRI, VCD, VEN, VGB, and
IMAC28 VVR segments, and new dataset NPMVSVTT is created from
VMAC28 from new subtype 'DD'x record. Many new variables
Jan 14, 1998 provide HPR counts (frames/bytes sent/rcv/discarded).
These changes were COMPATIBLY made by IBM, so earlier
versions of MXG will not fail with NPM 2.3 records, but
this change is required to capture the new fields.
Thanks to Melanie Hitchings, British Telecommunications, WALES.
Change 15.335 Utility to examine CICSTRAN observations from MRO CICS
UTILUOW to determine which transaction record contains the real
Jan 13, 1998 transaction name for each unit-of-work. With the output
of UTILUOW, you can edit IMACUOW to tell MXG which name
to keep, so that dataset ASUMUOW will have the "correct"
TRANNAME name for the UOW. Read the member's comments.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.334 Cosmetic. Temporary dataset KEEPERS was not deleted when
VMXGSUM there were no observations in the input dataset, but now
Jan 13, 1998 it is always deleted.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.333 Support for type 79 subtype 15 (IMS Long Lock) record has
EXTY79F only been visually tested, as no IMS site has sent any
IMAC79 test data. For each Long Lock, you get the IRLM lock
VMAC79 structure name and Lock Name, as well as identity of the
Jan 11, 1998 IMS subsystem and even CICS task name (if CICS).
Change 15.332 All ADOC members have been updated to list all variables
ADOCx as of MXG 15.07; this is the output of an extensive piece
Jan 9, 1998 of work by Freddie that merge new variables and datasets
into the existing ADOC members, while preserving the text
descriptions, tutorials, discussions, and the sample PROC
PRINT and MEANS output. This iteration makes all of the
ADOCs conform to the format described in ADOCxxxx, so
that this process can be fully automated and will soon be
an automated part of the MXG QA jobstream.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 15.331 OMEGAMON FOR VTAM 400, Change 15.296 was not complete,
VMACOMVT amd caused MXG to loop on an INPUT statement. All byte
Jan 9, 1998 related variables are now formatted with MGBYTES. MXG
now creates new interval rate, or "Per Sec", variables
for each pair of ACCUM/PREVIOUS counters. These new
variables, suffixed with R, should be most useful.
The ACCUM/PREVIOUS counters could be dropped if space
becomes an issue. However, the OMVTMPCS pair ON08BCT
and ON08BCTP for one interval produced a negative value
for the "Per Sec" value, ON08PCTR, because the ACCUM of
104,425 was less than the PREVIOUS of 108840! This will
be investigated with Candle.
Thanks to Joseph E. Darvish, Farmers Insurance Group, USA.
Thanks to Robert S. Miller, Farmers Insurance Group, USA.
Change 15.330 APAR OW28613 corrects an error in SMF26OAG; without the
VMAC26J2 APAR, MXG had INPUT STATEMENT EXCEEDED error condition.
Jan 8, 1998 To circumvent the error until you get the APAR installed
change the test of SMF26OAG to read as follows:
IF SMF26OAG GT 0 AND SMF26LAG GT 0 AND SMF26NAG GT 0
AND (SMF26OAG+SMF26LAG-1 LE LENGTH) THEN DO;
(The bad record I saw has LENGTH=417 but SMF26OAG=439!)
Only variables ACCOUNTn in dataset TYPE26J2 (which are
new additions) are affected by the error, and the will be
blank until you install the APAR. Furthermore, MXG uses
the type 30 ACCOUNTn fields in BUILDPDB normally, and
will use the new type 26 fields only for job's with JCL
errors that did not execute.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 15.329 The BUILDPDB logic for the SMF processing phase is now
BUILDPDB more efficient, as the _CDExxxx macros are reordered to
BUILDPD3 process the most frequent records first (the order is
BUILD606 110, 30, 74, 100-101 and then the rest), and the _CDExxxx
BUIL3606 macros are now inside ELSE IF ID= xxx then DO; blocks.
BUILD001 This will result in significant reductions in CPU time!
EXTYID Also, the ID dataset that was hardcoded in BUILPDx code
IMACID has been externalized so it can be tailored to contain
TYPEID additional variables (in IMACID's _KTYID macro) or can
VMACID contain zero observations (by commenting out the OUTPUT
Jan 7, 1998 statement in member EXTYID). See Change 15.354, which
redesigned this change for more efficiency.
Change 15.328 New macros _Sxxyyyy are defined in IMACs that will let
IMACs you sort individual datasets exactly as that dataset is
Jan 7, 1998 sorted into the PDB library in BUILDPDB/BUILDPD3. The
_Sxxyyyy name matches the _L, _K macro names and the
EXxxyyyy exit member naming conventions. The sort macro
is needed by sites that have so much SMF data that they
have to split their SMF data into parallel SMF files. An
example of their use would be for a site that split their
type 74 RMF records to a separate SMF file. To create
the TYPE74 and TYPE74CA datasets into separate SAS data
libraries they could now use:
//SMF DD DSN=SMF.TYPE74.ONLY,DISP=SHR
//TYPE74 DD DSN=YOUR.TYPE74.PDB,DISP=NEW
//TYPE74CA DD DSN=YOUR.TYPE74CA.PDB,DISP=NEW
%INCLUDE SOURCLIB(TYPE74);
%LET PDB74=TYPE74;
_STY74
%LET PDB74CA=TYPE74CA;
_STY74CA
The _STY74 macro definition (in member IMAC74) is:
MACRO _STY74
PROC SORT NODUP DATA=_LTY74
OUT=&PDB74..TYPE74 ;
BY SYSTEM STARTIME DEVNR SMFTIME;
%
so it uses the _LTY74 name to get the location of the
unsorted TYPE74 dataset, and sorts it into the new
&PDB74 macro for the DDname that was just added by
Change 15.320.
(The %VMXGFOR macro, needed so that PROC SORT's FORCE
option is used so that you can SORT when OBS= is not
OBS=MAX, has double percent signs because it is inside
an old-style MACRO definition).
A later MXG Technical note will discuss other examples.
Only those IMACs for products that are in the default
BUILDPDB/BUILDPD3 now have _Sxxxyyy macros, but over time
I hope to provide an _S macro with the MXG "recommended"
sort order for every MXG dataset. At the present time,
none of the _S macros are used in the BUILxxxx members.
Thanks to Billy Westland, Litton Computer Services, USA.
Change 15.327 APAR OW28921 adds a volume segment to type 42 subtype 11
VMAC42 XRC (eXtended Remote Copy) SMF records, but the volume
Jan 7, 1998 data is present only if the volume being copied is in a
duplex state. I need sample data records before I can
proceed to add support for that APAR, so if you can send
sample data for a duplexed volume copied with XRC, do it!
Change 15.326 Cosmetic. Labels were added for variables DCSNAME and
NTINTRV PRODTYPE and NRCPUS, andNRCPUS is now kept in dataset
VMACNTSM NTCONFIG. In NTINTRV, variables DCPQUED and DCPRATE are
Jan 7, 1998 now correctly spelled as DPCQUED and DPCRATE.
Change 15.325 The number of RACF DTP (44) segments kept is increased
VMAC80A from 6 to 12 for RACFEVNT 10 and 13, and the MXG message
Jan 7, 1998 was relocated so the total count in the record is now
printed. See Change 15.289.
Thanks to Tom Parker, Hogan Systems, USA.
Change 15.324 DCOLLECT cluster records do not contain a VOLSER, but the
VMACDCOL Variable DCDVOLSR is now RETAINed from the preceding
Jan 7, 1998 dataset record (DCURCTYP='D', for DCOLDSET dataset) so
that dataset DCOLCLUS now contains DCDVOLSR.
Thanks to John W. Etter, StorageTek, USA.
Change 15.323 All packed decimal inputs are now protected with ?? input
VMACZARA modifier so that hex zeros won't create a SAS log note.
Jan 5, 1998 The file record contains System ID at location 295, so
new variable FILESYST is now created. Both statements
IF FILEDATL=0 THEN DATECR=.; were typos and now read:
IF FILEDATL=0 THEN DATELU=.;
Thanks to Harry Olschewski, DeTeCSM/SES, GERMANY.
Change 15.322 MXG 15.07 only. Remove SMTNTASK from the KEEP statement
ANALCISH 91 lines after DATA &MXGDS1. Change SMTRANI to SMSTRNI
Jan 3, 1998 in all 57 occurrences.
Change 15.321 Some variables in RMF III VSAM processing were wrong.
VMACRMFV -In dataset ZRBASI, variables ASITOTSV, ASISVINR, ASIGSPPI
Jan 3, 1998 and ASIGASPD were wrong because ASICUSE, ASITOTD, and
ASISRVO should have been input as &PIB.4. instead of as
&PIB.2. New variables ASIOREPL, ASIOTOTU, and ASIIOU
(new with OS/390 R1.1) are now created in ZRBASI.
-In dataset ZRBGEI, variables GEIWLMTK and GEISPLXI should
be input $EBCDIC8. instead of $CHAR8. (but under MVS the
results are the same; only if you run MXG under ASCII SAS
would you have noticed the error). Variable PCTCPUBY is
now always missing, as its source field GEICPUOL is now
reserved in OS/390.
Thanks to Joe Faska, Depository Trust, USA.
Thanks to Peggy Dunne, Depository Trust Company, USA.
Change 15.320 All hardcoded references to "PDB" as a DDNAME are now
DOC replaced with a macro variable, &PDBxxxx, so that each
VMXGINIT datasets can be re-directed to a different DD if needed.
Jan 2, 1998 For example, if you want to write the TYPE74 dataset to
Jan 12, 1998 a separate DDname of MY74, you would use:
%LET PDB74=MY74; %INCLUDE SOURCLIB(BUILDPDB);
to create dataset MY74.TYPE74 in the MY74 Libref.
A separate &PDBxxxx macro exists for each dataset in the
PDB architecture. The macro &PDB and "PDB." were changed
to &PDBMXG macro name. All of the &PDBxxxx macros have a
default value of "PDB". VMXGINIT defines these macros:
%MACRO VMXGINIT(DEFAULT=PDB);
%LET PDBMXG =&DEFAULT;
%LET PDB0 =&DEFAULT; /*TYPE0 >> PDB.IPLS */
%LET PDB0203=&DEFAULT; /*TYPE0203 */
%LET PDB6 =&DEFAULT; /*TYPE6 */
%LET PDB21 =&DEFAULT; /*TYPE21 >> PDB.TAPES */
%LET PDB25 =&DEFAULT; /*TYPE25 (JES3 ONLY) */
%LET PDB30UD=&DEFAULT; /*TYPE30_D >> PDB.DDSTATS*/
%LET PDB30UV=&DEFAULT; /*TYPE30_V >> PDB.SMFINTRV*/
%LET PDB30U1=&DEFAULT; /*TYPE30_1 */
%LET PDB30U4=&DEFAULT; /*TYPE30_4 */
%LET PDB30U5=&DEFAULT; /*TYPE30_5 */
%LET PDB30U6=&DEFAULT; /*TYPE30_6 */
%LET PDB30OM=&DEFAULT; /*TYPE30OM */
%LET PDB30MU=&DEFAULT; /*TYPE30MU */
%LET PDB70 =&DEFAULT; /*TYPE70 */
%LET PDB70PR=&DEFAULT; /*TYPE70PR */
%LET PDB71 =&DEFAULT; /*TYPE71 */
%LET PDB72 =&DEFAULT; /*TYPE72 */
%LET PDB72GO=&DEFAULT; /*TYPE72GO */
%LET PDB72DL=&DEFAULT; /*TYPE72DL */
%LET PDB72MN=&DEFAULT; /*TYPE72MN */
%LET PDB72SC=&DEFAULT; /*TYPE72SC */
%LET PDB7204=&DEFAULT; /*TYPE7204 */
%LET PDB73 =&DEFAULT; /*TYPE73 */
%LET PDB73L =&DEFAULT; /*TYPE73L */
%LET PDB73P =&DEFAULT; /*TYPE73P */
%LET PDB74 =&DEFAULT; /*TYPE74 */
%LET PDB74CA=&DEFAULT; /*TYPE74CA */
%LET PDB74CF=&DEFAULT; /*TYPE74CF */
%LET PDB74ST=&DEFAULT; /*TYPE74ST */
%LET PDB74TD=&DEFAULT; /*TYPE74TD */
%LET PDB75 =&DEFAULT; /*TYPE75 */
%LET PDB77 =&DEFAULT; /*TYPE77 */
%LET PDB78 =&DEFAULT; /*TYPE78 */
%LET PDB78CF=&DEFAULT; /*TYPE78CF */
%LET PDB78CU=&DEFAULT; /*TYPE78CU */
%LET PDB78IO=&DEFAULT; /*TYPE78IO */
%LET PDB78PA=&DEFAULT; /*TYPE78PA */
%LET PDB78SP=&DEFAULT; /*TYPE78SP */
%LET PDB78VS=&DEFAULT; /*TYPE78VS */
%LET PDBTMNT=&DEFAULT; /*TYPETMNT */
%LET PDBTSWP=&DEFAULT; /*TYPETSWP */
%LET PDBTALO=&DEFAULT; /*TYPETALO */
%LET PDBNJEP=&DEFAULT; /*PDB.NJEPURGE*/
%LET PDBJOBS=&DEFAULT; /*PDB.JOBS */
%LET PDBSTEP=&DEFAULT; /*PDB.STEPS*/
%LET PDBPRIN=&DEFAULT; /*PDB.PRINT*/
%LET PDBRMFI=&DEFAULT; /*PDB.RMFINTRV*/
The &DEFAULT macro argument in VMXGINIT exists so that
SAS ITSV product can send all datasets to the //WORK
file and then later copy them to their //DIRECT libref.
This eliminated the needs discussed in Change 15.272.
It is unlikely anyone else will need to use that option.
Since the default value for all of these macros is "PDB",
the change should be completely transparent to MXG users.
However, users of SAS ITSV Version 2.0 and SAS/CPE must
install this circumvention with MXG 15.08 or later:
The following two lines of code must be inserted
immediately before any %CMPROCES invocation:
%INCLUDE SOURCLIB(VMXGINIT);
%VMXGINIT(DEFAULT=WORK);
Version 2.1 of ITSV does not need this circumvention.
Change 15.319 Cosmetic. Data set Labels were added to VMAC members to
BUIL3005 label datasets TYPE0203, TYPE7, TYPE21, TYPE75, and
BUILD005 TYPE7204, and Labels for datasets PDB.JOBS, PDB.STEPS,
BUILDPD3 PDB.PRINT, PDB.SMFINTRV and (JES2-only) PDB.NJEPURGE were
BUILDPDB added in the BUILxxxx members. The labels in BUILxxxx
DIFFDB2 members now contain BUILDPDB/BUILDPD3/BUILD005/BUIL3005
RMFINTRV so you can tell exactly which member created your PDB
VMAC0203 library! Data set Label for RMFINTRV was added, and in
VMAC21 DIFFDB2 labels were added for the de-accumulated
VMAC7 statistics datasets (and they too indicate DEACCUM versus
VMAC7072 the RAW tag now used in VMACDB2 for those same datasets).
VMAC75 Data set labels are passed from input to output by PROC
VMACDB2 SORTs, so only DATA steps were labeled.
Dec 31, 1997
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Change 15.318 Cosmetic. Comments were updated to list all of the MXG
IMACACCT members that contain account fields and thus include
Dec 31, 1997 member IMACACCT:
VMAC20 VMAC26J2 VMAC26J3 VMAC30 VMAC33 VMAC434
VMAC535 VMACBETA VMACDB2 VMACNAF VMACORAC VMACSFTA
VMACTSOM VMACXPSM XTYPEMVT XTYPEVS1
Thanks to Charlie Bloemker, Lockheed-Martin, USA.
Change 15.317 ML-15 of ASMTAPES does not run under MVS/ESA 4.2 or any
ASMTAPES earlier release of MVS; in fact, the monitor program
Dec 31, 1997 will loop under that archaic release. If you are still
stuck with a back level MVS, use the back level ASMTAPES
or ASMTMNT until you upgrade your MVS.
Thanks to Scott Snyder, First Data Merchant Services, USA.
Change 15.316 Support for OS/400 Release 4.1.0 (INCOMPATIBLE in three
VMACQAPM datasets - QAPMETH, QAPMIDLC, and QAPMLAPD, because field
Dec 30, 1997 lengths were changed and/or reserved fields were deleted)
but the other "important" datasets were not changed.
This support is based on examination of DSECTS, but has
not been absolutely verified with AS400 4.1 data yet.
Thanks to Len Marchant, Coca Cola, USA.
Change 15.315 Major enhancement in architecture of ASUMUOW program that
ASUMUOW merges/sums CICSTRAN and DB2ACCT into one observation for
IMACUOW each unit of work. Member IMACUOW now defines new macro
Dec 30, 1997 _TRANUOW that allows you to determine which CICS trans
record is used to supply TRANNAME in the PDB.ASUMUOW data
set that is created by ASUMUOW. For some environments,
the TRANNAME wanted is the first transaction to end, but
with CICS under OS/2, the first transaction name is CPMI
and that mirror name is not the desired transaction name.
Comments in IMACUOW and ASUMUOW discuss the three choices
that now exist, and other tailoring options.
Note that while ASUMUOW is automatically included in the
JCLPDB6 example, so that dataset PDB.ASUMUOW will be
created by default, the dataset PDB.ASUMUOW will contain
zero observations until you tailor member IMACUOW; that
way, there is no sort of CICSTRAN and DB2ACCT until you
tell MXG you want to create observations in PDB.ASUMUOW.
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 15.314 Cosmetic corrections (duplicate variable name in KEEP,
DOC FORMAT, INFORMAT, or incorrect comment statement naming
Dec 30, 1997 dataset OUTPUT, etc., were corrected in members:
EXAIMRA EXAIMRD EXAIMRP EXAIMRR EXAIMRT EXAMIRS
EXHPTEAP EXHPTECO EXHPTEDS EXHPTEGL EXHPTELA EXHPTEPR
VMAC102 VMAC110 VMAC7072 VMAC99 VMACAIMR VMACCMFV
VMACCTCP VMACDCOL VMACEREP VMACHBUF VMACHURN VMACNSPY
VMACOMVT VMACSARX VMACTCP VMACTMO2 VMACTUX VMACVMXP
VMACXPSM
Thanks to Fredie Arie, Lone Star Gas, USA
Change 15.313 Support for ICSS SMF type 103 (Internet Connection Secure
DIFF103 Server, V2R2, but soon it will be renamed to Domino GO
EXTY1031 Webserver V2R4, with no change in the record format).
EXTY1032 Two new datasets are created for this webserver:
IMAC103 Subtype Dataset Name Description
TYPE103 1 TYPE1031 ICSS Configuration
VMAC103 2 TYPE1032 ICSS Performance
VMACSMF Many Configuration Values are decoded by formats.
Dec 20, 1997 Member VMACSMF had to be updated, because the SMF 103
Jan 14, 1998 record does not correctly set the second bit in the
Feb 20, 1998 first byte ("record has subtype field" bit). The
TYPE1032 Performance record contains request counts like
bytes received/sent, but there is no interval duration in
the IBM record. As a result, member DIFF103 was required
(it is automatically invoked by TYPE103) to create the
interval duration variable DURATM. Although the record
default interval is 15 minutes when the logging queue is
full, if the server activity is minimal the logging
queue fills more slowly and the DURATM will be much
longer than the expected 15 minutes
Note that if you add 103 processing to BUILDPDB, you will
need to %INCLUDE the DIFF103 member in your EXPDBOUT
member to create DURATM in dataset TYPE1032.
The TYPE1032 Performance Data is actually an SNMP MIB
with an SMF header; I suspect we will see many future
SMF records based on Simple Network Measurement Protocol
Measurement Information Blocks!
New information Feb 20, 1998: IBM is fixing the problem
in the SMF 103 records and the fix should be in Lotus
Domino Go Webserver 5.0 (LDGW) with GA in May, 1998. As
I don't have the DSECT changes yet, you will need to get
the then-current version of MXG to process the revised
records (which should eliminate the need for DIFF103).
Thanks to Peter Skov, Jyske Bank, DENMARK.
Change 15.312 MXG 15.07 only. In VMXGINIT, a semi-colon is missing
ChangeS after '15.07' in the %LET MXGVERS=15.07 statement, which
VMXGINIT causes an ERROR message and variable MXGVERSN in TYPE70
Dec 19, 1997 to be missing. Also, the date in CHANGES was 17Dec97,
but the real date (in VMXGINIT) was 18Dec97.
======Changes thru 15.311 were in MXG 15.07 dated Dec 17, 1997======
Change 15.311 Support for Fujitsu's AIM Version V20 SMF records adds
VMACAIM2 several fields to the existing AIM and AIM/NDB records,
VMACAIM6 and new datasets from AIM/RDBII's type 98 SMF record
VMACAIM7 with member TYPEAIMR. Datasets are now labeled and
VMACAIMR alphabetized, and INPUT statements were collimated, but
TYPEAIMR the real logic changes were discovered and contributed
IMACAIMR by the cited codesharks!
EXAIMRT Logic changes (i.e., incompatibilities between V12 and
EXAIMRS V20) were made in VMACAIM2 and VMACAIM6 and the new
EXAIMRP VMACAIMR. The other VMACs were changed only by adding
EXAIMRD existing variables to the KEEP= list or deleting dead
EXAIMRB variables from the KEEP= list.
EXAIMRR
EXAIMRA
Dec 18, 1997
Thanks to Ian Heaney, Toyota Australia, AUSTRALIA.
Thanks to D. Ackland, Toyota Australia, AUSTRALIA.
Change 15.310 In ANALCISH reports, "Wait on String - Peak" value was
ANALCISH not the maximum, because it was in the SUM= argument.
Dec 16, 1997 Move variable name A17DSHSW from the SUM= to MAX=.
Thanks to Dale Slaughter, Allied Group Insurance, USA.
Change 15.309 RACF record from 1.0.9.2 caused INPUT STATEMENT EXCEEDED
VMAC80A record, because 3 bytes were documented in Table 4 for
Dec 16, 1997 Event Code 25 (19x), RVARY, but this record contained
only two bytes, so the third byte is now conditionally
input. Change the INPUT to read:
KW25OVIO $CHAR1. /*FLAGS FOR*OTHER*VIOLATIONS*/
@;
IF RACFDLN GE 3 THEN INPUT /* UNDOC RACFDLN=1 FOUND */
KW25ADSP $CHAR1. /*OTHER*KEYWORDS*SPECIFIED*/
Thanks to Len Rugen, University of Missouri-Columbia, USA.
Change 15.308 I changed the CICSEXCE exception dataset when CICS/ESA
IMACCICS was introduced, but I can't find where I really discussed
Dec 16, 1997 the changes to variables. Non-ESA CICS (2.1 & earlier)
had specific variables for each exception, and those only
the variables specific to an exception were non-missing
in a particular observation. But these specific vars
are always missing with CICS/ESA or CICS/TS:
ISAMFILE MSREQWT MSWAITCN MSWAITTM PGMCMPTM
PGMCMPCN SCWTECN SCWTETM TSREQWT TSWAITTM
TSWAITCN VSAMBUFF VSAMFILE VSWAITTM VSWAITCN
because CICS/ESA has one set of variables and their
values describe the exception event and durations:
EXWAITTM - Duration of the exception wait.
EXCMNRTY - Exception Resource Type:
STORAGE FILE TEMPSTOR
EXCMNRID - Exception Resource Identification:
UDSA GLLCLAS FDED
EXCMNTYP - Exception Type (format MG110EX.):
'X01:WAIT (EXCMNWT)'
'X02:BUFFER WAIT (EXCMNBWT)'
'X03:STRING WAIT (EXCMNSWT)'
Exception Exception
Resource Resource
Exception Type Type Identication
EXCMNTYP EXCMNRTY EXCMNRID
'X01:WAIT (EXCMNWT)' STORAGE UDSA
'X02:BUFFER WAIT (EXCMNBWT)' FILE B0INDEX
'X03:STRING WAIT (EXCMNSWT)' TEMPSTOR FDED
This allows for new exception events to be created by IBM
with no need to create new variables for each exception.
Thanks to Dale Slaughter, AMCO Insurance, USA.
Change 15.307 ASUMUOW could produce missing value for MROTRAN count, as
ASUMUOW "spun" observations were not properly reintroduced in the
Dec 16, 1997 next run. Logic involving several lines was revised.
Thanks to Larry Nova, First Card, USA.
Change 15.306 CONTROL-T variables DSUSECT and DSEXCP in CTLTDSN dataset
VMACCTLT were wrong; there are three undocumented bytes before the
Dec 14, 1997 DSUSECT field. Add +3 after INPUT before DSUSECT:
INPUT +3 DSUSECT &PIB.4. ....
Thanks to Joseph G. Ogurchak, Westfield Companies, USA.
Change 15.305 Support for DPPX/370 (Release 4) Performance Reporter
TYPEDPPX creates eleven datasets in this user contribution, by
Dec 14, 1997 reading and decoding the report output as MXG input.
DPPX/370 (Distributed PRocessing Programming Executive)
runs on ES/9000 series and was written by IBM, originally
for 8100, then 9370, and then 9221. Release 4 is the
last release and goes out of service in 1998/1999.
Thanks to Mark Robbins, W.H. Smith LTD, ENGLAND.
Change 15.304 Using 14/15 records to determine the size of datasets
ADOC1415 is not straightforward. Descriptions in ADOC1415 have
Dec 14, 1997 been revised based on Richard's discoveries:
I've recently completed a study where I used TYPE1415
data to analyze our tape use and develop a model for
sizing a VTS subsystem we are considering. In the course
of this, I found myself looking at BLKSIZE, BLKCOUNT,
TRKSALOC, and TRKREL to develop a size in megabytes for
these files. Multi-volume files, both tape and disk,
presented a challenge to correctly accumulate the
multiple type 15 records generated into a single record
representing the creation of the entire file.
RECIND1, bit 1 x'40' 'Record written by EOV'
This bit is ON for records written for a change-in-volume (written
by "End-of-Volume", LASTVOFL=' ' if ON), and this bit is OFF for
records written by close (LASTVOFL='Y' if OFF). When ON (EOV),
this is normally a volume switch within a multi-vol dataset.
Rick thinks this may also occur for file 1 through n-1 for a
sequence of n datasets concatenated on a single DDname, but has
not seen that in his data, and he has not prove whether or not
this bit would be on for the first of two files concatenated
together, which happened to reside on the same volume.
If you can confirm/deny his thesis, I will update this note.
TRKSALOC
This is the number of tracks allocated *on the current volume* to
this dataset. This must be accumulated across multiple TYPE15s
when RECIND1, bit 1 is on.
TRKREL
This is the number of tracks released at close. In the case of
RECIND1, bit 1, this will be zero for all but the last record.
Note however, that this last record does *not* have the EOV bit on.
BLKSIZE
No surprise here. Same for all related records.
BLKCNT
Again, these represent the block count written on the current
volume only. Must be accumulated to get accurate file size.
Performing the accumulation.
Because of the fact that the last record for a given step/DD does
*not* have the EOV bit on, this flag is really not useful to group
records to accumulate. I finally arrived at the following PROC
SUMMARY to accomplish the task:
PROC SORT DATA=TYPE1415;
BY JOB OPENTIME DSNAME SMFTIME;
/*ELIMINATE DUPLICATE RECORDS (MULTI-VOL INTERMEDIATE EOV)*/
PROC SUMMARY DATA=TYPE1415 NWAY;
BY JOB OPENTIME DSNAME;
VAR SMFTIME BLKCNT TRKSALOC TRKREL;
ID AVGBLK ID DEVICE BLKSIZE ;
OUTPUT OUT=SUM1415
MAX(SMFTIME)= SUM(BLKCNT TRKSALOC TRKREL)=;
DATA SUM1415; SET SUM1415;
IF AVGBLK NE 0 THEN MBUSED = AVGBLK * BLKCNT;
ELSE MBUSED = BLKSIZE * BLKCNT;
FORMAT MBUSED MGBYTES.;
(AVGBLK is usually zero, so BLKSIZE is usually used.)
Thanks to Richard T. Green, Comerica Incorporated, USA.
Change 15.303 Revised text, 14May2003: MXG's default _M204VER value in
VMACM204 member VMACM204 (4.1, since 1997) is also valid for 5.xt
Dec 14, 1997 Release, as there were no changes to their SMF records.
May 14, 2003 Original Change text, slightly revised.
Support for MODEL204 Version 4.1 or later added two bytes
at the end of the header. Version-based logic was added
to skip over the bytes, and MXG updated VMACM204 so that
the default is now 4.1. Also, a number of variables
added by Version 3.2 were added to the KEEP= list for the
M24SINCE dataset. The new version is INCOMPATIBLE due to
the insertions in the record.
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Thanks to Carole J. Storby, Lockheed Martin, USA.
Change 15.302 With very large DASD farms, ASMVVDS could run out of
ASMVVDS storage, because it FREEMAINed less than it GOTMAINed.!
Dec 14, 1997 Not only was that corrected,, but also optional supports
UCBs above the 16M line, and now executes in AMODE 31.
Additional cleanup of this old programs for sites that
need detail VVDS info (or don't have DCOLLECT).
Thanks to Skip Abadie, MBNA, USA.
Change 15.301 The counts in the starting/ending intervals were usually
ASUMTALO wrong, because spun records ("inflight allocations") were
Dec 14, 1997 kept after output and were counted by the summary logic!
This caused MAXDRVS to be greater than installed devices.
Fortunately, the effect was only for the beginning and
ending interval of the analysis, so the effect should
have been minimal on your analysis.
-After IF ALOCEND GT &LOWTIME THEN OUTPUT SPIN.SPINTALO;
insert ELSE DO; and then after fourteen lines, insert
END; before the PROC SORT DATA=TALOSUM1....;
This corrects the basic error in logic.
-Additionally, LASTTIME was used as a temporary variable,
but was not dropped, and then used in adjusting for clock
synchronization. Now it's DROPped:
After RETAIN HOLDEND LASTTIME 0;
insert DROP LASTTIME;
-In addition, the PROC PRINT DATA=TALOSUM1, WHERE, and VAR
statements left for debugging were deleted.
Thanks to Anthony P. Lobley, EDS, ENGLAND.
Change 15.300 Support for SAR CA-VIEW Selection Request Exit SARSRQUX
EXTYSARX SMF record creates new dataset SARSRQUX.
IMACSARX
TYPESARX
VMACSARX
Dec 14, 1997
Thanks to Tim Haiar, Citicorp, USA.
Change 15.299 TYPE70PR PR/SM dataset did not contain an observation for
VMAC7072 partitions that were deactivated (LPARCPUS=0), and some
Dec 13, 1997 sites have needed an observation for that LPARNAME for
configuration reports. Replace DO J=1 TO LPARCPUS; with
IF LPARCPUS=0 THEN DO; %%INCLUDE SOURCLIB(EXTY70PR);END;
ELSE DO J=1 TO LPARCPUS;
If you do NOT want observations for deactived partitions,
you could delete the obs with LPARCPUS=0 in EXTY70PR!
Thanks to Harmuth Beckmann, Karstadt AG, GERMANY
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 15.298 ERROR: VARIABLE TERMINAL NOT FOUND in these sample CICS
ANALCICS reports occurs when _LCICTRN sends CICSTRAN to //WORK
Dec 13, 1997 instead of to the //CICSTRAN DD, because the report code
used OUT=CICSTRAN for the first PROC SORT with a KEEP=
statement, so a later reference to _LCICTRN got the OUT=
dataset instead of the original CICSTRAN data. Change
CICSTRAN to SORTTRAN (four places) to correct this error.
I also added KEEP= logic to each input of _LCICTRN to
reduce input data read, but the reports will be re-done
using ANALCNCR to much more expeditiously count the CICS
concurrent users.
Thanks to Doug Jungels, Fingerhut Corporation, USA.
Thanks to James Lieser, Fingerhut Corporation, USA.
Change 15.297 Variables VELOCITY, VELOCCPU, and VELOCIOD were 0 to 1 in
ANALRMFR TYPE72 and TYPE72GO datasets, but were multiplied by 100
TRND72GO in ANALRMFR reports where they matched IBM report values.
VMAC7072 But I now realize they should be 0 to 100 in both the IBM
Dec 13, 1997 report and the MXG datasets, so their values are changed.
-In VMAC7072, four lines VELOCITY=... are VELOCITY=100*...
and ELSE VELOCIOD= is now ELSE VELOCIOD=100*
and PERFINDX=R723CVAL/VELOCITY; has its 100* removed.
-In ANALRMFR, the VELOCITY=100*VELOCITY; was removed.
-In TRND72GO, 100* was added to VELOCITY= and the 100*
was removed in the denominator of PERFINDX= calculation.
Thanks to Ken Williams, Southern Electric, ENGLAND.
Change 15.296 Support for Omegamon for VTAM V400 (COMPATIBLE, but new
EXOMVX2L subtypes and exceptions will print "invalid" messages on
EXOMVX2M the SAS log). Three new subtypes create datasets:
EXOMVX2V Subtype Dataset Description
IMACOMVT 15 OMVTX2MC X.25 MCH Link
VMACOMVT 16 OMVTX2VC X.25 VC
Dec 4, 1997 17 OMVTX2LU X.25 LU
There are also nineteen new exceptions, 0939-0957 that
are now decoded.
Thanks to Joseph E. Darvish, Farmers Insurance Group, USA.
Change 15.295 The ACCOUNTn variables in DB2ACCT did not decode skipped
VMACDB2 fields correctly. DB2 replaces the comma delimiters in
Dec 3, 1997 the job card with 'FF'x, and (TOMP,9999,XXX,,,ACCT6) had
variable ACCOUNTn = 'FFFF'xACCT6. Each of the nine
DO groups in VMACDB2 that read:
IF LOC LE 1 THEN DO;LENACCTn=ACCTLEFT;ACCTLEFT=0;END;
were replaced with
IF LOC EQ 1 THEN DO;LENACCTn=0;ACCTLEFT=ACCTLEFT-1;END;
ELSE IF LOC LT 1 THEN DO; LENACCTn=ACCTLEFT;ACCTLEFT=0;
END;
to properly parse the 'FF'x delimiter.
Thanks to Tom Parker, CSC Financial Services Group, USA.
Change 15.294 Change 15.054 intended to have four blanks after SYSTEM
TYPETMON and SYSID, but ended up with five, so SYSID became length
Dec 3, 1997 five instead of four.
Thanks to Jim Wertenberger, Medical Mutual of Ohio, USA.
Change 15.293 SAS Option YEARCUTOFF=1960 is MXG's default specification
CONFIG in member CONFIG, as this makes MXG more robust in its
YEAR2000 attempt to protect non-Y2K-compliant dates. In MXG 15.05
YEAR2000 I added code to protect records written in 2000 that do
Dec 3, 1997 not have the "century value" in julian dates, or still
have only 2 year digits in YYMMDD-type date fields.
I thought I could protect non-Y2K-compliant fields after
the input of the date, by detecting that the year was
pre-1960, and then I could add the number of days between
1900 and 2000 to move the non-Y2K date into the second
millennium.
I now know it is impossible to correct all cases after
the field has been INPUT, because some date values will
be missing after INPUT, because some dates that are valid
in 2000 were invalid in 1900:
non-Y2K value Informat Y2K date
000229 YYMMDD6. 29FEB2000
'000000000000366F'x SMFSTAMP8. 31DEC2000
The YYMMDD6 is in error because there was no leap year
day in 1900, and the SMFSTAMP8 is in error because there
were only 365 days in the year 1900.
The YYMMDD6 error can be eliminated by changing the SAS
default YEARCUTOFF=1900 to YEARCUTOFF=1960, because then
SAS will accept 000229 as Feb 29, 2000; this will also
eliminate the need for the MXG protection logic.
I had been reluctant to base MXG's support of the year
2000 on any SAS option, believing I could provide safer
protection that would function independent of the SAS
YEARCUTOFF option's value. However, it now appears
that the best choice is to make YEARCUTOFF=1960 the
value set in MXG's CONFIG member, and that was done.
The SMFSTAMP8 error cannot be eliminated because the
YEARCUTOFF option does not apply to those julian date
informats, and making it apply is likely to cause more
exposure to error than it is worth. However, SAS
Institute will consider enhancing the SMFSTAMP, RMFSTAMP,
etc., formats to provide this functionality internally,
and it may be available (in a future TS-level maintenance
release).
Fortunately, the logic added by Change 15.167 (that will
be removed) has no impact on present dates and thus
causes no errors until after 1999.
These notes are just for the record:
Change 15.167 used 36524 as the constant number of
days between 1900 and 2000 for YEARSECS, but it turns
out that the number of days to add is not a constant:
For dates in 2000:
01JAN1900 + 36524 = 01JAN2000
01MAR1900 + 36524 = 29FEB2000
That '29FEB2000' might look wrong, but the 60th
julian date of 1900 was 01MAR1900, and the 60th
julian date of 2000 is 29FEB2000, so it is ok!
For dates in 2001
01JAN1901 + 36524 = 31DEC2000
which is definitely wrong; a value of 36525 should
have been used for years after 2000!
Thanks to Nico Lenaerts, SAS Institute, BELGIUM.
Thanks to Michel Laublin, GIB, BELGIUM.
Change 15.292 The example extract command for HP MeasureWare from HPUX
ADOCMWUX statements GBL_BYDISK_ID_LIST and GBL_BYLAN_ID_LIST that
Dec 1, 1997 caused "unknown metrics" error; the statements should
not have been in the example and were deleted.
Thanks to Thierry Van Moer, Procter & Gamble, BELGIUM.
Change 15.291 MXG 15.06 did not contain ML-15 of ASMTAPES. While the
ASMTAPES comments in the member said it was ML-15, in fact it was
Dec 1, 1997 still ML-14 with only comments changed, and when Started
it said it was ML 14! The wrong member was copied into
15.06 and then its comments were edited. This change
really is the ML-15 that was promised, and when it is
Started it actually says that it is ML-15!
Thanks to Glenn Harper, Memorial HealthCare System, USA.
Thanks to Mark Smith, First Card, USA.
Change 15.290 Documentation only. Minor corrections to variables in
ADOCNTSM datasets RASPORT (CONNTOTL did not belong in list),
Dec 1, 1997 NETWINTR (INTRNAME was not listed), IMAGE (IMAGFILE and
IMAGNAME are CHAR 32), and IP (DEVNAM did not belong).
Thanks to Bob Gauthier, American Stores Company, USA.
Change 15.289 MXG keeps only one RACF DTP (44) segment's variables
VMAC80A until multiple segments are actually found in RACF data,
Dec 1, 1997 and then the (usually unimportant) EV44xxxx variables
are added to the KEEP= list for that event. This change
adds six sets of EV44xxxx variables for RACFEVNT=13 (six
were previously kept for RACFEVNT=10), and clarifies the
text of the message printed when new segments are found.
All of this, just to save a little disk space!
Thanks to Gerald Lawrence, ABN AMRO Bank NV, THE NETHERLANDS.
Change 15.288 MXG 15.06 only. Label for variables LOSMCNTR & LOIOCOMP
VMAC16 were too long, causing warning on SAS log but no error.
Nov 26, 1997
Thanks to Freddie Arie, Lone Star Gas, USA.
======Changes thru 15.287 were in MXG 15.06 dated Nov 24, 1997======
Change 15.287 Local and Remote IP addresses are now decoded into their
VMACCTCP dec.dec.dec.dec format in Clever TCP/IP's SMF record, and
Nov 24, 1997 are changed from numeric to character variables.
Change 15.286 Dataset TYPE30_6 is interval data for address spaces that
VMAC30 do not go thru full function startup (examples of JOBs
Nov 24, 1997 that create observations in TYPE30_6 are RASP,ALLOCAS,
IEFSCHAS,CONSOLE,SMXC,GRS,SYSBMAS,TRACE,PCAUTH,OMVSSTFS),
but the interval start times (SMF30ISS,SMF30IST) from
which GMT offset is calculated are missing, so SYNCTIME
in TYPE30_6 was always on the GMT clock. This change
uses a heuristic comparison of SMFTIME and SYNCTIME
to correct the hour-part of SYNCTIME if there is a
difference (inserted before the %INCLUDE of EXTY30U6):
SYNCTIME=SYNCTIME+3600*FLOOR((SMFTIME-SYNCTIME+1800)/3600);
but having the real GMT offset in the record
would have been better!
Thanks to Harmuth Beckmann, Karstadt AG, GERMANY
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Change 15.285 ML-15 of ASMTAPES MXG Tape Mount and Tape Allocation
ASMTAPES Monitor has two enhancements:
Nov 20, 1997 -Dump suppression. When MXGTMNT intercepts internal
ABENDS (usually do to a logically address space changing
states, often 0C4 or 0E0 ABENDS), now the SVC dump will
be suppressed, unless you enable the 'DEBUG=YES' option,
which will cause an SVC dump to be taken. However, a
logrec record will be created for all ABENDs, so it will
be possible to get some information if required.
-Step start date (INITTIME) year 2000 support relocated
the date from the ASID's JCT to the JCT Extension in
OS/390 Release 1.3 and above. If you are at OS/390 R1.3
or higher, you will need to change the default of 'ES5'
to 'ES6' when you assemble ASMTAPES to pick up the step
start date from the JCT Extension.
Change 15.284 INPUT STATEMENT EXCEEDED with an EREP record, CLASRC=40,
VMACEREP but flag bits indicate that the record was truncated, so
Nov 20, 1997 those bits are now tested before the INPUT statement so
the STOPOVER abend is eliminated.
Change 15.283 Additional CICS DFHSTUP "Shutdown" reports have been
ANALCISH added/revised in this iteration:
Nov 20, 1997 -CICSMDSA, CICSMS, and CICSMT "Storage Manager Statistics
were updated.
-CICDS uses CICS release SMFPSRVR for decision logic.
-CICAUSS adds new CICS 4.1 fields to detail/summarys.
-CICFCR "Files" report is complete.
Thanks to Steve Colio, CIGNA, USA.
Change 15.282 Variables BYTEREAD and BYTEWRIT in TYPE21 (which is
VMAC21 renamed to PDB.TAPES) are now formatted MGBYTES.
Nov 19, 1997
Thanks to Chuck Hopf, MBNA, USA.
Change 15.281 Support for Landmark's The Monitor for CICS/ESA 2.0, a
ANALMONI completely INCOMPATIBLE reformatting of their records.
EXMONARQ You must now use program TYPETMO2 instead of TYPETMON to
EXMONAWT process the new records, but the MONITASK dataset that
EXMONCMX MXG creates should be compatible as only a few old
EXMONDBD variables were removed by LANDMARK, although there are
EXMONDSA many new ones.
EXMONDSP Landmark notes that the TD,TF,TM,TP,TS,TT,T2 and TX data
EXMONEXP is based on CICS statistics, while the TR record is part
EXMONIDS based on CICS stats and part based on data collected by
EXMONIRQ TMON; the TR record contains much of the non-volatile
EXMONIWT data previously written in the TI record. The MONISYST
EXMONMRO dataset may also be compatible, but some variables may
EXMONSYS have moved to the TR-record datasets, and some variables
EXMONT2 may be spelled differently if I did not recognize them!
EXMONT2E
EXMONTSK The meaning of the TI interval data has been changed.
EXMONTDQ Previously, data was posted to the interval as it was
EXMONTFI collected, leading to a highly accurate picture of the
EXMONTMC activity during that interval, but increasing the
EXMONTP collection overhead. Instead, in Version 2.0, the TI
EXMONTPD data is collected by rolling up the TA (Transaction End)
EXMONTPG event records into the interval in which they ended, so
EXMONTR the accuracy of each interval is lost! Landmark claims
EXMONTS "over time this results in the same statistics, but the
EXMONTSQ distribution across intervals may be different. In a busy
EXMONTTR CICS region the difference will be very small. In a
EXMONTX small test region discrepancies may be more noticeable".
EXMONTXN I seriously question the utility of interval data that
EXMONUSR does not represent the interval. It is not the
EXMONUTG busyness of the region but the long-running
EXMONXMC transactions that end from time-to-time that corrupt
IMACTMO2 their interval data, so all of the datasets created
TYPETMO2 from the TI record may be inaccurate.
VMACTMO2
Nov 19, 1997 Thirty MXG datasets are created from the new records:
Record Description
TA - Transaction Performance Record
TD - Transient Data Interval Record
TF - File Interval
TI - Transaction Activity Interval Record
TM - MRO/ISC Interval Record
TP - Program Interval Record
TR - Region Interval Record
TS - Temporary Storage Interval Record
TT - Terminal Interval Record
TX - Transaction Interval Record
T2 - DB2 Interval for CICS Record
Record Segment MXG Dataset
TA ARQ MONIARQ
AWT MONIAWT
DSP MONIDSP
DBD MONIDBDS
MRO MONIMRO
USR MONIUSR
UTG MONIUTG
TAS MONITASK
TD TDQ MONITDQ
TF TFI MONITFI
TI SYS MONISYST
CMX MONICMX
IDS MONIIDS
IRQ MONIIRQ
IWT MONIIWT
TM TMC MONITMC
TP TP MONITP
TPD MONITPD
TPG MONITPG
TR TR MONITR
DSA MONIDSA
EXP MONIEXP
XMC MONIXMC
TS TS MONITS
TSQ MONITSQ
TT TTR MONITTR
TX TX MONITX
TXN MONITXN
T2 T2 MONIT2
T2E MONIT2E
-ANALMONI's example reports using MONISYST were disabled
because many old variables no longer exist, and the old
examples weren't all that good, anyhow!
Change 15.280 Landmark's The Monitor for MVS Version 2.0 INCOMPATIBLE.
VMACTMV2 Essentially all records have been tested and do not fail.
IMACTMV2 Not all datasets have all variables decoded; as users
TYPETMV2 request them, they will be built. You must use member
Nov 19, 1997 TYPETMV2 instead of TYPETMVS for Version 2 records.
Thanks to Chris Taylor, VF, USA.
Change 15.279 MXG 15.04-MXG 15.05. DB2 report PMTRN01 caused APPARENT
ANALDB2R MACRO &SORTUOW UNRESOLVED, because Change 15.173 added a
Nov 18, 1997 new option to %ANALDBTR (UOWSORT=, that creates &SORTUOW
as a local macro variable), but old-style macro _TRANSIT
that is also defined in member ANALDBTR is also invoked
in ANALDB2R, but the &SORTUOW was local to %ANALDBTR and
did not exist when _TRANSIT was invoked. &SORTUOW is not
actually used by _TRANSIT, so the correction is to insert
%LET SORTUOW=; immediately before the _TRANSIT line.
Thanks to Tom Elbert, John Alden, USA.
Change 15.278 Calculation of B1HITRAT,B2HITRAT,B3HITRAT, and B4HITRAT
DIFFDB2 had mis-located parenthesis; there was no syntax error,
Nov 18, 1997 but the value was wrong. (Variable BPHITRAT was fine.)
The four calculations for the BnHITRAT variables need to
look like this
B1HITRAT=(QB1TGET-(QB1TSIO+QB1TDPP+QB1TLPP+QB1TSPP))/QB1TGET;
with all of the parens in the numerator.
Thanks To Yao-Chun Rickert, First National Bank of Chicago, USA.
Change 15.277 Under VM/CMS SAS, it is not possible to specify a MACLIB
INSTALL member in the CONFIG option, so the INSTALL instructions
Nov 18, 1997 for MXG under CMS were revised; now you can create the
CONFIGVM SAS A file from the copy file, and then use
SAS (NODMS CONFIG=CONFIGVM syntax.
Thanks to Sue Kent, CHEVRON, USA.
Change 15.276 IOA/Control-T 5.0 input of variable DSEXPDT was changed.
VMACCTLT If DSEXPTYP is 'C' or 'L', DSEXPDT is INPUT as PIB.4, as
Nov 18, 1997 if 'C' it is a numeric with the number of active cycles,
or if 'L' it is a numeric with the number of days since
last access; if 'D' or 'J' it is INPUT as PD4. as then
it is a date value.
Thanks to Joseph G. Ogurchak, Westfield Companies, USA.
Change 15.275 SAP IMS timestamp SAPTIMTR must be used as the Start of
VMACIMSA Transaction, and the true End time is SAPTIMTR+SAPELTI.
Nov 17, 1997 Subtracting the SAPELTI from the Log Time produced bad
results; there appears to be a delay between the true
End time and the Log Time that is being examined.
The LABEL for SAPTIMTR now indicates "START TIME..."
Thanks to Cary Jones, Philip Morris, USA.
Change 15.274 Support for CICS TS 1.2 a/k/a CICS Transaction Server 1.2
EXCICD2G is INCOMPATIBLE because IBM inserted new fields into the
EXCICD2R middle of the Type 110 Subtype 1 Monitor (Transaction)
EXCICXQ1 record, instead of adding them at the end of the record!
EXCICXQ3 You must install this Change to process TS 1.2 records.
EXCICXQ3 In addition, new variables were added to CICSLGS Stats
FORMATS dataset, and five new (and important) interval statistics
IMACEXCL data sets are created with CICS TS 1.2, described below:
VMAC110 Dataset STID Description
Nov 15, 1997 CICD2G 102 DB2 Global Statistics
CICD2R 103 DB2 Resource Statistics
CICXQ1 121 Shared TS Queue Server Coupling Facility
CICXQ2 122 Shared TS Queue Server Buffer Statistics
CICXQ3 123 Shared TS Queue Server Storage Stats.
-New variables added to CICSTRAN dataset:
BRDGTRAN='BRIDGE*TRANSACTION*ID'
CPUTM ='TOTAL*CPU TIME*CAPTURED'
ICTOTCN ='IC START*CANCEL*DELAY*RETRIEVE*REQUESTS'
PCLURMCN='LINK URM*REQUESTS'
WTDWIOCN='DISPATCHABLE*WAIT*GIVE UP*DELAY*COUNT'
WTDWIOTM='DISPATCHABLE*WAIT*GIVE UP*DELAY*DURATION'
WTICIOCN='INTERVAL*CONTROL*DELAY*COUNT'
WTICIOTM='INTERVAL*CONTROL*DELAY*DURATION'
WTLMIOCN='LOCK*MANAGER*DELAY*COUNT '
WTLMIOTM='LOCK*MANAGER*DELAY*DURATION'
WTOTIOTM='TOTAL*OTHER*WAIT*TIME*DURATION'
WTSHIOCN='SHARED*TEMP STORE*DELAY*COUNT'
WTSHIOTM='SHARED*TEMP STORE*DELAY*DURATION'
WTTOIOTM='TOTAL*I/O*WAIT TIME*DURATION'
WTUNIOTM='UNCAPTURED*WAIT*TIME*DURATION'
WTWCIOCN='WAIT*CICS/EVENT*WAIT*DELAY*COUNT'
WTWCIOTM='WAIT*CICS/EVENT*WAIT*DELAY*DURATION'
WTWEIOCN='WAIT*EXTERNAL*WAIT*DELAY*COUNT'
WTWEIOTM='WAIT*EXTERNAL*WAIT*DELAY*DURATION'
-The CPUTM is TASCPUTM + RLSCPUTM, the sum of TCB and SRB
CPU time used by the transaction.
-Three very useful new Wait variables WTTOIOTM, WTOTIOTM
and WTUNIOTM are created in CICSTRAN based on IBM's
equations in the CICS Performance Guide an help explain
why a CICS transaction is waiting:
WTTOIOTM = Total I/O Wait Time, is the sum of:
WTTCIOTM+ Terminal Control I/O Wait
WTTSIOTM+ Temporary Storage I/O Wait
WTSHIOTM+ Shared Temporary Storage I/O Wait
WTTDIOTM+ Transient Data I/O Wait
WTJCIOTM+ Journal Control I/O Wait
WTFCIOTM+ File Control I/O Wait
WTRLIOTM+ RLS File I/O Wait
WTIRIOTM+ Interregion (MRO) I/O Wait
LU61IOTM+ LU 6.1 TC I/O Wait
LU62IOTM+ LU 6.2 TC I/O Wait
SZWAIOTM FEPI Suspend I/O Wait
WTOTIOTM = Total Other Wait Time, is the sum of:
DSPDIOTM+ First Dispatch Delay (MXT+TRANCLASS)
ENQDIOTM+ ENQ Delay
WTICIOTM+ Interval Control Delay
WTLMIOTM+ Lock Manager Delay
WTWEIOTM+ Wait External Wait
WTWCIOTM+ Wait CICS/Event Wait
WTDWIOTM+ Dispatchable or Give Up Wait
RMISIOTM RMI Suspend
WTUNIOTM = Uncaptured Wait Time, is calculated as:
WTUNIOTM=SUSPNDTM-(WTTOIOTM+WTOTIOTM);
The uncaptured time (time unexplained by any variable
in CICS) is the suspend time minus the DB2/IO wait time
and the CICS wait time. What can this uncaptured time
be? We have found in SAP/CICS MRO that if 2
transactions (an update task and dialog task) are
running in tandem, then the dialog task may wait until
the update task is complete and so this wait time is
uncaptured wait time due to it waiting for another task
to complete - monitor this closely, but in most
instances WTUNIOTM is zero.
-New variables added to CICLGS Statistics dataset:
LGSAUTOD='DATA*AUTO*DELETE*FLAG?'
LGSDONLY='DASD*ONLY*FLAG'
LGSMAXBL='MAXIMUM*BLOCK*LENGTH'
LGSRETPD='DATA*RETENTION*PERIOD'
LGSSTRUC='CF*STRUCTURE*NAME'
LGSSYSLG='SYSTEM*LOG*FLAG'
-New dataset CICD2G DB2 Global Statistics contains:
D2GABORT='ABORTS'
D2GACCOU='ACCOUNTREC*SETTING'
D2GATHID='STATIC*AUTHID'
D2GATHTY='AUTHTYPE'
D2GCALLS='CALLS*USING POOL'
D2GCOMIT='COMMITS'
D2GCONGM='CONNECT*TIME*GMT'
D2GCONLO='CONNECT*TIME*LOCAL'
D2GDB2ID='DB2*SYSID'
D2GDB2RL='DB2*RELEASE'
D2GDBCON='NAME*OF THE*DB2CONN'
D2GDISGM='DISCONNECT*TIME*GMT'
D2GDISLO='DISCONNECT*TIME*LOCAL'
D2GDSNAT='DSNC*STATIC*AUTHTYPE'
D2GDSNAU='DSNC*STATIC*AUTHID'
D2GDSNCC='DSNC*COMMAND*CALLS'
D2GDSNCU='DSNC*CURRENT*NUMBER OF*THREADS'
D2GDSNLM='DSNC*LIMIT*NUMBER OF*THREADS'
D2GDSNOV='DSNC*OVERFLOWS*TO POOL'
D2GDSNPK='DSNC*PEAK*NUMBER OF*THREADS'
D2GDSNSI='DSNC*SIGNONS'
D2GDSNTT='DSNC*THREAD*TERMINATES'
D2GPLEXI='PLANEXIT*NAME'
D2GPLNAM='STATIC*PLAN NAME'
D2GRDQCU='NUMBER OF*TASKS ON*READYQ'
D2GRDQPK='PEAK NUMBER*OF TASKS*ON READYQ'
D2GSIGNO='SIGNONS'
D2GSPCMM='SINGLE*PHASE*COMMITS'
D2GTCBCU='CURRENT*NUMBER*OF TCBS'
D2GTCBFR='CURRENT*NUMBER OF*FREE*TCBS'
D2GTCBHW='HIGH*WATER*MARK*OF TCBS'
D2GTCBLM='LIMIT*NUMBER*OF TCBS'
D2GTHRCU='CURRENT*NUMBER OF*THREADS'
D2GTHRLM='LIMIT*NUMBER OF*THREADS'
D2GTHRPK='PEAK*NUMBER OF*THREADS'
D2GTHRPR='THREAD*PRIORITY'
D2GTHRRE='THREAD*REUSES'
D2GTHRTE='THREAD*TERMINATES'
D2GTHRWA='THREAD*WAITS'
D2GTHWSE='THREADWAIT*SETTING'
D2GTRQCU='NUMBER OF*TASKS ON*TCB*READYQ'
D2GTRQPK='PEAK NUMBER*OF TASKS*ON TCB*READYQ'
D2GTSKCU='CURRENT*NUMBER OF*TASKS'
D2GTSKPK='PEAK*NUMBER OF*TASKS'
D2GTSKTO='TOTAL*NUMBER OF*TASKS'
-New dataset CICD2R DB2 Resource Statistics contains:
D2RABORT='ABORTS'
D2RACCOU='ACCOUNTREC*SETTING'
D2RATHID='STATIC*AUTHID'
D2RATHTY='AUTHTYPE'
D2RCALLS='CALLS*USING*DB2ENTRY'
D2RCOMIT='COMMITS'
D2RDBENT='NAME*OF THE*DB2ENTRY'
D2RPLEXI='PLANEXIT*NAME'
D2RPLNAM='STATIC*PLAN NAME'
D2RRDQCU='NUMBER OF*TASKS ON*READYQ'
D2RRDQPK='PEAK NUMBER*OF TASKS*ON READYQ'
D2RSIGNO='SIGNONS'
D2RSPCMM='SINGLE*PHASE*COMMITS'
D2RTHPCU='CURRENT*NUMBER OF*PROTECTED*THREADS'
D2RTHPLM='LIMIT*NUMBER OF*PROTECTED*THREADS'
D2RTHPPK='PEAK*NUMBER OF*PROTECTED*THREADS'
D2RTHRCU='CURRENT*NUMBER OF*THREADS'
D2RTHRLM='LIMIT*NUMBER OF*THREADS'
D2RTHRPK='PEAK*NUMBER OF*THREADS'
D2RTHRPR='THREAD*PRIORITY'
D2RTHRRE='THREAD*REUSES'
D2RTHRTE='THREAD*TERMINATES'
D2RTHRWA='THREAD*WAITS*OR OVERFLOWS'
D2RTHWSE='THREADWAIT*SETTING'
D2RTSKCU='CURRENT*NUMBER OF*TASKS'
D2RTSKPK='PEAK*NUMBER OF*TASKS'
D2RTSKTO='TOTAL*NUMBER OF*TASKS'
-New dataset CICXQ1 CICS Shared Temporary Storage Queue
Server Coupling Facility Statistics (i.e., how much of
the CF does each structure use) contains:
S1ASYCT ='ASYNCHRONOUS*REQUESTS'
S1CNNAME='NAME FOR*CONNECTION*TO STRUCTURE'
S1CRLCT ='CREATE*LIST*FOR A BIG*QUEUE'
S1DLLCT ='DELETE*LIST*1 PER*OVERALL*DELETE'
S1DLQCT ='DELETE*QUEUE*INDEX*ENTRY'
S1ELEMCT='CURRENT*ELEMENTS*IN USE'
S1ELEMHI='HIGHEST*ELEMENTS*IN USE'
S1ELEMLN='DATA*ELEMENT*SIZE'
S1ELEMLO='LOWEST*FREE*ELEMENTS*='/
S1ELEMMX='MAX ELEMENTS*RETURNED BY*IXLCONN'
S1ELEMPE='MAXIMUM*ELEMENTS*PER ENTRY'
S1ELEMPW='DATA*ELEMENT*SIZE*POWER OF 2'
S1ELEMRT='ELEMENT*SIZE OF*ENTRY*ELEMENT*RATIO'
S1ENTRCT='CURRENT*ENTRIES*IN USE'
S1ENTRHI='HIGHEST*ENTRIES*IN USE'
S1ENTRLO='LOWEST*FREE*ENTRIES'
S1ENTRMX='MAX ENTRIES*RETURNED BY*IXLCONN'
S1ENTRRT='ENTRY*SIZE OF*ENTRY*ELEMENT*RATION'
S1FREECT='ENTRIES*ON*FREE LIST'
S1FREEHI='HIGHEST*ENTRIES*IN*QUEUE INDEX'
S1HDRS ='MAXIMUM*NUMBER OF*LIST*HEADERS'
S1HDRSCT='HEADERS*USED FOR*CONTROL*LISTS'
S1HDRSQD='HEADERS*AVAILABLE*FOR QUEUE*DATA'
S1INDXCT='ENTRIES*IN*QUEUE INDEX'
S1INDXHI='HIGHEST*ENTRIES*ON*USED LIST'
S1INLCT ='INQUIRE*ON*LIST*ENTRY'
S1INQCT ='READ*QUEUE*INDEX*STATUS*ONLY'
S1NAME ='FULL NAME*OF LIST*STRUCTURE'
S1RDLCT ='READ*LIST*ENTRY'
S1RDQCT ='READ*QUEUE*INDEX*ENTRY'
S1RRLCT ='REREAD*LIST*DATA*FOR FULL*LENGTH'
S1RRQCT ='REREAD*INDEX*DATE*FOR FULL*LENGTH'
S1RSP1CT='RESPONSES*NORMAL*EVERYTHING*OK'
S1RSP2CT='RESPONSES*BUFFER*LENGTH*TOO SHORT'
S1RSP3CT='RESPONSES*NO*MATCHING*ENTRY'
S1RSP4CT='RESPONSES*ENTRY*VERSION*NO MATCH'
S1RSP5CT='RESPONSES*LIST*AUTHORITY*MISMATCH'
S1RSP6CT='RESPONSES*MAX LIST KEY*REACHED'
S1RSP7CT='RESPONSES*STRUCTURE*OUT OF SPACE'
S1RSP8CT='RESPONSES*OTHER*IXLLIST*RTRN CODE'
S1RWLCT ='REWRITE*LIST*ENTRY'
S1SIZE ='STRUCTURE*SIZE'
S1SIZEMX='MAXIMUM*STRUCTURE*SIZE'
S1USEDCT='ENTRIES*ON*USED LIST'
S1USEDHI='HIGHEST*ENTRIES*ON*USED LIST'
S1WRACT ='WRITE*QUEUE*INDEX*ADUUNCT*AREA ONLY'
S1WRLCT ='WRITE*LIST*ENTRY'
S1WRQCT ='WRITE*QUEUE*INDEX*ENTRY'
-New dataset CICXQ2 CICS Shared Temporary Storage Queue
Server Buffer Statistics measures the queue index buffer
pool and contains:
S2BFACTS='ACTIVE*BUFFERS*OWNED*BY TASKS'
S2BFEMPS='EMPTY*BUFFERS*ON*FREE CHAIN'
S2BFENTH='BUFFERS*USED*SO FAR'
S2BFFNOS='FREE ERRORS*BUFFER*NOT OWNED'
S2BFFRES='FREES*PUT BACK*BUFFER*AS EMPTY'
S2BFGETS='GET*REQUESTS'
S2BFGFRS='GETS*WHICH USED*A FREE*BUFFER'
S2BFGLRS='GETS*WHICH*USED*THE LRU*BUFFER'
S2BFGNBS='GETS*WHICH*RETURNED*NO*BUFFER'
S2BFGNWS='GETS*WHICH*USED*A NEW*BUFFER'
S2BFHITS='GET*WHICH FOUND*A VALID*BUFFER'
S2BFKEPS='KEEPS*PUT BACK*BUFFER*AS MODIFIED'
S2BFLRUS='VALID*BUFFERS*ON*LUR CHAIN'
S2BFLWTS='GET*WAITS*ON*BUFFER*LOCK'
S2BFPNFS='PURGES*WITH NO*MATCHING*BUFFER*FOUND'
S2BFPNOS='PURGE ERRORS*BUFFER*NOT OWNED'
S2BFPURS='PURGES*MARK*BUFFER*INVALID'
S2BFPUTS='PUTS*PUT BACK*BUFFER*AS VALID'
S2BFPWTS='WAITS*ON*BUFFER POOL*LOCK'
S2BFQTY ='TOTAL*BUFFERS*DEFINED'
-New dataset CICXQ3 CICS Shared Temporary Storage Queue
Storage Statistics measure usage of AXMPGANY & AXMPGLOW
storage pool areas, with:
S3ANYFR ='FREE PAGES*IN THE*STORAGE*ANY POOL'
S3ANYLO ='LOWEST*FREE PAGES*ANY POOL*SINCE RESET'
S3ANYMX ='TOTAL PAGES*IN THE*STORAGE*ANY POOL'
S3ANYNAM='POOL*NAME*AXMPGANY'
S3ANYPTR='ADDRESS OF*STORAGE*ANY POOL*AREA'
S3ANYRQC='ANY*COMPRESS*DEFRAGMENTATION*ATTEMPTS'
S3ANYRQF='ANY GETS*FAILING*TO OBTAIN*STORAGE'
S3ANYRQG='ANY POOL*STORAGE*GET*REQUESTS'
S3ANYRQS='ANY POOL*STORAGE*FREE*REQUESTS'
S3ANYSIZ='SIZE OF*STORAGE*ANY POOL*AREA'
S3ANYUS ='USED PAGES*IN THE*STORAGE*ANY POOL'
S3LOWFR ='FREE PAGES*IN THE*STORAGE*LOW POOL'
S3LOWLO ='LOWEST*FREE PAGES*LOW POOL*SINCE RESET'
S3LOWMX ='TOTAL PAGES*IN THE*STORAGE*LOW POOL'
S3LOWNAM='POOL*NAME*AXMPGLOW'
S3LOWPTR='ADDRESS OF*STORAGE*LOW POOL*AREA'
S3LOWRQC='LOW*COMPRESS*DEFRAGMENTATION*ATTEMPTS'
S3LOWRQF='LOW GETS*FAILING*TO OBTAIN*STORAGE'
S3LOWRQG='LOW POOL*STORAGE*GET*REQUESTS'
S3LOWRQS='LOW POOL*STORAGE*FREE*REQUESTS'
S3LOWSIZ='SIZE OF*STORAGE*LOW POOL*AREA'
S3LOWUS ='USED PAGES*IN THE*STORAGE*LOW POOL'
-Formats MGCICDA, MGCICDT, and MGCICDP are created.
-Eight STIDs are no longer created in CICS TS 1.2, so
these datasets(STID) will have zero observations:
CICAUSS(22), CICDLIG(72), CICDLIR(70), CICDLIR(73)
CICDQR (43), CICDTB (33), CICIRCB(75), CICJCR (49).
The table of Dataset/STID/DSECT/etc. has been updated in
member ADOC110.
Change 15.273 MXG 15.05 only. Change 15.228 did not input the ACCOUNT
VMAC26J3 fields because IF SMF26IND='.......1........' THEN DO;
Nov 14, 1997 should have been IF SMF26IND='.......1........'B THEN DO;
the "B" at the end of the bit test was missing, so SAS
did a character comparison, which was never satisfied.
Additionally, JES3 sites must install APAR UW41108, or
you will get INPUT STATEMENT EXCEEDED RECORD LENGTH on
ID=26 record; without that APAR, the bit in SMF26IND was
turned on, but the data segment was not present! This
was for JES3 running with OS/390 Release 1.3.
Thanks to John Allender, National Computer Systems, USA.
Change 15.272 This Change was not implemented. A future change will
XUILD005 change hardcoded PIB. references to a global macro, and
XUIL3005 that will eliminate the need to keep WORK.STEPS.
Nov 14, 1997 The original text of the change was:
Nov 21, 1997 For ITSV, dataset WORK.STEPS is no longer deleted from
the //WORK library in these two "Phase-Five" members that
are used by ITSV and some smart users in place of the
"All Phases" members BUILDPDB/BUILDPD3. The ITSV product
needs the STEPS dataset to be kept in addition to the
"PDB.STEPS" dataset, and ITSV actually has been modifying
the MXG source code during execution to remove the PROC
DATASETS that deleted STEPS! By now leaving the STEPS
dataset in the work library, ITSV will no longer need to
modify the MXG source code. "STEPS" is first renamed to
"REALSTEP" where it was previously deleted (because the
SPUNJOBS member creates a dataset named STEPS so that the
macro _PDBSUMS can summarize PDB.JOBS and PDB.SPUNJOBS),
and after SPUNJOBS has been run, "REALSTEP" is then
renamed back to "STEPS".
I did not include this logic in the BUILDPDB/BUILDPD3
members that do all five phases in one step, because ITSV
does not use those members, and leaving the STEPS dataset
instead of deleting it requires somewhat more DASD space
in the work library. Sites that have created their own
PDB job using the "phase" members may want to add a
delete of the WORK.STEPS dataset after their include of
members BUILD005 or BUIL3005 if more members are included
subsequently in the same SAS step execution.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 15.271 Further consistency enhancements. All interval datasets
VMAC23 should have SYSTEM DURATM STARTIME (especially for ITSV)
VMAC24 and these didn't:
VMAC94 TYPE23 - STARTIME variable created and kept.
Nov 14, 1997 TYPE24 - SYSTEM variable kept.
TYPE94 - DURATM variable created and kept.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 15.270 OS/390 R2.4, Goal Mode Only. INVALID DATA FOR R723CIDT
VMAC7072 or R723CDQT error. The SMF Manual showed R723CTSA as
Nov 14, 1997 four-byte binary, but the DSECT shows it is eight-byte
floating point! Change PCTEXTSA &PIB.4. to &RB.8. and
three lines earlier change LENSCS GE 432 to GE 436 and
fourteen lines later change SKIP-48 to SKIP-52.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 15.269 The eight-byte variable UOWTIME (created by INPUTing the
ADOCDB2 first six bytes of UOWID with PIB6.6 and then dividing by
ANALDB2C sixteen to convert time units into seconds) can have the
ANALDBTR same value for two unique values of the six-byte UOWID!
ASUMUOW Since UOWTIME is used to combine CICS MRO observations
IMACEXCL for the same unit-of-work, and is used to combine the
VMAC102 CICSTRAN and DB2ACCT data by unit-of-work, only members
VMAC110 that used UOWTIME (ANALDB2C,ANALDBTR, and ASUMUOW) were
VMACDB2 directly affected; the duplicate values lumped different
VMACDB2H units-of-work's transactions into one observation.
Nov 13, 1997
I had believed that any 6-byte field could be input,
converted, and stored with full resolution in a SAS
8-byte variable, but in an eight-byte floating point
non-integer, SAS can only store 15 digits on MVS and
only 14 digits on ASCII. In UOWTIME, it happens that
16 digits are required to resolve adjacent unitary
changes in the 6-byte UOWID value; one unit change in
UOWTIME is one third of a microsecond, so 8 digits are
needed for the seconds of DATETIME since 1960, and 7
fractional digits were not enough as shown in the table:
The table shows duplicate DIVIDED BY 16 values for the
different UOWID input values, and shows that adjacent
UOWID values could not be resolved:
UOWID 6-bytes INPUT PIB6.6 DIVIDED BY 16
(15 digits) (15 digits)
DDDDDDDDE100 243974979.816704 15246561.2385440
DDDDDDDDE101 243974979.816705 15246561.2385440
DDDDDDDDE102 243974979.816706 15246561.2385441
DDDDDDDDE103 243974979.816707 15246561.2385441
DDDDDDDDE104 243974979.816708 15246561.2385442
DDDDDDDDE105 243974979.816709 15246561.2385443
DDDDDDDDE106 243974979.816710 15246561.2385443
DDDDDDDDE107 243974979.816711 15246561.2385444
DDDDDDDDE108 243974979.816712 15246561.2385445
DDDDDDDDE109 243974979.816713 15246561.2385445
DDDDDDDDE10A 243974979.816714 15246561.2385446
This error wasn't seen earlier in "real" CICS systems
because UOWTIME was the real time of day when a real
transaction started, and real microseconds occurred
between successive events, so UOWTIME values resolved to
unique values for different units-of-work. But clients
like CICS/OS2 and AS/400 now send transactions into CICS,
and these originators store not a timestamp in UOWID,
but rather a counter value that is incremented for each
transaction, and as one counter unit is one third of a
microsecond, MXG's choice of storing the six-byte UOWID
token as an eight-byte datetimestamp is now proven to be
incorrect to resolve adjacent counter values.
The solution is to create a new 6-byte character variable
UOWIDCHR in both CICSTRAN and DB2ACCT datasets containing
the first six bytes of UOWID, and then to insert UOWIDCHR
after UOWTIME in each BY statement so BY NETSNAME UOWTIME
becomes BY NETSNAME UOWTIME UOWIDCHR to guarantee unique
instances are correctly merged. The logic in ASUMUOW was
revised to protect the SPIN library against a variable
UOWIDCHR NOT FOUND error.
Thanks to Carol Arnold, Brown Brothers Harriman & Co., USA.
Thanks to John Krall, Brown Brothers Harriman & Co., USA.
Change 15.268 The new IHDR110 "Type 110 Header Exit" member can be
IHDR110 used to select CICS records by APPLID or other fields,
VMAC110 since the exit is taken after the header of the CICS
Nov 13, 1997 record has been input. It can save lots of time if you
have lots of Test CICS Regions whose SMF data you want
recorded (for problem determination) but whose records
you do not want in your daily CICS PDBs, because you can
use IHDR110 to delete all records from your test regions.
See the IHDR110 member for the list of fields that exist
in the Subtype 0/1/2, for Journal/Transaction/Statistics.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.267 Variable SMFRECNR was added to KEEP= list for TYPE90
VMAC90 dataset. See Technical note on Y2K Test System's SMF
Nov 13, 1997 data in MXG Technical Newsletter THIRTY-THREE.
Thanks to Carol Arnold, Brown Brothers Harriman & Co., USA.
Change 15.266 MXG 15.04-MXG 15.05. Current dates in CREATIME, STRTTIME
TYPETMON ENDTIME, UOWTIME, TIESDATE, and TIREDATE were wrong. The
Nov 6, 1997 three lines IF O LE YY LE 1959 THEN YY=YY+2000; should
have been IF 0 LE YY LE 59 THEN YY=YY+2000;
This error caused 1997 TMON dates to be in the year 2097.
Thanks to Colin J. Fester, Engen Petroleum, SOUTH AFRICA.
Change 15.265 NTSMF version 2.0.H caused INPUT STATEMENT EXCEEDED for
VMACNTSM the 0,0 (Discovery) record. The quick circumvention is
Nov 3, 1997 to replace STOPOVER with MISSOVER by using
MACRO STOPOVER MISSOVER % as the first statement, before
the %INCLUDE statement. The fix is contained in 15.06.
Thanks to Howard Glassetter, Weyerhaeuser, USA
Change 15.264 IDMS 10.02 observations were not OUTPUT in the IDMSTAS
VMACIDMS dataset; the statement IF '1201' LE SMFHVER LT '1400' ...
Nov 3, 1997 that is immediately before %INCLUDE SOURCLIB(EXIDMTAS);
must be changed to IF '1002' LE SMFHVER LT '1400' ... if
you still have records from archaic IDMS 10.02 release.
It is possible there will be no obs in IDMSBUF and INT,
with 10.02 as well.
Thanks to Jill Billings, First Data, USA.
Change 15.263 Support for Boole & Babbage MQ Series 1.1.4 MVMQS 1.2.0
EXBBMQBP VSAM file of statistics records adds 3 new MXG datasets:
EXBBMQPS RTIN MXG DATASET VARS DESCRIPTION
EXBBMQQM 'E1'x BBMQQMGR 125 Queue Manager Record
IMACBBMQ 'E2'x BBMQBUFF 96 MQ Buffer Pool Record
TYPEBBMQ 'E3'x BBMQPAGE 16 MQ Page Set Record
VMACBBMQ This Boole product is also called MainView for MQSeries,
Nov 2, 1997 and the MXG support reads their online historical files.
Change 15.262 Availability Analysis example using PROC CALENDAR and the
ANALAVAL PDB.SMFINTRV dataset (must be enabled in IMACINTV) is
Nov 1, 1997 provided in this nice user contribution.
Thanks to Rob Wunderlich, USS/POSCO Industries, USA.
Change 15.261 Cosmetic. APAR OW15518 is the IBM APAR that added the
YEAR2000 year 2000 support to all SMF-owned SMF records; the
Nov 1, 1997 member YEAR2000 incorrectly typo'ed OW16518.
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 15.260 Cosmetic. Change @28 QWACRINV MGDB2RC16. to MGDB2RC15.
ANALDB2R and there will be a space between the reason and the
Nov 1, 1997 count of SELECTs and so it doesn't look overlaid.
Thanks to Bob Gauthier, American Stores Company, USA.
Change 15.259 Pairing DB2 type 102 59 and 63 records was wrong when
ANALDBTR there were multiple 63s due to lots of SQL text. The
Oct 31, 1997 correction is to only increment PAIRNR in the BEGIN63
logic IF QWHSSTCK NE OLDTME63 THEN PAIRNR+1; and add
OLDTME63 to the RETAIN and DROP statements, and to set
OLDTME63=QWHSSTCK; just before the OUTPUT statement.
This affected the S064058 file because PAIRNR was being
incremented by more than the one count MXG expected in
the IF HOLD63 AND HOLD64 logic block. This correction
was diagnosed and the fix coded by its discoverer.
Thanks to Ken Michalik, Kraft Foods, USA.
Change 15.258 Support for CICS APAR UN98309 (INCOMPATIBLE) which
IMACPTF adds new field RLSCPUT (MXG variables CPURLSTM and
VMAC110 CPURLSCN) to dataset CICSTRAN. You must update member
UTILCICS IMACPTF to enable macro _UN98309 if you install this
Oct 31, 1997 PTF, because there is no way to tell from the SMF
record that the PTF is installed. If you use any
of the "User" fields, or have any optional segments
(e.g., those created by Candle or Boole & Babbage)
those data will be wrong with this PTF until you both
install the MXG 15.06 or later version and update the
IMACPTF member. Sorry, but this is what happens when
IBM adds data to the type 110 transaction record without
changing version numbers (and there is no maintenance
level flag for them to update, either!).
MXG utility UTILCICS was updated and it will now detect
that APAR UN98309 has been installed on any of your CICS
regions; see its comments for instructions and output.
Thanks to Martin Peck, CA-IT/Capacity Management, GERMANY.
Change 15.257 Support for type 88 subtype 11 (System Logger Alter
EXTY8811 Structure) data creates new dataset TYPE8811.
IMAC88 Also, variable SMF88EDO is now input and created in
VMAC88 the TYPE88 dataset.
Oct 31, 1997
Thanks to Pat Quinnette, Principal Mutual Life Insurance, USA.
Change 15.256 OPC segmented type 29 records caused INPUT STATEMENT
VMACOPC EXCEEDED error; MXG only inputs the EQE control block
Oct 31, 1997 fields, which does not exist in the segmented records,
so now MXG verifies both the length and EQE eyecatcher
before decoding type 29 records.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 15.255 Windows NT on a multiprocessor (two or more engines) was
NTINTRV not summarized correctly; each engine created a separate
Oct 30, 1997 observation in the NTINTRV dataset. This revision will
correct that MXG design error by summing INTPROR before
the merge and creating NRCPUS variable to count engines.
Most of the fields from the PROCESOR record exist in the
SYSTEM record, but the percentage values are slightly
different between the records. Variable ACPBYPAS in the
SYSTEM record appears to be half of the sum from the
PROCESOR records with two engines, so the (believed!)
more correct value from PROCESOR is used, rather than the
values from the SYSTEM record, by moving INTPROR to the
end of the MERGE statement (so its values will override
variables of the same name).
Change 15.254 Of no real impact, because adding zeros has none, but MXG
VMAC30 created additional observations in TYPE30_V/30_4/30_5 if
Oct 29, 1997 there were type 30 records containing only MULC or OMVS
segments. These observations had MULTIDD='Y', a flag
that this step record contained only EXCP segments, and
had zeroes for all resource variables, because resources
in the MULC (Measured Usage) and OMVS (Open Edition/MVS)
segments are output in TYPE30MU or TYPE30OM datasets.
Prior to MXG 15.05, when there was more than one multiple
record from a step, they were identical and MXG's NODUP
in PROC SORT deleted all but one. But Change 15.235 in
MXG 15.05 added variable EXTRMULC to be kept, and as its
value was not the same in each multiple record, MXG did
not delete any dupes, and comparison of MXG 15.03 and MXG
15.05 showed different messages on the SAS Log about
duplicates. While they were still zero and had no
impact, they should not have been output in the first
place. So MXG has now added a test
IF MULTIDD='Y' AND NUMDD=0 THEN DELETE;
so that only multiple records due to EXCP segments will
be output into the TYPE30_V/TYPE30_4/TYPE30_5 datasets.
In TYPE30MU dataset, INITTIME will be the job or step
initiate time for subtype 4 and 5 records, but it is now
set equal to INTBTIME in the subtype 2 and 3 interval
records so that duration of the interval can be known.
There can be multiple records created due to too many
ARMS (Automatic Restart) segments, but I have no data
with ARMS segments to investigate what I should do with
those records. Variable EXTRARMS will be nonzero if you
have ARMS segments causing multiple records, and it is
kept in TYPE30_V/_4/_5 datasets. In fact, only the data
in the first ARMS segment is actually input by MXG.
Thanks to Tom Elbert, John Alden Systems Company, USA.
Change 15.253 Text of Change 12.255 now points to revision in Change
ChangeSS 15.061, whose text was also revised to TYPE78CF rather
Oct 29, 1997 than TYPE74CF!
Thanks to Jack Fausti, EDS, USA.
Change 15.252 The example for pre-CICS 4.1 GMT protection should have
ADOC110 spelled STRTTIME instead of STTRTIME.
Oct 29, 1997
Thanks to Rey Marquez, General Accident, USA.
Change 15.251 The CICINTRV logic was still wrong after Changes 15.219
CICINTRV and 15.092. The first interval was dropped when it was
Oct 14, 1997 valid, the COLLTIME value was reset to the start time of
Oct 29, 1997 the interval, variable STARTIME was not propagated into
the PDB.CICINTRV dataset, and the HALFHOUR default value
for MACRO _CICINTV produced strange results in DSGCNT if
15 minute interval data was input. To correct the logic,
DURATM and STARTIME were added to the KEEP= list in the
one-per-interval datasets (i.e., the ones that are not
VMXGSUMed), the DROP of SMFSTRQT was removed (to help in
debugging), and the major logic changes were in both the
big MERGE step (to not drop first interval, and to create
STARTIME) and in the final VMXGSUM (which now uses the
STARTIME rather than COLLTIME to cluster records. This
has been tested with broken data (i.e., an interval with
only FCR (file close) records, which will happen when SMF
is dumped before the end of the interval) as well as with
USS/REQ/EOD records interleaved with INT records, and now
the data looks correct.
Note that an observation in PDB.CICINTRV with missing for
DURATM is a "broken data" interval in which only event
data was found, and STARTIME will equal COLLTIME since
there is no interval duration in the event records.
It was invalid values for DSGCNT (Current Nr of Tasks)
in Dan's reports that led to this revision, so I also
moved DSGCNT from the MEAN= list to the MAX= list as it
is more useful as the maximum number of current users
when multiple intervals are summarized than the average.
Sites with SAS IT Service Vision (ITSV) should install
MXG 15.06 or later if they want to use PDB.CICINTRV
table. With MXG 14.07 thru MXG 15.05, SAS ITSV will
generate a warning message because variable DATETIME
was not found in PDB.CICINTRV. You could delete the
statement DROP DATETIME in member CICINTRV in those
earlier versions and ITSV will populate its tables,
but only the MXG 15.06 version of member CICINTRV
creates a legitimate PDB.CICINTRV dataset.
This change did remove the DROP DATETIME; statement
that was added in MXG 14.07. Eventually, the variable
DATETIME will be deleted, because STARTIME is the name
that should be used, but both are now kept to protect
ITSV until it is updated to use STARTIME.
Early versions of VMXGSUM created variable DATETIME, but
that was not my intention; instead, the original named
variable (i.e., the one used in the DATETIME= argument)
is intended to be used for the summarized datetime value.
Thanks to Dan Gilbert, Bergen Brunswig, USA.
Thanks to Ken Whitehead, Bank of New York, USA.
Change 15.250 The test IF CPUTM NE CPU72TM in RMFINTRV that validates
RMFINTRV that the sum of your work definitions (CPU72TM) is equal
Oct 13, 1997 to the sum of real work (CPUTM, all non-report perfgrps
or service classes) was too strong. Truncation effects
caused fractional differences (1E-9) when totals really
were equal. In the worst case, with 1000 numbers summed
at .01 second resolution, if all lost the max of .001,
a maximum difference of 1 second could exist, so the test
was revised to report error only:
IF ABS(CPUTM-CPU72TM) GT 1 THEN DO;
This test only comes in to play if you have enabled
IMACWORK to use both control/report performance groups
or service/reporting classes to define workloads.
Thanks to David Ehresman, University of Louisville, USA.
Change 15.249 Support for NTSMF Version 2.1 Final Changes (INCOMPAT).
VMACNTSM In the final Beta Tests of NTSMF Version 2.1, we have
Oct 13, 1997 decided to make a structural change in the timestamps of
NTSMF records that can affect the NTINTRV dataset, so
now, MXG 15.06 (or at least Change 15.249) is required
for NTSMF Version 2.1. Prior versions are not affected.
Prior to 2.1, all NTSMF records for a interval had the
same SMFTIME timestamps and DURATM durations, because
only one call to the Registry for all objects was made.
A single call sometimes generated 300K bytes of data,
which the Registry did not handle well, but in using just
one call to the registry we got back every counter in
every object, and we had wanted to allow the collection
of only some counters in some objects.
So NTSMF 2.1 now will issue multiple calls (one per
object) so you can tailor which counters are collected.
But the multiple calls create records with slightly
different SMFTIME timestamps, varying by the milliseconds
it takes NTSMF to get from the first to the last object,
and since NTINTRV uses STARTIME=SMFTIME-DURATM to collect
all of the records for an interval, STARTIME would not be
constant for each interval, which would cause multiple
obs in dataset NTINTRV for each real interval.
That is the incompatibility which is eliminated by this
change. NTSMF 2.1 writes a configuration record with
OID=0, OBJECT=0 (which contains fields that used to be in
each record's header that were moved to this record as
part of 2.1's "reduced header" redesign to reduce data
volume, as well as configuration information). This 0,0
record is now written at the start of each call sequence,
its DURATM is the duration since the last call sequence,
and MXG now uses the 0,0 record's SMFTIME-DURATM as
the retained STARTIME value for all records until the
next 0,0 record is read. So STARTIME will be constant
for each interval, NTINTRV will be correct, and each
individual record's timestamps, SMFTIME, can be examined
to see how long it takes NTSMF to write a set of data!
- This change also creates variable PRODTYPE (Server/WS)
and DSCNAME (NTSMF data set collection that was used)
from the 0,0 configuration record.
Change 15.248 Support for Applied Expert System's Clever TCP/IP SMF
ADOCCTCP record creates two new datasets:
EXCTCPPR CTCPPERF - Clever TCP/IP Performance Statistics
EXCTCPWL CTCPWORK - Clever TC/IP Workload Statistics
IMACCTCP
TYPECTCP
VMACCTCP
Oct 13, 1997
Thanks to Chuck Hopf, MBNA, USA.
Change 15.247 Support for HP MeasureWare for Terra Data Operating
ADOCMWTE System creates six new datasets:
EXHPTEAP HPTEAPPL - HP-MWA TERRADATA APPLICATION RESOURCES
EXHPTECO HPTECONF HP-MWA TERRADATA CONFIGURATION
EXHPTEDS HPTEDSK HP-MWA TERRADATA DISK ACTIVITY FROM DISK
EXHPTEGL HPTEGLOB HP-MWA TERRADATA GLOBAL ACTIVITY
EXHPTELA HPTELANS HP-MWA TERRADATA LANS
EXHPTEPR HPTEPROC HP-MWA TERRADATA PROCESS RESOURCES
IMACMWTE The Report Macro for Terra Data extract is contained in
TYPEMWTE member ADOCMWTE.
VMACMWTE
Oct 13, 1997
Thanks to Alfred Holz, Medco Data Corporation, USA.
Change 15.246 When you used TYPEEREP to read the DASD (i.e. online)
ADOCEREP SYS1.LOGREC file, MXG read the entire file, all the way
IMACEREP to End-of-File, but the DASD file contains old records
VMACEREP that should not have been read. The first record of the
Oct 12, 1997 DASD file is a header record that contains the pointer
LASTTR to the last record written. IBM utilities CLEAR
SYS1.LOGREC by updating LASTTR and leave all the records
where they were. Now, MXG detects that there is a header
record and uses its LASTTR value to STOP the input from
SYS1.LOGREC after that logical end of file record. (If
you should ever want to read the entire DASD LOGREC file,
new macro _READALL in IMACEREP will let you change the
MXG default) Note that this was only a problem if you
read the DASD SYS1.LOGREC file; the dumped file contains
only the valid records, and there is no header record in
the dumped file, so MXG reads dumped data to end-of-file.
An old IBM reference, RTA000138425 dated 11/13/1996 has
more discussion, including pointing out that SYS1.LOGREC
and EREP may not necessarily point to the same file!
This MXG change only applies if you use TYPEEREP to read
the online, DASD, SYS1.LOGREC, as only it contains the
header record. If you were reading the dumped EREP data
records, on tape or DASD, there are no dead records nor
any header, and reading to end-of-file is what you want!
Thanks to Christophe Faure, ATOS Group, FRANCE.
Change 15.245 DB2 Type 102 Subtype (IFCID 140) INPUT STATEMENT EXCEEDED
VMAC102 error due to trashed record. The data thru QW0140UR is
Oct 11, 1997 valid for the Object-Type=Plan record, but the XL8 field
QW0140HO contains '40ffff4040404040'x, and QW0140LL has
'4000'x, (indicating 16,384 bytes of SQL text follows),
but QWT02R1L is only 82 bytes (and there are 9 bytes in
the segment following QW0140LL). It looks to me that the
QW0140HO field was filled with 9 bytes rather than 8, and
it overlaid the first byte of QW0140LL. MXG previously
added protection for this IFCID=140 record when there was
no SQL text in Change 15.216; this Change makes the line
IF QW0140LL GT 2 THEN
look like this:
IF QW0140LL GT 2 AND COL+QW0140LL-3 LE LENGTH THEN
The site will pursue the bad record with IBM.
Thanks to Michael Oujesky, MBNA, USA.
Change 15.244 New variable CPU72TM was formatted TIME12.2 before it was
RMFINTRV output, but was not formatted in the step in which it was
Oct 11, 1997 created and in which it was PUT in an error message, so
it is now FORMATed when created.
Thanks to David Ehresman, University of Louisville, USA.
Change 15.243 DFSORT APAR PN71337 added flag fields (Compatibly) which
VMAC16 are new variables in MXG TYPE16 dataset:
Oct 9, 1997 LOSMCNTR='LOCALE PROCESSING*SORT MERGE*CONTROL FIELD?'
LOIOCOMP='LOCALE PROCESSING*INCL OMIT*COMPARE FIELD?'
EQUALUSE='EQUALS*WAS USED*FOR SORT*OR MERGE?'
Change 15.242 Utility program to re-create SMF VBS data records from a
UVBSNRDW downloaded SMF file that had BDW and RDW stripped. If
Oct 9, 1997 you don't download correctly (see member SENDDATA), you
can end up with an SMF file of only records; the BDW/RDW
are removed when you download from a RECFM=VBS instead of
using the RECFM=U copy. This has happened enough times
that I wrote this utility to reconstruct the original SMF
record, adding the missing BDW (Block Descriptor Word)
and RDW (Record Descriptor Word). As written, the logic
only works for SMF records that have only one instance of
SYSTEM per record (DB2 and CICS qualify); it would need
to be extended for records like JES type 26 that has the
SYSTEM repeated in several places, but it worked so I was
able to reconstruct the problem in the site's SMF data,
and to discover their error had been previously fixed!
Change 15.241 MQ Series type 116 SMF record with blank for CICS Task Nr
VMAC116 caused INVALID DATA FOR QWHCTASK message. The input of
Oct 7, 1997 QWHCTASK was protected by adding the double questionmark:
QWHCTASK ?? &PD.4. to suppress the error message and the
hex dump of the record. QWHCTASK was input only if CICS
attach (QWHCATYP=1 in MQ Series), but MXG did not expect
records with blank values.
MQ Series SMF type 116 record questions answered by IBM:
1. I have SMF type 116 record subtype 0 with QWHCATYP=1
(CICS), but the Thread Cross Reference Data is all
blanks (i.e., the CICS "thread number" QWHCCTNO,
"transaction name" QWHCTRN, and the CICS "task number"
are hex 40's). The CPU time field is hex zeroes, as
are all of the GET/PUT counts.
MQSSeries System Management Guide for Version 1.1.4
SC33-0806-04 page 343 discusses that there may be up
to 9 records containing zero CPU time. Do the blank
values in the CICS fields only occur in these records
with zero CPU time, and is a record with zero CPU time
always going to have blanks for the CICS fields, or is
the zero CPU and the blank CICS fields unrelated
conditions. Aren't blanks an error?
IBM ANSWER: Regarding records with zero cpu time on
CICS adapter related records, the null
records relate to the main CICS TCB and
8 MQ-related CICS TCBs. Depending on the
activity in the queue manager, these null
records will be written.
2. There is a third, undocumented self-defining section
in type 116 records that contains non-zero values,
including two TODSTAMP fields. The Offset of the
triplet is 36 decimal, and the note in Table 25 states
"other self-defining sections refer to data for IBM
use only". However, the data values may be of
significant value to our customers but I need
confirmation of their meaning, as well as the other
fields in the undocumented section:
- The two TOD stamp fields at the beginning of the
section look to be a start time and an endtime, and
as there is no other start time in the record, it
should be kept to measure event duration.
- The end timestamp has more resolution than the .01
seconds to which the SMF record timestamp is
truncated. Additionally, there is yet another
undocumented TODSTAMP field in the record, in the
Message Manager Accounting record QWHS section, as
the first eight bytes of the reserved field at
decimal offset 16, and this is also an ending
timestamp, but it is 26 microseconds later than the
ending timestamp in the undocumented section, so it
is clearly the timestamp of a third event.
Start Time in Undefined Section 05OCT97:04:15:42.970238
SMF Record time stamp 05OCT97:12:50:25.43
End Time in Undefined Section 05OCT97:12:50:25.438630
Reserved Time in QWHS Section 05OCT97:12:50:25.438656
By understanding what events are being timestamped,
the delta-time between them can often be used to
characterize short term problems and long term trends,
so I request information as to their meaning. In
addition, there are a number of fields in the
undocumented section that are non-zero; since they
exist in the site's SMF record, knowing what they
count so that they can be decoded would help our
mutual customers to better measure their MQ Series
systems.
The sample 116 record in SC33-0806-04 on pp 344-346 has
similar data, with SMF time of 29MAR94:16:43:15.17, its
start at 16:43:13.500017, and its two end times are at
16:43:15.174748 and 16:43:15.175460, for a delta of 712
microsec! What is happening during that delta duration?
I am aware that while the SMF time stamp is on the local
clock, all three undocumented TOD stamps are on the GMT
clock. The delta between SMF time and the end time will
let me discover the GMT offset to convert to local for
comparison with other SMF data records from CICS IMS,
etc.
IBM ANSWER: The additional data is not strictly just
for IBM use; it's just that the additional
data is not used for any purpose by MQ.
Part of this core code for MQ is based on
DB2, and while MQ cannot guarantee any of
the information in the additional section,
the layouts for DB2 Accounting Data may
indicate the contents of this section.
BARRY's STATUS: If you want to look deeply into MQ Series
with type 116 records, send me some data
records and I will decode the extra data
segment to see if it really is useful.
Thanks to Ken Whitehead, The Bank of New York, USA.
Change 15.240 Variables that had duplicate entries in LABEL statements
several were removed from members VMAC42, VMAC7072, VMAC79,
Oct 4, 1997 VMAC80A, VMAC99, VMACICE, VMACMWUX, and VMACXPSM. These
caused no error, but should not have been repeated.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 15.239 New variable LASTVOFL "IS THIS*THE*LAST*VOLUME?" is added
VMAC1415 to dataset TYPE1415 to flag whether an individual 14/15
Oct 4, 1997 record is the last volume, by decoding '40'x in RECIND1.
See Change 15.304.
======Changes thru 15.238 were in MXG 15.05 dated Oct 2, 1997======
Change 15.238 "ERROR. NEGATIVE CPU-UNCAPTURED-TIME (TYPE70-TYPE72)" is
RMFINTRV printed by RMFINTRV when MXG detects bad CPU time values
Oct 2, 1997 in type 72 records. Back in 1992, IBM APAR OY51878 found
bad values in CPURCTTM (SMF72RCT), and now APAR OW28256
reports bad values again! When CPURCTTM is corrupted,
CPUOVHTM (actually the "Uncaptured CPU Time" rather than
overhead) becomes negative because the total CPU in type
72 records exceeds CPU Active time for the box! This is
because MXG includes CPURCTTM in CPUTM in building the
TYPE72/TYPE72GO datasets, and in RMFINTRV calculations.
You can correct this error in advance by inserting in the
EXTY72/EXTY72GO exit members:
CPUTM=CPUTM-CPURCTTM;
so that TYPE72/TYPE72GO and RMFINTRV will not include the
CPURCTTM (Region Control Task, mostly TSO Quiesce/Resore)
in the total CPU time captured, and then remove this
workaround when you install the PTF for the APAR OW28256.
Note: for Boole's CMF, APAR BPM6782 is reportedly also a
requirement. 29May98.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 15.237 Support for BETA93 Release 3.1.3 (INCOMPATIBLE) inserted
VMACBETA fields in the header, and changed the length of many of
Oct 2, 1997 the fields. Unfortunately, I only received subtype 21
records, so only that subtype is supported in MXG 15.05.
In fact, all other subtype will produce a hex dump of the
first record of each unsupported subtype and prints an
MXG message to please send that dump to me so I can add
support for those subtypes. (If the BETA93 vendor had
documented their alignment bytes in their DSECT, I could
have delivered the code for all subtypes, but the subtype
21 record proved their documentation is inadequate. I
presume that since only the subtype 21 records were sent,
that that is the most important record for BETA92, and I
hope this change will get you through the nite!).
Thanks to Manfred Thomas, BHF-Bank, GERMANY.
Change 15.236 DFHSTUP-like CICS Shutdown Reports have been enhanced to
ANALCISH match new IBM reports, but not all reports were finished
Oct 2, 1997 in time for MXG 15.05 (notably, CICFCR). See notes in
the member for additional status.
Thanks to Steve Colio, CIGNA, USA.
Change 15.235 Duplicate step records might not be deleted by SAS NODUP
BUILDPDB option, but only for steps with more than one physical 30
BUILDPD3 record for a step (eg., steps with many DD segments, aka
BUILD005 MULTIDD='Y' steps). The sort order for TYPE30_4 did not
BUIL3005 include MULTIDD EXTRADD variables, and if the multiple 30
VMAC30 records had exactly the same TERMTIME, the sort did not
Oct 2, 1997 place them adjacent, and the NODUP only deletes duplicate
records that are adjacent. The correction is to change
the BY list for PROC SORT NODUP DATE=TYPE30_4 ... ;
to BY READTIME JOB JESNR TERMTIME MULTIDD EXTRADD;
Of course, if you never have duplicate SMF data
(which can ONLY happen when a failure in SMF dump
AND an incorrect human recovery occurs) you will
not have cause for concern!
The impact was that two observations were created in
PDB.STEPS, and the job's CPU time was doubled.
-Variables EXTRARMS, EXTRMULC, and EXTROMVS are now kept
in the TYPE30_V and TYPE30_4 records, as they may be
needed for additional protection.
-Member ADOC30 has been updated with a discussion of the
existence of multiple step records that was written in
reply to a request from IBM to review SMF documentation
on how to know whether a physical step record was the
first, last, or in-between record for a step terminate.
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 15.234 Support for TCP/IP 3.2 API Calls SMF record increased the
VMACTCP length of the API Call record (on which MXG depends to
Oct 01, 1997 sort out API from FTP from TELNET), relocated APIJOBNM,
and added new variables APIJOBID (JCTJOBID) and APISTART
(JES Start Time) for HPNS applications (where the HPNS
enabled interfaces are
- C sockets API (including C sockets for CICS)
- Sockets Extended APIs:
- Macro Interface
- Call Instruction Interface, including Call Instr
for CICS and IMS).
Thanks to Harmut Richter, BASF Computer Services GmbH, GERMANY.
Change 15.233 The discussion of documentation of MXG Software, the
DOC MXG books, etc., is now contained in member DOCUMENT.
Sep 30, 1997 There are several "tables of contents" of ACHAPxxx and
ADOCxxx members (this consolidates and enhances the old
"Online Documentation" section of member CHANGES).
Change 15.232 Enhancements to process EASMON/EASMAP data from VM/ESA
EXXAMSYT were contributed to add new XAMSYT and XAMSYU datasets,
EXXAMSYU and to correct "IF SKIP GE 20... SKIP=SKIP-20;" before
IMACXAM the INPUT TCMXIDSZ to ..GE 16 ...SKIP-16" so that the
VMACXAM fields are actually input. Datasets XAMSYT and XAMSYU
Sep 30, 1997 report LPAR dispatch and management time from VM/ESA.
Thanks to Anthony P. Lobley, EDS, ENGLAND.
Change 15.231 Deaccumulation of the NPMINPMT dataset in member DIFF28
DIFF28 (added by Change 15.206) now creates variable DURATM
Sep 30, 1997 instead of DELTATM, and creates variable STARTIME to
be consistent with other interval datasets.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 15.230 VLF Activity for CATALOGs can be generated in SYSLOG
TYPEVLFC with the F CATALOG,REPORT,VLF command that creates the
Sep 30, 1997 messages IEC359I. This program will read //SYSLOG and
create dataset PDBVLFC.VLFCATLG from those reports and
also trends the new and old reports in PDBVLFC.TRNDVLFC.
Note that the report values are cumulative: the command
must have been issued at least twice to produce data.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.229 These IMS Log Processing Assembly programs were revised
ASMIMSLG in MXG 14.07, but the revisions did not support archaic
ASMIMSL5 pre-DFP 3.0 systems, and there was at least one MXG site
Sep 30, 1997 at that level that encountered an 0C4, so the programs
were revised to support the earlier QSAM level.
Thanks to Skip Abadie, MBNA, USA.
Change 15.228 IBM APAR OW26297 for JES3 add a new triplet section and
VMAC26J3 Job Account fields at the end of the purge record (though
Sep 30, 1997 the original APAR text made it look like it was inserted
in the middle of the record, it was in fact added at the
end). There was already a 42-byte accounting field in
the JES3 purge record, but IBM added the new section to
support all Job accounting fields. MXG previously used
the 42-byte field to decode only variable ACCOUNT1, but
with the new section, MXG will decode ACCOUNT1-ACCOUNTn
(where the number of fields kept is set in your IMACACCT
tailoring member). All of this is relatively unimportant
since MXG needs the Purge record account fields only for
jobs that did not initiate (i.e., JCL errors or cancel
before execution); account fields are normally taken from
the type 30 records.
Change 15.227 IBM APAR OW16975, reported in MXG Newsletter THIRTY-TWO,
VMAC30 is in error, and when installed causes APPC-using flushed
Sep 30, 1997 steps to fill your log with hex dumps, and causes MXG to
Dec 13, 1997 delete those step records. The APPC section was removed
by the APAR, but the triplet values were not zeroed.
This circumvention will print only one instance message
on the log, will skip the non-existent APPC section, but
will then output the type 30 record, and when the APAR
error is fixed, the circumvention will be passive.
Dec 13 update: APAR OW30802 is the new fixing APAR that
will make this circumvention passive.
Thanks to Bill Shanks, BR Business Systems, ENGLAND.
Change 15.226 Support for APAR XXnnnnn, which increases the number of
ANALRMFR structures in a Coupling Facility from 64 to 255. The
VMAC74 SUBSCRIPT OUT OF RANGE error will occur if you install
Sep 29, 1997 the PTF without this change. This change also eliminates
four sets of variables QSTR01-QSTR64, QSIZ01-QSIZ64,
QFLG01-QFLG64, and QVER01-QVER64 from dataset TYPE74CF.
That information was already stored in TYPE74ST dataset,
which has one observation per structure, and those fields
should not have been kept in TYPE74CF anyhow!
Reports in ANALRMFR have not been updated for more than
64 structures, and Total Size of Structures Allocated
value will be missing until the CF Reports are revised.
This change also corrected INPUT STATEMENT EXCEEDED error
with type 74 subtype 4 records with NRTRIPLT=8.
There is still an open problem with IBM for this APAR, as
pointer R744CDSI is sometimes wrong, pointing beyond the
end of the data record; MXG now conditionally inputs the
R744CDSI extension fields, pending a fix from IBM.
Thanks to Dennis Pugh, BMC Software, USA.
Change 15.225 This report for Cached DASD Controllers now will use the
ANALCACH PDB.TYPE74CA and/or PDB.CACHE90 dataset, and will not
Sep 26, 1997 fail if either dataset does not exist. (TYPE74CA has
replaced the old CACHE90 dataset created from CRR.)
Thanks to David Ehresman, University of Louisville, USA.
Change 15.224 Variable TAPEBYTE was not in the KEEPIN= LIST, causing
DAILYDSN variable SPACE5 (Non-HSM Tape) to be missing and causing
Sep 26, 1997 UNINITIALIZED VARIABLE TAPEBYTE message on the log. The
DAILYDSN program is used in JCLDAYDS example to measure
the size of all of your datasets (DASD/TAPE/HSM) using
DCOLLECT, CA-1, and HSM records.
Thanks to Robert Miles Standish, Dean Witter Trust Company, USA.
Change 15.223 Some reports may have timestamps shifted right two bytes,
ANALDB2R causing Authid to be overlaid. I changed DATETIME16. to
Sep 26, 1997 DATETIME18. expecting to show all four digits of year,
but did not check to see there was space on the line for
the two extra positions. (Worse, DATETIME18 does not
print the four digit year, it justs shifts right and then
prints two digits of year!). Therefore, change all of
the occurrences of DATETIME18. to DATETIME16. (Note the
datetimes printed at the top of the page use DATETIME21.2
so you will see the four digit year on each page!)
Thanks to Brian Hawthorne, Mutual of New York, USA.
Change 15.222 MXG 15.04 only. Catalog Cell 'E7' in TYPE6156 record had
VMAC6156 INPUT STATEMENT EXCEEDED error, because Change 15.166 was
Sep 25, 1997 not correct. In the block ELSE IF CLTYPE='E7'X THEN DO;
delete these two lines after the INPUT statement:
ALICELN &PIB.2. /*LENGTH OF ALIAS INCLUDING ITSELF*/
ALITYPE $EBCDIC1.
and then change ALIRESV $EBCDIC1. to ALIRESV $EBCDIC2.
Thanks to Lawrence Jermyn, Fidelity Systems Company, USA.
Change 15.221 The new ASUMUOW in MXG 15.04 fails with LIBNAME TEMP01
ASUMUOW not found. Test code that should have been removed had
IMACUOW the specific reference. You can change TEMP01.CICSTRAN
Sep 24, 1997 to CICSTRAN in both places to circumvent. However, this
revision changes the MXG defaults so that
PDB.ASUMUOW will always have zero observations, until
you enable it in member IMACUOW.
I create dataset PDB.ASUMUOW by default in JCLPDB6, but
the default sets OPTIONS OBS=0 at the beginning and then
resets OBS back to the original value (using VMXGOPTR) at
the end of member ASUMUOW, so no data will be sorted or
merged until you turn it on. I really think that large
CICS and DB2 shops will find PDB.ASUMUOW better than its
predecessor PDB.CICS, but it can use lots of CPU & DASD,
so I think it safer to make you enable it. In addition,
IMACUOW now externalizes the output of the PROC SORTs so
you can send them to tape and save DASD space as well.
The options are documented in comments in both members.
Thanks to Mike O'Brien, McKesson General Medical, USA.
Change 15.220 -Support for NTSMF Version 2.1, COMPATIBLE with 15.03 or
EXNTCNRS later (MXG 15.03 was required for NTSMF Version 2.0).
IMACNTSM -Support for new Object 'Content Replication Service' adds
VMACNTSM creation of new dataset CONTRPSV.
Sep 26, 1997 -Existing dataset CONTNFI (Content Index Filter) has been
validated with data, with new CNFINAME instance.
-Existing CONTINDX (Content Index) has been validated with
data, with new CNINNAME instance.
-Existing IMAGE (Image) has been validated with data, with
two instance variables IMAGNAME and IMAGFILE.
-Existing MSEXCHMS (MSExchangeMSIM) object is validated,
and will have observations (if you change the misspelling
in IF UPCASE(OBJECT)='MXEXCHANGEMSIM' from MXEX.... to
MSEX...., even earlier versions of MXG will have obs!).
-Many new variables in CMPQxxxx datasets (from COMPAQ)
were not in the INFORMAT statement, which would cause
their values to be off by a factor or 100.
-The _BNTxxxx macros were not defined for all datasets,
and not all datasets were in the _SRTPRNL and _SRTPRNV
print macros.
-Member ADOCNTSM's list of datasets and Instance Variables
has been updated to include recently added objects.
-Variables CPUNUM1, FAMILY1, and MANUFAC1 and CPUSPED1 are
now decoded from the "0.0 configuration record" (new in
NTSMF 2.1).
-The location of the calculation of SMFTIME was relocated
so it does not generate "MISSING VALUES" message with 2.1
data; the value was re-calculated later and was never
actually missing.
Thanks to Jim Quigley, Con Edison, USA.
Thanks to Carmen Vitullo, Boeing, USA.
Change 15.219 -In CICINTRV, variables DSGAMXTL, DSGICVSD, DSGICVT, and
CICINTRV DSGTL are static values and should not have been DIF()
VMAC110 (as was DSGTL), and should not have been in SUM= nor
Sep 22, 1997 MEAN= statements, and are now in the ID= statement.
In spite of their mis-location, most of the time they
yielded correct values, so the error was overlooked.
(Note DSGTL only existed in CICS 3.3 and earlier)
-In VMAC110, the new A04 variables in the INPUT statement
begining with A04RDINT were all incorrectly labeled, and
the two time durations, A04RDINT and A04RDIDL had wrong
values with no TIME12.2 format.
-The SKIP=SKIP-220 for archaic CICS 3.1.0 if there were no
index segments and its INPUT +220 were changed to 218, to
suppress an "UNEXPECTED DATA" message that, while
harmless, could be eliminated.
Thanks to Dan Gilbert, Bergen Brunswig, USA.
Change 15.218 Support for CA's IDMS 14.0 (INCOMPATIBLE) splits existing
EXIDMDGB subtypes 1 and 16, adds new subtype 16 for new dataset
IMACIDMS IDMSDBG, and adds variables to IDMSBUF, IDMSINT, IDMSRUS,
VMACIDMS IDMSTAS, and IMDSTAW.
Sep 22, 1997
Thanks to Terry Heim, ECOLAB, USA.
Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS.
Change 15.217 The default SMF TYPE in all IMAC members is normally the
IMACDALO the impossible value of 512 (so that JCLTEST6 does not
IMACENDV try to read the wrong record type), but these three IMAC
IMACSVCC members had values left over from testing; all are now
Sep 20, 1997 set to the 512 default value.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.216 DB2 Trace SMF type 102 Subtype 140 INPUT STATEMENT
VMAC102 EXCEEDED if there was no SQL text in the Audit record.
Sep 19, 1997 between NRSQLSEG=CEIL(( .... and DO SEGSQLT=1...
insert IF QW0140LL GE 2 THEN
so that the loop is only executed when there's text.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.215 IXFP records, MXG 15.02-MXG 15.04 only. A line was
VMACICE dropped by change 15.134, causing zero observations
Sep 16, 1997 for subtypes 2, 3, and 4 (datasets ICEBRGCH,DV,DR).
In the DO group for subtypes 1 thru 4, between the
INPUT of ICEVERS and COLLID, insert a line with +2
to skip over the two reserved bytes that were dropped
when ICEVERS's input was added by Change 15.133.
Thanks to Angela Mulcahey, Summit Bank, USA.
Change 15.214 MXG 15.01-MXG 15.04. Variable PCTMVSBY in TYPE70 is
ACHAP10 wrong. The new algorithm used by MXG in Change 15.023
VMAC7072 should only have been used for Wait Completion = Yes,
Sep 16, 1997 and although I think it is a better way to look at the
Sep 20, 1997 MVS busy time for WC=Yes, I decided to revert back to
match IBM's number while I do more research on the whole
subject of PR/SM, MDF, and MLPF instrumentation.
-Member ACHAP10, the MXG Chapter on Processor Utilization
has been revised to describe how PR/SM, MDF, and MLPF
can be measured, and includes description of how IBM
calculates PCTCPUBY and PCTMVSBY and PCTLnBY on their RMF
CPU Activity and Partition Data Reports. Numeric values
for Dedicated, Shared Wait=Yes, and Shared Wait=No LCPUs
are now provided. This article will be in the next MXG
Technical Newsletter and was posted to MXG-L Listserv.
-The test IF CPUWAIT GT 0 THEN DO; ... END; was removed
because CPUEFFTM and PCTMVSBY/PCTCPUBY were missing if an
LPAR was 100% busy in all LCPUS (the case noted was a
single LPAR); the test was unneeded because the block of
code is already inside the LPAR processing section.
-Calculation of PCTCPUBY and PCTMVSBY in TYPE70PR dataset
is made only in the TYPE70PR observation for the LPAR in
which that MVS System executed, because only that LPAR's
TYPE70PR observations knows what ORIGWAIT, the MVS Wait
time, was recorded for that LPAR's LCPUs. They will be
missing in TYPE70PR observations for other LPARs in that
type 70 record.
-Added variable NEWWAIT to TYPE70PR. NEWWAIT contains
the "wait" time that was actually added to CPUWAIT for
the calculation of CPUACTTM=CPUUPTM-CPUWAITM and for
the calculation of PCTCPUBY in TYPE70 dataset. This new
field may be useful to some sites with Dedicated or
Wait Completion=Yes to match some RMF calculations.
Thanks to Carl Downing, Blue Cross Blue Shield of Minnesota, USA.
Thanks to Jan Tits, Amdahl, BELGIUM.
Change 15.213 Support for type 91 SMF record new subtype 21, written by
EXTY9121 SMARTBATCH at data set close for each VSAM or non-VSAM
IMAC91 data set processed by the Data Accelerator component.
VMAC91 New MXG dataset TYPE9121 contains a wealth of statistics
Sep 12, 1997 and activity information for this new component.
Took real vacation to celebrate Judy and her twin's 50th birthday!
Change 15.212 Values for R744SSIZ (Structure Size) are now in 4096 byte
VMAC74 units, rather than the 4000 byte unit discussed in Change
Sep 3, 1997 14.328, probably beginning with OS/390 Release 1.2, so
the three lines multiplied by 4000 are now by 4096.
Note that R744SSIZ rather than R744QSIZ is used by RMF in
its reports as the allocated structure size.
Thanks to Tim VanderHoek, Fidelity Systems Company, USA.
Change 15.211 Candle's CL-Supersession PTF QLG1073 (Y2K support) sets
VMACNAF a value of yyyydddF (instead of 0cyydddF) for SMFSTAMP8
Sep 4, 1997 fields, causing 1997 dates to be in year 3897! While
Sep 26, 1997 Candle's choice is not illegal, SAS's SMFSTAMP8 informat
expected IBM's documented century-bit format, so it used
that first byte as the number of centuries after 1900.
While SAS has agreed to change their SMFSTAMP8 format to
support both yyyydddF and 0cyydddF formats, that fix
won't be available on all platforms until next year,
and as Candle's PTF creates the problem today, all 15
internal timestamps in VMACNAF are now protected by:
CENT=FLOOR(YEAR(DATEPART(datetime))/100);
IF CENT GE 38 THEN
datetime=datetime-59958230400+(CENT-38)*86400;
(The SMFTIME field in byte 3 of Candle's record was
not changed by their PTF, so it needed no protection!)
Update 26Sep97: Candle now says that if you put all of
these PTFs on: QLS1303,1304,1305,1306,1307,1308,1310 and
QLV1465, that their dates will conform to IBM's use of
the century bit.
Thanks to Joe Faska, Depository Trust, USA.
Change 15.210 Replaced by Change 15.218.
Change 15.209 MXG 15.04 only. TRNDTALO fails if TREND.TRNDTALO does
TRNDTALO not exist in your TREND library. Add the statement
Sep 2, 1997 OPTIONS NODSNFERR NOVNFERR; at the beginning of the
member to correct. Note that if you were previously
creating the TRNDTALO member, the new code did not
fail, so only first-time users of TRNDTALO got hit.
Note also that TRNDTALO requires that ASUMTALO be in
your WEEK library, so you will need to update your
WEEKBLD to propagate ASUMTALO before you can use the
trending in TRNDTALO.
Change 15.208 Cosmetic: comments /* _Lxxyyyy OUTPUTS TYPExxxx */
EXVMADSM are after each %INCLUDE SOURCLIB(EXxxyyyy); statement
VMACNTSM name the default MXG dataset for each _Lxxyyyy macro, to
VMAC80A make the MXG source code documentation, but seven new
VMAC99 datasets had wrong names or no comment. I block copy and
VMACSVCC revise when I can, but sometimes I overlook the comments.
Aug 31, 1997 But Freddie's sophisticated analysis of my source code
uncovered seven inconsistencies in MXG 15.04, and I plan
to add his QA to my QA before I build the next version!
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 15.207 CA-1/TMS 5.2 Change 15.199 had one incorrect new variable
VMACTMS5 DEFEXPOO. The second occurrence in the KEEP, LABEL, and
Aug 30, 1997 assignment should have been NRESTAPE.
Thanks to Freddie Arie, Lone Star Gas, USA.
===Changes thru 15.206 were included in MXG 15.04 dated Sep 01, 1997===
===Changes thru 15.206 were published in MXG NEWSLETTER THIRTY-TWO=====
Change 15.206 NPM dataset NPMINPMT contained accumulated fields that
DIFF28 were deaccumulated inside VMAC28, but when SMF data was
TYPE28 sorted before MXG processing, wrong results occurred!
VMAC28 In addition, not all variables were deaccumulated that
Aug 28, 1997 should have been. This change adds new member DIFF28
that externally and correctly deaccumulates NPMINPMT.
DIFF28 is included by member TYPE28, but if you have
added type 28 processing to your BUILDPDB, then you must
add the statement %INCLUDE SOURCLIB(DIFF28);
in member EXPDBOUT to properly deaccumulate NPMINPMT.
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 15.205 Alternative CICS Summarization, especially for MRO.
ANALUOW -Member ASUMUOW combines all of the pieces of CICS MRO
ASUMCICX transaction (i.e., TOR, AOR, and FOR records for the
ASUMUOW same Unit-of-Work are combined, and the correct TRANNAME
IMACCICS is picked up), and (if the transaction called DB2) also
TRNDCICX merges in all of the DB2ACCT records to create dataset
Aug 28, 1997 PDB.ASUMUOW that gives a complete picture of each CICS
unit-of-work. This revision to ASUMUOW adds CICS wait
durations/counts to PDB.ASUMUOW so you can determine the
cause of poor CICS reponse time.
-Member ANALUOW is a parameter driven report to examine
why CICS transactions were delayed, using PDB.ASUMUOW.
-Member ASUMCICX is an alternative summary member, like
ASUMCICS to create dataset PDB.CICS, but member ASUMCICX
will use dataset PDB.ASUMUOW as its input, and also keeps
the wait durations/counts.
-Member TRNDCICX is an alternative trending member, like
TRNDCICS, but it keeps the wait durations/counts.
If you have CICS MRO and/or CICS talking to DB2, you
should change the %INCLUDE SOURCLIB(ASUMCICS) in your
BUILDPDB job to %INCLUDE SOURCLIB(ASUMUOW,ASUMCICX) so as
to build both PDB.ASUMUOW and the enhanced PDB.CICS.
The JCLPDB6 example has been updated to build both.
The example macro _KCICTRN in member IMACCICS that keeps
only the variables needed by ASUMCICS has been revised
to keep the original ASUMCICS set or the new ASUMCICX
set of variables, to reduce the size of CICSTRAN.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.204 Tape Capacity Planning graphs based on TREND database
GRAFTAPE and MXG ASMTAPES tape allocation and trending records,
Aug 27, 1997 and also the HSC and LSM data from an STK silo.
If you saw Chuck's paper at CMG94, this is the code that
generated those graphs.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.203 Trending of NTSMF's NTINTRV dataset creates summarized
TRNDNTIN TREND.TRNDNTIM for long term trending of NTSMF systems
Aug 27, 1997 with minimal storage required.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.202 Enhanced measurement of Tape Allocation uses the Interval
TRNDTALO Allocation record created by ASMTAPES at ML-13, MXG 15.02
Aug 27, 1997 or later, so you must have installed ML-13 before you can
use this enhancement. The interval record eliminates any
undercounting of devices still allocated and improves the
accuracy of tape allocation counting.
TRNDTALO assumes you have created WEEK.ASUMTALO in your
WEEKBLD/WEEKBLDT member from your daily PDB.ASUMTALO data
sets; you will need to add the data step in your weekly.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.201 Related members in a way.
ASUMCACH ASUMCACH creates the union of the TYPE74_1 and TYPE74_5
ANALEMC data (device level and cache reporter). This is useful
EMCRANK in figuring out problems in the IO subsystem but it will
EMCMAP also be part of the "I/O Stimulator" that will generate
Aug 27, 1997 control cards for Stress Test based on your RMF data.
ANALEMC takes the ASUMCACH data and carries it a step
closer to the hardware by using a series of formats to
map the logical to the physical in an EMC world. It will
also do this for Spectris and HDS 7700 boxes but no
formats are required. It creates datasets RANK, RAIDVOL,
EMCMAP, and VOLUMES. Each is a slightly different level
of summarization except for EMCMAP which is used to apply
labels to graphs with the annotate facility of SAS/GRAPH.
EMCRANK and EMCMAP use the output of ANALEMC to build
graphs of the performance of EMC boxes. This is a grid
8*12 where each box represents on physical SCSI disk
on the inside of the box. Each box contains the VOLSER,
RANK, and DEVNR of the logical MVS volumes and EMCRANK
applies colors to represent IO rates. EMCMAP leaves all
of the boxes empty of everything except text to make the
text a little easier to read. Find the line that says if
text=:'EM' then color='ORANGE'; This is used to alter the
color of the text. In this code, volumes that contain no
data start with EM in the VOLSER. Making those volumes
ORANGE makes them stand out and is a quick visual
indicator of available capacity.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.200 Support for Peregrine's Service Center SMF record creates
EXTYSVCC new dataset TYPESVCC with one set of variables and two
IMACSVCC subtypes, which can be identified by variable SVCCTYPE:
TYPESVCC SVCCTYPE Description
VMACSVCC 1 Service Center Statistics
Aug 27, 1997 2 Service Center User Termination
Thanks to Chuck Hopf, MBNA, USA.
Change 15.199 Support for CA-1 aka TMS Release 5.2 (COMPATIBLE) adds
TYPETMS5 new flag variables to both DSNB and Volume records:
VMACTMS5 Dataset TMSREC:
Aug 25, 1997 Variable Description
ADDLFILS='ADDITIONAL*FILES*EXIST IN*VOLSET?'
COPYCAT ='CREATED*BY*COPYCAT?'
DEFEXPOO='DEFAULT*EXPDT*USED AT OPEN*OUTPUT?'
DEFEXPOO='NON*RESIDENT*TAPE?'
DEGAUSSD='TAPE*HAS BEEN*DEGAUSSED?'
EMVREL ='RELEASED*BY EXTERNAL VAULT*MANAGER?'
ERASEREQ='DATASET*ERASE*REQUIRED?'
FILEISCA='FILE*ON OS*CATALOG?'
SMSEXPIR='EXPIRED*BY SMS*MAX RETENTION?'
VAULTREQ='VAULT*SPECIFIC*REQUEST?'
VOLACTV ='ACTUAL*VOLSER*IN USE?'
Dataset DSNBREC:
Variable Description
DSNBABND='CLOSED* BY ABEND*PROCESS?'
DSNBDFXU='DEFAULT*EXPDT*USED?'
DSNBECAT='EXPIRED* BY CATLG*INTERFACE?'
DSNBISCA='FILE IS*ON OS*CATALOG?'
DSNBLBL ='B1*SECURITY*LABEL?'
DSNBTMSI='EXPIRED* BY TMS*INTERFACE?'
DSNBWSCA='FILE WAS*ON OS*CATALOG?'
The Release 5.2 data records show that TMS julian
dates in year 2000 are supported. The 311th day
in year 2000 will have julian data of 100311.
Thanks to Xiaobo Zhang, Insurance Services Office, Inc, USA.
Change 15.198 CICS reports were updated to add new data step for CICLDR
ANALCISH processing to calculate the "average fetch time" where
Aug 25, 1997 previously the "total fetch time" was printed.
Thanks to ???, ???, USA.
Change 15.197 ACF2 dataset ACF2JR did not populate variable ACLFLDVL
VMACACF2 if ACLARCFL=02x, because that field type had not been
Aug 24, 1997 previously seen. The data value is a hex string rather
than the EBCDIC characters normally stored in ACLFLDVL,
but rather than creating yet another variable for the
hex representation, I chose to use ACFLLDVL, but to
convert it to the printable-hex value using:
SUBSTR(ACLFLDVL,1,2*ACLFLDLG)=PUT(ACLFLDVL,$HEX100.);
so the three-byte data value of '010203'x in the ACF2
record will cause ACLFLDVL to contain six bytes 010203
as printable characters.
Thanks to Peter J. Lines, NatWest Bank, ENGLAND.
Change 15.196 New utility old-style MACRO _SMFGOOD defined in VMACSMF
VMACSMF was needed to read an SMF tape with truncated records at
Aug 24, 1997 the end of each block followed by a trashed record at the
start of the next block. As an example of its use:
MACRO STOPOVER MISSOVER %
%INCLUDE SOURCLIB(VMACSMF,VMAC80A);
DATA _VAR80A; _SMFGOOD ; _SMF ; _CDE80A ; RUN;
deletes the trashed records and prevents invalid-smftime
error messages and hex record dumps from being printed,
while the MISSOVER prevents input-statement-exceeded
errors from causing stopover on the truncated records.
At the same time, variable SMFRECNR is now created in the
_SMF macro, so it can be added to a _Kxxxyyy macro if you
need to know which SMF record created an observation.
Very few users will need to use these enhancements!
Change 15.195 Support for ObjectStar 3.0 SMF record. While the record
VMACHURN changes themselves were compatibly made, you must change
Aug 23, 1997 VMACHURN to read them. Change IF SMFHVR EQ 02X THEN DO;
Aug 26, 1997 to read IF SMFHVR LT 02X THEN DO; and MXG will tolerate
(i.e., process the records correctly) Version 3.0, but to
exploit (i.e., pick up the new fields) you will need this
change.
New dataset HURN06 Lock Manager Statistics is created for
both subtype 22 (Interval) and subtype 6 (Termination)
as both records are identical in structure.
New fields were added to existing datasets:
Control Region Start Time variables HU50CRTM, HU51CRTM
HU52CRTM HU60CRTM HU61CRTM HU62CRTM and HU72CRTM are
added to HURN501 HURN511 HURN521 HURN601 HURN611
HURN621 and HURN721 datasets.
Control Region Session Identifier variables HU60UNQI
HU61UNQI HU62UNQI HU72UNQI are added to HURN602
HURN612 HURN622 and HURN722 datasets.
Thanks to Trevor Ede, Bank of New Zealand Ltd, NEW ZEALAND
Thanks to Glenn Bowman, Wakefern Food Corporation, USA.
Change 15.194 The MXG default for MEMSIZE was raised to 64M (from 48M)
CONFIG because if you add lots of additional record processing
Aug 22, 1997 (DMON,ENDV,FOCU,HSM,IDMS,28,NSPY,NTCP,PROS,80A,SASU,
STC,SYNC, and X37, for example!), you will need slightly
more than 48M of virtual addressability. Since there is
no cost to large virtual storage limit for programs that
do not need it, changing the MXG Maximum Default may save
someone diagnostic time to resolve OUT OF MEMORY errors.
The symptoms were that the IEF374I message on SYSLOG had:
VIRT = 1572K SYS = 308K EXT = 47316K SYS=10768K
the EXT value suggested a 48M limit was set somewhere!
Why 64M? Why not 80M? No good reason.
-z/OS 1.12 message IEF032I/33I replaced IEF374I/276I.
Thanks to Susan Walters, Michelin Tires, USA.
Change 15.193 Another invalid '04' Catalog Cell requires protection.
VMAC6156 Add the IF SKIP GE 2 THEN DO; and END; statements
VMACCTLG around the two statements to end up with:
Aug 22, 1997 IF SKIP GE 2 THEN DO;
INPUT VOLHKYLN &PIB.2. @;
SKIP=SKIP-2;
END;
The '04' cell had nulls for VOLSER, and only had a low
key range; the high key range was non-existent.
Thanks to Dave Millard, Southern California Edison, USA.
Change 15.192 Support for HMF SMF record Subtype 11 (DS3 Statistics)
DIFFHMF adds new dataset TYPEHMFB, with 44 counter and endpoint
EXTYHMFB values for each link (HMFBUSNO) during each polled
IMACHMF interval. Since the HMF counters are accumulated, the
VMACHMF dataset TYPEHMFB must be de-accumulated by logic added
Aug 21, 1997 to DIFFHMF. Sep 2 update: all non-endpoint counters
Sep 2, 1997 are protected for wrapping.
Thanks to Anne Robbins, Bank of New York, USA.
Change 15.191 ANALDB2R fails with ERROR 31-185 if the SORTBY list did
ANALDB2R not contain PLAN. The error was because variable PACKID
Aug 19, 1997 was not initialized as character; as long as PLAN was in
the SORTBY list, PACKID's definition was picked up by the
assignment IF ... THEN PACKID=PLAN; but that statement
was not generated when SORTBY did not list PLAN.
To correct: Find %MACRO PMACC02; and then find
RETAIN PAGENUM; (about 957 lines later) and then insert
LENGTH PACKID $18; after that RETAIN statement.
Thanks to John Shuck, SunTrust Companies, USA.
Change 15.190 Support for 5 new NTSMF Objects, validation of untested
ADOCNTSM objects and some new counters, and utility for Discovery
EXNTCNME Records.
EXNTFULC -Five new NTSMF Objects create six new datasets:
EXNTPEP5 Dataset Object Name
ENNTSNAA CONECTME Connect-ME
EXNTSNAC FULCRUM Fulcrum Server
EXNTWBSS SNAADAPT SNA ADAPTER SNAD1c1
IMACNTSM SNACONN SNA Connections
VMACNTSM WEBPRSRV WEB Proxy Server Service
Aug 19, 1997 PENTP5 PENTIUM (see next note)
Aug 25, 1997 -Two forms of the PENTIUM object exist. For PENTIUM PRO P6
processors, the record contains the expected 68 fields to
output in the PENTIUM dataset, but for PENTIUM P5, there
there are only 58 fields, with completely different field
names, so the new PENTP5 dataset is now created from
PENTIUM objects with only 58 fields. Instead of sensible
variable names, variables PENTP501-PENTP548 are created
(its a lot quicker, and I expect little need for these
counters); there are only 48 variables because ten of the
fields are place-holders.
Mark has discovered that for either Pentium object, only
two pairs of Pentium counters can be enabled at a time,
and the counter values are accumulated so that you will
need to subtract adjacent observations to calculate the
delta using SAS's DIF() function until MXG provides a
de-accumulation member, but this support is probably all
that is needed for this hardware-level data.
-Five untested NTSMF records have been validated; three
have instance names (cannot tell without test data, as
the Discovery records do not identify instances):
Dataset Object Name Instance
MSEXCHIP MSEXCHANGE INTERNET PROTOCOLS PROTNAME
MSEXCHIS MSEXCHANGEIS 3 new vars
MSEXCHMC MSEACHANGEMTA CONNECTIONS CONNNAME
MSEXCHPU MSEXCHANGEIS PUBLIC 35 new vars
NETWSEGM NETWORK SEGMENT SEGMNAME
-The new utility macro, _UNTDISC, that can be used to
print the Discovery records, is defined in VMACNTSM,
and comments before the MACRO definition show how to
use the utility to find new counters and new objects.
-In Microsoft's NT Resource Kit, there is a utility
\PerfTool\CntrTool\Cntrlist.exe that will provide detail
explain text for all counters; unfortunately it does not
always work in decoding new objects and has been known to
abend, and Microsoft does not support their ResKit, but
now you know it is there.
Thanks to Jim Quigley, Consolidated Edison, USA.
Change 15.189 Support for new ADSM VM Account Records from VM/ESA.
IMACVM New dataset VMADSM matches the TYPE42AD dataset created
TYPEVM from type 42 subtype 14 SMF records on OS/390 and MVS.
VMAC42 While MVS puts the data in one SMF record, VM Accounting,
Aug 15, 1997 forever limited to an 80 byte physical card image record,
has broken new ground by defining subtype and sequence
numbers so that more than 80 bytes can be recorded for an
account event. The subtype 1 and subtype 2 of the 'C0'
must be found in sequence in the VM Accounting input, or
MXG will Delete with Error Message. Since Multiple User
products can create 'C0' VM Accounting Records, the User
ID Name of the ADSM Server must be hardcoded in TYPEVM;
MXG expects the name to start with DSMSERV or records
will not be recognized by MXG as ADSM-created. The new
variable CLSESTYP is now created also in TYPE42AD; that
location was a reserved field in original ADSM SMF doc.
VM also creates a subtype 3 ADSM record, but I need test
data to decode and validate that record.
I took this opportunity to update the VM Accounting
Support in MXG; the _KVMxxxx macros defined in IMACACCT
are now actually referenced in the TYPEVM Data Statement
and labels for the data sets were clarified:
VMID Dataset Description
01/C1 VMSESSN Virtual Machine Resource Usage
02/C2 none Dedicated Devices
03/C3 none Temporary Disk Space
04 VMLOGON Invalid LOGON Password
05 VMDISK LINK to Not-Owned Protected Disk
06 VMLINK Invalid LINK Password
07 VMVCNA SNA/CCS Logoff/Disconnect
08 VMLOGOFF User Logoff/Disconnect/Shutdown/Force
09 none ACNT ALL - ISFC Accounting
ISFC Initialization ISFI Accounting
ISFC Conversation Accounting
ISFS - Conversation Start
ISFA - Conversation Active
ISFE - Conversation End
ISFC Link Statistics ISFL
ISFC Termination Accounting ISFT
0B VMDEVICE Virtual Disk in Storage
C0 VMADSM USER=:DSMSERV ADSM Accounting
VMRSCS USER=:RSCS RSCS Accounting
VMSQLxxx USER=:SQLDBA SQL Accounting
VMSQLINI SQL INIT
VMSQLSYS SQL SYSTEM
VMSQLTRM SQL TERM
VMSQLUSR SQL LOCAL USER
VMSQLRMT SQL REMOTE USER
VMUSRDAT USER=other USER Data
The datasets listed as "none" will be created when test
data is provided. The VM/ESA Account records still do
not contain four-digit years (except in new ADSM record)
but MXG's Change 15.167 does protect VM Account Records
for the year 2000.
Note: CHANGE 28.157 Added Support for the 09 record.
Thanks to Ned Hammond, American Management Systems, USA.
Change 15.188 OPC 3.1 dataset OPC31 had bad values in some variables
VMACOPC because 19 reserved bytes after ETCNAME were not skipped.
Aug 15, 1997 -Insert +19 between ETCNAME and ETCDESC to correct.
-Dataset OPC23 only had obs for TRLEVT23='C' (Completed)
or 'E' (Error). Now, events 'S' (Start) and 'X' (Reset)
are also output, but date variable TRLDUR23 is nonmissing
only for the 'C' and 'E' events.
-Invalid OPC29 records have been observed, but are thought
to be an IBM problem, which is under investigation.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 15.187 CMF. Variable C279SSI in dataset CMF27C93 was INPUT as
VMACCMF &PIB.2., while variable C279CSSI in dataset CMF27CSC was
Aug 7, 1997 INPUT as $CHAR2., but both variables are Subsystem ID,
Aug 28, 1997 and should be the same so they can be MERGED. Therefore
add variable C279SSI to the $HEX4. format list, and
change C279SSI &PIB.2. to C279SSI $CHAR2.
-Aug 28: New variable C279DDIC is created by adding the
Base address to the Device ID and converting to character
so that new variable C279DDIC matches CMF27UA1 in the
CMF27CSC dataset, because merging datasets CMF27CSC and
CSC27C93 must be done BY both SSI and DDI.
C279DDIC=SUBSTR(PUT(INPUT(CMF27CCU,S370FPIB2.)+
INPUT(C279DDI,S370FPIB1.),HEX8.),5,4);
Thanks to Neil Ervin, Banc One Services Corporation, USA.
Change 15.186 STK 4400 SMF records. STCLMU dataset character variables
VMACSTC LSBECON1 and LSBECON2 were $CHAR6 fields, but are now
Aug 6, 1997 replaced with four variables:
LSBELSM1='PASSTHRU*PORT 1*CONNECTED TO*LSM'
LSBEPAN1='PASSTHRU*PORT 1*CONNECTED TO*PANEL;
LSBELSM2='PASSTHRU*PORT 2*CONNECTED TO*LSM'
LSBEPAN2='PASSTHRU*PORT 2*CONNECTED TO*PANEL'
Thanks to Bob Gauthier, American Stores Company, USA.
Thanks to Bruce Sloss, PNC Financial Corporation, USA.
Change 15.185 ACF/VTAM. Type 50 produced zero observations because the
VMAC50 records are now greater than 78 bytes (although I still
Aug 6, 1997 can find no documentation of the IBM change). The test
LENGTH EQ 78+OFFSMF must be LENGTH GE 78+OFFSMF. Also,
variable NCPSLOWS may be defective, as it has values of
zero or 7FFFFFFx (which I am also pursuing with IBM).
Note added Sep 30: It is not possible to distinguish
between an XCF MPC Group Record and a non-XCF MPC Group
record using ATTCHTYP or VERSNO, but for an XCF MPC
Group record, both DEV and BSIZE will be zero, while for
a non-XCF MPC Group record, at least one will be nonzero.
Thanks to Bill Feeney, Hennepin County, USA.
Change 15.184 TMON/DB2. Change 15.114 did not properly handle the "DE"
VMACTMDB record, which only has part of the standard header. Also
Aug 6, 1997 the dates input with MMDDYY informat were changed to use
&NUM.2 so that VMACTMDB will correctly execute under
ASCII systems as well as under MVS.
Thanks to Luc Gariepy, Regie des rentes du Quebec, CANADA
Change 15.183 Dataset TYPE72GO could have observations OUTPUT that had
VMAC7072 no resource consumption for that period, because the MXG
Aug 4, 1997 variable NOACTVTY was not reset to 0 for the second and
subsequent periods within a Service Class. The new test
for _I_ GE 2 was added to zero NOACTVTY (which is then
used in EXTY72GO to control execution of the OUTPUT):
DO _I_=1 TO NRSCS;
IF _I_ GE 2 THEN NOACTVTY=0;
INPUT @COLSCS
Thanks to Ove Dall-Hansen, CODAN Insurance, DENMARK.
Change 15.182 Variable VELOCITY in TYPE72GO was wrong for service class
VMAC7072 periods with Discretionary or System goals; the value was
Aug 4, 1997 carried forward from prior periods. Since neither System
nor Discretionary goals have velocity, the variable is
now set missing with:
ELSE IF R723CRGF='S' OR R723CRGF='D' THEN DO;
PERFINDX=.;
END;
Thanks to Brenda Rabinowitz,
Change 15.181 INVALID ARGUMENT TO FUNCTION INPUT in BETA93 SMF record
VMACBETA is caused by a value of '*RELOAD*' in the JCTJOBID field
Aug 4, 1997 from which MXG extracts the job's JES Number JESNR, for
the BETA93 RELOAD step. Adding two question marks:
JESNR=INPUT(SUBSTR(JCTJOBID,4,5), ?? 5.);
to the INPUT function supresses the NOTE and the hex dump
of the input record. With or without the question-mark
modifiers, JESNR will be a missing value.
Thanks to Winfried Waldeyer, BHF-Bank Frankfurt, GERMANY.
Change 15.180 SAS Compiler Error under Windows 95 and Windows NT when
VMACVMON old-style macro has text in column 1 is circumvented in
VMACVMXA MXG by ensuring a blank is in column one in the MXG code
VMACXAM members that worked under MVS but failed under Windows.
ANALDBTR This error was seen long ago, when initially testing MXG
Aug 3, 1997 on ASCII platforms; it showed up now as I began testing
of all of MXG under Windows. The symptom was a SAS error
message "Variable ACTIVEDSVMAXUS longer than 8 bytes",
(even though ACTIVE and DVSMAXUS were on separate source
lines), but the variable names are in an old-style macro
and the variable name started in column one! Inserting a
blank in column eliminates the compiler's confusion in
these members previously untested on ASCII platforms.
Change 15.179 -Boole & Babbage MainView for CICS (was CICS Manager) will
IMACICBB support the year 2000 in MV for CICS Release 5.2. Their
YEAR2000 date yymmdd0F will be changed INCOMPATIBLY to yyyymmdd,
Aug 1, 1997 so you will need MXG 15.04 or later before you install
that release (late 1997?), if you have enabled IMACICBB
to process their statistics segments in type 110 SMF
records. MXG tests the 0F byte to determine the format.
-Boole & Babbage MainView for IMS (was IMF) will support
the year 2000 in Release 3.2, using yyyydddF format in
place of 00yydddF, but MXG already supported that format
so there was no MXG change to TYPECIMS code.
-Boole informed me that CONTROL-D is a New Dimension Co
product (although it is marketed by Boole in Europe), so
I have updated that product, as well as Boole's products
in member YEAR2000.
Thanks to whoever told Boole marketing about YEAR2000 on www.MXG.com!
Change 15.178 Example macro definitions for _KCICTRN that will keep
IMACCICS only CICSTRAN variables that are needed for ASUMCICS or
Aug 1, 1997 ASUMUOW have been added to member IMACCICS (although they
are commented out). See CICS Technical Note in MXG
Newsletter THIRTY-TWO or comments in IMACCICS itself.
Thanks to Mark Cohen, DTS, ITALY.
Change 15.177 -Typos: after DDD=MOD(MVLCDATE ... change IF 0 LE DDD to
VMACEDGS IF 0 LT DDD. Remove the second occurrence of MVEXPDT in
Aug 1, 1997 the FORMAT statement.
-Logic change. DFSMS/rmm variables MVEXPDT and MKDELDAT
can have value 1999366 as a "never expire" date, but that
is an invalid SAS date. MXG's DCOLLECT algorithm is now
used for these values, and the date is set to the future
date in year 2099 (and the original value is available in
character variable MVEXPDTO for MVEXPDT, although there
is no corresponding character variable for MKDELDAT):
IF DDD GT 366 OR (YY=99 AND DDD GE 365) THEN DO;
MVEXPDT='31DEC2099'D;
END;
Thanks to Peter Young, University of Toronto, CANADA.
Change 15.176 Invalid Catalog Cell '05'x caused INPUT STATEMENT EXCEED
VMACCTLG error. The cell began at byte 279, with Length of Cell
VMAC6156 '2E'x (46) bytes, and at byte 284 the count of four-byte
Aug 1, 1997 segments following is '5C'x (92), so MXG attempted to
read 92*4=368 bytes of GAT segments, but there were only
40 bytes left in the record. To circumvent this IBM
error, MXG had to add code to validate that the number of
segments is consistent with the cell length:
Change DO _I_=1 TO GATCNT;
to IF GATCNG*4 LE SKIP THEN DO _I_=1 TO GATCNT;
and after the END; statement for that DO group, insert:
ELSE DO;
INPUT +SKIP @;
SKIP=0;
NB615605+1;
IF NB615605=1 THEN DO;
PUT // ' *** INVALID CATALOG CELL 05 SKIPPED.'/
_N_= SMFTYPE= SYSTEM= JOB= LENTHIS= GATCNT= COL= ;
LIST;
END;
END;
Thanks to Shana Bereznay, Southern California Edison, USA
Change 15.175 CICS formats $MGCICDL and $MGCICDS that decode variables
FORMATS LDGDSAIN, SMDDSAIN, SMSDSAIN, and SMTDSAIN printed trash
Jul 29, 1997 because the syntax 01X= was used (a numeric hex value)
instead of the '01'X syntax that is needed for character
values. SAS could not raise an error condition, because
(due to legacy considerations) both quoted and unquoted
strings are valid syntax. Adding quotes corrects.
Thanks to Larry Gray, Lowe's Companies, Inc, USA.
Change 15.174 Using ANALCNCR with an INTERVAL greater than 24 hours
ANALCNCR produced valid results, but cause a very large number of
Jul 29, 1997 unnecessary observations to be created in the work file,
because SYNCINTV=YES was set by default. Now, the large
interval value will be recognized and SYNCINTV=NO will be
forced (and a note to that effect printed on the log).
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 15.173 A question on MXG-L concerning how to merge DB2 Trace
ANALDBTR records with DB2ACCT and CICSTRAN data has resulted in
Jul 29, 1997 an new example program in member ANALDBXX. The example
uses ANALDBTR, but an new options, UOWSORT, had to be
created in ANALDBTR. UOWSORT=YES causes variables
NETSNAME and UOWTIME to be kept in all dataset pairs
created by ANALDBTR, and also causes those variables to
be added to the BY list in each sort. This example will
likely become a new option in ANALDB2R in the future,
but this working example is provided for use now.
Member ANALDBXX removed when ANALDB2R was updated.
Thanks to Michael Frey, COMLAB GmbH, GERMANY.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.172 Support for Xerox's XPSM Version 2 (Xerox Print Services
VMACXPSM Manager) Host Accounting Record (INCOMPATIBLE). The new
ZMACXPSM record is a complete restructure of the original record,
Jul 29, 1997 but contains much new and useful information if you are
using XPSM. Among the major additions are:
- The record now contains all fields in IBM's type 6
record for PSF, and MXG uses the same variable names
that you know from TYPE6 processing
- Unlike IBM's type 6, the XPSM V2 record contains the
Account Fields from the Job card, plus a "Department
Account", so it is not necessary to merge TYPEXPSM
with type 30 data to charge back XPSM printing, and
you can account for jobs printed after the job purge
record has been created (e.g., output sent to remote
print servers).
- Repeated segments contains multiple names of Forms,
Overlays, Fonts, Images, Templates, and Colors.
MXG keeps first eight values (three for colors).
- Printer setup names JDL and JDE used.
- Remote Server section provides timestamps of begin and
end of transmission and begin/end of printing.
- MVS Host CPU time (TCB,SRB,RCT,IPT,HPT) are captured.
- MVS I/O SSCH counts and spool size for each DASD and
Printer device used are available, although MXG has
only implemented capture of the totals (a dataset for
each DD will be implemented when requested).
- CPU of cost of data stream transformation (eg, LCDS to
PCL) is captured.
- Outage and change of state information is provided.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 15.171 HSM dataset DGN's variable DGNDCL was blank because the
JCLHSM INPUT DGNDCI should have been INPUT DGNDCL. Several
VMXGHSM non-existent variables were removed from the KEEP= list
Jul 28, 1997 for datasets MCP and DGN. The now-nonexistent option
DQUOTE was removed from JCLHSM. The %VMXGHALL macro
used in the MXG QA job, was updated so that all of the
HSM datasets are created; this accounts for new datasets
BCR, BVR, DCL, DCR, DGN, MCB, MCC, MCM, MCP, MCPDGN, and
MCT now being listed in member DOCVER.
Thanks to Peter Young, University of Toronto, CANADA.
Change 15.170 Support for OS/390 Version 2 Release 4.
VMAC1415 -TYPE1415: Variables PROGRAM and STEPNAME were added:
VMAC26J2 (MXG's ANALDSET, which is still needed to correctly de-
VMAC30 accumulate EXCP counts from 14/15's has always picked up
EXTY4237 PROGRAM and STEPNAME, but having them directly in these
IMAC42 records is long overdue!).
VMAC71 -TYPE26J2: New workload management section added:
VMAC7072 JOBMODE0='JOB RAN*IN*MODE=WLM?'
VMAC42 JOBMODE1='JOB RAN*BECAUSE*OF $S J?'
VMAC74 SMF26WCL='SERVICE*CLASS AT*EXECUTION'
Jul 23, 1997 SMF26WIN='JOB*INDICATORS'
SMF26WJC='JOB*CLASS'
SMF26WOC='ORIGINAL*SERVICE*CLASS'
SMF26WSE='SCHEDULING*ENVIRONMENT'
-TYPE30: datasets TYPE30_V, TYPE30_4, TYPE30_5 and
TYPE30_6 have important new data:
-New DASD-only Connect/Disconnect/Pending time plus
SSCH counts for ASID plus Dependent Enclaves and for
Independent Enclaves (added by OS/390 R1.3).
SMF30AIC='DASD CONNECT*ASID PLUS*DEPENDENT'
SMF30AID='DASD DISCONNECT*ASID PLUS*DEPENDENT'
SMF30AIS='DASD SSCH*ASID PLUS*DEPENDENT'
SMF30AIW='DASD PEND+CU*ASID PLUS*DEPENDENT'
SMF30EIC='DASD CONNECT*INDEPENDENT*ENCLAVES'
SMF30EID='DASD DISCONNECT*INDEPENDENT*ENCLAVES'
SMF30EIS='DASD SSCH*INDEPENDENT*ENCLAVES'
SMF30EIW='DASD PEND+CU*INDEPENDENT*ENCLAVES'
-CPU for Dependent Enclaves is recorded:
CPUDETTM='DEPENDENT*ENCLAVE*CPU TIME'
-Residency time in Page-Seconds in ESTORE was added,
but CSTORE residency is not (yet?) provided:
RESESFTM='ESTORE*RESIDENCY*PAGESECS'
-New Scheduling Environment (when WLM owns Initiators
and adds/drains INITs to meet Service Objectives!)
add several important durations and flags:
SMF30HQT='JOB*HOLD*TIME'
SMF30JQT='JOB*PREPARATION*TIME'
SMF30PFF='JOB INIT*WAS FORCED*BY OPERATOR?'
SMF30PFL='SCHEDULING*ENVIRONMENT*NAME'
SMF30PFR='SRVCLASS*WAS MODIFIED*DURING*EXECUTION?'
SMF30PRJ='SRVCLASS*WAS MODIFIED*PRIOR TO*INIT?'
SMF30RQT='INELIGIBLE*FOR*EXECUTION*TIME'
SMF30RTR='JOB*HAS*BEEN*RESTARTED?'
SMF30SQT='ELIGIBLE*FOR*EXECUTION*TIME'
-TYPE42: new subtype 9 creates new dataset TYPE4237
for every B37/D37/E37 (out of space) ABEND. The record
is useful for tracking these abends, but I have asked
for the record to be (optionally) written when datasets
are extended (so you could track those jobs/datasets that
are going to abend before they do!). Variables are:
DISP ='DISPOSITION'
DSNAME ='DATA SET NAME'
DSORG ='DSORG'
JOB ='JOB NAME*OR*TSO USER'
LOCLINFO='LOCAL*INSTALLATION*FIELD'
READTIME='READ-IN*OR LOGON*EVENT'
S42ABEND='S42FLAGS*B37 OR*D37 OR*E37?'
S42ADRLH='S42ADRLH*AVERAGE*BLOCK*LENGTH'
S42ASSAT='S42ASSAT*SECONDARY*ALLOCATION*AMOUNT'
S42ASYID='S42ASYID*SYSTEM*ID'
S42DCNME='S42DCNME*DATA*CLASS*NAME'
S42MCNME='S42MCNME*MANAGEMENT*CLASS*NAME'
S42NEXT ='S42NEXT*NUMBER OF*EXTENDS*THIS VOL'
S42SCNME='S42SCNME*STORAGE*CLASS*NAME'
S42TNTRK='S42TNTRK*TOTAL*TRACKS*THIS VOLUME'
S42UCBTP='S42UCBTP*UCB*TYPE'
STEPNR ='STEP*NUMBER'
VOLSER ='VOLUME*SERIAL*NUMBER'
-TYPE71: new counts of frames in CSTORE/ESTORE includes
available, and low/medium/high impact frames in memory:
CSFRAVMN='SMF71CAM*MIN*CSTORE*FRAMES*AVAILABLE'
CSFRAVMX='SMF71CAX*MAX*CSTORE*FRAMES*AVAILABLE'
CSFRAVAV='SMF71CAA*AVE*CSTORE*FRAMES*AVAILABLE'
CSFRLOMN='SMF71CLM*MIN*CSTORE*LOW IMPACT*FRAMES'
CSFRLOMX='SMF71CLX*MAX*CSTORE*LOW IMPACT*FRAMES'
CSFRLOAV='SMF71CLA*AVE*CSTORE*LOW IMPACT*FRAMES'
CSFRMEMN='SMF71CMM*MIN*CSTORE*MED IMPACT*FRAMES'
CSFRMEMX='SMF71CMX*MAX*CSTORE*MED IMPACT*FRAMES'
CSFRMEAV='SMF71CMA*AVE*CSTORE*MED IMPACT*FRAMES'
CSFRHIMN='SMF71CHM*MIN*CSTORE*HIGH IMPACT*FRAMES'
CSFRHIMX='SMF71CHX*MAX*CSTORE*HIGH IMPACT*FRAMES'
CSFRHIAV='SMF71CHA*AVE*CSTORE*HIGH IMPACT*FRAMES'
ESFRAVMN='SMF71EAM*MIN*ESTORE*FRAMES*AVAILABLE'
ESFRAVMX='SMF71EAX*MAX*ESTORE*FRAMES*AVAILABLE'
ESFRAVAV='SMF71EAA*AVE*ESTORE*FRAMES*AVAILABLE'
ESFRLOMN='SMF71ELM*MIN*ESTORE*LOW IMPACT*FRAMES'
ESFRLOMX='SMF71ELX*MAX*ESTORE*LOW IMPACT*FRAMES'
ESFRLOAV='SMF71ELA*AVE*ESTORE*LOW IMPACT*FRAMES'
ESFRMEAV='SMF71EMM*MIN*ESTORE*MED IMPACT*FRAMES'
ESFRMEMN='SMF71EMX*MAX*ESTORE*MED IMPACT*FRAMES'
ESFRMEMX='SMF71EMA*AVE*ESTORE*MED IMPACT*FRAMES'
ESFRHIMN='SMF71EHM*MIN*ESTORE*HIGH IMPACT*FRAMES'
ESFRHIMX='SMF71EHX*MAX*ESTORE*HIGH IMPACT*FRAMES'
ESFRHIAV='SMF71EHA*AVG*ESTORE*HIGH IMPACT*FRAMES'
Note of Sep 16, 1997: IBM will not publish the UIC
values that define High, Medium, or Low Impact,
because "the UIC ranges depend on whether the system
is in goal or compatibility mode and several OPT
settings. These are values that may change in the
future. The idea of reporting these buckets was
just to get a high level view of how much stress
there is on the system's storage."
-TYPE72: support for WLM Managed Initiators added new
total sample count that includes batch queue delays,
so the calculation of VALDSAMP now also includes any
batch queue delays; batch queue delay is measured as are
three components, and the DASD IOS Queue Time is also
measured in dataset TYPE72GO:
PCTDLTDQ='TOTAL*(INCLUDES BATCH)*DELAY*SAMPLES'
PCTEXTSA='TOTAL*EXECUTION*SAMPLES'
R723CDQT='TOTAL*BATCH*QUEUE*DELAY*TIME'
R723CADT='INELIGIBLE*AFFINITY*DELAY TIME'
R723CIQT='INELIGIBLE*OTHER RESOURCE*DELAY TIME'
R723CCVT='JCL*CONVERSION*DELAY TIME'
R723CIOT='DASD*IOS*QUEUE TIME'
And dataset TYPE72DL has one new variable:
R723RWNL='STATE WITH*WAIT FOR*NEW LATCH'
-TYPE74: Coupling Facility dataset TYPE74CF now has the
model, version and level information:
R744FMOD='COUPLING*FACILITY*MODEL'
R744FVER='COUPLING*FACILITY*VERSION'
R744VLVL='COUPLING*FACILITY*LEVEL'
An additional change to BUILDPDB to add the new hold
delays (from which TYPRUN=HOLD time can be calculated)
will be available in the next version of MXG.
Revised, Nov 11, 1998: Enhancements to System Logger SMF
type 88 and OAM SMF type 85 records were supported in
MXG 16.06, Changes 16.265 and 16.255.
Change 15.169 Inconsistencies between MVS and ASCII versions of SAS
VMACOPC prevented some MXG members from being executable on the
VMXGINIT ASCII platform. While these members are not likely to
VMXGVTOC be used on the ASCII platforms, by making their code
Jul 22, 1997 transparently execute on all SAS platforms, I can run
the MXG QA stream anywhere, so changes were made:
-ASCII SAS does not accept RECFM=VBS, and MVS SAS does
not accept RECFM=S370VBS, so macro variable VMXGVBS
is now defined in member VMXGINIT to allow member
VMACOPC to execute. All other usage of VBS was already
protected by other means.
-ASCII SAS does not accept INFILE options CCHHR VTOC so
a local %MACRO VMXGCHR is created in VMXGVTOC (even
though that is a very archaic member).
Change 15.168 No observations in NETSPY dataset NSPYTIC3 because the
VMACNSPY logic inside NSPYREC='N' code to identify subtype used
Jul 22, 1997 either NSPNRECI or NSPNSUBT values, but the value '01'x
for NSPNSUBT exists in both Ethernet and TIC3 records, so
TIC3 observations were erroneously OUTPUT in NSPYETHR.
Now, all tests use ONLY variable NSPNRECI, but changing
ELSE IF NSPNRECI='06'X OR NSPNSUBT='01'X THEN ..
ELSE IF NSPNRECI='06'X THEN ...
will correct the immediate problem.
Also, the last alert in each record was not output in the
NSPYALRT dataset, and the second and later were corrupted
because the statement:
OFFNSPY=OFFNSPY-10;
that was just before the INCLUDE SOURCLIB(EXNSPYAL);
should not have been there and must be deleted.
Thanks to Mrs. Silvia Hug, RWG GmbH, GERMANY.
Thanks to Mr. Karl-Heinz Placht, RWG GmbH, GERMANY.
Change 15.167 MXG now protects all two-digit YY dates for year 2000.
IMACICBB Since IBM and other vendors have not expanded all of the
TYPEDMS two-digit YY dates, and since it is likely that some MXG
TYPEMON8 sites will still be back level on some of those products
TYPEMONI that are not year-2000 compliant, and since I could cover
TYPEPDL for the negligent products, I have extended Change 15.050
TYPETMON and have added logic to "Window" all dates that are not
TYPEVM year-2000 compliant. Years 00-59 will be set to 20xx
VMAC28 while years 60-99 will be set to 19xx.
VMACCTLD In some members, this protection was added using:
VMACIPAC IF YEAR(DATEPART(datetime)) LE 1959 THEN
VMACNSM datetime=datetime+YEARSECS;
VMACNSPY where RETAIN YEARSECS 3155673600; is used to store the
VMACODS number of seconds between 1Jan1900 and 1Jan2000.
VMACOPC In other cases, the protection was added using:
VMACQTRT IF YEAR(date) LE 1959 THEN date=date+YEARDAYS;
VMACRMDS where RETAIN YEARDAYS 14610 is used to store the number
VMACROSC of days between 1Jan1900 and 1Jan2000.
VMACSAR
VMACTMDB Member YEAR2000 has been updated to show which dates
VMACVMXP are truly year 2000 compliant (and the APAR which made
VMACXAM them so) and to show which dates are not compliant but
YEAR2000 are now protected by MXG Logic to support the year 2000.
Jul 20, 1997
Change 15.166 Support for Catalog Cell 'E7'x ("X" - Alias Cell) is now
EXCTLGE7 added to VMACCTLG so as to create new dataset CTLGE7 obs
IMACCTLG for each alias cell. In addition, the E7 cell will now
VMACCTLG be decoded in the optional logic in VMAC6156 (which only
VMAC6156 prints catalog cells on the SAS log).
Jul 18, 1997
Thanks to Michael Ayers, Wyeth Labratories, USA.
Thanks to Brian Cooper, Wyeth Labratories, USA.
Change 15.165 Support for new subtype 6 type 99 record creates new data
EXTY99U6 set TYPE99_6, called the "Goal Mode SMF" record by BGS.
VMAC99 The new subtype contains no new data (everything in it is
Jul 18, 1997 already in other subtypes of the type 99), but the new
record compacts the needed data in one subtype so that
you can afford to write that subtype 6 record and can
supress all other subtypes to reduce data volume.
Change 15.164 Variable MSGXRST is missing value because the ARRAY and
TYPEIMSA the DROP statement must be changed to read:
Jul 17, 1997 ARRAY CTR{54} CTR01-CTR54 ;
DROP CTR01-CTR54 I ;
i.e., change the 53's to 54's in those two lines.
Thanks to Kenneth D. Jones, SHL Systemhouse, NOVA SCOTIA.
Change 15.163 Support for DFSMS 1.4 adds (COMPATIBLY!) new fields:
VMACDCOL -Type 'A' - Dataset DCOLCLUS new variables:
Jul 17, 1997 DCACISZ ='NUMBER OF*BYTES IN*A CI'
DCACACIC='NUMBER OF*CI-S IN*A CA'
-Type 'V' - Dataset DCOLVOLS new variable:
DCVDPTYP='PHYSICAL*DEVICE*TYPE'
-Type 'M' - Dataset DCOLMIGS new variable:
DCVDPTYP='PHYSICAL*DEVICE*TYPE'
-Type 'B' - Dataset DCOLBKUP new variable:
UBFRVOL ='1ST SOURCE*VOL*OF BACKUP DATA'
-Type 'DC' - Dataset DCOLDC
Fifteen new DDCxxxxx construct variables.
-Type 'SG' - Dataset DCOLSG
Sixty-four status flags decoded & DSG32NAM corrected.
-Type 'VL' - Dataset DCOLVL
Ninety-six status flags decoded & DVL32NAM corrected.
-Type 'BC' - Dataset DCOLBC
Ninety-six status flags decoded & DBC32NAM corrected.
-Type 'DR' - Dataset DCOLDR
Sixty-four status flags decoded.
-Type 'LB' - Dataset DCOLLB
Sixty-four status flags decoded.
Change 15.162 Minor. Variable CPUSERF wasn not kept, and variable
RMFINTRV CPUHPTTM was not FORMATed nor LENGTHed.
Jul 16, 1997
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 15.161 Optional Omegamon/CICS DB2 variables OMBDESCN/OMBDESTM &
IMACICOB OMBEXECN/OMBEXETM were not labeled, nor were they kept in
VMAC110 CICSTRAN dataset.
Jul 15, 1997
Thanks to Harald Seifert, HUK-Coburg, GERMANY.
Change 15.160 ASUMUOW/IMACUOW are enhanced to allow large sites to send
IMACUOW the temporary sorted output of CICSTRAN/DB2ACCT to a
ASUMUOW DDname other than //WORK. Comments explain how.
Jul 15, 1997
Thanks to Chuck Hopf, MBNA, USA.
Change 15.159 IBM APAR OW13754 documents type 14/15 CRDATE and EXPDT
YEAR2000 support for year 2000 by allowing those one-byte binary
Jul 15, 1997 fields to have values 100 thru 255 to correspond to year
2000 thru 2155 (giving our descendants the opportunity
to make big bucks fixing the "Year 2155" problem). MXG
had assumed this solution, so no MXG code fix is needed.
Note that these julian dates will now print at 99363,
99364, 99365, 100001, 100002, etc.
Change 15.158 RACF type 80 RACFEVNT=22 and 59 are now supported, with
EXTY8022 new datasets TYPE8022 and TYPE8059. Segments for DTP for
EXTY8059 RACFTYPE=22, 24, 39, 40, 41, and 44 are now decoded. New
EXTY8X13 formats $MG080AF and $MG080UA are created by FORMATS.
EXTY8Y13 FORMAT MG808IA was updated so INTENT/ALLOW value 5 is now
EXTY8X24 decoded, TYPE8010 and TYPE8013 has SECLEVEL added.
FORMATS Dataset label for TYPE8018 is now PASSWORD COMMAND.
IMAC80A Several KW24xxxx variables were also corrected.
VMAC80A
Jul 14, 1997 For some RACF events, repeats of segments 21, 33, 34, 39,
Aug 24, 1997 40, 41, 42, and 44 are possible, but MXG kept only the
last instance. To repeat variables in the base TYPE80nn
or to create new TYPE8xnn dataset(s) depends on how many
repeats occur for a specific RACFEVNT; support for repeat
is added on a case-by-case basis when I receive test data
with multiple segments. Thus far, these instances of
repeated segments are supported as described:
-The many repeats of segment 21 in RACFEVNT=24 (SETROPTS)
are supported by observations in new TYPE8X24 data set,
keeping JOB READTIME SMFTIME SYSTEM as keys back to the
parent TYPE8024 dataset. The SETROPTS command creates
hundreds of repeated segments of questionable utility,
so creating an "Extra" dataset will save space.
-The second repeat of segment 33 in dataset TYPE8004 is
added as new variable RESNAME2 in that dataset. This
is a newname/oldname event, so only a second instance
needs to be supported.
-The six repeats of segment 44 in dataset TYPE8010 are
added as variables EV44FLG1-EV44FLG6, SEGNAME1-SEGNAME6,
and EV44TXT1-EV44TXT6, if more than 6 are found in the
RACFEVNT=10 record, a message will be put on the log.
For the other RACFEVNT's (11,12,13,20,21,22) only one
segment 44 has been observed, so only one is kept, but
a message will be put on the log if more are found.
-The many repeats of segments 40 and 41 in TYPE8013 create
new dataset TYPE8X13 for segment 40's (maximum of 20 has
been observed) and new dataset TYPE8Y13 for segment 41's
(maximum of 4 has been observed).
Thanks to Peter J. Lines, NatWest Bank, ENGLAND.
Thanks to Len Rugen, University of Missouri-Columbia, USA.
Thanks to Joe Faska, Depository Trust, USA.
Change 15.157 Support for Shared Medical Services CICS application's
IMACCICS OASMON (SMS Online Architecture System) journal segments
IMACICSM creates new dataset CICSSMED. Observations are created
VMAC110 when records are found, with no user action required.
EXCICSME CICSSMED contains the OAS stack or program name and the
Jul 11, 1997 response time in type 110 subtype 0 SMF records without
having to enable CICSTRAN monitoring in your MCT.
Thanks to Kristyann Manske, University of Wisconsin-Milwaukee, USA.
Thanks to Kevin Hurst, Shared Medical Systems, USA.
Change 15.156 Variable DEVNR is now added to dataset TYPE74CA and is
VMAC74 equal to DEVN. The DEVN spelling was kept from the old
Jul 11, 1997 CACHE90 predecessor dataset so your old reports would
run from TYPE74CA, but DEVNR is the more common name in
all other MXG datasets, and is the variable name to use.
Thanks to MH, Allied Irish Bank, IRELAND.
Change 15.155 Cosmetic. Duplicate label statements were deleted in the
DOC members VMAC102, VMAC110, VMACAPAF, VMACCTLG, VMACHPSU,
Jul 10, 1997 VMACHPUX, VMACMWSU, VMACMWUX, VMACODS, VMACQAPM,
VMACTPX, and VMACXAM.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 15.154 Archaic members VMXGVTOC and VMXGVTOF did not create the
VMXGVTOC ZDATE variable in datasets INFO and VTOCINFO, but now the
VMXGVTOF variables are created. Both members were effectively
Jul 10, 1997 replaced by DCOLLECT: see TYPEDCOL/JCLDAYDS, although
the archaic members are still useful, especially if you
need to know the physical location of extents, since the
DCOLLECT records only contain total sizes of datasets.
Thanks to Mark Zelden, CIBER Network Services, Inc, USA.
Change 15.153 Cosmetic. The LABELs for LPAR variables are now grouped
ASUM70PR by LPAR number, so all variables for LPAR 0 are together
Jul 9, 1997 for ease in viewing; the global CPU and Percentages are
also grouped together, as the 1st variables in ASUM70PR.
Thanks to Jean Quinkert, Inland Steel, USA.
Change 15.152 Formats $MGHEX2H, $MGHEX4H, and $MGHEX8H are added to
FORMATS MXG to print hex character variables's blank values as
Jun 29, 1997 blanks instead of '40's. See MXG Tech Note, NL 32.
===Changes thru 15.151 were included in MXG 15.03 dated Jun 30, 1997===
Change 15.151 Installation tailoring code that defines your SHIFT value
IMACSHFT has added an example of a table of holiday's dates that
Jun 29, 1997 can be used to change Prime/Non-Prime Shift observations
to Weekend Shift, if that is what your manager says to
do because the numbers are skewed. (Personally, I prefer
to leave the shift asis, and observe the week-to-week
difference between weeks with holidays and weeks without,
but MXG is all about freedom and doing it your way!)
The example is commented out, so this change did not
really change anything except comments in IMACSHFT.
Thanks to Mark Zelden, CIBER Network Services, Inc, USA.
Change 15.150 INPUT STATEMENT EXCEEDED with Omegamon VTAM 200 IRNUM=12
VMACOMVT record; variables ON12OQ, ON12SP, and ON12SS must be
Jun 28, 1997 INPUT as &PIB.4. instead of &PIB.8., and variable ON12DX
must be INPUT as $EBCDIC4. instead of &PIB.8. This is
the first instance of anyone processing this subtype.
Thanks to Rich Anderson, SAS Institute Cary, USA.
Change 15.149 MXG 15.03 corrections uncovered in final final tests:
TESTWWW -Step TESTOTHR of JCLTEST6 fails because of the extra
DIFFDB2 close-parenthesis in the DATA statement in member TESTWWW
TRND72GO (twice I caught this and thought I had fixed it!).
NEWSLTRS -"UNINITIALIZED VARIABLE BHHITRAT" in building DB2STATB;
EXNTCMBU BPHITRAT was spelled BHHITRAT in one LABEL statement in
IMACEXCL member DIFFDB2, causing variable BPHITRAT to be created
Jun 28, 1997 without a label. See Change 15.xxx.
-TRND72GO statement LENGTH SERVICE 8 MSOUNITS; caused a
very strange %MACRO compiler error; but the correct
statement should be LENGTH SERVICE MSOUNITS 8;
-Four Thousand lines were deleted from member NEWSLTRS;
The text of changes in the Change Log in Newsletters
TWENTY-SEVEN and TWENTY-EIGHT should have been removed
from member NEWSLTRS, as that text is kept in member
CHANGESS, and a redundant copy is not needed!
-Comment in EXNTCMBU changed to CMPQCMBU vice CMPQBUSU.
-Comments in IMACEXCL were clarified extensively.
Thanks to Freddie Arie, Lone Star Gas, USA.
===Changes thru 15.148 were included in MXG 15.03 dated Jun 26, 1997===
Change 15.148 Omegamon BSC data had incorrect GMTOFFTM calculated; The
IMACICOC variable OMGMTCHR was truncated to only one byte because
Jun 26, 1997 it was in the INFORMAT ... $NOTRAN. statement; it should
be removed from that INFORMAT statement.
Thanks to Dale Wiles, Perdue Farms, USA.
Change 15.147 NTSMF Version 2.0.d requires MXG 15.03 dated Jun 26, or
VMACNTSM at least MXG 15.02 plus this change. MXG coding errors
Jun 26, 1997 will cause error messages "UNEXPECTED INSTANCE FIELDS" or
INVALID DATA FOR MO IN LINE .... and/or STOPOVER ABEND.
-The LENGTH statement VERSION $4. must be changed
to VERSION $5.
-The two tests for Reduced or Extended Header must be
changed to read:
IF VERSION GE : '2.1' THEN INPUT /*REDUCED HEADER*/
and
IF '2' LE : VERSION LT : '2.1' THEN INPUT /*EXTENDED*/
instead of the tests for '2.0.d' and LE '2.0.c'.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.146 IBM Item RTA000099957 (see DB2 Technical Note 2 in NL 32)
DIFFDB2 states that the calculation of Buffer Pool Hit Ratio
ANALDB2R is (QBSTGET-(QBSTSIO+QBSTDPP+QBSTLPP+QBSTSPP))/QBSTGET;
Jun 26, 1997 whereas MXG used QBSTRIO instead of QBSTSIO in ANALDB2R.
I have added variable BPHITRAT to the DB2STATB dataset,
and variables B1HITRAT-B4HITRAT to the summary DB2STATS
dataset. I expect to alter ANALDB2R but want to verify
first (and its an extensive change). See the discussion
of why you can get negative values for Hit Ratio in DB2
Technical Note in Newsletter THIRTY-TWO.
===Changes thru 15.145 were included in MXG 15.03 dated Jun 25, 1997===
Change 15.145 Minor cosmetic changes were made to TRND72GO (Labels, and
TRND72GO DROPs), and 3 documentation-only members: ACHAP99, DOCVER
Jun 25, 1997 and DOCVER15 were updated with 15.03 dataset contents,
and counts in AAAAAAAA & COPYRITE now are for the real
MXG 15.03 dated Jun 25, 1997. Only ten tapes to trusted
sites carried the Jun 24, 1997 date.
===Changes thru 15.144 were included in MXG 15.03 dated Jun 24, 1997===
Change 15.144 TYPERDS records created 0 observations; these corrections
VMACRDS were required: INPUT of H15FTP is &PIB.2. vice &PIB.4.,
Jun 24, 1997 the INPUT of H15HSQ is &PIB.4. vice &PIB.2., and the
test IF H15FOS+H15FL GT ... must be changed to
IF H15FOS+H15FL-1 GT ....
Thanks to Shana Bereznay, Southern California Edison, USA.
Change 15.143 This change was NOT made. After planning the change and
BUILDPDB writing the change text, I realized I could not make the
BUILDPD3 change as described without a negative impact on existing
BUILD005 MXG BUILDPDB/BUILDPD3 users: BUILDPDB deletes the STEPS
BUIL3005 dataset from WORK as soon as PDB.STEPS is created (so its
Jun 24, 1997 workspace can be reused), but keeping WORK.STEPS would
require more WORK space - an existing daily job could
ABEND, needing more //WORK space, if I made the change.
I will revise the change and revise its description when
I can figure out how to meet IT Service Vision's request
without impact on existing MXG BUILDPDB jobs.
For IT Service Vision. After MXG's BUILDPDB logic has
created the PDB.STEPS dataset, SAS's IT Service Vision
uses the WORK.STEPS dataset left in the WORK file. But
then MXG logic to create PDB.SPUNJOBS replaces the real
WORK.STEPS with only the spun steps, because I reuse the
_PDBSUM macro that is defined in IMACPDB. I considered
changing that macro in IMACPDB to use a symbolic for its
output dataset, but that implementation would have caused
incompatibility for any user that had tailored IMACPDB!
Instead, by adding PROC DATASETS to rename WORK datasets:
PROC DATASETS NOLIST; CHANGE STEPS=REALSTEP;
%INCLUDE SOURCLIB(SPUNJOBS);
PROC DATASETS NOLIST; CHANGE STEPS=SPUNSTEPS;
PROC DATASETS NOLIST; CHANGE REALSTEP=STEPS;
both WORK.STEPS and WORK.SPUNSTEP will now exist after
BUILDPDB runs. By making this change in MXG, IT Service
Vision installers will have one less option to tailor.
Again, this change was NOT made. These are notes only,
that will likely be revised in the future.
Change 15.142 New exit EXPDB30V is added to the BUILDPDB/BUILDPD3 logic
EXPDB30V to allow tailoring of the PDB.SMFINTRV after TYPE30_V has
BUILDPDB been merged with the Accounting Information. While the
BUILDPD3 IMACINTV exit can be used to tailor TYPE30_V (which
BUILD005 becomes PDB.SMFINTRV), the accounting fields do not exist
BUIL3005 when IMACINTV is invoked, so the new exit allows for
Jun 23, 1997 more flexible tailoring.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 15.141 ASMTAPES ML-14 populates fields in the Tape Mount record
ASMTAPES (COMPATIBLY) and provides some enhancements to the AR
Jun 23, 1997 mode code to prevent the S0C4 abends with swapped out
address spaces. It does not completely conceal the S0C4
abends (that is still planned) but this should improve
the situation significantly.
Change 15.110 describes the corresponding changes to the
VMACTMNT member to process the newly populated fields,
but as the record format was not changed by the monitor,
earlier versions of MXG can read the ML-14-created SMF
records compatible. You will want to use VMACTMNT from
MXG 15.03 or later to exploit and decode the new fields:
The ALOCSTRT is of value when working with tape mounts
for DFHSM where some DDNAMEs (eg., RESIN1, RESIN2,...)
are re-used many times (dynamically allocated) within
one (long-running) step. The DDNAME is of value when
working with tape mounts for DFHSM were some devices
are allocated multiple times with different DDNAMEs
within a step.
Mark also provided corrections for truncation of JESNR to
four digits in the mount record processing; he found that
the ASMTAPES logic did not replace ALCSTIME with ALISTIME
for INTERVAL records cut after a day boundary has been
crossed; he provided his ASM and SAS code to to add the
above fields; and he found a nit in one series of tests!
Mark is a fine example of an MXG CodeShark!
Thanks to Mark Keimig, VF Information Technology Services Inc, USA.
Change 15.140 Support for new fields in the DFSMSrmm TYPEEDGR extracts
FORMATS that were COMPATIBLY added at some time in the past.
VMACEDGR Dataset EDGRDEXT has new variables:
Jun 23, 1997 RDABEND RDCAT RDCRTJBN RDDCNAME RDDDNAME RDDSSIZE
Jun 26, 1997 RDLABNO RDMDMVID RDRETDAT RDSCNAME RDSGNAME RDSTEPNM
RDVRSJBN RDVRSNAM RDVRSR RDVRSTYP
and new format $MGEDGRT is added to member FORMATS.
Dataset EDGRSEXT has new variable RSBMEDN.
Dataset EDGRVEXT has new variables:
RVABEND RVACTERA RVACTINI RVACTNOT RVACTREP RVACTRET
RVACTSCR RVBMEDN RVDSNREC RVHOMTYP RVLUDEV RVMVMODE
RVNEXTYP RVNLOC RVOBMEDN
27Jun97: Variables RVNVOL RVNPVOL and RVMDMVID were
labelled and added to KEEP for EDGRVEXT dataset.
Thanks to Sam Bass, McLane Co., USA.
Change 15.139 When Landmark maintenance TT00032 was applied after the
TYPETMON March cum tape was installed (to fix a Landmark 0C4 in
TYPEMON8 their dump program), the dump program creates a garbage
Jun 23, 1997 first record, causing MXG to USER ABEND 1099. The bad
record can be deleted by changing the test for dictionary
record deletion to include this garbage record:
IF TMMDREC='DD' OR (TMMDPROD='00'X AND TMMDREC='0081'X)
THEN DELETE;
Thanks to Marcia Ketchersid, Price Waterhouse LLP, USA.
Change 15.138 Report Performance Groups or Reporting Classes now CAN be
IMACWORK used in member IMACWORK to define workloads in dataset
RMFINTRV PDB.RMFINTRV. This redesign separately sums the Control
Jun 22, 1997 Performance Groups (Compat Mode) or the Service Classes
(Goal Mode) into the existing variable CPUTM, and then
sums all of the CPU times from your workload definitions
into new variable CPU72TM. If CPU72TM does not exactly
match CPUTM, then either you have double accounting
(CPU72TM GT CPUTM), or you have failed to map all of your
workloads in your IMACWORK logic (CPUTM GT CPU72TM); MXG
will print an error message on the SAS log if the times
do not match. The new design relocated the DELETE logic
from member RMFINTRV into the revised IMACWORK (since you
will have to change that delete logic if you want to use
RPGNs or Reporting Classes in your workload definitions),
but you do not have to change your IMACWORK member until
you want to use the new facility. The new RMFINTRV will
detect that you are still using an "old" IMACWORK member,
and will continue to delete Report Performance Groups and
Reporting Classes until it detects you are using the new
IMACWORK member. Thus this change is compatibly made!
The optional code to directly read SMF records that is
commented out in RMFINTRV was updated to match BUILDPDB.
Change 15.137 Pre-15.03-QA job found missing labels for variables in
VMACSTRS these members.
TRNDDB2S
VMACTMDB
VMACLMS
TYPEIMS
ASUMDB2A
ASUMDB2B
Jun 22, 1997
Change 15.136 This member for reading Web Proxy logs in Common Log
TYPEWWW Format was revised to conform to MXG style (LABELs,
Jun 22, 1997 FORMATS, LENGTH, and name changes of temporary fields,
and some statements were consolidated. Variable RDRTS
was renamed WWWRDRTS to avoid name conflict.
Change 15.135 Trending for Workload Manager Goal Mode Service Class
TRND72GO dataset TYPE72GO into TREND.TRND72GO now exists, in
Jun 20, 1997 this preliminary version. A revision that will map your
Jun 25, 1997 old TRND72 Performance Group data into the new TRND72GO
is planned so you can track before/after Goal Mode.
Jun 25 note: Cosmetic revisions (LABELs, DROPs) added
after first (Jun 24) MXG 15.03 was created.
Thanks to Mike Billy, Banc One, USA.
Change 15.134 Support for IXFP (Iceberg/IBM RVA) new subtype 6 and 7
EXICEDDS creates three new datasets:
EXICESNP Subtype Dataset Description
EXICEUTL 6 ICEBRGSN SNAPSHOT - EXTENTS SNAPPED
IMACICE 6 ICEBRGDD SNAPSHOT - DDSR EXTENTS
VMACICE 7 ICEBRGUT Space Utilization
Jun 19, 1997 Note that APAR OW25126 corrects errors in subtype 7 in
Mar 30, 1998 sites when Snapshot microcode is installed on an RVA
(RAMAC Virtual Array) subsystem. Put its PTF on!
===>>> Text updated March 30, 1998. This change created an
INCOMPATIBILITY in dataset ICEBRGDE. Before this change,
variable ICEVERS was a numeric and stored in 4 bytes, but
this change (in MXG 15.04) changed ICEVERS to character
of length one in dataset ICEBRGDE, and then created new
new variable ICEVERSN as a numeric stored in 4 bytes in
datasets ICEBRGSN and ICEBRGDD. In retrospect, exactly
why I did it this way is unclear, but I suggest for now,
simply drop the variable ICEVERS from ICEBRGDE, since it
really is not needed to be kept (it's a record version,
but I think there's only been one and it's always a 1?).
Edit member IMACICE and replace the MACRO _KICEDEL %
null definition with
MACRO _KICEDEL DROP=ICEVERS %
to drop the variable from dataset ICEBRGDE to avoid the
conflict. I think ITSV and SAS/CPE can tolerate the
absence of ICEVERS better than its conflicting presence.
This is a preliminary answer, and will be updated if it
does not resolve the conflict.
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Thanks to Ken Williams, Sun Life of Canada, ENGLAND.
Change 15.133 In sysplex, timestamps converted from "GMT" to "LOCAL"
VMAC30 were off by the number of "leap seconds", currently 20.
VMAC110 These "GMT" time values are actually "Absolute" values
VMACDB2 that include leap seconds; MXG erroneously "floored" the
Jun 18, 1997 delta value to get only the GMT offset hours to convert
"GMT" to "Local". Now, MXG keeps the full delta between
"Absolute" and "Local" to properly convert to local; if
the GMT offset value itself is not exact, it shows the
number of leap seconds in your system (CVTLOS).
Records GMT Offset Comment
30's SMF30IST-INTBTIME Calculated, leap seconds
42 st 6 S42JDGMO Provided, leap seconds
72 GMTOFFTM Provided, leap seconds
100-102 SMFTIME-THISSTCK Calculated, leap seconds
110 MCTMNTAD Provided, leap seconds
Unless you were comparing events with your wrist watch,
you might not have noticed this 20 second error in the
timestamps, but see the discussion in MVS Technical Notes
in Newsletter THIRTY-TWO for synchronization impact.
In addition, this change now converts SYNCTIME to local
time in type 30; it was already converted from Absolute
to local in RMF datasets, so now it is consistent!
Change 15.132 MXG 15.01 or MXG 15.02 cosmetic errors. TESTOTHR brings
VMXGHSM TYPEWWW in, but the FILENAME statement causes dataset not
TYPEWWW found under MVS, so it was commented out. Uninitialized
Jun 18, 1997 variable MCTFLG3 message was corrected by spelling it as
MCTFLGS in the LABEL statement.
Thanks to James McCullough, Economical Mutual Insurance Co., USA.
Change 15.132A DB2 Trace dataset T102S106 was not correct for new fields
VMAC102 added to QWP4 section in DB2 3.1, 4.1, and 5.1. The new
Jun 17, 1997 fields include MXG-constructed QWSU_SEC Service Unit per
CPU-Second value of the machine on which this DB2 Subsys
is executing!
Thanks to Jon Fritz, Levi Strauss & Co., USA.
Change 15.130 Variable SMF94ETO existed in MXG 14.14 but did not exist
VMAC94 with MXG 15.01 or 15.02, while variable SMF94EPM had the
Jun 17, 1997 TOTAL*EJECTS but was labeled POST*EJECTS. The real IBM
documentation now shows that only SMF94ETO should exist
and is the TOTAL*EJECTS, so MXG variables are no longer
created.
Thanks to Robert Miles Standish, Dean Witter Trust Company, USA.
Change 15.129 Label for DB2 QBSTDMC and QBnTDMC variables is now
VMACDB2 QBSTDMC='DATA MANAGER*THRESHOLD*REACHED'.
Jun 17, 1997
Thanks to Joseph Fordham, UPS, USA.
Change 15.128 Dataset TYPE116 MQ Series variable QWHCTNO is now labeled
VMAC116 QWHCTNO='CICS*THREAD*IDENTIFICATION*ADDRESS' instead of
Jun 17, 1997 Thread Number, as IBM now explains it is a control block
address of the thread, so '004dF3D4'x is a valid value.
The address can be reused, so it is not a unique value.
Thanks to Helmut Roese, COM Gmbh, GERMANY.
Change 15.127 AS/400 variable AS400SYN is missing if length of SYSTEM
VMACQAPM is less than 8 characters. The original logic is now:
Jun 16, 1997 ELSE IF GKEY=' S' THEN DO;
LENSYS=MIN(LENGTH-6,8);
INPUT @7 GDESS $VARYING8. LENSYS @;
AS400SYN=GDESS;
CALL SYMPUT('AS400SY',AS400SYN);
END;
Thanks to Len Marchant, Coca Cola Enterprises, USA.
Change 15.126 Counting the Average and Maximum Logged On TSO Users each
ANALCNCR 15 minutes (using PDB.JOBS TSO Session records) is done
Jun 15, 1997 in a new example in the comments in member %ANALCNCR.
Thanks to Dan Gilbert, Bergen Brunswig, USA.
Change 15.125 The detection of VIO was based solely on DEVNR='7FFF'x
VMACUCB but as this could now be a legitimate device address with
Jun 15, 1997 4-digit UCBs, the test for VIO in VMACUCB was changed to
require DEVCLASS='00'x also. For type 30 DD segments,
the DEVCLASS for VIO is zero, but in type 14/15 records,
the DEVCLASS is whatever device was installation defined
for VIO space calculations. Fortunately, there is a bit
set in type 14/15 records for VIO, which MXG uses to set
DEVICE='VIO' even though DEVCLASS is non-zero.
Change 15.124 Support for APAR OW25263 adds variables JFCTDSI1 (bits
VMAC1415 for 128 track mode, "1/2 inch/320 meter particle media",
Jun 15, 1997 and JFCTDSI2 (bits for Compaction=YES) for 3590's.
Change 15.123 Comments were revised to describe IMACKEEP as archaic;
IMACKEEP its function was replaced by the MXG Exit Facility that
Jun 15, 1997 is described in Change 10.175.
Thanks to Thierry Van Moer, Comparex Information Systems, BELGIUM.
Change 15.122 Label for variable R744SCN should have been spelled
VMAC74 CONTENTIONS.
Jun 15, 1997
Thanks to Bob Gauthier, American Stores Company, USA.
Change 15.121 DB2 Trace IFCID=125. Variables QW0125NR and QW0125RI are
FORMATS now INPUT as "&IB.4." instead of "&PIB.4." and formats
VMAC102 MGD125N and MGD125R decode their negative values:
Jun 15, 1997 VALUE MGD125N
-2 = '-2:NO STG OR MAX EXCEEDED'
;
VALUE MGD125R
-1 = '-1:RETRIEVE NOT ATTEMPTED'
-2 = '-2:NO STG AVAILABLE'
-3 = '-3:NUM RIDS EXCEEDED MAX LIMIT'
;
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY.
Change 15.120 Change 14.300 (which only affected old RMDS 1.3 and 1.4)
VMACRMDS was not made as documented, causing variables RMDSARN and
Jun 12, 1997 RMDSARI to be missing; the change is now made!
Thanks to Steve Colio, CIGNA Corp, USA.
Change 15.119 You cannot use Tandem's ftp program to upload Measure's
ADOCTAND "Structured" data files because Tandem's ftp sends the
UTANDSTR entire file including header, data records, and trailer.
Jun 17, 1997 Products like BCOM and Connect Direct do understand
Tandem's structured files and will send only the data
records, so they don't have this problem!
If you are stuck with Tandem's ftp, you will have to
convert the Structured file into an Unstructured file
and then you can use their ftp to upload that data.
Member ADOCTAND has been updated with a Tandem-supplied
example that will create an unstructured file from the
structured MEASCOM data files using Tandem utilities.
In addition, although I hope you never need it, member
UTANDSTR will create Unstructured Measure files from
Structured ones that have already been shipped to MVS.
You will have to supply the LRECL of each file in the
program, and will have to EDIT the dataset names, and
you must use RECFM=FB and LRECL=4096 when you upload
their structured file with their ftp.
If Tandem ever changes their ftp program to recognize
their own records, the double processing can go away.
Thanks to Tim Crocker, AT&T UCS, USA.
Thanks to Jack Driscoll, Tandem, USA.
Change 15.118 TYPE94 record without APAR OW27369 caused INVALID AUDIT
VMAC94 SECTION error; the test IF SMF94SDL GE 76 THEN INPUT must
Jun 6, 1997 be changed to IF SMF94SDL GE 84 THEN INPUT.
Thanks to Will Evans, Consolidated Freightways, USA.
Change 15.117 Changes in NPM that were overlooked long ago:
VMAC28 -LCSLxxxx variables added to CSL segment for HPR bytes and
Jun 4, 1997 frames transmitted, received, and discarded, and LCSLCON5
thru LCSLCON7 flag bytes are now kept.
Change 15.116 TLMS 5.3 (archaic, 5.4 has been out for some time) dates
VMACTLMS were not converted completely; the conversion code from
Jun 4, 1997 the 5.4 code was moved to the 5.3 section of VMACTLMS
Thanks to Jim Van Arsdale, IBM Global Services, USA
Change 15.115 MONTHBLD failed for dataset TYPE77, because WEEKBLDT did
WEEKBLDT not have the correct BY list (but WEEKBLD was correct!).
Jun 4, 1997 WEEKBLDT now matches BUILDPDB/WEEKBLD/MONTHBLD.
Thanks to Mike Rouncville, Rose's Stores, Inc, USA
Change 15.114 TMON/DB2. Previously un-tested subtypes "DE" and "DW" had
VMACTMDB coding errors that surfaced when real data was read.
Jun 4, 1997 -The "DW" record INPUT was realigned, DWWLRTME was changed
Jun 24, 1997 from TIME8 to HH &NUM.2 and DWWLRDAT's JULIAN input was
revised so the code will work under EBCDIC or ASCII SAS,
and the variable text is now correctly input.
-The "DE" record has the common header; the test
IF LMRKREC='DA' OR LMRKREC='DB' THEN INPUT
was expanded to also test OR LMRKREC='DE'.
Thanks to Tricia Dudley, SAS Institute Cary, USA.
Thanks to Luc Gariepy, Regie des rentes du Quebec, CANADA
Change 15.113 DB2 Trace SMF type 102 subtype 125.
VMAC102 -The +2 after QW0125MR must be +1. This error affected
Jun 5, 1997 only variable QW0125NR.
-The DO OFFSET=QWT02R2O in the IFCID 125 section was
replaced with DO _I_=1 to QWT02R2N logic from IFCID 172.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstat AG, GERMANY.
Change 15.112 Support for APAR OW26451/OW26453/OW26497 added fields for
VMAC42 MAXRSPTM and MAXSRVTM (Max Response/Service Time) to data
Jun 3, 1997 set TYPE42DS. Other minor changes were made.
Change 15.111 Support for TANDEM D42/D43/D44/G02 releases.
VMACTAND Documentation indicates compatibility, in that new data
Jun 3, 1997 fields are added at the end of the record, but you will
Jun 20, 1997 still find it INCOMPATIBLE, because you will have to
change the LRECL of each MVS dataset into which the data
records are sent when you install the versions with new
data. Initially, it appears there is no problem with
D42, but I need to review the later three systems and
will update this note when I know more.
Thanks to Tim Crocker, AT&T Universal Card Services, USA.
Change 15.110 Enhancements so MXG Tape Mount records that will be in
VMACTMNT ML-14 of ASMTAPES (see later Change) are coded now:
Jun 2, 1997 -New variables are added to TYPETMNT:
DEVFLGS, UCBSTAT, UCBFL1, UCBSTAB, DDNAME, STEPNR,
ALOCSTRT, and TMNTMAIN.
-Existing unpopulated variables will be populated by the
changes in ASMTAPES at ML-14:
READTIME, INITTIME
-Variable JESNR now supports 5-digit JES numbers.
-The interval start value did not replace ALCSTIME with
the interval-start time for interval records created
if a job spans a day boundary; in error, the allocation
timestamp of the original allocation was stored.
Thanks to Mark Kemig, VF Services, Inc, USA.
Change 15.109 Format MGBYTRT (bytes-per-second) truncates on the left
FORMATS (1099KB/Sec prints as 99KB/Sec) because the DEFAULT=8 in
May 30, 1997 the PICTURE MGBYTRT statement must be DEFAULT=10.
After making that change, you need only to re-build your
format library by %INCLUDE SOURCLIB(FORMATS); (with the
//LIBRARY DD allocated with DISP=OLD under MVS).
Thanks to Leigh Ann Payne, Wachovia Operational Services Corp, USA.
Change 15.108 DCOLLECT variable DCASRCI (dataset DCOLCLUS) is relabeled
VMACDCOL to 'USE HARBC/HURBC*INSTEAD OF*HARBA/HURBA?' to flag that
May 29, 1997 variables DCAHARBC and DCAHURBC, according to IBM, should
be used for VSAM space (high RBA) allocated and used in
place of DCAHARBA/DCAHURBA variables. Also, variables
DCAHARBC and DCAHURBC are now formatted MGBYTES.
In merging DCOLDSET and DCOLCLUS for VSAM datasets (to
get HLQ classifications by storage group with accurate
allocated/used statistics), John noted that sometimes,
the High Used RBA was greater than the Allocated Space
(i.e., DCAHURBC GT DCDALLSP). Chuck tracked this to obs
for the Index component for VSAM datasets which used
IMBED or REPLICATE; it appears that the index bytes that
are imbed/replicated in the Data Component are being
counted in the RBA for the Index Component, causing it to
appear to have more "used" than "allocated".
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.107 New TYPE8025 dataset is now created for RACF Event 25,
EXTY8025 RACF RVARY Command. Variable RACFTYPE was removed from
IMAC80A the KEEP= list, as it contained the TYPE value of only
VMAC80A the last segment in a type 80 record. (Variable TYPSTRNG
May 29, 1997 lists all segment types found in each record).
Thanks to Joe Faska, Depository Trust, USA.
Change 15.106 Support for APAR OW20921 which created TYPE42VT dataset
EXTY42VT with response time statistics like TYPE42SR, but for the
IMAC42 VTOC, VTOC Index, and VVDS for each volume. This APAR
VMAC42 also added stripe count and flag variables to TYPE42DS.
May 28, 1997 In the new TYPE42VT, there are occasional observations
with AVGIOQMS less than zero (-.127 maximum), indicating
that the data is not exact.
Thanks to Tim Vanderhoek, Fidelity Systems Company, USA.
Change 15.105 Variables in dataset QAPMAPPN read in after ANDBE8 were
VMACQAPM wrong; the offset 1464 was incorrectly repeated in two
May 27, 1997 lines. Subsequent offsets have now been corrected.
Variable ATCSDR is INPUT @558 vice @588 now.
Thanks to Freddie Arie, Lone Star Gas, USA.
Change 15.104 Duplicate variable names were corrected.
VMACPW -VMACPW: TOIOOPCT should have been TOIOPCRT, first
VMAC102 SWINOPCT is now SWINCTCT and first SWOUOPCT is SWOUCTCT.
VMACSTRS -VMAC102: second QW0221AN was removed
May 26, 1997 -VMACSTRS: second TOTSERV was removed
Thanks to Freddie Arie, Lone Star Gas, USA.
===Changes thru 15.103 were included in MXG 15.02 dated May 23, 1997===
Change 15.103 Support for RACF data for OMVS RACF using IBM's IRRDBU00
EXRAC120 unload utility creates two new datasets, thanks to this
EXRAC270 user-contributed enhancement. New datasets are:
IMACRACF Dataset Description
VMACRACF RACF0120 Group OMVS Data
May 22, 1997 RACF0270 User OMVS Data
Thanks to Ben Cowan, University of Nevada System, USA.
Change 15.102 Support for Filetek's Optical Disk SMF record creates
EXFTEKIC three new datasets:
EXFTEKID Dataset Description
EXFTEKGL FILTEKIC IC Command Link Task Record
IMACFTEK FILTEKID ID Data Transfer Task Record
TYPEFTEK FILTEKGL GL Global Statistics Record
VMACFTEK This is preliminary; the Global record is not complete.
May 22, 1997
Thanks to Joe Faska, Depository Trust, USA.
Change 15.100 A new macro that compares two SAS Data Libraries and
VMXGCOMP lists datasets in one and not in the other, and then
May 22, 1997 generates PROC COMPARE on all datasets that are common
to both Data Libraries. The observations compared are
limitable via an option.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.099 A new macro that resets the setting of most SAS Options
VMXGOPTR (those whose name is 8 bytes or less and which can be
May 22, 1997 changed after SAS Initialization). The current setting
is kept so that MXG can change it and then reset it to
the original value (Change 15.098 uses it in VMXGSUM to
reset the OBS= option). Documentation is in the member.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.098 Enhancement to VMXGSUM that uses the new VMXGOPTR macro
VMXGSUM to examine SAS Options to detect that OBS=n (as opposed
May 22, 1997 to the default OBS=MAX) was specified. OBS=0 causes the
PROC CONTENTS (used to determine which variables to keep)
to have no observations, so the list of kept variables is
wrong. (Even OBS=n will cause trouble, if n is less than
the number of variables to be kept). With this new
enhancement, VMXGSUM detects the OBS=value, sets OBS=MAX
for the Keep-Variable-Create phase, and then resets OBS
to its original value. This greatly improves MXG QA runs,
which use OBS=0, by eliminating unnecessary messages!
Additionally, VMXGSUM now allows use of USER= and the
TEMP01/TEMP02/TEMP03 options.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.097 RACF "SKIPPED SEGMENT RACFEVNT=xx:desc RACFTYPE=nn ...."
VMAC80A messages are normally harmless; they indicate that your
May 22, 1997 RACF record contained a segment (RACFTYPE=SMF80DTP=nn)
that MXG did not know about in creating TYPE80A dataset.
(The event causing the type 80 record is RACFEVNT, which
might not even be an event of interest to you!).
You can look at Table 2. Relocate Section Variable Data
in Chapter 4 in "RACF Macros and Interfaces" SC23-3732
to see a) is the DTP value documented, and b) do you
care! If the segment contains data of interest, when I
get a hex dump of a record with the new segment, I will
decode the segment and add new variable(s) to the event
dataset; if the data is of no interest, I add logic:
WHEN (91) DO; /*FOUND IN 27:GENERAL AUDIT, NO DOC*/
INPUT +RACFDLN @;
END;
to member VMAC80A to bypass the segment without notice.
(the example skips the un-documented DTP=91 value found).
Thanks to Bruce Hewson, CITICORP, SINGAPORE.
Change 15.096 Inconistency analysis uncovered these flaws:
VMACNSPY -Variable APLUIDR in VMACNSPY is now format $HEX8 (the
VMACLMS length was only two bytes because $HEX4. preceded its
VMACOMCI INPUT statement).
VMACRMDS -Variable TDBSYS in VMACLMS is now initialized to a value
May 21, 1997 of 'TMS ' so the kept length is eight bytes.
Variable ISITSL in VMACLMS is LENGTH $3, and the INPUT
@53 is changed to ISITSLX, as are following five IF's.
-Variable EWAITDC in VMACOMCI was removed from $NOTRAN
informat list (because INFORMAT was seen before INPUT,
variable had kept length of only one).
-Variable RMDSFORM is set LENGTH $9 because later code
INPUTs as 9, but first occurrence was for 8.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 15.095 Support for DB2 Version 5.1.0.
FORMATS New formats $MGD022A, MGD022Q, and $MGD221M were added.
VMACDB2 Type 101 Record (DB2ACCT) Compatibly changed.
VMAC102 Eight new variables added:
May 21, 1997 QWACSUCV='THIS CPU SU_SEC*SERVICE*UNITS PER*SECOND'
QXCOORNO='PARGROUPS*EXECUTED*COORD PARM NO'
QXCRGTT ='CREATE*GLOBAL*TEMPORARY*TABLES'
QXISORR ='PARGROUPS*EXECUTED*REPEAT*READ'
QXSTREOP='REOPTIMIZATION*OCCURRENCES'
QXXCBPNX='PARGROUPS*INTENDED*RUN*DATASHARE'
QXXCSKIP='BYPASSED*DB2S*NOT ENUF BUFFERS'
QBGADG ='CF UNREGISTER*PAGE*REQUESTS'
Type 100 Subtype 0. DB2STAT0. Compatibly Changed.
One new Q9STxxxx variable, three QDSTxxxx variables,
and six QXxxxxxx variables added.
Type 100 Subtype 1. DB2STAT1. Compatibly Changed.
Twelve QBGLxx variables added.
Type 100 Subtype 1. DB2GBPST. Compatibly Changed.
Twelve QBGLxx variables added.
Type 100 Subtype 2. DB2STAT2. Compatibly Changed.
One variable, QDBPXSQT, added.
Type 100 Subtype 3. DB2GBPAT. Compatibly Changed.
One variable, QBGBGAS, added.
Type 102 Record. Only IFCIDs listed have been validated.
IFCID 022. INCOMPATIBLY changed. Record restructured
Fifteen new variables added.
IFCID 221. INCOMPATIBLY changed. INPUT STATEMENT EXCEEDED
Record restructured. Ten new variables added.
IFCID 222. Compatibly changed. Three new variables.
However, MXG created Pipe Duration in variable QW0222SM
by subtraction, but now IBM uses that name, so Pipe
Duration time is now calculated in variable QW0222PD.
IFCID 231. Compatibly changed. Five new variables.
Thanks to Ted Blank, IBM, USA.
Change 15.094 -Variable R723TYPE was kept as LENGTH $23 because it was
VMAC7072 not in the LENGTH $1 statement, so SAS took it's length
VMAC110 from the MGRMFTY format. Now it is kept as LENGTH $1.
VMAC74 -Variable LDGDSAIN was listed both as $1 and $2, but is
May 21, 1997 now only in the $1 list.
-Variable R744QSIZ is now formatted MGBYTES; the variable
R744QFLG is formatted $HEX2. and added to $NOTRAN.
-Variable MCDFLG3 (IF '1.......'B, DATASET is KB) is now
input @291 MCDFLG3 &PIB.1. in the MCD section, formatted
HEX2., labeled, and kept.
Thanks to Neville Wright, Telstra, AUSTRALIA.
Thanks to Lindsay Oxenham, Telstra, AUSTRALIA.
Change 15.093 Comments were revised to explain why the error messages:
JCLPDB6 ERROR: ALL VALUES MISSING FOR PLOT OF xxx
May 21, 1997 ERROR: THERE ARE NO VALID OBSERVATIONS FOR VARIABLE yyy
may print on the SAS log when you run the JCLPDB6 sample
job to build the PDB, and why they actually tell you the
BUILDPDB run was successful. (Briefly, they are from the
ANALxxxx members, and to have gotten that far is to have
successfully built the PDB library; they occur because of
"shotgun" reports that include old and new variables so
everybody gets some sample report output.)
Thanks to Robin Mitchell, SmithKline Beecham, USA.
Change 15.092 MXG 15.01 only. An incomplete CICINTRV member was sent
CICINTRV in MXG 15.01 (last minute changes to add READTIME were
May 20, 1997 tested but not migrated); now I realized that the change
was redundant, as CICSSTCK is logically the READTIME!
Note that the DURATM variable in PDB.CICINTRV is the sum
of the durations of the discrete intervals that were
summed into this observation, and might not be the delta
between COLLTIME values. MXG defaults to HALFHOUR, but
if you are only recording USS records, and you took the
IBM default interval, your records will be written every
three hours, so PDB.CICINTRV will have an obs with the
COLLTIME of the half hour preceding the end of that
interval, but the DURATM value will be the 3 hours
represented by the actual data in that observation.
Thanks to Ben Cowan, University of Nevada System, USA.
Change 15.091 Variables ACTBYTES and ACTPAGES from TYPE26J2 are added
IMACPDB to macro _PDB26J2 in IMACPDB so that they will be kept in
May 20, 1997 dataset PDB.JOBS. The ACTBYTES is the total number of
bytes of SYSOUT text that was created by each job, and is
useful in determining the JES2 Track Group Size.
Thanks to Clark Jennings, Reynolds Metal, USA.
Change 15.090 -Support for Microsoft Windows NT 4.0 Service Pack 2 which
EXNTACSR INCOMPATIBLY inserted a null field in the Process record,
EXNTCNFI and support for Version 5.0 of MS Exchange, which added
EXNTCNIN (need I say INCOMPATIBLY) eight real fields and 33 null
EXNTHTIN fields to MSEXCHDS and MSEXCHPR datasets. NRDATA count
EXNTMSIM was corrected for MSEXCHDB dataset.
EXNTMSIP -Support for NTSMF Version 2.0. Change 15.027/MXG 15.01
EXNTMSWB did not (in spite of saying so) handle the new records.
EXNTWBPR -Support for several new datasets (new objects):
EXNTWSPR Dataset Object
IMACNTSM ACTVSRVR Active Server Pages
VMACNTSM CONTINDX Content Index
May 20, 1997 CONTINFI Content Index Filter
HTTPINDX Http Contents Index
MSEXCHIM MS Exchange Internet Mail Service
MSEXCHIP MS Exchange Internet Protocols
MSEXCHWB MX Exchange WEB Component
WEBPROXY WEB Proxy Server Cache
WINPROXY WinSock Proxy Server
-Of the 68 objects now supported, all but 16 have been
tested with data records.
Change 15.089 MXG 15.01 only. INPUT STATEMENT EXCEEDED for type 94 SMF
VMAC94 record. SMF94VR3 should be +2 vice +1, while variables
May 17, 1997 SMF94VDC,VDX,VDN and VDA should be &PIB.1. vice &PIB.2.
This only affected the new section added for VTS.
Thanks to Pat Quinette, Principal Mutual Life Insurance Co., USA
Change 15.088 MXG 15.01's new ANALDDCN member inadvertently contained
ANALDDCN "./" IEBUPDTE control cards for several IMACxxxx members,
PROCSRCE so when you unloaded the IEBUPDTE file to create your MXG
May 8, 1997 SOURCLIB, those "./"s created those IMACs from ANALDDCN
(and by design they DROPed most variables from type 30s).
But fortunately, the real "./" cards for those IMACxxxx
members were found later on in the MXG tape, so they
successfully replaced the incorrect members, so your
SOURCLIB was correctly built!
Thank you Heavenly Father: if the member name had been
ZNALDDCN, your SOURCLIB would have been wrong!).
It used to be that IEBUPDTE set a CC=4 when a new member
replaced an existing member, but no longer; the IEBUPDTE
set CC=0. The only clue is in the print message "IEB816I
MEMBER NAME FOUND IN NM DIRECTORY. TTR IS NOW ALTERED"
(but IEB messages print to the //SYSPRINT DD, which is DD
DUMMY because it is hugh (1,005,099 print lines, 126 MB,
because IEBUPDTE prints all 980,991 lines of MXG 15.01,
plus 8 lines of IEBxxxx messages and blank lines for each
of MXG's 3,200 members, plus pages and the JES log!).
I have revised PROCSRCE to ERROR ./ cards found in its
input while creating the IEBUPDTE format file, so this
error should not be seen again.
Thanks to Freddie Arie, Lone Star Gas, USA.
===Changes thru 15.087 were included in MXG 15.01 dated May 6, 1997===
Change 15.087 QA tests for MXG 15.01 generated these corrections:
JCLQAJOB -CICINTRV. Variables SDGTSUPR/SDGTTKN were misspelled and
May 6, 1997 are now SDGSSUPR/SDGSTKN.
-VMACDALO. Variables DALODDN/CODE/JFCB are now labeled.
-DIFFDB2. Variables PREVGN,DIFDB21,PREVBPID are dropped,
and dropped only once.
-VMACIMS. Many unlabelled variables are now labeled, and
LABEL statements consolidated.
Change 15.086 Support for World Wide Web Proxy logs in Common Log
TYPEWWW Format to track an installation's access frequency and
May 4, 1997 destinations for URLs and IP addresses via the WWW is
provided in this user contribution, which is based on
Dan Squillace's CMG96 paper. Comments in TYPEWWW by
Brian document his approach to decoding the log into
new MXG dataset TYPEWWW.
Thanks to Brian Farley, Reliastar Life Insurance Co., USA.
Change 15.085 A new utility for ASCII platforms that produces a hex
UDUMPEBC dump like the LIST; statement on MVS, with characters
May 4, 1997 decoded as EBCDIC rather than ASCII (so you can read the
hex dump of your SMF record on your PC!). This utility
was written and contributed by Dan (but I actually made
it into a %MACRO with arguments!).
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 15.084 Sample CLISTs for MXG and SAS execution under TSO.
CLMXGSAS
May 4, 1997
Thanks to ???, ????, USA.
Change 15.083 Documentation. The discussion of why you get fractional
ADOC26J2 priorities in variable ONPRTY in PDB.JOBS or TYPE26J2 now
May 4, 1997 matches the code in VMAC26J2. The old documentation said
that MXG FLOORed ONPRTY to an integer, but it never did;
ONPRTY has always been a real, rather than an integer.
Thanks to Brian Sanger, Eagle Star Group Services Ltd., ENGLAND
Change 15.082 Support for Boole and Babbage IMF 3.2 (for IMS 6.1) is
VMACCIMS already in place in MXG. The changes were a) increase
May 4, 1997 in maximum DBD segments in a record (from 50 to 500, and
associated record length increase) but MXG always reads
whatever segments are in the record, and b) IMF 3.2 now
supports the year 2000 (by documenting dates as yyyyddd)
but MXG support was also already in place for that too!
No code was changed by this change.
Change 15.081 This user contribution is a revision of TYPEIMS7 (which
IMACIMSD reads IMS log records 07/08 for transactions and BMPs),
TYPEIMSD for IMS DBCTL, because TYPEIMS7 threw away DBCTL events.
May 4, 1997 The documentation of the significant logic necessary to
capture IMS DBCTL from the IMS log is provided also by
Bruce, in the comments in member TYPEIMSD.
Thanks to Bruce Galle, Talbots, Inc, USA.
Change 15.080 The revisions in Change 14.349 to support Stress Test's
VMACSTRS enhancements in Release 3.3.6 accidentally failed to
May 4, 1997 INPUT some variables from the earlier version.
Change 15.079 ASUMUOW combines CICS and DB2 transactions by UOW, or
ASUMUOW unit of work, but IRESPTM was kept from the last CICS
May 4, 1997 transaction physically encountered, rather than the
first (initiating) transaction. The ENDTIME should have
been a MAX() rather than MIN(), and QWHCATYP is now in
the DROP list as it is unneeded after first step.
Thanks to Tom Elbert, John Alden, USA.
Change 15.078 DB2 variable QWHCATYP printed a value of '41' when a
FORMATS value of 11 decimal or 0Bx was found. (I now know that
May 4, 1997 the 0Bx value is for "DB2 Utilities" and the MGDB2TY
May 9, 1997 format that decodes QWHCATYP was updated May 9, 1997,
but at the time, the value 0Bx was not in the format.)
Why did MXG print 41 when the value was actually '0B'x?
Because there was a logical error in the MGDB2TY format
for undefined values; the OTHER format was $HEX2, but it
should have been HEX2, because QWHCATYP is a numeric
variable! Using $HEX for a numeric variable in the OTHER
operand of PROC FORMAT is a SAS "feature" that prints not
the hex of the data value, but rather prints the hex of
the internal representation of the numeric value (as
stored by each platform). Since numerics are internally
stored as floating point numbers, the '41'x printed was
the hex value of the first byte of MVS's internal value
of '41B00000'x, where the '41' is the exponent and 'B0'
is the mantissa. But under Windows, a '00' was printed,
because Intel stores eleven as '00002640' with its
exponent in the last byte. In any event, using HEX2
instead of $HEX2 correctly shows the 0B value under MVS
or Windows. (This was the single instance of $HEX for a
numeric in FORMATS.)
Thanks to Roman Jost, Gjensidige, NORWAY.
Change 15.077 The MXG Tape Allocation Monitor records had new fields
ASUMTALO added in ASMTAPES in MXG 14.14 that are now INPUT into
VMACTMNT tape allocation dataset TYPETALO by member VMACTMNT:
ZSUMTALO ALEERROR='ALLOCATION*ERRORS*RECORDED'
May 3, 1997 RESGROUP='RESOURCE*GROUP*NAME'
RPTCLASS='REPORTING*CLASS*NAME'
SRVCLASS='SERVICE*CLASS*NAME'
TMNT008I='TMNT008I*MESSAGE*ISSUED?'
TMNTTYPE='TYPE*OF*MOUNT*OR ALLOCATION*EVENT'
WLMNAME ='WORKLOAD*NAME'
XMEMABND='CROSS*MEMORY*ABENDS'
In addition, ML-12 added the new subtype 5 interval-end
record (to keep track of long-running allocations) but
MXG 14.14's VMACTMNT skipped over the subtype 5 record.
With this change, VMACTMNT now OUTPUTS the subtype 5
into TYPETALO, and this requires a new ASUMTALO member
that exploits these interval observations to improve the
accuracy of counts if you have long-running allocations.
This logic is more accurate than prior ASUMTALO, but may
not be perfect until the ASMTAPES ML-14 monitor provides
time-synchronized subtype 5 records. I have copied the
MXG 14.14 ASUMTALO member into ZSUMTALO and modified it
so that subtype 5 records are deleted, so you could use
the new VMACTMNT with the (renamed) member ZSUMTALO in
case you have problems. Check the counts closely.
NOTE: YOU MUST IMPLEMENT MXG 15.01 MEMBERS TYPETMNT AND
ASUMTALO SIMULTANEOUSLY - IF YOU HAVE A TAILORED
ASUMTALO MEMBER IN YOUR USERID.SOURCLIB, YOU MUST
RETROFIT YOUR TAILORING INTO THE 15.01 ASUMTALO.
(Or use the ZSUMTALO as described above).
The ASUMTALO enhancements use SPIN-type logic as well as
determining which system's SMF had the earliest cutoff of
SMF data (earliest last datetime). Data is "spun" to
SPIN.SPINTALO if it is after the cutoff or if it is the
last observation for an allocation event and it is also
an interval record (we have to adjust the start time of
the real allocation record during the next day's ASUMTALO
so that we don't count the same drive-interval twice.
Thanks to Chuck Hopf, MBNA, USA.
Change 15.076 SAS Warning: ARGUMENT 3 TO MACRO FUNCTION %SUBSTR IS
VMXGTAPE MISSING OR OUT OF RANGE when the length of the DSN= macro
May 3, 1997 argument was three characters or less, but now will work
with any length DDNAME. (VMXGTAPE is a %MACRO to find
out if a DDNAME or SAS DATASET is on tape.)
Change 15.075 Validation of Change 15.061 uncovered opportunities.
ANALRMFR -Updates were made to logic for IOQU reports
May 3, 1997 -Incorrect paging, added array IOPI(9) IOPINSTL, added
RETAIN for IOP, ACTIVITY RATE and AVG Q LNGTH variables
during MERGE.
-MXGCHAN, changed PS=&PGS back to PS=66, because with
PS=&PGS and N=PS (to arrange the contents of an entire
printed page) does not work correctly.
-MXGSMRY moved SWAPRATE=. and PRT=. to SUMRPT dataset to
eliminate "MISSING VALUES" messages.
Change 15.074 Support for Altai's ZARA Tape Management Release 1.2.
TYPEZARA Well, almost. I have created all of the new variables
VMACZARA in datasets ZARADSN and ZARAVOL, an enhanced TYPEZARA's
May 3, 1997 back-end logic to also keep the new variables, but I do
not have the DSECT for the header yet, nor do I have any
test data yet, to the new code is in a never-execute DO
group (IF RECTYP= -99 THEN DO;) Check for an update to
this change when actual support has been tested. Note in
this rare instance, the documentation is done before the
code changes are complete!
Changes to ZARADSN dataset:
Variables added:
FILABEND FILCONT FILCRSID FILENEXT FILEXPIR FILRCFM
FILTPSTK
FILRECFM was replaced by FILRCFM, now is CHARACTER
FILFLAG1 was replaced by FILABEND FILCONT FILEXPIR
Changes to ZARAVOL dataset:
Variables added:
VOLAPERR VOLATRER VOLATWER VOLCBLVL VOLCHECK VOLCLEN
VOLCREAT VOLFILEA VOLLABEL VOLLOCK VOLSTAT1 VOLSTAT2
Variables no longer created in Version 1.2:
VOLSECUR VOLAPPID VOLGRPID VOLOBOX VOLFLG1 VOLFLG2
VOLPOOL
VOLLABL was replaced by VOLLABEL, now is CHARACTER
Thanks to ???, Nissan Motor Manufacturing (UK) Limited, ENGLAND.
Change 15.073 Support for Virtual Tape Server additions to SMF type 94
VMAC94 provide an excellent set of measures for VTS physical and
May 2, 1997 logical volume activity, including counts of mounts,
by type, lots of min/max/avg for times to mount physical/
logical volumes, time virtual drives were mounted, the
number of concurrent physical/virtual drives mounted, and
bytes read/written to host channel/from tape devices!!
Change 15.072 Variable FTPCLHST in ILKAST20 and ILKAST21 datasets from
VMACILKA Interlink has always been wrong. The "FTPCRHS3" in the
May 2, 1997 create for FTPCLHST should have been "FPTCLHS3".
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 15.071 Support for MEMO subtype 8 record creates new MEMODIST
EXTYMEMD dataset; subtype 8 records are written by MEMO during a
VMACMEMO distribution by an internal process.
May 2, 1997
Thanks to Thomas Peiper, Enator, SWEDEN.
Change 15.070 The start-up observation in DB2STATS and other DB2 Stats
DIFFDB2 datasets will have lots of negative values, and there are
May 2, 1997 two observations with QWHSISEQ=1 created for each real
startup. You can delete both the good and the bad start
up record with IF QWHSISEQ=1 THEN DELETE; to clean up
your reports quickly, but the logic error fixed by this
change applied to each of the Stats datasets and involved
creating an OUTFLAG=1 before the DO group for the first
OUTPUT, then setting OUTFLAG=0 inside that DO group, and
then adding AND OUTFLAG=1 to the subsequent IF QWHSISEQ
test for the second OUTPUT.
This error was introduced by Change 14.231.
Thanks to Trevor Nightingale, SAS Institute Cary, USA.
Change 15.069 Variable ARSPHOST in dataset NSPYLU for NETSPY 4.4 was
VMACNSPY frequently missing when it should have had value.
Apr 30, 1997 Variable LUNRSPSS was to be INPUT if NSPYENTL GE 112, but
the NETSPY 4.4 record had NSPYENTL=108, so LUNRSPSS was
not INPUT and hence missing, and LUNRSPSS is used to
calculate ARSPHOST. The existing test IF NSPYENTL GE 112
must be change to IF NSPYENTL GE 108 and then between the
INPUT lines for LUNRSPSS and LUATTCHS, insert:
@;
IF NSPYENTL GE 112 THEN INPUT
to always INPUT thru LUNRSPSS. MXG was unaware of the
shorter length segment. This error was noticed moving
from MXG 13.02 to 14.14 with NetSpy 4.4; I do not think
there is a problem with 4.5 and later, as I think its
segments are always NSPYENTL=112 or greater.
Thanks to Mark Zelden, Newark Electronics,USA.
Change 15.068 Revised support for HP's MeasureWare for Sun systems has
ADOCMWSU restructured the code to match the default REPORT macro,
VMACMWSU and was validated with data. Examples of moving data via
Apr 29, 1997 ftp are provided in ADOCMWSU's comments.
Thanks to Steve Corson, Cincinatti Bell Information Service, USA.
Thanks to Gary Alexander, BMC, USA.
Change 15.067 Support for NETSPY Version 5.0 is included in MXG 14.14,
VMACNSPY (there was no real change between NETSPY 4.7 and 5.0, and
Apr 29, 1997 4.7 support was added in MXG 14.03). The DSECT shows
fields added compatibly to the type 'X' (Alert) record,
but this is not a primary subtype, so until I have test
data (and a site that needs the new data in this fairly
obscure subtype) I won't add the new fields.
Change 15.066 Variable AVGXETTM in TYPE72GO was wrong; the divisor must
VMAC7072 be TRANSEXC (transactions completing "execution phase"
Apr 29, 1997 during the interval) instead of TRANS (transactions that
completed during the interval).
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 15.065 EXCP and IOTM count in TYPE30/PDB.JOBS/PDB.STEPS datasets
VMACEXC2 for devices with 4-digit UCB addresses of 8000x or higher
Apr 29, 1997 were put in variables EXCPMSS/IOTMMSS (instead of the
EXCP3390 or EXCP3480 device-type buckets), and these IOs
were also not included in EXCPDASD or EXCPTAPE, although
they were counted in EXCPTODD and EXCPTOTL variables.
The old logic for the now defunct Mass Storage System,
MSS has now been commented out, but it tested the first
bit of DEVNR to identify MSS devices, causing this error.
Change 15.064 Variable SLOTUTIL is added to dataset TYPE71 to measure
VMAC71 the percentage of local page dataset slots that are in
Apr 28, 1997 use. Find the maximum value of SLOTUTIL during the month
to make sure you have enough page dataset slots defined.
SLOTUTIL should always be less than 25% (because the
ASM's contiguous slot allocation algorithm can move 30
pages in one SSCH only when there are 30 contiguous free
slots, and at utilizations above 25%, ASM begins to not
find 30 slots, so it tries to find 15, then 8... which
causes lots of extra SSCHs to your page volumes at the
very worst possible time - those few times when paging
becomes a performance problem!). I have preached this
concept, but had not provided the variable (and the value
I used in class turns out to need to be changed):
SLOTUTIL=(SLOTLOMN-SLOTUNMN)/SLOTLOMN;
compares the minimum number of defined local slots with
the minimum number of unused local slots to calculate the
maximum utilization of slots during the interval.
Thanks to Jean Quinkert, Inland Steel Company, USA.
Change 15.063 I have begun to analyze the OMVS data in TYPE30OM.
EXTY30OM The variable OMVSEXNP (OMVS Program Name, "grep", "find",
VMAC30 etc) is now 16 instead of 8 bytes.
Apr 27, 1997
TYPETASK='A ', originally for APPC/ASCH type 30 records
(other TYPETASK values are JOB/TSU/STC, taken from the
JCTJOBID), is now also used for OMVS type 30 records, so
there is no direct way to separate OMVS from APPC/ASCH
in type 30 records. However, Goal Mode records contain
WLMNAME and SRVCLASS names, which may be useful along
with TYPETASK to group type 30 records.
Dataset TYPE30OM contains an observation for every OMVS
segment, and there can be segments in interval subtypes
2 and 3, in step termination subtype 4, and in job term
subtype 5, but there is only one slot per record for the
OMVSEXNP Program Name, so the subtype 5 observations are
useless for analysis. Here's what I observed:
SUBTYPE INIT TERM STEPNAME SUBSTEP OMVSEGNR OMVSEXNP
3 59:02.16 02.29 STEP1 0 1 find
4 59:02.16 02.30 STEP1 0 1 find
3 59:02.30 02.51 *OMVSEX 1 1 grep
4 59:02.30 02.51 *OMVSEX 1 1 grep
5 59:02.16 02.52 0 1
5 59:02.16 02.52 0 2
Subtypes 3 & 4 have OMVS program name in interval and
step records. The single subtype 5 job record has two
OMVS segments, representing the two OMVS invocations (one
per each step, in this instance), but the OMVS segments
in subtype 5 cannot be associated with their program
name. As a result, I no longer output obs in TYPE30OM
from subtype 5 records (although you can change my new
default in member EXTY30OM).
Change 15.062 Analysis of impact of DDCONS(NO) versus DDCONS(YES) with
ANALDDCN regard to the number of duplicate DDs that are written to
Apr 27, 1997 SMF when the (recommended) DDCONS(NO) option is
specified. This analysis proves how little duplicates
there are and refutes arguments that lots of additional
SMF records will be created. See MVS Technical Note in
Newsletter 32.
Change 15.061 Variables PCTDIRPT and PCTCUBSY in TYPE78CF dataset were
VMAC78 incorrect. The calculation of PCTDIRPT was changed:
Apr 26, 1997 Variable R783DPB is now INPUT where PCTDIRPT was, and
May 3, 1997 now the calculation of PCTDIRPT is changed to
IF (CHPIDTKN+R783DPB+PCTCUBSY) GT 0 THEN
PCTDIRPT=100*R783DPB/(CHPIDTKN+R783DPB+PCTCUBSY);
ELSE PCTDIRPT=.;
and the calculation of PCTCUBSY was changed to:
IF SUM(CHPIDTKN,R783DPB,PCTCUBSY) GT 0 THEN
PCTCUBSY=100*PCTCUBSY/SUM(CHPIDTKN,R783DPB,PCTCUBSY);
ELSE PCTCUBSY=.;
The SUM() statement is needed for PCTCUBSY calculation to
protect for missing values (old versions of RMF do not
have all three variables), but is not needed for PCTDIRPT
because that calculation is inside loops which guarantee
the existence of the three variables.
Thanks to Thomas Neurauter, Fidelity Systems, USA.
Change 15.060 For CICSEXCE observations from CICS/ESA, variables
VMAC110 DURATM and STARTIME were always missing, but now both
Apr 26, 1997 variables are created in CICSEXCE for consistency.
Thanks to Trevor Nightingale, SAS Institute Cary, USA.
Change 15.059 If a MIM record segment contained MIMCNT=0, Version 3
VMACMIM segments after the zero were not read, because the line
Apr 26, 1997 IF MIMCNT = 0 THEN DELETE; deleted the record. For the
Version 4 record, that statement had been commented out.
This change puts IF MIMCNT GT 0 THEN DO; ... END;
around both of the OUTPUT statements for both versions,
so only records with samples are output, but so that
a zero segment doesn't stop the scan for other segments.
Thanks to David L. Dittmar, IBM Global Services, USA.
Change 15.058 Variable R745CINT is now kept, formatted TIME12.3 and
FORMATS labeled in dataset TYPE74CA; it is the Cache interval
VMAC74 and is used in all rate calculations (instead of the
Apr 25, 1997 RMF variable DURATM). The IF CSCSS1='...1....'B line
misspelled CSCSDFM0='N', should be CSCSDFM1='N'. The
variables CSDEVPI and DEVPI have been incorrectly decoded
by format MGCACPI, which was replaced by MGCACPD. New
variables CSDPIDAT/CSDPIFAI/DEVPIDAT/DEVPIFAI are now
replacements for CSDEVPI and DEVPI. Format values for
MGCACRC format (for variable RCOL) were enhanced; this
field/format describes record level caching mode.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 15.057 New RACF events are now decoded by format MG80EV, with
FORMATS new Open Edition events, process actions, etc. It is
Apr 25, 1997 worth your while to read the list of possible events!
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Change 15.056 This utility is now a %MACRO which can be invoked with:
UTILCONT %UTILCONT(PDB=WORK);
Apr 25, 1997 to show the size (Megabytes, Observations, etc) of each
SAS dataset in the PDB= Data Library, with one line per
dataset. And it now works under Windows as well as MVS!
It still requires an //INSTREAM or FILENAME INSTREAM to
write to and read from (ok, it's crude, but it works,
especially when I have filled my WORK file and need to
see which datasets are big and which are small).
This is a structural revision of the earlier UTILCONT.
Thanks to Vickie Drake, Levi Strauss & Co.
Change 15.055 Inconsistency analysis of MXG code found several errors:
ASUM70PR -ASUM70PR. In the calculation of TOTSHARE=SUM(LP0SHARE,..
CICINTRV variable LPESHARE was repeated; the first instance of
DIFFTMDB LPESHARE should be LPDSHARE.
VMAC42 -VMACQAPM. Variable OS2CT16 should have been divided by
VMACQAPM 1000 and formatted TIME12.3, just like variable OS2CT14,
VMACTMDB and now it is. Variables ASBRCV ASBTRN LSBRCV LSBTRN
Apr 25, 1997 SDBRCV SDBREX SDBXMT SYBRCV SYBREX SYBXMT are now
formatted with MGBYTES. Variables ending with PWT in
QAPMSNA are formatted TIME12.3 now.
-VMAC42. Variables SMF42JNC and SMF42JND are now length
8 with format DATETIME21.2, and variable SMF42JNE is
format TIME12.3.
-VMACTMDB. Numerous previously unlabelled variables are
now labeled, and several DA9STCTx variables that were not
kept in TMDBDA2 dataset, now are.
-DIFFTMDB. Datasets TMDBDAB, TMDBDA2 and TMDBDAF are now
SORTed and Deaccumulated to create DURATM and ENDTIME
variables for these interval datasets.
-CICINTRV. The first statement A06TEOT=DIFTEOE should be
A06TEOE=DIFTEOE. The VMXGSUM for INDATA=SRTDLIR had
INVOKEBY comment of INTDBU instead of INTDLIR. Variable
A10IDQN appeared twice in KEEP= list for SORT of CICDQR.
Variable A17DSTSW was misspelled as A17DTSW.
Thanks to Chris Weston, SAS Cary, USA.
Change 15.054 TMON/CICS variables SYSTEM and SYSID were truncated to
TYPETMON only one byte as a result of Change 14.342. Statement:
Apr 25, 1997 IF SYSTEM=' ' AND SYSID=' ' AND TMMDREC='TA' ....
inserted by that change must be changed to read:
IF SYSTEM=' ' AND SYSID=' ' AND TMMDREC='TA' ....
(i.e., four blanks instead of one blank for SYSTEM &
SYSID). The inserted statement became the first
assignment of the two variables, so SAS used it to set
their length, in place of the later INPUT statements
that had previously defined the variable's lengths.
Thanks to Henry Schreiber, Amdahl, USA.
Change 15.053 First draft of MXG recommendations for SMF parameters
SMFPRM00 that are specified in member SMFPRM00 of SYS1.PARMLIB.
Apr 24, 1997 Extensive discussion of why options are recommended.
Will be expanded into discussion of
to synchronize or not to synchronize
to DDCONS(YES) or to DDCONS(NO)
system delays during the SMF interval pop.
Thanks to Henry Pomorski, Harris County, USA.
Thanks to Robert Rudd, Harris County, USA.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 15.052 Support for all AS/400 OS/400 Release 3.7.0 records. MXG
VMACQAPM had earlier supported only the critical records (CONF,
Apr 22, 1997 SYS,JOBS, and DISK), and had coded many new variables
Apr 25, 1997 added to the end of the records, but the incompatible
insertion of IOPRN (IOP RESOURCE NAME) was overlooked
until hit with test records. These datasets were
incompatibly changed between 3.6 and 3.7 by the insertion
of IOPRN: QAPMHDLC,ASYN,BSC,X25,ECL,STNL,ETH,STNE,DDI,
DDI,STND,FRLY,STNY,CIOP,DIOP,LIOP,MIOP,RESP,RWS,LAPD,IDLC
and QAPMIOPD. In addition, IBM incompatibly changed the
field lengths in QAPMPOOL, and fields were removed from
QAPMRESP, QAPMX25, & QAPMRWS. Existing variables named
CIDMAO/CIDMAI/DIDMAO/DIDMAI are now named CIKBY0/CIKBYI/
DIKBY0/DIKBYI, but MXG kept the original names and uses
conversion from KBytes back to bytes so MGBYTES format
will print same magnitudes before and after 3.7.0!
Thanks to Len Marchant, Coca Cola Enterprises, USA.
Thanks to Cheryl Howard, NationsBank, USA.
Change 15.051 Change 14.321 (CF Structures) added trap if number of QO
VMAC74 and SO sections were not equal (trap prints MXG DISCOVERY
Apr 21, 1997 NO STRUCTURE MATCH on log), but trap springs if there was
no QO section at all. While unexpected, I have added
protect for SMF744QN=0 while we talk with IBM to find out
why the record has Request Data sections but had no
corresponding Structure Data Section.
Thanks to Joe Schwartz, Cigna, USA.
Change 15.050 Protection for products that do not support year 2000 has
YEAR2000 been added in MXG Software. Windowing (00-59=20yy, 60-99
Apr 20, 1997 =19yy) has been added during INPUT of JULDATE fields if
the century bit is not enabled (i.e., where the record
vendor does not support the year 2000, MXG can still do
the right thing and create the correct year 2000 date.
A more extensive note and update to member YEAR2000 will
be written and this text will be revised.
As of May 5, JULDATEs have been windowed, but there are
other forms to be protected, and member YEAR2000 has not
yet been updated to identify the new category of products
that are now "MXG-protected".
Change 15.049 TIC_UTIL is now added to NPMLANOD and NPMINTRI datasets.
VMAC28 (It was calculated but not kept in NPMINTRI, and the
Apr 17, 1997 units of time-per-byte were corrected to nanoseconds in
NPMLANOD).
Thanks to Ian Hindshaw, Standard Bank of South Africa, SOUTH AFRICA.
Change 15.048 Variables SMF6FDNM (Form Def) and SMF6PDNM (Print Def)
IMACPDB are added to dataset PDB.PRINT, as they are often used to
Apr 17, 1997 determine print characteristics in analysis. They were
always captured in TYPE6 dataset, but were not in the
list of variables (in IMACPDB) to be kept into PDB.PRINT.
Thanks to Jerry Maier, First Chicago NBD, USA.
Change 15.047 ML-13 of ASMTAPES contains enhancements to provide error
ASMTAPES recovery for the mount monitor's AR code. ML-13 will not
Apr 17, 1997 correct these problems, but it will recover from them so
the monitor stays up. In addition, when the monitor is
run in "DEBUG" mode, an ABEND in ML-13 will generate an
SVC dump of both address spaces (monitor and monitored)
which will hopefully provide enough diagnostics data that
the next iteration will eliminate these errors. In
addition, there are two other fixes: ML-13 prevents S0C4
ABENDS when the TCBTIO is zero, and ML-13 corrects the
ALESERV return code in the TMNT008I message.
Thanks to Ruth Whitney, CITICORP, USA.
Thanks to Tom Parker, Hogan Systems, USA.
Thanks to Will Evans, Consolidated Freight, USA.
Change 15.046 Change 14.345 added code, but the 4DIGITUCB comment was
FMXGUCBL coded into column 72, causing an ASSEMBLY errors such as
Apr 13, 1997 BEGIN-TO-CONTINUE COLUMNS NOT BLANK. Move left one col.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt AG, Germany
Change 15.045 Datetime variables that had DATETIME18. formats are now
DOC DATETIME20., so as to display all four digits of years.
YEAR2000 I also observed that truncated DATETIME formats will not
Apr 13, 1997 display four-digit year for the date, hour, minute or
second truncations - I hoped DATETIME9 could be enhanced
to show the yyyy, but as it now prints seven positions,
and increase could cause existing applications to fail
(the wider field would shift right or overlay), so SAS
Institute cannot make the change.
value printed DATETIMExx. truncation
01FEB84 7-8-9 date,daily
01FEB84:22 10-11-12 hourly
01FEB84:22:33 13-14-15 minutely
01FEB84:22:33:59 16-17-18 secondly
01FEB1984:22:33:59 19-20-21-22 secondly,yyyy
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 15.044 Format $MGCICLO did not decode values 08x,09x,0Ax values
FORMATS but now it does into 08X:SDSA, 09X:ESDSA, and 0AXRDSA.
Apr 13, 1997
Thanks to Helmut Roese, COM Gmbh, GERMANY.
Change 15.043 Change 15.037 changed TYPE116 variable QWHCTNO from
VMAC116 &PIB.4. to &NUM.4., but data values that are not EBCDIC
Apr 13, 1997 numbers (eg., 004DF3D4x), so the input is changed back
back to &PIB.4., is now formatted as HEX8., and is now
kept as LENGTH 5 (to display all four bytes numeric, an
extra byte must be kept). I could have changed to a
character variable of length 4 with $HEX8 format, but
then prior TYPE116 datasets would be incompatible with
newly build TYPE116, so I kept the variable as numeric.
I am also asking IBM if these values are expected for
the CICS Thread Number - their answer was that it really
is a token and is not necessarily a number.
Thanks to Helmut Roese, COM Gmbh, GERMANY.
Change 15.042 Tandem Disk Drive subtype 30 is now 30:4GB/4260.
FORMATS (It was decoded as 30:3GB before format MGTANDS was
Apr 13, 1997 corrected by this change). Tandem Disk Drives type
Apr 25, 1997 4245,4255,4265,4560, and 4570 are now decoded.
Thanks to Hannu Koski, SJ Data, SWEDEN.
Change 15.041 Cosmetic. The JCL example for the //CONTENTS DD did not
UTILCONT have BLKSIZE=, but now it does.
Apr 1, 1997
Thanks to Vickie Drake, Levi Strauss & Co., USA.
Change 15.040 IBM can write type 72 subtype 2 (TYPE72MN - RMF III MON)
VMAC7072 records with zero for DURATM, which caused DIVISION BY
Apr 1, 1997 ZERO error, so protection was added to protect PGINRATE:
IF DURATM GT 0 THEN PGINRATE=MONPGIN/DURATM;
These zero duration records occurred under MVS/ESA 5.2.2
and have strange values for SWAPDLUS and SWAPDLIC but
other variables have reasonable values, and the STARTIME
was 15:20:00.00, SYNCTIME 14:27:54.81, and the SMFTIME
was 15:27:59.91, so why DURATM is zero is unknown.
Thanks to Martin Peck, CA-IT/BM, AUSTRIA.
Change 15.039 IBM's "MVS PSF DOWNLOAD" product created invalid SMF type
VMAC6 6 records (SMF6LN3/SMF6LN6 are located two bytes beyond
Apr 1, 1997 where they should be). APAR OW23937 reports the error,
and PTF UW34926 corrects the error, but bad records can
be read by MXG by conditionally INPUTing the two LENx
fields as PIB4 instead of PIB2 by inserting:
IF LENGTH=274 THEN INPUT @OFTONXT SMF6LN3 &PIB.4. @;
ELSE
before the existing:
INPUT @OFTONXT SMF6LN3 ..... statement
and by inserting
IF LENGTH=274 THEN INPUT @OFTONXT SMF6LN6 &PIB.4. @;
ELSE
before the existing:
INPUT @OFTONXT SMF6LN6 ..... statement
NOTE: This Change was NOT made to MXG Software, but is
only printed here for temporary circumvention to read
records created prior to the installation of the PTF.
Thanks to Hal Merritt, Texas Commerce Bank, USA.
Change 15.038 -Dataset TYPE72GO variable R732CIRC is now R723CIRC to be
VMAC7072 consistent with other subtype 3 type 72 variables.
Apr 1, 1997 -The calculation of NRPTRANS was incorrect, which also
caused the calculation of PERFINDX for Percentile Goals
to be incorrect.
The equation that was: NRPTRANS=TRANS*TRANEXEC/100;
is now: NRPTRANS=TRANS*R723CPCT/100;
-IBM's RMF report calculation of PERFINDX for Percentile
Goal Service Classes can be wrong, producing a value that
is greater than true, especially when the number of TRANS
is small. IBM sums transactions until the sum is GT the
percentage goal, but the definition in the SRM (and now
in MXG) should stop when the sum is GE. For example,
with 10 transactions and a 70% goal value
bucket: 1 2 3 4 5 6 7 8 9 10 11 12 13
RTSMAP: .5 .6 .7 .8 .9 1.0 1.1 1.2 1.3 1.4 1.5 2 4
RTSTRN: 3 0 1 2 1 0 1 0 0 0 0 1 1
RMF counts to the 7th bucket, setting PERFINDX=1.1, but
MXG and the SRM stop at the 5th bucket, PERFINDX=.9,
because 7 out of 10 transactions did meet the goal!
The equation IF SUMPTRAN GT NRPTRANS THEN DO;
was changed to IF SUMPTRAN GE NRPTRANS THEN DO;.
-26Jun97: The following error was originally documented
here in April, 1997, but now has been corrected by APAR
OW26609. See MVS Technical Note 22 in Newsletter 32:
Variable R723CIRC appears very right in lots of cases,
but is very wrong in some Service Class data (notable,
TSO, which has multiple periods) when compared to
TYPE30 interval data. This is still under investigation
but it is most likely an IBM error in RMF
daccumulation in multiple period service classes for
this new variable. The numbers on the RMF report look
fine, because RMF only prints the avg time per I/O
(R723CICT/R723CIRC); it looks like both fields are each
wrong! For 5 periods of TSO in a 30 minute interval:
R723CIRC R723CICT R723CIWT R732CIDT ACTIVETM TRANS
23179776 15:45:17.81 2:18:18.80 6:23:29.81 0:01:28 1309
177746 0:07:53.98 0:01:07.03 0:03:24.63 0:01:22 358
342664 0:13:54.80 0:02:06.71 0:05:55.51 0:04:44 378
10639 0:00:29.34 0:00:04.83 0:00:02.56 0:00:49 10
5180 0:00:13.68 0:00:01.76 0:00:00.94 0:02:19 6
That is 16 hours of connect time in 30 minutes (or 32
I/O concurrently transferring data during the entire
interval) or is 13,000 SSCH per second? I think not!
Clearly, APAR OW26609 must be installed to correct!
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Dale Mattison, Shared Medical Systems Corporation.
Change 15.037 The INPUT of TYPE116 variable QWHCTNO must be changed
VMAC116 from &PIB.4. to &NUM.4. (since the value is an EBCDIC
Mar 29, 1997 number) and the INPUT of variable QWHCTASK must be
changed from &PIB.4. to &PD.4. But see Change 15.043.
Thanks to Helmut Roese, COM GmbH, GERMANY.
Change 15.036 Duplicate.
Change 15.035 The INPUT of TYPE80A variable ACEEUSER was increased from
VMAC80A $VARYING20. to $VARYING30., as data of length 25 was
Mar 29, 1997 found at one site, and an MXG note prints on the SAS log
if a longer length string is found in your data. lmut
Thanks to HeRoese, COM Gmbh, GERMANY.
Change 15.034 CICS Statistics variable A08BKHSW must be INPUT &PIB.2.
VMAC110 and +2 instead of &PIB.4., as it is only a half-word that
Mar 29, 1997 is followed by two reserved bytes.
Thanks to Helmut Roese, COM Gmbh, GERMANY.
Change 15.033 Change 12.264 for IMF variables ABENDSYS and ABENDUSR was
VMACCIMS only correct for old IMF 1.2, and only for ABENDSYS. The
Mar 29, 1997 revised algorithm to decode the two intermingled fields
(stored as xxSSSUUU in four bytes) now reads:
@117+OFFIMS +1 /*SKIP OVER XX OF XXSSSUUU: */
@118+OFFIMS ABENDSYS &PIB.2. /*OVERLAY 117 118 119 120 */
@119+OFFIMS ABENDUSR &PIB.2. /* XX SS SU UU */
/* +1 ABENDSYS */
. /* +1 +1 ABENDUSR*/
The first byte is skipped, the second two bytes are input
into ABENDSYS as PIB2., the third and fourth bytes are
INPUT in ABENDUSR as PIB2. Then, after the INPUT ends,
in both the old 1.2 and later 1.3 groups, this code:
ABENDUSR=MOD(ABENDSYS,16)+ABENDUSR;
ABENDSYS=FLOOR(ABENDSYS/16);
creates ABENDSYS=0013x and ABENDUSR=0000x from 00013000x
(ABENDUSR must be done first, because it uses ABENDSYS
which then stores into itself).
Thanks to M. Nicolas, BNP, FRANCE.
Change 15.032 Variable SERVUNIT was only length 4 in PDB.STEPS and in
BUILD005 PDB.SPUNJOBS, but it should have been length 5 (since
BUIL3005 Change 14.214). The LENGTH statement following PDB.STEPS
BUILDPDB now has SERVUNIT 5 added in the BUILxxxx members,
BUILDPD3 as does the LENGTH statement following PDB.SPUNJOBS in
SPUNJOBS member SPUNJOBS.
Mar 27, 1997
Thanks to Trevor Ede, Bank of New Zealand, NEW ZEALAND.
Change 15.031 Warning message that datasets WORK.INTxxx don't exist is
BUILD004 because the datasets were deleted in both CICINTRV and
BUILDPDB the BUILD004/BUILDPDB/BUILDPD3 members. Since these are
BUILDPD3 CICS only datasets, the DELETE belongs in CICINTRV and
Mar 27, 1997 they are removed from the DELETE in the three BUILDxxx
members.
Thanks to Martin Peck, CA-IT/BM, AUSTRIA.
Change 15.030 When SOFTAUDIT is enabled to collect data only at the JOB
VMACSFTA level, the record is only 115 bytes long, so the test
Mar 27, 1997 IF LENM=131 THEN DO; must be changed to:
IF LENM=115 OR LENM=131 THEN DO;
Thanks to Rick Green, Comerica, Inc, USA.
Change 15.029 -Error in MXGCHAN macro caused RMF Channel Reports to fail
ANALRMFR with a syntax error. The statements &PDB..TYPE73 ; and
Mar 27, 1997 &&PDB&I...TYPE73 ; must have those semicolons removed.
-All of the "PROC PRINT"s and their TITLE statements
should have been deleted (they were debugging prints) to
save paper (or at least SPOOL space!).
Thanks to Michael Creech, Alltel Information Services, USA.
Change 15.028 Variable RVDSNAM1 (FIRST FILE*DATASET*NAME) is now INPUT
VMACEDGR (immediately after RVMEDATR) and kept in RMM dataset
Mar 27, 1997 TYPEEDGR; I'm not sure when this field was added by IBM.
Thanks to Ben Cowan, UCCSN System Computing Services, USA.
Change 15.027 NTSMF discovered new objects created by COMPAQ so four
EXNTCMBU new datasets are now created from these objects:
EXNTCMCN CMPQBUSU Compaq EISA/PCI Bus Utilization
EXNTCMDV CMPQCTLR Compaq 32-Bit SCSI-2 Controllers
EXNTCMNF CMPQDEVS Compaq 32-Bit SCSI-2 Devices
IMACNTSM CMPQCMNF Compaq NetFlex-3 Network Driver
VMACNTSM I note that the Controllers record appears to have a per-
Mar 26, 1997 controller record with CTRLNAME containing the name of
Apr 28, 1997 the controller (eg. \\.\Scsi0) and a second interval
record with CTRLNAME blank (which I assume is an interval
total, but have not had two controllers' data for
verification). Revised Apr 28: NTSMF Version 2.0 adds
two new fields NTVERSN (NT VERSION, 4.0) and NTVERSP (NT
SERVICE PACK, SPK1) to the header of each NTSMF record.
The variables are kept in the PROCESOR dataset and in
dataset NTINTRV (although they will be blank until you
install NTSMF Version 2.
Thanks to Richard Clary, Entergy, USA.
Change 15.026 The new VELOCITY calculation for OS/390 Release 3
VMAC7072 includes I/O delay time if it was enabled (see Change
Mar 25, 1997 14.318), but some sites may need to know the old or new
May 29, 1997 velocities before they are enabled, so two new variables
were introduced:
VELOCCPU 'CPU ONLY*EXECUTION*VELOCITY'
VELOCIOD 'I/O DELAY*EXECUTION*VELOCITY'
and are kept in both TYPE72 and TYPE72GO datasets. The
variable VELOCITY will continue to contain the actual
velocity, and variable R723VELI='Y' will flag whether or
not the value of VELOCITY contains I/O DELAY time.
Text of this change was incorrect until May 29, 1997, but
the above change was made to the code in March.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 15.025 A typo had real impact - variable BATCHMAX was renamed to
TRNDRMFI MATCHMAX. The correct spelling is BATCHMAX.
Mar 25, 1997
Thanks to Dave Schultz, First Card, USA.
Change 15.024 A typo had minor impact - a FORMAT statement was absorbed
TYPEIMSB as a comment because a comment was not terminated. The
Mar 25, 1997 INFILE IMSSUMS0 END=END; /* comment .... text *
should have ended with */
Thanks to Kristyann Manske, University of Wisconsin-Milwaukee, USA.
Change 15.023 TYPE70 variable PCTMVSBY was wrong (although it did match
VMAC7072 IBM RMF report values) for Amdahl MDF domains with some
Mar 25, 1997 shared and some dedicated CPUs. The MXG equation was
(CPUUPTM-MVSWAITM)/CPUUPTM=58:56-16:00/58:56=43/59=72.8%,
but that assumed the total dispatch time of all CPUs was
CPUUPTM=NRCPUS*DURATM or 59 minutes, when in fact the
true dispatch time was only 46 minutes, and the true CPU
busy time was 30 minutes, and not 43 minutes as shown
below:
The MDF partition had DURATM=14:44.05 with CPUs 0 and 3
given 100% target allocation but CPUs 1 and 2 were shared
with only 55% target allocation for this partition:
LCPUn CPUPDTMn CPUWAITn MVSWAITn MVSBUSYn
0 14:43.99 5:42.42 5:42.37 9:01.62
1 8:35.56 8:22.62 2:14.13 6:21.43
2 8:35.18 8:19.20 2:10.34 6:24.84
3 14:43.92 5:53.71 5:53.59 8:50.33
CPUPDTTM CPUWAITM MVSWAITM CPUACTTM
total 46:38.65 28:17.97 16:00:43 30:38.22
CPUACTTM has 30:38 minutes of actual CPU seconds for the
partition, and CPUPDTTM has 46:30 minutes of dispatch,
so the true PCTMVSBY (percent of dispatch time when this
MVS was busy) is 30/46 or 65.7% (versus IBM's 72.8%) so
the revised MXG equation is now:
PCTMVSBY=100*CPUACTTM/CPUPDTTM;
(IBM footnotes that their value is the arithmetic mean,
which if correct if each LCPU is dispatched equally as
is the case with their PR/SM, so they implied you should
be wary, but apparently IBM won't modify its RMF reports
for MDF idiosyncrasies - but MXG does!).
The variable CPUUPDTM (total partition dispatch time) is
also now calculated and kept in TYPE70 dataset.
This site also enabled the old Amdahl MDF option "Wait
Complete=No Reporting" (see Change 12.289), but that
option appears to be useless when engines are shared
between domains; while the real CPU usage is known, that
option loses the domain dispatch time, so you can never
know what was the capacity available to each
domain/partition.
Thanks to Kirk Poore, Union Electric, USA.
Change 15.022 Old HP-PCS and new HP-MW code still had date litterals of
VMACHPAI JAN70 (the epoch of the Unix Clock) that are now changed
VMACMWAI to JAN1970. (With YEARCUTOFF default, SAS would have set
Mar 19, 1997 the correct date, but it is MXG's intention to support
the year 2000 intrinsicly, rather than thru YEARCUTOFF).
Thanks to Graeme Yeandle, British Telecom, ENGLAND.
Change 15.021 -Variables EDGSADTE and EDGSARSD are added to DATE9 format
FORMATS and the ELSE was removed from ELSE IF after the INPUT of
VMACEDGS EDGSAFLG in the ID=_IDEDGUS logic block (because records
Mar 19, 1997 from SMF were not INPUT due to the extraneous ELSE).
Mar 29, 1997 -Variable EDGSASID must be input as $EBCDIC4. instead of
$EBCDIC8. in the EDGSSECU dataset - not only was EDGSASID
wrong, but all following fields were too, but fortunately
the EDGSSECU data set is just now being investigated!
-Value 18:SAF CALL was added to the MGACFDA format in
member FORMATS for ACF2.
Thanks to Pete Young, University of Toronto, CANADA.
Change 15.020 JES3 BUILDPD3 created additional PDB.JOBS/PDB.STEPS obs
BUILDPD3 that contained only TAPEMNTS TAPFETCH SMFTIME, because
BUIL3005 multiple TYPE25 observations were inadvertently created.
Mar 19, 1997 In the logic following DATA ONE25;, find the statement
TAPEMNTS=MOUNT; and insert the statement OUTPUT;
immediately following (and before the END;).
Thanks to Neal Musitano, Jr., Department of Veterans Affairs, USA.
Change 15.019 Variable ULOGADAE was changed to be INPUT as &PIB.4.3
VMACCOMP in only one statement, but there were two overlooked
Mar 19, 1997 statements for ULOGADAE that are now also changed.
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Change 15.018 -The Label for dataset TYPE8011 should be ALTDSD and not
VMAC80A ADDUSER.
Mar 19, 1997 -Variable USERID was inadvertently removed from TYPE8014
dataset in MXG 14.14, so USERID was added to KEEP= list
for dataset TYPE8014, and the 1st occurrence of USEROWNR
after ELSE IF RACFEVNT=14 THEN DO; after WHEN (6) was
changed back to USERID, so both USERID and USEROWNR will
be kept in TYPE8014 dataset.
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Change 15.017 Support for CA-ROSCOE Version 6 SMF Record has been
VMACROSC verified (i.e., the V6 records do not cause MXG to fail
Mar 18, 1997 although I have not yet verified with the DSECT).
Thanks to Bob Bunt, NYSEG, USA.
Change 15.016 Support for CA-DISPATCH Version 6 and five-digit JESNR.
IMACCADI CA relocated the five-digit JESNR to a new area at the
VMAC6 end of the record, and new fields CADIARCH and CADIBUND
Mar 14, 1997 are now created (only if you enable CADI support in the
IMACCADI tailoring member).
Thanks to Kenton O'Brien, Barclays, ENGLAND.
Change 15.015 Support for Anacom's Anastack product (spools data to
VMAC6 microfiche, etc.) which writes a type 6 SMF record. The
Mar 14, 1997 record is an "External Writer" record (DEVICE='EXT WTR')
so many of the JES-only and PSF-only fields will be
missing, but the event, JOB, and number of lines are
captured. No code was changed in MXG, since external
writer records are already supported.
Thanks to Dave Crandall, Farmers Group, USA.
Change 15.014 Change 14.245 (added variables to some BY statements to
WEEKBLD better protect for duplicate SMF records in BUILDPDB) was
WEEKBLDT not fully implemented in WEEKBLD and WEEKBLDT, so the BY
Mar 12, 1997 lists are not exactly the same, but there should be no
execution error. Now, the BY lists are consistent.
Thanks to Tom Parker, Hogan Systems, USA.
Change 15.013 Variable SSTORE72 (Shared Pages Bytes) is now created in
VMAC7072 dataset TYPE72GO, for consistency with variables
Mar 12, 1997 CSTORE72 ESTORE72 TSTORE72 that were added earlier.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 15.012 -NTSMF records from NT 3.51 for SQLSERVER, SQLSERVER-LOCKS
IMACNTSM and SQLSERVER-LOG have fewer fields than NT 4.0; now that
VMACNTSM I have raw records, MXG was enhanced to support these NT
Mar 12, 1997 3.51 records.
Thanks to Richard Clary, Entergy, USA.
Change 15.011 Variable SMF744PN was added to dataset TYPE74CF to count
VMAC74 the number of processors in this Coupling Facility. You
Mar 11, 1997 you could have derived the number from CFNUM01-CFNUM16,
by counting, but you should not have to!.
Thanks to Rick Poliak, Amdahl, USA.
Change 15.010 Support for Landmark's "Performance Works/Smart Agents
ADOCPW for UNIX" dumped output (see ADOCPW for syntax of their
EXPWACCT dump command) creates twenty new PWPxyyyy datasets:
EXPWCPUP From Product Detail records:
EXPWDEVD Dataset Name Description
EXPWDEVS PWPDACCT PROCESS ACCOUNTING
EXPWFSL PWPDFSL LOCAL FILE SYSTEM CAPACITY
EXPWFSR PWPDFSR REMOTE FILE SYSTEM RECORD
EXPWMESS PWPDPD PROCESS DETAIL
EXPWNCO PWPDPDI PROCESS DETAIL INTERVAL
EXPWNIND PWPDPDS PROCESS SUMMARY
EXPWNINS PWPDPGM PROGRAM RECORD
EXPWNSO PWPDTERM TERMINAL SUMMARY RECORD
EXPWPD PWPDUFSQ QUOTAS RECORD
EXPWPDI PWPDUFSS USER FILE SYSTEM STORAGE
EXPWPDS PWPDUSER USER SUMMARY RECORD
EXPWPGM From Product Interval records:
EXPWPI Dataset Name Description
EXPWTERM PWPICPUP PROCESSOR RECORD
EXPWUFSQ PWPIDEVD DEVICE USAGE INTERVAL
EXPWUFSS PWPIDEVS DEVICE USAGE SUMMARY
EXPWUSER PWPINCO NFS CLIENT OVERVIEW
IMACPW PWPININD NETWORK INTERFACE INTERVAL
JCLPW PWPININS NETWORK INTERFACE SUMMARY
TYPEPW PWPINSO NFS SERVER OVERVIEW
VMACPW PWPIPI SYSTEM SUMMARY RECORD
Mar 11, 1997 From Product Log records:
Dataset Name Description
PWPLMESS CONSOLE MESSAGES TEXT
Landmark's initial response to documentation was to use
the "ODBC" interface to their database, but this could
only work if you intended to run SAS on the UNIX system
you are measuring, so MXG's more general solution is to
use their ASCII dump of the data store, so you can ship
the raw ASCII data (convert to EBCDIC during transfer) to
OS/390 for processing there like your other "SMF" data.
(The MXG code will also work fine on UNIX or WINDOWS to
directly process the dumped ASCII.)
Unfortunately, their dump has no selectivity of fields,
so you must dump all fields of each record (the CPUP has
32 fields in the Data Model, but 105 fields in their data
store!). And you cannot select the interval; you get all
all six drawers: minute,hour,day,week,month,and year.
And of course, being typically-UNIX, the drawer values
are m,H,d,w,M,Y, with upper and lower case "m" in use for
two different drawers - a nice exposure to coding errors
that mandates VMACPW must be in mixed-case!!!!! In spite
of these deficiencies, the process does work so that you
can monitor your UNIX resources with Landmark's PW
replacement for The Monitor for Unix, formerly TYPETUX.
Thanks to Dan Sedorik, SmithKlein Beecham, USA.
Change 15.009 Support for APAR OW25152 that adds PRINTWAY Print Queue
VMAC6 Name SMF6PRTQ to TYPE6 dataset, compatibly made. I have
Mar 7, 1997 assumed a maximum name length of 16 to save storage. The
Jul 14, 1999 PRINTWAY internal subsystem value of SMF6SBS='0009'x is
used by MXG to set SUBSYS='TCP' for PRINTWAY records.
See Change 17.171 for PRINTWAY impact on TYPETASK.
Change 15.008 -Wrong values for CSCONF,CSAVAIL,CSOFFL,CNCONF,CNPINNED
VMACACHE and CSSTAT with Hitachi 7700, probably due to bad IBM
VMAC74 SMF documentation rather than Hitachi. In the SMF manual
Mar 7, 1997 CSSTAT='....1111'B is the 3990-6 Enhanced Mode flag, and
that is the value in IBM 3990 records, but IBM's Storage
Control manual GA32-0274 documents CSSTAT='.......1'B as
the expected value, and that is the value in Hitachi 7700
records (which are in fact in Enhanced Mode format)! To
support both IBM and Hitachi, MXG's test is changed to:
IF CSSTAT='.......1'B THEN DO;
(The storage sizes are in units of 1024 bytes in the
3990-Enh format records, or are in bytes if not.)
-In VMAC74, the label for CSSTAT is 3990-6 (vice 3880-6!).
-A second HDS 7700 problem: with 3GB of cache, 4080GB of
cache is reported! (Raw data value is 'FF040000'X). PTF
UW36274 may address, but Hitachi is investigating and
this note will be updated when more is known.
Thanks to Miller Dickson, DST Systems Inc, USA.
Change 15.007 Analysis of APAF Shared processors used NUMLP (the number
ANALAPAF of total engines) to calculate PHY_BUSY, but using number
Mar 7, 1997 of engines available to this domain, LINUMLPS, makes more
sense.
Thanks to Gary Strohminger, AT&T Transtech, USA.
Change 15.006 ERROR: WORK.CICINTRV.DATA DOES NOT EXIST if you changed
CICINTRV IMACCICS to write CICS Statistics to the //WORK DD.
Mar 7, 1997 Move the PROC DATASETS; DELETE CICINTRV; to the bottom
of member CICINTRV to correct my error.
Thanks to Fred Kaelber, Pacific Bell, USA.
Change 15.005 Cosmetic. Label for variable SMF42EAC should have been
VMAC42 ACTIVATE*ENF OR*VARY SMS (instead of VARY SMF).
Mar 7, 1997
Thanks to Solomon Baker, Prudential, USA.
Change 15.004 OS/390 V 1 Rel 3 type 72 record INPUT STATEMENT EXCEEDED
VMAC7072 RECORD LENGTH error. The statement SKIP=SKIP-24; that
Mar 1, 1997 is after the statement R723CIDT=128*R723CIDT; must be
changes to SKIP=SKIP-68;
Thanks to Perry Gibson, Candle Corporation, USA.
Change 15.003 All OMVS File Activity datetimestamps were in GMT, but
VMAC92 are now converted from GMT to local (using the same
Feb 27, 1997 algorithm introduced in Change 14.311). In TYPE9210, the
close time, SMF92CTC, is often .01 seconds later than the
SMFTIME value, which in theory should not happen, but is
valid because SMFTIME informat is truncated to .01 sec
resolution while TODSTAMP (SMF92CTC) informat has micro
second resolution that is rounded to .01 seconds by the
DATETIME21.2 format. A true time of .026 seconds will
be .02 input as SMFTIME and .026 if input as TODSTAMP,
but will print as .02 and .03 respectively with the
DATETIME21.2 format (increasing that format to 22.3
would show the .026 value).
Thanks to Perry Gibson, Candle Corporation, USA.
Change 15.002 Variable TERMIND was added to the _PDB30_4 macro so it is
IMACPDB now kept in PDB.STEPS, as enhancement for ABEND decoding,
Feb 27, 1997 in case of multiple bits.
Thanks to Dan Adams, Facilities Systems Office (FACSO), USN, USA.
Change 15.001 File counts were not properly decoded in TYPETMON, and
TYPETMON one MXG 14.14 change made it worse! The statement
Feb 22, 1997 FILECOL=TAFATOFF+6+LOC-LENMONI; must be changed to
FILECOL=TAFATOFF+1;
In addition, MXG 14.14 added a block of code
LOC=COL; INPUT SYSID .... SYSTEM $EBCDIC4 @LOC @;
but both "LOC"s must be changed to "TLOC".
Thanks to Bob Hall, USA Group, USA.
LASTCHANGE: Version 15
=========================member=CHANGE14================================
/* COPYRIGHT (C) 1984-1997 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is MXG Version 14.14 is dated Feb 21, 1997, thru Change 14.352.
Newsletter THIRTY-ONE was dated Feb 21, 1997, thru Change 14.343
2nd MXG Version 14.11 was dated Feb 4, 1997, thru Change 14.324
1st MXG Version 14.11 was dated Feb 3, 1997, thru Change 14.323
MXG Version 14.10 was dated Jan 10, 1997, thru Change 14.299
MXG Version 14.09 was dated Dec 17, 1996, thru Change 14.295
MXG Version 14.08A was dated Nov 18, 1996, thru Change 14.275
MXG Version 14.08 was dated Nov 13, 1996, thru Change 14.271
MXG Version 14.07 was dated Sep 11, 1996, thru Change 14.221
Newsletter THIRTY was dated Sep 10, 1996, thru Change 14.209
early MXG Version 14.07 was dated Sep 10, 1996, thru Change 14.209
MXG Version 14.06 was dated Aug 20, 1996, thru Change 14.191
MXG Version 14.05 was dated Jul 15, 1996, thru Change 14.160
MXG Version 14.04 was dated Jun 13, 1996, thru Change 14.132
MXG Version 14.03 was dated May 27, 1996, thru Change 14.114
MXG Version 14.02 was dated Apr 25, 1996, thru Change 14.096
MXG Version 14.01 was dated Mar 7, 1996, thru Change 14.051
MXG Version 13.13 was dated Jan 20, 1996, thru Change 13.332
Newsletter TWENTY-NINE, dtd Jan 20, 1995, thru Change 13.323
Contents of member CHANGES:
0. Table of contents of NEWSLETTER THIRTY-ONE (see member NEWSLTRS).
I. MXG Software Version 14.14 Status.
1. Announcing email, WWW.MXG.COM home page, and MXG-L LISTSERV.
2. MXG Software Version 14.14, dated Feb 21, 1997, was shipped.
3. What products are not yet supported?
II.-X. Technical Notes are in Newsletter THIRTY-ONE.
IX. Incompatibilities and Installation of MXG 14.14.
X. Online Documentation of MXG Software.
XI. Changes Log
0. Table of contents of NEWSLETTER THIRTY-ONE:
MXG NEWSLETTER NUMBER THIRTY-ONE February 21, 1997
Technical Newsletter for Users of MXG : Merrill's Expanded Guide to CPE
TABLE OF CONTENTS Page
I. MXG Software Version 14.14 was shipped with this newsletter. 2
1. Announcing email, our www.MXG.com home page and the MXG-L LISTSERV 2
2. MXG Software Version 14.14, dated Feb 21, 1997, was shipped. 2
II. MXG Technical Notes 7
1. MXGTMNT's Tape Allocation Monitor logic at MAINTLEV 9. 7
2. If MONTHBLD fails due to NOTSORTED error due to skipped version. 7
III. MVS Technical Notes. 7
1. APAR OW15356 now writes type 21 SMF records 7
2. APAR OW10686 corrects errors in counting I/Os in type 30 records 7
3. MVS/XA type 30 subtype 2, 3, & 4 with hex zeros for JOB. 7
4. Increased Logical Swaps becoming Physical Swaps with Goal Mode. 7
5. Type 74 subtype 5 Cache record (TYPE74CA) has duplicates. 7
6. APAR OW23225 EXCP counts zero in TYPE30 for VSAM RLS datasets. 8
7. Boole & Babbage CMF 5.2 creates type 72 with STARTIME 1 sec off. 8
8. APAR OW23872 for 3590 Model A00 Control Unit serial number wrong. 8
9. APAR OW23814 documents errors in DCOLLECT type A DCAFLAG1. 8
10. Media Manager EXCP counting for DB2 VSAM in 30 and 72s. 8
11. TCP/IP SMF records with invalid data for FTPCLIENT. 8
12. Type 6 CA-DISPATCH non-matching READTIME values. 8
13. Slow TSO Logon duration due to massive STEPLIBs. 8
14. Type 42 records were enhanced by APAR OW20866 (DCME enhancements). 9
IV. DB2 Technical Notes. 9
1. Where have all the DB2 buffer pools data gone? 9
2. Number of observations in DB2ACCT no longer counts plans. 10
V. IMS Technical Notes. 10
1. Boole & Babbage IMF had negative values for RESPTM 10
2. Boole & Babbage IMF caused 10% increase in CPU time in MVS 5.2.2. 10
VI. SAS Technical Notes. 10
1. SAS USER ABEND 318 with SAS 6.08 at TS425 with 4-digit UCB. 10
2. SAS note 8243: SAS data libs cannot be hdw compress or striped. 10
3. IBM APAR OW14045 causes SYNCSORT to ABEND with 0C4 under SAS. 10
4. SAS Usage Note 5637 (from 1992) - how to ftp V VB VBS files. 10
5. If you use the FILE command from a Display Manager Session. 11
6. Algorithm to count the number of bits that are on in a bit flag. 11
VII. CICS Technical Notes. 11
1. APAR PN70228 has extensive discussion of Short on Storage. 11
VIII.Windows NT Technical Notes. 11
1. MXG Support for Windows NT with Demand Technology's NTSMF-WHY? 11
2. So what is NTSMF and what measures do you get from NT registry? 12
IX. Incompatibilities and Installation of MXG 14.14. 20
X. Online Documentation of MXG Software. 21
XI. Changes Log 23
Alphabetical list of important changes 23
Changes 14.343 thru 14.210 26-48
COPYRIGHT (C) 1997 MERRILL CONSULTANTS DALLAS TEXAS USA
I. MXG Software Version Status.
1. Announcing email, our WWW.MXG.COM home page, and the MXG-L LISTSERV.
My new email address is BARRY@MXG.COM (replacing mxg@e-mail.com), an
administrative matters can be sent to ADMIN@MXG.COM, or can be faxed
I have, to some extent, embraced email, especially for receiving SMF
data and for sending new members to beta sites for new support tests
and I do try to check my email once a day. I still find that fax is
often faster (I check it much more frequently as it is beside the
coffee pot!) but for hex dumps, the virtues of email over fax are
both its legibility, and its machine readability for searching.
If it is really critical, email the information, fax a reminder for
me to logon, and call me to remind me to look at the fax machine!
I still prefer to answer technical questions by phone whenever I can
Our home page has been operational since November 1996, and it has
the up-to-date status of the current MXG version. (MXG 14.14 is the
15th release since MXG 13.13, the last annual version). On the home
page you will find these members from the current version: CHANGES
(status of what MXG version you need for what), YEAR2000 (status of
other vendor's fixes), CHANGESS (all changes to all MXG versions),
and NEWSLTRS (text of all MXG newsletters). While the Annual Softwar
Version and Newsletter shipment sent in First Quarter, and the Summe
Newsletter sent in Third Quarter are still the primary MXG formal
communications, more current information is always on the home page.
Instructions on how to subscribe to the MXG-L LISTSERV, an e-mailing
list, are also on our home page. When you subscribe, any e-mail
sent to MXG-L will be rebroadcast to all subscribers. All MXG-L
notes are viewable in the MXG-L Archive, and you do not need to be
a subscriber to view the archive. MXG-L is intended as a forum for
technical questions among MXG users. It is not moderated, but is
monitored. It also provides me with an easy way to let you know
there is something worthwhile that has changed; for example, I email
to the MXG-L list when there is a new MXG version available.
2. MXG Software Version 14.14, dated Feb 21, 1997, was shipped to your
site with this Newsletter.
Major enhancements added in MXG 14.14 dated Feb 21, 1997:
MXG is now distributed as an unnumbered dataset.
MXG now converts DB2 GMT times to Local (Check you Exit Tailoring)
Support for OS/390 Version 1 Release 3 (Compatible)
Support for APAF Version 3.
Support for NPM APAR OW17875 type 28 new subtype 2Ax.
Support for Landmark's The Monitor for CICS/ESA 1.5 (easy - no change
New ASUMUOW to combine CICSTRAN and DB2ACCT by unit of work.
PROCSRCE member is "Proc Source" for ASCII SAS.
DB2GBPST dataset is now deaccumulated and usable.
Major enhancements added in MXG 14.11 dated Feb 3, 1997:
NTSMF support for 3.51, more data sets verified, record protects.
Support for new Type 42 subtype 19 and changed subtypes 15-18.
MXG Tape Mount and Tape Allocation Monitor ML11 in ASMTAPES
Coupling Facility Structure Data TYPE74ST enhancements.
DB2 GMT times now converted to local - see INCOMPATIBILTY SECTION.
MXGSAS JCL Procedure finally corrected!
Major enhancements added in MXG 14.10 dated Jan 10, 1997:
Windows NT support using NTSMF significantly enhanced and documented.
See "Windows NT Technical Notes" or member ADOCNTSM.
Major enhancements added in MXG 14.09 dated Dec 17, 1996:
Support for Demand Technology's NTSMF "SMF for Windows NT" product.
Support for Demand Technology's Stress Test product's SMF record.
Support for IBM VTAM Session Management Exit's SMF record
Major enhancements added in MXG 14.08A dated Nov 18, 1996:
Correction to VMAC74 INVALID DATA message for R744FCTM,FCSQ.
Major enhancements added in MXG 14.08 dated Nov 13, 1996:
Support for OS/400,AS/400 Release 3.7.0 and Release 3.6.0.
Support for CA's ENDEAVOR SMF record.
Support for APAR OW22209,OW25262 bytes read/written.
Support for HP's Measureware for AIX.
Support for Applied Software's SUPER IND$FILE SMF.
Support for Oracle Release 7.2.3 SMF record.
Support for RACF 2.1 IRRDBU00 unload utility.
Petabytes now formatted. (1024 Terabytes=1 Petabyte).
The TAILORNG= JCL parameter causes JCL error.
Support for RMF type 74 subtype 100 IRLM long locks.
Support for Interlink's Harbor 4.1 SMF record
Support for RSD's EOS SMF record (INCOMPATIBLE, not in 14.07).
Support for Boole and Babbage's PRO/SMS SMF Recovery Record.
Major enhancements added in MXG 14.07 dated Sep 11, 1996:
Support for Desktalk's TRENDSNMP IFENTRY SNMP data.
Support for Candle's Omegamon for SMS V150 (no change!).
CICS 4.1+ incorrect MCTMNTAD GMT offset circumvented.
CICINTRV variable A02TTS missing in CICEODRV
BUILDPDB now asserts SORTEDBY= for PDB.JOBS/STEPS/PRINT/SMFINTRV
Beta Test of MXG DASD Allocation Monitor in ASMDALO/TYPEDALO.
New utility UTILCONT (Contents of SAS library, sizes in Megabytes).
Major enhancements in early MXG 14.07 shown in MXG Newsletter THIRTY:
Support for CICS/ESA 5.1.0 aka Transaction Server (INCOMPATIBLE)
Support for TMON/DB2 Version 3 (INCOMPATIBLE).
Support for Boole and Babbage's PRO/SMS SMF Message Record.
Major enhancements added in MXG 14.06 dated Aug 20, 1996:
Support for CONTROL-T from New Dimension Software.
Support for Omegamon/VTAM V200 (INCOMPATIBLE).
Support for MODEL204 Release 3.2.1 (INCOMPATIBLE).
Support for SoftAudit Version 5.1 (INCOMPATIBLE).
Support for APAR OW15406 for RMF adds support for Year 2000.
Support for Tandem Controller and Line records added.
Sample code to read Network General's Sniffer Network Monitor data.
VM Print sent to JES2 is now merged in PDB.JOBS.
BUILDPD3 now sums JES3 type 25 MDS Tape Mounts/Fetches.
More RACF Reports for Command Events decoded by TYPE80A.
DB2 4.1 DB2STATS interval lost due to QWHSISEQ skipped values.
CICINTRV restored to pre-14.04 version, fixed for CICS 4.1.
Redesigned TRNDTALO to "SPIN" active allocations.
SMF Simulator (ANALSMF) now tests a CISIZE of 18432 for 3390s.
Major enhancements added in MXG 14.05 dated Jul 15, 1996:
Support for OS/390 Version 1 Release 2 (COMPATIBLE).
MXG 13.13 and later tolerate OS/390 Release 2, but to capture
the several new variables and new subtypes of type 74 and 89,
you must install MXG 14.05 or later.
Support for SMF type 89 subtype 2 (Measured Usage Product Summary).
Support for DB2 trace data written to GTF instead of SMF.
Support for HP MeasureWare for HP-UX platform
Support for RDS's EOS Enterprise Output Solution
Support for Landmark TMON/MVS spanned records.
Support for RMF type 74 subtype 5 Cache RMF Reporter.
Support for Anacomp, Inc's XSTAR product's SMF record
Support for DFSORT Release 13 APAR PN71337.
New JCLADHOC example of MXG ad hoc job to select specific data.
Revised MXGSAS JCL procedure adds TAILORNG= symbolic parameter.
New DB2 trace datasets to hold all SQL text are created.
MXG JCL examples now specify REGION=0M
VMXGTAPE utility macro to determine if lib/dsn is on tape.
UDEBLOCK utility to create valid RECFM=U on MVS from PC data.
ASMIMSLG/ASMIMSL5 SLOTS table was moved above the 16MB line.
Major enhancements added in MXG 14.04 dated Jun 15, 1996:
Support for ASTEX 2.1 (INCOMPATIBLE)
Support for NDM 1.4 (compatible) new variables
Support for IMS APAR PN76410 (INCOMPATIBLE) for ASMIMSLG processing.
Support for APAR PN78083 to SMF type 42 (ADSM) required no change.
Enhanced CICINTRV was installed as default (but removed in 14.06).
Major enhancements added in MXG 14.03 dated May 27, 1996:
Support for RACF 1.10 (compatible) - toleration of new records.
Support for NETSPY Release 4.7.
Support (partial) for AS/400,OS/400 Release 3.6 (INCOMPATIBLE).
Support for Thruput Manager #V041238 (INCOMPATIBLE).
All datetime constants '01JAN00:...' were changed to '01JAN1900:....'
Corrections to errors that were only in MXG 14.02:
DIFFDB2 14.108 BY VARIABLES ARE NOT PROPERLY SORTED DB2STATR
TYPE37 14.107 INPUT STATEMENT EXCEEDED ID=37
TYPE72 14.102 INPUT STATEMENT EXCEEDED ID=72
TYPENSPY 14.097 Zero obs in NSPYLU.
Major enhancements added in MXG 14.02 dated April 25, 1996:
ASMTAPES MAINTLEV 9, monitor no longer quits writing, TMNT013I msg.
Support for IBM's Cache RMF Reporter CRR Version 1.7.
Support for Netview FTP (File Transfer) SMF subtype 51x record.
Support for second length STK HSC Subtype 08 record.
Support for Shared Page Groups statistics in TYPE71.
Support for STK's NearOAM user SMF record.
Support for IBM's RMDS Version 2.2 (no change).
Support for NPM APARs OW08565/OW10584 for 3746/900.
Major enhancements added in MXG 14.01 dated March 7, 1996:
Support for OS/390 Release 1.1.0 (already in MXG 13.13).
Support for FACOM MSPE/EX PTF 93061 ID=127 SMF record.
Support for SMF type 6's ESS segment added and externalized.
MAINTLEV 8 of the MXG Tape Mount and Tape Allocation Monitor
INPUT EXCEEDED for NETSPY 4.6, type A record.
INPUT EXCEEDED for STK HSC subtype 8 record corrected.
INPUT EXCEEDED for DB2 4.1 type 101 subtype 2 (packages).
INPUT EXCEEDED for DFSMS/rmm type "O" record.
INPUT EXCEEDED for EREP type '40'X record.
INPUT EXCEEDED for PSF 6 SMF, PSF wrote truncated record.
INPUT EXCEEDED for VSAM 64 SMF, CF Cache Structure segment.
NOTSORTED error for PDB.CICS in WEEKBLD, WEEKBLDT, and MONTHBLD.
ASMVTOC failed to assemble.
INVALID DATA FOR HH,MM,SS with SAMS SMF record.
VARIABLE SYSTEM uninitialized in ASMIMSLG processing.
Hipercache SMF record values for VSAM segment wrong.
NDM/Connect Direct timestamps missing, data wrong.
TLMS dates were not decoded correctly.
NPM dataset NPMVSVVR variables were trashed.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
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 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30 1996 14.05
OS/390 1.3.0 Mar 28 1997 14.14
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. 13.09
CICS/ESA 5.1 Sep 10, 1996 14.07
CRR 1.6 Jun 24, 1994. 12.02
CRR 1.7 Apr 25, 1996. 14.02
DB2 2.3.0 Oct 28, 1991. 10.01
DB2 3.1.0 Dec 17, 1993. 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Nov 7, 1995 14.07
DB2 5.1.0 ??? ??, 1997 ??.??
DFSMS/MVS 1.1 Mar 13, 1993. 11.11
DFSMS/MVS 1.2 Jun 24, 1994. 12.02
DFSMS/MVS 1.3 Dec 29, 1995. 13.09
MQM 1.2, 1.3, 1.4 Apr 25, 1996. 14.02
NETVIEW 3.1 type 37 ??? ??, 1996. 14.03
NPM 2.0 Dec 17, 1993. 12.03
NPM 2.2 Aug 29, 1994. 12.05
NPM 2.3, 2.4 ??? ??, 1996. 14.03
RMDS 2.1, 2.2 Dec 12, 1995. 12.12
TCP/IP 3.1 Jun 12, 1995. 12.12
VM/ESA 2.0 Dec 23, 1992. 10.04
VM/ESA 2.1 Jun 27, 1993. 12.02
VM/ESA 2.2 Nov 22, 1994. 12.06
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
Availability dates for non-IBM products and MXG version required:
Availability MXG Version
Product Name Date or Change Required
Demand Technology
NTSMF Version 1 Beta 14.11
Landmark
The Monitor for DB2 Version 3 14.07
The Monitor for DB2 Version 2 13.06
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 12.12A
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.??
Candle
Omegamon for CICS V300 User SMF 12.05
Omegamon for CICS V400 User SMF 13.06
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.170 13.05
Omegamon for MVS V400 13.201 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for SMS V100/V110 12.03
CA
ASTEX 2.1 14.04
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
Memorex/Telex
LMS 3.1 12.12A
3. What products are not yet supported?
a. Support for Landmark's Performance Works for Unix, a replacement
for their earlier The Monitor for Unix (that was supported by MXG
TYPETUX) is in development (although Landmark still has not been
able to provide documentaion, users have!) and may be partially
complete in the actual MXG 14.14 version.
b. Landmark's The Monitor for CICS/ESA Version 2 will be relased this
spring, but the documentation and test data had not yet arrived.
c. Enhancements to ASMRMFV (work on ASMTAPES ML 12 pre-empted) are
now hoped for second quarter.
4. What's planned for the near future?
a. Documentation revision. MXG 14.14 has support for just about ever
new product's version that anyone has asked for, so finally I can
return to updating the ACHAP and ADOC documentation members!
IX. Incompatibilities and Installation of MXG 14.14.
1. Incompatibilities introduced in MXG 14.14 (since MXG 13.13):
a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
must refit your tailoring, starting with the new IMAC member):
IMACCIMS - For Boole & Babbage IMF - See Change 14.152.
b- Other incompatibility changes:
- Dataset TYPE116 (MQM) variable QWHCATYP replaced by QWHCXTYP.
- With OS/390 R2, IBM CRR product (dataset CACHE90 from VMACACHE)
becomes dataset TYPE74CA from VMAC74. See TYPE74CA in MVS Tech
Notes.
- MXG now converts DB2 time stamps (like QWACBSC,QWACESC,QWHSSTCK)
from GMT to local, but if you did that already in EXDB2ACC for
DB2ACCT, you must remove your conversion code and let MXG do it.
c- These products were incompatibly changed by their vendor, and they
require MXG 14.xx as indicated:
See products listed as INCOMPATIBLE in Section I, Enhancements.
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 105-cyl PDS: MXG.V1414.MXG.SOURCLIB, and use IEBUPDTE
to read the MXG tape to create the 2955+ member Source Library.
c. Allocate a 1-cyl PDS: MXG.V1414.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 V1414.USERID.SOURCLIB.
d. Allocate a 1-cyl SAS Data Library: MXG.V1414.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.V1414.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.V1414.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.V1414.USERID.SOURCLIB, then you must reinstall your site's
tailoring for that IMAC, starting with the IMAC member from the
MXG 14.14 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 14.14 in its own set of libraries. When
parallel testing is complete and are ready to implement MXG 14.14
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.V1414.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.
X. Online Documentation of MXG Software.
Since 1994, 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.
XI. 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 than 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 between MXG 13.13 and MXG 14.14:
Dataset/
Member Change Description
many 14.019 Support for OS/390 Release 1.0 already in MXG 13.13!
many 14.158 Support for OS/390 Release 2.0 tolerate by MXG 13.13!
many 14.318 Support for OS/390 Release 3 (Compatible).
many 14.320 MXG is now distributed as a unnumbered dataset.
ANALCNCR 14.162 FILE WORK.SPLIT DOES NOT EXIST corrected.
ANALCNCR 14.175 Specifying both output dataset and reports failed.
ANALDB2R 14.022 DB2 report PMAUD03, if PDB is on tape, will fail.
ANALDB2R 14.073 VARIABLE QWHSIID NOT FOUND corrected in DB2 reports.
ANALDB2R 14.286 DB2 Buffer statistics, Acct Detail, missed BP 1 & 2.
ANALDSET 14.064 Using Tape instead of DASD for ANALDSET fails.
ANALDB2R 14.340 DB2 4.1 Reporting for Buffer Pools and Packages.
ANALSMF 14.178 SMF Simulator now tests a CISIZE of 18432 for 3390s.
ASMDALO 14.222 Beta ASM failed due to careless changes.
ASMIMSL5 14.129 Support for IMS 5.1 APAR PN76410 (INCOMPATIBLE)
ASMIMSLG 14.148 SLOTS table moved above the 16MB line.
ASMTAPES 14.037 MAINTLEV 8 of MXG Tape Mount and Allocation Monitor.
ASMTAPES 14.086 MAINTLEV 9, monitor does not stop, new TMNT013I.
ASMTAPES 14.322 ML11 of the Tape Mount/Allocation monitor. No SRB!
ASMTAPES 14.351 ML 12 of MXGTMNT included in MXG 14.14.
ASMVTOC 14.003 Archaic assembly member was wrong on MXG 13.13
ASUM70PR 14.319 ASUM70PR LPAR data LPnCAP and LPnSHARE new variables.
ASUMAPAF 14.062 SORT ORDER error if you increase number of domains.
ASUMDB2R 14.287 NUMPLANS now counts only DB2PARTY='S', ='O'.
ASUMUOW 14.343 New ASUMUOW for CICS MRO and DB2 Unit of Work merge.
BUILDPD3 14.169 JES3 type 25 MDS Tape Mounts/Fetches in BUILDPD3.
BUILDPDB 14.185 VM Print sent to JES2 is now merged in PDB.JOBS.
BUILDPDB 14.210 SORTEDBY= asserted for PDB.JOBS/STEPS/PRINT/SMFINTRV
BUILDPDB 14.245 Duplicate data protection for additional datasets.
CICINTRV 14.188 Old CICINTRV replaced CICINTRZ, fixed for CICS 4.1.
CICINTRV 14.211 CICS 4.1+ variable A02TTA missing in CICEODRV.
CICINTRV 14.352 Revised "CICINTRZ" logic now replaced CICINTRV.
DIFFDB2 14.167 DB2 4.1 DB2STATS interval missing due to QWHSISEQ.
DIFFDB2 14.194 Extra obs in DB2STATB/DB2STATR, negative SEQCHECK.
DIFFDB2 14.231 SEQCHECK logic in Change 14.267 was incorrect.
FORMATS 14.255 Petabytes now formatted. (1000 Terabytes=1 Petabyte).
IHDRDCOL 14.027 First of new "IHDRyyyy" - "INFILE header" exits.
IMAC6ESS 14.036 Decoding of SMF type 6 ESS segment is added.
IMACEXCL 14.024 CICS Excluded Field support enhanced for multiples.
IMACICOC 14.123 Omegamon for CICS OMSUPRTM/OMDCOMTM incorrect.
IMACICOC 14.272 SAP Umbrella Trans Program/Tranname in OMUMBUSR/BPTC.
JCLADHOC 14.140 New example for ad hoc job to select specific data.
JCLTMON 14.012 Example JCL for Landmark's The Monitor for CICS.
JCLall 14.147 All MXG JCL examples now specify REGION=0M.
MONTHBLD 14.010 NOTSORTED error with ASUMCICS in monthly logic.
MXGSAS 14.140 Revised MXGSAS JCL procedure adds TAILORNG= parm.
MXGSAS 14.239 The TAILORNG= JCL parameter causes JCL error.
MXGSAS 14.304 TAILORNG symbolic finally corrected in MXGSAS JCL.
PROCSRCE 14.332 New member PROCSRCE is "Proc Source" for ASCII SAS.
TRNDTALO 14.130 INVALID DO LOOP error if ALOCSTRT=. or ALOCEND=.;
TRNDTALO 14.176 Redesign of TRNDTALO to "SPIN" active allocations.
TYPE102 14.047 DB2 Trace T102S096 vars QW0096SN,SC,SK corrected.
TYPE102 14.138 New datasets with all SQL text added for DB2 trace.
TYPE102 14.206 Dataset T102S231 corrected.
TYPE102 14.311 MXG now converts DB2 GMT time stamps to local.
TYPE110 14.089 Support for PN69653 (YYYY digit year in COLLTIME).
TYPE110 14.106 Variables MCTMNTAD/SMFPSRVR added to CICSEXCE.
TYPE110 14.184 CICSTRAN variable TRANTYPE increased to two bytes.
TYPE110 14.209 Support for CICS/ESA 5.1.0 (INCOMPATIBLE).
TYPE110 14.212 CICS 4.1+ incorrect MCTMNTAD GMT offset circumvented.
TYPE116 14.087 Variable QWHCATYP was INCOMPATIBLY renamed QWHCXTYP.
TYPE16 14.150 Support for DFSORT Release 13 APAR PN71337.
TYPE21 14.256 Support for APAR OW22209, bytes read/written.
TYPE26J2 14.303 INREASON wrong for LnnnnJRm syntax for JES2 INDEVICE.
TYPE28 14.023 Some NPM VVR (VTAM Virtual Route) variables trashed.
TYPE28 14.065 NPM APARs OW08565 and OW10584 for 3746/900 supported.
TYPE28 14.335 Support for NPM APAR OW17875 added new subtype 2Ax.
TYPE30 14.099 Auto Restart section INPUTs were incorrect.
TYPE30 14.172 Variable EXECTM in TYPE30_V wrong if only subtype 3.
TYPE37 14.213 Support for NETVIEW 3.1 type 37 changes.
TYPE42 14.063 DASDMPL 1000 times too large in TYPE42DS.
TYPE42 14.131 Support for APAR PN78083 required no change to MXG.
TYPE42 14.309 Support for type 42 new subtype 19 + enhancements.
TYPE6 14.009 Truncated PSF type 6 record INPUT STATEMENT EXCEEDED
TYPE6156 14.242 Truncated catalog cell=04 caused STOPOVER.
TYPE64 14.004 INPUT STATEMENT EXCEEDED, CF Cache Structure segment.
TYPE7072 14.051 ELAPSTM added to TYPE72GO, and RMFINTRV for WLM.
TYPE7072 14.059 TYPE72GO variable VALDSAMP and delay PCTs wrong.
TYPE7072 14.180 Variable PERFINDX now created in TYPE72GO.
TYPE71 14.058 Support for Shared Page Groups added.
TYPE71 14.302 New Shared Paging variables were still wrong.
TYPE72 14.085 MVS/ESA 5.2.2 variables overlooked in TYPE72GO.
TYPE72 14.254 TYPE72GO vars R723CSCR,CSPA,CSPE were still wrong.
TYPE73 14.164 APAR OW15406 for RMF adds support for Year 2000.
TYPE74 14.085 MVS/ESA 5.2.2 variables overlooked in TYPE74OM.
TYPE74 14.152 Support for type 74 subtype 5 Cache RMF Reporter.
TYPE74 14.236 Support for RMF type 74 subtype 100 IRLM long locks.
TYPE74 14.291 Coupling Facility Structure Data PTF UW90312.
TYPE74 14.328 R744SSIZ is in 4000, not 4096 units.
TYPE78 14.121 Variable PCTALLBY, LCUIORT added to TYPE78CU dataset.
TYPE78 14.166 ARRAY statement changed to _TEMPORARY_ to save CPU.
TYPE80 14.070 Support for IBM APAR OW19251 (RACF year 2000).
TYPE80 14.114 Support for RACF 1.10 (toleration).
TYPE80A 14.170 More RACF Reports for Command Events decoded.
TYPE80A 14.252 Invalid RACFTYPE=03 segment caused STOPOVER.
TYPE88 14.066 INPUT STATEMENT EXCEEDED corrected.
TYPE89 14.158 Support for Subtype 2 (Measured Usage Product Sumry).
TYPE89 14.233 TYPE89 variable MULCURD wrong for Batch Pipes.
TYPE99 14.069 TYPE99_2 now has obs for each period vice just first.
TYPEAPAF 14.307 Support for APAF Millennium subtypes 31 and 32.
TYPEAPAF 14.330 Amdahl APAF Version 3.0 records have been validated.
TYPEBETA 14.050 INVALID DATA FOR BETASTRT and BETAEND with 1.6.5.
TYPEBETA 14.084 INPUT STATEMENT EXCEEDED for SUBTYPE=41.
TYPECACH 14.093 Support for IBM's Cache RMF Reporter CRR 1.7
TYPECIMS 14.312 IMF flags in DBD section were not reset.
TYPECMF 14.033 MXG now recognizes 3990 model 6 in CMF user SMF.
TYPEDALO 14.215 Beta Version of MXG DASD Allocation Monitor
TYPEDB2 14.011 DB2 4.1 type 101 subtype 1 INPUT STATEMENT EXCEEDED.
TYPEDB2 14.044 Protection for truncated DB2 record.
TYPEDB2 14.071 Dataset DB2STATB now always has observations.
TYPEDB2 14.105 QWSDLR length 8, QWSCIID corruption corrected.
TYPEDB2 14.174 VMACDB2 ERROR ... QWHSIID=230 UNEXPECTED fixed.
TYPEDB2 14.195 DB2STATR, DB2 remote counts, corrected.
TYPEDB2 14.208 Datasets DB2GBPST and DB2GBPAT all BP now output.
TYPEDB2 14.217 DB2ACCT variables QTGA, QBGA trashed.
TYPEDB2 14.226 DB2 Group Buffer Pool DB2GBPST repeats first segment.
TYPEDB2 14.310 DB2GBPST dataset now deaccumulated and usable.
TYPEDB2 14.311 MXG now converts DB2 GMT time stamps to local.
TYPEDMON 14.125 Support for ASTEX 2.1 (INCOMPATIBLE).
TYPEEDGS 14.029 DFSMS/rmm type "O" INPUT STATEMENT EXCEEDED RECORD.
TYPEEDGS 14.289 DF/SMS Rmm records type V caused error.
TYPEEDGS 14.297 Variables MVxxxx now input from type "V" record.
TYPEEREP 14.021 INPUT STATEMENT EXCEEDED with EREP CLASRC='40'X.
TYPEF127 14.032 Support for FACOM MSPE/EX PTF 93061 for ID=127 SMF.
TYPEFTP 14.054 Support for FTP subtype 51x SMF record.
TYPEHARB 14.229 Support for Interlink's Harbor 4.1 SMF record
TYPEHIPR 14.015 Hipercache VSAM buffer field wrong in MXG 13.13.
TYPEHMF 14.316 HMF subtype 5 with 1 segment INPUT EXCEEDED error.
TYPEHSM 14.052 Short HSM ABARS FSRTYPE=15 INPUT STATEMENT EXCEEDED.
TYPEHSM 14.232 FRSTVOLS CAN CONTAIN ONLY 30 BYTES written in error.
TYPEHURN 14.230 No obs in HURN47 if no external segments.
TYPEIDMS 14.238 Archaic IDMS 10.2.1 caused STOPOVER.
TYPEIMS 14.030 Early testing IMS log records for IMS 5.1
TYPEIMSA 14.017 VARIABLE SYSTEM IS UNINITIALIZED with ASMIMSLG.
TYPEIMSA 14.244 SAP variables SAPTIMTR, SAPCPUT, SAPELTI wrong.
TYPEIPAC 14.240 INVALID ARGUMENT TO FUNCTION MDY, dates not MMDDYY.
TYPEM204 14.171 Support for MODEL204 Release 3.2.1 (INCOMPATIBLE).
TYPEMOVT 14.168 Support for Omegmaon/VTAM V200 (INCOMPATIBLE).
TYPEMWAI 14.249 Support for HP's Measureware for AIX.
TYPEMWUX 14.134 Support for HP MeasureWare for HP-UX platform.
TYPENDM 14.034 NDM or Connect Direct timestamps missing, data wrong.
TYPENDM 14.116 Support for NDM 1.4 (compatible) adds variables.
TYPENOAM 14.057 Support for STK's NearOAM user SMF record.
TYPENSPY 14.005 INPUT STATEMENT EXCEEDED, NSPY 4.6, type A, invalid.
TYPENSPY 14.053 LUNETID PCSESSID VILUNAME in dataset NSPYLU trashed.
TYPENSPY 14.111 Support for NETSPY Release 4.7 (compatible).
TYPENTSM 14.293 Support for Windows NT measurement with NTSMF.
TYPENTSM 14.299 Support for Windows NT measurement with NTSMF.
TYPEOMSM 14.219 Support for Candle's Omegamon for SMS V150 (no chg!).
TYPEOPC 14.077 INVALID MTD SUBTYPE, observations not output.
TYPEORAC 14.103 Accounting data input incorrectly for ORACLE.
TYPEORAC 14.247 Support for Oracle Release 7.2.3 SMF record.
TYPEQAPM 14.098 Support for AS/400,OS/400 Release 3.6 (INCOMPATIBLE)
TYPEQAPM 14.271 Support for AS/400,OS/400 Release 3.7 (INCOMPATIBLE)
TYPERACF 14.243 Support for RACF 2.1 IRRDBU00 unload utility.
TYPERMDS 14.092 Support for IBM's RMDS Version 2.2 (no change)
TYPERMDS 14.300 RMDSARN/ARI missing in RMDS 1.3/1.4.
TYPESAMS 14.013 INVALID DATA FOR HH,MM,SS with SAMS SMF record.
TYPESFTA 14.179 Support for SoftAudit Version 5.1 (INCOMPATIBLE).
TYPESNIF 14.186 Network General's Sniffer Network Monitor data.
TYPESTC 14.001 INPUT STATEMENT EXCEED for HSC subtype 8 record.
TYPESTC 14.055 STK's HSC Subtype 08 now in two lengths, 38 and 40!
TYPESTRS 14.349 Support for Demand Technology's Stress Test 3.3.6.
TYPESUIN 14.248 Support for Applied Software's SUPER IND$FILE SMF.
TYPESYNC 14.115 Syncsort variables SORTBEGN/END midnight spanning.
TYPETAND 14.223 INFILE statements for TANDCTLR/TANDLINE need LRECL.
TYPETCP 14.276 FTPLOCAL,FTPREMOT not decoded after Change 14.040.
TYPETLMS 14.014 TLMS year 2000 dates were not decoded correctly.
TYPETMDB 14.197 Support for TMON/DB2 Version 3 (INCOMPATIBLE).
TYPETMON 14.042 INVALID DATA for TIGETMCT or TIFREMCT corrected.
TYPETMON 14.336 Support for Landmark The Monitor for CICS 1.5, COMPAT
TYPETMS5 14.018 TMS datasets TMSRECS,DSNBRECS now deleted from WORK.
TYPETMVS 14.135 Support for Landmark TMON/MVS spanned records.
TYPETPM 14.113 Support for Thruput Manager #V041238 (INCOMPATIBLE).
TYPETRSN 14.218 Support for Desktalk's TRENDSNMP SNMP IFENTRY data.
TYPETSOM 14.334 Segmented TSO/MON records with only DRU STRTTIME=.;
TYPEVM 14.008 INVALID DATA FOR PWCOUNT in VMID=06 VM Accounting.
TYPEVSME 14.278 Support for VTAM Session Management Exit SMF record.
TYPEWSF 14.143 Support for RDS's EOS Enterprise Output Solution
TYPEWSF 14.228 Support for RSD's EOS Product SMF record.
TYPEX37 14.091 STOPX37 SMF records changed by Boole, useless now.
TYPEXSTR 14.144 Support for Anacomp, Inc's XSTAR product SMF record.
TYPPROS 14.207 Support for Boole & Babbage's PRO/SMS.
UCICSCNT 14.060 Enhanced CICS diagnostic tool for EXCLUDE/INCLUDE.
UDB2GTF 14.154 Support for DB2 records written to GTF.
UDEBLOCK 14.155 Utility to create valid RECFM=U on MVS from PC data.
UTILCONT 14.216 Utility contents of SAS library, sizes in Megabytes.
UTILGETM 14.018 Type 110 Subtype 2818 recognized and counted.
VMXGHSM 14.235 SMS-related Class fields in both MCC and MCD added.
VMXGSUM 14.177 If DESCENDING was used with KEEPALL=NO, it was lost.
VMXGTAPE 14.153 Utility macro to determine if lib/dsn is on tape.
WEEKBLDT 14.010 NOTSORTED error with ASUMCICS in weekly logic.
YEAR2000 14.100 Use of Date literal '01JAN00' changed to '01JAN1900'
YEAR2000 14.305 Format of year 2000 status revised with vendor fixes.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 14
===Changes thru 14.352 were included in MXG 14.14 dated Feb 21, 1997===
Change 14.352 Member CICINTRV is now the enhanced logic that was first
CICINTRV tested as "CICINTRZ". The new logic creates only the
Feb 20, 1997 PDB.CICINTRV data set with CICS interval statistics.
The other four old datasets, CICEODRV,CICREQRV,CICRRTRV
and CICUSSRV should have been deleted, as they are now
meaningless, but they are still created (but now with no
observations) to prevent unnecessary failure if any of
your other jobs reference those datasets (in your weekly
or monthly, for example, if they were copied). Take the
time to remove any references to those now defunct data
sets to avoid future errors when they are deleted.
Change 14.351 ML 12 of the MXG Tape Mount and Tape Allocation Monitor
ASMTAPES MUST be installed for MVS/ESA 5.2.2 or OS/390 to avoid
ZSMTAPES possible UCB errors (due to relocated UCBE in MVS). Not
ZZMTAPES only does this revision solve that problem, it builds on
Feb 20, 1997 ML 11 (which replaced SRB with Cross Memory Services) and
Good News:
-Creates new TMNTTYPE=5 "Interval Allocation" record that
is written at the end of each (default=hour) interval for
each drive that was allocated. This will allow us in the
analysis programs to accurately count tape drives without
having to wait (days or weeks?) until the tape drive was
deallocated.
-Supports the workload manager, with new data elements
for Service class, workload name, resource group, and
resource class.
Bad News:
MXG 14.14 VMACTMNT processing code does not decode the
new fields, nor the subtype 5 record; that enhancement
should be available in early April.
Other News:
-Has new assembly time operating system parameter that you
must supply. The values are ESA or ESA5. ESA5 supports
MVS/ESA Version 5 and OS/390 and must be specified so the
correct IBM macros are used.
-Supports the new access to the UCB common extension.
-Changed SRB error fields to AR mode error fields.
-Corrected MODESET errors in AR mode.
-Changed initial tape UCBSCAN into subroutines.
-Support for above the line UCB's.
For archive, ML 9 is now in ZZMTAPES, and ML 11 is in
ZSMTAPES member.
Change 14.350 Dataset TYPE74CA was not created in the WEEKly PDB if
WEEKBLDT you used WEEKBLDT (but was with WEEKBLD). Now it is
Feb 20, 1997 created with either weekly job.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.349 Support for Stress Test Release 3.3.6 Enhancements.
VMACSTRS Both the original and the enhanced SMF record is now
Feb 20, 1997 supported transparently. This release adds new data
to the SMF record that will soon allow control cards
for Stress Test parameters to be created to match your
existing DASD rates (by using TYPE74 and TYPE74CA SMF
data to measure your system). That analysis/generator
should be available in April.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.348 Variable JOBCLASS was increased to LENGTH $8 (from $1)
VMAC30 in VMAC30 and VMAC26J3 because JES3 needs all eight
VMAC26J3 bytes for JES3 Main Class. Only one byte is input in
Feb 19, 1997 VMAC26J3, but by increasing the length in TYPE26J3 will
May 21, 1997 cause the kept size in BUILDPD3 to be eight bytes. What
is really slick is that the length of JOBCLASS in the
JES2 PDB.JOBS and PDB.STEPS datasets will still be only
one byte, so there is no increase in the size of the JES2
PDB as a result of this change to type 30. However, the
TYPE30_x datasets will have JOBCLASS with length 8 to
support either JES2 or JES3 job class names.
Thanks to Jack Mintz, Hudson Williams, USA.
Change 14.347 Continued enhancements to the RMF-like reporting.
ANALRMFR -ANALRMFR now detects and reads PDB on tape or disk.
Feb 19, 1997 -Workload Activity Report-Compatability Mode,
REPORT=WKLD, RPTOPT parameter is now the way
to make report selections. If none are selected
no reports are created.
RPTOUT=PERIOD Performance group period
within performance group.
GROUP Summarizes data for all performance
group periods within the
performance group.
DOMAIN Summarizes data by domain for the
entire system.
STM Summarizes data for the entire
system.
-Workload Activity Report-Goal Mode, REPORT=WLMGL
RPTOPT=WGPER:
Update Sevice Policy Page column Resource Groups
allowing for all service classes to be output.
-Workload Activity Report-Goal Mode, REPORT=WLMGL
RPTOPT=RCLASS, report classes defined in a service
policy, is added.
-Workload Activity Report-Goal Mode, REPORT=WLMGL
RPTOPT=SCLASS, summary of data for all service class
periods defined for a service class, is added.
There was no data to confirm values.
-Coupling Facility Activity, REPORT=CF
Reports created "Coupling Facility Usage Summary"/
"Structure Summary"/"Storage Summary"/"Processor
Summary" and "Coupling Facility Structure Activity"
Unconfirmed values a ouput on the report as "??".
-LCU summary does not include the first device.
Remove LCUIORAT=0 ....... from FIRST.DATE OR
FIRST.TIME OR FIRST.DEVCLASS.
Move LCUIORAT=SUM(LCUIORAT,IORATE)
.
To after FIRST.LCU THEN DO;
Thanks to David Childress, Lowe, USA.
Thanks to Alan M. Sherkow, Management Strategies LTD.
Change 14.346 Variables NRBINDS and NRLIMITS should have been spellec
VMACTPM NBINDS and NLIMITS, and variable JCTJOBID was added to
Feb 17, 1997 the KEEP= list for dataset TYPETPMF.
Thanks to Brian Sanga, Eagle Star Group Services Ltd, ENGLAND.
Change 14.345 The FMXGUCBL function (to allocate dynamically all DASD
FMXGUCBL devices for the archaic VMACVTOC) did not support four
Feb 17, 1997 digit UCBs, but now does, thanks to this contribution.
Thanks to Sue Yarker, Midland Bank, ENGLAND.
Change 14.344 "IHDR" exit for Boole and Babbage IMF records was added,
IHDRCIMS after newsletter text was sent to the printer. See text
VMACCIMS of Change 14.342.
Feb 17, 1997
===Changes thru 14.343 were printed in MXG Newsletter THIRTY-ONE=======
Change 14.343 New ASUMUOW summarizes CICSTRAN and DB2ACCT by "Unit of
IMACUOW Work UOW" to create PDB.ASUMUOW with total CICS and DB2
ASUMUOW resources in a single observation, keeping the original
Feb 19, 1997 TRANNAME and USERID of the real UOW. Member IMACUOW will
May 4, 1997 enable "SPINing" of incomplete CICS transactions (e.g.,
long running LU 6.2 events) to ensure completeness. This
member is a replacement/enhancement of ANALDB2C that is
renamed to an ASUMxxxx because it is now designed to be
executed as a data-set-builder (PDB.ASUMUOW) rather than
an ANALysis example (and UOW makes more sense than DB2C)!
The main assumption is that the earliest transaction for
any UOW must be the first transaction; during the merge,
if the TRANNAME of the first transaction is CSMI (i.e.,
an MRO mirror) or is blank (DB2), that transaction is
not complete, and the current records are SPUN (written
to the SPIN library to be held until the next run, if you
updated macro _SPINUOW in member IMACUOW to non-zero).
The ASUMUOW dataset contains the same CICS variables as
are needed to create the ASUMCICS interval summary from
detail CICS transactions (plus the DB2 variables for CICS
transactions calling DB2), so the ASUMUOW dataset could
be used as input to ASUMCICS (you would probably want to
make your own enhanced copy that also keeps the DB2
variables) so as to create interval UOW statistics. In a
test of 2.6 million tran obs in CICSTRAN, ASUMUOW had
only 1 million obs. ASUMUOW can be used even if only
CICSTRAN data exists, as it will combine all MRO events
into one observation per UOW.
Text revised May, and November, 1997.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.342 "IHDR" exits (taken after the header of raw records have
IHDRTMON been read in) are added for Landmark's Monitor for
IHDRTMDB CICS/ESA and for Landmark's Monitor for DB2. These
IMACMONI "IHDR" exits are similar to the "IMACFILE" exit for SMF
IMACTMDB (which should be named IHDRSMF by my new naming
TYPETMON convention).
VMACTMDB
Feb 15, 1997
Change 14.341 Using EXTMSTMS and macro _KTMSTMS in IMACTMS5 to create
TYPETMS5 new variables did not work as expected. The new
Feb 15, 1997 variables were added to the initial TMSTMS dataset, but
post processing in TYPETMS5 did not include the _KTMSTMS
macro reference, so the new variable was lost. The
_KTMSTMS and _KTMSDSN references were added.
Thanks to Andy Chandler, Eagle Star, ENGLAND.
Change 14.340 DB2 Reporting Enhancements for DB2-PM like reports from
ANALDB2R DB2 4.1. Individual Buffer Pool and Individual Package
ASUMDB2A Execution data is now reported (See DB2 Technical Note in
ASUMDB2P Newsletter THIRTY-ONE). The Account Detail and Long
TRNDDB2A Trace reports now use the detail buffer and package data
TRNDDB2P (DB2ACCTB and DB2ACCTP) if they exeist. The default
Feb 15, 1997 assumption is that all of your DB2 datasets are in the
PDB libref, but if you have used IMACDB2 to send them
to different librefs, you can tell ANALDB2R where to find
them with the new DB2ACCT=, DB2ACCTB=, and DB2ACCTP=
arguments in your ANALDB2R invocation.
This change is incompatible with prior versions of the
ANALDB2R report in that only a single PDB will be used
to generate the report. (Previously, you could specify
PDB=PDB1 PDB2 PDB3, and the libraries would have been
"concatenated". This restructure lost that capability
but you can easily combine multiple PDB datasets first
and then invoke ANALDB2R.)
Most, but not all, of the DB2 4.1 fields have been
added; in particular, the individual buffer and package
sections are complete.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.339 User enhancements to the ASMIMSLG/ASMIMSL5 programs for
ASMIMSLG IMS log processing protect for a short error message,
ASMIMSL5 and in case of MSC transactions, since the ARRVTIME may
Feb 14, 1997 be wrong (out of sync), now, the MSC timestamp is used
for ARRVTIME with good results.
Thanks to Harry Olschewski, dvg Hannover, GERMANY.
Change 14.338 Variable HIUICAV (TYPE71) was added to RMFINTRV dataset
RMFINTRV (the maximum of the individual values is kept) and it is
TRNDRMFI added to TRNDRMFI dataset (the average of the maximum is
Feb 15, 1997 kept).
Thanks to Manfred Thomas, BHF-Bank, GERMANY.
Change 14.337 Candle's EPILOG for MVS decoding was enhanced. The IO
ANALEPMV and ENQ data is now rolled into the EPMVEP dataset. The
VMACEPMV derivation of results to match Epilog screen reports that
Feb 14, 1997 doing straight-forward arithmetic with sample counts did
not resemble their (proprietary) calculations but
diligent work by Simon is now available in the ANALEPMV
member to do those calculations for reports. mon P.
Thanks to SiMundy, Telstra, AUSTRALIA.
Change 14.336 Support for Landmark's The Monitor for CICS/ESA 1.5 is
TYPETMON already in MXG, as the only change in the records is the
Feb 14, 1997 version (LMRKVREL) contains 0Fx rather than 0Ax. Their
Version 2 product is due out this year, but that will
require changes to MXG to support. Stay tuned.
Change 14.335 Support for NPM APAR OW17875 added new NPMSUBTY=2Ax that
VMAC28 is now decoded and output in the existing NPMSUMRY data
Feb 14, 1997 set. Subtype 2Ax allows the collection and reporting of
session data summarized by LU Group; the value of
SCDSPLUG (LU Group summarized) is stored in existing MXG
variable SCDSPNAM, rather than creating a new variable.
Change 14.334 Segmented TSO/MON records containing only DRU segments
VMACTSOM have missing STRTTIME in TSOMDRU dataset because MXG did
Feb 13, 1997 not protect for DRU-only TSO/MON records, but now does.
Thanks to Rick Ireland, Imperial Oil Limited, CANADA.
Change 14.333 NTSMF datasets ICMP, TCP, and UDP have been validated
ADOCNTSM with data records and the table in ADOCNTSM updated.
Feb 13, 1997
Thanks to Richard Clary, ENTERGY, USA.
Change 14.332 New member PROCSRCE is "Proc Source" for ASCII SAS. It
PROCSRCE creates a single IEBUPDTE-format file from individual
Feb 13, 1997 files, so that only a single file upload or download is
required to move MXG Source library between ASCII and
OS/390 platforms. See instructions in member PROCSRCE.
The basic technique is to pipe the DIR command's output
DIR *.SAS >> NAMEFILE.MXG /B /ON
to create a list of file names in NAMEFILE.MXG, then
start SAS and submit %INCLUDE SOURCLIB(PROCSRCE); which
reads NAMEFILE and copies each file into IEBUPDTE.MXG,
inserting the ./ ADD NAME=xxxxxxxx statements.
Ain't elegant, but it is how I build the IEBUPDTE.MXG
master file that is copied to 3480 distribution tapes.
The actual file on 3480 tape is about 75MB (because each
record is exactly 80 bytes long) but on ASCII takes only
about 40MB (variable length records with trailing blanks
removed), and it PKZIPs to less than 9MB. To upload MXG
for OS/390 validation, the 9MB IEBUPDTE.ZIP is sent via
IND$FILE across SDLC at 19.2KB, and on MVS is unzipped by
PKZIP for MVS (from ASI, 513-885-2031). With PKZIPing,
transmission takes 90 minutes. Unzipped, transmission
takes 7 hours!
The existing MXG member IEBUPDTE is the inverse of the
PROCSRCE program, as it reads PROCSRCE's output file to
create each member as a separate *.SAS file.
Change 14.331 NETSPY record 'N' might cause INPUT STATEMENT EXCEEDED;
VMACNSPY the +15 and +29 after the INPUT of NSPSTAFL should be
Feb 13, 1997 +16. No error was directly reported, but this might be
why one European site claimed they had to change the DO
interation's maximum value (reduced by one) to avoid an
ABEND (but I never got a record dump for diagnosis!).
Thanks to Carl Downing, BlueCross BlueShield of Minnesota, USA.
Change 14.330 Amdahl APAF Version 3.0 records have been validated with
VMACAPAF data records. Changed test for SUBTYPE=31 or =32 to be
Feb 13, 1997 =49 or =50 (Amdahl listed subtypes in hex not decimal!),
and corrected algorithm for counting bits on in a field
(see SAS Technical Note in Newsletter THIRTY-ONE).
Thanks to Bob Gauthier, American Stores Company, USA.
Change 14.329 SYNCSORT's product COBOL Advantage populates one byte in
VMACSYNC the SYNCSORT user SMF record. New variable SOOPCAT in
Feb 11, 1997 dataset TYPESYNC contains that byte, formatted in hex.
Thanks to Jim Ray, Branch Banking & Trust, USA.
Change 14.328 TYPE74CF (Coupling Facility) QSIZnn variables are the
VMAC74 structure size as specified in the CFRM in units of 4096
Feb 10, 1997 bytes per unit, while TYPE74ST (Structures) R744SSIZ
(and SMAS/SMIS) variables are actual allocated size of
the structure, in units of 4000 bytes per unit, but IBM
did not document the use of 4000 vice 4096. To properly
size the allocations, MXG now multiplies SSIZ/SMAS/SMIS
by 4000 instead of 4096 (and SSIZ will then be smaller
than QSIZ values).
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.327 Variable I was incorrectly used as the index variable
VMAC102 for two nested loops, which caused VMAC102 to loop.
Feb 7, 1997 There are two places, in the QWHSIID=21 and QWHSIID=44
processing that contain DO I= 1 TO 19 BY 3; In that
line, in the two following lines (...PUT(SUBSTR...
and in the line IF I=19 AND J=7 THEN J=20, change the
"I" to "L" to correct the error.
Thanks to Paul Hill, Midland Bank, ENGLAND.
Change 14.326 MXG 14.11 only. Data set TYPE42S2 had incorrect values
VMAC42 because "NEW" before SMF42FB2/SMF42FB3 was not removed.
Feb 6, 1997 Labels for variables SMFJOD01-SMFJOD16 were corrected.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.325 MXG 14.11 only. Array CFNUM should only have sixteen
VMAC74 elements CFNUM01-CFNUM16 but was accidentally changed to
Feb 6, 1997 CFNUM01-CFNUM64. Had no actual impact.
Thanks to Bruce Widlund, Merrill Consultants, USA.
===Changes thru 14.324 were included in MXG 14.11 dated Feb 4, 1997===
Change 14.324 INVALID RECORD OBJECT=NETWORK INTERFACE error message
VMACNTSM because the test ... OFFDATA NE 20 ... should be NE 21
Feb 4, 1997 (this test is right after the test for
IF UPCASE(OBJECT)='NETWORK INTERFACE' THEN DO;
Thanks to Richard Clary, ENTERGY, USA.
Change 14.323 MXG 14.11 dated Feb 3, 1997 only. Type 102 subtype 100
VMAC102 ERROR: NO MATCHING IF-THEN CLAUSE because the two lines
Feb 4, 1997 QW0100SB=QW0100SB+GMTOFFDB;
QW0100SA=QW0100SA+GMTOFFDB;
were mis-located. They must be immediately before the
OUTPUT T102S100;
statement.
Fortunately, the 100 subtype is not used in ANALDB2R or
any other MXG program, so only specific use of T102S100
exposed the error (my QA caught it but I overlooked it).
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
===Changes thru 14.322 were included in MXG 14.11 dated Feb 3, 1997===
Change 14.322 This is ML11 of the Tape Mount/Allocation monitor.
ASMTAPES This revision eliminates the use of an SRB to capture
ZSMTAPES job-related info, and instead does all of the cross
Feb 3, 1997 memory data collection in AR (access register) mode.
Running in AR mode will cause more recorded CPU time in
the TMNT address space, but what is really happening is
that all of our collection overhead is now captured in
the (calling) TMNT address space, whereas previously some
of the CPU time of the SRB's execution was recorded in
the SMF records of the allocating (monitored) address
space. The previous revision ML9 is in member ZSMTAPES.
ML12 will contain 3 improvements : workload manager
support, UCB common extension access changes, and
configuration change detection using ENF, and will be
available later this year.
Change 14.321 Don Deese's continued research into measurement of the CF
VMAC74 caused me to create new variables R744QSIZ and R744QFLG
Feb 3, 1997 from the QO segment into the SO per-structure segment
so QSIZ/QFLG are added to TYPE74ST (while we investigate
why QSIZ is often very difference thatn R744SSIZ!).
The structures names in QO and SO are not in the same
order, so MXG scans across the QO entries to find the
matching SO entry.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.320 As will be discussed in the next newsletter, this is the
DOC first MXG Version (14.11) to be built at our office on
Jan 31, 1997 my new Overland 3480/3480IDRC/3490/3490E tape drive.
The EBCDIC to ASCII translation with IND$FILE is not the
same as the Overland default, and the Overland default is
also wrong (especially trashing the long-vertical-bar and
the not-sign), so I had to build my own translate table
to create EBCDIC tapes from my ASCII master file:
MXG IND$FILE MXG WRONG MXG OUTPUT
ON OUTPUT ON ON EBCDIC W/
MVS ON ASCII ASCII OVERLAND My Table
cent-sign 4A 5B same AD l. Sq. Bracket
not-sign 5F 5E AA caret
long vertial 4F 5D B3 BD r. sq. bracket
split vert 6A 7C same 4F split vert bar
(Note that in NEWSLETTER THIRTY-ONE 'A9'x was erroneously
typed for a not-sign on ASCII, but it is really 'AA'x).
I found I also had to change Overland's (DataTools for
Windows) default ASCII-to-EBCDIC table three errors
5D-->4F and not BD 5B-->4A and not AD
7C-->6A and not 4F
plus my two additions
AA-->5F B3-->4F
To correct symbols on your ASCII platform after you use
IND$FILE to download, change all '5D'x to 'B3'x and all
'5E'x to 'AA'x and your comments with vertical bars
and non-signs will look correct. Of course, before you
could upload that ASCII MXG to EBCDIC with IND$FILE, you
must reverse that change on ASCII before the upload.
I took this opportunity to rid "not-signs" from all MXG
code, using NE or NOT instead, and replaced all of the
remaining instances of double long-vertical-bars (for
concatenation) with double exclamation points, to
minimize any future exposure if MXG source is moved from
ASCII to EBCDIC, and removed all of the '4A'x extraneous
characters in text members.
However, there were some uses of single long vertical
bars that were inside comments and too pretty to lose,
and a few instances of "not sign" (suggesting not to use
it) that were left. These members were revised:
ACHAP08 ACHAP09 ACHAP12 ACHAP13 ACHAP16 ACHAP16
ACHAP17 ACHAP18 ACHAP19 ACHAP19 ACHAP21 ACHAP22
ACHAP23 ACHAP26 ACHAP30 ACHAP32 ACHAP33 ACHAP34
ACHAP37 ACHAP38 ACHAP39 ADOCEREP ADOCVMXA ADOC1415
ADOC7072 ANALCACH ANALCTLD ANALIPAC ANALRACF ANALRRTM
ANALSNAP ANALVARY ANALVMOS ANALVVDS IDMSBLT IDMSJANL
IDMSJRNL JCLCRAYC LOADINFO REXXCOPY REXXEMAC REXXPDB
REXXTEST SYSLOGJE TTXPDS TYPEIMS UTILFMTX UTILPRNL
UTILSPAC UTILXRF1 VMACIPAC VMACRRTM VMAC102 VMXGHSM
XIBMFDP XLOGREC XNALCACH XNPMSESS XTYPEVS1 ZNALDB2R
ZRBIPSJ
MXG is now distributed as an unnumbered data set; columns
73 thru 80 are blank in all records on the MXG tape.
I have not used line numbers for references for several
years, and eliminating line numbers makes the source
library much smaller on ASCII.
Change 14.319 LPAR data now contains flag variable LPnCAP to indicate
ASUM70PR which partitions are Capped, and variable LPnSHARE which
Jan 31, 1997 contains the partitions percentage of the sum of the LP
share values (i.e., if the partition is Capped, then
LPnSHARE is the capping percentage).
Thanks to Ian Porter, Nissan European Data Center, SCOTLAND.
Change 14.318 Support for OS/390 Release 3 (Compatible) adds major new
VMAC7072 measures to the TYPE72 and TYPE72GO datasets; the first
Jan 30, 1997 five variables were added to both (i.e., COMPATIBILITY
MODE in TYPE72 and WORKLOAD MANAGER in TYPE72GO):
R723CICT='NON-PAGING*DASD I/O/CONNECT*TIME'
R723CIDT='NON-PAGING*DASD*DISCONNECT*TIME'
R723CIWT='NON-PAGING*DASD I/O*WAIT*TIME'
R732CIRC='NON-PAGING*DASD I/O*SSCH COUNT'
R723VELI='EXECUTION*VELOCITY*INCLUDES*I/O DELAY?'
and only in WORKLOAD MANAGER do we find:
PCTDLIOD='DASD*DELAY*SAMPLES'
PCTDLNDI='NON-DASD*I/O USIN/DELAY*SAMPLES'
PCTDLQ ='QUEUE*DELAY*SAMPLES*WAIT FOR*SERVER'
PCTDLSHS='SERVER*HIPERSPACE*PAGING*DELAY'
PCTDLSMP='SERVER*MPL*DELAY*SAMPLES'
PCTDLSPV='SERVER*PRIVATE AREA*PAGING DELAY'
PCTDLSSW='SERVER*SWAP-IN*DELAY*SAMPLES'
PCTDLSVI='SERVER*SPACE VIO*PAGING*DELAY'
PCTUSIOU='TOTAL*USING I/O*SAMPLES'
PCTUSTOU='TOTAL*USING*SAMPLES'
The calculation of VELOCITY is also changed in Release 3,
as PCTUSTOU (R723CTOU) replaces PCTUSCUS (R723CCUS) in
the numerator and variable R723VELI='Y to indicate that
the exection velocity now includes I/O delays.
Change 14.317 Dataset DB2ACCTP (Package Accounting) has new variables
VMACDB2 QWACBSC and QWACESC (start/stop of plan) added to KEEP=
Jan 30, 1997 list because they appear on DB2PM reports, and because
Oct 13, 2003 variable QPACSCB (start of package) cannot be used, as
it is null in the 2nd and subsequent segments of the
type 101 subtype 0 (accounting record, holds first ten
package statistics), and QPACSCB is nulls in ALL of the
type 101 subtype 1 (package only) records, and finally
because the subtype 1 record is written first (so I can
not retain from the subtype 0!).
Update: October 13, 2003: QPACSCB and QPACSCE appear
to always exist, now, in DB2ACCTP observations, both
from Subtype=0 (first 10 packages), and from Subtype=1
(more than 10 packages).
However, QWACBSC and QWACESC will always have missing
value in DB2ACCTP observations from subtype=1 because
that record does not contain the QWAC segment!
This 2003 note is only for documentation.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.316 Subtype 5 HMF record with only 1 segment caused INPUT
VMACHMF STATEMENT EXCEEDED error. Although undocumented, this
Jan 29, 1997 record had only the bus segment; there was no memory
segment present. To correct, insert after the @; that
is after the INPUT of HMF5BUS:
IF HMF5SEGS EQ 2 THEN DO;
and after the following IF SKIP GT 0 THEN INPUT +SKIP @;
insert END;
(so that only the bus stats are read when HMFSEGS=1).
Thanks to Ann Knapik, ISSC Akron, USA.
Change 14.315 DB2 utility programs set QWHCATYP=41 as their attachment
FORMATS type value, an undocumented value that IBM does not set.
Jan 28, 1997 The site is pursuing IBM for a better answer.
Thanks to Roman Jost, Gjensidigo, NORWAY.
Change 14.314 Dataset MEMOACCT new variables ENTRCALE/ENTRFORM are now
EXTYMEMO INPUT from previously reserved fields. In addition, the
VMACMEMO MEMOACCT dataset contains variable CURRMODE with values
Jan 28, 1997 of T - terminate session or C - continuation, the latter
having accumulated values, so in most cases you only want
the type T, so in member EXTYMEMO I have added an example
of the code IF CURRMODE='T' THEN OUTPUT _LTYMEMO; that
would cause only type T obs to be output, but that sample
code in EXTYMEMO is commented out by default, so MXG will
create both C and T observations until you change it.
Thanks to Roman Jost, Gjensidigo, NORWAY.
Change 14.313 Invalid type 80 RACF record caused INPUT STATEMENT EXCEED
VMAC80A error. The record, an RACFEVNT=21:RDEFINE has pairs of
Jan 28, 1997 (SMF80DTP,SMF80DLN) (data type, data length, in decimal)
of (6,151),(12,12),(81,08),(0,21),(6,8), then 543 (24,12)
segments, a (49,20) and a (53,80). The first DTP=6 is
the expected 151 bytes, but there is a later DTP=6 with
unexpected length of 8. The DTP=12 is 12 bytes instead of
the documented multiple of 9. There are no DTP= 0 or 81
values documented by IBM. And inside the DTP=12 data
segment, the characters do not conform with the expected
format, so this record was partially hosed, but still by
adding protection for these (invalid) unexpected lengths
in the DTP= 6 & 12, and for the unexpected DTP= 0 & 81,
the rest of the type 80 records can be read while IBM is
contacted to find a fix to prevent the bad record.
Thanks to Silva Viviani. Fondo Commune D.C. Rurali Trentine, ITALY.
Change 14.312 IMF flag variables in the DBD section were not reset for
VMACCIMS the next DBD segment, and thus were incorrectly carried
Jan 28, 1997 forward. ELSE variable=' '; clauses were added for the
variables: DBTOVFLW DBTMSCNT DBTTYDDN DBTTYOTH DBTTYSEC
DBTVSAM and DBTOSSB
Thanks to Sieghart Seith, FICUCIA, GERMANY.
Change 14.311 MXG now converts GMT timestamps in DB2 records to local
EXDB2ACC time automatically, but this change is INCOMPATIBLE for:
VMACDB2 sites that already use member EXDB2ACC to change GMT to
VMACDB2H local for variables QWHCBSC and QWHCESC (which was the
VMAC102 MXG recommendation prior to this change!). For those
Jan 27, 1997 sites, you must remove your conversion code and let MXG
convert those and all DB2 timestamps for you.
The revised algorithm detects not only the hours of delta
time between SMFTIME (local) and THISSTCK (GMT), but also
now detects the seconds of delta time (values of 20
seconds were seen, which is about the current number of
leap seconds that is included in the STCK value in
SYSPLEX environments, but leap seconds are not included
in SMFTIME values). The value of the GMT Offset,
GMTOFFDB, may not be exact hours. We found a THISSTCK
value of 16:00:20 and SMFTIME was 10:00:00 so GMTOFFDB
was -06:00:20! Without those extra 20 seconds in the
GMT offset, the converted local times would be off by 20
seconds, so don't disbelieve a GMT offset that is not
exact hours. I arbitrarily set any difference less
than 10 seconds to zero, even though current measurements
show a maximum real fuzziness of less than 0.12 seconds,
because I expect delta seconds to be due to leap seconds
and the value of 10 might cover pathological cases when
SMFTIME was delayed. The new algorithm to calculate the
GMT offset, GMTOFFDB, which is used in VMACDB2 & VMAC102
members, is contained in VMACDB2H:
DELTASMF=SMFTIME-THISSTCK;
GMTOFFHR=(100*FLOOR((DELTASMF+30)/100))/3600;
GMTOFFSC=DELTASMF-3600*GMTOFFHR;
IF ABS(GMTOFFSC) GT 10 THEN
GMTOFFDB=3600*GMTOFFHR+GMTOFFSC;
ELSE GMTOFFDB=3600*GMTOFFHR;
Thanks to Chuck Hopf, MBNA, USA.
Change 14.310 -Dataset PDB.DB2GBPST (Global Buffer Pool Interval Stats)
DIFFDB2 contained accumulated (and hence useless) values, but it
VMACDB2 is now deaccumulated to contain valid interval data by
Jan 27, 1997 its support in member DIFFDB2.
-Dataset PDB.DB2STAT1 and PDB.DB2STATS variable QBGLGN
should never have been kept; it is the Group Buffer Pool
ID in each of the segments, and is kept only in the
detail PDB.DB2GBPST dataset.
Thanks to Ermanno Bertolotti, Banca Commerciale Italiana
Thansk to Daniela Busani, Banca Commerciale Italiana
Change 14.309 Support for additional variables in type 42 subtypes 15,
EXTY42X1 16, 17, 18, and new subtype 19 creates new MXG dataset:
VMAC42 TYPE42X1 - VSAM RLS Local Buffer Manager counters.
Jan 25, 1997 See notes in member ADOC42 for details.
Thanks to Michael E. Friske, Fidelity Systems, USA.
Change 14.308 Support for NTSMF Beta added new records, support for NT
VMACNTSM 3.51, and graceful detection of new record types. Have
Jan 25, 1997 tested 34 record types, of the 56 known records. See the
status and complete technical discussion in ADOCNTSM.
Change 14.307 Support for APAF v3.0 added new Millennium subtype 31 and
EXAPAFCB 32 records which create three new APAF datasets:
EXAPAFLP Dataset Subtype Description
EXAPAFSY APAFSYSD 31 Global system data
IMACAPAF APAFLPAR 32 LPAR and Physical CPU data
VMACAPAF APAFCHN 32 Channel data
Jan 25, 1997 Member IMACAPAF was incompatibly changed (because of the
Jan 30, 1997 creation of new datasets) and must be refreshed in your
USERID.SOURCLIB tailoring library.
The new subtype 31 contains only the "Physical" partition
times, while the subtype 32 contains the Total Dispatch
and Effective Dispatch, from which LPAR Management Time
is calculated for the Millennium processors.
Thanks to Bob Gauthier, American Stores Company, USA.
Change 14.306 Variable QBACHRF was added to the SUM= list of variables
ASUMDB2B to be summarized in creation of ASUMDB2B.
Jan 21, 1996
Change 14.305 Year 2000 status was updated. Revised format now shows
YEAR2000 ongoing list of vendor fixes which are required for those
Jan 17, 1996 products that did not support 2000 but now do.
Change 14.304 MXG 14.05-MXG 14.10 only, using the supplied MXGSAS JCL.
MXGSAS Error 180-322, right after the NOTE: THE INITIALIZATION
Jan 17, 1996 PHASE USED 0.13 CPU SECONDS AND 2233K results because the
default value for the TAILORNG symbolic parameter in the
MXGSAS JCL Procedure was still wrong in MXG 14.10. The
error was supposedly fixed by Change 14.239, but that fix
was not implemented in the MXGSAS member until now. The
default TAILORNG symbolic in MXGSAS must be:
TAILORNG='*.NULLPDS,VOL=REF=*.NULLPDS',
Thanks to Ram V. Ramamurthy, Associates Corporation, USA.
Change 14.303 NJE devices with INDEVICE or DEVNAME of LnnnnJRm instead
VMAC26J2 of the (old) expected style of Lnnn.JRm caused INREASON
Jan 17, 1997 to be blank (instead of SR/JR/JT), so these NJE purge
Jan 21, 1997 records were not recognized and were kept as real purge
records in BUILDPDB, causing some fields (like JENDTIME)
to be taken from the wrong purge record. The MXG logic
to create INREASON was revised to recognize the old and
new style of INDEVICE and DEVNAME:
DOTLOC=INDEX(INDEVICE,'.');/*CHECK INDEVICE, 'JR' OR 'SR'*/
IF DOTLOC NE 0 THEN DO;
DOTLOC=DOTLOC+1;
INREASON=SUBSTR(INDEVICE,DOTLOC,2);
IF (INREASON='JR' OR INREASON='SR') AND ORIGNODE GT ' ' THEN
SOURCE=ORIGNODE;
ELSE INREASON=' ';
END;
ELSE IF INDEVICE=:'L' AND '0001' LE SUBSTR(INDEVICE,2,4) LE '9999'
THEN DO; /* FORMAT LnnnnSRm DOES NOT CONTAIN A DOT */
INREASON=SUBSTR(INDEVICE,6,2);
IF (INREASON='JR' OR INREASON='SR') AND ORIGNODE GT ' ' THEN
SOURCE=ORIGNODE;
ELSE INREASON=' ';
END;
IF INREASON=' ' THEN DO;/*IF STILL BLANK, THEN CHECK DEVNAME*/
DOTLOC=INDEX(DEVNAME,'.'); /* 'JT' */
IF DOTLOC NE 0 THEN DO;
DOTLOC=DOTLOC+1;
INREASON=SUBSTR(INDEVICE,DOTLOC,2);
IF INREASON='JT' AND ORIGNODE GT ' ' THEN SOURCE=ORIGNODE;
ELSE INREASON=' ';
END;
ELSE IF DEVNAME=:'L' AND '0001' LE SUBSTR(DEVNAME,2,4) LE '9999'
THEN DO; /* FORMAT LnnnnSRm DOES NOT CONTAIN A DOT */
INREASON=SUBSTR(DEVNAME,6,2);
IF INREASON='JT' AND ORIGNODE GT ' ' THEN SOURCE=ORIGNODE;
ELSE INREASON=' ';
END;
END;
Thanks to Silvio Orsini, Banca D'Italia, ITALY.
Change 14.302 The 22 new Shared Paging variables in TYPE71 starting
VMAC71 with SHPBINAU and thru SHPGLOAV need to be INPUT as
Jan 17, 1997 &RB.8. instead of &RB.4. This corrects Change 14.257.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.301 MXG 14.07-MXG 14.10 only, JES3 only, and only if you use
BUIL3005 BUIL3xxx members instead of BUILDPD3. Error 22-7 UNKNOWN
JCLUXRE6 OPTION because SORTEDBY= was misspelled as SORTECBY=, and
Jan 15, 1997 because BUIL3005 was not in my QA stream (but now is)!
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.300 RMDS Versions 1.3 and 1.4 records have an undocumented
VMACRMDS section (or one added by APAR) with Originating Job and
Jan 14, 1997 Originating JOBID that was not previously INPUT by MXG.
To add these variables, insert after the @; that is
immediately after the INPUT of RMDSUDAT:
IF RMDSORG='A' AND RMDSACT='C' AND RECKEY='8080'X
AND LENGTH-COL+1 GE 16 THEN
INPUT
RMDSARN $EBCDIC8.
RMDSARI $EBCDIC8.
@;
(These two variables are already INPUT in the code for
later RMDS versions, and so they are in the KEEP= and
LABEL statements already!).
Thanks to Steve Colio, CIGNA Corporation, USA.
===Changes thru 14.299 were included in MXG 14.10 dated Jan 10, 1997===
(although top of CHANGES said only thru 14.298, 299 was there!)
Change 14.299 Support for NTSMF (Windows NT) measurement is now ready
ADOCNTSM for beta testing, and is very well documented. ADOCNTSM
NTINTRV now documents all 54 NTSMF datasets, and the new NTINTRV
VMACNTSM dataset is created (like RMFINTRV). See NTSMF Technical
Jan 8, 1997 Notes.
Change 14.298 PRO/SMS dataset PROSMS does not contain DSN nor DDNAME,
EXPROSMS but new sample code in this exit member (commented out,
Jan 2, 1997 as it may be installation dependent) shows how one site
was able to parse the text to identify which dataset and
DDNAME was altered by PRO/SMS.
Thanks to Warren Hayward, TJX Companies, USA.
Spent an actual Christmas vacation with family, and nothing broke!
Change 14.297 Variables MVUOBMDN,MVUSBIN,MVUSBMDN,MVUSOBIN,MVRETDAT are
VMACEDGS now INPUT from the type 'V' DF/SMSrmm record and are kept
Dec 19, 1996 in dataset EDGSVREC.
Also, the CDS records can be read directly with TYPEEDGS,
so using IBM's utility to dump the data is not required!
Thanks to Richard Fortenberry, Mitsubishi, USA.
Change 14.296 H-P Measureware variable SOFTWARE was kept as a 200-byte
VMACMWAI variable because it was not in the LENGTH statement; now
VMACMWSU it is set LENGTH $30. (and variable AMPM is now $2) to
VMACMWUX reduce the size of the datasets.
Dec 18, 1996
Thanks to Al Holtz, Medco Data Corporation, USA.
===Changes thru 14.295 were included in MXG 14.09 dated Dec 17, 1996===
Change 14.295 If you create type 74 records for devices other than just
RMFINTRV TAPE and DASD, the DEV..... SIO74CNT and AVGRSPTM values
Dec 17, 1996 include those other devices (eg, CTC) counts. Since it
is the intention to have only DASD counts in those fields
by inserting ELSE DELETE; before LENGTH SIO74TAP 4; those
other device records will not be included in RMFINTRV.
Thanks to W. Rathfelder, Taylorix AG, GERMANY.
Change 14.294 For multi-volume non-HSM-backup tape datasets, only the
DAILYDSN last volume's size was included in variable SPACE5, the
Dec 17, 1996 megabytes on non-HSM tape. Replace SPACE5=BLKSIZE*BLKCNT;
with SPACE5=TAPEBYTE;
Thanks to Chuck Hopf, MBNA, USA.
Change 14.293 Support for Windows NT measurement with NTSMF records
ADOCNTSM created by Demand Technology's product. This support is
EXNTxxxx for the beta testers of NTSMF. The fifty-four new MXG
IHDRNTSM datasets (one per "object") are described in ADOCNTSM
IMACNTSM member, and a more extensive discussion of NTSMF records
TYPENTSM will be in the NT Technical Notes section of the next MXG
VMACNTSM Version. Status of testing is also in ADOCNTSM.
Dec 17, 1996
Change 14.292 The very last IMS log record was not processed, because
VMACIMSA the ELSE IF LCODE=07X THEN DO; statement should have been
Dec 17, 1996 IF LCODE=07X THEN DO;
Thanks to Juerg Frei, SAS Switzerland, SWITZERLAND.
Change 14.291 Coupling Facility data added by PTF UW90312 was on a per
VMAC74 structure basis, not per-CF basis, so variable names were
Dec 14, 1996 R744CCOC thru R744CXRL were moved from TYPE74CF to the
TYPE74ST dataset, and MXG input logic was revised.
IBM's "CF Reporting Enhancements to RMF 5.1", WSC Flash
9609 has an excellent discussion of how to use these
important fields for determining if your Coupling Fac.
becomes the bottleneck in your sysplex. The flash also
lists APARs OW11789, OW12415, OW13418, and OW13536 as
required and it lists the additional hardware ECs that
you want to have installed for accurate CF measures.
-R742MSTF was FORMATed $HEX2, input $CHAR1.
-Variables R744FTIM, R744FSQU, R744FCTM, R744FCSQ are
input with PIB8 instead of the (IBM-documented!) RB8.6
informat, and variables R744CDEC,R744CDAC,R744CTCC, and
R744CDTA are input as PIB4 vice RB4.
Thanks to Steve Dodge, Amdahl Corporation, USA.
=Attended CMG 96 in San Diego, and Bernie Davidovich's wedding in NY.
Change 14.290 If your SAP Accounting Exit was miscoded, invalid length
IMACICSA type 110 records can be created, causing INPUT STATEMENT
Dec 3, 1996 EXCEEDED error. This change, inserted after STCLEN has
been INPUT, verifies the real data length agrees with the
STCLEN value, eliminating the exposure.
Thanks to Helgund Linck, BASF Compuer Services, GERMANY.
Change 14.289 DF/SMS Rmm EDGS records type V can cause INPUT STATEMENT
VMACEDGS EXCEEDED error because variable length fields & variable
Dec 3, 1996 number of fields at the end of the record were not input
Dec 17, 1996 correctly. Conditional INPUT of the variables MVDSN1,
MVDSNL, MVACCINF and MVDESC with $VARYINGnn. INFORMATS
with associated length variable, and INPUT of variables
MVAUTID1-MVAUTIDC based on MVACCLST was necessary.
Dec 17: Input of MVVOLSEQ must be &PIB.2. vice &PIB.1.
Thanks to Richard Fortenberry, Mitsubishi, USA.
Change 14.288 Negative tape allocation duration can result when system
ASUMTALO clocks are out of synchronization, if the clock delta is
TRNDTALO greater than the duration of the allocation, because only
Dec 3, 1996 the start time of allocation had been adjusted. Now both
the front-end and back-end timestamps are adjusted, and a
note is printed on the log that we are adjusting times
(and by how much).
Thanks to Ruth Whitney, CITICORP, USA.
Change 14.287 The number of DB2 Plans executed is no longer equal to
ANALDB2R the number of observations in DB2ACCT, if DB2 Parallelism
ASUMDB2A is used. Variable DB2PARTY (Parallel Type) identifies a
Dec 3, 1996 "real" plan execution (DB2PARTY='S' or DB2PARTY='O'), but
Dec 19, 1996 observations with DB2PARTY='P' are additional records for
parallel tasks within a plan execution and must not be
counted. In ANALDB2R and ASUMDB2R, NUMPLANS is now
calculated as:
IF QWHSRELN GT 4.0 AND DB2PARTY='P' THEN NUMPLANS=0;
ELSE NUMPLANS=1;
and then NUMPLANS is summed to get total count.
Without this change, you will see very, very large counts
of plans executed and per-plan measures will be very
small, if your DB2 application exploits parallelism.
Dec 19: The original test QWHSRELN GE 4.1 was changed to
QWHSRELN GT 4.0 (because 4.1's value is 4.0999994278!).
Also, this change removed the parallelized transactions
from being counted as NUMPLANS, but sequential parts or
parallelized transactions are still counted in NUMPLANS.
I have to count the DB2PARTY='S' transactions, because
for a non-parallelized transaction, that's all there is!
I hope to review this counting and see if there is a safe
way to only count 'S' obs for non-parallelized trans.
Thanks to Glenn Bowman, Wakefern Food Corporation, USA.
Change 14.286 DB2 Buffer Statistics in the Accounting Detail Report did
ANALDB2R not include buffer pools 1 and 2, so they did not cross-
Dec 3, 1996 foot to the "Total Total" field. Additional corrections
were made and fields on HPOOL/VPOOL usage were added.
Thanks to Terry Dehart, First of America Services, USA.
Change 14.285 Change 14.251 circumvented the error in decoding COLLECT
VMAC102 in DB2 Trace IFCIDs 21 and 44, but the real fix is:
Dec 3, 1996 Change both occurrences of IF I=19 AND J=13 THEN J=20;
to IF I=19 AND J= 7 THEN J=20;
and change the LENGTH of COLLECT back to $ 26.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt AG, Germany
Change 14.284 Support for Demand Technology's Stress Test SMF record.
EXTYSTRS This support decodes records into new dataset TYPESTRS,
IMACSTRS but enhancements under development will use your current
TYPESTRS TYPE74 and TYPE74CA statistics to create control cards
VMACSTRS that will drive Stress Test to simulate that current I/O
Dec 3, 1996 configuration.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.283 The HP MeasureWare dataset HPUXGLOB for HP-UX operating
VMACMWUX system had incorrect values for some variables, because
Dec 2, 1996 -the variable PEAKTM should not have been INPUT, and it
must be removed (i.e., the line INPUTing PEAKTM was
deleted by this change, as was the line LABELing PEAKTM
and it was removed from the KEEP= list for HPUXGLOB), and
-the variable NTPACKRT should have been INPUT, between the
INPUT of variables NTOUPKTS and NTCOLPCT (and it was
LABELed as NET*TOTAL*PACKET*RATE, and added to the KEEP=
list for HPUXGLOB).
Thanks to Al Holtz, Medco Data Corporation, USA.
Change 14.282 The archaic ASMVTOC program (which should be replaced by
ASMVTOC using DCOLLECT and TYPEDCOL) is also a pig! For a system
Dec 2, 1996 with 2496 DASD devices, ASMVTOC took 3.25 CPU minutes,
10 million EXCPs and 2.5 elapsed hours, while DCOLLECT
took 2.72 CPU minutes, 86 thousand EXCPs and 23 elapsed
minutes (and got VVDSs, Migration, and Backup data too!).
Note that the MXG 13.13 version of ASMVTOC either failed
during assembly, or assembled but then produced no output
records when executed, so if you still use ASMVTOC, you
will need 14.01 or later (to get Change 14.003).
Thanks to Chuck Hopf, MBNA, USA.
Change 14.281 The T102S221 trace dataset did not keep the low and high
VMAC102 ranges (page range in QW0221PL,PH, index range in KL-KX,
Nov 23, 1996 and KH-KY), which are needed if you wish to verify that
the I/O parallelism partitioning was even, and obs were
only output for the record, not for each segment. The
segment variables were added to the KEEP= list, and the
OUTPUT T102S221; statement was moved to immediatley be
after the @; after the INPUT of QW0221KY.
Thanks to Ted Blank, IBM, USA.
Change 14.280 The BETA93 1.6.5 subtype=3 record is written twice, once
VMACBETA at the start of print, and once at the end of print. As
Nov 23, 1996 there are no resources in the start record, that record
is now deleted. In the SUBTYPE=3 logic, between BETAATTR
and BETABPGE, insert:
@; IF BETAATTR NE 'C5'X THEN DELETE; INPUT
Thanks to Paolo Carloni, AGIP PETROLI S.p.A., ITALY
Change 14.279 HP MeasureWare for AIX variable PROGRAM was added to the
VMACMWAI LENGTH statement for $16 (default of $8 was not enough,
Nov 23, 1996 causing trunctation but no error), and variable SWAPMEM
was added to the KEEP= list for dataset HPAICONF.
Thanks to Lorenzo Wright, NCCI, USA.
Change 14.278 Support for VTAM Session Management Exit SMF record that
EXTYVSME is described in Appendix K of IBM ITSC Red Book "Network
IMACVSME Security Using the VTAM Session Management Exit, pub nr
TYPEVSME GG24-3544-00).
VMACVSME
Nov 23, 1996
Thanks to Kwok Wong, Commonwealth Bank of Australia, AUSTRALIA.
Change 14.277 IMAC6ESS is a user exit that permits decoding of the ESS
IMAC6ESS segment in the type 6 SMF record, and variable ROOM was
VMAC6 used in that commented-out code, but variable ROOM also
Nov 23, 1996 exists in TYPE26J2, so to prevent a possible conflict, I
renamed the ROOM in IMAC6ESS/VMAC6 to ROOM6. This should
cause no compatibility issue, since ROOM was not kept in
TYPE6 unless you tailored IMAC6ESS, and ROOM from TYPE26
was not kept in PDB.JOBS unless you tailored IMACPDB.
Thanks to Helgund Linck, BASF Computer Services GmbH, GERMANY.
Change 14.276 Change 14.040 inadvertently relocated the code to decode
VMACTCP FTPLOCAL and FTPREMOT in the TYPETCPF dataset, causing
Nov 23, 1996 those two variables to be missing in TYPETCPF. To correct
copy the 16 lines beginning with FTPLOCAL=PUT... ending
with FTPREMOT=COMPRESS... so they are immediately before
the %%INCLUDE SOURCLIB(EXTYTCPF) statement.
Thanks to Helgund Linck, BASF Computer Services GmbH, GERMANY.
===Changes thru 14.275 were included in MXG 14.08A dated Nov 18, 1996===
Change 14.275 Cosmetic changes. Duplicate variable names were removed
IMACAAAA from KEEP= list in VMACHARB and VMACMWAI, IMACAAAA was
VMACHARB updated with new member names that were overlooked, and
VMACMWAI the AS/400 support for Release 3.7 was listed under 14.08
Nov 18, 1996 in the list of Significant changes in 14.08.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.274 SuperIND$FILE SMF record had some character fields off by
VMACSUIN one byte, because the +1 between XFERMODE and INBUFFSZ
Nov 18, 1996 does not belong and was deleted.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.273 MXG 14.05-08 only. INVALID DATA FOR R744FCTM and FCSQ.
VMAC74 Added by Change 14.165, conditionally INPUT by Change
Nov 15, 1996 14.196, the fields were still wrong in MXG 14.07 because
the DSECT shows BL8, like the two preceding fields so
I expected &RB.8.6 fields, but actual data values show
the two fields must be INPUT as &PIB.8.6 instead!
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt AG, Germany
Change 14.272 SAP Umbrella Transaction's Program and Tranname are kept
IMACICOC in variables OMUMBUSR and OMUMBPTC, while the variables
Nov 14, 1996 PROGRAM and TRANNAME contain the name of the SAP Primary
Program and Transaction. If you want your SAP reports to
show the Umbrella names rather than Primary names, you
can insert these lines in your reporting programs:
IF OMUMBUSR GT ' ' THEN PROGRAM=OMUMBUSR;
IF OMUMBPTC GT ' ' THEN TRANNAME=OMUMBPTC;
You could insert these lines in member IMACICOC to store
the Umbrella names into PROGRAM and TRANNAME in CICSTRAN,
but then you could not go back to determine the Primary
names, if they were ever needed. Thus there was no code
changed in MXG by this Documentation Note Change.
Thanks to Joan Nielsen, PKS Information Services, Inc, USA.
====Changes thru 14.271 were included in MXG 14.08 dated Nov 13, 1996===
Change 14.271 Support for AS/400-OS/400 Release 3.7.0 added many new
VMACQAPM variables to datasets QAPMBUS,QAPMCONF,QAPMJOBS,QAPMMIOP,
Nov 12, 1996 and QAPMRESP. Support for all fields added by 3.6.0 are
also now supported. All 3.7.0 changes were compatible,
except for the QAPMETH dataset, which had ETLFRT expanded
from three to six bytes (and I had misspelled it!). The
3.6.0 partial changes in CHANGE 14.098 were INCOMPATIBLE.
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 14.270 Cosmetic. All of the LABEL, FORMAT, INFORMAT, and LENGTH
VMAC110 statements in the Statistics code (Subtype=2) were moved
Nov 12, 1996 together into single statements with alphabetic lists.
Change 14.269 Execution of MXG Software under Unix requires each PDS
IEBUPDTE member become an individual file with suffix "sas", AND
Nov 12, 1996 the filename must be in lower case! The IEBUPDTE.SAS
program creates the individual files, but their names are
in upper case, causing execution under UNIX to fail!
This change inserts MEMBER=LOWCASE(MEMBER); after the
MEMBER=TRIM.... statement to create the members in lower
case. Make sure the output directory is empty before
running the IEBUPDTE.SAS program, as it appears that if
the output file name already exists as an upper case name
that the data is copied but the name is not re-cased!
Thanks to Mike Orlando, Nalco Chemical Company, USA.
Change 14.268 Protection was added to eliminate DIVISION BY ZERO error
VMAC7072 if IOCCOEFF was zero. I had assumed IOCCOEFF would never
Nov 12, 1996 be zero, but if it was, the divide error occurred.
RMFINTRV Also, PGPIOTM is now forced missing for MVS/ESA 5.2 or
Mar 10, 1997 higher. When IO units could be based on either EXCP or
IOTM, both PGPEXCP and PGPIOTM (raw IO EXCP count or raw
IO Connect time) were calculated (even though only one
was ever valid), because IBM did not flag whether you had
specified EXCP or IOTM for your IO Service Units). But
with MVS/ESA 5.2+, IO Service Units can only be based on
EXCP count, so PGPIOTM has no meaning.
Mar 10, 1997: Because PGPIOTM in TYPE72 is missing, the
variables BATIOTM, CICSIOTM, IMSIOTM, TSOIOTM, OTHRIOTM
in dataset RMFINTRV will also be missing.
Change 14.267 This report showed zeros for channel busy in LPAR mode.
ANALPATH Change PNCHANBY=MIN(PNCHANBY,PCHANBY);
Nov 12, 1996 to read PNCHANBY=MAX(PNCHANBY,PCHANBY);
Nov 18, 1996 (Nov 12 text had PCHANBY on left, corrected Nov 18.)
Thanks to Jim Ray, Branch Banking and Trust, USA.
Change 14.266 MXG 14.04-MXG 14.07. The word "NEW" must be deleted from
VMACITRF line 245 to prevent INPUT STATEMENT EXCEEDED ERROR. This
Nov 4, 1996 was introduced by Change 14.128 and incomplete testing.
Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.
Change 14.265 Support for HP's MeasureWare for SUN operating system.
EXHPSUTT The same datasets that were created by HP's PCS for SUN
IMACMWSU are created, with one new dataset:
TYPEMWSU Dataset Description
VMACMWSU HPSUTRAN Transaction Tracker Record
Nov 1, 1996
Thanks to Gary Alexander, BMC, USA.
Change 14.264 Support for CA's ENDEVOR SMF record creates two datasets
EXENDVAC Dataset Description
EXENDVSE ENDEAVAC Action Record
FORMATS ENDEAVSE Security Record
IMACENDV The Action record has been validated with actual data,
TYPEENDV but no security records had been created (there were no
VMACENDV security violations!) so that code is untested.
Nov 1, 1996
Thanks to Grace Pergament, Amdahl Corporation, USA.
Thanks to Susan Walters, Michelin Tire Corporation, USA.
Change 14.263 Dataset DCOLAG (Aggregate Group Definitions) has several
VMACDCOL fields incorrect, because the @208 preceding DAGEXPYR
Nov 1, 1996 should have been @209.
Thanks to Gary Miner, Fidelity Investments, USA.
Thanks to Lawrence Jermyn, Fidelity Investments, USA.
Change 14.262 Calculation of DOMDSPCH and ADJTARG must be changed to:
VMACAPAF IF ACTIVE GT 0 THEN DO;
Nov 1, 1996 DOMDSPCH=INTERVAL*DOMDSPCH/ACTIVE;
ADJTARG =INTERVAL*ADJTARG /ACTIVE;
END;
(The variables are divided by INTERVAL earlier in code.)
Thanks to Stephen H. Lothes, Flexlogic, Inc, USA.
Change 14.261 Using the new High Level Assembler PGM=ASMA90 instead of
ASMIMSLG its predecessor Assembler PGM=IEV90, a syntax error that
Nov 1, 1996 was overlooked by IEV90 was encountered. The statement
STATS=SKIP following WRITEMSG IMSM101I needs a comma
(STATS=SKIP,) for the continuation.
Thanks to ???, BBK, SPAIN.
Change 14.261A The statement MONICASP=MONACISP; must be changed to
TYPEMON8 MONICASP=MONACASP; to pick up the correct
Nov 1, 1996 temporary value.
Thanks to Alfred Brunner, COMLAB Gmbh, GERMANY.
Change 14.260 DFSMS/RMM SMF records caused INPUT STATEMENT EXCEEDED.
VMACEDGS In the EDGATYPE='O' code, the test IF MOCFLG EQ '08'X ...
Nov 1, 1996 must be replaced with IF MORTYPE EQ '000000000000'X ...
and IF MOVOLNO GT 0 AND MOCFLG NE '08'X THEN DO ...
must be replaced with only IF MOVOLNO GT 0 THEN DO ...
In the EDGATYPE='P' logic, the statement
IF MOVOLNO GT 0 THEN DO _I_=1 TO MOVOLNO; must be
IF MPVOLNO GT 0 THEN DO _I_=1 TO MPVOLNO; must be
Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.
Change 14.259 Support for Omegamon for VTAM V200 was not complete; an
VMACOMVT extra four bytes added to IRNUM=13 segment was overlooked
Oct 30, 1996 in Change 14.268. After input of OM13GT, insert:
OM13DT &PIB.4. /*NCP*INTERVAL*DELTA*TIME*/
and add OM13DT to KEEP= list.
Thanks to Neil McMenemy, Royal Bank of Scotland, SCOTLAND.
Change 14.258 Goal Mode variable RPTCLASS was added to PDB.JOBS. The
IMACPDB variable name was added to the _PDB30_4 macro, and to
Oct 30, 1996 the ID statement in macro _PDBSUMS (just like SRVCLASS).
Thanks to Steve Colio, CIGNA, USA.
Change 14.257 The 22 new Shared Paging variables in TYPE71 starting
VMAC71 with SHPBINAU and thru SHPGLOAV need to be INPUT as
Oct 25, 1996 &RB.4. instead of &PIB.4.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.256 Support for APAR OW22209 which (compatibly) adds fourbyte
VMAC21 counters for bytes read and bytes written, replacing the
Oct 24, 1996 two byte counters that could overflow! Also OW25262.
Change 14.255 Formats MGBYTES and MGBYTRT now format Petabytes, because
FORMATS I finally found (in an IEEE Computer Society article)
Oct 24, 1996 that 1000 Tera is 1 Peta!
Change 14.254 TYPE72GO variables R723CSRS, R723CSPA, R723CSPE are still
VMAC7072 wrong! Their informats are &RB.8.6, &RB.8., and &RB.8.
Oct 24, 1996 respectively.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 14.253 The JCL example showed //SYSID instead of //SYSIN.
ANALDB2C While minor, its still worth fixing, since a non-expert
Oct 23, 1996 with JCL might not recognize the misspelling.
Thanks to David Middlebrook, National Exchange of Police, AUSTRALIA.
Change 14.252 An invalid RACF segment for RACFTYPE=03 caused STOPOVER.
VMAC80A Although IBM documents a single length of 1 byte, the
Oct 23, 1996 segment had 151 bytes! To protect, insert:
SKIP=RACFDLN-1;
IF SKIP GT 0 THEN INPUT +SKIP @;
just before the END; that ends the WHEN (3) DO; clause.
Thanks to Silva Viviani. Fondo Commune D.C. Rurali Trentine, ITALY.
Change 14.251 INVALID SECOND ARGUMENT TO FUNCTION SUBSTR in DB2 102 due
VMAC102 to incorrect length statement for variable COLLECT, which
Oct 23, 1996 must be $28 instead of $26.
Thanks to Dr. Alexander Raeder, Karstadt, AG, Germany
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
Change 14.250 Cosmetic. TMON for CICS variables CPUTCBTM, UNKNCPTM and
TYPETMON CPUTM were not formatted as TIME12.2, but now are.
Oct 19, 1996
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.249 Support for HP's Measureware for AIX has been written and
IMACMWAI tested. The same datasets that were created by HP's PCS
TYPEMWAI for AIX are created, although some variables were deleted
VMACMWAI and some new variables are created.
Oct 17, 1996
Thanks to Lorenzo Wright, NCCI, USA.
Change 14.248 Support for Applied Software's SUPER IND$FILE product's
VMACSUIN SMF record, which creates dataset SUPERIND with stats on
Oct 17, 1996 file trasnfer with that utility program under TSO.
Thanks to George Briscoe, MBNA, USA.
Change 14.247 Support for Oracle 7.0.16 and 7.2.3 is in MXG 14.02 and
VMACORAC later, as there was no change in the format of the SMF
Oct 17, 1996 record created by those releases.
Thanks to Paul Hassett, U.S. Department of Transporation, USA.
Change 14.246 AS/400 variable GDES4 (storage size) was increased by IBM
VMACQAPM causing truncation of the size of installed storage. The
Oct 16, 1996 &NUM.7. after GDES4 was changed to &NUM.10. to correct.
Thanks to Ed Shigo, Nabisco, USA.
Change 14.245 Testing with intentionally duplicated SMF data uncovered
BUILDPDB cases where the PROC SORT NODUP did not remove duplicate
BUILDPD3 observations, because the BY list was underspecified.
BUILD002 For TYPE30MU, add PRODOWNR PRODNAME PRODQUAL PRODVERS to
BUILD003 its BY list.
MONTHBLD For TYPE74CA, add DEVN SMFTIME to its BY list.
WEEKBLD For TYPE74CF, add R744FNAM SMFTIME to its BY list.
Oct 16, 1996 For TYPE74ST, add R744SNAM SMFTIME to its BY list.
For TYPE77, add QNAME RNAME SMFTIME to its BY list.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.244 Change 12.179 was not applied to VMACIMSA, used by the
VMACIMSA ASMIMSLG processing, causing SAP variables SAPTIMTR,
Oct 15, 1996 SAPCPUT, and SAPELTI to be incorrect.
Thanks to Markus Joos, SAS Germany, GERMANY.
Change 14.243 Support for RACF 2.1 IRRDBU00 unload utility has now been
VMACRACF verified for most records. The only change was that the
Oct 11, 1996 variable TIMEOUT in RACF0230 should be INPUT as TIME5.,
instead of the previous ZDB5. input.
Thanks to Peter Cannone, The Great Atlantic & Pacific Tea Co., USA.
Change 14.242 A truncated catalog cell=04 record caused INPUT STATEMENT
VMAC6156 EXCEEDED RECORD LENGTH. The cell has VOLHYKLN=2, but
Oct 10, 1996 that is at the end of the record, and there was no high
key following the key length. Protection added so that
MXG checks to see there is still data in the record prior
to INPUT of VOLHIKY.
Thanks to Raff Rushton, Great Western, USA.
Change 14.241 Support for RACFEVNT=27 (GENERAL AUDIT) creates the new
EXTY8027 TYPE8027 dataset. RACFTYPE=36 is now decoded in SETROPS
IMAC80A (RACFEVNT=24) records.
VMAC80A
Oct 10, 1996
Thanks to Robert Miles Standish, Dean Witter Trust Company, USA.
Change 14.240 IPAC SMF records cause INVALID ARGUMENT TO FUNCTION MDY
VMACIPAC (and print hex dump with "RDS " in bytes 15-18) because
Oct 9, 1996 the SDATE and EDATE are julian dates, not MMDDYY as the
vendor documented.
Thanks to Shaheen Pervais, Trans Union, USA.
Change 14.239 The TAILORNG= JCL parameter added by Change 14.140 is bad
MXGSAS and in the sample MXGSAS JCL Procedureit must be:
Oct 7, 1996 TAILORNG='*.NULLPDS,VOL=REF=*.NULLPDS',
(like the LOAD= and SASAUTO= symbolic parameters).
With the delivered TAILORNG=NULLFILE, a JCL error occurs
(because NULLFILE is a sequential file, not a PDS).
Thanks to Mr. Harnischmacher, TEZ Test und Entwicklungszentrum, GER.
Change 14.238 Archaic IDMS 10.2.1 SMF records caused STOPOVER because
VMACIDMS the subtype 2 record is 4 bytes shorter, and the subtype
Oct 1, 1996 6 is one byte shorter than the code expected.
Oct 8, 1996 At the end of the INPUT for PMHRTYPE=2, change the +12 to
Oct 16, 1996 +8, and change SKIP=SKIP-108; to SKIP=SKIP-104;
I suspect a CA PTF changed the record, because I am sure
this code ran against 10.2.1 records in past years, but
the fix protects both 10.2.1 and 12.01 records.
-In the PMHRTYPE=6 code, replace the line with +1
after the line inputting JRLFILE with:
@; IF SMFHVER GE '1201' THEN DO;
INPUT +1 @; SKIP=SKIP-1;
END;
and change SKIP=SKIP-105; to SKIP=SKIP-104;
-In the PMHRTYPE=18 code, change code now reading:
DBKPGGRP &PIB.2.
+2
DBKKYFMT &PIB.4.
DBKLTYPE &PIB.4.
@;
SKIP=SKIP-14;
IF DBKOWNER='80'X THEN DO;
to instead look like this:
DBKPGGRP &PIB.2.
@;
SKIP=SKIP-4;
IF SMFHVER GE '1201' THEN DO;
INPUT +2
@;
SKIP=SKIP-2;
END;
INPUT DBKKYFMT &PIB.4.
DBKLTYPE &PIB.4.
@;
SKIP=SKIP-8;
IF DBKOWNER='80'X THEN DO;
Thanks to Paul Hasset, U.S. Department of Transportation, USA.
Change 14.237 Candle's EPILOG for MVS records with SM180SUB='RCCH' are
VMACEPMV not the expected record and are deleted. The test for
Sep 30, 1996 'RSRC' was expanded to OR SM180SUB='RCCH' THEN DELETE;
Also, the following INPUT statement is now conditionally
executed as IF LENGTH-COL+1 GE 152 THEN INPUT ....
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 14.236 Support for new RMF type 74 subtype 100 record, called
EXTY74LK the IRLM 'long lock' package, added by APAR OW20579 and
IMAC74 others, that measures held time for IRLM Structure locks
VMAC74 in the Coupling Facility. This APAR has been in FIXTEST
Sep 28, 1996 for quite a while but has been distributed to some
customers, and there is an RMF User report that displays
locks held/waited. New dataset TYPE74LK contains one
observation for each IRLM lock structure name. This code
has not been data-tested as yet.
Change 14.235 Support for several new fields (mostly SMS-related, like
VMXGHSM Data, Storage, and Management Classes) added to the HSM
Sep 28, 1996 MCC record. Additionally the SC,DC, and MC class names
Oct 9, 1996 in both MCC and MCD records are now input only if their
length is non-zero; some zero-length records had hex
zeroes instead of blanks for these name fields. Also, the
INFILE statements needed LENGTH=LENGTH COL=COL added.
Thanks to Terry Duchow, U.S. Postal Service, USA.
Change 14.234 PRO/SMS support in Change 14.207 was incorrect; test data
EXPROSRE for subtype 1 has now been verified, but subtype 2 record
IMACPROS documentation disagrees with actual content of test data.
VMACPROS There are now two datasets created:
Sep 28, 1996 Dataset Subtype Description
Oct 16, 1996 PROSMS 1 Message
Nov 1, 1996 PRORECOV 2 Recovery Performed
Both datasets have been tested with actual data.
Thanks to Warren Hayward, TJX Companies, USA.
Change 14.233 TYPE89 usage data variable MULCURD, for Batch Pipes, was
VMAC89 incorrectly input. The input format of MULCURD is set by
Sep 26, 1996 the value of MULTCURT, but MXG had reversed the INPUT for
MULTCURT 2 and 3. The correct statements should be:
IF MULCURT EQ 1 THEN INPUT MULCURD &RB.8.2 @;
ELSE IF MULCURT EQ 2 THEN INPUT MULCURD &PIB.8. @;
ELSE IF MULCURT EQ 3 THEN INPUT MULCURD &RB.8. @;
The choice of format for MULCURD is set by the product's
FUNCTIONDATA request in its macro IFAUSAGE; previous data
records contained MULCURT=1, which correctly read MULCURD
but BatchPipes sets MULCURT=3, exposing the error.
Thanks to Michael Oujesky, MBNA, USA.
Change 14.232 HSM warning "FSRTVOLS CAN CONTAIN ONLY 30 BYTES" is writ
VMACHSM in error. The two lines preceding the PUT of that
Sep 25, 1996 message, now reading IF LENGTH(FSRTVOLS) GT 23 THEN ...
must be changed to: IF LENGTH(FSRTVOLS) GT 30 THEN ...
Thanks to Robert Miles Standish, Dean Witter Trust Company, USA.
Change 14.231 Change 14.167 was implemented and printed incorrectly.
DIFFDB2 The four lines after that change that start with:
Sep 25, 1996 IF QWHSISEQ GE 1 AND PREVSSID .... must be changed to:
IF SEQCHECK GE 1 AND PREVSSID ....
One source of the skipped sequence numbers (QWHSISEQ) is
CA's INSIGHT monitor for DB2. When INSIGHT is started at
DB2 startup, several ISEQs are skipped, and several ISEQs
are skipped at shutdown. CA is investigating.
Thanks to Tom Parker, Hogan Systems, USA.
Change 14.230 Huron dataset HURN47 had zero observations if there were
VMACHURN no external resource segments at the end of the record.
Sep 23, 1996 After the END; statement that ends DO I=1 TO HU47XSNO;
insert:
IF HU47XSNO EQ 0 THEN DO;
%%INCLUDE SOURCLIB(EXHRN47);
END;
Thanks to Mark Totleben, Farm Bureau Insurance, USA.
Change 14.229 Support for Interlink's Harbor 4.1 SMF record creates
EXHARARC nine datasets for that backup product:
EXHARBKP Subtype Dataset Description
EXHARCON 01 HARBBKUP Harbor Backup Request Info
EXHARDIS 02 HARBREST Harbor Restore Request Info
EXHARFIL 03 HARBARCH Harbor Archive Request Info
EXHARMIG 04 HARBRETR Harbor Retrieve Request Info
EXHARREC 05 HARBDIST Harbor Distribution Info
EXHARRES 06 HARBMIGR Harbor Migration Info
EXHARRET 07 HARBRECA Harbor Recall Info
FORMATS 08 HARBCONS Harbor Consolidation Info
IMACHARB 09 HARBFILE Harbor File Pickup st
TYPEHARB The first two subtypes have been validated with test data.
VMACHARB
Sep 22, 1996
Thanks to Paul Hassett, U.S. Department of Transportation, USA.
Change 14.228 Support for EOS (Change 14.143) wasn't correct; the Audit
FORMATS records were INCOMPATIBLY changed, causing MXG to trash
VMACWSF the WSFAUDIT dataset (but there was no execution error,
Sep 22, 1996 and the other datasets were validly created). There were
additional compatible changes made to EOS (aka WSF2):
New values for format MGWSFAC
New Audit variables in dataset WSFAUDIT:
AUDCFO - Form Used to Create
AUDCUSR - Report Owned By
AUDCTIM - Report Capture Datetimestamp.
New event variables in dataset WSFEVTSC:
ACCIPAD - IP address
ACCLUTY2 - LU Type (VTAM or TCP/IP)
ACCRESP5 - Responses LE 30 seconds
ACCRESP6 - Responses LE 2 minutes
ACCRESP7 - Responses LE 5 minutes
ACCRESP8 - Responses GT 5 minutes
Thanks to Judy Arroyo, Summit Bank, USA.
Change 14.227 Variable R742PSTA in dataset TYPE74PA is now decoded to
FORMATS describe path status, based on APAR OW22735, with new MXG
VMAC74 format $MG074ST.
Sep 20, 1996
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.226 DB2 Group Buffer Pool dataset DB2GBPST repeats the first
VMACDB2 buffer pool's data because the pointer was not moved.
Sep 18, 1996 Insert @OFFQBGL @; before the DO _I_=1 TO NRQBGL;
statement, and then remove the @OFFQBGL from the INPUT
statement after that DO statement.
Thanks to Bertolotti Emmanno, Banca Commerciale Italiano, ITALY
Thanks to Burani Daniela, Banca Commerciale Italiano, ITALY
Change 14.225 CICS/ESA 3.3, with optional ONC RPC feature creates a 5th
VMAC110 TCB in SMF 110 Statistics STID=57 records that was not
Sep 18, 1996 expected in MXG, causing MXG to print "UNEXPECTED (NEW)
Oct 9, 1996 DATA WAS FOUND" message on the SAS log. The APAR that
made the change was PN63215, closed in 1994, so it seems
that few sites have the ONC RPC feature on CICS 3.3.
MXG supports the 5th TCB for CICS 4.1 (and the 6th for
CICS 5.1), so only the 3.3 logic had to be corrected.
Oct 9: DSGNTCB is supposed to be the number of TCBs, but
in some CICS 3.3 records, it is zero, so the logic was
revised.
Thanks to Siegfried Trantes, IDG, GERMANY.
Change 14.224 Labels for CONTROL-T variables DENSITY, RECFM, TRTCH, and
VMACCTLT VDENSITY were corrected.
Sep 16, 1996
Thanks to Paul Hassett, U.S. Department of Transportation, USA.
Change 14.223 The INFILE statements for TANDCTLR and TANDLINE must be
VMACTAND LRECL=86 and LRECL=128 respectively. While comments had
Sep 12, 1996 correct values, both INFILE statements had LRECL=342.
Thanks to Alan Phelan, Allied Irish Bank, IRELAND.
Change 14.222 ASM fails; last minute changes were not tested. Find
ASMDALO Find 'R12,R11' and remove the blank after MXGDALO
Sep 12, 1996 Exclude ALL, Find 71,71 'X' ALL and in those four lines
move the X in column 71 to column 72 (so the Assembler
will recognize them as continuations).
Thanks to Chuck Hopf, MBNA, USA.
====Changes thru 14.221 were included in MXG 14.07 dated Sep 11, 1996===
Change 14.221 Support for IMS 5.1 Fast Path records using TYPEIMS7 to
VMACIMS read IMSLOG was added. The ASMIMSLG processing member
Sep 10, 1996 VMACIMSA already supported the Fast Path changes; this is
the same code, moved into the VMAC used by TYPEIMS7.
Thanks to MH, Allied Irish Bank, IRELAND.
Change 14.220 CICS Exclude logic for CICS 4.1 had a missing semicolon
IMACEXCL (the line BASETIME=...) and the IF SMFPSRVR GE 41.1 THEN
Sep 10, 1996 must be IF 33.0 LT SMFPSRVR LE 41.0 THEN ...
Thanks to Pat Quinnette, Principal Mutual Life Insurance, USA.
Change 14.218 Support for SNMP IFENTRY tables from TRENDSNMP product
EXTRSIFE from Desktalk, which polls SNMP agents and builds SYBASE
IMACTRSN tables, either under UNIX or WINDOWS-NT. MXG can execute
TYPETRSN either on an ASCII platform that connects to the SYBASE
VMACTRSN system and uses PROC ACCESS to directly convert the data
Sep 10, 1996 into SAS datasets, or instead, you can use the SYBASE BCP
utility to create an ASCII flat file that MXG can read on
the PC/Workstation, or that ASCII file can be shipped to
MVS and processed there. Macro _SIFEN uses PROC ACCESS,
Macro _TIFEN uses INFILE/INPUT to read BCP data. This is
the preliminary implementation and has been tested, and
will read either the Rate table or the History Table.
This code does no date/time selection; you get all of the
data in the SYBASE table, so you will need to select the
desired data. Future enhancements to provide selection
of "just yesterday's" data are planned, as are support
for additional SNMP tables and RMON data. Benchmarks on
my 64MB 166MHz Pentium with Windows NT 3.51 reading 20MB
SYBASE table that contained 6 days hourly data from 1000
devices (66,816 rows):
PROC ACCESS convert SYBASE to SAS: 265 seconds
or
BCP dump SYBASE to ASCII file 471 seconds
INFILE/INPUT read BCP dump 21 seconds
Thanks to Bernie Davidovich, Predictive Systems, USA.
Change 14.217 DB2 4.1 variables QTGA and QBGA were trashed, because the
VMACDB2 offsets were input from the wrong location. After test
Sep 10, 1996 IF QWHSNSDA GE 11 THEN ... the INPUTs with @81,85,87,89,
93, and 95, should be 97,101,103,105,109,111.
Thanks to Bertolotti Emmanno, Banca Commerciale Italiano, ITALY
Thanks to Burani Daniela, Banca Commerciale Italiano, ITALY
Change 14.216 Three new utilities are now available for Beta testing:
UTILCONT UTILCONT produces a PROC CONTENTS-like output with the
UTILFATD size (MegaBytes and observations) of each data
UTILSIZE set in the library pointed to by the PDB DDna.
Sep 10, 1996 UTILFATD reads the directory of all of your FAT disks
connected to this PC and calculates how much
space the data would take on hard disks of
varying cluster size (512 to 32K).
UTILSIZE reads an MVS PDS to calculate how much space
is needed to put that PDB library on a FAT
disk on your PC for all valid Cluster Sizes.
Large Cluster sizes may waste large amounts of
space when you have many little files. This
is useful to predict how much free space you
will need on your PC to store the MXG source
library.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.215 This is the Beta Version of the new MXG DASD Allocation
ASMDALO Monitor, which creates an SMF record for each of these
EXDALOAL DADSM events:
EXDALOEX DALOALOC ALLOCATE
EXDALOPA DALOSCRA SCRATCH
EXDALOPP DALORENA RENAME
EXDALORE DALOEXTN EXTEND
EXDALOSC DALOPART PARTIAL RELEASE
EXDALOVS DALOPPRL PARTREL PARTIAL RELEASE
IMACDALO DALOVSAM VSAM EXTEND WITHOUT A DEB
TYPEDALO and MXGDALO can be enabled for selected devices and/or
VMACDALO selected datasets. This monitor can be used to identify
Sep 9, 1996 jobs that are living on DASD extents (so you can increase
their primary allocation to avoid exposure to B37/E37
ABENDS. This monitor can be used to track (and charge?)
usage of temporary DASD space. Other uses are expected.
Read the comments in ASMDALO before you proceed.
Change 14.214 Variable SERVUNIT (total service units) was stored in 4
BUILDPDB bytes, whick keeps only 7 significant digits; a large
BUILDPD3 value in SERVUNIT (714 million units) was truncated by
BUIL3005 1000 units because 5 bytes storage is required to exactly
BUILD005 represent a numeric field that was input from four binary
VMAC30 bytes. SERVUNIT is now stored in 5 bytes. But the real
VMAC434 error here was the site's MSOCOEFF=3.0, way too large.
VMACTSOM An MSOCOEFF=.0001 is MXG's recommendation, so that the
Sep 10, 1996 MSO units do NOT contribute to SERVUNIT - only CPU time
Mar 10, 2003 and I/O operations are real computer work - and then the
value of SERVUNIT can be used to measure capacity. The
CPU+I/O service was 31 million units, showing the large
MSOCOEFF made the SERVUNIT field meaningless!
Mar 10, 2003: Original text has .000001 but .0001 is the
minimum value, other than zero.
Feb 21, 2005: See MXG Technical Note in Newsletter 47;
IBM Discovered that the smallest value is actually .0122.
Any value less than that value will be reported in the
MSOCOEFF in TYPE72GO, but only 0.0122 will be used!
Change 14.213 Support for NETVIEW 3.1 compatible changes to type 37
VMAC37 record added two fields, BRFEDCP1 and BRFPCCP1 to the
Sep 8, 1996 generic event report. While these fields were added
compatibly, MXG Version 13.13 failed with NETVIEW 3.1
because of MXG logic error that was fixed by MXG 14.090.
Thanks to Herb G. Strozinsky, Burlington Northern Sante Fe, USA.
Change 14.212 CICS/ESA 4.1+ GMT offset MCTMNTAD is not exact hours from
VMAC110 GMT (examples were off by 3.15, 0.9, and 0.6 seconds).
Sep 6, 1996 IBM lists APARs OW02410,OW10435,OW14651,OW14350,OW15036
and (most likely) OW15111 as the corrections, but the IBM
error is now circumvented by using the equation:
MCTMNTAD=3600*FLOOR((MCTMNTAD+900)/3600);
to exactly set the GMT offset to the nearest hour.
With CICS 4.1 and later, MXG uses MCTMNTAD to convert the
CICSTRAN variables STRTTIME and ENDTIME to local time,
so the overall impact was minimal, unless you tried to
compare CICS transaction start/stop times with TPX logon
times; the CICS error had transactions starting before
the terminal had logged on to CICS!
Thanks to Pat Quinnette, Principal Mutual Life Insurance, USA.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 14.211 CICS/ESA 4.1+ does not create obs in STID=4 statistics
CICINTRV dataset CICTSR, causing variable A02TTA in CICEODRV and
Sep 6, 1996 CICINTRV to be missing. However, the transaction counts
are in variable XMRAC in CICXMR, which was previously not
summarized in CICINTRV, but with this change now is, and
if A02TTA is missing, the value of XMRAC will be stored
into A02TTA so your old reports will be protected. Both
A02TTA and XMRAC are kept in CICINTRV/CICEODRV.
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 14.210 Datasets PDB.RMFINTRV, PDB.JOBS, PDB.STEPS, PDB.PRINT
BUILDPDB PDB.SMFINTRV, PDB.SPUNJOBS and (JES2 only) PDB.NJEPURGE
BUILDPD3 are built in sort order, but because they are built in a
BUILD002 DATA step (rather than directly by PROC SORT, as are most
BUILD003 other PDB datasets), SAS does not know they are sorted.
BUILD004 By specifying the dataset option SORTEDBY= on the DATA
BUILD005 statement, SAS now knows the sort order, so that it can
BUIL3005 bypass unnecessary sorting. In making this change, I
IMACPDB also finally removed the archaic _PROTECT token from all
RMFINTRV of the BUILDPDB members; defined in IMACPDB, PROTECT was
SPUNJOBS a SAS version 5 facility that is no longer needed, (see
Sep 5, 1996 comments in member IMACPDB), that defaults to null with
SAS version 6, and to have preserved it and to have added
SORTEDBY= would have required an INCOMPATIBLE change in
member IMACPDB. While the references to _PROTECT in the
BUILxxxx members was removed, the macro itself is still
defined in member IMACPDB to avoid a different
INCOMPATIBILITY (in case you have actually modified
BUILDPDB itself), but the comments in IMACPDB were
revised to clarify its non-use!
Thanks to Carl Sommer, SAS Institute Cary, USA.
====Changes thru 14.209 were printed in MXG Newsletter THIRTY==========
====and were in the early MXG 14.07 tapes dates September 10, 1996=====
Change 14.209 Support for CICS/ESA 5.1.0, now known as CICS Transaction
EXCICLGR Server for OS/390 Release 1, which INCOMPATIBLY inserted
EXCICLGS 19 new fields in the CICSTRAN Transaction Accounting data
EXCICNQG (had the fields been appended instead of inserted, this
EXCICRMG would be compatible!), added 2 new fields to CICSEXCE,
EXCICTQR added new fields in 8 existing Statistic Datasets, and
FORMATS five new Statistics datasets are created from new STIDs.
IMACCICS STATUS: IBM documentation of STID=82 (MNR) record is
IMACEXCL wrong; that STID is skipped without message in this code.
VMAC110 This version has been tested with real data records!
Sep 10, 1996 This change also supports the YYYY versus YY value in the
Statistics subtype's header, and the expanded TRANTYPE
(two bytes, more meanings decoded).
New variables added to CICSTRAN (transaction) dataset:
FCTYNAME='TRANSACTION*FACILITY*NAME'
LOGWRTCT='CICS*LOG STREAM*WRITE REQUESTS'
PERRECNT='PER RECORDS*WRITTEN*FOR TASK'
RMUOWID ='RECOVERY*UNIT OF WORK*ID'
RPTCLASS='REPORT*CLASS*NAME'
SC24FSHR='SHARED BYTES*FREEMAINED*BELOW 16MB'
SC24GSHR='SHARED BYTES*GETMAINED*BELOW 16MB'
SC24SGCT='SHARED*GETMAINS*BELOW 16MB'
SC31FSHR='SHARED BYTES*FREEMAINED*ABOVE 16MB'
SC31GSHR='SHARED BYTES*GETMAINED*ABOVE 16MB'
SC31SGCT='SHARED*GETMAINS*ABOVE 16MB'
SRVCLASS='SERVICE*CLASS*NAME'
TERMCNNM='TERMINAL*SESSION*CONNECTION*NAME'
TERMINFO='TERMINAL*OR SESSION*INFO FLAGS'
TRANFLAG='TRANSACTION*FLAGS'
WTRLIOCM='RLS*IO WAITS'
WTRLIOTM='RLS*IO WAIT*DURATION'
WTSYIOCN='SYNCPOINT*IO WAITS'
WTSYIOTM='SYNCPOINT*IO WAIT*DURATION'
New variables added to CICSEXCE (exception) dataset:
EXCMNTCN='TRANSACTION*CLASS*NAME'
EXCMNSRV='SERVICE*CLASS*NAME'
EXCMNRPT='REPORT*CLASS*NAME'
New variables added to CICDS (Dispatcher, by TCB Stats)
for ONC/RPC Mode (5th) TCB and File Owing Mode (6th) TCB
(STID=56):
DSnACT DSnPERCT DSnSCT DSnSTART DSnSWT DSnSYSW
DSnTCBF1 DSnTCBF2 DSnTCBF3 DSnTCBF4 DSnTCBNM DSnTCT
DSnTDT DSnTWT DSnLSTRT
New variables added to CICXMR (Transaction Manager):
(STID=11):
XMRAMISM='ACTION*MISMATCHES'
XMRFAIT ='FORCED*ACTION*INDOUBT*TIMEOUT'
XMRFANW ='FORCED*ACTION*NO WAIT ABILITY'
XMRFAOP ='FORCED*ACTION*OPERATOR'
XMRFAOT ='FORCED*ACTION*OTHER'
XMRFATXN='FORCED*ACTION*TRANDEF'
XMRIACTN='INDOUBT*ACTION*COMMIT OR*BACKOUT?'
XMRITOV ='INDOUBT*TIMEOUT*VALUE*MINUTES'
XMRIWAIT='INDOUBT*WAITS'
XMRIWTOP='INDOUBT*WAIT*OPTION?'
New variables added to CICCONSR (ISC/IRC stats):
(STID=52):
A14ACCM ='ACCESS*METHOD'
A14AICT ='LOCAL*CONNECTION*CREATE*TIME'
A14AIDT ='LOCAL*CONNECTION*DELETE*TIME'
A14EFLGS='PROTOCOL'
A14EPRMN='RECEIVE*SESSION*COUNT'
A14ESECN='SEND*SESSION*COUNT'
A14ESID ='CONNECTION*NETNAME'
A14E1RY ='PRIMARIES*CURRENTLY*USED'
A14E2RY ='SECONDARIES*CURRENTLY*USED'
A14GACT ='GMT*CONNECTION*CREATE*TIME'
A14GADT ='GMT*CONNECTION*DELETE*TIME'
New variables added to CICCONMR (ISC/IRC stats)
(STID=76):
A20ECONL='CURRENT*CNOS*CONTENTION*LOSERS'
A20ECONW='CURRENT*CNOS*CONTENTION*WINNERS'
A20ELMAX='MAX*SESSION*COUNT'
A20EMAXS='CURRENT*MAX*SESSION*COUNT'
A20EMCON='MAX*CONTENTION*WINNERS*ACCEPTABLE'
A20E1RY ='PRIMARIES*CURRENTLY*USED'
A20E2RY ='SECONDARIES*CURRENTLY*USED'
New variables added to CICFCR (File Control Statistics)
(STID=67):
A17DSBRU='BROWSE*FOR*UPDATES'
A17RLSWT='RLS*REQUEST*WAIT*TIMEOUTS'
New variables added to CICTCR (Term Control Statistics)
(STID=34):
A06GOFTM='AUTOINSTALL*LOGOFF*GMT*TIME'
A06GONTM='AUTOINSTALL*LOGON*GMT*TIME'
A06OFFTM='AUTOINSTALL*LOGOFF*LOCAL*TIME'
A06ONTM ='AUTOINSTALL*LOGON*LOCAL*TIME'
A06SYSID='OWNING*SYSID OF*TERMINAL*OR SESSION'
New variables added to CICDQG (TDQUQUE Global Stats)
(STID=45):
A11ACNAL='CURRENT*CONCURRENT*BUFFER*ACCESS'
A11ACNWT='CURRENT*BUFFER*WAITS'
A11ACNIU='CURRENT*BUFFERS*CONTAINING*DATA'
A11SCNAL='CURRENT*CONCURRENT*STRING*ACCESS'
A11SCNWT='CURRENT*STRING*WAITS'
A11ACTCI='CONTROL*INTERVALS*IN*USE'
New variables added to CICTSQ (TSQUQUE Global Stats)
(STID=48):
A12SHPDF='SHARED*POOLS*DEFINED'
A12SHPCN='SHARED*POOLS*CONNECTED TO'
A12SHRDS='SHARED*READ*REQUESTS'
A12SHWTS='SHARED*WRITE*REQUESTS'
New dataset CICRMG (Recovery Manager Global) (STID=99):
RMGCSHIN='CURRENT UOWS*SHUNTED FOR*INDOUBT'
RMGCSHRO='CURRENT UOWS*SHUNTED FOR*RO COMMIT'
RMGCSHTI='CURRENT DURATION*SHUNTED FOR*INDOUBT'
RMGCSHTR='CURRENT DURATION*SHUNTED FOR*RO COMMIT'
RMGIAFNW='TOTAL FORCED*INDOUBT*ACTIONS*NOWAIT'
RMGIAFOP='TOTAL FORCED*INDOUBT*ACTIONS*OPERATOR'
RMGIAFOT='TOTAL FORCED*INDOUBT*ACTIONS*OTHER'
RMGIAFTI='TOTAL FORCED*INDOUBT*ACTIONS*TIMEOUT'
RMGIAFTR='TOTAL FORCED*INDOUBT*ACTIONS*TRANDEF'
RMGIAMIS='TOTAL*INDOUBT*ACTION*MISMATCHES'
RMGNWMRO='TOTAL*FORCED*NO WAITING*IN MRO'
RMGNWOTH='TOTAL*FORCED*NO WAITING*IN OTHER'
RMGNWRMI='TOTAL*FORCED*NO WAITING*IN RMI'
RMGNWTD ='TOTAL*FORCED*NO WAITING*IN TD'
RMGNW61 ='TOTAL*FORCED*NO WAITING*IN LU61'
RMGRESYN='RESYNCH*RONISATIONS'
RMGSYBWD='SYNCPOINTS*BACKWARD'
RMGSYFWD='SYNCPOINTS*FORWARD'
RMGTSHIN='TOTAL UOWS*SHUNTED FOR*INDOUBT'
RMGTSHRO='TOTAL UOWS*SHUNTED FOR*RO COMMIT FAIL'
RMGTSHTI='TOTAL DURATION*SHUNTED FOR*INDOUBT'
RMGTSHTR='TOT DURATM*SHUNTED FOR*RO COMMIT FAIL'
New dataset CICLGR (Log Manager Journal Stat) (STID=93)
LGRBFLSH='BUFFER*FLUSH*REQUESTS'
LGRBYTES='BYTES*WRITTEN'
LGRJNLNM='JOURNAL*NAME'
LGRJTYPE='JOURNAL*TYPE'
LGRSTREM='LOG*STREAM*NAME'
LGRWRITS='JOURNAL*WRITES'
New dataset CICNQG (Enque Manager Global) (STID=96)
NQGCNQRT='CURR DUR*ENQUEUES*RETAINED'
NQGCNQSR='CURRENT*ENQUEUES*RETAINED'
NQGCNQSW='CURRENT*ENQUEUES*WAITING'
NQGCNQWT='CURR DUR*ENQUEUES*WAITING TIME'
NQGPOOL ='ENQ*POOL*ID'
NQGTIRJB='IMMEDIATE*REJECTED*ENQBUSY'
NQGTIRJR='IMMEDIATE*REJECTED*ENQ RETAINED'
NQGTNQRT='TOT DUR*ENQUEUES*RETAINED*WAITED'
NQGTNQSI='TOTAL*ENQUEUES*ISSUED'
NQGTNQSR='TOTAL*ENQUEUES*THAT WERE*RETAINED'
NQGTNQSW='TOTAL*ENQUEUES*WAITED'
NQGTNQWT='TOT DUR*ENQUEUES*WAITED'
NQGTWPOP='WAITING*ENQS*PURGED BY*OPERATOR'
NQGTWPTO='WAITING*ENQS*PURGED BY*TIMEOUT'
NQGTWRJR='WAITING*ENQS*REJECTED*RETAINED'
New dataset CICLGS (Log Manager Logstream) (STID=94)
LGSBRWRD='LOG*BROWSE*READS'
LGSBRWST='LOG*BROWSE*STARTS'
LGSBUFAP='BUFFER*APPEND*REQUESTS'
LGSBUFWT='WAITS*DUE TO*BUFFER*FULL'
LGSBYTES='BYTES*WRITTEN'
LGSCUFWT='CURRENT*FORCE*WAITERS'
LGSDELET='LOG*DELETES'
LGSPKFWT='PEAK*FORCE*WAITERS'
LGSRTRYE='RETRYABLE*ERRORS'
LGSSTREM='LOG*STREAM*NAME'
LGSTFCWT='TOTAL*FORCE*WAITS'
LGSWRITS='LOG*WRITES'
Change 14.208 DB2 datasets DB2GBPST and DB2GBPAT contained repeated obs
VMACDB2 for Global Buffer Pool zero, with no others output; the
Aug 29, 1996 offset was not incremented. After the %INCLUDE of member
EXDB2PST, insert : OFFQBGL=OFFQBGL+LENQBGL; After the
%INCLUDE of EXDB2PAT insert OFFQBGB=OFFQBGB+LENQBGB;
Thanks to Bertolotti Emmanno, Banca Commerciale Italiano, ITALY
Thanks to Burani Daniela, Banca Commerciale Italiano, ITALY
Change 14.207 Support for Boole & Babbage's PRO/SMS replacement for
EXPROSMS STOPX37 SMF record, a complete rewrite but with almost
IMACPROS all of the same variables in dataset TYPEPROS instead
TYPEPROS of TYPEX37.
VMACPROS
Aug 27, 1996
Thanks to Katrina Le, First Virginia Services, Inc, USA.
Change 14.206 Logic for IFCID=231 was wrong. Replace the statements
VMAC102 LENTRY=(QW0231NM-4)/QW0231RN; DO _I_=1 TO QW0231RN;
Aug 27, 1996 with LENTRY=52;NENTRY=(QW0231NM-4)/LENTRY;DO...TO NENTRY;
Caused INVALID DATA messages, and trashed T102S231 data.
Thanks to Ted Blank, IBM, USA.
Change 14.205 The RMF report REPORT=CHAN was always a summary report;
ANALRMFR with this change, a detail report is produced when an
Aug 27, 1996 INTERVAL= is specified, a summary if not.
Change 14.204 The deaccumulattion of DB2STAT0, DB2STAT1 and creation of
DIFFDB2 DB2STATS was move to the end of member DIFFDB2, and the
Aug 27, 1996 code rearranged so that the %INCLUDE of (EXDB2STS) is the
last physical statement in that data step. In this way,
a sophisticated user can add code in EXDB2STS to do their
own summary of DB2 data, after all of the DB2 statistics
datasets have been deaccumulated. In Pierre's case, he
wanted to extract fields from DB2STATR and DB2STATS and
merge with DB2STATS; now he can do that within EXDB2STS.
Thanks to Pierre Liu, Deere and Company, USA.
Change 14.203 Cosmetic. Duplicate variables in KEEP= list were removed
several in members TYPETMON, VMAC110, VMAC7072, VMAC79, VMAC80A
Aug 27, 1996 VMACCOMP, VMACCTLG, VMACCTLT, VMACMWUX, VMACNOAM,
VMACNSPY, VMACQAPM, and VMACTPX.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.202 Cosmetic. Duplicate labels in VMACACHE were deleted.
VMACACHE
Aug 27, 1996
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 14.201 Change 14.152 revised IMF processing to allow for use of
IMACCIMS tape for large IMS files, but the _KIMFTRN reference in
TYPECIMS TYPECIMS must be deleted, as changes to CIMSTRAN are now
Aug 27, 1996 controlled by _KIMFTRX, not _KIMFTRN, which is no longer
defined. Comments in IMACCIMS clarify their usage.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 14.200 The label for TYPE71 variables SHPxxxAV='MAXIMUM should
VMAC71 be SHPxxxAV='AVERAGE for these new shared page group
Aug 27, 1996 counters.
Thanks to Tim Vanderhook, Fidelity Systems, USA.
Change 14.199 READDB2 required a ddname of PDB (and worked fine as long
READDB2 as one was present), because the _LDB2STR macro was not
Aug 26, 1996 redefined in READDB2. Find the two _LDB2STB macro defs,
replicate each, and change STB to STR, STATB to STATR.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.198 Variable AVGMEMSZ was not kept in TYPE72GO dataset. This
VMAC7072 metric, MSOUNITS based, is a poor indicator of memory,
Aug 26, 1996 but it was not my intention to drop it. It is kept now.
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 14.197 Support for Landmark's TMON/DB2 Version 3 (INCOMPATIBLE).
EXTMDDF The Statistics Interval data TMDBDA1 has 33 new variables
EXTMDDF inserted, and 50 new variables were inserted into TMDBDAB
IMACTMDB dataset. The Accounting data TMDBDB2 has 36 variables
VMACTMDB inserted, 9 new variables in TMDBDBB, 1 new in TMDBDBF,
Aug 26, 1996 6 new in TMDBDBK, and a new dataset, TMDBDF, is created
for the 'DF' record type. Only the 'DA' and 'DB' records
have been validated with Version 3 data. Test data is on
hand for the 'DC','DD','DF','BB','BH', and 'BI' records,
but DSECTs were provided only for DA and DB records. If
there is a need, additional record types will be decoded.
Change 14.196 MXG 14.05-08 only. INVALID DATA FOR R744FCTM and FCSQ
VMAC74 because those two fields, added by Change 14.165, are not
Aug 23, 1996 always there. After INPUT of R744FSQU, insert
@; IF SMF744FL GE 100 THEN INPUT
so they are only INPUT when present in the record!
See Change 14.273.
Change 14.195 Dataset DB2STATR outputs the first QWHSLOCN segment
VMACDB2 NRQLST times, because the OFFQLST pointer was not
Aug 23, 1996 incremented. Insert: OFFQLST=OFFQLST+LENQLST;
immediately before the line reading:
END; /* END TRACE SECTION FOR TYPE 100 SUBTYPE 0 */
But then DIFFDB2 deleted all but the first obs, so the
number of observations was way off too! This error also
caused remote counts to be wrong in ANALDB2R.
Thanks to Pierre Li, Deere & Company, USA.
Thanks to Carl Stotmeister, Deere & Company, USA.
Thanks to Ralph Baechle, Deere & Company, USA.
Change 14.194 MXG 14.05-14.06. DB2STATB dataset will have extra obs
DIFFDB2 that should not have been OUTPUT. Change 14.167 added
Aug 23, 1996 protection for IBMs skipping QWHSISEQ, but four lines
IF SEQCHECK NE 1 ... must be IF SEQCHECK GE 1 ...
to protect for change in Buffer Pool ID, which creates a
negative value in variable SEQCHECK and should not have
been output. A more robust algorithm, testing for change
in QBSTPID was added, and dataset DB2STATR had the same
exposure and was revised to protect for change in
QLSTLOCN in the deaccumulation logic.
Thanks to Tom Parker, Hogan Systems, USA.
Change 14.193 The second occurrences of IOERTMPC and IOERPRMC should be
VMACCTLT spelled IOEWTMPC and IOEWPRMC, in both the Label
Aug 20, 1996 statement and in the INPUT statement.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.192 MXG 14.06 test stream only. In JCLTEST6 and JCLUXRE6,
JCLTEST6 step TESTOTHR, DD DUMMY for //TANDCTRL and //TANDLINE
JCLUXRE6 were missing, and in JCLUXRE6, //XPMODS was misspelled
Aug 20, 1996 as //XPUMODS.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
====Changes thru 14.191 were included in MXG 14.06 dated Aug 20, 1996===
Change 14.191 MXG 14.05 only. ERROR 228-185 INFORMAT $PIB IS UNKNOWN in
VMAC74 BUILDPDB, if you have tailored BUILDPDB to process the
Aug 19, 1996 CRR Cache RMF Reporter SMF records (VMACACHE). Change
14.152 to VMAC74 incorrectly INPUT RTRNCODE $CHAR2.
but that line must be changed to RTRNCODE &PIB.2.
to be consistent with VMACACHE.
Thanks to Damian Stevenson, PMSA, AUSTRALIA.
Thanks to Johnny Allen, Yellow Freight, USA.
Change 14.190 Minor. The count of reports requested was too high by
ANALCISH one.
Aug 17, 1996
Change 14.189 Enhancements to ANALRMFR for IBM-like RMF reports.
ANALRMFR -Shared Device Activity Report is complete ( SDEVC ).
Aug 17, 1996 This report will not contain any Devices that were
OFFLINE or have zero values at time of the interval, as
they are not kept in the MXG PDB.TYPE74 data set.
-Channel Activity Report, updates for MVS/ESA 5.1, the
addition of SMF73CPD adds new channel path descriptions.
Workload Activity Report-Goal Mode, REPORT=WLMGL is
-installed along with a new parameter RPTOPT=WGPER, which
will allow for report selection level. See comments
within ANALRMFR for more details. This report will not
contain any Policies that have all values of zero at end
of interval, as they are not kept in the MXG PDB.TYPE72GO
data set.
Change 14.188 CICINTRV is now restored to the pre-MXG 14.04 logic. In
CICINTRV MXG 14.04 the new "CICINTRZ" logic replaced CICINTRV, but
Aug 16, 1996 CICINTRZ was prematurely released (it creates incorrect
data in some situations, and it stopped creating the
PDB.CICEODRV dataset which is needed for CICS Shutdown
reports). However, the old CICINTRV logic was also wrong
for CICS 4.1 data (because multiple CICLDG observations
were being kept, which caused multiple observations in
datasets it created), so this CICINTRV member was fixed
to keep only the first CICLDG observation, which solved
it error. CICINTRZ ultimately will replace CICINTRV, as
it will create true interval data from the multiplicity
of statistics events (INT,REQ,USS,RVR,EOD) in CICINTRV
and the End of Day in CICEODRV, but until it is fully
validated, it is safer to return to the simpler logic.
So this change negates change 14.132. Additionally
Change 13.154 was removed from this CICINTRV. It added
an INCLUDE of IMACCICS inside CICINTRV (so you did not
have to include IMACCICS before you invoked CICINTRV),
but that change prevented ANALCISH from re-defining the
IMACCICS macros, which is required, so the cosmetic move
to make it easier lost out, and you will have to include
IMACCICS before you invoke CICINTRV if you ever get that
deep in creating your own MXG job for CICS processing.
Change 14.187 Support for Tandem Controller Data and Line Data creates
EXTANCTL two new datasets:
EXTANLIN Dataset INFILE Description
IMACTAND TANDCTRL TANDCTRL Controller statistics
TYPETAND TANDLINE TANDLINE Line statistics.
VMACTAND You will need to add DD statements for TANDCTLR/TANDLINE
Aug 15, 1996 (at least with DD DUMMY) if you do not wish to process
these data, as MXGs TYPETAND will try to read all five
Tandem data sources that are now supported.
Thanks to MH, Allied Irish Bank, IRELAND
Thanks to Joe Fleischmann, U.S. Bancorp, USA.
Change 14.186 Steve Franklin's code to read Network General Sniffer's
ADOCSNIF data records! Sniffer is a hardware monitor attached to
IMACSNIF your network that sees every frame and can be programmed
TYPESNIF to filter, decode and create data records. This code
VMACSNIF reads the Sniffer data, as documented in Steve's article
Aug 15, 1996 "Deriving response time of Client/Server applications",
in "Capacity Management Review", Volume 24, No 7, July
1996, published by Demand Technology (subscribe or buy
the back issue by calling 941 261 8945).
One Sniffer monitor on a LAN/WAN segment sees all of the
frames on that segment, capturing source and destination
addresses plus datastream sequence and acknowledgement
numbers plus the response times and traffic volume, plus
information from the data stream itself, so you can
recognize transactions and decompose their response time.
Several techniques for transaction identification are
discussed. Data from multiple Sniffers is combined to
measure each of the response components across multiple
segments; three Sniffers measured a PC client talking via
two WAN segments to an Oracle database in the case study.
This code is functional, but does not (yet?) have the
normal MXG embellishments (Labels, MXG-names, etc.)
Should there be enough interest, I will doll it up later.
If you have a Sniffer monitor, and you must measure and
understand the transaction response components in your
C/S transactions, this may well be your salvation, but
the analysis is neither canned nor straightforward. You
will need to read the paper and SAS code to understand
how to tailor these sample programs for your environment,
and you best have some good knowledge of the applications
you are measuring! If you also use a script (or modify
the application?) to issue calls that define the start
and end of a logical business transaction, those events
are capturable so you can get true business transaction
response time. You can also capture SQL statements that
are used in Client/Server applications and parse them to
identify TABLE names and WHERE conditions so that network
response time can be decomposed according to specific SQL
statements or RPCs (Remote Procedure Calls); that might
be sufficient for recognition of a business transaction
if it always begins with a unique call and thus avoid the
application modifications or script wraps. There is lots
of opportunity here; this is pretty powerful stuff!
Thanks to Steve Franklin, RGI, Inc, USA.
Change 14.185 VM Print sent to JES2 is now merged in PDB.JOBS with the
BUILDPDB Purge record for these "Print-only" JES2 jobs. Before,
BUILD005 MXG sent the type 26 data to PDB.NJEPURGE, and the type 6
Aug 15, 1996 record(s) were spun (awaiting for the non-existent purge
record) for SPINCNT days, and then later the type 6 data
was output in PDB.PRINT (but with no accounting fields)
and a sparce observation in PDB.JOBS was created. This
change makes the PDB.JOBS data complete and timely for
print-only jobs. The change itself was quite simple:
In the logic to build PDB.NJEPURGE, remove the test for
INREASON='SR' (so those records are output to TYPE26J2),
and in the logic to build PDB.JOBS, change the test to:
IF SUBSTR(INBITS,5,1)='P' AND INREASON NE 'SR' THENDO;
(so that ABEND values of JCL or CRSH are not set for
these print jobs, since they do have no JSTRTIME/JENDTIME
values, because they did not execute on MVS). Note that
these print-only jobs can be identified in PDB.JOBS by
variable INREASON='SR', and that the values of all of the
variables from the type 30 records will be missing.
Peter also pointed out that new options on the VM TAG
command (used to send print to MVS) now allow you to
cause the VM USERID to be sent to MVS and VM USERID will
be the JOB name, rather than the old RSCSnnnn JOB name.
Thanks to Peter J. Jansen, Bank for International Settlements, SWITZ.
Change 14.184 Variable TRANTYPE was increased to two bytes in CICS 4.1.
VMAC110 Change 13.296 changed FORMATS, but the VMAC110 change was
Aug 15, 1996 not migrated into the real MXG library (IBM confidential
requires that I keep dual source libraries until GA, and
I forgot to make the update in both places!).
For CICSTRAN, move TRANTYPE from $1 line to $2 line in
the LENGTH statement, and in the SMFPSRVR GE 41.0 INPUT,
change +3 TRANTYPE $CHAR1. to TRANTYPE $CHAR2. +2.
For CICSEXCE, conditional logic was added.
Thanks to Ove Dall-Hansen, CODAN Insurance A/S, DENMARK.
Change 14.183 TYPE7204 (Goal Mode RMF Monitor III) variable TRANS was
VMAC7072 too small causing AVGELPTM to be way too large because
Aug 13, 1996 variable TRANS should be INPUT as &RB.8. and not &RB.8.6.
This is a continuation of Change 14.122.
Thanks to Tom Parker, CSC, USA.
Change 14.182 Support for New Dimension Software's CONTROL-T Tape
EXCTLTDS Management records creates two datasets:
EXCTLTVL CTLTDSN - Data Set Record
IMACCTLT CTLTVOL - Volume Record
TYPECTLT A number of formats are created to decode fields in the
VMACCTLT data. The volume record has a repeating vault section,
Aug 13, 1996 but test data had only one (of a maximum of three), so
currently only the first vault segment is output.
Thanks to Paul Hassett, Department of Transportation, USA.
Change 14.181 TANDEM variables were misspelled in two places.
VMACTAND Change C2WMISS=C2RMISS/DURATM; to C2RMISS=.... and
Aug 12, 1996 Change C3WMISS=C3RMISS/DURATM; to C3RMISS=....
Thanks to Steve Smith, BGS, USA.
Change 14.180 TYPE72GO Goal Mode dataset did not contain PERFINDX, the
VMAC7072 performance index. Logic was inserted to calculate this
Aug 12, 1996 index, to label it, and to keep it in TYPE72GO.
Thanks to Kevin Carpenter, First of America, USA
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.179 Support for SoftAudit Version 5.1 (INCOMPATIBLE, but only
EXSFTAL because MXG now requires //XPMODS DD statement; if you
IMACSFTA do not have Version 5.1 installed, then use DD DUMMY).
VMACSFTA The //XPMODS flat file (Created by SoftAudit's extract
Aug 12, 1996 program) is now read to create the new MXG dataset
SOFTMODS to describe the Installed Load Module File.
Change 14.178 The SMF Simulator now tests a CISIZE of 18432, which may
ANALSMF be better than 16K on 3390s, as 3 blocks fit per track.
Aug 12, 1996
Change 14.177 In VMXGSUM invocations, if DESCENDING was used in the
VMXGSUM SUMBY=LIST and KEEPALL=NO was used (default), the parse
Aug 12, 1996 logic did not recognize the DESCENDING attribute, which
could cause NOT SORTED conditions. Now the parser does.
Change 14.176 TRNDTALO has been redesigned to "SPIN" allocations that
TRNDTALO are active at the time SMF data is dumped. Comments in
Aug 12, 1996 the member describe the new algorithm designed to fix the
end effects. This still is a circumvention for the basic
problem, that allocation records are only written at the
end of allocation; a redesign of the ASMTAPES monitor to
create interval allocation records will ultimately solve
the problem of counting tape drives for good, but as the
comments describe, only a very small number of jobs are
encountered with hanging allocations, so the new logic is
definitely an improvement.
Thanks to David Childress, Lowe's Companies, Inc, USA.
Change 14.175 Using ANALCNCR, if you did specify an output dataset and
ANALCNCR you also requested reports, you received a DATASET NOT
Aug 12, 1996 FOUND and may get two prints of the Summarized output.
Thanks to Tom Elbert, John Alden, USA.
Change 14.174 DB2 message "VMACDB2 ERROR ... QWHSIID=230 UNEXPECTED"
VMACDB2 due to MXG error. Find IF QWHSIID=230 THEN SUBTYPE=3;
Aug 12, 1996 and add "AND SUBTYPE NE 3" to the next IF statement.
The impact of this error message was that DB2 statistics
observations were not output in DB2GBPAT.
Thanks to John Rosser, Springs Industries, USA.
Change 14.173 Reserved Change Number.
Aug 10, 1996
Change 14.172 Variable EXECTM in TYPE30_V and PDB.SMFINTRV datasets was
VMAC30 wrong for steps that created only a subtype 3 (i.e., they
Aug 10, 1996 did not run long enough to create a subtype 2 interval).
Change the equation EXECTM=INTETIME-INTBTIME to read:
IF SUBTYPE=3 AND INTBTIME LT LOADTIME THEN
EXECTM=INTETIME-LOADTIME;
ELSE EXECTM=INTETIME-INTBTIME;
Thanks to Jean Quinkert, Inland Steel, USA.
Change 14.171 Support for MODEL204 Release 3.2.1 (INCOMPATIBLE) inserts
IMACM204 new fields in the Logoff and the Since-Next records.
VMACM204 This support is based on CCS's Early Warning 006 but has
Aug 9, 1996 not yet been tested with real 3.2.1 data. The new default
for _M204VER in IMAC204 is now 3.2 instead of 3.0.
Aug 16: Variable M24DKAR was inadvertently deleted from
the INPUT statement for LOG records in early code.
Thanks to Allan Rollason, SAS Europe, GERMANY.
Change 14.170 More RACF Reports for Command Events can be produced from
EXTY8008 nine new TYPE80nn datasets from member TYPE80A:
EXTY8012 Dataset EVENT Command
EXTY8015 TYPE8008 08 ADDSD
EXTY8016 TYPE8012 12 ALTGROUP
EXTY8017 TYPE8015 15 DELDSD
EXTY8018 TYPE8016 16 DELGROUP
EXTY8020 TYPE8017 17 DELUSER
EXTY8021 TYPE8018 18 PASSWORD
EXTY8024 TYPE8020 20 RALTER
IMAC80A TYPE8021 21 RDEFINE
VMAC80A TYPE8024 24 SETROPTS
Aug 8, 1996 Because IBM documentation of RACF records is not complete
(undocumented fields, conditional fields), I can only code
if I have data records. If the dataset TYPE80CM contains
any observations, it means you have events I have not seen
before. If you will PROC PRINT DATA=TYPE80CM, you can see
which events exist, and that dataset contains the RECNUM
in your SMF data; use this program to print a hex dump of
those records: DATA;INFILE SMF;INPUT;IF _N_= recnum;LIST;
and send that output with the PROC PRINT for enhancement.
Thanks to V.J. Picotte, Key Services, USA.
Change 14.169 JES3 MDS (Main Device Setup) tape fetch and mount counts
IMACPDB are now captured in variables TAPFETCH and TAPEMNTS in
BUILDPD3 PDB.JOBS dataset created by the BUILDPD3 JES3 PDB. These
BUIL3005 counts have been available in dataset PDB.TYPE25, but now
BUILDPDB the BUILDPD3/BUIL3005 logic sums the TYPE25 counts into
BUILD005 PDB.JOBS. A new dataset SPIN.SPIN25 is also created in
Aug 7, 1996 the SPIN library (and copied into the PDB for backup).
For JES3-sites, if you have tailored your IMACPDB member
in your "USERID.SOURCLIB" for your BUILDPD3 job, this
change is INCOMPATIBLE in that you must re-tailor those
IMACPDB changes, starting with this IMACPDB member; if
you miss this instruction, you will get errors on the log
that variables READTIME JOB JESNR are not in WORK.TYPE25!
This enhancement was not straightforward, because IBM
does not include JESNR in the type 25 record, so it
matches type 25's with type 30_1 initiation records to
add JESNR to TYPE25 before the MERGE. In IMACPDB the
macro _PDB25 contains JESNR in the list, even though
JESNR does not exist in the SMF record, because that
macro is used again later in BUILDPD3 when there has
been created a JESNR in TYPE25.
This change did not add variables TAPFETCH and TAPEMNTS
to PDB.SPUNJOBS dataset (but I will later, if required).
Unrelatedly, the creation of PDB.SMFINTRV was enhanced;
by changing IF ININTRV THEN OUTPUT; to IF ININTRV; and
relocating the statement after the SET statement, code is
bypassed when there are no TYPE30_V observations. This
change was also propagated into JES2 BUILDPDB/BUILD005.
And Change 13.241, which added the %INCLUDE of IMACSPCK
had been overlooked in BUIL3005, but is now added.
Thanks to Alan McBain, National Westminister Bank, ENGLAND.
Change 14.168 Support for Omegamon/VTAM V200 (INCOMPATIBLE, four bytes
EXOMVLU were inserted and eight new trend subtypes are created.)
EXOMVMPG MXG creates these new datasets:
EXOMVMPS IRNUM DATASET Description
EXOMVNCC 7 OMVTMPCG MPC Group
EXOMVNTL 8 OMVTMPCS MPC Subchannel
EXOMVNTP 9 OMVTNCPC NCP CCU
EXOMVPU 10 OMVTSDLC SDLC/BSC Line
EXOMVSDL 11 OMVTPU PU/Cluster
FORMATS 12 OMVTLU LU/Terminal
VMACOMVT 13 OMVTNTRP NTRI Physical Link
Aug 6, 1996 14 OMVTNTRL NTRI Logical Link
but only subtypes 9 and 10 have been validated with data,
(and ON09CU and ON09CF look suspicious in OMVTNCPC).
Forty new exception conditions were added that are now
recognized and decoded by new values for $MGOMVEX format
that is used in dataset exception dataset OMVTEXCE.
Thanks to Harry Olschewski, dvg Hannover, GERMANY.
Thanks to ??? , Sparkassen-Rechenzentrum, GERMANY.
Change 14.167 Some intervals may be missing in DB2STATS, DB2STAT0 and
DIFFDB2 DB2STAT1 in DB2 4.1, because IBM changed QWHSISEQ without
Aug 3, 1996 notice. Statistics interval records contain accumulated
counters, so MXG's DIFFDB2 code must sort records and
then subtract counters in adjacent records to create the
interval statistics. To make sure only adjacent records
are output, the IFCID Sequence Number, QWHSISEQ, is used
to validate that records are adjacent. However, DB2 4.1
now writes records for adjacent intervals with skipped
values of QWHSISEQ (109,110,111,113,115,116), which made
MXG's validation logic to not output those observations.
In addition to adjacency validation, the MXG QWHSISEQ
logic also deleted the first record from each subsystem
(the first record found cannot be output, unless it is
also the startup, QWHSISEQ=1, because there is no prior
record for deaccumulation), so the new logic now protects
for first record found. Change the four occurrences of:
SEQCHECK=DIF(QWHSISEQ); DROP SEQCHECK;
IF QWHSISEQ GE 1 AND SEQCHECK EQ 1 THEN DO;
DIFFDBxx=1;
%INCLUDE SOURCLIB(EXDB2ST0);
END;
to read (change DIFFDBxx=1 in each of the four sets):
LENGTH PREVSSID $4;
SEQCHECK=DIF(QWHSISEQ);
IF SEQCHECK GE 1 AND PREVSSID EQ QWHSSSID THEN DO;
DIFFDBxx=1;
%INCLUDE SOURCLIB(EXDB2ST0);
END;
ELSE DO;
PREVSSID=QWHSSSID;
RETAIN PREVSSID;
END;
Note inserted Sep 25: the previous code was printed
and implemented incorrectly until Change 14.230. The
code stub above has been corrected to the way it
should have been.
While this change prevents deletion of good intervals,
it opens a new exposure if DB2 records are not written
for an interval (if SMF is blocked DB2 does not retry).
Because SEQCHECK can't be used, MXG will deaccumulate
several interval's data into one interval, causing high
values (though not necessarily high rates) in that obs.
To help isolate data problems, the variable SEQCHECK is
now kept in the DB2STATx datasets. SEQCHECK is one if
QWHSISEQ is adjacent, and otherwise is more than one.
I intend to open a problem with IBM to see if this was
an intentional change or an inadvertent error, so this
change may be revised if IBM admits to an error, but with
DB2 4.1 now skipping QWHSISEQ values, this change is
required until IBM guarantees adjacency of QWHSISEQ.
Thanks to Pierre Li, Deere and Company, USA.
Change 14.166 Use of permanent versus temporary ARRAY statements costs
VMAC78 big! Changing the ARRAY statements added by 14.121 from
Jul 27, 1996 ARRAY PCTALLBZ {4096} 4 PCTA0001-PCTA4096;
ARRAY LCUIORAT {4096} 4 LCUI0001-LCUI4096;
to read:
ARRAY PCTALLBZ {4096} 4 _TEMPORARY_;
ARRAY LCUIORAT {4096} 4 _TEMPORARY_;
eliminated the significant increase in CPU time BUILDPDB
and TYPE78 seen in MXG 14.04 and MXG 14.05. See the SAS
Technical Note in Newsletter THIRTY on Permanent Arrays.
Change 14.165 APAR OW13536 adds new fields for the Coupling Facility
VMAC74 (RMF type 74 subtype 4 record, MXG dataset TYPE74CF)
Jul 27, 1996 that are extensively discussed in WSC FLASH 9609.
The Coupling Facility continues to be a potential serious
bottleneck if its capacity (CPU and memory) is not well
managed. IBM has added new instrumentation for that
purpose with this APAR, which was implemented compatibly.
Change 14.164 APAR OW15406 for RMF adds support for Year 2000.
VMAC73 IBM has documented that all packed decimals will contain
VMAC74 0cyydddF format, and added an expanded IODF creation date
VMAC75 (with YYYY format vice YY) field (compatibly!) to the end
Jul 25, 1996 end of the Type 73 Channel Path Control section, the Type
74 Device Control Data Section, and the Type 78 Subtype 3
Control Section for ES/9000 CPUs. MXG detects existence
and uses the YYYY format when it is present. With this
APAR and MXG change, RMF fully supports the year 2000,
and member YEAR2000 has been updated to so indicate.
Change 14.163 APAR OW21583 announces that TCP/IP will write SMF type 6
VMAC6 record with SUBSYS=9, but no more information (APAR is
Jul 25, 1996 still open). Test for SUBSYS=9 was added, but still
await IBM documentation. This change is still open.
Change 14.162 ANALMPT invokes ANALCNCR and caused FILE WORK.SPLIT.DATA
ANALCNCR DOES NOT EXIST error (if OUTSUMRY= is not specified). To
Jul 12, 1996 correct, find the second occurrence of the statement:
PROC PRINT DATA=&OUTSUMRY SPLIT='*';
and delete that line (the second occurrence, but do not
delete the line containing DATA=OUTSUMRY, without paren).
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
Change 14.161 Cosmetic. Two titles with CPU TIM were corrected to read
ANALPROG CPU TIME.
Jul 12, 1996
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
====Changes thru 14.160 were included in MXG 14.05 dated Jul 15, 1996===
Change 14.160 TSO/MON distribution bucket values TSMPDIS1-TSMPDIS8 were
VMACTSOM not converted to seconds (divide by 38400) nor were they
Jul 12, 1996 kept, but now they are.
Thanks to Manfred Thomas, BHF-Bank, GERMANY.
Change 14.159 Documentation of the datasets created by BUILDPDB and the
ADOCPDB sort order of those datasets (from the MXG Supplement)
Jul 12, 1996 was not moved into SOURCLIB. While slightly out of date,
at least it's finally here!
Thanks to Jean Quinkert, Inland Steel, USA.
Change 14.158 Support for OS/390 Version 1 Release 2 (COMPATIBLE).
EXTY72GO MXG 13.13 and later tolerates OS/390 Release 2, but to
EXTY892 capture the several new variables and new subtypes of
IMAC89 type 74 and 89 records, MXG 14.05 is needed.
VMAC4789 -UCBNAME is now $4 in TYPE4789 (but this was not new with
VMAC7072 OS/390 - I had not noticed the new field until now).
VMAC79 -Variables SMF72SPA,SMF72SPE,SMF72SRS (shared page stats)
VMAC89 are added to TYPE72 (again, had been overlooked in 5.2).
VMAC99 -Variables R722GPI,R722TSV,R722VIN,R722VLC (shared pages)
Jul 11, 1996 are added to TYPE72MN (also overlooked in 5.2).
-Variables R724GPI,R724TSV,R724VIN,R724VLC (shared pages)
are added to TYPE7204 (also overlooked in 5.2).
-Variables R791CMNI,R791EXCT,R791SPI,R791PNV,R791PVIO (the
ASID's pages in common, VIO/Non-VIO, shared pagins) are
added to TYPE79. (also overlooked in 5.2).
-New dataset TYPE892 contains interval usage data summary
for each registered product.
-The test R723TYPE IN(1,2,4,5) in EXTY72GO was changed to
R723TYPE IN('1','2','4','5') to eliminate character
conversion (and associated SAS note).
-Variables were added to TYPE99TT and TYPE99U1 datasets.
Change 14.157 For user-written VMXGSUM invocations with INDATA= that
VMXGSUM did not have a blank between the dataset name and the
Jul 11, 1996 parenthesis, i.e., INDATA=MYDATA(IN=MYVAR), the parsing
logic failed. Use INDATA=MYDATA (IN=MYVAR), and the code
works! This change enhances the parser to accept the
dataset options in the INDATA= with or without the blank.
Thanks to Alfred Mak, Asia Pacific Technologies, SINGAPORE.
Change 14.156 Change 14.112 was revised (see text) and additional IDMS
VMACIDMS changes are necessary.
Jul 11, 1996 -In the Journal Wait segment, insert a +1 after JRLFILE is
INPUT and change the SKIP calculation to SKIP=SKIP-105;
vice 104.
-In the DBKEY Wait segment, insert +2 after DBKPGGRP and
change the SKIP calculation to SKIP=SKIP-14; vice 12.
Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS
Change 14.155 Utility to reconstruct mainframe data from PC file. When
UDEBLOCK you download an MVS file that was VB or VBS, you had to
Jul 11, 1996 make a RECFM=U copy on MVS, then download that data to a
PC, creating a contiguous file of bytes. But you cannot
upload that PC file (perhaps to a different MVS system)
and use it, because there are no record delimiters. But
now you can upload the PC file , putting it into an MVS
file with RECFM=U, BLKSIZE=32756, and then use this new
UDEBLOCK utility to read that file and create from it a
true copy of the original VB/VBS file. The output file
of UDEBLOCK will have RECFM=U,BLKSIZE=32756, but you will
specify RECFM=VB or RECFM=VBS on the DD statement when
you read that data, and all will be well. You may not
need this utility, but I needed it to be able to move
a VB GTF file from SAS's MVS system thru my PC to my MVS
system. Check it out!
Change 14.154 Support for DB2 records written to GTF. The earlier user
REXXDB2 written utility (REXXDB2) did not always create valid DB2
UDB2GTF events from the multiplicity of 280-byte spanned segments
VMACDB2 in which DB2 data is chunked when sent to GTF.
VMACSMF That's the reason why DB2 trace data should be written
Jul 11, 1996 to SMF rather than to GTF. When you write to GTF, DB2
must stop and do a physical write to GTF for each 280
bytes of trace data! When trace data is sent to SMF,
it is in chunks of 32756 bytes and is done at CPU
speed with a Move Character Long from DB2's ASID to
SMF's ASID without any physical write delay for DB2.
The new MXG utility, UDB2GTF is written in SAS, not REXX,
and correctly reads the raw GTF trace data written by DB2
to reconstruct the spanned segments into valid events,
but its output is still in GTF format, so you must use
TYPEDB2G instead of TYPEDB2, or TYPE102G instead of
TYPE102, or you must specify INFILE=GTF with %READDB2, or
with %ANALDB2R you must specify PDB=GTF to read the data.
But not only was REXXDB2 wrong; the MXG members VMACSMF
and VMACDB2 had to be corrected as well.
REXXDB2 did reconstruct many DB2 GTF events, but it did
not handle all records correctly, and it created invalid
records for incomplete DB2 events (when the last segment
was not written because trace was restarted).
Thanks to G. Bockting, KLM Royal Dutch Airlines, THE NETHERLANDS.
Change 14.153 Major (but compatible) internal enhancement of IMF
EXIMFTRX support for large IMS transaction volumes creates new
IMACCIMS macros _LIMFTRX, _LIMFSRT and _LIMFCHA which can be set
TYPECIMS in member IMACCIMS to write temporary copies of IMS data
VMXGTAPE to tape during the "CHAINED" part of TYPECIMS logic. In
Jul 7, 1996 addition, exit EXIMFTRN was relocated to the final phase
of TYPECIMS logic, so you have complete control of the
contents of the final CIMSTRAN dataset. (New exit
EXIMFTRX for new temporary CIMSTEMP, built in first phase
from IMS log, added, but not likely needed.) Comments in
IMACCIMS describe how to use temporary tape datasets.
Lots of work under the cover in this enhancement. New
VMXGTAPE macro created to determine if a dataset name or
a libname is on tape. For DASD temporary space, PROC
DELETEs must be used to minimize the space required, but
PROC DELETEs added for DASD will fail (with ERROR!) when
DD points to tape, as SAS does not support Deletion of a
tape dataset. This required %MACROs be created and used
to decide if the DD name you chose in IMACCIMS points to
tape or DASD, and then to conditionally execute PROC
DELETE only if DASD. Not too hard, but sure cluttered
the code in TYPECIMS!
For TAPE temporary spaces, we want to reuse the tape to
minimize the number of tape drives to three, but then the
dataset name used for the reuse MUST be the same as the
first dataset on that tape (if not, SAS would read past
that first dataset on tape and only begin writing the
reuse dataset after the first dataset, which could cause
multi-volume tape when not required.
Thanks to Wolfgang Vierling, Vereinte Versicherung, GERMANY.
Change 14.152 Support for RMF Type 74 Subtype 5 Cache RMF Reporter CRR
BUILDPDB record. This new subtype 5 record replaces the user SMF
BUILDPD3 record created by IBM's CRR product. MXG created the
BUILD003 CACHE90 dataset from the user SMF record; this support
EXTY74CA creates new dataset TYPE74CA, but the variables in that
FORMATS new dataset are identical to the old CACHE90 dataset, so
IMAC74 you will need only to change references to CACHE90 to
VMAC74 TYPE74CA in your CRR report programs.
Jul 2, 1996 The subtype 5 record is standard in OS/390 Release 2 and
is retrofit in MVS/ESA 5.2.2 by APAR OW18886, in 5.1 by
APAR OW19337, and in 4.3 by APAR OW19938.
Dataset TYPE74CA is automatically created in your PDB
library by MXG's BUILDPDB/BUILDPD3 programs.
I considered using CACHE90 as the dataset name in this
new support, but any site that had already added
CACHE90 to their BUILDPDB would ABEND with this new
MXG version, as there would then be two instances of
CACHE90, one from VMACACHE and one from VMAC74. 'Tis
better for BUILDPDB to run and only have to change
your reports than vice versa! Additionally, you may
have CRR running on some systems, while you only have
the TYPE74CA on some systems, so by using a different
name you can process both records. And, there are a
few new variables created in TYPE74CA.
Thanks to Brian Currah, Performance Associates, USA.
Change 14.151 TYPE74SY variables R742SDIR and R742SSTF are flag fields
VMAC74 and should have been formatted $HEX2.
Jul 2, 1996
Thanks to Mr. Leineweber, Huels AG, GERMANY
Change 14.150 Support for DFSORT Release 13 APAR PN71337 (Compatibly)
VMAC16 added new variable ICEDSA (Size of DSA in effect) using
Jun 29, 1996 an existing reserved field. This APAR also increases the
maximum number of SORTWORKs from 32 to 100, but that has
no impact on the MXG support.
Change 14.149 In verifying the MXG supported JES2 job numbers GT 32767,
VMAC57 I discovered that variable NJENJJID had been added to the
Jun 29, 1996 JES3 type 57 record; that variable is now created.
Change 14.148 An 878 ABEND can occur because the SLOTS table was below
ASMIMSLG the 16MB line; increasing the SLOTS after the //CONTROL
ASMIMSL5 DD statement avoided expansion, but still abended. The
Jun 27, 1996 solution is to move the SLOTS table above the 16MB line
(so the GETMAIN is not constrained by your private area).
Before the MXGIMSLG CSECT statement, insert (starting in
column one):
MXGIMSLG AMODE 31
MXGIMSLG RMODE 24
In the GETMAIN statement located 25 lines after the label
GETQUEUE, change LOC=RES to LOC=ANY.
Thanks to Grant Thomson, Elf Enterprise, ENGLAND.
Change 14.147 All MXG JCL examples now specify REGION=0M to allow SAS
JCLall to use all virtual storage it needs. See SAS Technical
Jun 27, 1996 Note VI.4 in Newsletter THIRTY for discussion.
Thanks to Jeff Balch, General Electric Capital Corporation, USA.
Change 14.146 All packed decimal fields in IBM's DFSMSrmm records are
VMACEDGS now protected with the ?? modifier (to supress error msg
Jun 26, 1996 when the record contains nulls for PD fields), and all
timestamps set with DHMS() function are now set missing
(instead of zero) when they don't exist. The logic for
the security record was incorrect and was revised.
This change is still open while investigating further
recommendations from this "codeshark".
Thanks to Willi Weinberger, IDG Informationsvararbeitung, GERMANY.
Change 14.145 Almost cosmetic; several hundred lines were printed on
VMXGSUM the SAS log when VMXGSUM's KEEPALL=NO default option does
Jun 26, 1996 its thing (see MXG Technical Notes in Newsletter 30).
This change inserted OPTIONS NONOTES; and then OPTIONS
NOTES before and after the parsing logic to prevent the
printing of these notes on your SAS log.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.144 Support for Anacomp, Inc.'s XSTAR product's SMF record.
EXXSTARB Two datasets are created:
EXXSTARO XSTARBAT - Batch Session Printing
IMACXSTR XSTARDSN - Batch Session sent to a dataset
TYPEXSTR XSTARONL - Online Session
VMACXSTR
Jun 26, 1996
Change 14.143 Support for EOS - Enterprise Output Solution for MVS is
VMACWSF already contained in MXG under its old acrynym, WSF. The
Jun 26, 1996 vendor is RSD - Roger Software Development, Geneva.
Thanks to Tim Crocker, ALLTEL Information Services, USA.
Change 14.142 CICS Statistics datasets did not contain SMFPSRVR (CICS
VMAC110 Version) nor MCTMNTAD (GMT offset), although both were
Jun 26, 1996 added to CICSTRAN and CICSEXCE in MXG 13.13. Now, both
variables were added to the _CISTCMN macro so that they
will now exist in all CICS datasets.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.141 The _LHSMxxx macros (which can be used to change the data
DIFFHSM Library in which HSM datasets are stored) were not used
Jun 26, 1996 in the data steps after the PROC SORTs, so you could not
use the IMACHSM to set the location of HSM datasets.
The syntax now uses _LHSMxxx macro names throughout.
Thanks to Trevor Holland, Bank of Melbourne, AUSTRALIA.
Change 14.140 MXGSAS, the JCL Procedure to execute MXG jobs, has been
JCLADHOC enhanced with the new TAILORNG= symbolic parameter that
MXGSAS allows you to use your own PDS as the first dataset in
Jun 25, 1996 the //SOURCLIB concatenation. This new parameter is
then used in the new JCLADHOC example, which shows how
you can use IEBPUDTE to put your SAS tailoring statements
into a temporary PDS (so you don't have to EDIT a real
PDS tailoring library) for an ad hoc analysis. Also, you
end up with the JCL and SAS code in one single member so
you can go back and remember what you did in one place!
Thanks to Debbie Gould, Acxiom, USA.
Change 14.139 Divide by zero message (but no failure) in calculation of
VMAC76 INTRVAVG in TYPE76 dataset. The second equation now is:
Jun 24, 1996 IF NRSETS*SAMP_SET GT 0 THEN INTRVAVG=INTRVSUM/(...);
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 14.138 DB2 Trace records containing SQL text were inconsistent.
VMAC102 IFCID 63 created all of the text in multiple observations
Jun 26, 1996 with 200-byte variable (which is unprintable because SAS
PROC PRINT truncates instead of wrapping), and IFCIDS 124
140, 141, 142, 145, and 168 kept only the first 200 bytes
of SQL statements. Since SQL text has no limit (after
all, it is a "program"), I decided to change the length
of T102S063's existing 200-byte variable to 100 bytes per
observation, and have created six new datasets for the
other IFCIDS that contain the SQL text in 100-byte chunks
(and the common variables). New datasets T102T124,
T102T140, T102T141, T102T142, T102T145 and T102T168 are
created, with the 2nd "T" in the dataset name being the
indicator that this dataset is for the SQL text. The
segment number is in SEGSQLTX and the actual bytes of
text in the 100-byte character variable is in the
variable LENSQLTX.
The first 100 bytes of text are still output in T102Snnn
for compatibility.
A later change to ANALDB2R will be required to be print
all of the SQL text in the Audit Reports, but with this
change at least you can PROC PRINT to get all of the SQL
statements.
Thanks to Mike Majors, Residential Services Corp of America, USA.
Change 14.137 Code which was never executed was deleted. The DO group
VMAC116 IF QWHCTOKN EQ '0000 ... 00'X was never executed, as the
VMACDB2H length of QWHCTOKN is 22, but the hex string was only 16,
Jun 24, 1996 and even if it had been executed, it only stored hex zero
where hex zero had already been initialized, so that DO
group was deleted and the subsequent ELSE DO; and END;
statements were deleted around NETSNAME creation.
Thanks to Herb Strazinski, Burlington Northern Railroad Co., USA
Change 14.136 Variable ZDATE is inadvertently changed to a character
TYPEIMSA variable with value 'ZEE OBS...' because the semi-colon
Jun 21, 1996 after TRANCLAS='TRANSACTION*CLASS'; must be removed.
Thanks to Mr. Lucca, Wiener Staedtische Versicherung, GERMANY
Change 14.135 Landmark TMON/MVS spanned records are now valid and can
FORMATS be read with MXG. Prior to TMVS 1.3, the spanned records
VMACTMVS were invalid, and MXG had no choice but to skip over them
Jun 20, 1996 (and print a note on the log that records were skipped).
As promised, TMVS 1.3 now writes legitimate records that
can be read with TYPETMVS. The only change required is
to delete the entire 18 lines of the DO group:
IF LMRKFLG1 NE '..00....'B THEN DO; /*SPANNED .... */
--- 16 lines ---
END;
Also, format $MGTMVGF now decodes additional bit values
(that deal with record structure, and probably no one but
me ever need to know!). I also discovered that it and
several other formats had been overlooked when the syntax
of OTHER=(! $HEX2. !) was changed to OTHER=?< $HEX2. ?>
by Change 13.319. Now, all OTHER= are consistent.
Thanks to Wim Desmecht, DOLMEN Computer Applications MV/SA, BELGIUM.
Change 14.134 Support for HP MeasureWare for HP-UX platform. HP's MWA
ADOCMWUX replaces the HP PCS product. The MXG support for MWA
ASUMMWUX is contained in new members with the MWUX suffix instead
IMACMWUX of HPUX, so you will have to change to use TYPEMWUX vice
TYPEMWUX TYPEHPUX, but the MXG datasets created by MWA are named
VMACMWUX the same as their PCS counterparts, and variable names
EXHPUXTT were preserved (except for dropped variables), so your
Jun 17, 1996 existing PCS report programs should function without
error against the MWA-built MXG datasets.
The data records read by MXG are completely controlled by
the syntax of the HP REPORT command that extracted the
data. You must compare the REPORT command syntax in the
ADOCMWUX member with your REPORT command (or use the one
in ADOCMWUX to generate your data!). If your data was
extracted with a different REPORT syntax, then you must
change member VMACMWUX as described in ADOCMWUX. The
delimiter between HP fields is set in member IMACMWUX.
One new dataset, HPUXTRAN, transaction tracker metrics,
is created by MWA that did not exist in PCS, hence the
new EXHPUXTT exit. Note that the same exit members are
used for both PCS and MWA to output the same MXG dataset
names! Support for SUN and AIX platforms will be coded
when there is a user in need of that support.
Thanks to Alfred Holtz, Medco Data Corporation, USA.
Thanks to Thierry Van Moer, Procter & Gamble, BELGIUM.
Change 14.133 Documentation. The MVS Technical Note on differences in
ADOC30 CPUTM between interval and step records was also put in
Jun 15, 1996 ADOC30, and related variables descriptions were revised.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
====Changes thru 14.132 were included in MXG 14.04 dated Jun 13, 1996===
Change 14.132 As promised, the prior member CICINTRZ is now CICINTRV;
CICINTRV i.e., the enhancements described in Change 13.281 are now
CICINTRZ the MXG default (and the old CICINTRV is now CICINTRZ).
Jun 13, 1996 With this change, only the CICINTRV dataset is built; the
CICEODRV CICREQRV CICRRTRV & CICUSSRV datasets are no
longer created. The new logic does not impact execution
resources: CPU only went up 20 seconds (with a total
CPU time of 11min 39sec for both TYPE110 and CICINTRV
with 2132MB of SMF data) and WORK disk space only went up
by 13 Cylinders (10MB). The increase in virtual storage
was only 600K, up to 15204K, but this is still much less
than BUILDPDB requires, so this new CICINTRV won't cause
your BUILDPDB to die with an 80A ABEND!).
A CICS Technical note on the CICINTRV enhancements will
soon be written. See Change 14.188 which reverses this.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.131 Support for APAR PN78083 required no change to MXG. The
VMAC42 APAR redefine's PRODLVL's 2 bytes as two 1 byte fields
Jun 12, 1996 Product Level, Product Sublevel), but PRODLVL is not even
a kept variable, and if it is ever needed in the future,
its two bytes can always be individually tested.
Change 14.130 INVALID DO LOOP error because Change 13.044 was not made
TRNDTALO to this member to protect when ALOCSTRT or ALOCEND are
Jun 11, 1996 missing. The IF statement in the first data step needs:
OR ALOCSTRT=. OR ALOCEND=.
to be added, i.e., make TRNDTALO look like ASUMTALO.
Thanks to David Childress, Lowe's Companies, Inc.
Change 14.129 Support for IMS 5.1 APAR PN76410 extended prefix segment.
ASMIMSL5 With this APAR, LOGONID variable in IMSTRAN is missing.
Jun 9, 1996 To correct, change ASMIMSL5 after label P001000M to make
the code look like this:
P001000M DS 0H old
CLI 2(R4),X'84' IS THIS THE LU6 SEGMENT old
BNE P001000N BRANCH IF NOT (was BNE DROPMAP)
LA R4,MSGLU6ND(R4) BUMP PAST THE SEGMENT old
B P001000K BRANCH TO TEST FOR RACF old
P001000N DS 0H SUPPORT FOR PN76410 new
CLI 2(R4),X'86' IS THIS THE EXT PFX SEGMENT new
BNE DROPMAP BRANCH IF NOT new
USING MSGEPHDR,R4 new
TM MSGEPFL1,MSGESEC IMBEDDED SECURITY SEGMENT? new
BZ DROPMAP BRANCH IF NOT new
LH R2,MSGEPTL LNGTH OF ALL EMBEDDED SEGS new
AR R2,R4 END OF EXTENDED SEGMENT new
P001000P LH R1,0(R4) LENGTH OF THIS SEGMENT new
AR R4,R1 NEXT SEGMENT new
CR R4,R2 HAVE WE REACHED END ? new
BNL DROPMAP BRANCH IF YES new
CLI 2(R4),X'88' SECURITY SEGMENT? new
BNE P001000P BRANCH IF NOT new
DROP R4 new
USING MSGSEC,R4 new
MVC LOGONID,MSGRACUS MOVE IN THE LOGONID new
MVC ORGENT(8),MSGSAFNM MOVE IN ORGENT/INCONT new
DROP R4 new
B DROPMAP new
EJECT old
Thanks to Grant Thomson, Elf Enterprise Caledonia Limited, SCOTLAND.
Change 14.128 Support for ITRF V300 (compatible) added variables UNIQUE
VMACITRF (unique sort key) to all ITRF datasets, and SAPTRN (SAP
Jun 9, 1996 internal transaction code) to ITRFMSG dataset. See IMS
Technical Notes for additional ITRF experience.
Change 14.127 Two datasets in ZRBPDB but not in WORK were not found
ZRBBATCH because they did not have the &LIBNAME.. reference in the
ZRBRPT1-3 ZRBBATCH program. ZRBRPT1-3 had JCL removed and &LIBNAME
Jun 9, 1996 added so as to be consistent with other ZRB members.
Thanks to Jay Beeler, Key Services, USA.
Change 14.126 ANALDB2R Statistics Trace now incorporates Change 14.068
ANALDB2R for each Remote Destination, removing references to the
Jun 9, 1996 QLSTLOCN variable in DB2STATS, now using DB2STATR.
Change 14.125 Support for ASTEX 2.1 (INCOMPATIBLE) replaced four bytes
VMACDMON with eight bytes in the VOL record segment, and created
Jun 9, 1996 new variables:
Dataset Variable Label
DMONVOL RVLVG
DMONVOL,DSN,JOB RCDTME CACHE*TIME*SAVINGS
DMONVOL,DSN,JOB RMLDMOBJ DSN's*DEMOTION*TIME*OBJTV
DMONVOL,DSN,JOB RSCLSFLG SMS*CLASS*FLAG
DMONVOL,DSN,JOB LOGICAL*VOLUME*GROUP*NAME
Thanks to Chuck Hopf, MBNA, USA.
Change 14.124 Change 12.099 was not correct in leap years (like 1996!),
VMACDCOL but the impact was minimal. Three EXPDT variables (HSM's
VMXGHSM MCDEXPDT and DCOLLECT's DCDEXPDT and UMEXPDT) were set
Jun 9, 1996 to MXG "infinite" year of 2099 for a valid leap year date
Jun 18, 1996 of 96366 instead of the correct date. MXG uses this
"infinite" date for EXPDTs that are not valid Julian
dates (like 99999, 99366, and also for the special date
of 99365) that are used by tape management systems, but
Change 12.099 incorrectly set any xx366 date as infinite.
Change the occurrences in VMACDCOL and in VMXGHSM from
OR DAYEXPDT GE 366 to OR DAYEXPDT GT 366.
Additionally, the default date in VMACDCOL was changed to
'31DEC2099'D (from '01JAN2099'D) just to be consistent.
This text was revised when I discovered that 2000 is
indeed a leap year, but the code change supports all leap
years, including 2000.
Thanks to Marc Vanden Bergh, Gemeentekrediet, Belgium.
Change 14.123 Omegamon for CICS variables OMSUPRTM and OMDCOMTM (wait
IMACICOC time for SUPRA and DATACOM) were off by a factor of 16.
Jun 9, 1996 Insert OMSUPRTM=16*OMSUPRTM; OMDCOMTM=16*OMDCOMTM;
after the existing statement OMADABTM=16*OMADABTM;
Thanks to Michel Antoons, 3M, BELGIUM.
Change 14.122 Variable SSQELAP in TYPE72GO was input as &RB.8.6 but it
VMAC7072 should have been input as &RB.8. (causing RESPSTD to be
Jun 7, 1996 wrong). Variable AVGELPTM in TYPE7204 dataset was also
INPUT as &RB.8.6, but is now INPUT as &RB.8. and then
converted with *1024/(1E6) like the other elapsed times.
That these errors have been undetected for so long shows
how infrequently they are needed.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 14.121 Variable PCTALLBY was not calculated for TYPE78CU dataset
ANALRMFR but now is, and new variable LCUIORT in TYPE78CU contains
VMAC78 the aggregate I/O rate for all CHPIDs in that LCU.
Jun 5, 1996 In validating this change, I discovered that TYPE78CF
Jun 7, 1996 variables OFFLINE and ONLINE are interpreted by IBM as:
OFFLINE ONLINE IBM Report Explanation
Y Y PATH OFFLINE
Y OFFLINE
OFFLINE
Y ONLINE
ANALRMFR REPORT=CHAN report now prints LCUIORT, which is
not printed by the equivalent IBM report but is useful!
Thanks to Alan Sherkow, IS Management Strategies LTD, USA.
Change 14.120 Change 13.301 accidentally corrected the DEVNR for MSS
VMACUCB devices, but commenting out IF DEVNR='1...... 'B ...,
Jun 5, 1996 but the subsequent line should be changed from ELSE IF
to IF (DEVNR=0FFFx AND NOT ....
Thanks to Peter Durant, National Australia Bank, AUSTRALIA.
Change 14.119 This archaic member for CICS 2.1 and SAP journal segments
VMAC110S had two typos: variable JCTUTRID should be JCRUTRID and
Jun 5, 1996 SAPTEST='SA' /*$$$*SAP*/ needed a semicolon.
Thanks to Santamaria Antonio, Agip Petroli, ITALY.
Thanks to Mark Cohen, SAS Institute, ITALY.
Change 14.118 Decoding Type 37 DETT section only kept 200 bytes of the
VMAC37 text string BRFDATTX, but some operators type up to the
Jun 1, 1996 maximum of 275 bytes, so the logic of the decoding of the
SELD sections's text into BRFTEXT and BRFTEXTA was used
in the DETT section to create BRFDATTX and new BRFDATTA.
Replace the 7 lines in the DETT section starting with
SKIP200=BRFDATLN-200;
with the 14 lines from the SELD section starting with
IF LENSELD GE 275 THEN INPUT BRFTEXT $EBCDIC200.
and then change SELD to DETT (4 occurrences) and change
BRFTEXTA to BRFDATTA (6) and then BRFTEXT to BRFDATTX (7)
in those 14 lines in the DETT section. Finally, add new
variable BRFDATTA to the KEEP= and LABEL statements.
Thanks to Tony Sandora, CIGNA, USA.
Change 14.117 MSOUNITS was increased from 4 to 5 bytes by Change 14.076
BUILDPDB only in VMAC30, but datasets JOBS SPUNJOBS STEPS TRND72 &
BUILD005 TYPE434 still were stored in only 4 bytes. The impact is
BUIL3005 mathematically minimal, with at most a loss of 255 units
TRND72 with 10-digit values of MSOUNITS
VMAC434 and values that large strongly suggest you should fix
May 31, 1996 your MSOCOEFF value (in IPS) to make it a very small
Mar 10, 2003 value - perhaps .001 to .0001 - so that MSOUNITS are
insignificant (less than .1 percent?) in the total
service units calculated by the SRM. You can use a
PROC MEANS DATA=PDB.TYPE72 SUM; to get the percent of
SERVICE that is recorded in MSOUNITS and change your
MSOCOEFF, because MSOUNITS are not a measure of work,
and should not be included in the SRM's measurement of
work/service. Work is CPU and I/O only. Memory is
like air conditioning and floor space (you have to
have enough, and it only comes in big chunks) but
memory occupancy, floor space occupancy, and cooling
occupancy are not measures of computer work; they are
the fixed costs that makes computing possible!
Why then make this minor change? Because Freddie's QA
stream saw the minor difference in values between 13.13
and 14.03 and so for the sake of perfection (rather than
real impact), the change was extended to these members.
Mar 10, 2003: Original text had .000001 but .0001 is the
minimum permitted value, other than zero.
Feb 21, 2005: See MXG Technical Note in Newsletter 47;
IBM Discovered that the smallest value is actually .0122.
Any value less than that value will be reported in the
MSOCOEFF in TYPE72GO, but only 0.0122 will be used!
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.116 Connect-Direct (originally NDM) V 1 R 4 Mod 1 uses two
FORMATS existing reserved fields to compatibly add variables
VMACNDM NDMLUOTH (Other*node LUNAME) and NDMNETYP (Network Type).
May 31, 1996 New MXG format $MGNDMTY was created to decode NDMNETYP.
Thanks to Steve Beaver, Texas Commerce Bank, USA.
Change 14.115 The date part of SYNCSORT variables SORTBEGN and SORTEND
VMACSYNC are off by one day for sorts that spanned midnight. The
May 30, 1996 statement
May 31, 1996 IF SORTBEGN GT SORTEND THEN
SORTBEGN=SORTBEGN-DHMS(1,0,0,0);
should have been
IF SORTBEGN GT SORTEND THEN
SORTEND=SORTEND+DHMS(1,0,0,0);
Also, the +32 reserved bytes INPUT after HPUSED are now
replaced with +22 TSTSYNCS &PIB.8. +2
and IF TSTSYNCS GT 0 THEN CHARACTS=TSTSYNCS; was added
after the @; to support the (as yet undocumented) 8-byte
value so more than 2.4GB of characters can be counted.
Thanks to Linda S. Berkley, Amdahl, USA.
====Changes thru 14.114 were included in MXG 14.03 dated May 27, 1996===
Change 14.114 Support for RACF 1.10 records (compatible). MXG version
VMAC80 14.03 and later tolerate RACF 1.10 records (i.e., will
VMAC80A not fail), but the new "extended length relocate sections
May 26, 1996 are not yet decoded, as I need test data records to
understand how they can be useful. When test data has
been received and the new section is decoded, this note
will be revised.
Change 14.113 Support for Thruput Manager #V041238 "Job Extract"
IMACTPM extension (INCOMPATIBLE) restructured the fixed segment
VMACTPM and creates these new variables in TYPETPMF dataset:
May 26, 1996 CPUTMINT='CPU USED*BY INTER*AND JOB ANAL'
CPUTMJAT='TOTCPU USED BY JOB ANALYZER'
JCTJOBID='JES*JOB*IDENTIFIER'
TPMTMCTA='CATALOGS*ALLOCATED*IN JOB ANAL'
TPMTMLCA='CATALOG*LOCATES*VIA*CAT LOOKASIDE'
TPMTMLCM='CATALOG*LOCATES*VIA*CAT MANAGEMENT'
TPMTMLRQ='CATALOG*LOCATES*REQUIRED'
The default in MXG is for the new record; if you still
process the base record you must set macro _TPMVERS to 0
in member IMACTPM.
In addition, the processing of the extract segments was
redesigned. Previously, an observation in TYPETPMV was
created for each 16 bytes of the TPM data value in each
TPMFIELD segment. Now, there will be one observation for
each TPMFIELD segment, with TPMVALUE now containing the
first 64 bytes of the data value. $ACCT segments have
been found with 161 bytes, but all other data lengths are
less than 64, so the new design should decrease the size
and number of observations in TYPETMMV dataset.
Thanks to Andy Chandler, Eagle Star, ENGLAND.
Change 14.112 IDMS Performance Monitor dataset IDMSBUFF was incorrectly
VMACIDMS decoded. CA uses ALIGN in their assembly, causing bytes
May 26, 1996 to be inserted in the SMF record that do not exist in the
Jul 11, 1996 DSECT, and two fields were increased from 2 to 4 bytes.
-Insert after INPUT BUFNAME $EBCDIC18. +2 to skip the
undocumented bytes, and change the SKIP=SKIP-18; to -20;
-May 26 change said: Change INPUT of BUFNDEFN and BUFNINUS
from &PIB.2. to &PIB.4., and 28 lines later change the
SKIP=SKIP-104 to -108. However, Jul 11, change puts two
fields back as &PIB.2., and instead inserts +2 after each
of those halfwords. The SKIP change of May 26 is coorect.
Thanks to Terry Heim, Ecolab Inc. USA.
Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS
Change 14.111 Support for NETSPY Release 4.7 compatibly added variables
VMACNSPY to several datasets:
May 25, 1996 Dataset Variables added
NSPYNCPY CBPIDTID,CBPCBFLG
NSPYTIC3 NSPNTMBR NSPNTMBS NSPVTMFR NSPVTMFS
NSPYVIRT VRBPIINB VRBBYINB
Change 14.110 Variables BADTAP EDMTAP and DYNAM were created but not
VMACTMS5 kept in dataset TMSREC; they have now been added to the
TYPETMS5 KEEP= lists in both VMACTMS5 and TYPETMS5.
May 24, 1996
Thanks to Terry Duchow, U.S. Postal Service, USA.
Change 14.109 Type 110 SMF record with subtype=2818 ('B02'X) is written
UTILGETM by Boole and Babbage's CICS Manager, but UTILGETM has but
May 24, 1996 255 buckets to count subtypes. Now, UTILGETM recognizes
this record, counts it as a subtype 2 record, and the
UTILGETM FOUND A RECORD WITH SUBTYPE GREATER THAN 255
message is not printed for this statistics record.
Thanks to Trevor Ede, Bank of New Zealand, NEW ZEALAND.
Change 14.108 MXG 14.02 only. BY VARIABLES ARE NOT PROPERLY SORTED.
DIFFDB2 The PROC SORT for DATA = _LDB2STR for new PDB.DB2STATR
May 23, 1996 dataset should have BY SYSTEM QWHSSSID QLSTLOCN QWHSSTCK;
(QLSTLOCN was missing from that BY statement).
Thanks to Tony Sandora, CIGNA, USA.
Change 14.107 MXG 14.02 only. INPUT STATEMENT EXCEEDED with type 37
VMAC37 because BRFLOCAL and BRFRMT are not separate new fields.
May 23, 1996 (The type 37 documentation moved from the NetView Admin
Guide into the Application Programming Guide in NetView
2.4, but I then misread Table 33 and thought there were
two new 30-byte fields (BRFLOCAL, BRFRMT), but they are
actually only redefinitions of table 34 whose fields are
already decoded by MXG, so there truly was NO CHANGE in
the Netview 2.4 type SMF record, and the text of 14.090
has been revised.) This change removed the DO group
(IF BRFREVLT GE 2.4 THEN DO; ... END;) that had been
incorrectly added by 14.090. The other correction in
14.090 was valid.
Thanks to Tony Sandora, Cigna, USA.
Change 14.106 Variable A14EQPCT (MAXQTIME Purge Count) was not kept in
VMAC110 dataset CICCONSR (ISC/IRC data), but now is. Also, the
May 23, 1996 variables MCTMNTAD and SMFPSRVR were not kept in dataset
CICSEXCE, but now have also been added to the KEEP= list.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Dawn Medwid, Aetna, USA.
Change 14.105 Variable QWSDLR (High used RBA address of log) was added
VMACDB2 to the LENGTH statement as length 8, and formatted HEX12.
May 23, 1996 as it is an address, not a number; this was supposedly
fixed by Change 13.129 but was not actually made til now.
Also, the input of QWSCIID after IF NRQWSC GT 15 THEN DO;
was changed to XXXCIID, so that the real value of QWCSIID
is not corrupted when there are more than 15 segments.
Thanks to Tom Parker, Hogan Systems, USA.
Change 14.104 Variables BEGTIME and ENDTIME were not created in the DB2
DIFFDB2 interval datasets DB2STATB (buffer pool) and DB2STATR
May 23, 1996 (remotes), but now they are!
Thanks to Susan Marshall, SAS Institute Cary, USA.
Change 14.103 Variables ACTLNGH, NETLNGH, and USELNGH should be INPUT
VMACORAC as &PIB.2. instead of &PIB.4., so that accounting data
May 23, 1996 is correctly input.
Thanks to Dave Harris, TVA, USA.
Change 14.102 MXG 14.02 only. INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC7072 with MVS/ESA 5.2 type 72 record because of MXG coding
May 22, 1996 errors (and insufficient testing of Change 14.085).
-Find the statement IF LENSCS GE 316 THEN DO;
Change the following INPUT statement for variable
R723CSRS from &PIB.4.6 to &PIB.8.6, and for variables .
R723CSPA and R723CSPE from &PIB.4. to &PIB.8.
-Find the statement SKIP=LENSCS-292; (which was 11 lines
after the IF LENSCS GE 316 THEN DO; statement), and move
it immediately before the IF LENSCS GE 316 THEN DO;
-After R723CSRS=1024*R723CSRS; statement, insert new line
SKIP=SKIP-24;
Thanks to Tony Sandora, CIGNA, USA.
Change 14.101 The error message "JOB WAS NOT EXECUTED ON THE FIRST DAY'
MONTHBLD was made more readable, and now points to MXG Newsletter
May 22, 1996 TWENTY-FIVE for instructions for "Running the MONTHBLD
program on a day other than the 1st day of the month".
Thanks to Bernie Levy, CUC International, USA.
Change 14.100 In fifteen members, the datetime literal value of
IMACEXCL '01JAN00:00:00:00'DT was used to initialize variables to
TYPEMOND IBM's epoch datetime value, but that 00 year value can be
TYPEMONI interpreted as 1900 or 2000, depending on the value of
TYPEMONX your SAS option YEARCUTOFF, so MXG was changed to use
TYPEMON8 '01JAN1900:00:00:00'DT to always set the correct value.
TYPETMON MXG uses this value only when decoding raw records into
VMACCIMS SAS datasets, so it is highly unlikely that you would
VMACHURN have this literal value in your own SAS programs;
VMACOMCI nevertheless, it would certainly be wise to search you
VMACVMON SAS source libraries for '01JAN00's existence and change
VMAC110 to the 1900 value to thereby support the year 2000.
VMAC110M
VMAC110S
VMAC116
VMACDB2H
YEAR2000
May 22, 1996
Thanks to Graeme Yeandle, British Telecom, ENGLAND.
Change 14.099 The @137,141,143,145 for the input of OFFARMS,LENARMS,
VMAC30 NRARMS and EXTRARMS should have been 149,153,155 and 157
May 22, 1996 for the Auto Restart section. I still do not have a dump
of a real type 30 record with Auto Restart section, but
I just happened to notice this error.
Change 14.098 Support for AS/400, OS/400 Release 3.6 INCOMPATIBLY added
VMACQAPM fields to the QAPMDISK, deleted fields in QAPMCONF,
May 1, 1996 increased the size of one field in QAPMSYS, and added and
deleted fields from QAPMJOBS.
Added to QAPMDISK:
DMDRN ='MIRRORED*DEVICE*RESOURCE*NAME'
DMIRN ='MIRRORED*IOP*RESOURCE*NAME'
DSCCFW ='CONTROLLER*CACHE*FAST*WRITES'
DSCCRH ='CONTROLLER*CACHE*READ*HITS'
DSCCWH ='CONTROLER*CACHE*WRITE*HITS'
DSDRN ='DEVICE*RESOURCE*NAME'
DSPCPH ='CONTROLLER*CACHE*PARTIAL*READ HITS'
IOPRN ='IOP*RESOURCE*NAME'
and deleted variables DS/DMARMP DS/DMIOPA DS/DMIOPB
and DS/DMPORT
Added to QAPMJOBS:
JBDRN ='DEVICE*RESOURCE*NAME'
JBIRN ='IOP*RESOURCE*NAME'
JBSJNB ='SUBMITTORS*JOB*NUMBER'
JBSJNM ='SUBMITTORS*JOB*NAME'
JBSJUS ='SUBMITTORS*JOB*USER'
JBTTYE ='TASK*TYPE*EXTENDER'
JBTTYP ='TASK*TYPE'
Only these four structures have been enhanced for 3.6.0
as of this date. Further updates may be expected.
Thanks to Clark Jennings, Reynolds Metal, USA.
Change 14.097 MXG 14.02 only. Zero obs in dataset NSPYLU due to typo.
VMACNSPY In line number 15610061 which read:
May 1, 1996 INPUT LRSPHOST &PIB.4.6 /*
that extraneous "/*" must be removed from that line.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
====Changes thru 14.096 were included in MXG 14.02 dated Apr 25, 1996===
Change 14.096 Duplicate INPUT of the same variable in the same INPUT
VMACNSPY statement did not cause errors, but to avoid confusion,
Apr 26, 1996 those INPUT statements were cleaned up in these members:
VMACIMSA SYNCUOWC Duplicate line deleted
VMACLMS OPTION1 Duplicate renamed OPTIONLM
VMACNSPY CBPPOOL New variable CBPPOOLU created
VMACNSPY NSPBEXPN New variable NSPBEXTN created
VMACQAPM xxIOPA,B Input @20, @21 removed
VMACRMFV SSHCPUX Duplicate renamed SSHCPUX
VMACX37 VOLSER Duplicate renamed VOLSERX
VMACXAM DASDCACH Duplicate renamed DASDCACX
VMACXCOM UNDOC04 Duplicate renumbered.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.095 NETSPY type S record from R4.4 caused STOPOVER; the MXG
VMACNSPY tests for NSPYENTL=108 and NSPYENTL=160 must be changed
Apr 26, 1996 to NSPYENTL=112 and NSPYENTL=164 respectively.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 14.094 Variable SYNCTIME was not kept in TYPE30_0 dataset, but
VMAC30 now it is.
Apr 26, 1996
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
Change 14.093 Support for IBM's Cache RMF Reporter (CRR) 1.7 adds new
VMACACHE variables and a new CACMODEL='02'X, for Emulated 3990s
Apr 25, 1996 (such as the RAMAC Array Subsystem). The IBM changes are
compatibly made, but there will be no observations in
dataset CACHE90 for the new Emulated 3990s records until
you install this change. New variables in CACHE90 are:
CACMODEL='CACHING*SUBSYS*MODEL'
CWCC ='CONCURRENT*COPY*CONTAM*WRITES'
DCTC ='DEVICE CACHE TRACKS CONFIGURED'
DCTR ='DEVICE CACHE TRACKS REMOVED'
DVRD ='DEVICE READS*BY*CONTROL UNIT'
DVRH ='DEVICE READ HITS*BY*CONTROL UNIT'
DVWH ='DEVICE WRITE HITS*BY*CONTROL UNIT'
DVWR ='DEVICE WRITES*BY*CONTROL UNIT'
PPRC ='PPRC*WRITE*COUNT'
RSV ='LOWER*INTERACE*IO*(MILLISEC)'
SFRD ='TRACKS*READ*FROM SIDEFILE'
TSRR ='TRACKS*STAGED*FOR RAID RECONSTRUCION'
CSCSDFM0='CACHE 0*DISABLED*FOR*MAINTENANCE?'
CSCSDFM1='CACHE 1*DISABLED*FOR*MAINTENANCE?'
CSCSTAT0='CACHE 0*STATUS'
CSCSTAT1='CACHE 1*STATUS'
CSNSBAT0='NVS 0*BATTERY*IS*DEFECTIVE?'
CSNSBAT1='NVS 1*BATTERY*IS*DEFECTIVE?'
CSNSDFM0='NVS 0*DISABLED*FOR*MAINTENANCE?'
CSNSDFM1='NVS 1*DISABLED*FOR*MAINTENANCE?'
CSNSPND0='NVS 0*PENDING*DUE TO*ERROR?'
CSNSPND1='NVS 1*PENDING*DUE TO*ERROR?'
CSNSTAT0='NVS 0*STATUS'
CSNSTAT1='NVS 1*STATUS'
Note that variables CSCSDFM, CSCSTAT, CSNSBAT, CSNSDFM,
CSNSPND and CSNSTAT were replaced by the above pairs.
Change 14.092 IBM's RMDS Version 2.2 is supported by MXG, as there was
VMACRMDS no change in the contents of their SMF record.
Apr 25, 1996
Change 14.091 Boole's STOPX37's replacement version records are trash.
VMACX37 The version 3.5 SMF record was replqced by a record with
Apr 25, 1996 only text fields. Many users complained to Boole, and
Boole was finally persuaded to create the SMF record that
should not have been replaced in their next version. As
yet I have no documentation by which to update MXG.
Update: See Change 14.207 for PRO/SMS replacement.
Change 14.090 The original text of this change said that the NETVIEW
VMAC37 2.4 type 37 SMF record was INCOMPATIBLY changed, but that
Apr 25, 1996 is false - see Change 14.107 - there was no change.
May 23, 1996 However, 14.090 did correct MXG's logic error that had
caused INPUT STATEMENT EXCEEDED errors due to incorrect
detection of the existence/insertion of OFFETHD:
The line IF OFFPROD-3-COL GE 16 THEN DO; was changed to
IF OFFPROD-3-COL EQ 16 THEN DO; and the line
IF OFFPROD-3-COL GE 24 THEN DO; was changed to
ELSE IF OFFPROD-3-COL GE 24 THEN DO;
Thanks to Joe Schwartz, CIGNA, USA.
Change 14.089 Support for APAR PN69653, which changes COLLTIME in IBM
VMAC110 type 110 record from YY to YYYY for year 2000 compliance.
YEAR2000 Member YEAR2000 updated.
Apr 25, 1996
Change 14.088 BLKSIZE=23364 values of Change 12.248 were implemented in
JCLIMSLG the sample JCL in member ASMIMSLG, but only now have the
Apr 25, 1996 DCB parameters been corrected in member JCLIMSLG.
Thanks to Waldemar Schneider, SAS Institute Cary, USA.
Change 14.087 Variable QWHCATYP exists both in DB2 datasets and in MQM
FORMATS dataset TYPE116, but with different values for Attachment
VMAC116 Type, so the variable QWHCATYP in TYPE116 dataset is now
Apr 25, 1996 renamed QWHCXTYP which is FORMATed MG116TY to decode
the MQM attachment types. This is an INCOMPATIBLE change,
if any of your reports used variable QWHCATYP from the
dataset TYPE116. Sorry for the inconvenience!
Thanks to Rick Apel, Square-D Company, USA.
Change 14.086 ASMTAPES MAINTLEV 9 supresses the stoppage of writing the
ASMTAPES Allocation subtype after TMNT013E error message. See the
Apr 25, 1996 MXG Technical Note in CHANGES in MXG 14.02 (to be printed
in Newsletter 30 this summer) for further discussion.
Find the TMNT013E message WTO and change that code to
look like this: (change text of WTO, comment NI and MVC):
WTO 'TMNT013I A LOCK OBTAIN LOOP HAS EXCEEDED MAXIMUM TIME AX
LLOWED - POSSIBLE SYSTEM STALL'
* NI OPTIONS,255-DOALLOC TURN OFF ALLOCATION BIT
* MVC PARSSAL,=CL3'NO ' UPDATE STATUS MESSAGE
B MONITOR AND LEAVE
LOCKED EQU *
Thanks to Mike ONeill, Dun and Bradstreet, USA.
Change 14.085 Variables added by IBM in MVS/ESA 5.2.0 but overlooked:
VMAC7072 Dataset TYPE72GO (Goal Mode Service/Report Class data):
VMAC74 R723CSRS='SHARED*PAGE*RESIDENCY*TIME'
Apr 23, 1996 R723CSPA='SHARED*PAGEINS*FROM*AUXSTORE'
R723CSPE='SHARED*PAGEINS*FROM*ESTORE'
Dataset TYPE74OM: (Open Edition MVS):
OMVSCAMN='MIN*MEM MAP STORAGE PAGES*PER CYCLE'
OMVSCAMX='MAX*MEM MAP STORAGE PAGES*PER CYCLE'
OMVSCGMN='MIN*SHARED MEM PAGES*PER CYCLE'
OMVSCGMX='MAX*SHARED MEM PAGES*PER CYCLE'
OMVSCHMN='MIN*SHARED MEM IDS*PER CYCLE'
OMVSCHMX='MAX*SHARED MEM IDS*PER CYCLE'
OMVSCMAP='AVG*MEM MAP STORAGE PAGES*PER CYCLE'
OMVSCMMN='MIN*MSG QUEUE IDS*PER CYCLE'
OMVSCMMX='MAX*MSG QUEUE IDS*PER CYCLE'
OMVSCMSG='AVG*MSG QUEUE IDS*PER CYCLE'
OMVSCPAG='AVG*SHARED STORAGE PAGES*PER CYCLE'
OMVSCSEM='AVG*SEMAPHORE IDS*PER CYCLE'
OMVSCSHM='AVG*SHARED MEM IDS*PER CYCLE'
OMVSCSMN='MIN*SEMAPHORE IDS*PER CYCLE'
OMVSCSMX='MAX*SEMAPHORE IDS*PER CYCLE'
OMVSCSPG='AVG*SHARED MEM PAGES*PER CYCLE'
OMVSCXMN='MIN*SHARED STORAGE PAGES*PER CYCLE'
OMVSCXMX='MAX*SHARED STORAGE PAGES*PER CYCLE'
OMVSMMAP='MAX*MEM MAP PAGES*PER CYCLE'
OMVSMMSG='MAXIMUM*MESSAGE*QUEUE*IDS'
OMVSMPAG='MAX*SHARED STORAGE PAGES*CONSTANT'
OMVSMSEM='MAXIMUM*SEMAPHORE*IDS'
OMVSMSHM='MAXIMUM*SHARED*MEMORY*IDS'
OMVSMSPG='MAXIMUM*SHARED*MEMORY*PAGES'
OMVSOAMN='MIN*EXCEED MEM MAP PAGES*PER CYCLE'
OMVSOAMX='MAX*EXCEED MEM MAP PAGES*PER CYCLE'
OMVSOGMN='MIN*EXCEED MAX SHR PAGES*PER CYCLE'
OMVSOGMX='MAX*EXCEED MAX SHR PAGES*PER CYCLE'
OMVSOHMN='MIN*EXCEED MAX SHRMEM IDS*PER CYCLE'
OMVSOHMX='MAX*EXCEED MAX SHRMEM IDSPER CYCLE'
OMVSOMAP='AVG*EXCEED MEM MAP PAGES*PER CYCLE'
OMVSOMMN='MIN*EXCEED MAX MSGS*PER CYCLE'
OMVSOMMX='MAX*EXCEED MAX MSGS*PER CYCLE'
OMVSOMSG='AVG*EXCEED MAX MSGS*PER CYCLE'
OMVSOPAG='AVG*EXCEED STORAGE PAGES*PER CYCLE'
OMVSOSEM='AVG*EXCEED MAX SEMA IDS*PER CYCLE'
OMVSOSHM='AVG*EXCEED MAX SHRMEM IDS*PER CYCLE'
OMVSOSMN='MIN*EXCEED MAX SEMA IDS*PER CYCLE'
OMVSOSMX='MAX*EXCEED MAX SEMA IDS*PER CYCLE'
OMVSOSPG='AVG*EXCEED MAX SHR PAGES*PER CYCLE'
OMVSOXMN='MIN*EXCEED STORAGE PAGES*PER CYCLE'
OMVSOXMX='MAX*EXCEED STORAGE PAGES*PER CYCLE'
OMVSCYCT='CYCLE*TIME*VALUE'
Change 14.084 INPUT STATEMENT EXCEEDED for SUBTYPE=41. The line with
VMACBETA DATE &PD.4 must be DATE &PD.4. (i.e., the final
Apr 22, 1996 period was missing). Originally, this text also said
May 26, 1996 "there are other changes in the subtype=41 record that
are not documented", but that was not true; there were no
other changes to that subtype of the BETA93 SMF record.
Thanks to Mr. Bronner, Versandhaus Wenz, GERMANY
Change 14.083 Variables QW0045SR and QW0045XR added to T102S045 dataset
VMAC102 by DB2 4.1, with "Suspend Reason" and "Extent of Global
Apr 22, 1996 Contention" flags.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 14.082 Labels for QBGxxx variables were changed from "SES ..."
VMACDB2 to "CF ...". These variables report Coupling Facility
Apr 16, 1996 contentions and false contentions. What was originally
called Shared Expanded Storage (SES) is now known as the
Coupling Facility (CF).
Change 14.081 The OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB; statement in
TYPEIMSA TYPEIMSA was removed. Those options have been set by the
Apr 16, 1996 CONFIG option for many versions, and so this statement is
redundant; it also caused SAS/CPE problems in the way
they modify MXG code on the fly.
Thanks to Carl Sommer, SAS Institute Cary, USA.
Change 14.080 VM/370 (archaic!) monitor records with RELEASVM='01' were
VMACVMON not recognized in the Device (6.02) section. Before the
Apr 16, 1996 line reading ELSE LENDV2=1; insert this line:
ELSE IF RELEASVM EQ '01' THEN LENDV2=2;
to correct the error.
Thanks to Jim Cheesman, NWNL Corporation, USA.
Change 14.079 Date variables which are zero printed as 01JAN1960, which
VMACTLMS is the SAS date value epoch, but this caused confusion on
Apr 16, 1996 reports (which previously printed only a 0). All of the
statements ... THEN variable='01JAN1960'D; were replaced
with THEN variable =.; (to set zero dates to missing).
Thanks to Rey Marquez, General Accident, USA.
Change 14.078 Reserved Change Number.
Apr 12, 1996
Change 14.077 OPC Release 3.0 and 3.1 may cause INVALID MTD SUBTYPE
EXOPC24Y messages to fill the SAS log, and observations were not
IMACOPC output. New fields that were not in the 3.0 manual are
VMACOPC now in the 3.1 manual, but also now show up in records
Apr 11, 1996 created by OPC Release 3.0! Since I can't get straight
Apr 16, 1996 answers from IBM as to whether the fields were really
there in 3.0 and I missed them, or whether PTFs created
the new fields, I have added support for the new data but
you will have to update macro _OPCVER in member IMACOPC
to a value of 3.1 for MXG to read in the new fields. In
otherwords, try processing OPC 3.0 with _OPCVER 3, and if
that fails, change _OPCVER to 3.1 and try again!
Dataset OPC24D_B has new variables MTDRESE and MTDRESQ.
Dataset OPC24_25 formerly contained subtypes 2,3,4 and 5
(MT0TYPE) of the Type 24 record, but this change creates
new dataset OPC24_2 for the subtype 2, and now OPC24_25
contains only subtypes 3,4, and 5. The new OPC24_2
dataset exit name is EXOPC24Y because EXOPC242 is already
in use.
Thanks to Randy Shumate, LEXIS-NEXIS, USA.
Change 14.076 Variable MSOUNITS is now stored as 5 bytes instead of 4,
VMAC30 because a value such as 2,804,486,170 is truncated to
Apr 11, 1996 only 2,814,486,016 when stored in 4 bytes.
Thanks to Aldo Valenti, SAS Italy, ITALY.
Change 14.075 If KEEPALL=YES was specified, and some of the parameters
VMXGSUM were not used in your %VMXGSUM invocation, the logic to
Apr 10, 1996 reconstruct the strings failed since it should never have
been executed. This change makes KEEPALL=YES work as it
was intended, and provides improved error checking.
Thanks to Tom Elbert, John Alden Insurance, USA.
Change 14.074 If TRNDLPAR has less than one week's data (i.e., first
GRAFLPAR time it's being used), strange graphs occurred because
Apr 10, 1996 MXG assumed more than one week's data. This change uses
the "best fit" algorithm of GRAFTRND so that all points
represent a monday or a start of the week.
Change 14.073 ERROR: VARIABLE QWHSIID NOT FOUND with DB2 I/O reports
ANALDB2R (a holdover from before ANALDBTR existed to pair the DB2
Apr 10, 1996 I/O trace records) is corrected by this change.
Thanks to Roland Nieuwenhuizen, SAS Netherlands, THE NETHERLANDS.
Thanks to Paul Ritzen, KLM, THE NETHERLANDS.
Change 14.072 Variable CLASRC was added to EREPOBR dataset (to identify
ADOCEREP which record created the observation), and ADOCEREP was
VMACEREP updated to describe datasets EREPOBL and EREPHDR.
Apr 10, 1996
Change 14.071 Dataset DB2STATB previously had zero observations unless
EXDB2STB you tailored exit member EXDB2STB, because I thought the
Apr 10, 1996 dataset could be large. In fact, there is only one obs
for each buffer pool for each interval, and thus I have
removed the comment block around the OUTPUT _LDB2STB;
statement, so observations will now always exist.
Thanks to Chuck Hopf, MBNA, USA.
Change 14.070 IBM APAR OW19251 addresses RACF and the year 2000; since
VMAC80A the RACF database only has three bytes for date, IBM has
Apr 10, 1996 declared that RACF dates with YY of 71 or higher will be
interpreted as year 19YY and dates with YY of 70 or less
will be interpreted as year 20YY. Further information is
to be in APAR OW19683. In examining VMAC80A, two dates
were not converted from Julian to SAS. After the INPUT
of variables REVOKDTE and RESUMDTE (two separate places),
insert:
IF REVOKDTE GT 0 THEN REVOKDTE=DATEJUL(REVOKDTE);
IF RESUMDTE GT 0 THEN RESUMDTE=DATEJUL(RESUMDTE);
Change 14.069 TYPE99_2 now contains one observation for each period in
VMAC99 each service class that had activity; previously only the
Apr 10, 1996 first period's data was output.
Before the INPUT @SM992CPO insert DO _I_=1 TO SM992CPN;
After the %%INCLUDE SOURCLIB(EXTY99U2); insert
SM992CPO=SM992CPO+SM992CPL; END;
I discovered that the SRVCLASS variable that I INPUT
from the Period Data Section must instead be INPUT from
the Class Data Section (i.e., where SM992NAM was input),
and I now INPUT new variable SM99PCNM where SRVCLASS was
INPUT, labeled SM99PCNM='INTERNAL*SERVICE*CLASS*NAME' and
is kept instead of SM992NAM. The Internal Service Class
Name only appears in type 99 records, with names like
$SRMDInn for discretionary periods, or $SRMBEST, $SRMGOOD
and $SRMDUMP names.
Thanks to Sridhar Gopalaswami, Barnett Technologies, USA.
Change 14.068 MXG only output the first QLST segment in DB2STATS, but
DIFFDB2 there is one segment for each Remote Destination used in
EXDB2STR each interval. Now, the QLSTxxxx variables in DB2STATS
IMACDB2 will contain the sum of all remote activity to all remote
VMACDB2 locations during the interval, while new dataset DB2STATR
Apr 9, 1996 contains one observation for each Remote Location during
each interval with the detail QLSTxxxx counts. Member
DIFFDB2 was altered to also deaccumulate DB2STATR.
Thanks to Peter Li, John Deere, USA.
Thanks to Ralph Baechle, John Deere, USA.
Change 14.067 Variable QBSTHBE in DB2STATB and variables QBnTVPL,
DIFFDB2 QBnTHPL, and QBnTHBE for n=0,1,2,3 in DB2STATS are not
Apr 2, 1996 not accumulated values but are endpoint values, so their
DIF() statements were removed from DIFFDB2. (QBSTHPL and
QBSTVPL were removed from DB2STATB by Change 13.269).
Thanks to Peter Li, John Deere, USA.
Change 14.066 Validation of TYPE88 with data corrected INPUT STATEMENT
VMAC88 EXCEEDED RECORD LENGTH errors Input of SMF88SDL should
Apr 2, 1996 have been &PIB.4. vice &PIB.2., and the +2 after SMF88SAB
must be +4, SMF88RVN is now input as &NUM.2 vice &PIB.2.,
and SMF88LIT is input TODSTAMP8 and formatted, and new
field SMF88EFS (undocumented in SMF manual) is input.
Thanks to Lee Borgman, Boeing Information Services, USA.
Change 14.065 APARS OW08565 and OW10584 adds SYNCTIME and statistics
VMAC28 (CPU utilization, Fast Program Storage Utilization, and
Apr 1, 1996 Buffer Storage Utilization) for each of the (up to 18!)
processors in the 3746/900 in the NAC segment, and adds
TIC utilization per frame and per byte sent and received
in the CSL segment.
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Thanks to Sandro Aiello, National Australian Bank, AUSTRALIA.
Change 14.064 Using Tape instead of DASD for ANALDSET fails; the step
ANALDSET added in MXG 13.02 reused the same DDNAME. The lines
Apr 1, 1996 DATA SORTSTEP.SORTSTEP; SET SORTSTEP.SORTSTEP must be
DATA TYPE30.TYPE30_4; SET SORTSTEP.SORTSTEP; and a new
data step was added after that step with
DATA SORTSTEP.SORTSTEP; SET TYPE30.TYPE30_4;
Thanks to Bill Bechtloff, Acxion, USA.
Change 14.063 DASDMPL value 1000 times too large in dataset TYPE42DS.
VMAC42 RESPTIME is in millisec, not sec, so equation must be:
Apr 1, 1996 DASDMPL=RESPTIME*DASDRATE/1000;
Thanks to Xiaobo Zhang, Insurance Services Office, USA.
Change 14.062 Just before the "DATA PDB.ASUMAPAF;" statement, insert:
ASUMAPAF PROC SORT DATA=TEMPAPA2;
Apr 1, 1996 BY SYSTEM STARTIME LPARNUM LPARNAME;
to protect sort order if you increase the number of
MDF domains.
Thanks to Scott Snyder, Card Establishment Services, USA.
Change 14.061 Variables MVUCDATE and MVUCTIME need ?? modifier (just
VMACEDGS like change 13.124) to prevent INVALID DATA messages when
Apr 1, 1996 there was no last user change date. In addition, dataset
EDGSOREC and EDGSOVOL were not correct. After the +7,
insert @; IF MOCFLG EQ '08'X THEN INPUT before MOOWNSUR,
replace IF LENGTH-COL+1 GE 4 THEN INPUT with ELSE INPUT
and change IF MOVOLNO GT 0 THEN DO to IF MOVOLNO GT 0
AND MOCFLG NE '08'X THEN DO....
Thanks to Emmanuel Chenay, Toyota Motor Europe, BELGIUM.
Change 14.060 UCICSCNT CICS diagnostic tool was enhanced to count the
IMACEXCL different record sizes found in your CICS transaction
VMAC110 (type 110 subtype 1) data that you can verify if all of
UCICSCNT your regions have the same EXCLUDE/INCLUDE definitions.
Apr 1, 1996 Comments in IMACEXCL were improved for multi-line INPUT
statements for the same CICS field number, and debugging
logic in VMAC110 was strengthened.
Change 14.059 TYPE72GO variable VALDSAMP was incorrect, which caused
VMAC7072 the PCTDLxxx variables to sometimes be wrong. The correct
Mar 29, 1996 equation should have five terms:
VALDSAMP=PCTUSCUS+PCTDLTOT+PCTDLUNK+PCTDLIDL+PCTDLPQU;
In addition, VALDSAMP is added to the KEEP= list for the
TYPE72GO dataset.
Thanks to Bruce Widlund, Merrill Consultants, USA
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.058 TYPE71 statistics for Shared Page Groups added in ESA 5.1
VMAC71 by IBM but missed by MXG until now. New variables are:
Mar 29, 1996 SHPG-IN/OU-AU/EX - Page in/out from AUX and ESTORE
SHPGSYxx - Shared Page Groups in the system
SHPGCSxx - Shared Page Groups in CSTORE
SHPGESxx - Shared Page Groups in ESTORE
SHPGAUxx - Shared Page Groups in AUX STORE
SHPGFXxx - Shared Page Groups Fixed
SHPGLOxx - Shared Page Groups Fixed below 16MB
where xx = AV,MN,MX for average, min and maximum.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 14.057 Support for STK's NearOAM (formarly NearImage) user SMF
EXTYNOAM record creates dataset TYPENOAM with one observation for
IMACNOAM each individual request to retrieve an object. Their SMF
TYPENOAM record can contain up to 100 requests from a single tape;
VMACNOAM MXG creates one observation per request, with the start
Mar 28, 1996 and end times and duration of each request, and the name
of the tape dataset being processed.
Thanks to Fiona Crane, Sun Alliance Insurance Group, ENGLAND.
Change 14.056 Cosmetic. Test macro _TESTINTX defined in VMACVMXA is
JCLTEST6 too long and is renamed _TESTINX to conform with 8-byte
VMACVMXA limit of SAS. There was no change to JCLTEST6, but that
Mar 27, 1996 MXG job encountered this error in VMACVMXA.
Thanks to Philip Sills, IFF International Flavors & Fragrance, USA.
Change 14.055 STK's HSC Subtype 08 record comes in two (incompatible)
VMACSTC lengths of 38 or 40 bytes, but MXG Change 14.001 knew of
Mar 27, 1996 only the 38 byte record. STK expanded a one byte thrice
defined field into three separate fields. Either length
record caused INPUT STATEMENT EXCEEDED error message.
To fix, conditionally execute the INPUT statement by
inserting IF LENGTH-COL+1 EQ 18 THEN before input,
then block replicate the input, change the condition to
ELSE IF LENGTH-COL+1 GE 20 THEN
and then remove the +M1 before fields STC08CID, STC08MAG
in the GE 20 input.
Thanks to Herb G. Strozinsky, Burlington Northern Santa Fe RR, USA.
Thanks to Sudie Wulfert-Schickedanz General American Life Ins, USA.
Change 14.054 Support for Netview FTP (File Transfer Protocol) subtype
FORMATS 51x, written when the Server Finished Request Processing
VMACFTP creates FTP25X dataset with bytes transferred, CPU time,
Mar 27, 1996 begin and end, as well as compression factor.
APAR PN82953 corrects documentation.
Thanks to Herb G. Strozinsky, Burlington Northern Santa Fe RR, USA.
Change 14.053 Variables LUNETID PCSESSID VILUNAME in NSPYLU dataset are
VMACNSPY trashed, because two new fields, LUATTCHS and LUUSRSPS
Mar 27, 1996 were not input by MXG. After the line that INPUTs
Mar 28, 1996 variable LUNRSPSS, and before the @; that ends that
INPUT statement, insert
LUATTCHS &PIB.2. /*ATTACHES*INITIATED*ONLY LU 6.2*/
LUUSRSPS &PIB.2. /*USER*RESPONSES*(BOTH6.2+NON-6.2)*/
then add the two variable names at the end of the NSPYLU
KEEP= list, just before the _KNSPYLU macro reference.
Additionally, variable NSPYNETW was trashed, as six bytes
were inserted in July 95 that were not in the March 95
documentation for Netspy 4.6. To circumvent, after the
line that INPUTs SGTRGT4, insert a line with +6 to
skip six bytes. The actual change creates new variable
NSPYDBKY, Database Key from the Netspy Header, but does
not keep the new variable (until someone tells me what
use it is in which Netspy datasets!).
Thanks to Dennis Longnecker, State of Washington OAC, USA.
Change 14.052 HSM ABARS short FSRTYPE=15 record caused INPUT STATEMENT
VMACHSM EXCEEDED RECORD error. While I am still investigating
Mar 15, 1996 what changed, to circumvent the error and skip the bad
record, insert IF LENGTH-COL+1 LT 274 THEN RETURN;
in two places, immediately preceding both occurrences of
INPUT @15+OFFSMF
WFSRJOB $EBCDIC8. /*REQUESTING*JOB*...
Thanks to Robert A. Burns, The Travelers, USA.
Change 14.051 Variable ELAPSTM was not created in dataset TYPE72GO Goal
VMAC7072 Mode, causing RMFINTRV to have missing values for all of
RMFINTRV the response (TSORESP,BATRESP) when you migrate to WLM
Mar 15, 1996 Goal Mode, because ELAPSTM is the numerator of response.
Just adding ELAPSTM to KEEP list for TYPE72GO won't work.
Thanks to Waldemar Schneider, SAS Institute Cary, USA.
Thanks to Kevin Carpenter, First of America Services, USA.
Change 14.050 INVALID DATA FOR BETASTRT and BETAEND with BETA 1.6.5 for
VMACBETA subtype=21 because MXG failed to skip over three reserved
Mar 13, 1996 bytes. Find the statement ELSE IF SUBTYPE=21 THEN DO;
Then find the statement about 21 lines later reading:
BETASTRT SMFSTAMP8. /*S20TRES1*RESERVED*/
Change the line to read
+3 BETASTRT SMFSTAMP8. /*S20TRES1*RESERVED*/
Thanks to Mr. Hasselmann, Braun AG, GERMANY.
Change 14.049 Changes to keep DATETIME in Change 14.028 should also be
BUILDPD3 made in BUILDPD3 and BUIL3005 (for JES3) to be consistent
BUIL3005 with BUILDPDB and BUILD005 (for JES2). Variable DATETIME
Mar 13, 1996 is kept and labelled in PDB.JOBS, PDB.STEPS and PDB.PRINT
and LENGTH statements were also made consistent.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.048 Variable ULOGADAE should have been INPUT as &PIB.4.3 vice
VMACCOMP &PIB.4.2.
Mar 13, 1996
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Change 14.047 DB2 Trace dataset T102S096 variable QW0096SN should have
VMAC102 been INPUT as &PIB.4. vice &PIB.2.; variables QW0096SC
Mar 13, 1996 and QW0096SK should be &PIB.2. vice $EBCDIC1.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
====Changes thru 14.046 were included in MXG 14.01 dated Mar 7, 1996===
Change 14.046 Validation of TMON for UNIX at a real site with real data
VMACTUX uncovered these corrections.
Mar 7, 1996 -Variable INTERVAL added to KEEP= for TUXCPU and TUXDISK.
-Variables UTIME, STIME, UTIMETOT, STIMETOT are divided
by 100.
-For data from AIX, memorymgmt fields swapins, swapouts,
filefault, swapfault, and faultiorate do not exist, and
system fields swapin_rate and swapout_rate do not exist,
and must be commented out in your input statement (until
I find a permanent solution!).
-Comparing the sum of utime and stime from process records
was typically 70%-80% of the usertm from cpu records for
HP G50, but with AIX, stime+utime is always greater than
the usertm, usually about 150%, and utime by itself with
AIX is 75-80% of usertm.
-Nowhere is TMON/UNIX is CPU model/speed/size or memory
size kept.
Thanks to Dan Sidorik, SmithKlein Beecham, USA.
Change 14.045 The //LKED.SYSLMOD DD statement must be moved to the end
ASMRMFV of the member for the assembly and link edit to execute
Mar 6, 1996 without error.
Thanks to Jay Beeler, Key Services, USA.
Change 14.044 A truncated DB2 3.1 type 101 SMF record caused INPUT
VMACDB2 STATEMENT EXCEEDED because MXG validation of the triplet
Mar 6, 1996 (offset, length, number) was not as robust as it is now.
Change the test now reading:
IF 0 LT OFFPROD LT LENGTH AND NRPROD GT 0 THEN DO;
to read
IF 0 LT OFFPROD LT LENGTH AND NRPROD GT 0
AND OFFPROD+LENPROD-1 LE LENGTH THEN DO;
The record may have been truncated during copying after
creation, or DB2 might have created the bad record; the
site is still investigating, and this note will be
updated when more is known. Now, MXG will detect this
class of bad records, tell you they are there while
avoiding the STOPOVER error, and keep on truckin'.
The actual change was made to all forty statements of the
preceding form, one for each record segment type.
The bad record had a product section length (in the
triplet) of 152 bytes, but there were only 114 bytes
left in the record from the start of the PROD data
section. The PROD data section contained a valid
76-byte header 1 subsection, and the beginning of a
header 2 section with expected length of 76 bytes, but
only 38 bytes exist.
Thanks to Dan Null, Caterpiller Inc, USA.
Change 14.043 DCOLLECT dataset DCOLSG (Storage Group definitions) has
VMACDCOL variable DSGGBKUF too large, because MXG was off by one
Mar 6, 1996 byte. After the IF DCOLRTYP='DC' THEN DO; statement,
insert new statement M8=-8; Then change the line that
inputs DSGGBKUP so that it reads:
+M8 DSGGBKUP $EBCDIC1. +7 /* label ... */
(DSGGBKUP is a redefinition of DSGCNFRM).
Thanks to Mike Moss, Royal Bank of Scotland, SCOTLAND.
Change 14.042 -INVALID DATA for TIGETMCT or TIFREMCT because the fields
TYPETMON are documented as XL8 and I assumed they were floating
Mar 6, 1996 point (like all the other Landmark XL8 fields) and input
them as &RB.8. Since all of my test data had zero values
I could not tell. Well, it turns out they are fixed and
not float, and their input must be changed from &RB.8. to
&PIB.8., and the two lines after the @; that multiply by
1000000 must be deleted.
-INVALID DATA FOR TIAPREQ TIAPWAT and/or TIAPEXMT result
when your CICS guy uses new TMON TCE 1.3 programs
TMONCNVT or $DBUTIL to convert old TMON TCM 8.3 records;
trashed records of the wrong length (2276) are created by
the Landmark program when you cross versions. Although I
think the Landmark program should have recognized their
inconsistency and ABEND their convert, they don't, so MXG
will now test for wrong length and warn you on the log
that bad records have been found and deleted.
Thanks to Rudra Rishy Maharaj, Stelco Inc, CANADA.
Change 14.041 -Variables CPUTYPE and CPUVERSN are now added to TYPE72GO
EXTY72GO observations. Retained from the last type 70 record, the
VMAC7072 variables were kept in TYPE72 PERFGRP data, so it makes
Mar 5, 1996 sense to keep them also in the TYPE72GO SRVCLASS data, so
Mar 27, 1996 that old reports can be used for WLM reporting.
Apr 23, 1996 -Variable R723RTYP was added to TYPE72GO KEEP= list.
-Change 13.228 was not actually implemented in MXG 13.13,
but its logic (in EXTY72GO to OUTPUT TYPE72GO only if the
service class or report class had activity during the
interval) was finally added in MXG 14.01. Subsequently,
its test for R723TYPE IN(1,2,4) was changed in MXG 14.02
to test for R723TYPE IN(1,2,4,5), because report classes
were being output with all zeroes for report classes
whose associated service classes were never initiated
(e.g., CICS report classes defined on a CICS backup).
-Because R723CRCA is frequently blank even when resources
are recorded for a Service Class, and because it is used
to set R723RTYP values 4 or 5, the logic to set the value
of R723CRCA was changed to now read:
IF R723CADF='1.......'B OR SERVICE+ACTIVETM GT 0 THEN
R723CRCA='Y';
Thanks to Brenda Rabinowitz, Prudential-Bache Securities, USA.
Change 14.040 TCP/IP release 2.2.1 prior to APAR PN40511 was a user SMF
VMACTCP record with ID greater than 128, but if you used ID=118
Mar 5, 1996 for this old release, you caused MXG to print UNEXPECTED
TCP/IP DATA message notifying you that MXG had deleted a
record. However, if the bad record happened to have "S"
in column 69, MXG failed with INPUT STATEMENT EXCEEDED.
Correcting SMF TYPE eliminates the error (and with that
APAR and later releases of TCP/IP, you no longer can set
the ID, it is fixed at 118), but I added protection to
avoid the STOPOVER condition.
Thanks to Jim Majors, Barnett Technologies, USA.
Change 14.039 Altai & CA job schedulers can't restart a multi-step SAS
MXGSAS job due to the DISP=(MOD,PASS) on the //NULLPDS DD
Mar 4, 1996 statement in the JCL procedure to execute SAS, because
you cannot restart a step that needs passed datasets.
However, if you could change PASS to DELETE, the step
would be restartable, and since NULLPDS exists only to
satisfy JCL syntax for the LOAD and SASAUTO symbolic
parameters, and since NULLPDS is never actually opened,
it would be safe to change the PASS to DELETE. However,
when PASS was changed to DELETE, now a second execution
of the PROC fails with ABEND 213-04, and the matter is
still under investigation. Stay tuned.
Thanks to Neil Ervin, Huntington Services, USA.
Change 14.038 Consistency clean-up. Datasets DCOLAI and DCOLCN did not
VMACDCOL have variable ZDATE in their KEEP= list, but now they do.
Mar 3, 1996
Change 14.037 MAINTLEV 8 of the MXG Tape Mount and Allocation Monitor.
ASMTAPES Two principal changes: Use of the CVT to load the return
ZASMTAPE address of the SRB routine, so we will no longer be
Mar 3, 1996 dependent on the SRB DSECT to properly exit the SRB, and
far more stringent use of the lockword; the SRB will now
exit immediately if it is unable to obtain the lockword,
whereas prior versions assumed we were serialized and
continued to process. MAINTLEV 7 has failed only once at
only one site (but it was in its SRB routine, while in
FRR), and it may have caused another ASID to fail! Dumps
of that failure did show the exposure in our SRB routine
that are now corrected.
Thanks to Paul Hill, Midland Bank, ENGLAND.
Change 14.036 Support for type 6 ESS segment decoding is added and is
IMAC6ESS externalized in new IMAC6ESS. By default, no fields in
Mar 3, 1996 the ESS segments will be decoded until you remove the
comment block in this member. You will also want to set
the desired LENGTH of the new variables to be kept, and
if you want the ESS variables in your PDB.PRINT, you will
also need to update _PDB_6 macro in IMACPDB.
Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS.
Change 14.035 Format MGD145S (for DB2 trace IFCIDS 124, 145, and 183)
FORMATS should map binary, not hex values, so the X's on both
Mar 3, 1996 sides of the equal sign were removed.
Thanks to Joe Faska, Depository Trust, USA.
Change 14.034 NDM subtypes 'SI' and 'ST' were not correct. In the 'SI'
VMACNDM section, insert +4 between INPUT and NDMUNODE, and
Mar 2, 1996 change $EBCDIC8. after NDMUID to $EBCDIC64. In the 'ST'
section, change $EBCDIC8. after NDMUID to $EBCDIC64.
Worse, I discovered NDMTIME and most other NDM datetime
variables were missing. Thirteen lines that now read
IF DATEYYYY GT 80000 THEN ....
must be changed to read
IF DATEYYYY GT 0 THEN ....
This error was "fixed" by Change 13.178, but that change
was not actually made in my source library until now!
Thanks to H. van den Bergh, Rabofacet, THE NETHERLANDS.
Change 14.033 CMF user SMF record subtype 27 (Cache Controller) did not
VMACCMF recognize 3990-6 control unit records. Change the test
Mar 2, 1996 IF CMF27MDL = '93' ... to IF CMF27MDL IN ('93','96') ....
Thanks to Gavin Ring, Alcatel, AUSTRALIA.
Change 14.032 Support for FACOM MSPE/EX PTF 93061 for the ID=127 SMF
VMACF127 record has been updated by this user contribution.
Mar 2, 1996
Thanks to Ian Heaney, Toyota, AUSTRALIA.
Change 14.031 Specifying %ANALDB2R(PDB=SMF); unexpectedly requires a
ANALDB2R //PDB DD UNIT=SYSDA,SPACE=(CYL,(1,1))
READDB2 because three new-in-DB2-4.1-datasets default to PDB in
Mar 1, 1996 IMACDB2, and ANALDB2R did not intercept and override that
Mar 6, 1996 default for those datasets when it called READDB2, which
was the real culprit, and which was fixed by this change.
This change eliminates the need for //PDB when PDB=SMF
is specified.
Thanks to David Klein, City of New York DOITT, USA.
Change 14.030 Support for IMS log record processing for IMS 5.1.
ASMIMSL5
IMACIMS Note: MXG Strongly recommends you use a monitor, such as
IMACIMS7 Boole & Babbage's IMF (MXG support in TYPECIMS) or Candle
TYPEIMS7 ITRF (MXG support in TYPEITRF).See "IMS Technical Notes"
TYPEIMSA in MXG Newsletter TWENTY-FIVE before proceeding.
VMACIMS
VMACIMSA This is the revised ASMIMSL5 (use it instead of ASMIMSLG
Mar 5, 1996 for IMS 5.1), VMACIMSA and TYPEIMSA for the JCLIMSLG
Feb 15, 1997 algorithms.
I have also created a new member, TYPEIMS7, which reads
IMS 5.1 and earlier releases (you must set _IMSVERS in
member IMACIMS) to process only the 07 and 08 IMS log
records into new dataset IMS0708 which may be all that
you need for IMS log analysis if you need only the counts
of transactions and resources (i.e., no response time
nor LTERM identification). Dataset IMS0708 will have one
one observation for each IMS Program Schedule, with all
all resources (CPU, DL/I calls) for that schedule, and
variable NMSGPROC in IMS0708 is the count of transactions
that were processed during by that program. TYPEIMS7
does not depend on the ASMIMSLx architecture, and thus it
will be supported for all IMS releases in the future for
IMS accounting and resource capture.
Thanks to G. Cossio, Quercia Software S.P.A., ITALY.
Thanks to Sig. Moreschini, Quercia Software S.P.A., ITALY.
Change 14.029 DFSMS/rmm type "O" INPUT STATEMENT EXCEEDED RECORD LENGTH
VMACEDGS because ther are three different kinds of "O" records:
Feb 29, 1996
MORTYPE= nulls - owner details
= ones - end of volume/owner
= VOLSER - volume/owner information
and there is now owner details in the "ones" record.
The correction in MXG is to make VMACEDGS look like this:
+7 /*RESERVED*/ original
@; inserted
IF MORTYPE NE 'FFFFFFFFFFFF'X THEN inserted
INPUT inserted
MOOWNSUR $EBCDIC20. original
........ nine other lines " original
MOOWNVOL &PIB.4. original
@; inserted
IF LENGTH-COL+1 GE 4 THEN INPUT inserted
MOVOLNO &PIB.2. original
+2 original
@; original
Thanks to Chris Taylor, VF Information Technology Services, USA.
Change 14.028 A collection of discoveries and SAS/CPE product needs:
VMACDCOL -VMACDCOL. Variables UBRECOR and UMRECOR were removed
VMACEREP from the $HEX2 format and $NOTRAN informat, as they are
SPUNJOBS printable characters; ...THEN DAGFNCPY=1; was misspelled
VMACTPM and is changed now to ...THEN DAGFNCPU=1;
Feb 29, 1996 -VMACEREP. Data sets EREPDDR and EREPIOS did not contain
variable INCDTIME in their KEEP= list; now they do. In
EREPSLH dataset, variables SLHRSMAD, SLHRSMRC, SLHERRTP,
and SLHRSMST were not in their KEEP= list, but now are.
-SPUNJOBS. The DROP DATETIME; statement was replaced with
LABEL DATETIME='DATETIME*OF SHIFT*CALCULATION'; so that
DATETIME will now exist in PDB.SPUNJOBS (as it does in
PDB.JOBS already).
-VMACTPM. Variable SYSTEM was added to the KEEP= list
for dataset TYPETPMV.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.027 New "IHDRyyyy" members are "INFILE header" exits which
IHDRDCOL are invoked after the header of a raw data record has
IHDRSMF been INPUT, so that you can filter or select which raw
Feb 29, 1996 data records are processed, or write out selected raw
Mar 13, 1996 data records to an external file, etc. The existing MXG
member IMACFILE is the "INFILE header" exit for SMF data
records, and examples in IMACFILE show how you to use an
"INFILE header" exit. The "IHDRyyyy" naming convention
created by this change has prefix "IHDR" for its purpose,
and the yyyy suffix identifies the name of the INFILE.
So IHDRDCOL is the "INFILE header" for raw records read
from the INFILE name of DCOLLECT. And so existing member
IMACFILE should have been renamed to IHDRSMF with the new
convention, but instead I have left IMACFILE as is (so no
incompatibility) and created dummy member IHDRSMF to say
that member IMACFILE should be used for SMF records.
Comments in each IHDRyyyy member document what variables
exist when the exit is invoked.
Mar 13: Discovered while IHDRDCOL exists, I had failed to
insert the %%INCLUDE SOURCLIB(IHDRDCOL) in VMACDCOL! It
goes immediately after the INCLUDE of (IMACZDAT).
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.026 New values for Channel Path Description were added to MXG
FORMATS format $MG073CD in member FORMATS:
VMAC73 '12X:OPEN SYSTEM ADAPTER CHANNEL'
Feb 27, 1996 '13X:INTEGRATED SYSTEM DEVICE'
and an undocumented '04'x value found in data is under
investigation. Comments in VMAC73 were revised but no
code changes were made.
Thanks to Sandro Aiello, National Australian Bank, AUSTRALIA.
Change 14.025 Variable DASDMPL in datasets TYPE42DS and TYPE42SR is too
VMAC42 large; the equation must be DASDMPL=RESPTIME*DASDRATE;
Feb 27, 1996 instead of DASDMPL=RESPTIME*IOCOUNT; in two separate
Apr 10, 1996 segments of code. Note the equation has to be moved into
the DO; group after DASDRATE is calculated, and an
DASDMPL=.; must be inserted in the ELSE DO; if DURATM is
zero. (Dividing the old DASDMPL by DURATM will give you
correct DASDMPL in your pre-existing TYPE42xx datasets.)
Also, SMF42SSF was added to TYPE42VL so that SMF42DB2 can
be interpreted, as per APAR OW16039, on Apr 10, 1996.
Thanks to Phil Schwartz, Pershing, USA.
Change 14.024 MXG Support for CICS Excluded Fields is enhanced so that
IMACEXCL version-dependent-exclude-lists are supported. The three
Feb 27, 1996 user macros _CICXCU2 (V2 NON-ESA), _CICXCUS (V3 ESA) and
_CICXCU4 (V4 ESA) can now be used together so if you have
a different exclude list for V2 and for V3, you would
then use this statement:
MACRO _CICXCTR _CICXCU2 _CICXCUS %
and MXG will apply the appropriate exclude logic to the
appropriate SMF record (assuming, of course, that you
have used UTILCICS output as input to tailor IMACEXCL in
both _CICXCU2 and _CICXCUS (for this example).
The actual change which makes this possible is to insert
IF 33.0 LE SMFPSRVR LE 33.3 after MACRO _CICXCUS
and to insert END; before the single percent sign that
ends the MACRO _CICXCUS definition, and to insert
IF SMFPSRVR LE 3 after MACRO _CICXCU2
and to insert END; before the single percent sign that
ends the MACRO _CICXCU2 definition, and to then find the
last END; statement in MACRO _CICXCU4 definiton and move
it to just before the single percent sign that ends the
MACRO _CICXCU4 definition.
Also, GMT conversion of STRTTIME, ENDTIME for CICS 4.1
was added to IMACEXCL using MCTMNTAD as in VMAC110.
Thanks to Peter Weaver, Canadian Tire Acceptance Corporation, CANADA.
Change 14.023 NPM SMF type 28 record VVR (VTAM Virtual Route) segment,
VMAC28 variable VVRPSWMX and the 9 following VVRxxxxx variables
Feb 26, 1996 were trashed because of wrong input lengths.
Variable Was Input as Must be Input as
VVRPWSMX &PIB.4. &PIB.2.
... ... ...
VVRWAIT &PIB.2. &PIB.4.
VVRSND &PIB.2. &PIB.4.
VVRRCV &PIB.2. &PIB.4.
Thanks to David Faught, Woolworth Corporation, USA.
Change 14.022 For DB2 report PMAUD03, but only if your PDB is on tape,
ANALDB2R syntax error on dataset T102S169 because of a misplaced
Feb 26, 1996 semi-colon. Find %MACRO PMAUD03; then find t102s145;
Move that semi-colon that follows t102s145 to instead
follow the T102s169 on the next line (i.e., the select
statement ends after T102s169, not after t102s145).
Thanks to Joe Richard, MBNA, USA.
Change 14.021 INPUT STATEMENT EXCEEDED with EREP CLASRC='40'X record
VMACEREP due to a missing @! Find the LAST occurrence of LENLEFT,
Feb 26, 1996 and change the semi-colon to an at-sign semi-colon:
INPUT SDWAVRA1 $VARYING55. LENLEFT @;
Thanks to Victor Chacon , NYNEX Mobile Communications Company, USA.
Change 14.020 SMS has caused I/O errors when it does the allocation of
JCLINSTL SAS data libraries and sets default DSORG other than
Feb 23, 1996 DSORG=PS, so I have added DSORG=PS to the DCB= parameter
in member JCLINSTL, just in case!
Thanks to Andre Micheaux, Michigan National Corporation, USA.
Change 14.019 Support for OS/390 Release 1.0 is already in MXG 13.13!
none Well, at least according to IBM's early documentation,
Feb 22, 1996 there appear to be no impacting changes on MXG Software.
The value of MVSLEVEL in TYPE70 and PDB.RMFINTRV may be
SP5.3.0 or T010101, as IBM changed CVT field values, but
that has no impact on MXG's build programs. This note
will be updated if real data records do impact!
Change 14.018 Documentation of possible INCOMPATIBILITY, if your report
TYPETMS5 programs used the archaic TMSRECS or DSNBRECS datasets.
Feb 22, 1996 These very old data set names did contain most of the
important fields, but since version 9.9 when TYPETMS5
replaced TYPETMS, the MXG dataset names for the TMS data
have been TMS.TMS and TMS.DSNBRECD. If you missed that
change, your report program still ran, because datasets
TMSREC and DSNBREC were still in the //WORK file. But
last summer, to clean up the //WORK file, I added code to
delete the TMSREC TMSRECS DSNBREC DSNBRECS and DSNBRECD
datasets, so now your old program fails because it is
still looking for these nonexistent data sets! The fix
is to use the TMS.TMS for TMSRECx and TMS.DSNBRECD for
DSNBRECx in your report programs, but I apologize for
failing to alert you to this incompatibility!
Thanks to Guy Sayers, Fleet Services Corporation, USA.
Change 14.017 VARIABLE SYSTEM IS UNINITIALIZED message with ASMIMSLG
TYPEIMSA processing member TYPEIMSA is cosmetic because the SYSTEM
Feb 21, 1996 variable only exists if specified in a SYSPARM() on the
// EXEC statement, and SYSTEM is created separately in a
later phase of TYPEIMSA, but the error was introduced by
Change 13.237 (which added IMACZDAT logic). The block in
MXG 13.13 that reads: should have been:
IF _N_=1 THEN DO; IF _N_=1 THEN DO;
ZDATE=TODAY(); SYSTEM=SYSPARM();
END; END;
Thanks to Chris Metzie, University of Wisconsin, USA.
Change 14.016 Variable CSCS should not be used, as it is decoded into
VMACACHE separate variables CSHT, CSIS, CSPA, CSDS, CSIM, CSDC.
Feb 20, 1996 The MGCACST format on CSCS is also incorrect. Because
there are two reserved bits in CSCS, it is still kept (in
case IBM uses those bits) and is now formatted HEX2.
(Between 12.12 & 13.13, the CSCS=FLOOR(CSCS/32) statement
was removed, as it too was incorrect.)
Thanks to John Larry, W. H. Smiths, ENGLAND.
Change 14.015 Hipercache records for VSAM datasets were wrong; a field
EXHIPRBU had been missed, but moreover the MXG design was wrong.
IMACHIPR Dataset VMACHIPR was redesigned to now create new dataset
VMACHIPR HIPRVSBU containing detail buffer statistics from each of
Feb 16, 1996 the buffer segments
Mar 4, 1996 HIPBFS HIPBFT HIPBUFFS HIPFFH HIPFR HIPFTH HIPHFR
Mar 15, 1996 HIPHFW HIPHSB HIPHSR HIPHSW HIPIO HIPLK HIPMFH
HIPMTH HIPWR
and the new variables are then summed across each record
and output in HIPRVSAM dataset (replacing the twelve sets
of fourteen variables named SMFnnXXX that are no longer
created). With real data records, the better design was
obvious. Common variables allow joins between the two
datasets, should the need arise, and space is saved.
Mar 15: PRIMARY or SECNDRY added to labels for variables.
Thanks to Chuck Hopf, MNBA, USA.
Change 14.014 TLMS year 2000 dates were not decoded correctly after
VMACTLMS Change 13.186. A raw date value of '0102037F'x (century
Feb 15, 1996 bit, year 2, day 37, for Feb 6, 2002) should have printed
Feb 22, 1996 as 2002037 but instead printed 104037. In correcting my
error, I also decided to make the TLMS dates to be real
SAS dates instead of numbers.
The original TLMS code used numbers and since I
thought TLMS sites would get a free conversion to TMS,
I left the old format in place, but since I have to
correct this error, it made sense to go ahead and
convert the numbers into SAS dates. However, if you
are using any of the twelve date fields in tests in
your report programs (instead of just printing them),
you will need to change your report logic. The numeric
value of 2002037 becomes the SAS date value of 15377
(days since Jan 1, 1960) when DATEJUL() is used, so
it will print as 02Feb2002 when formatted DATE9.
However, TLMS uses two special values for the raw date
field; zero if the fx. retention period has expired,
and 9999999 if the tape is registered as 'permanent'.
I chose to force the zero value to a date of '01JAN1960'd
and the 9999999 value to a date of '31DEC2099'd (similar
to the way I handled strange dates in TMS records!).
To correct the MXG error AND convert to SAS dates, each
of the twelve lines for variables BAPURCH thru BAIDATE
must be changed from one line:
var=FLOOR(var/100000)+100+var+1900;
to these six lines:
IF 0 LT var LT 9999999 THEN DO;
var=1000*(FLOOR(var/1E5)*100+1900)+MOD(var,1E5);
var=DATEJUL(var);
END;
ELSE IF var EQ 0 THEN var='01JAN1960'D;
ELSE IF var EQ 9999999 THEN var='31DEC2099';
and those twelve variables are now formatted DATE9.
Thanks to Jorge Fong, City of New York, USA.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Change 14.013 INVALID DATA FOR HH,MM,SS messages with SAMS record. The
VMACSAMS three lines inputting HH MM SS with &NUM.2 need to be
Feb 15, 1996 changed to &NUM.2. (i.e., the final period was missing).
Fortunately, only variable SAMSTIME was incorrect.
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 14.012 Example JCL for reading Landmark's The Monitor for CICS
JCLTMON shows what is needed to process TMON/CICS data daily.
Feb 14, 1996
Thanks to Charles Brown, Fruit of the Loom, USA.
Change 14.011 DB2 4.1 type 101 subtype 1 (written only if more than 10
VMACDB2 Packages are called by a Plan) INPUT STATEMENT EXCEEDED
Feb 13, 1996 because of a mis-located line of code (and no previous
May 22, 1996 test data!). Find the second occurrence of statement
SKIP=LENQPAC-240;. Move the next line (IF SKIP GT 0 THEN
INPUT +SKIP @;) down (about 30 lines) so that it
immediately precedes the statement
%%INCLUDE SOURCLIB(EXDB2ACP);
May 22: original text of this change had -140 vice -240.
Thanks to Mick Glasson, Health Insurance Commission WA, AUSTRALIA.
Change 14.010 NOTSORTED error with WEEKBLD, WEEKBLDT, or MONTHBLD. The
MONTHBLD variable USER was added by Change 13.268 to ASUMCICS, but
WEEKBLD was not added in the _BYLIST macro for the _DSET CICS.
WEEKBLDT In all three members, change the bylist to read:
Feb 12, 1996 APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME
Thanks to Scott Snyder, Card Establishment Services, USA.
Change 14.009 A truncated PSF type 6 SMF record caused INPUT STMT EXCED
VMAC6 error; the record had LN4=116 but there were only 82 byte
Feb 9, 1996 left in the physical record. While IBM is investigating,
to circumvent, change IF SMF6LN4 GT 84 THEN DO; to read
IF SMF6LN4 GT 84 AND LENGTH-COL+1 GE 32 THEN DO;
Thanks to Leonard Issacs, Motorists Mutual Insurance COmpany, USA.
Change 14.008 INVALID DATA FOR PWCOUNT in VMID=06 with PWCOUNT=0Ax. The
TYPEVM logic for decoding these invalid values in VMID=04 should
Feb 8, 1996 be copied into the VMID=06 processing to correct the bad
value for PWCOUNT (which is EBCDIC for 0-9, but then is
binary for larger values!).
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 14.007 Variable SMF73CPD has stored length of 39; the variable
VMAC73 must be added to the LENGTH statement with SMF73CPD $1
Feb 8, 1996 to correct the stored length. (SAS sets character length
from the first occurrence of the variable, and without
the LENGTH statement, SAS saw the FORMAT statement, and
set the length of the variable to the length of the
longest format value!). I know I must always add the
variable to the LENGTH statement - this one I missed!
Thanks to S. Lemaire, Comparex Information Systems, Belgium.
Change 14.006 SAS 5.18 only. Formats $MGERPDS/PHD/PMC/PRC/PSE and PSF
FORMATS were longer than 40 characters, causing errors. Formats
Feb 8, 1996 were re-worded to fit in 40 characters, to be consistent
with all formats, even though SAS version 6 has no error.
Thanks to Walter P. Kraslawsky, Library of Congress, USA.
Change 14.005 Invalid NETSPY type A record caused INPUT STATEMENT ERROR
VMACNSPY because NSPYENTL=108 in the record, but should be 340,
Feb 8, 1996 and with a minimum of 145 bytes. CA had no report of the
bad record, which only occurred sporadically. To avoid
the error until CA fixes it, in the block of code for
IF NSPYREC='A' THEN DO;
immediately before the statement
DO OFFNSPY=NSPYOFF TO ENDREC BY NSPYENTL;
insert
IF NSPYENTL GE 145 THEN
so the INPUT is only executed for valid records.
This note will be updated when more is heard from CA.
Thanks to George Janvrin, ITT Hartford, USA.
Change 14.004 INPUT STATEMENT EXCEEDED RECORD LENGTH for Type 64 if the
VMAC64 CF Cache Structure Statistics segment exists. The input
Feb 6, 1996 of three variables, SMF64BMH, SMF64CFH, and SMF64RIO must
be &PIB.4. instead of &PIB.8. in all three lines.
One sites also saw this when they brought up ESA 5.2.2.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 14.003 Change 13.331 to support four-digit UCBs in this archaic
VMXGVTOF DASD grazer were wrong, producing RC=256 error messages.
ASMVTOC (Member ZASMVTOC is the prior iteration of ASMVTOC, so
Feb 9, 1996 you could revert.) This new ASMVTOC has been tested and
Feb 26, 1996 now appears to execute correctly, and with the second
iteration on Feb 26, the program has been verified with
actual four-digit UCBs. (ASMVTOC is archaic in that the
DCOLLECT utility and TYPEDCOL are the recommended method
for grazing your DASD VTOCs and VVDSs.)
Thanks to Astrid Fridtun, Statens DataSentral a.s., NORWAY.
Change 14.002 APPARENT SYMBOLIC MXGDEBUG error occurs if CONFIG06 is
VMXGINIT used instead of CONFIG, because VMXGINI6 (pointed to by
Feb 2, 1996 the archaic CONFIG06) did not include MXGDEBUG in its
list of macro names in the %GLOBAL statement.
Thanks to Will Evans, Consolidated Freight, USA.
Change 14.001 INPUT STATEMENT EXCEEDED RECORD LENGTH for STC subtype 8
VMACSTC record; support added in October finally read a real SMF
Jan 23, 1996 record and failed, because fields were re-defined in the
Feb 22, 1996 DSECT, but I missed the redefinition. After the line
ELSE IF SUBTYPE='....1000'B THEN DO; insert
M1=-1; before the line
INPUT @21+OFFSMF
Then, on each of the five lines inputting the variables
STC08CID, STC08MAG, STC08LS2, STC08XPT and STC08SLT,
put +M1 on each line, to the left of the variable
i.e., the input for STC08CID would then look like:
+M1 STC08CID $CHAR1. /*CAP*ID*/
so these redefined variables are input from the same
byte as their predecessors.
(Feb 20 correction added STC08CID and STC08MAG).
Thanks to Mike Hildman, Target Stores, USA.
Thanks to Chuck Hopf, MBNA, USA.
LASTCHANGE: Version 14
==========MXG 13.13 dated Jan 20, 1996, thru Change 13.332============
=========================member=CHANGE13================================
/* COPYRIGHT (C) 1984-1996 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is MXG Version 13.13, dated Jan 20, 1996, thru Change 13.332.
MXG Version 13.13 is dated Jan 20, 1996, thru Change 13.332
Newsletter TWENTY-NINE, dtd Jan 20, 1995, thru Change 13.323
MXG Version 13.09 was dated Jan 10, 1996, thru Change 13.313
MXG Version 13.08 was dated Dec 15, 1995, thru Change 13.290
MXG Version 13.07 was dated Oct 30, 1995, thru Change 13.253
MXG Version 13.06 was dated Oct 10, 1995, thru Change 13.225
MXG Version 13.05 was dated Aug 21, 1995, thru Change 13.172
Early MXG Version 13.05 was dated Aug 11, 1995, thru Change 13.162
Newsletter TWENTY-EIGHT, dtd Aug 21, 1995, thru Change 13.162
MXG Version 13.04 was dated Jul 31, 1995, thru Change 13.149
MXG Version 13.03 was dated Jul 19, 1995, thru Change 13.120
MXG Version 13.02B was dated Jul 6, 1995, thru Change 13.111
MXG Version 13.02A was dated Jun 28, 1995, thru Change 13.101
Initl MXG Version 13.02 was dated Jun 19, 1995, thru Change 13.095
Real MXG Version 13.01 was dated May 3, 1995, thru Change 13.055
PreRe MXG Version 13.01 was dated Apr 26, 1995, thru Change 13.046
Early MXG Version 13.01 was dated Apr 1, 1995, thru Change 13.011
MXG Version 12.12A was 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
Contents of member CHANGES:
I. MXG Software Version Status.
II. MXG Technical Notes
III. MVS Technical Notes
IV. DB2 Technical Notes
V. IMS Technical Notes
VI. SAS Technical Notes
VII. CICS Technical Notes
VIII. Incompatibilities and Installation of MXG 13.13.
IX. Online Documentation of MXG Software.
X. Changes Log
I. MXG Software Version Status.
1. MXG Software Version 13.13, dated January 20, 1996, was shipped
with newsletter, NEWSLETTER TWENTY-NINE.
Major enhancements added in MXG 13.13 dated Jan 20, 1996:
Added after Newsletter 29 was sent to the printer:
Support for 4-digit UCBs in DCOLLECT, ASMVTOC and ASMVVDS.
Support for DOS/VSE POWER 5.2 Accounting Records
Support for MVS Catalog records (Exported with IDCAMS)
Included in Newsletter 29 list of enhancements in MXG 13.13:
Support for BETA 93 Release 1.06.50 (INCOMPATIBLE)
MXGVERSN variable added to TYPE70 and RMFINTRV.
Support for Frye Systems measurement of Netware LANS
Support for Blue Line Software 4.03 and 4.04 (INCOMPAT) and 4.10.
Sample conversion of DBaseIII files into SAS datasets.
Workaround for SAP and IBM CICS 2.1 interleaved records.
ASCII execution of BUILDPDB and PROC FORMATS now transparent.
TESTMWX for improved CPU capture in User records.
Major enhancements added in MXG 13.09 dated Jan 10, 1996:
Support for DFSMS/MVS 1.3 DCOLLECT records (compatible).
Support for DFSMS/MVS 1.3 VSAM RLS fields in type 64 (compatible).
Support for DFSMS/MVS 1.3 VSAM RLS fields in type 42 (compatible).
Support for MVS/ESA 5.2.2 Open Edition OMVS type 92 (INCOMPATIBLE).
Support for MVS/ESA 5.2.2 Open Edition OMVS type 30 (compatible).
Sample HSM reports and analysis suggestions
TYPE6 INPUT STATEMENT EXCEEDED for PSF type 6 with OW10067.
CICS/ESA 4.1 corrections (TRANTYPE, ELAPSTM, ENDTIME, IRESPTM)
CICS/ESA 3.3 UNEXPECTED STATISTICS with STILEN=0 protection.
MEASUREWARE (old HP-PCS) CPU time error in HPxxGLOB,HPxxAPPL.
Landmark TMON for UNIX enhancements, corrections and errors.
Major enhancements added in MXG 13.08 dated Dec 15, 1995:
Support for MVS Solution's MVS Thruput Manager SMF record.
Support for VM/ESA SQL/DS Remote User Accounting Record (INCOMPAT)
Support for Landmark's TMON for UNIX.
Support for TANDEM D20 and D30 and D40 releases.
Support for DB2 4.1 IFCIDs 221, 222, and 231.
Support for IDMS 12.01 (INCOMPATIBLE) was not correct until 13.08.
Support for TOPSECRET 4.4 and 5.0 (INCOMPATIBLE) added.
Support for HSM ABARS ABACKUP/ARECOVER FSR segment validated.
Support for SAP 5.0 INCOMPATIBLE changes to type 110 journal data.
MAINTLEV 7 of MXG Tape Mount and Allocation Monitor.
Replacement for CICINTRV available for testing.
"XMXGSUM" architecture now replaces VMXGSUM.
SYSNAME and SYSPLEX added to PDB.JOBS/STEPS/PRINT.
Default ASUMCICS summarization now includes USER.
JESNR may show only four digits in TYPE26; IBM lied in ESA 5.2
DEVPLX (duplex volume) address wrong, IBM worrying.
Major enhancements added in MXG 13.07 dated Oct 30, 1995:
Support for DB2 4.1.0 type 100 and 101 SMF records.
Support for STK SILO HSC VIEW Command Subtype 8 SMF record.
Support for MODEL204 Release 3.0
CICS/ESA 4.1 CICSTRAN variables STRTTIME/ENDTIME now GMT-corrected.
New IMACSPCK exit for SPIN decision override.
New IMACZDAT localizes creation of ZDATE, for ease in reruns.
Corrections for Landmark Version 2 TMDB support.
Major enhancements added in MXG 13.06 dated Oct 10, 1995:
ASMTAPES revision MAINTLEV 6 is now included, resolves errors.
TYPETMON (TMON CICS 1.3) must now use RECFM=VB instead of RECFM=U.
Support for Landmark TMON for DB2 Version 2.
Support for Tandem D20 MEASURE CPU, Disk, and Process data records.
Support for COM-PLETE Version 4.6 SMF record.
Support for ISOGON Soft Audit Version 4.1.
Support for HSM ABARS ABACKUP/ARECOVER FSR segment.
Support for APAR OW14717 and APAR OW16039 for SMF type 42.
Support for Omegamon for MVS/ESA V400 adds variables.
Support for 3590 tape drives now complete.
Support for APAR OW11142 adds new fields to TYPE64.
Support for Software Engineering of America's TRMS SMF record.
MXG 13.01-MXG 13.05, IMACJBCK caused deletion of RACF, ACF2 and DB2
observations with job name of nulls. See Change 13.183.
ANALDB2R may still get FORMAT NOT FOUND, assorted minor DB2 fixes.
Major enhancements added in MXG 13.05 dated Aug 21, 1995:
Added after Newsletter TWENTY-EIGHT was printed:
Support for MVS/ESA 5.2.2.
Support for Candle Omegamon 300 SMF record (incompatible).
Support for Landmark's TMON/MVS 1.2/1.3 additional subtypes.
Preliminary support for 3590 tape drives.
Correction for VM/ESA INVALID CONTROL RECORD error.
Announced in Newsletter TWENTY-EIGHT:
Support for the year 2000 (see MXG Technical note in NEWSLTRS, NL28)
Support for OpenMVS File System I/O type 92 SMF record.
Support for MVS/ESA 5.2 System Logger Data type 88 SMF record
Support for EREP (SYS1.LOGREC) records.
Deaccumulation of HMF records.
Final (?) Correction to ANALDB2R Statistics and Audit Reports.
If you use either the DB2 Statistics reports or DB2 Audit Reports,
you must request MXG 13.05 for the ANALDB2R corrections to errors
introduced in MXG 12.12 (Statistics) or MXG 13.01 (Audit) that were
not fixed until now (I apologize for the careless coding and lack
of validation of report output that took seven iterations to fix).
The Audit errors were actually corrected in 13.03, but Statistics
still had four values that were not corrected until MXG 13.05.
The more-commonly-used DB2 Accounting Reports had no errors.
MAINTLEV 6 of ASMTAPES was listed in Newsletter 28, but is not on
the MXG 13.05 tape; see text of Change 13.163.
Major enhancements added in MXG 13.04 dated Jul 31, 1995:
Support for NetCompress SMF records.
Support for Packet/Main SMF records.
Support for Kodak AXCIS Optical Disk SMF records.
Major enhancements added in MXG 13.03 dated Jul 19, 1995:
More fixes for DB2 Statistics Reports, a fix for DB2 Audit Reports.
TYPE116 (MQM) validation and correction.
Major enhancements added in MXG 13.02B dated Jul 6, 1995:
Correction to DB2 Statistics Summary and Audit Reports
MXG Position Paper on Support for Year2000 in member YEAR2000.
Major enhancements added in MXG 13.02A dated Jun 28, 1995:
Correction to DB2 PMSSTA01/02 Statistics Summary Reports.
Final (?) revisions to XMXGSUM.
Major enhancements added in MXG 13.02 dated Jun 19, 1995:
Support for MVS/ESA 5.2 (compatible) changes 24, 30, and 42 records.
Support for OPC Release 3.0 (INCOMPATIBLE).
Support for DFSORT Release 13.0 (INCOMPATIBLE).
Support for TMS (CA-1) Release 5.1 (compatible).
Support for Antares' HURON ObjectStar SMF record.
Support for TYPE32 APARS OW10393 (causes error) and OW12856 (none).
Support for SAP Release 5.0 CICS accounting in type 110.
Support for ACS Wylbur Accounting SMF record
Support for Sterling SAMS Storage Automation SMF record.
Support for LEGENT's AUTOMATE SMF record.
DB2 Audit SQL text corrections.
Support for APAR OW08641 for NPM Version 2.2
Major enhancements added in MXG 13.01 dated May 3, 1995:
Support for NETSPY Release 4.6 (compatible), divide by zero fixes.
Support for HP PCS current version on HPUX, AIX, and SUN unix.
Support for OS/400 Version 3.1.0 (was wrong in MXG 12.12/12.12A).
Support for TCP/IP APAR PN69321-PN69322.
Support for Sterling SOLVE NCL CPU-time accounting user SMF.
Support for HMF SMF record subtypes 4 and 5.
Support for APAR OW04653 added variables to TYPE74ST dataset.
Support for IBM's IRRDBU00 RACF Database Unload.
ASMRMFV 0C4 correction and enhancements for RMF VSAM processing.
ANALCNCR enhancements and validation.
XMXGSUM enhancements and validation.
TYPE116 (MQM) validation and correction.
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).
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 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
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. 13.09
CICS/ESA 4.2 when G.A. ??.??
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. 13.02A
DB2 4.1.0 Nov 7, 1995 13.07
DFSMS/MVS 1.1 Mar 13, 1993. 11.11
DFSMS/MVS 1.2 Jun 24, 1994. 12.02
DFSMS/MVS 1.3 Dec 29, 1995. 13.09
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 Nov 22, 1994. 12.06
Table MXG support for non-IBM products:
Availability MXG Version
Product Name Date Required
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 12.12A
The Monitor for MVS/ESA 1.3 - 12.05
Candle
Omegamon for CICS V300 User SMF 12.05
Omegamon for CICS V400 User SMF 13.06
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for MVS - last MXG change 1992 12.12
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for SMS V100/V110 12.03
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
Memorex/Telex
LMS 3.1 12.12A
II. MXG Technical Notes.
III. MVS Technical Notes after Newsletter TWENTY-NINE.
IV. DB2 Technical Notes.
V. IMS Technical Notes.
VI. SAS Technical Notes.
VII. CICS Technical Notes.
VIII. Incompatibilities and Installation of MXG 13.13.
1. Incompatibilities introduced in MXG 13.13 (since MXG 12.12):
a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
must refit your tailoring, starting with the new IMAC member):
IMACPDB (Change 13.198)
IMACJBCK (Change 13.183)
b- Other incompatibility changes:
Member FORMATS cannot be executed as-is under SAS Version 5.18,
but can be tailored if you are still running that archaic version.
See Change 13.127
User-written invocations of VMXGSUM with OUTCODE= to recalculate
the DATETIME= variable may be wrong. See Change 13.152.
c- These products were incompatibly changed by their vendor, and they
require MXG 13.xx as indicated:
Memorex/Telex LMS 3.1 (Change 12.326, MXG 12.12A)
OPC Release 3.0 (Change 13.092, MXG 13.02)
DFSORT Release 13 (Change 13.092, MXG 13.02)
Hipercache 4.1.x (Change 13.120, MXG 13.03)
BETA 93 Release 1.06.50 (Change 13.304, MXG 13.09)
OMEGAMON/MVS Version 300 (Change 13.170, MXG 13.05)
IDMS 12.01 Maint 9506 (Change 13.223, MXG 13.06)
TMON/CICS 1.3 (Change 13.204, MXG 13.06)
SAP 5.0 type 110 journal (Change 13.261, MXG 13.08)
TOPSECRET 4.4/5.0 (Change 13.254, MXG 13.08)
OPEN EDITION MVS 5.2.2 (Change 13.313, MXG 13.13)
VM/ESA SQL/DS Accounting (Change 13.xxx, MXG 13.yy)
IMS 5.1 (Change 13.265, MXG 13.xx)
Model204 Release 3.0 (Change 13.249, MXG 13.xx)
TMON/DB2 Version 2 (Change 13.224, MXG 13.xx)
TYPE42 APAR OW14717 (Change 13.217, MXG 13.xx)
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 105-cyl PDS: MXG.V1313.MXG.SOURCLIB, and use IEBUPDTE
to read the MXG tape to create the 2937+ member Source Library.
c. Allocate a 1-cyl PDS: MXG.V1313.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 V1313.USERID.SOURCLIB.
d. Allocate a 1-cyl SAS Data Library: MXG.V1313.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.V1313.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.V1313.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.V1313.USERID.SOURCLIB, then you must reinstall your site's
tailoring for that IMAC, starting with the IMAC member from the
MXG 13.13 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 13.13 in its own set of libraries. When
parallel testing is complete and are ready to implement MXG 13.13
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.V1313.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.
Since 1994, 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 than 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 12.12:
Dataset/
Member Change Description
Many 13.190 Format of UOWTIME changed to DATETIME25.6 everywhere.
Many 13.198 Support for 3590 tape drives.
ADOCFRYE 13.317 Sample conversion of DBaseIII files into SAS datasets
ANALALL 13.076 Print of All SMF records from a job was enhanced.
ANALAPAF 13.014 Semicolon missing in report program.
ANALCISH 13.046 Report enhancements for CICS Shutdown reports.
ANALCISH 13.113 CICS Shutdown may cause NOTSORTED error.
ANALCISH 13.274 Lots of page ejects corrected.
ANALCNCR 13.036 Validation closed several exposures.
ANALCNCR 13.047 ANALCNCR failed when invoked by ANALTAPE or ANALMTP.
ANALCNCR 13.280 Correction of Dataset Not Found condition.
ANALDB2C 12.318 NO MATCHING IF error because colon vice semicolon.
ANALDB2R 12.328 Syntax errors with PMACC01 or PMACC02 report.
ANALDB2R 13.042 DBID/OBID mapping enhanced to include timestamp.
ANALDB2R 13.058 BY VARIABLE STRTTIME IS NOT ON INPUT DATA error.
ANALDB2R 13.079 DB2 Statistics Summary PMSTA01, Audit report fixes.
ANALDB2R 13.106 Statistics Report correction, FORMAT NOT FOUND.
ANALDB2R 13.118 Final (?) corrections to Statistics and Audit Reports
ANALDB2R 13.159 More Statistics Report errors, but at field level.
ANALDB2R 13.191 $DB2DBID FORMAT NOT FOUND may still occur in 13.05.
ANALDB2R 13.278 Enhancements only! No errors reported!
ANALHSM 13.307 Analysis of HSM SMF record HSMFSRST data.
ANALPATH 12.325 Cross-System DASD Reports cols ran together.
ANALPATH 13.207 INVALID ARGUMENT error in report program.
ANALPGNS 13.003 Failed if you changed RMFINTRV duration in IMACRMFI.
ANALRMFR 13.134 Data/time selection crossing midnight failed.
ANALTALO 12.327 VARIABLE NOT FOUND error.
ANALTALO 13.006 Variable SYSTEM NOT FOUND in MXG 12.12A.
ANALTAPE 13.037 All-systems report was missing.
ANALTAPE 13.286 ERROR:KEYWORD PARAMETER in MXG 13.06-13.07 only.
ASMIMSLG 13.265 IMS 5.1 changes, untested.
ASMRMFV 13.027 0C4 ABEND if no enqueue table, additional records.
ASMTAPES 13.135 MAINTLEV 4 of MXG Tape Mount and Allocation Monitor
ASMTAPES 13.163 MAINTLEV 5 of MXG Tape Mount and Allocation Monitor
ASMTAPES 13.187 MAINTLEV 6 of MXG Tape Mount and Allocation Monitor
ASMTAPES 13.282 MAINTLEV 7 of MXG Tape Mount and Allocation Monitor.
ASMVTOC 13.331 Support for 4-digit UCBs.
ASMVVDS 13.330 Support for 4-digit UCBs.
ASUMCICS 13.268 Default summarization now includes USER.
BUILDPDB 13.320 CODEPASS=2 now set only for MVS execution.
CICINTRZ 13.281 Replacement for CICINTRV available for testing.
DIFFDB2 13.212 Removed DB2STAT2 from DIFFDB2 create of DB2STATS.
DIFFDB2 13.269 Variables QBSTHPL/QBSTVPL removed from DIF().
FORMATS 13.061 All MXG formats for hex values use OTHER= syntax.
FORMATS 13.127 MXG FORMATS member incompatible with SAS Version 5.
FORMATS 13.319 OTHER= syntax now works under MVS or ASCII.
GRAFLPAR 13.060 MXG 13.01 only. NAME uninitialized error.
IMACFILE 13.109 Select CICS records by APPLID/SUBTYPE example.
IMACICSA 12.324 SAP Journal data times formatted correctly.
IMACICSA 13.077 CICS SAP variable STCTIMTR may be wrong.
IMACICSA 13.199 SAP variable STICODE changed from Numeric to Char.
IMACPDB 13.271 SYSNAME and SYSPLEX added to PDB.JOBS/STEPS/PRINT.
IMACSPCK 13.241 New BUILDPDB/BUILDPD3 exit for SPIN override.
IMACZDAT 13.237 ZDATE creation now localized, for ease in reruns.
JCLDAYDS 12.316 DCOLLECT output LRECL=644 instead of LRECL=264.
JCLPDB6 13.018 Member ASUMDB2S does not exist error.
MONTHBLD 13.015 SORT error building monthly TYPE72, wrong BY list.
REXXDB2 13.284 REXX program to convert DB2 GTF records corrected.
RMFINTRV 13.213 TSOxxxxx response variables FORMAT now 7.3.
SASAFIX1 13.239 S370FRBn informat replacement .DLL for ASCII SAS.
TRNDDB2S 13.031 Variables QTPUBD and QTXAIRL incorrect spellings.
TRNDTALO 12.327 Syntax error due to missing comma.
TYPEACF2 13.112 ACF2 subtype "L" logic (ACF2JR dataset) redesigned.
TYPEACHE 13.005 CRR 1.6 with 3990-6 in Basic Move, values wrong.
TYPEAUTO 13.091 Support for LEGENT's AUTOMATE SMF record.
TYPEAUTO 13.102 Corrections to initial support for AUTOMATE.
TYPEAXC 13.149 Support for Kodak AXCIS Optical Disk SMF records.
TYPEBETA 13.322 Support for BETA 93 Release 1.06.50 INCOMPATIBLE.
TYPECACH 13.103 Support for 4-digit UCB in Cache RMF Reporter data.
TYPECACH 13.262 DEVPLX (duplex volume) address wrong, IBM worrying.
TYPECOMP 13.222 Support for COM-PLETE Version 4.6 SMF record.
TYPECTLG 13.325 Support for MVS Catalog Records exported by IDCAMS.
TYPEDB2 13.212 Dataset DB2STAT2 was incomplete.
TYPEDB2 13.244 Support for DB2 4.1.0 type 100 and 101 records.
TYPEDCOL 13.105 INPUT STATEMENT EXCEEDED with SMS 1.2 DCOLLECT.
TYPEDCOL 13.295 Support for DFSMS/MVS 1.3 DCOLLECT records (COMPAT).
TYPEDCOL 13.332 Support for 4-digit UCBs.
TYPEDOS 13.328 Support for DOS/VSE POWER 5.2 Accounting Records.
TYPEEDGS 13.124 IBM RMM SMF record INVALID DATA FOR MDUCDATE.
TYPEEPMV 13.170 Support for OMEGAMON/MVS Version 300 (INCOMPAT).
TYPEEPMV 13.201 Support for Omegamon for MVS/ESA V400 adds variables.
TYPEEREP 13.164 Support for EREP/SYS1.LOGREC records.
TYPEEREP 13.208 EREP gets INVALID DATA FOR DTL, additional support.
TYPEEREP 13.270 INPUT STATEMENT EXCEEDED error corrected.
TYPEFRYE 13.317 Support for Frye Systems LAN measures for Netware.
TYPEHIPR 13.120 Support for Boole & Babbage HiperCache V1.4.3.
TYPEHMF 13.038 Support for HMF subtypes 4 and 5.
TYPEHMF 13.165 Deaccumulation of HMF records.
TYPEHPAI 13.010 Support for HP-PCS data from AI UNIX.
TYPEHPSU 13.010 Support for HP-PCS data from SUN UNIX.
TYPEHPUX 13.010 Support for HP-PCS data from HPUX UNIX.
TYPEHSM 13.131 Corrections to HSM FSR segment in SMF record.
TYPEHSM 13.218 Support for HSM ABARS ABACKUP/ARECOVER FSR segment.
TYPEHSM 13.259 HSM ABARS record now validated.
TYPEHURN 13.085 Support for Antares' HURON ObjectStar SMF record.
TYPEHURN 13.243 Zero obs in HURN49 dataset.
TYPEICE 13.026 ICEBERG subtype 5 extents and TOIOTIME wrong.
TYPEIDMS 13.223 Support for IDMS 12.01 Maint 9506 (INCOMPATIBLE).
TYPEIDMS 13.267 Support for IDMS 12.01 INVALID DATA FOR PMHSDATE.
TYPEILKA 13.130 Internet addresses were not converted to num-point.
TYPEIMSA 13.013 IMS DEDB and MSDB counts from fastpath type 59.
TYPELMS 12.326 Support for Memorex/Telex LMS Version 3.1 (INCOMPAT).
TYPEMON8 12.315 NO MATCHING DO/SELECT error, 'TD' record support.
TYPENAF 13.094 NAFLOGOF dataset variables incorrect.
TYPENAF 13.133 Candle's Supersession Release 147 PTF QLV1372
TYPENDM 13.070 Variable NDMDSDSN (Source DSN) added to NDMCT.
TYPENDM 13.146 Connect Direct (formerly NDM) minor corrections.
TYPENSPY 13.021 NETSPY Type N subtype 06/07 support incorrect.
TYPENSPY 13.022 Support for NETSPY Release 4.6 (compatible).
TYPENSPY 13.059 INPUT STATEMENT EXCEEDED for NETSPY type X record.
TYPENTCP 13.144 Support for NetCompress SMF records.
TYPEOMCI 13.173 INPUT STATEMENT EXCEEDED RECORD Subtype 200.4.
TYPEOPC 13.092 Support for OPC Release 3.0 (INCOMPATIBLE).
TYPEPKMN 13.145 Support for Packet/Main SMF records.
TYPEQAPM 13.051 Support for OS/400 Version 3.1.0 wrong in MXG 12.12.
TYPEQAPM 13.071 OS/400 Version 3.1, DSARM/DSTYPE reversed.
TYPERACF 13.030 Support for IBM's IRRDBU00 RACF Database Unload.
TYPERMDS 13.260 INVALID ARGUMENT TO MDY in RMDS 1.4 records.
TYPESAMS 13.080 Support for Sterling SAMS Storage Automation SMF.
TYPESAVR 13.252 New fields added, ZAP required to populate.
TYPESFTA 13.219 Support for ISOGON Soft Audit Version 4.1.
TYPESOLV 13.028 Support for Sterling SOLVE NCL CPU-time accounting.
TYPETAND 13.221 Support for TANDEM D20 MEASURE CPU, DISK and PROCESS.
TYPETAND 13.283 Support for TANDEM D20 D30 and D40 releases.
TYPETCP 13.008 Support for TCP/IP APAR PN69321-PN69322.
TYPETMDB 13.223 Support for Landmark TMON for DB2 Version 2.
TYPETMNT 13.135 PROGRAM=IEFIIC records are again deleted by TYPETMNT.
TYPETMON 12.320 Landmark Version 1.3 variables were not INPUT.
TYPETMON 13.204 TYPETMON (TMON CICS 1.3) INCOMPATIBLY CHANGED BY MXG.
TYPETMS5 13.083 Support for TMS (CA-1) Release 5.1 (compatible).
TYPETMS5 13.123 New variables from 5.1 added to final datasets.
TYPETMS5 13.308 BUFNO=220 on //TMC DD reduces 15 minute run to 4!
TYPETMVS 13.170 Support for new TMON/MVS subtypes.
TYPETSOM 13.143 TSO/MON 6.1 only, TRIVTM,NTRIVTM,LONGTM too small.
TYPETUX 13.288 Support for Landmark TMON for UNIX.
TYPETUX 13.302 Corrections and Enhancements for Landmark TMON/UNIX.
TYPEVM 13.287 Support for VM/ESA SQL/DS Remote User Account Record.
TYPEVMXA 13.126 Sterling's VM/Monitor MONWRITE records cause error.
TYPEVMXA 13.137 Support for MICS VM Data Transmission Program output.
TYPEVMXA 13.168 Correction to Change 13.126, applies to IBM too.
TYPEVMXA 13.318 Alternative VXBYUSER using VXUSELOF vice VXUSEINT.
TYPEWYLA 13.075 Support for ACS Wylbur Accounting SMF record.
TYPE102 13.009 T102S145 QWn145OB values wrong.
TYPE102 13.192 IFCID 21 or 44 INVALID SECOND ARGUMENT error message.
TYPE110 12.321 CICS Statistics CICDS and CICEODRV datasets wrong.
TYPE110 13.057 CICSLSRR variables A08BKCTD/A08BKDTD incorrect.
TYPE110 13.261 Support for SAP 5.0 INCOMPATIBLE type 110 journal.
TYPE110 13.291 CICSTRAN (MXG 13.07-13.08 only) ENDTIME/ELAPSTM bad.
TYPE110 13.292 CICS/ESA 3.3 UNEXPECTED STATISTICS with STILEN=0.
TYPE110 13.296 CICS/ESA 4.1 TRANTYPE was moved by IBM, now correct.
TYPE116 13.049 Zero observations in dataset TYPE116.
TYPE1415 13.002 DSNAME='UNKNOWN...' set incorrectly for multi-vol.
TYPE1415 13.064 Multi-UCB type 1415 SMS fields wrong.
TYPE16 13.093 Support for DFSORT Release 13 (INCOMPATIBLE).
TYPE24 13.066 Fields added by MVS/ESA 5.2
TYPE26J2 13.263 JESNR may show only four digits; IBM lied in ESA 5.2
TYPE28 13.072 Support for NPM Version 2.2 APAR OW08641.
TYPE30 13.065 Negative value for EXECTM due to IBM leapseconds.
TYPE30 13.066 Fields added by MVS/ESA 5.2
TYPE30 13.073 ABEND value may be wrong in TYPE30_5.
TYPE32 13.084 Support for APARs OW10393 and OW12856.
TYPE42 13.066 Fields added by MVS/ESA 5.2
TYPE42 13.217 Support for APAR OW14717 and OW16039 SMF type 42.
TYPE42 13.311 Support for DFSMS/MVS 1.3 VSAM RLS new subtypes.
TYPE50 13.188 Variable WRBUFUSE added to dataset TYPE50.
TYPE6 13.056 4-Digit remote support incomplete.
TYPE6 13.309 INPUT STATEMENT EXCEEDED for PSF type 6 with BINS.
TYPE64 13.312 Support for DFSMS/MVS 1.3 VSAM RLS new variables.
TYPE72GO 13.236 Delay percentages calculation was incorrect.
TYPE74 13.004 MVS/ESAs 5.1 TYPE74ST dataset had duplicate/missing.
TYPE74 13.035 Support for APAR OW04653 added to TYPE74ST dataset.
TYPE80A 12.323 Invalid SUBSTR function, STOPOVER error corrected.
TYPE80A 13.254 Support for TOPSECRET 4.4/5.0 (INCOMPATIBLE) records.
TYPE91 13.189 INVALID DATA FOR AFSTTIME in SMF type 91 fixed.
TYPE92 13.155 Support for OpenMVS File System I/O SMF type 92.
TYPE92 13.313 Support for MVS/ESA 5.2.2 Open Edition INCOMPATIBLE.
VMACEXC2 13.329 Supression of excess INVALID DEVICE messages
VMAC102 13.273 Support for DB2 4.1 IFCIDs 221, 222, and 231.
VMAC110S 13.323 CICS 2.1 and SAP journal segments intermixed fix.
VMXGDUR 13.305 Rename internal variables DATE HOUR DAY DAYM etc.
VMXGHSM 13.108 Dataset DGN corrected for multiple dump copies.
VMXGINIT 13.033 New macro variable, &MXGDEBUG is now GLOBALed.
VMXGSUM 13.152 VMXGSUM incompatible for user-written invocations.
VMXGSUM 13.276 "XMXGSUM" architecture now replaces VMXGSUM.
XMXGSUM 13.097 Final validation enhancements.
YEAR2000 13.110 MXG Position Paper on support for the Year2000.
YEAR2000 13.158 Phase one support for the Year2000.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 13
==========MXG 13.13 dated Jan 20, 1996, thru Change 13.332============
Change 13.332 Support for 4-digit UCB's in DCOLLECT required only that
VMACDCOL the format for variable DCVDVNUM be changed from HEX3 to
Jan 19, 1996 HEX4.
Thanks to Astrid Fridtun, Statens datasentral, NORWAY.
Change 13.331 Although DCOLLECT should be used instead of this old MXG
ASMVTOC Assembly routine, the program has been enhanced to handle
VMXGVTOC 4-digit UCB addresses, and VMXGVTOC has been modified to
Jan 18, 1996 look for the 4-digit address at the end of the record
created by ASMVTOC.
Thanks to Astrid Fridtun, Statens datasentral, NORWAY.
Change 13.330 Although DCOLLECT should be used instead of this old MXG
ASMVVDS Assembly routine, the program has been enhanced to handle
Jan 18, 1996 4-digit UCB addresses. The TYPEVVDS program was already
written to support 4-digit addresses, so it was okay!
Thanks to Astrid Fridtun, Statens datasentral, NORWAY.
Change 13.329 ERROR VMACEXC2.2 INVALID DEVICE DATA is printed for each
VMACEXC2 DD segment with non-zero EXCPCNT that has DEVCLASS=00,
Jan 18, 1996 DEVTYPE=00, and DEVNR=00, because MXG does not know what
to do with EXCPCNT in a DD segment which has no device!
However, the message is printed for EACH DD, filling the
SAS log with these messages from an MVS 3.1.3 system. No
other site has encountered the problem, and the site is
investigating to determine what is unique there, but to
prevent filling the log, the PUT statement is now limited
to the first ten occurrences. The existing EXC2ERR1=1;
statement was changed to EXC2ERR1+1; to make it a counter
and a new line inserted between that statement and the
PUT statement reading IF EXC2ERR1 LE 10 THEN so that
the message is supressed after ten occurrences.
Thanks to Warick Smith, Sun Alliance & Royal Insurance, AUSTRALIA.
Change 13.328 Support for DOS/VSE POWER 5.2 Accounting Records. IBM
IMACDOS again changed the records INCOMPATIBLY, so you must EDIT
TYPEDOS member IMACDOS to specify OFFSET=0 and INPUT @43 RECID.
Jan 17, 1996 to process POWER 5.2 records.
-Additionally, the choice between "American" MMDDYY dates
and "European" DDMMYY dates was externalized into member
IMACDOS (previously, you had to actually change the code
in member TYPEDOS for European formats.). If you have a
member IMACDOS in your USERID.SOURCLIB, you must replace
your existing IMACDOS with IMACDOS from MXG 13.13, or
you will get a VARIABLE _MMDDYY IS UNINITIALIZED message.
Fortunately, even with that message, if your dates are in
American format, MXG 13.13 will still work correctly with
your old IMACDOS. If your dates are in European format
and you use the old IMACDOS, you will also get messages
INVALID ARGUMENT TO FUNCTION MDY and your date values
will be missing until you replace your old IMACDOS with
the IMACDOS from MXG 13.13 (and tailor it for European).
-Finally, MXG code was corrected for the Reader record and
variable FROUSRID $EBCDIC8. is now INPUT after LOCLNODE
is read in. Without this correction, an INPUT STATEMENT
EXCEEDED RECORD LENGTH error occurred if a reader record
did not contain a Network Account Number.
Thanks to ???, Alenia, ITALY.
Change 13.327 The statement %INCLUDE SOURCLIB(IMACZDAT); must be
TYPEMON8 %%INCLUDE SOURCLIB(IMACZDAT); because it is
TESTUSER inside an old-style macro definition (and TYPEMON8 was
Jan 17, 1996 inadvertently removed from TESTUSER, so I missed this!)
MXG 13.07 thru MXG 13.09 only.
Thanks to Andrew Scales, Nissan UK, ENGLAND.
Change 13.326 IDMS Severity Code, TASMSSEV no longer exists in IDMS 12,
VMACIDMS and variable TASABMSG was miscalculated. The statement
Jan 16, 1996 TASMSSEV=MOD(TASABMSG,10); was replaced with TASMSSEV=0;
and the statement TASABMSG=INT(TASABMSG/10); was deleted.
Also, variables DBKKYFMT and DBKLTYPE are now formatted
as HEX8 and DBKOWNER as $HEX2 so as to be recognized by
IDMS-literate database administrators in their tongue!
Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS.
Change 13.325 Support for Catalog Records (Exported with IDCAMS). A
EXCTLGC1 separate dataset for each of the 13 Catalog Segments is
EXCTLGC2 created for complete decoding of all possible segments
EXCTLGC3 (and variable CATRECNR can be used to collect all of the
EXCTLGC4 segments from a specific catalog record). In addition,
EXCTLGC7 two datasets are created from specific records:
EXCTLGC8 CTLGDSN - Non-VSAM Data Set record (sequence of catalog
EXCTLGC9 segments C1/01/04/04/...). The first five
EXCTLGDS VOLSERs are kept in CTLGDSN.
EXCTLGD9 CTLGVSAM - VSAM Cluster record record (sequence of
EXCTLGE3 C3/01/C4/01/04/.../C9/01/04/04...). The
EXCTLGVS first Data VOLSER and the first Index VOLSER
EXCTLG01 are kept in CTLGVSAM.
EXCTLG02 This preliminary support code detects and deletes a few
EXCTLG03 "strange" records (always at the beginning of the Export
EXCTLG04 file), printing messages on the log. After MXG 13.13 is
EXCTLG05 built and early users have played with this new support,
EXCTLG06 I intend to examine the strange records further. I also
IMACCTLG need feedback as to intended use of the catalog records
TYPECTLG to enhance contents of the record-level datasets CTLGDSN
VMACCTLG and CTLGVSAM (and may need to add a CTLGGDG dataset!).
Jan 16, 1996 See documentation in the member on usage.
Thanks to Dale Houg, Kraft Foods, USA.
=======NEWSLETTER TWENTY-NINE Printed Changes THRU Change 13.324=======
Change 13.324 If PDBOUT=WORK was specified for READDB2, the datasets
READDB2 were written to //WORK, but then inadvertently deleted!
Jan 13, 1996 Now, they will remain in the //WORK file as requested.
Change 13.323 For CICS 2.1 and SAP, SAP journal segments (which should
VMAC110S be in a subtype=0 type 110 record) are intermixed with
Jan 13, 1996 IBM performance records in records with subtype=1, and no
one at SAP AG can tell why! (See text of Change 13.261).
This problem has only been seen with CICS 2.1 (which is
already off IBM support) at one site, and they were smart
enough to create logic to deal with that aberration and
share it with me, so I have created new member VMAC110S
by adding their workaround to the MXG 13.13 VMAC110 code.
I do not have test data records but have a hex dump of an
example bad record and have validated their logic in that
manner. If you still have CICS 2.1 and have SAP writing
data to the type 110, you should test this new member
and compare the number of observations output in all of
the CICxxxxx datasets; if they are the same, you need not
use VMAC110S, but if you have the defective records, the
normal VMAC110 will throwaway records and you will have
fewer observations output (or SAS may loop!).
To use the VMAC110S member instead of the normal VMAC110,
copy member VMAC110S into your USERID.SOURCLIB library
and rename it to VMAC110.
Thanks to Paolo Carloni, Agip petroli SPA, ITALY.
Change 13.322 Hex dumps of BETA93 release 01.06.50 records have now
VMACBETA been reviewed (See Change 13.304) and they show new time
Jan 13, 1996 values are misdocumented by the vendor. Some binary are
actually HH MM SS in PK1. fields, some HHMMSS are
SMFSTAMP8, and one SMFSTAMP8. field is reversed (date
first, time 2nd!). This change should complete support
for the new release.
Change 13.321 Duplicate LABELs were removed from members ASUM70PR,
DOC ZMACTMVS, and VMAC members 110, 110M, 30, 33, 42, 60, 74,
Jan 13, 1996 80A, 84, BETA, CMF, DCOL, HPAI, HPCS, LMS, MEMO, NDM,
NSPY, RRTM, SAMS, and TPX.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.320 The SAS option CODEPASS=2 is now set only for execution
BUILDPDB under MVS, because CODEPASS is an MVS-only option, but
BUILD001 it causes an ERROR 2-12 INVALID OPTION NAME under ASCII
Jan 13, 1996 SAS. (In actuality, CODEPASS=2 is an MVS compiler option
that has no measurable effect on BUILDPDB, but if the
default CODEPASS=1 is in effect, SAS prints a note on
the log suggesting that CODEPASS=2 might reduce run time
so I specify CODEPASS=2 mostly to suppress the message,
rather than for any performance improvement.)
Change 13.319 The syntax OTHER="left bracket" $HEX2. "right bracket"
FORMATS or OTHER=("vertical bar" $HEX2. "vertical bar") cannot
Jan 12, 1996 be used on both EBCDIC and ASCII platforms. The left
and right brackets do not exist on MVS, and the vertical
bar ('4F on MVS) becomes '5D'x on ASCII, which must be
changed to '7C'x to work under ASCII. Fortunately, the
CHARCODE system option allows a pair of characters to
replace right and left brackets, so the syntax of
OTHER= ?< $HEX2. ?> can be used, as long as the
code is preceded by OPTIONS CHARCODE;, which has now
been added in the FORMATS member to allow this part of
MXG to execute transparently under either ASCII or MVS.
Thanks to Terry Poole, SAS Institute Cary, USA.
Change 13.318 Comparing the CPU times in VM/ESA MONWRITE data, PFXUTIME
VMACVMXA was significantly higher than VMDTTIME, because the data
Jan 11, 1996 for the time from end of last interval to logoff was not
captured. Initially, Ian's rework of the VXBYUSR code
was to use the USEINT data, but he is now convinced that
that data is not complete, and he has suggested to IBM to
include that CPU time (the time from logon to the first
interval) in the USELOF data. Now, however, his rework
produces more VMDTTIME from the combined USEACT & USEINT
datasets than the sum of PFXUTIME and PFXTMSYS derived
from the SYTPRP records! I have implemented Ian's design
in new macro _TESTMWX, which you can use in place of the
normal TESTMW macro, to see how the CPU times captured in
the user records (VMDTTIME) compares at your site. Please
let me know your results; this note will be updated based
on your feedback of his algorithm.
2016: No feedback was ever received, use _DBYUSR/_DELTALL
Thanks to Ian Davis, Worker's Compensation Board of Alberta, CANADA.
Change 13.317 Support for FRYE Systems LAN monitor for NETWARE.
ADOCFRYE Their monitor stores data into five DbaseIII files. This
ASUMFRYE support uses PROC DBF (a part of PROC ACCESS) to convert
GRAFFRYA DbaseIII into SAS files, and produces some very nice SAS
GRAFFRYT plots from the resultant file. This code can only be
IMACFRYE executed on a SAS ASCII platform, as the DBase files can
TRNDFRYE not be uploaded to a mainframe, and PROC DBF only exists
TYPEFRYE on ASCII systems. The member ADOCTYPE provides early
VMACFRYE documentation of the Netware data captured, and also has
Jan 11, 1996 three examples of converting DbaseIII into SAS (PROC DBF,
PROC ACCESS, and a DATA step).
Thanks to Chuck Hopf, MBNA, USA.
Change 13.316 Variables WRHITPCT, RDHITPCT, CHITPCT, CACHRATE, DASDRATE
FORMATS HITPCT and CIOPCT in datasets TYPE42SR and TYPE42DS and
VMAC42 the twelve S42AMxxx variables in TYPE42DS were not set to
Jan 11, 1996 a missing value when they could not be calculated or when
the fields did not exist, so values from a prior segment
in the same record were carried forward incorrectly. An
ELSE clause now sets these variables missing when needed.
The TYPE42DS records variable INTVCLOS indicates whether
the record is for an Interval or Close event, and I had
thought the Close record contained total counts for the
entire open; however, the Close event actually contains
only the counts between the end of the last interval and
the Close, so I have changed the INTVCLOS format values
from 0:CLOSE TO 0:FINAL INTERVAL.
Thanks to Peter Lauper, Bank of America, USA.
Change 13.315 Blue Line Software's Release 4.03 and 4.04 cause INPUT
VMAC28 STATEMENT EXCEEDED RECORD LENGTH with type 28 subtype D6x
Jan 10, 1996 D7x or D9x SMF records. Their fixes are 4030030/4030031
for 4.03 and 4040035 for 4.04. All are reported fixed in
their release 4.10, currently in beta testing. I have
added traps in MXG to recognize their short records and
prevent the ABEND.
Thanks to Kevin Batten, Roses Stores, Inc, USA.
Change 13.314 Variables MVCRTIME,MVLCTIME and MVUCTIME in EDGSVREC
VMACEDGS dataset should have been LENGTH 8 with DATETIME21.2
TYPETMS5 format, and variable DSAUTIME in dataset DSNBRECD should
Jan 10, 1996 have been LENGTH 8 with DATETIME18.; now all are!
Thanks to Freddie Arie, Lone Star Gas, TEXAS
==========MXG 13.09 dated Jan 10, 1996, thru Change 13.313============
Change 13.313 Support for MVS/ESA 5.2.2 Open Edition MVS (OMVS) adds
VMAC92 new flag variable SMF92MFG to TYPE9201 and SMF92UFG to
Jan 9, 1996 TYPE9205 to identify the mounter/unmounter of the file
system, and new subtype 6 (for File System Remount) will
now be output in TYPE9205 dataset (and variable SMF92STP
was added to identify Unmount or Remount).
Unfortunately, the new flag fields were inserted in the
subtype 1 and 5 records, incompatibly altering format.
Change 13.312 Support for DFSMS/MVS 1.3 (compatibly) added several new
VMAC64 variables for VSAM Record Level Sharing (RLS), including
Jan 9, 1996 separate counts of I/O requests satisfied from LSR, DASD,
or the CF (Coupling Facility) Cache Structure (variables
SMF64BMH,SMF64RIO, and SMF64CFH, respectively), and flag
variables to identify if RLS is in effect, if RLS is in
effect but measurement has been turned off, or if this is
an extended addressable dataset. When VSAM RLS is in use
existing Hiperbatch fields and buffer counts are zeroed,
and EXCP count variables ACCEXCPS and EXCPs count buffer
manager request rather than SSCHs.
Change 13.311 Support for DFSMS/MVS 1.3 (compatibly) added four new
EXTY42D1 subtypes for VSAM Record Level Sharing (RLS) activity,
EXTY42D2 with excellent measurement of RLS's usage of CF structure
EXTY42L1 (counts and durations and response). MXG creates eight
EXTY42L2 new datasets from these four new subtypes:
EXTY42P1 From new Subtype 15:
EXTY42P2 TYPE42S1 - Storage Class Sysplex-wide statistics
EXTY42S1 TYPE42S2 - Storage Class By-System statistics
EXTY42S2 These two datasets provide six sets of 17 variables:
IMAC42 DASD Summary (variables SMF42FCx and SMF42FIx)
VMAC42 DASD REDO (variables SMF42FDx and SMF42FJx)
Jan 9, 1996 SEQ Summary (variables SMF42FEx and SMF42FKx)
SEQ REDO (variables SMF42FFx and SMF42FLx)
SEQ READAHEAD (variables SMF42FGx and SMF42FMx)
SEQ PREFORMAT (variables SMF42FHx and SMF42FNx)
From new Subtype 16:
TYPE42D1 - Data Set Sysplex-wide statistics
TYPE42D2 - Data Set By-System statistics
These two datasets provide six sets of 17 variables:
DASD Summary (variables SMF42GCx and SMF42GIx)
DASD REDO (variables SMF42GDx and SMF42GJx)
SEQ Summary (variables SMF42GEx and SMF42GKx)
SEQ REDO (variables SMF42GFx and SMF42GLx)
SEQ READAHEAD (variables SMF42GGx and SMF42GMx)
SEQ PREFORMAT (variables SMF42GHx and SMF42GNx)
From new Subtype 17:
TYPE42L1 - Lock Structure Sysplex-wide statistics
TYPE42L2 - Lock Structure By-System statistics
These two datasets provide 9/10 variables.
From new Subtype 18:
TYPE42P1 - CF Cache Partition Sysplex-wide statistics
TYPE42P2 - CF Cache Partition By-System statistics
These two datasets provide 33/34 variables.
Change 13.310 Support for MVS/ESA 5.2.2 (compatibly) added new fields:
VMAC30 -TYPE30OM dataset has new variables SMF30OMS,SMF30OMR, and
Jan 9, 1996 SMF30OSY for message queue bytes and sync() functions for
Open Edition/MVS.
Change 13.309 INPUT STATEMENT EXCEEDED INPUT for PSF type 6 SMF record,
VMAC6 because IBM added 32 undocumented bytes to the APA
Jan 8, 1996 section. The change was made by APAR OW10067 and PTF
UW18264, but the description and location of the change
to the type 6 record was not contained in the APAR text!
(nor is the change documented in the 5.2.2 SMF manual).
Change VMAC6 to read:
SMF6PTDV $EBCDIC8. /* ... */ existing
@; existing
IF SMF6LN4 GT 84 THEN DO; insert
INPUT insert
SMF6OCNM $EBCDIC20. /*OUTPUT*COM*NAME*/ insert
+12 /*RESERVED*/ insert
@; insert
SKIP=SMFLN4-116; insert
IF SKIP GT 0 THEN INPUT +SKIP @; insert
END; insert
IF SMF6BNOF GT 0 THEN DO; existing
This error only occurs if the Multi-Bins header and
counter sections exist in the type 6 record.
Thanks to Veronique Planes, SAS Institute, FRANCE.
Change 13.308 Setting BUFNO=220 on the //TMC DD statement can make a
TYPETMS5 dramatic reduction in elapsed time. A fifteen-minute run
Jan 8, 1996 ran in under 4 minutes with increased buffers.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.307 Some very simple HSM reports and a preliminary technical
ANALHSM note on how to measure HSM, and what's important in the
ADOCHSM HSM SMF records has been added in these members.
Jan 7, 1996
Thanks to Chuck Hopf, MBNA, USA.
Change 13.306 Cosmetic changes in MXG 13.08 only. The invoked message
VMXGSUM still had "XMXGSUM" and "13.01" hardcoded, now corrected,
Jan 7, 1996 and the output dataset label was double quotes instead of
blank if no dataset label was provided in the outcode.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.305 Internal, temporary variables named DATE, HOUR, DAY, DAYM
VMXGDUR QTRHOUR HALFHOUR and MINUTE were created and dropped
Jan 7, 1996 inside VMXGDUR macro, which is called by VMXGSUM when
INTERVAL= is specified. If you wanted to keep one of
those variable names, the internal DROP statement
prevented you from doing so (and it was most definitely
not obvious why your VMXGSUM did not work!). Now, the
temporary variables names start with DUR to prevent the
inadvertent loss.
Thanks to Neil Ervin, Huntington Services Company, USA.
Change 13.304 Support for BETA93 Release 1.06.50 (INCOMPATIBLE) inserts
VMACBETA fields in existing records, and adds five new subtypes
Jan 7, 1996 which create five new datasets:
BETA20 - Browse or Print of List or Report
BETA21 - Browse Selection Action
BETA40 - Archive of a List
BETA41 - Reload of a List
BETA42 - Deletion of an Archive Generation Record
Existing variable names were based on the DSECT names,
but this caused the same entity (eg., pages or lines) to
have a different variable name in each of the existing
seven datasets; for consistency and ease in reporting I
have renamed some of these variables, knowing full well
that my changes may cause your existing reports to fail
with VARIABLE NOT FOUND errors, for which I apologize!
Labels were also made consistent and more descriptive.
The changes have been tested with prior release data,
but not yet with records from 1.06.50. See Change 13.322.
Change 13.303 New variable MXGVERSN is kept in TYPE70 and PDB.RMFINTRV
RMFINTRV datasets so you can tell which version of MXG created the
VMAC7072 dataset from SMF. I did not think it necessary to add
Jan 6, 1996 the 6-byte version name ('13.13 ') in each MXG dataset.
Should you need to create MXGVERSN in other datasets,
you can use this logic (as macro variable MXGVERS is a
Global macro, set at SAS initialization by VMXGINIT):
MXGVERSN=SYMGET('MXGVERS');
and then add MXGVERSN to the _K macro defined in the
IMACxxxx member for the product - See Change 10.175.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 13.302 Landmark's TMON for UNIX dataset TUXCPU is now created,
EXTUXCPU all datasets have now been tested with data, and formats
VMACTUX for rates and percentages are now consistent. However,
Jan 6, 1996 there are still unfixed problems that won't be fixed at
least until their ML 3.3 release:
-Datasets TUXCONEC (connections), TUXPROG (program) and
TUXPROC (process) have occasional short records (i.e, one
or more fields and their delimiters do not exist in the
data record!), causing INPUT STATEMENT EXCEEDED LENGTH
errors. Landmark Activity 49861 still open.
-Two undefined fields are in the data record that are not
in the header in TUXNFSCL (nfsclient), TUXSOCK (sockets)
and TUXUSERI (userio), causing variables WRITBLOK,
READPART, WRITPART, READFAIL, and WRITFAIL to be trashed
in those three datasets. Ref. 47164.
-Of more concern, monitor intervals are not synchronized
and timestamp values are very suspect.
I expected one minute interval data to be written each
minute, but the one set of TUXINFO (info) records had
event timestamps starting at 17 seconds after the minute,
drifting to 55 seconds after the minute in only a few
minutes: 17,15,26,28,26,26,...26,36,37,39,44,49,55
New test data for the cpu table (TUXCPU) permits better
analysis, because both EVENTIME (log_time) and the true
HRDWTIME (BOOTTIME plus UPTIME) can be compared.
Both clock shows that interval durations are not only not
synchronized but also are quite erratic, and each record
shows a different interval depending on which clock value
you examine! Comparing durations in the same record:
from hardware clock: 59,99,151,41,60,126,146,113
from log_time clock: 60,97,116,61,60,122,142,118
Comparing the hardware timestamp with the log_time in the
same record shows that the logtime sometimes is only 1-2
seconds later than the hardware timestamp (with a 5-hour
difference between GMT in hardware and EST in local), but
other intervals have a log_time several minutes later
than the hardware time, and a few records are really bad,
with the hour-part difference only two instead of five!
This is clearly a serious problem, and Landmark is now
aware of these discrepancies in their monitor. This text
will be updated when Landmark responds.
Thanks to Dan Sidorick, SmithKline Beecham, USA.
Change 13.301 Decoding DEVCLASS and DEVTYPE in VMACUCB still tested the
VMACUCB first bit of DEVNR and set DEVICE='MSS' if on, but this
Jan 5, 1996 is incorrect now, as four-digit device numbers exist, and
MSS devices do not, so that test is now disabled!
Change 13.300 New variable HIGHRBA is now created in TYPE64 with the
ANAL4GB allocated size (in bytes) of the VSAM file (using logic
VMAC64 from GC26-4574-2 to calculate CI's per track for 3380s
Jan 5, 1996 and 3390s). Member ANAL4GB then identifies those VSAM
files that are over 80% of the IBM hard limit maximum of
4GB for VSAM files, so you can forewarn their owners!
Thanks to Chuck Hopf, MBNA, USA.
Change 13.299 H-P's MEASUREWARE (formerly HP-PCS) does not record true
IMACHPAI CPU seconds in the HPxxGLOB and HPxxAPPL datasets, but
IMACHPSU instead records only the Average CPU time per CPU Engine,
IMACHPUX and then does NOT record how many Engines there are, so
VMACHPAI so you get correct total CPU time from the data records.
VMACHPSU While I regard this as an ERROR, HP considered it only an
VMACHPUX enhancement request! The NRCPUS field is in the CONFIG
Jan 6, 1996 records, but unfortunatly the HP Extract program is hard-
Jan 18, 1996 coded to put the CONFIG records at the end of its output
file. HP was persuaded to provide a workaround Script
that was to sort the Extract output and interleave the
CONFIG records to appear first (and simultaneously, that
interleave would have supported dynamic changes in the
number of engines, if "VARY CPU OFFLINE" ever becomes a
UNIX option!), so MXG logic was reordered to look for the
CONFIG records first, and retain NRCPUS into the needed
datasets. Unfortunately, the first Script did not work
as expected, so HP is back working on the problem as this
Newsletter goes to press. As an interim MXG workaround,
I have added a user-specified macro in IMACHPAI, IMACHPSU
and IMACHPUX which defaults to one CPU, but allows you to
tell MXG if you have more than one Engine. That logic
will be revised when HP provides a solution to the basic
problem, and this text will be revised to point to a
later change when there is a solution.
MEASUREWARE records are NOT supported in MXG 13.13; as I
stated in this text in Newsletter TWENTY-NINE, I had just
received test data as that newsletter went to print, and
now my fears are confirmed: HP made INCOMPATIBLE changes
between PCS records and MEASUREWARE records that will
require significant changes in MXG support. If you are
replacing HP-PCS with MEASUREWARE, please fax me for the
status of those changes (and identify the system, HP, AIX
or SUN, that you need supported, as each is different!).
Thanks to Thierry Van Moer, Procter & Gamble, BELGIUM.
Change 13.298 Format MGTANDS now decodes device type =38 (38:2GB) disk
FORMATS device, and variables LDEV and CTRL are now input as
VMACTAND $CHAR2. with a $OCTAL6. format, so device and control
Jan 4, 1996 unit are printed as TANDEM sysprogs expect.
This was my first use of the $OCTAL format, and Steve
Smith discovered what happens when I underspecified
the output width. Forgetting that a two-byte field
requires six print positions for its value in octal, I
initially assigned $OCTAL4 to a two-byte character
variable, but when a two-byte field containing '0056'o
(octal), or '002E'x (hex) was input, the value 0000
was printed, because SAS truncates character variables
on the right. Steve changed $CHAR2 to PIB2 and
$OCTAL4 to OCTAL4, and the correct value 0056 was
printed, because SAS truncates numeric variables on
the left! Of course, specifying the correct width of
$OCTAL6 or OCTAL6 prints 000056 and eliminates the
exposure to truncation differences!
Thanks to Steve Smith, BGS Systems, USA.
Change 13.297 Spelling corrections in labels, consistent comments after
EXVMxxx output statements, and removal of duplicate names in KEEP
VMACIDMS lists were made in members VMACAXC, VMACDB2, VMACDCOL,
Jan 2, 1996 VMAC28, VMACAIM7, EXDB2PAT, EXTY72GO, VMACTPM, JCLUXRE6.
VMACIDMS now includes IMACZDAT (needed only if TYPEIDMS
was executed standalone).
EXVMxxx members now have their "_LVMxxxx" macro names
instead of hard-coded dataset names for VM Accounting.
All of these changes were precipitated by Freddie's
excellent "MXG SOURCE CODE ANALYZER" program.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.296 Variable TRANTYPE in dataset CICSTRAN with CICS/ESA 4.1
FORMATS was changed by IBM. Previously IBM used the fourth byte
VMAC110 of a four-byte field; now they use the first two bytes of
Dec 29, 1995 a four-byte field, so the length of TRANTYPE is increased
to two bytes, the INPUT for 4.1 records was reordered and
the MG110TT format was changed to decode both the old
one-byte value and the new one-and-two-byte values!
Thanks to ????, Banco Santander, SPAIN.
Change 13.295 Support for DFSMS/MVS 1.3 DCOLLECT records COMPATIBLY
EXDCODAI added a number of new variables to these datasets:
EXDCODCN DCOLDSET,DCOLCLUS,DCOLMIGS,DCOLBKUP,DCOLDC,DCOLSC,DCOLBC
IMACDCOL DCOLSC,DCOLVL,DCOLAG,DCOLDR,DCOLLB
VMACDCOL and two new datasets are now created:
Dec 29, 1995 DCOLCN - Cache Names (Cache Set name and 8-SES Caches)
DCOLAI - Accounting Information (audit of definitions
of data class, management class, storage class
and storage group - who/when updated, which
dsname/member)
In addition, enhancements to the existing DCOLLECT code
for the construct datasets were made. Variables with hex
flag values are now INPUT as $CHAR instead of $EBCDIC and
are formatted HEX or $HEX, new MGDCOxx formats now decode
variables, especially in DCOLMC and DCOLSG datasets, and
new multi-valued flag variables were created and decoded.
Thanks to Mike Moos, British Rail, ENGLAND, for construct changes.
Change 13.294 Variable DEVICE in TYPE64 was truncated to two bytes, if
VMAC64 TYPE64 member was executed by itself. The statement
TRNDCICS DEVICE=' '; must be changed to DEVICE=' '; to get
Dec 28, 1995 all seven positions of DEVICE type name.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.293 Change 13.268 (adding USER to the SUMBY list for building
ASUMCICS PDB.CICS from CICSTRAN) was not applied to ASUMCICS nor
TRNDCICS to TRNDCICS, but now both members have been changed.
Dec 18, 1995
Thanks to Richard S. Ralston, Whirlpool, USA.
Change 13.292 IBM creates invalid CICS Statistics records with CICS 3.3
VMAC110 that cause UNEXPECTED STATISTICS RECORDS with STILEN=0,
Dec 18, 1995 which caused MXG to fill the //WORK file. While IBM is
trying to find their error, MXG has added logic to detect
the STILEN=0 condition and prevent the error.
To circumvent the error, in member VMAC110, find the
INPUT statement that inputs STILEN, STID, and STIVERS,
and after the @; that ends that INPUT statement, insert
IF STILEN=0 THEN DELETE;
which will cause MXG to stop processing that 110 record.
Thanks to David Callahan, Caterpiller Inc, USA.
Change 13.291 CICS/ESA 4.1 only, MXG 13.07-MXG 13.08 only. The CICSTRAN
VMAC110 variables ENDTIME, ELAPSTM and IRESPTM are wrong. Change
Dec 18, 1995 13.247 (GMT support) was incorrectly typed in VMAC110.
The two lines reading: ENDTIME =ENDTIME =MCTMNTAD;
must both be changed to: ENDTIME =ENDTIME +MCTMNTAD;
(Since ASUMCICS and TRNDCICS use STRTTIME rather than
ENDTIME to classify a transaction, the ENDTIME error is
noticed only if you look at a specific transaction, but
because IRESPTM is used for the response time buckets,
those data for your CICS/ESA 4.1 systems is wrong.)
ENDTIME is also wrong in dataset CICSEXCE.
Thanks to Neil Ervin, Huntington Service Company, USA.
==========MXG 13.08 dated Dec 15, 1995, thru Change 13.290============
Change 13.290 Cleanup of dead members and dead references; Freddie has
IMACNPM built a SAS program that reads my SAS programs to find
TYPEZRB members-not-referenced, comments-misspelled, etc. This
Dec 12, 1995 sweep removed references to VMAC43PC,VMAC47PC,VMAC48PC,
and VMAC49PC in member VMACTEST (a private test program),
and deleted members IMACNPM and VMACZRB0 (both archaic
and no longer needed nor referenced)
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.289 Support for MVS Solutions's Thruput Manager SMF record
EXTYTPMF creates two data sets from the single SMF record:
EXTYTPMV TYPETPMF - Thruput Manager Job Analysis
IMACTPM TYPETPMV - Thruput Manager Variable Fields
TYPETPM
VMACTPM
Dec 12, 1995
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 13.288 Support for Landmark's TMON for UNIX creates 34 datasets:
EXTUXBLO
EXTUXCLI MXG Data INFILE Landmark
EXTUXCON Set Name name Table name status
EXTUXCUR
EXTUXDIS TUXBLOCK TUXBLO blockdevice TESTED
EXTUXDSK TUXCLIEN TUXCLI clientdetail TESTED
EXTUXFIB TUXCONEC TUXCON connections See Note 1, below
EXTUXFIH TUXCURDI TUXCUR currentdir TESTED
EXTUXFRE TUXDISK TUXDIS disk TESTED
EXTUXINF TUXDSKPR TUXDSK diskprocess TESTED
EXTUXINT TUXFILEB TUXFIB filebalance TESTED
EXTUXLIM TUXFILEH TUXFIH filehistory TESTED
EXTUXMEM TUXFREE TUXFRE freespace TESTED
EXTUXNFS TUXINFO TUXINF info TESTED
EXTUXNFR TUXINTER TUXINT interface TESTED
EXTUXOPN TUXLIMIT TUXLIM limits TESTED
EXTUXPRD TUXMEMRY TUXMEM memorymgmt TESTED
EXTUXPRC TUXNFSCL TUXNFS nfsclient See Note 2, below
EXTUXPRO TUXNFSRV TUXNFR nfsservice TESTED
EXTUXPRF TUXOPENF TUXOPN openfiles TESTED
EXTUXPRS TUXPRODI TUXPRD processdisk TESTED
EXTUXPGM TUXPROC TUXPRC process TESTED
EXTUXPCL TUXPROCO TUXPRO processor TESTED
EXTUXQUO TUXPROFI TUXPRF processfiles TESTED
EXTUXRSP TUXPRODS TUXPRS processdisposition TESTED
EXTUXSRV TUXPROG TUXPGM program TESTED
EXTUXSOC TUXPROTO TUXPCL protocol TESTED
EXTUXSTO TUXQUOTA TUXQUO quotas no test data yet
EXTUXSYS TUXRESP TUXRSP response TESTED
EXTUXTAB TUXSOCK TUXSRV server See Note 2, below
EXTUXTRM TUXSTOR TUXSOC sockets TESTED
EXTUXUSR TUXSYSTM TUXSTO storage TESTED
EXTUXUSI TUXTABLE TUXSYS system TESTED
EXTUXWAI TUXTERM TUXTAB tables TESTED
IMACTUX TUXUSER TUXTRM terminal TESTED
TYPETUX TUXUSER TUXUSR user TESTED
VMACTUX TUXUSERI TUXUSI userio See Note 2, below
Dec 12, 1995 TUXWAITS TUXWAI waits TESTED
The Landmark EXPORT command that is used to create the
data files that are read by MXG has these known errors
December. Landmark expects to have a revised EXPORT
command module by January to correct these errors:
1) The connections table, MXG data set TUXCONEC, has some
data records with fields missing, causing an INPUT
STATEMENT EXCEEDED RECORD LENGTH error with that file.
2) The TUXNFSCL (nfsclient) TUXSOCK (server) and TUXUSERI
(userio) tables have numbers instead of names for some
fields in the header, so those data sets are not yet
completely valid until Landmark corrects their data.
Member JCLTUX gives an example of the JCL required that
will read all 34 files created by TMON for UNIX's export
command.
Change 13.287 Support for the VM/ESA SQL/DS Remote User Record in the
EXVMSQLR VM Account file. The new record INCOMPATIBLY alters the
TYPEVM VMSQLUSR record (SQLCPUTM in hundreds of hours), because
Dec 12, 1995 it the MXG logic unknowingly output the new record there!
This change recognizes the new record and outputs it into
new dataset VMSQLRMT instead.
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.286 MXG 13.06-13.07. ERROR: THE KEYWORD PARAMETER ALOC3590
ANALTAPE WAS NOT DEFINED. Two line reading ALOC3490=TAPE3490;,
Dec 12, 1995 must have the comma at the end of the line removed, and
twos line reading ALOC3490='3490 ALLOCATIONS WAITING';,
must have both the semi-colon and the comma at the end
of the line removed. Four lines needed correction.
Thanks to Jon Caldwell, U.S. Department of Veterans Affairs, USA.
Thanks to Mike Hampton, First Nationwide Bank, USA.
Change 13.285 Cosmetic documentation change. References to ANALDB2 were
ADOCDB2 changed to DIFFDB2, the "four datasets" note was changed
DIFFDB2 to "three datasets", and change 12.033 is referenced
Dec 12, 1995 instead of change 12.034.
Thanks to Nico Lenaerts, SAS BELGIUM, BELGIUM.
Change 13.284 REXX program to convert GTF trace records from DB2 into a
REXXDB2 legitimate (un-segmented) records had typographic errors.
Dec 12, 1995 -All C2K should have been C2X instead.
-The NE should have been <> instead.
-The statement I=REC must be changed to F=REC.
-The concatenation symbol '6A'x needs to be '4F'x for MVS.
That character is mis-translated between EBCDIC/ASCII by
many upload/download packages, so the actual change was
to replace F=F||G with F=(F)(G)so that the
REXX program is impervious to upload/download.
Thanks to Eric Thornton, D&B, USA.
Thanks to Chuck Hopf, MBNA, USA.
======= Attended CMG 95 Conference in Nashville, Tennessee ============
Change 13.283 Support for TANDEM D20, D30, and D40 releases is added
VMACTAND compatibly. However, I found I cannot trust the TANDEM
Dec 2, 1995 MEASURE documentation; its DLLs show changes where there
Dec 12, 1995 were none! (Fortunately, CMG came to the rescue as there
Jan 3, 1996 I met a TANDEM employee who put me in touch with the real
programmer who wrote the code!). Two variables were added
compatibly by D30 (BEGTRANS,ABRTRANS) by using reserved
space in the PROCESS record. Several measurement fields
(lock-pages-qtime/count and UCL-lock-qtime/count in the
PROCESS record, and the four pairs of START/END variables
for UDS-LOCK, SDS-LOCK,UCL- LOCK, and SCL-LOCK in the
DISC record) were made reserved fields in D40 (because
they were too expensive to capture!). The DDL for D40 are
wrong, as they show BEGTRANS/ABRTRANS in the wrong place,
and the now-reserved fields were deleted from the DDL,
but they were not deleted from the physical record.
Thanks to Joe Fleischmann, US Bancorp, USA.
Thanks to Todd Tomita, US Bancorp, USA.
Thanks to Steve Smith, BGS Systems, USA.
Change 13.282 MAINTLEV 7 of the MXG Tape Mount and Allocation Monitor
ASMTAPES corrects the JSCB access problem, the CA-11 restart case,
Nov 30, 1995 and supresses the SRB dump messages (unless we ask you to
enable DEBUGGING!). This iteration has been running in
two sites for several weeks with no failure. The previous
monitor code was copied into ZSMTAPES for backup.
Change 13.281 This replacement for member CICINTRV is temporarily put
CICINTRZ in this member for extensive testing, but it will become
Nov 30, 1995 CICINTRV in the near future. The present CICINTRV logic
is incorrect, and this new logic correctly creates the
CICS interval datasets from the statistics datasets.
This version first summarizes the individual datasets at
the lowest level, and performs deaccumulation with DIF()
function for the REQ and USS records so that all four
types of CICS stat records are correctly summarized into
the CICINTRV dataset. Note that this can be resource
intensive if you have lots of CICS activity, but you can
construct the CICS activity from these statistics records
even if you have turned off CICSTRAN creation!
Revised Jun 13, 1996: Resources are not a problem; see
resource measurements in text of Change 14.132, which
implemented these enhancements starting with MXG 14.04.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.280 Correction. If no summary dataset was created, but
ANALCNCR summary reports were requested, the summary reports were
Nov 30, 1995 not produced.
Change 13.279 New parameters SMFBEGIN and SMFEND were added to allow
READDB2 selection while the raw SMF records are read. These new
Nov 30, 1995 parameters are now used by ANALDB2R (Change 13.278).
Change 13.278 Several enhancements to DB2 reporting.
ANALDB2R -Reports can now be produced from MNTHxxxx datasets, if
Nov 30, 1995 you have used the MNTHxxxx members to trend monthly.
-When reading SMF, the BEGTIME and ENDTIME values are now
passed to READDB2 (as SMFBEGIN/SMFEND) so that selection
applies to the raw data as it is read, which will reduce
DASD space and run time, especially with big traces.
Change 13.277 This utility (used only in JCLTEST6, to select ten SMF
VMXGGETM records of each type) has new INCODE= operand added to
Nov 30, 1995 enhance selection criteria, for those of you who have
found this utility useful! You could now code
INCODE=IF (ID=30 AND 4 LE SUBTYPE LE 5) OR ID=72; ,
to select only those records and subtypes.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.276 The revised VMXGSUM logic has been moved from XMXGSUM to
VMXGSUM VMXGSUM, and member XMXGSUM has been deleted. (Just in
XMXGSUM case, the old VMXGSUM was copied into ZMXGSUM for backup,
ZMXGSUM but that member too will go away in time). The new logic
Nov 30, 1995 in VMXGSUM will significantly reduce the DASD space, CPU
time and run time, as it keeps only the variables that
are actually needed by the summarization, and (unlike the
old VMXGSUM), it does not create dummy variables in
the output dataset. It also supports variable lists with
hyphenated syntax. Many sites with large data volumes
have been using the XMXGSUM logic, so I believe it is now
safe to make the MXG default to be the new logic.
Change 13.275 New parameters INTERVAL and MYTIME are defined for report
ANALRMFR summarization, but they are only implemented in MXGCHAN
Nov 30, 1995 report at this time.
Change 13.274 CICS shutdown reports CICCONSR or CICCONMR can cause many
ANALCISH blank pages with only the heading and no content; several
Nov 30, 1995 line changes were required, too complicated to show here.
Also, END; statement was missing after IF INOBS EQ CXMC.
Thanks to Richard S. Ralston, Whirlpool. USA.
Change 13.273 Support for DB2 4.1 type 102 trace records has tested the
VMAC102 new IFCIDs 221, 222, and 231 for parallel group tracing,
Nov 30, 1995 and adds new fields in existing trace datasets for IFCIDs
8, 10, 20, 21, 22, and 28. There are still other fields
added to other IFCIDs by 4.1 that are not yet decoded by
MXG due to absence of test data records; those will be
added when user demand and test data arrive together.
Thanks to Ted Blank, IBM, USA.
Change 13.272 Corrections to several variables in HP PCS records:
VMACHPAI -VMACHPUX, comment now has HPUX as correct INFILE name.
VMACHPSU -VMACHPUX, PIN variable removed from LENGTH statement so
VMACHPUX that it will be numeric rather than character (as it was
Nov 29, 1995 in HPAI and HPSU members, like all other PINs).
-INTEREST now input as INTEREST $CHAR12. (instead of with
no INFORMAT) as the file may contain leading blanks.
First test for INTEREST that sets IMPWTHI was deleted.
Last four tests for INTEREST must test for lower case
letters c,d,m,i rather than upper case values.
Thanks to Thierry Van Moer, Procter & Gamble Europe, Belgium.
Change 13.271 Variables SYSNAME and SYSPLEX were not kept in BUILDPDB
IMACPDB datasets PDB.JOBS, PDB.STEPS, and PDB.PRINT, but they are
Nov 29, 1995 now added to _PDB30_1, _PDB30_4, and _PDB30_5 macros in
member IMACPDB so they will be kept in the PDB datasets.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
Change 13.270 IBM writes truncated EREP records, but MXG did not catch
VMACEREP the truncation, causing INPUT STATEMENT EXCEEDED RECORD
Nov 29, 1995 for a hardware detected VLF software record. Protection
was added for dataset EREPSDW. Additionally, the ERRORID
field at the end of the SDW record was not input from the
correct location, and variable CLASRC is now kept in the
EREPSDW, EREPEOD, EREPMDR, and EREPOBL datasets.
Thanks to Solomon Baker, The Prudential Service Company, USA.
Change 13.269 Variables QBSTHPL and QBSTVPL were removed from DIF()'ing
DIFFDB2 because they are not accumulated values, but rather are
Nov 28, 1995 the number of hiperspace and virtual pool buffers.
Thanks to Alan Fendler, Pershing Info Management Services, USA.
Change 13.268 Variable USER was added to the default summarization of
ASUMCICS CICSTRAN dataset into PDB.CICS, because OPERATOR is now
Nov 28, 1995 usually blank, while USER contains the wanted user-id.
Dec 18, 1995 The summarization default is now by
APPLID OPERATOR USER TERMINAL TRANSACT (for each hour).
Thanks to Clark Jennings, Reynolds Metal, USA.
Change 13.267 Another IDMS 12.01 error, INVALID DATA FOR PMHSDATE for
VMACIDMS the PMHRTYPE=6 (Journal Wait) subtype. The statement
Nov 20, 1995 SKIP=SKIP-108; that is two lines prior to the statement
%%INCLUDE SOURCLIB(EXIDMJRL); should been
SKIP=SKIP-104;. (My test data stream did not have any
journal wait data, but this was an MXG coding error.)
Thanks to Dan Gilbert, Bergen Brunswig Corporation, USA.
Change 13.266 Variable STARTIME was missing TSOMCMND if the TSO/MON
VMACTSOM SMF record was written in segments (because there were
Nov 20, 1995 more logged on users that would fit in one SMF record).
STARTIME was added by Change 13.089 for consistency, but
the pre-existing, same value variable STRTTIME was never
wrong! Immediately following STRTTIME=TSOMSTAR; insert
STARTIME=STRTTIME;
Thanks to Neil Ervin, Huntington Services Co, USA.
Change 13.265 Support for IMS 5.1 records (INCOMPATIBLE) was reported
ASMIMSLG with these changes.
VMACIMS -ASMIMSLG - Replace these three non-contiguous lines
Nov 17, 1995 TM MSGCFLG1,MSGC1RAC TM MSGCFLG1,MSG3RACF
---17 lines ----
USING MSGRACF,R4 USING MSGSEC,R4
--- 8 lines ----
MVC ORGENT(8),MSGRACGP MVC ORGENT(8),MSGSAFNM
(with this change to ASMIMSLG, it can ONLY process 5.1
records, so you will need to maintain two separate load
libraries and separate job streams).
VMACIMS
18 new 4-byte fields were inserted in the 07 log record
between MSGGCMD and PDATE.
This is a documentation only change at this time, as I am
still awaiting data and documentation so that I can
validate this report and then change the MXG coding.
Now, see Change 14.030.
Thanks to Mr. Hellmann, Sudwestdeutsch Landesbank, GERMANY.
Change 13.264 TANDEM disk type format MGTANDS values are decimal, not
VMACTAND hex, so the "X"'s were removed, and the 35:3GB value has
Nov 16, 1995 replaced the 35:MGB spelling.
Thanks to Steve Smith, BGS Systems, USA.
Change 13.263 IBM lied, and JESNR may show only four digits in TYPE26J2
VMAC26J2 dataset (and if BUILDPDB finds only a purge record for a
Nov 13, 1995 job, its PDB.JOBS observation will have JESNR=1179 where
Feb 26, 1996 it should be JESNR=11179. IBM documentation of SMF26JNM
(the old, 4-position EBCDIC JESNR) says it will be zero
if the job number is 10,000 or greater, causing MXG to
get JESNR from SMF26JID, and this was true until now, but
it appears MVS/ESA 5.2 with JES x.y are now putting the
truncated JESNR back into SMF26JNM! While I chase after
the IBM INCOMPATIBLE change to type 26 record, I can fix
the MXG logic to work no matter what IBM does. Change:
ELSE DO;
IF JESNR GT 0 THEN
INPUT @57+OFFSMF TYPETASK $EBCDIC3.
+5
@;
ELSE
INPUT @57+OFFSMF TYPETASK $EBCDIC3.
@60+OFFSMF JESNR &NUM.5.
to read:
ELSE DO;
INPUT @57+OFFSMF TYPETASK $EBCDIC3.
@60+OFFSMF JESNR &NUM.5.
Feb 26, 1996 update: IBM APAR OW18822 acknowledges the
error and should correct the non-zero value back to zero,
but the MXG correction in MXG 13.13 fixes it anyhow!
Thanks to Tim Terbieten, Newell Company, USA.
Change 13.262 Variable DEVPLX, the device address of the duplex volume,
VMACACHE is an offset from the first device instead of the real
Nov 8, 1995 device number; now, DEVPLX will contain the true device
Dec 2, 1995 number by inserting these lines:
IF NDVCNT=1 THEN BASDEVN=DEVN;
IF DEVS1='....1...'B THEN DEVPLX=BASDEVN+MOD(DEVS2,64);
before the %%INCLUDE SOURCLIB(EXCAC90); statement.
I note that the Cache record does not contain a segment
for the duplex device; DEVPLX=05x, BASDEVN=2C0x, so the
duplex device address is now DEVPLX=2C5x, but there will
be no observation in CACHE90 with DEVN=2C5x.
The above correction worked until MVS/ESA 5.2, which has
caused an unexpected (at least by the CRR-folks) change
in the CRR record. The BASE device number used to be the
first device segment returned by the 3990 controller, and
that address is copied into the statistics segment. But
in 5.2, the order in which devices are varied online at
IPL is different, and the 3990 returns devices in order
they came online, so the base device is no longer going
to be in the first segment. IBM CRR Level II has this;
when they decide what they are going to do, so will I!
Thanks to Kurt Koch, West Publishing Corporation, USA.
Change 13.261 SAP Journal segments in type 110 records caused error
VMAC110 INPUT STATEMENT EXCEEDED, or INVALID DATA FOR HH, or did
Nov 8, 1995 not read in all segments in the SMF record, because MXG
Jan 13, 1996 did not anticipate that SAP would create journal segments
with only a header,
(found for the YISA APPC host-to-host connection
application, with JCSPTRAN='YISA', JCRLL=30, so there
is no data - these segments may be output into a new
dataset if there is usefulness, and this fix still
leaves them available in the EXCICJRN exit),
or with JCRUTRID not containing 'SA',
(found for a most strange segment between other 'SA's,
containing a Global Performance Interval segment with
MCTSSDID=2 which belongs in a subtype =1 record and
is normally output into CICSYSTM from that subtype!;
UPDATED Jan 13. SAP Technical Support has not responded,
but the second problem is circumvented in Change 13.323.
Header only segments are skipped over with these changes:
-Delete the line ... INPUT +6 SAPTEST $EBCDIC2 @LOC @;
-Change IF SUBTYPE=0 OR SAPTEST='SA' THEN DO UNTIL ...
to IF SUBTYPE=0 THEN DO UNTIL ...
-Change IF JCRUTRID='SA' THEN DO;
to IF JCRUTRID='SA' AND JCRLL GE 250 THEN DO;
Unrelated to the above errors, variable APPLID was added
to the KEEP= list for the CICSSAP dataset so CICSSAP can
be analyzed for each CICS region.
Thanks to Jens Schlatter, EDP Consulting Schlatter, GERMANY.
Thanks to Norbert Korsche, OMV, AUSTRIA.
Thanks to Paolo Carloni, Agip petroli SPA, ITALY.
Thanks to ????, Deutsche Post AG, GERMANY.
Change 13.260 RMDS 1.4 records may cause INVALID ARGUMENT TO MDY AT ...
VMACRMDS because only some MDY() functions were protected for the
Nov 8, 1995 'strange' values MO=99 and DD=99.
Feb 26, 1996 -Now, all uses of MDY() are protected with logic of the
form:
IF YY GT 0 AND (YY NE 99 AND MO NE 99 AND DD NE 99)
THEN xxxxDATE=MDY(MO,DD,YY);
-In addition, INVALID DATA FOR MM can occur, because only
some INPUTs of HH MM and SS were protected with the ??
modifier. Now, all fields input with &NUM are preceded
by the double-question-mark modifier.
-Finally, all HMS() functions are now protected with
IF 0 LE HH LE 24 and 0 LE MM LE 60 and 0 LE SS LE 60
logic to prevent invalid arguments to HMS() function.
-The error does not occur with current RMDS 2.1 or later.
Note added Feb 26, 1996: The support for RMDS 1.3/1.4
also deleted the two tests:
IF RMDSACT='D' and RMDSORG NE 'A' THEN RMDSACT='T';
IF RMDSACT='U' AND RMDSORG EQ 'V' THEN RMDSACT='S';
because the activity codes of 'T' and 'S' do not exist
in RMDS version 2.1.
Thanks to Ambat Ravi Nair, Trident Infotech Pte Ltd, SINGAPORE.
Change 13.259 MXG 13.06-13.07 only. ABARS enhancement validation:
EXHSMWWV -UNEXPECTED IDHMSMDS RECORD FOUND because the line now
IMACHSM reading ELSE IF DSRVSR='VRS' THEN ... should have been
VMACHSM ELSE IF DSRVSR='VSR' THEN ....
Nov 8, 1995 -INPUT STATEMENT EXCEEDED RECORD LENGTH on ABARS subtype
Nov 15, 1995 because the four fields WFSRML0U,WFSRML1U,WFSRML2U, and
WFSRTOTU at the end of both ABARS segments are now INPUT
as $EBCDIC1. instead of &PIB.4. MXG now decodes the unit
of space value (blank, K, M, etc.) and converts the space
used during ABACKUP variables WFSRML0S,L1S,L2S,TOTS into
bytes, and are formatted with MGBYTES to print pretty.
-Variable WFSRABCC is now input as $EBCDIC4. vice &PIB.4.
-IBM clarified several issues. Space units of K,M,G,T are
1024 (as expected, but since IBM used 1000 for hardware
"K", and since the ABARs documentation did not say, we
had to ask!). Also, ABACKUP VERIFY does cut a shorter
record that does not contain the space information fields
while ARECOVER creates a longer record, but zeroes out
the space information fields.
-New HSM dataset HSMWWVOL is created, but with zero obs
until you remove the comment block in member EXHSMWWV.
(This dataset will contain one obs for each volser that
was used by ABARS for backup, and I perceive little need
for that information; the useful ABARS information is in
the HSMWWFSR dataset, one obs per ABARS event.)
Thanks to Michael E. Friske, Fidelity Savings, USA.
Change 13.258 Very obscure, and only for the early users of XMXGSUM.
XMXGSUM Change the second occurrence of NUMPOS= from &HYPHEN1 to
Nov 6, 1995 &HYPHEN2. Would have caused an OUT OF MEMORY error.
Change 13.257 Variable AVGQUETM should not have been in the keep list
VMAC7072 for dataset TYPE72GO, as that field is from the subtype 2
Nov 6, 1995 (RMF Monitor III) record, and is output only in TYPE72MN.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 13.256 Variable QBGAGN should be kept only in DB2ACCTG, and not
VMACDB2 in DB2ACCT, and it should not have been summed during the
Nov 6, 1995 creation of DB2ACCTG. It is the pool ID, not a counter!
Thanks to Chuck Hopf, MBNA, USA.
Change 13.255 Tandem variables CnMISSES was repeated in INPUT; the two
FORMATS instances are now named CnRMISS and CnWMISS for Read or
VMACTAND Write misses. C1BLKS is no longer divided by DURATM, as
Nov 6, 1995 it is blocks allocated, not blocks moved in interval.
Format MGTANDS was updated with device 1Fx and will now
print un-coded values in hex rather than decimal.
Thanks to Steve Smith, BGS Systems, USA.
Change 13.254 Support for TOPSECRET Release 4.4 and 5.0, INCOMPATIBLE,
VMAC80 CAUSES INPUT STATEMENT EXCEEDED RECORD error, because the
VMAC80A new release sets a value of 44X or 50X for RACFVRSN, but
Oct 31, 1995 MXG does not know in advance what value TOPSECRET will
use! Add OR RACFVRSN=44X OR RACFVRSN=50X to the test
for TOPSECRET in both members. (44X exists in 4.4 data;
5.0 is not out yet, so I am gambling in advance that they
will use 50X for that version when it's released!).
Thanks to Mark Paulson, Maurices Incorporated, USA.
Thanks to Sarah Gartner, Hudson's Bay Company, CANADA.
==========MXG Version 13.07, dated Oct 30, 1995, thru 13.253==========
Change 13.253 SAP 5.0.E creates invalid journal segments, which caused
VMAC110 INVALID DATA FOR HH and a hex dump of the record, but MXG
Oct 27, 1995 successfully skipped over the invalid segments and output
the valid ones. SAP had no one in tech support on Friday
to discuss their error before MXG 13.07 was built, but I
will pursue this with them later and update this note.
To eliminate the hex dump and message, insert ?? after
HH and MM following the INPUT of JCSPTASK.
Update: See Change 13.323.
Thanks to Paolo Carloni, Agip petroli SPA, ITALY.
Change 13.252 $AVERS SMF record variables SAVPAGES,SAVBLKS,SAVTBLKS are
VMACSAVR now created; these fields existed at the end of the SMF
Oct 27, 1995 record, but were not populated until this user went to
use them! The vendor, Software Engineering of America,
will fix the error in SAVRS V4.0A.33, and interim fix
number S40AF166 (a ZAP) is available from them now that
will populate these fields.
Thanks to Bill Hamilton, Scottish Widows, SCOTLAND.
Change 13.251 Support for STK's SILO SMF HSC View Subtype 8 record now
EXSTCHSV creates dataset STCHSV for every successful VIEW command
IMACSTC initiated by HSC.
VMACSTC
Oct 26, 1995
Thanks to Cheryl Howard, Wachovia Corporation, USA.
Thanks to Rodney L. Reisch, Wachovia Corporation, USA.
Change 13.250 DURATM was added to TSO/MON datasets by Change 13.089,
VMACTSOM but it was often missing! After the second statement
Oct 26, 1995 INTRVTM=TSOMDUR; insert DURATM=INTRVTM;
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 13.249 Support for MODEL204 Release 3.0 INCOMPATIBLY added five
IMACM204 fields to the SINCE record. Since there is no release
VMACM204 number in their record, you MUST update member IMACM204
Oct 25, 1995 in your USERID.SOURCLIB to use this new IMACM204, as it
now also defines macro _M204VER which tells MXG to read
Release 2 or Release 3 records (default is for Rel 3).
Thanks to Mark Wessel, Population Census & Surveys Office, ENGLAND.
Change 13.248 Summarization of IDMSTAS dataset from IDMS Perfmon into
ASUMIDMS PDB.ASUMIDS is provided by this user contribution, which
Oct 25, 1995 mimic's ASUMCICS algorithms to create response time and
resources by CV_NUM DC_USER DC_LTERM TASKCODE ADSODLGN.
Thanks to Richard S. Ralston, Whirlpool, USA.
Change 13.247 CICS/ESA 4.1 or later now contains the GMT offset, so MXG
VMAC110 can finally convert the STRTTIME/ENDTIME in CICSTRAN to
Oct 25, 1995 your local time of day. The INPUT of MCTMNTAD is changed
from &PIB.4. to &IB.4., and this line inserted:
MCTMNTAD=1.0485582324*MCTMNTAD;
to convert from CICS timer units to seconds. Then, in
the CICS/ESA 4.1 section for CICSTRAN and CICSEXCE, the
logic IF MCTMNTAD GT . THEN DO;
STRTTIME=STRTTIME+MCTMNTAD;
ENDTIME =ENDTIME +MCTMNTAD; END;
was inserted to add the (negative in USA) GMT offset.
NOTE: IF YOU HAVE TAILORED member EXCICTRN to convert the
CICSTRAN timestamps (as was described in Newsletter 27),
YOU MUST REMOVE OR REVISE YOUR conversion logic so that
it only converts non-4.1 records. For example, you could
use this logic for USA East Cost time zone in EXCICTRN:
IF MCTMNTAD=. THEN MCTMNTAD=.;
IF MCTMNTAD=. THEN DO;
STRTTIME=STRTTIME-HMS(5,0,0);
ENDTIME =ENDTIME -HMS(5,0,0);
END;
to force the 5-hour conversion for non-4.1 regions. The
first statement setting MCTMNTAD missing if it is missing
if the "compiler faker" statement which eliminates the
"uninitialized variable" message, so you could install
this logic in EXCICTRN even before you install MXG 13.07!
Variable MCTMNTAD was added to CICSTRAN by this change.
Thanks to Glenn Yee, Health & Welfare State of California, USA.
Change 13.246 Variable SETUP was added to _PDB26J2 macro so that that
IMACPDB variable will be kept in the PDB.JOBS dataset. It turns
Oct 25, 1995 out that the existence of a /*SETUP card causes JES2 to
put the job in logical hold until the operator releases
the job, but TYPRUN=HOLD is not set for these jobs. Now,
for observations with SETUP='Y' in PDB.JOBS, you can
identify these jobs that are delayed due to /*SETUP card.
Thanks to Andy Vick, Allied Dunbar Assurance, ENGLAND.
Change 13.245 In revision 4 of the type 6 SMF record, IBM truncated two
VMAC6 bytes of SMF6TU field, but in revision 5 data, the value
Oct 25, 1995 in SMF6TUL matches the length of SMF6TU, so the line that
was added by Change 13.162 is now changed to read:
IF REVISION EQ 04X THEN SMF6TUL=SMF6TUL-2;
I have not found IBM documentation of their change yet!
Thanks to Michael Moyer, Wyeth-Ayerst Labs, USA.
Change 13.244 Support for DB2 4.1.0 (COMPATIBLE) adds new fields to the
ANALDB2P statistics and accounting records, new subtypes and new
EXDB2ACG segments create three new datasets:
EXDB2PAT
EXDB2PST DB2ACCTG - Accounting - Group Buffer Pool usage
VMACDB2 DB2GBPAT - Global Buffer Pool Attributes
VMACDB2H DB2GBPST - Global Buffer Pool Interval Statistics
Oct 22, 1995
The major change is the support for DB2 Parallelism, with
multiple observations now created in DB2ACCT whenever
DB2 event (like a QUERY) is actually parallelized. The
degree of parallelism for a CPU bound task is constrained
by the number of CPU engines, while it is the structure
of your DB2 data (number of partitions, etc.) which
limits the degree of parallelism for an I/O bound task.
New member ASUMDB2P can be used to summarize these child
and parent pairs (and the sequential, or non-parallelized
DB2 events) so that there is only one observation for
each event, with variables PAIRNR (a created sequence
number token that was used to create ASUMDB2P from
DB2PARTY), NRCHILD (number of children records for this
event), and TOTELAPS (sum of elapsed time of all records
for this event, because ELAPSTM is the true elapsed wall
time of the parallel execution). Beware, sorting DB2ACCT
is required to create both the DB2PARTY detail dataset
and the output ASUMDB2P dataset, and DB2ACCT can be big!
The parent record has a non-zero QXMAXDEG, the maximum
number of parallel tasks, but there can be many more than
QXMAXDEG children records written, because tasks can be
parallelized in groups of different degrees. MXG creates
formatted variable DB2TSKTY to describe each observation
in DB2ACCT:
DB2TSKTY Description
C Child
P Parent
S Sequential (i.e., non-parallelized)
Complex queries in test data shows an event of three
groups, with 9, 10, and 8 children respectively, so 28
observations in DB2ACCT were created for that
parallelized query event. Almost all of the resources
(CPU, I/O) are recorded in the child record, but the
parent record contains important counts as well.
Extensive testing of DB2ACCT data was done in creation of
member ANALDB2P for parallel analysis, but the test data
thus far has not used Global Buffer Pools, so those new
datasets have not been data-tested. I have only casually
validated the DB2STATS with 4.1 data for reasonableness,
and VMAC102 has not yet been enhanced (I still await 4.1
trace test data). This note will be revised as testing
proceeds.
Change 13.243 MXG did not output observations to HURN49 if HU49XSNO is
VMACHURN zero (user logs on to Huron server, but did not access
Oct 20, 1995 another database before logging out). After the END;
after the DO I=1 TO HU49XSNO; insert:
IF HU49XSNO=0 THEN DO; %%INCLUDE SOURCLIB(EXHRN49); END;
Thanks to Colin Bowen, Old Mutual, SOUTH AFRICA.
Change 13.242 Correcting TYPE42DS STARTIME/ENDTIME from GMT to local in
VMAC42DS exit EXTY42DS using STARTIME=STARTIME-HMS(5,0,0) (to
EXTY42DS subtract 5 hours, for EST or CDT time zone) will not work
Oct 19, 1995 because the EXTY42DS member will be invoked once for each
dataset in a concatenation, causing STARTIME to be fine
in the 1st dataset, but then off by 5 hours in the 2nd,
off by 10 hours in the 3rd, etc. Instead, you must use
STARTIME=SMF42PTS-HMS(5,0,0); and
ENDTIME= SMF42PTE-HMS(5,0,0);
to force the correct GMT value. When you have installed
MXG 13.07 or later, you can revise your exit logic to use
IF S42JDGMO=. THEN DO;
STARTIME=SMF42PTS-HMS(5,0,0);
ENDTIME= SMF42PTE-HMS(5,0,0);
END:
because MXG 13.07 adds support for APAR OW16125 that adds
the actual GMT offset in S42JDGMO; with this revised code
your forcing code will only be executed prior to install
of that APAR. This is a documentation-only change; no
MXG code was actually changed.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.241 New BUILDPDB exit IMACSPCK allows you to override the MXG
IMACSPCK decision "TO SPIN OR NOT TO SPIN" for specific cases.
BUILDPDB For example, VM Print Jobs, run on MVS, will create only
BUILDPD3 a type 6 print record. If you have tailored IMACSPIN so
BUILD005 that SPINCNT is greater than zero (as recommended), those
Oct 19, 1995 VM jobs will spin for SPINCNT days before finally being
output into the PDB. If you know that all VM Print jobs
have job names starting with RSCS, you can use this new
IMACSPCK member, by coding therein:
IF JOB=:'RSCS' THEN OKFLAG=1;
which will sent all RSCS jobs directly to the PDB instead
of waiting around in the SPIN library for SPINCNT days!
The default exit contains only comments.
Thanks to Norbert Korsche, OMV, AUSTRIA.
Change 13.240 Dataset ASUMDB2B was not created in the weekly PDB from
WEEKBLD the daily PDB's, but now it is.
WEEKBLDT
Oct 17, 1995
Thanks to Merlin Beeching, Generale de Banque SA, BELGIUM.
Change 13.239 S370FRBn informat fails under ASCII SAS if the floating
SASAFIX1 point value is unnormalized. See MXG Technical Note in
Oct 15, 1995 Newsletter TWENTY-NINE for discussion. This member is an
Nov 8, 1995 interim fix for MXG users executing under ASCII platforms
and currently contains two SAS programs that will create
the UWIS370F.DLL file for OS/2 SAS 6.10 or 6.11.
-Nov 8. The OCT 15 fix returned a large negative value if
the field was all hex zero, but that is now corrected,
and SASAFIX1 now provides fixes for SAS for OS/2 for both
6.10 and 6.11 and for SAS for Windows for 6.10.
Thanks to Ian Gibson, Queensland Transport, AUSTRALIA.
Change 13.238 MXG 13.06 only. Variable DELTATM is always missing. The
DIFFHMF semicolon is missing from each of the 6 LABEL statements,
Oct 14, 1995 also causing UNINITIALIZED warning message.
Change 13.237 Variable ZDATE is now created in one place, IMACZDAT, so
IMACZDAT that you can easily force ZDATE to a specific date for a
DOC rerun of a build job. Previously, you had to change the
Oct 14, 1995 value of ZDATE in a separate place for each infile that
you had to rerun. All of the associated statements to
describe ZDATE (LENGTH, LABEL, FORMAT) were moved into
the IMACZDAT member, and each statement ZDATE=TODAY();
or IF ZDATE=. THEN DO; do group were replaced with the
%INCLUDE or %%INCLUDE syntax for member IMACZDAT. There
were 113 members changed in response to this suggestion,
which will surly make someone very happy some day!
Thanks to Bruce Hewson, Alcoa, AUSTRALIA.
Change 13.236 The execution delay percentage variables in TYPE72GO used
VMAC7072 the workload manager sample count (VALDSAMP=R723MTVN;) as
Oct 14, 1995 denominator, but that statement is now replaced with:
VALDSAMP=PCTUSCUS+PCTDLTOT+PCTDLUNK;
because the workload manager counts both address spaces
and dispatchable units in the numerator (eg., an ASID may
have an SRB executing and a TCB waiting). This discovery
by Don was non-trivial and has been IBM-confirmed!
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 13.235 Utility UDOCHECK (rarely needed, used to scan SAS source
UDOCHECK statements to locate DO ... END pairs when you have one
Oct 13, 1995 of those painful "MISSING END STATEMENT" syntax errors,
often caused in my experience because a comment swallowed
the END; statement) did not support DO WHILE / DO UNTILs.
Thanks to Wayne Bell, National General Insurance Company, USA.
Change 13.234 Variable NLDMSUBT should have been added to TYPE39_8 but
VMAC39 it wasn't until now.
Oct 13, 1995
Thanks to Wayne Bell, National General Insurance Company, USA.
Change 13.233 MXG 13.06. Support for Landmark for DB2 V 2 has now been
VMACTMDB tested with data which found undocumented alignment bytes
Oct 27, 1995 and changed header, causing STOPOVER. In addition, many
variables were not formatted that are now.
Thanks to Ken Updegraff, Hershey Chocolate, USA.
Change 13.232 The values of LPMINCnn, LPTARCnn, and LPMAXCnn variables
VMACAPAF are 10000 times too small. Change their informat from
Oct 17, 1995 &PIB.4.6 to &PIB.4.2 to correct. Additionally, variables
LPMINPnn, LPTARPnn, and LPMAXPnn are now created with the
Percentage allocation for each logical processor.
Thanks to John Suters, Telecom Australia, AUSTRALIA.
Change 13.231 The calculation of ARSPNET was sometimes incorrect. The
VMACNSPY statement IF NETRSPNO GE .5*TRANSNO AND TRANSNO GT 0
Oct 12, 1995 THEN ARSPNET=CRSPNET/TRANSNO;
should be ... THEN ARSPNET=CRSPNET/NETRSPNO;
Thanks to Alan Keebel, British Steel, ENGLAND.
Change 13.230 MXG 13.06 only. Change 13.181 caused INPUT STATEMENT
VMAC64 EXCEEDED RECORD error. The five lines at the end:
Oct 11, 1995 INPUT BEGCCHHX PIB4.
ENDCCHHX PIB4.
+18
@;
ALLOCCYL=ALOCCYL+ENDCCHHX-BEGCCHHX+65536;
must be replaced by this single corrected line:
ALLOCCYL=ALOCCYL+ENDCCHH-BEGCCHH+65536;
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.229 Change 12.195 was never made to WEEKBLDT, causing SORT
WEEKBLDT ORDER error. The correct _BYLIST for TAPEMNTS is:
Oct 11, 1995 MACRO _BYLIST SYSTEM SHIFT DEVICE TMNTTYPE TMNTTIME % .
Thanks to Neil Ervin, Huntington Services Company, USA.
Change 13.228 MVS/ESA V5 in Goal Mode only. Pre-Goal Mode, MXG only
EXTY72GO output TYPE72 when the PERFGRP had activity (to save DASD
FORMATS space, because IBM created segments for idle perfgroups),
VMAC7072 and so in Goal Mode, MXG only output TYPE72GO when the
Oct 10, 1995 SRVCLASS consumed resources (by testing, in EXTY72GO, for
non-zero CPUUNIT,SRBUNIT,IOUNIT,MSOUNIT or TRANS).
However, that test should only have been applied against
service classes for address spaces (as only ASIDs contain
resources). The result was that observations for trans
service classes that had no completions during the
interval were not output.
The test should have been qualified by R723TYPE, as it
describes which type of record we have. However, then I
discovered that R723TYPE was missing in some MVS/ESA 5.2
data, because the resource flag, R723CRCA, was not set,
and that had previously been a legitimate identifier that
an observation was an address space. As a result of this
discovery, I had to redefine the way R723TYPE is created:
IF RPRTCLAS EQ 'Y' THEN DO;
IF R723CRCA EQ 'Y' THEN R723TYPE='4';/*REPORT, ASID */
ELSE R723TYPE='5';/*REPORT, TRAN */
END;
ELSE IF R723CWMN GT 0 THEN R723TYPE='3';/*TRANSACTION*/
ELSE DO;
IF R723CRTX GT 0 THEN R723TYPE='1';/*ASID SC WITH RESP*/
ELSE R723TYPE='2';/*ASID SC NO RESP*/
END;
-Now, with the correct definition and setting R723TYPE
values, the logic in EXTY72GO could be changed so that
only observations that could contain resources are tested
to see if they should be output, using:
IF R723TYPE IN(1,2,4) THEN DO;
IF SUM(CPUUNITS,SRBUNITS,IOUNITS,MSOUNITS,TRAN)
GT 0 THEN OUTPUT _LTY72GO ;
END:
ELSE OUTPUT _LTY72GO;
With these changes, R723TYPE will be valid for all obs,
and only those resource-containing observations written
for Address Space Service Classes or Report Classes will
be output by the exit.
-Also discovered, the format names in member FORMATS for
$MGRMFTY and $MGRMFRT were reversed. $MGRMFTY describes
the type of record, while $MGRMFRT describes responses.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 13.227 The VAX Accounting Support was designed for execution on
VAXPDS ASCII platforms, which caused errors when executed under
Oct 10, 1995 MVS. The RECFM=N for ASCII must be RECFM=VB for MVS, so
I now have added a macro %%VMXGLRF in place of RECFM=N on
each INFILE statement, and defined VMXGLRF to set the
correct RECFM depending on where MXG is being executed.
Also, the broken vertical bar character ('6A'x onMVS)
used for concatenation was replaced with the exclamation
points ('5A'x on MVS), because the '6A'x character is not
correctly translated between ASCII and MVS systems.
Thanks to Frank d'Hoine, Nationale Bank van Belgie, BELGIUM
Change 13.226 Support for APAR OW16125 which adds GMT offset to type 42
VMAC42 subtype 6 (TYPE42DS dataset) observations. If the APAR
Oct 10, 1995 has been installed, new variable S42JDGMO will be non
missing, and MXG will have converted STARTIME and ENDTIME
from GMT to local time of day. If S42JDGMO is still
missing, the APAR is not installed, and STARTIME/ENDTIME
will still be on the GMT clock.
==========MXG Version 13.06, dated Oct 10, 1995, thru 13.225==========
Change 13.225 Change 13.065 can cause variables INTBTIME,INTETIME to
VMAC30 be really far from the truth, because the line inserted:
Oct 9, 1995 by that change:
GMTOFF30=GMTOFF30+SMF30IST-INTBTIME; /*GET LEAP SEC*/
must be deleted. In attempting to correct IBM's error, I
made the problem worse, by adding that heuristic that
worked with my test data, but failed badly with different
data. Removal of this line may still cause the problems
that were discussed in 13.065, but it is the safest
approach for "normal" sites.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 13.224 Support for Landmark TMON for DB2 Version 2 INCOMPATIBLY
EXTMDxxx changed their records, so MACRO _TMDVER is now defined in
IMACTMDB member IMACTMDB to tell MXG to process version 2 records.
VMACTMDB (The default in IMACTMDB expects Version 1 data records,
Oct 8, 1995 so you MUST tailor IMACTMDB to process Version 2.
The previous support created only TMDBDA,TMDBDB,TMDBDE,
and TMDBDR datasets. For version 2, datasets TMDBDA2,
TMDBDB2, and TMDBDE2 will have observations while their
un-suffixed counterparts will only have observations with
version 2, and TMDBDR no longer exists with version 2.
These new version 2 data sets are now created and will
have observations if their subtypes are found:
TMDBDBA, TMDBDAB, TMDBDAF, TMDBDBB, TMDBDDF, TMDBDBK
TMDBDBR, TMDBDW , TMDBDC.
In addition, these new datasets are defined and will have
observations, but only the record header is decoded for
these subtypes at this time:
TMDBBB , TMDBBC , TMDBBD , TMDBBE , TMDBBF , TMDBBG
TMDBBH , TMDBBI , TMDBBJ , TMDBBK , TMDBBL , TMDBBM
TMDBBT , TMDBDD
This combined support for both versions has not been
tested with data records, but the original code and the
Version 2 code contributed by Peter were separately
tested before I restructured and merged the code into
the single VMACTMDB member, and no error have surfaced.
Thanks to Peter Proppe, Bremer Lagerhaus Gesellschaft(BLG), GERMANY.
Thanks to Ken Updegraff, Jr., Hershey Chocolate, USA.
Change 13.223 Support for IDMS 12.01 Maintenance Level 9506 and later.
VMACIDMS CA INCOMPATIBLY changed their PERFMON SMF record. MXG
Oct 8, 1995 should have detected their change and deleted the changed
Nov 14, 1995 record and print a NOTE on the log, but their change
exposed an MXG logic error in detecting IDMS changes, and
MXG ABENDed with INPUT STATEMENT EXCEEDED RECORD LENGTH.
(In my defense, even CA IDMS Tech Support did not know
THAT there was a change, nor WHAT fields were changed
until I read this text to them!) Originally I thought
the change was introduced in IDMS 12.01, but it is their
maintenance level 9506 that contains the new data fields.
-Delete the final IF SKIP GT 0 THEN INPUT +SKIP (the one
after the END; /* END SUBTYPE 18 */ statement). This
will eliminate the STOPOVER condition with 12.01 data,
However, datasets IDMSARA, IDMSBUF, IDMSDBK and IDMSJRL
will still be wrong because field lengths were changed.
-To process ONLY 12.01 data, you could make these changes:
After PMHRTYPE=1, change INPUTs of
ARANAME $EBCDIC16. to ARANAME $EBCDIC27.
ARAFILE $EBCDIC16. to ARAFILE $EBCDIC27.
ARABUFR $EBCDIC16. to ARABUFR $EBCDIC18.
INPUT ARAFPERA &PIB.2. /* #FILES FOR AREA*/
and change SKIP=SKIP-184 to SKIP=SKIP-208;
After PMHRTYPE=2, change INPUTs of
BUFNAME $EBCDIC16. to BUFNAME $EBCDIC18.
and change SKIP=SKIP-120 to SKIP=SKIP-122;
After PMHRTYPE=6, change INPUTs of
JRLNAME $EBCDIC16. to JRLNAME $EBCDIC27.
and change SKIP=SKIP-120 to SKIP=SKIP-131;
After PMHRTYPE=18, change INPUTs of
DBKAREA $EBCDIC16. to DBKAREA $EBCDIC27.
DBKFILE $EBCDIC16. to DBKAREA $EBCDIC27.
and change SKIP=SKIP-120 to SKIP=SKIP-142;
-The actual change processes 12.01 and earlier data.
Thanks to Don Snively, E-Systems, USA.
Change 13.222 Support for COM-PLETE Version 4.6 has no change in their
VMACCOMP record format, but two errors in MXG were uncovered: if
Oct 7, 1995 you use a single SMF TYPE for your COM-PLETE record, MXG
failed to output the COMPULOF and COMPUCKP datasets. The
line with _IDCOMOF should test ULOGRTYP=3 (was 1), the
line with _IDCOMCK should test ULOGRTYP=2 (was also 1).
These two changes are required for either 4.5 or 4.6, but
only if you use a single SMF record type in the _IDCOMP
macro definition in IMACCOMP.
Thanks to Wayne Bell, National General Insurance, USA.
Change 13.221 Support for Tandem MEASURE processes their Process, CPU,
ADOCTAND and Disk data files. See member ADOCTAND for discussion
EXTANCPU of how to create, process, and use the three datasets:
EXTANDIS TANDCPU - Interval CPU activity statistics
EXTANPRO TANDDISK - Interval DISK activity statistics
IMACTAND TANDPROC - Interval PROCESS activity statistics
TYPETAND The Tandem data files contain ASCII character data with
VMACTAND standard mainframe binary values; this support has been
Oct 6, 1995 executed both under MVS and under OS/2 (and I discovered
Dec 2, 1995 that the FB data records must have RECFM=F on the INFILE
statement under ASCII versions of SAS, but must have
RECFM=FB under EBCDIC versions, necessitating creation of
the VMXGLRF macro to provide transparent support).
NOTE: MXG will process the "native" ASCII TANDEM data on
an ASCII platform (UNIX, OS/2, WINDOWS) as is. However,
if you want to process the TANDEM data on with an EBCDIC
platform (MVS, CMS, VSE), you must NOT translate the
TANDEM data from ASCII to EBCDIC - send the TANDEM data
to MVS as a BINARY file with no conversion and NOCRLF.
If your character variables are filled with @@@@@, you
are reading data that was converted from ASCII to EBCDIC,
and it is not just characters that are corrupted!
Thanks to Barry Pieper, Norwest, USA.
Change 13.220 Length of MXGCHAN variable CHTYPE increased to $4, and
ANALRMFR ELSE clauses removed, and a RETAIN statement deleted in
Oct 3, 1995 report enhancements.
Change 13.219 ISOGON Soft Audit Version 4.1 compatibly changed record
VMACSFTA format from FB to VB format (for better maintenance in
Oct 3, 1995 future versions), and added several new variables to
both the Program and the Module datasets, including the
Accounting Fields from the JOB card in the Program data.
Change 13.218 Support for the ABARS ABACKUP/ARECOVER FSR segment in the
EXHSMWWF HSM user SMF record creates new dataset HSMWWFSR with new
IMACHSM statistics (counts, timestamps/durations, space used).
VMACHSM The new segment is now put in the DFSMShsm smfid record
Oct 2, 1995 (which previously contained only the DSR and VSR
segments), but DFSMS 1.3 or APAR OW11391 will relocate
the new segment to the smfid+1 record (which contains
FSRs). MXG is coded to create it from either of the two
HSM records. The HSMWWFSR dataset is an event record,
written at the end of ABACKUP or ARECOVER, and thus there
should be no accumulated fields across SMF records, so
there is no reference to HSMWWFSR in member DIFFHSM.
Thanks to Michael E. Friske, Fidelity Savings, USA.
Change 13.217 APAR OW14717 for SMF type 42 subtype 2 INCOMPATIBLY
VMAC42 changes the value of SMF42CSS,SMF42SSA,SMF42SAP,SMF42SSU,
Oct 2, 1995 SMF42NSZ, and SMF42SPR (cache controller and non-volatile
storage sizes), but OW14717 should not be installed, as
IBM is replacing it with a better solution. A new APAR
number OW16039 will be issued to fix the same problem but
it sets a flag bit that MXG can use to determine whether
or not the APAR is installed. These APARs affect only
the 3990-6 in Enhanced Mode, and they change the value in
the record to contain kilo-bytes instead of bytes, so
the MXG change conditionally multiplies the six fields by
1024 if the new flag bit is on. Thus with this change
installed in MXG, MXG will be correct with or without the
APAR being installed.
Change 13.216 The value of MAXTIME printed in the Title of reports is
ANALPRTR wrong; the statement IF MAXTIME LT LATEST THEN DO; should
Sep 29, 1995 be IF MAXTIME GT LATEST THEN DO:
Thanks to Jim Ray, Branch Banking and Trust Company, USA.
Change 13.215 CA's IDMS Version 12.01 records cause INPUT STATEMENT
VMACIDMS EXCEEDED RECORD, but that failure should have been caught
Sep 28, 1995 by MXG; the circumvention is to delete the line
IF SKIP GT 0 THEN INPUT +SKIP @;
that is located at the end of member VMACIDMS, after the
END; /* END SUBTYPE 18 */ statement and before the
END; /* END DO _I_ TO SMFHNREC */ statement.
This correction will allow MXG to tolerate 12.01 records.
An update to this change will be made when the DSECTS for
the new version have been received and the MXG code
enhanced to pick up the new variables.
Thanks to Don Snivley, E-Systems, USA.
Change 13.214 The BGS I/O Monitor SMF record produces invalid records
VMACBGSI with MVS/ESA 5.2. MXG does not fail, but prints INVALID
Sep 28, 1995 TRIPLET messages on the log and deletes the records. BGS
alerted me and is investigating their error.
Change 13.213 Variables TSORESP TRIVRESP TSO2RESP TSO3RESP TSO4RESP in
RMFINTRV PDB.RMFINTRV are now FORMAT 7.3 (instead of 5.1), because
Sep 28, 1995 average trivial response is now often measured in tens of
milliseconds, which disappear when printed with the
shorter format.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.212 DB2 stats dataset DB2STAT2 should never have been used in
DIFFDB2 building DB2STATS, as it contains only threshold values
VMACDB2 instead of interval resources used, so all references to
Sep 27, 1995 DB2STAT2 were removed in the building of DB2STATS in
member DIFFDB2. Now, DIFFDB2 creates DB2STATS from only
DB2STAT0 and DB2STAT1 data sets (as MXG did in 11.11!).
Fortunately, the inclusion of DB2STAT2 did not affect the
validity of DB2STATS dataset for its other variables.
-Tom also discovered that only the first buffer pool's
threshold's values were being OUTPUT to DB2STAT2 in its
creation in member VMACDB2. This correction was to move
the statement DIFFDB22=0 and the %INCLUDE of EXDB2ST2 to
be inside the DO group, and to insert statement
OFFQDBP=OFFQDBP+LENQDBP; after that %INCLUDE.
Thanks to Tom Parker, Hogan Systems, USA.
Change 13.211 MXG 13.02-MXG 13.05 only. IMF processing will cause an
TYPECIMS error 80-322 and 201-322 occur if you use member IMACCIMS
Sep 27, 1995 to define MACRO _LIMFTRN CIMSTRAN.CIMSTRAN %, because MXG
Change 13.089 incorrectly added _LIMFTRN to the DELETE
statement. Change DELETE _LIMFTRN CHAINED ; to read
DELETE CHAINED;
Thanks to Jim Wertenberger, Blue Cross Blue Shield of Ohio, USA.
Change 13.210 Labels for variables were clarified in TYPE70:
VMAC7072 NRCPUS ='NUMBER OF*CPUS AVAILABLE*TO THIS MVS'
Sep 27, 1995 PARTNCPU='TOTAL*NUMBER OF CPUS*IN THE CEC'
and in TYPE70PR:
LPARCPUS='NUMBER OF*CPUS IN*THIS LPAR'
Thanks to Angela Mulcahey, United Jersey Bank, USA.
Change 13.209 Comments describing use were enhanced, pointing out that
IMACFILE all SMF-processing programs use IMACFILE; if you want to
Sep 25, 1995 tailor IMACFILE for only one job (eg., BUILDPDB), then
you should put the tailored IMACFILE member in a special
PDS source library in the //SOURCLIB concatenation for
that one job, instead of putting it in the USERID.SOURCLI
tailoring library.
Thanks to Mr. Jan Beukeletrs, ANHYP NV, Belgium.
Change 13.208 INVALID DATA FOR DTL results if there is no value for the
VMACEREP last activity time. Insert ?? between DTL and &PD.4.
Sep 25, 1995 to suppress the invalid data message. This revision also
Oct 3, 1995 adds Machine Check Handler (MCH) record processing.
Thanks to Mr. Geiger, KKH, GERMANY.
Change 13.207 INVALID ARGUMENT error if there are more than 10 LCUIDs
ANALPATH associated with one CHPID, so the ARRAY was increased to
Sep 25, 1995 16, but the source of the error was that ANALPATH applied
Oct 2, 1995 IF &PRMTM; prime-time-only selection only to the TYPE74
dataset, while TYPE73 and TYPE78CF (from whence the error
came) had no shift selection (and the data that cause the
large number was across several IPLs with different I/O
configurations). Thus IF &PRMTM; was added logically to
the subsetting of TYPE73 and TYPE78CF datasets as well as
increasing the size of the ARRAY.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.206 Variables ACTDLYTM, DSPDLYTM, and RESDLYTM are now added
VMAC30 to the TIME12.2 format, to print consistently with other
Sep 25, 1995 duration variables.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.205 Variable HMF5BS29 was always zero, because it should not
DIFFHMF have been DIF()ed. Remove both lines in DIFFDB2 than
Sep 25, 1995 contain HMF5BS29.
Thanks to Shaheen Pervaiz, Acxion CDC, Inc, USA.
Change 13.204 MXG coding for Landmark TMON/CICS 1.3 was INCOMPATIBLY
TYPETMON changed so that TMON data could be processed under ASCII
Sep 25, 1995 and EBCDIC versions of SAS. You MUST change your JCL for
the DDname of MONICICS from RECFM=U BLKSIZE=32760 to be
RECFM=VB LRECL=32756 BLKSIZE=32760 with this change.
(I regret the inconvenience, but this was the only way to
support LANDMARK data processing under OS2/UNIX/WINDOWS
and is the way TYPETMON should have been coded. Since VB
processing is faster than U processing, you may actually
see a faster run time! And even if you don't read this
notice, the error message that you now get will tell you
that you have either used RECFM=U in place of RECFM=VB,
or that you are trying to read compressed data without
having installed the EXITMON6 decompression exit!).
The code changes were to delete the two lines that INPUT
LENMONI1 and LENMONI2, to change all occurrences of
LENMONI1 to MONILEN, and to replace the INPUT of ENDDATE
as YYMMDD6. with YY &NUM.2. MO &NUM.2. DD &NUM.2. and
then use IF YY GT 0 THEN ENDDATE=MDY(MO,DD,YY);
Note that for processing TMON 1.3 data under ASCII SAS,
you must use
FILENAME MONICICS 'C:\...'
RECFM=S370VB LRECL=32752 BLKSIZE=32756;
Thanks to Ian Gibson, Queensland Transport Department, AUSTRALIA.
Change 13.203 MXG execution under ASCII only. Landmark 8.1 format MXG
TYPEMON8 code was not updated for ASCII execution, causing wrong
Sep 25, 1995 values and notes on the log. Change all occurrences of
"RB8." to "&RB.8.", and replace ENDDATE as described in
Change 13.203. There is no error under MVS execution.
Thanks to Ian Gibson, Queensland Transport Department, AUSTRALIA.
Change 13.202 Variable DURATM was created, equal to INTERVAL, to be
VMAC23 consistent with SAS/CPE desires.
Sep 22, 1995
Thanks to Mitch McKenna, Independent Consultant, Australia.
Change 13.201 Support for Omegamon for MVS/ESA V400 adds these new
VMACEPMV twenty-three variables:
Sep 22, 1995 SM180APS SM180ARC SM180ASC SM180CFR SM180CSS SM180EFR
SM180HSP SM180IOC SM180OLS SM180OM1 SM180OM2 SM180QUI
SM180RGN SM180RGP SM180SCN SM180SCP SM180SCX SM180SPS
SM180SVF SM180VIO SM180WKS SM180WLN SM180XME
Thanks to Frank Altrichter, Bell Atlantic, USA.
Change 13.200 Variables SYSNAME and SYSPLEX were not in PDB.RMFINTRV,
RMFINTRV although Change 13.172 supposedly made the addition; the
Sep 22, 1995 variables must be added to the ID statement that precedes
OUTPUT OUT=RMF70D1 .... MXG processing currently assumes
that each of your SYSTEM ids are unique within a SYSPLEX;
if that is not true, I may have to change the sort order
of all of the RMF datasets from SYSTEM STARTIME to
SYSPLEX SYSNAME SYSTEM STARTIME, but I will defer that
change until truly required (and I have test data!).
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.199 SAP variable STICODE in CICS journal records should be
IMACICSA INPUT as $EBCDIC4. (it was &PIB.4.), as it is a transact
Sep 22, 1995 code (similar to STCTCODE).
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.198 Support for 3590 tape drives was incomplete, as variable
ANALTAPE TAPE3590 was not added to PDB.JOBS & PDB.STEPS datasets.
BUILDPDB -IMACPDB must be updated. Variable TAPE3590 must be added
BUILDPD3 to macro _PDB30_4 and to macro _MAXSTP, and then the PROC
BUILD005 MEANS OUTPUT statement required the X9 to be changed to
ChangeSS X10, and the SUM= statement required the addition of X10
IMACPDB after the X9. Note that if IMACPDB exists in your
VMAC30 USERID.SOURCLIB, you must retrofit your tailoring in that
Sep 22, 1995 member, starting with this new IMACPDB member.
-Although not required, the TAPExxxx variables in LENGTH
statements in BUILDPDB, BUILDPD3 and BUILD005 were taken
out, as the _MAXSTP macro reference already contains the
TAPExxxx variables, and their removal avoids confusion.
-It was also noted that none of the EXCPxxxx or IOTMxxxx
variables were kept in TYPE30_6, so member VMAC30 was
updated to add _IO30IO to the KEEP list for TYPE30_6 to
be consistent with other type 30 datasets.
-ANALTAPE was updated to report 3590 tapes separately
-Finally, my notes on what I have to do for a new tape
device (text of Change 9.152 in CHANGESS) were revised
so I do it right the first time the next time!
Thanks to Norbert Korsche. OMV AG, AUSTRIA.
Change 13.197 By changing all occurrences of SORTDSNS to DSNAMES, the
VMXGVTOF PROC SORT DATA=DSNAMES .... that precedes the %DO group
Sep 22, 1995 can be eliminated, saving an extra pass of the data.
Thanks to Graeme Yeandle, British Telecom, ENGLAND.
Change 13.196 Protection for future version changes was not correct for
VMACHMF subtype 4, 5, 8, and 9, as the subtractor should be 26,
Sep 22, 1995 16, 54, and 64 respectively. (The segment lengths do not
include their own length.) However, there was no error
with the current version's records.
Thanks to Shaheen Pervaiz, Acxiom CDC, Inc, USA.
Change 13.195 Variables BATRSPRO BASCRUID BASPCCHN BARTNDTA BAVOLOWN
VMACTLMS were not in the KEEP list, nor were they in the LABEL
Sep 22, 1995 statement, but now they are.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Change 13.194 Variables IMSID (IMS System ID) was added to the KEEP
VMACCIMS list for datasets CIMSDBDS and CIMSDB2 to ease in reports
Sep 22, 1995 by system.
Change 13.193 Variables QWSBIID,ISEQ,OTH1,OTH2,SBNA,SCF,SRND,SRNW,SRSW
VMACDB2 were added by Change 13.139 but those names were already
DIFFDB2 in use, and where they were DIF()ed in DIFFDB2, wrong
Sep 21, 1995 counts were created. Fortunately, these variables record
generally unimportant counts of activity by IFC, and they
were added only to eliminate a nuisance message from MXG,
but now they were renamed to QWSYxxxx to avoid conflict.
This change could not be made with a global change, so if
this is really of concern, you will need the new version.
Thanks to Tom Parker, Hogan Systems, USA.
Change 13.192 INVALID SECOND ARGUMENT IN FUNCTION SUBSTR occurs in the
VMAC102 processing of DB2 Trace IFCIDs 21 or 44. The following
Sep 21, 1995 changes must be made twice; once after MACRO _C102021 and
once after MACRO _C102044.
Find the following code:
DO I= 1 TO 27 BY 3;
IF I LT 27 THEN ....
ELSE ....
....
IF I=27 AND J=7 THEN J=20;
....
Change it to read:
DO I= 1 TO 19 BY 3;
IF I LT 19 THEN ....
ELSE ....
....
IF I=19 AND J=13 THEN J=20;
....
Thanks to Mitch McKenna, SAS Europe, GERMANY
Thanks to Mealin Beecking, Generale de Banque NV/SA, BELGIUM.
Change 13.191 Building the $DB2DBID and $DB2OBID formats may still fail
ANALDB2R when there are zero obs in T102S105 or T102S107, due to
Sep 21, 1995 insufficiently robust logic.
Find IF FIRST.DBID THEN DO; . Replicate this DO group.
In the first DO group, change the IF FIRST.DBID THEN DO;
to IF FIRST.DBID AND LAST.DBID THEN DO; . In the second
DO group, change the IF FIRST.DBID THEN DO; to
ELSE IF FIRST.DBID THEN DO; . In the first DO group,
insert OUTPUT; after LASTNAME=DBNAME;
Find IF FIRST.OBID THEN DO; . Replicate this DO group.
In the first DO group, change the IF FIRST.OBID THEN DO;
to IF FIRST.OBID AND LAST.OBID THEN DO; . In the second
DO group, change the IF FIRST.OBID THEN DO; to
ELSE IF FIRST.OBID THEN DO; . In the first DO group,
insert OUTPUT; after LASTOAME=OBNAME;
Thanks to ????, Union Bank of Switzerland, SWITZERLAND.
Thanks to Werner Schellenbert, SAS Switzerland, SWITZERLAND.
Change 13.190 The format of variable UOWTIME in all datasets is changed
ANALDB2C to DATETIME25.6, because the previous DATETIME21.2 format
TYPEMOND caused the PROC MEANS in ANALDB2C to collapse what were
TYPEMON8 separate events into one output observation (because the
TYPETMON variable UOWTIME is in the BY list, and PROC MEANS, like
VMACCIMS most other procedures, uses the formatted value to build
VMACDB2 its output observation).
VMACDB2H The ANALDB2C error could be corrected with the addition
VMACOMCI of "INCODE=FORMAT UOWTIME DATETIME25.6;," to both
VMAC116 of the %VMXGSUM invocations and by changing the FORMAT
VMAC123 statement, which would let ANALDB2C use date that was
Sep 21, 1995 created prior to this change, but that circumvention will
cause an extra pass of CICS and DB2 data by ANALDB2C.
So the permanent correction was to change the format in
all of the members that create variable UOWTIME, and only
the existing FORMAT statement was changed in ANALDB2C.
Thanks to H. Thomas Lowin, ICG Informationssysteme, GERMANY.
Change 13.189 INVALID DATA FOR AFSTTIME in type 91 BatchPipes/MVS SMF
VMAC91 record because of a reserved field. After the INPUT of
Sep 21, 1995 SMF91IWB &PIB.4. and the INPUT of SMF91OWB &PIB.4.,
insert +4 (to skip over the reserved field).
Thanks to Siegfried Trantes, IDG Gmbh, GERMANY.
Change 13.188 Variable WRBUFUSE (write buffers used) was added to KEEP
VMAC50 list for dataset TYPE50, and is now input by changing the
Sep 20, 1995 @39+OFFSMF +4 to read @39+OFFSMF WRBUF &PIB.4. (for the
subtype 01 (channel-to-channel) record).
Thanks to Earl Berg, Bank of America, USA.
Change 13.187 ASMTAPES revision MAINTLEV 6 now replaces prior version.
ASMTAPES MXG 13.05 ASMTAPES may stop writing allocation records,
Sep 29, 1995 although mount records continue to be written. The SRB
that we schedule fails if the job in allocation (or in
allocation pending) is swapped out. We continue to retry
the SRB, but if an internal maximum count is exceeded, we
(erroneously, I now realize!) shut down the allocation
monitor and stop writing records. This section of the
monitor has been redesigned, now that we realize why the
SRB routine times out. In addition, this revision
-Adds 'DEBUG' mode, which can be invoked via Operator
Modify Command "F MXGTMNT,DEBUG=YES" (default at startup
is DEBUG=NO, so that debugging messages TMNT009I/011I
will not be written by default).
-Corrects incorrect job and step information due to
allocation recovery and step changes
-Enhanced code to get DDNAME when a device is initially
found in allocation recovery, but later sampled during
execution. The DDNAME is unavailable during allocation
recovery, and so records written only for allocation
recovery will not have a DDNAME; once the job goes from
allocation recovery to execution, a subsequent monitor
sample will now pick up the DDNAME.
Change 13.186 Support for year 2000 for TLMS records was added. Twelve
VMACTLMS fields that contain dates with century value will now be
YEAR2000 converted to four digit values (eg., the 0100001 value of
Sep 20, 1995 01Jan2000 will now be converted to 2000001). The logic
is X=FLOOR(X/100000)*100+1900+X; for each of these X:
BAPURCH BADESTDT BACLNDT BACERTDT BAVMOVED BAVKEEPD
BAVEXPDT BAVSCRDT BADKEEPD BADEXPDT BACDATE BAIDATE
TLMS was not previously recognized as needing conversion,
because these twelve variables are simply numbers and are
not converted to SAS date values (and my research in the
YEAR2000 member only addressed MXG variables that are
date values).
Thanks to Rey Marquez, General Accident Insurance, USA.
Change 13.185 INPUT STATEMENT EXCEEDED RECORD LENGTH for type 92 SMF
VMAC92 because the INPUT of SMF92PPL should have been &PIB.2.
Sep 20, 1995 instead of the &PIB.4. that was coded.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.184 Variable SMF22SNV should be labeled SUBSYSTEM*NVS*STATUS.
VMAC22 New variable SMF22PNV should be created by inserting
Sep 20, 1995 SMF22PNV $CHAR1. immediately after the INPUT of
SMF22SNV, and SMF22PNV must be added to the KEEP= list,
the $HEX2. list, and the $NOTRAN. list, after SMF22SNV.
Thanks to Dean Brown, Pacific Bell, USA.
Change 13.183 MXG 13.01-MXG 13.05 only. RACF type 80, ACF2 user SMF and
IMACJBCK DB2 type 101 observations were not output if job name was
VMAC80 hex zeroes.
VMAC80A For consistency, Change 13.076 added IMACJBCK to all SMF
VMACDB2 processing members (IMACJBCK allows selection of records
VMACACF2 by job name), but it contained a default test of
Sep 1, 1995 IF JOB GE ' '; but if the variable JOB has
Sep 20, 1995 nulls, this addition causes the record to be deleted!
Nov 30, 1995 It now turns out that RACF can write records with nulls
for job name - "For RACINIT records for batch jobs,
SMF80JBN can be zero", and those records were deleted.
Also, DB2 records for Distributed Threads for non-DB2
requestors contain nulls for JOB, causing observations in
DB2ACCT and DB2ACCTP datasets to be deleted.
The change was to eliminate that default test in IMACJBCK
so it only contains comments about how it can be used!
There was no change to VMAC80, VMAC80A, nor VMACDB2, but
they are listed here for the alert of the problem.
Thanks to Joe Faska, Depository Trust, USA.
Thanks to Tom Parker, Hogan Systems, USA.
Change 13.182 SNS/TCPaccess Version 2.1.0 added on new variable F20AERR
VMACILKA to dataset ILKAST20 compatibly.
Sep 1, 1995
Thanks to Joe Schwartz, CIGNA, USA.
Change 13.181 APAR OW11142 adds new variables with compression stats:
VMAC64 SMF64CCS SMF64CDS SMF64CMP SMF64CSS SMF64DTK SMF64EF
Sep 1, 1995 SMF64SDS SMF64TRK
In addition, variable ALLOCCYL is now calculated to give
the allocated size of the VSAM component.
Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.
Change 13.180 TYPE42DS and TYPE42SR variable RESPTIME was found to be
VMAC42 greater than the sum of connect, pend, disconnect and CU
Sep 1, 1995 queue; IBM development confirmed that the IOS queue time
is included in RESPTIME but not separately recorded, so
AVGIOQMS=RESPTIME-(AVGCONMS+AVGPNDMS+AVGDISMS+AVGCUQMS);
was inserted after AVGCUQMS=128*AVGCUQMS; in two places,
AVGQIOMS was added to the KEEP= for both datasets.
In addition, these "millisecond" variables RESPTIME
AVGIOQMS AVGCONMS AVGPNDMS AVGDISMS and AVGCUQMS are now
multiplied by 1000 so their values are actually in
milliseconds. I know this will affect those of you that
have started to use the TYPE42DS data, but consistency
with their labels and with counterpart variables in the
TYPE74 dataset justify this annoyance to those pioneers
who have already found this valuable data source.
Thanks to Bruce Sloss, PNC Bank, USA.
Change 13.179 RACFTYPE=34 caused "SKIPPED SEGMENT" message on the log,
VMAC80A but had no impact on created datasets. To eliminate the
Aug 30, 1995 diagnostic, copy the WHEN (55) DO; block to after the
WHEN (33) block, and then change the 55 to 34.
Thanks to Joe Faska, Depository Trust, USA.
Change 13.178 MXG 13.05 only. Variable NDMTIME is missing because the
VMACNDM test IF DATEYYYY GT 80000 AND .. should have been changed
Aug 30, 1995 to IF DATEYYYY GT 0 AND .... (the 80000 test was for a
julian date after 1980, but DATEYYYY was change to a SAS
date by Change 13.158, and current value is only 13,000).
Thanks to Chuck Hopf, MBNA, USA.
Change 13.177 Variable VELOCITY is added to TYPE72 & TYPE72GO datasets
VMAC7072 (for both Compatibility and Goal Mode measurement). The
Aug 30, 1995 equation is VELOCITY=CPUUSESM/SUM(CPUUSESM,TOTDLYSM);
for dataset TYPE72 and the equation is
VELOCITY=PCTUSCUS/SUM(PCTUSCUS,PCTDLTOT); for goal mode.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Dave Crandall, Farmers Insurance, USA.
Change 13.176 Support for Software Engineering of America's TRMS (Total
EXTRMS01 Report Management Solution) user SMF record adds datasets
EXTRMS02 TRMS01 - Report Accumulation
EXTRMS03 TRMS02 - Report Deletion
EXTRMS04 TRMS03 - Distribution Bundle
IMACTRMS TRMS04 - Distribution Print (Demand)
TYPETRMS with the identity of the print-causing job, duration, and
VMACTRMS counts of lines, pages, etc.
Aug 30, 1995
Thanks to John Rivera, PKS Information Services, Inc, USA.
Change 13.175 If you build your weekly PDB on tape, running the TREND
WEEKBLDT code can cause lots of tape mounts. It may be wiser to
Aug 28, 1995 build the entire PDB on tape first, then use PROC COPY
with a SELECT statement to create a pseudo-PDB on DASD
with only the datasets needed for Trending.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.174 MXG 13.05 only. Assembly of ASMTAPES fails because you
ASMTAPES cannot continue ASM comments with X in column 72. Find
Aug 28, 1995 MAINTLEV, remove X's from column 72, put asterisk in col
1 (except for the final MAINTLEV EQU 5, which was ok.)
This was a stupid error; I changed the comments and then
failed to reassemble the program.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.173 OMEGAMON CICS V300 SMF Subtype 200 subsubtype 4 caused
VMACOMCI INPUT STATEMENT EXCEEDED RECORD LENGTH due to MXG error.
Aug 24, 1995 Insert between EEDRMFS and EEDTSIO these lines:
EEDRMFS &PIB.1.
@;
IF SUBTYPE=200 THEN INPUT +3 @;
INPUT
EEDTSIO &PIB.4.
and change the subsequent IF SUBTYPE=200 THEN LOC=LOC+1;
to read IF SUBTYPE=200 THEN LOC=LOC+4;
Thanks to F. Pulles, Compuzorg B.V., THE NETHERLANDS.
==========MXG Version 13.05, dated Aug 21, 1995, thru 13.172==========
Change 13.172 Variables SYSPLEX and SYSNAME were added to all of the
RMFINTRV RMF/CMF datasets built from type 70-79 records (they had
VMAC7072 been inconsistently kept) and were added to RMFINTRV data
VMAC71 set as well, so as to fully analyze sysplex data from
VMAC73 multiple sysplexes.
VMAC74
VMAC75
VMAC76
VMAC77
VMAC78
VMAC79
Aug 23, 1995
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 13.171 Support for MVS/ESA 5.2.2 was thought to be contained in
none MXG 13.02, as there appeared to be no new record changes
Aug 22, 1995 in 5.2.2. However, that was not true, and once IBM got
Jan 11, 1996 the new SMF manual to me, there were noted several new
data. Fortunatly, the 5.2.2 changes were compatible so
that none of your existing datasets failed with MXG 13.02
and 5.2.2 records (except for Open Edition/MVS type 92
data). Change 13.156 added the support for type 88 data,
Change 13.162 fixed an MXG error in type 6 record that
occurred at a 5.2 site (though the error was due to PSF
and has happened with earlier MVS), Change 13.310 added
fields to type 30, and Change 3.311 dealt with the type
92 so to completely capture all of the new 5.2.2 fields
from all records, MXG 13.13 is required.
Change 13.170 Support for additional subtypes from Landmark TMON/MVS:
EXTMVMLG subtypes CS, IX, ML, and XI are now decoded and these new
EXTMVMLL datasets are created from ML and XI records:
EXTMVMLP Dataset Description
EXTMVMLV TMVSMLG PR/SM Global Segment
EXTMVXIM TMVSMLL PR/SM Logical Partition
EXTMVXIP TMVSMLP PR/SM Product Segment
EXTMVXIS TMVSMLV PR/SM Virtual Processor
FORMATS TMVSXIM XCF Member
IMACTMVS TMVSXIP XCF Path
TYPETMVS TMVSXIS XCF System
VMACTMVS while existing datasets TMVSCS and TMVSIX are now
Aug 21, 1995 populated with variables.
-Additional decoding of several existing segments:
Subtype CI, variables CIJFM and CIJGM are not listed in
either the online documentation (Ver 1.3, Mod 9405):
A: ADVANCED FUNCTIONS
4: DICTIONARY RECORD DIRECTORY
nor in the 'Report Writer' 8: Data Elements document,
but are in member TMVDSECT (with the same OFFSET=54).
Both variables are generally marked as comments.
-The TRANSLATE function was inserted after each input
for some variables in the subtypes 'NQ' and 'PS'.
Thanks to Peter Proppe, Bremer Lagerhaus Gesellschaft(BLG), GERMANY.
Thanks to Rod Fernandes, Albert Heijn B.V., NETHERLANDS.
Change 13.169 Support for OMEGAMON/MVS Version 300 incompatibly changed
VMACEPMV the I/O section, causing INPUT STATEMENT EXCEEDED RECORD.
Aug 21, 1995 The new I/O section logic now looks like this:
IF SM180VRS GE '03' THEN DO; /* OMEGAMAON 300+ */
INPUT @SM180OIO
SM180DVT $EBCDIC1.
SM180DNR $CHAR3.
SM180DEV $EBCDIC4.
SM180ACT &PIB.4.
SM180QCT &PIB.4.
SM180VOL $EBCDIC6.
@;
FORMAT SM180DNR $HEX6. ;
END;
ELSE DO; ... original code ... END;
and variables SM180DNR SMF180DVT were added to KEEP= list
for dataset EPMVEPIO.
Thanks to Frank Altrichter, Bell Atlantic, USA.
Change 13.168 VM/ESA 2.2 UNEXPECTED/INVALID CONTROL RECORD FOUND was
VMACVMXA encountered with IPARMLF1=873Fx and IPARMSG1=MSG2=03Fx,
Aug 22, 1995 causing me to reopen and revise Change 13.126 after it
was printed in Newsletter 28. However, the site's data
is invalid (for example, the 1.14 record had domain 3Fx,
but there are only 10 domains, and the record length of
the 1.14 record is 34, but there are only 28 bytes until
the next 1.14 record). The VM data was sent to MVS with
FTP using MODE S (Stream) with no TYPE E (EBCDIC) instead
of MODE B (Block) TYPE E, and this caused data values to
to be changed in transmission ('09'x was changed to 'F3'x
and '1C'x was changed to '22'x by TCP/IP!). Now that I
know the cause of the bad values, I might not have made
the revisions in Change 13.126, but they make the support
more robust and are thus worthwhile to keep.
Thanks to Connie Mak, Avon, USA.
Change 13.167 This work is incomplete. MVS/ESA 5.2 added several new
ASMRMFV tables that need to be added to ASMRMFV and then decoded
VMACRMFV in VMACRMFV, but I have no test data for validation. As
Aug 21, 1995 test data is provided, the support will be coded and
tested. Nothing was changed in ASMRMFV in this change;
VMACRMFV was updated with new code blocks and new 5.2
variables were added to existing datasets, but more work
is required for the new segments.
Change 13.166 Support for 3590 Tape device adds variables EXCP3590 and
FORMATS IOTM3590 and TAPE3590 to TYPE434, TYPE30_V, TYPE30_4,
IMAC30IO TYPE30_5, TYPE30_6, TYPE40, PDB.JOBS, and PDB.STEPS data
VMAC434 sets. The DEVCLASS/DEVTYPE value for this new device is
VMAC30 '8083'x; in member FORMATS, only the formats MGCMFDD and
VMAC40 $MGDEVTY use those IBM values; the formats MGERPDV (EREP)
VMACEXC2 and MGZAREN/MGZARTQ (ZARA) have their own device type
VMACUCB value and I have guessed that the value '43'x will be the
Aug 19, 1995 3590 value, but I will confirm with IBM and Altai.
Changes 13.165 thru 13.001 (and 12.328 thru 12.307) were printed in
MXG Newsletter TWENTY-EIGHT (and are contained in member CHANGESS).
Change 13.165 Deaccumulation of HMF datasets TYPEHMF4, TYPEHMF5,
DIFFHMF TYPEHMF6, TYPEHMF7, TYPEHMF8, and TYPEHMF9 is required.
TYPEHMF Member DIFFHMF is automatically invoked now in member
VMACHMF TYPEHMF, but if you add HMF record processing to your PDB
Aug 11, 1995 you must also add %INCLUDE SOURCLIB(DIFFHMF); in the
Aug 20, 1995 member EXPDBOUT to accomplish the deaccumulation.
Some $EBCDIC variables were changed to $CHAR with $HEX
format. Test data has determined what should/should not
be deaccumulated because it is not noted in the vendor's
documentation, but some fields were always zero and thus
you should verify with your own data. The vendor states
that variables HMF8CS06 thru HMF8CS12 in TYPEHMF8 data
set are invalid and should not be used; the problem has
been open for over a year and is not resolved yet.
Thanks to Shaheen Pervaiz, Acxiom CDC Inc, USA.
Change 13.164 Support for EREP (SYS1.LOGREC) records adds 19 datasets:
EXERPCRW EREPCRW - Channel Report Word
EXERPDDR EREPDDR - Dynamic Device Reconfiguration
EXERPEOD EREPEOD - System Ending /EOD/Normal/Abnormal
EXERPETR EREPETR - External Timer Reference Record
EXERPHDR EREPHDR - LOGREC Header Record
EXERPIOS EREPIOS - Input/Output Supervisor Recovery
EXERPIPL EREPIPL - System IPL
EXERPLMI EREPLMI - Link Maintenance Information
EXERPLRS EREPLRS - Lost Record Summary
EXERPMCH EREPMCH - Machine Check Handler
EXERPMDR EREPMDR - Miscellaneous Data Record
EXERPMIH EREPMIH - Missing Interrupt Handler
EXERPOBL EREPOBL - Outboard Long Records
EXERPOBR EREPOBR - Outboard Short Records
EXERPSDW EREPSDW - Software System Diagnostic Area
EXERPSIM EREPSIM - DASD Service Information Message
EXERPSLH EREPSLH - Subchannel Logout Handler
EXERPSYM EREPSYM - Symptom Programming Failure
EXERPTIM EREPTIM - Logrec Time Stamp Record
IMACEREP Either SYS1.LOGREC or EREP records can be processed with
JCLEREP this support, even though the data records are not quite
TYPEEREP identical. All records have been tested except for the
VMACEREP ETR, SIM, IOS, and MCH events, which did not occur in my
Aug 20, 1995 test data.
Thanks to K.U. Geiger, KKH, GERMANY.
Change 13.163 MAINTLEV 6 does not yet exist, although it was listed in
ASMTAPES this change text in the printed MXG Newsletter 28. It is
VMACTMNT still in development testing. The ASMTAPES on this 13.05
Aug 12, 1995 is MAINTLEV 5, which seems to solve the stall problem
Aug 19, 1995 (the monitor would simply stop, using no CPU and writing
no records) by better handling the SRB. You may see some
"TMNT" messages printed on the job log of the MXGTMNT job
(TMNT009I SRB Timeout PURGEDQ attempts, TMNT011I SRB was
PURGED) that are really diagnostics to indicate how often
the SRB we scheduled in the tape job's address space did
not respond. Previously we sometimes scheduled a second
SRB before the first ended; now if the first is not back
we first purge it and then start another SRB. We almost
always eventually get the information back from the SRB
routine, so that the data in the SMF record is usually
good even when SRBs are purged. However, the READTIME
and other timestamp variables may be invalid if the job
ended before we got the SRB response, so I have added ??
modifiers to the SMFSTAMP fields in VMACTMNT so as to
avoid printing of a hex dump if you should by chance get
an invalid READTIME in a record. The "TMNT" messages so
far occur mostly right on or after the hour, and then for
hours there are none, and we are using these diagnostics
to continue to enhance what will be MAINTLEV 6. In that
iteration, the printing of those "TMNT" messages will be
optional, and the default will be not to print them.
The problem that is still in development testing occurs
very infrequently, but we still occasionally find the
PROGRAM=IEFIIC or the incorrect job name will be put in
the SMF record. This seems to be isolated to jobs that
had some tapes allocated, went into allocation recovery
for additional drives, received WAIT,NOHOLD response, had
its drives stolen away, and later was reallocated to the
same device. This fix may require additional records to
be created and additional logic in VMACTMNT to completely
resolve these rare instances. Statistically, the records
created by MXGTMNT still are quite valid.
Please contact Merrill Consultants (or your overseas SAS
office) if you would like to be shipped MAINTLEV 6 when
it is ready (probably not before October, 1995).
A note about CA/LEGENT's MIM product and NOHOLD.
The sites which have had problems with the open problem
above have been MIM sites, and their MIM administrator
had specified that MIM should reply NOHOLD. In the MIM
manual, there is a statement that NOHOLD is required by
MVS 4.3, but the MIM Product Manager has confirmed that
that statement is false; either HOLD or NOHOLD can be
used with any version of MVS. It is true that MIM does
strongly recommend that you use NOHOLD instead of HOLD,
because MIM favors throughput over job importance.
In a MIM environment, when a job gets WAIT,HOLD response,
that job will block any other allocations by any other
job on any other system from getting any tape drive in
that tape group, until it completes its allocation. Thus
HOLD response favors the completion of the job that has
already been initiated ahead of any other job.
By specifying WAIT,NOHOLD, those drives that have already
been allocated are freed, and the job goes to the bottom
of allocation queue, so that maybe another job on this or
another system could now run. This favors other jobs.
I think I would rather finish what I have started first
(especially if I have a smart job scheduling system that
is based on service objectives - I can presume there that
the job that was started was more important than the not
started job), but you must understand the difference and
make your own decision as to which senario is appropriate
for your site's job scheduling system, and not just
arbitrarily accept MIM's NOHOLD recommendation.
======Early MXG Version 13.05, dated Aug 14, 1995, thru 13.162======
Change 13.162 PSF 4.0 type 6 SMF record INPUT STATEMENT EXCEEDED RECORD
VMAC6 LENGTH error because IBM did not document that SMF6TUL
Aug 11, 1995 includes its own two bytes, causing MXG to try to read 2
more bytes than are in the record. After the @; after
the INPUT of SMF6TUL, insert this line:
SMF6TUL=SMF6TUL-2;
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.161 Variable MQMSSSID was added to all MQM datasets; it had
VMAC115 been input separately as SM115SSI or SM116SSI, but it was
VMAC116 not kept. Labelled MQMSSSID='MQM*SUBSYSTEM*ID', it is
Aug 9, 1995 needed to associate MQM records.
Thanks to Pat Quinnette, Principal Mutual Life Insurance Co., USA.
Change 13.160 RMF Reports show MVS/XA for MVS/ESA version 3 because two
ANALRMFR tests GE "4" should have been GE "3". The adjacent MVS
Aug 8, 1995 release number (3.1.3) was printed correctly.
Thanks to Victor Chacon, NYNEX, USA.
Change 13.159 DB2 Statistics Detail report, page 6 had 4 values wrong
ANALDB2R and four labels were clarified, and the SHIFT= parameter
DIFFDB2 did not work quite right.
Aug 8, 1995 Buffers Allocated (VPOOL or HPOOL) were negative because
their variables, QBxTVPL and QBxTHPL, were wrongly built
in data set DB2STATS; those variables were DIF()ed in
member DIFFDB2, but they are endpoint values, instead of
accumulated, a fact not documented by IBM; only non-zero
data can validate whether to DIF() or not to DIF()!
Delete all lines in DIFFDB2 with TVPL or THPL suffix.
-The values for GET/PAGE SYNC READ RANDOM was incorrectly
calculated.
Replace RANDOM with RANDOMP for the random page calcs,
replace RANDOM with RANDOMR for the random read calcs,
and recalculate RATIO=RANDOMP/RANDOMR.
-The value for D PRF PAGES READ was wrong because the
variable RANDOM was printed instead of RATIO.
-Labels for the four rations now read:
RANDOM PAGES PER READ, SEQ PREFETCH PAGES PER READ,
LIST PREFETCH PAGES PER READ, DYN PREF PAGES PER READ.
-If you used SHIFT=P in report PMSTA01, you would not just
get a report for all Prime time in DB2STATS, but got
multiple reports, one short and before prime, and one
that covered almost all of the requested shift (and that
report was accurate for the timeframe it reported). The
error was in using ENDTIME instead of STRTTIME in the
recalculation of SHIFT. After %MACRO PMSTA01, move the
STRTTIME=ENDTIME-DURATM; statement to immediately before
the %IF %LENGTH(&SHIFT) GT 0 %THEN %DO; statement, then
three lines later, change DATETIME = ENDTIME to read
DATETIME=STRTTIME;
Thanks to Neil Ervin, Huntington Service Company, USA.
Thanks to Cal Cooke, Huntington Service Company, USA.
Thanks to Clark Jennings, Reynolds Metal, USA.
Change 13.158 Support for the Year2000, phase one:
DOC -All variables with DATETIME or DATE formats were changed
Aug 7, 1995 to expand the printed width to display the year in four
print positions:
Was Now Is So it will print as
DATE7. DATE9. 08Aug1995
DATETIME16. DATETIME18. 08Aug1995:20:58:20
DATETIME19.2 DATETIME21.2 08Aug1995:20:58:20.99
DATETIME20.3 DATETIME22.3 08Aug1995:20:58:20.999
DATETIME23.6 DATETIME25.6 08Aug1995:20:58:20.999999
Note that only the printed value is changed; all MXG date
variables are stored in 4 bytes, and all of the datetime
variables are stored in 8, so MXG has always internally
supported the year 2000. Those variables that had an
undefined length (DATE. or DATETIME. format) were changed
to one of the above formats. Over 10,000 instances of
these formats were changed in several hundred members.
-The preliminary list of products that do not support the
year 2000 was expanded in member YEAR2000; the earlier
list overlooked some products whose dates were created
using the MDY(MO,DA,YY) function. I believe the list of
products now is very close to complete.
-Those instances of MDY(MO,DA,YY) wherein the actual FIELD
that was input was a PD4 containing 'CYYMMDDF'x are now
converted, using this logic:
CC=FLOOR(FIELD/1000000);
YY=FLOOR((FIELD-1000000*CC)/10000);
MO=FLOOR((FIELD-1000000*CC-10000*YY)/100);
DA=FIELD-1000000*CC-10000*YY-100*MO;
YYYY=1900+YY+C*100;
DATE=MDY(MO,DA,YYYY);
for these types of data values:
Hex Date
0991231F 12/31/1999
1000101F 01/01/2000
1001231F 12/31/2000
1010101F 01/01/2001
The use of YYYY instead of YY signifies that MXG has put
the code in place to support the century bit; of course,
this will be 2000 in 2000 only if the vendor sets that
century bit; otherwise it will look to be the year 1900!
-Those instances of MDY(MO,DA,YY) wherein the YY variable
was input as PIB2. can support either the Century bit or
a four digit year:
Field Decimal Hex Year
YY 99 0063x 1999
CYY 100 0064x 2000
CYY 142 0216x 2042
YYYY 1999 05CFx 1999
YYYY 2042 07FAx 2042
For these fields, this new logic is now used, as it will
correctly resolve the year whether the vendor sets the
century bit or sets a four digit year:
IF 0 LE YY LT 1960 THEN YYYY=1900+YY;
ELSE YYYY=YY;
DATE=MDY(MO,DA,YYYY);
Again, the YYYY confirms the MXG four digit year support.
Note that the MDY() function fails if the YY argument is
100, so this new logic was required.
About 20 members were protected by this additional code.
-All instances of DATEJUL() function, which does not yet
support the century bit, must be revised. Values input
with PD4 format could contain a century bit (0cyydddF0,
or they could contain a four digit year:
Hex Date
0099365F 12/31/1999
1999365F 12/31/1999
0100001F 01/01/2000
2000001F 01/01/2000
0100365F 12/31/2000
2000365F 12/31/2000
0101001F 01/01/2001
2001001F 01/01/2001
Fortunately, the following logic can be used for these
PD4 DATEJUL fields, as it will protect for either the
century bit or a four digit year:
INPUT PD4FIELD ?? PD4. @;
CC=FLOOR(PD4FIELD/100000);
YY=FLOOR((PD4FIELD-100000*CC)/1000);
DDD=MOD(PD4FIELD,1000);
IF 0 LT DDD LE 366 THEN DO;
IF 0 LE CC LE 2 THEN YYYYDDD=DDD+1000*(CC*100+YY+1900);
ELSE IF CC GE 19 THEN YYYYDDD=DDD+1000*(CC*100+YY);
ELSE YYYYDDD=.;
END;
ELSE YYYYDDD=.;
IF YYYYDDD GT 0 THEN DATEYYYY=DATEJUL(YYYYDDD);
ELSE DATEYYYY=.;
Here, the YYYYDDD confirms the MXG support for year 2000.
Eighty-two members contained 340 uses of DATEJUL() that
were modified by the addition of the above logic.
Note: the PD4 logic printed in Newsletter TWENTY-EIGHT
was incomplete; the above code is the tested code that is
now implemented in MXG 13.05.
Change 13.157 Cosmetic cleanup. Members EXECDALY, EXECEMAC, EXECPDB,
EXECDALY and EXECTEST were deleted; they had been replaced by the
EXECEMAC REXXxxxx members of the same suffixes in 1989, were kept
EXECPDB only for transition, and now are no longer needed (and
EXECTEST the EX prefix is now used only for dataset exit names).
Aug 7, 1995
Change 13.156 Support for MVS/ESA 5.2 System Logger Data SMF type 88
EXTY88 creates this new dataset:
IMAC88 TYPE88 - System Logger Data
TYPE88 These interval records record system logger activity and
VMAC88 system wide logger exceptions. IBM comments that if the
Aug 5, 1995 variable SMF88SIB (bytes deleted before the data was
migrated to DASD) is high, and variable SMF88SAB (bytes
deleted after data migration to DASD) is low, then the
system logger is successfully using the coupling facility
structure to avoid DASD input/output. MXG creates the
variable SMF88RAT as SMF88SIB divided by SMF88SAB.
This code has not been tested with data records. When I
have data records, I intend to produce reports similar to
IBM's sample program IXGRPT1 (in SAMPLIB).
Change 13.155 Support for OpenMVS File System Activity SMF type 92 adds
EXTY9201 six datasets:
EXTY9202 TYPE9201 - OMVS File System Mount
EXTY9204 TYPE9202 - OMVS File System Quiesce/Suspend
EXTY9205 TYPE9204 - OMVS File System UnQuiesce/Resume
EXTY9210 TYPE9205 - OMVS File System UnMount
EXTY9211 TYPE9210 - OMVS File System Open
IMAC92 TYPE9211 - OMVS File System Close
TYPE92 The only change in VMAC30 was to make labels consistent.
VMAC92 I used the pre-existing MXG variable names from the type
Aug 5, 1995 30 record where appropriate. This table shows what is
and what is not consistent between 30s and 92s:
MXG Type 30 Type 92 Description
Variable field field
OMVSAPG n/a SMF92APG Parent Process Group ID
OMVSASG n/a SMF92ASG Parent Session ID
OMVSOPG SMF30OPG SMF92PGD Process Group ID
OMVSOPI SMF30OPI SMF92PID Process ID
OMVSOPP SMF30OPP SMF92API Parent Process ID
OMVSOSI SMF30OSI SMF92SSD Process Session ID
OMVSOUG SMF30OUG SMF92GID Process User Group ID
OMVSOUI SMF30OUI SMF92UID Process User ID
JOB SMF30JBN SMF92JBN Job name
READTIME SMF30RST SMF92RST Read-In/Logon Datetime
STEPNAME SMF30STM SMF92STM Step Name
STEPNR SMF30STN n/a Step Number
SUBSTEP SMF30SSN n/a Sub Step Number
The SMF Manual (GC28-1457-01) has a good introduction to
OMVS accounting records in Chapter 8 (but the schematic
does not show when the 92s are written). This new type
92 record looks very useful in measuring Unix-under-MVS
I/O activity, something not available in other Unix!
This code has not been tested with data; I hope to get
test data with both OMVS 30s and 92s for testing and
intend to write a technical note on OMVS at that time.
Thanks to Lee Borgman, Boeing, USA.
Change 13.154 If CICINTRV was executed outside of BUILDPDB, it failed
CICINTRV because the macros defined in IMACCICS were not included.
Aug 4, 1995 (BUILDPDB includes IMACCICS before invoking CICINTRV.)
Add %INCLUDE SOURCLIB(IMACCICS); at beginning of code.
See Change 14.188.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.153 NPM 1.5 creates subtype 18x record with invalid data for
VMAC28 variables LNADDCTD and/or LNADDCTT, causing INVALID
Aug 3, 1995 ARGUMENT TO FUNCTION INPUT message and a hex record dump
is printed on the SAS log. Those fields did not exist in
release 1.5, but when they are non-zero, they cause the
error, because MXG expected if the LENAOF=136, it was
because the two new fields were in your record. There
is no impact on the MXG datasets, but the message and the
printed dump can be avoided by changing the test:
IF LENAOF GE 136 THEN DO; to read:
IF LENAOF GE 136 AND NPMPVN GE 15X THEN DO;
Thanks to ???, ???, Hong Kong.
Change 13.152 User-written invocations of VMXGSUM must be examined, due
VMXGSUM to a just-discovered incompatibility introduced in Change
Aug 3, 1995 12.084 (MXG 12.02 and later). Even though you used the
MXG examples, if your %VMXGSUM uses an OUTCODE= parameter
to re-calculate the DATETIME= variable-name, your results
may be seriously wrong. If your code looks like this:
DATETIME=STRTTIME,
INTERVAL=MONTH,
SUMBY =APPLID DATETIME TRANNAME,
OUTCODE =STRTTIME=DATETIME; DROP DATETIME; ,
it must be replaced with this:
DATETIME=STRTTIME,
INTERVAL=MONTH,
SUMBY =APPLID DATETIME TRANNAME,
ID =STRTTIME,
Prior to 12.084, the DATETIME= variable-name was forced
to LENGTH 8, but when the new ID=variable-name parameter
was added to replace the recalculation in the OUTCODE=
parameter, the automatic forcing of LENGTH 8 was dropped.
All MXG invocations of %VMXGSUM were changed, but I did
not realize nor document this exposure if you did not
make the change.
(Eliminating OUTCODE= eliminates a data step; also, since
12.084+ keeps only the needed variables, the variable
might not even exist to have its length changed.)
When a datetimestamp value is stored in length 4, it can
be truncated by up to 255 seconds, which can cause the
summarization value to be on the prior day, week, or
month!
No code was changed by this documentation-only change.
Thanks to Ahn Ngo, Crowley Maritime Corporation, USA.
Change 13.151 -HP PCS variables NONEW NOKILL and NOSHORT are characters,
VMACHPAI not numerics. Add all three variable names to the $8
VMACHPSU FORMAT statement in VMACHPUX, and add NONEW and NOKILL to
VMACHPUX the $8 FORMAT statement in VMACHPAI and VMACHPUX to fix.
VMACHPUX -Comparing CPU time in the HPUXGLOB and HPUXAPPL datasets
Aug 2, 1995 shows expected comparison (HPUXAPPL records over 90% of
the global CPU time. However, HPUXPROC shows more CPU
time than was recorded in the HPUXGLOB, probably because
the CPU time IN HPUXPROC is in seconds (rather than tenth
of seconds), and it appears that fractional CPU seconds
are written as 1 second. The site has "Short Lived On",
causing records for tasks running less than one second,
which may contribute to the discrepancy. HP is being
contacted concerning the CPU time resolution in HPUXPROC.
Thanks to Dan Sidorick, Smith Klein Beecham, USA.
Change 13.150 MXG 13.04 tape only. Deleted line will cause ABEND.
ASMTAPES After label TIMRPOST, following the WTO statement and
Jul 31, 1995 before the PURGEDQ statement, insert:
L R8,PRGERMTR
MAINTLEV was changed from 4 to 5 to reflect this change.
========MXG Version 13.04, dated Jul 31, 1995, thru 13.149======
Change 13.149 Support for Kodak's ACXIS software for Kodak Optical Disk
ADOCAXC (by Data/Ware Development), Version 2.1.0, thanks to this
EXAXC01X significant user contribution creates ten new datasets.
EXAXC02X AXC01X - AXCIS DATA CREATION SUBTYPE 01X'
EXAXC02I AXC02X - AXCIS INDEX EXTRACTION SUBTYPE 02X'
EXAXC03X AXC02XIS - AXCIS INDEX EXTRACTION SEGMENT XIS'
EXAXC04X AXC03X - AXCIS LOCAL INDEX UPDATE SUBTYPE 03X'
EXAXC05X AXC04X - AXCIS GLOBAL INDEX UPDATE SUBTYPE 04X'
EXAXC06X AXC05X - AXCIS ARCHIVAL SUBTYPE 05X'
EXAXC07X AXC06X - AXCIS USER STATISTICS SUBTYPE 06X'
EXAXC08X AXC07X - AXCIS RETRIEVAL ACTIVITY SUBTYPE 07X'
EXAXC09X AXC08X - AXCIS FAILED RETRIEVAL ACT. SUBTYPE 08X'
IMACAXC AXC09X - AXCIS UNAUTH. ACCESS ATTEMPT SUBTYPE 09X'
TYPEAXC
VMACAXC
Jul 30, 1995
Thanks to Stephen Bell, Westfalisch Lippischen Sparkassen, GERMANY.
Change 13.148 I have never actually published standards for MXG code.
VMACXXXX Many users have contributed code that works, but I often
Jul 30, 1995 have to spend some time revising their code to my format,
because I have never formalized exactly how to write MXG
code. Member VMACXXXX and the other ....XXXX members are
good examples of the basic code structure, but I will now
begin to include specific coding standards that I try to
us, some cosmetic, some functional, for now in VMACXXXX,
but likely to be moved to a different-named member in a
subsequent iteration.
Change 13.147 Support for LEGENT's HyperBuf SMF Record adds new dataset
FORMATS TYPEHBUF, thanks to this user contribution. The original
EXTYHBUF code was tested with Beta Release 4.02 of HyperBuf,
IMACHBUF although I changed some of the code (see change 13.148)
TYPEHBUF and only syntax checked afterwards, as the test data file
VMACHBUF had not yet arrived for validation.
Jul 30, 1995
Thanks to Joseph G. Ogurchak, Westfield Companies, USA.
Change 13.146 Five variables in NDM Connect Direct NDMMC dataset
VMACNDM (NDMTNAME,NDMFNAME,NDMANAME,NDMNRECS,NEMNBLKS) and four
Jul 30, 1995 variables in NDMWO (NDMTNAME,NDMFNAME,NDMANAME,NDMTSKNO)
were wrong because NDMUID was expanded from 8 to 64 bytes
in these records. The MXG test:
(NDMRTYPE='MC' AND LENGTH=168) must be changed to read
(NDMRTYPE='MC' AND (LENGTH=168 OR LENGTH=214)) to fix.
In addition, the actual change now inputs and keeps new
variable NDMWODAT, the undocumented text string at the
end of the WO record. (I suspect my DSECTS are old!).
Thanks to ???, Alcatel, FRANCE.
Change 13.145 Support for Packet/Main SMF record creates 11 datasets
EXPKMNBI thanks to this significant user contribution:
EXPKMNBL PKMNCONN - Connect to TIC
EXPKMNCO PKMNDISC - Disconnect from Packet Network
EXPKMNDI PKMNBIND - Bind Completed
EXPKMNER PKMNUNBN - Unbind processed for user
EXPKMNFE PKMNERR - Error Events
EXPKMNFL PKMNSTUP - Startup of PKTMN Program
EXPKMNFS PKMNSHUT - Shutdown of PKTMN Program
EXPKMNSH PKMNBLOG - Bind Image Log (for Session Data Logging)
EXPKMNST PKMNFLOG - Outbound FMD Logical Message (for ")
EXPKMNUN PKMNFTST - File Transfer Start
IMACPKMN PKMNFTEN - File Transfer End
TYPEPKMN The first five datasets have been validated with data.
VMACPKMN
Jul 29, 1995
Thanks to Mr. Loewenthal, Zonussi Elettrodomestici, ITALY.
Change 13.144 Support for NetCompress SMF record creates six datasets,
DIFFNTCP thanks to this significant user contribution:
EXNTCPAP NTCPINAP - Application Interval - type 03
EXNTCPOP NTCPINSY - System Interval - type 02
EXNTCPRT NTCPSESS - Device Session Start - type 05
EXNTCPSE NTCPSESE - Device Session End - type 06
EXNTCPSS NTCPSTRT - System Startup - type 01
EXNTCPSY NTCPSTOP - System Stop - type 04
EXNTCPOP Since the NTCPINSY dataset contains accumulated fields,
IMACNTCP member DIFFNTCP is automatically included in TYPENTCP,
TYPENTCP Note if you tailor BUILDPDB to add NTCP processing, you
VMACNTCP must also add %INCLUDE SOURCLIB(DIFFNTCP) in EXPDBOUT.
Jul 29, 1995 However, since the documentation does not describe which
fields are in fact accumulated versus end point values,
I had to deduce from the test data which fields to DIF(),
so please validate closely that I got them all!
Thanks to Mr. Loewenthal, Zonussi Elettrodomestici, ITALY.
Change 13.143 TSO/MON 6.1 only, variables TRIVTM NTRIVTM and LONGTM are
VMACTSOM were 38400 times too small; replace the three TU4. with
Jul 29, 1995 &PIB.4. and the values will be correct. (When I validated
the 6.1 changes last fall with test data, I only looked
the counts of transactions, and failed to perform a
reasonableness check on the response time values.)
Thanks to Yingha Mui, Canada Life, CANADA.
Change 13.142 Variables LCSLCBR and LETHCBR were misspelled as the 2nd
VMAC28 occurrence of LSCLCBS and LETHCBS, and the second label
Jul 28, 1995 for LCSLXBYT was deleted.
Change 13.141 Cosmetic changes. Duplicate variable names occurred in
VMACHPUX KEEP= statements, causing no error, but as they really
VMACIAM serve only to confuse, the duplications were removed.
VMACOMCI The MEMBER(VARIABLE) that were changed in each member:
VMACXAM VMACHPUX(EXPORTIM), VMACIAM(IAMAVGRL), VMACOMCI(EAMAXT),
VMAC110 VMACXAM(SLORESP1,SLORESP2), VMAC110(LDGDPSCR),
VMAC7072 VMAC7072(CPUWAITD,CPUWAITE,CPUWAITF), VMAC99(PHSPS).
Jul 27, 1995 (Freddie's diagnostic program, which reads MXG source to
look for inconsistencies, found these duplications.)
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.140 DFSORT Release 13 only. Variable ICEINPDS was repeated
VMAC16 four times in the KEEP=, the LABEL, and the INPUT
Jul 27, 1995 statements. The 2nd thru 4th occurrences of ICEINPDS
should have been ICEINNDS, ICEOUTDS and ICEOFLDS.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.139 Almost cosmetic; MXG previously kept only the first 9
DIFFDB2 IFCs and Destinations in DB2STAT0, and printed a message
VMACDB2 ("This is not usually important") if additional segments
Jul 27, 1995 were found in your record. Since this caused a few calls
I elected to increase the kept IFCs and Destinations to
14, since that appears to be the default count. These
counts of activity by IFC and Destination are rarely
needed, but now they exist. See Change 12.279.
Change 13.138 Using TYPEMON8 to process Landmark TMON/CICS Version 1.3
TYPEMON8 will cause the "IT APPEARS YOU ARE TRYING TO PROCESS ..."
Jul 26, 1995 message about decompression exit. That text now reminds
you that TYPETMON is required for Version 1.3 records.
Thanks to Jerry Boggess, County of Sacramento, USA.
Change 13.137 The MICS VM Data Transmission Program's VB output file is
VMACVMXA already supported in MXG VM/ESA member VMACVMXA, by using
Jul 26, 1995 the _VMINPUT macro instead of the _MWINPUT macro.
Only comments were changed by this Change.
Thanks to Ian Davies, Workers' Compensation Board of Alberta, CANADA.
Change 13.136 Variables HMF5BUS and HMF5TIME were not in the KEEP= list
VMACHMF for dataset TYPEHMF5, and they were also left out of the
Jul 26, 1995 LABEL statement in change 13.038.
Thanks to Shaheen Pervaiz, Acxiom CDC Inc, USA.
Change 13.135 This revision to the MXG Tape Mount and Tape Allocation
ASMTAPES monitor provides SRB reliability enhancements and adds
VMACTMNT new diagnostics. This is MAINTLEV 4 of the monitor and
Jul 25, 1995 should resolve several erratic problems with the SRB
Jul 29, 1995 routine (including, possibly, the occasional stall where
the monitor stops writing SMF records). This revision
creates a separate mount record for PROGRAM=IEFIIC, which
is now known to be the program name seen when a job step
is delayed in allocation recovery, and I intend to see if
there is any way to match up this IEFIIC record to its
related job, but I have to get the monitor into test site
hands to create the test data to examine first! Because
these PROGRAM=IEFIIC records represent allocation rather
than mount delays, I chose to delete them in VMACTMNT so
your statistics will not be affected. Sites wishing to
examine these records can remove that test from VMACTMNT.
Thanks to Tom Parker, Hogan Systems, USA.
Thanks to Jim Purdie, BancOne, USA.
Thanks to David Childers, Lowe's, USA.
Thanks to Shaheen Pervaiz, TransUnion, USA.
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 13.134 Date/time selection failed, especially crossing midnight.
ANALRMFR Find and delete each of the 44 lines containing either
Jul 24, 1995 IF TIMEPART("&BEGTIME"DT) LE TIMEPART(STARTIME);
or
IF TIMEPART("&ENDTIME"DT) GE TIMEPART(STARTIME);
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.133 Candle's Supersession Release 147 causes MXG message that
VMACNAF "More account fields were encountered ..." is corrected
Jul 24, 1995 by Candle PTF QLV1372.
Thanks to Mr. Schott, Rehau AGu. Co., GERMANY.
Change 13.132 Variable DURATM was neither calculated nor kept in the
VMAC28 NPMVSVGB data set; it was added to the KEEP= list and
Jul 24, 1995 created in the 'VGB' segment processing.
Thanks to Carl Sommer, SAS Institute Cary, USA.
Change 13.131 Several corrections to HSM FSR SMF record processing:
VMACHSM -Variable FSRTBYTW was mis-calculated. It should be:
Jul 24, 1995 FSRTBYTW=SUM(FSRTBYBK,FSRTBYTW);
-The DO I=1 to FSRNENT1 loop should have included all of
the SUM functions and the FSRTVOLS logic, with the
%INCLUDE SOURCLIB(EXHSMFST) and END relocated to just
before the DO on FSRNENT2. Before this change, MXG only
output the counts for the last tape when this FSR had
multiple tapes, and always had TPTYPE='INPUT'.
-Variable FSRTVOLS was added to LENGTH statement as $30.
Thanks to Wanda Prather, Johns Hopkins University APL, USA.
Change 13.130 Internet addresses FTPCLHST FTPCRHST F20LHST and F20RHST
VMACILKA were numeric variables in hex; with this change they are
Jul 24, 1995 character variables of length 15 with numbers and decimal
points between them. Inputting each of the four bytes as
individually using PIB1. and then concatenate the PUT
function of each byte, using:
ADDR=PUT(B1,3.)!!'.'!!PUT(B2,3.)!!'.'!!PUT(B3,3.)!!'.'
PUT(B4,3.));
Note added Aug 1996: Data from before and after this
change cannot be combined, as these four variables are
numeric before and character after. If you must combine
(i.e., year to date), then you must convert these four
variables in your existing accumulation from numeric to
character, using this logic:
MACRO _CONVERT
B1=FLOOR(X/65536);
B2=FLOOR((X-B1*65536)/4096);
B3=FLOOR((X-B1*65536-B2*4096)/256);
B4=MOD(X,256);
ADDR=PUT(B1,3.)!!'.'!!PUT(B2,3.)!!'.'!!PUT(B3,3.)!!'.'
PUT(B4,3.));
%
DATA NEWACCUM; SET OLDACCUM;
DROP FTPCLHST FTPCRHST F20LHST F20RHST;
X=FTPCLHST; _CONVERT; XTPCLHST=ADDR;
X=FTPCRHST; _CONVERT; XTPCRHST=ADDR;
X=F20LHST; _CONVERT; X20LHST =ADDR;
X=F20RHST; _CONVERT; X20RHST =ADDR;
DATA OLDACCUM; SET NEWACCUM;
DROP XTPCLHST XTPCRHST X20LHST X20RHST;
FTPCLHST=XTPCLHST;
FTPCRHST=XTPCRHST;
F20LHST =X20LHST ;
F20RHST =X20RHST ;
Thanks to Mohammad Mourad, AT&T, USA.
Change 13.129 DB2 Statistics Report again, but only individual fields!
ANALDB2R -PMSTA01/PMSTA02 labels for Buffer Pools BP0 and BP1 for
DIFFDB2 GENERAL and READ ACTIVITY were printed as BP1 and BP2.
VMACDB2 In ANALDB2R find GENERAL and make the following change,
Jul 24, 1995 and then find READ ACTIVITY and make the same change:
Jul 25, 1995 %IF &B EQ 1 %OR &B EQ 2 %THEN %DO;
Jul 26, 1995 @1 "BP&B GENERAL "
Jul 27, 1995 %END;
must be replaced with:
%IF &B EQ 1 %THEN %DO;
@1 "BP0 GENERAL "
%END;
%ELSE %IF &B EQ 2 %THEN %DO;
@1 "BP1 GENERAL "
%END;
-The LOG RBA field is printed as a decimal when it is a
hex address, and must be stored as length 8.
In ANALDB2R, find this line with QWSDLR and add HEX12.:
+2 'LOG RBA :' QWSDLR HEX12. ;
In VMACDB2 add variable QWSDLR to the LENGTH statement
to make it length 8 instead of the default length of 4,
and add a line QWSDLR HEX12. to the FORMAT statement.
(I chose HEX12 for an 8-byte field because RBA is a 24bit
address, and because HEX16 produces wrong values - see
SAS Technical Note).
In DIFFDB2, remove the line QWSDLR=DIF(QWSDLR);
-The second of the two lines with this label is wrong:
DBD REQUESTS NOT IN EDM
Change that 2nd label to DBD REQUESTS/DBD NOT IN EDM
The original calculation was always correct.
-The value for REQUESTS FOR PT SECTIONS in the Statistics
summary is incorrect. Find the line reading
+3 'REQUESTS FOR PT SECTIONS '
and change the next line to QISEKTG instead of QISEKT.
Now, find the previous SUM= statement and add QISEKTG.
-Statistics Detail report, page 4, right half of page
(AUTHORIZATION ATTEMPTS thru LOOK AHEAD MOUNT SUCCEED):
The /MINUTE /THREAD /COMMIT columns contain wrong values
(the left hand COL1xxxx variables are printed instead of
the right hand COL2xxxx variables). You must find each
of the report labels for the right hand column, and for
those that are followed by lines with COL1PMIN COL1PTHD.
and COL1PCOM, change the COL1xxxx to COL2xxxx. Twenty-one
sets of three lines were changed.
-Statistics Detail report, page 6, right half of page,
(GET PAGES thru RANDOM GET PAGE RESULTS), same error as
page 4 - file labels and change COL1xxxx to COL2xxxx.
Thanks to Neil Ervin, Huntington Service Company, USA.
Thanks to Cal Cooke, Huntington Service Company, USA.
Thanks to Dean Berry, Farmland Industries, Inc, USA.
Change 13.128 Support for APAR OW13246 (PSF/MVS Release 2.2.0) adds new
VMAC6 variables SMF6BYTE (bytes transmitted) & SMF6TARG (target
Jul 23, 1995 address) to dataset TYPE6, for sites exploiting the new
PSF/MVS Download feature. Note that these new variables
are not automatically carried into the PDB.PRINT dataset
with BUILDPDB, but you can tailor IMACPDB easily to add
them if you need them.
Change 13.127 This change is for documentation of an incompatibility
FORMATS with SAS Version 5; there was no actual change. Beginning
Jul 23, 1995 with MXG 13.01, member FORMATS cannot be executed under
SAS version 5 or SAS version 6.06, nor can it be executed
if the output LIBRARY is a version 5 format library. The
syntax OTHER=(| $HEX2. |) added by Change 13.061 did not
exist in those archaic versions of SAS. However, if you
delete all of the lines in member FORMATS with that
OTHER= syntax, the formats program will execute without
error, even on those old versions.
Change 13.126 This change was revised after Newsletter 28 was printed.
VMACVMXA VM/ESA MONWRITE records written both by Sterling's
Jul 23, 1995 VM/Monitor and by IBMs MONWRITE have changed in VM/ESA
Jul 24, 1995 2.2. MXG calculated the number of control records using
Aug 22, 1995 NRCRRECS=(IPRMMSG2-IPRMMSG2+1)/12; (even though there is
only one control record per block), and verified that the
record was a control record by testing IPARMLF1=8709x,
but the IPARML control block has changed. Sterling writes
records with IPRMMSG1=IPRMMSG2=028x that have MWTCAREA of
all zeroes (so this is not a valid control record, altho
028x is the correct offset to where MWTCAREA should be!),
and IBM writes records with MSG1=MSG2=3Fx that do contain
a valid MWTCAREA, but 3Fx is the wrong offset to it!
(These heuristics were needed in early VM/XA records, but
now that the IPARML has changed, they can and must be
removed with these changes:
-The block IF MOD(IPARMLF1,10000X) NE 8709 ... to END;
was deleted.
-The calculation NRCRRECS=(IPRMMSG2-IPRMMSG1+1)/12; and
the following INPUT @IPRMMSG1+1 @; was replaced with:
NRCRRECS=1;
INPUT @41 @;
(the code added by the July change, between these two
lines was also deleted by this August change).
-After the @; after CAEND is input, insert this code:
IF CASTR=0 AND CAEND=0 THEN DO;
NRCRRECS=0;
DELETE;
END;
With these changes, MXG now skips over the MWTEXTBF area
that contains the IPARML control block, and instead reads
the MWTCAREA directly to determine how much data (if any)
follows this control record.
Thanks to Ian Davies, Workers' Compensation Board of Alberta, CANADA.
Thanks to Connie Mak, Avon, USA.
Change 13.125 Landmark TMON for MVS corrections. The line reading:
VMACTMVS IF JDSTCBS GT 10000 THEN DO;PUT _N_= COL=;LIST;STOP;END;
Jul 23, 1995 was deleted. That debugging code for a bad record (over
Aug 21, 1995 10,000 TCBs in real memory) caused the MXG job to stop
before the end of the input file, and there was no error
message nor condition code set by MXG; the only clue was
a single record hex dump printed on the SAS log.
Variables STARTIME and DURATM were removed from the KEEP=
list for dataset TMVSCC (which is an event record, not an
interval), and SYSTEM=CCCSMFID; was inserted before the
%%INCLUDE SOURCLIB(EXTMVCC);
to correct the blank value for SYSTEM in that dataset.
Also, variable CFIUTYPE was changed from numeric to
character and formatted $HEX8, to be consistent with the
other occurrences of unit type in other TMVS records. I
recognize this may cause a problem if you combine TMVSCF
data sets built before and after this change.
Thanks to Rod Fernandes, Albert Heijn B.B., BELGIUM.
Change 13.124 RMM SMF Record caused INVALID DATA FOR MDUCDATE/MDUCTIME
VMACEDGS if there had been no user change because the PD4 fields
Jul 21, 1995 were nulls. Insert ?? between the variable name and
the &PDB.4. format name in the two lines which input the
variables MDUCDATE and MDUCTIME.
Thanks to Bob Newbury, University College System of Nevada, USA.
Change 13.123 Variables B1DIS B1INT CPGM LPGM ROBID ROBTY and SMSMC are
TYPETMS5 added to the output datasets created by TYPETMS5; these
Jul 21, 1995 variables (new in TMS Release 5.1) were added to VMACTMS
by Change 13.083, but were not carried into the datasets
created by the TYPETMS5 processing.
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.122 Variable RACFUSER from type 30 was added to the DSETOPEN
ANALDSET and DSETSUMS datasets created from 14/15/64 records so
Jul 21, 1995 that Auditors can know the submittor of the job that did
the access to the file.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.121 Reading your 3990 Mod 11 Fat DASD with SAS INFILE CVAF
VMXGVTOC option will fail, because the DSCB 5 2-byte addresses are
Jul 19, 1995 3-bytes for those devices. Removing the CVAF option will
circumvent the SAS error, because MXG does not need the
DSCB 5 records to constuct the VTOC datasets. However,
far better than using this old VMXGVTOC technology, the
ASMVTOC/VMGXVTOF pair have been the recommended VTOC tool
in MXG for years. If you now have DFSMS, using their
DCOLLECT is even better, since it includes the VSAM and
VVDS data that previously required you to also run the
ASMVVDS/TYPEVVDS pair. I have removed the CVAF option
from the INFILE statement to prevent this error, should
anyone still be using VMXGVTOC and not read this note.
April 20, 2006 Notes:
1. Member JCLDAYDS and DAILYDSN are the members to
use to capture/bill-for disk space and tapes.
2. SAS Note SN-015522 for SAS Version 9.1.3 does
now recommend specifying the CVAF option in the
INFILE statement to circumvent an 0C4 ABEND in
module UNKNOWN function VXVTC at offset 00082C.
Thanks to Terry Poole, SAS Institute Cary, USA.
========MXG Version 13.03, dated Jul 19, 1995, thru 13.120======
Change 13.120 Support for Boole & Babbage's HiperCache 4.1.1 and 4.1.3,
VMACHIPR (INCOMPATIBLE, because data was inserted into the fixed
Jul 18, 1995 portion of the record and LSR segments were expanded).
The JCTJOBID,INITTIME and READTIME were added to the VSAM
record, and LSR subpool information added new variables
SMFnnHSB,HSR,HSW,HFR,HFW,MFH,MTH,FFH, and FTH for buffers
in hiperspace, and successful/failing reads/writes
and move-pages to/from hiperspace.
Thanks to Dave Myers, Time Warner Cable, USA.
Change 13.119 XMXGSUM update. This new enhanced replacement for VMXGSUM
XMXGSUM was ready to go, until I ran TESTANAL and discovered that
Jul 18, 1995 repetitive invocations of the new logic caused strange
errors (Unable to Load IMAGE SASQUIL, Unable to Open
File) due to memory problems. Increasing the REGION= to
48M eliminated the errors, but until I examine why there
is an increase, it is not safe to replace VMXGSUM yet.
But because you are wise enough to read this text, and
can be prepared to increase region size to save lots of
CPU, time, and DASD space, I strongly recommend you use
the new XMXGSUM (see comments therein) for summary of the
large datasets (CICSTRAN, DB2ACCT in particular).
Change 13.118 -DB2 Statistics Detail and Long Trace reports had EDM pool
ANALDB2R variables that were non-zero for never-happened, and some
ADOCDB2 totals were printed instead of averages. One logic error
Jul 18, 1995 (repeated variables in SUM= list) was not caught because
the test suite uses the new XMXGSUM replacement for
VMXGSUM, and one of the many enhancements in the XMXGSUM
replacement is that it weeds out any duplicates! Using
XMXGSUM will correct some of the report values, but not
all, so you will still need to install the new ANALDB2R.
-Audit reports show FORMAT $DB2OBID NOT FOUND, even though
the log shows they were created. I think the error is an
out of memory condition while loading this very large
format, but there is no clue on the log!
But the real culprit is the creation of the TEMPDBID and
TEMPOBID datasets that are used as CNTLIN= for PROC
FORMAT. The early logic to map DBID/OBIDs output one
value for each T102S105/T102S107 obs, (open), but a new
value is needed only if the mapping changed, so the logic
now outputs one value for each unique mapping. The
500,000 obs in TEMDBDID dropped to 2,000 and the memory
problem disappeared.
Increasing MEMSIZE and REGION may circumvent, but 72MB
was not enough with 500,000 obs in TEMPOBID dataset
that is used as CNTLIN= for PROC FORMAT.
-ADOCDB2 was updated with an IBM note on why SRB CPU time
in DB2ACCT is invalid for CICS attachment and for DDF.
-PMSQL01 trace was rewritten as a series of sorts and one
monster data step using SET and a BY statement to save
DASD space. Major reduction in DASD space with this
revisions (200 cyl now, 3000 cyl not enough before!).
Time selection is only at the report level for SQL01;
all data still must be read and processed (hence put on
temporary DASD). We are reviewing alternatives for the
next version, but this change makes SQL trace feasible
even with 500,000 trace events in only 200 cylinders of
WORK space (previous version failed to complete with an
entire 3000 cyl volume!). You can always use IMACFILE
to select SMFTIME of interest with PDB=SMF execution
until we have time to address this enhancement to SQL01.
Thanks to Phil Schwartz, Pershing, USA.
Thanks to Dean Berry, Farmland Industries, USA.
Thanks to ???, Schweizerische Bankgesellshaft, SWITZERLAND.
Thanks to Clark Jennings, Reynolds Metals Company, USA.
Change 13.117 Variables were not kept because they were misspelled in
VMACCADM the KEEP= list. Variables STFKUS18 STIVSR10 STIVSR16
Jul 15, 1995 STIVSR22 STIVSR28 and STIVSR34 replace their misspelling.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.116 Landmark converted History Records with invalid data for
TYPEMON8 MRO segment cause "INVALID OFFSETS IN USER SEGMENTS".
Jul 15, 1995 The record is defective, and Landmark is investigating
their error, but MXG, by default, DELETEs the record so
there is no observation output. To circumvent, insert
MROCOL=0; MRONUM=0; after MROCOUNT=0; so that the MRO
logic will not be executed. This will cause zero obs in
the dataset MONIMRO, and variables MROTIME,MROCOUNT will
always be zero in dataset MONITASK, but dataset MONITASK
will contain valid observations. This circumvention will
NOT be installed in MXG software; it is printed here only
for user modification until Landmark fixes their error.
Thanks to Warren Tanaka, Farmers Insurance Group, USA.
Thanks to Bill Padilla, Farmers Insurance Group, USA.
Change 13.115 TYPE42 variables AVGCONMS AVGDISMS AVGPNDMS had format
ADOC74 TIME13.3, but those MS PER SSCH variables should be 5.1
VMAC42 (so that 12.1 milliseconds prints as 12.1 instead of
VMAC74 0:00:12.100!). If BUILDPDB includes type 42 records,
VMACVMXA the TYPE74 variables will also have wrong format. The
Jul 12, 1995 -VMAC42. Move AVGCONMS AVGDISMS AVGPNDMS from TIME13.3 to
5.1 format in VMAC42, labels were made consistent.
-VMAC74. Labels were made consistent.
-ADOC74. Variable AVGENQMS noted as always missing in XA.
-VMACVMXA. Labels were made consistent.
-VMAC74. Also, variables AVGPNDIR PCTPNCHA PCTPNDIR were
added to 5.1 format.
Thanks to Tim Carne, Nottinghamshire County Council, ENGLAND.
Change 13.114 Variable TPXSNAME (Session Name) was always blank. Change
VMACTPX IF SKIP GT 8 THEN DO; to IF SKIP GE 8 THEN DO;
Jul 12, 1995 TPXSNAME only exists in dataset TPXAPLON.
Thanks to Jim Tintle, Mack Trucks, Inc, USA.
Change 13.113 MXG 13.01-13.02B only. CICS Shutdown report may cause
ANALCISH NOTSORTED error.
Jul 12, 1995 -Move %REPORTS statement to before %IF &REQ_REP GT 0 ....
-Find the %VMXGSUM invocation with INDATA=CICTM. Change
NOSORT=YES to NOSORT=NO in that invocation. Remove the
statements PROC SORT DATA=&MXGDS OUT=&MXGDS %VMXGFOR;
BY &BYLIST; %LET BYLIST=SYSTEM APPLID;
that immediately precedeed that %VMXGSUM invocation.
Thanks to Chris Weston, SAS Institute, ENGLAND.
Change 13.112 ACF2 subtype "L" (dataset ACF2JR) logic was redesigned.
VMACACF2 The old logic created one before ARE obs and two after
Jul 12, 1995 ARE obs, even when there were multiple ARE segments, and
the LID was decoded but not output. The redesign creates
new dataset ACF2JRL to contain the LID fields (and the
identity of the changer), one obs in ACF2JRL for each "L"
record, and dataset ACF2JR now has one obs for each ARE
entry (either before or after) with the ARE field name
and field value and the identity of the changer.
While I expected a Before and an After ARE for each
field that was changed, that's not exactly what ACF2
writes out. For fields that are bit switches, those
fields only show up in an ARE when their value is 1.
Turning a bit switch on has no Before ARE but has an
After ARE. Switching a bit switch off has a Before ARE
with no After ARE entry, so Before/After AREs cannot
be paired, but ACF2JR dataset has all the information.
Thanks to Normand Poitras, Banque Nationale du Canada, CANADA.
========MXG Version 13.02B, dated Jul 6, 1995, thru 13.111======
Change 13.111 Several variables were not kept due to spelling errors,
IMACHURN macro _KHRN527 was misspelled in IMACHURN, and datetime
VMACHURN variables were not stored as LENGTH 8.
Jul 6, 1995
Change 13.110 MXG Position Paper on support for the Year2000. MXG now
YEAR2000 supports dates after 1999, but many data records from
Jul 6, 1995 many products do not. This paper identifies which fields
in which record from which vendor do not have field width
to support Year2000, and which fields must be validated
by vendors that, while wide enough, do in fact support
the Year2000. This member will be updated as vendors
make changes and verify their date formats.
Change 13.109 Only comments were changed, but a new example of how to
IMACFILE select CICS type 110 records by APPLID or SUBTYPE was
Jul 6, 1995 coded and added as a comment block.
Change 13.108 HSM dataset DGN only processed first dump copy when more
VMXGHSM than one copies were created at the same time; copies
Jul 6, 1995 will have same start date/time and source volume in the
base, but dump copies will have different dump class name
and tape volser, and may have different output units and
device types. Additionally, this correction adds vars
hh0 mm0 ss0 and tt0 to the keep= list (so that the MCDS
key can be reconstructed).
Thanks to Wanda Prather, Johns Hopkins Applied Physics Lab, USA.
Change 13.107 Temporary datasets used in these members were kept when
ANALCNCR they should have been deleted at the end of processing.
ANALINIT This is mostly cosmetic (some of these datasets ended up
ANALTAPE being documented in member DOCVER!) but it is MXG's
TRNDTALO intention to not leave datasets in the //WORK library.
Jul 5, 1995
Change 13.106 DB2 Reporting was still wrong in 13.02A. The Statistics
ANALDB2R Reports produced replicated pages and wrong totals, due
Jul 5, 1995 to a mislocated block of code (introduced in MXG 12.12).
Also, MXG 13.01 introduced a FORMAT NOT FOUND error for
DB2DBID or DB2OBID format in Audit Reports if there were
no IFCID=105/107 observations found; the Audit report was
enhanced to print the tablespace name instead of the hex
OBID/DBID value, but the Audit report logic did not tell
you that you needed the 105/107s to create the format!
Now, we will use 105/107s if found, but will not fail if
they do not exist. (However, our Format building logic
may require REGION=48M and MEMSIZE=48M in your CONFIG
member in this version, due to duplicate entries - we
know how to fix but not in time for MXG 13.02B.)
Finally, the SQL trace report can take a lot of DASD
space, and we are re-designing that report for better
execution performance in the next version, and we will
update the instructions in comments in ANALDB2R for the
IFCIDs needed/used in various reports.
Thanks to Dean Berry, Farmland Industries, USA
Thanks to Neil Ervin, Huntington Service Company, USA.
Change 13.105 DCOLLECT with SMS 1.2 fails with INPUT STATEMENT EXCEEDED
VMACDCOL error, and prints a hex dump of a 260-byte record, if you
Jul 5, 1995 still have LRECL=264 specified in the JCL for DCOLLECT.
With SMS 1.2, the LRECL=644 must be specified for the
output of DCOLLECT (see Change 12.316, only in 12.12A),
but I did not cross-reference that change to this error.
Change 13.104 Variable GMTOFFTM was missing if LENPROD=60 (but this had
VMAC7072 no effect, as GMTOFFTM is not actually used in MXG, it is
Jun 29, 1995 only a kept variable in TYPE70). GMTOFFTM=GMTOFF70; was
inserted after GMTOFF70=GMTOFF70/4096;
Thanks to Don Friezen, B.C. Systems, CANADA.
Change 13.103 Support for 4-digit UCB addresses in Cache RMF Reporter.
VMACACHE Variables DEVN and DEVPLX need to be formatted HEX4..
Jun 29, 1995 Originally, I changed the input of @9 UNITADDR $EBCDIC3.
Jul 12, 1995 to @8 UNITADDR $EBCDIC4., hoping that IBM had the wisdom
to use that extra preceding byte for the UNITADDR, but
no joy, the byte @8 is still a reserved, hex 00 byte.
So UNITADDR in CACHE90 dataset is only 3 characters, and
you must use DEVN variable for the device number (the new
name for unit address). This note revised Jul 12, 1995.
Thanks to Rick Balint, Seattle First, USA.
Change 13.102 Support for AUTOMATE had some incorrect field lengths in
VMACAUTO the initial coding. Input of SMFA_SSN was changed from
Jun 29, 1995 $EBCDIC3. to $EBCDIC4., and SMFA_NAM from $EBCDIC3. to
$EBCDIC8. Also, SMFA_ST was added to DATETIME21.2 format
and SMFA_SSN was added to the KEEP= for all datasets.
Thanks to Rik van Roy, Procter & Gamble ETC, BELGIUM.
========MXG Version 13.02A, dated Jun 28, 1995, thru 13.101======
Change 13.101 VM CPU ID values of 'A01234'X were not supported by the
TYPEVM &PK.3. informat used in MXG, so the input was changed to
Jun 26, 1995 &PIB.3., and formatted HEX6. to support all hex valued
in the CPU ID field.
Thanks to Mr. Koeller, Sparkassen-Datendienst AG & Co. KG, GERMANY.
Change 13.100 MXG inputs DOS dates using MMDDYY8. format, because that
TYPEDOS is the way IBM writes them in the US. However, if your
Jun 26, 1995 site uses European format dates under your DOS, you will
have to change the three MMDDYY8's to DDMMYY8 because
there is no way to detect from the record.
Thanks to Mr. Koeller, Sparkassen-Datendienst AG & Co. KG, GERMANY.
Change 13.099 All nine occurrences of DATE &PD.4. were changed to
VMACFTP DATE ?? &PD.4. to suppress error message and hex dump
Jun 26, 1995 if invalid (or null) dates are found in the record.
Thanks to Mr. Koeller, Sparkassen-Datendienst AG & Co. KG, GERMANY.
Change 13.098 DB2 Accounting fields with repeated commas create SMF 101
VMACDB2 records with repeated 'FF'x values, causing MXG parsing
Jun 26, 1995 logic to fail, generating error messages on the log.
Replace all nine occurrences of IF LOC=0 THEN ...
with IF LOC LE 1 THEN ...
Thanks to Stephen Bell, Westfalisch Lippischen Sparkassen, GERMANY.
Change 13.097 Macro code which stripped blanks out of INDATA operand
XMXGSUM was removed; it was no longer needed (the XMXGSUM logic
Jun 26, 1995 now parses individual words of the INDATA string) and it
was found to consume significant CPU time.
Thanks to Mitch McKenna, SAS Institute Europe, GERMANY.
Change 13.096 DB2 Statistics Reports were corrupted in MXG 12.12 when
ANALDB2R support for DB2 3.1 was added (a block of code was mis-
Jun 26, 1995 located). See Change 13.106.
Thanks to Mitch McKenna, SAS Institute Europe, GERMANY.
=======Spoke at Greater Boston CMG meeting in Waltham, MA, 21Jun95======
Change 13.095 TYPE72 variable DOMAIN (SMF72CDN) has a value of '5c5c'x
VMAC7072 for Report Performance Group observations, because there
Jun 19, 1995 is no domain for RPGN's - it is the Control Performance
Group that measures resource consumption by Domain.
(My transaction in RPGN=99 could span several Domains as
work changes Periods in its Control Performance Group)
Thanks to Maurice Clark, ISSC Australia, AUSTRALIA.
Thanks to Chris Nibbs, ISSC Australia, AUSTRALIA.
========Initial MXG Version 13.02, dated Jun 19, 1995, thru 13.095======
Change 13.095A Variable DEVNR in type 42 datasets was not formatted,
VMAC42 causing device 0181x to print as 385! Add to FORMAT:
Jun 19, 1995 DEVNR HEX4.
Thanks to Mark Robbins, W. H. Smiths Limited, ENGLAND.
Change 13.094 Variable LUNAME was skipped in the 'E3'x record causing
VMACNAF other variables in dataset NAFLOGOF to be trashed. After
Jun 19, 1995 RTYPE='E3'X test, after NAFRLN $CHAR4. insert
LUNAME $EBCDIC8. (and add to the KEEP= list for dataset
NAFLOGOF).
Thanks to Mark Hayden, General Accident, SCOTLAND.
Change 13.093 Support for DFSORT Release 13 (INCOMPATIBLE) added many
EXTY16IN new variables to TYPE16, and three new datasets are now
EXTY16SO created with details on each file used:
EXTY16OU TYPE16IN - Input Data Sets (including concatenations)
IMAC16 TYPE16SO - SORTOUT Data Sets
VMAC16 TYPE16OU - OUTFIL Data Sets.
Jun 17, 1995 Note that DFSORT Release 13 comes with a boost that is
Nov 15, 1995 specifically designed to improve sorting of SAS datasets
(and at no additional cost!) - see the IBM announcement!
Change 13.092 Support for OPC Release 3.0 (INCOMPATIBLE). IBM added 12
IMACOPC new bytes for TRLLENGT in the header, inserted 16 bytes
VMACOPC for new field MT0CAL for dataset OPC24_1, and added new
Jun 17, 1995 MTDTYPE=15 for Step Restart (new MXG dataset OPC24D_J).
To process Release 3 records, you can make these changes
until you get the new MXG version:
-Insert after the @; that is after the INPUT of TRLFILL:
IF _OPCVER GE 3 THEN DO;
INPUT +12 @;
OFFSMF=OFFSMF+12;
END;
-Insert after the @; that is after the INPUT of MT0OTX:
IF _OPCVER GE 3 THEN INPUT +16 @;
-Update your IMACOPC to set macro _OPCVER to 3. I chose to
leave the default Release in IMACOPC unchanged at 2.
This code has been tested against only some OPC records;
there may be additional changes if other subtypes were
changed, and this text will change if necessary.
Thanks to Mr. Riccardi, AGIP Petroleum S.p.A., ITALY
Change 13.091 Support for Legent's AUTOMATE User SMF record creates 11
EXAUTOxx new datasets. Of course, now that the work is done, I
IMACAUTO discover it is Legent's intention to stabilize AUTOMATE
TYPEAUTO and replace it with OPS-MVS! In any event, there is a
VMACAUTO what looks to be useful information in these eleven data
Jun 16, 1995 datasets:
AUTOCICS CICS Statistics
AUTOCMDS CMD Statistics
AUTOIMS IMS Statistics
AUTOMISC Miscellaneous Statistics
AUTOMSGS MSG Statistics
AUTOOPNG OPEN Interface General Statistics
AUTOOPNS OPEN Interface Session Statistics
AUTOPORT Port Session Statistics
AUTORULE Rule Statistics
AUTOSQL SQL Statistics
AUTOVARS Subpool Statistics
Thanks to Rik van Roy, Procter & Gamble ETC, BELGIUM.
Change 13.090 A new exit, EXPDBSPU, taken upon entry to member SPUNJOBS
EXPDBSPU was added for the SAS/CPE product, which needs to rename
SPUNJOBS work datasets prior to SPUNJOBS invocation. I doubt that
Jun 16, 1995 anyone else will need to use this exit.
Change 13.089 All MXG datasets should contain variables SYSTEM, SMFTIME
TYPECIMS and for interval datasets DURATM and STARTIME, and have
VMACOMVT a dataset LABEL. These members revised for consistency:
VMACEPMV -TYPECIMS - LABEL added; dataset was labeled in VMACCIMS,
VMACORAC but I just learned that SAS does not propagate dataset
VMACTSOM LABELs when the dataset name is reused! DELETE of the
VMACMDF temporary datasets TRANSACT and CHAINED was also added.
Jun 16, 1995 -VMACOMVT - Variable DURATM added to datasets OMVTTBUF,
OMVTTVR,OMVTTCTC,OMVTTNCP,OMVTTLCL,OMVTTETE, calculated
as DURATM=ENDTIME-BEGNTIME.
-VMACEPMV - Variable SYSTEM added to all datasets.
-VMACORAC - Variables SMFTIME, SYSTEM added.
-VMACTSOM - DURATM added to TSOMCMND, DURATM STRTTIME and
SYSTEM added to TSOMDRU, SMFTIME added to TSOMDSNS.
-VMACMDF - DURATM added (note archaic MDFTRACK became the
APAF product, supported by TYPEAPAF), calculated as
DURATM=GBLENDTS-GBLBEGTS;
-VMAC78 - DURATM added to KEEP= for TYPE78PA & TYPE78SP.
Thanks to Carl E. Sommer, SAS Institute Cary, USA.
Change 13.088 Datasets TYPETALO, TYPE72SC, and TYPE78 were overlooked
BUILDPDB and were left in the //WORK file after their last use,
BUILDPD3 but are now deleted in the PROC DATASETS, like all of the
BUILD002 PDB work datasets, to minimize the work space required.
BUILD003
Jun 15, 1995
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 13.087 Continued enhancement to IBM-format RMF reports has added
ANALRMFR the Coupling Facility Usage Summary and Coupling Facility
Jun 15, 1995 Structure Activity; PDBOUT logic now builds all of
RMF type 7x datasets; Change 12.310 was added for a
non-partitioned machine.
Change 13.086 CICS Shutdown report failed if compressed datasets were
ANALCISH used, because POINT= cannot be used with compressed data.
Jun 15, 1995 We used POINT= only because NOBS= used to require POINT=,
but since SAS version 6, POINT is no longer required.
Unfortunately, though, without the POINT= operand, if the
SAS dataset is on tape or in tape format, NOBS=NOBS must
read the entire dataset to find NOBS. In this change, we
only needed to know if there were any observations, not
how many, so the problem was circumvented with different
logic, and compressed or uncompressed data worked fine.
7Nov02 update: Above text revised. See member VMXGOBS
to get the number of observations from
disk datasets.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.085 Support for Antares' HURON SMF record creates 44 new data
FORMATS sets from the 20 subtypes of this extensive product. The
EXHRNnnn support exists now thanks to the significant contribution
IMACHURN of Glenn Bowman, who wrote the bulk of this support. I
TYPEHURN reviewed the code and made some cosmetic revisions (new
VMACHURN formats to decode bit strings, PIBx changed to &PIB.x,
Jun 15, 1995 sorted Labels), and validated with SMF data from a second
site (which uncovered an optional data segment in subtype
26), so I am quite comfortable with this code. Huron, to
be renamed ObjectStar, is a complex product with complex
instrumentation, but the "Huron Guide to Performance
Monitoring" documents much of the data quite well, and
two "Focus on Huron Performance" documents, subtitled
"Tuning Guidelines for Huron for MVS", and "Resource
Monitoring and Usage" give excellent discussions of how
best to analyze Huron data.
Thanks to Glenn Bowman, Wakefern Food Corporation, USA.
Thanks to Christa Neven, Geoep Boerenbond, BELGIUM
Change 13.084 -Support for APAR OW10393 which added a four byte field,
VMAC32 trashing the values in dataset TYPE32. The old MXG code
Jun 15, 1995 in this member did not protect for compatible changes by
IBM! The circumvention is to insert:
IF LENTSO GE 44 THEN INPUT +4 @;
after the block that inputs IOTMTOTL.
The actual change created new flag variable SMF32TCF='Y'
if variable SRMTRANS was set to zero by IBM because the
OUCB control block was not valid. When set, SRMTRANS
remains no longer valid for the duration of the session.
-Support for APAR OW12856, which adds one field (SMF32COS,
number of sections in subsequent records) to the header,
and raises the number of TSO command names that can
be monitored from 812 to 32767 by now creating more than
one type 32 record if necessary. This had no impact on
MXG logic, since MXG creates one observation for each
session segment in each record.
Thanks to Luc Mattheus, GEMEENTEKREDIET VAN BELGIE, BELGIUM.
Change 13.083 Support for TMS (CA-1) Release 5.1 (compatibly) adds
EXTMSDSN new variables to both TMS.TMS and TMS.DSNBREC. Both now
EXTMSTMS have CPGM (Creating Program Name) and SMSMC (SMS Mgmt
IMACTMS5 Class Name). Dataset TMS.TMS has new variables LPGM
VMACTMS5 (Last Used Program Name), ROBTY/ROBID Robotic flags,and
Jun 13, 1995 B1INT/B1DIS (B1 Security Integrity/Disclosure labels).
In addition, this revision added the "_L, _K" tailoring
macros in member IMACTMS5 (See Change 10.175), and the
EXTMSxxx Exit Members so TMS is now consistent with other
MXG processing members. These additions should be
transparent, and are needed only if you want to tailor
the contents of the TMS datasets.
Thanks to Lonnie Melamed, SHL, CANADA.
Change 13.082 DB2 3.1 only. No Statistics Reports, DB2STATS has zero
DIFFDB2 observations. The MXG logic demanded there be data in
Jun 13, 1995 DB2STAT0,DB2STAT1, and DB2STAT2 to OUTPUT to DB2STATS,
but DB2STAT2 only has observations if your DB2 uses the
new Hiperpools! The logic was changed from:
IF (QWHSRELN LT 2.9 AND IN0 AND IN1)
OR (IN0 AND IN1 AND IN2);
to:
IF IN0 AND IN1;
so that DB2STATS is created whether or not there are obs
in DB2STAT2.
I'm awaiting doc of a case where non-zero obs in DB2STATS
becomes zero obs in DB2TEMP2.
Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.
Change 13.081 ANALBLSR uses the EXCPDASD variable created by ANALDSET,
ANALDSET but ANALDSET did not sum the MULTIDD='Y' observations in
Jun 13, 1995 the STEPS dataset, so some calculations in ANALBLSR were
greater than 100%! A new data step was added to ANALDSET
to sum EXCPDASD, and also to output only one observation
per step. Insert after PROC SORT DATA=TYPE30.TYPE30_4...
DATA SORTSTEP.SORTSTEP;
SET SORTSTEP.SORTSTEP;
BY SYSTEM READTIME JOB SORTTIME;
DROP TOT_EXCP;
IF FIRST.JOB THEN TOT_EXCP=0;
TOT_EXCP+EXCPDASD;
IF LAST.SORTTIME THEN DO;
EXCPDASD=TOT_EXCP;
TOT_EXCP=0;
OUTPUT;
RETURN;
END;
A future MXG enhancement will provide a separate optional
routine that can be invoked during BUILDPDB or TYPE30
processing to sum all variables in the MULTIDD='Y'
observations into a single observation (applies to the
TYPE30_V, TYPE30_4, TYPE30_5, and TYPE30_6 datasets).
Thanks to Jerry Layne, Virginia Power, USA.
Change 13.080 Support for Sterling SAMS Storage Automation & Reporting
EXSAMSES System's user SMF record creates three new data sets:
EXSAMSTO SAMSTOT - Total pools, volumes, space avail and used
EXSAMSVO SAMSVOL - Per volume space stats, pool(s) of volume
IMACSAMS SAMSESOT - Per pool space statistics.
TYPESAMS SAMS Version 3.2.0 documentation/data was validated.
VMACSAMS
Jun 12, 1995
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 13.079 -DB2 Statistics Summary PMSTA01 was wrong or not printed,
ANALDB2R especially if INTERVAL=SHIFT was specified; this error is
Jun 12, 1995 fixable as described below.
-Only the first 60 bytes of the SQL text was printed in
the Audit reports; too many lines were changed to print
the change here.
-The PMSTA01 error can be corrected with:
Find the %VMXGSUM(INVOKEBY=PMSTA01 - ANALDB2R) segment.
- Change the argument KEEPIN=MINTIME MAXTIME,
to read KEEPIN=MINTIME MAXTIME STRTTIME,
- After the argument SUMBY= change
OR &PMSTA01 NE YES %THEN BEGTIME; to read
OR &PMSTA01 NE YES %THEN STRTTIME;
-Find the first COMMITS = SUM(Q3STCOMM, ....
then change the previous DURATM=ENDTIME-BEGTIME;
to read DURATM=ENDTIME-STRTTIME;
Thanks to Joe Richard, MBNA, USA.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Mitch McKenna, SAS Institute Europe, GERMANY.
Thanks to Victor Chacon, NYNEX Mobile Communications Co., USA.
Change 13.078 Disregard this change. It was reported that Change
VMAC110 12.324 causes SAP 5.0.c to get INVALID DATA FOR HH MM,
Jun 12, 1995 but &PK fields can't have invalid values! The problem
turned out to be a user problem, and there was no change.
Change 13.077 SAP Variable STCTIMTR bad. Because of MXG Change 12.324,
IMACICSA MXG 12.12A and MXG 13.01 and later expect SAP 5.0 data,
Jun 12, 1995 while MXG 12.12 and earlier expect pre SAP 4.3F records.
(SAP 4.3F changed STCTIMTR, 4.3J split STCFLAG/STCTASK.)
You will have to EDIT IMACICSA and verify (or change) the
INPUT of STCTIMTR (Start time) to match your SAP release:
pre-4.3F: STCTIMTR PDTIME4.
4.3F,4.3J,5.0: STCTIMTR &PIB.4.3
MXG Change 12.324 changed the INPUT of STCTIMTR from
PDTIME4 to PIB4.3 in member IMACICSA, thinking it was an
error, but it was a change between SAP 4.3J and SAP 5.0.
Unfortunately, it does not appear there is any way to
detect which version of SAP wrote the record, so you must
manually update MXG to tell me what you have!
Thanks to Norbert Korsche, OMV, AUSTRIA.
Thanks to Ralf Menz, COMLAB, GERMANY.
Thanks to Jens Schlatter, EDP Consulting Schlatter, GERMANY.
Change 13.076 ANALALL selects and prints all SMF records from a job,
ANALALL but had not been recently updated for new job-related SMF
VMAC24 records. Member IMACJBCK, the "job checking" exit that
VMAC33 is used to select by JOB name, should have been included
VMAC36 by every job-related record processing, but had not been.
VMAC42 Several VMACs create multiple datasets from different
VMAC59 subtypes, but only some subtypes are job-related, so the
VMAC60 ANALALL logic now prevents creation of those unneeded
VMAC78 datasets. These SMF records processing VMACs were hit:
VMAC80 24,33,36,42,59,60,78,80,91,101.
VMAC91
VMACDB2
Jun 12, 1995
Change 13.075 Support for WYLBUR Accounting from ACS Wylbur. This SMF
EXTYWYLA record is similar to TYPEWYLB (WYLBUR Accounting from OBS
IMACWYLA Wylbur), but five variables are added, and fields are in
TYPEWYLA different locations, hence the need for these new members
VMACWYLA to create new dataset WYLBURA.
Jun 12, 1995
Thanks to Matt Anderson, Texas Tech University, USA.
Change 13.074 Further performance improvement. LENGTH DEFAULT=4; is
XMXGSUM now set in first DATA step, saving //WORK space.More
Jun 11, 1995 diagnostics added internally.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.073 PDB.JOBS variables ABEND and CONDCODE cannot be used for
VMAC30 ABEND analysis; instead, PDB.STEPS must be used, because
Jun 9, 1995 a) programs abend, not jobs, and using PDB.STEPS lets you
identify which program was involved, so you can
separate inhouse-written programs from externally
acquired programs. Furthermore, counting ABENDs by
program will identify a trend that might be lost if
the same program abends many times in different jobs;
there may be only one ABEND per JOB so the program
would be overlooked if you counted by jobs.
b) multiple abends can occur in a job - which one do you
want in PDB.JOBS - the first, last, or which?, and
c) the type 30 subtype 5 record values are inconsistent:
variable CONDCODE is the value from the final step,
not the last step which failed, and
variable ABEND relates to the entire job, not a
specific step, based on bits in TERMIND1.
-However, an MXG logic error can cause type 30 subtype 5
to have ABEND='SYSTEM' for a job which had ABEND='USER'.
The correction is to replace
IF COMPCODE>=32768 THEN DO;
with these five lines:
IF TERMIND1='1.......'B THEN DO;
ABEND='SYSTEM';
CONDCODE=COMPCODE;
END;
ELSE IF COMPCODE>=32768 THEN DO;
Thanks to ???, Benetton, ITALY.
Change 13.072 APAR OW08641 for NPM Version 2.2 discusses support for
FORMATS LU 6.2 sessions acting in half-duplex flip-flop mode, and
VMAC28 adds new APPC values for Session Type in LSCDSTYP, so the
Jun 9, 1995 variable is now formatted by new format $MG028ST.
Note added Mar 27, 1998: The format $MG028ST was created
by this change, but the variable LSCDSTYP was not given
the $MG028ST format until Change 16.037!
Change 13.071 OS/400 Version 3.1 only, the DSARM and DSTYPE variables
VMACQAPM are reversed. The IBM documentation shows the order was
Jun 8, 1995 changed, so I coded to agree with the documentation, but
now real data proves that the documentation was wrong,
so now the code agrees with the data! Change the last
pair of INPUT's of DSARM and DSTYPE so that the order is
DSARM, then DSTYPE. There are three pairs of INPUTs, and
now, all will have DSARM before DSTYPE.
Also, two references to variable SPRES2 were removed.
Thanks to Clark Jennings, Reynolds Metal, USA.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.070 Dataset NDMCT variable NDMDSDSN (Source Dataset Name)
VMACNDM was added to the KEEP= list, the second occurrence of
Jun 8, 1995 NDMDODSN in the LABEL statement was changed to NDMDSDSN,
and the first INPUT of NDMDODSN was changed to NDMDSDSN.
Thanks to Sue Yarker, Midland Bank PLC, ENGLAND.
Thanks to Natasja van Gavel, Alcatel, BELGIUM.
Thanks to Bryant Osborn, NationsBank Technology Services, USA.
Change 13.069 Cosmetic changes. Label for DB2END should be "LAST*DB2"
ANALDB2C (it was "LAST*CICS..."), and incomplete comments were
Jun 8, 1995 completed and clarified.
Thanks to Geert De Gand, Nationale Bank Van Belgie, BELGIUM.
Change 13.068 Change 12.196, when implemented, did not contain the
VMACNSPY ELSE ARSPNET=.; statement, but that line has been
Jun 8, 1995 added so the code agrees with the change.
Thanks to Alan Keeble, British Steel, UK.
Change 13.067 Backlevel SAS (TS404 for sure) causes error VFONF DOES
ANALRMFR NOT FOLLOW VFON0 (because syntax of A-F for variable name
Jun 8, 1995 suffix didn't work right in TS404). Install current SAS,
or you could RENAME each of the A-F variables to 10-16,
and change the ARRAYs to VFON0-VFON16.
Thanks to David Childers, Lowe's Companies, Inc, USA.
Change 13.066 Support for MVS/ESA 5.2 (compatible) SMF record changes.
VMAC24 -Type 24 SMF record variables SMF24LN4,SMF24SAN,SMF24SAC
VMAC30 were added to TYPE24, listing system affinity names; I
VMAC42 keep only the first 8 system names in SMF24SAC.
IMAC42 -Type 30 SMF record added new CPU measures CPUASRTM (the
EXTY42XR Preemptable SRBs and Client SRBs CPU time) and CPUENCTM
Jun 5, 1995 (the Enclave CPU time); note that these two new CPU times
are already included in CPUTCBTM. New variables ENCLACTM
ENCLCPSU and ENCLTRAN provide Enclave transaction active
time, CPU Service units, and transaction counts. Also,
variables IARVPSEC,IARVAPIN,IARVEPIN record page seconds
memory residency for IARVSERV shared CSTORE, and page ins
from Aux Store and Expanded Store. Those variables were
added to TYPE30_V,TYPE30_4,TYPE30_5 & TYPE30_6 datasets
but were not propagated into BUILDPDB/BUILDPD3 as yet.
Finally, Automatic Restart Management Section provides
the element name, type, restart group, and the timestamps
when IXCARM issued REGISTER,WAITPRED,READY, & DEREGISTER;
the ARMS variables were only added to TYPE30_5 until more
is understood about their usage.
-Type 42 SMF new subtype 11 for XRC Extended Remote Copy
creates new dataset TYPE42XR with the logical session
name, and per-SSID activity counts (data mover reads,
with/without data, format/update writes, etc.).
The new segments have been coded, but not all have been
tested with data records that have populated those data
segments, so verify your results.
Change 13.065 MVS/ESA 5.1 TYPE30_V (PDB.SMFINTRV) SET CLOCK causes bad
VMAC30 INTBTIME/INTETIME (interval begin/end time of day) value.
Jun 4, 1995 This note revised Jul 12, 1995 - prior belief that error
Jul 12, 1995 was leapseconds value in sysplex timer is not correct.
Fields SMF30IST/SMF30ISS should be identical, with IST on
local clock and ISS on GMT clock (so that we can measure
the GMT-to-local delta), but one site had deltas between
IST and ISS of 36 seconds for days, then 80 seconds, etc.
After chasing through IBM SMF level 2 for weeks with no
answer, the site's IBMer found an IBM note describing the
culprit: the use of SET CLOCK command:
When a system is IPLed, the GMT is exactly in sync
with the local time, but when a SET CLOCK command is
issued to change the local time to be out of sync with
the GMT (and this also causes the "SMF midnight" to be
recalculated), now jobs run show an IST-ISS delta
exactly equal to the GMT-local delta of the SET CLOCK
command! And the note says that IBM plans only to
document to clarify that changing the local time may
get the local time out of sync with the correct offset
from GMT! Note "Relationship between SMF30ISS and
SMF30IST" by David, document number (?) ADB0627.
MXG variable EXECTM in TYPE30_V becomes negative, and
variables INTBTIME/INTETIME/SYNCTIME are earlier than
all other timestamps in the interval record.
Existing TYPE30_V datasets can have the negative
EXECTM corrected by this recalculation:
EXECTM=INTETIME-INTBTIME;
Since IBM plans no change, I have revised my logic to now
expect this difference and to use it:
1. After using the FLOOR(IST-ISS) to calculate the GMT
offset in hours, I now also calculate any delta in
seconds and add that back into the GMT offset so that
ISS and IET values will be brought up to the IST
clock. After the line:
GMTOFF30=100*FLOOR(SMF30IST-INTBTIME+10)/100);
Insert this line:
GMTOFF30=GMTOFF30+SMF30IST-INTBTIME;
This logic will work when the error is fixed, too!
2. The calculation of EXECTM in the interval record does
not use LOADTIME anymore:
First, find the line:
IF MULTIDD NE 'Y' THEN DO;
and then find the subsequent line reading:
EXECTM=(INTETIME-MAX(LOADTIME,INTBTIME));
and change it to read:
EXECTM=INTETIME-INTBTIME;
(The actual change restructured the logic.)
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 13.064 Multi-UCB type 14/15 records were not properly processed
VMAC1415 due to MXG logic error. The actual order of segments is
Jun 2, 1995 basic, (open date), UCB-segments, (hiperbatch), (ISAM),
(extended segment), and there are two possible extended
segments: compressed statistics or SMS classes. Support
required relocating MXG code so that the hiperbatch, ISAM
and extended segment data are read in before processing
the UCB segments. Since MXG OUTPUTs one observation for
each UCB segment, the hiperbatch and compressed file
statistics appear only once per record, not once per UCB
segment. For multi-ucb records, then, the counts for the
hiperbatch and compressed file statistics will be kept in
the first observation from each record and will be set to
missing in the 2nd and subsequent observations created by
the additional UCB segments. Variable UCBSEGNR was also
added to identify whether observations in TYPE1415 are
created by the first or subsequent ucb segments.
Multi-ucb records are created for concatenated BPAM files
for multi-volume files, and for striped files.
Real data records clarified IBM documentation of the real
order of these segments.
The major impact without this fix was that multi-ucb obs
had SMS storage, data, and management class blank in all
but the last observation for that SMF record (and the
compression statistics could have been incorrect).
Thanks to Paul Dzielak, Smith Barney, USA.
Change 13.063 Variables TTOCPREL,TTOCSUCL have value of *NONE* unless
VMXGHSM the volser started with H; a local tailoring mod was left
Jun 2, 1995 in the code that should have been removed. Delete the
two lines that contain '*NONE*'.
Thanks to Wanda Prather, Johns Hopkins Applied Physics Lab, USA.
Change 13.062 MXG 13.01 only.
VMACNSPY -Remove "$HEX16." from line 124700, as those variables are
Jun 2, 1995 should be $HEX.2. Fortunately no harm was done, but the
variables were stored as 8 bytes instead of 1 byte!
-Labels for VRBMAXWD,VRBMINWD are now SIZE vice COUNT.
-Insert STARTIME=ENDTIME-DURATM; immediately before the
%INCLUDE SOURCLIB(EXNSPYVT); to create STARTIME.
-Variable APPLID was removed from the KEEP= list for the
datasets NSPYVTAM and NSPYVIRT as it does not apply.
-INPUT of variable NSPBPOOL was changed to $EBCDIC4. (it
was &PIB.4.) and it is now labelled 'BUFFER*POOL*NAME'.
Thanks to Rod Fernandes, Albert Heijn B.V., NETHERLANDS.
Change 13.061 All MXG-built formats for hexadecimal values now have
FORMATS OTHER=(| $HEXn. |) - for character variables
Jun 1, 1995 OTHER=(| HEXn. |) - for numeric variables
added in their creation so that undefined values are
displayed in hex. This syntax is only available in
SAS Version 6.07 and later, so if you still must try to
run MXG under archaic SAS 6.06 or more archaic SAS 5.18,
you will have to remove all of those lines from member
FORMATS before you build your archaic format library.
Thanks to Shantha Baran, British Steel, ENGLAND.
Change 13.060 MXG 13.01 only. Change 13.055 was not spelled right.
GRAFLPAR The test IF NAME GT ' ' THEN DO; added by 13.055 should
Jun 1, 1995 be IF LP&ID.NAME GT ' ' THEN DO;
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.059 -Label corrections. Variable NSPBOEXP "buffers" misspelled
VMACNSPY and variable CBPFLAG was changed to "TABLE*FLAG".
Jun 1, 1995 -Format correction. Variable NSPXRESO was removed from the
$HEX16 format, as it is a character, not hex, variable.
-MXG 13.01 only, new support for record type X caused
"INPUT STATEMENT EXCEEDED RECORD LENGTH" error. The line
M4=-4; must be changed to M8=-8; and the subsequent
reference to +M4 must be changed to +M8.
Thanks to Norbert Korsche, OMV AG, AUSTRIA.
Change 13.058 ANALDB2R error "BY VARIABLE STRTTIME IS NOT ON INPUT DATA
ANALDB2R SET WORK.DB2DUMRY" resulted from bad MXG logic. Find
May 30, 1995 "%MACRO PMSTA01", and change the next two occurrences of
" BEGTIME" to " STRTTIME" (note, don't change &BEGTIMEs):
First: OR &PMSTA01 NE YES %THEN BEGTIME;
Second: DURATM=ENDTIME-BEGTIME;
Thanks to David Klein, City of New York, USA.
=====Taught in London and Heidelberg, paper at Konigswinter CMG-CE======
Change 13.057 CICS Statistics dataset CICLSRR variables A08BKCTD and
VMAC110 A08BKDTD were incorrectly INPUT as RMFDUR4. Their input
May 4, 1995 lines (two pairs) must each be replaced with:
HH &PK.1. MM &PK.1. SS &PK.1. TH ?? &PD.1. @;
IF TH GE 0 THEN A08BKCTD=HMS(HH,MM,(SS+TH));
ELSE A08BKCTD=.;
INPUT
Thanks to Steve Harris, TVA, USA.
Change 13.056 Change 13.017 (TYPE6 OUTDEVCE for 4-digit Remote) was not
VMAC6 correct. The "5,2" in the SUBSTR should be "6,2". The
May 4, 1995 text of 13.017 has also been changed to be correct.
Thanks to Norbert Korsche, OMV, AUSTRIA.
==Changes thru 13.055 were included in MXG 13.01 dated May 3, 1995===
Change 13.055 Intermittent LPARs (test LPARs) caused strange graphs;
GRAFLPAR The statement IF LP&ID.UPDTM GT 0 THEN DO;
May 3, 1995 should be IF NAME GT ' ' THEN DO;
so the LPAR numbers don't change from hour to hour!
Thanks to Tom Kelman, SunTrust Service Corporation, USA.
Change 13.054 Variable NRSAMPLE was added to the TYPE74CF KEEP= list.
VMAC74 Several calculations on the Coupling Facility require the
May 3, 1995 number of samples.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 13.053 If you used TEMP01 or TEMP02 parameters to segregate the
XMXGSUM work files, variables were missing because dataset VARS
May 3, 1995 was not in the DELETE list. In addition, the logic has
been significantly simplified by using SUM(A B C)=A B C
(instead of the archaic SUM= list with X1-Xnn placeholder
dummy variables). This might be the last iteration as
XMXGSUM has now been tested with just about all feasible
combinations, but I will wait until MXG 13.02 before I
actually replace VMXGSUM with this XMXGSUM. I strongly
suggest that you install XMXGSUM in place of VMXGSUM as
described in the comments in XMXGSUM - XMXGSUM is much
more efficient, especially for CICS and DB2 data.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.052 When ASUMTALO was revised (Change xx.yyy), corresponding
GRAFTALO changes to GRAFTALO should have been made. SYSTEM was
May 2, 1995 removed, ALOCTIME changed to TIMESTMP and the average
tape drives allocated is TAPEDRVS=TAPEDRVS/DURATM;.
Thanks to Tom Elbert, John Alden Life Ins., USA.
Change 13.051 AS/400 3.1 dataset QAPMSYS duration variables SITRNT,
VMACQAPM S6TRNT and SPRES1 are INPUT as &PD.8.3 instead of &PD.8.
May 2, 1995 V 3.1 increased the field width from 6 to 8 bytes but the
change in units to milliseconds was not documented! In
addition, SPRES1 and SPRES2 were renamed SPTRNT and
SPTRNS and added to the KEEP= list for QAPMSYS dataset.
(The "Passthru" SICPU/SITRNT/SITRNS and the "inter"
SPCPU/SPTRNT/SPTRNS variables are both needed to track
total interactive work.) See also Change 13.011.
Thanks to Lynn Marchant, Coca Cola, USA.
Change 13.050 TYPE42DS I/O Statistics Subsection does not always exist,
VMAC42 but MXG input the variables nevertheless, causing really
May 2, 1995 large values for I/O durations and cache statistics.
Insert IF OFFDSIO GT 0 THEN DO;
before OFFDSIO=OFFDSIO-3+OFFSMF;
Before OFFDSAM=OFFDSAM-3+OFFSMF;
insert END;
So the fields will be missing instead of wrong. I am
still investigating why OFFDSIO (S42DSIOO) is zero.
Thanks to Ted Blank, IBM, USA.
Change 13.049 TYPE116 dataset has zero observations. Change both
VMAC116 IF SUBTYPE=1 THEN ... to IF SUBTYPE=0 THEN .... Insert
May 2, 1995 OFFQMAC=OFFQMAC-3+OFFSMF; before INPUT @OFFQMAC
Thanks to E.U.C. Hettinga, Centrum Voor Informatie.., NETHERLANDS.
Change 13.048 XMXGSUM in MXG 13.01 still failed, if the TEMPDD argument
XMXGSUM was used, due to mislocated code when Change 13.032 was
Apr 26, 1995 made. Also, repeated executions of XMXGSUM could fail
because temporary dataset VARS was not deleted at the
end of XMXGSUM.
Change 13.047 ANALTAPE in MXG 13.01 still failed, because Change 13.044
ANALCNCR to ANALCNCR created an error when there was no SUMBY used
Apr 26, 1995 in the %ANALCNCR invocation. (Only ANALTAPE had the
exposure). (See also Change 12.327).
One instance caused A NUMBER HAS BECOME TOO LARGE error.
==Changes thru 13.046 were contained in MXG 13.01 dated Apr 27, 1995==
Change 13.046 Report enhancements to the CICS Shutdown reports, titles
ANALCISH for detail reports, and other cosmetics were added by
Apr 26, 1995 this extensive user contribution.
Thanks to Willi Weinberger, IDG, Germany.
Change 13.045 LENGTH statement was moved to before FORMAT statement so
IMACICSA character variables' length is correct. See SAS Technical
Apr 25, 1995 Note (above, or in MXG Newsletter TWENTY-EIGHT).
Thanks to Stefaan Lemaire, COMPAREX Information Systems, BELGIUM.
Change 13.044 Missing value for timestamp was not protected, causing
ANALCNCR invalid DO loop control variable. ASUMTALO now throws
ASUMTALO away invalid records, and ANALCNCR is now protected for
Apr 25, 1995 missing value in DO loop control variables.
Change 13.043 These members were revised to work with XMXGSUM. They had
ASUMVMON exploited a loophole in VMXGSUM (the right side of the
TRNDVMON NORM= list was an expression instead of a variable name)
Apr 25, 1995 that does not exist in XMXGSUM.
Change 13.042 -The mapping of DB2 DBID/OBID hex values to the table name
ANALDB2R uses the IFCID 105 and 107 records to dynamically create
Apr 25, 1995 a look up table, the $DB2DBID and $DB2OBID formats. The
logic assumed a one-to-one mapping, but it turns out the
values get reused (DELETE and then CREATE a tablespace)
so the logic for creating these formats was redesigned to
append the timestamp of the 105/107 to create the range
of datetimes when that DBID/OBID pair was in effect.
-ANALDB2R now will execute under OS2 - the logic to detect
if the PDB pointed to an MVS tape failed on a non-MVS
platform. Also, OPTIONS LINESIZE=132 is now specified so
proper print width is used for these reports.
Thanks to ???, ???, USA.
Change 13.041 TYPE72MN variables WSETFIX/WSETASM were incorrect.
VMAC7072 They are now created using:
Apr 25, 1995 WSETFIX=FRAMEFIX/AVGUSER;
WSETASM=FRAMEASM/AVGUSER;
Thanks to Jim Gill, St. Johns River Power Park, USA.
Change 13.040 Dataset DB2ACCT variable QBACSWS and QBnCSWS were always
VMACDB2 zero; statement (QBACPID QBACGET QBACRSVD QBACSWS ...
Apr 25, 1995 should have been (QBACPID QBACGET QBACSWS QBACRSVD ...
Thanks to Jason Lau, CSC, AUSTRALIA.
Change 13.039 -The SAS/CPE product expects a "system" variable in each
DIFFTMDB dataset built by MXG, and their cross-check uncovered
TYPEMON8 these datasets which did not have a "system" variable:
TYPETMON MONIDSA - SYSTEM (retained from "TI" record)
VMACCIMS TYPECTLD - SYSTEM (was missing from KEEP= list)
VMACCTLD TMDBDE - SYSTEM (retained from "TA" record)
VMACDCOL -Dataset labels were missing in CIMSxxxx (IMF) datasets.
VMACOMSM -Variable DCDRECFM has been created in dataset DCOLDSET
VMAC7072 -SAS/CPE also expects a "duration" variable in interval
VMAC89 datasets; most MXG interval datasets contain STARTIME,
Apr 25, 1995 ENDTIME, and DURATM, but there were some omissions that
VMAC28 have now been corrected for consistency; you should now
May 2, 1995 expect those three variables in all interval datasets.
TMDBDA - No duration in record, required new member
DIFFTMDB to be invoked by TYPETMDB to SORT
and then create DURATM=DIF(ENDTIME);
OMSMSJOB - DURATM=OMFS2ETM-OMFS2STM;
TYPE7204 - DURATM should have been in KEEP= list.
TYPE7204 - DURATM should have been in KEEP= list.
TYPE89 - DURATM=SMF89IET-SMF89IST;
NPMxxxxx - DURATM=ENDTIME-STARTIME added to datasets
NPMNCINT NPMNGINT NPMNLINT NPMNLSUM NPMNRINT
NPMVSVAD NPMVSVAP NPMVSVBF NPMVSVDV NPMVSVVR
NPMNVINT NPMNVSUM NPMINTRI NPMINNEO NPMIN25L
NPMIN25P NPMINNVC NPMINFRP NPMLANIN
Thanks to Carl Sommer, SAS Institute Cary, USA.
Change 13.038 Support for subtypes 4 and 5 of HMF SMF record was added
EXTYHMFR to decode both subtypes; the subtype 4 creates a new data
IMACHMF set, TYPEHMFR, with path/route detail, while TYPEHMF4 has
VMACHMF the node statistics data. Subtype 4 has been data-tested
Apr 25, 1995 but there were no subtype 5s in the test data file.
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 13.037 Reports showing union of all systems were missing from
ANALTAPE the revision introduced in MXG 12.12.
Apr 21, 1995
Thanks to ???, ????, USA.
Change 13.036 Continued validation of ANALCNCR closed these exposures:
ANALCNCR -GOPTIONS HTITLE=1 HTEXT=.75 added to reduce the size of
Apr 21, 1995 text and titles to readable proportions.
-Plot of summary had MAX axis value slightly lower than
the max value plotted, and DEVICE= specification was
ignored.
-Plots failed with 0 observations in datasets.
-Invalid DO loop range when no SUMBY= was specified and
intervals were being synchronized.
Thanks to Tom Parker, Hogan Systems, USA.
Change 13.035 Support for APAR OW04653 which adds several variables to
VMAC74 TYPE74ST (Coupling Facility Structures) which appear to
Apr 20, 1995 be quite important in tracking capacity of the Coupling
Facility:
R744SCUF R744SDEC R744SDEL R744SMAE R744SMAS R744SMIS
R744SNLH R744SSIZ
These changes and the MXG corrections in Change 13.004
are important enough for users of MVS/ESA 5.1 in Goal
Mode (Workload Manager) that MXG 13.01 is required.
Users with MVS/ESA 5.1 still in compatibility mode still
require only MXG 12.12, but installing 13.01 is still
recommended.
Thanks to Scott Coryell, First Bank System, USA.
Change 13.034 Protection for RACFTYPE=55 to prevent "SKIPPED SEGMENT"
VMAC80A message, and variable RACFEVNT= was added to the SKIPPED
Apr 19, 1995 SEGMENT message to identify which event contained that
segment, in case it is necessary to decode and add any
new variables.
Thanks to Henrik Tonnisen, Jyske Bank Data A/S, DENMARK.
Change 13.033 A new global macro variable, MXGDEBUG, is now defined in
VMXGINIT VMXGINIT, to facilitate internal debugging %MACRO code.
Apr 18, 1995 Globaling this macro name allows debugging to be enabled
without source code changes; however, I expect that this
option will typically be used only by MXG Tech Support in
problem resolution, or during developmental testing.
It is currently implemented only in member XMXGSUM, with
these initial arguments defined:
1= Display normally non-printed messages about which
variables are being dropped because they were not
found in the input datasets - VMXGSUM specific.
2= Turn on MPRINT
3= Turn on MPRINT SYMBOLGEN
4= Turn on MPRINT SYMBOLGEN MLOGIC
You would use %LET MXGDEBUG=x; to enable this debug.
Change 13.032 More validation of this soon-to-be-replacement for the
XMXGSUM VMXGSUM member. If a variable appeared twice in one of
Apr 21, 1995 the lists or is not found in the input dataset, the
wrong number of 'Xn' variables to skip over in the
PROC MEANS was calculated, causing output variables to
contain incorrect values. The logic to calculate how
many variables are to be skipped was corrected.
-Ranges of variables BKT1-BKT8 were supported, but parsing
BKT1-BKT18 missed variables 9-18; that is now corrected.
-If all variables are missing for a NORM parameter, a note
is printed and the parameter is ignored.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Tom Elbert, John Alden, USA.
Change 13.031 Variables QTPUBDD and QTXAIRLM were incorrectly spelled
TRNDDB2S as QTPUBD and QTXAIRL respectively in MXG 12.12/12.12A.
Apr 18, 1995 Although documented as having been made in April, this
Sep 20, 1995 change was not actually made in TRNDDB2S until September.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.030 Support for IBM's IRRDBU00 - RACF Database Unload Utility
EXRAC... is provided by this significant user contribution from
IMACRACF Peter Proppe. The utility creates a sequential file from
TYPERACF a restructured RACF database, so your RACF administrator
VMACRACF can ask complex queries and create reports about the RACF
Apr 18, 1995 security definitions (like who has access to what, etc.!)
There are 39 MXG datasets created by this enhancement.
See comments in member VMACRACF for documentation, and
the IBM documentation is in RACF Macros and Interfaces.
Thanks to Peter Proppe, Bremer Lagerhaus Gesellschaft, GERMANY.
Change 13.029 Landmark MONIDSA build was copied from TYPETMON in Change
TYPEMON8 12.315, but the LABELs and FORMATs for the variables were
Apr 18, 1995 not copied until now. In addition, this "interval" data
record contains neither a DURATM nor STARTIME nor SYSTEM
fields that describe the interval. Am awaiting Landmark.
Thanks to Carl Sommer, SAS Institute Cary, USA.
Change 13.028 Support for Sterling's SOLVE NCL CPU-time accounting user
EXTYSOLV SMF record creates new dataset TYPESOLV allowing you to
IMACSOLV collect NCL CPU usage at the user level. These records
TYPESOLV are interval records, but records are only created if the
VMACSOLV CPU time used by the user exceeds the threshold specified
Apr 14, 1995 in the SOLVE USERACCT command.
Thanks to Arzina Merali, Alberta Public Works, CANADA.
Change 13.027 0C4 ABEND in this assembly program occurred because IBM
ASMRMFV loaded an offset address for enqueue table, but there was
Apr 14, 1995 no enqueue table. To correct, find the line reading
L R8,ENTENTMX(,R9)
and insert these two new lines:
LTR R8,R8
BZ ENDENT
Then find the label (in column 1) MVEENT, and then find
the statement BNE MVEENT several lines later. Insert
(in column 1) ENDENT DS 0H after that BNE.
The actual change in this version of the RMF Monitor III
decompress program was more extensive - now statistics
of records read/written are printed on the job log, and
you can now select which classes of records are written.
Thanks to Leon Berthou, Dan Computer Management, DENMARK.
Change 13.026 ICEBERG SMF record subtype 5 (deleted data space release)
VMACICE did not use ESTOSET to locate the data segment, causing
Apr 13, 1995 incorrect values for the extent addresses and TOIOTIME.
Jun 3, 1995 After the line now reading: EXTOSET=EXTOSET-3;
insert a new line reading: INPUT @EXTOSET @;
Text added 3Jun95:
And delete the line +4 /* UNDOCUMENTED*/
It turns out there have been two different lengths of
ICEBERG (or IXFP) subtype 5 records, one with that 4-byte
undocumented field (and RDW=148), now without that field
(and RDW=144, which means the SAS LENGTH=140). An INPUT
STATEMENT EXCEEDED RECORD LENGTH error occurred when the
140-byte record was read with the 144-byte-expecting MXG
12.12! The above change using EXTOSET and deletion of
the +4 protects for either length of IXFP record.
Thanks to Tom Kelman, SunTrust Service Corporation, USA.
Thanks to Rich Morris, Progressive, USA.
Thanks to Brian Crow, British Telecom, WALES.
Change 13.025 Dataset TYPE72GO variable PGPEXCP is now kept for goal
VMAC7072 mode. Note that PGPIOTM is no longer calculatable for
Apr 12, 1995 Goal Mode, because the IBM developers eliminated the
option to use IOTM instead of EXCP for RMF I/O units in
MVS/ESA 5.1 Goal Mode.
Thanks to Al Keeble, British Steel, ENGLAND.
Change 13.024 The +1 reserved field after the INPUT of CHIRECNT should
VMACTMVS be +4 instead. This error trashed values in the TMVSCH
Apr 12, 1995 (Channel Path I/O) dataset.
Thanks to Nico Lenaerts, SAS Belgium, BELGIUM.
Thanks to Wim Desmecht, DOLMEN Computer Applications NV/SA, BELGIUM.
Change 13.023 Dataset CICFCR variable A17DSTYP was mislabeled, input as
FORMATS numeric instead of character, and was not decoded. Now,
VMAC110 it is input as character, and new format $MGCICDT decodes
Apr 12, 1995 the Dataset Type as BSAM, ESDS, KSDS, RRDS, or PATH.
Thanks to Chuck Hopf, MBNA, USA.
Change 13.022 Support for NETSPY Release 4.6 added, thanks to advance
EXNSPYAL documentation from LEGENT (that release won't ship until
EXNSPYVT summer). Their changes were compatibly made.
FORMATS -Variable NSPYNETW (Network ID) was added to the header so
IMACNSPY it is now kept in every MXG NSPYxxxx dataset.
VMACNSPY -Dataset NSPYAPPL. New variable NSPNETAP (Network ID of
Apr 12, 1995 the Application) was added. Also, labels for variables
Apr 14, 1995 APOTLN62 and APOTNN62 were corrected; these variables
measure bytes sent outbound on sessions where response
time is or is not monitored.
-Dataset NSPYLU. New variables LUNETID, PCSESSID, VILUNAME
were added, containing Network ID of this LU, Procedure
Correlation ID, and Virtual LU Name respectively.
-Dataset NSPYETHR. New variable NSPEDISD, Discarded
Datagrams was added.
-Additional changes were made that were not 4.6 related:
-New datasets NSPYALRT and NSPYVTAM are now created from
type X and B records; these records are not new with
Release 4.6, but had not been decoded previously. The
type X record has been tested with data, but there are
data values for NSPXRTYP and NSPXVART which are not shown
in NETSPY documentation. NSPYVTAM has not been data-ed!
-Corrections found during early code validation:
Test for LMI Station should have been OR instead of AND
i.e., (NSPNSUBE='20'X OR NSPNSUBE='10'X) THEN DO;
Test for FRSE Station should have been OR vice AND:
i.e., (NSPNSUBE='20'X OR NSPNSUBE='80'X) THEN DO;
Second input of REBYTCT with /*XRBY*/ was deleted.
Second REBYTCT in KEEP list for NSPYTIC3 was deleted.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 13.021 NETSPY type N records subtypes 07 (TIC3) and 08 (Trans
EXNSPYTP Priority) were not correctly processed, causing Divide by
EXNSPYT3 zero with subtype 07 variable CYCLSPD. The circumvention
IMACNSPY is to change the line
VMACNSPY IF NSPNRECI='02'X OR NSPNRECI='06'X OR NSPNRECI='07' OR
Apr 10, 1995 NCPELTYP=80X THEN DO;
to read
IF NSPNRECI='02' OR NCPELTYP=80X THEN DO;
The actual change was more extensive, creating two new
datasets, NSPYTIC3 and NSPYTPRI from the 07/08 subtypes.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 13.020 -XMXGSUM failed if one of the input datasets did not exist
XMXGSUM (as in the first time a TRND members is run) AND any of
Apr 10, 1995 variables in the datasets did not exist. (VMXGSUM did not
fail because it protected by creating missing variables
using the IF X=. THEN X=.; "compiler faker" statement.)
Logic corrected, and switches were added to help in the
debugging of XMXGSUM.
-KEEPIN macro needed to be UPCASE'dED.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 13.019 The example SAS program has a "EXPECTING VARIABLE" error.
ACHAP35 -Insert
Apr 3, 1995 TODAY=TODAY();FORMAT TODAY DATE9.; DROP TODAY;
after the statement
IF LASTDATE NE TODAY()-1 THEN DO;
-Change LASTDATE's FORMAT from MMDDYY8. to DATE9. (to
be consistent with MXG's DATE conventions).
-Change "5X" to "+5".
Thanks to Bruce Hewson, Alcoa, AUSTRALIA.
Change 13.018 The %INCLUDE SOURCLIB(ASUMDB2S); should be deleted from
JCLPDB6 the JCLPDB6 example, as there is no member ASUMDB2S.
Apr 3, 1995 (There is a TRNDDB2S, but it uses the DB2STATS dataset
as its input, and DB2STATS is already an interval dataset
so there is no need for an ASUMDB2S. All ASUMxxxx members
create interval data from detail data.)
Thanks to Bruce Hewson, Alcoa, AUSTRALIA.
Change 13.017 TYPE6 OUTDEVCE for a 4-digit Remote Number is R2030PR1,
VMAC6 instead of the old Rnnn.PRm format. MXG parsed variable
BUILDPDB OUTDEVCE to set DEVICE=PRINTER or PUNCH, expecting the
BUILDPD3 period delimiter, but the new format causes DEVICE to be
BUILD005 blank, which causes lines that were formerly counted in
Apr 3, 1995 variable PRINTLNE or PUNCHCRD to be counted in variable
EXTWTRLN instead, in both the TYPE6 dataset and in the
PDB.PRINT and PDB.JOBS datasets.
In VMAC6, replace these four lines:
IF PR=:'PR' THEN DEVICE='PRINTER';
IF PR=:'PU' THEN DEVICE='PUNCH ';
with these six lines:
IF PR=:'PR' OR
(SUBSTR(OUTDEVCE,1,1)='R' AND SUBSTR(OUTDEVCE,6,2)='PR')
THEN DEVICE='PRINTER';
ELSE IF PR=:'PU' OR
(SUBSTR(OUTDEVCE,1,1)='R' AND SUBSTR(OUTDEVCE,6,2)='PU')
THEN DEVICE='PUNCH ';
Note: above text corrected on May 3, from 5,2 to 6,2.
-Variable TOTLINES, the sum of PRINTLNE,PUNCHCRD,EXTWTRLN,
in the PDB.PRINT dataset was always correct. However, I
now realize that TOTLINES should also be created in the
PDB.JOBS dataset, so the BUILDxxx members were changed to
create and label variable TOTLINES into PDB.JOBS.
Thanks to Norbert Korsche, OMV, AUSTRIA.
Change 13.016 MXG 12.12 inadvertently changed some variables' FORMAT
VMAC7072 from 5.1 to 5.0. Line 102100 in VMAC7072 should be 5.1
Apr 3, 1995 instead of 5. so that one decimal place of precision
will be printed.
Thanks to Joanne Turpie, Department of Labour, NEW ZEALAND.
Change 13.015 MXG 12.12 and MXG 12.12A. MONTHBLD sort error; the BY
MONTHBLD list for TYPE72 should be exchanged with the by list for
Apr 3, 1995 TYPE72DL, and in the TYPE72DL sort list, replace PERFGRP
with SRVCLASS. (Make MONTHBLD look like WEEKBLD!).
Thanks to John Mattson, National Medical Enterprises, USA.
Change 13.014 Semicolon is missing at the end of SET PDB.APAFDOMA and
ANALAPAF the colon after PROC PRINTTO DATA=... should be a semi
Mar 30, 1995 colon, and a PROC PRINTTO; was added as the last line to
Apr 25, 1995 reset the print destination back to the log.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 13.013 Tracking IMS DEDB (Data Entry Data Base) and MSDB (Main
VMACIMSA Storage Data Base) activity is accomplished with the IMS
Mar 30, 1995 fastpath type 59x subcode 37x log record, but MXG only
output when SYNCRTYP='01'X. In IMS 4.1 at least, most of
the 59x37x records contain either 10x or 20x. Since I
don't normally delete observations, and because the 4.1
documentation suggests the meaning of this field has been
changed, I have changed the logic so all subcode 37 log
records will be output in IMS5937 dataset.
Thanks to Don Cleveland, Blue Cross Blue Shield of California, USA.
Change 13.012 MXG now detects that fields have been EXCLUDED from your
VMAC110 SMF type 110 CICS/ESA records, and prints error message
Mar 30, 1995 telling you to run UTILCICS and use its output to update
member IMACEXCL for MXG to support records with EXCLUDE.
Thanks to George Scott, Rockwell International Corporation, USA.
=====Changes thru 13.011 were in Early MXG 13.01 dated Apr 1, 1995=====
Change 13.011 Support for OS/400 Version 3.1.0 has INVALID DATA FOR ...
VMACQAPM because I had no test data for validation until now!
Mar 29, 1995 -Value of ASLEVEL starts with an unwanted blank. Use the
COMPRESS() function to eliminate that blank, by changing:
AS400VRN=PUT(GDESRV,2.)!!'.'!!PUT(GDESRR,3.1);
to read
AS400VRN=COMPRESS(PUT(GDESRV,2.)!!'.'!!PUT(GDESRR,3.1));
(because ASLEVEL is set from AS400VRN).
-All tests of IF ASLEVEL ... for value of '3' must be
changed to '3.1.0' and the one test for LE '2' must be
changed to LT '3.1.0'.
-Variables SWRES1,SPRES1,SMRES1,S6TRNT,SERES1,SARES1,
SBRES1,SXRES1, and SIRES1 input must be &PD.8 vice &PD.6.
-Variables SIRES1 and SIRES2 are now SITRNT and SITRNS.
-Calculation of PCTIOPBY needs to be copied into the 3.1.0
logic.
-Replace ELSE IF LENGTH=2364 OR LENGTH GE 2374 THEN DO;
with ELSE IF ASLEVEL LE '2.2.0' THEN DO;
-Replace ELSE IF LENGTH=3090 THEN DO;
with ELSE IF ASLEVEL GE '3.1.0' THEN DO;
-Reverse DSTYPE and DSARM in the 3.1.0 input for QAPMDISK.
Thanks to Len Marchant, Coca-Cola Enterprises, USA.
Change 13.010 Complete revision of support for HP's PCS for UNIX. There
EXHPAI.. are now separate members for the AIX, SUN, and HPUX UNIX
EXHPSU.. systems, because not all metrics exist on all three UNIX,
EXHPUX.. and the HPPCS record formats are different on each:
IMACHPAI
IMACHPSU Suffix For Members Infile
IMACHPUX HPAI AIX ADOCHPAI,TYPEHPAI,ASUMHPAI... HPAI
TYPEHPAI HPSU SUN ADOCHPSU,TYPEHPSU,ASUMHPSU... HPSU
TYPEHPSU HPUX HPUX ADOCHPUX,TYPEHPUX,ASUMHPUX... HPUX
TYPEHPUX
VMACHPAI These datasets are created from HPPCS records:
VMACHPSU
VMACHPUX AIX : HPAIAPPL,HPAICONF,HPAIDSK ,HPAIGLOB,HPAILANS
Mar 29, 1995 HPAIPROC
SUN : HPSUAPPL,HPSUCONF,HPSUDSK ,HPSUGLOB,HPSULANS
HPSUPROC
HPUX: HPUXAPPL,HPUXCONF,HPUXDISK,HPUXDSK ,HPUXGLOB
HPUXLANS,HPUXPROC,HPUXVOLS
This change replaces the support in TYPEHPCS.
The HPAI and HPUX support has now been validated in real
production sites. I am still trying to understand the
HP UX Disk data (HPUXDISK and HPUXDSK are similar but not
the same, and have repeated Disk addresses in interval
data) and SUMMARY=5 caused a problem with the AIX data,
but both sites are happy and productivly measuring UNIX!
Thanks to Richard Clary, Entergy Services, Inc.
Thanks to Lorenzo Wright, NCCI, USA.
Change 13.009 DB2 dataset T102S145 variables QW1145OB-QWF145OB have the
VMAC102 DB value instead of the OB value. Find all occurrences
Mar 27, 1995 of QWX145DB, and change the DB to OB in the fifteen lines
with QWn145OB on the left of the equality.
Thanks to Peter Durrant, National Australia Bank, AUSTRALIA.
Change 13.008 Support for TCP/IP SMF record APAR PN69321-PN69322, which
VMACTCP adds the API user's job name, APIJOBNM, to the API INIT
Mar 27, 1995 and API TERM event records. This support was coded based
on the APAR description, but has not been data-tested.
Change 13.007 NetSPY dataset NSPYNCP variables FBQ_PCT, FBH_PCT, and
VMACNSPY FBL_PCT can cause zero-divide error because MXG did not
Mar 24, 1995 understand the new data added by LEGENT.
The block of code that read:
CYCLUTIL=10*UCYCLETM/(DURATM*CYCLSPD);
FBQ_PCT =100*FREEBUFQ/MAXFREEB;
FBH_PCT =100*FREEBUFH/MAXFREEB;
FBL_PCT =100*FREEBUFL/MAXFREEB;
BUF_UTIL=100 - FBL_PCT;
now reads:
CYCLUTIL=10*UCYCLETM/(DURATM*CYCLSPD);
IF TFQBANCP GT 0 THEN DO;
FBQ_PCT =100*CFBQUELN/TFQBANCP;
FBH_PCT =100*FBQLNHWM/TFQBANCP;
FBL_PCT =100*FBQLNLWM/TFQBANCP;
END;
ELSE IF MAXFREEB GT 0 THEN DO;
FBQ_PCT =100*FREEBUFQ/MAXFREEB;
FBH_PCT =100*FREEBUFH/MAXFREEB;
FBL_PCT =100*FREEBUFL/MAXFREEB;
END;
BUF_UTIL=100 - FBL_PCT;
See further corrections in Change 13.021.
Thanks to Roger Zimmerman, Kemper Service Company, USA.
Thanks to Mr. Dechamps, R & V Versicherung, GERMANY.
Change 13.006 Error: Variable SYSTEM not Found, because all occurrences
ANALTALO of SYSTEM should be removed from ANALTALO - the analysis
Mar 24, 1995 of tape allocation is across all systems, and variable
SYSTEM is not kept in either ASUMTALO or TRNDTALO.
This error was only in the MXG 12.12A revision.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 13.005 For 3990-6 in Basic Mode, variables CSCONF,CSAVAIL,
VMACACHE CSPINNED,CSOFFL,CNCONF,and CNPINNED were 1024 times too
Mar 23, 1995 large; MXG converted K-bytes to bytes, but the conversion
only applies of the controller is in Enhanced Mode. Put
a DO group around the six lines containing "1024*":
IF CSSTAT='....1111'B THEN DO; .... END;
to convert only for Enhanced Mode.
Thanks to Jim Ritter, Blue Cross and Blue Shield of Oregon, USA.
Change 13.004 MVS/ESA 5.1 TYPE74ST Structures dataset "INVALID DATA FOR
VMAC74 R744SATM ..." error message, plus missing observations.
Mar 23, 1995 -The first structure was reread each time, and the 2nd-nth
text revised structures were not output, because the second occurrence
May 3, 1995 of "INPUT @SMF744SO " should have been just "INPUT "
(note, this is the INPUT statement just after the
DO _I_=1 TO SMF744SN; statement).
Note that this change will increase the count of obs that
are created in dataset TYPE74ST.
-Variables R744SATM,R744SASQ,R744SSTM,R744SSSQ,R744SQTM,
R744SQSQ,R744SDTM, and R744SDSQ were documented by IBM as
floating point, but they are actually binary numbers; the
eight INPUT statements for these variables with
&RB.8.6 must be changed to &PIB.8.6
Thanks to Scott Coryell, FBS Business Technology Center, USA.
Thanks to Steve Smith, BGS Systems, USA.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt, AG, Germany
Change 13.003 If you changed the duration of RMFINTRV (by tailoring the
ANALPGNS _DURSET macro defined in member IMACRMFI) this report did
Mar 23, 1995 not work, because it merges TYPE72 and RMFINTRV. Now,
ANALPGNS uses _DURSET to force the STARTIME of the TYPE72
data to match the STARTIME of RMFINTRV before the merge.
To make the correction, replace the line reading:
PROC MEANS NOPRINT DATA=PDB.TYPE72;
with these six lines:
%INCLUDE SOURCLIB(IMACRMFI);
DATA TYPE72;
SET PDB.TYPE72;
_DURSET
DROP DATE HOUR MINUTE;
PROC SORT DATA=TYPE72 %VMXGFOR ;
BY SYSTEM STARTIME PERFGRP;
PROC MEANS NOPRINT DATA=TYPE72;
Thanks to Carol King-Baer, Vanderbuilt University Medical Ctr, USA.
Change 13.002 DSNAME='UNKNOWN - CONCATENATED BPAM' was set by MXG for
VMAC1415 all striped, multi-volume, and IAM datasets, when it was
Mar 23, 1995 supposed to be set only for PDS datasets. The correction
is to change the ELSE DO; immediately preceding the
DSNAME='UNKNOWN...' statement to read:
ELSE IF DSORG='PO' THEN DO;
Thanks to Jim Zwier, Smith Barney, USA.
Change 13.001 Cosmetic changes. In ANALINIT there was no TITLE3 for
ANALINIT REPORT2. In UCICSCNT, variable BYTES is now formatted
UCICSCNT with MGBYTES (so 2.793E8 prints ast "266MB").
Mar 19, 1995
Thanks to Norbert Korsche, OMV, AUSTRIA.
===Changes thru 12.328 were included in MXG 12.12A dated Mar 20, 1995==
(but were not printed in MXG Newsletter TWENTY-SEVEN)
LASTCHANGE: Version 13
=========================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
=========================member=CHANGE11================================
/* COPYRIGHT (C) 1984-1994 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is Production MXG Version 11.11, dated Mar 26, 1994.
MXG Production 11.11 was dated Mar 26, 1994, thru Change 11.361
MXG Newsletter TWENTY-FIVE, Mar 26, 1994, thru Change 11.347
Early PreRelease 11.11 was dated Mar 9, 1994, thru Change 11.338
MXG PreRelease 11.10 was dated Feb 14, 1994, thru Change 11.316
MXG PreRelease 11.09A was dated Jan 10, 1994, thru Change 11.290
MXG PreRelease 11.09 was dated Dec 17, 1993, thru Change 11.266
Early PreRelease 11.08 was dated Nov 1, 1993, thru Change 11.238
MXG PreRelease 11.07 was dated Oct 4, 1993, thru Change 11.203
Early PreRelease 11.07 was dated Oct 1, 1993, thru Change 11.192
MXG PreRelease 11.06 was dated Sep 1, 1993, thru Change 11.164.
MXG PreRelease 11.05 was dated Aug 10, 1993, thru Change 11.150.
MXG PreRelease 11.04 was dated Aug 10, 1993, thru Change 11.149.
MXG Newsletter TWENTY-FOUR, Aug 2, 1993, thru Change 11.140.
MXG PreRelease 11.03 was dated Jul 26, 1993, thru Change 11.140.
MXG PreRelease 11.02 was dated Jul 6, 1993, thru Change 11.126.
MXG PreRelease 11.01 was dated May 20, 1993, thru Change 11.084.
Early PreRelease 11.01 was dated May 15, 1993, thru Change 11.068.
Prior Production 10.10 was dated Mar 15, 1993.
Member CHANGES repeats sections I, VIII, and IX of MXG Newsletter 25,
but you MUST also read MXG Newsletter 25 in member NEWSLTRS for major
technical discussions that are not repeated herein.
Contents of member CHANGES
0. HOT FLASH NOTES AFTER NEWSLETTER TWENTY-FIVE WAS PRINTED
I. MXG Software Production Version 11.11, dated March 26, 1994
VIII. Incompatibilities and Installation of MXG 11.11.
IX. Documentation of MXG Software.
X. Changes Log
0. HOT FLASH NOTES AFTER NEWSLETTER TWENTY-FIVE WAS PRINTED
OPC Version 1.2.0 had INPUT STATEMENT EXCEEDED error, new subtype that
is now supported, and still exposure. See Change 11.356.
MXG Tape Mount and Allocation Monitor now works at 2 out of 3 sites.
See Change 11.358.
Problem with zeroes in Cache RMF Reporter Records (Newsletter 25 MVS
Techical Note) is a fixed problem, but maybe not just due to RMF. I
missed phone call with all the details! Fax if you need update.
I. MXG Software Production Version 11.11, dated March 26, 1994, was
shipped with MXG Newsletter TWENTY-FIVE.
Critical notes about MXG Version 11.11:
- Products that require MXG 11.11 because of incompatible records:
DB2 Version 3.1.0.
Landmark's CICS/ESA Version 1.1.
LEGENT's TPX Release 3.5.
Software AG's COM-PLETE Release 4.5
Sterling's NDM, now Connect Direct 1.7.01.
- ANALDB2R users must use MXG 11.11 because of report corrections.
- You MUST use member CONFIG from this MXG SOURCLIB or you will get
many strange errors! (If you are still stuck at SAS 6.06, see Change
11.187 and use CONFIG06). Member CONFIG executes %VMXGINIT with
INITSTMT='%INCLUDE SOURCLIB(VMXGINIT); %VMXGINIT;' to initialize the
internal macro variables introduced in Change 11.150.
- If any of these members exist in your USERID.SOURCLIB(s) libraries:
ASUMDBDS ASUMDB2A ASUMDOS ASUMHPCS ASUM70PR
DAILYDSN GRAFDB2 GRAFLPAR TRNDDB2A
or if you use %VMXGSUM in your own report/summarization programs,
then you MUST read the incompatibility details in Section VIII and
in Change 11.309 and you will need to re-tailor your changes.
- MXG 11.11 requires SAS 6.08 at maintenance TS407 plus Zap Z6088203
Previously, I also said Z6086442 was required, but SAS Technical
Support corrected me; Z6086442 is already included in TS407.
MXG Version 11.11 was shipped along with Newsletter TWENTY-FIVE, and it
should be installed immediately as it provides these major enhancements:
These major enhancements were added in MXG 11.11 dated Mar 26, 1994
Support for STK's ICEBERG device user SMF record.
Support for Boole & Babbage CICS/Manager Type 110 Statistics records.
Support for Candle's Omegamon II for SMS user SMF record
Support for ISOGON's SoftAudit product's externalized files.
CICS/ESA Shutdown Statistics Report (DFHSTUP) now produced by MXG.
Sterling's NDM, now Connect Direct 1.7.01 incompatible changes.
Partial support for LEGENT's MIM Release 4.0.
Enhancements and corrections to ANALDB2R DB2PM-like reports.
Enhancements to VMXGSUM summarization routine.
Feedback that ASMIMSLG does not fail with IMS 4.1 log records.
These major enhancements were added in MXG 11.10 dated Feb 14, 1994
Support for IBM's OPC/ESA Release 2.1.
Support for LEGENT's NETSPY Release 4.4.
Support for CA's ACF2 Releases 6.0 and 6.1.
Support for Candle's Deltamon SMF record.
Performance improvements for VMXGSUM (used in most ANALxxxx members).
The ANALSMF "Simulator" analyzes SMF VSAM CI Size impact on your site.
These major enhancements were added in MXG 11.09A dated Jan 10, 1994
Support for Landmark CICS/ESA Version 1.1 (incompatible) records.
Summarization of Amdahl's APAF in ASUMAPAF.
Support for ZARA Release 1.1.
Corrections to ANALDB2R reports.
Performance enhancements in VMXGSUM execution.
These major enhancements were added in MXG 11.09 dated Dec 17, 1993
Support for DB2 Version 3.1.0 incompatible changes to DB2 SMF records.
Support for NPM Version 2.1.0.
Support for AS/400 Version 2.3 Performance Data.
Support for Memorex Telex LMS Version 2.17
Support for BatchPipes/MVS type 91 SMF record.
Support for Mobius' INFOPAC-RDS user SMF record.
Support for Integris UniKix records (both ASCII and Binary format).
Support for Novell Network Navigator User SMF record.
Support for Softwork's Performance Solution I/O Plus & Hiperload SMF.
Support for NETWISE RPC EXEC type 33 SMF record.
Performance enhancement of VMXGSUM algorithm
Utility to count type 110 records by application.
These major enhancements were added in MXG 11.08 dated Nov 1, 1993
Support for Amdahl APAF Version 2.1
Support for FOCUS MSO Release 6.8.
Support for IBM's ADSM subtype 14 type 42 SMF record.
CICS "Requested Reset Statistics" now processed into PDB.CICRRTRV.
These major enhancements were added in MXG 11.07 dated Oct 4, 1993
Support for DFSMSrmm (Removable Media Manager) two SMF records.
Support for DFSMSrmm Extract Files created by IBMs EDGHSKP utility.
Support for AS/400 Release 2.2, all records, labels, formats, etc.
Support for SAP's IMS log record type 'AE' for SAP IMS Accounting.
Support for AICorp Central Server SMF record.
Support for Type 42 Subtype 4 Concurrent Copy & Extended Sequential.
Support for Sterling's NDM, Network Data Mover SMF record.
Support for 4th Dimension's CONTROL-D Release 3.0.0 SMF record.
Support for NETVIEW APAR OY66237 change to TYPE37 SMF record.
Graphics enhancements for consistency, better pictures, in GRAFxxxx.
These major enhancements were added in MXG 11.06 dated Sep 1, 1993
Support for TCP/IP 2.2.1 APAR PN40511 (API Calls, FTP/TELNET Client)
Support for ASTEX Release 1.7 SMF record
Support for Software AG's COM-PLETE Release 4.54 SMF record
Support for Laser Access Corp's Optical Disk System's 3 SMF records
Support for LEGENT's SAR product User SMF record.
MXG 11.05 was a checkpoint version after Change 11.150.
MXG 11.04 was a checkpoint version before Change 11.150.
These major enhancements were added in MXG 11.04 dated Aug 20, 1993
Support for LEGENT's SAR product's User SMF record.
Support for Laser Access's Optical Disk System User SMF records.
Final (?) correction to ASUM70PR.
These major enhancements were added in MXG 11.03 dated Jul 26, 1993
Asynchronous Data Mover Facility APAR OY65142 for SMF type 30.
OMEGAMON/CICS VSAM,DLI,IDMS,ADABAS,SUPRA,DATACOM SPE QOC0553
These major enhancements were added in MXG 11.02 dated Jul 6, 1993
Support for VM/ESA Release 2.1.
Support for Top Secret Release 4.3.
Support for NPM APAR OY54370.
Support for RMF APAR OY64585.
Support for SAP Releases 4.3.J and 5.0.
Support for DOS/VSE POWER 5.1.
Support for OMEGAMON 2.60 Audit Record changes.
Support for APPC Deaccumulation APAR OY63634.
These major enhancements were added in MXG 11.01 dated May 20, 1993
Support for ZARA, The Tape Media Manager from Altai.
Support for SYNCSORT Release 3.5 SMF record.
Support for HMF, Host Monitoring Facility user SMF record.
Support for Corporate TIE user SMF record.
Support for STOPX37 Release 3.5 mis-documentation.
Enhanced ANALRMFR for RMF look-a-like reports from MXG.
Validation of Candle's ITRF (Omegamon/IMS Version 110).
Validation and correction of SMSDATA operand of DCOLLECT
Each of those 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
RMF 4.1.2 (for MVS/ESA 3.1.3) Sep 7, 1990. 8.8
RMF 4.2 (for MVS/ESA 4.1) Oct 26, 1990. 8.8
MVS/ESA 4.1 Oct 26, 1990. 8.8
MVS/ESA 4.2 Mar 29, 1991. 9.9
RMF 4.2.1 (for MVS/ESA 4.2) Mar 29, 1991. 9.9
MVS/ESA 4.2.2 Aug 1991. 9.9
RMF 4.2.2 (for MVS/ESA 4.2.2 Aug 1991. 9.9
MVS/ESA 4.3 Mar 23 1993. 10.10
RMF 4.3.0 (for MVS/ESA 4.3) Mar 23 1993. 10.10
MVS/ESA 5.1.0 ??Summer 1994?? 12.??
CICS/ESA 3.2 Jun 28, 1991. 9.9
CICS/ESA 3.3 Mar 28, 1992. 10.01
DB2 2.2.0 1990 8.8
DB2 2.3.0 Oct 28, 1991. 10.01
DB2 3.1.0 Dec 17, 1993. 11.09
VM/ESA 1.1.1 Dec 27, 1991. 10.1
VM/ESA 2.0 Dec 23, 1992. 10.4
VM/ESA 2.1 Jun 27, 1993. 11.02
These products still had open problems or were potentially incorrect
when MXG 11.11 was built. Contact Merrill for current status.
TYPEZRB - RMF III VSAM file for MVS/ESA 4.2 and 4.3 is not correct.
Huron - Huron SMF record is not supported yet; no sample data SMF
data was provided, and the printed DSECTs were massive and
needed in machine readable form. Planned for 2nd quarter.
EPIC - LEGENT has not provided the format of their tape catalog;
instead, they want you to use the output of their extract
program, which means double processing and kludgy coding.
Nothing planned until LEGENT supplies needed formats.
NDM - Connect/Direct has only been validated for some records.
See Change 11.326.
VIII. Incompatibilities and Installation of MXG 11.11.
1. Incompatibilities
a. MXG's summarization member, %VMXGSUM was changed incompatibly, but
it should affect only the very small number of (sophisticated) users
who have tailored MXG summarization/trending members:
If any of these members exist in your USERID.SOURCLIB(s) libraries:
ASUMDBDS ASUMDB2A ASUMDOS ASUMHPCS ASUM70PR
DAILYDSN GRAFDB2 GRAFLPAR TRNDDB2A
or if you use %VMXGSUM in your own report/summarization programs,
then you MUST read the details in Change 11.309 and you will need to
re-tailor your changes.
The incompatibility is somewhat obscure; to reduce CPU time and to
minimize temporary DASD space used during summarization, %VMXGSUM
now determines which variables are needed, and keeps only the needed
variables from the input data set. The problem arises only if you
use the INCODE= parameter (it lets you insert SAS code into the
summarization logic, and is used in those nine members), and even
then, only if you reference variables in your INCODE= logic that are
not going to be kept in the output summarized dataset. In that rare
case, you must list those un-kept variables in the new KEEPIN= parm.
The above members in MXG 11.11 contain the needed KEEPIN= statement.
(If you overlook this note, you still should detect the problem in
your testing, because you will normally see UNINITIALIZED VARIABLE
messages on the SAS log to alert you to your error!)
b. Make sure you are using the CONFIG member from the MXG 11.11 library
in your JCL, either with the MXGSAS JCL Procedure, or on your EXEC:
// EXEC SAS,CONFIG='MXG.V1111.SOURCLIB(CONFIG)'
You will get many, strange syntax errors (ERROR 180 or 200) if you
do not use the MXG 11.11 CONFIG member.
If you are migrating to MXG Version 11.11 from MXG Version 9.9 or
earlier, AND you have tailored your MXG installation (with EX... or
IMAC.... members), you must read the MXG 10.10 compatibility section
in member CHANGESS; find the text "member=CHANGE10" and read on!
c. MXG Version 11.11 requires SAS Version 6.08 at maintenance TS407,
plus SAS Zaps Z6088203 and Z6086442 for MVS and CMS. For WINDOWS,
SAS 6.08 at TS407 is required. For all UNIX, except for AIX, SAS
6.09 is required. For AIX, the second maintenance to 6.09 will be
required. For OS/2, SAS 6.10 will be required. (Both AIX and OS/2
do not currently properly support VBS record processing; their fixes
are due out this summer.) MXG has been tested error-free with the
above SAS versions, and I strongly suggest you ensure that your SAS
System is at the above level of SAS maintenance. (While most of MXG
may execute successfully with lower maintenance, you may encounter
known errors if you are not at the above level.)
d. Observation counts may change in PDB.JOBS and PDB.NJEPURGE because
of Change 11.226. More observations may be seen in PDB.TYPE74 due
to Change 11.170.
2. Installation and re-installation procedures are described in detail:
in member INSTALL, and sample JCL is in member JCLINSTL. Summary:
a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.
b. Allocate a 83-cyl PDS: MXG.V1111.MXG.SOURCLIB, and use IEBUPDTE
to read the MXG tape to create the 2000+ member Source Library.
c. Allocate a 1-cyl PDS: MXG.V1111.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 V1111.USERID.SOURCLIB.
d. Allocate a 1-cyl SAS Data Library: MXG.V1111.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.V1111.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.V1111.USERID.SOURCLIB. Then compare your
IMACs with those that were changed (see the alphabetical list of
changed members in member CHANGES). If any members in your
MXG.V1111.USERID.SOURCLIB were changed, you must reinstall your
site's tailoring for that IMAC, starting with the IMAC member
from the MXG 11.11 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 11.11 in its own set of libraries. When
parallel testing is complete and are ready to implement MXG 11.11
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.V1111.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:" and "ERROR :" and
"UNINITIALIZED" and "NOT CATLGD", as they may 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. Documentation of MXG Software.
Member CHANGES identifies the Version and Release of MXG Software, and
describes all changes made in that Release. The text of each change
names the members that were added or altered by that change. Member
ChangeS is designed to be read online (with SPF BROWSE), so that you can
search for specific product name references (CICS, MVS/ESA, etc.), or
the MXG member name or product acronyms.
Member CHANGESS contains ALL changes in ALL versions of MXG.
Member NEWSLTRS contains the text of all newsletters. You can search
NEWSLTRS for product name or acronym to find the technical notes, APARs,
etc., from all MXG newsletters. Since the Change Log portion of each
newsletter is in member CHANGESS, they are not repeated in NEWSLTRS.
The MXG Technical Newsletter is typically published twice a year, with
one printed copy sent to each licensed site, and it describes changes
and enhancements to the software, provides APARs and PTFs affecting MXG
users, and provides technical papers of interest to MXG users.
Member DOCVER lists alphabetically ALL datasets and variables that are
built by this MXG Software Version.
Members DOCVERnn are the "delta-documentation" between MXG versions, and
list only those datasets and variables that were added/deleted/changed
by version "nn".
Members ACHAPxxx are the text chapters from the 1984 MXG Guide and the
1987 MXG Supplement, to which the text of newsletters and changes has
been added. At present, these chapters are very rough; in a few cases
the chapter has actually been completed and revised, but most of these
chapters delivered in MXG 11.11 are little more than a concatenation of
the original text, and there are no figures nor tables. This is clearly
work in progress, but at least the old books are now machine readable!
When all 42 chapters are completely revised and updated in the source
library, I will decide if any will also be made available in printed
form, but the primary source of all future documentation will be the MXG
source library itself, which can now be updated when changes occur!
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 datasets, references to MXG reports that use these
datasets, and the MXG member names that you use to process that product.
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:
IMACxxxx - Defines record IDs, and "_K,_L" macros for product xxxx.
ADOCxxxx - "Chapter FORTY" style dataset and variable documentation.
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 each dataset. There can be more than one
dataset per product. The EX member name suffix yyyzzz is
the same as the suffix of "_L" and "_K" macros defined in
IMACxxxx for the product. See further discussion under
"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.
Finally, remember that MXG is source code, so you can often find your
answer by BROWSING the source members, especially the VMACxxxx, ANALxxxx
members. The MXG Variable name is often the DSECT's field name, and if
not, the vendor's field name is often in adjacent comments in the INPUT,
so you can cross reference to the vendor's documentation of their data!
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 since MXG 10.10:
Member Change Description
All 11.150 Rewrite to support execution under ASCII SAS versions
ANALCISH 11.329 CICS/ESA DFHSTUP Shutdown Statistics Reports added.
ANALDASD 11.288 Sample prime-time cross-system DASD report.
ANALDB2R 11.007 Fails with PDB=SMF if account reports suppressed.
ANALDB2R 11.036 Suspension counts twice actual value.
ANALDB2R 11.037 Total Read IOs miscalculated on Statistics Summary
ANALDB2R 11.042 DB2 PMACC02 count of OPENS actually counted FETCHES.
ANALDB2R 11.043 DB2 PMSTA02 count of SUSPENDS usually zero.
ANALDB2R 11.143 OVERFLOW HAS OCCURRED, OUT OF MEMORY errors.
ANALDB2R 11.237 ANALDB2R can now report from a PDB on tape.
ANALDB2R 11.286 Continued enhancement and error corrections.
ANALDB2R 11.330 DB2 Audit Detail Report Completion Code still wrong.
ANALDSET 11.048 ERROR 455-185 for dataset TYPE30OM.
ANALDSET 11.291 TYPE64 records now sorted consistent with non-VSAM.
ANALRACF 11.260 UNINITIALIZED variable due to SAS Usage note 6886.
ANALRMFR 11.024 Report fails with PDB=SMF, works with PDB=PDB.
ANALRMFR 11.069 Continued enhancement of RMF look-a-like reports.
ANALRMFR 11.231 Additional RMF report enhancements and corrections.
ANALRMFR 11.256 Correction of CPU percentages and type 74 reports.
ANALSMF 11.300 The "Simulator" analyzes SMF VSAM CI Size impact.
ASMIMSLG 11.157 IMS log processing type 36 changed.
ASMTAPES 11.360 MXG Tape Mount and Allocation Monitor works 2/3.
ASMTMNT 11.154 0C4 abend in MXGTMNT at one site.
ASMVTOC 11.257 No output records under MVS/ESA 4.2 and earlier.
ASUM70PR 11.022 PDB.RMFINTRV may be corrupted by ASUM70PR.
ASUM70PR 11.027 LP0MGTTM not in RETAIN list (affects only MDF)
ASUM70PR 11.041 ASUM70PR new variables, and mini-tutorial.
ASUM70PR 11.087 LP0MGTTM (Amdahl MDF only) incorrect.
ASUM70PR 11.145 ASUM70PR still wrong in MXG 11.03.
ASUMAPAF 11.290 Summarization of MDF APAF records similar to PR/SM.
ASUMDB2A 11.038 QTXAIRLM omitted from SUM= list
BUILD006 11.320 PDB logic enhanced for APPC tasks (no purge record).
BUILDPDB 11.025 Building your PDB on tape.
BUILDPDB 11.089 Purge records lost if PRPRTY=4-7 or 12-15.
BUILDPDB 11.226 JES2 NJE Purge records for JT were mis-recognized.
BUILDPDB 11.228 Open Edition/MVS (OMVS) TYPE30OM added to PDB.
BUILDPDB 11.269 PDB.JOBS ACCOUNTn/RESTARTS wrong for MULTIDD jobs.
BUILDPDB 11.320 PDB logic enhanced for APPC tasks (no purge record).
CHANGESS 11.074 New member CHANGESS contains ALL changes ALL Versions
CICINTRV 11.224 CICS "Requested Reset Statistics" now processed.
CLTIMER 11.035 STOP statement required by SAS Version 6.
CONFIG 11.306 For MVS, MEMSIZE=32MB now default value.
CONFIG07 11.129 SAS Error 76-322 with numbered + unnumbered lines.
DAILYDSN 11.076 Typos misspelled output datasets.
DIFFDB2 11.282 New dataset PDB.DB2STATS now created for reports.
DIFFHSM 11.019 Member did not use the "_L" macro names.
Doc 11.013 Change 10.175 typo, two _KTY0 should be _LTY0
FMXGUCBL 11.088 Archaic UCBL function corrected.
GRAFLPAR 11.079 Error "OUT OF MEMORY" due to SAS Error 6719.
GRAFTRND 11.216 Not all workload data was plotted if workload unused.
GRAFWORK 11.311 Workload graphs enhanced with memory frames in use.
GRAFxxxx 11.173 Enhancements, common structure for GRAFxxxx members.
IMACACCT 11.104 "VARIABLE SACCT1 NOT FOUND" can occur.
IMACCICS 11.224 "CICRRTRV NOT FOUND" errors using old IMACCICS
IMACICBB 11.347 Support for Boole & Babbage CICS Manager Statistics.
IMACICDL 11.268 Omegamon CICS/ESA type 110 may have wrong DL/I counts
IMACICSA 11.110 Support for SAP Releases 4.3.J and 5.0.
IMACICSA 11.148 SAP Release 4.3 requires one change to MXG.
IMACICSA 11.211 CICS SAP variables STCDB1-STCDB5 should be CHAR.
IMACPDB 11.155 ACCOUNTn variables no longer limited in IMACPDB.
IMACPDB 11.214 JES3 variable CLASS added to JES3 PDB.JOBS.
IMACPDB 11.258 Variables ACTDLYTM,DSPDLYTM,RESDLYTM now in PDB.JOBS
JCLIMSLG 11.109 MXG 10.10 had wrong JCL in this example JCL member.
JCLTEST 11.012 SAS 5.18 WORK.#DIRMACR is out of space condition.
JCLTEST6 11.093 0C4 ABEND in SASXKERN if IBM exit IFGOEXOB used.
MONTHBLD 11.040 Error "DATASET TAPEMNTS NOT SORTED".
MONTHBLD 11.206 DATA SET TAPEMNTS IS NOT SORTED error.
Many 11.302 Additional ASCII/EBCDIC differences resolved.
RMFINTRV 11.008 TYPE74 tape counts in AVGRSPMS, DEVACTTM, etc.
RMFINTRV 11.264 Variable PGPERBLK in RMFINTRV is incorrect.
SPIN 11.184 SPIN library can fill if Change 11.060 not installed.
TRND70 11.240 Trended variables READY12-READY15 have wrong value.
TRND71 11.222 Variable VIO value incorrect in TRND71.
TRNDDB2A 11.038 QTXAIRLM omitted from SUM= list
TRNDVMXA 11.235 VM/ESA Trending had logic errors.
TRNDxxxx 11.227 Trending now includes the MVS/ESA 4.3 variables.
TYPE102 11.085 Variables QW0145SC/QW0145LL not input.
TYPE102 11.107 IFCID 53 and 58 records may have been dropped.
TYPE110 11.023 Omegamon V550 APAR QOC0451/QOC0534 bad record error.
TYPE110 11.080 STARTIME in CICINTRV dataset is actually ENDTIME.
TYPE110 11.138 Skip over SAP Journal Records circumvention.
TYPE1415 11.266 Variable TEMP in dataset TYPE1415 may be misset.
TYPE28 11.116 Support for NPM APAR OY54370.
TYPE28 11.246 Support for NPM Version 2.1.0
TYPE30 11.002 INVALID OMVS TRIPLET message, no observations.
TYPE30 11.003 Type 30 Interval INTBTIME/INTETIME wrong in MVS 4.3.
TYPE30 11.004 Variable DSSIZHWM is incorrect.
TYPE30 11.033 Small negative values for ACTDLYTM.
TYPE30 11.060 JELAPSTM and others large (positive or negative).
TYPE30 11.126 Type 30 APPC fields accumulation corrected OY63634.
TYPE30 11.140 Asynchronous Data Mover read/writes in APAR OY65142.
TYPE30 11.199 Variables INTBTIME/INTETIME off by 100 seconds.
TYPE30 11.229 GMT Offset was still wrong sometimes, by 100 seconds.
TYPE33 11.243 Support for NETWISE RPC EXEC type 33 SMF record.
TYPE37 11.001 INPUT STATEMENT EXCEEDED RECORD LENGTH
TYPE37 11.031 Undocumented LAN variables BRFSMADR BRFSMNAM added.
TYPE37 11.119 INPUT STATEMENT EXCEEDED RECORD LENGTH.
TYPE37 11.202 Support for NETVIEW APAR OY66237 (Hardware Log).
TYPE39 11.280 TYPE39_8 variables all incorrect.
TYPE42 11.021 New TYPE42DS has GMT values in INTERVAL record.
TYPE42 11.179 Support for Concurrent Copy & Extended Sequential DS.
TYPE42 11.235 Support for IBM's ADSM subtype 14 type 42 SMF record.
TYPE42 11.325 TYPE42 subtype 6 STOPOVERs if VSAM SMF data is read.
TYPE57 11.215 Type 57 ESS variables non-blank if no ESS installed.
TYPE60 11.203 Storage and Data Class missing in NVR TYPE60 records.
TYPE6156 11.223 INVALID DATA for OWNEXPDT corrected.
TYPE7072 11.016 TYPE72MN dataset contains only one PERFGRP.
TYPE7072 11.152 TYPE70 dataset now supports CPUIDs of 0 thru 15.
TYPE7072 11.229 GMT Offset was still wrong sometimes, by 100 seconds.
TYPE7072 11.265 Boole CMF Type 72 Subtype 2 INPUT STATEMENT EXCEEDED.
TYPE7072 11.275 IBM APAR OY67002 corrupts TYPE70,TYPE70PR,ASUM70PR
TYPE72 11.177 SERVICE can be zeroed if it overflows ==> zero obs!
TYPE72MN 11.171 Zero obs in TYPE72MN for MVS/ESA 4.2 or earlier.
TYPE73 11.015 TYPE73 contains observations for dummy CHPIDs
TYPE73 11.102 Zero observations in TYPE73.
TYPE73 11.114 PNCHANBY (EMIF Partition Channel Busy) added.
TYPE73 11.195 Variable PNCHANBY propagated into inactive records.
TYPE74 11.170 TYPE74 not output if only allocated but not used.
TYPE80 11.117 Support for Top Secret Release 4.3.
TYPE80 11.207 Support for TOP-SECRET records written to log.
TYPE80A 11.017 INPUT STATEMENT EXCEEDED error.
TYPE80A 11.054 TYPE80A fails with INPUT STATEMENT EXCEEDED.
TYPE90 11.158 TYPE90 variable ACTIVE renamed to ACTIVEMN.
TYPEACF2 11.315 Support for CA's ACF2 Releases 6.0 and 6.1.
TYPEAICS 11.180 Support for AICorp Central Server SMF record.
TYPEAPAF 11.225 Support for Amdahl APAF Version 2.1
TYPEAPAF 11.267 APAF V2.1 dataset APAFCHAN was trashed.
TYPECIMS 11.073 INVALID VALUE FOR TH corrected.
TYPECOMP 11.156 COM-PLETE Release 4.5 SMF record supported.
TYPECOMP 11.209 Variable ULOGCPUT incorrectly input.
TYPECTLD 11.174 Support for 4th Dimension's CONTROL-D Release 3.0.0.
TYPEDB2 11.005 INVALID 3rd ARGUMENT IN SUBSTR, variable JOB blank.
TYPEDB2 11.006 Variable QDSTQDBT is incorrect.
TYPEDB2 11.050 DB2ACCT variable NETSNAME incorrectly padded.
TYPEDB2 11.255 Support for DB2 Version 3.1 incompatible changes.
TYPEDCOL 11.057 DCOLLECT SMSDATA (SMS constructs) cause STOPOVER.
TYPEDCOL 11.151 Variables DCUSYSID/DCUTMSTP not kept in constructs.
TYPEDLMN 11.308 Support for Candle's Deltamon SMF record.
TYPEDMON 11.162 Support for LEGENT's ASTEX Release 1.7.
TYPEDOS 11.106 Support for DOS/VSE POWER 5.1.
TYPEDOS 11.149 Variables STARTIME/STOPTIME may be wrong.
TYPEEDGR 11.190 Support for DFSMSrmm Extract Files (EDGHSKP utility).
TYPEEDGS 11.189 Support for DFSMSrmm SMF Audit and Security records.
TYPEEDGS 11.209 Several MVT... variables incorrectly input.
TYPEF127 11.210 FACOM pseudo-RACF type 127 FUNCTION CHAN IS UNKNOWN.
TYPEFOCU 11.219 Support for FOCUS MSO Release 6.8.
TYPEHMF 11.049 Support for HMF, Host Monitoring Facility product.
TYPEHSM 11.078 New HSM dataset HSMFSRBO, IMACHSM changed.
TYPEICE 11.340 Support for STK's ICEBERG SMF record.
TYPEIMS 11.181 Support for SAP's IMS log record type 'AE'.
TYPEIPAC 11.252 Support for Mobius' INFOPAC-RDS user SMF record.
TYPEMEMO 11.032 New variables TRANTIME TRANCOST added.
TYPEMIM 11.317 Partial support for LEGENT's MIM Release 4.0.
TYPEMON8 11.230 INVALID ARGUMENT TO FUNCTION MDY TIESDATE INVALID.
TYPEMON8 11.270 Support for Landmark CICS/ESA Version 1.1 INVALID DO.
TYPEMON8 11.278 ERROR3.LANDMARK.MONITOR due to invalid record.
TYPEMON8 11.327 INVALID DATA FOR TIAPREQ with MXG 11.0x-11.10.
TYPENDM 11.175 Support for Sterling NDM Network Data Mover 1.4.0.
TYPENDM 11.326 Sterling's NDM, now Connect Direct 1.7.01, incompat!
TYPENSPY 11.009 INVALID ARGUMENT TO FUNCTION DATEJUL error.
TYPENSPY 11.029 Variable SNITIME incorrect.
TYPENSPY 11.130 LEGENT LANSPY #DGL249 circumvention.
TYPENSPY 11.159 NETSPY fix changed again by LEGENT.
TYPENSPY 11.316 Support for LEGENT's NETSPY Release 4.4.
TYPEODS 11.147 Support for Laser Access Corp's Optical Disk System
TYPEOMAU 11.092 Omegamon 2.60 Audit Record moved OMSUBSID.
TYPEOMCI 11.115 OMEGAMON V550 SMF record INPUT STATEMENT EXCEEDED.
TYPEOMCI 11.136 OMEGAMON/CICS VSAM,DLI,ADABAS,IDMS,SUPRA,DATACOM.
TYPEOMCI 11.313 OMEGAMON user SMF record INPUT STATEMENT EXCEEDED.
TYPEOMSM 11.332 Support for Candle's Omegamon II for SMS user record.
TYPEOPC 11.122 Variables added to OPC24_6 and OPC24D_C datasets.
TYPEOPC 11.304 Support for OPC/ESA Release 2.1.
TYPEPOOL 11.141 INPUT STATEMENT EXCEEDED LENGTH with POOL/DASDSMF.
TYPEPRFS 11.262 Support for Softworks' Performance Solution SMF data.
TYPEQAPM 11.166 Support for AS/400 Release 2.2, all records now!
TYPEQAPM 11.254 Support for AS/400 Version 2.3 Performance Data.
TYPEQAPM 11.319 AS/400 system name AS400SYN was blank.
TYPESAR 11.146 Support for LEGENT's SAR product SARSRQU3 SMF record.
TYPESFS 11.250 Xerox SFS accounting record INVALID ARGUMENT error.
TYPESFTA 11.321 Support for ISOGON's SoftAudit externalized files.
TYPESTC 11.124 Missing values for several variables corrected.
TYPESYNC 11.056 Support for SYNCSORT Release 3.5 new variables.
TYPETAO 11.034 "INVALID DATA FOR TAOSTYP" messages.
TYPETCP 11.028 TCP/IP addresses reformatted.
TYPETCP 11.163 Support for TCP/IP 2.2.1 APAR PN40511 new fields.
TYPETPX 11.167 Support for LEGENT's TPX Release 3.5 (incompatible).
TYPEVM 11.113 Support for VM/ESA Release 2.1 Accounting record.
TYPEVMXA 11.047 VM/ESA "UNEXPECTED/INVALID CONTROL RECORD" message.
TYPEVMXA 11.112 Support for VM/ESA Release 2.1 Monitor records.
TYPEVMXA 11.142 VM/ESA duration variables could be truncated.
TYPEVMXA 11.261 VXSYTCPU dataset variable LCUCLPTM not kept.
TYPEVVDS 11.103 Blank values for SMS Storage, Data, etc., Classes.
TYPEVVDS 11.204 Variable VVRBSENM can be blank.
TYPEX37 11.070 STOPX37 Release 3.5 records incorrectly documented.
TYPEX37 11.091 Variable MESSAGE not decided in STOPX37 Rel 3.5.
TYPEX37 11.133 STOPX37 undocumented VOLSER,MSGCODE found.
TYPEZARA 11.059 Support for ZARA, The Tape Media Manager from Altai.
TYPEZARA 11.276 Support for ZARA Release 1.1 (incompatible)
UCICSCNT 11.244 Utility to count type 110 records by application.
VMACDB2H 11.242 DB2 variable NETSNAME can still mismatch CICSTRAN.
VMXGHSM 11.131 HSM BCDS dataset MCB incomplete, too few obs.
VMXGHSM 11.194 Not all observations output in dataset DSR.
VMXGHSM 11.259 HSM BCDS and MCDS data value errors.
VMXGSUM 11.281 Performance enhancement of MXG summarization
VMXGSUM 11.309 Execution improved by creating KEEP= for input.
VMXGSUM 11.309 INCOMPATIBLE exposure if you have tailored members.
VMXGVTOF 11.030 Variable DS4IVTOC was not kept.
WEEKBLD 11.040 Error "DATASET TAPEMNTS NOT SORTED".
WEEKBLD 11.206 DATA SET TAPEMNTS IS NOT SORTED error.
WEEKBLDT 11.172 WEEKBLD with no rewinds/remounts of WEEK tape.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 11
Change 11.361 The offset for MCCAVSN was hardcoded and thus wrong for
VMXGHSM some levels of HSM; now, instead of INPUT +16, the logic
Mar 25, 1994 is OFFV=65+MCCNVSNO; INPUT @OFFV ....
Thanks to Gary Matney, Twentieth Century Investors, USA.
Change 11.360 The MXG Tape Mount and Allocation Monitor is a major
ASMTAPES extension to MXG's existing MXGTMNT Tape Mount Monitor.
Mar 24, 1994 Now, both tape mounts and tape allocation-deallocation
events are recorded in SMF so you can measure how long
each tape drive was used by what job. The new monitor is
provided in ASM source code in member ASMTAPES and works
fine at two sites (one using MVS/ESA 4.3 with MIM plus
SMS, the other is at MVS/ESA 4.2), but at MVS/ESA 3.1.3
site with both MIM and SMS, the new monitor program
either waits doing nothing or ABENDS gracefully. So if
you really need this monitor now, read Change 11.101 and
then assemble member ASMTAPES (it still creates program
named MXGTMNT) and check it out. I think it is highly
likely it is ok with MVS/ESA 4.2 or 4.3, but your
feedback as to where it works and when it doesn't will
help validate for everyboth. Since both MIM and SMS get
involved in allocation, they may or may not be the
trigger, but we are actively working on the SRB dumps to
understand and fix the program for all environments.
Thanks to Bill Fairchild, Royal Associates, USA
Thanks to Chuck Hopf, Primerica, USA
Change 11.359 If you modified the interval in ASUMTMNT, GRAFTMNT will
GRAFTMNT not correctly place the points on the graphs since it
Mar 24, 1994 was using the HOUR of the time as the axis. It now uses
the time at 3600 second intervals.
Thanks to Chuck Hopf, Primerica, USA
Change 11.358 ASUMHSM, TRNDHSM, GRAFHSM provide some ability to report
ASUMHSM on dataset movement caused by HSM. Since this can be a
TRNDHSM significant contributor to batch run times as well as TSO
GRAFHSM response, you may find these summarization, trending, and
Mar 24, 1994 graphical analysis of HSM useful.
Thanks to Chuck Hopf, Primerica, USA
Change 11.357 The second pair of variables named LLSNAFB/LLSNAFN are
VMACNSPY now named LLSNAEB/LLSNAEN, and LLSNAEB was added tothe
Mar 24, 1994 MGBYTES format (the "E" vars are for SNA over Ethernet).
Thanks to Warren Hayward, TJX, USA.
Change 11.356 Change 11.352 was revised after new iterations. Type 35
VMACOPC caused ABEND that was fixed, and subtype 'G' is now
Mar 24, 1994 supported. There are some spanned subtype 24 records
that MXG does not yet handle correctly; at present all I
could do was to recognize I missed a spanned record with
a message on the log; this only affects the OPC24xxx
data sets, and will be fixed soon. Fax if you need it.
Thanks to Randy Shumate, Mead Data Central, Inc.
Thanks to Maureen Walshe, IBM Nordiska Laboratoirer, SWEDEN.
Change 11.355 Change 11.351 was revised after the Mar 23 early tapes
BUILDPDB were sent. The WEEKBLD/WEEKBLDT/MONTHBLD members had not
Mar 24, 1994 been revised until Mar 24.
Change 11.354 CICS Statistics variables A21LUTTM and A21SNTTM were not
VMAC110 correct; a real value of 30 minutes was reported as only
Mar 24, 1994 .03 seconds.
==Changes thru 11.353 were in MXG 11.11 created March 23, 1994===
Change 11.353 LEGENT SAR records had a number of fields added in 1993
VMACSAR that are now supported in MXG. The maintenance has no
Mar 23, 1994 version/release, only Change #05- Change #9 in DSECT!
Thanks to Bob Mattingly, ARCO-EIS, USA.
Change 11.352 OPC records caused INPUT STATEMENT EXCEEDED RECORD LENGTH
EXOPC24X for TRLRCTYP=35 (delete all references to TRLPOS35). For
IMACOPC TRLRCTYP=24 MT0TYPE=9 (expand IF MT0TYPE NE 6 THEN to
VMACOPC IF MT0TYPE NE 6 AND MT0TYPE NE 9, and expand 7 LE MT0TYPE
Mar 23, 1994 LE 8 to 7 LE MT0TYPE LE 9). Support was added for the
Mar 24, 1994 MT0TYPE='G' (MT0TYPE is a number, so character 'G' =199)
which creates new dataset OPC24_G (not to be confused
with existing dataset OPC24D_5, which caused the new exit
and dataset macros to be EXOPC24X for OPC24_G dataset).
OPC support was revised after March 23 tapes shipped.
Thanks to Randy Shumate, Mead Data Central, USA
Change 11.351 RMF dataset TYPE77 is now automatically created by MXG's
BUILDPDB BUILDPDB/BUILDPD3 algorithms. TYPE77 reports ENQUE
BUILDPD3 conflicts and delays, and is expected in ANALRMFR for
BUILD001 replication of IBM RMF reports from MXG datasets. Logic
BUILD003 in WEEKBLD/WEEKBLDT/MONTHBLD now also expectes the TYPE77
BUILD518 dataset. Added Apr 18: This change is INCOMPATIBLE if
BUILD606 you have tailored BUILDPDB to add TYPE77 processing. See
WEEKBLD text of Change 12.013. This change was also incomplete
WEEKBLDT for JES3.
MONTHBLD
Mar 24, 1994
Change 11.350 Additional CICS Shutdown Reports were added. One problem
ANALCISH with Mode Table report (many pages, all zeros) with all
Mar 23, 1994 APPLIDs went away when a single APPLID was reported, but
this will be investigated as soon as data tape received.
Also, Last Reset time is different between IBM & MXG.
Thanks to Neil Ervin, Huntington Bank Service Company, USA.
Change 11.349 Variable SHEETPRN is now automatically added to PDB.PRINT
IMACPDB to count sheets printed.
Mar 22, 1994
Thanks to Jill Hansen, South Dakota Education, USA.
Change 11.348 Variable DVLNUCBA in dataset DCOLVL is now formatted as
VMACDCOL HEX8 and is LENGTH 5 (because it is numeric, five bytes
Mar 22, 1994 are required to store all possible hex digits).
Thanks to Al Rozewski, Parker Hannifin, USA.
==Changes thru 11.347 were printed in MXG Newsletter 25 dated 26Mar94===
Change 11.347 Support for Boole & Babbage CICS/Manager Statistics data
EXCICBBD in type 110 SMF record, subtype BB02 (which MXG sets back
EXCICBBF to SUBTYPE=2 for processing), Statistic STIDs:
EXCICBBG STID DATASET DESCRIPTION EXIT MEMBER VARS
EXCICBBL 200 CICSBBSI SIT EXCICBBS 52
EXCICBBR 201 CICSBBRC RCT EXCICBBR 47
EXCICBBS 202 CICSBBLT LT X EXCICBBL 55
FORMATS 203 CICSBBFC FCT EXCICBBF 57
IMACCICS 204 CICSBBGL GLOBAL PERFORMANCE EXCICBBG 37
IMACICBB 205 CICSBBDL DLI EXCICBBD 44
VMAC110 Those 6 datasets are created, but they will have zero obs
Mar 20, 1994 and only 15 variables unless you enable processing - see
member IMACICBB for enablement procedure and comments.
Adding this support uncovered several errors in field
alignment (three sets of CPU fields) that will be fixed
by Boole's PTF BPC2312 which you must request and install
for that dataset to be valid.
Thanks to ???, VW Wolfsburg, GERMANY.
Change 11.346 Netmaster 2.2 added new variable SMFNCUSR to type 39 data
VMAC39 that is now decoded and added the TYPE39 datasets. This
Mar 19, 1994 is the only reported change in Netmaster 2.2 records.
Thanks to Colin Bowen, Old Mutual, SOUTH AFRICA.
Change 11.345 TCP/IP addresses contained blanks when only one digit was
VMACTCP used for a node; now the blanks are stripped out by using
Mar 19, 1994 TELLOCAL=COMPRESS(TELLOCAL); on all addresses.
Thanks to Wanda Prather, Johns Hopkins University APL, USA.
Change 11.344 Support for CADAM V3R2 Statistical Data plus corrections
VMACCADM to MXG were provided by this user enhancement. See the
Mar 18, 1994 excellent notes at the beginning of the member.
Thanks to Jouke van Schepen, Fokker Aircraft BV, NETHERLANDS.
Change 11.343 NPM Type 28 NPMLANOD dataset (added in NPM Version 2) did
VMAC28 not decode CSL section correctly, causing INPUT STATEMENT
Mar 18, 1994 EXCEEDED with NPMSUBTY='A0'x, which is 4-bytes shorter
than the 'A1'x subtype. The four final fields LCSLRPTO-
LCSLRSFR are now input only for NPMSUBTY=0A1X and three
new variables LCSLPDUD,LCSLMFRD,LCSLURFR are instead
input for NPMSUBTY=0A0X.
Thanks to Pat McGuire, Texas Instruments, USA.
Change 11.342 CA-DISPATCH 5.1 corrupts READTIME in TYPE6 records - the
VMAC6 date can be 1-2 days in the future! CA stores a 01x in
Mar 18, 1994 the 1st byte of READTIME as a flag. A real read time of
Sep 22, 1994 00021CE8x (00:23:04) is corrupted to 01021CE8x (47:59:16)
and those 48 hours are added to midnight of read in date!
My guess was that CA decided that since 0083D600x is 24
hours, they could use the 1st byte of time for DISPATCH,
(just like CA uses the first byte of date for CA7), but
that is not the case; CA now acknowledges that READTIME
field is being corrupted and CA Level 2 is working at the
one reporting site to develop a fix. I had already added
protection in MXG 11.11 to reset the first byte to zero:
Replace READTIME SMFSTAMP8. @;
with READCADI $CHAR8. @;
IF SUBSTR(READCADI,5,1) GT '01'X THEN
SUBSTR(READCADI,5,1)='00'X;
READTIME=INPUT(READCADI,SMFSTAMP8.);
but now the site reports the READTIME is off by 2 hours,
so it appears the time part of READTIME is just bad,
until CA develops a fix.
See Revision by Change 12.199; 1,1 changed to 5,1.
Thanks to Giovanni Dossena, Einchem Elastomeri S.R.L., ITALY.
Change 11.341 TYPE94 variables SMF94Axx were labeled as EJECT when they
VMAC94 should are AUDIT, and variable SMF94EIN/SMF94EPM were
Mar 17, 1994 dropped from the KEEP= list, as they do not exist, and
could be confusing!
Change 11.340 Support for STC ICEBERG 9200 Disk Array Storage Subsystem
EXICECHA creates four datasets, one for each subtype of the SMF
EXICEDEV interval record which are provided by StorageTek:
EXICEDRV ICEBRGSY - Capacity and Space Utilization - per Subsys
EXICESYS ICEBRGCH - Channel Interface Statistics - per channel
IMACICE ICEBRGDV - Device and Its Cache Statistics - per device
TYPEICE ICEBRGDR - Drive Module Statistics - per drive module
VMACICE The range and content of the ICEBERG statistics are quite
Mar 9, 1994 impressive & comprehensive for this new technology, with
utilization counts and durations provided. This support
has been syntax checked, and simulated test data has been
processed, but no real-world users have used the data yet
Change 11.339 MXG 11.08 thru MXG 11.10. the last 380 lines of this RMF
ANALRMFR Report member were inadvertently deleted. The lines were
Mar 7, 1994 restored in MXG Early 11.11, without a Change number.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
==Changes thru 11.338 were in the MXG Version Early 11.11 dtd Mar 8, 94=
Change 11.338 APAR UW04108 adds new variables to TYPE42 datasets:
VMAC42 TYPE42SR: ICLS RCLS SEQIOS
Mar 7, 1994 TYPE42DS: ICLS RCLS SEQIOS
Sequential I/Os are now counted separately (SEQIOS) and
are NO LONGER included in cache statistics (candidate
I/Os and hits). RLCS are Record Level Caches, ICLS are
Inhibit Cache Loads. ICLS only include those ICLS that
are set by DCME, not those by the STARTIO driver.
An additional APAR due out later this year adds even more
valuable instrumentation to the data set statistics:
TYPE42DS: BLKSIZE DEVNR STORCLAS VOLSER
S42AMDRB S42AMDRR S42AMDWB S42AMDWR
S42AMSRB S42AMSRR S42AMSWB S42AMSWR
S42AMZRB S42AMZRR S42AMZWB S42AMZWR
The long-needed VOLSER and DEVNR will be the first volume
for most multi-volume or striped datasets; however, for
sequential SAM access, there will be one record per
volume. The new Access Method fields (S42AMxxx) are
generated only for access methods that support DCME; the
new S42AMxxB variables count blocks read/written for
sequential/direct/directory and the S42AMxxR fields will
contain the corresponding I/O delay time (they are not
yet implemented). The directory counts do not include
STOW or BLDL yet, and there's more design ongoing to
capture as much as possible (eg., VIO and PDSEs). Note
how IBM is making life simple for us both, providing me
with early documentation so this support is already in
place in MXG 11.11 for when you get the APARs!
Thanks to Jeff Berger, IBM SSD, USA.
Change 11.337 CA's TMS can cause a type 80 (RACF) record to be created
VMAC80A for BLP processing, (a ZAP from CA is required to enable
Mar 7, 1994 creation of the records), but they exposed an MXG design
error: variable RESNAME was blank and variable OLDDSN
contained resource name. MXG now correctly inputs the
Resource Name into variable RESNAME; I should then store
RESNAME into OLDDSN only if RACFEVNT=04 (a RENAME), but
since OLDDSN always has contained the Resource Name, and
since you should not have to change your reports, I chose
to continue to put Resource Name in both RESNAME and
OLDDSN variables.
Thanks to Simon Hendy, Reader's Digest European Systems.
Change 11.336 Boole & Babbage CMF PTF BPM4681 adds new variables to
VMACCMF these existing datasets:
Mar 6, 1994 CMF27C93 C279WEH,C279WER,C279WFM
CMF27CSD CMF27CHN,CMF27CU2,CMF27DEV,CMF27LCU,
CMF27MDR,CMF27OBR,CMF27UA1,CMF27UA2,
CMF27uty, and CMF27VOL (the VOLSER!)
In the CMF27CSD dataset, the existence of the new fields
can be identified by testing CMF27VOL; if it is non-blank,
the record was created after PTF BPM4681.
Thanks to Matthew McCue, United Parcel Service, USA.
Thanks to John Piccone, United Parcel Service, USA.
Change 11.335 A minor correction to the revised VMXGSUM summarization;
VMXGSUM if the first data step was not required by the SORT, the
Mar 6, 1994 PROC MEANS looked for MXGSUM1 when it wanted MXGSUM2;
also, a specious error message when the length of the
INDATA= string was less than 40 bytes was eliminated. It
needs to be stressed that the changes made to VMXGSUM are
INCOMPATIBLE if you have tailored any of these members:
ASUMDBDS ASUMDB2A ASUMDOS ASUMHPCS ASUM70PR
DAILYDSN GRAFDB2 GRAFLPAR TRNDDB2A
You must retrofit your tailoring, starting with the new
member in MXG 11.11 (see the text of Change 11.309).
Change 11.334 Batch LSR for VSAM can produce incredible savings, by
ANALDSET using memory for buffers instead of repetitive I/O to the
ADOCBLSR same record. Jobs cost less, use less CPU, fewer I/Os,
ANALBLSR and run in tens of minutes instead of tens of hours. This
Mar 6, 1994 new analysis by Chuck Hopf adds new variables in existing
ANALDSET program (that reads SMF and combines type 14/15,
type 64, and type 30 data) to its output dataset DSETOPEN
which is then used as input to ANALBLSR's algorithms to
identify the jobs and VSAM files that could benefit from
BLSR. ANALBLSR also reports any existing Batch LSR usage
and will suggest increase or decrease in buffering where
appropriate. Implementing Batch LSR requires no change
to the application; only a simple JCL change is required,
and example JCL is in member ANALBLSR. Chuck's full
research paper on this timely subject will be in member
ADOCBLSR when it is available. Chuck points out that for
random access to the same records/index, increasing the
number of buffers (BUFNI,BUFND) does not eliminate I/O.
You would expect that if the data was in the buffer VSAM
would find it there, but actually without Batch LSR, I/O
is done instead of lookaside into the buffers! One case
of an Index with only 6 records had one million EXCPs for
a single step; using BLSR with 10 buffers reduced the I/O
count to seven! ANALBLSR lets you set thresholds of the
amount of memory you want to use, and the percentage of
the total I/O for the step, before it will be selected as
a candidate for Batch LSR, and is self-documenting. This
is still ongoing research.
Thanks to Chuck Hopf, Primerica, USA.
Change 11.333 ANALDB2R PMAUD02 Authorization Failure report had N/A for
ANALDB2R table/object name, when there should have been a name.
DIFFDB2 The length of a SUBSTR() was incorrect, causing tests for
IMACDB2 character values to be incorrect. The DB2PM manual was
READDB2 used to decide when a Target/Owner is printed, and it
Mar 6, 1994 says that they are not printed for "ARCHIVE", yet their
report does print it, so we revised our logic to match!
ANALDB2R PMSTA01 Statistics report timestamps printed
were unclear or misleading. There are two sets of
timestamps; the first is the time range of the data that
was read, the second is the range of data summarized on
that page, if INTERVAL= is specified. Also, DIFFDB2,
IMACDB2, and READDB2 were corrected to use _LDB2STA
instead of the hardcoded PDB.DB2STATS, and IMACDB2 and
READDB2 now know about the new DB2 3.1 dataset DB2ACCTP.
Thanks to Wai Choong Mak, Development Bank of Singapore, SINGAPORE.
Change 11.332 Support for Candle's Omegamon II for SMS user SMF record
EXOMSMDV creates two new datasets:
EXOMSMJB OMSMSDEV - DASD Device Statistics
IMACOMSM OMSMSJOB - JOB and DSNAME activity on each volume.
TYPEOMSM This code has been tested with actual data, but has not
VMACOMSM been extensively validated by real users, yet!
Mar 5, 1994
Change 11.331 The contributed RACF reports program WPDBRACF had to be
ANALRACF changed due to an apparent change in the way that some
Mar 4, 1994 formatted values were named in the PROC TRANSPOSE. The
RENAME= list for dataset RACFREP2 was revised.
Thanks to Neil Campbell, Inland Revenue, ENGLAND.
Change 11.330 DB2 Audit Detail report, Completion Code, was incorrect,
ANALDB2R causing "INVALID NUMERIC DATA" message on the SAS log.
Mar 4, 1994 Two tests for QW0083AD=0 and two tests for QW0087AD=0
should have tested for hexadecimal character zero instead
of numeric. The two pairs of statements now reading :
IF QW0083AD=0 THEN .... and IF QW0087AD=0 THEN ....
must be changed to read:
IF QW0083AD='00'X THEN ... and IF QW0087AD='00'X THEN ...
Thanks to Wai Choong Mak, Development Bank of Singapore, SINGAPORE.
Change 11.329 CICS/ESA DFHSTUP Shutdown Statistics Reports can now be
ANALCISH printed by MXG, either from a raw SMF file, or from a PDB
VMAC110 library (with minor modifications to BUILDPDB). This is
Mar 4, 1994 a significant contribution that uses ESA CICS datasets to
replicate the important IBM Shutdown reports. You can
// EXEC MXGSAS
//SMF DD DSN=YOUR.SMF.TYPE110.records,disp=shr
%ANALCISH(PDB=SMF);
to generate all reports from raw SMF data. You can also
generate these reports regularly, from your PDB, but you
will need to tailor BUILDPDB so that it copies all of the
CICS statistics datasets from the WORK file into the PDB.
You must add, in member EXPDBOUT, this code:
PROC COPY IN=WORK OUT=PDB;
SELECT CIC:;
and then you can invoke %ANALCISH(PDB=PDB); to print
shutdown reports for all CICS regions. Additional macro
arguments let you select date/time/region, and to select
only the desired report.
An minor error in VMAC110 was also corrected; member
IMACCICS is now included by its VMAC, instead of in its
TYPE member or by BUILDPDB. This clerical oversight only
affected me when exploiting my new "_L" logic, but should
have no effect in the field!
Note for the experts: I needed to do this so that I
could null out the CICSTRAN data set (which has high
volume, and is not currently used by ANALCISH) when
I ran against SMF data, and the mislocated %INCLUDE
did not let me. Normally you would null out a dataset
by EDITing the product's IMACxxxx member and change
its "_L" macro's dataset name to "_NULL", but you can
also null out any MXG dataset on the fly, without EDIT
of the IMACxxxx member, by using this syntax:
%INCLUDE SOURCLIB(VMACSMF,VMAC110);
MACRO _LCICTRN _NULL_ %
DATA _VAR110; _SMF; _CDE110;
(You must be at SAS 6.08 for the _NULL_ operand to be
a valid argument of the OUTPUT statement!)
In addition to producing the CICS Shutdown Report, member
ANALCISH lets you see what variable from what MXG dataset
is used for what report field, by reading the code! This
set of reports has been long overdue; the most important
reports have been implemented for both CICS 3.2 and 3.3,
but there are more reports (especially the detail reports
by transaction) that were not finished in time for 11.11.
Thanks to Willi Weinberger, Gothaer Versicherungsbank, GERMANY.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.328 Division by zero if there were no TSO transactions in an
TRNDRMFI interval. Change PCTTRIV=TRIVTRAN/TSOTRAN*100; to read
Mar 4, 1994 IF TSOTRAN GT 0 THEN PCTTRIV=TRIVTRAN/TSOTRAN*100;
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.327 MXG 11.09A and 11.10 only. Change 11.270 caused INVALID
TYPEMON8 DATA FOR TIAPREQ in the MONISYST dataset if the Landmark
Mar 4, 1994 record was from 8.1 with an archaic history segment (i.e.
when LENGTH=2276). The test in MXG for IF LENGTH GE 1464
should have been IF LENGTH EQ 1464. (The error did not
affect the MONITASK dataset, and the history segment is
no longer created by Landmark.)
Thanks to John Goodstat, Gardner Merchant, ENGLAND.
Change 11.326 Sterling's NDM has been renamed to Connect Direct 1.7.01
VMACNDM and the format of the PT record changed, causing INVALID
Mar 4, 1994 DATA for HH messages. Replacing the single line reading
Mar 21, 1994 INPUT +30 with LOC=LENGTH-21;INPUT @LOC corrected some
records, but there are "PT" records with invalid values
for date/times of 000000000001000Ax & 2800000000FC5B10x
that I need to talk to Sterling about, but I can't find
anyone there to return my call, and I only have the PT,
CT, & MC segments corrected thus far, and I still have
no response from Sterling. If you need to process NDM
records now Connect Direct, send us a fax request, ande
we will advise you of the current status.
Thanks to John Goodstat, Gardner Merchant, ENGLAND.
Change 11.325 Type 42 subtype 6 read from VSAM SMF caused STOPOVER.
VMAC42 (There was no error when dumped BSAM SMF was read.)
Mar 1, 1994 Calculation of these three offsets did not include the
"+OFFSMF" at the end of the line. They should read:
OFFJDDSO=OFFJDDSO-3+OFFSMF;
OFFDSIOO=OFFDSIOO-3+OFFSMF;
OFFJDDSO=OFFDSNXT-3+OFFSMF;
The GMT conversion algorithm should also be changed to:
GMTOFF42=100*FLOOR((SMFTIME-SMF42PTE+10)/100);
Thanks to H. Placht, RWD Gmbh Datenverarbeitungsgesellschaft, GERMANY
Change 11.324 Variables SAMPSKPD, RMFIIIRC and INTRVSYN were always
VMAC7072 blank, because variable CONVFLAG should have been input
VMAC71-VMAC79 as PIB1 instead of PIB2.
Feb 28, 1994
Thanks to Scott Ashby, Wachovia Operational Services Corp., USA.
Change 11.323 MXG 11.09-11.10 only. Change 11.246 added support for
IMAC28 NPM 2.1.0, but in IMAC28, macro _L028NWD should have
VMAC28 spelled its dataset name as NPMNWDWD instead of NPMNWCWD.
Feb 28, 1994 In addition, causing confusion but no execution error,
comments in VMAC28 were misspelled; NPMCLLAN should be
NPMCMLAN, and RMSTR should be RMSTA in all occurrences.
Thanks to Ann Wheeler, American President Lines, USA.
Change 11.322 TYPE72MN variables WSETFIX and WSETASM were incorrect.
VMAC7072 They are now calculated as:
Feb 18, 1994 WSETFIX=FRAMEFIX/AVGUSER;
WSETASM=FRAMEASM/AVGUSER;
Thanks to Jan van Kemenade, Universitair Centrum Info., NETHERLANDS.
Change 11.321 Support for ISOGON's SoftAudit Product Usage File and
EXSFTAM Module Usage File creates two datasets by reading the two
EXSFTAP separate SoftAudit flat files:
IMACSFTA MXG Dataset DDname Description
TYPESFTA SOFTAUDM XPUSAGEM Module Usage File
VMACSFTA SOFTAUDP XPUSAGEP Product Usage File
Feb 17, 1994 Both files will be read if data exists in either DDname:
// EXEC MXGSAS,USER=PDBSFTA
//XPUSAGEM DD DSN=MODULE.USAGE.FILE,DISP=SHR
//XPUSAGEP DD DSN=PRODUCT.USAGE.FILE,DISP=SHR
//PDBSFTA DD DSN=WHERE.YOU.WANT.OUTPUT,DISP=(,CATLG),
// UNIT=SYSDA,SPACE=(CYL,(10,10))
%INCLUDE SOURCLIB(TYPESFTA);
If you only want to process one of the two files, use
DD DUMMY in your JCL for the unwanted file.
Change 11.320 APPC tasks do not go thru JES, so there will be no type
BUILDPDB 26 purge record to match up with APPC type 30 records. As
BUILD006 a result, all APPC work would be held in the SPIN library
Feb 16, 1994 until SPINCNT in IMACSPIN is exceeded. Even if there are
type 6 records for APPC tasks, there is no way to know
they exist, so there is no reason to SPIN APPC tasks, and
therefore, the BUILDPDB logic for outputting APPC tasks
to the PDB.JOBS and PDB.STEPS datasets was revised to
send APPC tasks to the PDB as soon as both a type 30
subtype 4 (step) AND type 30 subtype 5 (job) record have
been found. If there were any type 6 records for the
same JOB JESNR READTIME combination in today's SMF data,
then PDB.PRINT will have the APPC tasks print data with
accounting fields from the type 30. An isolated type 6
record for an APPC task will be output when found, i.e.,
it will not be sent to the SPIN library. The insert:
ELSE IF TYPETASK=:'A' THEN DO;
IF IN30_5 THEN OKFLAG=1;
ELSE IF IN6 AND NOT IN30_4 THEN OKFLAG=1;
END;
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 11.319 AS/400 variable AS400SYN was blank, because the %MACRO
VMACQAPM variable &AS400SY was not passed correctly, and was being
Feb 16, 1994 reinitialized to blanks in QAPMCONF. The three SYMPUTS
in _CQAPCON were enclosed in IF _N_=1 THEN DO; ... END;.
All occurrences of AS400SYN="&AS400SY"; were changed to
read AS400SYN=SYMGET('AS400SY'); Also, the single
occurrence of NRCPUS="&AS400CP"; was changed to read
NRCPUS=SYMGET('AS400CP');
Thanks to Greg Scriba, Budget Rent-A-Car, USA.
Change 11.318 CICS Statistics variable A20E1HWM (Peak Contention Users)
VMAC110 was left out of the KEEP= list for dataset CICCONMR.
Feb 14, 1994
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 11.317 Partial support for LEGENT's MIM Release 4.0 enhances the
VMACMIM MIMTAPE dataset for the new release, but additional work
Feb 14, 1994 is needed to decode new subtypes in this release. This
code is functional, and hence included, but test data for
other subtype is needed before full support is provided.
Thanks to Doug Drain, National City Bank, USA.
==Changes thru 11.316 were include in MXG PreRelease 11.10 dtd 14Feb94==
Change 11.316 Support for LEGENT's NETSPY Release 4.4.
EXNSPYET -Dataset NSPYAPPL, new variables APOTLN62, APOTNN62 count
EXNSPYFR the outbound bytes for LU 6.2 and non-LU 6.2 sessions.
FORMATS -Dataset NSPYLU, new variable RESPNOTC='Y' if response
IMACNSPY time is collected. IF RESPNOTC='N', then variables:
VMACNSPY LRSPHOST LRSPNET WRSPHOST WRSPNET CRSPHOST CRSPNET
Feb 13, 1994 NETRSPNO T1RSPNO T2RSPNO T3RSPNO T4RSPNO
are now set to zero by MXG, as LEGENT says "these fields
may have data in them, however they should not be used
when reporting".
-New Dataset NSPYFRLY for Frame Relay Statistics
-New Dataset NSPYETHR for Ethernet Statistics.
-Several new values for NSPNSUBT are now decoded by
MXG format MGNSPEL, and logic for recognition of which
sub-subtype of the type 'N' was clarified.
Change 11.315 Support for CA's ACF2 Release 6.0 and 6.1 added seventeen
VMACACF2 new variables to type 'V' record, and one to type 'D'.
Feb 12, 1994 Renames of ASSSPCOD to ASSPPCOD and ACFGFOE to ACFGFDEN
correct my misspellings. The use of LENGTH-COL-1 (to know
how many bytes are left in the record) should have been
LENGTH-COL+1 (this could have caused new variables to not
be read in, although no one seems to have noticed!).
In this revision, I have also decoded the LIDREC and the
LIDXARE of the type 'J' record, labelled and formatted
the several dozen new variables, but did not add any of
those variables to the ACF2JR data set; instead, if you
decide you need those variables, you can use the MXG
macro _KACFJR in member IMACACF2 to add them. (Only one
site had requested the LID fields.)
Change 11.314 For developers, this is my recommended test protocol:
Testing
Feb 12, 1994
You need to ALWAYS test it ONE MORE TIME!
When you think your code is done:
Run it once more, as a batch job, and while that job
that job is running, use SPF 3.12 COMPARE to examine
every difference between the before-and-after source
members.
Then,examine the batch job's output:
- The SYStemLOG, for any Operating System warnings,
- The SASPRINT report output, for any differences,
- The SASLOG log output, for any occurrence of each
of these strings (blanks are important!):
"ERROR:" "ERROR :" " UNINIT"
"NEVER BEEN" "NOT FOUND" "CONVERT"
"NOT CATLGD" " NOT " "TRUNCATED"
Change 11.314A MXG 11.09A Only, PMACC02 Report, DB2 Accounting Detail
ANALDB2R Trace was in error due to insufficient testing. The data
Feb 12, 1994 was summarized when it should only have been sorted.
Thanks to Jeff Marsh, Twentieth Century Services, USA.
Change 11.313 OMEGAMON for CICS V550/V551 User SMF record subtype 100
VMACOMCI sub-subtype 2 caused INPUT STATEMENT EXCEEDED RECORD LEN.
Feb 12, 1994 The code expected the same number of segments for EGROUP
as for ETRNAME, but they are unrelated tables. The code
was corrected, but for simplicity both EGROUP and ETRNAME
segments are still output in dataset OMCITRAN; you can
identify which is which by testing :
IF ETRGRPM NE . ==> ETRNAME and ETRGRPM are valid
IF ETRGRPM EQ . ==> EGROUP, EGRPNAM, EGRPESNR are valid
This change supercedes Change 11.115.
Thanks to Ron BLeeden, Jewel Food Stores, USA.
Thanks to Bill Wieland, EDS Westlake, USA.
Change 11.312 Variable AVGENQMS (Average ENQUE time in milliseconds)
VMAC74 was calculated but not KEPT, LABELed nor FORMATted, but
Feb 9, 1994 now it is.
Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.
Change 11.311 GRAFWORK was enhanced with a new graph of memory usage by
GRAFWORK workload (using the ACTFRMTM-based measure of resident
Feb 7, 1994 memory frame seconds in the xxxxMEMR variables). GRAFWORK
now provides graphic depiction of CPU, I/O, and MEMORY
resource usage by workload.
Change 11.310 GRAFRMFI was revised to include new variables added to
GRAFRMFI RMFINTRV recently, and the internal logic revised to make
Feb 7, 1994 maintenance easier.
Change 11.309 This major revision to VMXGSUM reduces runtime and CPU
VMXGSUM time, by keeping only the variables and datasets that are
ANALDB2R needed during the input for summarization, and executes
ANALPRTR only the steps required (i.e., it will bypass PROC SORT
ASUMCICS if it can). If you have tailored some MXG members that
ASUMDBDS invoke %VMXGSUM, you MUST examine the INCOMPATIBILITY
ASUMDB2A note, below, and you MAY have to update your tailored MXG
ASUMDOS members. If you have used %VMXGSUM in your own reporting
ASUMHPCS programs, you may also be vulnerable to required changes.
ASUMJOBS -Changed the logic for MINTIME= and MAXTIME=. No longer
ASUMTMNT are variables named MINTIME/MAXTIME created; instead, the
ASUMVDEV variable name(s) passed into VMXGSUM are retained, which
ASUMVMON permits bypassing the first data step to reduce costs.
ASUM70PR -NOSORT= parameter was added, which allows the sort to be
DAILYDSN bypassed if you KNOW the data is already in order.
GRAFDB2 -Initialization to protect for "UNINITIALIZED VARIABLE"
GRAFLPAR message (the series of IF X=. THEN X=.; statements) was
TRNDDB2A relocated to execute only once.
TRNDDB2S -New logic automatically figures out what variables need
Feb 7, 1994 to be kept (by looking at all variables that are in any
text of of the list-of-variable parameters), so the _KMXGSUM
change was syntax that was added in MXG 11.09 is no longer used.
revised -The new KEEPIN= parameter is required if you have INCODE=
Mar 6, 1994 specified, and if there are unique variables used in your
INCODE= logic that are not referenced by other VMXGSUM
list-of-variable-parameters (SUM= SUMBY= MIN= ... etc.)
-INCOMPATIBILITY NOTE
If there is an INCODE= parameter (for sophisticated use
you can insert SAS code with this parameter), AND only
if there are variables referenced in your INCODE= logic
that are not referenced by the other VMXGSUM parameters
(SUM= SUMBY= MIN= ... etc.),
Then you MUST add a KEEPIN= parameter to your %VMXGSUM
invocation so that those unique variables exist during
the INCODE= code execution.
These MXG-supplied members had to be changed in the MXG
Source Library because all had un-kept variables that
had to be listed in the KEEPIN= parameter:
ASUMDBDS ASUMDB2A ASUMDOS ASUMHPCS ASUM70PR
DAILYDSN GRAFDB2 GRAFLPAR TRNDDB2A
If any of those 9 members are in your USERID.SOURCLIB
tailoring library, you MUST refit your changes,
starting with the MXG 11.11 member that contains the
required KEEPIN= parameter.
You must scan your USERID.SOURCLIB(s) for any of your
own programs that invoke %VMXGSUM, and see if any of
them meet both conditions (INCODE= and nonkept variable
referenced in that INCODE= logic).
Examine the SAS log of your test runs for UNINITIALIZED
VARIABLES messages; that is a sure sign that you have
INCODE= variables that do not exist!
DO NOT OVERLOOK THIS CRITICAL INCOMPATIBILITY, which
should affect only the very small number of sites that
have tailored the MXG summarization or trending code.
As long as you are executing those 9 MXG members
unmodified from the MXG 11.11 library, there is not any
incompatibility with this change.
-All MXG invocations of VMXGSUM were examined and INVOKEBY
was added so the caller would print on the SAS log.
-Especially with a large input dataset (eg., CICSTRAN with
594,000 observations, the keeping of only the needed
variables significantly saves resources. Using:
%VMXGSUM(INDATA=CICSTRAN.CICSTRAN,
OUTDATA=CICSSUM,
DATETIME=STRTTIME,
INTERVAL=HOUR,
SUMBY=APPLID DATETIME,
FREQ=NUMTRANS,
SUM=IRESPTM TASCPUTM);
Showed these comparisons before and after this change:
Run COMPRESS CPU EXCP Memory DASD
Option SEC count used tracks
Before NO 120 21843 4973K 10699
After NO 83 12920 4902K 943
Before YES 650 25330 4913K 7129
After YES 135 13255 4902K 1111
The elapsed times were also significantly reduced. The
37 minutes required for the "before" compressed run was
reduced to 11 minutes for the "after" compressed run.
Thanks to Chuck Hopf, Primerica, USA.
Change 11.308 Support for Candle's Deltamon SMF record creates new MXG
EXTYDLMN dataset TYPEDLMN, which reports activity (ADD,UPDATE,
FORMATS DELETE, or RENAME) at the PDS member level.
IMACDLMN
TYPEDLMN
VMACDLMN
Feb 7, 1994
Thanks to Chuck Hopf, Primerica, USA.
Change 11.307 ASTEX variable RCHCNT=SUM(RHTRD,RHTRDS,RHTDFW,RHTCSW) was
VMACDMON added after the INPUT of the four arguments. In prior
Feb 7, 1994 versions of ASTEX, RCHCNT was directly input, but now it
must be calculated from its four arguments.
Thanks to Jay Stewart, Honda, USA.
Change 11.306 For MVS execution, MEMSIZE=32MB is now the default value
CONFIG in CONFIG. The default BUILDPDB failed "OUT OF MEMORY"
Feb 7, 1994 with MEMSIZE=24MB, and 32MB protects for the future.
Change 11.305 Variable CMF09UIC from Boole's CMF must be divided by the
VMACCMF number of samples:
Feb 7, 1994 IF CMFHDSAM GT 0 THEN CMF09UIC=CMF09UIC/CMFHDSAM;
Variable CMF05NUM is now format HEX4.; variable CMF19TPG
no longer formatted HEX2.!
Thanks to Joanne Turpie, Department of Labour, NEW ZEALAND.
Change 11.304 Support for OPC/ESA Release 2.1 has added 5 new datasets
EXOPC34 (and corrected INVALID MTD SUBTYPE messages):
EXOPC35 OPC24_H MTD Delete/Change CM
EXOPC36 OPC24_I MTD Hold Operations
IMACOPC OPC34 Catalog Management
VMACOPC OPC35 Backup Event
Feb 6, 1994 OPC36 CP Backup Log
Finding all the IBM manuals for this release was a chore;
comments in VMACOPC identify what is documented where!
And I learned that you cannot order Licensed IBM Pubs if
you use your "IBM Customer Number", but if you give the
same number as your "IBM Enterprise Number", the Pubs
clerk discovers you are authorized for Licensed Pubs!
Thanks to Alan Phelan, Allied Irish Bank, IRELAND.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 11.303 TYPE71 variable AVLEXTMN, "Minimum ESTORE Available", can
VMAC71 be negative, according to IBM, so its input was changed
Feb 5, 1994 from &PIB.4. to &IB.4. The actual value of the field is
"number of extended storage e-frames currently on the
available sets excluding those reserved for pref steal."
This means that when the value is zero, all of RSM except
for pref steal will accept that there are "no" available.
If the value is less than zero, pref steal will check to
see if there are any in reserve and will use these.
Thanks to Hr. Leineweber, HUELS AG, GERMANY.
Change 11.302 Testing of TYPEVMXA (VM/ESA) under UNIX, OS/2 or WINDOWS
AUTOEXEC found glitches (but this change is NOT needed if you run
VMACVMXA MXG under either the MVS or VM versions of SAS):
VMAC83 -AUTOEXEC had blanks inside quotes, which is no problem
XMACNCCF for WINDOWS or OS/2, but UNIX did not tolerate, so they
VMXGHSM were removed. Also, a new Filename statement was added:
ANALSNAP FILENAME INSTREAM 'C:\MXG\USERID\INSTREAM.SAS'
IMACACCT and must be suffixed .SAS, because it is written to and
SYSLOGJ3 then %INCLUDEd (to build formats "instream").
UTILXREF -Some variables input as $EBCDIC were not character data
VMACACF2 but were binary data and are now input as $CHAR. Some
VMACASXT also required addition of $HEX formats, and most were in
VMACCMA seldom-to-never-used VM data sets.
VMACDB2 -The building of the "instream" PROC FORMAT failed with
VMACHMF INVALID HEX DATA, because of $EBCDIC versus $CHAR input
VMACPOOL format that was corrected.
VMACTSOM -Discovered that EBCDIC algorithm to identify numeric
VMACVMON EBCDIC characters from alphabetic characters, using
VMACVMXA LT '0' ==> alphabetic GE '0' ==> numeric
VMACVVDS is invalid under ASCII execution. EBCDIC algorithm works
VMAC102 because EBCDIC numbers are 'F0'x thru 'F9'x, which is
VMAC24 larger than EBCDIC letters of '81'x thru 'C1'x (lower
VMAC33 case) and 'C1'x thru 'E9'x (caps), but the ASCII numbers
VMAC37 are '30'x thru '39'x, which is smaller than ASCII
VMAC4789 letters '41'x thru '5A'x (caps) and '61'x thru '7A'x
VMAC59 (lower case). The parsing algorithm was redesigned to
VMAC60 scan for non-blank versus blank, and one more difference
VMAC6156 between ASCII and EBCDIC execution is documented!
VMAC80 -Use of $VARYING200. input for printable characters was
VMAC83 resolved. $VARYING acts like $CHAR instead of $EBCDIC,
Feb 4, 1994 so strings that are to be printed need conversion. The
WINDOWS conversion algorithm is:
INPUT variable $VARYINGnn. lenvar @;
variable=INPUT(variable,$EBCDICnn.);
variable=TRANSLATE(variable,' ','80'x);
Note: only the INPUT function should be required, but
The TRANSLATE was unexpectedly needed because the
$EBCDIC was found to convert '20'x ASCII blanks at
the end of the string to '80'x. SAS Institute
suggested that using INPUTC(string,format,length);
instead of INPUT(string,format) would have eliminated
the need for the TRANSLATE() function, but my code
works, whereas (Jun 24, 1997 update:)
when I tried INPUTC under SAS 6.12 TS020 Windows 95
I got these errors pointing to the $EBCDIC128. when
I tried to use VAR=INPUTC(VAR,$EBCDIC128.,LEN);
386-185 Expecting Arithmetic Expression and
200-322 The Symbol is not recognized
underscored for format $EBCDIC128.. Problem
will be opened with SAS: That's the way it is!
The $VARYING conversion required examination of each
occurrence to see if the field is a printable (text)
string, and if so, insert the above conversion code.
(This also required creation of DO group in some cases.)
Thanks to Chris Powell, Vancouver Stock Exchange, CANADA.
Change 11.301 Labels for the four new SYNCSORT variables SYNDSMVL,
VMACSYNC SYNFMAVL, SYNFMALO, and SYNMMUSE were added; originally
Feb 2, 1994 they were not provided in SYNCSORT documentation.
Thanks to John Borland, Citibank, USA.
Change 11.300 An SMF Writer "Simulator" has been added to ANALSMF, to
ANALSMF examine your SMF data and tell you what is the optimum
Feb 2, 1994 CI Size of your VSAM data set. See the MVS Technical
Note in Newsletter TWENTY-FIVE for a complete discussion
of the impact of the wrong CI Size on the SMF Writer.
You need only to EDIT ANALSMF to set the CI Size of your
VSAM file (in macro _MYCISIZ), and then point the SMF DD
to a dumped SMF file, and the report of DASD Space and CI
Writes at different CI Sizes will be produced. Several
additional reports were added to describe how seldom the
SMF Writer actually writes, and the Statistics from
TYPE23 are also printed, along with a tabulation that
shows the contents (count and bytes) of where your SMF
data records come from.
Change 11.299 The example of the ZARA LIST command to create an OUTFILE
TYPEZARA needs to have the SSFN operand added so that "secondary"
VMACZARA files (i.e., second and subsequent files on a volume) are
Feb 2, 1994 created in the OUTFILE. Without SSFN, you only see the
first dataset on each volume in ZARADSN. Correct is:
LIST OUTFILE ACTIVE SSFN $$
In addition, variable LSTTYPE, type of tape (AUTO,ACTIVE,
SCRATCH) was added to ZARAVOLS and ZARADSN datasets.
Also, variable FILTIMEL may contain trash (seems to be
for volumes converted to ZARA from CA-1); the "??" was
added to the INPUT FILTIMEL ?? &PD.4. statement.
Thanks to David Childress, Lowe's Companies, Inc, USA.
Thanks to Neil Ervin, Huntington Bank Service Company, USA.
Change 11.298 The JCL in this example to analyze all records from a
ANALALL specific job was partially for SAS 6.08 and partially for
Jan 18, 1994 SAS 5.18, causing confusion for novices. The JCL example
now is for SAS Version 6.
Thanks to Rosie Jergovic, Pacific Bell, USA.
Change 11.297 Variable TIC_UTIL in NETSPY is incorrectly computed. The
VMACNSPY BYTSENT+TRTPBYTS should be BYTSENT*TRTPBYTS in both of
Jan 18, 1994 the equations for TIC_UTIL.
Thanks to Linda Liu, Transamerica, USA.
Change 11.296 This analysis of the size of an SMF file was enhanced to
ANALSMF report SMF type 23 statistics, and the categorization of
Jan 18, 1994 SMF record IDs for JOB-IO now includes all VSAM activity.
Change 11.295 Missing value for FATNUM, UTNUM, or MRONUM cause INVALID
TYPEMON8 DO ARGUMENT message if Change 11.270 was not installed to
Jan 17, 1994 circumvent new format of Landmark data. While 11.270 did
avoid these errors, the missing value protection was now
added, just in case!
Thanks to Hr. Dungl, CA-Inform, GERMANY.
Change 11.294 MXG 11.09A only. Accounting detail report not produced
ANALDB2R if time selection was used and DB2ACCT was used as input.
Jan 13, 1994 Find "%MACRO PMACC02;", then find "MINTIME=QWACBSC;".
Insert after that line the statement "MAXTIME=QWACESC;"
Thanks to Jeff Marsh, Twentieth Century Services Inc, USA.
Change 11.293 Additional refinements in the RMF reporting from MXG data
ANALRMFR were added. The time selection logic was corrected so a
Jan 13, 1994 report for 10am-12am Mon-Fri can be requested, and CPUIDs
thru 15 CPUs is now supported.
Change 11.292 MXG 11.09A only. The KEEP= logic did not include &MEAN.
VMXGSUM The three lines starting with &MAX &MAXTIME need to have
Jan 12, 1994 &MEAN added after &MAXTIME. Only if you invoked VMXGSUM
with the _KMXGSUM operand, and had MEAN= parameter, would
this change have had any effect. Change 11.309 revised.
Change 11.291 Analysis of VSAM datasets were sorted by SMFTIME instead
ANALDSET of the STEP initiate time; logic was added to store and
Jan 11, 1994 retain the SORTTIME of each STEP record in STEPTIME, and
then store STEPTIME into SORTTIME for TYPE64 observations
so VSAM is consistent with non-VSAM sort order.
Thanks to Gary Matney, Twentieth Century Investors, USA.
==Changes thru 11.290 were included in MXG 11.09A dated Jan 10, 1994====
Change 11.290 Member ASUMAPAF, a user contribution, summarizes Amdahl's
ASUMAPAF APAF records from MDF, similar to ASUM70PR summary of
TYPEAPAF IBM's PR/SM records. TYPEAPAF was cosmetically changed
Jan 8, 1994 to use __NRLPS to control all of the LPAR variables to
be kept (previously, some variables were controlled by
__NRLPS and some were kept for all possible 15 LPARS).
The value of __NRLPS is set in IMACAPAF.
Thanks to Brian LeBlanc, Candle Corporation, USA.
Change 11.289 AS/400 data sets are now fully documented in this new
ADOCQAPM ADOC chapter, although it has not been final-pass edited.
Jan 8, 1994
Change 11.288 This example of a prime-time cross-system DASD report
ANALDASD from PDB.TYPE74 may be of use in tracking DASD activity
Jan 8, 1994 across multiple systems.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 11.287 Preliminary testing under CMS of MXG 11.09 found that the
REXXTES6 REXX sample did not include VMXGINIT nor did it contain
Jan 6, 1994 the correct FILEDEFs to concatenate USERID and SOURCLIB
MACLIBs. See also the circumvention in Change 11.067 to
remove CICS and DB2 processing to run BUILDPDB. This
text will be revised when testing under CMS is completed.
Thanks to Jerry Maier, NBD Bank, USA.
Change 11.286 DB2PM-like reports have been revised to correct all
ANALDB2R reported errors and now exploit fields added by DB2 2.3.
Jan 6, 1994 Many of the TRACE reports (notably AUDIT, LOCKING, SQL)
were heavily modified, and all reports now use ANALDBTR
pairing where appropriate. Input can now be from a PDB
library on tape, and one new report has been added:
PMLOK04 - Lock Detail Trace report.
Thanks to Mike Skopec, Platinum Technology, USA.
Thanks to Wai Choong Mak, Development Bank of Singapore, SINGAPORE.
Thanks to Andy Vick, Allied Dunbar Life Assurance, ENGLAND.
Thanks to H. Lugert, Datav, GERMANY
Change 11.285 Pairing logic for IFCIDs 114-115 was added, the T102S054
ANALDBTR dataset was added to the S044S045 pairing. Also, all
Jan 6, 1994 observations of T102S063 (SQL text) are now output (only
the first 200 bytes of text was previously output - this
change in ANALDBTR will now cause the ANALDB2R SQL trace
report to now print all of the SQL text). Also, if the
input datasets are from a PDB library, the intermediate
T102Sxx datasets in the WORK file are now deleted.
Change 11.284 Some variables needed for ANALDB2R were not kept in some
FORMATS T102Sxxx datasets, and compressed data in IFCID 21 and 54
VMAC102 are now decoded, using the new $MGDB2XX format. Three
Jan 6, 1994 labels that exceeded 40 bytes were shortened.
Change 11.283 A minor correction: if IFCID=ALL was specified, the
READDB2 output T102Sxxx datasets were not copied to the output
Jan 6, 1994 PDB library, but now they are.
Change 11.282 New dataset PDB.DB2STATS is now created by merging the
DIFFDB2 three DB2 statistics datasets (DB2STAT0, DB2STAT1, and
Jan 6, 1994 DB2STAT2) for ease in statistics reports. Eventually,
the new dataset will be used by ANALDB2R reports, and you
should use DB2STATS in your own reports. As these
statistic datasets are small, there is little cost for
the redundancy.
Change 11.281 Major reduction in VMXGSUM resources (CPU,DISK) are now
VMXGSUM completed. Originally planned as Change 11.245, those
Jan 6, 1994 changes were not implemented until now, because the NODUP
SAS option and the MXG _KMXGSUM operand were in conflict;
NODUP dropped observations that were not duplicate, but
looked like dupes because of the reduced variables kept.
So the NODUP option on the SORTs in VMXGSUM were removed
(although a new option NODUP= lets you reinstate them if
you need them and know what you are doing!), and these
changes in the architecture of VMXGSUM were validated:
- The first data step is bypassed if there is no INCODE=,
no INTERVAL=, no SHIFT=, and no NORMx= arguments, and
if there is only one input dataset.
- The PROC SORT is bypassed if there is no SORTBY=.
In another enhancements, three new symbolic arguments
TEMP01,TEMP02,TEMP03 (which default to WORK) are used as
the high-level node of the work datasets, which permits
placing one or more of the work datasets on tape,
reducing the DASD requirement for VMXGSUM processing. If
all three TEMPxx parameters point to the same DDNAME,
then a PROC DATASETS is run at the end of processing to
clean up the temporary space, but if they are different,
we cannot clean up as we have no way to tell if this is a
tape or disk data set. VMXGSUM now uses DKRICOND=NOWARN
as the default (so input datasets with non-existent
variables do not raise a warning), but DKRICOND=WARN is
reset at the end of VMXGSUM execution.
Yet another enhancement is the new argument TIMERNGE=.
If TIMERNGE= is specified, four macro variables are then
constructed to determine the date, time, or datetime
range of the TIMERNGE= argument across the entire input
datasets. The macro variables created are:
MAXINDT - Maximum datetime value for the input data
MAXSLDT - Maximum datetime value for the output data
MININDT - Maximum datetime value for the input data
MINSLDT - Maximum datetime value for the output data
(You must supply the appropriate FORMAT if you print the
value of these four new variables.)
Note: The VMXGSUM architecture was further enhanced in
Change 11.309. This text was edited after that change.
Change 11.280 TYPE39_8 (Netview Session Awareness) LSAWxxxx variables
VMAC39 are wrong because the INPUT statement was off by 4 bytes.
Jan 6, 1994 Also, variables LSAWPSPU and LSAWPSPM were not input.
Change the LSAW section logic to read:
INPUT @OFFSAW REVISION &PIB.2.
+2
LSAWASBC &PIB.4.
- - - - - - - - - - - - - - 17 lines not displayed
LSAWRDQM &PIB.4.
@;
SKIP=LENSAW-80;
IF SKIP GE 8 THEN DO;
INPUT LSAWPSPU &PIB.4.
LSAWPSPM &PIB.4.
@;
SKIP=SKIP-8;
END;
IF SKIP GT 0 THEN INPUT +SKIP @;
END; /* SAW SECTION */
and add LSAWPSPM and LSAWPSPU to the KEEP= list for
TYPE39_8.
Thanks to Hr. Schulte, GRZ, GERMANY.
Change 11.279 MXG 11.07 thru MXG 11.09 did not process TPX Version 3.0
VMACTPX records (but prior MXG versions did), because the LEGENT
Jan 6, 1994 change in format of TPXVER did not document the 3.0 value
to be expected. The conversion code now reads:
IF TPXVER EQ '100 ' THEN TPXVER=' 1.0';
ELSE IF TPXVER EQ '200 ' THEN TPXVER=' 2.0';
ELSE IF TPXVER=:'3.0' THEN TPXVER=' 2.0';
ELSE IF TPXVER=:'3.5' THEN TPXVER=' 3.5';
ELSE IF TPXVER=:'1.0' THEN TPXVER='10.0';
Thanks to Jan Decuypere, Gemeentekrediet N.V., BELGIUM
Change 11.278 Landmark CICS variable TIESDATE (start date) can be null
TYPEMON8 if PTF U200952 is not installed. MXG uses TIESDATE to
Jan 5, 1994 validate that DUMP CONVERT was specified when you dumped
Feb 16, 1994 the Landmark data (see their examples TMON9DBU/TMON9FSU),
and MXG generates the "ERROR3.LANDMARK.MONITOR" error
message "INVALID FORMAT FOR TIESDATE" when TIESDATE is
null. Install the PTF. However, if you encounter that
error message, and know that your data was converted,
you can suppress the ABEND by commenting out the "ABORT
ABEND 1099" statement in member TYPEMON8, until the PTF
is installed. This change text was revised Feb 16, 1994.
Thanks to Mark Holland, State Energy Commission, AUSTRALIA
Change 11.277 If ASUMDB2A is executed separately from BUILDPDB, there
ASUMDB2A will be errors because %INCLUDE SOURCLIB(IMACDB2); did
Jan 5, 1994 not exist in member ASUMDB2A, but now it does.
Thanks to Steve Bryant, Belk Stores Services, USA.
Change 11.276 Support for ZARA Release 1.1 added 36 bytes to the sort
VMACZARA key and header area. You will have zero observations in
Dec 15, 1993 the ZARAVOL and ZARADSN datasets until you change all of
the @xxx values that are now greater than 100 by adding
36 to the present value. Thus the @172 VRCDTYP became
@208 VRCDTYP, the @183 VOLCHAIN became @219 VOLCHAIN,
and so forth.
Thanks to David Childress, Lowe's Companies, USA.
Change 11.275 IBM APAR OY67002 reports that if the number of LCPUs is
VMAC7072 changed in an LPAR, the data for that RMF interval
Dec 15, 1993 contains the accumulated values from IPL, and there are
no PR/SM segments in the type 70 for the interval.
This corrupts TYPE7072 variables LCPUEDTM,LCPUPDTM,
PCTCPBYx,PCTTIPx, corrupts TYPE70 variables CPUEDTMx,
CPUPDTMx,PCTCPBYx, and PCTTPIx, and corrupts essentially
all ASUM70PR variables for that interval. MXG detects
that the number of LCPUs changed, and sets LPARCHRN='Y'
in TYPE70PR (the Label for LPARCHNR now reads NUMBER OF
LCPUS*IN PARTITION*CHANGED?), but you MUST install the
PTF associated with the APAR if you change the number of
LCPUs in an LPAR while the system is up.
Thanks to Gary Hoover, American Express IPS, USA.
Thanks to Roger Zimmerman, Kemper Services Company, USA.
Change 11.274 Three new variables were added to the SAS User SMF record
VMACSASU in SAS 6.07/6.08. Variables SASVAFF (Vector Affinity CPU)
Dec 15, 1993 SASVUSE (Vector Usage CPU), and SASHSP (Hiperspace CPU)
are now input and formatted TIME12.2.
Thanks to Bruce Lietz, Cessna Aircraft Company, USA.
Change 11.273 Some TRND71 variables were not calculated. In the NORM2=
TRND71 list, the first occurrence of SLOTNVAV should be SLOTNGAV
Dec 15, 1993 and variables ASMNVSC ASMSLOTS ASMSLOTX and ASMVSC were
added to the NORM2= list.
Thanks to Carl Tosetto, E-Systems Garland Division, USA.
Change 11.272 TYPE64 records with SITUATN='COMPONENT CLOSED' are the
ADOC64 only valid records to use for counting EXCPS, etc. The
ANALDSET type 64 records with NO SPACE AVAIL or VOL SWITCHED do
Dec 15, 1993 not contain the "delta" EXCP count, but instead have the
accumulated EXCP count from open to the time of that
event. As a result of this discovery, member ANALDSET
now keeps only TYPE64 observations for Component Closed.
Thanks to Scott Ashby, Wachovia Operational Services Corp, USA.
Change 11.271 Statement DEVASID DS XL2 has an asterisk in column
ASMTAPES 72 which causes the Assembly to fail. This member is
Dec 15, 1993 still in internal testing. See Change 11.360.
Change 11.270 Support for Landmark CICS/ESA Version 1.1 records. That
TYPEMON8 new version added 44 fields to the end of the MONISYST
Dec 14, 1993 interval record, causing "INVALID DO LOOP CONTROL" error.
This error can be circumvented by inserting "HITI=1;"
just before the "DO _I_=1 TO HITI;" statement, but you
will then get "INVALID DATA FOR TASKCPTM" and hex dumps
twice, because Landmark's field TIAPLCPU (MXG variable
TASKCPTM) is invalid until you install Landmark ZAP for
Problem Number U201102. (You can still process without
their ZAP as all other variables in MONISYST are valid,
and only the MONISYST data set was affected by the new
version!). In the actual change, the DO group to read
the history segment was removed, as that segment has not
existed for some time, and MONIHIST always has zero
observations. However, I did not delete the MONIHIST
dataset nor its _L,_K macro names, since that might have
caused a syntax error if you reference MONIHIST in your
report programs. Take heed, though, and remove MONIHIST
references so that I can deleted it in a later version.
Setting HITI=1 has the same effect as skipping the
history record; the TI record is now 1464 bytes long.
Thanks to Mark Holland, State Energy Commission of Western Australia.
Change 11.269 Dataset PDB.JOBS variables ACCOUNTn may be blank, and
BUILDPDB variables RESTARTS, JINLTIME, and NRTRANS can be missing
BUILDPD3 for jobs with MULTIDD='Y' (that is, multiple type 30s due
BUILD005 to many DD segments, typical only for long running jobs
Dec 13, 1993 like SAR, RMDS, CA-DISPATCH, etc., that have lots of
dynamic DDs). The MULTIDD='Y' observations must be
deleted during the second occurrence of the creation of
GOOD30_5 dataset. Find this block of code:
ELSE IF IN30_5 THEN DO:
IF MULTIDD5=' ' THEN RESTART+1;
OUTPUT GOOD30_5;
END;
And change it to read:
ELSE IF IN30_5 THEN DO:
IF MULTIDD5='Y' THEN DELETE;
RESTART+1;
OUTPUT GOOD30_5;
END;
The actual change also cleaned up references to MULTIDD
and TEMP3 which are no longer needed, but which are now
superfluous and safe to leave until you get a tape!
Thanks to Mark van der Eynden, Ferntree Computer Services, AUSTRALIA.
Change 11.268 CICS DL/I counts with CICS/ESA Version 3.3 Omegamon 110
IMACICDL records may be wrong. First, the test in IMACICDL needs
IMACICDA to be changed to IF SMFPSRVR GE 3 instead of EQ 3.
VMAC110 Second, if you have not added a "USERCHAR" optional data
Dec 14, 1993 field in your type 110 record, you must comment out the
statement "%INCLUDE SOURCLIB(IMACICDU);" in member
IMACICDA (because if that statement is present, MXG
always read at least one byte, causing wrong alignment).
Commenting out that %INCLUDE will generate an
"UNINITIALIZED VARIABLE USERCHAR" message, which is
not a problem, but in member VMAC110, I have added
"IF USERCHAR=" " THEN USERCHAR=" "; after both of the
%%INCLUDE SOURCLIB(IMACICDA); statements to correct.
The notes in IMACICDA and IMACICDL were updated to list
the CMODHEAD field names of the DL/I counters to make it
easier for you to know what sections you do or do not
have in your SMF type 110 record from Omegamon, using MXG
program UTILCICS to examine your dictionary.
This text was revised Dec 14, 1993, after MXG 11.09.
Thanks to Khin Zaw, Nordstrom, USA.
Change 11.267 APAF V2.1 dataset APAFCHAN is trashed, because the offset
VMACAPAF had a spelling error. Inside the SUBTYPE=5 DO group, the
Dec 13, 1993 statement LOC=OFFLP-3+OFFSMF should have been written as
LOC=OFFCHPID-3+OFFSMF;
Thanks to George Scott, Rockwell International Corporation, USA.
==Changes thru 11.266 were included in MXG 11.09 dated Dec 17, 1993=====
Change 11.266 Dataset TYPE1415 variable TEMP='TEMP' was incorrectly set
VMAC1415 if DISP1='.......1'B, so that part of the test to set
Dec 12, 1993 TEMP has been removed.
Thanks to Bruce Hudson, Payless Shoe Source, USA.
Change 11.265 Boole and Babbage CMF Type 72 Subtype 2 record is invalid
VMAC7072 and causes INPUT STATEMENT EXCEEDED error. There is only
Dec 10, 1993 one SWAP section, instead of one SWAP section for each
Performance Group, and other fields in TYPE72MN dataset
may be trashed. Boole anticipates a fix in their 9402
maintenance release. MXG changed IF OFFSWP GT 0 THEN DO;
to IF OFFSWP GT 0 AND OFFSWP+60 LE LENGTH+1 THEN DO; to
prevent the STOPOVER condition.
Thanks to Gavin Ring, Alcatel Australia, Australia
Change 11.264 Variable PGPERBLK in RMFINTRV was incorrectly normalized.
RMFINTRV The two lines in which PGPERBLK was multiplied/divided by
Dec 8, 1993 DURATM were deleted, and the division by BLKSAUIN was
protected for zero divide.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 11.263 Members CHANGE01,CHANGE02... are redundant with CHANGESS,
ChangeSS which contains all changes ever made to MXG in one place,
Dec 4, 1993 so the individual CHANGEnn members now only point to the
member CHANGESS, reducing the size of the MXG library.
Searching for all MXG enhancements now involves looking
only two members: CHANGESS or NEWSLTRS. Member CHANGES
will continue to exist, repeated in CHANGESS.
Change 11.262 Support for Softworks' Performance Solution SMF records.
ADOCPRFS Three new datasets are created:
EXPRFSHL Dataset SMF Subtype Description
EXPRFSVI PRFSVIO 00 I/O Plus for VSAM Close
EXPRFSXI PRFSXIO 01 I/O Plus for XSAM Close
IMACPRFS PRFSHLP 02 HiperLoad Plus for VSAM
TYPEPRFS These data records describe the before and after buffers,
VMACPRFS etc., to track the effectiveness of this product.
Dec 2, 1993
Thanks to Yao-chun Rickert, First Chicago, USA.
Change 11.261 VM/ESA dataset VXSYTCUP (PR/SM and MLPF LPAR measurement)
VMACVMXA did not keep LCUCLPTM (LPAR Management time), so it was
Dec 1, 1993 added to the KEEP= list in macro _VSYTCUP, and is DIF'ed
in macro _DSYTCUP. Also, for inactive LPARs, MXG output
an observation, but variables LCUCPUID LCUCWGHT LCUCFLGS
LCUCACTM LCUCLPTM LCPUDED LCPUWAIT LCPUCAPD are not input
and could contain values from a prior LPAR; now they are
initialized. Similarly, VXSYTCUM logic for inactive LPARs
now initialized the un-read variables.
Thanks to Angie Olver, PERSETEL, South Africa.
Change 11.260 SAS Usage note 6886 identifies a SAS error when blank
ANALRACF characters appear between non-blank characters in an ID
Dec 1, 1993 value with PROC TRANSPOSE. In 6.06 the variables were
incorrectly left as blanks instead of being replaced by
underscores (as they were in 5.18, and are now in 6.07
and 6.08), and MXG code was actually modified between
5.18 and 6.06 to compensate. Now, however, UNINITIALIZED
variable messages result, so MXG has been re-modified to
correct. Variables _5_DATA, _6_RACF, _7_DATA,_8_NAME,
and _52_DSN are now spelled with an ending underscore:
_5_DATA_,_6_RACF_,_7_DATA_,_8_NAME_, and _52_DATA_.
Thanks to David Vaughan, Shropshire County Council, ENGLAND.
Change 11.259 A collection of data value errors have cropped up in the
VMXGHSM processing of the HSM BCDS and MCDS datasets:
Dec 3, 1993 -"Error 180" results because a semicolon is in the wrong
place. The semicolon after RECTYPE='REC TYPE ...' must
be removed, and instead a semicolon must be added to the
following line, after the label for TYPE='MCKTYPE ...'.
-"Invalid data for INPUT" results because "INPUT" should
removed from the line now reading "INPUT @65 BCRFLAGS..."
-Invalid argument for DATEJUL occurs if MCDEXPDT=99366,
95366,98000,99999,9999999 (which are invalid dates). The
calculation for MCDEXPDT was changed to set these invalid
data values to '31DEC2099'D (i.e., far into the future):
IF MCDEXPDT=99366 OR MCDEXPDT=95366 OR ...
THEN MCDEXPDT='31DEC2099'D;
ELSE IF MCDEXPDT GT 0 THEN MCDEXPDT=DATEJUL(MCDEXPDT);
ELSE MCDEXPDT=.;
-MHCRBGNT,MHCRENDT,and MHCRNXTT are now input &PIB.4.2 and
not &PK.4, the three PK1 fields after each time were
deleted, the +1 before the three dates was removed, and
the three HMS() calculations were deleted.
-DATEJUL(MHCRENDD) was changed to DATEJUL(MHCRNXTD).
-Two lines calculating DSRDATE were moved to before the
line DO I=1 to 11;
-Change DO C=1 TO MCPDGNCT; to read
IF MCPDGNCT GT 0 THEN DO C=1 TO MCPDGNCT;
-Change input of BCRTCAB from &PK.4. to BCRTCABC $CHAR4.,
delete input of BCRTCABH,BCRTCABM,BCRTCABH and following
+1, replace the BCRTCAB=HMS() line with
BCRTCAB=INPUT(BCRTCABC!!'00000000'X,TODSTAMP8.);
remove BCRTCAB from TIME8. format and instead format it
BCRTCAB DATETIME21.2.
Note: Dec 18, after 11.09 built: used similar logic for
BCRTBLA and BCRTLAB datetime variables.
-Change input of DCRCLEN from &PIB.4. to &PIB.2.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.258 Variables ACTDLYTM,DSPDLYTM,RESDLYTM were added by Change
IMACPDB 10.031 to TYPE30_4, but were not carried into PDB.STEPS
Nov 30, 1993 nor PDB.JOBS. They have now been added to the _PDB30_4
and _SUMSTP macros defined in IMACPDB, so they will now
exist in PDB.STEPS and PDB.JOBS.
Thanks to Bob Eastlake, Alternative Marketing Systems, USA.
Thanks to Tom Elbert, John Alden Life Insurance, USA.
Change 11.257 ASMVTOC may produce no output under MVS/ESA 3.1.3, 4.1.0,
ASMVTOC or possibly even 4.2.0. APAR OY39355 points out that DFP
Nov 22, 1993 3.3 (which introduced the new UCBSCAN COPY service) does
not run with earlier levels of MVS/ESA. If you have this
problem (no error, but no output from ASMVTOC), you can
simply comment out (by adding an asterisk in column one)
these two lines in ASMVTOC:
TM FLAG,MVSESA42 MVS/ESA V4.2 OR BEYOND?
BO MVS42AAB YES, GO USE UCBSCAN SERVICE
ASMVTOC has also failed with 213-04 when it encounters a
TPF volume. That problem is still under investigation.
Thanks to Ron Willingham, Fina Oil, USA.
Change 11.256 RMF Reports from PDB data are further corrected and
ANALRMFR enhanced. CPU percentages could be wrong, and type 74
Nov 21, 1993 reports were corrected.
Change 11.255 Support for DB2 Release 3.1.0 incompatibly altered SMF
type 100, 101, and 102 SMF records.
== added 11Jan95=======
== Messages on the log "ID=100 SUBTYPE=2 QWHSIID=202"
== tell you that you are reading DB2 3.1 SMF records
== with an old Version of MXG (MXG 11.09 or later is
== required).
ADOCDB2 100, 101, and 102 SMF records. New Datasets created are:
DIFFDB2 Dataset SMF Record Description
EXDB2ACP DB2ACCTP 101 Subtype 1 Package/DBRM executions
EXDB2ST2 DB2STAT2 100 Subtype 2 Hiperpool interval statistics
IMACDB2 Many new variables were also added to existing datasets.
VMACDB2 New variables are listed in member DOCVER11, and ADOCDB2
VMAC102 was updated with which DSECT is in which record and which
Sep 6, 1993 MXG dataset is created from which records. Details:
Nov 30, 1993 Dataset DB2ACCT:
Now contains 312 variables (was 215). New variables in
existing sections QWAC,QXST,QBAC,QTXA,and QLAC, and
new section QIFA. Variables QBACBPX and QBACSWU are
now reserved.
Dataset DB2ACCTP:
New dataset for Package/DBRM executions is built from
QPAC section(s) added to type 101 subtype 0 record (up
to ten sections will create ten observations), or from
new type 101 subtype 1 record (up to 10 per record, for
overflow if sections do not fit in existing subtype 0).
Dataset DB2STAT0:
Now contains 319 variables (was 277). New variables in
existing sections Q9ST,QWSD,QLST,QJST and QDST.
Variable QJSTWTL is now reserved.
Dataset DB2STAT1:
Now contains 447 variables (was 297). New variables in
existing sections QXST,QTST,QBST,QIST, and QTXA.
Variables QTCURPB,QTOPNOK,QTOPNNO,QTTTBRN,QTEXDRN,
QTSTDRN,QTPUBDD,QBSTBPX,QBSTSWU,and QBSTPUW are now
reserved.
Dataset DB2STAT2:
New dataset from new type 100 subtype 2 record.
Dataset T102S148:
New variables: QBnCDPF,QBnCHPG,QBnCHRE,QBnCHRF,QBnCHWF,
QBnCHWR,QBnCNGT,QBnCSIO n=1,2,3,4
Dropped vars: QBnCBPX,QBnCSWU n=1,2,3,4
Change 11.254 Support for AS/400 Version 2.3 Performance Data adds four
EXQAPDDI new datasets:
EXQAPFRL Dataset Description
EXQAPSTD QAPMDDI Distributed Data Interface (DDI) data
EXQAPSTY QAPMFRLY Frame Relay Data
IMACQAPM QAPMSTND DDI Station Counter Data
VMACQAPM QAPMSTNY Frame Relay Station
Nov 20, 1993 Changes were compatibly made, so prior versions of MXG
will not fail with the version's data records.
Change 11.253 Support for Memorex Telex LMS Version 2.17 SMF record now
EXLMSCUP creates these two new datasets:
EXLMSDAL Dataset Subtype Description
IMACLMS LMSCUP 06 Cart Update (inhibit SCR indicator)
VMACLMS LMSDALC 29 Device Allocation
Nov 20, 1993 Also, VMACLMS was restructured for consistent colimation.
Thanks to Dan Kaberon, Hewitt Associates, USA
Change 11.252 Support for Mobius INFOPAC-RDS user SMF record is added
ADOCIPAC by this comprehensive user contribution. Datasets are
ANALIPAC documented in ADOCIPAC, and sample analysis reports are
EXIPAC01 in ANALIPAC! Five new datasets are created:
EXIPAC02 Dataset Subtype Description
EXIPAC03 IPAC01 01 Batch Printing Usage Statistics
EXIPAC04 IPAC02 02 Online Printing Usage Statistics
EXIPAC05 IPAC03 03 Online Viewing Usage Statistics
IMACIPAC IPAC04 04 Archive Recall Usage Statistics
TYPEIPAC IPAC05 05 Archive I/O Subsystem Tuning & Perf
VMACIPAC And the analysis example, ANALIPAC, is comprehensive: it
Nov 19, 1993 combines the VERSIONS and DISTRIBUTION databases from
the INFOPAC-RDS product, with MXG's PDB.HSMFSRST (from
HSM), and PDB.PRINT (from JES2 printing), Vanguard's
RACF database, with three of the five SMF subtypes.
Thanks to Jeff Burnett, Anixter, USA.
Change 11.251 The ASM program to break down MVS/ESA 4.3 RMF Monitor III
ASMRMFV segments into actual records was missing code (lost in
Nov 19, 1993 fax transmission and transcription!). The code has been
corrected, and renamed to ASMRMF3 instead of ASMMON3.
This is preliminary for MXG support of the compressed ESA
4.3 data - the SAS code to process the output of the ASM
utility is still in development. See Change 11.238.
The ASMRMF3 member was replaced by ASMRMFV.
Change 11.250 Xerox SFS records from 9700 INVALID ARGUMENT TO INPUT
VMACSFS FUNCTION occurs if CUSTJNR contains hex nulls instead of
Nov 18, 1993 blanks. Insert this line:
VAR(10)=TRANSLATE(VARS(10),'40'x,'00'x);
immediately preceding the existing line:
CUSTJNR=INPUT(VARS(10),8.);
Thanks to Doug Medland, Confederation Life Insurance, CANADA.
Change 11.249 Support for Integris' UniKix product, used to downsize
EXTYUNIA CICS VSAM and DB2 applications to the Unix environment.
EXTYUNIK The product creates a binary file of performance records
IMACUNIA and provides a conversion program to create a portable
IMACUNIK ASCII file. MXG can process either the binary or ASCII
TYPEUNIA file under UNIX, Windows, or OS/2 SAS, or the ASCII data
TYPEUNIK can be uploaded for processing under MVS SAS. This is
VMACUNIA the beta release of the UniKix measurements, and Integris
VMACUNIK will restructure the data records in their next release
Nov 17, 1993 (at my suggestion) so they will be true variable-length,
self-defining records so that future enhancements can be
made to the data records compatibly, so the MXG support
will be revised when those changes are available.
The current implementation members ....UNIA are for the
ASCII file (infile name UNIKIXAS), and members ....UNIK
are for the Binary file (infile name UNIKIXBI).
Change 11.248 Support for BatchPipes/MVS type 91 SMF record creates 11
EXTY9101 new datasets:
EXTY9102 Dataset Subtype Description
EXTY9103 TYPE9101 01 Subsystem Initialization
EXTY9104 TYPE9102 02 Subsystem Interval
EXTY9111 TYPE9103 03 Subsystem Termination
EXTY9112 TYPE9104 04 Subsystem Parms Changed
EXTY9113 TYPE9111 11 Pipe Connection Open
EXTY9114 TYPE9112 12 Pipe Connection Interval
EXTY9115 TYPE9113 13 Pipe Connection Close
EXTY91IC TYPE9114 14 Pipe Create
EXTY91OC TYPE9115 15 Pipe Delete
IMAC91 TYPE91IC 11-13,15 Input Connection Details
TYPE91 TYPE91OC 11-13,15 Output Connection Details
VMAC91 Subtypes 1 and 3 are Pipes Subsystem event records.
Nov 17, 1993 Subtypes 2 and 4 are interval or termination records with
statistics on each Pipes Subsystem (pipes/connections
created/deleted/active, input/output bytes, etc.).
Subtype 11-15 are Pipe Connection records, which identify
the pipename being accessed, and (for subtype 12 and 15)
contain pipe activity counts. In addition, subtypes 11,
12, 13, and 15 can contain one or more Connection Detail
sections (either Input or Output connection), so MXG
creates one observation in TYPE91IC or TYPE91OC for each
Connection Detail segment (which contains JOB,READTIME,
DDNAME, six timestamps, reads/writes, bytes in/out, etc.)
for each user of a pipe. This structure lets you analyze
overall pipe statistics with the subtype datasets, or the
pipe statistics by user with the IC/OC detail datasets.
MVS Pipes looks to be a very powerful new MVS facility!
Change 11.247 Support for Novell Network Navigator user SMF record now
EXTYNNAV creates one dataset:
IMACNNAV Dataset Description
TYPENNAV TYPENNAV Network Navigator Session Resources
VMACNNAV with session logon and logoff datetimes, JESNR, bytes
Nov 16, 1993 sent/received, and TGETS/TPUTS for the session.
Thanks to Elena Beryozkin, United Parcel Service, USA.
Change 11.246 Support for NetView Performance Monitor NPM Version 2.1.0
EX028NWC added major enhancements, especially in the area of VTAM
EX028NWD monitoring, with CPU and storage used by VTAM. Thirteen
EX028RMA new datasets are created:
EX028RMD Dataset Subtype Description
EX028VAP NPMRMSTR BA RTM ACTIVATE
EX028VAD NPMRMSTP BB RTM DEACTIVATE
EX028VBF NPMVTSTR D0,D1,D2 VTAM START/STOP/MD
EX028VEN NPMVTEXC D3,D4 VTAM EXCEPTION
EX028VDV NPMVSVEN D5 VTAM ENVIRONMENTAL
EX028VGB NPMVSVGB D6 VTAM GLOBAL
EX028VTE NPMVSVBF D7 VTAM BUFFER POOL
EX028VTS NPMVSVDV D8 VTAM DEVICE DATA
EX028VVR NPMVSVVR D9 VTAM VIRTUAL ROUTE
FORMATS NPMVSVAP DA VTAM APPLICATION
IMAC28 NPMVSVAD DB VTAM ASID DATA
VMAC28 NPMNWCWC FC WRKSTN-NPM CONNECT
Nov 13, 1993 NPMNWDWD FD WRKSTN-NPM DISCON
Change 11.245 The original change described in this text in MXG 11.07
VMXGSUM thru MXG 11.09 were never actually implemented. The text
Nov 12, 1993 of the change was written, but the VMXGSUM member was not
moved into the MXG library, because the KEEPIN= logic did
not produce identical output datasets, and it had to be
backed out of the changes. See Change 11.281 & 11.309.
Change 11.244 A new utility, UCICSCNT counts how many SMF type 110 CICS
UCICSCNT records come from each CICS Region, by CICS version, and
Nov 10, 1993 by record subtype, so you can prove to your CICS guru
which APPLIDs have monitoring and/or statistics records.
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 11.243 Support for NETWISE's RPC EXEC product type 33 SMF record
VMAC33 adds these "accounting" fields to dataset TYPE33_1:
Nov 9, 1993 NETWCAPN,NETWCOMP,NETWCORR,NETWMDNM,NETWRPCM,NETWRPCN,
NETWRPCN,NETWRPCT and NETWSAPN. MXG now creates one obs
in TYPE33_1 for each TPUSE section; previously only the
first TPUSE section's data was output. With NETWISE's
data, there are two sections in each record, one for the
inbound and one for the outbound connections, so there
two observations for each NETWISE SMF record.
Thanks to Linda Marzik, EDS Performance and Evaluation Group, USA.
Change 11.242 DB2 variable NETSNAME still can have blanks, after Change
VMACDB2H 11.050, preventing DB2ACCT matching with CICSTRAN. This
Nov 8, 1993 happens if the last half of NETSNAME contains blanks; the
correction is to translate all blanks in DB2 NETSNAME to
nulls. After the NETSNAME algorithm, and just before
"/* CREATE UOWTIME FROM QWHCTOKN */", insert the line:
NETSNAME=TRANSLATE(NETSNAME,'00'X,'40'X);
Thanks to Edward McCarthy, Health Insurance Commission, AUSTRALIA.
Change 11.241 TRNDRMFI will fail with VARIABLE PLATCPUS NOT FOUND when
TRNDRMFI ASUM70PR is not executed. Add in the INCODE= section:
Nov 8, 1993 IF PLATCPUS=. THEN PLATCPUS=.; just like PARTNCPU.
There is no requirement to run ASUM70PR before TRNDRMFI,
but without it, PLATCPUS did not exist, until the change.
Thanks to Tom Elbert, John Alden Life Insurance, USA.
Change 11.240 Variables READY12 READY13 READY14 READY15 were left out
TRND70 of the NORM2= list in this trending member, causing their
Nov 8, 1993 summary values to be erroneously large.
Thanks to Tom Elbert, John Alden Life Insurance, USA.
Change 11.239 MXG Early PreRelease 11.08 only. IF ID=80 SOURCE='RACF';
ANALSMF should have been IF ID=80 THEN SOURCE='RACF';
Nov 8, 1993
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
==Changes thru 11.238 were included MXG Early PreRelease 11.08 01Nov93=
Change 11.238 This new Assembler program reads the RMF Monitor III VSAM
ASMRMFV files from MVS/ESA 4.3 (which are compressed, and are not
Oct 30, 1993 standard records). It was typed from a fax, and has not
been tested, but I wanted to make it available for tests
because there are reported problems in the ZRB processing
that are still unresolved. See Change 11.251.
Was ASMMON3 until change 11.251.
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 11.237 ANALDB2R could not use a PDB on tape for reports, because
ANALDB2R multiple datasets were opened simultaneously, but with a
Oct 30, 1993 new TREND= parameter, either the Accounting or Statistics
reports can be run from your PDB= on tape. Only if you
want to include your TREND data base and your PDB data
bases together for a report will you need to point TREND=
to the DDname for your TRNDDB2A, TRNDDB20, and TRNDDB21
datasets.
Change 11.236 Internal logic was improved for performance. If the first
VMXGSUM data step or the SORT is not needed, they are bypassed.
Oct 30, 1993 This can reduce CPU and DASD requirements significantly.
If no INCODE=, no INTERVAL=, no SHIFT=, and no NORMX= are
used and there is only one input dataset, the first data
step is bypassed. If there is no SUMBY=, then no SORT.
Unfortunately, most of the ASUMxxxx and TRNDxxxx members
that invoke VMXGSUM do not meet the criteria and see no
benefit, but ANALDB2R gets some help, and it is the
righteous thing to do anyhow. See Change 11.309.
Change 11.235 Trending of VM/XA and VM/ESA MONWRITE dataset VMXAINTV
TRNDVMXA had logic errors, that causes several variables to be
Oct 30, 1993 incorrect.
Thanks to Sean Chaffee, Amadeus Data Processing GmbH & Co., GERMANY.
Change 11.234 Support for SMF type 42 subtype 14 (IBM ADSM Distributed
VMAC42 Storage Management Product) provides good statistics in
Oct 30, 1993 the new TYPE42AD dataset, with counts of byte traffic
and objects, for backup and archived files moved between
client and server, as well as CPU time plus waiting time
for Communications or Media, and session idle time.
The only identifiers, however, are the client name and
the client owner name. Unrelatedly, but because VMAC42
was "open", DFSMS Data Set, Storage Class, and Total
datasets were enhanced with read and write hit percents.
Thanks to Peggy Schulte, Cincinatti Gas and Electric Company, USA.
Change 11.233 SAS option SORTDEV=3380 was removed from MXG's CONFIG
CONFIG members - it is not needed, and caused errors at sites
Oct 30, 1993 that have no 3380s.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 11.232 Variable AVGMTPTM was retained across device records that
VMAC74 had no Mount Pending. After its calculation, insert
Oct 30, 1993 ELSE AVGMTPTM=.;
Change 11.231 Additional enhancements and corrections to RMF reports.
ANALRMFR MXGCPU - Added OMVSMAX,OMVSAVG statistics.
Oct 30, 1993 MXGPAGE - Added OMVS00-OMVS11 statistics
MXGDEVC - DEVMTPTM to DEVACTTM, changed summary BY LCU
for calculation of AVGMTPTM.
MXGSMRY - BY SYSTEM DATE TIME changed to BY SYSTEM DATE.
Final page per system for overall total/avgs.
Corrected CPU busy percentages (only wrong if
you requested 24 hour report spanning 2 days).
MXGWKLD Added OMVS swap counts.
MXGENQU Circumvented "MISSING VALUE" note.
Thanks to Bill Stoneberg, National-Oilwell, USA
Change 11.230 MXG 11.06 or later. Landmark CICS causes "INVALID
TYPEMON8 ARGUMENT TO FUNCTION MDY" or "MXG HAS DETECTED INVALID
Dec 1, 1993 FORMAT FOR TIESDATE" because MO and DD were reversed in
the MDY() function. Change the MDY() function to read:
TIESDATE=MDY(MO,DD,YY);
See also change 11.278.
Thanks to Tom Clark, SEI Corporation, USA.
Thanks to Mark Robbins, W.H. Smith Limited, ENGLAND.
Change 11.229 Change 11.199 still did not calculate GMTOFF correctly.
VMAC30 Instead of the two IFs and kludgy FLOOR/CEIL logic, the
VMAC7072 correction is to use a single statement with +10 added:
Oct 30, 1993 GMTOFF70=100*FLOOR((STARTIME+DURATM-SYNCTIME+10)/100);
GMTOFF72=100*FLOOR((STARTIME+DURATM-SYNCTIME+10)/100);
GMTOFF30=100*FLOOR((SMF30IST-INTBTIME+10)/100);
Change 11.228 Open Edition/MVS (OMVS) dataset TYPE30OM was added to the
BUILDPDB PDB library. At present, it is simply sorted into the
BUILD005 PDB, but this logic may change with more experience with
Oct 30, 1993 the new data for "Unix under MVS".
Change 11.227 These new (calculated) variables were added to TYPE71,
TRND70 TRND71, and TRNDRMFI, as they have been found useful in
TRND71 MVS/ESA 4.3 analysis of paging and memory.
TRNDRMFI BLKPAGE ='BLOCKED*PAGES*PAGED IN'
VMAC71 NBLKPAGE='NON-BLOCKED*PAGES*PAGED IN'
VMAC7072 COMPAGE ='TOTAL*COMMON*PAGING RATE'
Oct 30, 1993 CS_ESPAG='TOTAL*CSTORE TO/FROM ESTORE*PAGING RATE'
HIPEPAGE='TOTAL*HIPERSPACE*PAGING RATE'
PGPERBLK='PAGES*PER*BLOCK'
SWAPAUX ='SWAP RATE*TO*AUXSTORE'
CSTORE ='CENTRAL*STORAGE*ONLINE'
ESTORE ='EXPANDED*STORAGE*ONLINE'
Variable PCTRDYWT was added in TRND70, and TRNDRMFI was
updated to include the ESA variables that had been added
in RMFINTRV but had been overlooked in TRNDRMFI.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 11.226 JES2 NJE Purge Records for Job Transmission should have
BUILDPDB been OUTPUT to PDB.NJEPURGE, but were not; in rare cases,
BUILD005 they were used in place of the real JES2 Execution Purge
VMAC26J2 record. In BUILDPDB, the test to OUTPUT PDB.NJEPURGE was
Oct 29, 1993 expanded from (INREASON=' ' OR INREASON='JR' AND ... to
((INREASON=' ' OR INREASON='JR' OR INREASON='JT') AND ..
and VMAC26J2 logic was modified to test if INREASON was
still blank after testing INDEVICE, and if so, the same
decoding was applied to DEVNAME. The specific case that
was encountered had INDEVICE=INTRDR,DEVNAME=L329.JT1.
This change can alter the number of observations in the
PDB.JOBS and PDB.NJEPURGE datasets.
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 11.225 Support for Amdahl APAF Version 2.1 adds "Effective" CPU
EXAPAFCH time, "Dispatched" CPU time, and the "In-Domain Mgmt" CPU
EXAPAFCP time variables for each MDF domain in dataset APAFDOMA.
IMACAPAF The "Outside-Domain Mgmt" CPU time, (IBM's "PHYSICAL")
VMACAPAF has been added to dataset APAFGLOB. New CPU Busy dataset
Oct 27, 1993 APAFCPBY provides, for each LP, the sampled percent CPU
busy in Problem state and in Supervisor state. Finally,
the new "Channel Busy" dataset APAFCHAN provides, for
each CHPID, separately for each Domain, the sampled CHAN
busy statistics. There's a lot of good stuff here! The
new subtype 4 and 5 code has only been syntax checked as
of this date, as those new data records were not provided
in the Amdahl sample set, but the APAFDOMA/APAFGLOB data
has been processed. Ultimately, there will probably need
to be a summary routine (like ASUMPRSM, will be named
ASUMAPAF if/when it exists), but only after test data and
some user experience is available! See Change 11.290.
Thanks to George Scott, Rockwell International Corporation, USA.
Change 11.224 CICS/ESA "Requested Reset Statistics", statistics records
CICINTRV with SMFSTRQT='RRT', were overlooked in member CICINTRV,
EXCICRRT but now new dataset PDB.CICRRTRV will be created from the
IMACCICS RRT records. Because this change adds a new dataset, if
Oct 25, 1993 you have tailored IMACCICS in your USERID.SOURCLIB, you
MUST retrofit your tailoring to the new IMACCICS, or you
will encounter "CICRRTRV NOT FOUND" syntax errors.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.223 INVALID DATA FOR OWNEXPDT message results when hex zeroes
VMAC6156 are in the Packed Decimal field, but there is no effect
Oct 25, 1993 on dataset TYPE6156, since SAS sets OWNEXPDT missing. By
inserting two question marks between OWNEXPDT and the
PD3. (or &PD.3.) informat, the invalid data message is
suppressed.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.222 Variable VIO occurs twice in the NORM1 argument in TRND71
TRND71 causing its value to be incorrect. Remove the first
Oct 25, 1993 occurrence. Variable CPUPAGTM (new in MVS/ESA 4.3) was
not kept in TRND71, so add it at the end of the SUM= .
Thanks to Diane Eppestine, Southwestern Bell.
Change 11.221 CICS/ESA excluded fields can be identified on the output
IMACEXCL of UTILCICS by the value of 65535 ('FF'x) for CMODOFST
UTILCICS (i.e., there is no offset to that field). A title was
Oct 25, 1993 added to that report documenting this fact. Comments in
IMACEXCL for the MACRO _CICXCUS definition now identify
which fields were added in CICS/ESA 3.2.1 and 3.3.
Thanks to Pierre Thibodeau, CGI Group, CANADA.
Change 11.220 Changes required only for execution under ASCII SAS:
VMACCMA a.SAS under Windows has a problem with old-style macros if
VMAC28 the contents start in column 1. Shifting the source code
VMAC102 one byte to the right circumvents the problem. This was
VMACLMS necessary in members VMACCMA, VMAC28, VMAC102.
ANALSMF b.SAS under Windows has a problem with ELSE ending one line
Oct 24, 1993 and its IF starting in column 1 of the next line. The IF
statements in VMACLMS were shifted right one column.
c.ANALSMF contained LENGTH 2, which was changed to 3.
d.Many ANAL members still had the old concatenation symbol
(pair of vertical bars, '4F'x on MVS) which is translated
to brackets under ASCII, which is not recognized by SAS
as concatenation. All were changed to exclamation point
which are acceptable to both ASCII and EBCDIC SAS.
Change 11.219 Support for FOCUS MSO 6.8 added variables FOCUACCT,
VMACFOCU FOCUCOMP,FOCUFACT,FOCUID1,FOCUID2,and FOCUPRTY to dataset
Oct 21, 1993 FOCUSMSO, and variable FOUCFRV no longer exists. Since
these fields were added compatibly to the SMF record,
previous MXG versions will process the new record (but
won't input the new variables!). Additionally, variables
SYSTEM and SMFTIME are now kept.
Thanks to Scott Ashby, Wachovia Operational Services Corp, USA.
Change 11.218 VM variable PWCOUNT is strangely stored by IBM. Values
TYPEVM are EBCDIC numbers 0 thru 9 (i.e., '40F0'x thru '40F9'x),
Oct 21, 1993 but a value of ten is stored as '0A', or 'F0C1'x, sixteen
is '0F' or 'F0C6'x, etc!). MXG now parses each byte and
figures out what IBM did so you get the right number.
Change 11.217 Division by zero can occur in processing TYPE78 data.
RMFINTRV The three lines with /NRATTMPS need to be placed in a DO
Oct 21, 1993 group : IF NRATTMPS GT 0 THEN DO; ... END; so that
division only occurs if NRATTMPS is greater than zero.
Thanks to Tom Miron, State of Wisconsin Dept of Administration, USA.
Change 11.216 GRAFTRND did not print workload data for any workloads
GRAFTRND after an unused workload. So if you don't use the IMS
Oct 21, 1993 workload, the TSO, BATCH, and all OTHx workloads do not
appear on the output graph. Change the 15 occurrences of
CPUSUM=CPUSUM+CPU; to read CPUSUM=SUM(CPUSUM,CPU,0);
Thanks to Bill Stoneberg, National Oilwell, USA.
Change 11.215 SMF type 57 variables added by Enhanced SYSOUT Support
VMAC57 (SMF57LN5,SGT,IND,RSV,JDT, TUL, and TU) are trashed for
Oct 21, 1993 sites without the ESS segment (they should be missing).
Change the test IF OFFESS NE 0 AND NRESS NE 0 THEN DO;
to read IF OFFESS GT 0 AND NRESS GT 0 THEN DO;
so the loop is executed only when the ESS section is in
the record. (NE is TRUE for a missing value, GT is not).
Thanks to John Mattson, National Medical Enterprises, USA.
Change 11.214 JES3 variable CLASS (Class on Main) was added to MACRO
IMACPDB _PDB26J3, so it will now be kept in the PDB.JOBS dataset.
Oct 21, 1993
Thanks to Hong-Suk Yang, Dept. of Health & Housing, AUSTRALIA
Change 11.213 Variable IOTM6421 in TYPE30 should have been formatted
VMAC30 as TIME12.2; now it is.
Oct 21, 1993
Thanks to Dan Squillace, SAS Institute Cary, USA
Change 11.212 ALIGN must be specified for the ASM of this VVDS-grazer
ASMVVDS program, as VMACVVDS expects the data record to contain
Oct 20, 1993 the extra bytes created by the ALIGN Specification. I
completely forgot that ALIGN/NOALIGN can affect the data
format for a DS field, and it appears that most sites use
ALIGN by default (since the program has been in use for
years), but one site whose default was NOALIGN had their
TYPEVVDS program ABEND, so the JCL now explicitly has the
ALIGN parameter.
Apologies to whoever found this problem, whose name/company I lost.
Change 11.211 CICS SAP Accounting variables STCDB1-STCDB5 are character
IMACICSA variables, not numbers. Find all occurrences of STCDB and
Oct 20, 1993 change their label from "CALLS" to "NAME" in five places
and change their INPUT from "&PIB.4." to "$CHAR4." in ten
places.
Thanks to Mr. Bodenbender, BUDERUS, GERMANY.
Change 11.210 The FACOM pseudo-RACF product's type 127 SMF record will
VMACF127 cause "FUNCTION CHAN IS UNKNOWN" and "VARIABLE CHAN HAS
Oct 13, 1993 ALREADY BEEN DEFINED" if the F127 processing is added to
BUILDPDB. Change "CHAN" to "CHANS" in the ARRAY, RETAIN,
and two occurrences of CHAN(CHANNUM+1) statements.
Thanks to Denis Johnco, Datacom Systems Ltd, NEW ZEALAND.
Change 11.209 The INPUT of variables MVTRERR,MVTWERR,MVPRERR,MVPWERR
VMACCOMP in VMACEDGS and variable ULOGCPUT in VMACCOMP need period
VMACEDGS in informat (i.e., they should be "&PIB.2. " instead of
Oct 12, 1993 "&PIB.2 "). Invalid data results without this change!
Change 11.208 The example AUTOEXEC.SAS for OS/2, Windows, and Unix did
AUTOEXEC not invoke %VMXGINIT, but only included it! Change to:
Oct 11, 1993 %INCLUDE SOURCLIB(VMXGINIT); %VMXGINIT;
(Why did I %INCLUDE the macro first, when only its
invocation is required, since MXG uses MAUTOSOURCE?
Because I frequently SAS GO under TSO, and changes to
VMXGINIT did not take effect with the "GO" option!)
Change 11.207 Support for TOP-SECRET type 80 records written to a log
TYPE80 instead of to SMF is accomplished by changing " _SMF "
TYPE80A reference in TYPE80/TYPE80A to " _NETVLOG ". These log
Oct 11, 1993 records are written with only one 4-byte RDW field, so
the MVS RECFM=VBS or RECFM=VB or RECFM=V won't work (all
MVS variable records have both a 4-byte BDW and a 4-byte
RDW). The _NETVLOG macro defined in VMACSMF, used in
place of the _SMF macro, handles this "DOS RECFM=V" data.
Note: MXG members TYPE80/TYPE80A were not changed by this
change; this is an optional change that you must make if
you must process these records from a log instead of SMF.
Thanks to Jan-Ake Christoffersson, GotaData, SWEDEN.
Change 11.206 WEEKBLD/MONTHBLD error "DATA SET TAPEMNTS IS NOT SORTED"
MONTHBLD occurs IF you install Change 11.040, as it was incorrect.
WEEKBLD The correct order for TAPEMNTS (and TYPETMNT) in both
Oct 11, 1993 WEEKBLD and MONTHBLD is:
BY SYSTEM SHIFT DEVICE TMNTMTYP TMNTTIME;
Thanks to Bill Stoneberg, National-Oilwell, USA.
Change 11.205 This change to ANALVVDS and VMACVVDS are needed ONLY if
ANALVVDS you want ANALVVDS to correctly report VSAM statistics.
VMACVVDS Except for adding variable VVRTYPE to TYPEVVDS for that
Oct 11, 1993 report, this change does not alter data set TYPEVVDS:
Variable VVRTYPE was added to the KEEP= list in VMACVVDS,
so that ANALVVDS can test VVRTYPE to prevent the MXG
generated "***NUMEXT" error messages printed because
that report program did not anticipate the existence of
NVR (non-VSAM records) in a VVDS! For the VSAM space
analysis, NVR records must be deleted by inserting
IF VVRTYPE='N' THEN DELETE; after SET MXGVVDS.TYPEVVVDS;
Unfortunately, I discovered that I had reused variable
VVRTYPE, and the value kept was from its second use! To
correct, rename all VVRTYPE to VVRSTYPE in VMACVVDS,
except for its KEEP, LABEL, and the first INPUT statement
and for all tests of '00'x, 'D8'x, 'E9'X, and 'D5'x,
which must still use VVRTYPE).
Thanks to Billy Westland, Hitachi, USA.
Change 11.204 Dataset TYPEVVDS variable VVRBSENM can be blank because
VMACVVDS this test in VMACVVDS:
IF VVRCATNL THEN INPUT VVRBSENM $VARYING. VVRBSENL @;
Oct 11, 1993 must be changed to:
IF VVRBSENL THEN INPUT VVRBSENM $VARYING. VVRBSENL @;
Thanks to Billy Westland, Hitachi, USA.
==Changes thru 11.203 were included in MXG PreRelease 11.07 dtd 4Oct93=
Change 11.203 TYPE60 observations for NVR records have missing SMS
VMAC60 Storage, Data, Management Classes; alignment was off by
Oct 4, 1993 one byte. Change @OFFNVR+04 to @OFFNVR+03, and in the
following line change @OFFNVR+05 to @OFFNVR+04.
Thanks to BIll Cassidy, IST, CANADA.
Change 11.202 Support for NETVIEW APAR OY66237 SMF Type 37 (Hardware
VMAC37 Monitor Log Record) coded for the ETHERNET LAN section,
Oct 4, 1993 but without actually seeing at a dump of a record with
the new data segment. Furthermore, it's not clear which
APAR added the data segment, as OY66237 is documentation
only.
Change 11.201 TYPE90 variables OLDDSN/NEWDSN were renamed OLDDSNSM and
VMAC90 NEWDSNSM (they are the old/new SMF dataset names) to
Oct 4, 1993 avoid conflict with TYPE80A variables OLDDSN/NEWDSN.
Change 11.200 PROC GPLOT can 0C4 ABEND, or CPU loop, unless you have
GRAFLPAR these options in effect on a GOPTIONS statement:
GRAFRMFI NOPCLIP NOPOLYGONFILL NOPOLYGONCLIP
GRAFTMNT This is a known SAS bug with no ZAP yet, but it can be
GRAFTRND circumvented by
GRAFTRND a) removing all GOPTIONS statements in members GRAFLPAR,
GRAFWORK GRAFTRND and GRAFWORK (the only ones with exposure),
VMXGGOPT b) changing the GOPTIONS in member VMXGGOPT by inserting
Oct 2, 1993 NOPCLIP NOPOLYGONFILL NOPOLYGONCLIP
after the existing line:
NOCHARACTERS NOCELL GOUTTYPE=INDEPENDENT
The bug only occurs when area fill is used with GPLOT.
Unrelatedly, TMNTMTYP is now labeled in GRAFTMNT,
V=NONE is added to three SYMBOL statements in GRAFTMNT,
and TRIVRESP is now FORMAT 6.2 in GRAFRMFI.
Thanks to Chuck Hopf, Primerica, USA.
Change 11.199 TYPE30_V and PDB.SMFINTRV variables INTBTIME/INTETIME can
VMAC30 be 100 seconds earlier that actual because my fuzzy logic
VMAC7072 to convert the GMT values to local time was too fuzzy!
Oct 2, 1993 The algorithm
GMTOFF30=100*FLOOR((SMF30IST-INTBTIME)/100);
must be replaced with
IF (SMF30IST-INTBTIME) GT 0 THEN
GMTOFF30=100*FLOOR((SMF30IST-INTBTIME)/100);
ELSE IF (SMF30IST-INTBTIME) GT . THEN
GMTOFF30=100*CEIL((SMF30IST-INTBTIME)/100);
because SMF30IST has 10 millisecond resolution, while the
INTBTIME has 1 microsecond resolution, and IST=30:19.70,
INTB=30:19.7064 created a GMTOFF30=-1:40.00 (-100 secs)
instead of zero, due to the FLOOR of a negative number!
TYPE70 variable SYNCTIME can also be incorrect. VMAC7072
GMTOFF70=100*FLOOR((STARTIME+DURATM-SYNCTIME)/100);
must be similarly replaced with:
IF (STARTIME+DURATM-SYNCTIME) GT 0 THEN
GMTOFF70=100*FLOOR((STARTIME+DURATM-SYNCTIME)/100);
ELSE IF (STARTIME+DURATM-SYNCTIME) GT . THEN
GMTOFF70=100*CEIL((STARTIME+DURATM-SYNCTIME)/100);
and the GMTOFF72 logic must be similarly replaced.
Note: This change revised by Change 11.229.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 11.198 Type 42 subtype 4 records testing caused STOPOVER abend.
VMAC42 After the @; after the INPUT of TYPETEST, insert these
Sep 30, 1993 two statements: M1=-1; INPUT +M1 @;
Also, labels for variables JESNR and TYPETASK were wrong.
Thanks to John Maher, Home Savings of America, USA.
Change 11.197 TYPEQAPM causes SAS 6.07 to 0C4 ABEND IN FUNCTION DSRFMT
SAS 6.07 AT OFFSET 000200. Problem has just been discovered. Does
Sep 30, 1993 NOT fail with SAS 6.08.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 11.196 New Partition Channel busy was incorrectly printed.
ANALRMFR Change ... PUT @20 PNCHANBY 6.2 @;
to read: ... PUT #LIN @COL+20 PCHANBY 6.2 @;
Sep 30, 1993 Change ... @13 CHANSHAR
to read: ... @COL+13 CHANSHAR
Change 11.195 Variable PNCHANBY was propagated into observations with
VMAC73 no activity. After the line that calculates PNCHANBY,
Sep 30, 1993 insert: ELSE PNCHANBY=.; to reset the value.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 11.194 VMXGHSM did not output all observations in dataset DSR.
VMXGHSM The line IF DSNRTRKR = 0 AND DSNRTRKW = 0 THEN DELETE;
Sep 30, 1993 must itself be deleted, and in the OUT_DSR macro, replace
OUTPUT DSR; with
IF DSNRTRKR GT 0 AND DSNRTRKW GT 0 THEN OUTPUT DSR;
Thanks to Mr. Ertingshausen, RWG GmbH, GERMANY
Thanks to Chris Weston, SAS Institute Europe, GERMANY.
Change 11.193 Preliminary NDM support in 11.07 has now been tested with
EXNDMAE SMF records, uncovering these errors for early recipients
EXNDMCH a. Change all "PK2" to "PK1".
EXNDMDP b. Change the one "PIB.2 " to "PIB.2." (add a period).
EXNDMDT c. Add variables NDMRVOLS NDMSVOLS NDMRVOL1 NDMSVOL1
EXNDMFP to the KEEP list for NDMCT.
EXNDMGF d. Change occurrences of "+19+OFFSMF" to "+15+OFFSMF".
EXNDMMC e. Change the INPUT @15+OFFSMF statement to look like:
EXNDMRJ INPUT @15+OFFSMF
EXNDMRT NDMRECLN &PIB.2. /*NDM RECORD LENGTH*/
EXNDMSI NDMRTYPE $EBCDIC2. /*RECORD*SUBTYPE*/
EXNDMST @;
TYPENDML IF NDMRTYPE NE 'CT' AND NDMRTYPE NE 'PS' AND
VMACNDM NDMRTYPE NE 'PT' AND
VMACSMF NDMRTYPE NE 'WO' THEN DELETE;
Sep 30, 1993 INPUT HH &PK.1. /*HOUR*/
Oct 3, 1993 MM &PK.1.
This change also added support for all 22 subtypes, now
creating fifteen NDM datasets:
Dsname Description NDMRTYPEs
NDMAE Authorization Event AE
NDMCH Change Process Termination CH
NDMCT Copy Termination Record CT
NDMDP Delete Process Termination DP
NDMDT Display Termination DT,FT,SP,SN,SS
NDMMC PDS Member Copy Record MC
NDMFP Flush Process Termination FP,FS,TS
NDMGF General Function Termination GF
NDMPS Start Process PS
NDMPT Process Termination Record PT
NDMRJ Run Job Termination Record RJ
NDMRT Run Task Termination Record RT
NDMSI Signon File Record SI,SO
NDMST Stop NDM Event ST
NDMWO Authorization Event WO
Member TYPENDM processes the NDM Statistics from SMF.
The NDM Sample Library member ???????? provides the exit
code to write that data in an SMF record.
Member TYPENDML, added by this change, will process the
NDM Statistic File directly, for sites that did not write
their NDM data to SMF.
Thanks to Chuck Hopf, Primerica, USA.
==Changes thru 11.192 were in the Early MXG PreRelease 11.07 dtd 1Oct93=
Change 11.192 Additional cleanup and enhancement of RMF-like reports
ANALRMFR from MXG data sets continues.
Sep 28, 1993
Change 11.191 The ADOC documentation for data sets built from VM/ESA
ADOCVMXA (and VM/XA) MONWRITE records is now 150 pages, although
Sep 28, 1993 this documentation member is still in progress.
Change 11.190 Support for IBM's DFSMSrmm Removable Media Manager's
EXEDGRD Extract file created by IBM utility EDGHSKP creates six
EXEDGRO new MXG data sets (equivalent of EDGRPTD reports):
EXEDGRP EDGRDEXT - DFSMSrmm Extract Data Set Name Record
EXEDGRR EDGROEXT - DFSMSrmm Extract Data Set Owner Record
EXEDGRS EDGRPEXT - DFSMSrmm Extract Data Set Software Product
EXEDGRV EDGRREXT - DFSMSrmm Extract Data Set Rack Record
IMACEDGR EDGRSEXT - DFSMSrmm Extract Data Set Storage Location
TYPEEDGR EDGRVEXT - DFSMSrmm Extract Data Set Volume Record
VMACEDGR These extract data sets are good for quick reports, but
Sep 28, 1993 have only a subset of the data available in the SMF Audit
data records described in Change 11.189. Let me know
which you find more useful. This code has only been
syntax checked and bench checked with a dump of three
of the Extract records.
Thanks to Leatha Harlow, Sperry Marine Inc, USA
Change 11.189 Support for IBM's DFSMSrmm Removable Media Manager's two
EXEDGSA user SMF records provides extensive measurement of the
EXEDGSD new IBM tape management product. These datasets allow
EXEDGSK you to:
EXEDGSO - List the contents of the system-managed libraries,
EXEDGSP non-system managed shelf space, and storage locations.
EXEDGSR - List volumes that should be moved from the library to
EXEDGSS storage locations.
EXEDGSU - Identify secure volumes that have been created or
EXEDGSV referenced.
EXEDGS0 - Audit library activites.
EXEDGS1 The Security record (EDGSMASR) creates one MXG dataset:
IMACEDGS EDGSSECU - DFSMSrmm Security Record.
TYPEEDGS The Audit Record (EDGSMFAR) creates ten new datasets:
VMACEDGS EDGSAREC - DFSMSrmm Action Record
Sep 28, 1993 EDGSDREC - DFSMSrmm Data Set Information Record
EDGSKREC - DFSMSrmm Vital Record Specification
EDGSOREC - DFSMSrmm Owner Information
EDGSOVOL - DFSMSrmm Owner Information Volume List
EDGSPREC - DFSMSrmm Software Product Record
EDGSPVOL - DFSMSrmm Software Product Volume List
EDGSRREC - DFSMSrmm Library Shelf Location Record
EDGSSREC - DFSMSrmm Storage Location Shelf Location
EDGSVREC - DFSMSrmm Volume Information
These datasets are described in Appendix B, DFSMSrmm
Mapping Macros of DFSMS/MVS 1.1 Customization Guide.
This code has been syntax checked. Only the Audit record
was hand checked with a hex dump, and only subtype 'V'.
I am unsure of the time inputs in the Security record!
See Change 11.190 for DFSMSRMM Extract Record Support.
Thanks to Mike Skopec, Platinum Technology, USA
Change 11.188 %READDB2; %INCLUDE SOURCLIB(ASUMDB2A); will fail because
READDB2 READDB2 modifies the macros defined in IMACDB2, but did
Sep 28, 1993 not restore the original values for ASUMDB2A! Insert
%INCLUDE SOURCLIB(IMACDB2);
after the last %END and before the %MEND in READDB2 and
this class of problems are resolved.
Thanks to Bernard Harrison, VISA International, USA.
Change 11.187 Execution of MXG 11.06 or later under archaic SAS 6.06
CONFIG06 is no longer formally supported. However, if you are
VMXGINIT still stuck on SAS 6.06, using member CONFIG06 as your
Sep 28, 1993 CONFIG= parameter will invoke VMXGINI6 to initialize the
MXG system as best as possible. However, there appear
to be significant errors in the $EBCDIC format under SAS
6.06. If you encounter unexpected/strange characters in
the SMF DUMP HEADER message for SYSTEM=, you will need to
change all occurrences of $EBCDIC to $CHAR to be able to
execute under SAS 6.06. The real message is that MXG now
requires SAS 6.08 or later for safe and easy execution.
Note: See MXG Technical Notes in Newsletter TWENTY-FIVE.
Change 11.186 Timestamps RPTTIME,ODITIME, and ODIELAPS were missing in
VMACODS datasets ODSREPOR & ODSUSER because informat TIME6. does
Sep 27, 1993 not work with a value of 135859. However, Change 11.150
replaced all use of TIMEn with separate input of HH MM SS
and that redesign accidentally corrected this error. A
division by zero was also protected.
Thanks to Cindy Ng, Charles Schwab, USA.
Change 11.185 Invalid MDF value for BDNSKIP in Type 72 record STOPOVER.
VMAC7072 There were only 4 segments to skip, but BNDSKIP was 8.
Sep 27, 1993 Insert this trap after LOCPRDS is calculated:
IF LOCPRDS+LPARCPUS*LENPRDS GT LENGTH+1 THEN DO;
NBDPRDS+1; IF NBDPRDS LE 2 THEN
PUT '***ERROR.VMAC7072.INVALID PRDS LOCATION '
LOCPRDS= OFFPRDS= LENPRDS= BDNSKIP= LOCPRCS= I=
LENGTH= /+5 ' RECORD WAS DELETED. ' SYSTEM= SMFTIME=;
DELETE; END;
Note: The variable BNDSKIP was misspelled BDNSKIP in the
text of this change in 11.07, and in the PUT= statement,
which caused UNINITIALIZED variable BDNSKIP. Those were
corrected Sep 30, but not included in MXG 11.07.
Thanks to Tony Gennari, Harcourt Brace & Company, USA.
Change 11.184 SPIN library can fill if Change 11.060 is not installed!
VMAC30 The incorrect value of JINITIME causes the SPIN logic in
Sep 26, 1993 BUILDPDB to hold records in the SPIN library until the
SPINCNT limit in IMACSPIN is exceeded.
Thanks to Andrea Mulcahey, United Jersey Bank, USA.
Change 11.183 The LABEL for VIOREADS should have been spelled as
VMAC71 *FROM ESTORE instead of *ROM ESTORE.
Sep 26, 1993
Thanks to Helmut Kirrmaier, Comparex, GERMANY.
Change 11.182 A user's technical note about problems accounting for
ADOCWSF printed output for users of RSD's WSF product was added
Sep 26, 1993 to the ADOC for WSF. (Unfortunately, that's all there
is in that particular ADOC right now!)
Thanks to Jonathan Caldwell, Department of Veterans Affairs, USA.
Change 11.181 Support for SAP's IMS log record type 'AE'x accounts SAP
ASMIMSLG transactions under IMS. Three new data sets are created:
EXSAPIBA SAPIMSBA - Batch SAP jobs.
EXSAPION SAPIMSON - Online SAP transactions.
EXSAPISP SAPIMSSP - SAP Spool Task activity.
IMACIMS Whether you use the old TYPEIMS or new ASMIMSLG members,
VMACIMS these three SAP datasets will be created (their default
VMACIMSA destination is WORK, but you set that in member IMACIMS
Sep 25, 1993 in the _LSAPIxx macro definition). Note that since the
IMACIMS was changed, if you have tailored IMACIMS into
your USERID.SOURCLIB, you will need to compare and update
your changes starting with the new IMACIMS in this MXG.
This code has been syntax and hand checked with a dump.
Thanks to J. Cary Jones, Philip Morris, USA.
Change 11.180 Support for AICorp Central Server SMF record creates one
EXAICSCS new dataset:
IMACAICS AICSCS - AICorp Central Server resources.
TYPEAICS This code has been syntax and hand checked with a dump.
VMACAICS
Sep 25, 1993
Thanks to Bob Mattingly, ARCO, USA.
Change 11.179 Support for Concurrent Copy and Extended Sequential Data
EXTY42CC set activity in SMF type 42 subtype 4 records creates
EXTY42CV three new datasets:
EXTY42EX TYPE42CC - Concurrent Copy Job resources per controller
IMAC42 TYPE42CV - Concurrent Copy Job, detail per VOLSER.
VMAC42 TYPE42EX - Extended Sequential Dataset activity.
Sep 25, 1993
Thanks to John Maher, Home Savings of America, USA.
Change 11.178 References to Duquesne Systems was changed to LEGENT in
Several members IMACTPX,IMACSTX,IMACNSPY,IMACDMON,ANALNSPY,
Sep 25, 1993 VMACSTX, and VMACDMON. Morino Associates merged with
Duquesne Systems to create LEGENT.
Thanks to Herbert G. Strozinsky, Burlington Northern Railroad, USA.
Change 11.177 Variable SERVICE is used to determine if a TYPE72 obs
EXTY72 will be created, but IBM Information APAR II07261 says
Sep 25, 1993 SERVICE is zeroed if it overflows! So MXG now uses
IF SUM(CPUUNITS,SRBUNITS,IOUNITS,MSOUNITS) GT 0 ...
to test any of the components of service for non-zero.
Thanks to Randy Shumate, Mead Data Central, USA.
Change 11.176 Character variable STATFLG in TYPEXCOM conflicted with
VMACXCOM numeric variable STATFLG in TYPE5568. The TYPEXCOM
Sep 25, 1993 variable STATFLG is now spelled STATFLGX.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 11.175 Support for Sterling's NDM, Network Data Mover user SMF
EXNDMCT record creates four new datasets for their Release 1.4.0:
EXNDMPS NDMCT - NDM Copy Termination
EXNDMPT NDMPS - NDM Process Start Event
EXNDMWO NDMPT - NDM Process Termination Event
IMACNDM NDMWO - NDM WTO Statistics
TYPENDM This code has been syntax checked and hand checked with a
VMACNDM hex dump of all four records.
Sep 25, 1993
Thanks to Joseph L. Schwartz, CIGNA, USA.
Change 11.174 Support for Release 3.0.0 of 4th Dimension's CONTROL-D
VMACCTLD SMF record added (compatibly) CTLDJBID, the JOB ID field.
Sep 24, 1993
Thanks to Gary Cooper, 4th Dimension Software, USA.
Change 11.173 Significant enhancements of GRAFxxxx members and a change
GRAFLPAR in the basic structure of the graphics catalog that will
GRAFRMFI NOT work on releases of SAS earlier than 6.06. (The old
GRAFTMNT GRAFxxxx members that run on 6.06 and 5.18 were renamed
GRAFTRND to ZRAFxxxx and kept in the MXG Source Library).
GRAFWORK
VMXGGOPT All graphics routines now have common parameter that will
ZRAFLPAR control the construction of the graphics catalog and the
ZRAFRMFI appearance of the graphs. Each GRAFxxxx member defines a
ZRAFTMNT %MACRO of the same name as the member, and uses these
ZRAFTRND standard parameters:
ZRAFWORK
Sep 25, 1993 PDB= The DDname/LIBNAME for the source of the input
data library, and the destination library of
the output graphics catalog containing the
graphs produced. This can be a PDB or a TREND.
COMPANY= The first title line on all graphs. Defaults to
'Merrills Expanded Guide - Graphics Output', but
this parameter lets you change the title to your
company's name.
MXGRAPHS=The name of the output graphics catalog written
to the library specified by PDB=. The default
catalog name is the member=macro name, but could
be changed with this parameter.
GOUTNEW= A new parameter to re-initialize the graphics
catalog. SAS graphic procedures normally MOD
new graphs at the end of the graphics catalog.
If you reuse a PDB/TREND library, that catalog
could quickly consume the available DASD space.
MXG's default is GOUTNEW=YES, overriding SAS's
normal action and causing the catalog to be
erased before building the new graphs. Any other
value for GOUTNEW will cause the old graphs to
remain and the new to be added at the end.
The changes to the individual members are:
GRAFLPAR - New parameters added and old parameters PDBOUT
and SASGRAPH are no longer applicable (although they are
still recognized for compatibility). PDBOUT= was the old
catalog destination, now specified by PDB= parameter. The
SASGRAPH parameter was needed before it was possible to
detect if you have SAS/GRAPH (now, using the new SYSPROD
function, you no longer have to tell us what you have!).
Additionally, where bar charts are produced, plots with
area fills are used now to reduce the clutter on the
horizontal axis. This was always desired, but prior
versions of SAS did not support LEGEND processing to get
the patterns of the fill into the legend.
GRAFRMFI - New parameters added. All output is now to a
single catalog and (if only a single system is detected)
the graphs of the form VARIABLE*DATE=SYSTEM are not
produced. CLIST examples CLGRAF and CLSTRPLY are now
obsolete; using the SAS Display Manager is a much more
effective means of getting to the graphs now.
GRAFTMNT - New parameters added.
GRAFTRND - New parameters added. Parameters SASGRAPH
and SASSTAT are now obsolete. A new parameter GRAFFROM=
was added; this is the date that will be used as the
starting point of the graphs produced. Where bar charts
were produced, they have been converted to plots with
area fills. This will allow you to view more data (only
about 65 bars are possible but many years can now be
viewed on a single plot) and this reduces the clutter on
the HAXIS. The capacity lines have been smoothed by using
your IMACSHFT specification to calculate the capacity
based on the length of your shifts (previously, actual
duration of found data was used). This will eliminate
the annoying peaks and valleys caused by missing data,
outages, and incomplete weeks.
GRAFWORK - New parameters added. Parameter SASGRAPH is
obsolete. Bar charts were converted to plots with area
fills. In addition, plots of IO connect time and EXCP
counts by WORKLOAD were added. Only workloads that were
actually used (i.e., got service) are used.
VMXGGOPT - Specifies graphics options.
You should use:
%VMXGGOPT(DEVICE=xxxxxxxx);
instead of using SAS's
GOPTIONS DEVICE=xxxxxxxx command.
All devices are now supported by modifying the background
and color lists. All GRAFxxxx routines use the PCBATCH
device driver (a modified IBMPCGX driver) with background
color of black and a color list of:
WHITE,RED,GREEN,BLUE,YELLOW,CYAN,PINK
A new parameter HARDCOPY= has been added. If you specify
HARDCOPY=Y, then BLACK and WHITE are reversed.
See the SAS Technical Note in MXG Newsletter 25 about the
problems moving graphs between mainframes and other SAS
platforms; using VMXGGOPT to specify devices should help
minimize those problems.
Change 11.172 If you use WEEKBLD to create your weekly PDB on tape, it
JCLWEEKT can cause multiple tape mounts on the WEEK DD name if you
WEEKBLDT have more weekly data than will fit on one tape. The new
Sep 23, 1993 member WEEKBLDT should be used instead, as it uses the
logic described in MONTHBLD (it creates each dataset in a
temporary DASD library (DDname=TAPETEMP) in tape format,
and then writes each dataset from TAPETEMP to DDname=WEEK
using DISP=MOD so as to eliminate rewinds and remounts,
which also reduces the elapsed run time of the job.
Member JCLWEEKT has been modified to use this new member.
Note that the DDNAME of TAPETEMP must be allocated only
as big as the largest weekly dataset (usually STEPS or
CICSTRAN or DB2ACCT).
Thanks to Eric Huning, Republic Insurance, USA
Change 11.171 Zero observations in TYPE72MN for MVS/ESA 4.2 or earlier
VMAC7072 occurs because the test added by changes 11.016 was only
Sep 22, 1993 tested with MVS/ESA 4.3 data, and variable VALDSAMP only
is non-missing for 4.3. The test to create observations
in TYPE72MN only for valid intervals, located just before
the %%INCLUDE SOURCLIB(EXTY72MN... statement:
IF VALDSAMP GT 0 THEN DO;
must be changed to
IF VALDSAMP GT 0 OR VALDSAMP=. THEN DO;
Thanks to Dennis Smith, Compuware Corporation, USA.
Change 11.165 Reserved Change Number.
==Changes thru 11.164 were included in MXG PreRelease 11.06 dtd 1Sep93=
(Note in 11.06 there were two change 11.162's - the second is now 163!)
Change 11.164 Complete rewrite of GRAFRMFI. Will only run under 6.07
GRAFRMFI and later. Significantly more graphs are produced and
ZGRAFRMD more flexibility is provided. New parameters have been
Aug 31, 1993 added to allow overriding the first line of the headings
with your company name and to allow you to "clean up" old
graphics catalogs in your PDB. See the documentation in
the member. If you are still running version 5, the old
GRAFRMFI is kept in member ZGRAFRMF.
Thanks to Chuck Hopf, Primerica, USA.
Change 11.163 Support for TCP/IP 2.2.1 APAR PN40511 added new recording
VMACTCP for TCP/IP API and for FTP and Telnet clients, and now
Aug 30, 1993 uses SMF record type 118. In theory, your TCP/IP tech
sets subtype values (using the LOGGING command statement
in PROFILE TCPIP, see APAR PN40511), but both the API and
FTP/TELNET server records have the same ID and subtype!
Thus MXG does not use the subtype value, instead deducing
from other fields to determine actual data:
Dataset Contains
TYPETCPF FTP Server - existed previously in MXG
TYPETCPC FTP Client
TYPETCPT TELNET Server- existed previously in MXG
TYPETCPL TELNET Client
TYPETCPA API Calls (Sockets)
Thanks to Richard Warren, Salomon, Inc, USA.
Thanks to Bob Muller, Grumman, USA.
Change 11.162 Support for ASTEX Release 1.7 Interval Database SMF data
VMACDMON record. Variables RIRCX and RNVCCNT were added to all 3
Aug 30, 1993 DMON datasets, and variables RVDISCNH,RVLATNCY,RVMSAMPL,
RVSAMPWH and RVTLOST were added to DMONVOL. Additionally
the label for RHUSTX is now MUST PROBLEM I/O COUNT. I now
realize that I used an "H" in some variable names that
were really spelled with an "M", but the Release 1.5 doc
was a smudged fax! While having M for MUST/MAY would be
better, changing now will cause your report code to have
to be changed, and I don't intend to make extra work for
you now, so we'll live with the MXG misspellings! And
RHTCSW should be RHTCFW, but I've left it alone, too.
Release 1.7 added these new fields compatibly, so that
prior versions of MXG will not fail; they just won't have
the new variables.
Change 11.161 DB2 2.3 can have QWHSRELN=2.299 (due to truncation), so
VMACDB2 all tests GE 2.3 were changed to GT 2.2 to avoid the
VMACDB2H exposure. The specific occurrence affected only the DB2
VMAC102 correlation decoding in IMACDB2, but prudence dictated a
IMACDB2 change to all occurrences.
Aug 30, 1993
Thanks to John Shuck, SunTrust, USA.
Change 11.160 Change 10.133 (multiple type 30 records due to more than
BUILDPDB 1476 DD segments) did not correct JELAPSTM. In extensive
BUILDPD3 notes, this contributor located the several changes to
BUILD005 carry MULTIDD5 from the 30_5 into the final logic so that
IMACPDB JELAPSTM will non-missing in this instance.
Aug 30, 1993
Thanks to Andy Vick, Allied Dunbar Life Assurance, ENGLAND.
Change 11.159 Change 11.130 (NETSPY documentation error) is changed
VMACNSPY again. Now, LEGENT says the field is at offset +34 and
Aug 27, 1993 not +33 as previously documented, and so the MXG test
Previously: IF NSUBNTCN GT 0 AND NSUBNTLN GT 0 THEN DO;
Ch 11.130: IF LDLANLST GT 0 THEN DO;
Now Is: IF LDLANMAX GT 0 THEN DO;
Thanks to Gary Allen, LEGENT, ENGLAND.
Change 11.158 Variable ACTIVE in TYPE90 was renamed to ACTIVEMN because
VMAC90 it conflicted with variable ACTIVE in TYPEAPAF, which is
Aug 27, 1993 numeric. ACTIVEMN is the identity of the Active SMF data
set, and this should have minimal impact on TYPE90 users,
but avoids a conflict of variable types.
Thanks to Bryant Osborn, Department of Transportation, USA.
Change 11.157 IMS Appended Log processing of type 36 log record did not
ASMIMSLG recognize that a '04'X bit in QLDQFLGS indicates the true
Aug 27, 1993 dequeue of a transaction. (The '04'X indicates the free
of a queue-block as opposed to the '01'x which indicates
a CNT (terminal) dequeue. Find AP TYPE36CT,PAKEDONE
and insert after that line: TM QLDQFLGS,QLDQFFQB
BZ DROPMAP
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.156 Support for Release 4.5 of Software AG's COM-PLETE SMF
VMACCOMP record (which was incompatibly changed; MXG 11.06+ is now
Aug 24, 1993 required). New variables were added to the existing data
sets. Still in test is verification of PIB4.2 formats.
Thanks to Jill Hansen, South Dakota Regents Information Systems, USA.
Change 11.155 IMACPDB limited the number of ACCOUNTn variables to three
IMACPDB in PDB.JOBS, PDB.STEPS, and PDB.ACCOUNT, even when you
Aug 24, 1993 specified more in member IMACACCT. This was a holdover
from earlier MXG versions, and is no longer correct nor
needed. All occurrences of ACCOUNT1-ACCOUNT3 and of
LENACCT1-LENACCT3 in member IMACPDB were changed to
ACCOUNT1-ACCOUNT9 and LENACCT1-LENACCT9, and then the
number of account variables will be controlled by the
number you keep in member IMACACCT.
Thanks to Esther Ader, TRW Redi Property Data, USA.
Change 11.154 MXGTMNT abended at only one site, with a 0C4. An invalid
ASMTAPEE value for the UCBASID in the UCB Common Extension caused
Aug 24, 1993 this single error, which can be corrected by:
a.Relocate the line MVC DEVASID,UCBASID from after the
line LH R4,UCBASID to before that LH.
b.Insert after line USING ASVT,R5
these two lines: CL R4,ASVTMAXU IS ASID LARGE?
BNL NOJOB
Thanks to David Froberg, Software AG, USA.
Change 11.153 As noted in Newsletter 24, Landmark TMON pseudo type 110
VMAC110 SMF records are invalid. If you must process those TMON
Aug 24, 1993 records, you can change SUBTYPE=SMFPSSTY; to SUBTYPE=1;
and as long as ONLY Landmark type 110 records are in your
SMF file, MXG will successfully create its CICS datasets.
This is a circumvention for you to apply if you need it,
but there was no change to member VMAC110 in MXG.
Thanks to Amy Stammerjohn, IBM WSC, USA.
Change 11.152 TYPE70 dataset now supports CPUIDs of 0 thru 15, because
VMAC7072 it is possible (in PR/SM,MLPF,or MDF) to assign CPUIDs
RMFINTRV of 9 thru 15. Sites which had assigned CPUIDs above 8
Aug 23, 1993 found the wait time for those CPUIDs above 8 was lost,
causing an inflated CPU utilization percentage during
periods of low activity. Not only does this change
protect current users of high CPUID values, but also it
protects all users if/when more than 8 concurrent CPUs
are supported. Variables CAIn, CPUSERn, CPUWAITn,
CPUEDTMn, CPUPDTMn, IORATEn, PCTCPBYn, PCTTPIn,
VFAFFTMn, and VF0Nn, now exist with n values of 0,1,2,3,
4,5,6,7,8,9,A,B,C,D,E and F. (RMFINTRV was changed only
to keep CPUSER9,A-F variables).
Thanks to Ron McAllister, Hitachi Data Systems, USA.
Change 11.151 Variables DCUSYSID and DCUTMSTP were not kept in the new
VMACDCOL SMS Construct datasets DCLODC, DCOLSC, DCOLMC, DCOLBC,
Aug 23, 1993 DCOLSG, DCOLVL, DCOLAG, DCOLDR, and DCOLLB, but now are!
Thanks to John Rosza, Depository Trust Company, USA.
==Changes thru 11.150 were included in MXG PreRelease 11.05 dtd 20Aug93=
Change 11.150 MXG redesign for execution under any SAS platform began
CONFIG with this major structural change, but fortunately, as
CONFIG07 long as you use the CONFIG member from this library for
CONFIG08 your CONFIG= value, the change is transparent under the
VMXGINIT currently supported platforms. (Note that members
DOC CONFIG, CONFIG07, and CONFIG08 are now identical.)
Oct 4, 1993
Now with this change, all of MXG can be stress tested and
validated for execution under the "ASCII" versions
(WINDOWS, OS/2, UNIX). MXG's BUILDPDB has already been
executed under SAS 6.08 under Windows, OS/2, and UNIX.
The original text of this change was revised and is now
included in the Technical Note "Executing MXG and Other
SAS Applications Under Windows, OS/2, and UNIX" in MXG
Newsletter TWENTY-FIVE.
==Changes thru 11.149 were in MXG PreRelease 11.04 dated Aug 10, 1993==
Change 11.149 DOS/VSE POWER variables STARTIME and STOPTIME are okay if
TYPEDOS START and STOP occur on the STOP date, but there is no
Aug 10, 1993 START date in the record, and most DOS event records also
have no elapsed duration by which true START date can be
known, so the date of STARTIME can be incorrect. For the
DOSJOBS data, however, the elapsed time can be estimated
(CALCTM) and can be used to correct the date of start.
(Before this change, MXG wrongly recalculated STOPTIME
instead of STARTIME, causing both to be wrong when STOP
and START occurred on different dates.)
After:
CALCTM=SUM(CPUTM,OVERTM,WAITTM)/3;
Replace the two lines recalculating STOPTIME with
IF CALCTM GT TIMEPART(STOPTIME) THEN
STARTIME=DHMS(-FLOOR(CALCTM/86400),0,0,STARTIME);
Thanks to J. Geluk, ROBECO Group, THE NETHERLANDS
Change 11.148 SAP journal data for release 5 is supported in MXG 11.03.
IMACICSA For SAP release 4.3, the time part of STRTTIME is wrong,
Aug 8, 1993 because SAP 4.3 used PDTIME4. while SAP 5.0 uses PIB4.3.
Sites with release 4.3 need only to change the input
for STCTIMTR from PIB4.3 to PDTIME4. and the value of
STRTTIME will be correct; remember to back out the change
when you convert to SAP release 5.0. Unfortunately, SAP
does not store any indicator of release in the record!
Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.
Change 11.147 Support for Laser Access Corp's Optical Disk System three
EXTYODSD User SMF records. Three datasets are created:
EXTYODSR ODSDEVIC - Device Statistics. Physical activity between
EXTYODSU the ODS and the ODI.
FORMATS ODSREPOR - Report Termination. Control Unit information
IMACODS about the report just recorded.
TYPEODS ODSUSER - Report Statistics. Reflects all activity for
VMACODS that report for that user. Elapsed times
Aug 5, 1993 will be totals of all page activity while
that report was open.
Thanks to Cindy Ng, Charles Schwab, USA.
Change 11.146 Support for LEGENT's SAR product User SMF Record written
EXTYSAR by the SARSRQU3 exit, written when a report is printed
FORMATS from the SAR database. One dataset is created:
IMACSAR SARSRQU3 - SAR Print Report from SAR database.
TYPESAR
VMACSAR
Aug 4, 1993
Thanks to Bob Mattingly, ARCO, USA.
Change 11.145 ASUM70PR was still wrong in MXG 11.03; the BY statement
ASUM70PR BY SYSTEM STARTIME; (after the MERGE statement)
Aug 4, 1993 that was supposed to have been added by Change 11.041 was
lost in a later change to ASUM70PR. If you have PR/SM or
MDF or MPLF data with some MVS systems partitioned and
some native, the absence of this BY statement can corrupt
the PDB.RMFINTRV dataset. Insert it after the MERGE!
Thanks to Randy Shumate, Mead Data Central, USA.
Change 11.144 MXG CIMSTRAN dataset (from Boole's IMF) did not contain a
VMACCIMS flag variable that the transaction was a BMP, which some
Jul 29, 1993 users needed to separate BMP from MPP transactions. New
variable BMP now exists.
Thanks to Vladimiro Viano, Assicurazioni Generali, ITALY.
Change 11.143 Error OVERFLOW HAS OCCURRED, OUT OF MEMORY with ANALDB2R
ANALDB2R if reports PMSTA01 or PMSTA02 are requested, only under
Jul 27, 1993 SAS 6.08, is caused by SAS Usage Note 6719. The INCODE
arguments of PMSTA01/PMSTA02 have 330+ lines each,which
exceeds a SAS internal limit for macro argument length
as discussed in the Usage Note. Most of the 300+ lines
are "faker" statements IF A=. THEN A=.; whose purpose
was to eliminate "UNINITIALIZED VARIABLE" messages on the
log. The simple circumvention is to simply delete all of
those "faker" statements and tolerate a note on the log:
After the second INCODE, delete the first 313 lines.
After the third INCODE, delete the first 311 lines.
The permanent MXG solution is to replace the "faker"
statements with a RETAIN list-of-variables 0; statement
which takes many fewer lines. There are three INCODE
arguments, but only the last two INCODEs must be changed.
Thanks to Ken Rowe, Resolution Trust Corp, USA.
Thanks to Ivan Vasquez, Resolution Trust Corp, USA.
Change 11.142 VM/ESA duration variables that were INPUT as PIB6.6 must
VMACVMXA be stored in LENGTH 8 for the deaccumulation, otherwise
Jul 27, 1993 the subtraction of these very large numbers can cause
small truncation of values (6557.83 seconds became
6556.56 of VMDTTIME). The truncation seems to have been
the cause of small negative values of VMDCTIME as well!
These variables are now length 8:
CALMPNTR CALMPTRV CALQDNTR CALUPNTR CALUPTRV PFXPRBTM
PFXTMSYS PFXTOTWT PFXUTIME PLSVFOTM PLSVFVTM RDEVRTPD
SRMRSCTM SRMSTRD SRMTSHOT SRMTSLIC VMDESLIC VMDTTIME
VMDVFOTM VMDVFVTM VMDVTIME
Thanks to Stan Laugher, NM Computer Services, AUSTRALIA.
Change 11.141 POOL/DASD User SMF record caused INPUT STATEMENT EXCEEDED
VMACPOOL error. The INPUT of PLD $CHAR3. must be changed to
Jul 27, 1993 $CHAR4.
Thanks to Mike Lambert, IHS, USA
==Changes thru 11.140 were printed in MXG Newsletter TWENTY-FOUR 2Aug93
==Changes thru 11.140 were included in MXG PreRelease 11.03 dtd 26Jul93=
Change 11.140 The Asynchronous Data Mover Facility APAR OY65142 adds to
IMACPDB the type 30 SMF record variables ADMFREAD,ADMFWRIT with
VMAC30 count of pages moved by ADMF. Both variables were also
Jul 24, 1993 added to the PDB.JOBS and PDB.STEPS datasets.
Change 11.139 A RACF segment with zero length RACFDLN was not expected
VMAC80A nor protected for, causing INPUT STATEMENT EXCEEDED ...
Jul 24, 1993 error. Change SELECT (RACFTYPE); to read
IF RACFDLN GT 0 THEN SELECT (RACFTYPE);
Thanks to Jeff Burnett, Anixter Information Services, USA.
Change 11.138 Additional protection for changes in Journal records is
VMAC110 accomplished by inserting INPUT @LOC @; after both of
Jul 23, 1993 the occurrences of LOC=LOC+JCRLL; In particular, this
will permit MXG to skip over SAP Journal records until
you install the MXG 11.03 needed for SAS Release 5.0!
Thanks to Thomas Lowin, GESIS, GERMANY.
Change 11.137 An extraneous close-parenthesis on line 011800 (after the
VMACZRB _LZRBUWP statement) must be deleted.
Jul 23, 1993
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 11.136 Major revision to the subtype 102/103 Omegamon/CICS User
VMACOMCI SMF record (Clocks and Counters for VSAM, DL/I, IDMS,
Jul 22, 1993 ADABAS, SUPRA, and DATACOM) in Candle's SPE QOC0553. Now,
two MXG datasets are created for each DB manager, one
with total I/O activity, and one with detail activity at
the "File/Database" level. Candle's misdocumentation of
the VSAM record pre-SPE was also corrected, as were MXG
errors in inputting as PIB4.4 what was PIB4.6! Datasets:
OMCIVSAM,OMCIVSAT - VSAM Detail, Total
OMCIADA ,OMCIATAT - ADABAS Detail, Total
OMCIDLI ,OMCIDLIT - DL/I Detail, Total
OMCIIDMS,OMCIIDMT - IDMS Detail, Total
OMCISUPR,OMCISUPT - SUPRA Detail, Total
OMCIDTCO,OMCIDTCT - DATACOM Detail, Total
Thanks to Thomas Lowin, GESIS, GERMANY.
Thanks to Ross Pover, Immigration & Ethnic Affairs, AUSTRALIA.
Change 11.135 The _K macro name for the _LTY80CM dataset was misspelled
VMAC80A as _KTY8007 instead of _KDY80CM.
Jul 22, 1993
Thanks to Thomas Lowin, GESIS, GERMANY.
Change 11.134 MXG 11.02 only. Changes 11.113 and 11.089 were not in
TYPEVM the code, although both were documented as being there.
VMAC26J2 Labels were missing for CHANIND,CHANINDY,CHANINDY vars in
VMAC73 TYPE73 dataset.
Jul 22, 1993
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.133 STOPX37 undocumented fields VOLSER and MSGCODE were found
VMACX37 by this user. Add: @441+OFFSMF VOLSER $CHAR6.
Jul 22, 1993 @497+OFFSMF MSGCODE $CHAR7.
and add MSGCODE to KEEP= list.
Thanks to Lou Sassani, National Australian Bank, AUSTRALIA
Thanks to John Astle, National Australian Bank, AUSTRALIA
Change 11.132 MXG 11.02 only. Change 11.119 was incomplete. Insert:
VMAC37 BRFDATLN=LENDETT;
Jul 22, 1993 after INPUT @OFFDETT @;
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 11.131 HSM BCDS dataset MCB records were incorrect (incomplete
VMXGHSM and too few observations, plus INVALID ARGUMENT TO FUNCT
Jul 22, 1993 DATEJUL message). Line 114200 should be P2=P2+64; vice
P2=P2+(I*64); In addition, lines 113500 & 113800-114100
were relocated above the DO loop.
Thanks to Willi Weinberger, Gothaer Versicherungsbank, GERMANY.
Change 11.130 Legent LANSPY Problem # DGL249 acknowledges documentation
VMACNSPY error for extended subtype D record that caused INPUT
Jul 22, 1993 STATEMENT EXCEEDED RECORD LENGTH. The MXG test:
IF NSUBNTCN GT 0 AND NSUBNTLN GT 0 THEN DO;
must be replaced with IF LDLANLST GT 0 THEN DO;
Thanks to Mike Hicks, Centrefile Ltd., ENGLAND.
Change 11.129 SAS Error 76-322 occurred when unnumbered and numbered
CONFIG07 statements were input, and CONFIG07 used.SAS Option S2=0
Jul 22, 1993 should have been S2=72 in CONFIG07. (CONFIG08 was okay.)
See Change 10.109 for discussion.
Thanks to Ann Wheeler, American President Lines, USA.
Change 11.128 Variable DEVTYPE was added to the KEEP= list for dataset
TYPETMS5 TMS.DSNBRECD so that the type of tape device is known.
Jul 22, 1993
Thanks to Chuck Hopf, Primerica, USA.
Change 11.127 In MXG 11.02. an extraneous period in column 1 of line
ASUM70PR 031200 must be removed. Additionally, in some instances,
Jul 21, 1993 the new LPnDUR variables were missing because of sort
reordering. To correct, LPARNUM was added to the BY
statement following INCODE= and FIRST.STARTIME was
changed to FIRST.LPARNUM.
==Changes thru 11.126 were included in MXG PreRelease 11.02 dtd 6Jul93=
Change 11.126 Type 30 APPC variables were accumulated across steps, and
VMAC30 a second step (PGM=IEFBR14) that did not use APPC would
Jul 2, 1993 contain non-zero APPC counts if the first step used APPC!
APAR OY63634 now creates an additional segment in type 30
records which contains the "Delta" values for the step.
MXG supports the new APAR, and will use the Delta segment
if it exists; otherwise, the cumulative values will be
kept (as occurs now) until you install the APAR.
Change 11.125 RMF-like reports from MXG datasets were enhanced with the
ANALRMFR EMIF channel reporting of both total Channel Busy and the
Jul 2, 1993 Partitions part of total Channel Busy. All reports now
match their RMF 4.3 counterparts.
Change 11.124 Variable LSBACS (ACS ID) was added to the STCLMU dataset:
VMACSTC Replace the line INPUT @21+OFFSMF LSBMON PIB2.
Jul 1, 1993 With these two: INPUT @543+OFFSMF LSBACS PIB1.
Oct 21, 1993 @21+OFFSMF LSBMON PIB2.
(The above text was reworded for clarity from that that
was published in Newsletter TWENTY-FOUR, Oct 21, 1993.)
Also, Change 10.116 was not implemented correctly. After
that change, the code should read:
ELSE INPUT STC07CON PIB4. @;
INPUT STC07LBL $CHAR1. ...
Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.
Thanks to Tom Yarbrough, Rockwell Space Operations Company, USA.
Change 11.123 The order of INPUT statements was modified to make all
VMAC64 TYPE64 variables available to the TYPE64X (extent) data
Jul 1, 1993 set, so that you could optionally add desired variables
into TYPE64X (using _KTY64X macro in member IMAC64).
Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.
Change 11.122 Variables IVLAWS and IVLOAWS were added to OPC24_6, and
VMACOPC variables MTDRESTA,MTDDIRES,MTDRERUT, and MTDDIRER were
Jul 1, 1993 added to OPC24D_C data sets. This change supplements
Change 11.065.
Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.
Change 11.121 Variable AOUTSZT was not calculated in NSPYLU data set.
VMACNSPY Insert after ARSPNET calculation (line 123700):
Jul 1, 1993 AOUTSZT=COTPUTSZ/NETRSPNO;
and then after ARSPNET=.; (line 126700), insert:
AOUTSZT=.;
Thanks to Joanne Turpie, Department of Labour, NEW ZEALAND.
Change 11.120 Variable QW0058SN was incorrectly input as $CHAR2,
VMAC102 instead of PIB2., so it was unprintable. Changing to the
Jun 29, 1993 PIB2. will cause the actual statement number to print.
Thanks to Dave Leeker, Southwestern Bell, USA.
Change 11.119 Netview Type 37 "INPUT STATEMENT EXCEEDED RECORD LENGTH"
VMAC37 occurs because APAR OY49717 incorrectly documented the
Jun 24, 1993 format of the "DETT" (Data Network Subfield) text. The
APAR documented an imbedded count of sections BRFDENUM
and an imbedded length of each section, BRFDATLN, yet the
actual data contains neither field; instead, the triplet
LENDETT/NRDETT fields describe the text directly. The
workaround is to insert BRFDENUM=NRDETT; after the
INPUT statement for BRFDENUM, and to insert
BRFDATLN=LENDETT; INPUT @OFFDETT @;
after the INPUT statement for BRFDATLN. The actual MXG
revision eliminates the excess code.
Thanks to Larry Doub, RJReynolds Tobacco Co., USA
Change 11.118 The number of LPAR partitions, NRPRCS, was put back in
ASUM70PR the ASUM70PR data set from TYPE70PR. It had been removed
Jun 24, 1993 by Change 11.003 but turns out useful, so it can now be
Aug 4, 1993 used in reports.
Change 11.117 Support for Top Secret Release 4.3 type 80 SMF record.
VMAC80 Find the test for RACFVRSN following text "Top Secret"
VMAC80A and add OR RACFVRSN=043X to that test in both members
Jun 24, 1993 VMAC80 and VMAC80A to support this release.
Thanks to David Froberg, Software AG, USA.
Change 11.116 APAR OY54370 to NPM allows the Network Transit Time to be
VMAC28 calculated with only user data PIUs that have Definite
Jun 24, 1993 Response (specify TRANSIT=DR in FNMINIT), or now the Time
can include the data flow control PIUs (TRANSIT=DFC).
New MXG variable DFCPIU='Y' if TRANSIT=DFC was specified.
Thanks to Joseph L. Schwartz, CIGNA, USA.
Change 11.115 OMEGAMON V550 User SMF record ("ESRA") fails with INPUT
VMACOMCI STATEMENT EXCEEDED RECORD LENGTH due to MXG logic error.
Jun 24, 1993 Replace @LOC+LENTOTR+1 with @LOC+LENTOTR+1+(-6*(_I_-1))
to correct the alignment.
Thanks to Richard Cooke, Zurich Municipal, ENGLAND.
Thanks to Pete Gain, SAS Institute, ENGLAND.
Change 11.114 APAR OY64585 changes the format of IODFDATE in both type
VMAC73 73 and 74 records to MMDDYY8. (instead of YYMMDD8.), so
VMAC74 both INPUTs were corrected. Variables CYCLE and PARTISHN
Jun 23, 1993 are now kept in TYPE73, and new variable PNCHANBY is now
created in EMIF environments to report the Partition's
use of this CHPID. (PCHANBY is Total CHPID busy, while
PNCHANBY is the Partition's CHPID busy.)
Change 11.113 Support for VM/ESA Release 2.1 Accounting records added
TYPEVM type 0B accounting record for virtual disk in storage,
Jun 23, 1993 which MXG now outputs into dataset VMDEVICE. Variables
VDISKSUB and PAGEUSED in dataset VMDEVICE are non-missing
only for VMID='0B'X virtual disk record.
Change 11.112 Support for VM/ESA Release 2.1 Monitor MONWRITE records
VMACVMXA added several new variables, mostly for virtual disk in
Jun 23, 1993 storage statistics:
VXSYTSHS - QDGSYSLM,QDGUSRLM,QDGSYSCA,QDGLKCNT,QDGDISKS
(size, number, limits on VDISKs). Existing
variable VMSFORE converted to bytes and now
Formatted MGBYTES.
VXUSELOF - New variable VMDVDISK.
VXUSEACT - New variable VMDVDISK.
VXUSEATE - New variable VMDVDISK.
VXIODDEV - New variables VIUSTAMP, VIUSTATE.
(for I/O assist utilization calculations)
Variables now reserved (i.e., have zero value):
VXSTORSP - PLSTRMWT,PLSTRECT,PLSTEFCT,PLSTRDCT,PLSTDFCT,
PLSSYS1 ,PLSSYSE ,PLSSYSP1,PLSSYSPE
New data sets:
VXSTOSHL - 3.15 - NSS/DCSS/SSP Loaded into Storage
VXSTOSHD - 3.16 - NSS/DCSS/SSP Removed from Storage
VXSTOVDK - 3.17 - VDISK Information
Thanks IBM: both data and documentation were provided
for validation!
Change 11.111 VM/ESA dataset VXSYTCPM had incorrect values (DURATM=0,
VMACVMXA PCTCHBSY=wrong), or could ABEND with STOPOVER condition.
Jun 23, 1993 In _CSYTCPM, the ... THEN DO CHPID=0 TO CHPATH; must be
... TO CHPATH-1; Also, SKIP=SKIP-CHPATHLN; must be
replaced with IF SKIP GT 0 THEN INPUT +SKIP @;
Also, after M1=-1; insert SKIP=CHPATHLN-8;
Then in _DSYTCPM, CHPTSTMP+128*4294967296/1E6; must be
changed to CHPTSTMP+128*16777216/1E6 (because CHPTSTMP
is only 3-bytes. Before IF FIRST.BEGINMTR ..., insert
SAMECHAN=DIF(CHPID); DROP SAMECHAN; and add to the
IF FIRST.BEGINMTR OR ... a clauseOR SAMECHAN NE 0 .
Finally, after the END; of DO CHPID=0 TO CHPATH-1; and
before the final END; insert:
SPIN=MRHDRLEN-CALOFFST-CHPATH*CHPATHLN;
IF SKIP GT 0 THEN DO; INPUT +SKIP @; SKIP=0; END;
Thanks to Tom Healy, CHEMNET, USA.
Change 11.110 Support for SAP Releases 4.3.J & 5.0, which incompatibly
FORMATS changed the SAP CICS Journal segment in type 110 records.
IMACICSA Thirty-four new variables are created in the CICSSAP data
VMAC110 set and kept in VMAC110, and format $MGSAPTY was altered
Jun 22, 1993 because STCTASK now contains only a single character.
Note that variables STCIAPPL,STCIDEST,STCIDTYP,STCIMAND,
STCIMODP,and STCIPROG only have value if STC1CPIC='Y',
i.e., for CPIC Communication.
Thanks to Hr. Baehr, Helaba, GERMANY
Change 11.109 MXG 10.10 "Appended" IMS processing members JCLIMSLG and
JCLIMSLG TYPEIMSB were overlaid unexpectedly, and members IMSALOG,
TYPEIMSB IMSFPLOG,IMSTLOG,VIEWS,SUMTAB, and ASMIMSL3 were created
TYPESLRI unexpectedly when the MXG 10.10 tape was unloaded. These
Jun 22, 1993 eight members were supposed to be contained in new member
TYPESLRI as an unloaded IEBUPDTE PDS, but my error was to
fail to change the ./ IEBUPDTE syntax to xy, and thus the
8 members were created in your MXG.SOURCLIB. If you will
delete the last line in TYPEIMSB (a /* in col 1-2), and
ask us to fax you the MXG JCLIMSLG example (116 lines),
you can used the "Appended" IMS processing announced in
Change 10.142. Member TYPESLRI was described in Change
10.290, and now contains xy instead of ./ so that it will
not unload and overlay members again.
Thanks to Kenneth D. Jones, SHL SystemHouse, CANADA.
Change 11.108 DB2 variables CORRNAME and CORRNUM were not decoded for
IMACDB2 IMS connections with QWHCATYP=10. Now, the _DB2CORR IBM
Jun 22, 1993 macro tests for values of 5, 6, 9, or 10 for IMS.
Thanks to Alan Keeble, British Steel, ENGLAND.
Change 11.107 DB2 Trace IFCID=53 and IFCID=58 records can have no data
VMAC102 sections (QWHSNSDA=2 found for CLOSE CURSOR for example),
Jun 22, 1993 but this was not documented by IBM nor expected by MXG,
and those records with QWHSNSDA=2 were not output in
T102S053 or T102S058 data sets. Insert the ELSE OUTPUT
T102S05x; statements as shown:
Change To Read:
OUTPUT T102S053; OUTPUT T102S053;
END; END;
ELSE OUTPUT T102S053;
OUTPUT T102S058; OUTPUT T102S058;
END; END;
ELSE OUTPUT T102S058;
Thanks to John Morgan, Compuzorg B.V., NETHERLANDS.
Change 11.106 Support for DOS/VSE POWER 5.1 has been added. In datasets
TYPEDOS DOSJOBS and DOSREAD, variable TORMOT is now reserved, and
Jun 21, 1993 in DOSSNA variable INVLRESP is now reserved. DOS Network
Account field (8-bytes) was added to DOSLIST, DOSPUNCH,
DOSREAD, DOSXRC, and DOSPOOL, and records inserted or
deleted by OUTEXIT variables were also added in DOSPUNCH,
DOSLIST,DOSXRC, and DOSPOOL datasets. The Execution 'E'
record now documents offsets to either a PUTACCT user
extension or a "VSE/POWER extension area from ACDATE",
I have been unable to find the IBM documentation for that
area. The enhancement code has only been syntax checked.
Thanks to Jean-Claude Burger, Boehringer Ingelheim, FRANCE.
Change 11.105 Cosmetic. The list of members that use %VMXGFOR was out
VMXGFOR of data; now all 95 members are listed in the comments.
Jun 20, 1993
Thanks to Bob Butchco, The Genix Group, USA.
Change 11.104 "VARIABLE SACCT1 NOT FOUND" will result if you DROP all
IMACACCT of the SACCTn variables; BUILDPDB demands that at least
Jun 14, 1993 ACCOUNT1 and SACCT1 exist. You can set the length of
SACCT1 (and ACCOUNT1, if desired) to be one byte and
then DROP SACCT2-SACCT9 ACCOUNT2-ACCOUNT9 if you really
want to minimize the accounting variables that you keep.
Change 11.103 TYPEVVDS can have blank VVRSTGCL, VVRDATCL, or VVRMGTCL
VMACVVDS (Storage, Data, or Management Class) values, because the
Jun 14, 1993 test IF VVRLEN GE 148 ... should have been written as
IF VVRLEN GE 135 ...
Note, however, that there are legitimate TYPEVVDS records
that will still have blank values: Alternate Indexes do
not contain SMS classes, nor will datasets not under SMS!
Thanks to Scott Ashby, First Wachovia Operational Services, USA.
Change 11.102 MXG 11.01 only. Dataset TYPE73 has observations only for
VMAC73 MVS/ESA 4.3 or MVS/ESA 4.2 with APAR OY45991/PTF UY77343
Jun 11, 1993 installed. Change 11.015 was the culprit; VALIDPTH only
exists with the APAR or 4.3. Replace the single line:
IF VALIDPTH='Y' THEN DO;
with these lines:
IF (CFGCHGFL='....1...'B AND VALIDPTH='Y') OR
(CFGCHGFL='....0...'B AND (CHANIND GT 0 OR CHANINDX GT 0 OR
CHANINDY GT 0 OR PCHANBY GT 0 OR
SMF73PBY GT 0 OR SMF73PTI GT 0))
THEN DO;
Thanks to Rich Hawthorne, Nike, USA.
Change 11.101 The MXG Tape Mount Monitor is now the MXG Tape Mount and
ASMTAPES Allocation Monitor. The monitor now creates a subtype 4
EXTMNALO SMF record for each deallocation of a tape drive, with
IMACTMNT the start and end timestamps of how long that drive was
VMACTMNT allocated to that job, so that (finally!) the duration of
Jun 8, 1993 tape drive allocation can be measured, even if dynamic
allocation (eg. HSM, DB2MAST) or dynamic deallocation
(eg., FREE=CLOSE) is used. New MXG dataset TYPETALO is
now created by VMACTMNT (and also by BUILDPDB/3) for each
subtype 4 MXGTMNT record.
The ASM source code for the revised MXGTMNT program is in
ASMTAPES, and installation instructions are in comments;
except for Authorization, it installs exactly as the old
ASMTMNT. Yes, there is a price for this new priceless
data record: the new MXGTMNT load module must now always
be Authorized and stored in an Authorized Library, even
for testing to a flat file. Comments in ASMTAPES discuss
why Authorization is needed.
The allocation monitor was specified by Barry, but the
coding implementation was done for Merrill Consultants
by Bill Fairchild, Royal Software Associates. Chuck Hopf
did a lot of the early testing.
A minor enhancement was also made to the tape mount
monitor: the type of label (SL, NL, NSL, BLP) has been
added to the record and new variable LABEL is added to
TYPETMNT observations.
ORIGINAL TEXT OF CHANGE 11.101:
THIS MONITOR IS STILL IN ALPHA TESTING; IT CREATES VALID
RECORDS, BUT THEN ABENDS WITH AN 0C1, AND WE ARE STILL
DEBUGGING THE NEW MONITOR. DO NOT USE THIS NEW MONITOR!
Text revised Mar 24, 1994, after newsletter TWENTY-FIVE:
See Change 11.357.
Change 11.100 Line 051600 should be INPUT @109+OFFIMS instead of only
VMACCIMS INPUT @109; fortunately, OFFIMS is zero, so there was no
Jun 8, 1993 execution error.
Thanks to Vladimiro Vieno, Assicurazioni Generali, ITALY.
Change 11.099 MXG 11.01 only. A semicolon was missing after MTFLAG=0;
TYPEIMSA
Jun 8, 1993
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.098 The DD name //DASDCOLL in this JCL example should have
JCLDAYDS been //DATASETS, as expected by the (DAILYDSN) program.
Jun 8, 1993
Thanks to David Ehresman, University of Louisville, USA.
Change 11.097 Amdahl format MGAMDDT mapped values 7,8,9 to 6380M1,M2,M3
FORMATS but they should be 6390M1,M2,M3, and have been changed.
Jun 3, 1993
Thanks to Graham West, Amdahl, ENGLAND.
Change 11.096 MXG 11.01 only. Insert an @; immediately before the
VMACDCOL IF LENGTH GE 308 THEN ... statement.
Jun 3, 1993
Thanks to Gary Matney, Twentieth Century Investors, USA.
Change 11.095 Variable STARTIME was added to the KEEP= list for the
VMACTMVS datasets TMVSYSSW and TMVSIV.
Jun 2, 1993
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 11.094 Several MXG 11.01-only typographical errors:
ASUM70PR ASUM70PR variable LPCTGOV is LABELed twice; delete the
GRAFLPAR second occurrence.
VMXGPRAL GRAFLPAR line 041300 has a missing quote; it should read:
Jun 2, 1993 TITLE2 H=2 F=SWISS 'LPAR % CPU Utilization';
VMXGPRAL utility prints only the first dataset found, and
prints it once for each dataset in the library! These
changes are required, but they also make this utility
work only with SAS Version 6 or later:
Insert COMPRESS=NO after NOBS in the KEEP= list following
the OUT=CONTENTS.
Insert (COMPRESS=NO) after OUT=DATASETS and before NODUP
in the PROC SORT statement.
After DATA _NULL; insert POINT=&I;
Add POINT=POINT to the SET DATASETS statement.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.093 0C4 ABEND in SASXKERN occurs if you have the IBM supplied
JCLTEST6 blocksize exit IFGOEXOB installed. The //SMFOUT DD in
Jun 2, 1993 JCLTEST6 does not contain a DCB specification, so the
exit picks one, but it conflicts with the BLKSIZE=23440
in the FILE statement in the SMFSMALL program! Adding
DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=23440)
to the //SMFOUT DD avoids this possible abend.
Thanks to John Visser, Delta Motor Corporation, SOUTH AFRICA.
Change 11.092 Omegamon 2.60 Audit Record moved the 8-byte OMSUBSID name
VMACOMAU (specifically, the DB2 subsystem name) to the existing
Jun 1, 1993 reserved OMRSV4 field, but only the first four bytes are
used! Change OMRSV4 $CHAR8. to OMRSVR $CHAR4. +4
and then after the final @;, insert
IF OMSUBSID='0000000000000000'X THEN OMSUBSID=OMRSV4;
Thanks to Wayne Cope, Belk Stores, USA.
Change 11.091 Variable MESSAGE was not decoded in STOPX37 Release 3.5
VMACX37 (because it is not described in their DSECT), but it is
May 28, 1993 located, and @505+OFFSMF MESSAGE $CHAR140. should
be added to the INPUT for Release 3.5.
Thanks to Bob Guthier, Lucky Stores, USA.
Change 11.090 Although ASMVTOC/VMXGVTOF are strongly recommended rather
FMXGUCBL that this archaic FMXGUCBL, sites under MVS/ESA 4.2 will
May 28, 1993 encounter an 0C2 ABEND OUTSIDE THE SAS SYSTEM (because it
required to be Authorized). Rather than putting SAS in
an Authorized Library, the following changes will correct
FMXGUCBL so that it does not require authorization, in
case you are still using this Archaic member.
1. Locate label MVS42AAA DS 0H, and move this line to
after L R2,UCBADDR
2. Locate label MVS42AAB, and change these arguments of
the UCBSCAN macro: Change ADDRESS, to COPY, Replace
UCBPTR=UCBADDR, with UCBAREA=UCBCOPY, Remove NOPIN,
After all of the arguments to the UCBSCAN macro,
and before the L R15,UCBSCNRT, insert
LA R2,UCBCOPY
3. Locate UCBSCNRT DS F, and insert after that line
UCBCOPY DC XL48'00'
4. In the JCL, change C. to ASM. and L. to LKED. and
add a comma after the PARM.ASM field, and remove the
extraneous comma after the PARM.LKED field.
Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.
Change 11.089 In BUILDPDB, real purge records can go to PDB.NJEPURGE
VMAC26J2 instead of being recognized as real purge records. This
May 26, 1993 can cause jobs to be held in the SPIN library instead of
being output in PDB.JOBS, and when SPINCNT is exceeded
and these jobs are finally written to PDB.JOBS, they will
have ABEND='NOTP' (i.e. did not find a Purge record).
The error was created when IBM replaced PRPRTY with a new
field (SMF26IX2) in ESA 4.3, but when MXG decoded the new
variables DUPJBDLY and OFFLPURG, I failed to decode only
for 4.3+. Variable OFFLPURG is used in BUILDPDB logic to
recognize purge records created by JES2 SPOOL Transfer,
but if the PRPRTY happened to be 4-7 or 12-15, MXG set
OFFLPURG='Y' in VMAC26J2, and then in BUILDPDB that purge
record went to PDB.NJEPURGE! The MXG correction is
to only create DUPJBDLY/OFFLPURG if this is an
MVS/ESA 4.3 record (and, of course, JES2 does not put any
record level indicator in their record, so the only way
to recognize that this is a 4.3 record is to test for the
existence of the accounting triplet that was also added
by 4.3!). In VMAC26J2, add the IF ... DO; and END;
statements as shown:
IF NETFLAG='.......1'B THEN DO;
IF PRPRTY='1.......'B THEN DUPJBDLY='Y';
IF PRPRTY='.1......'B THEN OFFLPURG='Y';
END;
Thanks to Brenda Rabinowitz, Prudential-Bache Securities, USA.
Change 11.088 In line 4800, :"0. Check if the summary table already
TYPESLRI exists;" - the semicolon must be changed to a period, to
May 26, 1993 prevent a syntax error.
Thanks to Steen Pedersen, Danfoss. DENMARK.
Change 11.087 The calculation of LP0MGTTM=LP1UPDTM-LP1UEDTM should have
ASUM70PR obviously been LP0MGTTM=LP0UPDTM-LP0UEDTM, and the
May 24, 1993 variable LP0MGTTM needs to be added to the RETAIN list.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.086 Variables F20STRT and F20DURA are now FORMATted TIME12.2.
VMACILKA
May 24, 1993
Thanks to Gary Strohminger, AT&T Transtec, USA.
Change 11.085 DB2 Trace dataset T102S145 (Audit Trace) variables
VMAC102 QW0145SC and QW0145LL were not input under DB2 2.3 due to
May 24, 1993 incorrect INPUT logic. Insert an "@;" after the input
of QW0145HO $CHAR4. and insert an "INPUT" before QW0145SC
so the logic ends up looking like this:
IF QWHSRELN GE 2.3 THEN INPUT
QW0145HO $CHAR8. /*HOST OPTIONS*FOR SQL*/
@;
ELSE INPUT
QW0145HO $CHAR4. /*HOST*OPTIONS*/
@;
INPUT QW0145SC $CHAR4. /*SQL*RETURN*CODE*/
QW0145LL PIB2. /*SQL*STATEMENT*LENGTH*/
@;
Thanks to Wilson Kwong, National Australia Bank, AUSTRALIA.
=====Changes thru 11.084 were in MXG PreRelease 11.01, May 20, 1993=====
Change 11.084 ANALNPMR produced only the first report requested when
ANALNPMR PDB=SMF was specified; the same name was used for both
May 19, 1993 input and output, causing no data to be found for the
second and subsequent reports.
Thanks to Victor Chacon, NYNEX Mobil Communications Co., USA.
Change 11.083 Landmark CICS data under DOS/VSE was previously processed
TYPEMOND by MXG member TYPEMOND, but only for Landmark Version 7.
TYPEMONX That archaic member was copied to create TYPEMONX (just
May 19, 1993 in case someone still has Version 7 under DOS/VSE), and
TYPEMOND was completely revised to (hopefully) support
Landmark Versions 8, 9, and 1.0 under DOS/VSE. However,
no test data nor hex dump of a Version 8 record from DOS
was available, so this support has only been syntaxed.
Change 11.082 CICS/ESA journal data produced by the SAP product was not
VMAC110 coded exactly the same as CICS/non-ESA, although the end
May 19, 1993 results were the same. Now, the code segment for both
CICS/ESA and CICS/non-ESA uses the same logic.
Thanks to Isabelle Mejane, SAS Institute, FRANCE.
Change 11.081 DIVIDE BY ZERO error occurs if GEICPUOL is zero. Replace
VMACZRB PCTCPUBY=100*(INTERVAL-(CPUWAIT/GEICPUOL))/INTERVAL;
May 19, 1993 with
IF GEICPUOL GT 0 THEN
PCTCPUBY=100*(INTERVAL-(CPUWAIT/GEICPUOL))/INTERVAL;
ELSE PCTCPUBY=.;
Thanks to Marcel Frechette, Montreal Trust Technology, CANADA
Change 11.080 STARTIME and CPUTCBTM in all CICS/ESA Statistics datasets
VMAC110 (eg., CICINTRV, CICEODRV, CICDS, etc.) are wrong. This
May 19, 1993 error did NOT affect the CICSTRAN dataset.
a.The STARTIME was set to COLLTIME, which is the END of
interval and not the START. Find these lines
COLLTIME=DHMS(SMFSTDAT,CLTHH,CLTMM,CLTSS);
STARTIME=COLLTIME;
IF 0 LE DURHH LE 24 AND 0 LE DURMM LE 59 AND
0 LE DURSS LE 59 AND
SMFSTRQT='INT' THEN DURATM=HMS(DURHH,DURMM,DURSS);
and change them to read:
COLLTIME=DHMS(SMFSTDAT,CLTHH,CLTMM,CLTSS);
IF 0 LE DURHH LE 24 AND 0 LE DURMM LE 59 AND
0 LE DURSS LE 59 AND
SMFSTRQT='INT' THEN DURATM=HMS(DURHH,DURMM,DURSS);
STARTIME=COLLTIME-SUM(0,DURATM);
b.The CPUTCBTM was correct in CICS 3.1.1, because DSGTCT
did contain total TCB time for each TCB, but beginning in
CICS 3.2, IBM reused field name DSGTCT for the DS-Only
TCB time and put the Total TCB time in new variable
DSGACT, but I failed to change the CPUTCBTM equation.
Find the line:
CPUTCBTM=SUM(DSGTCT,DS2TCT,DS3TCT,DS4TCT);
and replace that equation with:
CPUTCBTM=SUM(DSGACT,DS2ACT,DS3ACT,DS4ACT);
c.Also variables DSnTCBFm are now formatted $HEX2., and the
test for DSGNTCB GE 3 was changed to DSGNTCB GE 4, since
CICS 3.3 can have four TCBs.
Thanks to Scott Pearson, King County Medical Blue Shield, USA.
Change 11.079 SAS 6.08 Usage Note 6719 discusses a SAS error in %MACRO
GRAFLPAR compiler which causes GRAFLPAR to fail with an "OUT OF
May 19, 1993 MEMORY" condition (which is NOT the error!). Apparently,
GRAFLPAR broke an internal limit on characters passed as
%MACRO arguments (and blanks at the end of argument lines
are being counted!). We have been able to circumvent the
ABEND by reducing the number of characterspassed by MXG
by reducing four lines of code with two. In three places
find the four lines beginning with
lparnum=lparnum+1;
and move the 2nd and 4th lines to the end of 1st and 3rd!
SAS Institute is still working on a ZAP; the above Usage
Note will be updated when a ZAP exists.
Thanks to Chuck Hopf, Primerica, USA.
Change 11.078 New HSM dataset HSMFSRBO contains both tape and disk data
DIFFHSM set statistics, with several new variables, based on this
EXHSMFSB user contribution. Additionally, VSRTOTKB is now input
IMACHSM as PIB4. instead of PIB2. This change altered IMACHSM,
VMACHSM if you have tailored IMACHSM in your USERID.SOURCLIB, you
May 19, 1993 must retrofit your changes using this new IMACHSM.
Thanks to Neil Campbell, Inland Revenue, ENGLAND.
Change 11.077 The HSMVSRFU dataset previously was OUTPUT only if two of
EXHSMVSF the data variables were non-zero, but now these variables
May 18, 1993 are tested for the OUTPUT DO group:
IF VSRNTRKR GT 0 OR VSRNTRKW GT 0 OR VSRNDSV GT 0 OR VSRNBYTR GT 0
OR VSRNBYTW GT 0 OR VSRNDSF GT 0 OR VSRNVOL GT 0 OR VSRNSYS GT 0
OR VSRTAGE GT 0 OR VSRTTINQ GT 0 OR VSRTTINP GT 0 OR VSRTTWV GT 0
OR VSRTCPU GT 0 THEN DO;
Thanks to Neil Campbell, Inland Revenue, ENGLAND.
Change 11.076 Lines 001100 thru 001700, the OUT= data set name DCOLMIGS
DAILYDSN was repeated, but it should be the same data set name as
May 18, 1993 the DATA= parameter on the same line.
Thanks to Ian Jones, The Equitable Life Assurance Society, ENGLAND.
Change 11.075 Lines 006300 and 006600 both contain DATA=TYPEVVDS, but
ANALVVDS that should have been DATA=_LTYVVDS in both lines, to be
May 18, 1993 consistent with the new _L macro naming conventions.
Thanks to Ian Jones, The Equitable Life Assurance Society, ENGLAND.
Change 11.074 The new member CHANGESS now contains ALL changes from ALL
ChangeSS MXG Versions, which should make online browse a little
May 15, 1993 easier. Current Changes are still in member CHANGES.
Change 11.073 Boole's IMF MSC Arrival Time was mis-documented. The
VMACCIMS three lines reading:
May 15, 1993
@216+OFFIMS TH PK1.
@;
SEC=SEC+(TH/100);
must be changed to read:
@216+OFFIMS TH ?? PD1.
@;
SEC=SEC+(TH/10);
Thanks to Silvio Orsini, Banca d'Italia, ITALY.
Thanks to Vladimiro Viseno, Assicurazioni Generali, ITALY.
Change 11.072 The code to set MULTRANS='Y' set NMSGPROC=1 only for the
TYPEIMSA first transaction in the group. The code was relocated
May 15, 1993 and a retained flag used to correctly reset NMSGPROC.
Thanks to Lonnie T. Rimmer, Philip Morris, USA.
Change 11.071 Candle's ITRF (a part of Omegamon/IMS Version 110) data
VMACITRF records EVENTIME was incorrect.
May 15, 1993
Change 11.070 STOPX37 Release 3.5 data records do not agree with the
VMACX37 DSECTS provided by EMPACT. Undocumented bytes caused
May 15, 1993 INVALID value for JINITIME. Many lines were changed.
Thanks to Dave Redinger, General Electric Plastics, USA.
Change 11.069 Continued enhancement of RMF look-a-like reports from MXG
ANALRMFR corrected several syntax errors and added additional
FORMATS reports, and formerly temporary formats are now built by
May 19, 1993 new PICTUREs in member FORMATS.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
=Changes thru Change 11.068 were included in MXG Early Prerelease 11.01=
===================that was dated May 15, 1993==========================
Change 11.068 Support for Corporate TIE user SMF record creates six new
EXTYTIE1- MXG datasets, reporting file transfer activity between
EXTYTIE6 PCs and Mainframes with this product:
IMACTIE TYPETIE1 - TIE Initialization/Termination
TYPETIE TYPETIE2 - TIE Logon/Logoff
VMACTIE TYPETIE3 - TIE Virtual Disk OPEN/CLOSE/MOUNT/DISMOUNT
May 11, 1993 TYPETIE4 - TIE File Transfer Send/Receive Start/End
TYPETIE5 - TIE QIMPORT/QEXPORT Start/End
TYPETIE6 - TIE VDIMPORT/VDEXPORT Start/End
Thanks to K. M. Torsvik, Postverkets Datasentral, NORWAY.
Change 11.067 This "split" architecture for BUILDPDB/BUILDPD3 has been
BUILD002 further enhanced. By splitting BUILDPDB into separate
BUILD004 pieces, parallel steps could be used to reduce elapsed
BUIL3001 run time, or some pieces could be skipped, etc. This is
BUIL3005 still in testing and the design may still change.
BUILD006 The CICS sorting that was in BUILD002 was moved to
May 11, 1993 BUILD004, the colon in BUILD003 was changed to semicolon,
new JES3 members BUIL3001 and BUIL3005 were created, and
BUILD006 was deleted. The revised architecture:
To replace BUILDPDB (for JES2):
BUILD001 - Reads SMF and creates all WORK data sets,
CICSTRAN.CICSTRAN, DB2ACCT.DB2ACCT and the
PDB.DB2STATn data sets.
BUILD002 - SORT some WORK datasets into PDB library.
BUILD003 - SORT RMF datasets into PDB and then build
PDB.RMFINTRV dataset.
BUILD004 - Combine CICS Statistics datasets and create
four PDB.CICxxxRV datasets.
BUILD005 - Sort TYPE30xx, TYPE6, TYPE26J2, interleave
with SPIN library, create PDB.JOBS,PDB.STEPS
PDB.JOBS, update SPIN library, copy SPIN
datasets into PDB (for backup), and create
PDB.SPUNJOBS.
To replace BUILDPD3 (for JES3):
BUIL3001 - Same function as BUILD001, for JES3.
BUILD002 - Same as JES2
BUILD003 - Same as JES2
BUILD004 - Same as JES2
BUIL3005 - Same function as BUILD005, for JES3, plus
sorts TYPE25 dataset.
One immediate use of this "split" architecture is for
VM/370 sites running BUILDPDB that do not have CICS data;
the virtual size of BUILDPDB can be reduced by removing
CICS processing. You need only to create a VMAC110 in
your USERID.SOURCLIB member with this line:
MACRO _VAR110 % MACRO _CDE110 %
and then instead of %INCLUDE SOURCLIB(BUILDPDB) use
%INCLUDE SOURCLIB(BUILD001,BUILD002,BUILD003,BUILD005);
It is also possible to remove DB2 processing, but as only
three datasets are created, the saving is much less. To
remove DB2, you would create a VMACDB2 in USERID.SOURCLIB
MACRO _VARDB2 % MACRO _CDEDB2 %
and also create a member DIFFDB2 with a blank line. Then
the preceding %INCLUDE would produce the minimum virtual
storage size by eliminating both DB2 and CICS processing.
Under MVS, the SMF processing (BUILD001) needed virtual
MEMSIZE of 17301K. With no CICS only 11397K was required,
and with neither CICS nor DB2 only 9973K was required.
Thanks to Neil Campbell, Inland Revenue, ENGLAND.
Change 11.066 Variables RDMT, RDTBK1-RDTBK4, and RNVSOV were not in the
VMACDMON KEEP= list, but have now been added for ASTEC datasets
May 11, 1993 DMONVOL, DMONJOBS, and DMONDSN. RDMT was formatted.
Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.
Change 11.065 OPC/A data records may be lost; line 836, which reads:
VMACOPC IF _OPCVER AND MTDTYPE EQ 9 THEN INPUT +2 @;
May 11, 1993 should be deleted. See also later Change 11.122.
Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.
Change 11.064 Migrated datasets with ORGEXPDT=9999999 were not expected
VMACDCOL in MXG's calculation of EXPDT='01JAN2099' for never
May 11, 1993 expiring datasets, but now that test is included.
Thanks to Alan M. Sherkow, I/S Management Strategies Ltd., USA.
Change 11.063 DB2 format MGDB2TY did not decode the '0A'X value. Also,
FORMATS values of zero for QWHCATYP occur in data records, but
May 10, 1993 are not documented by IBM; since all 0 occurrences have a
value of UTILITY for both QMDACNAM and QWHCCN, I assumed
that value, and added two lines to the format:
0='0:UTILITY'
0AX='AX:IMS TRANSACTION BMP'
Thanks to Rod Brady, Zurich Insurance, ENGLAND.
Change 11.062 CONFIGVM is a configuration file for MXG under CMS SAS.
CONFIGVM It is a modification to the CONFIG07/CONFIG08 MVS options
May 10, 1993 and has been found to support execution of BUILDPDB in a
32MB virtual machine.
Thanks to Tom Maynard, Nalco Chemical Company, USA.
Change 11.061 Candle's IMS Transaction Reporting Facility has now been
VMACITRF validated with data, and some revisions were required.
May 10, 1993 Five data sets are created:
ITRFMSG - One observation for each IMS transaction;
a transaction is defined by ITRF as a
message received and response sent, or a
program scheduled, processed, and ended.
ITRFMSGO - One observation for each message sent to an
alternate TP PCB by another transaction.
ITRFDATA - One observation for each database call (DLI
or FP)
ITRFSUM - One observation per database called per
transaction.
ITRFDB2 - One summary record per DB2 transaction.
Note that variables QWACNID and QWHCCV are
created in ITRFDB2 so that you can match the
IMS transaction in ITRFDB2 with its DB2ACCT
counterpart transaction.
Change 11.060 For jobs that initiate instantaneously in a multi-system
VMAC30 environment in which system clocks are not synchronized,
May 10, 1993 elapsed duration variables JELAPSTM,SELAPSTM,DSENQTM,
ALOCTM,EXECTM may be wrong (large positive or negative),
and the date of INITTIME,ALOCTIME,LOADTIME,JINITIME may
be one day later than reality! Change 10.213 (MXG 10.3+)
attempted to detect and circumvent an un-fixed IBM APAR,
(an obscure problem after an A78 ABEND), but my cure was
worse than the disease if REND (reader end time) is later
than INITTIME. The correction is to remove Change 10.213:
Find "10.213" and remove the four lines of that DO group.
(For reports with JELAPSTM from PDBs already built, you
can recalculate JELAPSTM=JENDTIME-JSTRTIME;)
Thanks to Shaheen Pervaiz, Trans Union Corporation, USA.
Change 11.059 Support for ZARA, The Tape Media Manager from Altai. This
EXZARDSN product is a replacement for CA-1 (TMS), and this support
EXZARVOL (originally written by Miller Dixon) processes their tape
IMACZARA catalog records to create two MXG datasets useful for the
TYPEZARA chargeback of tape data sets and for capacity planning of
VMACZARA tape volumes:
May 7, 1993 ZARADSN - One obs per dataset on tape, with attributes,
TAPEFEET (estimated), and volume account code
from the corresponding VOL record.
ZARAVOL - One obs per tape volume, with summed TAPEFEET
for all NRDSETS on the volume, and with the
maximum EXPDATE, CRDATE, and last use date of
any data set on this volume.
Member TYPEZARA has example JCL for the ZARA utility that
is executed to create the data records processed by this
support.
Thanks to Miller Dixon, Continuum, USA.
Change 11.058 The MULTIDD='Y' flag was not set before the IMAC30DD exit
VMAC30 was taken, causing MULTIDD to always be blank in dataset
May 7, 1993 TYPE30_D (also PDB.DDSTATS). The block of code which set
MULTIDD was moved to immediately before the IF OFFEXCP...
block of code.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 11.057 DCOLLECT SMSDATA (SMS constructs) records cause STOPOVER.
VMACDCOL As indicated in Change 10.309, no test data was available
May 6, 1993 for these new records. Now that I have test data records
I have corrected for my errors (as well as some of IBM's
mis-documentation) and believe the support is now valid
for seven subtypes (DC,SC,MC,BC,SG,VL,AG). The two OAM
subtypes (DR,LB) apply only for optical drives and were
not available for testing, but should also be valid now.
Thanks to Chris Coldiron, Depository Trust Company, USA.
Change 11.056 Support for SYNCSORT Release 3.5 added 27 new variables,
VMACSYNC including expanded storage usage by the sort, and EXCP
May 6, 1993 counts were relocated to the end of the record.
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Change 11.055 This "PRINT ALL" utility still used POINT= statement, but
VMXGPRAL that fails with indexed datasets in Version 6, so the
May 6, 1993 logic was rewritten to not use POINT=syntax, just in case
you wanted to print an indexed dataset.
Change 11.054 TYPE80A can still fail with INPUT STATEMENT EXCEEDED.
VMAC80A Change 11.017 fixed only one case, but each INPUT with
Apr 30, 1993 "$VARYINGzz. yyyyyyy" syntax must be protected in case
yyyyyyy is greater than zz. (The zz value defines the
length of the variable; IBM docs many of the RACF fields
as 1-255, but MXG, in trying to minimize the stored size
of the TYPE80A dataset, picked more reasonable zz values.
For those fields that exceed the MXG zz choice, an error
occurs). The solution is to insert these two lines:
SKIP=yyyyyyyy-zz;
IF SKIP GT 0 THEN INPUT +SKIP @;
after the @; at the end of each INPUT statement that uses
the $VARYING informat. In addition to this protection,
all of the fields with $VARYING44. or $VARYING32. were
changed to $VARYING64. to minimize data loss in those
cases in which data length was more than MXG's default.
Thanks to Joe Faska, Depository Trust, USA
Change 11.053 NOTE: INVALID NUMERIC DATA, 'AVERAGE*ACTIVE-ONLY...'
VMACVMXA occurs because at line 094370 there is a semi-colon after
Apr 28, 1993 the label for variable AVGCONMS, but that is not the last
variable in the label statement. Remove the extra ';'.
Thanks to Peter Smith, Sema Group FM, ENGLAND.
Change 11.052 Specifying an undefined INTERVAL= value did not warn you
VMXGDUR that MXG did not recognize your request, and fell thru.
Apr 28, 1993 Now, a warning message is printed.
Thanks to Ed Lau, Lucky Stores, USA.
Change 11.051 The text of Change 11.001 was revised (the 8-lines to be
VMAC37 replaced was not exact, but there was no error in the 12
Apr 28, 1993 replacement lines). Additionally, the INPUT of OFFDETT
must be PIB4. instead of PIB2.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Thanks to Irmgard Polifka, SAS Institute, GERMANY.
Change 11.050 DB2ACCT variable NETSNAME was incorrectly padded with
VMACDB2H blanks, and did not match CICSTRAN variable NETSNAME,
Apr 28, 1993 which is padded with nulls. This prevented merging DB2
and CICS transactions. Find "SUBSTR(NETSNAME...", and
insert just before that line this statement:
NETSNAME='0000000000000000000000000000000000000000'X;
(that's 20 bytes or forty zeros). Then, thirteen lines
later, replace ELSE IF 1 THEN DO;
with ELSE IF LOCBLANK EQ 1 THEN DO;
Now, variables NETSNAME and UOWTIME can be used to match
DB2ACCT observations with their CICSTRAN counterparts.
Thanks to Ron Thein, Mortgage Guaranty Insurance Corp., USA.
Change 11.049 Support for HMF, Host Monitoring Facility Product for
EXTYHMF0-9 Channel-Extension Hardware Monitoring. HMF creates SMF
IMACHMF records with 11 subtypes; this code supports subtypes 0
TYPEHMF and 6 thru 10. This is from Network Systems, known as
VMACHMF DXE's and sometimes called HyperChannel
Apr 27, 1993
Thanks to Bob Hursch, Lockheed Information Technology, USA.
Change 11.048 "ERROR 455-185 dataset TYPE30OM not specified" because
ANALDSET the override for that new dataset was not added to this
Apr 27, 1993 analysis member. Add after the last /* OVERRIDE ...
XY ADD NAME=EXTY30OM
/* OVERRIDE AND OUTPUT NO TYPE30OM RECORDS */
Thanks to Matt Klett, Kohler Company, USA.
Change 11.047 VM/ESA "UNEXPECTED/INVALID CONTROL RECORD" message occurs
VMACVMXA and no observations are created, because MXG's validity
Apr 27, 1993 check tested four bytes for 00008709x, but the first two
bytes may now be non zero. Change the test:
IF IPARMLF1 NE 00008709X THEN DO;
to read:
IF MOD(IPARMLF1,10000x) NE 8709X THEN DO;
Thanks to Walter H. Clark, C.U. Insurance, USA
Change 11.046 Variable SYSTEM was specified twice in the KEEP= list of
VMACTMVS datasets TMVSIV, TMVSJI and TMVSNQ. This caused a SAS
Apr 27, 1993 warning message, but no real impact.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 11.045 Variable ASISDCDY should have been spelled ASISDCDV in
ZRBRPT1 members ZRBRPT1 and ZRBRPT2.
ZRBRPT2
Apr 27, 1993
Thanks to Marcel Frechette, Montreal Trust Technology, CANADA.
Change 11.044 Variable QTXANPL exists only in DB2ACCT, and should not
ADOCDB2 have been in the KEEP= list for DB2STAT1. It caused no
DIFFDB2 error, only confusion because it was missing in DB2STAT1.
VMACDB2 It was removed from KEEP= list, and from documentation.
Apr 27, 1993
Thanks to Ellen Ulrich, Texas Instruments, USA.
Change 11.043 DB2 PMSTA02 report count of SUSPENDS was usually zero,
ANALDB2R because not all suspend-count-variables were included.
Apr 27, 1993 Insert after line 138120 (reads 120 'QUANTITY';) this
statement: SUSPENDS=SUM(QTXASLOC,QTXASLAT,QTXASOTH);
and then change line 138180 from QTXASUS to SUSPENDS.
Thanks to Ed Lau, Lucky Stores, USA.
Change 11.042 DB2 PMACC02 report count of OPENs was actually the count
ANALDB2R of fetches (from the preceding line), because the 2nd
Apr 27, 1993 occurrence of AVG=QXFETCH /NUMPLANS; should have been
The second occurrence of AVG=QXFETCH /NUMPLANS should be
AVG=QXCLOSE /NUMPLANS; (in line 035330).
Change 11.041 ASUM70PR can corrupt PDB.RMFINTRV if you have a changed
ASUM70PR member IMACRMFI, because IMACRMFI only set the interval
TRND70PR for PDB.RMFINTRV. With this change, the interval of both
Apr 28, 1993 PDB.ASUM70PR and PDB.RMFINTRV are both set by IMACRMFI.
Insert after the comments at the beginning of the member
%INCLUDE SOURCLIB(IMACRMFI);
and after the ID = line, insert these two lines:
INTERVAL=MYTIME,
MYTIME = _DURSET,
which causes both datasets to have the same interval.
Variable NRPRCS was deleted from ASUM70PR (and also from
TRND70PR); it never should have been kept and its value
has caused confusion. ASUM70PR was revised to detect and
flag intervals during which the number of LPARs was
changed (DURATM and PCTCPUBY could have been incorrect)
wrong), and most importantly, these new variables were
added to ASUM70PR for enhanced reporting:
LPARCHG - 'Y' if something changed in any LPAR
LPnCHG - 'Y' if something changed in LPAR n.
LPnDUR - LPAR n's "Up time" or "Availability time to
execute CPU", the sum of DURATM across all
LCPUs in LPAR n. This is the total seconds
during which this LPAR could have been
CPU dispatched. If an LPAR was IPLed as
a 3-engine MVS machine, in one hour it
would have 3 hours of "Up Time".
LPCTnBY - Percent "Logically" Busy in LPAR n, equal
to 100*LPnUPDTM/LPnDUR, the Partition CPU
Dispatch divided by the LPAR's "Up Time".
If a 3-engine LPAR was dispatched for 56
minutes, it's LPCTnBY would be 31%. This
new variable describes how much the LPAR
was logically busy; the existing variable
PCTL1BY describes how much the LPAR was
physically busy. If this same 3-engine
LPAR was executing on a 5-engine machine,
it's PCTL1BY would be 18%, because that
LPAR was using 18% of the hardware while it
used 31% of the CPU time available to this
LPAR. See the example below.
LPCTnOV - Percent "Logically" Busy in "LPAR Overhead"
100*LPnMGTTM/LPnDUR, to describe how much
of the new LPCTnBY was in LPAR management
of this LPAR.
See also the MVS Technical Note III.7, Newsletter TWENTY-FOUR.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.040 Error "DATASET TAPEMNTS NOT SORTED" in WEEKBLD/MONTHBLD
WEEKBLD results because the BY list for TAPEMNTS should have been
MONTHBLD BY SYSTEM DEVICE SHIFT TMNTMTYP TMNTTIME; instead of
Apr 27, 1993 BY SYSTEM SHIFT DEVICE TMNTMTYP TMNTTIME;
Thanks to David Ehresman, University of Louisville, USA.
Change 11.039 Variables RDRTM,RDRDEVCL,RDRDEVTY were dropped from the
VMAC30 TYPE30_V and PDB.SMFINTRV datasets (because they are JOB
Apr 27, 1993 related, not interval related), but the deletion was not
noted in the Change log for MXG 10.10.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 11.038 Variable QTXAIRLM was inadvertently omitted from the
ASUMDB2A SUM= list in the ASUMDB2A (DB2ACCT summarization) and the
TRNDDB2A TRNDDB2A (DB2ACCT trending) members. It is now added, and
Apr 15, 1993 the SUM= list was sorted & collimated for easier reading.
Thanks to Alan Keeble, British Steel, ENGLAND.
Change 11.037 The Total Read IOs was miscalculated on the Statistics
ANALDB2R Summary Report. It was actually the total Sync Reads but
Apr 13, 1993 should have been the sum of Sync and Prefetch Reads. Also
the calculation of Get Pages per Sync IO was omitted.
Find these five lines:
PUT @1 'TOTAL READ I/O OPERATIONS (RIO)'
@38 QB1TRIO 10.0
@49 QB2TRIO 10.0
@60 QB3TRIO 10.0
@71 QB4TRIO 10.0;
And replace them with these twenty-two lines:
QB1TOTL=SUM(QB1TRIO,QB1TPIO);
QB2TOTL=SUM(QB2TRIO,QB2TPIO);
QB3TOTL=SUM(QB3TRIO,QB3TPIO);
QB4TOTL=SUM(QB4TRIO,QB4TPIO);
IF QB1TRIO GT 0 THEN QB1PSYNC=QB1TGET/QB1TRIO;
ELSE QB1PSYNC=0;
IF QB2TRIO GT 0 THEN QB2PSYNC=QB2TGET/QB2TRIO;
ELSE QB2PSYNC=0;
IF QB3TRIO GT 0 THEN QB3PSYNC=QB3TGET/QB3TRIO;
ELSE QB3PSYNC=0;
IF QB4TRIO GT 0 THEN QB4PSYNC=QB4TGET/QB4TRIO;
ELSE QB4PSYNC=0;
PUT @1 'TOTAL READ I/O OPERATIONS (RIO)'
@38 QB1TOTL 10.0
@49 QB2TOTL 10.0
@60 QB3TOTL 10.0
@71 QB4TOTL 10.0;
PUT @1 'GETPAGE PER SYNC READ IO '
@38 QB1PSYNC 10.2
@49 QB2PSYNC 10.2
@60 QB3PSYNC 10.2
@71 QB4PSYNC 10.2;
Thanks to Victor Chacon, NYNEX, USA.
Change 11.036 Variables QWACARNL and QWACARNE count entries and exits,
ANALDB2R but DB2PM reports the number of suspensions, which is
Apr 13, 1993 one half of the data values. Thus, insert after 038520
QWACARNL=QWACARNL/2; and insert after 038620
QWACARNE=QWACARNE/2;
Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.
Change 11.035 This MXG utility to actually measure TSO response time at
CLTIMER your terminal was affected by SAS Version 6. A "STOP;"
Apr 13, 1993 statement must be added after the last "END;" statement.
Additionally, LS=80 was added to the OPTIONS statement,
also "'FOR TRANSACTION ' _I_" was added to the PUT for
cosmetic effect, and the sample CLIST in comments was
revised to use Version 6 DDnames SASLOG and SASPRINT.
If you have overlooked this utility, take a look now. It
should be made available to all TSO users so they can see
their own response time at their terminal to prove how
good real TSO response is (or isn't!).
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 11.034 "INVALID DATA FOR TAOSTYP" messages result because the
VMACTAO variable TAOSTYP should have been input at PIB1. instead
Apr 13, 1993 of HEX1.
Thanks to Jeff Burnett, Anixter Information Services, USA.
Change 11.033 Variable ACTDLYTM can have small negative (-.0010) values
VMAC30 because EXECTM is .01 resolution but ACTIVETM has .000001
Apr 13, 1993 resolution. After both calculations of ACTDLYTM, insert
IF . LT ACTDLYTM LT 0 THEN ACTDLYTM=0;
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.032 Two new variables, TRANTIME and TRANCOST may exist at the
VMACMEMO end of the accounting segment, after EXITAREA, and are
Apr 13, 1993 now added to the KEEP= list and LABELed:
IF MEMOACTL GE 84 THEN INPUT
TRANTIME PIB4. /*transmission*duration*/
TRANCOST PIB4. /*transmission*cost*/
@;
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Change 11.031 TYPE37 LAND segment has 2 fields after BRFDNADR that were
VMAC37 not documented in NETVIEW Admin Reference Manual but are
Apr 13, 1993 in IFASMFR macro and are now INPUT by MXG:
BRFSMADR $CHAR6. /*single mac address*/
BRFSMNAM $CHAR16. /*single mac name*/
Additionally, several variables are now formatted:
BRFALTID $HEX8.
BRFDNADR BRFSMADR BRFLMADR BRFRMADR BRFUPADR $HEX12.
Thanks to Wanda Prather, Johns Hopkins Applied Physics Lab, USA.
Change 11.030 Variable DSIVTOC in the KEEP= list was misspelled, and it
VMXGVTOF should be changed to DS4IVTOC.
Apr 13, 1993
Thanks to Pino Todesco, Western Australia Police, AUSTRALIA.
Change 11.029 NSPYACCT variable SNITIME is incorrect because DSNIMM was
VMACNSPY used for both the month and the minutes. Change DSNIMM to
Apr 13, 1993 DSNIMO in the INPUT for month, in the IF statement and in
the MDY function calculating SNITIME.
Thanks to Aubrey Tang, Government Insurance Office, AUSTRALIA
Change 11.028 TCP/IP address variables FPTLCLAD,FTPRMTAD,TELLCLAD and
VMACTCP TELRMTAD are four-byte character fields, which display
Apr 12, 1993 as $HEX8: "8681800C"x for example. However, TCP/IP users
expect these to be displayed as decimal values separated
by periods: 134.129.128.12 for the above value. Four new
address variables FTPLOCAL,FTPREMOT,TELLOCAL,TELREMOT are
now created with the expected format, using this logic:
INFORMAT FTPLOCAL $15.;
FTPLOCAL=PUT(INPUT(SUBSTR(FTPLCLAD,1,1),PIB1.),3.)
!!'.'!!
PUT(INPUT(SUBSTR(FTPLCLAD,2,1),PIB1.),3.)
!!'.'!!
PUT(INPUT(SUBSTR(FTPLCLAD,3,1),PIB1.),3.)
!!'.'!!
PUT(INPUT(SUBSTR(FTPLCLAD,4,1),PIB1.),3.);
Thanks to Sharon Jacobson, North Dakota Higher Education, USA.
Change 11.027 Variable LP0MGTTM was left out of the RETAIN list. Since
ASUM70PR LPAR=0 is only used by Amdahl's MDF, only those sites
Apr 6, 1993 need add LP0MGTTM to the RETAIN statement.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.026 The test IF OFFPRCS+LENPRCS*NRPRCS GT LENGTH+1 THEN DO;
VMAC7072 should be NRPRCSS vice NRPRCS, but as this is insurance
Apr 6, 1993 for a bad record, there's no real impact.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.025 You can create the PDB on tape with BUILDPDB, but it is
PDB to tape not normally recommended because it takes too long due to
Apr 6, 1993 rewinds (after the PDB.TYPE70s are written, they are read
back in to create RMFINTRV). It is much more efficient to
point the PDB DDname to a temporary DASD file, create the
PDB, and then use a PROC COPY IN=PDB OUT=PDBTAPE; to build
your PDB on tape. If you simply do not have enough temp
DASD for the PDB library, you can write the PDB directly
to tape, but you will need to tailor members IMACCICS,
IMACDB2, and EXPDBOUT. The instructions for tailoring
IMACCICS are contained in comments in that member. In
member IMACDB2, you must remove the "PDB." qualifier for
the DB2 datasets in the "_L" macro definitions, and then
in member EXPDBOUT you must add PROC COPY IN=WORK OUT=PDB;
SELECT DB2: ; if you want the DB2 datasets in your PDB
library.
Change 11.024 RMF-like reporting failed if PDB=SMF was specified, but
ANALRMFR works if PDB=PDB is used. This correction is extensive,
Apr 6, 1993 and a replacement member is available upon request. Also,
LET REQUEST should have been %LET REQUEST.
Change 11.023 Omegamon V550 creates invalid type 110 record, which MXG
VMAC110 detects and deletes, with a VMAC110.ERROR.1 message (with
SECTLLBB=0, TEMPLEN non zero, and LENGTH=32400) on the SAS
Apr 5, 1993 log. Candle's fix QOC0451 was the original fix for their
Aug 30, 1993 error, but in August fix QOC0534 superceded QOC0451.
This noted added June 20, 1994: Same error has occurred
with LENGTH=32320 instead of 32400, same fix.
Thanks to Khin Zaw, Nordstrom, USA.
Thanks to Andrew Lockyer, South Wales Electricity Board, WALES.
Change 11.022 If you have some MVS systems under PR/SM and some not and
ASUM70PR if you invoke ASUM70PR after BUILDPDB, your PDB.RMFINTRV
Apr 5, 1993 dataset may have missing data for some systems, because a
BY statement was missing. Change 10.335 added logic to
re-write PDB.RMFINTRV and add PLATBUSY/PLATCPUS variables
from ASUM70PR dataset, but the BY statement for the MERGE
was left out. If all systems are under PR/SM, then there
will be equal observations in ASUM70PR and PDB.RMFINTRV,
and the BY statement is not required, but if only some of
your systems are PR/SM, RMFINTRV is corrupted. To correct,
you must insert BY SYSTEM STARTIME; after the statement
MERGE TEMPINTV (IN=RMF) PLATBUSY (IN=INPRSM);
Thanks to Steve Clausing, Employers Health, USA.
Change 11.021 The new TYPE42DS (SMS data set statistics, subtype 6) has
FORMATS GMT values in SMF42PTE and SMF42PTS in the INTERVAL record
VMAC42 but MXG expected local values (as are in CLOSE record).
Apr 4, 1993 Correct by inserting these lines after the "@;" that
follows the input of variable LENJDIOL:
IF INTVCLOS=1 THEN DO; /* INTERVAL RECORD */
GMTOFF42=100*FLOOR((SMFTIME-SMF42PTE)/100);
SMF42PTE=SMF42PTE+GMTOFF42;
SMF42PTS=SMF42PTS+GMTOFF42;
END;
STARTIME=SMF42PTS;
ENDTIME =SMF42PTE;
DURATM =SMF42PTE-SMF42PTS;
Unrelatedly, the values for S42DSTYP are now decoded by
new format MG042DS., which has these values:
0='0:OTHER' 16='16:KSDS DATA'
1='1:PS' 17='17:KSDS INDEX'
2='2:PDS' 18='18:VARIABLE RRDS DATA'
3='3:PDSE' 19='19:VARIABLE RRDS INDEX'
4='4:DA' 20='20:FIXED LENGTH RRDS'
5='5:ISAM' 21='21:LINEAR DATA SET'
6='6:EXCP' 22='22:ESDS'
Change 11.020 ASTEX variable RMLFLAG2 was added to the KEEP= list of
VMACDMON DMONVOL data set, but it does not exist in the VOL record!
Apr 4, 1993 Instead, it should have been added to the KEEP= lists for
the DMONJOBS and DMONDSN datasets.
Thanks to John Rosza, Depository Trust Company, USA.
Change 11.019 The DIFFHSM member (which deaccumulates the HSM data) did
DIFFHSM not use the "_L" macro names. Each PROC SORT now has the
Apr 4, 1993 syntax of PROC SORT DATA= _LHSMxxx OUT=HSMyyyyy using
member IMACHSM to match the xxx with the yyyyy strings.
Thanks to Sudman Arik, Bezeq, ISRAEL.
Change 11.018 SAS Boolean bit tests of 32-bit strings does not work, as
VMAC30 Usage note V6-SYS.DATA-6047 discusses. The 32-bit test of
Apr 4, 1993 SMF30MFL has been replaced with IF SMF30MFL='1.......'B
and the SMF30MFL PIB4. input was replaced with
SMF30MFL PIB1. +3 to cause IOTMERR to be correctly set.
Thanks to G. W. Shanks, British Rail, ENGLAND.
Change 11.017 New TYPE80A fails with INPUT STATEMENT EXCEEDED if the
VMAC80A LOGSTR= string is more than 16 bytes (my default length).
Apr 3, 1993 I thought that SAS would skip over the extra data with:
RACFDLNN=MAX(16,RACFDLN);
INPUT LOGSTR $VARYING16. RACFDLNN @;
but it doesn't work that way, causing this error! Those
lines in the WHEN (46) clause must be replaced by these:
WHEN (46) DO;
IF RACFDLN GT 32 THEN DO;
SKIP=RACFDLN-32;
INPUT LOGSTR $CHAR32. +SKIP @;
END;
ELSE DO;
INPUT LOGSTR $VARYING32. RACFDLN @;
END;
END;
Note that I also increased LOGSTR's default length to $32.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 11.016 TYPE72MN contains only one PERFGRP from each type 72 RMF
VMAC7072 subtype 2 record, because MXG assumed one record for each
Apr 3, 1993 PERFGRP, but there are multiple PERFGRP segments in each
record. Subtype 2 processing logic was restructured
significantly. In addition, MXG logic was changed so that
TYPE72MN is output only if VALDSAMP GT 0 (i.e, actual
samples exist for this workload). Note that there can be
multiple observations with the same PERFGRP value in an
interval, because TYPE72MN contains a segment for each
combination of PERFGRP and DOMAIN. A replacement VMAC7072
member with this change is available upon request.
Thanks to Mike Skopec, Platinum Technology, USA.
Change 11.015 Change 10.259 implemented IBM APAR II06736 2nd algorithm
VMAC73 but that algorithm is wrong! As a result TYPE73 contains
Apr 3, 1993 an observation for every CHPID from 00 to FFx! Only the
1st algorithm (test SMF73VLD for valid CHPID) can be used
to discard dummy CHPID entries. The statement
IF CHANIND GT 0 OR CHANINDX GT 0 OR CHANINDY GT 0 OR
PCHANBY GT 0 OR SMF73PBY GT 0 OR SMF73PTI GT 0 THEN DO;
is now replaced with
IF VALIDPTH='Y' THEN DO;
Also, the CTC bit is now decoded to set CHANTYPE='CTC' if
the CHPID is actually a CTC, and CHANTYPE is now reset:
IF CHANIND ='..1.....'B THEN CHANTYPE='BLOCK MUX';
ELSE IF CHANIND ='...1....'B THEN CHANTYPE='BYTE MUX';
ELSE IF CHANINDY='.1......'B THEN CHANTYPE='CTC';
ELSE CHANTYPE=' ';
Thanks to Tom Parker, Hogan Systems, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 11.014 The JCL for installation example has a UNIT= coded twice
JCLINSTL in the third step. Use either the UNIT=3380 or UNIT=3390,
Apr 3, 1993 but remove the UNIT=SYSDA from that JCL example.
Thanks to Mark Robbins, Jaguar Cars, ENGLAND.
Change 11.013 Change 10.175 documents how to use the new "_L" and "_K"
DOC macros, but the paragraph beginning 'The "_L" macro lets
Mar 28, 1993 you ...', (first paragraph on page 67 of Newsletter 23)
has two occurrences of _KTY0 that should have been _LTY0.
Thanks to Ron Becham, Southern California Edison, USA.
Change 11.012 JCLTEST with SAS 5.18 has failed at 2 sites with the old
JCLTEST "data set WORK.#DIRMACR is out of space" condition that is
Mar 28, 1993 discussed in Change 8.025 (but neither site used IMACKEEP)
and my SAS 5.18 JCLTEST does not fail! Splitting TESTIBM
into two pieces will circumvent the problem, but since it
only occurs in JCLTEST, it can be ignored. (The primary
purpose of JCLTEST6 is to verify your MXG format library
was correctly built, and that your IMAC tailoring did not
cause a syntax error. Since JCLTEST got to TYPE74, both
sites knew they had tested the important IMACs, so they
proceeded to run JCLPDB, which did not fail. This does
not apply to SAS Version 6 - use JCLTEST6 and JCLPDB6 and
this 5.18 error does not occur!
Change 11.011 FOCUS SMF record 12-byte reserved field FOCUFRS0 was
VMACFOCU changed to @69+OFFSMF FOCUSRV $CHAR8. @77+OFFSMF
Mar 17, 1993 FOCUFRS0 $CHAR4. , and FOCUSRV was labeled 'FOCUS*SERVICE'
and added to the KEEP= list. The value of new variable
FOCUSRV is "FOCUS" in the data observed thus far!
Change 11.010 Dataset TYPETSWP (tape swaps from MXG Tape Mount Monitor)
BUILDPDB is created in the WORK file by BUILDPDB, but was not then
BUILDPD3 sorted into the PDB library. After the BY statement for
Apr 3, 1993 the PROC SORT NODUP DATA=TYPETMNT OUT=PDB.TYPETMNT ...,
replicate that PROC and BY statements, change TYPETMNT to
TYPETSWP, and change the BY statement to read
BY SYSTEM SHIFT DEVFROM TSWPTIME;
Additionally, in the PROC DATASETS following these sorts,
add TYPETMNT and TYPETSWP to the DELETE statement.
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 11.009 NETSPY "Invalid argument to function DATEJUL" might occur
VMACNSPY with NSPYREC='U' because STOPTIME fields TMEE/DTEE added
Apr 3, 1993 by NETSPY R4.3 used previously reserved fields that are
non-zero in R4.2! DTEE is input as packed decimal, and if
the non-zero value happens to end with Fx or Cx, the error
occurs. To correct, find the following statement (it is
the first "IF DTEE" test, 21 lines after the DO group test
for NSPYREC='S' or 'T' or 'U'):
IF DTEE GT 0 THEN STOPTIME=DHMS(DATEJUL(DTEE),0,0,TMEE);
and change it to read:
IF NSPYREL GE 'R4.3' AND DTEE GT 0 THEN
STOPTIME=DHMS(DATEJUL(DTEE),0,0,TMEE);
Thanks to Bob Butchco, The Genix Group, USA.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 11.008 MXG 10.10 only, and only if you write type 74 RMF records
RMFINTRV for tape devices. If so, RMFINTRV variables DEVACTTM,
Apr 3, 1993 DEVCONTM DEVDISTM, DEVPNDTM and AVGRSPMS include both DASD
and TAPE statistics (instead of DASD-only), due to Change
10.299. To correct RMFINTRV, find "SIO74CNT=.;", and then
insert this line after that line:
DEVACTTM=.;DEVCONTM=.;DEVDISTM=.;DEVPNDTM=.; AVGRSPMS=.;
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.007 Using ANALDB2R with PDB=SMF failed when accounting report
READDB2 were suppressed and statistics reports were not. Using
Apr 3, 1993 PDB=PDB does not fail. The error is in READDB2, which is
invoked by ANALDB2R when PDB=SMF is specified. Change the
line (this is the third and last test for LENGTH(&PDBOUT):
%IF %LENGTH(&PDBOUT) NE 0 %THEN %DO;
to read:
%IF %LENGTH(&PDBOUT) NE 0 AND &NUMIFC GT 0 %THEN %DO;
Thanks to Ed Lau, Lucky Stores, USA.
Change 11.006 DB2STAT0 variable QDSTQDBT is incorrectly input. There's
VMACDB2 two occurrences of OFFQJST=OFFQJST-3+OFFSMF; but the last
Apr 3, 1993 one should have been OFFQDST instead of OFFQJST.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.005 DB2ACCT records cause "INVALID 3rd ARGUMENT IN SUBSTR"
VMACDB2 error because account fields were not protected for zero
Apr 3, 1993 length fields. In addition, variable JOB is blank.
Delete the statement JOB=' '; (just before %INCLUDE for
IMACACCT) to prevent blank JOB name. To protect for zero
length account fields, the nine statements of the form
ACCOUNTn=SUBSTR(QMDAACCT,BEG,LENACCTn);
must each be changed to read
IF LENACCTn GT 0 THEN
ACCOUNTn=SUBSTR(QMDAACCT,BEG,LENACCTn);
where n=1,2,...9.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.004 TYPE30 variable DSSIZHWM incorrectly changed by Change
VMAC30 10.261, and is much too large. Change the multiplier from
Mar 28, 1993 16777216 to 1048576.
Thanks to Tom Parker, Hogan Systems, USA.
Change 11.003 MVS/ESA 4.3 only. TYPE30_V and PDB.SMFINTRV timestamps
VMAC30 INTBTIME and INTETIME were not converted from GMT to local
Apr 3, 1993 time correctly (however, SMFTIME is valid and can be used
to approximate the interval end local time until this
change is made). Change INTBTIME-SMF30IST to read instead
SMF30IST-INTBTIME.
Thanks to Jim Nissen, Principal Financial Group, USA.
Change 11.002 Processing VSAM SMF type 30 records can produce "INVALID
VMAC30 OMVS TRIPLET" message and no observations in TYPE30xx data
Apr 3, 1993 sets. The three lines reading "IF OFFPROD-3-COL GE ...."
must be changed to "IF OFFPROD-3+OFFSMF-COL GE ...." if
you want to process VSAM SMF data directly. There is no
error in processing SMF data which has been dumped.
Thanks to Jonathan E. Paley, Massachussets Mutual, USA.
Change 11.001 Type 37 can cause INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC37 error.
Apr 3, 1993 First, replace the following eight lines:
Apr 27, 1993 IF OFFSELD GT 0 AND NRSELD GT 0 THEN DO;
SUBSTR(FND37OFF,9,1)='S';
OFFLAND=OFFLAND-3+OFFSMF;
INPUT @OFFLAND
BRFTEXT $CHAR200. /*SELF DEFINING*TEXT*MESSAG*/
BRFTEXTA $CHAR75. /*SELF DEFINING*TEXT*MESSAG*/
@;
END; /* END SELD SECTION TYPE 37 */
with the following twelve lines (note that the first three
lines are unchanged):
IF OFFSELD GT 0 AND NRSELD GT 0 THEN DO;
SUBSTR(FND37OFF,9,1)='S';
OFFSELD=OFFSELD-3+OFFSMF;
INPUT @OFFSELD @;
IF LENSELD GE 275 THEN INPUT BRFTEXT $CHAR200.
BRFTEXTA $CHAR75. @;
ELSE IF 201 LE LENSELD LT 275 THEN DO;
SKIP=LENSELD-200;
INPUT BRFTEXT $CHAR200. BRFTEXTA $VARYING75. SKIP @;
END;
ELSE INPUT BRFTEXT $VARYING200. LENSELD @;
END; /* END SELD SECTION TYPE 37 */
Second, in the "IF OFFDETT GT 0 ..." DO group that follows
the above "IF OFFSELD GT 0 ..." DO group, change all three
occurrences of OFFLAND to OFFDETT.
Third, the INPUT of OFFDETT must be PIB4. instead of PIB2.
Thanks to Larry Doub, R J Reynolds Tobacco USA.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
LASTCHANGE: Version 11
=========================member=CHANGE10================================
/* COPYRIGHT (C) 1984-1993 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is the Production MXG Version 10.10, dated March 15, 1993.
Changes through:
Change 10.336 are included in MXG Version 10.10, Mar 15, 1993
Change 10.323 were printed in Newsletter TWENTY-THREE, Mar 15, 1993
Change 10.304 are included in MXG PreRelease 10.6, Feb 23, 1993
Change 10.265 are included in MXG PreRelease 10.5, Jan 28, 1993
Change 10.251 are included in MXG PreRelease 10.4, Jan 8, 1993
Change 10.241 are included in MXG PreRelease 10.3A, Dec 17, 1992
Change 10.235 are included in MXG PreRelease 10.3, Dec 13, 1992
Change 10.208 are included in MXG PreRelease 10.2, Oct 18, 1992
Change 10.199 were included in Early PreRelease 10.2, Oct 12, 1992
Change 10.113 were included in MXG PreRelease 10.1, Jul 10, 1992
Change 10.104 were printed in Newsletter TWENTY-TWO, Jul 10, 1992
Table of Contents:
I. MXG Software Status and Enhancements:
II. Incompatibilities, Installation, and Space Requirements.
III. Documentation of MXG Software.
IV. MXG Technical Notes - see NEWSLETTER TWENTY-THREE
V. MVS Technical Notes - see NEWSLETTER TWENTY-THREE
VI. VM Technical Notes - see NEWSLETTER TWENTY-THREE
VII. CICS Technical Notes - see NEWSLETTER TWENTY-THREE
VIII. SAS Technical Notes - see NEWSLETTER TWENTY-THREE
IX. Change Log
I. MXG Software Status and Enhancements:
MXG 10.10 is the Production Version of MXG 10 (i.e., the version that
we "Produce" for all sites), dated March 15, 1993.
MXG 10.10 is a major revision, with many latent enhancements, and near
transparent installation. Sites with normal MXG tailoring should need
less than 2 hours to unload, tailor, and submit the test jobstreams.
Make sure you read the COMPATIBILITY warning in Installation notes.
These enhancements are in MXG 10.10, but were not printed in the MXG
Technical Newsletter number TWENTY-THREE:
Note: There are 1965 members in MXG 10.10, not the 2000+ I thought
there would be. MXG now creates 47,292 variables in 1195 data
sets with its 533,759 lines of source code.
Support for type 30 OpenEdition/MVS measurements
NETSPY Average Host Response calculation corrected
Major enhancements added in MXG 10.10, that were not in MXG 10.6:
Support for OpenEdition MVS, OMVS, RMF record enhancements.
Preliminary RS6000 AIX VMSTAT,IOSTAT,PS command processing
GMT offset, GMTOFFTM, available in MVS/ESA 4.3 RMF records.
DCOLLECT options SMSDATA creates nine new SMS construct datasets.
RMF reports can be produced from MXG TYPE70xx datasets.
Additional online MXG documentation members (ADOC and ACHAP).
Major enhancements added in MXG 10.6, that were not in MXG 10.5:
Support for Empact's Hipercache SMF record.
Support for IMF Release 2.8.
Support for Oracle 6.0.33.1.51.
Support for IBM 3495 Tape Library Dataserver's type 94 SMF record.
Support for (incompatible) Omegamon/CICS DATACOM SPE PTF QOC0109.
Support for STOPX37 Release 3.5.
Support for Empact's POOL-DASD user SMF record.
Support for Candle's IMS Transaction Reporting Facility, ITRF.
Support for Landmark for CICS's Release 9 and Release 1.0.
IBM-like RMF reports can be created with new ANALRMFR.
Additional HOGAN application fields added in CICSTRAN
HP's MPE data or HP/UX Unix data are both supported by TYPEHPCS
SLR-like IMS processing for sites with heavy fast-path in TYPESLRI
Additional CMF "type 240" subtypes supported in TYPECMF
Major enhancements added in MXG 10.5, that were not in MXG 10.4:
Support for MVS/ESA 4.3 and RMF 4.3.
Support for NPM Release 1.6.
Support for NETSPY Release 4.3 and LANSPY 1.1.
Support for IDMS Release 12 PM records confirmed.
Major enhancements added in MXG 10.4, that were not in MXG 10.3:
Support for ESCOM Multi-Image Facility (EMIF)
Support for VM/ESA 2.0
Validation of support for Velocity Software's XAMAP History files.
Major enhancements added in MXG 10.3, that were not in MXG 10.2:
Support for NPM 1.5.1 incompatible changes.
Correction of MXG-10.2-only error in ASUM70PR
Support for DFSORT Release 12 new fields.
Cleanup of all reported errors in prior prereleases.
Toleration support for VM/ESA 2.0 MONWRITE data.
Major enhancements added in MXG 10.2:
Powerful new "_L" and "_K" macro architecture allows full tailoring
of MXG datasets (variables kept/dropped, compression, blocksize,
the DDNAME to which the dataset is written, etc.).
Support for DB2 Trace IFCID 172/ 177 added, Audit/SQL reports fixed.
Support for FACOM AIM Version 12 type 116 SMF record changes.
Support for FACOM PDLF Type 127 for MSP/EX.
Support for HP Unix (HP/UX) PCS Performance Collection System data
Support for IBM TCP/IP Version 2 Release 2 SMF record.
Support for IBM TIRS type 96 SMF record coded.
Support for Network Alert APAR OY49717 in SMF Type 37.
Support for OMEGAMON II for VTAM V150 user SMF record coded.
Support for OPC changes.
Support for SAP Accounting data in CICS type 110 or journal file.
Support for SIMWARE SIM/XFER VTAM user SMF record.
Support for TMS Billing-by-dataset using enhanced DSNBRECD dataset.
Support for VSE DOS POWER Version 4.2
Support for Xerox Printer's SFS Status File System records.
Support for XCOM 6.2 Version 2.2.2G SMF record.
Alert that Legent's MIM can corrupt MXG Tape Mount counting.
"Appended" IMS Log enhancements; has now been tested with IMS 2.2.
Continued enhancement of ANALDB2R for DB2 reports.
Major enhancements added in MXG 10.1 but not listed in Newsletter 22:
OPC/A log processing major revision, additional datasets created.
Verstand's product, TTX, is now included in MXG Software.
Support for AS400 V2R1M0 added, and AS400 support was revised.
NPM 1.5.1 subtypes 144-150 (NPMEVX25 dataset) errors were corrected.
Sample IEFU83 exit to filter type 40 records for tape-only added.
Major enhancements added in MXG 10.1 that were listed in NL 22:
Required for CICS/ESA 3.3,
Required for VM/ESA 1.1.1,
Required for TYPEIMS users; major revision in IMS log processing.
Strongly recommended for DB2 sites, because it:
- has significant corrections in ANALDB2R reporting,
- has speeded up MXG DB2 processing and reduced WORK space needed,
- allows DB2ACCT direct to tape for sites with large DB2 activity,
- has new ASUMDB2A to summarize and reduce size of DB2ACCT.
- has MVS Account fields added to DB2ACCT (DB2 2.3).
Offers support for these new products or releases:
Support for AICorp's KBMS user SMF record.
Support for Amdahl's APAF replacement for MDFTRACK.
Support for Blue Line's Vital Signs for VTAM type 28.
Support for Fujitsu's FACOM MSP/EX (incompatible) SMF records.
Support for MVS/ESA 4.2 Dynamic I/O Reconfig in MXG Tape Monitor.
Support for NETSPY Release 4.2 added.
Support for NETSPY Token-Ring records added.
Support for ROSCOE Release 5.7 changes to SMF data.
Support for RSD's WSF/WSF2 Release 3.4.1.
Support for SPMS 1.2.13 incompatible changes.
Support for STOPX37 Release 3.4.
Support for Software Ag "Natural Process" SMF record.
Support for System Center's NETMASTER type 37 SMF records.
Support for The Network Director North Ridge Software
Support for UNIX iostat and vmstat commands from ULTRIX.
ASMVTOC avoids 213/314 abends reading VTOC of TPF or VM volumes.
LPAR CPU utilization reports added.
MINTIME=,MAXTIME= parameters added to VMXGSUM.
MVS/ESA 4.2.0 changed format of DEVNR/UNITADR in TYPE75.
MXG Tape Mount Monitor supports MVS/ESA dynamic reconfiguration.
New dataset TYPE40_D can be created for tape analysis
TAPE3490 (3490s allocated) added to PDB.STEPS/JOBS.
Trending with INTERVAL=MONTH members added.
Each of these enhancements are described in the Change Log, below.
The following table lists announced availability dates for the IBM
product, and the corresponding Version of MXG required to support
that IBM product.
Availability MXG Version
Product Name Date Required
MVS/370, MVS/XA (all) long ago 8.8
RMF 4.1.2 (for MVS/ESA 3.1.3) Sep 7, 1990. 8.8
RMF 4.2 (for MVS/ESA 4.1) Oct 26, 1990. 8.8
MVS/ESA 4.1 Oct 26, 1990. 8.8
MVS/ESA 4.2 Mar 29, 1991. 9.9
RMF 4.2.1 (for MVS/ESA 4.2) Mar 29, 1991. 9.9
MVS/ESA 4.2.2 Aug 1991. 9.9
RMF 4.2.2 (for MVS/ESA 4.2.2 Aug 1991. 9.9
MVS/ESA 4.3 Mar 23 1993. 10.5
RMF 4.3.0 (for MVS/ESA 4.3 Mar 23 1993. 10.5
CICS/ESA 3.1 1990 8.8
CICS/ESA 3.2 Jun 28, 1991. 9.9
CICS/ESA 3.3 Mar 28, 1992. 10.1
DB2 2.2.0 1990 8.8
DB2 2.3.0 Oct 28, 1991. 10.1
VM/ESA 1.1.0 (370 Feature) Oct 26, 1990. 8.8
VM/ESA 1.1.0 (ESA Feature) Mar 29, 1991. 8.8
VM/ESA 1.1.1 Dec 27, 1991. 10.1
VM/ESA 2.0 Dec 23, 1992. 10.4
II. Incompatibilities, Installation, and Space Requirements.
1. Incompatibilities in MXG 10.10 which will cause syntax errors:
a. If these members exist in your USERID.SOURCLIB, then you must
replace them, by re-tailoring your changes starting with the
new MXG 10.10 member:
IMACCICS IMACCIMS IMACCMF IMACDB2 IMACDCOL IMACIMS
IMACINTV IMACMONI IMACNSPY IMACOPC IMACPDSM IMACROSC
IMACSTX IMACTPX IMACZRB IMAC30DD IMAC40DD IMAC434D
These members defined the DDNAME to which MXG sent certain
datasets (eg., MACRO _CICTRAN CICSTRAN % set the DDname for
DATA _CICTRAN.CICSTRAN). The new "_L" architecture provides
the same function with different syntax (eg., now the macro
_LCICTRN defines both the DDNAME (LIBREF) and dataset name).
Change 10.175 provides specific details of what old-names have
to be changed to what new-names for these incompatibly changed
members.
b. If you had tailored BUILDPDB/3 to create TYPETMNT (the MXG
Tape Mount Monitor records), you will need to remove your
tailoring in members EXPDBINC,EXPDBVAR,EXPDBCDE,EXPDBOUT.
In MXG 10.10 TYPETMNT is automatically created by BUILDPDB/3.
Sites migrating to MXG 10.10 from MXG 9.9 thru MXG 10.x should find
no other compatibility issues.
Sites migrating to 10.10 from an MXG version earlier than 9.9 must
read the compatibility section of the installation instructions in
MXG Newsletter TWENTY-ONE (also in member NEWSLTRS).
MXG 10.10 will still execute under SAS 5.18, but this is likely to
be the last version that will fully work under that archaic version
of SAS; MXG intends to begin to exploit Version 6 features in MXG
future versions, and we strongly recommend use of SAS 6.07 or later!
2. Installation and re-installation procedures are described in detail
in member INSTALL, but they are summarized here:
a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.
b. Allocate a 70-cyl PDS: MXG.V1010.MXG.SOURCLIB, & use IEBUPDTE
to read the MXG tape to create the 1800+ member Source Library.
c. Allocate a 1-cyl PDS: MXG.V1010.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 V1010.USERID.SOURCLIB.
d. Allocate a 1-cyl SAS Data Library: MXG.V1010.MXG.FORMATS and
execute SAS to create the library of Formats required by MXG.
Sample JCL for the above three steps is in member JCLINSTL.
e. If re-installing MXG, copy your existing USERID.SOURCLIB library
members into the MXG.V1010.USERID.SOURCLIB. Then examine the set
of IMACs that were changed incompatibly (see member CHANGES).
If any members in MXG.V1010.USERID.SOURCLIB are in that list,
you must reinstall your site's tailoring for that IMAC, starting
with the IMAC member from the MXG 10.10 Source Library.
e. If this is the initial install of MXG, tailor these members into
your MXG.V1010.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.
f. EDIT and submit member JCLTEST6 (JCLTEST if still on SAS 5.18)
to verify that your tailoring did not create any errors.
g. EDIT and submit JCLPDB 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 10.10 in its own set of libraries. When
parallel testing is complete and are ready to implement MXG 10.10
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.V1010.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:" and "ERROR :" and
"UNINITIALIZED" and "NOT CATLGD", as they may 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.
III. Documentation of MXG Software.
Member CHANGES always contains the version number of MXG Software, and
it lists changes that were installed in that version. Members named
Changenn are the CHANGES member from MXG Version "nn". Each change in
MXG software is documented by a Change number and text. The text of
each Change identifies the member(s) that were added or altered.
Documentation (especially for new product's support) is often
also found in comments at the beginning of those members listed in the
Change entry. The CHANGE member is designed to be read online (with SPF
BROWSE); you can search for specific product name references (CICS,
MVS/ESA, etc.), or the MXG member name.
Member NEWSLTRS contains the text of all newsletters (up through the
newsletter that accompanied that MXG release). You can search NEWSLTRS
for product name or acronym to find the technical notes, APARs, etc.
from all MXG newsletters. The Change Log pages of each Newsletter are
in member CHANGES or CHANGEnn and are not repeated in member NEWSLTRS.
Member DOCVER lists alphabetically ALL datasets and variables that can
be build by this MXG Software Version. "Delta-documentation" between
MXG versions, which lists only those datasets and variables that were
Changed by version "nn" is found in DOCVERnn members for each version.
Chapter FORTY in the MXG Guide and MXG Supplement books are still the
primary documentation of MXG datasets and their variables (at least for
those data sources that existed in 1987!). This should be the first
place you look for information about MXG variables and/or datasets.
As each section of chapter FORTY is rewritten, it becomes an ADOCxxxx
member of MXG.SOURCLIB, providing online documentation for product xxxx.
ADOCs contain alphabetic descriptions of datasets and variables, the
instructions on how to enable that product, bibliography to the vendor
documentation, sample PROC PRINT and PROC MEANS of real data, and the
MXG member names that you use to process that product, etc. Sounds
great? It will be when finished - this is work in progress!
Beginning with MXG 10.3, there has been 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:
IMACxxxx - Defines record IDs, and "_K,_L" macros for product xxxx.
ADOCxxxx - "Chapter FORTY" style dataset and variable documentation.
VMACxxxx - The "real" code member, often documentation in comments.
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 each dataset. There can be more than one
dataset per product. The EX member name suffix yyyzzz is
the same as the suffix of "_L" and "_K" macros defined in
IMACxxxx for the product. See further discussion under
"Using the MXG Exit Facilities".
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, CHANGES, and the CHANGEnn members for the xxxx suffix.
Finally, remember that MXG is source code, so you can often find your
answer by BROWSE/EDIT of the source member, especially the VMACs that
actually create the data set, or ANALs that analyze the MXG data sets.
In most cases, the MXG Variable name is the IBM or Vendor's field or
DSECT field name. In other cases, the DSECT field name is carried as a
comment beside in the MXG INPUT statement to map field name to MXG's
variable name. MXG does expect that you will also have access to the
vendor's documentation of the data records you are processing.
The MXG Technical Newsletter is published aperiodically, one copy per
licensed site, and describes changes and enhancements to the software,
provides APARs and PTFs affecting MXG users, and provides tutorial
information of interest to MXG users.
IX. Change 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 is 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.
Alphabetic INDEX of significant changes in MXG 10.10 (since MXG 9.9):
Member Change Description
All 10.175 Powerful new "_L" and "_K" macros tailor MXG datasets
All 10.261 Support for MVS/ESA 4.3.
ADOCAAAA 10.332 Seventy-Three ADOCs documentation members now exist.
ANALDB2R 10.001 DB2 Report truncated character values.
ANALDB2R 10.034 SORTBY= operand parsed only the first SORT variable.
ANALDB2R 10.046 LIBRARY SMF IS NOT VALID message with PMSQL04 report.
ANALDB2R 10.047 DBID/OBID hex values printed instead of name.
ANALDB2R 10.055 Date/time selection in PMSACC01/02 produced no report
ANALDB2R 10.094 ANALDB2R Accounting report uses ASUMDB2A if exists.
ANALDB2R 10.135 DB2 Audit report may not be produced.
ANALDB2R 10.158 DB2 SQL Trace report FORMAT NOT FOUND error.
ANALDB2R 10.272 Buffer Pool statistics average values wrong.
ANALDSET 10.097 VSAM data sets may have wrong PROGRAM name.
ANALMONI 10.066 TMON/CICS sample report filled WORK file.
ANALRMFR 10.301 IBM-formatted RMF reports are now produced by MXG.
ANALRMFR 10.301 IBM's RMF reports produced from MXG datasets.
ASMIMSLG 10.084 Major revision in IMS log processing algorithms.
ASMIMSLG 10.142 Revision to "Appended" IMS log processing.
ASMIMSLG 10.191 "Appended" IMS process might miss RACF segment
ASMISMLG 10.146 New "Appended" IMS log processing works with IMS 2.2.
ASMTMNT 10.012 MXG Tape Mount Monitor supports Dynamic I/O Reconfig.
ASMTMNT 10.136 (MXG 10.1 only). ABEND S55F at startup.
ASMTMNT 10.226 MXG Tape Monitor sets TMNTRTRN=3 for MIM event.
ASMTMNTO 10.177 MXG Tape Mount Monitor for sites still on MVS/XA.
ASMVTOC 10.073 Avoid 213/314 abends reading VTOC of VM/TPF volumes
ASMVTOC 10.157 (MXG 10.1 only). Assembler error MSGAREA.
ASMVTOC 10.202 Use ASMVTOCO for ASMVTOC under MVS/ESA 3.1.3.
ASMVVDS 10.156 ASMVVDS fails with User 666 Abend.
ASUMDB2A 10.090 DB2 Account "transactions" summarized into ASUMDB2A.
ASUM70PR 10.131 PR/SM,MDF,MLPF summarization now supports 16 LPARs.
ASUM70PR 10.218 MXG 10.2 only, corrupted Effective/Management times.
ASUM70PR 10.284 Amdahl MDF LPARNUM=0 now supported, for 17 LPARs.
ASUM70PR 10.335 PCTOFHDW busy in this partition added to RMFINTRV.
BUILDPDB 10.117 BUILDPDB under SAS 6.07 needs changes.
BUILDPDB 10.129 Execution under CMS requires changes.
BUILDPDB 10.153 Step account variable SACCT1 now added to PDB.
BUILDPDB 10.190 JES APAR OY56235 filling SPIN library circumvention.
BUILDPDB 10.298 TOTLINES added to PDB.PRINT dataset.
CMS 10.129 SAS 6.07 under CMS has problems for MXG.
CONFIG07 10.109 Option S=72, s2=72 added to MXG Config members.
EXCICJRN 10.132 New exit for CICS journal data sent to SMF.
EXTY72 10.064 CPURCTTM PTF now exists, circumvention removed.
GRAFxxxx 10.227 SAS 6.07 replaced XSWISS font name with SWISS.
GRAFDB2 10.151 Not all DB2 graphs were produced.
GRAFLPAR 10.052 LPAR CPU utilization reports added.
GRAFTRND 10.049 Graphic trending reports were not always correct.
IMACACCT 10.119 Invalid type 30 subtype 1 SMF caused INPUT STATEMENT.
IMACDB2 10.149 CORRNAME/CORRNUM set from QWHCATYP now.
IMACDOS 10.168 Support for VSE DOS POWER Version 4.2 account records
IMACFACO 10.100 Fujitsu's FACOM MSP/EX SMF records now supported.
IMACFMTS 10.173 Member made archaic by SAS 6.07 FMTSEARCH option.
IMACICSA 10.164 Support for SAP Accounting data in CICS type 110.
IMACICUS 10.297 Optional HOGAN application variables in CICSTRAN.
IMACPDB 10.053 New macro _DB2ACCT added. Compatibility exposure.
IMACPDB 10.068 TAPE3490 (3490s allocated) added to PDB.STEPS/JOBS.
IMACPDB 10.133 PDB.JOBS can have JELPSTM missing when it should not.
JCLPDB6 10.127 (MXG 10.1 only) JCLPDB6 fails, TYPETMNT not found.
JCLTEST6 10.030 INVALID DATA FOR SMFTIME, SAS zap MV313550 required.
MNTH.... 10.091 Trending with INTERVAL=MONTH members added.
MONTHBLD 10.206 All JCLPDB6 PDB & ASUM.... datasets are in MONTHBLD.
MXGSAS 10.336 Example JCL Procedure MXGSAS now provided
READDB2 10.045 TRACECLS= parameter does not select all IFCIDs.
RMFINTRV 10.299 Additional statistics added to RMFINTRV dataset.
TRNDDB2A 10.093 TRNDDB2A Account Trending uses ASUMDB2A if exists.
TTXPDS 10.111 Verstand's TTX product is now included in MXG.
TYPEAICO 10.048 Support for AICorp's KBMS user SMF record.
TYPEAIM6 10.161 Support for FACOM's AIM Version 12 type 116 SMF.
TYPEAPAF 10.078 Support for Amdahl's APAF replacement for MDFTRACK.
TYPEAPAF 10.143 Variable Balance not kept in APAFDOMA
TYPEASTX 10.245 Support for Legent's ASTEX Trace Record
TYPECIMS 10.063 IMF flag variables wrong if multiple bits are on.
TYPECMF 10.230 Boole's CMF variable R783PT in error.
TYPECMF 10.292 Support for IMF Release 2.8.
TYPECTLD 10.327 CONTROL-D Release 2.0.0 is also supported.
TYPECTLD 10.327 CONTROL-D Release 2.0.0 is supported.
TYPEDB2 10.024 MVS Account fields added to DB2ACCT!
TYPEDB2 10.333 DB2ACCT fields ACCOUNTn were not input.
TYPEDB2 10.333 MVS Account fields now are actually input to DB2ACCT!
TYPEDCOL 10.071 INVALID VALUE FOR FUNCTION DATEJUL message.
TYPEDCOL 10.148 DCOLBKUP variables UBALLSP,UBUSESP,UBRECSP wrong.
TYPEDCOL 10.221 DCOLLECT variable UCTOTAL was incorrectly documented.
TYPEDCOL 10.307 DCOLLECT SMSDATA writes SMF constructs records.
TYPEFOCU 10.334 FOCUS record caused INPUT STATEMENT EXCEEDED error
TYPEFTP 10.176 NETVIEW FTP SMF record timestamps reversed.
TYPEF127 10.162 Support for FACOM PDLF Type 127 for MSP/EX Version.
TYPEHIPR 10.300 Support for Empact's HiperCache SMF records.
TYPEHPCS 10.178 Support for HP Unix (HP/UX) PCS Performance Data.
TYPEHPCS 10.294 HP's MPE operating system records now supported.
TYPEHSM 10.080 FSTTRKR/W large values are actually negative values.
TYPEIDMS 10.219 IDMS variable DBKDBKEY was incorrectly documented.
TYPEIDMS 10.265 Support for IDMS Release 12 PM records confirmed.
TYPEILKA 10.121 Invalid data because incorrect offset/documentation.
TYPEIMSA 10.142 STRTTIME/ENDTIME/INPQUETM/SERVICETM/RESPNSTM wrong.
TYPEIMSA 10.205 NMSGPROC value wrong. Must use ASMIMSLG for IMS log.
TYPEIMSA 10.288 Zero service time corrected.
TYPEITRF 10.273 Support for Candle's IMS Trans Report Facility,ITRF.
TYPEMON8 10.020 Landmark CICS "INVALID OFFSETS" message.
TYPEMON8 10.067 MONITASK variables STRTTIME/CREATIME now equal.
TYPEMON8 10.145 Landmark CICS variable TAMRCNT input incorrectly.
TYPEMON8 10.271 Support for Landmark's/CICS Release 9 and Release 1.
TYPEM204 10.120 MODEL204 variable M24IODEV input, EXM24ACT eliminated
TYPENATP 10.033 Support for Software Ag "Natural Process" SMF record.
TYPENETP 10.039 NETPACTM was total response, should be average.
TYPENRS 10.075 Support for The Network Director North Ridge Software
TYPENSPY 10.015 Support for NETSPY Token-Ring records added.
TYPENSPY 10.057 Support for NETSPY Release 4.2 added.
TYPENSPY 10.144 NETSPY type 'N' records cause INPUT STATEMENT EXCEED.
TYPENSPY 10.262 Support for NETSPY Release 4.3 and LANSPY 1.1
TYPENSPY 10.326 NETSPY AHOSTRSP calculation corrected.
TYPEOMCI 10.182 Omegamon V550 ESRA (user) SMF "INPUT EXCEEDED".
TYPEOMVT 10.194 Support for OMEGAMON II for VTAM V150 user SMF.
TYPEOPC 10.112 Major revision for OPC/A log processing.
TYPEOPC 10.204 Support for Changes to OPC records.
TYPEOPC 10.302 RECFM= parameter removed so RECFM=U data can be read.
TYPEORAC 10.291 Support for Oracle 6.0.33.1.51.
TYPEPOOL 10.274 Support for Empact's POOL-DASD user SMF record.
TYPEQAPM 10.110 Support for AS400 V2R1M0 and restructured members.
TYPERMDS 10.102 RMDS messages INVALID DATA FOR RMDSMXVR eliminated.
TYPEROSC 10.022 Support for ROSCOE Release 5.7 changes to SMF data.
TYPEROSC 10.101 ROSCOE ADSFUN.. variables values corrected.
TYPEROSC 10.138 ROSCOE JCK and Documentview added to ROSCOVPE.
TYPERSxx 10.319 Support for RS6000 AIX VMSTAT,IOSTAT,PS commands.
TYPESFS 10.186 Support for XEROX Printer's SFS Status File System.
TYPESIM 10.180 Support for SIMWARE SIM/XFER VTAM user SMF record.
TYPESIM 10.222 SIMWARE initial support revised.
TYPESLRI 10.290 SLR-like IMS log processing for Fast Path.
TYPESMF 10.019 Header/Trailer messages on log were not always right.
TYPESPMS 10.011 SPMS R2.1.4 invalid record circumvented.
TYPESPMS 10.069 SPMS 1.2.13 inserted four byte field, causing errors
TYPESTC 10.105 STC 4400 decode used wrong bits of STC07TYP.
TYPESTC 10.116 STC4400 HSC SMF record for Release 1.2 incompatible.
TYPESTC 10.193 STC 4400 Silo HSC variables formatted.
TYPESTC 10.229 STC 4400 variables LSBECON1/2 incorrectly documented.
TYPESYNC 10.115 SYNCSORT variable COREREQ can be negative.
TYPETCP 10.184 Support for IBM's TCP/IP Version 2 Release 2 SMF.
TYPETIRS 10.181 Support for IBM type 96 SMF record from TIRS.
TYPETMNT 10.200 Legent's MIM corrupts MXGTMNT Tape Mount count.
TYPETMS5 10.060 TMS inactive DSNBs now deleted, caused wrong VOLSER.
TYPETMS5 10.082 TMS.TMS had DSNB fields, TAPEFEET calculation changed
TYPETMS5 10.185 DSNBs could have been skipped.
TYPETMS5 10.196 TMS Billing-by-dataset enhanced in DSNBRECD dataset.
TYPETMS5 10.289 "Dead" tapes no longer create DSNBRECD observation.
TYPETMVS 10.058 TMON/MVS "INVALID DATA for WKLCPURF" message.
TYPETPX 10.007 TPX variable TPXELAP has wrong value.
TYPEVM 10.233 VMSQLxxx datasets enhanced for SQL/DS under VM.
TYPEVMXA 10.036 VM/ESA 1.1.1 additions now supported.
TYPEVMXA 10.071 VM/ESA VXSYTCUP dataset has only 49 observations.
TYPEVMXA 10.163 Candle's VCOLLECT 5.1.0 still writes invalid "VVBs".
TYPEVMXA 10.244 Support for VM/ESA Release 2.0.
TYPEWSF 10.081 Support for RSD's WSF/WSF2 Release 3.4.1.
TYPEWSF 10.150 WSF 3.3.6 caused error (no problem with 3.4.1).
TYPEXAM 10.231 Support for Velocity Software's XAMAP History files.
TYPEXCOM 10.165 Support for XCOM 6.2 Version 2.2.2G SMF record.
TYPEX37 10.013 STOPX37 Release 3.4 is supported.
TYPEX37 10.276 Support for Empact's STOPX37 Release 3.5.
TYPE102 10.072 DB2 SQLCODE can be negative, MXG read as positive.
TYPE102 10.170 DB2 Trace IFCID 172 and 177 now tested and supported.
TYPE102 10.174 DB2 optimizer's cost estimate was incorrect.
TYPE102 10.183 DB2 Trace statement Numbers now print as decimals.
TYPE102 10.281 DB2 T102S044 lock fields were incorrect.
TYPE110 10.017 Invalid type 110 subtype 2 could cause MXG to loop.
TYPE110 10.038 Omegamon error causes INVALID DATA FOR SMFPSRSN.
TYPE110 10.059 Type 110 STOPOVER due to bad record eliminated.
TYPE110 10.061 Support for CICS/ESA 3.3.0 monitor (CICSTRAN) data.
TYPE110 10.062 Support for CICS/ESA 3.3.0 statistics datasets.
TYPE110 10.234 Enhanced CICS error messages for EXCLUDE/INCLUDE.
TYPE110 10.278 OMEGAMON/CICS V550 DATACOM SPE is incompatible.
TYPE110 10.280 Fourth TCBs CPU time was not included in CICINTRV.
TYPE24 10.037 Spool off-load type 24 can cause STOPOVER abend.
TYPE28 10.095 Blue Line's Vital Signs for VTAM type 28 supported.
TYPE28 10.106 NPM 1.5.1 NPMEVX25 (subtypes 144-150) error fixed.
TYPE28 10.134 Line PCTBUSY in each direction measured separately.
TYPE28 10.141 (MXG 10.1 only). INVALID DATA FOR NPMPDUTH.
TYPE28 10.155 NPM variables LLBSSTIM/LLBSPTIM incorrect.
TYPE28 10.264 Support for NPM Release 1.6
TYPE30 10.031 Variables ACTDLYTM, RESDLYTM, DSPDLYTM created.
TYPE30 10.108 Some APPC variables in TYPE30 have wrong value.
TYPE30 10.325 Support for OpenEdition/MVS type 30 enhancements.
TYPE30OM 10.325 Type 30 support for OpenEdition/MVS
TYPE33 10.232 Error in processing SMF type 33 (APPC) records.
TYPE37 10.098 System Center's NETMASTER type 37 SMF record support.
TYPE37 10.167 Support for Type 37 Network Alert APAR OY49717.
TYPE39 10.040 INPUT STATEMENT EXCEEDED for subtype 5.
TYPE40 10.065 New dataset TYPE40_D can be created for tape analysis
TYPE41 10.015 DIV type 41 SMF record timestamps misdocumented.
TYPE42 10.005 Type 42 SMF record causes STOPOVER ABEND.
TYPE6 10.003 PSF type 6 record had FORM truncated.
TYPE6 10.124 Incompatible change to type 6 SMF record by PSF.
TYPE6 10.139 PRUWTR type 6 SMF record has incorrect READTIME.
TYPE6156 10.255 VSAM Data and Index component names & SMS data added.
TYPE70 10.256 TCP/IP SMF record defaults to type 70!
TYPE70 10.260 Negative CPUACTTM/PCTCPUBY in TYPE70 with PR/SM/
TYPE70x 10.320 Support for OpenEdition MVS, OMVS, RMF records.
TYPE7072 10.010 TYPE70PR variable NRPRCS corrected.
TYPE7072 10.042 PCTRDYWT variable now created.
TYPE7072 10.317 GMT Offset, GMTOFFTM, available in MVS/ESA 4.3.
TYPE71 10.014 SWAP counts corrected.
TYPE73 10.179 ESCON converter flag variable ESCACVC not set.
TYPE73 10.247 MVS/ESA 4.2.2 EMIF Feature corrupts TYPE73 data set.
TYPE73 10.259 Only real channels create TYPE73 observations now.
TYPE74 10.137 MVS/ESA XCF Type 74 causes INPUT STATEMENT EXCEEDED.
TYPE75 10.099 MVS/ESA 4.2.0 changed format of DEVNR/UNITADR.
TYPE78 10.201 CMF Type 78 incorrect R783CPDN value causes 0 obs.
TYPE79 10.123 Type 79 subtype 1 corrections.
TYPE79 10.283 RMF 79 records appear to be un-deaccumulatable.
TYPE80 10.114 CA TOP SECRET caused INPUT STATEMENT EXCEEDED error.
TYPE80A 10.251 RACF events consolidated in new TYPE80A dataset.
TYPE84 10.224 JES3 type 84 INPUT STATEMENT EXCEEDED error.
TYPE94 10.285 Support for IBM 3495 Tape Library Dataserver SMF.
VMXGHSM 10.254 HSM dates TTOCDLR and TTOCXPDT were wrong.
VMXGSUM 10.089 MINTIME=,MAXTIME= parameters added to VMXGSUM.
VMXGVTOC 10.018 CRITICAL ERROR IN VTOC if DSORG=PS-SUL data found.
VMXGVTOC 10.054 ISAM index space not recognized in VTOC.
VMXGVTOC 10.243 SAS 6.07 ZAP V6-SYS-FILE-4673 required.
VMXGVTOF 10.125 Variable DS4VTOCE input but not kept.
VMXGVTOF 10.171 VTOCs with freespace starting in track 1 missed it.
WEEKBLD 10.008 NOT SORTED when implementing MXG 9.9
WEEKBLD 10.009 TYPE70PR,DB2ACCT/STAT0/STAT1 added to weekly/monthly.
WEEKBLD 10.206 All JCLPDB6 PDB & ASUM.... datasets are in WEEKBLD.
WEEKBLD 10.225 BY list for WEEK.ASUM70PR wrong.
XMAC7072 10.023 344 Compiler circumvention causes UNINITIALIZED msg.
XUNIX 10.076 Support for ULTRIX UNIX iostat and vmstat commands.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 10
Change 10.336 The sample JCL Procedure MXGSAS is now provided in member
MXGSAS MXGSAS, and is now used in MXG JCL examples. The PROC is
Mar 11, 1993 simply an extension to the SAS607 JCL Proc, with the MXG
data sets and options provided to minimize your JCL.
Using MXGSAS, it is no longer necessary to override the
BLKSIZE on the //WORK DD, because there is no BLKSIZE
specified on that DD in the PROC, which permits the MXG
CONFIG07 default of BLKSIZE(DASD)=HALF to control the
blocksize. (Previous JCL examples showed the override
because the SAS607 JCL Proc had hardcoded BLKSIZE). These
symbolic parameters are provided in MXGSAS:
MXGHLQ= The highlevel qualifier of your MXG data sets,
defaults to MXGHLQ='MXG'
SASHLQ= The highlevel qualifier of your SAS data sets,
defaults to SASHLQ='SAS.SAS607'.
CONFIG= Can be used to override, but the PROC itself
concatenates &MXGHLQ..MXG.SOURCLIB(CONFIG07),
so there is no requirement to specify CONFIG=
WORK = Cylinders of work space. Default is (30,10)
SORT = Cylinders of sort work space in each of three
//SORTWKnn DDs. Explicit DDs are included to
prevent dynamic allocation; historically, SAS
and SORT packages have ABENDed when dynaloc was
used and there are multiple sorts of datasets of
different sizes (large, then small, then large
dataset sorting is common in BUILDPDB).
However, this is an example JCL PROC, and you are free to
modify it to meet your installation's JCL requirements.
Change 10.335 Program ASUM70PR enhanced to merge PR/SM data into the
ASUM70PR RMFINTRV and added these three new variables:
Mar 11, 1993 PLATCPUS - Number of CPUs in the hardware platform
PLATBUSY - Total "platform" CPU busy of the PLATCPUS
PCTOFHDW - Percentage of platform busy in this MVS system
RMFINTRV describes each MVS system in a PR/SM partition,
while ASUM70PR describes the whole box. The RMFINTRV
variable PCTCPUBY is the percentage of the interval during
which the NRCPUS in this MVS system were dispatched.
Assume a 100 second interval, and assume that you have a
3090-600 with two partitions, a "test" partition as a
3090-300 that can use three CPU engines, and a "prod"
partition as a 3090-600 that can use all six engines, and
assume you have Capped the test partition at 33%. At full
utilization, then, PLATBUSY would be 100% (of PLATCPUS=6
engines), the test partition RMFINTRV PCTCPUBY would be
66% (of NRCPUS=3 engines) and the prod partition RMFINTRV
PCTCPUBY would be 66% (of NRCPUS=6 engines). There were
600 seconds of total hardware platform CPU busy
(PLATCPUS=6)*(PLATBUSY=100%)*(DURATM=100) = 600, and
there would have been 200 seconds in test partition busy
(NRCPUS=3)*(PCTCPUBY=66%)*(DURATM=100) = 200, and there
would have been 400 seconds in prod partition busy
(NRCPUS=6)*(PCTCPUBY=66%)*(DURATM=100) = 400 seconds,
and PCTOFHDW can be calculated for the test partition:
PCTOFHDW = 100*(NRCPUS*PCTCPUBY)/(PLATCPUS*PLATBUSY);
= 100*(3*66)/(6*100) = 100*(1/3)= 33%
which shows that while PCTCPUBY=66% in RMFINTRV, in fact,
the test partition was using the full 33% of the hardware
platform that capping allowed it to use; arguably the test
partition is at 100% of the capacity you gave it!
Unfortunately, the Capping Target value is not stored in
the type 70 record, but PCTOFHDW may be a better measure
of processor utilization in a PR/SM environment with
shared processor engines.
Thanks to Gene Fernando, American Honda Motor Co, USA.
Change 10.334 FOCUS SMF record processing code caused INPUT STATEMENT
VMACFOCU EXCEEDED RECORD length (because MXG did not protect for an
Mar 20, 1993 82-byte short record); the change was made in MXG 10.3,
but not entered in CHANGES, and thus I do not know to whom
to give thanks. (If it's you, let me know!).
Change 10.333 DB2ACCT fields ACCOUNTn were not input. The test for the
VMACDB2 existence of account fields (IF QWHSNSDA GE 6) should have
Mar 20, 1993 been GE 7, and needed to be relocated until after IMACDB2H
had been included (since that's where QWHSNSDA is input!).
Finally, the offsets for the QMDA triplet should have been
73, 77, and 79 instead of 75, 81, and 83!
Thanks to Linda Thomas, Alberta Government, CANADA.
Change 10.332 Many new ADOCs members were added to MXG 10.10. Some are
ADOCx completed, but many are still work in progress, with new
Mar 9, 1993 text and discussion to be added. Nevertheless, since all
of the "variable descriptions" have been reviewed, the
usefulness of the information justified baring my soul, as
there's clearly still a lot of writing to be done. Most
now have PROC PRINT and PROC MEANS examples, which I still
find to be the best tool in SAS to learn about new data.
I intend to concentrate more on writing now that 10.10 is
done and looks so robust. Our next newsletter will keep
you informed of my progress toward the consolidation and
rewrite of both MXG books and all Newsletters, but I still
will provide all text in the MXG Source Library first, and
then will concern how much of it is put on paper!
Change 10.331 NETSPY Type "U" record sometimes produced negative value
VMACNSPY for TRANSNO when LUFDRSEQ='.1......'B because I did not
Mar 9, 1993 verify that TRANSNO was non-zero before subtraction. Now,
TRANSNO=TRANSNO-1 is executed only if both the bit is on
and TRANSNO GT 0.
Thanks to Jan-Ake Christoffersson, GotaData, SWEDEN.
Change 10.330 Variables UBRELBK and UMRELBK should have been spelled as
VMACDCOL UBREBLK and UMREBLK, and now they are.
Mar 9, 1993
Change 10.329 MXG 10.10 has been tested under both SAS 6.07 & SAS 6.08,
CONFIG08 and there are no external changes to your MXG jobs when
Mar 9, 1993 you migrate to SAS 6.08. Member CONFIG07 works with 6.08.
However, there is a new CONFIG08 member in MXG 10.10, just
for consistency in naming conventions, and just in case it
turns out that it is needed when 6.08 becomes production.
Because SAS 6.08 is currently a Beta release, benchmarks
of MXG under SAS 6.08 will await the production 6.08.
Change 10.328 MXG 10.10 has been tested under SAS 5.18, but this is the
DOC last MXG version that will completely support that archaic
Mar 9, 1993 version! Future MXG enhancements will now exploit new SAS
Version 6 features, which may cause incompatibility.
Change 10.327 CONTROL-D Release 2.0.0 is also supported by MXG as there
VMACCTLD were no changes to their SMF record in that release.
Mar 9, 1993
Thanks to Brian Cobb, Credit General Industriel, FRANCE.
Change 10.326 NETSPY dataset NSPYLU average host response time AHOSTRSP
VMACNSPY was slightly off if the number of transactions terminated
Mar 9, 1993 at the host (LUNRSPSS) was different than the number of
transactions input (TRANSNO), because MXG incorrectly used
TRANSNO in the denominator; now LUNRSPSS is used.
Thanks to Bob Hursch, Lockheed Information Technology, USA.
Change 10.325 Support for OpenEdition/MVS OMVS, section in type 30 adds
EXTY30OM new dataset TYPE30OM, which will contain one observation
VMAC30 for each process segment in each type 30 record. There
Mar 9, 1993 can be many process segments in a type 30 interval or step
termination record, and TYPE30OM will contain observations
from both step term and interval records. In addition,
type 30 pseduo step termination records are created when
an OMVS address space is "dubbed", indicating a change of
in state of that address space. The pseudo termination
record is identified by ABEND='OMVSEX' (because an OMVS
EX() was issued). Each "dub" creates a separate type 30
step record, which are identified within each STEPNR by a
new sub-step number, SUBSTEP. This support has only been
coded and syntax checked.
Change 10.324 Variable RMLFLAG2 was not kept in ASTEX dataset DMONVOL,
VMACDMON but now it is and it is formatted $HEX2.
Mar 8, 1993
Thanks to John Rosza, Depository Trust Company, USA.
====Changes thru 10.323 were printed in MXG Newsletter TWENTY-THREE====
Change 10.323 The PDB data sets listed in the Weekly and Monthly jobs
JCLMNTH were not in synchronization; some were in the weekly but
MONTHBLD not in the monthly, and TYPETMNT was copied twice in the
WEEKBLD weekly and monthly examples. Now, all data sets created
Mar 7, 1993 by the JCLPDB6 example will be copied to WEEK & MONTH.
Thanks to Barry Lampkin, Polaroid, USA.
Change 10.322 Significant progress has been made in MXG documentation,
ACHAP31 as there are now many new ADOCxxxx members, but it's still
ADOCxxxx a long way from completion. Most ADOCs now contain sample
Mar 6, 1993 PROC PRINTs and PROC MEANS, and variable definitions have
been revised, but some of the text has not been updated.
Change 10.321 This is the "all-your-data-sets-tracking-system" to keep
ADOCDSNS track of storage of all data sets, combining DCOLLECT data
DAILYDSN (all of your online volumes as well as information on
JCLDAYDS HSM migrated datasets, HSM backups, DASD volume capacity,
TRNDDSNS HSM tape capacity, and VSAM clusters) with data from the
WKLYDSNS TMS (CA-1) product's TMC tape data set catalog. It is
Mar 6, 1993 described in member ADOCDSNS and in comments.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.320 Support for OpenEdition MVS, OMVS, in RMF records. TYPE70
FORMATS contains counts for OMVS address spaces (OMVS00-OMVS11 and
VMAC7072 OMVSAVG,OMVSMAX,OMVSMIN). TYPE71 contains six destination
VMAC71 counts for two new OMVS Swap Reasons, SWAPOI=OMVS Input
VMAC74 Wait, SWAPOO=OMVS Output Wait. New TYPE74OM dataset from
Mar 6, 1993 Monitor III captures OMVS Kernel Activity: TOT/MIN/MAX for
System Calls, CPU time, Fork/Dub Fails because of either
max users, max processes, or max processes per user, count
of users, count of processes, and the defined maximum
number of users, processes, and processes per user.
Change 10.319 Very preliminary support for RS6000 AIX commands VMSTAT,
VMACRSIO IOSTAT, and PS, with this user contribution. VMACRSCR
VMACRSPS is the script used that adds the data/time that is not in
VMACRSCR the command output! Not all fields are decoded, variables
VMACRSVM are not labeled, etc., but this is a start if you have the
Mar 6, 1993 need to look at AIX on your RS6000. The next release will
enhance and document, probably rename datasets and members
and add support for the AIX accounting file as well.
Thanks to Rachel Quiroz Holt, Neiman Marcus, USA.
Thanks to Andy Rockwell, Neiman Marcus, USA.
Change 10.318 TYPE42VL variables SMF42DB1 & SMF42DB2 are now formatted
VMAC42 as $HEX2. so they legibly print their bit values.
Mar 6, 1993
Thanks to Stephen W. Sweely, NM, AUSTRALIA.
Change 10.317 The GMT Offset, GMTOFFTM, is now available in RMF records
VMAC7072 under MVS/ESA 4.3, if Global Synchronization is enabled.
VMAC70s By comparing SYNCTIME with ENDTIME and using fuzzy logic,
Mar 3, 1993 MXG now creates the RETAINed variable GMTOFFTM from the
type 70 record, that may be useful in converting other SMF
records that contain GMT instead of local. This work is
not complete, since it only protects records written after
the first type 70 is found in your SMF file. I intend to
enhance the SPIN logic in BUILDPDB to keep the GMTOFFTM
from each SYSTEM to protect those early records!
Change 10.316 MXG formats contain the data value, a colon, and the data
UTILFMTX description, but for some report users (notably auditors)
Mar 5, 1993 the data value and colon confused them. This utility will
create an alternative format library for reports that has
removed the data value and colon. You can then point the
//LIBRARY DD in your report programs to the alternative
format library, or use SAS's FMTSEARCH option in reports.
Thanks to Joe Faska, Depository Trust, USA
Change 10.315 TCP/IP allows for two different SMF record IDs for TELNET
VMACTCP and FTP, but some sites assigned only one record ID. This
Mar 5, 1993 is now supported, as MXG reads inside the record to decide
which dataset is to be output. See also Change 10.256.
Thanks to Kurt Karlsen, NIT.
Change 10.314 MXG 10.1+ only, for JES3 BUILDPD3, "WORK.TAPEMNTS.DATA"
BUIL3606 error message results because the _VARTMNT and _CDETMNT
Mar 5, 1993 macro invocations were not in BUIL3606. Now they are!
Thanks to Hanno Bresch, SAS Institute, GERMANY.
Change 10.313 Variable ZDATE was not in the KEEP= list for TYPETAO data
VMACTAO set, but it is now!
Mar 5, 1993
Thanks to Sharon O'Daniel, Blue Cross Blue Shield of Kentucky, USA.
Change 10.312 The paper "An RMF Bigots View of Measuring UNIX Systems,
ADOCHPCS or how i learned to type in lower case", presented at
Mar 3, 1993 CMG and SHARE by Chuck Hopf, is now contained in ADOCHPCS.
Change 10.311 This is a preliminary change created for initial testing.
BUILD001 BUILDPDB was split into six members:
BUILD002 BUILD001 - Reads SMF and creates all WORK data sets,
BUILD003 CICSTRAN.CICSTRAN, DB2ACCT.DB2ACCT and the
BUILD004 PDB.DB2STATn data sets.
BUILD005 BUILD002 - SORT some WORK datasets into PDB library.
BUILD006 BUILD003 - SORT RMF datasets into PDB and then build
Mar 3, 1993 PDB.RMFINTRV dataset.
BUILD004 - Combine CICS Statistics datasets and create
four PDB.CICxxxRV datasets.
BUILD005 - (For JES2).
Sort TYPE30xx, TYPE6, TYPE26J2, interleave
with SPIN library, create PDB.JOBS,PDB.STEPS
PDB.JOBS, update SPIN library, copy SPIN
datasets into PDB (for backup), and create
PDB.SPUNJOBS.
BUILD006 - (For JES3).
Sort TYPE30xx, TYPE6, TYPE26J3, interleave
with SPIN library, create PDB.JOBS,PDB.STEPS
PDB.JOBS, update SPIN library, copy SPIN
datasets into PDB (for backup), and create
PDB.SPUNJOBS.
This may permit improved run time of the BUILDPDB process,
because once BUILD001 has run, the remaining four phases
may be executable in parallel. However, there will be JCL
constraints, and SAS/SHARE may be required for concurrent
update from parallel steps, and there may be additional
design changes before this becomes a recommended process.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 10.310 For interval observations most MXG datasets have STARTIME
VMACNSPY and DURATM variables for the interval start and duration,
VMAC38 but in some datasets STARTIME does not exist or it has a
VMAC39 different name, and similarly for DURATM. It is now my
VMAC110 intention that STARTIME and DURATM variables will exist
VMACTSOM consistently in all MXG interval data sets, by creating
Mar 1, 1993 them where necessary (and without changing existing names
of their counterparts, so your reports won't break). The
members listed in this Change have all had either STARTIME
or DURATM or both added to their interval data sets,
except for TYPE39FF (NETMASTER), which does not contain
the DURATM and hence STARTIME cannot be determined. Let
me know if you find others that should be updated.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 10.309 Very archaic EPILOG 451 code missed three undocumented
VMACEPIL bytes. Insert +3 after BIODISP PIB1. to correct the
Feb 28, 1993 BIO..... variables after BIODISP.
Thanks to Chris Spikings, Deutsche Bank AG, ENGLAND.
=Changes thru 10.304 were included in MXG PreRelease 10.6, Feb 23, 1993=
Change 10.308 OPC data apparently can be dumped in different formats.
VMACOPC If "OPC" starts in the 1st byte of the logical record, MXG
Feb 25, 1993 default is valid, but if "OPC" starts in the 4th byte of
the record, you must change to OFFSMF=-3 to OFFSMF=0 in
VMACOPC. Use DATA;INFILE OPCLOG;INPUT;LIST;STOP: to
print the first record to find the location of "OPC".
Thanks to Fulvio Robbiani, Banca Commerciale Italiana, ITALY.
Change 10.307 MXG no longer sets ABEND=NOTP in PDB.JOBS & PDB.SPUNJOBS
BUILDPDB because it was overlaying the ABEND value from the job
BUILDPD3 termination record. This will help in counting job-level
SPUNJOBS events, but for analysis of CONDCODE within ABEND, you
Feb 24, 1993 must use the PDB.STEPS data (CONDCODE in PDB.JOBS is wrong
if a flushed step followed the abending step).
Thanks to Steve Talley, Department of the Army, USA.
Change 10.306 Type 0 SMF record processing now checks record length and
VMAC0 deletes invalid records, after putting a message on the
Feb 24, 1993 SAS log. Occasionally, SMF records are created with the
record ID of 0, due to coding errors, but they looked like
IPL events. If you detect bad records, and know what the
true ID is, you can convert the bad record ID in member
IMACFILE, using IF ID=0 AND LENGTH GT 31 THEN ID=42;
if the bad record to be converted was actually a type 42.
Change 10.305 DCOLLECT has been enhanced in DFP 3.3 by APARS OY59795 &
EXDCODAG OY60048 with nine new datasets describing SMS constructs
EXDCODBC and control information. Even more significant, DFSMS 1.1
EXDCODDC adds long-needed VSAM statistics (including space used!).
EXDCODDR Two existing datasets are enhanced with new variables:
EXDCODLB DCOLCLUS (VSAM Data Set Information)
EXDCODMC DCAASP ='BYTES OF*FREESPACE*IN DATA SET'
EXDCODSC DCACAS ='CONTROL*AREA*SPLITS'
EXDCODSG DCACIS ='CONTROL*INTERVAL*SPLITS'
EXDCODVL DCADLR ='DELETED*RECORDS'
IMACDCOL DCAEXC ='EXCPS'
VMACDCOL DCAHARBA='HIGH ALLOCATED*RELATIVE BYTE*ADDRESS'
Feb 24, 1993 DCAHURBA='HIGH USED*RELATIVE BYTE*ADDRESS'
DCAINR ='INSERTED*RECORDS'
DCAKLN ='KEY*LENGTH*
DCANLR ='LOGICAL*RECORDS'
DCARKP ='RELATIVE*KEY*POSITION'
DCARTR ='RETRIEVED*RECORDS'
DCAUPR ='UPDATED*RECORDS'
DCAVRRDS='VARIABLE LENGTH*REL RECORD*DATA SET?'
DCOLDSET (Active Data Set Information) new variables:
DCDALLFG='ALLOCATED*SPACE*RETURNED?'/
DCDNMBFG='UNUSABLESPACE*RETURNED?'
DCDPDSEX='POSIX*FILE SYSTEM*FILE'
DCDSECFG='SECONDARY*SPACE*RETURNED?'
DCDSTRP ='STRIPED*DATA*SET'
DCDUSEFG='USED*SPACE*RETURNED?'
Additionally, if the DCOLLECT option SMSDATA is specified,
these nine new MXG datasets will have observations that
describe your SMS environment:
DCOLAG - Aggregate Group Information
DCOLBC - Base Configuration Information
DCOLDC - Data Class Construct Information
DCOLDR - OAM Optical Drive Record Information
DCOLLB - OAM Optical Library Record Information
DCOLMC - Management Class Construct Information
DCOLSC - Storage Class Construct Information
DCOLSG - Storage Group Construct Information
DCOLVL - Storage Group Volume Information
These nine new MXG datasets have been syntax checked, but
no test data has yet been made available; with 277 new
variables, I'll be surprised if it's perfect!
Change 10.304 Unexpected non-packed decimal field caused IMS log reads
ASMIMSLG program to ABEND with 0C7. After the BZ READIN02 that is
Feb 23, 1993 after the label READINPQ, insert this instruction:
OI ARRVDATE+3,X'0F'
to ensure the field is in packed decimal format.
Thanks to Jeffrey S. Crum, Ashland Oil, USA.
Change 10.303 TYPE1415 variable DSORG can be "PS" when really is "PO"
VMAC1415 and MEMBER can be blank because the IBM record is wrong.
Feb 23, 1993 If PDSs with member name specified are concatenated, the
first type 14 has DSORG='PO' and correct MEMBER name, but
the 2nd and subsequent type 14 records had DSORG="PS", and
MEMBER was blank. The DSORG was wrong because both the
JFCBORG and DCBDSORG are '40'X (PS) in the concatenation
records, instead of '02'X (PO) as is in the first record.
MEMBER is blank because MXG INPUTed it only for DSORG=PO
(the location of MEMBER contains RELGDG if it is not a PDS
and is a GDG!). Why are JFCBORG and DCBDSORG both "PS"
for a PDS? Because when the member name exists in the
JCL, OPEN treats the data set as sequential, even though
the true DSORG (in the VTOC) is still "PO"! Since IBM
will take some time to address this situation, MXG has
circumvented the problem (hopefully): If MEMBER starts
with + or -, it must be a RELGDG and MEMBER is blanked.
Otherwise, if MEMBER is non-blank, it must be a PDS, and
so MEMBER is valid and DSORG if forced to "PO".
Thanks to Herbert G. Strozinsky, Burlington Northern Railroad, USA.
Change 10.302 OPC/A data records are created as RECFM=U but test data I
VMACOPC received had been copied to RECFM=VBS, misleading me to
Feb 23, 1993 assume that RECFM=VBS had to be specified in macro _SMFOPC
defined in VMACOPC. The RECFM=VBS parameter is now removed
from VMACOPC, so MXG will read either VBS or U data, using
the RECFM in the data set label.
Change 10.301 This new report macro replicates IBM's RMF reports from
ANALRMFR MXG's TYPE70xx thru TYPE78xx datasets. In addition to
Feb 22, 1993 producing reports, the source code can be read to find out
which MXG variables are used for RMF report values. This
support includes all RMF reports except Channel and Trace,
(which will be added when there is a groundswell of user
requests, or when we feel like it, whichever comes first!)
The report syntax is self-defined in this member.
Change 10.300 Support for Empact's HiperCache product's SMF record adds
EXHIPRSA two new dataset:
EXHIPRVS HIPRSAM - Hipercache SAM data set activity
IMACHIPR HIPRVSAM- Hipercache VSAM data set activity
TYPEHIPR thanks for this significant user contribution.
VMACHIPR
Feb 22, 1993
Thanks to David Childress, Lowe's Companies, Inc, USA.
Change 10.299 RMFINTRV enhancements have added SIO75CNT (Paging SSCHs),
RMFINTRV SIO74TAP (SIOs to tape devices), and TSO2-TSO4 variables
Feb 22, 1993 SWAP,TRAN,RESP for 2nd thru 4th period TSO counts and
response time. In addition, these swap counts:
EXTAUX LOGAUX LOGEXT PHYAUX PHYEXT
and page movement rates:
HIPMIGRS HIPREADS HIPWRITS PGMIEXAU PGMVTOEX PWSSMIIN
were added to RMFINTRV from the TYPE71 dataset.
Thanks to Tom Parker, Hogan Systems, USA.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.298 PDB.PRINT dataset now contains new variable TOTLINES, the
BUILDPDB sum of PRINTLNE, PUNCHCRD, EXTWTRLN, for sites that still
BUILDPD3 have impact printers. Note that TOTLINES is the number of
Feb 22, 1993 print line images if JES2 or PSF prints line-mode data,
but if PSF prints PSF-mode data, it counts print records,
and a print record can be a single print line or it could
be a multi-page graph. Because of this, variable SHEETPRN
the actual number of sheets of paper printed, should be
used, with TOTLINES only used for impact printers under
JES. See member ACHAP31 for discussion of print charging.
Change 10.297 Support for optional HOGAN application variables was
IMACICUS updated to add new variables FPSSCRN, TCTPLD, TCBFUNC,
VMAC110 PLDVERS, and correct variables FPSOPTN and FPSTYPCD, and
Feb 22, 1993 the new variables were added to CICSTRAN KEEP= list (but,
like all the optional variables in CICSTRAN, they will not
exist unless the optional code is enabled in IMACICUS).
Thanks to Tom Parker, Hogan Systems, USA.
Change 10.296 DB2 Reports. If PMIOS05=YES was requested with PDB=SMF,
ANALDB2R and PDBOUT= was not specified, ERROR "LIBREF SMF IS NOT IN
Feb 21, 1993 A VALID FORMAT" resulted. ANALDBTR should have replaced
the earlier "paring" macros, which were the source of the
real error. Replacing the "paring" with %ANALDBTR invoked
for those pairs eliminated the error. Specifying PDBOUT=
circumvented the error. The PMACC02=YES accounting detail
in the accounting detail report and the values reported as
averages in the Buffer Pool Summary were reported
incorrectly. In addition, a 'Total Average' column was
added to be consistent with DB2PM.
Change 10.295 The variables created to identify why a plan had ended
ASUMDB2A were created but not kept because they were not in the
Feb 21, 1993 SUM= list.
Change 10.294 Support for HP's PCS data from HP/UX is extended to now
ADOCHPCS read MPE data (HP's older, proprietary operating system).
EXHPCSSP Some minor logic bugs were also corrected. Macro HPCSDLM
IMACCSSP was added to member IMACHPCS to identify the character(s)
TYPEHPCS that are to be used as field delimiters when the PCS data
VMACHPCS was created, since the delimiter is a part of the data
Feb 21, 1993 collection command. Member ADOCHPCS now contains the
specific SCOPE commands that was used to create the data
that MXG TYPEHPCS support expects. In addition, that same
ADOCHPCS member contains Chuck Hopf's fine paper on UNIX
resource measurement, "An RMF Bigots View of Measuring
UNIX Systems, or how i learned to type in lower case".
Thanks to Doug McBride, Hewlett-Packard, USA.
for patience with the untutored in this particular world of DP, and
for the data and manuals that made this enhancement to MXG possible.
Change 10.293 Support for Boole & Babbage CMF User SMF record subtypes
EXCMFCAR expanded to support essentially all subtypes; the complete
EXCMFCCS status for each subtype is listed in comments at the start
EXCMFCDS of member VMACCMF. Most of this enhancement is based on
EXCMFCJS the sample SAS code distributed with CMF, so that names of
EXCMFCOS variables and datasets are the same, but their sample code
EXCMFCPQ was architecturally revised and edited into the MXG style.
EXCMFCSC With this enhancement, these datasets are now created,
EXCMFCSS and all have been tested with real data records, too!
EXCMFC93
EXCMFDDS Subtype Dataset Description (Dataset Label)
EXCMFGDA 00 CMFDEVIC CMF 00 DEV
EXCMFJDS 00 CMFDOM CMF 00 DOM
EXCMFPDS 00 CMFIPS CMF 00 IPS
EXCMFPGS 00 CMFOBJ CMF 00 OBJ
EXCMFPDS 00 CMFPG CMF 00 PG
EXCMFUSS 00 CMFSRMC CMF 00 SRM
EXCMFWOR 00 CMFEXTCC CMF 00 TCC
VMACCMF 00 CMFEXTPG CMF 00 TPG
Feb 21, 1993 00 CMFEXTRT CMF 00 TRT
01 CMFCPUQ CPU QUEUE COUNTS
01 CMFCPUS CPU AND CHANNEL SAMPLE DATA
02 CMF02PSD ASM DATA (PAGE/SWAP DATASETS)
03 CMF03PGS PAGING DATA (SRM SAMPING)
04 CMF04WOR WORKLOAD DATA (DOMAIN SAMPLING)
05 CMF05DDS DASD DEVICE DATA
05 CMF05TDS TAPE DEVICE DATA
06 CMF06GDA JES SPOOL ACTIVITY
06 CMF06JDS JES CLASS ACTIVITY
09 CMFASMQ ASM DATA
19 CMFTRACE I/O WORKLOAD TRACE
20 CMF20CCS TSO COMMAND SUMMARY
20 CMF20CSS TSO COMMAND DETAILS
21 CMF21USS TSO USER RESOURCES
23 CMFPG0V CMF 23 PG0V
23 CMFPRIOS CMF 23 PRIOS
27 CMF27C93 CACHE SAMPLING MODEL 3990-3
27 CMF27CAR CACHE SAMPLING MODEL 3880
27 CMF27CSD CACHE SAMPLING CSD
29 CMF29COS COMMON STORAGE COS
29 CMF29CJS COMMON STORAGE CJS
29 CMF29CDS COMMON STORAGE CDS
Change 10.292 Support for IMF Release 2.8 uncovered MXG corrections:
VMACCIMS Dataset CIMSTRAN variable INPQUETM was wrong for fastpath,
Feb 20, 1993 and COREALOC is actually "Storage Available", so its label
was changed.
The IMF Release itself added these changes:
Dataset CIMSTRAN:
New variable UOWTIME is now created from existing
variable ALPCBTRN. For DBCTL, ALPCBTRN is the IMS
Transaction's Unit of Recovery, the same as the CICS
Unit of Work ID, UOWID. MXG converts the first six
bytes of ALPCBTRN into UOWTIME, the 6-byte part of
UOWID that is the constant token across all records for
the same transaction, and the token that is used to
match IMS events to their CICS and/or DB2 counterparts.
UOWTIME is always created, but is only valid when
ALPCBTRS contains a UOR. The second field CICS/DB2
field used to match transaction, NETSNAME, the name of
the originating network on which UOWTIME was created,
is not yet in the IMF transaction record.
Variable FLGSPECL now contains Q for Quick Reschedule.
New variables TRNSKW and TRNSNKW count the SYNC buffer
flush writes (Key-Writes and NonKey-Writes).
New variable APPCIMS flags APPC/IMS transactions.
Dataset CIMSDBDS: Two new counts:
DBTDDNNO='DDN*DBTNO'
DBTSECNO='SEC*DBTNO*(OVERFLOW)'
and seven new flag (status) variables:
DBTMSCNT='DBT CNTRS*OVERFLOWED?'
DBTOSSB ='OSAM*SB IN*EFFECT?'
DBTOVFLW='DBT*OVERFLOW*OCCURRED?'
DBTTYDDN='I AM A*DDNAME*DBT?'
DBTTYOTH='I AM A*CATCH-ALL*DBT?'
DBTTYSEC='I AM A*SECONDARY*DBT?'
DBTVSAM ='VSAM*ACCESS*METHOD?'
Fortunately for everyone, the new fields used existing
reserved fields, so the changes were compatible.
Change 10.291 Support for Oracle 6.0.33.1.51 added two READTIME and JOB
VMACORAC and ACCOUNTn fields, and two additional CPU time measures.
Feb 20, 1993 CPUCICTM is the CICS subtask CPU time (now added to CPUTM
as it was not previously captured). CPUXMETM is the CPU
time spent in cross memory mode in the ORACLE address
space, but as this is already captured in CPUTCBTM or
CPUSRBTM, it is not added to CPUTM; CPUXMETM lets you see
how much of CPUTM was spent in the ORACLE ASID. There is
a new section for SQLNET data, but the contributor site
did not have documentation nor data for that option. The
USER field section is added; see comments in VMACORAC on
how to keep the USER field if it exists in your data.
Thanks to Martyn A. Jones, Data Sciences UK
Change 10.290 This significant user contribution matches SLR-IMS log
TYPESLRI processing - it keeps only a subset of the statistics that
Feb 19, 1993 MXG's new ASMIMSLG produces and it uses the output of IBMs
DBFULTA0 as input for Fast Past processing, which greatly
reduced the elapsed processing time. This contribution is
documented in the author's letter at the beginning of the
member, which is actually the JCL to build a PDS with the
several members of this IMS log processing alternative.
Thanks to George Denissof, Savings Bank Services Ltd, Espoo, FINLAND.
Change 10.289 To bill tape datasets using TMS dataset DSNBRECD is built
TYPETMS5 for the first dataset on the volume by OUTPUTing the info
VMACTMS5 from the volume record, but if the first dataset on the
Feb 19, 1993 volume was SCRatched or DELeted in the catalog, MXG still
output to DSNBRECD, causing a billing charge for a "dead"
tape. Now, the observation is OUTPUT only if the dataset
is neither scratch nor deleted.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.288 Service time could still be zero, because the reset logic
TYPEIMSA had not been moved into TYPEIMSA from TYPEIMS. Lines in
Feb 19, 1993 TYPEIMSA from STRTTIME=GUTIME; thru OUTQUETM=OGUTIME...
were deleted and replaced by TYPEIMS lines from
/* TEST FOR MISSING thru RESPNSTM=ENDTIME-ARRVTIME;.
Thanks to Lonnie T. Rimmer, Philip Morris, USA.
Change 10.287 Format $MGAMDDT is no longer used (it was for an earlier
FORMATS version of Amdahl's SPMS), and has been removed.
Feb 19, 1993
Thanks to Adrian Reynolds, SAS Institute, ENGLAND.
Change 10.286 MXG 10.5 only. Variable AVGMTPTM, the average mount time
VMAC74 per TAPEMNTS (new in ESA 4.3) was incorrect. DEVMNTTM,
Feb 19, 1993 the duration when a mount was pending is added to TYPE74.
Change 10.285 Support for IBM 3495 Tape Library Dataserver Statistics
EXTY94 SMF type 94 record is added, providing hourly statistics
IMAC94 (min/max/avg counts/durations) of drives mounted, mount
TYPE94 requests pending, demounts, ejects, audit requests, and
VMAC94 the number of insert stores.
Feb 18, 1993
Change 10.284 Amdahl MDF creates TYPE70PR observations with LPARNUM=0,
ASUM70PR while the first LPAR in IBM's PRSM or Hitachi MLPF is=1.
Feb 18, 1993 ASUM70PR will produce an error message "MORE THAN 16 LPAR"
when it encountered the unexpected LPARNUM=0. Now, this
summary member supports 17 LPARs, numbered 0 thru 16!
Thanks to Jeff McFadyen, Ministry of Correctional Services, CANADA.
Change 10.283 Some fields (notably R791TCPU) are accumulated in type 79
VMAC79 records created by RMF Monitor II. However, it appears it
Feb 17, 1993 is not possible to deaccumulate the data. Using the sort
order BY SYSTEM R79SES R791ASID R791JBN STARTIME does
correctly sequence the TYPE791 dataset, but MVS/ESA 4.2.2
data contains adjacent intervals in which R791TCPU drops
rather than increases. I assume these are either step
transitions or reuse of the same ASID by the same Job in
which the CPU clock is reset, but there is no indicator of
STEPNR or JESNR in the record by which the reset can be
recognized. Furthermore, even when two intervals happen
to show an increase, it is possible that the CPU clock was
reset, but the CPU time in the second interval just
happened to be larger; in this case, if the values were
deaccumulated, the wrong CPU time would have been created.
In addition, the TYPE791 data contains accumulated counts
for page activity when the task is swapped in, but those
counts are zeros in the next record if the task is swapped
out, requiring additional investigations in the absence of
logic description from IBM as to when this occurs. Thus a
safe algorithm for deaccumulation is not possible until
IBM enhances the record and describes when fields are
zeroed and when they are not!
Thanks to Khalid Al-Harthi, Saudi Arabian Airlines, SAUDI ARABIA.
Change 10.282 This suite of RACF reports was made more user friendly by
ANALRACF removing references to &DAYNUM, and providing specific
Feb 17, 1993 example of how to set &START and &END in JCLRACFR. All
occurrences of RACFTERM $6. were changed to $8. MXG Format
MG080TY was updated with new types. PROC DATASETS were
added to delete unused work data sets, freeing DASD. Two
new members now exist: JCLRACFR executes ANALRACF
programs, and JCLPRINT prints reports created by ANALRACF.
The internal members in ANALRACF that were altered are:
JCLRACFR JCLPRINT MXGDAY1 REPRACF REPRACFB REPRACF2
REPRACF3 REPRACF4 WPDBRACF
While ANALRACF provides a lot of reports, the new TYPE80A
dataset may prove to be a better source of reporting. Much
of the logic in ANALRACF was required because MXG split
the type 80 record into multiple observations. The TYPE80A
member creates one observation per type 80 into several
datasets for improved access and reporting. Try it first!
Thanks to George Waselus, State of Arizona, Department of Admin, USA.
Change 10.281 DB2 Trace IFCID 0044 Lock fields were input incorrectly.
VMAC102 Change INPUT QW0044KL PIB1. to read
Feb 17, 1993 to read INPUT @I+8 QW0044KL PIB1.
Thanks to Jason Lau, AMP Society, AUSTRALIA.
Change 10.280 The 4th TCB (Secondary LU) CPU time was not summed into
VMAC110 CPUTCBTM in dataset CICDS, and thus it was also not in the
Feb 15, 1993 CICEODRV, CICINTRV, CICREQRV or CICUSSRV datasets.
Change 10.279 Believe it or not, there is still SMF data from VS1 being
VMAC535 created, and its type 5 record caused MXG to fail because
Feb 4, 1993 I assumed the MVS/370 service unit fields were present in
the record. Now their input is conditional!
Thanks to Don Mosley, Farmland Industries, USA.
Change 10.278 OMEGAMON/CICS V550 PTF QOC0109-DATACOM SPE- adds 16 bytes
IMACICOC to their BSC segment in the type 110 record for both CICS
IMACPTF Version 2 and CICS/ESA. This will corrupt the data in the
Feb 4, 1993 other OMEGAMON segments, as well as any user data segments
your installation might have added. And, of course, there
is no way to detect whether or not you have installed this
PTF by examining the type 110 record! As a result, you
will need to update member IMACPTF to enable _QOC0109 to
tell MXG when you have installed this OMEGAMON PTF. (Page
9 of Newsletter TWENTY-TWO discussed how to enable the
MXG Support for OMEGAMON V550.)
Thanks to Carol Harper, EG&G Idaho, USA.
Change 10.277 DCOLLECT does not capture VSAM space used. IBM Appendix E
VMACDCOL of the MVS/DFP Access Method Services For ICF documents
Feb 4, 1993 that DCDUSESP is not 'valid' for VSAM datasets. MXG's
ASMVVDS/TYPEVVDS processing, which reads the VVDSs, does
capture space allocate and space used. However, under
user pressure, IBM has announced, in ETR Item E3058,379
that DFSMS Release 1.1 (March, 1993) will add a field to
the "A" record with space used value.
Note: Change 10.305 added the new fields to "A" record,
which is output to DCOLCLUS dataset; see ADOCDCOL.
Thanks to Frank Vessell, ITT Consumer Financial Corporation, USA.
Change 10.276 Support for STOPX37 Release 3.5 added a number of new
VMACX37 variables to the STOPX37 dataset. This support has not
Feb 4, 1993 yet been tested with actual 3.4 data records.
Change 10.275 MXG 10.4-10.5. STOPOVER resulted because line 031500
VMAC73 should be SKIP=SKIP-8; instead of SKIP=LENCHDS-8;. (Note
Feb 4, 1993 that line 030800 still must be SKIP=LENCHDS-8;).
Thanks to Jim Nissen, Principal Financial Group, USA.
Change 10.274 Support for Empact's POOL-DASD user SMF record, written
EXTYPOOL whenever POOL-DASD manages an allocation. The text of the
IMACPOOL WTO messages associated with the allocation override by
TYPEPOOL POOL-DASD describes what action was taken.
VMACPOOL
Feb 3, 1993
Change 10.273 Support for Candle's IMS Transaction Reporting Facility,
EXITRDAT ITRF, is added. MXG reads the output file created by the
EXITRDB2 ITRF Batch Summary program to create these MXG datasets:
EXITRMSG ITRFMSG - Message records
EXITRMSO ITRFMSGO - Message Out records
EXITRSUM ITRFDATA - Database Records (DL1 and Fastpath)
IMACITRF ITRFSUM - Summary Records (DL1 and Fastpath)
TYPEITRF ITRFDB2 - Summary Records (DB2)
VMACITRF ITRF is a new part of Omegamon II for IMS. Its online
Feb 3, 1993 component creates an IMS log record (default ID=160) that
captures response time, CPU time, virtual storage used,
and elapsed time of DL1 and DB2 calls. That log record,
along with IBM log records 01,03,07,08,31,32,33,35,5607,
5901,5903,5936,and 5937 are the input to the ITRF Summary
program, which constructs transaction events and creates
the output file that is the input for MXG's TYPEITRF
program. Although Candle provides an option to send all
of those required IMS log records to SMF for processing
by the Summary program, this is one instance in which I
think it ill advised to use SMF because of the significant
volume of data. (If Candle ever builds a transaction
data in the online component and write a single record for
an IMS transaction, I would strongly endorsed SMF as the
correct destination for such a record!).
Change 10.272 DB2 Accounting report 2nd occurrence "GET PAGE REQUEST"
ANALDB2R is actually "BUFFERPOOL EXPANSIONS". The Average values
Feb 3, 1993 of Buffer Pool statistics are incorrect; they were divided
by the number of occurrences, then divided a second time.
(We missed this careless error because in our test data
we happened to have only one occurrence for each group!)
Finally, the "Total" column will be relabeled to indicate
it is the "Total of Averages", and a new column with the
true total has been added to the report.
Thanks to Tuomo Rahko, KOP / Kansallistieto, FINLAND.
Change 10.271 Processing Landmark's Monitor For CICS data Release 9 may
TYPEMON8 produce "INVALID DATA FOR TIESDATE" and "ERROR"INVALID DO
Feb 3, 1993 LOOP CONTROL INFORMATION", if the Landmark Dump program
does not specify CONVERT on the DUMP statement. (See their
JCL samples TMON9DBU and TMON9FSU). Without the CONVERT
operand, the dumped data is not converted to Release 8
format, which is the only data format that Landmark has
documented externally. As long as DUMP CONVERT is used,
MXG has no problem processing Release 9 data. MXG now
detects this condition and writes an error message to the
SAS log alerting you to the incorrect dumping. Landmark
has also begun shipping of Release 1.0, which has the same
data records as Release 9 (and which also requires the use
of the CONVERT option).
Thanks to Terry Baker, Royal Insurance, USA.
Change 10.270 MXG 10.2 thru 10.5 only. Invoking the READDB2 program:
READDB2 %READDB2(INFILE=SMF,PDBOUT=XXX,IFCIDS=ACCOUNT STATISICS);
Feb 3, 1993 did not write DB2ACCT,DB2STAT0,DB2STAT1 to the XXX ddname,
because the defaults defined in IMACDB2 were not changed
by READDB2. The macro definitions _DB2ACCT and _DB2STAT
were replaced by new definitions of _LDB2ACC, _LDB2ST0,
and _LDB2ST1 to correct this error.
Change 10.269 READDB2 fails with "ERROR: THE FILE WORK.T102S: WAS NOT
READDB2 FOUND" if the USER=xx option is specified, because READDB2
Feb 3, 1993 expected the selected datasets to be in the WORK file.
Thanks to Mike Marek, Kraft General Foods, USA.
Change 10.268 10.4-10.5 only. INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC28 resulted because variable LSAMINID was input twice! The
Feb 3, 1993 second occurrence in the INPUT statement must be deleted.
Thanks to Adrienne Wijlaars, Belastingdienst Automatiser, NETHERLANDS
Change 10.267 Title statements in these graphic members still contained
GRAFBNCH the options .F and .H of an ancient SAS version (82.4).
GRAFCICS The period should have been removed from both options long
GRAFVM ago!
Feb 2, 1993
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.266 DB2 Trace subtype 191 (data set T102S191) is now decoded,
VMAC102 although some of the internal diagnostic sections are not,
Jan 28, 1993 nor is this strange subtype protected if the data length
exceeds 5000 bytes. (DB2 self-limits a DB2 data block to
5000 bytes, even though the SMF record can be 32760 bytes.
When an IFCIC=191 data block exceeds 5000 bytes, DB2
inserts two-byte length fields between the blocks to
build the SMF record, but DB2 does not update the internal
offsets inside the data blocks! This will require lots of
nasty logic to either strip the length fields or to figure
out how many length fields there are and then to correct
the internal offsets to the external record locations! If
someone really needs the diagnostic sections decoded and
provides sample data, only then will I have to spend the
time to figure out how to do it!)
Thanks to Tom Parker, Hogan Systems, USA.
=Changes thru 10.265 were included in MXG PreRelease 10.5, Jan 28, 1993=
Change 10.265 Support for CA's IDMS Release 12 Performance Monitor SMF
VMACIDMS records is confirmed. It was easy, as there were no
Jan 28, 1993 changes in their SMF records!
Thanks to Roger Clayton, Cryovac Division of W.R. Grace & Co, USA.
Change 10.264 Support for NPM Release 1.6 added new values for several
EX028CM7 formats and changed the FRP, NAM, NCD, and TRI segments.
EX028LA6 New subtypes 84x,85x are output in the existing NPMINFRP
EX028LA7 dataset. Six new data sets are created:
EX028LA8 Subtype Dataset
EX028LA9 80x NPMLANET Ethernet Lan
EX028LAA A0x-A1x NPMLANOD ODLC Lan
FORMATS C3x NPMLANSG Lan Segment Utilization
VMAC028 C0x-C2x NPMCMLAN Start/Stop/Alter Lan
Jan 28, 1993 C4x-C5x NPMLANES Lan Monitor Exception
C6x-C7x NPMLANSA Lan Attach/Detach
Change 10.263 Some new TYPE71 page movement variables are rates per
VMAC71 second didn't so indicate in their label but now they do!
Jan 27, 1993 (You can always determine if a variable is a rate simply
by looking at all occurrences of the variable name in the
MXG source VMAC.... member to see if it is divided by the
interval duration.
Thanks to Bill Fife, Computer Associates, USA.
Change 10.262 Support for NETSPY Release 4.3 and LANSPY Release 1.1.
EXNSPYLD NETSPY added STOPTIME to NSPYLU, NSPVTSWD to NSPYTR,
EXNSPYLF NSPYLINE and NSPYNPSI datasets. Many new variables were
IMACNSPY added to LANSPY dataset NSPYLANL, including frame and byte
VMACNSPY counts for LLC, NetBios, IP, IPX, XNS, DEC, LAT, LAVC, ARP
Jan 27, 1993 X.25, AppleTalk, NCP, SMB, VINES, NFS, FTP, ICMP, Telnet,
Feb 20, 1993 Broadcast, Multicast, and SNA over Ethernet! Counts of
frames and bytes were also added to NSPYLANS. New dataset
NSPYLAND captures internetwork delays. Member EXNSPYLF
controlled outputting of dataset NSPYLANF by testing
IF SUM(a,b,c) THEN OUTPUT ..., which created observations
only if the sum was non-zero, but two users were puzzled
why it did not read IF SUM(a,b,c) GT 0 THEN OUTPUT...,
so to avoid unnecessary puzzlement, it now uses GT 0!
(Without the GT 0, the OUTPUT is executed if the sum is
non-zero; since the a,b,c values were input as PIB4, they
could never be negative, and there was no logic exposure,
but it is more accurate and user friendly to use GT 0!)
Feb 20. New Path Entry Layout for Extended Subtype D LAN
SPY records was coded, and several incorrect lengths were
revised. No data for testing yet available.
Change 10.261 Support for MVS/ESA 4.3. These variables were added:
BUILDPDB Dataset Variable Description
IMACPDB TYPE23 SYNCTIME - Datetime value when the SMF Global
RMFINTRV TYPE30_V Recording Interval ended (the STATUS
VMAC23 TYPE70xx function). This value is put into
VMAC26J2 thru other SMF and RMF records so the data
VMAC30 TYPE79xx can be matched exactly! However, the
VMAC32 new SYNCTIME includes the GMT offset,
VMAC33 so if you have a non-zero value for
VMAC42 TIMEZONE= in SYS1.PARMLIB(CLOCKxx),
VMAC60 SYNCTIME will be in GMT while all the
VMAC6156 other timestamps will be in the LOCAL
VMAC71 time zone! And, the GMT offset value
VMAC73 is not provided in these records!
VMAC76 You Synchronize SMF and RMF records
VMAC77 with the SYNCVAL and INTVAL values
Jan 28, 1993 in the SMFPRMxx member of parmlib.
Feb 9, 1993 TYPE26J2 SUBMUSER - Submitting USERID
NOTIFYND - Job end execution notify NODE
NOTIFYUS - Job end execution notify USERID
ACCOUNTn - Job card accounting fields finally!!!
NRACCTFL - Number of accounting fields.
LENACCTn - Length of nth accounting field
DUPJBDLY - Flag that job was delayed due to
Duplicate Job Name Hold event
OFFLPURG - Flag that this purge record was due
to Spool Offload event, and is not
the actual purge event. (This flag
requested only last year, is now used
in BUILDPDB to solve the problem
described in Change 9.243.
TYPE30_V New INTBTIME and INTETIME values are added to
the ID section, and INTETIME is now the end of
the Interval (previously, INTETIME was taken from
SMFTIME, which could be later than the actual end
of the interval). If a task is swapped out at
the end of the interval, a record is not written
until the task is swapped back in, and SMFTIME is
much later than INTETIME. The INTBTIME/INTETIME
values are actually on the GMT clock, but because
the old interval begin time (SMF30IST) remains on
the local clock, the GMTOFFTM can be determined
so that INTBTIME and INTETIME are converted to
local time (like all the other type 30 times).
Variable SYNCTIME is the GMT value of INTETIME
that will match SYNCTIME in type 23 and type 70s,
for matching synchronized SMF and RMF intervals.
SMFTIME was also added to TYPE30_V data set. Data
set TYPE30_V becomes the PDB.SMFINTRV data set.
Also, DSSIZHWM was converted to bytes and format
with MGBYTES format.
TYPE33_1 Now contains JOB READTIME and STEPNAME.
TYPE33_2 New APPC/MVS dataset contains resources at the
conversation level, particularly needed if you
uses an APPC/MVS Server address space to process
multiple conversations concurrently, since now
you can collect information for each conversation
in the server address space.
TYPE42SR New DFSMS data set provides response statistics
for each Storage Class for each interval:
AVGCONMS- Average connect time per SSCH
AVGCUQMS- Average CU queue time per SSCH
AVGDISMS- Average disconnect time per SSCH
AVGPNDMS- Average pending time per SSCH
CACHCAND- Count of cache candidates
CACHHITS- Count of cache hits
IOCOUNTS- Total i/o count
RESPTIME- Average response time per SSCH
STORCLAS- Average connect time per SSCH
WRITCAND- Count of write candidates
WRITHITS- Count of write hits
TYPE42DS New DFSMS data set provides response statistics
for each Data Set, with same statistics as in the
TYPE42SR (above), with additional details.
TYPE60 Existing field SMF60SUB/SMF61SUB which explained
TYPE6156 if the VVR or ICF Catalog record was UPDATED or
INSERTED or DELETED is now "Erroneous Field. Do
Not Use", with no alternative field!
TYPE70s Variable SYNCTIME was added to all RMF datasets
for synchronization with SMF records. See above.
Additionally, all RMF datasets have new variable
INTRVSYN=Y if synchronization is in effect.
TYPE71 CPUPAGTM, the CPU time spent in page movement in
central store. When a particular type of frame
(eg. below 16MB or nonreconfigurable) is mandated
by a request but is not found in the available
frames, the real storage manager uses a process
called prefsteal to attempt to find a correct
type of frame and move the contents of that frame
elsewhere in central or expanded storage. The
TCB/SRB timer is stopped during this process in
consideration of the general desire that these
times be as repeatable as possible. This new
variable, CPUPAGTM, is the CPU time that was not
previously captured during this process.
TYPE72MN A significant MVS/ESA 4.3 RMF enhancement is the
addition of many new RMF III variables to the
TYPE72MN dataset, written for each performance
group for each interval. New sampled measures
for the percentage of time when each performance
group was USING devices or CPU, or was DELAYed
for devices, CPU, storage, ENQ, HSM, JES, MOUNT,
message, XCF, will make TYPE72MN a very useful
source of delay analysis. Additional measures
of CSTORE and ESTORE usage and "long" logical
swaps are included in these new variables:
AVGELPTM=AVG ELAPSED*TIME PER*ENDED TRANS
AVGQUETM=AVG JES/APPC*QUEUE TIME*PER ENDED
CPUVECTM=VECTOR*CPU USED*DURATION
LOGCSTOR=CSTORE FOR*LOGICALLY*SWAPPED USERS
LOGESTOR=ESTORE FOR*LOGICALLY*SWAPPED USERS
LONGESTO=LONG SWAPS*TO EXPANDED*STORAGE
LONGLGSW=LONG*LOGICAL*SWAPS
LONGPHYS=LONG SWAPS*TO PHYSICAL*AUXSTORE
LSWSAMPS=TOTAL*LOGICAL SWAP*SAMPLES*/
PCTDLDEV=PCT WHEN*DEVICE*DELAY
PCTDLENQ=PCT WHEN*ENQ*DELAY
PCTDLHSM=PCT WHEN*HSM*DELAY
PCTDLJES=PCT WHEN*JES*DELAY
PCTDLMNT=PCT WHEN*MOUNT*DELAY
PCTDLMSG=PCT WHEN*MESSAGE*DELAY
PCTDLPRO=PCT WHEN*PROCESSOR*DELAY
PCTDLSTO=PCT WHEN*STORAGE*DELAY
PCTDLXCF=PCT WHEN*XCF*DELAY
PCTUNKN =PCT WHEN*UNKNOWN*STATE
PCTUSDEV=PCT WHEN*DEVICE*USING
PCTUSPRO=PCT WHEN*PROCESSOR*USING
PHYESTOR=ESTORE FOR*NON-LOGICAL*SWAPPED USERS
PSWSAMPS=TOTAT*NON-LOGICAL*SWAP SAMPLES
TRANS =ENDED*TRANSACTION*COUNT
VALDSAMP=TOTAL*VALID*SAMPLES
TYPE73 In MVS/ESA 4.2, APAR OY45991 PTF UY77343 now
writes a CHPID segment for all 256 possible paths
whether they exist or not; now MXG only OUTPUTs
TYPE73 observations if the CHPID is ONLINE.
TYPE74TD New "Tape Device" dataset contains the maximum
number of tape devices allocated each interval,
recorded if device class TAPE is being recorded.
This dataset was also added to BUILDPDB/BUILDPD3
and WEEKBLD/MONTHBLD logic.
TYPE74 New variable, TAPEMNTS, counts the number of tape
mounts detected during the interval for each tape
device. Since TAPEMNTS now exists, the duration
of Mount Pending, DEVMTPTM is also now created.
If a Mount is Pending (MTP) at the beginning or
the ending of the interval, variables MTPATBET
and MTPATEND are "Y". Only if MTP does not exist
at either the begin or end will MXG calculate the
average mount pending per tape mount per device,
new variable AVGMTPTM.
(Only when both flags are blank do we know for
sure that the mount pending time duration and
the number of mounts are exactly matched.)
TYPE76 SAMPSKPD variable if samples were skipped
TYPE77 SAMPSKPD variable if samples were skipped, and
WAITS was PIB2., is now moved to a PIB4. field at
the end of the record.
TYPE792 R792EXCP was expanded to four bytes and moved to
the end of the record.
TYPE79C New variables R79FLAG, R79CPBY, R79CCPTS added.
TYPE90 Variables MINBUFF and MAXBUFF are now reserved in
IPL SMF, SET SMF, or SETSMF Operator Command
event records. No real loss here, since the
maximum number of buffers each interval is always
in TYPE23 dataset.
TYPE96 The new type 96 record was already supported in
MXG 10.3, as TYPETIRS, for this record is created
to account for "The Integrated Reasoning System"
users resource usage. However, the name in the
SMF manual for type 96 is "Cross Memory Service
Provider Charge Back", is inaccurate; it's TIRS!
BUILDPDB Logic was changed to use the type 26 OFFLPURG
field to detect purge records created by the
SPOOL Transfer/Offload program. New variables
SUBMUSER DUPJBDLY OFFLPURG ACCOUNT1-ACCOUNT3
LENACCT1-LENACCT3 and NRACCTFL were added to the
list of variables kept from TYPE26J2 (in member
IMACPDB). The order of datasets in the MERGE for
PDB.JOBS was changed, moving GOOD26J2 to be first
so that the TYPE26 ACCOUNTn fields will be used
in PDB.JOBS when they exist. (Leaving it where
it was could have blanked out valid ACCOUNTn data
since the SAS MERGE uses the values from the last
dataset, for sites not yet on MVS/ESA 4.3!)
RMFINTRV The new TYPE71 CPUPAGTM is added to RMFINTRV as a
separate variable, and is also included in CPUTM,
the sum of all captured CPU time; this will cause
and increase in the capture ration of RMF.
Change 10.260 Negative CPUACTTM and PCTCPUBY in TYPE70 under PR/SM can
VMAC7072 occur if the LPARNUM for the PHYSICAL partition segment is
Jan 24, 1993 non-zero and equal to a real LPARNUM value. The LPARNUM
for the PHYSICAL partition should always be zero, but at a
few sites it was erratically non-zero (which also caused
RMF reports to fail!). IBM APAR OY55704 and PTF UY87723
acknowledge and fix the problem, but MXG now protects the
data by inserting:
IF LPARNAME='PHYSICAL' THEN LPARNUM=0;
following the @; which follows the INPUT of LPARNUM.
Thanks to Tom Hatcher, US Sprint Dallas, USA.
Thanks to MP Welch, US Sprint Dallas, USA.
Change 10.259 There are now always 255 CHPID segments in type 73 record
VMAC73 even though there might not be 'FF'X CHPIDs defined in the
Jan 24, 1993 system. Now, MXG only outputs TYPE73 observations if the
CHPID is defined. APAR II06736 discusses this problem and
suggested two possible algorithms; the above is the second
algorithm in that APAR (beware - there are typo's in the
1st algorithm - Reference to SMF73FGS should be SMF73FG3,
and the bit field names SMF73REP and SMF73VLD do not exist
in the SMF manual - due to OCO!).
Thanks to John Mattson, National Medical Enterprises, USA.
Change 10.258 Variable QW0023DN was not kept in dataset T102S023, which
VMAC102 caused a warning when using ANALDB2R report PMTRN01. It
Jan 23, 1993 is reserved, and should not have been referenced in the
report, but the better fix was to now keep it!
Thanks to Andre Henry, AG 1824, BELGIUM.
Change 10.257 MXG RMF/CMF processing has been enhanced to validate that
VMAC7072 each section actually exists in the physical record. The
VMAC71 previous validation only checked that the section offset
VMAC73 and number of sections was non-zero, but did not protect
VMAC74 for truncated records nor for unexpected invalid records.
VMAC75 Now, if a bad record is encountered, a message will be
VMAC76 printed on the SAS log, the bad record deleted, but the
VMAC77 processing will continue, avoiding the STOPOVER abend!
VMAC78
VMAC79
Jan 23, 1993
Thanks to Phil Hathaway, Spartan Stores, USA.
Change 10.256 SMF type 70 INPUT STATEMENT EXCEEDED RECORD LENGTH occurs
IMACTCP with IBM's TCP/IP SMF record because the IBM sample member
Jan 22, 1993 used record ID of 70! IBM APAR PN34837 addresses this bad
choice, and IBM has now assigned SMF record numbers 118
and 119 to the TCP/IP product SMF records. MXG has thus
changed its default values in IMACTCP to agree with this
IBM correction. To delete the unwanted TCP/IP records,
you can add this code to member IMACFILE:
IF ID=70 AND LENGTH LE 194 THEN DELETE;
until you get the ID of TCP/IP records corrected.
Change 10.255 ICF Catalog cells C4x and C9x were not printed because
VMAC6156 the test prior to their PUT statements tested for 'C4' or
Jan 14, 1993 'C9' (without the X indicator to test for hex value!). New
Feb 17, 1993 variables DATANAME/DATAVOL1 and INDXNAME/INDXVOL1 for VSAM
entries contain the VSAM Data Component name, First Data
VOLSER, Index Component name, and First Index VOLSER. New
variables DATACLAS, MGMTCLAS,and STORCLAS are non-blank
if the Optional SMS Subcell for a Cluster record is found.
Thanks to Steve Dzielak, First Interstate Bank of Arizona, USA.
Change 10.254 Dates last referenced and expiration in TTOC section of
VMXGHSM HSM BCD/MCDS records were wrong. Replace these lines:
Jan 14, 1993 TTOCDLR PD3.
+1 TTOCEFLG PIB2.
TTOCXPDT PD3.
@;
and the subsequent lines that reference TTOCDLR/TTOCXPDT
with these lines:
TTOCDLR1 PIB1.
TTOCDLR2 PIB2.
+1
TTOCEFLG PIB1.
TTOCXPD1 PIB1.
TTOCXPD2 PIB2.
@;
TTOCDLR =TTOCDLR1*1000+TTOCDLR2;
TTOCXPDT=TTOCXPD1*1000+TTOCXPD2;
Unrelated, the line formatting TTOCTYP $HEX2. should be
deleted, as this is an EBCDIC field.
Thanks to Chris Fenn, Andersen Consulting, ENGLAND.
Thanks to Chris Weston, SAS Institute Europe, GERMANY.
Thanks to John Dalton, SAS Institute, ENGLAND.
Change 10.253 QW0022OS, the DB2 optimizer's cost estimate, was supposed
VMAC102 to have been changed by Change 10.174, but the code was
Jan 14, 1993 not changed until now. Sorry for this carelessness!
Thanks to Matthew Bildstone, Sun Life, ENGLAND.
Thanks to Chris Weston, SAS Institute Europe, GERMANY.
Change 10.252 A spelling error; the "by incrd" in the AXIS2 statement
GRAFLPAR should have been "by &incrd", as incrd is a macro variable
Jan 14, 1993 and was missing the ampersand.
Thanks to Chris Weston, SAS Institute Europe, GERMANY.
=Changes thru 10.251 were included in MXG PreRelease 10.4, Jan 8, 1993==
Change 10.251 Preliminary revised support for RACF & TOPSECRET type 80
EXTY8001 SMF record. The original TYPE80 data set built by MXG is
EXTY8002 valid, but it is unwieldy for analysis, as it creates one
EXTY8003 observation for each data segment in each type 80 record,
EXTY8004 and left the decoding of the RACFDATA string to you! This
EXTY8005 revision recognizes that each type 80 record represents an
EXTY8006 event, and the data segments for each event should be kept
EXTY8007 in a single observation. Instead of one TYPE80 dataset,
EXTY80A the new logic creates nine datasets; seven for each RACF
EXTY80CM event category, (TYPE8001-TYPE8007), TYPE80CM for RACF
IMAC80A Commands, and TYPE80A in case records with no segments are
TYPE80A encountered. The data segments in the TYPE80CM Command
VMAC80A dataset are not decoded in this implementation, but the
Jan 7, 1993 command and its issuer, etc., are decoded. Some variables
may be formatted, and some revisions are likely, but the
initial testing suggests that reporting and selection of
RACF data will be much easier with this revision. The 7
event categories and their new dataset names are:
TYPE8001 Job Initiation or TSO Logon
TYPE8002 Resource Access
TYPE8003 End of Volume
TYPE8004 Rename Data Set
TYPE8005 Scratch Dataset or Tape Volume
TYPE8006 Delete Volume one of Multi-Volume
TYPE8007 Define Data Set or Tape Volume
TYPE80CM RACF Commands Issued
TYPE80A Catchall for records with no data segments
Thanks to Joe Faska, Depository Trust, USA
Change 10.250 Twenty-five more ADOC members (Documentation members, one
ADOCx for each "Product" which described all data sets that MXG
Jan 7, 1993 creates from that product data records) have been added.
Most contain sample PROC PRINTs, but not all are fully
completed. However, when an ADOC member exists, it is the
first place to look for notes and contents of MXG datasets
Each ADOC member corresponds to a Section of Chapter 40.
Change 10.249 Existing formats MG080EV, MG080IA, MG080QU, and MG080TY
FORMATS were updated for new values for RACF 1.9.
Jan 7, 1993
Change 10.248 VMXGSUM is enhanced with the SUMLONG function, which is
VMXGSUM the same as the SUM function, but stores the results in an
Jan 7, 1993 8-byte field instead of a 4-byte field. This is rarely a
problem with performance/capacity data, but in chargeback
applications with large dollar amounts, pennies could be
lost with only 4-byte stored variable lengths.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.247 The ESCON Multi-Image Facility (EMIF) Feature for MVS/ESA
VMAC73 4.2.2 added 8 bytes to each CHPID section in type 73 SMF
Jan 6, 1993 record, but MXG failed to skip over the new fields, which
caused alternating good and invalid observations, and MXG
had good records only for the first 128 CHPIDs! As best
as I can discover, there was no TNL to the SMF Manual for
this IBM change! The correction is to insert xx lines as
shown in the following corrected code (note this is the
last PCHANBY input, at the bottom of VMAC73);
exists PCHANBY PIB4. /*SMF73BSY .... */
exists @;
insert SKIP=LENCHDS-8;
" IF SKIP GT 0 THEN DO;
" INPUT SMF73PBY PIB4.6 /*CHANPATH*BUSY TIME*SINCE LAST*/
" SMF73PTI PIB4.6 /*CHANPATH*MEASUREMENT*INTERVAL*/
" @;
" SMF73PBY=1024*SMF73PBY; /* CVT FROM 1024 USEC UNITS */
" SMF73PTI=1024*SMF73PTI; /* CVT FROM 1024 USEC UNITS */
" SKIP=SKIP-8; /*this line is now correct in this change */
/*and in VMAC73, but in 10.4 and 10.5 it */
/*was wrong (SKIP=LENCHDS-8;) in both! */
" IF SKIP GT 0 THEN INPUT +SKIP @;
insert END;
exists IF CHANIND ='..1.....'B THEN CHANTYPE='BLOCK MUX';
Thanks to Linda Lokkesmoe, West Publishing Company, USA.
Change 10.246 IBM's type 36 record has the subtype bit on, indicating
UTILGETM the record contains a subtype in bytes 19-20, but the
VMACSMF subtype is an EBCDIC 00 (hex F0F0) instead of hex 0000,
Jan 9, 1993 and UTILGETM threw the record away. Now, when an invalid
subtype value is found, a message is printed on the log,
and INDEXST=1 is set so that the record will be written.
VMACSMF was also changed to input type 36's subtype as an
EBCDIC number. This change was revised after MXG 10.4.
An "ARRAY SUBSCRIPT OUT OF RANGE" can occur with MXG 10.4;
the statement SUBTYPE=1; should have been INDEXST=1.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 10.245 Support for Legent's ASTEX Trace Record. This data is not
EXTYASXT an SMF record, but is sent to a flat file that must be
IMACASXT first uncompressed by a Legent-provided program and then
TYPEASXT decoded by these MXG members. See the comments in member
VMACASXT VMACASXT, which includes the JCL example for the two-step
Jan 5, 1993 process. (Note that the SMF record created by ASTEX has
been supported for years by MXG members VMACDMON, named
DMON in MXG because it used to be DASDMON).
Thanks to John Rosza, Depository Trust Company, USA.
Change 10.244 Support for VM/ESA 2.0 creates five new data sets:
EXSYTCUM VXSYTCUM - LPAR Management time by Physical CPU
EXSYTCPM VXSYTCPM - Channel Path Busy by CHPID
EXPRCCFN VXPRCCFN - ADD access to CRYPTO facility
EXPRCCFF VXPRCCFF - REMOVE access to CRYPTO facility
EXIODALS VXIODALS - 3495 Automated Tape Library Statistics
VMACVMXA (only partially decoded, awaiting 3495 manual
Jan 4, 1993 because that's where the record is documented)
Perhaps of more importance, VM/ESA 2.0 added a number of
new variables to several datasets:
VXAPLSRV - 25 new counters now exist
VXIODDEV - new measure SCDATIM "Device Active-Only time"
VXMTRDDR - IBM no longer spans across physical blocks!
VXMTRDEV - RDEVSHAR if device is shared
VXMTRPAG - FBA if device is FBA
VXMTRPRP - PFXIDVER identifies CPU model version number
in this and other CPU-related datasets.
VXSYTUSR - SYSDIALD/SYSLUCNT for dialed/SNA connected
users, and flag in VXUSEATE/VXUSELOF/VXUSEACT
and VXUSELOF data sets.
VXUSELOF - Major enhancement adds resources consumed to
the existing (but previously useless) LOGOFF
event record so that it now describes the
resources used by each CMS machine session.
Not only resources (CPU, SSCH, Reserved Pages)
but now a session logon time CALTODON, RACF
group VMCGRPN, and user accounting number
(only 8-bytes!) VMDACTNO make this a much more
attractive source of session-level resources
for accounting and capacity planning.
This description only hits the highlights. The complete
list of new variables is given in member DOCVER10 for the
data sets beginning with VX - twenty five MXG data sets
have new variables!
This code has been tested with real VM/ESA 2.0 data that
was provided by IBM (with my sincere thanks!), but it did
not contain any of the new record types, so not all of the
code has been tested!
An existing error in MXG 10.1 was also corrected; the
second occurrence of "MACRO _MSTOASS ..." should have
been ASI instead of ASS in three places in that line.
This error caused a 180 syntax error.
Change 10.243 As noted on page 10 of MXG NEWSLETTER TWENTY-TWO, SAS ZAP
VMXGVTOC V6-SYS-FILE-4673 (on June 1992 Usage Notes Tape) is needed
Dec 29, 1992 for SAS 6.07 to avoid "CRITICAL ERROR IN VTOC" messages.
Change 10.242 Archaic SAS 5.18 produces syntax error with TPX data due
DIFFTPX to incorrect parsing, but the error can be circumvented by
Dec 29, 1992 re-ordering the PROC SORT to read:
PROC SORT NODUP %VMXGFOR DATA= _LTPXINT ;
Thanks to Mike Marek, Kraft General Foods, USA.
==Changes thru 10.241 are included in Dec 13, 1992 MXG PreRelease 10.3A=
Change 10.241 The JCLMNTH example did not contain the //SOURCLIB DD
JCLMNTH concatenation, and the %INCLUDE SOURCLIB(MONTHBLD); which
Dec 17, 1992 should have been the last line of SAS code was missing.
Thanks to Barry Lampkin, Polaroid, USA.
Change 10.240 SMFSMALL step JCLTEST6 may produce "ARRAY OUT OF RANGE"
UTILGETM error with SMF record types of 127, 128 or 255, depending
Dec 16, 1992 on subtype value, because the index calculation was wrong.
INDEX=(ID+1)*256+SUBTYPE; must be INDEX=ID*256+SUBTYPE+1;
and ELSE IF ID LE 128 ... must be ELSE IF ID LE 127 ....
Thanks to Tom Gillis, Southern National Bank, USA.
Change 10.239 ASTEC variable RDMT must be input as PIB4. vice PIB4.6,
VMACDMON and the statement RDMT=RDMT*128; must be deleted, as the
Dec 16, 1992 units are seconds, not 128 microseconds. Variables
RDTBK1 thru RDTBK4 must be input as PIB4.2 vice PIB4.
Thanks to Chris Nielsen, Wells Fargo Bank, USA.
Change 10.238 VM/ESA 2.0 MONWRITE data causes SFM-OR-CRR SAMPLE message
VMACVMXA and then PROBABLE DATA LOSS message if you have enabled
Dec 15, 1992 the Application Server data. (The MXG protection for new
APL data was incorrectly coded.) Change the line reading
SKIP=SKIP-CALDATLN-8;
to these two lines:
INPUT +SKIP @;
SKIP=0;
With this change, MXG tolerates VM/ESA 2.0 MONWRITE data
records without error, skipping over the new fields and
records. MXG will exploit VM/ESA (i.e., decode new data)
shortly; work is in progress.
Change 10.237 The message when you had more than 9 account fields is
IMACACCT now only printed five times, and the text was made more
Dec 15, 1992 clear.
Thanks to Ann Wheeler, American President Lines, USA.
Change 10.236 All occurrences of PIBR. should have been PIB4. I thought
VMACM204 this one had been fixed, but it slipped through into 10.3!
Dec 15, 1992 This causes FORMAT PIBR unknown during JCLTEST6 execution.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
==Changes thru 10.235 are included in Dec 13, 1992 MXG PreRelease 10.3==
Change 10.235 Existing graphic reports were enhanced in GRAFLPAR when
GRAFLPAR is executed under SAS 6.07 or later using PROC GPLOT with
Dec 13, 1992 filling colors in place of PROC GCHART with bar charts, as
we exploit SAS 6.07 features.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.234 MXG processing message when MXG detects use of EXCLUDE in
VMAC110 CICS records is enhanced by printing a table of expected
Dec 13, 1992 values of Data Length and Number of Fields (MCTSSDRL and
MCTSSDCN) in the MXG error message to help you compare the
actual and expected values. This has been the number one
technical problem in MXG CICS record processing this year
sites CICS person installed a CICS monitor which excludes
fields, but the MXG person doesn't find out until MXG runs
against the modified data! The new error text should help
resolve the error without additional phone calls!
Change 10.233 Variables USER, SQLUSER & SQLDBMAC were added to VMSQLxx
TYPEVM datasets. SQLDBMAC is the full name of the SQL database
Dec 13, 1992 machine (and is stored in from USER after line 028200).
SQLUSER is TERM in VMSQLTRM, is SYSTEM in VMSQLSYS, and is
INIT in VMSQLINI, but it has meaning in VMSQLUSR where it
is taken from the connect process and is sometimes a
different user. USER is always SQL/DS in the -INI, -SYS,
and VMSQLTRM datasets, and at present useless, but it is
kept for consistency and possible future changes by IBM!
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.232 APPC type 33 account record header offsets were off by 6
VMAC33 bytes (the subtype and length of header were omitted). The
Dec 13, 1992 offsets for OFFPROD thru NRTPUS in lines 68-76 must have 6
added to each value. Additionally, the TP name field is
variable length, with a maximum of 64 bytes, so it is now
input conditionally:
SMF33TPL PIB2. @;
IF SMF33TPL GT 0 THEN
INPUT TPNAME $VARYING64. SMF33TPL @;
Thanks to Robin Luff, Dun & Bradstreet Europe, ENGLAND.
Change 10.231 Support for Velocity Software's XAMAP history data files.
EXXAMCPB MXG creates several datasets from the four history files.
EXXAMCPT This code has been tested with actual XAMAP data records
EXXAMDEV and reviewed for reasonableness, but there are many fields
EXXAMSYS and lots of code!
EXXAMUSR See comments at the beginning of VMACXAM for instructions
IMACXAM for processing the four XAMAP files.
TYPEXAM Jul, 2003: EXXAMSYS, EXXAMTCP, EXXAMUSR members were
VMACXAM removed in MXG 21.03 as multiple datasets
Jan 4, 1993 are now created from those XAM data.
Change 10.230 Boole & Babbage CMF type 78 record variable R783PT-number
VMACCMF of times channel path was taken- is in error in CMF 4.3.3
Dec 11, 1992 until you install Boole's fix BAB1081.
Thanks to Bill Stoneberg, National-Oilwell, USA.
Change 10.229 STC 4400 SMF record variable LSBECON1/2 documentation was
VMACSTC incorrect; these are not connect durations but rather are
Dec 11, 1992 the LSM number and Panel number, and they are six bytes
instead of four bytes! They are now input $CHAR6., format
$HEX12., and were removed from the IF test for OUTPUT of
STCLMU dataset. Also, variable LSMNUMBR is created.
Thanks to Dean Ruhle, J.C. Penny, USA.
Change 10.228 MXG summarization of TYPE70PR assumed Effective Dispatch
ASUM70PR time was in TYPE70PR, but sites without the APAR or sites
Dec 1, 1992 with MDF (which does not yet record Effective Dispatch)
ended up with LPAR management time equal to LPAR dispatch
time. Delete the sixteen lines which set LPnUEDTM=0, and
the overhead time will be zero/missing instead of wrong!
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 10.227 SAS 6.07 no longer supports the XSWISS font name, so all
ANALVARY occurrences of XSWISS were changed to SWISS. This change
DOCGRAF works with SAS 6.06, 6.07, 6.08 and later. However the
GRAFBNCH SWISS font name is not supported in SAS 5.18, so if you
GRAFCICS are still on 5.18, you must change SWISS back to XSWISS
GRAFRMFI in these SAS/GRAPH examples.
GRAFVM
Dec 1, 1992
Thanks to Jim Border, Packaging Corporation of America, USA.
Change 10.226 The MXG Tape Mount Monitor has been modified to recognize
ASMTMNT the MIM Pseudo Mount event (see Change 10.200), to create
a TMNTRTRN value of 3 when the Pseudo event is recognized.
Dec 1, 1992 This change has been tested in a non-MIM shop, but the MIM
site tests have not been completed to verify that in fact
a record with TMNTRTRN=3 is created. Please verify!
Change 10.225 The BY list for the WEEK.ASUM70PR dataset should not have
WEEKBLD variables LPARNAME LPARNUM, as these variables don't exist
Dec 1, 1992 in the summarized ASUM70PR dataset.
Thanks to Wayne Bell, National General Insurance, USA.
Change 10.224 JES3 TYPE84 INPUT STATEMENT EXCEEDED RECORD LENGTH error.
VMAC84 a. Remove the line containing +4 immediately following
Dec 1, 1992 JMFJSMXJ $CHAR8. ....
b. Three lines later, change LOCJSOF=LOCJSOF+76; to read
LOCJSOF=LOCJSOF+72;
This MXG error uncovered two other IBM errors. JMFGSNUM
is zero, but there is a GMS/MDS summary entry present,
but the zero causes MXG to not input the entry. Also
noted, R84JSNAM has two leading blanks for DSP names.
These are being reported to IBM for repair.
Thanks to Ellen Ulrich, Texas Instruments, USA.
Change 10.223 Change 10.138 changed ELSE IF MONITOR='JCL' THEN DO; to
VMACROSC ELSE IF MONITOR='JCL' OR MONITOR='JCK' THEN DO; but only
Nov 17, 1992 in one line. The 2nd occurrence needed to be changed also!
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.222 SIMWARE support missed two undocumented bytes, apparently
VMACSIM added for alignment. After the INPUT of VUXBPGRM $CHAR20.
Nov 17, 1992 insert a line with +2 to skip the extra bytes.
Thanks to Mike Roybal, First National Bank in Albuquerque, USA.
Change 10.221 DCOLLECT disk capacity dataset DCOLCAPD variable UCTOTAL
VMACDCOL contains the volume capacity in Kilo-bytes in the DCOLLECT
Nov 16, 1992 record, but was documented as tracks! MXG now multiplies
UCTOTAL by 1024 (to convert Kilo-bytes to bytes) and then
added UCTOTAL to the list of variables formatted MGBYTES
so that the capacity will print 601M for a 3380 (that has
615,472 Kilo-bytes, or 630,243,328 bytes capacity.
Thanks to Frank Vessell, ITT Consumer Financial Corporation, USA.
Change 10.220 VMPRF for VM/ESA now counts a user as "ACTIVE" if either
VMACVMXA the user consumed some virtual CPU time (VMDVTIME GT 0),
Nov 13, 1992 or the user was not in the Dormant List at the end of the
monitor interval (VMDSLIST NE '0B'X). MXG formerly used
only the CPU test to count ACTIVE users, but now the test
for ACTIVE has been expanded to include the VMDSLIST test.
Note, however, that the whole issue of counting VM users
is questionable, since the interval over which the count
is taken completely controls the number of "ACTIVE" users.
This site examined VXBYUSR with different intervals:
5-min interval active count in the 150 range
15-min interval active count in 240-440 range
30-min interval active count in 700-800 range
Thanks to Anne Schroeder, Amway Corporation, USA.
Change 10.219 IDMS DBKDBKEY was incorrectly documented by CA. Instead
VMACIDMS of the DB Key in four bytes, the key is only the first 3
Nov 12, 1992 bytes, and the fourth byte is the DBKEY Line Index. MXG
now inputs DBKDBKEY as PIB3, and creates the new variable
DBKDBINX as the fourth byte.
Thanks to Sal Fazzino, General Electric Capital Corporation, USA.
Change 10.218 MXG 10.2 only. In adding new variables to support LPARS
ASUM70PR 9 thru 16 (for Amdahl MDF), several variables were not
Nov 11, 1992 properly RETAINed due to spelling errors, causing the
ASUM70PR dataset to be corrupted - the effective dispatch
times LPxUEDTM and its associated LPAR management time
LPxMGTTM will be missing except in the last LPAR, and this
caused CPUOVHTM and PCTOVHD to also be incorrect. The
total Partition Dispatch Time, LPxUPDTM, fortunately, was
not affected, so it is possible you may have not noticed
this error. Once you make this change, you should rebuild
ASUM70PR in each PDB that was created by MXG 10.2, by
allocating the //PDB DD DSN=dsname,DISP=OLD, and then
%INCLUDE SOURCLIB(ASUM70PR) to rebuild ASUM70PR. The
correction is to look at the end of the RETAIN statement,
and correct the spelling so that there are four sets of
sixteen variables, each with names LPxUPDTM LPxUEDTM
LPxNRPRC and LPxMGTTM, where x=1,2,...,8,9,A,B,C,D,E,F,G.
Another minor correction, the 2nd occurrence of LPDMGTTM
in the TIME12.2 statement should be LPGMGTTM, and four
lines earlier, LPDUEDTM should have been LPGUEDTM.
Thanks to Ron Kopfer, First Interstate Bank of Arizona, USA.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.217 MXG 10.2 only. MXG Tape Mount Monitor was changed in 10.2
ASMTMNT to default to MVS/ESA, but the SYSPARM parsing was not
Nov 2, 1992 updated, which caused an ASM error if you specify TEST in
SYSPARM (to write the records to a flat file). The parse
logic values are now changed to read:
AIF (K'&SYSPARM LT 7).NOSYS
&ESA SETB ('&SYSPARM'(5,3) EQ 'ESA')
AIF (K'&SYSPARM LT 12).NOTEST
&TEST SETB ('&SYSPARM'(9,4) EQ 'TEST')
AIF (K'&SYSPARM LT 16).NONUM
&C SETC '&SYSPARM'(14,3)
Change 10.216 CICS Version 2 Global Performance Record wasn't protected
VMAC110 for EXCLUDE logic, and a record with excluded fields could
VMAC110M cause MXG to ABEND with INPUT STATEMENT EXCEEDED RECORD
Nov 2, 1992 message. Additional testing logic should now prevent this
ABEND and alert you that EXCLUDE was used in the CICS MCT.
Thanks to Ron Kirk, Union Carbide, USA.
Change 10.215 NPM Release 1.5.1 added six new subtypes, causing "INPUT
EX028EV6 STATEMENT EXCEEDED RECORD LENGTH" error. That error can
EX028EV7 be circumvented by replacing both occurrences in VMAC28 of
EX028INE ELSE IF 21X LE NPMSUBTY LE 35X THEN ....
VMAC28 with
Oct 30, 1992 ELSE IF 21X LE NPMSUBTY LE 25X OR
31X LE NPMSUBTY LE 35X THEN ....
Subtypes 26x,27x,28x,29x are session monitor exception and
exception resolution events for applications, nodes, LUs&
LU groups, and create new datasets NPMEVSAA and NPMEVSAL.
(It was the unexpected fall-thru by a NPMSUBTY=26x record
that caused the MXG ABEND.) Subtypes 82x and 83x report
interval frame relay resources in new dataset NPMINFRP.
IBM really blew this change. While the June, 1992 "TNL"
SH19-6835 supplement to SC31-6835 (the NPM "SMF" manual)
described the new records, the supplement was not SLSS'd
to anyone, so it took an MXG user to ABEND to alert me to
call one of the two remaining NPM IBM'ers in the USA (NPM
is now developed in Rome), who was able to fax me the six
critical pages to add the support the next day, but IBM
Publications is still researching why I didn't
automatically get the change so that it could have been in
Newsletter 22 last summer!
Thanks to Adrienne Wijlaars, Belastingdienst Automatiser, NETHERLANDS
Change 10.214 DFSORT Release 12 added new fields describing Hiperspace
VMAC16 and Data Space usage, PROC Step name, input and output
Oct 28, 1992 DSNs and their first VOLSER, performance group number, the
average record length, and flags if HIPERSORT, DATASPACES,
and/or Work Datasets were used. Additionally, counts of
records and bytes in and out that were previously 4-bytes
were relocated and expanded to 8 bytes.
Change 10.213 ABEND A78-RU FREEMAIN-can create type 30 SMF record with
VMAC30 incorrect INITTIME and REND (Reader End) timestamps. IBM
Oct 28, 1992 is aware but has no fix at present. The INITTIME contains
the initiator start time (not the step start time), and
REND contains the initiator start completion time (not the
end of Read-in), and hence in this defective record the
INITTIME is less than REND! (Note that INITTIME can be
less than READTIME, because READTIME is taken where the
job originally read-in, and with NJE that could be in a
different time zone!). These incorrect time stamps can be
detected and corrected with this circumvention to set an
INITTIME closer to the truth!
IF . LT INITTIME LT REND THEN DO;
INITTIME=DHMS(DATEPART(SMFTIME),0,0,LOADTIME);
IF INITTIME GT SMFTIME THEN INITTIME=INITTIME-86400;
END;
Part of this problem has been reported to IBM under APAR
OY27665 (1989!), which has no PTF and was "CLOSED - SUG",
meaning its only a suggestion to the developers!
Thanks to J. G. Vlietstra, Ultramar Canada, CANADA.
Change 10.212 New variables SPMSCTST and SPMSXSQN are created, and old
FORMATS variables SPMSEL1,EL2,SL1,SL2,SL3 were deleted, and format
VMACSPMS MGAMDCS and MGAMDDT were added to decode SPMSCTST,SPMSDTYP
Oct 27, 1992 respectively. This completes Change 10.069.
Thanks to Joseph G. Ogurchak, Westfield Companies, USA.
Change 10.211 DB2 Trace variable QW0145OB in dataset T102S145 has value
VMAC102 of QW0145DB; statement QW0145OB=QWX145DB should have been
Oct 26, 1992 QW0145OB=QWX145DB. Variables QW0141TX,QW0142TX,QW0145TX
are now input as $VARYING200 (were only 100) to be same as
the SQL text field in the other audit trace records.
Thanks to Jorn Fledelius, Kommunedata I/S, DENMARK
Change 10.210 Several DB2STAT0 & DB2STAT2 variables were deaccumulated
DIFFDB2 that should not have been. (Because IBM often fails to
Oct 26, 1992 identify whether fields are accumulated or not, only real
data values can prove to DIF() or not to DIF(). Most of
these fields are from Distributed DB2, and only now do we
have test data with non-zero values with which to validate
accumulation.)
DB2STAT0 variables which must be removed from DIFFDB2:
QWSBSACT QW2BSACT QW3BSACT QW4BSACT QW5BSACT
DB2STAT1 variables which must be removed from DIFFDB2:
QB1TWFM QB2TWFM QB3TWFM QB4TWFM
QDSTQDBT QISEKT QISESKPT QISTRCUR QTCURPB QTPUBDD
QTSLWDD and all QLST fields: QLSTABRR QLSTABRS
QLSTBRBF QLSTBROW QLSTBTBF QLSTBRBF
QLSTBROW QLSTBTBF QLSTBYTR QLSTBYTS QLSTCBLB QLSTCNVQ
QLSTCNVR QLSTCNVS QLSTCOMR QLSTCOMS QLSTMSGR QLSTMSGS
QLSTROWR QLSTRBND QLSTROWS QLSTSQLR QLSTSQLS QLSTTRNR
QLSTTRNS
Thanks to Warren E. Waid, JC Penny, USA.
Change 10.209 Variables A17FLOC and A17FNAM were not in the KEEP= list
VMAC110 for the CICFCR statistics dataset.
Oct 19, 1992
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 10.209A New variable PCTRDYWT was not in the KEEP= list for the
VMAC7072 TYPE70 dataset.
Oct 19, 1992
Thanks to Tom Elbert, John Alden Life Ins, USA.
==Changes thru 10.208 are included in Oct 18, 1992 MXG PreRelease 10.2==
Change 10.208 Something is wrong with this archaic member, for it now
VMXGVTOC has "UNINITIALIZED VARIABLE" messages that I could not
Oct 18, 1992 resolve in time for building this tape, but since MXG
strongly recommends the use of ASMVTOC/VMXGVTOF instead
of this old technology, I hoped this warning is enough!
Change 10.207 All of the MACRO _Txxxyyy definitions should have started
VMAC102 with DATA _Vxxxyyy but the "DATA" was missing. The JCL
Oct 18, 1992 example showing how to use the _Txxxyyy macros will now
execute correctly!
Thanks to Merlin Beeching, Nuclear Electric, ENGLAND.
Change 10.206 WEEKBLD and MONTHBLD were updated so that all of the PDB
WEEKBLD datasets created by the JCLPDB6 example are copied into
MONTHBLD your WEEKly and/or MONTHly PDB libraries. Note that it
Oct 18, 1992 is definitely NOT my recommendation that you build all of
these datasets monthly:
I do recommend that you create all of the WEEKBLD
datasets in your WEEKly PDB, but only build MONTHly the
PDB datasets that you need for monthly reports; often
only the PDB.JOBS, PDB.STEPS, PDB.PRINT and
PDB.RMFINTRV datasets are needed to feed monthly
billing validation. This is especially true if you
have implemented the TREND database and have weaned
your management from monthly to WEEKLY trending (as
exemplified by the MXG report examples in Chapter 42 of
the 1984 MXG Guide!).
However, so you don't have to rummage around in BUILDPDB
or ASUM members to find the MXG Sort Order, they've all
been added so you can comment out the datasets you don't
want created. That's safer and easier for both of us!
The BUILDPDB-created PDB datasets that were added were
PDB.TYPE72MN, PDB.NJEPURGE, PDB.TYPETMNT, & PDB.TYPE0203,
and the ASUM.... PDB Summary datasets PDB.CICS,
PDB.ASUMDB2A, PDB.JOBSKED, PDB.ASUM70PR, and PDB.TAPEMNTS,
which are built by their corresponding ASUM.... member
ASUMCICS, ASUMDB2A, ASUMJOBS, ASUM70PR, ASUMTMNT, have
also been added. Do check your USERID.SOURCLIB for an
EXPDBWEK member you might have added to do some of this
yourself, and avoid duplication!
If you do use MONTHBLD, make sure you use the JCL example
in JCLMNTH instead of the earlier JCL still in JCLMONTH.
JCLMNTH needs only one tape drive to create your monthly
PDB from your dailies and weeklies, and runs much faster.
It does require more temporary DASD space than the old
example, but the saving in tape drives AND tape mounts
is substantial with JCLMNTH. Everyone who has tried it
has kept on using it in production.
Change 10.205 IMS log variable NMSGPROC, IMSTRAN is wrong, but only in
TYPEIMSA MULTRANS='Y' observations, where it should have been set
Oct 17, 1992 back to 1, since a total of NMSGPROC observations will be
created by the MERGE logic. Insert NMSGPROC=1; after the
MULTRANS='Y'; statement to correct the value. Users report
correct response times and faster run times with the IMS
"Appended" Log processing, and it is so much better that
MXG sites MUST use ASMIMSLG/JCLIMSLG/TYPEIMSA instead of
the old TYPEIMS member for IMS log processing.
Thanks to Lonnie T. Rimmer, Philip Morris, USA.
Change 10.204 IBM Changes to OPC records cause INVALID RECORD messages.
IMACOPC There appear to be two different versions of records from
VMACOPC OPC, but IBM did not update the Record Version Number in
Oct 17, 1992 the record, so there is a new _OPCVER macro in IMACOPC to
tell which version to expect. I don't know right now what
OPC version is which, but there are only two choices, a 0
for the old and a 1 for the new format. Try one, and if
it doesn't work, try the other. This text will be revised
when I know more, but the software has been tested with
data from both versions. The changes were the addition of
MT0JVT $16 after MT0OCC, MTDOPTS2 $1 after MTDOPTS, and
+2 after MTDDIATM (but only for MTDTYPE=9), and SPLITLEN
was changed from 71 to 36. One MXG error was found. The
test IF 8 LE MT0TYPE LE 9 should have tested MTDTYPE!
This site also discovered that the records in the EQQTROUT
file with record type of 01, 02, or 03 appear to be copies
of the Current Plan, but have not yet found description
of the format, nor an acknowledgement of the discovery!
Thanks to Brenda Rabinowitz, Prudential Securities, USA.
Change 10.203 Early 10.2 support for Candle's Omegamon II for VTAM V150
VMACOMVT failed with real data records; I gambled and lost when I
Oct 13, 1992 sent a few sites an Early 10.2 before the test data from
Candle finally arrived. The support has now been tested
and the real 10.2 (this one) does support that product.
However, as with all new product support, use with caution
and validate your own data values.
Change 10.202 A blank line in the Early 10.2 choked the ASSEMBLER that
ASMVTOC is fixed in this 10.2. However, ASMVTOC may not work with
ASMVTOCO MVS/ESA 3.1.3; Matt found it executed instantaneously and
Oct 13, 1992 wrote no records on his 3.1.3 system while it worked find
Oct 17, 1992 on his 4.2 system. Apparently the ESA 4.2 enhancement in
10.1 is the culprit, but since the MXG 9.9 version has no
problem with MVS/370 thru MVS/ESA 4.1, I have put the old
MXG 9.9 version of ASMVTOC in member ASMVTOCO for you old
timers!
Thanks to Matt Gallion, Tenneco, USA.
Change 10.201 Boole & Babbage CMF under MVS/ESA 4.2 contains incorrect
VMAC78 triplet R783CPDN in type 78 subtype 3 record, causing MXG
Oct 16, 1992 to create zero observations in the TYPE78CF dataset.
Field R783CPDN (MXG variable NRCPDS), the number of I/O
queueing data sections, is 4 but there are 8 sections in
the record! The length of SMF78DCS (MXG variable LENDCS)
does include those extra 4 sections, so while I believe
CMF should be fixed, it turns out that by a simple change
in MXG "SKIP" logic (the logic to protect for any future
data which might be added, and which had been "faked out"
by the incorrect value), MXG can support this CMF record
and simultaneously protect both CMF and RMF for this new
way of adding unused data segments to type 78 records!
(To Boole's credit, they looked at MXG logic, as they are
also an MXG customer, diagnosed the source of the zero
observations, and gave the MXG site an MXG circumvention
that is part of this change, even before they called me!)
Find the following lines in VMAC78 (note EXCLUDEed lines):
OFFCPDS PIB4.
LENCPDS PIB2.
NRCPDS PIB2.
@;
SKIP=LENDCS-(12+NRCPDS*LENCPDS);
IF SKIP GT 0 THEN INPUT +SKIP @;
DO _II_ =1 TO NRCPDS;
- - - - 39 line(s) not displayed -
END; /* END DO TO NRCPDS */
END; /* END DO TO NRDCSLCU */
and make it look like the following by move and insert:
OFFCPDS PIB4.
LENCPDS PIB2.
NRCPDS PIB2.
2nd: @;
these new lines ==> SKIP=OFFCPDS-12;
were changed ==> IF SKIP GT 0 THEN INPUT +SKIP @;
after copy DO _II_ =1 TO NRCPDS;
- - 39 line(s) not displayed - -
1st: END; /* END DO TO NRCPDS */
these old lines ==> SKIP=LENDCS-(12+NRCPDS*LENCPDS);
were copied ==> IF SKIP GT 0 THEN INPUT +SKIP @;
from above END; /* END DO TO NRDCSLCU */
Boole & Babbage now have PTFs BPM4428/BPM4428 to correct
the original error.
Thanks to Norvell Reeves, Boole & Babbage, USA.
Change 10.200 Legent's MIM product causes the MXG Tape Mount Monitor to
ADOCTMNT write a record with non-zero return code when MIM replies
TYPETMNT "WAIT" or "NOHOLD" to some allocation recovery events.
VMACTMNT
Oct 17, 1992 YOU MUST USE ONLY THE OBSERVATIONS WITH TMNTRTRN=0
TO COUNT AS TAPE MOUNTS IN A MIM ENVIRONMENT, OR AT
LEAST DISCARD MOUNTS WITH TAPMNTTM LESS THAN 5 SECONDS.
MIM manages tape drives across systems by "Plugging"
values into the UCB, and by propagating UCB status bit
values to all systems. MIM "allocates" all drives and
then doles them out to your jobs as needed. One of the
bits plugged by MIM is the Mount Pending, or MTP, bit. For
every allocation recovery scan event (each time a drive is
deallocated while jobs are in allocation recovery), MIM
intercepts messages and replies WAIT,NOHOLD for each job
that didn't get that device, and sends new UCB status bits
for that device to all sharing systems. MXGTMNT sees the
MTP bit change on these other systems, thinks a mount
event was seen and missed, and writes an SMF record,
setting a non-zero Return Code value in TMNTRTRN
(accidentally, a 1 for NOHOLD, a 2 for WAIT) for these
non-mount mount events.
Change 10.226 attempts to recognize these MIM non-mount
events (the UCBASID to zero and the UCB Allocated Bit is
On), and sets TMNTRTRN=3 for them, but that change has NOT
been validated, and one non-MIM site saw valid mounts with
TMNTRTRN=3, so you must verify. Since the minimum mount
time for a real tape mount is 5 seconds, I suggest that
you discard any TYPETMNT mount record with TAPMNTTM LT 5.
Further investigation is planned, and hopefully these MIM
pseudo-mount events can be explicitly identified.
As a result of this investigation, I have finally written
the long overdue documentation of the MXGTMNT monitor and
the datasets created from its SMF records, in the member
ADOCTMNT. Please review it for complete information.
Thanks to Ted Anderson, Kaiser Permanente, USA.
=Changes thru 10.199 were included in MXG PreRelease 10.2, Oct 12, 1992=
Change 10.199 MXG Installation instructions have been revised and are
INSTALL now contained in member INSTALL. JCL to allocate the MXG
JCLINSTL libraries (two source PDS, a SAS data library of FORMATS)
Oct 11, 1992 is contained in JCLINSTL. The references to SAS 5.18 have
been removed, and the philosophy of installation slightly
changed, as described in INSTALL and above in this member.
This is work still in progress, as the rewriting of the
MXG documentation begins in ernest!
Change 10.198 Execution under SAS 5.18 required several changes.
DIFFDB2 Although MXG Strongly recommends execution under SAS 6.07,
VMACOPC for those of you still struggling with Version 5 (you are
VMACAIM6 either still running MVS/370 or are you think you are too
VMACQAPM swamped to take a half-day to install SAS 6.07), MXG still
Oct 11, 1992 executes under SAS 5.18! Only TYPEQAPM (AS400 support)
is known to fail under 5.18 (it uses 6.07-only formats).
a.VMACOPC and VMACAIM6 were written using IN (1,2) logic,
but that syntax was not a part of 5.18, so the IN (,)
logic was replaced with OR logic.
b.DIFFDB2 initially failed under SAS 5.18 because its parser
failed on PROC SORT NODUP DATA=_LDB2ST0 %VMXGFOR; syntax!
Moving the %VMXGFOR to after the NODUP allowed 5.18 to
successfully execute. (This is really strange, because
there are numerous other PROC SORT statements with very
similar structure that did not fail!)
Change 10.197 Variable DEVCLASS has been added to TYPE74 so reports
VMAC74 for DASD (DEVCLASS=20X) or for TAPE (DEVCLASS=80X) can be
Oct 7, 1992 generated without a list of all devices in a class.
Change 10.196 TMS datasets have been enhanced to provide both capacity
TYPETMS5 measures and billing measures for tapes & tape data sets.
VMACTMS5 Dataset TMS contains one observation for each tape volume
Oct 7, 1992 with the count of files on that tape and the TAPEFEET for
that volume, and contains the DSNAME of only the first
data set on that tape volume. TMS is thus useful for the
capacity measurement of your tape library. The major part
of this change was to enhance dataset DSNBRECD so that it
now contains one observation for each tape data set with
the attributes and correct TAPEFEET for that dataset.
(Previously, DSNBRECD contained observations for only the
second and subsequent data sets on tape - the first data
set information was in TMS. Now, the data set information
from the first (and maybe only) data set in TMS has been
added to DSNBRECD so ALL of your tape data sets can be
billed directly from DSNBRECD.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.195 Accounting summary report now has DDF headings suppressed
ANALDB2R if there is no Distributed data, and null values for one
Oct 7, 1992 of the SORTBY variables now prints "BLANK" vice a blank.
The owning and wanting plan were reversed in the Lock
Suspension Trace, and that report is now named the Lock
Contention Trace.
Change 10.194 Support for OMEGAMON II FOR VTAM V150 user SMF record.
EXOMVEXC Seven datasets are created from the record's subtypes:
EXOMVTBU OMVTEXCE - Exception Events
EXOMVTCT OMVTTBUF - Trend Interval Buffers
EXOMVTET OMVTTCTC - Trend Interval CTCs
EXOMVTLC OMVTTETE - Trend Interval End-to-End Response
EXOMVTNC OMVTTLCL - Trend Interval Local Controllers
EXOMVTVR OMVTTNCP - Trend Interval NCP
IMACOMVT OMVTTVRF - Trend Interval VRs
TYPEOMVT Code has been syntax checked, but no test records were
VMACOMVT provided by Candle as yet for validation.
Oct 7, 1992
Change 10.193 STC 4400 SILO HSC (subtype 7) SMF record variables have
VMACSTC been FORMATed, and some $CHAR1. variables were changed to
Oct 6, 1992 PIB1. numeric variables. New variables STC07FPS/STC07TPX
are created and contain the volume in the same format as
the MVS System (LSM ID, Panel, Row, Column display as
000:00:00:00.) Specifics:
- Variables changed from $CHAR1. to PIB1. in their INPUT
statement, and given format Z2. are these:
STC07SAC STC07SPN STC07SRO STC07SCO
STC07TAC STC07TPN STC07TRO STC07TCO
- Variables changed from $CHAR1. to PIB1. in their INPUT
statement, and given format Z3. are these:
STC07SLS STC07TLS
- Variables added to format statement as shown:
STC07FPS STC07TPS $12.
STC07TYP STC07RQS STC07FLG $HEX2.
STC07DRS STC07DRT HEX4.
- New variables created:
STC07FPS=PUT(STC07SLS,Z3.)!!':'!!PUT(STC07SPN,Z2.)!!
':'!!PUT(STC07SRO,Z2.)!!':'!!PUT(STC07SCO,Z2.);
STC07TPS=PUT(STC07TLS,Z3.)!!':'!!PUT(STC07TPN,Z2.)!!
':'!!PUT(STC07TRO,Z2.)!!':'!!PUT(STC07TCO,Z2.);
Thanks to Lou Sassani, National Australia Bank, AUSTRALIA.
Change 10.192 Variables SYSTEM SMFTIME weren't kept in dataset ROSCOSOR
VMACROSC ROSCOPUR,ROSCOHEX,ROSCOCON,ROSCOATT,ROSCOALL,ROSCOSHU,
Oct 6, 1992 ROSCOVPE, and ROSCODSR, but now they are.
Thanks to Willie Antman, Federal Deposit Insurance Corp., USA.
Change 10.191 "Appended" IMS Log processing was enhanced with new logic
ASMIMSLG to test for and locate the RACF segment in the IMS 01/03
Oct 6, 1992 record. Before this change, it was possible that the RACF
variables would have had wrong values.
Thanks to Engelbert Smets, Provinzia Versicherungsanstalten, GERMANY.
Rheinprovinz.
Thanks to Jeffrey S. Crum, Ashland Oil, USA.
Change 10.190 JES2 errors (APAR OY56235) create truncated timestamp
BUILDPDB values for TYPE26 variables JSTRTIME and JENDTIME. These
BUILDPD3 values are compared with TYPE30_5 variable JINITIME in the
IMACTIME BUILDPDB/BUILDPD3 logic to decide whether to SPIN or not.
Oct 6, 1992 Since IBM has not yet fixed their truncation problem, the
macro _TIMEDIF defined in IMACTIME previously used only in
JES3 BUILDPD3 has been added to JES2 BUILDPDB so that the
decision can be externalized without modification to the
BUILDPDB member. The default value for _TIMEDIF is zero,
but if you experience problems (i.e., your SPIN library
fills because of the JES2 error, and few jobs are put in
PDB.JOBS), you should change the default to 10 seconds,
as described in the comments in IMACTIME. The new logic
to decide to SPIN or not to SPIN using _TIMEDIF is now:
IF IN26 AND IN30_5 AND
(JSTRTIME-_TIMEDIF) LE JINITIME LE (JENDTIME+_TIMEDIF)
THEN OKFLAG=1;
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 10.189 Variables TOTMEMR and OTH0MEMR were accidentally left out
RMFINTRV of the FORMAT statement for the other ....MEMR variables
TRNDRMFI in RMFINTRV. In the INCODE= logic in TRNDRMFI, compiler
Oct 6, 1992 "faker" statements (IF OTH0xxxx=. THEN OTH0xxxx=.;) for
OTH6-OTH0 variables were deleted. They were added to avoid
the UNINITIALIZED VARIABLE message between MXG 6.6 and MXG
7.7 (when these new variables were added), but now only
caused confusion as to why they were there!
Thanks to Tom Elbert, John Alden Life, USA.
Change 10.188 Change 10.020 correctly circumvented LENGTH problem in
EXITMONI Landmark records, but the actual cause of the zero value
Sep 28, 1992 is corrected by changing the line reading
MVC 0(2,R1),=H'0' RECORD LENGTH IS MEANINGLESS
to read
MVC 0(2,R1),F$NXTLNG+2
Thanks to Trevor Holland, Bank of Melbourne, AUSTRALIA.
Change 10.187 Change 10.110 mislocated an INFILE & FORMAT statement in
VMACQAPM the new X.25 section, which surfaced as "SYSTEM ABEND 0C4
Sep 28, 1992 OCCURRED OUTSIDE OF THE SAS ENVIRONMENT" on the SAS log.
Change 10.186 Support for XEROX printer SFS "Status File System" data.
ADOCSMS XEROX Printers have always created data records on print
EXTYSFS workstations, but now that data is somewhat more usable,
IMACSFS because you can now capture the MVS JOB and JESNR fields.
VMACSFS This will require your XEROX person to make some changes
TYPESFS to the XEROX software driving the printer, as described
Sep 28, 1992 in member ADOCSFS.
Then, getting the SFS data records from the XEROX printer
to the mainframe may require floppy disk or non-labeled
tapes or communications packages, depending on the
configuration of a particular printer.
You typically cannot use PDB.PRINT for XEROX printer
cost recovery, because JES counts in the TYPE6 record
only what JES sent to the printer, not what was
actually printed; JES may send only one copy, but the
printer can print 100 copies, and only the SFS
Accounting record will tell you what was really
printed. Now it can tell by whom, too!
The ability to process the TYPESFS dataset and merge it
with your PDB.JOBS dataset to pick up accounting data now
makes the XEROX SFS data worth generating and transporting
over to MVS for XEROX printer workstation accounting.
Unfortunately, XEROX does not yet include the data
needed for accurate printer throughput analysis (see
ANALPRTR) and there is still no way to get the MVS
accounting fields put in the SFS data records.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.185 Change 10.060 was not completely correct. If the first of
VMACTMS5 two DSNBs was inactive, the statement IF DSNBACTV='Y';
Sep 24, 1992 that was added by 10.060 caused the next DSNB to be lost!
That statement must be deleted. The statement
IF VOLSER GE 'A' THEN OUTPUT DSNBREC;
must be changed to read
IF VOLSER GE 'A' AND DSNBACTV='Y' THEN OUTPUT DSNBREC;
so only the active DSNBs are output.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.184 Support for IBM's TCP/IP Version 2 Release 2 SMF records.
ADOCTCP The Telnet Server writes a record for each Logon or Logoff
EXTYTCP event; a different SMF record number can be assigned for
IMACTCP each event, but only one record number for both events is
TYPETCP needed/recommended, as MXG will create one observation in
VMACTCP dataset TYPETCPT for each event record which identifies
Sep 24, 1992 which event. The FTP Server writes a record for each
APPEND/DELETE-MDELETE/LOGIN fail/RENAME/GET-MGET/PUT-MPUT
event; like the Telnet Server, a different record number
can be assigned for each event, but only one record number
for all FTP events is needed/recommended, as MXG will
create one observation in dataset TYPETCPF for each event
record which identifies which FTP event. These records
and their installation is described in TCP/IP V2 R2
Planning and Customization, SC31-6085-01.
Thanks to Fred Toro, Lever Bros. Co, USA.
Thanks to Kurt Karlsen, NIT, NORWAY.
Thanks to Oystein J. Blix, Etrinell.
Change 10.183 DB2 Statement Number type 102 trace records are decimal
ANALDB2R values, but some MXG datasets stored them as $CHAR2. with
VMAC102 a $HEX4. format. Now, all statement numbers are decimal
Sep 24, 1992 values, to agree with DB2PM and the catalog information.
Thanks to Dave Leeker, Southwestern Bell, USA.
Change 10.182 Omegamon V550 ESRA (user) SMF record subtype 101 caused
VMACOMCI INPUT STATEMENT EXCEEDED RECORD LENGTH. Immediately before
Sep 24, 1992 "INPUT ESRES1..." insert "IF SUBTYPE NE 101 THEN" (that
header segment does not exist in the subtype 101). After
input of SYSEGS PIB4., insert @; SMSEGO=SMSEGO=3;INPUT
(this subtype had not occurred in earlier test data).
Thanks to David Ehresman, University of Louisville, USA.
Change 10.181 Support for IBM type 96 SMF record from The Integrated
ADOCTIRS Reasoning Shell, TIRS. An observation is created in the
EXTYTIRS TYPETIRS dataset, containing session times, CPU time used
IMACTIRS (both vector and CPU), interactions and ABEND codes for
TYPETIRS each time the TIRS subsystem replies or queries the user.
VMACTIRS This has been coded but not tested with data.
Sep 24, 1992
Thanks to Bill Stoneberg, National-Oilwell, USA.
Change 10.180 Support for SIMWARE SIM/XFER VTAM user SMF record added.
ADOCSIM For each user transfer session, an observation is created
EXTYSIM in TYPESIM dataset, reporting session times and the amount
IMACSIM (bytes and blocks) of data sent and received.
TYPESIM
VMACSIM
Sep 24, 1992
Thanks to Mike Roybal, First National Bank in Albuquerque, USA.
Change 10.179 TYPE73 variable ESCACVC (flag that an ESCON converter is
VMAC73 attached to this CHPID) was never set to "Y" because it
Sep 24, 1992 was misspelled as ESONCVC in one line. Corrected spelling.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 10.178 Support for Hewlett-Packard Performance Collection System
ADOCHPCS Now available from HP, the PCS product for HP/UX operating
ANALHPRS system creates 4 records from which MXG builds 6 datasets:
ASUMHPCS HPCSAPPL - Application resources by interval
EXHPCSAP HPCSCONF - Configuration at startup of PCS
EXHPCSCO HPCSDISK - Disk activity by device by interval from GLOB
EXHPCSDI HPCSGLOB - Global activity by interval
EXHPCSGL HPCSLANS - LAN activity by LAN by interval from GLOB
EXHPCSLA HPCSPROC - Process activity by process by interval
EXHPCSPR It is quite encouraging that Hewlett Packard recognizes
IMACHPCS the need to instrument its UNIX platform and now offers
JCLHPCS the PCS product to manage HP UNIX systems.
TRNDHPCS
TYPEHPCS
VMACHPCS
VMACHPCS
Sep 23, 1992
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 10.177 Sites still on MVS/XA will need to use ASMTMNTO to create
ASMTMNT the MXG tape mount monitor, as it will assemble under XA.
Sep 23, 1992 (The "real" monitor in ASMTMNT uses MVS/ESA-only macros to
support dynamic device additions).
Change 10.176 NETVIEW FTP SMF record timestamps aren't SMFSTAMP8 format
VMACFTP but have DATE preceding TIME. (Its not standard format,
Sep 23, 1992 but it ain't illegal!) Replace all eleven lines with:
xxxxxxxx SMFSTAMP8.
with these five lines:
DATE PD4.
TIME PIB4.2
@;
IF DATE GT 0 THEN xxxxxxxx=DHMS(DATEJUL(DATE),0,0,TIME);
INPUT
Thanks to Herr Timmermanne, Preussen Elektra, GERMANY.
Change 10.175 Powerful new "_L" 7 "_K" macros are now defined for each
all of MXG MXG dataset, allowing you to completely tailor individual
Sep 22, 1992 datasets. You can now ADD or DROP variables, write the
dataset to a specific DD (libref), add dataset compression
for specific datasets, change BUFSIZE, or even change the
name of the MXG dataset! This MAJOR revision to the MXG
architecture greatly enhances the flexibility and control
for the future. The usage of this new design is described
in the second part of this change. The first part of this
change discusses the incompatibility of the design.
1. INCOMPATIBILITY of the new "_L" macros. These nineteen
IMACs have been changed INCOMPATIBLY:
IMACCICS IMACCIMS IMACCMF IMACDB2 IMACDCOL IMACHSM
IMACIMS IMACINTV IMACMONI IMACNSPY IMACOPC IMACPDSM
IMACROSC IMACSTX IMACTPX IMACZRB IMAC30DD IMAC40DD
IMAC434D
If these IMACs are in your USERID.SOURCLIB, you MUST
make the changes described below, or your job will ABEND!
Prior to MXG 10.2, those IMACs defined old-style macros
which set the DDNAME to which certain MXG datasets were
written. In the new "_L" architecture, these IMACs define
both the DDNAME and DATASET names in one "_L......" macro.
For example, IMACICS defined MACRO _CICTRAN CICSTRAN %
(which was used with DATA _CICTRAN.CICSTRAN syntax) so
that the CICSTRAN dataset was written to the CICSTRAN DD.
Now, IMACCICS defines MACRO _LCICTRN CICSTRAN.CICSTRAN %
(which is now used with DATA _LCICTRN syntax) so that
the CISTRAN dataset is still written to the CICSTRAN DD.
For each IMAC listed above that is in your USERID.SOURCLIB
library, you MUST copy the new 10.x IMAC member into your
MXG.V1010.USERID.SOURCLIB, and set the DDNAME part of the
new "_L" macro definition to the DDNAME value from your
old IMAC member.
The following table lists the old and new macro definition
(with the MXG default value) for each of the IMACs that
were incompatibly changed:
IMAC: Old DDNAME macro: New "_L" ("Library") macro:
IMACCICS MACRO _CICACCT PDB % MACRO _LCICACC PDB.CICSACCT %
MACRO _CICEXCE PDB % MACRO _LCICEXC PDB.CICSEXCE %
MACRO _CICTRAN CICSTRAN% MACRO _LCICTRN CICSTRAN.CICSTRAN%
MACRO _CICYSTM PDB % MACRO _LCICSYS PDB.CICSYSTM %
MACRO _CICEOD PDB % MACRO _LCICEOD PDB.CICEODRV %
MACRO _CICINT PDB % MACRO _LCICINT PDB.CICINTRV %
MACRO _CICREQ PDB % MACRO _LCICREQ PDB.CICREQRV %
MACRO _CICUSS PDB % MACRO _LCICUSS PDB.CICUSSRV %
IMACCIMS MACRO _IMFTRAN WORK % MACRO _LIMFTRN WORK.CIMSTRAN %
MACRO _IMFDBDS WORK % MACRO _LIMFDBD WORK.CIMSDBDS %
MACRO _IMFDB2 WORK % MACRO _LIMFDB2 WORK.CIMSDB2 %
MACRO _IMFPROG WORK % MACRO _LIMFPGM WORK.CIMSPROG %
IMACCMF MACRO _CMF19DD PDB % MACRO _LCMFTRA PDB.CMFTRACE %
IMACDB2 MACRO _DB2ACCT PDB % MACRO _LDB2ACC PDB.DB2ACCT %
MACRO _DB2STAT PDB % MACRO _LDB2ST0 PDB.DB2STAT0 %
MACRO _DB2STAT PDB % MACRO _LDB2ST1 PDB.DB2STAT1 %
IMACDCOL MACRO _DCOLDSN WORK % MACRO _LDCODSN PDB.DCOLDSET %
MACRO _DCOLCLU WORK % MACRO _LDCOCLU PDB.DCOLCLUS %
MACRO _DCOLVOL WORK % MACRO _LDCOVOL PDB.DCOLVOLS %
MACRO _DCOLMIG WORK % MACRO _LDCOMIG PDB.DCOLMIGS %
MACRO _DCOLBKP WORK % MACRO _LDCOBKP PDB.DCOLBKUP %
MACRO _DCOLCPD WORK % MACRO _LDCOCPD PDB.DCOLCAPD %
MACRO _DCOLCPT WORK % MACRO _LDCOCPT PDB.DCOLCAPT %
IMACINTV No macro is defined in this member, and it is unlikely that
this member would cause a problem, but where it used to be
OUTPUT TYPE30_V; it now needs to be OUTPUT _LTY30UV; just
to be consistent with the new architecture.
IMAC30DD No macro is defined in this member, and it is unlikely that
this member would cause a problem, but where it used to be
OUTPUT TYPE30_D; it now needs to be OUTPUT _LTY30UD; just
to be consistent with the new architecture.
IMAC40DD No macro is defined in this member, and it is unlikely that
this member would cause a problem, but where it used to be
OUTPUT TYPE40_D; it now needs to be OUTPUT _LTY40UD; just
to be consistent with the new architecture.
IMACMONI MACRO _MONDBDS WORK % MACRO _LMONDBD WORK.MONIDBDS %
MACRO _MONHIST WORK % MACRO _LMONHIS WORK.MONIHIST %
MACRO _MONMRO WORK % MACRO _LMONMRO WORK.MONIMRO %
MACRO _MONSYST WORK % MACRO _LMONSYS WORK.MONISYST %
MACRO _MONTASK WORK % MACRO _LMONTSK WORK.MONITASK %
MACRO _MONUSER WORK % MACRO _LMONUSR WORK.MONIUSER %
IMACOPC MACRO _OPC20 WORK % MACRO _LOPC20 WORK.OPC20 %
MACRO _OPC23 WORK % MACRO _LOPC23 WORK.OPC23 %
MACRO _OPC24A WORK % MACRO _LOPC24A WORK.OPC24D_A %
MACRO _OPC24B WORK % MACRO _LOPC24B WORK.OPC24D_B %
MACRO _OPC24C WORK % MACRO _LOPC24C WORK.OPC24D_C %
MACRO _OPC24D WORK % MACRO _LOPC24D WORK.OPC24D_D %
MACRO _OPC24E WORK % MACRO _LOPC24E WORK.OPC24D_E %
MACRO _OPC24F WORK % MACRO _LOPC24F WORK.OPC24D_F %
MACRO _OPC24G WORK % MACRO _LOPC24G WORK.OPC24D_G %
MACRO _OPC241 WORK % MACRO _LOPC241 WORK.OPC24_1 %
MACRO _OPC242 WORK % MACRO _LOPC242 WORK.OPC24_25 %
MACRO _OPC246 WORK % MACRO _LOPC246 WORK.OPC24_6 %
MACRO _OPC247 WORK % MACRO _LOPC247 WORK.OPC24_78 %
MACRO _OPC25 WORK % MACRO _LOPC25 WORK.OPC25 %
MACRO _OPC26 WORK % MACRO _LOPC26 WORK.OPC26 %
MACRO _OPC27 WORK % MACRO _LOPC27 WORK.OPC27 %
MACRO _OPC28 WORK % MACRO _LOPC28 WORK.OPC28 %
MACRO _OPC29 WORK % MACRO _LOPC29 WORK.OPC29 %
MACRO _OPC30 WORK % MACRO _LOPC30 WORK.OPC30 %
MACRO _OPC31 WORK % MACRO _LOPC31 WORK.OPC31 %
MACRO _OPC32 WORK % MACRO _LOPC32 WORK.OPC32 %
MACRO _OPC33 WORK % MACRO _LOPC33 WORK.OPC33 %
IMACPDSM MACRO _PDSMDD WORK % MACRO _LTYPDSM WORK.TYPEPDSM %
IMACROSC MACRO _ROSCDDN WORK % - unchanged at present.
IMACSTX MACRO _STXINT WORK % - was defined, but never
referenced in MXG.
IMACTPX MACRO _TPXINT WORK% MACRO _LTPXINT WORK.TPXINTRV %
It is remotely possible that you may have used the old
syntax in your report/analysis program, and if so, you
may encounter syntax errors. The following table lists
the old and new syntax for each possible macro that might
cause syntax errors.
Previous syntax Must be replaced by syntax
_CICACCT.CICSACCT _LCICACC
_CICEXCE.CICSEXCE _LCICEXC
_CICTRAN.CICSTRAN _LCICTRN
_CICYSTM.CICSYSTM _LCICSYS
_CICEOD .CICEODRV _LCICEOD
_CICINT .CICINTRV _LCICINT
_CICREQ .CICREQRV _LCICREQ
_CICUSS .CICUSSRV _LCICUSS
_IMFTRAN.CIMSTRAN _LIMFTRN
_IMFDBDS.CIMSDBDS _LIMFDBD
_IMFDB2 .CIMSDB2 _LIMFDB2
_IMFPROG.CIMSPROG _LIMFPGM
_CMF19DD.CMFTRACE _LCMFTRA
_DB2ACCT.DB2ACCT _LDB2ACC
_DB2STAT.DB2STAT0 _LDB2ST0
_DB2STAT.DB2STAT1 _LDB2ST1
_DCOLDSN.DCOLDSET _LDCODSN
_DCOLCLU.DCOLCLUS _LDCOCLU
_DCOLVOL.DCOLVOLS _LDCOVOL
_DCOLMIG.DCOLMIGS _LDCOMIG
_DCOLBKP.DCOLBKUP _LDCOBKP
_DCOLCPD.DCOLCAPD _LDCOCPD
_DCOLCPT.DCOLCAPT _LDCOCPT
_MONDBDS.MONIDBDS _LMONDBD
_MONHIST.MONIHIST _LMONHIS
_MONMRO .MONIMRO _LMONMRO
_MONSYST.MONISYST _LMONSYS
_MONTASK.MONITASK _LMONTSK
_MONUSER.MONIUSER _LMONUSR
_OPC20 .OPC20 _LOPC20
_OPC23 .OPC23 _LOPC23
_OPC24A .OPC24D_A _LOPC24A
_OPC24B .OPC24D_B _LOPC24B
_OPC24C .OPC24D_C _LOPC24C
_OPC24D .OPC24D_D _LOPC24D
_OPC24E .OPC24D_E _LOPC24E
_OPC24F .OPC24D_F _LOPC24F
_OPC24G .OPC24D_G _LOPC24G
_OPC241 .OPC24_1 _LOPC241
_OPC242 .OPC24_25 _LOPC242
_OPC246 .OPC24_6 _LOPC246
_OPC247 .OPC24_78 _LOPC247
_OPC25 .OPC25 _LOPC25
_OPC26 .OPC26 _LOPC26
_OPC27 .OPC27 _LOPC27
_OPC28 .OPC28 _LOPC28
_OPC29 .OPC29 _LOPC29
_OPC30 .OPC30 _LOPC30
_OPC31 .OPC31 _LOPC31
_OPC32 .OPC32 _LOPC32
_OPC33 .OPC33 _LOPC33
_PDSMDD .TYPEPDSM _LTYPDSM
_TPXINT .TPXINTRV _LTPXINT
2. Usage of the new "_L" and "_K" macros to tailor datasets.
For each MXG dataset, an "_L" ("Library") macro and an
"_K" (Keep) macro is now defined in the product's IMAC.
For example, these IBM Type 0 SMF record product's macros
are now defined in member IMAC0:
MACRO _LTY0 TYPE0 %
MACRO _KTY0 %
The naming convention for the "_L" and "_K" macros use
the same suffix as the dataset's "EX" (Exit macro). The
"EX" members names have one of these forms:EXTYnnnn,
EXTYaaaa, EXTYxxyy, EXxxxyyy or EXxxyyyy, where xx/xxx
is the product acronym and yyy/yyyy is the suffix for
the specific dataset. For example, EXCICTRN is the
exit member name for the CICS product CICSTRAN dataset,
and thus "_LCICTRN" and "_KCICTRN" are the new macros.
The "_L" macro lets you change the DDNAME to which each
dataset is written (for example, you can send a dataset
to a tape, or to a different DASD volume, which can help
with large volume datasets). This is the primary function
of the "_L" (Library) macro architecture. Note that in
the "_LTY0" default definition, only the dataset name is
defined, so the default DDNAME of WORK is used. Changing
the definition to MACRO _LTY0 XYZ.TYPE0 % would cause
that dataset to be written to the XYZ DDname.
It is the "_K" macro that is the real powerhouse in this
implementation. It is located after the KEEP= list of MXG
variables to be kept, and is inside the parenthesis that
can contain dataset options, and so it can be used to
specify dataset options like DROP= BLKSIZE= and COMPRESS=!
Lets look at the before and after structure of MXG code,
using the macros defined in VMAC0 (for the TYPE0 dataset).
The original implementation for dataset TYPE0 was this:
MACRO _VAR0
TYPE0 (KEEP=VAR1 VAR2 ... VARn)
%
MACRO _CDE0
IF ID=0 THEN DO;
INPUT .... @;
%INCLUDE SOURCLIB(EXTY0); ===> OUTPUT TYPE0;
END;
%
The new "_L" and "_K" implementation now looks like this:
%INCLUDE SOURCLIB(IMAC0);
MACRO _VAR0
_LTY0 (KEEP=VAR1 VAR2 ... VARn _KTY0)
%
MACRO _CDE0
IF ID=0 THEN DO;
INPUT .... @;
%INCLUDE SOURCLIB(EXTY0); ===> OUTPUT _LTY0;
END;
%
Examples:
a. The _KTY0 macro can be used to DROP unwanted variables.
Simply define it as
MACRO _KTY0 DROP= VAR2 %
and the unwanted variables will be dropped. (It turns
out that if a KEEP= and a DROP= option are used for the
same dataset, that the DROP= list overrides the KEEP=
list!)
b. The _KTY0 macro can be used to COMPRESS the dataset:
MACRO _KTY0 COMPRESS=YES %
will compress the TYPE0 dataset.
c. You can create new variables (in the Exit member, or in
the case of CICS user data, in IMACICUS) and add them
to the dataset, and drop other variables at the same
time:
MACRO _KTY0 MYVAR1 MYVAR2 DROP= VAR2 %
will cause the TYPE0 dataset to contain your new
variables and drop old variable VAR2.
The earlier implementation of IMACKEEP did permit override
of dataset name and the keep list, but it required copying
the entire _VAR macro definition into IMACKEEP, and this
exposed your site to errors any time a new dataset was
added to that product. The new implementation isolates
your tailoring to the specific dataset, and addition of
new datasets will be transparent to your tailoring.
Change 10.174 The DB2 optimizer's cost estimate, QW0022OS, is input as
ADOC102 RB4. (floating point), not the $CHAR4 input format (that
VMAC102 was printed as $HEX8.). Now, QW0022OS is a numeric field
Sep 22, 1992 instead of character, and contains the cost estimate.
Thanks to Frank Ingrassia, IMS Software, USA.
Change 10.173 SAS 6.07 option FMTSEARCH=(DD1 DD2 DD3), which supports
IMACFMTS concatenation of format libraries, has eliminated the need
Sep 22, 1992 for this SAS 6.06 circumvention. The member was kept for
compatibility, but is unlikely to be needed now.
Change 10.172 Warning "Variable FVOLSER uninitialized" eliminated by
TYPETMS5 removing the incorrect reference to FVOLSER in DSNBREC
Sep 21, 1992 processing. This was only a cosmetic warning.
Change 10.171 VTOC with freespace starting in track 1 did not have that
VMXGVTOC freespace extent reported (except for the first VOLSER).
VMXGVTOF MXG logic was only checking the first volume. This change
Sep 21, 1992 restructured several lines of logic, thanks, Chris. The
Oct 18, 1992 VMXGVTOC changes were incomplete in the Early MXG 10.2 and
were corrected in the PreRelease MXG 10.2
Thanks to Hank Boonstra, GASUNIE NV, THE NETHERLANDS.
Thanks to Chris Weston, SAS Institute Europe, GERMANY.
Change 10.170 DB2 Trace record IFCID=172 (Deadlock, identifies all of
VMAC102 the units-of-work involved in the deadlock, resources they
Sep 17, 1992 were contending for, and attributes of their requests) and
IFCID=177 (Package Allocation) have now been coded/tested.
The only remaining IFCIDs that are not coded are 126-129,
180-182, 186, and 190-195, because none of these subtypes
have yet been created in numerous traces. If you observe
one of these subtypes, please fax a hex dump of the record
so these final DB2 trace IFCIDs can be supported.
Thanks to Gary Smith, Southern California Edison, USA.
Thanks to Frank Ingrassia, IMS Software, USA.
Change 10.169 The JCL example showing how to invoke %GRAFDB2 would not
GRAFDB2 execute; GRAFTRND should have been GRAFDB2, and the ending
Sep 17, 1992 parenthesis and final semi-colon were missing. This error
was only in the example in comments; there was no error in
GRAFDB2 itself.
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 10.168 Support for VSE DOS POWER Version 4.2 accounting records
IMACDOS has been found to require only setting OFFSET=24 and INPUT
Sep 17, 1992 @67 RECID in the Installation tailoring MACro, IMACDOS.
Thanks to Alan Smith, Health and Welfare Data Center, Calif., USA.
Change 10.167 IBM APAR OY49717 adds text to SMF type 37 records for the
VMAC37 Network Alert Report and the Self Defining Text Message
Sep 8, 1992 Report. While there may be multiple Network Alert Report
text segments, in this implementation, only the first is
kept; these are 200 byte variables, and I don't want to
greatly enlarge the size of TYPE37 until a real user tells
me this new data is actually useful! If you use the
TYPE37 and if it uses enough DASD space to be a problem
justifying a re-design (i.e., creating multiple datasets
with restricted sets of variables instead of just the one
TYPE37 with all possible variables) please let me know and
give me your thoughts.
Change 10.166 The _LTRccmm macros names were changed to _XTRccmm names
READDB2 so as to not conflict with the new _L and _K dataset macro
VMAC102 names. (This should have no impact; _XTRccmm macros are
Sep 7, 1992 internal lists and are not normally modified by users.)
Change 10.165 Support for XCOM 6.2 Version 2.2.2G SMF record.
ADOCXCOM Dataset XCOMDATA describes (extensively!) file transfer
EXTYXCOM activity, timestamps, and file attributes and sizes for
IMACXCOM files transferred by XCOM. Additionally, Neil Colombage
TYPEXCOM provided extensive notes about meanings of many variables
VMACXCOM that are now found in member ADOCXCOM.
Sep 6, 1992
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Thanks to Neil Colombage, British Airways, ENGLAND.
Change 10.164 Support for SAP Application Accounting data under CICS.
EXCICSAP The SAP product provides the "STCDUMMY SAP Statistics" in
IMACCICS either a journal format file (which can be read with MXG's
IMACICSA TYPE110J member), or an SMF format type 110 record (as a
VMAC110 journal subtype, which can now be read by TYPE110/BUILDPDB
VMAC110M members). The CICSSAP dataset will contain observations
Sep 6, 1992 automatically if the "user journal type-id" JCRUTRID='SA',
so you need only to find out whether the SAP STCDUMMY data
was sent to a Journal or to SMF. A SAP "event" can have
several CICS transactions, and may last beyond the end of
the last CICS event, so SAP's creation of this additional
transaction information appears to be a very intelligent
architecture to help us measure both CICS and SAP!
Member IMACICSA contains the logic to decode their journal
segment, but you should not have to do anything to that
member; it was externalized only for ease of maintenance.
The internal logic of VMAC110 was restructured to process
journal segments and to specifically recognize the SAP
journal-id. (The logic of VMAC110 is now documented
schematically in ADOC110 for those interested.)
Thanks to Danilo Gipponi, SAS Institute, ITALY.
Thanks to Mr. Eude, Didier Werke AG, GERMANY
Thanks to Mr. G. Guarnaschelli, Hoechet Italia, ITALY.
Change 10.163 Candle's VCOLLECT 5.1.0 still writes the invalid "VVB"
VMACVMXA monitor records first discussed in Change 8.004. The fix
Sep 5, 1992 then was to modify VMACVMXA to add " INPUT +4 @; " before
the actual input statement, but line numbers have changed,
and now the change has been externalized. A new macro in
VMACVMXA is now defined, _VCANFIX, with null value (blank)
but which is located so that you can process Candle data
by the following override in your program:
%INCLUDE SOURCLIB(VMACVMXA);
MACRO _VCANFIX INPUT +4 @; %
_VMTEST
since the resultant program will skip over the unwanted,
additional record length field. (Note that _VCANFIX was
located immediately prior to the INPUT MRHDRDM statement
following MACRO _VMINPUT, as suggested in 8.004).
Thanks to Phil Henninge, Timken Company, USA.
Change 10.162 Support for FACOM PDLF Type 127 SMF record for MSP/EX is
VMACF127 provided by this significant user contribution. Many new
Sep 5, 1992 variables were added to the TYPEF27D (device statistics,
including VOLSER, and pending, connect and disconnect
times), the TYPE27S (CPU statistics, including virtual
pages in the CSA,PLPA, and NUC above and below the line),
and the TYPE27S and TYPE27P (performance Group statistics)
both now support eight-CPU-engine statistics. These data
bring FACOM up to rough equivalence to MVS/XA in terms of
the "RMF-like" PDLF data capture.
Thanks to Joan Dobbie, Attorney-General's Office, S.A., AUSTRALIA.
Change 10.161 Support for FACOM's AIM Version 12 type 116 SMF record is
EXAIM6R added. Version 12 incompatibly changed the record, and
FORMATS there is no record version indicator, so a new Flag AIMVER
IMACFACO was added to IMACFACO to identify which version of AIM MXG
VMACAIM6 is to process. Two formats were added and new AIM dataset
Sep 5, 1992 AIM116_R is created. The changes were extensive, but the
documentation was unclear as to the relationship between
the task information sections and the deadlock resource
information sections; these MXG assumptions were made:
- item 16 (table A.5) should be described as "Offset to
deadlock-related *resource* information section".
- use the pointers to the deadlock resource info sections
that were in each task info section rather than the
triplet in the header which points to all the deadlock
resource info sections
- each deadlock task has only one deadlock resource
section associated with it.
This support has been tested, but only with a small number
of test records.
Thanks to Malcolm Sare, Australian National, AUSTRALIA.
Change 10.160 UTILGETM (used in step SMFSMALL of JCLTEST6 to create the
UTILGETM SMFSMALL sample file now will select ten of each subtype
Sep 5, 1992 of all SMF records, including user records. Previously,
only types 22,30,39,70-79 subtypes were selected. This
implementation makes use of _TEMPORARY_ arrays to avoid
a limitation in SAS 6.07 of 32768 variables in a data step
(that limitation is to be fixed in the November, 1992,
SAS maintenance tape), but you may wish to note that the
variables in _TEMPORARY_ arrays are not similarly limited.
Since this type of array did not exist in SAS Version 5,
UTILGETM tests its operating environment and uses the new
(more robust) logic only under Version 6; the old logic is
unchanged under Version 5.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.159 Although we don't recommend using these archaic read VTOC
FMXGUCBL programs (instead, see member ASMVTOC/VMXGVTOF), they will
VMXGVTOC now work under SAS 6.07. The EXEC ASMHCL statement must
VMXGVTOR be changed so the PARM.C parameter precedes the PARM.L
Sep 3, 1992 parameter, and the //SYSIN following that EXEC must be
changed to //C.SYSIN. Additionally, the function calls in
VMXGVTOC and VMXGVTOR using =FMXGUCBL() was changed to
=UCBL() because functions can only have 4-character names
in SAS Version 6.
Thanks to Bob Smith, Nissan Motor Corporation in the USA.
Change 10.158 FORMAT NOT FOUND error with DB2 SQL Trace reports if no
ANALDB2R T102S105 or T102S107 records (the records that map DBID &
Sep 3, 1992 OBID to their names) were found. While these records are
always written at Trace start-up, the condition can occur
when you process records in the middle of a trace session.
Also, even when the format could be constructed, if there
was no match with your OBID/DBID value, an 8-byte string
(SYSTEM ID + QWHSSSID) was printed. Now, the format is
always created, and for a no-match, the string of SYSTEM,
QWHSSSID, DBID, and OBID is printed. This required some
reformating of some of the SQL reports.
Selection by PLAN, CORRNAME, etc., has now been added to
the Record Trace report.
Regardless of the order in which reports are specified,
ANALDB2R executes and prints the reports alphabetically.
The SORTBY= parameter was ignored in subsequent reports,
if a report such as PMACC03 was requested that had a non-
changeable sort sequence, because of incorrect parsing
that has now been corrected by DB2RSORT macro changes and
invoking this macro for the reports whose sort sequence
can be changed.
Additional changes that will reduce WORK space requirement
are still in development.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.157 (MXG 10.1 only). Assembler error MSGAREA not found cause
ASMVTOC LSPACE UCB=(4),EXPMSG=MSGAREA,MF=I should have been
Sep 2, 1992 LSPACE UCB=(4),MF=I
The EXPMSG=MSGAREA was left over from debugging. Sorry!
Thanks to Sean Chaffee, Amadeus Dataprocessing Gmbh & Co, GERMANY.
Change 10.156 ASMVVDS may fail with User 666 ABEND processing a VVDS on
ASMVVDS a volume which is SMS managed multivolume with guaranteed
Sep 2, 1992 space. The Diagnose VVDS command does not work until you
install IBM APAR OY48199 (PTFs UY74336-339).
Thanks to Chris Taylor, Wachovia Operations Services Corp., USA.
Change 10.155 NPM 1.5 incorrectly documented format of new variables
VMAC28 LLBSSTIM and LLBSPTIM as packed decimal (PDTIME4.) fields,
Sep 2, 1992 but actual data now shows they are PIB4. fields. Change
the PDTIME4. to PIB4. after both variables.
Thanks to Jerry Kleinheinz, Mortgage Guarantee Corp, USA.
Change 10.154 TYPEMONI (archaic Landmark Version 7) does not contain
TYPEMONI APPLID, but ASUMCICS expects that variable, so sites still
Sep 2, 1992 using TYPEMONI (remember, TYPEMON8 is for Versions 8/9)
must add APPLID to the KEEP= list for MONITASK, and must
insert APPLID=SYSID; after the @; and before FILTEM=0; .
Thanks to Russ Weid, CUNA Mutual Insurance Group, USA.
Change 10.153 Step accounting variable SACCT1 is now added to the PDB
IMACPDB datasets JOBS, STEPS, and PRINT, so that Started Tasks
Sep 1, 1992 (which can have only step accounting fields) can be
tracked to account group. This involved adding SACCT1 to
the ID statement in macro _PDBSUMS, and adding SACCT1 to
the _PDBADD2 and _PDBADD3 macros.
Thanks to Mike Skopec, Platinum Technology, USA.
Change 10.152 The //LIBRARY DD in the first step should have specified
JCLTEST6 DISP=(NEW,CATLG) instead of NEW,PASS so that this MXG
Sep 1, 1992 format library is both built AND cataloged!
Thanks to Basil Hines, Rogers Data, CANADA.
Change 10.151 Some DB2 graphs may not have been produced because the
GRAFDB2 statement IF EOF THEN CALL SYMPUT... should have been only
Sep 1, 1992 CALL SYMPUT.... (It worked in testing, because in each of
the cases, the last observation was selected, but if the
last observation was not selected, &MXGOBS was not set.)
Thanks to Andre Henry, AG 1824, GERMANY.
Change 10.150 WSF 3.3.6 causes INPUT STATEMENT EXCEEDED error because
VMACWSF the accounting extension in 3.3.6 contains only three of
Sep 1, 1992 the seven fields added in 3.4.1. To process 3.3.6 data,
you will need to find BOTH occurrences of ACCXPFMR $CHAR8.
and insert the following line after each occurrence:
@; IF LENGTH-COL+1 GE 148 THEN INPUT
so that those following fields are only input if the data
is in the record. There is no error with 3.4.1 data.
Thanks to Frank Sullivan, Woolworth plc, ENGLAND.
Change 10.149 DB2 variables CORRNAME and CORRNUM are determined by the
IMACDB2 connection type (TSO, IMS, CICS, etc.), but prior to DB2
Sep 1, 1992 2.3, the only way to identify connection was by testing
the value of QWHCCN for you site's IMS jobname in macro
_DB2CORR defined in IMACDB2. This macro has now been
redesigned to take advantage of new (in DB2 2.3) variable
QWHCATYP which explicitly identifies the connection type.
(See member ADOCDB2 for all possible values of QWHCATYP.)
The macro definition now reads:
MACRO _DB2CORR
IF (QWHSRELN GE 2.3 AND (QWHCATYP=5 OR QWHCATYP=6 OR QWHCATYP=9))
OR
(QWHSRELN LE 2.2 AND (QWHCCN =: 'IMS1' OR QWHCCN =: 'IMS2'))
THEN DO; /* IDENTIFY IMS CONNECTIONS */
CORRNAME = SUBSTR(QWHCCV,5,8);
CORRNUM = SUBSTR(QWHCCV,1,4);
END;
ELSE
IF (QWHSRELN GE 2.3 AND QWHCATYP=4)
OR
(QWHSRELN LE 2.2 AND (QWHCCN =: 'CICS' OR QWHCCN =: 'PROD'))
THEN DO; /* IDENTIFY CICS CONNECTIONS */
CORRNAME = SUBSTR(QWHCCV,5,4);
CORRNUM = SUBSTR(QWHCCV,1,4);
END;
ELSE DO; /* FOR ALL OTHER CONNECTIONS */
CORRNAME = SUBSTR(QWHCCV,1,8);
CORRNUM = ' ';
END;
%
Thanks to Mr. M. Praet, AG, GERMANY.
Change 10.148 Three DCOLLECT variables in the DCOLBKUP (backup) dataset
VMACDCOL have incorrect values. UBALLSP, UBUSESP, and UBRECSP were
Sep 1, 1992 1024th of what they should have been. Find the line
UBALLSP=1024*UMALLSP;
and the two lines following. Change the "UM" in all three
lines to "UB" to correctly convert the variables.
Thanks to John Ellis, Commercial Union, U.K.
Change 10.147 The MXTDELAY dataset built by these sample CICS reporting
ANALCICS programs is not used by any report (it was a holdover from
ANALMONI CICS 1.6), and the dataset is no longer created.
Aug 31, 1992
Thanks to Kevin Batten, Roses Stores, Inc, USA.
Change 10.146 The new Appended IMS log processing program ASMIMSLG now
ASMIMSLG works with IMS 2.2 as well as IMS 3.1. Sites still using
Aug 31, 1992 IMS 2.2 need only to comment out a single statement:
MVC ORGENT(8),MSGRACGP
(because MSGRACGP is a field name that does not exist in
the IMS 2.2 DSECT as it was added in IMS 3.1), and then
use the IMS 2.2 macro libraries for the assembly. Note
that you will need to have two load libraries, one for
the IMS 2.2 version of MXGIMSLG, and one for the IMS 3.3
version if MXGIMSLG, to keep them separate. The comments
in ASMIMSLG were revised to include IMS 2.2 installation.
Thanks to Warren Hayward, TJX, USA.
Change 10.145 Landmark Monitor for CICS variable TAMRCNT is now INPUT
TYPEMON8 as PIB4. instead of PIB4.6.
Aug 18, 1992
Thanks to David Taylor, Owens & Minor, USA.
Change 10.144 NETSPY NSPYREC=N records with NCPELTYP=41 (29X) cause an
VMACNSPY INPUT STATEMENT EXCEEDED RECORD LENGTH error. Find the
Aug 18, 1992 line with NSPNEWVC PIB4. (note this is the line with
PIB4., not the earlier line with PIB2.), and delete it.
Thanks to Aubrey Tang, Government Insurance Office, AUSTRALIA.
Change 10.143 Amdahl APAF support did not keep variable BALANCE in the
VMACAPAF APAFDOMA data set, but now it does. Note that you specify
Aug 18, 1992 values 0 to 9 or A on the hardware screen, but the value
in the SMF record is 0 thru 10!
Thanks to George Scott, Rockwell International Corporation, USA.
Change 10.142 The "Appended" IMS log processing introduced in MXG 10.1
ASMIMSLG is almost perfect, but even perfection can be improved.
TYPEIMSA There were actually two errors in that release: LOGONID
Aug 12, 1992 was sometimes blank, and STRTTIME/ENDTIME were not reset
to GUTIME/OENQTIME, causing INPQUETM/SERVICTM/RESPNSTM
to be missing/incorrect. LOGONID was an omission in the
ASMIMSLG programs that create MXGIMSLG, and the time value
error was a correction in the back end of TYPEIMSA.
In addition, the Fast Path processing (IMS log 059x) that
was in TYPEIMS (the "old" way) has now been added to both
ASMIMSLG and TYPEIMSA. Moreover, Ashland's six-months use
of their contribution caused them to add enhancements to
the dynamic table allocation algorithms that are described
in comments in ASMIMSLG (and new, cleaner messages are now
printed on the SYSOUT for MXGIMSLG execution).
Thanks to J. Cary Jones, Philip Morris, USA.
Thanks to Pete Shepard, Ashland Oil, USA.
Thanks to Jeffrey S. Crum, Ashland Oil, USA.
Change 10.141 NPM changes in MXG 10.1-Change 10.106- cause INVALID DATA
VMAC28 FOR NTMPDUTH because PIB4 was mistyped instead of PIB4.
Aug 12, 1992 Change both occurrences of 'PIB4 ' to 'PIB4.'. Once this
was corrected, the values for NTNPDUTH/NTNOCCTH were noted
to be '7FFFFFFE'X, because NPM folks use that hex value as
their "infinity" (the real maximum is '7FFFFFFF'X since
the first bit is the sign bit). However, since MXG stored
these variables in LENGTH DEFAULT=4 variables, and since
the maximum hex value storable in four bytes is '7FFFFF00'
MXG was truncating the "infinity" from 2,147,483,646 to
2,147,483,392. To correct this truncation of infinity,
LENGTH NTNPDUTH NTNOCCTH 5; was added. These NTN fields
are PIUs (PDUs) or bytes (Octets) threshold values at
which NPM is to cut interval records. By specifying the
infinity value, the site is telling NPM to never write an
interval record based on these counters, and instead to
write timed interval records.
Thanks to Scott Ashby, U.S. Customs Data Center, USA.
Change 10.140 An interesting discovery was made by comparing the pagein
RMFINTRV counts in TYPE71 with the sum of the page in counts in the
Aug 7, 1992 TYPE72 observations (SET TYPE72; IF PERFRPGN=.; , to keep
only control performance group data). The TYPE71 PVTNPIN
was 46,912 page ins, while the sum of the TYPE72 PAGEINS
was 45,838, which means that the delta, 1074, page ins
were not counted in the address space data. This may be
a coding error in RMF code, or could be an indicator of a
special category of paging. IBM can't explain it, yet.
Thanks to Sandi Whitmyer, USA Funds, USA.
Change 10.139 The PRUWTR package, from Prudential Insurance, is used to
TYPE6 manage spool printing, and writes an SMF Type 6 record.
Aug 7, 1992 The READTIME value put in that record is incorrect; it is
taken from JCTCNVON, the converter on event, instead of
being taken from JCTRDRON, the correct value of when the
job's JOB card was recognized. Because the wrong time was
in READTIME, these type 6 records did not match up to any
of the other job records (BY READTIME JOB JESNR), and the
PDB.PRINT observations from PRUWTR did not have ACCOUNTn
values, and the PDB.JOBS observations did not include the
PRUWTR lines. Since PRUWTR is also source code, your JES
person can change the value from JCTCNVON to JCTRDRON, and
then the PRUWTR type 6 records will match other records.
Thanks to Norm Lacoe, Confederation Life, CANADA.
Thanks to Beth Wells, Confederation Life, CANADA.
Change 10.138 ROSCOE creates records for two new "ROSCOE monitors". The
VMACROSC JCL-CHECKER (MONITOR JCK) is identical with the JCL RECORD
Aug 6, 1992 and JCK records are added to the ROSCOJCL dataset. The
Documentview creates observations in ROSCOVPE that can be
recognized as documentview because VPEMONNM='DOC'.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.137 MVS/ESA XCF Type 74 record INPUT STATEMENT EXCEEDED
VMAC74 RECORD LENGTH and STOPOVER ABEND, because of an MXG error.
XMAC74 Find INPUT @OFF742MO, and change the immediately following
Aug 4, 1992 statement from DO _I_=1 TO NRDDSS; to DO _I_=1 TO NR742MO;
(make sure you change only this DO statement; there are
two other occurrences of DOs to NRDDSS that are correct!)
Thanks to John Nicholls, Health Insurance Commission, AUSTRALIA.
Change 10.136 MXG 10.1 Tape Mount Monitor ABENDs with S 55F at startup.
ASMTMNT Code added in 10.1 to support MVS/ESA 4.2 dynamic devices
Aug 4, 1992 perturbed the contents of Register 1. When the SYSEVENT
TRANSWAP was issued, the non-zero value in R1 is taken as
the address of an ECB to wait upon, but as it was now not
in the address space of the MXGTMNT, the ABEND occurred.
The fix is simple. Insert SR R1,R1 immediately
prior to the SYSEVENT TRANSWAP statement to zero Register
One, which tells TRANSWAP not to post any ECB address, and
thereby avoids the abend. This error was not in MXG 9.9.
Thanks to Andrew Jeppeal, Marshalls, USA.
Thanks to Matt Gallion, Tenneco, USA.
Change 10.135 DB2 Audit Detail Report isn't produced when more than one
ANALDB2R report was requested, or when the SORTBY operand was used,
Aug 4, 1992 because of a mislocated %END statement. Find the first
DATA _NULL_ after the %MACRO PMAUD02 statement, and insert
a %END; statement immediately before that DATA _NULL_
statement. Then find %MEND PMAUD02; and delete the %END;
statement immediately preceding that %MEND statement.
Thanks to Tom Hubbard, Westone Bancorp, USA.
Change 10.134 NPM variable PCTBUSY, for full duplex lines, contains the
VMAC28 maximum of Primary (outbound from NCP) or Secondary
Aug 3, 1992 (inbound to NCP) utilization, but PCTBUSY won't identify
when one direction dominates. MXG added two new variables
PCTPRBSY/PCTSCBSY which contain the utilization in each
direction. An additional network variable, PCTNEGPL, the
percentage of polls that were negative polls, was added as
it is useful in identifying network response problems.
Thanks to Scott Taylor, Primerica, USA.
Change 10.133 Some observations in PDB.JOBS can have JELAPSTM missing,
IMACPDB even though variable INBITS contains a 'J', indicating a
Aug 1, 1992 type 30_5 record was found. (If there is no 'J' in the
third position of INBITS, then JELAPSTM is expected to be
missing, since it is calculated from the 30_5 record.)
This error affected only jobs with more than 1476 unique
DD segments in their type 30_5 record, and resulted from
the absence of variable MULTIDD in the _PDB30_5 macro that
is defined in member IMACPDB. MULTIDD='Y' identifies the
"extra" type 30 record created where there are more than
1476 DD segments in the record, and is used in BUILDPDB/3
logic to recognize these pseudo job (and step) records.
Because it was not in TYPE30_5 in BUILDPDB, JELAPSTM was
inadvertently missing, and also variable RESTARTS was not
accurate for these jobs. To correct the error, variable
MULTIDD was added to the _PDB30_5 definition in IMACPDB.
You could workaround the error by adding the following
statement in your reporting program that uses JELAPSTM:
IF JELAPSTM=. AND JINITIME NE . AND JTRMTIME NE . THEN
JELAPSTM=JTRMTIME-JINITIME;
Thanks to Jim Cummings, First Interstate Bank of Oregon, USA.
Change 10.132 CICS Journal data can be sent to the type 110 SMF record.
EXCICJRN Some sites modify CICS to send data (such as logon/logoff)
Jul 30, 1992 to a journal and direct that journal to SMF. This change
creates a new exit which allows you to gain control (for
example, to process a user journal record). If you think
you need to use this exit, call for further assistance.
Note that Change 10.164 adds support for the SAP journal
record from SAP accounting, and does not use EXCICJRN.
Thanks to John Ebner, SystemHouse, USA.
Change 10.131 Amdahl's MDF architecture supports 16 LPARs, but MXG only
ASUM70PR supported 8 in its summarization and trending. (A message
TRND70PR alerts you that more than 8 were found.) This change
Jul 27, 1992 adds variables for the additional 8 possible LPARS.
Thanks to Jeff McFadyen, Ministry of Correctional Services, CANADA.
Change 10.130 Calculation of tape length for 3420 (reels) in VMACTMS is
VMACTMS5 slightly incorrect. The IRG (inter record gap) of 0.6" is
Jul 27, 1992 for 1600BPI tapes, and IRG is only 0.3 inches for 6250s.
For a full tape of 5200 blocks at 32760 blksize, the 0.6"
value caused a 2400 foot tape to be reported as 2530 feet!
Thanks to Malcolm Sare, Australian National, AUSTRALIA.
Change 10.129 SAS 6.07 under CMS has serious problems for MXG users.
Jul 27, 1992 The concat of sourclibs (USERID.SOURCLIB, MXG.SOURCLIB)
did not work, although it is now reportedly corrected.
The workaround is to make a complete copy of SOURCLIB
and make your tailoring changes in that copy until SAS
fixes the problem so you can reinstall with your changes
isolated in the USERID.SOURCLIB.
Standard label tapes cannot be read under CMS SAS 6.07,
but SAS is working on the problem with Systems Center.
Change 10.128 BUILDPDB under CMS SAS needs correction. The new macros
BUILDPDB VMXGDKRN/VMXGDKRW must be renamed VMXGDKN/VMXGDKW because
BUILDPD3 CMS SAS is limited to only seven character macro names.
Jul 27, 1992 Additionally, execution under CMS SAS 5.18 will require
the addition of a FILE DEF for SMFTEMP, and the DCB=SMF in
the FILE SMFTEMP statement in BUILDPDB must be changed to
DCB=VB LRECL=32756 BLKSIZE=32760 since CMS cannot create
VBS files.
Change 10.127 JCLPDB6 in MXG 10.1 will fail with DATASET PDB.TYPETMNT
BUILDPDB NOT FOUND error, because ASUMTMNT is included in JCLPDB6
BUILDPD3 sample program, but the intended automatic creation of the
Jul 24, 1992 TYPETMNT (Tape Mount Monitor records, created by ASMTMNT),
did not get into MXG 10.1. Now, BUILDPDB/BUILDPD3 will
create TYPETMNT dataset, so that if you install MXGTMNT to
create SMF records, you will now only have to update the
IMACTMNT member in your USERID.SOURCLIB to tell MXG what
SMF record number you assigned, and your tape mount times
will automatically be in your PDB library.
Thanks to Jeff McFadyen, Ministry of Correctional Services, CANADA.
Change 10.126 Variable QWHSLUUC should have been spelled QWHSLUCC in
ANALDBTR the _VTRCMN macro definition for DB2 Trace processing.
Jul 24, 1992
Thanks to Christophe Faure, SAS Institute, FRANCE.
Change 10.125 Variable DS4VTOCE was input but not kept, and was not
VMXGVTOC labeled. Add it adjacent to DS4VTOCI in the keep list,
VMXGVTOF and add DS4VTOCE='VTOC*EXTENT*DESCRIPTION' adjacent to
Jul 24, 1992 DS4VTOCI in the LABEL statement.
Thanks to Christophe Faure, SAS Institute, FRANCE.
Change 10.124 IBM incompatibly changed the PSF type 6 SMF record, but
VMAC6 the change was not documented! Bin counts were added to
Jul 22, 1992 the APA subsection (and the added length was NOT added to
SMF6LN4!), and the ESS subsection, formerly only in the
JES2 type 6 SMF record, now exists in the PSF record; this
unexpected segment caused incorrect values for the APA
subsection variables DOCLENFT/FONT,OVLY,PGSG USED-LOAD.
The simple fix is to relocate the ESS section DO group
(22 lines) which starts with
IF SECTIND='...1....'B AND OFTONXT ... /* ESS SEG */
to just after the end of the PSF section DO group, which
starts with
IF SECTIND='..1.....'B AND OFTONXT ... /* PSF-APA */
This change also added BINnBNCT variables for 8 bins.
The APAR which apparently made this change is OY30945.
Thanks to Kevin James, Cornhill Insurance, ENGLAND.
Thanks to Tim Sparrow, Cornhill Insurance, ENGLAND.
Change 10.123 Variables R791BPIN,PINE,BPNE,CTAR, and R791VAL were added
VMAC79 to TYPE791 dataset. The test IF SMF79ASL GE 96 before the
Jul 21, 1992 input of R791HIN was changed to IF SMF79ASL GE 98. The
MVS/ESA 4.2 value for R791FMCT is occasionally too large
(129MB for INIT with WM/LW); IBM is investigating.
Variables R794PPIA/LPIA were added to TYPE794 dataset,
and redundant LCUID code was removed from TYPE79E logic.
Thanks to Steve Saunders, Talbots, USA.
Change 10.122 Total page movement between central and expanded storage
VMAC71 is EXTREADS (from ESTORE to CSTORE) plus PGMVTOEX (from
Jul 21, 1992 CSTORE to EXTORE). The sum of EXTREADS+PGMVTOEX is useful
in comparing before and after effects on memory changes.
Thanks to Sigfrido Perdomo, Metropolitan Life, USA.
Change 10.121 Datasets ILKAST20 and ILKAST21 had invalid data because
VMACILKA the offset was incorrect, and the documentation was wrong.
Jul 21, 1992 Change the line reading:
Aug 18, 1992 FPTDCSOF=FTPDCSOF-3+OFFSMF;
to read:
FPTDCSOF=FTPDCSOF+SMFACDOF;
Change the line reading:
FPTDCTOF=FTPDCTOF-3+OFFSMF:
to read:
FPTDCTOF=FTPDCTOF+SMFACDOF;
Change the +3 following F20DTTY PIB1. to +1
Change F21FVOL from $CHAR8. to $CHAR6.
Change F21DAIR from $CHAR8. to $CHAR4.
Change F21DARC from $CHAR8. to $CHAR1.
Insert two lines after F21SBMSG PIB2.
@;
IF FTPDCTLN GE 129 THEN INPUT
to conditionally input F21DAIR/F21DARC (a feature that was
not documented by the record's vendor!).
Thanks to Paul Mei, Imperial Oil Limited, CANADA.
Change 10.120 New variable M24IODEV is input in M24LOGOF and M24SINCE
EXM24ACT datasets, and the account input code formerly in EXM24ACT
VMACM204 (for compatibility with archaic versions of MODEL204) was
Jul 19, 1992 moved into VMACM204. EXM24ACT is no longer referenced.
Change 10.119 A strange type 30 subtype 1 record caused INPUT STATEMENT
IMACACCT EXCEEDED RECORD LENGTH error because of an MXG logic error
Jul 17, 1992 if a type 30 ends with an account section. This record is
questionable, as it contains only a PROD, ID, and ACCT
section, and the "INITTIME" is nulls, so this may in fact
be an invalid record, but MXG still should not fail too!
Change the last line of IMACACCT to read
IF LENGTH GT TEMPLOC THEN INPUT @TEMPLOC @;
so the existing INPUT @TEMPLOC @; is only executed if the
record has additional data sections.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 10.118 The Cache DASD analysis was incorrect. LCU and DEVADDR
ANALCACH could be missing, and only the first LCU was reported.
Jul 17, 1992 The logic was revised to merge BY LCU VOLSER and output
Oct 8, 1992 only when both TYPE74 and CACHE90 had data (MXG does not
output TYPE74 if there was no I/O activity during the
interval, while CACHE90 always had an observation.)
Thanks to Scott Ashby, U.S. Customs Service, USA.
Change 10.117 Execution of MXG's BUILDPDB under the CMS version of 6.07
BUILDPDB causes APPARENT MACRO INVOCATION ERROR message, because I
BUILDPD3 forgot that CMS is limited to seven-character %macro names
BUILD518 when I added %VMXGDKRO and %VMXGDKRW macro definitions and
Jul 17, 1992 invocations in MXG 9.9! Change both VMXGDKRO to VMXGDKO
and both VMXGDKRW to VMXGDKW to comply with the CMS limit.
If you are still executing under CMS 5.18, there are other
problems! The FILE SMFTEMP DCB=SMF; statement will fail
under CMS if the input SMF file is a VBS file, because you
can only read VBS under CMS, you cannot create VBS. You
would need to change BUILD518 to use
FILE SMFTEMP RECFM=VB LRECL=32756 BLKSIZE=32760;
and pray you never see an SMF record that is 32760 bytes
long!
Thanks to J. D. Hill, CyCare Systems, USA.
Change 10.116 STC Release 1.2 of the STC4400 HSC SMF record was changed
VMACSTC incompatibly. The one-byte STC07CON field in the middle
Jul 15, 1992 of the record is now a four-byte field. MXG does not fail
but the data values are trashed, and of course there is no
record version indicator in this subtype 7 record!. The
correction is to replace STC07CON PIB1. with
@;
IF LENGTH-OFFSMF EQ 105 OR LENGTH-OFFSMF EQ 137 THEN
INPUT STC07CON PIB1. @;
ELSE INPUT STC07CON PIB4.
Thanks to Glen Farmer, Hallmark Cards, USA.
Change 10.115 SYNCSORT variable COREREQ can be negative! If you specify
VMACSYNC "MAX-100K", indicating SYNCSORT can use the REGION size
Jul 13, 1992 minus 100K, COREREQ will be -100K, after you change the
INPUT statement for COREREQ from PIB4. to IB4.
Thanks to Brian LeBlanc, Chrysler Corporation, USA.
Change 10.114 CA TOP SECRET causes INPUT STATEMENT EXCEEDED RECORD due
VMAC80 to a change in the value CA stores in RACFVRSN. The type
Jul 12, 1992 80 SMF record created by TOP SECRET is identical in format
to the IBM record, but CA's OFFSET is from the beginning
of the physical record, while IBM's OFFSET is from the
start of the logical record. MXG tests RACFVRSN to know
if the record is an IBM or a CA record. A new value of
43X (previous values were F3X or F4X) must be added to the
test in line 007700 to recognize this as a CA record. I
assume this new value is associated with a new release of
TOP SECRET, but nobody at CA bothers to keep me informed!
As an aside, the CA OFFSET value is actually consistent
with offset values in other SMF records; the RACF type
80 is the only IBM record which calculates offset from
the logical record!
Thanks to Mark Paulson, Maurices, USA.
==Changes thru 10.113 were included in MXG PreRelease 10.1 Jul 10, 1992=
Change 10.113 Sample IEFU83 SMF exit that filters type 40 SMF records,
ASMIEFU8 only write SMF records for tape devices. This exit is in
Jul 10, 1992 use to measure tape drive allocation time by merging SMF
type 30, type 40, type 21, and MXGTMNT SMF records with an
algorithm still in development, but the exit by itself may
be useful so that you can create type 40 (deallocation of
dynamically allocated devices) for tapes only, and thereby
determine the JOB name of those jobs which allocate tape
devices dynamically (so that they can be excluded by JOB
name in MXG's ANALTAPE analysis).
Thanks to Gary Strohminger, AT&T Transtech, USA.
Change 10.112 Major revision in support for OPC/A log processing. This
EXOPC... significant user contribution adds several new datasets
FORMATS and expands logic to handle records spanned across blocks.
IMACOPC The "OPCA" prefix for dataset names was changed to "OPC",
TYPEOPC the variables prefixed "OPC" are now prefixed "TRL" to
TYPEOPC agree with IBM field names, and the input file is now
VMACOPC OPCLOG instead of OPCALOG. (To eliminate confusion with
VMACOPC the earlier MXG support, members TYPEOPCA/VMACOPCA are
Jul 9, 1992 deleted and replaced by TYPEOPC/VMACOPC.). See comments
in member VMACOPC for an appreciation of the extensive
work that the contributor accomplished.
Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 10.111 Verstand's product, TTX, is now a part of MXG Software!
TTXPDS The TTX product is a set of tools for capturing MVS data
Jul 7, 1992 (control blocks, data records, etc.) from within a SAS
program; many of its tools are implemented as ASM source
code routines that (once assembled and link-edited) can
be CALLed from within SAS. Most MXG sites probably will
not need to create monitors, but TTX is now available in
MXG if you need it. (TTX customers found TTX useful for
its DASD space measurement and Tape Device analysis, but
both these facilities were already provided to MXG sites
in ASMVTOC, ASMVVDS, and MXGTMNT. In fairness, however,
it must be noted that TTX tape monitoring also provides
device allocation time statistics not (yet!) captured in
MXGTMNT.) The single MXG member, TTXPDS, is actually a
164-member PDS that contains installation instructions,
excellent documentation, and commented source code for the
ASM and SAS TTX programs. Please let us know which parts
of TTX you have found useful.
Thanks to Guy Garon, Verstand, CANADA.
author and creator of TTX.
Change 10.110 Support for AS400 now supports V2R1M0 (and V1R3) and was
ADOCQAPM restructured. New members TYPEQAPM/VMACQAPM now follow
AS400PDS MXG naming conventions and builds all 13 QAPM.... datasets
JCLQAPM from AS400 data. Member ADOCQAPM documents how to extract
TYPEQAPM AS400 data and sending it to MVS, and JCLQAPM shows how to
VMACQAPM split an AS400 tape into 13 files, and invokes TYPEQAPM to
VMXGDSNL create all 13 QAPM.... datasets from those files.
Jul 6, 1992 AS400 data does not contain a "system" identifier, but you
can use the DSNAME of the MVS dataset with the AS400 data
to identify which AS400 system's data is being read. The
macro _MXGDSNL opens the INFILE and extracts the low-level
qualifier of the GDG into the %macro variable &LOWLEVEL
that is then stored in variable AS400SYS in each QAPM....
dataset. AS400 support in VMACQAPM is fully functional,
but variables are not yet labeled and the datasets need to
be better documented.
The _MXGDSNL was originally a %MACRO, but an 0C4 ABEND
in the %MACRO compiler caused me to change it and use
the old-style substitution macro, even though it is in
a "VMXG...." member normally used only for %MACRO. SAS
Zap Z6074721 corrects the problem; when pervasively
installed, I may revert back for consistency.
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Thanks to Greg Scriba, Budget Rent-a-Car, USA.
Change 10.109 MXG source members have always been numbered lines, but
CONFIG if you submit a job with the SYSIN statements unnumbered,
CONFIG07 you will receive a very un-obvious 180 syntax error.
SASOPTV5 With option S=0, SAS reads columns 73-80 of the first SAS
Jun 30, 1992 statement, and if no line numbers are found, SAS concludes
your source statements are unnumbered, and sets S=80 to
read all 80 columns. However, when you %INCLUDE an MXG
member, those line numbers in columns 73-80 cause the SAS
180 syntax error, or even an "UNEXPECTED END OF FILE".
To prevent the occurrence of this error, MXG members
CONFIG, CONFIG07 (for SAS Version 6) and the (now archaic)
SASOPTV5 (for SAS Version 5) contain options S=72 and
S2=72 so that SAS will always only read columns one thru
seventy-two as MXG SAS statements.
Thanks to MP Welch, US Sprint Dallas, USA.
Change 10.108 APPC variables in TYPE30 have incorrect values. Variables
VMAC30 APPCDAT and APPCDAR must be input as RB8. instead of the
Jun 30, 1992 present PIB4. format.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 10.107 Messages "INFO: THE VARIABLE xxx ON DATA SET yyy WILL BE
DOC OVERWRITTEN BY DATASET zzz" are printed on the SAS log if
Jun 30, 1992 SAS options MSGLEVEL=I is specified (the default is N).
These messages result when MERGE datasets have multiple
occurrences of the variable xxx, and are not informing you
of any problem. (These info messages may be useful during
testing, but they serve no purpose in normal execution.)
Thanks to Doug Drain, National City Bank, USA
Change 10.106 NPM 1.5.1 subtypes 90x-96x (144-150) caused "NONZERO TOF"
VMAC28 or "RECORD NOT OUTPUT" message; these X.25 records had not
Jun 30, 1992 been validated. Only the new NPMEVX25 dataset is affected.
Lines 168100,168200,257100 values 92, 95, 96 must be 92x,
95x, and 96x. Line 329100 must be changed to read:
ELSE IF 90X LE NPMSUBTY LE 92X OR NPMSUBTY=96X THEN DO;
Line 329400 must be changed to read:
ELSE IF 93X LE NPMSUBTY LE 95X THEN DO;
Line 242900 (+1 following DDD input) must be deleted.
Variables LXETDDTA/LXETGDTA (lines 242000-242100) must be
$CHAR9. vice $CHAR8. Most LXET.... variables are now
formatted as $HEX, as they contain unprintables.
Thanks to Scott Ashby, U.S. Customs Data Center, USA.
Change 10.105 STC 4400 SMF record decode used the same bit of STC07TYP
VMACSTC to decode its eight variables, instead of successive bits
Jun 29, 1992 for each variable, starting in line 034800.
Thanks to Daryl Skufca, DITSO Cleveland, USA.
-----Changes thru 10.104 were printed in MXG NEWSLETTER TWENTY-TWO-----
Change 10.104 EPILOG/MVS support was still wrong, after Change 10.079!
VMACEPMV The *SM180NIO and *SM180NEQ should have been
Jun 24, 1992 *(SM180NIO-1) and *(SM180NEQ-1) respectively. Also, the
input SM180RID RMFSTAMP8. is now SM180RID ?? RMFSTAMP8.
because the field is incorrect in the SM180SUB='TOTS' data
record. Because MXG the EPMVEP dataset contains events
TOTS/PGN/PGP/TSO,BAT,STC/tso,bat,stc/ some fields may not
be valid for some values of SM180SUB. It is possible that
separate datasets may be created for each event type in
future MXG versions, but that is still under study.
Thanks to Wayne Parrino, Avery-Dennison, USA.
Change 10.103 A "MONWRITE" equivalent from some vendor creates VM/ESA
VMACVMXA monitor files with an extra, and invalid, control record
Jun 23, 1992 between the valid "end" and "start" control records. The
problem is being investigated with the vendor, but this
circumvention has been added to MXG to strengthen its test
for a valid control record. After the @; after variable
IPARMLF1 has been input, insert the following statement:
IF IPARMLF1 NE 00008709X THEN DELETE;
The actual MXG change also puts a message on the log that
the unexpected/invalid record has been deleted. This
site's "MONWRITE" file also contained incorrect bytecount
values which are also being researched.
Thanks to Yam Tan, British Airways, ENGLAND.
--Changes thru 10.102 were in Beta MXG PreRelease 10.1 of Jun 22, 1992--
Change 10.102 RMDS Delete Directory record, ORG=M,ACT=D,Key=x0101'x is
VMACRMDS written erratically with inconsistent contents when it
Jun 21, 1992 is compared to the IBM DSECT, and causes INVALID DATA
message for variables RMDSMXVR,LLTH,VWDP,HHLD. This is
not an important RMDS record, and only served to print
a hex dump on the log. Now, all Packed Decimals are ??
protected to eliminate the message and hex dump.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.101 ROSCOE variables starting with ADSFUN2 thru ADSFNDSN are
VMACROSC input incorrectly. Starting in line 074800, the offsets
Jun 20, 1992 should be 211,219,227,235,243,251,259, and 259 (it was
obvious once pointed out). Also, ADFSMEM and ADFSNDSN
logic was enhanced and cleaned up in this change.
Thanks to John Ellis, Commercial Union, USA.
Change 10.100 Fujitsu's FACOM MSP/EX SMF records are now supported.
IMACFACO Type 6,22,26 and 57 records were changed incompatibly,
VMAC6 but only TYPE6 (PDB.PRINT) variables NODE,RMOTID and
VMAC26J2 TYPE26J2 (PDB.JOBS) INROUTE,PRROUTE,PUROUTE,INDEVICE
Jun 19, 1992 variables will be incorrect without this change. The
type 6 one-byte NODE/RMOTID pair was expanded in place
to two bytes each. The type 26 record was also changed
to support two-byte node/rmotid for the IN,PR, and PU
route codes, but instead of putting these data in IBM's
pre-defined Routing Section, FACOM decided to tack those
fields on to the end of the descriptor section! Facom
MSP/EX users must update member IMACFACO to tell MXG
your operating system level to cause MXG to read in
their relocated data. See comments therein.
Unfinished in 10.1 Beta:
Type 26 may have also relocated DEVNAME (SMF26NDV), but
that relocation is not coded yet. This should have no
impact except for that variable.
Type 22 record change was only to make existing fields
reserved, and had no impact on MXG code or execution.
Type 57 record has also relocated DEVNAME, but type 57
is not used in any standard MXG BUILDPDB nor reports.
Thanks to Joan Dobbie, Justice Information System, S.A., AUSTRALIA
Change 10.099 I sure missed this one! IBM changed the format of DEVNR
VMAC75 with MVS/ESA 4.2.0 records. DEVNR (or UNITADDR, its old
XMAC75 MVS/370 name) used to be written as hhhF (device BF7 was
Jun 17, 1992 'BF7F'x. Document APAR OY48957 now indicates that DEVNR
is now written as hhhh (to support 4-hex-digit addresses).
Since this was not documented in the 4.2.0 SMF manual, MXG
continued to divide by 16 to shift the "F" out. Now, the
correction is to replace line 020400:
DEVNR=FLOOR(DEVNR/16); with
IF MVSLEVEL LT 'SP4.2.0' THEN DEVNR=FLOOR(DEVNR/16);
I'm surprised it took this long for this error to show
up, but a) the VOLSER was correct, which I guess most
people use in tracking paging activity, b) it did not
create a note or message, just a wrong value, and/or
c) MVS/ESA 4.2.0 is so good, and sites using it are so
smart as to get enough memory, so that paging and swap
are no longer the bottlenecks which caused us to look at
TYPE75 data regularly in earlier operating systems!
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 10.098 System Center's NETMASTER type 37 SMF record supported.
VMAC37 Their record is basically compatible with NETVIEW type
Jun 19, 1992 37 records, but they set PRODUCT='NETM' instead of the
'NETV' value expected, and their subtype 2 record also
contains the GEND triplet, while IBM's subtype 2 did
not. Change IF PRODUCT='NETV' THEN to
IF PRODUCT='NETV' OR PRODUCT='NETM' THEN and
replace IF PRODUCT='NETV' AND SUBTYPE GE 3 THEN with
IF (PRODUCT='NETV' AND SUBTYPE GE 3) OR
(PRODUCT='NETM' AND SUBTYPE GE 2) THEN
for MXG to support either NETVIEW or NETMASTER records!
Thanks to Normand Poitras, TELEGLOBE Canada, CANADA.
Change 10.097 Analysis of VSAM data sets may have the incorrect value
ANALDSET for PROGRAM name. Variable SORTTIME, created in the
Jun 17, 1992 ADD statements for NAME=EXTY64 in this member, defaulted
to LENGTH 4, causing truncation of the value (up to 255
seconds could be lost), causing incorrect sequence with
the INITTIME value from the file's step record. Insert
LENGTH SORTTIME 8; after SORTTIME=SMFTIME to fix this
error. Also, TYPE64 does not contain variable OPEN that
is used in ANALDSET, causing VSAM Input and Output I/Os
to be summarized together in DSNSUMS. In the IEBUPDTE
step, add OPEN to the KEEP= list for TYPE64, and just
before the OUTPUT TYPE64; statement insert:
IF ACBOUT='Y' THEN OPEN='OUTPUT ';
ELSE OPEN='INPUT';
IBM Info/Sys Item Q494663 (all 39 pages) confuses issues,
but ultimately points out that the count of INSERTS,SPLITS
UPDATES, etc., in a type 64 record "Change" counter is not
due to this job's open, but is the catalog change since
open, and that is why you can see UPDATE counts non-zero
for INPUT! Only the EXCPS count in TYPE64 is for this
open (as it alone was fixed by ancient APAR OY15663).
Thanks to Gary Matney, Twentieth Century Investors, USA.
Change 10.096 PDBTREND JCL example builds PDBs and updates TRENDs from
PDBTREND SMF input for new sites to "initialize" their past trend
Jun 16, 1992 from before they begin regular building of the PDB. The
sample report herein used RMFINTRV/TYPE72 instead of the
TRNDRMFI and TRND72 dataset names (which were change way
back in MXG 8.3, but this example was overlooked).
Thanks to Mike Skopec, Platinum Technology, USA.
Change 10.095 Support for Blue Line's Vital Signs for VTAM product,
VMAC28 which creates type 28 SMF records, has been tested.
Jun 13, 1992 Six subtypes (10x,11x,12x,13x,20x, and 30x) populate the
five MXG interval NPM datasets NPMINLU,NPMINNCP,NPMINPU,
NPMINRTM, and NPMINSES. The Version 2 Release 0 level of
Blue Line is required, as the type 28 records written by
earlier releases were not correct.
Change 10.094 DB2 Accounting Detail and Summary reports now will use
ANALDB2R the (new in 10.1) summarized (and thus smaller) ASUMDB2A
Jun 13, 1992 dataset if it is found in the PDB= input library list.
This will significantly reduce the run time of ANALDB2R.
(Only the Accounting Trace needs the detail transaction
records in DB2ACCT; the Accounting Detail is really a
summary, and ASUMDB2A is summarized at that same level!)
You can force MXG to use the DB2ACCT dataset with the
new USEACCT option: %ANALDB2R(PDB=PDB,USEACCT=YES);
If you have taken advantage of sending your DB2ACCT
data to the DB2ACCT ddname (Change 10.053), and you
have added ASUMDB2A to your BUILDPDB and WEEKBLD jobs
(Change 10.yyy), then your existing %ANALDB2R reports
with PDB=PDB specified will work just fine.
If you have put your DB2ACCT data in the DB2ACCT dd,
but did not build ASUMDB2A, to get your DB2 Account
reports, you will need only to add the DB2ACCT ddname
to the PDB= list of ddnames to be searched:
%ANALDB2R(PDB=PDB DB2ACCT);
The ANALDB2R reports now include the new DB2 2.3 fields
printed by DB2PM, except for the DDF data fields,
because we have no test data (hint, hint)!
Change 10.093 Trending of DB2ACCT data will now use the new ASUMDB2A
TRNDDB2A dataset if it exists in the WEEKly PDB library, but if
Jun 12, 1992 ASUMDB2A has not been created in your WEEKly PDB, then
TRNDDB2A will use the DB2ACCT dataset (which is more
expensive because it has many more observations than
does the ASUMDB2A dataset built by member ASUMDB2A).
Change 10.092 Minor cleanup of several of the TREND members. Variable
TRNDRMFI ZDATE was added where missing and INTERVAL (the number
TRND70 of RMF intervals) is created in RMF based datasets for
TRND70PR enhanced reporting capabilities.
TRND71
TRND72
Jun 12, 1992
Change 10.091 One user asked for it, here it is. Enhancement of the
MNTHCICS MXG TREND architecture to trend monthly in addition to
MNTHDBDS the strongly preferred weekly trending. MXG strongly
MNTHDB2A feels weekly trending must be used for capacity trends,
MNTHDB2S but some sites still think they need monthly trends too!
MNTHJOBS The MNTH.... are corresponding TRND.... members modified
MNTHRMFI to create MNTH.... instead of TRND.... output datasets,
MNTH70 with the interval set to MONTH. The MONTH PDB should be
MNTH70PR used as input, although WEEKly PDBs can be used (but the
MNTH71 current month's data will be incomplete until monthend.)
MNTH72
Jun 12, 1992
Change 10.090 The DB2ACCT dataset was externalized by Change 10.053,
ASUMDB2A but it may be too large for typical analysis. Just like
Jun 12, 1992 ASUMCICS summarizes CICSTRAN transactions records into a
much smaller, yet very usable PDB.CICS dataset in the PDB,
member ASUMDB2A summarizes DB2ACCT detail accounting (DB2
"transaction") records into the much smaller, yet also
very usable PDB.ASUMDB2A. ANALDB2R will use the smaller
PDB.ASUMDB2A (if it exists) in DB2 reports reduce the
amount of data that must be read. The input dataset is
the DB2ACCT dataset and the summarization is BY QWACLOCN
QWHCCN "date-hour" SHIFT (where "date-hour" is the value
of QWACBSC at the hour level).
IT IS STRONGLY RECOMMENDED that all DB2 sites add ASUMDB2A
to your daily PDB by adding
%INCLUDE SOURCLIB(ASUMDB2A);
following the include of (BUILDPDB); this has already been
added to the BUILDPDB step in the JCLPDB6 example.
Sites with extremely large DB2ACCT datasets may choose to
execute the ASUMDB2A include in a separate JCL step, since
the WORK space required for sorting and summarizing
DB2ACCT into ASUMDB2A can be greater than the WORK space
you normally allocate in your BUILDPDB.
If you follow the MXG recommendation and create ASUMDB2A
daily, you will also need to add code to EXPDBWEK (or
modifying WEEKBLD) to create the WEEK.ASUMDB2A dataset
in your weekly PDB from dailies. ASUMDB2 would have
been automatically included in MXG's BUILDPDB except for
the possible problem with work space cited above. The
dataset should prove to significantly reduce the cost of
ANALDB2R reporting.
Change 10.089 %VMXGSUM is enhanced to provide two new macro parameters
VMXGSUM MINTIME= and MAXTIME= that name the datetime variable
Jun 12, 1992 that will be used in building the minimum and maximum
datetimestamp values in each summary record. (Because
timestamps require LENGTH 8, and all SUM= MIN= MAX= or
MEAN= have a length of 4), new parameter names were
necessary. Variables MINTIME and MAXTIME are created in
the output dataset created by %VMXGSUM.
Change 10.088 BUILDPDB/3 redundant SORTs of DB2STAT0 and DB2STAT1 were
BUILDPDB removed because SORTs were relocated into DIFFDB2. Some
BUILDPD3 superfluous OPTIONS were removed from DIFFDB2. READDB2
DIFFDB2 standalone execution that unintentionally always sent the
READDB2 output to the PDB DDname was also corrected.
Jun 12, 1992
Change 10.087 Product Documentation "ADOC...." members have been added.
ADOCAAAA Twenty-five "Products" are now documented in the style of
Jun 12, 1992 future MXG online documentation, although none of the ADOC
members are completely finished, and the text is still in
draft (no spell check, no grammar check, author's "zzzzz"
mark where there's more to be written). Nevertheless, the
detail description of the MXG variables and datasets built
from each "Product" are now consolidated into an ADOC per
VMAC and the technical descriptions are now current. As
additional ADOCs are completed, they are added to the next
MXG PreRelease. Comments, criticism, and suggestions for
this ongoing project are welcome.
Change 10.086 Trending of Printer Throughput could cause divide by zero
TRNDPRTR message (but no impact on the Trend Database). Zerodivide
Jun 12, 1992 protect lines 002200 and 002300 (by adding the IF test):
IF denominator GT 0 THEN XXX = YYY / denominator ;
Thanks to Dan Barbatti, Southwestern Bell Telephone, St. Louis, USA.
Change 10.085 ANALDSET step IEBUPDTE did not create a null member name
ANALDSET of IMAC30DD in &SOURCLIB, and if the MXG.SOURCLIB member
Jun 12, 1992 IMAC30DD had been modified, a 311 error occurred. A new
line XY ADD NAME=IMAC30DD was added to the IEBUPDTE.
Thanks to Mike Crane, Annheiser Busch, USA.
Change 10.084 Pete Shepard and Jeffrey Crum, Ashland Oil, have provided
ASMIMSLG a significant contribution to MXG processing of IMS log
JCLIMSLG records. MXG's algorithms have tried to recognize an IMS
TYPEIMSA transaction after the fact from log records that do not
TYPEIMSB have a consistent token. Pete and Jeffrey's work solved
VMACIMSA that major weakness of the IBM IMS log records by creating
Jun 11, 1992 a pre-processor Assembly program that reads the IMS log
records, acts like the IMS queue manager, adds transaction
identifier to some of the log records, and even stores the
status of the IMS queues to initialize the next run. The
modified records are then SORTed and manipulated with a
new SAS program, TYPEIMSB (that does not create SAS data
sets, but instead manipulates IMS log records).
The fourth and final step of the algorithm uses a modified
version of MXG's TYPEIMS, (named TYPEIMSA for "Appended"
IMS record processing) to combine the two sets of IMS log
records into the _IMSTRAN.IMSTRAN MXG dataset.
The algorithm requires two additional IMS log records, the
10x and the 33x, that must be selected in your IMS archive
log job. These are the IMS log records now required:
01x 03x 07x 08x 10x 31x 33x 35x 36x
The ASM program, MXGIMSLG, is created by MXG member
ASMIMSLG, the ASM source code and the JCL to assemble and
link edit MXGIMSLG. Member ASMIMSLG also contains the
documentation of the algorithms, and a schematic of the
four steps of this "Appended IMS log" processing.
Member JCLIMSLG contains the JCL and documentation of the
four-step job to build the _IMSTRAN.IMSTRAN dataset:
STEP01 - Execute MXGIMSLG to read IMS log, split into
two OS files, IMSSUM and IMSMPRS. In addition,
reads INQUEUE (last run queue status) and then
writes OUTQUE (for input to next run).
STEP02 - SORT the IMSSUM file into IMSSUMSO.
STEP03 - Execute TYPEIMSB SAS step to read IMSSUMSO and
write out IMSMERGE OS file.
STEP04 - Execute TYPEIMSA SAS step to read IMSMERGE and
the IMSMPRS IMS log records to create IMSTRAN.
This enhancement fixes transaction response time measures,
but the IMS log records can never be used for accurate IMS
resource measurement by transaction, because IBM does not
create a resource record per transaction. The IMS 07x
record contains total CPU Time and DL/I calls per program
schedule event, which can include many transactions. Thus
IMSTRAN contains only the average CPU time and DL/I calls
for each group of transactions reported in each 07x.
Only a major change in IBM's functional design of the IMS
log can provide accurate IMS measurement of both resources
and responses of IMS transactions.
Nevertheless, this should be a major improvement in the
response measurement from IMS log records for sites that
do not have an IMS transaction monitor product.
The new algorithm has only been tested with IMS 3.1. It
is not my intention to test or revise the algorithm for
any earlier IMS versions. If any user lets me know that
the algorithm has been validated with earlier IMS log
records (by assembling MXGIMSLG using that version's macro
libraries), we will so report here in this Change text.
Thanks to Pete Shepard, Ashland Oil, USA, USA.
Thanks to Jeffrey S. Crum, Ashland Oil, USA, USA.
Change 10.083 Change 9.017 discussed how vars can be DROPped with a
DOC DROP statement in an EXTY member, but did not stress that
Jun 10, 1992 the DROP statement is global to ALL datasets being built;
if a variable name is DROPped in an EXTY member, it is
dropped from all other datasets with that variable name in
that SAS DATA step, even if the variable name is in the
KEEP= option of the DATA statement!
The only way to drop a variable name from a specific MXG
dataset is to copy the _VAR.... macro into member IMACKEEP
and erase the variable name from the KEEP= list for the
specific dataset. (Perhaps someday, I'll find a simpler
way.)
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Change 10.082 For TMS tapes with multiple datasets per volume, or for
TYPETMS5 datasets that span multiple volumes, the MERGE of their
Jun 10, 1992 TMSREC (volume record, with 1st dataset information) with
DSNBREC (dataset record for 2nd+ datasets on a volume) MXG
overlaid some dataset-related TMSREC variables with their
DSNBREC values requiring revision of the MERGE logic.
More important: the calculation of TAPEFEET was changed.
TAPEFEET of a dataset was calculated only if the RECFM was
F/FB/VBS/VS, which have absolutely known record length.
For V/VB/U files, MXG did not calculate a TAPEFEET,
because record length was not guaranteed. I now think it
better to always calculate the estimated TAPEFEET for all
datasets, even though it may overestimate the feet used
occasionally. Since the primary use of TAPEFEET is to
identify tapes using "lots" or "few" feet (i.e., "good" vs
"bad" tape usage), always calculating TAPEFEET will ensure
that tapes with lots of data (i.e., large BLKCNTS) aren't
misidentified as "few" because they have variable lengths.
Jun 30, 1992 Note: After Newsletter TWENTY-TWO was sent to printer:
Variable TAPEFEET now exists in both TMS.TMS and DSNBREC,
and is calculated for all datasets. Not only was the code
in TYPETMS5 redesigned, VMACTMS5 had to be changed. Now,
VOLSER in DSNBREC is equated to FVOLSER for multi-volume
files, because FVOLSER is the actual volume with this DSN,
and VOLSER was the first volume of the multi-volume tape!
(the original VOLSER in DSNBREC is now in OVOLSER).
Thanks to Tom White, US.Sprint, USA.
Change 10.081 Support for RSD's WSF (or WSF2) Release 3.4.1 added new
VMACWSF accounting fields ACCX.... to the WSFACCT (for AREP, ERD,
Jun 10, 1992 PROFILE, and WSF2 events) and to the WSFERD (for ERD Batch
and WSF2 Batch). It appears the job accounting fields and
jobname are those of the WSF2 Bundling job, and not the
(desired!) users accounting information.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 10.080 Variables FSTTRKR and FSRTRKW (tracks read and written)
VMACHSM can be negative (for Small Data Set Packaging, SDSP, or
Jun 9, 1992 for VSAM, but MXG input them as PIB2. instead of IB2.
We are still asking IBM what it means to read negative
tracks (or write them!)? IBM APAR OY58311/OY61585 fixed.
Thanks to John Mattson, National Medical Enterprises, USA.
Change 10.079 EPILOG/MVS support was wrong. MXG failed to subtract 3
VMACEPMV bytes from two offsets, and did not protect for zero value
Jun 9, 1992 in triplets used in the two iterative DO groups. Before
each of the statements "DO SM180Oxx=SM180Oxx TO ..."
(where xx=IO or xx=EQ), insert the following two lines:
SM180Oxx=SM180Oxx-3+OFFSMF;
IF SM180Oxx GT 0 AND SM180Nxx GT 0 AND SM180Lxx GT 0 THEN
to correctly calculate the offset, and to conditionally
execute the (now following) iterative DO group only if all
triplet fields (offset, length, and number) are non-zero.
In addition, the RSRC subtype (SM180SUB='RSRC') record is
now deleted; it caused INVALID DATA FOR SM180RID message,
and "represents activity recorded by EPILOG that is not
obtained from RMF's SMF records. The RSCS subtype is not
documented further" according to Candle.
Thanks to Wayne Parrino, Avery Dennison, USA.
Change 10.078 Amdahl APAF product (Amdahl Processor Analysis Facility)
VMACAPAF creates a user SMF record describing MDF resource usage by
Jun 8, 1992 domain and LP within each domain that is now documented in
Appendix B, APAF Record Layouts of Amdahl's manual). The
preliminary variable names in MXG 9.9 were changed and now
the MXG variable names are based on the Amdahl documented
field names. Some previous fields are now reserved, and
storage variables are now in bytes, formatted by MGBYTES.
The number of LPs data kept is set in member IMACAPAF with
MXG %macro variable __NRLPS (yes, that's two underscores)
to only keep variables describing your environment, and
MXG defaults to keep four partitions (LP0-LP3) by setting
%LET __NRLPS=3;
Change 10.077 NPM reports caused DIVISION BY 0 because calculation of
ANALNPMR AVGOBYTE and AVGIBYTE were not protected for zero divide.
Jun 8, 1992 Now they are.
Thanks to Mike Jacques, Best Products, USA.
Change 10.076 Preliminary support for UNIX iostat and vmstat command's
XUNIX output data has been tested against ULTRIX data. The code
Jun 8, 1992 is temporarily located in the "X-rated" member XUNIX until
formal naming conventions for UNIX support have been
decided.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.075 Support for North Ridge Software's "The Network Director"
EXNRS... SMF record creates thirteen NRS..... datasets that are
IMACNRS described in the vendor's Network Administrators Guide,
TYPENRS under the topic of "Event Recording", thanks for this
VMACNRS significant user contribution, which included test data
Jun 8, 1992 for validation!
Thanks to Tom Jones, Banks of Iowa Computer Services, USA.
Change 10.074 INVALID VALUE FOR DATEJUL FUNCTION occurs with TMS record
VMACTMS5 with create date of 91000 (found in volume that was shared
Jun 5, 1992 between MVS and TPF). Now, MXG validates the julian date
is valid before creating CREATIME.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.073 Additional code added to avoid 213 or 314 ABENDS, caused
ASMVTOC primarily by VM DASD volumes shared with MVS, which do not
Jun 5, 1992 have a legitimate MVS VTOC. Now, these "bad" volumes are
bypassed and no longer cause ASMVTOC to ABEND.
Thanks to Wayne Beardsley, Citibank National Technology Div, USA.
Change 10.072 DB2 SQLCODE (SQL error code) can be negative, but MXG did
VMAC102 not know that, and thus SQLCODE was input as PIB4, causing
May 21, 1992 a return code of -204 to show up as 4,194,967,091! Change
both occurrences of SQLCODE PIB4. to SQLCODE IB4.
Thanks to Andrew Jeppeal, Marshalls, USA.
Change 10.071 VM/ESA dataset VXSYTCUP may contain only 49 observations
VMACVMXA if member TYPEVMXA is used to process MONWRITE output data
May 19, 1992 because of a misspelling. Change _DSYTCUP in line 010060
(inside the _PRNTALL macro definition) to _PSYTCUP. The
unintended invocation of _DSYTCPU (which deaccumulates the
VXSYTCUP dataset) inside _PRNTALL after OBS=50 was set in
TYPEVMXA caused the correctly built VXSYTCUP data set to
be re-built incorrectly with only 49 observations.
Thanks to Mark Kraut, Walgreens, USA.
Change 10.070 DCOLLECT value of 31Dec2155 expiration caused MXG to fail
VMACDCOL with an INVALID VALUE FOR FUNCTION DATEJUL message.
May 19, 1992 Change DATEJUL(CALEXPDT) to DATEJUL(ORGEXPDT) in 2 places.
In tests and calculation for DCDDATE1, DCDDATE3, UMCREDT,
UMLRFDT and UCCOLDT, remove -1900000 from both the IF test
and from inside the DATEJUL function. MXG converted dates
to yyddd format, which only supported years thru the next
millennium, but the SAS DATEJUL function supports date
yyyyddd formats beyond the year 2155 (the maximum year in
the present IBM calendar). In several labels, asterisks
were omitted and MACINE should have been MACHINE, and two
REBLK? variables are now spelled correctly.
Thanks to Chuck Hopf, Primerica, USA.
Change 10.069 SPMS Version 1.2.1.3 added a 4-byte field after SPMSRSV3
VMACSPMS causing errors. Pending documentation of the new field,
May 17, 1992 insert the following line after the @; after SPMSRVR3:
IF SPMSLEN3 GE 32 THEN INPUT +4 @;
(Note: In NL 22, SPMSRVR3 was misspelled as SMFPSRVR3).
Thanks to Pino Todesco, Western Australia Police, AUSTRALIA.
Change 10.068 Variable TAPE3490 (number of 3490 tape drives allocated)
IMACPDB is now added to PDB.STEPS (drives per step) and PDB.JOBS
May 17, 1992 (max drives in any step).
Thanks to Frank Vessell, ITT Consumer Financial Corporation, USA.
Change 10.067 TMON/CICS dataset MONITASK variable CREATIME was used in
ASUMCICS reports and summarization where STRTTIME should have been.
TYPEMONI Both variables were correctly described in the MXG
TYPEMON8 Supplement, but reports (See Change 10.066) and ASUMCICS
May 17, 1992 now use STRTTIME variable instead of CREATIME. Both are
still kept with equal values in MONITASK.
Change 10.066 TMON/CICS reporting with ANALMONI can loop, filling WORK
ANALMONI file, because STRTTIME from the interval dataset was used
May 17, 1992 where instead of STRTTIME from the MONITASK dataset. The
correction of CHANGE 10.067 corrects the problem. This
change provided a circumvention to ANALMONI that is now
no longer required after Change 10.067.
Thanks to Peter Paproota, BMI N.Y. Operations, USA.
Change 10.065 New dataset TYPE40_D can be created for each DD segment
IMAC40DD in type 40 SMF record. The old TYPE40 dataset creates 1
VMAC40 observation per SMF record, but there can be many devices
May 17, 1992 represented in a single dynamic deallocation event. MXG's
analysis of tape drive utilization (work in progress) will
need this new TYPE40_D dataset. New member IMAC40DD will
control whether observations are created in TYPE40_D; by
default, no observations are created, although comments in
IMAC40DD shows how to create only tape drive events.
Change 10.064 Variable CPURCTTM was invalid due to IBM APAR OY51878;
EXTY72 MXG 9.9 subtracted CPURCTTM from CPUTM in member EXTY72 to
May 15, 1992 prevent negative overhead values until IBM fixed their
error. Now, PTF UY77275 exists and does correct the CPU
value, so MXG has now eliminated the subtraction in this
Exit Member. If you install that PTF before MXG 10.1+, you
need to tailor member EXTY72 from MXG 9.9 into your USERID
and remove the subtraction, remembering to remove EXTY72
from your USERID.SOURCLIB when you install MXG 10.1+.
Change 10.063 Boole & Babbage IMF vars set from OPFLG1N2 & OPFLG3N4
VMACCIMS were not correct if multiple bits were on in these flags,
May 15, 1992 because MXG tested for the Hex value instead of the Bit
value. Variables RGNIOPT,BHTOON,DEPRECN,CPUNONE,CPUDEP,
BILLOVHD,TRNSYNC,BMPNO,DBIOWAIT, and DBIONONE could have
been affected. Change the hex test to bit test to fix.
Thanks to Mr. Steinkopf, Volksvagen Ag, GERMANY.
Change 10.062 Support for IBM CICS/ESA 3.3 type 110 subtype 2 Stats
CICINTRV records is added. IBM changes were incompatible and MXG
MECICALL 10.1 or later is required for CICS 3.3 statistics records.
PRCICALL MXG now no longer creates eleven statistic datasets whose
VMAC110 STIDs were eliminated by IBM in CICS 3.2.1 (they were all
May 14, 1992 summary records that were redundant with detail STIDs).
These datasets no longer exist and their Exit Members have
been deleted from the MXG Source Library:
STID Exit Member Dataset STID Exit Member Dataset
05 EXCICTST CICTST 53 EXCICCO2 CICCONST
26 EXCICLDT CICLDT 59 EXCICTC2 CICTCLT
35 EXCICTCT CICTCT 68 EXCICFCT CICFCT
38 EXCICLS2 CICLSRT 77 EXCICCO4 CICCONMT
41 EXCICLS4 CICLSRFT 82 EXCICBTA CICBTAM
44 EXCICDQT CICDQT
Because four of the above datasets had previously been
used in building the CICEODRV (shutdown statistics) and
CICINTRV (interval) datasets, member CICINTRV was changed
to summarize the detail data previously in CICDQT, CICFCT,
CICTCT, and CICTST. Additionally, exit members now exist
for the four datasets created by CICINTRV. The CICUSSRV
dataset can be large, since it represents every dynamic
resource, and you may wish to disable it in its exit.
Dataset Description Exit Member
CICEODRV - End-of-day "Shutdown" EXCICEOD
CICINTRV - Interval Statistics EXCICINT
CICREQRV - Requested Statistics EXCICREQ
CICUSSRV - Unsolicited (Dynamic) EXCICUSS
The order of the CICS statistics datasets was alphabetized
as were the labels for their variables, and member VMAC110
was renumbered. Fields added by IBM to several statistics
records are now supported.
Thanks to Joseph Rannazzisi, Brooklyn Union Gas, USA.
Change 10.061 Support for IBM CICS/ESA 3.3.0 type 110 subtype 1 monitor
VMAC110 record is added. Twelve new fields added to CICSTRAN are
VMAC110M very useful, describing program and user storage, but the
IMACEXCL fields were added incompatibly (they were inserted in the
May 14, 1992 middle, rather than added at the end of the record) and
thus MXG 10.1 or later IS REQUIRED for CICS 3.3 CICSTRAN.
Member VMAC110M processes ONLY the monitor (and not the
statistic) subtype, but it should be needed only by sites
still using SAS Version 5 under MVS/370 where virtual
storage constraints exist.
The following table lists the MXG variables in CICSTRAN
which capture transaction-level virtual storage usage:
Virtual Program User User User
Storage Storage Storage Storage Storage
Area HiWaterMk HiWaterMk Getmain Occupancy
Amount Amount Count Page-seconds
Above 16MB:
ECDSA PC31CHWM SC31CHWM SCGETCH SC31COCC
EUDSA PC31UHWM STORHWMH SCGETCNH PAGESECH
ERDSA PC31RHWM
Total Above PC31AHWM
Below 16MB:
CDSA PC24CHWM SC24CHWM SCCGETCT SC24COCC
UDSA PC24UHWM STORHWMK SCGETCN PAGESECS
Total Below PC24BHWM
Above and Below
Total PROGSTOR
Change 10.060 TMS inactive DSNBs are now deleted before merge with TMS
VMACTMS5 records, because their existence created invalid results.
May 13, 1992 A DSNB exists in TMS when multiple datasets are created on
a VOLSER, but when that VOLSER becomes scratch and it is
reused, its old DSNB is not removed from the TMC, and this
old DSNB was incorrectly matched with the VOLSER, creating
an observation in TMS.TMS with incorrect dataset name.
Statement IF DSNBACTV='Y'; was inserted after 012100.
Thanks to Gary Matney, Twentieth Century Investors, USA.
Change 10.059 Invalid CICS/ESA type 110 records caused STOPOVER ABEND.
VMAC110 one site; MCTSSDRN was 16 but there were only 15 segments
May 12, 1992 and MXG did not protect for this IBM error. Now, the test
IF SEGSTRT+MCTSSDRL GT LENGTH+1 THEN DO;
NBAD110+1;
IF NBAD110 LT 10 THEN PUT " INVALID RECORD DELETED "
// _N_= APPLID= MCTSSDCA= MCTSSDCL= MCTSSDRL= COL=
ICICS= ;
DELETE;
END;
was inserted after each statement SEGSTRT=COL; to detect
and delete these bad records, while IBM investigates.
Thanks to Tom Elbert, John Alden Life Insurance, USA.
Change 10.058 "Invalid Data for WKLCPURF" messages result with TMON/MVS
VMACTMVS because when IBM eliminated these EBCDIC fields, TMON/MVS
May 12, 1992 wrote hex nulls instead of EBCDIC values, causing the SAS
error condition. The MXG data set is not affected and
variables (WKLCPURF,WKLIOCRF,WKLMSORF) are set to missing
values. Inserting a ?? format modifier for each variable
eliminates the invalid data message and hex dump.
Thanks to Marcia Ketchersid, Price Waterhouse, USA.
Change 10.057 Support for NETSPY Release 4.2 added new dataset NSPYNPSI
EXNSPYNP describing X.25 multi-channel lines, X.25 MCH PUs and X.25
VMACNSPY virtual circuits with 50 variables; variable DLYVALUE was
May 5, 1992 added to NSPYNCP, variables NTRISUBT,NTRISBTE to NSPYTR,
and dataset NSPYLINE now captures resources for six new
elements (X.25 line, PU, LU, and SNA switched line, PU,
and LU). The NTRI entry was internally reformatted.
Change 10.056 Using EXPDB... members to add SMF record processing to
EXPDBCDE your PDB is documented in the MXG supplement (pp 137-140).
May 4, 1992 However, in many instances, you may only want certain of
the SMF record's subtype's datasets to be created. If the
MXG architecture supports "subtype-level-processing" for
this record (see comments in its VMAC.... member), it is
easy to add only specific subtypes to your BUILDPDB.
(It is MXG's intention to extend "s-l-p" architecture to
all SMF records with subtypes.)
The following example shows how you would add DB2 type 102
subtypes 63 and 106 to your BUILDPDB.
Member Would contain
EXPDBIND %INCLUDE SOURCLIB(VMAC102);
EXPDBVAR MACRO _VARUSER _V102063 _V102106 %
EXPDBCDE MACRO _CDEUSER _HDR102 _C102063 _C102106 _END102 %
EXPDBOUT PROC COPY MT=DATA INDD=WORK OUTDD=PDB;
SELECT T102S063 T102S106;
Thanks to Nancy Ayers, General Electric Lighting Business Group, USA.
Change 10.055 Date selection in DB2 reports PMSACC01/PMSACC02 produced
ANALDB2R no report because code was relocated incorrectly. In the
May 3, 1992 %MACRO PMACC01 and the %MACRO PMACC02 definitions, find
the invocation of %DB2RSELA (once in each of the above
macro definitions), and after each of these %DB2RSELA,
insert the following four lines:
IF NOT INTREND THEN DO;
MINTIME=QWACBSC;
MAXTIME=QWACESC;
END;
Thanks to Nancy Ayers, General Electric Lighting Business Group, USA.
Change 10.054 VTOC processing did not capture archaic ISAM index space,
VMXGVTOF warning "CRITICAL ERROR IN VTOF PROCESSING". The FMT2
VMXGVTOC DSCB, which describes the space occupied by ISAM indices
May 3, 1992 is now properly processed.
Thanks to Hr. Leineweber, HUELS AG, GERMANY.
Change 10.053 DB2ACCT dataset can now be written to a DDNAME of your
ANALDB2R choosing, and unnecessary SORTs which wasted WORK space
ASUMDB2A were eliminated. High volume transaction datasets should
BUILDPDB be written to tape (or a separate DASD file) and thereby
BUILDPD3 avoid B37 ABENDs and pollution of the daily PDB. MXG has
DIFFDB2 done this for CICSTRAN, and now that same philosphy has
EXDB2ACC been implemented for DB2ACCT as well. However, if you
IMACDB2 do nothing, the DB2ACCT data will still be written to your
READDB2 PDB, and the only incompatibility of this change is that
May 5, 1992 the DB2ACCT dataset is no longer sorted, which could cause
an error if you build a weekly DB2ACCT expecting it to be
sorted. (If so, simply remove the BY statement following
WEEK.DB2ACCT in your WEEKBLD/MONTHBLD member.)
Of greater impact, however, is the philosophy that now the
DB2ACCT dataset is a transaction file that may not be in
the daily PDB; what about daily/weekly reporting? Just as
CICS transactions are written to a transaction file and
are then summarized into the PDB.ASUMCICS by ASUMCICS, the
DB2ACCT dataset can now be summarized into PDB.ASUMDB2A by
new member ASUMDB2A, and the summarized PDB.ASUMDB2A can
be used for DB2 reports PMACC01 or PMACC02 in ANALDB2R.
a.IMACDB2 now defines MACRO _DB2ACCT PDB % (i.e., default is
PDB). Change that default value to DB2ACCT if you want to
write the DB2ACCT data to the DDname of DB2ACCT (and then
add a //DB2ACCT DD to your job).
b.VMACDB2 and EXDB2ACC now output to _DB2ACCT.DB2ACCT, and
IMACDB2 is included by VMACDB2.
c.DIFFDB2's unnecessary PROC SORT DATA=DB2ACCT was removed.
(This was the primary abuser of WORK space in BUILDPDB.)
d.The PROC SORT DATA=DB2ACCT OUT=PDB.DB2ACCT in BUILDPDB/3
was eliminated, since the DB2ACCT data set has already
been written to _DB2ACCT as the SMF data was processed.
And DB2ACCT was removed from the PROC DATASETS;DELETE list
e.If ANALDB2R or READDB2 is used to read SMF data, and if
PDBOUT= is specified to save the created datasets, the
DB2ACCT dataset will be sent to the DDname in IMACDB2,
while all other selected datasets are sent to PDBOUT=.
Thus if you do not change IMACDB2's default of PDB, and
you specify PDBOUT=PDB, then all datasets created by these
two members will be written to the PDB DDname. If instead
you change the IMACDB2 DDname, the DB2ACCT dataset will be
sent to the IMACDB2 destination.
Thanks to Nora Spencer, Toyota, USA.
Thanks to Bill Stoneberg, National-Oilwell, USA.
Thanks to Neil Ervin, Huntington Bank Service Company, USA.
Change 10.052 LPAR CPU utilization reports created by this rewritten
GRAFLPAR member can use PDB or TREND library PR/SM datasets
Apr 30, 1992 ASUM70PR or TRND70PR. Comments within the member show how
to select and generate desired reports.
Change 10.051 Invalid data for SMFPSRVR reading CICS/ESA dictionary
UTILCICS records, because UTILCICS was not updated at the same time
Apr 30, 1992 that VMAC110 was updated to support IBM's changed format
of SMFPSRVR. 2. The correction is to replace two lines
039200-039300 which now read:
INPUT @OFFPROD SMFPSRVR 2.
APPLID $CHAR8. /*SMFMNPRN*/
with these three lines:
INPUT @OFFPROD SMFPSRVR ?? 2. @;
IF SMFPSRVR=. THEN INPUT @OFFPROD SMFPSRVR PK2.1 @;
INPUT APPLID $CHAR8. /*SMFMNPRN*/
Thanks to Dave Gosse, Univesity of Iowa Hospitals, USA.
Change 10.050 Specifying a DDname other than PDB in IMACMONI caused the
ASUMDBDS ASUMDBDS member to fail with dataset not found error. This
TRNDDBDS change also renames the dataset created by ASUMDBDS to be
Apr 30, 1992 named ASUMDBDS and thereby be consistent with MXG ASUMs.
Finally, TRNDDBDS was added for trending ASUMDBDS output.
Change 10.049 Graphic reports were not perfect. Charts were not printed
GRAFTRND if there were fewer than 40 intervals, the interval was
Apr 28, 1992 not always calculated correctly, and forecast line could
be skewed because the last-actual-value rather than the
last-predicted-value was used. If STAT=NO was specified
or specified in the wrong case, Axes statements were lost.
Workload bar chart axes values for projections were wrong.
All these glitches have been repaired.
Thanks to Van Xydis, VM System Center, USA.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.048 Support for AICorp's KBMS (Knowledge Based Management
EXAICOST System) user SMF record is added by this change, which
IMACAICO creates the AICOSTAT dataset with CPU time, EXCP count and
TYPEAICO elapsed time for each "transaction".
VMACAICO
Apr 30, 1992
Thanks to Kelly Raven, CSX Technology, USA.
Change 10.047 DB2 reporting for DBID and OBID did not print the actual
ANALDB2R name of the object. MXG built formats dynamically to map
Apr 30, 1992 these objects, but failed to use the format in the report
PUT statements. Many lines were altered in this change.
This change also added processing of the T102S183 dataset
to the SQL reports.
Thanks to Carl Koch, AT&T Westminster, USA.
Change 10.046 DB2 reporting LIBRARY SMF IS NOT VALID message occurs if
ANALDB2R PMSQL04 or TRANSIT reports are requested with PDB=SMF.
Apr 29, 1992 Insert after 009060 OR &PMSQL04=YES
and replace line 186700 (currently _ALLPAIR;)
with %ANALDBTR(PDB=&PDB1,PAIRS=ALL);
Thanks to Carl Koch, AT&T Westminster. USA.
Change 10.045 Using READDB2 with TRACECLS= parameter to select desired
READDB2 IFCIDs by trace class does not select all IFCIDs in all of
Apr 29, 1992 the classes you ask for (however, the IFCID= parameter can
be used to list the desired values, and it has no error).
READDB2 itself does not fail, but creates zero observation
datasets for some trace classes, which can cause ANALDB2R
to fail if it is invoked after the READDB2 invocation.
Correct this error by moving the %INCLUDE statement in
line 026400 to immediately after 007400.
Thanks to Carl Koch, AT&T Westminster. USA.
Change 10.044 The calculation of TAPEFEET from TMS data should include
TYPETMS5 test for RECFM='VS ' in line 005200 of TYPETMS5 and in
VMACTMS5 line 037300 of VMACTMS5.
Apr 28, 1992
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.043 Two RECFM codes, FS and VS, were not decoded by VMACRCFM.
VMACRCFM After line 002100 insert:
Apr 28, 1992 ELSE IF RECFMT='1000100.'B THEN RECFM='FS ':
and after line 003200 insert:
ELSE IF RECFMT='0199100.'B THEN RECFM='VS ':
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 10.042 The percentage of time when there are more Ready tasks in
VMAC7072 memory than there are Processor Engines is a much better
XMAC7072 indicator of CPU "stress", especially in LPARs, because it
Apr 27, 1992 directly measures when tasks are waiting for CPU dispatch.
MXG now creates variable PCTRDYWT in dataset TYPE70:
IF NRCPUS=1 THEN PCTRDYWT=SUM(OF READY02-READY15);
ELSE IF NRCPUS=2 THEN PCTRDYWT=SUM(OF READY03-READY15);
ELSE IF NRCPUS=3 THEN PCTRDYWT=SUM(OF READY04-READY15);
(repeated for NRCPUS up to 8), and is labeled
PCTRDYWT='PERCENT WHEN*READY TASKS*ARE WAITING'.
The only weakness of PCTRDYWT is that it does not identify
WHICH ready tasks are waiting, and with a well-designed
SRM you would typically have your lesser important tasks
Ready and waiting for CPU dispatch while your online tasks
are getting what they need.
Change 10.041 Line 398700 should be STID=77 instead of STID-77, and MXG
VMAC110 did not create observations in CICCONMT statistic dataset.
Apr 27, 1992 Fortunately for me, the STID=77 is the "total" record for
the "interval" STID=76 which was output in CICCONMR, and
thus no data was lost. IBM no longer creates any "total"
records starting with CICS/ESA 3.3, so all of the CICS
statistics datasets which end with "T" will have zero
observations in the future. Total records were redundant
with the interval data.
Thanks to Caron Knox, Willis Corroon Group, ENGLAND.
Change 10.040 Type 39 SMF record caused INPUT STATEMENT EXCEEDED with
VMAC39 subtype=5. Change all occurrences of NE 0 to GT 0
Apr 22, 1992 (a missing value unintendedly satisfied the NE 0 test).
Thanks to Miller Dixon, Continuum, USA.
Change 10.039 The NET-PASS variable NETPACTM was the total response
VMACNETP for NETPTRNS transactions, but it should have been the
Apr 22, 1992 average response time. Insert after 010200 this line:
IF NETPTRNS GT 0 THEN NETPACTM=NETPACTM/NETPTRNS;
Thanks to Nancy Ayers, General Electric Lighting, USA.
Change 10.038 Candle Omegamon for CICS V550 erroneously stored nulls in
VMAC110 the packed decimal field SMFPSRSN, causing MXG to print a
Apr 22, 1992 hex dump of the SMF record. Candle incident 201387 fixes
their error, but MXG circumvents the unwanted hex dump
by adding ?? to the input statement so it now reads:
SMFPSRSN ?? PD4.
Change 10.037 JES2 Spool Offload type 24 SMF record can cause STOPOVER
VMAC24 ABEND because tests for OFFESS and NRESS in line 016100
Apr 21, 1992 must be GT 0 instead of NE 0. (Missing values satisfy the
NE 0 test but not the GT 0 test.)
Thanks to David Ehresman, University of Louisville, USA.
Change 10.036 VM/ESA 1.1.1 is now supported, creating 3 new datasets
FORMATS and adding new variables to existing datasets:
VMACVMXA a.Variables added to existing MXG datasets:
Apr 20, 1992 VXSYTSHS - variables CALNUMSA and RSACTSHR.
VXMTRSYS - flag variable SYSMASFI.
VXMTRPRT - PCCCSU and PFXCFO.
VXSTOSHR - ASCCSPGR,SPGW,SPXR,SXWT,ASCSMIGC,VMDCTLKP and
VMDCTNPS. IBM renamed VMDCTPST to ASCCSPST,
but MXG continues to call it by its original
name, and did not create a redundant variable.
VXBYUSR - VMDASMCT,BLKCT,MDCIA,OPCTN (from VXUSEACT).
VXIODDEV - VIUTIM/CNT for IN,LV, and OT, and RDEVMCIA.
VXIODCAD - CALDATA ($CHAR160) replaced CALPSF ($CHAR96).
b.New data sets VXSTOASI (Interval Shared Address Space
paging activity), VXSTOASC (Address Space Create Event),
and VXSTOASD (Address Space Delete Event) were added.
c.New format MGBYTRT expresses byte rate in B/SEC, KB/SEC,
MB/SEC printed units, similar to MGBYTES for byte values,
and is used for several new storage movement variables.
d.These changes have been tested with HCPCPEID=1101 release.
Change 10.035 TMS variables EDMTAP and DYNAM were incorrect. The bit
VMACTMS5 test should be the '20'X bit for EDMTAP (instead of '40'X)
Apr 20, 1992 and the '10'X bit for DYNAM (instead of '20'X).
Thanks to Ruth Whitney Parker, Citibank South Dakota, USA.
Change 10.034 If you added a SORTBY= operand for DB2 Reports the report
ANALDB2R did not break where you expected; only the first variable
Apr 16, 1992 in your SORTBY= list was used. Lines 006250 and 006260
both now start with %ELSE %IF LENGTH( .... Both must be
changed to start with only %IF LENGTH( ....
Reports requested without SORTBY= had no error.
Thanks to Georg Simon, Federal Reserve Bank of Philadelphia, USA.
Change 10.033 Support for the Software Ag "Natural Process" SMF record
EXNATPAC is added by this change. Dataset NATPACCT contains one
IMACNATP observation for every SMF record, written at user logoff
TYPENATP (including a termination of Natural Process before the
VMACNATP user can logoff), with the Natural Process 8-byte user id,
Apr 15, 1992 the CPU time and I/O count of that session.
Thanks to Joanne Turpie, Department of Labour, Wellinton, NZ
Thanks to Terry Proops, Department of Labour, Wellington, NZ
Change 10.032 Two references to DATA=SMF should have been DATA=LLAEXIT
ANALLLA in this analysis example.
Apr 15, 1992
Thanks to Hanno Bresch, SAS Institute, GERMANY.
Change 10.031 New variables ACTDLYTM/RESDLYTM/DSPDLYTM are now created
VMAC30 in TYPE30_4, TYPE30_V, PDB.STEPS and PDB.JOBS datasets.
IMACPDB These delta times are described on pages 44-45 of the MXG
Apr 15, 1992 Guide, but were not kept as unique MXG variables until a
CPE class student went home and observed confusing values,
because pages 44-45 were not completely accurate. After
further research (and clarification from Bernie Pierce of
IBM) they now clearly deserve their own variables.
ACTDLYTM='Delay duration*executing*not active'
(EXECTM-ACTIVETM)
This delta includes time the address space was
Detected Wait or Long Wait swapped out by SRM,
(which includes TSO user's think time).
RESDLYTM='Delay duration*active*not resident'
(ACTIVETM-RESIDTM)
This delta is the time SRM wanted the ASID to
be in the Multi-Programming Set, but was unable
to get the ASID resident. This includes all
swapped out time (except DW/LW, which is caught
in ACTDLYTM) plus the time to actually do the
swap in. Another name might be MPL Delay time,
because all of the swap out and non-resident
time while active is the time when the Target
MPL was not high enough to include this task.
This delta divided by SWAPS is an estimate of
the time-to-swap-in a task, but since SWAPS
counts both RESDLYTM and ACTDLYTM swap events,
and since RESDLYTM includes the time to swap in
and the time waiting to swapin and the time
swapped out, the estimate is usually poor!
DSPDLYTM='Delay duration*resident*not dispatched'
(RESIDTM-CPUTCB+SRB+HPT+RCT+IPT)
This delta is the time the task was resident
in memory but was not executing instructions.
It includes delay for CPU dispatch (when you
enter the MPL set you don't immediately get
CPU - a hot CICS transaction may still have the
processor), delay for I/O (you execute a few
CPU instructions and then issue an I/O and you
wait for IOS to get the data for you), delay
due to page faults (the next page is not
in memory and you wait for that page to be
brought in), and delay due to tape mounts.
NOTE: PRIOR TO AUG, 1994, THIS CHANGE TEXT SAID THAT TAPE MOUNT
DELAY WAS INCLUDED IN ACTDLYTM, BUT THAT WAS IN ERROR. DELAY FOR
TAPE MOUNTING HAS ALWAYS BEEN INCLUDED IN DSPDLYTM. SEE THE NEW
SCHEMATICS IN MEMBER ADOC30 AND SEE CHANGE 12.142.
Schematic step duration example (numbers from a day's TSO session):
ELAPSTM
|-----------------------------------------------------------------|
| |
INITTIME ALOCTIME LOADTIME ENDTIME
|---------|---------|---------------------------------------------|
DSENQTM ALOCTM / EXECTM |
/ |
/ |
/ |
/ |
/ |
/ EXECTM |
/ 14:29:37.42 |
|------------------------------------------------------|
| |
| ACTDLYTM ACTIVETM |
| 14:16:57.90 759.52 |
|--------------|---------------------------------------|
| |
| RESDLYTM RESIDTM |
| 04.22 755.30 |
|------------|--------------------------|
Session TGETS=1275 | |
TSO/MON TRANS=1276 |DSPDLYTM CPUTM|
| 654.13 101.17|
|--------------|-----------|
Thanks to Steve Donahue, Blue Cross and Blue Shield of Texas, USA.
Change 10.030 JCLTEST6 gets INVALID DATA FOR SMFTIME when a VSAM SMF
JCLTEST6 file is used for step SMFSMALL, because of SAS 6.07 Error
Apr 15, 1992 V6-SYS.DATA-3550, which affects only the creation of BSAM
files from VSAM input. There is no error in creation of
SAS datasets from VSAM input.
The error only occurs if the INFILE SMF START=BEGINCPY
parameter has BEGINCPY not equal to one. To create a
BSAM file of SMF records from a VSAM file, MXG has to
set BEGINCPY=5 (to start the copy in byte 5 of the
VSAM record, and thereby skip over the unwanted first
four bytes containing RDW/SDW of the VSAM record).
This is done in MACRO _SMF defined in member VMACSMF.
This error has been fixed by SAS ZAP MV313550. Only the
members JCLTEST6/JCLTEST use START=BEGINCPY logic, and
only in step SMFSMALL; either install the SAS ZAP or use
a non-VSAM file for the SMF ddname in step SMFSMALL.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 10.029 Cosmetic. Variable QWACARNW in VMAC102 had no asterisks
VMACNSPY in its label. Added asterisks as in variable QWACARNR.
Apr 15, 1992
Change 10.028 Variable SESSMGR was misspelled once as SESSGMR, causing
VMACNSPY it to never have value "Y".
Apr 10, 1992
Thanks to Lindsay Oxenham, State Electricity Commission of Victoria.
Change 10.027 Comments only were changed. The reference to _CICEXCL in
IMACCICS comments do not apply to IMACICS; the Exclude Logic macro
Apr 10, 1992 _CICEXCL is defined/described in member IMACEXCL.
Thanks to Don Sively, E-Systems, USA.
Change 10.026 Dataset TYPE0203 was not deleted from the WORK file after
BUILDPDB PDB.TYPE0203 had been built. MXG "housecleans" the WORK
BUILDPD3 library in BUILDPDB to minimize the amount of workspace
Apr 9, 1992 required. TYPE0203 had been overlooked when added.
Thanks to Tracy Blackstone, Kaiser Foundation Health Plan, Inc, USA.
Change 10.025 SMF type 41 DIV (Data In Virtual) Access/Unaccess records
VMAC41 variables ACCSTIME and UACCTIME are timestamps and not the
Apr 9, 1992 durations implied by the SMF manual. Hex value 'A57F3640'
expanded to 8 bytes was 05APR92:08:50:33 in a record with
SMFTIME=05APR92:09:09:00 in a TYPE41AC observation after
this change. (That large delta of 19 minutes confuses me;
if you use this record, what's your data show?). Change
ACCSTIME PIB4.2 to ACCSCHAR $CHAR4.
UACCTIME PIB4.2 to UACCCHAR $CHAR4.
and insert after the appropriate @; one of the following:
ACCSTIME=INPUT((ACCSCHAR||'00000000'X),TODSTAMP8.);
UACCTIME=INPUT((UACCCHAR||'00000000'X),TODSTAMP8.);
and give both variables format DATETIME21.2 and LENGTH 8.
IBM APAR OY19780 is the Documentation Error acknowledging
these fields to contain the first 4 bytes of TODSTAMP.
Thanks to Terry Poole, SAS Institute Cary, USA.
Thanks to Richard Bear, Gulf States Toyota, USA.
Change 10.024 MVS Accounting fields (+ additional DB2 accounting data)
FORMATS were added to DB2ACCT and some trace records by IBM in a
VMACDB2 revision included in DB2 2.3 release, but documentation
VMAC102 did not arrive in time for MXG 9.9. Additionally, format
Apr 9, 1992 values for PACKADM were added to the IFCID 140/141 data.
This enhancement uses your site's tailoring in IMACACCT
to set the length of the ACCOUNTn variables that are kept.
These new accounting variables are added to DB2ACCT:
Variable Type Length Format Label
ACCOUNT1 CHAR ?? FIRST JOB*ACCOUNT*FIELD
ACCOUNT2 CHAR ?? SECOND JOB*ACCOUNT*FIELD
ACCOUNT3 CHAR ?? THIRD JOB*ACCOUNT*FIELD
QMDAASLN NUM 4 BYTES USED IN QMDAAINF
QMDAAUTH CHAR 8 DB2 AUTHID
QMDACNAM CHAR 8 DB2 CONNECTION*NAME
QMDACORR CHAR 12 DB2 CORRELATION*ID
QMDACTYP CHAR 8 DB2 CONNECTION*TYPE
QMDALOCN CHAR 16 DB2 LOCATION NAME
QMDALUNM CHAR 8 SNA*LU*NAME
QMDANETN CHAR 8 SNA*NETID
QMDAPLAN CHAR 8 DB2 PLAN
QMDAPMOD CHAR 1 PRODUCT*MODIFICATION*LEVEL
QMDAPREL CHAR 2 PRODUCT*RELEASE
QMDAPTYP CHAR 10 $MGDB2PN. PRODUCT*NAME
QMDAPVER CHAR 2 PRODUCT*VERSION
IBM's DB2 group reformatted the standard MVS account data!
Instead of sensibly copying the existing, well-known, and
already-decoded MVS accounting string (which contains a
length-field preceding each account-field), the DB2 group
decided to eliminate the length fields and instead insert
an 'FF'x byte as a delimiter between account fields! This
unnecessary inconsistency by DB2 required a new algorithm
(and of course any new algorithm is an exposure to error)
that required 120 lines of SAS code plus time to test!
Consistency would have been cheaper and lots safer!
Change 10.023 The SAS 5.18 Circumvention for the 344 Compiler Error in
XMAC7072 member XMAC7072 will cause UNINITIALIZED VARIABLE messages
Apr 8, 1992 because the final version of VMAC7072 was not edited into
XMAC7072. Copy in VMAC7072 into XMAC7072, replace all 410
lines in the DO group following 'NOT MVSXA' with this
single line : IF SUPATRN=' ' THEN SUPATRN=' ';
to create the corrected XMAC7072 member.
Thanks to Ken Thomas, Maryland Casualty Company, USA.
Change 10.022 Support for ROSCOE Release 5.7 changes to SMF Records.
EXROSPRN SMF record creates two new subtypes and MXG creates a new
EXROSSTA dataset for each: ROSCOPRN - ROSCOE Printing Services,
FORMATS subtype '80'x, and ROSCOSTA - Roscoe Statistics, subtype
VMACROSC '34'x. Both new ROSCOE datasets appear to have useful
Apr 8, 1992 new information about your ROSCOE subsystem, and its PRINT
activity. This change added about 250 lines.
Thanks to Dave Thorn, Dow Jones & Company, USA.
Change 10.021 New NPMHP, NPMMP, and NPMLP variables for Hi/Lo/Med Prty
TYPE28 bytes sent/received were not all kept, and some had "Sent"
Apr 7, 1992 in their label instead of "Received".
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 10.020 Landmark CICS records may produce ERROR. INVALID OFFSETS
TYPEMON8 message with LENGTH=0 in the message. The first two bytes
TYPEMONI of the Landmark record contain zero, instead of the actual
Apr 6, 1992 record length. (When/Why Landmark made the change is not
known). Change member TYPEMON8: Change "LENGTH" in lines
064700 and 064900 to "LENMONI" so that the field in these
two bytes no longer overrides the LENGTH=LENGTH value that
is captured in the INFILE statement. Archaic TYPEMONI for
Landmark Version 7 was similarly changed for consistency.
Thanks to David Bane, Jefferson County (Colo) Public Schools, USA.
Thanks to Chun-Heng Liu, Bellcore, USA.
Change 10.019 Cosmetic cleanups. Hex dumps produced when MXG finds data
VMAC110 invalid in type 110 records are now only printed for the
VMACSMF first two records. MXG notes of bad records are still put
Mar 27, 1992 on the log for the first 20 occurrences of a bad record.
Apr 20, 1992 Back-to-back type 02 or 03 (dump header/trailer) records
were not expected by VMACSMF's new messages, and the time
of the FIRST RECORD IN GROUP message was not correct.
(I wondered why SMFDUMP output would begin with a pair
of type 02 records, and with the first record's timestamp
several hours later than the second record, but realized
the output was first dumped by SMFDUMP and was then later
copied by SMFDUMP which added the 02 at the beginning and
the 03 at the end of the copy too!).
Change 10.018 Very obscure problem. DASD VTOCs with datasets defined to
VMXGVTOC have a "Standard User Label" (DSORG=PS-SUL) cause an MXG
VMXGVTOF note CRITICAL ERROR IN VTOC PROCESSING, EXTENTS NOT FOUND.
Mar 27, 1992 PS-SUL datasets have NREXTNTS=1 in their DSCB1, but two
extents are contained in DSCB1: extent #0 with EXTYPE=40x
for the one track Standard User Label, and extent #1 with
the real file. MXG now captures this extra track/extent
and includes it in TRKSALOC and TRKSUSED (note, however,
ISPF and LISTVTOC do not properly count this SUL track).
The change is in the FMTID='1' logic in members VMXGVTOF
and VMXGVTOC. The changes to VMXGVTOF are:
a) Move lines 042900 and 043000 (OUTPUT VTOC1/DSNAMES)
to after 044400.
b) Delete line 044000 (IF FIRST EQ 0 THEN DELETE).
c) Change line 044300 (OUTPUT EXTENT;) to now read
IF FIRST GT 0 THEN OUTPUT EXTENT;
d) Insert four lines after 044300 reading:
IF EXTYPE EQ 40X THEN DO; /*STANDARD USER LABEL*/
NREXTNTS=NREXTNTS+1;
TRKSUSED=TRKSUSED+1;
END;
The same changes need to be made to VMXGVTOC. Line numbers
are: a) 055700 and 055800 to after 057200, b) 056800,
c) 057100, and d) after 057100.
The only PS-SUL datasets found thus far are the log files
created by Omegamon/CICS Version 500!
Thanks to Mike Jacques, Best Products, USA.
Change 10.017 Invalid CICS/ESA Type 110 Subtype 2 Stats records can
VMAC110 cause MXG to loop. MXG detects the bad record and PUTs a
Mar 25, 1992 note on the log "UNEXPECTED STATISTICS SUBTYPE", but MXG's
attempt to skip over an unexpected segment fails when the
segment is corrupted (i.e., it has STILEN=0). Line numbers
408200 and 408300 currently read:
IF (COL+SKIP LE LENGTH+1) THEN INPUT +SKIP @;
ELSE INPUT;
but they must be changed to read:
IF (COL+SKIP LE LENGTH+1) AND SKIP GT 0 THEN INPUT +SKIP @;
ELSE DELETE;
The cause of the single occurrence of this type of
corrupted record is still under investigation.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 10.016 Documentation note for TYPE6 (and PDB.PRINT) datasets.
ADOC6 The fields SMF6DDNM, SMF6DSNM, SMF6PRNM and SMF6STNM that
Mar 25, 1992 were added by PSF to type 6 SMF records do NOT exist in a
type 6 record created by JES. Those fields exist only in
the PDDB built by PSF and are not in the JOE built by JES.
The variables exist, but their values are blank for DDname
DSname, Procname and Stepname if JES did the printing.
IBM APAR OY48265 documents their omission by JES.
Thanks to Marcia Ketchersid, Price Waterhouse, USA.
Change 10.015 Support for NETSPY Token-Ring records create the new MXG
EXNSPYTR MXG dataset NSPYTR, thanks for this significant user
VMACNSPY contribution.
Mar 25, 1992
Thanks to Lois Robinson, M & I Data Services, Inc, USA.
Change 10.014 The four new swap events (SWAPIC, SWAPIP, SWAPMR, SWAPAW)
VMAC71 always had missing values because the test in line 084500
Mar 25, 1992 IF LENSWAP GE 360 THEN DO; must be changed to read
IF NRSWAPSG GE 15 THEN DO;
Additionally, variables SWAPSHRT (logical swap candidates)
SWAPLGPY (logical swaps actually swapped) and PCTLSWAP
(pct logical swaps that swapped) used to be MVS/370 only,
but are now calculated for XA and ESA environments by the
addition of these three lines after line 091400:
SWAPSHRT=SWAP-SUM(PHYEXT,PHYAUX);
SWAPLGPY=SUM(LOGEXT,LOGAUX);
IF SWAPSHRT GT 0 THEN PCTLSWAP=100*SWAPLGPY/SWAPSHRT;
Thanks to Lois Robinson, M & I Data Services, Inc, USA.
Change 10.013 STOPX37 Product's SMF Record for Release 3.4 is supported
VMACX37 by changing EQ 'X37 33' THEN to GE 'X37 33' THEN
Mar 24, 1992 because the record format was (apparently) unchanged. The
variable STEPCPU must be changed to STPCPUTM in two places
so the CPU time will be kept by MXG.
Thanks to Mike Jacques, Best Products Co., Inc, USA.
Change 10.012 MVS/ESA V4.2 Dynamic I/O Reconfiguration is now supported
ASMTMNT in these "monitor" programs provided by MXG. The MXG Tape
ASMVTOC Mount Monitor, ASMTMNT, the MXG Fast VTOC Reader, ASMVTOC,
ASMVVDS the MXG VVDS Reader, ASMVVDS, and the MXG SAS Function to
FMXGUCBL Dynamically Allocate All Disks, FMXGUCBL (now redundant in
Mar 13, 1992 purpose with the ASMVTOC program), all use the new UCBSCAN
service so these programs will recognize new devices that
were added by MVS/ESA after IPL.
Thanks to Bill Fairchild, Royal Software Associates, USA.
for enhancement.
Thanks to Guy Garon, Verstand, CANADA.
for review of Bills' work
Change 10.011 SPMS 1.2.1.3 writes invalid record if a volume is deleted
VMACSPMS or renamed, without first changing SPMS parameters. The
Mar 13, 1992 resultant SMF record contains a value of 1 for SPMSREXT,
but sections 3/4 do not exist in the record, causing MXG
to STOPOVER abend. This is really an Amdahl problem, but
this circumvention protects their error. Change
DO _I_=1 TO SPMSREXT; to read
IF LENGTH GT 188 THEN DO _I_=1 TO SPMSREXT;
(Note: NL 22 misspelled 1.2.1.3 as R2.1.4).
Thanks to Peter Evans, Inland Revenue, Worthing, ENGLAND.
Change 10.010 TYPE70PR variable NRPRCS, number of logical partitions
VMAC7072 is still incorrect after the PR/SM Effective Dispatch Time
Mar 12, 1992 APAR is installed. Change 9.179 subtracted one for the
pseudo partition "PHYSICAL", but since that partition
segment is last in the actual record (even though it has
the Logical Partition Number LPARNUM of 0), only the
observations in TYPE70PR for LPARNAME of PHYSICAL have the
correct number of logical partitions! Line 131110,
IF LPARNAME='PHYSICAL' THEN NRPRCS=NRPRCS-1;
must be deleted, and a new line must be inserted after
line 133220 (SKIP=SKIP-16;, inside the DO group to read
LCPUEDTM) containing:
NRPRCS=NRPRCSS-1;
(yes, the variable on the right does have an extra 'S').
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 10.009 Datasets TYPE70PR, DB2STAT0 and DB2STAT1 were added to
WEEKBLD BUILDPDB/3 in MXG 9.9, but were not added to WEEKBLD or
MONTHBLD MONTHBLD. Now they have been added, with these BYs:
Mar 10, 1992 WEEK.TYPE70PR:
BY SYSTEM STARTIME LPARNUM LCPUADDR;
WEEK.DB2STAT0:
BY SYSTEM QWHSSSID QWHSSTCK;
WEEK.DB2STAT1:
BY SYSTEM QWHSSSID QWHSSTCK;
But what about DB2ACCT; wasn't it added to BUILDPDB? Yes,
but, since Change 10.053 now gives you the choice of the
destination of the DB2ACCT dataset, and since I don't know
if you really want to put your detail DB2ACCT data in the
weekly PDB, I can't automatically add it to your weekly
PDB for you; you'll have to do that yourself, (with no BY
statement, since it is no longer sorted), if you really
want detail DB2ACCT data weekly!
Change 10.008 Sites that had added DB2ACCT to their PDB under MXG 8.8
WEEKBLD may get a NOT SORTED condition in WEEKBLD under MXG 9.9,
Mar 10, 1992 because your previous sort order might be different than
Apr 20, 1992 the sort order used by MXG 9.9. Simply remove the BY
May 5, 1992 statement from your WEEKBLD and the daily datasets will be
concatenated instead of interleaved in sort order.
This is not only a circumvention to this specific problem,
but in fact is the way of the future, as DB2ACCT is no
longer built in sort order; see Change 10.053!
Change 10.007 Variable TPXELAP has wrong value. Line 052200, which is:
VMACTPX TPXELAP=TPXELAP*900/40812;
Feb 27, 1992 must be deleted. The value is correct without conversion.
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Change 10.006 Cosmetic change. Variable SMFT0BST should have format of
VMACCMA DATETIME21.2 and should have LENGTH of 8.
Feb 27, 1992
Thanks to Ken French, Wisconsin Gas, USA.
Change 10.005 Type 42 SMF record causes STOPOVER ABEND. One ABEND is
VMAC42 because APARs OY48288 and OY39393 incompatibly re-format
Mar 9, 1992 the record, and require a new VMAC42 member to process the
Mar 14, 1992 completely restructured record. However, MXG could also
fail on records created before the above APAR, because the
NRSTOR in line 020300 should have been (NRSTOR-1). Since
the original records were not correct, the only thing that
makes sense, if you want to process the type 42 record,
(it contains 3990 cache statistics if you have SMS volumes
behind the cache) is to install the above APARs and to ask
for MXG PreRelease 10.1, because these two APARs correct
the errors previously reported (but not fixed) in APAR
OY36035 and OY39393. MXG circumvention for those two
earlier APARs was removed in this almost complete rewrite
of VMAC42. However, users with IBM's Cache RMF Reporter
or Legent's DASDMON/ASTEX products have said they found
TYPE42 added nothing useful to those two products.
Revision 1MAR94: New subtypes of the type 42 record added
great value to the type 42 record! See later changes!
Thanks to Greg Scriba, Budget Rent-A-Car Corp, USA.
Thanks to Glenn Hanna, Textron Defense Systems, USA.
Change 10.004 The value of offset P3 had previously been hardcoded to a
VMXGHSM value of 297 or 405 depending on the release of HSM, but
Mar 9, 1992 it now can be calculated independent of release. In lines
152300 and 153000, replace "405" with "MCDNVSNO+65".
Additionally, MCDMCNAM in lines 140500 (label=SMS...) and
141600 (... $HEX2.) should have been MCDSMSFG. Without
this change, MCDMCNAM printed funny because it was given
the $HEX2. format.
Thanks to Roger Edwards, South Carolina Electric & Gas Company, USA.
Change 10.003 PSF type 6 records had FORM truncated to four bytes. The
VMAC6 original PSF record did not contain the 8-byte FORM name,
Mar 9, 1992 and old MXG code that bypassed inputting the 8-byte field
should have been removed when PSF added the longer field.
Lines 026000 thru 026300 need to be replaced with:
IF SMF6LN3 GE 14 AND LENGTH-COL+1 GE 8 THEN
INPUT FORM $CHAR8. @;
since the 8-byte form name is now in all type 6 records.
Thanks to Lars Hylin, TryggHansa-SPP, SWEDEN.
Change 10.002 Line 184600 changed to _IMSTRAN.IMSTRAN instead of
TYPEIMS IMSTRAN._IMSTRAN, but using MXG's suggested DDNAME of
Mar 9, 1992 IMSTRAN for the _IMSTRAN value caused no error condition!
Only if you used a different DDNAME did an error occur.
Thanks to Richard S. Ralston, Rochester Telephone, USA.
Change 10.001 DB2 Reports truncated values for eight character values,
ANALDB2R and the System Parameter Report ABENDs with "Variable Not
Mar 9, 1992 Found" due to inadequate testing of the final 9.9 code.
a.Insert the following line in two places, after line 016050
and after line 025220:
LENGTH DB2 AUTHID PLAN CONNID CORRNAME CORRNUM
DB2LOCAL DB2REMOT $ 8 ;
b.Replace all occurrences of SM102SSI with QWHSSSID. These
are the lines: 088580, 088620, 093840, 095140, 096260.
LASTCHANGE: Version 10
=========================member=CHANGE09================================
/* COPYRIGHT (C) 1984,1992 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is the Production Version MXG 9.9, dated March 1, 1992.
All Changes listed in this member have been installed in MXG 9.9.
HOT NOTES:
Several new changes were added after NEWSLETTER TWENTY-ONE went to
press; see the Change Log, below, for Changes 9.236 thru 9.245.
The library now has more members, lines, datasets and variables than
was stated in the newsletter. This final MXG 9.9 library contains
1,605 members, 388,651 lines of code, builds 1,093 datasets with
41,332 variables documented in DOCVER with delta-doc in DOCVER09.
Over 800 sites have installed a PreRelease of MXG Version 9!
The installation instructions for MXG 9.9 were contained in NEWSLETTER
TWENTY-ONE, which is contained in member NEWSLTRS, repeated also
below in this member.
I. MXG Version Status.
1. Production Version is now MXG 9.9, dated March 1, 1992.
MXG Version 9.9 was accompanied by Newsletter TWENTY-ONE.
All Changes in this newsletter have been installed in MXG 9.9.
The MXG 9.9 library contains 1,605 members, 388,651 lines of code,
and builds 1,093 datasets with 41,332 variables that are documented
in member DOCVER. Datasets changed between MXG 8.8 and MXG 9.9
are documented in member DOCVER09.
2. Major enhancements and new products supported in MXG 9.9.
Support for SAS 6.07 (new options).
Support for Amdahl's SPMS Release 1.2 SMF record.
Support for Boole & Babbage CONTROL-D SMF record.
Support for CA-1 (TMS) Release 5 complete rewrite.
Support for CADAM's Statistics Data File.
Support for CICS/ESA 3.2.1 product.
Support for Codework Software's SNAPAD-MVS user SMF record.
Support for Database 2 Release 2.3.
Support for DCOLLECT APAR OY36364 change in track capacity.
Support for Fischer's Totally Automated Office TAO.
Support for HSM 2.6 SMF record.
Support for Interlink's SNS/SNA Gateway SMF record.
Support for Interlink's SNS/TCPaccess SMF record.
Support for Interlink's SNS/TCPvt SMF record.
Support for LEGENT's MIM Multi-Image Manager
Support for LEGENT's LANSPY component of NETSPY (4.1).
Support for LEGENT's BUNDL product modified type 6 SMF record.
Support for MVS/ESA 4.2.2 (RMF 4.2.2) changes.
Support for NetView NPM 1.5 release.
Support for NetView FTP SMF record.
Support for Omegamon for CICS/ESA Version 550 ESRA user SMF.
Support for Omegamon V550 SMF 110 EMPs (Basic, DB2, DL/I).
Support for SCA's CMA-SPOOL user SMF record.
Support for Shared Medical Systems CICS exclude logic.
Support for Softtool Corporations's CCC (Change and Control).
Support for Software AG's NET-PASS user SMF record.
Support for Type 30 APARs OY33312 and OY25606 (no changes).
Support for 3490E (Serpentine) tape device.
Support for 9345E DASD device.
Addition of DB2ACCT,STAT0,STAT1 datasets to your PDB.
Error in VMXGVTOF/VMXGVTOF (only 3 extents kept) corrected.
Revision of BUILDPDB to eliminate SAS 5.18 Compiler Error 344.
Cache RMF Reporter support enhanced, decoded, and documented.
DB2 Reports corrections and enhancements in ANALDB2R.
Fujitsu FACOM MSP and FSP supported in XPDLPDA.
IMS Input Queue time, resources, CONDCODE corrections.
PR/SM Trend Data Base implemented.
VM/XA Trend Data Base implemented.
Each of these enhancements are described in the Change Log, below.
alphabetical list of the most important changes precedes the
changes.
V. Installation Instructions for MXG Version 9.9.
Over 800 sites have installed a PreRelease of Version 9, with almost
no reported problems. Sites migrating from MXG Version 8.8 or later
have found installation of MXG 9.9 was smooth and easy. The only
known incompatibilities are listed below, before the instructions.
Under ALL SAS Versions:
BUILDPDB/3 sites who have added DB2 processing to their PDB must now
"back-out" their exit code as described in Change 9.175; MXG now has
added DB2ACCT/DB2STAT0-1 datasets automatically to your PDB, and
a syntax error in BUILDPDB will occur if you fail to heed this note.
Only under SAS Version 6.07:
Use new member CONFIG07 instead of CONFIG. No error will occur, but
several unnecessary WARNING messages will be eliminated by use of
the new CONFIG07 member for 6.07.
Only under SAS Version 5.18:
BUILDPDB/3 under SAS 5.18 ONLY (not required with SAS 6.06/SAS 6.07)
sites must add a new temporary DD card in their JCL for BUILDPDB:
//SMFTEMP DD UNIT=SYSDA,SPACE=(CYL,(20,20))
This inconvenience may help eliminate SAS 5.18 compiler 344 errors.
If you encounter SAS 5.18 errors 344 or 160 see Change 9.175.
A syntax error in BUILDPDB will occur if you fail to heed this note.
However, if you have NOT installed MXG 8.8, you MUST note:
a. See SAS Notes section of this newsletter. The SAS options that
are required by MXG were changed between MXG 7.7 and MXG 8.8.
b. Execution under SAS 6.06 is different than under SAS 5.18. See
SAS Notes section of newsletters 17-21.
e. To write your PDB directly to tape, IMACCICS must be changed as
described in comments in the member. Although MXG does support
creation of the PDB directly to tape, most sites find it better
(especially elapsed time) to create the PDB on temporary disk and
then use PROC COPY to copy from disk to tape. (BUILDPDB re-reads
PDB datasets to build RMFINTRV, and this can cause lots of tape
spinning when the PDB DDname points directly to tape.)
Always read comments in the CHANGES member for compatibility issues, as
well as for any last minute changes added after Newsletter composition.
1. Installation, re-installation, and Space Requirements.
The MXG Installation instructions are found in Chapter 32 of the MXG
Supplement for both new installation and for version replacement, and
those instructions, as modified herein, are still valid.
The MXG tape is distributed as a Non-Labelled (NL) tape containing a
single file with DCB=RECFM=FB,LRECL=80,BLKSIZE=32720. The MXG tape is
an unloaded Partitioned Dataset in IEBUPDTE format. Note that the tape
blocksize was changed to 32720 (it had been 6160 in prior versions). You
will receive I/O errors if you specify the incorrect blocksize.
Under MVS use IEBUPDTE utility to build the MXG.SOURCLIB PDS library.
Under CMS use TAPPDS command to build the SOURCLIB MACLIB library.
Allocate the MXG.SOURCLIB for MXG 9.9 with SPACE=(CYL,(50,1,299)), using
DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) on 3380 devices, or
DCB=(RECFM=FB,LRECL=80,BLKSIZE=27600) on 3390 devices.
Under CMS, approximately the same space (50 cylinders) will ultimately
be required by the MXG SOURCLIB MACLIB, but during the CMS installation
process you will need at least 100 free cylinders on your minidisk.
MXG is tailored and extended by "Installation Macro" members (members
beginning with IMAC....), and by "MXG Exit Facility" members (members
beginning with EX....) that are copied and edited into the installation
"USERID.SOURCLIB", the name of the "MXG Tailoring" library, that you
create and concatenate ahead of MXG.SOURCLIB to the SOURCLIB DDNAME:
//SOURCLIB DD DSN=USERID.SOURCLIB,DISP=SHR --> site tailoring (yours)
// DD DSN=MXG.SOURCLIB,DISP=SHR --> never changed (mine)
If this is an MXG re-install, there should already be a USERID.SOURCLIB.
If not, then allocate one using the same attributes as the MXG.SOURCLIB,
with SPACE=(CYL,(1,1,99)). Under CMS create an equivalent MACLIB.
Tailor by editing members that you copy from my library to your library.
IMACXXXX members are self-documenting, and member IMACAAAA indexes all
IMAC members. Most MXG sites have only a few tailoring members in their
USERID.SOURCLIB (typically, IMACACCT, IMACSHFT, IMACWORK).
VMACXXXX members contain the actual processing code, and normally should
not exist in your USERID.SOURCLIB, and should always be removed when you
install a new version of MXG. However, if you have installed printed
Changes from an MXG Newsletter, you might have copied VMAC member(s)
from MXG.SOURCLIB into your site's USERID.SOURCLIB and then modified the
VMAC member. (Alternatively, you could have created an MXG.CHANGLIB in
which you put those in-between-version changes.) In either case, if
you made temporary changes, they must be removed now. Delete all of the
VMACs members from your USERID.SOURCLIB (or delete the MXG.CHANGLIB).
Otherwise, your modified VMAC member would be used instead of MXG's.
You should record all tailoring changes in your USERID.SOURCLIB so the
next MXG technician will know what you have done. You should create a
member named CHANGES in your USERID.SOURCLIB, similar to member CHANGES
in the MXG.SOURCLIB which documents all MXG changes.
If there are IMAC.... members in your USERID.SOURCLIB, you must look at
the alphabetic list of changed IMACs in the Change Log, below, and must
retrofit your tailoring on the new member in this library. In MXG 9.9,
only IMACACCT was changed (Change 8.290, in member 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:" and "ERROR :" and
"UNINITIALIZED" and "NOT CATLGD", as they may 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 Chapter FORTY.
Summary of critical actions to be taken in installing new version:
a. All VMAC.... members in your USERID.SOURCLIB must be examined
and, in general, must be deleted.
b. All IMAC.... members in your USERID.SOURCLIB must be compared
with the IMAC.... members that have been changed in this MXG
version (see alphabetic list at beginning of Change Log). You
you MUST start with the IMAC in this version and retrofit your
installation's tailoring. Member IMACAAAA indexes all IMAC's.
c. It is always wisest to PROC PRINT the first 50 observations of
important datasets, especially PDB.JOBS, which can be affected
by user tailoring in IMACPDB. A visual scan of that PROC PRINT
serves as an excellent validation of correct installation, and
will almost always detect any serious problems BEFORE you begin
your production MXG runs! See also the MXG utility UTILPRAL.
VI. SAS Technical Notes.
1. The following important notes are repeated from prior Newsletters:
a. SAS OPTIONS REQUIRED under version 5.18, 6.06, or 6.07.
Please read this section carefully. MXG execution will fail if you
do not pay attention to these (potentially incompatible) changes:
SAS options that are MANDATORY with all SAS Versions:
NOIMPLMAC MAUTOSOURCE SASAUTOS=SOURCLIB ERRORABEND MACRO DQUOTE
NOIMPLMAC should ALWAYS be used in ANY program.
MAUTOSOURCE and SASAUTOS=SOURCLIB are required by MXG to
resolve %MACRO references without extra I/O by using autocall.
ERRORABEND ensures SAS stops on any error condition.
MACRO enables SAS to recognize %MACROs.
DQUOTE is needed to extract values of certain string %MACROs.
SAS options MANDATORY under SAS Version 5.18 (do not exist in V6):
MWORK=28000 GEN=0
MWORK was needed in large %MACROs (like %ANALDB2R).
GEN=0 was needed to eliminate unnecessary I/O and CPU time, and
is discussed in the 1984 Guide (see Index).
SAS options MANDATORY under SAS Version 6 (did not exist in 5.18):
MEMSIZE=24M
Previously, MXG recommended MEMSIZE=12M, but programs that build
many datasets concurrently (like BUILDPDB, VMACVMXA, etc.) will
need more of this virtual storage above the line, because of the
new MXG recommended value for BLKSIZE='half-track'. The MEMSIZE
option only works under MVS/XA and MVS/ESA, and since it is not
a real resource, and only used when needed during the "building"
phase in MXG processing, the new default of MEMSIZE=24M should
not cause any problem, and will avoid unnecessary ABENDs.
If you are using MXG and SAS 6.06 under MVS/370 or CMS/370, you
will have to reduce this MEMSIZE= parameter to no more than 6M,
and must reduce the BLKSIZE (try 4096, or the minimum 1024).
Small BLKSIZE will allow your program to compile, but the DASD
work space you will need will significantly increase, as will
the run-time, IOs, and CPU requirements for the same job.
SAS options STRONGLY RECOMMENDED for SAS 6.06 performance:
BLKSIZE=23040 BUFNO=2 -- for 3380's
BLKSIZE=27648 BUFNO=2 -- for 3390's
Both are now automatically set by MXG's use of BLKSIZE(DASD)=HALF
in MXG's CONFIG/CONFIG07 members for permanent datasets, but
note that the WORK DD in the default SAS JCL procedure contains
a BLKSIZE=6144 parameter which MUST be overridden or changed for
optimum execution performance:
// EXEC MXGSASV9
//WORK DD DCB=BLKSIZE=23040
The BLKSIZE option in the CONFIG member will have no effect if a
DCB=BLKSIZE value is specified on the JCL DD statement.
See "SAS Benchmarks" in Newsletter TWENTY for resource savings.
SAS options recommended with either SAS Version 5.18, 6.06 or 6.07:
FIRSTOBS=1 OBS=MAX
ERRORS=2
NOSOURCE NOSOURCE2 NOMACROGEN NOMPRINT NOMLOGIC
So how do you specify these recommended/required MXG options?
In Version 5.18, MACRO and MWORK=28000 must be specified on the EXEC
statement, but all other options could be specified on an OPTIONS
statement right after your SYSIN DD * statement. However, so you do
not have to remember them nor type them, MXG member SASOPTV5 has all
of the recommended options in an OPTIONS statement, so you need only
%INCLUDE SOURCLIB(SASOPTV5); as your first SAS statement:
//stepname EXEC SAS518,OPTIONS='MACRO MWORK=28000'
//SYSIN DD *
%INCLUDE SOURCLIB(SASOPTV5);
... the rest of your program ...
For SAS Version 6, options can be set with an OPTIONS statement, or
with the OPTIONS= JCL parameter, or (as is MXG's recommendation) via
the CONFIG= JCL parameter on the EXEC statement. MXG member CONFIG
contains the MXG required and recommended options for SAS 6.06, and
member CONFIG07 contains the SAS 6.07 recommendations. The BLKSIZE
and MEMSIZE options were increased in MXG 9.9, and the new CONFIG07
member was added with new SAS 6.07 options. (You could also supply
options by overriding the CONFIG DD in the SAS JCL procedure, but
using the CONFIG= parameter is safer and simpler.).
// EXEC SAS606,TIME=10,
// CONFIG='MXG.SOURCLIB(CONFIG)'
// EXEC SAS607,TIME=10,
// CONFIG='MXG.SOURCLIB(CONFIG07)'
IF YOU DON'T HAVE THE RIGHT OPTIONS IN EFFECT, YOU WILL RECEIVE
RUDE AND INSULTING SAS ERROR MESSAGES, INCLUDING 180 ERRORssss!
b. Format libraries are different in MVS SAS Version 6 and Version 5.
The MXG-built "SASLIB" formats are built by the first step of either
JCLTEST (for SAS 5.18) or JCLTEST6 (for SAS 6.06).
Under SAS Version 5.18, formats are members of a PDS load library
which must be allocated as SPACE=(CYL,(3,1,99)). SAS 5.18 formats
are always referenced using the DDNAME of SASLIB.
Under SAS Version 6 formats are members of a SAS data library, which
must be allocated as SPACE=(CYL,(1,1)). Note there is NO third SPACE
parameter (for PDS directory blocks), because data libraries in SAS
Version 6 are physical sequential files. SAS Version 6 format
libraries are always referenced using the DDNAME of LIBRARY.
In either version of SAS, the blocksize is set by the PROC FORMAT.
MXG always requires the appropriate DDNAME (SASLIB or LIBRARY).
You will fail with SAS 170 FORMAT NOT FOUND errors if you do not
have the correct format library pointed to by the correct DDNAME.
VII. Documentation of MXG Software.
Member CHANGES always contains the version number of MXG Software, and
it lists changes that were installed in that version. The members named
Changenn have the contents of CHANGES when that "nn" MXG version was
created. Description of enhancements will be found in the text of the
Change description that made the enhancement (in those CHANGES and
Changenn members). The CHANGE members can be scanned online (with SPF
BROWSE) to search for specific product name references (CICS, MVS/ESA,
etc.). The text of each Change identifies the member(s) that were added
or altered by that change. Documentation (especially for new product's
support) is usually also found in comments at the beginning of those
members listed in the change entry.
Member NEWSLTRS contains the text of all newsletters (up through the
newsletter that accompanied that MXG release). You can search NEWSLTRS
for product name or acronym to find the technical notes, APARs, etc.
from all MXG newsletters. (The Change Log of each Newsletter is not
replicated in member NEWSLTRS, since that text will be in CHANGES).
Member DOCVERnn is the "delta-documentation" (in abbreviated Chapter
FORTY style) of only those variables and datasets that were changed
between successive MXG Versions. There is a DOCVERnn "delta" member in
the MXG library for each version.
Penultimately, member DOCVER contains abbreviated Chapter FORTY format
that documents all of the variables names in all of the MXG datasets
that are created by that MXG Software Version (alphabetically by data
set name and variable name).
Finally, MXG is a source distributed system, so you can often find your
answer by BROWSE/EDIT of the source member, especially the VMACs that
actually create the dataset, or ANALs that analyze the MXG datasets.
In many instance, the MXG Variable name is the IBM or Vendor's field or
DSECT field name. In other cases, the DSECT field name is carried as a
comment beside in the MXG INPUT statement to map field name to MXG's
variable name. MXG expects you to also have access to the vendor's
documentation of particular data records you are using for analysis.
VIII. Change 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 is 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 easily installed, critical part of the correction).
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.
Changes thru 9.241 are contained in MXG Version 9.9 Mar 1, 1992
Changes thru 9.235 were printed in NEWSLETTER TWENTY-ONE Mar 1, 1992.
Changes thru 9.218 were contained in MXG PreRelease 9.8 Feb 3, 1992.
Changes thru 9.212 were contained in MXG PreRelease 9.7 Jan 27, 1992.
Changes thru 9.205 were contained in MXG PreRelease 9.6 Jan 14, 1992.
Changes thru 9.184 were contained in MXG PreRelease 9.5 Dec 1, 1991.
Changes thru 9.175 were contained in MXG PreRelease 9.4 Nov 15, 1991.
Changes thru 9.107 were contained in MXG PreRelease 9.3, Aug 1, 1991.
Changes thru 9.104 were printed in NEWSLETTER TWENTY Aug 1, 1991.
Changes thru 9.069 were contained in MXG PreRelease 9.2, July 1, 1991.
Changes thru 9.038 were contained in MXG PreRelease 9.1, June 3, 1991.
Changes thru 8.305 were contained in MXG Production 8.9, May 1, 1991.
Changes thru 8.285 were contained in MXG Production 8.8, Apr 8, 1991.
Changes thru 8.283 were printed in NEWSLETTER NINETEEN, Apr 8, 1991.
Alphabetic INDEX of significant changes in MXG 9.9 (after MXG 8.8):
Member Change Description
many 9.151 DASD Device 3345 ("Serpentine") data recognized.
many 9.152 Tape Device 3490E ("Serpentine") data recognized.
ANALACHE 8.293 Cache RMF Reporter analysis uses 3990 records now.
ANALDBTR 9.135 DATASET S064058 NOT SORTED error corrected.
ANALDB2R 8.299 Variable Not Found if only Acct Trace Long requested.
ANALDB2R 9.030 DB2 Reports have incorrect values for some fields.
ANALDB2R 9.032 DB2 Audit Reports not created if PDB=SMF specified.
ANALDB2R 9.104 DB2 Trace TRANSIT report causes DATA IS NOT SORTED.
ANALDB2R 9.210 DB2PM-like SQL trace reports added.
ANALRACF 9.064 RACF Analysis of OPERATOR,SPECIAL activity.
ANALTMS 9.059 PROC SUMMARY out of memory condition.
ANALVVDS 9.031 PERM should be changed to MXGVVDS.
ANALVVDS 9.053 MXG 9.1 only, VMXGVVDS should have been MXGVVDS.
APAR/PTF 9.141 OY33312/UY52529 has no impact on MXG processing
ASUMDBDS 9.012 TMON/CICS trending fails with Release 7 data.
ASUMJOBS 8.291 EXCPTOTL, IOTMTOTL were not kept in BATCHJOB.
ASUM70PR 9.091 TYPE70PR data summarized into PDB.ASUM70PR
ASUM70PR 9.179 ASUM70PR data wrong if NRPRCS not equal to PARTNCPU.
AS400PDS 8.286 AS400PDS contains no records.
BLKSIZE 9.109 MXG distribution tape block size changed to 32720.
BUILDPDB 9.049 SAS 6.06 and MXG 8.8 under MVS/370 options.
BUILDPDB 9.095 Dataset TYPE0203 added to default datasets built
BUILDPDB 9.175 DB2ACCT,STAT0/1 automatically created by BUILDPDB.
CASORT66 8.295 SAS datasets destroyed by CASORT release 6.6.
CHANGE08 9.073 Example to create _DAY in 8.213 was wrong
CONFIG 9.022 Option VERSIONLONG specified to display SAS version.
CONFIG 9.131 Default CONFIG for 6.06 updated.
CONFIG07 9.131 Default CONFIG for 6.07 updated.
DIFFDB2 9.080 Not all DB2STAT0/1 variables were deaccumulated
DIFFDB2 9.128 DB2STAT0/1 variables improperly deaccumulated.
EXPDB304 9.034 BUILDPDB/3 steps data creation exit.
EXPDB6 9.034 BUILDPDB/3 steps data creation exit.
EXTY72 9.184 CPURCTTM invalid in TYPE72, not included in CPUTM.
IEBUPDTE 8.286 Unload of MXG 8.8 set condition code 4.
IMACACCT 8.290 ACCOUNT FIELD n LENGTH WRONG corrected.
IMACCICS 9.005 PDB cannot be built on tape unless IMACCICS changed.
IMACDB2 9.121 DB2 Correlation ID decoding corrected.
IMACEXCL 9.051 Support for CICS type 110 EXCLUDE statement.
IMACEXCL 9.145 CICS EXCLUDE/INCLUDE logic externalized
IMACFMTS 9.066 New IMAC for user formats for SAS 6.06.
IMACICDA 9.146 CICS EMP data control externalized
IMACICDB 9.181 Support for APAR PL83370 in DBCTL data with CICS/ESA
IMACICOx 9.146 Omegamon V550 User EMPs added to type 110
IMACKEEP 9.017 A better way to drop MXG variables not using IMACKEEP
JCLDASD 9.031 MXGDASD,PERM DDNAMEs should be DISK,MXGDASD
JCLMNTH 9.225 MONTHBLD require only one tape drive, runs faster!
JCLTEST6 9.108 FORMAT not found error in step SMFSMALL.
READDB2 9.164 List processing %MACRO for DB2 IFCIDs added.
RMFINTRV 9.184 Enhanced, MVS/ESA CPU times and PR/SM data added.
RMFINTRV 9.204 RMF72D NOT SORTED condition corrected.
SPUNJOBS 9.005 PDB.SPUNJOBS on tape caused 207 error.
SPUNJOBS 9.013 SPUNJOBS timestamps not 8 bytes, truncating values.
TLMS 9.041 TLMS causes 713-04 ABEND if DBLTIME=0.
TRNDDB2A 8.301 DB2 Acct trending failed in 2nd week of execution.
TRNDDB2A 9.209 DB2 Trending errors corrected.
TRNDDB2S 8.301 DB2 Stats trending failed in 2nd week of execution.
TRNDVMXA 9.028 VM/XA Trend Data Base implemented.
TRNDVMXA 9.089 VM/XA Trended PFXUTIME and PCTCPUBY incorrectly
TRND70PR 9.091 TYPE70PR data creates new TREND.TRND70PR
TRND70PR 9.179 TRND70PR data wrong if NRPRCS not equal to PARTNCPU.
TRND71 9.092 TYPE71 data creates new TREND.TRND71
TRND72 9.093 MVS/ESA 4.2 variables added to TREND.TRND72
TYPEAPAF 9.218 Support for Amdahl's APAF.
TYPECIMS 9.122 IMF Chained Transactions response time corrected.
TYPECIMS 9.235 Support for IMF 2.7 log records.
TYPEIMS 9.106 IMS Multi-trans resources wrong.
TYPEIMS 9.182 Multi-trans corrections, CONDCODE no longer blank.
TYPEIMS 9.216 IMS 3.1 resources wrong for Quick Reschedule trans.
TYPEMON8 9.011 TMON/CICS Release 9.0 supported via conversion only.
TYPEMON8 9.015 TMON/CICS Version 8 History file cause MXG failure.
TYPEMON8 9.168 STOPOVER with bad record in Landmarks Monitor
TYPEPDL 8.297 Fujitsu FACOM MSP and FSP support replaced XPDLPDA.
TYPE84 9.202 JES3 JMF type 84 SMF record partial support.
UTILCICS 9.019 Not Sorted error corrected for CICS/ESA dictionary.
VDOCACHE 9.027 Documentation re-write has begun.
VMACACF2 8.289 ACF 5.2 new variables not kept.
VMACACF2 9.086 ACF2 REC=L CN=3 records were not output
VMACACHE 8.293 Cache RMF Reporter support enhanced and decoded.
VMACAIM2 8.298 Fujitsu AIM database manager records corrected.
VMACCADM 9.021 Support for CADAM's Statistics Data File.
VMACCCC 9.172 Softtool Corporation's CCC (Change Control) user SMF
VMACCMA 9.143 Support for CMA-SPOOL user SMF record
VMACCMF 9.126 CMF User SMF record STOPOVER corrected.
VMACCTLD 9.038 Support for Boole & Babbage CONTROL-D SMF record.
VMACDB2 9.138 Support for DB2 2.3.0
VMACDCOL 8.285 IBM DASD measures use MB for million, not megabytes.
VMACDCOL 9.144 DCOLLECT values incorrect after IBM APAR OY36364
VMACDCOL 9.157 DCOLLECT variables changed from character to numeric
VMACDCOL 9.180 Capacity values off by 120 bytes.
VMACDMON 9.196 Support for ASTEC 1.5.
VMACEPIL 8.284 Support for EPILOG/CICS 451 added, and enhanced.
VMACEPIL 8.287 Invalid member on MXG 8.8 replaced.
VMACFOCU 9.223 Support for Information Builder's FOCUS MSO SMF.
VMACFTP 9.056 Support for NetView FTP User SMF record.
VMACFTP 9.170 FTP records produce no observations
VMACHSM 9.097 Support for HSM 2.6 SMF record
VMACILKA 9.020 Support for Interlink's SNS/TCPaccess SMF record.
VMACILKG 9.020 Support for Interlink's SNS/SNA Gateway SMF record.
VMACILKV 9.020 Support for Interlink's SNS/TCPvt SMF record.
VMACIMS 9.063 TYPEIMS Input Queue time correction.
VMACLMS 9.229 Support for Memorex Telex LMS/PM SMF record.
VMACMIM 9.173 LEGENT's Multi-Image Manager (MIM) user SMF record
VMACMIM 9.173 Support for LEGENT's Multi-Image Manager MIM record.
VMAC28 9.116 NPM 1.4.1 support was not complete in MXG 9.3.
VMACNETP 9.118 Support for NET-PASS user SMF record.
VMACNSM 9.194 Support for NOMAD's Session Manager record.
VMACNSPY 9.033 STOPOVER protection for invalid records.
VMACNSPY 9.044 STOPOVER with NETSPY Accounting record.
VMACNSPY 9.045 NETSPY Accounting subtype caused STOPOVER.
VMACNSPY 9.165 LEGENT's LANSPY component of NETSPY additions.
VMACOMCI 9.147 Omegamon V550 User SMF record
VMACOPCA 9.224 IBM's OPC/A Job Tracking and Audit Trail Log.
VMACRMDS 9.139 RMDS records RMDSORG='D' STOPOVER corrected.
VMACSMF 9.094 New message at end of SMF processing on log
VMACSNAP 9.167 Codework Software's SNAPAD-MVS user SMF record
VMACSPMS 9.088 Support for Amdahl's SPMS Release 1.2 SMF record
VMACTAO 9.018 Support for Fischer's Totally Automated Office TAO.
VMACTAO 9.200 Support for Emc2/TAO Release 3.3.0.
VMACTMS5 9.016 Support for CA-1 (TMS) Release 5 complete rewrite.
VMACTMS5 9.057 Missing semicolons.
VMACTMVS 9.142 TMON/MVS spanned record STOPOVER circumvented
VMACUCB 9.002 3490E cartridge tape now recognized.
VMACVMXA 8.296 VM/XA used more work space than really required.
VMACVMXA 9.096 LOGICAL RECORD SPANS message corrected
VMAC102 9.178 IBM incompatible change to IFCID 140, 141 in 2.3
VMAC110 8.292 Unexpected Statistics Subtype due to Boole CICSMGR.
VMAC110 9.051 Support for Shared Medical Systems CICS modifications
VMAC110 9.062 Support for CICS/ESA 3.2.1.
VMAC110 9.084 CICS PCLOADCN has different meaning.
VMAC23 9.134 New fields were not input.
VMAC28 9.061 Support for NetView Performance Monitor NPM 1.4.1.
VMAC28 9.214 Support for NPM Release 1.5.
VMAC30 9.001 INVALID DATA FOR SMF30ASO with MVS/ESA 4.2 eliminated
VMAC30 9.085 STCs starting with A confused APPC logic.
VMAC30 9.134 Support for MVS/ESA 4.2.2.
VMAC42 9.048 Circumvention of IBM DFP 3990 Cache type 42 errors.
VMAC57 9.010 Invalid ESS Section message due to IBM error.
VMAC6 9.083 OUTDEVCE changes affect PRINTLNE, EXTWTRLN
VMAC6 9.154 LEGENT's Bundle product caused type 6 stopover
VMAC6156 9.046 TYPE6156 variables ACTION, FUNCTION not valid.
VMAC7072 9.001 INVALID DATA FOR IOCRFC with MVS/ESA 4.2 eliminated.
VMAC7072 9.054 MXG 9.1 only, Change 9.001 incompletely installed.
VMAC7072 9.070 TYPE72 CPUHPTTM,CPUIIPTM,CPURCTTM wrong in MVS 4.2
VMAC7072 9.072 TYPE70PR LCPUADDRs 2 and 3 wrong if DEDICATED CPU
VMAC7072 9.119 ACF2 STOPOVER due to bad record length corrected.
VMAC7072 9.120 ESA CPU times HPT/IIP/RCT wrong by 2%.
VMAC73 9.001 INVALID DATA FOR IODFDATE in MVS/ESA 4.2 eliminated.
VMAC74 9.001 First STOPOVER with MVS/ESA 4.2 data corrected.
VMAC74 9.039 Second STOPOVER with MVS/ESA 4.2 data corrected.
VMAC78 9.055 STOPOVER with MVS/ESA 4.2 data corrected.
VMAC78CU 9.047 Missing fields due to IBM microcode errors.
VMAC79 9.007 Support for (archaic?) RMF 3.5.1 type 79 records.
VMAC90 9.134 Support for MVS/ESA 4.2.2 added new subtypes.
VMXGHSM 9.009 HSM MCD data can cause STOPOVER.
VMXGVPD 9.158 STOPOVER with VPD record type "E".
VMXGVTOC 9.159 VTOC data beyond 3rd extent lost since MXG 7.2.
VMXGVTOF 9.035 SAS 5.18 only, did not read all extents.
VMXGVTOF 9.040 First Extent on each volume lost. .
VMXGVTOF 9.159 VTOC data beyond 3rd extent lost since MXG 7.2.
WEEKBLD 9.050 Submitting job may need DCB on INTRDR DDNAME.
XMAC74 9.054 MXG 9.1 only, Change 9.001 incompletely installed
Inverse chronological list of all Changes:
NEXTCHANGE: Version 9 72
Change 09.245 Yet another IMS idiosyncrasy was discovered after MXG 9.8
TYPEIMS and corrected by this contributor. For Message Switching,
Feb 20, 1992 each transaction in a single logical business task has the
same ARRVTIME (i.e., the arrival time of the first of the
group). Since RESPONSE time is calculated from ARRVTIME
to ENDTIME, this caused the calculated response time for
Message Switched transactions to be overstated. Russell
tried to use SEQNO and NMSGSW to identify each group of
transactions, but that algorithm did not always uniquely
identify a group, and IBM was unwilling/unable to provide
technical validity of those fields. Thus the solution was
to sequence the IMSTRAN dataset and then, after the fact,
recognize (using the LAG function) and correct the
ARRVTIME of subsequent Message Switched transactions.
Thanks to Russell Dewar, NM Computer Services Pty., AUSTRALIA.
Change 09.244 The "Prudential Writer" program is a "freebie" for Xerox
VMAC6 9700 forms management, which writes a type 6 SMF external
Feb 19, 1992 writer record. Unfortunately, the READTIME value put in
the SMF record is not READTIME but JCNVTIME, and thus this
type 6 record cannot be matched with the other SMF records
written by the same job! There is presently no fix, but
their error was only discovered today! If you use this
program, call/fax us for a status update.
Thanks to David Ehresman, Univerity of Louisville, USA.
Change 09.243 JES2 SPOOL Transfer Program can cause real purge records
BUILDPDB to be mis-recognized by BUILDPDB and sent to PDB.NJEPURGE.
Feb 19, 1992 Change 7.008 discussed the MXG logic added to process the
multiple purge records that are created when a job is
offloaded before execution and then later reloaded for its
execution. The SPOOL transfer purge record was recognized
because DEVNAME begins with 'OFF', and was sent to the
PDB.NJEPURGE, since it is not the true job purge record.
However, it is possible to offload a copy of a job using
SPOOL transfer, but not delete that job from spool. (Sites
specify DISP=KEEP on the JESPARMS OFFLOAD statement to
make a backup copy of the spool before system maintenance,
but only reload if a failure occurred during testing).
The offload does not create a purge record, but the actual
job purge record now contains DEVNAME=OFF1.JT1 (I guess,
so you know the job had been previously copied to spool?).
This caused MXG to send this "real" purge record to the
PDB.NJEPURGE, and the job's other records sat in the SPIN
file waiting on the nonexistent purge record until SPINCNT
was exceeded, when the job was finally output to PDB.JOBS.
This change modifies the test for DEVNAME=:'OFF' and is
(DEVNAME=:'OFF' AND JPURTIME LT JSTRTIME) so that only
the unwanted SPOOL transfer purge record is excluded from
BUILDPDB processing, by comparing the purge record time
with the job start time.
Thanks to David Ehresman, Univerity of Louisville, USA.
Change 09.242 PR/SM variable NRPRCS is the number of partitions, butthe
VMAC7072 pseudo-partition named PHYSICAL added by APAR was also
Feb 18, 1992 being counted. Now it is subtracted out from NRPRCS.
Thanks to Tim Follen, Blue Cross Blue Shield of Ohio, USA.
Change 09.241 A DB2ACCT dataset with 250,000 obs requires 5,000 tracks.
ANALDB2R A DB2 Accounting Summary report needed 10,000 tracks of
Feb 17, 1992 work space (twice the 5,000 tracks because at the end of
the sort phase both the input and output datasets exist),
because ANALDB2R unwisely kept all 221 DB2ACCT variables!
Now, only the 43 variables needed for the Summary report
are kept, and only 1800 tracks are now required! A change
in 9.7 that required yet another copy of DB2ACCT in the
work file was also eliminated in this re-design.
Thanks to Neil Ervin, Huntington Bank Service Company, USA.
Change 09.240 The IRG (inter-record gap) calculation used to estimate
feet of tape should have been IF IRG LT 38000 THEN ....
VMACTMS5 instead of NE (VMACTMS) or LE (VMACTMS5). The 3480 tape
Feb 17, 1992 length was correct, but 3490s calculated too long!
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Change 09.239 Under MVS/370, SAS 6.06 can execute BUILDPDB, but it has
BUILDPDB required these changes.
Feb 17, 1992 1. CICS processing must be moved from BUILDPDB to a second
step. In member BUILDPDB, you will have to comment out
the _VAR110 and _CDE110 lines, the lines which PROC SORT
datasets starting with CIC....., and %INCLUDEs for members
starting with CIC.....
2. Set MEMSIZE=6M, a Region size of 6M, and insert an
OPTIONS BLKSIZE=2048; preceding the %INCLUDE of BUILDPDB.
3. If you need to process the type 110 CICS SMF records,
you should use IMACEXIT to select ID=110 and write them
to SMFTEMP the BUILDPDB step, then use a second step to
execute %INCLUDE SOURCLIB(TYPE110), with the SMF DDname in
this second step pointing to the temporary dataset name
you used on the SMFTEMP DDname in the BUILDPDB step.
4. Again, all of this flailing around is necessary ONLY if
you are trying to execute SAS 6.06/6.07 under MVS/370. If
you have MVS/XA or MVS/ESA, you need none of the above!
Thanks to Darrell Allen, Special Metals, USA.
Change 09.238 SMS fields (Data Class, Storage Class, Management Class)
VMXGHSM plus SMS-related flag, VSAM organization and last update
Feb 18, 1992 datetimestamp were added to the three MCD datasets created
from the Migration Control Data Set.
Thanks to John E. Schultz, First National Bank of Maryland, USA.
Change 09.237 Reserved Change Number.
Change 09.236 Support for BEI Systems PDQ/PAGE SMF record creates four
EXPDQAMJ datasets:
EXPDQAMO PDQAMON - Auxilliary Storage by performance group
EXPDQEMJ PDQAMONJ - Auxilliary Storage by job (ASID)
EXPDQEMO PDQEMON - Expanded Storage by performance group
IMACPDQ PDQEMONJ - Expanded Storage by job (ASID).
TYPEPDQ This vendor contribution has only been syntax checked.
VMACPDQ
Feb 14, 1992
Thanks to Bill Ek, BEI Systems, USA.
---Changes thru 9.235 were printed in MXG Newsletter TWENTY-ONE-----
Change 09.235 Support for Boole and Babbage IMF 2.7 is provided in MXG
TYPECIMS (it was easy - there was no change in the IMF log record
Feb 12, 1992 format since IMF 2.6!)
Change 09.234 RMFINTRV memory variables ending in MEMR were incorrect.
RMFINTRV Instead of the total memory (bytes) for the workload,
Feb 12, 1992 they contained the per-user bytes for the workload, and
variable TOTMEMR contained frames instead of bytes! The
MEMR variables should have been divided by DURATM and
not the RESD variables, and TOTMEMR should have been
multiplied by 4096 to convert frames to bytes.
Thanks to Shirley Rementer, Atlantic Electric, USA.
Change 09.233 NETSPY variable LRSPNET normally contains the response
VMACNSPY time of the last transaction, but a new variable exists,
Feb 12, 1992 LRSPNETV='Y', to flag that the LRSPNET value contains
the calculated average response for the interval. This
is particularly important for LU 6.2 and APPC sessions,
where only the calculated LRSPNET is available. Labels
for LRSPNET and LRSPHOST should have indicated "LAST".
Thanks to Marty Quinlan, Virginia Power, USA.
Change 09.232 Sample tape error report enhanced with a report by device
ANALESV type added, allowing comparisons of errors by different
Feb 10, 1992 types of tapes and drives in your tape pool.
Change 09.231 Revised documentation of DB2 reporting using ANALDB2R,
DOCDB2PM ANALDBTR, and READDB2 members adds new reports and DB2
Feb 10, 1992 2.3 considerations.
Change 09.230 Major enhancements were made to correct a known bug and
GRAFTRND add an additional set of graphs. If you had more than
Feb 10, 1992 18 months of data in your TRNDRMFI dataset, some of the
graphs (Avg vs Max CPU Busy and All Workload Bar charts)
could not be produced because the x axis could not be
fit on most graphics devices. The best circumvention
would have been to use PROC GPLOT and AREA fill but this
proved impractical because if AREAS=16 is specified and
only 5 workloads are present, the entire area of the
graph is filled with the pattern for workload 5. This is
clearly not what you (or we) wanted. Until this is fixed
(if ever) the workload bar charts will be limited to the
past 65 weeks. Why 65? It appears to be the least common
denominator for most graphic devices. 65 bars fit on all
of the devices we have tried. The data to be retained
is constructed based on the data in your TRNDRMFI data.
An MXGNOTE is produced detailing the range of dates in
your TRNDRMFI dataset and, if too much data is present,
MXGWARNINGs are produced outlining the error condition
and what will be done to circumvent the problem. There
will be notes on the SAS LOG that some observations were
missing or out of range. This is normal. When data is
being projected, the actual CPU is missing. The use
of PROC GLM to project using linear regression has been
extended to the workload level (only if you have the
SAS/STAT product.) These graphs are identical to the
current workload graphs except that they carry workloads
forward into the future the number of weeks specified by
WEEKSOUT parameter. As with the other workload charts,
only 65 weeks are charted. If a workload is shrinking,
at the point in time at which it reaches zero or goes
negative, it will be set to missing.
Change 09.229 Support for Memorex Telex Library Management Software
EXLMSADO Performance Monitor (LMS/PM), a significant contribution
EXLMSAIN written by Dan Kaberon of Hewitt Associates, was provided
EXLMSALD to MXG users by Memorex Telex. Not only did Dan write
EXLMSATL this code in MXG style, he also provided Chapter 40 style
EXLMSCHG MXG documentation, which you will find in ADOCLMS.
EXLMSCIN Seventeen datasets are created from the twenty subtypes
EXLMSEJE of the LMS SMF record. See ADOCLMS for more information.
EXLMSENT LMSXX LMS SUBTYPE INVENTORY
EXLMSEVE LMSINIT LMS SUBTYPE 0: LMS INITIALIZATION
EXLMSINI LMSSDOWN LMS SUBTYPE 1: LMS SHUTDOWN
EXLMSISC LMSCHG LMS SUBTYPE 2/12: SETTING CHANGE
EXLMSLIN LMSALDOM LMS SUBTYPE 4: ALLOCATE/DOMAIN STMTS
EXLMSMOU LMSEVENT LMS SUBTYPES 5,13-15: ATL EVENT
EXLMSSDO LMSATLI LMS SUBTYPES 10: ATL INIT
EXLMSUNL LMSADOWN LMS SUBTYPE 11: ATL SHUTDOWN/INACTIVE
EXLMSVER LMSISCR LMS SUBTYPE 19: ATL INTVL SCRATCH STATS
EXLMSXX LMSENTRY LMS SUBTYPE 20: CARTRIDGE ENTERED
IMACLMS LMSVER LMS SUBTYPE 22: CARTRIDGE VERIFY
TYPELMS LMSMOUNT LMS SUBTYPE 21: ATL MOUNT
VMACLMS LMSEJECT LMS SUBTYPE 23: CARTRIDGE EJECTED
Feb 10, 1992 LMSUNLD LMS SUBTYPE 24: UNLOAD
LMSCINIT LMS SUBTYPE 25: CART INITIALIZED
LMSLINT LMS SUBTYPE 30: INTERVAL
LMSAINT LMS SUBTYPE 31: ATL INTERVAL
Change 09.228 DCOLLECT's space calculation for dataset size (DCDALLSP
VMACDCOL in dataset DCOLDSET) is wrong; the total allocated space
Feb 10, 1992 in the dataset records can exceed the allocated space in
the volume record, because IBM uses the wrong track size
in computing the size of the dataset. The unformatted
track capacity is used, instead of the formatted track
size. Changes 9.180 and 9.144 discuss APAR OY36364 which
corrected the track size used in DCOLLECT volume records,
but the correction was not applied to the dataset record.
APAR OY48920 discusses DCDALLSP for 3390s, but it is not
clear if that APAR recognizes the other fields that are
wrong, nor if the fix (when a PTF exists) will apply to
both 3380s and 3390s. Check the status of that APAR.
Thanks to Terry Duchow, Minnesota Mutual Life, USA.
Change 09.227 CICS Exception variables MSWAITCN and TSWAITCN should be
VMAC110 missing, as these values existed only under CICS 1.6. The
Feb 10, 1992 label for MSREQWT now correctly indicates it is the bytes
of main storage acquired only after waiting.
Thanks to Paul Masters, Blue Cross and Blue Shield of Texas, USA.
Change 09.226 WSF timestamp ACCLOGON was incorrectly input as PD4.2; it
FORMATS needed to be input as HH PK1. MM PK1. SS PD2.1. Variable
VMACWSF AUDACT was incorrectly input as $CHAR1. when it should be
Feb 10, 1992 input PIB2. It is removed from the LENGTH statement, and
it is now formatted with MGWSFAC (a new numeric format).
Thanks to Douglas Clarke, General Accident, ENGLAND.
Change 09.225 Revised JCL for MONTHBLD requires only ONE tape drive,
JCLMNTH eliminates many tape mounts (especially if your weekly
Feb 6, 1992 PDBs are multi-volume), and significantly reduces the run
time of the monthly PDB build job. The revision copies
each of the weekly PDBs from tape to temporary DASD (and
selects only the datasets you intend to build monthly),
and then uses those temporary DASD files as input instead
of spinning input tapes back to the beginning of the tape
for each input dataset to be read. The output monthly
PDB is written to tape, on the same drive used to copy
the weekly datasets. As long as you have enough temp
DASD space for the job, this is a much better and faster
method of building your monthly PDB. The revised JCL is
in member JCLMNTH, but the existing member JCLMONTH was
left in the library as well.
Change 09.224 Support for IBM's Production Control System OPC/A Job
EXOPC03 Tracking and Audit Trail Log Records. Twelve datasets
EXOPC20 are created from the standard IBM log records:
EXOPC23 OPCA20 JT STARTED EVENT
EXOPC24a OPCA23 OPERATION EVENT
EXOPC24n OPCA24 MCP EVENT
EXOPC25 OPCA25 SUBMIT EVENT
EXOPC26 OPCA26 AUTO RECOVERY
EXOPC27 OPCA27 MISSED FEEDBACK RECORD
EXOPC28 OPCA28 FEEDBACK RECORD
EXOPC29 OPCA29 AUTO-TRACKED EVENT
EXOPC30 OPCA30 SPECIAL RESOURCE EVENT
EXOPC31 OPCA31 ETT TAB FILE MAINTENANCE EVENT
EXOPC32 OPCA32 AUDIT TRAIL LOG RECORD
EXOPC33 OPCA33 MESSAGE LOG RECORD
EXOPC34 In addition, four user datasets for user log records are
EXOPC35 defined, OPCA00-OPCA03, for sites which write additional
EXOPC36
VMACOPC data records to the log.
TYPEOPC
Feb 5, 1992
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 09.223 Support for Infomation Builder's FOCUS Multi-Session
EXFOCMSO Option accounting SMF record. One dataset is created:
IMACFOCU FOCUSMSO FOCUS MSO Accounting
TYPEFOCU This record provides CPU and EXCP resources and duration
VMACFOCU of session for accounting, in Release 6.5 Level 6 at PUT
Feb 5, 1992 9109. Technical Memo 7857.1 describes the contents.
Thanks to Mike Boyce, Anderson Consulting, USA.
Change 09.222 A vendor's type 39 record was truncated after 46 bytes,
VMAC39 causing INPUT STATEMENT EXCEEDED RECORD LENGTH error. MXG
Feb 5, 1992 now checks for complete header before INPUTing record,
and prints message and dumps record on SAS log instead of
failing with a STOPOVER abend.
Thanks to Connie Wilson, AMR Travel, USA.
Change 09.221 An archaic and confusing comment at the end of this
IMACFILE member was removed.
Feb 5, 1992
Thanks to Connie Wilson, AMR Travel, USA.
Change 09.220 DCOLLECT Migration and Backup datasets have new variables
VMACDCOL UMFLAG1/UBFLAG1 and UMDSORG/UBDSORG. Variables added by
Feb 4, 1992 APAR OY37378 to the Migration dataset were also added to
the Backup record, but were overlooked by MXG until this
change. (Since on one noticed their absence, they must
not be very important, but they are now decoded!)
Thanks to Joe Faska, Depository Trust, USA.
Change 09.219 Minor typo (which caused no execution error). At line 164
VMACSPMS change the three @113's to @113, @115, and @116.
Feb 4, 1992
Thanks to John Chapman, British Gas, ENGLAND.
=======Changes thru 9.218 were included in MXG PreRelease 9.8 ==========
Change 09.218 Preliminary sample code for processing Amdahl's APAF data
IMACAPAF from MVS or VM data was provided by Amdahl. This code is
TYPEAPAF not in the style of MXG, and may be revised to conform to
Feb 2, 1992 MXG architecture, but it arrived in time to save you the
effort of writing it yourself when you install APAF.
Change 09.217 IMS Multi-Trans with only 03/35/31 sequence didn't always
TYPEIMS have accurate SERVICTM and RESPNSTM, whenever the same
Feb 2, 1992 MSGDRRN was reused at a later time for the same ODEST.
First, the INPUT and OUTPUT datasets contained blank
values for DTOKEN (because, from IBM, not all log
records contain a token), and second, the 31I record was
not used to create pseudo 31O and 35O records containing
DTOKEN to correct the INPUT/OUTPUT datasets. Now, 31I
records create both 31O and 35O records so DTOKEN exists,
and just to be sure, INPUT/OUTPUT observations without a
DTOKEN are now deleted before the final merge. Like all
scotch tape and chewing gum fixes to IMS log processing,
I hope this is the last one, and pray that IBM will soon
replace IMS with DB2, since IBM refuses to enhance the
IMS log with discrete transaction resource data.
Thanks to Lynn Delacourt, Volvo Heavy Truck Corporation, USA.
Change 09.216 IMS 3.1 records contain duplicate values of DLRTOKEN, the
TYPEIMS key that is used to match log records together. The new
Feb 2, 1992 "Quick Reschedule" event creates multiple type 07/08 log
records to be created with the same value of DTOKEN, one
pair for each Reschedule. Because MXG expected only one
pair for each DTOKEN value, MXG's IMSTRAN dataset will be
incorrect (generally overreporting IMSCPUTM, DL/I calls,
etc.) without this change. Now, MXG OUTPUTs the first 08
record (the initial program schedule event), totals the
resources in the subsequent multiple 07 records, and then
OUTPUTs the final 07 record of the set with same DTOKEN.
A "Quick Reschedule" occurs when a message region has run
its maximum number of transactions per program schedule,
finds there are more transactions to execute, AND finds
there is no other program waiting on this message region.
Each 08/07 pair contains the resources consumed by all of
the transactions executed by that schedule, and it has
never been possible to measure the resources used by an
individual "multi-sked" transaction; the best we could
ever do was to divide the total resources by the number
of transactions executed during each program schedule.
Now, that "average" resource per transaction is even more
meaningless, since these multiple schedule records now
have to be summed and divided by a larger total number of
transactions. It would have made much more sense, and we
would not have lost ground in resource measurement, if
IBM had been wise enough to create a new DTOKEN value for
each Quick Reschedule.
Added 1999: Variable SCHEDULE in dataset IMSTRAN flags if
the obs was the scheduled or the rescheduled event.
Thanks to J. Cary Jones, Philip Morris, USA.
Change 09.215 BUILDPD3 (JES3 only) enhancement added in MXG 9.5 had two
BUIL3518 occurrences of 26J2 which should have been 26J3 in both
BUIL3606 of these JES3 members.
Jan 31, 1992
Thanks to Paul Oliver, BHP Information Technology, AUSTRALIA
Thanks to Steve Cavill, SAS Institute, AUSTRALIA
Change 09.214 Support for NPM Release 1.5 added seven new datasets:
EX028CM6 NPMCMEXE - Execute commands
EX028LA1 NPMLANAT - LAN Bridge Attach/Detach
EX028LA2 NPMLANCO - LAN Manager Connect/Disconnect
EX028LA3 NPMLANEX - LAN Bridge Monitor Exception/Resolution
EX028LA4 NPMLANIN - LAN Bridge Interval Resources
EX028LA5 NPMLANST - LAN Start/Stop/Alter Collection
EX028NCP NPMNCPCH - NCP Add/Replace/Delete
FORMATS and some new fields and bit values were added to existing
VMAC28 datasets. IBM publication, "Netview Performance Monitor
Jan 31, 1992 Reports and Record Formats Release 5", SC31-6147-0 is the
new documentation for all of the data records created by
this new release. Thanks again to IBM's excellent vendor
support, documentation was made available in sufficient
time to include support for this significant release in
MXG's production version. Unfortunately, no data records
from the new release were provided for testing, so caveat
user!
Change 09.213 Minor cosmetic change to recognize upper or lower case
READDB2 value for "ALL", and to relocate the %INCLUDE until after
Jan 29, 1992 requests have been parsed for efficiency.
==Changes thru 9.212 were included in MXG PreRelease 9.7==============
Change 09.212 Additional pairing logic for SQL trace report IFCID pairs
ANALDBTR were added for DB2 2.3 IFCIDs 170-171,173-176,178-179,and
VMAC102 183, and these IFCIDs are now decoded in VMAC102.
Jan 27, 1992
Change 09.211 Sites that execute BUILDPDB only six days per week will
MONTHBLD need to locally modify MONTHBLD, as it expects seven day
Jan 27, 1992 per week possible execution. One line in MONTHBLD,
(line 003400, DAY=UPCASE(PUT(TODAY,WEEKDATE3.)); ) was
moved to immediately after line 002100, as this creates
the variable DAY containing the name of the day of week.
With that permanent MXG change in place, the changes you
need to tailor in you own sites copy of MONTHBLD are more
compact and logically clearer. There are two changes to
be made by you:
a. Change IF DAY(TODAY) NE 1 THEN DO; to read
IF DAY(TODAY) NE 1 AND
(DAY(TODAY) NE 2 AND DAY NE 'MON') THEN DO;
This permits MONTHBLD to execute either on the first
day of the month, or on the second day of the month
if the first day fell on Sunday (the day you do not
execute BUILDPDB).
b. Insert after LASTDAY=TODAY-1; the statement
IF DAY(TODAY) EQ 2 THEN LASTDAY=LASTDAY-1;
This causes LASTDAY to contain the date of the last
day of the last month, which is then used to set the
_BEGIN macro value for date selection. Note that as
the _END macro value is TODAY, the selection values
will now be correct whether you execute on the first
of the month or on Monday the second day.
Thanks to Phyllis Reedyk, Witco Corporation, USA.
Change 09.210 Continued enhancement of DB2 reporting added SQL trace
ANALDB2R reports, and many additional internal enhancements:
Jan 26, 1992 1.All WARNING or NOTE messages printed on the log by MXG
now print as MXGWARN or MXGNOTE to clarify their source.
2.Internal macros are now documented with update date.
3.All uses of VMXGSUM use the INVOKEBY parameter to message
which report is being generated ("PMACC01 - ANALDB2R").
4.Selection was consolidated into DB2RSELA macro.
5.DB2DBID macro uses T102S105 and T102S107 (IFCID 105,107)
to build a temporary format which maps hex DATABASE and
PAGESET values to their actual names. Under SAS 5.18,
the INSTREAM DD pointing to temporary sequential space
is required, but under SAS 6.06+, the CNTLIN option of
PROC FORMATS is used to create formats directly from SAS
datasets.
6.Reports now check for the existence of required datasets
(as opposed to just zero observations) and messages now
indicate why reports were not produced.
7.PDB=SMF option (produce DB2 reports directly from SMF)
cannot be used under SAS 5.18 (compiler limit) in a 7MB
region. Messages now tell you how to use READDB2 plus
ANALDB2R instead of PDB=SMF to produce almost all reports
directly from SMF if you are still using SAS 5.18.
Change 09.209 DB2 Trending was not adequately tested. In the second
TRNDDB2A and subsequent week's processing, old data was not even
TRNDDB2S carried forward, and timestamps were not set correctly.
Jan 26, 1992
Thanks to Dave Leeker, Southwestern Bell, USA.
Change 09.208 New ESA 4.2 variables R79AIMPL and R79AOMPL have been now
VMAC79 added to the TYPE79A (subtype 10) dataset for the target
Jan 24, 1992 IN and OUT MPLs respectively.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 09.207 Variable RDRTM in TYPE30 was always missing after Change
VMAC30 9.102 because the test in line 075198 should also have
Jan 24, 1992 tested for SUBTYPE NE 1 to detect the MULTIDD condition.
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 09.206 Variable EXCMNTYP in dataset CICSEXCE (CICS Exceptions)
FORMATS did not describe the exception type because it was kept
VMAC110 in one byte instead of two. In the LENGTH statement, it
Jan 24, 1992 must be $2. instead of $1. Additionally, the $MG110EX
format in member FORMATS should have been '01X:' instead
of the obvious typographical error '02X:'
Thanks to Bill Hess, Belk Stores, USA.
Change 09.205 This code referenced formats $TABSYS and $FORHEX that are
ANALRACF not in the member. $TABSYS has been replaced by $4., and
Jan 14, 1992 $FORHEX (which converted hex strings to numerics) was
replaced an equivalent algorithm.
Thanks to ???, Alm. Brand, DENMARK.
Change 09.204 Dataset RMF72D NOT SORTED message can result if IMACRMFI
RMFINTRV has been used to re-define the startime of your RMF data,
Jan 14, 1992 since STARTIME is both being changed and in the BY list.
Insert:
PROC SORT DATA=RMF72D %VMXGFOR;BY SYSTEM STARTIME;
immediately before the PROC MEANS NOPRINT DATA=RMF72D;
to ensure that RMF72D is always sorted.
Thanks to Bill Stoneberg, National-Oilwell, USA.
Change 09.203 CA7 corruption of TSO/MON READTIME was only partially
VMACTSOM corrected in MXG 8.8 by Change 8.209. That change should
Jan 14, 1992 have also been applied to the second correction of the
CA7 corruption, lines 076500 and 076800.
Thanks to Paul Hill, Midland Bank, ENGLAND.
Change 09.202 Preliminary support for JES3 Monitoring Facility (JMF)
FORMATS type 84 SMF record. There are nine subtypes, and only
TYPE84 subtype 5 has been addressed thus far, and not even all
VMAC84 of the sub-subtypes are yet coded. This change will
Jan 13, 1992 extend over time.
Thanks to Jonathan E. Paley, Massachussets Mutual, USA.
Change 09.201 A cosmetic change. Variable RECNR should have been
VMAC6156 RECNR156 in line 013400.
Jan 13, 1992
Thanks to James F. Cook, CocaCola Company, USA.
Change 09.200 Support for Emc2/TAO (Fischers Totally Automated Office)
FORMATS Release 3.3.0 SMF record. The new release switched the
VMACTAO database reads and writes, but was otherwise implemented
Jan 12, 1992 compatibly. This support also added format MGTAOTC and
decoded three bitstrings into new variables.
Thanks to Joe Aldrich, Army and Air Force Exchange Service, USA.
Change 09.199 This member creates reports for use at IBM's SNAP/SHOT.
ANALSNAP The SNAP/SHOT report is created from MXG's TYPE30_5 data.
Jan 11, 1992 A DASD farm report was created from DMS DSINDEX report.
A report from CA-11 (JEHF Version 2) was developed.
Mantissa run tracking file formats for RMS/BASIC are
provided, and the TMC file was used for tapes (MXG's
TYPETMS separately processes that data). These reports
could save you lots of time if you plan to model your
workload with SNAP/SHOT (and look at TYPETPNS which will
analyze the TPNS log produced by SNAP/SHOT!)
Thanks to John Leath, Fleet Real Estate Funding, USA.
Change 09.198 IMS Fastpath transactions are now supported, thanks for
TYPEIMS the diligent research of the three authors of this very
VMACIMS significant contribution. VMACIMS now creates temporary
VMACIMS datasets IMS5901,03,36,37, and 38 from those subtypes of
Jan 11, 1992 the 59x log record, and TYPEIMS has additional logic at
the end to sort and combine these to create the IMSFASTP
fastpath dataset (and IMS5838 with syncpoint failures.
Not only has this code been in production (IMS 2.2 & 3.2)
for over a year, its output has been validated with IBM's
DBFULTA0, and these author's comments in member TYPEIMS
are an excellent mini-tutorial on IMS Fastpath.
(Usually ANY activity in IMS makes my stomach hurt, as
there just isn't any documentation or help from IBM.
This contribution was done so well that my stomach
feels like it just received a piece of cake! Thanks!)
Thanks to Lars-Olof Thellenberg, Forsta Sparbanken, SWEDEN
Thanks to Goran Zebuhr, Forsta Sparbanken, SWEDEN
Thanks to Sven Agrell, Forsta Sparbanken, SWEDEN
Change 09.197 A sample report using TYPE30_4, TYPE30_5, and TYPE30_D
ANAL30DD datasets to report on all your active ddnames by job.
Jan 10, 1992 The comments in the member describe how to use ANAL30DD.
Thanks to Phil Mason, ANZ Bank, AUSTRALIA
Change 09.196 Support for LLA exits CSVLLIX1 and CSVLLIX2 are added in
ANALLLA this significant user contribution. Member ASMLLA is the
ASMLLA ASM source for the two exits that will capture LLA module
IMACLLA accesses and create a user SMF record. Members IMACLLA,
EXLLAEX1 EXLLAEX1,TYPELLA, and VMACLLA are the MXG members to read
TYPELLA those SMF records and create dataset LLAEXIT. The final
VMACLLA member, ANALLLA, provides some sample reports on LLA. Be
Jan 10, 1992 very careful as these exits can create many SMF records!
Thanks to Ken Williams, ANZ Bank, AUSTRALIA
Thanks to Peter Beer, Amdahl AUSTRALIA
Change 09.195 SAS can write zero-length VB or VBS records to a FILE
IMACFILE statement, and files containing zero-length records may
VMACSMF cause other programs (specifically, DFSORT) to fail. The
Jan 10, 1992 problem was precipitated by MXG's change in VMACSMF to
Feb 9, 1992 PUT a new message to the SAS LOG telling you how many
megabytes of SMF data had been read. In that message
there is // (two skip to the next line on the log).
The site had used IMACFILE to write selected SMF records
to an external file using FILE SMFOUT; PUT _INFILE_;
The SAS log showed "minimum record length 0" to SMFOUT!
The FILE SMFOUT had changed the destination for all PUTs
from the LOG to SMFOUT, causing the MXG message and its
// to be written as a length zero record to SMFOUT!
The real error was in not recognizing that any FILE
statement changed the destination for all subsequent PUT
statements, and the moral therefore is to ALWAYS follow
any FILE/PUT statement that you add to MXG with a FILE
LOG statement to reset the destination for PUTs. The real
error was MXG's failure to reset the log in VMACSMF; that
has been done. Change 9.087 originally discussed the need
for the FILE LOG; statement, and the new "megabytes" note
was added by Change 9.094.
Thanks to Keith Stout, City of Anchorage, USA.
Change 09.194 Support for NOMAD Session Manager SMF record is added by
EXNSMCON this significant user contribution. Three datasets are
EXNSMPRC created: NSMCON, NSMPRC, and NSMTRM, and you specify the
EXNSMTRM SMF record ID in MXG member IMACNSM.
IMACNSM
TYPENSM
VMACNSM
Jan 9, 1992
Thanks to David B. Adams, National Life of Vermont, USA.
Change 09.193 Three occurrences of $CHARZB43. should be $CHARZB44. so
VMXGHSM all 44 bytes of the dataset name are captured in the
Jan 9, 1992 MCDDSN variable.
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 09.192 User of Amdahl Cache Controllers will thank Dick Sziede
ADOCSPMS for his excellent paper "A Look at Cache Performance Data
Jan 9, 1992 for the Amdahl 6100" which is contained in this ADOC.
The member is not complete, but his discussion of what's
good and what's bad is must reading for SPMS users.
Thanks to Richard R. (Dick) Sziede, PRC Inc, USA.
Change 09.191 Members ADOCDB2 and ADOC102 completely describe each of
ADOCDB2 the variables created by VMACDB2 and VMAC102 in DB2ACCT,
ADOC102 DB2STAT0, DB2STAT1, and all 200 of the T102.... datasets.
ANALDBTR The variable-level documentation is complete, but there
FORMATS is still substantial writing to finish before theses two
VMACDB2 ADOCs are completed. It is the process of documentation,
VMACDB2H however, that uncovers inconsistency in formats, names,
VMAC102 labels, etc., and that has been completed. Additionally,
Jan 12, 1992 some datasets that formerly created multiple observations
per SMF record were revised to create a single obs with
multiple variables, so that the SQL trace logic to match
begin and end would be more straightforward. These notes
identify the highlights of this significant enhancement:
1.Variable QWHSIID was added to DB2ACCT/STAT0/1 datasets to
eventually replace incorrectly spelled QWHSSIID. MXG will
now use QWHSIID for IFCID variable in 100,101 and 102.
Both variables continue to exist in DB2ACCT/DB2STATn for
backwards compatibility.
2.Format MGDB2ID replaced with MGDB2II.
3.DB2 database "Object IDs" (PSID,OBID,DBID,ISOBID) are all
now consistently $CHAR2 with format $HEX4, and the labels
are now consistent and accurate. Seven variables had to
be changed from numeric to character: QW0023PD,24PD,25PD,
44KD,44KP,143PS, and 144PS.
4.SQL statement type exists in two different formats. A one
byte character value is found in IFCIDS 59-62 and 64-66
that is decoded by an expanded MGD062S format. A four
hex digit numeric value is found in 124, 145, and 145
IFCIDs that is decoded by an expanded MG145S format.
5.Variable QW0032AR should not have existed; QW0032FT is
the name of the field (QW0032AR is an EQU value!).
6.Variable QW0145TS was changed from numeric to $CHAR8 and
formatted $HEX16 so all 'PRECOMPILER*TIME*STAMP' fields
(in IFCIDs 53,58,59,60,61,64,65,66)are now character.
If I can find out how to decode this timestamp (a hex
value of '148CDFEF19AC29AC'X, for example), all these
variables will be decoded into numeric datetime values!
7.Variable QW0063HL was not kept but should have been, and
is formatted by new $MGD063H.
8.Variable QW0063OT is now formatted $HEX2. The MGD060O
format formerly used did not correctly decode the multi
valued bit fields, and is no longer used.
9.MXG 9.5 created observations for new IFCIDs 126-139 and
170-194 even without any 102 records because the OUTPUT
statement for these IFCIDs was missing in VMAC102.
10.Datasets T102S018,T102S053,and T102S058 formerly had one
or two observations per SMF record, one for index and one
for data. This change eliminates the second record by
putting the data portion counts in QW00.... variables,
and by putting the index portion counts in QW0I.... names
so that pairing these three records with their partners
in ANALDBTR can be more easily/accurately accomplished.
Variable SDSNUM, a sequence counter, is thus no longer
required in these datasets and has been dropped.
11.ANALDBTR was revised to pair 044/045 data, to create
additional datasets (S018S018 and S058S058) for unpaired
ends, and to keep only the first segment of 063 data,
all in support of SQL trace reporting.
12.VMAC102 was revised to create single observations for
IFCIDs 13,15,and 17. Previously, one observation for each
predicate was created. Now, the up-to-ten predicates are
stored is sets of variables. The first set is prefixed
QW0013, the second set QW0A13, the third QW0B13, etc.
13.VMAC102 was revised to create single observations for
IFCIDs 58-62 and 64-66; previously they could have one
or two observations describing DATA and/or INDEX activity
due to SQL statements, but now the QW00nn variables have
the data activity, while new variables QW0Inn contain the
index activity. This made matching begin and end of SQL
events much simpler in ANALDBTR.
14.The only IFCIDs that create multiple observations now are
22 (one miniplan per table per subselect block), 63 (one
per each 200 bytes of SQL statement text), 126 (one per
each index used to obtain candidate RIDs, up to 16), 145
(one per Audit Log Table), 148 (only for distributed
allied agents, R8O one per conversation, R9O, one per
location), and 191 (one per parse, up to 5).
14.VMAC102 and VMACDB2 labels and formats were revised to
be consistently spelled, etc.
15.ANALDBTR, the routine which matches pairs of trace data,
is now a %MACRO which invokes the old-style _nnnPAIR
macros. This change added flexibility to its use and its
invocation inside %ANALDB2R reporting.
16.VMACDB2H now creates variable QWHDYES, indicating that
there was a distributed header, and which is now used in
VMACDB2 to create new variable THREADTY (formatted with
$MGDB2TT) to describe the type of thread (Allied, Allied-
Distributed, DBAT (Database Access) or DBAT-Distributed).
Thanks to Debby Meister, Loews Corporation, USA.
Change 09.190 -CICS 3.2.1 statistics records were not fully supported.
VMAC110 STID=63 (CICTM) record contains sixteen tables, but only
Dec 27, 1991 the first twelve were kept by MXG prior to this change.
Seven records (that contained only totals) are no longer
created by IBM (because they are redundant with their
corresponding detail record) and thus these MXG datasets
always contain zero observations: CICTST(STID=5),CICTCT
(35),CICLSRT(38),CICLSRFT(41),CICCONST(53),CICTCLT(59),
CICFCT(68),CICCONMT(77). (Their detail dataset names
are minus the ending "T".)
-IBM added two undocumented bytes in the STID=57 (CICSDS)
record, which corrupted the CPU times in CICSDS dataset,
and in the CICINTRV, etc., datasets created from it. The
two bytes added for alignment (immediately before the
repeating DSECT) are not documented in DFHGSGDS. And in
an unrelated change, CICS APAR PN02625 removes two filler
bytes following DSGNTCB, but did not update the STIVERS
version indicator, so there is no direct way to know what
length record to expect! As a result, MXG protects for
none, two, or four filler/alignment bytes in this record.
-IBM documentation for statistic record STID=49 is wrong.
DSECT DFHA13DS describes STID=49 as containing 39 bytes,
but actual data records have STILEN=40; a one-byte field
(reserved) following A0013BFC is not described in that
DSECT (the only IBM documentation of the record!). IBM
will correct their error (eventually) with a doc APAR.
How can the record disagree with the DSECT you might ask?
Because IBM records are built by PL/S DSECTS, but IBM
documents with ASM DSECTS that are never actually used!
-Two occurrences of broken CICS 3.2.1 records were found
with only 80 bytes of data. MXG new detects the short
record, messages to the log, and avoids STOPOVER ABEND.
Thanks to Lee F. Johnson, Talbots Systems Center, USA.
Thanks to Bruce W. Galle, Talbots Systems Center, USA.
Change 09.189 Processing VVDSs previously failed with a USER ABEND 666
ASMVVDS when ASMVVDS tried to read a VM system volume that was
Dec 20, 1991 online to MVS (because the volume does not have a normal
VTOC/VVDS). Now, instead of the ABEND, the program puts
out a message that the OBTAIN macro failed for that UCB
(DEVNR), and then continues to process additional UCBs.
Thanks to Chris Taylor, First Wachovia Bank, USA.
Change 09.188 VVDS support skipped over VVRTYPE='D5'X because the test
VMACVVDS in line 017100 was mistyped as ='D5' instead of ='D5'X.
Dec 20, 1991
Thanks to Chris Taylor, First Wachovia Bank, USA.
Change 09.187 Support for ASTEC Version 1.5. Several new fields were
VMACDMON added (incompatibly) to the SMf record. This support was
Dec 16, 1991 actually shipped in MXG 9.5, but this change was not in
member CHANGES of that library.
Thanks to Joe Faska, Depository Trust, USA
Change 09.186 VPD type E records caused STOPOVER ABEND because variable
VMACVPD VPDRSVR2 should have been input as $CHAR11. instead of
Dec 16, 1991 $CHAR12. (line 014200).
Thanks to Jim Nicholas, Mead Data Central, USA.
Changes thru 9.185 were contained in MXG PreRelease 9.5, Dec 1, 1991
Change 09.185 Change 9.164 was a major restructuring of ANALDB2R, and
ANALDB2R had not been sufficiently tested for all DB2 reports.
ANALDBTR Using SAS 6.07 (and reading all of the SAS messages on
Dec 1, 1991 the log!) not only corrected UNINITIALIZED variables, but
the 6.07 feature which warns of unreferenced variables in
the KEEP= list caught a number of mispellings in some of
the type 102 trace reports. SAS 6.07 furthermore found
a syntax error that SAS 5.18 had accepted! This was an
another superb contribution from Koln.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 09.184 Several important variables have now been added to the
EXRMFINT TYPE70 and RMFINTRV datasets for MVS/ESA and PR/SM data.
EXTY72 1.If PR/SM data section is found in type 70 (PR/SM, MLPF,
RMFINTRV or MDF) records, both the Partition Dispatch (PDTM) and
VMAC7072 Effective Dispatch (EDTM) are carried into the TYPE70
Nov 28, 1991 dataset. MXG continues to calculate PCTCPUBY based on
Sep 21, 1994 Partition Dispatch Time for consistency, but now provides
PCTCPUEF, based on Effective Time, which matches the RMF
reported "CPU Busy" under PR/SM. The individual LCPUs
times are in new variables CPUPDTM0-8, CPUEDTM0-8, and
totals across all LCPUs are in CPUACTTM and CPUEFFTM.
2.RMFINTRV was enhanced to provide the three new CPU times
(HPT,IIP,RCT) in each set of workload variables and their
total for each workload. New variable BATCPU is the sum
of existing BATTCB,BATSRB plus BATHPT,BATIIP, and BATRCT.
Total CPU times are also kept in CPUTM, CPUHPTTM,CPUIIPTM
and CPURCTTM variables.
Next paragraph revised in 1994:
ACTFRMTM replaced MSOUNITS as a metric in 1994:
Additionally, in each workload, the memory is now
calculated (Central+Estore) from ACTFRMTM in bytes in
BATMEMR, CICSMEMR, etc. (but recall that ACTFRMTM does
not include logically swapped pages nor the nucleus, LPA,
nor CSA). This is a much better indicator of memory
utilization than AVGMEMSZ, which is based on MSOUNITS as
discussed in prior newsletters. And the total memory of
all workload's memory is variable TOTMEMR.
3.See the MVS Technical Note on CPURCTTM in Newsletter 21.
It is unmodified in the TYPE72 dataset, so you can see
how wrong it is, but it is now subtracted from CPUTM in
EXTY72 (temporarily, until a PTF exists). This will
prevent negative overhead calculations in RMFINTRV due
to the wrong value of CPURCTTM until fixed by IBM.
Change 09.183 DB2 variable QWHSSTCK is now formatted DATETIME22.3 so as
VMACDB2 to show the milliseconds. Sites using DB2 trace found
VMAC102 the increase in printed resolution useful for tracking
Nov 28, 1991 detail event sequences.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 09.182 Heavy validation of TYPEIMS from MXG 9.2 uncovered still
VMACIMS additional idiosyncrasies and undocumented Enqueue record
TYPEIMS flags in this significant contribution. In VMACIMS,
Nov 28, 1991 35x records with ENQFLAG=04C or 08C and FLAG2=08 are now
added to IMS35P. This site uses Terminal-Databases with
SPA-information and a Code-Information in the INPUT msg
to jump from one transaction to another, which are now
supported by additional logic, even when outputs do not
match inputs. Compare criteria using LOGONID and ODEST
do not work if there is no external LOGON-processing,
(DEQTIME was always equal to OGUTIME), but by using
CLINENR instead, and revising the MERGE logic, this
case appears to be now protected as well. However, as
past history indicates with IMS, what works at several
sites may not always work at all sites, so please verify
your output if you must process IMS log data.
Additional cosmetic changes were a new message that tells
you how many megabytes of IMS log data MXG read in, and
if invalid 035x records are found, a hex dump of the
record is printed on the log for Merrill debugging!
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 09.181 -IBM APAR PL83370 adds new field STATCTM1 to CICS/ESA type
IMACICDB 110 DBCTL segment. However, since the APAR does not say
VMAC110 where the field was added, I had to assume it's at the
Nov 27, 1991 end of the known fields (in the 96 skipped bytes).
This new field captures the IMS CPU time in DRA thread
TCBs (but not time spent in the control region, as DBCTL
cannot capture that CPU time). Originally, IMS 3.1.0 did
not provide CPU time for threads because the original
design provided for an alternate method called "commit-
continue"; late in the release, a decision was made not
to support the commit-continue, and nothing was provided
in its place. Now, STATCTM1 has been provided to capture
the CPU time spent in the DRA thread TCB from the begin
of schedule request to the release of the PSB (any SYNC
POINT that also says 'TERMINATE TCB'), using existing
STIMER and TTIMER cancel code in DRA.
STATCTM1='ELAPSED UOR*CPUTIME FOR*THREAD TCB'
-This APAR also corrects the value in STATDBIO: IBM code
existed to catch the SLOG22/SLOG23 pair (OSAM buffer
handler) and count it as one Database I/O, but there was
no code to catch the SLOG24/SLOG25 pair (VSAM buffer
handler). The DBIO field is also copied into the IMS 07
log record, so now that field will also be valid.
-The APAR text also states that the new CPU time, STATCTM1
is added to the IMS log Type 07 record as field DLRTIME,
but I need DSECTS to find out where, before I can update
TYPEIMS (and there'll be a change for TYPECIMS too!).
Thanks to Philip Schwartz, United Parcel Service, USA.
Change 09.180 A volume with 1,260,487,800 bytes capacity (tracks times
VMACDCOL formatted track capacity) was reported by DCOLLECT as
Nov 26, 1991 having a capacity of only 1,260,487,680, a loss of 120
Feb 10, 1992 bytes. The error was thought to be truncation because
the variable was stored in 4 bytes, and in Nov, these
variables were changed to be stored in 8 bytes:
DCDALLSP DCDSCALL DCDUSESP DCVALLOC DCVFRESP DCVLGEXT
DCVVLCAP UBDSIZE UMALLSP UMDSIZE UMRECSP UMUSESP
Now, the truth is known, and there was no MXG error. The
DCOLLECT data field is in kilobytes and not bytes, and
thus the values reported by DCOLLECT will be the nearest
multiple of 1024 bytes that is smaller than the true
value. The extra 120 bytes exist on the volume, but will
never be reported by DCOLLECT!
Thanks to Terry Duchow, Minnesota Mutual Life, USA.
Change 09.179 PR/SM TYPE70PR summary PDB.ASUM70PR and trending TRND70PR
ASUM70PR datasets were correct if NRPRCS (number of partitions
TRND70PR running or defined) was equal to PARTNCPU (number of
Nov 25, 1991 physical processors), but PCTLnBY calculations were wrong
otherwise, and produced logical busy percentages instead
of percent of physical busy that was intended. Now, the
calculations use PARTNCPU so the PCTLnBY measures real
hardware CPU utilization of your PR/SM or MLPF box.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 09.178 DB2 2.3 SMF type 102 records were changed incompatibly on
VMAC102 Nov 12. (DB2 2.3 just became available Oct 28!). Fields
Nov 25, 1991 were added to IFCIDs 28, 96, 140-142, and 145 (and are
now supported by MXG). IBM provided documentation that
was good and timely for this change.
Change 09.177 MXG PreRelease 9.4 produced zero observations in DB2data
VMACDB2H sets, with no error message. A last-minute "cosmetic"
Nov 25, 1991 change to label the new 2.3 variables corrupted the code.
(The last 32 lines, starting at line number 01860000 must
be moved to after line 005500).
Thanks to Ted Garner, First Union, USA.
Change 09.176 IMS Abend condition codes were always blank, and because
TYPEIMS Change 9.106 was incorrectly located in MXG 9.3, the
Nov 28, 1991 resources for multi-trans were incorrect.
Thanks to Pete Shepard, Ashland Oil, USA.
--Changes thru Change 9.175 were in MXG PreRelease 9.4 dtd Nov 15, 1991
Change 09.175 BUILDPDB has been significantly enhanced. DB2ACCT/STAT
BUILD518 datasets are now added to your PDB from type 100/101 SMF
BUILD606 records. SAS 5.18 users should be able to add many more
BUIL3518 SMF records to their PDB before a SAS 344 Compiler error
BUIL3606 is encountered. However, this change is INCOMPATIBLE for
BUILDPDB SAS 5.18 sites; a new DD statement is required in the JCL
VMACDB2 for the BUILDPDB/3 step (only for SAS 5.18):
VMACSMF
Nov 15, 1991 //SMFTEMP DD UNIT=SYSDA,SPACE=(CYL,(20,20))
An additional INCOMPATIBILITY exists for all BUILDPDB/3
sites that have added DB2 processing to their PDB (this
would have been done by editing members EXPDBINC,EXPDBVAR
EXPDBCDE and EXPDBOUT members as described on pp 134ff of
the MXG Supplement). If you have added DB2 processing,
it must be removed or BUILDPDB will syntax error.
This redesign was caused because the "vanilla" BUILDPDB
in MXG 9.4 could not be compiled under SAS 5.18. The
additions for MVS/ESA, CICS/ESA, etc., added iterative DO
statements, causing a SAS 5.18 "344 Compiler Error". To
circumvent this error, now, (for SAS 5.18 only), MXG
writes RMF 71 and 73-78 records to the (new) SMFTEMP file
while reading your SMF input, and then executes a second
data step to process that small SMFTEMP file. (Type 70,72
records are not split out, because type 30 processing
needs IOCCOEFF to calculate EXCPRMF!). Splitting the
data step reduced the number of iterative DO statements,
avoiding the "344 Error" for sites which have added other
SMF record processing (using the MXG Exit Facility, pages
134-140 of the MXG Supplement). The circumvention that
was previously described in Change 7.038 (in CHANGE07) is
no longer applicable (except for the possible use of the
XMAC7072 member), since MXG has split the RMF processing
out. Since RMF data is not large volume (perhaps 9MB
per day per system at 15 minute intervals), there is very
little increase in processing time.
Unfortunately, this elimination of the 344 SAS error may
only serve to uncover yet another SAS 5.18 limitation. A
160 SAS error occurs if the total length of all variables
in a SAS data step exceeds a SAS 5.18 internal limit, and
there's NO circumvention for the 160 error. If received,
you must remove some of your additional SMF records from
the EXPDB.. members, and instead use IMACFILE member to
write your SMF records the SMFTEMP DD, which can then
be processed in a subsequent step of your job. (Or, you
can use SAS 6.06/6.07 for just the BUILDPDB step and use
a LIBNAME statement to build your PDB datasets in SAS
version 5.18 format).
Note there is no change for SAS Version 6; the compiler
limit does not exist in SAS Version 6, and BUILDPDB logic
uses %MACROs to detect you are executing under Version 6,
and MXG processes all SMF data in one pass; there is no
need for the SMFTEMP DD name under SAS 6.07/6.07.
Adding DB2 processing had been desired for some time, but
because of the 5.18 problems, it could not be easily done
until now.
Change 09.174 Divide by zero error occurred for the type 79 record for
VMAC79 the interval in which the clocks were set back this Fall!
Nov 14, 1991 The record had a duration of 0 seconds after the operator
changed the clock. Now, divides by DURATM are checked to
be non-zero before the divide. Also, RMF 3.5.1 caused a
STOPOVER on type 79 subtype 3 that is now protected.
Thanks to Fred Fettinger, Rockwell Graphic Systems, USA.
Change 09.173 Support for LEGENT's MIM (Multi-Image Manager) user SMF
EXTYMIM records was added by this user contribution. A single
IMACMIM dataset, MIMTAPE, is created from this record.
TYPEMIM
VMACMIM
Nov 14, 1991
Thanks to Doug Drain, National City Bank, USA.
Change 09.172 Support for Softtool Corporations's CCC (Change and
ANALCCC Configuration Control software is added by this user
EXTYCCC contribution. Example reports are also provided, but
IMACCCC will require an installation format for processor power.
TYPECCC
VMACCCC
Nov 14, 1991
Thanks to Sue Swayne, Inland Revenue (UK), Worthing, ENGLAND.
Change 09.171 The collection of RACF reports added by change 9.064 had
ANALRACF invalid concatenation symbols (because the code went
Nov 12, 1991 from MVS to a PC and back!). The reports were also
slightly revised and enhanced.
Thanks to Duncan McKellar, Inland Revenue (UK)
Thanks to Neil Campbell, Inland Revenue (UK)
Thanks to Dave McLaughlin, Inland Revenue (UK)
Change 09.170 FTP SMF records produced no observations because test to
VMACFTP ensure there was data was incorrect. Eleven occurrences
Nov 12, 1991 OFFDATA+(NRDATA*LENDATA) LE LENGTH THEN ...
must each be changed to
OFFDATA+(NRDATA*LENDATA) LE LENGTH+1 THEN ...
Thanks to Kueller, Spardat Wien, AUSTRIA.
Change 09.169 TYPE59 variable QUEUTIME was not formatted DATETIME21.2,
VMAC59 nor was it set to stored length of 8 bytes, but now it
Nov 12, 1991 is!
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 09.168 A CICS region ABEND caused Landmark to write a "trashed"
TYPEMON8 record that contained invalid values for the offset to
Nov 11, 1991 variable segments. Because MXG did not validate that
the offset value was actually in the record, MXG failed
(with "INPUT STATEMENT EXCEEDED RECORD LENGTH"). There
are three DO statements that need to be protected. Find
the following 3 DO statements in TYPEMON8, and insert
the four lines of protection preceding the existing DO
statement:
IF FILECOL+FATNUM*TAFATLEN GT LENGTH+1 THEN D0;
PUT 'BAD RECORD FOUND AND DELETED '; LIST;
DELETE;
END;
DO FILESEG=1 TO FATNUM;
IF UATCOL+UTNUM*TAUATLEN GT LENGTH+1 THEN DO;
PUT 'BAD RECORD FOUND AND DELETED '; LIST;
DELETE;
END;
DO USERSEG=1 TO UTNUM;
IF MROCOL+MRONUM*TAMROLEN GT LENGTH+1 THEN DO;
PUT 'BAD RECORD FOUND AND DELETED '; LIST;
DELETE;
END;
DO MROSEG=1 to MRONUM;
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 09.167 Support for Codework Software's SNAPAD-MVS product user
EXSNAPAD SMF record. SNAPAD lets mainframes talk to X.25 packet
IMACSNAP switching networks. Feb 20, 1992: This code has now
TYPESNAP been tested and verified, superceeding the note in this
VMACSNAP change printed in Newsletter TWENTY-ONE.
Nov 10, 1991
Thanks to Dennis Uy, Asian Development Bank, PHILIPPINES.
Change 09.166 MXG incorrectly calculated Full Duplex line utilization
VMAC28 PCTBUSY. For half duplex, the calculation was correct.
Nov 10, 1991 Since a Half Duplex line has only one set of buffer for
both send and receive, MXG summed the send and receive
bytes and divided by the send (primary) line speed:
PCTBUSY=800*(BYTSPRSC+BYTSSCPR)/(NCPTM*NPMPLS);.
(The 800 is used because line speed is in baud).
But for a Full Duplex line, there are 2 sets of buffers,
one for send and the other for receive. Thus there are
two separate utilizations that can be calculated. Since
the purpose of PCTBUSY is to identify utilization, and
since the line is out of speed when either its send or
its receive utilization is 100%, MXG now calculates the
PCTBUSY for full duplex as the Maximum of the send or
receive (primary or secondary) utilization:
PCTBUSY=MAX(800*BYTSPRSC/(NCPTM,NPMPLS),
800*BYTSSCPR/(NCPTM,NPMSLS));
MXG's previous calculation for Full Duplex turned out to
be the average of the send and receive utilizations, and
thus underreported the typical utilization in which one
direction predominates.
Thanks to Lee Lik Cheung, DBS Bank, SINGAPORE.
Change 09.165 Support for LEGENT's LANSPY component of NETSPY 4.1 that
EXNSPYLF captures LAN resources and responses in five new MXG
EXNSPYLG datasets. LANSPY creates record segments even when
EXNSPYLL there was no activity on the LAN, but MXG only outputs
EXNSPYLR observations if the activity counts are non-zero (the
EXNSPYLS decision logic is located in the Exit member EXNSPY..).
VMACNSPY This support has been tested with actual LANSPY data,
Nov 10, 1991 thanks for excellent vendor support from Legent.
Change 09.164 This change is primarily internal in that most user will
ANALDB2R not explicitly see these changes, but they are under the
READDB2 cover significant enhancements to DB2 processing. In
VMAC102 VMAC102, new macros of the form _LTRccnn now are defined
Nov 8, 1991 that are the list of the IFCIDs in each trace class.
These list macros are then used by the new READDB2 macro
(invoked by ANALDB2R when PDB=SMF is specified) so that
MXG only processes the IFCIDs that are needed, based on
the reports you have requested. You no longer have to
manipulate member IMAC102 to process trace records, and
this re-design should execute significantly faster.
Note that READDB2 can be invoked independently if you
wish to create datasets from subsets of DB2 data; it
is self documenting. The old keyword parameter names
for trace class selection (DB2TC1-DB2TC16, etc.) do not
exist (they were replaced by the new TRACECLS parameter),
and you will get "KEYWORD PARAMETER NOT DEFINED" errors
if your ANALDB2R invocation uses the old names.
Change 09.163 Trend Data Base updates. DB2ACCT, DB2STAT0, DB2STAT1
TRNDDB2A have been updated to add some new DB2 2.3 variables for
TRNDDB2S identification, if they exist (i.e., when you have DB2
TRND70 2.3 data. New member TRND70 trends RMF TYPE70 dataset.
Nov 8, 1991
Change 09.162 Cosmetic (but then looks do count!). TYPE22_A bit maps
VMAC22 of 3390-3 status should have been formatted $HEX2./$HEX4.
Nov 8, 1991 Now they are correctly formatted to describe status bits.
Thanks to Harry Price, Florida Power and Light, USA.
Change 09.161 CICS/ESA only, DBCTL EMP data only. In IMACICDB, the +98
IMACICDB after STATBFWT should have been +100 (but this would have
VMAC110 only caused a problem if you had additional user data
Nov 8, 1991 after the DBCTL EMP - if you did and decoded that user
data you will have been off by two bytes in your code).
However, IBM has added a new field in those former +100
bytes, so this change in IMACICDB replaces the old +98
with STATUSSN PIB4.
+96
and adds a label STATUSSN='USSN*NUMBER'. In VMAC110, the
new variable is added to the KEEP= list for CICSTRAN.
Thanks to Barry Pieper, First Bank Minneapolis, USA.
Change 09.160 MXG 9.3 only, VMXGVTOF processing of ASMVTOC output will
VMXGVTOF cause "Invalid data for STARTIME" because the variables
Nov 6, 1991 UNITADDR, UCBTYPE and STARTIME (added by Change 9.099)
were off by one byte. The input @151, @154, and @158
for those three variables must be @152, @155, and @159.
Thanks to Normand Poitras, Teleglobe Canada, CANADA.
Change 09.159 A potentially serious error in VTOC/VTOF processing (only
VMXGVTOC under SAS 5.18, not under SAS 6.06+) has been found. The
VMXGVTOF error appears to have been introduced in MXG 7.2 (October
Nov 6, 1991 1989!). If you have this error, dataset VTOCLIST will
describe only the space used by the first three extents!
You have the error if VTOCLIST variable NREXTNTS (extent
count in the DSCB1) is greater than variable NUMEXT (MXGs
count of extents). The logic error is the location of
the CALL SYMPUT; it is now known that under SAS 5.18 the
CALL and STOP must be located after the SET statement for
the below logic to have ever worked:
DATA _NULL_;
POINT=1;
CALL SYMPUT('MXGOBS',PUT(NOBS,7.0));
STOP;
SET DSNAMES POINT=POINT NOBS=NOBS;
RUN;
%IF &MXGOBS EQ 0 %THEN %LET I=11;
Because the CALL was mislocated, &MXGOBS was always zero,
causing MXG to prematurely terminate extent processing.
(Under SAS 6.06, it turns out, the logic worked!). But
the following logic is more straightforward and has now
replaced the above logic in VMXGVTOC and VMXGVTOF:
DATA _NULL_;
IF EOF THEN CALL SYMPUT('MXGOBS','0');
ELSE CALL SYMPUT('MXGOBS','1');
STOP;
SET DSNAMES END=EOF;
RUN;
%IF &MXGOBS EQ 0 %THEN %LET I=16;
Additionally, the %DO statement twenty lines before this
code was changed to 15 instead of 10 (which corresponds
to changing the %LET I= value from 11 to 16), because it
is theoretically possible to require up to fifteen passes
of the extent merge (I've not seen more than two needed).
The actual change in MXG is more extensive; in addition
to the above logic changes, NREXTNTS is now compared to
NUMEXT and an error message produced on the log if data
has been lost (and some of the work dataset names used
in the matching process were renamed to make diagnosis
of any future problems more tractable).
Thanks to Joseph Rannazzisi, Brooklyn Union Gas, USA.
Thanks to Al Acosta, Brooklyn Union Gas, USA.
Change 09.158 The NETVIEW VPD record type "E", end subrecord STOPOVER.
VMACVPD Variables VPDRSRV1 and VPDDCCAL must be $CHAR8. instead
Nov 5, 1991 of $CHAR12. Offset for VPDDCCAL and VPDRSRV2 must be 86
and 94 instead of 90 and 102. Additionally, informat for
VPDRECNT, VPDPUCAL, and VPDDCCAL were changed from $CHAR8
to ?? 8. so they are changed from character to numeric.
Thanks to Jim Nicholas, Mead Data Central, USA.
Change 09.157 Two DCOLLECT variables, DCDLBKDT in DCOLDSET, and UMLBKDT
VMACDCOL in DCOLMIGS, were previously $CHAR8. (because IBM did not
Nov 5, 1991 choose to document the internal contents, and test data
used for MXG validation had only zeros in those fields.)
Both variables are now changed from character to numeric;
this change may cause a problem if you combine the DCOL..
datasets from before and after the change, but the long
term benefit of having the correct field name and format
out weight the short term impact. Furthermore, BEFORE
and AFTER datasets can be combined while deleting the
previous character variable with simple logic:
DATA DCOLDSET; SET OLD.DCOLDSET (DROP=DCDLBKDT)
NEW.DCOLDSET ;
Thanks to O. V. Hanger, A. C. Nielsen Co., USA.
Change 09.156 DB2 2.3 final validation and documentation found several
VMACDB2 changes, mostly cosmetic, were needed.
Nov 5, 1991 1.DB2ACCT/DB2STAT1 variables QTXABLLM,INLM,IOLM,SALM,SELM,
and SPLM were deleted, as they were completely redundant
with decoded values of QTXAPREC. They had been used in
tests in ANALDB2R, but those tests were replaced with the
explicit tests for values of QTXAPREC. Also, variables
QTXAILMT and QTXANRUN are now set based on bit tests (the
previous tests for '80'X and '40'X were incorrect). Also
variables QTXACHUS and QTXACLMT are now format TIME12.2.
2.DB2STAT0 variable QLSTBRBF needed asterisks in its label.
Variables QWS4ASCB and QWS4ASID are now kept, variables
QWS4EJST and QWS4SRBT are formatted TIME12.2. The twenty
address space variables (prefix QWS1,QWS2,QWS3,QWS4 and
suffix ASCB,ASID,EJST,PROC,SRBT) labels now name each of
the address spaces, and MXG now stores the data for each
address space consistently in these prefixes (in spite of
IBM's inconsistent use of the 3rd and/or 4th buckets!):
QWS1 - Master, or system services address space
QWS2 - DBM1, or data base services address space
QWS3 - IRLM, or inter-region lock manager address space
QWS4 - DDF, or distributed data facility (values will
be missing if no DDF).
Change 09.155 TYPE22_7 variables CHOWNED and CHONLINE are set in lines
VMAC22 lines 079600 and 079700, but were not reset if bit test
Oct 17, 1991 was not satisfied, causing values to be propagated. Now
ELSE CHOWNED=' '; and ELSE CHONLINE=' '; were inserted
respectively.
Thanks to Bruce Read, Attorney General's Department, AUSTRALIA.
Change 09.154 NETSPY variables STARTIME and STOPTIME are reversed in
VMACNSPY lines 089100 and 089200. STOPTIME is based on DTEE/TMEE
Oct 17, 1991 and STARTIME is based on DTES/TMES.
Thanks to Lois Robinson, M & I Data Services, Inc, USA.
Change 09.153 Type 6 "INPUT STATEMENT EXCEEDED RECORD LENGTH" results
VMAC6 from LEGENT's Bundle product record which is logically a
Oct 16, 1991 normal External Writer record, but because the record now
contains the characters "BU" instead of the normal zero
in the SUBS field, the shorter EXTW record format was not
recognized by MXG. Now, SUBS=49892 ("BU" as PIB2.) sets
SUBSYS='BUND', and the two tests for 'EXTW' are extended
to treat 'BUND' as 'EXTW', thereby adding support for
the Bundle product in MXG.
Thanks to David Kyle, Dominion Bankshares, USA.
Change 09.152 Support for new Tape Device 3490E added. In MXG datasets
VMACEXC2 TYPE434, TYPE30_V, TYPE30_4, TYPE30_5, TYPE30_6, TYPE40,
VMACUCB variable EXCP3490 is created, in the TYPE30_n datasets
VMAC30 variable IOTM3490 is created, and in datasets TYPE434
VMAC40 and TYPE30_N variable TAPE3490 is created. Change 9.002
VMAC434 created a new value for the variable DEVICE, but did not
Oct 9, 1991 create these new variables. Because the 3490E format is
Aug 19, 1995 completely different than 3480s or the earlier 3490s, it
was consistent with MXG treatment of devices to create
these three new variables in the appropriate datasets.
MXG Internals Architecture Note for the record:
Addition of new device type in MXG requires knowledge of the values
of device class DEVCLASS and device type DEVTYPE returned by the IBM
macro DEVTYPE so that the new variables EXCPnnnn, IOTMnnnn, (and for
tape devices, TAPEnnnn) can be created. The changes that are then
made in MXG (not by you - these are the changes that MXG made when
an MXG Change states "Support for new DASD/Tape Device nnnn added"):
For new DASD device:
a) VMACUCB - create new value for DEVICE within device class.
b) VMACEXC2 - create new DO group within device class.
IF DEVTYPE=0hhX THEN DO;
EXCPnnnn=SUM(EXCPnnnn,EXCPCNT);
IOTMnnnn=SUM(IOTMnnnn,IOTM);
END;
c) VMAC434 - Label EXCPnnnn
d) VMAC40 - Label EXCPnnnn
e) VMAC30 - Label EXCPnnnn, IOTMnnnn
- Add IOTMnnnn to TIME12.2 format list.
f) IMAC30IO - Add EXCPnnnn, IOTMnnnn to respective macros.
For new Tape device:
a) VMACUCB - create new value for DEVICE
b) VMACEXC2 - create new DO group:
IF DEVTYPE=0hhX THEN DO;
EXCPnnnn=SUM(EXCPnnnn,EXCPCNT);
IOTMnnnn=SUM(IOTMnnnn,IOTM);
END;
- create new counter within device class tests:
IF DEVTYPE=0hhX THEN TAPEnnnn=SUM(TAPEnnnn,1);
c) VMAC434 - Label EXCPnnnn,TAPEnnnn
- Keep TAPEnnnn
d) VMAC40 - Label EXCPnnnn
e) VMAC30 - Label EXCPnnnn,IOTMnnnn,TAPEnnnn
- Keep TAPEnnnn
- Add IOTMnnnn to TIME12.2 format list.
f) IMAC30IO - Add EXCPnnnn, IOTMnnnn to respective macros.
g) IMACPDB - Add TAPEnnnn to the _PDB30_4 and _MAXSTP macros.
- Then, in the PROC MEANS logic that follows, the
X10 in the DROP= list must be changed to X11, and
X11 must be added after the X10 in the SUM= list.
In addition, member FORMATS must be scanned for all occurrences
of the previously-newest-device-of-this-class. (Eg, when adding
support for 3590 tape drive, locate all occurrences of 3490 in
all formats). Only one or two formats use the IBM DEVCLASS and
DEVTYPE values (eg., '8083' for 3590s); those you can directly
update. The rest (currently, EREP and ZARA) have their own, non-
standard table of values, and their vendor must be contacted to
determine what value they chose.
This note was revised August 19 and again September 22, 1995.
Change 09.151 Support for new DASD Device 9345 added. In MXG datasets
VMACEXC2 TYPE434, TYPE30_V, TYPE30_4, TYPE30_5, TYPE30_6, TYPE40,
VMACUCB variable EXCP9345 is created, and variable IOTM9345 is
VMAC30 created in the TYPE30_n datasets. The new device has a
VMAC40 tracksize of 46456 (after R0 is on the track), with 15
VMAC434 tracks per cylinder, and 1440 cyl per vol on Model 1 or
Oct 9, 1991 2156 cyl per vol on Model 2.
Change 09.150 Cosmetic changes. Comments describing the expected sort
ANALCICS order were clarified, and the second occurrence of
Oct 8, 1991 TASCPUTM=0; was deleted.
Thanks to John Chapman, British Gas, ENGLAND.
Change 09.149 DB2 report PMACC01 could produce zeros in two places due
ANALDB2R to MXG typing errors. The two lines now reading
Oct 8, 1991 GSWS=QBACSWS; and L2SWS=QBACSWS; should read
GSWS+QBACSWS; and L2SWS+QBACSWS; respectively.
Though not causing an error, lines 012560-012970 (IF _N_
.... END;) were deleted, as those variables were already
initialized by the RETAIN statement.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Thanks to ???, ORDA-B, BELGIUM.
Change 09.148 Cosmetic enhancement to MXG messages when reading SMF.
VMACSMF MXG now prints additional information on the SAS log
Oct 4, 1991 when reading SMF data. The start and end times and the
system id for each dump event are now printed (from the
type 02/03 records) preceding the "SUCCESSFULLY READ"
message, and the minimum and maximum timestamp of any
SMF record are also printed. The 02/03 pairs are very
useful to detect problems in SMF dump processing (if you
don't have matched pairs for each system, you had a real
problem, and if you have duplicate data you can see the
record numbers so you can copy the SMF file, deleting
the duplicate records based on these log messages).
Thanks to John Chapman, British Gas London, ENGLAND.
Change 09.147 Support for Omegamon for CICS/ESA Version 550 user SMF
EXOMCADA record created by ESRA, INTR, SYSINIT, and OMDV. There
EXOMCBOT are three different subtypes (100,101,102) of the user
EXOMCDCT SMF record, and each subtype has sub-subtypes, and the
EXOMCDLI subtype 100 sub-subtype 4 has still additional subtypes.
EXOMCENQ This code has been compared with hex dumps of subtype 100
EXOMCFCT records, but only syntax checked in execution as no data
EXOMCFIX records have yet been received for testing.
EXOMCIDM
EXOMCJCT
EXOMCPCP
EXOMCRTA
EXOMCSYS
EXOMCTIT
EXOMCTRA
EXOMCTRL
EXOMCVIO
EXOMCVSA
EXOMCVVS
IMACOMCI
TYPEOMCI
VMACOMCI
Nov 8, 1991
Change 09.146 This change significantly enhances MXG's processing of
IMACICDA optional CICS data gathered with EMPs. Previously, MXG
IMACICDB member IMACICDL decoded IBM local DL/I counters, member
IMACICDL IMACICDB decoded IBM DBCTL counters, and member IMACICUS
IMACICDU was used to set the length of any remaining user data.
IMACICOB The MXG order of processing those segments was not under
IMACICOC user control. This change externalizes the processing
IMACICOL into new member IMACICDA, which can be used to match the
VMAC110 MXG order with the order your CICS programmer set in her
Oct 3, 1991 CICS MCT table. IMACICDA can also be used to identify
which APPLIDs have which data segments, if not all are
the same. Comments in IMACICDA describe how to use the
enhancement, but this change did NOT change the previous
MXG order (DL/I, UserChar, DBCTL). The change should be
transparent to users already using the existing IMACIC..
members to decode those data.
The real reason for this enhancement now was that it is
now used to add support for additional CICS data that is
created by Omegamon for CICS Version 550. The additional
data are now supported by the new IMACIC.. "Omegamon"
members listed below.
IMACICDL IBM Local DL/I counters.
IMACICDU User counters/clocks/character data.
(Note that the length of the user data is still
defined, and can be decoded, in IMACICUS).
IMACICDB IBM DBCTL counters, CICS/ESA only.
IMACICOC Omegamon OMEGBSC (Basic) segment, CICS/ESA only.
IMACICOL Omegamon OMEGDLI (DL/I) segment, CICS/ESA only.
IMACICOB Omegamon OMEGDB2 (DB2) segment, CICS/ESA only.
Note that while the order of segment processing is now
set in IMACICDA, it is still required that you remove the
comment block in each member you want to enable. See the
comments in each member itself.
Thanks to Barry Pieper, First Bank Services Minneapolis, USA.
Change 09.145 Support for Omegamon for CICS Version 550 type 110 SMF
IMACEXCL record EXCLUDE logic (used ONLY by Omegamon for non-ESA
VMAC110 CICS, e.g., CICS 2.2 and earlier) has been added to MXG
Oct 3, 1991 IMACEXCL (itself new in MXG 9.2). Candle keeps only 31
of the standard 60 IBM fields, and Candle reorders them!
Reading a Candle excluded record without IMACEXCL gets
you an "Invalid TASKNR" error with MCTSSDCN=34.
(The exclude/reorder is optional in Omegamon, but your
CICS person must be extremely careful with Omegamon with
CICS Version 2, as the type 110 record that is created by
Omegamon is independent of the type 110 IBM CMF record -
both can be simultaneously created if both are turned on,
which can happen and has caused duplicate accounting of
CICS transaction counts and resources under CICS Version
2 regions. The problem does not occur in CICS/ESA, as
Omegamon does not create a type 110 record under CICS
Version 3 - it simply adds data (EMPs) to the end of the
IBM CMF record as described in Change 9.146).
The IMACEXCL member was originally added in MXG 9.2 to
support Shared Medical Systems exclude logic, and it now
has been revised to provide support not only for these
Omegamon exclude logic, but now can be used for any CICS
system with excluded/included fields.
Note that the three EMPs that Omegamon can also create
in CICS/ESA are separately supported by Change 9.146.
Note also that there is also an Omegamon CICS user SMF
record (that Candle unwisely defaults to ID=255, which
is the same default as their unrelated Omegamon for MVS
audit record!). That new CICS SMF record is supported in
Change 9.147. (The unrelated audit record support is in
member TYPEOMAU/VMACOMAU/IMACOMAU.)
Thanks to Jim Shumaker, American Express Phoenix, USA.
Change 09.144 DCOLLECT values for sizes of volumes and datasets were
VMACDCOL changed by APAR OY36364/UY55804, but MXG Change 8.285
Oct 1, 1991 was also in error. Before APAR, IBM used a track size
of 47968 (3380) or 58786 (3390) bytes, which is the
unformatted track capacity. But every track really has
a record R0, and users complained about DCOLLECT values.
IBM's APAR now uses the formatted track size available
after R0, the familiar 47476 (3380) or 56664 (3390)!
But when I validated the earlier number and found the
numbers were larger than expected, I assumed that the
values documented as "KB" were "thousand-bytes", and not
"kilo-bytes", and thus Change 8.285 incorrectly used a
factor of 1000 to convert raw values into "bytes". Now
the truth is know; DCOLLECT does store Kil0-bytes and
the correct conversion factor should have been 1024.
1.These values must be multiplied by 1024 instead of 1000
(they are listed in the order in which they appear):
DCDALLSP DCDUSESP DCDSCALL DCVALLOC DCVFRESP DCVLGEXT
DCVVLCAP UMDSIZE UMALLSP UMUSESP UMRECSP UBDSIZE
2.Two other variables were also in error, but unrelated
to the above error. Variables DCDBKLNG and UMBKLNG are
block length of datasets, and should not have been
multiplied at all. Delete the respective lines which
erroneously multiplied them by 1000.
The following table shows the values stored and reported
by MXG (after this change has been made to VMACDCOL),
before and after the above IBM APAR is installed. (Note
that after the APAR but without this change, MXG showed
the 3380D capacity as 587MB!).
Before APAR After APAR
Device Tracks Kbytes MB Kbytes MB
3380D 13275 621850 607 615472 601
3380E 26550 1243701 1214 1230945 1202
3380K 39825 1865552 1821 1846417 1803
3390-2 33390 1916859 1871 1847666 1804
3390-3 50085 2875289 2807 2771500 2706
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Thanks to Mr. Plaacht, RWG, GERMANY.
Thanks to Stuart Buck, Procter and Gamble Brussels, BELGIUM.
Change 09.143 Support for CMA-SPOOL user SMF record creates twelve new
EXCMA00X datasets, one for each subtype. The support is written
EXCMA01X in the "Subtype-Level Processing" architecture, which
EXCMA02X allows individual datasets to be created from selected
EXCMA03X subtypes, or all twelve datasets can be simultaneously
EXCMA04X created. See examples in the comments at the beginning
EXCMA05X of member VMACCMA. CMA-SPOOL is a product of SCA.
EXCMA06X
EXCMA07X
EXCMA08X
EXCMA09X
EXCMA0AX
EXCMA0BX
IMACCMA
TYPECMA
VMACCMA
Sep 30, 1991
Thanks to Charlan Ledbetter, Anderson Consulting Dallas, USA.
Change 09.142 TMON/MVS creates invalid records (if the data record is
VMACTMVS larger than the CI size of the VSAM dataset TMON/MVS
Sep 30, 1991 uses, the logic record is arbitrarily broken down into
"spanned" physical records that do not conform to normal
spanning, that have incorrect counts of how may real
segments are in a "spanned" record, and that can be
spanned right in the middle of a field!). MXG can only
recognize and delete these defective records, but the
DELETE; statement after the MXG error message was lost.
The spanned record was recognized, the error message was
printed on the log, but MXG still failed with INPUT
STATEMENT EXCEEDED RECORD LENGTH message. This change
put the DELETE; statement after the error message.
Additional failures occurred when "trashed" records were
created by TMON/MVS; these records had julian dates of
1989 and their "triplets" (offset, length, number)had
zeroes for offset and/or length. MXG previously only
tested the triplet-number, which was insufficient
protection for these defective records. Now, MXG uses
all three triplet fields, and the record length to
(hopefully) more robustly detect and delete defective
data records. Finally, MXG now can recognize if you
have tried to process compressed records without having
installed the MXG-provided de-compression exit (in MXG
member EXITMON6 for Version 6, EXITMONI for Version 5),
and the messages in this case are much cleared. Note
that until Landmark chooses to create valid records,
the data in their "spanned" records will be deleted.
Thanks to William Padilla, Farmers Group Insurance, USA.
Change 09.141 IBM APAR OY33312 (PTF UY52529,30,31), says "APAR OY25606
APAR/PTFs Contains an Incompatible Change to Type 30 Records" and
Sep 29, 1991 OY33312 proceeds to state that it will reverse OY25606,
and will change the length of SMF30EOR back to 2-bytes,
etc. Don't worry about it; OY33312 has no effect on MXG
processing of the type 30 record. The APAR affects only
assembly programs using IBM macros which reference the
DSECT fieldname SMF30EOR, but the APAR does not change
the location of any fields that MXG reads; MXG did have
to add code to support OY25606 (Change 8.081), but that
code works fine with or without OY33312.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 09.140 The author of this I/O report found these corrections:
ANALPATH Line 014900 should be XDUR = MAX(XDUR,SDUR); instead of
Sep 29, 1991 containing a + sign.
Lines 016700 and 016800 should use XDUR instead of SDUR
in the denominator (calculating GTSIOPS and GTATTPS).
Thanks to Cindy Batson, Hewitt Associates, USA.
Change 09.139 RMDS records with RMDSORG='D' were incorrectly decoded,
IMACRMDS causing "INPUT STATEMENT EXCEEDED RECORD LENGTH" error.
VMACRMDS in VMACRMDS, change line 043700 to read
Sep 29, 1991 ELSE IF RMDSORG='B' OR RMDSORG='D' THEN DO;
change line 044500 to read
RMDSDEST $CHAR19. (instead of 17),
insert after line 044700 a new line with
IF RMDSORG='D' THEN INPUT RMDSOWNR $CHAR8. @;
and change line 045900 to read:
ELSE IF RMDSORG='V' THEN DO;
Before the change, RMDSORG='D' was processed with 'V'.)
In verifying this error, the code in VMACRMDS was
restructured and renumbered, and comments made clearer
that RMDS Version 3 and Version 4 are identical.
Thanks to Steve Lottich, The University of Iowa, USA.
Change 09.138 Support for DB2 2.3.0.
DIFFDB2 IBM made incompatible changes in type 100 (Statistics,
FORMATS DB2STAT0/1 datasets) and in type 102 (Trace, T102Snnn),
VMACDB2 but existing MXG programs should have no problems, as
VMACDB2H long as you install MXG 9.4+ and update the MXG Format
VMAC102 library. You may want to exploit some of the new data,
Sep 29, 1991 as described in the following notes:
Change 09.137 Minor enhancements to type 30 MULTIDD='Y' observations.
VMAC30 Variable CPUERROR is now retained from the base record.
Sep 29, 1991 (It is a bit map character variable, but since it was
not input in the multi-dd record, it assumed a value of
'4040'X, potentially causing confusion). EXECTM is now
missing in the interval multi-dd records; recalculation
of EXECTM is performed only if not multi-dd record. The
JELAPSTM is now set missing in the multi-dd record.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 09.136 Variable DUPLXUSE in TYPE6 should not be used. It was
FORMATS originally used to identify Standard/Tumble Duplex, and
VMAC6 MXG format $MG006DU decoded '80'X or '40'X values. But
Sep 28, 1991 now, additional bits are used, invalidating the single
Nov 14, 1991 value hex decoding. SAS 6.07 supports bit testing for
formats, but SAS 5.18 syntax errors. MXG has replaced
format $MG006DU for variable DUPLXUSE with $HEX2., and
you should use the variables (STDUPLEX/TMBUPLEX) instead.
(All of the bits of old variable DUPLXUSE are now used
to set individual variables).
Thanks to Vickie Wong, Manufacturers Life, CANADA.
Change 09.135 ANALDBTR can fail with "DATASET S064058 NOT SORTED" even
ANALDBTR after Change 9.104 was installed, because one more typo
Sep 28, 1991 was missed. Line 161000 must be E064TM instead of the
E063TM variable name.
Thanks to Barry Bluestein, Union Carbide, USA.
Change 09.134 Support for MVS/ESA 4.2.2 (RMF 4.2.2) added several new
VMAC22 fields to several records, but most are not significant.
VMAC23 IBM changes are compatible.SMF manual now GG28-1628-2.
VMAC30 a.TYPE22 added new bit value in TYPE22_1.
VMAC40 b.TYPE23 support in MXG was incorrect. Fields added by
VMAC71 earlier APAR were not INPUTed because the test was for
VMAC90 the wrong length (also, order of new variables was not
Sep 28, 1991 correct). Code has now been corrected, so the new data
on SMF buffer statistics is now useful!
c.TYPE30 contains new 8-byte jobclass JOBCLAS8 (left
justified). Until it's clear that it's needed, MXG has
decoded but not kept the field. However, if the 1-byte
existing variable JOBCLASS is blank and the new JOBCLAS8
is non-blank, the first byte of JOBCLAS8 will be stored
in variable JOBCLASS. Do you see a need for 8-bytes?
This field was added by APAR OY42532.
d.TYPE40 contains two new fields, TDDRCIND/TDDRCTOT which
count the index and number of records in a sequence of
records, but I can't figure why they are needed, and
especially IBM states at the beginning of section that
"IBM recommends you use record type 30 rather than
record types 4, 5, 20, 34, 35, and 40"
its unclear why any change to type 40 was made!
e.TYPE71 record was not changed, but since RECLAIMS no
longer exist in 4.2.2, the four fields which formerly
counted reclaims (PVTNPREC,PVTVAMR,PVTCAREC,LPARECLM)
will now always be zero. Member VMAC71 was enhanced by
adding SMF71xx field names in comments adjacent to the
MXG variable name to map MXG names to IBM names.
f.TYPE90 now supports subtypes 19, 20, and 21 (which were
in 4.2.1 but not decoded by MXG - SET APPC, SET ASCH, &
SET SCH respectively), and supports the new subtype 22
(SET CNGRP) added by 4.2.2.
Change 09.133 Variable ID was added to the KEEP= list, since multiple
VMAC6156 SMF records (61,65, or 66) create observations in the
Sep 28, 1991 TYPE6156 dataset.
Thanks to Tony Curry, Manufacturer's Hanover, USA.
Change 09.132 Typographical errors printed in NEWSLETTER TWENTY have
ChangeS been corrected in the MXG SOURCLIB members. Errors were:
NEWSLTRS a.Newsletter TWENTY correctly stated that NOIMPLMAC must
Sep 28, 1991 be specified in CONFIG, but then should have said that
"IMPLMAC should never be used in ANY program."
instead of "NOIMPLMAC should never be used...."
b.In Change 9.066 text USERFMTS should have been IMACFMTS.
c.Several references to NPM 4.1.1 should have been 1.4.1.
Thanks to Pat Russell, Group Health Cooperative, USA.
Change 09.131 Members CONFIG and CONFIG07 have been updated to contain
CONFIG all of the MXG recommended options (added: ERRORABEND
CONFIG07 MACRO DQUOTE FIRSTOBS=1 OBS=MAX NOSOURCE NOSOURCE2
Sep 28, 1991 NOMACROGEN NOMPRINT NOMLOGIC). The new SAS 6.07 option
CODEPCT=120 was added only to CONFIG07; this option will
avoid a second pass of SAS compiler for very large MXG
programs (like a heavily enhanced BUILDPDB) and will
eliminate an unnecessary and confusing SAS message. Note
that options in the CONFIG file can be overridden by the
the JCL OPTIONS= parameter. For example, to print source
statements, you can print the entire source program with:
// EXEC SAS607,OPTIONS='SOURCE SOURCE2 MACROGEN',
// CONFIG='MXG.SOURCLIB(CONFIG)
Thanks to Pat Russell, Group Health Cooperative, USA.
Change 09.130 SAS Version 6 Compatibility. Options TLS= and TPS= do
ANALTMS5 not exist in Version 6. (They were used to set the line
Sep 28, 1991 size and page size of your terminal, and were set to 132
and 60 respectively in an OPTIONS statement in this ANAL
member. That OPTIONS statement was deleted.)
Thanks to Chuck Hopf, Primerica, USA.
Change 09.129 Variable SPMSEXTL in the KEEP= list for dataset SPMSCED
VMACSPMS should have been spelled SPMSEXTE. Variable SPMSDSN
Sep 28, 1991 should be added to the KEEP= list for dataset SPMSEXT so
you can match Extent data (SPMSEXT observations) to
their Definition data (SPMSCED observation). New Amdahl
PTFs for SPMS 1.2 are supposed to fix some data problems
but STARTIME is completely wrong in records that span
midnight; problem is being discussed with Amdahl now.
It has also been noticed that the SPMSATDC, allocated
track count delta, can be negative when less tracks are
allocated at the end than at the start of interval.
Thanks to Richard R. (Dick) Sziede, PRC Inc, USA.
Change 09.128 -MXG 9.3 only. Change 9.080 incorrectly deaccumulated the
DIFFDB2 DB2STAT0/1 variables QBnTCBA and QBnTPID; eight lines
Sep 26, 1991 with those names must be deleted. QXCRRALS is spelled
Oct 3, 1991 QXCRALS. QISE.... variables RCUR,RHIG,RLLM,RMAX,
RDLM, and RSTG must be changed to QIST.... prefix.
-MXG 8.8 and later. Several sequence counter variables
have been incorrectly deaccumulated. For DB2STAT0,
delete lines DIF'ing QWHSWSEQ, QWSBWSEQ, QWSnISEQ,
QWnBWSEQ. For DB2STAT1, delete DIF'ing of QWHSWSEQ.
(Do not delete DIF'ing of variables ending in TSEQ, nor
the two statements SEQCHECK=DIF(...).)
Thanks to Barry Bluestein, Union Carbide, USA.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 09.127 Variable FSRTIME should have been in the KEEP= list for
VMACHSM dataset HSMFSRST; now it is.
Sep 9, 1991
Thanks to Peter Giles, DSS, AUSTRALIA.
Thanks to Colin Norton, DSS, AUSTRALIA.
Change 09.126 Boole's CMF records caused STOPOVER when record with a
VMACCMF non-zero offset and non-zero length but with a zero for
Sep 8, 1991 number of segments was found. The CHECKSUM logic did
not check for existence of segment before trying to read
the record. Only the Device Type Segment has thus far
had zero number, and changing line 00089700 to now read
IF C00DTYPN GT 0 THEN LINK CMFCKSM;
will circumvent this specific error. However, the MXG
change will protect each triplet by creating a variable
CMFWNUM set equal to the number of segments (immediately
following CMFWPTR which is set equal to the offset), and
then executing the subsequent LINK only if CMFWNUM is
greater than zero. There are 12 triplets to protect.
Thanks to Peter Giles, DSS, AUSTRALIA.
Change 09.125 This Cache DASD analysis report uses both TYPECACH and
ANALCACH TYPE74 data, but did not delete type 74 data from tapes!
Aug 20, 1991 Insert after PDB.TYPE74; IF DEVICE=:'34' THEN DELETE;
to exclude tape devices from Cache DASD reports.
Thanks to Jim Cummings, First Interstate Bank of Oregon, USA.
Change 09.124 Candle's OMEGAMON Audit User SMF Record has existed for
VMACOMAU some time, and defaults to SMF ID=255. However, their
Aug 20, 1991 new CICS V550 product now creates a different user SMF
record, which also defaults to ID=255, causing sites
using VMACOMAU to fail, since the new CICS user records
don't look anything like the Audit Record. You must
change the V550 SMF record ID (in Candle's OC$GLOB
SMFID= parameter in their OCDATA install dataset) to
a different SMF record ID. MXG support for the new
V550 User SMF record is discussed in Change 9.147.
Thanks to Dean Bolick, Belk Stores Services, USA.
Change 09.123 Protection for Shared Medical Systems CICS segments,
UTILCICS which have MNSEGCL values greater than 4, was not added
Aug 20, 1991 to UTILCICS when VMAC110 was updated in MXG 9.2. Now,
this member will skip over these segments instead of
printing ERROR.VMAC110.1 messages with MNSEGCL=209!
Thanks to Phil Shelley, Jewish Hospital HealthCare Services, USA.
Change 09.122 For IMS measurement with Boole & Babbage's IMF product,
TYPECIMS the processing of Chained Transactions (at the end of
Aug 20, 1991 member TYPECIMS) should have also recalculated the
response time variable, RESPNSTM, using the ACTLARRV
time of the chained transaction. Insert after 008600:
RESPNSTM=ENDTIME-ACTLARRV;
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 09.121 MXG decoding of DB2 Correlation ID into CORRNAME/CORRNUM
IMACDB2 was incorrect for CICS connection. The CORRNAME should
Aug 20, 1991 have been SUBSTR(QWHCCV,5,4) instead of (QWHCCV,9,4).
The comments describing the decoding of QWHCCV into the
CORRNAME/CORRNUM were also incorrect for CICS, and have
been revised and clarified.
Thanks to ???, UNI Storebrand, NORWAY.
Change 09.120 IBM now says the three new CPU time values added by ESA
XMAC7072 to the TYPE72 (CPUHPTTM,CPUIIPTM,CPURCTTM) are actually
VMAC7072 in micro-second units, and not 1024-microsecond units,
Aug 16, 1991 as documented in the microfiche for IRAWAMT! MXG Change
9.070 is thus off by 2%; the 1.024 factor added by that
change must be removed (fortunately, by comparing these
CPU times with their counterparts in type 30, I knew the
1000 factor was wrong, but believed IBM when they said
1.024 instead of 1.000!). Therefore, delete the three
lines multiplying these times by 1.024.
Thanks to Peter Doane, Com/Energy Services Company, USA.
Change 09.119 Invalid MODIFY ACF2 user SMF records are created, which
VMACACF2 caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Aug 14, 1991 The record has a parm length of 1 byte, but there is no
ACFAPARM field in the record. C A could not see an
obvious code error, and required the Australian site to
open a problem, but not fix yet exists. For now, change
updated when CA responds. The circumvention for now is
lines 038900 and 039100 to read:
... 200 AND (COL-1+ACFAMPLN LE LENGTH) THEN ...
Thanks to Francis Han, Office of State Revenue, NSW, AUSTRALIA.
Change 09.118 Support for Software AG's NET-PASS user SMF record is
EXTYNETP added by this change, which captures response time
IMACNETP (average, and three distribution buckets) as well as
TYPENETP session logon, logoff, and disconnect/reconnect times.
VMACNETP
Aug 13, 1991
Thanks to Nancy Ayers, General Electric Lighting, USA.
Change 09.117 Minor. Variables DLYCHATM and DLYDIRTM in TYPE74 were
VMAC74 not formatted as TIME12.2, but now they are.
Aug 9, 1991
Thanks to Chuck Hopf, Primerica, USA.
Change 09.116 NPM 1.4.1 support was not complete in MXG 9.3. The code
VMAC28 does not fail, but messages (NON-ZERO COF, UNEXPECTED
Aug 9, 1991 SUBTYPE, CALL HOME) are printed, and not all of the new
Aug 12, 1991 subtypes were output. Several changes were required.
Thanks to Jim Shumaker, American Express, USA.
Change 09.115 SAS 5.18 compatibility. Step TESTIBM2 of JCLTEST needs
TESTIBM2 a 6000K region under 5.18 because TYPE102, instead of
Aug 8, 1991 TYPE102A,TYPE102B are included in MXG 9.3's TESTIBM2.
This change uses a %MACRO to detect which SAS version
is used and includes TYPE102 if under 6.06+, or includes
the pair TYPE102A, TYPE102B if under 5.18.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 09.114 The VM/XA utility UTILGEVX to create VB records for test
UTILGEVX referenced the non-existent member (MACROS) and had the
Aug 8, 1991 wrong macro names. The INCLUDE for (MACROS) should have
been for (VMACVMXA), the _INFILE should be _MWINPUT, and
the _ENFILE should be _MWENDIT. The comments should say
the input comes from fileref MWINPUT and VB records are
written to fileref OUTFILE.
Thanks to Jay Cicardo, Southwestern Bell St. Louis, USA.
Change 09.113 The VSAM Sharing Options in the VVDS were not fully
VMACVVDS decoded in the two flag variables VVRA2REG/VVRA2SYS.
Aug 8, 1991 Two new variables with values 1, 2, 3, or 4 for both
the cross-system and cross-region share options now are
created with:
VVRSHREG=FLOOR(INPUT(VVRATTR2,PIB1.)/64)+1;
VVRSHSYS=MOD(FLOOR(INPUT(VVRATTR2,PIB1.)/16),4)+1;
Thanks to Jeff Fox, SKF USA, Inc, USA.
Change 09.112 In analysis of ESA benchmark data, I discovered PERFGRP
VMAC30 and MULTIDD was not kept in TYPE30_D and PDB.DDSTATS.
Aug 8, 1991 Now they have both been added to the KEEP= list.
Thanks to Chuck Hopf, Primerica, USA.
Change 09.111 MXG recommended half-track BLKSIZEs of 23040/27647 for
CONFIG 3380/3390s but did not realize SAS 6.06+ has an option
CONFIG07 specifically for DASD, and there is also a TAPE option.
Aug 7, 1991 Now, MXG CONFIG/CONFIG07 contain
BLKSIZE(DASD)=HALF
BLKSIZE(TAPE)=MAX
Thanks to Chuck Hopf, Primerica, USA.
Change 09.110 Landmark CICS added the 8-byte APPLID in their 8.1. MXGs
ASUMCICS 7.1 summarization code had stored SYSID into APPLID to
Aug 7, 1991 create APPLID, but that line now causes APPLID to be
truncated to 4 bytes with 8.1. Change line 008700 from
APPLID=SYSID;
to read
IF APPLID=' ' THEN APPLID=SYSID;
and add APPLID to the KEEP= in line 006200.
This change will only work with Landmark 8.1 data; the
datasets built from 7.1 data records does not contain
the variable APPLID, so the change must coincide with
your implementation of TYPEMON8 processing of 8.1 data.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 09.109 The BLKSIZE of the MXG 9.3 tape was increased to 32720.
ChangeS The 9.3 label printed on the tape was correct, but the
INSTALL change from 6160 was not stated. Worse, a note in the
Aug 7, 1991 Installation section of Newsletter TWENTY said the tape
BLKSIZE was 23440, which it never has been! The tape
blocksize had to be increased so that MXG 9.3 would fit
on a 600-foot 3420 reel, but it also reduced the time to
create 3420 or 3480s. The BLKSIZE=32720 will now be used
for all future MXG Versions. Sorry for my carelessness!
Change 09.108 JCLTEST/JCLTEST6 step SMFSMALL needs SASLIB/LIBRARY DD
JCLPDB6 pointing to your format library because Change 9.094 now
JCLTEST uses the MXG MGBYTES format. In JCLPDB6, a // is needed
JCLTEST6 before the OPTIONS= parameter on the EXEC statement.
Aug 7, 1991
Thanks to Mark Delorme, Minnesota Power, USA.
--Changes thru 9.107 were contained in MXG PreRelease 9.3, Aug 1, 1991--
Change 09.107 MONITASK variable TATASKNR contains transaction counts
TYPEMON8 for history records, but Landmark's Release 8 relocated
Jul 30, 1991 the field to what MXG read as TASINTL1 $CHAR4. Now, that
input is TATASKNR PIB4., the original TATASKNR is now
unkept variable TATASKNN, and TASINTL1 was never kept.
Thanks to Annette Miller, Dale Electronics, USA.
Change 09.106 IMS multiple-message transactions resources were wrong.
TYPEIMS Lines 145300-148400, which calculate the average DL/I,
Jul 30, 1991 CPU, etc., must be moved to after line 144200, so that
the average is calculated only once, instead of being a
moving average.
Thanks to Russell Dewar, NM Computer Services, AUSTRALIA.
Change 09.105 Change 9.100 discussed the new DROP,KEEP,RENAME warning.
DOC While initially I did not like the default of warning,
Jul 30, 1991 it appears to be worthwhile; it uncovered many cases of
misspelled variables in KEEP lists that were not being
output, and some cases of variables that should have not
been in the KEEP list, when I ran the MXG 9.3 QA runs.
All members that could be corrected were, but some MXG
members intentionally contain unreferenced variables,
and these members may produce warnings (which have no
real impact, except for the condition code four!):
VMAC6 VMAC40 VMAC110
The protection in BUILDPDB/BUILDPD3 was extended to
suppress warnings for the entire member.
--Changes thru 9.104 were printed in MXG Newsletter TWENTY Aug 1, 1991--
Change 09.104 DB2 102 Trace Data causes ANALDB2R to fail with DATA SET
ANALDBTR NOT SORTED error in S008S009, S0015S018, or S059S058 due
Jul 28, 1991 to a misspelling in ANALDBTR. The error occurs only if
a one of these trace events was incomplete, i.e., when a
start event or end event record was not in the input.
These three sets of variables were reversed:
Line Now Should be
049000 IF E008TM=. IF S008TM=.
049400 IF S008TM=. IF E008TM=.
068100 IF E015TM=. IF S015TM=.
068500 IF S015TM=. IF E015TM=.
164500 IF E059TM=. IF S059TM=.
164900 IF S059TM=. IF E059TM=.
Thanks to Bob Farrell, Sun Alliance, ENGLAND.
Change 09.103 -A minor revision to ANALPATH was provided by its authors
ANALPATH to deal with a divide by zero if no prime shift data was
IMACPDBX used for the analysis.
Jul 28, 1991 -The new member IMACPDBX will undoubtedly replace the MXG
IMACPDB, but is placed in a separate member for sites to
validate its architecture. Dan Kaberon has implemented
a slick technique that lets you trivially change the
variables that are sum/min/maxed from the steps data to
PDB.JOBS, and you no longer have to count and set up the
"dummy" X variables in the original IMACPDB. The new
member also added three variables, PGSUSED PGSGLOAD and
SHEETPRN to the PDB.PRINT data set.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 09.102 -Multiple type 30 records will be written for each step,
BUILDPDB interval, or job, if more than 1476 DDs are in the task.
BUILDPD3 MXG has always created separate observations for each of
IMACPDB these "Multi-DD" records, which contain only EXCP/IOTM
VMAC30 resource fields. However, several elapsed time measures
Jul 28, 1991 calculated by MXG from timestamps (ALOCTM,DSENQTM,EXECTM
RDRTM,SELAPSTM) should not have been calculated, and are
now set missing. A new variable, MULTIDD='Y' is created
to flag these records in TYPE30_4, TYPE30_5, TYPE30_6,
and TYPE30_V datasets. If the need is demonstrated in
the future, MXG may add logic to sum the MULTIDD type 30
into a single record, but the cost of double processing
does not seem necessary at this time. For now, flagging
these "pseudo-step" records and ensuring there is no
duplication of these elapsed time measures is enough.
MULTIDD was also added in IMACPDB to the _PDB30_4 list.
-The MULTIDD records for TYPE30_V intervals have another
problem; the begin of interval INTBTIME does not exist
(has missing value) in the second and subsequent MULTIDD
record (because IBM puts it in the processor accounting
section, which is not created in MULTIDD records!). The
INTBTIME cannot be retained from the first record to the
subsequent records while processing SMF data, because
other SMF records from other tasks can be sent to SMF in
between the first and subsequent intervals of our job.
It was necessary to modify the logic of BUILDPDB/3 to
add an extra PROC SORT and logic to fill in the missing
INTBTIME, so that sites who wish to account using their
interval records can cluster the MULTIDD records. If
your site creates interval records, you probably want to
have this corrected, and if there is no interval data,
there is no cost to this enhancement of PDB.SMFINTRV.
Note this change does not correct the TYPE30_V data set
built by member TYPE30, but only the PDB.SMFINTRV data
set built by BUILDPDB/BUILDPD3.
-Two other problems with MULTIDD records were corrected
in BUILDPDB/3. The variable STEP was a counter of step
records found, but it was also being incremented for
each of the MULTIDD records. STEP is now incremented
only for the actual step record, not for the MULTIDDs.
The variable RESTART was a counter of job restarts, but
it too was being incremented for each MULTIDD record.
Now it only counts real job terminations as RESTARTS.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 09.101 DOS/VSE Landmark CICS records are non-standard formats.
TYPEMOND Each block begins with 2-byte block length, followed by
Jul 27, 1991 two 4-byte length fields, the second of which contains
the data-length of the following data record. The 4-byte
pairs and data records are then repeated. This format
can be read with the following changes to TYPEMONI for
Landmark 7.1 records. The new member TYPEMOND contains
this change, but the logic has not been data-tested yet.
Replace With
INPUT INPUT BLKLEN PIB2. @;
LENGTH PIB2. LOC=COL;
MFSREC $CHAR1. DO WHILE (COL+8 LT BLKLEN);
@; INPUT @LOC FIRSTLEN PIB4.
LENGTH PIB4.
MFSREC $CHAR1.
@;
LENGTH=LENGTH-2;
Immediately before the
percent sign before
MACRO _ANALMON insert
LOC=LOC+FIRSTLEN;
END;
Thanks to ???, ???, EUROPE.
Change 09.100 SAS 6.07 compatibility. SAS validation of variables in
BUILDPDB KEEP, DROP, or RENAME statements or options was never
BUILDPD3 consistent; an unreferenced variable in a "D,K,R" could
CONFIG07 print an error, a warning, or no warning, depending on
Jul 27, 1991 whether the "D,K,R" was an option or a statement and/or
whether the "D,K,R" was for input or output. SAS 6.07
now consolidates the action by input or output and has
two new options, DKRICOND and DKROCOND which can set the
action to be taken to ERROR, WARN, or NOWARN. By design,
MXG has unreferenced variables in KEEP= lists for output
and since the SAS 6.07 default is WARN, many unnecessary
WARNING message will be printed on the log, and the step
will end with condition code 0004. These warnings can
be eliminated by adding DKROCOND=NOWARN to the CONFIG
member of MXG, but then SAS 6.06 will fail because this
option is unknown to SAS 6.06! As a result, there is a
now a new member, named CONFIG07, for SAS 6.07 which has
DKROCOND=NOWARN specified. Just in case you miss this
note, however, BUILDPDB/3 are specifically protected by
the addition of %MACRO VMXGDKRN to set NOWARN during the
SMF processing phase under 6.07 or later:
%MACRO VMXGDKRN;
%IF %SUBSTR(&SYSVER,1,4) GE 6.07 %THEN %DO;
OPTIONS DKROCOND=NOWARN;
%END;
%MEND
%VMXGDKRN;
and after the DATA step there is a %MACRO VMXGDKRW to
reset the option to DKROCOND=WARN. This may change as
more experience with these new options accumulates.
Thanks to Rick Langston, SAS Institute Cary, USA.
Change 09.099 Dataset VTOCINFO's variable TRKSALOC contained only the
VMXGVTOC number of tracks allocated for the VTOC; not the total
VMXGVTOF tracks on the volume. This change summarizes the detail
Jul 27, 1991 information into VTOCINFO, correcting TRKSALOC, and adds
variables TRKSUSED, NUMDSN, PCTALOC to make the VTOCINFO
dataset more meaningful for DASD capacity analysis.
Additionally, in the VMXGVTOF member only, each volume's
UNITADDR, UCBTYPE, and STARTIME (of the ASMVTOC run) are
now added to the VTOCINFO dataset. These fields were at
the end of the record created by ASMVTOC, but were not
kept in MXG's processing.
Thanks to John Mattson, National Medical Enterprises, USA.
Change 09.098 The original members WEEKBLD and MONTHBLD contained both
JCLWEEK JCL and SAS code, which required unnecessary JCL changes
JCLMONTH due to SAS or SAS changes due to JCL. This change puts
WEEKBLD the sample JCL in members JCLWEEK and JCLMONTH and has
MONTHBLD only SAS code in WEEKBLD and MONTHBLD. The JCL examples
Jul 27, 1991 in these members (an in all future JCL examples) will be
only for the SAS Version 6 environment.
Change 09.097A -The optimal BLKSIZE for MXG's SAS Data Libraries is half
CONFIG track (See SAS Notes in Newsletter TWENTY). Since these
Jul 26, 1991 libraries are RECFM=FB,LRECL=512, the correct half track
data library block sizes are
Data libraries:
3380 BLKSIZE=23040
3390 BLKSIZE=27648
Member CONFIG now specifies BLKSIZE=23040 as default.
-The MXG Default BUFNO=2 is now specified in CONFIG. With
a half-track BLKSIZE, transferring one track of data per
SSCH results when BUFNO=2 is specified. The incremental
gain of additional buffers above 2 does not seem needed
and I have always felt righteous if I transferred data
for 1 revolution and then freed the device to other
users. Since the virtual storage required for each SAS
data set is BUFNO*BLKSIZE, reducing BUFNO from 3 to 2
concomitant with the above BLKSIZE increase will
mitigate MEMSIZE. I plan further benchmarking to see if
there really is a value in increased BUFNO (only even
values make sense), but early results show half track
and BUFNO=2 gives very good performance and minimized
resources reasonably.
-The increased BLKSIZE value has increased the virtual
storage required for the INFILE processing parts of MXG,
so MEMSIZE=24M is now specified (increased from 12M) to
ensure unnecessary "out-of-virtual-memory" ABENDs. Since
MEMSIZE is above the line virtual storage, I don't think
this increase will affect any real resources, and SAS
only gets what it needs anyhow.
-The option ERRORS=2 was added, so that if you get any
invalid data hex dumps, only the first two will be on
your log, instead of the SAS default of the first 20.
Change 09.097 HSM 2.6 SMF records were changed INCOMPATIBLY. The DSR
VMACHSM and VSR have new fields, VSR fields (VSRTBAK,VSRTALC,
Jul 24, 1991 VSRNDSV, and VSRTCPU), are now reserved, and bit fields
are now decoded into new variables. MXG supports not
only HSM 2.6, but also HSM 2.4 and 2.5 SMF records.
Thanks to Joe Faska, Depository Trust, USA
Change 09.096 VM/XA messages "LOGICAL RECORD SPANS PHYSICAL BLOCK" are
VMACVMXA incorrectly printed on the log. The error was introduced
Jul 22, 1991 by Change 8.244; line 005970 must be (COL-5+MRHDRLEN).
Fortunately, the datasets built were valid, but the MXG
messages sure filled pages of your log!
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Thanks to ???, ???.
Change 09.095 BUILDPDB is enhanced by the automatic addition of the
BUILDPDB dataset TYPE0203 in your PDB, so you can keep track of
BUILDPD3 when SMF data was dumped; a type 2 record is written at
VMAC0203 the start of each SMF dump (IEASMFDP) and a type 3 is
Jul 21, 1991 written at the end of each dump. Back to back type 2s
indicates probable duplicate data, because a dump was
started but failed to complete. Member VMAC0203 was
also changed, to create variable RECNUM, the record
number of each 2 or 3 record, in case you need to strip
out duplicated records.
Change 09.094 The _SMF macro, used by all SMF processing programs, now
VMACSMF prints a message on the log "MXG SUCCESSFULLY READ SMF"
Jul 21, 1991 with the number of records AND the number of megabytes
of data that was found in your SMF file.
Change 09.093 This revision of existing TRND72 member adds several new
TRND72 MVS/ESA 4.2 variables to the TREND.TRND72 dataset.
Jul 20, 1991
Thanks to Chuck Hopf, Primerica, USA.
Change 09.092 Trending of TYPE71 data is added by this change, using
TRND71 the WEEK.TYPE71 dataset as input. (Since the TYPE71
Jul 20, 1991 data already exists as one observation per interval,
there is no need for an "ASUM71" member.)
Thanks to Chuck Hopf, Primerica, USA.
Change 09.091 Trending of PR/SM, MLPF or MDF data in TYPE70PR is added
ASUM70PR by this change. Member ASUM70PR creates PDB.ASUM70PR by
TRND70PR summarizing TYPE70PR into one observation per interval
Jul 20, 1991 for each system. (If you have more than one MVS system
running, remember that each one creates observations in
TYPE70PR for each SYSTEM. Either SYSTEM or LPARNAME has
to be used to avoid duplication in your reporting. MXG
keeps all SYSTEMs found in TYPE70PR). Member TRND70PR
takes the WEEK.ASUM70PR, and adds its new data to the
TREND.TRND70PR data, which can be used for tracking the
utilization of all your LPARs.
Thanks to Chuck Hopf, Primerica, USA.
Change 09.090 ASUMCICS used more temporary work space than needed, as
ASUMCICS some variables were not dropped, and no LENGTH statement
Jul 20, 1991 was used. After line 003400 (DATA NULLCICS;) insert
LENGTH DEFAULT=4 ENDTIME STRTTIME 8;
After line 009199 (END;) insert
DROP ENDTIME FILECN PRIINCHR PRIOUCHR RESPONSE
SYSID TRANSACT;
Change 09.089 VM/XA Trending variables PFXUTIME and PCTCPUBY were not
TRNDVMXA correct. PFXUTIME was wrong because it should be in the
Jul 18, 1991 NORM13 list instead of NORM1. PCTCPUBY was wrong because
it is recalculated and uses PFXUTIME!
Thanks to ???, 3M Europe, GERMANY.
Change 09.088 Amdahl's Cache DASD SPMS Release 1.2 completely rewrote
EXTYSPMC their user SMF record. The original VMACSPMS supported
EXTYSPME SPMS Release 1.0, but that code was temp VMACSPM0, and
VMACSPMS VMACSPMS now contains support only for SPMS 1.2. There
are two data sets created now, SPMSCED "Cache Extent
Jul 18, 1991 Definition" statistics, for each CED (which might be an
entire volume, or just a data set), and SPMSEXT "Cache
Extent" statistics, for each EXTent (which will normally
contain one observation for each CED, unless the dataset
in the CED is itself in extents). Although statistics
can be captured in the CED part of the record, there is
an option to disable statistics in the CED, so MXG will
create the sum of the EXT data and store into the CED
dataset, which seems to be the most likely dataset of
general interest, and by summing the EXT data into the
CED, either data set will be valid. Note that some of
the fields may not be valid; SPMSATBC contains negative
values. Amdahl is investigating.
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 09.087 Only comments were changed in IMACFILE, but the example
IMACFILE showing how to write SMF records out to an OS file now
Jul 18, 1991 has a FILE LOG; statement after the PUT _INFILE_ so that
and error messages PUT by MXG will be sent to the log.
Without the FILE LOG; statement, error messages were
written to the output SMF file!
Thanks to Brenda Rabinowitz, Prudential-Bache Securities, USA.
Change 09.086 ACF2 records with ACSMFREC='L' and ACSMFCN GE 3 were not
VMACACF2 processed. They are now output in the ACF2JR dataset.
Jul 18, 1991 The LID at the end of these records is not currently
decoded; since the records themselves were not output,
it is not clear the contents of the LID are needed, but
that will change if users request it! The change was to
change ELSE IF ACSMFREC='L' AND ACSMFFCN LE 2 THEN DO;
to ELSE IF ACSMFREC='L' THEN DO; in line 049400, and
change IF ACSMFFCN=2 THEN DO;
to IF ACSMFFCN GE 2 THEN DO; in line 050200.
Thanks to Rachel Bromage, L.O.L.A., ENGLAND.
Change 09.085 Early Address Spaces (Started Task ASIDs that come up
VMAC6 before SMF is fully up) have no JES number and their
VMAC26J2 JCTJOBID variable contains job name. The logic added in
VMAC26J3 MXG 8.8 to support the APPC TYPETASK tested JCTJOBID to
VMAC30 see if it started with an "A", but this caused "Invalid
VMAC32 Data Error" for JESNR if the STC happened to start with
Jul 18, 1991 an "A" (like ACF2!). This change reorders the logic to
first recognize an early address space (JCTJOBID=JOB)
to set TYPETASK='STC ' and JESNR=., or otherwise use the
original logic to determine TYPETASK and JESNR. The only
impact were messy record dumps on the log when MXG tried
to read characters as numbers!
Thanks to Stephen Tull, State Energy Commission of W.A., AUSTRALIA.
Change 09.084 For consistency in CICS, variable PCLOADCN was changed.
VMAC110 Its old contents, the count of load requests, was moved
Jul 18, 1991 to new variable PCLOADCT, which will be non-missing in
all CICSs, and the old variable PCLOADCN contains the
count of actual loads. The change occurred in MXG 8.8
but was not documented.
Thanks to Ms. Ericson, EDV Gmbh, Vienna, AUSTRIA.
Change 09.083 In Newsletter SIXTEEN, I made mention of APAR OY16896,
BUILDPDB but did not elaborate on its significant effect on lines
VMAC6 printed counting in MXG. The APAR changes the variable
Jul 17, 1991 OUTDEVCE (SMF type 6 field SMF6OUT). Formerly, OUTDEVCE
was the name of the output device to which the print was
sent, e.g., PRINTER1, PUNCH2, or R196.PR1 for a remote
printer, R196.PU1 for a remote punch (remember, external
writers for microfiche and other devices often "punch").
The APAR changed OUTDEVCE to contain the VTAM LUNAME of
the printer, which no longer contains indication of the
type of device to which print was sent. MXG still uses
OUTDEVCE to create variable DEVICE in TYPE6, setting
DEVICE='PRINT' (if OUTDEVCE starts with 'PRINT' or 'PRT'
or contains '.PR', or UCS starts with 'VPS, or setting
DEVICE='PUNCH' (if OUTDEVCE starts with 'PUN' or
contains '.PU'). If no match is found in OUTDEVCE, then
MXG sets DEVICE='EXT WTR'. The APAR not only changes
the contents of variable DEVICE in TYPE6, but BUILDPDB
uses the value of DEVICE to decide if NRLINES are put
in variables PRINTLNE, PUNCHCRD, OR EXTWTRLN in both the
PDB.JOBS and PDB.PRINT data sets. The total of those
three variables will still be correct, but you cannot
trust PRINTLNE to contain print lines; all of the lines
printed could end up in variable EXTWTRLN.
If the breakout is important to your site, you will have
to first create a table look up mapping VTAM LUNAME to
the type of device, and use that table in member EXTY6
to set DEVICE= to the correct device type for your site.
As long as you use the SUM(PRINTLNE,PUNCHCRD,EXTWTRLN)
for TYPE6 or PDB.PRINT analysis/billing, there is no
error.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 09.082 Interlink's product SNS/vt is actually the ANET product
VMACILKV from Teubener Associates, and is also marketed by Mitek
Jul 17, 1991 (now Open Connect Systems) as Telenet Client Fullscreen!
By whatever name, however, the disconnect record has a
bug (CONECTIM does not contain a date) that is now fixed
in their release 322.
Thanks to Dan Barbatti, Southwestern Bell St. Louis, USA.
Change 09.081 EPILOG CICS CL1000 records, by default, are dumped by
IMACEPIL Candle's utility as RECFM=U, even though the records are
Jul 16, 1991 actually internally VB, with BDW=600 and RDW=LRECL=596.
The only problem with RECFM=U is that when written to a
tape data set, lots of space is wasted between these
600 byte records. Sites have, therefore, chosen to
change the output RECFM of the Candle dumping program to
specify VB, reducing storage on tape from 5 volumes to a
single volume, but this creates an additional BDW/RDW on
the tape, a "VVBB" RECFM! MXG has always handled these
two formats; if the output is dumped with RECFM=U then
OFFEPIL=0 is specified in IMACEPIL, and if the output is
dumped with RECFM=VB, then OFFEPIL=4 handles the extra
four bytes on each record, but only now do I realize in
which case which offset is specified in IMACEPIL!
Thanks to Myron Highfield, Square D, USA.
Change 09.080 Some new DB2 variables in DB2STAT0/DB2STAT1 were not
DIFFDB2 deaccumulated. QLSTx, QWTRx, QW2x-QW5x, Q9STCTRI,J,K,L
Jul 16, 1991 in DB2STAT0, and QBnTCBA,QBnTPID,QISERx,QXCRRALS,QXDRPAL
QXMRMIAP,QXMSMIAP,QXNSMIAP in DB2STAT1 are now correct.
Thanks to Elliot Weitzman, Orxy Energy Company, USA.
Change 09.079 Data set TYPE30_D can contain duplicate observations, if
BUILDPDB the same DDNAME appears multiple times in a step record.
BUILDPD3 The NODUP option was removed from the PROC SORT of the
Jul 11, 1991 TYPE30_D into the PDB.DDSTATS to prevent unintentional
deletion.
Change 09.078 SAS 6.06 circumvention. In SAS Version 5, a DO variable
VMACCMF could be missing, and SAS treated the value as zero. In
VMXGHSM SAS Version 6, however, a missing value for one of the
Jul 10, 1991 DO loop variables raises a syntax error and terminates
execution. This problem was simultaneously encountered
in two unrelated members on the same day!
a.In VMXGHSM, before the DO C= 1 TO MPCDGNCT; insert
IF MCPDGNCT=. THEN MCTDGNCT=0;
Unrelated VMXGHSM corrections were also made.
MCDCLU should have been spelled MCDDLU. INPUT
MCTFRAG PIB2 should have been PIB2. (with a period).
DCRDATEX should have been DCRDATE.
MCVLSPCT should have been INPUT as PIB4.2, and the
subsequent DMS function deleted, as it was not PK4.
DSRTIME should have been INPUT as PIB4.2, and the
subsequent DMS function deleted, as it was not PK4.
b.In VMACCMF, before the DO on _I_, insert
IF CMFWPTR=. THEN CMFWPTR=0;
IF CMFCHKTG=. THEM CMFCHKTG=0;
and four lines later, change IF CMFCHKRM NE 0 ....
to read IF CMFCHKRM GT 0 ....
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Thanks to Bill Dempster, UOP, USA.
Change 09.077 The macro _CICEXCL referenced at the end of IMACCICS was
IMACCICS only used in MXG testing and should have been removed.
Jul 9, 1991 All of the installation controls for EXCLUDE processing
are contained in member IMACEXCL.
Thanks to Tim Cartwright, University of Wisconsin Madison, USA.
Change 09.076 Option NOTEXT82 was never in SAS 6.06, and is removed
CONFIG from MXG's CONFIG member. It caused no execution error,
Jul 4, 1991 but confused users who tried to figure out what it was.
It should not have been in CONFIG in the first place!
Change 09.075 This is a document change, pending IBM answers. The two
VMAC42 fields SMF42LFW and SMF42CFW are now acknowledged by IBM
Jul 4, 1991 to be accumulators and not counts for the interval. They
have not yet acknowledged this as a bug or a feature!
Thanks to Joe Faska, Depository Trust, USA
Change 09.074 Boole's unique CMF record processing member needs a
VMACCMF RETURN; statement inserted immediately before the label
Jul 4, 1991 CMFCKSM: statement.
Thanks to Bill Dempster, UOP, USA.
Change 09.073 Change 8.213 gave an example for using INSTREAM DDNAME
Change08 to create the _DAY macro for copying yesterday's PDB to
Jul 4, 1991 the correct day-of-week PDB, but the example failed to
execute. First, the OPTIONS NOTITLE; statement should
be deleted (that options no longer exists). Second, the
PRINT option in the FILE INSTREAM statement should be
NOPRINT. Third, a blank is required after _DAY in the
quoted string: 'MACRO _DAY ' to be written to INSTREAM.
The example has been corrected in member CHANGE08 so you
could copy it for execution. Finally, under SAS 6.06+.
WEEKDAY=UPCASE(PUT(TODAY,WEEKDATE3.));
is required because the PUT function returns mixed case.
Thanks to Mark Steeley, Anthem Insurance.
Change 09.072 TYPE70PR data for DEDICATED='Y' LPAR's LCPUADDR 2 and 3
VMAC7072 incorrectly subtracted CPUWAIT0 in lines 134620,134660.
XMAC7072 The obvious typing error should have subtracted CPUWAIT2
Jul 4, 1991 and CPUWAIT3 respectively, and came in MXG 8.8.
Thanks to Helmut Kirrmaier, Comparex Mannheim, GERMANY.
Change 09.071 VLFHITPC hit percentage was conditionally calculated if
VMAC41 SMF41SRC was non-zero, but should also have been set to
Jul 2, 1991 missing with an ELSE clause. Without the ELSE clause, if
the record had classes with no activity, the prior class
value for VLFHITPC was carried forward.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 09.070 TYPE72 new CPU variables CPUHPTTM,CPUIIPTM CPURCTTM,
VMAC7072 added by MVS/ESA 4.2, are wrong. Lines 157900-158200
XMAC7072 must INPUT these three variables as PIB4.6 instead of
Jul 2, 1991 PIB4., and then each variable must be multiplied by
1.024 after the input statement. This error also made
the variable CPUTM, as it includes these three. Note:
see revision in Change 9.120.
======Changes thru 9.069 were on MXG 9.2 built July 1, 1991=============
Change 09.069 Candle's External Security Audit SMF record needs a ZAP
VMACOMAU from Candle, OB270S10 to capture the DB2 Subsystem ID if
Jun 30, 1991 an Omegamon DB2 command is being audited; otherwise you
will not know which DB2 subsystem was the object of the
Candle command that was issued. Even with the ZAP, the
subsystem ID is not put in the right place; instead of
in being in MXG variable OMSUBSID where it belongs, the
ID value is stored in MXG's variable OMSTEP. No change
was made to MXG to move it to the right field, Candle
has not called, and the zap and this note may be enough.
Thanks to Wayne Cope, Belks Stores, USA.
Change 09.068 CA's IDMS Performance Monitor SMF records appear to be
VMACIDMS in error. TASPAGRD contains 'FFFFFFFB'x, which MXG sees
Jun 30, 1991 (inputing at PIB4.) as 4,294,967,040, and the Cullinet
report (no, they have not changed the report header yet)
shows a negative 4. Separately, the TASIMWT wait time
duration is sometimes greater than the delta between the
STARTIME and ENDTIME. No MXG change was made to deal
with what appear to be IDMS errors. Stay tuned.
Thanks to Elizabeth Stronge, Michelin Tier Corp, USA.
Change 09.067 Trending TYPE72 data did not contain PERFRPGN, so you
TRND72 could not know which performance groups were control and
Jun 30, 1991 which were report (unless you resorted to an external
table or format). This change added PERFRPGN to the ID
statement so it will now exist in trended TYPE72 data.
Thanks to Seymour J. Metz, EDS, USA.
Change 09.066 SAS 6.06 does not support concatenated Format libraries
FORMATS (since they are now SAS datasets, which still cannot be
IMACFMTS concatenated). New tailoring member IMACFMTS is created
Jun 30, 1991 to allow you to put your installation's VALUE statements
in this separate member of your USERID.SOURCLIB. The
member IMACFMTS is %INCLUDEd at the end of MXG's member
FORMATS so that your formats will be placed in the same
data library as the MXG formats. One suggested use was
to define performance group mapping in this member.
Thanks to Seymour J. Metz, EDS, USA.
Change 09.065 DASDMON/ASTEC load counts RLDCNT and RDLCNT in VMACDMON
VMACDMON should have been input PIB4.2 instead of PIB4., though
Jun 30, 1991 there was no clue in the DSECT documentation. Only the
observed very large values and comparison with Legent's
reports uncovered their documentation error.
Thanks to Greg Scriba, First National Bank of Chicago, USA.
Change 09.064 This significant user contribution is a 15-member PDS in
ANALRACF member ANALRACF that will analyze the use of MXG TYPE80
VMAC80 observations for the use of RACF commands with SPECIAL
Jun 30, 1991 or OPERATIONS authority. Documentation and flow of the
programs are contained in member ANALRACF. Three new
variables were added to the TYPE80 KEEP= list, NRSET,
RACFDAT1, and RACFVRMN, to support these reports.
Thanks to Duncan McKellar, Inland Revenue (UK), ENGLAND.
Thanks to Neil Campbell, Inland Revenue (UK), ENGLAND.
Thanks to Dave McLaughlin, Inland Revenue (UK), ENGLAND.
Change 09.063 Yet another problem with IMS Input Queue time was found.
TYPEIMS Out of 22,000 transactions, type 35x log records for 18
VMACIMS transactions contained the LTERM value in the NODENAME
Jun 29, 1991 field, causing the 35x (ENQTIME) to not be matched with
the 01x (ARRVTIME) record. These 18 records all have an
ENQFLAG=0Cx and FLAG2=ACx, and had CLBNAME=LTERM and 16
bytes later, the NODENAME needed was found in the "Input
subpool name" part of IBM's QLNQLNID (and, as usual for
IMS, there is no indication in the IBM IMS DSECT of this
condition). MXG has again been patched to support this
IMS variation. Another change, unrelated, had been left
out of the MXG 8.8 changes; for Multi-Transactions per
schedule, the CONDCODE was propagated into all IMSTRAN
observations; now it is blank until the final one. And
occasional negative service times for Multi-Trans and
WFI transactions were corrected by not re-setting the
ENDTIME to an incorrect earlier value. I always want
to think each IMS fix is the last one, but I have little
doubt that there will be future discoveries. But then
even IBM's IMSPARS is frequently unable to correctly
count transactions, and frequently can't figure out the
time stamps that MXG can locate in the log records, so
it is clearly not straightforward to decode the IMS log,
in which the records are written out of order by time!
I do believe there have never been errors in MXG's IMS
resource capture (CPU, DLI, counts, etc.), and only in
the Input and Output Queue times have there been wrong
calculations, and statistically few in number. This does
suggest STRONGLY to avoid using average values for the
analysis of IMS response, service, and queue times. One
large value can completely distort the average value,
but counting the percentage that completed in a specific
duration will not be so affected, and is much safer to
report. Even at its very best, though, the IMS log is
NOT the recommended source for IMS analysis; at best it
provides only one single measure of CPU time for each
program schedule (which might represent hundreds of real
transaction), and that CPU time cannot be subdivided
into Message Region, DB2 services, DL/I services, etc.,
which can and are captured currently by third-party IMS
monitors which write discrete transaction records for
analysis. Sites to whom IMS is a significant workload,
and especially sites with WFI, Fast Path, or lots of
multi-trans per sked activity should invest in an IMS
monitor until IBM decides to provide transaction-level
resource and response time recording in the IMS log.
Thanks to Lindsay Dawe, Mobil Oil, AUSTRALIA.
Change 09.062 CICS/ESA 3.2.1 became available today. MXG now supports
VMAC110 all releases of CICS from 1.5 thru CICS/ESA 3.2.1.
Jun 28, 1991 In fact, due to IBM's ETP program, MXG 8.8 contained
support for CICS/ESA 3.2.1, and thus you do NOT need to
install a new release of MXG just for CICS/ESA if you
have already installed MXG 8.8. Versions of MXG before
MXG 8.8 will fail with CICS/ESA 3.2.1 records, because
3.2.1 records were changed incompatibly (CICS version
SMFPSRVN was changed from an EBCDIC field containing 31
to a PK2. field containing 321). That incompatibility
is actually beneficial; finally we can recognize the
version, release, and modification-level of CICS. The
other changes between last fall's CICS 3.1 and 3.2.1
are minor, but a new timestamp, taken at CICS startup,
was added to the type 110 record, used to collect all
records from a specific execution of a CICS region. It
would really been useful if IBM had stored, not the STCK
value when CICS started, but instead had copied the
READTIME of the CICS job (which already exists) because
then CICS SMF could be directly MERGED/JOINED with the
other SMF records (like 14,15, and 64 I/O records) that
have contained READTIME for the "Job Log" since day 1
of SMF data! Oh, well, something's better than nothing!
Change 09.061 Support for NetView Performance Monitor NPM 1.4.1 is
EX028INA added by this last-minute change (the product became
EX028INB available today, and I received the IBM documentation
EX028INC two days ago!) which has been syntax tested, but has
EX028IND not actually read any SMF records with the new data
EX028EV3 segments. Prior versions of MXG should not fail with
EX028EV4 the new records, but the SAS log will contain many
EX028EV5 MXG notes that unexpected subtypes 0B, 72-77x, 90-96x,
EX028NTN and FAx were found. Eight new NPM datasets are created,
VMAC28 but none of the existing data sets appeared to have been
Jun 27, 1991 changed after a brief review of the new documentation.
MXG documentation of the new datasets is in comments at
the beginning of member VMAC28. IBM's documentation is
on pages 285-411 of NPM Installation and Customization,
SH20-6361-5.
Change 09.060 This graphic analysis program failed if you specified
GRAFTRND SASGRAPH=NO and SASSTAT=YES. Line 038700 should be
Jun 27, 1991 DATA=PERCENTS instead of DATA=PRED1, and line 044800
should be DATA=TIMES instead of DATA=PRED1.
Thanks to Jim Ray, National Council on Compensation Insurance, USA.
Change 09.059 The two PROC SUMMARYs in this analysis of TMS catalog
ANALTMS5 records worked fine in small shops, but with a large
Jun 26, 1991 number of devices and volsers, they ran out of virtual
addressability (i.e., virtual memory), because a CLASS
statement was used. The CLASS statement needs storage
in virtual memory for every possible combination of the
class variables data values; it creates all possible
answers in virtual memory, and then decides how many of
the answers you really wanted. With three variables in
a CLASS statement, if each variable has 100,000 unique
values (e.g., a TMC catalog of 100,000 tapes VOLSERs),
there are 10**15 cells needed per statistic calculated!
One of the historic virtues of the SAS System, in my
opinion, was that by being what I called "data driven",
SAS could solve problems that broke the back of these
"memory driven" algorithms. As long as you could first
afford to PROC SORT your data, you could summarize and
analyze any number of groups with a PROC MEANS with a
BY statement. Being "data driven" is the solution to
this ANALTMS problem. By changing the "CLASS" to "BY"
following the two PROC SUMMARY statements you change the
architecture from "memory driven" to "data driven", and
the virtual memory is now independent of the number of
by groups in your data. Although the TMS.TMS dataset
was already built SORTed, so in general you do not need
an extra sort to summarize, I chose to ensure the sort
order by inserting PROC SORT before the PROC SUMMARY.
However, a PROC SORT was required for the second PROC
SUMMARY, but its input dataset was already a summarized
temporary data subset of the original TMS.TMS dataset.
Since PROC MEANS now actually invokes PROC SUMMARY, this
reminder is not about PROC SUMMARY itself, but rather it
contrasts the "in memory" CLASS statement algorithm to
the "data driven" BY statement implementation. For MXG
data, the BY statement implementation is recommended, as
we DO have many possible unique values, and being "data
driven" not only uses fewer CPU and I/O resources, but
of perhaps even greater importance, being "data driven"
means that your daily production reports use exactly
the same amount of virtual memory every day, and they
will not awake you at 3am because today's data happened
to have more unique values then your test job (you know,
the one you tested in a 4MB region yesterday afternoon!)
Change 09.058 The sample code in comments that could be used to build
RMFINTRV RMFINTRV directly from SMF records did not have the BY
Jun 26, 1991 list correct for TYPE70PR dataset, causing SAS to think
there were duplicate records. The BY list now matches
its BUILDPDB counterpart.
Thanks to Chuck Hopf, Primerica, USA.
Change 09.057 Semicolons were missing at the end of lines 032300 thru
VMACTMS5 032500 in VMACTMS5 and lines 019700 thru 019900 in
VMACTMS, after support for CA/1 Release 5 was added.
Jun 26, 1991
Thanks to Chuck Hopf, Primerica, USA.
Change 09.056 Support for the eleven subtypes of the NETVIEW FTP (file
EXFTP01X transfer program) User SMF record creates eleven FTP...
EXFTP02X MXG data sets, one per subtype, from FTP R1.0.
EXFTP03X The FTP support uses the new "subtype-level-processing"
EXFTP04X MXG architecture, which will be used for all future
EXFTP11X development, and eventually will be retrofitted into all
EXFTP12X of the existing products which create record subtypes.
EXFTP21X The specification and naming conventions of this new MXG
EXFTP22X architecture is presently contained in member VMACFTP,
EXFTP23X but these initial descriptions will be elaborated into
EXFTP24X a formal MXG architecture specification member later.
EXFTP25X "Subtype-level-processing" is completely compatible with
FORMATS the existing MXG "record-level-processing" architecture,
IMACFTP and most sites won't even notice the difference, but for
TESTUSER records with lots of subtypes, the change is required to
TYPEFTP maximize the flexibility and optimize the construction
VMACFTP of MXG programs in the future.
Jun 24, 1991 FTP just happened along at the right time!
Thanks to Stephen Bell, Bunchungszentrale der westfalisch, GERMANY.
Change 09.055 Another MXG error caused STOPOVER with MVS/ESA 4.2 type
VMAC78 78 subtype 3 records because line 171600 should have
Jun 23, 1991 been @; instead of just a semicolon. At the same time,
the ?? format modifier were added to the input for the
IODFDATE/IODFTIME variables to eliminate the INVALID
DATA messages. Mini-tutorial on SAS hex dumps:
The hex dump produced by this error was not for a type
78 record, but instead contained a type 74 record.
The PUT _ALL_ list of variable=value after the dump
showed the _N_ value of 4, but the number on the hex
dump CHAR line was 5! The _N_= value is the accurate
indicator, and shows when the error occurred, and only
if the _N_= value equals the hex dump's record number,
do you know the dumped record is the problem record.
Why did SAS dump the next record? I don't know why,
but for some logic errors, SAS reads into the next data
record before realizing it has switched records, and so
when it goes to dump the record currently in its buffer
it has already gone past the problem record.
Thanks to Tom Parker, Hogan Systems, USA.
Change 09.054 MXG 9.1 corrections for MVS/ESA 4.2 in Change 9.001 were
VMAC7072 inconsistent. Part b was in XMAC7072 but not VMAC7072,
XMAC74 and parts d and e were in VMAC74 but were incorrect in
Jun 23, 1991 XMAC74. Only MVS/ESA 4.2 records were affected.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Dan Barbatti, Southwestern Bell, USA.
Change 09.053 The PROC DATASETS DDNAME=VMXGVVDS ... should have been
ANALVVDS PROC DATASETS DDNAME=MXGVVDS
Jun 21, 1991
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 09.052 SAS 6.06 Usage Note 2066 discusses an unfixed error that
VMAC37 causes the SAS CHARCODE option (see SAS 6.06 Language
ANALDBTR guide page 741) to unexpectedly replace characters that
ANALPDSM are inside a comment block. In VMAC37, a ?- inside a
BUILDPDB comment block was replaced by an underscore, reducing
BUILDPD3 the source line by one byte, which moved the line number
TESTUSER from column 73 to column 72, causing a syntax error!
VMACACF2 MXG did not know of this vulnerability and just happened
VMACTEST to have the ?- in a comment. Nine other MXG members had
VMAC110 either ?- or ?) pairs in comments, and all have been now
VMXGHSM changed to avoid the exposure until 2066 is fixed,
Jun 19, 1991 although SAS option NOCHARCODE could probably been used.
Thanks to Willie Antman, Federal Deposit Insurance Corporation, USA.
Change 09.051 Shared Medical System's CICS application creates its own
IMACEXCL header segment with an unexpected MNSEGCL value, which
VMAC110 caused MXG to fail. These segments were detected and
Jun 19, 1991 skipped over with the first part of this change, but MXG
Jun 27, 1991 still failed with SMS CICS records, because they use the
CICS EXCLUDE option to exclude some fields from their
transaction record.
You can tell a region has EXCLUDEd fields if the value
of MCTSSDRN in the MXG error message is 60 or less;
a minimum of 61 fields are in non-EXCLUDEd CICS data.
The previous "support" in MXG for EXCLUDE/INCLUDE was
marginal at best, was not externalized, and actually
required you to create a modified copy of VMAC110!
Because MXG promised to fix every Error condition, the
second part of this change completely redesigned the MXG
support for CICS EXCLUDEd fields, and now provides an
externalized tailoring member, IMACEXCL, that permits
processing a multiplicity of different CICS regions that
can even have different EXCLUDEs. IMACEXCL not only is
the documentation for this MXG support, it also contains
the code to read the SMS transaction records and shows
how changing only one line in your IMACEXCL will enable
SMS record processing for two specific APPLIDs.
Thanks to Phil Shelley, Jewish Hospital HealthCare Services, USA.
Thanks to Tim Cartwright, University of Wisconsin - Madison, USA.
Change 09.050 WEEKBLD job failed when automatically submitted by a job
Submitting but ran without error when submitted from TSO. Adding
Jun 19, 1991 DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000) to the DDNAME in
the submitting job that points to the INTRDR solved the
problem. Without that DCB, the SYSIN dataset that SAS
tried to read had VBA or VS attributes, and SAS failed
with "Undetermined I/O Failure". By the way, that I/O
error from SAS always means the error is in a "flat"
file (SYSIN, or INCLUDEd, or FILE/INFILE), and is not
related to I/O to/from a SAS data library.
Change 09.049 Execution of MXG 8.8 under SAS 6.06 under MVS/370 (i.e.,
SAS 6.06 pre-MVS/XA) is possible for BUILDPDB, but testing and
Jun 19, 1991 validation is still on-going. This note identifies the
current recommendations for SAS 6.06 under MVS/370.
-Use maximum REGION size you can possibly get.
-Specify OPTIONS BLKSIZE=1024 BUFNO=1; to minimize the
virtual storage (but at the cost of additional I/O and
CPU time).
-Change CONFIG member to specify MEMSIZE=6M (because SAS
will try to get more, even when it doesn't exist on your
370 system).
-Add SAS option MINSTG to the CONFIG member (to free up
storage after each PROC/DATA step).
-Let me know if it works. Last site testing got through
to building the SPUNJOBS before memory failure, and has
not yet reported if MINSTG solved their problem.
Thanks to Moji Varian, Congressional Information Services, USA.
Change 09.048 The MXG circumvention for IBM's DFP type 42 records in
VMAC42 Change 9.024 protected the STOPOVER condition, but the
Jun 19, 1991 MXG test for wrong record length was invoked first, and
the bad records were thrown away instead of processed
(after a message was printed on your log, however).
This enhancement protects the STOPOVER and prevents the
MXG message on the log. In addition, the PIB8. fields
in the subtype 1 (written only if you have PDSE enabled)
are now input as ?? 8. instead of PIB8. There is still
a long series of questions at IBM DFP, because some of
the statistics (but not all) appear to be accumulated
across records, and the "Current" time stamp is several
minutes earlier than the SMF timestamp. Two APARs now
exist for the type 42, OY39393 and OY44995, and when
PTFs exist, they should be installed.
Thanks to Joe Faska, Depository Trust, USA
Change 09.047 TYPE78CU IO Queuing data will be missing if microcode
VMAC78 level CP HH0124 has been installed. The fix to IBM's
Jun 19, 1991 firmware is microcode level CP HH0130.
Thanks to Miller Dixon, Continuum, USA.
Change 09.046 TYPE6156 variable ACTION is not consistent with the type
VMAC6156 of function creating the respective record, according to
Jun 19, 1991 IBM APAR OZ82412 (1985!). MXG variable ACTION decodes
SMF6xSUB into INsert, DElete, or UPdate, but the APAR
says the field is valid only in the type 60 VVDS record
and is invalid in type 61, 65, or 66 records. Sister
APAR OZ82414 also claims that SMF6xFNC and SMF6xTYP are
equally invalid (which MXG decodes into FUNCTION and
ENTTYPID respectively). In MVS/ESA 4.2 SMF manual, the
SMF6xFNC is now a reserved field, but both SMF6xSUB and
SMF6xTYP are still documented. Your guess is as good as
mine, but beware!
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 09.045 NETSPY accounting record offset cause INPUT STATEMENT
VMACNSPY EXCEEDED RECORD LENGTH STOPOVER error. Change the line:
Jun 10, 1991 @OFFNSPY+OFFSMF+169 to read @OFFNSPY+OFFSMF+168
Thanks to Doug Drain, National City Bank, USA.
Change 09.044 An interesting change in Connect Time ("IOTM") measures
IOTM was observed in GTF traces. The instance was 4K I/O, and
Jun 8, 1991 the normal connect of 2ms per I/O was observed most of
the time, but occasionally the connect time was 18ms!
The device was a 3390 DASD behind a Model 2 3990 (i.e.,
non-cached CU). The additional connect time was traced
to a change in IBM's handling of missed RPS reconnects.
Previously, IBM would simply try, and try, and try again
to reconnect, recording 16ms (one revolution) disconnect
time for each miss. IBM has apparently implemented the
same scheme that other vendors use to limit reconnects:
after some number of misses (perhaps 2?), IBM now tries
continually to reconnect, and when it is finally able to
connect to the channel, it now SEARCHes to find the
desired sector and record. SEARCH, of course, records
not disconnect time, but now records connect time, for
the device in type 74 and for the job in type 30. In
principle this is probably good, since it limits how
long your I/O can sit waiting for reconnect, but it
could lead to problems in repeatability of connect time
for I/O measurement and accounting, because now the
connect time is a function of channel and path conflicts
rather than just the amount of I/O transferred. Since
multiple paths are typically available to devices, there
is much less probability of RPS misses now than in the
past, and the variability in connect time will not be a
significant factor in the absence of RPS misses.
Thanks to Bill Fairchild, Landmark, USA.
Change 09.043 The link edit step in ASMVTOC specifies AC=1, but later
ASMVTOC comments in the program state that authorization is NOT
Jun 8, 1991 required. The comments are correct, and the AC=1 has
been removed from the LKED step.
Thanks to David Ehresman, University of Louisville, USA.
Change 09.042 SAS 6.06 and MXG JCLTEST6 will fail in REGION=2048K with
JCLTEST "OPEN ABORTED FOR SOURCLIB, NO MEMORY FOR DATA BUFFERS".
JCLTEST6 The REGION=4096K is required, but MXG JCL comments were
Jun 8, 1991 incorrect and implied 2048K was enough. It isn't.
Thanks to David Ehresman, University of Louisville, USA.
Change 09.041 Sites with TLMS may encounter 713-04 ABENDS when putting
TLMS SAS datasets on tape, if the TLMS installation Option
Jun 8, 1991 named DBLTIME is set to 0! If DBLTIME=0, TLMS does not
Feb 25, 2006 permit "double opens", but when you build your PDB on
tape, SAS opens and closes each SAS dataset, which OS
sees as multiple opens, and TLMS inhibits. You can set
DBLTIME=1 and TLMS will let the same jobname open the
same tape data set multiple times, as long as the time
between is less than one hour (DBLTIME=2 give 2 hours!).
Unfortunately, DBLTIME is an installation-wide option.
Feb 25, 2006: Using DISP=(MOD,CATLG) instead of using
DISP=(NEW,CATLG) eliminated the ABEND!!!
Thanks to Nancy Vance, ???.
Thanks to Terry Poole, SAS Institute Cary, USA.
Thanks to Carol Arnold, BBH, USA.
Change 09.040 Reading VTOC records created by ASMVTOC with VMXGVTOF,
VMXGVTOF even after Change 9.035 (MXG 9.1), was still incorrect.
Jun 7, 1991 The logic of VMXGVTOC was not properly migrated into
VMXGVTOF, and the first extent on each volume was lost.
You might not have noticed the loss, if the first extent
was free space, but if the first extent was a real
dataset, the entire dataset record could have been lost.
The simple fix is to change VMXGVTOF as follows:
was: must be:
SET EXTENTS END=EOF; SET TOTRACKS EXTENTS END=EOF;
Thanks to Roger Edwards, South Carolina Electric & Gas, USA.
Change 09.039 MVS/ESA 4.2 was still not fully validated, even in 9.1.
VMAC74 Yet another error slipped thru, causing STOPOVER on type
XMAC74 74 subtype 2 RMF records:
Jun 7, 1991 -Find the following statement and changes as shown:
was must be
R742STCN $CHAR4. R742STCN $CHAR8.
-There are three lines containing SKIP=OFFDDSS that must
be changed as follows:
was must be
SKIP=OFFDDSS-52; SKIP=LENDDSS-56;
SKIP=OFFDDSS-72; SKIP=LEN742PO-72;
SKIP=OFFDDSS-44; SKIP=LEN742MO-44;
Thanks to Tom Elbert, John Alden Life Ins, USA.
Thanks to Dan Barbatti, Southwestern Bell, USA.
----Changes thru 9.038 were included in MXG 9.1 dated June 3, 1991------
Change 09.038 Support for Boole and Babbage's CONTROL-D SMF record
ANALCTLD is added by this user contribution. Release 1.6.4 has
EXTYCTLD been processed with this data, which creates the
IMACCTLD CONTROLD data set. Member ANALCTLD provides examples
TYPECTLD of potential reports.
VMACCTLD
Jun 3, 1991
Thanks to Brian Cobb, Credit General Industriel, FRANCE.
Change 09.037 Variable FCOTHCN was not kept in CICSTRAN dataset, for
VMAC110 no good reason, but now it is!
Jun 3, 1991
Thanks to Herr Weismann, Zurich Versicherung Frankfurt, GERMANY.
Change 09.036 Variable APPLID in NSPYVIRT was not kept, causing later
VMACNSPY report programs to fail. Add APPLID to KEEP= list.
Jun 3, 1991
Thanks to Chris Morgan, Post Office (UK), ENGLAND.
Change 09.035 A SAS 5.18-only problem caused when SYMPUT references an
VMXGVTOF unreferenced variable caused VMXGVTOF to not process all
Jun 3, 1991 extents. The MXG circumvention is to insert the line
LENGTH NOBS 4; ahead of the CALL SYMPUT line,
which satisfies the 5.18 compiler and makes the %DO loop
iterate. In addition, there was a redundant PROC SORT
of the EXTENDS data set preceding the %DO which did no
harm, but did no good, and which has been removed. This
was a combined discovery of several SAS folks:
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Thanks to Jan van Lent, SAS Institute, NETHERLANDS.
Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.
Change 09.034 Two exits enhance BUILDPDB tailoring so that changes to
BUILDPDB are externalized for sophisticated users. Exit
BUILDPD3 EXPDB304 is taken so TYPE30_4 step variables can be
EXPDB304 changed/added into PDB.STEPS or summed into PDB.JOBS.
EXPDB6 is taken so TYPE6 print variables can be changed
May 31, 1991 into PDB.PRINT or summed into PDB.JOBS. Comments in the
exit member describe how it can be used. Complete tests
have not been completed; use with caution until this
note is replaced with validation results. At worst, you
may have to modify SPUNJOBS if you use these exits!
Thanks to Jane Graffum, Blue Cross Blue Shield of Massachussets, USA.
Change 09.033 Invalid NETSPY records are now protected from STOPOVER
VMACNSPY by comparing the expected length ENDREC to LENGTH and
May 31, 1991 deleting bad records. LEGENT is investigating the data
(NSPYREC='C' with ENTL=288 and ENTN=216-->62208 bytes
in a record only 21,000 bytes long)!
Thanks to Wilson Wong, Salomon Technology Services, USA.
Change 09.032 DB2 Audit Reports (PMAUD01, PMAUD02, or PMAUD03 were not
ANALDB2R produced if PDB=SMF was specified on %ANALDB2R. These
May 31, 1991 reports ARE produced if instead you use TYPEDB2/TYPE102
to build the datasets first, and then invoke ANALDB2R
with the PDB=PDB option to generate the Audit reports.
The PDB=SMF problem can be corrected by inserting:
AND &PMAUD01 EQ NO
AND &PMAUD02 EQ NO
AND &PMAUD03 EQ NO
two lines prior to each of the following lines:
MACRO _DB2AC1 MACRO _DB2AC2
MACRO _DB2AC3 MACRO _DB2AC4
MACRO _DB2AC5 MACRO _DB2AC6
MACRO _DB2AC7 MACRO _DB2AC9
MACRO _DB2TC2 MACRO _DB2TC10
(The omission of these three lines testing if you had
requested an Audit report caused the PDB=SMF option to
generate the above Macro line, thereby causing MXG to
create 0 observations in the datasets needed by the
audit report.
Change 09.031 The example JCLDASD had incorrect DDNAMEs, and ANALVVDS
ANALVVDS had conflicting DDNAMEs.
JCLDASD -In ANALVVDS both occurrences of PERM should be MXGVVDS,
May 31, 1991 and the OPTIONS statement was deleted (it did not cause
a real problem, but it did not belong there, since it
would prevent you from controlling options externally).
-In JCLDASD step VTOC:
Comment preceding step VTOC should state
DDNAMES DISK AND MXGDASD ARE REQUIRED
MXGDASD should replace PERM as the DDNAME for the SAS
data set to be built,
DISK should replace MXGDASD as the DDNAME for the
*.ASMVTOC.VTOCDUMP dataset, and
-In JCLDASD step VVDS:
Comment preceding step VVDS should state
DDNAMES SMF AND MXGVVDS ARE REQUIRED
Change 09.030 DB2 Reports have several values that are incorrect by a
ANALDB2R factor of two. The error only affects these variables:
May 31, 1991 QB1TCBA QB2TCBA QB3TCBA QB4TCBA QISEPAGE QISECT
QISEFREE QISEDBD QISESKCT
The correction (fortunately) is simple. Delete all
15 occurrences of 2* in member ANALDB2R! I am really
embarrassed by this error due to incorrect testing.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 09.029 The MXG PDS Printing utility ALWAYS printed the SOURCLIB
VMXGPPDS PDS because "PROC SOURCE INDD=&PDSIN ..." should have
May 31, 1991 been used instead of INDD=SOURCLIB!
Change 09.028 Preliminary trend data base support for VMXAINTV dataset
TRNDVMXA has been added. Note that the trending supports only a
May 31, 1991 single VM/XA system. If you have multiple VM/XA systems
they must be separately processed and trended; I am open
to suggestions for the creation of a "SYSTEM" variable
that would allow separate VMXAINTV datasets to be added
to a common VM/XA trend data base. The TRNDVMXA member
existed in MXG 8.9, but had warnings not to use, because
of Variable Not Found messages. If you remove variables
PFXIDSER and PFXIDMDL from the SUMBY= statement in 8.9,
you will then have the MXG 9.1 version of TRNDVMXA!
Change 09.027 Complete online documentation of MXG datasets has begun!
ADOCACHE I plan to provide "Chapter FORTY" style documentation of
May 31, 1991 each data source that MXG supports and each dataset that
MXG builds, as members of the MXG library, so that they
can be viewed and searched online with your text editor.
Since most data sources have a VMACxxxx member that is
the actual processing code, I have decided on the naming
convention that VMACxxxx member's data will be described
in member named VDOCxxxx. A completed VDOCxxxx member
will contain these sections:
a. Data source description. Who, what, when, writes
the raw data records, vendor, releases supported
by which version of MXG, etc. How to process this
data source with MXG (members, IMACs, etc.).
b. MXG Data Set Documentation. For each MXG data set
built, there will be these sections:
1. Description of data set itself, usage, etc.
2. Alphabetic description in detail of every MXG
variable, including usage notes, caveats, etc.
3. Clustering of similar variables.
4. PROC PRINT with variable name of sample data.
5. PROC PRINT SPLIT='*' with label of sample data.
6. PROC MEANS of sample data.
The member VDOCACHE is incomplete, but contains CACHE90
sections b.2, b.4, b.5, and b.6 for starters.
This work will extend over time. Initial estimates of
the number of pages for MXG's 900 datasets and 36,000
variables are from 8 to 13 800-page volumes! How much
will actually be printed, in what form, when will it be
completed, etc., are still under consideration. However,
as individual VDOC.... information is completed, it will
be added to the MXG SOURCLIB (even if not finished) so
the information will always be available online.
Change 09.026 Changes in 8.293 to CACHE90 dataset in VMACACHE have now
XMACACHE been implemented in XMACACHE, the SAS 5.18 member used
May 31, 1991 to circumvent the 344 compiler error.
Change 09.025 TPX variable TPXELAP should have been INPUT as PIB4.2
VMACTPX instead of PIB4.
May 31, 1991
Thanks to Seymour J. Metz, EDS, USA.
Change 09.024 Type 42 subtype 2 SMF records (DFP 3990 SMS cache stats)
VMAC42 are invalid until module IGDDCFSR is at OY39393. The
May 30, 1991 APAR OY39393 which fixed the subtype 3 record last year
didn't get on subtype 2! Without OY39393, the CU and VOL
segments are both mis-located by their offset triplets,
and the final VOL segment is actually truncated by two
bytes). This change enhances MXG to detect and process
both corrected and incorrect format records; since the
truncated bytes happen to be reserved it could be done!
You should still install OY39393 in case IBM makes any
other change to the DFP record. But there's more. In
every other relocatable SMF record, the length triplet
value is the length of a single segment, but the DFP
developers decided to be different and store the total
length of all VOL segments in SMF42VLL (and not only do
they claim there is no standard and that the format of
the length field is up to the creator, they haven't even
said they will issue a document APAR telling you!). MXG
corrects the length value in processing. And then there
are the LTM and CTM time stamps that don't contain the
HHMMSSTH that is documented, but instead contain the
seconds since midnight! And finally, the LYY and CYY
year values contain x'005B' = decimal 91 now, but do not
document what will happen in 2000 - is the format really
0cyy where c is the century bit and the 2000 will be the
x'0100', or is the format the number of years since 1900
so that the 2000 year value will be x'0064'? I have put
code in place that assumes the century bit format, but
am checking with IBM for the actual format.
Thanks to Joe Faska, Depository Trust, USA.
Change 09.023 EXD Release 3.0 added EXDRTECD (EXD/SAR Route COde) to
IMACEXD the additional EXD variables in the type 6 record, and
May 30, 1991 now MXG creates that variable if optional EXD support
is enabled in member IMACEXD. I failed to note which
bright MXG user notified me of this omission.
Change 09.022 SAS 6.06 option VERSIONLONG was added to MXG's list of
CONFIG default options, so that SAS will print the date of the
May 30, 1991 maintenance library on your log (6.06.01.01Feb91P).
Change 09.021 Support for CADAM, Inc.'s Statistics Data File, written
TYPECADM to their DDNAME STATSEQ, provides response averages and
VMACCADM counts of function key activity for CADAM end users. The
May 30, 1991 vendor's documentation warns that the data structures
are not supported by CADAM as user-accessible data and
are subject to change without notice (but the document
is dated 1988 and MXG has decoded data from the current
CADAM version 20.12). Function key use is recorded in 32
function key slots (but note that many CADAM products
(AEC, 3D) use multiple function key tables, redefining
the slots each time, and these re-uses are NOT reflected
in the function key slots.) For each function key slot,
CADAM records the number of uses, the total service time
and the sum-of-squares service times; MXG converts the
total service time to the average service time for each
function key slot. Additionally, CADAM captures the
arrival, service, and response time statistics (average,
minimum, maximum, and distributions of these three "wall
clock" durations in 44 buckets from .01 to 120 seconds.
Service is the duration from when CADAM selects an
attention to process to the point that the operating
system has reported that the display has been updated.
Response time adds to the service time the additional
duration that an attention waits to be selected for
processing (i.e., response is from arrival of an
attention to when the display is updated after
processing the attention).
Arrival time is the interval between the arrival of
attentions at the scope. Since attentions may be
"stacked" this value forms a measure of the "human
factor" in scope usage. Arrival times significantly
lower than response times imply that scope operators
are "getting ahead of the system," and that system
performance is poor.
Thanks to Emery Johnson, Allied Automotive Data Center, USA.
Change 09.020 Support for Interlink's products (used to interchange
EXILKA20 data between IBM, DEC, Internet, etc. platforms) has
EXILKA21 been added. The products each create user SMF records
EXILKGAB which are processed into multiple MXG datasets:
EXILKGAC
EXILKGCO Product MXG Acronym Datasets Created
EXILKGDI
EXILKGRE SNS/TCPaccess ILKA ILKAST20
EXILKVCO ILKAST21
EXILKVDI
EXILKVOF SNS/SNA Gateway ILKG ILKGABRT
EXILKVON ILKGACPT
EXILKVSR ILKGCONN
EXILKVST ILKGDISC
IMACAAAA ILKGREJC
IMACILKA
IMACILKG SNS/TCPvt ILKV ILKVCONN
IMACILKV ILKVDISC
TESTUSER ILKVLOGF
TYPEILKA ILKVLOGN
TYPEILKG ILKVSTOP
TYPEILKV ILKVSTRT
VMACILKA
VMACILKG
VMACILKV
May 29, 1991
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 09.019 The CICS Dictionary Printing Utility added support for
UTILCICS CICS 3.1 dictonary, but failed to sort the data before
May 27, 1991 the PROC PRINT DATA=CICSDI31, causing "INPUT DATASET NOT
IN PROPER SORT SEQUENCE." Insert before the PROC PRINT,
PROC SORT DATA=CICSDI31 ;
BY SMFPSRVR APPLID NREC MNSEGCL MCTSSDID;
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 09.018 This significant user contribution supports SMF user
EXTYTAO records created by Fischer International's TAO (Totally
IMACTAO Automated Office) Electronic Mail System Release 3.2.1
TYPETAO at product maintenance level #82 and up. Earlier
VMACTAO releases are not supported as the vendor had previously
May 15, 1991 used a non-SMF type of recording for statistics from the
EMC2 Electronic Mail System which predates TAO.
Although not as widely used as some EMAIL systems, TAO
is a stand-alone MVS/VTAM application. AMDAHL uses the
TAO system extensively for electronic mail worldwide.
Some problems were encountered processing release 3.2.1
records due to errors in the vendors distribution
packaging. It seems that the documentation which
describes the dsects had been updated along with the
source dsects, however, the load modules were assembled
using earlier versions of the dsects. Assembly was a
problem due to user defined macros which the vendor had
not distributed in source form. These problems were
easily cleared up with a phone call to the vendor, but
some shops may encounter similar difficulties in
attempting to read the TAO generated SMF records using
this code. Several fields have been included in the MXG
code which are not yet supported (or populated) by the
vendor, although they are contained in the dsect areas
and the vendors comments supply documentation of the
future contents of these fields (at least in part).
This is NOT a complete subsystem for processing TAO SMF
records, retaining and summarizing detail data, and
producing reports. It IS a start for people (like me)
who hate using ALC dsects in SAS code.
Thanks to Joe Aldrich, Army and Air Force Exchange Service, USA.
Change 09.017 The use of IMACKEEP to drop variables in MXG datasets is
IMACKEEP vulnerable to error. If a new dataset is created by the
May 15, 1991 new version of MXG (for example, new TYPE74.. datasets to
Jul 23, 1991 support MVS/ESA 4.1), and if you don't retrofit your
changes in IMACKEEP, you will fail with a SAS Error 311,
because your redefinition in IMACKEEP won't contain the
name of the new datasets. It appears there is a better
way to drop unwanted variables from MXG datasets without
using IMACKEEP. You can simply use a DROP statement in
the EXTY.... member to drop unwanted variables. Even
those variable names are still in the KEEP= option of the
DATA statement in the _VAR macro definition, the DROP
statement overrides the KEEP= option and the unwanted
variables will be dropped. Using the EXit member to drop
variables should be less vulnerable to change, and will
eliminate the use of IMACKEEP except in cases where you
want to ADD a new variable to an MXG dataset. A caution;
you cannot drop a variable which is later used in a BY
statement.the DATA step, as one user found when he tried
to drop MVS/370 variable LCHAN using EXTY74. The drop
statement removed LCHAN from not only TYPE74 but also the
TYPE73P dataset, which is later sorted from work to the
PDB with LCHAN in its BY statement. This cause an error!
However, ain't nothin' straightforward. If you should
use a DROP statement in the EXIT member, and if that
variable should ever disappear from MXG, you will THEN
fail with a "Variable in drop list never referenced"
error! Normally this won't happen in MXG code, but
(for example), if you had used the XMAC7... members to
circumvent of the SAS (Version 5 only) 344 compiler
error, MVS/370-only variables do not exist in the XMACx
and your DROP statement in EXTY74 would fail.
But you can be even smarter than SAS. If you add a
"MXG Compiler Faker" statement for each variable to
be dropped ahead of your DROP statement, the compiler
will be faked out whether the variable exists or not,
the variable will be dropped, and you code will be
invulnerable to future MXG changes! What is this MXG
"Faker" statement? Simply for numeric variables it's:
IF N=. THEN N=.;
and for a character variable C, you must have as many
blanks between the quotes as is the length of the
character variable:
IF C=' ' THEN C=' ';
Change 09.016 Support for Computer Associates CA-1 (TMS) Release 5 has
TYPETMS completely changed the format of the TMC records, but as
TYPETMS5 there is no product release number in the TMC, MXG had to
create completely separate, but parallel members to read
VMACTMS5 the new TMC to create MXG data set TMS.TMS. A few new
May 15, 1991 variables do exist (see DOCVER09), but all of the prior
variables still exist (except for the obscure variables
READERR, WRITERR, which were replaced by 8 separate error
values). The value of variable DEVTYPE was changed so it
doesn't waste so much space; the "EIGHTEEN-TRACK" and the
"NINE-TRACK" values were replaced by "9TRK", "18TRK", and
new value "36TRK" (for the 3490-E Serpentine technology)
was added for DEVTYPE. For 3480s ("18TRK"), the IDRC
compaction status is decoded into MXG variable DEN, which
will have the value 38000 for non-IDRC 3480 tapes, and
which is set to 76000 by MXG to indicate IDRC compacted
3480 tapes. Members TYPETMS/VMACTMS must be used for
CA-1 Releases earlier than Release 5, and MXG members
TYPETMS5/VMACTMS5 must be used for Release 5.
Thanks to Debora Reinert, Nordstrom, USA.
Change 09.015 Landmark TMON/CICS Version 8 history file contains a data
TYPEMON8 dictionary record with TMMDREC='DD' which causes MXG to
May 14, 1991 fail because this record was not expected, and should be
deleted. Change lines 065900 to 0660 to now read:
TMMDREC $CHAR2. 065900
@; 065910
IF TMMDREC='DD' THEN DELETE; 065920
INPUT TMMDFLG1 $CHAR1. 066000
Thanks to David A. Faught, FCC National Bank, USA.
Change 09.014 The DROP=_FREQ statement in IMACPDB was supposed to have
IMACPDB been DROP=_FREQ_ (with underscore on both sides), so that
May 13, 1991 the _FREQ_ variable created (only in SAS 6.06+, when PROC
MEANS was replaced by PROC SUMMARY) would be dropped. The
"misspelling" caused _FREQ_ to exist in both PDB.JOBS and
PDB.SPUNJOBS.
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 09.013 New PDB.SPUNJOBS dataset variables INITTIME/JINITIME were
SPUNJOBS not kept as 8-bytes (which caused their value to be
May 13, 1991 truncated by up to 255 seconds) and were not formatted.
Both are now explicitly in the LENGTH statement and a new
FORMAT statement was added.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 09.012 Trending of TMON/CICS dataset MONIDBDS built from TMON
ASUMDBDS Release 7 data (i.e., using MXG member TYPEMONI) will
TESTOTHR cause ASUMDBDS to fail with variable APPLID not found, as
May 13, 1991 APPLID did not exist in TMON Release 7. Adding after the
INCODE= operand:
IF APPLID=' THEN APPLID=' ';
will protect ASUMDBDS for either TMON Release 7 or 8.
(This error was not detected because MXG's TESTOTHR step
of JCLTEST had member TYPEMON8 included after TYPEMONI
and then ASUMDBDS was included, masking the error. Now,
ASUMDBDS (and ASUMCICS) are invoked after TYPEMONI, and
then again invoked after TYPEMON8. Note that there is
no way to actually test TMON/CICS with step TESTOTHR and
actual data records; the single MONICICS DDNAME is used
for both TYPEMONI and TYPEMON8, and thus with real data,
one or the other will fail in step TESTOTHR. To really
test TMON/CICS data with MXG, use a separate job with
only the appropriate TYPEMONx member.)
Thanks to William Padilla, Farmers Insurance Group, USA.
Change 09.011 Landmark's TMON/CICS Release 9.0 records will have to be
TYPEMON8 converted to Release 8.1 format for processing by MXG's
May 13, 1991 TYPEMON8 member; Landmark does not intend to make the 9.0
formats available. But TMON/CICS 9.1 will be available
late 1991 or early 1992, and will have significant change
in its records that will be made available and thus 9.1
records will be supported by MXG natively late this year.
Change 09.010 TYPE57 data produced MXG message "INVALID ESS SECTION'
VMAC57 and the record was skipped because IBM documented the LEN
May 13, 1991 and NR of ESS sections as 4 bytes when in fact they are
only two bytes. Lines 010100 and 010200 (where LENESS &
NRESS are INPUTed) should be PIB2. instead of PIB4.
Thanks to David A. Faught, FCC National Bank, USA.
Change 09.009 Processing HSM MCD, etc. data sets may cause STOPOVER,
VMXGHSM may print INVALID DATA messages if HSM dates are nulls,
May 13, 1991 may print INVALID ARGUMENT messages because DATEJUL()
were not protected, misspelled TTOCTYP with an E, and
did not input TTOCALT, the Alternate VOLSER. The STOPOVER
was corrected by moving the two tests for 'junk" records
(SUBSTR(MCDDSN) containing '99999') to immediately after
the variable MCDDSN was input (by breaking the input
statement at that point with @;). The INVALID DATA was
eliminated by preceding all PDB4. formats with the ??
format modifier, and the INVALID ARGUMENT was eliminated
by replacing all DATEJUL(x) functions with:
IF x GT 0 THEN x=DATEJUL(x);
ELSE x=.;
The occurrence of TTOCTYPE was respelled TTOCTYP, and was
formatted $HEX2. instead of HEX2., and the preceding
TTOCKEY variable was now formatted HEX2. Finally, at the
end of the TTOC section, new variable TTOCALT $CHAR6. is
now input, labeled 'VOLSER OF ALTERNATE VOLUME' and kept.
Thanks to Tim Noone, American United Life Insurance Company, USA.
Thanks to Joe Ellis, Shelby Insurance, USA.
Change 09.008 SAS 5.18 344 Compiler Limit circumvention member VMAC110M
CICINTRV (that was added by Change 8.065 to reduce Iterative DOs)
VMAC110M fails with BUILDPDB because after VMAC110M was tested,
May 9, 1991 member CICINTRV was added to BUILDPDB, but VMAC110M does
not create the datasets required by CICINTRV. Since the
purpose of VMAC110M was to suppress CICS/ESA Statistics
processing, and since CICINTRV processes only CICS/ESA
Statistics data sets, the easiest circumvention that lets
you use VMAC110M (by copying and renaming it to VMAC110
in your USERID.SOURCLIB) is to also create a member named
CICINTRV in your USERID.SOURCLIB that contains a blank
line. This will possibly circumvent the 344 error and
will definitely eliminate the "Data Set Not Found" caused
by VMAC110M. However, just to be really robust, the
member VMAC110M was corrected by this change, and now it
does create the CICS/ESA statistics datasets (with zero
observations, and with only the seven variables needed by
CICINTRV) so if a future user does not see this change,
and uses only VMAC110M, he/she won't be burned!
Thanks to John Hassman, Texas Education Agency, USA.
Change 09.007 Applies only to MXG 8.9. Change 8.304 added retrograde
VMAC79 support for RMF 3.5.1 type 79 records, but I miss-typed
May 9, 1991 two lines. In line 037900, R792ARS should be PIB2. vice
PIB4., and in line 039630, R792TWSS should be PIB2. vice
PIB4. Without this change, RMF 3.5.1 records STOPOVERed.
Thanks to Gordon Keehn, Fidelity Mutual Life Insurance Company, USA.
Change 09.006 Minor documentation. Member IMACAAAA failed to list the
IMACAAAA IMACCMF member (Boole's CMF SMF Record ID) in its index,
IMACCMF and member IMAC370 was deleted, as it was not referenced
IMAC370 and should have been deleted during testing; it was going
May 8, 1991 to contain MVS/370-only-RMF processing but was discarded
as a bad idea. It serves no purpose.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 09.005 Minor, unless you tried to build your PDB on tape! The
IMACCICS new SPUNJOBS logic added in MXG 8.8 tried to read the
SPUNJOBS PDB.SPIN26 at the same time it was writing PDB.SPUNJOBS
May 8, 1991 which can't be done if your PDB DD points to tape! Note
that if you really want your PDB on tape you must not
only correct this design error in SPUNJOBS, but you must
also change the default PDB values in member IMACCICS to
WORK, and (if you actually have CICS data) use EXPDBOUT
to then PROC COPY IN=WORK OUT=PDB; SELECT CIC:; as is
now described in comments in IMACCICS. To fix SPUNJOBS,
insert: DATA SPJB26; SET PDB.SPIN26; immediately before
the line containing DATA PDB.SPUNJOBS; and in the
following MERGE statement change PDB.SPIN26 to SPJB26 so
that only one PDB dataset is open at a time. Also,
PROC DATASETS NOLIST;
DELETE SPJB30_1 SPJB30_4 SPJB30_5 SPJB26;
was added at the end of the member. It was also realized
that SPIN6 processing is not currently in SPUNJOBS, and
that will be corrected in another change.
Thanks to Tim Hill, Pacific Bell, USA.
Change 09.004 Minor. Lines 011900 and 012000 both contained */ after
DIFFHSM the semicolon, which should have raised a syntax error,
May 8, 1991 but didn't. Instead, variable DSRNTRKW was never DIF()d!
Thanks to Joanne Turpie, New Zealand Dept. of Labour, NEW ZEALAND.
Change 09.003 Minor. The last occurrence of variable OTHRACTV (in the
TRNDRMFI NORM1= list) should have been OTH0ACTV.
May 6, 1991
Change 09.002 This change is cosmetic, but should be noted. The 3490E
VMACUCB cartridge tape (serpentine, bi-directional) device has a
May 6, 1991 DEVTYPE of 81x, which was formerly assigned to the 9348.
MXG will now report 3490E instead of 9348. Note that the
3490 (non-E variety) cannot be differentiated from 3480s.
And of course 3480s with and without IDRC (compression)
are not identified at the device level. And what's going
to be real fun is trying to figure out what kind of tape
you hold in your hand; all three used identical media
cartridges, but are incompatible; 3490E cannot be read
by 3490/3480/3480-IDRC, and 3490/3480IDRC cannot be read
on 3480. Note MXG shipments are 3480-non-IDRC!
Thanks to Jay Arbabha, Principal Mutual Life Insurance Company, USA.
Change 09.001 MVS/ESA 4.2 data records finally arrived and demonstrate
VMAC30 that it is risky to distribute software that has not been
VMAC7072 tested with actual data records. On the other hand, if
VMAC73 I had waited for the data, you would still be waiting for
VMAC74 the software! These errors ONLY happen with MVS/ESA 4.2
XMAC30 data records, and only one causes an actual error.
XMAC7072 a.In VMAC30, find the line containing
XMAC73 @109+OFFSMF SMF30ASO +8 /*RESERVED*/
XMAC74 and change it to read:
May 6, 1991 @109+OFFSMF +8 /*RESERVED-SMF30ASO*/
This was a soft error, only causing your log to be filled
with "INVALID DATA FOR SMF30ASO" messages and a hex dump.
(If it's not clear, SAS was trying to input SMF30ASO as
an EBCDIC numeric field because there was no format item
following the variable name in the input statement. What
was desired was to skip over 8 bytes, and note that this
reserved field was called SMF30ASO by IBM.)
b.VMAC7072 causes "INVALID DATA FOR IOCRFC/CPURFC" messages
because these two fields no longer exist in 4.2, and the
fields now contain hex zeros instead of EBCDIC zeros!
Find the lines containing
@OFFWRKC+14 IOCRFC 3.
@OFFWRKC+17 CPURFC 3.
and add ?? format modifier between the variable and its
format:
@OFFWRKC+14 IOCRFC ?? 3.
@OFFWRKC+17 CPURFC ?? 3.
The ?? format modifier suppresses the hex dump and the
message, and sets the variable's value to missing.
This is a soft error.
c.VMAC73 causes "INVALID DATA FOR IODFDATE" messages.
Find the lines containing
IODFDATE YYMMDD8.
IODFTIME TIME8.
and add ?? format modifier between the variable and its
format:
IODFDATE ?? YYMMDD8.
IODFTIME ?? TIME8.
because not all records contain this new date/time data.
This is a soft error.
d.VMAC74 also causes "INVALID DATA FOR IOFDATE" messages
for the same reason as the VMAC73. Apply the fix above
for IOFDATE (paragraph c) to the VMAC74 member.
e.VMAC74 causes a STOPOVER condition. This is not soft!!!
Find the three lines reading:
DLYDIRTM PIB4.6
@;
SKIP=SKIP-20;
and change them to read:
DLYDIRTM PIB4.6
DEVDYNCH $CHAR1.
+3
@;
SKIP=SKIP-24;
These extra four bytes were added by IBM, and were added
in the SMF manual, and were even vertically barred, but
I simply missed them. Sorry for the inconvenience.
The actual change in MXG VMAC74/XMAC74 9.2 and later is
more extensive that this "quick fix" printed changed.
Thanks to Diane Eppestine, Southwestern Bell, USA.
LASTCHANGE: Version 9
=========================member=CHANGE08================================
/* COPYRIGHT (C) 1984,1991 MERRILL CONSULTANTS DALLAS TEXAS USA */
I. This is the Production Version MXG 8.9, dated May 1, 1991.
All Changes listed in this member have been installed in MXG 8.9.
MXG 8.9 is a replacement for MXG 8.8 (which had been shipped April 8).
The few minor errors that had been found in 8.8 were corrected, and the
support for Fujitsu's FACOM PDL data was enhanced.
This MXG 8.9 library contains 1370 members, 309,959 lines of code,
and builds 903 datasets with 31,868 variables documented in DOCVER!
Member NEWSLTRS contains all newsletters, including NINETEEN which
contains the Installation and Compatibility notes for MXG Version 8.
Changes thru 8.078 were printed in NEWSLETTER SEVENTEEN, Jul 10, 1990.
Changes thru 8.087 were contained in MXG PreRelease 8.2, Jul 20, 1990.
Changes thru 8.119 were contained in MXG PreRelease 8.3, Aug 26, 1990.
Changes thru 8.157 were contained in MXG PreRelease 8.4, Oct 9, 1990.
Changes thru 8.168 were contained in MXG PreRelease 8.5, Oct 27, 1990.
Changes thru 8.169 were contained in MXG PreRelease 8.6, Oct 27, 1990.
Changes thru 8.186 were printed in NEWSLETTER EIGHTEEN, Dec 3, 1990.
Changes thru 8.203 were contained in MXG PreRelease 8.7, Dec 18, 1990.
Changes thru 8.283 were printed in NEWSLETTER NINETEEN, Apr 8, 1991.
Changes thru 8.285 were contained in MXG Production 8.8, Apr 8, 1991.
Changes thru 8.305 were contained in MXG Production 8.9, May 1, 1991.
Critical Notes:
MXG Compatibility Exposures in MXG Version 8 for Existing Users:
a. The SAS options required by MXG for execution have changed.
b. Execution under SAS 6.06 is different than under SAS 5.18.
c. To create your PDB directly on tape, IMACCICS must be changed.
d. If you have added additional SMF record processing to BUILDPDB,
and you still execute MXG under SAS 5.18, you may encounter a
SAS Version 5.18 Compiler Limit "344" error. BUILDPDB is larger.
See Change 7.038 in member CHANGE07 for 344 error circumvention.
Please note the new MANDATORY options for SAS 5.18 and 6.06 in the
SAS Notes in Newsletter NINETEEN. Member SASOPTV5 or CONFIG in this
library can be used to specify these options, but if you do not pay
attention to ALWAYS include the appropriate member, you will be
very frustrated by unresolved macro reference or 180 syntax errors!
MXG Newsletter NINETEEN contains Installation Instructions that MUST be
complied with. (Contained in member NEWSLTRS).
SAS 6.06 is repaired, and with the March 1991 or later SAS Usage Notes
tape, it is now MXG's recommendation that you begin your migration
to SAS 6.06. The March tape contains 100% pre-applied SAS ZAPs for
all SAS products, in IEBCOPY format, making SAS maintainance a snap!
Z6062141 is a critical ZAP that MUST be installed if you do not
have the March SAS tape installed.
IV. Documentation MXG Software.
Member CHANGES always contains the version number of MXG Software, and
it lists changes that were installed in that version. Several members
named CHANGEnn are the contents of changes when that "nn" MXG version
was created. Details on enhancements will be found in the text of the
Change description that made the enhancement (in those CHANGES and
Changenn members). The CHANGE members can also be scanned online (with
SPF BROWSE) to search for specific product name references (CICS,
MVS/ESA, etc.). The text of each Change identifies the member(s) that
were altered or added by that change, and documentation (especially for
new product support) is often found in comments at the beginning of
those named members.
Member NEWSLTRS contains the text of all newsletters (up through the
newsletter that accompanied that MXG release). You can search NEWSLTRS
for product name or acronym to find the technical notes, APARs, etc.
from all MXG newsletters. (The Change Log of each Newsletter is not
replicated in member NEWSLTRS, since that text will be in CHANGES).
Member DOCVERnn is the "delta-documentation" (in abbreviated Chapter
FORTY style) of only those variables and datasets that were changed
between successive MXG Versions. There is a DOCVERnn "delta" member in
the MXG library for each version.
Penultimately, member DOCVER contains abbreviated Chapter FORTY format
that documents all of the 31,868 variables from the 903 MXG data sets
that can be created by that MXG Software Version (alphabetically by data
set name and variable name).
Finally, MXG is a source distributed system, so you can often find your
answer by BROWSE/EDIT of the source member, especially the VMAC...'s
that actually create the data set, or ANAL....'s that analyze the MXG
datasets. In many instance, the MXG Variable is the IBM or Vendor's
documented field name. In other cases, the IBM field name is carried as
a comment beside the MXG variable that contains that information. In
all cases, you should also have the Vendor's documentation of the
particular data record you are using for analysis.
I. MXG SOFTWARE Version status.
1. Production MXG Version is now MXG 8.8, dated April 8, 1991.
MXG Version 8.8 is shipped with NEWSLETTER NINETEEN to all sites, and
should be installed as soon as possible. MXG 8.8 is mandatory for MXG
execution under SAS 6.06 or later, has MANY major enhancements, and has
been testing at over 500 MXG sites. MXG 8.8 WILL SAVE YOU TIME LATER,
SO PLEASE INSTALL IT AS SOON AS POSSIBLE. Major MXG 8.8 enhancements:
Support for Amdahl MDF Performance Tool "MPT" SMF record.
Support for Amdahl MDFTRACK record.
Support for Amdahl SPMS Cache DASD Controller SMF record.
Support for Boole IMF 2.6 (for IMS 3.1).
Support for Cray COS 1.16 Operating System Data.
Support for DASD Space management with fast VTOC read program.
Support for DASD VTOCs and VVDSs for SMS variables.
Support for Hitachi processors MLPF.
Support for IBM CICS/ESA 3.1.1 Monitor and Statistics Data.
Support for IBM DCOLLECT data records.
Support for IBM DCOLLECT data records.
Support for IBM HSM user SMF records, including deaccumulation.
Support for IBM Hiperbatch statistics in SMF type 14, 15, & 64.
Support for IBM IMS/ESA 3.1.
Support for IBM MVS/ESA 4.1.
Support for IBM MVS/ESA 4.2.
Support for IBM NETVIEW/NPM 1.4
Support for IBM RMF 4.1.2 (APAR OY29112, PTF UY90666).
Support for IBM RMF 4.2.0
Support for IBM RMF 4.2.1
Support for IBM SMS records (HSM, VVR, VVDS, SMS/DFP) enhanced.
Support for IBM VLF subtype 3 in SMF type 41.
Support for IBM VM/ESA Version 1 Release 1.0 (ESA Feature).
Support for Landmark's Monitor for CICS Version 8.
Support for Landmark's TMON/MVS Version 1.1 and spanned records.
Support for Oracle SMF record.
Support for RSD WSF2 version 3.3.4.
Support for Tangram Arbiter Version 2.1.1.
SPIN library fills due to JES2 maintenance circumvented.
CICS Shutdown Statistics no longer printed, only in SMF or MXG.
Documentation of Trend Data Base processing.
Documentation of DB2 analysis.
Documentation of IMAC.... installation tailoring members.
Corrections in IMS Log measurement of INPQUETM/RESPNSTM.
NPM records from VM can be processed.
Testing of MXG Version 8.8 under SAS 6.06 Version 6.06.
DB2 trace SQL reporting.
DB2 trace Transit Time reporting.
BUILDPDB/3 Enhancements.
- SPIN library copied into PDB for backup and recovery
- ACCOUNTn and SACCTn added to SMFINTRV.
- TYPE25 processing added for JES3.
- PDB.SPUNJOBS allows reporting on jobs still in SPIN library.
MXG Software next-release agenda (subject to change):
Validation of EXPLORE/VM, EPILOG/CICS, and restructure of the
AS400 support was not complete as this was written.
DB2 2.3 will be supported when available, late this year.
CICS 3.2 will be supported when available, later this year.
Landmark CICS Version 9 will be developed later this year.
Cray UNICOS is a future consideraton.
VAX/VMS Account/SPM is a future consideration.
JES3 Tape Mount Merge with TYPETMNT is a future consideration.
2. Recent IBM Announcements and their MXG support.
IBM has made many major announcements relating to the System/390, the
ES/9000 family, and ESCON capabilities. The following table identifies
announced availability dates for the IBM product, and the corresponding
Version/PreRelease of MXG required to support that IBM product.
Product Name Availability MXG Version
Date Required
VM/ESA 1.1.0 (370 Feature) Oct 26, 1990. 7.7
RMF 4.1.2 (for MVS/ESA 3.1.3) Sep 7, 1990. 8.8
RMF 4.2 (for MVS/ESA 4.1) Oct 26, 1990. 8.8
MVS/ESA 4.1 Oct 26, 1990. 8.8
MVS/ESA 4.2 Mar 29, 1991. 8.8
RMF 4.2.1 (for MVS/ESA 4.2) Mar 29, 1991. 8.8
VM/ESA 1.1.0 (ESA Feature) Mar 29, 1991. 8.8
VM/ESA 1.1.1 Dec 27, 1991. ???
IV. SAS Notes.
1. SAS 6.06 has been repaired, and can be safely used.
SAS 6.06 has finished its shakedown cruise, and shipyard repairs have
been made, and the SAS Usage Note tape for March (or later) can now
be safely and easily installed. (Starting in February, SAS now ships
a load library on that tape which contains 100% pre-applied SAS ZAPs
for all SAS products. A SAS 6.07 will likely exist by year end, but
THERE IS NO LONGER ANY REASON TO WAIT. ALL MXG-critical problems are
fixed by the March tape. Furthermore, SAS 5.18 sites that have made
extensions to BUILDPDB may find that their program is now too large
for the SAS 5.18 compiler (Error 344) which can only be eliminated
by execution under SAS 6.06 or later.
See Change 7.038 in member CHANGE07 for 344 error circumvention.
MXG NOW RECOMMENDS MIGRATION TO SAS 6.06 WITH SAS's MARCH 6.06 TAPE.
2. SAS 6.06 and 5.18 options now REQUIRED by MXG 8.8.
Please read this section carefully. MXG execution will fail if you
do not pay attention to these (potentially incompatible) changes:
MANDATORY OPTIONS with either SAS Version 5.18 or 6.06:
NOIMPLMAC MAUTOSOURCE SASAUTOS=SOURCLIB ERRORABEND MACRO DQUOTE
MANDATORY OPTIONS with SAS Version 5.18 that do not exist in 6.06:
MWORK=28000 GEN=0
MANDATORY OPTION with SAS Version 6.06 that does not exist in 5.18:
MEMSIZE=12M
RECOMMENDED Options with either SAS Version 5.18 or 6.06:
FIRSTOBS=1 OBS=MAX
NOSOURCE NOSOURCE2 NOMACROGEN NOMPRINT NOMLOGIC
SAS Version 5.18 requires the MACRO and MWORK=28000 options to be on
the EXEC statement, but all other mandatory/recommended options can be
specified in a SAS OPTIONS statement before your %INCLUDE statements:
a.) //stepname EXEC SAS,OPTIONS='MACRO MWORK=28000'
//SYSIN DD *
OPTIONS
NOIMPLMAC MAUTOSOURCE SASAUTOS=SOURCLIB
DQUOTE ERRORABEND
GEN=0
FIRSTOBS=1 OBS=MAX
NOSOURCE NOSOURCE2 NOMACROGEN NOMPRINT NOMLOGIC;
However, so you (and I) don't have to type all those options each time
we run an MXG 8.8 program under SAS 5.18, member SASOPTV5 was built and
it MUST be %INCLUDEd each time you execute under SAS 5.18:
b.) //stepname EXEC SAS,OPTIONS='MACRO MWORK=28000'
//SYSIN DD *
%INCLUDE SOURCLIB(SASOPTV5);
... the rest of your program ...
IF YOU DON'T HAVE THE RIGHT OPTIONS IN EFFECT, YOU WILL RECEIVE
RUDE AND INSULTING SAS ERROR MESSAGES, INCLUDING 180 ERRORssss!
For SAS Version 6.06+, options are supplied via an OPTIONS statement,
via the CONFIG DDname, or (as is now MXG's recommendation), via the
CONFIG= JCL parameter on the EXEC statement. MXG 8.8 member CONFIG
contains the MXG-required options (CONFIG is a changed copy of BATCHXA
config member on the SAS distribution tape). In previous Newsletters
and sample JCL, MXG had used the CONFIG DDname, but because different
sites have their JCL procedure DD statements in different sequences,
and since overrides have to be EXACTLY in the right order, it is now
clear that specifying CONFIG='MXG.SOURCLIB(CONFIG)' on your EXEC
statement is far safer to ensure the correct options are in effect:
// EXEC SAS606,TIME=10,
// CONFIG='MXG.SOURCLIB(CONFIG)'
These are the required options added to BATCHXA to create CONFIG:
NOIMPLMAC MAUTOSOURCE SASAUTOS=SOURCLIB MEMSIZE=12M
FULLSTATS STIMER
The MEMSIZE=12M parameter only works with MVS/XA and MVS/ESA. In almost
all of my tests, 12M was sufficient. The exceptions were when BUILDPDB
was "tailored" and many additional SMF records were added to BUILDPDB
using the EXPDB... exit facility. One large site with heavy user SMF
record additions to BUILDPDB reported they needed 24MB. Since this is
all virtual storage, and above the line, and only during the "build"
phase in MXG processing, it should not cause a problem. If you really
are limited in virtual storage (or are trying to execute MXG 8.8 with
SAS 6.06 under MVS/370) you can significantly reduce the virtual memory
requirement by specifying BLKSIZE=4096 or even 1024. Small blocks will
reduce the virtual memory size, but can significantly increase the real
CPU time, run time, I/O interrupts, and the amount of real memory used.
See the paper on blocksize in Chapter 42 of the MXG Guide.
3. Format library differences between MVS SAS 6.06-5.18.
The MXG-built "SASLIB" formats are built by the first step of either
JCLTEST (for SAS 5.18) or JCLTEST6 (for SAS 6.06).
Under SAS Version 5.18, formats are members of a PDS load library
which must be allocated as SPACE=(CYL,(3,1,99)).
SAS 5.18 formats are always referenced using the DDname of SASLIB.
Under SAS Version 6.06, formats are members of a SAS data library,
which must be allocated as SPACE=(CYL,(1,1)). Note there is NOT
a third parameter in SPACE (for PDS directory blocks) because data
libraries in SAS 6.06 are physical sequential files.
SAS 6.06 formats are always referenced using the DDname of LIBRARY.
In either version of SAS, the blocksize is set by the PROC FORMAT.
MXG always requires the appropriate DDname (SASLIB or LIBRARY).
You will fail with SAS 170 FORMAT NOT FOUND errors if you do not
have the correct format library pointed to by the correct DDname.
4. CMS-MXG Installation and Execution Considerations.
a. CMS Format libraries are different.
MXG Formats are created under SAS 6.06 by executing member FORMATS,
which creates a SAS Catalog that is named 0FORMATS LIBRARY (yes, the
first character is a numeric zero and the third an alphabetic "oh").
Since this catalog contains all of the MXG Formats, the installation
instructions on page 120 of the MXG Supplement ("iv. Optionally copy
TEXT into TXTLIB") no longer apply. Also the SASLIB SASLIB option in
the example is not used to access SAS 6.06 Formats (although SASLIB
SASLIB is still valid in SAS 6.06 to access SAS 5.18-built formats).
As long as the 0FORMATS LIBRARY file built by member FORMATS is on
your first disk, SAS 6.06 will automatically find MXG formats there.
b. Virtual Storage requirement for MXG and SAS 6.06 with VM/370.
Executing under VM/370, MXG 8.8 needed a 10MB machine for BUILDPDB.
It is necessary to use the NOSSEG option to disable the "SAS Saved
Segment" to use addresses above 7MB, because the SAS Saved segment
begins at address 7MB! The NOSSEG only applies to this machine,
and is needed only for the big virtual memory programs that build
lots of MXG datasets simultaneously (like VMACVMXA, VMACVMON, etc.).
The rest of MXG needs only a 4MB machine under VM/360.
The BLKSIZE is set small in the REXXTES6 exec, so that the virtual
storage required for the biggest MXG programs (BUILDPDB) would fit in
the 10 meg I could get under VM/370, but you should experiment to use
the largest BLKSIZE you can (and still compile the data step!). Small
block size reduces only the virtual storage size; a large block size
will reduce CPU time, elapsed time, I/O interrupts, and will actually
reduce the real memory required (always true for sequential access,
and building SAS datasets with MXG is a sequential process)!
Executing under VM/XA, MXG 8.8 was tested in a 16MB machine.
c. CMS SAS 6.06 ZAPs required.
SAS ZAPS Z6062068 (add) and Z6060508 (remove) appear to solve the
only serious CMS SAS 6.06 problem. Without the zap, CMS MACLIB
CONCAT concatenation fails, and you cannot read members from the
second concatenation.
d. CMS Testing Notes.
The REXX exec that was used for MXG testing with CMS SAS was printed
in MXG Newsleter EIGHTEEN and is contained in member REXXTST6.
Before the exec is invoked, you must first issue the DEFINE STOR 10M
command, followed by the IPL CMS command. All datasets are sent to
your "T" disk, a temporary disk (199 cylinders in the exec) that will
go away at logoff, unless you use the USER= SAS option, or PROC COPY.
One Irritating problem in my testing of MXG with CMS is IBM's fault:
There is no CMS equivalent for "DD DUMMY" or NULLFILE. Under MVS,
NULLFILE lets me syntax check all MXG code by dummying input files.
Under CMS I had to create pseudo records (but with RECFM=VB, instead
of RECFM=VBS) because of Another Irritating IBM feature:
CMS only partially supports the VBS record format:
CMS only reads, and can not create/write/copy VBS files, and
CMS ABENDs if it gets an SMF record with LRECL=32760.
All this, to verify that ALL of MXG executes under SAS/CMS, for those
sites who have only a SAS/CMS license and use MXG to process both the
VM and SMF data under CMS.
V. Documentation of MXG Software.
Member CHANGES always contains the version number of MXG Software, and
it lists changes that were installed in that version. Several members
named CHANGEnn are the contents of changes when that "nn" MXG version
was created. Details on enhancements will be found in the text of the
Change description that made the enhancement (in those CHANGES and
Changenn members). The CHANGE members can also be scanned online (with
SPF BROWSE) to search for specific product name references (CICS,
MVS/ESA, etc.). The text of each Change identifies the member(s) that
were altered or added by that change, and documentation (especially for
new product support) is often found in comments at the beginning of
those named members.
Member NEWSLTRS contains the text of all newsletters (up through the
newsletter that accompanied that MXG release). You can search NEWSLTRS
for product name or acronym to find the technical notes, APARs, etc.
from all MXG newsletters. (The Change Log of each Newsletter is not
replicated in member NEWSLTRS, since that text will be in CHANGES).
Member DOCVERnn is the "delta-documentation" (in abbreviated Chapter
FORTY style) of only those variables and datasets that were changed
between successive MXG Versions. There is a DOCVERnn "delta" member in
the MXG library for each version.
Penultimately, member DOCVER contains abbreviated Chapter FORTY format
that documents all of the 26,355 variables from the 791 MXG data sets
that can be created by that MXG Software Version (alphabetically by data
set name and variable name).
Finally, MXG is a source distributed system, so you can often find your
answer by BROWSE/EDIT of the source member, especially the VMAC...'s
that actually create the data set, or ANAL....'s that analyze the MXG
datasets. In many instance, the MXG Variable is the IBM or Vendor's
documented field name. In other cases, the IBM field name is carried as
a comment beside the MXG variable that contains that information. In
all cases, you should also have the Vendor's documentation of the
particular data record you are using for analysis.
VI. MXG Version 8.8 Installation, Space, Compatibility, etc.
MXG Compatibility Exposures in MXG Version 8 for Existing Users:
a. The SAS options required by MXG for execution have changed.
b. Execution under SAS 6.06 is different than under SAS 5.18.
c. To create your PDB directly on tape, IMACCICS must be changed.
d. If you have added additional SMF record processing to BUILDPDB,
and you still execute MXG under SAS 5.18, you may encounter a
SAS Version 5.18 Compiler Limit "344" error. BUILDPDB is larger.
See Change 7.038 in member CHANGE07 for 344 error circumvention.
Always read comments in the CHANGES member for compatibility issues, as
well as for any last minute changes added after Newsletter composition.
1. Installation, re-installation, and Space Requirements.
The MXG Installation instructions were found in Chapter 32 of the MXG
Supplement for both new installation and for version replacement, and
those instructions, plus this discussion, is still usable. MXG SOURCLIB
member INSTALL will be a complete rewrite of Installation Instructions
for MXG, consolidating both Chapter 32s and these notes. After you have
unloaded MXG 8.8 SOURCLIB and read these notes, read member INSTALL.
This MXG tape is distributed as a Non-Labelled (NL) tape with a single
file, DCB=RECFM=FB,LRECL=80,BLKSIZE=6160, that is actually an unloaded
Partitioned Data Set containing 1370 members (and about 309,959 source
lines) in IEBUPDTE format.
Under MVS use the IEBUPDTE utility to build MXG.SOURCLIB PDS library.
Under CMS use the TAPPDS command to build SOURCLIB MACLIB library.
Under MVS, MXG Version 8.8 MXG.SOURCLIB requires SPACE=(CYL,(40,1,299))
and DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) on DASD.
Under CMS, approximately the same space (40 cylinders) will eventually
required by the MXG SOURCLIB MACLIB, but during the CMS installation
process you should have at least 100 free cylinders on your minidisk.
MXG is tailored and extended by "Installation Macro" members (begin with
IMAC) and the "MXG Exit Facility" members (begin with EX) that are put
in the installation's "USERID.SOURCLIB", the "MXG Tailoring" library,
that is concatenated ahead of MXG.SOURCLIB in your SOURCLIB DDname:
//SOURCLIB DD DSN=USERID.SOURCLIB,DISP=SHR --> site tailoring (yours)
// DD DSN=MXG.SOURCLIB,DISP=SHR --> never changed (mine)
If this is an MXG re-install, there should already be a USERID.SOURCLIB.
If not, then allocate one using the same attributes as the MXG.SOURCLIB,
with SPACE=(CYL,(1,1,99)); for CMS create an equivalent MACLIB.
Changes are made by copying the member from my library to your library.
IMACXXXX members are self-documenting. IMACAAAA indexes all IMACs.
You should create a member CHANGES in your USERID.SOURCLIB and record
therein chronologically the MXG tailoring and installation history,
just like the member CHANGES in MXG.SOURCLIB tracks MXG itself.
You must now browse the members in USERID.SOURCLIB. If there are VMACs
members, they will override the new MXG code, and should be removed now.
However, the real purpose of USERID.SOURCLIB is for normal tailoring of
MXG for your site. It is completely normal to have some members there:
If you have installed printed changes from an MXG Newsletter, you
would have copied member(s) from MXG.SOURCLIB into your site's
USERID.SOURCLIB and then made the changes therein, or alternatively,
you would have made a new PDS (we suggested the name MXG.CHANGLIB)
into which you put those in-between-version changes, concatenating
it between USERID.SOURCLIB and MXG.SOURCLIB until you receive this
new MXG Release. In either case, if you made temporary changes,
now is the time to remove them. Delete the changed VMACs members
from your USERID.SOURCLIB, or remove the MXG.CHANGLIB from your
SOURCLIB concatenation.
If you have tailored IMAC.... members in your USERID.SOURCLIB, and
that member was changed by the new MXG Version, you must compare your
member with the new MXG member, and retrofit your tailoring on the
new member. These IMACs are of particular importance, if they exist:
IMACPDB (options for BUILDPDB) has changed and must be retrofit.
IMACKEEP can cause syntax errors when MXG creates a new dataset from
an existing record. MXG 8.8 support for CICS/ESA adds new
CIC.... datasets in TYPE110/VMAC110 processing. If IMACKEEP
had been used to tailor the variables kept in CICSTRAN by
redefining the _VAR110 macro (an appropriate use of this
tailoring exit), the new dataset will cause "Dataset not in
DATA statement" SAS error condition), unless you retrofit
your _VAR110 changes starting with MXG 8.8.
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:" and "ERROR :" and
"UNINITIALIZED" and "NOT CATLGD", as they may 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 data set, and read the variable's descriptions in Chapter FORTY.
Summary of critical actions to be taken in installing new version:
a. All VMAC.... members in your USERID.SOURCLIB must be examined
and, in general, must be deleted.
b. All IMAC.... members in your USERID.SOURCLIB must be compared
with the new IMAC.... members, and if there is a difference,
you MUST start with this version's IMAC and retrofit your
installation's tailoring.
c. It is always wisest to PROC PRINT the first 50 observations of
important datasets, especially PDB.JOBS, which can be affected
by user tailoring in IMACPDB. A visual scan of that PROC PRINT
serves as an excellent validation of correct installation, and
will almost always detect any serious problems BEFORE you begin
your production MXG runs! See the MXG utility UTILPRAL.
VII. Change Log
==========================Changes Log=================================
You MUST read each Change description below to determine if a Change
will impact your installation. All of these changes have been made
to this MXG Source Library.
Member CHANGES of the MXG SOURCLIB will always be more accurate than
the printed changes in a Newsletter, because the software is 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 printed NEWSLETTER (which might have
printed only the easily installed, critical part of the correction).
Always read the comments at the beginning of each source member named
under the Change Number for impacting changes.
Documentation of new datasets and variables, validation status, notes,
etc., are usually in comments in the source members.
Alphabetic INDEX of the most significant changes in MXG 8.8.
Member Change Description
ANALDB2R 8.030 DB2 Reporting from GTF data failed.
ANALDB2R 8.031 DB2 Report PMLOK03 fails with 170 format error.
ANALDB2R 8.067 Report selection by time frame incorrect, minor.
ANALDB2R 8.084 DB2 Trace reporting with PDB=SMF avoids IMAC102.
ANALDB2R 8.121 PMAUD02/PMAUD03 request caused SAS 145/170 error.
ANALDB2R 8.280 Transit time and SQL reports added.
ANALDBTR 8.249 DB2 Trace record pairing (SnnnSnnn) datasets built.
ANALDSET 8.077 ACCESS variable was not created, report failed.
ANALDSET 8.223 EXCP count deaccumulation from SMF 14/15 corrected.
ANALPRTR 8.146 New printer capacity analysis system.
AS400PDS 8.278 AS400 Records processing.
ASMTMNT 8.070 MXG Tape Mount Monitor on 7.7 does support MVS/ESA.
ASMVTOC 8.117 Assembly program for Fast reading of DASD VTOCs.
ASUMCICS 8.023 Variable LENGTHs caused trunction.
ASUMJOBS 8.230 Duplicate-Job-Name-Hold delay time estimated.
BUILDPDB 8.069 ACCOUNT/SACCT in SMFINTRV, SPIN in PDB, TYPE25 added.
CICINTRV 8.182 New CICINTRV (CICS/ESA Interval Statistics) dataset.
CICINTRV 8.251 New CICEODRV (CICS/ESA Shutdown Statistics) dataset.
CONFIG 8.068 SAS 6.06 options member added to MXG library.
DIFFHSM 8.260 HSM User SMF Record de-accumulation.
DOCDB2PM 8.112 Documentation of DB2PM-like reports in ANALDB2R.
DOCGRAF 8.274 SAS/GRAPH device support and MXG standards.
DOCTREND 8.113 Incompatible changes in MXG Trending implemented.
EXACFJR 8.047 ACF2 dataset ACF2JR may have deleted observations.
EXIDMTAS 8.105 IDMS Batch ACCOUNT1-3 fields decoded.
FMXGUCBL 8.009 Returns wrong value under SAS 5.18.
GRAFDB2 8.275 SAS/GRAPH analysis of DB2 data.
GRAFWORK 8.140 New graphic report of RMFINTRV workloads by hour.
IMACAAAA 8.281 Install aid describing which tailoring IMACs do what.
IMACACCT 8.133 Safer/Easier user tailoring of kept Account fields.
IMACICDB 8.177 CICS/ESA 3.1 Transaction DBCTL counters/clocks.
IMACPDB 8.048 Variables ABNDRSNC DIVRREAD DSSIZHWM TERMNAME added.
JCLDASD 8.264 MXG DASD (VTOC,VVDS) Space Management example.
JCLTEST 8.001 Options MACRO DQUOTE MWORK=28K required by MXG 7.7.
JCLTEST 8.025 WORK.DIRMACR REQUIRES MORE SPACE error condition.
JCLTREND 8.058 PROC SORT added to avoid not-sorted condition.
MONTHBLD 8.095 Syntax error under SAS 6.06 circumvented.
MVS 4.1 8.167 Support for MVS/ESA SP Version 4.1 and RMF 4.2.
MVS 4.2 8.224 Support for MVS/ESA SP Version 4.2 and RMF 4.2.1
NPM 8.038 NPM records from VM can be processed.
PRODUCTS 8.282 Documents MXG support by "product name/acronym"
RMFINTRV 8.216 SIO counts in RMFINTRV missing.
SAS 6.06 8.283 "Dataset is not sorted" SAS Error fixed by Z6062141.
SPIN 8.158 SPIN library fills when MVS/ESA replaces MVS/XA.
SPIN 8.172 SPIN library fills when MVS/ESA replaces MVS/XA.
SPUNJOBS 8.258 New PDB.SPUNJOBS dataset for SPIN reporting.
TRND72 8.143 Critical error, but only in PreRelease 8.3
TRNDDB2A 8.276 TRENDing for DB2ACCT into MXG Trend database.
TRNDDB2S 8.279 TRENDing for DB2STAT0 and DB2STAT1.
TRNDRMFI 8.143 Critical error, but only in PreRelease 8.3.
UTILGETM 8.206 %MACRO on FILE statement CPU loop in SAS 6.06.
VMAC110 8.065 Support for new CICS 3.1.1 major changes.
VMAC1415 8.017 New hiperbatch counts added to SMF type 1415.
VMAC1415 8.137 Hiperbatch values non-zero when they should be zero.
VMAC23 8.208 SMF writer memory usage added (OY27449).
VMAC28 8.111 INPUT function error in NPM subtype 82.
VMAC28 8.148 Support for NPM Release 4 (NPM 1.4), SMF Type 28.
VMAC30 8.081 Support for APAR adding DDCONS() option.
VMAC30 8.082 Support for APAR adding PROCSTEP to type 30s.
VMAC30 8.208 NOT CATLG 2 or 7 now added (APAR OY24857) to 30s.
VMAC37 8.022 Variable KEEP, FORMATs.
VMAC39 8.022 TYPE39EL conditionally created. ZDATE kept.
VMAC39 8.245 Support for NETMASTER V2.1.0 subtype 255.
VMAC41 8.015 New VLF counts in new subtype 3 SMF type 41.
VMAC42 8.136 STOPOVER on subtype 3 due to IBM error.
VMAC57 8.184 STOPOVER on type 57 (MVS 4.1 and MXG 8.5 only).
VMAC6 8.057 STOPOVER due to invalid external writer record.
VMAC60 8.128 STOPOVER on SMS NVR segment in type 60.
VMAC6156 8.027 STOPOVER error with ICF catalog record section.
VMAC6156 8.039 TYPE6156 VOLSER may be wrong for GDGs.
VMAC6156 8.214 "Invalid Third Argument to Function SUBSTR."
VMAC64 8.134 ACBMACRF fields individually decoded into variables.
VMAC64 8.219 TYPE64 hiperbatch variables missing.
VMAC64 8.234A VSAM Hiperbatch counters corrected.
VMAC7072 8.066 Support for new "SRCL" field in RMF Product section.
VMAC7072 8.187 Support for new Hitachi processors with MLPF.
VMAC7072 8.233 "Invalid data for MSOCOEFF..." correction.
VMAC7072 8.250 Support for PR/SM "overhead" measure APAR OY36668.
VMAC76 8.254 Support for OPPSI in SYSPLEX is traceable.
VMAC78 8.049 TYPE78CF only output if CHPID is online.
VMAC78 8.132 STOPOVER on type 78 subtype 3 with ES/9000 CPUs.
VMAC79 8.012 STOPOVER correction, support validation.
VMAC79 8.055 Formats and units corrections.
VMACACF2 8.002 ACF2 SMF record caused STOPOVER.
VMACACF2 8.090 Further validation of ACF2 SMF record.
VMACARB 8.190A Support for Arbiter Version 2.1.1 SMF records.
VMACCIMS 8.064 Support for IMF 2.6 (for IMS 3.1).
VMACCMF 8.247 Support for Boole & Babbage CMF SMF record 240.
VMACCRAY 8.044 Support for CRAY COS operating system
VMACDB2 8.102 Distributed DB2 header added to DB2ACCT.
VMACDB2 8.225 Support for Landmark's The Monitor for DB2.
VMACDCOL 8.130 DCOLLECT enhancement for all seven records.
VMACDCOL 8.210 DCOLLECT migration/backup tape dates correction.
VMACDCOL 8.252 Support for DCOLLECT APAR OY37378.
VMACDCOL 8.074 Support for SMS DCOLLECT data records.
VMACDMON 8.003 Uninitialized variable in ANALDMON caused.
VMACDMON 8.236 Support for LEGENT ASTEX replacement for DASDMON.
VMACEPMV 8.217 Support for Candle's EPILOG for MVS SMF Type 180.
VMACHSM 8.138 Preliminary support for HSM User SMF records.
VMACIDMS 8.005 IDMS SMF record variables format incorrect.
VMACIMS 8.006 IMS crashes required duplicate DTOKEN protection.
VMACIMS 8.098 Support for IMS/ESA 3.1 log records.
VMACIMS 8.118 IMS Cold start support and logic changes.
VMACIMS 8.119 Correction of IMS Input Queue time.
VMACIMS 8.176 IMS 3.1 DBCTL Thread Transactions Deleted.
VMACIMS 8.256 Support for IMS Wait-for-Input from IMS log.
VMACMDF 8.091 Amdahl's MDFTRACH SMF records corrected.
VMACMEMO 8.227 Support for MEMO European Electronic Mail SMF record.
VMACMON8 8.161 Support for Landmark's Monitor for CICS Version 8.0
VMACMONI 8.036 CREATIME in MONITASK may have wrong date.
VMACMPT 8.173 Support for Amdahl's MDF Performance Tool
VMACNSPY 8.010 NETSPY 3.2 support was incomplete.
VMACNSPY 8.043 Netspy 3.1 STOPOVER.
VMACNSPY 8.265 Support for NETSPY Release 4.0.
VMACORAC 8.080 Support for Oracle SMF record.
VMACROSC 8.028 ROSCOAUD contained zero observations always.
VMACSASU 8.157 SAS User Record changed under SAS 6.06.
VMACSESA 8.228 Support for Volvo's SESAME VTAM Monitor.
VMACSMF 8.013 DB2 read from GTF. Minor.
VMACSPMS 8.149 Support for Amdahl's SPMS SMF (Cache DASD CU).
VMACSTC 8.092 STC 4400 Silo SMF record new subtype.
VMACSTC 8.194 STC 4400 Silo SMF record new subtype STOPOVER!
VMACSYNC 8.020 Invalid CPUTCBTM value detected.
VMACSYNC 8.056 SIRECFM,SORECFM contain invalid data value.
VMACSYNC 8.123 Error (only in PreRelease 8.2) in TYPESYNC data.
VMACSYNC 8.211 SYNCSORT EW2903 detects SAS invoked Sort.
VMACSYNC 8.253 Support for SYNCSORT SCZ 33038 (Hiperspace stats).
VMACTMNT 8.033 Minor. Formats for DEVFROM/DEVTO.
VMACTMVS 8.173 Protection for TMON/MVS Spanned Records
VMACTPNS 8.269 Support for TPNS log.
VMACTPX 8.016 No observations in TPXINTRV.
VMACTSOM 8.007 Missing STRTTIME in TSOMCMND.
VMACTSOM 8.104 Invalid READTIME due to CA7 in TSO/MON record.
VMACTSOM 8.262 Support for LEGENT TSO/MON Release 5.3.0.
VMACVMON 8.037 Divide by zero.
VMACVMON 8.045 24APR90 became 02OCT89 when 202 day clock wrapped.
VMACVMON 8.106 VM Start Time off by 43 minutes on Aug 4, 1990.
VMACVMXA 8.004 OMEGAMON/VM creates invalid VM/XA VB records.
VMACVMXA 8.099 Many VM/XA PTFs altered Monitor records.
VMACVMXP 8.041 Minor EXPLORE/VM processing changes.
VMACVPD 8.234 Support for NETVIEW's VPD aka NAM type 37 SMF data.
VMACVVDS 8.073 Validation of VVDS record created by ASMVVDS.
VMACWSF 8.100 Support for WSF archive product SMF.
VMACX37 8.024 STOPX37, minor.
VMACZRB 8.054 RMF 4.1.1 caused STOPOVER.
VMACZRB 8.079 Further validation of RMF III VSAM data.
VMACZRB 8.156 Further validation and reports.
VMXGDOWN 8.273 Download to PC all datasets in a SAS library.
VMXGSUM 8.021 Missing variable initialization protection.
VMXGVTOC 8.018 OFFSET4E and SMS variables added.
VMXGVTOC 8.032 Minor. RECFM should be $4.
VMXGVTOC 8.075 Did not capture free space at beginning of volume.
VMXGVTOF 8.193 Build VMXGVTOC datasets from ASMVTOC records.
VMXGVTOR 8.009 Incorrect on 7.7, changes not propagated.
XMAC7072 8.014 ZDATE not kept in TYPE70PR and TYPE72MN
ZZZZZZZZ 8.011 Final member of MXG Library is named.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 8 72
--- Changes 8.305 thru 8.286 were added after MXG 8.8 was shipped ---
Change 08.305 About 90 of the 32,000+ MXG variables had no labels, some
DOC obsecure datetime variables were not formatted, and some
Apr 30, 1991 variables were length 8 when they should have been only
4 bytes long, as discovered in the MXG QA jobstreams. All
of these that could be corrected easily were!
Change 08.304 Type 79 support (RMF Monitor II) has now been extended
VMAC79 backwards to include RMF 3.5.1, and code was cleaned up
Apr 29, 1991 with this significant user contribution.
Thanks to Gordon Keehn, Fidelity Mutual Life Insurance Company, USA.
Change 08.303 IMS Log processing temporary variable OENQTO should have
TYPEIMS been spelled OENQO in line 107900.
Apr 28, 1991
Change 08.302 VM/ESA variable CHANBYTM was stored 8 bytes, but can be
VMACVMXA stored in only 4 bytes. Add CHANBYTM before DURATM in
Apr 28, 1991 the LENGTH statement at the end of line 060650.
Change 08.301 The New DB2 Trending members run fine the first week, but
TRNDDB2S in subsequent runs, the three shifts in prior weeks data
Apr 28, 1991 are summarized into a single observation for the entire
week (and SHIFT appears as Weekend). The recalculation
of SHIFT in trending should have only been applied to the
new PDB data, but bad logic caused the corruption.
This correction is for the DB2 Statistics trending member
TRNDDB2S. See Change 8.300 for DB2 Account trending.
1. The INCODE= argument at 005200:
INCODE = 005200
IF INWEEK THEN NUMINTVL = 1; 005300
LABEL NUMINTVL='NUMBER OF*STATISTICS*INTERVALS'; 005400
OUTPUT MXGSUM1; 005500
DATA MXGSUM1 005600
TIMES 005700
(KEEP=SYSTEM SHIFT QWHSSSID QWHSSTCK MINTIME MAXTIME); 005800
SET MXGSUM1; 005900
IF DURATM GT 0 THEN MINTIME=QWHSSTCK-DURATM; 006000
ELSE MINTIME=.; 006100
MAXTIME=QWHSSTCK; 006200
%VMXGDUR(DATETIME=QWHSSTCK,INTERVAL=WEEK,NEWSHIFT=Y); 006300
QWHSSTCK=DATETIME; 006400
OUTPUT MXGSUM1; 006500
OUTPUT TIMES;, 006600
Must be changed to read
INCODE = 005200
IF INWEEK THEN DO; 005300
NUMINTVL = 1; 005310
IF DURATM GT 0 THEN MINTIME=QWHSSTCK-DURATM; 005320
ELSE MINTIME=.; 005330
MAXTIME=QWHSSTCK; 005340
%VMXGDUR(DATETIME=QWHSSTCK,INTERVAL=WEEK,NEWSHIFT=Y); 005350
QWHSSTCK=DATETIME; 005360
END; 005370
LABEL NUMINTVL='NUMBER OF*STATISTICS*INTERVALS'; 005400
OUTPUT MXGSUM1; 005500
DATA MXGSUM1 005600
TIMES 005700
(KEEP=SYSTEM SHIFT QWHSSSID QWHSSTCK MINTIME MAXTIME); 005800
SET MXGSUM1; 005900
QWHSSTCK=DATETIME; 006000
OUTPUT MXGSUM1; 006500
OUTPUT TIMES;, 006600
2. The INCODE= argument at 012300:
INCODE = 012300
IF INWEEK THEN DO; 012400
IF QXMSMIAP=. THEN QXMSMIAP=.; 012500
IF QXNSMIAP=. THEN QXNSMIAP=.; 012600
IF QXNSMIAP=. AND QXMSMIAP GT 0 THEN QXNSMIAP=QXMSMIAP; 012700
END; 012800
OUTPUT MXGSUM1; 012900
DATA MXGSUM1 013000
TIMES 013100
(KEEP=SYSTEM SHIFT QWHSSSID QWHSSTCK MINTIME MAXTIME); 013200
SET MXGSUM1; 013300
IF DURATM GT 0 THEN MINTIME=QWHSSTCK-DURATM; 013400
ELSE MINTIME=.; 013500
MAXTIME=QWHSSTCK; 013600
%VMXGDUR(DATETIME=QWHSSTCK,INTERVAL=WEEK,NEWSHIFT=Y); 013700
QWHSSTCK=DATETIME; 013800
OUTPUT MXGSUM1; 013900
OUTPUT TIMES;, 014000
Must be changed to read
INCODE = 012300
IF INWEEK THEN DO; 012400
IF QXMSMIAP=. THEN QXMSMIAP=.; 012500
IF QXNSMIAP=. THEN QXNSMIAP=.; 012600
IF QXNSMIAP=. AND QXMSMIAP GT 0 THEN QXNSMIAP=QXMSMIAP; 012700
IF DURATM GT 0 THEN MINTIME=QWHSSTCK-DURATM; 012710
ELSE MINTIME=.; 012720
MAXTIME=QWHSSTCK; 012730
%VMXGDUR(DATETIME=QWHSSTCK,INTERVAL=WEEK,NEWSHIFT=Y); 012740
QWHSSTCK=DATETIME; 012750
END; 012800
OUTPUT MXGSUM1; 012900
DATA MXGSUM1 013000
TIMES 013100
(KEEP=SYSTEM SHIFT QWHSSSID QWHSSTCK MINTIME MAXTIME); 013200
SET MXGSUM1; 013300
DATETIME=QWHSSTCK; 013800
OUTPUT MXGSUM1; 013900
OUTPUT TIMES;, 014000
Change 08.300 The New DB2 Account Trending has the same problem cited
TRNDDB2A for the DB2 Statistics Trending discussed above in the
Apr 28, 1991 Change 8.301.
This correction involves also requires two parts:
1. The two lines, 012900-013000, now reading:
MINTIME=QWACBSC; 012900
MAXTIME=QWACESC; 013000
Must be MOVEd to after 004900 (MOVE, not COPY!).
2. Then, the two lines, 019800-019000, now reading:
%VMXGDUR(DATETIME=QWACESC,INTERVAL=WEEK,NEWSHIFT=Y); 019800
QWACESC=DATETIME; 019900
Must be MOVEd to after the lines just moved above.
The end result of these two moves will be:
IF INWEEK THEN DO; 004900
MINTIME=QWACBSC; 004910
MAXTIME=QWACESC; 004920
%VMXGDUR(DATETIME=QWACESC,INTERVAL=WEEK,NEWSHIFT=Y); 004930
QWACESC=DATETIME; 004940
IF QXMSMIAP = . THEN QXMSMIAP = .; 005000
Change 08.299 A "Variable Not Found" condition occurs with ANALDB2R if
ANALDB2R the Accounting Trace Long report was requested by itself.
Apr 28, 1991 (If any other report was also requested, this error does
not occur). Line 021820, which now reads:
TIMES (KEEP=&SORT1 &SORT2 &SORT3 MINTIME MAXTIME);
was replaced by these 6 lines:
%IF &PMACC02 EQ YES %THEN %DO;
TIMES (KEEP=&SORT1 &SORT2 &SORT3 MINTIME MAXTIME);
%END;
%ELSE %DO;
TIMES (KEEP=DB2 MINTIME MAXTIME);
%END;
Thanks to Ron Roberts, The Equitable Life Assurance Society, USA.
Change 08.298 Fujitsu's AIM database manager (CICS-like) SMF records
VMACAIM2 were in error. The FILLER $CHAR2. in VMACAIM2 line 117
VMACAIM3 was deleted. In VMACAIM3, NUMSCHMA is PIB2, not PIB4,
Apr 28, 1991 and the DO loop in line 65 should be 1 to NUMSCHMA. These
changes were received long ago and should have been in
earlier versions. Thanks for the contributor; Bill has
provided them locally to Fujitsu sites down under!
Thanks to Bill Gibson, SAS Institute, AUSTRALIA.
Change 08.297 Support for Fujitsu's FACOM operating system now includes
TYPEPDL both MSP and FSP data from PDL reports from PDA records.
TESTFACO Former "X-rated" member XPDLPDA is now renamed TYPEPDL,
JCLTEST and first-time-logic added for history datasets. The MXG
JCLTEST6 test and cross reference jobstreams now separately test
JCLUXREF all FACOM support in step TESTFACO, so that all 25 of the
JCLUXRE6 RTYPExx datasets and histor datasets created by TYPEPDL
Apr 19, 1991 are documented in DOCVER. The coding changes that added
FSP support were a significant user contribution, and
also added decoding of several additional PDL reports.
Thanks to Ian Heaney, M.L.C., AUSTRALIA.
Change 08.296 VM/XA processing requires more work space that it should
VMACVMXA because the PROC DATASETS to delete VXUSEINT and VXACTINT
Apr 19, 1991 was commented out during testing. Remove the comments in
line 798400. Also, variable RDEVOFFL was not kept because
it was misspelled as RDEFOFFL in the KEEP= list.
Thanks to Jay Cicardo, Southwestern Bell, USA.
Change 08.295 SAS datasets will be destroyed/corrupted by CASORT 6.6
CASORT 6.6 if its ATTRLS Option (system wide, set when CASORT was
Apr 18, 1991 installed) was specified ATTRLS=YES. Instead, you MUST
have ATTRLS=NO. With ATTRLS=YES, CASORT will RLSE sort
work space after each invoked SORT, which somehow causes
SAS to think all records were deleted by NODUP, and the
output dataset built by the PROC SORT contains either
zero or one observation! If there is one observation,
all of its numeric variables are zero or missing, which
happened with RMFINTRV, and the garbaged dates/times
put messages on the SAS log, but then caused the TREND
database to be overwritten with only one observation!
CA says the problem is known to affect ANY invoked sort,
not just SAS invoked sorts. SAS tracking 180027 is open,
to determine why SAS built the corrupted 1-observation
data set, and I will investigate how I can make the trend
logic more robust, but you MUST specify ATTRLS=NO to fix
the real problem with CASORT 6.6.
Thanks to Arnold Ruterbories, Standard Insurance Company, USA.
Change 08.294 Additional SAS 6.06 error conditions have been reported.
SAS 6.06 a.VMXGVTOC will fail "VARIABLE VOLSER NOT FOUND", if you
Apr 18, 1991 installed SAS ZAPs Z6061834 or Z6062315, due to an error
introduced by those zaps (the "autovariable" VOLSER was
lost when those zaps were installed). SAS ZAP Z6062674
now exists to correct their error and is required. It is
not on the April SAS Notes tape, but can be downloaded.
b.SAS will ABEND with an 0C4 in SMS sites, if the datasets
in the CONFIG DD concatenation are SMS-managed datasets,
if the CONFIG= JCL parameter is used. (If you used the
prior MXG technique of actually overriding the CONFIG DD,
this abend does not occur, but then you must be careful
to order the JCL override, thus the CONFIG= parameter was
recommended instead of overriding the CONFIG DD!) The SAS
error is fixed by ZAP Z6062264, which is required if your
site has SMS-managed datasets for SAS and or MXG.
Change 08.293 -IBM's Cache DASD RMF Reporter "CRR" Product's SMF records
ANALCACH status bits were changed (don't know when!) and count of
FORMATS sequential-detected sequential read requests was added.
VMACACHE Variables have been dropped from CACHE90. Flag variables
Apr 18, 1991 (CSCS1-CSCS8,CSNVSS1-CSNVSS8, CSDP,CSCD,CSFF,CSFD,CSPD,
CSSD,CSFC,CSPP) are replaced by format-decoded variables,
and the caching/fastwrite/pinning/etc. status variables
from the CSVOL segment (which apply only to that CSVOL,
and not to the VOLUME being reported) are not kept. IBM's
3990 Storage Control Reference, GA32-0099-3, pp 171-177,
Chapter 4, Command Descriptions, describes the statistics
captured much better than the CRR manual (SH20-6295-4).
CACHE90 variable FWDC, the count of DASD fast write ops
that were forced to access DASD directly (because the
nonvolatile storage was insufficient), may be important
in recognizing this performance degradation.
-The Cache analysis program ANALCACH was revised to now
CACHE90 (instead of the CACHETY data from 3880's) along
with RMF TYPE74 data for sample reports.
Thanks to Victor Heiner, Northwest Airlines, USA.
Thanks to Alfred Holtz, Dun and Bradstreet, USA.
Change 08.292 Boole & Babbage CICS Manager product causes MXG messages
VMAC110 "Unexpected Statistics Subtype" with STID=200 to 210, due
Apr 16, 1991 to that product's pseudo type 110 statistics records. The
additional records will be supported in the future.
Thanks to Paul Dean, IBM Hursley, ENGLAND.
Change 08.291 Variables EXCPTOTL and IOTMTOTL should have been in the
ASUMJOBS KEEP= list for dataset BATCHJOB (added by Change 8.230
Apr 16, 1991 for detect duplicate job hold enhancement).
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 08.290 MVS Account Fields with length=0 create MXG error message
IMACACCT "***ERROR.IMACACCT.ACCOUNT FIELD n LENGTH WRONG", and any
Apr 16, 1991 account fields after the zero length field are skipped.
If the "n" in the message is greater than the number of
Account Fields you are KEEPing, there is no impact on the
datasets built by MXG. The enhancement in Change 8.267
(to prevent STOPOVER if account length were wrong) failed
to allow for a zero length field. The nine lines that
now read "ELSE DO;" must be change to read:
(line number)
ELSE IF LENACCT1 GT 0 THEN DO; 012300
ELSE IF LENACCT2 GT 0 THEN DO; 014000
ELSE IF LENACCT3 GT 0 THEN DO; 015700
ELSE IF LENACCT4 GT 0 THEN DO; 017400
ELSE IF LENACCT5 GT 0 THEN DO; 019100
ELSE IF LENACCT6 GT 0 THEN DO; 020800
ELSE IF LENACCT7 GT 0 THEN DO; 022500
ELSE IF LENACCT8 GT 0 THEN DO; 024200
ELSE IF LENACCT9 GT 0 THEN DO; 025900
This error occurs ONLY if your IMACACCT was tailored from
MXG version 8.8.
Thanks to Mike Hoevenaars, Toyota Canada, CANADA.
Change 08.289 ACF2 Release 5.2 added four variables (ACPMFCPM,ACPMFCJN,
VMACACF2 ACPMFCJI, and ACPMFCLI to the ACF2PR dataset & variables
Apr 16, 1991 ACVMFLRT, ACFMFTRT, and ACVMFTRS to ACF2VR dataset.
Thanks to Dave Greene, Kwasha Lipton, USA.
Change 08.288 Format MGSYNDB for SYNCSORT value 2 should have formatted
FORMATS to 2:3390 instead of the (now nonexistent) 2:3330 device,
Apr 16, 1991 and values 16 and 24 were added to ACF2 formats MGACFDA
and MGACFDB respectively.
Thanks to Dave Greene, Kwasha Lipton, USA.
Change 08.287 Member VMACEPIL on the original MXG 8.8 tape was wrong.
TESTOTHR Instead of the complete revision of support for Candle's
VMACEPIL EPILOG/CICS, VMACEPIL contained a copy of member CHANGES!
Apr 16, 1991 This error also caused JCLTEST step TESTOTHR to fail.
This change simply puts back VMACEPIL in VMACEPIL!
Thanks to Rex Pommier, St. Lukes Hospital Fargo, USA.
Change 08.286 IEBUPDTE unload of MXG 8.8 ends with condition code four,
V88-tape prints "IEB823I SYSIN HAS NO RECORDS for AS400PDS", and
Apr 11, 1991 MXG.SOURCLIB contains 1394 members instead of the stated
1367 members, but this warning has no real impact on the
MXG.SOURCLIB data set. The warning occurs because member
AS400PDS itself was an IEBUPDTE input for a 28-member PDS
with preliminary support for AS400 data. Your unload saw
those "./" statements and created the 28 members starting
with @@@....., AS400..., ICEGENER, and QAPM.... directly
in your MXG.SOURCLIB, and then there were no lines in the
member AS400PDS, causing the warning! I had intended to
change the "./" to "xy" in AS400PDS to avoid this warning
but failed to do so. Sorry for all those phone calls and
faxes that would have been avoided by better testing.
Thanks to Ken Thomas, Maryland Casualty Company, USA.
--Changes thru 8.285 are included in MXG Version 8.8 dated Apr 8, 1991-
Change 08.285 A surprising discovery by looking at DCOLLECT data. DASD
VMACDCOL capacity stated by IBM (eg, 630MB for a 3380 volume) is
Apr 4, 1991 NOT 630 Megabytes, but instead is 630 "Million bytes"!
A 3380 (47476*15*885 = 630,243,900 bytes) actually stores
only 601MB (megabytes)! So much for IBM consistency in
use of "MB". Because VMACDCOL assumed MB was megabytes,
it multiplied by 1024 to convert to bytes for MGBYTES, so
this change replaced all occurrences of 1024 with 1000.
The unknown UK user also noted that the test that set the
values of DCVEVLCP, DCVEBYTK, and DCVELSPC should have
tested DCVERROR instead of DCVFLAG1.
Thanks to Derek Cespedes, Florida Power and Light, USA.
Thanks to ???, ???, ENGLAND.
Change 08.284 Major revision of support for EPILOG/CICS was finished
EXEPCIJC after Newsletter NINETEEN went to the printer. The change
EXEPCISF is INCOMPATIBLE with previous MXG EPILOG/CICS support, as
EXEPCISI the TYPEEPIL dataset no longer is created. Instead, these
five new MXG datasets are created by TYPEEPIL execution:
EXEPCISU EPILCITR - Transaction data - most important.
EXEPCITR EPILCISU - Startup.
TESTOTHR EPILCISF - Suffix.
VMACEPIL EPILCIJC - JCL Parameters
Apr 4, 1991 EPILCISI - SIT Parameters
Each dataset keeps only the appropriate variables.
VMACEPIL code was restructured, with a separate section
for Releases 450-451, which is different from 440 format.
Only EPILCITR records were available for testing from 450
but there is no change in the format when you install 451
so I anticipate no problems. While the (archaic) 440 code
might need work, Candle solves 440 problems by sending a
copy of 451!
Thanks to Richard Evans, Mervyn's, USA.
==Changes thru 8.283 were printed in MXG Newsletter NINETEEN==========
Change 08.283 SAS 6.06 errors like "Data set is not sorted" that were
SAS 6.06 discussed under Usage Note 1000 were finally resolved on
Mar 29, 1991 the March SAS Usage Notes Tape by the inclusion of SAS's
ZAP Z6062141. If you do not have the March SAS 6.06 tape
installed (it's now a 100% pre-applied ZAPed loadlib in
IEBCOPY format), you MUST at least download and install
Z6062141.
Change 08.282 This new member documents all of the "Products" that MXG
PRODUCTS supports. PRODUCTS identifies which product versions are
Mar 29, 1991 supported by which version of MXG and the member name of
the MXG member(s) that processes that product's records.
Use your online editor to search for the product name to
find the entry for a specific product, which will contain
the names of MXG datasets created, their exit names, etc.
Suggestions for enhancement are most welcome.
Change 08.281 This new member documents the IMAC.... exit members which
IMACAAAA tailor MXG for your site. Some IMACs (IMACSHFT,IMACWORK)
Mar 29, 1991 should always be tailored, but most IMACs are not needed
to be changed by most sites. This new member groups the
different purpose IMACs together to make it easier for an
installer to know which IMACs affect their site. The IMAC
itself contains self-documenting comments for its use.
Change 08.280 Transit time reports from DB2 trace are now in ANALDB2R.
ANALDB2R Selection criteria is more robust and is uniform across
Mar 29, 1991 all reports, and can include SHIFT or DB2 Trace Number.
ANALDB2R reports can be produced from either the PDB or
the new TRNDDB2x data (See Changes 8.276 and 8.279) for
Accounting and Statistics reports. Data from the TREND
databases can be input along with data from your daily
PDB to compare history with current with PDB=PDB TREND
syntax to cause ANALDB2R to combine both data sources.
Transit time and SQL trace activity analysis were added
by ANALDBTR (Change 2.249) which creates the trace-pair
data sets needed. ANALDB2R now will use those data for
these new reports, and for the I/O Activity Summary, and
eventually all DB2 trace reports will be restructured to
use the ANALDBTR trace-pairs.
Change 08.279 Summarization of DB2STAT0 and DB2STAT1 statistics data
TRNDDB2S into the TREND database uses PDB.DB2STAT0 and DB2STAT1
Mar 29, 1991 as input to create TREND.TRNDDB20 and TREND.TRNDDB21.
Summarization is by WEEK by SHIFT within SYSTEM, and DB2
Sub-System ID, QWHSSSID. Note that Version 8.8 ANALDB2R
can use these new TREND datasets as input for reports.
See DOCTREND for the structure of MXG trending.
Change 08.278 This significant user contribution for AS400 Records will
AS400PDS eventually be a fully supported part of MXG, but time ran
Mar 28, 1991 out for development and testing. This member is actually
a 27-member unloaded PDS, and is provided so that leading
edge sites who would otherwise have had to start from the
beginning, may find this a starting point for AS400 data.
It should be regarded as preliminary, unverified, and is
certain to change in structure. Your input is welcome.
Thanks to Carolyn Barnett, Sentara Health System, USA.
Change 08.277 Variables INAVG and READYAVG were added to the RMFINTRV
RMFINTRV dataset. I had actually planned to do further revisions
Mar 28, 1991 to RMFINTRV for MVS/ESA, but ran out of time!
Thanks to ???, ???, EUROPE.
Change 08.276 Summarization of DB2ACCT dataset into the Trend Database.
TRNDDB2A Input is weekly PDB.DB2ACCT into TREND.TRNDDB2A. The time
Mar 28, 1991 summarization is for each shift for each week within the
SYSTEM SHIFT QWHSSSID QWHCPLAN QWHCCN values.
Both ANALDB2R and/or GRAFDB2 will produce Accounting
Detail and Summary reports and graphs from TRNDDB2A.
See documentation in the member itself.
Change 08.275 Graphical analysis of DB2 data from MXG PDB or TREND
GRAFDB2 data libraries (three sets of graphs) can be produced
Mar 28, 1991 and a graphic catalog (default DDname of PDB) is built.
See comments in member for documentation.
Change 08.274 Documentation of the techniques implemented in MXG use
DOCGRAF of SAS/GRAPH, and briefly describes the MXG GRAF....
Mar 28, 1991 members and the graphic catalog they produce.
Change 08.273 New style macro generates the code needed to download
VMXGDOWN all of the datasets contained in a single SAS data
Mar 28, 1991 library. This utility is the logical equivalent of:
PROC DOWNLOAD DATA=PDB._ALL_ OUT=PCPDB;
which does not exist.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.272 The MXG utility UTILPRAL will print all datasets in a
UTILPRAL SAS data library. This change simplifies that process
VMXGPRAL by executing as a single step with no external DD.
Mar 28, 1991
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.271 Graphics table added samples for IBM3825 and IBM3827
VMXGGOPT devices (but only in portrait mode; rotating requires the
Mar 28, 1991 use of templates, and is non-trivial). See SAS Technical
A SAS note xxxx that discusses rotation. Also, standard
PATTERN/SYMBOL statements were added for consistency so
they can (eventually) be used in all GRAF.... members.
Change 08.270 Printer analysis logic for NPRO was corrected and support
ANALPRTR for XEROX XPAF CPU calculation (based on testing of early
ASUMPRTR releases of XPAF) was added. The default value for NPRO
IMACPRTR is now zero, since only the (dead?) 3800-3 used NPRO.
Mar 28, 1991 For sheet printers, PAGECNT is equal to the number of
physical sheets that went through the printer; SHEETPRN
is the number of sides printed. For the printer THRUPUT
calculations, SHEETPRN is now used instead of PAGECNT if
SHEETPRN is non-zero (using PAGECNT, duplexing made the
printer's thruput half-speed)!
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.269 Preliminary support for log produced by IBM's TPNS. Its
TYPETPNS pretty simple, but there is not a whole lot of data.
Mar 27, 1991
Change 08.268 Because it was not always clear on the log when %VMXGSUMs
VMXGSUM invocation actually began, a RUN; statement was inserted
Mar 27, 1991 after line 019500.
Change 08.267 Protection for invalid accounting field lengths has been
IMACACCT enhanced. The total length of accounting data was always
Mar 27, 1991 compared with record length, but individual account field
lengths were not verified, until now. A site with a badly
corrupted type 30 record (due to an error in their SMF
exit code) ABEMDED with a STOPOVER. With this change, the
unnecessary STOPOVER is avoided, the bad record detected,
and an MXG message is now printed on the log. The site
chooses to remain unknown!
Change 08.266 Thanks for IBM's excellent vendor support in the CICS/ESA
Mar 27, 1991 Early Test Program, we can confirm that not only will
MXG Version 8.8 correctly process CICS/ESA 3.1 SMF data,
but also that it will not fail with CICS/ESA 3.2 records!
Change 08.265 Support for NETSPY Release 4.0 was added by this change.
EXNSPYAC Four new variables were added to the NSPYAPPL dataset,
VMACNSPY eight new variables were added to the NSPYVIRT dataset,
Mar 26, 1991 and the new NSPYACCT data set with 68 variables for the
Network Accounting type 'C' NETSPY record is created.
Thanks to Richard Warren, Solomon, Inc, USA.
Change 08.264 This change summarizes and documents the MXG DASD space
ANALVVDS management facilities that have been enhanced in 8.8.
ASMVVDS Member JCLDASD/JCLDASD6 contains the sample JCL that is
FMXGUCBL suggested to allow you to process your VTOCs and VVDS.
IMACVVDS Comments in the MXG members elaborate on each of the
JCLDASD programs discussed. Note that "ASM" members are written
TYPEVVDS in IBM Assembler and must be assembled and link edited
VMXGVTOC before they can be used. Sites which have installed
VMXGVTOF DFP 3.2 or later should first look at IBM's DCOLLECT
VMXGVTOR utility (supported by MXG's TYPEDCOL member) to measure
Mar 26, 1991 their DASD farm, as it may be adequate for most sites.
The VTOC/VVDS processing described below gives more data
that is presently provided by IBM's DCOLLECT.
1. VTOC Processing
Original VTOC processing in MXG consisted of these three
members, which in concert would dynamically allocate all
DASD volumes that were online, read each VTOC, and build
three data sets describing VTOCs, Datasets, and extents
in your DASD farm:
FMXGUCBL - a function for dynamic allocation, used by
VMXGVTOR - a %macro that interated the execution of
VMXGVTOC - a SAS program that read a single VTOC
Execution of this sequence created the three MXG datasets
to be used for DASD space management, chargeback, etc:
VTOCINFO - One obs per VTOC, describes the volume
VTOCLIST - One obs per dataset, describes each dataset
VTOCMAP - One obs per extent, for pack analysis.
Large sites (over 500 volumes) found that VTOC reading
with SAS itself, while functional, took scores of seconds
per VTOC. Philip Morris wrote their own ASM program and
graciously contributed it to MXG, and cut the VTOC read
time to seconds per VTOC! You need only to assemble and
link edit the ASM program:
ASMVTOC - "Fast" VTOC reading assembly program
and then execute PGM=ASMVTOC to read all VTOCs and write
a single flat file to the VTOCDUMP DDname, which is then
read by the MXG SAS %macro program %VMXGVTOF in member
VMXGVTOF - Reads VTOCDUMP file created by ASMVTOC and
create three VTOC.... data sets.
(The example JCL in JCLDASD/JCLDASD6 then copies the
three VTOC.... datasets to the SAS data library that
is pointed to by the MXGDASD DDname.)
This is the recommended method for reading all VTOCs.
2. VVDS Processing.
Originally VVDS described only VSAM dataspace on a volume
but with SMS, the VVDS contains an entry for both VSAM
(in a VVR in the VVDS), and for non-VSAM (in a NVR in the
VVDS). Keeping track of VSAM data spaces on a volume was
the primary reason that the MXG Assembly program
ASMVVDS - read all VVDS and create a user SMF record
which was then processed by MXG members
IMACVVDS - identifies the SMF record number you chose
TYPEVVDS - to read the SMF VVDS records and create
the MXG dataset of of the same name with
an obs for each entry in the VVDS.
Additional idiosyncrasies in VVDS entries were found and
corrected in analysis which is now inclued in member
ANALVVDS - executes IMACVVDS/TYPEVVDS, and adds logic
to "clean-up" the VVDSf data.
Member ANALVVDS creates these two MXG datasets for VVDS:
TYPEVVDS - One obs per VVR, cleaned up
VSAM - One obs per VSAM data set.
The two datasets are written to the DDname of MXGVVDS.
Change 08.263 Three variables added by DB2 2.2 were not deaccumulated.
DIFFDB2 Variable Q3STRDON in DB2STAT0 and variables QTAUCCH and
Mar 26, 1991 QXMIAP in DB2STAT1 are now DIF()'d in DIFFDB2.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 08.262 Support for TSO/MON Release 5.3.0 has been added and has
EXTSODRU been tested, due to excellent support from LEGENT; not
VMACTSOM only did this vendor provide documentation in advance of
Mar 25, 1991 the general availability of the product, but also sample
SMF records were provided for testing! The major change
is the new TSOMDRU Dynamic Resource Utilization dataset,
which allows you to identify the most resource intensive
commands so that you can then enable detail recording for
those commands. Minor changes included new fields in the
TSOMSYST and TSOMCALL datasets containing Hiperspace page
in and page out counts.
Change 08.261 TSO/MON system records are restricted to 4089 bytes. When
VMACTSOM more users are logged on than fit in 4089 bytes, TSO/MON
Mar 25, 1991 writes multiple records, which MXG recognized, but the
INTRVTM value was incorrect in these "split" records.
Additionally, the test for INTRVTM=0 as criteria for the
first of a split record was changed to TSMSSEGN=1.
Thanks to Richard Morris, Progressive Companies, USA.
Change 08.260 Many variables in the HSM user SMF record accumulate from
DIFFHSM record to record. The new DIFFHSM provides the logic to
TYPEHSM de-accumulate these ascending values with the SAS DIF()
VMACHSM function. For the first occurrence of a "BY Group" value
Mar 25, 1991 or if values between adjacent observations decrease, MXG
sets the DIF()'ed variable to a missing value. This new
algorithm has been tested, but only with a few sets of
HSM SMF data records. If you have added HSM SMF record
processing to BUILDPDB, you must also %INCLUDE the new
member DIFFHSM in the EXPDBOUT member. If instead you
use member TYPEHSM to process HSM, the DIFFHSM member is
now already included for you. VMACHSM was also changed.
Variables DSRFUNCT,FSRFUNCT,VSRFUNCT were redundant with
DSRTYPE,FSRTYPE,VSRTYPE (which also take less space and
are decoded by an MXG format) so the ...FUNCT variables
were removed from VMACHSM datasets. Several PD4. variable
input statements were protected for hex nulls, and indent
of code was standardized. Some inconsistent data values
were found in IBM records - for example, several of the
fields which contain "number of tracks" contain hex
FFFFFFnn values, which is 4,294,000,000+ in decimal!
Use with caution, and let me know if you find IBM APARs
are needed to correct their data errors!
Change 08.259 TYPE6156 variables VOLSER1-VOLSER5 can be wrong if there
VMAC6156 are more than five volumes, because these variables were
Mar 24, 1991 not initialized. Line 020700 was change to a DO group:
IF NR6XVOLS=1 THEN DO; VOLSER1=VOLSER; VOLSER2=' ';
VOLSER3=' ';VOLSER4=' ';VOLSER5=' ';END;
Thanks to Kenneth D. Jones, Maritime Telegraph and Telephone, CANADA.
Change 08.258 New dataset PDB.SPUNJOBS is created automatically in your
SPUNJOBS MVS PDB by the new SPUNJOBS program, which reads today's
Mar 15, 1991 SPIN datasets and combines those SPINning job's records,
giving you PDB.JOBS variable names and a single dataset,
PDB.SPUNJOBS, describing jobs still spinning. Of course,
many variables in PDB.SPUNJOBS will have missing values,
because only fields from records that were found will be
non-missing for a particular job. Variable INBITS shows
which records were found, and in section "PDB" of Chapter
40 of the MXG Supplement is described which variables in
PDB.JOBS and PDB.SPUNJOBS come from which record.
Change 08.257 Goal Systems Explore/VM records for VM/370 were supported
VMACVMXP by MXG's VMACVMXP, but the VM/XA extensions were not in
XMACVMXP that data. This change stores the original member in the
Mar 15, 1991 XMACVMXP member (for backup, but will eventually go away)
and replaces the contents of VMACVMXP with new code that
was contributed, but only syntax checked. Use with the
appropriate caution.
Change 08.256 IMS Log Processing has been once again been significantly
TYPEIMS re-engineered, and now supports WFI (Wait-for-Input) and
VMACIMS multi-transactions per program schedule correctly, and it
Mar 14, 1991 also eliminates those occasional negative values in the
input and output queue times. The new design uses MXG's
BUILDPDB logic to merge the PRG and INOUT3 (message) data
and puts non-matches in UNMATCHD, but also creates a new
dataset MSGMISSD if the log does not contain all messages
for a program sked, (if WFI runs from 8am to 8pm, but if
the IMS log starts at noon, messages executed before noon
will be counted in the 07 record when the WFI terminates,
but would not have their 01-03-31-35-36 records in this
IMS log dataset). The CPU and DL/I calls for those missed
messages will be lumped into one observation in MSGMISSD
(variable NMSGMISS counts the missed message executions)
and all IMS resources are captured in IMSTRAN + MSGMISSD,
but only IMSTRAN captures transaction response times too.
The re-design eliminated the need to 'explode" IMS07 obs.
This redesign answers all reported problems with IMS log
processing for non-fastpath transactions, but at best the
IMS log is a poor source of IMS measurement data. The IMS
log was designed ONLY for backup/recovery, and IBM does
not care enough for IMS users to enhance the log to put
a transaction identifier in each record, making heuristic
algorithms based on found-data-patterns of MSGDRRN and
DEST necessary to reconstruct a transaction response from
its log records). Even when reconstructed, the IMS log
contains only a single measure of CPU time used which not
only includes the Control Region and Message Region times
but also includes the CPU time used when IMS transactions
access DB2! Large IMS sites deserve better quality from
IBM. Nevertheless, we will continue to do our best to
extract whatever can be captured from IMS log records.
Change 08.255 IMACJBCK allows SMF record selection by jobname, and this
IMACJBCK is a documentation note rather than a change. Only jobs
Mar 13, 1991 with blank or higher jobname are kept by MXG's default.
Type 30 records with nulls are created by IBM errors (see
MXG Technical Notes in Newsletter NINETEEN), and these
"bad" records were deleted by MXG because of the IMACJBCK
default. The default was needed to protect the PDB from
a runaway software monitor that created scores of records
with invalid job names, and the default could probably be
changed (to pass any or all values of jobname) without
any significant impact, but since that can't be proven in
advance, it seemed better to leave the default alone, but
remind you of this MXG default here and in comments in
the IMACJBCK member.
Thanks to Mike Revelette, Defense CEETA, USA.
Change 08.254 Support for OPPSI Operator Single System Image in SYSPLEX
VMAC76 environment added six new traceable variables to TYPE76:
Mar 6, 1991
OMDGWTOI - Lines of messages, WTOs, issued per millisec
OMDGCMDI - Commands issued per millisecond.
OMDGWTLI - WTLs (write to logs) per millisecond.
OMDGWQEB - Max WQEs (WTO Queue Elements) on queue.
OMDGOREB - Max OREs (Operator Reply Entries on queue.
OMDGAMRE - MAX messages on AMRF (Action Msg. Retention)
You must first enable RMF trace for these fields, and use
a PRINT of TYPE76 dataset to examine their values.
Change 08.253 SYNCSORT SCZ 33038 for SYNCSORT 3.3 or 3.4 adds two new
VMACSYNC counters with the number of frames of Hiperspace/Data
Mar 5, 1991 Space allocated (HPALLOC) and used (HPUSED). The two new
fields occupy formerly reserved fields, so prior versions
of MXG will not fail when this SCZ is installed.
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Change 08.252 Talk about great response from IBM for this vendor!!!
VMACDCOL At SHARE 76 last week, IBM mentioned that a future APAR,
Mar 5, 1991 OY37378, would add many new fields to the HSM DCOLLECT
record. Starting with the HSM Hotline telephone number
(listed in Pat Kearney's GC38-7014), it took only three
short telephone calls and less than three elapsed hours
before my fax machine coughed out the DSECT of the new
HSM record produced by DCOLLECT! Due to this great
response from IBM, APAR OY37378 is supported in this MXG
version (transparently), and you won't need to install a
new version later this spring! The new variables are:
ORGEXPDT='EXPIRATION*DATE'
UMALLSP ='ORIGINAL*ALLOCATE*SPACE'
UMBKLNG ='BLOCK*LENGTH'
UMCREDT ='CREATION*DATE'
UMEXPDT ='EXPIRATION*DATE'
UMFLAG2 ='INFORMATION*FLAG*#2'
UMGDS ='GDG?'
UMLBKDT ='LAST*BACKUP*DATE'
UMLRFDT ='LAST*REFERENCED*DATE'
UMNMIG ='NUMBER OF*TIMES*MIGRATED'
UMPDSE ='PDSE?'
UMRACFD ='RACF*INDICATED?'
UMRECOR ='VSAM*RECORD*ORGANIZATION'
UMRECOR ='VSAM*RECORD*ORGANIZATION'
UMRECRD ='RECORD*FORMAT*BYTE'
UMRECSP ='RECALL*SPACE*ESTIMATE'
UMRELBK ='RELBLK?'
UMSMSM ='SMS*MANAGED?'
UMUSESP ='ORIGINAL*SPACE*USED'
UMCHIND ='CHANGED*SINCE LAST*BACKUP?'
UMDSORG ='DATASET*DSORG*ORGANIZATION'
These variables will exist, but will have missing values
or blanks until the PTF for the APAR is installed. See
also the discussion in Change 8.130 for DCOLLECT info.
The PTF for OY37378 requires additional prerequisites.
APARs OY41039 and OY41256 must be installed before 37378.
Change 08.251 This is a revision of and enhancement to Change 8.182.
BUILDPDB The CICS 3.1+ Statistics records are combined to create
BUILDPD3 four interval data sets CICINTRV, CICEODRV, CICINTRV, &
CICINTRV CICUSSRV. CICS Stats records are created at an INTerval,
Mar 5, 1991 (CICINTRV), at EOD (End of Day, or Shutdown), at REQuest
(CICREQRV), or at USS (CICUSSRV). The CICINTRV dataset
replaces and enhances the old CICSYSTM dataset that has
zero observations under CICS 3.1+. The CICEODRV dataset
is brand new and provides Shutdown & EOD statistics. In
fact, CICS 3.1 no longer prints ANY of the shutdown stats
on the Job's listing. IBM provides the DFHSTUP utility to
extract Shutdown stats from SMF data. MXG has CICEODRV!
Printing the CICEODRV data set wil give your CICS folks a
report for each shutdown/end of day evolution. There are
the nineteen CICS datasets that are currently used to
create the four (INT/EOD/REQ/USS) interval datasets:
CICAUTO CICDMG CICDQG CICDQT CICDS CICDTB
CICFCT CICLDG CICM CICSDG CICSMDSA CICST
CICTC CICTCT CICTDG CICTM CICTSQ CICTST
CICVT
Note that there are a few other CICS Statistics datasets
that are not currently included in these four interval
MXG data sets. As we learn more about CICS/ESA, these
four datasets built by CICINTRV member may be enhanced.
These four CIC...RV interval datasets are automatically
created in the PDB library by BUILDPDB/BUILDPD3 if you
do nothing; member IMACCICS defaults the destination DD
name to "PDB". The sort order of these four datasets is:
BY SYSTEM APPLID SMFPSSPN COLLTIME DURATM SMFSTINO;
Change 08.250 PR/SM "overhead" is explicitly captured when APAR OY36668
VMAC7072 (and associated microcode) is installed in ES/9000 or S/J
Mar 4, 1991 models of the 3090 (this APAR is not available on earlier
hardware platforms). The APAR captures the "Effective
Dispatch" duration, LCPUEDTM, for each partition. The
difference between LCPUPDTM, the existing LPAR Dispatch
time, and this new LCPUEDTM "Effective" LPAR Dispatch, is
the time that this LPAR was dispatched for management of
this partition. In addition to capturing the partition
LPAR management time, there will be a new observation in
TYPE70PR with a partition name of PHYSICAL that will have
only a value for LCPUPDTM. This "pseudo" partition does
not actually exist, but is the capture mechanism for the
total additional time that LPAR was dispatched but could
not be charged to a specific partition. See the technical
discussion and schematic in Newsletter NINETEEN.
Note that with this APAR installed, all of the IBM RMF
reports will now use the "Effective" dispatch time as
their 100% CPU busy denominator.
Although unrelated to the primary purpose of this APAR,
two new fields (LCPUCAP and LCPUCAPC) identify if each
partition had Capping in effect, or if Capping status
changed during the interval.
Change 08.249 DB2 trace records are now "paired" (event start and end
ANALDBTR are merged) in this new analysis routine for serious DB2
Feb 28, 1991 questions. (Note that most sites with DB2 do not need the
detail of SMF 102 tracing; member ANALDB2R seems to meet
the reporting needs of the vast majority of MXG sites).
But if you need to trace SQL calls, I/Os, etc., this
routine will sort and match the pairs and builds the many
data sets from your DB2 trace. The instructions for its
use and the datasets created are documented in the member
itself.
Change 08.248 DB2ACCT variable QWHDUNIQ is now formatted $HEX12. Three
VMACDB2 variables, QLACCPUL, QLACCPUR, QLACDBAT, added for DB2
Feb 28, 1991 distributed data durations, are not in 8-byte Timer Units
used every where else in DB2, but are microseconds stored
in an 8-byte floating point number! Change lines 189800
thru 190000 to use RB8.6 instead of MSEC8.!
Thanks to Bob Otis, Rockwell International, USA.
Change 08.247 Support for Boole and Babbage's CMF Monitor's "Type 240"
ANALCM27 SMF record is added by this MAJOR user contribution! The
ANALCM29 subtypes 0, 1, 19, and 23 are processed by the standard
EXCMFASM architecture MXG members TYPECMF/VMACCMF into 16 datasets
EXCMFCPQ CMFASMQ CMFDEVIC CMFEXTRT CMFPG0V
EXCMFCPS CMFCACHE CMFDOM CMFIPS CMFPRIOS
EXCMFDEV CMFCPUQ CMFEXTCC CMFOBJ CMFSRMC
EXCMFDOM CMFCPUS CMFEXTPG CMFPG CMFTRACE
EXCMFID
EXCMFIPS In addition, two specific processing/reporting members
EXCMFOBJ for the subtype 27 (cache sampler) and subtype 29 (the
EXCMFPG CS monitor) are provided in ANALCM27 and ANALCM29.
EXCMFPG0 The actual SMF record ID is set in member IMACCMF.
EXCMFPRI
EXCMFSRM The implementation includes a CALLed function, that is
EXCMFTCC yet to be added in MXG. Also, actual testing with the
EXCMFTPG BUILDPDB has not been performed yet.
EXCMFTRA
EXCMFTRT
IMACCMF
TYPECMF
VMACCMF
Feb 21, 1991
Thanks to Richard L. Gimarc, Boole and Babbage Austin, USA.
Change 08.246 SAS 6.06 Compatibility. LENGTH DEFAULT=4 is positional.
VMACSMF Variables ID and SUBTYPE in TYPE30_V and TYPE1718 were
Feb 21, 1991 stored in 8-bytes instead of 4-bytes because they precede
the LENGTH DEFAULT=4 statement. The LENGTH statement in
VMACSMF now includes LENGTH DEFAULT=4 preceding INPUT.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 08.245 Support for NETMASTER V2.1.0 has been added. The type 39
EXTY39 records written by NETMASTER are generally identical to
FORMATS IBM type 39 records. Two TOD variables exist at the end
VMAC39 of the SCS secion, SMFNCSTM/SMFNCETM, but their values
Feb 20, 1991 are identical to ACTSTIME/ACTETIME in the ACCT section,
and are not kept. The subtype 255 creates a new dataset,
TYPE39FF that is unique to NETMASETR and contains:
SMFNRCFA='RESOURCE*AVAILABLE*?'
SMFNRCLN='RESOURCE*LINK NAME'
SMFNRCNI='RESOURCE*NETWORK*ID'
SMFNRCNM='RESOURCE*NAME'
SMFNRCPU='RESOURCE*PU NAME'
SMFNRCR ='CONFIG DATA REVISION LEVEL'
SMFNRCSP='RESOURCE*SUBAREA PU NAME'
SMFNRCSS='RESOURCE*OWNING/ADJACENT SSCP'
SMFNRCST='END OF*NETMASTER*INTERVAL'
SMFNRCTP='RESOURCE*TYPE'
This change has been bench validated with printed dumps
of several NETMASTER records.
Thanks to Gerry Binas, DCSD, Manila Electric Company, PHILIPPINES.
Change 08.244 VM/XA and VM/ESA MONWRITE records can cause an erroneous
VMACVMXA MXG message "Probable Data Loss Due to MONWRITE Failure".
Feb 20, 1991 MXG detection of internally spanned MONWRITE records was
imperfect. Line 005970 was IF (COL-4+MRHDRLEN) GT LENGTH
but should have been (COL-3+MRHDRLEN) and line 006000 was
SKIPTHIS=LENGTH-COL-1 but should have been LENGTH-COL+1.
Thanks to Bob Small, Grumman Data Systems, USA.
Thanks to Mike Masella, G.T.E. Services Corp, USA.
Change 08.243 The test IF X NE 0 may not produce the expected result.
SAS coding If variable X can be missing, the test wil be TRUE. This
Feb 15, 1991 suggests that a (generally) safer algorithm, which does
ensure that X is both non-zero AND non-missing, is to use
the test IF X GT 0 for this purpose. The example below
tested X (an offset to a data field) to ensure that the
FIELD was present in the record:
wrong: IF X NE 0 THEN INPUT @X FIELD $CHAR1.;
right: IF X GT 0 THEN INPUT @X FIELD $CHAR1.;
Because X was in a conditional INPUT statement that had
not been executed, the value of X was missing, but the
NE 0 test (instead of GT 0) executed the INPUT statement
with @X where X was missing! What did SAS do with missing
pointer? For either a zero or missing pointer value in
an INPUT statement, SAS moves the pointer to byte 1 of
the record and beings normal INPUT. There is no problem
with using X GE 0 if you can guarantee that X will be non
missing, and in all instances of its use in MXG it does
have adequate protection. Fields unconditionally input as
PIBn (full binary) can never be missing, but variables
input as PDn and other packed formats can be missing.
Now that I realize GT 0 is safer than NE 0, I will cease
using NE 0. I'll bet this already written up somewhere.
Change 08.242 An MRO CICS transaction in an AOR that is waiting for a
VMAC110 TOR user to type enter will find the AOR transaction's
Feb 14, 1991 IRESPTM=(ELAPSED-WTTCIOTM) will include all of the time
that the AOR was waiting on the (user) TOR, and the time
waiting is captured in the WTIRIOTM, the time that the
AOR was waiting on inter-region communications. As long
as this AOR has no FOR, then all of the WTIRIOTM can be
recognized as "user think time" and should be subtracted
from IRESPTM to capture the "real" internal response time
for this type of AOR transaction. However, if the AOR
waits for any other inter-region communications, such as
and FOR, then the WTIRIOTM would contain ambiguous delay
time. The IRESPTM=IRESPTM-WTIRIOTM; statement could be
added in your EXCICTRN exit; it cannot be added to MXG
code because it might not apply to all CICS installations
and it might not even apply to all CICS regions at an
installation.
Thanks to John Nursey, Commercial Union Assurance.
Change 08.241 Unused.
Change 08.240 Variable R79GTOD was added to all TYPE79xx datasets, as
VMAC79 that timestamp may be needed in analysis.
Feb 14, 1991
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 08.239 If CICS variables are EXCLUDEd (i.e, the CICS MCT has the
VMAC110 EXCLUDE=(DFHaaaa,DFHbbbb) or INCLUDE=(DFHaaaa,DFHbbbb),
Feb 12, 1991 MXG member VMAC110 can be edited and the excluded fields
can be commented out as described in instructions in this
member (FIND occurrence of EXCLUDE and read comments).
The comments suggested using the UTILCICS program in the
MXG library, but you can just as easily look directly at
the EXCLUDE/INCLUDE statements in your MCT to know which
fields to comment out in VMAC110. This change takes note
of that user suggestion, and protected BMSTOTCN & TDTOTCN
variables against "Un-Initialized Variable" messages.
Thanks to Joe Naussbaum, Morgan Stanley, USA.
Change 08.238 Validation of CICS 3.1 statistics records uncovered some
VMAC110 incorrect input formats. In CICFCR, variables A17OPENT
Feb 12, 1991 and A17CLOST were incorrect. Instead of PD4. format, the
four bytes must be read HH PK1. MM PK1. SS PK1. TH PD1.1
and then SS=SS+TH; and A17OPENT=HMS(HH,MM,SS); and this
is repeated for A17CLOST. In CICSLDG, variables LDRFT,
LDGLLT, and LDGTTW were incorrectly input as TU4., when
they are actually CICS internal clock values and must
be INPUT as PIB4.6 and then multiplied by 16 to convert
to seconds. See Technical Discussion in Newsletter 19
for a table of time formats and how to read them.
Change 08.237 A short SMF record can be created by STC's 4400 Silo when
VMACSTC a silo is varied on/off line. STC ZAP L1H00o8 (yes, that
Feb 12, 1991 is two zeros and an alphabetic o) corrects the bad record
that caused MXG to ABEND (INPUT STATEMENT EXCEEDED ...).
The following circumvention fix has been added to MXG so
that it will not fail even with the short record. Lines
022700 thru 023000 now read:
INPUT @21+OFFSMF SMLSFLAG $CHAR1. @;
IF LENGTH GT 26 THEN
INPUT +3 SMLSATID PIB2. @;
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 08.236 Support for Legent's ASTEX ("Automated Storage Expert"
VMACDMON replacement for DASDMON SMF records. A number of new data
Feb 6, 1991 variables have been added to all three datasets. Some of
the variables that were common in all records now exist
only in the DMONDSN and DMONJOB datasets under ASX, but
since MXG now supports either old DASDMON or new ASX SMF
records, these variables are still kept in both places
for compatibility; the ones moved will exist but have
missing values with ASTEX. The following are changed:
New in all three (DMONVOL,DMONDSN,DMONJOB) datasets:
ASXFLAG ='SPANNING FLAG'
ASXFLAG2='SYSTEM*TYPE*FLAG'
ASXFLAG3='AUTHORIZED*FLAG*DASD'
RALBSY -'TOTAL*CON/DISC*OUTBOARD TIME'
RBYCNT ='TOTAL IO-S FOR BYPASSES'
RCCCNT ='TOTAL IO-S FOR CACHE CANDIDATES'
RCFCNT ='TOTAL IO-S FOR CFW'
RDFCNT ='TOTAL IO-S FOR DFW'
RDLCNT ='TOTAL*DFW*LOAD COUNT'
RHTDFW ='TOTAL DASD FAST WRITE HITS'
RHTRD ='TOTAL*READ*HITS'
RHTRDS ='TOTAL READ SEQUENTIAL HITS'
RLDCNT ='TOTAL*LOAD*COUNT'
RNRCYLS ='NR OF CYLINDERS ON THE DEVICE'
RNWCNT ='IO-S THAT WERE NORM WRITES'
ROICNT ='OPTIMIZER INHIBIT IO-S'
RSTCFW ='TOTAL CACHE FAST WRITE HITS'
RTICNT ='TOTAL IOS INHIBIT IO-S'
RXSCNT ='CROSS*SYSTEM*SEEK COUNT'
New in DMONVOL dataset:
RVCACHFL='CACHE*FLAG*HVLFLAG4'
RVCFLAG2='CACHE*FLAG2 '
RVDMTOBJ='DEMOTION*TIME (SECS)*OBJECTIVE '
RVDSNRBA='RBA OF DSN RECORDS'
RVDSNBKS='NUMBER PHYS. BLOCKS FOR DSN RECS'
RVDSNOFF='OFFSET INTO RBA TO 1ST DSN REC'
RVJOBBKS='NUMBER OF PHYS. BLOCKS FOR JOB RECS'
RVJOBOFF='OFFSET INTO BLOCK TO 1ST JOB REC'
RVJOBRBA='RBA OF JOB RECORDS'
RVMXNBR ='DSNRBA'
RVSIIX ='VSAM IMBEDDED*INDEX I-O*COUNT'
New in DMONDSN and DMONJOB dataset:
RPRGMNM ='PROGRAM NAME*ASSOCIATED*WITH DSN'
RTRATME ='TOTAL*INTRA-DSN*SEEK TIME '
Variables removed from all three DMON.... datasets.
RCHCNT ='TOTAL*CACHE*HITS'
RSQRSP ='SUM*RESP*SQUARED'
Variables removed from DMONVOL dataset
RVMXNBR ='LONGEST*NON-BUSY*RESERVE'
Now missing values (ASX only) in DMONVOL dataset:
RFTCNT ='TOTAL*FETCH*IO-S'
RLRCNT ='TOTAL*LONG*RESERVES'
RSEEKTM ='TOTAL*SEEK*TIME'
RSRCNT ='TOTAL*BLDL-FIND*IO-S'
Thanks to Joe Faska, Depository Trust, USA.
Change 08.235 The support to read HSM data sets needed correction for
VMACHSM HSM 2.4 and 2.5. Two occurrences of 177 for offset P2
Feb 6, 1991 changed to 185, and the two occurrences of 297 for P3 are
changes to 405.
Thanks to Milt Weinberger, Information Services International, USA.
Change 08.234 The Hiperbatch counters for VSAM added to the type 64 SMF
VMAC64 record were wrong, because MXG failed to skip over the 3
Feb 5, 1991 undocumented bytes in the record. Change the test for 193
to 196, and insert +3 between INPUT and SMF64SIO.
Thanks to Bob Brosnan, Goldman Sachs, USA.
Change 08.234A Preliminary support for VPD, "Vital Products Data" aka
ADOCVPD NAM, "Network Asset Management" NETVIEW "hardware monitor
EXTYVPDE records" written to SMF (usually) as type 37 containing
EXTYVPDF "VPD" as SUBSYS and SUBTYPE=22. Member IMACVPD sets the
EXTYVPDM record ID MXG expects, and defaults to 37. (If VP writes
EXTYVPDP the record, I would not be surprised to see the value 0!)
EXTYVPDS Seven internal record subtypes, E,F,M,P,S,T and W create
EXTYVPDT seven VPD..... datasets documented in DOCVPD. An extra
EXTYVPDW part of this user contribution is the INFOLOAD member,
IMACVPD which shows how an MXG SAS data set (in this example, the
LOADINFO PDB.VPDPUHAR) can be "loaded" into an INFO/SYS database!
TYPEVPD All seven subtypes have been coded and syntax checked,
VMACVPD but only "P", VPDPUHAR PU Hardware subrecords have been
VMAC37 tested with data records. Member VMAC37 was updated to
Feb 4, 1991 NOT process type 37 records with SUBSYS='VPD'.
Thanks to Bill Border, Apollo Computer Inc, USA.
Change 08.233 "Invalid data for MSOCOEFF in line ..." error and a hex
VMAC7072 dump is printed with MVS/ESA 4.1 type 72 records, but the
XMAC7072 data sets built by MXG are NOT in error. IBM increased
Feb 1, 1991 the width of the MSOCOEFF field from 4 to 8 bytes in
MVS/ESA 4.1 (because sites wanted to set a small value
and the 4-byte EBCDIC value was limited to .001 for the
memory service coefficient) by adding a new 8-byte field
to the end of the record, and putting a zero in the old
4-byte field. Unfortunately, I expected an EBCDIC zero,
but IBM changed the format to binary zeros, causing the
invalid data message. Since MXG went on to then input a
value from the new 8-byte field, MSOCOEFF was correct in
the TYPE72 data set, in spite of the note on the log!
The correction is simple. Change the line now reading:
@OFFWRKC+34 MSOCOEFF 4.
to read:
@OFFWRKC+34 MSOCOEFF ?? 4.
(the ?? added suppresses the error message and the dump
and sets the variable to missing value on invalid data).
Thanks to Ann Slaughter, Airline Tariff, USA.
Change 08.232 The CICS Dictionary utility had misleading titles and was
UTILCICS accidentally altered when CICS 3.1 support was added. The
Feb 1, 1991 report was valid, however.
Thanks to Phil Shelley, Jewish Hospital HealthCare Services, USA.
Change 08.231 VM/ESA testing found an unprotected divide by zero that
VMACVMXA is now corrected in de-accumulation of the user records.
Feb 1, 1991 (It had no impact on the MXG-build data sets, because the
observation causing zero-divide was the first for a user,
and the first record is always deleted). Additionally,
variable VMDELIST is now formatted $HEX2.
Change 08.230 Duplicate Job Name Hold delay time for batch scheduling
ASUMJOBS is now detected and eliminated in this summarization part
Jan 31, 1991 of the MXG Trend Data base that builds the PDB.JOBSKED
data set and calculates IWT (Initiation Wait Time) by
job class. See the MVS Technical Note in Newsletter 19.
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 08.229 SAS 6.06 Compatibility? SAS 5.18 handled "PIB2 ." in
VMXGHSM line 370300, but SAS 6.06 requires the "PIB2." syntax
Jan 31, 1991 (i.e., no blank between PIB2 and its period)!
Thanks to Andrew Davies, TAB of W.A., AUSTRALIA.
Change 08.228 Support for SESAME, a Volvo (Europe) VTAM Monitor, which
EXTYSESA creates an SMF record. This is preliminary support, that
IMACSESA has only been syntax checked after editing this user
TYPESESA contribution to MXG Software. Formats are defined in
VMACSESA FORMATS but are not yet associated with their variables.
Jan 30, 1991
Thanks to Olli Rautajuuri, SAS Institute Oy, FINLAND.
Change 08.227 Support for MEMO, a European Electronic Mailsystem which
EXTYMEMO creates an SMF "accounting" record. This is preliminary
IMACMEMO support, that has only been syntax checked after editing
TYPEMEMO this user contribution to MXG Software. Formats are
VMACMEMO defined in FORMATS but are not yet associated with their
Jan 30, 1991 variables.
Thanks to Pertti Russcanen, Carelcomp Oy, FINLAND.
Change 08.226 Variable PMHTSKID should not have been KEEPed in these
VMACIDMS non-task-related MXG datasets: IDMSARA,BUF,CPM,INS,INT,
Jan 29, 1991 JRL,LNE,PGM,RUS,STG,YPE. Only caused confusion.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 08.225 Support for Landmark's The Monitor for DB2 type 100 & 101
TYPEDB2 records requires a fix from Landmark. ZAP U900266 exists
Jan 29, 1991 now, and that fix will be included in Landmark's planned
maintenance release level ML911, due out this Spring. The
DB2ACCT data is good without that fix, but DB2STAT0/1 are
wrong until the fix is installed. (The statistics record
sequence number was not updated by Landmark, and MXG uses
it to validate the de-accumulation of interval records,
and to detect skipped intervals and multiple startups).
Landmark does not yet write type 102 SMF records.
Change 08.224 Support for MVS/ESA 4.2 (RMF 4.2.1).
EXTY22IO 1.New dataset TYPE22IO reports I/O configuration changes as
EXTY33U1 a result of the ACTIVATE funcation (add, delete, modify)
IMACPDB with these 33 new variables from the new subtype of the
TYPE33 type 22 SMF record:
VMAC6 FORCEOPT='ACTIVATE*FORCE*OPTION?'
VMAC22 SMF22CCH='CHANNEL*PATH*ID'
VMAC26J2 SMF22CFI='OPSYS*CONFIGURATION*ID'
VMAC26J3 SMF22DCH='ARRAY OF*CHPIDS*ADDED OR DELETED'
VMAC30 SMF22DCM='MASK OF*CHPIDS*ADDED OR DELETED'
VMAC32 SMF22DPC='ARRAY OF*PHYS CU-S*ADDED OR DELETED'
VMAC33 SMF22DPM='MASK OF*PHYSICAL CU-S'ADDED-DELETED'
VMAC4345 SMF22DVN='DEVICE*NUMBER'
VMAC7072 SMF22EDT='ID OF*NEW*EDT'
VMAC71 SMF22EFL='ENTRY*FLAGS'
VMAC73 SMF22EHD='ENTRY*HEADER'
VMAC74 SMF22ELN='LENGTH OF EACH ENTRY'
VMAC78 SMF22ER ='ENTRY*TYPE*(MXG FORMATTED)'
Dec 6, 1990 SMF22ERQ='ENTRY*REQUEST'
Jan 28, 1991 SMF22ETY='ENTRY*TYPE'
SMF22FLS='FLAGS'
SMF22FNC='ACTIVATE*FUNCTION*REQUESTED'
SMF22HCT='HARDWARE*CONFIGURATION*TOKEN'
SMF22IDN='DSNAME OF IODF*WITH NEW*I/O CONFIGURA'
SMF22NE ='NUMBER OF ENTRIES IN THIS RECORD'
SMF22NUA='NUMBER OF*UCBS ADDED*FOR THIS CHANGE'
SMF22NUD='NUMBER OF*UCBS DELETED*FOR THIS CHANGE'
SMF22OFF='OFFSET TO FIRST ENTRY'
SMF22PCH='ARRAY OF*CHPIDS*ADDED OR DELETED'
SMF22PCM='MASK OF*CHANNEL PATH IDS*ADD-DELETED'
SMF22PCN='PHYSICAL*CONTROL UNIT*NUMBER'
SMF22PSU='STARTING*UNIT*ADDRESS'
SMF22PUA='RANGE OF UNIT ADDRESSES*ADD-DELETED'
SMF22PUC='COUNT*OF UNIT*ADDRESSES'
SMF22RNR='RECORD NUMBER OF THIS RECORD'
SMF22TNE='TOTAL NUMBER OF ENTRIES FOR THIS CHANGE'
SMF22TR ='TOTAL RECORD NUMBERS FOR THIS CHANGE'
SOFTOPT ='ACTIVATE*SOFT*OPTION?'
2.New variables have been added to the TYPE30_V, TYPE30_4,
TYPE30_5, and TYPE30_6 datasets built from type 30 SMF
records, and to datasets PDB.SMFINTRV, PDB.STEPS and
PDB.JOBS built by BUILDPDB/BUILDPD3. The BUILDPDB change
required modification to member IMACPDB, so that MXG
users with a modified IMACPDB will need to retrofit its
changes onto the new IMACPDB member.
a. Ten new variables describe pages and blocks moved to
and from Auxiliary and Expanded storage for this job
due to the new Blocked Paging enhancements. Variables
in upper case are actual data fields, while lower case
variables are calculated from actual data fields:
Blocks Blocked Unblocked Total
Pages Pages Pages
In from AUX BLKSAUIN PGBKAUIN
In from ESTORE BLKSESIN PGBKESIN PGUNESIN PGTOESIN
In total BLKSTOIN PGBKTOIN
Out to AUX BLKSAUOU PGBKAUOU
Out to ESTORE BLKSESOU PGBKESOU PGUNESOU
Out total BLKSTOOU PGBKTOOU
Type 71 variables: Blocks Blocked Unblocked Total
Pages Pages Pages
In total BLKSTOIN PGBKTOIN
Type 72 variables: Blocks Blocked Unblocked Total
Pages Pages Pages
In from AUX BLKSAUIN pgbkauin
In from ESTORE BLKSESIN PGBKESIN pgunesin PGTOESIN
In total blkstoin PGBKTOIN
c. Eight new variables describing APPC activity by this
address space were added (but the APPC resources are
not currently contained in the subtype 2 & 3 interval
records, so these variables are not kept in TYPE30_V
nor the PDB.SMFINTRV data set):
APPCATR ='TRANSACTIONS*SCHEDULED*BY ASCH'
APPCCN ='TOTAL*CONVERSATIONS*(ACTIVE+DEALLOC)'
APPCCNA ='NUMBER OF ALL*CONVERSATIONS*ALLOCATED'
APPCDAR ='BYTES OF DATA*RECEIVED*BY THE TP'
APPCDAT ='BYTES OF DATA*SENT*BY THE TP'
APPCREC ='RECEIVE CALLS*ISSUED*BY TP'
APPCSEN ='SEND CALLS*ISSUED*BY TP'
APPCTAC ='NUMBER OF*ACTIVE*CONVERSATIONS'
d. The JCTJOBID field from which TYPETASK and JESNR are
extracted has changed with APPC. Instead of three
characters JOB/STC/TSU follwed by the five digit JESNR
the JCTJOBID will contain an "A" and a seven digit
number, which MXG stores in TYPETASK and JESNR, but
the maximum JESNR is 999,999 because the first of the
seven digits is always a zero. You should check if
any reporting programs use TYPETASK for selection, and
to ensure they are coded robustly so they will not
fail if TYPETASK='A' is encountered. The JCTJOBID
change was not compatibly implemented and changed
VMAC6,VMAC30,VMAC32,VMAC26J2, and VMAC26J3. SMF
records use the fieldname SMFnnJNM for the eight byte
JCTJOBID field. This IBM change in that field could
also affect "banner page" printing code in your SMF
exits.
3.New dataset TYPE33_1 records APPC Transaction Program,
"TP" resources, for each TP work scheduled by ASCH. Each
type 33 is an APPC event, with the same APPC counts that
are totaled in the type 30, above. In addition, times of
receipt, scheduling, and execution of the TP are recorded
as is the CPU times, I/O connect time and EXCP counts for
APPC TPs. This new data is the resource record for APPC,
and will be used instead of the type30s for APPC resource
accounting, performance measurement, etc. The variables
in this data set from the type 33 subtype 1 record are:
ACCOUNTn='ACCOUNT*FIELD* n'
APPCCNAS='CONVERSATIONS*ALLOCATED*BY THIS TP'
APPCCONS='NUMBER OF*CONVERSATIONS*FOR THIS TP'
APPCDARS='BYTES*RECEIVED*BY THIS TP '
APPCDATS='BYTES*SENT BY*THIS TP '
APPCRECV='RECEIVES*ISSUED*BY THIS TP'
APPCSEND='SENDS*ISSUED*BY THIS TP '
CPUSRBTM='CPU*SRB*DURATION'
CPUTCBTM='CPU*TCB*DURATION'
ELAPSTM ='ELAPSED*DURATION'
EXCPTOTL='EXCPS*FOR*THIS TP'
INPREQTM='INPUT*REQUEST*DURATION'
IOTMTOTL='DEVICE*CONNECT*DURATION '
LENACCTn='LENGTH OF*ACCOUNT FIELD* n '
LOCLLUNM='LOCAL*LU NAME*FOR THE TP'
NRACCTFL='NUMBER*ACCOUNT*FIELDS'
PARTLUNM='NODENAME*LUNAME*OF PARTNER'
QUEUETM ='SCHEDULER*QUEUE*DURATION'
RACFGRUP='RACF*GROUP*IDENTIFICATION'
RACFUSER='RACF*USER*IDENTIFICATION'
REQDTIME='REQUEST*RECOGNIZED*BY FMH-5'
SKEDTIME='REQUEST*PLACED ON*SCHEDULER QUEUE'
SMFTIME ='TIMESTAMP*WHEN RECORD*WAS WRITTEN'
SYSTEM ='SMF*SYSTEM*ID'
TPCLASS ='TP*CLASS'
TPNAME ='TP*NAME'
TPNDTIME='TP*EXECUTION*ENDED'
TPROFILE='TP*PROFILE*NAME'
TPSKEDTY='TP*SCHEDULER*TYPE'
TPSTTIME='TP*EXECUTION*STARTED'
TPUSECNT='USES OF*THIS TP*BY THIS USER'
TPUSRTYP='TP*USER*TYPE'
ZDATE ='ZEE DATE*ZEE OBS*WAS CREATED'
The following time sequence is unvalidated but is thought
to describe the events for a standard TP scheduled event:
INPREQTM QUEUETM ELAPSTM
Waiting on Waiting on Executing
Scheduler TP queue
|_____________|_______________|____________|
| | | |
REQDTIME SKEDTIME TPSTTIME TPENTIME
Request Placed on Execution Execution
Received TP's queue Started Ended
4.New variables were added to TYPE4345 for JES2 start
options:
CONSOPT ='CONSOLE*OPTION*SPECIFIED?'
LOGOPTN ='LOG*OPTIONS*SPECIFIED?'
QUIKSTRT='JES2 DID*QUICK*START??
RECNFGOP='RECONFIG*OPTION*SPECIFIED?'
5.New TYPE70 variables APPCMIN,APPCMAX,APPCAVG for the min,
max,avg number of APPC address spaces active, and twelve
distribution buckets APPC00 thru APPC11 count the percent
of time when 0, 1-3, ... over 36 APPC address spaces were
active, paralleling the similar set of fifteen variables
for the existing other three types of address spaces for
BATCH, TSO, and STC addresses.
6.New TYPE71 variables count blocked pages in or out, the
PWSS (Primary working set) pages migrated, and the number
of ESTORE frames that were freed without migration:
ESPGFRNO='ESTORE FRAMES FREED W/O MIGRATION'
PGBKtoin='BLOCKED*PAGES*PAGED IN'
PGBKtoou='BLOCKED*PAGES*PAGED OUT'
PWSSMIIN='PWSS PAGES*MIGRATED*FROM ESTORE'
7.Old TYPE72 variable WKLOAD no longer exists.
Eleven new variables, including the long needed new
ESA CPU times, and the ESTORE residency time (which
can be compared with the existing variable ACTFRMTM,
previously discussed in NEWSLTRS member) to estimate
usage of ESTORE frames.
ACTESFTM='EXPANDED*STORAGE*RESIDENCY'
ACTFRMTM='ACTIVE*FRAME*TIME'
BLKSAUIN='BLOCKS*PAGED IN*FROM AUX'
BLKSESIN='BLOCKS*PAGED IN*FROM ESTORE'
CPUHPTTM='HIPERSPACE*CPU TIME'
CPUIIPTM='I/O*PROCESSING*CPU TIME'
CPURCTTM='REGION*CONTROL*CPU TIME'
PGBKESIN='BLOCKED PAGES*PAGED IN*FROM ES'
PGBKTOIN='BLOCKED PAGES*PAGED IN'
PGTOESIN='PAGES*PAGED IN*FROM ESTORE'
SYSTRNTM='SYSTEM*TRANSACTION*TIME'
8.New TYPE73 variables describe IODF name and creation:
CFGCHGFL='SMF73CFL CONFIGURATION CHANGE FLAGS'
CHPADDED='CHANNEL*PATH*ADDED?'
CHPDELET='CHANNEL*PATH*DELETED?'
CHPMODIF='CHANNEL*PATH*MODIFIED?'
IODFNAME='IODF*NAME'
IODFSUFX='IODF*NAME*SUFFIX'
IODFTIME='IODF*CREATION*DATETIME'
9.Type 74 record contains the same fields added to the type
73 listed above, but the variables are NOT kept in TYPE74
because I don't think the 44 bytes of IODF name needs to
be kept in each device segment of MXG's TYPE74 dataset.
If they really turn out to be needed, I will create a new
data set, one per type 74 record, instead of one for each
device. The code is in place, so the variables do exist
and are available in EXTY74, if needed.
_______ _______ ________
|Offset |Offset |Offset | SMF Type 33 APPC/MVS TP Accounting
|to POF |to IOF |to UOF |
|_______|_______|________|
Product Section:
____________________________
| |
POF: | "ASCH", MVSLEVEL |
|____________________________|
TP Identification Section:
_________________________________________________________
|Offset | |
IOF: |to TPO |TP Class, Standard/Multi-Trans, TP Profile Name |
|_______|_________________________________________________|
\
\
\
\ TP Program Name Section:
\ _______ _______________________________
| | |
TPO: | Len |TP Name (up to 64 characters) |
|_______|_______________________________|
______________________
/ \
TP Usage Section: / \
_______________ _______ _________ _______ \
| |Offset | |Offset | /
UOF: |RACFUSER,GROUP |to AOF |Usecount |to TDO | /
|_______________|_______|_________|_______| /
/ /
/ /
/ /
/ /
_________________/ /
/ /
/ TP Usage Accounting Section:
/ ______ __________________
/ | |Accounting fields |
/ AOF: | Len |(up to 175 char) |
/ |______|__________________|
/
/
/
TP Usage Detail Section
_______ ___________________________________________
|Offset | |
TDO: |to TSO | Sends,received,data,conversations,TCB,SRB |
|_______|___________________________________________|
\
\
\
\ TP Usage Scheduler Section
\ _____________________________
| |
TDO: | LLU, PLU, Four Time Stamps |
|_____________________________|
10.Type 78 record contains the same fields added to the type
73 listed above, but the variables are NOT kept in TYPE78
because I don't think the 44 bytes of IODF name needs to
be kept in each subtype 3 segment. See above note.
Change 08.223 Deaccumulation of EXCP count from type 14/15 records by
ANALDSET this MXG analysis routine did not handle concatenated PDS
Jan 25, 1991 libraries, noticibly causing JES2 job's PROCnn DDNAMES to
have incorrectly high EXCP counts in this analysis. The
BY list in lines 017300 and 017600 should have had the
variable DSNAME inserted between DDNAME and UNITADR:
BY SYSTEM READTIME JOB STEP DDNAME DSNAME UNITADR SMFTIME;
Thanks to Lee Hollis, Lowe's Companies, Inc, USA.
Thanks to Dee Ramon, Mutual of America, USA.
Change 08.222 Default SMF record IDs in IMAC.... members for User SMF
IMACWSF records are intended to all be 512 (an impossible value)
Jan 25, 1991 but some IMACs slipped into the library with a different
value; if your site had a record of that value, the test
of JCLTEST could cause an "INPUT STATEMENT EXCEEDED "
STOPOVER condition. All IMACs for User SMF records now
have the value of 512, as they should have all along!
Thanks to Glenn Hanna, Textron Defense Systems, USA.
Change 08.221 SAS 6.06 Compatibility. Mixed case from PUT function.
MONTHBLD The DAY=PUT(TODAY,WEEKDATE3.); may create mixed case in
Jan 25, 1991 the character variable DAY under SAS 6.06, depending on
several SAS 6.06 options; the first letter is upper case,
while the second and third letters of the name of the day
are lower case. Since the subsequent test is for caps,
the test fails. Line 005200 is now replaced with
DAY=UPCASE(PUT(TODAY,WEEKDATE3.));
to force DAY to be uppercase, independent of the sites
options for case.
Thanks to Barry Lampkin, Blue Cross Blue Shield of Mass., USA.
Thanks to Debora Reinert, Nordstrom, Inc, USA.
Change 08.220 DCOLLECT variable DCDBKLNG should have been multiplied
VMACDCOL by 1024 (like the other adjacent values) to convert to
Jan 25, 1991 bytes for printing by the MGBYTES format.
Thanks to David Stern, CSX Technology, USA.
Change 08.219 Hiperbatch statistics added to the TYPE64 data set were
VMAC64 not kept in the correct dataset. The line containing
Jan 24, 1991 the six new variables was mis-located in the keep list
for TYPE64X (which is output before the variable are
input) instead of the correct keep list for TYPE64.
Variable JFCBDSNM was spelled incorrectly as JCFBDSNM.
Thanks to Michael Enad, Dun and Bradstreet, USA.
Change 08.218 Validation of PreRelease uncovered minor corrections.
IMACPDB 1.Line 029800 in IMACPDB should be _FREQ_ vice _FREQ
IMACACCT (but no error was set as _FREQ_ only exists in 6.06
VMAC110 and the missing underscore only caused _FREQ_ to be kept.
Jan 21, 1991 2.Comments in IMACACCT were enhanced to suggest that the
unwanted LENACCTn variables should also be dropped, and
that meaningless SAS "393" warnings print on the log.
3.CICS 3.1 processing was not protected for an unexpected
Statistics subtype. It did not fail, but the messages
produced were unclear. Now it is protected.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 08.217 Support for Candle's EPILOG for MVS Version 300 SMF "type
EXEPMEP 180" data record is added by this user contribution.
EXEPMIO Three EPMV.. data sets are created:
EXEPMEQ EPMVEP - The fixed workload information and the wait
IMACEPMV statistics for the two kinds of workloads,
TYPEEPMV PG (perf groups, periods, total sys), and
VMACEPMV AS (TSO, JOB, STC). Variable SM180SUB shows
Jan 16, 1991 which of the 10 subtypes created the record:
TOTS - all perf groups combined
PGN - all periods of a perf group
PGP - a single period of a perf group
BAT - end of step for batch address space
TSO - end of step for TSO address space
STC - end of step for STC address space
bat - end of interval for batch ASID
tso - end of interval for TSO ASID
stc - end of interval for STC ASID
RSRC - EPILOG captured data (not from RMF)
EPMVEPIO - I/O counts for each device with counts.
EPMVEPEQ - ENQ counts for each major name with counts.
Thanks to Billy Westland, Candle Corporation, USA.
Thanks to John Ebner, Litton Computer Services, USA.
Change 08.216 Both SIO73CNT and SIO78CNT are missing in RMFINTRV for a
RMFINTRV 4381/3090/ES9000 processor, because I/O counts moved into
Jan 16, 1991 different records for different processors and software.
Mar 13, 1991 Insert after line 070200
DATA TYPE78; SET PDB.TYPE78;
(so a PDB can be on tape), and expand the SET statement
in line 070400 to read:
SET TYPE73P TYPE78 (IN=IN78) PDB.TYPE78IO (IN=IN78IO);
and insert new line after 070700:
IF IN78IO THEN SIO73CNT=IOPACTRT*DURATM;
to now populate variable SIO73CNT to contain total SSCH
count to all channels from the appropriate data set.
Thanks to John McDonald, Arizona State University, USA.
Change 08.215 If only DB2 Report PMLOK03 was requested, a 309 error is
ANALDB2R received. Line 076980, variable QW0054AI should have
Jan 16, 1991 numeric 0's instead of alphabetic o's. Line 077020,
variables MINTIME and MAXTIME need to be added to that
RETAIN statement.
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 08.214 "INVALID THIRD ARGUMENT TO FUNCTION SUBSTR" error message
VMAC6156 from syntax WANT6156=INPUT(SUBSTR(SYSPARM(),10,7),7.);
Jan 15, 1991 when the SYSPARM value is less than 17 characters. This
soft error can be eliminated by storing the value of the
SYSPARM() function into a variable, because SAS sets that
variable's length to 200 bytes. The variable is then used
in place of the subsequent SYSPARM() references. Lines
012200 thru 012600 now read:
IF WANT6156=. THEN DO;
SYSPARM=SYSPARM();
IF SYSPARM EQ: 'TYPE6156-' THEN
WANT6156=INPUT(SUBSTR(SYSPARM,10,7),7.);
ELSE WANT6156=-1;
RETAIN WANT6156;
END;
Apr 1 update. Now I find out from SAS that this message
only occurs in SAS 6.06 if ZAP Z6060627 was installed,
and that zap is now marked REMOVED by the Institute).
But I'll leave my robust circumvention in place!
Thanks to Debbie Matic, Commercial Union Assurance of Canada, CANADA.
Change 08.213 This example shows how new-style macros can be used in
Book place of the old style _DAY macro and INSTREAM DD.
Jan 15, 1991 The example in the Chapter 35 to copy the DAY PDB into
the correct "Day-of-Week" PDB uses a temporary dataset
(pointed to by the INSTREAM DDname), and writes out an
old-style MACRO named _DAY that contains the character
name of the day of the week, which is then used as the
DDNAME into which the daily PDB will be copied. That
example has been updated and commented below:
//INSTREAM DD UNIT=SYSDA,SPACE=(TRK,(1,1))
OPTIONS NOTITLES;
DATA _NULL_ ;
FILE INSTREAM NOPRINT RECFM=FB LRECL=80 BLKSIZE=8000;
TODAY=TODAY()-1; /* get yesterday's date */
WEEKDAY=' ';
WEEKDAY=PUT(TODAY,WEEKDATE3.);
PUT 'MACRO _DAY ' WEEKDAY $CHAR3. '%' ;
RUN;
%INCLUDE INSTREAM; /*read macro just created*/
PROC COPY IN=DAY OUT= _DAY;
Some users have been directed by SAS technical support to
replace the old-style substitution macro with the %MACRO
facility. One recommended implementation is:
DATA _NULL_;
TODAY=TODAY()-1;
DAY=UPCASE(PUT(TODAY,WEEKDATE3.));
CALL SYMPUT('_DAY',DAY);
PROC COPY IN=DAY OUT=&_DAY;
More later.
Change 08.212 This change deletes MXG member XMACEPIL and puts support
VMACEPIL for EPILOG CL1000 back in member VMACEPIL. Change 8.019
XMACEPIL was applied to member XMACEPIL, which was then copied in
Jan 14, 1991 to VMACEPIL. It is believed to support 4.4.0, 4.5.0, and
4.5.1 versions, but test data is not at hand.
Change 08.211 New variable INVOKSAS in TYPESYNC dataset from user SMF
VMACSYNC record produced by SYNCSORT now identifies if this SORT
Jan 14, 1991 was invoked by the SAS System. Note that SYNCSORT's
enhancement PTF number EW2903 must have been installed by
your SYNCSORT installer before this field will be "Y".
Change 08.210 DCOLLECT migration/backup tape data sets datetime values
VMACDCOL UMTIME or UBTIME were wrong. Both occurrences of JULDATE
Jan 14, 1991 must be changed to DATEJUL (lines 037800 and 040000).
In addition, the value written in the record by IBM is
apparently wrong itself, until you install APAR OY37378.
Thanks to Derek Cespedes, Florida Power and Light, USA.
Change 08.209 TSO/MON variable READTIME is missing in PreReleases 8.3
VMACTSOM thru 8.7. Change 8.104 to correct CA7 corruption of the
Jan 14, 1991 first byte of Reader Date worked ONLY if for corrupted
records; normal, non-CA7 records produced missing values.
In line 040110, remove the DO; and delete line 040130
(containing END;) so that READTIME is always created by
the INPUT function.
Thanks to David B. Adams, National Life of Vermont, USA.
Change 08.208 IBM SMF APARs have added new data fields.
VMAC23 1.SMF now flags when the CPU timer goes bad in a new field
VMAC30 in the type 30 timer section. APAR OY24857 applies.
Jan 12, 1991 New variable CPUERROR (which was formerly a reserved
field) will have hex 0000 (APAR not installed), hex 8000
(APAR installed, no error). The subsequent bits are on if
the corresponding CPU measurement value (there are now
seven CPU measures) was defective and set to zero in this
record. The APAR also eliminates an OC9 ABEND of SMF.
2.SMF now flags a step cancellation due to NOT CATLG 2 or
NOT CATLG 7 condition (one bit for both reasons), but
only if the installation specified JOBFAIL(YES) in ALOCXX
SYS1.PARMLIB member (which ABENDs the NOT CTLG JOB). APAR
OY38977 applies. IBM's bit 11 of SMF30STI is used, and
MXG ABEND will contain NOTCTLG if the step was cancelled
due to NON CATLG condition. In addition, new variable
TERMIND contains all 16 bits of the step/job indicator
for detail examination in your programs, if needed.
3.SMF type 23 record (buffer statistics) is expanded to
better describe the SMF writer's use of its memory. APAR
OY27449 applies. New variables created in TYPE23 dataset:
CURALLOC='SMF BUFFER*CURRENT*ALOCATION'
HWMALLOC='SMF BUFFER*HIWATERMK*ALLOCATION'
MAXBUFSZ='BUFFER*MAXIMUM*LEVEL'
MVSLEVEL='MVS*SOFTWARE*LEVEL'
PERALLOC='INCREMENT*PER EACH*ALLOCATION'
WRNBUFSZ='BUFFER*WARNING*LEVEL'
Change 08.207 MXG 8.7 only. Several test sites noted that //SOURCLIB DD
JCLTEST6 JCL statement was missing from the FORMATS step, and the
Jan 12, 1991 SMFSMALL step's //SYSIN DD DSN=MXG(UTILGETM) was replaced
with a //SYSIN DD * statement and a %INCLUDE.
Change 08.206 SAS 6.06 Compatibility, only in MXG PreReleases thru 8.7.
UTILGETM The UTILGETM program, used only during installation of
Jan 12, 1991 MXG (to build a small SMF file for testing), will put SAS
6.06 (even at the October maintenance level) in a 100%
CPU Busy loop, causing a System 322 ABEND. The error is
in the processing of the %VMXGVBS macro which was added
by MXG Change 8.174. This macro generates different DCB
attributes for the FILE statement (CMS can't create VBS)
so new MXG users under CMS did not die during testing.
The %VMXGVBS macro added to UTILGETM was almost exactly
the same as the %VMXGLRC macro for the INFILE statement
in the _SMF macro. The differences were that %VMXGVBS
sets only the LRECL parameter of the INFILE SMF, while
%VMXGVBS sets LRECL, DCB, and BLKSIZE options, and that
their references were located in different positions in
their respective INFILE and FILE statements. Over 50 runs
322 ABENDed before the %MACRO compiler error was found to
be circumvented when there is a "parameter=value"syntax
preceding the %VMXGVBS invocation. Adding COL=COLOUT to
line 01900 in UTILGETM circumvents the loop. This works:
FILE SMFOUT COL=COLOUT %VMXGVBS;
This didn't:
FILE SMFOUT %VMXGVBS;
SAS Institute now knows the loop occurs only a %MACRO on
a FILE or INFILE statement (and also only if the %MACRO
itself starts with %IF), and are working on the problem.
SAS Zap Z606xxxx, available Month dd,yyyy corrects this
error in the SAS 6.06 %MACRO compiler. Tracking 163046.
Thanks to Barry Lampkin, Blue Cross Blue Shield of Mass., USA.
Thanks to Grady Tart, McM Information Services, Inc, USA.
Change 08.205 PreRelease 8.2 thru 8.7 only. The label for CPUTCBTM may
VMAC110 say "SUM OF THREE CPU TCB TIMES", but it is still the
Jan 11, 1991 CPU TCB TIME. (The CICS 3.1 support label overrode the
original label).
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 08.204 DB2ACCT variable QXNSMIAP was misspelled as QXMSMIAP. The
ANALDB2R correct variable QXNSMIAP was added by this change, but
VMACDB2 the original variable is also kept so that any reports
Dec 20, 1990 that you've written won't fail. Please correct in your
report programs and eventually QXMSMIAP will be dropped.
Thanks to Ron Root, Oryx Energy Company, USA.
---Changes thru 8.203 were included in MXG PreRelease 8.7 Dec 18, 1990--
Change 08.203 WSF2 record from RSD newest version 3.3.4 has a section
VMACWSF mis-located two bytes to the right and truncated at the
Dec 17, 1990 end. However, MXG code had not been validated with a real
record from that version, and a nine-bit bit test only
failed when actually executed, and the overlay of two
fields in the WSF2 DSECT was missed in MXG coding. The
two MXG oversights were corrected, and the logic was
expanded to support both the correct and incorrect record
format. Until maintenance exists from its vendor, the
value of ACCNPELT will be incorrect, and usually zero.
Thanks to Dennis Mahlubam, Aetna Life & Casualty, USA.
Change 08.202 MXG didn't calculate converted RMF data (3.5.1 to 4.1.1).
VMAC79 The equation for R791FMCT in line 027800 should be
Dec 16, 1990 ELSE R791FMCT=R791RSV1 + R791RSV2;
Note R791WSS is missing here, since SMF79ASL is only 60.
Thanks to Miller Dixon, Continuum, USA.
Change 08.201 -VM/XA Monitor records appear to have an IBM error. In the
VMACVMXA VXUSEINT record the HFQUCT (Hi Freq Sample Count) resets
Dec 16, 1990 itself erratically. MXG tries to capture the CPU time a
VM machine used between a logon and the end of the first
interval, and used HFQUCT in that heuristic algorithm.
However, that logic is now invalidated by this IBM reset
and the user interval record is no longer output when a
logon event is detected. The actual change was to
comment out the two lines "IF NOT (FIRST.BEGINMTR OR
FIRST.VMDUSER OR FIRST.VMDCPUAD) THEN OUTPUT;"
until HFQUCT can be corrected by IBM.
Perhaps someday, IBM will provide the long-requested
flag in the user sample record so the time from logon
to end of interval can be captured safely.
-An unrelated change was made to better format the notes
MXG writes to the log when operator commands are found.
Additionally, the command variable CALCMD is now length
200 in all kept data sets.
Thanks to Procter & Gamble, BELGIUM.
Change 08.200 IMS Log type 35x with ENQFLAG=0Cx and FLAG2=40x is now
VMACIMS output in the IMS35P record. This is the last reported
Dec 16, 1990 record subtype that was not output in TYPEIMS processing.
Thanks to Magnus Jansson, DAFA Stockholm, SWEDEN.
Change 08.199 SAS 6.06 Circumvention discussed in Changes 8.078 and
ANALDB2R 8.059 were not propagated into all reports in ANALDB2R.
TESTANAL The default set of ANALDB2R reports were changed, but in
Dec 16, 1990 lines 028780 and 45960 the commas after AUTHCHG UTILITY
and OUTCODE=DROP DATETIME; must be removed. The fourteen
occurrences of " .T102" must be changed to " . T102", and
two " .DB2" must be changed to " . DB2". MXG testing of
%ANALDB2R by member TESTANAL was corrected to now invoke
and test all 27 of the DB2 reports.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 08.198 ACF2 variable ACLFLDVB could raise "Invalid Data" note.
VMACACF2 Line 052900 (the only occurrence of PK4.) should end with
Dec 7, 1990 "ACLFLDVB ?? PD4. @;" instead of "ACLFLDVB PK4. @;"
Thanks to Rachel Bromage, L.O.L.A., ENGLAND.
Change 08.197 Unused.
Change 08.196 Unused.
Change 08.195 Change 8.056 had not been installed in PreReleases. Lines
VMACSYNC 023800 and 024800 should now read SIRFM ?? 1. and
Dec 4, 1990 SORFM ?? 1. respectively.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 08.194 Validation of the STC Silo HSC 1.1.0 SMF Record uncovered
VMACSTC an MXG coding error that caused STOPOVER. Line 034600
Dec 3, 1990 should input STC07TNM PIB1. (instead of PIB4.).
Thanks to Leslie Dixon, Santa Fe Energy Resources, USA.
Change 08.193 VMXGVTOF is a modification of VMXGVTOC that will read the
VMXGVTOF output of ASMVTOC (the "Fast VTOC Reading program") and
Dec 3, 1990 will create the same datasets (VTOCLIST,VTOCMAP,VTOCINFO)
that were created by the slower VMXGVTOR/VMXGVTOC pair.
Note that VMXGVTOF replaced the (temorary) MPXGVTOC that
was introduced in Change 8.117.
Thanks to Jeff Fox, SKF, USA.
Change 08.192 Reserved Change Number.
Dec 2, 1990
Change 08.191 This contributed member estimates processor storage
ANALSTOR requirements based on techniques taught by IBM's
Nov 29, 1990 "MVS/ESA Subsystem Analysis: Processor Storage
Estimation" seminar taught by the South Western
Area Systems Center. The two step process suggested
first measures current usage based on RMF type 71 and
type 79 ASD records and second estimates the real and
expanded storage needed for zero paging (or very close
paging) taking under consideration future workload
growths. This analysis program accomplishes only the
first step, and provides a program to report the
current usage based on this IBM methodology.
Thanks to Miller Dixon, Continuum, USA.
Change 08.190A The original author of the support for Arbiter SMF
EXARB404 records (from Tangram product) has updated the code
EXARBC01 to support changes in Version 2.1.1 of that product.
EXARBC02 Three new data sets are created.
IMACARB
VMACARB
Nov 29, 1990
Thanks to J-P Tonnieau, GMF System Team SARAN, FRANCE.
Change 08.190 VMXGVTOC produces a single "error" message,
VMXGVTOC POINT=1 NOBS=0 POINTER=. VOLSER= DSNAME= ...
Nov 28, 1990 that has no real effect, that will disappear if you move
the SET statement (line 063700) to after the STOP
statement (line 063800).
Thanks to Magnus Jansson, DAFA Stockholm, SWEDEN.
Change 08.189 The POINT= operand of the SET statement cannot be used
ASUMCICS for a dataset on tape under SAS 6.06. We used it under
Nov 27, 1990 5.18, but it turns out that 5.18 documentation said that
it couldn't be used for tape! POINT= and NOBS= were used
to determine transparently which CICS dataset (CICSTRAN
or MONITASK or both) was to be summarized. The logic has
been redesigned to make the same determination without
the POINT= operand, so tape datasets can be used.
Thanks to Bob Grant, Gold Bond, USA.
Change 08.188 The final RETURN; statement was after the END; statement,
VMACHSM which caused no problem as long as HSM SMF record was
Nov 27, 1990 processed by itself; adding VMACHSM to BUILDPDB caused
subsequent data sets to be not output! The RETURN; is
now moved inside the END; statement.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.187 Hitachi processors using MLPF (their PR/SM or MDF) can
VMAC7072 mix dedicated and shared processors in the same LPAR,
Nov 27, 1990 but MXG did not protect for that possibility and the
CPUWAITM in the TYPE70 was incorrect (but the individual
CPUWAITn variables were correct). This change expanded
the logic for Dedicated processors to re-calculate the
CPUWAIT variable across both dedicated and shared CPUs.
Thanks to Matthew Bakulich, Crowley Maritime, USA.
=========Changes thru 8.186 were printed in Newsleter EIGHTEEN==========
Change 08.186 PreReleases 8.2 thru 8.5, JES 3 BUILDPDB, line 044500
BUILDPD3 added variables JINLTIME and JSRTTIME to the LENGTH
Nov 16, 1990 statement but left out the "8" before the semicolon.
Thanks to Phil Waters, Arthur Andersen, Bristol, ENGLAND.
Change 08.185 PreRelease 8.3 thru 8.5 had an extra debugging statement
VMACDB2 "IF QWHSTYP GT 2 THEN PUT QWHSTYP= Z=;" after the @; in
Nov 16, 1990 line 165000 which should have been removed. Other than
possibly filling your log, there was no real problem.
Thanks to Ron Allison, UDSI, USA.
Change 08.184 PreRelease 8.5 could fail with a STOPOVER due to SMF
VMAC57 type 57 (only with MVS 4.1) because of typographical
Nov 15, 1990 errors in Change 8.167. Line 009700 should be
IF LEN GE 116 THEN instead of GE 16 and line 009800
should be INPUT @101+OFFSMF instead of @100.
Thanks to Bob Malitz, United Parcel Service, USA.
Change 08.183 PreRelease 8.5 needed minor tuning of Landmark TMON/CICS
TYPEMON8 Version 8 support. The division by TCINPRCN for long
Nov 15, 1990 running mirrors needed zero-divide protection.
Change 08.182 The CICS 3.1+ Statistics records are now combined into
BUILDPDB _CICNTRV.CICINTRV by new member CICINTRV which is now
BUILDPD3 automatically included in BUILDPDB/3 and TYPE110. The
CICINTRV CICINTRV data set merges the interval "INT" records from
IMACCICS statistic data sets, and the original CIC..... datasets
TYPE110 remain in the work file. CICINTRV is a major enhancement
Nov 14, 1990 for CICS 3.1 analysis, and logically is a replacement for
the non-existent CICSYSTM. Note that if no "INT" records
exist (which would happen if only "EOD" was requested),
there will be no observations in CICINTRV. These nineteen
CICS Statistics datasets are merged together to create
the CICINTRV interval statistics dataset:
CICAUTO CICDMG CICDQG CICDQT CICDS CICDTB
CICFCT CICLDG CICM CICSDG CICSMDSA CICST
CICTC CICTCT CICTDG CICTM CICTSQ CICTST
CICVT
Change 08.181 Boole & Babbage IMF product record for IMS chained
TYPECIMS transactions contain the ARRVTIME of the original
Nov 14, 1990 transaction in the subsequent records, causing the input
queue time to be too long. This contributed fix adds the
logic to sort and reprocess the IMS.TRANSACT datasetand
resets ARRVTIME to the ending time of the preceding
transaction in each chain.
Thanks to David Daner, Sun Refining and Marketing, USA.
Change 08.180 IMS Response Mode Transactions are now identifiable
VMAC110 with new variable RSPMODTR added to IMSTRAN dataset.
Nov 14, 1990
Thanks to ???, CED BORSA, ITALY.
Change 08.179 CICS Type 110 variables DSAHWMK, PROGCOMP, PROGSTOR,
VMAC110 STORHWMK, and STORHWMH all measure bytes, but their
Nov 14, 1990 units ranged from bytes, to doublewords to pages. Now,
all are converted to bytes and formatted with MGBYTES
format for consistency and clarity. (MGBYTES prints
100K, 200M, etc, scaling bytes to the appropriate range.)
Thanks to Elisabeth Jensen, Aetna Life and Casualty, USA.
Change 08.178 IMS Log processing algorithms enhanced in MXG 8.3 arenow
VMACIMS corrected for two conditions that had occasionally caused
Nov 11, 1990 INPQUETM and RESPNSTM to be appreciably wrong. The first
change affected 21 transactions, the second affected 134
transactions, out of a total of 368,000 transactions!
1.IMS Log 35x records with ENQFLAG=0Cx and FLAG2=0Cx did
not decode correctly, which caused RESPNSTM to be very
large in a very small number of transactions.
Near line 070600, after line
IF FLAG2='...1.....'B THEN LOC=LOC+2;
insert the following new line:
ELSE IF FLAG2='00001100'B THEN LOC=LOC+4;
This has been validated only for IMS 2.2, but it should
apply also for both 2.1 and 3.1. One of the big logic
problems in MXG support of the IMS log is the decoding of
the 35x records. IBM does not describe all of the bit
values for ENQFLAG, and each combination of ENQFLAG/FLAG2
must be experimentally determined to be an input, output,
message, or program-to-program enqueue event. MXG notes
on the log "LCODE 35X NOT OUTPUT ENQFLAG= FLAG2=" when
unknown values are found, and deletes the record. Values
of 0C/40, 2F/80, 2F/88 have been reported and are thought
to be output enqueue (and hence non-critical to delete).
It appears that FLAG2 must contain the '04'x bit on for
the enqueue to be for input.
2.The logic added in PreRelease 8.3 to reset ARRVTIME when
it was missing was correct and did correct problems by
sorting correctly. Out-of-time-sequence 01/03x records
were also reset by the 8.3 change, and seemed to work for
many transactions, but when the transaction's 35x record
was also out of time sequence, the change overcorrected,
and the INPQUETM and ENQTIME were wrong.
Near line 025600, change the test which read
IF ARRVTIME=. or ARRVTIME LT LASTTIME THEN ARRVTIME=....
to now read
IF ARRVTIME=. THEN ARRVTIME=LASTTIME-.001;
Thanks to J. Cary Jones, Philip Morris, USA.
Thanks to T. H. Witt, Oscar Mayer Food Corp, USA.
Thanks to Magnus Jansson, DAFA Data AB, SWEDEN.
Change 08.177 -CICS/ESA 3.1 transactions accessing DL/I databases with
IMACICDB DBCTL can contain (optionally) a 256-byte segment with
IMACICDL clocks and counters for the CICS-caused DL/I activity.
IMACICUS (DL/I counters from the IMACICDL member can also exist,
UTILCICS but contain DL/I counts only for Local DL/I). Enabling
VMAC110 the DBCTL data is described in the Customization Guide.
Nov 11, 1990 Previously, the transaction record consisted of a static
segment, the optional local DL/I segment, the optional
user counters/clocks, and then ended with the optional
user character field. Since the character field (often
used for application data, account number, etc.) was at
the end of the transaction record, MXG simply read the
rest of the record into USRSTRNG, and then truncated the
data into the kept variable USERCHAR, whose length you
specified with the LENGTH statement in member IMACCICS.
With the restructured CICS 3.1 record, however, you must
now also set the variable USRCHRLN in IMACICUS to tell
MXG how many bytes of character data is to be read into
USRSTRNG so that the DBCTL data can be read; the order in
CICS 3.1 is static, Local DLI, User clocks/counters, user
character string, and DBCTL segment, when the new EMP is
added after your existing MCT calls.
The new IMACICDB member decodes the DBCTL fields when
you remove the comment block (just like IMACICDL did for
local DL/I). The actual DBCTL segment is 256 bytes, but
only 158 bytes are currently used by IBM, and they create
these 34 new variables (only if IMACICDB is changed);
STATBFWT='WAITS FOR*DEDB*BUFFERS'
STATDATN='SCHEDULE*COMPLETED*TIMESTAMP'
STATDATS='SCHEDULE*STARTED*TIMESTAMP'
STATDBIO='DATABASE*I/O-S'
STATDECL='DEDB*CALLS'
STATDERD='DEDB*READ*OPERATIONS'
STATDLET='DATA BASE*DELETES*ISSUED'
STATEXDQ='EXCLUSIVE*DEQUEUES'
STATEXEQ='EXCLUSIVE*ENQUEUES'
STATGHN ='DATA BASE*GHN CALLS*ISSUED'
STATGHNP='DATA BASE*GHNP CALLS*ISSUED'
STATGHU ='DATA BASE*GHU CALLS*ISSUED'
STATGN ='DATA BASE*GNP CALLS*ISSUED'
STATGNP ='DATA BASE*GNP CALLS*ISSUED'
STATGU ='DATA BASE*GU CALLS*ISSUED'
STATINTC='WAIT TIME*INTENT*CONFLICT'
STATISRT='DATA BASE*INSERTS*ISSUED'
STATMSCL='RESERVED*FOR*FAST PATH'
STATNPSB='PSB*NAME'
STATOVFN='OVERFLOW*BUFFERS*USED'
STATPOOL='WAIT TIME*FOR POOL*SPACE'
STATREPL='DATA BASE*REPLACES*ISSUED'
STATSCHT='SCHEDULE*PROCESSING*DURATION'
STATTENQ='TEST*ENQUEUES'
STATTLOC='PI*LOCKING*DURATION'
STATTMIO='DATABASE*I/O*DURATION'
STATTOTC='TOTAL*DL/I*CALLS'
STATTSDQ='TEST*DEQUEUES'
STATUENQ='UPDATE*ENQUES'
STATUOWC='UNIT-OF-WORK*CONTENTIONS'
STATUPDQ='UPDATE*DEQUES'
STATWEXQ='WAITS ON*EXCLUSIVE*ENQUEUES'
STATWTEQ='WAITS ON*TEST*ENQUEUES'
STATWUEQ='WAITS ON*UPDATES AND*ENQUEUES'
-Unrelated, but discovered in this phase of testing, the
%VMXGFOR macro references inside old style macros, in the
UTILCICS dictionary-reading utility were corrected to now
contain double percent signs and titles were clarified.
Thanks to Hamid Tavakolian, Continuum, USA.
Change 08.176 IMS 3.1 DBCTL Thread Type transactions have zero for the
TYPEIMS value for NMSGPROC, causing them to be lost. There were
VMACIMS two errors in MXG logic. First, the setting of PROGTYPE
Nov 9, 1990 from PTYPE values 3, 4, and 5 (for D, Q, and R), near
line 038500 in VMACIMS should have been 4, 8, and 128.
Second, the tests in TYPEIMS for PROGTYPE='B' near line
024400 and 038700 are expanded to protect for DBCTL:
IF PROGTYPE='B' OR PROGTYPE='D' NMSGPROC EQ 0 THEN DO;
Thanks to Hamid Tavakolian, Continuum, USA.
Change 08.175 Landmark's TMON/MVS release 1.11 was supposed to become
EXTMVTR release 1.12, but it is now in managed availability as
EXTMVTRS release 1.1, with two new data records and some changes.
EXTMVWK -In LMRKREC="SY" section, insert a line with +4 after
EXTMVWKP SYSMDL $CHAR2., change SYSTSO1P PIB4.2 to PIB4.4, and
IMACTMVS delete the line with +4 after SYSPDT is read in.
TYPETMVS -Logical data records can span physical blocks, and the
VMACTMVS spanning can split fields! Thus far, only the I/O data
Nov 9, 1990 records have been found to be spanned. For example, with
Nov 28, 1990 552 I/O devices, an interval's logical record contains
41,400 bytes of data (plus headers), but is written in
three blocks of 13844 bytes each. Part of a field is at
the end of the first block, with the rest of that field
continued in the 33rd byte of the second block! There is
only one way to handle these non-standard records that
can exceed 32760 bytes, and that requires the use of an
Infile Exit to the SAS System. Fortunately, the Infile
Exit named TMON that is supplied by MXG for compressed
Landmark CICS records has been modified to support either
compressed and/or spanned record processing! The member
EXITMONI, however, only works under SAS 5.18.
In Newsletter EIGHTEEN, I thought we would also change
the 6.06 exit, and added member EXITMON6 in preparation
for its modification, but it turns out that SAS 6.06
itself will need modifications before the infile exit
can be redesigned. Thus EXITMON6 only supports the
decompression of Landmark records under SAS 6.06; the
EXITMONI member does both decompression and unspanning
but only under SAS 5.18.
Follow the instructions in the EXITMONI member, build
the TMON exit, and then edit new member IMACTMVS to tell
MXG that you have installed the Infile exit. Note that
this modified TMON exit will process either TMON/MVS or
TMON/CICS records. If you have not installed the TMON
exit and MXG finds spanned TMON/MVS records, the bad data
record will now be deleted and so noted on the log; prior
to this change, TMON/MVS spanned records cause STOPOVER.
3.Four new datasets are built, two each from the TR and WK
records. TMVSTR contains the Tape Record statistics, and
TMVSTRS contains one observation for each tape drive in
a TR record. TMVSWK contains the "static" variables in
the WK record, and TMVSWKP contains one observation for
each period of each performance group in the WK record.
4.Further validation added JIJNAME to TMVSJIST, corrected
labels for IOELDNRP,PSMAXSU,PSMINSU, and changed the
INPUT for SYSWTIME from PIB8.6 to MSEC8.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 08.174 This change should be transparent. It permits MXG to be
VMACSMF used for SMF record processing either under CMS or OS
UTILGETM versions of SAS, by using a new %MACRO to set the values
Nov 9, 1990 of RECFM and LRECL differently when MXG is exeuted under
CMS SAS than when MXG is executed under MVS SAS.
(Previously, CMS users had to EDIT these changes.)
UTILGETM was also expanded for both environments to look
for additional subtypes in creating the SMFOUT file.
Under CMS, VBS records can only be read, not written, and
they cannot have LRECL greater than 32756. Furthermore,
RECFM=VB is not supported for output; only RECFM=V
records can be created (CMS SAS accepts RECFM=VB syntax
but actually creates RECFM=V records). With this change,
execution under CMS causes the _SMF macro used for SMF
input to specify RECFM=VBS,LRECL=32756, and the UTILGETM
output spec will be RECFM=V,LRECL=32756,BLKSIZE=32760.
Additionally, since the SAS JFCB= option of the INFILE
statement does not function under CMS, variable SMFJFCB
is now protected to eliminate the uninitialized variable
message when MXG is executed under CMS SAS for SMF data.
Under MVS, VBS records can have LRECL=32760 (and actual
records with 32760 LRECL are written by SMF!). Since the
MXG specification has been LRECL=32760, this change had
no logic change to _SMF or UTILGETM when MXG is executed
under MVS SAS.
Change 08.173 Preliminary support for Amdahl's MPT (MDF Performance
EXMPTDOM Tool) SMF record. This new tool replaces the existing
EXMPTEND TYPEMDF record with enhanced information. Existing names
EXMPTGLO of TYPEMDF variables were preserved when recognized, but
EXMPTSEL until the actual DSECT is provided by Amdahl, all names
IMACMPT are subject to change and should be used with caution.
TYPEMPT The four new datasets created from the MPT SMF records
VMACMPT (whose ID is set in IMACMPT) are MPTDOMAN, MPTGLOBL,
Nov 9, 1990 MPTSELCT, and MPTENDSL. This support has not been tested
with actual data records yet.
Change 08.172 SPIN library suddenly fills after installation of JES2
BUILDPDB maintenance (either migration to MVS/ESA or PUT 8908).
BUILDPD3 This change replaces the discussion (without a change)
Nov 9, 1990 on the MXG 8.5 PreRelease as Change 8.158.
1.The logic decision in BUILDPDB ("to SPIN or not to SPIN")
controls the contents of PDB.JOBS, PDB.STEPS, PDB.PRINT,
and the SPIN data library. BUILDPDB will output to the
PDB library or SPIN library based on these criteria:
a) Job has "spun" more times than your chosen value of
_SPINCNT (defined in IMACSPIN). Each time a job is not
output, its SPINCNT is incremented. If you set the
value of _SPINCNT in IMACSPIN to 0, BUILDPDB will then
always output to the PDB and will never output to the
SPIN library.
b) The job is complete. There are two possibilities:
i.) The job failed before execution (i.e., JCL error
or canceled before initiation). The JES2 JSTRTIME
(start of execution) will be missing, and only
type 26 (and possibly type 6) records exist for
the job.
ii.) The job is really complete, and all SMF records
have been read. This requires that both a type 26
and a type 30 subtype 5 record were found, AND the
timestamp in the subtype 5 (MVS execution ended)
is between JSRTIME to JENDTIME (the JES execution
start to end times). That timestamp test is needed
to ensure that the real execution type 30 record
was found. If the SMF type 30 timestamp doesn't
match the JES type 26 timestamp, all records on
the job are "SPUN" until the correct type 30
subtype 5 is found. (Restarted jobs create
multiple type 30 subtype 5s. With multiple MVS
systems, today's SMF file could contain the type
26 and a type 30 from the first execution, but the
real (final) type 30 record could be in an
un-dumped SMF file that will not be read until
tomorrow's BUILDPDB run.)
This logic is implemented in BUILDPDB by setting OKFLAG;
if OKFLAG is set to 1, the job is created in the PDB,
if OKFLAG is not set, the records are sent to the SPIN.
SPINCNT= MAX(SPIN26,SPIN6,SPIN30_5,SPIN30_4,SPIN30_1,0);
IF IN26 AND IN30_5 AND
JSTRTIME LE JTRMTIME LE JENDTIME THEN OKFLAG=1;
ELSE IF IN26 AND (JSTRTIME=. OR JENDTIME=.) THEN OKFLAG=1;
ELSE IF SPINCNT GE _SPINCNT THEN OKFLAG=1;
2.Several sites suddenly found their SPIN libraries filled
after migration from MVS/XA to MVS/ESA, or after applying
JES2 maintenance (somewhere between PUT 8902 and 8908).
There were PTFs which altered JES2 time stamps, and one
of the PTFs went PE (PTF in Error), and perhaps the site
did not correctly install all of the PTFs, but the actual
result of the maintenance was that the site's JES2 type
26 SMF record's JENDTIME variable (SMF26XPT, JCTEQOF, the
job ended time, also in the $HASP395 job ended message)
was now earlier than the MVS type 30 subtype 5 (the job
termination JTRMTIME variable (SMF 30TME) timestamp!!!
This has NEVER been true before, and the sites with the
problem saw the change occur precisely when they put on
the IBM maintenance. Not only did IBM JES2 Level 2 say
there was no problem, they also tried to say that there
is no correlation between the JES SMF26XPT execution end
and the MVS SMF30TME job termination time (which is the
timestamp when SVC83 moves the record into the SMF buffer
in the SMF address space)! But SMF30TME occurs while the
job is still in MVS initiation and JES2 can't end the
execution until after SVC83 has completed and until after
MVS terminates its initiator. At these sites, the actual
JENDTIME to JTRMTIME delta is hundreds of milliseconds,
and it plots uniformly across the entire day. Note also
that SVC83 does not write data to disk, but only moves an
SMF record into the SMF buffer; the actual VSAM write of
the CI containing that SMF record will occur much later,
under an asyncronous SRB in the SMF address space.
But even if I'm right and IBM's wrong, it doesn't matter.
IBM can't find their problem or fix their code nearly
as fast as you and I can change the MXG logic to protect
for the error. Since the purpose of the time test is to
match the type 30 with its type 26, we will use the MVS
type 30 job initiation time, JINITIME, which has not been
touched by JES2 maintanance, instead of JTRMTIME, which
was altered, in the MXG BUILDPDB logic. Thus if the SPIN
library suddenly fills, compare JTRMTIME in SPIN30_5 with
JENDTIME in SPIN26J2, and if JENDTIME is earlier than the
JTRMTIME, you know you have this problem. To correct,
simply change JTRMTIME in the BUILDPDB "To Spin or Not To
Spin" logic shown above to instead use JINITIME. This
Change has been made in MXG PreRelease 8.7 and later.
Thanks to Georg Simon, Federal Reserve of Philadelphia, USA.
Change 08.171 PreRelease 8.5 support for Landmark CICS Version 8 had a
TYPEMON8 little error, but it caused a big dump and a STOPOVER!
Nov 5, 1990 Add +1 at the end of line 066800 (ends with TH PK1.)
to skip over the eighth byte of that datetimestamp.
Thanks to Marcia Ketchersid, Price Waterhouse, USA.
Change 08.170 The FORMATS step (only on MXG 8.5 PreRelease) was missing
JCLTEST the //SOURCLIB DD DSN=MXG.SOURCLIB,DISP=SHR
Nov 5, 1990 JCL statement.
---Changes thru 8.169 were included in MXG PreRelease 8.6 Oct 27, 1990--
Change 08.169 Support for VM/ESA Version 1 Release 1.0 ESA Feature.
EXAPLEDT The contents of the MONWRITE output data records has been
EXAPLSDT changed with new fields and new records, but the changes
EXAPLSRV were implemented by IBM in a completely compatible manner
EXIODATS and thus previous versions of MXG Software will not fail
EXSTOASS when they process the ESA Feature data records.
VMACVMXA The four new records create five new MXG datasets (and
Oct 16, 1990 thus there are five new EX...... exit members), and 15 of
Nov 5, 1990 the existing MXG datasets have new variables.
Dec 4, 1990
1.These fifteen existing MXG data sets content's have been
changed as indicated:
VXSYTXSP - New variables PLSPGMRD,PLSPGMRX,PLSPGXRD, and
PLSPGXWT (page reads/writes to/from ESTORE/AUX
due to page translations/migrations). Sample.
VXSYTASG - SALPRFAV,SALPRFIU are now reserved (were for
Preferred Paging), and new variables added for
page/spool average/total MLOAD (CALTOTM1,M2,
CALAVGM1,M2). Sample.
VXSYTCOM - New variables for counts of IUCVs good to/from
and bad to services SYSTEM,ACCOUNT,LOGREC,CRM,
IDENT,CONFIG, and SPL, twenty-one variables
PLSIS+{E,T,U}+{SY,AC,LO,CR,ID,CF,SP}.
VXMTREPR - Added new flag if Application Domain Event is
active, and CONFIG time limit variable.
VXMTRPAG - DDIPREF now reserved (was Pref. Paging Flag),
DDIPPCYL renamed RDCPCYL, and RDEVSID, Host
Subchannel ID now added.
VXMTRSPR - Added new flag if Application Domain Sample is
active, and CONFIG time limit variable.
VXMTRSCH - New SRMWSSMP for SET SRM MAXWSS value.
VXSCHDDL - New VMDLRGST if user prempted for storage.
VXSCLSRM - New SRMWSSMP for SET SRM MAXWSS value, and
VMDSCDF1 was replaced with VMCQDSPU.
VXSTORSG - New CALASCRT,CALASCFT,CALASCUT for paging
virtual segment control (reorgs, unused and
used pages).
VXSTORSP - New PLSPGDRD,PLSPGDWT for page tables paged
to/from auxiliary storage.
VXSTOASP - New EXPDEVST,EXPMLOAD,CPVLOKAT,CPVALOCD with
paging device service time, MLOAD, scans for
allocations, actual allocations, and twenty
EXPCON01-EXPCON20 tabulating how many times
that many contiguous slots were available.
VXSTOATC - DDIPREF now reserved, CALPAGCY renamed to
RDCPCYL, and RDEVSID added.
VXUSEACT - VMDCTPPS (Pref Page Slots) deleted.
VXIODCAD - New CALPSF data for 3990-3 status bytes.
2.There are five new datasets which can exist. However, two
of the new datasets (VXAPLEDT,VXAPLSDT) will have nonzero
observations is your site has an application that uses
the new interface to create Application data records.
Note that IBM uses that interface, and MXG creates the
VXAPLSRV dataset for file pool servers.
VXSTOASS - Auxiliary Shared Storage Sample Data record
describing resources from the CP-owining a
shared volume (PAGE/SPOOL READs/WRITES, queue
length, and SSCH+RSCH counts).
VXIODATS - Attach Shared Device Event Data record, which
contains exactly the same data as the existing
VXIODATD Attach (non-shared) Device dataset.
VXAPLEDT - Application Event Data record, with a variable
length string of installation/application
created event data, domain 10 record 1.
No IBM application currently uses this new
event data interface.
VXAPLSDT - Application Sample Data record with a variable
length string of installation/application
created interval data, domain 10 record 2.
IBM applications do now use this new interface
but they are recognized by MXG and create the
new VXAPLSRV dataset described below.
VXAPLSRV - IBM's use of Application Sample Data to record
"Server Monitor Records". Both SFS file pool
servers and CRR recovery servers use the
APPLDATA class call to provide 123 counters or
clocks that are listed below. MXG converts all
counters to rates per second (which are, by an
MXG convention, formatted 7.1 to so indicate
that they are rates), but the clocks are kept
in units of seconds during the sample interval
(and FORMATed TIME12.2 to so indicate). The
VMDUSER (VM User ID) must be used to identify
which server created the application data:
Server-ID Observation contains
VMSERVR CRR (Counters 103-116 are only
for CRR, and 114 will be
always non-zero if CRR).
VMSERVS SFS (System owned file pool)
VMSERVU User (User owned file pool)
The following list of variables created from
these servers using the new application data
interface clearly is a major enhancment in
the measurement and management of the shared
file system and other future file servers:
ADATASDT='APPLICATION*DATA'
CALDATLN='LENGTH OF*APPLICATION*DATA'
CALDATOF='BYTE OFFSET*TO APPLICATION*DATA'
DEDMTFLG='DEDICATED*MAINTENANCE*MODE FLAG'
FIRSTR ='FIRST RECORD*SINCE DIAGNOSE*DC ISSUED?'
MDGPROD ='APPLICATION*PRODUCT AND*RELEASE'
SRVCN001='ACTIVE*AGENTS*HIGHEST VALUE'
SRVCN002='VIRTUAL*STORAGE*HIGHEST VALUE'
SRVCN003='VIRTUAL*STORAGE*REQUESTS DENIED'
SRVCN004='CHECKPOINTS*TAKEN'
SRVCN005='CHECKPOINT*TIME'
SRVCN006='SECURITY*MANAGER*EXIT CALLS'
SRVCN007='SECURITY*MANAGER*EXIT TIME'
SRVCN008='EXTERNAL*SECURITY*MGR EXIT CALLS'
SRVCN009='EXTERNAL*SECURITY*MGR EXIT TIME'
SRVCN010='ADD*STORAGE*REQUESTS'
SRVCN011='CACHE*RELEASE*REQUESTS'
SRVCN012='CHANGE*THRESHOLD*REQUESTS'
SRVCN013='CLOSE*DIRECTORY*REQUESTS'
SRVCN014='CLOSE*FILE*REQUESTS'
SRVCN015='COMMIT*REQUESTS'
SRVCN016='CONNECT*REQUESTS'
SRVCN017='CREATE*ALIAS*REQUESTS'
SRVCN018='CREATE*DIRECTORY*REQUESTS'
SRVCN019='DELETE*DIRECTORY*REQUESTS'
SRVCN020='DELETE*FILE*REQUESTS'
SRVCN021='DELETE*STORAGE*REQUESTS'
SRVCN022='FILE*COPY*REQUESTS'
SRVCN023='GET*DIRECTORY*REQUESTS'
SRVCN024='GET*DIRECTORY*ENTRY REQUESTS'
SRVCN025='GRANT*ADMINISTRATOR*AUTHORIZATION'
SRVCN026='GRANT*AUTHORIZATION*REQUESTS'
SRVCN027='GRANT*USER*CONNECT REQUESTS'
SRVCN028='LOCK*REQUESTS'
SRVCN029='OPEN*DIRECTORY*REQUESTS'
SRVCN030='OPEN FILE*NEW REQUESTS'
SRVCN031='OPEN FILE*READ*REQUESTS'
SRVCN032='OPEN FILE*REPLACE*REQUESTS'
SRVCN033='OPEN FILE*WRITE*REQUESTS'
SRVCN034='QUERY*ADMINISTRATOR*REQUESTS'
SRVCN035='QUERY*CONNECTED USERS*REQUESTS'
SRVCN036='QUERY*ENROLLED USERS*REQUESTS'
SRVCN037='QUERY*LOCK CONFLICT*REQUESTS'
SRVCN038='QUERY*FILE POOL*REQUESTS'
SRVCN039='QUERY*USER SPACE*REQUESTS'
SRVCN040='READ*FILE*REQUESTS'
SRVCN041='RECOVERY*CLOSE CATALOG*REQUESTS'
SRVCN042='RECOVERY*GET CATALOG*REQUESTS'
SRVCN043='RECOVERY*OPEN CATALOG*REQUESTS'
SRVCN044='RECOVERY*PUT CATALOG*REQUESTS'
SRVCN045='REFRESH*DIRECTORY*REQUESTS'
SRVCN046='RELOCATE*REQUESTS'
SRVCN047='RENAME*REQUESTS'
SRVCN048='REVOKE*ADMINISTRATOR*AUTHORIZATIONS'
SRVCN049='REVOKE*AUTHORIZATION*REQUESTS'
SRVCN050='REVOKE*USER*REQUESTS'
SRVCN051='ROLLBACK*REQUESTS'
SRVCN052='UNLOCK*REQUESTS'
SRVCN053='WRITE*ACCOUNTING*REQUESTS'
SRVCN054='WRITE*FILE*REQUESTS'
SRVCN055='FILE POOL*REQUEST*SERVICE TIME'
SRVCN056='REMOTE*FILE POOL*REQUESTS'
SRVCN057='ALIAS*DEFINITIONS*EXAMINED'
SRVCN058='ALIAS*DEFINITIONS*UPDATED'
SRVCN059='BEGIN*LOGICAL*UNITS OF WORK'
SRVCN060='AGENT*HOLDING*TIME'
SRVCN061='LOGICAL*UNIT OF WORK*ROLLBACKS'
SRVCN062='SAC*CALLS'
SRVCN063='STORAGE GROUP*EXPLICIT LOCK*CONFLICTS'
SRVCN064='FILE SPACE*EXPLICIT LOCK*CONFLICTS'
SRVCN065='DIRECTORY*EXPLICIT LOCK*CONFLICTS'
SRVCN066='FILE*EXPLICIT LOCK*CONFLICTS'
SRVCN067='STORAGE GROUP*LOGICAL LOCK*CONFLICTS'
SRVCN068='FILE SPACE*LOGICAL LOCK*CONFLICTS'
SRVCN069='DIRECTORY*LOGICAL LOCK*CONFLICTS'
SRVCN070='FILE*LOGICAL LOCK*CONFLICTS'
SRVCN071='CATALOG*LOCK*CONFLICTS'
SRVCN072='LOCK*WAIT*TIME'
SRVCN073='DEADLOCKS'
SRVCN074='QSAM*REQUESTS'
SRVCN075='QSAM*TIME'
SRVCN076='FILE*BLOCKS*READ'
SRVCN077='FILE*BLOCKS*WRITTEN'
SRVCN078='CATALOG*BLOCKS*READ'
SRVCN079='CATALOG*BLOCKS*WRITTEN'
SRVCN080='CONTROL*MINIDISK*BLOCKS READ'
SRVCN081='CONTROL*MINIDISK*BLOCKS WRITTEN'
SRVCN082='LOG*BLOCKS*READ'
SRVCN083='LOG*BLOCKS*WRITTEN'
SRVCN084='BIO REQ TO*READ FILE*BLOCKS'
SRVCN085='BIO REQ TO*WRITE FILE*BLOCKS'
SRVCN086='BIO REQ TO*READ CATALOG*BLOCKS'
SRVCN087='BIO REQ TO*WRITE CATALOG*BLOCKS'
SRVCN088='BIO REQ TO*READ CONTROL*MINIDISK BLOCKS'
SRVCN089='BIO REQ TO*WRITE CONTROL*MINIDISK BLKS'
SRVCN090='TOTAL*BIO REQUEST*TIME'
SRVCN091='I/O REQ TO*READ FILE*BLOCKS'
SRVCN092='I/O REQ TO*WRITE FILE*BLOCKS'
SRVCN093='I/O REQ TO*READ CATALOG*BLOCKS'
SRVCN094='I/O REQ TO*WRITE CATALOG*BLOCKS'
SRVCN095='I/O REQ TO*READ CONTROL*MINIDISK BLOCKS'
SRVCN096='I/O REQ TO*WRITE CONTROL*MINIDISK BLKS'
SRVCN097='RELEASE*BLOCKS*REQUESTS'
SRVCN098='TEMPORARY*CLOSE*REQUESTS'
SRVCN099='SFS*SEND USER*DATA REQUESTS'
SRVCN100='PREPARE*REQUESTS'
SRVCN101='CHANGE*FILE*ATTRIBUTE'
SRVCN102='HIGHEST*MAXCONN*USER'
SRVCN103='GET*CAPABILITY*REQUESTS'
SRVCN104='GET*LOG NAME*REQUESTS'
SRVCN105='CRR GET LUWID REQUESTS'
SRVCN106='RESYNC*INITIAL*REQUESTS'
SRVCN107='RESYNC*PROTOCOL*VIOLATION REQS'
SRVCN108='RESYNC*QUERY DIRECTION*REQUESTS'
SRVCN109='CRR*WRITE LOG*REQUESTS'
SRVCN110='CRR REQUEST*SERVICE*TIME'
SRVCN111='NUMBER OF*SYNC*POINTS'
SRVCN112='SYNC*POINT*TIME'
SRVCN113='PARTICIP RESC*CRR WRITE*LOG REQS'
SRVCN114='CRR LOG*CHECKPOINTS*TAKEN'
SRVCN115='CRR LOG*I/O*REQUESTS'
SRVCN116='CRR BIO*REQUEST*TIME'
SRVCN117='RESERVED'
SRVCN118='DIRATTR*REQUESTS'
SRVCN119='QUERY*ACCESSORS*REQUESTS'
SRVCN120='RESERVED*COUNTER 120'
SRVCN121='RESERVED*COUNTER 121'
SRVCN122='DIRCONTROL*RESOURCE*LOCK CONFLICT'
SRVCN123='DEADLOCKS*THAT CAUSE*ROLLBACK'
SVMSTAT ='OPTION*SVMSTAT*IN DIRECTORY?'
VMDUSER ='USER*IDENTIFICATION'
3.The documentation of the VM/ESA Monitor records will now
be only in "softcopy", and will be unloaded at install
into a file named MONITOR LIST1403 on your base CP object
disk (194). The new documentation contains an excellent
table that details changes made to the content and format
of the monitor records, including the many APARs that are
a part of VM/XA (and were already supported in MXG).
A thanks for IBM for making documentation available so
early; it's nice to not have to play "catch-up". Of even
greater significance: you can install this version of MXG
now, and whenever you install VM/ESA, you won't need to
install yet another version of MXG!
---Changes thru 8.168 were included in MXG PreRelease 8.5 Oct 27, 1990--
Change 08.168 The SAS 6.06 circumvention was misspelled; three lines
GRAFRMFI that now read
Oct 26, 1990 IGOUT=GRARMF5S GOUT=PDB.GRARMF5S
should be
IGOUT=GRARMF5S GOUT=PDB.GRARMF5S
IGOUT=GRARMF5M GOUT=PDB.GRARMF5M
IGOUT=GRARMF5D GOUT=PDB.GRARMF5D
Thanks to Jan Simark, SAS Institute Europe, GERMANY.
Change 08.167 Support for MVS/ESA SP Version 4.1 and RMF 4.2, which
VMACSMF became avaliable October 26, 1990.
VMACSMF 1.New flag variable MVSESAV4 (flag that this is MVS Version
VMAC434 4) is set but not used in MXG logic.
VMAC535 2.TYPE434, new variables CPUWRONG and EXCPLOST are now set
VMAC6 to "Y" if TCB time has overflowed, or EXCPs lost because
VMAC24 over 1635 DD statements existed. Both conditions exist
VMAC57 ONLY in the type 4 and 34 records, and IBM's now states
VMAC71 "Only the type 30 record should be considered valid."
VMAC74 3.TYPE535, new variable CPUWRONG (see above) added.
VMAC78 4.TYPE6 (JES2 only, not PSF nor JES3 nor EXT WRTR) has
VMAC79 a new "Enhanced SYSOUT Support (ESS) section containing
VMAC90 the output descriptor (if any) for the first offloaded
XMAC7072 data set, with five new variables:
XMAC71 SMF6IND ='ESS*SEGMENT*INDICATOR'
XMAC73 SMF6JDVT='JCL*DEFINITION TABLE*NAME IN JDTV'
XMAC74 SMF6SGID='SEGMENT*IDENTIFIER'
XMAC75 SMF6TU ='TEXT UNIT*(SWBTU)*DATA AREA'
Oct 27, 1990 SMF6TUL ='TEXT UNIT*(SWBTU)*DATA AREA LENGTH'
Mar 5, 1991 This paragraph was changed after Newsletter 18.
The SMF6TU character variable contains the SWB text unit,
which contains the JES2 ITEXT (length, key, value) for
the new OUTPUT JCL statement parameters ADDRESS, BUILDING
DEPT, NAME, ROOM, and TITLE. Their key values (IEFDOKEY
in SYS1.MACLIB) are x'27',28,29,2D,26, & 2A respectively.
Once I find out what sets the maximum length of these new
parameters, the fields will be decoded from the SWB. Stay
tuned to this paragraph in this change.
5.The MSS (Mass Storage System) device is no longer and IBM
supported device, and TYPE22_4 and its MSS variables will
now always be missing.
6.TYPE24 contains the same new five Enhanced SYSOUT (ESS)
fields added to the type 6, with these different names:
SMF24IND,SMF24JDT,SMF24SGT,SMF24TU, and SMF24TUL.
These variables are kept in TYPE24.
7.TYPE57J2 contains the same new five Enhanced SYSOUT (ESS)
fields added to the type 24, with these different names:
SMF57IND,SMF57JDT,SMF57SGT,SMF57TU, and SMF57TUL.
These variables are kept in TYPE57.
8.TYPE71 contains three new swap reason codes, because MVS
now has three additional reasons to swap an ASID:
IC - Improve Central Storage usage swap, by recognizing
page thrashing.
IP - Improve System Paging Rate swap, identifies that
your PTR controls are causing swaps.
MR - Make Room to swap in a user who has been swapped
out too long. When an Exchange Swap should have
occurred, SRM starts a clock, defaults to 30 sec
for TSO, 10 min for non-TSO, and will bring that
task back in if it stays out that long.
For each swap reason, there are five new variables for
the swap rate of each possible transition (EXTAUX..,
LOGAUX.., LOGEXT.., PHYAUX.., and PHYEXT..). The sum of
all transitions for each swap reason, (i.e., the total
swap rate for that reason code) is in the new variables
SWAPIC, SWAPIP, and SWAPMR.
9.TYPE74 data set has been enhanced with new variables
CUNAME ='CONTROL*UNIT*NAME'
DEVMODEL='DEVICE*MODEL*NAME'
and three variables describing pending delay due to the
director port busy, AVGPNDIR, DLYDIRTM, and PCPNDIR.
10.New subtype 2 of the Type 74 record from the Monitor III
Cross-System Coupling Facility (XCF) reports on message
traffic between the local system (where RMF executes)
and remote systems.
Four new TYPE74xx data sets are created:
/*TYPE74CO - control data */
R742MNXT='MEMBER DATA*SECTIONS IN*NEXT RECORDS'
R742MTOT='MEMBER DATA*SECTIONS IN*ALL RECORDS'
R742PNXT='PATH DATA*SECTIONS IN*NEXT RECORDS'
R742PTOT='PATH DATA*SECTIONS IN*ALL RECORDS'
R742SNXT='SYSTEM DATA*SECTIONS IN*NEXT RECORDS'
R742STOT='SYSTEM DATA*SECTIONS IN*ALL RECORDS'
R742TSR ='SUBTYPE 2 RECORDS IN INTERVAL'
/*TYPE74ME - member data */
R742MGRP='GROUP*NAME'
R742MMEM='MEMBER*NAME'
R742MRCV='SIGNALS*RECEIVED BY*MEMBER'
R742MSNT='SIGNALS*SENT BY*MEMBER'
R742MSTF='STATUS*FLAGS'
R742MSYS='SYSTEM NAME*WHERE MEMBER*RESIDES'
/*TYPE74PA - path data */
R742PAPP='PATH WAS BUSY*WHEN SELECTED*TO TRANSFER'
R742PDEV='DEVICE*NUMBER'
R742PDIR='DIRECTION*PATH'
R742PIBR='INBOUND SIGNALS*REFUSED*MAX MSG LIMIT'
R742PMXM='MAXIMUM*MESSAGE BUFFER*SPACE'
R742PNME='SYSTEM*NAME'
R742PODV='DEVICE*NUMBER ON*OTHER END'
R742PONA='NAME OF*SYSTEM ON*OTHER END'
R742PQLN='OUTBND SIGNALS*PENDING TRANSFER*ON PATH'
R742PRET='PATH*RETRY*LIMIT'
R742PRST='NUMBER*OF*RESTARTS'
R742PSIG='OUT/IN BOUND*SIGNALS SENT/RCVD*OVER PATH'
R742PSTA='PATH*STATUS'
R742PSTF='STATUS*FLAGS'
R742PSUS='PATH NOT BUSY*WHEN SELECTED*TO TRANSFER'
R742PTCN='TRANSPORT*CLASS*NAME'
/*TYPE74SY - system data */
R742SBIG='NUMBER OF*BIG MESSAGE*CONDITIONS'
R742SBSY='NUMBER OF*NO BUFFER*CONDITIONS'
R742SDIR='DIRECTION*OF THE MESSAGE*TRAFFIC'
R742SFIT='NUMBER OF*MESSAGE FIT*CONDITIONS'
R742SMXB='MAXIMUM*MESSAGE BUFFER*SPACE'
R742SNME='SYSTEM*NAME'
R742SNOP='NUMBER OF*NO PATH*CONDITIONS'
R742SOVR='BIG MESSAGES*THAT EXCEEDED*OPT MSG LEN'
R742SPTH='SIGNALING PATHS*CURRENTLY*IN SERVICE'
R742SSML='NUMBER OF*SMALL MESSAGE*CONDITIONS'
R742SSTF='STATUS*FLAGS'
R742STCL='MESSAGE LENGTH*FOR*TRANSPORT CLASS'
R742STCN='TRANSPORT*CLASS*NAME'
11.TYPE75 data set has also been enhanced with the same new
variables CUNAME and DEVMODEL that were added to TYPE74.
12.TYPE78 now detects and deletes invalid subtype 3 records
to avoid the STOPOVER condition if you have not installed
PTF UY55476 for APAR OY36517 described in MVS notes.
13.TYPE79 subtype 1 changed R791ES to reserved and previous
reserved R791ESSL now contains what was in R791ES and is
renamed R791ESCT! Both R791ES and R791ESCT are kept.
14.TYPE79 subtype 11, new variables R79BCU and R79BDEVN for
control unit name and device name.
15.TYPE90 new subtype 18 added variables SYSISUED,SMF90SGC
and SMF90GRN for the SET GRSRNL command.
16.All five of the XMAC70xx members (needed only for SAS
Version 5 for circumvention of the "344 Compiler Limit"
error condition) now include these and all previous MXG
changes to their corresponding VMAC members. See Change
8.129 for further information on the "344" error. Due to
additional new subtypes added by MVS 4.1, there were 3
new iterative DOs added by this support which may cause
modified BUILDPDBs to need "344" circumvention. Sorry!
Note that IBM has announced additional RMF enhancements in
MVS/ESA 4.2 (RMF 4.2.1) to be available on March 29, 1991,
that will add additional data to type 72, 74, and 79s.
Change 08.166 Variable INNODE was added to _PDB26J2 macro. INNODE and
IMACPDB (previously kept) INROUTE are both required to know the
Oct 23, 1990 source of a job, using PDB.JOBS.
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 08.165 IMS Log processing variable PGMLODTM is now non-zero only
TYPEIMS for the first transaction, for multiple transactions per
Oct 23, 1990 program schedule (since the program is loaded only once!)
and OENQTIME is calculated differently for MULTRANS.
Thanks to Harry Olschewski, DVG Kiel, GERMANY.
Change 08.164 Page 219 references the _DBUG110 macro which no longer
MXG Guide exists. It was replaced by a new (undocumented) value of
Oct 23, 1990 SYSPARM=TYPE110-5, since specifying a SYSPARM value does
not require the source change mentioned on page 219.
Thanks to Hr. Moser, RBG Munich, GERMANY.
Change 08.163 NETSPY target response variables for session manager
VMACNSPY have no meaning, but contained non-zero values (they are
Oct 23, 1990 addresses) in the SMF record. MXG recognized thesession
manager record and set the percentages T1RSPPC-T4RSPPC to
missing, but left the counts T1RSPNO-T4RSPNO as they were
found, which confused some users. Now, the countsare
also set missing for session manager records.
Thanks to Randy Hallman, LEGENT, ENGLAND.
Change 08.162 NPM variables OPER.... are now correctly labeled to show
VMAC28 these fields represent HOST plus NETWORK durations, and
Oct 23, 1990 the NETW.... variables are now corrected to label these
fields as NETWORK only (i.e., eliminating the previously
incorrect NEWT label of Network Plus Host). The values
were correct, only the MXG label was incorrect.
Thanks to Tom Kiddy, American President Lines, USA.
Change 08.161 Support for Landmark's Monitor for CICS Version 8.0
ANALMONI Member TYPEMON8 is used instead of TYPEMONI for this
EXMONHIS new version. The support added two new datasets, the
EXMONMRO MONIMRO (MRO detail from transaction record), and the
IMACMONI MONIHIST history detail, which contains the total-to-
TYPEMON8 current-minute of the resources in the MONISYST interval
Oct 18, 1990 data set. MONISYST is now written every minute. Many new
fields describe counts and durations of both requested
and waiting states. The variable names are patterned:
WTxxyyzz
where xx=activity (see list below).
yy=IO for request active, or
WT for waiting, a subset of request active.
zz=TM for duration, or
CN for count of times activity performed.
eg:
WTFCIOTM=duration File Control IO was requested,
including processing and waiting time,
WTFCIOCN=count of File Control IO requests,
WTFCWTTM=duration that FC IO actually waited, and
this duration is included in WTFTIOTM,
WTFCWTCN=number of times File Control actually waited.
The xx activities captured in Landmark Version 8 are:
xx Requests Waits
DB ='DB2*WAITS' YES
DL ='DLI*CALL*IO' YES YES
DS ='DISPATCH*QUEUE-WAIT' YES
EN ='ENQUE*SUSPEND*WAITS' YES
FC ='FILE*CONTROL*IO' YES YES
IC ='ICP*SUSPEND*WAITS' YES
IS ='ISC (MRO)*SUSPEND*WAITS' YES
JC ='JOURNAL*CONTROL*IO' YES YES
MD ='MRO/DTP*WAITS' YES
MI ='MIRROR*SUSPEND*WAITS' YES
MR ='MRO/IRC*WAITS' YES
MS ='MRO/DTP*SUSPEND*WAITS' YES
NS ='DB2 NON-SQL*CALLS' YES
OP ='OPER*THINK TIME*FOR CONV' YES
PF ='PROGRAM*FETCH' YES YES
PM ='PREEMPT*WAITS' YES
SC ='MRO/ISC' YES YES
SQ ='DB2 SQL*CALLS' YES
ST ='STORAGE*SUSPEND*WAITS' YES
TB ='TEMPSTG*(AUX+MAIN)' YES YES
TC ='TERMINAL*SUSPEND WAITS' YES
TD ='TD (EXTRA)*IO' YES YES
TI ='TD (INTRA)*IO' YES YES
TS ='TEMPSTG (AUX)*OUTPUT' YES YES
UD ='USER*DATABASE' YES YES
1S ='FIRST*DISPATCH' YES
Wherever possible, previous MXG variable names are used
but Landmark names are in comments adjacent to MXG's
chosen variable name in MXG member TYPEMON8. Complete
description of variables is contained in Landmark's
Appendix C of "Report Writer and Extended Facilities",
and in MXG member DOCVER under each MONI.... dataset.
Change 08.160 DCOLLECT record date fields cause "NOTE: INVALID DATA"
VMACDCOL or "NOTE: ILLEGAL ARGUMENT TO FUNCTION" when the julian
Oct 10, 1990 date is a zero, nulls or 99000 or 99366. The three input
statements for DCDDATE1-DCDDATE3 need ?? before the PD4
format item, and the calculation of DCDCREDT and DCDLSTRF
must be protected for 0. The DCDEXPDT expiration date is
more complicated, because EXPDT values of 99000 and 99366
appear in DCOLLECT records, but these cannot be converted
to real date values. DCDCREDT, DCDEXPDT, DCDLSTRF should
be SAS date values, so that subtraction, formatting, etc.
can be done. However, these "flaky" EXPDT values used for
flags should not be lost. Since only EXPDT contain these
"flaky" values, MXG chooses the following technique. New
variable ORGEXPDT will contain the original (raw, in the
record) value (the raw value for Jan 1, 1991 is 1991001).
DCDEXPDT will contain the real SAS date of ORGEXPDT, or
will be missing if ORGEXPDT was zero or missing, but if
ORGEXPDT contains a "flaky" value (day=000, 99000, 99365
or 99366), MXG sets DCDEXPDT of 1JAN 2099 as a special
flag date to tell you to look at ORGEXPDT if you really
need to know the original expiration date. MXG uses a
SAS date in the year 2099 so that if you should ever use
DCDEXPDT in a calculation, you'll see the expiration
date is well into the future!
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 08.159 Variable PAGRT in TYPE71 now includes PGMIEXAU, HIPAGINS,
VMAC71 and HIPAGOUT, in addition to the original DPR, SPR, & VIO
Oct 10, 1990 variables so that PAGRT counts all pages moved between
auxiliary storage (DASD) and central/expanded storage.
The three new fields are MVS/ESA only.
Thanks to Peter Durant, National Australia Bank, AUSTRALIA.
Change 08.158 This was originally a two part technical discussion with
no actual MXG change. The first half of that discussion
is now Change 8.172 and has been reworded and enhanced.
This is the rest of the original technical discussion.
One site wanted to reset their SPINCNT value to 0 at the
end of each month. (I don't recommend this technique,
and its not clear to me this is wise, but by exploiting
MXG's use of the old style substitution macro _SPINCNT,
it was possible to show them how to do what they wanted
to do, with no change to the BUILDPDB code itself):
In IMACSPIN, define _SPINCNT as follows. The value of 10
in the example assumes your original SPINCNT was 10.
MACRO _SPINCNT
. THEN DO;
IF SYSPARM()='MONTH' THEN SPINTST=0;
ELSE SPINTST=10;
IF SPINCNT GE SPINTST THEN OKFLAG=1;
END;
ELSE IF -1 = +1
%
This logic is not obvious, until you look at BUILDPDB
to see exactly how _SPINCNT is referenced, but it shows
how flexible the old style substitution macros can be!
With this new definition for _SPINCNT, and by using the
OPTIONS='SYSPARM="MONTH"' on the EXEC SAS statement
on the desired day, the SPIN library will be emptied.
---Changes thru 8.157 were included in MXG PreRelease 8.4 Oct 9, 1990---
Change 08.157 SAS 6.06 Compatibility Change. SAS User-SMF record.
IMACSASU The format of the SAS-created user SMF record (describing
VMACSASU resources for each PROC execution) was changed in 6.06.
Oct 8, 1990 Now, IMACSASU defines two macros, _IDSAS5 and _IDSAS6 to
identify the SMF record number of each version's record.
If you are currently building TYPESASU from Version 5.18
records, you will have to replace the modified IMACSASU
in your USERID.SOURCLIB with this new IMACSASU member.
Thanks to Tim Haiar, South Dakota Higher Ed. Computer Services, USA.
Change 08.156 Additional enhancements for RMF III VSAM dataset record
EXZRBUWM processing was provided by National Westminster Bank to
EXZRBUWT these members. Two new members, ZRBBATCH and ZRBPRINT
VMACZRB were added and they produce a detailed analysis of batch
ZRBBATCH job delays. Member ZRBDLYBT was rewritten to be more
ZRBBUILD efficient. Member VMACZRB has been amended to include a
ZRBCHECK division-by-zero test for SQA overflow frames.
ZRBDLYBT The function of the associated code members is explained
ZRBDVDLY in member VMACZRB. New member ZRBIPSJ is an interesting
ZRBMKIDX job which is self-explanatory and reads selected members
ZRBPRINT of SYS1.PARMLIB. Two new data set exits were added. The
Oct 8, 1990 remaining members changes were only in the comments. All
"ZRB" members now cite both NatWest's enhancements and
acknowledge the original "ZRB" author, Dick Whiting.
Thanks to Roland Rashleigh-Berry, NatWest, ENGLAND.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 08.155 Variable FWRATIO (Fast Write Hit Ratio) was added to the
VMACACHE CACHE90 data set. Because four Fast Write specific fields
XMACACHE (SRCD,SRCDH,WCD,WCDH) were zero, it appeared there was no
Oct 8, 1990 Fast Write, but FWRATIO was actually non-zero. This value
now matches the same-named heading on the IBM report.
Thanks to Dale Mattison, Shared Medical Services, USA.
Change 08.154 This ROSCOE report did not %INCLUDE IMACROSC and did not
ANALRRTM threfore use the _ROSCDDN as the expected location of the
Oct 6, 1990 RRTMPSE data set used for reporting; now it does.
Thanks to Bob Yeager, Whirlpool Corporation, USA.
Change 08.153 Comments were corrected. The correct sort order for the
ASUMJOBS WEEKBLD after using ASUMJOBS is given by the SUMBY= list
Oct 6, 1990 on the invocation of %VMXGSUM, but anytime that the
temporary variable "DATETIME" is used in the SUMBY list
(as it usually is), the actual variable you must use in
any subsequent processing is not "DATETIME" (which will
always be DROPped by VMXGSUM), but instead the actual
variable set equal to DATETIME= in the macro invocation.
For ASUMJOBS the actual resultant sort order will be
JOBCLASS SHIFT INITTIME
because SUMBY=JOBCLASS SHIFT DATETIME, but also
DATETIME=INITTIME, in the VMXGSUM invocation.
Thanks to Linda Carroll, Crawford Long Hospital of Emory Univ, USA.
Change 08.152 VM/370 Monitor data set VMONCHAN now has the sample count
ANALVMDY variables MN602SAM and MN602SA2 added to the KEEP= list,
VMACVMON and they were added to the RETAIN list so that the are
Oct 6, 1990 carried into the CHAN record from the DEV record. This
avoids the need to merge DEV and CHAN to calculate CHAN
busy. The three tests for (LENGTH-COL) GE 64 should all
be GE 63 so that channels 32 and higher actually INPUTed.
ANALVMDY now uses the MN602SAM/SA2 instead of INTERVAL to
correct its CHAN busy calculations. Variable MN003CDD
should not be DIF()d, and variable DRUMUTIL needed to be
added to the big RETAIN list.
Thanks to Bob Small, Grumman Data Systems, USA.
Thanks to Frank Putnam, Ryerson Polytechnical Institute, USA.
Change 08.151 VM/XA support macro _DBYUSR did not DIF() some of the HF
VMACVMXA counters, causing some percentages to be since the start
Oct 5, 1990 of monitoring. These HF counters are now DIF()d. MACRO
_CSYTUWT should have decremented SKIP by 52 vice 72.
If the Interval or HF Sampling rate were changed, MXG
made the change when the record was found, rather that
as it should have at the end of the interval. That has
been corrected, and notes on the log alert you if either
was altered.
Thanks to Peter Strange, BP International London, ENGLAND.
Change 08.150 This JCL member is an example of the MVS job that submits
JCLCRAYC a job to execute on the Cray to extract the accounting
Oct 5, 1990 and performance data records and send them back (asis)
to the MVS system (into dataset MXG.CRAY.MODFILE) that is
then processed by MXG member TYPECRAY under MVS to build
the Cray PDB. (This specific example is for COS 1.17).
With 1000 Cray jobs per business day, and with the SPM
interval set at 10 minutes, the extract will need about
125 cyl, or about 90MB for an entire WEEKs Cray rawdata.
Thanks to Arlin B. Collins, Oryx Energy, USA.
Change 08.149 Support for Amdahl's SPMS product's SMF record for the
IMACSPMS 6100 and 6880 Cache DASD controllers. The code was tested
VMACSPMS with the help of the folks at Amdahl, and one real user,
TYPESPMS as the documentation of the SMF record is less than good.
Oct 5, 1990 Data set TYPESPMS is created from the SMF record, but
only 6100 data records have been validated. Amdahl has
said there will be enhancements in the near future to the
SMF record that will answer many user requirements.
MXG variable names for fields described in the DSECT are
the DSECT suffix prefixed with SPMS. For variables that
are calculated or decoded, the variable name suffix is
SPMS or SPM. Do you like this technique (which was my
choice after looking at the two user contributions from
which this support derived)?
Thanks to Richard R. (Dick) Sziede, PRC Inc, USA.
Thanks to Neville Windeyer, Amdahl, USA.
Thanks to Ray Williams, Amdahl, USA.
Thanks to Neil Avery, Amdahl, USA.
Thanks to Randy Graves, Amdahl, USA.
Change 08.148 NPM Release 4 (NPM 1.4) Support has been added, but not
EX028ER1 yet tested with 1.4 data. This text will change when
EX028ER2 validation has been completed with 1.4 data records.
EX028IN9 Support is in MXG PreRelease 8.4, but because IBM used
FORMATS (correctly!) the relocatable record architecture, their
VMAC28 changes ARE compatible with MXG 7.7. (MXG 7.7 will detect
Oct 5, 1990 the new 1.4 data and will note that unexpected data was
found, but MXG 7.7 will not fail with NPM 1.4 data!). The
change processes mixed 1.3 or 1.4 records, transparently!
1.Support added three New MXG datasets:
NPMERNCP,NPMERNET, for NCP or Network respectively,
are created when a prior Event Exception has been
resolved (either the value is now in range, the
resource was detached, or monitoring was stopped).
NPMINTRI, an interval record reporting resources from
the Network Token Ring Interface.
2.Support added new variables in existing MXG datasets:
NPMINPMT, variables NPMALRCT,NPMARCNT count Alerts
sent or lost.
NPMINSES, variables LSCDANUM,BADI,CNTL,EXTN,GRUP,SMID,
SPLU,SSLU, and LSCDUSER contain (optional) session
manager names (Userid, SLU, etc.) and status.
NPMINNCP, variables NCPNEWNM,NCPGENLV contain NCP load
module name and the GENLEVEL parameter.
NPMINPMT, variables NPMTDROF,DRAD,DRDE,DL18) track the
DDR entries lost, added, or deleted.
3. FORMAT member was updated with new format MG028FL and
existing formats MG028DA and MG028NT contain new
values.
4. The IBM NPM 1.4 Installation and Customization Guide,
Part 1, pages 1-106 provide much better documentation
than its predecessor. A big thanks also to IBM to make
the manual available early so support can be in place!
Change 08.147 TYPE41 variable SMF41LRG is already in bytes and the line
VMAC41 SMF41LRG=SMF41LRG*4096; must be deleted. Some labels did
Oct 1, 1990 not contain * for split characters, but now they do!
Thanks to Ken Williams, Australian and New Zealand Banking, AUSTRALIA
Change 08.146 New members. This set of members provides a capacity
ANALPRTR measurement and planning system for printers, and it
ASUMPRTR defines measures of printer throughput. It is preliminary
IMACPRTR and further additions to BUILDPDB may be made. Definition
TRNDPRTR of printers, costs, etc., are made in IMACPRTR, and then
Oct 1, 1990 member ASUMPRTR can be added to BUILDPDB to create the
dataset PDB.TYPE6ENH ("Enhanced", with throughput stats),
which is the basis for ANALPRTR, and TRNDPRTR. See the
comments in each member for documentation.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.145 RACF variable RACFDESC contains undecoded values which
FORMATS were printed as a colon because the MXG format did not
Oct 1, 1990 recognize the additional bits added by RACF 1.9. The data
itself was not wrong; bit 0 is a violation and bit 3 is
a warning. Because IBM uses multiple bits in this field,
the $MG080DE. format now includes values A0 and 88 for
violation and values 30 and 18 for warning.
Thanks to Joseph Rannazzisi, Brooklyn Union Gas, USA.
Change 08.144 New members. JCL example and code used to print the MXG
JCLUPPDS source library (or any source PDS) in two column format
VMXGPPDS with an Index of members. The JCL uses standard IBM PSF
Oct 1, 1990 control statements in the SYSIN for all steps.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.143 Critical error, but only in MXG 8.3. The order of INDATA
TRNDRMFI datasets was changed for consistency, but the (IN=INWEEK)
TRND72 option was not re-located, which caused the Trend dataset
Oct 1, 1990 TYPE72 and RMFINTRV to be badly corrupted.
Change INDATA to correctly read:
INDATA=WEEK.TYPE72 (IN=INWEEK) TREND.TRND72,
INDATA=WEEK.RMFINTRV (IN=INWEEK) TREND.RMFINTRV,
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 08.142 This member was intended to produce trend charts from the
GRAFREGR VM/370 trend data set TREND.VMONINTV, but somewhere in an
Oct 1, 1990 EDIT session, VMONINTV inadvertently became RMFINTRV!
Thanks to Bob Yeager, Whirlpool Corporation, USA.
Change 08.141 -Enhancement. The existing code used default pattern and
GRAFTRND color selection when building bar charts. This is fine
Oct 1, 1990 when the graphs are viewed in color, but if reproduced in
black and white they can be very difficult to read. This
change solves this problem by alternating cross-hatching,
left diagonals, and right diagonals in varying densities.
Colors are also selected but only eight are used. If the
default PCBATCH device driver is used, there should be no
difficulty on any device with eight or more colors. You
could use a color catalog (described in the SAS/GRAPH
manual) to modify the colors in use. All MXG GRAFxxxx
routines that use the PCBATCH device driver default to
WHITE for the titles and axes and any text. If you are
using a pen plotter, you may wish to force the conversion
from WHITE to BLACK.
-Bar charts for workloads create segments in the legend
for workloads that have zero CPU time. This is not really
an error but it's annoying to have to explain nonexistent
workloads to your management. This change only outputs
those workloads with non-zero CPU time.
-If SASGRAPH=NO and SASSTAT=YES were specified, the first
plot received a "variable not found" message. The PROC
PLOT was pointed at the wrong dataset.
Change 08.140 New member that produces bar charts of workloads by hour
GRAFWORK from RMFINTRV. Will use SAS/GRAPH if available, otherwise
Oct 1, 1990 produces printer charts and tabular reports.
Change 08.139 Cosmetic change added new optional argument INVOKEBY to
VMXGSUM %VMXGSUM macro that will be printed on the SAS log to
Oct 1, 1990 identify which member invoked %VMXGSUM. As time permits,
each MXG invocation of %VMXGSUM will be changed to pass
the member name into this argument for documentation on
your log. This is mostly helpful when one is debugging!
Change 08.138 Significant validation and enhancement of MXG's supprot
EXHSMDSR for the HSM User SMF records (default is 240 and 241) is
EXHSMFSR added by this user contribution. Code has been unloaded
EXHSMFST and syntax tested, but not actually used. One of the HSM
EXHSMFUN SMF records contains accumulated counts that are reset
EXHSMVSF each midnight, and de-accumulation may be desirable but
EXHSMVSR has not yet been investigated. The other record seems to
FORMATS be directly usable.
IMACHSM
VMACHSM
Sep 19, 1990
Thanks to Wanda Prather, Johns Hopkins APL, USA.
Change 08.137 TYPE1415 Hiperbatch variables (added by Change 8.017) are
VMAC1415 non-zero (garbaged) for type 14/15 records with more than
Sep 19, 1990 one UCB, which occurs only for BPAM accessed concatenated
PDSs, which aren't even eligible for Hiperbatch! The test
IF LENGTH-COL+1 GE 20 THEN .... should be changed to
IF LENGTH-COL+1 GE 20 AND NUCB=1 THEN .... so that only
non-BPAM data sets with a single UCB are tested to see if
the hiperbatch fields exist. (MXG must use the length of
the record to determine if data exists that could be the
hiperbatch fields, because IBM does not set a flag to say
that the fields are present, and IBM also failed in the
original implementation to set the length of the segment
to include the new fields!)
Thanks to Linda Carroll, Crawford Long Hospital of Emory Univ, USA.
Change 08.136 The DFP 3.2 type 42 SMF record to audit an ACTIVATE event
VMAC42 is created in error. IBM APAR OY36035 describes the error
Sep 18, 1990 and PTF UY55307 is the correction for their error. The
subtype 3 (audit) record is mis-located and incorrectly
documented in the SMF manual, and will cause MXG to abend
with a STOPOVER, than can be circumvented only by adding
this test to member IMACFILE (which deletes all subtype 3
audit records) until the PTF exists from IBM:
IF ID=42 THEN DO;
INPUT @85+OFFSMF TESTDFP $CHAR8. @;
IF TESTDFP='ACTIVATE' THEN DELETE;
END;
or alternatively by using the MISSOVER circumvention for
STOPOVER option as described in Change 8.012.
Member VMAC42 was re-written based on the corrected SMF
record description received from IBM Level 2, and tests
for both the right and wrong format record. Fortunately,
the subtype 3 record is not very important and deleting
it won't really hurt the good data in the other subtypes!
Thanks to Dan Barbatti, Southwestern Bell, USA.
Change 08.135 PR/SM changes in status were not decoded in TYPE70PR. Now
VMAC7072 variables LCPUCHST, LCPUCHWT, LPARCHAC and LPARCHNR flag
Sep 17, 1990 that changes occurred in LCPUWAIT status, LCPUSHAR value,
Activation/Deactivation, or Number of LPARS in Partition,
respectively.
Thanks to Richard Evans, Mervyns, USA.
Change 08.134 The ACBMACR1-3 variables added in MXG Version 7 (decoded
VMAC64 after PTF UY40839, APAR OY23661 has been installed) are
Sep 15, 1990 now explicitly decoded into useful new flag variables:
ACBADR ='ACCESS*WITHOUT*INDEX?'
ACBAIX ='AIX OF THE PATH IN THE GIVEN DDNAME?'
ACBCNV ='CONTROL*INTERVAL*PROCESSING?'
ACBDFR ='DEFER*WRITES'
ACBDIR ='DIRECT*PROCESSING?'
ACBDSN ='SHARING*CONNECTION*USING DSNAME?'
ACBGSR ='GLOBAL*SHARED*RESOURCE?'
ACBICI ='IMPROVED*CI*PROCESSING?'
ACBIN ='INPUT*(GET,*READ)?'
ACBKEY ='ACCESS DATA*VIA*INDEX?'
ACBLOGON='LOGON*INCICATOR*(VTAM X03004)?'
ACBLSR ='LOCAL*SHARED*RESOURCE?'
ACBMODE ='VSAM*31 BIT*ADDRESSING?'
ACBNCFX ='CFX IF Y,*NFX IF BLANK?'
ACBOUT ='OUTPUT*(PUT,*WRITE)?'
ACBRST ='SET*DATA SET TO*EMPTY STATE?'
ACBSEQ ='SEQUENTIAL*PROCESSING?'
ACBSIS ='SEQUENTIAL*INSERT*STRATEGY?'
ACBSKP ='SKIP*SEQUENTIAL*PROCESSING?'
ACBUBF ='USER*BUFFERS?'
Thanks to Derek Cespedes, Florida Power and Light, USA.
Change 08.133 The technique for setting the number and length of the
IMACACCT Accounting variables kept in MXG from SMF records has
Sep 13, 1990 always been an exposure to user error, because the user
was required to actually alter the SAS code in member
IMACACCT, which occasionally caused a STOPOVER condition
to new users unfamiliar with SAS syntax. A much safer
and easier technique has now been implemented. Instead of
commenting out code for unwanted account variables, the
simple addition of a DROP statement naming the unwanted
variables will keep only the wanted with no code changes.
Existing sites need not change their IMACACCT member, but
may wish to do so anyhow.
The only price for this technique is that programs that
%INCLUDE member IMACACCT more than once will cause a new
warning message (but only under SAS 5.18) that reads:
WARNING 393:VARIABLE ALREADY SPECIFIED IN DROP/KEEP LIST.
The warning itself has no effect.
Thanks to Rich Hawthorne, Group Health Coop. of Puget Sound, USA.
Change 08.132 One major and several minor changes to RMF to support the
VMAC7072 ES/9000 series under MVS/ESA 3.1.3 from (GC28-1819-3).
VMAC71 1.ES/9000 Processors will cause STOPOVER abend on type 78
VMAC73 SMF records, because IBM added data to the IOP and IOQ
VMAC74 sections which MXG was not prepared to handle! The new
VMAC75 fields (see below) are now supported, and the MXG "SKIP"
VMAC76 logic now protects future segment length changes. Even if
VMAC77 you have this MXG change installed, MXG will STOPOVER if
VMAC78 IBM's PTF for APAR OY36517 is not installed, as the IBM
VMAC79 PTF which added RMF support for ES/9000 (UY90666) itself
Sep 13, 1990 is in error until PTF OY36517 is installed.
2.New flag variables ESCAENAB,ESCACONF identify if this
processor is enabled for ES Connection Architecture, or
there is an ES connection director in the configuration.
3.The MSOCOEFF field in the type 72 and type 79 records was
increased from 4 to 8 EBCDIC characters (I cannot imagine
why) and relocated to the end of the section. MXG picks
up the longer field if it exists, but since an 8 digit
number can still be stored in a 4-byte MXG variable, the
IBM increase has no effect on the MXG MSOCOEFF length.
4.PCTDIRPT, percentage of samples when I/O was delayed due
to Director Port (ESCA, or Fiber Optic Channels) busy is
added to TYPE78CF, TYPE79EF, and as variable R799DPB in
TYPE799.
The only circumvention for the STOPOVER condition until
you receive this change is to delete the type 78 subtype
3 record in member IMACFILE:
IF ID=78 AND SUBTYPE=3 THEN DELETE;
or alternatively use the MISSOVER replacement for the
STOPOVER option as described in Change 8.012.
Change 08.131A Minor enhancement to TYPE41AC and TYPE41UN data sets for
FORMATS Data-in-Virtual added format for object type (DA) and
VMAC41 object mode (Read or Update).
Sep 12, 1990
Change 08.131 The CMS example on page 24 of the MXG Supplement to copy
VM example VM/Monitor data to a CMS file named MONITOR DATA A does
Sep 12, 1990 not specify DCB attributes on the FILE MONOUT statement,
and the CMS default of FB, 80, 960 causes the output data
records to be truncated. The correct FILE statement is:
FILE MONOUT RECFM=VB LRECL=4092 BLKSIZE=4096;
There is additional discussion of possible problems with
the subsequent GLOBAL statement in Change 6.212 in member
CHANGE06.
Change 08.130 Validation and enhancement of the DCOLLECT processing was
VMACDCOL added by this change. All 7 record types are supported to
Sep 12, 1990 create DCOLDSNS, DCOLVOLS, DCOLCLUS, DCOLMIGS, DCOLBKUP,
DCOLCAPD, and DCOLCAPT data sets. The documentation for
the output of this IDCAMS utility named DCOLLECT is found
in several manuals. GG24-3540-00 "DFSMS Planning and
Reporting" provides an overview of DCOLLECT. The first 3
MXG data sets above are built from VTOC/VVDS information
and their contents are described in Appendix E of DFP 3.2
"Access Method Services for Integrated Catalog Facility",
SC26-4562-1. The final 4 MXG data sets are HSM related,
and their contents is described (poorly, DCOLLECT is not
even cited in the table of contents nor the index) in
Chapter 17 (User Application Interfaces) of SH35-0084-4,
"DFHSM 2.5.0 Installation and Customization Guide".
A future MXG newsletter will contrast the data available
from the DCOLLECT facility with the data created from the
VMXGVTOC and VMACVVDS, and will (hopefully) also compare
the HSM DCOLLECT data captured with the data available
from MXG's JCLHSM (BCDS,MCDS, etc), and the HSM SMF data
record (VMACHSM, still work in progress). The initial
review does make DCOLLECT attractive, especially since it
is a supported interface from IBM, but there appears to
be some data simply not available from DCOLLECT that may
be important (such as physical data set location).
Thanks to Jim Gilbert, Texas Utilities, USA.
Thanks to Sal Fazzino, General Electric Capital, USA.
Change 08.129 SAS 5.18 Compiler Error 344 circumvention. An iterative
XMACACHE DO was added by MXG 8.3 for DB2 Distributed Header in the
Sep 12, 1990 VMACDB2 processing. That broke the compiler limit in 5.18
at a site which had added DB2, Cache DASD, and several of
their own SMF records to BUILDPDB processing. In looking
for additional opportunities to eliminate iterative DOs,
this change creates replacement member XMACACHE from the
existing VMACACHE member. XMACACHE will ONLY process the
3990 Cache Controller records (although the 3880 datasets
will still be built with zero observations) and thereby
eliminated 4 iterative DO statements. If you have added
VMACACHE processing to BUILDPDB and get the 344 Error,
copy XMACACHE into your USERID.SOURCLIB and rename it
therein to VMACACHE. The original discussion of Error
344 Circumvention is in Change 7.038 in member CHANGE07.
Note that 344 is only a problem with SAS 5.18. There is
no limitation on iterative DOs in SAS 6.06.
Thanks to Dan Barbatti, Southwestern Bell Telephone, USA.
Change 08.128 SMS (System Managed Storage) adds a new record to the
VMAC60 VVDS for non-VSAM files on SMS-managed volumes, a pseudo
VMACVVDS VVR record called the NVR. Unlike real VVR records that
Sep 5, 1990 describe space, etc., the NVR record has no such data.
However, the NVR and the VVR records both now contain the
SMS attributes (Data, Storage, & Management Class Names).
The new MXG variables VVRDATCL,VVRSTGCL,VVRMGTCL are the
class names, new variable VVRSBKUP is the last backup
date, and flag variables VVRNATTR,VVRSMSFG were added.
The NVR record was processed without error by TYPEVVDS,
but the TYPE60 member failed with a STOPOVER condition
if it encountered the new NVR data record without this
change.
Thanks to Jim Gilbert, Texas Utilities, USA.
Thanks to Sal Fazzino, General Electric Capital, USA.
Change 08.127 Preliminary support for MVS/ESA Version 4 SMF changes.
IMACPDB 1.New variable VARIEDBY was added to TYPE8911 (but applies
VMAC8911 only for SMF type 9 or 11 vary record) to identify who
VMAC30 issued the vary command. (In Version 4, a terminal user
Sep 5, 1990 can actually signal to MVS to vary the device offline).
2.New variable MVSLEVEL was added to the type 30 datasets
(and will contain SP4.1.0 for MVS/ESA Version 4) so that
you can finally know which software operating system was
in use at the step/job accounting level. MVSLEVEL was
also added (in IMACPDB) to the variables to be kept in
PDB.STEPS and PDB.JOBS.
3.Additional changes in MVS/ESA Version 4 that did not need
MXG changes but which should be noted:
a. A new bit in the header identifies MVS as Version 4.
b. Long standing problem with the internal 3-byte counter
for step/job CPUTCBTM (which wrapped at 17 hours) is
now corrected, and a 4-byte field is used internally.
This will correct CPU times for these long-running job
records in the type 30 (used by BUILDPDB), but for any
site still clinging to the archaic 4, 34, 5,or 35 SMF
record, the CPU times are still only 3-bytes, and will
not be correct. (In fact, MVS Version 4 now sets a bit
if the 3-byte field overflows to tell you to use the
CPU times in the type 30 instead!).
c. APPC support was added, but accounting fields for APPC
are added only to the type 30s, and not 4,34,5,35s.
d. SMF Exits IEFUJP and IEFUJV must be AMODE 31.
Change 08.126 SAS 6.06 Compatibility. JCL Examples.
CONFIG The JCLTEST example creates the MXG Format Library and
JCLTEST exercises the MXG system under SAS. Member JCLTEST was
JCLTEST6 revised for SAS Version 5, and now %INCLUDES new member
JCLPDB SASOPTV5 which specifies the SAS System Options that are
JCLPDB6 now required by MXG Version 8.3 and later. SAS Version 5
SASOPTV5 format library still uses the DDname "SASLIB" and uses a
Sep 5, 1990 DSNAME of "MXG.SASLIB" in this example for Version 5.
New member JCLTEST6 provides an example of the JCL needed
for SAS Version 6.06, and references the CONFIG member to
specify the Version 6 recommended options. SAS Version 6
format library now uses the DDname "LIBRARY" and uses a
DSNAME of "MXG.FMTS606" in this example for Version 6.
Change 08.125 SAS 6.06 Compatibility. SYS prefix reserved in %MACROs.
ANALDMON Syntax of %LET SYSTEM causes "ERROR: Attempt to %GLOBAL
ANALNPMR a name (SYSTEM) which exists in a local environment."
Sep 4, 1990 This is actually a bug in SAS 6.06, but there is a good
possibility that the SYS.... prefix may be reserved in
%MACRO variables/arguments in SAS 6.07, and thus the two
occurrences in MXG in which SYSTEM= was used as a macro
variable (to select the SMF System ID for the report)
have been changed to SMFSYSTM= instead of SYSTEM.
Change 08.124 Variable SMGS_MIN in this NSPY reporting program should
ANALNSPY have been spelled SMSG_MIN in the FORMAT statement in
Sep 4, 1990 line 006000.
Change 08.123 The MXG 8.2 circumvention (Change 8.020) for invalid CPU
VMACSYNC time in SYNCSORT SMF records was mis-typed and caused
Sep 4, 1990 TYPESYNC to contain garbage. Line 042910 was added as
@M4 CPUERTST but it was supposed to be
+M4 CPUERTST $CHAR4.
to redefine CPUERTST as a character value of CPUTCBTM for
the subsequent test (M4 is set equal to minus four).
Change 08.122 Member FORMATS produced warning message because there are
FORMATS no quotes for $MG037FU format definition.
Sep 4, 1990
Change 08.121 DB2 PMAUD02 and PMAUD03 report request produced 145 and
ANALDB2R 170 SAS errors. The format for variable QW0145TS in both
Sep 1, 1990 PUT statements should be HEX16. instead of $HEX16.
Thanks to Tim Kearney, Allied Automotive, USA.
Change 08.120 The allocation for SAS 6.06 format library needed SPACE
FORMATS of CYL,(10,1) during 6.06 beta testing; unbeknownst to
LIBRARY me, the problem had been fixed in 6.06.01, and in fact,
SASLIB MXG's format library under SAS 6.06 requires only space
Sep 1, 1990 of (CYL,(1,1)). References have been corrected.
Thanks to Dan Squillace, SAS Institute Cary, USA.
--Changes thru 8.119 comprised MXG PreRelease 8.3 Dated August 26, 1990-
Change 08.119 IMS Log Input Queue times were incorrect whenever an
TYPEIMS IMS transaction had no ARRVTIME in its 01/03 record.
TYPEIMSX Why IBM can't put the DATE and TIME in every IMS log
VMACIMS record is beyond me, but they don't. Because of the
Aug 26, 1990 missing value, these records sorted early and caused
sometimes significant errors in IMSQUETM & RESPNSTM.
Comparison with IBM's DFSILTA0 output shows that IBM
uses the ENQTIME as the ARRVTIME in these cases, and
now MXG also uses ENQTIME. The implementation was to
use the timestamp of the just-previous-log-record minus
.001 for ARRVTIME when ARRVTIME was missing. That causes
the sort order to be correct, and the .001 allows MXG
to recognize that ARRVTIME was missing (IMS time stamps
are only accurate to .1 seconds), and thus MXG can use
ENQTIME for ARRVTIME in these cases.
In further examination of the test data and the output
of DFSILTA0, it became apparent that even IBM's IMS
guru's can't figure out how to put IMS transactions
together with that program, even though DFSILTA0 is
essentially simulating IMS processing and can keep
everything it needs in virtual storage. About one
third of these IMS 2.2 transactions have missing
time stamps on the DFSILTA0 report, especially when
multiple transactions are executed with a single
program schedule. Further review suggested that if
using the adjacent record's time stamp was good for
a missing ARRVTIME in an 01/03 record, it was also good
in those many cases where the 03 log contained a non-
missing, but much-earlier-than-now timestamp, and now
those cases are also detected and protected this way.
Additional logic enhancements were offered by Ashland
Oil, whose contribution in recalculation of output queue
times were implemented in this change as well.
And for those of you still using IMS 1.3, remember that
member TYPEIMS1 (See Change 7.075 in member CHANGE07)
is only for that archaic IMS version.
Thanks to Richard S. Ralston, Rochester Telephone, USA.
Thanks to Ervin Claxon, Ashland Oil, USA.
Change 08.118 IMS Log processing did not handle a cold start. This
IMACIMS contributed discovery added processing in VMACIMS to
TYPEIMS detect a cold start of IMS (a subtype of type 40 record)
VMACIMS and added IMSQBLDN to count each new queue build event.
Aug 25, 1990 In TYPEIMS, the SORT order which formerly was
IMSTAPNO DTOKEN PSTNUMBR TRANSACT IMSRECNO is now
IMSQBLDN DTOKEN PSTNUMBR TRANSACT IMSTAPNO IMSRECNO
which not only handles cold starts, but solves several
site's problems with incorrect input queue time, by
re-associating IMSTAPNO with IMSRECNO. The same SORT
logic (with different variables) was applied throughout
TYPEIMS, and the conditional tests were restructured.
Thanks to J. Cary Jones, Philip Morris, USA.
Change 08.117 Philip Morris has made this major contribution to MXG
ASMVTOC for DASD management and measurement. They replaced the
JCLDASD functional but slow %VMXGVTOR and %VMXGVTOC programs
VMXGVTOF (which used SAS and CVAF) to read the DASD VTOCs, with
ANALVVDS ASMVTOC, a very fast assembly program that extracts the
Aug 25, 1990 VTOC data into a flat file. JCLDASD is a jobstream to
execute ASMVTOC (and MXG's pre-existing ASMVVDS program)
and it uses VMXGVTOF and ANALVVDS (which were originally
named MPXGVTOC and MPXGVVDS in PreReleases) to
manage, measure, and recover DASD space. This has only
been repackaged before addition to MXG 8.3, but it
has been running at Philip Morris for some time. Note,
however, that it is now Merrill Consutants, and not
Philip Morris who is now responsible for problems!
Thanks to Tuanhung Doanvo, Philip Morris, USA.
Change 08.116 MXG's Quality Assurance job stream is contained in the
JCLUXREF two JCL members, one for 5.18, the second for 6.06, and
JCLUXRE6 the reporting ANAL.... members have finally been added
TESTANAL into the test stream!
Aug 25, 1990
Change 08.115 SAS 6.06 Compatibility. Macro compiler logic error.
ASUMVMON This circumvention was made before it was known that SAS
TRNDCICS ZAP Z6060916 corrected the problem. The %VMXGSUM macro
TRNDJOBS is invoked by these members, and should generate a line
TRNDRMFI SAS code for each variable in the NORMn= list, but this
TRNDTMNT error caused %VMXGSUM to terminate the scan early and the
TRNDVMON code generated was wrong, yet there was no error message!
Aug 24, 1990 The error was discovered because the scan truncated the
name of a variable, causing that variable to surface on
the list of variables without labels in the QA jobstream!
By moving the NORMn= variables in the 2nd and subsequent
lines, the problem seemed to go away, but now that there
is a zap for the problem, put it on and don't trust this
repositioning circumvention.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.114 SAS 6.06 Compatibility. %VMXGFOR macro for FORCE option.
VMXGFOR See ZAP Z6060571 (which was superceded by Z6060969)
Aug 24, 1990 circumvented the need for FORCE on PROC SORTs, but since
that ZAP disables this new FORCE "feature", not all sites
may choose to disable FORCE. So, for those MXG sorts in
which the input and output data sets are the same, this
changes adds %VMXGFOR (which has value FORCE under 6.06,
and a null value under 5.18)in these 65 members. With
this source circumvention installed, the above zap is
now optional, instead of required, for MXG.
However, this change now makes two SAS options mandatory
for execution of MXG. SAS Options MAUTOSOURCE and
SASAUTOS=SOURCLIB is now required to locate the %VMXGFOR
macro which implemented this change. (These options have
always been required for MXG programs which used %MACROs,
such as ANALDB2R, but now ALL executions of MXG must use
these two options to resolve the location of %VMXG...
macros.)
ANALALL ANALAUDT ANALBNCH ANALBNC1 ANALCACH ANALCICS
ANALDB2R ANALDMON ANALDOS ANALESV ANALMNTS ANALMONI
ANALMPL ANALNAF ANALNPA ANALNPM ANALNPMR ANALNSPY
ANALPATH ANALPDSM ANALPROG ANALRRTM ANALSMF ANALSUPR
ANALTAPE ANALTURN ANALVARY ANALVM ANALVMDY ANALVMOS
BUILDPDB BUILDPD3 DIFFDB2 DIFFROSC DIFFTPX GRAFREGR
GRAFRMFI GRAFTMNT GRAFTRND IDMSAPND IDMSJANL JCLHSM
JCLTREND PDBTREND RMFINTRV SYSLOGJ3 TYPEDOS TYPEIMS
TYPEIMS1 TYPEIMS3 TYPEMONI TYPETMS UTILCICS UTILDUMP
UTILPRAL UTILSPAC UTILXRF2 VMACCRAY VMACVMON VMACVMXA
VMXGHSM VMXGSUM VMXGVTOC ZRBRPT1 ZRBRPT2
Change 08.113 Incompatible changes in MXG Trending were implemented by
DOCTREND this change, for prior users of MXG Trending data sets.
GRAFTRND The TREND.RMFINTRV and TREND.TYPE72 data sets have been
JCLTREND renamed to TREND.TRNDRMFI and TREND.TRND72 with MXG 8.3.
TRNDRMFI All that you need to do is to rename these two datasets
TRNDVDEV in your TREND library BEFORE you run the MXG 8.3+ TRND...
TRNDVMON programs, using:
TRND72
Aug 22, 1990 PROC DATASETS LIBRARY=TREND;
CHANGE RMFINTRV=TRNDRMFI
TYPE72 =TRND72 ;
Ok, so now you didn't see this note, you have run your
new TRNDRMFI, and discover only last week's data is in
your trend plots. Have we destroyed your old data? No!
It's still sitting in your TREND library, as datasets
RMFINTRV and TYPE72, but now you can't rename them, as
there's already a TRNDRMFI and TRND72 in your TREND!
In this case, you need only combine the old data sets
with the new data sets:
DATA TREND.TRNDRMFI;SET TREND.TRNDRMFI TREND.RMFINTRV;
DATA TREND.TRND72 ;SET TREND.TRND72 TREND.TYPE72;
and you will have lost nothing and will be compatible!
I apologize for the inconvenience of this change, but the
TREND data sets need to be named differently, because the
contents (especially TRND72) is quite different than the
TYPE72 data set.
The consolation may be the new member, DOCTREND, which is
a preliminary documentation of which members of the Trend
Data Base are built by which members of MXG Software!
Change 08.112 Chuck Hopf's excellent paper on generation of DB2PM-like
DOCDB2PM reports using ANALDB2R (which Chuck wrote) is now added
Aug 22, 1990 to the MXG documentation in DOCDB2PM.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.111 NPM 1.3 Subtype 82 (x'52'), and perhaps other subtypes,
VMAC28 have BASNCPDT and BASNCPTM values of 0, which cause INPUT
Aug 22, 1990 function error when creating BASTIME from those fields.
In line 163610, replace THEN with AND, and insert a new
line containing BASNCPDT GT 0 AND BASNCPTM GT 0 THEN
to eliminate the error message.
Thanks to Ross Pover, Immigration & Ethnic Affairs, AUSTRALIA.
Change 08.110 MXG QA runs uncovered that variable STRTTIME was not kept
TYPEMONI in MONIDBDS and MONIUSER data sets built from Landmark
Aug 22, 1990 CICS data.
Change 08.109 MXG QA now includes testing of the TREND data base, and
JCLTRND as a result, the data sets built by the default TREND
TESTTRND options are documented (finally) in DOCVER and DOVER08
Aug 21, 1990 in MXG 8.3 and later.
Change 08.108 SAS 6.06 Compatibility. Eliminate multiple macro compile.
ASUMCICS These members defined %MACROs VMXGSUM and VMXGDUR using
ASUMDBDS %INCLUDE logic, but this causes a re-compile each time
ASUMDOS that the include is executed. Instead of using %INCLUDE
ASUMTMNT statements, these macros will automatically be defined
ASUMVDEV only one time by the combination of SAS system options
ASUMVMON MAUTOSOURCE SASAUTOS=SOURCLIB (which have always been
TRNDCICS recommended in MXG executions using %MACROs). In an
TRNDDOS unrelated change, DROP DATETIME was also added to each
TRNDJOBS invocation of VMXGSUM to save 8 bytes per observation.
TRNDRMFI
TRNDTMNT
TRNDVDEV
TRNDVMON
TRND72
Aug 21, 1990
Change 08.107 Addition of TREND testing to the MXG QA stream uncovered
TRNDDOS a syntax error, and the delete of DATETIME mention above
Aug 21, 1990 was also added.
Line 001600, delete (DROP=DATETIME) from line
Line 002800, change ;'); to ';
Insert new line after 002800
DROP DATETIME;);
Change 08.106 VM/370 Monitor processing could calculate incorrect value
VMACVMON for date timestamps, but only in the Western Hemisphere,
Aug 20, 1990 and only if the Monitor Start Record (0.97) timestamp in
GMT was after the 202-day interval midpoint and the local
timestamp was before the 202-day interval midpoint, which
at most could occur every 202 days. The error only occurs
in that one day's execution of MXG. The midpoint datetime
of the current 202-day interval was at 04AUG90:03:43:52.
If the VM/Monitor was started on that date at 00:00 local
time, all Western Hemisphere sites had a GMT of 05:00 or
later, and MXG calculated STARTIME 43 minutes too early!
Whew! The error is in the heuristic algorithm to decode
the 5-byte datetimestamp (only 202 days fit in 5 bytes).
and determine the timezone value, which did not protect
for the preceding situation. Replace lines 209200 thru
029600 (now and IF (16*MNHTOD ... to END; ) with:
IF (COLLTIME-BASETIME) GT 0.75*FFFFF AND 16*MNHTOD LT 0.25*FFFFF
THEN BASETIME=BASETIME+FFFFF;
ELSE IF (COLLTIME-BASETIME) LT 0.25*FFFFF AND 16*MNHTOD GT
0.75*FFFFF THEN BASETIME=BASETIME-FFFFF;
IF 16*MNHTOD GT FFFFFOV2 THEN LASTHALF=1;ELSE LASTHALF=0;
Thanks to Frank Putnam, Ryerson Polytechnical Institute, USA.
Change 08.105 IDMS 10.2 Batch Jobs ACCOUNT1-ACCOUNT3 fields were not
EXIDMTAS decoded, because no sample data had been seen. Now it has
Aug 20, 1990 been, and you can decode batch job's account fields into
those variables in Exit member EXIDMTAS, which should be
copied into your USERID.SOURCLIB and modified therein to
contain the appropriate substring operations. For example
if your three account fields are 17, 8, and 4 bytes long,
you would insert the below example. (Note that the first
byte of ACCOUNT1 begins in byte 2 of TASBFLDS):
IF TASTTYPE='.1......'B THEN DO; /* BATCH ONLY */
ACCOUNT1=SUBSTR(TASBFLDS,2,17);
ACCOUNT2=SUBSTR(TASBFLDS,19,8);
ACCOUNT3=SUBSTR(TASBFLDS,27,4);
END;
Thanks to Harold L. Correll, Harris Corporate, USA.
Change 08.104 CA7 (formerly UCC7) job scheduling package still corrupts
VMACTSOM SMF records, as first described in Newsletter TEN, 1986.
Aug 20, 1990 CA says 4 sites have reported the problem and they are
"looking into it", but have no immediate plan for a fix.
CA7 modifies the READTIME of a controlled job by writing
a non-zero value in the first byte of its julian date, to
flag that this job is under CA7's control. When that job
terminates, CA7 is supposed to remove its corruption and
restore the valid julian date, before the SMF records are
written. CA7 corrects the SMF record in IEFU83, after the
record has been built, and only corrects the SMF records
that it knows about. CA7 does not know about TSO/MON!!
TSO/MON creates SMF records for batch jobs that execute
TSO commands, and if that job is under CA7 control, that
SMF record contains corrupted READTIME values, causing an
"INVALID DATA FOR READTIME ...", a hex dump of the record
and several pages of variable=value error messages.
Since CA appears incapable of rapid response, and since
the error is likely to show up again, this specific fix
to CA7s corruption of TSO/MON records can generically be
used for any other (future) SMF record corrupted by CA7.
a.Locate all occurrences of inputting READTIME SMFSTAMP8.
in member (in VMACTSOM, lines 034700 and 068800). Change
all occurrences to now read READCA7S $CHAR8. instead.
b.Find the @; which terminates the INPUT statement you just
fixed (in VMACTSOM, lines 040100 and 072500). Insert four
lines after each @; which read:
IF SUBSTR(READCA7S,5,1) GT '01'X THEN DO;
SUBSTR(READCA7S,5,1)='00'X;
READTIME=INPUT(READCA7S,SMFSTAMP8.);
END;
Note that this fix is only waranteed thru Dec 31, 2099.
If CA7 is still corrupting SMF data in the year 2100,
(since they are overwriting the century byte of date)
the 01 in the algorithm will need to be changed to 02!
Thanks to Keith Mo, Empire Blue Cross Blue Shield, USA.
Change 08.103 SAS 6.06 Compatibility. VMXGSUM DROP= conflict.
ASUMVMON Change 8.089 in MXG 8.2 added DROP=MXGMISS MXGNMISS to
TRNDVMON the %VMXGSUM macro, but two members that invoke %VMXGSUM
Aug 12, 1990 already contained DROP= arguments, causing syntax errors
Aug 21, 1990 (that should have been caught in MXG 8.2 testing), and
thus this change only affects recipients of MXG 8.2. But
while we were at it, we also removed the unnecessary
includes discussed above in Change 8.108.
1.ASUMVMON, delete line 001200 to eliminate %INCLUDE.
Line 001600, remove (DROP=WFRENUM DATETIME)
Line 003700, change ;); to ;
Insert new line after 003700 containing
OUTCODE=DROP WFRENUM DATETIME;);
2.TRNDVMON, delete line 001100 to eliminate %INCLUDE
Line 001500 remove (DROP=WFRENUM DATETIME)
Line 003700 remove )
Insert new line after 003700
DROP WFRENUM DATETIME;);
Change 08.102 For the DB2ACCT Accounting data set in a Distributed DB2
VMACDB2 environment, the Distributed Header fields QWSHCCNT,
VMAC102 QWHDLUNM, QWHDNETI, QWHDRQNM, and QWHDUNIQ are now added.
Aug 12, 1990 In the type 102 trace correlation header, QWHCOPID is now
decoded. In both the 101 and 102 SMF records, MXG now
looks for all five possible header types.
Thanks to Mike Atterberry, Rockwell International, USA.
Change 08.101 ANALDB2R Accounting Trace Long worked if the Trace Short
ANALDB2R was requested, but if the Trace Long alone was requested,
Aug 9, 1990 a SORT VARIABLE error occurred. Adding SORTBY=DBT, to the
ANALDB2R invocation will make the problem go away, or
adding these four lines after line 018980 will fix it:
%IF &PMACC02 NE YES %THEN %DO;
%LET SORTN = 1;
%LET SORT1 = %QUOTE(DB2);
%END:
Thanks to Cindy Schinker, AgriData Resources, USA.
Change 08.100 Support for WSF 3.3.0 and WSF 3.3.4 SMF records from the
EXWSFACC WSF sysout archive product from RSD. Five data sets are
EXWSFAUD created, WSFACCT, WSFDSN, WSFERD, WSFEVTS, and WSFEVTP,
EXWSFDSN from the account record, and data set WSFAUDIT is built
EXWSFERD from the audit SMF record. The WSFACCT and WSFERD data
EXWSFEVP sets contain the total READ, WRIT, etc counts from all
EXWSFEVS of the DSNB sections, and the WSFDSN data set contains an
IMACWSF observation for each DDNAME/DSNAME accessed. The WSFERD,
TYPEWSF WSFEVTS (Screen) and WSFEVTP (Printer) datasets contain
VMACWSF CPU time for WSF processing, unique for sysout archivers!
Aug 6, 1990 Member IMACWSF identifies which SMF record is which.
Thanks to Victoria A. Lepak, Aetna Casualty and Surety Company, USA.
Change 08.099 A plethora of VM/XA changes were discovered in a search
VMACVMXA of INFO/SYS using KWS A MONITOR RECORD NEW UPDATE; some
Aug 6, 1990 of the documention for these VM/XA changes required the
actual script of the PTF, and the documentation leaves
a lot to be desired. This is especially sad, because the
VM/XA monitor itself was one of the best documented IBM
products in a long time. I guess that's the difference
between development and maintenance in IBM.
1.VM39921 added variable CALBASE to seven VM/XA datasets
(VXSCLADL,VXSCLDDL,VXSCLAEL,VXUSEACT,VXUSEATE,VXUSEITE)
to identify if this is the base VMDBK or adjunct VMDBK.
2.VM39196 added variable CALMODE to four VM/XA datasets
(VXMTRUSR,VXUSELON,VXUSEACT,VXUSEATE) to indicate the
architectural mode (ESA, XA, or 370) of the guest.
3.VM36026 added variable CALIOACT to VXSYTUWT and variable
HFIOACT to datasets VXUSEINT and VXUSEITE to count the
number of times the user has an asynchronous I/O that
was outstanding.
4.VM36104 adds two new VM/XA monitor records, 0.15 (SYTCUG)
and 0.16 (SYTCUP), measuring LPAR (Logical Partition) CPU
allocation (dispatched) duration. MXG builds two new data
sets, VXSYTCUG (per time interval) and VXSYTCUP (per LPAR
per time interval). The new data is identical to that
in the MVS TYPE70PR SMF data record, and reports on the
utilization of ALL of your LPARs on the hardware platform
whether they are executing VM, MVS, or DOS.
Thanks to Tom Healy, ChemNet Processing, USA.
Change 08.098 Support for IMS/ESA 3.1 IMS log processing is now added.
FORMATS While several additional fields were added to the IMS log
TYPEIMS records 07 and 08, because they were added at the end of
VMACIMS the log record, MXG 7.7 will not fail with IMS 3.1 data!
Aug 6, 1990 Several of the new fields are 8-byte time durations that
are not documented as to format in the IMS log DSECTS,
and the test data received to data was only from BMPs
that had zero values for these durations, so there is
still some validation/verification required. The new
data fields that have been added are:
DBCTL DB I/O measures:
DLRIOCNT - DBCTL DB I/O Count.
DLRTMEPL - DBCTL DB Locking Elapsed Time.
DLRTMEIO - DBCTL DB I/O Elapsed Time.
Delays during program scheduling:
DLRMINT - Wait time for Intent Conflict with another
PSB for scheduling.
DLRMPOL - Wait time for Pool Space for scheduling.
DLRMSCH - Elapsed time for Schedule Processing
(which includes both DLRMINT and DLRMPOL).
There is only one 07 record per program schedule, but it
describes NMSGPROC transactions, if multiple transacts
are executed by a single program schedule. As MXG has had
to do before, these new 07/08 fields are divided by the
NMSGPROC value and thus each ultimate transaction record
in TYPEIMS contains the average count/duration of these
new resource measures.
What has not been tested for IMS/ESA 3.1 is the data
compaction introduced (I think by an SPE to IMS) in
MVS 3.1.3. APARs OY19751, OY19854, OY19860, OY19863 are
involved, and IBM manual GC28-1057, MVS/ESA Data
Compression and Expansion Services describe the new
callable macro CSRCESRV which is automatically used by
IMS/ESA 3.1 to compress the OLDS and SLDS (System Log
Data Set, the input to TYPEIMS). I am still researching
if, when, and how the data compression occurs, and would
welcome an IMS/ESA log tape with compression in effect
so that I can figure out how to decompress it in MXG!
Thanks to Hamid Tavakolian, Continuum, USA.
Change 08.097 This circumvention member for the 344 Compiler error had
XMAC73 initialized variable LCI as numeric instead of character.
Aug 6, 1990 Line 014500 should be IF LCI=' ' then LCI=' ';
Only when data from before and after the circumvention is
installed, did this cause a conflict.
Thanks to Richard Evans, Mervyns, USA.
Change 08.096 SAS 6.06 Compatibility. PROC PRINT PAGE option.
ANALESV The PROC PRINT option PAGE no longer exists, and it has
Aug 3, 1990 been removed from this example report.
Thanks to Tom Simons, Matson Navigation, USA.
Change 08.095 SAS 6.06 Compatibility. LIBREF reuse as FILEREF.
MONTHBLD SAS Version 6.06 still does not properly recognize the
Aug 3, 1990 TAPECLOSE=LEAVE or FILECLOSE=LEAVE options when reading
or writing tape format SAS data libraries. Just like 5.18
did, a rewind of each tape library is issued after each
SAS data set is read/written, whereas the LEAVE options
should cause the tape to remain positioned at the end
of the SAS data set just read/written on that tape. The
problem is only that this causes many tape mounts if the
input or output data libraries are multi volumes, and it
causes lots of rewinds (and hence longer elapsed times)
even if only single volume tape libraries are involved.
The problem has been most pronounced in building the
monthly PDB (since that has the highest probability to
be multi-volume). MXG has provided a circumvention in
MONTHBLD for the output tape (ddname MONTH), but changes
in the SAS 6.06 language specifications were made. To
protect users from accidentally overwriting a SAS data
library with a FILE/INFILE statement, SAS 6.06 no longer
allows the same ddname for both a LIBREF and FILEREF at
the same time. The following circumvention is required
in MONTHBLD to free the LIBREF name so it can be reused
as a FILEREF (and, of course, the syntax only works under
SAS 6.06 so that version-dependent macros are required so
that the modified MONTHBLD executes under either 5.18 or
6.06!).
1.Before the second "MACRO _MNTHBLD" definition, insert
these two new compatibility macros:
%MACRO V6COMPEN;
%IF %SUBSTR(&SYSVER,1,1) GE 6 %THEN %DO;
LIBNAME TAPETEMP TAPE ; /*6.06+ TAPE ENGINE*/
%END;
%MEND;
%MACRO V6COMPCL;
%IF %SUBSTR(&SYSVER,1,1) GE 6 %THEN %DO;
LIBNAME TAPETEMP CLEAR; /*6.06+ CLEAR*/
%END;
%MEND;
2.Inside the second "MACRO _MNTHBLD" definition, after the
OPTIONS OBS=MAX; and before the DATA TAPETEMP._DSET;
insert (note double percent sign):
%%V6COMPEN;
3.Inside the second "MACRO _MNTHBLD" definition, after the
IF _BEGIN LE ZDATE LE _END; and before the DATA _NULL_;
insert (note double percent sign):
RUN; %%V6COMPCL; RUN;
Thanks to Bud Porter, City of Birmingham, USA.
Change 08.094 Truncated RMF type 79 SMF records resulted when SMF data
VMAC79 records that were actually LRECL=32760 bytes were dumped
VMAC79 with an incorrect LRECL=32756 specified in the SMF dump
Aug 3, 1990 or copy program. The correct LRECL=32760 must be used.
MXG detected and deleted the defective SMF records, but
did not note on the log this had been done. The type 79
subtype 1 record with 32760 bytes occurs only when there
are 331 or more address spaces active. This change now
reports when bad records have been found and reports that
they were deleted. Insert after line number 017100
(the end of MONITOR II Control SECTION):
L79EXPD=OFFSMF+SMF79ASS-3+SMF79ASL*SMF79ASN-1;
IF SMF79ASS GT 0 AND SMF79ASL GT 0 AND SMF79ASN GT 0
AND L79EXPD GT LENGTH THEN DO;
N79BADAS=1;
IF N79BADAS LT 10 THEN PUT
' EXPECTED ' L79EXPD
' BYTES, BUT LOGICAL DATA IS ONLY ' LENGTH
' BYTES IN RECORD. RECORD DELETED.';
END;
Thanks to Ken Trayes, General Electric Capital, USA.
Change 08.093 The 8.2 PreRelease copy of VMACZRB has now been validated
VMACZRB by the original author of the RMF III processing support,
Aug 3, 1990 who discovered that all X'04' must be changed to $ and
all X'52' must be changed to "not" signs. Guess what MXG
source code went from EBCDIC to ASCII and back to EBCDIC!
To avoid future character set conversion problems, I have
further changed all "not-symbol equal signs" to " NE ".
(In printing this change, which was down loaded from MVS
to PCDOS, the "not-symbols" were converted and printed as
"caret" symbols! Please do not use not-symbols!)
Thanks to Dick Whiting, Precision Castparts, USA.
Change 08.092 STC's 4400 Silo SMF record will contain a new subtype 7
EXSTCHSC for HSC 1.1.0. This change adds support for that new
FORMATS subtype, and creates a new STCHSC data set, with some
VMACSTC 60 new variables. New $MGSTCxx. formats were also
Aug 2, 1990 created to decode several variables.
Change 08.091 Amdahl's MDFTRACK SMF records were not quite right. Six
VMACMDF variables, DOMMIN,DOMTGT,DOMMAX,DOMNORM,DOMATGT,DOMUTIL
Aug 1, 1990 were missing.
1.In lines 011700 thru 012300, where these variables were
INPUTed as ?? PD4.2, they should instead be PIB4.
2.Insert six new lines, after 014200, to convert these six
fields to their screen values:
DOMATGT=FLOOR((((DOMATGT)/GBLELTM)+5)/10); 014210
DOMMAX =FLOOR((((DOMMAX )/GBLELTM)+5)/10); 014220
DOMMIN =FLOOR((((DOMMIN )/GBLELTM)+5)/10); 014230
DOMNORM=FLOOR((((DOMNORM)/GBLELTM)+5)/10); 014240
DOMTGT =FLOOR((((DOMTGT )/GBLELTM)+5)/10); 014250
DOMUTIL=FLOOR((((DOMUTIL)/GBLELTM)+5)/10); 014260
Thanks to Vince Loeffler, Searle, USA.
Thanks to Martin Tavener, Reed Travel Group, ENGLAND.
Thanks to Myron King, The Equitable, USA.
Change 08.090 These extensive validation corrections to ACF2 support
VMACACF2 correct the ARE processing, and clean up several other
Aug 1, 1990 minor bugs. This replaces the temporary fix for the
ARE that was made by Change 8.002, and this fix should
have been in PreRelease 8.2, but got lost temporarily!
1.Lines 010400-010500, remove ACEEMLTH ACEELDNM ACEVLOFF &
ACEFLDVL, as they do not exist.
2.Line 011700, ACLMAMFS should be ACLMAFMS.
3.Lines 032600,032700 change ACTMFTOD to ACSMFTOD.
4.Line 035900, change PIB8. to TODSTAMP8.
5.Lines 037300-037400 can be deleted.
6.Line 046200 can be deleted.
7.Line 016010 inserted after 016000 naming all five of
the ACJ..... variables in ACF2TR.
8.Line 062000 (ACVMFRT PIB1.), insert new line after
containing +1
9.Lines 049100-055900 were completely re-written to
properly decode the ARE segments.
Thanks to J. R. Dravnieks, Ladbroke Computer Services, NETHERLANDS.
Change 08.089 Obscure. Using the FREQ= options of VMXGSUM can result in
VMXGSUM erroneous counts if all variables in the MIN=,MAX=,MEAN=,
Jul 31, 1990 or SUM= macro arguments contain missing values.
Replace three lines 034900-035100 (now reading):
%IF %LENGTH(&FREQ) NE 0 %THEN %DO;
N=&FREQ
%END;
with these two lines:
NMISS = MXGNMISS
N = MXGMISS
Change line 035300 to read:
DATA &OUTDATA (DROP=MXGMISS MXGNMISS);
Insert the following after line 035600:
%IF %LENGTH(&FREQ) NE 0 %THEN %DO;
&FREQ = SUM(MXGMISS,MXGNMISS);
%END
Change 08.088 Early alpha tests of a new DB2 monitor created an SMF 100
VMACDB2 subtype 1 data record with a subtype field of zero, which
Jul 30, 1990 caused MXG to STOPOVER abend. Although the real cause of
the error was a bad record (that was immediately fixed),
this change was added to enhance MXG to be more robust
and to avoid the STOPOVER even in the face of bad data!
It's unlikely you will need to install this insurance:
1.Line 086200 should be LENQLST PIB2. vice OFFQLST PIB2.
2.After line 088700 ( IF QWHSLEN GE 52 THEN ...), insert:
IF QWHSNSDA LT 13 THEN OFFRSV3=.; 088710
IF QWHSNSDA LT 12 THEN OFFQJST=.; 088720
IF QWHSNSDA LT 11 THEN OFFQLST=.; 088730
IF QWHSNSDA LT 10 THEN OFFQSST=.; 088740
IF QWHSNSDA LT 9 THEN OFFQVAS=.; 088750
IF QWHSNSDA LT 8 THEN OFFQVLS=.; 088760
IF QWHSNSDA LT 7 THEN OFFQWSD=.; 088770
IF QWHSNSDA LT 6 THEN OFFQ9ST=.; 088780
IF QWHSNSDA LT 5 THEN OFFQ3ST=.; 088790
IF QWHSNSDA LT 4 THEN OFFQWSC=.; 088791
IF QWHSNSDA LT 3 THEN OFFQWSB=.; 088792
IF QWHSNSDA LT 2 THEN OFFQWSA=.; 088793
3.After line 125400 ( IF QWHSLEN GE 52 THEN ...), insert:
IF QWHSNSDA LT 7 THEN OFFEDM =.; 124510
IF QWHSNSDA LT 6 THEN OFFQTXA=.; 124520
IF QWHSNSDA LT 5 THEN OFFQIST=.; 124530
IF QWHSNSDA LT 4 THEN OFFQBST=.; 124540
IF QWHSNSDA LT 3 THEN OFFQTST=.; 124550
IF QWHSNSDA LT 2 THEN OFFQXST=.; 124560
4.After line 165700 ( IF QWHSLEN GE 52 THEN ...), insert:
IF QWHSNSDA LT 6 THEN OFFR5 =.; 165710
IF QWHSNSDA LT 5 THEN OFFQTXA=.; 165720
IF QWHSNSDA LT 4 THEN OFFQBAC=.; 165730
IF QWHSNSDA LT 3 THEN OFFQXST=.; 165740
IF QWHSNSDA LT 2 THEN OFFQWAC=.; 165750
Thanks to Benny Maynard, BiLo, Inc, USA.
==============Changes thru 8.087 comprised MXG PreRelease 8.2===========
Change 08.087 Lines 046800 thru 047100 should have denominator TRANSNO
VMACNSPY instead of TOTRSPNO for calculation of T1RSPPC-T4RSPPC.
Jul 20, 1990 If this DO group was entered (not likely), missing values
were calculated because TOTRSPNO was missing. This only
affected the NSPYLU data set values.
Thanks to Marty Quinlan, Virginia Power, USA.
Change 08.086 PreRelease validation identified many datasets which did
DOC not have ZDATE, some $MG.. formatted variables that were
Jul 20, 1990 length 8, some DATETIME variables that were not length 8,
and many variables with no label. Uninitialized variable
messages were also detected and corrected, and the TREND
data base code was added to the MXG Validation/Cross
reference testing.
Change 08.085 This JCL member contains IDCAMS control statements and
JCLVSAM JCL to build a VSAM ESDS data set that is needed only for
Jul 20, 1990 MXG testing of RMF III (VMACZRB) code.
Thanks to Jeannie Hopf, Hopf Consulting, USA.
Change 08.084 This is a significant internal revision to DB2 reporting
ANALDB2R from SMF trace data. Previously, you had to update/edit
Jul 20, 1990 member IMAC102 to tell MXG what trace classes had been
enabled. If you did not update IMAC102 correctly, MXG
would create zero observations in T102Snnn datasets, even
though there were SMF records for IFCIC nnn in your SMF
file. Now, when you specify PDB=SMF in ANALDB2R, the
program is smart enough to know which datasets are needed
and ANALDB2R no longer uses IMAC102 to control T102S...
datasets. (Note: IMAC102 is still needed if you use the
TYPE102/VMAC102/BUILDPDB method of processing DB2 trace
type 102 records; this change applies only to ANALDB2R,
and only when PDB=SMF is specified to read SMF data.)
Additionally, macro variables corresponding to macro
names constructed by IMAC102 were added to ANALDB2R to
allow you to select specific trace class(s), using the
syntax of DB2TC1=YES as the argument when you invoke the
%ANALDB2R report macro. Documentation (comments in the
member itself) was added to describe the new parameters,
and also to list which trace classes must be enabled for
each report group. The member was renumberd.
Change 08.083 Dataset VXIODDEV variables AVGPNDMS,AVGDISMS,AVGCONMS are
VMACVMXA incorrect (but this should not affect most users, as this
Jul 20, 1990 detail dataset is not typically used; instead VXDEVTOT
and VXSUMIOD are used and their values were correct). But
now, even these variables are always correct.
Dataset VXPRCPRP variable HFUSERZ is now formatted 5.1
and multiplied by 100, as it is a percentage, not a rate.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 08.082 Support for APAR OY32638 which (finally!!) adds PROCSTEP
IMAC30 to the type 30 record datasets, and to the PDB.STEPS data
VMAC30 set in your PDB. This procedure stepname has been wanted
Jul 20, 1990 since OS/360. However, what is still wanted and still not
provided in any SMF record is the actual name of the JCL
procedure that was executed by the user on the EXEC card!
Change 08.081 Support for APAR OY25606/OY33312, which (incompatibly)
VMAC30 added a new 4-byte field (SMF30EOS) to replace the 2-byte
Jul 14, 1990 existing SMF30EOR. Without this change, MXG variable
EXTRADD will contain a value of 61682, but as that is
not actually used by MXG, the incompatibility is one of
principle rather than one of fact. The EXTRADD field had
to be expanded from half-word to full-word to keep count
of the number of extra DD segments in additional SMF
type 30 records that can be written if the new DDCONS(NO)
option is specified. See extensive discussion in IBM's
Washington Systems Center Flash Number 9027, and further
notes in the next MXG newsletter. Inserted to correct:
IF OFFPROD-3-COL GE 6 THEN INPUT @105 EXTRADD PIB4. @;
Thanks to George Scott, Rockwell International Corporation, USA.
Change 08.080 Support for ORACLE SMF Record. The data set ORACLE is
ANALORAC built from the SMF record ID specified in IMACORAC
EXORACLE (which should be copied into your USERID.SOURCLIB and
IMACORAC changed therein). A set of sample reports are also in
TYPEORAC ANALORAC. This user contribution was reformatted and
VMACORAC has been tested with a small sample of ORACLE data.
Jul 7, 1990
Thanks to David Henley, Signet Bank/BISYS, USA.
Change 08.079 Significant validation of RMF III VSAM records is in this
VMACZRB user enhancement. In addition to corrections in VMACZRB,
TYPEZRB new members ZRBCHECK will check the integrity of these
ZRBCHECK datasets produced by VMACZRB, and member ZRBMXIDX now
ZRBDLYBT summarizes and builds an index for the datasets that are
ZRBMKIDX built from VMACZRB, and member ZRBDLYBT reads the index
Jul 7, 1990 and summarized datasets to produce delay reasons for
batch jobs. VMACZRB0 is a backup of previous VMACZRB.
Thanks to Roland Rashleigh-Berry, National Westminster Bank, ENGLAND.
=========Changes thru 8.078 were printed in Newsleter SEVENTEEN=========
Change 08.078 SAS 6.06 Compatibility. Comma after last argument.
TRNDJOBS An extraneous comma after line 002900 works under 5.18
Jul 4, 1990 but is flagged as an error under 6.06. This comma is
after the last macro argument, immediately preceding the
close parenthesis, and was not required, so its gone.
Thanks to M. Cambier, Credit Lyonnais, FRANCE.
Change 08.077 The variable ACCESS should have been created in the exit
ANALDSET for TYPE64, but was not. Insert new line after 007300
Jul 4, 1990 setting ACCESS='VSAM';
Thanks to John R. Grout, Midlantic National Bank, USA.
Change 08.076 Further validation of Trending uncovered incorrect code
ASUMCICS in these ASUM.... members (that take detail data like
ASUMJOBS CICS transactions, JOBs, etc. and summarize in groups).
ASUMTMNT 1.Response buckets in ASUMCICS were off by one bucket. In
Jul 4, 1990 lines 009900 thru 010500 change LE to LT, and in line
010700 change RESPMAX=RESP to RESPMAX=IRESPTM.
2.Similarly, in ASUMJOBS change lines 003600 thru 004200
from LE to LT.
3.Similarly, in ASUMTMNT change lines 002400 thru 003000
from LE to LT.
Thanks to Jim Hinkel, Weyerhaeuser Company, USA.
Change 08.075 The VTOC processing code did not capture free space that
VMXGVTOC is located at the very beginning of the volume. This
Jul 4, 1990 change added about 30 lines to recognize that situation.
Thanks to Uriel Carrasquilla, Vancouver Stock Exchange, CANADA.
Change 08.074 Preliminary support for IBM System Managed Storage (SMS)
EXDCOCLU utility program DCOLLECT, that creates a flat file of
EXDCODSN Data Set, Cluster, and Volume information from SMS. This
EXDCOVOL significant user contribution creates three MXG datasets,
IMACDCOL DCOLCLUS, DCOLDSET, and DCOLVOLS from DCOLLECT output.
TYPEDCOL Not all of the variables have been decoded, and the code
VMACDCOL may be enhanced in the future with decoding formats.
Jul 4, 1990
Thanks to Tom Skasa, General Electric Medical Systems, USA.
Change 08.073 Considerable validation of the VVDS record created by MXG
VMACVVDS member ASMVVDS and processed by VMACVVDS has uncovered
Jun 28, 1990 several errors and additional variables are created.
1.Variables VVRCATSD VVRCOMTP VVRKRQ VVRSELFD VVRSPCFG
VVRSPCOP and VVRSSDAT should be added to the KEEP list.
2.These seven new variable's labels should be added:
VVRCATSD = 'SELF-DESCRIBING*VVR FOR*CATALOG'
VVRCOMTP = 'COMPONENT*TYPE'
VVRKRQ = 'KEY*RANGE*QUALIFIER'
VVRSELFD = 'SELF-DESCRIBING*VVR FOR*VVDS'
VVRSPCFG = 'SPACE*FLAGS'
VVRSPCOP = 'SPACE*OPTIONS'
VVRSSDAT = 'SEQUENCE*SET*WITH DATA'
3.Add variables VVRALTSP VVRAMSTS and VVRTMSTP length 8 to
the LENGTH statement at line 012900.
4.Add variables VVRALSTP VVRAMSTS and VVRTMSTP to the
FORMAT statement at line 014300 with DATETIME21.2;
5.After line 016500 (before the END; before 'D8'X), insert
IF VVRFLAG='.1......'B THEN VVRSELFD='Y';
IF VVRFLAG='..1.....'B THEN VVRCATSD='Y';
IF VVRFLAG='....0...'B THEN VVRCOMTP='D'; /* DATA */
ELSE VVRCOMTP='I'; /* INDEX */
6.Change SMFSTAMP8. in 024100, 024200 and 029100 to
TODSTAMP8.
7.Change test '....1...'B for VVRA1IUP in line 024900 to
instead test '.....1..'B.
8.After line 026000 (after IF VVRAIXFG ...), insert
IF VVRSPCFG='11......'B THEN VVRSPCOP='CYL';
ELSE VVRSPCOP='TRK';
9.In lines 030600 thru 031200 the test for VVRDSATR should
instead test VVRAMATR.
10.Change all " IB" to " PIB" (binary numbers should be
PIBn. rather than IBn. to prevent unexpected negatives.)
Thanks to Tuanhung Doanvo, Philip Morris, USA.
Change 08.072 SAS 6.06 Compatibility. ID statement different.
TRNDRMFI To avoid a very obscure exposure if SU_SEC was missing,
Jul 3, 1990 the order is now ID = NRCPUS PARTNCPU SU_SEC STARTIME,
Change 08.071 SAS 6.06 Compatibility. AUTOCALL fails.
ANALDB2R The first line of an AUTOCALLd macro cannot be non-blank
VMXGGOPT in column 72 of the first line of the member, until SAS
VMXGHSM ZAP Z6060946 exists.
VMXGINIT
VMXGVTOR
Jun 29, 1990
Change 08.070 The MXG 7.7 Tape Mount Monitor (in ASMTMNT) does work on
ASMTMNT MVS/ESA as well as MVS/XA (and, also for MVS/370!). The
Jun 29, 1990 comment in that member is wrong; the code had been tested
under MVS/ESA last year. The argument yy of SYPARM(xx,yy)
value of SP builds the MVS/370 monitor, using XA for yy
creates a monitor that works on either MVS/XA or MVS/ESA.
This change only changed the comments, not any real code.
Change 08.069 BUILDPDB/3 has been enhanced in several ways.
BUILDPDB 1.The contents of the SPIN library are now copied into the
BUILDPD3 PDB library at the end of BUILDPDB/3 processing. This is
Jul 3, 1990 both for Backup/Recovery and for possible analysis.
Should you ever need to back up and recover your PDB jobs
you would simply go back to the last successful PDB, and
copy (PROC COPY IN=PDB OUT=SPIN; SELECT SPIN:;) the SPIN
data sets from that PDB into your SPIN library, and then
re-process the input SMF data.
In addition, by inclusion of the SPIN data sets in your
PDB, jobs which executed yesterday but have not yet
purged will be available in the SPIN30_5 (and their steps
in the SPIN30_4) data set for timely reporting.
2.Job accounting variables ACCOUNTn and SHIFT were added to
the PDB.SMFINTRV data set. SHIFT is defined by your shift
definition in IMACSHFT, applied to the interval INTBTIME
begin time stamp. This would allow shift by shift charging
for your long running jobs, but if you do so, you must be
careful to not double charge between the PDB.SMFINTRV and
the duplicate data in PDB.JOBS and/or PDB.STEPS.
The BUILDPDB logic was slightly altered by this change.
Previously, the PDB.SMFINTRV data set was built by sort
of the TYPE30_V before the EXPDBSPN exit. Now, the logic
is relocated to after all EXPDB... exits, just before
the SPIN library is updated. Completed jobs (PDB.JOBS)
and incomplete jobs (SPIN30_1) are now merged with the
type 30 interval records and output in PDB.SMFINTRV.
Unless you used exit EXPDBSPN and expected PDB.SMFINTRV
to exist in that exit, there is no compatibility issue.
you have used EXPDBSPN
3.TYPE25 data set (JES3 Main Device Scheduled) is now added
automatically to the JES 3 PDB built by BUILDPD3.
Change 08.068 SAS 6.06 Options are controlled by the DDNAME of CONFIG
CONFIG in the SAS606 procedure. The MXG library now contains
Jun 28, 1990 the CONFIG member, which has been used in all of MXG's
testing discussed in Newsletter SEVENTEEN. It may change
as more is discovered in testing SAS 6.06, but it is here
so that you will know what options we had changed from
SAS's defaults. You may find a separate CONFIGTSO member
useful to specify NODMS, NOCENTER, etc., because SAS 6.06
does not automatically recognize the TSO environment. In
the production version 8 there will likely be multiple
CONFIG... members.
* INITIAL RECOMMENDATION FOR CONFIG OPTIONS FOR SAS 6.06.01 IN BATCH
* THESE ARE SUBJECT TO CHANGE AS WE LEARN MORE ABOUT 6.06.
* YOU CANNOT USE /* */ DELIMITER FOR COMMENTS IN CONFIG MEMBER
NOIMPLMAC
MAUTOSOURCE
SASAUTOS=SOURCLIB
FULLSTATS
STIMER
SORTDEV=3380
BUFNO=3
MEMSIZE=12M
PROCLEAVE=100K
SYSLEAVE=100K
VMCTLISA=40K
VMPAISA=256K
VMPAOSA=128K
VMPBISA=512K
VMPBOSA=128K
PSUP=SASXKERN
SORT31PL
SYSIN=SYSIN
Change 08.067 ANALDB2R reporting was slightly different than IBM DB2PM.
ANALDB2R 1.The Accounting Detail showed average instead of total for
Jul 3, 1990 Class 3 System Events. Moved variables QWACARNA,QWACARNE
from MEAN= at line 015240 to the SUM= at line 015330.
2.The ELAPSED time on the MXG report was the ending minus
starting time, instead of the sum of the plan execution
durations. Deleted lines 109400-109430 and 117940-117970
DURATM
%IF .......
%ELSE ....
;
in both places.
3.Selection criteria in MXG reports incorrectly used ending
time stamp instead of start time, causing MXG to report a
different set of intervals than DB2PM. Change to read:
line 006590 and 015850 IF "&BEGTIME"DT LT QWACESC;
line 006620 and 015880 IF "&ENDTIME"DT GT QWACBSC;
line 084930 and 110050 IF "&BEGTIME"DT LT QWHSSTCK;
line 084950 and 110080 IF "&ENDTIME"DT GT STRTTIME;
Thanks to Piara Singh, Ministry of Health, SINGAPORE.
Change 08.066 This change supports the new "SRCL" field added to RMF
VMAC7072 product section by APAR OY28449 and PTF UY49092. The
VMAC71 text of the PTF claims that
VMAC73 "the APAR will not impact the customer unless they
VMAC74 have private programs that process RMF - SMF records.
VMAC75 The customer will have to modify their programs/execs
VMAC76 to include the new SRCL field..."
VMAC77 but there is NO impact on MXG 7.7. The new field was
VMAC78 already a reserved field in the RMF product section, and
VMAC79 its value is currently always zero. This change uniformly
XMAC7072 renames the reserved field @OFFRMFP+51 as RMFSRCL, but
XMAC71 only for possible future use when IBM actually puts a
XMAC73 non-zero value in the field (which is suposed to be an
XMAC74 indicator of the RMF source level that created the RMF
XMAC75 record).
Jul 2, 1990
Change 08.065 This announces support for CICS/ESA Releases thru 3.1.1
EXCIC... Monitor and Performance data. Forty seven MXG datasets
FORMATS are created from the new Statistics class data, and new
IBCICTRN variables were added to CICSTRAN and CICSEXCE. Two data
PRCICALL sets no longer exist in CICS/ESA: CICSACCT was always
UTILCICS redundant with CICSTRAN, and CICSYSTM's interval data is
VMAC110 now contained in (and significantly enhanced) in the 47
VMAC110B new CIC..... CICS statistics datasets. See the technical
VMAC110M note in MXG Newsletter SEVENTEEN documenting changes.
Jun 30, 1990 a.The new member VMAC110 contains support for all CICS data
(1.5,1.6,1.6.1,1.7,2.1,3.1.0, and 3.1.1) concurrently.
b.Member VMAC110B is the backup copy of VMAC110 before the
3.1.1 changes. It will not exist in the next prerelease.
c.VMAC110M processes only subtype 1 records for CICS/ESA
and previous CICS's; it does not process new Statistics
structure, but does know about new fields in the CICS
dictionary in 3.1.1. It may be needed to avoid a SAS 344
Compiler Limit exceeded error under SAS 5.18 for sites
that do not have SAS 6.06 available.
d.FORMATS member on MXG 8.2 contains new CICS formats.
e.IBCICTRN labels all CICSTRAN variables with the CMODHEAD
name from the dictionary. Then, you can
PROC PRINT DATA=CICSTRAN SPLIT='*';
%INCLUDE SOURCLIB(IBCICTRN);
to print the CICSTRAN monitor data with IBM headings.
Useful when you need to talk to IBM about their data!
f.PRCICALL will print (with or without SPLIT='*') all 47
new CIC.... data sets and the pre-existing four as well.
The OBS= parameter limits print to first 300 obs, but
even that can be lots of paper.
g.UTILCICS knows about the CICS/ESA dictionary, but has not
yet been updated for connectors, as there has been no
need thus far for that enhancement.
h.See NEWSLETTER SEVENTEEN for initial documentation.
Change 08.064 Boole and Babbage's IMS Measurement Facility (IMF/CIMS)
VMACCIMS product Release 2.6 supports IMS 3.1 with no changes in
Jun 24, 1990 the IMF data records written to the IMS log, so therefore
MXG now (and before) supports IMS 3.1 IMF records!
Change 08.063 SAS 6.06 Compatibility. SAS/STAT existence and ID.
GRAFTRND Added SASSTAT option to indicate you have SAS/STAT.
Jul 3, 1990 Added error message if SU_SEC (used to normalize CPU in
plots) is missing. Default device changed to PCBATCH.
Code was consolidated, enhanced and renumbered.
Thanks to Bruce L. Green, Medical Information Bureau, USA.
Change 08.062 SAS 6.06 Compatibility. PROC MEANS vs SUMMARY.
ANALBNCH Each PROC MEANS NOPRINT execution with an OUT= option
ANALBNC1 was located and (DROP=_FREQ_ _TYPE_) was added after the
ANALCACH output data set name in the OUT= option, so that these
ANALCICS variables (created because 6.06 PROC MEANS now actually
ANALDB2R is PROC SUMMARY) are not kept. At the same time, all
ANALDMON PROC MEANS statements were re-ordered so that the NOPRINT
ANALDOS option immediately follows the MEANS, for consistency.
ANALESV
ANALMNTS
ANALMONI
ANALMPL
ANALNPMR
ANALPROG
ANALSMF
ANALTAPE
ANALTURN
BUILDPDB
BUILDPD3
IDMSREPT
IMACPDB
RMFINTRV
VMACCRAY
VMACVMON
VMACVMXA
VMXGHSM
VMXGSUM
VMXGVTOC
XPAII
Jul 3, 1990
Change 08.061 SAS 6.06 Compatibility. PROC COPY GCAT change.
GRAFRMFI Replaced use of PROC COPY with the COPY command of PROC
Jul 3, 1990 GREPLAY. Deleted GROUPing logic if executed under SAS
6.06. Changed default device to PCBATCH.
Change 08.060 SAS 6.06 Compatibility. DROP= validation.
VMACVMON Remove MN002RS1,MN002RS2,MN003RSV from DROP= option in
Jun 14, 1990 line 361600. Remove INTERVAL from DROP=option in lines
361800, 362000, 362200, 362400, and 362600.
Change 08.059 SAS 6.06 Compatibility. Parser error. PROC SORT
ANALCICS DATA=_CICTRAN. CICSTRAN fails with a 201 error, but it
Jun 14, 1990 accepts _CICTRAN.CICSTRAN or _CICTRAN . CICSTRAN syntax.
SAS 5.18 didn't care about blanks before or after the
delimiter period in a full data set name.
Will not be repaired until SAS 6.07.
Thanks to Dennis Longnecker, Admin. for the Courts, WA. State, USA.
Change 08.058 This TREND example needed a PROC SORT; BY SYSTEM PERFGRP;
JCLTREND to be inserted before line 005900 (PROC PLOT) to avoid a
Jun 14, 1990 non-sorted condition.
Thanks to Tom Elbert, John Alden Life Insurance, USA.
Change 08.057 Invalid type 6 SMF records can cause an MXG STOPOVER. In
VMAC6 most cases, the record is created by an external writer
May 9, 1990 that lies (by storing subsys of 2 instead of 0, making me
believe this is a JES-written record), but it can also be
caused by an IBM-written record with incorrect data.
This change adds an additional test to detect the invalid
record and avoids the STOPOVER. Replace the three lines
that test SECTIND (lines 022500, 025400 and 028800) with:
IF SECTIND='1.......'B AND OFTONXT+35 LE LENGTH THEN DO;
IF SECTIND='.1......'B AND OFTONXT+ 5 LE LENGTH THEN DO;
IF SECTIND='..1.....'B AND OFTONXT+46 LE LENGTH THEN DO;
Even these tests are not sufficient when a SMF6LN3 value
says 162 bytes exist, but the record is truncated, as is
found in MVS 3.1.3. For this case, an additonal test was
added to line 027100 which now reads
IF SMF6LN3 GE 162 AND LENGTH-COL+1 GE 124 THEN
Finally, all other conditional input statement are now
protected similar to line 027100 to test both the LENGTH
minus COL plus one, against the data to be inputted.
These MXG circumventions for the defective IBM type 6
record are not necessary if you instead install the APAR
OY29986 PTF UY49159 for JES 2 3.1.3 causing the error.
Thanks to Mark Stafford, PHH Fleet America, USA.
Thanks to Diane McCabe, N.J. Dept. of Treasury/OTIS, USA.
Thanks to Leatha Harlow, Sperry Marine, Inc, USA.
Change 08.056 SYNCSORT SMF record for sorts using E15/E35 exits ahve a
VMACSYNC value of hex 00 for SIRECFM, SORECFM, causing an "INVALID
May 8, 1990 DATA" message and a dump of the input record. Inserting a
double questionmark (SIRECFM ?? 1. and SORECFM ?? 1.) the
invalid data message goes away.
Thanks to Dave Greene, Kwasha Lipton, USA.
Change 08.055 RMF Type 79 data validation continues. Formats have been
VMAC79 assigned: R791DP HEX4., R791TRTM and R796TOD TIME12.2,
May 8, 1990 and R794AFC MGBYTES. INPUT statements were corrected:
May 9, 1990 R791TRTM PIB4.3 and R792TDEV PIB4.6. Line 051300 (4096*
R793LOUT) was deleted and removed from MGBYTES format,
new lines added 040610 R792TDEV=128*R792TDEV; and added
060110 R794AFC=4096*R794AFC;to correct units. A number
of other fields which contain memory(pages/frames,etc)
measures were inconsistent. They were either not mult.
by 4096, not Formatted MGBYTES, or did not have (MB) in
their label to indicate they are in units of K,M, etc.
They are all now consistent, and they include:
792: FXBL, PNV, PSWP, PVIO CMNI PIN
794: CMNI CMNO CSAI ERTE HSP LPAI MRTE PRVI PRVO PSPI
PSPO and VIO
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 08.054 RMF Monitor III VSAM dataset records cause STOPOVER with
VMACZRB RMF 4.1.1. Since MXG 7.7 supporte RMF 3.4.1, it is not
May 7, 1990 surprising that the lengths in the RELINFO: table needed
to be changed. However, actual data record lengths do not
agree with IBM documentation, and occasional STOPOVERs
still occur (possibly because these records can span a
physical record). Further research and validation will
be done at a later date, but it appears the code can be
used if STOPOVER in line 000200 is changed to MISSOVER,
and try these values following the label RELINFO:
ASISIZE = 120 (IBM document said 114, MXG 7.7 was 88)
GEISIZE = 132 (IBM document agrees, MXG 7.7 was 96)
SSHSIZ = 264 (IBM document said 260, MXG 7.7 was 240)
Thanks to Jim Stebel, Royal Insurance, USA.
Thanks to Richard Evans, Mervyn's, USA.
Change 08.053 SAS 6.06 Compatibility. A RUN; statement was added
GRAFRMFI before each PROC GREPLAY to isolate potential problems,
May 7, 1990 the test for Version EQ 5 was changed to GE 5.
Change 08.052 Type 37 processing directly from VSAM SMF records was
VMAC37 not complete. In lines 017400, 019100, 021300, 022700,
May 7, 1990 024800, 025700, 028100 and 032000 add +OFFSMF after -3.
Thanks to Herr Lehmann, GRZ Norddeutschland, GERMANY.
Thanks to Herr Kumellis, GRZ Norddeutschland, GERMANY.
Change 08.051 Line 008200 should be spelled CPUOVHTM vice CPUOHVTM,
GRAFTRND and GOUT=TREND.GRAPHS should be GOUT=&TREND..GRAPHS in
May 7, 1990 all five places to be consistent with other references.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 08.050 TSO/MON now supports TSO measurement of Batch execution,
VMACTSOM and thus JOB $CHAR7. in line 068700 should be changed to
May 7, 1990 JOB $CHAR8. TSO Userid's were restricted to seven chars,
but batch jobs can be all eight positions. Minor.
Change 08.049 Documentation note. Data set TYPE78CF will contain an
VMAC73 observation only if a CHPID is online (because NRCUS must
VMAC78 be non-zero), but the TYPE73 dataset will contain an obs
May 7, 1990 for each CHPID in the record, whether online or not. Why
the difference? They were written at different times!
To be consistent, I should externalize both tests to the
exit members and consistenly keep only those CHPIDS that
are online (to minimize the unnecessary data in your PDB)
but for now I will leave it the way it is.
Thanks to Laurie Maser, Central Illinois Light Company, USA.
Change 08.048 Variables ABNDRSNC DIVRREAD DSSIZHWM and TERMNAME were
IMACPDB not kept in PDB.STEPS from TYPE30_4, but now were added
VMAC30 in macro _PDB30_4 in member IMACPDB, so they are. Also,
May 7, 1990 variable DSSIZHWM was added to the KEEP list for dataset
TYPE30_V (and thus also will be in PDB.SMFINTRV)
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 08.047 ACF2 dataset ACF2JR will have fewer observations with
EXACFJR MXG 7.7 than it contained with MXG 6.6, because a test
May 4, 1990 in EXACFJR inadvertently deleted SMF records. Remove
the temporary fix "IF ACLEMLTH LT 256;" statement and
its associated comment.
Thanks to Ilana Towery, Houston General Insurance Company, USA.
Change 08.046 Pre-release 8.1 shipped to support ESP product.
May 4, 1990
Change 08.045 MXG's algorithm to detect the wrap of the 202-day clock
VMACVMON in VM/SP failed at 24APR90:08:22:10. MXG's next timestamp
May 4, 1990 was 02OCT89:17:40:04, and the rest of the records in that
VM Monitor file had the Oct 2, 1989 date, because 16* was
left out of line 029400 when Change 6.023 was installed.
The test for new interval in line 029400 should read:
IF LASTHALF AND 16*MNHTOD LT FFFFFOV2 THEN DO;
The incorrect STARTIMEs only occurred on the day of the
clock wrap; the next MXG run (or a monitor start event)
corrected the MXG error.
Thanks to Nancy Ayers, General Electric Lighting, USA.
Change 08.044 Preliminary support for the Cray supercomputer COS 1.16
EXCRA... operating system accounting and performance records. This
VMACCRAY support requires SAS Version 6.06+ (because of ASCII
May 3, 1990 character variables). Future revisions will support the
COS 1.17 changes, and eventually, UNICOS as well. There
are 6 CRAYA... datasets built from account records,
16 CRAYP... datasets built from SPM performance records,
and the MXG-built CRAYPINT "Interval Performance" dataset
built by sum/merging those 16 SPF datasets.
These datasets are currently built:
CRAYAEJ Label='Accounting Job Termination'
CRAYAET Label='Accounting Task Termination'
CRAYAFU Label='Accounting BMR Device Utilization'
CRAYAGU Label='Accounting Generic Resource'
CRAYAPD Label='Accounting Permanent Data'
CRAYATA Label='Accounting Tape Data'
CRAYPCP Label='SPM CPU Times and Task Times'
CRAYPTK Label='SPM Task Requests'
CRAYPER Label='SPM Executive Requests'
CRAYPMU Label='SPM Memory Utilization'
CRAYPDU Label='SPM Disk Utilization'
CRAYPDC Label='SPM Disk Channel'
CRAYPLU Label='SPM Link Utilization'
CRAYPEC Label='SPM Executive Calls'
CRAYPUC Label='SPM User Calls'
CRAYPPU Label='SPM Preemptable Generic Resources'
CRAYP11 Label='SPM JSH Statistics'
CRAYP12 Label='SPM Job Class Information'
CRAYP13 Label='SPM JSH Request Count'
CRAYPIC Label='SPM Channel Interrupts'
CRAYPSB Label='SPM System Buffer Utilization'
CRAYPINT Label='SPM Interval Performance'
Change 08.043 NETSPY Version 3.1 (3.2 is current) can cause a STOPOVER
VMACNSPY because the test in line 032300 should be NSPYENTL GE 177
Apr 30, 1990 (the current test was NSPYENTL GE 167).
Thanks to David B. Adams, National Life of Vermont, USA.
Change 08.042 IMS log processing variable VTAMNODE should be added to
VMACIMS the IMS03 and IMS36 dataset KEEP list and removed from
Apr 30, 1990 the IMS01M dataset KEEP list. The two occurrences of
IF VTAMNODE GE ' ' ... should be changed to now test for
IF VTAMNODE NE ' ' ....
Thanks to Pete Shepard, Ashland Oil, USA.
Change 08.041 EXPLORE/VM second occurrence of CHANBUSY in the LABEL and
VMACVMXP INPUT statements (lines 054000 and 056600) should be
Apr 30, 1990 changed to CHANBUS2 and variable CHANBUS2 should be added
to the KEEP list (line 005700). CHANBUSY is the IPL-proc
Channel Busy and CHANBUS2 is the non-IPL-proc chan busy.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 08.040 MXG 7.7 can have 0 observations in CICS datasets built
VMAC110 from CICS 1.7 records. An anticipatory change was added
Apr 30, 1990 that used a reserved field, but the field is not always
Jun 30, 1990 zero in 1.7 (but it seems okay in CICS 2.1). Either
delete line 025320 (IF SUBTYPE NE 0 THEN DELETE;) for the
present, or if you have both CICS 1.7/2.1 records and
are also testing CICS/ESA 3.1.1, change the logic to:
INPUT @31+OFFSMF OLDVERCI $CHAR2. @19+OFFSMF SUBTYPE PIB2. @;
IF '02' LE OLDVERCI LE '03' THEN SUBTYPE=0;
IF SUBTYPE NE 0 THEN DELETE;
This is a safe test, since the OLDVERCI field in CICS 3.1.1
is the SMFPSNPS (number of product sections, always '0001'X),
and OLDVERCI in CICS 2.1 and earlier will be 'F0F2'X or
'F0F3'X.
Thanks to David Ayresman, University of Louisville, USA.
Thanks to Hunter Chang, Sydney County Council, AUSTRALIA.
Change 08.039 TYPE6156 variable VOLSERs are wrong when additional
VMAC6156 "GOOVOO" entries follow the GOOVOO for this Entry. The
Apr 30, 1990 logic to update VOLSER in MXG was incomplete in this
instance.
a.Add DO; after the THEN which ends statement 019600.
b.MOVE lines 019600-019700 to after 020600 (the @;).
c.Insert new line 021610 (after 021600, END;) containing
END; (to complete the new DO; added above).
Thanks to Tim Kearney, Allied-Signal, Inc, USA.
Change 08.038 NPM records can be created under VM and processed by MXG
VMAC28 with these changes (mostly to VM:)
Apr 23, 1990 a.In FNMINIT FNMPARM A in the NPM MACRO the session
parameter was modified to read session=(session,NPMLOG),
i.e., to write session data to the NPMLOG as well as the
session log.
b.In NPMSTRT GCS A the FILEDEF for FMNLOG1 and FMNLOG2 was
modified to read FILEDEF FNMLOG1 DISK FNMLOG1 LOG A4
FILEDEF FNMLOG2 DISK FNMLOG2 LOG A4
c.To process the log the FNMLOG1 or FNMLOG2 was copied to
a file with a FILEMODE of A1 which was then used as the
input for MXG. The FILEDEF for the input file was also
specified with FILEMODE A1.
d.VMACSMF was copied and modified to create a new macro
named _SMF, which is a copy of the _SMF macro, but which
deleted the VBS and LRECL options on the INFILE statement
in the modified copy.
Thanks to W. C. Cronje, Anglo American Corporation, SOUTH AFRICA.
Change 08.037 VM/370 variable MN000PPC can be zero if preferred paging
VMACVMON is to expanded storage, causing a divide by zero error
Apr 23, 1990 in calculation of DRUMUTIL variable in line 116600. That
calculation is now precedeed by IF MN000PPC GT 0 THEN.
Format MGVM6TY has new value 2420X='2420:3380' added.
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 08.036 Variable CREATIME in dataset MONITASK has date of END if
TYPEMONI a transaction spans midnight. Logic to correct date was
Apr 23, 1990 perturbed by Change 7.171. To correct, change line 00503
to read IF CREATIME LE TIMEPART(ENDTIME) THEN instead of
IF CREATIME LE ENDTIME THEN.
Thanks to Steve Cavill, SAS Institute, AUSTRALIA.
Change 08.035 This one is obscure. CICS type 110 records with a error
VMAC110 are usually detected by MXG and STOPOVER prevented, but
Apr 18, 1990 if the invalid segment happens to be the last segment in
a type 110 record, a STOPOVER can still result, because
line 032200 (CONNBYTE+DRLENNUM GT BYTELEFT AND ...)
should be CONNBYTE+DRLENNUM GT BYTELEFT-38 AND ...).
Thanks to Earl Ryan, Life Insurance Company of Georgia, USA.
Change 08.034 IBM documented SMF6XFNC values of S and U for type 65
VMAC6156 and R for type 66, but S and U have been found in SMF
Apr 17, 1990 type 66. Now, MXG tests for R, S, or U for either type
in creating MXG variable FUNCTION.
Thanks to John Mattson, National Medical Enterprises, USA.
Change 08.033 MXG Tape mount monitor variables DEVFROM and DEVTO were
VMACTMNT not formatted to HEX4. (add them in line 004600), and
Apr 12, 1990 DEVNR should be removed from line 020000.
Thanks to Glenn Thompson, Comalco, AUSTRALIA.
Change 08.032 VTOC processing variable RECFM should have been $4. in
VMXGVTOC line 032000 (instead of $3.), although it is unlikely
Apr 12, 1990 to ever see a non-blank in the fourth position.
Thanks to Wyman Young, BHP, AUSTRALIA.
Change 08.031 DB2 Lock Detail report PMLOK03 fails with a 170 format
ANALDB2R conflict error, because variable ELAPSED was previously
Apr 12, 1990 defined as a numeric variable. In three lines within the
PMLOK03 macro, lines 073560, 073570 and 073780, change
the variable name ELAPSED to LOCKTMCH.
Thanks to Dennis Longnecker, Wash. Office Admin for Courts, USA
Change 08.030 DB2 reporting from GTF (instead of SMF or PDB) failed,
ANALDB2R with "GTF is not a SAS library" error. We had failed to
Apr 11, 1990 test the GTF option in MXG 7.7. The correction is to
change line 002670 from
%IF &&PDB&I = SMF %THEN ....
to read
%IF &&PDB&I = SMF OR &&PDB&I = GTF %THEN ....
Thanks to Cindy Schinker, AgriData, USA.
Change 08.029 TSO SPF EDIT subcommand COPY should NOT be used to copy
TSO-SPF an MXG member into your USERID.SOURCLIB library from the
Apr 10, 1990 MXG.SOURCLIB, because the COPY subcommand of EDIT will
renumber the lines! Always use SPF COPY Command (3.3)
to copy members without renumbering, so that numbering
will be preserved. (It's not clear when this began to
happen, nor whether its an IBM design change or an error;
if you know more on the subject, let me know!)
Change 08.028 ROSCOE Audit records were not being output in ROSCOAUD.
VMACROSC Because there is no ROSCOE version identifier in their
Apr 10, 1990 record, an ad hoc test (TIME = . ) used to detect earlier
versions now prevents testing for audit records. In line
073500, replace the (TIME = . OR ROSREC = '30'X) with
(ROSREC='F0'X OR ROSREC='30'X OR 'A0'X LE ROSREC LE 'AB'X)
to process those record subtypes. In addition, variables
ACCTCODE FORMKEY and USERID were added to ROSCOAUD keep.
Thanks to Tom Braswell, Dow Jones & Company Corporate DP, USA.
Change 08.027 TYPE6156 processing can cause STOPOVER because cell '02'X
VMAC6156 record was incorrectly decoded. Correction:
Apr 10, 1990 Delete line 015700 (was ICFPSWRD $CHAR32.)
Change line 016800 from LENTHIS-87 to LENTHIS-55
Remove ICFPSWRD= from line 017200.
Thanks to Brian Kaczkowski, AgriData, USA.
Change 08.026 PDB.JOBS variables JINLTIME and JRSTTIME were up to four
BUILDPDB minutes (about 255 seconds!) earlier than JSTRTIME! This
BUILDPD3 truncation occurs when a DATETIME variable is stored in a
TYPEDOS length 4 variable. Because MXG's default numeric length
UTILXRF2 is 4, all DATETIME variables must be explicitly named in
VMACARB a LENGTH 8 statement, and MXG's QA test member UTILXRF2
VMACROSC is supposed to detect occurrences of DATETIME variables
VMACTMVS with length other than 8. Why did this slip thru QA? Due
VMACVMON to a logic error in UTILXRF2, only DATETIME variables in
VMACX37 more than one MXG-built dataset were tested for length 8!
VMAC102 1.Fixing that error uncovered additional DATETIME variables
VMAC24 that have now been explicitly set to length eight:
VMAC60
VMAC6156 Member Line Number Dataset Variable(s)
VMXGVTOC VMACTMVS 073000 TMVSJIST JISTSTOP,JISTSTRT
Apr 17, 1990 VMAC24 006500 TYPE24 OFLDTIME
BUILDPDB 044100 PDB.JOBS JINLTIME,JRSTTIME
BUILDPD3 044500 PDB.JOBS JINLTIME,JRSTTIME
VMAC102 411100 T102S100 QW0100SA,QW0100SB
VMACROSC 070100 ROSCOHU ROSTERM
VMACVMON 213910 VMONSUSP TODSTIME
2.An unrelated additional QA test was added by this change,
to detect character variables with a $MG.... format that
are also length 8. This causes no error but wastes seven
bytes, and results when the formatted variable was not in
a LENGTH $1 statement. This new test identified these
variables which needed a LENGTH statement:
Member Line Number Dataset Variable(s)
VMAC60 009700 TYPE60 ENTTYPID
VMAC6156 004300 TYPE6156 ENTTYPID
3.The QA CROSSREF output also showed that several members
did not contain LENGTH DEFAULT=4 statements, causing
numberic variables to be 8 bytes instead of only four.
DEFAULT=4 was added in VMACARB, TYPEDOS, and VMACX37,
and SMFTIME READTIME JINTTIME 8 was added in VMACX37.
In VMXGVTOC, VOLUME $6 was added to the LENGTH statement
(VOLUME is returned by SAS's VTOC option as a 30-byte
variable, which caused VOLSER to also be thirty bytes!)
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 08.025 MXG testing step TESTIBM has abended at two sites that
JCLTEST have used IMACKEEP to modify the default KEEP list. There
Apr 10, 1990 is no problem with their normal BUILDPDB, etc., but it
appears there is another SAS 5.18 internal limit that is
encountered. One set of symptoms are ERROR: WORK.DIRMACR
REQUIRES MORE SPACE ... with either THE LIBRARY IS IN 16
EXTENTS or THE LIBRARY IS IN nn EXTENTS, AND NO MORE
SPACE IS AVAILABLE ON VOLUME. Other failures show up as
a DATA SET NOT FOUND when the PROC MEANS or PROC PRINT is
invoked, and the SAS LOG shows the program simply stopped
building datasets, with no error. Increasing WORK space
does not correct the problem. (While not documented in
the JCLTEST member, the default JCLTEST requires a max
of 12 cylinders work space for any step with MXG 8.2).
Nor did REGION size have any effect. When the abend is
DASD space related, the SAS message usually indicates
DATA SET WORK.DIRMACR WAS AT OBSERVATION 16744450!
I think this problem is due to re-definition of old style
macros due to the repetitive include of IMACKEEP in this
test jobstep, which exhausts some internal limit for old
style SAS macro re-definitions. But since the error is
circumventable (run JCLTEST without the sites' modified
IMACKEEP), since the error hopefully does not exist in
SAS 6.06, and since I haven't taken the time to create
a repeatable test for SAS Institute to use to detect and
fix their problem, it is left with this documentation
note, until time or more errors cause further study!
Thanks to Marvin Rockhill, Community Hospitals of Indiana, Inc, USA.
Thanks to Georg Simon, Federal Reserve Bank of Philadelphia, USA.
Change 08.024 STOPX37 product SMF record had minor corrections to the
VMACX37 SELECTBK and ACTIONBK variables (changed from $CHAR10.
Mar 27, 1990 $CHAR8.) and MESSAGE variable (changed from @509 $CHAR144
to @513 $CHAR140.), but no loss of data had occurred.
Change 08.023 Lengths of five character variables were truncated due to
ASUMCICS incorrect initialization in this summary member for Trend
Mar 27, 1990 Data Base. Variables OPERATOR,TERMINAL,TRANNAME,TRANSACT
must be four instead of three bytes, and variables SYSID
and APPLID must be eight instead of three bytes in their
initial statements (where now set equal to 'MXG').
Thanks to Mike Hoevenaars, Toyota, CANADA.
Change 08.022 Fixes that should have been in MXG 7.7, but were not.
EXTY39EL 1.VMAC37 needed new formats $MG037FE, $MG037FI, $MG037FU
FORMATS for variables BRL/BRRFEAER, BRL/BRRFEAIN, BRL/BRRCTRC,
VMAC37 which also were added to the LENGTH statement with $1.
VMAC39 LABEL for BRLTYPE should be LOCAL instead of REMOTE, and
Mar 27, 1990 variables were added to the KEEP list: BRRTYPE, BRLTYPE,
BRLMODEL, and BRRMODEL.
2.VMAC39 needed ZDATE added to all KEEP lists, and the
existing-but-never-referenced EXTY39EL member for the
TYPE39EL (route elements) data set is now referenced.
Because TYPE39EL can get large, and because no one has
said they actually use the TYPE39EL dataset, the EXTY39EL
exit now DEFAULTS to create NO observations TYPE39EL.
Thanks to Bruce Widlund, Texas Utilities, USA.
Thanks to Doug Drain, National City Bank, USA.
Change 08.021 ANALDB2R DB2 report in MXG 7.7 was not tested with PDBs
ANALDB2R created by MXG 6.6, causing uninitialized variable error
VMXGSUM messages. MXG uses SAS's NOVNFERR (No Error when Variable
Mar 27, 1990 Not Found) but when the variable is in a BY statement or
Apr 10, 1990 a PROC MEANS control statement, NOVNFERR does not prevent
Apr 15, 1990 the error condition. The usual fix would add a statement
(IF x=. THEN x=.;) for each variable which might not be
in the input dataset (which fakes out the SAS compiler
by creating a variable if it does not exist). ANALDB2R
was changed (but when it was realized that these "fakes"
already existed in the OUTCODE macro argument, and that
MOVEing the lines from OUTCODE to INCODE would avoid any
retyping (with its high exposure to typing error), and
was more robust. The first three reports worked fine. But
the DB2 Accounting Detail report added 150 OUTCODE lines
to the existing 380 INCODE lines, and SAS died with the
"Excessive Parameter Length" Error, because 380 lines do
fit in MWORK=28K, but 380+150 lines break the maximum!
Part of the solution was to re-design the %VMXGSUM macro
so that it protects for possible missing variables in the
MIN, MAX, SUM, etc. operations done by %VMXGSUM, because
that should have been the original implementation. That
enhancement to %VMXGSUM is implemented herein in the 1st
part of this change.
Additionally, however, MXG 7.7 reports expected several
character variables that did not exist in MXG 6.6-built
PDBs. The second part of this change added statements to
supress the UNINITIALIZED VARIABLE messages if a cross-
version report (7.7 report from 6.6 data) is requested!
1.These sixteen new lines are inserted in member VMXGSUM:
After 025910 (IF DATETIME=. THEN DATETIME=.;) and before
026000 (&INCODE) insert:
%DO I = 1 %TO &NUMMAX %BY 1; 02592000
%LET VAR = %SCAN(&MAX,&I); 02593000
IF &VAR = . THEN &VAR = .; 02594000
%END; 02595000
%DO I = 1 %TO &NUMMIN %BY 1; 02596000
%LET VAR = %SCAN(&MIN,&I); 02597000
IF &VAR = . THEN &VAR = .; 02598000
%END; 02599000
%DO I = 1 %TO &NUMMEAN%BY 1; 02599100
%LET VAR = %SCAN(&MEAN,&I); 02599200
IF &VAR = . THEN &VAR = .; 02599300
%END; 02599400
%DO I = 1 %TO &NUMSUM %BY 1; 02599500
%LET VAR = %SCAN(&SUM,&I); 02599600
IF &VAR = . THEN &VAR = .; 02599700
%END; 02599800
2.If you MUST create new ANALDB2R MXG 7.7 reports from old
MXG 6.6-built PDB libraries, you must make these changes.
a.In two places in ANALDB2R, after lines 084860 and 110130
(each is: IF QWHSLOCN = ' ' THEN QWHSLOCN = ' ';),
replicate each line twice, then change the QWHSLOCN to
QLSTLOCN in the first replicate, then change the QWHSLOCN
to QLACLOCN in the second replicate.
b.Replicate line 006330 and change QWHSLOCN to QLACLOCN.
c.Change lines 015610 and 015620 (which initialize variable
QWHSDBAT and QWHSLOCN to four blanks) to now read:
IF QWHSDBAT=' ' THEN QWHSDBAT=' ';
IF QWHSLOCN=' ' THEN QWHSLOCN=' ':
d.Now, replicate this changed line 015620 thirteen times,
and change the replicated lines to now read:
IF QWHSLOCN=' ' THEN QWHSLOCN=' '; 015620
IF QLACLOCN=' ' THEN QLACLOCN=' '; 015621
IF QTXASELM=' ' THEN QTXASELM=' '; 015622
IF QTXASALM=' ' THEN QTXASALM=' '; 015623
IF QTXASPLM=' ' THEN QTXASPLM=' '; 015624
IF QTXABLLM=' ' THEN QTXABLLM=' '; 015625
IF QTXAINLM=' ' THEN QTXAINLM=' '; 015626
IF QTXAIOLM=' ' THEN QTXAIOLM=' '; 015627
IF QLACTRNS=. THEN QLACTRNS=.; 015628
IF QLACCNVQ=. THEN QLACCNVQ=.; 015629
IF QLACMSGS=. THEN QLACMSGS=.; 015630
IF QLACMSGR=. THEN QLACMSGR=.; 015631
IF QLACBYTS=. THEN QLACBYTS=.; 015632
IF QLACBYTR=. THEN QLACBYTR=.; 015633
Thanks to Dale St. Amant, Tenneco, USA.
Change 08.020 As discussed in Change 7.139 in MXG 7.7 CHANGES, SYNCSORT
VMACSYNC creates an invalid CPUTCBTM value (hex'555555'=15:32HHMM)
Mar 23, 1990 but it was not known why. SYNCSORT Early Warning Nr. 2803
now identifies the culprit; the use of FREE=CLOSE on the
SORTIN DDNAME causes SYNCSORT and MVS to both have issued
active STIMERS, which causes the corruption in their CPU
TCB time measurement. Eventually, SYNCSORT will fix the
conflict by zeroing out the field when a second STIMER is
set. MXG now recognizes '00555555'X and sets CPUTCBTM to
be missing in VMACSYNC. When the SYNCSORT fix is applied
in the future, a zero value instead of missing value will
result. This is a price you pay for FREE=CLOSE. Note that
even DFSORT specifically states to not specify FREE=CLOSE
on SORTIN DD statement
Note that this STIMER conflict ONLY affects the CPU time
that is measured by the 2nd STIMER issuer. The true CPU
TCB time in the SMF type 30 and the RMF type 72 records
are NOT affected, and remains correct.
Note also that FREE=CLOSE similarly affects SAS reported
CPU times on the SAS log, and can actually cause SAS to
ABEND with an internal apparent CPU TIME EXCEEDED error,
that also does not affect type 30/72 data, as was first
discussed on page 6 of MXG Newsletter TEN. With SAS, you
can still use FREE=CLOSE by specifying the NOSTIMER
option, which supresses CPU capture by not even issuing
the STIMER macro. (While SYNCSORT also has a NOSTIMER
option, it does not work in the same way, and will not
zero the CPU field when FREE=CLOSE is used.)
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Thanks to Nanette, SYNCSORT, USA.
Change 08.019 As documented in Newsletter SIXTEEN, MXG support for
VMACEPIL Candle's EPILOG/CICS was incomplete. It was also wrong!
XMACEPIL 1.The correct member to include (in member TYPEEPIL) is
XXACEPIL XMACEPIL in place of VMACEPIL, and DO NOT use XXACEPIL).
Mar 23, 1990 2.In member XMACEPIL, a + sign is missing in line 039300,
which should read: @121+OFFEPIL BISTIME ....
3.Variable WID should be 8 bytes (it is UOWID), but the
DEFAULT=4 causes it to be kept as only 4 bytes. It needs
to be added with explicit length 8, but eventually will
be converted and decoded into UOWID and UOWTIME.
Thanks to ???, ???.
Updated Jan 14, 1991. Member XMACEPIL was corrected and
copied into (replacing) member VMACEPIL, and then the
member XMACEPIL was deleted. All future EPILOG CL1000
support will be in member VMACEPIL, as it should have
been all along. See Change 8.212.
Change 08.018 System Managed Storage (SMS) now uses formerly reserved
VMXGVTOC bits located at offset '4E'x in the DSCB1 in your VTOCs.
Mar 22, 1990 DASD products like DMS/OS and ASM2 have used these bits,
and local modifications (to CSECTS IFG0196W and IFG0194E)
have also caused this "DSCB Contamination".IBM published
"Clean up VTOCs Before Implementing DFP V3"(as WSC Flash
9009, Hone Entry G022345) to advise you of the exposure.
If DSCB contamination is found, you must not only clean
the VTOCs of your online data sets, but you will need to
also clean all migrated datasets, since their DSCBs were
also migrated and your migration software will need to
correct the contamination when datasets are recalled.
The change in 8.2 creates these new SMS variables in the
VTOCLIST (for VMXGVTOR) or LIST (for VMXGVTOC) dataset:
DS1CRSDB='DADSM CREATE ORIGINATED BLOCKSIZE?'
DS1PDSE ='PDSE MANAGED DATASET?'
DS1REBLK='DATA SET MAY BE REBLOCKED?'
DS1SCAVB='SECONDARY IS ORIG AVG BLOCK LENGTH?'
DS1SCCP1='SECONDARY IS COMPACTED BY FACTOR OF 256?'
DS1SCCP2='SECONDARY IS COMPACTED BY FACTOR OF 65536?'
DS1SCKB ='SECONDARY IS IN KILOBYTES?'
DS1SCMB ='SECONDARY IS IN MEGABYTES?'
DS1SCUB ='SECONDARY IS IN BYTES?'
DS1SCXTV='SECONDARY SPACE EXTENSION VALUE'
DS1SMSDS='SYSTEM*MANAGED*DATASET?'
DS1SMSUC='NO BCS ENTRY EXIST FOR DATA SET?'
OFFSET4E='OFFSET 4E*INTO DSCB1*(USED BY SMS)'
2.The PROC SORT DATA = EXTENT; BY VOLSER POINTER; was
inside the %DO group was relocated outside, just before
the %DO, since no values in EXTENT were changed; this
will speed up execution slightly.
3.Adding variable OFFSET4E to VMXGVTOC is simple: replace
line 045100 (now containing only +4 ), with this:
@84 OFFSET4E $CHAR4.
and add OFFSET4E to the KEEP list for the LIST dataset.
Then, you can execute the following MXG program under TSO
to read the VTOC of your favorite VOLSER to see if it
suffers from DSCB contamination at offset '4E'x:
ALLOC F(DISK) DA('any data set on chosen volume') SHR
SAS OPTIONS('NODMS MAUTOSOURCE SASAUTOS=SOURCLIB VTOC')
%VMXGVTOC(DISK=DISK); RUN;
DATA CONTAMIN; SET LIST;
IF OFFSET4E NE '00000000'X THEN OUTPUT;
(Dataset LIST is built directly by VMXGVTOC. If you
have implemented VMXGVTOR to graze your entire DASD
farm, the SET LIST; statement would be replaced with
SET &LIB..MXGVTOC which contains all LIST datasets.)
If dataset CONTAMIN has non-zero observation count, then
you either have DSCB contamination, or SMF has already
been installed at your site!
Thanks to Tuanhung Doanvo, Philip Morris, USA.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 08.017 Hiperbatch hit/miss stats were added by IBM to type 14/15
VMAC1415 and type 64 by TNL (GN28-1284) dated Jan 3, 1990 that was
Mar 22, 1990 delivered today. (Had it been received even by Feb 20, it
would have been implemented in MXG 7.7, avoiding this
change!). The change adds five new fields to both the
TYPE1415 and TYPE64 data sets. While the fields are the
same, IBM used two different field names/acronyms:
TYPE1415 TYPE64 Description
name name
SMFIOREQ SMF64SIO Hiperbatch total searches/requests
SMFCHITS SMF64HIT Successful searches
SMFPHIOS SMF64MIS Misses; caused physical DASD I/O
SMFCIOS SMF64IOS Misses that were copied into buffers
SMFNMWTS SMF64WTS Suspends due to conflict other users
Change 08.016 TPX dataset TPXINTRV will have zero observations because
VMACTPX of mis-alignment in the subtype 2 or 4 records. After
Mar 22, 1990 line 040900 insert:
IF TPXVER GE 200 THEN INPUT TPX24LEN PIB2.
TPX24ID $CHAR2.
@;
Note: TPX24ID was printed in error as $CHAR4. in Newsletter
SEVENTEEN, but was correct in MXG PreRelease 8.2 and
later software. It should be $CHAR2. as shown above.
Thanks to Kari Strand, Televerkets EDB-tjeneste, NORWAY.
Thanks to Doug Mayward, Pharmaceutical Data Services, Inc, USA.
Change 08.015 New subtype 3 of the existing SMF type 41 record provides
EXTY41AC usage statistics of the Virtual Lookaside Facility (VLF).
EXTY41UN Interval records (15 min) are written for each class in
EXTY41VF your COFVLFnn member of PARMLIB that is currently in use.
VMAC41 MXG creates dataset TYPE41VF from this subtype, reporting
Mar 22, 1990 (for each VLF class used) the MAXVIRT size, the storage
used, counts when objects were found in, added to,
deleted from or trimmed from VLF during the interval,
the largest object attempted to be added to VLF since VLF
was started, and the VLF "pct found/hit ratio". Multiple
VLF classes (CSVLLA, IGGCAS, IKJEXEC) can exist in one
type 41 subtype 3 record; multiple observations with the
same SMFTIME will be created by MXG. This change deletes
the existing TYPE41 dataset built from subtypes 1 and 2
and in its place creates two: TYPE41AC (DIV Accesses)
and TYPE41UN (DIV Unaccesses), which now keep only the
variables specific to those DIV events.
Thanks to Dan Barbatti, Southwestern Bell, USA.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 08.014 These circumvention members (for SAS 344 compiler limit)
XMAC7072 did not keep ZDATE in all datasets and had a typographic
XMAC71 error.
Mar 22, 1990 1.In XMAC7072, add ZDATE to the KEEP list for TYPE70PR and
TYPE72MN datasets.
2.In XMAC71, remove the extraneous period before the final
semicolon in line 031800.
Thanks to Bruce Widlund, Texas Utilities, USA.
Change 08.013 DB2 data read from GTF did not have DATETIME21.2 format
VMACSMF nor LENGTH=8 for SMFTIME variable, but now _GTFDB2 macro
Mar 22, 1990 contains SMFTIME in both FORMAT and LENGTH statements.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 08.012 As noted in comments, type 79 support had not been tested
VMAC79 with real records. Now it has, and these changes will be
Mar 21, 1990 required to avoid STOPOVER or invalid data conditions.
1.These seven actions are SPF commands to be entered on the
command line while SPF EDITing member VMAC79 to make the
global changes (note that blanks ARE important):
a.EXCLUDE ALL
b.FIND ' = ' ALL (16 occurrences found)
c.CHANGE ' = ' '=' ALL
d.CHANGE ' BY ' '-1 BY ' ALL NX
e.EXCLUDE ALL
f.FIND ' LE LENGTH' ALL (21 occurrences found)
g.CHANGE ' LE LENGTH' '-1 LE LENGTH' ALL
2.Change line 013800 to read CYCLE ?? PD4.
3.Insert new line 015910 (after 105900) R79LF2 $CHAR1.
4.Change line 016200 to read R79RSV $CHAR2.
5.Change line 016900 to read R79IST ?? PDTIME4.
6.Change three occurrences in two lines of R792SLQR to read
R792LSQR.
7.These first six items bring the code up for MVS/ESA, but
for MVS/XA, other STOPOVER conditions are guaranteed, as
the code was only written for ESA. Guess what, though.
A real slick trick for MVS/XA execution (pointed out to
me by a user who got the trick from LEGENT's MICS) is to
execute with this code:
MACRO STOPOVER MISSOVER %
%INCLUDE SOURCLIB(TYPE79);
which will simply set the non-MVS/XA variables missing!
(I seldom use MISSOVER, because it does not tell you
that there were short records; I need STOPOVER so that
I GET the dump of the record, but is perfect here.)
Eventually, I may retrograde the code to support the XA
records, by breaking up the INPUT statement and inputting
conditionally the MVS/ESA variables, and thereby support
both MVS/XA and MVS/ESA type 79 data records, if that is
really necesary!
Thanks to Ron Thein, Mortgage Guaranty Insurance Corp., USA.
Thanks to Dan Barbatti, Southwestern Bell, USA.
Thanks to Randy Catlin, CENTEL.
Change 08.011 New member ZZZZZZZZ now exists as the last member of the
ZZZZZZZZ MXG library (AAAAAAAA is the first) so that it will be
Mar 15, 1990 easy to verify that all of the MXG Source Library ("from
AAAAAAAA to ZZZZZZZZ") has been successfully unloaded.
(Twenty new customers received incomplete MXG 7.7 tapes
from SAS before a customer discovered that only 1057 of
the 1100 members had been copied from our master tape!)
Thanks to Don Ehrig, Pearl Vision, USA.
Change 08.010 Support for NETSPY 3.2 was incomplete. NSPYVIRT (Virtual
VMACNSPY Route) variables APACING HOSTSUB OSTAGEP VRBLOCKD VRHELD
Mar 15, 1990 VRBHELDT VRBNSESS VROPEN VRBOPACT VRBPRTME were not input
and APPLID was replaced by SUBHOST. NSPYLINE variables
NSPDLY NSPDIALU NSPNMAXD NAPNMAXO NSPNANC NSPNCA NSPNNELS
NSPNPACE NSPNPLIM NSPNRTO NSPNSLIM were not input. These
un-input variables did not cause MXG to fail, they just
were not read in. Three other variables were actually
wrong and must be changes.
1.Line 052500 should read: BUF_UTIL=100 - FBLPCT;
so that minimum free buffers are used to calculate buffer
utilization (instead of average free buffers).
2.Line 059400 should read: COTPUTSZ PIB8.
(as PIB4., COTPUTSZ, Output Length, was always zero).
3.Move NETWADDR in line 009400 (in data set NSPYLU keep) to
line 008000 (in data set NSPYLINE keep list).
Thanks to Marty Quinlan, Virginia Power, USA."
for extensive validation.
Change 08.009 The %VMXGVTOR macro which invokes the FMXGUCBL function
FMXGUCBL was not correct. Changes made in VMXGVTOC (which is the
VMXGVTOR piece that actually reads the VTOC) were not propagated.
Mar 15, 1990 1.In member VMXGVTOR:
Jun 13, 1990 a. In lines 002200 and 002300 replace &I with &IVTOR.
b. Replace two lines 002500 and 002600 with these three:
PROC APPEND BASE=&LIB..VTOCLIST NEW=LIST FORCE;
PROC APPEND BASE=&LIB..VTOCMAP NEW=MAP FORCE;
PROC APPEND BASE=&LIB..VTOCINFO NEW=INFO FORCE;
2.The FMXGUCBL function was modified in MXG 7.7 (see page
17 of MXG Newsletter SIXTEEN), so the function would work
compatibly under either SAS 5.18 or SAS 6.06+, but it was
only tested under SAS 6.06! Under SAS 5.18, the MXG 7.7
FMXGUCBL returns a value too large by one. The following
change DOES work under either version of SAS and does let
a single assembly of this function to work witheither
SAS 5.18 or 6.06+. Change member FMXGUCBL lines 017400
thru 017500 so they now read:
MVC WORKAREA(4),=XL4'4E000000' 01740000 no change
LD FR0,WORKAREA 01741000 was SD FR0,FR0
XC WORKAREA+4(4),WORKAREA+4 01742000 new line
AD FR0,WORKAREA 01750000 no change
Thanks to Jeff Fox, SKF Inc, USA.
Thanks to David Fahey, SAS Institute Cary, USA.
Change 08.008 This is a complete revision of the text of this change
IMACVMON that was published in MXG Newsletter SEVENTEEN.
VMACVMON 1.The Q1SEC equation was wrong. The actual calculation
Jul 19, 1990 is Q1SEC=SUM(Q1TIME,E1TIME)/SUM(Q1DROPS,Q1); .
The lines affected by this change are:
a. After 035700, insert Q1SEC (to the KEEP= list)
b. After 082100, insert Q1SEC='AVERAGE*Q1SEC*DURATION'
c. After 146800, insert two lines:
DENOM=SUM(Q1DROPS,Q1);
IF DENOM GT 0 THEN Q1SEC=SUM(Q1TIME,E1TIME)/DENOM;
ELSE Q1SEC=.;
d. After 170000, insert Q1SEC (to the RETAIN list).
2.Comments in IMACVMON were added to stress the importance
of setting _INTRV macro value to equal your VM/Monitor
interval. If you leave the MXG default _INTRV value of
1 minute, but actually write records at 15 minutes, MXG
will throw away all USER and DASTAP data.
3.Variables PCTQUEDV/PCTQUECU were wrong, and instead of
containing the percentage of monitor intervals during
which there was a queue (as VM MAP calculates), these
MXG variables actually contained 100 times the average
number of entries in the queue. Now, they are correct and
should agree with VM MAP. The label for PCTQUEDV was
corrected and a label provided now for PCTQUECU.
4.The VM/370 SEEK (Class 7) reports in ANALVMDY do not work
and have not been fixed in MXG 8.7. It was re-packaged
incorrectly and causes syntax errors. Also, the logic to
match Seek address with the Mini-Disk directory may cause
ambiguous results, because it turns out that directory
entries can overlap. Pended for test data and test site.
Thanks to Bob Small, Grumman Data Systems, USA.
Thanks to George Ellard, Federal Express, USA.
Change 08.007 TSO/MON data set TSOMDSNS did not contain SYSTEM, and
TYPETSOM TSOMCMND had missing STRTTIME if there were enough users
Mar 19, 1990 logged on to create multiple System records for one
interval. (The TSOMSYST data set was protected by retain,
but the restore logic was after TSOMCMND was output.)
1.Add SYSTEM to keep list at line 005200.
2.Move three lines 084200 thru 084400 (which restore
STRTTIME,ENDTIME,and MAXUSERS from TSOMSTAR,TSOMENDT,and
TSOMAXUS) to immediately after line 072700 (before the
COMNDTYP='00'X; statement.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 08.006 TYPEIMS IMS Log processing had missing values if IMS
TYPEIMS crashed repeatedly, due to duplicate DTOKEN values.
Mar 19, 1990 1.Move IMSTAPNO in lines 035400 and 035800 to make the line
read: BY IMSTAPNO DTOKEN PSTNUMBR TRANSACT IMSRECNO;
2.Insert IMSTAPNO in line 036900 to make the line read
BY IMSTAPNO DTOKEN;
3.Move IMSTAPNO in lines 094900 and 095300 to make the line
read: BY IMSTAPNO DTOKEN ARRVTIME GUTIME IMSRECNO;
4.Insert IMSTAPNO in line 108300 to make the line read
BY IMSTAPNO DTOKEN;
Thanks to Pete Shepard, Ashland Oil, USA.
Change 08.005 IDMS Performance Monitor SMF record variables PGMTYPE,
VMACIDMS TASPTYPE, and TASTTYPE were kept as 8-byte variables and
Mar 15, 1990 with $HEX2. format. They should have been 1-byte length
with the $MGIDMPP, $MGIDMTT, and $MGRTEPT formats. Also,
the IDMSDBK data set was never output.
1.Delete the semicolon at the end of the LENGTH statement
in line 072000, and insert this new line
PGMTYPE $1. TASPTYPE $1. TASTTYPE $1.;
to force their length to only one byte, and then also
2.Remove these same three variable names from line 072400
(where the $HEX2. format overrode line 072000).
3.Change line 154800 from EXIDMCDM to EXIDMDBK.
Thanks to Mike Eisenhart, York International, USA.
Thanks to Mark Robbins, Jaguar Cars, ENGLAND.
Change 08.004 Candle's OMEGAMON/VM for VM/XA has an option to reformat
VMACVMXA IBM's MONWRITE data records into a Variable Blocked (VB)
Mar 15, 1990 file. Unfortunately, their program did not create valid
VB format records. They incorrectly added an extra RDW
(Record Descriptor Word of 4 bytes) in front of the real
RDW (does this make the record a VVB format!).
Because VB records are easier to work with during testing
and because it was hoped that IBM would eventually change
MONWRITE to create legitimate VB data files, MXG's VM/XA
support defined the _OUTFILE macro, that does create true
VB data records from IBM's MONWRITE records, and MXG's
_VMINPUT macro was defined to process those (future!) VB
records. With only a minor change, MXG's _VMINPUT macro
can be modified by Candle sites to process those invalid
"VVB" format data. Candle has acknowledged their error,
and announced that a permanent solution (i.e., correct
VB record format) would be provided in their next release
of VCOLLECT in their Version 4.10, in second quarter 90.
Before 4.10, Candle sites can read the "VVB" data by the
followin new line inserted after 769000 (ends a PUT that
precedes the INPUT MRHDRDM ... ), skipping over the RDW:
INPUT +4 @;
BUT THIS CHANGE IS ONLY FOR CANDLE "VVB" PRIOR TO 4.10.
IT MUST BE BACKED OUT WHEN YOU INSTALL THEIR 4.10.
Candle's VCOLLECT Incident Number is 81696.
2.To read real VB data (either from Candle 4.10 or using
MXG's _OUTFILE), if you have installed the IBM PTFs that
are described in Change 7.219, you will need to add this
correction (unrelated to the Candle problem, but observed
while debugging the Candle-created problem):
The following line must be inserted after line 769600:
LENGTH=LENGTH+4;
(immediately before the MRHDRLEN=LENGTH; statement), to
set LENGTH to the physical instead of logical record
length, as expected by MXG's MONWRITE logic.
Thanks to Mark Flugrath, WVNET, USA.
Change 08.003 DASDMON data sets did not have SMFTIME and ZDATE in their
VMACDMON KEEP= list, causing uninitialized variable error in the
Feb 26, 1990 ANALDMON report program. Now they do.
Thanks to Danny High, Blue Cross Blue Shield Texas, USA.
Change 08.002 ACF2 ARE data segment had two bytes not read, causing a
VMACACF2 STOPOVER condition. If the ARE did not exist, a program
Feb 23, 1990 loop could occur.
Mar 22, 1990 1.Insert two new lines, after line 052000 and 054200 (both
of which are ACLFLDNM $CHAR8.). The new lines contain
+2
(thereby skipping over two bytes after ACLFLDNM).
2.Change line 051500 to now read:
IF ACLAFARE GT 0 AND ACLMFLGS NE '...1....'B THEN DO;
3.Change line 053700 to now read:
IF ACLBFARE GT 0 AND ACLMFLGS NE '..1.....'B THEN DO;
Thanks to Roman Gudz, Leaseway Transportation, USA.
Thanks to Steve Cavill, SAS Institute, AUSTRALIA.
Change 08.001 The first step of JCLTEST builds the MXG Format (SASLIB)
JCLTEST library. MXG 7.7 (unlike previous versions) requires the
VMACIMS SAS option MACRO in building formats (added to support
Feb 23, 1990 both SAS 5.18 and SAS 6.06+). Either specify MACRO on
May 5, 1990 the EXEC statement or use PROC SETINIT to set the default
to MACRO. Other MXG uses of the "new" %MACRO facility
also require DQUOTE to be similarly enabled. For the DB2
reporting and some of the Trend Data Base programs, the
option MWORK=28K (which sets the size of the macro work
area) prevents an "Excessive Parameter Length" error.
MXG now requires these SAS System options:
MACRO DQUOTE MWORK=28K GEN=0
For DB2 reporting (ANALDB2R) additional options are also
suggested (see comments in that member).
The two PUT statements that contained double quotes in
VMACIMS (requiring DQUOTE in step TESTOTHR) were changed
to single quotes.
LASTCHANGE: Version 8
End of Changes Log.
=========================member=CHANGE07================================
/* Copyright (C) 1984, 1990 Merrill Consultants Dallas Texas USA */
/************************ CHANGES ******************************/
This is the production MXG Version 7.7, dated February 15, 1990.
The Production Version 7.7 of MXG was shipped during the last week of
February, 1990, to all supported MXG sites.
MXG Version 7.7 is dated February 15, 1990, thru Change 7.247).
(Newsletter SIXTEEN dated February 14, 1990, thru Change 7.243).
(PRERELEASE MXG 7.6 dated January 29, 1990, thru Change 7.228).
(PRERELEASE MXG 7.5 dated December 22, 1989, thru Change 7.207).
(PRERELEASE MXG 7.4 dated November 25, 1989, only for an ESP).
(PRERELEASE MXG 7.3 dated November 25, 1989, thru Change 7.190).
(Newsletter FIFTEEN dated November 11, 1989, thru Change 7.165).
(PRERELEASE MXG 7.2 dated October 19, 1989, thru Change 7.161).
(BETA test MXG 7.1 dated September 14, 1989, thru Change 7.140).
(BETA test MXG 7.0 dated May 31, 1989 thru Change 7.098).
(Newsletter FOURTEEN dated April 1, 1989, thru Change 7.035).
Previous Version 6.6 dated January 20, 1989, had 206 changes.
Operating System and Subsystem Version.Releases supported in MXG 7.7:
MVS/ESA thru 3.1.3 and DFP thru 3.2.
CICS thru 2.1.
DB2 thru 2.2.0.
RACF thru 1.9.
VM/370 thru Release 6 and HPO thru Release 5 (no known problems).
VM/XA SP thru 2.1 plus later PTFs.
IMS 2.1 and IMS 2.2 (see special note for 1.3).
New Devices Recognized and/or supported in MXG 7.7:
3490 and 9348 tape drives (cart and reel respectively) recognized.
3480/3490 Tape Compression (IDRC) recognized.
3390 DASD devices recognized and counted in EXCP3390/IOTM3390.
Most important new enhancement in MXG Version 7.7:
MXGTMNT, the long awaited MXG Tape Mount Monitor, captures how long
operators take to mount tapes, and identifies which job mounted what
tape on which tape drive when, with no system modifications. The
monitor wakes up every 2 seconds to scan the UCB chain, and writes
a User SMF record when each tape mount is satisfied.
Alphabetic (by acronym, of course) list of major changes, enhancements,
and new products/versions now included and supported in MXG 7.7:
ACF2 'ARE' data sets captured.
AION Development System SMF record from AION.
VSAM activity included with non-VSAM in ANALDSET I/O analysis by job.
ARBITER SMF records from Tangram product.
CMF and RMF records can now be differentiated.
CPU Serials added to RMFINTRV.
DB2 Audit Class trace type 102 records.
DB2 SQL text ("what he typed in") is captured.
DB2PM-like reporting enhancements for DB2 2.2 in ANALDB2R.
DFP 3.2 TYPE42 SMF record.
DOS/VSE Power 3.1.2.
FILEAID SMF record from COMPUWARE product.
GTF format DB2 trace data supported.
ICF TYPE6156 VOLSER capture and enhancement.
IDRC (Improved Data Recording Compression) for 3480/3490 tapes.
IMS 1.3 transaction processing: see Change 7.075.
IMS 2.0 and IMS 2.1 response measurement corrections.
JES2 mods to capture SYSOUT release timestamp in type 6 SMF record.
MDFTRACK SMF record from Amdahl MDF environment.
MVS/ESA 3.1.3 SMF and RMF records.
MVS/ESA CPU timings in step records.
NAF SMF record from Candle's Network Accounting Facility.
NETSPY Release 3.2 SMF record.
NETVIEW TYPE37 Release 2 Hardware Monitor External Log Record.
NETVIEW TYPE39 Release 2 Session Monitor External Log Record.
OMEGAMON Command Audit SMF record from Candle.
PDB.STEPS contains STEP accounting fields (if any).
PDSMAN/XP Release 6 SMF record.
RACF 1.9 (based on SMF 3.1.3 manual) SMF records.
RMF Monitor II Type 79 SMF record (fourteen subtypes).
RMF Monitor III VSAM data set records and TYPE72MN enhancement.
ROSCOE 5.6 support for variable number of complexity levels.
STOPX37 Release 3.3 SMF record from Empact product.
STX Release 1.0+ supported.
TLMS (Tape Library Management System) catalog records.
TMON/MVS data records (non-SMF) from Landmark's Monitor for MVS.
TMS (Tape Management System) catalog records.
TPX Release 2.0.0 SMF supported.
TREND data base validation and enhanced report examples.
TSO/MON Version 5.2 SMF record from Legent product.
VM/XA SP 2.1 plus PTFs, and protection for VCOLLECT environment.
VMXGVTOC enhanced for VSAM with 128 extents and DASD VTOC data.
VSAM TYPE64 PTF to add important data for Hiperbatch aid.
Validation and cleanup of all reported MXG 6.6 errors.
Pre-release by pre-release delta of changes (for testers, thanks!):
Significant changes added in 7.7 that were not in 7.6:
Support for Release 3.3 of Empact's STOPX37 product.
IMS 2.2 algorithm enhancements improve IMS log response captured.
ANALDB2R updated for DB2 2.2 (most reports, except DDF).
Lots of final cleanup from pre-release testing.
Significant changes added in 7.6 that were not in 7.5:
Support for all 14 subtypes of the type 79 RMF Monitor II record.
Support for VM/XA SP 2.1 plus new PTFs, and integrity enhancements.
Enhanced decoding of TYPE6156 ICF Catalog record to add VOLSER(s).
Support for Candle's Network Accounting Facility SMF records.
Support for Legent's TSO/MON Version 5.2 added.
Support for Landmark's TMON/MVS product.
Significant changes added in 7.5 that were not in 7.3:
Support for MVS/ESA 3.1.3, including the major enhancements in type
6 SMF record and a new type 42 DFP and 83 RACF SMF records.
Support for the VSAM PTF changing SMF 64 record (for Hiperbatch Aid)
Support for DB2 Release 2.2.0 changes to 100, 101, and 102 records.
Support for Netspy Release 3.2.
Support for PDSMAN/XP Release 6.
Validation of NETVIEW type 37 SMF record modem section.
Correction of JES3 type 6 (prerelease only) error.
Significant changes added in 7.3 that were not in 7.2 or Newsletter 15
DB2 I/O, Locking, and Record Trace reports added to ANALDB2R.
MVS/XA & ESA Pathing configuration and activity report in ANALPATH.
3390 DASD device support is official (support is already in 7.2).
RMDS pagecounts are fixed.
D3330DRV (mountable drive count) eliminated from 30s and PDB.
GTF format DB2 type 102 trace data now correct.
VMXGVTOC cleanup (deletes to clean WORK, last track counting, etc.)
TPX Release 2.0.0 new release supported,
STX Release 1.0+ new product supported.
Prior changes added in 7.2 and earlier are listed in Newsletter 15.
Documentation of enhancements in MXG Version 7.7.
Details on enhancements, and their impact will usually be found in the
text of the actual Change description itself.
While Changes can and should be read in the printed Newsletter, it is
very helpful to use SPF BROWSE/EDIT to scan the online documentation
available in member CHANGES of the MXG Source Library interactively.
Member CHANGES contains the current MXG version status and changes that
have been installed in that software. Member(s) CHANGEnn are copies of
member CHANGES as it stood when MXG version nn was created.
In addition, the Change Number lists the member(s) affected by that
change. Browse those members, especially the ANAL...., IMAC...., and
VMAC.... members for further documentation and usage notes.
Member NEWSLTRS contains the text of all newsletters (including the
newsletter that accompanied that MXG release). You can usually search
on product name or acronym to find the MXG acronym and member names
that document, support, and process that product's data records.
Member DOCVER07 contains abbreviated Chapter FORTY style documentation
of just those variables and datasets that were added by MXG Version 7.7
since MXG Version 6.6, the "delta-documentation". For example, you
could browsing DOCVER07 for the TYPE70 thru TYPE79 (RMF) dataset
descriptions, to learn what new information IBM has added to RMF data
records. There is a DOCVERnn member in the library for each version.
Penultimately, member DOCVER contains abbreviated Chapter FORTY format
documentation of ALL 22,277 variables from the 679 MXG data sets that
can be created by MXG Software Version 7.7 (alphabetically by data set
name and variable name).
Finally, MXG is a source distributed system, so you can often find your
answer by BROWSE/EDIT of the source member, especially the VMAC...'s
that actually create the data set, or ANAL....'s that create the MXG
report. In many instance, the MXG Variable is the IBM or Vendor's
documented field name. In other cases, the IBM field name is carried
as a comment beside the MXG variable that contains that information.
In looking thru MXG library members online, try these SPF techniques:
Make a COPY of member CHANGES (don't use the actual member, because
you will use an EDIT command, which can delete/change data
accidentally).
For example:
EDIT a non-existent new member and COPY in (for example) CHANGES.
On the command line, enter EXCLUDE ALL.
On the command line, enter FIND "VM/XA" ALL , for example.
which will result in your display containing only those
lines that contain VM/XA.
You can then un-exclude the lines before and after each occurrence
by typing L5 or F3 on the line number of the excluded lines to now
display or un-exclude the Last 5 or First 3 lines.
When done, CANCEL from the command line and nothing will be written.
The use of SPF commands EXCLUDE ALL and FIND ALL is a major tool in
creating and maintaining MXG software. It's especially useful is
scanning through a large number of lines of text, like MXG CHANGES
and NEWSLTRS members. Unfortunately, it is only available as a
subcommand of EDIT; you cannot EXCLUDE under BROWSE.
2. Installation sizing and instructions for MXG 7.7.
The MXG Installation instructions are found in Chapter 32 of the MXG
Supplement for version replacement as well as new install.
The MXG tape still is distributed as a Non-Labelled (NL) tape with a
single file, DCB=RECFM=FB,LRECL=80,BLKSIZE=6160, containing an
unloaded Partitioned Data Set containing 1100 members (and about
220,000 lines of source) in IEBUPDTE format. Under CMS/SAS this format
is known to the TAPPDS command instead of the MVS IEBUPDTE program.
At 303 feet of 6250BPI tape, MXG no longer fits on those little
half-full minireels with 300 feet of tape. (They were only $6.50 each
when a full 600 foot reel was $11.75, and in 1984 MXG Version 1 was
only 99 feet long.) Now, for those of you who are still in those dark
ages and require MXG on 3420 tape reels, MXG arrives on that same 7
inch mini reel, but now it's full (and 600 feet now costs $6.50!).
If you received a mini-reel instead of a 3480 cartridge, please
let us know as soon as you can accept 3480 tape cartridges.
We can create about 250-300 cartridges per hour, but only about 100
of the reels per hour, and they have more errors! And cartridges
are only $5.75!
Judy still holds the world land speed record of 11 seconds per 3420
tape mount building MXG Version 4.
The MXG Version 7.7 SOURCLIB requires SPACE=(CYL,(30,1,199)) with
a DCB attribute of DCB=RECFM=FB,LRECL=80,BLKSIZE=23440.
The MXG Version 7.7 SASLIB format library (built by the first step
of JCLTEST) requires SPACE=(CYL,(2,1,99)) and the blocksize is
set when JCLTEST's first step is run.
See the comments below in the Changes log for compatibility issues
with installation tailoring IMAC.... members.
Pre-releases of MXG 7.7 have been installed by over 400 sites this
year, and no real problems in installation have been encountered.
The major portions of all the important code have been running in a
production status at many sites for months. MXG 7.7 has been better
tested than any of the preceding 28 releases, but as it must always
be, it's up to you to validate with your own data.
III. CHANGE LOG
==========================Changes Log=================================
You MUST read each Change description below to determine if a Change
will impact your installation. All of these changes have been made
to this MXG Source Library.
Member CHANGES of the MXG SOURCLIB will always be more accurate than
the printed changes in a Newsletter, because the software is 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 printed NEWSLETTER (which might have
printed only the easily installed, critical part of the correction).
Always read the comments at the beginning of each source member named
under the Change Number when you receive a new Version of MXG.
Documentation of new datasets and variables, validation status, notes,
etc., are usually in comments in the source members.
If you have to install printed changes from an MXG Newsletter, you
could copy the affected member(s) from MXG.SOURCLIB into your existing
USERID.SOURCLIB and then make these changes therein.
Or alternately, you might create a new PDS, named MXG.CHANGLIB, and put
these in-between-version changes in that PDS, concatenating it between
USERID.SOURCLIB and MXG.SOURCLIB until you get the next MXG version.
When you do, you then delete this MXG.CHANGLIB library, as the changes
will have been installed for you in the new MXG version. It is wise to
record your changes in a member named CHANGES in the installation's
USERID.SOURCLIB as a permanent log of tailoring, etc.
Whenever you install changes or test a new version of MXG (or even for
your own reports), be extra careful to look on the SAS log for any real
error conditions. Search for all occurrences of "ERROR:" "ERROR :"
"UNINITIALIZED" "NOT CATLGD", as they usually indicate a serious error.
PROC PRINT and PROC MEANS of each new MXG-built SAS dataset will go
a long way in explaining their contents, and can be examined to detect
unusually large, negative, or suspicious values.
Summary of critical actions to be taken in installing new version:
a. All IMAC.... members in your USERID.SOURCLIB must be compared
with the new IMAC.... members, and if there is a difference,
you MUST start with this version's IMAC and retrofit your
installation changes. This is especially critical for IMACPDB
and IMAC30IO which were changed by several changes.
b. It is always wisest to PROC PRINT the first 50 observations of
critical datasets created with the new version. A visual scan
will easily confirm if there were unexpected changes. This is
especially important for PDB.JOBS, which can be affected by
user tailoring in IMACPDB.
Completed changes which have been installed and tested in this library:
NEXTCHANGE: Version 7
Change 07.247 Amdahl MDF record fields DOMMIN,MAX,TGT,ATGT,DUTIL,NORM,
VMACMDF SUTIL,UTIL should have been input as PD4.2 instead of
Feb 15, 1990 PIB4., and now they are.
Thanks to Vince Loeffler, G. D. Searle, USA.
Change 07.246 QA runs uncovered TMON/MVS variables JISTART and STARTIME
VMACTMVS that should have been set to LENGTH 8 (because they are
Feb 15, 1990 datetime stamps). Now they are, and ZDATE is now kept.
Change 07.245 TSO/MON will capture member names of PDS data sets that
VMACTSOM TSO users access, but MXG kept only the first eight names
Feb 15, 1990 in MEMBER1-MEMBER8 (and also did not re-initialize). Now,
multiple observations are created when necessary so that
all member names referenced are in TSOMDSNS dataset.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.244 DASD/MON support did not keep two variables, RSRCNT and
VMACDMON RFTCNT in the DMON.... data sets, but now it does.
Feb 15, 1990
Thanks to Greg Scriba, First National Bank of Chicago, USA.
===========Changes thru Change 7.243 comprised MXG Version 7.7=========
-Newsletter SIXTEEN accompanied MXG Version 7.7 to Merrill's customers-
Change 07.243 Alpha testing of TSO/MON release found that USRTHKTM had
VMACTSOM been INPUTed with TU4. format but then was inadvertently
Feb 12, 1990 also divided by 38400. (Before TU4. format existed, you
had to INPUT PIB4. and then divide that by 38400 to get
a TU4. data field into a SAS Time/Timestamp variable).
I probably should change all the old "PIB4./38400" fields
to TU4. and delete all of the /38400 lines, but that is
too risky a fix (and totally unnecessary in execution)
this close to production shipment, so I chose to change
the TU4. back to PIB4. At a later time I will make
and test the mostly-cosmetic change from "PIB4./38400"
to TU4.!
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.242 PDB logic and user tailoring are controlled by IMACPDB,
IMACPDB (which must always be from the same version of MXG as is
Feb 8, 1990 the BUILDPDB/BUILPD3 member being executed). Two changes
were made:
-The new _SUMPRN macro allows users to name additional
variables in TYPE6/PDB.PRINT data sets that are to be
summed in that job's observation in PDB.JOBS. Not likely
needed at most sites (but requested by a few), it should
have been there along to be consistent with the other
standard PDB-build data sets.
-The archaic PROTECT= option was externalized in MXG 6.4
into macro _PROTECT so sites could disable protection.
SAS Version 6.06 does not have a PROTECT= option, and
when you execute under SAS 6.06 with PROTECT= specified,
you get a NOTE: that the option is no longer supported,
and a condition code of 04 is set by SAS 6.06! This part
of this change creates a temporary new style %macro
%VMXGPRO which detects SAS version and does not supply
the option when you finally execute under SAS Version 6!
The comments have been revised in this important member
for user's wishing to tailor MXG PDB data sets:
Installation exit IMACPDB to control the Performance Data Base.
This member externalizes macros critical to building your PDB.
Most sites should not have to change this member, unless they
want to tailor the contents of the standard MXG PDB data sets.
If you tailor member IMACPDB, you must ALWAYS update that old
tailoring starting with the new IMACPDB member in a new version
of MXG. IMACPDB and BUILDPDB/3 must be at the same MXG version!
These following macros are defined here in IMACPDB and referenced in
either BUILDPDB or BUILDPD3. Please read comments carefully before
changing the contents of these macro definitions, and scan CHANGES.
Macro Purpose/Description
_PDB6 List of variables kept from TYPE6 in PDB.PRINT.
_PDB26J2 List of variables kept from TYPE26J2 (JES2) in BUILDPDB.
_PDB26J3 List of variables kept from TYPE26J3 (JES3) in BUILDPD3.
_PDB30_1 List of variables kept from TYPE30_1 in PDB.
_PDB30_4 List of variables kept from TYPE30_4 in PDB.
_PDB30_5 List of variables kept from TYPE30_5 in PDB.
_SUMPRN Subset of _PDB6 variables to be summed into PDB.PRINT.
_MAXSTP Subset of _PDB30_4 variables to be MAXed into PDB.STEPS.
_MINSTP Subset of _PDB30_4 variables to be MINed into PDB.STEPS.
_SUMSTP Subset of _PDB30_4 variables to be summed into PDB.STEPS.
_PDBADD2 List of PDB.JOBS variables back-merged into PDB.STEPS JES2
_PDBADD3 List of PDB.JOBS variables back-merged into PDB.STEPS JES3
_PDBSUMS Externalized logic of MXG summing algorithms, should only
be changed if _MAXSTP or _MINSTP are changed. Careful!
_NODUP Archaic, needed before SAS 5.16 to disable NODUP option.
Since 5.16 is dead, default now enables NODUP option for
all PDB datasets that are SORTed in BUILDPDB. The CICS
datasets from type 110 are not sorted by BUILDPDB.
_PROTECT Archaic default enables PROTECT=ZZZZZ for most PDB data
sets. The PROTECT option goes away in SAS 6.06, and MXG
will recognize execution under 6.06 and will not supply
the option (thereby avoiding an otherwise unavoidable
SAS NOTE: on your log, and a condition code 04!).
Change 07.241 VM/Monitor USER records do not indicate if a LOGON event
VMACVMON occurred. MXG attempted to detect a LOGON in processing
Feb 8, 1990 User interval records by testing the deaccumulated value
of each variable. If a LOGON occurred, its interval data
values should be less than the accumulated resources in
the preceding record from this user. However, two of the
user fields used in LOGON detection are only two byte
counters, which can wrap/overflow inside VM/Monitor, and
when either DRPCANUS or DRPPOPUS overflowed at the wrong
time, MXG falsely detected a logon event, and this caused
incorrect TTIME, VTIME, etc. values. Now, MXG's algorithm
for LOGON detection no longer uses the DRPCANUS/DRPPOPUS
two byte counters.
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 07.240 TSO/MON Release 5.2 shipped in January 1990 will require
VMACTSOM Legent's maintenance tape TSM9002 to correct problems in
Feb 8, 1990 their capture of service units. TSO/MON Release 5.2 that
is accompanied by a Ship Letter Dated Feb 5, 1990 or
later already contains TSM9002 (which corrects errors MXG
found testing a Legent-supplied early beta test tape).
The support for TSO/MON 5.2 required an additional MXG
change, which could impact the existing MXG variables
SWAPHIGH SWAPSIZE TSMPSIMX TSMPSISZ TSMPSOMX
TSMPSOSZ TSMSIMAX TSMSISIZ TSMSOMAX TSMSOSIZ
which contain the swap sizes and maximum swap sizes
in both TSOMCALL and TSOMSYST data sets. Prior to 5.2
TSO/MON recorded the number of 2K blocks, but now TSO/MON
TSO/MON records the number of 4K pages. Since all of the
swap sizes and high water marks are actually
measures of storage (bytes, frames, pages, KB, MB, etc.)
which can be printed accurately and uniformly with MXG's
MGBYTES format, all of these old variables are now
converted
into bytes and formatted with MGBYTES. Unless you test
the value of those variables or calculate other report
variables, the only impact will be that the size will be
printed 396K instead of 99 pages (5.2+) or instead of 198
2K blocks (5.1 and earlier). This fix also preserved old
variables SWAPSIZE, SWAPHIGH, NRSWAPS to protect reports,
but now swaps are split into two variables each for
In/Out.
I firmly believe presenting KB, MB, GigaBytes, and their
rates per second is far more communicative than using
units of pages, frames, slots, etc., for both the swap
size of a single user (which might be 200K, 400K, etc.),
and for the total swapping load (which might be 9000G
for a 15 minute interval, or 10 MB/sec to/from if 100
100K users are swapped once per second). By expressing
these transfers of data between memories in MB/sec or
similar consistent units, comparisons with channel speed,
memory speeds, etc. become clearer, not just in TSO but
in all subsystems in all operating systems.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.239 Change 7.142 for PR/SM environment corrected CPUWAITM if
VMAC7072 the number of LPARS was greater than the number of real
Feb 8, 1990 processors. That fix also corrects an error in CPUWAITM
when CPUs are varied ONLINE or OFFLINE under PR/SM.
In verifying that the fix solved both problems, it was
noted that the fix was made only to PR/SM SHARED,WAIT=NO
environment (the normal, expected use of PR/SM). Although
no one has ever (nor likely will ever) specified WAIT=YES
for their PR/SM partition, the fix of 7.142 was applied
to lines 136200-141000.
Thanks to Lou DeRosa, Commercial Union, USA.
Thanks to Igor Polevoy, Commercial Union, USA.
Change 07.238 Several collected changes to various things.
ANALAUDT 1.ANALAUDT line 01500001 should be RACFQUAL=107 instead of
Feb 7, 1990 RACFEVNT=107.
2.Misspelled SMF6LN3 now correct in text of Change 7.105.
3.VMAC37 variables BRFMODEL and BRFTYPE removed from keep
list, as they did not exist.
4.VMAC102 variables QW0080CK,QW0082CK and QW0082F1 are now
formatted $HEX2. for printing.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.237 -NETVIEW NPM Type 28 records occasionally produce MXG note
VMAC28 "nonzero AOF segment for NPMSUBTY F1 (NPM End)". In the
Feb 7, 1990 two dumps viewed, the AOF triplet does point to a data
segment, but it contains trashy data (like an uncleared
buffer?). There is no AOF segment documented for the F1
subtype (and none expected; this is the stopping of the
NPM monitor). It sure looks like an IBM coding error in
NETVIEW/NPM, but since it's only impact is the note on
the MXG log, and because this is not important, no one
has gone thru the tedious process of several calls to the
support center Level I and Level II until they find that
no reported problem exists and IBM then issues an APAR,
(Authorized Problem Activity Report), which is IBM's
acceptance of the problem, and then they wait for the IBM
Product Change Team to produce the PTF (Program Temporary
Fix), that now must be installed (a change, with its
exposure to breaking something that was already fixed).
Hoping it eventually goes away or gets reported, you can
ignore the note for the F1 subtype.
-Variable BASTIME does not exist in subtype 51x and 61x,
causing INVALID ARGUMENT FOR INPUT FUNCTION. INFO/SYS
entry E337883 confirms these values are zero for those
subtypes. MXG now causes BASTIME to be missing for those
subtypes. Update Nov 2001: See Change 19.221.
Thanks to H. Beer, Hessische Landesbank, GERMANY.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 07.236 Support for Empact's STOPX37 Product Release 3.3 added
VMACX37 new variables STEPNAME,PROCSTEP,VMEXTS,VSCLUST,VSCOMP,
Feb 7, 1990 VSTYPE, and VSDTYPE and corrected the length of SELECTBK,
ACTIONBK, and ACTION37. The Empact supplied SAS code for
3.3 is incorrect for at least one field, and this support
has not yet been tested with actual 3.3 records.
Thanks to Duane Reaugh, Empact Software, USA.
Change 07.235 DB2 discoveries and enhancements support DB2 2.2.0:
ANALDB2R 1.DB2STAT0 and DB2STAT1 records have slightly different
VMACDB2 values for QWHSSTCK (time stamp). To associte the two
VMAC102 records from the same interval, MXG carries the subtype
Feb 6, 1990 0 QWHSSTCK into the subtype 1, unless the absolute time
Feb 8, 1990 delta between the 0 and 1 subtypes was greater than one
second (to detect when the previous 0 is the last from
one SMF file and the new subtype 1 is the first from this
system). I assumed one second delta would be enough, but
it is not! One site sent these data for adjacent SMF
type 100 records:
Subtype SMFTIME (SMF) QWHSSTCK (DB2)
0 33:42.55 33:42.4624
1 33:43.69 33:43.6992
a. DB2 STCK to SMF buffer delta time is 90 millisecs.
This possibly represents the elapsed time for DB2
to collect and pass the subtype 0 to SMF.
b. Delta from STCK of 0 to 1 is 1.25 seconds between
DB2 time stamps AND delta from SMFTIME is 1.14
seconds suggest a momentary glitch delayed DB2.
As a result, the THISSTCK check in VMACDB2 now tests for
a delta of 60 seconds between subtype 0 and 1 before a
mis-match is declared. (No records are lost).
2.The DB2ACCT, DB2STAT0, and DB2STAT1 data sets now contain
the 16-byte DDF variable QWHSLOCN (This Location Name) if
this DB2 is part of a Distributed Data Facility network.
3.QWHSLOCN was also added to all T102Snnn trace datasets.
In the trace record, for DDF, there is a new header with
several new DDF fields (including QWHDRQNM, the location
name of the Requestor/Server DB2), which is decoded, but
kept only in the T102S106 dataset. Location names are
$CHAR16. fields (though in the pre-release, QWHDRQNM was
incorrectly $CHAR8.).
4.Type 102 trace subtype 106 T102S106 variables QWP9....,
for DDF are now created and decoded.
5.Variable QXNSMIAP in VMACDB2 is now spellec QXMSMIAP.
6.The CPU time of the 4th address space (DDF) is created
in QWS4EJST and QWS4SRBT and is added to DB2CPUTM.
7.New member XDB2HDR is a debugging aid that decodes the
type 102 record header(s). Hopefully you won't need it!
8.DDF may create multiple segments in type 100 and 101
records (NRQTXA and/or NRQLST greater than 0), but MXG
currently only processes the first segment. Once we have
real DDF data in hand, we'll decide what to do (i.e.,do
we create multiple variables, or multiple observations?).
9.EDM pool reports from variables QB1TCBA-QB4TCBA and
QISEPAGE,CT,FREE,DBD, and SKCT were incorrect (only the
ANALDB2R report was wrong; the values were correct in
the DB2STAT0 data set), and have been fixed.
10.ANALDB2R (DB2PM-like reporting) has been updated thru DB2
Release 2.2.0. The status of all DB2 reporting is in the
comments in member ANALDB2R. Only the SQL TRACE and the
Transit Trace reports were not completed in MXG 7.7. The
reports are generally updated for DDF fields, but we have
had no test DDF data. In all trace reports from DB2PM in
DDF environment, QWHDRQNM, (DDF location) is printed in
the header, but not all MXG trace reports have this one
field (although the system parameter report and other
important reports have been updated.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 07.234 MXG Algorithms to process IMS log records into IMSTRAN
IMACIMS observations now are further enhanced. Variables MODNAME,
TYPEIMS NODENAME, MSGSIZIN, MSGSIZOU, ODEST, and DTOKEN should no
VMACIMS longer be occasionally missing; incorrect KEEP/DROP logic
Feb 5, 1990 in VMACIMS was changed. A new macro, _IMSVTAM, is now
defined in IMACIMS to indicate if VTAM is your IMS access
method (default _IMSVTAM is yes). For IMS 2.2 or later,
VTAMNODE will be captured. Output queue time was missing
sometimes because CLINENR was set to LINENR/TERMNR but in
VTAM environment NODENAME/VTAMNODE should have been used;
now CLINENR is set appropriately. The response times for
WFI and multiple transactions per program schedule were
sometimes missing, because only one observation was
created for type 35 events, but a type 35 could be both
the end of one transaction and the start of a second;
MXG now creates multiple observations when appropriate,
and this new logic seems to have closed that loophole.
I keep hoping each IMS iteration will be the last, yet
I know it never will be. This one, though, was a cleanup
of many small problems which have existed since Pete
re-vamped the original MXG algorithms in 1988! These
changes have been well tested on IMS 2.2 and tested on
2.1 data, but not yet on IMS/ESA 3.1 data records.
A new debugging macro _IMSDBUG that provides a decoded
trace of each IMS log record used in MXG logic is also
defined and described in VMACIMS.
Thanks to Pete Shepard, Ashland Oil, USA.
Thanks to Ervin Claxon, Ashland Oil, USA.
Change 07.233 VM/370 Monitor MXG dataset VMONPERF variables Q1LOGDRP
VMACVMON and Q1LOGDRP were documented in the MXG Supplement p 551f
Feb 5, 1990 as being renames of MN002Q1B/MN002Q2Bm but the change was
not made in VMACVMON until now.
Thanks to Bob Small, Grumman Data Systems, USA.
Change 07.232 Landmark's MONITASK record for TRANSACT='OVHD' does not
TYPEMONI contain User segments, and the second fix in Change 7.108
Feb 5, 1990 is now added permanently to prevent STOPOVER when reading
Landmark-created summary files. Note that OVHD transact
do not exist in the "raw" (normal) Landmark records.
Change 07.231 The new-style macro %GRAFRMF was both defined in this
GRAFRMFI member, and automatically invoked as the last line of
Feb 2, 1990 the member, preventing you from passing/changing any of
the macro arguments for RMF reports from RMFINTRV. Now,
the member only defines the macro, and no longer invokes
it for you.
Change 07.230 The variables kept in PDB.STEPS did not include the nine
IMACPDB variables documented on page 278 of the MXG Supplement:
Feb 2, 1990 JOBCLASS,LSQSZHI/LOW,PVTSZHI/LOW,RDRDEVT,REGREQST, and
USRSZHI/USRSZLOW that were supposed to have been added
back in Version 5! Now they have been added to the list
(in the MACRO definition for _PDB30_4 list in IMACPDB).
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 07.229 TYPE70PR (PR/SM only) variable PRSMSLIC (dispatch time
VMAC7072 slice duration) and flag variables DIAG204F, NRPRCHGD,
Jan 30, 1990 and SLICCHGD (X'204' failure, number of processors were
changed, or time slice was changed respectively) were not
kept, labelled, and the last two were not even created,
and PRSMSLIC should have been PIB2.3 instead of PIB3.
Fortunately, that it took until now for this to be seen
suggests they are not of critical import, but due to
detailed debugging by this user, they are now valid.
Thanks to Diane Eppestine, Southwestern Bell Telephone, USA.
===========Changes thru Change 7.228 comprised Prerelease 7.6==========
Change 07.228 NETSPY 3.2 Appendix B did not agree with actual DSECT of
VMACNSPY the T and U records, causing LUUID and LUGTRGT1-4 to be
Jan 29, 1990 missing (but no ABEND nor ERROR, because the Appendix
said to expect 116 bytes, but there were only 108, so the
conditional INPUT was never executed).Change the test
IF NSPYENTL GE 116 to GE 108 and change the subsequent
four occurrences of PIB4.6 to PIB2. (for the LUGTRGT1-4
variables), and delete the four lines where LUGTRGT1-4
are multiplied by 65536,
Thanks to Brian Cooper, Wyeth-Ayerst Labs, USA.
Change 07.227 The alpha test site for Change 7.219 found it deficient
VMACVMXA in two places. The calculation of SKIPTHIS was changed
Jan 29, 1990 to SKIPTHIS=LENGTH-COL-1; and the ELSE INPUT was changed
to just INPUT to properly skip over VM/XA spanned
records.
Thanks to S. Rolin Hymans, Comparex Belgilux, BELGIUM.
Change 07.226 VM/XA changes only in pre-releases 7.2+ caused DELTATM
VMACVMXA in VMXAINTV to be picked up inadvertently from VXSUMIOD,
Jan 29, 1990 where it was inadvertently summed. (DELTATM is the delta
between interval records of the same type, and is used
to calculate rates. In VXDEVTOT, DELTATM is appropriately
summed, because it aggregates device activity across the
day by device address. In VXSUMIOD, however, the interval
is the aggregate, and DELTATM is now taken from the first
occurrence within the interval device records. Note that
DELTATM between device records in an interval will not be
exactly the same as the DELTATM between other interval
records, because all records are not written at the same
time.) The fix: removed DELTATM from the _VSUMIOD macro
definition, added DELTATM explicitly after the references
to _VSUMIOD in building the VXDEVTOT, added ID DELTATM;
to the subsequent PROC MEANS for VXSUMIOD, and added
(DROP=DELTATM) after the VXSUMIOD reference in the MERGE
that builds VXBYTIME. MXG MACRO _TESTINT, which will
process only the interval VM/XA data records, was also
updated to properly handle the I/O interval records.
A brief benchmark of VM/XA processing costs for 30
intervals with 1000 Logged on VM machines shows total
MONWRITE output was 37,735,588 (35MB), written as
1372 4KB control records interspersed with the 3290
data blocks which varied from 4KB to 28KB but averaged
16K. That's about one Megabyte per Logged On user for
30 intervals (at 15 min intervals, thats 7.5 hours, or
one prime shift). MXG _TESTMW took 70.99 TCB 3090-200
seconds for the data step and totalled 117.20 TCB and
46,146 EXCP to create all possible data sets and sample
VM/XA reports, in 14 elapsed minutes of execution. The
_TESTINT macro (keeps only interval records and not all)
took only 9 minutes elapsed with 40.37 TCB in the data
step and 77.33 total TCB with only 31,464 EXCPs.
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Thanks to Margaret Curtis, Rutherford Appleton Laboratories, ENGLAND.
Thanks to Yam Tan, British Airways, ENGLAND.
Change 07.225 This update to DB2PM-like reports enhances more of the
ANALDB2R reports to support DB2 2.2.0 reports, although not all
Jan 28, 1990 of the new information (especially the DDF Distributed
Data Facility information) has been added to all of
the existing reporting. See the table in the comments
of the member to identify if the report tolerates or
exploits the new data fields. Member was renumbered.
Change 07.224 Typos crept into XMAC71 change 7.038 (to circumvent the
XMAC71 SAS Error 344 condition) that could cause variable type
Jan 26, 1990 conflict for variable FRAMES in TYPE71. Line 0318 XMAC71
that was IF FRAMES=. THEN FRAMES=.;
must be IF FRAMES=' ' THEN FRAMES=' ';
(to initialize FRAMES, which is non-existent if MVS/XA).
Thanks to Bruce Widlund, Texas Utilities, USA.
Change 07.223 Typos crept into ANALPATH, added in MXG 7.3. Line 105
ANALPATH should have been HEX4.; vice HEX4; and Line 222 should be
Jan 26, 1990 PDB.TYPE73 vice DB.TYPE73.
Thanks to Christophe Faure, SAS Institute, FRANCE.
Change 07.222 Preliminary support for type 79 SMF record written by RMF
EXTY791 Monitor II session to the SMF file. This support used an
EXTY792 SMF Manual from MVS/ESA 3.1.3 and an MVS/XA 2.2 DSECT in
EXTY793 ERBSMF79. If I am lucky, it should support all MVS/ESAs
EXTY794 and MVS/XAs 2.2 and later. If I should be really lucky,
EXTY795 some of the MVS/370 subtypes and MVS/XA before 2.2 may
EXTY796 also be processed without error, but caveat user.
EXTY797
EXTY798 Added in MXG 7.6, the code has yet to read a 79 record.
EXTY799
EXTY79A For subtypes 1 thru 12, exact IBM field names are used as
EXTY79B variable names, and one observation is OUTPUT for each of
EXTY79C the segments in each subtype into the twelve MXG-built
EXTY79D TYPE791-TYPE999 + TYPE79A-TYPE79C datasets.
EXTY79DF
EXTY79E For subtypes 13 and 14, because they so parallel the type
EXTY79EF 78 SMF record, their dataset names and variable names are
FORMATS taken from the existing TYPE78, TYPE78CF, and TYPE78CU
TYPE79 MXG datasets to create these four new data sets:
VMAC79
Jan 25, 1990 TYPE79D,TYPE79DF,TYPE79E,TYPE79EU
where Ds (13X) are non-3090s and Es(14X) are 3090 plus.
The implementation for this subtyped SMF record creates a
_VAR... and _CDE... MXG macro for each subtype, allowing
you to construct programs for selected subtypes, if your
really need to.
If you have turned on the right monitoring in RMF Monitor
II, you should have only subtypes of interest, and the
standard MXG program for processing an SMF record:
%INCLUDE SOURCLIB(TYPE79); RUN;
will create all 16 of the possible TYPE79.. datasets that
can be created, and for those of the 14 subtypes that
are found in your SMF file, non-zero observations will
appear in the associated MXG-built dataset.
Alternatively, as an example of this new MXG design for
SMF records with subtypes, you could create/execute the
following MXG program:
%INCLUDE SOURCLIB(EXTY79);
DATA _VAR791 _VAR792 _SMF _CDE79S _CDE791 _CDE792 ;RUN;
to create only the TYPE791 and TYPE792 MXG datasets from
the subtype 1 and subtype 2 SMF type 79 records. If you
do create your own subtype-specific program, note the new
required _CDE79S reference to process the RMF 79 header
and product section. (It's already in member TYPE79).
Future enhancements might include an "ANAL79" to merge
some subtypes together, and might include an "IMAC79" for
session selectivity, etc. Let me know what you need.
Thanks to Ervin Claxon, Ashland Oil, USA.
Thanks to Tom Skasa, General Electric Medical Systems, USA.
Thanks to Sterling Green, General Electric Capital, USA.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 07.221 Change 7.189 (only in MXG 7.3 and 7.5) was incorrect.
ASUMCICS While intended to transparently use either Landmark or
Jan 24, 1990 IBM CICS transaction data, it failed miserably if either
source was missing (but it worked great, when both were
present!). Now it self-detects what kind of CICS data
you want summarized from the detail transaction data to
the PDB.CICS (Trending, summarized) CICS data set. Sorry
for not testing all possible alternatives on this one!
Change 07.220 Line 002000 contained a truncated line, and should be
XSYSLOG deleted. (Variable EVENTIME was already calculated just
Jan 20, 1990 a few lines above).
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 07.219 This change is a series of enhancements to VM/XA Monitor
VMACVMXA support.
Jan 15, 1990 1.VM/XA MONWRITE can span logical records across physical
blocks, but VM does not support a "VBS" format, and the
2-byte field that could be used for "spanning" flag is
a reserved field in VM/XA! As long as the spanned record
happened to split on a field boundary, MXG'S Change 7.086
(which removed STOPOVER), and the robustness of SAS, made
spanning "supported"! Now, however, we find 1.13 records
split in the middle of the 8-byte MRHDRTOD field! (This
occurred at a site that named 240 specific devices to be
monitored, causing a 1.14 record that did not leave space
enough in that page for the 1.13 record to fit!)
This circumvention detects a spanned logical record and
and notes the encounter on the log, deleting the bad data
record, and IBM has been notified of their design error.
It may be that this is the only exposure, as in most of
the other records in which there can be multiple segments
the individual segments are actually separate logical
records and may (accidentally) be protected. How could
IBM overlook this design oversight? Because if you are
thinking about "data pages in memory" rather than the
resultant "physical block on external storage device",
and are simply moving addresses across virtual storage,
the operating system takes care of "page spanning" for
you!
2.If no Monitor START event precedes each package of VM/XA
MONWRITE data, numerous problems result. First, since
there is no 1.4 record, the GMT offset delta is unknown,
causing all timestamps to be of unknown time zone! All
of the records found before an end-of-interval have to
be deleted, because BEGINMTR and ENDTIME are unknown.
Furthermore, since MONWRITE records contain accumulated
data (instead of the actual data for the interval), the
first interval will ultimately also be thrown away, as it
is valid only to initialize values for de-accumulation.
Still further, no Monitor START event record means that
there is no MTRDEV Configuration record, which is needed
to map the static device information (such as device type
class, path, etc.) to the device activity records. All of
those variables will be blank in the IOD... datasets.
MXG now will process VM/XA data that is not precedeed by
a Monitor START record correctly, but even MXG cannot do
anything about the missing data.
How can there be no START event? This problem came about
at a site using Candle's VCOLLECT product that creates a
new MONWRITE file each day with its End-of-Day routine.
The second and subsequent files are incomplete. The only
safe solution seems to require Candle to STOP/START the
monitor as the initial records written to each new day"s
MONWRITE file.
This is not a problem with IBM's MONWRITE-created files,
since their ONLY way to dump VM/XA data requires you to
STOP and then START the monitor!
The real culprit here is the IBM design in which monitor
data records are created that are not self-described and
contain no independent information without the prior time
interval. VM/XA should have looked at RMF design!
3.Since no startup records can be guaranteed, the MXG logic
that attempted to capture VMDTTIME,VMDVTIME and VMDCTIME
in the first interval has been eliminated. Until IBM adds
a flag in the USER data record itself, it is impossible
to unambiguously and safely capture these CPU times from
USER logon to the first interval. The remainder of the
MXG algorithm to detect subsequent logon events (done by
setting variable LOGON) has not been altered.
4.VM/XA SP Release 2.1 did not alter the contents of any
data records, but several VM/XA APARs have changed many
MXG data sets by creating additional variables. As is
always the case, member DOCVER07 in the MXG SOURCLIB
library provides the delta-documentation of the datasets
and variables added. These support of these IBM changes
required these sources of documentation:
I. CP Programming Services, Release 2.1 SC23-0370-2.
Appendix B, Monitor Records, which is now the
basic source of documentation of VM/XA records.
II. VM/XA System Product Release 2.1 Program Directory
for VMSUP Level: 8905 for VM36583 and VM37852.
III. INFO/SYS Entry E343842 for VM35968.
IV. INFO/SYS Entry E337409 for VM35962.
V. INFO/SYS Entry E336950 for VM35321.
a. Variable VMDCPUAD has been added to three MXG datasets
for schedule domain, VXSCLADL,VXSCLDDL and VXSCLAEL by
VM35321 (supported in MXG 7.0 and later).
b. Variable RDEVCUIV flags if Control Unit information is
available in the VXIODATD, VXIODVON, and VXMTRDEV MXG
data sets, and RDEVOFFL in VXMTRDEV identifys if the
device was OFFLINE/ONLINE at Monitor START by VM35962.
c. VM35968 adds information on I/O activity (variables
RDEVSKCT,RDEVSKSM,RDEVWRCT,RDEVRDCT containing Seek
counts and cylinders ('passed over while the arm is
passing over uninteresting data', according to Siebo),
and separate counts of Read or Write channel programs
to VXIODDEV at the device level. Variables IORDWRIT,
IORPOSCT,IORPOSSM, CALECYL,CALUSER,and RDEVDEV were
added to the VXSEKSEK seek trace record that IBM had
previously reported as in error and unusable. This is
thought to mean that seek data is now usable.
d. VM36583 and VM37852 add 27 new fields to the interval
VXSYTXSG dataset extending ESTORE (or XSTORE if you
must, even though MVS' used ESTORE long before VM was
able to use "XSTORE") efficiency measurements.
Thanks to Phil Strange, BP International, ENGLAND.
Thanks to Martyn Stevens, Barclays Bank London, ENGLAND.
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 07.218 VM/370 Monitor data variable STGUTIL could be missing as
VMACVMON it was not in the RETAIN statement. Now it is.
Jan 15, 1990
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 07.217 TYPE76 RMF Trace variables INTRVAVG and AVG were slightly
VMAC76 wrong if the last sample set did not have complete sample
Jan 15, 1990 count. The calculations were corrected to use NSAMPLE for
NRSETS*SAMP_SET for INTRVAVG, and SAMP_LST instead of
SAMP_SET for AVG if _I_=NRSETS (i.e., for last set).
Thanks to Steve Cavill, SAS Institute, AUSTRALIA.
Change 07.216 TYPE60 VVR variables are now labeled.
VMAC60
Jan 12, 1990
Change 07.215 TYPE6156 ICF Catalog Activity records have been enhanced
FORMATS to extract volume serial numbers from the catalog section
VMAC6156 at the end of the record, if a volume segment exists. Up
Jan 12, 1990 to five volumes (VOLSER1-VOLSER5) will be contained in
each observation and multiple observations (sequenced in
variable MULT6156) are created if the entry has more than
five volumes. Catalog records consist of a sequence of
catalog cell records, identified by a hex "cell type".
Not all TYPE6156 records contain a 04 Volume record; to
examine the structure of the catalog segments, variable
CATCELLS contains the first 16 cell types encountered.
Expected sequences of ICF catalog cells are:
C1 01 03 04 Non-VSAM dataset
C2 01 05 GDG Base subrecord
C2 01 05 C8 01 03 04 GDS subrecord
C3 01 02 03 06 Cluster component
C4 01 02 04 Data component
C7 01 03 AIX component
C7 01 C4 01 04 C9 01 04 AIX subrecord
C9 01 02 04 Index component
D8 23 Secondary VVR
D9 01 02 03 Path record
E3 03 Truename record
E4 01 03 04 User catalog connector
E7 03 Alias
E9 21 60 23 Primary VVR
Multiple occurrences of 02 03 can occur. Multiple
04 (volume) occur for multi-volume entries.
There are cases with no 04 volume cell in the record.
Variable ACTION shows DEFINE action for non-VSAM files
files with no 04 cell, and have found SCRATCH action
for GDS G0002V00 but there was no C8 entry for that
gen! (The catalog record for a GDS consists of the
base GDG entry followed by a C8 01 03 04 for each
generation; MXG parses the GooVoo in the entry name
and finds its C8 entry in the catalog record to extract
the VOLSER(s) of that generation). We have also found
catalog records containing only the E3 03 (Truename)
entry, and a GDS with only the base GDG C2 01 05 entry.
Format $MG060ID now decodes the possible values of the
ENTTYPID entry type id field, although we still have
found three data values that IBM level 2 could not
explain (although they did offer to build a slip trap
we were unwilling to install!). Thus far, we have found:
A - non-VSAM ("Alien") N - undocumented
B - GDG Base P - Pagespace
C - Cluster R - Path
D - Data S - undocumented
F - Free T - Truename
G - Alternate Index U - User Catalog
H - GDG V - Volume
I - Index X - Alias Name
K - VSAM VVR Y - Upgrade
M - Master Catalog 00 - undocumented
Perhaps ENTTYPID will assist in explaining why an ICF
entry was changed, but does not have a volume record.
For VSAM entries, the catalog record typically contains
04 volume records for the cluster, the index component
and the data component. In this implementation of MXG,
ALL volume records are extracted and stored in VOLSERn
variables, in the sequence found in the catalog record.
Thanks to Connie Lee, Morgan Stanley, USA.
Change 07.214 Sample RMF Monitor III report programs variable DYDELAY
ZRBRPT1 should have been spelled DVDELAY.
ZRBRPT2
Jan 9, 1990
Thanks to Brian Redmond, Home Savings, USA.
Change 07.213 Support for Candle's Network Accounting Facility (NAF)
EXNAFENT SMF records (written by Candle Products CL/SUPERSESSION,
EXNAFGLI CL/GATEWAY, and VTAMPLUS) have been added by this user
EXNAFGOF contribution. Data sets NAFSTART, NAFSHUTD, NAFENTVA,
EXNAFGON NAFLOGON, NAFLOGOF, NAFVOGON, NAFVOGOF, NAFGOGON,
EXNAFGPA NAFGOGOF, NAFGPASS, NAFGLIMT, NAFGPSTR, NAFGPSTO
EXNAFGPO are created from subtypes of these network records.
EXNAFGPR This support includes NAF thru Version 145 of Candle's
EXNAFLOF CL product line.
EXNAFLON
EXNAFSHU
EXNAFSTA
EXNAFVOF
EXNAFVON
IMACNAF
TYPENAF
VMACNAF
Jan 9, 1990
Thanks to Gene Quinn, Blue Cross of Rhode Island, USA.
Change 07.212 Support for TSO/MON Version 5.2 has been added. This
VMACTSOM version adds a number of resource fields (swaps, paging,
Jan 8, 1990 service units, I/O connect time) to the TSOMSYST and
TSOMCALL datasets. MXG 7.6 or later is required for
TSO/MON Version 5.2 if TSO/MON options ACCOUNTING=YES
or DSNAMES=nnn were specified (because TSO/MON inserted
data before the accounting/dsname sections, and because
MXG did not use the offsets to those sections until MXG
7.6+).
Thanks to Ken Dove, Legent, USA.
Change 07.211 Duplicate records were not deleted by the NODUP option
BUILDPDB in the PROC SORT of DATA=TYPE70PR because the BY list
BUILDPD3 was insufficient to guarantee that duplicate observations
Jan 5, 1990 ended up physically adjacent. The variable LCPUADDR had
to be added to the end of the BY list in BUILDPDB/3.
Thanks to Earl Ryan, Life Insurance Company of Georgia, USA.
Change 07.210 The OUTPUT statements in _ANALMON deaccumulation macro
TYPEMONI are now includes of EXMONSYS, and the first definition
Jan 5, 1990 (unused) of _ANALMON deaccumulaton macro was removed.
Thanks to Glenn Thompson, Comalco, AUSTRALIA.
Change 07.209 -Further ANALDB2R report validation fixed Accounting
ANALDB2R trace long (max page locks) and total lock suspends,
GRAFTMNT corrected ABEND in IOS report if PDB did not contain
ASUMVMON IOS trace data, and eliminated uninitialized variable
GRAFVMON message if nondefault sort parameters are used.
Jan 5, 1990 -GRAFTMNT did not properly handle tape mount reporting
if multiple systems were used, now it does.
-ASUMVMON spelled PFAULT incorrectly as PFAULTT.
-GRAFVMON had trailing ./ IEBUPDTE command.
Thanks to Robert Olah, Dun and Bradstreet, USA.
Change 07.208 Support for Landmark's TMON/MVS product ("TMV or TMVS").
EXTMVEL Twelve data sets: TMVSEL,TMVSIC,TMVSIOL,TMVSIOD,TMVSIV,
EXTMVIC TMVSJI,TMVSJIST,TMVSNQ,TMVSPS,TMVSSYS,TMVSYSSW,TMVSYSUI
EXTMVIOL are currently created, though there may be more later.
EXTMVIOD Landmark cooperated extensively in the development and
EXTMVIV testing/validation of this support. Most variable names
EXTMVJI are Landmark field names, except for "standard" MXG names
EXTMVJIS like STARTIME,ENDTIME,DURATM,SYSTEM, etc.
EXTMVNQ Release 1.12 of TMON/MVS must be installed (as record
EXTMVPS formats have been changed from earlier releases).
EXTMVSYS Unfortunately TMON/MVS does not create SMF records, which
EXTMVSW will necessitate a separate jobstream to read their data
EXTMVUI from the MXG-required DDNAME of TMVSIN.
FORMATS The TMON/MVS monitor data can be created in compressed
TYPETMVS format (as is Landmark's Monitor for CICS data), and
VMACTMVS the MXG-provided "SAS Infile Exit" named TMON (created
Jan 5, 1990 by member EXITMONI as described therein and in the
CICS chapter in the MXG Supplement) can be used to allow
MXG to directly decode their compressed format data.
After the "TMON" exit has been installed by EXITMONI
change "INFILE TMVSIN" to "INFILE TMVSIN TMON" to invoke
that exit which will handle either un-compressed or the
compressed data automatically.
Thanks to George Greenacre, Landmark Systems, USA.
Note added Oct 24, 1990. Landmark renamed Release 1.12 to
Release 1.1 (went from 1.11 to 1.1!).
===========Changes thru Change 7.207 comprised Prerelease 7.5==========
Change 07.207 IBM added nine new fields to the type 64 SMF record for
VMAC64 VSAM activity. Added to support IBM's marketing aid for
Dec 22, 1989 Hiperbatch analysis, these new fields (ACBSTRNO,BUFDRNO,
ACBBUFSP,ACBBUFND,ACBBUFNI,JFCBDSN,PLHCNT,ACBMACR1-3)
may prove useful in normal VSAM analysis, as the data
now indicates concurrent strings, buffer counts, and
read/write sequential/indexed flags as well.
PTF UY40839 (APAR OY23661) added the data to the type
64 record, but failed to update the IDAEXTWA macro to
document the order of the new fields! APAR OY26396
contains the actual DSECT of the new fields.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Diane Eppestine, Southwestern Bell Telephone, USA.
Change 07.206 NETVIEW type 37 record's LPDA (Modem report) section was
VMAC37 off by a few bytes, and some fields were not formatted to
Dec 22, 1989 display in hex. The quick fix is to change BRFLSL from
$1. to $2. and insert +3 after BRFADDR to align MXG with
the apparently undocumented changes in this record!
Thanks to Bruce Widlund, Texas Utilities, USA.
Change 07.205 DB2 2.1 writes an SMF type 100 record with SUBTYPE='80'x
VMACDB2 instead of the expected value of 0 or 1. When or why is
Dec 21, 1989 not known at this moment, but it appears the field that
was originally documented as subtype is now a reserved
field. This change uses the product section IFCID value
to set SUBTYPE when the expected subtype value of 0 or 1
was not originally found. I'm still pursuing this one.
Find the lines:
@21+OFFSMF DB2BUF $CHAR4.
@;
and insert this new logic following that @; :
IF ID=100 AND SUBTYPE NE 0 AND SUBTYPE NE 1 THEN DO;
INPUT @25+OFFSMF OFFPROD PIB4. @;
LOC=OFFPROD-3+OFFSMF+4;
INPUT @LOC QWHSSIID PIB2. @;
IF QWHSSIID=1 THEN SUBTYPE=0;
IF QWHSSIID=2 THEN SUBTYPE=1;
END;
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 07.204 This is a "protective" change to protect you from your
VMAC6 own system programmers. A JES2 system programmer at one
VMAC26 site made incompatible changes to their type 6 and 26
Dec 20, 1989 SMF records when the site added support for 99,999 JES
numbers! This change eliminates the "NOTE: INVALID DATA
FOR JESNR IN LINE nnn bytes bb-ee. linenr : col " if
these incompatible records are processed by MXG.
What did the system programmer do? The 4-byte EBCDIC
field JESNR (which could contain only 0001-9999 in its
original EBCDIC format) was changed to a 4-byte packed
decimal (SAS PD4.) format! Programs expecting a 4-byte
EBCDIC format raised a data exception when they found
illegal EBCDIC numeric values in what was now a valid
packed decimal field. What did IBM do? As described in
the SMF manual, IBM stores EBCDIC value 0000 (which was
never a valid job number), and tells you instead to skip
3 bytes and read the 5-byte EBCDIC job number from the
previously-existing JCTJOBID field. What did MXG do?
The TYPE6 data set was okay, but the above "NOTE:" was
printed; MXG captured the 5-digit field correctly even
with their modfication. However, the TYPE26J2 dataset
had blank value for JESNR, and this caused BUILDPDB to
put all these jobs into SPIN rather than the PDB. The
simple fixes to MXG were: a) in both VMAC6 and VMAC26J2
change JESNR 4. to JESNR ?? 4. - this suppresses the
NOTE: and the Error condition when invalid data found,
and b) in both VMAC6 and VMAC26 change IF JESNR NE 0 to
IF JESNR GT 0 and c) insert new line in VMAC6 after the
line IF JESNR GT 0 THEN INPUT .. JESNR ?? 4. @; reading:
IF JESNR EQ . THEN INPUT @65+OFFSMF JESNR ?? PD4. @;
The site had made its own mods to JES mods before IBM!
Now MXG is robust enough to support this mod.
Thanks to Robert Manalo, EDS, USA.
Change 07.203 Change 7.061 was not applied to XMAC74 (which is only
XMAC74 used to circumvent a SAS limitation in large shops),
Dec 20, 1989 causing AVGPNCHA, AVGPNCUB and AVGPNDEV to be seconds
instead of milliseconds. Applied the changed.
Thanks to Bruce Widlund, Texas Utilities, USA.
Change 07.202 Prerelease-only correction. VMAC6 corrections to handle
VMAC6 the SYSOUT release time (Change 7.137, added in MXG 7.1)
Dec 19, 1989 did not handle JES3 print record variables DATAERR,
OUTPRTY, SUPGROUP correctly, and could cause STOPOVER.
The INPUT statement after SUBSYS='JES3' OR SUBSYS='SAR'
should not have the offsets (OFFTONXT, OFFTONXT+nn).
Remove the offset from before variables DATAERR, OUTPRTY
SUPGROUP, SMF6RVSJ, and SMF6RSVU.
Thanks to MP Welch, Sisters of Charity of the Incarnate Word, USA.
Change 07.201 Variable SUBSYS6 has been created, equal to SUBSYS, to
IMACPDB identify the Subsystem (JES2,JES3,EXTW,PSF,SAR,EXD,CADI)
VMAC6 which created the print record. While SUBSYS already is
Dec 19, 1989 in TYPE6, BUILDPDB already uses SUBSYS from the TYPE30_4
(probably not a wise choice now!) Rather than changing a
meaning of an existing variable, adding SUBSYS6 here and
in IMACPDB (to the _PDB6 macro list of kept variables)
avoids a compatibility exposure. Why do you need SUBSYS?
Some sites want to recover CPU time spent by printing
subsystems (read PSF) by surcharging that subsystem's
PRINT charges. Unfortunately, additional CPU time caused
by PSF has been shown to occur primarily when a non-PSF
data stream is converted, and it is not possible to know
if data-stream-conversion occurred from a type 6 record.
record. (Call XEROX at 213-333-2068 for a free copy of
publication number 720P60340 "Benchmark Report JES2 vs
PSF in Text Oriented Printing" by Tom Bell and Chuck
Hopf. IBM should capture the CPU time for print events
and store it in the type 6, or at least a flag bit should
be set if PSF did convert the data stream. One comparison
shows if PSF takes 7 CPU seconds for Line Mode JES2 Dump
convert and print, a JES2 controlled 3800 Model 3 in Mod
1 emulation mode would take 1 sec. But conversion cost
may be only half the cost. A DCF prepared PSF data
stream of same size took 3 seconds. Sustained print rates
of 200 pages per minute are seen feasible for 3800 Model
3. The type 6 record does record PAGEDEFS FORMDEFS
FONT.... activity for PSF; nonzero counts here does
guarantee only that those PSF functions were invoked.
Change 07.200 NETSPY Release 3.2 added fields to the LU and APPL data
VMACNSPY sets, and is now supported.
Dec 15, 1989
Thanks to David W. Anderson, Chase Lincoln First Bank, USA.
Change 07.199 TPX Version 2 causes STOPOVER because the length of the
VMACTPX subtype 5 is incorrect. Their fix number TGB308A fixes
Dec 12, 1989 their problem. MXG failed to recognize the redefinition
of TPXM1SP0 over its two preceding fields (TPXPESIZ &
TPXPECD8) in a subtype 1 record, also causing STOPOVER.
This is corrected by inserting a new statement M4=-4;
after the @; after TPXMSMRT $CHAR8. and before the IF,
and then putting +M4 just before (TPXM1SP0-TPXM1SP9
Thanks to Larry Doub, RJR, USA.
Change 07.198 Goal Systems PDSMAN/XP Release 6 added five new fields
VMACPDSM (incompatibly, in the middle of the existing data!) which
Dec 12, 1989 are now supported by this change. LGJOB, LGMGEN, LGLMM,
LGNMM and LGRMGEN were added.
Thanks to Lesley Woolston, Manufacturers Hanover, ENGLAND.
Change 07.197 MVS/ESA 3.1.3 added numerous new data fields to SMF data.
EXTY42AU 1.TYPE6 data now identifies the Step which caused the print
EXTY42CU activity, and added security related information in these
EXTY42SC new PRINT variables:
EXTY42TO BIN1USED BIN2USED BIN3USED BIN4USED DIASLIG DIADPLWS
EXTY42VL DIAJHWP DIAUPAWS DPAGELBL ERROVRUN ERRSECOV INTEGRTY
EXTY83 PRSUCCES SMF6NSOL SMF6NSFO SMF6NPS SMF6FDNM SMF6PDNM
IMACPDB SMF6PTDV SMF6STNM SMF6PRNM SMF6DDNM SMF6USID SMF6SECS
TYPE42 SPAGELBL STDUPLEX SYSAREA TMBUPLEX
TYPE83 The variables SMF6STNM (stepname), SMF6PRNM (procstep)
VMAC6 and SMF6DDNM (ddname of print file) have been added
VMAC1415 to the default list of TYPE6 variables that will be
VMAC42 automatically carried into PDB.PRINT in MXG's BUILDPDB.
VMAC80 2.TYPE1415 data variables PDSE, TRUNC, and NULLSEG added,
VMAC83 and several fields documented as zero if PDSE-managed
VMAC90 (BLKCNT, TTRN, UCBSTAB, DSSEQCNT, DSSEQNR). The EXCPCNT
Dec 11, 1989 variable for PDSE-managed datasets counts pages read or
written. Before MVS 3.1.1, PDSE was referred to ILIB.
3.TYPE80 additional bit added to $MG080AU for BYPASS, new
character variable RACFVRMN (version, release, mod level)
replaces numeric RACFVERS, and new RACFTOSK (security
label) added by RACF 1.9.0.
4.New type 42 SMF DFP 3.2 record provides SMS statistics
configuration, and audits changes in five data sets
built from this record. Interval buffer statistics for
3990 cache controlers (total and by storage class) are
in TYPE42TO and TYPE42SC. Control Unit configuration and
delta statistics are in TYPE42CU (and SMS managed volumes
behind that control unit are in TYPE42VL). TYPE42AU
audits operator VARY SMS commands, ACTIVATEs in ISMF
or SETSMS, or ENF occurred because operator issued a
vary command to an SMS-managed volume. This is a new,
and significant source of information for management of
System Managed Storage, as well as 3990 statistics.
4.New type 83 SMF RACF Audit Record (For RACF Datasets
whose security label was changed by ADDSD, ALTDSD,
or DELDSD) is now supported in MXG dataset TYPE83.
5.Two new SMF options were introduced in MVS/ESA 3.1.3 that
allow the installation to never loose SMF data. LASTDS
and NOBUFFS can specify MSG (console message and continue
processing with loss of SMF data) or HALT (puts MVS in a
restartable wait state) whenever either no buffers or no
SMF data set is available to SMF. These options are now
contained in MXG TYPE90 dataset.
Change 07.196 DB2 2.2.0 changed SMF 102 SMF values in 21,30,31,44,62,
FORMATS and 140 IFCIDs, affecting formats $MGD044D, $MGD062S,
IMAC102 $MGD062O, $MGD140P, and creating $MGD063O. IFCID'S 63 and
VMAC102 106 were changed incompatibly, although only 106 has new
Dec 9, 1989 variables. The new Distributed Header is decoded, and now
all header variables are output in T102S106. Twelve new
IFCIDs (with many new variables) were added by DB2 2.2.0,
and these IFCIDS (plus the seven DB2 2.1 IFCIDS that had
not been previously decoded) are now supported by MXG.
With this change, ALL data produced by DB2 is now thought
to be supported by MXG. (There may be additional formats
added to MXG for a few of these new variables). The list
of IFCIDs within class has been updated in IMAC102. There
are also eight new "trace class" macro definitions that
are necessary in MXG (but only until SAS Version 6.06 is
universally available; the MXG use of the _DB2TCn macros
is necessary only because of an internal SAS limit on the
number of iterative DO statements, which has effectively
been eliminated in SAS Version 6.06). A later change will
be made to ANALDB2R to provide reports on these new DB2
DB2 elements. Initially, though, the changes primarily
support Distributed Data Facility, and the addition of
the Monitor Class data records (which contain the same
data already available in the DB2ACCT & DB2STAT datasets
from the 100/102 records!).
For the record, these new IFCIDs were added by this
change: TC1 (153), TC6 (156), TC7 (164,165,166,167),
TC8 (125,168), new TC14 (67), new TC15 (154), new TC16
(157,158,159,160,161,162,163), new Monitor Class MC1
(124,147,148,149,150), new MC4 (155), new AC7 (169),
new AC9 (146), new Accounting Class ACT4 (151), and a
new Statistics Class ST2 (152)! Whew!
Summary of this change: many hours to decode many record
segments which are unlikely ever to be needed by any
rational performance analyst!!!!!!!
Change 07.195 MXG assigned COMNDTYP of blank for command from a CCB,
FORMATS but blank is a CLIST from an FCB. This is corrected by:
VMACTSOM Add '40'X to $MGTSOCD format in FORMATS
Dec 7, 1989 Insert after 033700: RETAIN COMNDTYP ' ';
Insert after 042200: COMNDTYP='00'X;
Delete 042800.
Variable COMND may contain an 8-byte name or a 2-byte
command abbreviation padded with nulls instead of blanks,
which makes testing difficult. The translate function is
now used to convert nulls to blanks. In addition, the
date part of ENDTIME is wrong if the interval crossed
midnight. Correct by insert after line 037000:
IF TIMEPART(SMFTIME) LT STRTTIME THEN
ENDTIME=ENDTIME-86400;
Thanks to Pete Shepard, Ashland Oil, USA.
Thanks to Steve Cavill, SAS Institute, AUSTRALIA.
Change 07.194 ACF2 variables ACTMFCBT (buffer text) and ACTMFKEY
VMACACF2 (record key) were not labeled and not kept, but now they
Dec 7, 1989 are.
Thanks to Ken Williams, ANZ Bank, AUSTRALIA.
Thanks to Raymond Wallace, NRMA, AUSTRALIA.
Change 07.193 Support for DB2 Version 2 Release 2 has been added for
VMACDB2 the DB2ACCT, DB2STAT0, and DB2STAT1 data sets built from
Dec 6, 1989 SMF type 100 and 101 records. IBM changes appear to be
compatible. DB2 2.2 added five QX..... variables for the
MIAP (Multiple Index Access Path) and Create/Drop Alias,
and 21 QLAC.... variables for DDF (Distributed Data
Facility) accounting to DB2ACCT. DB2STAT0 was also
enhanced with 18 QLST.... variables identical to their
QLAC.... counterparts for DDF statistics, and new Q3ST
and Q9ST DDF counters. DB2STAT1 was enhanced with the
same five QX..... variables for MIAP and QTAUCCH. Note
that DDF elapsed and CPU times are captured only in the
DB2ACCT data set (and not in DB2STAT0).
DB2ACCT variable DB2TCBTM is now calculated only if both
QWACBJST and QWACEJST are both non-zero, as IBM now does
document that zero value for either field means that no
CPU timing was available. An additional IBM note says
that QWACEJST is invalid for END OF MEMORY (RINV=24 or
28 decimal), QWACBSRB, QWACESRB, and QWACASRB are invalid
for DB Access Agents, but it is not clear how to identify
that situation. A final note in the PL/S DSECT says that
QWACEJST may be invalid when QWACRINV > 20 while the ASM
DSECT says it is invalid for EOM condition. I am still
checking with IBM:
IFCID 0003 (Type 101 SMF, DB2 Accounting record):
1. When "may" QWACEJST be invalid when QWACRINV > 20 ?
2. Is QWACRINV of 24 or 28 only values for EOM which
cause EJST to be invalid?
3. How does one know this record is for DB Access Agents?
4. When data is invalid, is it non-zero or zero?
5. What are units of QLACCPUL, QLACCPUR, and QLACDBAT?
Change 07.192 Continued validation of STX found the test in line 017500
VMACSTX should test for '02'X, '03'X (instead of '02X' and '03')!
Nov 24, 1989 and '12'X and '13'X should have been added, and corrected
labels for Application connect timestamps, swlu and lu.
Thanks to Larry Doub, RJR, USA.
Change 07.191 VM/SP Monitor channels 17-32 were not input due to bad
VMACVMON logic. Remove the ELSE in three lines 272000, 272400 and
Nov 24, 1989 272800.
Thanks to Bob Small, Grumman Data Systems, USA.
===========Prerelease 7.4 was for special ESP customer support=========
===========Changes thru Change 7.190 comprised Prerelease 7.3==========
Change 07.190 The DASDMON interval start date could be the wrong date.
ANALDMON The Start date in the record is not the interval start,
Nov 24, 1989 but rather the date when DASDMON initiated! The program
now uses the SMF record Date to correctly calculate the
interval start and end dates.
Thanks to Danny High, Blue Cross Blue Shield Texas, USA.
Change 07.189 The ASUMCICS trend program uses detail transaction data
ASUMCICS to create PDB.CICS with response distributions (pct in 2
ASUMDBDS sec) for reports and input to TRNDCICS. Now the program
Nov 24, 1989 will read either data source transparently; you no longer
have to remove comment blocks to use Landmark data.
The new ASUMDBDS program similarly sums the MONIDBDS
detail data into PDB.MONIDBD which matches PDB.CICS.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.188 New DB2 Reports were added. I/O Reports (PMIOS01-05), the
ANALDB2R Locking Reports (PMLOK01-03), and Record Trace Reports
IMACDB2 (PMTRC01-01) are completed. The Correlation Name and
VMAC102 Correlation Number are decoded differently for IMS, CICS
NOv 25, 1989 and other by the new _DB2CORR macro defined in IMACDB2.
However, detection of IMS, CICS, etc. in IMACDB2 can be
based only on job name (unless you can find a better
test), and you may need to modify those names if you
are concerned with CORRNAME and CORRNUM values. New
DATASET and PAGESET selection was added for I/O reports.
Preparation of the Record Trace report uncovered several
obscure type 102 variables that were spelled wrong or
left out of the KEEP= list.
How much storage does MXG need for DB2 data sets?
A site with 10000 DB2 plans executed per day will need
122 tracks of 3380 DASD for storage of the DB2ACCT data
set, and the DB2STAT0/DB2STAT1 data sets will need 8
tracks each (at 15 minute intervals), for a total of
only 138 tracks (9 cyl, or only 6 megabytes per day!)
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.187 SAR variable SARSW should be @165 vice @164 and @164 is
XMACSAR GCRMODFT $CHAR1.
VMACROSC
Nov 24, 1989
Thanks to Dee Ramon, Mutual of America, USA.
Change 07.186 Reading SMF type 71 records and ROSCOE data directly from
VMAC71 VSAM SMF file needed help. Line 066400 in VMAC71 needed a
VMACROSC +OFFSMF at the end, and line 114600 in VMACROSC should
Nov 24, 1989 have tested for LENGTH > 428+OFFSMF .
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.185 Contributed report for MVS/XA and MVS/ESA I/O pathing
ANALPATH configuration and activity, using TYPE73, TYPE74, TYPE78
Nov 24, 1989 and TYPE78CF datasets from a PDB. Self-describing.
Thanks to Cindy Batson, Hewitt Associates, USA.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 07.184 Logic expected subtype of zero, but non-zero value was
VMAC110 not protected. Now it is.
Nov 24, 1989
Change 07.183 SAS 5.18 accepted LENGTH DEFAULT=4 4; syntax, but Version
VMACVMXA 6.06 testing detected the incorrect syntax, which is now
Nov 21, 1989 corrected in line 456800.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 07.182 Change 7.151 fixed IMS, but part of the change was not on
TYPEIMS MXG 7.2. The two PROC SORTs (lines 107610 to 107670) were
Nov 21, 1989 to have been deleted, but were not. NOT SORTED error.
Thanks to Lynn Delacourt, Volvo GM Heavy Truck Corporation, USA.
Change 07.181 Change 7.035 discussed potential problems if you tried to
IMAC30IO eliminate D3330DRV variable. This change eliminates that
IMACPDB variable from the default I/O KEEP= list (in IMAC30IO)
BUILDPDB and the MAX/MIN/SUM logic was redesigned (in IMACPDB).
BUILDPD3 If you have not modified either IMAC30IO or IMACPDB, this
Nov 21, 1989 change is not impacting. HOWEVER, if IMACPDB or IMAC30IO
have been changed by your site, YOU MUST retrofit your
tailoring, using the new members in this MXG Version.
I'm still working on a way to fix this once and for all
sites without impact. An additional change was made in
IMACPDB that should not be impacting. The NODUP option
is now always used in BUILDPDB, and the _NODUP macro is
no longer referenced in BUILDPDB/3. (For compatibility,
though, the macro is still defined in IMACPDB).
Thanks to Elliot Weitzman, Oryx Energy Company, USA.
Change 07.180 RMDS page counts for one class of data was stored as PD4.
TYPERMDS while all other counts were PIB4.! Change line 035600 to
Nov 21, 1989 PD4. from PIB4. There is no change in the SMF record for
RMDS Release 4.0, so we therefore now support RMDS 4.0!
(Documentation for the SMF record is in SC30-3442-1,
Installing and Customizing RMDS Release 4).
Thanks to Sim Fleisher, Depository Trust, USA.
Change 07.179 3390 DASD Devices are supported. EXCP3390 and IOTM3390
VMACEXC2 variables are created in TYPE30, PDB.STEPS and PDB.JOBS
VMACUCB data sets, and variable DEVICE (TYPE1415, TYPE74, etc.)
Nov 14, 1989 will recognize 3390. This change is in MXG 7.2.
Change 07.178 CICS UOWTIME is now set missing if there actually is not
VMAC110 a timestamp in UOWID. This is a further enhancement found
Nov 14, 1989 when verifying Change 7.170.
Change 07.177 Additional DB2 reporting has uncovered inconsistence in
VMAC102 variable names and some re-definitions of the same field
Nov 14, 1989 as two variables.
1.QW0021RP $CHAR8. is redefined over QW0021KD thru K2.
2.QW0044RP $CHAR8. is redefined over QW0044KD thru K2.
3.DBID and OBID variables were inconsistent. Most were
$CHAR2. formatted $HEX2. but some were PIB2. numerics.
Now all are $CHAR2., formatted $HEX4. and labels are
consistent. Note this affects the variables suffixed
with DB for DBID, but IBM uses PS and OB for PAGESET and
RECORD OBID, and also KP for PAGESET. This inconsistency
in different names for the same logical entity will not
be corrected in the MXG built T102Snnn datasets, but the
MXG MENU macro variable names used in reporting will be
DATABASE and PAGESET, no matter which IFCID variable name
contains the information.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.176 GTF format DB2 Trace Data was still not quite correct,
VMAC102 even after Change 7.122. The GTF header inserts 12
Nov 14, 1989 bytes before the triplets but the offsets themselves are
relative to byte 1. MXG used OFFSMF=12 (set in _GTF) to
flag the difference, but failed to use it properly!
The logic at lines 085900 thru 08500 now reads:
IF OFFSMF=12 THEN DO;
INPUT @29 SM102SSI $CHAR4. @;
OFFPROD=QWT02PSO-3;
END:
ELSE OFFPROD=OFFSMF-3+QWT02PSO;
The reset IF OFFSMF=12 THEN OFFSMF=0 after the triplets
have been INPUT is still correct.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.175 Support for STX Release 1.0+ has been coded and syntax
EXSTX... tested (no error first execution with SMF DD DUMMY!) but
IMACSTX real data has not been yet processed.
TYPESTX Five data sets (STXSTART, STXLOGON, STXLOGOF, STXCONON,
VMACSTX and STXCONOF are created.
Nov 11, 1989
Thanks to Larry Doub, RJR, USA.
Change 07.174 Support for Release 2.0.0 of TPX has been added to decode
VMACTPX the new format records as well as the prior releases. The
Nov 11, 1989 2.0.0 record is incompatible with prior TPX records, and
does require MXG 7.3. TPX 2.0.0 writes a wrong value for
length field MONO5LEN, (it's x28, but there are x30 bytes
in the segment based on MONO6LEN and MONO6ID) that MXG
detects and circumvents. New variables were added to the
TPXSTART, TPXAPLOF and TPXTRMOF datasets by TPX 2.0.0.
Thanks to ???, Swan Hunter Shipbuilders, ENGLAND.
Thanks to Larry Doub, RJR, USA
for excellent dumps and documentation.
Change 07.173 MXG VTOC processing had further validation:
VMXGVTOC a.Change 7.164 was misspelled. The Delete list should have
Nov 9, 1989 listed datasets EXTENT EXTENTS in place of EXTEND.
b.Line 128 example should be NEW=INFO vice NEW=MAP.
c.EQ MXTRACK should be EQ MXTRACK-1 in lines 649, 667.
d.LAST=MXTRACK should be LAST=MXTRACK-1 lines 652, 670.
e.VOLSER should be added to the KEEP= for INFO line 245.
f.Labels added for VTOCINFO new variables NTPC, DEVCYL,
DEVTRK, TOTRACKS, FCYL, FTRK, LCYL, and LTRK.
Thanks to Phil Henninge, Timken Company, USA.
Change 07.172 CA/DISPATCH variables are created in TYPE6 dataset by the
VMAC6 enablement of their decoding in MXG member IMACCADI. The
Nov 9, 1989 variable CADIRCIP was incorrectly spelled as CADIRCVR in
the KEEP= list in member VMAC6, causing CADIRCIP to not
exist.
A note on this MXG technique. SAS does not validate that
variables in a KEEP= list actually exist. If a variable
name appears only in the KEEP= list, that variable will
not be created. All of the CADI.... variables are in the
TYPE6 KEEP= list, but they will not exist in your TYPE6
dataset unless you modify IMACCADI, as all of the code
that creates the CADI variables (LABEL, FORMAT, INPUT)
is inside a comment block in IMACCADI. Removing that
comment block is all that is necessary to cause the
variables to be created AND kept. This technique works
for KEEP= list, but not for the KEEP statement; SAS does
validate the existence of all variables in KEEP statemen
Thanks to Carol Arnold, K-Mart Apparel, USA.
Change 07.171 CICS UOWTIME changes discussed in 7.170 are all true, but
TYPEMONI there was one other error (only in MXG's Landmark code)
Nov 6, 1989 that actually precipitated the discoverys in 7.171.
Line 060700 (ENDTIME=DHMS(ENDDATE,0,0,ENDTIME); must be
moved to new line 014710 (immediately before the line
BASETIME=FRSTBASE + FFFFF*(FLOOR(ENDTIME-FRST....
so that ENDTIME is converted into a datetimestamp first,
before it is used in the UOWTIME decode algorithm!
Thanks to Terry Baker, Royal Insurance, USA.
====FLASH 7.2 (accompanied 7.2 shipment starting in November, 1989)====
================printed Changes 7.170 to 7.162=========================
Change 07.170 CICS UOWTIME can be between 01JAN60 and 22JUL60, or can
TYPEMONI have right date and wrong time, or both may be wrong.
VMAC110 IBM stores times in two different non-unique formats:
Nov 3, 1989 - a 6-byte STCK value in sixteenths of a microsecond,
which wraps every 204 days and which therefore
requires logic to decide in which 204-day interval
since Jan 1, 1900 this UOWTIME occurred, or
- a 6-byte HHMMSS in EBCDIC characters.
Unfortunately, there is no sure way to identify which
format was used. HHMMSS only applies to DL/I batch
originators, but there is not yet an unambiguous test
to identify DL/I session. The 6-byte EBCDIC HHMMSS
field can contain hex F0F0F0F0F0F0x thru F2F3F5F9F5F9x,
all of which are also valid STCK values (on days 192 to
195 on the 204-day clock)! MXG always preserved the
value in UOWTIME, but its datetime value was sometimes
quite far off. Since NETSNAME and UOWTIME are used
to match up the TOR, AOR, and FOR transaction record
for an MRO event, and MXGs algorithm did support that
merge without error. MXG expected NETSNAME would end
with 12 nulls if not from DL/I, but actually NETSNAME
can contain when the originating terminal is
netname local terminal, from TCT
networkid.LUname VTAM ISC LUTYPE6.2 or IRC link
newtorkid.generic_applid non-VTAM or ISC LUTYPE6.1
jobname.stepname.procname DL/I batch session
and non-nulls caused MXG to fail to add BASETIME (real
start datetime of the present 204-day interval) to the
204-day value in UOWTIME. Then adding UOWTIME to the SAS
base date of 01JAN60 created the 1960 datetimes!
Further, MXG logic tested for a HHMMSS format first; a
real STCK value of 15:15:51 on day 192 of the 204-day
clock was changed to 00:00:00 HHMMSS!. Until DL/I can
be uniquely identified, MXG now always presumes the more
likely STCK format. At a specific site with knowledge of
specific newtworkid values in NETSNAME, one should be
able to recognize DL/I and convert back to HHMMSS, but
a generic solution is not obvious at present. UOWTIMEs
value itself may not be very important; as long as it is
constant across MRO regions, it serves its purpose.
In the interim, a quick circumvention happens to be to
change IF SUBSTR(NETSNAME,9,12)='0000...00'X THEN
to IF 1=1 THEN
to always cause the addition of BASETIME to UOWTIME and
to thereby bypass the ELSE DO logic testing for HHMMSS
or HH.MM.SS values at present. I hope it does turn out
that the actual UOWTIME value is useful enough for this!
Thanks to Terry Baker, Royal Insurance, USA.
Change 07.169 The length of variable CHARACTS needs to be 8 to keep the
VMACSYNC full resolution of total bytes sorted (just to make sure
Nov 2, 1989 comparisons are exact). With length 4, no significant
digits were lost, but low order truncation occurred.
Thanks to Glen Farmer, Hallmark Cards, USA.
Change 07.168 The format name MG080IA. was incorrectly spelled MG080AI.
ANALAUDT
Nov 2, 1989
Thanks to Richard Stevens, US Trust, USA.
Change 07.167 This utility which iteratively invokes VMXGVTOC to read
VMXGVTOR all online VTOCs used DO variable I in the outer loop but
Nov 2, 1989 changes to VMXGVTOC also used I. While VMXGVTOC was the
culprit, changing the "DO I=" in VMXGVTOR to "DO IVOR="
was simpler and safer.
Thanks to Don Wensel, Philip Morris, USA.
Change 07.166 Change 7.098 was correct in its text, but the spelling in
MONTHBLD the member should be DDNAME= instead of LIBNAME= in both
Nov 2, 1989 PROC DATASETS.
-----Changes thru Change 7.165 were published in NEWSLETTER FIFTEEN-----
Change 07.165 A comma was lost when re-writing comments in this example
EXITMONI JCL to create the TMON infile exit. Line 048500 needed a
Oct 30, 1989 comma at its end.
Change 07.164 MXG DASD VTOC processing did not clean up the WORK file
VMXGVTOC if multiple DASD Volumes are processed. After line 068200
Oct 30, 1989 insert:
PROC DATASETS DDNAME=WORK MT=DATA NOLIST;
DELETE VTOC1 DSNAMES EXTENT EXTENTS OKEXTENT;
MXG's 3090-200 CPU time to read 206 triple density 3380
DASD volumes is about 20 minutes per day.
Thanks to Phil Henninge, Timken Company, USA.
Change 07.163 TYPE71 variable EXTREADS (Pages Read from ESTORE) is only
VMAC71 valid if you have MVS/ESA (RMF 4.1+), but MXG created a
Oct 30, 1989 value even with RMF 3.5. Now it will be missing if you
are not yet on RMF 4.1+.
Thanks to George Scott, Rockwell International Corporation, USA.
Change 07.162 Format libraries in SAS Version 6.06 will be in a SAS
FORMATS data library, and must be created/referenced with the
Oct 21, 1989 DDNAME of LIBRARY, while SASLIB can still be used for
SAS Version 5.18 Format libraries (i.e., MXG.SASLIB).
This incompatibliity between SAS Version 5.18 and 6.06
will be disussed in Newsletter SIXTEEN. This change uses
the SAS Version under which MXG is executing to decide
if MXG Formats are to be created in the LIBRARY (6.06+)
or the SASLIB (5.18-) DDNAMES.
========Changes thru 7.161 comprised the pre=release of MXG 7.2=========
========Changes thru 7.161 comprised the pre=release of MXG 7.2=========
Change 07.161 This change is documentation of the procedures used in
Oct 19, 1989 the final testing of this prerelease of MXG 7.2.
It may help you in structuring validation of your own SAS
based systems, and will let you see MXG's test plan.
This process accomplishes these goals:
A. Syntax check and execution (no data actually read) of
all MXG code to build all possible MXG datasets.
B. Detection of conflicting definitions of same variable
in different MXG datasets (CHAR/NUM type, length and
format.
C. Detection of known coding errors, such as variables
without labels, DATETIME formatted variables with a
length other than 8, etc.
D. Automatic generation of DOCVER documentation of the
contents of all variables in all MXG 7.2 datasets.
E. Automatic generation of DOCVER07 delta-documentation
of all changes in contents between MXG Verion 6.6 and
this prerelease.
1.UTILXREF creates all possible MXG datasets and uses PROC
CONTENTS to create a SAS dataset of all variables in MXG
which is then analyzed for these known conditions:
-type conflicts (char and num in different datasets),
-missing label for variables,
-DATETIME formatted variable not length=8.
The SYSOUT is also examined for SAS ERROR: messages and
for UNINITIALIZED variable messages and any NOT CATLGD
JCL messages are located.
Change 07.160 Support for the ACF2 ARE data was added to the ACF2JR
VMACACF2 dataset created from the ACSMFREC='L' ACF2 SMF record.
Oct 19, 1989
Thanks to Raymond Wallace, NRMA, Sydney, AUSTRALIA.
Change 07.159 DB2 Trace dataset T102S063 contained only the first 200
IMAC102 bytes of the SQL text for each BIND, but the actual size
IMAC102A of the SQL text can be more than 200 characters. The SQL
IMAC102B text can be useful in understanding why a particular DB2
VMAC102 inquiry consumes large resources (DB2ACCT is used to find
Oct 19, 1989 the expensive executions, and their SQL inquiry text in
T102S063 is then examined to see why). Now, MXG will
create multiple observations in T102S063 for each 200
bytes of SQL text (new variable SEG10263 counts 200-byte
segment number).
Thanks to Robert Olah, Dun and Bradstreet, USA.
Change 07.158 This is not a change, but rather an observation that the
TYPEMONI byte-count on Landmark's own reports defaults to average
Oct 18, 1989 number of bytes per screen (PRIOUCHR/TCOUPRCN) but MXG
PRIOUCHR variable is total bytes for the transaction and
TCOUPRCN is the total number of screen. Landmark reports
will match MXG totals if "T" is added after the Landmark
field number on their report control statements.
Thanks to Tim Follen, Blue Cross of Ohio, USA.
Change 07.157 Preliminary support for Sterling Software's DMS/OS DASD
TYPEDMS management product's VTOC reading utility. Their utility
Oct 17, 1989 will read all VTOCs somewhat faster than MXG's VMXGVTOC
utility, and their utility's output is then used by this
member to create the DMSLIST dataset, similar to the
VTOCLIST dataset creatable by VMXGVTOC. However this
member does not create the VTOCMAP nor VTOCINFO datasets
created when MXG actually reads VTOCs with VMXGVTOC.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.156 Trend Data Base implementation of MXG Tape Mount Monitor
ASUMTMNT datasets includes a daily TAPEMNTS dataset and also a
GRAFTMNT TREND.TAPEMNTS. GRAFTMNT builds graphics catalog TAPEMNTS
TRNDTMNT from data either in PDB or TREND database.
Oct 17, 1989
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.155 Variable TMNTMTPY in line 004900 should have been spelled
VMACTMNT TMNTMTYP. In MXG 7.1 Beta only.
Oct 17, 1989
Change 07.154 This change eliminates a compatibility exposure between
BUILDPDB MXG 6.6 and 7. The SPIN6 dataset built by MXG 6.6 may not
BUILDPD3 be in order expected by MXG 7 (it depends on whether the
Oct 17, 1989 site added PRENTIME to the BY list in BUILDPDB/3 in its
implementation of MXG 6.6). This change inserts a PROC
SORT of the SPIN6 dataset before combining it with the
new TYPE6 dataset to avoid the possibility of the "out
of sort order" condition.
Change 07.153 In what is believed to be the final revision for VTOC
VMXGVTOC measurement, VMXGVTOC was again INCOMPATIBLY changed.
Oct 16, 1989 Previous users will need to change their reporting.
The MXG VTOC-reading facility now creates three datasets:
VTOCLIST - one obs per dataset, tracks allocated, tracks
used, creation, expiration dates, etc. This
was previously named VMXGVTOC.
VTOCMAP - one obs per extent/free space. A map of the
DASD volume. Previously named VMXGFREE.
VTOCINFO - one obs per volume, from the DSCB4. Size of
the volume, and VTOC flags such as Indexed
VTOC, Available DSCB0s, Available tracks,
System Managed Storage status, etc. New.
The description of this VTOC facility for DASD space
management and accounting is contained in extensive
comments at the beginning of the member itself.
Thanks to Don Wensel, Philip Morris, USA.
Change 07.152 IMS log processing variable MSGLEN (message length) may
VMACIMS be wrong. The LOC=MSGPRFLL in MXG 6.6 was changed in
Oct 16, 1989 MXG 7.0 to LOC=MSGPRFLL+1 to locate where MSGLEN is to
be INPUTed. It appears this change in 7.0 was wrong and
the MXG 6.6 logic is restored. Please look at the value
of variable MSGLEN for message size of a known IMS tran
and confirm if this LOC= logic is correct for your site.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.151 IMS log processing logic which merges datasets PRG and
TYPEIMS INOUT was incorrectly changed in MXG 7.0. The PROC SORTs
Oct 16, 1989 of PRG and INOUT just before the MERGE (lines 107610 to
107670) were deleted, and the BY variable of TRANSACT
for the merge was changed to the original DTOKEN. This
merge was more robust than the initial 7.0 change. All
other logic changes in 7.0 appear to be correct. A nit
was also noted: the format for ARRVTIME should be 19.2
for consistency with other DATETIME formats.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.150 -EXPLORE/VM variable SERIAL should be input as $CHAR4.
TYPEVMXP and formatted as $HEX8. in member VMACVMXP.
VMACVMXP -The %INCLUDE SOURCLIB(IMACVMXP) in member VMACVMXP
Oct 16, 1989 was moved to member TYPEVMXP.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.149 Variable OTH0CPU was not in the KEEP= list for dataset
GRAFTRND ALLCPU.
Oct 16, 1989
Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.148 VM/XA Monitor dataset VXIODDEV variables AVGCONMS,
VMACVMXA AVGDISMS and AVGPNDMS are 1000 times to large. The 1000*
Oct 12, 1989 in lines 686900-687100 was removed. This dataset is not
typically kept, and all three values are correct in the
VXDEVDET, VXDEVTOT, VXSUMIOD datasets that are used in
MXG VM/XA report examples (because these averages were
recalculated correctly in building those datasets).
Thanks to Jeff Goodfellow, GTE Services, USA.
Change 07.147 Numerous discoveries during testing 7.1 Beta DB2 reports.
ANALDB2R All but subpart 4 apply only to ANALDB2R reporting and
VMACDB2 only to the STATISTICS reports.
Oct 12, 1989
-All QSDCKPT changed to QWSDCKPT.
-Second WRITE OUTPUT LOG BUFFERS lines 945200-945300 are
replaced by semicolon and line 944600 should be QJSTBFWR.
-After DB2 COMMANDS, lines containing @ 85 PUOR 'N/A'
should contain only @85 'N/A'.
-The Buffer Pool variables DB2ACCT QBnC... and DB2STAT1
QBnT... (where n is 1, 2, 3, 4) now correctly contain the
data corresponding with buffer pool id values 0, 1, 2, 80
for BP0, BP1, BP2, and BP32. Previously, n=1 variables
contained whatever BP was in the first segment. No data
was lost, but now the variable name n=1 to 4 does match
the contents correctly. (This was the VMACDB2 part).
The Buffer Pool reporting now uses a DO loop instead of
repetitive code, and only prints reports for pools with
activity. (This was the ANALDB2R part).
-QWHSSTCK (time stamp) in the DB2STAT1 dataset might not
be exactly the same ast QWHSSTCK in the DB2STAT0 dataset,
but DB2 reporting requires MERGE of those separate data.
Now, QWHSSTCK will be retained from subtype 0 to subtype
1 of the DB2 Type 100 SMF record so that the MERGE will
not fail. This change also compares the STCK value in a
subtype 1 with the previously retained STCK from the 0,
and PUTs error if out of sequence data is encountered.
-Variables QISEPAGE, QISECTS, QISEFREE, QISESKCT, QTDSOPN,
QISEDBD, QB1TCBA, QB2TCBA, QB3TCBA and QB4TCBA values are
end-of-interval values, but MXG summed their values. Now,
the MXG summarization calculates the average value of the
end-of interval data values for the interval.
-CORRNMBR and CORRNUM were redundantly named, and were not
parsed correctly for IMS connections. Now, CORRNUM is the
only variable used in ANALDB2R, and the values of the
QWHCCN (=:IMS,=:CICS, all else) is used to decide how to
parse CORRNAME and CORRNUM from QWHCCV.
-Second occurrence of DATABASE SERVICES in summary CPU
report (QJS3 variables) are actually for the IRLM, and
now the heading is correct.
-Macro variables were defined both in the ANALDB2R macro
definition, and in the macros called by ANALDB2R. This
redundant code added unnecessary lines and required care
in making redundant changes. Now, all macro variables are
defined only in the ANALDB2R definition and are no longer
explicitly defined in the actual report macro.
-QJST.... variables IDEN,CTHD,SIGN,TERM,ABRT,PREP,COMM,
INDT,RIUR,SYNC,CTHW should have been Q3ST in ANALDB2R.
Thanks to Jan van Lent, Fokker, NETHERLANDS.
Change 07.146 Variables QBnTPFDC, QBnTWKPD, QBnTWMAX, added by Change
DIFFDB2 7.130 to DB2STAT1 dataset were not deaccumulated. Now the
Oct 12, 1989 dozen variables are DIF()'d. Only MXG 7.1 Beta.
Thanks to Robert Olah, Dun and Bradstreet, USA.
Change 07.145 Line 942200 should be ARCHIVE LOG instead of ACTIVE LOG,
ANALDB2R Line 459300 NODUPKEY (PC syntax) should be NODUP for the
Oct 12, 1989 mainframe syntax. Only MXG 7.1 Beta.
Thanks to Pete Galaveri, Readers Digest, USA.
Change 07.144 Change 7.137 new line 012301 mistyped SMF6LN1 as SMFLN1,
VMAC6 causing "UNINITIALIZED" message and missing values. This
Oct 12, 1989 only affected the 7.1 Beta code.
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.143 Line inserted by Change 7.008 after line 23610 did not
BUILDPDB agree with Change. Line 023610 should be IF LAST.JESNR as
Oct 12, 1989 stated in the Change, replacing FIRST.JPURTIME in code.
Thanks to Debby Blackey, Marshalls, USA.
Change 07.142 PR/SM environment TYPE70 CPUWAITM and PCTCPUBY were wrong
VMAC7072 if the number of logical processors was greater than the
Oct 11, 1989 number of real processors. An MVS 3090-400 was given six
logical processors by PR/SM. The type 70 record shows MVS
NRCPUS is four, shows CPUs1-4 are online (CAI1-CAI4 are
'01'B, online-for-entire-interval), shows CPUSER1-CPUSER4
with the real serial numbers, and shows other CAIn and
CPUSERn values are blank. For the PARTISHN in which this
MXG is executing, there are six Logical Processor Data
Sections, creating six TYPE70PR observations, but the
only four that have non-zero LCPUPDTM PR/SM Dispatch also
have LCPUADDR values 1-4 matching the online CAIn values!
MXG correctly calculated individual CPU percent busy and
CPU wait in PCTCPBY0-8 and CPUWAIT0-8 variables using the
duration minus dispatch DURATM-LCPUPDTM, but MXG did not
correctly calculate CPUWAITM and PCTCPUBY in TYPE70 when
6 PR/SM Logical Processors are assigned to a 4-CPU MVS!
MXG summed wait time for all 6 LPARS, causing actual CPU
busy to be much lower than accurate. This change precedes
each of the nine CPUWAIT=CPUWAIT+CPUWAITM; statements in
lines 141300 to 146800 (logic for SHARED, WAIT=NO) with
IF CAIn EQ '......01'B THEN CPUWAIT=CPUWAIT+CPUWAITM;
and then changed n in CAIn to 0 thru 8 respectively.
IBM RMF reporting was also wrong with this data. Their
RMF Summary Report CPU BUSY reported an average 54% busy
(they used CPU0-3) instead of the true 65% busy from CPU
1-4 values. The CPU ACTIVITY report was also wrong with
CPU1s printed value taken from CPU0 (of 0%) and with the
2-4 CPU values taken incorrectly from CPU1-3 fields to
incorrectly report 61.4% busy when 78.5% was correct.
Thanks to O. V. Hanger, A. C. Nielsen Co., USA.
Thanks to Tim Klevar, General Electric Plastics, USA.
Change 07.141 Change 7.070 (only in MXG 7.0 BETA) was incorrect. The
ANALDSET lines of code after DATA DSETOPEN.DSETOPEN; from "IF" to
Oct 11, 1989 "DROP" must be moved to after TYPETASK=TYPETASZ;
Thanks to Debby Blackey, Marshalls, USA.
========Changes thru 7.140 were on the 7.1 Beta Tape===================
Change 07.140 IBM's Cache DASD RMF Reporter created SMF records do not
VMACACHE agree with documentation. GSLEN is 40, but the SD1IDCU is
Sep 14, 1989 in SD2ID instead of SD1ID. I am still researching when
this change occurred (this user is at CRR 1.3). The fix
is at line 028200-28300: change SD1ID=SD1IDCU to
(SD1ID=SD1IDCU OR SD2ID=SD1IDCU)
Thanks to Tom Healy, Chemnet, USA.
Change 07.139 SYNCSORT SMF record SIRECFM/SORECFM were decoded wrong,
VMACSYNC because SIRFM and SORFM were input as PIB1. but they are
Sep 14, 1989 actually EBCDIC numerics and should have been inputted
as 1. instead of PIB1. The CPUTCBTM in the SYNCSORT
record is sometimes wrong; values of 15 hrs 32 minutes
have been found by two different sites on SYNCSORT 3.2
and 3.3 (one site found one record per day, the second
found 50 such records in a month's SMF data). SYNCSORT
says this can happen if a SORT EXIT routine issues the
STIMER macro, but one site thinks the problem still
exists even when exits were not used. Still open.
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Thanks to Russ Berlin, Time-Life, USA.
Thanks to Sal Fazzino, General Electric Capital, USA.
who reported this first, but who was not listed in Newsletter 15!
Change 07.138 This user contribution creates a SAS Function, FMXGSID,
FMXGSID which can be invoked from a SAS program and returns the
Sep 13, 1989 character variable of the SMF System Id (SMCASID, MXG's
variable SYSTEM) on which the job executed. This was
used to add SYSTEM to MXG VTOC datasets.
Thanks to Gerald Baxter, British Telecom (Red Lion Square), ENGLAND.
Change 07.137 This two-line JES2 system modification stores in a batch
ASMsysmod job's SMF type 6 record the time that that print file was
VMAC6 released to print. This permits direct measurement of the
Sep 18, 1989 printer queue duration for help print jobs. The mod was
originally coded by Carol Toll, Sun Company, and then it
was re-designed by Dean Tesar of Hewitt, who reduced it
to the following system modification:
In macro IFASMFR
after field SMF6RET
and before field SMF6END2.
add new line:
SMF6JTME DS BL4 JOE CREATE TIME
In source HASPPRPU (near label PPSMFBLD)
after MVC SMF6OWC,JOECURCL-JOE(R2)
and just before USING DCT,R2
add new line:
MVC SMF6JTME,JOECRTME-JOE(R2)
As with all system modifications, you accept liability
for all testing and validation of this enhancement to
your SMF data records. VMAC6 was modified to use the
type 6 length fields and will create RLSETIME if it
exists in your type 6 record.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 07.136 Variables CPUSER0-CPUSER9, CPU Serial Number from TYPE70,
RMFINTRV have been added to RMFINTRV, as they may be useful to
Sep 13, 1989 know which operating system was on which hardware when.
Thanks to Dave Clarke, British Airways, ENGLAND.
Change 07.135 NETSPY Versions earlier than 3.1 miscounted transactions
VMACNSPY because missing value of character variable (hex 40) just
Sep 13, 1989 happened to be the bit that 3.1 started using. Insert a
new line 038010 ELSE X2='00'X;
in case your NETSPY is an old version.
Thanks to Maria Clarke, Telecom Australia, AUSTRALIA.
Change 07.134 NETVIEW NPM Type 28 record subtype 41x (DRN Command, in
VMAC28 MXG dataset NPMCMDNC) are not structured as documented by
Sep 13, 1989 IBM. There is no TOF segment, and the AOF pointers point
to a PMC segment! This required relocation of the tests
for NPMSUBTY EQ 41X, and copying the present PMC handler
to before AOFTYPE='SAA' processing, and changing TOF to
AOF in that new PMC handler.
Thanks to Anthony P. Lobley, EDS, ENGLAND.
Change 07.133 IDMS 10.2 Monitor dataset IDMSTAS variables TASBFLD1-3
VMACIDMS should have been TASUFLD. The Batch Account Codes will be
Sep 13, 1989 decoded in the next MXG. See unfinished changes, above.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 07.132 The new 3480-IDRC "Improved Data Recording Capability"
VMAC1415 mode should be decodable from TYPE1415 variable TRTCH.
Sep 13, 1989 This change creates a new variable IDRC='Y' or 'N' for
tape data sets to indicate if IDRC was in effect. This
has not been verified. The new logic is:
IF TRTCH=08X THEN IDRC='Y';
ELSE IF TRTCH=04X THEN IDRC='N';
Thanks to Gene Tolini, IBM Vendor Support, USA.
Change 07.131 NETVIEW "Pseudo-SMF" records can be written to a journal
TYPE39J log file instead of SMF. These pseudo-SMF records do not
VMACSMF have legitimate VBS architecture, and do not have the
Sep 13, 1989 data in the standard SMF header (MVSXA, SMFTIME, SYSTEM).
This change adds a new macro named _NETVLOG which is used
in TYPE39J (J for Journal Log) in place of the _SMF macro
normally used. For a quick fix, make a copy of _SMF macro
and name it _NETVLOG. Therein, 1) Change RECFM on the
INFILE statement from VBS to U, and add BLKSIZE=32760.
2) Insert just before the INPUT statement a new line:
OFFSMF=4;
to align the rest of the record with normal SMF format.
3) Create TYPE39J from TYPE39, but replace _SMF with
_NETVLOG.
The actual fix is more extensive, as unnecessary code in
SMF was removed. Better still, put NETVIEW data in SMF!
Thanks to Gary Korkowski, The St. Paul Companies, USA.
Change 07.130 The DB2 DSECTS for DB2 Dated 11/17/88, which were used to
VMACDB2 add support for DB2 Version 2.1 (and which were supplied
Sep 13, 1989 by IBM) have been changed! There were three additional
fields in the buffer manager statistics (DB2STAT1) which
MXG did not know about, and which caused subsequent data
about buffers to be wrong. MXG added three new variables
QBnTPFDC, QBnTWKPD, and QBnTWMAX (where "n" is 1 thru 4,
for each of the four buffer pools), by adding logic for
LENBUFM GE 116, just like the LENBUFM GE 104 logic took
care of the last IBM change. The support for DB2 2.2
will add protection (with +SKIP logic) to eliminate this
exposure in the future.
Thanks to Robert Olah, Dun and Bradstreet, USA.
Change 07.129 Additional summarization routines for the DOS/VSE POWER
ASUMDOS and VM/370 Monitor data, a daily sample job for DOS/VSE
ASUMVDEV CICS journal and VM/Monitor processing, upgrading of the
ASUMVMON GRAF.... members to use PROC PLOT instead of PROC GPLOT
ASUMVMON if you do not have SAS/GRAF, additonal REXX examples for
DALY110J MXG under CMS version of SAS, Trending for DOS POWER, VM
DALYVMON Device data and VM/370 Monitor. These are preliminary
GRAFREGR examples and are subject to change.
GRAFTRND
GRAFVMON
REXXDALZ
REXXDOS
REXXWKLY
TRNDDOS
TRNDVDEV
TRNDVMON
WKLYVMON
Sep 12, 1989
Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.128 The validation of 7.0 Beta uncovered many opportunities:
FORMATS 1.VMACVMON, line 256000 set LENDV2=2 for RELEASVM EQ '05'.
VMACIDMS 2.TYPERTEJ, added MISSOVER on INFILE statement because IDMS
VMACRTE 10.1 writes short records.
VMACVMON 3.VMACRTE (IDMS 10.1 only) line 1301 added colon to now
TYPERTEJ read DBKFILE : $CHAR16. to protect for occasional short
Sep 12, 1989 IDMS record.
4.VMACIDMS: all PIB4.4 inputted variables are now formatted
TIME14.4 (180+ variables!). Variable SMFHDCVN was labeled
'DC SYSTEM*VERSION*NUMBER' and added to all KEEP= lists.
INSTIMSY and INSTIMUS changed from PIB4. to PIB4.4 and
added to TIME14.4 format list. DELTATM formatted TIME12.2
and variables PGMTYPE, TASPTYPE, TASTTYPE are now format
$MGIDMPP., $MGRTEPT., and $MGIDMTT. respectively.
5.FORMATS: values 6420 and 0A420 added to $MGVM6TY with
formatted value of 3380. (Appeared in VM HPO 5.0). New
formats $MGIDMPP and $MGIDMTT added.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 07.127 The validation of 7.0 Beta DB2 processing uncovered more
VMACDB2 cleanup. Labels for QWHCOPID and QXSETSQL were corrected,
Sep 11, 1989 the order in which QWHCOPID and QWHCPREV are INPUT was
reversed, DB2ACCT CPU times are now validated and set to
missing if Begin is greater than End, or if the End time
is missing (see INFO/MVS E321145), and the second INPUT
of QTXANPL was deleted, correcting subsequent QTXA....
Thanks to Stan Majka, Virginia Power, USA.
Change 07.126 The 7.0 Beta changes to the Audit report from RACF TYPE80
ANALAUDT had minor glitches. Line 168 should be OUTPUT SUF and not
Sep 11, 1989 INSUF, and lines 77-79 were replicated and INSUF changed
to SUF (to create SUF with same variables as INSUF).
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 07.125 This major contribution supports the ARBITER product from
ANALARB Tangram Systems which creates eleven different SMF record
EXARB... types with a total of thirty datasets created from the
IMACARB many subtypes.
TYPEARB
EXARBamm
Sep 10, 1989
Thanks to J-P Tonnieau, GMF System Team SARAN, FRANCE.
Change 07.124 MVS/370 CACHE DASD analysis report was updated for XA &
ANALCACH MVS/ESA. (MVS/370 TYPE74 variables LCHAN and DEVBUSY are
Sep 10, 1989 logically LCU and PCTDVUSE in MVS/XA and MVS/ESA). You
you still have to tailor this report as described in the
comments therein. The report combines RMF TYPE74 device
statistics with RMF Cache DASD Reporter TYPECACH data.
Thanks to Bruce L. Green, Medical Information Bureau, USA.
Change 07.123 DB2 APAR PL29461 PTF UL34399 added new data to a segment
FORMATS of the IFCID 0001 (Subtype 0, Type 100 SMF record) which
VMACDB2 MXG did not compatibly handle ("+SKIP" logic was missing
VMAC102 for this particular data segment in MXG code). This made
Sep 8, 1989 CPU variables for the 2nd and 3rd Address Space to be
wrong: QWS2PROC,EJST,SRBT and QWS3PROC,EJST,SRBT, and the
sum of all 3 address spaces cpu, CPUTM, when the above
PTF is installed on your DB2 Version 2.1 Systems. The PTF
new variables QWSnASID and QWSnASCB, the ASID and ASCB
respectively, are now added to the DB2STAT0 dataset, new
values for format MGD140P in member FORMATS were added,
and labels for trace variables QW0083QD,QW0087QD,QW0140SC
and QW140TC were changed based on IBM comment changes.
Only the change to member VMACDB2 is critical: You must
make the following change in member VMACDB2 if you have
the above PTF installed on any of your DB2 systems:
Find the line:
IF 0 LT OFFASID LT LENGTH AND NRASID GT 0 THEN DO;
Insert a new line following that line, containing:
SKIP=LENASID-20;
Find the next three occurrences of a line containing only
"@;". Insert the following new line after each of these
"trailing at-signs" (only three times, not four):
IF SKIP GT 0 THEN INPUT +SKIP @;
Thanks to Chun-Heng Liu, Brooklyn Union Gas, USA.
Change 07.122 DB2 trace records read from GTF (instead of SMF) do not
VMAC102 create observations because the reset was mislocated; in
Sep 8, 1989 addition, SMF102SSI was incorrect.
Find the present line:
IF OFFSMF=12 THEN OFFSMF=0;
Change that line so that it reads:
IF OFFSMF=12 THEN INPUT @29 SM102SSI $CHAR4. @;
Immediately before the present line containing:
OUTPUT SUBTYPES;
Insert this new line:
IF OFFSMF=12 THEN OFFSMF=0;
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.121 GRAFRMFI-produced graphs of RMF data gave funny-looking
GRAFRMFI graphs if your RMFINTRV dataset INTERVAL was less than
Sep 7, 1989 one hour. This change still produces plots versus hour,
but uses fractional values to plot between hours if
necessary. New line 009310 inserted
HOURPART=TIMEPART(STARTIME)/3600;
and change *HOUR= to *HOURPART in all occurrences.
Thanks to Joseph Ng Khek Uak, Port of Singapore Authority, SINGAPORE.
Change 07.120 Was accidentally skipped, and was never used.
Change 07.119 Boole & Babbage RMF replacement CMF product's SMF records
VMAC7072 can be created simultaneously with RMF records. This will
VMAC71 cause MXG datasets to contain essentially duplicate data
VMAC73 for the intervals when both monitors were running. This
VMAC74 change decodes the IBM reserved field at OFFRMFP+28 and
VMAC75 sets variable PRODUCT's value (normally "RMF") to either
VMAC76 "CMF-CPM" or "CMF-IPM", depending on the CMF mode that
VMAC77 created the record. This allows CMF and RMF records to
VMAC78 be separated, if both should exist. Since the variable
Sep 7, 1989 PRODUCT exists only in MVS/XA and later, this change does
not support identification of MVS/370 CMF from RMF data.
On the subject of CMF, though not related to this change,
CMF creates a PR/SM data segment in its type 70 record
under either IBM's PR/SM or Amdahl's MDF hardware. MXG
creates observations in TYPE70PR from the PR/SM segment.
(RMF users must use TYPEMDF, Change 7.087, to decode its
separate SMF record from Amdahl's MDFTRACK instead.)
Also, note there is no type 79 record created by CMF.
Thanks to Richard L. Gimarc, Boole & Babbage, USA.
Thanks to Allan Callahan, SAC Offutt AFB, USA.
Change 07.118 MXG DB2PM-like reporting has been further enhanced. All
ANALDB2R reports possible have been tested with DB2 Version 2.1
Sep 6, 1989 data (as well as prior DB2 versions). Additional reports
have been added, and all reports planned for MXG Version
7 have been named (even though some do not yet exist).
See member for revised documentation and details.
Change 07.117 DB2 Report PMACC01 values on **TOTAL** lines were totals
ANALDB2R of averages because wrong denominator was used in three
Sep 5, 1989 places. Insert three lines to correct:
line 07951000 FREQ=L2FREQ;
line 08411000 FREQ=L1FREQ;
line 08871000 FREQ=GFREQ;
Thanks to Alan W. Maloney, Telenet Communications, USA.
Change 07.116 A minor omission, &OTHER6 was left out in lines 019300 to
GRAFTRND 019600. 12="&OTHER6" inserted after 11=, and &OTHER7 to
Sep 5, 1989 &OTHER9 became 12 to 15, deleting the extra &OTHER9.
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 07.115 ACF2 data sets ACF2NRA & ACF2NRB contain 0 observations.
VMACACF2 ACF2 SMF record subtype 'A' has JOB name of hex zero.
Sep 5, 1989 MXG includes IMACJBCK (an MXG macro which allows for JOB
name selection during creation of MXG data sets) BEFORE
checking the record subtype, which caused all ACF2 'A'
records to be deleted. Line 0345's %INCLUDE was moved to
after 0365 and executed within a do group:
IF ACSMFREC NE 'A' THEN DO;
%%INCLUDE SOURCLIB(IMACJBCK);
END;
Additionally, line 0376 (ACFAPMLN) should be PIB2. vice
PIB1., and line 0379 AFCAPARM should be spelled ACFAPARM.
Finally, ACFACID is formatted as $HEX2. (in line 0328).
Thanks to Raymond Wallace, NRMA, AUSTRALIA.
Thanks to Bill Gibson, SAS Institute, AUSTRALIA.
Change 07.114 VMAC7072 PR/SM variables were wrong (only) when SMF data
VMAC7072 was read from the VSAM SMF file. Line 132700 should read:
Sep 5, 1989 LOCPRDS=OFFPRDS+BDNSKIP*LENPRDS-3+OFFSMF;
Additionally, SMFTIME was not kept in TYPE72MN, and
ZDATE was not kept in TYPE72MN or TYPE70PR datasets.
Thanks to Barry Pieper, First Bank System Information Services, USA.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 07.113 RMF Monitor III VSAM data set support validation found a
VMACZRB few changes. In VMACZRB, field GEISIZ is now spelled as
ZRBJCL GEISIZE. The lengths (see inital comments in VMACZRB) of
Sep 5, 1989 ASISIZE was changed from 84 to 88, and of GEISIZE was
changed from 92 to 96 by RMF 3.5. In ZRBJCL, the correct
DDNAME is RMFIII vice ZRBIII. It has been reported that
only minor changes (tests LENGTH was tested for explicit
value instead of GE, I think) are needed for this code to
also support RMF 4.0 (MVS/ESA) RMF III, but that has not
been identified/tested yet.
Thanks to Neil Ervin, Sara Lee Direct, USA.
Change 07.112 Member ANALBNC1, for the analysis of benchmark runs, is
ANALBNC1 not really complete (in that the benchmark job stream is
Sep 5, 1989 not yet in existence) but some users have still found the
member was a good starting point for comparisons of their
own benchmark stream. This change upgrades the code so
that at least it runs without errors due to incomplete
comments, misspelled variables, etc.
Thanks to Harry Olschewski, DVG Kiel, GERMANY.
Change 07.111 This is a major revision to the MXG VTOC reading utility.
VMXGVTOC All variables are now labeled, and additional fields in
Sep 1, 1989 the VTOC (tracks allocated, tracks used, expiration date,
last use date, etc.) are now decoded in the MXGVTOC data
set. The VTOC itself is now recognized as occupying DASD
space, and free space after the last dsname on the volser
is now included in the MXGFREE data set. With this change
MXG really does capture the VTOC information for capacity
management of your DASD farm as well as for the billing
of DASD usage. The number of tracks on the volume is now
contained in the MXGVTOC data set in the DSNAME of the
VTOC data set (see comments in member).
Thanks to J. Cary Jones, Philip Morris, USA.
Thanks to Chris Luckman, SAS Institute, ENGLAND.
Thanks to Jugdish Mistry, SAS Institute, SCOTLAND.
Change 07.110 In searching for info on 3480-IDRC in INFO/MVS, I found a
VMACEXC2 reference to a new Device Type of x'81' for Device Class
VMACUCB of x'80' (Magnetic Tape), decoded as device type 9348. On
Aug 31, 1989 Sep 5, the 9348 (a 1600/6250 reel drive) was announced!
In examining UCBTYPE for decoding the 9348, a new Device
Class value of x'04' (Character Reader) was noted. Also
on Sep 5, IBM announced the 3490 tape cartridge device,
(a 3480 with IDRC built-in and a smaller footprint).
MXG member VMACUCB creates values of variable DEVICE.
MXG member VMACEXC2 accumulates EXCP/IOTM counts into the
device-specific variables (EXCP3420, EXCP3480, etc.).
a. VMACUCB now sets DEVICE variable values of 2400, 3420,
3480 or 9348. (Previouly, DEVICE was either 3420 or 3480,
and 3420 meant "all tapes not-3480").
b. VMACEXC2 IOTM/EXCP summarization for Tape Class continues
to keep only XXXX3420 and XXXX3480 variables, and 9348
counts are included in the XXXX3420 variables. XXXX3420
variables still mean "all tapes not 3480".
c. VMACUCB also now creates a value of CHARRDR for DEVICE
for device class of x'04'. (If you had actually had any
x'04' values, MXG would have produced an error message on
the SAS log, and none have ever been reported!)
d.VMACEXC2 counts EXCP/IOTM counts from device class x'04'
in the XXXXUREC variables.
Attended SHARE to present paper on the history of SMF Product's 1969
release, twenty years ago (and the 20th anniversary of the SHARE CME
Project as well). The paper is published in MXG Newsletter FIFTEEN,
in Volume One of the SHARE 73 PROCEEDINGS, and elsewhere as well.
Change 07.109 Unknown DOS Accounting records caused MXG to STOP reading
TYPEDOS the DOS file, which was inappropriate. Now, if an unknown
Aug 3, 1989 record id is encountered, a message and a hex dump of the
first ten occurrences are printed on the SAS log, but the
MXG program continues to read the rest of the POWER data.
The unkonwn record encountered was RECID='D', which looks
like an execute record, but is still under investigation;
it may be created by a vendor-product.
Thanks to P.J. Penrith, Kleinwort Benson, ENGLAND.
Change 07.108 Landmark's Monitor for CICS History Data OVHD Records are
TYPEMONI incorrect due to an error in Landmark's TMV630 program.
Aug 1, 1989 The OVHD,History record (not typically used by MXG users)
is one byte too short, and causes an "INPUT EXCEEDED" SAS
error message and STOPOVER ABEND. Landmark now has a fix
to create valid records, but until you apply their fix,
this circumvention will avoid the ABEND:
Insert after line 040600 (USER $CHAR8.) :
@; IF SUBSTR(TRANSACT,1,4) NE 'OVHD' THEN INPUT
Insert after line 040800 (@;) :
ELSE INPUT LUNAME $CHAR7. @;
Remember to remove this fix after you get the fix from
Landmark installed.
THIS CIRCUMVENTION WILL NOT BE PUT IN MXG SOURCE CODE.
IT IS ONLY FOR YOU TO TEMPORARILY INSTALL IN YOUR SYSTEM.
Thanks to Neil Ervin, Sara Lee Direct, USA.
October 19, 1989 update:
Another site tried the above circumvention before they
got the fix from Landmark, and still abended, because
in their case, the record had no FILESEGs, so that the
input DO loop is not executed, then the code in line
048600 is executed, and the STOPOVER occurs in trying
to input UTNUM PIB1.
Their additional circumvention, then, was
IF SUBSTR(TRANSACT,1,4)='OVHD' THEN UTNUM=0;
ELSE INPUT UTNUM PIB1. @;
Thanks to Anthony Miekle, Composite Buyers, AUSTRALIA.
Change 07.107 Change 7.060 (7.0 Beta ONLY) added type 37 support for
VMAC37 NETVIEW 1.2 and NETVIEW 1.3 records. Earlier versions of
Aug 1, 1989 NETVIEW (1.1) and prior NPDA (V3R2,V3R3) STOPOVERed. The
code now supports all of these records, and additionally
now decodes the local and remote modem reports into 12
new variables each.
Thanks to Bruce Widlund, Texas Utilities, USA.
Change 07.106 IDMS SMF records have been further validated and a few
VMACIDMS fields (which had existed in the old RTE records) are now
Aug 1, 1989 added in this minor enhancement.
Add TASMSSEV to keep list in line 013700.
Label TASMSSEV='TASK ABEND*SEVERITY*CODE'
PMHTSKID='TASK ID*NUMBER' after 019700.
Add TASPRTY to the $HEX2. format list in 072400.
Insert after 136100:
TASMSSEV=MOD(TASABMSG,10);
TASABMSG=INT(TASABMSG/10);
Thanks to Rodney L. Reisch, Wacovia Bank and Trust Company, USA.
Change 07.105 Type 6 PSF records had variable FORM wrong, because IBM's
VMAC6 8-byte "form" field in the Common Section of the PSF type
Jun 30, 1989 6 record does not contain the form! This fix may change
Feb 7, 1990 if IBM ever moves an 8-byte form name into the PSF record
but for now, you must change line 021300-021500 to read:
IF SMF6LN3 GE 14 AND SUBSYS NE 'PSF' THEN INPUT FORM $CHAR8. @;
ELSE IF SMF6LN3 GE 14 THEN INPUT +8 @;
Feb 7, 1990 update: SMF6LN3 was printed here in CHANGES
as SMFLN3 in error, and corrected today. VMAC6 was okay.
Thanks to Agneta Bergsten, SPP, SWEDEN.
Change 07.104 Shift calculation changes made in Version 6.6 did not
IMACSHFT affect the SHIFT variable, but the value of the DATETIME
Jun 28, 1989 variable passed back to the caller was not always right.
Since the returned value was used only infrequenly and
only in trending, this should not really cause a problem:
Insert new line 005701:
ELSE IF WEEKDAY(DATEPART(DATETIME)) EQ 2 THEN
Remove ELSE from beginning of line 005800.
Thanks to Gary Kallenber, CONTEL, USA.
Change 07.103 New style macro %VMXGSUM requires SAS System Option of
ANALDB2R MWORK=28K, else an 1453 Invalid Parameter Length error
Jun 28, 1989 occurs. While MWORK=28K was shown in MXG Trending example
in 6.6, rewrite of ANALDB2R using the new style macro did
not remind you to specify MWORK=28K for DB2 reports.
Change 07.102 MXG Tape Mount Monitor SMF record processing code had two
FORMATS formats reversed (lines 004900 and 005000) and failed to
VMACTMNT decode TMNTMTYP (Type of Mount, 0=Demand, 1=Private, and
Jun 28, 1989 2=Scratch) correctly. New format MGTMNTM. added to member
FORMATS. Replace present line TMNTRTRN PIB4. with two:
TMNTRTRN PIB2.
TMNTMTYP PIB2.
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 07.101 VM/370 Monitor data for USER class did not exactly match
VMACVMON VMMAP. MXG did not output the first interval record, and
Jun 28, 1989 then deleted the second interval user record in the DIF()
logic. Change line 248700 (precedes EXVMOUSR's include)
to read IF INTRVCNT GT 0 THEN DO; instead of GT 1 THEN.
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 07.100 TMS DSN record caused STOPOVER due to bad logic. Correct
VMACTMS5 by inserting IF I=1 THEN before INPUT in line 0146.
Jun 28, 1989 Also, all packed decimal input fields were precedeed with
?? (between variable and PDn.) to protect if the field
has nulls instead of a valid PD field. The ?? tells SAS
to suppress the "invalid PD" message and to suppress the
hex dump of a record with invalid PD data!
Thanks to Brenda Rabinowitz, Prudential-Bache Securities, USA.
Change 07.099 Default record ID of 255 in IMACAION caused STOPOVER when
IMACAION an SMF ID=255 record (from a diferent product) was read.
Jun 18, 1989 Default should have been 512.
Thanks to Jim Kane, Reader's Digest, USA.
========Changes thru 7.098 were on the 7.0 Beta Tape===================
Change 07.098 Creation of CICS data sets by BUILDPDB beginning in 6.6
BUILDPDB removed the PROTECT=ZZZZZ option from the CICSACCT,
May 31, 1989 CICSEXCE, and CICSYSTM data sets. This could cause an
error when 6.6 attempts to reuse a 5.5 PDB library. (See
extensive discussion of PROTECT= in member CHANGE06). To
avoid the problem, you can simply scratch and reallocate
each PDB library before its re-use. Alternatly, you could
simply delete the three protected datasets from the PDB
library before you run MXG 6.6, by executing:
PROC DATASETS NOLIST DDNAME=PDB MT=DATA;
DELETE CICSACCT CICSEXCE CICSYSTM PROTECT=ZZZZZ;
Thanks to Greg Bowman, Walmart, USA.
Change 07.097 MXG support for type 79 SMF records is not functional.
VMAC79 This member needs lots more work before it can even be
May 31, 1989 tested. Do not try to use or understand it.
Change 07.096 HSM can create an SMF user record, whose contents is in
EXHSMDSR LY35-0080-1 pp180ff as the Daily Statistics Record. The
EXHSMFUN MXG support creates two data sets, HSMDSRST (statistics)
IMACHSM and HSMDSRFU (for each function) from the DSR record.
TYPEHSM There are two other subtypes of the DSR record that are
VMACHSM documented (FSR, p191 and VSR, p348s) but are not yet in
May 31, 1989 this preliminary code. I have only bench tested the code.
Member VMXGHSM contained the basic code for the DSR data
record, and FSR and VSR will be restructures of that code
as well. All of these segments existed (apparently) in a
single SMF record, but there is yet another SMF record
that I can not recognize. This is just a beginning.
Thanks to J. D. Hill, CyCare Systems, USA.
Change 07.095 The VMSQL... datasets created from VM/ACCOUNT cards will
TYPEVM exist only if your VM SQL machine's name (USER) begins
May 30, 1989 with SQLDBA. If your SQL machine has a different name,
see comments in the member. Additionally, data records
with apparently invalid values for SQLCPUTM (FFF91A25x)
have been reported to IBM, but no response yet. MXG uses
PIB4. format, and these values show up as large positive
values. Using IB4. instead would create negative values,
which might be easier to detect if you are looking for
bad values. But I think PIB4. is still safer, since you
can hardly overlook the bad data with large positive data
values, but with mixed positive and negative numbers, the
summing could cause the bad data to be overlooked. You
should always compare CPU measurement with the elapsed
duration of the interval (in this case, how long the VM
SQL machine was executing) to detect this type of IBM
error (which should eventually be fixed by an IBM PTF).
Should I externalize the test for SQL machine name into
a new macro name in a new member of MXG?
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 07.094 EPILOG CL1000 Version 440 support was tabled until later.
XMACEPIL I did not have all of the DSECTs I need when working on
XXACEPIL XMACEPIL, and when Candle provided me with their sample
May 30, 1989 code, it did not agree with the actual records. Member
XXACEPIL is partially corrected, decoding at least the
header (due to the DSECTS sent for Change 7.090), but
development was pended awaiting DSECTS and test data from
Candle.
Thanks to David Lloyd, Talbots, USA.
Thanks to M. Peller, Braun AG, GERMANY.
Change 07.093 Type 22 SMF record for 3990-3 Cache DASD controller has
VMAC22 had its problems. The subtype 10 data was left out of ESA
May 30, 1989 by IBM, and in the fix to that problem, four new bytes
have been added to the end of the record. Unfortunately,
segment length is not in the data record, and if IBM ever
writes more than one subtype 10 per section, the TYPE22_A
data may be incorrect. This is not an important record.
The missing segment was reported in MVS/ESA with APARS
OY22641/OY11323, and PTFs OY22641/UY90164 add the new
fields and for ESA creates the missing subtype.
Change 07.092 Preliminary support for SMF record created by COMPUWARE
IMACFILA product FILEAID. The access records seem usable, but the
TYPEFILA Field Update and Comprehensive Update records appear to
VMACFILA be of questionable value, especially since pointers do
May 25, 1989 not appear to exist to connect the record to its dataset!
Thanks to Mark A. Hawkes, Monarch Systems Group, USA.
Thanks to Timothy T. Tadeo, Monarch Systems Group, USA.
Change 07.091 This contributed report uses the TYPE30_5 record to count
ANALBATQ how many batch jobs are in the input queue. This report
May 25, 1989 has not been extensively tested yet, and may change.
Thanks to Neil Ervin, Sara Lee Direct, USA.
Change 07.090 Support for Candle's Omegamon Audit (hence OMAU) SMF user
EXTYOMAU record, written for each execution by an operator of an
IMACOMAU audited OMEGAMON command. The code is syntax checked and
TYPEOMAU visually validated with a hex dump of the data. but has
VMACOMAU not been actually used to read real audit records.
May 25, 1989
Thanks to Jonathan Swann, Belk Stores Services, USA.
Change 07.089 Support for AION Development System's SMF record, which
EXTYAION creates data set AIONACCT, an accounting record created
IMACAION when AION executes under IMS.
TYPEAION
VMACAION
May 25, 1989
Thanks to David Daner, Sun Refining and Marketing, USA.
Change 07.088 Variable DOWNTIME in TYPE90 is a duration, not a datetime
VMAC90 stamp and should have been FORMATed TIME12.2 instead of
May 25, 1989 DATETIME21.2. (It really should have been spelled DOWNTM
to be consistent, but its too late to change its name.)
Move DOWNTIME from line 009100 to 009000.
Thanks to Jonathan Swann, Belk Stores Services, USA.
Change 07.087 Support for Amdahl's SE Tool MDFTRACK's SMF record. This
EXTYMDF record describes activity in other MDF Domains, using the
IMACMDF MDFWATCH data. Amdahl cautions that this is not really a
TYPEMDF supported product but instead it is an SE's tool and is
VMACMDF subject to change (and not all fields are documented).
May 25, 1989 - GBLTOD is GMT while GBLBEGTS/GBLENDTS/SMFTIME local.
- GLBENDTS/GBLBEGTS resolve only to seconds.
- GLBINTMS is the actual interval duration.
- Units of DOMMIN,TGT,MAX,NORM,ATGT and GBLELTM? All
are same (and 879.068 if PIB4.3).
- Units of DOMDUTIL, DOMSUTIL,DOMUTIL.
- Validity of DOMNTSC.
- Validity of GBLRSERN.
- Avg Time slice calculation?
By comparing your online screen displays of the numbers
with a PROC PRINT of the MXG-built data sets, you should
be able to figure out how to replicate the screen report
values exactly from the MXG variables. Let me know.
Thanks to Dennis Dwyer, Citicorp St. Louis, USA.
Change 07.086 FOR VM/XA ONLY: Remove both occurrences of STOPOVER in
VMACVMXA the two INFILE statements for VM/XA Monitor processing!
May 24, 1989 I never thought I'd recommend not using STOPOVER, but it
looks like that's the best way to deal with the newest
idiosyncrasy of VM/XA. MONWRITE creates logical records
that span physical blocks! The only case in which this
spanning has occurred so far is the MTRDDR (1.14) record,
written only at VM/XA Monitor Start-Up. A large number of
devices + userids created a 1980 byte record which began
at byte 3021 of one 4096 byte block (1076 bytes in the
first block, 904 in the second). If this had been real
IBM VBS Record Format, SAS could handle spanned records,
but the VM/XA data is a series of blocks of 4096 byte
pages written in blocks of from 4096 to 7*4096=28672
bytes, containing two different sets of control records
interleaved between sequences of blocks of data records.
This non-standard record structure would permit the DCSS
to be re-created in an analysis program. The IBM manual
suggested algorithm required keeping track of page within
block and byte within page and databytes within control
interval; that's a lot of unnecessary CPU processing if
it's really "data processing" (i.e., reading lots of
monitor data) you want. Besides, maybe someday we'll
get MONWRITE re-written to create real, valid, VB data
record format to really minimize the I/O overhead.
The MXG Algorithms treat the VM/XA Monitor data as an
imperfect VB architecture, building heuristics to skip
over defects, such as the End of Frame record, a valid
self-describing 20 byte record followed by an undescribed
number of hex zeros - if the Record Length included the
zeros following the header, the MONWRITE data records
would at least be valid Variable-Blocked data between the
control records! But spanned logical records were not in
IBM documentation, nor seen until now.
The STOPOVER option has been discussed in the book, and
in previous CHANGExx/NEWSLTRS entries. It is very useful
to protect me and you from coding and data errors. It
makes SAS stop reading input records when the MXG program
tries to read beyond the end of the current logical (to
SAS) record. HOWEVER, the simplest fix to the VM/XA
Monitor's "spanning" of data is to remove STOPOVER from
the INFILE statements. SAS will continue on to the next
block with no other change to the MXG algorithm! You will
receive a "SAS READ BEYOND THE END OF A LOGICAL RECORD"
note (which does not set any error condition) on the log.
Martyn Stevens has coded a circumvention which works at
his site, but which works only if the end of each 1.14
record occurs exactly at the end of a page. The removal
of STOPOVER is thought to be a more robust solution, and
it demonstrates the versatility of SAS. The ability to
read multiple logical records as a single data record is
a boon to social scientists with 80-byte card image data,
10 card images per subject. SAS lets you treat that as a
single, 800 byte record (which reduces the human errors
in data entry, coding, etc.). STOPOVER is still useful in
SMF and other structured data records, but I think the
tests built into MXG are strong enough to detect any real
VM/XA errors softly. The removal of STOPOVER in this case
may let the latent power of SAS shine through, but Martyn
says even MISSOVER may not always work and he is sending
a VM/XA monitor tape for further analysis.
Thanks to Martyn Stevens, Barclays Bank, ENGLAND.
Change 07.085 VM/XA IUCV/VMCF fields had two labels reversed; PLSVSEVM
VMACVMXA should be "GOOD FROM" and PLSVSTVM should be "GOOD TO".
May 24, 1989 The following table may make IUCV/VMCF analysis easier.
--------TO--------- --FROM--
Service Destination GOOD BAD GOOD
IUCV: BLKIO PLSISTBL PLSISUBL PLSISEBL
CCS PLSISTCC PLSISUCC PLSISECC
MSG PLSISTM PLSISUM PLSISEM
MSGALL PLSISTMA PLSISUMA PLSISEMA
MONITOR PLSISTMO PLSISUMO PLSISEMO
RPI PLSISTRA PLSISUTA PLSISETA
SIGNAL PLSISTSI PLSISUSI PLSISESI
CP*SYSTEM SERVICES PLSISTVM PLSISUVM PLSISEVM
VMCF: A Virtual Machine PLSVSTVM PLSVSUVM PLSVSEVM
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 07.084 The 1984 MXG Guide, page 213, shows the IBM CICS tables
MXG Guide that need to be assembled to create type 110 CMF SMF data
May 24, 1989 records. The syntax CLASS=(PERFORM,ACCOUNT,EXCEPTION) is
not acceptable, apparently, for CICS 1.7. A site reported
IBM support said a separate DFHTYPE=RECORD statement is
needed in the MCT for each Class of data monitored. Also,
the example on page 213 should have suggested CONV=YES be
specified, so that each CICS interaction/conversation's
response time is measured.
Thanks to Bill Fox, National Futures Association, USA.
Change 07.083 RMFINTRV variables SIO74CNT,DEVACTTM,DEVCONTM,DEVDISTM, &
RMFINTRV DEVPNDTM were documented in the MXG Supplement to contain
May 24, 1989 only DASD device data, but RMFINTRV was never updated to
select only DASD type 74 records. (Note that even after
this change, that total SIO counts are still carried in
the SIO78CNT variable). Insert new line 072010:
IF SUBSTR(PUT(UCBTYPE,HEX8.),5,2)='20';
Thanks to Cathy Librachi, Aurora Health, USA.
Change 07.082 CICSTRAN variables MAXTASK and SHRTSTOR were not correct,
VMAC110 because once either condition was found in a transaction,
May 24, 1989 the rest of the transactions in that physical SMF record
were also flagged "Y", because the two variables were not
reset/initialized.
Insert two new lines 058410 and 069310:
ELSE MAXTASK=' ';
Insert two new lines 058510 and 069410:
ELSE SHRTSTOR=' ';
Thanks to Dennis Mahbubani, Aetna Casualty, USA.
Change 07.081 TYPE72MN (MVS/ESA-Only RMF Monitor III records) are all
VMAC7072 trashed because MONIDLS, MONPGIN and MOSLOT should have
May 9, 1989 all been PIB4. (this was a finger fault; the SKIP logic
expected 4-byte counters!)
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 07.080 These sample CICS SAS/GRAPH routines had not been updated
GRAFCICS for SAS 5.18. All GOUT= were changed to PDB.GRAFCICS and
May 9, 1989 the final data step deleted. After execution, the graphs
can be replayed with PROC GREPLAY IGOUT=PDB.GRAFCICS;
Thanks to Bill Salassi, BHP Systems, AUSTRALIA.
Change 07.079 DB2ACCT and DB2STAT0 variable QTXAPREC was decoded into a
VMACDB2 set of eight new variables: QTXABLLM QTXAIOLM QTXAINLM
May 9, 1989 QTXASALM QTXASELM and QTXASPLM for ease in reporting DB2.
Change 07.078 IBM added four undocumented bytes to the end of RMF 77
VMAC77 record in MVS 3.1.0e (and, yes, it is a lower case "e" in
May 4, 1989 the MVSLEVEL variable!). MXG did not use "skip" logic in
type 77 processing, and the TYPE77 data set is trashed.
Insert two new lines after line 018800:
018810 SKIP=LENEDSS-156;
018820 IF SKIP GT 0 THEN INPUT +SKIP @;
Thanks to Carol Rogers, K-Mart Apparel, USA.
Change 07.077 If you used %VMXGSUM with MAX= but without MIN=, wrong
VMXGSUM values were calculated. This did not affect any MXG code,
May 4, 1989 as all MXG uses of %VMXGSUM specified both MAX= and MIN=.
Delete line 031500 %LET LASTX = &NUMMIN;
Change 07.076 Landmark Monitor system record daccumulation (MONISYST)
TYPEMONI is wrong. The revised de-accumulation algorithm added in
May 4, 1989 MXG 6.6 to process concatenated files always fails. This
ONLY affects the MONISYST data, and not the MONITASK data
set. (That it took until now to be noticed suggests that
few users take advantage of the MONISYST dataset!). The
correction is to change lines 084600 thru 088900. Each
line is now of the form Hnn = Variable;
Each line must be changed to read Hnn=Variable+Hnn;
For example, after the change:
084600 H1 =CPUTCTBM+H1 ;
...
089000 H45 =WTTSIOTM+H45;
Thanks to Joe Faska, Depository Trust, USA.
Change 07.075 Processing IMS 1.3 Log data is NOT possible with the MXG
TYPEIMS1 algorithms for IMS 2.1 and IMS 2.2. These power of these
VMACIMS1 algorithms (which recognize each IMS transaction instead
May 4, 1989 of each program schedule) depend on several fields that
simply do not exist in the archaic 1.3 release:
-LINENR is not in type 35 log record
-LTERM is not in type 31O log record
-ARRVTIME is always nulls in 03P record
-DLRTOKEN only exists in the 07/08 records
The ability to recognize multiple transactions within a
program schedule is absolutely dependent on these data.
Thus MXG cannot claim to support transaction measurement
for IMS 1.3. We have restored MXG Version 5.5 IMS logic
in new members TYPEIMS1/VMACIMS1 for IMS 1.3 sites. That
code made no attempt to recognize multiple transactions
per program schedule, but instead matched IBM's DFSILTA0
results to produce one observation in IMSTRAN for each
program schedule. Since only 7 sites have requested our
IMS 1.3 processing, we can only offer this restoration.
Change 07.074 Unused change number.
Change 07.073 In TYPE26J2, TYPETASK may contain JOB0, TSU0, or STC0 as
VMAC26J2 IBM prepared for JESNR greater than 9999 in the JCTJOBID
May 4, 1989 field. This change reads only the first three bytes of
JCTJOBID into TYPETASK, but keeps its length at four to
avoid conflict with other data sets. Insert new line
013311 after 013310: TYPETASK=' '; /*4 blanks*/
In line 013400 Change $CHAR4. to $CHAR3.
In line 013500 Change +4 to +5
Thanks to Carol Harper, E G & G Idaho, USA.
Change 07.072 In TYPE90, variable DETAIL was not reset for each class
VMAC90 os SMF recording (JOB, TSU, STC). Now it is by insertion
May 4, 1989 of ELSE DETAIL=' '; after DETAIL='Y';
Thanks to Diane Eppestine, Southwestern Bell Telephone, USA.
Change 07.071 In ROSCOE 5.6 RTM the number of complexity levels is set
TYPEROSJ by ROSCOE sysgen parameter RTMCMARK and the number of
VMACROSC time levels is sysgened by RTMTMARK. The actual number
VMACSMF of buckets in the RTM record is one less than the number
May 3, 1989 of levels. MXG expects three complexity level buckets and
five time level buckets (assumed RTMCMARK=4,RTMMARK=6).
You will encounter a STOPOVER abend if you sysgen less.
This change now uses information in the record to read in
only as many fields as exist. Many lines were changed.
An unrelated change to ROSCOE processing was also made:
member TYPEROSJ has been deleted, and the code in VMACSMF
that set OFFROSC was removed, because ROSCOE journal and
ROSCOE SMF records can be processed with member TYPEROSC
using a DDNAME of SMF for either dataset. TYPEROSJ was
only for ROSCOE 5.4 and earlier, and caused confusion.
Thanks to Art A. Brax, Jefferson Co. Colorado School District, USA.
Thanks to Sandy Recchio, Chase Lincoln First Bank, USA.
Change 07.070 This enhancement to dataset activity analysis added VSAM
ANALDSET TYPE64 records, new fields (eg. OPENTIME) from TYPE1415,
Apr 30, 1989 and enhanced the description of the job. If you want to
know which program in which job opened which file for
how long and for how much I/O, this is the place to go.
Change 07.069 This enhancement to DB2PM-like reporting adds many small
ANALDB2R changes as a result of more detailed validation with DB2
Apr 30, 1989 Version 2.1 data and report formats, and adds additional
reports. This revision now invokes %VMXGSUM to summarize
which reduced the size from 12,000 lines to only 7,150!
Change 07.068 The VTOC processing code only expected 16 extents, since
VMXGVTOC the code was written before there was VSAM. With this
Apr 30, 1989 enhancement, MXG now expects up to 128 extents to fully
support VSAM data spaces in a VTOC.
Change 07.067 The long promised MXG Tape Mount Monitor, MXGTMNT, lives!
ASMTMNT Member ASMTMNT contains the assembly source for the load
EXTMNTMN module MXGTMNT and the JCL to create the proclib member
EXTMNTSW MXGTMNT. MXGTMNT executes in its own address space and it
IMACTMNT creates an SMF record for every tape mount with the start
TYPETMNT and end timestamps, duration of the mount, and the job
VMACTMNT causing the mount. MXGTMNT also creates a record if a
Apr 30, 1989 "tape swap" occurs as the result of a permanent error.
The installation instructions for the tape mount monitor
are contained in comments at the beginning of ASMTMNT.
Please read completely before executing. Member IMACTMNT
contains the SMF record ID that you chose in ASMTMNT.
Member TYPETMNT/VMACTMNT creates two data sets from the
SMF record: TYPETMNT contains mount information and
TYPETSWP contains swap events. The monitor has been
tested under MVS/370 and MVS/XA, and should execute under
MVS/ESA as well. Members ASMTPMON and ASMTP370 have been
replaced by ASMTMNT.
Change 07.066 Exits EXPDBWEK and EXPDBMON have been added to the PDB
EXPDBMON WEEKBLD and MONTHBLD members so that users who have added
EXPDBWEK additional SMF records to BUILDPDB/3 (using the MXG Exit
MONTHBLD Facility, page 139 in the MXG Supplement) can copy those
WEEKBLD additional data sets into their MONTH and WEEK PDBs.
Apr 29, 1989
Change 07.065 DB2 Trace SMF type 102 record support has been expanded
FORMATS and further validated and revised with Release 2.1 data.
IMAC102 The subtype 106 (System Parameter) record (in T102S106)
VMAC102 was completely re-formatted by IBM in 2.1, requiring a
Apr 28, 1989 rewrite. Subtypes 67, 98, 99, 101, 112, 122, and 123
May 9, 1989 have now been tested with 2.1 data. An entire new class,
Audit (subtypes/IFCIDs 140-145) is now supported, though
only subtypes 140 and 141 were available for testing.
Logic now tests QWHSNSDA (in 2.1) or record length (1.3)
to determine the actual number of triplets, which avoided
a STOPOVER conditions. Subtype 53 and 58 were rewritten
to decode the SQLCA and to avoid STOPOVER conditions. New
macros are now defined in IMAC102 for the Audit classes.
Some subtypes that were not in their correct trace class
groups were moved to where they belong, and the subtype
to trace class documentation (in IMAC102) revised. This
was a significant change to type 102 processing for 2.1.
Note: All 120+ T102Snnn datasets are always created by
MXG, but only those "enabled" by IMAC102 will actually
have observations. However, SAS requires virtual storage
for each data set at compile time. With only a 4MB region
it was necessary to specify SAS Option BLKSIZE=8192 for
the TYPE102 program to execute.
Thanks to Stan Stoots, Virginia Power, USA.
Thanks to Stan Majka, Virginia Power, USA.
Thanks to Peter Gallinari, Reader's Digest Association, USA.
Change 07.064 CICSEXCE variables TSWAITTM,CN,MSWAITTM,CN,VSWAITTM,CN
VMAC110 were not initialized and could be carried forward into
Apr 27, 1989 a subsequent exception observation. All six variables
are now initialized to missing after line 101600.
Thanks to Dee Ramon, Mutual of America, USA.
Change 07.063 Trending RMFINTRV from PDBs built before MXG 6.6 causes
TRNDRMFI Variable Not Found condition (which cannot be solved by
Apr 27, 1989 the NOVNFERR SAS option), because of the new OTH6-OTH0
variables added in MXG 6.6 to RMFINTRV that are not in
RMFINTRV built by prior versions of MXG. If you want to
use previously built PDB librarys as input for trending
you must create 70 new lines after 014500 (one line for
each of the 14 variables in each of the 5 OTHn groups).
The 70 variable names are in lines 003900-004100 and in
lines 005700-006800. Each new line will be:
IF variable=. THEN variable=.;
For example, the first line will be:
IF OTH6ACTV=. then OTH6ACTV=.;
Thanks to Georg Simon, Federal Reserve Bank of Philadelphia, USA.
Change 07.062 NETSPY records caused zerodivide condition because the
VMACNSPY denominator in lines 041200 thru 041500 should have been
Apr 26, 1989 TOTRSPNO instead of TRANSNO.
Thanks to ???, KF Data, SWEDEN.
Change 07.061 TYPE74 variables AVGPNCHA, AVGPNCUB, AVGPNDEV are labeled
VMAC74 as containing milliseconds of pending time for channel,
Apr 25, 1989 control unit, and device, but erroneously are in seconds.
This change corrects the calculation so that the values
are in milliseconds and agree with the labels. In lines
039700 thru 039900, change the lines which now read:
AVGPNxxx=DURATM*PCTPNxxx/(100*SSCHSAMP);
to read:
AVGPNxxx=10*DURATM*PCTPNxxx/SSCHSAMP;
Thanks to Ron Higgins, American Honda, USA.
Change 07.060 NetView Release 2 writes "Hardware Monitor External Log
VMAC37 Record" as SMF type 37 Records and their contents are
Apr 27, 1989 described in NetView Administration Reference SC30-3361-2
(Appendix A pages 97ff). This change adds support for
three new segments (LPDA-2, LAN, and Generic Event) into
the TYPE37 data set.
Change 07.059 NetView Release 2 writes "Session Monitor External Log
VMAC39 Record" as SMF type 39 Records and their contents are
Apr 27, 1989 described in NetView Administration Reference SC30-3361-2
(Appendix A pages 163ff). This change adds support for
new subtypes 7 and 8. Subtype 7 in TYPE39_7, Init Failure
is identical to pre-existing TYPE39_6 dataset. Subtype 8
in TYPE39_8, Storage and Event contains 44 new variables.
(VM NetView also writes SMF format data to its external
file which should be processable with TYPE39, but this
has not yet verified).
Thanks to Russell Brooks, James River Corporation, USA.
Change 07.058 JES3 BUILDPD3 prints TYPE30_5 (twice!) due to debugging
BUILDPD3 code (lines 013900 and 014300) which are now deleted.
Apr 20, 1989 Two PROC CONTENTS of the PDB and WORK ddnames are deleted
(lines 059100 thru 059400) because ANALCONT provides the
same report. (Some sites did not want the contents, but
I find them worthwhile in tracing problems.)
Thanks to George Scott, Rockwell International Corporation, USA.
Change 07.057 VM/XA Monitor records have been altered by PTF VM35971
VMACVMXA and VM35321 which are now supported by MXG. VM35971 adds
Apr 20, 1989 VMDCTMIG (Pages Migrated from ESTORE to DASD), VMDCTXWT
(Pages written from main to ESTORE) and VMDCTXRD (pages
read into main from ESTORE) to the VXUSEACT and VXUSEATE
detail data sets. MXG adds the new variables to the MXG
created VXBYUSR, VXSUMUSR and VMXAINTV datasets, storing
the values as rates per second as are other paging data.
PTF VM35321 adds VMDCPUAD (CPU Address) to the VXSCLADL,
VXSCLDDL and VXSCLAEL Schedule records. This now permits
MXG to properly de-accumulate those data (prior to this
fix, the schedule data was unusable because VMDCPUAD was
needed to de-accumulate those data).
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 07.056 TPX SMF records read directly from active VSAM data set
VMACTPX cause STOPOVER because MXG was incomplete. In line 032000
Apr 19, 1989 change TPXOFF=TPXOFF-3; to TPXOFF=TPXOFF-3+OFFSMF;
There is no problem processing TPX records from a normal
SMF dumped dataset.
Thanks to Bob Lemaster, Central Bank of the South, USA.
Change 07.055 Support for the TLMS (Tape Library Management System) CA
TYPETLMS product is added by this user contribution. The code was
Apr 19, 1989 restructured but has yet been tested with real data in
its revised form. The TLMS Catalog is read to create an
observation for each tape volume.
Thanks to Wing Louie, Chase Manhattan Bank CDC, USA.
Change 07.054 NPM Type 28 Subtype 5C (Dynamic Reconfigure Notification)
VMAC28 caused STOPOVER because DRNTNAM, Target Resource Name, is
Apr 18, 1989 not always present (this is not documented by IBM).
Insert new line 164310 after line 164300:
164310 @; IF LENTOF GE 19 THEN INPUT
to conditionally input DRNTNAM when it is actually there!
Thanks to Larry Doub, R J R, USA.
Change 07.053 DB2 Version 2.1 causes "VMACDB2 DATA. UNEXPECTED ID=100
VMACDB2 NRINSD=14 and NRIFCID=13" messages on the SAS log. This
Apr 18, 1989 is not really a problem to worry about. The NRINSD and
NRIFCID count the number of Destination Data Sections and
Instrumentation Data Sections in the record, which count
records written for the monitor, and do not relate to the
DB2 system itself. As a result, MXG kept only the first
three NRINSD destination names and only the first five
IFCIDs (see page 203 of the MXG Supplement for the list
of variables that are kept). I don't think the counters
are useful, and if they were, it should be done with an
additional data set. Until someone demonstrates a need to
use this obscure data, I have re-worded the text of the
message: "MXG KEEPS THE FIRST THREE/FIVE IFCID/INSD, BUT
YOUR DATA HAD n. THIS IS NOT USUALLY IMPORTANT". If I
knew for sure it was always 14/13 I might suppress the
note. This change also corrected some minor logic errors
in deciding when to print the message: Line 094800 should
GT 3 instead of GT 5, and -4 should be -2, and 094900 is
PIB2. instead of $CHAR4.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 07.052 SYNCSORT SMF records read from "active" VSAM SMF file
VMACSYNC caused STOPOVER abend (but worked fine from dumped SMF).
Apr 18, 1989 Remove +OFFSMF from line 026200.
Thanks to Dave Greene, Kwasha Lipton, USA.
Change 07.051 RMF Monitor III VSAM data sets are supported by this
EXZRB... major user contribution. (In MVS/ESA, a very small
IMACZRB part of the Monitor III data is written as a subtype
TYPEZRB of the Type 72 record and supported in TYPE72MN data
VMACZRB set introduced in MXG Version 6.6). The workload
ZRBJCL delay monitor data is far more extensive that that,
ZRBRPTn and this extensive set of code processes those VSAM
ZRBWORK RMF III data into several data set names. Although
Apr 12, 1989 the "ERB" acronym is the more appropriate name for
these data, I renamed Dick's use of ERB to ZRB as I
expect this code will be short lived as MVS/ESA takes
over in the future.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 07.050 Concatenated VM/Monitor data contained invalid values
VMACVMON for the first interval after each START event, because
Apr 12, 1989 MXG incorrectly outputted all intervals, when it was
intended to only output beginning with the second. In
all twenty occurrences of IF INTRVCNT GT 0 THEN ....
must be changed to IF INTRVCNT GT 1 THEN
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 07.049 The references to _CICOTHR for the ddname of the CICS
ANALCICS ACCT, EXCE, and YSTM data sets should have been changed
Apr 11, 1989 to _CICACCT.CICSACCT, _CICEXCE.CICSEXCE and
_CICYSTM.CICSYSTM to be consistent with IMACCICS.
Thanks to Mark Hutchinson, Atlantic States Bank, USA.
Change 07.048 IMS Log Record decoding corrections.
VMACIMS a.After 024700 (the @; after DEST $CHAR8.), insert line
Apr 9, 1989 IF _IMSVERS GE 2.2 THEN INPUT MSGIHSQN $CHAR8. @;
IMS 2.2 added this eight byte field and MXG missed it.
Without the fix, IMS 2.2 abended with STOPOVER (though
several IMS sites looked at the hex dumps, inserted an
+8 before the SIZELU6 variable to align and circumvent!)
b.Change 027400 from LOC=MSGPRFLL; to LOC=MSGPRFLL-3;
so that MSGXDLEN is correctly read in and used for the
MSGLEN, MSGSZIN, and MSGSZOUT variables.
c.Both references to unused unkept COMMFLAG were deleted.
d.Insert after line 043500 (between DLRTOKEN and PSTTSKID
@; IF _IMSVERS GE 2.1 THEN INPUT
e.Insert after line 056010 (between MSGDRRN and DLRTOKEN
@; IF _IMSVERS GE 2.1 THEN INPUT
Items d. and e. prevent STOPOVER with IMS 1.3 data.
f.Any time stamp was set missing if PTIME was exactly zero
(midnight). The PTIME/PDATE INPUT statement uses the ??
syntax (suppresses hex dump and error message and makes
value missing for invalid PD. data). Thus PTIME could be
zero, causing MXG to not calculate a datetime variable.
All statements testing PTIME GT 0 were changed to test
PTIME GT . (missing value).
g.Log type 35x records were not always output, causing the
ENQTIME to be missing which caused an out-of-sort-order
failure to merge ENQTIME with other transaction records.
Heuristic logic testing ENQFLAG and FLAG2 bits determine
if a 35x record is for input, output, message-switch, or
program-to-program, brute-force determined by finding a
combination, then looking at a detail trace to determine
the proper IMS35x data set to output. Values previously
unseen were skipped and not output. Now, unknown values
are printed on the SAS log. (If you should encounter a
new combination, call and we'll discuss how you can dump
the IMS log records to figure out which IMS35x dataset it
should be put in - I sure wish there were a better way!)
This change restructured logic in IMACIMS to remove the
RETURN statements and replaced IF's with ELSE IF's.
Thanks to Harry Olschewski, DVG Kiel, GERMANY.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 07.047 RACF Auditor reports from SMF type 80 record exposures.
ANALAUDT 1.In member ANALAUDT, references to _RACF must be changed
FORMATS to _AUDT (which sets the DDNAME containing your TYPE80
Apr 9, 1989 data set, defined in IMACANAL).
2.The remainder of this change corrects only the values of
variables ALLOW and INTENT in SUF/INSUF Auth. reports.
There is no other impact if you do not put this fix on.
This report decoded ALLOW and INTENT from the wrong byte
of RACFDATA, in a block of code in the wrong location,
and were not RETAINed for multi-observation RACF events!
a.ANALAUDT changes:
-Add ALLOW INTENT to RETAIN at line 009400.
-Block COPY lines 016300 thru 018100 (from /* RESOURCE
to associated END;) TO AFTER line 012500. In the new
block you copied:
-Add OR RACFQUAL=200 after RACFQUAL=201
-Change both tests for RACFDLN GE 3 to RACFDLN GE 1
-Change SUBSTR(RACFDATA,3,1) to SUBSTR(RACFDATA,1,1)
in ten statements within this copied block.
-Delete the statement OUTPUT INSUF;
-Now, go back to lines 016300 thru 018100, delete the
entire block, and replace it with these two lines:
016400 IF RACFQUAL=201 THEN OUTPUT INSUF;
016500 IF RACFQUAL=200 THEN OUTPUT SUF;
b.Additional cosmetic changes made for next Version that
are truly optional for now:
-In ANALAUDT, after RETAIN at line 009400 new line:
FORMAT ALLOW INTENT MG080AI.;
-In FORMATS, after MG080EV definition, add new format:
VALUE MG080AI
0='0:ALTER'
1='1:CONTROL'
2='2:UPDATE'
3='3:READ'
4='4:NONE'
;
c.One additional change, but only for users of the FACOM
operating systems type 80 records. Format MG080QU has a
slightly different meaning for four values, which are
changed in member FORMATS (after VALUE MG080QU) to now
describe either IBM or FACOM type 80 records:
101:INVALID PASSWORD (FACOM: OR GROUP)
102:INVALID GROUP (FACOM:UIDCARD)
103:INVALID OIDCARD (FACOM:TERMINAL)
104:INVALID TERMINAL (FACOM:APPLICATION)
Thanks to Ingrid Ahmer of Australian National, AUSTRALIA.
(railways), who sent an excellent discussion and fix for the code
relocation logic.
Thanks to Thomas Peiper, KommunData, SWEDEN.
Change 07.046 MVS Step Accounting fields were decoded in MXG TYPE30_4
IMACACCT variables ACCOUNTn, but BUILDPDB/3 does not carry these
IMACPDB STEP accounting fields into PDB.STEP. Instead, the JOB
VMAC30 accounting variables ACCOUNTn from the TYPE30_1 (Init)
Apr 30, 1989 or TYPE30_5 (Job termination) records are used through
out BUILDPDB/3 logic, which is what almost every site
really wants. Step level accounting really does not work:
you can't tell which step caused which PDB.PRINT data;
which account do you use in PDB.JOBS if different fields
are used on different steps, etc. However, IBM does not
provide a mechanism for putting job-level account fields
in type 30_1 or type3-_5 records for Started Tasks (STC).
This change creates additional variables SACCTn in both
TYPE30_V (interval) and TYPE30_4 (step) records, and the
SACCTn variables are now added to PDB.STEPS. Please NOTE
that PDB.JOBS is unchanged; ACCOUNTn variables for STCs
will still contain blanks. Further design considerations
of BUILDPDB logic is required before step account fields
could replace blank job accounting fields in PDB.JOBS.
1.Member VMAC30
SACCT1-SACCT9 was added to KEEP of TYPE30_4 and TYPE30_V
2.Member IMACACCT
SACCT1-SACCT9 were added. IMACACCT is usually modified as
described on page 311 of the MXG Guide; changes made to
the number and length of ACCOUNTn variables must also now
be made to the SACCTn variables.
3.Member IMACPDB:
SACCT1-SACCT3 added to the MACRO _PDB30_4 list of which
TYPE30_4 variables will be carried into PDB.STEPS. (MXG
defaults to 3 ACCOUNT and now 3 SACCT variables).
Thanks to Michel Leveille, CTTL, USA.
Change 07.045 MXG Programs can be executed through JCL with either an
JCLPDB explicit DD DSN=MXG.SOURCLIB(XXXXXXXX) member name in the
JCLTREND JCL, or by a //SYSIN DD * JCL statement followed by SAS
PDBTREND %INCLUDE SOURCLIB(XXXXXXXX); statements. MXG members that
Apr 9, 1989 contain JCL were inconsistent, some used member name and
some used %INCLUDE.
1. In favor of member name:
a. There was a historical limitation when JES could not
submit a job from a job if the submitted job contained a
SYSIN DD * JCL statement. The submitted job would simply
not execute. Making the DD * statements a member of a PDS
and then using only member name DD statements solved the
problem. (This still is occasionally encountered at some
sites and/or levels of JES - anyone know why/when/what?)
b. JCL is easier to comment out than SAS. JCL needs only a
asterisk in col 3 of the DD statement. SAS usually needs:
an INSERT character to make room for the leading /*,
typing of the /* delimiter before the statement,
a long shift cursor to the end of the statement,
typing of the */ delimiter after the statement,
(and only if you did not first have to cursor right, char
delete to make room in the line buffer!)
c. Production jobs which failed could be re-submitted in one
step by editing the JCL member, commenting out the member
names that had successfully completed and submitted to
run from that point.
2. In favor of %INCLUDE.
a. The MXG Exit Facility. You need the ability to change any
MXG program in your USERID.SOURCLIB, and the use of JCL
member name prevents you from making effective use of the
Exit Facility. Items b. and c. above were encountered at
State Farm and Sun, before there was an Exit Facility!
3. The conclusion. MXG will now use only %INCLUDE statements
in JCL examples. Furthermore, all %INCLUDE statements in
JCL examples will be precedeed by five blanks to make any
editing easier (as long as I don't forget to do so).
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.044 IDMS Performance Monitor SMF record processing did not
VMACIDMS retain TASBFLDS and TASNDBLV in the IDMSTAS data set. Add
Apr 9, 1989 TASBFLDS to the RETAIN statement (line 130300) and change
the 2nd occurrence of TASMXRBB line 131000 to TASNDBLV.
Variable TASTTYPE in IDMSTAS identifies the type of task
(DC Task, CICS ERU, Batch ERU, or TPMON ERU) and several
variables only apply to specific task types. MXG did not
initialize these variables, and because these variables
must be retained (the IDMSTAS record is segmented into
256 byte pieces because of the 256 byte IDMS Journal),
the "other" variables will have retained values from a
prior IDMSTAS observation. As long as you use TASTTYPE
you should not have a problem, but the real fix inserted
25 lines after 123300 to initialize the retained values:
SKIP=SKIP-40; 123300
TASTSKCD =' '; 123310
TASPGMNM =' '; 123320
TASLTEID =' '; 123330
TASPTEID =' '; 123340
TASUSER =' '; 123350
TASPGDBN =' '; 123360
TASPGNOD =' '; 123370
TASLDLST =' '; 123380
TASAMNAM =' '; 123390
TASFACCD =' '; 123391
TASCTI =' '; 123392
TASCPGNM =' '; 123393
TASCTETI =' '; 123394
TASCLID1 =' '; 123395
TASCLID2 =' '; 123396
TASCTEOI =' '; 123397
TASCJBNM =' '; 123398
TASBJBNM =' '; 123399
TASBPGNM =' '; 123400
TASBNFLD =.; 123401
TASBBALN =.; 123402
TASBFLDS =' '; 123403
TASTPGNM =' '; 123404
TASTLID1 =' '; 123405
TASTLID2 =' '; 123406
IF TASTTYPE='1.......'B THEN DO; /*ONLINE - DC TASK */123410
Thanks to Randy Springs, Glidden Paint, USA.
Change 07.043 VM/370 Account records contain blanks (rather than hex
TYPEVM zeros) for the VECVMTM and VECVIRTM vector CPU fields.
Apr 9, 1989 (Four bytes of blanks input as PIB4.3 is 1,077,952.576!)
Lines inserted after 036900 to conditionally input:
036910 @;
036920 INPUT @65 TSTCHAR1 $CHAR4.
036930 @69 TSTCHAR2 $CHAR4.
036940 @;
036950 IF TSTCHAR1 NE ' ' AND TSTCHAR2 NE ' '
THEN INPUT
Thanks to J. D. Hill, CyCare Systems, USA.
Change 07.042 NPM Type 28 SMF record subtype 60x,61x, and 62x were not
VMAC28 output. Expand the test at line 200300 to include those
Apr 9, 1989 three values of NPMSUBTY (and change comment in 200400
for EX028IN8 to read for NPMINNSA vice NPMINPMT).
Thanks to J. D. Hill, CyCare Systems, USA.
Change 07.041 Variables QTXAFLG1, QTXAIRLM, and QWHCOPID were not kept
VMACDB2 in DB2ACCT keep list, but will be needed in DB2PM-like
Apr 9, 1989 reports for DB2 Version 2.1. They are now kept.
Change 07.040 Support for Tape Management System (TMS) Catalog records
ANALTMS5 (tape volume sizes, last use, etc.) is now upgraded from
TYPETMS "X-rated (i.e, extra but not supported member) XMACUCC1"
VMACTMS5 to these members. There may be additional logic added
Apr 8, 1989 after further testing. See comments in TYPETMS.
Thanks to Joe Faska, Depository Trust, USA.
Change 07.039 The subtype 3 (Storage) type 22 SMF record (seldom if
VMAC22 ever needed) fails with MVS/370 and old MVS/XA because
Apr 7, 1989 NRPAGES may not exist and LOWADDR may be 2 or 4 bytes.
Change lines 046100 to 046300 to read:
046100 IF LENGTH-COL EQ 1 THEN INPUT LOWADDR PIB2. @;
046200 ELSE IF LENGTH-COL GE 3 THEN INPUT LOWADDR PIB4. @;
046300 ELSE IF LENGTH-COL GE 7 THEN INPUT LOWADDR PIB4.
NRPAGES PIB4. @;
Thanks to Dana Yam, Washington University, USA.
Change 07.038 These five members are one possible circumvention for a
XMAC7072 "SAS Error 344 - Compiler Limit Exceeded" condition in
XMAC71 executing BUILDPDB/3. By copying these five members to
XMAC73 your USERID.SOURCLIB library and renaming them to their
XMAC74 corresponding VMAC.... name, the number of interative
XMAC75 "DO" statements is reduced, and BUILDPDB might be able
Apr 5, 1989 to compile successfully. (The ultimate fix will be SAS
Version 6 on the mainframe, which eliminates the limit in
their compiler.) These members reduce the number of "DO"s
by processing only MVS/XA and MVS/ESA RMF records, but
depending on which additional SMF processing members you
have added to BUILDPDB/3, even with this circumvention in
place, you might still exceed the compiler limit.
An alternate circumvention which completely avoids any
exposure, and is only slightly more complicated, is to
use the IMACFILE exit to write the newly wanted SMF data
records to a temporary SMFOUT file, which is then passed
to an additional step in your BUILDPDB/3 job, which then
creates the additional data sets and copies them into the
PDB ddname. In this way you will still only read your SMF
dataset once, and by good choices of which records are in
this temporary data set versus which records you process
in BUILDPDB/3, you can keep the temporary data set small.
The XMAC7... members on Version 6.6 were unfortunately
not built correctly, and created different exposures. If
you need to use these five XMAC7... members to attempt to
avoid the compiler limit, you will need to recreate them
their corresponding VMAC.... member, replace the MVS/370
processing lines with the indicated "Initialization IF"
statements so they end up as shown below:
XMAC7072:
Replace lines 043900 thru 085000 to be:
043900 IF (ID=70 OR ID=72) AND NOT MVSXA THEN DO;
044000 IF SUPATERN=' ' THEN SUPATERN=' ';
085000 END; /* TYPE 70, 72 RECORD FOR NON-MVSXA */
XMAC71:
Replace lines 031500 thru 046100 to be:
031500 IF ID=71 AND NOT MVSXA THEN DO;
031600 IF FRAMES =. THEN FRAMES =.;
031700 IF LPSWRCLM=. THEN LPSWRCLM=.;
031800 IF PVTMVCLC=. THEN PVTMVCLC=.;
031900 IF PVTMVDWN=. THEN PVTMVDWN=.;
032000 IF PVTMVUP0=. THEN PVTMVUP0=.;
032100 IF PVTMVUP1=. THEN PVTMVUP1=.;
046100 END; /* MVS/370 TYPE 71 RECORD */
XMAC73:
Replace lines 012700 thru 002270 to be:
012700 IF ID=73 AND NOT MVSXA THEN DO;
012800 IF AVGENQUE=. THEN AVGENQUE=.;
012900 IF CHANMAP0=. THEN CHANMAP0=.;
013000 IF CHANMAP1=. THEN CHANMAP1=.;
013100 IF C0ANYCH =. THEN C0ANYCH =.;
013200 IF C0BYWT =. THEN C0BYWT =.;
013300 IF C1ANYCH =. THEN C1ANYCH =.;
013400 IF C1BYWT =. THEN C1BYWT =.;
013500 IF DEFCUBY =. THEN DEFCUBY =.;
013600 IF DEFDEVBY=. THEN DEFDEVBY=.;
013700 IF DEFERED =. THEN DEFERED =.;
013800 IF DEFLCHBY=. THEN DEFLCHBY=.;
013900 IF DEFPHYBY=. THEN DEFPHYBY=.;
014000 IF FQCUBY =. THEN FQCUBY =.;
014100 IF FQDEVBY =. THEN FQDEVBY =.;
014200 IF FQLCHRQ =. THEN FQLCHRQ =.;
014300 IF FQPHYRQ =. THEN FQPHYRQ =.;
014400 IF LCHAN =. THEN LCHAN =.;
014500 IF LCI =. THEN LCI =.;
014600 IF PCTDEFCU=. THEN PCTDEFCU=.;
014700 IF PCTDEFDV=. THEN PCTDEFDV=.;
014800 IF PCTDEFER=. THEN PCTDEFER=.;
014900 IF PCTDEFLC=. THEN PCTDEFLC=.;
015000 IF PCTDEFPY=. THEN PCTDEFPY=.;
015100 IF QUEUE0 =. THEN QUEUE0 =.;
015200 IF QUEUE1 =. THEN QUEUE1 =.;
015300 IF QUEUE2 =. THEN QUEUE2 =.;
015400 IF QUEUE3 =. THEN QUEUE3 =.;
015500 IF QUEUE4 =. THEN QUEUE4 =.;
015600 IF SIO73CNT=. THEN SIO73CNT=.;
015700 IF AVGPHYNQ=. THEN AVGPHYNQ=.;
015800 IF CPUID =. THEN CPUID =.;
015900 IF PCHANWT =. THEN PCHANWT =.;
016000 IF IDWRONG=' ' THEN IDWRONG=' ';
022700 END; /* MVS/370 TYPE 73 RECORD */
XMAC74:
Replace lines 012800 thru 002380 to be:
012800 IF ID=74 AND NOT MVSXA THEN DO;
012900 IF CUBUSY =. THEN CUBUSY =.;
013000 IF DEFERCUB=. THEN DEFERCUB=.;
013100 IF DEFERED =. THEN DEFERED =.;
013200 IF DEFERSVD=. THEN DEFERSVD=.;
013300 IF DEVBUSY =. THEN DEVBUSY =.;
013400 IF LCHAN =. THEN LCHAN =.;
013500 IF PCTDEFCU=. THEN PCTDEFCU=.;
013600 IF PCTDEFER=. THEN PCTDEFER=.;
013700 IF PCTDEFRS=. THEN PCTDEFRS=.;
013800 IF PCTQUEDV=. THEN PCTQUEDV=.;
013900 IF PCTQUEPA=. THEN PCTQUEPA=.;
014000 IF QUEUE0= . THEN QUEUE0 =.;
014100 IF QUEUE1= . THEN QUEUE1 =.;
014200 IF QUEUE2= . THEN QUEUE2 =.;
014300 IF QUEUE3= . THEN QUEUE3 =.;
014400 IF QUEUE4= . THEN QUEUE4 =.;
014500 IF UNITADR= . THEN UNITADR =.;
023800 END; /* MVS/370 TYPE 74 RECORD */
XMAC75:
Replace lines 006500 thru 012000 to be:
006500 IF ID=75 AND NOT MVSXA THEN DO;
012000 END; /* MVS/370 TYPE 75 RECORD */
Thanks to Larry Cecil, First National Bank of Chicago, USA.
Change 07.037 Version 6.6 added variable PRENTIME to PDB.PRINT and its
BUILDPDB BY-list, but the change was incomplete and needed to be
BUILDPD3 fixed (see Change 7.006) and documented (Change 7.036).
Apr 3, 1989 Another exposure to incorrect sort order was seen and is
fixed by this change. The exposure only exists on the
very first run of the new BUILDPDB when PRENTIME does not
yet exist in SPIN library, and only if the same job had
multiple print files with exactly the same PRINTIME on
different devices with one record in SPIN and one record
in today's SMF, AND only if the device names are not in
ascending alphabetical sequence! No one has reported the
exposure, but once noted, it was fixed by this change.
References to JPURTIME in this change fix another first
time exposure induced by Change 7.008, and make JES3
purge records sort order consistent with JES2.
Changes made to both BUILDPDB and BUILDPD3:
BUILDPDB BUILDPD3
018800 019200 LENGTH DEFAULT=4 READTIME PRINTIME PRENTIME 8;
019310 019710 IF PRENTIME=. THEN PRENTIME=.;
019320 019720 IF OUTDEVCE=' ' THEN OUTDEVCE=' ';
019330 019720 IF SYSPRN =' ' THEN SYSPRN =' ';
019410 019810 SYSTEM=SYSPRN;
020110 020510 IF JPURTIME=. THEN JPURTIME=.;
n/a 023900 BY READTIME JOB JESNR JPURTIME;
022900 023300 BY READTIME JOB JESNR PRINTIME PRENTIME OUTDEVCE
SYSTEM;
Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 07.036 Implementation Considerations for WEEKBLD/MONTHBLD.
WEEKBLD Changes to MXG Software can usually be implemented at any
MONTHBLD time. A powerful feature of the SAS system is its ability
Apr 3, 1989 to add variables to existing datasets and to create new
datasets automatically. To further ease implementation,
MXG logic uses SAS options "NOVNFERR" and "NODSNFERR" to
avoid "variable not found" and "dataset not found" errors
whenever approriate. Unfortunately, the NOVNFERR option
does not work if the variable is in a BY-list. Thus when
Version 6.6 added variable PRENTIME to PDB.PRINT dataset,
we failed to document all that you might have to do to
avoid a "variable not found" or "data set is not sorted"
error in WEEKBLD or MONTHBLD. This is that documentation:
If you implement the new BUILDPDB/3 code on Monday after
you have built your weekly PDB, you will avoid any change
to WEEKBLD, since all of the new daily PDBs will contain
PRENTIME and will be correctly sorted.
If you must implement the new BUILDPDB/3 in the middle of
a week, you must modify WEEKBLD by inserting new line:
003110 PROC SORT;
(between the SET MON.PRINT ... SUN.PRINT; statement and
the BY ... statement). This will create the WEEK.PRINT
by concatenating all seven dailies in unsorted order, but
now WEEK.PRINT will contain PRENTIME (since at least one
of the seven dailies was built with MXG 6.6 code). Then,
WEEK.PRINT is sorted by the original BY list. The only
cost of this modification is the double processing of the
WEEK.PRINT dataset.
You MUST modify MONTHBLD since at least one prior weekly
PDB will have been built before the 6.6 BUILDPDB. You
must remove "PRENTIME OUTDEVCE SYSTEM" from the end of
the MACRO _BYLIST definition for the MONTH.PRINT dataset
in line 016001. As soon as all input datasets used by
WEEKBLD/MONTHBLD have been built with the new version of
MXG, you can remove the modified members from your USERID
SOURCLIB or MXG.CHANGLIB libraries and use the unmodified
MXG code.
Page 263 of the MXG Supplement documented the sort order
of the PDB.PRINT data set, and should now read:
BY READTIME JOB JESNR PRINTIME PRENTIME OUTDEVCE SYSTEM.
Thanks to Bill Salassi, BHP Petroleum, AUSTRALIA.
========Changes thru 7.035 were printed in NEWSLETTER FOURTEEN==========
Change 07.035 If you used the new member IMAC30IO to remove variable
IMAC30IO D3330DRV from the _IO30DR macro defined therein, and you
IMACPDB did NOT also change member IMACPDB to adjust the dummy
Mar 15, 1989 X1-X9 variables, your PDB.JOBS data set contains wrong
values for ALL numeric values in the _SUMSTP macro that
is defined in IMACPDB. The documentation in IMAC30IO was
grossly inadequate, because it did not tell you to read
the instructions in lines 020000-023900 in IMACPDB. This
error affects ONLY the PDB.JOBS data set. Any TYPE30 data
sets and the PDB.STEPS were built correctly, even if you
removed D3330DRV. Also, removing other variables from the
other two macros (_IO30EX and _IO30TM) in IMAC30IO would
not cause any error.
FIX: The simple fix is to simply leave variable D3330DRV in
the MACRO _IO30DR definition in IMAC30IO.
If you really are concerned about the extra four bytes
and do want to delete D3330DRV from your PDB.JOBS and
PDB.STEPS data, you can remove D3330DRV from the MACRO
_IO30DR definition in IMAC30IO, but you must then change
IMACPDB:
a) Line 024400, change DROP=X1-X9 to DROP=X1-X8
b) Line 024700, remove X9 from the SUM= list
Thanks to Trevor Holland, AUSTRALIA.
Thanks to Richard Evans, Mervyn's, USA.
Comments expanded April 9, 1989:
And even if you do delete D3330DRV as described above,
you will still find an UNINITIALIZED value note because
BUILDPDB/3 still have D3330DRV in two length statements
where it should have been changed to _MAXSTP:
BUILDPDB BUILDPD3
051600 051900 change D3330DRV to _MAXSTP
055300 056100 " " "
Thanks to Lucy Fukishima, California Health & Welfare Agency, USA.
Change 07.034 The FMXGUCBL function to dynamically allocate all DASD
FMXGUCBL devices may attempt to allocate a printer device. This is
FMXGUCBL a soft error condition. It turns out that the FMXGUCB7
Mar 15, 1989 function (provided because FMXGUCBL was thought to be an
MVS/XA-only function) actually uses an MVS/XA facility
that was retro-fitted into MVS/370. FMXGUCB7 not only is
usable under MVS/XA, it does not try to allocate printer
devices! This change replaces FMXGUCBL member with the
contents of FMXGUCB7, changes FMXGUCB7 therein to read
FMXGUCBL, and deleted member FMXGUCB7.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 07.033 The VTOC processing example in member TYPEVTOC should use
TYPEVTOC %VMXGVTOC instead of the erroneous %_MXGVTOC, and comment
TYPEVTOC refering to member VMACVTOC should have been VMXGVTOC.
Mar 15, 1989 Member VMACVTOC was replaced by VMXGVTOC and now VMACVTOC
has been deleted to avoid the confusion.
Thanks to Chun-Heng Liu, Brooklyn Union Gas, USA.
Change 07.032 MVS/ESA-only variables for SQA, LPA, CSA, LSQA, and REGS
VMAC71 frames in CS (Central Storage, formerly Real Storage) and
Mar 15, 1989 in ES (Expanded Storage, formerly Extended Storage) are
missing. The test in these lines should have been:
083000 IF VERSNRMF GE 410 AND LENPGDS GE 504 THEN DO;
085600 IF VERSNRMF GE 410 AND LENPGDS GE 536 THEN DO;
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 07.031 RMF Monitor III variables in Subtype 2 SMF Type 72 record
VMAC7072 (MVS 3.1.0e only) WSETACT WSETIDL WSETDIV WSETFIX WSETASM
Mar 15, 1989 need zero divide protection in lines 165794 thru 165810:
IF denominator GT 0 THEN WSETACT = numerator/denominat
ELSE WSETACT=.;
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 07.030 In member ASUMCICS the label in line 009100 for variable
ASUMCICS RESPBKT6 should be 8 SEC instead of 6 SEC. Additionally,
VMXGSUM in member VMXGSUM the example in comments for "min, max,
Mar 15, 1989 and sum" actually calculated mean, max and sum (and also
misspelled statistics).
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.029 An unexpected limitation of CMS SAS (although it is noted
new macros in a documentation footnote): new style %MACRO names are
Mar 9, 1989 limited to seven position names! Current MXG %MACROs that
are now eight-characters long: ANALDB2R ANALDMON ANALNSPY
GRAFRMFI GRAFTRND IBM3287F PCONLINE VMXGGOPT and ZETAFOIL
Thanks to J. D. Hill, CyCare Systems, USA.
Change 07.028 Value tested for RECFM=VM should have been (line 003200):
VMACRCFM 003200 ELSE IF RECFMT='0100001.'B THEN RECFM='VM ';
Mar 9, 1989
Thanks to Mr. Rathfelder, Taylorix, GERMANY.
Change 07.027 Beginning and ending times of DB2 reports were taken from
ANALDB2R SMF timestamp and not the actual interval, causing loss
Mar 9, 1989 of first interval.
Line 089300 Change VAR SMFTIME; to VAR QWHSSTCK DURATM;
Line 089400 Change MIN=MINSMF MAX=MAXSMF; to
MIN=MINSMF MAX=MAXSMF SUM=X1 DURATM;
Thanks to Jan van Lent, Fokker, NETHERLANDS.
Change 07.026 DOS/VSE POWER records have again (incompatibly) changed
IMACDOS the location of the RECID and the OFFSET that need to be
Apr 26, 1989 set in IMACDOS. IMACDOS now defaults to DOS 2.1.7.
VSE Version OFFSET value RECID @xx value
3.1.2 0 @43
2.1.7 8 @51
2.1.3 16 @59
Earlier 0 @43
Note that processing DOS data usually requires the JCL
LABEL parameter of (,NL) or (,LTM).
Thanks to Bill Sikora, EDS Auburn Hills Mi, USA.
Thanks to Barry Debenham, Cigna Services, ENGLAND.
Change 07.025 Cache DASD SMF record variables RWRATIO and READHR could
VMACACHE be non-zero even though there was no activity to a device
Mar 9, 1989 because they were not reset missing from the prior device
segment in the same record. Insert two new lines:
051410 ELSE RWRATIO=.;
051510 ELSE READHR=.;
to reset when the denominators are zero.
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 07.024 IDMS 10.2 Performance Monitor data written to Journal and
TYPEIDMJ not to SMF was not correctly handled. There is a header
Mar 9, 1989 of 20 bytes when data is written to the IDMS journal that
is not in the SMF format data. Change to read
001100 INPUT +20 PMSTYPE PIB1.
(and make sure IMACIDMS was updated with the same value
set by #PMOPT RECID= in your IDMS gen.)
Thanks to Mike Eisenhart, York International, USA.
Change 07.023 The PROC DATASETS NOLIST; DELETE DUMMY. _DSET; in the old
MONTHBLD definition of _MNTHBLD is not acceptable to SAS. The full
Mar 8, 1989 dataset name is not supported in the DELETE statement. In
place, and also at the end of the new definition which
follows the old definition, the correct syntax added is:
PROC DATASETS DDNAME=DUMMY NOLIST; DELETE _DSET:
All this simply keeps the DUMMY library at minimum size.
Thanks to Pat Stockel, New Jersey Educational Computing Network, USA.
Change 07.022 Reading SMF data with the CMS version of SAS will cause a
VMACSMF DMSSOP0363 Code 04 OPEN error. The CMS Version of SAS is
Mar 8, 1989 limited by IBM's CMS OS Simulation code, which does NOT
support LRECL=32760, even though SMF records can contain
a real LRECL of 32760. MXG Version 6.6 did change the
LRECL value in _SMF macro in VMACSMF from 32756 to 32760
precisely because we encountered STOPOVER abends when SMF
data with real LRECL=32760 was encountered. If you must
process your SMF data under CMS SAS, you will need to
change the LRECL in the _SMF macro to 32756, and try it.
If the actual SMF data contains records actually 32760
bytes LRECL, you will STOPOVER abend, but if there are
no records that long you will be home free. If you do
have actual LRECL=32760 physical records, there may be
no immediate solution, but please call. (The IBM limit
is described on page 172 of SC19-6209 for VB and VBS
support under CMS Release 4). I have an open problem
with IBM on this IBM limitation.
Thanks to J. D. Hill, CyCare Systems, USA.
Change 07.021 Sample CMS REXX EXEC for testing of MXG had the wrong
REXXTEST name for the FILEDEF in line 000523. Change MONWRITE to
Mar 7, 1989 MWINPUT (and also in line 000524 change DIKS to DISK).
Thanks to J. D. Hill, CyCare Systems, USA.
Change 07.020 CICS sample reports for AMXT and CMXT task delays could
ANALCICS require lots of work space because all CICSTRAN variables
Mar 7, 1989 were kept. This change keeps only the needed variables.
Remove semicolon from line 043300 and insert new line:
043310 (KEEP=APPLID TERMINAL STRTTIME ENDTIME TRANNAME);
Thanks to Janet Davis, Anchor Systems, USA.
Change 07.019 IBM documents SMF type 30 triplets (offset,length,number)
VMAC30 as present if "number" is non-zero, but one site found a
Feb 20, 1989 record with length=0 and non-zero offset and number. (In
addition, the offset put this section in the middle of
the EXCP section!) Though this is probably an APARable
IBM problem, it caused MXG a STOPOVER abend. As a result,
MXG added a nonzero length test to each test for offset
and number, and then compares the record length to the
offset+(length*number)-1 to protect MXG from yet another
potential IBM data error. Whenever a bad triplet is found
MXG prints an error message on the log, then deletes the
bad record and continues processing the SMF data.
Added Apr 5, 1989: ACCT section variable NRACCT does NOT
count the number of sections of length LENACCT, instead
NRACCT is the count of accounting fields within the one
account segment of length LENACCT. Test for ACCT is thus
offset+length-1.
Thanks to John Brown, Performance Systems Incorporated, USA.
Change 07.018 The variable DEVICE for a Channel-to-channel adapter
VMACUCB was OTHER. This minor change now sets DEVICE='CTC'.
Feb 15, 1989 Add new line
004110 ELSE IF DEVCLASS=41X THEN DEVICE='CTC';
Thanks to Bill Mullen, BGS, USA.
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 07.017 Type 80 SMF records for RACF Version 1 Releases 8.1 and
FORMATS 8.2 were already supported by MXG 6.6! There is only one
VMAC80 new flag field and three new values of RACFQUAL (204-206,
Feb 15, 1989 whose meaning can easily be deduced from Table 1 in the
Appendix 10 of SC28-1343-4) added by RACF 1.8, and none
are significant. This change creates variable RACFRE2
and adds three values to the MXG MG080QU. format.
Change 07.016 This VM/370 HPO-only change affects user class variables
VMACVMON DRPCANUS, DRPPOPUS, and RPCUMUS in VMONUSRD and VMONUSRS
Mar 8, 1989 and their values in VMONPERF. DRPCANUS and DRPPOPUS were
never de-accumulated and have always been wrong. In VM
HPO (version 4.2 and version 5, although documented only
for version 5) the user class record was incompatibly
changed by IBM, affecting the other user class variables
input after DRPPOPUS. This should be low impact for most
VM/370 HPO sites (unless, of course, you need the data!).
a.This part supports the incompatible changes documented in
Release 5 HPO, which have also been found (almost exact,
missing only the new VMACNT field) in HPO 4.2 data.
I don't yet know the PTF which made the 4.2 changes.
Move line 246700 to after 248600
Change line 246800 GE to EQ
Replicate lines 246800 to 248100
Change line 248110 EQ 178 to GE 192
Copy 246200 to 246500 after 248110
Change 248111 from PIB4. to PIB8.
Remove @133 @135 @137 from 248112 thru 248114
Change @139 PPSTSWUS PIB2. (line 248120) to
@145 PPSTSWUS PIB4.
Change line 248130 from PPSTPPUS PIB2. to PPSTPPUS PIB4.
b.This part applies to both HPO releases and corrects the
DPRCANUS and DRPPOPUS variables (and eliminates their
meaningless average and maximum value variables DRP...AV
and DRP...MX).
New Lines:
315910 DRPCANUS=DIF(DRPCANUS);
315920 DRPPOPUS=DIF(DPRPOPUS);
319910 IF . LT DRPCANUS LT 0 THEN LOGON=1;
319920 IF . LT DRPPOPUS LT 0 THEN LOGON=1;
322810 DRPCANUS=.;
322820 DRPPOPUS=.;
Line 328700 (follows /*AVG), DRPCANUS DRPPOPUS. This line
must be moved immediately following 329400 (DEFRQ).
Line 330800 change X12 to X10.
Lines 331000 and 331200, remove DRPCANAV DRPPOPAV.
Line 331500 remove X11 X12.
Line 331800 add DRPCANUS DRPPOPUS after DEFRQ.
Lines 333900 thru 334200 (Labels for DRP...), delete.
Line 338100 remove DRPCANAV DRPCANMX DRPPOPAV DRPPOPMX
Thanks to Ron Roberts, The Equitable Life Assurance Society, USA.
Change 07.015 This new member will be incomplete in your source library
ANALALL even though the complete member is on the source tape!
Feb 15, 1989 The member (to read SMF and print all records from a job)
contains IEBUPDTE ./ control cards, which were processed
(unexpectedly) by IEBUPDTE in creating your MXG.SOURCLIB!
Had you looked at the IEBUPDTE log, you would have seen a
IEB816I message for ANALALL, followed by three IEB816I
messages for IMACJBCK, IMAC30DD, and IMACINTV which were
actually part of ANALALL! (Later in the log you would see
the real IMACJBCK,IMAC30DD,IMACINTV create with IEB817I.)
To create the ANALALL member, copy the source tape to a
sequential dataset on disk (IEBGENER,FB,80,6160), with
SPACE=CYL(1) and DISP=(,CATLG,CATLG). The job will ABEND
with B37, but the one cylinder data set will contain the
ANALALL member. Then use your editor to block copy the
lines between ./ ADD NAME=ANALALL & ./ ADD NAME=ANALAUDT.
I have changed the "./" to "XY" and added comments to
change them back to avoid the problem in the future.
Change 07.014 The Assembler parameters OJB/OBJECT and SYSLIN/SYSGO may
EXITMONI be different for different levels of ASM. Assembler XF
Feb 15, 1989 (IFOX00) used SYSGO and OBJ. Early Assembler H (IEV90)
required SYSLIN and OBJECT, and if OBJ was used, NOOBJECT
was set (with no condition code) and no object deck was
created, causing the LINKEDIT step to fail. An old PTF
(PP29236) to ASM H allows either OBJECT or OBJ (probably
as a result of ASM XF user complaints), even though only
OBJECT is actually documented for ASM H. This change is
for info only, and was revised after Newsletter FOURTEEN.
Thanks to John McAlpine, CSX, USA.
Thanks to Bob Rutledge, CSX, USA.
Change 07.013 This is an interesting problem. Three separate STOPOVER
VMACVMON abends were encountered on three different VM/SP records
Feb 15, 1989 that were shorter than expected. The culprit turned out
to be an error in VM Systems Group's VCOPY Product (a
replacement for IBM's CMS COPYFILE command). This site
used IBM's COPYFILE to copy VM/Monitor data. COPYFILE has
has an option "TRUNC" (although IBM's default is NOTRUNC)
that truncates blanks (X'40') when a fixed length file is
converted to a variable length file (to save DASD space).
When VCOPY replaced IBMs COPYFILE, its default of TRUNC
and a coding error in VCOPY (now fixed by Fix Co0263) had
truncated all X'40's at the end of VM monitor records!
If you have VCOPY, you can either request the fix from
the vendor, change their system wide default to NOTRUNC,
or specify NOTRUNC on the COPYFILE statement to avoid
the unexpected data trunction. Hopefully, you will not
encounter the problem, but the MXG circumventions made
(before the truth was known) were left in place!
Change line 212800 to read:
INPUT @9 USER : $8. @; /*MN098UID*/
Change line 216400 to read
IF LENDATA GE 1 AND LENDATA+19 LE LENGTH THEN
Insert two new lines after 229400:
229410: @;
229420: IF LENGTH GE 40 THEN INPUT
Thanks to Steve Smith, Hammermill Paper Co, USA.
Change 07.012 MVS/ESA TYPE1415 data now uses three bits of SMF14RIN to
VMAC1415 indicate ILIB managed data set (Bit 0 on), Trunc macro
Feb 15, 1989 issued (Bit 1 on) and/or Null segment encountered (Bit 3
on). MXG read byte one of SMF14RIN as variable RECIND1 &
byte two as RECIND2, but kept only RECIND1 (because all
bits in RECIND2 were formerly reserved). This change adds
RECIND2 to the KEEP list for TYPE1415.
Change 07.011 -In a major enhancement to CPU data capture in MVS/ESA,the
IMACPDB type 30 SMF records capture three new CPU measures:
VMAC30
VMAC434 CPUHPTTM - Hiperspace CPU. The CPU time used to read from
VMACSMF and write to hiperspaces by this step/job.
Feb 15, 1989 CPUIIPTM - CPU I/O SLIH time. The CPU time used by the
Second Level Interrupt Handler in servicing
I/O requests for this step/job.
CPURCTTM - Region Control Task CPU Time. The RCT handles
QUIESCE and RESTORE and thus predominately is
involved in SWAP management. This CPU measure
should significantly help TSO capture.
All three CPU measures are NOT captured in the RMF TYPE72
performance group data, nor are they in the type 4 or 34
step records. While the CPUHPTTM is a new measure of an
MVS/ESA-only activity (movement in/out of hiperspaces),
the CPUIIPTM and CPURCTTM now capture CPU times that have
been THE major contributor to uncaptured CPU times: I/O
interrupt handling and TSO swap processing.
IBMs CPU timing comparisons in the DFSORT 11 announcement
(289-036) use the sum of ALL CPU measures (the three new,
plus the two TCB measures AND the two SRB measures). For
those of you who have had trouble convincing your bosses
to use TCB plus SRB for billing, etc., you can use this
example from big blue! Note that IBM refers to "five"
CPU fields, but there are really seven fields now.
-Variables RECLAIMS, COMRECLM, and LPARECLM in TYPE30 and
TYPE434 (and hence in PDB.STEPS and PDB.JOBS) no longer
exist in MVS/ESA. In their same location are three new
MVS/ESA only variables:
CREADMIS - Incorrect CREADS. Number of misses when an
attempt to read data from an expanded-storage-only
hiperspace failed because the data was not found (was
variable RECLAIMS)
HIPAGINS - Hiperspace pageins from auxiliary storage
into processor storage (was variable COMRECLM).
HIPAGOUT - Hiperspace pageouts (was variable LPARECLM).
MXG 6.6 will "Tolerate" the new CPU fields (i.e. execute
without error), but for MXG to be "Capable" (i.e., to
create the new CPU fields in TYPE30 and PDB.JOBS/STEPS
data sets, and to create the three Hiper-related fields
you must make the following changes:
-In member VMAC30:
-Add the three CPU variables (CPUHPTTM,CPUIIPTM,CPURCTTM)
and the Hiper variables (CREADMIS,HIPAGINS,HIPAGOUT) to:
-KEEP list for TYPE30_V, TYPE30_4, TYPE30_5, TYPE30_6.
-LABEL statement.
c. CPU vars only to FORMAT statement for TIME12.2 format.
-Delete the CPUTM=SUM( ... ); statement, line 056800.
-Insert the following seven lines after line 057500:
IF LENCPU GE 56 THEN INPUT
CPUIIPTM PIB4.2
CPURCTTM PIB4.2
CPUHPTTM PIB4.2
@;
CPUTM=SUM(CPISRBTM,CPITCBTM,CPUHPTTM,CPUIIPTM,
CPURCTTM,CPUSRBTM,CPUTCBTM);
-Insert these lines after line 062000 (contains @;):
(Note that in the MXG implementation this change is more
extensive; variable MVSESA is now created by VMACSMF for
MVS/ESA. This change avoids that additional Edit.)
IF MVSXAFLG='....1...'B THEN DO; /* MVS/ESA */
CREADMIS=RECLAIMS;
HIPAGINS=COMRECLM;
HIPAGOUT=LPARECLM;
RECLAIMS=.;
COMRECLM=.;
LPARECLM=.;
END;
-In member IMACPDB add the six new variables (CPUHPTTM,
CPUIIPTM,CPURCTTM,CREADMIS,HIPAGINS,HIPAGOUT) to:
-The _PDB30_4 definition at lines 013200-013300.
-The _SUMSTP definition at lines 017700-017800.
Thanks to Dave Greene, Kwasha Lipton, USA.
Change 07.010 DB2 reports had minor errors. The use of "ALL" (to create
ANALDB2R reports for all plans, all ids, etc.) was removed in MXG
VMAC102 6.6 (but not specifically documented) because you might
Feb 17, 1989 have "ALL" as a plan name, etc. Now, to create reports
for "all" of something, use the default (by specifying no
value for the argument).
In ANALDB2R:
Line 235800 and 235900 must be reversed so DB2COUNT+1
precedes the CALL SYMPUT statement.
Line 254300 should be QWPZTOUT and line 255100 should
be QWPZISWI. (They are reversed).
In VMAC102:
Insert new line after 081900:
QWPZTRSZ=QWPZTRSZ*4;
Thanks to Ervin Claxon, Ashland Oil, USA.
Change 07.009 Processing multiple VM/XA Monitor files will cause the
VMACVMXA "Range is Repeated" error message in attempting to create
Feb 16, 1989 the temporary Format which maps Device Information to the
RDEVSID value. Duplicate RDEVSID values do exist in the
VXMTRDEV data set, but MXG's logic to remove duplicate
values incorrectly included BEGINMTR in the BY statement.
FIX: Remove BEGINMTR from both BY statements in lines 678500
and 678800.
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 07.008 The JES2 Spool Transfer program causes multiple job purge
BUILDPDB records. If a job which is still in the execution queue
Mar 11, 1989 after it has been executed (eg., a job which encountered
a DSENQ conflict that was canceled and requeued, or any
job processed by the MVS Throughput Manager product) is
spool transfered and reloaded, two purge records will be
created (one at offload, one after real execution) and
both contain non-blank values for SYSEXEC. A non-blank
SYSEXEC separated the "real" purge record (for PDB.JOBS)
from the multiple NJE purge records (into PDB.NJEPURGE).
If two (or more) purge records with non-blank SYSEXEC are
found in the same BUILDPDB run, duplicate observations in
PDB.JOBS were built. The use of just SYSEXEC to identify
"real" purge records is insufficient. Part of this fix is
a guarantee that only one "real" purge record is used by
MXG, even if multiple are found. The other part of the fi
selects the purge record created at offload by JES2 Spool
Transfer program (DEVNAME, Transmit Device Name beginning
with OFF) into the PDB.NJEPURGE data set. If your site
does not use Spool Transfer, you have no exposure.
FIX: 1.BUILDPDB.
Insert new line after 014200:
014210 DEVNAME=:'OFF' OR
Add JPURTIME to the end of the BY list at line 023500.
Insert new line after 023600:
IF LAST.JESNR THEN OUTPUT;
2.IMACPDB
Add DEVNAME to line 008600 (inside _PDB26J2 macro).
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 07.007 MONTHBLD on the MXG 6.6 Library causes a SAS 180 SYNTAX
MONTHBLD error. In making the member more comsmetically appealing,
Feb 14, 1989 the invocations of _MNTHBLD ended up ending in column 72.
Since the next line starts with MACRO, SAS combined the
end of one line with the beginning of the next to create
the string _MNTHBLDMACRO, which SAS cannot recognize!
FIX: Delete the blank before the percent sign in each line
than ends with _MNTHBLD in column 72.
Thanks to John Mattson, National Medical Enterprises, USA.
Change 07.006 Variable PRENTIME in PDB.PRINT was added to the sort list
BUILDPDB in BUILDPDB but was left in a DROP list in BUILDPDB/3 and
BUILDPD3 not added to the BY list in WEEKBLD. This caused PRENTIME
WEEKBLD to not exist in PDB.PRINT and caused WEEKBLD to ABEND.
Feb 9, 1989
FIX: 1.BUILDPDB: remove PRENTIME from DROP statement line 048300
2.BUILDPD3: remove PRENTIME from DROP statement line 048700
3.WEEKBLD: add PRENTIME to line 003200 between PRINTIME and
OUTDEVCE.
Thanks to John Mattson, National Medical Enterprises, USA.
Thanks to Gary Ruedinger, Response Graphics, USA.
Change 07.005 DB2 Trace 102 SMF record subtype 58 or subtype 87 caused
VMAC102 STOPOVER ("Input exceeded record length") for DB2 1.3 or
Mar 11, 1989 earlier records.
FIX: Insert new line after line 163900:
163910 @; IF QWT02R1L GE 302 THEN INPUT
Add PIB4. after QW0087FR in line 144400.
In subtypes 15,17,18,22,53, and 58 incorrect calculations
caused the input to end before all fields had been read.
Change ENDPROD to ENDPRODA in lines 098200,250800, and
255600.
Change OFFPROD to OFFPRODA in lines 160200,166400,
260400, and 263900.
Thanks to Jan-Ake Christoffersson, Gotabankendata, SWEDEN.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
Change 07.004 NPM type 28 produces "Unexpected Subtype" message for 08X
VMAC28 NPMSUBTY for the ENABLE NSA event record.
Feb 7, 1989
FIX: Change first occurrence of 09X in line 197600 to 08X.
Thanks to Michelle Buchecker, IBM Boulder, USA.
Change 07.003 JCL for HSM processing included non-existent testing name
JCLHSM of XMXGHSM.
Feb 7, 1989
FIX: Change XMXGHSM to VMXGHSM in line 006600.
Thanks to Billy Westland, Candle Corporation, USA.
Change 07.002 MXG variable CPUTM in the CIMSTRAN data set from IMF data
VMACCIMS from Boole & Babbage did not include all CPU variables,
Feb 7, 1989 and the variable was not in the KEEP list. Also, SERIALIO
was not protected if it overflowed its two byte counter.
FIX: 1.Insert new line 002410 (after 002400) containing CPUTM
2.Add CPUCOPTM,CPUMOPTM, to the SUM function arguments
in line 044000.
3.Add CPUCOPTM,CPUMOPTM,CPUSBFTM,CPUSDLTM,CPUSOPTM,
CPUDB2TM to the SUM function arguments in line 070400.
4.Change LE 12 to LE 13 in line 065900.
Thanks to Kenneth D. Jones, Maritime Telephone and Telegraph, CANADA.
Thanks to Agneta Bergsten, SPP, SWEDEN.
Change 07.001 TREND data base code fixes. Always specify SAS Options
GRAFTRND MACRO and DQUOTE when using %MACROs. GRAFTRND will only
TRNDJOBS produce first and last pair of graphs if MXG Version 5.5
TRNDRMFI PDBs were used (because SU_SEC variable did not exist in
TRND72 RMFINTRV until 6.6). When a macro variable is set by data
PDBTREND value in a data step, a RUN; statement seems required at
VMXGSUM the end of the data step to actually set the macro value.
Mar 9, 1989
FIX: 1.GRAFTRND: Change all occurrences of OTHRn (ten separate
times for n=0,1,...,9) to OTHn (without the R).
Line 007800 add OTH6CPU OTH7CPU OTH8CPU OTH9CPU
Insert two new lines:
011310 RUN;
017110 RUN;
2.TRNDJOBS line 002300 Add NUMJOBS after SUM= (before IWT)
3.TRNDRMFI:
Insert new line after 001200:
001210 %INCLUDE SOURCLIB(VMXGSUM,VMXGDUR);
Line 001400 add (IN=INWEEK) after WEEK.RMFINTRV
Lines 002600,29,32,35,38,41,44,47,50,53,56,59,62,65,68,75
add BATCNT TSOCNT IMSCNT CICSCNT OTHRCNT OTH0CNT
OTH1CNT OTH2CNT OTH3CNT OTH4CNT OTH5CNT OTH6CNT
OTH7CNT OTH8CNT OTH9CNT TRIVCNT to respective line.
Lines 011400,115,117,119,121,123,125,127,129,131,133,135
137,139,141,143 change / ....TRAN to / ....CNT
respectively.
Insert new line after 014500:
014510 IF INWEEK THEN DO;
Insert new lines after 014700:
014710 END;
014711 IF SU_SEC =. THEN SU_SEC=.;
014712 IF PARTNCPU=. THEN PARTNCPU=.;
014713 BATCNT=BATTRAN*DURATM;
014714 TSOCNT=TSOTRAN*DURATM;
. (one for each of the 16 ...CNT variables added
. in lines 002600-007500 above)
014727 OTH9CNT=OTH9TRAN*DURATM;
014728 TRIVCNT=TRIVTRAN*DURATM;
After line 15400 insert
DROP BATCNT TSOCNT IMSCNT CICSCNT OTHRCNT OTH0CNT
OTH1CNT OTH2CNT OTH3CNT OTH4CNT OTH5CNT OTH6CNT
OTH7CNT OTH8CNT OTH9CNT TRIVCNT;
4.TRND72 line 001400 Semi-colon must be a comma
5.PDBTREND line 009500 %GRAFTRN must be %GRAFTRND
insert new lines after 011200:
011210 PROC SORT;
011220 BY SYSTEM PERFGRP;
6.VMXGSUM:
line 025900 Add DATETIME &DATETIME 8 before semicolon
new line 025910 IF DATETIME=. THEN DATETIME=.;
line 035400 Add DATETIME &DATETIME 8 at end of line
new line 035510 IF DATETIME=. THEN DATETIME=.;
Thanks to Alan W. Maloney, Telenet Communications, USA.
Thanks to J. D. Hill, CyCare Systems, USA.
Thanks to Pete Shepard, Ashland Oil, USA.
Thanks to Rich Lopez, Ethicon, USA.
LASTCHANGE: Version 7
This page is (almost) blank (intentionally).
End of Changes Log, but how's this for page filler, printed verbatim
from an entry in IBM's INFO/SYS (SMF6CPS is COPIES in TYPE6):
E343725 (HIT LIST 000003/000013)
LINES: 1 THRU 15 OF 15
H E343725 S=TOOLS C=GY4 D=JUL89 E=JUL91 L=00015
TITLE: PSF NOT UPDATING SMF6CPS FIELD IN TYPE 6 SMF
RECORDS.
F -SUGG -OY21704--5665-27-501--IN-INCORROUT
REPORTED RELEASE R220
ERROR DESCRIPTION:
SMF6CPS IS NOT UPDATED CORRECTLY.
COMMENTS:
THIS APAR IS BEING CLOSED SUG (SUGGESTION). THE SUGGESTED
Change WILL NOT BE IMPLEMENTED.
89/07/19,CHICAGO FS
=========================member=CHANGE06================================
/* COPYRIGHT (C) 1989 BY MERRILL CONSULTANTS DALLAS TEXAS */
This is the true production release of MXG Version 6.6, Jan 21, 1989.
The library is now at Change 6.213 (NEWSLETTER THIRTTEN said 6.206).
MXG now produces 552 datasets with 18070 variables from 910 members.
The enhancements, installation instructions, compatibility issues,
documenation location, for MXG Version 6 are in Newsletter THIRTEEN,
which is now contained in member NEWSLTRS of the MXG Source Library.
YOU MUST READ THAT NEWSLETTER BEFORE INSTALLING MXG VERSION 6.6.
Newsletter THIRTEEN additionally contains Administrative Announcements
Technical notes and enhancements planned for the next version of MXG.
After you have read NEWLETTER THIRTEEN, you will need to return to
this member to read the changes themselves, as much of the technical
information is contained in the detail change descriptions herein.
Note especially that Change 6.206 in this member has been changed
from that printed in MXG Newsletter THIRTEEN. The time between the
printer and tape building allowed enhancements and more consistent
naming conventions for the members which control the new Trend Data
Base enhancement. Note these related features implemented in that
change:
The %VMXGSUM macro is a very powerful generalized algorithm to create
organized summarization of complex SAS data sets with a simple series
of parameters. Its use will go far beyond its first implementation
here in the Trend Data Base.
The ASUMCICS member uses %VMXGSUM to create Hourly CICS service
objectives (percent transactions responses in less than 1,2,3,5,8, 15,
etc. seconds) for each User, Transaction and Terminal, in the new
PDB.CICS data set. The ASUMJOBS member uses %VMXGSUM to similarly
calculate IWT (Initiation Wait Time) distributions hourly by job class
(percent jobs initiated in 2, 5, 15, 30 min, etc.) in the new
PDB.JOBSKED data set. These members implement the measurement of
service objectives as described in Chapter Eight.
%VMXGSUM is used in a different fashion in the four Trend Data Base
building members TRNDCICS, TRNDJOBS, TRNDRMFI, and TRND72, which take
the weekly PDB data sets and the Trend-to-Date accumulation and
produce the new updated trend-to-date ("five years in five CYL") data
base. These members, which can be executed after the weekly PDB has
been built with JCLTREND, provide the long range tracking, trending
and capacity modeling demonstrated in the graphs in Chapter Forty-Two.
Member GRAFTRND provides ready-made 18-month graphics.
The MXG Trend Data Base is a brand new implementation using new style
%MACROs to create a series of a DATA and PROC steps. It has not had
the intense testing the remainder of MXG Version 6 received (444 MXG
users have been using a pre-release of Version 6, many installing it
in a production mode). Thus, while I think it is real good, I reckon
it might still have a few cobwebs I missed. If you have problems in
using these new %MACROS, look real careful that you did not fail to
terminate every parameter with a comma. The %MACRO facility is
equally powerful and equally unforgiving. I almost included the
ASUMCICS and ASUMJOBS members in BUILDPDB to build PDB.CICS and
PDB.JOBSKED by default, but at the last minute decided it had not been
tested widely enough to justify that design. Do not hesitate to let
me know what was missed and what should be added.
Yes, VMers, the Trend Data Base implementation at present is only for
the MVS data sources. The %VMXGSUM macro, however, is there for the
using yourself, until next version, when there really will be support
for the VM Trend Data Base and the VM/XA Trend Data Base as well!
==========================Changes Log==================================
All changes listed below have already been made in this MXG library.
Some of the changes contain the code with line numbers, because those
changes were provided by telephone prior to this production shipment.
You MUST read each Change description below to determine if a Change
will impact your installation. For each impacting change, you should
also read the comments in the beginning of the source members that
are listed under the change number. Notes, comments, and last minute
documentation are usually found in comments in changed members.
NEXTCHANGE: Version 6
=============Changes thru 6.213 as of Jan 21, 1989 ===================
Change 06.213 Talk about making it under the wire, as I was headed to
XMACEPIL the data center to build the production tapes, the mail
Jan 21, 1989 delivered the Candle documentation of changes in their
EPILOG 1000 for CICS Version 440 record formats! Because
the records are changed in so many places, and because I
did not have test data for validation, this new member
contains syntax tested code only, and only applies to
Version 440 records, which are incompatible with their
Version 430 records. See comments at beginning of this
new member. There are 46 new variables (at the end of
the KEEP= list, starting with BI4GLPGM), and there were
21 variables removed (see blanks where they used to be
in the KEEP= list, compared with VMACEPIL member!)
Thanks to Ashok Argarwala, Candle Corporation, USA.
Change 06.212 The SAS supplied EXEC for SAS under CMS does not test to
EXECDALY see if you issued a GLOBAL MACLIB statement to CMS before
REXXDALY you invoked SAS. The SAS EXEC itself issues a GLOBAL
Jan 19, 1989 MACLIB statement for the AUTOEXEC MACLIBs. Since the MXG
execution instructions under CMS (p. 24, MXG Supplement)
tell you to GLOBAL MACLIB USERID SOURCLIB and then type
SAS, the concatenation of USERID and SOURCLIB MACLIBS
is disconnected by SAS's EXEC, and your MXG program may
fail with "Member Not Found". The simplest solution to
execute MXG under CMS SAS is probably to create your own
copy of the SAS EXEC, and add the USERID and SOURCLIB
names to the list of MACLIBs globalled therein. The SAS
Institute plans to change their EXEC in a future version
to check for GLOBAL MACLIBs first, and if found, to add
SAS's desires to your already stated command.
Thanks to Steve Morton, SAS Institute, England.
for bringing this to my attention.
Change 06.211 The RACF report for Insufficient Authority now includes
ANALAUDT the INTENT and ALLOW values, and for RACFAUTH='10'X the
Jan 19, 1989 AUTHRITY=AUDIT was corrected to AUTHRITY=SPECIAL.
Thanks to Wing Louie, Metropolitan Life, USA.
Change 06.210 Newsletter THIRTEEN went to the press on Monday, and it
TYPEIMS said IMS FASTPATH log records were not supported in 6.6.
Jan 19, 1989 I had really planned to add it during this week while
the newsletter was at the printer and while my QA tests
were executing. SAS Europe had provided me with test data
and a copy of DBFULTA0 output for validation. I had the
printed assemblies of ILOGREC RECID=ALL for IMS 1.3,2.1,
and 2.2 at hand, as they contain the DSECTs of all IMS
log records. When what to my dismay, do I find that IBM
does not print the format of the X'59' FASTPATH IMS log
records, even when TYPE=ALL is specified. I have been on
the phone to IBM support with still no answer as to how
or where these records are documented, and I have run out
of time. Well, there's always the next version. Sorry!
Of interest, however, was IBM Level One's sincere comment
that no one knew much about fastpath, because they only
rarely get a call about fastpath!
Footnote: Two Level 1 calls and one Level 2 call later,
but only hours before the production building of MXG 6.6
begins, I did get at least the DBFK.... member names in
DCSOURCE that are supposed to contain the needed DSECTS!
Change 06.209 The response time (RESPNSTM) in the IMSTRAN data set was
TYPEIMS incorrect in some cases when multiple transactions were
Jan 17, 1989 processed per program schedule (eg., WFI). The reason
was that in step 8 the merge of input and output records
did not match in all cases; if an output record is missed
the original code merged the input record with the NEXT
output record. The result was an increasing RESPNSTM
for MULTRANS as much as the time of day continues!!! The
logic now balances the timestamps when output records are
missing by recognizing the condition and then setting the
values missing. An output record will be missed for any
transaction which had not completed when the IMS log was
dumped, but the effect of a single missed output record
was propagated into several IMSTRAN observations.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 06.208 VM/Monitor fields which were divided by 16384 appear to
VMACVMON be slightly in error; the correct divisor should have
Jan 17, 1989 been 16666.666 (which is 1000000/60).
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 06.207 DB2 Trace records, when written to GTF only, are limited
Jan 17, 1989 to 280 bytes (a 24-byte GTF header, and 256 bytes of DB2
trace data per record). The most important trace records
fit in the 256 byte limitation, but Trace events needing
more than 256 bytes are internally "spanned" by DB2 into
several GTF records. Unfortunately, these are not valid
VBS records, and are not straightforward to decode. The
MXG 6.6 support for GTF format DB2 trace data processes
only the un-spanned records at present. If a real need
exists (only startup records are spanned thus far), we
will investigate enhancing the MXG algoritms with you.
I still think GTF is the wrong place for DB2 Trace. In
the first place, the detail accounting reports in member
ANALDB2R meet the needs of almost all DB2 administrators,
and trace should be limited to special occasions. If you
must trace, you should use good sense and SMF files, and
"To ensure adequate buffers exist, specify CISZ(4096)
and BUFSP(81920) for each SMF VSAM data set"
as IBM recommends in SC26-4095-2.
----Changes thru 6.206 were printed in MXG Newsletter THIRTEEN-------
Change 06.206 The MXG MVS Trend Data Base preliminary implementation.
ASUMCICS This series of members are the beginning of the long
ASUMJOBS overdue (almost "fabled") enhancement to provide for
GRAFTRND the long term trending of response, resources, etc.,
IMACSHFT in a very small data library referred to as the Trend
JCLTREND Data Base. More will be written later on its use, but
PDBTREND for starters, PDBTREND will build an initial trend data
TRNDCICS base from the past and thereafter JCLTREND will update
TRNDJOBS the past weeks data into the Trend Data Base, and give
TRNDRMFI management-pretty reports for the past eighteen months
TRND72 trends! The member naming conventions to be used are
VMXGDUR ASUM.... for the first summarization from detail data
VMXGSUM into an interval (eg., hourly) from PDB input back into
Jan 15, 1989 a new data set in the same PDB and TRND.... for second
summarization from one interval (eg., hourly) into a
diffeent (eg. week-shift), from WEEK input combined
with existing TREND to create updated TREND data set.
ASUMCICS - Creates CICS interval summary and response buckets
from detail transaction data (CMF or Landmark!).
GRAFTRND - Graphs of CPU capacity with simple linear regression
prediction CPU usage from TREND.RMFINTRV. See member.
IMACSHFT - Existing IMACSHFT was modified to return both a SHIFT
variable and the start-time of the shift for TREND.
To be compatible with TREND, you must replace your
present IMACSHFT with this new member. The internal
logic was restructured to pass back a modified value
for the inputted variable DATETIME, but there was no
change in the value of SHIFT passed back by IMACSHFT.
JCLTREND - Example JCL to execute weekly after your weekly PDB
has been built, to update the existing Trend Database
with the new week's data. This usually is best run
after you have examined your weekly runs, as there is
no supplied code for backout if you mess up!
PDBTREND - Create your Trend Data Base for the past directly
from weekly SMF files or already build weekly PDBs.
Start here, and work backward in history as far as
you want to go. Each execution adds another week to
your Trend Data Base.
TRNDCICS - Builds TREND.CICS dataset.
TRNDJOBS - Builds TREND.JOBS dataset.
TRNDRMFI - Builds TREND.RMFINTRV dataset.
TRND72 - Builds TREND.TYPE72 dataset.
VMXGDUR - Calculates durations of HOUR, DATE, WEEK, MONTH.
Will optionally calculate SHIFT using IMACSHFT.
Input variable DATETIME contains the timestamp to
be examined. Will calculate SHIFT using IMACSHFT
and will reset DATETIME to the timestamp of the
beginning of the shift interval.
VMXGSUM - The heart and soul of MXG summarization. Contains
multiple macros which make it act like a PROC
that lets you summarize detail data into interval
data and interval data (eg. hourly) into other
intervals (eg., weekly), taking into account the
things like rates and percentages which must be
expanded, summed, and then contracted in the
summarization process. "Self-Documented" - ha?
Thanks to Chuck Hopf, Hopf Consulting, USA.
for lots of help with %macro implementation.
This is the essence of the system which generated the graphs in
Chapter 42 of the MXG Guide. Five years data in five cylinders!
Change 06.205 Several graphics enhancements were made to make MXG
GRAFRMFI co-exist better with SAS/GRAPH. Device selection in
VMXGGOPT GRAFRMFI is now enabled with the new %VMXGGOPT macro
XADMDEFS which added support for IBM3179, IBM3279, IBM3287,
Jan 15, 1989 ZETA887, TCX4107, IBM3800, and especially for SAS/PC.
Member VMXGGOPT allows for the dynamic selection of
graphic devices; see documentation in that member.
XADMDEFS is also referenced in VMXGGOPT; it provides
the GDDM ADMDEFS for IBM 3800 and 3820 graphics.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.204 MXG had provided FMXGUCBL and VMXGVTOC to capture DASD
ASMVVDS space management data, but VTOCs do not provide data on
EXTYVVDS VSAM files. This contracted enhancement now provides
IMACVVDS DASD Space management for VSAM files. Instead of the
JCLVVDS VTOC, space information on VSAM data spaces is in the
TYPEVVDS VVDS, located on each volume which contains VSAM data
VMACVVDS spaces. MXG provides the Assembly source code and the
Jan 15, 1989 JCL to create the ASMVVDS program in member ASMVVDS.
Once assembled, program ASMVVDS can be executed by the
JCL in JCLVVDS, and the VVDS data is extracted and then
written to a flat file, or (my recommendation), can be
written as an SMF record. Once the VVDS data is in the
flatfile or SMF record, member TYPEVVDS will create
the MXG dataset TYPEVVDS which can be then used to
measure, manage, and charge back VSAM DASD space.
See comments in member ASMVVDS; this program must be
authorized to read the VVDS.
Change 06.203 Although no data has been made available from VM/370
IMACVMON Release 6, comparison of IBM's documentation and the MXG
Jan 15, 1989 code in VMACVMON strongly suggests that MXG will support
the Release 6 records, provided only that both the _HPO
and _MP macros defined in IMACVMON are enabled. In fact,
both were required enabled for Release 5 with or without
HPO. The defaults have now been changed to enable both
_HPO and _MP since few new MXG sites will come up on 4.2!
This should not affect current MXG sites, since you have
already tailored IMACVMON into your USERID.SOURCLIB and
that member will override the new defaults in MXG!
Change 06.202 NPM 1.3 type 28 support was enhanced to include subtypes
FORMATS x60-x62 (new with Network Gateway Accounting), and the
VMAC28 additional variables added to the MSA, BAS, BAN, and NTK
Jan 15, 1989 segments. No NGA data has been available for testing, but
having the code in place means that you won't need a new
version of MXG when you install NGA later this year. IBM
really came through in time with this documentation!
Change 06.201 DB2 Trace records processing code has been enhanced to
IMAC102 read most new fields added by DB2 Version 2.1. This is
IMAC102A also a major restructure of the code. Not all of the new
IMAC102B subtypes have been tested against 2.1 data, so there is
VMAC102 a slight risk in using the type 102 code in this version
Jan 14, 1989 of MXG. A new macro, _DB2IID is defined in IMAC102 that
can be used to delete specific IFCID (subtype) values if
there are any problems. All TRACEnn labels were removed,
and comments in IMAC102 identify which IFCIDs are in each
trace class.
Change 06.200 PROC DATASETS LIB=_IMSTRAN NOLIST;DELETE IMSTRAN; was
TYPEIMS removed, because SAS not only does not support deletion
Jan 14, 1989 if _IMSTRAN is a tape, but it creates a condition code
twelve! The purpose of the delete was to re-use the
same space on disk; thus if you create IMSTRAN data on
disk, you will need to do your own delete, eg.:
//SYSIN DD *
PROC DATASETS LIB=IMSTRAN ...
%INCLUDE SOURCLIB(TYPEIMS);
Thanks to Tim Follen, Blue Cross of Ohio, USA.
Change 06.199 DB2 data written to GTF is now supported by the use of a
ANALDB2R new _GTFDB2 macro added to VMACSMF. Members TYPEDB2G and
TYPEDB2G TYPE102G are their "no-G" members with _SMF replaced by
TYPE102G _GTFDB2. If you write DB2 trace data to GTF, you must
VMACSMF apparently specify the complete 0FB9 Event ID to GTF at
Jan 11, 1989 startup; Ron responded with only FB9 and the GTF records
unexpectedly contained EFB9 as their EID! The member
ANALDB2R was also enhanced with the new GTF= option to
use that data source for DB2 reports, and a new option
PDBOUT was added to create an output copy of the DB2
data sets if desired.
Thanks to Ron Roberts, The Equitable Life Assurance Society, USA.
Change 06.198 Support for COM-PLETE SMF Accounting Records creates four
EXCOMASR data sets, one from each of the four records. COMPULON,
EXCOMLON COMPULOF, COMPUCKP, and COMPUTRM correspond to ULOG On,
EXCOMLOF ULOG Off, Checkpoint, and program termination. Only the
EXCOMCKP COMPUTRM data records have actually been fully tested.
EXCOMTRM
IMACCOMP
TYPECOMP
VMACCOMP
Jan 11, 1989
Thanks to Karl Smit, Decision Support Services, SOUTH AFRICA.
Change 06.197 IBM's SNA Application Monitor "SAMON" Release 1.2 creates
EXSMOASR an SMF-format record for a SDXKSTA0 Statistics Data Set.
EXSMOAUR MXG creates six new datasets, SAMONASR,SAMONAUR,SAMONSSR,
EXSMOSSR SAMONTLR,SAMONTSR,SAMONUSR which are described in IBM's
EXSMOTLR SNA Application Monitor Operations and Diagnosis Guide
EXSMOTSR pp.86-98. Caution: no data records have been received
EXSMOUSR as yet, so this code has only been syntax checked.
IMACSAMO
TYPESAMO
VMACSAMO
Jan 11, 1989
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 06.196 This VM/370 report caused an error when no channel data
ANALVMDY was collected, because PROC TRANSPOSE does not create the
Jan 10, 1989 COLn variables when there is not input data. This causes
the RENAME COL1=BUSYPCT statement to fail. To fake out
the SAS compiler to avoid the error, the statement
IF COL1=. then COL1=.; was inserted after the RENAME.
This trick creates the numeric variable COL1 to satisfy
the SAS compiler, but does not change its value if it
already exists.
Thanks to Jay Cicardo, Southwestern Bell, USA.
Change 06.195 This paper on the VM/XA Monitor Facility will be
DOCVMXAF published later this year in a major journal, but
Jan 10, 1989 its author has been kind enough to share his work
with MXG users.
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.194 The 1987 CMG Paper (Proceedings, pp.432ff), "A Method for
ANALCACH Reporting Cashed I/O Subsystem Performance", by Nancy
Jan 10, 1989 Nearing, Washington Consulting Group discussed methods
to depict cache performance characteristics, using both
RMF type 74 records and the RMF Cache DASD Reporter FDP
SMF records (MXG member TYPECACH). The report examples
in that paper are implemented in this contribution.
Thanks to Bruce L. Green, Medical Information Bureau, Inc, USA.
Change 06.193 RMDS enhancements suggested by this user led to a
VMACRMDS general cleanup of RMDS Version 3 SMF record code,
Jan 9, 1989 and capture of additional useful RMDS data fields.
Thanks to Jenell Ratterree, The Cooper Group, ENGLAND.
Change 06.192 HSM Processing. This is a significant contribution from
JCLHSM this user, a complete self-contained system. I have not
VMXGHSM really tested the code with real data. I simply put all
Jan 9, 1989 the macro definitions into a the single VMXGHSM member,
syntax tested the code with no input records. It will
be examined and documented in the future, and possibly
data set names will be prefixed with HSM
Thanks to Carole Larivee, System One Corporation, USA.
Change 06.191 Support for SMF records created by STC's 4400 tape silo.
EXSTCBLO Six data sets, STCBLOS, STCVARY, STCLSM, STCLMU, STCEJECT
EXSTCVAR and STCENTER are created for BLOS stats, VARY station,
EXSTCLSM modify LSM, LMU read statistics, cartridge ENTER and
EXSTCLMU cartridge EJECT.
EXSTCEJE
EXSTCENT
IMACSTC
TYPESTC
VMACSTC
Jan 8, 1989
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 06.190 Support for SQL/DS accounting records created under VM
EXVMSQLI has been written but has not been tested with data yet.
EXVMSQLS Four data sets, VMSQLINI, VMSQLSYS, VMSQLTRM, VMSQLUSR
EXVMSQLT are created for Initialization, System, Termination and
EXVMSQLU User events as described in SH24-5043-2.
TYPEVM
Jan 8, 1989
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 06.189 Several VMACROSC fixes: Variables VOLSER1-6 in data set
ANALROSA ROSCODSF now exist and are spelled DSFVOL1-6, and DSNAME
ANALRRTM and MEMBER were added. Code to process 'F4'X ROSREC was
DIFFROSC relocated to cause ROSCOSHU observations to be created.
VMACROSC The MONITOR='ATT' test was expanded to include 'AJO' too.
Jan 8, 1989 In DIFFROSC: START ISTART and IEND are now dropped after
their RETAIN (keeping START caused unexpected conflict
in ANALRRTM report). In ANALRRTM and ANALROSA all
divides are now protected against zero-divide error.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 06.188 Additional sets of workload variables are now created in
EXRMFINT RMFINTRV and labeled in EXRMFINT. MXG now creates five
IMACWORK new "OTHn" sets of variables (OTH0, and OTH6 thru OTH9).
RMFINTRV With the four predefined BATCH, TSO, CICS, and IMS groups
Jan 8, 1989 you have fourteen sets of workload variables available.
Comments in all three cited members have been (hopefully)
clarified on how to set workload definitions in IMACWORK
and to then label them in EXRMFINT. Variables CPUTYPE
and CPUVERSN (from type 70) were added to RMFINTRV. The
variable SIO73CNT now contains total SIOs/SSCHs from the
type 73 (if MVS/370) or type 78 (if MVS/XA).
Change 06.187 Support for Netspy Release 3.1 Level 3 new type V record
EXNSPYVR (Virtual Routes being monitored) creates new NSPYVIRT
VMACNSPY data set. Thanks Duquesne for releasing the format of
Jan 8, 1989 the new record before they ship their enhancement!
Thanks to Luis Motles, Duquesne, USA.
Change 06.186 MXG member naming conventions are changed by this change.
ANALDB2 Past members ANALDB2 and ANALROSC performed de-accumulate
ANALROSC using DIF() function, but since they produced no reports,
DIFFDB2 they should not have begun with ANAL. Now, they will be
DIFFROSC contained in new members DIFFDB2 and DIFFROSC. To keep
Jan 8, 1989 your present programs error free, there still are the
members ANALDB2 and ANALROSC on the MXG library, but they
now only %INCLUDE their respective DIFF.... member name.
All future SMF processing which requires DIF() will be in
members beginning with DIFF. At you convenience after
MXG Version 6 is installed, you should change references
to ANALDB2/ANALROSC in your USERID.SOURCLIB(EXPDBOUT) to
DIFFDB2/DIFFROSC (assuming, of course, that you even use
the MXG Exit Facility to process DB2 or ROSCOE SMF data
with BUILDPDB/3!)
Change 06.185 Support for Duquesne's TPX Session Manager SMF records
EXTPXAOF creates six new datasets: TPXSTART, TPXINTRV, TPXTRMON,
EXTPXAON TPXTRMOF, TPXAPLON, and TPXAPLOF. Because TPXINTRV data
EXTPXINT is written as accumulated, member DIFFTPX is required to
EXTPSSTA de-accumulate the interval data. MXG includes DIFFTPX in
EXTPXTOF TYPETPX automatically, but if you intend to read TPX data
EXTPXTON in BUILDPDB/3, you will need to include DIFFTPX in your
IMACTPX EXPDBOUT member.IMACTPX sets your chosen SMF record id.
TYPETPX
VMACTPX
Jan 8, 1989
Thanks to David Daner, Sun Refining and Marketing, USA.
Change 06.184 The text portion of all prior MXG Newsletters are now in
NEWSLTRS this new member (the "Change Log" portion of Newsletters
Jan 3, 1989 are in members CHANGEnn for prior MXG Versions and in
member CHANGES for the current MXG Version.) We choose to
put the Newsletters online so you can search for specific
items, and to (hopefully) eliminate the need for multiple
copies of the printed Newsletters for large sites. Does
this solution meet your needs?
Change 06.183 Variable BRFLDBNO in TYPE37 (Receive level in DBm) is an
VMAC37 IB2. and not PIB4. field.
Jan 3, 1989
Thanks to Claudia Ku, Farmers Insurance, USA.
Change 06.182 Variable TYPETASK from Type 30, which is propagated into
VMAC30 PDB.JOBS and PDB.STEPS, should contain JOB, STC, or TSU.
Dec 29, 1988 However, tasks started before JES (such as LLA, MSTR, SMF
BLSJ, JES, and DUMP) have their jobname in TYPETASK. With
this change, MXG forces TYPETASK to be STC if it is not
JOB or TSU, so that TYPETASK can accurately be used to
differentiate jobs, sessions and started tasks. Variable
TERMNAME (MVS/ESA, symbolic terminal name) contains the
TSO user's terminal name, but contains garbage for JOBs
and STC. (IBM failed to check before moving data - a PTF
will be issued eventually).
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 06.181 Type 74 processing was enhanced to include SKIP logic to
VMAC74 compatibly handle any future IBM changes in data length.
XMAC74 (I thought I had done this to all RMF code last year, but
Dec 29, 1988 must have overlooked this member.)
Change 06.180 DOWNTM estimate from type 0 SMF record will be zero if a
VMACSMF type 90 record (OPERATOR IPL response) precedes the IPL
Dec 28, 1988 record. To give a better estimate of when the last record
was actually created, the PREVTIME PREVSYS variables are
now retained only if it is not a 2, 3, or 90 SMF record;
(i.e., type 90 was added to the test.)
Thanks to Jeff Fox, SKF USA, USA.
Change 06.179 DOS POWER variable SYSID (system identification) was not
TYPEDOS kept in the MXG DOS..... data sets. Now it is.
Dec 28, 1988
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.178 For VM/370 Monitor data from sites with (a) nonzero value
VMACVMON of SYSTIME in their DMKSYS module, and (b) which process
Dec 27, 1988 concatenated VM/Monitor data, MXG incorrectly reset the
GMT time zone delta when the second 0/97 Monitor Start
record was encountered, causing STARTIME in MXG datasets
to change to GMT instead of Local, because two variables,
FFFFF and FRSTBASE were not retained in the first RETAIN
statement (line 304).
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 06.177 Continuing cleanup of VM/XA replaced several unnecessary
VMACVMXA variables in VXMTRSPR with SDOMAINS and HDOMAINS decoded
Dec 23, 1988 just like EDOMAINS in VXMTREPR to identify which domains
are active for Sampling, Hi-Freq, and/or Event data, and
CHANBYTM label was corrected (ANY channel active). Much
more significantly, the VXIODDEV and VXDEVTOT datasets
are now enhanced and contain the RDEVCLAS, RDEVTYPE, etc.
fields from the VXMTRDEV start-up records. Additionally,
the MXG logic to recognize a user logon failed once when
only 11 actual samples were counted by IBM in a 60 second
interval with hfrate of 5 seconds. Line 6194 was changes
to test (ZZQUCT+1) LT instead of ZZQUCT LT to hopefully
compensate for a lost sample. The implementation to add
device information requires a FILEDEF/DDNAME of INSTREAM,
(temporary, 3 tracks at most) during the creation of the
VXIODDEV etc. data sets. MXG writes SAS code to INSTREAM
filename and then %INCLUDEs INSTREAM to execute the PROC
FORMAT which is the table-look-up of device mapping.
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.176 This error was only on the 6.5a and 6.5b pre-releases DB2
VMACDB2 type 101 record. Line 1275 took a finger fault. It should
Dec 20, 1988 read IF QWHCLEN GE 56 THEN .... instead of GE 46.
=============Changes thru 6.175 comprised MXG 6.5b pre=release =======
Change 06.175 The MXG exit code which creates SMF records from IDMS is
IDMSEX05 now updated for IDMS 10.2, due to this user. The ASM
IDMSEX13 code formerly in IDMSEXIT is now split into IDMSEX05 and
IMACIDMS IDMSEX13. Exit 05 creates SMF record 190 (was type 200)
VMAC200 and exit 13 creates SMF records 191-193 (was types 201
VMAC201 203 in IDMS 10.1). The same data sets (TYPE200-TYPE203)
VMAC202 are built, and member IMACIDMS tells MXG the actual SMF
VMAC203 type you choose. The variable ID has been added to the
Dec 19, 1988 four MXG data sets so you can tell which IDMS created the
particular SMF record.
Thanks to Ed Dassori, Whirlpool Corporation, USA.
Thanks to Keith A. Immink, Whirlpool Corporation, USA.
Change 06.174 The MXG option to read VM/XA MONWRITE output data and to
VMACVMXA then build "true" VB format records was not true, as four
Dec 16, 1988 extra bytes were embedded. (It worked in testing because
the _VMINPUT macro expected those extra bytes!). Both the
_OUTFILE and _VMINPUT macros were corrected to build and
read real VB data correctly!
Janice Radel, McDonnell Douglas Automation, St. Louis.
=============Changes thru 6.173 comprised MXG 6.5a pre=release =======
Change 06.173 The summarization of CICS transaction data from either
ASUMCICS IBM's CICSTRAN or Landmark's MONITASK into the PDB.CICS
Dec 6, 1988 dataset is accomplished by this program. MACROs defined
in the member determine the grouping (default is by
APPLID OPERATOR TERMINAL STRTTIME TRANNAME) and define
the interval summarized (default is hourly). Data set
PDB.CICS contains resources sums (CPU, I/O, characters)
maximum response, and eight buckets for response counts
of 1,2,3,4,5,8, 10 and over 10 seconds. This will be the
CICS part of the "Trend Data Base" to be implemented in
future.
Change 06.172 Preliminary reports for NPM 1.3 type 28 data sets is now
ANALNPMR available in this user's report contribution.
Dec 6, 1988
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.171 Support for Duquesne's DASDMON SMF records started with
ANALDMON the SAS code provided with the DASDMON product, but the
EXDMDSN code was redesigned to conform to MXG structure and was
EXDMJOBS validated with actual data. Some preliminary reports are
EXDMVOL also available in ANALDMON.
IMACDMON
TYPEDMON
VMACDMON
Dec 6, 1988
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.170 IDMS 10.2 Performance Monitor from Cullinet is a complete
EXIDMaaa re-design of the SMF record subtypes and contents which
IMACIDMS changed variable names and added new data sets as well.
TYPEIDMS This support replaces the TYPERTE and IDMS.... data sets
VMACIDMS built for the 10.1 PM. The 10.2 data sets now all start
Dec 5, 1988 with IDMS, but now have three letter suffixes: ARA,BUF,
CDM,DBK,INS,INT,JRL,LNE,PGM,RUS,STG,TAS,TAW,YPE instead
of four.
Thanks to Keith A. Immink, Whirlpool Corporation, USA.
Thanks to Roger Edwards, South Carolina Electric and Gas Co, USA.
Change 06.169 Support for Network System's Channel Extension equipment
EXHO15LK sequential file creates the HO15LINK and HO15TRNK data
EXHO15TK sets in this user contribution. See comments in TYPEHO15.
TYPEHO15
Dec 5, 1988
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 06.168 VM/SP Monitor data sets VMONCU and VMONDEV are created if
VMACVMON there was activity or queueing (formerly only activity
Dec 1, 1988 caused an observation in CU, and no-activity DEV records
created useless observations. More important, the data in
VMONCU is now merged with VMONDEV into a revised VMONDEV
data set which now contains new useful variables IORATE
PCTQUEDV, PCTQUECU, and MSPERIO (millisec of queue and
service per IO).
Thanks to Ron Roberts, The Equitable Life Assurance Society, USA.
Change 06.167 TSO/MON data set TSOMCALL KEEP= list contained variables
VMACTSOM NRTRIV1-NRTRIV8 which should have been NTRIV1-NTRIV8 to
Nov 28, 1988 KEEP the variables actually inputted!
Thanks to Ed Shigo, Plaza Technology Corp, USA.
Change 06.166 DB2 trace record. In VMAC102 after INPUT QWPZBPID PIB2.
ANALDB2R insert +2 and change next two fields from PIB2. to PIB4.
VMAC102 In ANALDB2R, reverse QWPZTOUT and QWPCISWT lines 2550-53
Nov 28, 1988 and line 2506 QWPZDBC should be QWPZAUTH.
Thanks to Ervin Claxon, Great Western, USA.
Change 06.165 NPM exception variables NPMDATA,NPMMONVL,LNAMLIM,NPMLOWER
VMAC28 and NPMUPPER were not created in NPMEVNCP or NPMEVNET.
Nov 23, 1988 Added to _VA28NAM list, and INPUT (PIB1.,+2,four PIB4.).
Thanks to Doyle Hanel, Compass Computing, USA.
Change 06.164 Support for CICS Version 2 Release 1 CMF Monitor Facility
IMACPTF verified by examination of the SC33-0507-0 Customization
Nov 22, 1988 Guide. Since IBM chose not to change SMFPSRVR's value, it
is not possible to differentiate between CICS 1.7 and 2.1
CMF records. Thus you must still update IMACPTF to tell
MXG the "pft's" installed as described in IMACPTF. There
are no significant changes documented in 2.1.
Change 06.163 Support for DB2 Version 2 Release 1 changes to type 100 &
ANALDB2 101 record added new variables:
VMACDB2 Data set DB2STAT0 (Type 100):
Nov 21, 1988 Q9STCTRE,Q9STCTRF,Q9STCTRG,Q9STCTRH
QWSDLR ,QWSDSCA ,QWSDSCU ,QWSDSCCO,QWSDSCRA,QWSDSCRS
QWSDSCWR
Data set DB2STAT1 (Type 100):
QXSETSQL,QB1-4TMIG,QB1-4TRTO,QB1-4TPIO
QTXASLMT,QTXACLMT,QTXACHUS,QTXASLAT,QTXASOTH,QTXALOCK
QTXAUNLK,QTXAQRY ,QTXACHG ,QTXAILMT,QTXANRUN,QTXAPREC
QTXARLID,QTXASLOC
Data set DB2ACCT (Type 101):
QWHCOPID,QB1-4CIMW
Change 06.162 Several lines removed to make ANALDB2R executable under
ANALDB2R PC SAS. No logical changes were involved. Code still gets
Nov 21, 1988 an error message under PC SAS (NODSNFERR and NOVNFERR are
not yet supported in 6.03) but code does run (slowly!!!)
Change 06.161 Further comparisons of VM/XA Monitor data uncovered two
VMACVMXA incorrect assumptions. SCMCNTIM, SCMFPTIM, and SCMDDTIM
Nov 18, 1988 (in VXIODDEV, connect, pending, and disconnect duration)
are in 128 microsec units, not timer units. RDEVRTPD (in
VXIODDEV, reserve duration) is ascending vice descending.
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.160 Inserted ELSE PUT /; after line 2915 to put a blank line
ANALDB2R between DB2 AUTHID when only one plan was used.
Nov 18, 1988
Thanks to Allan Russell, SAS Institute Europe, GERMANY.
Change 06.159 -Change 6.129 was not fully tested, but only if you made a
BUILDPDB change to IMAC30IO does an error surface. Only MXG 6.5
BUILDPD3 was affected. In IMACPDB, after MACRO _SUMSTP replace the
IMACPDB lines EXCP thru IOTM with _IO30EX EXECTM _IO30TM after
IMAC30IO MACRO _MAXSTP change D3330DRV to _IO30DR, and after MACRO
VMAC30 _PDB30_4 add IOTMERR just before _IO30IO. In IMAC30IO,
Nov 28, 1988 remove IOTMERR. In VMAC30, add IOTMERR after INPRTY and
before _IO30IO in all three places.
-Change 6.150 created _CICACCT macro to control the DDname
to which CICSACCT dataset is written, but BUILDPDB/3 had
a temporary reassignment of _CICACCT to WORK, built the
WORK.CICSACCT data set in your WORK file and then SORTed
that data set to your _CICACCT.CICSACCT destination. With
large volume CICSACCT data sets this caused problems in
the size of the WORK data set. If you had wanted to use
a tape data set for CICSACCT, you still needed that much
DASD work space for sorting!
With this change, the CICSACCT data set is created direct
into the _CICACCT ddname and is not sorted in BUILDPDB/3.
If you set _CICACCT (in IMACCICS) to PDB, then BUILDPDB
will create PDB.CICSACCT (unsorted) you your PDB.
If your report programs expected CICSACCT to be sorted,
you may have a compatibility problem; you can use the PDB
exit member EXPDBOUT as follows to sort the dataset:
For a sorted CICSACCT dataset in the PDB on DASD:
Set _CICACCT to PDB in IMACCICS.
Then in EXPDBOUT, add:
PROC SORT DATA=_CICACCT.CICSACCT OUT=_CICACCT.CICSACCT;
BY whatever-variables-you-want;
For a sorted CICSACCT dataset on tape DDNAME of MYDATA:
Set _CICACCT to UNSORTED in IMACCICS.
Then in EXPDBOUT, add:
PROC SORT DATA=UNSORTED.CICSACCT OUT=SORTED.CICSACCT;
BY whatever-variables-you-want;
(When you put _CICACCT on tape, you cannot use the
same DDname for OUT= (you can't sort a tape onto
itself), and must use two tape DDnames, SORTED and
UNSORTED, cataloging SORTED and deleting UNSORTED.)
This is an impacting change for BUILDPDB/3 users.
Remember that if you don't want CICSACCT observations at
all, you can forget all of this stuff, comment out the
OUTPUT _CICACCT.CICSACCT statement in EXCICACC, and cause
zero observations to be created from the accounting data!
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 06.158 Member IMACJBCK allows SMF data for only selected job(s)
ANALALL to be processed; its comments were made clearer. It is
IMACJBCK now included in VMAC41 and VMAC6156. A new analysis is
VMAC41 added in ANALALL which will select all SMF records from
VMAC6156 a job, store the records in a SAS library, and will also
Nov 12, 1988 print all observations of all datasets in a SAS library.
This is a collection of several utilities I have found
useful in examining specific job detail resources.
Change 06.157 RMF 4.1.1 creates Monitor III data in new subtype 2 of a
BUILDPDB type 72 record, which creates the new TYPE72MN dataset.
BUILDPD3 TYPE72MN is also created by BUILDPDB/3, and in the PDB it
VMAC72 is sorted by SYSTEM STARTIME PERFGRP. The RMF Monitor III
Nov 11, 1988 data is created for each PERFGRP and contains counts of
initiated, active, idle, out-ready, and DIV users, counts
of users delayed due to paging or swapping, pagein rate,
and memory usage (both total frames for the PERFGRP and
average frames per category of user) for frames held by
active, idle, out-ready, DIV users, ASM slots in use, and
fixed frames for the PERFGRP. For all memory measures,
(frames or slots) MXG has converted to bytes and uses the
MGBYTES format to show the memory measure in KB, MB, etc.
for more direct comparison of values.
Change 06.156 Support for the Hiperspaces in RMF 4.1.1 added two new
VMAC72 variables to TYPE72: HIPPGINS,HIPRDMIS (HIPER pageins and
Nov 11, 1988 read misses) by performance group period.
Change 06.155 Support for the Hiperspaces in RMF 4.1.1 added eight new
VMAC71 variables to TYPE71: HIPMIGRS,HIPREADS,HIPWRITS pagerates
Nov 11, 1988 migrated, read and written to/from ESTORE; HIPAGINS and
HIPAGOUT HIPER pageins/out, and HIPEXAV,MN,MX (average,
minimum and maximum HIPER pages in ESTORE).
Change 06.154 Support for VIO paging into ESTORE (implemented by PTFs
VMAC71 for APAR OY09186) added six new variables to TYPE71:
Nov 11, 1988 VIOMIGRS,VIOREADS,VIOWRITS (VIO page rates migrated, read
and written to/from ESTORE), and VIOEXAV,MN,MX (average,
minimum and maximum VIO pages in ESTORE).
Change 06.153 Support for the 3990-3 Cached DASD Controller CRR SMF
EXCAC90 data, "Cache DASD RMF Reporter" creates a new dataset
IMACACHE CACHE90 with new variable names, although it is quite
VMACACHE similar in structure to the existing CACHETY dataset
Nov 9, 1988 from the 3880-23 controller.
Thanks to John Chase, ???.
=============Changes thru 6.152 comprised MXG 6.5 pre=release =======
Change 06.152 MXG 6.5 Quality Assurance runs uncovered these glitches.
IMACKEEP Most were detected by specifically designed enhancements
TYPEVM to the UTILXREF cross reference utility.
VMAC535 a.@OFFSET+95 removed from INPUT TERMNAME in VMAC535.
DOC b.Extraneous % removed from IMACKEEP.
Nov 2, 1988 c.DEVICE renamed to DEVICEOR in new VMRSCS data set built
from VM/ACCOUNT data to avoid length conflict.
d.Variables with blank labels now have a label. In some
instances the label is simply the variable name, but this
ensures that a variables was not overlooked.
e.Some DATETIME variables were discovered to have length 4,
which caused a loss of the low-order resolution (seconds)
and now UTILXREF catches this coding error.
f.The most pervasive change touched every member which had
a character variable with a $MG.... format. Because MXG
located the FORMAT statement ahead of the INPUT statement
(so the source code reads better), and because SAS does
not work as I thought it did, the stored length of these
character variables in a FORMAT statement was taken by
SAS from the FORMAT statement, rather than being set by
the actual INPUT statement (as documented). The result
was that 8-bytes were being used where only 1-byte was
needed. The circumvention was to insert the affected
character variable in a LENGTH statement preceding the
FORMAT statement with the correct length (not all were 1
byte!). A problem has been opened with SAS to correct the
"design feature". If the character format is unknown in
the SAS System (eg, all $MG formats), SAS picks a length
of 8-bytes for the variable. Note, however that:
DATA;FORMAT X $HEX20.;INPUT X $1.;
causes SAS (mainframe and PC) to used 10 bytes storage
for the one byte variable.
g.All members touched by these LENGTH, FORMAT and LABEL
corrections were renumbered.
Change 06.151 The new PGPAGEIN and ACTFRMTM variables (page-ins and the
RMFINTRV resident frame-seconds by performance group period, new
Nov 2, 1988 with RMF 4.1 in TYPE72) look to be so useful that they
are now created in the RMFINTRV data set as rates by each
workload: BATPGIN,TSOPGIN... and BATFRTM,TSOFRTM, etc.
Change 06.150 Support for ROSCOE 5.6 added new variable USRPRFIX to the
VMACROSC ROSC.... accounting data sets. Another new field, record
Nov 1, 1988 version, is in the data record but not kept in MXG, as it
is there to identify future changes in their record.
Thanks to Paula Bryan, Ohio Edison, USA.
Thanks to John Carafella, CA (ex-ADR), USA.
Change 06.149 Reference to variable PRTY should have been PRTYJOB in
ANALDOS this DOS report example member.
Oct 30, 1988
Merci a M. Bernard, CRCAM de L'Aude, France
Change 06.148 All four CICS data sets built from type 110 CMF data can
EXCICACC now be directed to separate DD names. The existing macro
EXCICEXC _CICTRAN was unchanged, but the single _CICOTHR macro for
EXCICTRN CICSACCT, CICSEXCE and CICSYSTM data sets is replaced by
EXCICSYS _CICACCT, _CICEXCE, and _CICYSTM (defined IMACCICS with
IMACCICS the same default as _CICOTHR had). This change was needed
VMAC110 by some sites to split CICSACCT data away from the other
Oct 29, 1988 data sets.
If there is an IMACCICS member in your USERID.SOURCLIB
library, you MUST replace it with IMACCICS from this MXG
version so that _CICACCT, _CICEXCE, and _CICSYSTM exist.
If there is an IMACKEEP member AND you have overridden
the _VAR110 definition therein, you must prefix the data
set names CICSACCT, CICSEXCE and CICSYSTM with the new
macro names to avoid potential compatibility exposures
The syntax required is:
_CICACCT . CICSACCT
_CICEXCE . CICSEXCE
_CICYSTM . CICSYSTM
Change 06.147 CICSTRAN variable TRMCHRCN (intended to be total chars to
VMAC110 and from terminal) has always been too large. It was the
Oct 29, 1988 sum of in/out chars for both primary and secondary (alt).
Primary are actual chars transmitted, but secondary is
primary characters plus IRC control characters to/from a
remote region or system-to-system. Now that I know whats
in PRIINCHR,PRIOUCHR,SECINCHR, and SECOUCHR, TRMCHRCN is
the sum of only PRIINCHR and PRIOUCHR.
Thanks to Dale Doolittle, Barnett Computing Company, USA.
Change 06.146 Variable SU_SEC (from TYPE72, indicates processor speed)
RMFINTRV is now added to data set RMFINTRV to make normalization
Oct 29, 1988 of CPU times more reliable.
Change 06.145 TYPE74 variables PCTPNCHA, PCTPNCUB, and PCTPNDEV were in
VMAC74 the MXG Supplement (page 434) but not created nor kept in
Oct 29, 1988 the data set. Now they are.
Thanks to Myles McCarthy, Fidelity Systems, USA.
Change 06.144 Incorrect assembly of CICS 1.6 MCT after PTF UL10276 that
VMAC110 changed FCAMCNT length from 2 to 4 cause short record to
Oct 28, 1988 be written. MXG circumvents with new line 390.1:
IF _UL10276 THEN EXPLEN=EXPLEN+2;
Thanks to Greg Goshia, Westfield Companies, USA.
Change 06.143 Line 269 should be +145 instead of +158 for the NETSPY
VMACNSPY variable XDOMAIN to be correct.
Oct 28, 1988
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 06.142 A missing END statement in EPILOG CL 1000 code causing
VMACEPIL a syntax error was detected and corrected at 44700 (after
Oct 25, 1988 the statement BIETIME=BIETIME+CIGMTOFF;).
Thanks to Bruce Groeber, City Federal Savings, USA.
Change 06.141 "Nearly final" validation of VM/XA SP 1 and SP 2 corrects
VMACVMXA several variable's values, revised the reports to fit on
Oct 25, 1988 one line, added IODDEV summarization of I/O data into the
VMXAINTV data set, added and renumbered the 35 reports.
The logic for USER data was re-written to keep the first
user interval instead of deleting it (to capture the CPU
time to first interval).
Change 06.140 Continued enhancement of DB2PM-like reports added and a
ANALDB2R revised version of GRAFRMFI which restores the GROUPing
GRAFRMFI which was lost pending a zap from SAS.
Oct 25, 1988
Change 06.139 CICS reports from Landmark's Monitor are now produced by
ANALMONI ANALMONI just like ANALCICS reports from IBM's CICS CMF.
TYPEMONI (Neither are anything to write home about, and will be
Oct 25, 1988 further enhanced in the future.) TYPEMONI was further
enhanced after Landmark 7.1 testing, and the logic in
de-accumulation of MONISYST re-written to properly take
in multiple systems data.
Thanks to Oystein J. Blix, Televerkets, Oslo, NORWAY.
Change 06.138 Support for SAS user SMF record (written by SAS provided
EXTYSASU exit described partially in SAS publication Y-103R which
IMACSASU is being re-written). The TYPESASU data set reports on
TESTUSER each DATA and PROC step's resource usage in a SAS job.
TYPESASU
VMACSASU
Oct 25, 1988
Change 06.137 Format MGBYTES now will handle Gigibytes and Terabytes
FORMATS (9999G and 9999T) if that many bytes are encountered (as
VMACDB2 was found in a VM/XA sites total paging space). DDNAME=
VMAC102 in PROC FORMAT is now LIB= (for PC-SAS and future).
Oct 24, 1988 New formats were added for QWHSIID and QWHSRMID variables
for DB2 Instrumentation ID and Resource Manager ID. Line
476 in VMAC102 was changed to RETURN from DELETE (with no
explicit OUTPUT statement, DELETE fell thru.)
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 06.136 Variables EXECTM and ELAPSTM for subtype 2 and 3 type 30
VMAC30 interval records (in dataset TYPE30_V) now are duration
Oct 20, 1988 of this interval, rather than from initiation of step.
Thanks to Marty Rhodes, Hertz, USA.
Change 06.135 Perverse issuance of VARY CPU command on all CPUs in one
RMFINTRV interval causes NRCPUS to be zero, causing zero divide!
VMAC7072 Now, test before divide is made where needed!
Oct 17, 1988
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 06.134 IDMS TYPERTE data set variable RT1DCTUT (User CPU time)
VMACRTE for IDMS transactions which came from CICS using UCF (ie.
Oct 17, 1988 application code executes under IDMS, CICS is used only
as a terminal handler) was incorrectly recalculated in
lines 823-824 (apparently a circumvention from the past).
The re-calculation was eliminated.
Thanks to Myles McCarthy, Fidelity Savings, USA.
Change 06.133 IMS Log processing END= logic lost the last record of the
TYPEIMS raw log datasets, causing missing values in at most six
Oct 17, 1988 observations in IMSTRAN data set.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.132 More DB2PM-like reports and enhanced friendliness are in
ANALDB2R this self-documenting replacement member.
Sep 26, 1988
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.131 The MXG error message text was changed to be more precise
IMACACCT if you encounter more job accounting fields than you told
Sep 26, 1988 MXG to expect.
Thanks to I. M. Ajzenszmidt, Australian Bureau Meterology, AUSTRALIA
Change 06.130 Support for Fujitsu's FACOM OSIV/F4 SMF data, due to
EXAIM.. major code contributions from the below named authors.
EXF1 Several classes of FACOM data records written to SMF are
FORMATS added by this change. First, PDLF (Performance Data Log
IMACFACO Facility) creates the type 127 SMF interval record; MXG
TESTFACO creates four TYPE127x datasets from member TYPEF127.
TYPEAIM. Second, FACOM SMF records type 1 and DSPRINT type 234
TYPEF... create datasets TYPEF1 and TYPEF234 datasets. Third, AIM
VMACAIM6 (Advanced Information Manager) database manager creates
VMACEXC2 type 110,111,112,113,116, and 117 SMF records which MXG
VMACF1 processes into 22 AIM11n_x datasets with member TYPEAIMx.
VMACUCB Fourth, VMACEXC2 and VMACUCB were modified to support VIO
XPDLPDA from FACOM MSP/E20 data (although you must edit IMACFACO
Sep 25, 1988 member to tell MXG you have MSP), and were also modified
to recognize 6421 disk devices in TYPE30xx, TYPE40, and
TYPE434 and PDB.STEPS and PDB.JOBS data sets. All other
SMF record written by FACOM appear to be compatible with
MXG SMF support. Twenty-eight new MXG datasets were added
by this change. Member TESTFACO (now a part of JCLTEST)
builds all FACOM data sets and is also presently the best
documentation. If Fujitsu will provide the format of the
PDL log data set, that data source will also be supported
but in the interim, if you have the PDA report program,
you can use XPDLPDA to read the report output format and
create PDL datasets much like I hope to build directly.
Thanks to David Fahey, Databank, NEW ZEALAND.
Thanks to Andrew J. Hood, Reserve Bank of Australia, AUSTRALIA.
Change 06.129 New member IMAC30IO defines a new macro _IO30IO which
IMAC30IO controls which I/O device counting variables (EXCP....,
IMACPDB IOTM....) are kept in the TYPE30_V, TYPE30_4, TYPE30_5,
VMAC30 TYPE434 and TYPE40 and PDB.STEPS and PDB.JOBS datasets.
VMAC40 No variables were removed from the previous default, but
VMAC434 the FACOM 6421 device was added (to be consistent with
Sep 25, 1988 the MXG default of keeping all possible variables). This
centralized control has been long overdue and should make
your life simple when you add/delete device classes in
the future. You should tailor this member for your site.
(To not keep the non-existent IOTM.... variables in the
TYPE434 and TYPE40 data sets, _IO30IO is actually made
up of _IO30DR (drive count), _IO30EX (EXCP variables),
and _IO30TM (IOTM variables). TYPE434 and TYPE40 use
only _IO30DR and _IO30EX so as not to change the size
of these obsolete data sets.)
Change 06.128 Support for Boole & Babbage IMF Release 2.5 was added. A
EXIMFDB2 new CIMSDB2 dataset, with one observation per transaction
VMACCIMS that accesses DB2 data, is created to count SQL activity.
Sep 23, 1988 Nine new variables (CPUDB2TM,EXTSSID,IMEUTRN,MSGDRRN,
PROGRAMB,TRNFCNT,TRNRESP,SQLCALL, and SQLCALLS) are added
to CICSTRAN data set. Fourteen new variables (BHTOON,
BILLOVHD,BMPNO,CPUDEP,CPUMDLTM,CPUNONE,DBIONONE,DBIOWAIT,
DEPRECN,EXTSSID,IMEUTRN,RGNIOPT,SQLCALL, and TRNSYNC, all
but two are one byte Y/N flags) are added to CIMSPROG,
and CPUMSKTM was renamed CPUCSKTM in CIMSPROG to reflect
that it is control region, not message region CPU time.
Not only did Boole provide documentation before shipment
of the new version, they also provided actual test data
for validation!!!! The major impact of IMF 2.5 is its
capture of DB2 resources used by IMS transactions, and
the ability to identify SQL activity for DB2 under IMS.
Note that the rename of CPUMSKTM to CPUCSKTM in CIMSPROG
requires you to make the same change, if you actually use
that variable in your IMS reporting.
Change 06.127 Zero divide error in NETSPY because test X2='80'X in line
VMACNSPY 358 to decrement TRANSNO should be X2='.1......'B. Also
Sep 23, 1988 this change added variable VLU (for virtual LU to applic.
session), sets SESSMGR only for session manager to applic
session, and no longer calculates targets if SESSMGR, as
targets are not only inappropriate, but data not valid.
It was interesting to note that NETSPY created 842 tracks
of 121,986 SMF records, but MXG needed only 479 tracks to
store 73,491 LU, 64691 LINE, 1935 APPL and 544 NCP obs,
or 40MB SMF was stored in 22MB of SAS data libraries.
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 06.126 Pre-release 6.4 spelled SQAFXMX as SQAVXMX in the KEEP
VMAC22 list for TYPE71 data set, and the second LSQAEXAV in the
VMAC71 KEEP list for TYPE71 should be LSQAEXMX. In VMAC7072 the
VMAC7072 variable TOTIORAT should not have been in the KEEP list
VMAC78 (TOTIORAT was replaced by IORATE, but the name was still
Sep 26, 1988 in the KEEP= list. Since TOTIORAT was never referenced,
it never existed in the data set. SAS does not validate
that variables in a KEEP= list actually exist (though it
does validate the KEEP statement) and MXG exploits this
ability to have a variable in the KEEP= list which is not
kept if it is not created in the code. However, in this
case, that was not intended!). Also in VMAC7072, SMFTIME
was added to TYPE70PR data set. (I really don't think it
should be, since STARTIME is the analysis time stamp to
be used, and STARTIME+DURATM provide the ENDTIME, but as
SMFTIME is redundantly in TYPE70, it makes sense to keep
it also in TYPE70PR for consistency.) In VMAC22 dataset,
VMAC78, the test (to prevent divide by zero) in line 1723
should be CHPIDTKN+PCTCUBSY; occasionally a missing value
for PCTCUBSY resulted when it could have been calculated.
Thanks to Roger Drabyk, Manitoba Data Services, CANADA.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Thanks to Jan van Lent, Sokker, NETHERLANDS.
Change 06.125 CICS program compression count and duration, PCCMPRCN and
VMAC110 PCCMPRTM were in the wrong KEEP= list, and thus were not
Sep 21, 1988 kept in CICSYSTM dataset. Remove the two variables from
CICSTRAN KEEP= list and add them to CICSYSTM KEEP= list.
To summarize CICS variables which deal with compression:
CICSYSTM contains the interval count and duration of the
compressions (PCCMPRCN,PCCMPRTM) and the number of bytes
compressed (PROGCOMP) during the interval. If you want to
know which transactions were compressed, the detail data
is in the CICSEXCE exception data set variables PGMCMPCN
and PGMCMPTM. Compression is not reported in CICSTRAN.
(Note however, that there could have been non-zero values
of PCCMPRCN and PCCMPRTM in CICSTRAN before this change.
The values would have been wrong and were being carried
forward incorrectly from the prior CICSYSTM record.)
Thanks to Jim Gilbert, Texas Utilities, USA.
Thanks to Gary Smith, Southern California Edison, USA.
Thanks to Ken Thomas, Maryland Casualty Company, USA.
Change 06.124 NPM 1.3 TNL SN25-2063 to SH20-6361 describes 5 segments
EX028CM4 and 14 subtypes not in the original type 28 appendix. The
EX028CM5 change creates four new data sets (NPMCMDRN, NPMCMNSA,
EX028IN8 NPMINNSA, and NPMNPTAK) and expands the documentation in
EX028NTK comments at the beginning of VMAC28. MXG support for the
VMAC28 type 28 SMF record now creates 28 data sets from the 53
Sep 21, 1988 subtypes containing from one to three of the 31 different
data segments. The five new segments (BAN, BAS, DRN, MSA,
and NTK) have been syntax checked, but no data for these
segments has yet been encountered.
Change 06.123 The OPERATOR variable in CICSACCT for CICS 1.7 is wrong.
VMAC110 CICS 1.6 contained a 3-byte OPERATOR field in CICSACCT,
Sep 20, 1988 CICSEXCE & CICSTRAN data sets. CICS 1.7 introduced a new
8-byte USER field, but also carries a 4-byte OPERATOR
field in EXCE and TRAN (but not in ACCT!). This made the
MXG variable OPERATOR in CICSACCT for CICS 1.7 either a
blank or the value from the prior CICSTRAN observation.
(To further complicate the matter, OPERATOR in CICSTRAN
and CICSEXCE does not match the first four bytes of USER;
the fourth byte of OPERATOR is null (hex 00) but the 4th
byte of USER is a character! This problem was fixed for
CICSACCT under 1.7 by now storing USER into OPERATOR (it
should have been set blank since it does not exist, but
this way you might not have to change reports that use
OPERATOR from CICSACCT. For CICS 1.7, you really should
use USER instead of OPERATOR in all your reports.
With both 1.6 and 1.7, you can still change your
reports from OPERATOR to USER, and can insert
IF SMFPSRVR LT 3 then USER=OPERATOR;
in MXG exit members EXCICACC, EXCICEXC and EXCICTRN
and therby put the 3-byte OPERATOR value from CICS 1.6
applications into the 8-byte USER variable.
Thanks to Tom Elbert, John Alden Life Insurance Co, USA.
Change 06.122 NPM 1.3 defined multiple fields at same location in STT.
VMAC28 Insert line 947.1 @; IF NPMSUBTY EQ 20X THEN INPUT
Sep 20, 1988 insert line 949.1 @; ELSE IF NPMSUBTY EQ 30X THEN INPUT
and change lines 950-951 from PIB4. to PIB2.
so that TOTLOVER/TOTLOSSQ are read for subtype 20x and
OBJPERCT/OBJCNTNR (now PIB2.) are read for subtype 30x.
Thanks to Bob Smith, Nissan Motors, USA.
Change 06.121 Incorrect test in NPM 1.3 type 28 record caused some CDS
VMAC28 segment data to not be read for subtypes 31x thru 35x.
Sep 14, 1988 In line 691, change LE 35 to LE 35X
Thanks to Bob Smith, Nissan Motors, USA.
Change 06.120 Boole's IMF ARRVTIME field for a fastpath record actually
TYPECIMS contains INPQUETM duration! (Sure glad this user found it
Sep 13, 1988 but sure wish the vendor had told me first!)
Insert six new lines:
IF PROGTYPE='F' THEN DO; 428.1
INPUT @113+OFFIMS INPQUETM RMFDUR4. @; 428.2
ARRVTIME=STRTTIME-INPQUETM; 428.3
END; 428.4
ELSE DO; 428.5
END; 434.1
Thanks to John Donoghue, Bank of Ireland, IRELAND.
Change 06.119 Variable PGMLODTM, "Program*Loading*Duration" was added
TYPEIMS in line 1007, immediately prior to STRTTIME=GUTIME
Sep 9, 1988 PGMLODTM = GUTIME - STRTTIME ;
PGMLODTM is included in the calculated INPQUETM. This
new variable allows identification of IMS programs with
a large load time (often due to poor loadlib blocksize).
==========Changes thru 6.118 were the real 6.4 pre=release===========
Change 06.118 The first prerelease of 6.4 was insufficiently tested.
BUILDPDB 1.BUILDPDB line 74, remove SMFTIME from BY list for SORT
BUILDPD3 of TYPE70PR.
VMACSYNC 2.BUILDPD3 line 78, remove SMFTIME from BY list for SORT
VMAC74 of TYPE70PR.
VMAC102 3.VMACSYNC line 213, add SORTBEGN SORTEND to be LENGTH 8.
Sep 9, 1988 4 VMAC74 line 3451 for MVS/ESA should be GE 100 instead of
GE 99, and line 3452 should be INPUT DASDRCFG instead of
INPUT @LENDDSS+84 DASDRCFG.
5.VMAC102 insert new line after 440:
LENGTH QWHSSTCK 8;
Thanks to Dave Greene, Kwasha Lipton, USA.
Thanks to John Thai, Health Insurance Commission, AUSTRALIA.
========Changes thru 6.117 were a limited pre=release of 6.4=========
Change 06.117 The PR/SM data set TYPE70PR is now created by default in
BUILDPDB both BUILDPDB (JES2) and BUILDPD3 (JES3) PDB libraries.
BUILDPD3 Non-zero observations will exist only if PR/SM data is
RMFINTRV found in your SMF data. (There is essentialy no cost to
TYPE7072 SAS to build a zero observation data set.) In addition,
Sep 6, 1988 the variable PARTNCPU (the number of physical processors
available to this partition) has been added to data sets
TYPE70 and TYPE70PR data sets (both in TYPE member code
and in the PDB and RMFINTRV built data sets).
Thanks to George Scott, Rockwell International Corporation, USA.
Change 06.116 IMS log record processing has been completely redesigned
IMACIMS to capture actual transaction response. Prior MXG logic
TYPEIMS created an observation for each program schedule event,
VMACIMS even though many transactions may have been processed
(each with its own response time) by a single schedule.
Sep 6, 1988 This complete re-design recognizes individual transactns
and calculates individual responses. Since there still is
only one 07 log record with CPU and DL/I counts, they are
averaged across the multiple transactions per schedule.
Pete tested with IMS 2.1. IMS 2.2 log changes were then
put in, and tested with independent 2.1 and 2.2 data from
two sites with IMF data for comparison. Log processing
will never be as accurate as Boole's IMF monitor data,
(IMS log time stamps are only to .1 sec), but this new
design matches transaction counting exactly and appears
to accurately capture IMS response time nearly as well
as does IMF. In addition, Pete found excellent match to
NETSPY measured response time in his production world.
As this is a major re-design, check it out for yourself
and call us for any new info from other MXG users as the
re-design becomes more widely distributed in MXG 6.4.
Note that the 6.3 code (which supported IMS 2.2 with the
old algorithms) was copied into the Z....... members just
in case you want to compare.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.115 EXPLORE/VM (a product of Goal Systems) data is processed
IMACVMXP with this contributed enhancement. Comments in TYPEVMXP
TYPEVMXP discuss how to invoke this code to read the EXPLORE DD
VMACVMXP and create the six VMXP.... data sets. This code has not
Sep 1, 1988 been validated with data in Dallas, but it has been in
use for some time by its author.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.114 An additional daily report from VM SP monitor data is now
ANALVMDY in member ANALVMDY which is included by EXECDALY.
Aug 24, 1988
Thanks to Steve Glick, Southern Methodist University, USA.
Change 06.113 The average Definite Response AVGDRSP is now calculate in
VMAC28 appropriate NPM data sets (along with AVGHOST, AVGNETW
Aug 24, 1988 and AVGOPER previous calculations).
Thanks to Ron Clark, Chemical Bank, USA.
Change 06.112 The DOS POWER Account Version default was externalized in
IMACDOS new member IMACDOS. The default now expectes DOS VSE SP2
TYPEDOS Release 1.3 or later format data. Comments in IMACDOS
Aug 22, 1988 describe how to change to process earlier version data.
Thanks to Dick Whiting, Precision Castparts, USA.
Thanks to Bruce Groeber, City Federal Savings, USA.
Change 06.111 Continued validation and documentation expansion enhanced
VMACVMXA the VM/XA monitor support. Protection to delete duplicate
Aug 30, 1988 data was added. The VXIODDEV data set now contains an obs
only if there was activity to the I/O device during the
interval. The NODUP option was added to delete duplicate
input data records (which can happen if MONWRITE outputs
are repetitively concatenated). If MONWRITE fills a mini
disk, data blocks are lost. Concatenation of that file to
later MONWRITE output caused the new control interval
record to be swallowed as if it were the missing data
blocks! MXG now looks for and corrects this situation.
Twenty-eight reports are now created (by default with the
_VMRPT or nnth with _VMRPTnn invocation) from VMXAINTV.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.110 This JCL example was less than clear, as it contained the
JCLPDB SOURCE option twice. It is now clearer.
Aug 22, 1988
Thanks to John Kenworthy, Naval Military Personnel Command, USA.
Change 06.109 The GMT offset added to EPILOG CL 1000 V430 records is
VMACEPIL now decoded correctly and is added to the record times to
Aug 12, 1988 produce local time-of-day timestamps in MXG data set.
Change 06.108 The ACCOUNT data set (which contains PDB.JOBS variables
BUILDPDB that are to be "back-merged" into PDB.PRINT and PDB.STEPS
BUILDPD3 is no longer deleted by BUILDPDB, making it available for
Aug 10, 1988 your own use, if needed, following BUILDPDB logic.
Change 06.107 Correct a syntax error (period should be semicolon) and
WEEKBLD eliminate the non-existent PRENTIME variable in the BY
Aug 10, 1988 list for PDB.PRINT.
Thanks to Paul Bergman, Prudential, USA.
Change 06.106 VM/XA SP1 data from several sites has been used to update
VMACVMXA processing logic. The VXBYUSR user interval data is now
Aug 10, 1988 built from VXUSEACT and VXUSEINT data sets with logic to
recognize new sessions unambiguously eliminating negative
deaccumulations in the user data. (Negative delta values
were due to either insufficient delta logic or from two
byte counters which wrapped.) With additonal test data,
it has been possible to validate which fields really are
accumulated and additional variables are now correctly
DIF()'ed.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Thanks to Vic Fadool, Health Net Corporation, USA.
Thanks to Julie Roland, IBM Kingston, USA.
Change 06.105 MXG has been tested under SAS Release 5.18 and there are
EXITMONI three problems which induced MXG circumventions:
GRAFRMFI a.The EXITMONI member which assembles the TMON INFILE exit
IMACPDB (decompression algorithm for Landmark's CICS data) must
Aug 12, 1988 be re-assembled, using the SAS 5.18 macro libraries. The
internal filetable used by the SAS ASM macros increased
by 16 bytes. You cannot use the load members built with
5.16 macros under SAS 5.18, and the load members built
with the 5.18 macros cannot be used under SAS 5.16! You
can link the load modules into your SAS load library, or
keep two separate load libraries for the exit. The MXG
instructions for EXITMONI are on pages 59-60 of the MXG
Supplement, but only the BMACLIB library (file 22 on the
SAS distribution tape, unloaded by JCL in BTSOSRC in the
SAS JCL control library) is now required for the exit.
b.The KILL with PROTECT= option of PROC DATASETS no longer
works in SAS 5.18 (it was an un-documented feature - see
SAS User's Guide page 877.) Unless you have enabled the
PROTECT= feature (by removing comments in IMACPDB), SAS
5.18 has no problem. The change to PROC DATASETS removed
KILL and now requires a DELETE statement naming each data
set with PROTECT= to be deleted. Member IMACPDB now has
the necessary explicit PROC DATASETS code for those who
have chosen to protect their PDB data sets. In addition,
the (PROTECT=ZZZZZ) string has been externalized into a
new macro _PROTECT defined in IMACPDB so that you can go
either way easier.
If I had to do it over, I would never have used the
PROTECT= option in BUILDPDB. Protection was a holdover
from the days when SAS data sets were members of PDSs
and it helped avoid B37 abends and PDS dead space. If
I could I would make no-protect the default in MXG now
but that would require all existing sites to either
scratch and re-allocate each PDB data set or to run a
separate PROC DATASETS (from IMACPDB).set. So to avoid
the un-necessary work and exposure, PROTECT= will be
unchanged in future versions. PDB data sets now with
it still have it and no new protected data sets will
be created. Furthermore, IMACPDB lets you override any
way you want it. The following PDB data sets have been
and will continue to be built with PROTECT=ZZZZZ:
CICSACCT CICSEXCE CICSYSTM DDSTATS IPLS JOBS
PRINT SMFINTRV STEPS TAPES
TYPE70 TYPE71 TYPE72 TYPE73 TYPE73L TYPE73P
TYPE74 TYPE75 TYPE78 TYPE78CF TYPE78CU TYPE78IO
TYPE78PA TYPE78SP TYPE78VS
c.PROC GPLOT now sets an error condition if all values of a
variable are missing on a plot page. In 5.16 only a note
was printed. (Note this change was not made to the GCHART
CHART or PLOT procedures!) This has caused GRAFRMFI from
MXG 5.5 to ABEND if ERRORABEND is specified. SAS now has
a ZAP which restores GPLOT to its former self (the fix is
ZAP Z518.5694). The option NOERRORABEND has been added
to GRAFRMFI in case you have not installed that zap. In
addition, an unrelated, obscure logic error in the macro
logic in GRAFRMFI was uncovered and corrected.
d.GRAFRMFI exploited the GROUP statement so you could get
groups of graphs in batch (interactively, you simply
flag each graph to be grouped by PROC GREPLAY.) Changes
to the Graphic catalog in 5.18 and the lack of a way to
define "group" when building graphs has invalidated the
use of GROUP in GRAFRMFI.
---Changes through 6.104 completed the 7/27/88 2nd prerelease of 6.3--
Change 06.104 Pre-release VMXA code was not prepared to handle multiple
VMACVMXA "packets" of VM/XA monitor data from multiple monitor
Jul 26, 1988 sessions in one input file. Major changes were made to
the MXG logic to recognize the start of a new monitor
session in the de-accumulation logic. The data sets that
create the VMXAINTV consolidated interval data set have
been much more extensively validated, although there are
already twelve known problem areas under discussion with
IBM that I believe are problems in data (for example,
the Schedule records don't contain a processor address,
so it is impossible to validate them for guests which
allocate two or more virtual machines). VMXAINTV and the
sample data sets from which it is built seem to be okay.
However, VXIODDEV, VXSTOASP, VXUSEITE and all VXSCL...
data sets have occasional negative values as minimum,
and are under active investigation. Because VMXAINTV is
believed to be valid and useful, this tape was created.
Change 06.103 DB2 trace type 102 SMF record (new in 6.3) was not fully
ANALDB2R tested, causing FORMAT NOT FOUND errors.
FORMATS RENAME IMACDB2T to IMAC102.
IMACDB2T In member FORMATS change all occurrences of:
IMAC102 $MGDZDBC. to $MGD106C.
IMAC102A MGDZPID. to MGD106I.
IMAC102B In member VMAC102 change all occurrences of:
TYPE102 MG106I. to MGD106I.
TYPE102A In members ANALDB2R, IMAC102 (after RENAME), TYPE102 and
TYPE102B VMAC102 change all occurrences of IMACDB2T to IMAC102.
VMAC102 As documented in IMAC102, there are too many iterative DO
Jul 22, 1988 statements to build all T102.... data sets concurrently.
Members IMAC102A, IMAC102B, TYPE102A and TYPE102B create
half each and are used in JCLTEST and JCLUXREF for MXG
testing and to create DOCVER entries now.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 06.102 ROSCOE 5.5 RTM response time data could be missing if the
ANALROSC SMF data was dumped after ROSCOE started. Change line 254
Jul 21, 1988 START=0; to read START=ROSTIME; to fix.
Thanks to Mike Doyle, Purdue University, USA.
Change 06.101 Member AAAAAAAA is a copy of member COPYRITE which will
AAAAAAAA be seen first if the MXG Source distribution library is
Jul 21, 1988 scanned (since that IEBUPDTE format is alphabetic). This
will simply make it clear what you've got.
Change 06.100 ACF2 sometimes contains ACTMFCBT data which is over 400
VMACACF2 bytes long, but MXG failed to protect, causing STOPOVER.
Jul 19, 1988 Find the line INPUT ACTMFCBX $VARYING200. ACTLTH @;
and change it to IF ACTLTH GT 0 THEN INPUT +ACTLTH @;
to skip over the excess data.
Thanks to Larry Cecil, First National Bank of Chicago, USA.
-------Changes through 6.099 completed the First pre-release of 6.3 -
Change 06.099 Bulk Data Transfer (BDT) variable SMF59NDT in line 184
VMAC59 is TODSTAMP8., not SMFSTAMP8 (although all other BDT
Jul 16, 1988 time stamps are SMF format!)
Thanks to Paul Walker, IBM, USA.
Change 06.098 Apparently a new release of NLDM has changed the size of
VMAC39 the accounting section. VERSNLDM was 000Dx, LENACCT=52.
Jul 16, 1988 Now VERSNLDM is 0014x, LENACCT=50, NLDMRSV1 removed!
On line 301 add @; after REVISION PIB2., replace 302:
IF LENACCT EQ 52 THEN INPUT NLDMRSV1 PIB2. @;
and add INPUT to beginning of line 303.
Thanks to Paul Walker, IBM, USA.
Change 06.097 NETSPY variables ARSPNET, T1RSPPC-T4RSPPC and OVRSPPC
VMACNSPY were sometimes "retained" into the next observation due
Jul 15, 1988 to lack of re-initialization. Now re-initialized.
Thanks to MP Welch, Sisters of Charity of the Incarnate Word, USA.
Change 06.096 Landmark's MONITOR data sets now have individual macro
EXITMONI names defined in IMACMONI which control the destination
EXMONDBD DDNAME to which the four data sets (MONISYST, MONIDBDS,
EXMONSYS MONITASK, and MONIUSER) are written, permitting the high
EXMONTSK volume data sets to be written directly to tape. The
EXMONUSR default DDNAMEs, WORK, were not changed. In the JCL for
IMACMONI the TMON exit installation (in EXITMONI), the DDNAME of
Jul 15, 1988 SYSGO should have been SYSLIN.
Thanks to Robert Manalo, EDS, USA.
Change 06.095 VM/XA SP1 data validation corrected several values and
VMACVMXA formats in the detail data sets. More important, this
Jul 12, 1988 change adds the VMXAINTV data set creation. This is the
consolidated interval data from the sample data from the
system, storage, processor and user domains. With about
228 variables per time interval, it will be the primary
source of VM/XA analysis, yet it holds 24 hours of half
hourly intervals in 1 track! Read comments in VMACVMXA.
Only simple sample reports are created now, but you can
expect more in the next pre-release. VMXAINTV should be
the primary data for investigation of VM/XA response,
resource utilization, etc. Note that the new response
measures provided are the average time and count of both
trivial and non-trivial interactions and are recorded in
two separate categories, UP and MP. CMS response will be
in the UP variables, while the MP variables contain the
response for MVS guests (or any other guest machines that
define more than one virtual CPU). Variables CALMP... and
CALUP... contain response information. CPU utilizations
are also calculated (PCT.....) to reflect overall CPU and
system versus user CPU utilization of all engines.
An unrealistically large test run (ALL possible records
from 60 intervals with 1500 active users from a 3090-600
created 100 MB of raw monitor data. MXG created all data
sets and all possible variables in 369 3090-600 CPU secs
and used 82 MB of 3380 DASD space. The VMXAINTV data set
was only 2 tracks! A smaller test sample (only 7 MB of
raw data) used 11 MB 3380 DASD and 55 3090 CPU seconds
to create all possible variables in all possible datasets
Change 06.094 NPMSLHTM should be input as PIB4.1 vice PIB4.2 to be
VMAC28 consistent with NPM 1.2 internal value, although this is
Jul 12, 1988 not documented by IBM and has not been fully confirmed.
Thanks to Henry Solomon, Merrill Lynch, USA.
Change 06.093 DOS variable LINES in keep list should have been LINEPRT.
TYPEDOS
Jul 12, 1988
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.092 Support for NETSPY Release 3.1 added variables CCUNAME,
VMACNSPY LINENAME, and NETWADDR to the NSPYLU data set, along with
Jul 12, 1988 $MGNSPXD format addition and TRANSNO alteration based on
new flag bytes.
Change 06.091 Support for EPILOG 1000 (CICS) Version 4.30 added the GMT
IMACEPIL offset variable CIGMTOFF. Candle took our suggestion and
VMACEPIL created an INFILE exit named EPILOC that decompresses the
Jul 15, 1988 EPILOG CICS data. (Candle provides the documentation, the
ZAPs to SAS and the two load modules to be installed.)
Note that exit load moudules can be concatenated behind
STEPLIB or SASLIB libraries. After you install the exit,
you must then change the INFILE statement in MXG member
IMACEPIL (to add EPILOGC as described therein) to tell
MXG the exit exists.
Change 06.090 Still more undocumented treats from NPM 1.3. Line 1268
VMAC28 added test for NPDSUBTY EQ 041X to set AOFTYPE='NAD' to
Jul 11, 1988 read undocumented NAD(S) data and eliminate reams of
'AOF DNC-SESSION END' notes on MXG SAS log.
Thanks to Paula Lamphear, The Strohs Brewery, USA.
Change 06.089 NETSPY cluster and luname were not read for subtypes 10,
VMACNSPY 11, 20, 21, and 43 (hex). Line 412's ELSE IF statement
Jul 8, 1988 was expanded to add these additional five subtypes. Also
SECONDARY is now correctly spelled in line 179.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Change 06.088 IMS 2.2 changes the location of the DEST field in IMS log
VMACIMS records type 35 and 36, as discovered by this MXG user.
Jun 29, 1988 The associated INPUTs are now conditional on the version
value (defined by you in member IMACIMS macro _IMSVERS).
Thanks to U. Guenschman, GEZ, Cologne, GERMANY.
Change 06.087 The MONITOR from Landmark accumulated CICS system data in
TYPEMONI MONISYST data set, which is deaccumulated into the actual
Jun 29, 1988 interval values by the ANALMON logic. This logic fails if
multiple CICS system's data was dumped (individually) and
then concatenated as input to MXG, because there is no
flag in the Landmark data to indicate a monitor startup.
This contributed change replaces the existing ANALMON and
heuristically detects a change in system to correctly
deaccumulate multiple-systems MONITOR data. (Note that
the original ANALMON macro still exists in TYPEMONI, but
the new macro (with the same name) is redefined after the
original definition. SAS uses the last macro definition
encountered.)
Thanks to John Leath, Fleet Information Inc, USA.
Change 06.086 The SORT order of the PDB.PRINT data set was incorrect in
MONTHBLD both MONTHBLD and WEEKBLD and in the PDB.PRINT section of
WEEKBLD Chapter 40 of the MXG Supplement. The actual order is:
Jun 29, 1988 READTIME JOB JESNR PRINTIME PRENTIME OUTDEVCE SYSTEM.
Only one run at one site actually had an error, but the
correct sort order is now used in these two members.
Thanks to Jim Bentley, US National Bank, USA.
Change 06.085 The IDMS Performance Monitor data has been enhanced and
TYPERTEJ further compared with the Cullinet reports. Their reports
VMACRTE are wrong. Their "Start Time" is actually the End of the
Jun 29, 1988 interval. Many report fields are 4 or 5 print positions;
Cullinet truncates the high order characters, which made
30652 Storage Gets (MXG value) print as only 652! Labels
for PGMOVLU, PGMOVLIU, and PGMOVLNU were changed after a
phone call to Cullinet corrected the documentation. The
storage and program pool sizes in their reports may be
wrong. the data (and hence MXG values) are pages, yet it
seems they have 4K pages and 1/2K pages in their reports.
However, not only Cullinet made mistakes. The label for
ARAFNAME is now FILE, not FIELD, and variable IHDRCVN,
the Central Version Number, was added to all IDMS data
sets (to separate different IDMS regions internally).
Finally, for IDMS journal (rather than SMF recording),
RTLHDRST should have been RT1HDRST in TYPERTEJ.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.084 Offsets for the EXD data in the SAR SMF record (which is
IMACEXD either type 6 or a user record) were low by 2. Offsets
Jun 29, 1988 are now 91, 103, 111, 121.
Thanks to Cathy Hellums, U.S. Sprint, USA.
Change 06.083 Sample Turnaround report failed if job had not actually
ANALTURN terminated. IF SUBSTR(INBITS,3,1)='J'; test was added to
Jun 29, 1988 keep only jobs which had a 30 subtype 5 term record.
Thanks to Cathy Hellums, U.S. Sprint, USA.
Change 06.082 Sample NETSPY reports raised SORT order error. SMFTIME in
ANALNSPY the SORT BY statements should have been DATE, to agree
Jun 29, 1988 with the PROC PRINT BY statements.
Thanks to Rick M. Odegard, Kimberly-Clark, USA.
Change 06.081 Inclusion of STOPX37 record processing in BUILDPDB/3
VMACX37 caused a SAS 353 error about arrays if the _CDEX37 entry
Jun 28, 1988 in PDB exit EXPDBCDE was not the last _CDE.... entry.
The semi-colon at the end of the (KEEP= ...) statement in
VMACX37 should not have been there, was the culprit, and
no longer exists.
Thanks to Paula Lamphear, The Strohs Brewery, USA.
Change 06.080 Decoding of CICS variable UOWID into its actual time
TYPEMONI stamp variable UOWTIME (Change 6.016) was revised when
VMAC110 yet another undocumented timestamp format was found. The
Jun 28, 1988 non-fatal "INVALID DATA FOR INPUT FUNCTION" note and the
hex dump of the record resulted, setting UOWTIME missing.
Multiple Region Option (MRO) CICS environments should
find that the combination of NETSNAME UOWTIME is constant
for the same transaction across the CICS regions (TOR,
AOR, FOR) for the same "Unit of Work". While the MXG
UOWTIME is constant, the 8-byte UOWID variable will only
be constant in the first six bytes; the last two bytes of
UOWID increment at SYNC points. This revised algorithm
now checks times for valid format, rather than trying to
guess where the time stamp should be! The change applies
to both IBM CMF type 110 and Landmark's Monitor data.
Thanks to Daniel Engstrom, Continuum, USA.
Change 06.079 Continued DB2 enhancements in testing:
ANALDB2R 1. ANALDB2R enhanced with additional DB2PM report from 100.
IMACDB2T 2. Preliminary testing of SMF type 102 DB2 Trace record is
TYPE102 provided by this MAJOR contribution from this user. Many
VMAC102 new T102Snnn data sets are created by TYPE102, which uses
Jun 10, 1988 the macros defined in VMAC102 that are re-defined and
controlled (to select desired trace CLASS) in IMACDB2T.
Not all of the subtypes coded herein have been validated.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 06.078 VM/XA validation continues.
VMACVMXA 1.SYSZONE is added to MRHDRTOD and all TODSTAMP8. variables
Jun 15, 1988 to convert GMT to local time in all MXG datetime stamps.
2.DM=3 RC=9 code SKIP+48 in line 2972 vice SKIP+40.
3.USEINT divide by HF counts protected for zero divide.
4.CALMPNTC respelled as CALMPNCT. (July 5, 1988).
Change 06.077 MVS 2.2 uses JFCRSV38 bit (JFCDSEQN, data set sequence
VMAC1415 number was coded on label parameter) which was a reserved
Jun 7, 1988 bit in the field decoded in to variable LABEL. This fix
tests bit values rather than hex byte value, so that the
variable LABEL is corrected.
Thanks to Howard R. Stenzel, Financial Data Products, Inc, USA.
Change 06.076 DB2 Version/Release QWHSRELN is PK1.1 vice PIB1., and no
VMACDB2 /16 operation (four places). QWHSRELN will now contain a
Jun 7, 1988 value of 1.2, 1.3, etc.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 06.075 The user type 'C0' VM/Account record created for RSCS is
TYPEVM decoded into the new VMRSCS data set, due to this user
EXVMRSCS provided enhancement. Also, tape attach records with zero
Jun 7, 1988 connect time from CA's DYNAMCMS are no longer OUTPUT.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.074 Several changes from one user:
FORMATS: 1.3240 should have been 3420 (VM Tape format)
TYPERTEJ: 1.SYSTEM $CHAR4. added to FORMAT statement.
2.After line 18, IF LGRTYPE NE 6 THEN DELETE: added.
Jun 7, 1988
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.073 Calculation of CU602LEN should have set values of 9, 10,
VMACVMON or 11. Cause last device to be lost from data set.
Jun 7, 1988
Thanks to Rachel Billington, British Telecom, ENGLAND.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.072 More IMS cleanup:
ANALDB2R 1.IF SXNUM GT should be IF SXNUM GE.
EXIMSOUT 1.IMSTRPNO spelled IMSTAPNO, MSGTRAN spelled MSGTRANS and
IMSRECNO added to DROP= list.
JCLUXREF 1.Comments improved, VERS5 changed to VERS.
TYPEIMS 1.Move INCONT,LOGONID,MSGLEN and ORGENT initializations to
before their respective conditional assignment.
2.M014 should be M0114 at line 468 (made MSGSZIN wrong).
3.NODENAME added to RETAIN at line 766.
VMACIMS 1.COMPCODE is now a $CHAR4. formatted $HEX8. The last byte
was lost when it was stored as a four byte numeric. (SAS
needs one byte for exponent if the field is numeric).
Jun 7, 1988
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.071 NPM 1.3 type 28 record Stop Collection (Subtype=2) record
VMAC28 has a shorter PMC section, causing STOPOVER. At line 825,
Jun 7, 1988 conditionally INPUT NPMDATA thru NPMUPPER IF LENTOF GE 34
Thanks to Barry Pieper, FBS Info Services, USA.
Change 06.070 Now LRECL=32760 is specified for input SMF file. The old
VMACSMF value of 32756 solved a problem introduced with SAM/E and
Jun 7, 1988 documented at that time; somewhere in the intervening 10
years, IBM lifted the constraint and now the correct SMF
LRECL=32760 is required (LRECL=32756 causes a STOPOVER
condition if data is really LRECL=32760).
Thanks to J. Cary Jones, Philip Morris, USA.
Change 06.069 Variable TYPEIOML in data sets TYPE75 and TYPE77 now is
VMAC75 updated to recognize 309x processors; it is not used in
VMAC77 MXG and this change should have little visible impact.
Jun 7, 1988
Thanks to Richard Evans, Mervyn's, USA.
Change 06.068 RMF 3.5 support for PR/SM and other MVS 2.2 changes that
EXTY70PR related to expanded JESNR range to 99,999 were added.
VMAC26J2 1.Support for 99999 JESNR from JBID added to VMAC26J2 and
VMAC26J3 VMAC26J3 for JES2 and JES3 purge records.
VMAC30 2.Support for 99999 JESNR from JBID added to VMAC6 for PSF,
VMAC434 JES2, JES3, and EXTWTR type 6 records. The OUTPUT for the
VMAC6 EXTWTR was relocated to follow the creation of JESNR.
VMAC7072 3.Support for 99999 JESNR and revision of TYPETASK decode
VMAC71 (still $CHAR4 long, but fourth position will be blank for
VMAC74 99999 JESNR in all type 30 data sets.
Jun 2, 1988 4.New variable TERMNAME (Terminal Symbolic Name) created in
all type 30, type 4 and type 34 data sets.
5.New variable DSSIZHWM (Data Space Storage, highwater mark
used during the step) only in TYPE30_4 data set.
6.New documentation notes for TYPE30_4, PDB.STEPS, etc:
IOTMTOTL: For a DIV object, this includes the IO connect
time for READs, WRITEs and REREADs. This I/O .
connect time for DIV objects is only captured
for the address space, and not by DDNAME.
IOTMTODD: The connect time from each DDNAME does not
include DIV connect time, but a DDNAME for DIV
could record connect time if it were accessed
with a VSAM utility.
IOTMNODD: Will now include the DIV I/O connect time (i.e.
NOT captured at the DD level is in NODD vars.)
7.Support for PR/SM hardware and RMF PTFs in VMAC7072 with
new member EXTY70PR.
a. New data set TYPE70PR created, one obs for each LCPU
(Logical processor) in each LPAR (Logical partition).
This PR/SM data set reports on all defined partitions
and is the only source of total hardware CPU active.
b. PR/SM changes how TYPE70 captures CPU wait and busy.
Read the Partition Data Report field descriptions in
the RMF User's Guide. The variables CPUWAITM/PCTCPUBY
(and the individual CPU 0-8 values) are recalculated
by this change from the PR/SM data sections for the
LPAR this MVS is executing in. TYPE70 data under the
PR/SM hardware now only reports this MVS's usage, and
no longer reports total (real) hardware CPU active.
Summing TYPE70PR variable LCPUPDTM by STARTIME will
provide total (real) hardware CPU activity during the
interval by ALL partitions.
c. TYPE72 variable ACTFRMTM is the resident page-seconds
sum of Central Store (CS) and Expanded Store (ES). The
ratio of ACTFRMTM/RESIDTM is the average total number
of pages (frames) in CS+ES for this performance group
period. TYPE72 variable PGPAGEIN is the number of page
ins in this performance group period.
8.Additional Paging data in TYPE71 supported. New variables
EXTREADS, SQARE.., SQAEX.., LPAEX.., CSAEX.., LSQARE..,
LSQAEX.. and REGSEX.. added.
9.Additonal SMS data in TYPE74 supported. New variables are
DASDRCFG & STORGRUP, and AVDSOPEN in RMF 3.5.0+ contains
count of allocations, rather than data sets open.
Change 06.067 This member lists all %INCLUDES for each MXG member. It
DOCINCLD is now automatically created from each new MXG version by
Jun 2, 1988 a smart SAS program.
Change 06.066 The MXG FMXGUCBL SAS function which dynamically allocates
FMXGUCB7 all online DASD for VTOC processing was for MVS/XA only.
Jun 2, 1988 This new member provides the same function under MVS/370.
Thanks to ???, ???, AUSTRALIA.
Change 06.065 STOPX37 Product Release 3.2 is now supported. Record was
VMACX37 completely reordered but essentially the same variables
Jun 2, 1988 exist.
-------Changes through 6.064 completed the Pre-release MXG 6.2-------
Change 06.064 STOPX37 product changed SMF record format. Temp fix to
VMACX37 avoid STOPOVER ABEND was added, but does not support the
May 2, 1988 new format in their Release 3.2, which will be in the
next pre-release of MXG.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.063 Final beta tests of 6.2-minus uncovered these errors:
TYPEIMS -MSGSZOUT spelled once in error as MSGSZOU.
EXIMSOUT -TRANCLAS spelled in error as TRANCLS.
JCLUXREF -Unnecessary PROC COPY removed from TESTUSER step and 2nd
Apr 27, 1988 DCLOG DD DUMMY was supposed to be EPILOG DD DUMMY (slow
response after SPF replicate subcommand caused error).
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.062 Support for VM/XA SP 1 accounting card data (described in
TYPEVM SC23-0353, pages 126-128). Only the VMSESSN, VMDEVICE and
Apr 27, 1988 VMUSRDAT datasets are created by VM/XA. Data set VMDEVICE
variables DEVICECL, DEVICETY, MODEL, & FEATURE are now
reserved fields! Two new variables for vector CPU time,
VECVITM and VECVIRTM, are created for VM/XA and VM/SP
account cards. The card format is essentially the same as
VM/SP so this member now supports VM/SP or VM/XA records.
Change 06.061 Variables LPAPGMN,MX,AV, CSAPGMN,MX,AV, and PRVPGMN,MX,AV
VMAC71 in TYPE71 are correct, but their label was "PAGEABLE" and
Apr 27, 1988 is now "TOTAL". Page 410 of the MXG Supplement is correct
(except for the mispelling of private as privage!) which
corrects page 706 in the MXG Guide! Change 4.34 made the
values correct, but overlooked the change in labels.
Thanks to Roger Crabb, British Telecom Red Lion Square, ENGLAND.
Change 06.060 -Variable NPMLOST should have been PIB4. vice $CHAR8.
VMAC28 -For all date fields INPUT with PD4 format were protected
Apr 27, 1988 from a null (hex zeros) value causing INVALID DATA by the
addition of ?? between variable and PD4. (which causes
the value to be set missing without the hex dump and the
error message). Nulls were found for OGNSDATE & OGNEDATE.
-LDRTIME is reported always zero, IBM suggested UY18442 is
the fix, but that is in doubt and unconfirmed.
Thanks to Barry Pieper, FBS Informations Services, USA.
Thanks to Craig Feistner, CITICORP South Dakota, USA.
Change 06.059 Variable DOWNTM in TYPE0 data set was sometimes set to
VMACSMF missing when it could have been calculated, because the
Apr 27, 1988 PREVSYS and PREVTIME temporary variables in this member
were not RETAINed. They are now.
Thanks to Mike Heffler, Department of Defense, Ft Meade, MD, USA.
Change 06.058 Beta test of VM/XA SP 1 Monitor Records completed. See
DOCVER the sparce documentation in comments in VMACVMXA and
EXdddrrr examine the structure of the _TESTVM macro to see the
FORMATS slight changes in overall MXG structure necessary to
IMACVMXA accomodate the need to de-accumulate. Instead of the
UTILGEVX _VAR.... and _CDE.... MXG macro names, the _Vdddrrr and
UTILVB _Cdddrrr MXG VM/XA macros descrive the VXdddrrr data set
VMACVMXA created from Monitor Domain ddd and Record rrr records.
Apr 27, 1988 Seventy-five MXG SAS data sets are created with 1393
variables. Member DOCVER documents these MXG data sets.
In the author's opinion, this is the best MXG code ever written!
But that's not surprising with the good documentation and SAS,
and especially since the choice of IBM field names were
sufficiently "human-engineered" and self-consistent that I chose
to use them as the MXG variable name. This will completely avoid
the past difficulty of multiple names for the same field (such as
the CP, MON, and VM MAP triplets for identical fields). The
design left 5 positions for a reasonably un-cryptic name, and
wise person(s) picked good, usable and understandable names.
IBM Kingston: Thanks, you really did this one right!
========Changes thru 6.057 were printed in NEWSLETTER TWELVE==========
========Changes thru 6.057 were printed in NEWSLETTER TWELVE===========
Change 06.057 New exit IMAC434D was added to support modeling from
IMAC434D type 4, 34, and 40 records. Since BUILDPDB only uses
VMACEXCP type 30 records, this should not be important to many,
but it was added upon request for consistency with the
IMAC30DD similar-purpose exit for type 30 SMF records.
Apr 7, 1988
Thanks to Andrea Glaser, Performance Systems, Inc, USA.
Change 06.056 Complete internal rewrite of db2pm-like reports as new
ANALDB2R style macro, which supports reporting for multiple db2
systems, with a brand new report, is described in the
comments in this revised member. more still to come.
Apr 6, 1988
Change 06.055 $AVRS (SYSOUT Accumulation and Viewing System), Confident
IMACSAVR Software, Inc, creates a user SMF record which is now
TYPESAVR supported. You specify the SMF TYPE in IMACSAVR.
VMACSAVR
Apr 4, 1988
Thanks to Vern F. Berkquist, Bradford Exchange, USA.
Change 06.054 Landmark's CICS code was not updated for decoding of new
TYPEMONI UOWTIME format, causing an "INVALID DATA FOR INPUT FUNCT"
Apr 2, 1988 message (simply setting UOWTIME missing and continued).
Change 6.016 should have been made to Landmark as well.
Thanks to Bill Border, Apollo Computer, USA.
Change 06.053 -IMS Log processing with MXG now really matches DFSILTA0
EXIMSOUT counting of transactions! This supplements the comments
IMACIMS in Change 6.22. Lots of additional research by Pete shows
TYPEIMS that the "minor glitches" turned out to be "page scrolls"
VMACIMS (PA1 key, or retrieval of multiple screens) which MXG put
your IMSJCL in the MSGONLY data set. Pete has added new algorithms in
Apr 1, 1988 EXIMSOUT which recognizes and moves them from MSGONLY to
the IMSTRANS data set. With this change, MXG now matches
exactly to 99.5% of IBM's DFSILTA0 program (which ,may be
the culprit, since it doesn't start counting transactions
until an IMS checkpoint record is found, while MXG begins
with the first record on the IMS log.)
-You must add a new DDNAME to the JCL which uses TYPEIMS
(this has been done to step TESTOTHR in JCLTEST):
//INSTREAM DD UNIT=SYSDA,SPACE=(CYL,(1,1))
which is used in the new EXIMSOUT exit for the "instream"
creation of the $TEMPIMS. tempory SAS FORMAT.
-All references to the unnecessary and redundant _IMSWORK
macro were removed to avoid confusion. Since IMS log data
is processed in a separate step from other data records,
there is no need for a work DD name other than WORK.
Thanks to Pete Shepard, Ashland Oil, USA.
for lots of arduous work.
Change 06.052 -TYPE78.. data sets variables INSTALL, ONLINE, VARIED,
VMAC78 OFFLINE, INVLID, PCTPTHBY, NOSTCPS, NOUCBFND, NOHDWMES
Apr 1, 1988 were not set blank by an ELSE clause if the bit test was
false, which could cause the 'Y' value to be propagated
(incorrectly) into the next segment in the record.
(Change 5.27 fixed this for VMAC74 but overlooked VMAC78.
-Labels for NRIOPENQ and NRIOPREQ were reversed.
Thanks to Stephen Geard, Commonwealth Bank of Australia, AUSTRALIA.
Change 06.051 When the SORT list for BUILDPDB data sets was expanded to
WEEKBLD handle the NODUP option in MXG 4.4, weekly and monthly
MONTHBLD members BY lists were not updated. While only one user
Apr 1, 1988 noticed this oversight, now the BYLISTs agree with the
PDB order as documented in the MXG supplement pp263ff.
Thanks to Marge Hagen, GTE Marina del Rey, USA.
Change 06.050 Comments were re-written to better describe the default
TYPEROSC ROSCOE data sets created by this member. No code changed.
Mar 31, 1988
Thanks to Craig Feistner, CITICORP South Dakota, USA.
Change 06.049 SYNCSORT SMF record had minor exposure in calculating the
VMACSYNC date part of SORTEND datetime stamp for sort which began
Mar 31, 1988 on one day and ended on the next day. Lines 260-261 were
reversed; the IF test precedes the calculation.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.048 RACF type 80 format TYPE80ER was not correct (and caused
VMAC80 an overlooked note on the SAS log). It is now.
Mar 31, 1988 Add one new line after 1261:
@; IF LENAOF GE 76 THEN INPUT
b.Change three occurrences of NPN to NPM.
Thanks to Mark Bercov, Canadian Occidental Petroleum, CANADA.
Change 06.047 This change consolidates all current reported errors in
ANALNPM support for the new type 28 SMF record. The comments at
VMAC28 the beginning of VMAC28 are now enhanced and provide a
Mar 17, 1988 cross reference of the type 38 variables with their new
Mar 31, 1988 type 28 replacements: TYPE38EX in NPMEVNCP & NPMEVNET,
TYPE38IN in NPMINLU & NPMINPU, and TYPE38NC in NPMINNCP.
a.These five new data sets are not exact replacements for
the three TYPE38.. data sets, and for consistency all of
the old NPA prefixes were changed to NPM (NPA was the old
IBM FDP, which died a graceful death). Your TYPE38..
reports will need to be changed; use the aforementioned
cross reference of new/old variables and data sets in the
comments at the beginning of VMAC28.
b.NPM 1.3 type 28 record creates two lengthed NAD segments
and the shorter length caused an INPUT STATEMENT EXCEEDED
RECORD LENGTH error. Add one new line after 1261:
@; IF LENAOF GE 76 THEN INPUT
c.Changed three mis-spellings from NPN to NPM.
d.Exchanged 20 and 30 in line pairs 24,25 and 1424,1427.
(This will exchange observations in NPMINSES & NPMINRTM.)
e.Repeated line 731 as 731.1 with 0F5X setting NND.
f.Added new line 779.2 with +2 (missed reserve field).
g.Added new line 1201.1 to set AOFTYPE='NAC' with OR
(NPMSUBTY EQ 18X AND NPMTYPE EQ 81X).
Added new line 1202.1 to set AOFTYPE='NAD' with OR
(NPMSUBTY EQ 18X and NPMTYPE NE 81X).
h.Renumbered VMAC28 and ANALNPM to "level set" for future.
i.You can see that many users helped in the validation
of the 6.1 pre-release of SMF 28 support. There still
may be record combinations which have not been tested,
and there are not really any reports yet, especially from
the new data sets, but (to paraphrase SAS' Robert Cross
at 1988 SUGI, about the major SAS re-design, MVA for
Multi Vendor Architecture which was only a concept last
SUGI): "Now it works!" Thanks for all who helped:
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Thanks to Barry Pieper, FBS Information Services, USA.
Thanks to Matt Cody, Jostens, USA.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Thanks to Mike Pichowicz, U.S. Trust, USA.
Thanks to Billy Westland, Candle Corporation, USA.
Thanks to Robert Bunn, IBM NPM Level 2, USA.
Change 06.046 This MXG system for measuring your DASD farm (data set
FMXGUCBL sizes from VTOCs) now supports the 3375 DASD device.
VMXGVTOC
Mar 17, 1988
Thanks to Chuck Rexroad, Perpetual Savings Bank, USA.
Change 06.045 -Cosmetic clean-up in JCLTEST member in step TESTUSER adds
JCLTEST the EPILOG DDNAME. In TESTUSER member, %INCLUDE TYPESYNC
TESTUSER was added to create and test SYNCSORT data set. We use
VMXGUSE JCLTEST to create MXG's cross-reference that is input to
Mar 17, 1988 both the auto documentation (DOCVER, DOCVERnn) and the
conflict analysis (variable names, types, formats, etc).
XREF and DOCVER are the final runs before a pre-release
of MXG Software is ready for shipment.
-A new style macro %VMXGUSE was contributed by Dan Kaberon
that builds an MXG execution for a specific subset of SMF
records. This is provided as an example only. The MXG
development of a code generator to trivialize that task
is ongoing, but not with the %MACRO facility. Consider:
BUILD XAONLY 30.4 30.5 26 ADD=MYVAR DROP=OLD1 OLD2
for you to create the TYPE30_4, TYPE30_5, TYPE26 datasets
with the MXG default variables (but only from MVS/XA) and
with trivial tailoring of kept variables through ADD= and
DROP= syntax. This is a list processing problem, where
the input lists are a tested, changing part of MXG code.
A data step seems to be the only right way to implement
this design, but don't look for it before 1989! Another
MXG user has shown me his proprietary solution which is
based on a data dictionary, implemented with macros. It
is also under consideration. Then also, SAS Institute
announced at SUGI 88 that the SAS/AF CPE Reporting System
(currently free upon request) will be automatically on
SAS 5.18. That is likely to be the test bed for any such
MXG offering.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 06.044 The optional DL/I counters and clocks which can be added
IMACICDL to your CICSTRAN data set from type 110 SMF records may
Mar 8, 1988 not be labeled. The LABEL statement is inside the 1.6
comment block, but not in the 1.7 comment block. If you
enabled both 1.6 and 1.7 DLI counting, your labels are
fine, but if you enabled only 1.7 DLI counts, you should
copy the LABEL statement from in the 1.6 code in IMACICDL
into the same place in the 1.7 code.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 06.043 This ASM program and associated REXX EXEC is for VM/SP
ASMVMCOPY and VM/SP HPO sites who do not have a CMS SAS license,
REXXCOPY who want to copy the VM/Monitor spool data records to a
Mar 8, 1988 CMS file (typically to then be processed by MXG under the
MVS SAS System). The EXEC should be self explanatory, and
the ASM source program needs only compiled and linkedited
to be useful. (If you have the CMS SAS System, the Infile
Exit named MONITOR allows the copy of Monitor Spool Class
data directly, without ASMVMCOPY program.) This program
is functionally equivalent to the VM MAP MONDISK/MONTAPE
routines.
Change 06.042 Support for RMDS Release 3.0. One MXG Format, new values
FORMATS for existing formats, and a new Macro in IMACRMDS is now
IMACRMDS required to tell MXG whether its RMDS release 2 or 3, as
VMACRMDS there is no version indicator in the data records.
Mar 8, 1988 self-recognition.
Thanks to Randy Graves, City of Albuquerque, USA.
Change 06.041 Reserved Change number.
Mar 8, 1988
Change 06.040 Support for the SMF record created by Goal System's
ANALPDSM PDSMAN/SP product. This code was written in Germany and
EXTYPDSM donated to MXG. It was slightly restructured, and thus
IMACPDSM any errors are my fault, not theirs.
TYPEPDSM This implementation (which started with functioning code)
VMACPDSM produced a "typical" MXG support set for an SMF record:
Mar 7, 1988 Five new source members, 250 SAS source lines, one SAS
data set with 21 variables and one new MXG format.
Thanks to Engelbert Smets, Provinzia Versicherungsanstalten, GERMANY.
Change 06.039 Member ANALDB2R produces DB2PM-like summary reports. They
ANALDB2 have been further validated by detail comparison and now
ANALDB2R they should be reliable. This validation uncovered an MXG
Mar 7, 1988 error in member ANALDB2R which affected variable QXFETCH
in DB2STAT1 data set, because Change 5.144 (which changed
QXQUERY to QXFETCH) was not applied to ANALDB2R.
The ANALDB2R report has been re-written as four new-style
%macros and support reports by DB2 system. Comments in
that member describe the selection criteria. Another DB2
report has been added also. Expect more DB2 reports in
the next prerelease (which hopefully will support the SMF
type 102 DB2 record as well)!
Five SQL values in the Accounting summary were close, but
were nevertheless wrong. Most of the other differences
between DB2PM and MXG reports came from these factors:
a. IBM uses a slightly different value for interval in the
denominator of all rates (still under investigation,
but it looks like IBM modulos minimum to adjacent 10
minute TOD, modulos maximum SMF time up to its 10 min
TOD and then takes difference as interval).
b. A difference of one in the last digit almost always is
noted. IBM truncates, MXG rounds.
c. IBM averages include zero values but MXG used to use a
SAS missing value. MXG now sets zero to agree with IBM.
d. Errors (in my opinion, still under investigation) in
their DB2PM Statistics Summary report code:
1. Buffer Pool "Current Active Buffers" is actually the
maximum number of buffers, and the Max/Min numbers do
exist, even though not printed by DB2PM.
2. Service Controller "Datasets Open - Current" is larger
than "Datasets Open - Maximum" and not equal to either
current or maximum in SMF record. SMF=MXG looks right
now. This was reported in Change 5.89d.
3. Still as reported in Change 5.89a, EDM Pool "FREE PG
IN FREE CHANGE" and adjacent AVERAGE values are wrong
because QISEFREE is (incorrectly) the value from the
preceding record.
4. Change 5.89e (Agents Services and Storage Manager)
fields (QVASX... and QSST...) have not been confirmed
as corrected.
5. System Events "Abends EOT" shows zero even though the
next page, Subsystem Service Component "Subsystem
Allied Memory EOT" value is 203.
e. Additional changes in the Accounting Summary report:
-Group total line printed only when there was a group!
This will reduce the size of the MXG report by half as
many pages as it was.
-RATE/HR and %DYNSQL report fields are now calculated.
-The average values in this report now agree with IBM's.
Five fields (ABNRM TERM thru OTHER MANIP) disagreed. The
1st was wrong, the others were different because IBM's
averages included 0 values, while MXG used missing value
There was no error in the MXG DB2ACCT data set, only in
this ANALDB2R report program.
This change required 16 dedicated hours.
Thanks to Louis Eliscu, Continental Insurance Company, USA.
Thanks to Ralph A. Pepe, Connecticut Bank & Trust Company, USA.
Change 06.038 Continued validation of MXG VM/Monitor data sets shows a
ANALVMOS numeric difference on some average values. These design
VMACVMON considerations caused the variations:
Mar 05, 1988 -MXG set values to missing, while IBM sets everything to 0
(which changes the Number of observations in the Mean).
-MXG defined ACTIVE if the USER used any CPU time during
the interval while IBM tested only the virtual CPU time.
There are lots of user records (for PROFS users maybe?)
with CPUSVITM zero but with CPUSTOTM non zero that MXG
formerly counted ACTIVE. CPUSTOTM non-zero with CPUSVITM
non-zero means CP CPU time with no VTIME. This may be a
result of PROFS machines, actually inactive during the
interval, whose "display clocks" must nevertheless be
updated (or something like that) causing measured CP CPU
time during the interval. In any event, MXG now counts
ACTIVE just like IBM.
-MXG deleted all records in the first two intervals. This
was done in initial testing when large CPU time values
were found in the first few records, and because the 1st
record will eventually be deleted (can't calculate delta
'til you get the second record). However, the real cause
of those "bad" CPU times turned out to have been fixed
by Change 5.133 (negative decremented counter reset)!
-In summary, MXG now keeps the second interval, uses zeros
and IBM's ACTIVE calculation to more closely match VMMAP
reports. The detail data was never really wrong.
a.ANALVMOS needed PROC SORTS and some new calculations for
the Paging and Swapping Volume data sets to be right in
the summary reports and data sets.
b.VMACVMON revisions include:
-Logic which used to output observations after the second
interval (INTRVCNT GT 2) was changed to (INTRVCNT GT 0)
so that all records initially create an observation.
-Final MERGE to build VMONPERF data set now does delete
the first interval (after delta calculation). This was a
result of the previous logic change.
-Additional logic sets missing values to zeros for those
queue stats (cpuq defrq ioq pageq pswait runq stgq swapq,
and their derived percentages).
Thanks to Steve Glick, Southern Methodist University, USA.
Thanks to James Farnsworth, Carolina Power & Light Company, USA.
Thanks to Jeff McCourt, The Continuum Company, USA.
Change 06.037 This change revises and replaces 6.011, which added only
IMACCADI the EXD support. SYSOUT handling products CA-DISPATCH and
IMACEXD EXD create modified type 6 SMF records. This change adds
VMAC6 support for those modified record, but the user who does
Mar 05, 1988 not have those products will not see the new variables in
her TYPE6 data. The algorithm to accomplish this task is:
The new variables are already in the KEEP= list in the
definition of _VAR6 macro in member VMAC6, but the code
that references the new variables are commented out in
the associated IMAC.... member. To create either set of
variables, you need only copy the appropriate IMAC.... to
your USERID.SOURCLIB, remove the comments and TYPE6 will
contain the new variables. If you also want them in your
PDB.PRINT data set, you need also edit IMACPDB and add
the variables to _PDB_6 definition therein.
Thanks to Larry Miller, First American National Bank, USA.
Change 06.036 The JOB variable has been added to the new type 41 (DIV,
VMAC41 Data-In-Virtual) SMF record by IBM, but I can't find the
Mar 05, 1988 APAR/PTF which made the change. Only the JOB was added;
the READTIME is still not there, so you can not merge a
TYPE41 with the other SMF records of a job! This will be
an important record in MVS/ESA in the future, as DIV is
the primary physical implementation for the data spaces
announced in MVS 3.0. At least I think thats right. If
you are testing DIV, you should see APAR OY09833 which
fixes a DIV problem with missed RPS revolutions (and the
concomitant elapsed time elongation) with 3380s behind
Model 23 cache controllers!
Change 06.035 The VVR decoding worked perfectly, unless the ENTRNAME is
VMAC60 exactly 44 bytes (which caused "SUBSTR ARGUMENT INVALID"
Mar 05, 1988 message). To repair, replace existing lines 76 thru 83
(that's 8 lines) with these seven (renumbered) lines:
INPUT @OFFPROD+179+VVRCMPNL VVRKEYL PIB1. @; 0076
VVRKEYL=VVRKEYL-1; 0077
INPUT VVRKEY $VARYING44. VVRKEYL 0078
+1 0079
VVRCATNL PIB1. 0080
VVRCATNM $VARYING44. VVRCATNL 0081
@; 0082
Thanks to Thomas Frenkel, CITIBANK N.A. New York, USA.
Change 06.034 The VMSORT product from VMSI can cause a spurious Detach
VM or your 190 disk. The Vendor fix is S140520.
Mar 05, 1988
Thanks to ???, ???.
Change 06.033 The references on pages 247 and 252 of the MXG Supplement
TYPEMONI concerning the count of Landmark CICS transactions in the
Mar 05, 1988 history summary records should read that TATASKNR (and
not the other variable TASKNR) contains the total count.
Thanks to William Pedilla, Farmers Insurance, USA.
Change 06.032 This is hopefully the final hit on the IDMS Performance
VMACRTE Monitor (RTE) data sets. The INPUT TAWPGMLL statement at
Mar 05, 1988 line 964 needed to be INPUT +4 TAWPGMLL to skip over the
TASKID. This only affected the first six copies of 6.1.
Thanks to Rodney L. Reisch, General Electric Silocon Products, USA.
Change 06.031 This logic change in SPINCNT logic really only affects a
BUILDPDB site which wanted to SPIN once and only once (to BUILDPDB
BUILDPD3 once a month, for example). The old algoritm would SPIN
Feb 17, 1988 on the first day (_SPINCNT = 0) or on the third day
(_SPINCNT = 1), but it would not SPIN on the second day.
Change 5.134 attempted to address this problem, but it
did not help. This piece of logic has always been wrong
in MXG, but Leigh tracked it down and fixed the problem
for all of us.
The SPINCNT logic is described in Chapter Thirty-Three.
Start first with the Supplement, then the earlier Guide.
There will be a slight impact on current PDB users, as
this correct algorithm PDBs (verb) the data on the day
it should have, which is one day earlier than before:
IMACSPIN
_SPINCNT Old Algorithm Correct Algorithm
0 PDBs today, PDBs today,
No SPIN. No SPIN.
(No change here).
1 SPINs twice, SPINs today,
PDBs third time. PDBs tomorrow.
2 SPINs thrice, SPINs twice,
PDBs fourth time. PDBs third time.
.......
10 SPINs eleven days, SPINs ten days,
PDBs twelfth day. PDBs eleventh day.
BUILDPDB BUILDPD3 From To
line 375 385 SUM( ,0.5); SUM( ,0);
line 380 390 GT GE
Thanks to Leigh Miller, GRE Insurance Ltd, Camberwell, VIC, Australia
Change 06.030 ANALMNTS adds a new capability to MXG by providing a way
ANALMNTS to calculate a useful "typical" average time per tape
EXTY74 mount for each tape drive for each hour when there were
Feb 16, 1988 mounts on that tape drive. ANALMNTS merges the TYPE74
mount pending durtion with the TYPE21 count of dismounts
during the RMF interval to calculate AVGMNTTM for each
hour for each device. Because TYPE21's timestamp is the
dismount (could be much later than mount timestamp), the
values calculated do have some ambiguity - occasionally
very large differences are observed between the actual
mount time and that calculated by this algorithm. More
on the validation of this algorithm later. Call if you
want to use it.
In developing ANALMNTS, the MXG Default for TYPE74 which
creates observations only if PCTDVUSE or SIO74CNT are non
zero (Default in EXTY74) was enhanced to OUTPUT TYPE74 if
mounts were pending, even if nothing else happened. This
change in MXG default is needed if you create type 74 RMF
records for TAPE and want to use ANALTAPE to estimate the
mount time. The number of additional observations should
be minimal (but their absence added 6 hours to validate
ANALMNTS!)
Thanks to Dan Kaberon, Hewitt Associates, USA.
whose originally proposed the algorithm last year, and who helped me
with this one. He has given IBM a suggestion to add two fields,
total mount and number of mounts, to the TYPE74 interval record,
which would (if IBM responds) permit un-ambiguous average tape mount
time calculations from TYPE74 records directly for each RMF interval
for each device.
Change 06.029 NLDM TYPE39 variables TBYT.... and CBYT...., Text/Control
VMAC39 bytes between primary and secondary were reversed. The
Feb 16, 1988 .BYTPRSC variables should have been .BYTSCPR and vice
versa.
Line 306 should be ....PRSC
Line 308 should be ....SCPR
Line 310 should be ....PRSC
Line 312 should be ....SCPR.
Thanks to Mike Paller, Harris Corporation, USA.
Change 06.028 TYPE71 variables PAGBLMN and PAGBLMX (min and max number
VMAC71 of pageable frames) for MVS/XA have always been reversed.
Feb 16, 1988 (I guess this has been overlooked since almost everyone
looks at fixed pages rather than pageable; also, PAGBLAV
(average number of pageable frames) was always correct.
Lines 545 should be: PAGBLMN=PAGBLMN-FIXEDMX;
Lines 546 should be: PAGBLMX=PAGBLMX-FIXEDMN;
because in MVS/XA, the inputted PAGBL.. field is actually
the total frames, and max PAGBL is when FIXED is minimum.
Thanks to Kathy Manos, Stroh Brewery Company, USA.
Change 06.027 Syntax errors which slipped into the first pre-release of
VMAC28 NPM 1.3 support in MXG 6.1. Affected only 5 pioneers.
IMACROSC a.VMAC28:
Feb 15, 1988 Line 576, remove BINDCODE (from the $HEX2. line).
Line 577, add BINDCODE (to the HEX2. line).
Line 582, %%INCLUDE vice %INCLUDE SOURCLIB(IMACSHFT).
b.IMACROSC:
Restore MACRO _ROSCDDN WORK % which had been deleted
in error.
c.NPMFCCCT was renamed to NPMFCCTM to be consistent with
NPA names and meanings, and the PCTBUSY and PCTSLOW
variables were added to the NCP statistics, PCTBUSY to
the other interval data sets. With these additions, the
NPM data sets should be usable in place of TYPE38 data.
(I'll try to get a mapping together in the next release).
This paragraph added March 7, 1988.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Change 06.026 The Compatibility notes in MXG Version 5.5 should have
TYPE74 noted that TYPE74 data set will usually have fewer OBS
Feb 9, 1988 under 5.5 than with 4.4. TYPE74 only contains OBS if the
device was busy (PCTDVUSE), but a 4.4 error carried this
to the next device, causing 4.4 to output an extra OBS
for a device which had had no activity. No big deal here,
except for the time it took this user to validate that
the change was correct and for the good!
Thanks to Barry Pieper, First Bank Systems, USA.
The previously thanked Tom Frenkel gets to see his name now correctly
spelled, and his company as Citibank, and not its competitor!
=============Changes thru 6.025 as of Feb 4, 1988 ===================
======First pre=release of 6.1 included Changes through 6.023=========
Change 06.025 A new MXG Exit for the PDB has been created. EXPDBSPN is
BUILDPDB taken after yesterday's SPIN data sets and today's new
BUILDPD3 SMF data sets have been interleaved, but before the MERGE
EXPDBSPN in which the decision TO SPIN or NOT TO SPIN is made. It
Feb 4, 1988 may be necessary for NJE sites, where NJE creates type 6
records for the same job with multiple JES numbers. One
site is trying to use this exit to find the correct JESNR
(from the type 26 original JESNR) and store it into TYPE6
so that MXG will then assemble them all into the one JOBS
observation for the job. It may have other uses, too.
Change 06.024 DISP=(MOD,CATLG) is used in JCL examples to show you how
Feb 4, 1988 to create the data set if it doesn't exist and to use the
DOC existing copy if there is one, and to not have to EDIT a
JCL file. It turns out that if the VOL=SER parameter is
also on the DD card, the job dies with a 213-04 ABEND!
It's not clear why, but that's the way it is with JCL.
(Actually, if your installation uses the VOL=SER for you
to specify a generic for a group of volumes, MOD,CATLG
may still work, since that installation modification does
not actually send a VOLSER over to the JES Converter.)
The moral is, don't specify VOLSER and MOD,CATLG works!
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.023 VM/Monitor data on Jan 30, 1988 from 21:29:55.02 until
Feb 4, 1988 the monitor was stopped will have STARTIME beginning at
VMACVMON 06:46:48.97 on July 11, 1987, 203.613 days earlier. The
VM/Monitor records contain only five bytes of the actual
8-byte TOD datetime stamp. Five bytes holds 203.613 days.
MXG implemented a slick algorithm to figure out exactly
when the current 203-day interval began (BASETIME) so the
5-byte MNHTOD could be added to create STARTIME. (You can
not just use the COLLTIME in the 0.97 record because it
is only accurate to a full second.) Once the BASETIME had
been set by the first record, however, MXG failed to test
to see if MNHTOD had wrapped into the next interval! This
could easily have been missed, since Jan 30 was a Sat.
(The next exposure is 21AUG88:12:13:00.97, a Sunday!)
-Add LASTHALF to the retain statement at line 284.
-Replace THEN BASETIME=BASETIME-FFFFF; in two places, in
lines 275 and 2025 with
THEN DO;
BASETIME=BASETIME-FFFFF;
LASTHALF=1;
END:
-Insert after line 278
IF LASTHALF AND MNHTOD LT FFFFF/2 THEN DO;
BASETIME-BASETIME-FFFFF;
LASTHALF=0;
END;
Change 06.022 -Further validation of MXG IMS log data sets with the IBM
Feb 3, 1988 utility's output by Pete uncovered several enhancements,
TYPEIMS as well as legitimate differences in transaction counts.
VMACIMS The IBM utility does not begin counting transactions til
it finds an IMS checkpoint record, but MXG starts with
the first 07 record found. If the IMS log tape does not
start with IMS startup, MXG will count all, IBM won't!
Pete also improved the match-up logic, using DLRTOKEN in
addition to PSTNUMBER TRANSACT. Additionally, variables
APPLID, MSGSZIN, MSGSZOUT, NODENAME, and TRANCLAS were
added to the IMSTRAN data set. There still may be minor
glitches in MXG, but the quality of the data gets better
each time someone like Pete really digs in.
-Member EXIMSCDE was deleted from the SOURCLIB. It was a
test member, and should have not been in 5.5. References
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.021 SYNCSORT sort SMF record timestamps SORTEND and SORTBEGN
Feb 3, 1988 and calculated ELAPSTM were incorrect. BEGIN and END were
VMACSYNC four PK1. fields with HH,MM,SS,TT and ELAPSTM relocated.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.020 -The technique (described on page 10 of MXG Newsletter 11)
Feb 3, 1988 to build the month PDB using only one tape drive should
MONTHBLD have the DCB=TAPETEMP added on the FILE MONTH statement
at line 144:
FILE MONTH MOD CLOSE=LEAVE DCB=TAPETEMP;
(If you specified a DCB on the MONTH DD card, you did
not notice the problem. Without a DCB parameter, SAS
uses the FILE BLOCKSIZE, which defaults to 6400 bytes.
As long as the internal length of a SAS observation is
less than 6400 bytes, no problem, but TYPE78VS data set
(among others) is larger than 6400 bytes. This change
uses the build data set block size for the MONTH file.)
-A new line (95.1) should be inserted before the percent
sign which terminates the MACRO _MNTHBLD definition:
PROC DATASETS NOLIST;DELETE DUMMY._DSET;
This will keep the size of the DUMMY allocation within
its 3-track allocation.
Thanks to Lee Salley, Westinghouse, USA.
Change 06.019 This MXG function dynamically allocates all online DASD
Feb 3, 1988 volumes in preparation for VTOC reading. This function
FMXGUCBL uses MVS/XA UCB look-up logic, and thus the function does
not work under MVS/SP at the present time. If you fix it
to execute under MVS/370, let us know and we'll share.
Change 06.018 Lines printed by VPS (SYSOUT spooling product) are seen
Jan 27, 1988 in PDB.PRINT as external writer lines rather than print
VMAC6 lines because VPS product does not store printer name in
output device field. VPS records contain string "VPS" in
the UCS field. This change recognizes VPS type 6 record
and sets DEVICE to PRINTER so that BUILDPDB will put the
VPS lines in PRLINES variable. Expand the IF statement at
line 148 by adding OR UCS=:'VPS'
(to set DEVICE='PRINTER') for the VPS type 6 record.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Change 06.017 Support for Version 7.1 of Landmark's Monitor added. The
Jan 26, 1988 MXG 5.5 code will execute without error, but this change
TYPEMONI adds three one-character "Y" flags, HITASKS, MILLENUM,
and PSBPWAIT to MONITASK. The ELAPSUM variable (their
field MFSTTIM), total elapsed time of all transactions in
the interval, could overflow its 4-byte size. To prevent
overflow, you can specify TMRL=Y in your SIT to cause
MFSTTIM to use "Optional Time Resolution". MXG recognizes
TMRL is on and stores the correct duration in ELAPSUM.
The other changes introduced in 7.1 were already in place
in MXG (they had been added to support SPECIAL78 zap).
Landmark gave me plenty of lead time for this change.
Change 06.016 The creation of UOWTIME (CICS 1.7) from UOWID caused the
Feb 3, 1988 "Invalid Data for Input Function ..." SAS message (which
Feb 19, 1988 was non-fatal and simply sets UOWTIME to be missing). It
VMAC110 turns out there are three different formats/locations for
the time stamp associated with the creation of this task:
NETSNAME UOWID TIME IS FOUND IN
PRODCICS000000000000 TTTTTT0002 UOWID PIB6.
LIGAB3Z6.G.GAB3ZNNNN HHMMSS0001 UOWID HHMMSS6.
.AUB001B-07.08.07000 00 0001 NETSNAME HHMMSS8.
1.CCCCCCCHH.MM.SS000 00 000N NETSNAME HHMMSS8.
DVRHLC5.IRC000000000 092111000N UOWID HHMMSS6. *
0 = '00'X (NULL)
. = '4B'X (PERIOD) *see change 6.080
The new algorithm replaces the ELSE DO; group at lines
720-728 with this logic:
ELSE IF SUBSTR(NETSNAME,18,3)='000000'X THEN DO:
HH=.;MM=.;SS=.;
HH=INPUT(SUBSTR(NETSNAME,10,2),2.);
MM=INPUT(SUBSTR(NETSNAME,13,2),2.);
SS=INPUT(SUBSTR(NETSNAME,16,2),2.);
END;
ELSE DO;
HH=.;MM=.;SS=.;
HH=INPUT(SUBSTR(UOWID,1,2),2.);
MM=INPUT(SUBSTR(UOWID,3,2),2.);
SS=INPUT(SUBSTR(UOWID,5,2),2.);
END;
Thanks to C. J. Legrand, Tenngasco Corp, USA.
Thanks to Steve Lottich, University Hospitals of Iowa, USA.
Change 06.015 VM/Monitor variable APTCPU is missing because WTSIO1TM
Feb 3, 1988 in line 1205.1 should have been spelled WTIOS1TM.
VMACVMON
Thanks to Steve Glick, Southern Methodist University, USA.
Change 06.014 VM/Monitor summarization dies with SAS 180 syntax error
Feb 3, 1988 because:there should be two percent signs instead of one
ANALVMOS a.line 5430 should be %%INCLUDE instead of %INCLUDE
b.lines 5940 and 6050 should be 1 PCT of vice 1 % of
(when I wrapped substitution MACRO definitions around
Steve's code, I failed to test sufficiently and the
single percent signs, even in comments, terminate the
MACRO definition pre-maturely).
c.Insert new line 158.1 (after IOS=CNTVIOCT;):
IF DEVTYPE=0810X THEN VOLSER='*TAPE*';
to cause tape devices to be reported in addition to DASD.
Thanks to Steve Glick, Southern Methodist University, USA.
Change 06.013 EPILOG records (from Candle) code has been executed by
Jan 26, 1988 two users and their changes implemented. Read the notes
IMACEPIL at the beginning of member VMACEPIL. Note that member
TYPEEPIL IMACEPIL is deleted by this change, it is not needed as
VMACEPIL the data is not written to SMF after all, but only to a
FB, LRECL=600 sequential file! The real heart of this
change was to replace _SMF reference in TYPEEPIL with a
INFILE EPILOG LENGTH=LENGTH COL=COL; statement! Also,
TODSTAMP8. format on line 336 for BICPUTIM should be
MSEC8. A final cosmetic change in MXG was to split
CICPUID into CIMODEL, CIID, and CISERIAL.
Thanks to Merrick Dean, MONY, USA.
Thanks to Warren Hayward, NY, USA.
Change 06.012 I almost hate to waste your time with this obsolete SMF
Jan 26, 1988 type 4 or 34 record change. By now you really should be
VMAC434 using the type 30, and with MVS/XA 2.2 you must use 30s.!
Change 5.19, which changed the format of PVTBOT, PVTTOP,
and REGREQST to use the MG078CV. "Meg/K/Bytes" storage
value format, was only partially applied to VMAC434. The
three variables need to be each multiplied by 1024 after
they are read in. VMAC30 can be used as an example if it
is really important to you to fix.
Thanks to Kevin Wise, Allegheny Power, USA.
Change 06.011 Support for EXD (Express Deliveries) SYSOUT product from
Jan 26, 1988 SAR was added. This change was revised and replaced by
Change 6.037.
Change 06.010 -DD card for DCLOG (IDMS DC LOG) was missing in JCLUXREF
Jan 26, 1988 (the MXG Cross Reference Utility).
JCLUXREF -TYPEDOS internally overrided the LENGTH of the variable
TYPEDOS SHIFT, which should be set in IMACSHFT. Now, there is
UTILCICS no LENGTH for SHIFT forced by TYPEDOS.
-UTILCICS cosmetically improved in listing the contents of
CICS 1.7 Dictionary records.
Thanks to Mark Bercov, Canadian Occidental Petroleum, CANADA.
Change 06.009 -Lines 211 and 961 should have _DB2R. following the DATA=
Jan 26, 1988 and preceding the DB2..... (This only caused a problem
ANALDB2R when MXG DB2 data sets were built with BUILDPDB.)
-All occurrences of 'BY QWHSSSID' should be changed to
'BY SYSTEM QWHSSSID'. (This only caused a problem if DB2
executes on more than one MVS system.)
Thanks to Bill Border, Apollo Computer, USA.
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.008 Labels for DB2SRBTM and DB2TCBTM are reversed in lines
Jan 26, 1988 167 and 168.
VMACDB2
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.007 Support for the type 28 SMF record from NPM 1.3. This new
Jan 20, 1988 SMF record consolidates the data formerly in TYPE38 and
EX028... TYPE39 (NPM and NLDM records) and the VSAM Session Stats
FORMATS file created by NPM (supported by MXG XNPMSESS member).
TYPE28 There are two APARs, one documentation (OY11468) and one
VMAC28 correcting short record (OY11641) affecting the type 28.
MXG creates twenty-four NPM..... data sets which are
listed in comments at the beginning of VMAC28 member.
You will find no announcement of this record in any NPM
product announcement!
Thanks to Mike Pichowicz, U.S. Trust, USA.
Thanks to Billy Westland, Candle Corporation, USA.
Thanks to Robert Bunn, IBM NPM Level 2, USA.
especially.
Change 06.006 Documentation of TYPE1415 variable RECIND1 on page 494 of
Jan 12, 1988 the MXG Book is one bit off. First, the variable name is
MXG Guide actually RECIND1, and bits 1 thru 7 should be renumbered
as bits 2 thru 8, and bit 1 - reserved should be added.
The code in VMAC1415 was correct.
Thanks to Michael Doyle, Arizona Department Economic Security, USA.
Change 06.005 IDMS Performance Monitor from Cullinet was massively
Jan 12, 1988 enhanced in IDMS 10.1. This change affects only the new
VMACRTE IDMS.... data sets created from their new subtypes.
The TYPERTE data set was not in error.
a.IDMS Performance Monitor Wait times (the new variables
introduced in IDMS 10.1) were off by 10000:
Change all seventy occurrences of PIB8. to MSEC8., and
delete all seventy lines containing 409600.
b.Several BUFF variables were corrected to ARAS, and some
variables were added to TIME12.2 format.
c.Two of the new subtypes of the record (IHDRTYPE=1 and =2)
are segmented records, but the segments were not always
in the correct order, and sometimes were duplicated! MXG
5.5 avoided the problem by skipping over type 1, but it
hit problems with the type 2. With further pressure on
Cullinet and further investigation by all three thankees,
(real cooperative work here, each one found a piece),
Cullinet apparently has PTFs now to fix their broken
records. There may still be sequence problems with their
PTFs, but MXG will reconstruct the real logical record
even when the segments arrive out of order! (Segmenting
is necessary because their journal record size maximum is
256 bytes, but the total SMF data is 500-600 bytes.)
Make sure you have installed the January, 1988, Cullinet
maintenance tape to avoid any problems, and validate!
d.An MXG error in IHDRTYPE=10 subtraction was also fixed.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Thanks to Gayle Bartel, Pizza Hut, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Division, USA.
Change 06.004 TYPERTEJ processes IDMS Performance data from a Journal
Jan 12, 1988 File (TYPERTE reads the same data from SMF). TYPERTEJ was
TYPERTEJ off by two bytes, and did not format/length SMFTIME.
Change line 17 from +2 to +4 temporarily fixes the error;
several additional cleanups were also added.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 06.003 a. The labels for CICSTRAN variables SCWTECN and SCWTETM
Jan 11, 1988 should be exchanged (lines 1511-1512).
VMAC110 b. CICS 1.7 increased OPERATOR from 3 to 4 bytes and SIT
from 2 to 4 bytes. MXG correctly read in these variables,
but their stored length is set by its first occurrence
(in 1.6 code!) To correct, insert after line 244 :
INFORMAT OPERATOR SIT $CHAR4.;
Thanks to Mark Bercov, Canadian Occidental Petroleum, CANADA.
Thanks to Richard Evans, Mervyn's, USA.
Change 06.002 Landmark's The MONITOR records can be corrupted by a CICS
Jan 7, 1988 transaction ABEND. The corrupted records confuse the MXG
TYPEMONI test for compressed record format (which formerly issued
a SAS ABORT ABEND 99, to terminate the job). With this
change, neither bad records nor compressed data without
the EXITMONI will cause an ABORT. The first twenty bad
records will be hex printed on the SAS log, but the job
will proceed to read all other records in the input file.
Thanks to John Leath, Fleet Services, USA.
Change 06.001 Variable AVGSWPMS in TYPE75 data set was wrong for swap
Jan 7, 1988 data sets. MXG used DSBUSY (SMF75USE) in this calculation
VMAC75 but NRSAMREQ (SMF75REQ) must be used because swap data
XMAC75 sets use multiple IORBs. The IBM description (SMF manual,
SMF75REQ) and RMF footnote for the equation for AVGSWPMS,
(which allude only to multiple exposure devices) will be
revised to include swap data sets as well. While only the
swap service time was in error, this change protects the
future by also using NRSAMREQ in AVGPAGMS calculation.
Replace DSBUSY with NRSAMREQ in lines 109, 113, 188 and 192.
Thanks to Ken Thomas, Maryland Casualty Company, USA.
LASTCHANGE: Version 6
=========================member=CHANGE05================================
/* COPYRIGHT (C) 1987 BY MERRILL CONSULTANTS DALLAS TEXAS */
This is MXG Version 5.5, the production release of MXG Version 5.
MXG Software Status as of December 17, 1987, thru Change 5.173.
What's new in Version 5.
1. MVS 2.2 support.
- New type 36 ICF Export/Import SMF record.
- New type 41 Data-In-Virtual SMF record.
- Changes in existing SMF/RMF records.
2. VM/SP Release 5 support.
3. SAR Accounting record support.
4. SAR Type 6 record support.
5. DASD storage measurement system (dynamically read all VTOCs).
6. IDMS 10.1 Performance Monitor record (new data sets) support.
7. ACF2 user SMF record support.
8. DB2PM validation and reports.
9. IMS log processing re-designed and supported for IMS 2.1.
10. STOPX37 user SMF record support.
11. RMF Cache Reporter validation and enhancement.
12. CICS 1.7 cleanups, enhancements, and more decoding.
13. DFSORT Release 9 support.
14. VM/Monitor summarization.
15. Vector Processor measurement.
16. TYPE64X data set for VSAM extents.
17. SYSLOG JES3 processing and JES2 SYSLOG example.
18. EDP Auditor Reports from RACF type 80 data.
19. Eight CPU engine (3090-800?) C.E.C. Support.
20. Online Business Systems WYLBUR Accounting SMF record support.
21. TSO/MON Version 5.1 support.
22. Extended Storage measurement enhanced.
23. 3480 tape drive error counting in TYPE21 added.
24. Separate counts of 3420 and 3480 tape drives in type 30 and PDB.
25. VSAM VVR Type 60 record decoded.
26. NETVIEW modifications to NLDM record supported.
27. RMDS support.
28. SYNCSORT user SMF record support.
29. CINCOM SUPRA log record support.
30. VM Account LOGOFF record support.
31. ROSCOE 5.5 SMF Account record support.
32. IMF 2.3 support for DDNAME level I/O counting.
33. NETSPY support.
34. OMEGAMON EPILOG 1000 support.
35. Externalized BUILDPDB macro definitions in IMACPDB.
36. HOGAN FPS transaction function code data support.
37. CICS 1.7 EXCLUDE option "support".
38. IDMS Performance monitor from IDMS journal file supported.
39. Landmark's SPECIAL 78 zap (adds CICS 1.7 MRO fields) support.
40. Naming conventions established for MXG's use of "New style" macros.
41. Elimination of excess tape mounts for monthly and weekly jobs.
What did not get completed in MXG Version 5.5:
1. VM HPO Release 5 has not been tested. IBM documentation indicates
no change in the data, but no user has confirmed this to be true.
2. BUILDPDB enhancements (which will use the new macro facility) to
more easily control variable selection (eg, XA only, etc.) were not
completed. IMACPDB externalized the controls for you to give you
control without the additional complications and naming conventions
needed when we actually do this enhancement. It is still planned.
3. The MVS Tape Mount Monitor code is not yet operational. The ASM
source code (ASMONTAP) is on this library, but needs modifications.
One volunteer will examine the code next spring.
4. TYPE64 data (see technical note, below) has not yet been added to
ANALDSET algorithms to resolve the incorrect type 64 counts.
5. IMS log processing puts waiting for input transactions in IMSMSGOT
Other 1988 expectations:
IBM announced plans for operating system changes next year which will
likely require changes to MXG software. IBM dates given below are the
availabilty date in the IBM announcement. We always hope to provide
MXG support by availability date, if we can get both documentation and
test data in time. We will likely repeat the strategy of the past two
years: a spring newsletter to announce when the pre-release of the
next MXG version is available, and a production MXG version shipped to
all customers in the fall.
a. March, 1988. Expected availability of VM/XA SP1, with a complete
new set of monitor records, new format, and zero compatibility with
current VM/SP VM/Monitor data. IBM says there will be no VM MAP for
this new VM/XA monitor, but MXG will be there.
b. May, 1988. PTF to MVS 2.2 which adds VIO activity fields to TYPE71
data (this PTF permits VIO to be directed to Extended Storatge).
c. Unknown. PTF to add JOB and READTIME which IBM left out of the new
MVS 2.2 Type 41 (Data In Virtual) SMF record.
d. December, 1988. Expected availability of VM/SP Release 6, with many
new data elements added to existing VM/SP VM/Monitor. This release
includes the new VM Shared File System, which creates new data.
e. Unknown. We expect to enhance MXG to support the PDL data written by
the FACOM OSIV/F4 MSP operating system.
f. Unknown. Other rumored impacting events may be CICS 2.1, a new DB2
release, and DOS/VSE Power record changes.
The 5.1 tape was tested for forty days and nites at forty sites.
The 5.2 tape has been executing at over 75 sites since August. All
problems reported were fixed in the 5.3 tape, sent to an additionaly
30 sites. The 5.4 tape was the final pre-release before production,
ans was sent to an additional 30 sites. As promised in Newsletter TEN
(June, 1987), MXG Version 5 production was built before the end of
Fall, 1987 (which ends December 21, 1987). Merry Christmas!!!
TRIVIA: Halloween is equal to Christmas:
OCT 31 = DEC 25
Think about it!
The changes described in this member are already in this MXG version.
They are listed below, after the technical notes. You must read each
description of all changes to ensure that you understand their impact
on your installation. Changes thru 5.99 were on the 5.1 pre-release,
the 5.2 pre-release include changes thru 5.125, 5.3 was thru 5.143,
and changes through 5.165. Changes 5.1 through 5.74 were printed in
Newsletter TEN, and changes 5.75 through 5.166 were printed in the
Newsletter ELEVEN. Changes 5.167 through 5.173 were added after the
newsletter went to press.
COMPATIBILITY EXPOSURES:
1. The aggregation interval of RMFINTRV data set was relocated in the
new member IMACRMFI, instead of being defined inline.
2. VM/Monitor users must read Change 5.133. The meaning of VMONDEV data
set variable CNTVIOCT was altered. A new macro, _INTRVL, is defined
in IMACVMON which must be changed if the interval between VM/Monitor
records is not the one minute default set by MXG.
3. BUILDPDB/3 users who have modified those members will find IMACPDB
now contains (hopefully) all the definitions to allow you to locate
your tailoring external (in IMACPDB) instead of internally.
Note: The PTF or APAR numbers were provided by some system programmer
who has actually installed this fix, but sometimes the number will no
longer be valid; IBM supercedes and replaces PTFs, and one APAR often
has several PTFs for the same logical problem. Use this information
only to search INFO/MVS for more information and exact status.
HOT PTFs: MVS:
MVS 2.1.7 PTFs OZ44728 and OZ92196 appear to finally solve the long
outstanding constraint that the SMF interval (for type 30s and 32s) had
to be greater than JWT. These PTFs apparently are already in MVS 2.2,
and the documentation still recommends that the Interval duration be
greater than JWT, but experimental system programers have reported that
that recommendation is no longer a requirement. Don't take my word on
this, but I think it's probably true.
A new PTF (only for MVS 2.2 and later) finally allows you to specify
BLKSIZE of the SMF data. Requested through SHARE in the CME project in
1973, it has finally been acknowledged in APAR OY07209 and implemented
in PTF UY12002.
MVS 2.1.3 and 2.1.7 do not write type 7 records when SMF recording is
lost! Fix is PTF UY12608.
For 3090-400s, 300s, and 600s with 128MB real memory, there are lots of
performance problems if you do not install OY01085. Your CE should
have caught this one for you. MXG NL TEN misprinted this PTF number.
Overlay and loss of SMF records - many strange symptoms - fixed by
PTF UZ46460 and UZ48888-UZ48891. Critical, must be installed ASAP.
Incorrect SMF EXCP data, especially 30s, introduced by bad UZ45011,
fixed with UZ47837 (pre-reqs UZ47834-UZ47837 and UZ50314-UZ50316).
Noted loss of VSAM counts in type 30, was fixed by UZ47837.
Originally reported by MMA, complete loss of SMF data will occur with
DFP Versions 1.1.1, 1.1.2, or 2.1 if you have installed the PTFs for
APAR OZ96798, and you have NOT corrected the PTF-in-error condition
described by APAR OY02500. The SMF data loss condition is cause by a
problem in VSAM introduced by OZ96798 PTFs. Message IEE978E: SMF NOW
HAS nnnnn BUFFERS will be issued after the initial number of SMF
buffers are used up, but there is no other external indication that all
SMF records have been permanently lost.
Incorrect counting of some tape mounts in type 30 records. After the
installation of UZ50959, tape mounts issued with message IEC501E (Look
ahead mount message) are not counted. Mounts with messages IEC501A or
IEC233A continue to be correctly counted. APAR OZ97886 describes the
problem, accepted by APAR OZ97617 which has the fix. The problem
primarily affected multiple volume mounts; only the first volume mount
was counted in the type 30.
HOT PTFs: VM:
Concatenated MACLIBs on different mini-disks will fail; only the first
MACLIB in the concatenation will be searched until PTF VM24283 is
installed. As long as the MACLIBs are on the same mini-disk, there is
no problem with concatenation (as suggested for the MXG SOURCLIB and
USERID SOURCLIB libraries).
Technical Notes, MVS:
a. Counting allocated tape drives.
The following is a revision of a note originally in MXG Newsletter TEN:
Counting of tape drives (TYPE30_4 or PDB.STEPS variables TAPEDRVS,
TAPE3420 and/or TAPE3480) is affected if the job step dynamically
allocates tape drives. For example, DB2MSTR dynamically allocates a
drive every time the recovery data is backed up. If each allocation
happens to get a different tape drive, the step record for DB2MSTR
would contain a different DEVNR (old UCB address) for each tape, which
MXG would count as a large number of tape drives. Only a few jobs
actually use dynamic allocation (thank goodness), but they tend to be
long running DBMS, which wreak havoc on the number of tape drives
perceived by ANALTAPE to be in use. You must use the type 40 (Dynamic
Allocation) record to find those jobs that dynamically allocate tape
drives, and exclude their step records before processing STEPS with the
MXG ANALTAPE program. Otherwise, it will appear the job step had all
those tapes for the entire time the step executed.
You can use the MXG Exit Facility to add type 40 processing, and in
the exit (EXTY40) and use:
IF DEVICE='3420' or DEVICE='3480' THEN OUTPUT TYPE40;
to only create observations for tape devices.
VMAC40 reads in a 40 and calls VMACEXC1, which decodes DEVCLASS,
DEVTYPE, and DEVNR for each UCB segment. VMACEXC1 then calls
VMACUCB to decode DEVCLASS and DEVTYPE (hex) into DEVICE (char);
the value '3420' or '3480' is set for tape devices.
Since SMF offers no option to create type 40's just for tape, you
still have to create all type 40 records, but this use of the EXTY40
exit allows you to keep only tape observations in TYPE40.
b. I/O Counts in TYPE70 and TYPE78IO.
The MXG Supplement noted that the I/O Interrupt Counts in TYPE70 were
observed to be greater than the 3090 IOP I/O Activity in TYPE78IO. It
was pointed out that IBM notes (in LY17-5500) that both TYPE78IO and
TYPE70 count SSCH (i.e. SIOs) and RESUMES, but that TYPE70
additionally counts PCIs, Device End following Channel End, and
Unsolicited Interrupts. The difference has been seen as 12-14% more in
TYPE70. Is this a useful indicator of anything?
c. SMF TYPE64 (VSAM I/O) counts.
VSAM counts (EXCPs, SPLITS, etc.) in type 64 records are wrong if the
VSAM file is concurrently opened. These counts are the "change since
open". Four jobs which concurrently opened the same VSAM file and then
read 9000 blocks, showed 9000, 18000, 27000, and 36000 EXCPs in their
type 64 records. The type 30 SMF record EXCP counts are correct. The
type 64 record has always been this way; only recently did a user
investigate the data. MXG will be enhanced to de-accumulate TYPE64
data, as ANALDSET does to de-accumulate TYPE1415 data. You could find
a CASPLIT count in a type 64, but the actual split may have been caused
by a separate job. You must sort all accesses to the same VSAM file by
open time and examine the end time for potential overlap and perform
you own de-accumulation.
d. CPU and I/O measurements when writing tapes.
In creating tape copies of MXG Version 4.4, we used SYNCSORT's free,
fast BETRGENR replacement for IEBGENER. Since BETRGENR copies one
cylinder at a time, the 833 blocks of 6160 bytes each required only 11
Start IO's, each SIO transferred 550KB of data in .44 seconds (you can
hear the voice coil humm that long), but there was then a delay of
about .6 seconds for the next SIO to commence (again, heard at the tape
drive). As a result, while the channel capacity is 1.25 MB/sec, even
with the transfer of 550KB per SIO, the effective channel capacity was
only 550KB/sec, or only 44% of IBMs stated capacity. This was in a
dedicated processor with no other work in progress.
Furthermore, this was for a single copy of the MXG library. The actual
data transfer took 11 seconds for the 11 SIOs, but the physical loading
of the tape, the swap in to reply (tapes are NL) and the rewind and the
unload time total just about one minute elapsed time. Because we were
waiting on the computer (THE definition of bad response) we allocated
more tape drives and found that with two tape apes (us), and four tape
drives, we could create 100 tapes per hour. Increasing the tape drive
count to six drives increased our production to 163 tapes per hour.
Note at this rate of 163 5.5MB tapes written per hour, the tape channel
was still only utilized at 250KB per second, or only 20% of the peak
transfer capacity. The peak-to-sustainable rate here was 5 to 1.
This should point up the fallacy of using the peak transfer rate (or
any peak rate) as a measure of capacity, without determining the actual
sustainable transfer rate. IEEE Computer magazine recently had a good
discussion with regard to the ratio between peak mega-flop rate and
achievable mega-flop rate on super computers, reporting typical ratios
also in the 5 to 20 range.
Each job executes 255 copy steps. All steps except the first recorded
.40 or .41 TCB seconds and .03 SRB seconds on a 3090-200. With 5.5MB
of data per step, this 13 MIPS (speed) processor is moving data at 13.4
MB per second. This is quite close to the one byte per one instruction
rate first noted on page 842 of the MXG book!
The first step of each job, however, required 1.06 TCB seconds and .06
SRB seconds, or 1.12 total CPU seconds apparently because the CPU time
for operator response to allocation recovery is captured in the step.
Each job enters allocation recovery because its specific UCB address is
offline at job initiation. The IEF244I - "Unable to allocate" message
set up the IEF238D - "Reply Device Name or Cancel" WTOR and the
R,99,181 reply apparently records .68 CPU seconds in the step record.
(The job which specifies VOLSER=MXG181 allocates UCB 181. NL tapes are
built so only one mount is needed, but require a reply to confirm the
VOLSER. With the UCB in VOLSER, the reply is fast and accurate.)
e. More EXCPs in 30's than in 4's and 34's.
Several sites have noticed approximately 10% more EXCPs are counted in
the type 30 subtype 4 (TYPE30_4 data set) record than the EXCPs in the
step type 4 (or type 34) for the same step. The type 30 is correct,
and the additional count in type 30 is due to the EXCP count to dynamic
allocations, which are captured in 30s but never were captured in the 4
or 34 records. As described on page 628 of the MXG book, if you used
4s or 34s, you had to use the 40s also. This is only one more reason
why the type 30 SMF record has (since 1978) always and all ways been
better than the type 4/34 records. It's even worse for the 4s and 34s
now. In MVS 2.2, IBM turns on a new flag bit in 4s and 34s to tell you
that the EXCP data on this step is incomplete in the 4/34 record and
you must use the type 30 for this step. (This happens for any step
with more than 1651 DD cards). STOP USING 4's and 34's! (MXG's
BUILDPDB has always used only type 30s.)
f. More CPUTCBTM in SMF than in RMF for a step.
Step termination data shows that the SMF CPU TCB time in the SMF type
30 can be slightly greater than the RMF CPU TCB time in RMF service
units in both the SMF type 30 and the RMF type 72 record for that step.
The step recorded 8.13 CPUTCBTM seconds in TYPE30_4, but CPUUNITS in
the step record (converted to CPU seconds) showed only 8.08 seconds.
This step executed in a unique performance group, and the TYPE72
CPUTCBTM was also 8.08 seconds for the interval in which the step
executed. This is not statistically significant, but an IBM expert
suggests this occurs because RMF gets it service unit values
(CPUUNITS,SRBUNITS) from the job data during step termination. This is
why the CPUUNITS in the type 72 data matched. However, after the
service units have been passed to RMF, the job is still in termination
and the SMF clock is still accumulating true CPU time for the step.
The extra CPU time recorded in the SMF step record may be due to SMB
processing (putting those termination messages on your SYSLOG listing)
or it could be installation code executing in SMF exits (perhaps to
print the job costs on the "banner page" in SMF exit IEFU83 or IEFU84).
At this site, there appears to be a fixed cost of .05 TCB seconds per
step termination which is not recorded in the TYPE72 CPUTCBTM, but
which is recorded in the TYPE30 CPUTCBTM. Even at 1000 steps
terminating each hour, this would be only 50 additional TCB seconds
for each 3600 seconds, or only about one percent.
g. MVS 2.1.7 page data set allocation size.
The Contiguous Slot Allocation algorithm, the very efficient way of
transferring up to 30 page frames contiguously with one SIO and with
minimal arm movement, was introduced for page data set I/O with MVS/370
SP 1.3 in the late 70's. Recently, several authors have concluded that
the algorithm will perform well only if the maximum number of slots in
use is less than 25% of the slots allocated. When the page data set is
full, the algorithm can not perform well, because it can not find
contiguous free slots. This greatly increases the search time, which
can negate the positive performance of the algorithm. For MVS/370
VSCR, IBM had recommended minimizing the number of slots allocated to
relieve MVS/370 VSCR because a small amount of CSA is used for each
slot allocated. With only 50K-60K virtual storage saved, real paging
is likely a more serious problem, and thus a larger page data set
allocation may still be advised. In early MVS/XA there also was a real
problem with large page data sets causing excessive seek times, but
that design error was fixed in MVS 2.1.2. You can use the MAXUSED and
SLOTS variables in TYPE75 to see if you might have a problem, and could
plot the percent used versus the service time (AVGRSPMS from TYPE74)
for each paging volume to confirm its real impact. It is clear that an
insufficient number of allocated slots will degrade the contiguous slot
algorithm; the exact percentage at which you encounter increased
service time may not be 25%, and you should construct your own data for
analysis.
h. Use STEP data for job ABEND analysis.
Analysis of "Job" abends really must be done from the PDB.STEPS (from
TYPE30_4 step termination), rather than from the PDB.JOBS (from
TYPE30_5 job termination). The CONDCODE and ABEND variables (Page 578
in the MXG Book, page 266 in the MXG Supplement) describe the value and
the type of termination. ABEND values of SYSTEM or USER indicate
abends and CONDCODE identifies the abend code, such as SYSTEM 322 or
USER 999. An ABEND value of RETURN indicates that CONDCODE contains a
return code value. While both variables exist in both PDB.JOBS and
PDB.STEPS, the ABEND value in PDB.JOBS is from the job termination
record, and can show an ABEND of SYSTEM for the job with a CONDCODE of
zero if the step which ABENDed was not the last step! The PDB.STEPS
data is thus not only more accurate, but since many abends result are
due to defective programs rather than defective jobs, using the STEPS
data allows you not only to identify which JOB abended, but also to
identify the name of the PROGRAM which abended. You may even be able
to recognize (by your program naming convention) which of your
development groups wrote the frequently-abending programs!). PDB.STEPS
data also identifies which step actually abended first when there are
multiple abends (and when there are COND=EVEN and COND=ONLY steps).
CICS CMF record blocksize is set by the JCT BUFSIZE parameter, and
typically is only 6000, which should be increased to half-track on
3380s to reduce IO counts and CPU overhead in building CMF records.
NPM may produce negative square root when calculating standard
deviation, since SSQ field can wrap in NCP.
Tape mounts in TYPE30_4 and PDB.STEPS does not include mounts issued
by JES3 for MDS mounts; they are counted in the JES3 Type 25 record.
Steps which mount a tape, and then RETAIN, will show zero mounts for
the subsequent step. If you want to identify steps which actually
use tape in any step, the EXCPTAPE and IOTMTAPE are much better
indicators of actual usage.
UCC7 can cause invalid READTIME error messages. There are two options
for UCC7 to identify jobs which are under its control. By default, the
eighth byte of JMRUSEID (the 'User identification field', MXG variable
LOCLINFO) is used. The UCC7 installer can choose any other byte of the
JMRUSEID if other products use the eighth. If all eight bytes are used
by other products, UCC7 will optionally store its flag in the first
byte of the Job Reader Date field. The normal value stored is a 'EE'X,
but if NCF is also installed, the field can take on almost any value.
When the Job Reader Date field is used, UCC7 traps each SMF record as
its being written and clears out the high order byte. Unfortunately,
the trap uses a table of SMF record IDs, and records which UCC7 does
not know about (such as the type 60, 61, 65, 66, 78, 80 and all user
records such as ACF2) are passed into the SMF file with an invalid
reader date. The result is a missing value for READTIME for these UCC7
controlled job records. Pages 2 and 9 of the UCC7 Installation Guide
discuss these options, and UCCEL technical support has the fix for the
60's and 80 records, as well as advice for handling user SMF records.
If the record has the Reader Date in the "standard" location (bytes
27-30), the fix is simply to add the record ID to ICMDSECT. For records
with relocatable format (like the type 78 record which can record a
specific job's virtual storage), more complicated instructions are
available from UCCEL. Since MVS 2.2 will use the first byte of the
date field for dates in the next millennium, UCC7 designers are looking
for an alternative.
Technical Notes, VM:
There are two ways to hold SPOOL data in VM so that it exists after the
spool data is read:
SPOOL READER HOLD holds the reader, while
CHANGE READER nnn HOLD holds the file
Hold only the reader, never hold the file, if you want the data to be
read. The CMS Diagnose 14 Subtype 1C command which is used to read the
monitor data in the spool, skips over held files.
VM will not create VBS records. If you install MXG under CMS to read
SMF data, you cannot build the SMFSMALL data set described in the
installation instructions. Change the Filedef and the FILE statement in
UTILGETM to build the SMFSMALL file with RECFM=VB,LRECL=32756, and
BLKSIZE=32760 on a 3380 disk and the program will work. Yes, it will
not make efficient use of the disk space, but SMFSMALL is only a small
test file of SMF data. VM is capable of reading VBS input tapes, so
you should have no problem processing SMF under CMS.
Technical Notes, SAS:
a. Eliminating tape mounts for SAS tape data libraries.
Many users have found that the weekly and monthly PDB jobs (described
in Chapter Thirty-Five with examples in MONTHBLD and WEEKBLD) can cause
lots of tape mounts and rewinds. Some sites have resorted to the
parallel allocation of as many tape drives as there are tape volumes to
avoid mounts. This problem is not unique to MXG, but results from the
protective instincts of SAS when tape data sets are involved. As you
will see, we now have a sucessful circumvention which minimizes the
amount of temporary DASD needed by WEEKBLD and MONTHBLD, and completely
eliminates the multiple rewinds and mounts for the output library.
The Present SAS Design:
SAS data libraries on tape volumes have no directory of what SAS data
sets are where on the tape. When a SAS SET statement needs to read a
SAS data set from tape, SAS rewinds to the beginning of the tape, and
searches for the desired data set. When a SAS DATA step writes a SAS
data set to tape, the tape is first rewound to the beginning, and SAS
searches for the data set name. If no match is found, SAS puts the new
data set at the end of the tape. (If a match is found, SAS starts the
new data set where the old one was found, erasing all old data sets
after that point on the tape.)
The Source of the Problem:
The required rewind spins the tapes a lot. If the SAS data library
fits on a single volume, there is not too much of a problem. But if
the output tape library expands to a second tape volume, each rewind
(i.e., each new SAS data set) causes the second volume to be
dismounted, the first volume to be mounted and searched, and then the
second volume remounted and searched, and finally the new data set is
laid down at the end of the tape! This always occurs when SAS DATA
steps create the tape data library.
Past Circumventions:
One solution was to build all of the desired SAS data sets on disk, and
then use PROC COPY from disk to tape. The PROC COPY knows it does not
need to rewind before each data set. While this avoids the mount
problem, it requires as much temporary DASD space as the size of the
entire SAS data library, which is why it was not recommended.
The New Solution:
Each new SAS data set is first built on temporary DASD in "tape
format", and then is copied to the output tape using FILE/INFILE logic,
exploiting the SAS CLOSE=LEAVE option to hold the output tape in place.
The temporary DASD data set is then erased, so that the job needs only
as much DASD space as the size of the single largest SAS data set to be
created. The "tape format" is created if the DDNAME of the SAS data
set being created starts with TAPE...., and is necessary so that the
SAS data set can be copied with the FILE/INFILE logic. The following
partial example shows how this is done (see member MONTHBLD for
complete implementation):
// EXEC SAS,OPTIONS='TAPECLOSE=LEAVE,GEN=0,ERRORABEND'
//MONTH DD DSN=MXG.MONTHLY(+1),DISP=(NEW,CATLG),UNIT=TAPE,
// DSCB=SYS1.MODEL,LABEL=EXPDT=99000
//TAPETEMP DD DSN=&TEMP,UNIT=SYSDA,SPACE=(CYL,(10,10))
DATA TAPETEMP._DSET; create _DSET in TAPETEMP
SET WEEK1._DSET WEEK2._DSET ... ; input data sets
BY _BYLIST: sort order variables
IF date selection logic; selection criteria
RUN:
DATA _NULL_; copy _DSET to MONTH
INFILE TAPETEMP;
FILE MONTH MOD CLOSE=LEAVE;
INPUT;
PUT _INFILE_;
DATA _NULL_; write EOF to TAPETEMP to
FILE TAPETEMP; "scratch" _DSET
These three DATA steps are then repeated for each data set to be built,
by invoking the _MNTHBLD macro as shown in member MONTHBLD. Our thanks
to Susan Marshall, SAS Institute, for this circumvention. The only
additional cost is the extra copying of each output data set. This
solution only eliminates mounts for the output SAS data library. If
the input data sets are on multiple volumes, each new data set may
causes the same rewind and dismount/mount sequence. These input mounts
can only be eliminated (at present) by specifying multiple units where
necessary, eg., with UNIT=(TAPE,2) for a two-volume input tape data
library.
SAS Institute is investigating a new SAS option which might allow
you to override that "rewind and search" algorithm for both input
and output tape data libraries. Provided the order of building new
data sets is the same as their order on the input data libraries,
such an option could completely eliminate the unnecessary mounts and
unnecessary copy steps. No commitment has been made by SAS yet.
However, early experience with this circumvention is overwhelmingly
positive - fewer tape drives, fewer tape mounts, significant reduction
in elapsed time, all for a few seconds of I/O time!
b. SAS ZAPs which you should install.
ZAP 516.2525 Corrects (erratic) error condition in PROC PLOT if
data set has zero observations.
ZAP 516.4592 PROC FORMAT can cause a "STOW failure" message on the
SAS log (no error condition, no abend) if the PDS to
which the formats are being written does not have
enough directory blocks defined. Some formats will be
missing, with no notification. This ZAP tells you.
c. SAS Options which you should be aware of.
FREE=CLOSE either as a SAS option or on a DD card in a SAS job
interferes with the IBM STIMER routine, which is used
to measure SAS step CPU time. FREE=CLOSE has caused
unpredictable USER 999 ABENDs with the SAS error
message CPU TIME EXCEEDED and a large value of CPU
time shown on the SAS log. The value on the log is
wrong (see the Step Termination message to confirm)
but the STIMER poped and SAS shut the step down.
Either do not use FREE=CLOSE, or use the SAS NOSTIMER
option, which eliminates the problem, but will also
eliminate the CPU used message on the SAS log.
NOMEMFILL Should always be specified, MEMFILL is a SAS debug
developers option which should never be used, as it
causes a seven-fold increase in CPU time.
==========================Changes======================================
The following changes are already in the Production MXG 5.5 library.
Some of the changes contain the code with line numbers, because those
changes were originally distributed (via prior newsletter, telephone
or telefax to correct immediate problems. Just for your information,
lines to be inserted have a period after the line number they are to
follow; existing lines which needed no change (usually included to
locate the change) have no period in their line number.
While this newsletter hits the high spots, you must read each change
description to ensure that you understand their potential impact to
your installation.
ALWAYS read member CHANGES for last minute changes and notes. This
newsletter is mostly an editied version of CHANGES slightly before
the production library is created.
ALWAYS read each member listed under an impacting change for
additiona comments, notes, and any last minute documentation.
Members DOCVER and DOCVER05 document the entire collection of data
sets created by MXG (DOCVER), and the delta-documentation of data
sets and variables changed between MXG Version 4.4 and 5.5.
NEXTCHANGE: Version 5
=============Changes thru 5.173 as of Dec 17, 1987 ===================
==================completed MXG Version 5.5.==========================
--Changes 5.167-5.173 were added after Newsletter ELEVEN was printed--
Change 05.173 Processing of IMF (Control/IMS) records from Boole &
Dec 17, 1987 Babbage with IMS Release 2.0+ was failing. The test of
VMACCIMS IMSLEVEL NE:'13' caused old format INPUT statement to
be executed. Test is now either LT:'13' or GE:'13'.
Thanks to Dave Lawrence, NCNB of Florida, USA.
Change 05.172 CICS 1.6 dictionary entry for USER field with length
Dec 17, 1987 of zero (i.e., no USER field in your data) caused an
UTILCICS unnecessary, incorrect and superfulous MXG message.
Change 05.171 Support for CICS 1.7 PTF UL14896 (which adds a new
Dec 16, 1987 SCWTETIM field to CICSEXCE exception data set). MXG
IMACPTF creates variables SCWTETM and SCWTECN for the field,
UTILCICS which reports time in suspend because unconditional
VMAC110 storage request was not satisfied.
Thanks to Joe Faska, Chemical Bank, USA.
Change 05.170 Some complexity-level-4 variables had level-3 in their
Dec 16, 1987 labels. Labels are now correct. Member ANALRTM1 (only
ANALROSC existed in pre-releases) was eliminated by rewrite of
IMACROSC ANALROSC. Read important comments in ANALROSC, as it
TYPEROSC now deletes "useless" ROSC.... and RRTM.... data sets.
VMACROSC New macro _ROSCDDN is now defined in memeber IMACROSC
to name the DD to which final ROSCOE data sets are to
be written: _ROSCDDN.ROSCOE, _ROSCDDN.RRTMPSE and the
_ROSCDDN.ROSCAWS "important" data sets. Less important
data sets ROSCOAUD, ROSCOSHU, and ROSCOVPE are left in
the work file.
Thanks to Terry Trevier, Naval Construction Battalion Center, USA.
Change 05.169 The SMF interval recording INTERVAL variable was read
Dec 15, 1987 with TODSTAMP8. (an IBM TOD datetime value) instead of
VMAC90 with MSEC8. (a TOD time value). As a result, it was
printed as -525935 hours and 25 minutes - the correct
number of hours backwards from 01JAN1960 (SAS's zero
datetime) to 01JAN1900 (IBM's zero datetime).It now
will correctly print 00:30:00 for thirty minutes
Thanks to Shawn Wikle, Citibank South Dakota, USA.
Change 05.168 The %%INCLUDE which should have been %INCLUDE now is.
Dec 15, 1987
VMXGVTOC
Thanks to Chuck Rexroad, Perpetual Savings Bank, USA.
Change 05.167 The NETSPY support (Change 5.164) was written with no
Dec 15, 1987 knowledge that Duquesne provided sample SAS code with
ANALNSPY the product. With Duquesne approval, NETSPY support
EXNSPYAP now uses almost all of their variable names, so as to
EXNSPYLU preserve any reports you might have already written.
EXNSPYLI The MXG data sets created are different than in 5.4:
EXNSPYNC NSPYAPPL, NSPYLINE, NSPYLU, and NSPYNCP are now the
VMACNSPY four data sets created. Exits EXNSPYSE and EXNSPYTE
were deleted and EXNSPYLU and EXNSPYLI now exist. Data
from NETSPY 3.0 has now been tested. The default PROC
PRINT reports from Duquesne's sample are in ANALNSPY.
Thanks to Andy Schoentrup, Public Service of Indiana, USA.
Thanks to Luis Motles, Duquesne, USA.
==========Newsletter ELEVEN printed changes through 5.166=============
=============Changes thru 5.166 as of Nov 24, 1987 ==================
Change 05.166 The monthly MXG job can cause lots of tape mounts and
Nov 24, 1987 rewinds when a SAS DATA step writes multiple data sets
MONTHBLD to tape (SAS is preventing duplicate named data sets).
this change is a circumvention which writes the new
data sets first to a temporary disk file, but by using
a DDNAME starting with TAPE...., the data set is built
in "SAS tape format", which can then be copied from
the temporary disk file to the monthly tape with an
INFILE/FILE pair, which eliminates the rewinds. The
temporary TAPETEMP file only needs to be as large as
the largest single data set to be created. See the
code and comments in this member and MXG NL ELEVEN.
Thanks to Susan Marshall, SAS Institute Europe, GERMANY.
==========The 5.4 Pre=Release included changes through 5.165=========
Change 05.165 This change will not affect many sites. It will be
Nov 22, 1987 needed ONLY if you receive the "Compiler Limit is
XMAC7072 Exceeded" error message from SAS on the SAS log.
XMAC71 This error does not occur with BUILDPDB unless you
XMAC73 have added many other SMF records with the PDB Exit
XMAC74 facility. (Only the world's largest PDB builder has
XMAC75 encountered the problem). The compiler limit problem
can not be fixed by SAS until Version 6, but we have
several circumventions available. The compiler has
a 4K table (cannot be expanded, thats the problem)
which sets an upper limit on the number of "Iterative"
DO statements (i.e., DO I=1 to something, DO WHILE,
DO UNTIL, but not DO groups like IF x THEN DO which
predominate in MXG code). There is an upper limit of
99 "Iterative" DO statements in a data step, but the
4K table is used by other SAS statements. The default
BUILDPDB has an actual upper limit of 56, but the MXG
default SMF record proccssing macros only use 24.
These new members are MVS/XA-only copies of their
corresponding VMAC.... member. By stripping out the
MVS/370 code, we reduced the number of "Iterative DOs"
these members would consume. This is only a temporary
solution. In our next version, we will begin to employ
the "new" SAS macros and will dynamically select the
MXG code which will be passed to the compiler, which
should stave off any compiler limit long before SAS
Version 6 is available on mainframes.
Thanks to David Daner, Sun Company, USA, USA.
Change 05.164 Support for the Duquesne network monitor NETSPY user
Nov 22, 1987 SMF record was added. Data for Release 2.3 and 3.0 has
EXNSPYAP been tested, but this still is our first support. s
EXNSPYNC Data sets NSPYAPPL, NSPYNCP, NSPYSESS and NSPYTERM are
EXNSPYSE created; member IMACNSPY sets the SMF record ID.
EXNSPYTE
IMACNSPY
TYPENSPY
VMACNSPY
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.163 Pre-release code for Candle's EPILOG 100 SMF data. The
Nov 22, 1987 MXG redesign of the SAS code provided by Candle has
EXTYEPIL not been tested with data. Only one data set is now t
IMACEPIL created, but this may be changed once real data volume
TYPEEPIL and data structure is known. Call for status before
VMACEPIL you execute this code.
Change 05.162 New member IMACPDB externalizes MXG code which was in
Nov 20, 1987 BUILDPDB/3. The control of the NODUP option, and the
BUILDPDB macro definitions for the MXG variables which will be
BUILDPD3 kept in the PDB data sets was moved to this member, so
IMACPDB that you can tailor PDB function in the IMACPDB exit.
UNLESS YOU HAVE MODIFIED BUILDPDB/3, THIS CHANGE WILL
HAVE NO EFFECT ON YOUR INSTALLATION. Only minor logic
changes were made in this relocation of code. The PROC
MEANS logic which SUMs, MINs, and MAXs variables into
PDB.JOBS from STEPS is now a macro (_PDBSUMS) defined
in IMACPDB, and two macros, _PDB26J2 and PDB26J3 (for
type 26 variables), replace the previous single _PDB26
definition.This is the first step in planned changes
to BUILDPDB to externalize variable selection and to
make user tailoring even easier. IMACPDB will be the
control point for these future enhancements. This is a
good time to say to the original suggestor of NODUP
logic, the formerly "unknown Australian",
Thanks to Phil Bailey, NRMA Data Processing, AUSTRALIA.
Change 05.161 Support for optional Hogan function code data for
Nov 20, 1987 Hogan System application transactions under CICS is
IMACICUS now described and implemented in this member.
Thanks to Chester W. Sutton, Sears Consumer Financial Corp, USA.
Change 05.160 Titles were cleaned up to be more descriptive, and the
Nov 19, 1987 (seldom needed) debug option TYPE110-4 is supported.
UTILCICS
Thanks to Pete Shepard, Ashland Oil, USA.
Change 05.159 ACF2 data for type "T" records has been debugged and
Nov 19, 1987 the pre-release's "congratulations, you found the
VMACACF2 untested code" message has been eliminated. Also, the
ACTFMTOD field is PIB4.2 and FORMAT TIME12.2 and
length 4, as it turns out to be only a time, not a
datetime.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 05.158 CICS 1.7 monitor facility permits your installation
Nov 19, 1987 to EXCLUDE fields in the CICS type 110 records. It is
VMAC110 not my opinion that EXCLUDE is wise (almost for sure,
the variable you exclude will be the one you need),
but this enhancement provides support for CICS 1.7
transaction records created with the EXCLUDE option.
The instructions for using this MXG enhancement are
described by comments in member VMAC110. Search for
the string CICS1.7EXCLUDE (two hits).
Thanks to Dale Mattison, Shared Medical Systems, USA.
Change 05.157 IDMS Performance Monitor (formerly RTE) data can now
Nov 19, 1987 be processed from journal file with member TYPERTEJ as
TYPERTEJ well as from SMF file with member TYPERTE.
VMACRTE
Thanks to Jim Lawrence, Central and South West Services, USA.
Change 05.156 Type 24 SMF (JES2 SPOOL Transfer) records have now
Nov 18, 1987 been validated (and code corrected). SMF24CNT is PIB4.
FORMATS vice PIB1. Format MG024BC: new values for 'A0'X and
VMAC24 'C0'x were added. Format MG024SF: new values for '44'X
and '24'X were added. The value of variable SMF24EOJ
is always zero unless this is the last SYSOUT outgroup
of this job. In that instance, SMF24BCF will contain a
'..1.....'B ('20'X or '24'X), and only then will the
variable SMF24EOJ contain true End-Of-Job condition.
Thanks to John Dundas, International Flavors & Fragrances, USA.
Change 05.155 NETVIEW changes to original type 39 NLDM record were
Nov 18, 1987 not completely corrected by Change 5.57. SCS length is
VMAC39 actually 117 vice 118, because BINDCODE is PIB1. not
PIB2. This well documented change is with
Thanks to Mark Shephard, Dun & Bradstreet EBIC, ENGLAND.
Change 05.154 IMS Log variables DESTLINE and DESTTERM should have
Nov 18, 1987 been read as PIB4. vice PIB2., with HEX8. format.
VMACIMS
Thanks to Freddy Simberg, PK Banken Stockholm, SWEDEN.
Change 05.153 Several changes to Landmark's MONITOR for CICS:
Nov 18, 1987 1.Landmark's MONITOR summary history file records caused
TYPEMONI "Invalid data for TASKNR" because summary record has
nulls (hex 0) value. Error message eliminated and the
variable MONIRECD now correctly contains 'H' for the
History (Summary) observations and 'D' for Detail.
2.Observations in MONIDBDS and MONIUSER will now occur
only if the segment actually contains data. FATNUM
counts DBD segments in record, not the number which
contain data, and UTNUM counts the user segments, but
not the number which contain data.
3.Support for Landmark's SPECIAL 78 optional zap to
TMON Version 7.0 creates CICS 1.7 variables UOWID,
UOWTIME, USER, and NETSNAME in MONITASK data set.
Supplement pages 170-171 describe these variables.
UOWTIME is the decoded time stamp from first 6 bytes
of UOWID). Variable SYSTEM was also added to both
MONITASK and MONISYST data sets with this zap.
4.Initialization of all character values set by bit
testing and SKIP logic for any new data was added
5.Variable DURATM in MONITASK was not calculated for
the first interval during re-processing with DIF().
Two elegant algorithms were provided by two users,
and the shorter one (using POINT= to read ahead to
the next record) was chosen.
Thanks to Kathy Manos, The Stroh Brewery Co, USA.
Thanks to Robert Lewis, Landmark Systems Corporation, USA.
Thanks to Chuck Rexroad, Perpetual Savings Bank, USA.
Thanks to Simon Hendy, British Telecom, ENGLAND.
Thanks to Steve Morton, SAS Institute, ENGLAND.
Change 05.152 The CPU-specific variables PCTCPBYx "defaulted" to
Nov 16, 1987 100% busy for offline CPUs. This had minor impact,
VMAC7072 since variable NRCPUS showed how many were online,
amd also since CAIx flags each CPU as to on/offline
status. Furthermore, PCTCPUBY always accurately had
the true percent of online cpus time which was busy.
Nevertheless, the misleading 100% for PCTCPBYx has
been replaced with a missing value for CPUs which
were not online for the entire interval. (With this
change, the MVS/370 record logic was changed to use
the more robust MVS/XA technique.)
Thanks to Stephen Geard, Commonwealth Bank of Australia, AUSTRALIA.
Change 05.151 I finally accept the need to use the new SAS Macro
Nov 16, 1987 Facility. This change establishes naming conventions
for MXG members. The %MACRO facility works best if
the macro name is the same as the member name (then
AUTOCALL can be used). To facilitate this feature,
MXG will hereafter use names starting with VMXG....
TYPEVTOC for both the member and macro name of MXG-supplied
VMXGVTOC new style macros. To balance this "theft", MXG will
hereafter not use member names starting with USR....
or USER.... - these will always be available to you.
Thanks to Bill Gibson, SAS Institute, AUSTRALIA.
who's comment on "using VMACVTOC (now VMXGVTOC) to graze the disk
farm" was under study when this choice was made.
Change 05.150 IMACFILE, taken after an SMF record has been read by
Nov 16, 1987 any MXG code, is self-documented, and is used for many
IMACFILE purposes, including deleting bad SMF records, printing
VMACSMF a "defective" SMF record, etc. IMACFILE is invoked by
VMACSMF. This change "cleans up" comments in VMACSMF,
and now new comments in IMACFILE identify all of the
variables which exist when IMACFILE is taken.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 05.149 Variable ZDATE was added to VMONUSRS, the one-per-user
Nov 16, 1987 summary data set. This provides the date of MXG run,
VMACVMON not the processing date of the data. VMONUSRS is the
summary of all observations in VMONUSRD (which could
be daily, weekly, etc.). Tailored summary (by hour, by
day, etc.) can be done in your code from VMONUSRD.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 05.148 CICS 1.7 UOWTIME was not properly decoded in the pre
Nov 16, 1987 releases of MXG for terminal tasks. Now it is. (Note
VMAC110 that UOWID, the 8-byte character string by which MRO
transactions can be collected was always correct; only
the extraction of its timestamp was in error).
Thanks to Bernadette Young, First Virginia, USA.
Change 05.147 MVS 2.2's catalog address space creates a type 30
Nov 16, 1987 interval record with JOB=IEESYSAS & TYPETASK=CATALOG
VMAC30 which caused "Invalid JESNR" message (no error set).
This change tests for IEESYSAS (system address space)
job name to avoid missing JES number for address
spaces which start before SMF is started.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 05.146 Variable DEN (tape density) in TYPE1415 data was not
Nov 13, 1987 decoded for 3480 (density=38000) devices. Now it is.
VMAC1415
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.145 Variables ROSJOB, ROSTIME, SMFTIME and SYSTEM only are
Nov 13, 1987 in ROSCOE 5.5 and later. The ANALRRTM reports, however
ANALRRTM used these variables, which were not defined in this
VMACROSC member (used only for ROSCOE 5.4A and earlier). This
VMACRRTM change initializes these four variables to blanks or
missing values so that ANALRRTM will work with either
ROSCOE 5.4, 5.4A, or 5.5 RRTM data.
Variable ZDATE was added to all ROSCOE data sets too,
and the code was prettied up.
Thanks to Rich Surgener, Security National Bank, USA.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 05.144 Change 5.44 should have also applied to ANALDB2. The
Nov 13, 1987 variable QXQUERY is now QXSELECT and QXALTBF is now
ANALDB2 QXFETCH in lines 331 and 354 respectively.
Thanks to David Daner, Sun Company, USA.
----Changes thru 5.143 as of Oct 22, 1987 were included in MXG 5.3a--
Change 05.143 Two syntax errors slipped into 5.3. prerelease tape.
Oct 22, 1987 1. Added semicolon to the end of line 2182.1 in member
VMACVMON VMACVMON.
VMACCIMS 2. Added DBDNAME $8. to line 180 (before semicolon)
in member VMACCIMS.
----Changes thru 5.142 as of Oct 15, 1987 were included in MXG 5.3---
Change 05.142 ROSCOE 5.5 support, including the AUDIT record and the
Oct 14, 1987 RRTM (response time) data, has now been added. This
TYPEROSC changes most of the ROSCOE members, and adds several
et. all. new data sets from accounting data. The RRTM records
are now a subtype of the SMF record, and the RRTM data
sets are now built by TYPEROSC. (Member TYPERRTM is
still in MXG if you are not yet on ROSCOE 5.5). Data
for all 5.5 records has been tested, except for the
5.5 Audit record (but that's not likely to cause you
any problem - ADR doesn't document how to enable that
new record, though they will tell you how by phone!)
Change 05.141 Boole & Babbage's IMF (formerly Control/IMS)
Oct 14, 1987 optionally will capture I/O at the DDNAME within
VMACCIMS DBDNAME for those DBDNAMEs with multiple DDNAMES. This
change adds the new variable DDNAME to the CIMSDBDS
data set. If the DDNAME is not blank, this is a DD
entry, otherwise it's a DBD.
Thanks to Ron Root, Sun Company, USA.
Change 05.140 The subtype 1 IDMS Performance Monitor record from
Oct 14, 1987 the new PMAM available in IDMS 10.1 is being created
VMACRTE in error. This change skips over the subtype 1 PMAM
data until Cullinet provides a modification (accepted
but not yet available) to correct their error.
Thanks to Rodney L. Reisch, General Electric Silicon Division, USA.
Change 05.139 The BDT (Bulk Data Transfer) record has now been
Oct 14, 1987 tested with real type 59 SMF records. Two changes were
VMAC59 required to VMAC59: line 1620, TRANTYID replaced
SMF59TID in the test, and line 1670's SMF59OFG field
is now input with a $CHAR1 instead of the incorrect
$CHAR4.
Thanks to Doris Burdick, U.S. Department of Defence, USA.
Change 05.138 The IMS log processing with TYPEIMS from MXG 4.4
Oct 11, 1987 fails. Most transactions were being thrown away
IMACIMS because of the changes in the IMS records introduced
TYPEIMS in 1.3 and 2.1. The pre-releases 5.1 and 5.2 modified
VMACIMS the MXG 4.4 code to stop deleting records, and did
correctly capture all resource data, but introduced
occasional transposition of the LTERM and TRANSACT
values. Most of all, I just did not understand the
logic of the donated code. This change marks the first
IMS log processing code which I actually wrote and
understand. The only original code in TYPEIMS/VMACIMS
now is the merge of the 07-08 log records. Larry
Alexander's fine IMS paper and 2.1 data were used to
now properly assemble all simple IMS transactions
perfectly. The existence of an 07/08 causes an
observation in IMSTRAN to be created, and if an 01
record was found, the message queue records (01,03,31,
35, and 36 are then collected under the transaction's
LTS (line, terminal, sequence) by their message queue
DRRN (dataset and record number) and the time stamps
(ARRVTIME,ENQTIME,GUTIME,STRTTIME,TMCNTIME, GUOUTIME,
ENDTIME and DEQTIME) are captured. Variables INBITS
and INCNTS identify which and how many IMS log records
were collected for this observation in IMS tran. This
code has processed many IMS log records, and seems to
be correct in assembling matching sequences. For some
very complicated sequences (those which do create an
01 for each 07, for example) will be fully assembled
into IMSTRAN for resource measurement and transaction
counting. The worst that can happen is that some of
the time stamps may be missing if MXG can't find the
message records corresponding to the 07 and 08 log
records. I am still investigating WFI (wait for
input) transactions, and may provide additional code
in the future to re-examine IMSTRAN see if the IMS
response for these unique transactions can also be
measured. In summary, the 5.3 IMS code is thought to
be completely accurate for resources and counting, and
either captures the correct response time, or sets the
response time missing. It's not done, but it's so
much better than anything before that it should be
used now for any IMS log processing.
Thanks to John D. Pike, American Airlines, USA.
Thanks to John Lemkelde, Pennsylvania Blue Shield, USA.
Thanks to Finn Poulsen, DANFOSS A/S, DENMARK.
Change 05.137 A syntax error resulted from a missing AXIS2 statement
Oct 11, 1987 in a PROC GPLOT. New line 370.1 should be:
GRAFRMFI AXIS2 COLOR=WHITE LABEL=('LOGICAL SWAP')
Thanks to John Potter, Mitsubishi Electronics, USA.
Change 05.136 ROSCOE 5.5 TERMNAME variable is now only in the signon
Oct 4, 1987 record, but 5.4 had it also in the logoff record. The
ANALROSC result was a blank value for TERMNAME. To correct,
change line 8 to now read:
PROC SORT DATA=ROSCOFF (DROP=TERMNAME);
Thanks to Richard Olimpio, O. M. Scott, USA.
Change 05.135 RMF Cache Reporter records which have only one storage
Oct 4, 1987 director segment caused INPUT STATEMENT EXCEEDED
VMACACHE RECORD LENGTH, "STOPOVER" condition. (All data tested
had two!) These changes were made:
Insert new lines:
@15+OFFSTAT GSLEN PIB2. 237.1
@; IF GSLEN=80 THEN INPUT 245.1
(SD2ID=SD2IDCU OR GSLEN=40) ); 258.1
Remove the "SD2ID=SD2IDCU);" at end of line 258.
Thanks to Benny J. Arnold, Kansas City Computer Center, USA.
Thanks to Don Tuttle, Kansas City Computer Center, USA.
Change 05.134 If you wanted to build the PDB data sets and only want
Oct 4, 1987 to spin once (for example, building from a monthly SMF
BUILDPDB file), you could not. Setting IMACSPIN to 1 caused the
BUILDPD3 un-matched records to be spun twice, since _SPINCNT
was compared with "1" in line 375/385 (BUILDPDB/3).
Changing the "1" to "0.5" solves this inconsistency.
Thanks to Bill Gibson, SAS Institute, AUSTRALIA.
Change 05.133 1.VM/Monitor USER records contain no logon flag. MXG
Sep 23, 1987 can recognize a logon if any of the DIF()'d counters
Nov 29, 1987 went negative, but that is not always the case. Now,
ANALVMON MXG compares the delta minutes since the last record
IMACVMON for this user with a new macro (_INTRVL, in IMACVMON)
VMACVMON in which you specify your expected interval duration.
If more than two expected intervals have been missed,
MXG assumes a LOGON and reinitializes. (Note that if
suspension occurs, records can be skipped.) The actual
comparison is IF DIF(STARTIME) GT 2 * _INTRVL THEN ...
The default value for _INTRVL is 1 minute. If you are
writing 10 minute intervals and you do not change the
value of _INTRVL in IMACVMON, all data will be zeros.
2.Twenty-one VM/Monitor durations (CPU times, Page and
I/O waits, etc.) are in counters which decrement from
a large positive number down to zero. MXG did not get
the correct value for the zero-crossing interval. The
problem only occurs when the system stays up for more
than a day (after 38 hours at 50% IDLETM, it resets).
The error caused the zero-crossing variable to contain
a very large negative value for that one interval. The
decrementing counters are identified by the syntax of
y=-DIF(x)/4096, which calculates the negative delta of
counter x into variable y. This change inserts a new
test for negative y following each -DIF() to correct:
y=-DIF(x)/4096;
IF . LT y LT 0 THEN y=y + 1E-6*16**9;
This fix was revised Nov 29, when IBM Level 2 made
it clear: six bytes of FFFFFFFFFFFF is stored. MXG
5.3 incorrectly used just 16**9, the 5.4 temporary
circumvention used x/4096 pending this truth. Note
that computerese 1E-6*16**9 is simply 16 to the 9th
divided by a million, but the 68719.476736 decimal
equivalent leaves me cold. (Six bytes of FF, INPUT
as PIB6.6 is decimal 281474976; divided by 4096 to
get seconds, becomes 16 to the 9th over a million!)
3.I/O counts in VMONDEV are accumulated by DEVADDR since
last IPL, and MXG failed to de-accumulate the variable
CNTVIOCT. Macro _ANALDEV is now defined in VMACVMON
to sort and correctly calculate CNTVIOCT into VMONDEV.
(Note for recipients of pre-releases 5.1 or 5.2: This
de-accumulation WAS correct in the VMPDB.DEV data set
built by ANALVMOS. Now, the de-accumulation is done
in building VMONDEV). This change could impact the
compatibility of MXG. If you used VMONDEV from MXG 4.4
you probably did your own de-accumulation, and now you
will need to remove that de-accumulation.
Thanks to George Moskwa, Cole National, USA.
Change 05.132 If SAS OPTION NOTEXT82 is in effect, a syntax error in
Sep 23, 1987 creating the temporary $TCLASS reporting format in one
ANALCICS of these sample CICS reports. The right hand side of
the format values must be enclosed in single quotes,
or OPTIONS TEXT82 can be specified.(Our testing now
specifies NOTEXT82!)
Change 05.131 Variables INCONT, LOGONID, MSGLEN and ORGENT in the
Sep 23, 1987 TYPEIMS data set (from IMS Log records), which exist
VMACIMS in the RACF segment if you have RACF or ACF2 with IMS,
but were not in the KEEP list for IMS0103 data set.
As a result, they were blank. (FYI, they are defined
in member EXITRACF.)
Thanks to John Lemkelde, Pennsylvania Blue Cross, USA.
Change 05.130 TSO/MON 5.1 support has now been validated with data
Sep 21, 1987 containing the optional ACCOUNTing fields. Without
VMACTSOM this change, STOPOVER abend occurred if the additional
optional data was present in the record.
Line 2417 changed to INPUT NRACCTFL PIB1. @;
Lines 24192 and 24193 were deleted. (MINUS8= and INPUT)
Thanks to John Leath, Fleet Information, USA.
Change 05.129 The MONIUSER data set from Landmark's MONITOR has now
Sep 21, 1987 been validated. CLOCKTM is now calculated by 1E4, and
TYPEMONI the code was restructured to properly initialize.
Thanks to Chuck Comstock, Hallmark Cards, USA.
Change 05.128 Jobs with JCL errors in PDB.JOBS had blank value for
Sep 18, 1987 TYPETASK because it was not in KEEP list for the type
BUILDPDB 26 data. TYPETASK was added to _PDB_26 definition.
BUILDPD3
Thanks to Lee Salley, Westinghouse, USA.
Change 05.127 Several minor changes.
Sep 16, 1987 1.ANALAUDT and ANALDB2R were restructured to contain
ANALAUDT both JCL and SAS code. With the SAS JCLEXCL option:
ANALCICS %INCLUDE SOURCLIB(ANALDB2R)/JCLEXCL;
ANALDB2R SAS will skip over the JCL and execute the SAS code.
EXITMONI Alternatively, the JCL can be edited and submitted to
produce the report from either an MXG PDB library or
directly from SMF data. Both ANALAUDT and ANALDB2R now
permit date selection via the SYSPARM parameter on the
EXEC statement, as described in the comments. MXG will
use this pattern in future ANAL.... members.
2.ANALCICS PROC FORMAT at line 465 needed quotes on the
right hand side if SAS OPTION NOTEXT82 is specified.
3.EXITMONI installation instructions were improved.
Change 05.126 MXG Format $MGIMFFP was defined in lines 411-414 of
Sep 14, 1987 this member in MXG 4.4, but is not in MXG 5.2 member.
FORMATS If you use the first step of JCLTEST to add formats to
your existing SASLIB data set, you will not see this
error. However, if you create a new SASLIB using the
5.2 FORMATS member, the format will not exist. (Since
I tested by adding the new formats, my testing failed
to catch the error - guess who's testing philosophy
has been changed!). To correct the 5.2 FORMATS member,
copy lines 411-414 of 4.4 FORMATS member after line
615 of 5.2 FORMATS member.
----Changes thru 5.125 as of Sep 10, 1987 were included in MXG 5.2---
Change 05.125 JES2 sites using NJE will now find the PDB.NJEPURGE
Sep 10, 1987 data set automatically built by BUILDPDB will contain
BUILDPDB the non-execution purge records for NJE jobs. All SR
(SYSOUT Receiver) purge records and JR (job transmit)
purge records which do not represent actual execution
will be in this PDB data set. (Formerly, these purge
records were deleted by BUILDPDB). This data set may
be useful in tracking NJE job transmission input
delays as well as NJE SYSOUT delays. Additional work
in this NJE measurement area can be expected.
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 05.124 Support for ROSCOE 5.5 Accounting records was added.
Sep 10, 1987 The ROSCOE Response Time Monitor (RRTM) data is now a
EXROSALL subtype of the 5.5 account records written to SMF.
EXROSATT Several new ROS..... data sets are created from the
EXROSCON new ROSCOE 5.5 account records. On October 11, 1987
EXROSDSF (in MXG 5.3), RRTM record support for ROSCOE 5.5 was
EXROSHEX added to these members, and the RRTM data sets are now
EXROSLIB created with TYPE/VMACROSC. The AUDIT record (new in
EXROSPUR ROSCOE 5.5) support was also added, but no audit data
EXROSSHU records have been available to test yet.
EXROSSOR
EXROSVPE
IMACROSC
VMACROSC
Change 05.123 VM Monitor summarization & documentation were cleaned
Sep 10, 1987 up in testing 5.1. The SEEKRPRT has been added and the
ANALVMOS documentation improved. VM Execs referenced in the MXG
DOCVMOS supplement now exist. EXECTEST is the VM equivalent of
EXECPDB JCLTEST, EXECPDB tests the MVS PDB building under VM,
EXECTEST and EXECEMAC provides an easy way to edit MACLIBs.
EXECEMAC
Change 05.122 Installation modifications to type 26 records caused
Sep 9, 1987 MXG problems because section lengths were not used to
VMAC26J2 +SKIP over new data. This change redesigns TYPE26J2 to
fully use the section lengths for immunity to change.
Thanks to Rob Clairmont, The Laurier Group Ottawa, CANADA.
Change 05.121 Several ANAL.... report members created unnecessary
Sep 9, 1987 messages (not referenced, uninitialized, etc.) which
ANALPROG were irritating but not critical errors to new users.
ANALESV
ANALTAPE
Thanks to Kathleen A. Morrison, Hit or Miss Inc, USA.
Change 05.120 The IDMS Performance Monitor (Change 5.95) did not
Sep 9, 1987 process the second subtype 1 record, which is now
VMACRTE recognized and creates the IDMSTASK data set.
Thanks to Rodney L. Reisch, General Electric Silicon Division, USA.
Change 05.119 Variables EXCPTODD/EXCPNODD and IOTMTODD/IOTMNODD in
Sep 9, 1987 TYPE30 data sets are missing if the program had no DD
VMAC30 cards. Uncommon, it does happen. MXG moved several
lines outside the NUMDD=0 do group to set these four
variables zero rather than missing in this instance.
Thanks to Kenneth D. Jones, Maritime Telephone and Telegraph, CANADA.
Change 05.118 Only for the TYPE74 data set and only under MVS/370,
Sep 9, 1987 the variable DEVNR (the MVS/XA and BUILDPDB/3 expected
VMAC74 variable name for the old UNITADR MVS/370 variable) is
missing. Correct for MVS/370 with the new line:
DEVNR=UNITADR; 172.1
to store unit address in DEVNR. MVS/370 sites would be
wise to position for MVS/XA by changing UNITADR to
DEVNR now in all programs using MXG data sets.UNITADR
does not exist under MVS/XA, DEVNR replaced it.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 05.117 VM Account support for the type 08 (user disconnect
Sep 9, 1987 or log off) account card record was added, creating
TYPEVM new data set VMLOGOFF. Variable LUNAME was also added
EXVMLOFF to the VMDISK, VMLINK, VMLOGON and VMLOGOFF data sets.
FORMATS LUNAME will contain the SNA (VTAM) terminal name for
SNA terminals, useful for identification of terminals
being used by VM users. In VMDEVICE data set, variable
DEVICECL is now decoded by new format $MGVMADV, which
permitted reducing DEVICECL from 8 to 1 byte.
Change 05.116 The format used in the PUT function at line 46 was
Sep 9, 1987 corrected from WEEKDAY3. to WEEKDATE3. to create the
MONTHBLD name of the day of the week as a character variable.
Thanks to Barry Lampkin, Blue Cross of Mass, USA.
Change 05.115 MXG error messages VMAC110.2 and .3 were revised to be
Sep 3, 1987 more descriptive when MXG detects a change in record
VMAC110 format due to CICS maintenance.
Thanks to Laurie Bigelow, UCCEL, USA.
Change 05.114 Variable SD2DEVNR was mis-spelled in the KEEP list for
Sep 3, 1987 CACHETY data set, and was thus not kept. Correct the
VMACACHE obvious mis-spelling.
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Change 05.113 PGBLPGS, STGUTIL, and DRUMUTIL variables in VMONPERF
Aug 31, 1987 were not calculated in non-HPO data. COPY lines
VMACVMON 1545-1546 to become 1113.1 and 1113.2. MOVE line 1547
to 1113.3. Change 1113.1 to be: PGBLPGS=MAXSIZEP;
Thanks to ???, ???.
Change 05.112 This simple example of reading SYSLOG to track IEF244I
Aug 21, 1987 (job delayed due to tape allocation) messages from the
XSYSLOG JES2 SYSLOG file to create MXG dataset IEF244I will be
expanded in future versions of MXG to provide extended
analysis of important SYSLOG messages. Suggestions for
other events which are only available from SYSLOG are
solicited. This will not be expanded until Version 6.
Thanks to John Maher, American Honda Motor Company, USA.
Change 05.111 The bit testing to create TYPE25 (JES3 only) variables
Aug 21, 1987 ALOCBYDD and ALOCAUTO were reversed. Reverse the 0 and
VMAC25 1 values in lines 57-58 and lines 61-62.
Thanks to Miss C. Keelan, Commonwealth Bank of Australia, AUSTRALIA.
Thanks to Stephen Geard, Commonwealth Bank of Australia, AUSTRALIA.
Change 05.110 The decode of RECFM in both VTOC and TYPE1415 logic is
Aug 19, 1987 moved to new member VMACRCFM, and additional record
VMAC1415 formats (formerly OTHR, like FBA, FBS, etc.) have been
VMACRCFM added to (hopefully) completely decode RECFM and to
VMXGVTOC eliminate blank or OTHR values.
Thanks to John Potter, Mitsubishi Electronics, USA.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.109 This change fixes an error which only existed in the
Aug 19, 1987 pre-release 5.1. For jobs which went through the SPIN
BUILDPDB data set, the variable SYSTEM was usually blank. The
BUILDPD3 change affected the five data sets built at line 284
(JES2, line 294 JES3). IN= logic was added to TYPE....
in the SET statement and the storing of SYSTEM into
the five SYSxxx variables was made conditional.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.108 Some MXG modules now use the "new macro, or %macro"
Sep 3, 1987 facility of the SAS System. (MXG has always used many
JCLUXREF "substitution" or old-style SAS macros). The use of
VMXGVTOC the "new macros" requires the SAS system option MACRO
to be enabled (SAS 5.16 defaults to NOMACRO). This is
done either by adding MACRO to the OPTION list on the
EXEC SAS statement for a step, or by changing the SAS
system default (PROC SETINIT by the SAS installer.)
The listed members used the "new macro" facility and
their JCL example now specifies MACRO. Hereafter, all
MXG members that define "new macros" will be so noted.
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Thanks to John Potter, Mitsubishi Electronics, USA.
Thanks to Rob Ray, EUA Service Corporation, USA.
Change 05.107 The variables TAPE3420 and TAPE3480 are now included
Aug 14, 1987 in the PDB.STEPS and PDB.JOBS data sets. Both members
BUILDPDB were re-numbered
BUILDPD3
Thanks to Dennis Dwyer, CITICORP, USA.
Change 05.106 The type 128 record which can be created by NPM is
Aug 14, 1987 actually supplied by IBM as source code for the exit.
IMACNPM Since the record id is not fixed at 128, this change
VMAC128 adds member IMACNPM in which you tell MXG the actual
record ID of the NPM VTAM Session records.
Thanks to Joe Faska, Chemical Bank, USA.
Change 05.105 Support for SYNCSORT user SMF record was added. The
Aug 14, 1987 SYNCSORT data set is created. These members replace
EXSYNSOR XMACSYNC (Change 5.39).
IMACSYNC
TYPESYNC
VMACSYNC
Change 05.104 Support for CINCOM SUPRA 1.1 System log file produces
Aug 14, 1987 three data sets, SUPRDBMX, SUPRFILE, and SUPRINIT.
ANALSUPR Sample reports are in member ANALSUPR.
EXSUPDBM
EXSUPFIL
EXSUPINT
TYPESUPR
Thanks to Mark Degner, Navy Finance Center, USA.
Change 05.103 VM/Monitor Seek Analysis had one too few percent signs
Aug 12, 1987 which caused syntax errors. In line 459, change the
ANALVMOS '%' to '%%'.
Thanks to Steve Smith, Hammermill Paper, USA.
Change 05.102 Default SMF record id numbers for ACF2, MODEL204,
Aug 10, 1987 ROSCOE, and TSO/MON were changed to the inpossible
IMACACF2 values of 512 or higher, to prevent STOPOVER ABEND in
IMACM204 new sites testing JCLTEST.
IMACROSC
IMACTSOM
Thanks to Joe Faska, Chemical Bank, USA.
Change 05.101 Format for CPUWAIT4-8 and PCTCPBY4-8 was not provided.
Aug 10, 1987 This only affected the 5.1 tapes. Change the CPUWAIT3
VMAC7072 in line 298 to CPUWAIT8. Change the PCTCPBY3 in line
316 to PCTCPBU8. Change CPUWAIT3 in line 479 to read
CPUWAIT8, only for looks since 370 can't run on 3090.
Thanks to Ruth Heidel, UCCEL, USA.
Change 05.100 CICS 1.6.1 FCGETCN field is increased from two to four
Jul 31, 1987 bytes by PTF UL10276.
IMACPTF IMACPTF - Replicate the logic for AP40463, and change
UTILCICS AP40463 to UL10276.
VMAC110 UTILCICS- Replicate lines 354-357 (for AP40463) and
change the test to 'FC-GET-COUNT' and set
PTF='UL10276';
VMAC110 - Replace lines 546-547:
FCGETCN PIB2.
FCPUTCN PIB2.
With these four lines:
@;
IF _UL10276 THEN INPUT FCGETCN PIB4. @;
ELSE INPUT FCGETCN PIB2. @;
INPUT FCPUTCN PIB2.
Thanks to Malcolm Morgan, Wachovia Bank, USA.
Thanks to Dave Feigenbaum, UPS, USA.
******Changes through 5.99 were on the first pre-release of MXG 5.1 ****
Change 05.99 The two new SMF records created with MVS 2.2 are now
Jul 31, 1987 available. A type 36 is written for each import/export
TYPE36 of the ICF catalog. The type 41 is written for each
VMAC36 access to a Data-In-Virtual object. The type 41 is
EXTY36 currently incomplete; the job name, readtime, etc of
TYPE41 the task using the DIV object was inadvertently left
VMAC41 out of the SMF record in ESP. A PTF is expected that
EXTY41 will add the data and probably break the VMAC31 code,
but I don't have the PTF number or change info yet.
With this change, MXG Version 5.1 Supports MVS 2.2.
Change 05.98 Minor, cosmetic change in creating SMF71IS1 and IS2
Jul 31, 1987 field names from the SMF71AVA field, none of which are
VMAC71 kept.
Change 05.97 This standalone JCL and program will decode the SAR
Jul 26, 1987 account records from its non-SMF journal file.
XMACSAR
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.96 MXG DASD Storage Measurement is now supported by these
Jul 26, 1987 new members. The earlier XMAPVTOC program has been up
FMXGUCBL dated and is now an executable (new style) SAS macro
VMXGVTOC %VMXGVTOC, which produces the VTOC and FREE data sets
TYPEVTOC from the DDNAME of DISK. These two data sets describe
the contents of that volume for billing DASD storage
and/or DASD capacity measurement. To measure all DASD
volumes in one execution, and to avoid JCL errors due
to offline volumes, the MXG-provided SAS function
FMXGUCBL dynamically allocates all online DASD volumes
to DDNAMES of DDnnnnnnn, and returns the number of
volumes found online. The example program in VMXGVTOC
can be executed to create the MXGVTOC and MXGFREE data
sets from all online DASD volumes.
Change 05.95 Support for IDMS 10.1 (pre-release) completed. The new
Jul 26, 1987 new "Application Monitor" record subtypes create ten
VMACRTE new IDMS.... data sets. The original TYPERTE data set
EXRTEARA is now created from the subtype 1 record. See comments
EXRTEBUF in VMACRTE for documentation and comments about data.
EXRTECDM MXG variable names are the same as the Culprit names
EXRTEDBK used in Cullinet's PMIRPT00 example report program for
EXRTEERU this IDMS Performance Monitor (formerly the Run Time
EXRTEINT Evaluator product, hence the RTE acronym). See Change
EXRTEJRN 5.120.
EXRTEPGM
EXRTESTG
EXRTETPI
Thanks to Terry Layman, Cullinet, USA.
Change 05.94 Validation of ACF2 record support has been completed.
Jul 22, 1987 See updated description of change 5.68.
Change 05.93 PDB.JOBS variables RACFGRUP RACFTERM and RACFUSER were
Jul 22, 1987 kept in _PDB30_4 instead of _PDB30_5. Thus these three
BUILDPDB variables in PDB.JOBS came only from the initiate 30_1
BUILDPD3 data set. A value placed in RACFTERM by an SMF exit at
terminate was not picked up by MXG. With this change,
the three RACF variables in PDB.JOBS will have their
value from the 30_5 if it exists, or from the 30_1 if
no job termination record was found. It was supposed
to have been this way all along!
Change: blank the three variables in line 84 and add
the three variables in lines 102-103.
Thanks to Kenneth D. Jones, Maritime Telegraph and Telephone, CANADA.
Change 05.92 RMFINTRV standalone execution had an extra semi-colon
Jul 21, 1987 in an include in the commented out code. Fixed.
RMFINTRV
Thanks to Steve Glick, Southern Methodist University, USA.
Change 05.91 If SRBCOEFF is zero, a division exception occurred in
Jul 21, 1987 MVS/XA. The division is now protected.
VMAC7072
Thanks to John Mueller, ARMCO Steel, USA.
Change 05.90 The CICS 1.6 variables ICV and ICVTSD were incorrectly
Jul 21, 1987 calculated. ICV=ICV/76.8 and ICVTSD=10*ICVTSD/3 in the
VMAC110 1.6 code only.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.89 The variables QISEDBD and QISEPAGE in DB2STAT1 dataset
Jul 14, 1987 were wrong. Delete the two lines in ANALDB2:
ANALDB2 QISEDBD =DIF(QISEDBD);
QISEPAGE=DIF(QISEPAGE);
because these two variables are not accumulated.
Several other discrepancies between MXG and DB2PM are:
a. QISEFREE "FREE PG IN FREE CHAIN" reported in DB2PM
is (incorrectly) the value from the previous record.
b. DB2PM "Record Time" is QWHSSTCK-DURATM, the start
time of the interval, not the SMF record timestamp.
c. The DB2PM calculations for EDM Pool percentages are
frequently total several percent more than 100. This
is because QISEFREE is from the previous interval, as
noted above.
d. DB2PM reported "datasets open - current" is always
greater than the "maximum" value reported, and the
"current" number equals both QTDSOPN and QDDSMAX in
the record (which seems in error itself). The value
under "maximum" seems close to current; in most of
intervals it is equal to QB1TDSO (and there were no
higher buffer pools used). In other intervals the
printed "current" value is 2, QB1TDSO is 1 and no
other buffer pools were used.
e. DB2PM is flat wrong on the report page which has
both "AGENTS SERVICES - EXECUTION UNIT SWITCH" (for
QVASX... fields) and "STORAGE MANAGER (QSST.. fields).
The first six lines of the report are repeated in
lines 7-12 (which should be the first six S.M. lines).
Lines 13-19 contain what should be in lines 7-13.
What should be in lines 14-19 does not exist in DB2PM!
f. Other than that, DB2PM agrees with MXG.
Thanks to Martha Hall, Metropolitan Life, USA.
Change 05.88 The new IMS log processing logic (MXG Change 5.66) was
Jul 14, 1987 validated in detail by three sequential transactions
TYPEIMS under IMS 2.1. The new logic stood up to the test. The
only data we seem to loose now is the data from the
IMS type 36X log record, DEQTIME. The MSGDRRN value of
the 36 record is different than the MSGDRRN in the
0103 record; this prevents the 36 from matching. This
matter is under discussion with IBM. For now, IMS 2.1
is supported by MXG, but the three DEQ.... variables
are missing in the IMSTRAN data set from IMS log data.
Thanks to John D. Pike, American Airlines, USA.
Change 05.87 Support for the SMF record written by the STOPX37
Jul 12, 1987 product.
EXTYX37
IMACX37
TYPEX37
VMACX37
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.86 The labels for variables READY11 thru READY15 were all
Jul 11, 1987 for READY11 in the TYPE70 data set.
VMAC7072
Thanks to Ruth Heidel, UCCEL, USA.
Change 05.85 The RMF CACHE Report SMF support added by Change 5.31
Jul 07, 1987 provides correct device segment data, but only the 1st
VMACACHE control unit segment was read. Major logic changes are
in the logic to associate the control unit segments
properly with their device segments. MXG has now been
tested with REPORLVL data values of 17 and 18.
Thanks to Jon Sahl, New York Life, USA.
Change 05.84 For CICS 1.7, the CICSYSTM (global performance data)
Jul 01, 1987 variables CPUTCBTM and OWSTCPTM were wrong. This had
VMAC110 no effect on the CICSTRAN data set variables. A minor
error in calculation of TASKCPTM in CICSYSTM was also
corrected by this change. The figure on page 66 of
the MXG Supplement is accurate for CICS 1.6; the below
figure is correct for CICS 1.7 and uses the CICSPARS
descriptions of maintask, subtask, etc., values:
CPUTCBTM SRB
|-----------------------------------------------| |--|
MAINCPTM SUBTCPTM
|--------------------------------------|--------|
KCCPUTM USRCPUTM OSWTCPTM
|-------|------------------------------|--------|
| JCCPUTM TCCPUTM TASKCPTM |
|---------|---------|----------|
"CICS" "APPL"
|---------------------------|----------|
1. Change both occurrances (lines 821 and 884),
TASKCPTM=USRCPUTM-TCCPUTM;
to read
TASKCPTM=USRCPUTM-TCCPUTM-JCCPUTM;
2. Change line 883, which now reads
CPUTCBTM=SUM(KCCPUTM,OSWTCPTM,USRCPUTM);
to read:
CPUTCBTM=OSWTCPTM;
3. Insert after line 884 these five lines:
CICSCPTM=KCCPUTM+TCCPUTM+JCCPUTM;
MAINCPTM=TASKCPTM+CICSCPTM;
SUBTCPTM=OSWTCPTM-MAINCPTM;
OSWTCPTM=SUBTCPTM;
TOTLCPTM=MAINCPTM+SUBTCPTM+CPUSRBTM;
4. Add these five new variable names to the KEEP=
list (lines 66-81) for _CICOTHR.CICSYSTM.
Thanks to Joe Faska, Chemical Bank, USA.
Change 05.83 CICS 1.7 sites with a large number of user clocks or
Jun 29, 1987 counters added to their type 110 SMF record received
VMAC110 the "Invalid task number" MXG error message because of
UTILCICS an MXG error. The string of connectors can be over 200
bytes, but MXG had only a 200-byte character variable.
The confirming symptom of this error is MCTSSDCN, the
number of "connectors", will have a value over 100 in
the MXG error message. Additional lines were changed
UTILCICS and VMAC110; only the execution-critical code
changes are printed here:
After line 493 (END;) and before line 494 (ELSE INPUT)
insert the following five lines:
ELSE IF CONNBYTE GT 200 THEN DO; 493.1
INPUT CICTRANV $CHAR200. @; 493.2
SKIP=CONNBYTE-200; 493.3
INPUT +SKIP @; 493.4
END; 493.5
Thanks to Shawn Weikel, CITIBANK, USA.
Change 05.82 Support for the modified type 6 SMF record written by
Jun 29, 1987 the SAR (SYSOUT Archival and Retreival) product from
VMAC6 Central Software and the VPS (Virtual Printer Support)
product from 1:
New line 111.1:
ELSE IF SUBS=50658 THEN SUBSYS='SAR';
Change line 137:
ELSE IF SUBSYS='JES3' THEN DO;
To read:
ELSE IF SUBSYS='JES3' OR SUBSYS='SAR' THEN
Thanks to Frank Bolan, Bergan Brunswig, USA.
Change 05.81 The CICS 1.7 variable UOWID (which ties a transaction
Jun 24, 1987 in an MRO Terminal Owning Region to the same logical
VMAC110 transaction in other Application Owning Regions) is
now formatted as a $HEX16 so it prints "better". The
first six bytes are the timestamp of attach and they
are now decoded into new variable UOWTIME. (For DL/I
batch jobs, only the time, HHMMSS, is actually in the
data record. The SMF record date is used for DL/I.)
Change 05.80 The interval of aggregation of the RMFINTRV data set
Jun 16, 1987 (set by macro _DURSET) is now defined in IMACRMFI so
IMACRMFI that inline changes do not have to be made. This is
RMFINTRV consistent with the description in the MXG Supplement.
Change 05.79 XMACVTOC now supports 3380 devices. This "extra" MXG
Jun 14, 1987 program reads the VTOC of a device pointed to by the
XMACVTOC DISK ddname, and provides the mapping of the disk
size and physical location of all data sets and free
spaces on a volume. You should compare this program
with MAPDISK on the SAS Sample library. This member
was replaced July 31, 1987 by Change 5.96.
Change 05.78 Support for DFSORT Release 9 which added new variables
Jun 14, 1987 to the type 16 SMF record. Access methods used, start
VMAC16 and end of sort timestamps, SRB CPU time, work data
set tracks and extents, I/O counts (SORTIN, SORTOUT
and total work), and sort return/reason codes are now
available for each sort execution. This member was
renumbered.
Change 05.77 1.The SYSTEM variable in PDB.PRINT will frequently be
Jun 10, 1987 wrong; usually the value of SYSTEM in PDB.PRINT was
BUILDPDB from the Step (30_4) record. This change corrects this
BUILDPD3 error and creates variables SYSINT, SYSSTP, SYSJOB,
SYSPUR and SYSPRN in PDB.JOBS to identify the system
from which each of the five records was found. As a
result of this redesign, SYSTEM in PDB.JOBS will come
from the first non-blank value in this ordered list:
SYSSTP, SYSJOB, SYSINT, SYSPUR, or SYSPRN to ensure
SYSTEM is non-blank and contains execution system if
execution records were found, otherwise it contains
the purge or print system id.
2.JOBCLASS was added to the PDB.PRINT and PDB.STEPS
data sets (from the PDB.JOBS) at the request of many.
3.PROTECT=ZZZZZ was added to the three CICS data sets
built by BUILDPD3 so that it would be consistent with
the JES2 version BUILDPDB, which has always used the
PROTECT= keyword.
Thanks to Georg Simon, Prudential, USA.
Change 05.76 The value of IRESPTM in CICSTRAN was set to missing if
Jun 10, 1987 any bit was on in TASERRFG, as these bits indicated an
VMAC110 error in timings. The bit meanings have been changed
FORMATS in CICS 1.6.1 and CICS 1.7 and CMF no longer corrupts
its timings. Therefore, IRESPTM is no longer dependent
on TASERRFG, and will always be calculated as ELAPSTM
minus WTTCIOTM. Format MG110ER has been changed to now
properly decode the new bit meanings of TASERRFG.
Thanks to Jo Engles, Virgina Light and Power, USA.
Change 05.75 Labels in VMAC110 were alphabetized. JCLUXREF needed a
Jun 10, 1987 DCLOG DD, and /* in JCL was changed to //* comments.
VMAC110 Option ERRORABEND was added to JCLPDB. All MXG
JCLUXREF production jobs must specify OPTION ERRORABEND to
JCLPDB protect you from yourself. ERRORABEND causes any SAS
error condition (but not warnings) to immediately
terminate the execution with a USER 999 abend. The
actual error condition will be printed on the log.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
for alpha testing.
==========Changes thru 5.74 were published in Newsletter TEN===========
Change 05.74 Summarization and accumulation of VM/Monitor data a la
Jun 9, 1987 RMFINTRV into hourly (default) performance data with a
ANALVMOS small number of critical variables kept allows a years
DOCVMOS data in a small file for trending. Additionally, seek
EXECDALY histograms for VM disks is provided.
Member names have changed since Newsletter TEN.
Thanks to Steve Glick, Southern Methodist University, USA.
Change 05.73 Several minor cleanups detected in alpha testing of a
Jun 9, 1987 pre-release of Version 5:
VMAC128 a. VMAC128, two DOs removed and an END; removed.
TESTUSER b. TESTUSER, changed RMDSDATA to TYPERMDS (all).
TYPEDISO c. TYPEDISO needed quotes around SPLIT='*'.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.72 The VM/Monitor TOD time stamp is written in GMT time,
Jun 9, 1987 but the Start Collection time stamp is in local time.
VMACVMON Local time is offset from GMT by the SYSTIME parameter
ZONE in DMKSYS. Some sites (my test site included) set
ZONE=0 and the operators enter local time. This causes
the TOD time stamp to be local time. However, if your
site uses a nonzero value for ZONE, the STARTIME value
produced by MXG for each record was in GMT zone. This
change corrects this MXG oversite by using the Start
Collection (Class 0 Code 97) record to calculate the
time zone difference and set MXG times to local time.
The following lines inserted/changed will correct the
MXG time stamps. (SAS 5.16 under CMS will not accept
nulls in the DHMS function, while MVS SAS will. Line
2025 replaces the nulls with zeros for this reason.)
TIMEZONE=0; 276.1
STARTIME=16*MNHTOD+BASETIME-TIMEZONE; 279
RETAIN BASETIME INTERVAL STARTIME TIMEZONE ZDATE; 284
COLLTIME=DHMS(DATTODCL,0,0,TIMTODCL); 2025
DELTATOD=(16*MNHTOD+BASETIME)-COLLTIME; 2025.1
TIMEZONE=3600*FLOOR((ABS(DELTATOD)+99)/3600); 2025.2
IF TIMEZONE GT 0 AND DELTATOD LT 0 THEN TIMEZONE=-TIMEZONE; 2025.3
STARTIME=16*MNHTOD+BASETIME-TIMEZONE; 2025.4
The actual change in Version 5 is more extensive, and
warns you if a 0/97 record was not found. It also will
process VM/Monitor data from any time period, as long
as the monitor data includes a 0/97 (formerly, only
data within the last 203 days, the wrap time of the 5
byte TOD field, could be accurately processed). If the
first record is not a 0/97, MXG defaults the time zone
to zero and what you get could be either local or GMT.
Thanks to Terry Magill, NAS, USA.
Thanks to Steve Glick, Southern Methodist University, USA.
Change 05.71 Variables VECTUTM, VECTU0TM and VECTU1TM, VM/Monitor
Jun 9, 1987 reported Vector Facility Usage time (total, CPU, APU)
VMACVMON were added to VMONPERF data set. Note that only the
usage time is reported, and only globally; there is
no vector usage time reported by user in VM. The MXG
supplement discusses the vector Facility measurements.
Change 05.70 Variable INTERVAL was added to all of the VM/Monitor
Jun 9, 1987 data sets.
VMACVMON
Thanks to Steve Glick, Southern Methodist University, USA.
Change 05.69 In these sample reports, transactions with blanks for
Jun 9, 1987 OPERATOR were not counted in some reports, because by
ANALCICS default PROC SUMMARY treats a blank value of a CLASS
variable as a missing value. These transactions will
be counted if you add the MISSING operand to line 50:
PROC SUMMARY DATA=CICSTRAN MISSING;BY APPLID;
Thanks to Jim Enia, Allied Signal, USA.
Change 05.68 Added support for ACF2 user (default=196) SMF record.
Jul 21, 1987 Ten ACF2... data sets are created. The ... suffix of
EXACFAR data set name is the same as the parameter name in the
EXACFCR ACF2 Utilities Manual, page 74 (1/15/85 revision). No
EXACFDR reports are written or planned. Half of the data sets
EXACFER have been validated with actual data. Only Release 4.0
EXACFJR and later ACF2 releases will be supported.
EXACFNRA
EXACFNRB ACF2 is a product of UCCEL Corporation, maintained by
EXACFPR their Chicago Development and Support Center.
EXACFTR
EXACFVR
IMACACF2
TYPEACF2
VMACACF2
Thanks to Jill Raudabaugh, Whirlpool Corporation, USA.
Change 05.67 Changed references to SMF59TID to correct variable
Jun 4, 1987 TRANTYID to eliminate "uninitialized variable" note.
VMAC59
Thanks to John Mueller, ARMCO Steel, USA.
Change 05.66 Support for IMS 2.1 log record processing and a major
Jun 4, 1987 redesign of the logic for building IMSTRAN. Previously
EXIMSOUT the algorithm threw away transactions that were not
IMACIMS perfectly matched. Now, an observation will be placed
TYPEIMS in IMSTRAN if a '07' IMS log record is found, even if
VMACIMS not all of the other possible log records exist. This
provides complete accounting for the existence and the
resource accounting of the transaction, but may cause
missing value for response time and some time stamps.
Since IBM does not put a version number in the IMS log
you must change the _IMSVERS macro (which is defined
in member IMACIMS) from its default of 1.3 if you wish
to process IMS 2.1 log records. This re-design has
been moderately well validated by comparison with data
from the IMF product, but as with any new design (and
especially with the undocumented state of the IMS log)
you should be alert for any idiosyncrasies. This
change includes and superceedes Change 5.46. The code
in EXIMSOUT which formerly replaced IMSCPUTM with the
average cpu time per transaction has been eliminated.
Now, IMSCPUTM is the actual message region CPU time.
Thanks to John D. Pike, American Airlines, USA.
Change 05.65 Support for MVS 2.2 changes as announced in the MVS/XA
Jun 1, 1987 Conversion Notebook, Volume 2 (GC28-1411-0). Untested.
1. VMAC30. DIVRREAD, the 'ASID TOTAL*DIV REREAD*COUNT' is
added to the TYPE30_V, TYPE30_4, TYPE30_5 and TYPE30_6
data sets to report the new DIV (Data in Virtual) use
at the interval, step, and job level of detail.
2. VMAC7072. Three new variables added to TYPE72 data set
ACTFRMTM='ACTIVE*FRAME*TIME'
PERFACCT='PERFGRP*SET FROM*ACCOUNT?'
PGPAGEIN='PAGE INS*BY THIS*PERF GROUP PERIOD'
Note that ACTFRMTM and PGPAGEIN report memory and page
in counts by each period of each performance group!
3. VMAC90 and FORMATS. New subtype 17 (SET PFK) added to
the TYPE90 data set.
Change 05.64 Variable UCBTYPE was increased from 4 bytes to 5 bytes
Jun 1, 1987 to eliminate truncation of the last byte. Even though
VMAC21 the field is only 4 bytes, because it is stored as a
VMAC64 numeric in SAS, 5 bytes are required for resolution of
VMAC74 all four hex bytes. The change to a 4-byte character
VMAC75 variable was considered, but would be catastrophic on
any report program now using UCBTYPE. If you combine
your daily, weekly and monthly PDBs as recommended in
Chapter Thirty-Five using SET statements, there will
be no impact. However, if you use PROC APPEND on the
TYPE21 or PDB.TAPES, TYPE64, TYPE74, or TYPE75 data
sets, you will encounter an error message due to the
change in length. You could specify FORCE on the PROC
APPEND statement to force the joining of the old and
new, but that will keep the old length of 4 bytes. To
use PROC APPEND without error, you must re-create the
BASE= data set(s) with length 5:
DATA BASE.xxxx; LENGTH UCBTYPE 5; SET BASE.xxxx;
and then the PROC APPEND will succeed. (These are
some of the reasons MXG does not recommend the use of
PROC APPEND.)
Note: UCBTYPE is not a commonly needed variable, and
since it has never been right, probably is not used in
your report programs. DEVICE is decoded from UCBTYPE
and should be used instead.
Thanks to Bill Mullen, BGS, USA.
Change 05.63 TYPE30 variables JINTTIME,INTETIME,JTRMTIME,JINITIME,
Jun 1, 1987 SELAPSTM,JELAPSTM, and INTRVLTM are now created before
VMAC30 any MXG exits are taken. Formerly, they were created
just before the output exit of their respective data
set.
Thanks to Bill Mullen, BGS, USA.
Change 05.62 RACF Type 80 record with a zero length data segment
Jun 1, 1987 caused STOPOVER abend. Insert new lines 70.1, 70.2 and
VMAC80 72.1 after lines 70 and 72 in VMAC80:
@; 70.1
IF 0 LT RACFDLN LE 200 THEN INPUT 70.2
INPUT RACFDATA $CHAR200. @; 72.1
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.61 Untested assembly code for the tape mount monitor. Do
May 21, 1987 not use, as it has not been tested.
ASMONTAP
Change 05.60 JCL errors were not kept in PDB.JOBS from JES2. Code
May 20, 1987 to delete the multiple JES2 purge records in an NJE
BUILDPDB environment also deleted the JCL error's purge record.
1.Add variable INREASON to the _PDB26 keep list in
line 37.
2.Replace line 222:
IF SYSEXEC GT ' ';
with these two lines:
IF INREASON='SR' OR
(INREASON='JR' AND SYSEXEC LT ' ' THEN DELETE;
Thanks to M. N. Woolley, Dept of Finance, AUSTRALIA
Thanks to Cathy Ellis, Dept of Finance, AUSTRALIA
Change 05.59 TYPE64 only contains data on the first 3 extents of
May 20, 1987 a VSAM entry. This change creates an additional data
EXTY64X set TYPE64X which contains the information on all of
VMAC64 the extents. (TYPE64 is unchanged and still will have
the data on the first three extents).
Thanks to Willie Antman, Federal Deposit Insurance Corp., USA.
Change 05.58 This change makes full use of the relocatable record
May 20, 1987 length information to protect MXG from any IBM changes
VMAC7072 to the performance group data. Insert two new lines
after line 1169:
SKIP=LENPGPS-56;
IF SKIP GT 0 THEN INPUT +SKIP @;
This change replaced by change 5.65, June 1, 1987.
Change 05.57 Support for NETVIEW changes to the type 39 record.
May 20, 1987 Without this change, some variables will be missing.
VMAC39 1.Change line 206 from:
IF VERSNLDM GE 000DX THEN INPUT
to read:
IF VERSNLDM GE 000DX OR PRODUCT='NETV' THEN INPUT
2.Change line 241 from:
IF VERSNLDM GE 000DX THEN INPUT
to read:
IF LENSCS GE 118 THEN INPUT
Thanks to John Fleig, Rochester Gas and Electric, USA.
Change 05.56 Devices offline at the end of the interval and any
May 20, 1987 device with CMBINVLD='Y' (indicating invalid data
VMAC74 from the hardware monitor in the channels) had none
of their utilizations calculated, but had some data
carried forward from the previous device. Delete
line 356 and line 379 so that utilizations will
always be calculated for all devices.
Thanks to MP Welch, Sisters of Charity of the Incarnate Word, USA.
Change 05.55 IBM's Report Management & Distribution System,
May 19, 1987 RMDS FDP creates a (default) type 217 SMF record,
EXTYRMDS which is supported by these new members. Data set
IMACRMDS TYPERMDS is created.
TYPERMDS
VMACRMDS
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.54 RACF records with identical SMFTIME values could
May 18, 1987 not be ordered as they occurred. A new variable,
VMAC80 RECIDNO was added to the KEEP= list and created
ANALAUDT with one new line inserted after line 45 in VMAC80:
RECIDNO = _N_ ; 45.1
ANALAUDT was also modified to use RECIDNO in creating
the Auditor reports.
Thanks to David D. Anderson, U.S. Bancorp, USA.
Thanks to Jim Bentley, U.S. Bancorp, USA.
Change 05.53 1.IDMS Performance Monitor (formerly RTE) records
May 18, 1987 now decode the RT1 variable data area (ERUS Batch,
VMACRTE ERUS CICS, and DC information). Ten new variables
are created: RT1DCTC RT1CDLT RT1DCUI RT1DCPN
RT1EBJN RT1EBNAF RT1EBALN RT1EBAFN RT1EBPN and
RT1MSSEV, due to Rod. This member will be
renumbered in MXG Version 5.
2.IDMS-PM records were changed incompatibly in
IDMS Version 10.1, and many new data segments now
exist in the RTE record, based on test data sent
by Dennis. The following changes are required to
process IDMS Version 10.1 RTE records:
a. Insert one new line after line 141:
IF RT1HDRVN EQ 1 THEN DO; 141.1
b. Insert five new lines after line 216:
@; 216.1
IF RT1HDRTL EQ 252 THEN INPUT 216.2
RT1MSRS2 $CHAR4. 216.3
@; 216.4
ELSE INPUT 216.5
c. Insert five new lines after line 220:
END; 220.1
ELSE DO: 220.2
SKIP=RT1HDRTL-16; 220.3
INPUT +SKIP @; 220.4
END; 220.5
Once Cullinet provides the formats of the PMIM
record types, they will be supported by MXG.
See Change 5.95.
Thanks to Rodney L. Reisch, General Electric Silicon Division, USA.
Thanks to Dennis Pugh, Browning Ferris Industries, USA.
Change 05.52 Several minor errors in the VM/Account data sets are
May 15, 1987 corrected by this contribution.
TYPEVM a. Variable TERMADDR should be read in with $CHAR4. in
lines 237 247 and 256 (instead of PIB4.).
b. Variable MINIADDR should be $CHAR4. instead of PIB4.
in line 249.
c. Variable MINIADDR should be $CHAR3. instead of PIB4.
in line 259.
d. Add new line after line 224 (1077052512 is the value
when four blanks are read with a PIB4. format).
IF BLOCKS=1077952512 THEN BLOCKS=.; 224.1
Thanks to Jan Van Lent, Fokker BV, NETHERLANDS.
Change 05.51 A fine set of DB2 reports, similar to those produced
May 14, 1987 by the DB2PM product, were provided by Tony. This
ANALDB2R member generates the reports, with selection by DB2
system as well as reporting time selection as shown
in the comments at the beginning of the member.
Thanks to Tony Shaftel, Farmers Insurance, USA.
Change 05.50 TYPE6 data set variable CONTRIND could not decode the
May 14, 1987 multiple bit conditions which sometimes occur. This
VMAC6 variable has been replaced by nine one-byte variables,
CONTRIN0 through CONTRIN9, containing a "Y" if the
condition described by the variable's label did occur.
This also takes less storage (9 bytes versus 22). Most
sites do not actually used these flags which identify
certain operator actions to the print file.
Thanks to P. J. Lines, Centre-File Limited, ENGLAND.
Change 05.49 IBM documentation error caused variable DVQUQCNT in
May 14, 1987 VMON602 data set to be incorrect. The variable is
VMACVMON only one byte for all releases of VM. Delete lines
2487 thru 2490.
Thanks to Steve Glick, Southern Methodist University, USA.
Change 05.48 TYPE78PA (Private Area virtual storage of monitored
May 14, 1987 jobs) variables suffixed with 9 were not calculated
VMAC78 as averages. Replicate lines 1638 through 1645 and
then change both occurrences of 4 in each line to 9.
Thanks to Rodney L. Reisch, General Electric Silicon Division, USA.
Change 05.47 VM Account record type 07 (VCNA) caused a STOPOVER SAS
May 14, 1987 error condition. Line 157
TYPEVM INPUT
should be change to
INPUT @9 ACCOUNT $CHAR8.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 05.46 IMS transactions were not properly assembled when the
May 14, 1987 record counter for the log is reset. It used to be
IMACIMS reset with each new log tape, but it is not clear now
TYPEIMS exactly when the reset occurs. The variable IMSTAPNO
VMACIMS (which was in the original European code but removed
by mistake) has been restored to resolve the reset.
There are many lines changed.
June 3, 1987. Change 5.66 superceeds this change.
Thanks to Lee Adams, United Telephone System, USA.
Change 05.45 Reading type 78 records from the VSAM SMF file causes
Apr 25, 1987 a STOPOVER abend. (There is no problem with reading
VMAC78 the normal dumped BSAM SMF file.). To read the type 78
VSAM format data, add +OFFSMF to lines 1668, 1695, and
1731. (OFFSMF is set by the _SMF macro in VMACSMF and
is 4 if a VSAM file is being read, 0 otherwise.)
Thanks to Wing Louie, Metropolitan Life Insurance, USA.
Change 05.44 DB2 Release 1 fields QXQUERY and QXALTBF were changed
Apr 25, 1987 in Release 2 and are now QXSELECT and QXFETCH in MXG.
VMACDB2 (QXALTBF was reserved, and QXQUERY was split into the
two query types SELECT and FETCH.) Change all five
occurrences of QXQUERY to QXSELECT and change the
label to read "SELECT*STATEMENTS". Change all five
occurrences of QXALTBF to QXFETCH and change the
label to read "FETCH*STATEMENTS".
Thanks to A. Williams, Shell U.K, ENGLAND.
Thanks to Richard Whitnable, State of Wisconsin, USA.
Thanks to Martha Hall, Metropolitan, USA.
Change 05.43 QTXA... variables in DB2ACCT are missing because the
Apr 25, 1987 length of the lock segment was changed, causing MXG to
VMACDB2 not read them in. Line 1238 should be changed from
ELSE IF LENLOCK GE 28 THEN
to read
ELSE IF LENLOCK GE 24 THEN
Thanks to Tom Frankle, Chemical Bank, USA.
Change 05.42 More than 200 bytes of user data (counter, clocks, or
Apr 21, 1987 characters) added to the CICSTRAN data caused the MXG
VMAC110 error message "data format has changed". MXG will now
input the first 200 bytes and skip over any excess.
The member IMACICUS can be used to actually decode
any local counters. (The optional DL/I counters are
decoded in IMACICDL.)
Thanks to Shawn Weikel, CITIBANK, USA.
Change 05.41 Reserved Change Number.
Mar 19, 1987
Thanks to Jon Sahl, New York Life, USA.
Change 05.40 Durations and counts for CICSEXCE exceptions were not
Mar 16, 1987 being calculated for CICS 1.7 exceptions. MSWAITTM,
VMAC110 TSWAITTM, and VSWAITTM are set to ENDTIME-STRTTIME.
The existence of the exception is still the important
event. (VSAM waits are usually due to insufficient
LSR buffers).
Thanks to Tom Wiebe, NERCO, USA.
Change 05.39 Preliminary re-write of SYNCSORT support, will become
Mar 11, 1987 VMACSYNC when tested.
XMACSYNC
Thanks to Jill Raudabaugh, Whirlpool Corporation, USA.
Change 05.38 Record subtype, SUBTYPE, is now created in _SMF macro
Mar 11, 1987 and is available to exit IMACFILE, for those records
VMACSMF which contain a subtype. END=ENDOFSMF and an include
for IMACFILE were added to _JOURNAL macro (for type
110 records in CICS journal format) so that it is now
consistent with the _SMF macro.
Thanks to Mark Nelson, UCCEL, USA.
Change 05.37 Revised installation instructions for the IDMSSTAT
Feb 2, 1987 program (which writes SMF records from IDMS) were
IDMSEXIT added. No change to the ASM source code was made.
Thanks to Ron Szczepanski, Whirlpool Corporation, USA.
Thanks to Keith Stout, Municipality of Anchorage, USA.
Change 05.36 A set of ten reports for the EDP Auditor, from RACF
Feb 2, 1987 TYPE80 data, was provided by its author, and with
ANALAUDT minor revisions was added as member ANALAUDT.
Thanks to David D. Anderson, U.S. Bancorp, USA.
Change 05.35 Variable VTAMCPUI, the CPUID*FROM*SYSTEM, at the end
Jan 29, 1987 of this VTAM SMF Accounting Record is now created by
VMAC128 MXG.
Change 05.34 To protect users from accidentally truncating the WORK
Jan 28, 1987 variable (which defines worktype and is expected by
IMACWORK RMFINTRV to be $CHAR5.), INFORMAT WORK $CHAR5. was
added. This is a minor change.
Thanks to Brian Cooper, Franklin Mint, USA.
Change 05.33 Announcement of the 3090-600 suggests there really is
Jan 27, 1987 going to be a 3090-800. TYPE70 data set was modified
VMAC7072 to support nine engines (numbered 0 thru 8 inclusive).
The eight CPU-specific variables (CAIn, CPUSERn, VFONn
CPUWAITn, IORATEn, PCTCPBYn, PCTTPIn, VFAFFTMn) now
exist for n=0 thru 8. This change supercedes change
5.1. These variables are not typically important; most
sites won't need to know these CPU-specific values.
The overall system measures related to these values
(CPUWAITM, IORATE, PCTCPUBY, PCTTPI) are correct with
or without changes 5.32 and/or 5.1.
Change 05.32 Support for the Online Business System WYLBUR Session
Jan 26, 1987 SMF record was added. One record per WYLBUR session
TYPEWYLB is written containing CPU, I/O and counts of some
VMACWYLB activities.
IMACWYLB
EXTYWYLB
Change 05.31 Support for the Cache RMF Reporter (IBM Program Number
Jan 25, 1987 5798-DQD) SMF records (default 244, 245) which invokes
TYPECACH AMS LISTDATA to extract counters for Cache DASD 3380
VMACACHE control units (models 11,21,13,and 23) was added. This
IMACACHE code was originally written in Germany and contributed
EXCAPAG to MXG. The code was revised and consolidated into the
EXCACHE members indicated, and has been tested with type 245
SMF records.
Thanks to ???, DZ/SP-CM Gotaher Verischerung VVAG, GERMANY.
for the original code,
Thanks to Kirby Kern, Commercial Federal S & L Omaha, USA.
for test data.
Change 05.30 Format MG078CV., which is used in many MXG data sets
Jan 24, 1987 to convert bytes to nnnK or nnnM printout was refined
FORMATS so that 16777216 bytes prints as 16MB (before this
change, the value had to be 16777222 before the format
changed from 15M to 16M). Correct this minor error by
changing .0009766 to .0009765625 in line 163, and by
changing .000000953674 to .00000095367432 in line 164.
Change 05.29 Support for TSO/MON Version 5.0 coded. Accounting
Jan 23, 1987 variables added to TSOMCALL and TSOMSYST. A new data
VMACTSOM set, TSOMDSNS captures data set names and members
which were accessed by commands captured in TSOMCALL,
if new TSO/MON option to do so was enabled. MXG 4.4
supports TSO/MON Version 5.0 without error, but if you
want the data new in TSO/MON Version 5.0 before we
ship MXG Version 5, call us. Too many lines changed
to provide here.
Change 05.28 The equation for PCTCUBSY (percent control unit busy
Jan 14, 1987 in TYPE78CF for 3090s) is incorrect in the RMF manual
VMAC78 on page 374. The minus is actually a plus.
The value of AVGCUHQL (CU-HDR queue in TYPE78CU) was
incorrectly calculated. The equation was corrected.
Source statement Line number
PCTCUBSY=100*PCTCUBSY/CHPIDTKN+PCTCUBSY); 1724
IF NRCUHREQ GT 0 THEN AVGCUHQL=(NRCUHENQ-NRCUHREQ)/NRCUHREQ; 1748
ELSE DO; 1749
NRCUHENQ=.; 1749.1
AVGCUHQL=.; 1749.2
END; 1749.3
Change 05.27 After each statement in which INVALID,VARIED,ONLINE,
Jan 14, 1987 LCI, and IDWRONG is set equal to 'Y', add a statement
VMAC73 ELSE XXXXXXXX=' '; where XXXXXXXX is the name of
the variable being set to 'Y'. Without these new ELSE
statements, once any of these variables were set to a
value 'Y', the value remained 'Y' for the rest of the
observations created from that type 73 record.
Thanks to Paul Larson, Marine Bank Services, USA.
Change 05.26 New variables SWAP EXTAUX LOGAUX LOGEXT PHYAUX and
Jan 14, 1987 PHYEXT are created, each containing the total swap
VMAC71 rate for tha swap transition. This total is created by
summing all eleven swap reason codes for a particular
swap transition. Insert after line 742, these lines: ,
SWAP =SUM(SWAPAS, SWAPDW, SWAPEX, SWAPNQ, SWAPNS, SWAPRS,
SWAPTI, SWAPTO, SWAPUS, SWAPVR, SWAPWT);
EXTAUX=SUM(EXTAUXAS,EXTAUXDW,EXTAUXEX,EXTAUXNQ,EXTAUXNS,EXTAUXRS,
EXTAUXTI,EXTAUXTO,EXTAUXUS,EXTAUXVR,EXTAUXWT);
LOGAUX=SUM(LOGAUXAS,LOGAUXDW,LOGAUXEX,LOGAUXNQ,LOGAUXNS,LOGAUXRS,
LOGAUXTI,LOGAUXTO,LOGAUXUS,LOGAUXVR,LOGAUXWT);
LOGEXT=SUM(LOGEXTAS,LOGEXTDW,LOGEXTEX,LOGEXTNQ,LOGEXTNS,LOGEXTRS,
LOGEXTTI,LOGEXTTO,LOGEXTUS,LOGEXTVR,LOGEXTWT);
PHYAUX=SUM(PHYAUXAS,PHYAUXDW,PHYAUXEX,PHYAUXNQ,PHYAUXNS,PHYAUXRS,
PHYAUXTI,PHYAUXTO,PHYAUXUS,PHYAUXVR,PHYAUXWT);
PHYEXT=SUM(PHYEXTAS,PHYEXTDW,PHYEXTEX,PHYEXTNQ,PHYEXTNS,PHYEXTRS,
PHYEXTTI,PHYEXTTO,PHYEXTUS,PHYEXTVR,PHYEXTWT);
MXG Version 5 goes further and sets all seventy two of
swap rate variables to missing if there are no swap
transitions for that swap reason code. This will cause
PROC PRINTs and MEANS to highlight only the transition
and reason codes which actually occurred.
Change 05.25 Variables VECTORON and VECONSAM were replaced with
Jan 14, 1987 VFON0 thru VFON3 and VFAFFTM0 thru VFAFFTM3 to track
VMAC7072 Vector Facility Online and Affinity by processor.
Change 05.24 Variable ABNDRSNC (abend reason code) was added to
Jan 7, 1987 TYPE30_4 and TYPE30_5 KEEPs, and new lines inserted
VMAC30 after lines 147, 326, and 487:
Source statement Line number
ABNDRSNC='ABEND*REASON*CODE' 145.1
ABNDRSNC $HEX8. 323.1
IF LENCOMP GE 8 THEN INPUT ABNDRSNC $CHAR8. @; 483.1
Change 05.23 Class 1 record with LENDATA=0 causes STOPOVER ABEND
Jan 7, 1987 because $VARYING is not smart enough to handle zero.
VMACVMON Lines 2087-2088 should be changed to:
Source statement Line number
INPUT @19 LENDATA PIB1. @; /*MN10YCNT*/ 2087
IF LENDATA GE 1 THEN 2087.1
INPUT @20 DATALINE $VARYING128. LENDATA /*MN10YI0*/ 2088
Thanks to Bill Cohen, Drexel Burnham, USA.
Change 05.22 OBJVALUE was ten times too large. Line 288 should be
Jan 7, 1987 OBJVALUE PIB4.1 instead of PIB4.
VMAC39
Change 05.21 The 3480 data fields were never read in, due to wrong
Jan 4, 1987 test value in line 68. New variables DEVICE and OPEN
Jan 26, 1987 are added. TAPUNSER was incorrectly decoded as numeric
ANALESV but is actually a character string in hex format. To
VMAC21 avoid conflict, new character variable TAPCUSER now
replaces TAPUNSER. For 3480s TAPCUSER contains the
last four digits of control unit serial number and the
single hex digit of the actual drive within that CU on
which the tape volume being dismounted was created.
For 3420s it contains the creation tape drive serial.
UCBTYPEs length is increased to 5 to avoid truncation.
Member ANALESV was also modified to print 3480 values;
those report changes are not given here.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
The following change to VMAC21 is only needed if you are interested
in analyzing 3480 tape errors. It will be automatically installed in
MXG Version 5, as are the changes to ANALESV.
The change alters four existing lines and inserts twelve new lines.
The line numbers of the changes/inserts are shown below. Inserts have
a period after the line number they are to be inserted after. Changed
lines have no period.
Source statement Line number
DCBOFLG DENSITY DEVICE DEVNR 0007
OPEN 0010.1
TAPCUSER TEMP.... (rest unchanged) 0013
DEVICE ='DEVICE*TYPE ' 0027.1
OPEN ='TYPE*OF*OPEN ' 0032.1
LENGTH DEFAULT=4 UCBTYPE 5 SMFTIME 8; 0048
TAPCUSER $HEX6. 0051.1
@27+OFFSMF DEVCLASS PIB1. 0055.1
@28+OFFSMF DEVTYPE PIB1. 0055.2
%%INCLUDE SOURCLIB(VMACUCB); 0067.1
IF LENGTH GE 58 THEN DO; 0068
@44+OFFSMF TAPCUSER $CHAR3. 0070
IF DCBOFLG='0.......'B THEN OPEN='INPUT '; 0076.1
ELSE IF DCBOFLG='1.......'B THEN OPEN='OUTPUT '; 0076.2
BYTEREAD=4096*BYTEREAD; 0076.3
BYTEWRIT=4096*BYTEWRIT; 0076.4
END; 0076.5
Original lines 86-87 MOVEed to new lines 76.3 and 76.4
Change 05.20 The "Total Recorded CICS CPU Time", created only in
Dec 23, 1986 MXG reports in ANALCICS, is incorrect. As described in
Jan 26, 1987 the MXG supplement, the total CPU time recorded in the
ANALCICS CICSYSTM data set should have been(line 88):
CPUTOTTM = SUM(CPUSRBTM,CPUTCBTM);
NOTE: This only affects ANALCICS reports, not the MXG
CICSYSTM data set. See Chapter 21 in MXG Supplement.
Thanks to Beth Asbury, Prudential Home Mortgage, USA.
Change 05.19 PVTBOT, PVTTOP, and REGREQST were converted to bytes
Dec 23, 1986 (their value was multiplied by 1024), and they are now
VMAC30 converted by MXG format MG078CV., which prints bytes
as K or M, depending on magnitude. This was done to
See also make PVTBOT, PVTTOP and REQREQST consistent with the
Change 6.13 other virtual storage measures in TYPE30 data sets,
LSQSZHI/LOW, PVTSZHI/LOW and USRSZHI/LOW.
Thanks to Norbert Riehout, Great Western, USA.
Change 05.18 DL/I Counter decoding was added for CICS 1.7. The same
Dec 23, 1986 four clocks and nine counters are decoded, but their
IMACICDL order in 1.7 is reversed from 1.6: the four clocks are
first, followed by the nine DLI counters, Also, the
four PIB2. count variables for the four clocks must be
changed to PIB4. Finally, the test for length of data
must be changed from 60 to 68. Copy the 1.6 decode to
the 1.7 logic area in IMACICDL and make these changes.
Thanks to Thomas Victor, Kaiser Data Center, USA.
Change 05.17 These new members provided by Gothaer Vershicherung in
Dec 15, 1986 1.TYPECACH member supports the 3880 Cache DASD RMF
TYPECACH Reporter FDP SMF records in two datasets for the model
VMACACHE 11/21 and 13/23 cache.
VMAC60 2.Member VMAC60 has been updated to decode the VSAM VVR
VMAC60 fields, although none of these variables are labeled
SYSLOGJ3 and some will need MXG formats.
UTILSPAC 3.SYSLOGJ3 processes the JES3 SYSLOG. Worth reading.
4.UTILSPAC collects DASD size (space) info from CVAF
VTOC's.
Change 05.16 Decode of MONIFLG2 is incorrect. Replace lines 428-430
Nov 24, 1986 with:
TYPEMONI '...1....' THEN MONIATI='Y';/*ATI*TASK*/
'....1...' THEN MONSWAIT='Y';/*VSAM*STRING*WAIT*/
'.....1..' THEN MONBWAIT='Y';/*VSAM SHARED*BUFFER*WAIT*/
Change MONDMONI to MONIATI in line 45, and replace 121
(MONDMONI label) with MONIATI='ATI*TASK'
Change 05.15 Replace lines 101-105 (HS,MS,SS,TS input) with:
Nov 24, 1986 STARTIME PIB4.2
TYPEDISO and remove line 126 (STARTIME=HMS...)
Change 05.14 Additional test to prevent STOPOVER abend with 1.6.1.
Nov 24, 1986 Add to present criteria for VMAC110.1 error message:
VMAC110 OR (CONNBYTE+TEMPBYTE GT TEMPLEN AND MCTSSDID NE 0)
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.13 Concatenated multiple VM Monitor files caused negative
Nov 24, 1986 CPU values at beginning of each group of monitor data.
VMACVMON To reset INTRVCNT when new BEGIN monitor (CL 0 CD 97)
record is encountered, insert new line:
ELSE INTRVCNT=0; 281.1
after line 281.(Change was revised Feb 16, 1987.)
Thanks to Tim O'Rourke, Bankers Trust NYC, USA.
Change 05.12 IRC Wait time in CICS 1.7 is located after SUSPNDCN.
VMAC110 a. Change line 678: WTIRIOCN PIB2. to WTIRIOCN PIB4.
Dec 15, 1986 b. Move lines 676 thru 679 (IF _PP43887 THEN thru @;)
immediately after line 688.
c. The actual CICS 1.7 APARS which add WTIRIOTM/CN are
APARs PP51612 and PP56560. To enable MXG for these
PTFs, however, you must enable the macro named
_PP43887 (the CICS 1.6 number) in IMACPTF.
d. UTILCICS will not detect the existence of the IRC
data fields. However, if IRIOWTT appears under the
column heading of CMODNAME on the dictionary print
from UTILCICS, then that CICS 1.7 APPLID must have
_PP43887 enabled in IMACPTF. UTILCICS will be
modified to check CICSDI17 to report this PTF.
Thanks to John Loo, Fluor, USA.
Thanks to Joe Faska, Chemical Bank, USA.
Change 05.11 MXG did not correctly initialize all variables. Under
Oct 31, 1986 some circumstances, character flags (eg, VARY, ONLINE)
VMAC73 could be erroneously carried to subsequent devices.
VMAC74
VMAC78
Thanks to Paul Larson, Marine Bank Services, USA.
Change 05.10 A bad CICS 1.6 data block could cause strange errors.
Oct 31, 1986 Further testing added to delete bad CICS blocks.
UTILCICS
Thanks to Kirby Hindin, Allnet Communication Services, USA.
Change 05.9 Would not read VSAM SMF records correct. +OFFSET was
Oct 31, 1986 missing in lines 303,314, and 334.
VMAC1415
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.8 Full duplex line utilization could exceed 100%, due to
Oct 22, 1986 CHRSPEED being the MAX of SEND or RECEIVE line speed.
VMAC38 HDX line has only SEND or RECEIVE non-zero.
To fix, change the CHRSPEED=MAX() to CHRSPEED=SUM().
Change LSPEED=MAX() to LSPEED=SUM().
Thanks to Marcia Geyer, City of New York FISA, USA.
Change 05.7 Syntax error due to line dropped after line 3200.
Oct 22, 1986 SET TYPE0; added following DATA statement.
ANALVARY
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.6 PDB.JOBS observation built from job which had no job
Oct 22, 1986 termination record (happens if SPINCNT=0) caused minor
ANALMPL anomaly in program. Now, INBITS tested for job term.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.5 If ANALDSET was used with the PDB.STEPS data (rather
Oct 22, 1986 than using the SMF file and TYPE30_4 as step input),
ANALDSET a syntax error occurred due to a misplaced semicolon.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 05.4 Variables TAPE3420 and TAPE3480 are now created and
Oct 22, 1986 count the number of 3420 and 3480 tape devices which
VMAC30 were allocated by each step. TAPEDRVS is still the
VMAC434 total number of tape drives allocated and is the sum
VMACEXC2 of TAPE3420 plus TAPE3480. ANALTAPE modified to report
ANALTAPE on total drives as well as 3420 and 3480 drives.Also,
a better estimate of drives waiting alocation is made.
a. Add TAPE3420 and TAPE3480 to _VAR30 macro KEEP= for
TYPE30_4, TYPE30_5, and TYPE30_V data sets.
b. In VMACEXC2, replace line 166:
IF TEMPNEW THEN TAPEDRVS=SUM(TAPEDRVS,1);
with these five lines:
IF TEMPNEW THEN DO;
TAPEDRVS=SUM(TAPEDRVS,1);
IF DEVTYPE = 80X THEN TAPE3480=SUM(TAPE3480,1);
ELSE TAPE3420=SUM(TAPE3420,1);
END;
Thanks to Martha Hall, Metropolitan Life, USA.
Thanks to Ken Dice, Community Mutual Insurance, USA.
for ANALTAPE ideas.
Change 05.3 Variable RSPTMEDF, the RTM "Response Time Definition"
Oct 21, 1986 was undocumented and originally read in a PIB1. field.
VMAC39 It turns out that it is a Character byte, containing
FORMATS F - First Character Received, K - Unlock Keyboard, or
C - Change of Direction and thus describes which of
these definitions is being used in this 3274 RTM.
RSPTMEDF was change to $CHAR1. with new MXG format
$MG039DF supplied to decode the one-byte characters.
Thanks to Jim Yoney, Allegheny Power, USA.
Change 05.2 TSO/MON Command counts were incorrect in MXG, because
Oct 21, 1986 MXG counted all entries in the FCB "Full Command"
VMACTSOM segments as commands. Actually, the FCBs contain Full
Commands, Dialog Manager Programs, Dialog Manager
Panels (and in TSO/MON Version 5, CLIST executions
will also be counted in FCB segments). Only Full
Commands and Dialog Manager Programs should be counted
as commands, and TSO/MON has already stuffed the count
of these two in a CCB bucket with comand type of null
(i.e., hex 00). Remove line 3910:
NRTRANS=NRTRANS+NRTIMES inside DO _I_=1 to NRFCBS
to correctly count commands as TSO/MON does.
Thanks to Chris Moyle, SCP- working for MOBIL, AUSTRALIA.
Change 05.1 IBM re-numbered CPUID in the 3090-400. Instead of 0-3
Oct 21, 1986 they are 1-4. With this change, the CPU 4 individual
VMAC7072 measures will be stored in CPU0 variable names on the
3090-400.
CHANGE both occurrences of
IF CPUID=0 THEN
to read
IF CPUID=0 OR CPUID=4 THEN
This change was enhanced with Change 5.33.
Thanks to Lucy Fukishima, State of California Health & Welfare, USA.
LASTCHANGE: Version 5
=========================member=CHANGE04================================
/* COPYRIGHT (C) 1986 BY MERRILL CONSULTANTS DALLAS TEXAS */
MXG Software Status as of September 26, 1986.
This is the production release of MXG VERSION 4.4
Major enhancements in Version 4 are listed below. Read this
entire member to determine its impact. New changes have been
added, and some Change descriptions have been reworded since part
of these new changes were printed in MXG NEWSLETTER EIGHT in May.
Major items in Version 4:
1.New member INSTALL contains installation instructions for MXG
under either MVS or CMS versions of SAS. The MXG Exit Facility
is also documented therein. This member MUST be read to ensure
MXG installs without error.
2.VM Monitor processing to create VMONaaaa data sets directly with
SAS with VM MAP variable names. See change 4.85, below.
3.Support for RMF 3.4 and MVS 2.1.7 and Vector Processor data
introduced with 3090 processors. SMF manual TNL's thru GN28-1061
are included in MXG Version 4. New TYPE78CU and TYPE78IO data
sets and new data in TYPE78CF result from 3090 I/O architecture
4.IMSLOG CODE enhancement (TYPEIMS) puts log trace records together
for IMS transaction response and resource measurement.
5.CICS 1.6.1 and CICS 1.7 are now supported in VMAC110 code. New
program UTILCICS may have to be run to determine which of the
impacting PTFs are installed so that you can update IMACPTF.
6.Support for Landmark's The Monitor for CICS records, including a
INFILE exit to process compressed format data. See Change 4.94.
7.Support for Cullinet's IDMS Performance Monitor records.
8 ASM source for an exit to IDMS which will write SMF records that
contain IDMS log data, and SAS code to process those MXG-created
IDMS-LOG-SMF records. SAS code to process the IDMS DCLOG directly.
9.Support for DOS POWER Version 2 account records. Impacting change
in V2 to DOSJOBS data, and five new DOS data sets now exits.
10.Support for DISOSS Version 3 Release 3 account records.
10.New member IMACPTF. Presently used only for CICS 1.6 records, this
new maintenance feature allows MXG code to be enabled to support
those (dumb) PTFs which ambiguously change data format.
11.DB2 processing revised to capture all data segments in Release 2.
12.Revised ANALTAPE routine now with accurate counts.
13.MODEL204 accounting information now defaults ON (EXM24ACT).
14.NODUP option implemented in BUILDPDB/3 to remove duplicate SMF
input data from PDB data sets. (Full implementation for all data
sets requires SAS Version 5.15. See Change 4.38-39).
15.Too much more to list here. Read all of these changes! MXG now
creates 168 MXG SAS Data Sets (Version 1 had 78) with its 466
source library members (Version 1 had 189) processing data from
24 products for MVS, VM and DOS data centers.
/* COPYRIGHT (C) 1986 BY MERRILL CONSULTANTS DALLAS TEXAS */
What was not quite finished when development was frozen for 4.4?
1. CMS still has some known data errors in some fields. As far as
we know, all discrepancies are documented in the comments at
the beginning of VMACVMON. There is very little CMS reporting,
and essentially no guidance as to which variables in which data
sets are important. We have only validated the PERFORM, USER,
and DASTAP classes, though others are coded, they may not work
(yet). A very small number of users have tested non-HPO systems
and UP systems - our primary validation was 03.34.0314 HPO 3.4
on an MP. None of the planned EXECs for testing were completed
yet. Because of the newness of MXG support for VM Monitor data,
users should validate the data carefully, and share with us any
discrepancies. We will send MXG NEWSLETTERS if necessary to
communicate major CMS enhancements/discoveries over the next few
months. Because the vast majority of the data is valid, we felt
you would prefer to have this now rather than later. Please help
us with your comments and expertise.
2. Documentation! MXG Version 4 will be eventually enhanced by the
printed MXG SUPPLEMENT (a 3-ring document bound like manuals
for IBM-PCs). The SUPPLEMENT will be indexed to the same chapters
as the MXG BOOK, and will provide new sections of Chapter FORTY
for new and updated MXG data sets, as well as updates to other
chapters from all past MXG newsletters. A significant poriton of
the MXG SUPPLEMENT will deal specifically with the analysis of
VM Monitor data.
Merrill Consultants will automatically send one copy of the MXG
SUPPLEMENT to all supported customers when it is completed, and
future MXG Newsletters will be sized to fit therein.
When completed, additional copies of the MXG SUPPLEMENT will be
available for purchase (at a mere pittance) from the Publications
Department of SAS Institute. Please don't hassle SAS about the
publication date - they are not the hold up. Call us in Dallas
if you must, but don't expect it before year end. (Which year?)
COMPATIBILITY EXPOSURES BETWEEN MXG VERSIONS 3 and 4:
1. EXTY72 and EXTY74 exit members were changed. If they exist in your
USERID.SOURCLIB, your changes will override MXG changes. Thus only if
you have these members in your USERID. library, must you re-fit your
exit code. (The change externalized control of observations which had
previously buried inline in the MXG VMAC7072 member).
2. TYPE72 data set may contain more observations with Version 4.
Previous versions only output if performance group received SERVICE,
but RPGNs can be defined to only count transactions; MXG missed those.
Version 4 now outputs TYPE72 observations if either SERVICE or TRANS
are non-zero. This logic is now in EXTY72, if you wish to override.
3. Version 3 and RMF 3.3 cause the first TYPE70 observation from each
day's processing to have a missing value for the variable SU_SEC. This
is because that value is now in the type 72 record (at long last) for
RMF 3.3+, but the type 70 record (from which we used to have to get
the number by table look up) always precedes its type 72. Should only
affect report programs which depend on non-missing SU_SEC in every
observation of TYPE70. You'll have to get SU_SEC from TYPE72 in the
future, since that's where it should have been all along.
4. ROSCOE users must note Change 4.76.
Please call if you experience any difficulties or problems. Barry
This member describes the changes made to the MXG Software since
Version 3 was shipped. Changes to variables and data sets between
Versions 3 and 4 are documented in member DOCVER04. The total list
of the contents of all data sets, new and old, created now by MXG
Version 4 is in member DOCVER. VMON data sets in DOCVER with numeric
suffixes are not finalized, and may change in name and contents.
Always look for additional documentation in comments at the beginning
of each member. Note that the members affected by each change, below,
are listed under the date of change. Read those members too.
Additional documentation is available in past and future issues of
the MXG Newsletter, sent by Merrill Consultants to their Supported
Customers. Newsletter EIGHT was published May 31, 1986.
Note these SAS Zaps which you may need to install:
Z5152456 - 0C4, 30A when over 20 variables on PLOT statement
Z5152254 - Protected data set errors after PROC DATASETS
Z5162525 - ABEND 999 with ERRORABEND when no variables in data
set for PROC CHART, PLOT, GPLOT and maybe others.
The following pages provide the sequential log of changes which have
been installed already in this MXG library. The most recent changes
are listed first.
NEXTCHANGE: Version 4
=====Changes thru 4.111 as of September 26, 1986======================
Change 04.111 A new IBM error in CICS CMF records has been uncovered
Sep 26, 1986 and circumvented. Problem only occurs after other PTFs
VMAC110 (PP43887 and/or AP40463) are installed. MCTSSDRL (the
data record length) is 2-8 bytes shorter than the real
data to be created. IBM truncates the data segment to
the (incorrect) length specified by MCTSSDRL. An APAR
will be issued next week. MXG circumvents by comparing
the expected length (EXPLEN, from IMACPTF status) with
MCTSSDRL. However, two fields SECOUCHR and PROGSTOR
are overlaid by next segment, and will be missing in
CICSTRAN data set when error is circumvented. Another
error, hit when over 100 bytes of user data is added
was found in MXG and was fixed.
Thanks to Thom Conley, Gold Circle Stores, USA.
Thanks to Kirby Kern, Commercial Federal Omaha, USA.
Change 04.110 SAS 5.15 ABENDs with 0C4 or 30-A when more than 20
Sep 24, 1986 variables are specified on a PLOT statement. While SAS
ANALDALY zap Z5152456 fixes the problem, the offending PLOT
statements were split in MXG to circumvent problem.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Thanks to Drew Pierson, PRC, USA.
Change 04.109 The JES 3 Accounting information in the type 26 purge
Sep 24, 1986 record was not handled correctly, occasionally causing
VMAC26J3 a STOPOVER ABEND. Now, ACCOUNT1 is parsed directly
from the 42-character field. The STOPOVER dump Dave
sent showed an undocumented field, OUTDEVCE, has been
added to the Print section added with MVS 2.1.7.
Thanks to Dave Harrison, Celenese, USA.
Change 04.108 VM Monitor validation completed for MXG Ver 4.4. See
Sep 21, 1986 details in member VMACVMON. Almost all variables are
VMACVMON exact when compared with detail VM MAP listing with
TYPEVMON VM 3.4 HPO. Test sites have validated with non-HPO
ANALVMON VM Version 4. HPO 4.2 has been coded, but the new
variables have not been verified. Highly usable, but
this gem is only faceted - polish will come in next
Version of MXG.
Change 04.107 ESP site input has further validated and enhanced the
Sep 21, 1986 IMS Log processing. Code now conforms to MXG Exit
TYPEIMS structure. RESPONSE time & components (when possible)
are calculated. John enhanced the data kept and also
captured local data from the RACF segments.
Thanks to John Loo, Fluor Corporation, USA.
Change 04.106 More IBM CICS errors. With PP43887 on CICS 1.6.1, the
Sep 19, 1986 record length MCTSSDRL is not always correct in the
VMAC110 CMF type 110 record. Problem at IBM Level 2. Has
caused specious 'missing TASKNR message'.
Transaction JC.. sometimes has nulls for TASKNR which
caused "missing TASKNR" message. Fix by message only
IF TASKNR=. AND TRANNAME NE 'JC..' THEN DO;
Thanks to Tom Koelle, Citicorp Information Systems Research, USA.
Thanks to Joe Faska, Chemical Bank, USA.
Thanks to Bill Cohen, Drexel, Burnaham and Lambert, USA.
Change 04.105 Validation of MXG DB2 data with DB2PRT caused fixes.
Sep 17, 1986 QTMAXDS=DIF(QTMAXDS) was deleted. MXG finds non-zero
ANALDB2 for QBnCRIO fields, which are zero on DB2PRT report.
QBnTCBA (n=1 to 4) disagree with DB2PRT at one site,.
but seem ok at another. Validate and call if you can.
SYSTEM added to SORT for DB2STAT1 and DB2STAT2 since
DB2 subsystem id (QWHSSSID) is not unique for SORT.
Thanks to Martha Hall, Metropolitan Life Insurance, USA.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 04.104 VM Monitor cleanups
Sep 19, 1986 Non-HPO system: MN003CIE thru CSE do not exist. Fixed.
VMACVMON Used _HPO to test for class 0 code 3 to OUTPUT PERF &
VMONINST data sets after 0/03 record for non-HPO, but
OUTPUT them after class 0 code 4 for HPO systems.
Non-AP system does not write class 0 code 1 record.
Moved calculation of many variables to before OUTPUT.
Thanks to Wayne Kidd, SYNTEX, USA.
Change 04.103 MXG Lock manager data variables QTXA.... in DB2ACCT
Sep 16, 1986 have never been valid due to an MXG coding error. The
VMACDB2 QTXA.... variables in DB2STAT1 have been valid, tho
the IBM documentation is misleading. Now, QTXANPL
no longer exists in DB2STAT1 (it is only in ACCT) and
pointers to the six QTXA.... variables in DB2ACCT are
now read in from the correct offset. This fix was not
on 4.3 BETA tape.
Thanks to Sam Catalo, IBM Level 2, USA.
-----Changes thru 4.102 as of September 12, 1986 was the 4.3 BETA-----
Change 04.102 DISOSS Version 3 Release 3 Accounting record is now
Sep 12, 1986 supported. It provides more data than the perceeding
TYPEDISO record. See comments in TYPEDISO and DOCVER03.
FORMATS
Change 04.101 Turnaround example code now calculates in minutes to
Sep 8, 1986 be consistent with example in the book, and report
ANALTURN title identifies units.
Change 04.100 Cleanup of DATABASE data set built from TYPE1415 and
Sep 8, 1986 step records. Unreferenced variables from step record
ANALDSET are now deleted, saving space and avoiding confusion.
Thanks to Eustace Fernandez, Bow Valley Industries, CANADA.
Change 04.99 Support for IDMS log data and exit code to create SMF
Sep 21, 1986 records from IDMS log data. This is in addition to the
IDMSEXIT IDMS Performance Monitor SMF record supported by MXG
IDMSLOG Change 4.61. All documentation is in member IDMSEXIT,
IMACIDMS which contains the ASM source for an IDMS exit which
will create four SMF records with IDMS log-type data
VMAC200-203 without reading the IDMS DCLOG. Members TYPE200-3 will
TYPE200-203 create labeled MXG data sets from these MXG IDMS SMF
EXTY200-203 records. Member IDMSLOG will read the DCLOG itself,
but variables are not labelled (yet). Member IMACIDMS
defines the actual MXG IDMS SMF record IDs. There are
additional reports in IDMS.... members.
Thanks to Peter Bailey, Software Product Services, Woking, ENGLAND.
Change 04.98 Support for DOS POWER Version 2 coded, which contains
Sep 12, 1986 impacting changes in data format (DOSJOBS especially).
TYPEDOS Five new data sets are now created by MXG from V2:
FORMATS DOSBEGIN (startup statistics), DOSNET (network stats)
EXDOSBEG DOSPOOL (spool accounting), DOSXPCC (connection), and
EXDOSNET DOSXRC (transmit/receive spool). New member IMACDOSA
EXDOSPOL now defines DOSJOBS variable APLICATN; code had been
EXDOSXPC inline. Read comments at beginning of member TYPEDOS
IMACDOSA for all V2 documentation and DOS changes
Thanks to Paul Ehresmann, Compusource, USA.
Change 04.97 Several cleanup changes by 4.1 ESP user. TYPE75 data
Sep 6, 1986 not created if RMFINTRV run standalone. UTILCICS had
RMFINTRV missing semicolon in comments. Two CICSTRAN variables,
UTILCICS IWAITCN & IWAITTM were not in KEEP list (they exist
VMAC110 only if DLI counting is enabled in member IMACICDL).
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 04.96 Several 4.1 ESP changes. Inconsistency between JES2
Sep 6, 1986 and JES3 _NODUP macro corrected. OUTDEVCE & SYSTEM
BUILDPDB appended to TYPE6 bylist in NODUP SORT to avoid dupes
BUILDPD3 which had been encountered. Division by DURATM in type
VMAC74 74 protected for DURATM=0. CPUTM added to PDB.JOBS.
Thanks to Bill Cohen, Drexel Burnham, USA.
Thanks to M. Morris, Northern VA Highway Department, USA.
Change 04.95 TYPE 59 changes for NJE BDT in TNL GN28-1122 to SMF
Sep 6, 1986 manual were coded. I have never had type 59 records
VMAC59 to test, and no site has ever validated this code.
Change 04.94 The MONITOR FOR CICS from Landmark is now validated
Sep 6, 1986 and will now process compressed data, if the INFILE
EXITMONI exit TMON (JCL + SOURCE are in EXITMONI) is installed.
IMACMONI IMACMONI defaults to uncompressed format only. Once
TYPEMONI TMON is installed, either format is supported.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
(I can see why - they know he's so valuable you'll try to steal him).
Change 04.93 Test for CICTRANV at location 50 applied to CICS 1.6.1
Sep 5, 1986 without PP43887. Test should be at 51 with that PTF.
VMAC110 MXG was updated to test for PTF and then test at 50 or
51 as appropriate.
Thanks to Glen Wall, Databank, NEW ZEALAND.
Change 04.92 Calculation of some CPU variables was not perfect when
Sep 5, 1986 a 3084 was split into two 3081's. Only if the CPU was
VMAC7072 online during the entire interval will the CPU and its
contribution to wait be counted. If a processor is
offline at any time during the interval, it will not
be counted in NRCPUS and its wait will not be added to
CPUWAITM. Now, the CPUWAITn variable for that CPU will
contain the actual wait for that CPU (before this
change, it's CPUWAITM was set equal to DURATM).
Thanks to Andy Yu, B.C. Systems-Hi Tech Systems, CANADA.
Change 04.91 Substantial changes in DB2 data. MXG did not correctly
Sep 4, 1986 capture all of the DB2 data segments. See description
VMACDB2 in comments in VMACDB2.
ANALDB2
Thanks to Martha Hall, Metropolitan Life, USA.
Change 04.90 Type 40 (dynamic allocation) record did not include
Sep 4, 1986 +OFFSMF in line 67, causing error if VSAM SMF file
VMAC40 was read by MXG. Minimal impact, as 40 data is in 30
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
=====Changes thru 4.89 were ALPHA Version 4.2=========================
Change 04.89 Support for the ROSCOE Response Time Monitor records
Aug 4, 1986 (new in ROSCOE Release 5.4). Reports are provided,
TYPEROSC and Chuck Hopf's paper (in DOCRRTM) discusses the
VMACROSC good and the not so good of this response data. This
JCLROSC code is preliminary; variables are 8 rather than the
DOCROSC 4 bytes they will be, etc. The reports match okay.
Change 04.88 New routine analyzes SMF operator records 8,thru 11 to
Aug 4, 1986 detect when operators have varied tape drives online
ANALVARY simultaneously to multiple systems.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 04.87 SAS/GRAPH reports using RMFINTRV data were revised to
Aug 4, 1986 use SAS Version 5 Graphics catalogs. CLSTRPLY allows
GRAFRMFI TSO users to REPLAY these graphs.
CLSTRPLY
Change 04.86 Quotes were missing around the test value for CPUVERSN
Aug 4, 1986 in the example.
IMACPUXA
Thanks to Huddie Dean, Chilton Corp Dallas, USA.
Change 04.85 VM Monitor Support is now credible. The PERFORM, USER,
Aug 4, 1986 and DASTAP records are almost complete, and the VM MAP
TYPEVMON reports have been mostly validated. Read all of the
notes and comments in VMACVMON. More reports still
remain, and some important variables are not yet
deduced by MXG (help IS solicited), but tests under
VM HPO 3.4 look good. No HPO 4.2 data has been tested,
but I think the code will work for VM Release 3 and 4,
with or without HPO.
Thanks to Allan Russell, SAS Institute Europe, GERMANY.
Thanks to Daniel Delorge, SAS Institute, FRANCE.
Change 04.84 Validation of THE MONITOR FOR CICS (Landmark Corp's
Aug 3, 1986 product) data uncovered a few errors which are fixed.
TYPEMONI Most of the variables are already documented in MXG
Book Chapter 40 (CICSTRAN and CICSYSTM sections), but
also note that THE MONITOR only provides the elapsed
(attach to detach) response time; the IRESP (internal
response, ELAPSED-WTTCIOTM, which excludes the user
think and typing time) is not captured by THE MONITOR.
This change affected many lines to the MXG 4.1 code.
Thanks to Neil Ervin, Borg Warner Chemicals, USA.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 04.83 Some type 80s do not have the RACFTYPE and RACFDATA
Jul 17, 1986 segment, which was required for OUTPUT. This fix adds
VMAC80 %%INCLUDE SOURCLIB(EXTY8) to handle these cases.
Thanks to Tom Wiebe, NERCO, USA.
Change 04.82 INPUT statement did not include +OFFSMF offset to read
Jul 11, 1986 VSAM SMF data correctly. Normal SMF data was handled
VMAC8911 okay.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 04.81 VMONCU data was incorrectly documented by IBM. An obs
Jul 10, 1986 will be created only if the device actually had busy
VMACVMON measured from CPU or from APU.
Thanks to Terry Magill, NAS, USA.
Change 04.80 CICSTRAN IRESPTM (Internal response) was non-zero even
Jun 30, 1986 if ERRFLAG was on, because it was carried from prior
VMAC110 transaction, because it was not initialized to missing
before each calculation.
Thanks to Evangeline Jacobs, Stearns Catalytic, USA.
Thanks to James Tummins, Stearns Catalytic, USA.
Change 04.79 GDGATTR changed to PIB1., HEX2. from character, as
Jun 22, 1986 it conflicted with VMAC6367. (Not caught by UTILXREF
VMAC6156 because neither variable is actually KEPT, and only
caused problem if 6156 and 6367 simultaneously built.)
Thanks to Malcolm Morgan, Wachovia Bank, USA.
Thanks to Norbert Riehout, Great Western, USA.
-----Changes thru 4.78 were in Pre-Release of Version 4.1.
Change 04.78 Correction to Change 4.55 for RACF 1.7. The OFFSET
Jun 9, 1986 equations added by 4.55 was restored to the original:
VMAC80 OFFSET=OFFSET+1+OFFSMF;
Type 80s from TOPSECRET need OFFSET=OFFSET-3+OFFSMF,
still under investigation with that vendor.
Thanks to Tom Weibe, NERCO, USA.
Change 04.77 CICS Transaction variable TRMCHRCN, total characters
Jun 9, 1986 in and out, was not created for CICS 1.7. (It was an
VMAC110 INPUTed variable in 1.6).
Thanks to Barbara Watters, EXXON Houston, USA.
-----Changes thru 4.76 completed May 31, 1986 Release of Version 4.1.
Change 04.76 Variable CPUTM in the ROSCO... data sets was renamed
May 31, 1986 to CPUTCBTM to be consistent with its meaning. Note
VMACROSC that CPUTM was removed, which may cause your ROSCO...
report programs (other than ANALROSC, which we fixed
to use CPUTCBTM) to fail. (We had to correct this one,
because the ROSCO label for CPUTM could override the
correct TYPE30 label.) Sorry I didn't catch this one
when I validated the original ROSCOE code.
Change 04.75 Queueing percentages are now correct. EVENTS should
May 31, 1986 have been the divident instead of NRSAMPLES.
VMAC77
Change 04.74 Conflicts in LABELs for variables with the same name
May 31, 1986 in different MXG data sets were resolved. Changes in
DOC LABEL were to clarify and be consistent, but should
not really be noticed; PHYSICAL*BLOCK SIZE*(BYTES)
replaced BLOCK*SIZE, for example.
Change 04.73 Change 4.65 was redesigned, and its description below
May 31, 1986 was changed after printing of MXG Newsletter EIGHT.
VMAC110
Change 04.72 VM Account Card data set VMVCNA was all wrong (though
May 29, 1986 it didn't raise an error) due to IBM format changes we
TYPEVM overlooked.
Thanks to Jonathan Aliber, Fidelity Systems, USA.
Change 04.71 Test for blank SYSEXEC to delete non-execution purge
May 28, 1986 records was expanded to also test for nulls (hex 0) as
BUILDPDB NJE purge records are null, whereas JES are blank.
Thanks to Al Loyd, DOD, Ft. Meade, Md, USA.
Change 04.70 AVGRSPTM (average response time) variable added to the
May 28, 1986 NLDM Type 39 data sets.
VMAC39
Change 04.69 You should know this already, if you read INSTALL like
May 27, 1986 you were supposed to (first). MXG EXIT Facility is now
INSTALL documented in member INSTALL (essentially as it will
be in Chapter 33 of the MXG Supplement). Additional
sections in INSTALL cross reference member to product
to MXG data set created to EXIT member names. Read it.
Change 04.68 Member TYPEDOS was restructured to extend the MXG EXIT
May 27, 1986 facility to DOS. See comments in TYPEDOS, and INSTALL.
TYPEDOS It should not impact present DOS data sets in any way,
EXDOS... unless you choose to enable it.
Thanks to Barry Lewis, CIA, USA.
Change 04.67 Standalone execution of RMFINTRV (by removal of the
May 27, 1986 comment block around the SMF processing) did not keep
RMFINTRV all of the RMF data sets which are kept when RMFINTRV
is invoked by BUILDPDB. Standalone RMFINTRV now agrees
Thanks to Barry Lewis, CIA, USA.
Change 04.66 JES3 clock differences between LOCAL and GLOBAL
May 27, 1986 processors can cause BUILDPD3 to not recognize that
BUILDPD3 the job is complete. _TIMEDIF macro is now defined
IMACTIME in IMACTIME to allow installations to specify a time
"fuzziness" for BUILDPD3 logic. Read IMACTIME.
Thanks to Barry Lewis, CIA, USA.
Change 04.65 Incorrect PTF information in IMACPTF can cause CICS
May 31, 1986 data sets to be built with no apparent error, but
VMAC110 containing invalid data (notably, TASKNR missing.)
This was because MXG used the ?? marker to supress
the dump of the record, the error message and _ERROR_
set by SAS for TASKNR. The ?? has been retained, but
an MXG ERROR MESSAGE now notifies you that the CMF
data format has been changes, and suggests you run
UTILCICS which will identify your PTF level by APPLID.
THE BAD OBSERVATIONS (TASKNR=.) ARE NOW DELETED FROM
CICSTRAN.
Thanks to Joe Faska, Chemical Bank, USA.
for lots of good input here.
Change 04.64 Minor changes during testing of 4.61 (IDMS-RTE)
May 19, 1986 Insert RT1DCDTW=DATEJUL(RT1DCDTW); Format 12.2 of
VMACRTE RT1DCTIT,TTT changed to 8., TST,TUT,TWT to 14.4;
IO is PAGES READ + PAGES WRITTEN; BST reports show
BATCH for Program Type when Type Task is Batch.
-----Changes thru 4.63 completed the first pre-release of Version 4.1.
Change 04.63 Support for The Monitor for CICS product of Landmark
May 13, 1986 Systems. Variable names were taken from existing MXG
TYPEMONI data sets CICSTRAN and CICSYSTM (book, page 398) when
FORMATS possible. The code has only been syntax checked; the
MONITOR data tape did not arrive. Two test sites will
validate before you read this; call before believing.
Change 04.62 Split into five steps and better documented. Version 4
May 13, 1986 broke the SAS limit of 32768 SYSIN cards (it is fixed
JCLTEST in SAS Version 5.15). JCLTEST MUST BE EXECUTED WITH A
TESTIBM NEW VERSION OF MXG. Self documenting. New naming code:
TESTUSER members used to test MXG will begin with TEST.
TESTOTHR Old MXG testing members TYPETEST,OTHRTEST,TYPEPRNT, &
OTHRPRNT are deleted in Version 4 to force the issue.
Change 04.61 Support for Cullinet's IDMS Performance Monitor SMF
May 12, 1986 record. Called RTE because it was born as the Run Time
TYPERTE Evaluator product of Business Software Technology. The
FORMATS SMF record type (their default 230) must be enabled in
EXTYRTE IMACRTE. The monitor provides task level resource data
IMACRTE
Thanks to Myles McCarthy, Fidelity Systems, USA.
Change 04.60 Support for RMF System Availability Management data
May 12, 1986 records. Three data sets SAMINFO, SAMTERM & SAMSKED
TYPESAM can be built from data captured by the new RMF/SAM
component introduced in RMF 3.4. SAMTERM & SAMSKED
are from installation data, SAMINFO is created from
RMF data sent to the SAM Info/MGT data base, extracted
with a SAM supplied utility. SAM detects system level
availability events (IPLs, WAITs, LOOPs), and step
terminations, but nothing at the subsystem level.
Change 04.59 Corrected calculation of OSWAITTM variable (which
May 12, 1986 had omitted multiply by 16). In the process, all
VMAC110 duration (TM) variables which had been created by
(PIB4., then /62500) are now instead created with
the equivalent (PIB4.6, then *16) for consistency.
Thanks to Barbara Watters, EXXON Houston, USA.
Change 04.58 Support for type 24 JES2 SPOOL OFFLOAD Program
May 12, 1986 Product. Separate information for jobs offloaded
VMAC24 and SYSOUT files offloaded from SPOOL.
FORMATS
Change 04.57 Support for additional segment (CTC) in type 50 SMF
May 12, 1986 VTAM Tuning Statistics record. The existing SNA VTAM
VMAC50 data is supplemented with new data for VTAM CTC use.
Change 04.56 Support for BDT (Bulk Data Transfer) type 59 SMF
May 10, 1986 record has been coded. It has not been validated by
VMAC59 actual data records. Call if you have verified it.
Change 04.55 Support for RACF 1.7 type 80 SMF record. Fields are
May 9, 1986 decoded with several new formats.
VMAC80
FORMATS
Change 04.54 Consolidation of the multiple LABEL, FORMAT, & LENGTH
May 8, 1986 statements to avoid redundant SAS statements. This
DOC has the added advantage that these MXG data sets
will now have all variables in alphabetic order.
VMAC7072 VMAC71 VMAC73 VMAC74 VMAC75 VMAC76 VMAC77
VMAC78 VMAC30
Change 04.53 New variables AVGPAGMS and AVGSWPMS are now created to
May 7, 1986 match RMF reports of same values.
VMAC75
Change 04.52 Final validation of RMF 3.4 data showed three wrong
May 6, 1986 values which are now corrected. EXTFRMON is PIB4.0,
VMAC71 not PIB4.1; MIGAGEAV is PIB4.1, not PIB4.0; and
PVTMVTOT is now a rate per second with correct label.
Change 04.51 New documentation shows the new measure of all path
May 6, 1986 busy should be PCTPTHBY=100*PCTPTHBY/NRCMPTSM;
VMAC78 Comparison of MXG PCTCUBSY (using RMF manual equation)
does not exactly match % CU BUSY field on RMF report;
usually close, sometimes MXG shows 26% while RMF only
has 17%. Checking with IBM, think we are right.
Thanks to Jan Van Lent, Fokker BV, Schiphol, THE NETHERLANDS.
Change 04.50 STARTIME in the TYPE38IN interval data set had the
May 6, 1986 prior day's date if the interval ended after midnight.
VMAC38 Subtract NPATM from SMFTIME inside DATEPART function.
Thanks to Roger Konydyk, Steelcase, USA.
Change 04.49 IMACPTF added. A new maintenance facility for MXG in
May 6, 1986 which MXG code to support certain IBM PTFs (Program
IMACPTF Temporary Fixes) is enabled. Currently used only by
VMAC110 to support CICS PTFs. Check here first if
you find a PTF which changes data; it may already be
supported in MXG, awaiting only your enablement here.
Change 04.48 CICS PTF PP43887 adds new field in middle of record.
May 6, 1986 For sites using CICS IRC (Inter Region Communication)
VMAC110 the new variables WTIRIOTM and WTIRIOCN give the total
time (and count of times) that this transaction waited
for IO from the other CICS IRC region. You must update
IMACPTF to enable _PP43887 when this PTF is installed.
With the PTF installed and not enabled in MXG, the
data in CICSTRAN variables will be wrong.
Thanks to Sheldon Auerbach, AmeriTrust Cleveland, USA.
Change 04.47 IMACKEEP (which contains your re-definitions of the
May 6, 1986 MXG _VAR.... macro which contains KEEP= list for all
BUILDPDB/3 MXG data sets) must be INCLUDEd after EXPDBINC.
Thanks to Malcolm Morgan, Wachovia Bank, USA.
Change 04.46 Line 73 assumed OFFSET was from beginning of QSAM
May 6, 1986 data, but it is from beginning of the BSAM record.
VMAC80 Change +1 to -3 (to account 4-byte RDW difference).
Thanks to Craig Feitzner, Citicorp, USA.
Change 04.45 Support for Database 2 Release 2 changes to type 100
Apr 22, 1986 and 101 SMF records.
VMACDB2 DB2STAT0: Q9STCTRC, QWSDCKPT, QWSDINV1-4
FORMATS DB2STAT1: QBSTIMW,"SEQ,"SPP,"SPD,"REE,"WEE,"DWT."DMC
QISECT,"CTL,"CTG,"DBD,"DBDG,"DBDL,"FREE,
"SKCT,"FAIL,"PAGE,
QXALABON
QTXALES,"LEN,"NPL
DB2ACCT : QWACAJST,"ARNA,"ARNE,"ASC,"ASRB,"AWTI,"AWTL
QXALABON
QTXALES,"LEN,"NPL
QBACSEQ
The new type 102 SMF record written by DB2 trace is not presently
decoded by MXG; when pushed by a user with data in hand, we will
investigate its complexity and eventually support it.
Change 04.44 Support for the NPDA type 37 SMF record.
Apr 21, 1986
TYPE37
VMAC37
FORMATS
Change 04.43 CMS Support, for the execution of MXG under CMS SAS.
Apr 8, 1986 Installation instructions are contained in this new
INSTALL member.
Change 04.42 VM Monitor data support. The VMONnnnn data sets which
Apr 8, 1986 can be created from VM monitor records are documented
TYPEVMON in INSTALL. All other documentation is in VMACVMON
VMACVMON comments. Note that you must have SAS Version 5.12
or later to read Monitor data from the virtual reader
(which needs MONITOR exit, new with 5.12).
Change 04.41 All PROC DELETE's were changed to PROC DATASETS NOLIST
Apr 8, 1986 because SAS no longer supports PROC DELETE.
DOC BUILDPDB/3 ANALDB2,DOS,ESV,ROSC
Change 04.40 The FWINDEX calculation for overflow DLI call counting
Apr 7, 1986 was incorrect; when overflow occurred (almost never,
VMACCIMS except for occasional big BMPs), overflow count was
added to wrong bucket.
Thanks to Ron Root, Sun Company Dallas, USA.
Change 04.39 Duplicate data removal (Change 4.38) was disabled due
Apr 7, 1986 to a SAS error in the NODUP option of PROC SORT when
BUILDPDB NODUP and KEEP= or DROP= were used. NODUP compared the
BUILDPD3 records (wrongly) using the output buffer length. With
KEEP or DROP, the output record is shorter than input,
causing SAS to falsely detect and delete non-duplicate
records. SAS HAS FIXED THE PROBLEM IN 5.15 AND LATER.
(See SAS usage note 2079 for 5.08 and earlier).
To enable duplicate data removal for all SORTS after
you install SAS 5.15, EDIT BUILDPDB/3 and change the
MACRO _NODUP % to MACRO _NODUP NODUP % as described
in comments.
This disabling of the NODUP option only affects the
job records (6, 26, and 30); the majority of the PROC
SORTs in BUILDPDB do not use KEEP= and thus NODUP is
enabled. When duplicate records are encountered by
the NODUP options, SAS tells you with a log NOTE.
Thanks to Dale Ingold, SAS Institute Cary, USA.
for quick response and repair.
Change 04.38 1. Duplicate data records in the input SMF file will now
Mar 26, 1986 be automatically deleted from the PDB files, and a
BUILDPDB SAS NOTE on the LOG will tell you that duplicate data
BUILDPD3 was found and deleted for each SAS data set.
Note that this will still only remove identical SMF
data in today's input SMF file. Re-processing data
today (which was previously processed) would not be
detectable by the NODUP options. This enhancement
provides most of the function which the non-existent
ANALDUPE member was intended to perform.
Removal of duplicate data is done by the addition of
the SAS NODUP option to the first SORT of the input
data sets, and by adding variables to the BY list to
force uniqueness for the NODUP option. Since the high
level BY variables in those SORTs were not changed,
your present reporting should not be impacted. You may
want to take advantage of the new sort order, since it
ususally will eliminate a sort in your reporting.
Because CICSTRAN data set is created direct from the
SMF data, there is no SORT in BUILDPDB/3 and there is
no automatic duplicate removal in BUILDPDB/3. In your
CICSTRAN report programs you normally must sort the
data anyhow. To remove dupes, simply add NODUP to the
PROC SORT and expand the BY list to include all the
variables in the CICSACCT By list, below.
The following list shows the original sort order with
a + to indicate where new sort variables were added.
Dataset BY Variables
CICSACCT APPLID+ TERMINAL OPERATOR USER TRANTYPE TRANNAME ENDTIME
CICSEXCE APPLID+ TERMINAL OPERATOR USER TRANTYPE TRANNAME ENDTIME
CICSYSTM APPLID STRTTIME+ ENDTIME
TYPE0 SYSTEM+ IPLTIME
TYPE21 SYSTEM+ SMFTIME DEVNR
TYPE70 SYSTEM STARTIME+ SMFTIME
TYPE71 SYSTEM STARTIME+ SMFTIME
TYPE72 SYSTEM STARTIME+ PERFGRP PERIOD SMFTIME
TYPE73 SYSTEM STARTIME+ CHPID SMFTIME
TYPE73P SYSTEM STARTIME+ CHAN SMFTIME
TYPE73L SYSTEM STARTIME+ LCHAN SMFTIME
TYPE74 SYSTEM STARTIME+ DEVNR SMFTIME
TYPE75 SYSTEM STARTIME+ DEVNR PAGEDSN SMFTIME
TYPE78 SYSTEM STARTIME+ LCUID SMFTIME
TYPE78CF SYSTEM STARTIME+ LCUID CHPID SMFTIME
TYPE78CU SYSTEM STARTIME+ LCUID SMFTIME
TYPE78IO SYSTEM STARTIME+ IOPIQID SMFTIME
TYPE78PA SYSTEM STARTIME+ READTIME JOB SMFTIME
TYPE78SP SYSTEM STARTIME+ READTIME JOB SMFTIME
TYPE78VS SYSTEM STARTIME+ SMFTIME
TYPE30_D READTIME JOB JESNR+ INITTIME INTBTIME SMFTIME
TYPE30_V READTIME JOB JESNR+ INTBTIME INTETIME
TYPE30_1 READTIME JOB JESNR JINTTIME+
TYPE30_4 READTIME JOB JESNR TERMTIME+
TYPE30_5 READTIME JOB JESNR DESCENDING JTRMTIME+
TYPE6 READTIME JOB JESNR PRINTIME+ PRENTIME OUTDEVCE SYSTEM
TYPE26 READTIME JOB JESNR+ JPURTIME SYSEXEC
Thanks to ???, NRMA, AUSTRALIA.
who suggested this in 1984.
Change 04.37 Variable EXCPRMF in type 30 data sets is calculated
Mar 26, 1986 from data in the 30 (IOUNITS) and from the IOCCOEFF
VMAC30 coefficient in the type 72. If a 30 was encountered
VMAC7072 before a 72, EXCPRMF would be missing. However, if
duplicate 30 records were separated by a 72, the
first 30 had missing EXCPRMF, while the duplicate had
a value, which prevented NODUP option in SORT from
recognizing the true duplicate. Now, IOCSYSTM is
retained from 72 and compared with SYSTEM in 30 to
only create EXCPRMF when preceding 72 is from same
system, and thus allow NODUP option to delete dupes.
Change 04.36 When the EJST,SRBT suffix variables from QWSA were
Apr 07, 1986 split into QWS1 and QWS2, and when ISEQ,SBNA,SCF,
ANALDB2 SRND,SRNW,SRSW,OTH1,OTH2 suffix variables from QWSC
were split into QWS1, QWS2 and QWS3 prefixes, the
DIF() operations necessary to make the DB2 data
meaningful were overlooked in ANALDB2, which affects
those variables (and CPUTM) in DB2STAT0 data set.
New variables DB2TCBTM,DB2SRBTM,ELAPSTM,JOB are now
created in DB2ACCT.
Remember, ANALDB2 is not optional; it is automatically
invoked by TYPEDB2, and must be included in EXPDBCDE
if you create DB2 data sets with BUILDPDB.
Thanks to Mike Schilling, NORWEST Information Services, USA.
Change 04.35 TERMADDR and MINIADDR in several VM data sets built
Mar 24, 1986 from VM Accounting Card data should not be $HEX6. as
TYPEVM they were characters all along. Remove from FORMAT.
Thanks to ???, ???.
Change 04.34 Under XA only, the PAG values in SMF are the sum of
Mar 24, 1986 PAG + FIX, but MXG did not recognize that fact. With
VMAC71 this change, the MXG value of PAG variables will be
correct (and are less than the MXG V3 values).
Thanks to Les Czegel, CIL, CANADA.
Change 04.33 Interval begin time INTBTIME added to the TYPE30_D DD
Mar 24, 1986 level data set, so that DD observations from different
VMAC30 intervals of the same step (i.e., same INITTIME) can
be recognized.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 04.32 1. The Vector Processor accounting times (VPU & VPI) for
Mar 24, 1986 USE and AFFinity were added to PDB.JOBS and PDB.STEPS.
BUILDPDB 2. INTBTIME (interval begin time) was added to the BY
BUILDPD3 list (READTIME JOB JESNR INTBTIME INTETIME) for
TYPE30_V (now that RMF 3.3 provides INTBTIME).
4. SMFTIME was appended to the BY list (READTIME JOB
JESNR INITTIME SMFTIME) for TYPE30_D (DD statistics)
so DD records from different intervals (which will
have same INITTIME) can be identified and ordered.
Change 04.31 New data in TYPE21 record now supported. New counts
Apr 4, 1986 of errors for 3480, tape unit serial number, DCBOFLG,
VMAC21 and separate counts of bytes written and read added.
See TNL GN28-1095 for PTF OZ89909, Jan 16, 1986.
Change 04.30 Data sets TYPE78PA, TYPE78SP, and TYPE78VS were not
Mar 20, 1986 created by BUILDPDB (but were for BUILDPD3). This
BUILDPDB change adds those three (small) data sets to the PDB.
Thanks to Wing Louie, Metropolitan Life, USA.
Change 04.29 ZDATE ("Zee date zee data was added to zee PDB") was
Mar 20, 1986 added to _JOURNAL macro for CICS journal format data.
RMFINTRV ZDATE was also added to the KEEP list for RMFINTRV.
VMACSMF
Thanks to Cathy Hellums, Aristar, USA.
Change 04.28 TYPE72 and TYPE74 data sets do not always contain all
Mar 20, 1986 possible observations. Only if SERVICE or SIOCOUNT was
VMAC7072 non-zero would MXG OUTPUT, and the control logic was
EXTY72 in the VMAC member. Now, the control logic for their
VMAC74 OUTPUT statement has been moved to their EXTYnn member
EXTY74 so that sites which want all observations can make
the change in their exit code. Sites which use TYPE74
for availability want all observations, and sites that
use report perf. groups but capture only transactions
may want all TYPE72 observations. The default was not
changed, only the location of the default logic was.
Thanks to Barbara Watters, EXXON Houston, USA
Change 04.27 PRQUETM is now correct for JES3. For JES2, the start
Mar 20, 1986 of print queue time is JFINTIME, but JES3 does not
BUILDPD3 terminate output processing (JFINTIME) until purge.
Thus JPRNTIME (start of output processing) must be
uses for JES3 start of print queue time.
Change 04.26 4381-III CPU factor (pre-RMF 3.3) for single CPU is
Mar 20, 1986 now correct. 4381 de-rates UP by 85% when MP'ed, but
VMAC7072 all other MVS machines de-rate 95%, 92% and 89% when
2, 3, or 4 processors are online.
Thanks to David Belsham, Lloyds Corporation.
Change 04.25 Inconsistent RMF data caused NOTSORTED error in one
Mar 20, 1986 site because BY statement was missing. Additional
RMFINTRV check added to advise if RMF data was inconsistent.
Thanks to Pat Goetzinger, Northwestern Bell (of Nebraska!), USA.
Change 04.24 Production version of RMF 3.3 relocated LCUID field
Mar 4, 1986 in TYPE78 data set (only for 3090 CPUs).
VMAC78
Thanks to Greg Scriba, First National of Chicago, USA.
-----Changes thru 4.23 completed first PRE-RELEASE of Version 4.0-----
Change 04.23 Partitioning 3084s into 3081s, etc., caused MXG to
Jan 31, 1986 incorrectly calculate PCTCPUBY after splitting the
VMAC7072 CPUs. Beautiful fix (print of source, highlighted
with his changes, and with two pages of descriptive
documentation) was supplied by, and therefore
Thanks to Stephen Secher-Jensen, ANZ Bank, Melbourne, AUSTRALIA.
Change 04.22 The current version of MODEL 204 now contains the
Jan 27, 1986 M24ACCT and M24USER by default, so the exit is now
EXM24ACT set to default ON (was OFF). See member.
Thanks to David Daner, Sun Company, USA.
Change 04.21 IMS Log processing code. IMSTRAN and IMSMISS data sets
Jan 22, 1986 are built from sequences of IMS log records. This code
TYPEIMS was originally written and tested in Europe. It seems
IMACIMS to handle IMS 1.3 quite well, and is self-documenting.
EXIMSTRN Wherever possible, variable names of IMS Log data are
EXIMSMIS the same as those used for the IMF/Control IMS data
set CIMSTRAN, page 413.
Thanks to Allan Russell, SAS Institute Europe, GERMANY.
Change 04.20 JES3 BUILDPDB ABEND and CONDCODE "fixes" were not
Jan 22, 1986 completed with change 4.xx. Variables ABEND and
BUILDPD3 CONDCODE were added following KEEP= _PDB30_5 in
PROC SORT DATA=TYPE30_5 OUT=TYPE30_5 (KEEP= ....
Thanks to Bill Cohen, Drexel, Burnham, Lambert, USA.
Change 04.19 The catalog record at the end of the 61,65 and 66
Jan 15, 1986 records was not decoded. The program will now (if
VMAC6156 you choose) decode and print (but not add to the
TYPE6156 data set) these catalog segments. See the
'how to' comments in the member itself.
Thanks to Gary Bortner, Lucky Stores, USA.
Thanks to John Lemkelde, Pennsylvania Blue Shield, USA.
Change 04.18 Added five more work groups OTH1-OTH5 to RMFINTRV
Jan 8, 1986 data set. Added Exit EXRMFINT so you can label the
RMFINTRV variables to describe that OTH1 is IDMS, etc.
EXRMFINT Comments added to IMACWORK to show how to use.
IMACWORK March 20, calculation code finally added!
Thanks to George Scott, Rockwell International Corporation, USA.
Thanks to Greg Scriba, First National of Chicago, USA.
Change 04.17 Support for CICS 1.7. Major changes in internal data
Jan 8, 1986 format, with some new variables, but minimal impact
VMAC110 on your programs. Will be discussed in future issue
FORMATS of MXG Newsletter. Do not gen CICS 1.7 with EXCLUDEs.
Change 04.16 Input format for OFFDATE in DOSRJE is MMDDYY6., and
Jan 8, 1986 PRTYJOB=MOD(PRTYJOB,16) replaced PRTY=MOD(PRTY,16).
TYPEDOS
Thanks to Joseph G. Ogurchak, Westfield Companies, USA.
Change 04.15 PTF UZ90402 for RMF 3.3 alters MVS/XA RMF format for
Dec 29, 1985 Vector Processors, even if you don't have one! The
following changes were published in MXG NEWSLETTER
SEVEN prior to availability of Version 4.1. Actual
code in Version 4 is more comprehensive that the
quick fix printed in Newsletter Eight.
VMAC7072 a. VECONSAM and VECTORON variables added to TYPE70.
VMAC22 b. VECTORON added.
VMAC30 c. Step level vector utilization variables added.
VPUUSETM
VPIUSETM
VPUAFFTM
VPIAFFTM
d. Interval begin time, INTBTIME, finally put in
the subtype 2 and 3 interval records by IBM.
Thanks to George Scott, Rockwell International Corporation, USA.
Change 04.14 Constant 000000954 should be 000000953674. Causes a
Dec 29, 1985 very small rounding error. Almost a nit.
FORMATS
Thanks to Joe Faska, Chemical Bank, USA.
Change 04.13 Standard deviation of response time calculation can
Dec 26, 1985 cause negative square root. Test added to avoid the
VMAC7072 illegal argument error message. SSQELAP wraps inside
RMF, creating above problem. IBM has been notified.
Change 04.12 RMF 3.3 expanded LCUID to two bytes in the subtype 1
Dec 18, 1985 record. MXG V3 missed this change, causing LCUID to
VMAC78 be zero in TYPE78CF.
Thanks to Joe Faska, Chemical Bank, USA.
Change 04.11 SAS Version 5 requires quotes around all character
Dec 02, 1985 strings. LABEL and FORMAT statements had been fixed,
TYPEPRNT but execution with NOTEXT82 option suraced others.
OTHRPRNT Quotes in SPLIT='*' and quotes around hex character
FORMATS values in PROC FORMAT were added to these members:
BUILDPD3 (Also removed superfulous PROC PRINT from BUILDPD3)
ANALCICS ANALCONT ANALDALY ANALDOS ANALESV
ANALPROG ANALTSOR ANALTURN ANALVM
Thanks to David Henley, Blue Cross, USA.
Change 04.10 INTRVAVG is always missing. Change equations (two)
Dec 02, 1985 which calculate INTRVAVG to use INTRVSUM as first
VMAC76 term on right side of equation.
Thanks to Kenneth D. Jones, Maritime Telegraph and Telephone, CANADA.
Change 04.09 RESPAVG and RESPSTD and AVGMEMSZ values were carried
Dec 02, 1985 into next PERFGRP.PERIOD if TRANS=0 or CPUUNITS=0.
VMAC7072 After each of the 6 IF statements which calculate
these variables, insert 'ELSE variable=.;' to set
the value to missing.
Thanks to Sue Rosansky, Metropolitan Life, USA.
Change 04.08 Logic to set return code to 4096 or less was added
Nov 19, 1985 to parallel type 4, 30 and 34 records as well.
VMAC535
Thanks to Sam Ferrarelli, Philadelphia Electric, USA.
Change 04.07 Additional tests for zero denominator added for the
Nov 19, 1985 variable NRSAMPLE (which strangely is sometimes 0).
VMAC74
Thanks to Joe Faska, Chemical Bank, USA.
Change 04.06 Change 2.22(a) was not completely applied for JES3.
Nov 19, 1985
BUILDPD3
a. Find the three lines which create TYPE30_5 from the
SET TYPE30_5 SPIN30_5; statement.
Replace those three lines with the similar eight
lines from member BUILDPDB.
b. Find MACRO _SUMSTP. Remove the variable TAPEDRVS in
that macro definition by blanking it out.
c. Find DATA ONE30_5, then find FORMAT CONDCODE HEX4.
insert two lines: ABEND=ABEND5; CONDCODE=CONDCOD5;
Thanks to George Scott, Rockwell International Corporation, USA.
Thanks to Martin Hamburg,Johns Hopkins Univ Applied Physics Lab, USA.
Change 04.05 Five new variables (RMF 3.3 only) were INPUT out of
Nov 18, 1985 order. Starting at OFFPGDS+392, variables should be
VMAC71 MIGAGEMN,MX,AV, and EXTFRMIN,ON.
Thanks to Sue Rosansky, Metropolitan Life, USA.
Change 04.04 Removed lower case from IMACINTV, as it caused SPF
Nov 6, 1985 to change case and data values became lower case!
IMACINTV
Thanks to Dennis Dwyer, CITICORP Person-to Person, USA.
Change 04.03 Minor correction to MG078CV format to add HIGH.
Nov 6, 1985
FORMATS
Thanks to Joe Faska, Chemical Bank, USA.
Change 04.02 Corrected algorithm for counting tape drives used
Nov 4, 1985 and added count of tape drives potentially needed.
ANALTAPE Many lines involved. Call for information.
Thanks to Robin Templer, SAS Institute, AUSTRALIA.
Change 04.01 Backed out 2.3. Default record ID from TSO/MON and
Nov 4, 1985 MXG now agree (they're alphanumeric: CMD - SYS for
IMACTSOM 199 and 200 respectively).
Thanks to Ray Dickensheets, Yellow Freight System, USA.
LASTCHANGE: Version 4
=========================member=CHANGE03================================
/* COPYRIGHT (C) 1985 BY MERRILL CONSULTANTS DALLAS TEXAS */
MXG Software Status as of November 1, 1985
This is MXG Version 3.
This member describes the changes made to the MXG Software since
Version 2 was shipped. The documentation of new data sets and new
variables created by Version 3 is contained in member DOCVER03. The
changes previously introduced by Version 2 are in member DOCVER02.
Additional documentation is available in past and future issues of
the MXG Newsletter, sent by Merrill Consultants to their Supported
Customers. Newsletter SIX was published concurrent with Version 3.
NEXTCHANGE: Version 3
=============Changes thru 3.10 complete Version 3.2==================
Change 03.10 Format DATE9. added for DATE in RMFINTRV data set.
Oct 30, 1985
RMFINTRV
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 03.09 Error in reading TPUTHOLD variable in TSO/MON 4.3
Oct 30, 1985
VMACTSOM
Thanks to Gayle Bartel, Pizza Hut, USA.
Change 03.08 LOGAUX... variables missing in TYPE71 with RMF 3.3
Oct 30, 1985
VMAC71
Thanks to Sue Rosansky, Metropolitan Life, USA.
=============Changes thru 3.07 were in Version 3.1===================
Change 03.07 Added format MG078CV. to map bytes to K or Meg for
Oct 18, 1985 PVTSZHI/LOW, LSQSZHI/LOW and USRSZHI/LOW. Midnight
VMAC30 logic error corrected.
Change 03.05 Error introduced in Change 2.19 caused all of the
Oct 17, 1985 TYPE70 variables .....AVG to be 100 times too big.
VMAC7072
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 03.04 Error introduced in Change 2.24 caused loss of type
Oct 15, 1985 30 data sets observations.
VMAC30
Thanks to Roman Gudz, Leaseway, USA.
Change 03.03 IBM offset values were wrong (from start of logical
Oct 15, 1985 record) but MXG coded for it. Now IBM PSF changes
VMAC5234 for 3820 changes PROD offset, but left ID offset
still wrong. MXG now forces the OFFPROD and OFFID
values, since data location is unchanged.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 03.02 CICS PTF UP90227/UP90228 for APAR PP41582, an SPE
Oct 15, 1985 for CICS 1.6.1, changes CMF record version from 2
VMAC110 to 3.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 03.01 Undocumented field, QBACRIO, DB2 Synchronous Read
Oct 15, 1985 I/O requests was discovered and now in the DB2ACCT
VMACDB2 data set.
Thanks to Ron Root, Sun Company, USA.
LASTCHANGE: Version 3
NEXTCHANGE: Version 2
=============Changes thru 2.25 were in Version 3.0===================
Change 02.25 MVS 2.1.3 increased the size of MPL, WEIGHT, AOBJ,
Sep 20, 1985 DOBJ and DFWK values from one to two bytes.
TYPE90
Change 02.24 Condition code (return code) must be less than 4096.
Sep 9, 1985 Some accounting systems exploit this and use upper
TYPE30_4 bits of the two byte field. MXG decoded the entire
TYPE30_5 return code, producing invalid values. Now only the
TYPE434 rightmost bits are used for return code value.
Thanks to John Zupan, STC, USA.
Change 02.23 Variables AVG and INTRVAVG were added.
Sep 9, 1985
TYPE76
Thanks to Debby Blackey, Fidelity Savings, USA.
Change 02.22 Several enhancements made to BUILDPDB/BUILDPD3.
Sep 9, 1985 a. ABEND and CONDCODE in the JOBS data set is now the
BUILDPDB job completion status for the last job termination
BUILDPD3 (subtype 5) record. Formerly, it was the last step
termination and was misleading (i.e., ABEND would
be FLUSH for a flushed step in the JOBS dataset).
b. EXCP and IOTM for tapes 3420 and 3480 added.
c. SPINCNT (the number of times partially-completed
jobs will be held in the SPIN file awaiting their
purge record) is now set by member IMACSPIN.
d. TYPE78CF, TYPE78CU and TYPE78IO now in PDB.
e. SAS5FIX1 module created to correct the SAS error
in SAS VERSION 5 until SAS provides the first
maintenance release to VERSION 5. If you execute
BUILDPDB/BUILDPD3 under SAS VERSION 5, you must
tack SAS5FIX1 on after the PDB is built. See the
comments in SAS5FIX1.
Thanks to Malcolm Morgan, Wachovia Bank, USA.
Thanks to Georg Simon, Prudential Insurance, USA.
Change 02.21 Support for RMF Version 3.3.0, which is required for
Sep 1, 1985 3090 processors. See DOCVER03 for more details:
TYPE7072 Service unit per second constant (SU_SEC) is now in
the TYPE72 record.
TYPE71 Many new variables describing swapping between the new
extended storage and auxiliary storage, migration age
etc. Swap reasons count expanded to identify where the
various swaps are occurring.
TYPE74 Three new variable describe the components of device
pending time. Both overflow conditions (308x only)
now identified.
TYPE78CF Configuration data set now contains utilization data.
TYPE78CU New data set describes CUHDR queue length and rate.
TYPE78IO New data set describes IOP initiative queue stats.
Change 02.20 The calculation of ALOCTIME and LOADTIME in TYPE30_4
VMAC30 were corrected (as had been done in TYPE434) to add
Sep 1, 1985 a day if the job allocation/load time of day was less
than the initiate time of day.
Change 02.19 The _VAR70 ARRAY in processing type 70 records was
VMAC7072 replaced with direct assignment after a European
Sep 1, 1985 customer first noted a siginifcant increase in CPU
time of MXG TYPE70 when compared to the original
MG TYPE70, and research confirmed the ARRAY was
more CPU costly than direct assignments.
Change 02.18 New format, MG078CV. converts byte values to Kilo
FORMATS or Mega bytes, with K or M suffix. Makes the data
Sep 1, 1985 in TYPE78VS (virtual storage) easily read.
Thanks to Joe Faska, Chemical Bank, USA.
Change 02.18A New data set created by RMF 3.3 for extended storage.
TYPE22_9
Change 02.17 The value of SPINCNT, which sets the number of
IMACSPIN executions that BUILDPDB will wait for a job's purge
Aug 30, 1985 record, was externalized to IMACSPIN, consistent
with moving all installation-unique values to IMAC's.
Change 02.16 The routine worked when all input was SMF, but use
ANALDSET with the PDB as input for the Step records failed
Aug 30, 1985 because of a missing RENAME.
Thanks to ???, ???.
Change 02.15 This module to process VS1 SMF records is an 'extra'
XTYPEVS1 module, undocumented and with unlabeled variables
Aug 15, 1985 but it also would not run. Removal of an unnecessary
%INCLUDE and proper calculation of NUMDD now makes it
usable for VS1 data.
Thanks to Fritz Ederer, SAS Institute, GERMANY.
and a German VS1 site.
Change 02.14 Step 3 of JCLTEST was broken into two steps, because
JCLTEST the SAS limit of 32768 SYSIN card images was exceeded.
OTHRPRNT TYPETEST/TYPEPRNT now operate on SMF records, while
OTHRTEST OTHRTEST/OTHRPRNT operate on non-SMF records. Member
PRINTING PRINTING was deleted.
TYPEPRNT
TYPETEST
Jun 30, 1985
Thanks to Joe Faska, Chemical Bank, USA.
Change 02.13 Two new exits were created (for 370 or XA) to set the
IMACPUSU value of SU_SEC (CPU Factor, or the Machine Dependent
IMACPUXA Constant) when a new model CPU which is not in the
VMAC7072 table in VMAC7072 is installed. Under MVS/370, it is
Jun 30, 1985 used to separate different CPU versions.
Change 02.12 Support for Release 4.3 of the TSO/MON Product. Eight
VMACTSOM new variables: ATMAXUTM, NETDLYTM, PANELCNT, SRMTRANS,
Jun 30, 1985 TPUTHOLD, TSMSMTHK, and TSMSNMTK were added; and the
value of USRTHKTM was corrected.
Change 02.11 Added new ROSCOE monitor command AMS and protected for
VMACROSC future new command names.
Jun 30, 1985
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 02.10 Variables RESPAVG and RESPSTD, average and standard
VMAC7072 deviation of response time per ended transaction were
Jun 30, 1985 added and SSQELAP was re-formatted and corrected. For
period 1 TSO transactions, RESPAVG is the trivial TSO
response time measurement used by IBM.
Thanks to Tom Incorvia, Macy's California, USA.
Change 02.9 LABELS were enhanced to reflect that many variables
RMFINTRV are rates per second. Labels for variables ending with
Jun 30, 1985 SWAP, TRAN, EXCP, IOTM, ACTV, RESD, and SERV now have
"per second" in their label.
Change 02.8 The test IF MCTSSDRL - COL GE 60 THEN ... should have
IMACICDL been IF MCTSSDRL - (COL-SEGSTRT) GE 60 THEN ... All
Jun 30, 1985 DL/I variables now have non-missing values.
Thanks to Bill Gibson, SAS Institute, AUSTRALIA.
and others.
Change 02.7 Macro _CICOTHR is defined in IMACCICS and used in the
ANALCICS other members to control the ddname to which the data
BUILDPDB sets CICSACCT, CICSEXCE, and CICSYSTM are written.
BUILDPD3 This is for consistency with the _CICTRAN macro which
IMACCICS controls for the ddname of the CICSTRAN data set.
VMAC110
Jun 30, 1985
Thanks to Tom Hanson, Bradford Exchange, USA.
and others.
Change 02.6 Support for the new restructured type 6 record from
TYPE6 both JES2 and JES3. See WSCF-8518 for the complete
FORMATS list of PTFs which create this new record. New 3820
Jun 30, 1985 printer creates new variables.
Thanks to Craig Feistner, CITICORP, USA.
Thanks to Sam Sheinfeld, Kraft General Foods, USA.
Change 02.5 Support for the NLDM Release 3, which contains both
TYPE39 variables and corrections, and more subtypes tested.
FORMATS (Minor change was also made on Sep 3 for MXG 3B).
Jun 30, 1985
Thanks to Mike Healey, Celenese, USA.
Change 02.4 Support for the DISOSS Accounting Log Records.
TYPEDISO
FORMATS
May 30, 1985
Change 02.3 The default record ID numbers for TSO/MON records were
IMACTSOM interchanged. This caused a STOPOVER Abend when the
Apr 23, 1985 TSO/MON data was read.
a. All occurrences of 199 and 0C7 are replaced with 200 and 0C8. The
original occurrences of 200 and 0C8 are replaced with 199 and 0C7.
Thanks to John Lemkelde, Pennsylvania Blue Shield, USA.
Change 02.2 Model 204 records cause STOPOVER ABEND. The MXG test
VMACM204 site had modified the SMF record format, and MXG was
Apr 23, 1985 expecting the modified record format.
Thanks to Mark Hoff, American President Lines, USA.
Change 02.1A Errors in processing IFCID and ASID segments of the
VMACDB2 type 100 subtype 0 (MXG dataset DB2STAT0) were fixed.
Apr 23, 1985
a. The Address space CPU variables QWSAEJST and QWSASRBT captured
only the first address space TCB and SRB times. These variables
are replaced by QWS1EJST, QWS1SRBT, QWS2EJST, and QWS2SRBT, and
QWSAPROC is replaced by QWS1PROC and QWS2PROC to provide the
task name which produced the corresponding CPU time. All four
CPU variables are summed into the new variable CPUTM.
b. There are multiple IFCID sections. The original nine variables,
QWSCIID, QWSCISEC, QWSCSRSW, QWSCSRNW, QWSCSRND, QWSCRBNA,
QWSCSCF, QWSCOTH1, and QWSCOTH2 are expanded into three sets of
variables, with QWSC replaced by QWS1, QWS2, and QWS3 for the
same suffixed variables for the three IFCID sections.
c. Variables QSSTCONT, QSSTCRIT, and QSSTABND are totally invalid
until the PTF UP59374 for APAR PP42547 is installed.
d. Removed unnecessary variables from LENGTH 8 statement.
Change 02.1A Errors in processing IFCID and ASID segments of the
VMACDB2 type 100 subtype 0 (MXG dataset DB2STAT0) were fixed.
Apr 23, 1985 Formerly "Nits & Bits" with no change number:
ANALCICS TAMP corrected to TEMP in label
ANALVM All references to VMSESS were corrected to VMSESSN.
MONTHBLD Syntax error in first PUT corrected.
VMACCIMS Label for SYSTEM made consistent.
VMAC6 Label for NODE is now NJE NODE NUMBER
VMAC10 Format HEX2. applied to LCU, for consistency.
VMAC1415 Label spelling LIMIE corrected to LIMIT.
VMAC30 Format TIME12.2 applied to ALOCTM, DSENQTM, IOTM3420,
VMAC74 IOTM3480 and RDRTM for consistency.
VMAC80 Format HEX2. applied to LCHAN for consistency.
UTILGETM Added test to ensure NRSET is greater than zero.
Added selection for type 22 record subtypes.
LASTCHANGE: Version 2
=========================member=CHANGE02================================
/* COPYRIGHT (C) 1985 BY MERRILL CONSULTANTS DALLAS TEXAS */
This WAS the member CHANGES with Version 2. It is here for historical
purposes. Current changes are always in member CHANGES.
When Version 2 shipped, member CHANGES contained the following:
MXG Software Status as of March 24, 1985:
This is MXG Version 2.
This member describes the changes made to the MXG software since
Version 1. The documentation of those changes is in member DOCVER02.
I. NEW MEMBERS OF MXG.SOURCLIB IN VERSION 2.
ANALCONT PROC CONTENTs and PROC PRINT which were formerly a part of
BUILDPDB were moved to streamline JCLPDB, since some users
did not need these PROCs executed in their production PDB.
ANALDB2 Routine which processes the raw DB2 data sets built by MXG
module VMACDB2 into the PDB, and converts the accumulated
counters in the raw records into actual useable values.
DOCINCLD Documentation which cross references all included modules,
idenfitying which module includes which.
DOCVER02 Documentation of the new variables in existing data sets
and the contents of data sets which are new in Version 2.
ESCHANGE Documentation of the changes made during the Early Ship
Program of the MXG product, kept here for SMF archivists.
EX...... A part of the MXG EXIT facility, there are 115 new members
which begin with EX......, one corresponding to each of the
MXG data sets.. All OUTPUT statements in MXG code have been
replaced by %INCLUDE SOURCLIB(EX......); so that you can
make user modifications to the contents of the MXG data
external to the MXG code. Once your modifications are made,
future versions of MXG can be installed without any review
of your local modifications. The exits are transparent to
you until you choose to use them.
IMACFILE A part of the MXG EXIT facility which is taken after each
SMF record has been identified. In this exit, bad records
can be deleted (perhaps to correct a STOPOVER condition),
or the exit can be used to select SMF records to be sent
to an OS file for processing by other programs.
IMACICDL Supports processing of the optional DL/1 counters in the
CICS type 110 transaction record.
IMACINTV Member IMACINTV was blank in Version 1. It determines if
observations will be created in data set TYPE30_V and it is
self documenting.
Thanks to Patricia McKenzie, B.C. Systems, CANADA.
IMACKEEP A part of the MXG EXIT facility which will override any
of the _VAR.... definitions, providing for easy tailoring
of the KEEP= list to locally determine which variables are
kept in the MXG data sets. Even the data set name can be
altered through this exit.
IMACM204 Defines the SMF Record Id of MODEL 204 record to MXG.
IMACPUSU Used only under MVS/370 to set CPU speed factor (SU_SEC).
This allows installation to override the table of SU_SEC
under 370 (which does not provide the CPU Version) if you
have different versions of the same CPU.
IMACPUXA Used only under MVS/XA to set CPU speed factor (SU_SEC).
This should be needed only if you install a brand new CPU
before the next Version of MXG is shipped.
IMACROSC Defines the SMF Record Id of ROSCOE record to MXG.
MONBLD Members WEEKBLD MONBLD described in text did not exist.
WEEKBLD These members were printed in Chapter 35 (although not
specifically identified) and are now included in MXG. Both
are used in creating the weekly and monthly PDB data sets.
Thanks to Patricia McKenzie, B.C. Systems, CANADA.
TYPEDB2 Process the type 100 and 101 SMF records created by IBM's
VMACDB2 DATABASE TWO, or DB2 product.
TYPEM204 Process the SMF records written by Computer Corporation
VMACM204 of America's MODEL 204 product.
TYPEROSC New Member TYPEROSC and VMACROSC process the SMF records
TYPEROSJ written by ROSCOE. Member TYPEROSJ processes the ROSCOE
VMACROSC records written to a journal file.
TYPE39 Process the SMF records written by NLDM, which gathers
VMAC39 the hardware monitor response time counters collected in
the 3274 control unit.
TYPE128 Supports IBM's Network Performance Monitor (NPM) Type 128
VMAC128 record, which allows tracking of VTAM Session Connect time.
The type 128 record was previously created by IMB's FDB
VTAMPARS, which was merged with the NPA FDP to form NPM.
Thanks to Edgar Ortiz, Citicorp Denver, USA.
UDOCHECK A debugging utility which will read a SAS source program or
SYSOUT listing to locate un-matched DO-END pairs. You will
probably never need it, but it can save hours if you do.
II. CHANGES TO MXG.SOURCLIB WHICH HAVE BEEN MADE:
NEXTCHANGE: Version 1
Change 01.41 Macro added to name the DD of the CICSYSTM, CICSEXCE,
ANALCICS and CICSACCT data sets for consistency with JCLTEST.
Mar 29, 1985
Change 01.40 Member TYPE80 and VMAC80 now process most of the info in
TYPE80 the type 80 record written by RACF.
Mar 25, 1985
Change 01.39 Support for the optional DL/1 activity counters in the
VMAC110 type 110 record was added. MXG module IMACICDL must be
Mar 25, 1985 enabled to create the seventeen new variables.
Thanks to Louis Eliscu, Continental Insurance Company, USA.
Change 01.38 This change documents many minor changes.
DOC a. VMACEXC2, VMAC434, VMAC40. SUBTYPE was added to the
Mar 25, 1985 INVALID DEVICE message for identification of which
type 30 subtype was involved. Since SUBTYPE doesn't
exist in 4,34 or 40's, SUBTYPE is set to 434 or 40
before calling VMACEXCP from those modules.
b. TYPE38. Label NPARBC was corrected from PIU to BYTE
count, and other label spellings were corrected.
c. JCLTEST. The JOB card was removed and the SMFOUT DD
card was corrected.
d. IMACCHAN. The comments which described the example
now describe the example.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Thanks to David Stern, 1st Atlanta, USA.
Change 01.37 CICS monitor facility data now contains a negative value
VMAC110 for the dictionary records for MCTSSDRL, which should be
Feb 15, 1985 the length of the data segment. IBM states that this value
signifies a variable length segment. This caused a message
"Invalid type 110 record" because MCTSSDRL was used to
check for invalid length records (which has occurred if
CICS PTF's have not been installed). This check for valid
length now disregards MCTSSDRL if this is a dictionary
record (MCTSSDID=0).
Thanks to Malcolm Morgan, Wachovia Bank, USA.
Thanks to Bill Gibson, SAS Australia for seeing it first.
Change 01.36 Decoding of density was in error; true value of 6250 was
VMAC1415 decoded as 1600. Test was corrected.
Feb 15, 1985
Thanks to David Henley, HEALTHNET, USA.
Change 01.35 VSPC creates two type 44 records; only one format was
VMAC43PC recognized by MXG with the other producing a STOPOVER
Feb 15, 1985 condition. Fix eliminates STOPOVER for the VSPC type 44
record written for alter/define.
Thanks to Ron Greve, South Dakota State University, USA.
Change 01.34 This module, used in JCLTEST to select 10 SMF records of
UTILGETM each type, was expanded to select record ID's of 0 to 255.
Feb 15, 1985
Change 01.33 PRTY was corrected, and three new variables added.
VMAC26J2 a. The FLOOR function on PRTY divided by 16 gave the value
Feb 15, 1985 of priority as an integer, but JES2 ages by adding 1 to
the right nybble until it overflows. Thus priority is
not an integer when ageing is used. The FLOOR function
was removed.
b. The INROUTE, PRROUTE and PUROUTE fields contain their
associated node number, but it was thrown away in MXG.
They are now decoded into variables INNODE, PRNODE, and
PUNODE.
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 01.32 Support for TSO/MON release 4.2 was added. in addition
VMACTSOM to several new variables in the previous two datasets,
Feb 15, 1985 a new data set, TSOMCMND records each command name in
each user segment (either full command name or tso/mon
command abbreviation). this permits analysis of actual
commands issued by individuals.
a. Data set TSOMCMND is created by outputting each command
type segment in each user segment in each system record.
This permits identification of what commands users use.
The data set is optional, and the default is zero obs.
b. TSOMSYST data set enhanced with MINSMCI, OVRMAXCN,
OVERMAXTM, SMDRPCNT, TERMNAME, TERMTYPE, USRTHKTM
variables.
c. TSOMCALL data set enhanced with COMNDTYP, TERMNAME, and
TERMTYPE variables.
d. Formats $MGTSOCD and $MGTSOTE added to FORMATS.
Thanks to Milt Weinberger, Information Services International, USA.
Change 01.31 Support added for IMS 1.3 records written by Control/IMS,
VMACCIMS IMS Measurement Facility, a Boole and Babbage Product.
Feb 14, 1985 See MXG NEWSLETTER for a discussion of technical changes.
a. Exits added (EXIMFPGM, EXIMFTRN, EXIMFDBD).
b. Additional formats were added to FORMATS (note that this
requires users to re-execute step one of JCLTEST to load
these new formats in MXG.SASLIB).
c. IMACCIMS was corrected and better documented.
Change 01.30 Two occurrences of '1to' were changed to '1 to', VMAC76.
Nits ABEND value of CANCEXIT is only 7 characters, CANCEXI,
Feb 14, 1985 in VMAC30
Change 01.29 Changes introduced in the updates SMF manual were added.
VMAC26J3 Variables SPOOLREC, ESTBYTE, ACTBYTE, ESTPAGE, and ACTPAGE
Feb 11, 1984 now exist.
Change 01.28 Changes introduced in the updated SMF manual (now -2) are
VMAC6 added. MVS/370 variable DATAERR now exists in MVS/XA. For
Feb 14, 1985 JES3, variables FONT, OVLY, and PAGE are created.
Change 01.27 Many enhancements were made:
BUILDPDB a. Exits added: EXPDB... where ... is VAR, CDE, OUT, JOB
BUILDPD3 STP, and PRT. See Exit discussion in MXG NEWSLETTER.
Feb 15, 1985 b. Data sets TYPE78VS, TYPE78SP, and TYPE78PA were added to
the PDB, and then dropped from WORK.
c. Data sets TYPE21, TYPE78CF, CICSACCT, CICSEXCE, and
CICSYST are deleted from WORK.
d. ABEND values JCL, CRSH, and NOTP, discussed on p.335
were added to PDB.JOBS
e. ZDATE was added to all PDB data sets.
f. PERFGRP is finally correct in PDB.JOBS and PDB.STEPS.
g. PROC CONTENTS and PRINT which were at the end of the
module were moved to member ANALCONT, which was also
added to SYSIN concatenation in JCLPDB.
h. LENGTH statements were added to force a length of 4
for variables created by PROC MEANS. This will save
disk storage space required by the PDB data.
i. Second READTIME in BY list merging TYPE26Jx SPIN26
was removed.
j. TYPRUN was added to PDB.JOBS for JES2.
Change 01.26 Variables BATCHMAX, STCMAX, and TSOMAX are now created;
RMFINTRV temporary data sets RMFCOMMN, RMF78D0, and R78HOUR are now
Feb 14, 1985 deleted.
Thanks to ???, SAS Australia.
Change 01.25 Data sets TYPE78PA and TYPE78SP (virtual stor monitoring
VMAC78 of specific jobs) were coded but not tested, due to lack of
Feb 14, 1985 specific records. Several coding problems were corrected:
a. LENPASS and NRPASS were read in reverse order.
b. OFFPASS was being decremented incorrectly (in a loop!).
c. Average values are RB4. vice PIB4.
d. Loop added around divide by NRPASAMP to avoid division
by zero error message.
e. For tasks with no sub pool data, the beginning offset to
the subpool data is non-zero. MXG now checks the ending
offset for non-zero before reading!
f. SMFTIME, STARTIME, and SYSTEM added to TYPE78PA and
TYPE78SP to permit matching of observations.
g. Format added for duration variables ending in 6 or 8,
variables in TYPE78PA, and length=8 specified for time
stamp variables previously overlooked.
Data set TYPE78CF was incorrect. Essentially only the data
for the first LCU was valid due to incorrect calculation
of the offset.
Thanks to Joe Faska, Chemical Bank, USA.
Change 01.24 The reference to this member in the book should have been
JCLDBANL to ANALDSET. Comment added in JCLDBANL to that effect.
Feb 14, 1985
Change 01.23 Version 5 of SAS will not permit multiple variables with
ANALBNCH the same name, as was done frequently with PROC MEANS and
ANALDOS an OUTPUT statement with variable name X repeated and then
ANALMPL dropped with a single DROP=X operand. All occurrences of
BUILDPDB this syntax were changed to create unique variable names
BUILDPD3 (eg., X1-Xn), which are then dropped.
RMFINTRV
Feb 14, 1985
Change 01.22 DOWNTM calculation now made only if the previous record
VMAC0 was from the same system, and the result is non-negative.
Feb 14, 1985 The variable is also formatted TIME12.2.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 01.21 TYPETASK value for JES3 now consistent with JES2 values.
VMAC30 JES2 JOBID begins with JOB, TSU or STC but JES3 JOBID
Feb 14, 1985 has JOB, JOBI, or JOB0. The SUBSYS field was used to
correctly identify the type of task for JES3.
Thanks to Don Hardman, National Advanced Semiconductor, USA.
Change 01.20 CPU support for 4381's (I, II, and the mp-III) added, as
VMAC7072 was support for the Performance Improvement Feature (an
Feb 14, 1985 Engineering Change) speed-ups for the 308x processors. The
PIF EC makes the 308x processors almost as fast as the new
"X" series processors. These factors were tabulated in MXG
NEWSLETTER I.3. Additionally, the CPU factors for the 3081
K and G machines (all versions) were corrected for the case
in which only one CPU was online.
Change 01.19 Include for IMACJBCK the Job Check Exitg to select only
VMAC16 certain Jobnames, Readtime, etc., was added.
Feb 14, 1985
Change 01.18 To support new 3480 tape drive, EXCP and IOTM variables
VMACEXC2 were added. EXCPTAPE and IOTMTAPE continue to contain the
VMAC30 total EXCP count and IOTM connect seconds for tape devices.
VMAC40 In addition, variables EXCP3420, EXCP3480, IOTM3420, and
VMAC434 IOTM3480 provide subtotals by actual device type to aid in
Oct 11, 1984 measuring migration.
Change 01.17 Device type for 3420 and 3480 tape drives is now decoded
VMACUCB into values '3420' or '3480' replacing value of 'TAPE'.
Feb 14, 1985 This affects only TYPE1415 variable DEVICE.
Change 01.16 Comments were corrected. This undocumented eXtra module
XTEACH shows how to used SAS to interact with a person at a TSO
Feb 14, 1985 terminal (in this case, to teach arithmetic).
Change 01.15 Added variable TASKCPTM to CICSYSTM data set. See MXG
VMAC110 NEWSLETTER for a discussion of CPU measures in CICS
Feb 14, 1985 monitoring facility data.
Change 01.14 Cross reference utility was cleaned up, reports were
UTILXREF re-ordered, and the reports titled.
Feb 14, 1985
Change 01.13 Enhancements to support Version Two
VMACSMF a. END=ENDOFSMF added to INFILE statement. This can be used
Feb 14, 1985 to check for the end of the SMF file in user exits.
b. Corrected error in Change 1.8. The end of file mark in
the VSAM SMF data is either :'SMF EOF' or :'SMFEOF'.
c. ZDATE variable (zee date zee data was processed by zee
MXG code) created and formatted. ZDATE was also added
to the KEEP list for all MXG data sets. ZDATE is used
to define the date of an observation, as discussed in
Chapter Thirty-Five, in building weekly and monthly PDB.
d. IMACFILE include added to allow selection of SMF records
to an OS file during MXG processing. See comments in the
member for further uses (like deleting bad SMF records).
e. PREVTIME, which contains the time stamp of the previous
SMF record, is no longer updated for type 2 or 3 records
because their timestamp is always out of sequence. This
will improve the accuracy of DOWNTM in TYPE0 data set.
f. SYSTEM changes to $CHAR4. vice $4 (because it is faster
and more accurate) and an INFORMAT added (to prevent an
obscure potential error).
Change 01.12 Device VIO and MSS not properly decoded.
VMACUCB
Oct 11, 1984 a. In lines 14 and 16, replace IF with ELSE IF.
Thanks to Sun Mei DeGrange, Shared Medical Systems, USA.
Change 01.11 Average working set size variables (...WKST) are wrong.
RMFINTRV a. In lines 240, 253, 271, 2, 84, and 297, change
Oct 11, 1984 IF MSOCOEFF GT 0 THEN ...WKST=4*MSOUNITS/(MSOCOEFF*50);
to read:
IF MSOCOEFF GT 0 THEN ...WKST=200*MSOUNITS/(MSOCOEFF*SSEC);
Thanks to Leo Zimmerman, DuPont, USA.
Change 01.10 DEVNR altered incorrectly for VIO, MSS in MVS/370.
IMACCHAN a. Change line 31 from
NEWSLTRS IF NOT MVSXA THEN DO:
Oct 3, 1984 to read:
IF NOT MVSXA AND DEVICE NE 'VIO ' AND DEVICE NE 'MSS ' THEN DO;
b. In NEWSLETTER I.3, the four blanks were not printed,
which caused DEVICE name in TYPE1415 to be truncated.
Thanks to Sun Mei DeGrange, Shared Medical Systems, USA.
Change 01.9 PCTTRIV is uninitialized in the RMFINTRV data set.
RMFINTRV
Sep 26, 1984 a. insert new line after line 497:
IF TSOTRAN GT 0 THEN PCTTRIV=100*TRIVTRAN/TSOTRAN;
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 01.8 End of file mark in the VSAM SMF file was changed by IBM
VMACSMF to be SMFEOFMARK as expected.
Sep 26, 1984 -Change line 39 to test for SMFEOFM instead of SMFEOF.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 01.7 CPU Type 3081-D under MVS/XA produced MXG error message.
VMAC7072 The CPU version number value in the code was misspelled.
Sep 25, 1984 -Change line 863 to test for CPUVERSN=03 instead of the
test for CPUVERSN=02 to set the SSEC value of 276.3.
Thanks to Ron Hensley, State of Alaska, USA.
Change 01.6 VMAC110 data sets built from a CICS Journal file (instead
VMACSMF of from SMF) contain invalid SYSTEM value.
Sep 25, 1984 a. Change @4+OFFSMF SYSTEM to @11+OFFSMF SYSTEM in line
570.
Thanks to Howard Winestock, Florida Light & Power, USA.
Change 01.5 Variable VIRTREAL should not exist in TYPE35 data set;
VMAC30 it has meaning only in the step records in TYPE34.
Sep 25, 1984 -Remove variable VIRTREAL from line 111 (which is part
of the KEEP list for data set TYPE35).
-Remove line 514, which is the label for VIRTREAL in the
TYPE35 label statement.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 01.4 Average Device Service time not calculated for MVS/370.
VMAC74 a. Insert new line after line 144:
Sep 25, 1984 AVGRSPMS=10*DURATM*DEVBUSY/SIO74CNT;
b. On page 740, variable AVGRSPMS description, replace the
MVS/XA note with: This is the average device service time
per SIO.
Thanks to David Henley, Healthnet, USA.
Change 01.3 TSO/MON Variable CPUTM was never defined.
VMACTSOM
Sep 25, 1984 a. Insert new line after line 322:
CPUTM=CPUTCBTM+CPUSRBTM;
Thanks to Shirley Linde, Mitre at NASA, USA.
Change 01.2 Control/IMS has been renamed by Boole and Babbage to the
VMACCIMS IMS Performance Reporter. Several variables were wrong.
Sep 25, 1984 a. Offsets for the time part of ARRVTIME are in error.
Lines 202-204 now read: Must be changed to read:
@79+OFFIMS HR PK1. @81+OFFIMS HR PK1.
@80+OFFIMS MIN PK1. @82+OFFIMS MIN PK1.
@81+OFFIMS SEC PD2.1 @83+OFFIMS SEC PD2.1
b. CPUCDLTM incorrectly set to missing some times.
Change line 256 from IF CPUMOPTM=0 THEN CPUCDLTM=.; to
IF CPUMOPTM=0 THEN CPUMOPTM=.;
Thanks to Shirley Linde, Mitre at NASA, USA.
Change 01.1 Reference to member JCLDBANL on page 815 is now deleted,
ANALDSET as the JCL for data set analysis is in the member ANALDSET.
JCLDBANL The following changes must be made to member ANALDSET:
Sep 25, 1984 a. After SYSIN DD for Step STEPSMF, in the BY statement,
change SORTTIME to INITTIME.
b. After SYSIN DD for Step STEPPDB, in the PROC SORT
statement, change SORTSTEP.STEPS to SORTSTEP.SORTSTEP.
c. After SYSIN DD for Step COMBINE, in the SET statement,
change SORTSTEP.STEPS to SORTSTEP.SORTSTEP.
Thanks to Henry Staffi, Carborundum, USA.
LASTCHANGE: Version 1
III. TYPOGRAPHIC CORRECTIONS TO MXG CODE CONTAINED IN VERSION 2.
ANALBNCH - Replace IN in line 3300 with MIN.
CLSTIMER - Replace EIGHTEEN in line 500 with TWENTY.
JCLUXREF - Replace STEP2 in line 300 with STEP1.
UTILPRAL - Replace 3200 in line 1100 with 3400.
UTILXREF - Replace DDDNAME in line 3400 with DDNAME.
UTILXREF - Insert ) in line 4100 before BY.
UTILXREF - Replace PDB in lines 2200 & 2300 with DATABAS1.
VMAC30 - Replace LITTERAL in line 79100 with LITERAL.
IV. CUMULATIVE TYPOGRAPHIC CORRECTIONS TO THE BOOK
p. 217. In code, replace RPTCICS (twice) with ANALCICS.
p. 309. In code, replace MGX (twice) with MXG.
p. 316. In 2nd paragraph of text, JCLTEXT should be JCLTEST.
p. 316. In last example, SOURCELIB should be SOURCLIB (twice).
p. 322. In 3rd line from bottom, TEXT DD should be TEST DD.
p. 371. Under SMF manual third line, the TNL is GN28 vice GN25
p. 373. 2nd entry, change Henning to Hemming.
p. 496. TIOESTTA bit 7 DASD, change dtaa to data.
p. 597. Penultimate line, change IMACINTY to IMACINTV.
p. 808. Text under CMD, change MG080CM to MG090CM.
p. 815. Remove line refering to JCLDBANL.
****END OF CHANGES. MXG VERSION 2***********
=========================member=CHANGE01================================
/* COPYRIGHT (C) 1985 BY MERRILL CONSULTANTS dallas texas */
This member contains the complete set of changes made during the
Early Shipment Program (November 1983 to August 1984). It is kept
only for historical purposes. All of these changes were made before
the MXG production software was shipped, starting in August, 1984.
/* COPYRIGHT (C) 1984 BY SAS INSTITUTE Inc, CARY N.C. AND
BY MERRILL CONSULTANTS, DALLAS, TEXAS */
MXG Software Status as of August 9, 1984:
No Temporary Changes have been made to this source library.
No Support Subscription Updates have been issued.
This is the MXG production software.
This member will contain the change status (i.e., last change number)
when the library was shipped to you. It will be updated (by complete
replacement) when you receive MXG Support Subscription Updates (SSU)
from Merrill Consultants, 10717 Cromwell Drive, Dallas Tx 75229,
214-351-1966. Between SSU's, fixes will be provided as "Temporary
Changes" in printed form. You should update this member after you
install any temporary changes.
EARLY SHIPMENT CHANGES
Listed below are all of the changes were applied to the early shipment
software (Nov 1, 1983 to Aug 15, 1984). These changes have already been
made to this library, but are included here for information.
Change 00.50 PERFGRP was removed from keep list for macro _PDB30_1.
BUILDPDB For Started Tasks and TSO Users, the value of PERFGRP
BUILDPD3 in the subtype 1 type 30 record is zero, which caused
Aug 8, 1984 PERFGRP in STEPS data set to be wrong if the step was
TYPETASK=STC or TSU and a subtype 1 record was found.
This is a circumvention, until the value of PERFGRP in
the subtype 1 (Job Init) is corrected by IBM.
Thanks to Georg Simon, Prudential, USA.
Change 00.49 Advised that variable RECORDS can have a negative value.
VMAC64 Altered the input format from PIB to IB to handle these
Aug 6, 1984 potential negative values, but have not yet determined
the intrepretation of these negative values.
Thanks to Geoff Neal, Health Insurance Comm., AUSTRALIA
Change 00.48 Created member to process CICS Monitor Facility records
TYPE110J which were written to a journal file, as described in
Aug 6, 1984 the Chapter on CICS.
Thanks to Debby Blackey, Fidelity Savings, USA.
Change 00.47 Corrected spelling errors and inconsistencies in labels
DOC which the super proofreaders at SAS found in reading the
Aug 6, 1984 text at the galley stage.
Thanks to ???, SAS proofreaders, USA.
Change 00.46 Corrected spelling errors in comments in describing the
BUILDPDB SPIN logic and added a comment line where default number
Aug 6, 1984 of days to spin is set.
Thanks to Patricia McKenzie, B.C. Systems, CANADA.
Change 00.45 Test to define DEVICE variable expanded to include JES3
VMAC6 printers (which have PRTnnnnn format for OUTDEVCE value.
Aug 6, 1984
Thanks to Paul Walker, IBM, USA.
Change 00.44 CPU busy is now zeroed and CPUWAITM set to the duration
VMAC7072 of the interval if either the CPU was offline at the end
Aug 6, 1984 of interval, or for an interval during which the CPU was
varied on or off line. Early shipment code only tested
for offline at end of interval.
Thanks to Patricia McKenzie, B.C. Systems, CANADA.
Change 00.43 A nit. IMACUCB in the comments was changed to VMACUCB.
VMACUCB Even nits require a change, and thus are documented here.
Aug 6, 1984 Thanks for my primary nitpicker!
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 00.42 The page fault rate variables (SYSPFR for system areas,
VMAC71 and LCLPFR for local area) were slightly in error. SYSPFR
Aug 6, 1984 included LPAGINS twice (because PVTCAIN already includes
LPAGINS), which caused LCLPFR to be smaller by a LPAGINS.
Variables PFRATE and PAGING are replicated as variables
PTR and DPR for report program compatability. PFRATE and
PAGING existed before MVS/SE1 introduced PTR and DPR as
"Happy Value" SRM measures. Note there is a significant
change in TYPE71 in MXG when compared with the original
MG code. In MXG the paging variables are now calculated
as rates per second, whereas the original code variables
contained total pages during the RMF interval. You will
have to check report programs which use TYPE71 data and
will likely need to modify your SAS program.
Thanks to Wayne Lauck, Central Data Processing, USA.
Change 00.41 The variable names starting with LOG.... were changed to
ANALNPA begin with NPA.... to agree with the names in TYPE38.
Aug 6, 1984
Change 00.40 Format for timestamps in subtype 1 and 2 records was not
VMAC90 correct in SMF manual; documentation APAR OZ81250 will be
Aug 6, 1984 issued by IBM to correct the manual. MXG was corrected to
decode fields as data actually exists. Structure of code
was altered to prevent possible errors when no active SMF
data set is given in a type 90 record, and variable BITS
was assigned format $HEX64.
Thanks to Paul Walker, IBM, USA.
Change 00.39 Variable IPLTIME, with length 8, was added to the LENGTH
VMAC0 statement. Timestamp variable must be length 8 to prevent
May 31, 1984 loss of minutes and seconds of precision.
Thanks to Paul Walker, IBM, USA.
Change 00.38 The error handling of CICS CMF records introduced in ES23
VMAC110 creates *ERROR.VMAC110.1 for all dictionary entries. The
May 28, 1984 dictionary entry is identifiable by the value of zero for
variable MCTSSDID in the second line after the "SECTION
HEADER DESCRIPTOR." The error message has no effect on
the data, but is eliminated by changing the test for this
error message from
OR SECTLLBB LT TEMPBYTE
to
OR (SECTLLBB LT TEMPBYTE AND MCTSSDID NE 0)
Additionally, CICS 1.6.1 has some initial data values in
error which cause IRESPTM, the internal response time, to
be very negative. Variable WTTCIOCN is 65535 and WTTCIOTM
is completely invalid. In all cases observed so far, the
value of TASERRFG was non zero for these values, and thus
the calculation of IRESPTM is now only calculated as:
IF TASERRFG EQ 0 THEN IRESPTM=ELAPSTM-WTTCIOTM;
There may in fact be PTFs which have not been applied at
my CICS 1.6.1 test site which cause these data values. It
is still wise to calculate the response only when it is
valid to do so!
Change 00.37 TWO NEW VALUES WERE ADDED TO THE MG110ER FORMAT, DUE TO
FORMATS new error flag values appearing in CICS 1.6.1:
May 28, 1984 00X=' '
50X='50X:INVALID CLOCK AND INTERNAL ERROR'
OTHER='OTHER ERROR'
Change 00.36 VARIABLE ALLOCATN IS REPLACED BY THREE ONE-BYTE VARIABLES
VMAC25 describing how this allocation was made: ALOCBYDD ('Y' by
May 25, 1984 DD, 'N' for dynamic), ALOCATLG ('Y' if Catalog used, 'N'
if not), and ALOCAUTO ('Y' if automatic, 'N' if manual).
Thanks to Paul Walker, IBM, USA.
Change 00.35 STATEMENT SWAPRATE=SWAPRATE*INVTIME; WAS REPEATED IN BOTH
VMAC71 the MVS/370 and MVS/XA segments. The second occurrence was
May 25, 1984 deleted in both segments.
Thanks to Jim Trenkle, Safeway, USA.
Change 00.34 VARIABLE TYPETASK UNDER JES3 CONTAINS A ZERO RATHER THAN
VMAC26J3 blank for the fourth position. A blank is now forced into
May 25, 1984 the fourth position. It was not shortened to three-bytes
to maintain consistency with TYPETASK in other data sets.
Thanks to Jim Trenkle, Safeway, USA.
Change 00.33 WORKLOAD VARIABLES WHICH WERE INCORRECTLY CALCULATED WERE
RMFINTRV corrected as described in NEWSLETTER Volume I Number Two.
May 25, 1984
Change 00.32 VARIABLE JOBID WAS REMOVED FROM KEEP LIST. IT HAD BEEN
VMAC26J3 replaced by variables TYPETASK and JESNR and should never
May 20, 1984 have appeared in the KEEP statement.
Thanks to Paul Walker, IBM, USA.
Change 00.31 NEW MODULE, FOR TYPE 110 CICS RECORD WHICH SETS THE SIZE
IMACICUS of the USERCHAR variable in CICSTRAN. If you want account
May 20, 1984 data on CICS transactions, you must use the optional user
character field. Default is for a one-byte field. See the
discussion in the member, and more in Newsletter #2.
Change 00.30 NEW MODULE, FOR JES3. IT BUILDS THE PDB JUST AS BUILDPDB
BUILDPD3 for JES2, but this module also gets the account fields in
May 20, 1984 TYPE26J3 and uses them if there was no type 30 record for
the job (as happens with JCL error).
Change 00.29 CLEANUP CHANGE. EXCP AND IOTM FIELDS ADDED TO KEEP LIST
ANALRMFI for TYPE30_5. LABEL statement was too long for ONLINE in
VMAC30 TYPE73 and TYPE78, and for AVGDSOPN in TYPE74. One title
VMAC73 was incorrect in ANALRMFI.
VMAC74
VMAC78
May 20, 1984
Change 00.28 CORRECTED VALUE FOR MG090CM FORMAT (TYPE90 DATA SET) TO
FORMATS 6:SWITCH SMF.
May 10, 1984
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 00.27 FOR IPL PROMPT, THE OPERATOR CAN REPLY WITH THE DURATION
VMAC90 of the outage, or "U". MXG raised "invalid function call"
May 10, 1984 error if "U" was response. Code now checks for "U" before
attempting to convert string to duration. Also changed
TOD to EVENTIME for several events so that time of event
would actually be kept.
Thanks to Paul Walker, IBM, USA.
Change 00.26 VARIABLE SMF49L CORRECTED TO SMF49LN IN THREE PLACES TO
VMAC4789 correct error. JES3 Type 48 records for SNA were found to
May 10, 1984 be incorrectly documented in the SMF manual, resulting in
a STOPOVER Abend. After reaching Level II, the code was
fixed and a document APAR from IBM can be expected. At the
same time another of my errors was corrected.
Thanks to Paul Walker, IBM, USA.
Change 00.25 INVALID TYPE 30 RECORDS HAVE BEEN CREATED BY MVS WITH THE
VMAC30 'triplets' (the three values of offset, length, and number
Apr 26, 1984 of relocatable sections) overlaid with blanks. This caused
a STOPOVER abend when the blanks were read in as PIB4! The
offset value plus length of the relocatable section is now
compared with the LENGTH of the record, and the invalid
records will be printed in hex on the log.
Change 00.24 OCCASIONALLY, THE NUMBER OF SAMPLES NRSAMPLE WILL BE ZERO
VMAC7072 in a type 70 record. It appears this can happen if the
Apr 26, 1984 operator issues a Modify command at startup, although it
may be due to other phenomena. The records have a very
short duration, and have little other effect, but the
division by zero caused an abend. This change tests for
nonzero value of NRSAMPLE before division. Additionally,
the divisions by CPUCOEFF and SRBCOEFF are also now tested
for nonzero for CPUTCBTM and CPUSRBTM in TYPE72 data set.
Finally, the error messages for a missing value of SU_SEC,
(the service units per CPU second) were cleaned up.
Thanks to Sue Rosansky, Metropolitan Life, USA.
Change 00.23 CHANGES TO SUPPORT CICS VERSION 1.6.1
VMAC110 Seven new variables in data set CICSTRAN:
Apr 25, 1984 MAXTASK Maxtask condition occurred?
PRIINCHR Primary input character count
PRIOUCHR Primary output character count
PROGSTOR Program storage used
SECINCHR Secondary input character count
SECOUCHR Secondary output character count
SHRTSTOR Short on storage condition occurred?
One new variable in data set CICSYSTM:
PROGCOMP Amount of storage deleted by CICS program
compression dynamically because system storage
was overloaded.
Much better detection of invalid segments. Prior error
handling deleted remainder of physical record when an
invalid header was encountered. Now, the invalid section
header is skipped, but subsequent valid sections are
processed.
Change 00.22 CHANGES TO SUPPORT MVS/SP VERSION 2 RELEASE 1.2:
VMAC434 REGREQST created from four byte field, replacing old
Apr 20, 1984 two byte field, PVTAREA:
PVTAREA - Now zero (see REGREQST)
REGREQST - REGION requested (from JCL)
VMAC6 Nine new variables to support 3800-3 printer are added:
Apr 20, 1984 DOCLENFT - Length of document printed, in feet.
FONTLOAD - Number of Fonts Loaded.
FONTUSED - Number of Fonts Used.
FORMDEFS - Number of FORMDEFs Used.
OVLYLOAD - Number of Overlays Loaded.
OVLYUSED - Number of Overlays Used.
PAGEDEFS - Number of PAGEDEFs Used.
PGSGLOAD - Number of Page Segments Loaded.
PGSGUSED - Number of Page Segments Used.
Additionally, FORM is now character length eight (it used
to be only four).
VMAC426J 2 OUTFORM is now eight bytes (increased from four).
Apr 20, 1984
VMAC30 Six overlooked variables and the new one added (REGREQST)
Apr 20, 1984 are added to data sets TYPE30_V, TYPE30_4, TYPE30_5 and
TYPE30_6:
LSQSZHI - LSQA+SWA Subpools above 16MB
LSQSZLOW - LSQA+SWA Subpools below 16MB
PVTSZHI - Private Area size above 16MB
PVTSZLOW - Private Area size below 16MB
USRSZHI - User sub pools above 16MB
USRSZLOW - User sub pools below 16MB
PVTAREA - Now zero (see REGREQST)
REGREQST - REGION requested (from JCL)
Change 00.21 IBM PTF WILL BE ISSUED TO CHANGE END OF FILE TEXT IN THE
VMACSMF VSAM SMF data from "SMF EOF MA" to "SMFEOFMARK". Test was
Apr 14, 1984 altered to support either string.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 00.20 TYPE 30 RECORD STOPOVER DUE TO INVALID EXCP SEGMENT
VMAC30 description. There should have been 251 22-byte segments,
Apr 14, 1984 but record was only 1800 butes. A new check was added to
verify the record length could be read before reading EXCP
data, and an error message put to the log, with dump of
record, if same type of invalid record is encountered.
The problem will be persued with IBM to uncover their
cause of the bad records. At same time, error messages in
VMACEXC2 were numbered and enhanced.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 00.19 OFFSET VALUE FOR THREE VARIABLES WAS WRONG FOR TYPE 77
VMAC77 MVS/XA segment.
Apr 12, 1984 Variable @was @change to
OFFEDSS 33 41
LENEDSS 37 45
NRSECT 39 47
Change 00.18 BUILDPDB FAILED AFTER CHANGE ES11 BECAUSE VARIABLES IN BY
BUILDPDB list were not in the _NULL_ data set (which replaced the
Apr 12, 1984 SPIN.SPINnn data sets due to OPTIONS NODSNFERR). Fix
required minor redesign of the interleave of today's and
yesterday's (i.e., SPIN) data sets. If you do not ever
use the SPIN data sets, a short fix is to precede OPTIONS
NODSNFERR statement with an /* and to follow the
subsequent OPTIONS DSNFERR statement with an */, which
comments out the interleave of TYPEnnnn and SPIN.SPINnnnn
data sets.
Thanks to Bob Warren, Wachovia Bank, USA.
Change 00.17 VARIABLE CPUCPTM WAS NOT IN KEEP LIST FOR VMSESSN.
TYPEVM
Apr 10, 1984
Change 00.16 DIVISION BY ZERO WHEN SRBCOEFF IS ZERO. CORRECTED BY TEST
VMAC7072 for zero before division.
Apr 10, 1984
Thanks to Bob Warren, Wachovia Bank, USA.
Change 00.15 CREATION OF CHARACTER VARIABLE TIME FROM STRTTIME RESULTS
ANALCICS in invalid sort sequence when month boundary was crossed.
Apr 1, 1984 Reconstructed as a DATETIME value.
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 00.14 CPU FACTORS FOR THE GX,KX,BX,EX, AND QX 308X PROCESSORS
VMAC7072 were added and comments added to the MVS/370 section Minor
Mar 31, 1984 corrections to some values, based on IBM publication TNL
GN28-0912 (Jan 31,1984) to GC28-1149-1 were also made.
Change 00.13 FORMATS FOR CONTROL/IMS ADDED TO MEMBER FORMATS.
FORMATS
Mar 31, 1984
Change 00.12 TYPETASK='TSO' CORRECTED TO TYPETASK='TSU'.
VMAC30
Mar 31, 1984
Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.
Change 00.11 IN INTERLEAVING TYPE30_1 AND SPIN.SPIN30_1, THE BY
BUILDPDB statement had JINTTIME misspelled as JINITIME. At the
Mar 31, 1984 same time, MACRO _SECOND and its percent sign were
replaced by OPTIONS NODSNFERR and OPTIONS DSNFERR as
described in Chapter 32.
Thanks to Steve Glick, NTSU, USA.
See Change ES18.
Change 00.10 MANY LABELS WERE RESPELLED (CORRECTLY THIS TIME), AND ALL
VMAC.all occurrences of the following labels were made consistent:
Mar 31, 1984 DATASET to DATA SET
TIMESTAMP to TIME STAMP
JOBNAME to JOB NAME
Thanks to ???, SAS proofreaders, USA.
Change 00.09 THE LENGTH VALUE USED TO READ IN THE SIGNON VARIABLE
VMAC4789 includes the two bytes of length itself, causing a
Mar 31, 1984 STOPOVER abend. Code restructured to subtract two from
length before executing the $VARYING60. INPUT statement.
Additionally, the offset @41 in ID=49 code was typographic
and should be @51.
Thanks to Allan Russell, SAS Institute Europe, GERMANY.
Change 00.08 RMV VERSION 3.2.1 CHANGED RMF VERSION FROM 2 BYTE EBCDIC
VMAC7072 to a 2 byte packed decimal. Now version can print as 321
VMAC73 whereas before it was limited to 32.
VMAC74
VMAC75
VMAC76
VMAC77
VMAC78
Feb 4, 1984
Change 00.07 SUPPORT FOR RMF VERSION 3 RELEASE 2 MODIFICATION LEVEL 1
VMAC78 installed. RMF 3.2 added TYPE78VS, TYPE78SP and TYPE78
Feb 4, 1984 data sets and 3.2.1 added support for 4381 processor
types. Only TYPE78VS data set has actually been
validated.
Change 00.06 IMPROVED ERROR HANDLING FOR INVALID RECORDS NOW PROVIDES
VMAC110 diagnostic messages and a dump of the type 110 record when
Feb 4, 1984 invalid data is encounterd. This will eliminate STOPOVER
abends in type 110.
Change 00.05 AVGWKSET VARIABLE REPLACED AVGMEMSZ WITH NEW DESCRIPTION
VMAC7072 and discussion in TYPE72 section of Chapter Forty.
Jan 15, 1984
Change 00.04 AVGWKSET LABELS WERE CORRECTED TO UNITS OF (K-BYTES) AND
VMAC30 the calculations made consistent in these data sets.
VMAC434
VMAC48PC
Jan 15, 1984
Change 00.03 REPEAT (LOGICALLY) CHANGE ES2 FOR SIO74CNT, SSCHSAMP AND
VMAC74 IORATE.
Dec 23, 1983
Change 00.02 SEVERAL VARIABLES WERE NOT SET TO MISSING WHEN NRSTCPS,
VMAC73 the number of samples, was zero, and thus had the value of
Dec 23, 1983 value of the previous calculation.
Change 00.01 DELETE OBSERVATION FROM SET PDB.TYPE72 WHEN IT WAS FROM A
RMFINTRV report performance group. To correctly calculate overhead
Dec 23, 1983 CPU time, the sum of only the control performance groups
is used.
END OF Early Shipment Changes, December 23, 1983.